{"version":3,"sources":["webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/common/components/dialog-box-d3-tree/dialog-box-d3-tree.component.html","webpack:///./src/app/common/components/dialog-box-d3-tree/dialog-box-d3-tree.component.ts","webpack:///./src/app/common/components/dialog-box/dialog-box.component.html","webpack:///./src/app/common/components/dialog-box/dialog-box.component.ts","webpack:///./src/app/common/components/dialog-input-box/dialog-input-box.component.html","webpack:///./src/app/common/components/dialog-input-box/dialog-input-box.component.ts","webpack:///./src/app/common/components/grid-loader/grid-loader.component.css","webpack:///./src/app/common/components/grid-loader/grid-loader.component.html","webpack:///./src/app/common/components/grid-loader/grid-loader.component.ts","webpack:///./src/app/common/components/loader/loader.component.css","webpack:///./src/app/common/components/loader/loader.component.html","webpack:///./src/app/common/components/loader/loader.component.ts","webpack:///./src/app/common/components/pop-up/pop-up.component.html","webpack:///./src/app/common/components/pop-up/pop-up.component.ts","webpack:///./src/app/common/components/us-chart-pop-up/us-chart-pop-up.component.html","webpack:///./src/app/common/components/us-chart-pop-up/us-chart-pop-up.component.ts","webpack:///./src/app/common/components/widget-loader/widget-loader.component.css","webpack:///./src/app/common/components/widget-loader/widget-loader.component.html","webpack:///./src/app/common/components/widget-loader/widget-loader.component.ts","webpack:///./src/app/core/contact/contact.component.css","webpack:///./src/app/core/contact/contact.component.html","webpack:///./src/app/core/contact/contact.component.ts","webpack:///./src/app/core/core.module.ts","webpack:///./src/app/core/error-page/error-page.component.html","webpack:///./src/app/core/error-page/error-page.component.ts","webpack:///./src/app/core/footer/footer.component.html","webpack:///./src/app/core/footer/footer.component.ts","webpack:///./src/app/core/header/header.component.html","webpack:///./src/app/core/header/header.component.ts","webpack:///./src/app/core/header/promo-video-dialog-box/promo-video-dialog-box.component.html","webpack:///./src/app/core/header/promo-video-dialog-box/promo-video-dialog-box.component.ts","webpack:///./src/app/core/header/story-navigation/story-navigation.component.css","webpack:///./src/app/core/header/story-navigation/story-navigation.component.html","webpack:///./src/app/core/header/story-navigation/story-navigation.component.ts","webpack:///./src/app/core/login/login.component.css","webpack:///./src/app/core/login/login.component.html","webpack:///./src/app/core/login/login.component.ts","webpack:///./src/app/core/login/service/login.service.ts","webpack:///./src/app/dynamic-form/dynamic-form.component.html","webpack:///./src/app/dynamic-form/dynamic-form.component.ts","webpack:///./src/app/dynamic-form/dynamic-form.module.ts","webpack:///./src/app/dynamic-form/services/dynamic-form.service.ts","webpack:///./src/app/gallery/confirmation-overlay/confirmation-overlay.component.css","webpack:///./src/app/gallery/confirmation-overlay/confirmation-overlay.component.html","webpack:///./src/app/gallery/confirmation-overlay/confirmation-overlay.component.ts","webpack:///./src/app/gallery/gallery-list/gallery-list.component.html","webpack:///./src/app/gallery/gallery-list/gallery-list.component.ts","webpack:///./src/app/gallery/gallery-routing.module.ts","webpack:///./src/app/gallery/gallery.component.html","webpack:///./src/app/gallery/gallery.component.ts","webpack:///./src/app/gallery/gallery.module.ts","webpack:///./src/app/gallery/gallery.service.ts","webpack:///./src/app/gallery/group-settings-overlay/group-settings-overlay.component.css","webpack:///./src/app/gallery/group-settings-overlay/group-settings-overlay.component.html","webpack:///./src/app/gallery/group-settings-overlay/group-settings-overlay.component.ts","webpack:///./src/app/gallery/guards/confirm-cancel.guard.ts","webpack:///./src/app/gallery/services/visulization.service.ts","webpack:///./src/app/gallery/story-page/story-page.component.html","webpack:///./src/app/gallery/story-page/story-page.component.ts","webpack:///./src/app/gallery/story-page/story.service.ts","webpack:///./src/app/gallery/story-page/visulization/visulization.component.html","webpack:///./src/app/gallery/story-page/visulization/visulization.component.ts","webpack:///./src/app/gallery/story-telling-page/horizontal-visualization/horizontal-visualization.component.css","webpack:///./src/app/gallery/story-telling-page/horizontal-visualization/horizontal-visualization.component.html","webpack:///./src/app/gallery/story-telling-page/horizontal-visualization/horizontal-visualization.component.ts","webpack:///./src/app/gallery/story-telling-page/story-telling-page.component.css","webpack:///./src/app/gallery/story-telling-page/story-telling-page.component.html","webpack:///./src/app/gallery/story-telling-page/story-telling-page.component.ts","webpack:///./src/app/gallery/tab-settings-overlay/tab-settings-overlay.component.css","webpack:///./src/app/gallery/tab-settings-overlay/tab-settings-overlay.component.html","webpack:///./src/app/gallery/tab-settings-overlay/tab-settings-overlay.component.ts","webpack:///./src/app/gallery/tile-settings-overlay/tile-settings-overlay.component.css","webpack:///./src/app/gallery/tile-settings-overlay/tile-settings-overlay.component.html","webpack:///./src/app/gallery/tile-settings-overlay/tile-settings-overlay.component.ts","webpack:///./src/app/gallery/visit-reason-overlay/visit-reason-overlay.component.css","webpack:///./src/app/gallery/visit-reason-overlay/visit-reason-overlay.component.html","webpack:///./src/app/gallery/visit-reason-overlay/visit-reason-overlay.component.ts","webpack:///./src/app/material/material.module.ts","webpack:///./src/app/pipes/filter.pipe.ts","webpack:///./src/app/pipes/replace-space.pipe.ts","webpack:///./src/app/pipes/sanitize-html.pipe.ts","webpack:///./src/app/pipes/separator-split.pipe.ts","webpack:///./src/app/services/d3-event-timeline.service.ts","webpack:///./src/app/services/google-analytics.service.ts","webpack:///./src/app/services/helper/d3-custom-shapes.service.ts","webpack:///./src/app/services/http-wrapper.service.ts","webpack:///./src/app/services/loader.service.ts","webpack:///./src/app/services/shapes-config.service.ts","webpack:///./src/app/services/small-cluster.service.ts","webpack:///./src/app/shared/admin-auth-guard.service.ts","webpack:///./src/app/shared/auth-guard.service.ts","webpack:///./src/app/shared/auth.service.ts","webpack:///./src/app/shared/container-scroll-spy.directive.ts","webpack:///./src/app/shared/cookie-wrapper.service.ts","webpack:///./src/app/shared/data-share.service.ts","webpack:///./src/app/shared/dropdown.directive.ts","webpack:///./src/app/shared/enum/enum.ts","webpack:///./src/app/shared/fullpagescroll.directive.ts","webpack:///./src/app/shared/scroll-spy.directive.ts","webpack:///./src/app/shared/shared.module.ts","webpack:///./src/app/user-management/admin/admin.component.css","webpack:///./src/app/user-management/admin/admin.component.html","webpack:///./src/app/user-management/admin/admin.component.ts","webpack:///./src/app/user-management/admin/history-dialog-box/history-dialog-box.component.css","webpack:///./src/app/user-management/admin/history-dialog-box/history-dialog-box.component.html","webpack:///./src/app/user-management/admin/history-dialog-box/history-dialog-box.component.ts","webpack:///./src/app/user-management/admin/lockout-dialog-box/lockout-dialog-box.component.css","webpack:///./src/app/user-management/admin/lockout-dialog-box/lockout-dialog-box.component.html","webpack:///./src/app/user-management/admin/lockout-dialog-box/lockout-dialog-box.component.ts","webpack:///./src/app/user-management/admin/service/admin.service.ts","webpack:///./src/app/user-management/admin/stories-credentials-dialog-box/stories-credentials-dialog-box.component.css","webpack:///./src/app/user-management/admin/stories-credentials-dialog-box/stories-credentials-dialog-box.component.html","webpack:///./src/app/user-management/admin/stories-credentials-dialog-box/stories-credentials-dialog-box.component.ts","webpack:///./src/app/user-management/admin/user-dialog-box/user-dialog-box.component.css","webpack:///./src/app/user-management/admin/user-dialog-box/user-dialog-box.component.html","webpack:///./src/app/user-management/admin/user-dialog-box/user-dialog-box.component.ts","webpack:///./src/app/user-management/admin/view-user-dialog-box/view-user-dialog-box.component.css","webpack:///./src/app/user-management/admin/view-user-dialog-box/view-user-dialog-box.component.html","webpack:///./src/app/user-management/admin/view-user-dialog-box/view-user-dialog-box.component.ts","webpack:///./src/app/user-management/user-management-routing.module.ts","webpack:///./src/app/user-management/user-management.component.css","webpack:///./src/app/user-management/user-management.component.html","webpack:///./src/app/user-management/user-management.component.ts","webpack:///./src/app/user-management/user-management.module.ts","webpack:///./src/app/widgets/adaptive-pricing/adaptive-pricing.component.css","webpack:///./src/app/widgets/adaptive-pricing/adaptive-pricing.component.html","webpack:///./src/app/widgets/adaptive-pricing/adaptive-pricing.component.ts","webpack:///./src/app/widgets/area-chart/area-chart.component.html","webpack:///./src/app/widgets/area-chart/area-chart.component.ts","webpack:///./src/app/widgets/atlas-intelligence-kraft/atlas-intelligence-kraft.component.css","webpack:///./src/app/widgets/atlas-intelligence-kraft/atlas-intelligence-kraft.component.html","webpack:///./src/app/widgets/atlas-intelligence-kraft/atlas-intelligence-kraft.component.ts","webpack:///./src/app/widgets/atlas-intelligence-kraft/playground-dialog/playground-dialog.component.css","webpack:///./src/app/widgets/atlas-intelligence-kraft/playground-dialog/playground-dialog.component.html","webpack:///./src/app/widgets/atlas-intelligence-kraft/playground-dialog/playground-dialog.component.ts","webpack:///./src/app/widgets/combo-bar-chart/combo-bar-chart.component.html","webpack:///./src/app/widgets/combo-bar-chart/combo-bar-chart.component.ts","webpack:///./src/app/widgets/copy-to-clipboard/copy-to-clipboard.component.css","webpack:///./src/app/widgets/copy-to-clipboard/copy-to-clipboard.component.html","webpack:///./src/app/widgets/copy-to-clipboard/copy-to-clipboard.component.ts","webpack:///./src/app/widgets/ctemp/ctemp.component.css","webpack:///./src/app/widgets/ctemp/ctemp.component.html","webpack:///./src/app/widgets/ctemp/ctemp.component.ts","webpack:///./src/app/widgets/custom-data-coverage/custom-data-coverage.component.html","webpack:///./src/app/widgets/custom-data-coverage/custom-data-coverage.component.ts","webpack:///./src/app/widgets/custom-event-timeline/custom-event-timeline.component.html","webpack:///./src/app/widgets/custom-event-timeline/custom-event-timeline.component.ts","webpack:///./src/app/widgets/d3-bar-chart/d3-bar-chart.component.html","webpack:///./src/app/widgets/d3-bar-chart/d3-bar-chart.component.ts","webpack:///./src/app/widgets/d3-boxplot/d3-boxplot.component.css","webpack:///./src/app/widgets/d3-boxplot/d3-boxplot.component.html","webpack:///./src/app/widgets/d3-boxplot/d3-boxplot.component.ts","webpack:///./src/app/widgets/d3-cluster-of-circles/d3-cluster-of-circles.component.css","webpack:///./src/app/widgets/d3-cluster-of-circles/d3-cluster-of-circles.component.html","webpack:///./src/app/widgets/d3-cluster-of-circles/d3-cluster-of-circles.component.ts","webpack:///./src/app/widgets/d3-event-timeline-chart/d3-event-timeline-chart.component.css","webpack:///./src/app/widgets/d3-event-timeline-chart/d3-event-timeline-chart.component.html","webpack:///./src/app/widgets/d3-event-timeline-chart/d3-event-timeline-chart.component.ts","webpack:///./src/app/widgets/d3-event-timeline/d3-event-timeline.component.css","webpack:///./src/app/widgets/d3-event-timeline/d3-event-timeline.component.html","webpack:///./src/app/widgets/d3-event-timeline/d3-event-timeline.component.ts","webpack:///./src/app/widgets/d3-flowchart-sanky-chart-v2/d3-flowchart-sanky-chart-v2.component.css","webpack:///./src/app/widgets/d3-flowchart-sanky-chart-v2/d3-flowchart-sanky-chart-v2.component.html","webpack:///./src/app/widgets/d3-flowchart-sanky-chart-v2/d3-flowchart-sanky-chart-v2.component.ts","webpack:///./src/app/widgets/d3-flowchart-sanky/d3-flowchart-sanky.component.css","webpack:///./src/app/widgets/d3-flowchart-sanky/d3-flowchart-sanky.component.html","webpack:///./src/app/widgets/d3-flowchart-sanky/d3-flowchart-sanky.component.ts","webpack:///./src/app/widgets/d3-genetic-algorithm/d3-genetic-algorithm.component.css","webpack:///./src/app/widgets/d3-genetic-algorithm/d3-genetic-algorithm.component.html","webpack:///./src/app/widgets/d3-genetic-algorithm/d3-genetic-algorithm.component.ts","webpack:///./src/app/widgets/d3-grouped-bar-chart/d3-grouped-bar-chart.component.css","webpack:///./src/app/widgets/d3-grouped-bar-chart/d3-grouped-bar-chart.component.html","webpack:///./src/app/widgets/d3-grouped-bar-chart/d3-grouped-bar-chart.component.ts","webpack:///./src/app/widgets/d3-heatmap/d3-heatmap.component.css","webpack:///./src/app/widgets/d3-heatmap/d3-heatmap.component.html","webpack:///./src/app/widgets/d3-heatmap/d3-heatmap.component.ts","webpack:///./src/app/widgets/d3-multi-series-line-chart/d3-multi-series-line-chart.component.css","webpack:///./src/app/widgets/d3-multi-series-line-chart/d3-multi-series-line-chart.component.html","webpack:///./src/app/widgets/d3-multi-series-line-chart/d3-multi-series-line-chart.component.ts","webpack:///./src/app/widgets/d3-neural-network/d3-neural-network.component.css","webpack:///./src/app/widgets/d3-neural-network/d3-neural-network.component.html","webpack:///./src/app/widgets/d3-neural-network/d3-neural-network.component.ts","webpack:///./src/app/widgets/d3-pie-chart/d3-pie-chart.component.css","webpack:///./src/app/widgets/d3-pie-chart/d3-pie-chart.component.html","webpack:///./src/app/widgets/d3-pie-chart/d3-pie-chart.component.ts","webpack:///./src/app/widgets/d3-sanky-chart/d3-sanky-chart.component.html","webpack:///./src/app/widgets/d3-sanky-chart/d3-sanky-chart.component.ts","webpack:///./src/app/widgets/d3-threed-donut/d3-threed-donut.component.css","webpack:///./src/app/widgets/d3-threed-donut/d3-threed-donut.component.html","webpack:///./src/app/widgets/d3-threed-donut/d3-threed-donut.component.ts","webpack:///./src/app/widgets/d3-tree-chart/d3-tree-chart.component.css","webpack:///./src/app/widgets/d3-tree-chart/d3-tree-chart.component.html","webpack:///./src/app/widgets/d3-tree-chart/d3-tree-chart.component.ts","webpack:///./src/app/widgets/d3-vertical-tree-chart/d3-vertical-tree-chart.component.css","webpack:///./src/app/widgets/d3-vertical-tree-chart/d3-vertical-tree-chart.component.html","webpack:///./src/app/widgets/d3-vertical-tree-chart/d3-vertical-tree-chart.component.ts","webpack:///./src/app/widgets/drag-drop-tabs/drag-drop-tabs.component.css","webpack:///./src/app/widgets/drag-drop-tabs/drag-drop-tabs.component.html","webpack:///./src/app/widgets/drag-drop-tabs/drag-drop-tabs.component.ts","webpack:///./src/app/widgets/event-timeline/event-timeline.component.html","webpack:///./src/app/widgets/event-timeline/event-timeline.component.ts","webpack:///./src/app/widgets/field-coaching/field-coaching-app-dialog/field-coaching-app-dialog.component.css","webpack:///./src/app/widgets/field-coaching/field-coaching-app-dialog/field-coaching-app-dialog.component.html","webpack:///./src/app/widgets/field-coaching/field-coaching-app-dialog/field-coaching-app-dialog.component.ts","webpack:///./src/app/widgets/field-coaching/field-coaching.component.css","webpack:///./src/app/widgets/field-coaching/field-coaching.component.html","webpack:///./src/app/widgets/field-coaching/field-coaching.component.ts","webpack:///./src/app/widgets/grid-widget/grid-widget.component.css","webpack:///./src/app/widgets/grid-widget/grid-widget.component.html","webpack:///./src/app/widgets/grid-widget/grid-widget.component.ts","webpack:///./src/app/widgets/grouped-stack-chart/grouped-stack-chart.component.css","webpack:///./src/app/widgets/grouped-stack-chart/grouped-stack-chart.component.html","webpack:///./src/app/widgets/grouped-stack-chart/grouped-stack-chart.component.ts","webpack:///./src/app/widgets/guide-book/guide-book.component.html","webpack:///./src/app/widgets/guide-book/guide-book.component.ts","webpack:///./src/app/widgets/html-viewer/html-viewer.component.html","webpack:///./src/app/widgets/html-viewer/html-viewer.component.ts","webpack:///./src/app/widgets/image-viewer/image-viewer.component.html","webpack:///./src/app/widgets/image-viewer/image-viewer.component.ts","webpack:///./src/app/widgets/micro-lead-identification/micro-lead-identification.component.css","webpack:///./src/app/widgets/micro-lead-identification/micro-lead-identification.component.html","webpack:///./src/app/widgets/micro-lead-identification/micro-lead-identification.component.ts","webpack:///./src/app/widgets/nlp-buisness-view-new/nlp-buisness-view-new.component.css","webpack:///./src/app/widgets/nlp-buisness-view-new/nlp-buisness-view-new.component.html","webpack:///./src/app/widgets/nlp-buisness-view-new/nlp-buisness-view-new.component.ts","webpack:///./src/app/widgets/nlp-buisness-view/nlp-buisness-view.component.css","webpack:///./src/app/widgets/nlp-buisness-view/nlp-buisness-view.component.html","webpack:///./src/app/widgets/nlp-buisness-view/nlp-buisness-view.component.ts","webpack:///./src/app/widgets/nlp-text-highlighter/nlp-text-highlighter.component.html","webpack:///./src/app/widgets/nlp-text-highlighter/nlp-text-highlighter.component.ts","webpack:///./src/app/widgets/patient-radar/patient-radar.component.css","webpack:///./src/app/widgets/patient-radar/patient-radar.component.html","webpack:///./src/app/widgets/patient-radar/patient-radar.component.ts","webpack:///./src/app/widgets/plug-n-predict-rwd/plug-n-predict-rwd.component.css","webpack:///./src/app/widgets/plug-n-predict-rwd/plug-n-predict-rwd.component.html","webpack:///./src/app/widgets/plug-n-predict-rwd/plug-n-predict-rwd.component.ts","webpack:///./src/app/widgets/plug-n-predict-rwd/plug-n-predict-rwd.service.ts","webpack:///./src/app/widgets/plug-n-predict-telecom/plug-n-predict-telecom.component.css","webpack:///./src/app/widgets/plug-n-predict-telecom/plug-n-predict-telecom.component.html","webpack:///./src/app/widgets/plug-n-predict-telecom/plug-n-predict-telecom.component.ts","webpack:///./src/app/widgets/plug-n-predict-telecom/plug-n-predict-telecom.service.ts","webpack:///./src/app/widgets/prediction-game/prediction-game.component.html","webpack:///./src/app/widgets/prediction-game/prediction-game.component.ts","webpack:///./src/app/widgets/sanky-chart/sanky-chart.component.html","webpack:///./src/app/widgets/sanky-chart/sanky-chart.component.ts","webpack:///./src/app/widgets/small-circle-cluster/small-circle-cluster.component.css","webpack:///./src/app/widgets/small-circle-cluster/small-circle-cluster.component.html","webpack:///./src/app/widgets/small-circle-cluster/small-circle-cluster.component.ts","webpack:///./src/app/widgets/solid-gauge-chart/solid-gauge-chart.component.html","webpack:///./src/app/widgets/solid-gauge-chart/solid-gauge-chart.component.ts","webpack:///./src/app/widgets/success-failure/success-failure.component.html","webpack:///./src/app/widgets/success-failure/success-failure.component.ts","webpack:///./src/app/widgets/trend-chart-new/trend-chart-new.component.css","webpack:///./src/app/widgets/trend-chart-new/trend-chart-new.component.html","webpack:///./src/app/widgets/trend-chart-new/trend-chart-new.component.ts","webpack:///./src/app/widgets/us-chart/us-chart.component.css","webpack:///./src/app/widgets/us-chart/us-chart.component.html","webpack:///./src/app/widgets/us-chart/us-chart.component.ts","webpack:///./src/app/widgets/us-slider-chart/us-slider-chart.component.css","webpack:///./src/app/widgets/us-slider-chart/us-slider-chart.component.html","webpack:///./src/app/widgets/us-slider-chart/us-slider-chart.component.ts","webpack:///./src/app/widgets/vertical-dna-helix/vertical-dna-helix.component.css","webpack:///./src/app/widgets/vertical-dna-helix/vertical-dna-helix.component.html","webpack:///./src/app/widgets/vertical-dna-helix/vertical-dna-helix.component.ts","webpack:///./src/app/widgets/video-player/video-player.component.html","webpack:///./src/app/widgets/video-player/video-player.component.ts","webpack:///./src/app/widgets/virtual-rep-trainer/virtual-rep-trainer-app-dialog/virtual-rep-trainer-app-dialog.component.css","webpack:///./src/app/widgets/virtual-rep-trainer/virtual-rep-trainer-app-dialog/virtual-rep-trainer-app-dialog.component.html","webpack:///./src/app/widgets/virtual-rep-trainer/virtual-rep-trainer-app-dialog/virtual-rep-trainer-app-dialog.component.ts","webpack:///./src/app/widgets/virtual-rep-trainer/virtual-rep-trainer.component.css","webpack:///./src/app/widgets/virtual-rep-trainer/virtual-rep-trainer.component.html","webpack:///./src/app/widgets/virtual-rep-trainer/virtual-rep-trainer.component.ts","webpack:///./src/app/widgets/widgets.component.html","webpack:///./src/app/widgets/widgets.component.ts","webpack:///./src/app/widgets/widgets.module.ts","webpack:///./src/app/widgets/widgets.service.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ps\": \"./node_modules/moment/locale/ar-ps.js\",\n\t\"./ar-ps.js\": \"./node_modules/moment/locale/ar-ps.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku-kmr\": \"./node_modules/moment/locale/ku-kmr.js\",\n\t\"./ku-kmr.js\": \"./node_modules/moment/locale/ku-kmr.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { AuthGuardService } from './shared/auth-guard.service';\r\nimport { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule, PreloadAllModules } from '@angular/router';\r\n\r\n// import { HomeComponent } from './core/home/home.component';\r\n// import { ShoppingListComponent } from './shopping-list/shopping-list.component';\r\n// import { GalleryComponent } from './gallery/gallery.component';\r\nimport { ContactComponent } from './core/contact/contact.component';\r\nimport { LoginComponent } from './core/login/login.component';\r\n// import { AdminComponent } from './core/admin/admin.component';\r\n// import { ErrorPageComponent } from './core/error-page/error-page.component';\r\n// import { GalleryListComponent } from './gallery/gallery-list/gallery-list.component';\r\n// import { StoryPageComponent } from './gallery/story-page/story-page.component';\r\n// import { DataInputComponent } from './gallery/story-page/data-input/data-input.component';\r\n// import { DataAnalysisComponent } from './gallery/story-page/data-analysis/data-analysis.component';\r\n// import { DataOutputComponent } from './gallery/story-page/data-output/data-output.component';\r\n\r\n\r\nconst appRoutes: Routes = [\r\n { path: '', redirectTo: '/gallery', pathMatch: 'full' },\r\n // { path: 'gallery/:type', component: GalleryComponent },\r\n { path: 'contact', component: ContactComponent, canActivate: [AuthGuardService] },\r\n { path: 'login', component: LoginComponent, data: { role: 'guest' } },\r\n { path: 'login/admin', component: LoginComponent, data: { role: 'admin' } },\r\n { path: 'admin', redirectTo: '/admin', },\r\n { path: '**', redirectTo: '/gallery' },\r\n // { path: 'admin', component: AdminComponent , canActivate: [AuthGuardService, AdminAuthGuardService]},\r\n // { path: 'not-found', component: ErrorPageComponent, data: {message: 'Page not found!'} },\r\n // { path: '**', redirectTo: '/not-found' }\r\n // { path: 'recipes', loadChildren: './recipes/recipes.module#RecipesModule'},\r\n // { path: 'shopping-list', component: ShoppingListComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(appRoutes, {\r\n preloadingStrategy: PreloadAllModules, scrollPositionRestoration: 'enabled',\r\n anchorScrolling: 'enabled'\r\n })\r\n ],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule {\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\"","import { Component, Renderer2, OnInit } from \"@angular/core\";\r\nimport {\r\n Router,\r\n NavigationStart,\r\n NavigationEnd,\r\n ActivatedRoute,\r\n} from \"@angular/router\";\r\n\r\nimport { DataShareService } from \"./shared/data-share.service\";\r\nimport { GoogleAnalyticsService } from \"./services/google-analytics.service\";\r\nimport { AuthService } from \"./shared/auth.service\";\r\nimport { HttpWrapperService } from \"./services/http-wrapper.service\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { UserType } from \"./shared/enum/enum\";\r\n\r\n@Component({\r\n selector: \"app-root\",\r\n templateUrl: \"./app.component.html\",\r\n styleUrls: [\"./app.component.css\"],\r\n})\r\nexport class AppComponent implements OnInit {\r\n title = \"ai-gallery-web\";\r\n\r\n marketStatus;\r\n marketStatusToPlot;\r\n baner;\r\n\r\n ngOnInit() {\r\n this.renderer.listen(window, \"scroll\", ($event) => {\r\n // this.scroll = (window.scrollY / this.sections);\r\n // console.log(window.scrollY);\r\n if (window.scrollY > 150) {\r\n this.renderer.addClass(document.body, \"sticky-header\");\r\n } else {\r\n this.renderer.removeClass(document.body, \"sticky-header\");\r\n }\r\n });\r\n }\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private router: Router,\r\n private dataShareService: DataShareService,\r\n private _gaService: GoogleAnalyticsService,\r\n private _authService: AuthService,\r\n private _http: HttpWrapperService\r\n ) {\r\n if (_authService.isStoredUser()) {\r\n this.fetchRefreshedToken();\r\n }\r\n this.baner = {\r\n title: \"zs ai gallery\",\r\n storyThemeClass: \"\",\r\n };\r\n\r\n this.router.events.subscribe((event) => {\r\n this.baner = {\r\n title: \"zs ai gallery\",\r\n };\r\n\r\n if (event instanceof NavigationStart) {\r\n this.renderer.removeClass(document.body, \"parallax\");\r\n this.renderer.removeClass(document.body, \"field-story\");\r\n this.renderer.removeClass(document.body, \"adaptive-pricing\");\r\n\r\n switch (event.url) {\r\n case \"/gallery/story-telling-page/field_coaching\":\r\n case \"/gallery/story-telling-page/virtual_rep_trainer\":\r\n case \"/gallery/story-telling-page/adaptive_attribute_based_offers\":\r\n // TODO:RM Rename the url\r\n case \"/gallery/story-telling-page/ctemp\":\r\n this.renderer.addClass(document.body, \"parallax\");\r\n break;\r\n }\r\n if (event.url.endsWith(\"/field_coaching\")) {\r\n this.renderer.addClass(document.body, \"field-story\");\r\n } else if (event.url.endsWith(\"/adaptive_attribute_based_offers\")) {\r\n this.renderer.addClass(document.body, \"adaptive-pricing\");\r\n // TODO:RM Rename the url\r\n } else if (event.url.endsWith(\"/ctemp\")) {\r\n this.renderer.addClass(document.body, \"ctemp\");\r\n }\r\n else if (event.url.endsWith(\"/virtual_rep_trainer\")) {\r\n this.renderer.addClass(document.body, \"field-story\");\r\n } /* else if (event.url.endsWith(\"/atlas-intelligence-kraft\")) {\r\n this.renderer.addClass(document.body, \"atlas-intelligence-kraft\");\r\n } */\r\n // console.log(event)\r\n // const removeClassForRoutes = ['/', '/gallery', '/gallery?category=usecases', '/gallery?category=experiments', '/login', '/admin'];\r\n // const removeClassForRoutes = ['/', '/gallery', '/login', '/admin'];\r\n // if (removeClassForRoutes.indexOf((event.url.split('?'))[0]) > -1) {\r\n // this.renderer.removeClass(document.body, 'inner-page-wrapper');\r\n // } else {\r\n // this.renderer.addClass(document.body, 'inner-page-wrapper');\r\n // }\r\n // const loginContainerClassForRoutes = ['/', '/login', '/login/admin', '/admin', '/gallery'];\r\n // if (loginContainerClassForRoutes.indexOf((event.url.split('?'))[0]) > -1) {\r\n // this.renderer.addClass(document.body, 'login-admin-container');\r\n // this.renderer.removeClass(document.body, 'inner-page-wrapper');\r\n // } else {\r\n // this.renderer.removeClass(document.body, 'login-admin-container');\r\n // this.renderer.addClass(document.body, 'inner-page-wrapper');\r\n // }\r\n\r\n if (this.baner.storyThemeClass) {\r\n this.renderer.removeClass(document.body, this.baner.storyThemeClass);\r\n }\r\n }\r\n if (event instanceof NavigationEnd) {\r\n // console.log(this.router.parseUrl(this.router.url));\r\n // console.log((event.url.split('?'))[0]);\r\n const loginContainerClassForRoutes = [\r\n \"/\",\r\n \"/login\",\r\n \"/login/admin\",\r\n \"/admin\",\r\n \"/gallery\",\r\n ];\r\n if (\r\n loginContainerClassForRoutes.indexOf(\r\n event.urlAfterRedirects.split(\"?\")[0]\r\n ) > -1\r\n ) {\r\n this.renderer.addClass(document.body, \"login-admin-container\");\r\n this.renderer.removeClass(document.body, \"inner-page-wrapper\");\r\n } else {\r\n this.renderer.removeClass(document.body, \"login-admin-container\");\r\n this.renderer.addClass(document.body, \"inner-page-wrapper\");\r\n }\r\n _gaService.notifyPageView(event.url.split(\"?\")[0]);\r\n if (event.url.startsWith(\"/gallery/story-telling-page/\")) {\r\n this.renderer.addClass(document.body, \"business-view-wrapper\");\r\n } else {\r\n this.renderer.removeClass(document.body, \"business-view-wrapper\");\r\n }\r\n if (event.url.endsWith(\"/atlas-intelligence-kraft\")) {\r\n this.renderer.addClass(document.body, \"atlas-intelligence-kraft\");\r\n }\r\n const scrollingContainer = document.getElementById(\"scroll-container\");\r\n if (scrollingContainer) {\r\n scrollingContainer.scrollTop = 0;\r\n }\r\n }\r\n });\r\n\r\n this.dataShareService.updateBanerData.subscribe((updatedDataInfo) => {\r\n this.baner.title = updatedDataInfo.title || \"zs ai gallery\";\r\n // updatedDataInfo.storyThemeClass = 'Heyme';\r\n // if (updatedDataInfo && updatedDataInfo.storyThemeClass) {\r\n // this.renderer.addClass(document.body, updatedDataInfo.storyThemeClass);\r\n // }\r\n this.baner.description =\r\n updatedDataInfo.description ||\r\n \"ZS AI Gallery is an interactive portfolio and experiments of AI & Machine Learning use cases developed by ZS\";\r\n });\r\n\r\n this.dataShareService.onCustomEvent.subscribe(($e) => {\r\n // console.log(data);\r\n switch ($e.event) {\r\n case \"refresh_token\":\r\n this.fetchRefreshedToken();\r\n break;\r\n }\r\n });\r\n }\r\n\r\n fetchRefreshedToken() {\r\n // this.dataShareService.updateCustomEvent({ event: 'togglePrimaryLoader', data: true });\r\n this._http.get(`${environment.api_url}/auth/refresh-token`).subscribe(\r\n (data: any) => {\r\n // this.dataShareService.updateCustomEvent({ event: 'togglePrimaryLoader', data: false });\r\n // TODO:PK validate\r\n if (data.data.userDetails.role === \"admin\") {\r\n this.renderer.addClass(document.body, \"admin-view\");\r\n this.renderer.removeClass(document.body, \"user-view\");\r\n } else {\r\n this.renderer.removeClass(document.body, \"admin-view\");\r\n this.renderer.addClass(document.body, \"user-view\");\r\n }\r\n this._authService.setUser({\r\n id: data.data.userDetails.userId,\r\n emailId: data.data.userDetails.emailId,\r\n name: data.data.userDetails.name,\r\n isAdmin: data.data.userDetails.role === \"admin\",\r\n // tslint:disable-next-line: max-line-length\r\n type:\r\n data.data.userDetails.role === \"admin\"\r\n ? UserType.ADMIN\r\n : data.data.userDetails.type === UserType.SSO\r\n ? UserType.ZS\r\n : UserType.NON_ZS,\r\n userType: data.data.userDetails.type,\r\n token: data.data.token,\r\n data: data.data.userDetails,\r\n _s: data.data._s,\r\n });\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { HttpWrapperService } from './services/http-wrapper.service';\r\nimport { CoreModule } from './core/core.module';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { GalleryModule } from './gallery/gallery.module';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { LoaderService } from './services/loader.service';\r\nimport { D3EventTimelineService } from './services/d3-event-timeline.service';\r\nimport { ShapesConfigService } from './services/shapes-config.service';\r\nimport { UserManagementModule } from './user-management/user-management.module';\r\nimport { GoogleAnalyticsService } from './services/google-analytics.service';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpClientModule,\r\n GalleryModule,\r\n AppRoutingModule,\r\n CoreModule,\r\n SharedModule,\r\n UserManagementModule\r\n ],\r\n providers: [\r\n HttpWrapperService,\r\n LoaderService,\r\n D3EventTimelineService,\r\n ShapesConfigService,\r\n GoogleAnalyticsService\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","module.exports = \"
\\r\\n
\\r\\n

\\r\\n \\r\\n

\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","import {Component, Inject, OnInit} from '@angular/core';\r\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-dialog-box-d3-tree',\r\n templateUrl: './dialog-box-d3-tree.component.html'\r\n})\r\nexport class DialogBoxD3TreeComponent implements OnInit {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) { }\r\n gridData\r\n dataSectionGridData;\r\n\r\n ngOnInit() {\r\n // console.log(this.data);\r\n this.gridData = this.data.treedata;\r\n this.dataSectionGridData = {data: this.gridData}\r\n \t}\r\n\tonNoClick(): void {\r\n\t \tthis.dialogRef.close(this.data);\r\n }\r\n \r\n save()\r\n {\r\n this.dialogRef.close(\"It is saved\");\r\n }\r\n \r\n}\r\n","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","import {Component, Inject, OnInit} from '@angular/core';\r\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-dialog-box',\r\n templateUrl: 'dialog-box.component.html'\r\n})\r\nexport class DialogBoxComponent implements OnInit{\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) {}\r\n \timageData;\r\n\r\n \tngOnInit() {\r\n \t\t// console.log(this.data);\r\n \t\tthis.imageData = { \r\n\t\t\t\tdata: {\r\n\t\t\t\t\turl: this.data.dataUrl\r\n\t\t\t\t}\r\n } \t\t\r\n \t}\r\n\tonNoClick(): void {\r\n\t \tthis.dialogRef.close(this.data);\r\n\t}\r\n\r\n}","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\n\r\n@Component({\r\n\tselector: 'app-dialog-input-box',\r\n\ttemplateUrl: 'dialog-input-box.component.html'\r\n})\r\nexport class DialogInputBoxComponent implements OnInit {\r\n\r\n\tinputData;\r\n\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any) { }\r\n\r\n\tngOnInit() {\r\n\t\t// console.log(this.data);\r\n\t}\r\n\r\n\tonNoClick(): void {\r\n\t\tif(this.inputData){\r\n\t\t\tthis.dialogRef.close(this.inputData);\r\n\t\t}\t\t\r\n\t}\r\n\r\n}","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbW1vbi9jb21wb25lbnRzL2dyaWQtbG9hZGVyL2dyaWQtbG9hZGVyLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { LoaderService } from '../../../services/loader.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-grid-loader-component',\r\n templateUrl: './grid-loader.component.html',\r\n styleUrls: ['./grid-loader.component.css']\r\n})\r\nexport class GridLoaderComponent implements OnInit {\r\n constructor(private loaderService: LoaderService) { }\r\n ngOnInit() {}\r\n ngOnDestroy() {}\r\n}","module.exports = \".main-loader-wrapper {\\r\\n position: fixed;\\r\\n left: 0;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n height: 100vh;\\r\\n width: 100%;\\r\\n background: #323438;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n color: #b6b8c3;\\r\\n font-weight: 300;\\r\\n font-size: 18px;\\r\\n overflow: hidden;\\r\\n -webkit-backdrop-filter: blur(3px);\\r\\n backdrop-filter: blur(3px);\\r\\n background: #0b0c0ed6;\\r\\n z-index: 9999;\\r\\n}\\r\\n\\r\\n.main-loader {\\r\\n position: relative;\\r\\n width: 75px;\\r\\n height: 100px;\\r\\n top: -40px;\\r\\n}\\r\\n\\r\\n.main-loader-wrapper>div:last-child {\\r\\n top: -40px;\\r\\n position: relative;\\r\\n font-family: sans-serif;\\r\\n font-weight: normal;\\r\\n font-size: 16px;\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n.loader__bar {\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n width: 10px;\\r\\n height: 50%;\\r\\n background: #f3555b;\\r\\n transform-origin: center bottom;\\r\\n box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);\\r\\n}\\r\\n\\r\\n.loader__bar:nth-child(1) {\\r\\n left: 0px;\\r\\n transform: scale(1, 0.2);\\r\\n animation: barUp1 4s infinite;\\r\\n}\\r\\n\\r\\n.loader__bar:nth-child(2) {\\r\\n left: 15px;\\r\\n transform: scale(1, 0.4);\\r\\n animation: barUp2 4s infinite;\\r\\n}\\r\\n\\r\\n.loader__bar:nth-child(3) {\\r\\n left: 30px;\\r\\n transform: scale(1, 0.6);\\r\\n animation: barUp3 4s infinite;\\r\\n}\\r\\n\\r\\n.loader__bar:nth-child(4) {\\r\\n left: 45px;\\r\\n transform: scale(1, 0.8);\\r\\n animation: barUp4 4s infinite;\\r\\n}\\r\\n\\r\\n.loader__bar:nth-child(5) {\\r\\n left: 60px;\\r\\n transform: scale(1, 1);\\r\\n animation: barUp5 4s infinite;\\r\\n}\\r\\n\\r\\n.loader__ball {\\r\\n position: absolute;\\r\\n bottom: 12px;\\r\\n left: 0;\\r\\n width: 10px;\\r\\n height: 10px;\\r\\n background: #f3555b;\\r\\n border-radius: 20px;\\r\\n animation: ball 4s infinite;\\r\\n}\\r\\n\\r\\n@keyframes ball {\\r\\n 0% {\\r\\n transform: translate(0, 0);\\r\\n }\\r\\n 5% {\\r\\n transform: translate(8px, -14px);\\r\\n }\\r\\n 10% {\\r\\n transform: translate(15px, -10px);\\r\\n }\\r\\n 17% {\\r\\n transform: translate(23px, -24px);\\r\\n }\\r\\n 20% {\\r\\n transform: translate(30px, -20px);\\r\\n }\\r\\n 27% {\\r\\n transform: translate(38px, -34px);\\r\\n }\\r\\n 30% {\\r\\n transform: translate(45px, -30px);\\r\\n }\\r\\n 37% {\\r\\n transform: translate(53px, -44px);\\r\\n }\\r\\n 40% {\\r\\n transform: translate(60px, -40px);\\r\\n }\\r\\n 50% {\\r\\n transform: translate(60px, 0);\\r\\n }\\r\\n 57% {\\r\\n transform: translate(53px, -14px);\\r\\n }\\r\\n 60% {\\r\\n transform: translate(45px, -10px);\\r\\n }\\r\\n 67% {\\r\\n transform: translate(37px, -24px);\\r\\n }\\r\\n 70% {\\r\\n transform: translate(30px, -20px);\\r\\n }\\r\\n 77% {\\r\\n transform: translate(22px, -34px);\\r\\n }\\r\\n 80% {\\r\\n transform: translate(15px, -30px);\\r\\n }\\r\\n 87% {\\r\\n transform: translate(7px, -44px);\\r\\n }\\r\\n 90% {\\r\\n transform: translate(0, -40px);\\r\\n }\\r\\n 100% {\\r\\n transform: translate(0, 0);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes barUp1 {\\r\\n 0% {\\r\\n transform: scale(1, 0.2);\\r\\n }\\r\\n 40% {\\r\\n transform: scale(1, 0.2);\\r\\n }\\r\\n 50% {\\r\\n transform: scale(1, 1);\\r\\n }\\r\\n 90% {\\r\\n transform: scale(1, 1);\\r\\n }\\r\\n 100% {\\r\\n transform: scale(1, 0.2);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes barUp2 {\\r\\n 0% {\\r\\n transform: scale(1, 0.4);\\r\\n }\\r\\n 40% {\\r\\n transform: scale(1, 0.4);\\r\\n }\\r\\n 50% {\\r\\n transform: scale(1, 0.8);\\r\\n }\\r\\n 90% {\\r\\n transform: scale(1, 0.8);\\r\\n }\\r\\n 100% {\\r\\n transform: scale(1, 0.4);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes barUp3 {\\r\\n 0% {\\r\\n transform: scale(1, 0.6);\\r\\n }\\r\\n 100% {\\r\\n transform: scale(1, 0.6);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes barUp4 {\\r\\n 0% {\\r\\n transform: scale(1, 0.8);\\r\\n }\\r\\n 40% {\\r\\n transform: scale(1, 0.8);\\r\\n }\\r\\n 50% {\\r\\n transform: scale(1, 0.4);\\r\\n }\\r\\n 90% {\\r\\n transform: scale(1, 0.4);\\r\\n }\\r\\n 100% {\\r\\n transform: scale(1, 0.8);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes barUp5 {\\r\\n 0% {\\r\\n transform: scale(1, 1);\\r\\n }\\r\\n 40% {\\r\\n transform: scale(1, 1);\\r\\n }\\r\\n 50% {\\r\\n transform: scale(1, 0.2);\\r\\n }\\r\\n 90% {\\r\\n transform: scale(1, 0.2);\\r\\n }\\r\\n 100% {\\r\\n transform: scale(1, 1);\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tbW9uL2NvbXBvbmVudHMvbG9hZGVyL2xvYWRlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCO0VBQ2hCLFFBQVE7RUFDUixPQUFPO0VBQ1AsVUFBVTtFQUNWLFNBQVM7RUFDVCxjQUFjO0VBQ2Qsd0JBQXdCO0VBQ3hCLGNBQWM7RUFDZCxZQUFZO0VBQ1osb0JBQW9CO0VBQ3BCLHVCQUF1QjtFQUN2QixvQkFBb0I7RUFDcEIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLG1DQUEyQjtVQUEzQiwyQkFBMkI7RUFDM0Isc0JBQXNCO0VBQ3RCLGNBQWM7Q0FDZjs7QUFFRDtFQUNFLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osY0FBYztFQUNkLFdBQVc7Q0FDWjs7QUFFRDtFQUNFLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsd0JBQXdCO0VBQ3hCLG9CQUFvQjtFQUNwQixnQkFBZ0I7RUFDaEIsYUFBYTtFQUNiLGtCQUFrQjtDQUNuQjs7QUFFRDtFQUNFLG1CQUFtQjtFQUNuQixVQUFVO0VBQ1YsWUFBWTtFQUNaLFlBQVk7RUFDWixvQkFBb0I7RUFFcEIsZ0NBQWdDO0VBQ2hDLHlDQUF5QztDQUMxQzs7QUFFRDtFQUNFLFVBQVU7RUFFVix5QkFBeUI7RUFFekIsOEJBQThCO0NBQy9COztBQUVEO0VBQ0UsV0FBVztFQUVYLHlCQUF5QjtFQUV6Qiw4QkFBOEI7Q0FDL0I7O0FBRUQ7RUFDRSxXQUFXO0VBRVgseUJBQXlCO0VBRXpCLDhCQUE4QjtDQUMvQjs7QUFFRDtFQUNFLFdBQVc7RUFFWCx5QkFBeUI7RUFFekIsOEJBQThCO0NBQy9COztBQUVEO0VBQ0UsV0FBVztFQUVYLHVCQUF1QjtFQUV2Qiw4QkFBOEI7Q0FDL0I7O0FBRUQ7RUFDRSxtQkFBbUI7RUFDbkIsYUFBYTtFQUNiLFFBQVE7RUFDUixZQUFZO0VBQ1osYUFBYTtFQUNiLG9CQUFvQjtFQUNwQixvQkFBb0I7RUFFcEIsNEJBQTRCO0NBQzdCOztBQWlGRDtFQUNFO0lBRUUsMkJBQTJCO0dBQzVCO0VBQ0Q7SUFFRSxpQ0FBaUM7R0FDbEM7RUFDRDtJQUVFLGtDQUFrQztHQUNuQztFQUNEO0lBRUUsa0NBQWtDO0dBQ25DO0VBQ0Q7SUFFRSxrQ0FBa0M7R0FDbkM7RUFDRDtJQUVFLGtDQUFrQztHQUNuQztFQUNEO0lBRUUsa0NBQWtDO0dBQ25DO0VBQ0Q7SUFFRSxrQ0FBa0M7R0FDbkM7RUFDRDtJQUVFLGtDQUFrQztHQUNuQztFQUNEO0lBRUUsOEJBQThCO0dBQy9CO0VBQ0Q7SUFFRSxrQ0FBa0M7R0FDbkM7RUFDRDtJQUVFLGtDQUFrQztHQUNuQztFQUNEO0lBRUUsa0NBQWtDO0dBQ25DO0VBQ0Q7SUFFRSxrQ0FBa0M7R0FDbkM7RUFDRDtJQUVFLGtDQUFrQztHQUNuQztFQUNEO0lBRUUsa0NBQWtDO0dBQ25DO0VBQ0Q7SUFFRSxpQ0FBaUM7R0FDbEM7RUFDRDtJQUVFLCtCQUErQjtHQUNoQztFQUNEO0lBRUUsMkJBQTJCO0dBQzVCO0NBQ0Y7O0FBeUJEO0VBQ0U7SUFFRSx5QkFBeUI7R0FDMUI7RUFDRDtJQUVFLHlCQUF5QjtHQUMxQjtFQUNEO0lBRUUsdUJBQXVCO0dBQ3hCO0VBQ0Q7SUFFRSx1QkFBdUI7R0FDeEI7RUFDRDtJQUVFLHlCQUF5QjtHQUMxQjtDQUNGOztBQXlCRDtFQUNFO0lBRUUseUJBQXlCO0dBQzFCO0VBQ0Q7SUFFRSx5QkFBeUI7R0FDMUI7RUFDRDtJQUVFLHlCQUF5QjtHQUMxQjtFQUNEO0lBRUUseUJBQXlCO0dBQzFCO0VBQ0Q7SUFFRSx5QkFBeUI7R0FDMUI7Q0FDRjs7QUFhRDtFQUNFO0lBRUUseUJBQXlCO0dBQzFCO0VBQ0Q7SUFFRSx5QkFBeUI7R0FDMUI7Q0FDRjs7QUF5QkQ7RUFDRTtJQUVFLHlCQUF5QjtHQUMxQjtFQUNEO0lBRUUseUJBQXlCO0dBQzFCO0VBQ0Q7SUFFRSx5QkFBeUI7R0FDMUI7RUFDRDtJQUVFLHlCQUF5QjtHQUMxQjtFQUNEO0lBRUUseUJBQXlCO0dBQzFCO0NBQ0Y7O0FBeUJEO0VBQ0U7SUFFRSx1QkFBdUI7R0FDeEI7RUFDRDtJQUVFLHVCQUF1QjtHQUN4QjtFQUNEO0lBRUUseUJBQXlCO0dBQzFCO0VBQ0Q7SUFFRSx5QkFBeUI7R0FDMUI7RUFDRDtJQUVFLHVCQUF1QjtHQUN4QjtDQUNGIiwiZmlsZSI6InNyYy9hcHAvY29tbW9uL2NvbXBvbmVudHMvbG9hZGVyL2xvYWRlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1haW4tbG9hZGVyLXdyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBoZWlnaHQ6IDEwMHZoO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6ICMzMjM0Mzg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGNvbG9yOiAjYjZiOGMzO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDNweCk7XHJcbiAgYmFja2dyb3VuZDogIzBiMGMwZWQ2O1xyXG4gIHotaW5kZXg6IDk5OTk7XHJcbn1cclxuXHJcbi5tYWluLWxvYWRlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiA3NXB4O1xyXG4gIGhlaWdodDogMTAwcHg7XHJcbiAgdG9wOiAtNDBweDtcclxufVxyXG5cclxuLm1haW4tbG9hZGVyLXdyYXBwZXI+ZGl2Omxhc3QtY2hpbGQge1xyXG4gIHRvcDogLTQwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGhlaWdodDogMzBweDtcclxuICBsaW5lLWhlaWdodDogMzBweDtcclxufVxyXG5cclxuLmxvYWRlcl9fYmFyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHdpZHRoOiAxMHB4O1xyXG4gIGhlaWdodDogNTAlO1xyXG4gIGJhY2tncm91bmQ6ICNmMzU1NWI7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XHJcbiAgYm94LXNoYWRvdzogMXB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcclxufVxyXG5cclxuLmxvYWRlcl9fYmFyOm50aC1jaGlsZCgxKSB7XHJcbiAgbGVmdDogMHB4O1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjIpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMC4yKTtcclxuICAtd2Via2l0LWFuaW1hdGlvbjogYmFyVXAxIDRzIGluZmluaXRlO1xyXG4gIGFuaW1hdGlvbjogYmFyVXAxIDRzIGluZmluaXRlO1xyXG59XHJcblxyXG4ubG9hZGVyX19iYXI6bnRoLWNoaWxkKDIpIHtcclxuICBsZWZ0OiAxNXB4O1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjQpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMC40KTtcclxuICAtd2Via2l0LWFuaW1hdGlvbjogYmFyVXAyIDRzIGluZmluaXRlO1xyXG4gIGFuaW1hdGlvbjogYmFyVXAyIDRzIGluZmluaXRlO1xyXG59XHJcblxyXG4ubG9hZGVyX19iYXI6bnRoLWNoaWxkKDMpIHtcclxuICBsZWZ0OiAzMHB4O1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjYpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMC42KTtcclxuICAtd2Via2l0LWFuaW1hdGlvbjogYmFyVXAzIDRzIGluZmluaXRlO1xyXG4gIGFuaW1hdGlvbjogYmFyVXAzIDRzIGluZmluaXRlO1xyXG59XHJcblxyXG4ubG9hZGVyX19iYXI6bnRoLWNoaWxkKDQpIHtcclxuICBsZWZ0OiA0NXB4O1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjgpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMC44KTtcclxuICAtd2Via2l0LWFuaW1hdGlvbjogYmFyVXA0IDRzIGluZmluaXRlO1xyXG4gIGFuaW1hdGlvbjogYmFyVXA0IDRzIGluZmluaXRlO1xyXG59XHJcblxyXG4ubG9hZGVyX19iYXI6bnRoLWNoaWxkKDUpIHtcclxuICBsZWZ0OiA2MHB4O1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBiYXJVcDUgNHMgaW5maW5pdGU7XHJcbiAgYW5pbWF0aW9uOiBiYXJVcDUgNHMgaW5maW5pdGU7XHJcbn1cclxuXHJcbi5sb2FkZXJfX2JhbGwge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDEycHg7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTBweDtcclxuICBoZWlnaHQ6IDEwcHg7XHJcbiAgYmFja2dyb3VuZDogI2YzNTU1YjtcclxuICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBiYWxsIDRzIGluZmluaXRlO1xyXG4gIGFuaW1hdGlvbjogYmFsbCA0cyBpbmZpbml0ZTtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJhbGwge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcclxuICB9XHJcbiAgNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4cHgsIC0xNHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDhweCwgLTE0cHgpO1xyXG4gIH1cclxuICAxMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNXB4LCAtMTBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNXB4LCAtMTBweCk7XHJcbiAgfVxyXG4gIDE3JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDIzcHgsIC0yNHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDIzcHgsIC0yNHB4KTtcclxuICB9XHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzBweCwgLTIwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzBweCwgLTIwcHgpO1xyXG4gIH1cclxuICAyNyUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgzOHB4LCAtMzRweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzOHB4LCAtMzRweCk7XHJcbiAgfVxyXG4gIDMwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDQ1cHgsIC0zMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDQ1cHgsIC0zMHB4KTtcclxuICB9XHJcbiAgMzclIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTNweCwgLTQ0cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTNweCwgLTQ0cHgpO1xyXG4gIH1cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg2MHB4LCAtNDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg2MHB4LCAtNDBweCk7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDYwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNjBweCwgMCk7XHJcbiAgfVxyXG4gIDU3JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDUzcHgsIC0xNHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUzcHgsIC0xNHB4KTtcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNDVweCwgLTEwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNDVweCwgLTEwcHgpO1xyXG4gIH1cclxuICA2NyUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgzN3B4LCAtMjRweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzN3B4LCAtMjRweCk7XHJcbiAgfVxyXG4gIDcwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDMwcHgsIC0yMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDMwcHgsIC0yMHB4KTtcclxuICB9XHJcbiAgNzclIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjJweCwgLTM0cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjJweCwgLTM0cHgpO1xyXG4gIH1cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNXB4LCAtMzBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNXB4LCAtMzBweCk7XHJcbiAgfVxyXG4gIDg3JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDdweCwgLTQ0cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoN3B4LCAtNDRweCk7XHJcbiAgfVxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC00MHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC00MHB4KTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJhbGwge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcclxuICB9XHJcbiAgNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4cHgsIC0xNHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDhweCwgLTE0cHgpO1xyXG4gIH1cclxuICAxMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNXB4LCAtMTBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNXB4LCAtMTBweCk7XHJcbiAgfVxyXG4gIDE3JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDIzcHgsIC0yNHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDIzcHgsIC0yNHB4KTtcclxuICB9XHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzBweCwgLTIwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzBweCwgLTIwcHgpO1xyXG4gIH1cclxuICAyNyUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgzOHB4LCAtMzRweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzOHB4LCAtMzRweCk7XHJcbiAgfVxyXG4gIDMwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDQ1cHgsIC0zMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDQ1cHgsIC0zMHB4KTtcclxuICB9XHJcbiAgMzclIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTNweCwgLTQ0cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTNweCwgLTQ0cHgpO1xyXG4gIH1cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg2MHB4LCAtNDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg2MHB4LCAtNDBweCk7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDYwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNjBweCwgMCk7XHJcbiAgfVxyXG4gIDU3JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDUzcHgsIC0xNHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUzcHgsIC0xNHB4KTtcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNDVweCwgLTEwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNDVweCwgLTEwcHgpO1xyXG4gIH1cclxuICA2NyUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgzN3B4LCAtMjRweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzN3B4LCAtMjRweCk7XHJcbiAgfVxyXG4gIDcwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDMwcHgsIC0yMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDMwcHgsIC0yMHB4KTtcclxuICB9XHJcbiAgNzclIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjJweCwgLTM0cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjJweCwgLTM0cHgpO1xyXG4gIH1cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNXB4LCAtMzBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNXB4LCAtMzBweCk7XHJcbiAgfVxyXG4gIDg3JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDdweCwgLTQ0cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoN3B4LCAtNDRweCk7XHJcbiAgfVxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC00MHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC00MHB4KTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFyVXAxIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMC4yKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMC4yKTtcclxuICB9XHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjIpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjIpO1xyXG4gIH1cclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcclxuICB9XHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDAuMik7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDAuMik7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJhclVwMSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDAuMik7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDAuMik7XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMC4yKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMC4yKTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XHJcbiAgfVxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjIpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjIpO1xyXG4gIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJhclVwMiB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDAuNCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDAuNCk7XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMC40KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMC40KTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjgpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjgpO1xyXG4gIH1cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDAuOCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDAuOCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDAuNCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDAuNCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJhclVwMiB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDAuNCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDAuNCk7XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMC40KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMC40KTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjgpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjgpO1xyXG4gIH1cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDAuOCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDAuOCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDAuNCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDAuNCk7XHJcbiAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFyVXAzIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMC42KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMC42KTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMC42KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMC42KTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYmFyVXAzIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMC42KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMC42KTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMC42KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMC42KTtcclxuICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBiYXJVcDQge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjgpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjgpO1xyXG4gIH1cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDAuOCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDAuOCk7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMC40KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMC40KTtcclxuICB9XHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjQpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjQpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjgpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjgpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBiYXJVcDQge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjgpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjgpO1xyXG4gIH1cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDAuOCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDAuOCk7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMC40KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMC40KTtcclxuICB9XHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjQpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjQpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjgpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjgpO1xyXG4gIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJhclVwNSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcclxuICB9XHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMC4yKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMC4yKTtcclxuICB9XHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjIpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjIpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJhclVwNSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcclxuICB9XHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMC4yKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMC4yKTtcclxuICB9XHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjIpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjIpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XHJcbiAgfVxyXG59Il19 */\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
LOADING
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { LoaderService } from '../../../services/loader.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-loader-component',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.css']\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n // loaded:boolean = false;\r\n // private subscription : Subscription;\r\n constructor(private loaderService: LoaderService) { }\r\n ngOnInit() {\r\n // this.loaderService.show();\r\n // this.subscription = this.loaderService.loaderState\r\n // .subscribe((state : any) => {\r\n // // alert(\"Inside component\");\r\n // this.loaded = state.loaded;\r\n // });\r\n }\r\n ngOnDestroy() {\r\n // this.subscription.unsubscribe();\r\n }\r\n}","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
User ID {{element.row_lable}} Date {{element.start_date}} Event{{element.row_tooltip}}
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\"","import {Component, Inject, OnInit} from '@angular/core';\r\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatTableDataSource} from '@angular/material';\r\n\r\n@Component({\r\n selector: 'pop-up',\r\n templateUrl: 'pop-up.component.html'\r\n})\r\nexport class PopUpComponent implements OnInit{\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) {}\r\n displayedColumns: string[] = ['row_lable', 'start_date', 'row_tooltip'];\r\n \t\r\n\tdataSource;\r\n ngOnInit() {\r\n this.dataSource = new MatTableDataSource(JSON.parse(this.data));\r\n\t}\r\n \r\n onNoClick(): void {\r\n\t \tthis.dialogRef.close(this.data);\r\n\t}\r\n}","module.exports = \"
\\r\\n \\r\\n
\\r\\n

State: {{ state }}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
Customer Number {{element.CUSTOMER_NUMBER}} NRx {{element.product1_nrx}} TRx{{element.product1_trx}} NBRx{{element.product1_nbrx}} Month{{element.month}}
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\"","import {Component, Inject, OnInit} from '@angular/core';\r\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatTableDataSource} from '@angular/material';\r\n\r\n@Component({\r\n selector: 'us-chart-pop-up',\r\n templateUrl: 'us-chart-pop-up.component.html'\r\n})\r\nexport class USChartPopUpComponent implements OnInit{\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) {}\r\n displayedColumns: string[] = ['CUSTOMER_NUMBER', 'product1_nrx', 'product1_trx','product1_nbrx','month'];\r\n \t\r\n dataSource;\r\n state;\r\n ngOnInit() {\r\n this.state = this.data.state;\r\n this.dataSource = new MatTableDataSource(this.data.preferences);\r\n\t}\r\n \r\n onNoClick(): void {\r\n\t \tthis.dialogRef.close(this.data);\r\n\t}\r\n}","module.exports = \".animated-background {\\r\\n animation-duration: 1.25s;\\r\\n animation-fill-mode: forwards;\\r\\n animation-iteration-count: infinite;\\r\\n animation-name: placeHolderShimmer;\\r\\n animation-timing-function: ease-in-out;\\r\\n background: #ededed;\\r\\n background:linear-gradient(to right, #edeef7 8%, #efeff7 22%, #e9eaf7 36%);\\r\\n background-size: 50%;\\r\\n position: relative;\\r\\n height: 100%;\\r\\n animation-delay: 0.35s;\\r\\n min-height: 350px;\\r\\n}\\r\\n@keyframes placeHolderShimmer {\\r\\n 0% {\\r\\n background-position: -50% 0\\r\\n }\\r\\n 100% {\\r\\n background-position: 50% 0\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tbW9uL2NvbXBvbmVudHMvd2lkZ2V0LWxvYWRlci93aWRnZXQtbG9hZGVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSwwQkFBMEI7SUFDMUIsOEJBQThCO0lBQzlCLG9DQUFvQztJQUNwQyxtQ0FBbUM7SUFDbkMsdUNBQXVDO0lBQ3ZDLG9CQUFvQjtJQUNwQiwyRUFBMkU7SUFDM0UscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixhQUFhO0lBRWIsdUJBQXVCO0lBQ3ZCLGtCQUFrQjtDQUNyQjtBQUNEO0lBQ0k7UUFDSSwyQkFBMkI7S0FDOUI7SUFDRDtRQUNJLDBCQUEwQjtLQUM3QjtDQUNKIiwiZmlsZSI6InNyYy9hcHAvY29tbW9uL2NvbXBvbmVudHMvd2lkZ2V0LWxvYWRlci93aWRnZXQtbG9hZGVyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYW5pbWF0ZWQtYmFja2dyb3VuZCB7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDEuMjVzO1xyXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBwbGFjZUhvbGRlclNoaW1tZXI7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIGJhY2tncm91bmQ6ICNlZGVkZWQ7XHJcbiAgICBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2VkZWVmNyA4JSwgI2VmZWZmNyAyMiUsICNlOWVhZjcgMzYlKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuMzVzO1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjM1cztcclxuICAgIG1pbi1oZWlnaHQ6IDM1MHB4O1xyXG59XHJcbkBrZXlmcmFtZXMgcGxhY2VIb2xkZXJTaGltbWVyIHtcclxuICAgIDAlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTAlIDBcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwXHJcbiAgICB9XHJcbn0iXX0= */\"","module.exports = \"\\r\\n
\\r\\n \\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-widget-loader',\r\n templateUrl: './widget-loader.component.html',\r\n styleUrls: ['./widget-loader.component.css']\r\n})\r\nexport class WidgetLoaderComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","module.exports = \".contact-us-container {\\r\\n width: 620px;\\r\\n}\\r\\n.contact-us-container .form-group{\\r\\n margin-bottom: 13px;\\r\\n width: 48%;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9jb250YWN0L2NvbnRhY3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGFBQWE7Q0FDaEI7QUFDRDtJQUNJLG9CQUFvQjtJQUNwQixXQUFXO0NBQ2QiLCJmaWxlIjoic3JjL2FwcC9jb3JlL2NvbnRhY3QvY29udGFjdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRhY3QtdXMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiA2MjBweDtcclxufVxyXG4uY29udGFjdC11cy1jb250YWluZXIgLmZvcm0tZ3JvdXB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xyXG4gICAgd2lkdGg6IDQ4JTtcclxufSJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n Contact Us\\r\\n Let us know how can we help you.\\r\\n
\\r\\n \\r\\n
\\r\\n {{currentDate | date:'EEE, dd MMM yyyy'}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n Enter Name

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n Enter\\r\\n Email Id\\r\\n Correct Email Id\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{userInfo.name}}

\\r\\n
\\r\\n
\\r\\n \\r\\n

{{this.userInfo.emailId}}

\\r\\n
\\r\\n
\\r\\n \\r\\n

{{currentDate | date:'EEE, dd MMM yyyy'}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{usage.name}}\\r\\n \\r\\n

\\r\\n Select Usage Value

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n Enter Purpose

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{story.title}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatSnackBar } from '@angular/material';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { GalleryService } from 'src/app/gallery/gallery.service';\r\nimport { GoogleAnalyticsService } from 'src/app/services/google-analytics.service';\r\nimport { UserType, GAIndex } from 'src/app/shared/enum/enum';\r\n\r\n@Component({\r\n selector: 'app-contact',\r\n templateUrl: './contact.component.html',\r\n styleUrls: ['./contact.component.css'],\r\n providers: [GalleryService]\r\n})\r\nexport class ContactComponent {\r\n contactUsForm: FormGroup;\r\n isFormSubmitted = false;\r\n isSubmitting = false;\r\n userInfo = null;\r\n USER_TYPE = UserType;\r\n stories = [];\r\n public usageList = [{\r\n name: 'Client Demo',\r\n slug: 'client_demo'\r\n }, {\r\n name: 'ZS Internal',\r\n slug: 'zs_internal'\r\n }];\r\n public currentDate = new Date();\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialogRef: MatDialogRef,\r\n public gallaryService: GalleryService,\r\n private _gaService: GoogleAnalyticsService,\r\n private _snackBar: MatSnackBar) {\r\n this.userInfo = data.userInfo;\r\n // console.log(data);\r\n this.stories = data.stories;\r\n this.contactUsForm = formBuilder.group({\r\n name: [(this.userInfo.name || ''), Validators.required],\r\n emailId: [(this.userInfo.emailId || ''), [Validators.required, Validators.email]],\r\n stories: [[], Validators.nullValidator],\r\n reason: ['', Validators.nullValidator],\r\n purpose: ['', Validators.required],\r\n usage: [null, Validators.required],\r\n });\r\n }\r\n\r\n onDropdownChange(event) {\r\n // this.contactUsForm.s\r\n }\r\n\r\n onSubmit() {\r\n this.isFormSubmitted = true;\r\n if (this.contactUsForm.invalid) {\r\n return false;\r\n }\r\n\r\n const requestObj = { ...this.contactUsForm.value, type: this.userInfo.userType, userId: this.userInfo.id };\r\n // console.log(this.stories);\r\n // const newStoryData = [];\r\n // requestObj.stories.forEach(element => {\r\n // const selectedStory = this.stories.find(story => story.url === element);\r\n // newStoryData.push({\r\n // slug: selectedStory.url,\r\n // name: selectedStory.title\r\n // });\r\n // });\r\n\r\n // requestObj.stories = [...newStoryData];\r\n requestObj.stories = requestObj.stories.map(v => {\r\n return {\r\n slug: v.url,\r\n name: v.title\r\n };\r\n });\r\n this.isSubmitting = true;\r\n this.gallaryService.setContactData(requestObj).subscribe((res: any) => {\r\n const GA_config = {};\r\n GA_config[GAIndex.NAME] = res.data.name;\r\n GA_config[GAIndex.EMAIL_ID] = res.data.emailId;\r\n GA_config[GAIndex.CLIENT_NAME_OR_PURPOSE] = requestObj.purpose;\r\n if (res.data.stories.length === 0) {\r\n this._gaService.triggerEvent('Contact Us', res.data.usageType.name, 'NA', GA_config);\r\n } else {\r\n res.data.stories.forEach(element => {\r\n this._gaService.triggerEvent('Contact Us', res.data.usageType.name, element.name, GA_config);\r\n });\r\n }\r\n\r\n this.isSubmitting = false;\r\n this._snackBar.open(res.message, '', {\r\n duration: 3000,\r\n panelClass: 'success',\r\n verticalPosition: 'top',\r\n horizontalPosition: 'right'\r\n });\r\n this.dialogRef.close();\r\n }, (err: any) => {\r\n this._snackBar.open(err.error.message, '', {\r\n duration: 3000,\r\n panelClass: 'error',\r\n verticalPosition: 'top',\r\n horizontalPosition: 'right'\r\n });\r\n this.dialogRef.close();\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { ContactComponent } from './contact/contact.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { AppRoutingModule } from '../app-routing.module';\r\nimport { ErrorPageComponent } from './error-page/error-page.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { PromoVideoComponent } from './header/promo-video-dialog-box/promo-video-dialog-box.component';\r\nimport { MaterialModule } from '../material/material.module';\r\nimport { StoryNavigationComponent } from './header/story-navigation/story-navigation.component';\r\nimport { LoginService } from './login/service/login.service';\r\nimport { LoaderComponent } from '../common/components/loader/loader.component';\r\nimport { GalleryService } from '../gallery/gallery.service';\r\nimport { RouterModule } from '@angular/router';\r\nimport { WidgetLoaderComponent } from '../common/components/widget-loader/widget-loader.component';\r\nimport { WidgetsModule } from '../widgets/widgets.module';\r\n@NgModule({\r\n declarations: [\r\n LoaderComponent,\r\n HeaderComponent,\r\n // HomeComponent,\r\n FooterComponent,\r\n ContactComponent,\r\n ErrorPageComponent,\r\n LoginComponent,\r\n PromoVideoComponent,\r\n StoryNavigationComponent,\r\n WidgetLoaderComponent\r\n ],\r\n imports: [\r\n SharedModule,\r\n // AppRoutingModule,\r\n RouterModule,\r\n ReactiveFormsModule,\r\n MaterialModule,\r\n WidgetsModule\r\n ],\r\n exports: [\r\n RouterModule,\r\n // AppRoutingModule,\r\n LoaderComponent,\r\n HeaderComponent,\r\n FooterComponent,\r\n PromoVideoComponent,\r\n ContactComponent,\r\n WidgetLoaderComponent\r\n ],\r\n providers: [\r\n // ShoppingListService\r\n // RecipeService,\r\n // DataStorageService,\r\n // AuthService,\r\n // {provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true},\r\n // {provide: HTTP_INTERCEPTORS, useClass: LoggingInterceptor, multi: true}\r\n LoginService\r\n ],\r\n entryComponents: [\r\n PromoVideoComponent\r\n ]\r\n})\r\nexport class CoreModule { }\r\n","module.exports = \"

{{ errorMessage }}

\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Data } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-error-page',\r\n templateUrl: './error-page.component.html'\r\n})\r\nexport class ErrorPageComponent implements OnInit {\r\n errorMessage: string;\r\n\r\n constructor(private route: ActivatedRoute) { }\r\n\r\n ngOnInit() {\r\n // this.errorMessage = this.route.snapshot.data['message'];\r\n this.route.data.subscribe(\r\n (data: Data) => {\r\n this.errorMessage = data['message'];\r\n }\r\n );\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n TOP\\r\\n
\\r\\n ©1998 - {{currentYear}} ZS Associates, Inc.\\r\\n Powered by ZS Rapid Prototyping Team\\r\\n \\r\\n
\\r\\n
\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\nselector: 'app-footer',\r\ntemplateUrl: './footer.component.html'\r\n})\r\nexport class FooterComponent {\r\n\tpublic currentYear = new Date().getFullYear();\r\n\tconstructor() { }\r\n\r\n\tonGoToTopClick() {\r\n\t\tconst scrollContainer = document.getElementById('scroll-container');\r\n\t\tscrollContainer.scrollTo({ top: 0, left: 0, behavior: 'smooth' });\r\n\t}\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{baner.title}}

\\r\\n

Interactive portfolio of AI use cases

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{clipBoardText}} \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Contact Us\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
For better experience and performance, we recommend to use Chrome or Safari browsers.\\r\\n
\\r\\n \\r\\n
\\r\\n\"","import { Component, OnInit, Renderer2, ElementRef, ViewChild, AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { DataShareService } from 'src/app/shared/data-share.service';\r\nimport { Router, NavigationStart, NavigationEnd, GuardsCheckEnd } from '@angular/router';\r\nimport { AuthService } from 'src/app/shared/auth.service';\r\n// import { HttpEvent, HttpEventType } from '@angular/common/http';\r\n\r\n// import { DataStorageService } from '../../shared/data-storage.service';\r\n// import { AuthService } from '../../auth/auth.service';\r\nimport { MatDialog, MatSnackBar } from '@angular/material';\r\nimport { PromoVideoComponent } from './promo-video-dialog-box/promo-video-dialog-box.component';\r\nimport { GalleryService } from 'src/app/gallery/gallery.service';\r\nimport { CookieService } from 'src/app/shared/cookie-wrapper.service';\r\nimport { LoginService } from '../login/service/login.service';\r\nimport { GoogleAnalyticsService } from 'src/app/services/google-analytics.service';\r\nimport { UserType } from 'src/app/shared/enum/enum';\r\nimport { ContactComponent } from '../contact/contact.component';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html'\r\n})\r\nexport class HeaderComponent implements AfterViewInit, OnDestroy {\r\n copydata=false;\r\n @ViewChild('sidebarOverlay') sidebarOverlay: ElementRef;\r\n // @ViewChild('unsupportedBanner') unsupportedBanner: ElementRef;\r\n public isClipBoardCopied = false;\r\n\tpublic clipBoardTimeout = null;\r\n\tpublic clipBoardText = '';\r\n showLoader = false;\r\n baner: any;\r\n showBusinessViewBtn = false;\r\n storyUrl;\r\n showNavigation = false;\r\n showMenu = false;\r\n enableNavigationClick = true;\r\n storyData = [];\r\n selectedSection = '';\r\n isLoggedIn = false;\r\n isAdmin = false;\r\n selectedLogin = '';\r\n loadPromoButton = false;\r\n promoVideoUrl = '';\r\n isSSOUser = false;\r\n loggedInUserInfo = null;\r\n storiesList = null;\r\n\r\n showEditDashboard = false;\r\n // unsupportedBannerTimer = null;\r\n\r\n public isQuickSettingsActive = false;\r\n public disableSave = true;\r\n public isDataLoaded = false;\r\n\r\n constructor(\r\n private dataShareService: DataShareService,\r\n private router: Router,\r\n private _authService: AuthService,\r\n private _cookieService: CookieService,\r\n private dialog: MatDialog,\r\n private renderer: Renderer2,\r\n private _snackBar: MatSnackBar,\r\n private _loginService: LoginService,\r\n private _gaService: GoogleAnalyticsService\r\n ) {\r\n this.baner = {\r\n title: 'zs ai gallery',\r\n storyThemeClass: '',\r\n };\r\n this.router.events\r\n .subscribe((event) => {\r\n this.showNavigation = false;\r\n this.showBusinessViewBtn = false;\r\n this.baner = {\r\n title: 'zs ai gallery',\r\n storyThemeClass: '',\r\n };\r\n\r\n this.selectedSection = '';\r\n this.selectedLogin = '';\r\n });\r\n\r\n this.dataShareService.updateBanerData.subscribe((updatedDataInfo) => {\r\n\r\n this.storyUrl = updatedDataInfo.url;\r\n this.baner.title = updatedDataInfo.title || 'zs ai gallery';\r\n this.baner.description = updatedDataInfo.description ||\r\n 'ZS AI Gallery is an interactive portfolio and experiments of AI & Machine Learning use cases developed by ZS';\r\n if(this.storyUrl!=\"advanced_market_intelligence\"){\r\n this.copydata=false;\r\n }\r\n });\r\n this.dataShareService.updateNavigationData.subscribe((navData) => {\r\n\r\n this.enableNavigationClick = true;\r\n if (navData.disableClick) {\r\n this.enableNavigationClick = false;\r\n }\r\n if (navData.isBusinessViewAvailable) {\r\n this.showBusinessViewBtn = true;\r\n }\r\n this.storyData = navData.sections;\r\n // console.log(\"Story data is:\",this.storyData);\r\n // console.log(this.storyUrl);\r\n if(this.storyUrl===\"advanced_market_intelligence\" && this.storyData!=null){\r\n this.copydata=true;\r\n }\r\n this.showNavigation = true;\r\n });\r\n this.dataShareService.onNavigationSectionChange.subscribe((data) => {\r\n this.selectedSection = data || '';\r\n });\r\n this._authService.onUserInfoUpate.subscribe((data) => {\r\n if (data) {\r\n this.isLoggedIn = true;\r\n this.isAdmin = data.isAdmin;\r\n this.isSSOUser = data.type === UserType.ZS;\r\n if (this.isAdmin) {\r\n this.renderer.addClass(document.body, \"admin-view\");\r\n this.renderer.removeClass(document.body, \"user-view\");\r\n } else {\r\n this.renderer.removeClass(document.body, \"admin-view\");\r\n this.renderer.addClass(document.body, \"user-view\");\r\n }\r\n } else {\r\n this.isLoggedIn = false;\r\n this.isAdmin = false;\r\n this.isSSOUser = false;\r\n this.renderer.removeClass(document.body, \"user-view\");\r\n this.renderer.removeClass(document.body, \"admin-view\");\r\n }\r\n this.loggedInUserInfo = data;\r\n });\r\n\r\n this.router.events\r\n .subscribe((event) => {\r\n if (event instanceof NavigationStart) {\r\n const promoButtonRoutes = ['/', '/gallery'];\r\n if (promoButtonRoutes.indexOf(event.url) > -1) {\r\n this.loadPromoButton = true;\r\n this.showEditDashboard = true;\r\n } else {\r\n this.loadPromoButton = false;\r\n this.showEditDashboard = false;\r\n this.isQuickSettingsActive = false;\r\n }\r\n this.showMenu = false;\r\n }\r\n if (event instanceof NavigationEnd) {\r\n const promoButtonRoutes = ['/', '/gallery'];\r\n if (promoButtonRoutes.indexOf(event.url) > -1) {\r\n this.loadPromoButton = true;\r\n this.showEditDashboard = true;\r\n } else {\r\n this.loadPromoButton = false;\r\n this.showEditDashboard = false;\r\n this.isQuickSettingsActive = false;\r\n }\r\n this.showMenu = false;\r\n this._setFullPageScrollEventState(true);\r\n }\r\n if (event instanceof GuardsCheckEnd) {\r\n if (event.shouldActivate) {\r\n this.loadPromoButton = false;\r\n this.showEditDashboard = false;\r\n this.isQuickSettingsActive = false;\r\n } else {\r\n this.showEditDashboard = true;\r\n this.loadPromoButton = true;\r\n this.isQuickSettingsActive = true;\r\n }\r\n }\r\n });\r\n\r\n\r\n this.dataShareService.onCustomEvent.subscribe(($e) => {\r\n // console.log(data);\r\n switch ($e.event) {\r\n case 'cookiesExpired':\r\n this._snackBar.open($e.data, '', {\r\n duration: 3000,\r\n panelClass: 'error',\r\n verticalPosition: 'top',\r\n horizontalPosition: 'right'\r\n });\r\n break;\r\n case 'addClassToBody':\r\n this.renderer.addClass(document.body, $e.data);\r\n break;\r\n case 'removeClassToBody':\r\n this.renderer.removeClass(document.body, $e.data);\r\n break;\r\n case 'togglePrimaryLoader':\r\n this.showLoader = $e.data;\r\n break;\r\n case 'addClassToElement':\r\n this.renderer.addClass(document.querySelector(`${$e.data.selector}`), $e.data.class);\r\n break;\r\n case 'removeClassToElement':\r\n this.renderer.removeClass(document.querySelector(`${$e.data.selector}`), $e.data.class);\r\n break;\r\n }\r\n });\r\n\r\n this.dataShareService.onGalleryDataLoad.subscribe((data) => {\r\n // console.log(data);\r\n this.storiesList = data.stories;\r\n this.promoVideoUrl = data.promo_video_url;\r\n });\r\n\r\n this.dataShareService.onCustomDashboardEvent.subscribe((res: any) => {\r\n\t\t\tswitch (res.event) {\r\n\t\t\t\tcase 'toggleQuickSettings':\r\n\t\t\t\t\tthis.toggleQuickSettings(res.value);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'toggleSaveDisable':\r\n\t\t\t\t\tthis.toggleSaveDisable(res.value);\r\n\t\t\t\t\tbreak;\t\t\r\n case 'toggleLoader':\r\n this.toggleLoader(res.value);\r\n break;\r\n case 'showSettings':\r\n this.isDataLoaded = res.value;\r\n break;\t\t\r\n \r\n\t\t\t\tdefault:\r\n\t\t\t\t\tbreak;\r\n\t\t\t}res.event\r\n\t\t});\r\n }\r\n \r\n\r\n ngAfterViewInit() {\r\n if (this.sidebarOverlay) {\r\n this.renderer.listen(this.sidebarOverlay.nativeElement, 'mousewheel', ($e) => {\r\n $e.stopImmediatePropagation();\r\n // $e.stopPropagation();\r\n return false;\r\n });\r\n }\r\n \r\n // this.renderer.addClass(this.unsupportedBanner.nativeElement, 'in');\r\n // this.unsupportedBannerTimer = setTimeout(() => {\r\n // this.renderer.removeClass(this.unsupportedBanner.nativeElement, 'in');\r\n // }, 1000 * 60);\r\n\r\n }\r\n\r\n redirectTo() {\r\n this.router.navigate(['gallery/story-telling-page', this.storyUrl]);\r\n }\r\n\r\n onLogoClick() {\r\n this.router.navigate(['gallery']);\r\n }\r\n\r\n\r\n goToHome() {\r\n this.showMenu = false;\r\n this.router.navigate(['/']);\r\n }\r\n\r\n onMenuClick() {\r\n this.showMenu = !this.showMenu;\r\n if (this.showMenu) {\r\n this._setFullPageScrollEventState(false);\r\n } else {\r\n this._setFullPageScrollEventState(true);\r\n }\r\n }\r\n\r\n private _setFullPageScrollEventState(state: boolean) {\r\n this.dataShareService.updateCustomEvent({ event: 'setFullPageScrollEvent', data: state });\r\n }\r\n\r\n\r\n onNavigationSelect(data) {\r\n this.dataShareService.navigationClick(data);\r\n }\r\n // onSaveData() {\r\n // this.dataStorageService.storeRecipes()\r\n // .subscribe(\r\n // (response) => {\r\n // console.log(response);\r\n // }\r\n // );\r\n // }\r\n\r\n // onFetchData() {\r\n // this.dataStorageService.getRecipes();\r\n // }\r\n\r\n // onLogout() {\r\n // this.authService.logout();\r\n // }\r\n\r\n isAuthenticated() {\r\n return false;\r\n }\r\n\r\n onLogoutClick() {\r\n // this.dataShareService.triggerLogout(this._authService.getUser().id);\r\n this._loginService.logout(this._authService.getUser().id).subscribe((d) => { });\r\n this._gaService.triggerEvent('Logout', 'Logout', 'User Logout');\r\n this._authService.removeUser();\r\n this._cookieService.clearCloudfrontCookies();\r\n // this.router.navigate(['login']);\r\n }\r\n\r\n onLoginFormLinkClick(role) {\r\n this.selectedLogin = role;\r\n this.dataShareService.showLoginForm(role);\r\n }\r\n\r\n openVideoModal() {\r\n this._gaService.triggerEvent('Play', 'Video', 'Know More');\r\n const dialogRef = this.dialog.open(PromoVideoComponent, {\r\n data: { 'videoURL': this.promoVideoUrl },\r\n panelClass: \"promo-video-popup\"\r\n });\r\n // const cdkOverlayContainer = document.getElementsByClassName('cdk-overlay-container');\r\n // const className = 'promo-video-popup';\r\n\r\n // dialogRef.afterOpened().subscribe(() => {\r\n // this.renderer.addClass(cdkOverlayContainer[0], className);\r\n // });\r\n\r\n // dialogRef.afterClosed().subscribe(() => {\r\n // this.renderer.removeClass(cdkOverlayContainer[0], className);\r\n // });\r\n }\r\n\r\n onContactUs() {\r\n const dialogRef = this.dialog.open(ContactComponent, {\r\n panelClass: 'contact-us-overlay',\r\n data: {userInfo: {...this.loggedInUserInfo}, stories: [...this.storiesList]}\r\n });\r\n // const cdkOverlayContainer = document.getElementsByClassName('cdk-overlay-container');\r\n // const className = 'promo-video-popup';\r\n\r\n dialogRef.afterOpened().subscribe(() => {\r\n // this.renderer.addClass(cdkOverlayContainer[0], className);\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(() => {\r\n // this.renderer.removeClass(cdkOverlayContainer[0], className);\r\n });\r\n }\r\n\r\n public enableQuickSettings() {\r\n this.dataShareService.onCustomDashboardEvent.next({\r\n event: 'enableSettings',\r\n value: true\r\n });\r\n }\r\n\r\n public saveSettings() {\r\n this.dataShareService.onCustomDashboardEvent.next({\r\n event: 'saveSettings',\r\n value: true\r\n });\r\n }\r\n\r\n public cancelChanges() {\r\n this.dataShareService.onCustomDashboardEvent.next({\r\n event: 'cancelSettings',\r\n value: true\r\n });\r\n }\r\n\r\n public toggleSaveDisable(value) {\r\n this.disableSave = !value;\r\n }\r\n\r\n public toggleQuickSettings(value) {\r\n if (value) {\r\n this.isQuickSettingsActive = true;\r\n this.dataShareService.updateCustomEvent({ event: 'addClassToBody', data: 'edited-view' });\r\n } else {\r\n this.isQuickSettingsActive = false;\r\n this.dataShareService.updateCustomEvent({ event: 'removeClassToBody', data: 'edited-view' });\r\n }\r\n }\r\n\r\n toggleLoader(value) {\r\n this.showLoader = !!value\r\n }\r\n clipBoardClicked(event) {\r\n\t\t// console.log(\"Visualization Function triggered\", event);\r\n // console.log(\"this.clipBoardTimeout: \", this.clipBoardTimeout);\r\n // console.log(event);\r\n\t\tthis.isClipBoardCopied = true;\r\n\t\tif (this.clipBoardTimeout != null) {\r\n\t\t\tclearTimeout(this.clipBoardTimeout);\r\n\t\t};\r\n\t\tthis.clipBoardText = `${event} Copied!`;\r\n\t\tthis.clipBoardTimeout = setTimeout(() => {\r\n\t\t\tthis.isClipBoardCopied = false;\r\n\t\t\tthis.clipBoardTimeout = null;\r\n\t\t\tthis.clipBoardText = '';\r\n\t\t}, 1500);\r\n\t}\r\n\r\n ngOnDestroy() {\r\n // clearTimeout(this.unsupportedBannerTimer);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n \\r\\n
\"","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-promo-video',\r\n templateUrl: './promo-video-dialog-box.component.html'\r\n})\r\nexport class PromoVideoComponent {\r\n videoURL = '';\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef) {\r\n this.videoURL = data.videoURL;\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvaGVhZGVyL3N0b3J5LW5hdmlnYXRpb24vc3RvcnktbmF2aWdhdGlvbi5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
\\r\\n \\r\\n {{nav.name}}\\r\\n \\r\\n
\\r\\n Business View\\r\\n
\\r\\n
\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-story-navigation',\r\n templateUrl: './story-navigation.component.html',\r\n styleUrls: ['./story-navigation.component.css']\r\n})\r\nexport class StoryNavigationComponent implements OnInit {\r\n\r\n @Input() navigationData = [];\r\n @Input() storyURL = '';\r\n @Input() selectedNavigation = '';\r\n @Input() isClickable = true;\r\n @Input() showBusinessViewBtn = false;\r\n\r\n // tslint:disable-next-line: no-output-on-prefix\r\n @Output() public onStoryNavigationClick = new EventEmitter();\r\n @Output() public businessViewClicked = new EventEmitter();\r\n\r\n constructor(private _router: Router) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onNavigationClick(section) {\r\n this.onStoryNavigationClick.emit(section);\r\n }\r\n\r\n onBusinessViewClick() {\r\n this.businessViewClicked.emit(true);\r\n this._router.navigate(['gallery/story-telling-page', this.storyURL]);\r\n }\r\n\r\n}\r\n","module.exports = \"video {\\r\\n /* width: 100%; */\\r\\n max-height: calc(100vh - 250px);\\r\\n vertical-align: middle;\\r\\n width: auto;\\r\\n max-width: 100%;\\r\\n}\\r\\n\\r\\nvideo:focus {\\r\\n box-shadow: none;\\r\\n border: 0;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.login-contact-info {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.login-form-container {\\r\\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);\\r\\n padding: 30px;\\r\\n border-radius: 50px;\\r\\n max-width: 340px;\\r\\n}\\r\\n\\r\\n/* .lds-ring div:nth-child(1) {\\r\\n animation-delay: -0.45s;\\r\\n}\\r\\n.lds-ring div:nth-child(2) {\\r\\n animation-delay: -0.3s;\\r\\n}\\r\\n.lds-ring div:nth-child(3) {\\r\\n animation-delay: -0.15s;\\r\\n} */\\r\\n\\r\\n@keyframes lds-ring {\\r\\n 0% {\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n 100% {\\r\\n transform: rotate(360deg);\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9sb2dpbi9sb2dpbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCO0VBQ2xCLGdDQUFnQztFQUNoQyx1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLGdCQUFnQjtDQUNqQjs7QUFFRDtFQUNFLGlCQUFpQjtFQUNqQixVQUFVO0VBQ1YsY0FBYztDQUNmOztBQUVEO0VBQ0UsZ0JBQWdCO0NBQ2pCOztBQUVEO0VBQ0Usd0NBQXdDO0VBQ3hDLGNBQWM7RUFDZCxvQkFBb0I7RUFDcEIsaUJBQWlCO0NBQ2xCOztBQUdEOzs7Ozs7OztJQVFJOztBQUVKO0VBQ0U7SUFDRSx3QkFBd0I7R0FDekI7RUFDRDtJQUNFLDBCQUEwQjtHQUMzQjtDQUNGIiwiZmlsZSI6InNyYy9hcHAvY29yZS9sb2dpbi9sb2dpbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsidmlkZW8ge1xyXG4gIC8qIHdpZHRoOiAxMDAlOyAqL1xyXG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAyNTBweCk7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB3aWR0aDogYXV0bztcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbnZpZGVvOmZvY3VzIHtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG4gIGJvcmRlcjogMDtcclxuICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4ubG9naW4tY29udGFjdC1pbmZvIHtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi5sb2dpbi1mb3JtLWNvbnRhaW5lciB7XHJcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gIHBhZGRpbmc6IDMwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICBtYXgtd2lkdGg6IDM0MHB4O1xyXG59XHJcblxyXG5cclxuLyogLmxkcy1yaW5nIGRpdjpudGgtY2hpbGQoMSkge1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAtMC40NXM7XHJcbn1cclxuLmxkcy1yaW5nIGRpdjpudGgtY2hpbGQoMikge1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zcztcclxufVxyXG4ubGRzLXJpbmcgZGl2Om50aC1jaGlsZCgzKSB7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjE1cztcclxufSAqL1xyXG5cclxuQGtleWZyYW1lcyBsZHMtcmluZyB7XHJcbiAgMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICB9XHJcbn1cclxuIl19 */\"","module.exports = \"
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Have a ZSer ID?

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
OR
\\r\\n
\\r\\n

\\r\\n Login\\r\\n Enter Access Code\\r\\n

\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n

{{error}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

For more info, please contact
support@zs.com

\\r\\n
\\r\\n\\r\\n\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AuthService } from '../../shared/auth.service';\r\nimport { LoginService } from './service/login.service';\r\nimport { DataShareService } from 'src/app/shared/data-share.service';\r\nimport { CookieService } from 'src/app/shared/cookie-wrapper.service';\r\nimport { UserType, GAIndex, GAUserType } from 'src/app/shared/enum/enum';\r\nimport { GoogleAnalyticsService } from 'src/app/services/google-analytics.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css'],\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n loginForm: FormGroup;\r\n type = 'guest';\r\n error = '';\r\n showForm = false;\r\n isLoading = false;\r\n public loginType = 'custom';\r\n public unsubscribeActivatedRoute = null;\r\n public ssoSupported = environment.ssoSupported;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private _authService: AuthService,\r\n private _dataShareService: DataShareService,\r\n private _cookieService: CookieService,\r\n private _router: Router,\r\n private _loginService: LoginService,\r\n private _activatedRoute: ActivatedRoute,\r\n private _gaService: GoogleAnalyticsService\r\n ) {\r\n this.unsubscribeActivatedRoute = this._activatedRoute.data.subscribe(d => {\r\n this.type = d.role;\r\n });\r\n this._activatedRoute.queryParams.subscribe(params => {\r\n // console.log(params);\r\n if (params.TID) {\r\n this.getSSOUserDetails(params.TID);\r\n } if (params.src && params.src === 'enNwYWNl') {\r\n // window.atob('enNwYWNl') === 'zspace'\r\n this.onSSOLogin();\r\n }\r\n });\r\n this.loginForm = formBuilder.group({\r\n uname: ['', Validators.nullValidator],\r\n passcode: ['', Validators.required],\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n // Redirect logged In user Home page.\r\n if (this._authService.getUser()) {\r\n this._router.navigate(['gallery']);\r\n }\r\n this._dataShareService.onLoginFormLink.subscribe(type => {\r\n this.error = '';\r\n this.loginForm.reset();\r\n this.type = type;\r\n this.showForm = true;\r\n this.isLoading = false;\r\n });\r\n // this._dataShareService.onUserLogout.subscribe((data) => {\r\n // this.logoutUser(data);\r\n // });\r\n }\r\n\r\n onUserLogin(loginButton) {\r\n this.error = '';\r\n this.loginType = 'custom';\r\n if (this.loginForm.invalid) {\r\n if (this.type === 'admin') {\r\n this.error = 'Please enter Username and Password.';\r\n } else {\r\n this.error = 'Please enter Access Code.';\r\n }\r\n return false;\r\n }\r\n loginButton.disabled = true;\r\n this.isLoading = true;\r\n this._dataShareService.updateCustomEvent({ event: 'togglePrimaryLoader', data: true });\r\n this._loginService.login(this.loginForm.value.uname, this.loginForm.value.passcode, this.type, this.loginType)\r\n .subscribe((data: any) => {\r\n this._dataShareService.updateCustomEvent({ event: 'togglePrimaryLoader', data: false });\r\n this.isLoading = false;\r\n loginButton.disabled = false;\r\n this._authService.setUser({\r\n id: data.data.userDetails.userId,\r\n emailId: data.data.userDetails.emailId,\r\n name: data.data.userDetails.name,\r\n isAdmin: (data.data.userDetails.role === 'admin'),\r\n type: (data.data.userDetails.role === 'admin') ? UserType.ADMIN : UserType.NON_ZS,\r\n userType: data.data.userDetails.type,\r\n token: data.data.token,\r\n data: data.data.userDetails,\r\n _s: data.data._s\r\n });\r\n // tslint:disable-next-line: max-line-length\r\n this._gaService.triggerEvent('Login', 'Login', 'User Login');\r\n // this._cookieService.setCloudFrontCookie(data.data._s);\r\n this._router.navigate(['gallery']);\r\n }, (err) => {\r\n this._dataShareService.updateCustomEvent({ event: 'togglePrimaryLoader', data: false });\r\n console.log(err);\r\n this.isLoading = false;\r\n loginButton.disabled = false;\r\n this.error = err.error.message;\r\n });\r\n }\r\n public onSSOLogin() {\r\n\r\n if(!this.ssoSupported) {\r\n this.error = 'Not supported on this env';\r\n return;\r\n }\r\n this._dataShareService.updateCustomEvent({ event: 'togglePrimaryLoader', data: true });\r\n this._loginService.initiateSAMLLogin().subscribe(res => {\r\n window.location.href = res.headers.get('x-redirect');\r\n }, (err) => {\r\n console.log(err);\r\n this.error = err.error.message;\r\n this._dataShareService.updateCustomEvent({ event: 'togglePrimaryLoader', data: false });\r\n });\r\n }\r\n\r\n public getSSOUserDetails(tID) {\r\n this._dataShareService.updateCustomEvent({ event: 'togglePrimaryLoader', data: true });\r\n this.loginType = 'sso';\r\n this._loginService.login('', tID, this.type, this.loginType).subscribe((data: any) => {\r\n this._dataShareService.updateCustomEvent({ event: 'togglePrimaryLoader', data: false });\r\n this.isLoading = false;\r\n this._authService.setUser({\r\n id: data.data.userDetails.userId || 1,\r\n emailId: data.data.userDetails.emailId,\r\n name: data.data.userDetails.name || data.data.userDetails.displayName,\r\n isAdmin: (data.data.userDetails.role === 'admin'),\r\n type: UserType.ZS,\r\n userType: data.data.userDetails.type,\r\n token: data.data.token,\r\n data: data.data.userDetails,\r\n _s: data.data._s\r\n });\r\n this._gaService.triggerEvent('Login', 'Login', 'User Login');\r\n // this._cookieService.setCloudFrontCookie(data.data._s);\r\n this._router.navigate(['gallery']);\r\n\r\n }, (err) => {\r\n console.log(err);\r\n this._dataShareService.updateCustomEvent({ event: 'togglePrimaryLoader', data: false });\r\n this.isLoading = false;\r\n this.error = err.error.message;\r\n });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpWrapperService } from '../../../services/http-wrapper.service';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\n@Injectable()\r\nexport class LoginService {\r\n\r\n constructor(private _http: HttpWrapperService) { }\r\n\r\n login(requesterName, accessCode, role: string, loginType: string): Observable {\r\n let request: any = {\r\n requesterName: requesterName || '',\r\n accessCode,\r\n role,\r\n accessTime: (new Date()).getTime(),\r\n loginType\r\n };\r\n if (loginType === 'sso') {\r\n request = {\r\n loginType,\r\n tid: accessCode,\r\n accessTime: (new Date()).getTime()\r\n };\r\n }\r\n return this._http.post(environment.api_url + '/auth/login', request);\r\n // return this._http.post('https://zwnfqn0pfk.execute-api.us-east-1.amazonaws.com/prod/auth/testsaml', request);\r\n }\r\n\r\n logout(userId): Observable {\r\n const request = {\r\n userId: userId,\r\n logoutTime: (new Date()).getTime()\r\n };\r\n return this._http.post(environment.api_url + '/auth/logout', request);\r\n }\r\n\r\n initiateSAMLLogin() {\r\n return this._http.get(`https://aigallery-api.demo.zsservices.com/prod/auth/saml`, {observe: 'response'});\r\n // return this._http.get(`${environment.api_url}/auth/saml`);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, Input, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { FormControl } from '@angular/forms';\r\nimport { WidgetService } from '../widgets/widgets.service';\r\n\r\n\r\n// import { NlpTextHighlighterService } from '../widgets/nlp-text-highlighter/nlp-text-highlighter.service';\r\n\r\n\r\n@Component({\r\n selector: 'dynamic-control',\r\n templateUrl: './dynamic-form.component.html'\r\n})\r\nexport class DynamicFormComponent implements OnInit, OnDestroy {\r\n @Input() input;\r\n @Input() form: FormGroup;\r\n @Input() widgetType;\r\n\r\n hidden: boolean;\r\n subscription: Subscription;\r\n id: string;\r\n\r\n constructor(private widgetService: WidgetService) { }\r\n\r\n ngOnInit() {\r\n this.form = new FormGroup({\r\n filterField: new FormControl('')\r\n });\r\n function uuidv4() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\r\n const r = Math.random() * 16 | 0;\r\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n this.id = uuidv4();\r\n this.setUpConditions();\r\n }\r\n\r\n setUpConditions() {\r\n const relatedControl = this.form.get('filterField');\r\n if (!relatedControl) {\r\n return;\r\n }\r\n this.subscription = relatedControl.valueChanges.subscribe(x => {\r\n setTimeout(() => {\r\n // console.log( this.form.value )\r\n this.widgetService.dataChange({\r\n formField: this.form.value,\r\n widgetType: this.widgetType,\r\n inputDetails: this.input\r\n });\r\n });\r\n });\r\n\r\n if (this.input.selectByDefault && this.input.type === 'dropdown' && this.input.interactionData.length) {\r\n if (this.input.allowMultiSelect) {\r\n const selectValueCount = this.input.selectValueCount || 1;\r\n this.form.get('filterField').patchValue([...this.input.interactionData.slice(0, selectValueCount)]);\r\n } else {\r\n this.form.get('filterField').patchValue(this.input.interactionData[0]);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\nimport { DynamicFormComponent } from './dynamic-form.component';\r\n\r\nimport { DynamicFormService } from './services/dynamic-form.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n NgSelectModule,\r\n FormsModule\r\n ],\r\n declarations: [\r\n DynamicFormComponent\r\n ],\r\n providers: [DynamicFormService],\r\n exports: [\r\n DynamicFormComponent,\r\n ReactiveFormsModule,\r\n NgSelectModule\r\n ]\r\n})\r\nexport class DynamicFormModule { }","import { Injectable } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { BaseModel } from '../models/base.model';\r\n\r\n@Injectable()\r\nexport class DynamicFormService {\r\n constructor() { }\r\n\r\n toFormGroup(controls: BaseModel[] ) {\r\n let group: any = {};\r\n\r\n controls.forEach(control => {\r\n \t// console.log(\"In Form service:-------\");\r\n \t// console.log(\"control\", control);\r\n group[control.uniqueIdentity] = control.required ? new FormControl(control.value || '', Validators.required)\r\n : new FormControl(control.value || '');\r\n });\r\n // console.log(\"group----->\", group);\r\n return new FormGroup(group);\r\n }\r\n}","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2dhbGxlcnkvY29uZmlybWF0aW9uLW92ZXJsYXkvY29uZmlybWF0aW9uLW92ZXJsYXkuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n
\\r\\n

{{ data.title }}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ data.message }}

\\r\\n
\\r\\n \"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatSnackBar } from '@angular/material';\r\nimport { GalleryService } from '../gallery.service';\r\nimport { GoogleAnalyticsService } from 'src/app/services/google-analytics.service';\r\nimport { GAIndex } from 'src/app/shared/enum/enum';\r\n\r\n@Component({\r\n selector: 'app-confirmation-overlay',\r\n templateUrl: './confirmation-overlay.component.html',\r\n styleUrls: ['./confirmation-overlay.component.css'],\r\n providers: [GalleryService]\r\n})\r\nexport class ConfirmationOverlayComponent implements OnInit{\r\n \r\n public isLoading = false;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialogRef: MatDialogRef,\r\n public gallaryService: GalleryService) {\r\n \r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n \r\n onOK() {\r\n this.dialogRef.close(true); \r\n }\r\n\r\n onCancel() {\r\n this.dialogRef.close(false); \r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
All
\\r\\n
\\r\\n \\r\\n drag_indicator\\r\\n {{ category.name }}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n 0 && !story.isHidden && !story.noStories)\\\" \\r\\n [class.noDataFound]=\\\"story === -1\\\"\\r\\n [class.recent-tile]=\\\"!isQuickSettingsActive && story.type === 'story' && story.isNew\\\" \\r\\n [class.tile-group]=\\\"story.isGroup\\\"\\r\\n [class.hidden]=\\\"story.isGroup && story.isHidden\\\"\\r\\n [ngStyle]=\\\"{'background-color': (story.isGroup ? (story.color || 'bisque') : 'transparent')}\\\"\\r\\n [ngClass]=\\\"[(storyClass || '')]\\\"\\r\\n [colspan]=\\\"story.cols\\\" \\r\\n [rowspan]=\\\"story.rows\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ story.name }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
No story list\\r\\n found
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n We are so sorry, but we designed this site for desktop rather than small screens/mobile viewing.
Please come\\r\\n back on a desktop (or a screen at least 1280 by 700 pixels in size)!\\r\\n

\\r\\n …or go ahead anyway.\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n New\\r\\n
\\r\\n
\\r\\n
\\r\\n Coming Soon\\r\\n
\\r\\n {{story.category}}\\r\\n
\\r\\n

\\r\\n
\\r\\n {{story.displayTitle.line1}}\\r\\n {{story.displayTitle.line2}}\\r\\n
\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n

{{story.description}}

\\r\\n

\\r\\n
\\r\\n {{story.displayTitle.line1}}\\r\\n {{story.displayTitle.line2}}\\r\\n
\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","\r\n\r\nimport { Component, OnInit, Renderer2, OnDestroy, ViewChild, ElementRef, HostListener } from '@angular/core';\r\nimport { GalleryService } from '../gallery.service';\r\nimport { Router, Params, ActivatedRoute } from '@angular/router';\r\nimport { GoogleAnalyticsService } from 'src/app/services/google-analytics.service';\r\nimport { MatDialog, MatSnackBar } from '@angular/material';\r\nimport { VisitReasonOverlayComponent } from '../visit-reason-overlay/visit-reason-overlay.component';\r\nimport { AuthService } from 'src/app/shared/auth.service';\r\nimport { UserType } from 'src/app/shared/enum/enum';\r\nimport _ from 'lodash';\r\nimport { TabSettingsOverlayComponent } from '../tab-settings-overlay/tab-settings-overlay.component';\r\nimport { TileSettingsOverlayComponent } from '../tile-settings-overlay/tile-settings-overlay.component';\r\nimport { GroupSettingsOverlayComponent } from '../group-settings-overlay/group-settings-overlay.component';\r\nimport { CdkDragDrop, CdkDragMove, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { forkJoin, Subscription } from 'rxjs';\r\nimport { ConfirmationOverlayComponent } from '../confirmation-overlay/confirmation-overlay.component';\r\nimport { DataShareService } from 'src/app/shared/data-share.service';\r\n\r\n\r\n@Component({\r\n\tselector: 'app-gallery-list',\r\n\ttemplateUrl: './gallery-list.component.html'\r\n})\r\nexport class GalleryListComponent implements OnInit, OnDestroy {\r\n\r\n\tpublic storyList;\r\n\tpublic filerString;\r\n\tpublic categoryList;\r\n\tpublic originalStoryList;\r\n\tpublic selectedCategory;\r\n\tpublic isDataLoading = true;\r\n\tpublic categoryFilerString;\r\n\tpublic visitReasonOverlay = null;\r\n\r\n\t// new\r\n\tpublic storyClass = '';\r\n\tpublic isInteractive = false;\r\n\tprivate _unsubscribeResize;\r\n\tpublic currentDate = (new Date()).getTime();\r\n\r\n\t// user-details\r\n\tisAdmin = false;\r\n\r\n\t// tile config\r\n\tpublic isQuickSettingsActive = false;\r\n\tpublic categoryListNew;\r\n\tpublic updatedTiles = {\r\n\t\tgroupIds: [],\r\n\t\tstoryIds: []\r\n\t}\r\n\r\n\tpublic changeDetected = false;\r\n\r\n\tprivate _closeOverlay: {\r\n\t\tcloseTileSetting: Function,\r\n\t\tcloseCategorySettings: Function,\r\n\t\tcloseGroupSettings: Function\r\n\t} = {\r\n\t\t\tcloseTileSetting: null,\r\n\t\t\tcloseCategorySettings: null,\r\n\t\t\tcloseGroupSettings: null\r\n\t\t};\r\n\tprivate _unsubscribeObservables: {\r\n\t\tonGetCategoryList: Subscription,\r\n\t\tonCreateCategory: Subscription,\r\n\t\tonDeleteCategory: Subscription,\r\n\t\tonUpdateCategory: Subscription,\r\n\t\tonCreateGroup: Subscription,\r\n\t\tonUpdateSettings: Subscription\r\n\t} = {\r\n\t\t\tonGetCategoryList: null,\r\n\t\t\tonCreateCategory: null,\r\n\t\t\tonDeleteCategory: null,\r\n\t\t\tonUpdateCategory: null,\r\n\t\t\tonCreateGroup: null,\r\n\t\t\tonUpdateSettings: null\r\n\t\t}\r\n\tpublic redirectFlag = true;\r\n\tpublic windowObj:any;\r\n\tpublic isEditMode = false;\r\n\t@HostListener('window:beforeunload', ['$event']) unloadHandler(event: Event) {\r\n\t\tif (this.changeDetected) {\r\n\t\t\tevent.returnValue = true;\r\n\t\t }\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate galleryService: GalleryService,\r\n\t\tprivate route: ActivatedRoute,\r\n\t\tprivate router: Router,\r\n\t\tprivate dataShareService: DataShareService,\r\n\t\tprivate _gaService: GoogleAnalyticsService,\r\n\t\tprivate dialog: MatDialog,\r\n\t\tprivate _authService: AuthService,\r\n\t\tprivate _renderer: Renderer2,\r\n\t\tprivate _snackBar: MatSnackBar\r\n\t) {\r\n\t\t// this.getCategoryList(); // TODO: Remove post data refresh from backend\r\n\t\t// this.galleryService.getTileList().subscribe(res => {\r\n\t\t// \tconsole.log(res);\r\n\t\t// })\r\n\t\tlet isOverlayDisplayed = false;\r\n\t\tconst unSubscribUserInfo = this._authService.onUserInfoUpate.subscribe((data) => {\r\n\t\t\t// this.isAdmin = data.isAdmin;\r\n\t\t\tconst _purpose = localStorage.getItem('purpose');\r\n\t\t\tif (!_purpose && !isOverlayDisplayed && data && data.type === UserType.ZS) {\r\n\t\t\t\tisOverlayDisplayed = true;\r\n\t\t\t\tthis.visitReasonOverlay = this.OpenVisitReasonOverlay(data);\r\n\t\t\t}\r\n\t\t\tif (unSubscribUserInfo) {\r\n\t\t\t\tunSubscribUserInfo.unsubscribe();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\t// existing\r\n\t\tif (this.galleryService.getDataSetStatus()) {\r\n\t\t\tthis.isDataLoading = false;\r\n\t\t\tthis.categoryList = this.galleryService.getCategoryList();\r\n\t\t\t// this.categoryList = [...this.categoryList, ...this.categoryList];\r\n\t\t\tthis.subscribeToParamsChange();\r\n\t\t} else {\r\n\t\t\tthis.isDataLoading = true;\r\n\t\t\tthis.galleryService.storiesChanged\r\n\t\t\t\t.subscribe(\r\n\t\t\t\t\t(stories) => {\r\n\t\t\t\t\t\t// console.log(this.route.snapshot.queryParams)\r\n\t\t\t\t\t\tthis.subscribeToParamsChange();\r\n\t\t\t\t\t\tconst queryParams = this.route.snapshot.queryParams;\r\n\t\t\t\t\t\tthis.isDataLoading = false;\r\n\t\t\t\t\t\tthis.categoryList = this.galleryService.getCategoryList();\r\n\t\t\t\t\t\t// this.categoryList = [...this.categoryList, ...this.categoryList];\r\n\t\t\t\t\t\tif (queryParams && queryParams.category) {\r\n\t\t\t\t\t\t\t// updated\r\n\t\t\t\t\t\t\tthis.storyList = this.galleryService.parseStoryList(this.galleryService.getStoryListByCategory(queryParams), window.innerWidth, false, true, this.isQuickSettingsActive);\r\n\t\t\t\t\t\t\tthis.storyClass = this.galleryService.getClassName();\r\n\t\t\t\t\t\t\tthis.originalStoryList = this.storyList.slice();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// updated\r\n\t\t\t\t\t\t\tthis.storyList = this.galleryService.parseStoryList(this.galleryService.getStoryListFromLocal(), window.innerWidth, false, true, this.isQuickSettingsActive);\r\n\t\t\t\t\t\t\tthis.storyClass = this.galleryService.getClassName();\r\n\t\t\t\t\t\t\tthis.originalStoryList = this.storyList.slice();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t\t// console.log(this.route.snapshot.queryParams);\r\n\t\t// console.log(this.route.snapshot.fragment);\r\n\t\t// console.log(this.storyList)\r\n\r\n\t\t// new\r\n\t\tthis._unsubscribeResize = this._renderer.listen(window, 'resize', _.debounce(() => {\r\n\t\t\tconst layoutValueUpdated = this.galleryService.updateGalleryLayout(window.innerWidth);\r\n\t\t\tif (layoutValueUpdated) {\r\n\t\t\t\t// this.storyList = this.galleryService.parseStoryList(this.galleryService.getStoryListFromLocal(), window.innerWidth, false, false);\r\n\t\t\t\t// this.storyClass = this.galleryService.getClassName();\r\n\t\t\t\t// this.originalStoryList = this.storyList.slice();\r\n\t\t\t\t// this.onFilterStoryList();\r\n\t\t\t\tthis.onCategorySelect(this.selectedCategory, this.isInteractive);\r\n\t\t\t}\r\n\t\t}, 700));\r\n\r\n\t\tthis._unsubscribeObservables.onUpdateSettings = this.dataShareService.onCustomDashboardEvent.subscribe(res => {\r\n\t\t\tswitch (res.event) {\r\n\t\t\t\tcase 'enableSettings':\r\n\t\t\t\t\tthis.enableQuickSettings();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'saveSettings':\r\n\t\t\t\t\tthis.saveSettings();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'cancelSettings':\r\n\t\t\t\t\tthis.cancelChanges();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tonStoryClick(story) {\r\n\t\t// TODO:SPM\r\n\t\t// console.log(story.url);\r\n\t\tif (story.isNotAvailable && story.url !== 'appian_low_code_automation') {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (story.viewType === 'business') {\r\n\t\t\tthis.router.navigate(['story', story.url], { relativeTo: this.route });\r\n\t\t} else {\r\n\t\t\tthis.router.navigate(['story', story.url], { relativeTo: this.route });\r\n\t\t}\r\n\t}\r\n\r\n\t// onFilterStoryList() {\r\n\t// // console.log(this.selectedCategory);\r\n\t// let filteredStories: any[];\r\n\t// if (!this.selectedCategory) {\r\n\t// this.storyList = this.galleryService.parseStoryList(this.originalStoryList.slice(), window.innerWidth, false, false);\r\n\t// } else if (this.selectedCategory.toLowerCase() === 'all') {\r\n\t// this.storyList = this.galleryService.parseStoryList(this.originalStoryList.slice(), window.innerWidth, false, false);\r\n\t// } else {\r\n\t// filteredStories = this.originalStoryList.filter((story) =>\r\n\t// ((story.category.toLowerCase() === this.selectedCategory.toLowerCase())));\r\n\t// this.storyList = this.galleryService.parseStoryList(filteredStories, window.innerWidth, true, false);\r\n\t// }\r\n\t// this.storyClass = this.galleryService.getClassName();\r\n\t// }\r\n\r\n\tclearFilterSelected() {\r\n\t\tthis.selectedCategory = 'All';\r\n\t\tthis.isInteractive = false;\r\n\t\t// this.storyList = this.galleryService.parseStoryList(this.originalStoryList.slice(), window.innerWidth, false, false);\r\n\t\tthis.filerString = '';\r\n\t\tthis.onCategorySelect(this.selectedCategory, this.isInteractive);\r\n\t}\r\n\r\n\t// existing functions\r\n\tsubscribeToParamsChange() {\r\n\t\tthis.route.queryParams\r\n\t\t\t.subscribe(\r\n\t\t\t\t(queryParams: Params) => {\r\n\t\t\t\t\tif (queryParams && queryParams.category) {\r\n\t\t\t\t\t\tthis.storyList = this.galleryService.parseStoryList(this.galleryService.getStoryListByCategory(queryParams), window.innerWidth, false, false);\r\n\t\t\t\t\t\tthis.originalStoryList = this.storyList.slice();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.storyList = this.galleryService.parseStoryList(this.galleryService.getStoryListFromLocal(), window.innerWidth, false, false);\r\n\t\t\t\t\t\tthis.originalStoryList = this.storyList.slice();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.storyClass = this.galleryService.getClassName();\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t}\r\n\r\n\tonClickRedirect(story) {\r\n\t\t// TODO:SPM change in json\r\n\t\tif (story.url === 'field_coaching') {\r\n\t\t\tthis.router.navigate(['story-telling-page', story.url], { relativeTo: this.route });\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (story.url === 'virtual_rep_trainer') {\r\n\t\t\tthis.router.navigate(['story-telling-page', story.url], { relativeTo: this.route });\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t/* if(story.url === 'intelligentTrial_data_DQM'){\r\n\t\t\t\tthis.router.navigate(['story-telling-page', story.url], {relativeTo: this.route});\r\n\t\t\t\treturn;\r\n\t\t} */\r\n\t\tif(story.url === 'atlas-intelligence-kraft') {\r\n\t\t\tthis.router.navigate(['story-telling-page', story.url], {relativeTo: this.route});\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// TODO:SPM change in json\r\n\t\tif (story.isNotAvailable) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._gaService.triggerEvent('View', 'Usecase', story.title);\r\n\t\tif (story.viewType === 'business') {\r\n\t\t\tthis.router.navigate(['story-telling-page', story.url], { relativeTo: this.route });\r\n\t\t} else if (story.viewType == 'business_application') {\r\n\t\t\tlet that = this;\r\n\t\t\tthis.isDataLoading = true;\r\n\r\n\t\t\t// this.windowObj = window.open(\"https://www.google.com\");\r\n\t\t\t// this.timer = setInterval(that.checkChild, 500);\r\n\t\t\tthis.galleryService.getRedirectUrl(story.endpoint).subscribe(\r\n\t\t\t\t(res:any) => {\r\n\t\t\t\t\tif (res.data.url) {\r\n\t\t\t\t\t\tthis.isDataLoading = false;\r\n\t\t\t\t\t\tthis.windowObj = window.open(res.data.url);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.router.navigate(['story-page', story.url], { relativeTo: this.route });\r\n\t\t}\r\n\t\t// window.location.reload();\r\n\t}\r\n\r\n\t// checkChild = ()=> {\r\n\t// \tif (this.windowObj.closed) {\r\n\t// \t\tclearInterval(this.timerObj);\r\n\t// \t}\r\n\t// }\r\n\t\r\n\r\n\tonCategorySelect($event, isInteractive = false) {\r\n\t\tif (this.isQuickSettingsActive) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.categoryFilerString = $event;\r\n\t\tthis.isInteractive = isInteractive;\r\n\t\tthis.selectedCategory = $event;\r\n\t\tif (isInteractive) {\r\n\t\t\tthis._gaService.triggerEvent('Click', 'Tab Filters', 'Interactive');\r\n\t\t\tconst filteredStories = this.originalStoryList.filter((story) => story.isInteractive);\r\n\t\t\tthis.storyList = this.galleryService.parseStoryList(filteredStories, window.innerWidth, true, false);\r\n\t\t} else if ($event) {\r\n\t\t\t// tslint:disable-next-line: max-line-length\r\n\t\t\tthis._gaService.triggerEvent('Click', 'Tab Filters', $event);\r\n\t\t\t// const filteredStories = this.originalStoryList.filter((story) => ((story.category.toLowerCase() === $event.toLowerCase() ? true : false)));\r\n\t\t\tlet filteredStories = this.originalStoryList\r\n\t\t\t.filter((tile) => {\r\n\t\t\t\tif (tile.type == 'story' && (this.isQuickSettingsActive || !tile.isHidden)) {\r\n\t\t\t\t\treturn (tile.categoryId.toLowerCase() === $event.toLowerCase() ? true : false)\r\n\t\t\t\t} else if (tile.type == 'group' && (this.isQuickSettingsActive || !tile.isHidden)) {\r\n\t\t\t\t\tlet storyList = tile.stories.filter(story => (story.categoryId.toLowerCase() === $event.toLowerCase() && (this.isQuickSettingsActive || !story.isHidden)) ? true : false)\r\n\t\t\t\t\treturn storyList.length ? true : false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tfilteredStories = this.createDeepCopy(filteredStories)\r\n\t\t\t\t.map(tile => {\r\n\t\t\t\t\tif (tile.type == 'group') {\r\n\t\t\t\t\t\ttile.stories = tile.stories.filter(story => (story.categoryId.toLowerCase() === $event.toLowerCase() ? true : false))\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn tile;\r\n\t\t\t\t});\r\n\t\t\tthis.storyList = this.galleryService.parseStoryList(filteredStories, window.innerWidth, true, false);\r\n\t\t} else {\r\n\t\t\tthis.storyList = this.galleryService.parseStoryList((this.originalStoryList && this.originalStoryList.slice()) || [], window.innerWidth, false, false);\r\n\t\t}\r\n\t\tthis.storyClass = this.galleryService.getClassName();\r\n\t}\r\n\r\n\tcreateDeepCopy(object) {\r\n\t\treturn object ? JSON.parse(JSON.stringify(object)) : object;\r\n\t}\r\n\r\n\tpublic onSearchFocusOut() {\r\n\t\tthis._gaService.triggerEvent('Search', 'Wildcard Search', this.filerString);\r\n\t}\r\n\r\n\tpublic OpenVisitReasonOverlay(userInfo) {\r\n\t\tconst dialogRef = this.dialog.open(VisitReasonOverlayComponent, {\r\n\t\t\tdisableClose: true,\r\n\t\t\twidth: '600px',\r\n\t\t\tpanelClass: 'visit-reason-overlay',\r\n\t\t\tdata: { userInfo }\r\n\t\t});\r\n\t\t// const cdkOverlayContainer = document.getElementsByClassName('cdk-overlay-container');\r\n\t\t// const className = 'promo-video-popup';\r\n\r\n\t\tdialogRef.afterClosed().subscribe((data) => {\r\n\t\t\t// console.log(data)\r\n\t\t\tif (data) {\r\n\t\t\t\tlocalStorage.setItem('purpose', window.btoa(JSON.stringify(data)));\r\n\t\t\t}\r\n\t\t\t// this.renderer.addClass(cdkOverlayContainer[0], className);\r\n\t\t});\r\n\r\n\t\tdialogRef.afterOpened().subscribe(() => {\r\n\t\t\t// this.renderer.removeClass(cdkOverlayContainer[0], className);\r\n\t\t});\r\n\t\treturn function () {\r\n\t\t\tdialogRef.close();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate backupStoryList = [];\r\n\tprivate backupCategoryList = [];\r\n\r\n\tgetBackupStoryList() {\r\n\t\tthis.backupStoryList = (JSON.parse(JSON.stringify(this.galleryService.getStoryListFromLocal())) as Array);\r\n\t\tthis.backupCategoryList = (JSON.parse(JSON.stringify(this.galleryService.getCategoryList())) as Array).map((e, i) => {\r\n\t\t\treturn {\r\n\t\t\t\tcategoryId: e.categoryId,\r\n\t\t\t\tsequenceId: i\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tupdateStoryCategories(stories, key: 'storyList' | 'backupStoryList') {\r\n\t\tconst list = this.galleryService.getCategoryList();\r\n\t\tstories.forEach(story => {\r\n\t\t\tif (story.groupId === null) {\r\n\t\t\t\tconst oldStory = this[key].find(e => e.type === 'story' && e.id === story.storyId);\r\n\t\t\t\tconst cat = list.find(e => e.categoryId === story.categoryId);\r\n\t\t\t\toldStory.categoryId = story.categoryId\r\n\t\t\t\toldStory.categoryClass = cat.categoryClass;\r\n\t\t\t\toldStory.category = cat.name;\r\n\t\t\t} else {\r\n\t\t\t\tconst oldStory = this[key].find(e => e.type === 'group' && e.id === story.groupId).stories.find(e => e.id === story.storyId);\r\n\t\t\t\tconst cat = list.find(e => e.categoryId === story.categoryId);\r\n\t\t\t\toldStory.categoryId = story.categoryId\r\n\t\t\t\toldStory.categoryClass = cat.categoryClass;\r\n\t\t\t\toldStory.category = cat.name;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tgetStoriesUnderCategories(category) {\r\n\t\tconst result = [];\r\n\t\tconst isRequestedStory = (story, groupId) => {\r\n\t\t\tif (story.categoryId === category.categoryId) {\r\n\t\t\t\tresult.push({\r\n\t\t\t\t\ttitle: story.title,\r\n\t\t\t\t\tstoryId: story.id,\r\n\t\t\t\t\tcategoryId: category.categoryId,\r\n\t\t\t\t\tgroupId\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.storyList.forEach(tile => {\r\n\t\t\tif (tile.type === 'group') {\r\n\t\t\t\ttile.stories.forEach(story => {\r\n\t\t\t\t\tisRequestedStory(story, story.groupId);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tisRequestedStory(tile, null);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn result;\r\n\t}\r\n\r\n\topenTabSettings($e: MouseEvent, category, isEdit = false) {\r\n\t\t$e.stopPropagation();\r\n\t\tif (this.categoryList.length >= 10) {\r\n\t\t\tthis.showToastMessage('Reached maximum category limit. Please edit/delete existing categories');\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst data: any = {\r\n\t\t\tselected: category || {\r\n\t\t\t\tname: '',\r\n\t\t\t\tcolor: '',\r\n\t\t\t},\r\n\t\t\tlist: this.categoryList,\r\n\t\t\tisEdit: isEdit,\r\n\t\t\tstories: isEdit ? this.getStoriesUnderCategories(category) : []\r\n\t\t}\r\n\t\tconst dialogRef = this.dialog.open(TabSettingsOverlayComponent, {\r\n\t\t\tdata,\r\n\t\t\tdisableClose: true\r\n\t\t});\r\n\t\tdialogRef.afterClosed().subscribe(res => {\r\n\t\t\tif (res) {\r\n\t\t\t\tif (isEdit) {\r\n\t\t\t\t\tthis.galleryService.updateInCategoryList(res.category, res.category.categoryId);\r\n\t\t\t\t\tconst oldCategoryIndex = this.backupCategoryList.findIndex(e => e.categoryId === category.categoryId);\r\n\t\t\t\t\tif (oldCategoryIndex > -1) {\r\n\t\t\t\t\t\tthis.backupCategoryList.splice(oldCategoryIndex, 1, JSON.parse(JSON.stringify(res.category)));\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.updateStoryCategories(res.stories, 'backupStoryList');\r\n\t\t\t\t\tthis.updateStoryCategories(res.stories, 'storyList');\r\n\t\t\t\t\tthis.galleryService.updateLocalStoryList(this.storyList);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.galleryService.addToCategoryList(res.category);\r\n\t\t\t\t\tthis.backupCategoryList.push(res.category);\r\n\t\t\t\t\tthis.galleryService.updateLocalStoryList(this.storyList);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t}\r\n\t\t})\r\n\t\tthis._closeOverlay.closeCategorySettings = function () {\r\n\t\t\tdialogRef.close();\r\n\t\t}\r\n\t}\r\n\r\n\tupdateTileBackup(story, updatedStory, key: 'storyList' | 'backupStoryList') {\r\n\t\tif (story.groupId === null) {\r\n\t\t\tif (updatedStory.groupId === null) {\r\n\t\t\t\t// no group --> no group\r\n\t\t\t\tthis[key][this[key].findIndex(story => story.type === 'story' && story.id === updatedStory.id)] = { ...updatedStory };\r\n\t\t\t} else {\r\n\t\t\t\t// no group --> group\r\n\t\t\t\tupdatedStory.isGrouped = true;\r\n\t\t\t\tconst storyIndex = this[key].findIndex(story => story.type === 'story' && story.id === updatedStory.id);\r\n\t\t\t\tconst groupIndex = this[key].findIndex(story => story.type === 'group' && story.id === updatedStory.groupId);\r\n\t\t\t\tthis[key][groupIndex].stories.push({ ...updatedStory });\r\n\t\t\t\tthis[key].splice(storyIndex, 1);\r\n\t\t\t\tif (key === 'storyList') {\r\n\t\t\t\t\tthis.galleryService.updateLocalStoryList(this[key]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (story.groupId === updatedStory.groupId) {\r\n\t\t\t\t// group --> same group\r\n\t\t\t\tconst groupIndex = this[key].findIndex(story => story.type === 'group' && story.id === updatedStory.groupId);\r\n\t\t\t\tconst storyIndex = this[key][groupIndex].stories.findIndex(story => story.id === updatedStory.id);\r\n\t\t\t\tthis[key][groupIndex].stories[storyIndex] = { ...updatedStory }\r\n\t\t\t} else if (updatedStory.groupId !== null && story.groupId !== updatedStory.groupId) {\r\n\t\t\t\t// group --> another group\r\n\t\t\t\tconst groupIndex = this[key].findIndex(s => s.type === 'group' && s.id === story.groupId);\r\n\t\t\t\tconst storyIndex = this[key][groupIndex].stories.findIndex(s => s.id === story.id);\r\n\t\t\t\tthis[key][groupIndex].stories.splice(storyIndex, 1);\r\n\t\t\t\tconst newGroupIndex = this[key].findIndex(story => story.type === 'group' && story.id === updatedStory.groupId);\r\n\t\t\t\tthis[key][newGroupIndex].stories.push({ ...updatedStory });\r\n\t\t\t\tif (key === 'storyList') {\r\n\t\t\t\t\tthis.galleryService.updateLocalStoryList(this[key]);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t// group --> no group\r\n\t\t\t\tupdatedStory.isGrouped = false;\r\n\t\t\t\tconst groupIndex = this[key].findIndex(s => s.type === 'group' && s.id === story.groupId);\r\n\t\t\t\tconst storyIndex = this[key][groupIndex].stories.findIndex(s => s.id === story.id);\r\n\t\t\t\tthis[key][groupIndex].stories.splice(storyIndex, 1);\r\n\t\t\t\tthis[key].push({ ...updatedStory });\r\n\t\t\t\tif (key === 'storyList') {\r\n\t\t\t\t\tthis.galleryService.updateLocalStoryList(this[key]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\topenTileSettings($e: MouseEvent, story) {\r\n\t\t$e.stopPropagation();\r\n\t\tconst dialogRef = this.dialog.open(TileSettingsOverlayComponent, {\r\n\t\t\tdata: {\r\n\t\t\t\tstory: JSON.parse(JSON.stringify(story)),\r\n\t\t\t\tgroups: this.galleryService.getGroupList(),\r\n\t\t\t\tcategories: this.categoryList,\r\n\t\t\t}\r\n\t\t});\r\n\t\tdialogRef.afterClosed().subscribe(updatedStory => {\r\n\t\t\tif (updatedStory) {\r\n\t\t\t\tthis.updateTileBackup(story, updatedStory, 'backupStoryList');\r\n\t\t\t\tthis.updateTileBackup(story, updatedStory, 'storyList');\r\n\t\t\t\tthis.validateAndDeleteGroup();\r\n\t\t\t\tthis.updateSaveDisable();\r\n\t\t\t\tthis.storyList = [...JSON.parse(JSON.stringify(this.storyList.slice()))];\r\n\t\t\t} else {\r\n\t\t\t\t// handle close\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis._closeOverlay.closeTileSetting = function () {\r\n\t\t\tdialogRef.close();\r\n\t\t}\r\n\t}\r\n\r\n\tfetchStoriesFromGroup(groupId = null) {\r\n\t\tconst self = [];\r\n\t\tconst other = [];\r\n\t\tthis.storyList.forEach(e => {\r\n\t\t\tif (e.type === 'group') {\r\n\t\t\t\tif (e.id === groupId) {\r\n\t\t\t\t\te.stories.forEach(story => {\r\n\t\t\t\t\t\tif (story.isGrouped) {\r\n\t\t\t\t\t\t\tself.push({\r\n\t\t\t\t\t\t\t\tisSelected: true,\r\n\t\t\t\t\t\t\t\tisAvailable: true,\r\n\t\t\t\t\t\t\t\ttitle: story.title,\r\n\t\t\t\t\t\t\t\tid: story.id,\r\n\t\t\t\t\t\t\t\tgroupId: e.id\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tother.push({\r\n\t\t\t\t\t\t\t\tisSelected: false,\r\n\t\t\t\t\t\t\t\tisAvailable: true,\r\n\t\t\t\t\t\t\t\ttitle: story.title,\r\n\t\t\t\t\t\t\t\tid: story.id,\r\n\t\t\t\t\t\t\t\tgroupId: e.id\r\n\t\t\t\t\t\t\t});\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\te.stories.forEach(story => {\r\n\t\t\t\t\t\tother.push({\r\n\t\t\t\t\t\t\tisSelected: false,\r\n\t\t\t\t\t\t\tisAvailable: story.isGrouped ? false : true,\r\n\t\t\t\t\t\t\ttitle: story.title,\r\n\t\t\t\t\t\t\tid: story.id,\r\n\t\t\t\t\t\t\tgroupId: e.id\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tother.push({\r\n\t\t\t\t\tisSelected: false,\r\n\t\t\t\t\tisAvailable: true,\r\n\t\t\t\t\ttitle: e.title,\r\n\t\t\t\t\tid: e.id,\r\n\t\t\t\t\tgroupId: null\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tother.sort((a, b) => a.title.localeCompare(b.title))\r\n\t\treturn {\r\n\t\t\tother: [...other.filter(e => e.isAvailable), ...other.filter(e => !e.isAvailable)],\r\n\t\t\texisting: self\r\n\t\t}\r\n\t}\r\n\r\n\tupdateGroupBackup(data, updatedGroupData, key: 'storyList' | 'backupStoryList') {\r\n\t\tconst setData = () => {\r\n\t\t\tlet backupGroup;\r\n\t\t\tif (updatedGroupData.type !== 'create') {\r\n\t\t\t\tconst backupGroupIndex = this[key].findIndex(e => e.type === 'group' && e.id === data.id);\r\n\t\t\t\tbackupGroup = this[key][backupGroupIndex];\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\tdata: key === 'storyList' ? data : backupGroup\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst refGroup = setData();\r\n\r\n\t\tconst getNewStories = (stories) => {\r\n\t\t\tconst result = [];\r\n\t\t\tstories = stories.map(e => e.storyId);\r\n\t\t\tstories.forEach(e => {\r\n\t\t\t\tconst storyIndex = this[key].findIndex(s => s.type === 'story' && s.id === e);\r\n\t\t\t\tif (storyIndex > -1) {\r\n\t\t\t\t\tthis[key][storyIndex].groupId = updatedGroupData.id;\r\n\t\t\t\t\tthis[key][storyIndex].isGrouped = true;\r\n\t\t\t\t\tresult.push(this[key][storyIndex]);\r\n\t\t\t\t\tthis[key].splice(storyIndex, 1);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn result\r\n\t\t}\r\n\r\n\t\tconst removeStories = (stories, storyKey = 'storyId') => {\r\n\t\t\tstories = stories.map(e => e[storyKey]);\r\n\t\t\tstories.forEach(e => {\r\n\t\t\t\tconst storyIndex = refGroup.data.stories.findIndex(s => s.type === 'story' && s.id === e);\r\n\t\t\t\tif (storyIndex > -1) {\r\n\t\t\t\t\trefGroup.data.stories[storyIndex].groupId = null;\r\n\t\t\t\t\tthis[key].push(refGroup.data.stories[storyIndex]);\r\n\t\t\t\t\trefGroup.data.stories.splice(storyIndex, 1);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tconst transferStories = (stories) => {\r\n\t\t\tconst result = [];\r\n\t\t\tstories.forEach(story => {\r\n\t\t\t\tlet oldGroupIndex, oldStoryIndex;\r\n\t\t\t\toldGroupIndex = this[key].findIndex(g => g.type === 'group' && g.id === story.groupId);\r\n\t\t\t\tif (oldGroupIndex > -1) {\r\n\t\t\t\t\toldStoryIndex = this[key][oldGroupIndex].stories.findIndex(s => s.type === 'story' && s.id === story.storyId);\r\n\t\t\t\t}\r\n\t\t\t\tif ( oldGroupIndex > -1 && oldStoryIndex > -1 ) {\r\n\t\t\t\t\tthis[key][oldGroupIndex].stories[oldStoryIndex].isGrouped = true;\r\n\t\t\t\t\tthis[key][oldGroupIndex].stories[oldStoryIndex].groupId = story.groupId;\r\n\t\t\t\t\tresult.push(this[key][oldGroupIndex].stories[oldStoryIndex]);\r\n\t\t\t\t\tthis[key][oldGroupIndex].stories.splice(oldStoryIndex, 1);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn result;\r\n\t\t}\r\n\r\n\t\tif (updatedGroupData.type === 'create') {\r\n\t\t\tconst obj = {\r\n\t\t\t\tisHidden: updatedGroupData.isHidden,\r\n\t\t\t\tname: updatedGroupData.name,\r\n\t\t\t\tid: updatedGroupData.id,\r\n\t\t\t\tcolor: updatedGroupData.color,\r\n\t\t\t\tstories: [...getNewStories(updatedGroupData.stories.add), ...getNewStories(updatedGroupData.stories.transfer)],\r\n\t\t\t\ttype: 'group',\r\n\t\t\t\tisGroup: true,\r\n\t\t\t\ttags: [\r\n\t\t\t\t\t\"#machine-learning\",\r\n\t\t\t\t\t\"#AI\",\r\n\t\t\t\t\t\"#gnome\",\r\n\t\t\t\t\t\"#nlp\",\r\n\t\t\t\t\t\"#Segmentation\"\r\n\t\t\t\t],\r\n\t\t\t\tcategory: \"AI in Personalization\"\r\n\t\t\t};\r\n\t\t\tthis[key].unshift(obj);\r\n\t\t\tif (key === 'storyList') {\r\n\t\t\t\tthis.galleryService.updateLocalStoryList(this[key].slice());\r\n\t\t\t\tthis.galleryService.addToGroupList({\r\n\t\t\t\t\tname: obj.name,\r\n\t\t\t\t\tid: obj.id,\r\n\t\t\t\t\tcolor: obj.color\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} else if (updatedGroupData.type === 'update') {\r\n\t\t\trefGroup.data.color = updatedGroupData.color;\r\n\t\t\trefGroup.data.name = updatedGroupData.name;\r\n\t\t\trefGroup.data.isHidden = updatedGroupData.isHidden;\r\n\t\t\tremoveStories(updatedGroupData.stories.remove);\r\n\t\t\trefGroup.data.stories = [...refGroup.data.stories, ...getNewStories(updatedGroupData.stories.add), ...transferStories(updatedGroupData.stories.transfer)]\r\n\t\t\tif (key === 'storyList') {\r\n\t\t\t\tthis.galleryService.updateLocalStoryList(this[key].slice());\r\n\t\t\t}\r\n\t\t} else if (updatedGroupData.type === 'delete') {\r\n\t\t\tremoveStories(refGroup.data.stories, 'id');\r\n\t\t\tconst groupIndex = this[key].findIndex(e => e.type === 'group' && e.id === refGroup.data.id);\r\n\t\t\tif (groupIndex > -1) {\r\n\t\t\t\tthis[key].splice(groupIndex, 1);\r\n\t\t\t\tthis.galleryService.removeFromGroupList(refGroup.data.id);\r\n\t\t\t\tif (key === 'storyList') {\r\n\t\t\t\t\tthis.galleryService.updateLocalStoryList(this[key].slice());\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\topenGroupSettings(data) {\r\n\t\tif (!data && this.galleryService.getGroupList().length >= 6) {\r\n\t\t\tthis.showToastMessage('Reached maximum group limit. Please edit/delete existing group');\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst dialogRef = this.dialog.open(GroupSettingsOverlayComponent, {\r\n\t\t\tdata: {\r\n\t\t\t\tgroupData: data,\r\n\t\t\t\tstories: this.fetchStoriesFromGroup(data ? data.id : null),\r\n\t\t\t\tgroupList: this.galleryService.getGroupList()\r\n\t\t\t},\r\n\t\t\tdisableClose: true\r\n\t\t});\r\n\t\tdialogRef.afterClosed().subscribe(updatedGroupData => {\r\n\t\t\tif (updatedGroupData) {\r\n\t\t\t\tthis.updateGroupBackup(data, updatedGroupData, 'backupStoryList');\r\n\t\t\t\tthis.updateGroupBackup(data, updatedGroupData, 'storyList');\r\n\t\t\t\tthis.storyList = [...JSON.parse(JSON.stringify(this.storyList.slice()))];\r\n\t\t\t\tthis.validateAndDeleteGroup();\r\n\t\t\t\tthis.updateSaveDisable();\r\n\t\t\t} else {\r\n\t\t\t\t// handle close\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis._closeOverlay.closeGroupSettings = function () {\r\n\t\t\tdialogRef.close();\r\n\t\t}\r\n\t}\r\n\r\n\tupdateTileGroupEditCount(isGroup: boolean, id: number, isAdd: boolean = true) {\r\n\t\tconst key = isGroup ? 'groupIds' : 'storyIds';\r\n\t\tconst index = this.updatedTiles[key].findIndex(e => e == id);\r\n\t\tif (isAdd) {\r\n\t\t\tindex === -1 && this.updatedTiles[key].push(id);\r\n\t\t} else if (index > -1) {\r\n\t\t\tthis.updatedTiles[key].splice(index, 1);\r\n\t\t}\r\n\t}\r\n\r\n\tdeleteTab($e: MouseEvent, category) {\r\n\t\t$e.stopPropagation();\r\n\t\tif (this.getStoriesUnderCategories(category).length > 0) {\r\n\t\t\tthis.showToastMessage('Please assign different category for each story associated with this category before deleting category.', true, 5000)\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst dialogRef = this.dialog.open(ConfirmationOverlayComponent, {\r\n\t\t\tdata: {\r\n\t\t\t\ttitle: 'Delete Category',\r\n\t\t\t\tmessage: 'Are you sure you want to delete this category?'\r\n\t\t\t},\r\n\t\t\tpanelClass: 'cdk-overlay-pane_modifier',\r\n\t\t\tdisableClose: true\r\n\t\t});\r\n\t\tdialogRef.afterClosed().subscribe(res => {\r\n\t\t\tif (res) {\r\n\t\t\t\tthis.galleryService.deleteCategory({ \"categoryId\": category.categoryId }).subscribe((res: any) => {\r\n\t\t\t\t\tthis.showToastMessage(res.message, false);\r\n\t\t\t\t\tthis.galleryService.removeFromCategoryList(category.categoryId);\r\n\t\t\t\t\tconst oldCategoryIndex = this.backupCategoryList.findIndex(e => e.categoryId === category.categoryId);\r\n\t\t\t\t\tif (oldCategoryIndex > -1) {\r\n\t\t\t\t\t\tthis.backupCategoryList.splice(oldCategoryIndex, 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.galleryService.updateLocalStoryList(this.storyList.slice());\r\n\t\t\t\t}, (err) => {\r\n\t\t\t\t\tthis.showToastMessage(err.error.message);\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tshowToastMessage(message, isError = true, duration = 3000) {\r\n\t\tthis._snackBar.open(message, '', {\r\n\t\t\tduration,\r\n\t\t\tpanelClass: isError ? 'error' : 'success',\r\n\t\t\tverticalPosition: 'top',\r\n\t\t\thorizontalPosition: 'right'\r\n\t\t})\r\n\t}\r\n\r\n\ttoggleQuickOption($e: MouseEvent | null, story, option: 'isInteractive' | 'isHidden' | 'isNew' | 'isGrouped') {\r\n\t\t$e && $e.stopPropagation();\r\n\t\tstory[option] = !story[option];\r\n\t\tthis.updateSaveDisable();\r\n\t\treturn\r\n\t\t// let oldStory;\r\n\t\t// if (story.type === 'story') {\r\n\t\t// \tif (story.groupId !== null) {\r\n\t\t// \t\toldStory = this.backupStoryList.find(e => e.type === 'group' && e.id === story.groupId).stories.find(e => e.id === story.id)\r\n\t\t// \t} else {\r\n\t\t// \t\toldStory = this.backupStoryList.find(e => e.type === 'story' && e.id === story.id);\r\n\t\t// \t}\r\n\t\t// }\r\n\t\t// if (oldStory) {\r\n\t\t// \tlet isChanged = false;\r\n\t\t// \tconst flags = ['isInteractive', 'isHidden', 'isNew', 'isGrouped']\r\n\t\t// \tfor (let i = 0; i < flags.length; i++) {\r\n\t\t// \t\tstory[flags[i]] = story[flags[i]] === undefined ? false : story[flags[i]]\r\n\t\t// \t\tif (oldStory[flags[i]] !== story[flags[i]]) {\r\n\t\t// \t\t\tisChanged = true;\r\n\t\t// \t\t\tthis.updateTileGroupEditCount(false, story.title, true);\r\n\t\t// \t\t\ti += flags.length;\r\n\t\t// \t\t}\r\n\t\t// \t}\r\n\t\t// \t!isChanged && this.updateTileGroupEditCount(false, story.title, false);\r\n\t\t// }\r\n\t}\r\n\r\n\ttoggleQuickOptionGroup($e: MouseEvent | null, group, option: 'isHidden') {\r\n\t\t$e && $e.stopPropagation();\r\n\t\tgroup[option] = !group[option];\r\n\t\tthis.updateSaveDisable();\r\n\t\treturn\r\n\t\tconst oldGroup = this.backupStoryList.find(e => e.type === 'group' && e.id === group.id);\r\n\t\tif (oldGroup) {\r\n\t\t\tlet isChanged = false;\r\n\t\t\tconst flags = ['isHidden'];\r\n\t\t\tfor (let i = 0; i < flags.length; i++) {\r\n\t\t\t\tgroup[flags[i]] = group[flags[i]] === undefined ? false : group[flags[i]]\r\n\t\t\t\tif (oldGroup[flags[i]] !== group[flags[i]]) {\r\n\t\t\t\t\tisChanged = true;\r\n\t\t\t\t\tthis.updateTileGroupEditCount(true, group.id, true);\r\n\t\t\t\t\ti += flags.length;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t!isChanged && this.updateTileGroupEditCount(true, group.id, false);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tgetDifference() {\r\n\t\t// const categoryDifference = this.getCategoryDifference(true);\r\n\t\tconst result = [];\r\n\t\tconst unGrouped = [];\r\n\t\tconst updateTileResult = (tile, newTile) => {\r\n\t\t\tnewTile.isVisible = !newTile.isHidden;\r\n\t\t\ttile.isVisible = !tile.isHidden;\r\n\t\t\tlet counter = 0;\r\n\t\t\tconst obj: any = {\r\n\t\t\t\tid: newTile.id,\r\n\t\t\t\ttype: 'story'\r\n\t\t\t};\r\n\t\t\t['isVisible', 'isInteractive', 'isNew'].forEach(d => {\r\n\t\t\t\tif (newTile[d] !== tile[d]) {\r\n\t\t\t\t\tcounter++;\r\n\t\t\t\t\tobj[d] = newTile[d];\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (counter > 0) {\r\n\t\t\t\tresult.push(obj)\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.backupStoryList.forEach((tile, i) => {\r\n\t\t\tconst newTile = this.storyList.find(e => e.type === tile.type && e.id === tile.id);\r\n\t\t\tif (tile.type === 'group') {\r\n\t\t\t\tif (tile.isHidden !== newTile.isHidden) {\r\n\t\t\t\t\tresult.push({\r\n\t\t\t\t\t\t\"id\": newTile.id,\r\n\t\t\t\t\t\t\"type\": \"group\",\r\n\t\t\t\t\t\t\"isVisible\": !newTile.isHidden\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\ttile.stories.forEach((story, j) => {\r\n\t\t\t\t\tconst newStory = newTile.stories[j];\r\n\t\t\t\t\tupdateTileResult(story, newStory);\r\n\t\t\t\t\tif (!newStory.isGrouped) {\r\n\t\t\t\t\t\tconst ungroupedStoryIndex = result.findIndex(e => e.type === 'story' && e.id === story.id);\r\n\t\t\t\t\t\tif (ungroupedStoryIndex > -1) {\r\n\t\t\t\t\t\t\tresult[ungroupedStoryIndex].groupId = null\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tresult.push({\r\n\t\t\t\t\t\t\t\tid: newTile.id,\r\n\t\t\t\t\t\t\t\ttype: 'story',\r\n\t\t\t\t\t\t\t\tgroupId: null\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tunGrouped.push(JSON.parse(JSON.stringify(newStory)))\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tupdateTileResult(tile, newTile);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn {\r\n\t\t\tupdated: result,\r\n\t\t\tunGrouped,\r\n\t\t\t// categoryDifference\r\n\t\t}\r\n\t}\r\n\r\n\tresetCounter() {\r\n\t\tthis.updatedTiles.groupIds = [];\r\n\t\tthis.updatedTiles.storyIds = [];\r\n\t}\r\n\r\n\tupdateCategorySequence() {\r\n\t\t// const dialogRef = this.dialog.open(ConfirmationOverlayComponent, {\r\n\t\t// \tdata: {\r\n\t\t// \t\ttitle: 'Confirmation',\r\n\t\t// \t\tmessage: 'Do you want to update category sequence?'\r\n\t\t// \t},\r\n\t\t// \tpanelClass: 'cdk-overlay-pane_modifier',\r\n\t\t// \tdisableClose: true\r\n\t\t// \t});\r\n\t\t// \tdialogRef.afterClosed().subscribe(e => {\r\n\t\t// \t\tif (e) {\r\n\t\t\t\t\tthis.updateQuickSettings(true);\r\n\t\t\t// \t}\t\t\r\n\t\t\t// });\r\n\t}\r\n\r\n\tupdateTileQuickSettings() {\r\n\t\t// const dialogRef = this.dialog.open(ConfirmationOverlayComponent, {\r\n\t\t// \tdata: {\r\n\t\t// \t\ttitle: 'Confirmation',\r\n\t\t// \t\tmessage: 'Are you want to save tile changes?'\r\n\t\t// \t},\r\n\t\t// \tpanelClass: 'cdk-overlay-pane_modifier',\r\n\t\t// \tdisableClose: true\r\n\t\t// \t});\r\n\t\t// \tdialogRef.afterClosed().subscribe(e => {\r\n\t\t// \t\tif (e) {\r\n\t\t\t\t\tthis.updateQuickSettings(false);\r\n\t\t\t// \t}\t\t\r\n\t\t\t// });\r\n\t}\r\n\r\n\tresetCategorySequence() {\r\n\t\tconst dialogRef = this.dialog.open(ConfirmationOverlayComponent, {\r\n\t\t\tdata: {\r\n\t\t\t\ttitle: 'Confirmation',\r\n\t\t\t\tmessage: 'Are you sure you want to discard the changes?'\r\n\t\t\t},\r\n\t\t\tpanelClass: 'cdk-overlay-pane_modifier',\r\n\t\t\tdisableClose: true\r\n\t\t\t});\r\n\t\t\tdialogRef.afterClosed().subscribe(e => {\r\n\t\t\t\tif (e) {\r\n\t\t\t\t\tconst res = [];\r\n\t\t\t\t\tthis.backupCategoryList.forEach(e => {\r\n\t\t\t\t\t\tconst index = this.categoryList.findIndex(c => c.categoryId === e.categoryId);\r\n\t\t\t\t\t\tif (index > -1) {\r\n\t\t\t\t\t\t\tres.push(this.categoryList[index])\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.isSequenceUpdated = false;\r\n\t\t\t\t\tthis.categoryList = res;\r\n\t\t\t\t}\t\t\r\n\t\t\t});\r\n\t}\r\n\r\n\tupdateQuickSettings(isCategory) {\r\n\t\tthis.dataShareService.onCustomDashboardEvent.next({\r\n\t\t\tevent: 'toggleLoader',\r\n\t\t\tvalue: true\r\n\t\t});\r\n\t\tconst changes = this.getDifference();\r\n\t\tconst req = [];\r\n\t\tconst fnSwitch = [];\r\n\r\n\t\tif (isCategory) {\r\n\t\t\tif (this.getCategoryDifference()) {\r\n\t\t\t\treq.push(this.galleryService.updateCategorySequence({\r\n\t\t\t\t\t\"sequenceData\": this.categoryList.map((e, i) => {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\tcategoryId: e.categoryId,\r\n\t\t\t\t\t\t\t\tsequenceOrder: i + 1\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t}));\r\n\t\t\t\tfnSwitch.push('updateCategorySequence');\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (changes.updated.length > 0) {\r\n\t\t\t\treq.push(this.galleryService.updateQuickSettings({\r\n\t\t\t\t\t\"configurationId\": null,\r\n\t\t\t\t\t\"data\": changes.updated\r\n\t\t\t\t}));\r\n\t\t\t\tfnSwitch.push('updateQuickSettings');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst ungroupTiles = () => {\r\n\t\t\tif (changes.unGrouped.length > 0) {\r\n\t\t\t\tchanges.unGrouped.forEach(e => {\r\n\t\t\t\t\tconst updatedStory = JSON.parse(JSON.stringify(e));\r\n\t\t\t\t\tupdatedStory.groupId = null;\r\n\t\t\t\t\tthis.updateTileBackup(e, updatedStory, 'backupStoryList');\r\n\t\t\t\t\tthis.updateTileBackup(e, updatedStory, 'storyList');\r\n\t\t\t\t\tfnSwitch.push('ungroupTile');\r\n\t\t\t\t});\r\n\t\t\t\tthis.validateAndDeleteGroup();\r\n\t\t\t\tthis.updateSaveDisable();\r\n\t\t\t} else {\r\n\t\t\t\tthis.dataShareService.onCustomDashboardEvent.next({\r\n\t\t\t\t\tevent: 'toggleQuickSettings',\r\n\t\t\t\t\tvalue: true\r\n\t\t\t\t});\r\n\t\t\t\tthis.dataShareService.onCustomDashboardEvent.next({\r\n\t\t\t\t\tevent: 'toggleSaveDisable',\r\n\t\t\t\t\tvalue: false\r\n\t\t\t\t});\r\n\t\t\t\tthis.changeDetected = false;\r\n\t\t\t\tthis.backupStoryList = JSON.parse(JSON.stringify(this.storyList));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst updateCategorySequence = () => {\r\n\t\t\tthis.galleryService.setAllCategories(JSON.parse(JSON.stringify(this.categoryList)))\r\n\t\t}\r\n\r\n\t\tforkJoin(req).subscribe(res => {\r\n\t\t\tthis.showToastMessage(res[0].message, false);\r\n\t\t\t// this.dataShareService.onCustomDashboardEvent.next({\r\n\t\t\t// \tevent: 'toggleQuickSettings',\r\n\t\t\t// \tvalue: false\r\n\t\t\t// });\r\n\t\t\t// this.dataShareService.updateCustomEvent({ event: 'removeClassToBody', data: 'edited-view' });\r\n\t\t\tres.forEach((e, i) => {\r\n\t\t\tswitch (fnSwitch[i]) {\r\n\t\t\t\tcase 'updateQuickSettings':\r\n\t\t\t\t\tungroupTiles();\r\n\t\t\t\t\tthis.resetCounter();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'updateCategorySequence':\r\n\t\t\t\t\tthis.isSequenceUpdated = false;\r\n\t\t\t\t\tupdateCategorySequence();\r\n\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\t})\r\n\t\t\tthis.validateAndDeleteGroup();\r\n\t\t\t// this.changeDetected = false;\r\n\t\t\t// this.isQuickSettingsActive = false;\r\n\t\t\t// this.dataShareService.onCustomDashboardEvent.next({\r\n\t\t\t// \tevent: 'toggleQuickSettings',\r\n\t\t\t// \tvalue: false\r\n\t\t\t// });\r\n\t\t\t// this.isQuickSettingsActive = false;\r\n\t\t\tthis.dataShareService.onCustomDashboardEvent.next({\r\n\t\t\t\tevent: 'toggleLoader',\r\n\t\t\t\tvalue: false\r\n\t\t\t});\r\n\t\t\tthis.galleryService.updateLocalStoryList(this.storyList.slice());\r\n\t\t}, (err) => {\r\n\t\t\tthis.showToastMessage(\"Somethings went wrong while saving changes.\")\r\n\t\t\tthis.dataShareService.onCustomDashboardEvent.next({\r\n\t\t\t\tevent: 'toggleLoader',\r\n\t\t\t\tvalue: false\r\n\t\t\t});\r\n\t\t})\r\n\t}\r\n\r\n\tresetQuickSettings() {\r\n\t\tconst dialogRef = this.dialog.open(ConfirmationOverlayComponent, {\r\n\t\t\tdata: {\r\n\t\t\t\ttitle: 'Confirmation',\r\n\t\t\t\tmessage: 'Do you want to reset tile changes?'\r\n\t\t\t},\r\n\t\t\tpanelClass: 'cdk-overlay-pane_modifier',\r\n\t\t\tdisableClose: true\r\n\t\t\t});\r\n\t\t\tdialogRef.afterClosed().subscribe(e => {\r\n\t\t\t\tif (e) {\r\n\t\t\t\t\tthis.enableQuickSettings();\r\n\t\t\t\t}\t\t\r\n\t\t\t});\r\n\t}\r\n\r\n\tupdateGroupSettings() {\r\n\r\n\t}\r\n\r\n\tsaveSettings() {\r\n\t\tif (this.isQuickSettingsActive) {\r\n\t\t\t// const dialogRef = this.dialog.open(ConfirmationOverlayComponent, {\r\n\t\t\t// \tdata: {\r\n\t\t\t// \t title: 'Confirmation',\r\n\t\t\t// \t message: 'Do you want to save tile changes?'\r\n\t\t\t// \t},\r\n\t\t\t// \tpanelClass: 'cdk-overlay-pane_modifier',\r\n\t\t\t// \tdisableClose: true\r\n\t\t\t// });\r\n\t\t\t// dialogRef.afterClosed().subscribe(e => {\r\n\t\t\t// \t\tif (e) {\r\n\t\t\t\t\t\tthis.updateQuickSettings(false);\r\n\t\t// \t\t\t}\t\t\r\n\t\t// \t });\r\n\t\t}\r\n\t}\r\n\r\n\tcancelChanges() {\r\n\t\tconst cancel = () => {\r\n\t\t\tthis.isQuickSettingsActive = false;\r\n\t\t\tthis.dataShareService.onCustomDashboardEvent.next({\r\n\t\t\t\tevent: 'toggleQuickSettings',\r\n\t\t\t\tvalue: false\r\n\t\t\t});\r\n\t\t\tthis.dataShareService.onCustomDashboardEvent.next({\r\n\t\t\t\tevent: 'toggleSaveDisable',\r\n\t\t\t\tvalue: false\r\n\t\t\t});\r\n\t\t\tthis.changeDetected = false;\r\n\t\t\tthis.galleryService.updateLocalStoryList(this.backupStoryList.slice());\r\n\t\t\tthis.resetCounter();\r\n\t\t\tthis.dataShareService.updateCustomEvent({ event: 'removeClassToBody', data: 'edited-view' });\r\n\t\t}\r\n\t\tif (this.changeDetected || this.isSequenceUpdated) {\r\n\t\t\tconst dialogRef = this.dialog.open(ConfirmationOverlayComponent, {\r\n\t\t\t\tdata: {\r\n\t\t\t\t title: 'Confirmation',\r\n\t\t\t\t message: 'Do you want to discard unsaved changes?'\r\n\t\t\t\t},\r\n\t\t\t\tpanelClass: 'cdk-overlay-pane_modifier',\r\n\t\t\t\tdisableClose: true\r\n\t\t\t });\r\n\t\t\t dialogRef.afterClosed().subscribe(e => {\r\n\t\t\t\t\tif (e) {\r\n\t\t\t\t\t\tcancel();\r\n\t\t\t\t\t}\t\t\r\n\t\t\t });\r\n\t\t} else {\r\n\t\t\tcancel();\r\n\t\t}\r\n\t}\r\n\r\n\tenableQuickSettings() {\r\n\t\tthis.isEditMode = true;\r\n\t\tthis.dataShareService.updateCustomEvent({ event: 'addClassToBody', data: 'edited-view' });\r\n\t\tthis.isQuickSettingsActive = true;\r\n\t\tthis.dataShareService.onCustomDashboardEvent.next({\r\n\t\t\tevent: 'toggleQuickSettings',\r\n\t\t\tvalue: true\r\n\t\t});\r\n\t\tthis.dataShareService.onCustomDashboardEvent.next({\r\n\t\t\tevent: 'toggleSaveDisable',\r\n\t\t\tvalue: false\r\n\t\t});\r\n\t\tthis.changeDetected = false;\r\n\t\tthis.getBackupStoryList();\r\n\t\tthis.storyList = this.galleryService.parseStoryList(this.galleryService.getStoryListFromLocal(), window.innerWidth, false, true, true);\r\n\t\tthis.categoryFilerString = '';\r\n\t\tthis.onCategorySelect('');\r\n\t}\r\n\r\n\tpublic isSequenceUpdated = false;\r\n\r\n\tgetCategoryDifference(isCount = true) {\r\n\t\tthis.validateAndDeleteGroup();\r\n\t\tlet isUpdated = false;\r\n\t\tthis.backupCategoryList.forEach((e, i) => {\r\n\t\t\tconst newIndex = this.categoryList.findIndex(c => c.categoryId === e.categoryId);\r\n\t\t\tif (i !== newIndex) {\r\n\t\t\t\tisUpdated = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.isSequenceUpdated = isUpdated;\r\n\t\treturn isUpdated\r\n\t}\r\n\t\r\n\tvalidateAndDeleteGroup() {\r\n\t\tconst result = [];\r\n\t\tconst groups = [];\r\n\t\tthis.storyList.forEach(e => {\r\n\t\t\tif (e.type === 'group' && e.stories.length === 0) {\r\n\t\t\t\tresult.push({\r\n\t\t\t\t\t\"groupId\": e.id,\r\n\t\t\t\t\t\"configurationId\": null\r\n\t\t\t\t });\r\n\t\t\t\tgroups.push(e)\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (result.length > 0) {\r\n\t\t\tforkJoin([...result.map(e => {\r\n\t\t\t\treturn this.galleryService.deleteGroup(e);\r\n\t\t\t})]).subscribe((res: any[]) => {\r\n\t\t\t\tresult.forEach((e, i) => {\r\n\t\t\t\t\tthis.updateGroupBackup(groups[i], e, 'backupStoryList');\r\n\t\t\t\t\tthis.updateGroupBackup(groups[i], e, 'storyList');\r\n\t\t\t\t\tthis.galleryService.removeFromGroupList(e.groupId);\r\n\t\t\t\t})\r\n\t\t\t\tthis.updateSaveDisable();\r\n\t\t\t\tthis.backupStoryList = JSON.parse(JSON.stringify(this.storyList));\r\n\t\t\t\t// this.galleryService.updateLocalStoryList(this.storyList.slice());\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tdeleteGroup(selectedGroup) {\r\n\t\tconst payload = {\r\n\t\t \"groupId\": selectedGroup.id,\r\n\t\t \"configurationId\": null\r\n\t\t}\r\n\t\tconst dialogRef = this.dialog.open(ConfirmationOverlayComponent, {\r\n\t\t\tdata: {\r\n\t\t\t title: 'Delete Confirmation',\r\n\t\t\t message: 'Do you want to delete a group?'\r\n\t\t\t},\r\n\t\t\tpanelClass: 'cdk-overlay-pane_modifier',\r\n\t\t\tdisableClose: true\r\n\t\t });\r\n\t\t dialogRef.afterClosed().subscribe(e => {\r\n\t\t\t\tif (e) {\r\n\t\t\t\t\tthis.galleryService.deleteGroup(payload).subscribe((res: any) => {\r\n\t\t\t\t\t\tthis.showToastMessage(res.message, false);\r\n\t\t\t\t\t\tconst obj = { type: 'delete', id: selectedGroup.id}\r\n\t\t\t\t\t\tthis.updateGroupBackup(selectedGroup, obj, 'backupStoryList');\r\n\t\t\t\t\t\tthis.updateGroupBackup(selectedGroup, obj, 'storyList');\r\n\t\t\t\t\t\tthis.galleryService.removeFromGroupList(payload.groupId);\r\n\t\t\t\t\t\tthis.updateSaveDisable();\r\n\t\t\t\t\t}, (err) => {\r\n\t\t\t\t\t\tthis.showToastMessage(err.error.message);\r\n\t\t\t\t\t})\r\n\t\t\t\t}\t\t\r\n\t\t });\r\n\r\n\t }\r\n\r\n\tdrop(event: CdkDragDrop) {\r\n\t\tmoveItemInArray(this.categoryList, event.previousIndex, event.currentIndex);\r\n\t\tthis.updateCategorySaveDisable();\r\n\t\t// this.updateSaveDisable();\r\n\t\t// this.updateScrollLeft(0);\r\n\t}\r\n\r\n\t@ViewChild('categoryContainer') categoryContainer: ElementRef;\r\n\ttimer;\r\n\r\n\tupdateScrollLeft(value) {\r\n\t\tconst wrapper = (this.categoryContainer.nativeElement as HTMLDivElement);\r\n\t\tconst interval = () => {\r\n\t\t\tconst interval = setInterval(() => {\r\n\t\t\t\t// console.log('setInterval', value);\r\n\t\t\t\tif (value > 0) {\r\n\t\t\t\t\twrapper.scrollLeft = wrapper.scrollLeft + value >= wrapper.scrollWidth ? wrapper.scrollWidth : wrapper.scrollLeft + value;\r\n\t\t\t\t} else if (value < 0) {\r\n\t\t\t\t\twrapper.scrollLeft = wrapper.scrollLeft + value <= 0 ? 0 : wrapper.scrollLeft + value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tclearInterval(interval);\r\n\t\t\t\t}\r\n\t\t\t}, 200);\r\n\t\t\treturn interval\r\n\t\t}\r\n\t\tclearInterval(this.timer);\r\n\t\tif (value !== 0) {\r\n\t\t\tthis.timer = interval();\r\n\t\t} else {\r\n\t\t\tclearInterval(this.timer);\r\n\t\t}\r\n\t}\r\n\r\n\tonDrag(e: CdkDragMove | any) {\r\n\t\t// console.log(e.event.clientX)\r\n\t\tif (e.event.clientX >= 450) {\r\n\t\t\tthis.updateScrollLeft(50)\r\n\t\t} else if (e.event.clientX <= 50) {\r\n\t\t\tthis.updateScrollLeft(-50)\r\n\t\t} else {\r\n\t\t\tthis.updateScrollLeft(0);\r\n\t\t}\r\n\t}\r\n\r\n\t// category related\r\n\tupdateCategoryStoryCount() {\r\n\t\tthis.categoryListNew.forEach(category => {\r\n\t\t\tcategory.storyCount = 0;\r\n\t\t\tthis.storyList && this.storyList.forEach(story => {\r\n\t\t\t\tif (story.category === category.name) {\r\n\t\t\t\t\tcategory.storyCount++;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tgetCategoryList() {\r\n\t\tthis._unsubscribeObservables.onGetCategoryList = this.galleryService.getUpdatedCategoryList().subscribe((res: any) => {\r\n\t\t\t// this.showToastMessage(res.message, false);\r\n\t\t\tthis.categoryListNew = res.data;\r\n\t\t\tthis.updateCategoryStoryCount();\r\n\t\t}, (err) => {\r\n\t\t\tthis.showToastMessage(err.error.message);\r\n\t\t})\r\n\t}\r\n\r\n\tcreateCategory(data: { name: string, color: string, sequenceOrder: string, userId: number }) {\r\n\t\tthis._unsubscribeObservables.onCreateCategory = this.galleryService.createCategory(data).subscribe((res: any) => {\r\n\t\t\tthis.showToastMessage(res.message, false);\r\n\t\t}, (err) => {\r\n\t\t\tthis.showToastMessage(err.error.message);\r\n\t\t})\r\n\t}\r\n\r\n\tdeleteCategory(data: { categoryId: number }) {\r\n\t\tthis._unsubscribeObservables.onDeleteCategory = this.galleryService.deleteCategory(data).subscribe((res: any) => {\r\n\t\t\tthis.showToastMessage(res.message, false);\r\n\t\t}, (err) => {\r\n\t\t\tthis.showToastMessage(err.error.message);\r\n\t\t})\r\n\t}\r\n\r\n\tupdateCategory(data: {\r\n\t\tname: string,\r\n\t\tcolor: string,\r\n\t\tcategoryId: number,\r\n\t\tuserId: number,\r\n\t\tstories: { storyId: number, categoryId: number }[]\r\n\t}) {\r\n\t\tthis._unsubscribeObservables.onUpdateCategory = this.galleryService.updateCategory(data).subscribe((res: any) => {\r\n\t\t\tthis.showToastMessage(res.message, false);\r\n\t\t}, (err) => {\r\n\t\t\tthis.showToastMessage(err.error.message);\r\n\r\n\t\t});\r\n\t\t// Stories property can be empty if any of the story mappings has been changed. \r\n\t\t// Stories will have an array of objects only for which category mapping has been changed. \r\n\t\t// Object will have two properties: storyId, categoryId(new Id)\r\n\t}\r\n\r\n\tcreateGroup(data: {\r\n\t\tuserId: number,\r\n\t\tconfigurationId: null,\r\n\t\tname: string,\r\n\t\tcolor: string,\r\n\t\tisVisible: boolean,\r\n\t\tstories: { storyId: number }[]\r\n\t}) {\r\n\t\tthis._unsubscribeObservables.onCreateGroup = this.galleryService.createGroup(data).subscribe((res: any) => {\r\n\t\t\t// console.log(res);\r\n\t\t\tthis.showToastMessage(res.message, false);\r\n\t\t}, (err) => {\r\n\t\t\tthis.showToastMessage(err.error.message);\r\n\t\t})\r\n\t}\r\n\r\n\tupdateSaveDisable() {\r\n\t\tconst output = this.getDifference();\r\n\t\tthis.changeDetected = output.updated.length > 0 || output.unGrouped.length > 0; //|| output.categoryDifference;\r\n\t\tthis.dataShareService.onCustomDashboardEvent.next({\r\n\t\t\tevent: 'toggleSaveDisable',\r\n\t\t\tvalue: this.changeDetected\r\n\t\t});\r\n\t}\r\n\r\n\tupdateCategorySaveDisable() {\r\n\t\tthis.isSequenceUpdated = this.getCategoryDifference(true);\r\n\t}\r\n\r\n\tconfirm() {\r\n\t\treturn {\r\n\t\t isChangeDetected: this.changeDetected\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.dataShareService.updateCustomEvent({ event: 'removeClassToBody', data: 'edited-view' });\r\n\t\tif (this._unsubscribeResize) {\r\n\t\t\tthis._unsubscribeResize();\r\n\t\t}\r\n\t\tif (this.visitReasonOverlay) {\r\n\t\t\tthis.visitReasonOverlay();\r\n\t\t}\r\n\t\tfor (const key in this._closeOverlay) {\r\n\t\t\tif (Object.prototype.hasOwnProperty.call(this._closeOverlay, key)) {\r\n\t\t\t\tif (typeof this._closeOverlay[key] === 'function') {\r\n\t\t\t\t\tthis._closeOverlay[key]();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tfor (const key in this._unsubscribeObservables) {\r\n\t\t\tif (Object.prototype.hasOwnProperty.call(this._unsubscribeObservables, key)) {\r\n\t\t\t\tif (this._unsubscribeObservables[key]) {\r\n\t\t\t\t\tthis._unsubscribeObservables[key].unsubscribe();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n","import * as core from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { GalleryComponent } from './gallery.component';\r\nimport { GalleryListComponent } from './gallery-list/gallery-list.component';\r\nimport { StoryPageComponent } from './story-page/story-page.component';\r\nimport { StoryTellingPageComponent } from './story-telling-page/story-telling-page.component';\r\nimport { AuthGuardService } from '../shared/auth-guard.service';\r\nimport { ConfirmCancelGuard } from './guards/confirm-cancel.guard';\r\n\r\nconst galleryRoutes: Routes = [{\r\n path: 'gallery',\r\n component: GalleryComponent,\r\n children: [\r\n { path: '', component: GalleryListComponent, canDeactivate: [ConfirmCancelGuard] },\r\n { path: 'story-page/:url', component: StoryPageComponent },\r\n { path: 'story-telling-page/:url', component: StoryTellingPageComponent }\r\n ],\r\n canActivate: [AuthGuardService],\r\n canActivateChild: [AuthGuardService]\r\n}\r\n];\r\n\r\n@core.NgModule({\r\n imports: [\r\n RouterModule.forChild(galleryRoutes)\r\n ],\r\n exports: [RouterModule]\r\n\r\n})\r\nexport class GalleryRoutingModule {\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n\\t\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { GalleryService } from './gallery.service';\r\n// import {DomSanitizer} from '@angular/platform-browser';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-gallery',\r\n templateUrl: './gallery.component.html',\r\n providers: [GalleryService]\r\n})\r\nexport class GalleryComponent implements OnInit {\r\n\r\n imageData: any; \r\n constructor(private galleryService: GalleryService) {}\r\n \r\n ngOnInit() {\r\n \t// this.imageData = \"data:image/jpeg;base64,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\";\r\n \t// this.imageData = this._DomSanitizationService.bypassSecurityTrustUrl(this.imageData);\r\n \tthis.galleryService.getStoryList();\t\r\n }\r\n\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { GalleryComponent } from './gallery.component';\r\nimport { GalleryListComponent } from './gallery-list/gallery-list.component';\r\n\r\nimport { StoryPageComponent } from './story-page/story-page.component';\r\nimport { VisulizationComponent } from './story-page/visulization/visulization.component';\r\n\r\nimport { GalleryRoutingModule } from './gallery-routing.module';\r\n\r\nimport { SparatorSplitPipe } from '../pipes/separator-split.pipe';\r\nimport { FilterPipe } from '../pipes/filter.pipe';\r\nimport { ReplacePipe } from '../pipes/replace-space.pipe';\r\nimport { WidgetsModule } from '../widgets/widgets.module';\r\n\r\nimport { DynamicFormModule } from '../dynamic-form/dynamic-form.module';\r\n\r\nimport { VisulizationService } from './services/visulization.service';\r\nimport { ScrollSpyDirective } from '../shared/scroll-spy.directive';\r\nimport { ContainerScrollSpyDirective } from '../shared/container-scroll-spy.directive';\r\nimport { StoryTellingPageComponent } from './story-telling-page/story-telling-page.component';\r\nimport { HorizontalVisualizationComponent } from './story-telling-page/horizontal-visualization/horizontal-visualization.component';\r\nimport { VisitReasonOverlayComponent } from './visit-reason-overlay/visit-reason-overlay.component';\r\nimport { MaterialModule } from '../material/material.module';\r\nimport { GridLoaderComponent } from '../common/components/grid-loader/grid-loader.component';\r\nimport { TabSettingsOverlayComponent } from './tab-settings-overlay/tab-settings-overlay.component';\r\nimport { TileSettingsOverlayComponent } from './tile-settings-overlay/tile-settings-overlay.component';\r\nimport { GroupSettingsOverlayComponent } from './group-settings-overlay/group-settings-overlay.component';\r\nimport { ConfirmationOverlayComponent } from './confirmation-overlay/confirmation-overlay.component';\r\n// import { FullpagescrollDirective } from '../shared/fullpagescroll.directive';\r\n\r\n// import { SharedModule } from '../shared/shared.module';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n GridLoaderComponent,\r\n GalleryComponent,\r\n GalleryListComponent,\r\n StoryPageComponent,\r\n VisulizationComponent,\r\n SparatorSplitPipe,\r\n FilterPipe,\r\n ReplacePipe,\r\n ScrollSpyDirective,\r\n // FullpagescrollDirective,\r\n // ContainerScrollSpyDirective,\r\n StoryTellingPageComponent,\r\n HorizontalVisualizationComponent,\r\n VisitReasonOverlayComponent,\r\n TabSettingsOverlayComponent,\r\n TileSettingsOverlayComponent,\r\n GroupSettingsOverlayComponent,\r\n ConfirmationOverlayComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n GalleryRoutingModule,\r\n WidgetsModule,\r\n DynamicFormModule,\r\n MaterialModule\r\n ],\r\n // exports:[\r\n // \tContainerScrollSpyDirective\r\n // ],\r\n providers: [\r\n VisulizationService\r\n ],\r\n entryComponents: [\r\n VisitReasonOverlayComponent,\r\n TabSettingsOverlayComponent,\r\n TileSettingsOverlayComponent,\r\n GroupSettingsOverlayComponent,\r\n ConfirmationOverlayComponent,\r\n ]\r\n\r\n})\r\nexport class GalleryModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpWrapperService } from '../services/http-wrapper.service';\r\nimport { forkJoin, Subject, timer } from 'rxjs';\r\nimport { LoaderService } from '../services/loader.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { DataShareService } from '../shared/data-share.service';\r\nimport { AuthService } from '../shared/auth.service';\r\n\r\n@Injectable()\r\nexport class GalleryService {\r\n\r\n storiesChanged = new Subject();\r\n private gallery;\r\n private isDataSet = false;\r\n\r\n private colors = [\r\n { id: 1, color: \"#FFEAD5\" },\r\n { id: 2, color: \"#DDEAFF\" },\r\n { id: 3, color: \"#D4F8E7\" },\r\n { id: 4, color: \"#F2E3FF\" },\r\n { id: 5, color: \"#EFEDBC\" },\r\n { id: 6, color: \"#EBE6D6\" },\r\n { id: 7, color: \"#FFE5E5\" },\r\n { id: 8, color: \"#FCE4F7\" },\r\n { id: 9, color: \"#D7F5F5\" },\r\n { id: 10, color: \"#E4F5D7\"},\r\n ]\r\n // { id: 17, color: \"#F7DEDE\" },\r\n // { id: 18, color: \"#DBF1FC\" },\r\n // { id: 19, color: \"#E4EDED\" },\r\n // { id: 110, color: \"#EBE6D6\"},\r\n // { id: 1, color: \"#F0A158\" },\r\n // { id: 2, color: \"#819FE5\" },\r\n // { id: 3, color: \"#73C6C3\" },\r\n // { id: 4, color: \"#AE8DF5\" },\r\n // { id: 5, color: \"#D9AF4E\" },\r\n // { id: 6, color: \"#B2A53D\" },\r\n // { id: 7, color: \"#C7866E\" },\r\n // { id: 8, color: \"#6FA7FC\" },\r\n // { id: 9, color: \"#75CB82\" },\r\n // { id: 10, color: \"#DB8EB2\" }\r\n\r\n public groupColors = [\r\n { id: 1, color: \"#E1CECE\" },\r\n { id: 2, color: \"#D4E1CE\" },\r\n { id: 3, color: \"#CED3E1\" },\r\n { id: 4, color: \"#e9dde7\" },\r\n { id: 5, color: '#EDCED0' },\r\n { id: 6, color: '#DCD1D4' },\r\n ]\r\n\r\n groups = [];\r\n\r\n // tile layout changes starts here\r\n\r\n private _galleryLoadCombination;\r\n private storyClassName: string = null;\r\n private screenWiseLayoutIndex = [\r\n [0], [1], [2]\r\n ];\r\n private storyListDesign =\r\n [\r\n\r\n {\r\n // TODO: below 1440 Screens\r\n className: 'layout-0',\r\n designValue:\r\n // 11\r\n [\r\n { cols: 3, rows: 12 }, //1\r\n { cols: 3, rows: 11 }, //2\r\n { cols: 3, rows: 12 }, //3\r\n { cols: 3, rows: 11 }, //4\r\n { cols: 3, rows: 10 }, //5\r\n { cols: 3, rows: 11 }, //6\r\n { cols: 3, rows: 11 }, //7\r\n { cols: 3, rows: 11 }, //8\r\n { cols: 3, rows: 13 }, //9\r\n { cols: 3, rows: 11 }, //10\r\n { cols: 3, rows: 12 }, //11\r\n { cols: 3, rows: 12 }, //12\r\n ],\r\n },\r\n {\r\n // 1440 and above Screens\r\n className: 'layout-1',\r\n designValue:\r\n // 12\r\n [\r\n { cols: 3, rows: 14 }, //1\r\n { cols: 3, rows: 12 }, //2\r\n { cols: 3, rows: 14 }, //3\r\n { cols: 3, rows: 12 }, //4\r\n { cols: 3, rows: 13 }, //5\r\n { cols: 3, rows: 13 }, //6\r\n { cols: 3, rows: 13 }, //7\r\n { cols: 3, rows: 15 }, //8\r\n { cols: 3, rows: 13 }, //9\r\n { cols: 3, rows: 14 }, //10\r\n { cols: 3, rows: 12 } //11\r\n ]\r\n }, {\r\n // Filter and search\r\n className: 'layout-filter',\r\n designValue:\r\n [\r\n { cols: 3, rows: 13 },\r\n { cols: 3, rows: 14 },\r\n { cols: 3, rows: 15 },\r\n { cols: 3, rows: 15 },\r\n { cols: 3, rows: 14 },\r\n { cols: 3, rows: 15 },\r\n { cols: 3, rows: 15 },\r\n { cols: 3, rows: 15 }\r\n ]\r\n }\r\n ];\r\n private previousScreenWidth = null;\r\n private currentScreenWidth = null;\r\n private widthBreakValue = [1200, 1440];\r\n\r\n // tile layout changes ends here\r\n\r\n constructor(\r\n private _httpWrapper: HttpWrapperService, \r\n private dataShareService: DataShareService,\r\n private _authService: AuthService,) { }\r\n\r\n getStoryList() {\r\n // console.log(this.httpWrapper.get('https://8te4yxvui6.execute-api.us-east-1.amazonaws.com/dev/list'));\r\n // alert('Called');\r\n // this.loderService.show();\r\n // this.httpClient.get('https://upim9c3gpb.execute-api.us-east-1.amazonaws.com/Dev/stories').subscribe((resp: any) => {\r\n // this._httpWrapper.get(environment.api_url + '/stories').subscribe((resp: any) => {\r\n // // this._httpWrapper.get('./assets/story.json').subscribe((resp: any) => {\r\n // // console.log(resp);\r\n // // this.loderService.hide();\r\n // // let stories = resp.stories;\r\n // const dummyGroup = () => {\r\n // return {\r\n // \"isGroup\": true,\r\n // \"stories\": [],\r\n // \"title\": \"Analytics\",\r\n // \"color\": \"#ff000021\",\r\n // \"tags\": [\r\n // \"#machine-learning\",\r\n // \"#AI\",\r\n // \"#gnome\",\r\n // \"#nlp\",\r\n // \"#Segmentation\"\r\n // ],\r\n // \"category\": \"AI in Personalization\",\r\n // }\r\n // }\r\n\r\n // const dummyStory = () => {\r\n // return {\r\n // \"category\": \"AI in Personalization\",\r\n // \"isNotAvailable\": false,\r\n // \"endpoint\": \"https://ybujwuzuh3.execute-api.us-east-1.amazonaws.com/prod\",\r\n // \"displayTitle\": \"AdaptiveAttribute-based
Offers\",\r\n // \"description\": \"Personalizing hotel recommendation and marketing offers by utilizing customer attribute level willingness-to-pay through multi-step Bayesian modeling\",\r\n // \"title\": \"Adaptive Attribute-based Offers\",\r\n // \"url\": \"adaptive_attribute_based_offers\",\r\n // \"tags\": [\r\n // \"#machine-learning\",\r\n // \"#AI\",\r\n // \"#gnome\",\r\n // \"#nlp\",\r\n // \"#Segmentation\"\r\n // ],\r\n // \"isInteractive\": false,\r\n // \"isHorizonalView\": true,\r\n // \"viewType\": \"business\",\r\n // \"createdAt\": \"10/22/2020\",\r\n // }\r\n // }\r\n // resp.data.stories.splice(0, 0, { ...dummyGroup(), stories:[{ ...dummyStory() }, { ...dummyStory() }, { ...dummyStory() }] }, { ...dummyGroup(), stories: [{ ...dummyStory() }, { ...dummyStory() }] });\r\n // this.setStoryList(resp);\r\n // });\r\n this.dataShareService.onCustomDashboardEvent.next({\r\n event: 'showSettings',\r\n value: false\r\n })\r\n\r\n forkJoin([\r\n this.getMetaData(), \r\n this.getTileList(), \r\n this.getUpdatedCategoryList()\r\n ]).subscribe((res: any[]) => {\r\n console.log(res)\r\n const stories = res[1].data;\r\n const categories = res[2].data;\r\n const virtual_story = {\r\n \"id\": \"23\",\r\n \"type\": \"story\",\r\n \"categoryId\": \"3\",\r\n \"sequenceOrder\": 23,\r\n \"endpoint\": \"\",\r\n \"title\": \"Virtual Rep Trainer\",\r\n \"description\": \"Virtual Rep Trainer is a way for everyone to practice their conversational skills with an AI in safe environment.\",\r\n \"url\": \"virtual_rep_trainer\",\r\n \"isNew\": true,\r\n \"isInteractive\": true,\r\n \"isVisible\": true,\r\n \"groupId\": null,\r\n \"createdAt\": null,\r\n \"createdBy\": \"1\",\r\n \"updatedAt\": \"1655816735000\",\r\n \"updatedBy\": \"1\",\r\n \"isHorizontalView\": true,\r\n \"tags\": [\r\n \"#AI\",\r\n \"#chatgpt\",\r\n \"#AIGen\"\r\n ],\r\n \"displayTitle\": {\r\n \"line1\": \"Virtual \",\r\n \"line2\": \"Rep Trainer\"\r\n },\r\n \"viewType\": \"data_science\",\r\n \"categoryName\": \"AI in Personalisation\"\r\n }\r\n // stories.push(virtual_story);\r\n\r\n categories.forEach(e => {\r\n e.categoryClass = 'category_' + this.colors.find(c => c.color === e.color).id //catethis.colors.find(c => c.color === e.color).id;\r\n });\r\n stories.forEach((story, i) => {\r\n if (story.type == 'group') {\r\n this.groups.push({\r\n name: story.name,\r\n id: story.id,\r\n color: story.color\r\n })\r\n story.stories.forEach(s => {\r\n const index = categories.findIndex(e => e.categoryId === s.categoryId);\r\n if (index > -1) {\r\n s.isHidden = !s.isVisible;\r\n s.isGrouped = story.groupId === null ? false : true;\r\n s.category = categories[index].name;\r\n s.categoryClass = categories[index].categoryClass;\r\n } else {\r\n // console.log('Something is wrong');\r\n }\r\n });\r\n story.isHidden = !story.isVisible;\r\n story.isGroup = story.type == 'group' ? true : false\r\n story.tags = [\r\n \"#machine-learning\",\r\n \"#AI\",\r\n \"#gnome\",\r\n \"#nlp\",\r\n \"#Segmentation\"\r\n ],\r\n story.category = \"AI in Personalization\";\r\n // }\r\n } else {\r\n const index = categories.findIndex(e => e.categoryId === story.categoryId);\r\n if (index > -1) {\r\n story.isHidden = !story.isVisible;\r\n story.isGrouped = story.groupId === null ? false : true;\r\n story.category = categories[index].name;\r\n story.categoryClass = categories[index].categoryClass;\r\n } else {\r\n // console.log('Something is wrong');\r\n }\r\n }\r\n });\r\n const resp = {\r\n data: {\r\n promo_video_url: res[0].data.promoVideoUrl,\r\n stories: res[1].data,\r\n categories: res[2].data\r\n }\r\n }\r\n this.setStoryList(resp);\r\n this.dataShareService.onCustomDashboardEvent.next({\r\n event: 'showSettings',\r\n value: true\r\n })\r\n });\r\n }\r\n\r\n getStoryListFromLocal() {\r\n return (this.gallery && this.gallery.stories && this.gallery.stories.slice()) || [];\r\n }\r\n\r\n getStoryListByCategory(filter) {\r\n // http://dummy.restapiexample.com/api/v1/employees\r\n // console.log(this.httpClient.get('https://otccdzw48e.execute-api.us-east-1.amazonaws.com/dev/story/list').subscribe(resp => {\r\n // console.log(resp);\r\n // }));\r\n\r\n const filterData = [];\r\n if (this.gallery && this.gallery.stories) {\r\n for (let i = 0; i < this.gallery.stories.length; i++) {\r\n if (this.gallery.stories[i].category.toLowerCase() === filter.category) {\r\n filterData.push(this.gallery.stories[i]);\r\n }\r\n }\r\n }\r\n return filterData;\r\n }\r\n\r\n getDataSetStatus() {\r\n return this.isDataSet;\r\n }\r\n\r\n setStoryList(resp) {\r\n const stories = (resp && resp.data && resp.data.stories) || [];\r\n stories.forEach(v => {\r\n if (v.createdAt) {\r\n v.createdAt = new Date(v.createdAt);\r\n v.createdAt = v.createdAt.setMonth(v.createdAt.getMonth() + 1);\r\n }\r\n });\r\n this.gallery = {\r\n stories: stories,\r\n categories: (resp && resp.data && resp.data.categories) || [],\r\n promo_video_url: (resp && resp.data && resp.data.promo_video_url) || ''\r\n };\r\n this.isDataSet = true;\r\n // console.log(this.gallery.stories);\r\n this.storiesChanged.next(this.gallery.stories.slice());\r\n this.dataShareService.galleryDataLoad(this.gallery);\r\n }\r\n\r\n getStoryListById(filter) {\r\n // let filterData = {};\r\n if (this.gallery && this.gallery.stories) {\r\n for (let i = 0; i < this.gallery.stories.length; i++) {\r\n if (this.gallery.stories[i].type === 'group') {\r\n for (let j = 0; j < this.gallery.stories[i].stories.length; j++) {\r\n if (this.gallery.stories[i].stories[j].url.toLowerCase() === filter.url.toLowerCase()) {\r\n return this.gallery.stories[i].stories[j];\r\n }\r\n }\r\n } else if (this.gallery.stories[i].url.toLowerCase() === filter.url.toLowerCase()) {\r\n return this.gallery.stories[i];\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n getPromoVideoURL() {\r\n return (this.gallery && this.gallery.promo_video_url) || '';\r\n }\r\n\r\n postData(url, data) {\r\n // return this.httpClient.post(url, data);\r\n return this._httpWrapper.post(url, data);\r\n }\r\n\r\n getData(url) {\r\n // return this.httpClient.get(url);\r\n return this._httpWrapper.get(url);\r\n }\r\n /*\r\n setStoryListNew(data) {\r\n this.gallery = {\r\n stories: data\r\n }\r\n }*/\r\n\r\n setContactData(req) {\r\n return this._httpWrapper.post(environment.api_url + '/user/contact-request', req);\r\n // return timer();\r\n }\r\n\r\n setPurposeData(req) {\r\n return this._httpWrapper.post(environment.api_url + '/user/access-reason', req);\r\n // return timer();\r\n }\r\n\r\n // tile layout changes starts here\r\n\r\n public isStoriesAvailable(): boolean {\r\n return this.isDataSet;\r\n }\r\n\r\n getClassName() {\r\n return this.storyClassName;\r\n }\r\n\r\n public parseStoryList(list: any[], screenWidth, isFilted = false, initialScreenFlag = false, isQuickSettingsActive = false) {\r\n list = this._sortTiles(list, isQuickSettingsActive);\r\n if (initialScreenFlag) {\r\n this.previousScreenWidth = screenWidth;\r\n this.currentScreenWidth = screenWidth;\r\n }\r\n if (isFilted) {\r\n this._galleryLoadCombination = 2;\r\n } else {\r\n // const randomStoryPositionSelector = (this._galleryLoadCombination == undefined) ? this.setGalleryLayoutIndex(screenWidth) : this._galleryLoadCombination;\r\n const randomStoryPositionSelector = this.setGalleryLayoutIndex(screenWidth);\r\n this._galleryLoadCombination = randomStoryPositionSelector;\r\n }\r\n const storyDesignArray = [...this.storyListDesign[this._galleryLoadCombination].designValue];\r\n this.storyClassName = this.storyListDesign[this._galleryLoadCombination].className;\r\n return list.map((v, i) => {\r\n const designObject = storyDesignArray[i % storyDesignArray.length];\r\n v = { ...v, ...designObject };\r\n if (v.isGroup) {\r\n v.cols = 6;\r\n if (v.stories.length != 0) {\r\n const visibleStories = v.stories.filter(e => isQuickSettingsActive || !e.isHidden);\r\n v.cols = visibleStories.length > 1 ? 6 : 3;\r\n if (visibleStories && visibleStories.length !== 0) {\r\n visibleStories.forEach((e: any, i, arr) => {\r\n e.rows = 10;\r\n e.cols = visibleStories.length > 1 ? (i === arr.length - 1 && i % 2 == 0 ? 12 : 6) : 12;\r\n // e.cols = i === arr.length - 1 && i % 2 == 0 ? 12 : 6;\r\n return e;\r\n });\r\n }\r\n const paddingTop = 2\r\n const paddingBottom = 1\r\n v.rows = Math.ceil(visibleStories.length / 2) * 10 + paddingTop + paddingBottom + (isQuickSettingsActive ? 1 : 0);\r\n if (visibleStories.length === 0) {\r\n v.rows = 0;\r\n v.cols = 0;\r\n v.noStories = true;\r\n } else {\r\n v.noStories = false;\r\n }\r\n } else {\r\n v.rows = 0;\r\n v.cols = 0;\r\n v.noStories = true;\r\n }\r\n }\r\n return v;\r\n });\r\n }\r\n\r\n setGalleryLayoutIndex(screenWidth) {\r\n\r\n const selectStoryLayoutList =\r\n screenWidth > this.widthBreakValue[1] ?\r\n this.screenWiseLayoutIndex[1] : this.screenWiseLayoutIndex[0];\r\n return selectStoryLayoutList[Math.floor(Math.random() * (selectStoryLayoutList.length))];\r\n // return 5;\r\n }\r\n\r\n updateGalleryLayout(screenWidth) {\r\n this.previousScreenWidth = this.currentScreenWidth;\r\n this.currentScreenWidth = screenWidth;\r\n if (screenWidth > this.widthBreakValue[1]) {\r\n if (this.currentScreenWidth > this.widthBreakValue[1] && this.previousScreenWidth > this.widthBreakValue[1]) {\r\n return false;\r\n } else {\r\n this._galleryLoadCombination = this.setGalleryLayoutIndex(screenWidth);\r\n return true;\r\n }\r\n } else if (screenWidth > this.widthBreakValue[0] && screenWidth < this.widthBreakValue[1]) {\r\n if (this.currentScreenWidth < this.widthBreakValue[1] && this.previousScreenWidth < this.widthBreakValue[1] && ((this.previousScreenWidth - this.currentScreenWidth) > 0)) {\r\n return false;\r\n }\r\n if (this.currentScreenWidth > this.widthBreakValue[0] && this.previousScreenWidth > this.widthBreakValue[0] && ((this.currentScreenWidth - this.previousScreenWidth) > 0)) {\r\n return false;\r\n } else {\r\n this._galleryLoadCombination = this.setGalleryLayoutIndex(screenWidth);\r\n return true;\r\n }\r\n } else if (screenWidth < this.widthBreakValue[0]) {\r\n if (this.currentScreenWidth < this.widthBreakValue[0] && this.previousScreenWidth < this.widthBreakValue[0]) {\r\n return false;\r\n } else {\r\n this._galleryLoadCombination = this.setGalleryLayoutIndex(screenWidth);\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n // tile layout changes ends here\r\n\r\n private _sortTiles(list: any[], isQuickSettingsActive) {\r\n const groups = [];\r\n const stories = [];\r\n list.forEach(e => {\r\n if (e.type === 'group') {\r\n e.visibleStories = e.stories.filter(e => isQuickSettingsActive || !e.isHidden).length > 1 ? 1 : 0;\r\n groups.push(e);\r\n } else if (e.type === 'story') {\r\n stories.push(e);\r\n }\r\n });\r\n groups.sort((a, b) => a.visibleStories === b.visibleStories ? 0 : a.visibleStories - b.visibleStories > 0 ? -1 : 1 );\r\n return [...groups, ...stories];\r\n }\r\n\r\n private _getUserId() {\r\n return this._authService.getUserId()\r\n }\r\n\r\n updateLocalStoryList(tileData) {\r\n if (this.gallery && this.gallery.stories) {\r\n this.gallery.stories = tileData;\r\n this.storiesChanged.next(this.gallery.stories.slice());\r\n }\r\n }\r\n\r\n setAllCategories(data) {\r\n if (this.gallery && this.gallery.categories) {\r\n this.gallery.categories = data;\r\n }\r\n }\r\n\r\n getCategoryList() {\r\n return (this.gallery && this.gallery.categories && this.gallery.categories.slice()) || [];\r\n }\r\n\r\n removeFromCategoryList(id) {\r\n this.gallery.categories.splice(this.gallery.categories.findIndex(e => e.categoryId === id), 1);\r\n }\r\n\r\n addToCategoryList(data) {\r\n this.gallery.categories.push(data);\r\n }\r\n\r\n updateInCategoryList(data, id) {\r\n const categoryIndex = this.gallery.categories.findIndex(e => e.categoryId === id);\r\n if (categoryIndex > -1) {\r\n this.gallery.categories[categoryIndex] = {...this.gallery.categories[categoryIndex], ...data}\r\n }\r\n }\r\n\r\n getGroupList() {\r\n return this.groups.slice() || [];\r\n }\r\n\r\n removeFromGroupList(id) {\r\n this.groups.splice(this.groups.findIndex(e => e.id === id), 1);\r\n }\r\n\r\n addToGroupList(data) {\r\n this.groups.push(data);\r\n }\r\n\r\n getColors() {\r\n return this.colors.slice() || [];\r\n }\r\n\r\n getColorId(color: string) {\r\n const result = this.colors.find(e => e.color === color);\r\n return result ? result.id : null;\r\n }\r\n\r\n getTileList() {\r\n return this._httpWrapper.get(environment.api_url + '/dashboard/tiles');\r\n }\r\n\r\n getUpdatedCategoryList() {\r\n return this._httpWrapper.get(environment.api_url + '/dashboard/categories');\r\n }\r\n\r\n createCategory(data) {\r\n return this._httpWrapper.post(environment.api_url + '/dashboard/category', {...data, userId: this._getUserId()});\r\n }\r\n\r\n deleteCategory(data) {\r\n return this._httpWrapper.delete(environment.api_url + '/dashboard/category', data);\r\n }\r\n\r\n updateCategory(data) {\r\n return this._httpWrapper.put(environment.api_url + '/dashboard/category', {...data, userId: this._getUserId()})\r\n }\r\n\r\n createGroup(data) {\r\n return this._httpWrapper.post(environment.api_url + '/dashboard/group', {...data, userId: this._getUserId()});\r\n }\r\n\r\n updateGroup(data) {\r\n return this._httpWrapper.put(environment.api_url + '/dashboard/group', {...data, userId: this._getUserId()});\r\n }\r\n\r\n deleteGroup(data) {\r\n return this._httpWrapper.delete(environment.api_url + '/dashboard/group', {...data, userId: this._getUserId()});\r\n }\r\n\r\n updateStory(data) {\r\n return this._httpWrapper.put(environment.api_url + '/dashboard/story', {...data, userId: this._getUserId()});\r\n }\r\n\r\n updateQuickSettings(data) {\r\n return this._httpWrapper.put(environment.api_url + '/dashboard/quick-settings/tiles', {...data, userId: this._getUserId()});\r\n }\r\n\r\n updateCategorySequence(data) {\r\n return this._httpWrapper.put(environment.api_url + '/dashboard/quick-settings/categories', {...data, userId: this._getUserId()});\r\n }\r\n\r\n getMetaData() {\r\n return this._httpWrapper.get(environment.api_url + '/metadata-details');\r\n }\r\n\r\n getRedirectUrl(url) {\r\n return this._httpWrapper.get(url);\r\n }\r\n}\r\n","module.exports = \".available-color {\\r\\n cursor: pointer;\\r\\n }\\r\\n \\r\\n .available-color:hover {\\r\\n cursor: pointer;\\r\\n border: 3px solid grey;\\r\\n }\\r\\n \\r\\n .available-color.disabled-color {\\r\\n cursor: not-allowed;\\r\\n opacity: 0.7;\\r\\n border: 1px solid transparent;\\r\\n}\\r\\n \\r\\n .available-color.disabled-color:hover {\\r\\n cursor: not-allowed;\\r\\n opacity: 0.2;\\r\\n /* border: 1px solid grey; */\\r\\n}\\r\\n \\r\\n .available-color.selected-color {\\r\\n border: 3px solid gray;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZ2FsbGVyeS9ncm91cC1zZXR0aW5ncy1vdmVybGF5L2dyb3VwLXNldHRpbmdzLW92ZXJsYXkuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGdCQUFnQjtHQUNqQjs7RUFFRDtJQUNFLGdCQUFnQjtJQUNoQix1QkFBdUI7R0FDeEI7O0VBRUg7RUFDRSxvQkFBb0I7RUFDcEIsYUFBYTtFQUNiLDhCQUE4QjtDQUMvQjs7RUFFRDtFQUNFLG9CQUFvQjtFQUNwQixhQUFhO0VBQ2IsNkJBQTZCO0NBQzlCOztFQUVEO0VBQ0UsdUJBQXVCO0NBQ3hCIiwiZmlsZSI6InNyYy9hcHAvZ2FsbGVyeS9ncm91cC1zZXR0aW5ncy1vdmVybGF5L2dyb3VwLXNldHRpbmdzLW92ZXJsYXkuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hdmFpbGFibGUtY29sb3Ige1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuICBcclxuICAuYXZhaWxhYmxlLWNvbG9yOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJvcmRlcjogM3B4IHNvbGlkIGdyZXk7XHJcbiAgfVxyXG5cclxuLmF2YWlsYWJsZS1jb2xvci5kaXNhYmxlZC1jb2xvciB7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICBvcGFjaXR5OiAwLjc7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5hdmFpbGFibGUtY29sb3IuZGlzYWJsZWQtY29sb3I6aG92ZXIge1xyXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgb3BhY2l0eTogMC4yO1xyXG4gIC8qIGJvcmRlcjogMXB4IHNvbGlkIGdyZXk7ICovXHJcbn1cclxuXHJcbi5hdmFpbGFibGUtY29sb3Iuc2VsZWN0ZWQtY29sb3Ige1xyXG4gIGJvcmRlcjogM3B4IHNvbGlkIGdyYXk7XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n

Group Settings

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please enter the Group Name\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Please select a story\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ story.title }}\\r\\n \\r\\n highlight_off\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { SelectionChange } from '@angular/cdk/collections';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatSnackBar, MatDialog } from '@angular/material';\r\nimport { ConfirmationOverlayComponent } from '../confirmation-overlay/confirmation-overlay.component';\r\nimport { GalleryService } from '../gallery.service';\r\n\r\n@Component({\r\n selector: 'app-group-settings-overlay',\r\n templateUrl: './group-settings-overlay.component.html',\r\n styleUrls: ['./group-settings-overlay.component.css'],\r\n providers: [GalleryService]\r\n})\r\nexport class GroupSettingsOverlayComponent {\r\n\r\n public isNew = false;\r\n public groupData;\r\n public storiesData;\r\n\r\n public oldColor = '';\r\n public oldTitle = '';\r\n public oldIds = [];\r\n public oldStatus = null;\r\n\r\n public selectedStory = null;\r\n public selectedStories = [];\r\n public selectableStories = [];\r\n public isUpdated = false;\r\n\r\n public validateKeys = {\r\n 'title': false,\r\n 'color': false,\r\n 'stories': false,\r\n 'status': false\r\n }\r\n\r\n public validateEmpty = {\r\n title: false,\r\n color: false,\r\n stories: false,\r\n }\r\n\r\n\r\n public colors = [];\r\n\r\n public groupList = [];\r\n public story = null;\r\n\r\n\r\n constructor(\r\n private _snackBar: MatSnackBar,\r\n private dialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialogRef: MatDialogRef,\r\n public gallaryService: GalleryService) {\r\n this.groupList = data.groupList;\r\n this.isNew = !data.groupData;\r\n this.selectableStories = [...data.stories.other];\r\n this.selectableStories.forEach(e => {\r\n e.oldGroupId = e.groupId\r\n });\r\n this.colors = gallaryService.groupColors.slice();\r\n this.colors.forEach(e => {\r\n e.available = true;\r\n });\r\n if (this.isNew) {\r\n this.oldIds = [];\r\n // this.validateEmpty.color = true;\r\n this.validateEmpty.title = true;\r\n this.oldColor = \"\";\r\n this.oldTitle = \"\";\r\n this.oldStatus = false;\r\n this.groupData = {\r\n \"configurationId\": null,\r\n \"name\": \"\",\r\n \"color\": \"\",\r\n \"isHidden\": false,\r\n \"stories\": []\r\n }\r\n this.validateEmpty.color = true;\r\n this.validateEmpty.title = true;\r\n this.validateEmpty.stories = true;\r\n } else {\r\n this.groupData = JSON.parse(JSON.stringify(data.groupData));\r\n this.oldIds = data.stories.existing.map(e => e.id);\r\n this.oldColor = this.groupData.color;\r\n this.oldTitle = this.groupData.title;\r\n this.oldStatus = this.groupData.isHidden;\r\n this.selectedStories = [...data.stories.existing];\r\n }\r\n this.updateColorAvailability();\r\n }\r\n\r\n updateColorAvailability() {\r\n this.colors.forEach(e => {\r\n const color = this.groupList.find(c => e.color !== this.groupData.color && c.color === e.color)\r\n if (color) {\r\n e.available = false;\r\n } else {\r\n e.available = true;\r\n }\r\n });\r\n this.colors = [...this.colors.filter(e => e.available), ...this.colors.filter(e => !e.available)];\r\n if (this.oldColor.trim() !== '') {\r\n const colorIndex = this.colors.findIndex(e => e.color === this.oldColor);\r\n if (colorIndex > -1) {\r\n const selectedColor = this.colors[colorIndex];\r\n this.colors.splice(colorIndex, 1);\r\n this.colors.splice(0, 0, selectedColor);\r\n }\r\n } else {\r\n this.updateColor(this.colors[0]);\r\n }\r\n }\r\n\r\n\r\n updateSelection($e) {\r\n const index = this.selectableStories.findIndex(e => e.id === $e.target.value);\r\n if (index > -1) {\r\n this.selectedStories.push(this.selectableStories[index]);\r\n this.selectableStories.splice(index, 1);\r\n this.selectedStory = null;\r\n }\r\n this.validateStories();\r\n }\r\n\r\n removeFromGroup(id) {\r\n const index = this.selectedStories.findIndex(e => e.id === id);\r\n if (index > -1) {\r\n this.selectableStories.unshift(this.selectedStories[index])\r\n this.selectedStories.splice(index, 1);\r\n }\r\n this.validateStories();\r\n }\r\n\r\n updateColor(color) {\r\n if (!color.available) { return }\r\n this.groupData.color = color.color;\r\n if (this.groupData.color.trim() === '') {\r\n this.validateEmpty.color = true;\r\n } else {\r\n this.validateEmpty.color = false;\r\n this.validateKeys.color = this.oldColor !== this.groupData.color;\r\n }\r\n this.validateSave();\r\n }\r\n\r\n updateTitle() {\r\n if (this.groupData.name.trim() === '') {\r\n this.validateEmpty.title = true;\r\n } else {\r\n this.validateEmpty.title = false;\r\n this.validateKeys.title = this.oldTitle !== this.groupData.name;\r\n }\r\n this.validateSave();\r\n }\r\n\r\n validateStatus() {\r\n this.validateKeys.status = this.oldStatus !== this.groupData.isHidden;\r\n this.validateSave();\r\n }\r\n\r\n validateStories() {\r\n if (this.oldIds.length !== this.selectedStories.length) {\r\n this.validateKeys.stories = true;\r\n } else {\r\n this.validateKeys.stories = false;\r\n this.selectedStories.forEach(story => {\r\n if (!this.oldIds.includes(story.id)) {\r\n this.validateKeys.stories = true;\r\n }\r\n });\r\n }\r\n if (this.selectedStories.length === 0) {\r\n this.validateEmpty.stories = true;\r\n } else {\r\n this.validateEmpty.stories = false;\r\n }\r\n this.validateSave();\r\n }\r\n\r\n validateSave() {\r\n this.isUpdated = false;\r\n let isEmpty = false;\r\n for (const key in this.validateEmpty) {\r\n if (Object.prototype.hasOwnProperty.call(this.validateEmpty, key)) {\r\n if (this.validateEmpty[key] === true) {\r\n isEmpty = true;\r\n }\r\n }\r\n }\r\n\r\n if (isEmpty) { return false }\r\n\r\n for (const key in this.validateKeys) {\r\n if (Object.prototype.hasOwnProperty.call(this.validateKeys, key)) {\r\n if (this.validateKeys[key] === true) {\r\n this.isUpdated = true;\r\n }\r\n }\r\n }\r\n\r\n return this.isUpdated;\r\n }\r\n\r\n getStories(isLocal = false) {\r\n if (this.isNew) {\r\n const added = [];\r\n const transfered = [];\r\n this.selectedStories.forEach(e => {\r\n if (e.oldGroupId !== null) {\r\n const obj: any = {\r\n storyId: e.id,\r\n };\r\n if (isLocal) {\r\n obj.groupId = e.groupId\r\n }\r\n transfered.push(obj)\r\n } else {\r\n added.push({ \r\n storyId: e.id \r\n })\r\n }\r\n });\r\n return {\r\n add: added,\r\n transfer: transfered,\r\n }\r\n } else {\r\n const added = [];\r\n const removed = [];\r\n const transfered = [];\r\n this.oldIds.forEach(old => {\r\n if (!this.selectedStories.find(e => e.id === old)) {\r\n removed.push({ storyId: old });\r\n }\r\n })\r\n\r\n this.selectedStories.forEach(e => {\r\n if (!this.oldIds.includes(e.id)) {\r\n if (e.oldGroupId !== null) {\r\n const obj: any = {\r\n storyId: e.id,\r\n };\r\n if (isLocal) {\r\n obj.groupId = e.groupId\r\n }\r\n transfered.push(obj);\r\n } else {\r\n added.push({ storyId: e.id });\r\n }\r\n }\r\n })\r\n\r\n return {\r\n add: added,\r\n remove: removed,\r\n transfer: transfered,\r\n }\r\n }\r\n }\r\n\r\n onSubmit() {\r\n if (this.validateSave()) {\r\n // if (this.selectedStories.length === 0) {\r\n // const dialogRef = this.dialog.open(ConfirmationOverlayComponent, {\r\n // data: {\r\n // title: this.isNew ? 'Back to List' : 'Delete Confirmation',\r\n // message: `As there are no selected stories this will ${this.isNew ? 'not be create' : 'deleted'}. Are you sure you want to continue?`\r\n // },\r\n // panelClass: 'cdk-overlay-pane_modifier',\r\n // disableClose: true\r\n // });\r\n // dialogRef.afterClosed().subscribe(e => {\r\n // if (e) {\r\n // if (this.isNew) {\r\n // this.onCancel()\r\n // } else {\r\n // this.deleteGroup(false);\r\n // }\r\n // }\r\n // })\r\n // } else {\r\n const stories = this.getStories();\r\n const obj: any = {\r\n \"configurationId\": null,\r\n \"name\": this.groupData.name,\r\n \"color\": this.groupData.color,\r\n \"isVisible\": !this.groupData.isHidden,\r\n \"stories\": this.isNew ? [...stories.add, ...stories.transfer] : {\r\n add: [...stories.add, ...stories.transfer],\r\n remove: [...stories.remove]\r\n }\r\n }\r\n if (!this.isNew) {\r\n obj.groupId = this.groupData.id;\r\n this.updateGroup(obj);\r\n } else {\r\n this.createGroup(obj);\r\n }\r\n // }\r\n }\r\n }\r\n\r\n updateGroup(data) {\r\n this.isDataLoading = true;\r\n this.gallaryService.updateGroup(data).subscribe((res: any) => {\r\n this.showToastMessage(res.message, false);\r\n this.isDataLoading = false;\r\n this.dialogRef.close({\r\n type: 'update',\r\n color: this.groupData.color,\r\n name: this.groupData.name,\r\n isHidden: this.groupData.isHidden,\r\n stories: this.getStories(true)\r\n })\r\n }, (err) => {\r\n this.isDataLoading = false;\r\n this.showToastMessage(err.error.message);\r\n })\r\n }\r\n\r\n public isDataLoading = false;\r\n\r\n createGroup(data) {\r\n this.isDataLoading = true;\r\n this.gallaryService.createGroup(data).subscribe((res: any) => {\r\n this.showToastMessage(res.message, false);\r\n this.isDataLoading = false;\r\n this.dialogRef.close({\r\n type: 'create',\r\n color: this.groupData.color,\r\n name: this.groupData.name,\r\n isHidden: this.groupData.isHidden,\r\n id: res.data.groupId,\r\n stories: this.getStories(true),\r\n })\r\n }, (err) => {\r\n this.isDataLoading = false;\r\n this.showToastMessage(err.error.message);\r\n })\r\n }\r\n\r\n deleteGroup(showPrompt = true) {\r\n const payload = {\r\n \"groupId\": this.groupData.id,\r\n \"configurationId\": null\r\n }\r\n const executeDelete = () => {\r\n this.gallaryService.deleteGroup(payload).subscribe((res: any) => {\r\n this.showToastMessage(res.message, false);\r\n this.dialogRef.close({\r\n type: 'delete',\r\n id: this.groupData.id\r\n })\r\n }, (err) => {\r\n this.showToastMessage(err.error.message);\r\n })\r\n }\r\n\r\n if (showPrompt) {\r\n const dialogRef = this.dialog.open(ConfirmationOverlayComponent, {\r\n data: {\r\n title: 'Delete Confirmation',\r\n message: 'Do you want to delete a group?'\r\n },\r\n panelClass: 'cdk-overlay-pane_modifier',\r\n disableClose: true\r\n });\r\n dialogRef.afterClosed().subscribe(e => {\r\n if (e) {\r\n executeDelete();\r\n }\r\n })\r\n } else {\r\n executeDelete();\r\n }\r\n\r\n }\r\n\r\n onCancel() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n showToastMessage(message, isError = true, duration= 3000) {\r\n this._snackBar.open(message, '', {\r\n\t\t\tduration,\r\n\t\t\tpanelClass: isError ? 'error' : 'success',\r\n\t\t\tverticalPosition: 'top',\r\n\t\t\thorizontalPosition: 'right'\r\n\t\t})\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatDialog } from '@angular/material';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, CanDeactivate } from '@angular/router';\r\nimport { ConfirmationOverlayComponent } from '../confirmation-overlay/confirmation-overlay.component';\r\n\r\nexport interface CanComponentDeactivate {\r\n confirm(): any;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ConfirmCancelGuard implements CanDeactivate {\r\n constructor(private dialog: MatDialog,) { }\r\n canDeactivate(\r\n component: CanComponentDeactivate,\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): boolean | Promise {\r\n const confirmValues = component.confirm();\r\n let confirmation = true;\r\n if (confirmValues.isChangeDetected) {\r\n return new Promise((resolve, reject) => {\r\n const dialogRef = this.dialog.open(ConfirmationOverlayComponent, {\r\n data: {\r\n title: 'Leave Edit Mode',\r\n message: 'Do you want leave page? Note: All the unsaved changes will be removed if you click Yes'\r\n },\r\n panelClass: 'cdk-overlay-pane_modifier',\r\n disableClose: true\r\n });\r\n dialogRef.afterClosed().subscribe(e => {\r\n resolve(e);\r\n });\r\n });\r\n } else {\r\n return confirmation;\r\n }\r\n if (confirmValues.isChangeDetected) {\r\n let message = 'Do you want leave page? Note: All the unsaved changes will be removed if you click Yes';\r\n confirmation = confirm(message) ? true : false;\r\n }\r\n return confirmation\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\n// import { Subject, BehaviorSubject } from 'rxjs';\r\nimport { StoryService } from '../story-page/story.service'\r\n\r\n\r\n\r\n@Injectable()\r\nexport class VisulizationService {\r\n// \r\n \t// private actionClicked = new Subject ();\r\n // \r\n \r\n constructor(private storyService: StoryService) {}\r\n\r\n onActionClick(actionData:any) {\r\n \t// alert(\"action clicked\");\r\n \t//console.log(actionData);\r\n\t// this.actionClicked.next(data);\r\n \t\r\n \tif (actionData.loadSection) {\r\n \t\t// alert(\"IF --> Load section\")\r\n \t\tthis.storyService.updateSection(actionData);\r\n \t\t// this.loadSection.next(actionData);\t\r\n \t}\r\n }\r\n\r\n\r\n\r\n}","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

{{storySection.name}}

\\r\\n
1,\\r\\n 'ml-chart-toggle': (visulization.widget.length > 0 && index == 3)}\\\"\\r\\n *ngFor=\\\"let visulization of storySection.data.visulizations; let index = index\\\">\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoryService } from './story.service';\r\nimport { DataShareService } from '../../shared/data-share.service';\r\nimport { GalleryService } from '../gallery.service';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-story-page',\r\n templateUrl: './story-page.component.html',\r\n providers: [StoryService]\r\n})\r\nexport class StoryPageComponent implements OnInit, OnDestroy {\r\n \r\n test:string;\r\n \r\n\tpublic isClipBoardCopied = false;\r\n\tpublic clipBoardTimeout = null;\r\n\tpublic clipBoardText = '';\r\n storyData: any;\r\n selectedSection: any;\r\n parentSectionDetails: any;\r\n isDataLoading: boolean;\r\n private dataServiceObserver: any;\r\n classVal: any;\r\n @ViewChild('scrollContainer') scrollContainer;\r\n\r\n constructor(private _route: ActivatedRoute,\r\n private _storyService: StoryService,\r\n private dataShareService: DataShareService,\r\n private galleryService: GalleryService,\r\n private router : Router) { }\r\n\r\n ngOnInit() {\r\n if (typeof (Storage) !== 'undefined' && localStorage.getItem('u')) {\r\n localStorage.removeItem('u');\r\n }\r\n\r\n let galleryData = this.galleryService.getStoryListById({ url: this._route.snapshot.params.url });\r\n console.log(galleryData);\r\n \r\n this.isDataLoading = true;\r\n if (!galleryData) {\r\n\r\n this.galleryService.storiesChanged\r\n .subscribe(\r\n () => {\r\n galleryData = this.galleryService.getStoryListById({ url: this._route.snapshot.params.url });\r\n console.log(galleryData);\r\n \r\n this.getStoryDetails(galleryData);\r\n });\r\n } else {\r\n this.getStoryDetails(galleryData);\r\n }\r\n\r\n this._storyService.loadSection.subscribe((actionData: any) => {\r\n // console.log(actionData);\r\n // alert(\"Load section --> subscribe\");\r\n const foundIndex = _.findIndex(this.storyData.sections, { name: actionData.loadSectionData });\r\n if (foundIndex > -1) {\r\n // this.parentSectionDetails = {\r\n // name: this.selectedSection.name\r\n // };\r\n // this.selectedSection = this.storyData.sections[foundIndex];\r\n // console.log(this.storyData.sections[foundIndex]);\r\n this.storyData.sections.forEach(v => {\r\n if (v.name === this.selectedSection) {\r\n v.hideSectionLink = true;\r\n this.storyData.sections[foundIndex].name = v.name;\r\n this.storyData.sections[foundIndex].hideSectionLink = false;\r\n // Code to scroll to that widget\r\n const sec: any = document.querySelector('#' + this.storyData.sections[foundIndex].name.split(' ').join(''));\r\n const scrollContainer = document.getElementById('scroll-container');\r\n scrollContainer.scrollTo(0, sec.offsetTop - scrollContainer.offsetTop);\r\n }\r\n });\r\n } else {\r\n // alert(\"Section not found\");\r\n }\r\n });\r\n\r\n this.dataShareService.onNavigationSelect.subscribe((data) => {\r\n const scrollContainer = document.getElementById('scroll-container');\r\n const sec = document.querySelector(data);\r\n scrollContainer.scrollTo({ top: (sec.offsetTop - scrollContainer.offsetTop + 1), left: 0, behavior: 'smooth' });\r\n // scrollContainer.scrollTo(0, (sec.offsetTop - scrollContainer.offsetTop + 1));\r\n });\r\n }\r\n\r\n getStoryDetails(galleryData) {\r\n console.log(galleryData);\r\n \r\n // TODO: PB to add class to body story-wise\r\n this.classVal = this.dataShareService.getBodyStoryClass(galleryData.url, 'sp');\r\n this.dataShareService.updateCustomEvent({ event: 'addClassToBody', data: this.classVal });\r\n console.log(this.classVal,this.dataShareService);\r\n \r\n // END\r\n // this.loderService.show();\r\n switch (galleryData.url) {\r\n case 'aiqna':\r\n this.dataShareService.onCustomEvent.next({ event: 'addClassToElement', data: {selector: '#header', class: 'humburger-header'}});\r\n break;\r\n }\r\n this.dataServiceObserver = this._storyService.getStoryDataNew(galleryData.endpoint)\r\n .subscribe((resp: any) => {\r\n // this.loderService.hide();\r\n this.isDataLoading = false;\r\n this.storyData = resp.data;\r\n // this.selectedSection = this.storyData && this.storyData.sections && this.storyData.sections[0];\r\n this.selectedSection = this.storyData && this.storyData.sections && this.storyData.sections[0].name;\r\n this.dataShareService.dataChange(galleryData);\r\n this.dataShareService.changeNavigation(resp.data);\r\n if(this.storyData.title==='Personalized AI'){\r\n // console.log(this.storyData.title);\r\n setTimeout(() => {\r\n let copybtn=document.getElementById(\"pi-copy-btn\");\r\n copybtn.addEventListener(\"click\",()=>{\r\n // console.log(\"copy btn clicked\");\r\n // console.log(this.storyData);\r\n const elem = document.createElement('textarea');\r\n elem.value = this.storyData.sections[0].data.visulizations[0].widget[0].credentials[0].value;\r\n document.body.appendChild(elem);\r\n elem.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(elem);\r\n document.getElementById('pi-copy-txt').innerHTML='Passcode Copied!'\r\n setTimeout(()=>{\r\n document.getElementById('pi-copy-txt').innerHTML=''\r\n },1000)\r\n })\r\n }, 100);\r\n }\r\n else if(this.storyData.title === 'Patient Radar'){\r\n // console.log(this.storyData.title);\r\n // let explorebtn = document.getElementById('explore-btn');\r\n // explorebtn.addEventListener(\"click\",()=>{\r\n // window.location.href = \"http://www.w3schools.com\"\r\n // })\r\n setTimeout(() => {\r\n let explorebtn = document.getElementById('explore-btn');\r\n explorebtn.addEventListener(\"click\",()=>{\r\n window.open(\"https://prdr.staging.zsservices.com/\",\"_blank\");\r\n })\r\n let copybtn=document.getElementById(\"patient-radar-copy-password-btn\");\r\n let copyunbtn = document.getElementById(\"patient-radar-copy-username-btn\");\r\n copybtn.addEventListener(\"click\",()=>{\r\n // console.log(\"copy btn clicked\");\r\n // console.log(this.storyData);\r\n const elem = document.createElement('textarea');\r\n elem.value = this.storyData.sections[0].data.visulizations[0].widget[0].credentials[1].value;\r\n document.body.appendChild(elem);\r\n elem.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(elem);\r\n document.getElementById('patient-radar-copy-password-txt').innerHTML='Passcode Copied!'\r\n setTimeout(()=>{\r\n\r\n document.getElementById('patient-radar-copy-password-txt').innerHTML=''\r\n },1000)\r\n })\r\n\r\n copyunbtn.addEventListener(\"click\",()=>{\r\n // console.log(\"copy btn clicked\");\r\n // console.log(this.storyData);\r\n const elem = document.createElement('textarea');\r\n // elem.value = this.storyData.sections[0].data.visulizations[0].widget[0].credentials[0].value;\r\n // elem.value = \"AI Gallery\";\r\n elem.value = this.storyData.sections[0].data.visulizations[0].widget[0].credentials[0].value;\r\n document.body.appendChild(elem);\r\n elem.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(elem);\r\n document.getElementById('patient-radar-copy-username-txt').innerHTML='Username Copied!'\r\n setTimeout(()=>{\r\n\r\n document.getElementById('patient-radar-copy-username-txt').innerHTML=''\r\n },1000)\r\n })\r\n }, 100);\r\n }\r\n });\r\n \r\n \r\n }\r\n \r\n onSectionChange($event) {\r\n this.dataShareService.navigationSectionChange($event.id);\r\n this.selectedSection = $event.value.storyname;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.dataShareService.updateCustomEvent({ event: 'removeClassToBody', data: this.classVal });\r\n this.dataShareService.onCustomEvent.next({ event: 'removeClassToElement', data: {selector: '#header', class: 'humburger-header'}});\r\n this.dataServiceObserver.unsubscribe();\r\n }\r\n}\r\n\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
Patient Radar
\r\n//

An enterprise grade online platform powered by advanced data science and
\r\n// years of deep domain knowledge.

\r\n \r\n//
\r\n//
\r\n//
Steps - To Explore Patient Radar
\r\n//
    \r\n//
  • \r\n// 1\r\n// Copy Username & Password\r\n// \r\n//
  • \r\n//
  • \r\n// 2\r\n// Click here to explore button\r\n// \r\n \r\n//
  • \r\n//
  • \r\n// 3\r\n// Paste Username & Password\r\n// \r\n//
  • \r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \r\n// \r\n//
\r\n//
\r\n// \r\n// \r\n//
\r\n//
\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n//
\r\n \r\n//
\r\n//
\r\n//
\r\n\r\n","// import { Gallery } from './gallery.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// import { LoaderService } from '../../services/loader.service';\r\n\r\nimport { Subject } from 'rxjs';\r\nimport { HttpWrapperService } from '../../services/http-wrapper.service';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class StoryService {\r\n\r\n constructor(private httpClient: HttpClient, private _httpWrapper: HttpWrapperService) { }\r\n\r\n loadSection = new Subject();\r\n // loadSectionState = this.loadSection.asObservable();\r\n\r\n private storyDetails: any;\r\n getStoryData() {\r\n return this.storyDetails;\r\n }\r\n\r\n getStoryDataNew(endpoint) {\r\n // this.loderService.show();\r\n // return this.httpClient.get(endpoint);\r\n return this._httpWrapper.get(endpoint);\r\n // console.log(resp);\r\n // this.loderService.hide();\r\n // let stories = resp.stories;\r\n // this.setStoryList(resp)\r\n // });\r\n }\r\n\r\n updateSection(actionData: any) {\r\n this.loadSection.next(actionData);\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n

{{visulization.title}}

\\r\\n

{{visulization.description}}

\\r\\n
\\r\\n
\\r\\n MinimizeMaximize\\r\\n \\r\\n Info\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{visulization.title}}
\\r\\n
\\r\\n \\r\\n Info\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
1 && showFullView}\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit, Input, Renderer2 } from '@angular/core';\r\nimport { WidgetService } from '../../../widgets/widgets.service';\r\nimport { VisulizationService } from '../../services/visulization.service';\r\n\r\n@Component({\r\n\tselector: 'app-visulization',\r\n\ttemplateUrl: './visulization.component.html',\r\n\tproviders: [WidgetService, VisulizationService]\r\n})\r\nexport class VisulizationComponent implements OnInit {\r\n\r\n\t@Input() visulization;\r\n\t@Input() osetParent;\r\n\tisOpen;\r\n\tcollapseVisulization = false;\r\n\tshowFullView = false;\r\n\tresponse;\r\n\t\r\n\tconstructor(private renderer: Renderer2,\r\n\t\tprivate visulizationService: VisulizationService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.collapseVisulization = this.visulization.defaultCollapse || this.collapseVisulization;\r\n\t\tconst widgetTypes = [];\r\n\t\tfor (let widgetNo = 0; widgetNo < this.visulization.widget.length; widgetNo++) {\r\n\t\t\twidgetTypes.push(this.visulization.widget[widgetNo].type);\r\n\t\t}\r\n\t\tthis.visulization.widgetTypes = widgetTypes;\r\n\t}\r\n\r\n\ttoggeleVisulization() {\r\n\t\tthis.collapseVisulization = !this.collapseVisulization;\r\n\t}\r\n\r\n\ttoggleFullView() {\r\n\t\tthis.showFullView = !this.showFullView;\r\n\t\tif (this.showFullView) {\r\n\t\t\tthis.renderer.addClass(document.body, 'full-view-enable');\r\n\t\t} else {\r\n\t\t\tthis.renderer.removeClass(document.body, 'full-view-enable');\r\n\t\t}\r\n\t}\r\n\r\n\thandleActionClick(actionData) {\r\n\t\tactionData.data = null;\r\n\t\tthis.visulizationService.onActionClick(actionData);\r\n\t}\r\n\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2dhbGxlcnkvc3RvcnktdGVsbGluZy1wYWdlL2hvcml6b250YWwtdmlzdWFsaXphdGlvbi9ob3Jpem9udGFsLXZpc3VhbGl6YXRpb24uY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Comming Soon\\r\\n
\\r\\n
\"","import { Component, OnInit, Input, ViewChild, OnDestroy } from '@angular/core';\r\nimport { AdaptivePricingComponent } from 'src/app/widgets/adaptive-pricing/adaptive-pricing.component';\r\nimport { DataShareService } from 'src/app/shared/data-share.service';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { CtempComponent } from 'src/app/widgets/ctemp/ctemp.component';\r\nimport { AtlasIntelligenceKraftComponent } from 'src/app/widgets/atlas-intelligence-kraft/atlas-intelligence-kraft.component';\r\n\r\n@Component({\r\n selector: 'app-horizontal-visualization',\r\n templateUrl: './horizontal-visualization.component.html',\r\n styleUrls: ['./horizontal-visualization.component.css']\r\n})\r\nexport class HorizontalVisualizationComponent implements OnInit, OnDestroy {\r\n @Input() storyData;\r\n\r\n @ViewChild('adaptivePricing') adaptivePricing: AdaptivePricingComponent;\r\n @ViewChild('ctemp') ctemp: CtempComponent;\r\n @ViewChild('kraft') kraft: AtlasIntelligenceKraftComponent;\r\n\r\n public unsubscribe: Subject = new Subject();\r\n\r\n constructor(public dataShareService: DataShareService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.dataShareService.onCustomEvent.pipe(\r\n takeUntil(this.unsubscribe)\r\n ).subscribe(($e) => {\r\n switch ($e.event) {\r\n case 'setFullPageScrollEvent':\r\n if (this.adaptivePricing) {\r\n this.adaptivePricing.changeDirectiveScrollEvent($e.data);\r\n }\r\n if (this.ctemp) {\r\n this.ctemp.changeDirectiveScrollEvent($e.data);\r\n }\r\n if (this.kraft) {\r\n this.kraft.changeDirectiveScrollEvent($e.data);\r\n }\r\n break;\r\n }\r\n });\r\n }\r\n\r\n visibleSectionChagne() {\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe.next();\r\n this.unsubscribe.complete();\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2dhbGxlcnkvc3RvcnktdGVsbGluZy1wYWdlL3N0b3J5LXRlbGxpbmctcGFnZS5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Comming Soon\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { GalleryService } from \"../gallery.service\";\r\nimport { DataShareService } from \"src/app/shared/data-share.service\";\r\n\r\n@Component({\r\n selector: \"app-story-telling-page\",\r\n templateUrl: \"./story-telling-page.component.html\",\r\n styleUrls: [\"./story-telling-page.component.css\"],\r\n})\r\nexport class StoryTellingPageComponent implements OnInit, OnDestroy {\r\n isDataLoading: boolean;\r\n paramsData: any;\r\n storyData: any;\r\n selectedSection: any;\r\n classVal: any;\r\n constructor(\r\n private _route: ActivatedRoute,\r\n private dataShareService: DataShareService,\r\n private galleryService: GalleryService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.isDataLoading = false;\r\n this.paramsData = this._route.snapshot.params;\r\n\r\n this.storyData = this.galleryService.getStoryListById({\r\n url: this.paramsData.url,\r\n });\r\n\r\n if (!this.storyData) {\r\n this.galleryService.storiesChanged.subscribe(() => {\r\n this.storyData = this.galleryService.getStoryListById({\r\n url: this.paramsData.url,\r\n });\r\n\r\n //! Hardcoded, will be removed later\r\n if (this.paramsData.url == \"atlas-intelligence-kraft\") {\r\n this.storyData = {\r\n id: \"26\",\r\n type: \"story\",\r\n categoryId: \"3\",\r\n sequenceOrder: 18,\r\n endpoint: null,\r\n title: \"Clinical Trial Enrollment Modeling and Predictions\",\r\n description:\r\n \"Finding right sites to create enrolment plans for clinical trials by Historical Benchmarking, Distribution Parameters, Probabilistic Measurements, Tracking and Reforecasting\",\r\n url: \"atlas-intelligence-kraft\",\r\n isNew: true,\r\n isInteractive: false,\r\n isVisible: true,\r\n groupId: null,\r\n createdAt: null,\r\n createdBy: \"1\",\r\n updatedAt: \"1634716239000\",\r\n updatedBy: \"1\",\r\n isHorizontalView: true,\r\n tags: [\"#pharma\", \"#AI\", \"#gnome\", \"#nlp\", \"#Segmentation\"],\r\n displayTitle: {\r\n line1: \"Clinical Trial\",\r\n line2: \"Enrollment Modeling and Predictions\",\r\n },\r\n viewType: \"business\",\r\n isHidden: false,\r\n isGrouped: false,\r\n category: \"AI in Personalization \",\r\n categoryClass: \"category_1\",\r\n isHorizonalView: true,\r\n };\r\n }\r\n this.getStoryDetails(this.storyData);\r\n });\r\n } else {\r\n this.getStoryDetails(this.storyData);\r\n }\r\n }\r\n\r\n private getStoryDetails(data) {\r\n // TODO:SPM add property to json for horizontal view\r\n // TODO:RM Rename the url\r\n if (\r\n data.url === \"field_coaching\" || data.url === 'virtual_rep_trainer' ||\r\n data.url === \"ctemp\" ||\r\n //! Hardcoded, will be removed later\r\n data.url === \"atlas-intelligence-kraft\"\r\n ) {\r\n data.isHorizonalView = true;\r\n }\r\n // TODO: PB to add class to body story-wise\r\n this.classVal = this.dataShareService.getBodyStoryClass(data.url, \"stp\");\r\n this.dataShareService.updateCustomEvent({\r\n event: \"addClassToBody\",\r\n data: this.classVal,\r\n });\r\n // END\r\n this.dataShareService.dataChange(data);\r\n const navData = {\r\n sections: [\r\n {\r\n name: \"Problem\",\r\n },\r\n {\r\n name: \"Data\",\r\n },\r\n {\r\n name: \"Solution\",\r\n },\r\n {\r\n name: \"Outcomes\",\r\n },\r\n ],\r\n disableClick: true,\r\n };\r\n this.dataShareService.changeNavigation(navData);\r\n }\r\n\r\n visibleSectionChagne(e) {\r\n this.dataShareService.navigationSectionChange(e.value);\r\n this.selectedSection = e.value;\r\n }\r\n\r\n onChildLoad($event) {\r\n this.dataShareService.changeNavigation({ ...$event, disableClick: true });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.dataShareService.updateCustomEvent({\r\n event: \"removeClassToBody\",\r\n data: this.classVal,\r\n });\r\n this.dataShareService.onCustomEvent.next({ event: 'removeClassToElement', data: {selector: '#header', class: 'humburger-header'}});\r\n }\r\n}\r\n","module.exports = \".drag-list {\\r\\n width: 500px;\\r\\n max-width: 100%;\\r\\n max-height: 400px;\\r\\n overflow-y: auto;\\r\\n /* border: solid 1px #ccc; */\\r\\n /* min-height: 60px; */\\r\\n display: block;\\r\\n /* background: white; */\\r\\n /* border-radius: 4px; */\\r\\n /* overflow: hidden; */\\r\\n }\\r\\n \\r\\n .drag-box {\\r\\n padding: 4px 10px;\\r\\n border: solid 1px #ccc;\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n align-items: center;\\r\\n justify-content: space-between;\\r\\n box-sizing: border-box;\\r\\n cursor: move;\\r\\n background: white;\\r\\n font-size: 14px;\\r\\n border-left: 10px solid;\\r\\n border-radius: 12px;\\r\\n margin-bottom: 10px;\\r\\n min-height: 45px;\\r\\n }\\r\\n \\r\\n .drag-box input {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .cdk-drag-preview {\\r\\n display: none;\\r\\n /* box-sizing: border-box;\\r\\n border-radius: 4px;\\r\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),\\r\\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\\r\\n 0 3px 14px 2px rgba(0, 0, 0, 0.12); */\\r\\n }\\r\\n \\r\\n .cdk-drag-placeholder {\\r\\n opacity: 1;\\r\\n /* z-index: 10000; */\\r\\n /* background-color: salmon; */\\r\\n /* box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),\\r\\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\\r\\n 0 3px 14px 2px rgba(0, 0, 0, 0.12); */\\r\\n border: solid 1px #016199 !important;\\r\\n }\\r\\n \\r\\n .cdk-drag-animating {\\r\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\r\\n }\\r\\n \\r\\n /*.drag-box:last-child {\\r\\n border: none;\\r\\n } */\\r\\n \\r\\n .drag-list.cdk-drop-list-dragging.drag-box:not(.cdk-drag-placeholder) {\\r\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\r\\n }\\r\\n \\r\\n .available-color {\\r\\n cursor: pointer;\\r\\n }\\r\\n \\r\\n .available-color:hover {\\r\\n cursor: pointer;\\r\\n border: 3px solid grey;\\r\\n }\\r\\n \\r\\n .available-color.disabled-color {\\r\\n cursor: not-allowed;\\r\\n opacity: 0.7;\\r\\n border: 1px solid transparent;\\r\\n}\\r\\n \\r\\n .available-color.disabled-color:hover {\\r\\n cursor: not-allowed;\\r\\n opacity: 0.7;\\r\\n}\\r\\n \\r\\n .available-color.selected-color {\\r\\n border: 3px solid black;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZ2FsbGVyeS90YWItc2V0dGluZ3Mtb3ZlcmxheS90YWItc2V0dGluZ3Mtb3ZlcmxheS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLDZCQUE2QjtJQUM3Qix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLHdCQUF3QjtJQUN4Qix5QkFBeUI7SUFDekIsdUJBQXVCO0dBQ3hCOztDQUVGO0lBQ0csa0JBQWtCO0lBQ2xCLHVCQUF1QjtJQUN2QiwyQkFBMkI7SUFDM0IsY0FBYztJQUNkLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsK0JBQStCO0lBQy9CLHVCQUF1QjtJQUN2QixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQix3QkFBd0I7SUFDeEIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixpQkFBaUI7R0FDbEI7O0NBRUY7SUFDRyxZQUFZO0dBQ2I7O0NBRUQ7SUFDRSxjQUFjO0lBQ2Q7Ozs7c0RBSWtEO0dBQ25EOztDQUVEO0lBQ0UsV0FBVztJQUNYLHFCQUFxQjtJQUNyQiwrQkFBK0I7SUFDL0I7O3NEQUVrRDtJQUNsRCxxQ0FBcUM7R0FDdEM7O0NBRUQ7SUFDRSx1REFBdUQ7R0FDeEQ7O0NBRUQ7O01BRUk7O0NBRUo7SUFDRSx1REFBdUQ7R0FDeEQ7O0NBRUQ7SUFDRSxnQkFBZ0I7R0FDakI7O0NBRUQ7SUFDRSxnQkFBZ0I7SUFDaEIsdUJBQXVCO0dBQ3hCOztDQUVIO0VBQ0Usb0JBQW9CO0VBQ3BCLGFBQWE7RUFDYiw4QkFBOEI7Q0FDL0I7O0NBRUQ7RUFDRSxvQkFBb0I7RUFDcEIsYUFBYTtDQUNkOztDQUVEO0VBQ0Usd0JBQXdCO0NBQ3pCIiwiZmlsZSI6InNyYy9hcHAvZ2FsbGVyeS90YWItc2V0dGluZ3Mtb3ZlcmxheS90YWItc2V0dGluZ3Mtb3ZlcmxheS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmRyYWctbGlzdCB7XHJcbiAgICB3aWR0aDogNTAwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiA0MDBweDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAvKiBib3JkZXI6IHNvbGlkIDFweCAjY2NjOyAqL1xyXG4gICAgLyogbWluLWhlaWdodDogNjBweDsgKi9cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgLyogYmFja2dyb3VuZDogd2hpdGU7ICovXHJcbiAgICAvKiBib3JkZXItcmFkaXVzOiA0cHg7ICovXHJcbiAgICAvKiBvdmVyZmxvdzogaGlkZGVuOyAqL1xyXG4gIH1cclxuICBcclxuIC5kcmFnLWJveCB7XHJcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcclxuICAgIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XHJcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBjdXJzb3I6IG1vdmU7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBtaW4taGVpZ2h0OiA0NXB4O1xyXG4gIH1cclxuXHJcbiAuZHJhZy1ib3ggaW5wdXQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIFxyXG4gIC5jZGstZHJhZy1wcmV2aWV3IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAvKiBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgYm94LXNoYWRvdzogMCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLFxyXG4gICAgICAgICAgICAgICAgMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSxcclxuICAgICAgICAgICAgICAgIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7ICovXHJcbiAgfVxyXG4gIFxyXG4gIC5jZGstZHJhZy1wbGFjZWhvbGRlciB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLyogei1pbmRleDogMTAwMDA7ICovXHJcbiAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiBzYWxtb247ICovXHJcbiAgICAvKiBib3gtc2hhZG93OiAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksXHJcbiAgICAgICAgICAgICAgICAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLFxyXG4gICAgICAgICAgICAgICAgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTsgKi9cclxuICAgIGJvcmRlcjogc29saWQgMXB4ICMwMTYxOTkgIWltcG9ydGFudDtcclxuICB9XHJcbiAgXHJcbiAgLmNkay1kcmFnLWFuaW1hdGluZyB7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XHJcbiAgfVxyXG4gIFxyXG4gIC8qLmRyYWctYm94Omxhc3QtY2hpbGQge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gIH0gKi9cclxuICBcclxuICAuZHJhZy1saXN0LmNkay1kcm9wLWxpc3QtZHJhZ2dpbmcuZHJhZy1ib3g6bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xyXG4gIH1cclxuXHJcbiAgLmF2YWlsYWJsZS1jb2xvciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gIC5hdmFpbGFibGUtY29sb3I6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm9yZGVyOiAzcHggc29saWQgZ3JleTtcclxuICB9XHJcblxyXG4uYXZhaWxhYmxlLWNvbG9yLmRpc2FibGVkLWNvbG9yIHtcclxuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gIG9wYWNpdHk6IDAuNztcclxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLmF2YWlsYWJsZS1jb2xvci5kaXNhYmxlZC1jb2xvcjpob3ZlciB7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICBvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi5hdmFpbGFibGUtY29sb3Iuc2VsZWN0ZWQtY29sb3Ige1xyXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsYWNrO1xyXG59Il19 */\"","module.exports = \"
\\r\\n
\\r\\n

{{data.isEdit ? 'Edit' : 'New'}} Category

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please enter the Category Name\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ story.title }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatSnackBar } from '@angular/material';\r\nimport { GalleryService } from '../gallery.service';\r\nimport { CdkDragDrop, CdkDragMove, CdkDragStart, moveItemInArray } from '@angular/cdk/drag-drop';\r\n\r\n@Component({\r\n selector: 'app-tab-settings-overlay',\r\n templateUrl: './tab-settings-overlay.component.html',\r\n styleUrls: ['./tab-settings-overlay.component.css'],\r\n providers: [GalleryService]\r\n})\r\nexport class TabSettingsOverlayComponent {\r\n\r\n public isUpdated = false;\r\n public categoryList = [];\r\n public selectedCategory = null;\r\n public isDuplicate = false;\r\n public oldName = '';\r\n public oldColor = '';\r\n public isStoryUpdated = false;\r\n\r\n public validateKeys = {\r\n 'name': false,\r\n 'color': false,\r\n }\r\n\r\n public validateEmpty = {\r\n color: false,\r\n name: false,\r\n }\r\n\r\n colors = [];\r\n\r\n constructor(\r\n private _snackBar: MatSnackBar,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialogRef: MatDialogRef,\r\n public gallaryService: GalleryService,\r\n ) {\r\n dialogRef.disableClose;\r\n this.selectedCategory = JSON.parse(JSON.stringify(data.selected));\r\n this.oldName = this.selectedCategory.name;\r\n this.oldColor = this.selectedCategory.color;\r\n data.stories && data.stories.forEach(e => {\r\n e.oldCategoryId = e.categoryId;\r\n });\r\n this.categoryList = data.list;\r\n this.colors = JSON.parse(JSON.stringify(gallaryService.getColors()));\r\n this.updateColorAvailability();\r\n this.updateName();\r\n this.validateSave();\r\n }\r\n\r\n updateColorAvailability() {\r\n this.colors.forEach(e => {\r\n const color = this.categoryList.find(c => e.color !== this.selectedCategory.color && c.color === e.color)\r\n if (color) {\r\n e.available = false;\r\n } else {\r\n e.available = true;\r\n }\r\n });\r\n this.colors = [...this.colors.filter(e => e.available), ...this.colors.filter(e => !e.available)];\r\n if (this.oldColor.trim() !== '') {\r\n const colorIndex = this.colors.findIndex(e => e.color === this.oldColor);\r\n if (colorIndex > -1) {\r\n const selectedColor = this.colors[colorIndex];\r\n this.colors.splice(colorIndex, 1);\r\n this.colors.splice(0, 0, selectedColor);\r\n }\r\n } else {\r\n this.updateColor(this.colors[0]);\r\n }\r\n }\r\n\r\n updateColor(color) {\r\n if (color.available) {\r\n this.selectedCategory.color = color.color;\r\n this.selectedCategory.categoryClass = 'category_' + color.id;\r\n if (this.selectedCategory.color.trim() === '') {\r\n this.validateEmpty.color = true;\r\n } else {\r\n this.validateEmpty.color = false;\r\n this.validateKeys.color = this.oldColor !== this.selectedCategory.color;\r\n }\r\n this.validateSave();\r\n }\r\n }\r\n\r\n updateName() {\r\n if (this.selectedCategory.name.trim() === '') {\r\n this.validateEmpty.name = true;\r\n } else {\r\n this.validateEmpty.name = false;\r\n this.validateKeys.name = this.oldName !== this.selectedCategory.name;\r\n }\r\n this.validateSave();\r\n }\r\n\r\n updateValue($e, story) {\r\n story.categoryId = $e.target.value;\r\n this.validateChange();\r\n }\r\n\r\n onCancel() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n public isDataLoading = false;\r\n\r\n onSave() {\r\n if (!this.isUpdated && !this.isStoryUpdated) {\r\n return\r\n }\r\n if (!this.data.isEdit) {\r\n const obj = {\r\n \"name\": this.selectedCategory.name,\r\n \"color\": this.selectedCategory.color,\r\n };\r\n this.isDataLoading = true;\r\n this.gallaryService.createCategory(obj).subscribe((res : any) => {\r\n this.showToastMessage(res.message, false);\r\n const data = {\r\n isEdit: false,\r\n category: {\r\n name: this.selectedCategory.name,\r\n color: this.selectedCategory.color,\r\n categoryId: res.data.categoryId,\r\n categoryClass: 'category_' + this.colors.find(e => this.selectedCategory.color === e.color).id\r\n }\r\n }\r\n this.isDataLoading = false;\r\n this.dialogRef.close(data);\r\n }, (err) => {\r\n this.showToastMessage(err.error.message);\r\n this.isDataLoading = false;\r\n })\r\n } else {\r\n const obj = {\r\n \"name\": this.selectedCategory.name,\r\n \"color\": this.selectedCategory.color,\r\n \"categoryId\": this.selectedCategory.categoryId,\r\n \"stories\": this.data.stories.map(e => {\r\n return {\r\n storyId: e.storyId,\r\n categoryId: e.categoryId,\r\n }\r\n }),\r\n };\r\n this.isDataLoading = true;\r\n this.gallaryService.updateCategory(obj).subscribe((res: any) => {\r\n this.showToastMessage(res.message, false);\r\n const data = {\r\n isEdit: this.data.isEdit,\r\n isColorChanged: this.oldColor !== this.selectedCategory.color,\r\n stories: this.data.stories,\r\n category: this.selectedCategory,\r\n }\r\n this.isDataLoading = false;\r\n this.dialogRef.close(data);\r\n }, (err) => {\r\n this.showToastMessage(err.error.message);\r\n this.isDataLoading = false;\r\n })\r\n }\r\n }\r\n\r\n validateSave() {\r\n this.isUpdated = false;\r\n let isEmpty = false;\r\n for (const key in this.validateEmpty) {\r\n if (Object.prototype.hasOwnProperty.call(this.validateEmpty, key)) {\r\n if (this.validateEmpty[key] === true) {\r\n isEmpty = true;\r\n }\r\n }\r\n }\r\n\r\n if (isEmpty) { return false }\r\n\r\n for (const key in this.validateKeys) {\r\n if (Object.prototype.hasOwnProperty.call(this.validateKeys, key)) {\r\n if (this.validateKeys[key] === true) {\r\n this.isUpdated = true;\r\n }\r\n }\r\n }\r\n\r\n return this.isUpdated;\r\n }\r\n\r\n validateChange() {\r\n this.isStoryUpdated = false;\r\n for (let i = 0; i < this.data.stories.length; i++) {\r\n const story = this.data.stories[i];\r\n if (story.oldCategoryId !== story.categoryId) {\r\n this.isStoryUpdated = true;\r\n i += this.data.stories.length;\r\n }\r\n }\r\n }\r\n\r\n showToastMessage(message, isError = true, duration= 3000) {\r\n this._snackBar.open(message, '', {\r\n\t\t\tduration,\r\n\t\t\tpanelClass: isError ? 'error' : 'success',\r\n\t\t\tverticalPosition: 'top',\r\n\t\t\thorizontalPosition: 'right'\r\n\t\t})\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2dhbGxlcnkvdGlsZS1zZXR0aW5ncy1vdmVybGF5L3RpbGUtc2V0dGluZ3Mtb3ZlcmxheS5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n

Story Settings {{ data.story.title }}

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
General
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Please enter the Use Case Name\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please enter the description\\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
Group
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatSnackBar } from '@angular/material';\r\nimport { GalleryService } from '../gallery.service';\r\nimport { GoogleAnalyticsService } from 'src/app/services/google-analytics.service';\r\nimport { GAIndex } from 'src/app/shared/enum/enum';\r\n\r\n@Component({\r\n selector: 'app-tile-settings-overlay',\r\n templateUrl: './tile-settings-overlay.component.html',\r\n styleUrls: ['./tile-settings-overlay.component.css'],\r\n providers: [GalleryService]\r\n})\r\nexport class TileSettingsOverlayComponent implements OnInit {\r\n\r\n public isLoading = false;\r\n public oldStory;\r\n public isUpdated = false;\r\n\r\n public validateKeys = {\r\n 'groupId': false,\r\n 'category': false,\r\n 'isInteractive': false,\r\n 'isNew': false,\r\n 'isHidden': false,\r\n 'description': false,\r\n 'boldTitle': false,\r\n 'title': false,\r\n }\r\n\r\n public validateEmpty = {\r\n title: false,\r\n description: false,\r\n }\r\n\r\n constructor(\r\n private _snackBar: MatSnackBar,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialogRef: MatDialogRef,\r\n public gallaryService: GalleryService) {\r\n dialogRef.disableClose = true;\r\n this.isLoading = true;\r\n this.oldStory = { ...data.story, displayTitle: { ...data.story.displayTitle } }\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n updateDescription() {\r\n if (this.data.story.description.trim() === '') {\r\n this.validateEmpty.description = true;\r\n } else {\r\n this.validateEmpty.description = false;\r\n this.validateKeys.description = this.oldStory.description !== this.data.story.description;\r\n }\r\n this.validateSave();\r\n }\r\n\r\n updateCategory() {\r\n this.validateKeys.category = this.oldStory.categoryId !== this.data.story.categoryId;\r\n this.validateSave()\r\n }\r\n\r\n updateGroup() {\r\n this.validateKeys.groupId = this.oldStory.groupId !== this.data.story.groupId;\r\n this.validateSave()\r\n }\r\n\r\n updateLine1() {\r\n if (this.data.story.displayTitle.line1.trim() === '') {\r\n this.validateEmpty.title = true;\r\n } else {\r\n this.validateEmpty.title = false;\r\n this.validateKeys.title = this.oldStory.displayTitle.line1 !== this.data.story.displayTitle.line1;\r\n }\r\n this.validateSave();\r\n }\r\n\r\n updateLine2() {\r\n this.validateKeys.boldTitle = this.oldStory.displayTitle.line2 !== this.data.story.displayTitle.line2;\r\n this.validateSave();\r\n }\r\n\r\n updateQuickToggles(key) {\r\n this.data.story[key] = !this.data.story[key];\r\n this.validateKeys[key] = this.oldStory[key] !== this.data.story[key];\r\n this.validateSave();\r\n }\r\n\r\n validateSave() {\r\n this.isUpdated = false;\r\n let isEmpty = false;\r\n for (const key in this.validateEmpty) {\r\n if (Object.prototype.hasOwnProperty.call(this.validateEmpty, key)) {\r\n if (this.validateEmpty[key] === true) {\r\n isEmpty = true;\r\n }\r\n }\r\n }\r\n\r\n if (isEmpty) { return false }\r\n\r\n for (const key in this.validateKeys) {\r\n if (Object.prototype.hasOwnProperty.call(this.validateKeys, key)) {\r\n if (this.validateKeys[key] === true) {\r\n this.isUpdated = true;\r\n }\r\n }\r\n }\r\n\r\n return this.isUpdated;\r\n }\r\n\r\n public isDataLoading = false;\r\n\r\n onSubmit() {\r\n if (this.validateSave()) {\r\n this.isDataLoading = true;\r\n const tempTitle = `${this.data.story.displayTitle.line1.trim()} ${this.data.story.displayTitle.line2.trim()}`\r\n const payload = {\r\n \"storyId\": this.data.story.id, \r\n \"title\": tempTitle,\r\n \"displayTitle\": {\r\n line1: this.data.story.displayTitle.line1,\r\n line2: this.data.story.displayTitle.line2,\r\n },\r\n \"categoryId\": this.data.story.categoryId, \r\n \"description\": this.data.story.description,\r\n \"configurationId\": null, \r\n \"groupId\": this.data.story.groupId, \r\n \"isVisible\": !this.data.story.isHidden, \r\n \"isNew\": this.data.story.isNew, \r\n \"isInteractive\": this.data.story.isInteractive, \r\n }\r\n\r\n this.gallaryService.updateStory(payload).subscribe((res: any) => {\r\n this.showToastMessage(res.message, false);\r\n this.isDataLoading = false;\r\n if (this.validateKeys.category) {\r\n const index = this.data.categories.findIndex(e => e.categoryId === this.data.story.categoryId);\r\n if (index > -1) {\r\n this.data.story.category = this.data.categories[index].name;\r\n this.data.story.categoryClass = this.data.categories[index].categoryClass;\r\n }\r\n }\r\n this.dialogRef.close(this.data.story);\r\n }, (err) => {\r\n this.isDataLoading = false;\r\n this.showToastMessage(err.error.message);\r\n });\r\n }\r\n }\r\n\r\n onCancel() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n showToastMessage(message, isError = true, duration= 3000) {\r\n this._snackBar.open(message, '', {\r\n\t\t\tduration,\r\n\t\t\tpanelClass: isError ? 'error' : 'success',\r\n\t\t\tverticalPosition: 'top',\r\n\t\t\thorizontalPosition: 'right'\r\n\t\t})\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2dhbGxlcnkvdmlzaXQtcmVhc29uLW92ZXJsYXkvdmlzaXQtcmVhc29uLW92ZXJsYXkuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n What are you looking for?\\r\\n Let us know how can we help you.\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{purpose.name}}\\r\\n \\r\\n \\r\\n

\\r\\n Select purpose of visit

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n Enter client name or purpose of visit

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatSnackBar } from '@angular/material';\r\nimport { ContactComponent } from 'src/app/core/contact/contact.component';\r\nimport { GalleryService } from '../gallery.service';\r\nimport { GoogleAnalyticsService } from 'src/app/services/google-analytics.service';\r\nimport { GAIndex } from 'src/app/shared/enum/enum';\r\n\r\n@Component({\r\n selector: 'app-visit-reason-overlay',\r\n templateUrl: './visit-reason-overlay.component.html',\r\n styleUrls: ['./visit-reason-overlay.component.css'],\r\n providers: [GalleryService]\r\n})\r\nexport class VisitReasonOverlayComponent {\r\n visitReasonForm: FormGroup;\r\n isFormSubmitted = false;\r\n isSubmitting = false;\r\n userInfo = null;\r\n public purposeList = [{\r\n name: 'Campus Presentation',\r\n slug: 'campus_presentation'\r\n }, {\r\n name: 'Client Demo',\r\n slug: 'client_demo'\r\n }, {\r\n name: 'Conference',\r\n slug: 'conference'\r\n }, {\r\n name: 'Internal Demo',\r\n slug: 'internal_demo'\r\n }, {\r\n name: 'RFP',\r\n slug: 'rfp'\r\n }\r\n /* , {\r\n name: 'Testing',\r\n slug: 'testing'\r\n } */\r\n , {\r\n name: 'Other',\r\n slug: 'other'\r\n }];\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialogRef: MatDialogRef,\r\n public gallaryService: GalleryService,\r\n private _gaService: GoogleAnalyticsService,\r\n private _snackBar: MatSnackBar) {\r\n this.userInfo = data.userInfo;\r\n this.visitReasonForm = formBuilder.group({\r\n purpose: [null, Validators.required],\r\n reason: ['', Validators.required],\r\n });\r\n }\r\n\r\n onSubmit() {\r\n this.isFormSubmitted = true;\r\n if (this.visitReasonForm.invalid) {\r\n return false;\r\n }\r\n const requestObj = { ...this.visitReasonForm.value, userId: this.userInfo.id };\r\n requestObj.purpose = this.purposeList.find(p => p.slug === requestObj.purpose);\r\n this.isSubmitting = true;\r\n // console.log(requestObj);\r\n this.gallaryService.setPurposeData(requestObj).subscribe((res: any) => {\r\n const GA_config = {};\r\n GA_config[GAIndex.CLIENT_NAME_OR_PURPOSE] = requestObj.reason;\r\n this._gaService.triggerEvent('Visit', 'Purpose', requestObj.purpose.name, GA_config);\r\n this.isSubmitting = false;\r\n this._snackBar.open(res.message, '', {\r\n duration: 3000,\r\n panelClass: 'success',\r\n verticalPosition: 'top',\r\n horizontalPosition: 'right'\r\n });\r\n this.dialogRef.close(requestObj);\r\n }, (err: any) => {\r\n this.dialogRef.close();\r\n this._snackBar.open(err.error.message, '', {\r\n duration: 3000,\r\n panelClass: 'error',\r\n verticalPosition: 'top',\r\n horizontalPosition: 'right'\r\n });\r\n });\r\n }\r\n}\r\n","import { DragDropModule, CDK_DRAG_CONFIG } from '@angular/cdk/drag-drop';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport {\r\n MatButtonModule,\r\n MatMenuModule,\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatCardModule,\r\n MatTableModule,\r\n MatDialogModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatSnackBarModule,\r\n MatTooltipModule,\r\n MatExpansionModule,\r\n MatSelectModule,\r\n MatGridListModule\r\n} from '@angular/material';\r\n\r\n// const DragConfig = {\r\n// dragStartThreshold: 0,\r\n// pointerDirectionChangeThreshold: 5,\r\n// zIndex: 100000\r\n// };\r\n\r\n@NgModule({\r\n imports: [\r\n MatButtonModule,\r\n MatMenuModule,\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatCardModule,\r\n MatTableModule,\r\n MatDialogModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatSnackBarModule,\r\n MatTooltipModule,\r\n MatExpansionModule,\r\n MatSelectModule,\r\n MatGridListModule,\r\n DragDropModule\r\n ],\r\n exports: [\r\n MatButtonModule,\r\n MatMenuModule,\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatCardModule,\r\n MatTableModule,\r\n MatDialogModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatSnackBarModule,\r\n MatTooltipModule,\r\n MatExpansionModule,\r\n MatSelectModule,\r\n MatGridListModule,\r\n DragDropModule\r\n ],\r\n // providers: [{ provide: CDK_DRAG_CONFIG, useValue: DragConfig }],\r\n})\r\nexport class MaterialModule {}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'filter' })\r\nexport class FilterPipe implements PipeTransform {\r\n transform(items: [], filterOn: string = \"\", isQuickSettingsActive = true) {\r\n // if (!items || !filterOn) {\r\n // return items;\r\n // }\r\n // return items;\r\n var filteredItem = items.filter((item) => this.applyFilter(item, filterOn, isQuickSettingsActive));\r\n if (filteredItem.length == 0) {\r\n return [-1];\r\n }\r\n return filteredItem;\r\n }\r\n\r\n getUpdatedDim(v, visibleStories, isQuickSettingsActive) {\r\n if (v.isGroup) {\r\n v.cols = 6;\r\n if (visibleStories.length != 0) {\r\n v.cols = visibleStories.length > 1 ? 6 : 3;\r\n if (visibleStories && visibleStories.length !== 0) {\r\n visibleStories.forEach((e: any, i, arr) => {\r\n e.rows = 10;\r\n e.cols = visibleStories.length > 1 ? (i === arr.length - 1 && i % 2 == 0 ? 12 : 6) : 12;\r\n return e;\r\n });\r\n }\r\n const paddingTop = 2\r\n const paddingBottom = 1\r\n v.rows = Math.ceil(visibleStories.length / 2) * 10 + paddingTop + paddingBottom + (isQuickSettingsActive ? 1 : 0);\r\n if (visibleStories.length === 0) {\r\n v.rows = 0;\r\n v.cols = 0;\r\n v.noStories = true;\r\n } else {\r\n v.noStories = false;\r\n }\r\n } else {\r\n v.rows = 0;\r\n v.cols = 0;\r\n v.noStories = true;\r\n }\r\n }\r\n }\r\n\r\n applyFilter(item, filter, isQuickSettingsActive): boolean {\r\n var foundItemInTitle = true;\r\n var foundItemInTags = true;\r\n var foundByCategory = true;\r\n\r\n // var foundByGroupName = true;\r\n var foundInGroupStoryList = true;\r\n\r\n if (item.type === 'story' && (isQuickSettingsActive || !item.isHidden)) {\r\n if ((item.title.toLowerCase().indexOf(filter.toLowerCase()) < 0)) {\r\n foundItemInTitle = false;\r\n }\r\n\r\n if ((item.category.toLowerCase().indexOf(filter.toLowerCase()) < 0)) {\r\n foundByCategory = false;\r\n }\r\n\r\n if (item.tags && item.tags.length) {\r\n var foundTags = item.tags.filter((tag) => ((tag.toLowerCase().indexOf(filter.toLowerCase()) < 0 ? false : true)));\r\n if (!foundTags || !foundTags.length) {\r\n foundItemInTags = false;\r\n }\r\n }\r\n return foundItemInTitle || foundItemInTags || foundByCategory;\r\n } else if (item.type === 'group' && (isQuickSettingsActive || !item.isHidden)) {\r\n // if ((item.name.toLowerCase().indexOf(filter.toLowerCase()) < 0) || item.stories.length == 0) {\r\n // foundByGroupName = false;\r\n // }\r\n\r\n const isTagPresent = (obj) => {\r\n if (obj.tags && obj.tags.length) {\r\n var foundTags = obj.tags.filter((tag) => ((tag.toLowerCase().indexOf(filter.toLowerCase()) < 0 ? false : true)));\r\n return (!foundTags || !foundTags.length) ? false : true;\r\n }\r\n }\r\n\r\n let storyList = item.stories.filter(obj => {\r\n return (isQuickSettingsActive || !obj.isHidden) &&\r\n (\r\n ((obj.title.toLowerCase().indexOf(filter.toLowerCase()) > -1) ? true : false) ||\r\n ((obj.category.toLowerCase().indexOf(filter.toLowerCase()) > -1) ? true : false) ||\r\n (isTagPresent(obj))\r\n )\r\n // || ((obj.tags.filter((tag) => ((tag.toLowerCase().indexOf(filter.toLowerCase()) > -1 ? true : false))).length > 0) ? true : false)\r\n });\r\n\r\n this.getUpdatedDim(item, storyList, isQuickSettingsActive);\r\n\r\n foundInGroupStoryList = storyList.length ? true : false;\r\n\r\n return foundInGroupStoryList;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({name: 'replaceSpace'})\r\nexport class ReplacePipe implements PipeTransform {\r\n transform(value: string, strToReplace: string, replacementStr: string): string {\r\n if(!value || ! strToReplace || ! replacementStr)\r\n {\r\n return value;\r\n }\r\n return value.replace(new RegExp(strToReplace, 'g'), replacementStr);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Pipe({ name: 'sanitizeHtml' })\r\n\r\nexport class SanitizeHtmlPipe implements PipeTransform {\r\n\r\n constructor(private _sanitizer: DomSanitizer) { }\r\n\r\n public transform(value: any, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n switch (type) {\r\n case 'html': return this._sanitizer.bypassSecurityTrustHtml(value);\r\n case 'style': return this._sanitizer.bypassSecurityTrustStyle(value);\r\n case 'script': return this._sanitizer.bypassSecurityTrustScript(value);\r\n case 'url': return this._sanitizer.bypassSecurityTrustUrl(value);\r\n case 'resourceUrl': return this._sanitizer.bypassSecurityTrustResourceUrl(value);\r\n default: throw new Error(`Invalid safe type specified: ${type}`);\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'sparatorsplit' })\r\nexport class SparatorSplitPipe implements PipeTransform {\r\n transform(value: string, sparator: string, element: string, isJoin: boolean) {\r\n \tvar newValue = value.split(sparator)[(+element-1)];\r\n \tvar allWords;\r\n \tif (isJoin) {\r\n \t\tallWords = value.split(sparator);\r\n \t\tallWords.shift();\r\n \t\tnewValue = allWords.join(\" \");\r\n \t}\r\n \treturn newValue;\r\n }\r\n}\r\n","export class D3EventTimelineService {\r\n private timelineData: Array = [];\r\n private shapePosition: Array = [];\r\n years = ['1/1/2006', '1/1/2007', '1/1/2008', '1/1/2009', '1/1/2010', '1/1/2011', '1/1/2012', '1/1/2013', '1/1/2014', '1/1/2015', '1/1/2016', '1/1/2017'];\r\n getYear(index) {\r\n return this.years[index].split(\"/\")[2]\r\n }\r\n\r\n setData(timelineData, index) {\r\n this.timelineData[index] = { \"userActivities\": timelineData.userActivities };\r\n }\r\n\r\n getData(index) {\r\n return this.timelineData[index];\r\n }\r\n\r\n createData(index, shapes, shapesColor, timelineDetails) {\r\n const { shapeTextMessage, toolTipMessage, displayeMessageAt, timelineIndex, shapeSize, shapeTextColor } = timelineDetails;\r\n let userActivities = [];\r\n for (let activityIndex = 1; activityIndex < (this.years.length - 1); activityIndex++) {\r\n // var randomNumber = getRndInteger(7, 16);\r\n let shapePosition = Math.floor(Math.random() * shapes.length);\r\n userActivities.push({\r\n date: (Math.floor(Math.random() * 12) + 1) + '/1/' + this.getYear(activityIndex), //month/day/year years[activityIndex]\r\n shapeType: shapes[shapePosition],\r\n colorId: shapes.length == 1 ? Math.floor(Math.random() * this.getRandom(0, shapesColor.length)) : shapePosition,\r\n shapeText: shapeTextMessage ? shapeTextMessage[activityIndex % shapeTextMessage.length] : null,\r\n shapeTextColor: shapeTextColor ? shapeTextColor : null,\r\n shapeSize,\r\n showTooltip: ((displayeMessageAt.find((element) => { return element === activityIndex }) === activityIndex) &&\r\n (timelineIndex === index)) ? toolTipMessage[activityIndex % toolTipMessage.length] : null,\r\n })\r\n }\r\n this.timelineData[index] = { \"userActivities\": userActivities.slice() };\r\n }\r\n\r\n getRandom(min, max) {\r\n return Math.floor(Math.random() * (max - min + 1) + min);\r\n }\r\n\r\n setShapePosition(value) {\r\n this.shapePosition = value;\r\n }\r\n\r\n getShapePosition() {\r\n return this.shapePosition.slice();\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { AuthService } from '../shared/auth.service';\r\nimport { GAIndex, UserType, GAUserType } from 'src/app/shared/enum/enum';\r\n\r\n// Learn More: https://developers.google.com/analytics/devguides/collection/analyticsjs/command-queue-reference\r\n// https://developers.google.com/analytics/devguides/collection/gtagjs/events\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GoogleAnalyticsService {\r\n\r\n private _ga = null;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private _authService: AuthService\r\n ) {\r\n const script = document.createElement('script');\r\n script.async = true;\r\n script.src = 'https://www.googletagmanager.com/gtag/js?id=' + environment.google_analytics_ID;\r\n this.document.head.prepend(script);\r\n\r\n window['dataLayer'] = window['dataLayer'] || [];\r\n this._ga = function () {\r\n window['dataLayer'].push(arguments);\r\n };\r\n // this._ga('config', environment.google_analytics_ID);\r\n this._ga('js', new Date());\r\n }\r\n\r\n public notifyPageView(route) {\r\n const config = {\r\n 'page_title': `${this.document.title} | ${route.slice(route.lastIndexOf('/') + 1)}`,\r\n 'page_path': route\r\n };\r\n this._ga('config', environment.google_analytics_ID, config);\r\n }\r\n\r\n public triggerEvent(action, category = 'default', label = 'default', data = null) {\r\n const userData: any = this._authService.getUser();\r\n const config: any = {\r\n 'event_category': category,\r\n 'event_label': label,\r\n };\r\n if (userData) {\r\n if (userData.type === UserType.ZS) {\r\n config[GAIndex.EMAIL_ID] = userData.emailId;\r\n config[GAIndex.CAPABILITY_GROUP] = userData.capabilityGroup;\r\n config[GAIndex.DEPARTMENT] = userData.department;\r\n }\r\n config[GAIndex.NAME] = userData.name;\r\n // tslint:disable-next-line: max-line-length\r\n config[GAIndex.USER_TYPE] = (userData.type === UserType.ADMIN) ? GAUserType.ADMIN : ((userData.type === UserType.ZS) ? GAUserType.ZS : GAUserType.NON_ZS);\r\n }\r\n // console.log('event', action, {...config, ...data}, userData);\r\n this._ga('event', action, {...config, ...data});\r\n }\r\n}\r\n","export class D3CustomShapesService {\r\n mathPI = Math.PI;\r\n tau$4 = 2 * this.mathPI;\r\n ka = 0.89081309152928522810;\r\n kr = Math.sin(this.mathPI / 10) / Math.sin(7 * this.mathPI / 10);\r\n kx = Math.sin(this.tau$4 / 10) * this.kr;\r\n ky = -Math.cos(this.tau$4 / 10) * this.kr;\r\n sqrt3 = Math.sqrt(3);\r\n circumradiusCoeff = 1 / 10 * Math.sqrt(50 + 10 * Math.sqrt(5)); \r\n\r\n flowShapes = null;\r\n pathActions = null;\r\n\r\n constructor() {\r\n this.initPathsActions();\r\n this.initShapes();\r\n }\r\n\r\n initPathsActions() {\r\n this.pathActions = {\r\n moveTo: (x, y) => {\r\n return \"M\" + x + \", \" + y;\r\n },\r\n lineTo: (x, y) => {\r\n return \"L\" + x + \", \" + y;\r\n },\r\n closePath: () => {\r\n return \"Z\";\r\n }\r\n }\r\n }\r\n\r\n initShapes() {\r\n this.flowShapes = {\r\n square: (size) => {\r\n let r = Math.sqrt(size) / 2;\r\n return \"M\" + -r + \",\" + -r + \"L\" + r + \",\" + -r + \" \" + r + \",\" + r + \" \" + -r + \",\" + r + \"Z\";\r\n },\r\n circle: (size) => {\r\n let r = Math.sqrt(size / Math.PI);\r\n return \"M0,\" + r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + -r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + r + \"Z\";\r\n },\r\n cross: (size) => {\r\n let r = Math.sqrt(size / 5) / 2;\r\n return \"M\" + -3 * r + \",\" + -r + \"H\" + -r + \"V\" + -3 * r + \"H\" + r + \"V\" + -r + \"H\" + 3 * r + \"V\" + r + \"H\" + r + \"V\" + 3 * r + \"H\" + -r + \"V\" + r + \"H\" + -3 * r + \"Z\";\r\n },\r\n hexagoan: (size) => {\r\n let t = this.tau$4 / 12;\r\n let num = 2 * size;\r\n let denom = 3 * Math.sqrt(3);\r\n let s = Math.sqrt(num / denom);\r\n let R = s;\r\n let points = this.rotatePoint(R, 0, t);\r\n let path = this.pathActions.moveTo(points[0], points[1]);\r\n\r\n for (let i = 0; i < 6; ++i) {\r\n let a = this.tau$4 * i / 6;\r\n let x = Math.cos(a) * R;\r\n let y = Math.sin(a) * R;\r\n points = this.rotatePoint(x, y, t);\r\n path += this.pathActions.lineTo(points[0], points[1]);\r\n\r\n }\r\n\r\n path += this.pathActions.closePath();\r\n return path;\r\n\r\n },\r\n star: (size)=> {\r\n let r = Math.sqrt(size * this.ka),\r\n x = this.kx * r,\r\n y = this.ky * r;\r\n // context.moveTo(0, -r);\r\n let path = \"M0,\" + -r;\r\n path += \"L\" + x + \", \" + y;\r\n // context.lineTo(x, y);\r\n for (let i = 1; i < 5; ++i) {\r\n let a = this.tau$4 * i / 5,\r\n c = Math.cos(a),\r\n s = Math.sin(a);\r\n path += \"L\" + (s * r) + \", \" + (-c * r);\r\n path += \"L\" + (c * x - s * y) + \", \" + (s * x + c * y);\r\n }\r\n path += \"Z\";\r\n return path;\r\n },\r\n pentagon: (size) => {\r\n\r\n let s = this.sideLength(size);\r\n let R = this.circumradius(s);\r\n let theta = -this.tau$4 / 4; // Rotate 1/4 turn back so the shape is oriented with a point upward.\r\n\r\n let points = this.rotatePoint(R, 0, theta);\r\n let path = \"M\" + points[0] + \", \" + points[1];\r\n\r\n for (let i = 0; i < 5; ++i) {\r\n let a = this.tau$4 * i / 5;\r\n let x = Math.cos(a) * R;\r\n let y = Math.sin(a) * R;\r\n points = this.rotatePoint(x, y, theta);\r\n path += \"L\" + points[0] + \", \" + points[1];\r\n\r\n }\r\n path += \"Z\";\r\n return path;\r\n },\r\n triangleDown: (size) => {\r\n let y = -Math.sqrt(size / (this.sqrt3 * 3));\r\n let path = this.pathActions.moveTo(0, -y * 2);\r\n path += this.pathActions.lineTo(-this.sqrt3 * y, y);\r\n path += this.pathActions.lineTo(this.sqrt3 * y, y);\r\n path += this.pathActions.closePath();\r\n return path;\r\n },\r\n triangleLeft: (size) => {\r\n let x = -Math.sqrt(size / (this.sqrt3 * 3));\r\n let path = this.pathActions.moveTo(x * 2, 0);\r\n path += this.pathActions.lineTo(-x, -this.sqrt3 * x);\r\n path += this.pathActions.lineTo(-x, this.sqrt3 * x);\r\n path += this.pathActions.closePath()\r\n return path;\r\n\r\n },\r\n triangleRight: (size) => {\r\n let x = -Math.sqrt(size / (this.sqrt3 * 3));\r\n let path = this.pathActions.moveTo(-x * 2, 0);\r\n path += this.pathActions.lineTo(x, -this.sqrt3 * x);\r\n path += this.pathActions.lineTo(x, this.sqrt3 * x);\r\n path += this.pathActions.closePath()\r\n return path;\r\n }\r\n\r\n }\r\n }\r\n\r\n circumradius(side) {\r\n return side * this.circumradiusCoeff;\r\n }\r\n\r\n sideLength(area) {\r\n let num = 4 * area;\r\n let denom = Math.sqrt(5 * (5 + 2 * Math.sqrt(5)));\r\n return Math.sqrt(num / denom);\r\n }\r\n\r\n rotatePoint(x, y, theta) {\r\n return [\r\n Math.cos(theta) * x + -Math.sin(theta) * y,\r\n Math.sin(theta) * x + Math.cos(theta) * y\r\n ];\r\n }\r\n\r\n getShapeCoordinates(shapeType, size) {\r\n return this.flowShapes[shapeType](size);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { AuthService } from '../shared/auth.service';\r\nimport { Router } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { environment } from 'src/environments/environment';\r\nimport { delay } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class HttpWrapperService {\r\n constructor(\r\n private http: HttpClient,\r\n private _authService: AuthService,\r\n private _router: Router,\r\n private _snackBar: MatSnackBar\r\n ) { }\r\n\r\n get(url: string, options?: any): Observable {\r\n return this.request('GET', url, options);\r\n }\r\n\r\n post(url: string, data: any, options: any = {}): Observable {\r\n options = { ...options, body: data };\r\n return this.request('POST', url, options);\r\n }\r\n\r\n put(url: string, data: any, options?: any): Observable {\r\n let reqBody = { body: data };\r\n if (options) {\r\n reqBody = { ...options };\r\n }\r\n return this.request('PUT', url, reqBody);\r\n }\r\n\r\n delete(url: string, data: any, options?: any): Observable {\r\n let reqBody = { body: data };\r\n if (options) {\r\n reqBody = { ...options };\r\n }\r\n options = { ...options, body: data };\r\n return this.request('DELETE', url, reqBody);\r\n }\r\n\r\n private request(method: string, url: string, options: any = {}) {\r\n // TODO:SPM Mock Data\r\n /*if (!environment.production) {\r\n let res = null;\r\n console.log(url);\r\n\r\n if (url.endsWith('refresh-token')) {\r\n // tslint:disable-next-line: max-line-length\r\n res = { data: { userDetails: { userId: '1', type: 'custom', role: 'admin', name: 'admin' }, token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9c&peyJ1c2VySWQiOiIxIiwidHlwZSI6ImN1c3RvbSIsInJvbGUiOiJhZG1pbiIsIm5hbWUiOiJhZG1pbiIsImlhdCI6MTYwMDkzMzIwMywiZXhwIjoxNjAwOTQ3NjAzfQG@C11XIexyQUr-U7k3_wvoeM7ZuyKlaMttQ6e05r0pesXI', _s: { 'CloudFront-Policy': 'eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cCo6Ly9kMXo0b2Q4cXN5MnZ0Zy5jbG91ZGZyb250Lm5ldC8qIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNjAxMDIxMDQzMDQxfX19XX0_;path=/;', 'CloudFront-Key-Pair-Id': 'APKAJVB2VOTEGBAF6F4A;path=/;', 'CloudFront-Signature': 'sUA81C7eqMzcn3FW8wuIAYGwQdZjrSUrfxK0dDHs8cHcsgXAu8wmAfgD8KtxHlKfbjvJqgR2CoLXj3Hg8S93g2~~dyYGiibxuhHJe-8WrWGlwMGd1H-B434QXuo1GXTrrky76XdD7CM1MwicSeSWQxVwc0~ssrdS28~r~C1ZFBmhEgTi5eykcB6UHtpdYNyp4si2FG8soj9Hy4R0myTaAAO0bCidzwDlw2QwC62oNB6N9DFy~41KK~BH18H0bAT8bCFyj7-l9gOb4Xpjh0ClY2wmdfG5PO2Xc7bQR85rMK6SgTXgKs0QwkT1civRUk5jxSeI8ncPH0K63N7SIb5xUQ__;path=/;' } }, message: 'Refresh completed' };\r\n }\r\n else if(url.endsWith('metadata-details')){\r\n res = {\"data\":{\"promoVideoUrl\":\"https://aigallery.demo.zsservices.com/stories/public/videos/ai-gallery-video.mp4\"},\"message\":\"Metadata details fetched successfully\"}\r\n }\r\n else if(url.endsWith('categories')){\r\n res = {\"data\":[{\"categoryId\":\"4\",\"name\":\"AI in Cross-enterprise solutions\",\"color\":\"#D4F8E7\",\"sequenceOrder\":4,\"createdAt\":null,\"createdBy\":null,\"updatedAt\":\"1634714898000\",\"updatedBy\":\"1\"},{\"categoryId\":\"3\",\"name\":\"AI in Personalization\",\"color\":\"#FFEAD5\",\"sequenceOrder\":3,\"createdAt\":null,\"createdBy\":null,\"updatedAt\":\"1655800314000\",\"updatedBy\":\"1\"},{\"categoryId\":\"1\",\"name\":\"AI in Commercial Planning\",\"color\":\"#DDEAFF\",\"sequenceOrder\":1,\"createdAt\":null,\"createdBy\":null,\"updatedAt\":\"1655816735000\",\"updatedBy\":\"1\"},{\"categoryId\":\"2\",\"name\":\"AI in Trial design and operations \",\"color\":\"#FFE5E5\",\"sequenceOrder\":2,\"createdAt\":null,\"createdBy\":null,\"updatedAt\":\"1655817451000\",\"updatedBy\":\"1\"}],\"message\":\"All categories fetched successfully\"}\r\n }\r\n else if(url.endsWith('tiles')){\r\n res = {\"data\":[{\"id\":\"21\",\"type\":\"story\",\"categoryId\":\"3\",\"sequenceOrder\":21,\"endpoint\":null,\"title\":\"Atlas Intelligence Innovation\",\"description\":\"A package of proprietary machine learning models specifically trained to decompose consumer decision -making and provide the \\\"why\\\" behind the \\\"what\\\"\",\"url\":\"atlas-intelligence-kraft\",\"isNew\":true,\"isInteractive\":true,\"isVisible\":true,\"groupId\":null,\"createdAt\":\"1655796748446\",\"createdBy\":\"1\",\"updatedAt\":\"1655800314000\",\"updatedBy\":\"1\",\"isHorizontalView\":true,\"tags\":[\"#test\"],\"displayTitle\":{\"line1\":\"Atlas Intelligence\",\"line2\":\"Innovation\"},\"viewType\":\"business\",\"categoryName\":\"AI in Personalization\"},{\"id\":\"20\",\"type\":\"story\",\"categoryId\":\"2\",\"sequenceOrder\":20,\"endpoint\":\"https://5n6obeli61.execute-api.us-east-1.amazonaws.com/prod\",\"title\":\"Advanced Market Intelligence\",\"description\":\"Tool to analyses category based opportunities, trending topics, brand performances and its comparisons, also analyses hierarchy of brands from least to most granular level\",\"url\":\"advanced_market_intelligence\",\"isNew\":true,\"isInteractive\":false,\"isVisible\":false,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655827844000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\",\"#mattress\"],\"displayTitle\":{\"line1\":\"Advanced Market \",\"line2\":\"Intelligence\"},\"viewType\":\"data_science\",\"categoryName\":\"AI in Cross-enterprise solutions\"},{\"id\":\"19\",\"type\":\"story\",\"categoryId\":\"3\",\"sequenceOrder\":19,\"endpoint\":\"https://oft3hw5rqi.execute-api.us-east-1.amazonaws.com/prod\",\"title\":\"Personalize.AI \",\"description\":\"AI-powered SaaS solution in the area of personalization, used to help companies drive revenue growth from personalized, member level product offer recommendations\",\"url\":\"personalize_ai\",\"isNew\":true,\"isInteractive\":true,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655827844000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\"],\"displayTitle\":{\"line1\":\"Personalize.AI \",\"line2\":\"\"},\"viewType\":\"data_science\",\"categoryName\":\"AI in Cross-enterprise solutions\"},{\"id\":\"22\",\"type\":\"story\",\"categoryId\":\"1\",\"sequenceOrder\":22,\"endpoint\":\"patient-radar\",\"title\":\"Patient Radar \",\"description\":\"An Enterprise grade application to help develop Machine Learning models which help clients predict events in patient journey using Real World Data\",\"url\":\"patient_radar\",\"isNew\":true,\"isInteractive\":true,\"isVisible\":false,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655827844000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\"],\"displayTitle\":{\"line1\":\"Patient Radar\",\"line2\":\"\"},\"viewType\":\"data_science\",\"categoryName\":\"AI in Commercial Planning\"},{\"id\":\"18\",\"type\":\"story\",\"categoryId\":\"3\",\"sequenceOrder\":18,\"endpoint\":null,\"title\":\"Clinical Trial Enrollment Modeling and Predictions\",\"description\":\"Finding right sites to create enrolment plans for clinical trials by Historical Benchmarking, Distribution Parameters, Probabilistic Measurements, Tracking and Reforecasting\",\"url\":\"ctemp\",\"isNew\":true,\"isInteractive\":false,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655827844000\",\"updatedBy\":\"1\",\"isHorizontalView\":true,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\"],\"displayTitle\":{\"line1\":\"Clinical Trial\",\"line2\":\"Enrollment Modeling and Predictions\"},\"viewType\":\"business\",\"categoryName\":\"AI in Cross-enterprise solutions\"},{\"id\":\"17\",\"type\":\"story\",\"categoryId\":\"1\",\"sequenceOrder\":17,\"endpoint\":\"https://ybujwuzuh3.execute-api.us-east-1.amazonaws.com/prod\",\"title\":\"Adaptive Attribute-basedOffers\",\"description\":\"Personalizing hotel recommendation and marketing offers by utilizing customer attribute level willingness-to-pay through multi-step Bayesian modeling\",\"url\":\"adaptive_attribute_based_offers\",\"isNew\":false,\"isInteractive\":false,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655817804000\",\"updatedBy\":\"1\",\"isHorizontalView\":true,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\",\"#Segmentation\"],\"displayTitle\":{\"line1\":\"Adaptive \",\"line2\":\"Attribute-basedOffers\"},\"viewType\":\"business\",\"categoryName\":\"AI in Personalization\"},{\"id\":\"16\",\"type\":\"story\",\"categoryId\":\"3\",\"sequenceOrder\":16,\"endpoint\":\"https://7ampyulxtg.execute-api.us-east-1.amazonaws.com/prod/\",\"title\":\"Field Coaching\",\"description\":\"Extract meaningful insights by uncovering patterns from unstructured text using NLP\",\"url\":\"field_coaching\",\"isNew\":false,\"isInteractive\":true,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655816735000\",\"updatedBy\":\"1\",\"isHorizontalView\":true,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\"],\"displayTitle\":{\"line1\":\"Field \",\"line2\":\"Coaching\"},\"viewType\":\"data_science\",\"categoryName\":\"AI in Commercial Planning\"},{\"id\":\"15\",\"type\":\"story\",\"categoryId\":\"4\",\"sequenceOrder\":15,\"endpoint\":\"https://ks3i1fsdud.execute-api.us-east-1.amazonaws.com/prod\",\"title\":\"AI QNA\",\"description\":\"ML-powered segmentation using millions of secondary data points vs. pure-play primary MR\",\"url\":\"aiqna\",\"isNew\":false,\"isInteractive\":true,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655827844000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\",\"#Segmentation\"],\"displayTitle\":{\"line1\":\"AI \",\"line2\":\"Q&A\"},\"viewType\":\"data_science\",\"categoryName\":\"AI in Commercial Planning\"},{\"id\":\"14\",\"type\":\"story\",\"categoryId\":\"4\",\"sequenceOrder\":14,\"endpoint\":\"https://u2bewys4kj.execute-api.us-east-1.amazonaws.com/prod\",\"title\":\"Plug-N-Predict Telecom\",\"description\":\"An evolutionary algorithm-based high-throughput feature discovery pipeline for customer event prediction (telecom)\",\"url\":\"plug_n_predict_telecom\",\"isNew\":false,\"isInteractive\":false,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655817512000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\",\"#Evolutionary learning\"],\"displayTitle\":{\"line1\":\"Plug-N-Predict \",\"line2\":\"Telecom\"},\"viewType\":\"business\",\"categoryName\":\"AI in Cross-enterprise solutions\"},{\"id\":\"13\",\"type\":\"story\",\"categoryId\":\"4\",\"sequenceOrder\":13,\"endpoint\":\"https://wf1wz28u36.execute-api.us-east-1.amazonaws.com/prod\",\"title\":\"Plug-N-Predict RWD\",\"description\":\"An evolutionary algorithm-based high-throughput feature discovery pipeline for customer event prediction (life science)\",\"url\":\"plug_n_predict_rwd\",\"isNew\":false,\"isInteractive\":false,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655817519000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\",\"#Evolutionary learning\"],\"displayTitle\":{\"line1\":\"Plug-N-Predict \",\"line2\":\"RWD\"},\"viewType\":\"business\",\"categoryName\":\"AI in Cross-enterprise solutions\"},{\"id\":\"12\",\"type\":\"story\",\"categoryId\":\"2\",\"sequenceOrder\":12,\"endpoint\":\"https://s1kok1cvn7.execute-api.us-east-1.amazonaws.com/prod\",\"title\":\"AI-powered Lead Qualification (High Tech)\",\"description\":\"Enhancing sales effectiveness through embedded ML models for intelligent lead qualification\",\"url\":\"leakage_prediction\",\"isNew\":false,\"isInteractive\":false,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655827844000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\"],\"displayTitle\":{\"line1\":\"AI-powered \",\"line2\":\"Lead Qualification (High Tech)\"},\"viewType\":\"business\",\"categoryName\":\"AI in Commercial Planning\"},{\"id\":\"11\",\"type\":\"story\",\"categoryId\":\"1\",\"sequenceOrder\":11,\"endpoint\":\"https://ir45b19jq0.execute-api.us-east-1.amazonaws.com/prod\",\"title\":\"Text Analytics\",\"description\":\"Extract meaningful insights by uncovering patterns from unstructured text using NLP\",\"url\":\"text_analytics\",\"isNew\":false,\"isInteractive\":false,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655816857000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\",\"#NLP\",\"#DQM\"],\"displayTitle\":{\"line1\":\"Text \",\"line2\":\"Analytics\"},\"viewType\":\"business\",\"categoryName\":\"AI in Cross-enterprise solutions\"},{\"id\":\"10\",\"type\":\"story\",\"categoryId\":\"3\",\"sequenceOrder\":10,\"endpoint\":\"https://573xwufuq7.execute-api.us-east-1.amazonaws.com/prod\",\"title\":\"Design Intelligence\",\"description\":\"NLP toolkit to efficiently uncover trial design insights from large-scale unstructured text (e.g. CT.gov, PubMed)\",\"url\":\"design_intelligence\",\"isNew\":false,\"isInteractive\":false,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655817638000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\"],\"displayTitle\":{\"line1\":\"Design \",\"line2\":\"Intelligence\"},\"viewType\":\"data_science\",\"categoryName\":\"AI in Trial design and operations\"},{\"id\":\"9\",\"type\":\"story\",\"categoryId\":\"1\",\"sequenceOrder\":9,\"endpoint\":\"https://teo8hq9zx8.execute-api.us-east-1.amazonaws.com/prod\",\"title\":\"Driverless Forecasting\",\"description\":\"A suite of statistical and machine learning algorithms to increase short-term SKU forecasting agility and accuracy\",\"url\":\"driverless_forecasting\",\"isNew\":false,\"isInteractive\":true,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655816735000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#nlp\",\"#Deep Learning\",\"#Forecasting\"],\"displayTitle\":{\"line1\":\"Driverless \",\"line2\":\"Forecasting\"},\"viewType\":\"data_science\",\"categoryName\":\"AI in Commercial Planning\"},{\"id\":\"8\",\"type\":\"story\",\"categoryId\":\"1\",\"sequenceOrder\":8,\"endpoint\":\"https://j8mnlpigv1.execute-api.us-east-1.amazonaws.com/prod\",\"title\":\"Dynamic targeting\",\"description\":\"A mobile application to assist field personnel to precisely target key customers leveraging ensemble ML models\",\"url\":\"dynamic_targeting\",\"isNew\":false,\"isInteractive\":false,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655816843000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\",\"#Deep Learning\",\"#Optimization\"],\"displayTitle\":{\"line1\":\"Dynamic \",\"line2\":\"targeting\"},\"viewType\":\"data_science\",\"categoryName\":\"AI in Personalization\"},{\"id\":\"7\",\"type\":\"story\",\"categoryId\":\"3\",\"sequenceOrder\":7,\"endpoint\":\"https://th96b4tell.execute-api.us-east-1.amazonaws.com/prod\",\"title\":\"Personalized Analytics\",\"description\":\"Intelligent assistant to provide personalized insights for field personnel and brand teams; Leverages conversational UIs – NLU & NLG, Recommender systems, and pattern recognition modules in high dimensional datasets\",\"url\":\"personalized_analytics\",\"isNew\":false,\"isInteractive\":true,\"isVisible\":false,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655800314000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\"],\"displayTitle\":{\"line1\":\"Personalized \",\"line2\":\"Analytics\"},\"viewType\":\"data_science\",\"categoryName\":\"AI in Personalization\"},{\"id\":\"6\",\"type\":\"story\",\"categoryId\":\"3\",\"sequenceOrder\":6,\"endpoint\":\"https://2wibgu9hu5.execute-api.us-east-1.amazonaws.com/prod\",\"title\":\"Computer Vision for Game-Play Analytics\",\"description\":\"A novel masked CNN-based computer vision module to enable real-time blackjack game-play insights\",\"url\":\"computer_vision_for_gaming\",\"isNew\":false,\"isInteractive\":false,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655827844000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\",\"#Deep Learning\",\"#Vision\"],\"displayTitle\":{\"line1\":\"Computer Vision \",\"line2\":\"for Game-Play Analytics\"},\"viewType\":\"data_science\",\"categoryName\":\"AI in Personalization\"},{\"id\":\"5\",\"type\":\"story\",\"categoryId\":\"3\",\"sequenceOrder\":5,\"endpoint\":\"https://tmh2erm2gg.execute-api.us-east-1.amazonaws.com/prod\",\"title\":\"Next Best Action Platform\",\"description\":\"A system that personalizes channel, content, and cadence to enhance individual customer engagement - powered by a hybrid architecture of convolutional neural networks and genetic algorithm\",\"url\":\"next_best_action_platform\",\"isNew\":false,\"isInteractive\":false,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655800314000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\"],\"displayTitle\":{\"line1\":\"Next Best Action \",\"line2\":\"Platform\"},\"viewType\":\"data_science\",\"categoryName\":\"AI in Personalization\"},{\"id\":\"4\",\"type\":\"story\",\"categoryId\":\"1\",\"sequenceOrder\":4,\"endpoint\":\"https://wm20nlti5d.execute-api.us-east-1.amazonaws.com/prod/\",\"title\":\"Audio Analytics\",\"description\":\"Finding Insights by analyzing and understanding audio based conversations\",\"url\":\"audio_analytics\",\"isNew\":false,\"isInteractive\":true,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655817850000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\"],\"displayTitle\":{\"line1\":\"Audio \",\"line2\":\"Analytics\"},\"viewType\":\"data_science\",\"categoryName\":\"AI in Cross-enterprise solutions\"},{\"id\":\"3\",\"type\":\"story\",\"categoryId\":\"2\",\"sequenceOrder\":3,\"endpoint\":\"https://bz4ygv7iob.execute-api.us-east-1.amazonaws.com/prod\",\"title\":\"Launch Prediction using unstructured data analysis\",\"description\":\"Markov models to predict clinical trial phase transition probabilities for pipeline molecules\",\"url\":\"launch_prediction_using_unstructured_data_analysis\",\"isNew\":false,\"isInteractive\":true,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655817451000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\",\"#State-space modelling\"],\"displayTitle\":{\"line1\":\"Launch Prediction \",\"line2\":\"using unstructureddata analysis\"},\"viewType\":\"data_science\",\"categoryName\":\"AI in Commercial Planning\"},{\"id\":\"2\",\"type\":\"story\",\"categoryId\":\"2\",\"sequenceOrder\":2,\"endpoint\":\"https://aymgbwcvbl.execute-api.us-east-1.amazonaws.com/prod\",\"title\":\"Agile Launch Analytics\",\"description\":\"Agile key driver analytics platform to maximize launch performance (Hierarchical Bayesian models)\",\"url\":\"agile_launch_analytics\",\"isNew\":false,\"isInteractive\":false,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655817451000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\",\"#Driver Analysis\"],\"displayTitle\":{\"line1\":\"Agile \",\"line2\":\"Launch Analytics\"},\"viewType\":\"data_science\",\"categoryName\":\"AI in Commercial Planning\"},{\"id\":\"1\",\"type\":\"story\",\"categoryId\":\"3\",\"sequenceOrder\":1,\"endpoint\":\"https://69upkoo9q4.execute-api.us-east-1.amazonaws.com/prod/\",\"title\":\"Video Analytics\",\"description\":\"Finding Insights by analyzing and understanding video based conversations\",\"url\":\"video_analytics\",\"isNew\":false,\"isInteractive\":false,\"isVisible\":true,\"groupId\":null,\"createdAt\":null,\"createdBy\":\"1\",\"updatedAt\":\"1655817566000\",\"updatedBy\":\"1\",\"isHorizontalView\":false,\"tags\":[\"#machine-learning\",\"#AI\",\"#gnome\",\"#nlp\"],\"displayTitle\":{\"line1\":\"Video \",\"line2\":\"Analytics\"},\"viewType\":\"data_science\",\"categoryName\":\"AI in Cross-enterprise solutions\"}],\"message\":\"All stories and groups fetched successfully\"}\r\n }\r\n else if(url.endsWith('login')){\r\n res = {\"data\":{\"userDetails\":{\"userId\":\"1\",\"type\":\"custom\",\"role\":\"admin\",\"name\":\"admin\"},\"token\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9J&OeyJ1c2VySWQiOiIxIiwidHlwZSI6ImN1c3RvbSIsInJvbGUiOiJhZG1pbiIsIm5hbWUiOiJhZG1pbiIsImlhdCI6MTY2NjA3NjU0MywiZXhwIjoxNjY2MTYyOTQzfQs@Vu7XoINsgaVoq5_gNmvzRTXwYloMpeEWdUyZXr7_ysnQ\",\"_s\":{\"CloudFront-Policy\":\"eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cCo6Ly9haWdhbGxlcnkuZGVtby56c3NlcnZpY2VzLmNvbS8qIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNjY2MTY0MzgyOTk4fX19XX0_;path=/;\",\"CloudFront-Key-Pair-Id\":\"APKAI2YTWPSKCL37U7TQ;path=/;\",\"CloudFront-Signature\":\"ZdtI9xy~rBTA4hROQTQitzKi5uDXcGUg2Bo~CuGyQ8242YE~sLfycvIO22JpiKUh4jJs2kAf2LiZSplBBXwoeucQjPNf0XLvroK9k~ccD6oXKvtAkjNnaf5NVtMm25bdoFYKG7d9DOfGLMOgpVC32tJJhkBjgaO0jfAXFSA8-Boix-jPjDB0TBlrplNxB4raRwtuLjauhiNHCRABk-iC0QM3fBihzevwcIYbZW-sqPy2b~VpZWzeXCf-An073ZCCKhx9Q8jgTZ0HSOLwyp6wNG6XpER1Pddl1LoGDl4LdRGp0iUgEalCxmrlINmY6NIjYV779z9GUhCkQJGm5pEe1w__;path=/;\"}},\"message\":\"User is valid\"}\r\n }\r\n // else if(url.endsWith('patient-radar')){\r\n // res = {\"statusCode\": 200, \"data\": {\"story-url\": \"patient_radar\", \"title\": \"Patient Radar\", \"sections\": [{\"id\": \"section-1\", \"name\": \"App Demo\", \"hideSectionName\": true, \"data\": {\"visulizations\": [{\"id\": \"visualization-1\", \"title\": \"\", \"showVisulizationActions\": true, \"showWhiteBackground\": true, \"description\": null, \"interaction\": false, \"interactionData\": null, \"data-load-from-api\": false, \"widget\": [{\"id\": \"widget-1\", \"name\": \"guid-book\", \"type\": \"zs-guide-book\", \"alignCenter\": true, \"fullView\": true, \"data\": {\"htmlString\": \"

Patient Radar

An enterprise grade online platform powered by advanced data science and years of deep domain knowledge

Steps - To Explore Patient Radar
  • 1 Copy Username & password
  • 2 Click here to explore button
  • 3 Paste Username & Password
\"}, \"data-load-url\": null, \"credentials\": [{\"dataLoadFromApi\": false, \"value\": \"Personalize02\", \"label\": \"Passcode\", \"slug\": \"password\"}]}]}]}}]}}\r\n // }\r\n else if(url.endsWith('patient-radar')){\r\n res = {\"statusCode\": 200,\r\n \"data\": {\"story-url\": \"patient_radar\", \"title\": \"Patient Radar\",\r\n \"sections\": [{\"id\": \"section-1\", \"name\": \"App Demo\", \"hideSectionName\": true,\r\n \"data\": {\"visulizations\": [{\"id\": \"visualization-1\", \"title\": \"\", \"showVisulizationActions\": true, \"showWhiteBackground\": true, \"description\": null, \"interaction\": false, \"interactionData\": null, \"data-load-from-api\": false,\r\n \"widget\": [{\"id\": \"widget-1\", \"name\": \"guid-book\", \"type\": \"zs-guide-book\", \"alignCenter\": true, \"fullView\": true,\r\n \"data\": {\"htmlString\": \"
Patient Radar

An enterprise grade online platform powered by advanced data science and
years of deep domain knowledge.

Steps - To Explore Patient Radar
  • 1Copy Username & Password
  • 2Click here to explore button
  • 3Paste Username & Password
\"}, \"data-load-url\": null, \"credentials\": [{\r\n \"dataLoadFromApi\": false,\r\n \"value\": \"john.doe@zs.com\",\r\n \"label\": \"Username\",\r\n \"slug\": \"username\"\r\n },\r\n {\r\n \"dataLoadFromApi\": false,\r\n \"value\": \"p@s5w0rd\",\r\n \"label\": \"Password\",\r\n \"slug\": \"password\"\r\n }\r\n]}]}]}}]}}\r\n }\r\n else if(url.endsWith('https://oft3hw5rqi.execute-api.us-east-1.amazonaws.com/prod')){\r\n res = {\"statusCode\": 200, \"data\": {\"story-url\": \"personalize_ai\", \"title\": \"Personalized AI\", \"sections\": [{\"id\": \"section-1\", \"name\": \"App Demo\", \"hideSectionName\": true, \"data\": {\"visulizations\": [{\"id\": \"visualization-1\", \"title\": \"P.AI Tool\", \"showVisulizationActions\": true, \"showWhiteBackground\": true, \"description\": null, \"interaction\": false, \"interactionData\": null, \"data-load-from-api\": false, \"widget\": [{\"id\": \"widget-1\", \"name\": \"guid-book\", \"type\": \"zs-guide-book\", \"alignCenter\": true, \"fullView\": true, \"data\": {\"htmlString\": \"
  • ML & AI WORLD
  • SMARTER, FASTER
  • MODULAR AI

AI IS RESHAPING THE WORLD

Enterprise decision making is rapidly changing to exponentially faster and competitive solutions driven by modular AI

Steps - To Explore Personalize.AI
  • 1 Copy passcode
  • 2 Click here to explore button
  • 3 Paste passcode
Click here to explore Explore

You will be redirected to P.AI application

\"}, \"data-load-url\": null, \"credentials\": [{\"dataLoadFromApi\": false, \"value\": \"Personalize02\", \"label\": \"Passcode\", \"slug\": \"password\"}]}]}]}}]}}\r\n }\r\n if (res) {\r\n return (Observable.create((observer) => {\r\n observer.next(res);\r\n observer.complete();\r\n })).pipe(delay(1000));\r\n }\r\n }*/\r\n // TODO: Mock Data END.\r\n\r\n const _token = this._authService.getToken();\r\n const _headers = new HttpHeaders().set('Authorization', _token);\r\n options = { ...options, headers: _headers };\r\n return Observable.create((observer: any) => {\r\n this.http.request(method, url, options)\r\n .subscribe(\r\n (response) => {\r\n observer.next(response);\r\n observer.complete();\r\n },\r\n (error) => {\r\n console.log('Error Resone : ', error);\r\n switch (error.status) {\r\n case 400:\r\n // TODO: handel common error.\r\n observer.error(error);\r\n observer.complete();\r\n break;\r\n case 401:\r\n // TODO: handel common error.\r\n observer.error(error);\r\n observer.complete();\r\n break;\r\n case 403:\r\n // TODO: handel common error.\r\n observer.complete();\r\n const baseRedirectURL = '/login';\r\n this._authService.removeUser();\r\n if (error.error && error.error.customMessage) {\r\n this.displayMessage(error.error.customMessage);\r\n }\r\n observer.complete();\r\n this._router.navigate([baseRedirectURL]);\r\n break;\r\n case 500:\r\n // TODO: handel common error.\r\n observer.error(error);\r\n observer.complete();\r\n break;\r\n default:\r\n // TODO: handel common error.\r\n observer.error(error);\r\n break;\r\n }\r\n });\r\n });\r\n }\r\n\r\n displayMessage(message) {\r\n this._snackBar.open(message, '', {\r\n duration: 3000,\r\n panelClass: 'error',\r\n verticalPosition: 'top',\r\n horizontalPosition: 'right'\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n// import { any } from './loader';\r\n@Injectable()\r\nexport class LoaderService {\r\n private loaderSubject = new Subject();\r\n loaderState = this.loaderSubject.asObservable();\r\n constructor() { }\r\n show() {\r\n this.loaderSubject.next({ loaded: true });\r\n }\r\n hide() {\r\n this.loaderSubject.next({ loaded: false });\r\n }\r\n}\r\n","export class ShapesConfigService {\r\n flowShapes = null;\r\n constructor() {\r\n var pi$4 = Math.PI;\r\n var tau$4 = 2 * pi$4;\r\n var ka = 0.89081309152928522810,\r\n kr = Math.sin(pi$4 / 10) / Math.sin(7 * pi$4 / 10),\r\n kx = Math.sin(tau$4 / 10) * kr,\r\n ky = -Math.cos(tau$4 / 10) * kr;\r\n var sqrt3 = Math.sqrt(3);\r\n\r\n var flow_shapes = {\r\n square: function (size) {\r\n var r = Math.sqrt(size) / 2;\r\n // console.log(\"M\" + -r + \",\" + -r + \"L\" + r + \",\" + -r + \" \" + r + \",\" + r + \" \" + -r + \",\" + r + \"Z\")\r\n return \"M\" + -r + \",\" + -r + \"L\" + r + \",\" + -r + \" \" + r + \",\" + r + \" \" + -r + \",\" + r + \"Z\";\r\n },\r\n circle: function(size){\r\n var r = Math.sqrt(size / Math.PI);\r\n return \"M0,\" + r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + -r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + r + \"Z\";\r\n },\r\n cross: function (size) {\r\n var r = Math.sqrt(size / 5) / 2;\r\n return \"M\" + -3 * r + \",\" + -r + \"H\" + -r + \"V\" + -3 * r + \"H\" + r + \"V\" + -r + \"H\" + 3 * r + \"V\" + r + \"H\" + r + \"V\" + 3 * r + \"H\" + -r + \"V\" + r + \"H\" + -3 * r + \"Z\";\r\n },\r\n hexagoan: function (size) {\r\n var t = tau$4 / 12;\r\n var num = 2 * size;\r\n var denom = 3 * Math.sqrt(3);\r\n var s = Math.sqrt(num / denom);\r\n var R = s;\r\n var points = rotatePoint(R, 0, t);\r\n var path = this.moveTo(points[0], points[1]);\r\n\r\n for (var i = 0; i < 6; ++i) {\r\n var a = tau$4 * i / 6;\r\n var x = Math.cos(a) * R;\r\n var y = Math.sin(a) * R;\r\n points = rotatePoint(x, y, t);\r\n path += this.lineTo(points[0], points[1]);\r\n\r\n }\r\n\r\n path += this.closePath();\r\n return path;\r\n\r\n },\r\n star: function (size) {\r\n var r = Math.sqrt(size * ka),\r\n x = kx * r,\r\n y = ky * r;\r\n // context.moveTo(0, -r);\r\n var path = \"M0,\" + -r;\r\n path += \"L\" + x + \", \" + y;\r\n // context.lineTo(x, y);\r\n for (var i = 1; i < 5; ++i) {\r\n var a = tau$4 * i / 5,\r\n c = Math.cos(a),\r\n s = Math.sin(a);\r\n path += \"L\" + (s * r) + \", \" + (-c * r);\r\n path += \"L\" + (c * x - s * y) + \", \" + (s * x + c * y);\r\n }\r\n path += \"Z\";\r\n return path;\r\n },\r\n pentagon: function (size) {\r\n\r\n var s = sideLength(size);\r\n var R = circumradius(s);\r\n var theta = -tau$4 / 4; // Rotate 1/4 turn back so the shape is oriented with a point upward.\r\n\r\n var points = rotatePoint(R, 0, theta);\r\n var path = \"M\" + points[0] + \", \" + points[1];\r\n\r\n for (var i = 0; i < 5; ++i) {\r\n var a = tau$4 * i / 5;\r\n var x = Math.cos(a) * R;\r\n var y = Math.sin(a) * R;\r\n points = rotatePoint(x, y, theta);\r\n path += \"L\" + points[0] + \", \" + points[1];\r\n\r\n }\r\n path += \"Z\";\r\n return path;\r\n },\r\n triangleDown: function (size) {\r\n var y = -Math.sqrt(size / (sqrt3 * 3));\r\n var path = this.moveTo(0, -y * 2);\r\n path += this.lineTo(-sqrt3 * y, y);\r\n path += this.lineTo(sqrt3 * y, y);\r\n path += this.closePath();\r\n return path;\r\n },\r\n triangleLeft: function (size) {\r\n var x = -Math.sqrt(size / (sqrt3 * 3));\r\n var path = this.moveTo(x * 2, 0);\r\n path += this.lineTo(-x, -sqrt3 * x);\r\n path += this.lineTo(-x, sqrt3 * x);\r\n path += this.closePath()\r\n return path;\r\n\r\n },\r\n triangleRight: function (size) {\r\n var x = -Math.sqrt(size / (sqrt3 * 3));\r\n var path = this.moveTo(-x * 2, 0);\r\n path += this.lineTo(x, -sqrt3 * x);\r\n path += this.lineTo(x, sqrt3 * x);\r\n path += this.closePath()\r\n return path;\r\n },\r\n moveTo: function (x, y) {\r\n return \"M\" + x + \", \" + y;\r\n },\r\n lineTo: function (x, y) {\r\n return \"L\" + x + \", \" + y;\r\n },\r\n closePath: function () {\r\n return \"Z\";\r\n }\r\n\r\n }\r\n\r\n var circumradiusCoeff = 1 / 10 * Math.sqrt(50 + 10 * Math.sqrt(5)); // ~ 0.85065080835204\r\n function circumradius(side) {\r\n return side * circumradiusCoeff;\r\n }\r\n\r\n function sideLength(area) {\r\n var num = 4 * area;\r\n var denom = Math.sqrt(5 * (5 + 2 * Math.sqrt(5))); // ~ 6.881909602355868\r\n\r\n return Math.sqrt(num / denom);\r\n }\r\n\r\n function rotatePoint(x, y, theta) {\r\n return [\r\n Math.cos(theta) * x + -Math.sin(theta) * y, // x\r\n Math.sin(theta) * x + Math.cos(theta) * y, // y\r\n ];\r\n }\r\n\r\n this.flowShapes = flow_shapes;\r\n }\r\n\r\n getShapeCoordinates(shapeType, size) {\r\n return this.flowShapes[shapeType](size);\r\n }\r\n}\r\n","export class SmallClusterService {\r\n private clusterData: Array = [];\r\n\r\n createData(index, settings, count) {\r\n const { categories, width, height } = settings;\r\n this.clusterData[index] = { \"nodes\": [] };\r\n for (let subIndex = 1; subIndex < count; subIndex++) {\r\n let tempObject = {\r\n id: subIndex,\r\n type: categories\r\n };\r\n this.clusterData[index].nodes.push(tempObject);\r\n }\r\n let i = 0;\r\n let initialCircleAxis = {\r\n \"fixed\": true,\r\n id: i,\r\n x: width,\r\n y: height / 2,\r\n type: categories\r\n }\r\n this.clusterData[index].nodes.unshift(initialCircleAxis);\r\n }\r\n\r\n setData(nodeData, index) {\r\n this.clusterData[index].nodes = nodeData.nodes;\r\n }\r\n\r\n getData(index) {\r\n return this.clusterData[index];\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router, UrlTree } from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AdminAuthGuardService implements CanActivate {\r\n\r\n constructor(private _authService: AuthService, private _router: Router) { }\r\n\r\n canActivate(): boolean | UrlTree {\r\n const user = this._authService.getUser();\r\n if (user && user.isAdmin) {\r\n return true;\r\n }\r\n // return this._router.parseUrl('/gallery');\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router, UrlTree, CanActivateChild } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from './auth.service';\r\nimport { CookieService } from './cookie-wrapper.service';\r\nimport { DataShareService } from './data-share.service';\r\nimport { LoginService } from '../core/login/service/login.service';\r\nimport { GoogleAnalyticsService } from '../services/google-analytics.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuardService implements CanActivate, CanActivateChild {\r\n\r\n constructor(\r\n private _authService: AuthService,\r\n private _router: Router,\r\n private _dataShareService: DataShareService,\r\n private _cookieService: CookieService,\r\n private _loginService: LoginService,\r\n private _gaService: GoogleAnalyticsService,\r\n ) { }\r\n\r\n canActivate(): boolean | UrlTree | Observable {\r\n // return true;\r\n const clientDetails = this._authService.getUser();\r\n if (this._cookieService.verifyCloudFrontCookie()) {\r\n if ((clientDetails && clientDetails.isAdmin) && !this._authService.getUserFromLocalStorage()) {\r\n this._loginService.logout(clientDetails.id).subscribe((d) => { });\r\n this._gaService.triggerEvent('Logout', 'Logout', 'Session Expired');\r\n const cookieExpiredMessage = 'Your session has been expired. Please login again';\r\n this._dataShareService.onCustomEvent.next({ event: 'cookiesExpired', data: cookieExpiredMessage });\r\n this._authService.removeUser();\r\n this._cookieService.clearCloudfrontCookies();\r\n return this._router.parseUrl('/login');\r\n } else {\r\n if (clientDetails) {\r\n return true;\r\n }\r\n return this._router.parseUrl('/login');\r\n }\r\n } else {\r\n if (clientDetails && clientDetails.id) {\r\n this._gaService.triggerEvent('Logout', 'Logout', 'Session Expired');\r\n const cookieExpiredMessage = 'Your session has been expired. Please login again';\r\n this._dataShareService.onCustomEvent.next({ event: 'cookiesExpired', data: cookieExpiredMessage });\r\n this._loginService.logout(clientDetails.id).subscribe((d) => { });\r\n }\r\n this._authService.removeUser();\r\n this._cookieService.clearCloudfrontCookies();\r\n // if (clientDetails && clientDetails.isAdmin) {\r\n // \treturn this._router.parseUrl('/login');\r\n // } else {\r\n return this._router.parseUrl('/login');\r\n // }\r\n }\r\n\r\n // if (this._authService.getUser()) {\r\n // \treturn true;\r\n // }\r\n // return this._router.parseUrl('/login');\r\n }\r\n\r\n canActivateChild() {\r\n return this.canActivate();\r\n }\r\n}\r\n","import { Injectable, EventEmitter, Output } from '@angular/core';\r\nimport { Subject, BehaviorSubject, Observable, timer } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { UserType } from './enum/enum';\r\nimport { HttpWrapperService } from '../services/http-wrapper.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CookieService } from './cookie-wrapper.service';\r\nimport { DataShareService } from './data-share.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\r\n private _user: any = null;\r\n private _isStoredUser = false;\r\n public onUserInfoUpate = null;\r\n private onUserInfoUpateSub: BehaviorSubject = new BehaviorSubject(this.getUser());\r\n private _tokenTimer = null;\r\n\r\n constructor(\r\n private _router: Router,\r\n private _cookieService: CookieService,\r\n private _dataShareService: DataShareService) {\r\n const _user = localStorage.getItem('user');\r\n if (_user) {\r\n this.setUser(JSON.parse(window.atob(_user)));\r\n // this._token = JSON.parse(window.atob(_user)).token;\r\n this._isStoredUser = true;\r\n }\r\n this.onUserInfoUpate = this.onUserInfoUpateSub.asObservable();\r\n }\r\n\r\n public isStoredUser() {\r\n return this._isStoredUser;\r\n }\r\n\r\n public setUser(user) {\r\n this._user = {\r\n id: user.id,\r\n emailId: user.emailId,\r\n name: user.name,\r\n type: user.type,\r\n userType: user.userType,\r\n isAdmin: user.isAdmin || false,\r\n token: user.token,\r\n capabilityGroup: (user.data && user.data.capabilityGroup) || null,\r\n department: (user.data && user.data.department) || null\r\n };\r\n if (user._s) {\r\n this._cookieService.setCloudFrontCookie(user._s);\r\n }\r\n if (user.isAdmin || (user.type === UserType.ZS)) {\r\n localStorage.setItem('user', window.btoa(JSON.stringify(this._user)));\r\n }\r\n this._tokenTimer = timer(environment.token_refresh_time).subscribe(val => {\r\n this._dataShareService.updateCustomEvent({'event': 'refresh_token', data: true});\r\n });\r\n this.onUserInfoUpateSub.next({ ...this._user });\r\n }\r\n\r\n public getUser() {\r\n if (this._user) {\r\n return { ...this._user };\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public getUserId() {\r\n if (this._user) {\r\n return this._user.id;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public getToken() {\r\n if (this._user) {\r\n return this._user.token;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n public removeUser() {\r\n let isAdmin = false;\r\n if (this._user) {\r\n isAdmin = this._user.isAdmin;\r\n }\r\n this._user = null;\r\n this._isStoredUser = false;\r\n localStorage.removeItem('user');\r\n localStorage.removeItem('purpose');\r\n if (this._tokenTimer) {\r\n this._tokenTimer.unsubscribe();\r\n }\r\n this._cookieService.clearCloudfrontCookies();\r\n this.onUserInfoUpateSub.next(null);\r\n if (isAdmin) {\r\n this._router.navigate(['login', 'admin']);\r\n } else {\r\n this._router.navigate(['login']);\r\n }\r\n }\r\n\r\n public getUserFromLocalStorage() {\r\n return localStorage.getItem('user');\r\n }\r\n}\r\n","import { Directive, Output, EventEmitter, ElementRef, Input, AfterViewInit, Renderer2, OnDestroy, Inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Directive({\r\n selector: '[appContainerScrollSpy]'\r\n})\r\nexport class ContainerScrollSpyDirective implements AfterViewInit, OnDestroy {\r\n // tslint:disable-next-line: no-output-on-prefix\r\n @Output() public onSectionChange = new EventEmitter();\r\n @Input() public spyIds = [];\r\n @Input() public scrollContainerId = '';\r\n\r\n private currentSection: string;\r\n private initPosition: any = [];\r\n private unsubscribeScroll = null;\r\n constructor(\r\n private _el: ElementRef,\r\n private renderer: Renderer2,\r\n @Inject(DOCUMENT) private document: Document) { }\r\n\r\n // ngDoCheck() {\r\n // const height = document.getElementById(this.scrollContainerId).getBoundingClientRect().height;\r\n // if (this._lastHeight !== height) {\r\n // this._lastHeight = height;\r\n // setTimeout(() => {\r\n // const offsetTop = document.getElementById(this.scrollContainerId).offsetTop;\r\n // this.initPosition.forEach(v => {\r\n // // v.position.top = scrollTop + v.element.getBoundingClientRect().top - offsetTop;\r\n // v.position.top = v.element.offsetTop - offsetTop;\r\n // });\r\n // }, 500);\r\n // }\r\n // }\r\n ngAfterViewInit() {\r\n // setTimeout(() => {\r\n this.initPosition = this.calculatePosition();\r\n // }, 0);\r\n this.unsubscribeScroll = this.renderer.listen(document.getElementById( this.scrollContainerId), 'scroll', ($e) => {\r\n const scrollTop = $e.target.scrollTop;\r\n // Add class to body on 100px scroll\r\n if (scrollTop >= 100 && !this.document.body.classList.contains('tiny-header')) {\r\n this.renderer.addClass(this.document.body, 'tiny-header');\r\n } else if (scrollTop < 100) {\r\n this.renderer.removeClass(this.document.body, 'tiny-header');\r\n }\r\n const OffsetTop = $e.target.offsetTop;\r\n let currentSection: string = this.currentSection;\r\n const scrollWindowHeight = $e.target.offsetHeight;\r\n const result = this.initPosition.filter(v => {\r\n return ((scrollTop + scrollWindowHeight) > (v.element.offsetTop - OffsetTop))\r\n && (scrollTop < ((v.element.offsetHeight + (v.element.offsetTop - OffsetTop))));\r\n // 3 return ((scrollTop + scrollWindowHeight) > (v.position.top))\r\n // && (scrollTop < ((v.element.offsetHeight + v.position.top)));\r\n // 2 return ((scrollTop + scrollWindowHeight) > (v.position.top - OffsetTop))\r\n // && (scrollTop < ((v.element.offsetHeight + v.position.top) - OffsetTop));\r\n\r\n // 1 return ((scrollTop + scrollWindowHeight) > (v.position.top - OffsetTop)) && (scrollTop < (v.position.bottom - OffsetTop));\r\n });\r\n if (result.length === 1) {\r\n currentSection = result[0].id;\r\n } else if (result.length > 1) {\r\n const topVal = ((result[0].element.offsetHeight + (result[0].element.offsetTop - OffsetTop))) - scrollTop;\r\n // 3 const topVal = ((result[0].element.offsetHeight + result[0].position.top)) - scrollTop;\r\n // 2 const topVal = ((result[0].element.offsetHeight + result[0].position.top)) - scrollTop - OffsetTop;\r\n // 1 const topVal = result[0].position.bottom - scrollTop - OffsetTop;\r\n // currentSection = (topVal > (scrollWindowHeight / 2)) ? result[0].id : result[1].id;\r\n const r = (topVal > (scrollWindowHeight / 2)) ? result[0] : result[1];\r\n currentSection = r.id;\r\n }\r\n if (currentSection !== this.currentSection) {\r\n this.currentSection = currentSection;\r\n this.onSectionChange.emit({value: this.currentSection});\r\n }\r\n });\r\n }\r\n\r\n private calculatePosition() {\r\n return this.spyIds.map(v => {\r\n const element = this._el.nativeElement.querySelector('#' + v);\r\n return {\r\n id: v,\r\n // position: {top: element.offsetTop - offsetTop}, // {top: boundRect.top - offsetTop},\r\n element\r\n };\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.renderer.removeClass(this.document.body, 'tiny-header');\r\n if (this.unsubscribeScroll) {\r\n this.unsubscribeScroll();\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CookieService {\r\n constructor() { }\r\n\r\n setCloudFrontCookie(cookies) {\r\n let cookiePrefix = ['CloudFront-Policy', 'CloudFront-Key-Pair-Id', 'CloudFront-Signature'];\r\n cookiePrefix.forEach((prefix) => {\r\n this.setCookie(prefix + '=' + cookies[prefix]);\r\n });\r\n }\r\n\r\n verifyCloudFrontCookie() {\r\n let cookiePrefix = ['CloudFront-Policy', 'CloudFront-Key-Pair-Id', 'CloudFront-Signature']\r\n , prefixFlagIndex = ['unchecked', 'unchecked', 'unchecked']\r\n , cookies = this.getCookie();\r\n\r\n cookies.forEach((cookie) => {\r\n if (prefixFlagIndex.indexOf('unchecked') > -1) {\r\n cookiePrefix.forEach((prefix, key) => {\r\n if (cookie.trim().includes(prefix + '=') && prefixFlagIndex[key] == 'unchecked') {\r\n prefixFlagIndex[key] = 'checked';\r\n }\r\n });\r\n }\r\n });\r\n return prefixFlagIndex.indexOf('unchecked') > -1 ? false : true\r\n }\r\n\r\n clearCloudfrontCookies(){\r\n let cookiePrefix = ['CloudFront-Policy', 'CloudFront-Key-Pair-Id', 'CloudFront-Signature']\r\n , prefixFlagIndex = ['unchecked', 'unchecked', 'unchecked']\r\n , cookies = this.getCookie();\r\n \r\n cookies.forEach((cookie) => {\r\n if (prefixFlagIndex.indexOf('unchecked') > -1) {\r\n cookiePrefix.forEach((prefix, key) => {\r\n if (cookie.trim().includes(prefix + '=') && prefixFlagIndex[key] == 'unchecked') {\r\n this.setCookie(cookie + ';path=/;expires=Thu, 01 Jan 1970 00:00:00 UTC;');\r\n prefixFlagIndex[key] = 'checked';\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n getCookie() {\r\n return [...document.cookie.split(\";\")];\r\n }\r\n\r\n setCookie(cookie) {\r\n document.cookie = cookie;\r\n }\r\n}","import { Injectable, Output, EventEmitter } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataShareService {\r\n\r\n // isOpen = false;\r\n\r\n @Output() updateBanerData: EventEmitter = new EventEmitter();\r\n @Output() updateNavigationData: EventEmitter = new EventEmitter();\r\n @Output() onNavigationSelect: EventEmitter = new EventEmitter();\r\n @Output() onNavigationSectionChange: EventEmitter = new EventEmitter();\r\n // @Output() onUserLogout: EventEmitter = new EventEmitter();\r\n @Output() onLoginFormLink: EventEmitter = new EventEmitter();\r\n @Output() onGalleryDataLoad: EventEmitter = new EventEmitter();\r\n @Output() onCustomEvent: EventEmitter = new EventEmitter();\r\n\r\n @Output() onCustomDashboardEvent: EventEmitter = new EventEmitter();\r\n\r\n dataChange(udpatedDataInfo) {\r\n // alert(\"Called naa\")\r\n this.updateBanerData.emit(udpatedDataInfo);\r\n }\r\n\r\n changeNavigation(navData) {\r\n this.updateNavigationData.emit(navData);\r\n }\r\n\r\n navigationClick(data) {\r\n this.onNavigationSelect.emit(data);\r\n }\r\n\r\n navigationSectionChange(data) {\r\n this.onNavigationSectionChange.emit(data);\r\n }\r\n\r\n // triggerLogout(userId) {\r\n // this.onUserLogout.emit(userId);\r\n // }\r\n\r\n showLoginForm(type: string) {\r\n this.onLoginFormLink.emit(type);\r\n }\r\n\r\n galleryDataLoad(data: any) {\r\n this.onGalleryDataLoad.emit(data);\r\n }\r\n\r\n updateCustomEvent(obj) {\r\n this.onCustomEvent.next(obj);\r\n }\r\n\r\n getBodyStoryClass(url, prefix) {\r\n let className = '';\r\n // console.log(\"url\", url);\r\n console.log(url,prefix);\r\n \r\n switch (url) {\r\n case 'plug_n_predict_telecom':\r\n className = `pnp-telecom-${prefix}-active`;\r\n break;\r\n case 'plug_n_predict_rwd':\r\n className = `pnp-rwd-${prefix}-active`;\r\n break;\r\n case 'leakage_prediction':\r\n className = `leakage-prediction-${prefix}-active`;\r\n break;\r\n case 'nlp':\r\n case 'text_analytics':\r\n className = `nlp-${prefix}-active`;\r\n break;\r\n case 'design_intelligence':\r\n className = `design-intelligence-${prefix}-active`;\r\n break;\r\n case 'driverless_forecasting':\r\n className = `driverless-forecasting-${prefix}-active`;\r\n break;\r\n case 'dynamic_targeting':\r\n className = `dynamic-targeting-${prefix}-active`;\r\n break;\r\n case 'personalized_analytics':\r\n className = `personalized-analytics-${prefix}-active`;\r\n break;\r\n case 'computer_vision_for_gaming':\r\n className = `computer-vision-${prefix}-active`;\r\n break;\r\n case 'contextual_engine':\r\n case 'next_best_action_platform':\r\n className = `contextual-engine-${prefix}-active`;\r\n break;\r\n case 'performance_analytics':\r\n case 'agile_launch_analytics':\r\n className = `performance-analytics-${prefix}-active`;\r\n break;\r\n case 'Competitive_intelligence':\r\n case 'launch_prediction_using_unstructured_data_analysis':\r\n className = `competitive-intelligence-${prefix}-active`;\r\n break;\r\n case 'audio_analytics':\r\n className = `audio-analytics-${prefix}-active`;\r\n break;\r\n case 'video_analytics':\r\n className = `video-analytics-${prefix}-active`;\r\n break;\r\n case 'field_coaching':\r\n className = `field-coaching-${prefix}-active`;\r\n break;\r\n case 'virtual_rep_trainer':\r\n className = `virtual-rep-trainer-${prefix}-active`;\r\n break;\r\n case 'aiqna':\r\n className = `aiqna-${prefix}-active`;\r\n break;\r\n case 'adaptive_attribute_based_offers':\r\n className = `adaptive-pricing-${prefix}-active`;\r\n break;\r\n // TODO:RM Rename the url\r\n case 'ctemp':\r\n className = `ctemp-${prefix}-active`;\r\n break;\r\n case 'advanced_market_intelligence':\r\n className = `advanced_market_intelligence-${prefix}-active`;\r\n break;\r\n case 'personalize_ai':\r\n className = `personalize_ai-${prefix}-active`;\r\n break;\r\n case 'patient_radar':\r\n className = `patient_radar-${prefix}-active`;\r\n break;\r\n default:\r\n className = `default-${prefix}-active`;\r\n break;\r\n }\r\n return className;\r\n }\r\n}\r\n","import { Directive, HostListener, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDropdown]'\r\n})\r\nexport class DropdownDirective {\r\n @HostBinding('class.open') isOpen = false;\r\n\r\n @HostListener('click') toggleOpen() {\r\n this.isOpen = !this.isOpen;\r\n }\r\n}\r\n","export enum UserStatus {\r\n ACTIVE = 'Active',\r\n INACTIVE = 'Inactive',\r\n ACTIVE_BLOCK = 'Active (Blocked)'\r\n}\r\n\r\nexport enum UserType {\r\n ADMIN = 'Admin',\r\n NON_ZS = 'Non ZS',\r\n ZS = 'ZS',\r\n CUSTOM = 'custom',\r\n SSO = 'zser'\r\n}\r\nexport enum GAIndex {\r\n NAME = 'dimension1',\r\n EMAIL_ID = 'dimension2',\r\n CAPABILITY_GROUP = 'dimension3',\r\n CLIENT_NAME = 'dimension4',\r\n REQUESTER_NAME = 'dimension5',\r\n USER_TYPE = 'dimension6',\r\n ERROR_REASON = 'dimension7',\r\n DEPARTMENT = 'dimension8',\r\n CLIENT_NAME_OR_PURPOSE = 'dimension9'\r\n}\r\n\r\nexport enum GAUserType {\r\n ADMIN = 'Admin',\r\n NON_ZS = 'Non-SSO',\r\n ZS = 'SSO'\r\n}\r\n\r\n// export enum GAEvents {\r\n// PLAY = 'Play',\r\n// SEARCH = 'Search',\r\n// CLICK = 'Click',\r\n// VIEW = 'View',\r\n// DS_VIEW = 'DS View',\r\n// CREATE = 'Create',\r\n// UPDATE = 'Update'\r\n// }\r\n\r\n// export enum GACategory {\r\n// VIDEO = 'Video',\r\n// FILTER = 'Filter',\r\n// USECASE = 'Usecase',\r\n// USER_MANAGEMENT = 'User Management'\r\n// }\r\n\r\n// export enum GALabel {\r\n// KNOW_MORE = 'Know More',\r\n// TAB_FILTER = 'Tab Filter',\r\n// WILDCARD_SEARCH = 'Wildcard Search'\r\n// }\r\n","import {\r\n Directive, AfterViewInit, Input, ElementRef, Renderer2, Inject,\r\n OnDestroy, HostListener, Output, EventEmitter, OnInit\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Directive({\r\n selector: '[appFullpagescroll]',\r\n exportAs: 'fullPageScroll'\r\n})\r\nexport class FullpagescrollDirective implements OnInit, AfterViewInit, OnDestroy {\r\n @Input() public wheelContainerId = '';\r\n @Input() public allowDelay = false;\r\n @Input() public time = 1000;\r\n @Input() public delayTime = 1000;\r\n // tslint:disable-next-line: no-output-on-prefix\r\n @Output() public onSlideStart = new EventEmitter();\r\n // tslint:disable-next-line: no-output-on-prefix\r\n @Output() public onSlideComplete = new EventEmitter();\r\n\r\n private _scrollSection;\r\n private _scrollingSectionList = [];\r\n private _lastScrolledSection = 0;\r\n private unsubscribeMouseWheel = null;\r\n private unsubscribeTouchStart = null;\r\n private unsubscribeTouchMove = null;\r\n private isAnnimating = false;\r\n private onMouseWheel = null;\r\n private _previousTime = 0;\r\n\r\n constructor(\r\n private _el: ElementRef,\r\n private renderer: Renderer2,\r\n @Inject(DOCUMENT) private document: Document\r\n ) { }\r\n\r\n @HostListener('window:keyup', ['$event'])\r\n onKeyup(e) {\r\n e.preventDefault();\r\n if (this.isAnnimating) {\r\n return;\r\n }\r\n\r\n if (e.which === 38) {\r\n // Going up\r\n const validity = this.checkNavigationValidity('up');\r\n if (validity.valid) {\r\n this.navigateTo(validity.value);\r\n }\r\n } else if (e.which === 40) {\r\n // Going Down\r\n const validity = this.checkNavigationValidity('down');\r\n if (validity.valid) {\r\n this.navigateTo(validity.value);\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n this._scrollSection.scrollTo({ top: this._scrollingSectionList[this._lastScrolledSection].e.offsetTop });\r\n }\r\n\r\n private throttle(fn, wait) {\r\n let time = Date.now();\r\n return ($e) => {\r\n if ((time + wait - Date.now()) < 0) {\r\n fn($e);\r\n time = Date.now();\r\n }\r\n };\r\n }\r\n\r\n public navigateTo(elementId) {\r\n this.isAnnimating = true;\r\n this.document.body.classList.remove(this._scrollingSectionList[this._lastScrolledSection].id);\r\n const commingChild = this._scrollingSectionList.find((v, i) => {\r\n if (v.id === elementId) {\r\n this._lastScrolledSection = i;\r\n return true;\r\n }\r\n });\r\n if (commingChild) {\r\n // this.isAnnimating = true;\r\n this.onSlideStart.next(commingChild.id);\r\n // console.log('start', (new Date()), this.time + 1000);\r\n // setTimeout(() => {\r\n // this.isAnnimating = false;\r\n // console.log('end', (new Date()));\r\n // }, this.time + 10);\r\n\r\n // let allowDelay = false;\r\n // if (this.delayItems.length > 0) {\r\n // this.delayItems.forEach(element => {\r\n // // console.log(element.findIndex((item) => item === elementId));\r\n // // console.log(element.findIndex((item) => item === commingChild.id));\r\n // if (allowDelay === false && element.length === 2 && element[0] !== element[1] &&\r\n // (element.findIndex((item) => item === elementId) !== -1 && element.findIndex((item) => item === commingChild.id) !== -1)) {\r\n // allowDelay = true;\r\n // return;\r\n // }\r\n // });\r\n // }\r\n\r\n if (this.allowDelay) {\r\n setTimeout(() => {\r\n this.scrollIt(\r\n this._scrollSection,\r\n commingChild.e.offsetTop,\r\n this.time,\r\n 'easeOutQuint',\r\n () => {\r\n // console.log('Animation End in callback')\r\n // this.document.addEventListener('mousewheel', this.onMouseWheel);\r\n // //setTimeout(() => {\r\n this.isAnnimating = false;\r\n // //}, 1000);\r\n this._previousTime = new Date().getTime();\r\n this.onSlideComplete.next(commingChild.id);\r\n this.document.body.classList.add(this._scrollingSectionList[this._lastScrolledSection].id);\r\n }\r\n );\r\n }, this.delayTime);\r\n } else {\r\n this.scrollIt(\r\n this._scrollSection,\r\n commingChild.e.offsetTop,\r\n this.time,\r\n 'easeOutQuint',\r\n () => {\r\n // console.log('Animation End in callback')\r\n // this.document.addEventListener('mousewheel', this.onMouseWheel);\r\n // //setTimeout(() => {\r\n this.isAnnimating = false;\r\n // //}, 1000);\r\n this._previousTime = new Date().getTime();\r\n this.onSlideComplete.next(commingChild.id);\r\n this.document.body.classList.add(this._scrollingSectionList[this._lastScrolledSection].id);\r\n }\r\n );\r\n }\r\n } else {\r\n this.isAnnimating = false;\r\n }\r\n }\r\n\r\n public setEventState(state: boolean) {\r\n this.isAnnimating = !state;\r\n // console.log(\"ANIMATING VALUE: \", this.isAnnimating);\r\n }\r\n\r\n ngOnInit() {\r\n this.document.body.classList.add('parallax');\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.document.body.classList.add(this._scrollingSectionList[this._lastScrolledSection].id);\r\n }, 100);\r\n this._scrollSection = document.getElementById(this.wheelContainerId);\r\n // this._page = document.getElementById(this.pageId);\r\n const children = this._el.nativeElement.children;\r\n this._scrollingSectionList = [];\r\n // tslint:disable-next-line: prefer-for-of\r\n for (let i = 0; i < children.length; i++) {\r\n const e = children[i];\r\n this._scrollingSectionList.push({\r\n id: e.id,\r\n e\r\n });\r\n }\r\n\r\n this.onMouseWheel = ($e) => {\r\n // $e.preventDefault();\r\n const curTime = new Date().getTime();\r\n // console.log($e, $e.deltaY, this.isAnnimating, curTime);\r\n if (this.isAnnimating) {\r\n return;\r\n }\r\n // if ((curTime - this._previousTime) < 2500) {\r\n // console.log('returned');\r\n // return;\r\n // } else {\r\n // console.log(curTime - this._previousTime);\r\n // }\r\n // this.document.removeEventListener('mousewheel', this.onMouseWheel);\r\n if ($e.deltaY > 0) {\r\n // Going Down\r\n const validity = this.checkNavigationValidity('down');\r\n if (validity.valid) {\r\n this.navigateTo(validity.value);\r\n } else {\r\n // this.document.addEventListener('mousewheel', this.onMouseWheel);\r\n }\r\n } else {\r\n // Going up\r\n const validity = this.checkNavigationValidity('up');\r\n if (validity.valid) {\r\n this.navigateTo(validity.value);\r\n } else {\r\n // this.document.addEventListener('mousewheel', this.onMouseWheel);\r\n }\r\n }\r\n };\r\n\r\n this.unsubscribeMouseWheel = this.renderer.listen(this._scrollSection, 'wheel', this.throttle(this.onMouseWheel, 1800));\r\n\r\n let yDown = null;\r\n this.unsubscribeTouchStart = this.renderer.listen(this._scrollSection, 'touchstart', this.throttle((e) => {\r\n if (this.isAnnimating) {\r\n return;\r\n }\r\n const firstTouch = e.touches[0];\r\n yDown = firstTouch.clientY;\r\n }, 1800));\r\n\r\n this.unsubscribeTouchMove = this.renderer.listen(this._scrollSection, 'touchmove', this.throttle((e) => {\r\n if (!yDown) {\r\n return;\r\n }\r\n const yUp = e.touches[0].clientY;\r\n const yDiff = yDown - yUp;\r\n\r\n let direction = '';\r\n if (yDiff > 0) {\r\n /* up swipe means go down */\r\n direction = 'down';\r\n } else {\r\n /* down swipe meand go up*/\r\n direction = 'up';\r\n }\r\n const validity = this.checkNavigationValidity(direction);\r\n if (validity.valid) {\r\n this.navigateTo(validity.value);\r\n }\r\n yDown = null;\r\n }, 1800));\r\n // this.renderer.listen(this._scrollSection, 'touchend', this.throttle((e) => {\r\n // console.log('End', e);\r\n // }, 500));\r\n // this.document.addEventListener('mousewheel', this.throttle(this.onMouseWheel, 500));\r\n\r\n // this.unsubscribeMouseWheel = this.renderer.listen(this.document, 'mousewheel', ($e) => {\r\n // // $e.preventDefault();\r\n // if (this.isAnnimating) {\r\n // return;\r\n // }\r\n // console.log($e, $e.deltaY, this.isAnnimating);\r\n\r\n // if ($e.deltaY > 0) {\r\n // // Going Down\r\n // const validity = this.checkNavigationValidity('down');\r\n // if (validity.valid) {\r\n // // (this._lastScrolledSection !== this._scrollingSectionList.length - 1) {\r\n // // this.navigateTo(this._scrollingSectionList[this._lastScrolledSection + 1].id);\r\n // this.navigateTo(validity.value);\r\n // }\r\n // } else {\r\n // const validity = this.checkNavigationValidity('up');\r\n // if (validity.valid) {\r\n // // (this._lastScrolledSection !== 0) {\r\n // // Going up\r\n // this.navigateTo(validity.value);\r\n // }\r\n // }\r\n // });\r\n }\r\n\r\n checkNavigationValidity(direction: string): { valid: boolean, value: string } {\r\n let _result = false;\r\n if (direction === 'down') {\r\n _result = (this._lastScrolledSection !== this._scrollingSectionList.length - 1);\r\n } else if (direction === 'up') {\r\n _result = (this._lastScrolledSection !== 0);\r\n }\r\n return {\r\n valid: _result,\r\n value: _result && (this._scrollingSectionList[this._lastScrolledSection + ((direction === 'down') ? 1 : -1)].id)\r\n };\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove('parallax');\r\n this.document.body.classList.remove(this._scrollingSectionList[this._lastScrolledSection].id);\r\n if (this.unsubscribeMouseWheel) {\r\n this.unsubscribeMouseWheel();\r\n }\r\n if (this.unsubscribeTouchStart) {\r\n this.unsubscribeTouchStart();\r\n }\r\n if (this.unsubscribeTouchMove) {\r\n this.unsubscribeTouchMove();\r\n }\r\n\r\n // if (this.onMouseWheel) {\r\n // this.document.removeEventListener('wheel', this.onMouseWheel);\r\n // }\r\n }\r\n\r\n private scrollIt(scrollContainer, destination, duration = 200, easing = 'linear', callback) {\r\n\r\n // Predefine list of available timing functions\r\n // If you need more, tween js is full of great examples\r\n // https://github.com/tweenjs/tween.js/blob/master/src/Tween.js#L421-L737\r\n const easings = {\r\n linear(t) {\r\n return t;\r\n },\r\n easeInQuad(t) {\r\n return t * t;\r\n },\r\n easeOutQuad(t) {\r\n return t * (2 - t);\r\n },\r\n easeInOutQuad(t) {\r\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\r\n },\r\n easeInCubic(t) {\r\n return t * t * t;\r\n },\r\n easeOutCubic(t) {\r\n return (--t) * t * t + 1;\r\n },\r\n easeInOutCubic(t) {\r\n return t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1;\r\n },\r\n easeInQuart(t) {\r\n return t * t * t * t;\r\n },\r\n easeOutQuart(t) {\r\n return 1 - (--t) * t * t * t;\r\n },\r\n easeInOutQuart(t) {\r\n return t < 0.5 ? 8 * t * t * t * t : 1 - 8 * (--t) * t * t * t;\r\n },\r\n easeInQuint(t) {\r\n return t * t * t * t * t;\r\n },\r\n easeOutQuint(t) {\r\n return 1 + (--t) * t * t * t * t;\r\n },\r\n easeInOutQuint(t) {\r\n return t < 0.5 ? 16 * t * t * t * t * t : 1 + 16 * (--t) * t * t * t * t;\r\n }\r\n };\r\n\r\n\r\n // Store initial position of a window and time\r\n // If performance is not available in your browser\r\n // It will fallback to new Date().getTime() - thanks IE < 10\r\n const start = scrollContainer.scrollTop; /* window.pageYOffset; */\r\n const startTime = 'now' in window.performance ? performance.now() : new Date().getTime();\r\n // const startTime = typeof(window.performance['now']) == 'function' ? performance.now() : new Date().getTime();\r\n\r\n\r\n // Take height of window and document to sesolve max scrollable value\r\n // Prevent requestAnimationFrame() from scrolling below maximum scollable value\r\n // Resolve destination type (node or number)\r\n // const documentHeight = Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight);\r\n // const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.getElementsByTagName('body')[0].clientHeight;\r\n // const destinationOffset = typeof destination === 'number' ? destination : destination.offsetTop;\r\n // const destinationOffsetToScroll = Math.round(documentHeight - destinationOffset < windowHeight ? documentHeight - windowHeight : destinationOffset);\r\n\r\n const containerScrollHeight = Math.max(scrollContainer.scrollHeight, scrollContainer.offsetHeight, scrollContainer.clientHeight);\r\n const containerHeight = scrollContainer.innerHeight || scrollContainer.clientHeight || scrollContainer.offsetHeight;\r\n const destinationOffset = typeof destination === 'number' ? destination : destination.offsetTop;\r\n const destinationOffsetToScroll = Math.round(containerScrollHeight - destinationOffset < containerHeight ? containerScrollHeight - containerHeight : destinationOffset);\r\n\r\n // If requestAnimationFrame is not supported\r\n // Move window to destination position and trigger callback function\r\n if ('requestAnimationFrame' in window === false) {\r\n // window.scroll(0, destinationOffsetToScroll);\r\n scrollContainer.scroll(0, destinationOffsetToScroll);\r\n if (callback) {\r\n callback();\r\n }\r\n return;\r\n }\r\n\r\n\r\n // function resolves position of a window and moves to exact amount of pixels\r\n // Resolved by calculating delta and timing function choosen by user\r\n function scroll() {\r\n const now = 'now' in window.performance ? performance.now() : new Date().getTime();\r\n const time = Math.min(1, ((now - startTime) / duration));\r\n const timeFunction = easings[easing](time);\r\n // window.scroll(0, Math.ceil((timeFunction * (destinationOffsetToScroll - start)) + start));\r\n scrollContainer.scroll(0, Math.ceil((timeFunction * (destinationOffsetToScroll - start)) + start));\r\n // Stop requesting animation when window reached its destination\r\n // And run a callback function\r\n // SPM Updated Here for smooth scroll\r\n // (window.pageYOffset === destinationOffsetToScroll);\r\n if (Math.ceil(scrollContainer.scrollTop/* window.pageYOffset */) === destinationOffsetToScroll) {\r\n if (callback) {\r\n callback();\r\n }\r\n return;\r\n }\r\n\r\n // If window still needs to scroll to reach destination\r\n // Request another scroll invokation\r\n requestAnimationFrame(scroll);\r\n }\r\n\r\n\r\n // Invoke scroll and sequential requestAnimationFrame\r\n scroll();\r\n }\r\n}\r\n","import { Directive, Input, Output, EventEmitter, ElementRef,\r\n Renderer2, AfterViewInit, AfterViewChecked, OnDestroy, Inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Directive({\r\n selector: '[appScrollSpy]'\r\n})\r\nexport class ScrollSpyDirective implements AfterViewInit, AfterViewChecked, OnDestroy {\r\n\r\n @Input() public spiedTags = [];\r\n @Input() private parentRef = null;\r\n @Output() public sectionChange = new EventEmitter();\r\n @Input() public scrollContainerId = '';\r\n private currentSection: string;\r\n private _lastHeight = 0;\r\n private _scrollSection;\r\n private unsubscribeScroll = null;\r\n initPosition;\r\n constructor(\r\n private _el: ElementRef,\r\n private renderer: Renderer2,\r\n @Inject(DOCUMENT) private document: Document) { }\r\n private calculatePosition() {\r\n const children = this._el.nativeElement.children;\r\n const result = [];\r\n for (let i = 0 ; i < children.length; i++) {\r\n const e = children[i];\r\n result.push({\r\n id: e.id,\r\n // position: (element.getBoundingClientRect()),\r\n // e\r\n });\r\n }\r\n return result;\r\n }\r\n ngAfterViewChecked(): void {\r\n if (this._lastHeight !== this._scrollSection.offsetHeight) {\r\n this.initPosition = this.calculatePosition();\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n this._scrollSection = document.getElementById(this.scrollContainerId);\r\n this._lastHeight = this._scrollSection.offsetHeight;\r\n this.initPosition = this.calculatePosition();\r\n this.unsubscribeScroll = this.renderer.listen(this._scrollSection, 'scroll', ($e) => {\r\n const scrollTop = $e.target.scrollTop;\r\n // Add class to body on 100px scroll\r\n if (scrollTop >= 100 && !this.document.body.classList.contains('tiny-header')) {\r\n this.renderer.addClass(this.document.body, 'tiny-header');\r\n } else if (scrollTop < 100) {\r\n this.renderer.removeClass(this.document.body, 'tiny-header');\r\n }\r\n const OffsetTop = $e.target.offsetTop;\r\n let currentSection: string = this.currentSection;\r\n const scrollWindowHeight = $e.target.offsetHeight;\r\n const result = this.initPosition.filter(v => {\r\n v.element = document.getElementById(v.id);\r\n return ((scrollTop + scrollWindowHeight) > (v.element.offsetTop - OffsetTop))\r\n && (scrollTop < ((v.element.offsetHeight + v.element.offsetTop) - OffsetTop));\r\n });\r\n const emitValue = {};\r\n if (result.length === 1) {\r\n currentSection = result[0].id;\r\n for (const x of result[0].element.attributes) {\r\n emitValue[x.localName] = x.value;\r\n }\r\n } else if (result.length > 1) {\r\n const topVal = ((result[0].element.offsetHeight + result[0].element.offsetTop)) - scrollTop - OffsetTop;\r\n const r = (topVal > (scrollWindowHeight / 2)) ? result[0] : result[1];\r\n currentSection = r.id;\r\n for (const x of r.element.attributes) {\r\n emitValue[x.localName] = x.value;\r\n }\r\n }\r\n if (currentSection !== this.currentSection) {\r\n this.currentSection = currentSection;\r\n this.sectionChange.emit({id: this.currentSection, value: {...emitValue}});\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.renderer.removeClass(this.document.body, 'tiny-header');\r\n if (this.unsubscribeScroll) {\r\n this.unsubscribeScroll();\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { DropdownDirective } from './dropdown.directive';\r\nimport { DataShareService } from './data-share.service';\r\nimport { AuthGuardService } from './auth-guard.service';\r\nimport { AuthService } from './auth.service';\r\nimport { AdminAuthGuardService } from './admin-auth-guard.service';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n DropdownDirective,\r\n // ScrollSpyDirective\r\n ],\r\n exports: [\r\n CommonModule,\r\n DropdownDirective,\r\n // ScrollSpyDirective\r\n ],\r\n providers: [\r\n DataShareService,\r\n AuthGuardService,\r\n AuthService,\r\n AdminAuthGuardService\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","module.exports = \".login-admin-container.admin-section-active .container{\\r\\n max-width: 100%;\\r\\n padding: 0 30px;\\r\\n}\\r\\n.login-admin-container.admin-section-active .container.inner-page-container{\\r\\n padding: 0;\\r\\n}\\r\\n.login-admin-container .cdk-overlay-pane .admin-container {\\r\\n padding: 0;\\r\\n}\\r\\n.login-admin-container .admin-container{\\r\\n padding: 0 30px;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .title-section{\\r\\n justify-content: space-between!important;\\r\\n display: flex;\\r\\n height: auto;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .title-section .filter-section {\\r\\n display: flex;\\r\\n border: none;\\r\\n justify-content: space-between;\\r\\n width: 100%;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .title-section .filter-section .input-group {\\r\\n width: auto;\\r\\n padding-right: 30px;\\r\\n border: #D6DFE4 1px solid;\\r\\n /* background:url(../../../assets/images/search-icon.png) no-repeat 20px center; */\\r\\n background:#fff url('icon-search-red.png') no-repeat calc(100% - 10px) center;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .title-section .filter-section .input-group:not(:last-child) {\\r\\n margin-right: 30px;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .title-section .filter-section .input-group .form-control {\\r\\n height: 38px;\\r\\n padding-bottom: 8px;\\r\\n border: none;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .title-section .filter-section .input-group .form-control:focus {\\r\\n box-shadow: none;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .title-section .filter-section .input-group .clear-search {\\r\\n width: 30px;\\r\\n height: 100%;\\r\\n padding: 0;\\r\\n font-size: 28px;\\r\\n color: #999;\\r\\n border: 0;\\r\\n cursor: pointer;\\r\\n background: #fff;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n line-height: 16px;\\r\\n padding-bottom: 4px;\\r\\n}\\r\\n.highlight {\\r\\n background: #ccedff !important;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .title-section .filter-section .input-group .clear-search:focus {\\r\\n box-shadow: none;\\r\\n outline: none;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .title-section .filter-section .input-group .clear-search:hover {\\r\\n box-shadow: none;\\r\\n outline: none;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .title-section h4{\\r\\n padding-top: 5px;\\r\\n font-size: calc(22px + (26 - 22) * (100vw - 320px) / (1920 - 320));\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .title-section .btn{\\r\\n height: 40px;\\r\\n padding-left: 60px;\\r\\n background: #06659B url('add-icon.png') no-repeat 20px center;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .title-section .btn.lockout-btn{\\r\\n background: #06659B url('lock-white.png') no-repeat 20px center;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .row .col:first-child{\\r\\n width: 60px; \\r\\n flex-grow: inherit; \\r\\n flex-basis: auto;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .actions{\\r\\n width:100px;\\r\\n height: 24px;\\r\\n display: flex;\\r\\n margin: 0 auto;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .actions span{\\r\\n width:24px;\\r\\n height: 24px;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .actions span:not(.disable){\\r\\n cursor: pointer;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .actions .edit{\\r\\n background: url('edit.png') no-repeat center center;\\r\\n background-size: 100%;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .actions .copy{\\r\\n background: url('copy-clipboard.png') no-repeat center center;\\r\\n background-size: 100%;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .actions .delete{\\r\\n background: url('delete.png') no-repeat center center;\\r\\n background-size: 100%;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .actions .logs{\\r\\n background: url('logs.png') no-repeat center center;\\r\\n background-size: 100%;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .actions .logs.disable{\\r\\n background-image:url('logs-disabled.png');\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .actions .info{\\r\\n background: url('info-icon.png') no-repeat center center;\\r\\n background-size: 100%;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .list-table {\\r\\n max-height: calc(100vh - 350px);\\r\\n overflow: auto;\\r\\n border: #E4E4E4 1px solid;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .list-table .mat-paginator.sticky-pagination {\\r\\n position: sticky;\\r\\n bottom: 0px;\\r\\n z-index: 10;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .mat-table{\\r\\n box-shadow: none;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .mat-table tbody tr:nth-child(even) {\\r\\n background-color: #F5F5F5;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .mat-table .mat-column-more{\\r\\n text-align: center;\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .mat-table th.mat-header-cell{\\r\\n padding-left: 10px;\\r\\n padding-right: 10px;\\r\\n}\\r\\n@media (max-width: 1443px){\\r\\n .login-admin-container .admin-container .user-list .admin-user-list .mat-table th.mat-header-cell,\\r\\n .login-admin-container .admin-container .user-list .admin-user-list .mat-table tbody td{\\r\\n padding-left: 5px;\\r\\n padding-right: 5px;\\r\\n }\\r\\n}\\r\\n.login-admin-container .admin-container .user-list .mat-table th.mat-header-cell:first-of-type{\\r\\n padding-left: 24px;\\r\\n}\\r\\n@media (max-width: 1443px){\\r\\n .login-admin-container .admin-container .user-list .admin-user-list .mat-table th.mat-header-cell:first-of-type{\\r\\n padding-left: 5px;\\r\\n }\\r\\n}\\r\\n.user-dialog-container .mat-dialog-container{\\r\\n color: #000000;\\r\\n}\\r\\n.user-status.active,\\r\\n.user-status.inactive{\\r\\n position: relative;\\r\\n padding-left: 16px;\\r\\n text-transform: capitalize;\\r\\n white-space: nowrap;\\r\\n}\\r\\n.user-status.active:before,\\r\\n.user-status.inactive:before{\\r\\n content: '';\\r\\n height: 8px;\\r\\n width: 8px;\\r\\n border-radius: 16px;\\r\\n background: #ccc;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top:0;\\r\\n bottom:0;\\r\\n margin:auto;\\r\\n}\\r\\n.user-status.active:before{\\r\\n background: #17AC2E;\\r\\n}\\r\\n.user-status.inactive:before{\\r\\n background: #F45757;\\r\\n}\\r\\n.user-status.inactive{\\r\\n color: #F45757;\\r\\n}\\r\\n.user-status.active{\\r\\n color: #17AC2E;\\r\\n \\r\\n}\\r\\n.hide{\\r\\n display: none\\r\\n}\\r\\n.mat-sort-header-container .mat-sort-header-arrow{\\r\\n opacity:1 !important;\\r\\n transform:translateY(0%) !important;\\r\\n width:12px;\\r\\n height:24px;\\r\\n position:relative;\\r\\n}\\r\\n.mat-sort-header-container .mat-sort-header-arrow .mat-sort-header-stem,\\r\\n.mat-sort-header-container .mat-sort-header-arrow .mat-sort-header-indicator{\\r\\n display:none;\\r\\n}\\r\\n.mat-sort-header-container .mat-sort-header-arrow:before,\\r\\n.mat-sort-header-container .mat-sort-header-arrow:after{\\r\\n content:\\\"\\\";\\r\\n border-color:transparent;\\r\\n border-style:solid;\\r\\n height:11px;\\r\\n width:12px;\\r\\n position:absolute;\\r\\n left:0;\\r\\n}\\r\\n.mat-sort-header-container .mat-sort-header-arrow:before{\\r\\n border-bottom-color:#BDBDBD;\\r\\n border-width:0 6px 6px 6px;\\r\\n top:0;\\r\\n}\\r\\n.mat-sort-header-container .mat-sort-header-arrow:after{\\r\\n border-top-color:#BDBDBD;\\r\\n border-width:6px 6px 0 6px;\\r\\n bottom:0;\\r\\n}\\r\\n.mat-header-row th[aria-sort=\\\"ascending\\\"] .mat-sort-header-container .mat-sort-header-arrow:before{\\r\\n border-bottom-color:#06659B;\\r\\n}\\r\\n.mat-header-row th[aria-sort=\\\"descending\\\"] .mat-sort-header-container .mat-sort-header-arrow:after{\\r\\n border-top-color:#06659B;\\r\\n}\\r\\n.mat-sort-header-container.mat-sort-header-sorted .mat-sort-header-arrow{\\r\\n opacity:1 !important;\\r\\n}\\r\\n.mat-footer-row mat-footer-cell{\\r\\n justify-content: center;\\r\\n font-style: italic;\\r\\n}\\r\\napp-history-dialog-box{\\r\\n display:flex;\\r\\n flex-direction:column;\\r\\n height:100%;\\r\\n}\\r\\n/* app-history-dialog-box > div{\\r\\n flex:0;\\r\\n} */\\r\\napp-history-dialog-box > mat-dialog-content.mat-dialog-content{\\r\\n flex:1 1 auto;\\r\\n margin:0;\\r\\n padding:0;\\r\\n}\\r\\napp-history-dialog-box > mat-dialog-content.mat-dialog-content th.mat-header-cell{\\r\\n padding-left:10px;\\r\\n}\\r\\n.admin-container .user-list .title-section button {\\r\\n height: 100%;\\r\\n padding: 0 30px;\\r\\n font-size: 16px;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n.admin-container .user-list .title-section button:focus {\\r\\n outline: none;\\r\\n}\\r\\n.login-admin-container .cdk-overlay-pane{\\r\\n height: auto!important;\\r\\n max-height: 90%;\\r\\n}\\r\\n.login-admin-container .cdk-overlay-pane .mat-dialog-container{\\r\\n padding: 30px!important;\\r\\n box-shadow: 0 0 12px rgba(0,0,0,.16);\\r\\n border-radius: 20px;\\r\\n}\\r\\n.login-admin-container .cdk-overlay-pane .mat-dialog-content{\\r\\n max-height: inherit;\\r\\n}\\r\\n.login-admin-container .cdk-overlay-pane .mat-dialog-container .mat-dialog-content{\\r\\n max-height: 65vh;\\r\\n}\\r\\n/* .login-admin-container .cdk-overlay-pane .mat-dialog-content .user-list .list-table{\\r\\n max-height:calc(100vh - 260px);\\r\\n min-height: 336px;\\r\\n} */\\r\\n.login-admin-container .right-nav{\\r\\n width: 160px;\\r\\n background: #8c9fab;\\r\\n padding: 0 15px;\\r\\n height: calc(100vh - 214px);\\r\\n box-shadow: -4px 0px 12px #0000001f;\\r\\n border-left: 1px solid #fff;\\r\\n}\\r\\n.login-admin-container .right-nav h6{\\r\\n font-size: 18px;\\r\\n color:#fff;\\r\\n font-family: 'DINProMedium', sans-serif;\\r\\n background: url('configuration.png') left center no-repeat;\\r\\n background-size: 22px;\\r\\n padding-left: 28px;\\r\\n}\\r\\n.login-admin-container .right-nav .configurations-list{\\r\\n padding: 25px 0;\\r\\n}\\r\\n.login-admin-container .right-nav .thumbs{\\r\\n width: 100%;\\r\\n display: block;\\r\\n padding: 50px 10px 10px;\\r\\n text-align: center;\\r\\n color: #fff;\\r\\n font-family: 'DINProMedium', sans-serif;\\r\\n font-size: 15px; \\r\\n background-color: #9fb2bf;\\r\\n background-repeat: no-repeat;\\r\\n background-position: center 10px;\\r\\n background-size: 30px;\\r\\n margin-bottom: 20px;\\r\\n box-shadow: 0 0 10px #00000024;\\r\\n cursor: pointer;\\r\\n transition: all 300ms ease-in-out;\\r\\n line-height: 18px;\\r\\n}\\r\\n.login-admin-container .right-nav .thumbs:hover{\\r\\n transform: scale(.97);\\r\\n transition: all 200ms ease-in-out;\\r\\n}\\r\\n.login-admin-container .right-nav .lock-ip{\\r\\n background-image: url('lock-ip.png');\\r\\n}\\r\\n.login-admin-container .right-nav .manage-cred{\\r\\n background-image: url('manage-cred.png');\\r\\n background-size: 34px;\\r\\n background-position: center 12px;\\r\\n}\\r\\n.stories-credentials-dialog-container .story-list{\\r\\n width: 600px;\\r\\n max-height: 500px;\\r\\n overflow-y: auto;\\r\\n}\\r\\n.stories-credentials-dialog-container .mat-expansion-panel{\\r\\n background: transparent;\\r\\n box-shadow: none;\\r\\n color: #333;\\r\\n}\\r\\n.stories-credentials-dialog-container .mat-expansion-panel-header{\\r\\n padding: 0 20px;\\r\\n height: 50px!important;\\r\\n}\\r\\n.stories-credentials-dialog-container .mat-expansion-indicator::after{\\r\\n color: #3c88b5;\\r\\n margin-right: 4px;\\r\\n padding: 4px;\\r\\n position: relative;\\r\\n top: -3px;\\r\\n}\\r\\n.stories-credentials-dialog-container .mat-expansion-panel .mat-expansion-panel-body {\\r\\n padding: 0 20px 16px;\\r\\n}\\r\\n.stories-credentials-dialog-container .story-list > div:nth-child(odd) .mat-expansion-panel {\\r\\n background-color: #F5F5F5;\\r\\n}\\r\\n.stories-credentials-dialog-container .mat-expansion-panel.mat-expanded,\\r\\n.stories-credentials-dialog-container .story-list > div:nth-child(odd) .mat-expansion-panel.mat-expanded {\\r\\n background-color: #e6e6e6;\\r\\n}\\r\\n.cred-form{\\r\\n display: flex;\\r\\n padding-top: 7px;\\r\\n border-top: 1px solid #fff;\\r\\n margin-top: 5px;\\r\\n}\\r\\n.cred-form:first-child{\\r\\n margin-top: 0;\\r\\n border-top: none;\\r\\n padding-top: 0;\\r\\n}\\r\\n.cred-form label{\\r\\n font-weight: 500;\\r\\n text-transform: uppercase;\\r\\n font-size: 13px;\\r\\n}\\r\\n.cred-form form > div label{\\r\\n font-size: 14px;\\r\\n font-family: 'DINProRegular', sans-serif;\\r\\n}\\r\\n.cred-form form > div img{\\r\\n top: -9px;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n left: 8px;\\r\\n width: 13px;\\r\\n}\\r\\n.cred-form form > div .form-control{\\r\\n height: 36px;\\r\\n font-size: 15px !important;\\r\\n margin-bottom: 8px;\\r\\n width: 226px;\\r\\n padding: 0px 0 3px 30px;\\r\\n}\\r\\n.cred-form form > div .form-control:focus{\\r\\n box-shadow: none;\\r\\n}\\r\\n.cred-form form > div p{\\r\\n bottom: -10px;\\r\\n margin: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n font-size: 12px;\\r\\n color: red;\\r\\n letter-spacing: 1px;\\r\\n}\\r\\n.cred-form button{\\r\\n height: 36px;\\r\\n color: #fff;\\r\\n background-color: #06659B;\\r\\n border: none;\\r\\n width: 90px;\\r\\n}\\r\\n.app-wrapper{\\r\\n margin-bottom: 2px;\\r\\n}\\r\\n.cred-form .lds-ring{\\r\\n left: 30px;\\r\\n transform: none;\\r\\n right: 0;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdXNlci1tYW5hZ2VtZW50L2FkbWluL2FkbWluLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0NBQ25CO0FBQ0Q7SUFDSSxXQUFXO0NBQ2Q7QUFDRDtJQUNJLFdBQVc7Q0FDZDtBQUNEO0lBQ0ksZ0JBQWdCO0NBQ25CO0FBQ0Q7SUFDSSx5Q0FBeUM7SUFDekMsY0FBYztJQUNkLGFBQWE7Q0FDaEI7QUFFRDtJQUNJLGNBQWM7SUFDZCxhQUFhO0lBQ2IsK0JBQStCO0lBQy9CLFlBQVk7Q0FDZjtBQUVEO0lBQ0ksWUFBWTtJQUNaLG9CQUFvQjtJQUNwQiwwQkFBMEI7SUFDMUIsbUZBQW1GO0lBQ25GLDhFQUFtRztDQUN0RztBQUVEO0lBQ0ksbUJBQW1CO0NBQ3RCO0FBRUQ7SUFDSSxhQUFhO0lBQ2Isb0JBQW9CO0lBQ3BCLGFBQWE7Q0FDaEI7QUFFRDtJQUNJLGlCQUFpQjtDQUNwQjtBQUVEO0lBQ0ksWUFBWTtJQUNaLGFBQWE7SUFDYixXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixVQUFVO0lBQ1YsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsU0FBUztJQUNULGtCQUFrQjtJQUNsQixvQkFBb0I7Q0FDdkI7QUFFRDtJQUNJLCtCQUErQjtDQUNsQztBQUVEO0lBQ0ksaUJBQWlCO0lBQ2pCLGNBQWM7Q0FDakI7QUFFRDtJQUNJLGlCQUFpQjtJQUNqQixjQUFjO0NBQ2pCO0FBR0Q7SUFDSSxpQkFBaUI7SUFDakIsbUVBQW1FO0NBQ3RFO0FBQ0Q7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDhEQUFtRjtDQUN0RjtBQUNEO0lBQ0ksZ0VBQXFGO0NBQ3hGO0FBQ0Q7SUFDSSxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGlCQUFpQjtDQUNwQjtBQUNEO0lBQ0ksWUFBWTtJQUNaLGFBQWE7SUFDYixjQUFjO0lBQ2QsZUFBZTtDQUNsQjtB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QUNEO0lBQ0ksY0FBYztJQUNkLFVBQVU7SUFDVixRQUFRO0lBQ1IsU0FBUztJQUNULGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsb0JBQW9CO0NBQ3ZCO0FBQ0Q7SUFDSSxhQUFhO0lBQ2IsWUFBWTtJQUNaLDBCQUEwQjtJQUMxQixhQUFhO0lBQ2IsWUFBWTtDQUNmO0FBQ0Q7SUFDSSxtQkFBbUI7Q0FDdEI7QUFDRDtJQUNJLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsU0FBUztJQUNULGFBQWE7Q0FDaEIiLCJmaWxlIjoic3JjL2FwcC91c2VyLW1hbmFnZW1lbnQvYWRtaW4vYWRtaW4uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5sb2dpbi1hZG1pbi1jb250YWluZXIuYWRtaW4tc2VjdGlvbi1hY3RpdmUgLmNvbnRhaW5lcntcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDAgMzBweDtcclxufVxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyLmFkbWluLXNlY3Rpb24tYWN0aXZlIC5jb250YWluZXIuaW5uZXItcGFnZS1jb250YWluZXJ7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcbi5sb2dpbi1hZG1pbi1jb250YWluZXIgLmNkay1vdmVybGF5LXBhbmUgLmFkbWluLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcbi5sb2dpbi1hZG1pbi1jb250YWluZXIgLmFkbWluLWNvbnRhaW5lcntcclxuICAgIHBhZGRpbmc6IDAgMzBweDtcclxufVxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5hZG1pbi1jb250YWluZXIgLnVzZXItbGlzdCAudGl0bGUtc2VjdGlvbntcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5hZG1pbi1jb250YWluZXIgLnVzZXItbGlzdCAudGl0bGUtc2VjdGlvbiAuZmlsdGVyLXNlY3Rpb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5hZG1pbi1jb250YWluZXIgLnVzZXItbGlzdCAudGl0bGUtc2VjdGlvbiAuZmlsdGVyLXNlY3Rpb24gLmlucHV0LWdyb3VwIHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcclxuICAgIGJvcmRlcjogI0Q2REZFNCAxcHggc29saWQ7XHJcbiAgICAvKiBiYWNrZ3JvdW5kOnVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3NlYXJjaC1pY29uLnBuZykgbm8tcmVwZWF0IDIwcHggY2VudGVyOyAqL1xyXG4gICAgYmFja2dyb3VuZDojZmZmIHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2ljb24tc2VhcmNoLXJlZC5wbmcpIG5vLXJlcGVhdCBjYWxjKDEwMCUgLSAxMHB4KSBjZW50ZXI7XHJcbn1cclxuXHJcbi5sb2dpbi1hZG1pbi1jb250YWluZXIgLmFkbWluLWNvbnRhaW5lciAudXNlci1saXN0IC50aXRsZS1zZWN0aW9uIC5maWx0ZXItc2VjdGlvbiAuaW5wdXQtZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbn1cclxuXHJcbi5sb2dpbi1hZG1pbi1jb250YWluZXIgLmFkbWluLWNvbnRhaW5lciAudXNlci1saXN0IC50aXRsZS1zZWN0aW9uIC5maWx0ZXItc2VjdGlvbiAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XHJcbiAgICBoZWlnaHQ6IDM4cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5hZG1pbi1jb250YWluZXIgLnVzZXItbGlzdCAudGl0bGUtc2VjdGlvbiAuZmlsdGVyLXNlY3Rpb24gLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLmxvZ2luLWFkbWluLWNvbnRhaW5lciAuYWRtaW4tY29udGFpbmVyIC51c2VyLWxpc3QgLnRpdGxlLXNlY3Rpb24gLmZpbHRlci1zZWN0aW9uIC5pbnB1dC1ncm91cCAuY2xlYXItc2VhcmNoIHtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xyXG59XHJcblxyXG4uaGlnaGxpZ2h0IHtcclxuICAgIGJhY2tncm91bmQ6ICNjY2VkZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmxvZ2luLWFkbWluLWNvbnRhaW5lciAuYWRtaW4tY29udGFpbmVyIC51c2VyLWxpc3QgLnRpdGxlLXNlY3Rpb24gLmZpbHRlci1zZWN0aW9uIC5pbnB1dC1ncm91cCAuY2xlYXItc2VhcmNoOmZvY3VzIHtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5hZG1pbi1jb250YWluZXIgLnVzZXItbGlzdCAudGl0bGUtc2VjdGlvbiAuZmlsdGVyLXNlY3Rpb24gLmlucHV0LWdyb3VwIC5jbGVhci1zZWFyY2g6aG92ZXIge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5hZG1pbi1jb250YWluZXIgLnVzZXItbGlzdCAudGl0bGUtc2VjdGlvbiBoNHtcclxuICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICBmb250LXNpemU6IGNhbGMoMjJweCArICgyNiAtIDIyKSAqICgxMDB2dyAtIDMyMHB4KSAvICgxOTIwIC0gMzIwKSk7XHJcbn1cclxuLmxvZ2luLWFkbWluLWNvbnRhaW5lciAuYWRtaW4tY29udGFpbmVyIC51c2VyLWxpc3QgLnRpdGxlLXNlY3Rpb24gLmJ0bntcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIHBhZGRpbmctbGVmdDogNjBweDtcclxuICAgIGJhY2tncm91bmQ6ICMwNjY1OUIgdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvYWRkLWljb24ucG5nKSBuby1yZXBlYXQgMjBweCBjZW50ZXI7XHJcbn1cclxuLmxvZ2luLWFkbWluLWNvbnRhaW5lciAuYWRtaW4tY29udGFpbmVyIC51c2VyLWxpc3QgLnRpdGxlLXNlY3Rpb24gLmJ0bi5sb2Nrb3V0LWJ0bntcclxuICAgIGJhY2tncm91bmQ6ICMwNjY1OUIgdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvbG9jay13aGl0ZS5wbmcpIG5vLXJlcGVhdCAyMHB4IGNlbnRlcjtcclxufVxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5hZG1pbi1jb250YWluZXIgLnVzZXItbGlzdCAucm93IC5jb2w6Zmlyc3QtY2hpbGR7XHJcbiAgICB3aWR0aDogNjBweDsgXHJcbiAgICBmbGV4LWdyb3c6IGluaGVyaXQ7IFxyXG4gICAgZmxleC1iYXNpczogYXV0bztcclxufVxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5hZG1pbi1jb250YWluZXIgLnVzZXItbGlzdCAuYWN0aW9uc3tcclxuICAgIHdpZHRoOjEwMHB4O1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcbi5sb2dpbi1hZG1pbi1jb250YWluZXIgLmFkbWluLWNvbnRhaW5lciAudXNlci1saXN0IC5hY3Rpb25zIHNwYW57XHJcbiAgICB3aWR0aDoyNHB4O1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG59XHJcbi5sb2dpbi1hZG1pbi1jb250YWluZXIgLmFkbWluLWNvbnRhaW5lciAudXNlci1saXN0IC5hY3Rpb25zIHNwYW46bm90KC5kaXNhYmxlKXtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5hZG1pbi1jb250YWluZXIgLnVzZXItbGlzdCAuYWN0aW9ucyAuZWRpdHtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2VkaXQucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxufVxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5hZG1pbi1jb250YWluZXIgLnVzZXItbGlzdCAuYWN0aW9ucyAuY29weXtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2NvcHktY2xpcGJvYXJkLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbn1cclxuLmxvZ2luLWFkbWluLWNvbnRhaW5lciAuYWRtaW4tY29udGFpbmVyIC51c2VyLWxpc3QgLmFjdGlvbnMgLmRlbGV0ZXtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2RlbGV0ZS5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG59XHJcbi5sb2dpbi1hZG1pbi1jb250YWluZXIgLmFkbWluLWNvbnRhaW5lciAudXNlci1saXN0IC5hY3Rpb25zIC5sb2dze1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvbG9ncy5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG59XHJcbi5sb2dpbi1hZG1pbi1jb250YWluZXIgLmFkbWluLWNvbnRhaW5lciAudXNlci1saXN0IC5hY3Rpb25zIC5sb2dzLmRpc2FibGV7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2xvZ3MtZGlzYWJsZWQucG5nKTtcclxufVxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5hZG1pbi1jb250YWluZXIgLnVzZXItbGlzdCAuYWN0aW9ucyAuaW5mb3tcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2luZm8taWNvbi5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG59XHJcblxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5hZG1pbi1jb250YWluZXIgLnVzZXItbGlzdCAubGlzdC10YWJsZSB7XHJcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzUwcHgpO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBib3JkZXI6ICNFNEU0RTQgMXB4IHNvbGlkO1xyXG59XHJcblxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5hZG1pbi1jb250YWluZXIgLnVzZXItbGlzdCAubGlzdC10YWJsZSAubWF0LXBhZ2luYXRvci5zdGlja3ktcGFnaW5hdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgYm90dG9tOiAwcHg7XHJcbiAgICB6LWluZGV4OiAxMDtcclxufVxyXG5cclxuLmxvZ2luLWFkbWluLWNvbnRhaW5lciAuYWRtaW4tY29udGFpbmVyIC51c2VyLWxpc3QgLm1hdC10YWJsZXtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLmxvZ2luLWFkbWluLWNvbnRhaW5lciAuYWRtaW4tY29udGFpbmVyIC51c2VyLWxpc3QgLm1hdC10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcclxufVxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5hZG1pbi1jb250YWluZXIgLnVzZXItbGlzdCAubWF0LXRhYmxlICAubWF0LWNvbHVtbi1tb3Jle1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5sb2dpbi1hZG1pbi1jb250YWluZXIgLmFkbWluLWNvbnRhaW5lciAudXNlci1saXN0IC5tYXQtdGFibGUgdGgubWF0LWhlYWRlci1jZWxse1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcclxufVxyXG5AbWVkaWEgKG1heC13aWR0aDogMTQ0M3B4KXtcclxuICAgIC5sb2dpbi1hZG1pbi1jb250YWluZXIgLmFkbWluLWNvbnRhaW5lciAudXNlci1saXN0IC5hZG1pbi11c2VyLWxpc3QgLm1hdC10YWJsZSB0aC5tYXQtaGVhZGVyLWNlbGwsXHJcbiAgICAubG9naW4tYWRtaW4tY29udGFpbmVyIC5hZG1pbi1jb250YWluZXIgLnVzZXItbGlzdCAuYWRtaW4tdXNlci1saXN0IC5tYXQtdGFibGUgdGJvZHkgdGR7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgfVxyXG59XHJcbi5sb2dpbi1hZG1pbi1jb250YWluZXIgLmFkbWluLWNvbnRhaW5lciAudXNlci1saXN0IC5tYXQtdGFibGUgIHRoLm1hdC1oZWFkZXItY2VsbDpmaXJzdC1vZi10eXBle1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xyXG59XHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxNDQzcHgpe1xyXG4gICAgLmxvZ2luLWFkbWluLWNvbnRhaW5lciAuYWRtaW4tY29udGFpbmVyIC51c2VyLWxpc3QgLmFkbWluLXVzZXItbGlzdCAubWF0LXRhYmxlICB0aC5tYXQtaGVhZGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZXtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgIH1cclxufVxyXG4udXNlci1kaWFsb2ctY29udGFpbmVyIC5tYXQtZGlhbG9nLWNvbnRhaW5lcntcclxuICAgIGNvbG9yOiAjMDAwMDAwO1xyXG59XHJcblxyXG4udXNlci1zdGF0dXMuYWN0aXZlLFxyXG4udXNlci1zdGF0dXMuaW5hY3RpdmV7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuLnVzZXItc3RhdHVzLmFjdGl2ZTpiZWZvcmUsXHJcbi51c2VyLXN0YXR1cy5pbmFjdGl2ZTpiZWZvcmV7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGhlaWdodDogOHB4O1xyXG4gICAgd2lkdGg6IDhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDowO1xyXG4gICAgYm90dG9tOjA7XHJcbiAgICBtYXJnaW46YXV0bztcclxufVxyXG4udXNlci1zdGF0dXMuYWN0aXZlOmJlZm9yZXtcclxuICAgIGJhY2tncm91bmQ6ICMxN0FDMkU7XHJcbn1cclxuLnVzZXItc3RhdHVzLmluYWN0aXZlOmJlZm9yZXtcclxuICAgIGJhY2tncm91bmQ6ICNGNDU3NTc7XHJcbn1cclxuLnVzZXItc3RhdHVzLmluYWN0aXZle1xyXG4gICAgY29sb3I6ICNGNDU3NTc7XHJcbn1cclxuLnVzZXItc3RhdHVzLmFjdGl2ZXtcclxuICAgIGNvbG9yOiAjMTdBQzJFO1xyXG4gICAgXHJcbn1cclxuLmhpZGV7XHJcbiAgICBkaXNwbGF5OiBub25lXHJcbn1cclxuLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIgLm1hdC1zb3J0LWhlYWRlci1hcnJvd3tcclxuICAgIG9wYWNpdHk6MSAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCUpICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDoxMnB4O1xyXG4gICAgaGVpZ2h0OjI0cHg7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxufVxyXG4ubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lciAubWF0LXNvcnQtaGVhZGVyLWFycm93IC5tYXQtc29ydC1oZWFkZXItc3RlbSxcclxuLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIgLm1hdC1zb3J0LWhlYWRlci1hcnJvdyAubWF0LXNvcnQtaGVhZGVyLWluZGljYXRvcntcclxuICAgIGRpc3BsYXk6bm9uZTtcclxufVxyXG4ubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lciAubWF0LXNvcnQtaGVhZGVyLWFycm93OmJlZm9yZSxcclxuLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIgLm1hdC1zb3J0LWhlYWRlci1hcnJvdzphZnRlcntcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIGJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1zdHlsZTpzb2xpZDtcclxuICAgIGhlaWdodDoxMXB4O1xyXG4gICAgd2lkdGg6MTJweDtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgbGVmdDowO1xyXG59XHJcbi5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyIC5tYXQtc29ydC1oZWFkZXItYXJyb3c6YmVmb3Jle1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjojQkRCREJEO1xyXG4gICAgYm9yZGVyLXdpZHRoOjAgNnB4IDZweCA2cHg7XHJcbiAgICB0b3A6MDtcclxufVxyXG4ubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lciAubWF0LXNvcnQtaGVhZGVyLWFycm93OmFmdGVye1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjojQkRCREJEO1xyXG4gICAgYm9yZGVyLXdpZHRoOjZweCA2cHggMCA2cHg7XHJcbiAgICBib3R0b206MDtcclxufVxyXG4ubWF0LWhlYWRlci1yb3cgdGhbYXJpYS1zb3J0PVwiYXNjZW5kaW5nXCJdIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyIC5tYXQtc29ydC1oZWFkZXItYXJyb3c6YmVmb3Jle1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjojMDY2NTlCO1xyXG59XHJcbi5tYXQtaGVhZGVyLXJvdyB0aFthcmlhLXNvcnQ9XCJkZXNjZW5kaW5nXCJdIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyIC5tYXQtc29ydC1oZWFkZXItYXJyb3c6YWZ0ZXJ7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiMwNjY1OUI7XHJcbn1cclxuLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIubWF0LXNvcnQtaGVhZGVyLXNvcnRlZCAubWF0LXNvcnQtaGVhZGVyLWFycm93e1xyXG4gICAgb3BhY2l0eToxICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hdC1mb290ZXItcm93IG1hdC1mb290ZXItY2VsbHtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcbmFwcC1oaXN0b3J5LWRpYWxvZy1ib3h7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XHJcbiAgICBoZWlnaHQ6MTAwJTtcclxufVxyXG4vKiBhcHAtaGlzdG9yeS1kaWFsb2ctYm94ID4gZGl2e1xyXG4gICAgZmxleDowO1xyXG59ICovXHJcbmFwcC1oaXN0b3J5LWRpYWxvZy1ib3ggPiBtYXQtZGlhbG9nLWNvbnRlbnQubWF0LWRpYWxvZy1jb250ZW50e1xyXG4gICAgZmxleDoxIDEgYXV0bztcclxuICAgIG1hcmdpbjowO1xyXG4gICAgcGFkZGluZzowO1xyXG59XHJcbmFwcC1oaXN0b3J5LWRpYWxvZy1ib3ggPiBtYXQtZGlhbG9nLWNvbnRlbnQubWF0LWRpYWxvZy1jb250ZW50IHRoLm1hdC1oZWFkZXItY2VsbHtcclxuICAgIHBhZGRpbmctbGVmdDoxMHB4O1xyXG59XHJcbi5hZG1pbi1jb250YWluZXIgLnVzZXItbGlzdCAudGl0bGUtc2VjdGlvbiBidXR0b24ge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcGFkZGluZzogMCAzMHB4O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG4uYWRtaW4tY29udGFpbmVyIC51c2VyLWxpc3QgLnRpdGxlLXNlY3Rpb24gYnV0dG9uOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuLmxvZ2luLWFkbWluLWNvbnRhaW5lciAuY2RrLW92ZXJsYXktcGFuZXtcclxuICAgIGhlaWdodDogYXV0byFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtaGVpZ2h0OiA5MCU7XHJcbn1cclxuLmxvZ2luLWFkbWluLWNvbnRhaW5lciAuY2RrLW92ZXJsYXktcGFuZSAubWF0LWRpYWxvZy1jb250YWluZXJ7XHJcbiAgICBwYWRkaW5nOiAzMHB4IWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAxMnB4IHJnYmEoMCwwLDAsLjE2KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbn1cclxuLmxvZ2luLWFkbWluLWNvbnRhaW5lciAuY2RrLW92ZXJsYXktcGFuZSAubWF0LWRpYWxvZy1jb250ZW50e1xyXG4gICAgbWF4LWhlaWdodDogaW5oZXJpdDtcclxufVxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5jZGstb3ZlcmxheS1wYW5lIC5tYXQtZGlhbG9nLWNvbnRhaW5lciAubWF0LWRpYWxvZy1jb250ZW50e1xyXG4gICAgbWF4LWhlaWdodDogNjV2aDtcclxufVxyXG4vKiAubG9naW4tYWRtaW4tY29udGFpbmVyIC5jZGstb3ZlcmxheS1wYW5lIC5tYXQtZGlhbG9nLWNvbnRlbnQgLnVzZXItbGlzdCAubGlzdC10YWJsZXtcclxuICAgIG1heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDI2MHB4KTtcclxuICAgIG1pbi1oZWlnaHQ6IDMzNnB4O1xyXG59ICovXHJcblxyXG5cclxuXHJcbi5sb2dpbi1hZG1pbi1jb250YWluZXIgLnJpZ2h0LW5hdntcclxuICAgIHdpZHRoOiAxNjBweDtcclxuICAgIGJhY2tncm91bmQ6ICM4YzlmYWI7XHJcbiAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyMTRweCk7XHJcbiAgICBib3gtc2hhZG93OiAtNHB4IDBweCAxMnB4ICMwMDAwMDAxZjtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcclxufVxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5yaWdodC1uYXYgaDZ7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBjb2xvcjojZmZmO1xyXG4gICAgZm9udC1mYW1pbHk6ICdESU5Qcm9NZWRpdW0nLCBzYW5zLXNlcmlmO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvYWRtaW4vY29uZmlndXJhdGlvbi5wbmcpIGxlZnQgY2VudGVyIG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMjJweDtcclxuICAgIHBhZGRpbmctbGVmdDogMjhweDtcclxufVxyXG4ubG9naW4tYWRtaW4tY29udGFpbmVyIC5yaWdodC1uYXYgLmNvbmZpZ3VyYXRpb25zLWxpc3R7XHJcbiAgICBwYWRkaW5nOiAyNXB4IDA7XHJcbn1cclxuLmxvZ2luLWFkbWluLWNvbnRhaW5lciAucmlnaHQtbmF2IC50aHVtYnN7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogNTBweCAxMHB4IDEwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtZmFtaWx5OiAnRElOUHJvTWVkaXVtJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogMTVweDsgICAgXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWZiMmJmO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAzMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4ICMwMDAwMDAyNDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG59XHJcbi5sb2dpbi1hZG1pbi1jb250YWluZXIgLnJpZ2h0LW5hdiAudGh1bWJzOmhvdmVye1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOTcpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5sb2dpbi1hZG1pbi1jb250YWluZXIgLnJpZ2h0LW5hdiAubG9jay1pcHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2FkbWluL2xvY2staXAucG5nKTtcclxufVxyXG5cclxuLmxvZ2luLWFkbWluLWNvbnRhaW5lciAucmlnaHQtbmF2IC5tYW5hZ2UtY3JlZHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2FkbWluL21hbmFnZS1jcmVkLnBuZyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDM0cHg7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMTJweDtcclxufVxyXG5cclxuXHJcblxyXG4uc3Rvcmllcy1jcmVkZW50aWFscy1kaWFsb2ctY29udGFpbmVyIC5zdG9yeS1saXN0e1xyXG4gICAgd2lkdGg6IDYwMHB4O1xyXG4gICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcbi5zdG9yaWVzLWNyZWRlbnRpYWxzLWRpYWxvZy1jb250YWluZXIgLm1hdC1leHBhbnNpb24tcGFuZWx7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBjb2xvcjogIzMzMztcclxufVxyXG5cclxuLnN0b3JpZXMtY3JlZGVudGlhbHMtZGlhbG9nLWNvbnRhaW5lciAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJ7XHJcbiAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICBoZWlnaHQ6IDUwcHghaW1wb3J0YW50O1xyXG59XHJcbi5zdG9yaWVzLWNyZWRlbnRpYWxzLWRpYWxvZy1jb250YWluZXIgLm1hdC1leHBhbnNpb24taW5kaWNhdG9yOjphZnRlcntcclxuICAgIGNvbG9yOiAjM2M4OGI1O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XHJcbiAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IC0zcHg7XHJcbn1cclxuLnN0b3JpZXMtY3JlZGVudGlhbHMtZGlhbG9nLWNvbnRhaW5lciAubWF0LWV4cGFuc2lvbi1wYW5lbCAubWF0LWV4cGFuc2lvbi1wYW5lbC1ib2R5IHtcclxuICAgIHBhZGRpbmc6IDAgMjBweCAxNnB4O1xyXG59XHJcbi5zdG9yaWVzLWNyZWRlbnRpYWxzLWRpYWxvZy1jb250YWluZXIgLnN0b3J5LWxpc3QgPiBkaXY6bnRoLWNoaWxkKG9kZCkgLm1hdC1leHBhbnNpb24tcGFuZWwge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcclxufVxyXG4uc3Rvcmllcy1jcmVkZW50aWFscy1kaWFsb2ctY29udGFpbmVyIC5tYXQtZXhwYW5zaW9uLXBhbmVsLm1hdC1leHBhbmRlZCxcclxuLnN0b3JpZXMtY3JlZGVudGlhbHMtZGlhbG9nLWNvbnRhaW5lciAuc3RvcnktbGlzdCA+IGRpdjpudGgtY2hpbGQob2RkKSAubWF0LWV4cGFuc2lvbi1wYW5lbC5tYXQtZXhwYW5kZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcclxufVxyXG4uY3JlZC1mb3Jte1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmctdG9wOiA3cHg7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxufVxyXG4uY3JlZC1mb3JtOmZpcnN0LWNoaWxke1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxufVxyXG4uY3JlZC1mb3JtIGxhYmVse1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbn1cclxuLmNyZWQtZm9ybSBmb3JtID4gZGl2IGxhYmVse1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICdESU5Qcm9SZWd1bGFyJywgc2Fucy1zZXJpZjtcclxufVxyXG4uY3JlZC1mb3JtIGZvcm0gPiBkaXYgaW1ne1xyXG4gICAgdG9wOiAtOXB4O1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgbGVmdDogOHB4O1xyXG4gICAgd2lkdGg6IDEzcHg7XHJcbn1cclxuLmNyZWQtZm9ybSBmb3JtID4gZGl2IC5mb3JtLWNvbnRyb2x7XHJcbiAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgIHdpZHRoOiAyMjZweDtcclxuICAgIHBhZGRpbmc6IDBweCAwIDNweCAzMHB4O1xyXG59XHJcbi5jcmVkLWZvcm0gZm9ybSA+IGRpdiAuZm9ybS1jb250cm9sOmZvY3Vze1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG4uY3JlZC1mb3JtIGZvcm0gPiBkaXYgcHtcclxuICAgIGJvdHRvbTogLTEwcHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBjb2xvcjogcmVkO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxufVxyXG4uY3JlZC1mb3JtIGJ1dHRvbntcclxuICAgIGhlaWdodDogMzZweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2NjU5QjtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHdpZHRoOiA5MHB4O1xyXG59XHJcbi5hcHAtd3JhcHBlcntcclxuICAgIG1hcmdpbi1ib3R0b206IDJweDtcclxufVxyXG4uY3JlZC1mb3JtIC5sZHMtcmluZ3tcclxuICAgIGxlZnQ6IDMwcHg7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICByaWdodDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxufVxyXG4iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Request List

\\r\\n
\\r\\n
0\\\" class=\\\"filter-section\\\">\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
No data found
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
Client Name{{row.clientName}}ZS Requestor{{row.requesterName}}Access Code{{row.accessCode}}Active Period\\r\\n {{ row.accessStartDate | date: 'dd MMM yyyy' }} -\\r\\n {{row.accessEndDate | date: 'dd MMM yyyy' }}\\r\\n Last Logged In\\r\\n {{row.lastLoggedIn? (row.lastLoggedIn | date: 'dd MMM yyyy , HH:mm:ss') : 'Not yet accessed'}}\\r\\n {{row.userMetaInfo?.ipAddress ? 'IP:'+row.userMetaInfo?.ipAddress : ''}}\\r\\n Status\\r\\n {{row.status}}\\r\\n Actions\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Settings
\\r\\n
\\r\\n \\r\\n
Locked IP(s)
\\r\\n
Manage Credentials
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, ViewEncapsulation, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort, MatPaginator, MatSnackBar } from '@angular/material';\r\n\r\nimport { AuthService } from '../../shared/auth.service';\r\nimport { AdminService } from './service/admin.service';\r\nimport { MatDialog } from '@angular/material';\r\nimport { UserDialogBoxComponent } from './user-dialog-box/user-dialog-box.component';\r\nimport { HistoryDialogBoxComponent } from './history-dialog-box/history-dialog-box.component';\r\nimport { UserStatus } from 'src/app/shared/enum/enum';\r\nimport { ViewUserDialogBoxComponent } from './view-user-dialog-box/view-user-dialog-box.component';\r\nimport { LockoutDialogBoxComponent } from './lockout-dialog-box/lockout-dialog-box.component';\r\nimport { StoriesCredentialsDialogBoxComponent } from './stories-credentials-dialog-box/stories-credentials-dialog-box.component';\r\nimport { DataShareService } from 'src/app/shared/data-share.service';\r\n\r\n@Component({\r\n selector: 'app-admin',\r\n templateUrl: './admin.component.html',\r\n styleUrls: ['./admin.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AdminComponent implements OnInit, OnDestroy {\r\n public displayedColumns = ['clientName', 'requesterName', 'accessCode', 'accessStartDate', 'status', 'lastLoggedIn', 'more'];\r\n public currentDate = new Date();\r\n @ViewChild(MatSort) sort: MatSort;\r\n @ViewChild(MatPaginator) pageinator: MatPaginator;\r\n\r\n public adminForm: FormGroup;\r\n public userList: MatTableDataSource;\r\n public UserStatus = UserStatus;\r\n public filterText = '';\r\n public displayNoRecords = false;\r\n public selectedRowIndex = -1;\r\n public classVal = '';\r\n constructor(\r\n private _router: Router,\r\n private dialog: MatDialog,\r\n private _snackBar: MatSnackBar,\r\n private _authService: AuthService,\r\n private _adminService: AdminService,\r\n private dataShareService: DataShareService) { }\r\n\r\n ngOnInit() {\r\n this.getUsersList();\r\n this.classVal = 'admin-section-active';\r\n this.dataShareService.updateCustomEvent({ event: 'addClassToBody', data: this.classVal });\r\n }\r\n\r\n private getUsersList() {\r\n const timeZoneOffset = (new Date()).getTimezoneOffset();\r\n this._adminService.getUsersList().subscribe((res: any) => {\r\n res.data.forEach(v => {\r\n v = this._adminService.parseUserObj(v, true, timeZoneOffset);\r\n });\r\n\r\n this.userList = new MatTableDataSource(res.data);\r\n this.userList.sort = this.sort;\r\n this.userList.paginator = this.pageinator;\r\n\r\n this.userList.sortData = (item, sort) => {\r\n if (sort.active === 'accessStartDate') {\r\n return item.sort((a, b) => {\r\n let x = 0;\r\n if (a.accessStartDate > b.accessStartDate) {\r\n x = 1;\r\n } else if (a.accessStartDate.getTime() === b.accessStartDate.getTime()) {\r\n x = (a.accessEndDate > b.accessEndDate) ? 1 : ((a.accessEndDate < b.accessEndDate) ? -1 : x);\r\n } else {\r\n x = -1;\r\n }\r\n return x * (sort.direction === 'asc' ? 1 : sort.direction === 'desc' ? -1 : 0);\r\n });\r\n }\r\n\r\n return item.sort((a, b) => {\r\n const x = (a[sort.active] > b[sort.active] ? 1 : a[sort.active] < b[sort.active] ? -1 : 0);\r\n return x * (sort.direction === 'asc' ? 1 : sort.direction === 'desc' ? -1 : 0);\r\n });\r\n\r\n };\r\n\r\n this.userList.filterPredicate = (data, filter: string): boolean => {\r\n filter = filter.toLowerCase();\r\n return data.clientName.toLowerCase().includes(filter) || data.accessCode.toLowerCase().includes(filter) ||\r\n data.requesterName.toLowerCase().includes(filter) || data.status.toLowerCase().includes(filter);\r\n\r\n };\r\n this.applyFilter(this.filterText);\r\n });\r\n\r\n }\r\n\r\n\r\n private openDialog(isUpdate: boolean = false, user: any = null, errorMsg: string = '') {\r\n const dialogRef = this.dialog.open(UserDialogBoxComponent, {\r\n data: {\r\n isUpdate,\r\n user\r\n },\r\n panelClass: 'user-dialog-container',\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n // console.log(`Dialog result:`, result);\r\n if (result) {\r\n // Close on click of save or update user button.\r\n this._snackBar.open(result.message, '', {\r\n duration: 3000,\r\n panelClass: 'success',\r\n verticalPosition: 'top',\r\n horizontalPosition: 'right'\r\n });\r\n this.highlightSelectedRecord(isUpdate ? user : result.data);\r\n }\r\n this.getUsersList();\r\n\r\n });\r\n }\r\n\r\n openHistoryDialog(user) {\r\n const dialogRef = this.dialog.open(HistoryDialogBoxComponent, {\r\n width: '500px',\r\n height: '500px',\r\n data: {...user}\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.highlightSelectedRecord(user);\r\n });\r\n\r\n }\r\n\r\n openLockoutDialog() {\r\n this.dialog.open(LockoutDialogBoxComponent, {\r\n width: '800px',\r\n });\r\n }\r\n\r\n openStoriesCredentialsDialog() {\r\n // console.log(\"Inside openStoriesCredentialsDialog function\");\r\n this.dialog.open(StoriesCredentialsDialogBoxComponent, {\r\n panelClass: 'stories-credentials-dialog-container',\r\n // disableClose: true,\r\n // width: '800px',\r\n });\r\n }\r\n\r\n public applyFilter(filterValue: string) {\r\n this.filterText = filterValue.trim();\r\n this.userList.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.userList.filteredData.length === 0) {\r\n this.displayNoRecords = true;\r\n } else {\r\n this.displayNoRecords = false;\r\n }\r\n }\r\n\r\n onUserGenerate() {\r\n this.openDialog();\r\n }\r\n\r\n onUserEditClick(user) {\r\n this.openDialog(true, user);\r\n }\r\n\r\n onUserViewClick(user) {\r\n const dialogRef = this.dialog.open(ViewUserDialogBoxComponent, {\r\n data: user\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.highlightSelectedRecord(user);\r\n });\r\n }\r\n\r\n highlightSelectedRecord(user) {\r\n this.selectedRowIndex = user.accessCode;\r\n setTimeout(() => {\r\n this.selectedRowIndex = -1;\r\n }, 1000);\r\n }\r\n\r\n ngOnDestroy(){\r\n this.dataShareService.updateCustomEvent({ event: 'removeClassToBody', data: this.classVal });\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXItbWFuYWdlbWVudC9hZG1pbi9oaXN0b3J5LWRpYWxvZy1ib3gvaGlzdG9yeS1kaWFsb2ctYm94LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n
\\r\\n

\\r\\n \\r\\n Logs of {{ data.clientName}}\\r\\n

\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
Last Login{{row.createdAt | date: 'dd MMM yyyy HH:mm:ss'}}IP Address{{row.userMetaInfo?.ipAddress}}
\\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit, Inject, Optional, ViewChild } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef, MatTableDataSource, MatTable } from '@angular/material';\r\nimport { AdminService } from '../service/admin.service';\r\n\r\n@Component({\r\n selector: 'app-history-dialog-box',\r\n templateUrl: './history-dialog-box.component.html',\r\n styleUrls: ['./history-dialog-box.component.css']\r\n})\r\nexport class HistoryDialogBoxComponent implements OnInit {\r\n @ViewChild(MatTable) table: MatTable;\r\n public userHistoryData: MatTableDataSource;\r\n local_data: any;\r\n\r\n\r\n\r\n public displayedColumns = ['createdAt', 'ipAddress'];\r\n constructor(public dialogRef: MatDialogRef,\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data: any,\r\n private _adminService: AdminService) { }\r\n\r\n ngOnInit() {\r\n this._adminService.getUserHistory(this.data.userId).subscribe((res: any) => {\r\n this.userHistoryData = new MatTableDataSource(res.data);\r\n });\r\n }\r\n}\r\n","module.exports = \".clear-search {\\r\\n width: 30px;\\r\\n height: 100%;\\r\\n padding: 0;\\r\\n font-size: 26px;\\r\\n color: #999;\\r\\n border: 0;\\r\\n cursor: pointer;\\r\\n background: transparent;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n}\\r\\n\\r\\n.active{\\r\\n color: green;\\r\\n}\\r\\n\\r\\n@keyframes lds-ring {\\r\\n 0% {\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n 100% {\\r\\n transform: rotate(360deg);\\r\\n }\\r\\n}\\r\\n\\r\\n.switch-toggle .knobs.lock:after {\\r\\n content: 'Lock';\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdXNlci1tYW5hZ2VtZW50L2FkbWluL2xvY2tvdXQtZGlhbG9nLWJveC9sb2Nrb3V0LWRpYWxvZy1ib3guY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFlBQVk7SUFDWixhQUFhO0lBQ2IsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osVUFBVTtJQUNWLGdCQUFnQjtJQUNoQix3QkFBd0I7SUFDeEIsbUJBQW1CO0lBQ25CLFNBQVM7Q0FDWjs7QUFFRDtFQUNFLGFBQWE7Q0FDZDs7QUFFRDtFQUNFO0lBQ0Usd0JBQXdCO0dBQ3pCO0VBQ0Q7SUFDRSwwQkFBMEI7R0FDM0I7Q0FDRjs7QUFFRDtFQUNFLGdCQUFnQjtDQUNqQiIsImZpbGUiOiJzcmMvYXBwL3VzZXItbWFuYWdlbWVudC9hZG1pbi9sb2Nrb3V0LWRpYWxvZy1ib3gvbG9ja291dC1kaWFsb2ctYm94LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2xlYXItc2VhcmNoIHtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxufVxyXG5cclxuLmFjdGl2ZXtcclxuICBjb2xvcjogZ3JlZW47XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbGRzLXJpbmcge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG4uc3dpdGNoLXRvZ2dsZSAua25vYnMubG9jazphZnRlciB7XHJcbiAgY29udGVudDogJ0xvY2snO1xyXG59Il19 */\"","module.exports = \"
\\r\\n

\\r\\n Locked IP List\\r\\n

\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\" class=\\\"filter-section w-100\\\">\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ noRecordsFound }}
\\r\\n
No matching result
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Username{{row.username ? row.username : '-'}}IP Address\\r\\n \\r\\n {{row.ipAddress}}\\r\\n Status\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Unlock\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, ViewChild} from '@angular/core';\r\nimport { MatTableDataSource, MatDialogRef, MatPaginator } from '@angular/material';\r\nimport { AdminService } from '../service/admin.service';\r\nimport { AuthService } from 'src/app/shared/auth.service';\r\n\r\n@Component({\r\n selector: 'app-lockout-dialog-box',\r\n templateUrl: './lockout-dialog-box.component.html',\r\n styleUrls: ['./lockout-dialog-box.component.css']\r\n})\r\nexport class LockoutDialogBoxComponent implements OnInit {\r\n @ViewChild(MatPaginator) pageinator: MatPaginator;\r\n public userList: MatTableDataSource;\r\n public filterText = '';\r\n public displayedColumns = ['ipAddress', 'userName', 'action'];\r\n noRecordsFound = '';\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private _adminService: AdminService,\r\n private _authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n this._adminService.getIpList(this._authService.getUserId()).subscribe((res: any) => {\r\n if (res.data.length > 0) {\r\n res.data.forEach((v) => {\r\n v.isLoading = false;\r\n });\r\n this.userList = new MatTableDataSource(res.data);\r\n this.userList.paginator = this.pageinator;\r\n this.userList.filterPredicate = (data, filter: string): boolean => {\r\n return (data.username && data.username.toLowerCase().includes(filter)) || data.ipAddress.toLowerCase().includes(filter);\r\n };\r\n } else {\r\n this.noRecordsFound = 'Data is not available';\r\n }\r\n }, () => {\r\n this.noRecordsFound = 'Something went wrong. Please try again later.';\r\n })\r\n }\r\n\r\n applyFilter() {\r\n this.userList.filter = this.filterText.trim().toLowerCase();\r\n }\r\n \r\n toggleStatus(input, row) {\r\n input.checked = !input.checked;\r\n this.resetToggle(input, row, true);\r\n const obj = {\r\n userId: this._authService.getUserId(),\r\n accessedId: row.accessedId,\r\n isLocked: !row.isLocked\r\n };\r\n this._adminService.toggleUserLockedStatus(obj).subscribe(() => {\r\n this.resetToggle(input, row, false);\r\n input.checked = !input.checked;\r\n row.isLocked = !row.isLocked;\r\n this.applyFilter();\r\n }, err => {\r\n this.resetToggle(input, row, false);\r\n console.log('failed', err);\r\n })\r\n }\r\n \r\n resetToggle(input, row, status) {\r\n row.isLoading = status;\r\n input.disabled = status;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport moment from 'moment';\r\n\r\nimport { HttpWrapperService } from '../../../services/http-wrapper.service';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { UserStatus } from '../../../shared/enum/enum';\r\n\r\n@Injectable()\r\nexport class AdminService {\r\n\r\n public currentDate = new Date();\r\n constructor(private _http: HttpWrapperService) { }\r\n\r\n parseUserObj(result, isResponse: boolean, timeZoneOffset) {\r\n let accessStatus = result.accessStatus;\r\n let startDate = result.accessStartDate;\r\n let endDate = result.accessEndDate;\r\n if (isResponse) {\r\n accessStatus = (result.accessStatus === 'unblock') ? true : false;\r\n startDate = new Date(+result.accessStartDate); // - (timeZoneOffset * 60 * 1000)\r\n endDate = new Date(+result.accessEndDate); // - (timeZoneOffset * 60 * 1000)\r\n } else {\r\n accessStatus = (result.accessStatus) ? 'unblock' : 'block';\r\n // startDate = result.accessStartDate.getTime(); // + (timeZoneOffset * 60 * 1000);\r\n // endDate = result.accessEndDate.getTime();// + (timeZoneOffset * 60 * 1000);\r\n let time = moment(result.accessStartDate).format('YYYY/MM/DD');\r\n startDate = moment(time).format('x');\r\n time = (moment(result.accessEndDate).format('YYYY/MM/DD')) + ' 23:59:59';\r\n endDate = moment(time).format('x');\r\n }\r\n\r\n result.accessStatus = accessStatus;\r\n result.accessStartDate = startDate;\r\n result.accessEndDate = endDate;\r\n result.status = result.accessStatus === true &&\r\n (this.currentDate >= result.accessStartDate && this.currentDate <= result.accessEndDate) ? UserStatus.ACTIVE :\r\n result.accessStatus === false && (this.currentDate >= result.accessStartDate &&\r\n this.currentDate <= result.accessEndDate) ? UserStatus.ACTIVE_BLOCK : UserStatus.INACTIVE;\r\n return result;\r\n }\r\n\r\n getUsersList(): Observable {\r\n return this._http.get(environment.api_url + '/users');\r\n }\r\n\r\n updateUser(user): Observable {\r\n return this._http.put(environment.api_url + '/user', user);\r\n }\r\n\r\n addUser(user): Observable {\r\n return this._http.post(environment.api_url + '/user', user);\r\n }\r\n\r\n getUserHistory(userid): Observable {\r\n return this._http.get(environment.api_url + '/user/session-history/' + userid);\r\n }\r\n\r\n getIpList(userid): Observable {\r\n return this._http.get(environment.api_url + '/users/application-accessed?userId=' + userid);\r\n }\r\n\r\n toggleUserLockedStatus(data): Observable {\r\n return this._http.post(environment.api_url + '/users/application-accessed', data);\r\n }\r\n\r\n getStoriesCredentialsList(): Observable {\r\n return this._http.get(environment.api_url + '/stories/meta-details');\r\n }\r\n\r\n updateStoryCredentials(data): Observable {\r\n return this._http.post(environment.api_url + '/story', data);\r\n }\r\n}\r\n","module.exports = \".cred-form .username{\\r\\n display: block;\\r\\n}\\r\\n.cred-form form > div{\\r\\n position: relative;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n.cred-form form > div.username:before{\\r\\n content: '';\\r\\n width:24px;\\r\\n height:18px;\\r\\n background: url('user.png')no-repeat center center;\\r\\n background-size: 14px;\\r\\n z-index: 10;\\r\\n position: absolute;\\r\\n left: 3px;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n}\\r\\n.cred-form form > div.password:before{\\r\\n content: '';\\r\\n width:24px;\\r\\n height:18px;\\r\\n background: url('password.png')no-repeat center center;\\r\\n background-size: 14px;\\r\\n z-index: 10;\\r\\n position: absolute;\\r\\n left: 3px;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdXNlci1tYW5hZ2VtZW50L2FkbWluL3N0b3JpZXMtY3JlZGVudGlhbHMtZGlhbG9nLWJveC9zdG9yaWVzLWNyZWRlbnRpYWxzLWRpYWxvZy1ib3guY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGVBQWU7Q0FDbEI7QUFDRDtJQUNJLG1CQUFtQjtJQUNuQixtQkFBbUI7Q0FDdEI7QUFDRDtJQUNJLFlBQVk7SUFDWixXQUFXO0lBQ1gsWUFBWTtJQUNaLG1EQUEyRTtJQUMzRSxzQkFBc0I7SUFDdEIsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixVQUFVO0lBQ1YsT0FBTztJQUNQLFVBQVU7SUFDVixhQUFhO0NBQ2hCO0FBQ0Q7SUFDSSxZQUFZO0lBQ1osV0FBVztJQUNYLFlBQVk7SUFDWix1REFBK0U7SUFDL0Usc0JBQXNCO0lBQ3RCLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsVUFBVTtJQUNWLE9BQU87SUFDUCxVQUFVO0lBQ1YsYUFBYTtDQUNoQiIsImZpbGUiOiJzcmMvYXBwL3VzZXItbWFuYWdlbWVudC9hZG1pbi9zdG9yaWVzLWNyZWRlbnRpYWxzLWRpYWxvZy1ib3gvc3Rvcmllcy1jcmVkZW50aWFscy1kaWFsb2ctYm94LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY3JlZC1mb3JtIC51c2VybmFtZXtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbi5jcmVkLWZvcm0gZm9ybSA+IGRpdntcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxufVxyXG4uY3JlZC1mb3JtIGZvcm0gPiBkaXYudXNlcm5hbWU6YmVmb3Jle1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB3aWR0aDoyNHB4O1xyXG4gICAgaGVpZ2h0OjE4cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy91c2VyLnBuZyluby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTRweDtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogM3B4O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG59XHJcbi5jcmVkLWZvcm0gZm9ybSA+IGRpdi5wYXNzd29yZDpiZWZvcmV7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHdpZHRoOjI0cHg7XHJcbiAgICBoZWlnaHQ6MThweDtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3Bhc3N3b3JkLnBuZyluby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTRweDtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogM3B4O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG59Il19 */\"","module.exports = \"
\\r\\n

\\r\\n Manage Credentials\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n 0; else dataSection\\\">\\r\\n
\\r\\n \\r\\n \\r\\n {{story.title}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

Please enter {{credential.label.toLowerCase()}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
Data is not available\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { OnInit, Component, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { AdminService } from '../service/admin.service';\r\nimport { MatDialog, MatSnackBar } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-stories-credentials-dialog-box',\r\n templateUrl: './stories-credentials-dialog-box.component.html',\r\n styleUrls: ['./stories-credentials-dialog-box.component.css']\r\n})\r\nexport class StoriesCredentialsDialogBoxComponent implements OnInit, OnDestroy {\r\n public manipulatedData: any[] = [];\r\n public isLoading = true;\r\n public data;\r\n constructor(private formBuilder: FormBuilder\r\n , private _adminService: AdminService\r\n , private dialog: MatDialog\r\n , private _snackBar: MatSnackBar) {\r\n // console.log(\"Inside StoriesCredentialsDialogBoxComponent constructor\");\r\n }\r\n\r\n ngOnInit() {\r\n // console.log(\"Inside StoriesCredentialsDialogBoxComponent ngOninti\");\r\n this._adminService.getStoriesCredentialsList().subscribe(\r\n (response: any) => {\r\n // console.log(\"Response: \", response);\r\n this.data = response;\r\n this.data.forEach((story, storyIndex) => {\r\n const tempResult = {};\r\n story.metadata.forEach((widget, widgetIndex) => {\r\n widget.credentials.forEach((credential, credIndex) => {\r\n tempResult[credential.label.toLowerCase()] = [credential.value, Validators.required];\r\n });\r\n widget['isLoading'] = false;\r\n widget['credentialsForm'] = this.formBuilder.group(tempResult);\r\n });\r\n });\r\n // console.log(\"Updated Data: \", this.data);\r\n this.isLoading = false;\r\n }\r\n , (err) => {\r\n this._snackBar.open(err.error.message, '', {\r\n duration: 3000,\r\n panelClass: 'error',\r\n verticalPosition: 'top',\r\n horizontalPosition: 'right'\r\n });\r\n this.isLoading = false;\r\n this.dialog.closeAll();\r\n })\r\n }\r\n\r\n onSubmitForm(story, widgetApplication) {\r\n let data = {\r\n type: 'widget',\r\n key: 'credentials',\r\n storyUrl: story.storyUrl,\r\n sectionId: widgetApplication.sectionId,\r\n visualizationId: widgetApplication.visualizationId,\r\n widgetId: widgetApplication.widgetId,\r\n credentials: null\r\n };\r\n data.credentials = JSON.parse(JSON.stringify(widgetApplication.credentials));\r\n\r\n let tempResult = {};\r\n data.credentials.forEach(cred => {\r\n cred.value = widgetApplication.credentialsForm.value[cred.label.toLowerCase()];\r\n tempResult[cred.label.toLowerCase()] = [cred.value, Validators.required];\r\n });\r\n\r\n widgetApplication.isLoading = true;\r\n widgetApplication.credentialsForm.disable();\r\n this._adminService.updateStoryCredentials(data).subscribe(\r\n (response:any) => {\r\n // console.log(\"Response: \", response);\r\n widgetApplication.credentialsForm.enable();\r\n widgetApplication.isLoading = false;\r\n this._snackBar.open(response.message, '', {\r\n duration: 3000,\r\n panelClass: 'success',\r\n verticalPosition: 'top',\r\n horizontalPosition: 'right'\r\n });\r\n widgetApplication.credentialsForm = this.formBuilder.group(tempResult);\r\n },\r\n (err) => {\r\n // console.log(\"Error: \", err);\r\n widgetApplication.credentialsForm.enable();\r\n widgetApplication.isLoading = false;\r\n this._snackBar.open(err.error.message, '', {\r\n duration: 3000,\r\n panelClass: 'error',\r\n verticalPosition: 'top',\r\n horizontalPosition: 'right'\r\n });\r\n }\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n }\r\n}","module.exports = \".mat-datepicker-toggle{\\r\\n color: #333;\\r\\n}\\r\\n.date-placeholder{\\r\\n position:absolute;\\r\\n left:0;\\r\\n right:0;\\r\\n top:0;\\r\\n bottom:0;\\r\\n cursor:pointer;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdXNlci1tYW5hZ2VtZW50L2FkbWluL3VzZXItZGlhbG9nLWJveC91c2VyLWRpYWxvZy1ib3guY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFlBQVk7Q0FDZjtBQUNEO0lBQ0ksa0JBQWtCO0lBQ2xCLE9BQU87SUFDUCxRQUFRO0lBQ1IsTUFBTTtJQUNOLFNBQVM7SUFDVCxlQUFlO0NBQ2xCIiwiZmlsZSI6InNyYy9hcHAvdXNlci1tYW5hZ2VtZW50L2FkbWluL3VzZXItZGlhbG9nLWJveC91c2VyLWRpYWxvZy1ib3guY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tYXQtZGF0ZXBpY2tlci10b2dnbGV7XHJcbiAgICBjb2xvcjogIzMzMztcclxufVxyXG4uZGF0ZS1wbGFjZWhvbGRlcntcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgbGVmdDowO1xyXG4gICAgcmlnaHQ6MDtcclxuICAgIHRvcDowO1xyXG4gICAgYm90dG9tOjA7XHJcbiAgICBjdXJzb3I6cG9pbnRlcjtcclxufVxyXG4iXX0= */\"","module.exports = \"
\\r\\n

\\r\\n Create RequestUpdate Details\\r\\n

\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

{{errorMsg}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n

\\r\\n Enter client name

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n

\\r\\n Enter requester name

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n Please select startdate\\r\\n as current or greater.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n

\\r\\n Please select end-date\\r\\n Please select end-date\\r\\n grater then start Date.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n

\\r\\n Enter access reason

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Unblock\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Please use the below details to access the gallery:

\\r\\n
    \\r\\n
  • URL: {{appURL}}
  • \\r\\n
  • Access Code: {{generatedAccessCode}}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AdminService } from '../service/admin.service';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { GoogleAnalyticsService } from 'src/app/services/google-analytics.service';\r\nimport { GAIndex } from 'src/app/shared/enum/enum'\r\n\r\n@Component({\r\n selector: 'app-user-dialog-box',\r\n templateUrl: './user-dialog-box.component.html',\r\n styleUrls: ['./user-dialog-box.component.css']\r\n})\r\nexport class UserDialogBoxComponent implements OnInit {\r\n\r\n public minStartDate: Date;\r\n public userForm: FormGroup;\r\n public errorMsg: string;\r\n isUserFormSubmitted = false;\r\n showSubmitButton = true;\r\n generatedAccessCode = '';\r\n generateResponse = null;\r\n appURL = environment.app_URL;\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n public dialogRef: MatDialogRef,\r\n private _adminService: AdminService,\r\n private _gaService: GoogleAnalyticsService,\r\n ) {\r\n const user = { ...(data.user || {}) };\r\n const today = new Date();\r\n const currentDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n this.errorMsg = data.errorMsg;\r\n this.minStartDate = currentDate;\r\n if (data.isUpdate) {\r\n if (currentDate > user.accessStartDate) {\r\n this.minStartDate = user.accessStartDate;\r\n }\r\n }\r\n this.userForm = formBuilder.group({\r\n clientName: [user.clientName || '', Validators.required],\r\n requesterName: [user.requesterName || '', Validators.required],\r\n accessStartDate: [user.accessStartDate || currentDate, Validators.required],\r\n accessEndDate: [user.accessEndDate, Validators.required],\r\n accessReason: [user.accessReason || '', Validators.required],\r\n accessStatus: [(user.accessStatus !== void 0) ? user.accessStatus : true, Validators.nullValidator]\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onUserSave() {\r\n this.isUserFormSubmitted = true;\r\n if (this.userForm.invalid) {\r\n return false;\r\n }\r\n const timeZoneOffset = (new Date()).getTimezoneOffset();\r\n const user = { ...this.data.user, ...this.userForm.value };\r\n const requestUser = this._adminService.parseUserObj(user, false, timeZoneOffset);\r\n const GA_config = {};\r\n GA_config[GAIndex.REQUESTER_NAME] = requestUser.requesterName;\r\n GA_config[GAIndex.CLIENT_NAME] = requestUser.clientName;\r\n\r\n if (this.data.isUpdate) {\r\n this._adminService.updateUser(requestUser).subscribe((data: any) => {\r\n if (data.errorMessage) {\r\n GA_config[GAIndex.ERROR_REASON] = data.errorMessage\r\n }\r\n this._gaService.triggerEvent('Update', 'User Management', 'Update User', GA_config );\r\n // console.log('Response of the updateUser', data);\r\n // if (data.statusCode === 200) {\r\n if (data) {\r\n this.dialogRef.close(data);\r\n } else {\r\n this.errorMsg = data.errorMessage;\r\n }\r\n });\r\n } else {\r\n requestUser.role = 'guest';\r\n requestUser.accessStatus = 'unblock';\r\n this._adminService.addUser(requestUser).subscribe((data: any) => {\r\n if (data.errorMessage) {\r\n GA_config[GAIndex.ERROR_REASON] = data.errorMessage\r\n }\r\n this._gaService.triggerEvent('Create', 'User Management', 'Create User', GA_config );\r\n // console.log('Response of the addUser', data);\r\n // if (data.statusCode === 200) {\r\n if (data) {\r\n // this.dialogRef.close(data);\r\n this.showSubmitButton = false;\r\n this.generatedAccessCode = data.data.accessCode;\r\n this.generateResponse = data;\r\n } else {\r\n this.errorMsg = data.errorMessage;\r\n }\r\n });\r\n }\r\n }\r\n\r\n onClose() {\r\n this.dialogRef.close(this.generateResponse);\r\n }\r\n}\r\n","module.exports = \"dl.user-details{\\r\\n font-size:16px;\\r\\n}\\r\\ndl.user-details dt{\\r\\n float:left;\\r\\n}\\r\\ndl.user-details dd{\\r\\n margin-bottom:1rem;\\r\\n margin-left:150px;\\r\\n max-width:400px;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdXNlci1tYW5hZ2VtZW50L2FkbWluL3ZpZXctdXNlci1kaWFsb2ctYm94L3ZpZXctdXNlci1kaWFsb2ctYm94LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxlQUFlO0NBQ2xCO0FBQ0Q7SUFDSSxXQUFXO0NBQ2Q7QUFDRDtJQUNJLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0NBQ25CIiwiZmlsZSI6InNyYy9hcHAvdXNlci1tYW5hZ2VtZW50L2FkbWluL3ZpZXctdXNlci1kaWFsb2ctYm94L3ZpZXctdXNlci1kaWFsb2ctYm94LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJkbC51c2VyLWRldGFpbHN7XHJcbiAgICBmb250LXNpemU6MTZweDtcclxufVxyXG5kbC51c2VyLWRldGFpbHMgZHR7XHJcbiAgICBmbG9hdDpsZWZ0O1xyXG59XHJcbmRsLnVzZXItZGV0YWlscyBkZHtcclxuICAgIG1hcmdpbi1ib3R0b206MXJlbTtcclxuICAgIG1hcmdpbi1sZWZ0OjE1MHB4O1xyXG4gICAgbWF4LXdpZHRoOjQwMHB4O1xyXG59XHJcblxyXG4iXX0= */\"","module.exports = \"
\\r\\n

\\r\\n Details of {{data.clientName}}\\r\\n

\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
Client Name :
\\r\\n
{{data.clientName}}
\\r\\n
Requester Name :
\\r\\n
{{data.requesterName}}
\\r\\n
Access Code :
\\r\\n
{{data.accessCode}}
\\r\\n
Access Reason :
\\r\\n
{{data.accessReason}}
\\r\\n
Active Period :
\\r\\n
{{data.accessStartDate | date: 'dd MMM yyyy'}} - {{data.accessEndDate | date: 'dd MMM yyyy'}}
\\r\\n
Status :
\\r\\n
{{data.status}}
\\r\\n
Last Logged In :
\\r\\n
{{data.lastLoggedIn? (data.lastLoggedIn | date: 'dd MMM yyyy , HH:mm:ss') : 'Not yet accessed'}}
\\r\\n
IP :
\\r\\n
{{data.userMetaInfo?.ipAddress || ''}}
\\r\\n
Created On :
\\r\\n
{{data.createdAt | date: 'dd MMM yyyy, HH:mm:ss'}}
\\r\\n
Updated On :
\\r\\n
{{data.updatedAt | date: 'dd MMM yyyy, HH:mm:ss'}}
\\r\\n
\\r\\n \\r\\n
\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { UserStatus } from 'src/app/shared/enum/enum';\r\n\r\n\r\n@Component({\r\n selector: 'app-view-user-dialog-box',\r\n templateUrl: './view-user-dialog-box.component.html',\r\n styleUrls: ['./view-user-dialog-box.component.css']\r\n})\r\nexport class ViewUserDialogBoxComponent implements OnInit {\r\n\r\n public UserStatus = UserStatus;\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { UserManagementComponent } from './user-management.component';\r\nimport { AdminComponent } from './admin/admin.component';\r\nimport { AuthGuardService } from '../shared/auth-guard.service';\r\nimport { AdminAuthGuardService } from '../shared/admin-auth-guard.service';\r\n\r\n\r\nconst routes: Routes = [{\r\n path: 'admin',\r\n component: UserManagementComponent,\r\n children: [\r\n { path: '', component: AdminComponent},\r\n { path: '**', redirectTo: '' }\r\n ],\r\n canActivate: [AuthGuardService, AdminAuthGuardService]\r\n}];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class UserManagementRoutingModule { }\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXItbWFuYWdlbWVudC91c2VyLW1hbmFnZW1lbnQuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n\\t\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-user-management',\r\n templateUrl: './user-management.component.html',\r\n styleUrls: ['./user-management.component.css']\r\n})\r\nexport class UserManagementComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { UserManagementRoutingModule } from './user-management-routing.module';\r\nimport { UserManagementComponent } from './user-management.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { AdminComponent } from './admin/admin.component';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { MaterialModule } from '../material/material.module';\r\nimport { UserDialogBoxComponent } from './admin/user-dialog-box/user-dialog-box.component';\r\nimport { AdminService } from './admin/service/admin.service';\r\nimport { HistoryDialogBoxComponent } from './admin/history-dialog-box/history-dialog-box.component';\r\nimport { ViewUserDialogBoxComponent } from './admin/view-user-dialog-box/view-user-dialog-box.component';\r\nimport { LockoutDialogBoxComponent } from './admin/lockout-dialog-box/lockout-dialog-box.component';\r\nimport { StoriesCredentialsDialogBoxComponent } from './admin/stories-credentials-dialog-box/stories-credentials-dialog-box.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n UserManagementComponent,\r\n AdminComponent,\r\n UserDialogBoxComponent,\r\n HistoryDialogBoxComponent,\r\n ViewUserDialogBoxComponent,\r\n LockoutDialogBoxComponent,\r\n StoriesCredentialsDialogBoxComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SharedModule,\r\n UserManagementRoutingModule,\r\n MaterialModule\r\n ],\r\n exports: [],\r\n providers: [AdminService],\r\n entryComponents: [\r\n UserDialogBoxComponent,\r\n HistoryDialogBoxComponent,\r\n ViewUserDialogBoxComponent,\r\n LockoutDialogBoxComponent,\r\n StoriesCredentialsDialogBoxComponent\r\n ]\r\n})\r\nexport class UserManagementModule { }\r\n","module.exports = \"/* Common */\\r\\n.adaptive-pricing{\\r\\n font-family: 'Roboto', sans-serif !important;\\r\\n font-weight: 300;\\r\\n color: #433E37;\\r\\n}\\r\\n.adaptive-pricing svg{\\r\\n font-family: 'Roboto', sans-serif !important;\\r\\n}\\r\\n.adaptive-pricing.screen-1 header .navbar-brand img.zs-logo-b{\\r\\n opacity: 1;\\r\\n}\\r\\n.adaptive-pricing .bullets.header-bullets{\\r\\n bottom: auto;\\r\\n left: auto;\\r\\n top: 26px;\\r\\n right: 100px;\\r\\n position: fixed;\\r\\n cursor: pointer;\\r\\n}\\r\\n.adaptive-pricing .bullets.header-bullets span{\\r\\n color: #C94573;\\r\\n font-size: 13px;\\r\\n font-weight: 400;\\r\\n cursor: auto;\\r\\n}\\r\\n.adaptive-pricing .bullets.header-bullets p{\\r\\n background-color: #E78B7D;\\r\\n width: 12px;\\r\\n height: 12px;\\r\\n margin-right: 8px;\\r\\n}\\r\\n.adaptive-pricing .bullets.header-bullets p.active{\\r\\n background-color: #C94573;\\r\\n}\\r\\n.inner-page-wrapper.adaptive-pricing #scroll-container,\\r\\n.adaptive-pricing .adaptive-pricing-svg-wrapper #svg-wrapper{\\r\\n max-height: 100vh;\\r\\n min-height: 100vh;\\r\\n width: 100vw;\\r\\n overflow: hidden;\\r\\n position: relative;\\r\\n}\\r\\n.adaptive-pricing .adaptive-pricing-svg-wrapper #svg-wrapper{\\r\\n position: absolute;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n z-index: 1;\\r\\n}\\r\\n.adaptive-pricing-svg-wrapper{\\r\\n height: 100vh;\\r\\n position: fixed;\\r\\n z-index: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n}\\r\\n.adaptive-pricing h2.adaptive-title{\\r\\n font-size:calc(12px + (20 - 12) * (100vw - 1200px) / (1920 - 1200));\\r\\n padding: 24px 140px 0;\\r\\n color: #8D8D8D;\\r\\n}\\r\\n.adaptive-pricing h2.adaptive-title span{\\r\\n color: #8D8D8D;\\r\\n}\\r\\n.adaptive-pricing .content-wrapper{\\r\\n position: absolute;\\r\\n top: 70px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n}\\r\\n@media screen and (max-width: 1536px){\\r\\n .adaptive-pricing .content-wrapper{\\r\\n top: 55px;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width: 1550px){\\r\\n .adaptive-pricing h2.adaptive-title{\\r\\n padding: 26px 120px 0;\\r\\n }\\r\\n}\\r\\n.adaptive-pricing .content-wrapper p{\\r\\n width: calc(100% - 740px);\\r\\n padding-right: 20px;\\r\\n}\\r\\n.adaptive-pricing .content-wrapper p:last-child span{\\r\\n font-size:calc(20px + (26 - 20) * (100vw - 1200px) / (1920 - 1200));\\r\\n font-weight: 500;\\r\\n margin-right: 10px;\\r\\n}\\r\\n.adaptive-pricing .story-content-wrapper > div{\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: flex-end;\\r\\n height: 100vh;\\r\\n width: 100vw;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n}\\r\\n.adaptive-pricing h2{\\r\\n font-family: 'Roboto', sans-serif;\\r\\n font-weight: 400;\\r\\n color: #C94573;\\r\\n margin-bottom: 4px;\\r\\n font-size:calc(18px + (32 - 18) * (100vw - 1200px) / (1920 - 1200));\\r\\n}\\r\\n.adaptive-pricing h2 span{\\r\\n color: #E78B7D;\\r\\n font-weight: 300;\\r\\n}\\r\\n.adaptive-pricing p{\\r\\n font-size:calc(14px + (16 - 14) * (100vw - 1200px) / (1920 - 1200));\\r\\n margin: 0;\\r\\n}\\r\\n.adaptive-pricing em{\\r\\n font-weight: 500;\\r\\n font-style: normal;\\r\\n}\\r\\n.adaptive-pricing .card-wrapper{\\r\\n display: flex;\\r\\n height: calc(100vh - 150px);\\r\\n align-items: center;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n right: 34px;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n}\\r\\n.adaptive-pricing .card-wrapper .card{\\r\\n width: 90%;\\r\\n background: transparent linear-gradient(290deg, #FFFFFF 0%, #FFF3EB 48%, #FFE7D8 100%);\\r\\n box-shadow: -8px -8px 24px #00000012;\\r\\n border: 0;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n top: -120px;\\r\\n margin: auto;\\r\\n z-index: 5;\\r\\n opacity: 0;\\r\\n transform: translateY(-20px);\\r\\n transition: all 500ms ease-in-out;\\r\\n height: calc(100% - 140px);\\r\\n}\\r\\n.adaptive-pricing .slide-1 .card-wrapper{\\r\\n width: 600px;\\r\\n}\\r\\n.adaptive-pricing .slide-3 .card-wrapper .card .card-title{\\r\\n padding: 15px 20px 10px;\\r\\n}\\r\\n.adaptive-pricing .card-wrapper.card-active .card{\\r\\n opacity: 1;\\r\\n transition: all 400ms ease-in-out;\\r\\n transform: translateY(0px);\\r\\n}\\r\\n.adaptive-pricing .card-wrapper .card:first-child{\\r\\n transition-delay: 400ms;\\r\\n}\\r\\n.adaptive-pricing .card-wrapper .card:nth-child(2){\\r\\n transition-delay: 300ms;\\r\\n}\\r\\n.adaptive-pricing .card-wrapper .card:nth-child(3){\\r\\n transition-delay: 200ms;\\r\\n}\\r\\n.adaptive-pricing .card-wrapper.card-active .card:first-child{\\r\\n transition-delay: 200ms;\\r\\n}\\r\\n.adaptive-pricing .card-wrapper.card-active .card:nth-child(2){\\r\\n transition-delay: 350ms;\\r\\n}\\r\\n.adaptive-pricing .card-wrapper.card-active .card:nth-child(3){\\r\\n transition-delay: 500ms;\\r\\n}\\r\\n.adaptive-pricing .card-wrapper .card:nth-child(1) .card-title,\\r\\n.adaptive-pricing .card-wrapper .card:nth-child(2) .card-title,\\r\\n.adaptive-pricing .card-wrapper .card:nth-child(1) .card-body,\\r\\n.adaptive-pricing .card-wrapper .card:nth-child(2) .card-body{\\r\\n opacity: 0;\\r\\n transition-delay: 500ms;\\r\\n}\\r\\n.adaptive-pricing .card:nth-child(2){\\r\\n right: 36px;\\r\\n top: -50px;\\r\\n}\\r\\n.adaptive-pricing .card:nth-child(3){\\r\\n right: 69px;\\r\\n top: 20px;\\r\\n}\\r\\n.adaptive-pricing .card:after{\\r\\n content: '';\\r\\n height: 100px;\\r\\n position: absolute;\\r\\n bottom: -50px;\\r\\n background: transparent linear-gradient(290deg, #fffefe 0%, #fff8f3 48%, #ffede2 100%);\\r\\n box-shadow: -8px 14px 20px #00000012;\\r\\n right: 0;\\r\\n left: 0;\\r\\n transform: skew(0deg, 10deg);\\r\\n z-index: 0;\\r\\n}\\r\\n.adaptive-pricing .card .card-header{\\r\\n color: #3F3D56;\\r\\n font-size:calc(16px + (18 - 16) * (100vw - 1200px) / (1920 - 1200));\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n background: transparent;\\r\\n border-bottom: 2px solid #E3C6B5;\\r\\n margin: 0 10px 0;\\r\\n text-align: center;\\r\\n padding: 20px;\\r\\n position: absolute;\\r\\n top: 6px;\\r\\n right: 0;\\r\\n left: 0;\\r\\n z-index: 2;\\r\\n}\\r\\n.adaptive-pricing .card .card-title{\\r\\n text-align: center;\\r\\n color: #433E37;\\r\\n padding: 45px 20px 10px;\\r\\n}\\r\\n.adaptive-pricing .card-wrapper .card .card-title p{\\r\\n font-size: calc(14px + (24 - 14) * (100vw - 1200px) / (1920 - 1200));\\r\\n font-weight: 300;\\r\\n}\\r\\n.adaptive-pricing .slide-6 .card-wrapper .card .card-title p{\\r\\n font-size: calc(14px + (18 - 14) * (100vw - 1200px) / (1920 - 1200));\\r\\n}\\r\\n.adaptive-pricing .card-wrapper .card .card-title p em{\\r\\n font-weight: 400;\\r\\n}\\r\\n.adaptive-pricing .card .card-body{\\r\\n overflow: hidden;\\r\\n background: transparent linear-gradient(290deg, #FFFFFF 0%, #FFF3EB 48%, #FFE7D8 100%);\\r\\n z-index: 1;\\r\\n padding: 0 0 10px 0;\\r\\n border-radius: 10px;\\r\\n}\\r\\n.adaptive-pricing .card:nth-child(3) .card-body{\\r\\n overflow: auto;\\r\\n margin: 0 20px;\\r\\n}\\r\\n.adaptive-pricing .slide-2 .card .card-body,\\r\\n.adaptive-pricing .slide-5 .card .card-body,\\r\\n.adaptive-pricing .slide-6 .card .card-body{\\r\\n margin: 0 20px;\\r\\n}\\r\\n.adaptive-pricing .card .card-body .list-row{\\r\\n color: #404D4D;\\r\\n font-weight: 400;\\r\\n background: #fff;\\r\\n padding: 0;\\r\\n margin: 0 20px 20px;\\r\\n height: 100px;\\r\\n border-radius: 10px;\\r\\n box-shadow: 0 0 20px rgb(0 0 0 / 5%);\\r\\n z-index: 1;\\r\\n position: relative;\\r\\n}\\r\\n.adaptive-pricing .card .card-body .list-row .col{\\r\\n height: 100%;\\r\\n}\\r\\n.adaptive-pricing .card .card-body .list-row .col > div{\\r\\n height: 100%;\\r\\n align-content: center;\\r\\n}\\r\\n.adaptive-pricing .card .card-body > .card-info{\\r\\n color: #65617D;\\r\\n font-size: 18px;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.adaptive-pricing .card .card-body .card-info label{\\r\\n color: #65617D;\\r\\n margin: 0;\\r\\n font-weight: 400;\\r\\n}\\r\\n.adaptive-pricing .card .card-body .card-info span{\\r\\n color: #3F3D56;\\r\\n font-weight: 500;\\r\\n}\\r\\n.adaptive-pricing .card .card-body .profile{\\r\\n background-color: #fff;\\r\\n border-radius: 16px;\\r\\n margin: 0 auto;\\r\\n padding: 15px 20px 5px;\\r\\n}\\r\\n.adaptive-pricing .card .card-body .card-name{\\r\\n font-size:calc(10px + (22 - 10) * (100vw - 1200px) / (1920 - 1200));\\r\\n color: #BC5D7D;\\r\\n}\\r\\n.adaptive-pricing .card-text p {\\r\\n width: 100%;\\r\\n height: 7px;\\r\\n background: #F7E8E4;\\r\\n margin-bottom: 6px;\\r\\n border-radius: 10px;\\r\\n}\\r\\n.adaptive-pricing .card-text p:nth-child(2){\\r\\n width: 80%;\\r\\n}\\r\\n.adaptive-pricing .card-text p:nth-child(3){\\r\\n width: 60%;\\r\\n}\\r\\n.adaptive-pricing .bullets{\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n margin: 0 auto;\\r\\n left: 0;\\r\\n z-index: 6;\\r\\n}\\r\\n.adaptive-pricing .bullets span{\\r\\n font-size:calc(10px + (14 - 10) * (100vw - 1200px) / (1920 - 1200));\\r\\n}\\r\\n.adaptive-pricing .bullets p{\\r\\n width: 10px;\\r\\n height: 10px;\\r\\n background: #C9C9C9;\\r\\n margin: auto;\\r\\n border-radius: 10px;\\r\\n margin-right: 5px;\\r\\n}\\r\\n.adaptive-pricing .bullets p.active{\\r\\n background: #E6818B;\\r\\n}\\r\\n.adaptive-pricing .card .card-body .detail p{\\r\\n font-size: calc(10px + (14 - 10) * (100vw - 1200px) / (1920 - 1200));\\r\\n}\\r\\n.adaptive-pricing .card .card-body .detail .location{\\r\\n background: url(/assets/images/adaptive-pricing/location.svg) no-repeat left 52% center;\\r\\n}\\r\\n.adaptive-pricing .card .card-body .detail .bullets p.active{\\r\\n background: #E6818B !important;\\r\\n}\\r\\n.adaptive-pricing .card .card-body .price{\\r\\n width: 78px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n background-color: #FFEBE5;\\r\\n border-radius: 0 10px 10px 0;\\r\\n}\\r\\n.adaptive-pricing .card .card-body .price h2{\\r\\n line-height: 14px;\\r\\n margin-bottom: 4px;\\r\\n}\\r\\n.adaptive-pricing .card .card-body .price h2 strong{\\r\\n font-size:calc(15px + (20 - 15) * (100vw - 1200px) / (1920 - 1200));\\r\\n color: #C94573;\\r\\n}\\r\\n.adaptive-pricing .card .card-body .price p{\\r\\n font-size:calc(10px + (12 - 10) * (100vw - 1200px) / (1920 - 1200));\\r\\n font-weight: 400;\\r\\n}\\r\\n.adaptive-pricing .sub-wrapper{\\r\\n width: 100%;\\r\\n height: 100vh;\\r\\n}\\r\\n/* Screen-1 */\\r\\n.adaptive-pricing .slide-1 .sub-wrapper .left-section{\\r\\n min-width: 100%;\\r\\n opacity: 1;\\r\\n background: url('/assets/images/adaptive-pricing/adaptive-bg1.png');\\r\\n background-size: cover;\\r\\n position: relative;\\r\\n transition: all 900ms ease-in-out;\\r\\n}\\r\\n.adaptive-pricing .slide-1 .card .card-header{\\r\\n padding: 12px;\\r\\n top: 0;\\r\\n}\\r\\n.adaptive-pricing .slide-1.animate-in .sub-wrapper .left-section{\\r\\n min-width: 62%;\\r\\n opacity: 1;\\r\\n transition: all 900ms ease-in-out;\\r\\n transition-delay: 1s;\\r\\n}\\r\\n.adaptive-pricing .slide-1.first-time-load.animate-in.animate-out .sub-wrapper .left-section{\\r\\n min-width: 0%;\\r\\n opacity: 0;\\r\\n transition-delay: 0s;\\r\\n transition: all 1000ms ease-in-out;\\r\\n}\\r\\n.adaptive-pricing .slide-1.first-time-load .sub-wrapper .left-section{\\r\\n min-width: 62%;\\r\\n opacity: 0;\\r\\n transition: all 800ms ease-in-out;\\r\\n}\\r\\n.adaptive-pricing .slide-1.first-time-load.animate-in .sub-wrapper .left-section{\\r\\n min-width: 62%;\\r\\n opacity: 1;\\r\\n transition: all 800ms ease-in-out;\\r\\n}\\r\\n.adaptive-pricing .slide-1.first-time-load.animate-in .sub-wrapper .left-section h2{\\r\\n transition-delay: 200ms;\\r\\n}\\r\\n.adaptive-pricing .slide-1.first-time-load.animate-in .sub-wrapper .left-section p{\\r\\n transition-delay: 300ms;\\r\\n}\\r\\n.adaptive-pricing .slide-1.first-time-load.animate-in .content-wrapper h2{\\r\\n transition-delay: 0.5s;\\r\\n}\\r\\n.adaptive-pricing .slide-1.first-time-load.animate-in .content-wrapper p{\\r\\n transition-delay: 0.7s;\\r\\n}\\r\\n.adaptive-pricing .slide-1 .sub-wrapper .right-section{\\r\\n width: 38%;\\r\\n background: #F4F6F9;\\r\\n}\\r\\n.adaptive-pricing .slide-1.first-time-load.animate-out .sub-wrapper .right-section{\\r\\n width: 0%;\\r\\n}\\r\\n.adaptive-pricing .slide-1 .sub-wrapper .right-section .content-wrapper h2{\\r\\n font-size:calc(24px + (36 - 24) * (100vw - 1200px) / (1920 - 1200));\\r\\n margin-bottom: 25px;\\r\\n}\\r\\n.adaptive-pricing .slide-1 .sub-wrapper .right-section p{\\r\\n font-size:calc(18px + (26 - 18) * (100vw - 1200px) / (1920 - 1200));\\r\\n}\\r\\n.adaptive-pricing .slide-1 .content-wrapper {\\r\\n top: 50%;\\r\\n transform: translateY(-50%);\\r\\n padding: 0 55px;\\r\\n left: auto;\\r\\n right: auto;\\r\\n}\\r\\n.adaptive-pricing .slide-1 .content-wrapper p{\\r\\n width: 100%;\\r\\n}\\r\\n.adaptive-pricing .adaptive-pricing-story-wrapper section{\\r\\n height: 100vh;\\r\\n}\\r\\n.adaptive-pricing .slide-1 .card:after{\\r\\n transform: skew(0deg, -10deg);\\r\\n}\\r\\n.adaptive-pricing .slide-1 .card .card-body{\\r\\n margin-top: 20px;\\r\\n}\\r\\n.adaptive-pricing .slide-1 .card:first-child{\\r\\n right: 64px;\\r\\n}\\r\\n.adaptive-pricing .slide-1 .card:nth-child(2){\\r\\n top: -16px;\\r\\n}\\r\\n.adaptive-pricing .slide-1 .card-wrapper .card:nth-child(3){\\r\\n right: 4px;\\r\\n top: 90px;\\r\\n}\\r\\n.adaptive-pricing p.customer-data{\\r\\n color: #BC5D7D;\\r\\n font-weight: 500;\\r\\n font-size: calc(12px + (18 - 12) * (100vw - 1200px) / (1920 - 1200));\\r\\n}\\r\\n/* Animation */\\r\\n.adaptive-pricing .slide-1, \\r\\n.adaptive-pricing .slide-2, \\r\\n.adaptive-pricing .slide-3, \\r\\n.adaptive-pricing .slide-4,\\r\\n.adaptive-pricing .slide-5, \\r\\n.adaptive-pricing .slide-6, \\r\\n.adaptive-pricing .slide-7{\\r\\n opacity: 0;\\r\\n}\\r\\n.adaptive-pricing .slide-1.animate-in, \\r\\n.adaptive-pricing .slide-2.animate-in, \\r\\n.adaptive-pricing .slide-3.animate-in, \\r\\n.adaptive-pricing .slide-4.animate-in,\\r\\n.adaptive-pricing .slide-5.animate-in, \\r\\n.adaptive-pricing .slide-6.animate-in, \\r\\n.adaptive-pricing .slide-7.animate-in{\\r\\n opacity: 1;\\r\\n}\\r\\n.adaptive-pricing .slide-1 .content-wrapper h2, \\r\\n.adaptive-pricing .slide-2 .content-wrapper h2, \\r\\n.adaptive-pricing .slide-3 .content-wrapper h2,\\r\\n.adaptive-pricing .slide-5 .content-wrapper h2,\\r\\n.adaptive-pricing .slide-6 .content-wrapper h2, \\r\\n.adaptive-pricing .slide-7 .content-wrapper h2,\\r\\n.adaptive-pricing .slide-1.first-time-load.animate-out .content-wrapper h2,\\r\\n.adaptive-pricing .slide-2.animate-in.animate-out .content-wrapper h2,\\r\\n.adaptive-pricing .slide-3.animate-in.animate-out .content-wrapper h2, \\r\\n.adaptive-pricing .slide-5.animate-in.animate-out .content-wrapper h2, \\r\\n.adaptive-pricing .slide-6.animate-in.animate-out .content-wrapper h2, \\r\\n.adaptive-pricing .slide-7.animate-in.animate-out .content-wrapper h2{\\r\\n opacity: 0;\\r\\n}\\r\\n.adaptive-pricing .slide-1 .content-wrapper p, \\r\\n.adaptive-pricing .slide-2 .content-wrapper p, \\r\\n.adaptive-pricing .slide-3 .content-wrapper p,\\r\\n.adaptive-pricing .slide-5 .content-wrapper p,\\r\\n.adaptive-pricing .slide-6 .content-wrapper p, \\r\\n.adaptive-pricing .slide-7 .content-wrapper p,\\r\\n.adaptive-pricing .slide-1.animate-in.animate-out .content-wrapper p, \\r\\n.adaptive-pricing .slide-2.animate-in.animate-out .content-wrapper p, \\r\\n.adaptive-pricing .slide-3.animate-in.animate-out .content-wrapper p, \\r\\n.adaptive-pricing .slide-5.animate-in.animate-out .content-wrapper p, \\r\\n.adaptive-pricing .slide-6.animate-in.animate-out .content-wrapper p, \\r\\n.adaptive-pricing .slide-7.animate-in.animate-out .content-wrapper p{\\r\\n transform: translateY(-20px);\\r\\n opacity: 0;\\r\\n transition: all 200ms linear;\\r\\n}\\r\\n.adaptive-pricing .slide-2.animate-in .content-wrapper h2, \\r\\n.adaptive-pricing .slide-3.animate-in .content-wrapper h2,\\r\\n.adaptive-pricing .slide-5.animate-in .content-wrapper h2,\\r\\n.adaptive-pricing .slide-6.animate-in .content-wrapper h2{\\r\\n opacity: 1;\\r\\n animation: titleAnim 2s ease-in-out forwards;\\r\\n transform-origin: center;\\r\\n}\\r\\n.adaptive-pricing .slide-7.animate-in .content-wrapper h2{\\r\\n opacity: 1;\\r\\n transition: all 1s ease-in-out;\\r\\n}\\r\\n.adaptive-pricing .slide-1.animate-in .content-wrapper p, \\r\\n.adaptive-pricing .slide-2.animate-in .content-wrapper p, \\r\\n.adaptive-pricing .slide-3.animate-in .content-wrapper p,\\r\\n.adaptive-pricing .slide-5.animate-in .content-wrapper p, \\r\\n.adaptive-pricing .slide-6.animate-in .content-wrapper p, \\r\\n.adaptive-pricing .slide-7.animate-in .content-wrapper p{\\r\\n transform: translateY(0);\\r\\n opacity: 1;\\r\\n transition: all 500ms ease-in-out;\\r\\n transition-delay: 1.8s;\\r\\n}\\r\\n.adaptive-pricing .slide-1.animate-in .content-wrapper h2{\\r\\n opacity: 1;\\r\\n transition: all 500ms ease-in-out;\\r\\n transition-delay: 2s;\\r\\n}\\r\\n.adaptive-pricing .slide-1.animate-in .content-wrapper p{\\r\\n opacity: 1;\\r\\n transition-delay: 2.5s;\\r\\n}\\r\\n.adaptive-pricing .slide-3.animate-in.step .content-wrapper h2,\\r\\n.adaptive-pricing .slide-3.animate-in.animate-out.step .content-wrapper h2,\\r\\n.adaptive-pricing .slide-4.animate-in.animate-out.step .content-wrapper h2,\\r\\n.adaptive-pricing .slide-5.animate-in.animate-out.step .content-wrapper h2,\\r\\n.adaptive-pricing .slide-5.animate-in.step .content-wrapper h2{\\r\\n transform: translateX(0);\\r\\n opacity: 1;\\r\\n transition: none;\\r\\n animation: none;\\r\\n font-size:calc(18px + (32 - 18) * (100vw - 1200px) / (1920 - 1200));\\r\\n}\\r\\n.adaptive-pricing .slide-3.animate-in.step .content-wrapper p,\\r\\n.adaptive-pricing .slide-3.animate-in.animate-out.step .content-wrapper p,\\r\\n.adaptive-pricing .slide-4.animate-in.animate-out.step .content-wrapper p,\\r\\n.adaptive-pricing .slide-5.animate-in.step .content-wrapper p{\\r\\n transform: translateX(0);\\r\\n opacity: 1;\\r\\n transition: none;\\r\\n}\\r\\n.adaptive-pricing .animate-in.slide-1{\\r\\n z-index: 5;\\r\\n}\\r\\n/* Screen 2 */\\r\\n.adaptive-pricing .oval-wrapper{\\r\\n cursor: default;\\r\\n}\\r\\n.adaptive-pricing .oval-space {\\r\\n width: 180px;\\r\\n height: 130px;\\r\\n background: #fff;\\r\\n border-radius: 100px;\\r\\n position: relative;\\r\\n background: linear-gradient(145deg, #efeeee, #ffffff);\\r\\n box-shadow: 6px 5px 10px #f3f2f1, inset 0px 0px 1px #eaeaea, inset 2px 2px 6px #eaeaea;\\r\\n border: 1px solid #ffffff;\\r\\n}\\r\\n.adaptive-pricing .oval-space.active{\\r\\n background: #FFEAE3;\\r\\n}\\r\\n.adaptive-pricing .oval-space .inner-image{\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n cursor: pointer;\\r\\n}\\r\\n.adaptive-pricing .oval-space.expand .inner-image{\\r\\n justify-content: flex-start;\\r\\n padding-left: 70px;\\r\\n}\\r\\n.adaptive-pricing .oval-space .inner-image::after{\\r\\n content: '';\\r\\n position: absolute;\\r\\n margin: auto;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n left:50px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n.adaptive-pricing .oval-space .inner-image:before {\\r\\n content: '';\\r\\n width: 100px;\\r\\n height: 10px;\\r\\n background: #E6E6E6;\\r\\n border-radius: 400px 400px 400px 400px / 150px 150px 150px 150px;\\r\\n position: absolute;\\r\\n bottom: 10px;\\r\\n /* transform: rotate3d(50, 1, 1, 65deg); */\\r\\n}\\r\\n.adaptive-pricing .oval-space.active .inner-image:before{\\r\\n width: 100px;\\r\\n background: #fff;\\r\\n}\\r\\n.adaptive-pricing .oval-space.group .inner-image:before{\\r\\n width: 120px;\\r\\n height: 45px;\\r\\n}\\r\\n.adaptive-pricing .oval-space.expand .inner-image:before{\\r\\n left: 40px;\\r\\n}\\r\\n.adaptive-pricing .oval-space.group.expand .inner-image:before{\\r\\n left: 30px;\\r\\n}\\r\\n.adaptive-pricing .oval-space.solo .inner-image::after{\\r\\n background: url(/assets/images/adaptive-pricing/solo.svg) no-repeat;\\r\\n width: 41px;\\r\\n height: 97px;\\r\\n left:70px;\\r\\n}\\r\\n.adaptive-pricing .oval-space.business .inner-image::after{\\r\\n background: url(/assets/images/adaptive-pricing/bussiness.svg) no-repeat;\\r\\n width: 104px;\\r\\n height: 100px;\\r\\n}\\r\\n.adaptive-pricing .oval-space.couple .inner-image::after{\\r\\n background: url(/assets/images/adaptive-pricing/couple.svg) no-repeat;\\r\\n width: 93px;\\r\\n height: 98px;\\r\\n}\\r\\n.adaptive-pricing .oval-space.group .inner-image::after{\\r\\n background: url(/assets/images/adaptive-pricing/group.svg) no-repeat;\\r\\n width: 117px;\\r\\n height: 86px;\\r\\n left: 35px;\\r\\n}\\r\\n.adaptive-pricing .oval-space.expand{\\r\\n width: 280px;\\r\\n transition:all 300ms ease-in-out;\\r\\n}\\r\\n.adaptive-pricing .oval-space .info{\\r\\n width: 70px;\\r\\n height: 70px;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n align-items: flex-end;\\r\\n white-space: nowrap;\\r\\n transition: all 100ms ease-in-out;\\r\\n left: 80px;\\r\\n color: #D4D9F2;\\r\\n opacity: 0;\\r\\n text-align: left;\\r\\n font-size: calc(14px + (16 - 14) * (100vw - 1200px) / (1920 - 1200));\\r\\n font-weight: 500;\\r\\n cursor: pointer;\\r\\n}\\r\\n.adaptive-pricing .oval-space.expand .info{\\r\\n opacity: 1;\\r\\n transition: all 100ms ease-in-out;\\r\\n transition-delay: 200ms;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n right: 46px;\\r\\n width: auto;\\r\\n}\\r\\n.adaptive-pricing .oval-wrapper h2, .oval-wrapper h3, .oval-wrapper p{\\r\\n margin: 0;\\r\\n}\\r\\n.adaptive-pricing .oval-wrapper h2{\\r\\n font-size: 26px;\\r\\n font-weight: 500;\\r\\n}\\r\\n.oval-wrapper h3{\\r\\n font-size: 30px;\\r\\n font-weight: 500;\\r\\n color: #3F3D56;\\r\\n}\\r\\n.adaptive-pricing .oval-wrapper p{\\r\\n font-size: 14px;\\r\\n color: #3F3D56;\\r\\n}\\r\\n/* Slide-3 */\\r\\n.adaptive-pricing .slide-3 .card{\\r\\n width: 85%;\\r\\n}\\r\\n.adaptive-pricing .slide-3 .card .card-body{\\r\\n padding: 0 10px;\\r\\n overflow-y: hidden;\\r\\n}\\r\\n.adaptive-pricing .slide-3 .card .card-body .image-wrapper{\\r\\n background: #F7E8E4;\\r\\n min-width: 62px;\\r\\n height: 62px;\\r\\n border-radius: 10px;\\r\\n}\\r\\n.adaptive-pricing .slide-3 .card .card-body .card-text p{\\r\\n height: 10px;\\r\\n margin-bottom: 15px;\\r\\n width: 100%;\\r\\n}\\r\\n.adaptive-pricing .slide-3 .card .card-body .card-info-wrapper{\\r\\n overflow: auto;\\r\\n z-index: 5;\\r\\n max-height: calc(100vh - 580px);\\r\\n padding: 0 10px;\\r\\n}\\r\\n.adaptive-pricing .slide-3 .card .card-body .card-info-wrapper > div{\\r\\n padding: 0 0 10px;\\r\\n font-size: calc(10px + (18 - 10) * (100vw - 1200px) / (1920 - 1200));\\r\\n}\\r\\n/* Slide-7 */\\r\\n/* .adaptive-pricing .wrapper p{\\r\\n width: 90%;\\r\\n} */\\r\\n.adaptive-pricing .slide-7 .wrapper .col-6{\\r\\n padding-top: 80px;\\r\\n}\\r\\n.adaptive-pricing .slide-7 .wrapper .right-section{\\r\\n box-shadow: -8px -8px 20px #FFFFFF59;\\r\\n background: url(/assets/images/adaptive-pricing/guest.svg) no-repeat bottom center;\\r\\n background-size: 100%;\\r\\n position: relative;\\r\\n}\\r\\n.adaptive-pricing .slide-7 .wrapper .right-section .content-wrapper{\\r\\n opacity: 0;\\r\\n}\\r\\n.adaptive-pricing .slide-7 .wrapper .right-section.benefit-active .content-wrapper{\\r\\n opacity: 1;\\r\\n /* transition: 0.5s ease-in-out; */\\r\\n transition-delay: 0.5s;\\r\\n}\\r\\n.adaptive-pricing .slide-7 .wrapper .right-section.benefit-active::before{\\r\\n content: '';\\r\\n background: transparent linear-gradient(316deg, #FFFFFF 0%, #FFF3EB 79%, #FFE7D853 100%) 0% 0% no-repeat padding-box;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n left: 0;\\r\\n z-index: -1;\\r\\n transition: 0.5s ease-in-out;\\r\\n}\\r\\n.adaptive-pricing .slide-7 .wrapper .left-section{\\r\\n background: url(/assets/images/adaptive-pricing/case-study.svg) no-repeat bottom center;\\r\\n}\\r\\n.adaptive-pricing::after{\\r\\n content: '';\\r\\n background: url('/assets/images/adaptive-pricing/adaptive-bg@2x.png');\\r\\n position: absolute;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n z-index: -1;\\r\\n background-size: cover;\\r\\n}\\r\\n.adaptive-pricing.screen-7::after{\\r\\n content: none;\\r\\n}\\r\\n/* Slide-5 */\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:first-child .col,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(2) .col,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(3) .col{\\r\\n background-color: #65617D;\\r\\n color: #FFFFFF;\\r\\n border-radius: 10px 0 0 10px;\\r\\n}\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:first-child .col .card-name,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(2) .col .card-name,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(3) .col .card-name{\\r\\n color: #FFFFFF;\\r\\n}\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:first-child .col .bullets p,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(2) .col .bullets p,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(3) .col .bullets p{\\r\\n background: #fff;\\r\\n}\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:first-child .card-text p,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(2) .card-text p,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(3) .card-text p{\\r\\n background-color: #8C899D;\\r\\n}\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:first-child .detail .location,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(2) .detail .location,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(3) .detail .location{\\r\\n background: url(/assets/images/adaptive-pricing/location-wt.svg) no-repeat left 52% center;\\r\\n}\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:first-child .price,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(2) .price,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(3) .price{\\r\\n background-color: #3E3958;\\r\\n color: #FFC193;\\r\\n padding-top: 34px;\\r\\n position: relative;\\r\\n}\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:first-child .price h2,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(2) .price h2,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(3) .price h2{\\r\\n line-height: 9px;\\r\\n margin-bottom: 7px;\\r\\n}\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:first-child .price strong,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(2) .price strong,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(3) .price strong{\\r\\n color: #FFC193;\\r\\n}\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:first-child .price::after,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(2) .price::after,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(3) .price::after{\\r\\n content: '';\\r\\n background: url(/assets/images/adaptive-pricing/badge.svg) no-repeat center center;\\r\\n position: absolute;\\r\\n top: 13px;\\r\\n width: 16px;\\r\\n height: 21px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n margin: auto;\\r\\n}\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:first-child .price::before,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(2) .price::before,\\r\\n.adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(3) .price::before{\\r\\n content: '';\\r\\n width: 31px;\\r\\n height: 31px;\\r\\n background: white;\\r\\n border-radius: 100px;\\r\\n position: absolute;\\r\\n top: 7px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n margin: auto;\\r\\n background-color: #2A2840;\\r\\n box-shadow: 0 0 6px #ffffff21;\\r\\n}\\r\\n/* Slide-5 */\\r\\n.adaptive-pricing .slide-5 .card .card-body.list-active .list-row:first-child .col{\\r\\n background-color: #65617D;\\r\\n color: #FFFFFF;\\r\\n border-radius: 10px 0 0 10px;\\r\\n}\\r\\n.adaptive-pricing .slide-5 .card .card-body.list-active .list-row:first-child .col .card-name{\\r\\n color: #FFFFFF;\\r\\n}\\r\\n.adaptive-pricing .slide-5 .card .card-body.list-active .list-row:first-child .col .bullets p{\\r\\n background: #fff;\\r\\n}\\r\\n.adaptive-pricing .slide-5 .card .card-body.list-active .list-row:first-child .card-text p{\\r\\n background-color: #8C899D;\\r\\n}\\r\\n.adaptive-pricing .slide-5 .card .card-body.list-active .list-row:first-child .detail .location{\\r\\n background: url(/assets/images/adaptive-pricing/location-wt.svg) no-repeat left 52% center;\\r\\n}\\r\\n.adaptive-pricing .slide-5 .card .card-body.list-active .list-row:first-child .price{\\r\\n background-color: #3E3958;\\r\\n color: #FFC193;\\r\\n}\\r\\n.adaptive-pricing .slide-5 .card .card-body.list-active .list-row:first-child .price strong{\\r\\n color: #FFC193;\\r\\n}\\r\\n.adaptive-pricing .bar-close{\\r\\n position: absolute;\\r\\n width: 20px;\\r\\n right: 30px;\\r\\n top: 30px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.adaptive-pricing .animated-background{\\r\\n position: absolute;\\r\\n top: -1px;\\r\\n bottom: -1px;\\r\\n right: -1px;\\r\\n left: -1px;\\r\\n z-index: 9;\\r\\n opacity: 0;\\r\\n transition: all 0.5s ease-in-out;\\r\\n border-radius: 10px;\\r\\n background: linear-gradient(to right, #fffcf9 8%, #fff3eb 22%, #fffefd 40%);\\r\\n}\\r\\n.adaptive-pricing .card-loader .list-row .animated-background{\\r\\n opacity: 1;\\r\\n}\\r\\n@media (max-width: 1650px){\\r\\n .adaptive-pricing .slide-1 .card-wrapper .card:first-child{\\r\\n right: 44px;\\r\\n }\\r\\n .adaptive-pricing .card-wrapper{\\r\\n right: 20px;\\r\\n }\\r\\n .adaptive-pricing .card-wrapper .card .card-body{\\r\\n padding: 10px 0;\\r\\n }\\r\\n .adaptive-pricing .card-wrapper .card .card-body .list-row{\\r\\n margin: 0 7px 20px;\\r\\n height: 80px;\\r\\n }\\r\\n .adaptive-pricing .card-wrapper .card:nth-child(2){\\r\\n right: 26px;\\r\\n }\\r\\n .adaptive-pricing .card-wrapper .card:nth-child(3){\\r\\n right: 49px;\\r\\n }\\r\\n .adaptive-pricing .slide-3 .card-wrapper .card .card-title{\\r\\n padding: 15px 20px 5px;\\r\\n margin-bottom: 0;\\r\\n }\\r\\n .adaptive-pricing .slide-6 .card .card-body.list-active .list-row:first-child .price{\\r\\n padding-top: 27px;\\r\\n }\\r\\n .adaptive-pricing .slide-6 .card .card-body.list-active .list-row:first-child .price::after,\\r\\n .adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(2) .price::after,\\r\\n .adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(3) .price::after{\\r\\n top: 11px;\\r\\n width: 14px;\\r\\n height: 17px;\\r\\n background-size: 86%;\\r\\n }\\r\\n .adaptive-pricing .slide-6 .card .card-body.list-active .list-row:first-child .price::before,\\r\\n .adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(2) .price::before,\\r\\n .adaptive-pricing .slide-6 .card .card-body.list-active .list-row:nth-child(3) .price::before{\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n top: 7px;\\r\\n }\\r\\n .adaptive-pricing .card .card-body .price h2{\\r\\n margin-bottom: 3px !important;\\r\\n }\\r\\n}\\r\\n@media (max-width: 1600px){\\r\\n .adaptive-pricing .content-wrapper p{\\r\\n width: calc(100% - 550px);\\r\\n }\\r\\n}\\r\\n@media (min-width: 1280px) and (max-width: 1450px){\\r\\n .adaptive-pricing .slide-1 .card-wrapper .card{\\r\\n width: 430px;\\r\\n }\\r\\n .adaptive-pricing .bullets p{\\r\\n width: 8px;\\r\\n height: 8px;\\r\\n }\\r\\n .adaptive-pricing .card .card-body .card-name{\\r\\n margin-bottom: 5px !important;\\r\\n }\\r\\n .adaptive-pricing .card-text p{\\r\\n margin-bottom: 3px;\\r\\n }\\r\\n}\\r\\n@media (max-height: 750px){\\r\\n /* .adaptive-pricing .content-wrapper{\\r\\n top: 60px;\\r\\n }\\r\\n .adaptive-pricing h2{\\r\\n margin-bottom: 10px;\\r\\n } */\\r\\n}\\r\\n@media (max-height: 700px){\\r\\n .adaptive-pricing .slide-3 .card-wrapper .card .card-title{\\r\\n margin-bottom: 0;\\r\\n }\\r\\n .adaptive-pricing .slide-3 .card .card-body .image-wrapper{\\r\\n min-width: 42px;\\r\\n height: 42px;\\r\\n }\\r\\n .adaptive-pricing .slide-3 .card .card-body .image-wrapper img{\\r\\n width: 60%;\\r\\n }\\r\\n .adaptive-pricing .slide-3 .card .card-body .card-text p{\\r\\n height: 8px;\\r\\n margin-bottom: 10px;\\r\\n }\\r\\n .adaptive-pricing .slide-1 .card .card-header{\\r\\n padding: 7px;\\r\\n }\\r\\n .adaptive-pricing .slide-1 .card .card-body{\\r\\n margin-top: 10px;\\r\\n }\\r\\n .adaptive-pricing .slide-1 .card:nth-child(2){\\r\\n top: -36px;\\r\\n }\\r\\n .adaptive-pricing .slide-1 .card-wrapper .card:nth-child(3){\\r\\n top: 50px;\\r\\n }\\r\\n .adaptive-pricing .slide-3 .card{\\r\\n top: -60px;\\r\\n }\\r\\n .adaptive-pricing .card:nth-child(3){\\r\\n top: 0px;\\r\\n }\\r\\n .adaptive-pricing .slide-3 .card-wrapper .card .card-title{\\r\\n padding: 5px 20px 0px;\\r\\n margin-bottom: 0px;\\r\\n }\\r\\n .adaptive-pricing .card:nth-child(3) .card-body{\\r\\n margin: 0 15px;\\r\\n }\\r\\n .adaptive-pricing .card .card-header{\\r\\n padding: 14px;\\r\\n }\\r\\n .adaptive-pricing .card .card-title{\\r\\n padding: 40px 20px 10px;\\r\\n }\\r\\n .adaptive-pricing .card-wrapper .card .card-body .list-row{\\r\\n margin: 0 7px 10px\\r\\n }\\r\\n}\\r\\n.adaptive-pricing .axis path, .adaptive-pricing .axis line {\\r\\n stroke: #A19FB5;\\r\\n}\\r\\n.adaptive-pricing .axis text,\\r\\n.adaptive-pricing .line-y-value-currency {\\r\\n fill: #65617D;\\r\\n}\\r\\n@keyframes titleAnim{\\r\\n 0%{\\r\\n transform: translateX(37%);\\r\\n font-size: calc(16px + (20 - 16) * (100vw - 1200px) / (1920 - 1200));\\r\\n }\\r\\n 20%{\\r\\n transform: translateX(37%);\\r\\n font-size: calc(30px + (40 - 30) * (100vw - 1200px) / (1920 - 1200));\\r\\n }\\r\\n 50%{\\r\\n transform: translateX(37%);\\r\\n font-size: calc(30px + (40 - 30) * (100vw - 1200px) / (1920 - 1200));\\r\\n }\\r\\n 75%{\\r\\n transform: translateX(0);\\r\\n font-size: calc(20px + (32 - 20) * (100vw - 1200px) / (1920 - 1200));\\r\\n }\\r\\n 100%{\\r\\n transform: translateX(0);\\r\\n font-size: calc(20px + (32 - 20) * (100vw - 1200px) / (1920 - 1200));\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9hZGFwdGl2ZS1wcmljaW5nL2FkYXB0aXZlLXByaWNpbmcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBQ1o7SUFDSSw2Q0FBNkM7SUFDN0MsaUJBQWlCO0lBQ2pCLGVBQWU7Q0FDbEI7QUFDRDtJQUNJLDZDQUE2QztDQUNoRDtBQUNEO0lBQ0ksV0FBVztDQUNkO0FBQ0Q7SUFDSSxhQUFhO0lBQ2IsV0FBVztJQUNYLFVBQVU7SUFDVixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtDQUNuQjtBQUNEO0lBQ0ksZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsYUFBYTtDQUNoQjtBQUNEO0lBQ0ksMEJBQTBCO0lBQzFCLFlBQVk7SUFDWixhQUFhO0lBQ2Isa0JBQWtCO0NBQ3JCO0FBQ0Q7SUFDSSwwQkFBMEI7Q0FDN0I7QUFDRDs7SUFFSSxrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixpQkFBaUI7SUFDakIsbUJBQW1CO0NBQ3RCO0FBQ0Q7SUFDSSxtQkFBbUI7SUFDbkIsT0FBTztJQUNQLFVBQVU7SUFDVixRQUFRO0lBQ1IsU0FBUztJQUNULFdBQVc7Q0FDZDtBQUNEO0lBQ0ksY0FBYztJQUNkLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsUUFBUTtJQUNSLFNBQVM7SUFDVCxPQUFPO0lBQ1AsVUFBVTtDQUNiO0FBQ0Q7SUFDSSxvRUFBb0U7SUFDcEUsc0JBQXNCO0lBQ3RCLGVBQWU7Q0FDbEI7QUFDRDtJQUNJLGVBQWU7Q0FDbEI7QUFDRDtJQUNJLG1CQUFtQjtJQUNuQixVQUFVO0lBQ1YsUUFBUTtJQUNSLFNBQVM7Q0FDWjtBQUNEO0lBQ0k7UUFDSSxVQUFVO0tBQ2I7Q0FDSjtBQUNEO0lBQ0k7UUFDSSxzQkFBc0I7S0FDekI7Q0FDSjtBQUVEO0lBQ0ksMEJBQTBCO0lBQzFCLG9CQUFvQjtDQUN2QjtBQUNEO0lBQ0ksb0VBQW9FO0lBQ3BFLGlC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V0FBVztLQUNkO0lBQ0Q7UUFDSSxZQUFZO1FBQ1osb0JBQW9CO0tBQ3ZCO0lBQ0Q7UUFDSSxhQUFhO0tBQ2hCO0lBQ0Q7UUFDSSxpQkFBaUI7S0FDcEI7SUFDRDtRQUNJLFdBQVc7S0FDZDtJQUNEO1FBQ0ksVUFBVTtLQUNiO0lBQ0Q7UUFDSSxXQUFXO0tBQ2Q7SUFDRDtRQUNJLFNBQVM7S0FDWjtJQUNEO1FBQ0ksc0JBQXNCO1FBQ3RCLG1CQUFtQjtLQUN0QjtJQUNEO1FBQ0ksZUFBZTtLQUNsQjtJQUNEO1FBQ0ksY0FBYztLQUNqQjtJQUNEO1FBQ0ksd0JBQXdCO0tBQzNCO0lBQ0Q7UUFDSSxrQkFBa0I7S0FDckI7Q0FDSjtBQUNEO0lBQ0ksZ0JBQWdCO0NBQ25CO0FBQ0Q7O0lBRUksY0FBYztDQUNqQjtBQUVEO0lBQ0k7UUFDSSwyQkFBMkI7UUFDM0IscUVBQXFFO0tBQ3hFO0lBQ0Q7UUFDSSwyQkFBMkI7UUFDM0IscUVBQXFFO0tBQ3hFO0lBQ0Q7UUFDSSwyQkFBMkI7UUFDM0IscUVBQXFFO0tBQ3hFO0lBQ0Q7UUFDSSx5QkFBeUI7UUFDekIscUVBQXFFO0tBQ3hFO0lBQ0Q7UUFDSSx5QkFBeUI7UUFDekIscUVBQXFFO0tBQ3hFO0NBQ0oiLCJmaWxlIjoic3JjL2FwcC93aWRnZXRzL2FkYXB0aXZlLXByaWNpbmcvYWRhcHRpdmUtcHJpY2luZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQ29tbW9uICovXHJcbi5hZGFwdGl2ZS1wcmljaW5ne1xyXG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgY29sb3I6ICM0MzNFMzc7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgc3Zne1xyXG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcuc2NyZWVuLTEgaGVhZGVyIC5uYXZiYXItYnJhbmQgaW1nLnpzLWxvZ28tYntcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmJ1bGxldHMuaGVhZGVyLWJ1bGxldHN7XHJcbiAgICBib3R0b206IGF1dG87XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gICAgdG9wOiAyNnB4O1xyXG4gICAgcmlnaHQ6IDEwMHB4O1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5idWxsZXRzLmhlYWRlci1idWxsZXRzIHNwYW57XHJcbiAgICBjb2xvcjogI0M5NDU3MztcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBjdXJzb3I6IGF1dG87XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmJ1bGxldHMuaGVhZGVyLWJ1bGxldHMgcHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNzhCN0Q7XHJcbiAgICB3aWR0aDogMTJweDtcclxuICAgIGhlaWdodDogMTJweDtcclxuICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5idWxsZXRzLmhlYWRlci1idWxsZXRzIHAuYWN0aXZle1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0M5NDU3MztcclxufVxyXG4uaW5uZXItcGFnZS13cmFwcGVyLmFkYXB0aXZlLXByaWNpbmcgI3Njcm9sbC1jb250YWluZXIsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5hZGFwdGl2ZS1wcmljaW5nLXN2Zy13cmFwcGVyICNzdmctd3JhcHBlcntcclxuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICB3aWR0aDogMTAwdnc7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5hZGFwdGl2ZS1wcmljaW5nLXN2Zy13cmFwcGVyICNzdmctd3JhcHBlcntcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmctc3ZnLXdyYXBwZXJ7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyBoMi5hZGFwdGl2ZS10aXRsZXtcclxuICAgIGZvbnQtc2l6ZTpjYWxjKDEycHggKyAoMjAgLSAxMikgKiAoMTAwdncgLSAxMjAwcHgpIC8gKDE5MjAgLSAxMjAwKSk7XHJcbiAgICBwYWRkaW5nOiAyNHB4IDE0MHB4IDA7XHJcbiAgICBjb2xvcjogIzhEOEQ4RDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyBoMi5hZGFwdGl2ZS10aXRsZSBzcGFue1xyXG4gICAgY29sb3I6ICM4RDhEOEQ7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNvbnRlbnQtd3JhcHBlcntcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNzBweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTM2cHgpe1xyXG4gICAgLmFkYXB0aXZlLXByaWNpbmcgLmNvbnRlbnQtd3JhcHBlcntcclxuICAgICAgICB0b3A6IDU1cHg7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU1MHB4KXtcclxuICAgIC5hZGFwdGl2ZS1wcmljaW5nIGgyLmFkYXB0aXZlLXRpdGxle1xyXG4gICAgICAgIHBhZGRpbmc6IDI2cHggMTIwcHggMDtcclxuICAgIH1cclxufVxyXG5cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNvbnRlbnQtd3JhcHBlciBwe1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDc0MHB4KTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNvbnRlbnQtd3JhcHBlciBwOmxhc3QtY2hpbGQgc3BhbntcclxuICAgIGZvbnQtc2l6ZTpjYWxjKDIwcHggKyAoMjYgLSAyMCkgKiAoMTAwdncgLSAxMjAwcHgpIC8gKDE5MjAgLSAxMjAwKSk7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zdG9yeS1jb250ZW50LXdyYXBwZXIgPiBkaXZ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyBoMntcclxuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBjb2xvcjogI0M5NDU3MztcclxuICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgIGZvbnQtc2l6ZTpjYWxjKDE4cHggKyAoMzIgLSAxOCkgKiAoMTAwdncgLSAxMjAwcHgpIC8gKDE5MjAgLSAxMjAwKSk7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgaDIgc3BhbntcclxuICAgIGNvbG9yOiAjRTc4QjdEO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyBwe1xyXG4gICAgZm9udC1zaXplOmNhbGMoMTRweCArICgxNiAtIDE0KSAqICgxMDB2dyAtIDEyMDBweCkgLyAoMTkyMCAtIDEyMDApKTtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyBlbXtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQtd3JhcHBlcntcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxNTBweCk7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDM0cHg7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQtd3JhcHBlciAuY2FyZHtcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBsaW5lYXItZ3JhZGllbnQoMjkwZGVnLCAjRkZGRkZGIDAlLCAjRkZGM0VCIDQ4JSwgI0ZGRTdEOCAxMDAlKTtcclxuICAgIGJveC1zaGFkb3c6IC04cHggLThweCAyNHB4ICMwMDAwMDAxMjtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgdG9wOiAtMTIwcHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICB6LWluZGV4OiA1O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE0MHB4KTtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMSAuY2FyZC13cmFwcGVye1xyXG4gICAgd2lkdGg6IDYwMHB4O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0zIC5jYXJkLXdyYXBwZXIgLmNhcmQgLmNhcmQtdGl0bGV7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHggMTBweDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuY2FyZC13cmFwcGVyLmNhcmQtYWN0aXZlIC5jYXJke1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkLXdyYXBwZXIgLmNhcmQ6Zmlyc3QtY2hpbGR7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA0MDBtcztcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuY2FyZC13cmFwcGVyIC5jYXJkOm50aC1jaGlsZCgyKXtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkLXdyYXBwZXIgLmNhcmQ6bnRoLWNoaWxkKDMpe1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQtd3JhcHBlci5jYXJkLWFjdGl2ZSAuY2FyZDpmaXJzdC1jaGlsZHtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkLXdyYXBwZXIuY2FyZC1hY3RpdmUgLmNhcmQ6bnRoLWNoaWxkKDIpe1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMzUwbXM7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQtd3JhcHBlci5jYXJkLWFjdGl2ZSAuY2FyZDpudGgtY2hpbGQoMyl7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA1MDBtcztcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuY2FyZC13cmFwcGVyIC5jYXJkOm50aC1jaGlsZCgxKSAuY2FyZC10aXRsZSxcclxuLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQtd3JhcHBlciAuY2FyZDpudGgtY2hpbGQoMikgLmNhcmQtdGl0bGUsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkLXdyYXBwZXIgLmNhcmQ6bnRoLWNoaWxkKDEpIC5jYXJkLWJvZHksXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkLXdyYXBwZXIgLmNhcmQ6bnRoLWNoaWxkKDIpIC5jYXJkLWJvZHl7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogNTAwbXM7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQ6bnRoLWNoaWxkKDIpe1xyXG4gICAgcmlnaHQ6IDM2cHg7XHJcbiAgICB0b3A6IC01MHB4O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkOm50aC1jaGlsZCgzKXtcclxuICAgIHJpZ2h0OiA2OXB4O1xyXG4gICAgdG9wOiAyMHB4O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkOmFmdGVye1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAtNTBweDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IGxpbmVhci1ncmFkaWVudCgyOTBkZWcsICNmZmZlZmUgMCUsICNmZmY4ZjMgNDglLCAjZmZlZGUyIDEwMCUpO1xyXG4gICAgYm94LXNoYWRvdzogLThweCAxNHB4IDIwcHggIzAwMDAwMDEyO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3KDBkZWcsIDEwZGVnKTtcclxuICAgIHotaW5kZXg6IDA7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQgLmNhcmQtaGVhZGVye1xyXG4gICAgY29sb3I6ICMzRjNENTY7XHJcbiAgICBmb250LXNpemU6Y2FsYygxNnB4ICsgKDE4IC0gMTYpICogKDEwMHZ3IC0gMTIwMHB4KSAvICgxOTIwIC0gMTIwMCkpO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNFM0M2QjU7XHJcbiAgICBtYXJnaW46IDAgMTBweCAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNnB4O1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgei1pbmRleDogMjtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuY2FyZCAuY2FyZC10aXRsZXtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAjNDMzRTM3O1xyXG4gICAgcGFkZGluZzogNDVweCAyMHB4IDEwcHg7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQtd3JhcHBlciAuY2FyZCAuY2FyZC10aXRsZSBwe1xyXG4gICAgZm9udC1zaXplOiBjYWxjKDE0cHggKyAoMjQgLSAxNCkgKiAoMTAwdncgLSAxMjAwcHgpIC8gKDE5MjAgLSAxMjAwKSk7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS02IC5jYXJkLXdyYXBwZXIgLmNhcmQgLmNhcmQtdGl0bGUgcHtcclxuICAgIGZvbnQtc2l6ZTogY2FsYygxNHB4ICsgKDE4IC0gMTQpICogKDEwMHZ3IC0gMTIwMHB4KSAvICgxOTIwIC0gMTIwMCkpO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkLXdyYXBwZXIgLmNhcmQgLmNhcmQtdGl0bGUgcCBlbXtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQgLmNhcmQtYm9keXtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBsaW5lYXItZ3JhZGllbnQoMjkwZGVnLCAjRkZGRkZGIDAlLCAjRkZGM0VCIDQ4JSwgI0ZGRTdEOCAxMDAlKTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBwYWRkaW5nOiAwIDAgMTBweCAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuY2FyZDpudGgtY2hpbGQoMykgLmNhcmQtYm9keXtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgbWFyZ2luOiAwIDIwcHg7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTIgLmNhcmQgLmNhcmQtYm9keSxcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTUgLmNhcmQgLmNhcmQtYm9keSxcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTYgLmNhcmQgLmNhcmQtYm9keXtcclxuICAgIG1hcmdpbjogMCAyMHB4O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkIC5jYXJkLWJvZHkgLmxpc3Qtcm93e1xyXG4gICAgY29sb3I6ICM0MDRENEQ7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDAgMjBweCAyMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2IoMCAwIDAgLyA1JSk7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkIC5jYXJkLWJvZHkgLmxpc3Qtcm93IC5jb2x7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQgLmNhcmQtYm9keSAubGlzdC1yb3cgLmNvbCA+IGRpdntcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuY2FyZCAuY2FyZC1ib2R5ID4gLmNhcmQtaW5mb3tcclxuICAgIGNvbG9yOiAjNjU2MTdEO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuY2FyZCAuY2FyZC1ib2R5IC5jYXJkLWluZm8gbGFiZWx7XHJcbiAgICBjb2xvcjogIzY1NjE3RDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQgLmNhcmQtYm9keSAuY2FyZC1pbmZvIHNwYW57XHJcbiAgICBjb2xvcjogIzNGM0Q1NjtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQgLmNhcmQtYm9keSAucHJvZmlsZXtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHggNXB4O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkIC5jYXJkLWJvZHkgLmNhcmQtbmFtZXtcclxuICAgIGZvbnQtc2l6ZTpjYWxjKDEwcHggKyAoMjIgLSAxMCkgKiAoMTAwdncgLSAxMjAwcHgpIC8gKDE5MjAgLSAxMjAwKSk7XHJcbiAgICBjb2xvcjogI0JDNUQ3RDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuY2FyZC10ZXh0IHAge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDdweDtcclxuICAgIGJhY2tncm91bmQ6ICNGN0U4RTQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkLXRleHQgcDpudGgtY2hpbGQoMil7XHJcbiAgICB3aWR0aDogODAlO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkLXRleHQgcDpudGgtY2hpbGQoMyl7XHJcbiAgICB3aWR0aDogNjAlO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5idWxsZXRze1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgei1pbmRleDogNjtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuYnVsbGV0cyBzcGFue1xyXG4gICAgZm9udC1zaXplOmNhbGMoMTBweCArICgxNCAtIDEwKSAqICgxMDB2dyAtIDEyMDBweCkgLyAoMTkyMCAtIDEyMDApKTtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuYnVsbGV0cyBwe1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjQzlDOUM5O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5idWxsZXRzIHAuYWN0aXZle1xyXG4gICAgYmFja2dyb3VuZDogI0U2ODE4QjtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuY2FyZCAuY2FyZC1ib2R5IC5kZXRhaWwgcHtcclxuICAgIGZvbnQtc2l6ZTogY2FsYygxMHB4ICsgKDE0IC0gMTApICogKDEwMHZ3IC0gMTIwMHB4KSAvICgxOTIwIC0gMTIwMCkpO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkIC5jYXJkLWJvZHkgLmRldGFpbCAubG9jYXRpb257XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvYWRhcHRpdmUtcHJpY2luZy9sb2NhdGlvbi5zdmcpIG5vLXJlcGVhdCBsZWZ0IDUyJSBjZW50ZXI7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQgLmNhcmQtYm9keSAuZGV0YWlsIC5idWxsZXRzIHAuYWN0aXZle1xyXG4gICAgYmFja2dyb3VuZDogI0U2ODE4QiAhaW1wb3J0YW50O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkIC5jYXJkLWJvZHkgLnByaWNle1xyXG4gICAgd2lkdGg6IDc4cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkVCRTU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDEwcHggMTBweCAwO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkIC5jYXJkLWJvZHkgLnByaWNlIGgye1xyXG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQgLmNhcmQtYm9keSAucHJpY2UgaDIgc3Ryb25ne1xyXG4gICAgZm9udC1zaXplOmNhbGMoMTVweCArICgyMCAtIDE1KSAqICgxMDB2dyAtIDEyMDBweCkgLyAoMTkyMCAtIDEyMDApKTtcclxuICAgIGNvbG9yOiAjQzk0NTczO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkIC5jYXJkLWJvZHkgLnByaWNlIHB7XHJcbiAgICBmb250LXNpemU6Y2FsYygxMHB4ICsgKDEyIC0gMTApICogKDEwMHZ3IC0gMTIwMHB4KSAvICgxOTIwIC0gMTIwMCkpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc3ViLXdyYXBwZXJ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbn1cclxuXHJcbi8qIFNjcmVlbi0xICovXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0xIC5zdWItd3JhcHBlciAubGVmdC1zZWN0aW9ue1xyXG4gICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnL2Fzc2V0cy9pbWFnZXMvYWRhcHRpdmUtcHJpY2luZy9hZGFwdGl2ZS1iZzEucG5nJyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDkwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0xIC5jYXJkIC5jYXJkLWhlYWRlcntcclxuICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICB0b3A6IDA7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTEuYW5pbWF0ZS1pbiAuc3ViLXdyYXBwZXIgLmxlZnQtc2VjdGlvbntcclxuICAgIG1pbi13aWR0aDogNjIlO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zaXRpb246IGFsbCA5MDBtcyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDFzO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0xLmZpcnN0LXRpbWUtbG9hZC5hbmltYXRlLWluLmFuaW1hdGUtb3V0IC5zdWItd3JhcHBlciAubGVmdC1zZWN0aW9ue1xyXG4gICAgbWluLXdpZHRoOiAwJTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcclxuICAgIHRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTEuZmlyc3QtdGltZS1sb2FkIC5zdWItd3JhcHBlciAubGVmdC1zZWN0aW9ue1xyXG4gICAgbWluLXdpZHRoOiA2MiU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDgwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0xLmZpcnN0LXRpbWUtbG9hZC5hbmltYXRlLWluIC5zdWItd3JhcHBlciAubGVmdC1zZWN0aW9ue1xyXG4gICAgbWluLXdpZHRoOiA2MiU7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDgwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0xLmZpcnN0LXRpbWUtbG9hZC5hbmltYXRlLWluIC5zdWItd3JhcHBlciAubGVmdC1zZWN0aW9uIGgye1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTEuZmlyc3QtdGltZS1sb2FkLmFuaW1hdGUtaW4gLnN1Yi13cmFwcGVyIC5sZWZ0LXNlY3Rpb24gcHtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0xLmZpcnN0LXRpbWUtbG9hZC5hbmltYXRlLWluIC5jb250ZW50LXdyYXBwZXIgaDJ7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0xLmZpcnN0LXRpbWUtbG9hZC5hbmltYXRlLWluIC5jb250ZW50LXdyYXBwZXIgcHtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuN3M7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTEgLnN1Yi13cmFwcGVyIC5yaWdodC1zZWN0aW9ue1xyXG4gICAgd2lkdGg6IDM4JTtcclxuICAgIGJhY2tncm91bmQ6ICNGNEY2Rjk7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTEuZmlyc3QtdGltZS1sb2FkLmFuaW1hdGUtb3V0IC5zdWItd3JhcHBlciAucmlnaHQtc2VjdGlvbntcclxuICAgIHdpZHRoOiAwJTtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMSAuc3ViLXdyYXBwZXIgLnJpZ2h0LXNlY3Rpb24gLmNvbnRlbnQtd3JhcHBlciBoMntcclxuICAgIGZvbnQtc2l6ZTpjYWxjKDI0cHggKyAoMzYgLSAyNCkgKiAoMTAwdncgLSAxMjAwcHgpIC8gKDE5MjAgLSAxMjAwKSk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0xIC5zdWItd3JhcHBlciAucmlnaHQtc2VjdGlvbiBwe1xyXG4gICAgZm9udC1zaXplOmNhbGMoMThweCArICgyNiAtIDE4KSAqICgxMDB2dyAtIDEyMDBweCkgLyAoMTkyMCAtIDEyMDApKTtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMSAuY29udGVudC13cmFwcGVyIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgcGFkZGluZzogMCA1NXB4O1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0xIC5jb250ZW50LXdyYXBwZXIgcHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5hZGFwdGl2ZS1wcmljaW5nLXN0b3J5LXdyYXBwZXIgc2VjdGlvbntcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbn1cclxuXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0xIC5jYXJkOmFmdGVye1xyXG4gICAgdHJhbnNmb3JtOiBza2V3KDBkZWcsIC0xMGRlZyk7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTEgLmNhcmQgLmNhcmQtYm9keXtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTEgLmNhcmQ6Zmlyc3QtY2hpbGR7XHJcbiAgICByaWdodDogNjRweDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMSAuY2FyZDpudGgtY2hpbGQoMil7XHJcbiAgICB0b3A6IC0xNnB4O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0xIC5jYXJkLXdyYXBwZXIgLmNhcmQ6bnRoLWNoaWxkKDMpe1xyXG4gICAgcmlnaHQ6IDRweDtcclxuICAgIHRvcDogOTBweDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyBwLmN1c3RvbWVyLWRhdGF7XHJcbiAgICBjb2xvcjogI0JDNUQ3RDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LXNpemU6IGNhbGMoMTJweCArICgxOCAtIDEyKSAqICgxMDB2dyAtIDEyMDBweCkgLyAoMTkyMCAtIDEyMDApKTtcclxufVxyXG4vKiBBbmltYXRpb24gKi9cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTEsIFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMiwgXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0zLCBcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTQsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS01LCBcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTYsIFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtN3tcclxuICAgIG9wYWNpdHk6IDA7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTEuYW5pbWF0ZS1pbiwgXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0yLmFuaW1hdGUtaW4sIFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMy5hbmltYXRlLWluLCBcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTQuYW5pbWF0ZS1pbixcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTUuYW5pbWF0ZS1pbiwgXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS02LmFuaW1hdGUtaW4sIFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNy5hbmltYXRlLWlue1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMSAuY29udGVudC13cmFwcGVyIGgyLCBcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTIgLmNvbnRlbnQtd3JhcHBlciBoMiwgXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0zIC5jb250ZW50LXdyYXBwZXIgaDIsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS01IC5jb250ZW50LXdyYXBwZXIgaDIsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS02IC5jb250ZW50LXdyYXBwZXIgaDIsIFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNyAuY29udGVudC13cmFwcGVyIGgyLFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMS5maXJzdC10aW1lLWxvYWQuYW5pbWF0ZS1vdXQgLmNvbnRlbnQtd3JhcHBlciBoMixcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTIuYW5pbWF0ZS1pbi5hbmltYXRlLW91dCAuY29udGVudC13cmFwcGVyIGgyLFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMy5hbmltYXRlLWluLmFuaW1hdGUtb3V0IC5jb250ZW50LXdyYXBwZXIgaDIsIFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNS5hbmltYXRlLWluLmFuaW1hdGUtb3V0IC5jb250ZW50LXdyYXBwZXIgaDIsIFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNi5hbmltYXRlLWluLmFuaW1hdGUtb3V0IC5jb250ZW50LXdyYXBwZXIgaDIsIFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNy5hbmltYXRlLWluLmFuaW1hdGUtb3V0IC5jb250ZW50LXdyYXBwZXIgaDJ7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMSAuY29udGVudC13cmFwcGVyIHAsIFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMiAuY29udGVudC13cmFwcGVyIHAsIFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMyAuY29udGVudC13cmFwcGVyIHAsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS01IC5jb250ZW50LXdyYXBwZXIgcCxcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTYgLmNvbnRlbnQtd3JhcHBlciBwLCBcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTcgLmNvbnRlbnQtd3JhcHBlciBwLFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMS5hbmltYXRlLWluLmFuaW1hdGUtb3V0IC5jb250ZW50LXdyYXBwZXIgcCwgXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0yLmFuaW1hdGUtaW4uYW5pbWF0ZS1vdXQgLmNvbnRlbnQtd3JhcHBlciBwLCBcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTMuYW5pbWF0ZS1pbi5hbmltYXRlLW91dCAuY29udGVudC13cmFwcGVyIHAsIFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNS5hbmltYXRlLWluLmFuaW1hdGUtb3V0IC5jb250ZW50LXdyYXBwZXIgcCwgXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS02LmFuaW1hdGUtaW4uYW5pbWF0ZS1vdXQgLmNvbnRlbnQtd3JhcHBlciBwLCBcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTcuYW5pbWF0ZS1pbi5hbmltYXRlLW91dCAuY29udGVudC13cmFwcGVyIHB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7XHJcbn1cclxuIFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMi5hbmltYXRlLWluIC5jb250ZW50LXdyYXBwZXIgaDIsIFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMy5hbmltYXRlLWluIC5jb250ZW50LXdyYXBwZXIgaDIsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS01LmFuaW1hdGUtaW4gLmNvbnRlbnQtd3JhcHBlciBoMixcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTYuYW5pbWF0ZS1pbiAuY29udGVudC13cmFwcGVyIGgye1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIGFuaW1hdGlvbjogdGl0bGVBbmltIDJzIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG59XHJcblxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNy5hbmltYXRlLWluIC5jb250ZW50LXdyYXBwZXIgaDJ7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMS5hbmltYXRlLWluIC5jb250ZW50LXdyYXBwZXIgcCwgXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0yLmFuaW1hdGUtaW4gLmNvbnRlbnQtd3JhcHBlciBwLCBcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTMuYW5pbWF0ZS1pbiAuY29udGVudC13cmFwcGVyIHAsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS01LmFuaW1hdGUtaW4gLmNvbnRlbnQtd3JhcHBlciBwLCBcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTYuYW5pbWF0ZS1pbiAuY29udGVudC13cmFwcGVyIHAsIFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNy5hbmltYXRlLWluIC5jb250ZW50LXdyYXBwZXIgcHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxLjhzO1xyXG59XHJcblxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMS5hbmltYXRlLWluIC5jb250ZW50LXdyYXBwZXIgaDJ7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMnM7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTEuYW5pbWF0ZS1pbiAuY29udGVudC13cmFwcGVyIHB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMi41cztcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMy5hbmltYXRlLWluLnN0ZXAgLmNvbnRlbnQtd3JhcHBlciBoMixcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTMuYW5pbWF0ZS1pbi5hbmltYXRlLW91dC5zdGVwIC5jb250ZW50LXdyYXBwZXIgaDIsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS00LmFuaW1hdGUtaW4uYW5pbWF0ZS1vdXQuc3RlcCAuY29udGVudC13cmFwcGVyIGgyLFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNS5hbmltYXRlLWluLmFuaW1hdGUtb3V0LnN0ZXAgLmNvbnRlbnQtd3JhcHBlciBoMixcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTUuYW5pbWF0ZS1pbi5zdGVwIC5jb250ZW50LXdyYXBwZXIgaDJ7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNpdGlvbjogbm9uZTtcclxuICAgIGFuaW1hdGlvbjogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTpjYWxjKDE4cHggKyAoMzIgLSAxOCkgKiAoMTAwdncgLSAxMjAwcHgpIC8gKDE5MjAgLSAxMjAwKSk7XHJcbn1cclxuXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0zLmFuaW1hdGUtaW4uc3RlcCAuY29udGVudC13cmFwcGVyIHAsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0zLmFuaW1hdGUtaW4uYW5pbWF0ZS1vdXQuc3RlcCAuY29udGVudC13cmFwcGVyIHAsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS00LmFuaW1hdGUtaW4uYW5pbWF0ZS1vdXQuc3RlcCAuY29udGVudC13cmFwcGVyIHAsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS01LmFuaW1hdGUtaW4uc3RlcCAuY29udGVudC13cmFwcGVyIHB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNpdGlvbjogbm9uZTtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuYW5pbWF0ZS1pbi5zbGlkZS0xe1xyXG4gICAgei1pbmRleDogNTtcclxufVxyXG4vKiBTY3JlZW4gMiAqL1xyXG4uYWRhcHRpdmUtcHJpY2luZyAub3ZhbC13cmFwcGVye1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5vdmFsLXNwYWNlIHtcclxuICAgIHdpZHRoOiAxODBweDtcclxuICAgIGhlaWdodDogMTMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCAjZWZlZWVlLCAjZmZmZmZmKTtcclxuICAgIGJveC1zaGFkb3c6IDZweCA1cHggMTBweCAjZjNmMmYxLCBpbnNldCAwcHggMHB4IDFweCAjZWFlYWVhLCBpbnNldCAycHggMnB4IDZweCAjZWFlYWVhO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAub3ZhbC1zcGFjZS5hY3RpdmV7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRkZFQUUzO1xyXG59XHJcblxyXG4uYWRhcHRpdmUtcHJpY2luZyAub3ZhbC1zcGFjZSAuaW5uZXItaW1hZ2V7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5vdmFsLXNwYWNlLmV4cGFuZCAuaW5uZXItaW1hZ2V7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLm92YWwtc3BhY2UgLmlubmVyLWltYWdlOjphZnRlcntcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDo1MHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAub3ZhbC1zcGFjZSAuaW5uZXItaW1hZ2U6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI0U2RTZFNjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDQwMHB4IDQwMHB4IDQwMHB4IDQwMHB4IC8gMTUwcHggMTUwcHggMTUwcHggMTUwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDEwcHg7XHJcbiAgICAvKiB0cmFuc2Zvcm06IHJvdGF0ZTNkKDUwLCAxLCAxLCA2NWRlZyk7ICovXHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLm92YWwtc3BhY2UuYWN0aXZlIC5pbm5lci1pbWFnZTpiZWZvcmV7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5vdmFsLXNwYWNlLmdyb3VwIC5pbm5lci1pbWFnZTpiZWZvcmV7XHJcbiAgICB3aWR0aDogMTIwcHg7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLm92YWwtc3BhY2UuZXhwYW5kIC5pbm5lci1pbWFnZTpiZWZvcmV7XHJcbiAgICBsZWZ0OiA0MHB4O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5vdmFsLXNwYWNlLmdyb3VwLmV4cGFuZCAuaW5uZXItaW1hZ2U6YmVmb3Jle1xyXG4gICAgbGVmdDogMzBweDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAub3ZhbC1zcGFjZS5zb2xvIC5pbm5lci1pbWFnZTo6YWZ0ZXJ7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvYWRhcHRpdmUtcHJpY2luZy9zb2xvLnN2Zykgbm8tcmVwZWF0O1xyXG4gICAgd2lkdGg6IDQxcHg7XHJcbiAgICBoZWlnaHQ6IDk3cHg7XHJcbiAgICBsZWZ0OjcwcHg7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLm92YWwtc3BhY2UuYnVzaW5lc3MgLmlubmVyLWltYWdlOjphZnRlcntcclxuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9hZGFwdGl2ZS1wcmljaW5nL2J1c3NpbmVzcy5zdmcpIG5vLXJlcGVhdDtcclxuICAgIHdpZHRoOiAxMDRweDtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLm92YWwtc3BhY2UuY291cGxlIC5pbm5lci1pbWFnZTo6YWZ0ZXJ7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvYWRhcHRpdmUtcHJpY2luZy9jb3VwbGUuc3ZnKSBuby1yZXBlYXQ7XHJcbiAgICB3aWR0aDogOTNweDtcclxuICAgIGhlaWdodDogOThweDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAub3ZhbC1zcGFjZS5ncm91cCAuaW5uZXItaW1hZ2U6OmFmdGVye1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2FkYXB0aXZlLXByaWNpbmcvZ3JvdXAuc3ZnKSBuby1yZXBlYXQ7XHJcbiAgICB3aWR0aDogMTE3cHg7XHJcbiAgICBoZWlnaHQ6IDg2cHg7XHJcbiAgICBsZWZ0OiAzNXB4O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5vdmFsLXNwYWNlLmV4cGFuZHtcclxuICAgIHdpZHRoOiAyODBweDtcclxuICAgIHRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5vdmFsLXNwYWNlIC5pbmZve1xyXG4gICAgd2lkdGg6IDcwcHg7XHJcbiAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlLWluLW91dDtcclxuICAgIGxlZnQ6IDgwcHg7XHJcbiAgICBjb2xvcjogI0Q0RDlGMjtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgZm9udC1zaXplOiBjYWxjKDE0cHggKyAoMTYgLSAxNCkgKiAoMTAwdncgLSAxMjAwcHgpIC8gKDE5MjAgLSAxMjAwKSk7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5vdmFsLXNwYWNlLmV4cGFuZCAuaW5mb3tcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHJpZ2h0OiA0NnB4O1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLm92YWwtd3JhcHBlciBoMiwgLm92YWwtd3JhcHBlciBoMywgLm92YWwtd3JhcHBlciBwe1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5vdmFsLXdyYXBwZXIgaDJ7XHJcbiAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG59XHJcbi5vdmFsLXdyYXBwZXIgaDN7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgY29sb3I6ICMzRjNENTY7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLm92YWwtd3JhcHBlciBwe1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICMzRjNENTY7XHJcbn1cclxuLyogU2xpZGUtMyAqL1xyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMyAuY2FyZHtcclxuICAgIHdpZHRoOiA4NSU7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTMgLmNhcmQgLmNhcmQtYm9keXtcclxuICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMyAuY2FyZCAuY2FyZC1ib2R5IC5pbWFnZS13cmFwcGVye1xyXG4gICAgYmFja2dyb3VuZDogI0Y3RThFNDtcclxuICAgIG1pbi13aWR0aDogNjJweDtcclxuICAgIGhlaWdodDogNjJweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTMgLmNhcmQgLmNhcmQtYm9keSAuY2FyZC10ZXh0IHB7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTMgLmNhcmQgLmNhcmQtYm9keSAuY2FyZC1pbmZvLXdyYXBwZXJ7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNTgwcHgpO1xyXG4gICAgcGFkZGluZzogMCAxMHB4O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0zIC5jYXJkIC5jYXJkLWJvZHkgLmNhcmQtaW5mby13cmFwcGVyID4gZGl2e1xyXG4gICAgcGFkZGluZzogMCAwIDEwcHg7XHJcbiAgICBmb250LXNpemU6IGNhbGMoMTBweCArICgxOCAtIDEwKSAqICgxMDB2dyAtIDEyMDBweCkgLyAoMTkyMCAtIDEyMDApKTtcclxufVxyXG4vKiBTbGlkZS03ICovXHJcbi8qIC5hZGFwdGl2ZS1wcmljaW5nIC53cmFwcGVyIHB7XHJcbiAgICB3aWR0aDogOTAlO1xyXG59ICovXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS03IC53cmFwcGVyIC5jb2wtNntcclxuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS03IC53cmFwcGVyIC5yaWdodC1zZWN0aW9ue1xyXG4gICAgYm94LXNoYWRvdzogLThweCAtOHB4IDIwcHggI0ZGRkZGRjU5O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2FkYXB0aXZlLXByaWNpbmcvZ3Vlc3Quc3ZnKSBuby1yZXBlYXQgYm90dG9tIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNyAud3JhcHBlciAucmlnaHQtc2VjdGlvbiAuY29udGVudC13cmFwcGVye1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNyAud3JhcHBlciAucmlnaHQtc2VjdGlvbi5iZW5lZml0LWFjdGl2ZSAuY29udGVudC13cmFwcGVye1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC8qIHRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7ICovXHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS03IC53cmFwcGVyIC5yaWdodC1zZWN0aW9uLmJlbmVmaXQtYWN0aXZlOjpiZWZvcmV7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IGxpbmVhci1ncmFkaWVudCgzMTZkZWcsICNGRkZGRkYgMCUsICNGRkYzRUIgNzklLCAjRkZFN0Q4NTMgMTAwJSkgMCUgMCUgbm8tcmVwZWF0IHBhZGRpbmctYm94O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS03IC53cmFwcGVyIC5sZWZ0LXNlY3Rpb257XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvYWRhcHRpdmUtcHJpY2luZy9jYXNlLXN0dWR5LnN2Zykgbm8tcmVwZWF0IGJvdHRvbSBjZW50ZXI7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmc6OmFmdGVye1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2FkYXB0aXZlLXByaWNpbmcvYWRhcHRpdmUtYmdAMngucG5nJyk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcuc2NyZWVuLTc6OmFmdGVye1xyXG4gICAgY29udGVudDogbm9uZTtcclxufVxyXG4vKiBTbGlkZS01ICovXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS02IC5jYXJkIC5jYXJkLWJvZHkubGlzdC1hY3RpdmUgLmxpc3Qtcm93OmZpcnN0LWNoaWxkIC5jb2wsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS02IC5jYXJkIC5jYXJkLWJvZHkubGlzdC1hY3RpdmUgLmxpc3Qtcm93Om50aC1jaGlsZCgyKSAuY29sLFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpudGgtY2hpbGQoMykgLmNvbHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NTYxN0Q7XHJcbiAgICBjb2xvcjogI0ZGRkZGRjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMCAwIDEwcHg7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTYgLmNhcmQgLmNhcmQtYm9keS5saXN0LWFjdGl2ZSAubGlzdC1yb3c6Zmlyc3QtY2hpbGQgLmNvbCAuY2FyZC1uYW1lLFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpudGgtY2hpbGQoMikgLmNvbCAuY2FyZC1uYW1lLFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpudGgtY2hpbGQoMykgLmNvbCAuY2FyZC1uYW1le1xyXG4gICAgY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTYgLmNhcmQgLmNhcmQtYm9keS5saXN0LWFjdGl2ZSAubGlzdC1yb3c6Zmlyc3QtY2hpbGQgLmNvbCAuYnVsbGV0cyBwLFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpudGgtY2hpbGQoMikgLmNvbCAuYnVsbGV0cyBwLFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpudGgtY2hpbGQoMykgLmNvbCAuYnVsbGV0cyBwe1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpmaXJzdC1jaGlsZCAuY2FyZC10ZXh0IHAsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS02IC5jYXJkIC5jYXJkLWJvZHkubGlzdC1hY3RpdmUgLmxpc3Qtcm93Om50aC1jaGlsZCgyKSAuY2FyZC10ZXh0IHAsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS02IC5jYXJkIC5jYXJkLWJvZHkubGlzdC1hY3RpdmUgLmxpc3Qtcm93Om50aC1jaGlsZCgzKSAuY2FyZC10ZXh0IHB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOEM4OTlEO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS02IC5jYXJkIC5jYXJkLWJvZHkubGlzdC1hY3RpdmUgLmxpc3Qtcm93OmZpcnN0LWNoaWxkIC5kZXRhaWwgLmxvY2F0aW9uLFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpudGgtY2hpbGQoMikgLmRldGFpbCAubG9jYXRpb24sXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS02IC5jYXJkIC5jYXJkLWJvZHkubGlzdC1hY3RpdmUgLmxpc3Qtcm93Om50aC1jaGlsZCgzKSAuZGV0YWlsIC5sb2NhdGlvbntcclxuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9hZGFwdGl2ZS1wcmljaW5nL2xvY2F0aW9uLXd0LnN2Zykgbm8tcmVwZWF0IGxlZnQgNTIlIGNlbnRlcjtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpmaXJzdC1jaGlsZCAucHJpY2UsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS02IC5jYXJkIC5jYXJkLWJvZHkubGlzdC1hY3RpdmUgLmxpc3Qtcm93Om50aC1jaGlsZCgyKSAucHJpY2UsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS02IC5jYXJkIC5jYXJkLWJvZHkubGlzdC1hY3RpdmUgLmxpc3Qtcm93Om50aC1jaGlsZCgzKSAucHJpY2V7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0UzOTU4O1xyXG4gICAgY29sb3I6ICNGRkMxOTM7XHJcbiAgICBwYWRkaW5nLXRvcDogMzRweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpmaXJzdC1jaGlsZCAucHJpY2UgaDIsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS02IC5jYXJkIC5jYXJkLWJvZHkubGlzdC1hY3RpdmUgLmxpc3Qtcm93Om50aC1jaGlsZCgyKSAucHJpY2UgaDIsXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS02IC5jYXJkIC5jYXJkLWJvZHkubGlzdC1hY3RpdmUgLmxpc3Qtcm93Om50aC1jaGlsZCgzKSAucHJpY2UgIGgye1xyXG4gICAgbGluZS1oZWlnaHQ6IDlweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDdweDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpmaXJzdC1jaGlsZCAucHJpY2Ugc3Ryb25nLFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpudGgtY2hpbGQoMikgLnByaWNlIHN0cm9uZyxcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTYgLmNhcmQgLmNhcmQtYm9keS5saXN0LWFjdGl2ZSAubGlzdC1yb3c6bnRoLWNoaWxkKDMpIC5wcmljZSBzdHJvbmd7XHJcbiAgICBjb2xvcjogI0ZGQzE5MztcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpmaXJzdC1jaGlsZCAucHJpY2U6OmFmdGVyLFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpudGgtY2hpbGQoMikgLnByaWNlOjphZnRlcixcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTYgLmNhcmQgLmNhcmQtYm9keS5saXN0LWFjdGl2ZSAubGlzdC1yb3c6bnRoLWNoaWxkKDMpIC5wcmljZTo6YWZ0ZXJ7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9hZGFwdGl2ZS1wcmljaW5nL2JhZGdlLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEzcHg7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGhlaWdodDogMjFweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpmaXJzdC1jaGlsZCAucHJpY2U6OmJlZm9yZSxcclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTYgLmNhcmQgLmNhcmQtYm9keS5saXN0LWFjdGl2ZSAubGlzdC1yb3c6bnRoLWNoaWxkKDIpIC5wcmljZTo6YmVmb3JlLFxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpudGgtY2hpbGQoMykgLnByaWNlOjpiZWZvcmV7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHdpZHRoOiAzMXB4O1xyXG4gICAgaGVpZ2h0OiAzMXB4O1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogN3B4O1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJBMjg0MDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggI2ZmZmZmZjIxO1xyXG59XHJcblxyXG4vKiBTbGlkZS01ICovXHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS01IC5jYXJkIC5jYXJkLWJvZHkubGlzdC1hY3RpdmUgLmxpc3Qtcm93OmZpcnN0LWNoaWxkIC5jb2x7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjU2MTdEO1xyXG4gICAgY29sb3I6ICNGRkZGRkY7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAxMHB4O1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS01IC5jYXJkIC5jYXJkLWJvZHkubGlzdC1hY3RpdmUgLmxpc3Qtcm93OmZpcnN0LWNoaWxkIC5jb2wgLmNhcmQtbmFtZXtcclxuICAgIGNvbG9yOiAjRkZGRkZGO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS01IC5jYXJkIC5jYXJkLWJvZHkubGlzdC1hY3RpdmUgLmxpc3Qtcm93OmZpcnN0LWNoaWxkIC5jb2wgLmJ1bGxldHMgcHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTUgLmNhcmQgLmNhcmQtYm9keS5saXN0LWFjdGl2ZSAubGlzdC1yb3c6Zmlyc3QtY2hpbGQgLmNhcmQtdGV4dCBwe1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhDODk5RDtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNSAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpmaXJzdC1jaGlsZCAuZGV0YWlsIC5sb2NhdGlvbntcclxuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9hZGFwdGl2ZS1wcmljaW5nL2xvY2F0aW9uLXd0LnN2Zykgbm8tcmVwZWF0IGxlZnQgNTIlIGNlbnRlcjtcclxufVxyXG4uYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNSAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpmaXJzdC1jaGlsZCAucHJpY2V7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0UzOTU4O1xyXG4gICAgY29sb3I6ICNGRkMxOTM7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTUgLmNhcmQgLmNhcmQtYm9keS5saXN0LWFjdGl2ZSAubGlzdC1yb3c6Zmlyc3QtY2hpbGQgLnByaWNlIHN0cm9uZ3tcclxuICAgIGNvbG9yOiAjRkZDMTkzO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5iYXItY2xvc2V7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIHJpZ2h0OiAzMHB4O1xyXG4gICAgdG9wOiAzMHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5hZGFwdGl2ZS1wcmljaW5nIC5hbmltYXRlZC1iYWNrZ3JvdW5ke1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtMXB4O1xyXG4gICAgYm90dG9tOiAtMXB4O1xyXG4gICAgcmlnaHQ6IC0xcHg7XHJcbiAgICBsZWZ0OiAtMXB4O1xyXG4gICAgei1pbmRleDogOTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZmZjZjkgOCUsICNmZmYzZWIgMjIlLCAjZmZmZWZkIDQwJSk7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQtbG9hZGVyIC5saXN0LXJvdyAuYW5pbWF0ZWQtYmFja2dyb3VuZHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuQG1lZGlhIChtYXgtd2lkdGg6IDE2NTBweCl7XHJcbiAgICAuYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMSAuY2FyZC13cmFwcGVyIC5jYXJkOmZpcnN0LWNoaWxke1xyXG4gICAgICAgIHJpZ2h0OiA0NHB4O1xyXG4gICAgfVxyXG4gICAgLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQtd3JhcHBlcntcclxuICAgICAgICByaWdodDogMjBweDtcclxuICAgIH1cclxuICAgIC5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkLXdyYXBwZXIgLmNhcmQgLmNhcmQtYm9keXtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICB9XHJcbiAgICAuYWRhcHRpdmUtcHJpY2luZyAuY2FyZC13cmFwcGVyIC5jYXJkIC5jYXJkLWJvZHkgLmxpc3Qtcm93e1xyXG4gICAgICAgIG1hcmdpbjogMCA3cHggMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICB9XHJcbiAgICAuYWRhcHRpdmUtcHJpY2luZyAuY2FyZC13cmFwcGVyIC5jYXJkOm50aC1jaGlsZCgyKXtcclxuICAgICAgICByaWdodDogMjZweDtcclxuICAgIH1cclxuICAgIC5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkLXdyYXBwZXIgLmNhcmQ6bnRoLWNoaWxkKDMpe1xyXG4gICAgICAgIHJpZ2h0OiA0OXB4O1xyXG4gICAgfVxyXG4gICAgLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTMgLmNhcmQtd3JhcHBlciAuY2FyZCAuY2FyZC10aXRsZXtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHggNXB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAuYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpmaXJzdC1jaGlsZCAucHJpY2V7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDI3cHg7XHJcbiAgICB9XHJcbiAgICAuYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpmaXJzdC1jaGlsZCAucHJpY2U6OmFmdGVyLFxyXG4gICAgLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTYgLmNhcmQgLmNhcmQtYm9keS5saXN0LWFjdGl2ZSAubGlzdC1yb3c6bnRoLWNoaWxkKDIpIC5wcmljZTo6YWZ0ZXIsXHJcbiAgICAuYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpudGgtY2hpbGQoMykgLnByaWNlOjphZnRlcntcclxuICAgICAgICB0b3A6IDExcHg7XHJcbiAgICAgICAgd2lkdGg6IDE0cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxN3B4O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogODYlO1xyXG4gICAgfVxyXG4gICAgLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTYgLmNhcmQgLmNhcmQtYm9keS5saXN0LWFjdGl2ZSAubGlzdC1yb3c6Zmlyc3QtY2hpbGQgLnByaWNlOjpiZWZvcmUsXHJcbiAgICAuYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpudGgtY2hpbGQoMikgLnByaWNlOjpiZWZvcmUsXHJcbiAgICAuYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtNiAuY2FyZCAuY2FyZC1ib2R5Lmxpc3QtYWN0aXZlIC5saXN0LXJvdzpudGgtY2hpbGQoMykgLnByaWNlOjpiZWZvcmV7XHJcbiAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgIHRvcDogN3B4O1xyXG4gICAgfVxyXG4gICAgLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQgLmNhcmQtYm9keSAucHJpY2UgaDJ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIChtYXgtd2lkdGg6IDE2MDBweCl7XHJcbiAgICAuYWRhcHRpdmUtcHJpY2luZyAuY29udGVudC13cmFwcGVyIHB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU1MHB4KTtcclxuICAgIH1cclxufVxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTQ1MHB4KXtcclxuICAgIC5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0xIC5jYXJkLXdyYXBwZXIgLmNhcmR7XHJcbiAgICAgICAgd2lkdGg6IDQzMHB4O1xyXG4gICAgfVxyXG4gICAgLmFkYXB0aXZlLXByaWNpbmcgLmJ1bGxldHMgcHtcclxuICAgICAgICB3aWR0aDogOHB4O1xyXG4gICAgICAgIGhlaWdodDogOHB4O1xyXG4gICAgfVxyXG4gICAgLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQgLmNhcmQtYm9keSAuY2FyZC1uYW1le1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQtdGV4dCBwe1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcclxuICAgIH1cclxufVxyXG5AbWVkaWEgKG1heC1oZWlnaHQ6IDc1MHB4KXtcclxuICAgIC8qIC5hZGFwdGl2ZS1wcmljaW5nIC5jb250ZW50LXdyYXBwZXJ7XHJcbiAgICAgICAgdG9wOiA2MHB4O1xyXG4gICAgfVxyXG4gICAgLmFkYXB0aXZlLXByaWNpbmcgaDJ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH0gKi9cclxufVxyXG5AbWVkaWEgKG1heC1oZWlnaHQ6IDcwMHB4KXtcclxuICAgIC5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0zIC5jYXJkLXdyYXBwZXIgLmNhcmQgLmNhcmQtdGl0bGV7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0zIC5jYXJkIC5jYXJkLWJvZHkgLmltYWdlLXdyYXBwZXJ7XHJcbiAgICAgICAgbWluLXdpZHRoOiA0MnB4O1xyXG4gICAgICAgIGhlaWdodDogNDJweDtcclxuICAgIH1cclxuICAgIC5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0zIC5jYXJkIC5jYXJkLWJvZHkgLmltYWdlLXdyYXBwZXIgaW1ne1xyXG4gICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICB9XHJcbiAgICAuYWRhcHRpdmUtcHJpY2luZyAuc2xpZGUtMyAuY2FyZCAuY2FyZC1ib2R5IC5jYXJkLXRleHQgcHtcclxuICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTEgLmNhcmQgLmNhcmQtaGVhZGVye1xyXG4gICAgICAgIHBhZGRpbmc6IDdweDtcclxuICAgIH1cclxuICAgIC5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0xIC5jYXJkIC5jYXJkLWJvZHl7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxuICAgIC5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0xIC5jYXJkOm50aC1jaGlsZCgyKXtcclxuICAgICAgICB0b3A6IC0zNnB4O1xyXG4gICAgfVxyXG4gICAgLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTEgLmNhcmQtd3JhcHBlciAuY2FyZDpudGgtY2hpbGQoMyl7XHJcbiAgICAgICAgdG9wOiA1MHB4O1xyXG4gICAgfVxyXG4gICAgLmFkYXB0aXZlLXByaWNpbmcgLnNsaWRlLTMgLmNhcmR7XHJcbiAgICAgICAgdG9wOiAtNjBweDtcclxuICAgIH1cclxuICAgIC5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkOm50aC1jaGlsZCgzKXtcclxuICAgICAgICB0b3A6IDBweDtcclxuICAgIH1cclxuICAgIC5hZGFwdGl2ZS1wcmljaW5nIC5zbGlkZS0zIC5jYXJkLXdyYXBwZXIgLmNhcmQgLmNhcmQtdGl0bGV7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDIwcHggMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIH1cclxuICAgIC5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkOm50aC1jaGlsZCgzKSAuY2FyZC1ib2R5e1xyXG4gICAgICAgIG1hcmdpbjogMCAxNXB4O1xyXG4gICAgfVxyXG4gICAgLmFkYXB0aXZlLXByaWNpbmcgLmNhcmQgLmNhcmQtaGVhZGVye1xyXG4gICAgICAgIHBhZGRpbmc6IDE0cHg7XHJcbiAgICB9XHJcbiAgICAuYWRhcHRpdmUtcHJpY2luZyAuY2FyZCAuY2FyZC10aXRsZXtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHggMTBweDtcclxuICAgIH1cclxuICAgIC5hZGFwdGl2ZS1wcmljaW5nIC5jYXJkLXdyYXBwZXIgLmNhcmQgLmNhcmQtYm9keSAubGlzdC1yb3d7XHJcbiAgICAgICAgbWFyZ2luOiAwIDdweCAxMHB4XHJcbiAgICB9XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmF4aXMgcGF0aCwgLmFkYXB0aXZlLXByaWNpbmcgLmF4aXMgbGluZSB7XHJcbiAgICBzdHJva2U6ICNBMTlGQjU7XHJcbn1cclxuLmFkYXB0aXZlLXByaWNpbmcgLmF4aXMgdGV4dCxcclxuLmFkYXB0aXZlLXByaWNpbmcgLmxpbmUteS12YWx1ZS1jdXJyZW5jeSB7XHJcbiAgICBmaWxsOiAjNjU2MTdEO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHRpdGxlQW5pbXtcclxuICAgIDAle1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzNyUpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogY2FsYygxNnB4ICsgKDIwIC0gMTYpICogKDEwMHZ3IC0gMTIwMHB4KSAvICgxOTIwIC0gMTIwMCkpO1xyXG4gICAgfVxyXG4gICAgMjAle1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzNyUpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogY2FsYygzMHB4ICsgKDQwIC0gMzApICogKDEwMHZ3IC0gMTIwMHB4KSAvICgxOTIwIC0gMTIwMCkpO1xyXG4gICAgfVxyXG4gICAgNTAle1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzNyUpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogY2FsYygzMHB4ICsgKDQwIC0gMzApICogKDEwMHZ3IC0gMTIwMHB4KSAvICgxOTIwIC0gMTIwMCkpO1xyXG4gICAgfVxyXG4gICAgNzUle1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgICAgICBmb250LXNpemU6IGNhbGMoMjBweCArICgzMiAtIDIwKSAqICgxMDB2dyAtIDEyMDBweCkgLyAoMTkyMCAtIDEyMDApKTtcclxuICAgIH1cclxuICAgIDEwMCV7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogY2FsYygyMHB4ICsgKDMyIC0gMjApICogKDEwMHZ3IC0gMTIwMHB4KSAvICgxOTIwIC0gMTIwMCkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n Introduction\\r\\n Current Situation\\r\\n Proposed\\r\\n Solution\\r\\n Outcome Situation\\r\\n Benefits\\r\\n \\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n

Adaptive Attribute - based Offers

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
travelstays.com\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{hotel.name}}

\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Location

\\r\\n

{{hotel.rating}} star property

\\r\\n
\\r\\n

\\r\\n Reviews\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

From

\\r\\n

{{pricingData.currencyUnit}}{{hotel.pricePerDay}}

\\r\\n

/night

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
brand.com\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{hotel.name}}

\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Location

\\r\\n

{{hotel.rating}} star property

\\r\\n
\\r\\n

\\r\\n Reviews\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

From

\\r\\n

{{pricingData.currencyUnit}}{{hotel.pricePerDay}}

\\r\\n

/night

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
holidays.com\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{hotel.name}}

\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Location

\\r\\n

{{hotel.rating}} star property

\\r\\n
\\r\\n

\\r\\n Reviews\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

From

\\r\\n

{{pricingData.currencyUnit}}{{hotel.pricePerDay}}

\\r\\n

/night

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Adaptive Attribute - based Offers

\\r\\n

Personalize search ranking and marketing offers by\\r\\n utilizing guest attribute level\\r\\n willingness-to-pay\\r\\n using heterogeneous choice data

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Current Situation

\\r\\n

Offers and Recommendations are generated fairly uniformly for all guests
without any regards\\r\\n to the guest's travel preferences\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Customer Agnostic and Non-Personalized Listing

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{hotel.name}}

\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Location

\\r\\n

{{hotel.rating}} star property

\\r\\n
\\r\\n

\\r\\n Reviews\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

From

\\r\\n

{{pricingData.currencyUnit}}{{hotel.pricePerDay}}

\\r\\n

/night

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Customer Agnostic and Non-Personalized Listing

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{hotel.name}}

\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Location

\\r\\n

{{hotel.rating}} star property

\\r\\n
\\r\\n

\\r\\n Reviews\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

From

\\r\\n

{{pricingData.currencyUnit}}{{hotel.pricePerDay}}

\\r\\n

/night

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Customer Agnostic and Non-Personalized Listing

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{hotel.name}}

\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Location

\\r\\n

{{hotel.rating}} star property

\\r\\n
\\r\\n

\\r\\n Reviews\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

From

\\r\\n

{{pricingData.currencyUnit}}{{hotel.pricePerDay}}

\\r\\n

/night

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Proposed Solution

\\r\\n

Attribute-based recommendation via three-step WTP assessment

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Segment Profile

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n

* Previous 6 months customer data

\\r\\n
\\r\\n
\\r\\n \\r\\n Business traveller\\r\\n
\\r\\n
\\r\\n \\r\\n Domestic\\r\\n
\\r\\n
\\r\\n \\r\\n Late planner\\r\\n
\\r\\n
\\r\\n \\r\\n Weekdays\\r\\n
\\r\\n
\\r\\n \\r\\n 21 nights\\r\\n
\\r\\n
\\r\\n \\r\\n 3 nights\\r\\n
\\r\\n
\\r\\n \\r\\n $109\\r\\n
\\r\\n
\\r\\n \\r\\n 3.5\\r\\n
\\r\\n
\\r\\n \\r\\n $130\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Segment Profile

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n

* Previous 6 months customer data

\\r\\n
\\r\\n
\\r\\n \\r\\n Business traveller\\r\\n
\\r\\n
\\r\\n \\r\\n Domestic\\r\\n
\\r\\n
\\r\\n \\r\\n Late planner\\r\\n
\\r\\n
\\r\\n \\r\\n Weekdays\\r\\n
\\r\\n
\\r\\n \\r\\n 21 nights\\r\\n
\\r\\n
\\r\\n \\r\\n 3 nights\\r\\n
\\r\\n
\\r\\n \\r\\n $109\\r\\n
\\r\\n
\\r\\n \\r\\n 3.5\\r\\n
\\r\\n
\\r\\n \\r\\n $130\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Segment Profile

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n

* Previous 6 months customer data

\\r\\n
\\r\\n
\\r\\n \\r\\n {{selectedTravellerData?.historyData.travellerType}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{selectedTravellerData?.historyData.travelType}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{selectedTravellerData?.historyData.customerType}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{selectedTravellerData?.historyData.checkInDays}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{selectedTravellerData?.historyData.totalNights}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{selectedTravellerData?.historyData.averageLengthOfStay}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{pricingData.currencyUnit}}{{selectedTravellerData?.historyData.averagePricePerNight}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{selectedTravellerData?.historyData.averageReviewScore}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{pricingData.currencyUnit}}{{selectedTravellerData?.historyData.averageDollarSaved}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Proposed Solution

\\r\\n

Attribute-based recommendation via three-step WTP assessment

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Proposed Solution

\\r\\n

Attribute-based recommendation via three-step WTP assessment

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Pricing Tailored Individually

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{hotel.name}}

\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Location

\\r\\n

{{hotel.rating}} star property

\\r\\n
\\r\\n

\\r\\n Reviews\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

From

\\r\\n

{{pricingData.currencyUnit}}{{hotel.pricePerDay}}

\\r\\n

/night

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Pricing Tailored Individually

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{hotel.name}}

\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Location

\\r\\n

{{hotel.rating}} star property

\\r\\n
\\r\\n

\\r\\n Reviews\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

From

\\r\\n

{{pricingData.currencyUnit}}{{hotel.pricePerDay}}

\\r\\n

/night

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Pricing Tailored Individually

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{hotel.name}}

\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Location

\\r\\n

{{hotel.rating}} star property

\\r\\n
\\r\\n

\\r\\n Reviews\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

From

\\r\\n

{{pricingData.currencyUnit}}{{hotel.pricePerDay}}

\\r\\n

/night

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Outcome Situation

\\r\\n

Personalize search ranking and marketing offers by utilizing guest-attribute level
\\r\\n willingness-to-pay using heterogeneous booking choice data

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Pricing and Property/Room recommendations are tailored to guest’s preferences and\\r\\n WTP\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{hotel.name}}

\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Location

\\r\\n

{{hotel.rating}} star property

\\r\\n
\\r\\n

\\r\\n Reviews\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

From

\\r\\n

{{pricingData.currencyUnit}}{{hotel.pricePerDay}}

\\r\\n

/night

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Pricing and Property/Room recommendations are tailored to guest’s preferences and\\r\\n WTP\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{hotel.name}}

\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Location

\\r\\n

{{hotel.rating}} star property

\\r\\n
\\r\\n

\\r\\n Reviews\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

From

\\r\\n

{{pricingData.currencyUnit}}{{hotel.pricePerDay}}

\\r\\n

/night

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Pricing and Property/Room recommendations are tailored to guest’s preferences and\\r\\n WTP\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{hotel.name}}

\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Location

\\r\\n

{{hotel.rating}} star property

\\r\\n
\\r\\n

\\r\\n Reviews\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

From

\\r\\n

{{pricingData.currencyUnit}}{{hotel.pricePerDay}}

\\r\\n

/night

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Case Study

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Benefits

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, ViewEncapsulation, ViewChild, AfterContentInit, AfterViewInit } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { GalleryService } from 'src/app/gallery/gallery.service';\r\nimport { FullpagescrollDirective } from 'src/app/shared/fullpagescroll.directive';\r\nimport data from './data.json';\r\nimport { DataShareService } from 'src/app/shared/data-share.service';\r\ndeclare const d3: any;\r\n\r\n@Component({\r\n selector: 'app-adaptive-pricing',\r\n templateUrl: './adaptive-pricing.component.html',\r\n styleUrls: ['./adaptive-pricing.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AdaptivePricingComponent implements OnInit, AfterContentInit, AfterViewInit {\r\n\r\n @ViewChild('fullPageScroll') fpScroll: FullpagescrollDirective;\r\n\r\n public activeStartSlide = '';\r\n public activeSlide = '';\r\n public pricingData = null;\r\n public previousActiveSlide = [];\r\n public previousTraversedSlide = '';\r\n public addStep = false;\r\n public lastActiveSlide = 'screen-1';\r\n public nextActiveSlide = 'screen-2';\r\n private screens = ['screen-1', 'screen-2', 'screen-3', 'screen-4', 'screen-5', 'screen-6', 'screen-7'];\r\n public isLoading = false;\r\n private _unsubscribeResize = null;\r\n private _svgSection = null;\r\n private isMenuOpen: boolean = true;\r\n private animationStarted = {\r\n screen1: false,\r\n screen2: false,\r\n screen3: false,\r\n screen4: false,\r\n screen5: false,\r\n screen6: false,\r\n screen7: false,\r\n };\r\n public selectedTraveller = null;\r\n public selectedTravellerData = null;\r\n public selectedTravellerHotelData = null;\r\n public isAnimation = false;\r\n public guestSegmentWTP = 0;\r\n public scaleXValue = 1;\r\n public scaleYValue = 1;\r\n public isMouseEnter = false;\r\n public rightSectionCardWidth = 0;\r\n public rightSectionCardAspect = {\r\n width: 0,\r\n left: 0\r\n };\r\n public travellerSectionAspect = {\r\n left: 0,\r\n bottom: 0\r\n };\r\n public htmlClassVariable = {\r\n card: 'card-active',\r\n hotelListLoader: 'card-loader',\r\n hotelList: 'list-active'\r\n };\r\n public svgResize = null;\r\n public indicatorSettings = [\r\n {\r\n id: 1,\r\n label: 'Introduction'\r\n },\r\n {\r\n id: 2,\r\n label: 'Current Situation'\r\n },\r\n {\r\n id: 3,\r\n label: 'Proposed Situation'\r\n },\r\n {\r\n id: 6,\r\n label: 'Outcome Situation'\r\n },\r\n {\r\n id: 7,\r\n label: 'Benefits'\r\n }\r\n ];\r\n public clickActionScreensIndex = [1, 2, 3, 3, 3, 6, 7];\r\n public currentScreenIndex = 1;\r\n public screenWiseSection = {\r\n screen7: {\r\n left: 0\r\n }\r\n }\r\n public currentScrollDirection = 'forward';\r\n\r\n constructor(\r\n private dataShareService: DataShareService\r\n ) {\r\n\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this._unsubscribeResize = fromEvent(window, 'resize').pipe(debounceTime(700)).subscribe(x => {\r\n // console.log(x, this._svgSection);\r\n if (this._svgSection) {\r\n this.svgResize = this._svgSection.resize();\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n\r\n }\r\n checkEventLogs(event) {\r\n // console.log('Event Trigger: ', event.type, event);\r\n }\r\n\r\n onDownArrowClick(sectionId) {\r\n // console.log(\"sectionId: \", sectionId);\r\n if (+this.currentScreenIndex != +sectionId)\r\n this.fpScroll.navigateTo(`screen-${sectionId}`);\r\n }\r\n\r\n changeScrollEvent(event, state: boolean, screenId) {\r\n // event.stopPropagation();\r\n // let el = event.target.closest('.event-wrapper');\r\n // let scrollEl = event.target.closest('.scroll-wrapper');\r\n // let elStyle = window.getComputedStyle(el);\r\n // console.log('event', screenId, elStyle.opacity);\r\n // console.log('changeScrollEvent triggered', screenId, this.activeStartSlide, event.type);\r\n if (this.activeStartSlide == screenId) {\r\n // if (+elStyle.opacity == 1) {\r\n // console.log(\"Card has appeared totally\");\r\n if (event.type === 'mouseenter') {\r\n if (event.srcElement.scrollHeight > event.srcElement.clientHeight) {\r\n this.isMouseEnter = true;\r\n this.fpScroll.setEventState(state);\r\n } else if (this.isMenuOpen && !this.isAnimation) {\r\n // console.log(\"no scroll encountered\");\r\n this.fpScroll.setEventState(!state);\r\n }\r\n } else if (event.type === 'mouseleave') {\r\n this.isMouseEnter = false;\r\n if (this.isMenuOpen && !this.isAnimation) {\r\n this.fpScroll.setEventState(state);\r\n }\r\n }\r\n // }\r\n }\r\n }\r\n\r\n changeDirectiveScrollEvent(state: boolean) {\r\n // console.log('menuState ::', state);\r\n this.isMenuOpen = state;\r\n this.fpScroll.setEventState(state);\r\n this.onAnimationEnd();\r\n }\r\n\r\n restrictScrollAndClick() {\r\n // console.log(\"Inside restrictScrollAndClick function\");\r\n // console.log('restrictScrollAndClick ::', this.isMenuOpen);\r\n if (this.isMenuOpen) {\r\n this.isAnimation = true;\r\n // this.fpScroll.setEventState(!this.isAnimation);\r\n }\r\n }\r\n\r\n onAnimationEnd() {\r\n // console.log('animationEnd :: this.isMenuOpen: ', this.isMenuOpen, '\\t this.isMouseEnter : ', this.isMouseEnter);\r\n if (this.isMenuOpen) {\r\n this.isAnimation = false;\r\n if (!this.isMouseEnter) {\r\n // this.fpScroll.setEventState(!this.isAnimation);\r\n }\r\n }\r\n }\r\n\r\n addClassToDom(selector, className, type = 'id') {\r\n // console.log(\"Inside addClassToDom\");\r\n if (type == 'id')\r\n d3.select(`#${selector}`).classed(className, true)\r\n else\r\n d3.select(`.${selector}`).classed(className, true)\r\n }\r\n\r\n removeClassFromDom(selector, className, type = 'id') {\r\n // console.log(\"Inside removeClassFromDom\");\r\n if (type == 'id')\r\n d3.select(`#${selector}`).classed(className, false);\r\n else\r\n d3.select(`.${selector}`).classed(className, false);\r\n }\r\n\r\n scrollTo(selector, type, x = 0, y = 0) {\r\n if (type == 'id')\r\n document.querySelector(`#${selector}`).scrollTo(x, y);\r\n else\r\n document.querySelectorAll(`.${selector}`).forEach((scrollEl, index) => scrollEl.scrollTo(x, y));\r\n }\r\n\r\n ngOnInit() {\r\n // console.log(\"d3: \", d3);\r\n this.dataShareService.onCustomEvent.next({ event: 'addClassToElement', data: { selector: '#header', class: 'humburger-header' } });\r\n this.pricingData = data;\r\n this.selectedTravellerHotelData = this.pricingData.hotelList['default'];\r\n this.renderStory();\r\n }\r\n\r\n private renderStory() {\r\n this._svgSection = this._initSvgSection('svg-wrapper');\r\n this.activeStartSlide = 'screen-1';\r\n this.activeSlide = 'screen-1';\r\n // this.addClassToDom('slider-1', 'first-time-load', 'id');\r\n // console.log('activeSlide: ', this.activeSlide);\r\n setTimeout(() => {\r\n this.addClassToDom('slider-1', 'first-time-load', 'id');\r\n }, 3000);\r\n this.svgResize = this._svgSection.resize();\r\n setTimeout(() => {\r\n this._svgSection.screenOne.startAnimation(!this.animationStarted.screen1);\r\n this.animationStarted.screen1 = true;\r\n }, 100);\r\n }\r\n\r\n public setTravellerData() {\r\n this.selectedTravellerData = this.pricingData.travellerDetails[this.selectedTraveller];\r\n this.selectedTravellerHotelData = this.pricingData.hotelList[this.selectedTraveller];\r\n }\r\n\r\n public onFullPageSlideChangeStart(event) {\r\n this.previousTraversedSlide = this.activeStartSlide;\r\n if (this.previousActiveSlide.indexOf(event) < 0) {\r\n this.previousActiveSlide.push(this.activeStartSlide);\r\n } else {\r\n this.previousActiveSlide.splice(this.previousActiveSlide.indexOf(this.activeStartSlide), 1);\r\n }\r\n this.activeStartSlide = event;\r\n if ((this.screens.indexOf(this.previousTraversedSlide) - this.screens.indexOf(this.activeStartSlide)) < 0) {\r\n this.currentScrollDirection = 'forward';\r\n } else {\r\n this.currentScrollDirection = 'backward';\r\n }\r\n this.currentScreenIndex = this.clickActionScreensIndex[this.screens.indexOf(this.activeStartSlide)];\r\n this.lastActiveSlide = this.screens[this.screens.indexOf(event) - 1];\r\n const nextSlideIndex = ((this.screens.indexOf(event) + 1) > (this.screens.length - 1)) ? this.screens.indexOf(event) : (this.screens.indexOf(event) + 1);\r\n this.nextActiveSlide = this.screens[nextSlideIndex];\r\n // this._svgSection.changeScreen();\r\n // console.log('previousTraversedSlide: ', this.previousTraversedSlide);\r\n // console.log('activeStartSlide: ', this.activeStartSlide);\r\n if (!(['screen-1', 'screen-2'].includes(this.activeStartSlide))) {\r\n this._svgSection.commonLeftSection.checkAndSetDefaultTraveller();\r\n }\r\n\r\n if (this.activeStartSlide === 'screen-2') {\r\n this._svgSection.screenTwo.resetElements();\r\n } else if (this.activeStartSlide === 'screen-3') {\r\n this._svgSection.screenThree.resetElements();\r\n } else if (this.activeStartSlide === 'screen-4') {\r\n this._svgSection.screenFour.resetElements();\r\n } else if (this.activeStartSlide === 'screen-5') {\r\n this._svgSection.screenFive.resetElements();\r\n } else if (this.activeStartSlide === 'screen-6') {\r\n this._svgSection.screenSix.resetElements();\r\n } else if (this.activeStartSlide === 'screen-7') {\r\n this._svgSection.screenSeven.resetElements();\r\n }\r\n\r\n if (this.previousTraversedSlide === 'screen-2') {\r\n this._svgSection.screenTwo.climaxAnimation();\r\n } else if (this.previousTraversedSlide === 'screen-3') {\r\n this._svgSection.screenThree.climaxAnimation();\r\n } else if (this.previousTraversedSlide === 'screen-4') {\r\n this._svgSection.screenFour.climaxAnimation();\r\n } else if (this.previousTraversedSlide === 'screen-5') {\r\n this._svgSection.screenFive.climaxAnimation();\r\n } else if (this.previousTraversedSlide === 'screen-6') {\r\n this._svgSection.screenSix.climaxAnimation();\r\n } else if (this.previousTraversedSlide === 'screen-7') {\r\n this._svgSection.screenSeven.climaxAnimation();\r\n }\r\n\r\n if (['screen-1', 'screen-2', 'screen-6', 'screen-7'].includes(this.activeStartSlide)) {\r\n this.addStep = false;\r\n }\r\n }\r\n\r\n public onFullPageSlideChangeComplete(event) {\r\n // console.log('onFullPageSlideChangeComplete');\r\n this.activeSlide = event;\r\n\r\n this.scrollTo('scroll-wrapper', 'class', 0, 0);\r\n this._svgSection.screenOne.stopAnimation();\r\n this._svgSection.screenTwo.stopAnimation();\r\n this._svgSection.screenThree.stopAnimation();\r\n this._svgSection.screenFour.stopAnimation();\r\n this._svgSection.screenFive.stopAnimation();\r\n this._svgSection.screenSix.stopAnimation();\r\n this._svgSection.screenSeven.stopAnimation();\r\n\r\n\r\n if (['screen-3', 'screen-4', 'screen-5'].includes(this.activeSlide)) {\r\n setTimeout(() => {\r\n this.addStep = true;\r\n }, 2500);\r\n } else {\r\n this.addStep = false;\r\n }\r\n\r\n if (['screen-1', 'screen-7'].includes(this.activeSlide)) {\r\n this._svgSection.commonLeftSection.manageTravellersGroup();\r\n } else {\r\n this._svgSection.commonLeftSection.manageTravellersGroup(1);\r\n }\r\n // this._svgSection.manageScreenwiseAnimation.changeAnimation();\r\n\r\n switch (event) {\r\n case 'screen-1':\r\n this._svgSection.screenOne.startAnimation(!this.animationStarted.screen1);\r\n this.animationStarted.screen1 = true;\r\n break;\r\n case 'screen-2':\r\n this._svgSection.screenTwo.startAnimation(!this.animationStarted.screen2);\r\n this.animationStarted.screen2 = true;\r\n break;\r\n case 'screen-3':\r\n this._svgSection.screenThree.startAnimation(!this.animationStarted.screen3);\r\n this.animationStarted.screen3 = true;\r\n break;\r\n case 'screen-4':\r\n this._svgSection.screenFour.startAnimation(!this.animationStarted.screen4);\r\n this.animationStarted.screen4 = true;\r\n break;\r\n case 'screen-5':\r\n this._svgSection.screenFive.startAnimation(!this.animationStarted.screen5);\r\n this.animationStarted.screen5 = true;\r\n break;\r\n case 'screen-6':\r\n this._svgSection.screenSix.startAnimation(!this.animationStarted.screen6);\r\n this.animationStarted.screen6 = true;\r\n break;\r\n case 'screen-7':\r\n this._svgSection.screenSeven.startAnimation(!this.animationStarted.screen7);\r\n this.animationStarted.screen1 = true;\r\n break;\r\n }\r\n }\r\n\r\n private _initSvgSection(containerId) {\r\n const that = this;\r\n const container = d3.select('#' + containerId);\r\n const WIDTH = 1920;\r\n const HEIGHT = 969;\r\n // const HEIGHT_OFFSET = 969 / 1920;\r\n const svg = container.append('svg')\r\n .attr('width', WIDTH)\r\n .attr('height', HEIGHT)\r\n // .style('background', 'aliceblue')\r\n .on('click', function () {\r\n // console.log(d3.mouse(this));\r\n });\r\n\r\n const { resize, heightAspect, widthAspect } = this._responsivefy(svg, true);\r\n\r\n const defs = svg.append('defs')\r\n .html(` \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `);\r\n\r\n const line = d3.svg.line()\r\n .x((d) => d[0])\r\n .y((d) => d[1]);\r\n\r\n const addDashedLine = (group, lineData, className, strokeColor = '#000000', strokeDash = '8, 5', strokeWidth = 1, alreadyDraw = true) => {\r\n return group.append('path')\r\n .datum(lineData)\r\n .attr('d', line)\r\n .attr('stroke', strokeColor)\r\n .attr('class', `animate ${className}`)\r\n .attr('stroke-width', strokeWidth)\r\n .attr('stroke-dasharray', function (d: any) {\r\n d.pathLength = d3.select(this).node().getTotalLength();\r\n const dashing = strokeDash;\r\n const dashLength =\r\n dashing\r\n .split(/[\\s,]/)\r\n .map(function (a) { return parseFloat(a) || 0 })\r\n .reduce(function (a, b) { return a + b; });\r\n\r\n const dashCount = Math.ceil(d.pathLength / dashLength);\r\n // console.log('dashLength', dashLength);\r\n // console.log('dashCount', dashCount);\r\n const newDashes = new Array(dashCount).join(dashing + ' ');\r\n const dashArray = newDashes + ' 1 , ' + (d.pathLength + 5);\r\n return dashArray;\r\n })\r\n .attr('stroke-dashoffset', function (d: any) {\r\n return (alreadyDraw ? 0 : d.pathLength);\r\n })\r\n // .attr('stroke-dashoffset', (d: any) => 0)\r\n .attr('fill', 'none');\r\n };\r\n\r\n const addLine = (group, pathData, selector, key, strokeColor = '#000000', strokeWidth = 1, alreadyDraw = true) => {\r\n return group.append('path')\r\n .datum(pathData)\r\n .attr('d', line)\r\n .attr('class', `animate ${selector}`)\r\n .attr('id', `${selector}-${key}`)\r\n .attr('stroke', strokeColor)\r\n .attr('stroke-width', strokeWidth)\r\n // .attr('stroke-dasharray', function (d: any) {\r\n // d.pathLength = d3.select(this).node().getTotalLength();\r\n // return d.pathLength;\r\n // })\r\n // .attr('stroke-dashoffset', function (d: any) {\r\n // return (alreadyDraw ? 0 : d.pathLength);\r\n // })\r\n .attr('fill', 'none');\r\n };\r\n\r\n const addRect = (group, data) => {\r\n return group.append('rect')\r\n .datum(data)\r\n .attr('class', 'class' in data ? data.class : '')\r\n .attr('id', 'id' in data ? data.id : '')\r\n .attr('x', data.x)\r\n .attr('y', data.y)\r\n .attr('width', data.width)\r\n .attr('height', data.height)\r\n .attr('fill', data.fill)\r\n .attr('rx', 'rx' in data ? data.rx : 0)\r\n .style('opacity', 'o' in data ? data.o : 1);\r\n };\r\n\r\n const createImageUsingData = (group, data: { id: string, src: string, height: number, width: number, x: number, y: number, s?: number, o?: number, class?: string, [k: string]: any, finalX?: number, finalY?: number, textStyle?: any }) => {\r\n return group\r\n .append('image')\r\n .datum(data)\r\n .attr('id', (d) => d.id)\r\n .attr('xlink:href', (d) => d.src)\r\n .attr('class', (d) => `${(d.class || d.id)} animate`)\r\n .attr('height', (d) => d.height)\r\n .attr('width', (d) => d.width)\r\n .attr('transform', (d) => `translate(${d.x}, ${d.y}) scale(${(data.s !== void 0) ? data.s : 1})`)\r\n .style('opacity', (d) => (d.o !== void (0)) ? d.o : 1)\r\n .style('textStyle' in data ? data.textStyle : {});\r\n };\r\n\r\n const createTextUsingData = (group, data: { wholeText: any, id: string, x: number, y: number, dy: string, s?: number, o?: number, class?: string, textStyle?: object, finalX?: number, finalY?: number }) => {\r\n const text = group.append('text');\r\n text\r\n .datum(data)\r\n .style('textStyle' in data ? data.textStyle : {})\r\n .attr({\r\n 'class': (d) => d.class !== void (0) ? d.class : '',\r\n 'id': (d) => d.id,\r\n 'transform': (d) => `translate(${d.x},${d.y})`,\r\n })\r\n .style({\r\n 'opacity': 'o' in data ? data.o : 1\r\n });\r\n\r\n data.wholeText.forEach((textPart, index) => {\r\n text.append('tspan')\r\n .attr({\r\n 'dy': 'dy' in textPart ? textPart.dy : data.dy,\r\n 'x': 'x' in textPart ? textPart.x : '',\r\n 'y': 'y' in textPart ? textPart.y : ''\r\n })\r\n .style('textStyle' in textPart ? textPart.textStyle : {})\r\n .text(textPart.text)\r\n });\r\n\r\n return text;\r\n }\r\n\r\n const createCenterBox = (group, data) => {\r\n const centerWraperGroup = group.append('g')\r\n const svgText = createTextUsingData(centerWraperGroup, data.titleText);\r\n\r\n data.imageData.forEach(el => {\r\n createImageUsingData(centerWraperGroup, {\r\n id: el.id,\r\n height: el.height,\r\n width: el.width,\r\n class: el.class,\r\n src: el.src,\r\n x: el.x,\r\n y: el.y,\r\n o: 'o' in el ? el.o : 1,\r\n s: 's' in el ? el.s : 1,\r\n finalX: 'finalX' in el ? el.finalX : 0,\r\n finalY: 'finalY' in el ? el.finalY : 0\r\n })\r\n });\r\n\r\n\r\n return centerWraperGroup;\r\n }\r\n\r\n const dataGroup = svg.append('g')\r\n .attr('id', 'svg-data')\r\n .attr('class', 'svg-data');\r\n\r\n const updateIcons = (group, attributeName = 'hotel', cb = function () { }) => {\r\n // console.log();\r\n const attributes = { ...that.pricingData.travellerDetails[that.selectedTraveller] };\r\n // console.log(attributes);\r\n const totalPreferrence = attributes.attributes[attributeName].reduce((total, obj) => {\r\n const isPreferredCount = obj.isPreffered && obj.isConsidered ? 1 : 0;\r\n return total + isPreferredCount\r\n }, 0);\r\n let count = 0, tempCount = 0;\r\n attributes.attributes[attributeName].map((v, index, arr) => {\r\n // console.log(v)\r\n group.selectAll(`.${v.id}`)\r\n .each(function () {\r\n const selected = d3.select(this)\r\n // selected.attr('xlink:href', `assets/images/adaptive-pricing/${v.id}_grey.svg`);\r\n if (v.isPreffered) {\r\n selected\r\n .transition()\r\n .delay(80 * tempCount)\r\n .duration(100)\r\n .style('opacity', 1)\r\n .attr('xlink:href', `assets/images/adaptive-pricing/${v.id}_red.svg`)\r\n .call(endAll, function () {\r\n count++;\r\n if (count === totalPreferrence) {\r\n // console.log(\"Last icon updated\");\r\n cb();\r\n }\r\n });\r\n tempCount++;\r\n }\r\n });\r\n });\r\n }\r\n\r\n function endAll(tran, callback) {\r\n if ((typeof callback) !== 'function') { throw new Error('Wrong callback in endall'); }\r\n if (tran.size() === 0) { callback(); }\r\n let n = 0;\r\n tran.each(() => { ++n; })\r\n .each('end', function (e) {\r\n if (--n === 0) { callback.apply(this, arguments); }\r\n });\r\n }\r\n\r\n const showText = (group, className, delay = 0, duration = 1000, cb = function () { }) => {\r\n group.selectAll(`.${className}`)\r\n .transition()\r\n .delay(d => 'delay' in d ? d.delay : delay)\r\n .duration(duration)\r\n .style('opacity', 1)\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .call(endAll, cb)\r\n }\r\n\r\n const hideText = (group, className, delay = 0, duration = 1000, cb = function () { }) => {\r\n group.selectAll(`.${className}`)\r\n .transition()\r\n .delay(d => 'delay' in d ? d.delay : delay)\r\n .duration(d => 'duration' in d ? d.duration : duration)\r\n .style('opacity', 0)\r\n .attr('transform', (d) => `translate(${d.x}, ${d.y})`)\r\n .call(endAll, cb)\r\n }\r\n\r\n const operateLine = (group, className, operation: 'draw' | 'hide', delay = 0, duration = 1000, cb = function () { }) => {\r\n group.selectAll(`.${className}`)\r\n .style('opacity', operation === 'hide' ? 0 : 1)\r\n .transition()\r\n .delay(d => 'delay' in d ? d.delay : delay)\r\n .duration(d => 'duration' in d ? d.duration : duration)\r\n .attr('stroke-dashoffset', d => operation === 'hide' ? d.pathLength : 0)\r\n .call(endAll, cb)\r\n }\r\n\r\n const showImage = (group, className, delay = 0, duration = 1000, cb = function () { }) => {\r\n group.selectAll(`.${className}`)\r\n .transition()\r\n .delay(d => 'delay' in d ? d.delay : delay)\r\n .duration(d => 'duration' in d ? d.duration : duration)\r\n .attr('transform', (d: any) => `translate(${d.finalX}, ${d.finalY}) scale(1)`)\r\n .call(endAll, cb)\r\n }\r\n\r\n const hideImage = (group, className, delay = 0, duration = 1000, cb = function () { }) => {\r\n group.selectAll(`.${className}`)\r\n .transition()\r\n .delay(d => 'delay' in d ? d.delay : delay)\r\n .duration(d => 'duration' in d ? d.duration : duration)\r\n .attr('transform', (d: any) => `translate(${d.x}, ${d.y}) scale(0)`)\r\n .call(endAll, cb)\r\n }\r\n\r\n const showGroup = (group, className, delay = 0, duration = 1000, cb = function () { }) => {\r\n group.selectAll(`.${className}`)\r\n .transition()\r\n .delay(d => 'delay' in d ? d.delay : delay)\r\n .duration(d => 'duration' in d ? d.duration : duration)\r\n .attr('transform', (d: any) => `translate(${d.finalX}, ${d.finalY}) scale(1)`)\r\n .style('opacity', 1)\r\n .call(endAll, cb)\r\n }\r\n\r\n let baseImage = '';\r\n\r\n const image = dataGroup.append('image')\r\n .attr('xlink:href', baseImage)\r\n .attr('class', 'base-image-group')\r\n .attr('height', 969)\r\n .attr('width', 1920)\r\n .attr('id', 'img');\r\n\r\n const screenSeven = (() => {\r\n const currentProcess = dataGroup.append('g')\r\n .attr('id', 'screen-7-group')\r\n .attr('class', 'screen-7-group')\r\n .style('opacity', 1);\r\n\r\n const caseStudyGroup = currentProcess.append('g')\r\n .attr('id', 'case-study-group')\r\n .attr('class', 'case-study-group');\r\n\r\n const benefitsGroup = currentProcess.append('g')\r\n .attr('id', 'benefits-group')\r\n .attr('class', 'benefits-group')\r\n .attr('transform', 'translate(-50,0)');\r\n\r\n // TODO LEFT SECTION\r\n const dataSummaryData = {\r\n titleContent: {\r\n background: {\r\n id: 'data-summary-background-screen-7',\r\n width: 244,\r\n height: 165,\r\n src: 'assets/images/adaptive-pricing/text_box_4.svg',\r\n x: 125,\r\n y: 530.5,\r\n finalX: 3,\r\n finalY: 448,\r\n class: 'screen-7 data-summary-bg background animate screen-7-images',\r\n s: 0,\r\n o: 1\r\n },\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Data',\r\n dy: '0em',\r\n x: 0\r\n }, {\r\n text: 'Summary',\r\n dy: '1.2em',\r\n x: 0\r\n }],\r\n id: 'screen-data-summary-title-text-screen-7',\r\n class: 'screen-data-summary-title-text-screen-7 screen-7-text',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 24,\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400,\r\n },\r\n }\r\n },\r\n dataContent: [\r\n {\r\n background: {\r\n id: 'pie-bg-1',\r\n width: 277,\r\n height: 256,\r\n src: 'assets/images/adaptive-pricing/pie_bg_1.svg',\r\n x: 142,\r\n y: 236,\r\n finalX: 142,\r\n finalY: 236,\r\n class: 'screen-7 pie background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 1\r\n },\r\n text: {\r\n wholeText: [\r\n {\r\n text: '169K',\r\n dy: '0em',\r\n x: 0,\r\n y: 0,\r\n textStyle: {\r\n 'font-size': 40,\r\n }\r\n },\r\n {\r\n text: 'Guest',\r\n dy: '0em',\r\n x: 0,\r\n y: 25,\r\n textStyle: {\r\n 'font-size': 16,\r\n }\r\n },\r\n {\r\n text: 'bookings',\r\n dy: '0em',\r\n x: 0,\r\n y: 44,\r\n textStyle: {\r\n 'font-size': 16,\r\n }\r\n }\r\n ],\r\n id: 'pie-1-text',\r\n class: 'pie-1-text screen-7-text',\r\n x: 223,\r\n y: 350,\r\n dy: '0em',\r\n finalX: 223,\r\n finalY: 350,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'fill': '#FFFFFF',\r\n 'font-weight': 400,\r\n },\r\n }\r\n },\r\n {\r\n background: {\r\n id: 'pie-bg-2',\r\n width: 255,\r\n height: 278,\r\n src: 'assets/images/adaptive-pricing/pie_bg_2.svg',\r\n x: 218,\r\n y: 375,\r\n finalX: 218,\r\n finalY: 375,\r\n class: 'screen-7 pie background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 1\r\n },\r\n text: {\r\n wholeText: [\r\n {\r\n text: '39K',\r\n dy: '0em',\r\n x: 0,\r\n y: 0,\r\n textStyle: {\r\n 'font-size': 40,\r\n }\r\n },\r\n {\r\n text: 'Unique hotels',\r\n dy: '0em',\r\n x: 0,\r\n y: 25,\r\n textStyle: {\r\n 'font-size': 16,\r\n }\r\n },\r\n {\r\n text: 'listed',\r\n dy: '0em',\r\n x: 0,\r\n y: 44,\r\n textStyle: {\r\n 'font-size': 16,\r\n }\r\n }\r\n ],\r\n id: 'pie-2-text',\r\n class: 'pie-2-text screen-7-text',\r\n x: 305,\r\n y: 529,\r\n dy: '0em',\r\n finalX: 305,\r\n finalY: 529,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'fill': '#FFFFFF',\r\n 'font-weight': 400,\r\n },\r\n }\r\n },\r\n {\r\n background: {\r\n id: 'pie-bg-3',\r\n width: 255,\r\n height: 275,\r\n src: 'assets/images/adaptive-pricing/pie_bg_3.svg',\r\n x: 135,\r\n y: 592,\r\n finalX: 135,\r\n finalY: 592,\r\n class: 'screen-7 pie background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 1\r\n },\r\n text: {\r\n wholeText: [\r\n {\r\n text: '26',\r\n dy: '0em',\r\n x: 0,\r\n y: 0,\r\n textStyle: {\r\n 'font-size': 40,\r\n }\r\n },\r\n {\r\n text: 'Hotels',\r\n dy: '0em',\r\n x: 0,\r\n y: 25,\r\n textStyle: {\r\n 'font-size': 16,\r\n }\r\n },\r\n {\r\n text: 'alternatives',\r\n dy: '0em',\r\n x: 0,\r\n y: 44,\r\n textStyle: {\r\n 'font-size': 16,\r\n }\r\n }\r\n ],\r\n id: 'pie-3-text',\r\n class: 'pie-3-text screen-7-text',\r\n x: 242,\r\n y: 699,\r\n dy: '0em',\r\n finalX: 242,\r\n finalY: 699,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'fill': '#FFFFFF',\r\n 'font-weight': 400,\r\n },\r\n }\r\n },\r\n ]\r\n };\r\n\r\n const impactData = {\r\n titleContent: {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Impact'\r\n }],\r\n id: 'screen-impact-title-text-screen-7',\r\n class: 'screen-impact-title-text-screen-7 screen-7-text',\r\n x: 521,\r\n y: 250,\r\n dy: '0em',\r\n finalX: 521,\r\n finalY: 260,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 24,\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400,\r\n },\r\n }\r\n },\r\n dataContent: [\r\n {\r\n background: {\r\n id: 'impact-list-bg-1',\r\n width: 500,\r\n height: 223,\r\n src: 'assets/images/adaptive-pricing/impact_list_bg_box.svg',\r\n x: 438,\r\n y: 300,\r\n finalX: 438,\r\n finalY: 300,\r\n class: 'screen-7 impact-list background impact-list-background animate screen-7-images',\r\n s: 1,\r\n o: 1\r\n },\r\n text: [\r\n {\r\n wholeText: [\r\n {\r\n text: '14%',\r\n dy: '0em',\r\n x: 0,\r\n y: 0,\r\n }\r\n ],\r\n id: 'impact-list-value-1-text',\r\n class: 'impact-list-value-1-text screen-7-text',\r\n x: 509,\r\n y: 420.5,\r\n dy: '0em',\r\n finalX: 509,\r\n finalY: 420.5,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'fill': '#D6781E',\r\n 'font-weight': 400,\r\n 'font-size': 32,\r\n },\r\n },\r\n {\r\n wholeText: [\r\n {\r\n text: 'Increased in booking conversion',\r\n dy: '0em',\r\n x: 0,\r\n y: 0,\r\n },\r\n {\r\n text: 'rate in top 10 recommended',\r\n dy: '0em',\r\n x: 0,\r\n y: 25,\r\n },\r\n {\r\n text: 'properties from the incumbent',\r\n dy: '0em',\r\n x: 0,\r\n y: 50,\r\n },\r\n {\r\n text: 'ranking algorithm',\r\n dy: '0em',\r\n x: 0,\r\n y: 75,\r\n }\r\n ],\r\n id: 'impact-list-label-1-text',\r\n class: 'impact-list-label-1-text screen-7-text',\r\n x: 601,\r\n y: 379,\r\n dy: '0em',\r\n finalX: 601,\r\n finalY: 379,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'fill': '#000000',\r\n 'font-weight': 400,\r\n 'font-size': 16,\r\n },\r\n }\r\n ]\r\n },\r\n {\r\n background: {\r\n id: 'impact-list-bg-2',\r\n width: 500,\r\n height: 223,\r\n src: 'assets/images/adaptive-pricing/impact_list_bg_box.svg',\r\n x: 438,\r\n y: 312,\r\n finalX: 438,\r\n finalY: 312,\r\n class: 'screen-7 impact-list background impact-list-background animate screen-7-images',\r\n s: 1,\r\n o: 1\r\n },\r\n text: [\r\n {\r\n wholeText: [\r\n {\r\n text: '19%',\r\n dy: '0em',\r\n x: 0,\r\n y: 0,\r\n }\r\n ],\r\n id: 'impact-list-value-2-text',\r\n class: 'impact-list-value-2-text screen-7-text',\r\n x: 509,\r\n y: 434,\r\n dy: '0em',\r\n finalX: 509,\r\n finalY: 434,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'fill': '#D6781E',\r\n 'font-weight': 400,\r\n 'font-size': 32,\r\n },\r\n },\r\n {\r\n wholeText: [\r\n {\r\n // text: 'uplift in NDCG value from',\r\n text: 'Uplift in engagement via booked/',\r\n dy: '0em',\r\n x: 0,\r\n y: 0,\r\n },\r\n {\r\n // text: 'the incumbent ranking',\r\n text: 'clicked properties, as measured using',\r\n dy: '0em',\r\n x: 0,\r\n y: 25,\r\n },\r\n {\r\n // text: 'algorithm',\r\n text: 'NDCG (Normalized Discounted',\r\n dy: '0em',\r\n x: 0,\r\n y: 50,\r\n },\r\n {\r\n // text: 'algorithm',\r\n text: 'Cumulative Gain) a metric measuring',\r\n dy: '0em',\r\n x: 0,\r\n y: 75,\r\n },\r\n {\r\n // text: 'algorithm',\r\n text: 'goodness of recommendations',\r\n dy: '0em',\r\n x: 0,\r\n y: 100,\r\n }\r\n ],\r\n id: 'impact-list-label-2-text',\r\n class: 'impact-list-label-2-text screen-7-text',\r\n x: 601,\r\n y: 379,\r\n dy: '0em',\r\n finalX: 601,\r\n finalY: 379,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'fill': '#000000',\r\n 'font-weight': 400,\r\n 'font-size': 16,\r\n },\r\n }\r\n ]\r\n },\r\n {\r\n background: {\r\n id: 'impact-list-bg-3',\r\n width: 500,\r\n height: 223,\r\n src: 'assets/images/adaptive-pricing/impact_list_bg_box.svg',\r\n x: 438,\r\n y: 320,\r\n finalX: 438,\r\n finalY: 320,\r\n class: 'screen-7 impact-list background impact-list-background animate screen-7-images',\r\n s: 1,\r\n o: 1\r\n },\r\n text: [\r\n {\r\n wholeText: [\r\n {\r\n text: '$54K',\r\n dy: '0em',\r\n x: 0,\r\n y: 0,\r\n }\r\n ],\r\n id: 'impact-list-value-3-text',\r\n class: 'impact-list-value-3-text screen-7-text',\r\n x: 509,\r\n y: 444,\r\n dy: '0em',\r\n finalX: 509,\r\n finalY: 444,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'fill': '#D6781E',\r\n 'font-weight': 400,\r\n 'font-size': 32,\r\n },\r\n },\r\n {\r\n wholeText: [\r\n {\r\n text: 'Average excess potential for the',\r\n dy: '0em',\r\n x: 0,\r\n y: 0,\r\n },\r\n {\r\n text: 'business bookings (difference of',\r\n dy: '0em',\r\n x: 0,\r\n y: 25,\r\n },\r\n {\r\n text: 'Guest’s assessed WTP and the',\r\n dy: '0em',\r\n x: 0,\r\n y: 50,\r\n },\r\n {\r\n text: 'booked property price) for engaging in',\r\n dy: '0em',\r\n x: 0,\r\n y: 75,\r\n },\r\n {\r\n text: 'better cross-sell/up-sell',\r\n dy: '0em',\r\n x: 0,\r\n y: 100,\r\n }\r\n ],\r\n id: 'impact-list-label-3-text',\r\n class: 'impact-list-label-3-text screen-7-text',\r\n x: 601,\r\n y: 389,\r\n dy: '0em',\r\n finalX: 601,\r\n finalY: 389,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'fill': '#000000',\r\n 'font-weight': 400,\r\n 'font-size': 16,\r\n },\r\n }\r\n ]\r\n },\r\n ],\r\n dataGroupContent: [\r\n {\r\n x: 0,\r\n y: -100,\r\n finalX: 0,\r\n finalY: -50,\r\n s: 1,\r\n o: 0\r\n },\r\n {\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 120,\r\n s: 1,\r\n o: 0\r\n },\r\n {\r\n x: 0,\r\n y: 132,\r\n finalX: 0,\r\n finalY: 295,\r\n s: 1,\r\n o: 0\r\n },\r\n ]\r\n }\r\n const dataSummarySection = caseStudyGroup.append('g')\r\n .attr({\r\n 'class': 'data-summary-group',\r\n 'id': 'data-summary-group',\r\n });\r\n\r\n // Data-Summary SECTION\r\n dataSummaryData.dataContent.forEach((content, index) => {\r\n const group = dataSummarySection\r\n .append('g')\r\n .datum({\r\n x: 126,\r\n y: 526,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 0,\r\n o: 0\r\n })\r\n .attr({\r\n 'class': `pie-group pie-group-${index}`,\r\n 'id': `pie-group-${index}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(${d.s})`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n createTextUsingData(group, content.text);\r\n });\r\n\r\n createImageUsingData(dataSummarySection, dataSummaryData.titleContent.background);\r\n createTextUsingData(dataSummarySection, dataSummaryData.titleContent.text);\r\n\r\n const impactSection = caseStudyGroup.append('g')\r\n .attr({\r\n 'class': 'impact-group',\r\n 'id': 'impact-group',\r\n });\r\n\r\n // Impact SECTION\r\n createTextUsingData(impactSection, impactData.titleContent.text);\r\n impactData.dataContent.reverse().forEach((content, index, arr) => {\r\n const key = arr.length - 1 - index;\r\n const group = impactSection\r\n .append('g')\r\n .datum(impactData.dataGroupContent[key])\r\n .attr({\r\n 'class': `impact-list-group impact-list-group-${key}`,\r\n 'id': `impact-list-group-${key}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(${d.s})`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n createTextUsingData(group, content.text[0]);\r\n createTextUsingData(group, content.text[1]);\r\n });\r\n\r\n\r\n // TODO RIGHT SECTION\r\n const benefitListGroup = benefitsGroup.append('g')\r\n .attr('id', 'benefit-list-group')\r\n .attr('class', 'benefit-list-group');\r\n\r\n const benefitsListData = {\r\n lines: [\r\n [[1083, 492.5], [1083, 242]],\r\n [[1083, 492.5], [1083, 741]],\r\n // [[1029, 246], [1051, 246]],\r\n [[1083, 242], [1143, 242]],\r\n [[1083, 407], [1143, 407]],\r\n [[1083, 571], [1143, 571]],\r\n [[1083, 741], [1143, 741]],\r\n ],\r\n listData: {\r\n background: {\r\n id: 'benefit-list-background-rect-screen-7',\r\n width: 0,\r\n height: 506,\r\n finalWidth: 777,\r\n fill: 'url(#linear-gradient-white)',\r\n x: 1098,\r\n y: 194,\r\n // finalX: 1244,\r\n // finalY: 156,\r\n rx: 30,\r\n class: 'screen-7 benefit-list benefit-list-background animate',\r\n s: 1,\r\n o: 1\r\n },\r\n textData: [\r\n {\r\n wholeText: [\r\n {\r\n text: 'Pre-check in: Ability to bundle marketing offers and engage in',\r\n // textStyle: {\r\n // 'font-weight': 500,\r\n // }\r\n },\r\n {\r\n text: ' ancillary or room based cross-sell/up-sell',\r\n x: -5,\r\n dy: '1.3em',\r\n }\r\n ],\r\n id: 'benefit-list-text-1-screen-7',\r\n class: 'benefit-list-text-1-screen-7 screen-7-text',\r\n x: 1145,\r\n y: 193,\r\n dy: '0em',\r\n finalX: 1245,\r\n finalY: 193,\r\n o: 0,\r\n textStyle: {\r\n // 'text-anchor': 'middle',\r\n 'font-size': 20,\r\n 'font-weight': 400,\r\n 'fill': '#3f3d56'\r\n }\r\n },\r\n {\r\n wholeText: [\r\n {\r\n text: 'Post-check in: Targeting curated ancillaries and concierge services',\r\n // textStyle: {\r\n // 'font-weight': 500,\r\n // }\r\n },\r\n // {\r\n // text: ' creative cross-sell/up-sell',\r\n // x: -5,\r\n // dy: '1.3em',\r\n // }\r\n ],\r\n id: 'benefit-list-text-2-screen-7',\r\n class: 'benefit-list-text-2-screen-7 screen-7-text',\r\n x: 1145,\r\n y: 354,\r\n dy: '0em',\r\n finalX: 1245,\r\n finalY: 354,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'left',\r\n 'font-size': 20,\r\n 'font-weight': 400,\r\n 'fill': '#3f3d56'\r\n }\r\n },\r\n {\r\n wholeText: [\r\n {\r\n text: 'Framework for evolving marketing and pricing strategy towards',\r\n // textStyle: {\r\n // 'font-weight': 500,\r\n // }\r\n },\r\n {\r\n text: ' Attribute-Based Selling model',\r\n x: -5,\r\n dy: '1.3em',\r\n }\r\n ],\r\n id: 'benefit-list-text-3-screen-7',\r\n class: 'benefit-list-text-3-screen-7 screen-7-text',\r\n x: 1145,\r\n y: 524,\r\n dy: '0em',\r\n finalX: 1245,\r\n finalY: 524,\r\n o: 0,\r\n textStyle: {\r\n // 'text-anchor': 'middle',\r\n 'font-size': 20,\r\n 'font-weight': 400,\r\n 'fill': '#3f3d56'\r\n }\r\n },\r\n {\r\n wholeText: [\r\n {\r\n text: 'More personalized offerings and better digital brand engagement,',\r\n // textStyle: {\r\n // 'font-weight': 500,\r\n // }\r\n },\r\n {\r\n text: ' thus an enhanced customer experience',\r\n x: -5,\r\n dy: '1.3em',\r\n }\r\n ],\r\n id: 'benefit-list-text-4-screen-7',\r\n class: 'benefit-list-text-4-screen-7 screen-7-text',\r\n x: 1145,\r\n y: 690,\r\n dy: '0em',\r\n finalX: 1245,\r\n finalY: 690,\r\n o: 0,\r\n textStyle: {\r\n // 'text-anchor': 'middle',\r\n 'font-size': 20,\r\n 'font-weight': 400,\r\n 'fill': '#3f3d56'\r\n }\r\n }\r\n ]\r\n }\r\n };\r\n\r\n // createImageUsingData(benefitListGroup, { ...benefitsListData.titleBackgroundData.imageData[0] });\r\n // createTextUsingData(benefitListGroup, { ...benefitsListData.titleBackgroundData.titleText });\r\n // addRect(benefitListGroup, { ...benefitsListData.listData.background });\r\n benefitsListData.lines.forEach((el, i) => {\r\n let index = i;\r\n if (index === 0 || index === 1) {\r\n index = 0;\r\n } else {\r\n index = index - 1;\r\n }\r\n addDashedLine(benefitListGroup, el, 'list-line benefit-list-line-' + index, '#C94573', '4, 3', 1, false);\r\n // addLine(benefitListGroup, el, 'list-line benefit-list-line-', index);\r\n });\r\n\r\n benefitsListData.listData.textData.forEach((el, i) => {\r\n const textGroup = benefitListGroup.append('g')\r\n\r\n textGroup\r\n .datum({ ...el })\r\n .attr('class', 'benefit-list-text-group-' + (i + 1) + '-screen-7');\r\n\r\n const backgroundData = { ...benefitsListData.listData.background };\r\n\r\n backgroundData.id = `benefit-list-text-background-${(i + 1)}-screen-7`;\r\n backgroundData.x = el.x;\r\n backgroundData.y = el.y;\r\n backgroundData.height = 100;\r\n backgroundData.class += ` benefit-list-text-background-${(i + 1)}-screen-7`;\r\n\r\n addRect(textGroup, { ...backgroundData });\r\n const text = createTextUsingData(textGroup, { ...el, finalX: (el.finalX - 43) });\r\n text.datum({ ...el, finalX: (el.finalX - 43), y: el.y + ((100 - text.node().getBBox().height) / 2), finalY: el.y + ((100 - text.node().getBBox().height) / 2) });\r\n text.style('dominant-baseline', 'text-before-edge');\r\n text.attr('transform', (d: any) => `translate(${d.x} , ${(el.y + ((100 - text.node().getBBox().height) / 2))})`);\r\n });\r\n\r\n const screen7LeftSection = currentProcess.append('circle')\r\n .attr({\r\n 'cx': 1030,\r\n 'cy': 320,\r\n 'r': 5,\r\n // 'fill': 'black',\r\n 'fill': 'none',\r\n });\r\n\r\n function showList(group, className, startIndex, endIndex, cb) {\r\n operateLine(group, className + '-list-line-' + startIndex, 'draw', 0, 100, function () {\r\n group.select('.' + className + '-list-text-background-' + startIndex + '-screen-7')\r\n .transition()\r\n .delay(0)\r\n .duration(250)\r\n .attr('width', (d: any) => d.finalWidth)\r\n .call(endAll, function () {\r\n showText(group, className + '-list-text-' + startIndex + '-screen-7', 0, 200, function () {\r\n if (startIndex <= endIndex) {\r\n startIndex++;\r\n showList(group, className, startIndex, endIndex, cb);\r\n } else {\r\n cb();\r\n }\r\n })\r\n })\r\n\r\n })\r\n }\r\n\r\n function benefitAnimation(group, className, endIndex, cb = function () { }) {\r\n // showImage(group, 'benefits-background-' + className + '-title-bg', 0, 300, function () {\r\n // showText(group, 'benefits-' + className + '-title-screen-7', 0, 100, function () {\r\n operateLine(group, className + '-list-line-0', 'draw', 0, 300, function () {\r\n showList(group, className, 1, endIndex, cb);\r\n })\r\n // })\r\n // })\r\n }\r\n\r\n function initiateAnimation() {\r\n const htmlDelayValue = 500;\r\n showImage(dataSummarySection, 'data-summary-bg', htmlDelayValue, 300, function () {\r\n showText(dataSummarySection, 'screen-data-summary-title-text-screen-7', 0, 100, function () {\r\n showGroup(dataSummarySection, 'pie-group-0', 50, 250, function () {\r\n showGroup(dataSummarySection, 'pie-group-1', 50, 250, function () {\r\n showGroup(dataSummarySection, 'pie-group-2', 50, 250, function () {\r\n showText(impactSection, 'screen-impact-title-text-screen-7', 100, 100, function () {\r\n showGroup(impactSection, 'impact-list-group-0', 50, 250, function () {\r\n showGroup(impactSection, 'impact-list-group-1', 50, 250, function () {\r\n showGroup(impactSection, 'impact-list-group-2', 50, 250, function () {\r\n // // TODO class add remaining\r\n that.addClassToDom('benefit-right-section', 'benefit-active');\r\n benefitListGroup\r\n .transition()\r\n .delay(htmlDelayValue)\r\n .duration(0)\r\n .call(endAll, function () {\r\n benefitAnimation(benefitListGroup, 'benefit', benefitsListData.listData.textData.length + 1, function () {\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n }\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n // // console.log('screen-7 startAnimation');\r\n // baseImage = '/assets/images/adaptive-pricing/7.png';\r\n // image.attr('xlink:href', baseImage);\r\n currentProcess.style('opacity', 1);\r\n if (isFirst) {\r\n initiateAnimation();\r\n }\r\n that.onAnimationEnd();\r\n },\r\n climaxAnimation() {\r\n currentProcess\r\n .transition()\r\n .duration(300)\r\n .style('opacity', 0);\r\n },\r\n resetElements() {\r\n\r\n },\r\n stopAnimation() {\r\n // currentProcess.interrupt();\r\n currentProcess.style('opacity', 0);\r\n },\r\n groups: {\r\n screen7LeftSection\r\n }\r\n }\r\n })();\r\n\r\n const screenOne = (() => {\r\n const currentProcess = dataGroup.append('g')\r\n .attr('id', 'screen-1-group')\r\n .attr('class', 'screen-1-group')\r\n .style('opacity', 1);\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n // console.log('screen-1 startAnimation');\r\n // baseImage = '';\r\n // baseImage = '/assets/images/adaptive-pricing/1.png';\r\n // image.attr('xlink:href', baseImage);\r\n that.onAnimationEnd();\r\n commonLeftSection.manageTravellersGroup();\r\n },\r\n stopAnimation() {\r\n // currentProcess.interrupt();\r\n currentProcess.style('opacity', 0);\r\n }\r\n }\r\n })();\r\n\r\n const screenTwo = (() => {\r\n const currentProcess = dataGroup.append('g')\r\n .attr('id', 'screen-2-group')\r\n .attr('class', 'screen-2-group')\r\n .style('opacity', 0);\r\n\r\n const travelLeftLineGroup = currentProcess.append('g')\r\n .attr('class', 'travel-lines-screen-2');\r\n\r\n const travelLeftLines = [{\r\n line: [[293, 318], [378, 320], [426, 542], [472, 542]],\r\n type: 'solo'\r\n }, {\r\n line: [[292, 498], [378, 498], [426, 542], [472, 542]],\r\n type: 'business'\r\n }, {\r\n line: [[291, 673], [377, 673], [426, 542], [472, 542]],\r\n type: 'couple'\r\n }, {\r\n line: [[291, 845], [378, 845], [426, 542], [472, 542]],\r\n type: 'group'\r\n }];\r\n\r\n travelLeftLines.forEach((data, index) => {\r\n // console.log(data);\r\n const line = addDashedLine(travelLeftLineGroup, data.line, `screen-2 travel-line ${data.type}`, '#65617d', '5,4');\r\n line.attr('stroke-dashoffset', d => d.pathLength);\r\n });\r\n\r\n const centerLeftLineGroup = currentProcess.append('g')\r\n .attr('class', 'center-left-lines-screen-2');\r\n\r\n const centerLeftLines = [{\r\n line: [[472, 542], [472, 476], [505, 447]],\r\n type: 'top'\r\n }, {\r\n line: [[472, 542], [472, 612], [506, 648]],\r\n type: 'bottom'\r\n }];\r\n\r\n centerLeftLines.forEach((data, index) => {\r\n const line = addDashedLine(centerLeftLineGroup, data.line, `screen-2 screen-2-lines center-left-line ${data.type}`, '#65617d', '5,4');\r\n line.attr('stroke-dashoffset', (d) => d.pathLength);\r\n });\r\n\r\n const middleSection = currentProcess.append('g')\r\n .attr('transform', 'translate(488, 360)');\r\n\r\n const screenTwoCenterData = {\r\n titleText: {\r\n wholeText: [{\r\n text: 'Hotel',\r\n textStyle: {\r\n 'font-weight': 500,\r\n }\r\n }, {\r\n text: ' Attributes',\r\n textStyle: {\r\n }\r\n }],\r\n id: 'screen-title-text-screen-2',\r\n class: 'screen-title-text-screen-2 screen-2-text',\r\n x: 336,\r\n y: 0,\r\n finalX: 336,\r\n finalY: 10,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 19,\r\n 'fill': '#3f3d56'\r\n }\r\n },\r\n imageData: [\r\n {\r\n id: 'center-image-background-screen-2',\r\n height: 172,\r\n width: 672,\r\n src: 'assets/images/adaptive-pricing/box.svg',\r\n x: 0,\r\n y: 86,\r\n finalX: 0,\r\n finalY: 0,\r\n class: 'screen-2 center background animate screen-2-images',\r\n s: 0\r\n }, {\r\n id: 'center-brand-screen-2',\r\n height: 65,\r\n width: 44,\r\n src: 'assets/images/adaptive-pricing/brand_grey.svg',\r\n finalX: 98,\r\n finalY: 55,\r\n x: 98,\r\n y: 45,\r\n class: 'screen-2 center icon brand animate screen-2-images',\r\n o: 0\r\n }, {\r\n id: 'center-location-screen-2',\r\n height: 65,\r\n width: 56,\r\n src: 'assets/images/adaptive-pricing/location_grey.svg',\r\n finalX: 200,\r\n finalY: 55,\r\n x: 200,\r\n y: 45,\r\n class: 'screen-2 center icon location animate screen-2-images',\r\n o: 0\r\n }, {\r\n id: 'center-star-screen-2',\r\n height: 64,\r\n width: 37,\r\n src: 'assets/images/adaptive-pricing/star_grey.svg',\r\n finalX: 318,\r\n finalY: 55,\r\n x: 318,\r\n y: 45,\r\n class: 'screen-2 center icon star animate screen-2-images',\r\n o: 0\r\n }, {\r\n id: 'center-review-screen-2',\r\n height: 62,\r\n width: 52,\r\n src: 'assets/images/adaptive-pricing/review_grey.svg',\r\n finalX: 418,\r\n finalY: 58,\r\n x: 418,\r\n y: 48,\r\n class: 'screen-2 center icon review animate screen-2-images',\r\n o: 0\r\n }, {\r\n id: 'center-discount-screen-2',\r\n height: 64,\r\n width: 56,\r\n src: 'assets/images/adaptive-pricing/discount_grey.svg',\r\n finalX: 530,\r\n finalY: 56,\r\n x: 530,\r\n y: 46,\r\n class: 'screen-2 center icon discount animate screen-2-images',\r\n o: 0\r\n }]\r\n };\r\n\r\n createTextUsingData(currentProcess, {\r\n wholeText: [{\r\n text: 'Attribute Unique to Each Guest',\r\n textStyle: {\r\n 'font-weight': 500,\r\n }\r\n }],\r\n id: 'screen-other-title-text-screen-2',\r\n class: 'screen-other-title-text-screen-2 screen-2-text',\r\n x: 824,\r\n y: 299,\r\n dy: '0em',\r\n finalX: 824,\r\n finalY: 309,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 19,\r\n 'fill': '#3f3d56'\r\n }\r\n });\r\n\r\n createCenterBox(middleSection, screenTwoCenterData);\r\n\r\n const middleBottomSection = currentProcess.append('g')\r\n .attr('transform', 'translate(488, 572)');\r\n\r\n const screenTwoBottomData = {\r\n titleText: {\r\n wholeText: [{\r\n text: 'In-room',\r\n textStyle: {\r\n 'font-weight': 500,\r\n }\r\n }, {\r\n text: ' Attributes',\r\n textStyle: {\r\n }\r\n }],\r\n id: 'screen-title-bottom-text-screen-2',\r\n class: 'screen-title-bottom-text-screen-2 screen-2-text',\r\n x: 336,\r\n y: 0,\r\n finalX: 336,\r\n finalY: 10,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 18,\r\n 'fill': '#3f3d56'\r\n }\r\n },\r\n imageData: [\r\n {\r\n id: 'center-image-background-bottom-screen-2',\r\n width: 672,\r\n height: 172,\r\n src: 'assets/images/adaptive-pricing/box.svg',\r\n x: 0,\r\n y: 86,\r\n finalX: 0,\r\n finalY: 0,\r\n class: 'screen-2 center background animate screen-2-images',\r\n s: 0\r\n },\r\n {\r\n id: 'center-bed-screen-2',\r\n height: 60,\r\n width: 66,\r\n src: 'assets/images/adaptive-pricing/bed_grey.svg',\r\n x: 84,\r\n y: 50,\r\n finalX: 84,\r\n finalY: 60,\r\n class: 'screen-2 center icon bed animate screen-2-images',\r\n o: 0\r\n },\r\n {\r\n id: 'center-wifi-screen-2',\r\n height: 62,\r\n width: 96,\r\n src: 'assets/images/adaptive-pricing/wifi_grey.svg',\r\n x: 191,\r\n y: 48,\r\n finalX: 191,\r\n finalY: 58,\r\n class: 'screen-2 center icon wifi animate screen-2-images',\r\n o: 0\r\n },\r\n {\r\n id: 'center-bar-screen-2',\r\n height: 60,\r\n width: 63,\r\n src: 'assets/images/adaptive-pricing/bar_grey.svg',\r\n x: 328,\r\n y: 46,\r\n finalX: 328,\r\n finalY: 56,\r\n class: 'screen-2 center icon bar animate screen-2-images',\r\n o: 0\r\n },\r\n {\r\n id: 'center-balcony-screen-2',\r\n height: 62,\r\n width: 48,\r\n src: 'assets/images/adaptive-pricing/balcony_grey.svg',\r\n x: 431,\r\n y: 48,\r\n finalX: 431,\r\n finalY: 58,\r\n class: 'screen-2 center icon balcony animate screen-2-images',\r\n o: 0\r\n },\r\n {\r\n id: 'center-kitchen-screen-2',\r\n height: 62,\r\n width: 48,\r\n src: 'assets/images/adaptive-pricing/kitchen_grey.svg',\r\n x: 524,\r\n y: 47,\r\n finalX: 524,\r\n finalY: 57,\r\n class: 'screen-2 center icon kitchen animate screen-2-images',\r\n o: 0\r\n },\r\n ]\r\n };\r\n\r\n createCenterBox(middleBottomSection, screenTwoBottomData);\r\n\r\n function updateCenterIcons(delay) {\r\n // console.log('end');\r\n that.addClassToDom('screen-two-right-section', that.htmlClassVariable.card);\r\n setTimeout(function () {\r\n initialAnimationEnd();\r\n }, delay)\r\n }\r\n\r\n function startMiddleSectionAnimation(group, className, attribute, cb = function () { }) {\r\n showText(group, className, 0, 500);\r\n showImage(group, 'center'\r\n , 0, 500, function () {\r\n group.selectAll('.icon')\r\n .transition()\r\n .delay((d, i) => i * 10)\r\n .duration(200)\r\n .style('opacity', 1)\r\n .attr({\r\n 'transform': (d: any) => `translate(${d.finalX}, ${d.finalY})`,\r\n 'xlink:href': (d: any) => d.src\r\n })\r\n .transition()\r\n .delay(500)\r\n .call(endAll, function (d, i) {\r\n // console.log('All attributes have been visible');\r\n updateIcons(group, attribute, function () {\r\n //add class(card-active) to right section\r\n cb();\r\n });\r\n })\r\n }\r\n )\r\n }\r\n\r\n function endAnimation() {\r\n // console.log('Inside endAnimation');\r\n const selection = middleSection.selectAll('.icon')\r\n selection[0].reverse();\r\n const bottomSelection = middleBottomSection.selectAll('.icon')\r\n bottomSelection[0].reverse();\r\n //remove class(card-active) from right section\r\n that.removeClassFromDom('screen-two-right-section', that.htmlClassVariable.card);\r\n\r\n bottomSelection\r\n .transition()\r\n .delay((d, i) => i * 10)\r\n .duration(10)\r\n .style('opacity', 0)\r\n .attr('transform', (d: any) => `translate(${d.x}, ${d.y})`)\r\n\r\n selection\r\n .transition()\r\n .delay((d, i) => i * 10)\r\n .duration(10)\r\n .style('opacity', 0)\r\n .attr('transform', (d: any) => `translate(${d.x}, ${d.y})`)\r\n .call(endAll, function () {\r\n // console.log('On ENALL endAnimation');\r\n hideText(currentProcess, 'screen-other-title-text-screen-2', 0, 0);\r\n operateLine(centerLeftLineGroup, 'center-left-line', 'hide', 0, 0);\r\n operateLine(travelLeftLineGroup, 'travel-line', 'hide', 0, 10);\r\n hideImage(middleSection, 'center', 0, 10);\r\n hideImage(middleBottomSection, 'center', 0, 10);\r\n hideText(middleSection, 'screen-title-text-screen-2', 0, 10);\r\n hideText(middleBottomSection, 'screen-title-bottom-text-screen-2', 0, 10);\r\n })\r\n }\r\n\r\n function updateTravellerPreference() {\r\n middleBottomSection.selectAll('.icon')\r\n .transition()\r\n .duration(5)\r\n .attr({\r\n 'xlink:href': (d: any) => d.src\r\n })\r\n\r\n middleSection.selectAll('.icon')\r\n .transition()\r\n .duration(5)\r\n .attr({\r\n 'xlink:href': (d: any) => d.src\r\n })\r\n .call(endAll, function (d, i) {\r\n operateLine(centerLeftLineGroup, 'center-left-line', 'hide', 0, 100, function () {\r\n operateLine(travelLeftLineGroup, 'travel-line', 'hide', 0, 100, function () {\r\n operateLine(travelLeftLineGroup, that.selectedTraveller, 'draw', 0, 400, function () {\r\n operateLine(centerLeftLineGroup, 'top', 'draw', 0, 400, function () {\r\n updateIcons(middleSection, 'hotel', function () { initialAnimationEnd() });\r\n })\r\n operateLine(centerLeftLineGroup, 'bottom', 'draw', 0, 400, function () {\r\n updateIcons(middleBottomSection, 'inRoom');\r\n })\r\n })\r\n }\r\n );\r\n })\r\n\r\n });\r\n }\r\n\r\n function startLeftToMiddleAnimation() {\r\n // console.log('Screen 2 animation start');\r\n operateLine(travelLeftLineGroup, 'travel-line', 'hide', 0, 0, function () {\r\n operateLine(travelLeftLineGroup, that.selectedTraveller, 'draw', 0, 400, function () {\r\n operateLine(centerLeftLineGroup, 'center-left-line', 'hide', 0, 0, function () {\r\n showText(currentProcess, 'screen-other-title-text-screen-2', 0, 400, function () { })\r\n operateLine(centerLeftLineGroup, 'bottom', 'draw', 0, 400)\r\n operateLine(centerLeftLineGroup, 'top', 'draw', 0, 400, function () {\r\n startMiddleSectionAnimation(middleSection, 'screen-title-text-screen-2', 'hotel', function () { updateCenterIcons(500) })\r\n startMiddleSectionAnimation(middleBottomSection, 'screen-title-bottom-text-screen-2', 'inRoom', function () { });\r\n })\r\n\r\n })\r\n\r\n })\r\n });\r\n }\r\n\r\n function resetElements() {\r\n // console.log('=================Inside screen2 hideElements function');\r\n operateLine(travelLeftLineGroup, 'travel-line', 'hide', 0, 0);\r\n operateLine(centerLeftLineGroup, 'center-left-line', 'hide', 0, 0);\r\n hideImage(middleSection, 'screen-2-images', 0, 0);\r\n hideImage(middleSection, 'screen-2-text', 0, 0);\r\n hideImage(middleBottomSection, 'screen-2-images', 0, 0);\r\n hideImage(middleBottomSection, 'screen-2-text', 0, 0);\r\n }\r\n\r\n function initialAnimationEnd() {\r\n that.onAnimationEnd();\r\n }\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n // console.log('screen-2 startAnimation');\r\n // baseImage = '';\r\n // baseImage = '/assets/images/adaptive-pricing/2.png';\r\n // image.attr('xlink:href', baseImage);\r\n // that.isAnimation = true;\r\n that.restrictScrollAndClick();\r\n currentProcess\r\n .transition()\r\n .delay(2000)\r\n .style('opacity', 1)\r\n .call(endAll, function () {\r\n commonLeftSection.animateTravellers();\r\n });\r\n },\r\n climaxAnimation() {\r\n // console.log('Screen 2 climaxAnimation Triggered');\r\n // that.isAnimation = true;\r\n currentProcess.transition();\r\n that.restrictScrollAndClick();\r\n endAnimation();\r\n },\r\n stopAnimation() {\r\n // console.log('Screen 2 stop animation');\r\n // currentProcess.interrupt();\r\n currentProcess.style('opacity', 0);\r\n },\r\n updateTravellerPreference,\r\n startLeftToMiddleAnimation,\r\n resetElements() {\r\n that.restrictScrollAndClick();\r\n resetElements();\r\n }\r\n }\r\n })();\r\n\r\n const screenThree = (() => {\r\n const currentProcess = dataGroup.append('g')\r\n .attr('id', 'screen-3-group')\r\n .attr('class', 'screen-3-group')\r\n .style('opacity', 0);\r\n\r\n const stepData = {\r\n bottomText: {\r\n wholeText: [\r\n {\r\n text: 'Segmentation to create',\r\n dy: '0em',\r\n y: 0,\r\n // x: -58,\r\n x: 0,\r\n },\r\n // {\r\n // text: ' & ',\r\n // dy: '0em',\r\n // y: 0,\r\n // x: 83\r\n // },\r\n {\r\n text: ' homogenized behavioral cohorts',\r\n dy: '1.2em',\r\n y: 0,\r\n x: 0\r\n }\r\n ],\r\n id: 'screen-3-step-bottom-text',\r\n class: 'screen-3 first-step-bottom-text screen-3-text',\r\n x: 833,\r\n y: 243,\r\n dy: '0em',\r\n finalX: 833,\r\n finalY: 253,\r\n o: 0,\r\n textStyle: {\r\n 'font-weight': 400,\r\n 'text-anchor': 'middle',\r\n 'font-size': 18,\r\n 'fill': '#C94573'\r\n // 'font-weight': 500,\r\n // 'fill': '#3f3d56'\r\n }\r\n },\r\n mainData: {\r\n id: 'screen-3-step-1',\r\n class: 'first-step-image step-background screen-3-images',\r\n x: 832,\r\n y: 196,\r\n finalX: 622,\r\n finalY: 116,\r\n width: 420,\r\n height: 160,\r\n src: '/assets/images/adaptive-pricing/step-bg.svg',\r\n o: 1,\r\n s: 0,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Step 1:',\r\n dy: '0em',\r\n y: 0,\r\n x: 0,\r\n textStyle: {\r\n // 'font-weight': 500,\r\n 'fill': '#C94573'\r\n }\r\n },\r\n {\r\n text: 'Analyzing booking intent',\r\n dy: '0em',\r\n y: 0,\r\n x: 66\r\n }\r\n ],\r\n id: 'screen-3-step-text',\r\n class: 'screen-3 first-step screen-3-text',\r\n x: 690,\r\n y: 194,\r\n dy: '0em',\r\n finalX: 690,\r\n finalY: 204,\r\n o: 0,\r\n textStyle: {\r\n // 'text-anchor': 'middle',\r\n 'font-size': 20,\r\n 'font-weight': 500,\r\n 'fill': '#3f3d56'\r\n }\r\n }\r\n }\r\n };\r\n\r\n const octopus = {\r\n id: 'octopus-center',\r\n class: 'octopus-center screen-3-images',\r\n x: 837,\r\n y: 605,\r\n finalX: 712,\r\n finalY: 528,\r\n width: 250,\r\n height: 154,\r\n src: '/assets/images/adaptive-pricing/highlighted_box.svg',\r\n o: 1,\r\n s: 0,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Attributes',\r\n dy: '0em',\r\n y: 0,\r\n x: 0\r\n },\r\n {\r\n text: 'of',\r\n dy: '1.3em',\r\n y: 0,\r\n x: 0\r\n },\r\n {\r\n text: 'Segmentation',\r\n dy: '2.3em',\r\n y: 0,\r\n x: 0\r\n },\r\n ],\r\n id: 'octopus-center-title',\r\n class: 'screen-3 octopus-center-title screen-3-text',\r\n x: 838,\r\n y: 591,\r\n dy: '0em',\r\n finalX: 838,\r\n finalY: 591,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 18,\r\n 'font-weight': 500,\r\n 'fill': '#bc5d7d'\r\n }\r\n }\r\n };\r\n\r\n const octopusLegsData = [\r\n {\r\n line: [[791, 554], [791, 511], [755, 479]],\r\n class: 'pair-1',\r\n duration: 100,\r\n delay: 0,\r\n model: {\r\n src: '/assets/images/adaptive-pricing/text_box.svg',\r\n x: 648,\r\n y: 458,\r\n id: '',\r\n class: '',\r\n finalX: 514,\r\n finalY: 411,\r\n width: 268,\r\n height: 94,\r\n s: 0,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Length of stay',\r\n }\r\n ],\r\n id: '',\r\n class: '',\r\n dy: '0em',\r\n x: 860,\r\n y: 340,\r\n finalX: 860,\r\n finaly: 340,\r\n o: 0,\r\n textStyle: {\r\n 'dy': '0.4em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '18',\r\n 'fill': '#3f3d56'\r\n }\r\n }\r\n }\r\n },\r\n {\r\n line: [[885, 554], [885, 511], [921, 479]],\r\n class: 'pair-1',\r\n duration: 100,\r\n delay: 100,\r\n model: {\r\n src: '/assets/images/adaptive-pricing/text_yellow_box.svg',\r\n x: 1058,\r\n y: 478,\r\n id: '',\r\n class: '',\r\n finalX: 903,\r\n finalY: 425,\r\n width: 310,\r\n height: 106,\r\n s: 0,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Past dollars spent',\r\n dy: '0.4em'\r\n }\r\n ],\r\n id: '',\r\n class: '',\r\n dy: '0em',\r\n x: 440,\r\n y: 440,\r\n finalX: 440,\r\n finalY: 440,\r\n o: 0,\r\n textStyle: {\r\n 'dy': '0.4em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '18',\r\n 'fill': '#3f3d56'\r\n }\r\n }\r\n }\r\n },\r\n {\r\n line: [[742, 587], [713, 587], [681, 552]],\r\n class: 'pair-1',\r\n duration: 100,\r\n delay: 100,\r\n model: {\r\n src: '/assets/images/adaptive-pricing/text_box.svg',\r\n x: 571,\r\n y: 533,\r\n id: '',\r\n class: '',\r\n finalX: 437,\r\n finalY: 486,\r\n width: 268,\r\n height: 94,\r\n s: 0,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Booking lead time',\r\n }\r\n ],\r\n id: '',\r\n class: '',\r\n dy: '0em',\r\n x: 955,\r\n y: 440,\r\n finalX: 955,\r\n finalY: 440,\r\n o: 0,\r\n textStyle: {\r\n 'dy': '0.4em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '18',\r\n 'fill': '#3f3d56'\r\n }\r\n }\r\n }\r\n },\r\n {\r\n line: [[936, 589], [972, 589], [992, 570]],\r\n class: 'pair-1',\r\n duration: 100,\r\n delay: 100,\r\n model: {\r\n src: '/assets/images/adaptive-pricing/text_yellow_box.svg',\r\n x: 1123,\r\n y: 564,\r\n id: '',\r\n class: '',\r\n finalX: 968,\r\n finalY: 511,\r\n width: 310,\r\n height: 106,\r\n s: 0,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Past total night stayed',\r\n dy: '0.4em'\r\n }\r\n ],\r\n id: '',\r\n class: '',\r\n dy: '0em',\r\n x: 440,\r\n y: 440,\r\n finalX: 440,\r\n finalY: 440,\r\n o: 0,\r\n textStyle: {\r\n 'dy': '0.4em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '18',\r\n 'fill': '#3f3d56'\r\n }\r\n }\r\n }\r\n },\r\n {\r\n line: [[738, 602], [646, 602]],\r\n class: 'pair-2',\r\n duration: 100,\r\n delay: 200,\r\n model: {\r\n src: '/assets/images/adaptive-pricing/text_box.svg',\r\n x: 528,\r\n y: 609,\r\n id: '',\r\n class: '',\r\n finalX: 394,\r\n finalY: 562,\r\n width: 268,\r\n height: 94,\r\n s: 0,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Destination location',\r\n }\r\n ],\r\n id: '',\r\n class: '',\r\n dy: '0em',\r\n x: 440,\r\n y: 548,\r\n finalX: 392,\r\n finalY: 562,\r\n o: 0,\r\n textStyle: {\r\n 'dy': '0.4em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '18',\r\n 'fill': '#3f3d56'\r\n }\r\n }\r\n }\r\n },\r\n {\r\n line: [[741, 617], [714, 617], [683, 652]],\r\n class: 'pair-3',\r\n duration: 100,\r\n delay: 200,\r\n model: {\r\n src: '/assets/images/adaptive-pricing/text_box.svg',\r\n x: 570,\r\n y: 688,\r\n id: '',\r\n class: '',\r\n finalX: 436,\r\n finalY: 641,\r\n width: 268,\r\n height: 94,\r\n s: 0,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Travel type',\r\n }\r\n ],\r\n id: '',\r\n class: '',\r\n dy: '0em',\r\n x: 955,\r\n y: 548,\r\n finalX: 955,\r\n finalY: 548,\r\n o: 0,\r\n textStyle: {\r\n 'dy': '0.4em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '18',\r\n 'fill': '#3f3d56'\r\n }\r\n }\r\n\r\n }\r\n },\r\n {\r\n line: [[936, 620], [972, 620], [992, 639]],\r\n class: 'pair-3',\r\n duration: 100,\r\n delay: 200,\r\n model: {\r\n src: '/assets/images/adaptive-pricing/text_yellow_box.svg',\r\n x: 1123,\r\n y: 643,\r\n id: '',\r\n class: '',\r\n finalX: 968,\r\n finalY: 590,\r\n width: 310,\r\n height: 106,\r\n s: 0,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Past star rating ref.',\r\n dy: '0.4em'\r\n }\r\n ],\r\n id: '',\r\n class: '',\r\n dy: '0em',\r\n x: 440,\r\n y: 548,\r\n finalX: 440,\r\n finalY: 548,\r\n o: 0,\r\n textStyle: {\r\n 'dy': '0.4em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '18',\r\n 'fill': '#3f3d56'\r\n }\r\n }\r\n }\r\n },\r\n {\r\n line: [[791, 655], [791, 698], [753, 734]],\r\n class: 'pair-3',\r\n duration: 100,\r\n delay: 300,\r\n model: {\r\n src: '/assets/images/adaptive-pricing/text_box.svg',\r\n x: 647,\r\n y: 762,\r\n id: '',\r\n class: '',\r\n finalX: 513,\r\n finalY: 715,\r\n width: 268,\r\n height: 94,\r\n s: 0,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Weekend/day travel',\r\n }\r\n ],\r\n id: '',\r\n class: '',\r\n dy: '0em',\r\n x: 860,\r\n y: 650,\r\n finalX: 860,\r\n finalY: 650,\r\n o: 0,\r\n textStyle: {\r\n 'dy': '0.4em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '18',\r\n 'fill': '#3f3d56'\r\n }\r\n }\r\n }\r\n },\r\n {\r\n line: [[885, 655], [885, 698], [921, 734]],\r\n class: 'pair-3',\r\n duration: 100,\r\n delay: 200,\r\n model: {\r\n src: '/assets/images/adaptive-pricing/text_yellow_box.svg',\r\n x: 1060,\r\n y: 731,\r\n id: '',\r\n class: '',\r\n finalX: 905,\r\n finalY: 678,\r\n width: 310,\r\n height: 106,\r\n s: 0,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Past ancillary interactions',\r\n dy: '0.4em'\r\n }\r\n ],\r\n id: '',\r\n class: '',\r\n dy: '0em',\r\n x: 440,\r\n y: 548,\r\n finalX: 440,\r\n finalY: 548,\r\n o: 0,\r\n textStyle: {\r\n 'dy': '0.4em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '18',\r\n 'fill': '#3f3d56'\r\n }\r\n }\r\n }\r\n }\r\n ];\r\n\r\n const middleGroup = currentProcess.append('g')\r\n .attr({\r\n 'class': 'middle-group',\r\n 'id': 'middle-group',\r\n 'transform': `translate(0, 0)`\r\n });\r\n\r\n const octopusBackgroundGroup = middleGroup.append('g')\r\n .attr({\r\n 'class': 'octopus-background-group',\r\n 'id': 'octopus-background-group',\r\n 'transform': 'translate(0, 0)'\r\n });\r\n\r\n const octopusGroup = middleGroup.append('g')\r\n .attr({\r\n 'class': 'octopus-group',\r\n 'id': 'octopus-group',\r\n 'transform': 'translate(0, 0)'\r\n });\r\n\r\n const stepGroup = middleGroup.append('g')\r\n .attr({\r\n 'class': 'step-group',\r\n 'id': 'step-group',\r\n 'transform': 'translate(0, 0)'\r\n });\r\n\r\n createImageUsingData(stepGroup, { ...stepData.mainData });\r\n\r\n createTextUsingData(stepGroup, { ...stepData.mainData.text });\r\n createTextUsingData(stepGroup, { ...stepData.bottomText });\r\n\r\n const backgroundData = {\r\n leftText: {\r\n wholeText: [{\r\n text: 'Current booking facets',\r\n textStyle: {\r\n 'font-weight': 500,\r\n }\r\n }],\r\n id: 'octopus-background-left-text-screen-3',\r\n class: 'octopus-background-left-text-screen-3 octopus-background-text left-text',\r\n x: 661,\r\n y: 376,\r\n finalX: 661,\r\n finalY: 386,\r\n dy: '0em',\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 18,\r\n 'fill': '#3f3d56'\r\n }\r\n },\r\n rightText: {\r\n wholeText: [{\r\n text: 'Guest\\'s historical preferences',\r\n textStyle: {\r\n 'font-weight': 500,\r\n }\r\n }],\r\n id: 'octopus-background-right-text-screen-3',\r\n class: 'octopus-background-right-text-screen-3 octopus-background-text right-text',\r\n x: 1045,\r\n y: 376,\r\n finalX: 1045,\r\n finalY: 386,\r\n dy: '0em',\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 18,\r\n 'fill': '#3f3d56'\r\n }\r\n },\r\n rectData: [\r\n {\r\n id: 'octopus-background-left-rect-screen-3',\r\n width: 0,\r\n height: 550,\r\n finalWidth: 483,\r\n fill: 'url(#linear-gradient)',\r\n x: 840,\r\n y: 326,\r\n finalX: 357,\r\n finalY: 0,\r\n class: 'screen-3 left background animate',\r\n s: 1,\r\n o: 1\r\n }, {\r\n id: 'octopus-background-right-rect-screen-3',\r\n width: 0,\r\n height: 550,\r\n finalWidth: 483,\r\n x: 840,\r\n y: 326,\r\n fill: 'url(#linear-gradient-grey)',\r\n finalX: 103,\r\n finalY: 58,\r\n class: 'screen-3 right background animate',\r\n s: 1,\r\n o: 1\r\n }\r\n ]\r\n };\r\n\r\n addRect(octopusBackgroundGroup, { ...backgroundData.rectData[0] });\r\n addRect(octopusBackgroundGroup, { ...backgroundData.rectData[1] });\r\n createTextUsingData(octopusBackgroundGroup, { ...backgroundData.leftText });\r\n createTextUsingData(octopusBackgroundGroup, { ...backgroundData.rightText });\r\n\r\n const octopusLegsGroup = octopusGroup.append('g')\r\n .attr({\r\n 'class': 'octopus-legs-group',\r\n 'id': 'octopus-legs-group',\r\n })\r\n .style('font-weight', '400');\r\n\r\n createImageUsingData(octopusGroup, { ...octopus });\r\n\r\n createTextUsingData(octopusGroup, { ...octopus.text })\r\n\r\n octopusLegsData.forEach((leg, index) => {\r\n const group = octopusLegsGroup.append('g')\r\n .attr({\r\n 'class': 'octopus-leg-group',\r\n 'id': `octopus-leg-group-${index}`,\r\n });\r\n const line = addDashedLine(group, leg.line, `screen-3-lines octopus-base-line line-${leg.class}`, '#65617d', '5,4');\r\n line.attr('stroke-dashoffset', d => d.pathLength)\r\n\r\n leg.model.class = `screen-3-images octopus-toe text-background-${leg.class}`;\r\n leg.model.id = `octopus-toe-${index}`;\r\n\r\n createImageUsingData(group, { ...leg.model });\r\n\r\n leg.model.text.id = `text-${leg.class}`;\r\n leg.model.text.class = `screen-3-text text-${leg.class}`;\r\n leg.model.text.x = leg.model.finalX + (leg.model.width / 2);\r\n leg.model.text.y = leg.model.finalY + leg.model.height / 2;\r\n leg.model.text.finalX = leg.model.finalX + (leg.model.width / 2);\r\n leg.model.text.finalY = (leg.model.finalY + (leg.model.height / 2));\r\n\r\n createTextUsingData(group, { ...leg.model.text })\r\n })\r\n\r\n function initAnimation() {\r\n showImage(stepGroup, 'first-step-image', 0, 300, function () {\r\n showText(stepGroup, 'first-step', 0, 200, function () {\r\n showText(stepGroup, 'first-step-bottom-text', 0, 200, function () {\r\n showImage(octopusGroup, 'octopus-center', 0, 300, function () {\r\n showText(octopusGroup, 'octopus-center-title', 0, 200, function () {\r\n octopusBackgroundGroup.select('.left')\r\n .transition()\r\n .delay(200)\r\n .duration(300)\r\n .attr('width', (d: any) => d.finalWidth)\r\n .attr('x', (d: any) => d.finalX)\r\n\r\n octopusBackgroundGroup.select('.right')\r\n .transition()\r\n .delay(200)\r\n .duration(300)\r\n .attr('width', (d: any) => d.finalWidth)\r\n .call(endAll, function () {\r\n showText(octopusBackgroundGroup, 'left-text', 0, 200, function () { })\r\n showText(octopusBackgroundGroup, 'right-text', 0, 200, function () { })\r\n let index = 1;\r\n function opctopusRepeat(index, maxValue) {\r\n operateLine(octopusLegsGroup, `line-pair-${index}`, 'draw', 0, 100, function () {\r\n showImage(octopusLegsGroup, `text-background-pair-${index}`, 0, 200, function () {\r\n showText(octopusLegsGroup, `text-pair-${index}`, 0, 100, function () {\r\n index++;\r\n if (index <= maxValue) {\r\n opctopusRepeat(index, maxValue);\r\n } else {\r\n //add class(card-active) to right section\r\n that.addClassToDom('screen-three-right-section', that.htmlClassVariable.card);\r\n setTimeout(function () {\r\n // console.log(\"screen three initial animation done\");\r\n initialAnimationEnd();\r\n }, 500);\r\n }\r\n })\r\n })\r\n })\r\n }\r\n opctopusRepeat(1, 3)\r\n });\r\n })\r\n })\r\n\r\n\r\n })\r\n })\r\n })\r\n\r\n }\r\n\r\n function initialAnimationEnd() {\r\n that.onAnimationEnd();\r\n }\r\n\r\n function endAnimation() {\r\n function opctopusRepeat(index, maxValue) {\r\n hideText(octopusLegsGroup, `text-pair-${index}`, 0, 10, function () {\r\n hideImage(octopusLegsGroup, `text-background-pair-${index}`, 0, 10, function () {\r\n operateLine(octopusLegsGroup, `line-pair-${index}`, 'hide', 0, 10, function () {\r\n index--;\r\n if (index >= maxValue) {\r\n opctopusRepeat(index, maxValue);\r\n } else {\r\n hideText(octopusGroup, 'octopus-center-title', 0, 10, function () {\r\n hideImage(octopusGroup, 'octopus-center', 0, 10)\r\n hideText(octopusBackgroundGroup, 'left-text', 0, 10, function () { })\r\n hideText(octopusBackgroundGroup, 'right-text', 0, 10, function () { })\r\n\r\n octopusBackgroundGroup.select('.left')\r\n .transition()\r\n .duration(10)\r\n .attr('width', (d: any) => d.width)\r\n .attr('x', (d: any) => d.x)\r\n\r\n octopusBackgroundGroup.select('.right')\r\n .transition()\r\n .duration(10)\r\n .attr('width', (d: any) => d.width)\r\n\r\n hideText(stepGroup, 'first-step-bottom-text', 0, 10, function () {\r\n hideText(stepGroup, 'first-step', 0, 10);\r\n hideImage(stepGroup, 'first-step-image', 0, 10);\r\n })\r\n })\r\n }\r\n })\r\n })\r\n })\r\n }\r\n //remove class(card-active) from right section\r\n that.removeClassFromDom('screen-three-right-section', that.htmlClassVariable.card);\r\n opctopusRepeat(3, 1);\r\n }\r\n\r\n function resetElements() {\r\n // console.log('=================Inside screen3 hideElements function');\r\n operateLine(middleGroup, 'screen-3-lines', 'hide', 0, 0);\r\n hideImage(middleGroup, 'screen-3-images', 0, 0);\r\n hideText(middleGroup, 'screen-3-text', 0, 0);\r\n }\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n // that.isAnimation = true;\r\n // // console.log('screen-3 startAnimation');\r\n // baseImage = '';\r\n // baseImage = '/assets/images/adaptive-pricing/3.png';\r\n // image.attr('xlink:href', baseImage);\r\n that.restrictScrollAndClick();\r\n currentProcess\r\n .transition()\r\n .delay(that.currentScrollDirection == 'backward' ? 0 : 2000)\r\n .style('opacity', 1)\r\n .call(endAll, function () {\r\n initAnimation();\r\n });\r\n },\r\n climaxAnimation() {\r\n // that.isAnimation = true;\r\n currentProcess.transition();\r\n that.restrictScrollAndClick();\r\n endAnimation();\r\n // that.restrictScrollAndClick();\r\n },\r\n stopAnimation() {\r\n // currentProcess.interrupt();\r\n currentProcess.style('opacity', 0);\r\n },\r\n resetElements() {\r\n resetElements();\r\n }\r\n }\r\n })();\r\n\r\n const screenFour = (() => {\r\n const stepData = {\r\n bottomText: {\r\n wholeText: [\r\n {\r\n text: 'Estimate guest\\'s level WTP using segment-level',\r\n dy: '0em',\r\n y: 0,\r\n x: 0\r\n },\r\n {\r\n text: 'preferences as priors',\r\n dy: '1.2em',\r\n y: 0,\r\n x: 0\r\n }\r\n ],\r\n id: 'screen-4-step-bottom-text',\r\n class: 'screen-4 second-step-bottom-text',\r\n x: 773,\r\n y: 243,\r\n dy: '0em',\r\n finalX: 773,\r\n finalY: 253,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 18,\r\n 'font-weight': 400,\r\n 'fill': '#c94573'\r\n }\r\n },\r\n mainData: {\r\n id: 'screen-4-step-2',\r\n class: 'second-step-image step-background',\r\n x: 772,\r\n y: 176,\r\n finalX: 562,\r\n finalY: 116,\r\n width: 420,\r\n height: 160,\r\n src: '/assets/images/adaptive-pricing/step-bg.svg',\r\n o: 1,\r\n s: 0,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Step 2:',\r\n dy: '0em',\r\n y: 0,\r\n x: 0,\r\n textStyle: {\r\n 'fill': '#C94573'\r\n }\r\n },\r\n {\r\n text: 'WTP Assessment',\r\n dy: '0em',\r\n y: 0,\r\n x: 66\r\n }\r\n ],\r\n id: 'screen-4-step-text',\r\n class: 'screen-4 second-step',\r\n x: 660,\r\n y: 194,\r\n dy: '0em',\r\n finalX: 660,\r\n finalY: 204,\r\n o: 0,\r\n textStyle: {\r\n // 'text-anchor': 'middle',\r\n 'font-size': 20,\r\n 'font-weight': 500,\r\n 'fill': '#3f3d56'\r\n }\r\n }\r\n }\r\n };\r\n\r\n const middleBlockContent = {\r\n title: {\r\n wholeText: [\r\n {\r\n text: 'Decision Choice',\r\n textStyle: {\r\n 'font-weight': 500\r\n }\r\n }, {\r\n text: ' Modeling'\r\n }\r\n ],\r\n id: 'screen-4-title-center',\r\n class: 'title-center screen-4-text',\r\n dy: '0em',\r\n x: 300,\r\n y: -5,\r\n finalX: 300,\r\n finalY: 5,\r\n textStyle: {\r\n 'font-size': '22',\r\n 'text-anchor': 'middle',\r\n 'fill': '#3f3d56'\r\n }\r\n },\r\n images: [\r\n {\r\n id: 'rrm-block-screen-4',\r\n height: 154,\r\n width: 660,\r\n src: 'assets/images/adaptive-pricing/robust_regression_model.svg',\r\n x: 330,\r\n y: 77,\r\n finalX: -30,\r\n finalY: 10,\r\n s: 0,\r\n class: 'screen-4 center rrm-block animate screen-4-images'\r\n }, {\r\n id: 'brain-image',\r\n height: 57,\r\n width: 57,\r\n src: 'assets/images/adaptive-pricing/brain.svg',\r\n x: 299,\r\n y: 85.5,\r\n finalX: 271,\r\n finalY: 57,\r\n s: 0,\r\n class: 'screen-4 center brain-image animate screen-4-images'\r\n }],\r\n contents: [{\r\n x: 66,\r\n y: 71,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Booked Property'\r\n }\r\n ],\r\n id: '',\r\n class: 'concept-title screen-4-text',\r\n x: 0,\r\n y: -10,\r\n finalX: 0,\r\n finalY: 0,\r\n dy: '0em',\r\n o: 0,\r\n textStyle: {\r\n 'fill': '#3f3d56',\r\n 'font-size': '16',\r\n 'text-anchor': 'start',\r\n 'font-weight': '500'\r\n },\r\n\r\n properties: [{\r\n wholeText: [\r\n {\r\n text: '- Hotel attributes'\r\n }\r\n ],\r\n id: '',\r\n class: 'concept-props-1 screen-4-text',\r\n x: 0,\r\n y: -9,\r\n dy: '1.5em',\r\n finalX: 0,\r\n finalY: 1,\r\n o: 0,\r\n textStyle: {\r\n 'fill': '#3f3d56',\r\n 'font-size': '13',\r\n 'text-anchor': 'start'\r\n },\r\n },\r\n {\r\n wholeText: [\r\n {\r\n text: '- In-room attributes'\r\n }\r\n ],\r\n id: '',\r\n class: 'concept-props-2 screen-4-text',\r\n x: 0,\r\n y: -9,\r\n dy: '3em',\r\n finalX: 0,\r\n finalY: 1,\r\n o: 0,\r\n textStyle: {\r\n 'fill': '#3f3d56',\r\n 'font-size': '13',\r\n 'text-anchor': 'start'\r\n },\r\n }]\r\n }\r\n },\r\n {\r\n x: 392,\r\n y: 71,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Alternative Properties'\r\n }\r\n ],\r\n id: '',\r\n class: 'concept-title screen-4-text',\r\n x: 0,\r\n y: -10,\r\n finalX: 0,\r\n finalY: 0,\r\n dy: '0em',\r\n o: 0,\r\n textStyle: {\r\n 'fill': '3f3d56',\r\n 'font-size': '16',\r\n 'text-anchor': 'start',\r\n 'font-weight': '500'\r\n },\r\n properties: [{\r\n wholeText: [\r\n {\r\n text: '- Clicked booking choice'\r\n }\r\n ],\r\n id: '',\r\n class: 'concept-props-1 screen-4-text',\r\n x: 0,\r\n y: -9,\r\n dy: '1.5em',\r\n finalX: 0,\r\n finalY: 1,\r\n o: 0,\r\n textStyle: {\r\n 'fill': '#3f3d56',\r\n 'font-size': '13',\r\n 'text-anchor': 'start'\r\n },\r\n },\r\n {\r\n wholeText: [\r\n {\r\n text: '- Non-clicked booking choice'\r\n }\r\n ],\r\n id: '',\r\n class: 'concept-props-2 screen-4-text',\r\n x: 0,\r\n y: -9,\r\n dy: '3em',\r\n finalX: 0,\r\n finalY: 1,\r\n o: 0,\r\n textStyle: {\r\n 'fill': '#3f3d56',\r\n 'font-size': '13',\r\n 'text-anchor': 'start'\r\n }\r\n }]\r\n }\r\n }],\r\n types: [\r\n {\r\n line: [[276, 39], [276, 87], [240, 123]],\r\n model: {\r\n x: 125,\r\n y: 155,\r\n // rx: 25,\r\n id: '',\r\n class: '',\r\n finalX: -60,\r\n finalY: 102,\r\n height: 126,\r\n width: 350,\r\n s: 0,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Feature Engineering',\r\n textStyle: {\r\n 'font-weight': 500\r\n }\r\n }\r\n ],\r\n id: '',\r\n class: 'model-bottom-bg',\r\n dy: '0em',\r\n x: -20,\r\n y: 102,\r\n finalX: -20,\r\n finalY: 102,\r\n o: 0,\r\n textStyle: {\r\n 'dy': '0.4em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '16',\r\n 'fill': '#3f3d56'\r\n }\r\n }\r\n }\r\n },\r\n {\r\n line: [[300, 42], [300, 230]],\r\n model: {\r\n x: 300,\r\n y: 265,\r\n id: '',\r\n class: '',\r\n finalX: 118,\r\n finalY: 212,\r\n height: 126,\r\n width: 350,\r\n s: 0,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Multinomial logit',\r\n x: 0,\r\n dy: '-0.7em',\r\n textStyle: {\r\n 'font-weight': 500\r\n }\r\n },\r\n {\r\n text: '(Segment model)',\r\n x: 0,\r\n dy: '1.2em',\r\n textStyle: {\r\n 'font-weight': 500\r\n }\r\n }\r\n ],\r\n id: '',\r\n class: 'model-bottom-bg',\r\n dy: '0em',\r\n x: 300,\r\n y: 233,\r\n finalX: 300,\r\n finalY: 233,\r\n o: 0,\r\n textStyle: {\r\n 'dy': '0.4em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '16',\r\n 'fill': '#3f3d56'\r\n }\r\n }\r\n }\r\n },\r\n {\r\n line: [[324, 39], [324, 87], [360, 123]],\r\n model: {\r\n y: 155,\r\n x: 465,\r\n id: '',\r\n class: '',\r\n finalY: 102,\r\n finalX: 310,\r\n height: 126,\r\n width: 350,\r\n s: 0,\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Hierarchical Bayesian',\r\n x: 0,\r\n dy: '-0.7em',\r\n textStyle: {\r\n 'font-weight': 500\r\n }\r\n },\r\n {\r\n text: '(Customer Decision Choice model)',\r\n x: 0,\r\n dy: '1.2em',\r\n textStyle: {\r\n 'font-weight': 500\r\n }\r\n }\r\n ],\r\n id: '',\r\n class: 'model-bottom-bg',\r\n dy: '0em',\r\n x: 465,\r\n y: 155,\r\n finalX: 465,\r\n finalY: 155,\r\n o: 0,\r\n textStyle: {\r\n 'dy': '0.4em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '16',\r\n 'fill': '#3f3d56'\r\n }\r\n }\r\n }\r\n }\r\n ]\r\n };\r\n\r\n const currentProcess = dataGroup.append('g')\r\n .attr('id', 'screen-4-group')\r\n .attr('class', 'screen-4-group')\r\n .style('opacity', 0);\r\n\r\n const middleSectionWrapper = currentProcess.append('g')\r\n .attr({\r\n 'class': 'middle-screen-wrapper',\r\n 'id': 'middle-screen-wrapper'\r\n });\r\n\r\n const stepGroup = middleSectionWrapper.append('g')\r\n .attr({\r\n 'class': 'screen-4-step-group',\r\n 'id': 'screen-4-step-group',\r\n 'transform': 'translate(0, 0)'\r\n });\r\n\r\n createImageUsingData(stepGroup, { ...stepData.mainData });\r\n\r\n createTextUsingData(stepGroup, { ...stepData.mainData.text });\r\n createTextUsingData(stepGroup, { ...stepData.bottomText });\r\n\r\n const middleSectionBlock = middleSectionWrapper.append('g')\r\n .style({\r\n 'transform': `translate(471px, 358px)`\r\n });\r\n\r\n const middleSectionAttrProps = middleSectionBlock.append('g')\r\n .attr({\r\n 'class': 'middle-section-attr-props',\r\n 'id': 'middle-section-attr-props'\r\n });\r\n\r\n const middleSectionModels = middleSectionBlock.append('g')\r\n .attr({\r\n 'class': 'middle-section-attr-props',\r\n 'id': 'middle-section-attr-props'\r\n })\r\n .style({\r\n 'transform': `translate(0, 100px)`\r\n });\r\n\r\n createTextUsingData(middleSectionAttrProps, middleBlockContent.title);\r\n\r\n middleBlockContent.images.forEach(d => {\r\n createImageUsingData(middleSectionAttrProps, { ...d })\r\n })\r\n\r\n middleBlockContent.contents.forEach((section, key) => {\r\n const group = middleSectionAttrProps.append('g')\r\n .style({\r\n 'transform': `translate(${section.x}px,${section.y}px)`\r\n })\r\n section.text.id = 'title-text-' + key;\r\n createTextUsingData(group, section.text)\r\n\r\n section.text.properties.forEach((prop, index) => {\r\n\r\n prop.id = 'sub-text-' + index;\r\n createTextUsingData(group, prop)\r\n })\r\n });\r\n\r\n const modelLinePath = [];\r\n middleBlockContent.types.forEach((model, index) => {\r\n const group = middleSectionModels.append('g')\r\n .attr({\r\n 'class': 'concept-model-group',\r\n 'id': `concept-model-group-${index}`,\r\n });\r\n\r\n const line = addDashedLine(group, model.line, 'screen-4-lines model-base-line', '#65617d', '5,4');\r\n line.attr('stroke-dashoffset', d => d.pathLength);\r\n // console.log(model.model);\r\n model.model.id = model.model.id || 'bottom-background-' + index;\r\n model.model.class = 'bottom-background screen-4-images';\r\n\r\n\r\n createImageUsingData(group, {\r\n ...model.model,\r\n src: 'assets/images/adaptive-pricing/' + (model.model.id === 'large-text' ? 'text_box_large' : 'text_box_3') + '.svg'\r\n })\r\n\r\n model.model.text.id = `bottom-text`;\r\n model.model.text.class = `bottom-text screen-4-text`;\r\n model.model.text.x = model.model.finalX + (model.model.width / 2);\r\n model.model.text.y = model.model.finalY + model.model.height / 2;\r\n model.model.text.finalX = model.model.finalX + (model.model.width / 2);\r\n model.model.text.finalY = (model.model.finalY + (model.model.height / 2)) + 6;\r\n\r\n // model.model.text.o = 1;\r\n createTextUsingData(group, { ...model.model.text });\r\n });\r\n\r\n // right portion\r\n const lineGraphTranslate = {\r\n x: 1271,\r\n y: 270\r\n };\r\n\r\n const rightContainer = currentProcess.append('g')\r\n .attr({\r\n 'class': 'right-container',\r\n 'id': 'right-container',\r\n })\r\n\r\n createImageUsingData(rightContainer,\r\n {\r\n id: `right-bg`\r\n , class: 'right-bg'\r\n , src: '/assets/images/adaptive-pricing/graph_container.svg'\r\n , width: 715.77\r\n , height: 906\r\n , x: 1540\r\n , y: 533\r\n , finalX: 1133\r\n , finalY: 75\r\n , s: 0\r\n , o: 1\r\n });\r\n\r\n function manageDraggableTooltip(group, value) {\r\n if (value < 90) {\r\n group.style('transform', `translate(-23px, -37px)`);\r\n group.select(`path`)\r\n .attr({\r\n 'd': 'm19.617,20l6.155,0l-3.087,3.243l-3.068,-3.243zm-9.617,0a10,10 0 0 1 -10,-10a10,10 0 0 1 10,-10l25,0a10,10 0 0 1 10,10a10,10 0 0 1 -10,10l-25,0z', //top\r\n });\r\n group.select('text')\r\n .attr({\r\n 'x': '24',\r\n 'dy': '1.1em',\r\n });\r\n } else {\r\n group.style('transform', `translate(-23px, 13px)`);\r\n group.select('path').attr({\r\n 'd': 'm22.32,0l3.06,3.24l-6.15,0l3.09,-3.24zm-12.32,3.24c-1.31,0 -2.61,0.26 -3.83,0.76c-1.21,0.51 -2.31,1.24 -3.24,2.17c-0.93,0.93 -1.67,2.03 -2.17,3.25c-0.5,1.21 -0.76,2.51 -0.76,3.82c0,1.32 0.26,2.62 0.76,3.83c0.5,1.21 1.24,2.32 2.17,3.24c0.93,0.93 2.03,1.67 3.24,2.17c1.22,0.5 2.52,0.76 3.83,0.76l25,0c1.31,0 2.61,-0.26 3.83,-0.76c1.21,-0.5 2.31,-1.24 3.24,-2.17c0.93,-0.92 1.67,-2.03 2.17,-3.24c0.5,-1.21 0.76,-2.51 0.76,-3.83c0,-1.31 -0.26,-2.61 -0.76,-3.82c-0.5,-1.22 -1.24,-2.32 -2.17,-3.25c-0.93,-0.93 -2.03,-1.66 -3.24,-2.17c-1.22,-0.5 -2.52,-0.76 -3.83,-0.76l-25,0z', //below\r\n });\r\n group.select('text')\r\n .attr({\r\n 'x': '22',\r\n 'dy': '1.3em',\r\n });\r\n }\r\n }\r\n\r\n const lineGraphWrapper = currentProcess.append('g')\r\n .attr('id', 'line-graph-wrapper')\r\n .attr('class', 'line-graph-wrapper')\r\n .style('transform', `translate(${lineGraphTranslate.x}px, ${lineGraphTranslate.y}px)`)\r\n .style('opacity', 0);\r\n\r\n const margin = { top: 30, right: 20, bottom: 30, left: 50 }\r\n , width = 500 - margin.left - margin.right\r\n , height = 550 - margin.top - margin.bottom\r\n , parseDate = d3.time.format('%d-%b-%y').parse;\r\n\r\n // Set the ranges\r\n let yMax = 105;\r\n let x = d3.time.scale().range([0, width]);\r\n let y = d3.scale.linear().range([height, 0]);\r\n let value = d3.scale.linear().range([yMax, 0]);\r\n\r\n // // console.log('height: ', height);\r\n // .origin(function () {\r\n // var current = d3.select(this);\r\n // return { x: current.attr(\"x\"), y: current.attr(\"y\") };\r\n // })\r\n var drag = d3.behavior.drag()\r\n .on('drag', function (d, i) {\r\n if (d.isDraggable) {\r\n lineGraphWrapper.select('.hand-cursor')\r\n .style('opacity', d => {\r\n d.isAnimating = false;\r\n return '0'\r\n })\r\n .attr({\r\n 'transform': `translate(0, 0)`\r\n });\r\n // const tx = x(d.date);\r\n // const ty = (d3.event.sourceEvent.pageY / that.svgResize.heightAspect) - lineGraphTranslate.y;\r\n d.y += d3.event.y;\r\n const parentNode = this.parentNode;\r\n const close = Math.round(value(d.y));\r\n if (close >= 0 && close <= 100) {\r\n draggableCircleWrapper.select(`#${this.parentNode.id}`)\r\n .attr('transform', `translate(${d.x}, ${d.y})`);\r\n const group = currentProcess.select(`#drag-circle-tooltip-${i}`)\r\n manageDraggableTooltip(group, close);\r\n currentProcess.select(`#drag-circle-tooltip-${i} text`).text(`$ ${close}`);\r\n that.pricingData.travellerDetails[that.selectedTraveller].attributes.hotel[i].preferredValue = close;\r\n data[i].close = close;\r\n const updateGuestValue = data.reduce((total, obj, key) => total + obj.close, 0);\r\n const updateSegmentValue = that.pricingData.travellerDetails[that.selectedTraveller].attributes.hotel.reduce((total, obj) => total + obj.defaultValue, 0);;\r\n guestValueText.text(`$${updateGuestValue}`);\r\n // const avgValue = `${that.pricingData.currencyUnit}${((updateGuestValue + updateSegmentValue) / 2).toFixed(0)}`\r\n // avgValueText.text(avgValue);\r\n }\r\n }\r\n });\r\n\r\n var yGridLine = d3.svg.axis()\r\n .scale(y)\r\n .tickSize(-width - 45, 0, 0)\r\n .tickFormat('')\r\n .orient('left');\r\n\r\n var xGridLine = d3.svg.axis()\r\n .scale(x)\r\n .tickSize(height, 0, 0)\r\n .tickFormat('')\r\n .orient('bottom');\r\n\r\n var xAxis = d3.svg.axis().scale(x)\r\n .orient('bottom').ticks(5);\r\n\r\n var yAxis = d3.svg.axis().scale(y)\r\n .orient('left').ticks(10);\r\n\r\n // Define the line\r\n // var valueline = d3.svg.line()\r\n // .x(function (d) { return x(d.date); })\r\n // .y(function (d) { return y(d.close); });\r\n\r\n const data = [\r\n {\r\n date: '23-Apr-12',\r\n close: 0,\r\n dragValues: [-3, 5, -4, 4, 0],\r\n isDraggable: true\r\n },\r\n {\r\n date: '24-Apr-12',\r\n close: 0,\r\n dragValues: [-3, 5, -4, 4, 0],\r\n isDraggable: true\r\n },\r\n {\r\n date: '25-Apr-12',\r\n close: 0,\r\n dragValues: [4, -5, 3, -4, 0],\r\n isDraggable: true\r\n },\r\n {\r\n date: '26-Apr-12',\r\n close: 0,\r\n dragValues: [-5, 4, -4, 5, 0],\r\n isDraggable: true\r\n },\r\n {\r\n date: '27-Apr-12',\r\n close: 0,\r\n dragValues: [4, -4, 3, -5, 0],\r\n isDraggable: true\r\n },\r\n {\r\n date: '28-Apr-12',\r\n close: 0,\r\n dragValues: [4, -4, 3, -5, 0],\r\n isDraggable: true\r\n },\r\n {\r\n date: '29-Apr-12',\r\n close: 0,\r\n dragValues: [-3, 4, -5, 3, 0],\r\n isDraggable: true\r\n },\r\n ];\r\n\r\n data.forEach(function (d) {\r\n d.date = parseDate(d.date);\r\n d.close = +d.close;\r\n });\r\n\r\n // // console.log('Data: ', data);\r\n\r\n // Scale the range of the data\r\n x.domain(d3.extent(data, function (d) { return d.date; }));\r\n y.domain([0, d3.max(data, function (d) { return yMax; })]);\r\n value.domain([0, height]);\r\n\r\n // Add the X Axis\r\n // lineGraphWrapper.append('g')\r\n // .attr('class', 'x axis')\r\n // .attr('transform', 'translate(0,' + height + ')')\r\n // .call(xAxis);\r\n\r\n // Add the Y Axis\r\n const xGridGroup = lineGraphWrapper.append('g')\r\n .attr('class', 'x-grid')\r\n .style('stroke', '#fff')\r\n // .style('stroke', 'black')\r\n .style('stroke-width', '1')\r\n .call(xGridLine);\r\n\r\n const yGridGroup = lineGraphWrapper.append('g')\r\n .attr('class', 'y-grid')\r\n .style('stroke', '#fff')\r\n // .style('stroke', 'black')\r\n .style('stroke-width', '1')\r\n .call(yGridLine);\r\n\r\n yGridGroup.selectAll('path').remove();\r\n yGridGroup\r\n .select('g:nth-child(1)')\r\n .select('line')\r\n .style('stroke', '#A19FB5');\r\n\r\n xGridGroup.selectAll('path').remove();\r\n xGridGroup\r\n .select('g:nth-child(1)')\r\n .remove();\r\n xGridGroup.selectAll('g').each(function (object, index) {\r\n if (index % 2 == 0)\r\n this.remove()\r\n });\r\n\r\n const yAxisGroup = lineGraphWrapper.append('g')\r\n .attr('class', 'y axis')\r\n .attr('font-size', '14')\r\n // .attr('transform', `translate(${width},0)`)\r\n .style({\r\n // 'letter-spacing': '1px',\r\n // 'stroke': '#A19FB5',\r\n 'font-weight': '500'\r\n })\r\n .call(yAxis);\r\n\r\n yAxisGroup.select('path')\r\n .attr('d', 'M0,0V490');\r\n yAxisGroup.selectAll('line').remove();\r\n\r\n const fixedCircleWrapper = lineGraphWrapper.append('g')\r\n .attr({\r\n 'class': 'fixed-circle-wrapper',\r\n 'id': 'fixed-circle-wrapper',\r\n })\r\n\r\n data.shift();\r\n\r\n const fixedCircleGroup = fixedCircleWrapper.selectAll('circle')\r\n .data(data)\r\n .enter()\r\n .append('g')\r\n .attr({\r\n 'class': (d, i) => `fixed-circle-group ${that.pricingData.travellerDetails.solo.attributes.hotel[i].id}`,\r\n 'transform': d => `translate(${x(d.date)}, ${y(d.close)})`\r\n });\r\n\r\n fixedCircleGroup.append('circle')\r\n .attr({\r\n 'cx': (d) => 0,\r\n 'cy': (d) => 0,\r\n 'r': 6,\r\n 'fill': '#7e5f69'\r\n });\r\n\r\n const fixedCircleTooltip = fixedCircleGroup.append('g')\r\n .attr({\r\n 'class': 'fixed-circle-tooltip',\r\n 'id': (d, i) => `fixed-circle-tooltip-${i}`,\r\n })\r\n .style({\r\n 'transform': (d) => `translate(-22px, 12px)`\r\n });\r\n\r\n fixedCircleTooltip.append('path')\r\n .attr({\r\n 'd': 'm22.32,0l3.06,3.24l-6.15,0l3.09,-3.24zm-12.32,3.24c-1.31,0 -2.61,0.26 -3.83,0.76c-1.21,0.51 -2.31,1.24 -3.24,2.17c-0.93,0.93 -1.67,2.03 -2.17,3.25c-0.5,1.21 -0.76,2.51 -0.76,3.82c0,1.32 0.26,2.62 0.76,3.83c0.5,1.21 1.24,2.32 2.17,3.24c0.93,0.93 2.03,1.67 3.24,2.17c1.22,0.5 2.52,0.76 3.83,0.76l25,0c1.31,0 2.61,-0.26 3.83,-0.76c1.21,-0.5 2.31,-1.24 3.24,-2.17c0.93,-0.92 1.67,-2.03 2.17,-3.24c0.5,-1.21 0.76,-2.51 0.76,-3.83c0,-1.31 -0.26,-2.61 -0.76,-3.82c-0.5,-1.22 -1.24,-2.32 -2.17,-3.25c-0.93,-0.93 -2.03,-1.66 -3.24,-2.17c-1.22,-0.5 -2.52,-0.76 -3.83,-0.76l-25,0z', //below\r\n // 'd': 'm19.617,20l6.155,0l-3.087,3.243l-3.068,-3.243zm-9.617,0a10,10 0 0 1 -10,-10a10,10 0 0 1 10,-10l25,0a10,10 0 0 1 10,10a10,10 0 0 1 -10,10l-25,0z', //top\r\n // 'd': 'm13.29495,19.99899a10.006,10.006 0 0 1 -9.663,-7.41l-3.632,-2.673l3.675,-2.659a10.005,10.005 0 0 1 9.62,-7.257l21.707,0a10,10 0 0 1 10,10a10,10 0 0 1 -10,10l-21.707,-0.001z', //right\r\n 'fill': '#8b6e78',\r\n });\r\n\r\n fixedCircleTooltip\r\n .append('text')\r\n .text((d) => `$ ${d.close}`)\r\n .attr({\r\n 'fill': '#fff',\r\n 'x': 22,\r\n 'y': 0,\r\n 'dy': '1.3em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '14'\r\n });\r\n\r\n const draggableCircleWrapper = lineGraphWrapper.append('g')\r\n .attr({\r\n 'class': 'drag-circle-wrapper',\r\n 'id': 'drag-circle-wrapper',\r\n });\r\n\r\n const draggableCircleGroup = draggableCircleWrapper.selectAll('g')\r\n .data(data)\r\n .enter()\r\n .append('g')\r\n .attr({\r\n 'class': (d, i) => `drag-circle-group ${that.pricingData.travellerDetails.solo.attributes.hotel[i].id}`,\r\n 'id': (d, i) => `drag-circle-group-${i}`,\r\n 'opacity': '0',\r\n 'transform': (d) => {\r\n d.x = x(d.date);\r\n d.y = y(d.close);\r\n return `translate(${d.x}, ${d.y})`\r\n },\r\n })\r\n\r\n const dragPointerGroup = draggableCircleGroup.append('g')\r\n .attr({\r\n 'class': 'drag-pointer',\r\n 'id': (d, i) => `drag-pointer-${i}`,\r\n })\r\n .style({\r\n 'transform': (d) => `translate(${-10}px, ${-7}px)`,\r\n 'cursor': 'pointer'\r\n })\r\n // .on('click', function () {\r\n // // console.log('pointer value: ', d3.event)\r\n // })\r\n .call(drag);\r\n\r\n dragPointerGroup.append('rect')\r\n .attr({\r\n 'x': 0,\r\n 'y': 0,\r\n 'width': 20,\r\n 'height': 14,\r\n 'rx': 6,\r\n 'fill': '#c94573'\r\n });\r\n\r\n dragPointerGroup.append('path')\r\n .attr({\r\n 'd': 'm4.998,9l0,-1l10,0l0,1l-10,0zm0,-3l0,-1l10,0l0,1l-10,0z',\r\n 'fill': '#fff'\r\n });\r\n\r\n const draggableCircleTooltip = draggableCircleGroup.append('g')\r\n .attr({\r\n 'class': 'drag-circle-tooltip',\r\n 'id': (d, i) => `drag-circle-tooltip-${i}`,\r\n })\r\n .style({\r\n 'transform': (d) => `translate(${-23}px, ${-37}px)`\r\n });\r\n\r\n draggableCircleTooltip.append('path')\r\n .attr({\r\n 'd': 'm19.617,20l6.155,0l-3.087,3.243l-3.068,-3.243zm-9.617,0a10,10 0 0 1 -10,-10a10,10 0 0 1 10,-10l25,0a10,10 0 0 1 10,10a10,10 0 0 1 -10,10l-25,0z',\r\n // 'd': 'm13.29495,19.99899a10.006,10.006 0 0 1 -9.663,-7.41l-3.632,-2.673l3.675,-2.659a10.005,10.005 0 0 1 9.62,-7.257l21.707,0a10,10 0 0 1 10,10a10,10 0 0 1 -10,10l-21.707,-0.001z',\r\n 'fill': '#c36b89',\r\n });\r\n\r\n draggableCircleTooltip\r\n .append('text')\r\n .text((d) => `$ ${d.close + 15}`)\r\n .attr({\r\n 'fill': '#fff',\r\n 'x': 24,\r\n 'y': 0,\r\n 'dy': '1.1em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '14'\r\n });\r\n\r\n createImageUsingData(lineGraphWrapper, {\r\n id: 'hand-cursor',\r\n class: 'hand-cursor',\r\n height: 70,\r\n width: 70,\r\n src: 'assets/images/adaptive-pricing/hand_cursor.svg',\r\n x: -5,\r\n y: y(data[0].close),\r\n o: 0,\r\n textStyle: {\r\n display: 'none',\r\n // cursor: 'pointer'\r\n }\r\n });\r\n\r\n // lineGraphWrapper.select('.hand-cursor')\r\n // .on('click', function (d) {\r\n // this.style.display = 'none';\r\n // d.isAnimating = false;\r\n // lineGraphWrapper.select('.hand-cursor')\r\n // .attr({\r\n // 'tranform': 'translate(0,0)'\r\n // })\r\n // .interrupt();\r\n // })\r\n\r\n currentProcess.append('g')\r\n .attr({\r\n 'class': 'line-y-value-currency',\r\n 'id': 'line-y-value-currency',\r\n 'opacity': 0\r\n })\r\n .style({\r\n 'transform': `translate(${lineGraphTranslate.x}px,${lineGraphTranslate.y + height}px)`\r\n })\r\n .append('text')\r\n .attr({\r\n 'x': 0,\r\n 'y': 0,\r\n 'dy': '0em',\r\n 'font-size': '16',\r\n 'text-anchor': 'end'\r\n })\r\n .style({\r\n 'transform': `translate(-10px, 30px)`,\r\n 'font-weight': '500'\r\n })\r\n .text('$');\r\n\r\n const segmentWTPWrapper = currentProcess.append('g')\r\n .attr({\r\n 'class': 'segment-wtp-wrapper',\r\n 'id': 'segment-wtp-wrapper',\r\n 'opacity': 0,\r\n 'transform': `translate(1549, ${lineGraphTranslate.y + height + 6 - 10})`\r\n });\r\n\r\n const segmentWTPBlock = segmentWTPWrapper.append('g')\r\n .attr({\r\n 'class': 'segment-wtp-block',\r\n 'id': 'segment-wtp-block'\r\n })\r\n .style({\r\n 'transform': `translate( 0px, ${10}px)`\r\n });\r\n\r\n segmentWTPBlock.append('rect')\r\n .attr({\r\n 'x': 0,\r\n 'y': 0,\r\n 'width': 150,\r\n 'height': 76,\r\n 'rx': 40,\r\n 'fill': '#7e5f69'\r\n });\r\n\r\n segmentWTPBlock.append('text')\r\n .attr({\r\n 'fill': '#FFF',\r\n 'x': 75,\r\n 'y': 25,\r\n 'dy': '0em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '12'\r\n })\r\n .style({\r\n 'font-weight': '400'\r\n })\r\n .text('SEGMENT\\'s WTP');\r\n\r\n segmentWTPBlock.append('text')\r\n .attr({\r\n 'fill': '#FFF',\r\n 'x': 50,\r\n 'y': 45,\r\n 'dy': '0em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '12'\r\n })\r\n .style({\r\n 'font-weight': '400'\r\n })\r\n .text('From');\r\n\r\n const segmentValueText = segmentWTPBlock.append('text')\r\n .attr({\r\n 'class': 'segment-wtp-value',\r\n 'id': 'segment-wtp-value',\r\n 'fill': '#fff',\r\n 'x': 93,\r\n 'y': 25,\r\n 'dy': '1.2em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '22'\r\n })\r\n .style({\r\n 'font-weight': '500',\r\n // 'letter-spacing': '1px'\r\n })\r\n .text(`$${data.reduce((total, obj) => total + obj.close, 0)}`);\r\n\r\n segmentWTPBlock.append('text')\r\n .attr({\r\n 'class': 'segment-wtp-value',\r\n 'id': 'segment-wtp-value',\r\n 'fill': '#fff',\r\n 'x': 99,\r\n 'y': 34,\r\n 'dy': '2.7em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '12'\r\n })\r\n .text(`/night`);\r\n\r\n const guestWTPWrapper = currentProcess.append('g')\r\n .attr({\r\n 'class': 'guest-wtp-wrapper',\r\n 'id': 'guest-wtp-wrapper',\r\n 'opacity': 0,\r\n 'transform': `translate(1335, ${lineGraphTranslate.y + height + 6 - 10})`\r\n });\r\n\r\n const guestWTPBlock = guestWTPWrapper.append('g')\r\n .attr({\r\n 'class': 'guest-wtp-block',\r\n 'id': 'guest-wtp-block'\r\n })\r\n .style({\r\n 'transform': `translate( 0px, ${10}px)`\r\n });\r\n\r\n guestWTPBlock.append('rect')\r\n .attr({\r\n 'x': 0,\r\n 'y': 0,\r\n 'width': 150,\r\n 'height': 76,\r\n 'rx': 40,\r\n 'fill': '#c94573'\r\n });\r\n\r\n guestWTPBlock.append('text')\r\n .attr({\r\n 'fill': '#fff',\r\n 'x': 75,\r\n 'y': 25,\r\n 'dy': '0em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '14'\r\n })\r\n .style({\r\n 'font-weight': '400'\r\n })\r\n .text('GUEST\\'s WTP');\r\n\r\n guestWTPBlock.append('text')\r\n .attr({\r\n 'fill': '#FFF',\r\n 'x': 50,\r\n 'y': 45,\r\n 'dy': '0em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '12'\r\n })\r\n .style({\r\n 'font-weight': '400'\r\n })\r\n .text('From');\r\n\r\n const guestValueText = guestWTPBlock.append('text')\r\n .attr({\r\n 'class': 'guest-wtp-value',\r\n 'id': 'guest-wtp-value',\r\n 'fill': '#fff',\r\n 'x': 93,\r\n 'y': 25,\r\n 'dy': '1.2em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '22'\r\n })\r\n .style({\r\n 'font-weight': '500',\r\n // 'letter-spacing': '1px'\r\n })\r\n .text(`$${data.reduce((total, obj) => total + obj.close + 15, 0)}`);\r\n\r\n\r\n guestWTPBlock.append('text')\r\n .attr({\r\n 'class': 'guest-wtp-value',\r\n 'id': 'guest-wtp-value',\r\n 'fill': '#fff',\r\n 'x': 99,\r\n 'y': 34,\r\n 'dy': '2.7em',\r\n 'text-anchor': 'middle',\r\n 'font-size': '12'\r\n })\r\n .text(`/night`);\r\n\r\n // const avgWTPPos = {\r\n // x: 1136,\r\n // y: 472\r\n // }\r\n // const avgWTPWrapper = currentProcess.append('g')\r\n // .attr({\r\n // 'class': 'avg-wtp-wrapper',\r\n // 'id': 'avg-wtp-wrapper',\r\n // 'opacity': 0,\r\n // 'transform': `translate(${avgWTPPos.x + 10}, ${avgWTPPos.y})`\r\n // })\r\n // .style('opacity', 0);\r\n\r\n // avgWTPWrapper.append('rect')\r\n // .attr({\r\n // 'x': 0,\r\n // 'y': 0,\r\n // 'width': 160,\r\n // 'height': 85,\r\n // 'rx': 45,\r\n // 'fill': '#65617d'\r\n // });\r\n\r\n // const avgTitle = avgWTPWrapper.append('text')\r\n // .attr({\r\n // 'fill': '#ffeae3',\r\n // 'x': 79,\r\n // 'y': 27,\r\n // 'dy': '0em',\r\n // 'text-anchor': 'middle',\r\n // 'font-size': '15'\r\n // })\r\n // .style({\r\n // 'letter-spacing': '1px'\r\n // })\r\n\r\n // avgTitle.append('tspan')\r\n // .text('AVERAGE');\r\n\r\n // avgTitle.append('tspan')\r\n // .style('font-weight', '500')\r\n // .text(' WTP');\r\n\r\n // const avgValueText = avgWTPWrapper.append('text')\r\n // .attr({\r\n // 'class': 'avg-wtp-value',\r\n // 'id': 'avg-wtp-value',\r\n // 'fill': '#fff',\r\n // 'x': 79,\r\n // 'y': 33,\r\n // 'dy': '1.2em',\r\n // 'text-anchor': 'middle',\r\n // 'font-size': '22'\r\n // })\r\n // .style({\r\n // 'font-weight': '500',\r\n // // 'letter-spacing': '1px'\r\n // })\r\n // .text(`$${data.reduce((total, obj) => total + obj.close + 15, 0)}`);\r\n\r\n\r\n // avgWTPWrapper.append('text')\r\n // .attr({\r\n // 'class': 'avg-wtp-value',\r\n // 'id': 'avg-wtp-value',\r\n // 'fill': '#fff',\r\n // 'x': 90,\r\n // 'y': 42,\r\n // 'dy': '2.7em',\r\n // 'text-anchor': 'middle',\r\n // 'font-size': '12'\r\n // })\r\n // .text(`/night`);\r\n\r\n const individualSegmentRightData = {\r\n titleText: {\r\n wholeText: [\r\n {\r\n text: 'Individual & Segment ',\r\n textStyle: {\r\n 'font-weight': 500\r\n }\r\n },\r\n {\r\n text: 'WTP'\r\n }\r\n ],\r\n text: 'Individual & Segment WTP',\r\n id: 'individual-segment-title',\r\n class: 'individual-segment-title screen-4-text',\r\n x: 320,\r\n y: 25,\r\n finalX: 320,\r\n finalY: 35,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 26,\r\n }\r\n },\r\n bottomText: {\r\n wholeText: [\r\n {\r\n text: 'Change '\r\n },\r\n {\r\n text: 'Guest’s attribute-level WTP',\r\n textStyle: {\r\n 'font-weight': 500,\r\n }\r\n },\r\n {\r\n text: ' to know the'\r\n },\r\n {\r\n text: ' Aggregated WTP',\r\n textStyle: {\r\n 'font-weight': 500,\r\n }\r\n },\r\n ],\r\n id: 'bottom-title-text-screen-4',\r\n class: 'bottom-title-text-screen-4 screen-4-text',\r\n x: 320,\r\n y: 145,\r\n dy: '0em',\r\n finalX: 320,\r\n finalY: 155,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 12,\r\n 'fill': '#65617d'\r\n }\r\n },\r\n imageData: [{\r\n id: 'right-image-background-screen-4',\r\n width: 626,\r\n height: 137,\r\n src: 'assets/images/adaptive-pricing/white_box_with_shadow.svg',\r\n x: 285,\r\n y: 99,\r\n finalX: 0,\r\n finalY: 37,\r\n class: 'screen-4 right center background animate screen-4-images',\r\n s: 0\r\n },\r\n {\r\n id: 'right-building-screen-4',\r\n height: 34,\r\n width: 35,\r\n src: 'assets/images/adaptive-pricing/building.svg',\r\n x: 78,\r\n y: 88.5,\r\n finalX: 78,\r\n finalY: 88.5,\r\n class: 'screen-4 right icon building animate screen-4-images',\r\n o: 0\r\n },\r\n {\r\n id: 'right-brand-screen-4',\r\n height: 45,\r\n width: 32,\r\n src: 'assets/images/adaptive-pricing/brand_sm_grey.svg',\r\n x: 152,\r\n y: 82,\r\n finalX: 152,\r\n finalY: 82,\r\n class: 'screen-4 right icon brand animate screen-4-images',\r\n o: 0\r\n },\r\n {\r\n id: 'right-location-screen-4',\r\n height: 45,\r\n width: 40,\r\n src: 'assets/images/adaptive-pricing/location_sm_grey.svg',\r\n x: 218,\r\n y: 82,\r\n finalX: 218,\r\n finalY: 82,\r\n class: 'screen-4 right icon location animate screen-4-images',\r\n o: 0\r\n },\r\n {\r\n id: 'right-star-screen-4',\r\n height: 44,\r\n width: 28,\r\n src: 'assets/images/adaptive-pricing/star_sm_grey.svg',\r\n x: 297,\r\n y: 84,\r\n finalX: 297,\r\n finalY: 84,\r\n class: 'screen-4 right icon star animate screen-4-images',\r\n o: 0\r\n },\r\n {\r\n id: 'right-review-screen-4',\r\n height: 43,\r\n width: 38,\r\n src: 'assets/images/adaptive-pricing/review_sm_grey.svg',\r\n x: 365,\r\n y: 74,\r\n finalX: 365,\r\n finalY: 84,\r\n class: 'screen-4 right icon review animate screen-4-images',\r\n o: 0\r\n },\r\n {\r\n id: 'right-discount-screen-4',\r\n height: 45,\r\n width: 40,\r\n src: 'assets/images/adaptive-pricing/discount_sm_grey.svg',\r\n x: 435,\r\n y: 83,\r\n finalX: 435,\r\n finalY: 83,\r\n class: 'screen-4 right icon discount animate screen-4-images',\r\n o: 0\r\n },\r\n {\r\n id: 'right-discount-screen-4',\r\n height: 45,\r\n width: 40,\r\n src: 'assets/images/adaptive-pricing/bed_type_sm_grey.svg',\r\n x: 505,\r\n y: 74,\r\n finalX: 505,\r\n finalY: 84,\r\n class: 'screen-4 right icon discount animate screen-4-images',\r\n o: 0\r\n },\r\n {\r\n id: 'right-discount-screen-4',\r\n height: 4,\r\n width: 22,\r\n src: 'assets/images/adaptive-pricing/three_dots_grey.svg',\r\n x: 555,\r\n y: 104,\r\n finalX: 555,\r\n finalY: 104,\r\n class: 'screen-4 right icon discount animate screen-4-images',\r\n o: 0\r\n }\r\n ]\r\n };\r\n\r\n const individualSegment = currentProcess.append('g')\r\n .attr({\r\n 'class': 'individual-segment-wrapper',\r\n 'id': 'individual-segment-wrapper'\r\n })\r\n .style({\r\n 'transform': `translate(${lineGraphTranslate.x - 96}px, 120px)`\r\n });\r\n\r\n createCenterBox(individualSegment, individualSegmentRightData);\r\n\r\n createTextUsingData(individualSegment, {\r\n wholeText: individualSegmentRightData.bottomText.wholeText\r\n , id: individualSegmentRightData.bottomText.id\r\n , x: individualSegmentRightData.bottomText.x\r\n , y: individualSegmentRightData.bottomText.y\r\n , finalX: individualSegmentRightData.bottomText.finalX\r\n , finalY: individualSegmentRightData.bottomText.finalY\r\n , dy: individualSegmentRightData.bottomText.dy\r\n , class: individualSegmentRightData.bottomText.class\r\n , textStyle: individualSegmentRightData.bottomText.textStyle\r\n , o: individualSegmentRightData.bottomText.o\r\n });\r\n\r\n function updateRightSection() {\r\n // // console.log('Inside updateRightSection: ', that.selectedTraveller);\r\n let updateGuestValue = 0;\r\n let updateSegmentValue = 0;\r\n that.pricingData.travellerDetails[that.selectedTraveller].attributes.hotel.forEach((hAttributes, index) => {\r\n const fixedGroup = fixedCircleWrapper.select(`.${hAttributes.id}`);\r\n\r\n fixedGroup.attr({\r\n 'transform': (d) => {\r\n d.close = hAttributes.defaultValue;\r\n return `translate(${x(d.date)}, ${y(d.close)})`\r\n }\r\n });\r\n fixedGroup.select('.fixed-circle-tooltip text')\r\n .text(d => `${that.pricingData.currencyUnit} ${d.close}`);\r\n updateSegmentValue += hAttributes.defaultValue;\r\n\r\n const draggableGroup = draggableCircleWrapper.select(`.${hAttributes.id}`);\r\n const dragTooltipGroup = draggableGroup.select('.drag-circle-tooltip');\r\n\r\n draggableGroup.attr({\r\n 'transform': (d) => {\r\n d.close = hAttributes.preferredValue;\r\n d.x = x(d.date);\r\n d.y = y(d.close);\r\n return `translate(${x(d.date)}, ${y(d.close)})`\r\n }\r\n });\r\n\r\n if (index == 0) {\r\n lineGraphWrapper.select('.hand-cursor')\r\n .attr({\r\n 'transform': (d) => {\r\n d.y = y(hAttributes.preferredValue)\r\n return `translate(${d.x}, ${d.y - 30})`\r\n }\r\n });\r\n }\r\n manageDraggableTooltip(dragTooltipGroup, hAttributes.preferredValue);\r\n dragTooltipGroup.select('text')\r\n .text(d => `${that.pricingData.currencyUnit} ${d.close}`);\r\n\r\n updateGuestValue += hAttributes.preferredValue;\r\n });\r\n segmentValueText.text(`$${updateSegmentValue}`);\r\n guestValueText.text(`$${updateGuestValue}`);\r\n // const avgValue = `${that.pricingData.currencyUnit}${((updateGuestValue + updateSegmentValue) / 2).toFixed(0)}`;\r\n // avgValueText.text(avgValue);\r\n }\r\n\r\n function initiateAnimation() {\r\n\r\n showImage(stepGroup, 'second-step-image', 0, 300, function () {\r\n showText(stepGroup, 'second-step', 0, 200, function () {\r\n showText(stepGroup, 'second-step-bottom-text', 0, 200, function () {\r\n showText(middleSectionAttrProps, 'title-center', 0, 250)\r\n showImage(middleSectionAttrProps, 'rrm-block', 0, 250, () => {\r\n showImage(middleSectionAttrProps, 'brain-image', 0, 250, () => {\r\n showText(middleSectionAttrProps, 'concept-title', 0, 200, () => {\r\n showText(middleSectionAttrProps, 'concept-props-1', 0, 200)\r\n showText(middleSectionAttrProps, 'concept-props-2', 200, 200, () => {\r\n initiateRightAnimation();\r\n operateLine(middleSectionModels, 'model-base-line', 'draw', 0, 300, () => {\r\n showImage(middleSectionModels, 'bottom-background', 0, 200, () => {\r\n showText(middleSectionModels, 'bottom-text', 100, 100, () => {\r\n\r\n })\r\n })\r\n })\r\n })\r\n })\r\n })\r\n })\r\n })\r\n })\r\n })\r\n }\r\n\r\n function initiateRightAnimation() {\r\n showImage(rightContainer, 'right-bg', 0, 300, () => {\r\n showText(individualSegment, 'individual-segment-title', 0, 250, () => { })\r\n showText(individualSegment, 'bottom-title-text-screen-4', 0, 250, () => { })\r\n showImage(individualSegment, 'center'\r\n , 0, 250, () => {\r\n individualSegment.selectAll('.icon')\r\n .transition()\r\n .delay((d, i) => i * 80)\r\n .duration(150)\r\n .style('opacity', 1)\r\n .attr({\r\n 'transform': (d: any) => `translate(${d.finalX}, ${d.finalY})`,\r\n })\r\n .call(endAll, function () {\r\n\r\n currentProcess.selectAll('.line-y-value-currency')\r\n .transition()\r\n .delay(0)\r\n .duration(300)\r\n .attr({\r\n 'opacity': 1\r\n });\r\n draggableCircleWrapper.selectAll(`.drag-circle-group`)\r\n .attr({\r\n 'opacity': 0\r\n });\r\n lineGraphWrapper\r\n .transition()\r\n .delay(0)\r\n .duration(300)\r\n .style({\r\n 'opacity': 1\r\n })\r\n .call(endAll, function () {\r\n animateDraggablePoints();\r\n\r\n // avgWTPWrapper\r\n // .transition()\r\n // .delay(0)\r\n // .duration(500)\r\n // .attr({\r\n // 'opacity': 1,\r\n // 'transform': (d: any) => `translate(${avgWTPPos.x}, ${avgWTPPos.y})`,\r\n // });\r\n\r\n segmentWTPWrapper\r\n .transition()\r\n .delay(0)\r\n .duration(300)\r\n .attr({\r\n 'opacity': 1,\r\n 'transform': (d: any) => `translate(1549, ${lineGraphTranslate.y + height + 6})`,\r\n });\r\n\r\n guestWTPWrapper\r\n .transition()\r\n .delay(0)\r\n .duration(300)\r\n .attr({\r\n 'opacity': 1,\r\n 'transform': (d: any) => `translate(1335, ${lineGraphTranslate.y + height + 6})`,\r\n })\r\n .call(endAll, function () {\r\n initialAnimationEnd();\r\n });\r\n })\r\n })\r\n })\r\n })\r\n }\r\n\r\n function initiateEndAnimation() {\r\n hideText(middleSectionModels, 'bottom-text', 0, 10, () => {\r\n hideImage(middleSectionModels, 'bottom-background', 0, 10, () => {\r\n operateLine(middleSectionModels, 'model-base-line', 'hide', 0, 10, () => {\r\n hideText(middleSectionAttrProps, 'concept-props-2', 0, 10)\r\n hideText(middleSectionAttrProps, 'concept-props-1', 0, 10, () => {\r\n hideText(middleSectionAttrProps, 'concept-title', 0, 10, () => {\r\n hideImage(middleSectionAttrProps, 'brain-image', 0, 10, () => {\r\n hideText(middleSectionAttrProps, 'title-center', 0, 10);\r\n hideImage(middleSectionAttrProps, 'rrm-block', 0, 10);\r\n hideImage(stepGroup, 'second-step-image', 0, 10, function () {\r\n hideText(stepGroup, 'second-step', 0, 10, function () {\r\n hideText(stepGroup, 'second-step-bottom-text', 0, 10, function () {\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n }\r\n\r\n function initiateEndRightAnimation() {\r\n\r\n // avgWTPWrapper\r\n // .transition()\r\n // .delay(0)\r\n // .duration(100)\r\n // .attr({\r\n // 'opacity': 0,\r\n // 'transform': (d: any) => `translate(${avgWTPPos.x + 10}, ${avgWTPPos.y})`,\r\n // })\r\n\r\n segmentWTPWrapper\r\n .transition()\r\n .delay(0)\r\n .duration(10)\r\n .attr({\r\n 'opacity': 0,\r\n 'transform': (d: any) => `translate(1549, ${lineGraphTranslate.y + height + 6 - 10})`,\r\n });\r\n\r\n guestWTPWrapper\r\n .transition()\r\n .delay(0)\r\n .duration(10)\r\n .attr({\r\n 'opacity': 0,\r\n 'transform': (d: any) => `translate(1335, ${lineGraphTranslate.y + height + 6 - 10})`,\r\n })\r\n .call(endAll, function () {\r\n currentProcess.selectAll('.line-y-value-currency')\r\n .transition()\r\n .delay(0)\r\n .duration(10)\r\n .attr({\r\n 'opacity': 0\r\n })\r\n lineGraphWrapper\r\n .transition()\r\n .delay(0)\r\n .duration(10)\r\n .style({\r\n 'opacity': 0\r\n })\r\n .call(endAll, function () {\r\n const selectIcons = individualSegment.selectAll('.icon')\r\n selectIcons[0].reverse();\r\n selectIcons\r\n .transition()\r\n .delay((d, i) => i * 10)\r\n .duration(10)\r\n .style('opacity', 0)\r\n .attr({\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y})`,\r\n })\r\n .call(endAll, function () {\r\n hideImage(individualSegment, 'center', 0, 10, () => { })\r\n hideText(individualSegment, 'individual-segment-title', 0, 10, () => { })\r\n hideText(individualSegment, 'bottom-title-text-screen-4', 0, 10, () => {\r\n hideImage(rightContainer, 'right-bg', 0, 10, () => {\r\n initiateEndAnimation();\r\n })\r\n })\r\n })\r\n })\r\n })\r\n }\r\n\r\n function endAnimation() {\r\n initiateEndAnimation();\r\n }\r\n\r\n function resetElements() {\r\n // console.log('=================Inside screen4 hideElements function');\r\n operateLine(currentProcess, 'screen-4-lines', 'hide', 0, 0);\r\n hideImage(currentProcess, 'screen-4-images', 0, 0);\r\n hideText(currentProcess, 'screen-4-text', 0, 0);\r\n hideImage(rightContainer, 'right-bg', 0, 0);\r\n currentProcess.selectAll('.line-y-value-currency')\r\n .transition()\r\n .duration(0)\r\n .attr('opacity', 0);\r\n lineGraphWrapper.style('opacity', 0);\r\n // avgWTPWrapper.attr('opacity', 0);\r\n segmentWTPWrapper.attr('opacity', 0);\r\n guestWTPWrapper.attr('opacity', 0);\r\n }\r\n\r\n function initialAnimationEnd() {\r\n that.onAnimationEnd();\r\n }\r\n\r\n function animateHandCursor(index = true) {\r\n lineGraphWrapper.select('.hand-cursor')\r\n .style({\r\n 'opacity': d => {\r\n d.isAnimating = true;\r\n return 1\r\n },\r\n 'display': 'block'\r\n })\r\n .transition()\r\n .duration(350)\r\n .ease('linear')\r\n .attr({\r\n 'transform': d => {\r\n const offset = index ? 4 : -4;\r\n return `translate(${d.x}, ${d.y - 30 + offset}) scale(1)`\r\n }\r\n })\r\n .call(endAll, function (d, i) {\r\n if (d.isAnimating) {\r\n animateHandCursor(!index);\r\n } else {\r\n this.style.display = 'none';\r\n }\r\n });\r\n }\r\n\r\n function animateDraggablePoints(cb = function () { animateHandCursor() }) {\r\n // draggableCircleWrapper.selectAll(`.drag-circle-group`)\r\n // .attr('opacity', d => {\r\n // d.isDraggable = false;\r\n // return 1\r\n // })\r\n // .transition()\r\n // .delay(50)\r\n // .duration(180)\r\n // .ease('linear')\r\n // .attr('transform', (d) => `translate(${x(d.date)}, ${y(d.close + d.dragValues[index])})`)\r\n // .each('end', function (d) {\r\n // if (index == 4)\r\n // d.isDraggable = true;\r\n // })\r\n // .transition()\r\n // .duration(0)\r\n // .call(endAll, function (d, i) {\r\n // index++;\r\n // if (index < 4) {\r\n // if (index % 2 == 0)\r\n // animateDraggablePoints(index);\r\n // else\r\n // animateDraggablePoints(index);\r\n // } else if (index == 4) {\r\n // animateDraggablePoints(index);\r\n // } else if (index > 4) {\r\n // cb();\r\n // }\r\n // });\r\n\r\n draggableCircleWrapper.selectAll(`.drag-circle-group`)\r\n .attr({\r\n 'transform': (d) => {\r\n d.isDraggable = false;\r\n return `translate(${x(d.date)}, ${y(d.close - 10)})`\r\n }\r\n })\r\n .transition()\r\n .delay(50)\r\n .duration(500)\r\n .ease('linear')\r\n .attr({\r\n 'opacity': '1',\r\n 'transform': (d) => `translate(${x(d.date)}, ${y(d.close)})`\r\n })\r\n .each('end', function (d) {\r\n d.isDraggable = true;\r\n })\r\n .transition()\r\n .duration(100)\r\n .call(endAll, function (d, i) {\r\n cb();\r\n });\r\n }\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n // console.log('screen-4 startAnimation');\r\n // that.isAnimation = true;\r\n // baseImage = '';\r\n // baseImage = '/assets/images/adaptive-pricing/4.png';\r\n // image.attr('xlink:href', baseImage);\r\n commonLeftSection.resetClass('expand');\r\n travellersWrapper.select(`.${that.selectedTraveller} .title-underline`)\r\n .attr({\r\n 'stroke': 'url(#traveller-selected-lg)',\r\n 'stroke-dashoffset': 0,\r\n 'opacity': 1\r\n });\r\n that.restrictScrollAndClick();\r\n updateRightSection();\r\n currentProcess.style('opacity', 1);\r\n initiateAnimation();\r\n // setTimeout(function () {\r\n // animateDraggablePoints()\r\n // }, 10000);\r\n },\r\n climaxAnimation() {\r\n // that.isAnimation = true;\r\n currentProcess.transition();\r\n that.restrictScrollAndClick();\r\n initiateEndRightAnimation()\r\n // endAnimation();\r\n // initiateEndAnimation()\r\n },\r\n stopAnimation() {\r\n // currentProcess.interrupt();\r\n currentProcess.style('opacity', 0);\r\n lineGraphWrapper.select('.hand-cursor')\r\n .style('opacity', d => {\r\n d.isAnimating = false;\r\n return '0'\r\n });\r\n },\r\n updateRightSection,\r\n resetElements() {\r\n resetElements();\r\n }\r\n }\r\n })();\r\n\r\n const screenFive = (() => {\r\n const currentProcess = dataGroup.append('g')\r\n .attr('id', 'screen-5-group')\r\n .attr('class', 'screen-5-group')\r\n .style('opacity', 0);\r\n\r\n const travelLeftLineGroup = currentProcess.append('g')\r\n .attr('class', 'travel-lines-screen-5');\r\n\r\n const travelLeftWTPGroup = currentProcess.append('g')\r\n .attr('class', 'traveller-wtp-screen-5');\r\n\r\n const stepData = {\r\n bottomText: {\r\n wholeText: [\r\n {\r\n text: 'WTP based rank-optimized hotel alternatives',\r\n dy: '0em',\r\n y: 0,\r\n x: 0\r\n },\r\n {\r\n text: ' to distribute tailored recommendations and offers',\r\n dy: '1.2em',\r\n y: 0,\r\n x: 0,\r\n }\r\n ],\r\n id: 'screen-5-step-bottom-text',\r\n class: 'screen-5 third-step-bottom-text screen-5-text',\r\n x: 818,\r\n y: 243,\r\n dy: '0em',\r\n finalX: 818,\r\n finalY: 253,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 18,\r\n 'font-weight': 400,\r\n 'fill': '#C94573'\r\n }\r\n },\r\n mainData: {\r\n id: 'screen-5-step-2',\r\n class: 'third-step-image step-background screen-5-images',\r\n x: 818,\r\n y: 176,\r\n finalX: 608,\r\n finalY: 116,\r\n width: 420,\r\n height: 160,\r\n src: '/assets/images/adaptive-pricing/step-bg.svg',\r\n o: 1,\r\n s: 0,\r\n text: {\r\n wholeText: [\r\n\r\n {\r\n text: 'Step 3:',\r\n dy: '0em',\r\n y: 0,\r\n x: 0,\r\n textStyle: {\r\n 'fill': '#C94573'\r\n }\r\n },\r\n {\r\n text: 'WTP Application',\r\n dy: '0em',\r\n y: 0,\r\n x: 66\r\n }\r\n ],\r\n id: 'screen-5-step-text',\r\n class: 'screen-5 third-step screen-5-text',\r\n x: 709,\r\n y: 193,\r\n dy: '0em',\r\n finalX: 709,\r\n finalY: 203,\r\n o: 0,\r\n textStyle: {\r\n // 'text-anchor': 'middle',\r\n 'font-size': 20,\r\n 'font-weight': 500,\r\n 'fill': '#3f3d56'\r\n }\r\n }\r\n }\r\n };\r\n\r\n const travelLeftLines = [{\r\n line: [[388, 325], [408, 325], [451, 617], [473, 617]],\r\n type: 'solo'\r\n }, {\r\n line: [[388, 487], [406, 487], [451, 617], [473, 617]],\r\n type: 'business'\r\n }, {\r\n line: [[388, 673], [410, 673], [451, 617], [473, 617]],\r\n type: 'couple'\r\n }, {\r\n line: [[388, 851], [406, 851], [451, 617], [473, 617]],\r\n type: 'group'\r\n }]\r\n\r\n travelLeftLines.forEach((data, index) => {\r\n const line = addDashedLine(travelLeftLineGroup, data.line, `screen-5 screen-5-lines travel-line ${data.type}`, '#65617d', '5,4');\r\n line.attr('stroke-dashoffset', (d) => d.pathLength);\r\n });\r\n\r\n const centerLeftLineGroup = currentProcess.append('g')\r\n .attr('class', 'center-left-lines-screen-5');\r\n\r\n const centerLeftLines = [{\r\n line: [[473, 617], [473, 497], [514, 472]],\r\n type: 'top'\r\n }, {\r\n line: [[473, 617], [473, 742], [514, 762]],\r\n type: 'bottom'\r\n }]\r\n\r\n centerLeftLines.forEach((data, index) => {\r\n const line = addDashedLine(centerLeftLineGroup, data.line, `screen-5 screen-5-lines center-left-line ${data.type}`, '#65617d', '5,4');\r\n line.attr('stroke-dashoffset', (d) => d.pathLength);\r\n })\r\n\r\n const middleSection = currentProcess.append('g')\r\n .attr('transform', 'translate(466, 390)');\r\n\r\n const stepGroup = currentProcess.append('g')\r\n .attr({\r\n 'class': 'screen-5-step-group',\r\n 'id': 'screen-5-step-group',\r\n 'transform': 'translate(0, 0)'\r\n });\r\n\r\n createImageUsingData(stepGroup, { ...stepData.mainData });\r\n\r\n createTextUsingData(stepGroup, { ...stepData.mainData.text });\r\n createTextUsingData(stepGroup, { ...stepData.bottomText });\r\n\r\n createTextUsingData(currentProcess, {\r\n wholeText: [{\r\n text: 'Attribute level WTP',\r\n textStyle: {\r\n 'font-weight': 500,\r\n }\r\n }],\r\n id: 'screen-other-title-text-screen-5',\r\n class: 'screen-other-title-text-screen-5 screen-5-text',\r\n x: 824,\r\n y: 333,\r\n dy: '0em',\r\n finalX: 824,\r\n finalY: 343,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 20,\r\n 'fill': '#3f3d56'\r\n }\r\n });\r\n\r\n const screenFiveCenterData = {\r\n titleText: {\r\n wholeText: [\r\n {\r\n text: 'Hotel ',\r\n textStyle: {\r\n 'font-weight': 500\r\n }\r\n },\r\n {\r\n text: 'Attributes'\r\n }\r\n ],\r\n text: 'Hotel Attributes',\r\n id: 'screen-title-text-screen-5',\r\n class: 'screen-title-text-screen-5 screen-5-text',\r\n x: 358,\r\n y: 4,\r\n finalX: 358,\r\n finalY: 14,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 20.5,\r\n 'fill': '#65617d'\r\n }\r\n },\r\n footerText: {\r\n wholeText: [{\r\n text: 'Attribute level',\r\n textStyle: {\r\n 'font-weight': 500,\r\n }\r\n },\r\n {\r\n text: ' WTP'\r\n }],\r\n id: 'footer-title-text-screen-5',\r\n class: 'footer-title-text-screen-5 screen-5-text',\r\n x: 353,\r\n y: 233,\r\n dy: '0em',\r\n finalX: 353,\r\n finalY: 243,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 20,\r\n 'letter-spacing': 0.1,\r\n 'fill': '#65617d'\r\n }\r\n },\r\n imageData: [{\r\n id: 'center-image-background-screen-5',\r\n width: 720,\r\n height: 280,\r\n src: 'assets/images/adaptive-pricing/double_box.svg',\r\n finalX: 0,\r\n finalY: 0,\r\n x: 353,\r\n y: 120,\r\n s: 0,\r\n class: 'screen-5 center background animate screen-5-images'\r\n }, {\r\n id: 'center-brand-screen-5',\r\n height: 65,\r\n width: 44,\r\n src: 'assets/images/adaptive-pricing/brand_red.svg',\r\n x: 121,\r\n y: 40,\r\n finalX: 121,\r\n finalY: 50,\r\n o: 0,\r\n class: 'screen-5 center icon brand animate screen-5-images'\r\n }, {\r\n id: 'center-location-screen-5',\r\n height: 65,\r\n width: 56,\r\n src: 'assets/images/adaptive-pricing/location_red.svg',\r\n x: 224,\r\n y: 40,\r\n finalX: 224,\r\n finalY: 50,\r\n o: 0,\r\n class: 'screen-5 center icon location animate screen-5-images'\r\n }, {\r\n id: 'center-star-screen-5',\r\n height: 64,\r\n width: 37,\r\n src: 'assets/images/adaptive-pricing/star_red.svg',\r\n x: 340,\r\n y: 42,\r\n finalX: 340,\r\n finalY: 52,\r\n o: 0,\r\n class: 'screen-5 center icon star animate screen-5-images'\r\n }, {\r\n id: 'center-review-screen-5',\r\n height: 62,\r\n width: 52,\r\n src: 'assets/images/adaptive-pricing/review_red.svg',\r\n x: 442,\r\n y: 43,\r\n finalX: 442,\r\n finalY: 53,\r\n o: 0,\r\n class: 'screen-5 center icon review animate screen-5-images'\r\n }, {\r\n id: 'center-discount-screen-5',\r\n height: 64,\r\n width: 56,\r\n src: 'assets/images/adaptive-pricing/discount_red.svg',\r\n x: 552,\r\n y: 42,\r\n finalX: 552,\r\n finalY: 52,\r\n o: 0,\r\n class: 'screen-5 center icon discount screen-5-images'\r\n }],\r\n connectors: [\r\n {\r\n x1: 142,\r\n x2: 142,\r\n y1: 125,\r\n y2: 142,\r\n class: 'screen-5 connector animate',\r\n stroke: '#b79e8f'\r\n },\r\n {\r\n x1: 252,\r\n x2: 252,\r\n y1: 125,\r\n y2: 142,\r\n class: 'screen-5 connector animate',\r\n stroke: '#b79e8f'\r\n },\r\n {\r\n x1: 360,\r\n x2: 360,\r\n y1: 125,\r\n y2: 142,\r\n class: 'screen-5 connector animate',\r\n stroke: '#b79e8f'\r\n },\r\n {\r\n x1: 468,\r\n x2: 468,\r\n y1: 125,\r\n y2: 142,\r\n class: 'screen-5 connector animate',\r\n stroke: '#b79e8f'\r\n },\r\n {\r\n x1: 580,\r\n x2: 580,\r\n y1: 125,\r\n y2: 142,\r\n class: 'screen-5 connector animate',\r\n stroke: '#b79e8f'\r\n },\r\n ],\r\n };\r\n\r\n createCenterBox(middleSection, screenFiveCenterData);\r\n\r\n const legendData = {\r\n textsContent: [\r\n {\r\n wholeText: [\r\n {\r\n text: 'Increase',\r\n textStyle: {\r\n 'font-weight': 500\r\n }\r\n }\r\n ],\r\n text: 'Increase',\r\n id: 'increase-indicator-text-screen-5',\r\n class: 'increase-indicator-text-screen-5',\r\n x: 160,\r\n y: 223,\r\n dy: '0em',\r\n finalX: 160,\r\n finalY: 223,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 14,\r\n 'fill': '#10919f'\r\n }\r\n },\r\n {\r\n wholeText: [\r\n {\r\n text: 'Decrease',\r\n textStyle: {\r\n 'font-weight': 500\r\n }\r\n }\r\n ],\r\n text: 'Decrease',\r\n id: 'decrease-indicator-text-screen-5',\r\n class: 'decrease-indicator-text-screen-5',\r\n x: 242,\r\n y: 223,\r\n dy: '0em',\r\n finalX: 242,\r\n finalY: 223,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 14,\r\n 'fill': '#a2487b'\r\n }\r\n },\r\n {\r\n wholeText: [\r\n {\r\n text: '( Variation of WTP from segment level based',\r\n dy: '0em',\r\n x: 0,\r\n y: 0,\r\n },\r\n {\r\n text: 'on guest’s individual heterogeneity )',\r\n dy: '1.1em',\r\n x: 30,\r\n y: 0,\r\n }\r\n ],\r\n text: '( Variation of WTP from segment level based on guest’s individual heterogeneity )',\r\n id: 'price-variation-text-screen-5',\r\n class: 'price-variation-text-screen-5',\r\n x: 322,\r\n y: 216,\r\n dy: '0em',\r\n finalX: 322,\r\n finalY: 216,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 14,\r\n 'fill': '#65617d'\r\n }\r\n },\r\n ],\r\n imageData: [\r\n {\r\n id: 'increase-indicator-screen-5',\r\n height: 16,\r\n width: 6,\r\n src: 'assets/images/adaptive-pricing/green_up_arrow.svg',\r\n x: 147,\r\n y: 210.5,\r\n finalX: 147,\r\n finalY: 210.5,\r\n o: 1,\r\n class: 'screen-5 indicator increase-indicator'\r\n },\r\n {\r\n id: 'decrease-indicator-screen-5',\r\n height: 16,\r\n width: 6,\r\n src: 'assets/images/adaptive-pricing/red_down_arrow.svg',\r\n x: 229,\r\n y: 210.5,\r\n finalX: 229,\r\n finalY: 210.5,\r\n o: 1,\r\n class: 'screen-5 indicator decrease-indicator'\r\n }\r\n ]\r\n };\r\n\r\n const legendSection = middleSection.append('g')\r\n .attr({\r\n 'class': 'wtp-legend-section',\r\n 'id': 'wtp-legend-section',\r\n })\r\n .style('opacity', 0);\r\n\r\n legendData.textsContent.forEach((textContent, index) => {\r\n createTextUsingData(legendSection, textContent);\r\n });\r\n\r\n legendData.imageData.forEach((image, index) => {\r\n createImageUsingData(legendSection, image);\r\n });\r\n\r\n const middleBottomSection = currentProcess.append('g')\r\n .attr('transform', 'translate(488, 667)');\r\n\r\n const screenFiveBottomData = {\r\n titleText: {\r\n wholeText: [{\r\n text: 'In-room',\r\n textStyle: {\r\n 'font-weight': 500,\r\n }\r\n }, {\r\n text: ' Attributes',\r\n textStyle: {\r\n }\r\n }],\r\n id: 'screen-title-bottom-text-screen-5',\r\n class: 'screen-title-bottom-text-screen-5 screen-5-images',\r\n x: 336,\r\n y: 4,\r\n finalX: 336,\r\n finalY: 14,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 20.5,\r\n 'fill': '#3f3d56'\r\n }\r\n },\r\n footerText: {\r\n wholeText: [{\r\n text: '(In-room Attributes are also considered in WTP)',\r\n // textStyle: {\r\n // 'font-weight': 500,\r\n // }\r\n }\r\n // ,\r\n // {\r\n // text: ' WTP'\r\n // }\r\n ],\r\n id: 'footer-title-bottom-text-screen-5',\r\n class: 'footer-title-bottom-text-screen-5 screen-5-text',\r\n x: 336,\r\n y: 151,\r\n dy: '0em',\r\n finalX: 336,\r\n finalY: 161,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 14,\r\n 'letter-spacing': 0.1,\r\n 'fill': '#65617d'\r\n }\r\n },\r\n imageData: [\r\n {\r\n id: 'center-image-background-bottom-screen-5',\r\n width: 672,\r\n height: 172,\r\n src: 'assets/images/adaptive-pricing/box.svg',\r\n x: 353,\r\n y: 86,\r\n finalX: 0,\r\n finalY: 0,\r\n class: 'screen-5 center background animate screen-5-images',\r\n s: 0\r\n },\r\n {\r\n id: 'center-bed-screen-5',\r\n height: 60,\r\n width: 66,\r\n src: 'assets/images/adaptive-pricing/bed_grey.svg',\r\n x: 84,\r\n y: 50,\r\n finalX: 84,\r\n finalY: 60,\r\n class: 'screen-5 center icon bed animate screen-5-images',\r\n o: 0\r\n },\r\n {\r\n id: 'center-wifi-screen-5',\r\n height: 62,\r\n width: 96,\r\n src: 'assets/images/adaptive-pricing/wifi_grey.svg',\r\n x: 191,\r\n y: 48,\r\n finalX: 191,\r\n finalY: 58,\r\n class: 'screen-5 center icon wifi animate screen-5-images',\r\n o: 0\r\n },\r\n {\r\n id: 'center-bar-screen-5',\r\n height: 60,\r\n width: 63,\r\n src: 'assets/images/adaptive-pricing/bar_grey.svg',\r\n x: 328,\r\n y: 46,\r\n finalX: 328,\r\n finalY: 56,\r\n class: 'screen-5 center icon bar animate screen-5-images',\r\n o: 0\r\n },\r\n {\r\n id: 'center-balcony-screen-5',\r\n height: 62,\r\n width: 48,\r\n src: 'assets/images/adaptive-pricing/balcony_grey.svg',\r\n x: 431,\r\n y: 48,\r\n finalX: 431,\r\n finalY: 58,\r\n class: 'screen-5 center icon balcony animate screen-5-images',\r\n o: 0\r\n },\r\n {\r\n id: 'center-kitchen-screen-5',\r\n height: 62,\r\n width: 48,\r\n src: 'assets/images/adaptive-pricing/kitchen_grey.svg',\r\n x: 524,\r\n y: 47,\r\n finalX: 524,\r\n finalY: 57,\r\n class: 'screen-5 center icon kitchen animate screen-5-images',\r\n o: 0\r\n },\r\n ]\r\n };\r\n\r\n createCenterBox(middleBottomSection, screenFiveBottomData);\r\n\r\n const confValuesGroup = middleSection.append('g');\r\n\r\n screenFiveCenterData.connectors.forEach((connector, index) => {\r\n const group = confValuesGroup.append('g')\r\n .attr({\r\n 'class': `values-group ${that.pricingData.travellerDetails.solo.attributes.hotel[index].id}`,\r\n 'id': `values-group-${index}`\r\n });\r\n\r\n const dvCalculateGroup = group.append('g')\r\n .attr({\r\n 'class': 'dv-calculate-group',\r\n 'id': `dv-calculate-group-${index}`,\r\n });\r\n\r\n group.append('line')\r\n .attr({\r\n 'x1': connector.x1,\r\n 'x2': connector.x2,\r\n 'y1': connector.y1,\r\n 'y2': connector.y2,\r\n 'class': `${connector.class}`,\r\n 'id': `${connector.class || `line-${index}`}`,\r\n 'stroke': connector.stroke || '#65617d',\r\n })\r\n .style({\r\n 'opacity': 0\r\n });\r\n\r\n dvCalculateGroup\r\n .datum(connector)\r\n .attr({\r\n 'opacity': 0\r\n });\r\n\r\n group.append('text')\r\n .datum(connector)\r\n .attr({\r\n 'class': `selected-values new-wtp-value animate`,\r\n 'id': `selected-values-${index}`,\r\n 'x': connector.x1 - 2,\r\n 'y': connector.y2 + 37,\r\n 'dy': '0em',\r\n 'fill': '#65617d',\r\n 'font-size': '22',\r\n 'text-anchor': 'end',\r\n 'opacity': 0\r\n })\r\n .style({\r\n 'font-weight': '500'\r\n })\r\n .text(`$70`);\r\n\r\n createImageUsingData(dvCalculateGroup, {\r\n 'id': `dv-indicator-${index}`,\r\n 'class': `dv-indicator screen-5-images-2`,\r\n 'height': 16,\r\n 'width': 6,\r\n 'src': 'assets/images/adaptive-pricing/green_up_arrow.svg',\r\n // 'src': 'assets/images/adaptive-pricing/red_down_arrow.svg',\r\n 'x': connector.x1 + 2,\r\n 'y': connector.y2 + 10,\r\n });\r\n\r\n dvCalculateGroup.append('text')\r\n .datum(connector)\r\n .attr({\r\n 'class': `dv-values-deduct animate`,\r\n 'id': `dv-values-deduct-${index}`,\r\n 'x': connector.x1 + 10 + 2,\r\n 'y': connector.y2 + 10 + 14,\r\n 'dy': '0em',\r\n 'fill': '#10919f',\r\n 'font-size': '14',\r\n 'text-anchor': 'start'\r\n })\r\n .style({\r\n 'font-weight': '500'\r\n })\r\n .text(`$10`);\r\n });\r\n\r\n createTextUsingData(middleBottomSection, { ...screenFiveBottomData.footerText });\r\n\r\n const travelRightLineGroup = currentProcess.append('g')\r\n .attr('class', 'right-lines-screen-5');\r\n\r\n const travelRightLines = [{\r\n line: [[1135, 473], [1177, 495], [1177, 616]],\r\n type: 'top'\r\n }, {\r\n line: [[1135, 758], [1177, 732], [1177, 616]],\r\n type: 'bottom'\r\n }, {\r\n line: [[1178, 617], [1204, 615], [1231, 313], [1264, 312]],\r\n type: 'right'\r\n }];\r\n\r\n travelRightLines.forEach((data, index) => {\r\n const line = addDashedLine(travelRightLineGroup, data.line, `screen-5 screen-5-lines ${data.type} ${data.type}-line`, '#65617d', '5,4');\r\n line.attr('stroke-dashoffset', (d) => d.pathLength);\r\n });\r\n\r\n function updateMiddleSection() {\r\n // // console.log('screen-5 Inside updateMiddleSection');\r\n // drawLine(travelLeftLineGroup);\r\n that.pricingData.travellerDetails[that.selectedTraveller].attributes.hotel.forEach((hAttributes, index) => {\r\n const confGroup = confValuesGroup.select(`.${hAttributes.id}`);\r\n const dvCalGroup = confGroup.select(`.dv-calculate-group`);\r\n\r\n const dvCalculation = hAttributes.preferredValue - hAttributes.defaultValue;\r\n let dvColor = '#10919f';\r\n let dvText = `${that.pricingData.currencyUnit}${Math.abs(dvCalculation)}`;\r\n let dvSrc = 'assets/images/adaptive-pricing/green_up_arrow.svg';\r\n\r\n confGroup.select('.selected-values')\r\n .text(`${that.pricingData.currencyUnit}${hAttributes.preferredValue}`);\r\n\r\n if (dvCalculation < 0) {\r\n dvSrc = 'assets/images/adaptive-pricing/red_down_arrow.svg';\r\n dvColor = '#a2487b';\r\n } else if (dvCalculation == 0) {\r\n dvSrc = '';\r\n dvText = '';\r\n } else {\r\n dvSrc = 'assets/images/adaptive-pricing/green_up_arrow.svg';\r\n }\r\n\r\n dvCalGroup\r\n .each(d => {\r\n d.preferredValue = hAttributes.preferredValue;\r\n d.dvCalculation = dvCalculation;\r\n d.defaultValue = hAttributes.defaultValue;\r\n });\r\n\r\n dvCalGroup.select('.dv-indicator')\r\n .attr({\r\n 'xlink:href': dvSrc,\r\n });\r\n\r\n dvCalGroup.select('.dv-values-deduct')\r\n .text(dvText)\r\n .attr('fill', dvColor)\r\n });\r\n }\r\n\r\n function initStepAnimation(cb = function () { }) {\r\n showImage(stepGroup, 'third-step-image', 0, 300, function () {\r\n showText(stepGroup, 'third-step', 0, 200, function () {\r\n showText(stepGroup, 'third-step-bottom-text', 0, 200, function () {\r\n cb();\r\n })\r\n })\r\n })\r\n }\r\n\r\n function setUpdatedValue() {\r\n //add class(card-active) to right section\r\n that.addClassToDom('screen-five-right-section', that.htmlClassVariable.card);\r\n that.addClassToDom('screen-five-right-section #card-body-1', that.htmlClassVariable.hotelListLoader);\r\n updateGuestSegmentWTPValue();\r\n commonLeftSection.resetClass('expand');\r\n commonLeftSection.addClass('expand');\r\n travellersWrapper.select(`.${that.selectedTraveller} .title-underline`)\r\n .transition()\r\n .duration(80)\r\n .attr({\r\n 'stroke': 'url(#traveller-selected-lg)',\r\n 'stroke-dashoffset': 0,\r\n 'opacity': 0\r\n });\r\n animateLeftToRightSection(function () { initialAnimationEnded() });\r\n }\r\n\r\n function initiateAnimation(group, className, bottomTextClassName, cb = function () { }) {\r\n showText(group, className, 0, 500, () => { })\r\n showText(group, bottomTextClassName, 0, 500, () => { })\r\n showImage(group, 'center'\r\n , 0, 500, () => {\r\n group.selectAll('.icon')\r\n .transition()\r\n .delay((d, i) => i * 80)\r\n .duration(100)\r\n .style('opacity', 1)\r\n .attr({\r\n 'transform': (d: any) => `translate(${d.finalX}, ${d.finalY})`,\r\n })\r\n .call(endAll, function (d, i) {\r\n group.selectAll('.connector')\r\n .transition()\r\n // .delay((d, i) => 80)\r\n .duration(100)\r\n .style({\r\n 'opacity': 1,\r\n })\r\n .call(endAll, function (d, i) {\r\n // TODO\r\n cb();\r\n })\r\n })\r\n })\r\n }\r\n\r\n function updateGuestSegmentWTPValue() {\r\n let attributes = that.pricingData.travellerDetails[that.selectedTraveller].attributes.hotel;\r\n let totalValue = 0;\r\n attributes.forEach((attribute, index) => {\r\n totalValue += attribute.preferredValue;\r\n })\r\n that.guestSegmentWTP = totalValue;\r\n // console.log('guestSegmentWTP: ', that.guestSegmentWTP);\r\n that.updateHotelPrice();\r\n commonLeftSection.updateGuestSegmentWTPValueToDOM();\r\n }\r\n\r\n function initialAnimationEnded() {\r\n // console.log('All attributes have been visible');\r\n // TODO\r\n //add class(list-active) be added from here\r\n that.removeClassFromDom('screen-five-right-section #card-body-1', that.htmlClassVariable.hotelListLoader);\r\n that.addClassToDom('screen-five-right-section #card-body-1', that.htmlClassVariable.hotelList);\r\n that.onAnimationEnd();\r\n }\r\n\r\n function initiatEndAnimation(cb = function () { }) {\r\n legendSection\r\n .transition()\r\n .delay(10)\r\n .style({\r\n 'opacity': 0\r\n });\r\n middleSection.selectAll('.dv-calculate-group')\r\n .attr({\r\n 'opacity': 1,\r\n 'transform': (d: any) => `translate(${0}, ${0})`\r\n })\r\n .transition()\r\n .delay((d, i) => 10)\r\n .duration(10)\r\n .attr({\r\n 'opacity': 0,\r\n 'transform': (d: any) => `translate(${0}, ${d.dvCalculation < 0 ? -10 : 10})`\r\n })\r\n .call(endAll, function (d, i) {\r\n const newWtpValue = middleSection.selectAll('.new-wtp-value')\r\n newWtpValue[0].reverse();\r\n newWtpValue.attr({\r\n 'opacity': 1,\r\n 'transform': (d: any) => `translate(${0}, ${0})`\r\n })\r\n .transition()\r\n .delay((d, i) => i * 10)\r\n .duration(10)\r\n .attr({\r\n 'opacity': 0,\r\n 'transform': (d: any) => `translate(${-15}, ${0})`\r\n })\r\n .call(endAll, function (d, i) {\r\n const selectConnector = middleSection.selectAll('.connector')\r\n selectConnector[0].reverse();\r\n selectConnector\r\n .transition()\r\n .delay((d, i) => i * 10)\r\n .duration(10)\r\n .style({\r\n 'opacity': 0,\r\n })\r\n .call(endAll, function (d, i) {\r\n const selectIcon = middleSection.selectAll('.icon')\r\n selectIcon[0].reverse()\r\n selectIcon\r\n .transition()\r\n .delay((d, i) => i * 10)\r\n .duration(10)\r\n .style('opacity', 0)\r\n .attr({\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y})`,\r\n })\r\n .call(endAll, function (d, i) {\r\n hideText(middleSection, 'screen-title-text-screen-5', 0, 10);\r\n hideText(middleSection, 'footer-title-text-screen-5', 0, 10);\r\n hideImage(middleSection, 'center', 0, 10);\r\n hideText(currentProcess, 'screen-other-title-text-screen-5', 0, 10);\r\n hideText(stepGroup, 'third-step-bottom-text', 0, 10);\r\n hideText(stepGroup, 'third-step', 0, 10, function () {\r\n hideImage(stepGroup, 'third-step-image', 0, 10, cb);\r\n })\r\n })\r\n })\r\n })\r\n })\r\n }\r\n\r\n function endBottomAnimation() {\r\n const selectIcon = middleBottomSection.selectAll('.icon')\r\n selectIcon[0].reverse()\r\n selectIcon\r\n .transition()\r\n .delay((d, i) => i * 10)\r\n .duration(10)\r\n .style('opacity', 0)\r\n .attr({\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y})`,\r\n })\r\n .call(endAll, function (d, i) {\r\n hideText(middleBottomSection, 'screen-title-bottom-text-screen-5', 0, 10, () => { });\r\n hideText(middleBottomSection, 'footer-title-bottom-text-screen-5', 0, 10, () => { });\r\n hideImage(middleBottomSection, 'center', 0, 10);\r\n // hideText(stepGroup, 'third-step-bottom-text', 0, 100)\r\n // hideText(stepGroup, 'third-step', 0, 100, function () {\r\n // hideImage(stepGroup, 'third-step-image', 0, 100);\r\n // })\r\n })\r\n }\r\n\r\n function endAnimation() {\r\n //remove class(card-active) from right section\r\n that.removeClassFromDom('screen-five-right-section', that.htmlClassVariable.card);\r\n operateLine(travelRightLineGroup, 'right-line', 'hide', 0, 10, function () {\r\n operateLine(travelRightLineGroup, 'bottom-line', 'hide', 0, 10)\r\n operateLine(travelRightLineGroup, 'top-line', 'hide', 0, 10, function () {\r\n endBottomAnimation();\r\n initiatEndAnimation(function () {\r\n operateLine(centerLeftLineGroup, 'top', 'hide', 0, 10, function () {\r\n operateLine(travelLeftLineGroup, that.selectedTraveller, 'hide', 0, 10, function () {\r\n commonLeftSection.resetClass('expand');\r\n });\r\n })\r\n operateLine(centerLeftLineGroup, 'bottom', 'hide', 0, 10)\r\n });\r\n })\r\n });\r\n }\r\n\r\n function updateTravellerPreference() {\r\n //remove class(list-active) from right section\r\n that.removeClassFromDom('screen-five-right-section #card-body-1', that.htmlClassVariable.hotelList);\r\n that.addClassToDom('screen-five-right-section #card-body-1', that.htmlClassVariable.hotelListLoader);\r\n\r\n operateLine(travelRightLineGroup, 'right-line', 'hide', 0, 200, function () {\r\n operateLine(travelRightLineGroup, 'bottom-line', 'hide', 0, 200)\r\n operateLine(travelRightLineGroup, 'top-line', 'hide', 0, 200, function () {\r\n middleBottomSection.selectAll('.icon')\r\n .transition()\r\n .duration(5)\r\n .attr({\r\n 'xlink:href': (d: any) => d.src\r\n });\r\n middleSection.selectAll('.dv-calculate-group')\r\n .attr({\r\n 'opacity': 1,\r\n 'transform': (d: any) => `translate(${0}, ${0})`\r\n })\r\n .transition()\r\n .delay((d, i) => 80)\r\n .duration(100)\r\n .attr({\r\n 'opacity': 0,\r\n 'transform': (d: any) => `translate(${0}, ${d.dvCalculation < 0 ? -10 : 10})`\r\n })\r\n .call(endAll, function () {\r\n middleSection.selectAll('.new-wtp-value')\r\n .attr({\r\n 'opacity': 1,\r\n 'transform': (d: any) => `translate(${0}, ${0})`\r\n })\r\n .transition()\r\n .delay((d, i) => i * 50)\r\n .duration(100)\r\n .attr({\r\n 'opacity': 0,\r\n 'transform': (d: any) => `translate(${-15}, ${0})`\r\n })\r\n .call(endAll, function (d, i) {\r\n operateLine(centerLeftLineGroup, 'bottom', 'hide', 0, 200)\r\n operateLine(centerLeftLineGroup, 'top', 'hide', 0, 200, function () {\r\n operateLine(travelLeftLineGroup, 'screen-5-lines', 'hide', 0, 200, function () {\r\n // TODO\r\n //expand class to be added from here\r\n updateGuestSegmentWTPValue();\r\n commonLeftSection.resetClass('expand');\r\n commonLeftSection.addClass('expand');\r\n updateMiddleSection();\r\n animateLeftToRightSection(function () { initialAnimationEnded() });\r\n });\r\n })\r\n });\r\n });\r\n })\r\n });\r\n }\r\n\r\n function animateLeftToRightSection(cb = function () { }) {\r\n operateLine(travelLeftLineGroup, that.selectedTraveller, 'draw', 200, 400, function () {\r\n operateLine(centerLeftLineGroup, 'center-left-line', 'hide', 0, 0, function () {\r\n operateLine(centerLeftLineGroup, 'bottom', 'draw', 0, 400)\r\n operateLine(centerLeftLineGroup, 'top', 'draw', 0, 400, function () {\r\n updateIcons(middleBottomSection, 'inRoom');\r\n middleSection.selectAll('.new-wtp-value')\r\n .attr({\r\n 'opacity': 0,\r\n 'transform': (d: any) => `translate(${-15}, ${0})`\r\n })\r\n .transition()\r\n .delay((d, i) => i * 80)\r\n .duration(200)\r\n .attr({\r\n 'opacity': 1,\r\n 'transform': (d: any) => `translate(${0}, ${0})`\r\n })\r\n .call(endAll, function (d, i) {\r\n legendSection\r\n .transition()\r\n .duration(150)\r\n .style({\r\n 'opacity': 1\r\n });\r\n middleSection.selectAll('.dv-calculate-group')\r\n .attr({\r\n 'opacity': 0,\r\n 'transform': (d: any) => `translate(${0}, ${d.dvCalculation < 0 ? -10 : 10})`\r\n })\r\n .transition()\r\n .delay((d, i) => 80)\r\n .duration(250)\r\n .attr({\r\n 'opacity': 1,\r\n 'transform': (d: any) => `translate(${0}, ${0})`\r\n })\r\n .call(endAll, function () {\r\n operateLine(travelRightLineGroup, 'bottom-line', 'draw', 0, 400)\r\n operateLine(travelRightLineGroup, 'top-line', 'draw', 0, 400, function () {\r\n operateLine(travelRightLineGroup, 'right-line', 'draw', 0, 400, function () {\r\n cb();\r\n });\r\n });\r\n })\r\n });\r\n })\r\n\r\n })\r\n\r\n // operateLine(travelRightLineGroup, 'right-line', 'draw', 0, 700, function () {\r\n // initialAnimationEnded();\r\n // });\r\n })\r\n }\r\n\r\n function resetElements() {\r\n // console.log('=================Inside screen5 hideElements function');\r\n operateLine(currentProcess, 'screen-5-lines', 'hide', 0, 0);\r\n hideImage(currentProcess, 'screen-5-images', 0, 0);\r\n hideText(currentProcess, 'screen-5-text', 0, 0);\r\n legendSection.style('opacity', 0);\r\n currentProcess.selectAll('.dv-calculate-group')\r\n .transition()\r\n .duration(0)\r\n .attr('opacity', '0');\r\n currentProcess.selectAll('.new-wtp-value')\r\n .transition()\r\n .duration(0)\r\n .attr('opacity', '0');\r\n middleSection.selectAll('.connector')\r\n .transition()\r\n .duration(0)\r\n .style('opacity', '0');\r\n }\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n // console.log('screen-5 startAnimation');\r\n // baseImage = '';\r\n // baseImage = '/assets/images/adaptive-pricing/5.png';\r\n // image.attr('xlink:href', baseImage);\r\n that.restrictScrollAndClick();\r\n updateMiddleSection();\r\n // console.log(that.previousTraversedSlide);\r\n currentProcess\r\n .transition()\r\n .delay(that.currentScrollDirection == 'forward' ? 0 : 2000)\r\n .duration(0)\r\n .style('opacity', 1)\r\n .call(endAll, function () {\r\n initStepAnimation(function () {\r\n showText(currentProcess, 'screen-other-title-text-screen-5', 0, 200, () => { })\r\n initiateAnimation(middleSection, 'screen-title-text-screen-5', 'footer-title-text-screen-5', function () { setUpdatedValue() });\r\n initiateAnimation(middleBottomSection, 'screen-title-bottom-text-screen-5', 'footer-title-bottom-text-screen-5', function () { });\r\n });\r\n });\r\n },\r\n climaxAnimation() {\r\n // that.isAnimation = true;\r\n currentProcess.transition();\r\n that.restrictScrollAndClick();\r\n endAnimation();\r\n },\r\n stopAnimation() {\r\n // currentProcess.interrupt();\r\n //remove class(list-active) from right section\r\n that.removeClassFromDom('screen-five-right-section #card-body-1', that.htmlClassVariable.hotelList);\r\n that.removeClassFromDom('screen-five-right-section #card-body-1', that.htmlClassVariable.hotelListLoader);\r\n commonLeftSection.resetClass('expand');\r\n currentProcess.style('opacity', 0);\r\n },\r\n updateMiddleSection,\r\n updateTravellerPreference,\r\n resetElements() {\r\n resetElements();\r\n },\r\n groups: {\r\n travelRightLineGroup\r\n }\r\n }\r\n })();\r\n\r\n const screenSix = (() => {\r\n const currentProcess = dataGroup.append('g')\r\n .attr('id', 'screen-6-group')\r\n .attr('class', 'screen-6-group')\r\n .style('opacity', 0);\r\n\r\n const travelLeftLineGroup = currentProcess.append('g')\r\n .attr('class', 'travel-lines-screen-6');\r\n\r\n const travelLeftLines = [\r\n {\r\n line: [[310, 320], [395, 320], [446, 570], [482, 570]],\r\n type: 'solo'\r\n },\r\n {\r\n line: [[310, 491], [395, 491], [446, 570], [482, 570]],\r\n type: 'business'\r\n },\r\n {\r\n line: [[310, 674], [395, 674], [446, 570], [482, 570]],\r\n type: 'couple'\r\n },\r\n {\r\n line: [[310, 848], [395, 848], [446, 570], [482, 570]],\r\n type: 'group'\r\n }\r\n ];\r\n\r\n travelLeftLines.forEach((data, index) => {\r\n const line = addDashedLine(travelLeftLineGroup, data.line, `screen-6 screen-6-lines travel-line ${data.type}`, '#65617d', '5,4');\r\n line.attr('stroke-dashoffset', (d) => d.pathLength);\r\n });\r\n\r\n // const centerLeftLineGroup = currentProcess.append('g')\r\n // .attr('class', 'center-left-lines-screen-6');\r\n\r\n const centerLeftLines = [\r\n {\r\n line: [[482, 542], [482, 361], [516, 328]],\r\n type: 'top'\r\n },\r\n {\r\n line: [[482, 542], [482, 772], [516, 814]],\r\n type: 'bottom'\r\n },\r\n {\r\n line: [[482, 500], [516, 500]],\r\n type: 'center-top'\r\n },\r\n {\r\n line: [[482, 664], [516, 664]],\r\n type: 'center-bottom'\r\n }\r\n ];\r\n\r\n centerLeftLines.forEach((data, index) => {\r\n const line = addDashedLine(travelLeftLineGroup, data.line, `screen-6 screen-6-lines center-left-line ${data.type}`, '#65617d', '5,4');\r\n line.attr('stroke-dashoffset', (d) => d.pathLength);\r\n });\r\n\r\n const middleTopSection = currentProcess.append('g')\r\n .attr('transform', 'translate(490, 240)');\r\n\r\n const screenSixTopData = {\r\n titleText: {\r\n wholeText: [{\r\n text: 'Hotel',\r\n textStyle: {\r\n 'font-weight': 500,\r\n }\r\n }, {\r\n text: ' Attributes',\r\n textStyle: {\r\n }\r\n }],\r\n id: 'screen-title-top-text-screen-6',\r\n class: 'screen-title-top-text-screen-6 screen-6-text',\r\n x: 334,\r\n y: 8,\r\n finalX: 334,\r\n finalY: 18,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 20.5,\r\n 'fill': '#3f3d56'\r\n }\r\n },\r\n imageData: [{\r\n id: 'center-image-background-top-screen-6',\r\n width: 672,\r\n height: 172,\r\n src: 'assets/images/adaptive-pricing/box.svg',\r\n x: 336,\r\n y: 86,\r\n finalX: 0,\r\n finalY: 0,\r\n class: 'screen-6 center background animate screen-6-images',\r\n s: 0\r\n }, {\r\n id: 'center-brand-screen-6',\r\n height: 65,\r\n width: 44,\r\n src: 'assets/images/adaptive-pricing/brand_grey.svg',\r\n x: 98,\r\n y: 45,\r\n finalX: 98,\r\n finalY: 55,\r\n class: 'screen-6 center icon brand animate screen-6-images',\r\n o: 0.3\r\n }, {\r\n id: 'center-location-screen-6',\r\n height: 65,\r\n width: 56,\r\n src: 'assets/images/adaptive-pricing/location_grey.svg',\r\n x: 200,\r\n y: 45,\r\n finalX: 200,\r\n finalY: 55,\r\n class: 'screen-6 center icon location animate screen-6-images',\r\n o: 0.3\r\n }, {\r\n id: 'center-star-screen-6',\r\n height: 64,\r\n width: 37,\r\n src: 'assets/images/adaptive-pricing/star_grey.svg',\r\n x: 318,\r\n y: 45,\r\n finalX: 318,\r\n finalY: 55,\r\n class: 'screen-6 center icon star animate screen-6-images',\r\n o: 0.3\r\n }, {\r\n id: 'center-review-screen-6',\r\n height: 62,\r\n width: 52,\r\n src: 'assets/images/adaptive-pricing/review_grey.svg',\r\n x: 418,\r\n y: 45,\r\n finalX: 418,\r\n finalY: 58,\r\n class: 'screen-6 center icon review animate screen-6-images',\r\n o: 0.3\r\n }, {\r\n id: 'center-discount-screen-6',\r\n height: 64,\r\n width: 56,\r\n src: 'assets/images/adaptive-pricing/discount_grey.svg',\r\n x: 530,\r\n y: 45,\r\n finalX: 530,\r\n finalY: 56,\r\n class: 'screen-6 center icon discount animate screen-6-images',\r\n o: 0.3\r\n }]\r\n };\r\n\r\n createCenterBox(middleTopSection, screenSixTopData);\r\n\r\n const middleBottomSection = currentProcess.append('g')\r\n .attr('transform', 'translate(490, 408)');\r\n\r\n const screenSixBottomData = {\r\n titleText: {\r\n wholeText: [{\r\n text: 'In-room',\r\n textStyle: {\r\n 'font-weight': 500,\r\n }\r\n }, {\r\n text: ' Attributes',\r\n textStyle: {\r\n }\r\n }],\r\n id: 'screen-title-bottom-text-screen-6',\r\n class: 'screen-title-bottom-text-screen-6 screen-6-text',\r\n x: 334,\r\n y: 8,\r\n finalX: 334,\r\n finalY: 18,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 20.5,\r\n 'fill': '#3f3d56'\r\n }\r\n },\r\n imageData: [\r\n {\r\n id: 'center-image-background-bottom-screen-6',\r\n width: 672,\r\n height: 172,\r\n src: 'assets/images/adaptive-pricing/box.svg',\r\n x: 336,\r\n y: 86,\r\n finalX: 0,\r\n finalY: 0,\r\n class: 'screen-6 center background animate screen-6-images',\r\n s: 0\r\n },\r\n {\r\n id: 'center-bed-screen-6',\r\n height: 60,\r\n width: 66,\r\n src: 'assets/images/adaptive-pricing/bed_grey.svg',\r\n x: 63,\r\n y: 46,\r\n finalX: 63,\r\n finalY: 56,\r\n class: 'screen-6 center icon bed animate screen-6-images',\r\n o: 0\r\n },\r\n {\r\n id: 'center-wifi-screen-6',\r\n height: 62,\r\n width: 96,\r\n src: 'assets/images/adaptive-pricing/wifi_grey.svg',\r\n x: 153,\r\n y: 44,\r\n finalX: 153,\r\n finalY: 54,\r\n class: 'screen-6 center icon wifi animate screen-6-images',\r\n o: 0\r\n },\r\n {\r\n id: 'center-bar-screen-6',\r\n height: 60,\r\n width: 63,\r\n src: 'assets/images/adaptive-pricing/bar_grey.svg',\r\n x: 277,\r\n y: 43,\r\n finalX: 277,\r\n finalY: 53,\r\n class: 'screen-6 center icon bar animate screen-6-images',\r\n o: 0\r\n },\r\n {\r\n id: 'center-balcony-screen-6',\r\n height: 62,\r\n width: 48,\r\n src: 'assets/images/adaptive-pricing/balcony_grey.svg',\r\n x: 383,\r\n y: 44,\r\n finalX: 383,\r\n finalY: 54,\r\n class: 'screen-6 center icon balcony animate screen-6-images',\r\n o: 0\r\n },\r\n {\r\n id: 'center-kitchen-screen-6',\r\n height: 62,\r\n width: 48,\r\n src: 'assets/images/adaptive-pricing/kitchen_grey.svg',\r\n x: 481,\r\n y: 42,\r\n finalX: 481,\r\n finalY: 52,\r\n class: 'screen-6 center icon kitchen animate screen-6-images',\r\n o: 0\r\n },\r\n {\r\n id: 'center-dining-screen-6',\r\n height: 62,\r\n width: 48,\r\n src: 'assets/images/adaptive-pricing/dining_grey.svg',\r\n x: 565,\r\n y: 43,\r\n finalX: 565,\r\n finalY: 53,\r\n class: 'screen-6 center icon dining animate screen-6-images',\r\n o: 0\r\n }\r\n ]\r\n };\r\n\r\n createCenterBox(middleBottomSection, screenSixBottomData);\r\n\r\n const centerRightLineGroup = currentProcess.append('g')\r\n .attr('class', 'center-right-lines-screen-6');\r\n\r\n const centerRightLines = [\r\n {\r\n line: [[1136, 326], [1172, 359], [1172, 570]],\r\n type: 'top'\r\n },\r\n {\r\n line: [[1136, 813], [1172, 772], [1172, 570]],\r\n type: 'bottom'\r\n },\r\n {\r\n line: [[1136, 500], [1172, 500]],\r\n type: 'center-top'\r\n },\r\n {\r\n line: [[1136, 664], [1172, 664]],\r\n type: 'center-bottom'\r\n },\r\n {\r\n line: [[1172, 570], [1198, 570], [1230, 356], [1259, 354]],\r\n type: 'right'\r\n }\r\n ];\r\n\r\n centerRightLines.forEach((data, index) => {\r\n const line = addDashedLine(centerRightLineGroup, data.line, `screen-6 screen-6-lines center-right-line ${data.type}`, '#65617d', '5,4');\r\n line.attr('stroke-dashoffset', (d) => d.pathLength);\r\n });\r\n\r\n const screenSixCurrentBookingIntent = {\r\n labelTextsContent: [\r\n {\r\n wholeText: [\r\n {\r\n text: 'Length of stay'\r\n }\r\n ],\r\n id: 'travel-type-label-text-screen-6',\r\n class: 'travel-type-label-text-screen-6 segment-profile-label segment-details screen-6-text',\r\n x: 88,\r\n y: 72,\r\n dy: '0em',\r\n finalX: 88,\r\n finalY: 72,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 14,\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400\r\n }\r\n },\r\n {\r\n wholeText: [{\r\n text: 'Booking lead time'\r\n }],\r\n id: 'customer-type-label-text-screen-6',\r\n class: 'customer-type-label-text-screen-6 segment-profile-label segment-details screen-6-text',\r\n x: 352,\r\n y: 72,\r\n dy: '0em',\r\n finalX: 352,\r\n finalY: 72,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 14,\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400\r\n }\r\n },\r\n {\r\n wholeText: [{\r\n text: 'Destination location'\r\n }],\r\n id: 'avg-length-of-stay-label-text-screen-6',\r\n class: 'avg-length-of-stay-label-text-screen-6 segment-profile-label segment-details screen-6-text',\r\n x: 88,\r\n y: 103,\r\n dy: '0em',\r\n finalX: 88,\r\n finalY: 103,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 14,\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400\r\n }\r\n },\r\n {\r\n wholeText: [{\r\n text: 'Weekend/day travel'\r\n }],\r\n id: 'avg-price-label-text-screen-6',\r\n class: 'avg-price-label-text-screen-6 segment-profile-label segment-details screen-6-text',\r\n x: 352,\r\n y: 103,\r\n dy: '0em',\r\n finalX: 352,\r\n finalY: 103,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 14,\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400\r\n }\r\n }\r\n ],\r\n answerTextsContent: [\r\n {\r\n wholeText: [\r\n {\r\n text: 'Travel type'\r\n }\r\n ],\r\n id: 'travel-type-answer-screen-6',\r\n class: 'travel-type-answer-screen-6 segment-profile-answer segment-details screen-6-text',\r\n x: 227,\r\n y: 72,\r\n dy: '0em',\r\n finalX: 227,\r\n finalY: 72,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 15,\r\n 'fill': '#C94573',\r\n 'font-weight': 500\r\n }\r\n },\r\n {\r\n wholeText: [{\r\n text: 'Cust. type'\r\n }],\r\n id: 'customer-type-answer-screen-6',\r\n class: 'customer-type-answer-screen-6 segment-profile-answer segment-details screen-6-text',\r\n x: 490,\r\n y: 72,\r\n dy: '0em',\r\n finalX: 490,\r\n finalY: 72,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 15,\r\n 'fill': '#C94573',\r\n 'font-weight': 500\r\n }\r\n },\r\n {\r\n wholeText: [{\r\n text: 'Avg. len. stay'\r\n }],\r\n id: 'avg-length-of-stay-answer-screen-6',\r\n class: 'avg-length-of-stay-answer-screen-6 segment-profile-answer segment-details screen-6-text',\r\n x: 227,\r\n y: 103,\r\n dy: '0em',\r\n finalX: 227,\r\n finalY: 103,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 15,\r\n 'fill': '#C94573',\r\n 'font-weight': 500\r\n }\r\n },\r\n {\r\n wholeText: [{\r\n text: 'Avg. price/night'\r\n }],\r\n id: 'avg-price-answer-screen-6',\r\n class: 'avg-price-answer-screen-6 segment-profile-answer segment-details screen-6-text',\r\n x: 490,\r\n y: 103,\r\n dy: '0em',\r\n finalX: 490,\r\n finalY: 103,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 15,\r\n 'fill': '#C94573',\r\n 'font-weight': 500\r\n }\r\n }\r\n ],\r\n titleBackgroundData: {\r\n titleText: {\r\n wholeText: [{\r\n text: 'Current',\r\n textStyle: {\r\n 'font-weight': 500,\r\n }\r\n }, {\r\n text: ' Booking Intent',\r\n textStyle: {\r\n }\r\n }],\r\n id: 'screen-title-segment-profile-text-screen-6',\r\n class: 'screen-title-segment-profile-text-screen-6 screen-6-text',\r\n x: 334,\r\n y: 8,\r\n finalX: 334,\r\n finalY: 18,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 20.5,\r\n 'fill': '#3f3d56'\r\n }\r\n },\r\n imageData: [\r\n {\r\n id: 'segment-profile-background-bottom-screen-6',\r\n width: 672,\r\n height: 172,\r\n src: 'assets/images/adaptive-pricing/box.svg',\r\n x: 336,\r\n y: 86,\r\n // x: 0,\r\n // y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n class: 'screen-6 bottom background animate segment-profile-bg screen-6-images',\r\n s: 0,\r\n // o: 1\r\n }]\r\n },\r\n };\r\n\r\n const segementProfileDataSection = currentProcess.append('g')\r\n .attr({\r\n 'class': 'segment-profile-section',\r\n 'id': 'segment-profile-section',\r\n 'transform': 'translate(490, 570)'\r\n });\r\n\r\n createCenterBox(segementProfileDataSection, screenSixCurrentBookingIntent.titleBackgroundData);\r\n\r\n const answerTextElement = [];\r\n\r\n screenSixCurrentBookingIntent.labelTextsContent.forEach((labelTextContent, index) => {\r\n const answerTextsContent = screenSixCurrentBookingIntent.answerTextsContent;\r\n createTextUsingData(segementProfileDataSection, labelTextContent);\r\n answerTextElement[index] = createTextUsingData(segementProfileDataSection, answerTextsContent[index]);\r\n });\r\n\r\n const screenSixHistoricPreferenceData = {\r\n labelTextsContent: [\r\n {\r\n wholeText: [\r\n {\r\n text: 'Past dollars spent'\r\n }\r\n ],\r\n id: 'travel-type-label-text-screen-6',\r\n class: 'travel-type-label-text-screen-6 historical-preference-label historical-details screen-6-text',\r\n x: 88,\r\n y: 72,\r\n dy: '0em',\r\n finalX: 88,\r\n finalY: 72,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 14,\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400\r\n }\r\n },\r\n {\r\n wholeText: [{\r\n text: 'Past star rating ref'\r\n }],\r\n id: 'customer-type-label-text-screen-6',\r\n class: 'customer-type-label-text-screen-6 historical-preference-label historical-details screen-6-text',\r\n x: 352,\r\n y: 72,\r\n dy: '0em',\r\n finalX: 352,\r\n finalY: 72,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 14,\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400\r\n }\r\n },\r\n {\r\n wholeText: [{\r\n text: 'Past total night',\r\n dy: '0em',\r\n x: 0,\r\n },\r\n {\r\n text: 'stayed',\r\n dy: '1.2em',\r\n x: 0,\r\n }],\r\n id: 'avg-length-of-stay-label-text-screen-6',\r\n class: 'avg-length-of-stay-label-text-screen-6 historical-preference-label historical-details screen-6-text',\r\n x: 88,\r\n y: 103,\r\n dy: '0em',\r\n finalX: 88,\r\n finalY: 103,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 14,\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400\r\n }\r\n },\r\n {\r\n wholeText: [{\r\n text: 'Past ancillary',\r\n dy: '0em',\r\n x: 0,\r\n },\r\n {\r\n text: 'interactions',\r\n dy: '1.2em',\r\n x: 0,\r\n }],\r\n id: 'avg-price-label-text-screen-6',\r\n class: 'avg-price-label-text-screen-6 historical-preference-label historical-details screen-6-text',\r\n x: 352,\r\n y: 103,\r\n dy: '0em',\r\n finalX: 352,\r\n finalY: 103,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 14,\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400\r\n }\r\n }\r\n ],\r\n answerTextsContent: [\r\n {\r\n wholeText: [\r\n {\r\n text: 'Travel type'\r\n }\r\n ],\r\n id: 'travel-type-answer-screen-6',\r\n class: 'travel-type-answer-screen-6 historical-preference-answer historical-details screen-6-text',\r\n x: 227,\r\n y: 72,\r\n dy: '0em',\r\n finalX: 227,\r\n finalY: 72,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 15,\r\n 'fill': '#C94573',\r\n 'font-weight': 500\r\n }\r\n },\r\n {\r\n wholeText: [{\r\n text: 'Cust. type'\r\n }],\r\n id: 'customer-type-answer-screen-6',\r\n class: 'customer-type-answer-screen-6 historical-preference-answer historical-details screen-6-text',\r\n x: 490,\r\n y: 72,\r\n dy: '0em',\r\n finalX: 490,\r\n finalY: 72,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 15,\r\n 'fill': '#C94573',\r\n 'font-weight': 500\r\n }\r\n },\r\n {\r\n wholeText: [{\r\n text: 'Avg. len. stay'\r\n }],\r\n id: 'avg-length-of-stay-answer-screen-6',\r\n class: 'avg-length-of-stay-answer-screen-6 historical-preference-answer historical-details screen-6-text',\r\n x: 227,\r\n y: 103,\r\n dy: '0em',\r\n finalX: 227,\r\n finalY: 103,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 15,\r\n 'fill': '#C94573',\r\n 'font-weight': 500\r\n }\r\n },\r\n {\r\n wholeText: [{\r\n text: 'Avg. price/night'\r\n }],\r\n id: 'avg-price-answer-screen-6',\r\n class: 'avg-price-answer-screen-6 historical-preference-answer historical-details screen-6-text',\r\n x: 490,\r\n y: 103,\r\n dy: '0em',\r\n finalX: 490,\r\n finalY: 103,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'start',\r\n 'font-size': 15,\r\n 'fill': '#C94573',\r\n 'font-weight': 500\r\n }\r\n }\r\n ],\r\n titleBackgroundData: {\r\n titleText: {\r\n wholeText: [{\r\n text: 'Guest\\'s',\r\n textStyle: {\r\n 'font-weight': 500,\r\n }\r\n }, {\r\n text: ' Historical Preferences',\r\n textStyle: {\r\n }\r\n }],\r\n id: 'screen-title-historical-preference-text-screen-6',\r\n class: 'screen-title-historical-preference-text-screen-6 screen-6-text',\r\n x: 334,\r\n y: 10,\r\n finalX: 334,\r\n finalY: 20,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 20.5,\r\n 'fill': '#3f3d56'\r\n }\r\n },\r\n imageData: [\r\n {\r\n id: 'segment-profile-background-bottom-screen-6',\r\n width: 672,\r\n height: 172,\r\n src: 'assets/images/adaptive-pricing/historic_box.svg',\r\n x: 336,\r\n y: 86,\r\n // x: 0,\r\n // y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n class: 'screen-6 bottom background animate historical-preference-bg screen-6-images',\r\n s: 0,\r\n // o: 1\r\n }]\r\n },\r\n };\r\n\r\n const segementHistoricPreferenceSection = currentProcess.append('g')\r\n .attr({\r\n 'class': 'segment-historic-preference-section',\r\n 'id': 'segment-historic-preference-section',\r\n 'transform': 'translate(490, 720)'\r\n });\r\n\r\n createCenterBox(segementHistoricPreferenceSection, screenSixHistoricPreferenceData.titleBackgroundData);\r\n\r\n const historicPreferenceAnswerTextElement = [];\r\n\r\n screenSixHistoricPreferenceData.labelTextsContent.forEach((labelTextContent, index) => {\r\n const answerTextsContent = screenSixHistoricPreferenceData.answerTextsContent;\r\n createTextUsingData(segementHistoricPreferenceSection, labelTextContent);\r\n historicPreferenceAnswerTextElement[index] = createTextUsingData(segementHistoricPreferenceSection, answerTextsContent[index]);\r\n });\r\n\r\n function startMiddleSectionAnimation(group, className, cb = function () { }) {\r\n showText(group, className, 0, 500, function () { });\r\n showImage(group, 'center'\r\n , 0, 500, function () {\r\n group.selectAll('.icon')\r\n .transition()\r\n .delay((d, i) => i * 80)\r\n .duration(100)\r\n .style('opacity', 0.3)\r\n .attr({\r\n 'xlink:href': (d: any) => d.src,\r\n 'transform': (d: any) => `translate(${d.finalX}, ${d.finalY})`\r\n })\r\n .call(endAll, function (d, i) {\r\n // console.log('All attributes have been visible');\r\n cb();\r\n })\r\n }\r\n )\r\n }\r\n\r\n function resetIconsLinesAndStartSelectedTravellertraverse() {\r\n hideText(segementProfileDataSection, 'segment-profile-answer', 0, 5);\r\n hideText(segementHistoricPreferenceSection, 'historical-preference-answer', 0, 5);\r\n currentProcess.selectAll('.icon')\r\n .transition()\r\n .duration(5)\r\n .attr({\r\n 'xlink:href': (d: any) => d.src\r\n })\r\n .style('opacity', 0.3)\r\n .call(endAll, function (d, i) {\r\n operateLine(travelLeftLineGroup, 'bottom', 'hide', 0, 100);\r\n operateLine(travelLeftLineGroup, 'center-bottom', 'hide', 0, 100);\r\n operateLine(travelLeftLineGroup, 'center-top', 'hide', 0, 100);\r\n operateLine(travelLeftLineGroup, 'top', 'hide', 0, 100,\r\n function () {\r\n startLeftToMiddleToRightAnimation();\r\n });\r\n });\r\n }\r\n\r\n function updateTravellerPreference(cb = resetIconsLinesAndStartSelectedTravellertraverse, removeClass = true) {\r\n // console.log('Screen six updateTravellerPreference');\r\n if (removeClass) {\r\n //remove class(list-active) from reight section\r\n that.removeClassFromDom('screen-six-right-section #card-body-1', that.htmlClassVariable.hotelList);\r\n that.addClassToDom('screen-six-right-section #card-body-1', that.htmlClassVariable.hotelListLoader);\r\n }\r\n operateLine(centerRightLineGroup, 'right', 'hide', 0, removeClass ? 100 : 10,\r\n function () {\r\n operateLine(centerRightLineGroup, 'top', 'hide', 0, removeClass ? 100 : 10);\r\n operateLine(centerRightLineGroup, 'center-top', 'hide', 0, removeClass ? 100 : 10);\r\n operateLine(centerRightLineGroup, 'center-bottom', 'hide', 0, removeClass ? 100 : 10);\r\n operateLine(centerRightLineGroup, 'bottom', 'hide', 0, removeClass ? 100 : 10,\r\n cb);\r\n });\r\n }\r\n\r\n function startLeftToMiddleToRightAnimation() {\r\n // console.log('Screen 6 Lines animation started');\r\n operateLine(travelLeftLineGroup, 'travel-line', 'hide', 0, 0, () =>\r\n operateLine(travelLeftLineGroup, that.selectedTraveller, 'draw', 0, 400,\r\n function () {\r\n operateLine(travelLeftLineGroup, 'center-left-line', 'hide', 0, 0,\r\n function () {\r\n operateLine(travelLeftLineGroup, 'bottom', 'draw', 0, 400, function () { updateTravellerDetailsInGuestsHistoricalPreferences(); });\r\n operateLine(travelLeftLineGroup, 'center-bottom', 'draw', 0, 400, function () { updateTravellerDetailsInCurrentBookingIntent(); });\r\n operateLine(travelLeftLineGroup, 'center-top', 'draw', 0, 400, function () { updateIcons(middleBottomSection, 'inRoom'); });\r\n operateLine(travelLeftLineGroup, 'top', 'draw', 0, 400, function () {\r\n updateIcons(middleTopSection, 'hotel', function () {\r\n operateLine(centerRightLineGroup, 'center-right-line', 'hide', 50, 0,\r\n function () {\r\n operateLine(centerRightLineGroup, 'top', 'draw', 0, 400);\r\n operateLine(centerRightLineGroup, 'center-top', 'draw', 0, 400);\r\n operateLine(centerRightLineGroup, 'center-bottom', 'draw', 0, 400);\r\n operateLine(centerRightLineGroup, 'bottom', 'draw', 0, 400,\r\n function () {\r\n operateLine(centerRightLineGroup, 'right', 'draw', 0, 400, function () {\r\n initialAnimationEnd();\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n })\r\n );\r\n }\r\n\r\n function initialAnimationEnd() {\r\n //add class(list-active) to right section card-body\r\n that.removeClassFromDom('screen-six-right-section #card-body-1', that.htmlClassVariable.hotelListLoader);\r\n that.addClassToDom('screen-six-right-section #card-body-1', that.htmlClassVariable.hotelList);\r\n that.onAnimationEnd();\r\n }\r\n\r\n function initiateAnimation() {\r\n // updateIcons(middleTopSection);\r\n // updateIcons(middleBottomSection);\r\n startMiddleSectionAnimation(middleTopSection, 'screen-title-top-text-screen-6');\r\n startMiddleSectionAnimation(middleBottomSection, 'screen-title-bottom-text-screen-6', function () {\r\n //add class(card-active) to right section\r\n that.addClassToDom('screen-six-right-section', that.htmlClassVariable.card);\r\n that.addClassToDom('screen-six-right-section #card-body-1', that.htmlClassVariable.hotelListLoader);\r\n startLeftToMiddleToRightAnimation();\r\n });\r\n showText(segementProfileDataSection, 'screen-title-segment-profile-text-screen-6', 0, 500, function () { });\r\n showImage(segementProfileDataSection, 'segment-profile-bg', 0, 500, function () {\r\n showText(segementProfileDataSection, 'segment-profile-label', 0, 200);\r\n });\r\n showText(segementHistoricPreferenceSection, 'screen-title-historical-preference-text-screen-6', 0, 500, function () { });\r\n showImage(segementHistoricPreferenceSection, 'historical-preference-bg', 0, 500, function () {\r\n showText(segementHistoricPreferenceSection, 'historical-preference-label', 0, 200);\r\n });\r\n }\r\n\r\n function updateTravellerDetailsInCurrentBookingIntent() {\r\n // console.log(\"selectedTravellerData\", that.selectedTravellerData);\r\n const travellerHistoryDetails = that.selectedTravellerData.historyData;\r\n answerTextElement[0].select('tspan').text(travellerHistoryDetails.lengthOfStay);\r\n answerTextElement[1].select('tspan').text(travellerHistoryDetails.bookingLeadTime);\r\n answerTextElement[2].select('tspan').text(travellerHistoryDetails.destinationLocation);\r\n answerTextElement[3].select('tspan').text(travellerHistoryDetails.weekendDayTravel);\r\n // answerTextElement[4].select('tspan').text(travellerHistoryDetails.checkInDays);\r\n // answerTextElement[5].select('tspan').text(travellerHistoryDetails.averageReviewScore);\r\n showText(segementProfileDataSection, 'segment-profile-answer', 0, 250);\r\n }\r\n\r\n function updateTravellerDetailsInGuestsHistoricalPreferences() {\r\n // console.log(\"selectedTravellerData\", that.selectedTravellerData);\r\n const travellerHistoryDetails = that.selectedTravellerData.historyData;\r\n historicPreferenceAnswerTextElement[0].select('tspan').text(`${that.pricingData.currencyUnit}${travellerHistoryDetails.pastDollarSpent}/night`);\r\n historicPreferenceAnswerTextElement[1].select('tspan').text(travellerHistoryDetails.pastStarRatingReference);\r\n historicPreferenceAnswerTextElement[2].select('tspan').text(travellerHistoryDetails.pastTotalNightStayed);\r\n historicPreferenceAnswerTextElement[3].select('tspan').text(travellerHistoryDetails.pastAncillaryInteractions);\r\n // answerTextElement[4].select('tspan').text(travellerHistoryDetails.checkInDays);\r\n // answerTextElement[5].select('tspan').text(travellerHistoryDetails.averageReviewScore);\r\n showText(segementHistoricPreferenceSection, 'historical-preference-answer', 0, 250);\r\n }\r\n\r\n function hideMiddleBackground(group, className) {\r\n currentProcess.selectAll('.icon')\r\n .transition()\r\n .duration(0)\r\n .attr({\r\n 'xlink:href': (d: any) => d.src\r\n })\r\n .style('opacity', '0');\r\n hideImage(group, 'center', 0, 0);\r\n hideText(group, className, 0, 0);\r\n }\r\n\r\n function initiateEndAnimation(group, className, cb = function () { }) {\r\n // console.log('Inside endAnimation');\r\n const selection = group.selectAll('.icon')\r\n selection[0].reverse();\r\n selection\r\n .transition()\r\n .delay((d, i) => i * 10)\r\n .duration(10)\r\n .style('opacity', 0)\r\n .attr({\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y})`,\r\n 'xlink:href': (d: any) => d.src\r\n })\r\n .call(endAll, function () {\r\n hideImage(group, 'center', 0, 10)\r\n hideText(group, className, 0, 10,\r\n cb);\r\n })\r\n }\r\n\r\n function endAnimation() {\r\n that.removeClassFromDom('screen-six-right-section', that.htmlClassVariable.card);\r\n updateTravellerPreference(function () {\r\n hideText(segementProfileDataSection, 'segment-details', 0, 10, function () {\r\n hideText(segementProfileDataSection, 'screen-title-segment-profile-text-screen-6', 0, 10);\r\n hideImage(segementProfileDataSection, 'segment-profile-bg', 0, 10);\r\n\r\n // hideText(segementHistoricPreferenceSection, 'screen-title-historical-preference-text-screen-6', 0, 10);\r\n // hideImage(segementHistoricPreferenceSection, 'historical-preference-bg', 0, 10);\r\n });\r\n\r\n hideText(segementHistoricPreferenceSection, 'historical-details', 0, 10, function () {\r\n hideText(segementHistoricPreferenceSection, 'screen-title-historical-preference-text-screen-6', 0, 10);\r\n hideImage(segementHistoricPreferenceSection, 'historical-preference-bg', 0, 10);\r\n });\r\n\r\n initiateEndAnimation(middleTopSection, 'screen-title-top-text-screen-6')\r\n initiateEndAnimation(middleBottomSection, 'screen-title-bottom-text-screen-6',\r\n function () {\r\n operateLine(travelLeftLineGroup, 'bottom', 'hide', 0, 10);\r\n operateLine(travelLeftLineGroup, 'center-bottom', 'hide', 0, 10);\r\n operateLine(travelLeftLineGroup, 'center-top', 'hide', 0, 10);\r\n operateLine(travelLeftLineGroup, 'top', 'hide', 0, 10,\r\n function () {\r\n operateLine(travelLeftLineGroup, 'travel-line', 'hide', 0, 10);\r\n });\r\n });\r\n }, false);\r\n }\r\n\r\n // function updateTravellerPreference() {\r\n // // drawLine(travelLeftLineGroup);\r\n\r\n // updateIcons(middleTopSection);\r\n // updateIcons(middleBottomSection);\r\n // }\r\n function resetElements() {\r\n // console.log('=================Inside screen6 hideElements function');\r\n operateLine(currentProcess, 'screen-6-lines', 'hide', 0, 0);\r\n hideImage(currentProcess, 'screen-6-images', 0, 0);\r\n hideText(currentProcess, 'screen-6-text', 0, 0);\r\n hideMiddleBackground(middleTopSection, 'screen-title-top-text-screen-6');\r\n hideMiddleBackground(middleBottomSection, 'screen-title-bottom-text-screen-6');\r\n }\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n // // console.log('screen-6 startAnimation');\r\n // baseImage = '';\r\n // baseImage = '/assets/images/adaptive-pricing/6.png';\r\n // image.attr('xlink:href', baseImage);\r\n commonLeftSection.resetClass('expand');\r\n that.restrictScrollAndClick();\r\n travellersWrapper.select(`.${that.selectedTraveller} .title-underline`)\r\n .attr({\r\n 'stroke': 'url(#traveller-selected-lg)',\r\n 'stroke-dashoffset': 0,\r\n 'opacity': 1\r\n });\r\n currentProcess\r\n .transition()\r\n .delay(2000)\r\n .style('opacity', 1)\r\n .call(endAll, function () {\r\n initiateAnimation();\r\n })\r\n },\r\n climaxAnimation() {\r\n currentProcess.transition();\r\n that.restrictScrollAndClick();\r\n endAnimation();\r\n },\r\n stopAnimation() {\r\n // currentProcess.interrupt();\r\n that.removeClassFromDom('screen-six-right-section #card-body-1', that.htmlClassVariable.hotelList);\r\n that.removeClassFromDom('screen-six-right-section #card-body-1', that.htmlClassVariable.hotelListLoader);\r\n currentProcess.style('opacity', 0);\r\n },\r\n updateTravellerPreference,\r\n resetElements() {\r\n resetElements();\r\n },\r\n groups: {\r\n centerRightLineGroup\r\n }\r\n }\r\n })();\r\n\r\n\r\n const travellersData = [\r\n {\r\n id: 'solo',\r\n class: 'solo',\r\n isDefault: false,\r\n x: 0,\r\n y: 0,\r\n rx: 65,\r\n width: 180,\r\n height: 130,\r\n imageURL: '',\r\n isShadow: true,\r\n title: 'Solo Traveller',\r\n color: '#FFFFFF',\r\n duration: 650,\r\n delay: 100,\r\n shadow: {\r\n x: 40,\r\n y: 112,\r\n rx: 65,\r\n height: 5,\r\n width: 100,\r\n color: '#e6e6e6'\r\n },\r\n titleLine: [[88, 1], [268, 2]],\r\n },\r\n {\r\n id: 'business',\r\n class: 'business',\r\n isDefault: false,\r\n x: 0,\r\n y: 175,\r\n rx: 65,\r\n width: 180,\r\n height: 130,\r\n imageURL: '',\r\n isShadow: true,\r\n title: 'Business Traveller',\r\n color: '#FFFFFF',\r\n duration: 650,\r\n delay: 400,\r\n shadow: {\r\n x: 43,\r\n y: 280,\r\n rx: 65,\r\n height: 7,\r\n width: 100,\r\n color: '#e6e6e6'\r\n },\r\n titleLine: [[88, 176], [268, 177]]\r\n\r\n },\r\n {\r\n id: 'couple',\r\n class: 'couple',\r\n isDefault: false,\r\n x: 0,\r\n y: 350,\r\n rx: 65,\r\n width: 180,\r\n height: 130,\r\n imageURL: '',\r\n isShadow: true,\r\n title: 'Couple Traveller',\r\n color: '#FFFFFF',\r\n duration: 650,\r\n delay: 600,\r\n shadow: {\r\n x: 40,\r\n y: 456,\r\n rx: 65,\r\n height: 5,\r\n width: 100,\r\n color: '#e6e6e6'\r\n },\r\n titleLine: [[88, 351], [268, 352]]\r\n\r\n },\r\n {\r\n id: 'group',\r\n class: 'group',\r\n isDefault: false,\r\n x: 0,\r\n y: 525,\r\n rx: 65,\r\n width: 180,\r\n height: 130,\r\n imageURL: '',\r\n isShadow: true,\r\n title: 'Group Traveller',\r\n color: '#FFFFFF',\r\n duration: 650,\r\n delay: 800,\r\n shadow: {\r\n x: 40,\r\n y: 618,\r\n rx: 65,\r\n height: 10,\r\n width: 110,\r\n color: '#e6e6e6'\r\n },\r\n titleLine: [[88, 526], [268, 527]],\r\n isLast: true\r\n }];\r\n\r\n const travellersWrapper = dataGroup.append('g')\r\n .attr({\r\n 'class': 'travellers-wrapper',\r\n 'id': 'travellers-wrapper'\r\n })\r\n .style({\r\n 'transform': `translate(100px, 250px)`,\r\n 'opacity': 1\r\n });\r\n\r\n const travellerGroup = travellersWrapper.selectAll('g')\r\n .data(travellersData)\r\n .enter()\r\n .append('g')\r\n .attr({\r\n 'class': (d, i) => `traveller-group ${d.class}`,\r\n 'id': (d, i) => `traveller-group-${i}`\r\n });\r\n\r\n const manageScreenwiseAnimation = function () {\r\n return {\r\n changeAnimation() {\r\n if (['screen-1', 'screen-7'].includes(that.activeSlide)) {\r\n // console.log(\"Inside manageScreenwiseAnimation screen 1 and 7 if scope triggered\");\r\n commonLeftSection.manageTravellersGroup();\r\n } else if (that.activeSlide == 'screen-2') {\r\n screenTwo.updateTravellerPreference();\r\n } else if (that.activeSlide == 'screen-3') {\r\n that.onAnimationEnd();\r\n } else if (that.activeSlide == 'screen-4') {\r\n screenFour.updateRightSection();\r\n that.onAnimationEnd();\r\n } else if (that.activeSlide == 'screen-5') {\r\n screenFive.updateTravellerPreference();\r\n } else if (that.activeSlide == 'screen-6') {\r\n screenSix.updateTravellerPreference();\r\n }\r\n // that.isAnimation = false;\r\n }\r\n }\r\n }();\r\n\r\n travellerGroup.append('foreignObject')\r\n .attr('x', (d) => d.x)\r\n .attr('y', (d) => d.y)\r\n .attr('width', (d) => 280 + 20)\r\n .attr('height', (d) => d.height + 20)\r\n .append('xhtml:div')\r\n .attr({\r\n 'class': (d) => `oval-wrapper ${d.id}`\r\n })\r\n .style({\r\n 'opacity': 0,\r\n 'transition': (d, i) => `all ${d.duration}ms ease-in-out`\r\n })\r\n .append('xhtml:div')\r\n .attr({\r\n 'class': (d, i) => `oval-space ${d.id}`\r\n })\r\n .html(d => `
\r\n
\r\n

WTP

\r\n

$215

\r\n

/night

\r\n
`)\r\n .on('mouseover', function (obj, index) {\r\n if (obj.id != that.selectedTraveller) {\r\n travellersWrapper.select(`.${obj.id} #title-underline-${index}`)\r\n .transition()\r\n .attr({\r\n 'stroke': 'url(#traveller-lg)',\r\n 'stroke-dashoffset': 0,\r\n 'opacity': 1\r\n });\r\n travellersWrapper.select(`.${obj.id} #traveller-title-${index}`)\r\n .transition()\r\n .attr({\r\n 'opacity': 1\r\n });\r\n }\r\n })\r\n .on('mouseout', function (obj, index) {\r\n if (obj.id != that.selectedTraveller) {\r\n travellersWrapper.select(`.${obj.id} #title-underline-${index}`)\r\n .transition()\r\n .attr({\r\n 'opacity': 0\r\n });\r\n travellersWrapper.select(`.${obj.id} #traveller-title-${index}`)\r\n .transition()\r\n .attr({\r\n 'opacity': 0\r\n });\r\n }\r\n })\r\n .on('click', function (object, index) {\r\n // console.log(\"Object: \", object);\r\n //reset default\r\n if (object.id !== that.selectedTraveller && !that.isAnimation) {\r\n // // console.log('Traveller Unmatched');\r\n // that.isAnimation = true;\r\n that.restrictScrollAndClick();\r\n that.selectedTraveller = object.id;\r\n that.setTravellerData();\r\n commonLeftSection.resetClass('active');\r\n\r\n travellersWrapper.selectAll('.title-underline')\r\n .attr({\r\n 'stroke': 'url(#traveller-lg)',\r\n 'opacity': 0\r\n });\r\n travellersWrapper.selectAll(`.traveller-title`)\r\n .attr({\r\n 'opacity': 0\r\n });\r\n\r\n //set selected\r\n commonLeftSection.setSelectedTraveller();\r\n\r\n manageScreenwiseAnimation.changeAnimation();\r\n } else {\r\n // console.log('Animation is not yet over');\r\n }\r\n });\r\n\r\n // travellerGroup.append('rect')\r\n // .attr({\r\n // 'class': 'background animate',\r\n // 'id': (d, i) => `background-${i}`,\r\n // 'x': (d) => d.x,\r\n // 'y': (d) => d.y,\r\n // 'rx': (d) => d.rx,\r\n // 'height': (d) => d.height,\r\n // 'width': (d) => d.width,\r\n // 'fill': (d) => d.isDefault ? '#ffeae3' : d.color,\r\n // 'opacity': 0,\r\n // })\r\n // .on('mouseover', function (obj, index) {\r\n // if (obj.id != that.selectedTraveller) {\r\n // travellersWrapper.select(`.${obj.id} #title-underline-${index}`)\r\n // .transition()\r\n // .attr({\r\n // 'stroke': 'url(#traveller-lg)',\r\n // 'stroke-dashoffset': 0,\r\n // 'opacity': 1\r\n // });\r\n // travellersWrapper.select(`.${obj.id} #traveller-title-${index}`)\r\n // .transition()\r\n // .attr({\r\n // 'opacity': 1\r\n // });\r\n // }\r\n // })\r\n // .on('mouseout', function (obj, index) {\r\n // if (obj.id != that.selectedTraveller) {\r\n // travellersWrapper.select(`.${obj.id} #title-underline-${index}`)\r\n // .transition()\r\n // .attr({\r\n // 'opacity': 0\r\n // });\r\n // travellersWrapper.select(`.${obj.id} #traveller-title-${index}`)\r\n // .transition()\r\n // .attr({\r\n // 'opacity': 0\r\n // });\r\n // }\r\n // });\r\n\r\n // travellerGroup.append('rect')\r\n // .attr({\r\n // 'class': 'shadow',\r\n // 'id': (d, i) => `shadow-${i}`,\r\n // 'x': (d) => d.shadow.x,\r\n // 'y': (d) => d.shadow.y,\r\n // 'rx': (d) => d.shadow.rx,\r\n // 'height': (d) => d.shadow.height,\r\n // 'width': (d) => d.shadow.width,\r\n // 'fill': (d) => d.isDefault ? '#FFFFFF' : d.shadow.color,\r\n // });\r\n\r\n travellerGroup.append('text')\r\n .attr({\r\n 'class': (d, i) => `traveller-title`,\r\n 'id': (d, i) => `traveller-title-${i}`,\r\n 'x': (d) => d.titleLine[1][0],\r\n 'y': (d) => d.titleLine[1][1] - 10,\r\n 'dy': '0em',\r\n 'fill': '#65617d',\r\n 'text-anchor': 'end',\r\n 'font-size': '16',\r\n 'opacity': 0\r\n })\r\n .style({\r\n 'font-weight': '500'\r\n })\r\n .text((d) => d.title);\r\n\r\n let titleLinePath = [];\r\n for (let [key, traveller] of Object.entries(travellersData)) {\r\n // console.log('traveller: ', traveller, `traveller-group-${key}`, travellersWrapper.select(`#traveller-group-${key}`));\r\n titleLinePath.push(addLine(travellersWrapper.select(`#traveller-group-${key}`), traveller.titleLine, `title-underline`, key, 'url(#traveller-lg)', 2.5, false));\r\n }\r\n\r\n const commonLeftSection = function () {\r\n function manageTravellersGroup(opacity = 0) {\r\n travellersWrapper.selectAll('.traveller-group')\r\n .attr({\r\n 'opacity': opacity\r\n });\r\n };\r\n\r\n function animateTravellers(cb = () => { }) {\r\n manageTravellersGroup(1);\r\n if (that.selectedTraveller !== null) {\r\n // console.log('Inside animateTraveller traveller is selected');\r\n screenTwo.startLeftToMiddleAnimation();\r\n } else {\r\n travellersWrapper.selectAll('.oval-wrapper')\r\n .transition()\r\n .delay((d, i) => 100 * i)\r\n .style('opacity', 1)\r\n .each('end', function (data) {\r\n travellersWrapper.select(`.oval-wrapper.${data.id}`)\r\n .transition()\r\n .delay(d => d.duration + 100)\r\n .each('end', (d, index) => {\r\n // console.log('onEnd: ', index, d);\r\n travellersWrapper.select(`.${d.id} .title-underline`)\r\n .attr({\r\n 'stroke-dashoffset': 0,\r\n 'opacity': 0\r\n });\r\n\r\n if (d.isLast !== void (0)) {\r\n //Instead of this add class of active to div in foreignObject later once developed\r\n if (that.selectedTraveller == null) {\r\n that.selectedTraveller = travellersData[0].id;\r\n that.setTravellerData();\r\n }\r\n\r\n setSelectedTraveller(function () {\r\n screenTwo.startLeftToMiddleAnimation();\r\n });\r\n }\r\n // travellersWrapper.select(`.${d.id} .title-underline`)\r\n // .transition()\r\n // .duration(80)\r\n // .attr({\r\n // 'stroke-dashoffset': 0,\r\n // 'opacity': 1\r\n // });\r\n\r\n // travellersWrapper.select(`.${d.id} .traveller-title`)\r\n // .transition()\r\n // .delay(10)\r\n // .duration(100)\r\n // .attr({\r\n // 'opacity': 1\r\n // })\r\n // .each('end', function (d, i) {\r\n // if (d.isLast !== void (0)) {\r\n // console.log('All Lines Animation end', d);\r\n // travellersWrapper.selectAll('.title-underline')\r\n // .transition()\r\n // .attr({\r\n // 'opacity': 0\r\n // });\r\n // travellersWrapper.selectAll('.traveller-title')\r\n // .transition()\r\n // .attr({\r\n // 'opacity': 0\r\n // });\r\n // }\r\n // });\r\n });\r\n });\r\n }\r\n }\r\n\r\n function setSelectedTraveller(cb = function () { }) {\r\n // console.log('Inside setSelectedTraveller selectedTraveller: ', that.selectedTraveller);\r\n\r\n addClass('active');\r\n\r\n if (that.activeSlide != 'screen-5') {\r\n travellersWrapper.select(`.${that.selectedTraveller} .title-underline`)\r\n .attr({\r\n 'stroke': 'url(#traveller-selected-lg)',\r\n 'stroke-dashoffset': 0,\r\n 'opacity': 1\r\n });\r\n }\r\n\r\n travellersWrapper.select(`.${that.selectedTraveller} .traveller-title`)\r\n .transition()\r\n .duration(0)\r\n .attr({\r\n 'opacity': 1\r\n })\r\n .call(endAll, function () {\r\n cb();\r\n });\r\n }\r\n\r\n function checkAndSetDefaultTraveller() {\r\n if (that.selectedTraveller == null) {\r\n that.selectedTraveller = 'solo';\r\n that.setTravellerData();\r\n travellersWrapper.selectAll('.oval-wrapper')\r\n .style('opacity', 1);\r\n setSelectedTraveller();\r\n }\r\n }\r\n\r\n function addClass(className) {\r\n travellerGroup.select(`.oval-space.${that.selectedTraveller}`)\r\n .classed(className, true);\r\n }\r\n\r\n function resetClass(className) {\r\n travellersWrapper.selectAll('.oval-space')\r\n .classed(className, false);\r\n }\r\n\r\n function updateGuestSegmentWTPValueToDOM() {\r\n // console.log('To update AVG WTP Value: ', travellersWrapper.select(`.${that.selectedTraveller} .avg-value`))\r\n travellersWrapper.select(`.${that.selectedTraveller} .avg-value`)\r\n .html(`${that.pricingData.currencyUnit}${that.guestSegmentWTP}`)\r\n }\r\n\r\n return {\r\n manageTravellersGroup,\r\n animateTravellers,\r\n setSelectedTraveller,\r\n checkAndSetDefaultTraveller,\r\n addClass,\r\n resetClass,\r\n updateGuestSegmentWTPValueToDOM\r\n }\r\n }();\r\n\r\n // const wrapper = svg.append('g')\r\n // .attr('class', 'center-wrapper')\r\n // .attr('transform', 'translate(490, 422)')\r\n\r\n // const centerAnimation = createCenterBox(wrapper, screenTwoCenterData);\r\n // setTimeout(() => {\r\n // centerAnimation.animation();\r\n // }, 1000);\r\n\r\n return {\r\n resize() {\r\n // console.log('resize');\r\n const aspect = resize();\r\n // console.log('aspect ::', aspect);\r\n that.scaleXValue = aspect.widthAspect;\r\n that.scaleYValue = aspect.heightAspect;\r\n setTimeout(() => {\r\n const screenFiveBoundingClientRect = screenFive.groups.travelRightLineGroup.node().getBoundingClientRect();\r\n const travellerWrapperBoundingClient = travellersWrapper.node().getBoundingClientRect();\r\n const screen7LeftBoundingClient = screenSeven.groups.screen7LeftSection.node().getBoundingClientRect();\r\n // d3.select('#screen-five-right-section')\r\n // // .style('top', `${screenFiveBoundingClientRect.top}px`)\r\n // .style('left', `${screenFiveBoundingClientRect.right}px`);\r\n that.rightSectionCardAspect.left = screenFiveBoundingClientRect.right;\r\n that.rightSectionCardAspect.width = window.innerWidth - screenFiveBoundingClientRect.right;\r\n that.travellerSectionAspect.left = travellerWrapperBoundingClient.left;\r\n that.travellerSectionAspect.bottom = window.innerHeight - (travellerWrapperBoundingClient.top + travellerWrapperBoundingClient.height);\r\n that.screenWiseSection.screen7.left = screen7LeftBoundingClient.left;\r\n // const screenSixBoundingClientRect = screenSix.groups.centerRightLineGroup.node().getBoundingClientRect();\r\n // d3.select('#screen-six-right-section')\r\n // // .style('top', `${screenSixBoundingClientRect.top}px`)\r\n // .style('left', `${screenSixBoundingClientRect.right}px`);\r\n }, 0);\r\n return aspect;\r\n },\r\n screenOne,\r\n screenTwo,\r\n screenThree,\r\n screenFour,\r\n screenFive,\r\n screenSix,\r\n screenSeven,\r\n manageScreenwiseAnimation,\r\n commonLeftSection\r\n }\r\n }\r\n\r\n private _responsivefy(svg, isHeightNotToUpdate = false) {\r\n const container = d3.select(svg.node().parentNode);\r\n const width = parseInt(svg.attr('width'), 10);\r\n const height = parseInt(svg.attr('height'), 10);\r\n const aspect = width / height;\r\n\r\n // get width of container and resize svg to fit it\r\n const resize = () => {\r\n const targetWidth = parseInt(container.style('width'), 10);\r\n svg.attr('width', targetWidth);\r\n let targetHeight = targetWidth / aspect;\r\n if (isHeightNotToUpdate) {\r\n // Set Container Height as is.\r\n targetHeight = container.node().getBoundingClientRect().height;\r\n }\r\n svg.attr('height', Math.round(targetHeight));\r\n return {\r\n widthAspect: targetWidth / width,\r\n heightAspect: targetHeight / height,\r\n width: parseInt(svg.style('width'), 10),\r\n height: parseInt(svg.style('height'), 10)\r\n };\r\n };\r\n svg.attr('viewBox', '0 0 ' + width + ' ' + height)\r\n .attr('perserveAspectRatio', 'xMinYMid')\r\n .call(() => {\r\n setTimeout(() => {\r\n resize();\r\n }, 10);\r\n });\r\n\r\n return {\r\n resize,\r\n widthAspect: parseInt(svg.style('width'), 10) / width,\r\n heightAspect: parseInt(svg.style('height'), 10) / height\r\n };\r\n }\r\n\r\n public updateHotelPrice() {\r\n this.selectedTravellerHotelData.pricePerDay = this.guestSegmentWTP;\r\n\r\n this.selectedTravellerHotelData.forEach((el, i) => {\r\n if (i === 0) {\r\n el.pricePerDay = this.guestSegmentWTP;\r\n } else {\r\n const minValue = this.guestSegmentWTP - 4;\r\n const maxValue = this.guestSegmentWTP + 4;\r\n\r\n el.pricePerDay = (minValue + Math.random() * (maxValue - minValue)).toFixed(0);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this._unsubscribeResize) {\r\n this._unsubscribeResize.unsubscribe();\r\n }\r\n d3.selectAll('.animate').interrupt();\r\n // d3.selectAll('*').interrupt();\r\n\r\n this.dataShareService.onCustomEvent.next({ event: 'removeClassToElement', data: { selector: '#header', class: 'humburger-header' } });\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { WidgetService } from '../widgets.service';\r\nimport * as _ from 'lodash';\r\n\r\n\r\n@Component({\r\n selector: 'app-area-chart',\r\n templateUrl: './area-chart.component.html'\r\n})\r\nexport class AreaChartComponent implements OnInit {\r\n\r\n @Input() widgetData;\r\n\r\n data;\r\n\r\n options = {\r\n // width: 2000,\r\n height: 300,\r\n hAxis: { title: 'Year', titleTextStyle: { color: '#333' } },\r\n vAxis: { minValue: 0 }\r\n };\r\n filterData: any = {\r\n year: [],\r\n type: []\r\n };\r\n areaChartData;\r\n\r\n constructor(private widgetService: WidgetService) {\r\n this.widgetService.triggerDataChangeForAreaChart.subscribe((updatedDataInfo) => {\r\n // alert(\"Inside area bar chart\");\r\n if (updatedDataInfo.inputDetails.filterOn === 'type') {\r\n this.filterData.type = updatedDataInfo.formField.filterField;\r\n } else if (updatedDataInfo.inputDetails.filterOn === 'year') {\r\n this.filterData.year = updatedDataInfo.formField.filterField;\r\n }\r\n if (this.filterData.year.length || this.filterData.type.length) {\r\n this.updateChart(updatedDataInfo);\r\n } else {\r\n this.resetToOrignal();\r\n }\r\n });\r\n }\r\n\r\n updateChart(updatedDataInfo) {\r\n const updatedDataSet = [];\r\n // if (updatedDataInfo.formField.uniqueName101 && updatedDataInfo.formField.uniqueName101.length) {\r\n if (this.filterData.type.length) {\r\n const numberOfRows = this.data.length;\r\n // const selectedColumnIndexs = this.findIndexesOfElements(this.filterData.type, this.data[0]);\r\n const selectedColumnIndexs = this.filterData.type.reduce((ini, v, i) => {\r\n if (this.data[0].indexOf(v) > -1) {\r\n if (ini.indexOf(this.data[0].indexOf(v)) === -1) {\r\n ini.push(this.data[0].indexOf(v));\r\n }\r\n }\r\n return ini;\r\n }, []);\r\n for (let row = 0; row < numberOfRows; row++) {\r\n const newRow = [];\r\n newRow.push(this.data[row][0]); // This is for adding year column value by default\r\n for (let col = 0; col < selectedColumnIndexs.length; col++) {\r\n newRow.push(this.data[row][selectedColumnIndexs[col]]); // This is for adding selected columns value\r\n }\r\n updatedDataSet.push(newRow);\r\n }\r\n this.areaChartData = Object.create(this.areaChartData);\r\n this.areaChartData.dataTable = updatedDataSet;\r\n }\r\n\r\n // if (updatedDataInfo.formField.uniqueName102 && updatedDataInfo.formField.uniqueName102.length) {\r\n if (this.filterData.year.length) {\r\n const getFromDataSet = updatedDataSet.length ? updatedDataSet : this.data;\r\n const updatedDataSetByYear = [];\r\n updatedDataSetByYear.push(getFromDataSet[0]);\r\n for (let row = 1; row < getFromDataSet.length; row++) {\r\n if (this.filterData.year.indexOf(getFromDataSet[row][0]) > -1) {\r\n updatedDataSetByYear.push(getFromDataSet[row]);\r\n }\r\n }\r\n this.areaChartData = Object.create(this.areaChartData);\r\n this.areaChartData.dataTable = updatedDataSetByYear;\r\n }\r\n }\r\n\r\n findIndexesOfElements(indexOfElements, fromArray) {\r\n const foundIndexes = [];\r\n for (let index = 0; index < fromArray.length; index++) {\r\n if (indexOfElements.indexOf(fromArray[index]) > -1) {\r\n foundIndexes.push(index);\r\n }\r\n }\r\n return foundIndexes;\r\n }\r\n\r\n resetToOrignal() {\r\n this.areaChartData = Object.create(this.areaChartData);\r\n this.areaChartData.dataTable = this.data;\r\n }\r\n\r\n ngOnInit() {\r\n this.data = this.widgetData.data;\r\n this.areaChartData = {\r\n chartType: 'AreaChart',\r\n dataTable: this.data,\r\n options: this.options,\r\n };\r\n }\r\n}\r\n","module.exports = \"#svg-wrapper {\\r\\n z-index: 10;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n height: 100vh;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.atlas-intelligence-kraft .slide-1,\\r\\n.atlas-intelligence-kraft .slide-2,\\r\\n.atlas-intelligence-kraft .slide-3,\\r\\n.atlas-intelligence-kraft .slide-4,\\r\\n.atlas-intelligence-kraft .slide-5,\\r\\n.atlas-intelligence-kraft .slide-6,\\r\\n.atlas-intelligence-kraft .slide-7 {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n opacity: 0;\\r\\n}\\r\\n\\r\\n.atlas-intelligence-kraft .slide-1.animate-in,\\r\\n.atlas-intelligence-kraft .slide-2.animate-in,\\r\\n.atlas-intelligence-kraft .slide-3.animate-in,\\r\\n.atlas-intelligence-kraft .slide-4.animate-in,\\r\\n.atlas-intelligence-kraft .slide-5.animate-in,\\r\\n.atlas-intelligence-kraft .slide-6.animate-in,\\r\\n.atlas-intelligence-kraft .slide-7.animate-in {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n.rotate-clockwise {\\r\\n animation: rotate-center 5s linear infinite both;\\r\\n}\\r\\n\\r\\n@keyframes rotate-center {\\r\\n 0% {\\r\\n transform: rotate(0);\\r\\n transform-box: fill-box;\\r\\n transform-origin: center;\\r\\n }\\r\\n 100% {\\r\\n transform: rotate(360deg);\\r\\n transform-box: fill-box;\\r\\n transform-origin: center;\\r\\n }\\r\\n}\\r\\n\\r\\n.rotate-anticlockwise {\\r\\n animation: rotate-center-anticlockwise 5s linear infinite both;\\r\\n}\\r\\n\\r\\n.atlas-iota-tooltip {\\r\\n color: white;\\r\\n font-size: 9px;\\r\\n background-color: black;\\r\\n border-radius: 7px;\\r\\n padding-left: 0px;\\r\\n padding-right: 0px;\\r\\n padding-top: 4px;\\r\\n padding-bottom: 4px;\\r\\n width: 110px;\\r\\n text-align: center;\\r\\n opacity: 0.5;\\r\\n transform: translate(10px, -4px);\\r\\n}\\r\\n\\r\\n@keyframes rotate-center-anticlockwise {\\r\\n 0% {\\r\\n transform: rotate(360deg);\\r\\n transform-box: fill-box;\\r\\n transform-origin: center;\\r\\n }\\r\\n 100% {\\r\\n transform: rotate(0);\\r\\n transform-box: fill-box;\\r\\n transform-origin: center;\\r\\n }\\r\\n}\\r\\n\\r\\n/* .disabled{\\r\\n pointer-events: none;\\r\\n opacity: 0.3;\\r\\n} */\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9hdGxhcy1pbnRlbGxpZ2VuY2Uta3JhZnQvYXRsYXMtaW50ZWxsaWdlbmNlLWtyYWZ0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxVQUFVO0VBQ1YsUUFBUTtFQUNSLFNBQVM7RUFDVCxjQUFjO0VBQ2QsaUJBQWlCO0NBQ2xCOztBQUVEOzs7Ozs7O0VBT0UsbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxVQUFVO0VBQ1YsUUFBUTtFQUNSLFNBQVM7RUFDVCxXQUFXO0NBQ1o7O0FBRUQ7Ozs7Ozs7RUFPRSxXQUFXO0NBQ1o7O0FBRUQ7RUFDRSxpREFBaUQ7Q0FDbEQ7O0FBRUQ7RUFDRTtJQUNFLHFCQUFxQjtJQUNyQix3QkFBd0I7SUFDeEIseUJBQXlCO0dBQzFCO0VBQ0Q7SUFDRSwwQkFBMEI7SUFDMUIsd0JBQXdCO0lBQ3hCLHlCQUF5QjtHQUMxQjtDQUNGOztBQUVEO0VBQ0UsK0RBQStEO0NBQ2hFOztBQUVEO0VBQ0UsYUFBYTtFQUNiLGVBQWU7RUFDZix3QkFBd0I7RUFDeEIsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGFBQWE7RUFDYixpQ0FBaUM7Q0FDbEM7O0FBRUQ7RUFDRTtJQUNFLDBCQUEwQjtJQUMxQix3QkFBd0I7SUFDeEIseUJBQXlCO0dBQzFCO0VBQ0Q7SUFDRSxxQkFBcUI7SUFDckIsd0JBQXdCO0lBQ3hCLHlCQUF5QjtHQUMxQjtDQUNGOztBQUVEOzs7SUFHSSIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvYXRsYXMtaW50ZWxsaWdlbmNlLWtyYWZ0L2F0bGFzLWludGVsbGlnZW5jZS1rcmFmdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3N2Zy13cmFwcGVyIHtcclxuICB6LWluZGV4OiAxMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGhlaWdodDogMTAwdmg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmF0bGFzLWludGVsbGlnZW5jZS1rcmFmdCAuc2xpZGUtMSxcclxuLmF0bGFzLWludGVsbGlnZW5jZS1rcmFmdCAuc2xpZGUtMixcclxuLmF0bGFzLWludGVsbGlnZW5jZS1rcmFmdCAuc2xpZGUtMyxcclxuLmF0bGFzLWludGVsbGlnZW5jZS1rcmFmdCAuc2xpZGUtNCxcclxuLmF0bGFzLWludGVsbGlnZW5jZS1rcmFmdCAuc2xpZGUtNSxcclxuLmF0bGFzLWludGVsbGlnZW5jZS1rcmFmdCAuc2xpZGUtNixcclxuLmF0bGFzLWludGVsbGlnZW5jZS1rcmFmdCAuc2xpZGUtNyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uYXRsYXMtaW50ZWxsaWdlbmNlLWtyYWZ0IC5zbGlkZS0xLmFuaW1hdGUtaW4sXHJcbi5hdGxhcy1pbnRlbGxpZ2VuY2Uta3JhZnQgLnNsaWRlLTIuYW5pbWF0ZS1pbixcclxuLmF0bGFzLWludGVsbGlnZW5jZS1rcmFmdCAuc2xpZGUtMy5hbmltYXRlLWluLFxyXG4uYXRsYXMtaW50ZWxsaWdlbmNlLWtyYWZ0IC5zbGlkZS00LmFuaW1hdGUtaW4sXHJcbi5hdGxhcy1pbnRlbGxpZ2VuY2Uta3JhZnQgLnNsaWRlLTUuYW5pbWF0ZS1pbixcclxuLmF0bGFzLWludGVsbGlnZW5jZS1rcmFmdCAuc2xpZGUtNi5hbmltYXRlLWluLFxyXG4uYXRsYXMtaW50ZWxsaWdlbmNlLWtyYWZ0IC5zbGlkZS03LmFuaW1hdGUtaW4ge1xyXG4gIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5yb3RhdGUtY2xvY2t3aXNlIHtcclxuICBhbmltYXRpb246IHJvdGF0ZS1jZW50ZXIgNXMgbGluZWFyIGluZmluaXRlIGJvdGg7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlLWNlbnRlciB7XHJcbiAgMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICB0cmFuc2Zvcm0tYm94OiBmaWxsLWJveDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtLWJveDogZmlsbC1ib3g7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4ucm90YXRlLWFudGljbG9ja3dpc2Uge1xyXG4gIGFuaW1hdGlvbjogcm90YXRlLWNlbnRlci1hbnRpY2xvY2t3aXNlIDVzIGxpbmVhciBpbmZpbml0ZSBib3RoO1xyXG59XHJcblxyXG4uYXRsYXMtaW90YS10b29sdGlwIHtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgZm9udC1zaXplOiA5cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDBweDtcclxuICBwYWRkaW5nLXRvcDogNHB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XHJcbiAgd2lkdGg6IDExMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBvcGFjaXR5OiAwLjU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTBweCwgLTRweCk7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlLWNlbnRlci1hbnRpY2xvY2t3aXNlIHtcclxuICAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtLWJveDogZmlsbC1ib3g7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICB0cmFuc2Zvcm0tYm94OiBmaWxsLWJveDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi8qIC5kaXNhYmxlZHtcclxuICBwb2ludGVyLWV2ZW50czogIG5vbmU7XHJcbiAgb3BhY2l0eTogMC4zO1xyXG59ICovXHJcbiJdfQ== */\"","module.exports = \"
\\r\\n Introduction\\r\\n Challenges & Solution\\r\\n Process\\r\\n Impact & Benefits\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Playground\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n Atlas Intelligence is a suite of product offerings using AI to
\\r\\n accelerate consumer research while reducing cost and
\\r\\n improving accuracy. What people do is more honest than what
\\r\\n they say. For years we have relied on asking the consumer, but
\\r\\n we can now use AI to find insights from their decisions.
\\r\\n As a result, teams are inundated with\\r\\n Hot Trends but have no
\\r\\n way to separate the signal from the noise.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

Process

\\r\\n

\\r\\n The Atlas machine learning solution utilize scanner data, packing\\r\\n and label information, media spend and consumer review to glean\\r\\n accurate insights at scale\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n

Graphic Neural Network Model

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","import {\r\n Component,\r\n OnInit,\r\n Renderer2,\r\n ViewChild,\r\n ElementRef,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { DataShareService } from \"src/app/shared/data-share.service\";\r\nimport { FullpagescrollDirective } from \"src/app/shared/fullpagescroll.directive\";\r\nimport _ from \"lodash\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { PlaygroundDialogComponent } from \"./playground-dialog/playground-dialog.component\";\r\nimport { transition } from \"@angular/animations\";\r\nimport { delay } from \"rxjs/operators\";\r\n\r\ndeclare const d3: any;\r\nimport d3Tip from \"d3-tip\";\r\n@Component({\r\n selector: \"app-atlas-intelligence-kraft\",\r\n templateUrl: \"./atlas-intelligence-kraft.component.html\",\r\n styleUrls: [\"./atlas-intelligence-kraft.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AtlasIntelligenceKraftComponent implements OnInit {\r\n @ViewChild(\"fullPageScroll\") fpScroll: FullpagescrollDirective;\r\n public activeSlide = \"\";\r\n public activeStartSlide = \"\";\r\n public previousTraversedSlide = \"\";\r\n public actualSlide = \"screen-1\";\r\n public previousActiveSlide = [];\r\n public addStep = false;\r\n public add6Step = false;\r\n private screens = [\r\n \"screen-1\",\r\n \"screen-2\",\r\n \"screen-3\",\r\n \"screen-4\",\r\n \"screen-5\",\r\n \"screen-6\",\r\n ];\r\n public currentScrollDirection = \"forward\";\r\n public currentScreenIndex = 1;\r\n public lastActiveSlide = \"screen-1\";\r\n public prevSlide = \"\";\r\n public nextActiveSlide = \"screen-2\";\r\n public startScrollEvent = true;\r\n @ViewChild(\"playgroundbutton\") private playgroundbuttonContainer: ElementRef;\r\n\r\n public clickActionScreensIndex = [1, 2, 3, 4];\r\n\r\n screen1visitno = 0;\r\n public screen2vistno = 0;\r\n screen3visitno = 0;\r\n screen5visitno = 0;\r\n screen6visitno = 0;\r\n screen4VisitNo = 0;\r\n public indicatorSettings = [\r\n {\r\n id: 1,\r\n label: \"Introduction\",\r\n },\r\n {\r\n id: 2,\r\n label: \"Challenges & Solution\",\r\n },\r\n {\r\n id: 3,\r\n label: \"Process\",\r\n },\r\n {\r\n id: 4,\r\n label: \"Output & Benefits\",\r\n },\r\n ];\r\n\r\n private _svgSection = null;\r\n public animationStarted = {\r\n screen1: false,\r\n screen2: false,\r\n screen3: false,\r\n screen4: false,\r\n screen5: false,\r\n screen6: false,\r\n screen7: false,\r\n };\r\n private _unsubscribeResize = null;\r\n public scaleXValue = 1;\r\n public scaleYValue = 1;\r\n\r\n constructor(\r\n private _renderer: Renderer2,\r\n private dataShareService: DataShareService,\r\n public dialog: MatDialog\r\n ) {}\r\n ngAfterContentInit(): void {\r\n this._unsubscribeResize = this._renderer.listen(\r\n window,\r\n \"resize\",\r\n _.debounce(() => {\r\n this._svgSection.resize();\r\n }, 700)\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.dataShareService.onCustomEvent.next({\r\n event: \"addClassToElement\",\r\n data: { selector: \"#header\", class: \"humburger-header\" },\r\n });\r\n this.renderStory();\r\n }\r\n changeDirectiveScrollEvent(state: boolean) {}\r\n public onDownArrowClick(sectionId) {\r\n this.fpScroll.navigateTo(sectionId);\r\n }\r\n\r\n public onPlaygroundBtnClicked() {\r\n console.log(\"Playground button Clicked\");\r\n let playgroundDialogRef = this.dialog.open(PlaygroundDialogComponent, {\r\n width: \"100vw\",\r\n height: \"100vh\",\r\n panelClass: \"playground-overlay\",\r\n });\r\n\r\n playgroundDialogRef.afterClosed().subscribe((result) => {\r\n console.log(\"The dialog was closed\");\r\n });\r\n }\r\n\r\n public onFullPageSlideChangeStart(event) {\r\n console.log(event);\r\n\r\n this.previousTraversedSlide = this.actualSlide;\r\n if (this.previousActiveSlide.indexOf(event) < 0) {\r\n this.previousActiveSlide.push(this.actualSlide);\r\n } else {\r\n this.previousActiveSlide.splice(\r\n this.previousActiveSlide.indexOf(this.actualSlide),\r\n 1\r\n );\r\n }\r\n this.actualSlide = event;\r\n\r\n this.activeStartSlide = event;\r\n\r\n if (\r\n this.screens.indexOf(this.previousTraversedSlide) -\r\n this.screens.indexOf(this.actualSlide) <\r\n 0\r\n ) {\r\n this.currentScrollDirection = \"forward\";\r\n } else {\r\n this.currentScrollDirection = \"backward\";\r\n }\r\n this.currentScreenIndex =\r\n this.clickActionScreensIndex[this.screens.indexOf(this.actualSlide)];\r\n this.lastActiveSlide =\r\n this.currentScrollDirection == \"forward\"\r\n ? this.screens[this.screens.indexOf(event) - 1]\r\n : this.screens[this.screens.indexOf(event) + 1];\r\n this.prevSlide = this.lastActiveSlide;\r\n setTimeout(() => {\r\n this.lastActiveSlide = this.activeStartSlide;\r\n }, 1000);\r\n const nextSlideIndex =\r\n this.screens.indexOf(event) + 1 > this.screens.length - 1\r\n ? this.screens.indexOf(event)\r\n : this.screens.indexOf(event) + 1;\r\n this.nextActiveSlide = this.screens[nextSlideIndex];\r\n }\r\n scrollTo(selector, type, x = 0, y = 0) {\r\n if (type == \"id\") document.querySelector(`#${selector}`).scrollTo(x, y);\r\n else\r\n document\r\n .querySelectorAll(`.${selector}`)\r\n .forEach((scrollEl, index) => scrollEl.scrollTo(x, y));\r\n }\r\n public onFullPageSlideChangeComplete(event) {\r\n this.activeSlide = event;\r\n\r\n switch (this.prevSlide.split(\"-\")[1]) {\r\n case \"1\":\r\n this._svgSection.screenOne.stopAnimation();\r\n\r\n break;\r\n case \"2\":\r\n this._svgSection.screenTwo.stopAnimation();\r\n\r\n break;\r\n case \"3\":\r\n this._svgSection.screenThree.stopAnimation();\r\n\r\n break;\r\n case \"4\":\r\n this._svgSection.screenFour.stopAnimation();\r\n\r\n break;\r\n case \"5\":\r\n this._svgSection.screenFive.stopAnimation();\r\n\r\n break;\r\n case \"6\":\r\n this._svgSection.screenSix.stopAnimation();\r\n\r\n break;\r\n }\r\n this.scrollTo(\"scroll-wrapper\", \"class\", 0, 0);\r\n\r\n switch (event) {\r\n case \"screen-1\":\r\n this._svgSection.screenOne.startAnimation(\r\n !this.animationStarted.screen1\r\n );\r\n\r\n break;\r\n case \"screen-2\":\r\n this._svgSection.screenTwo.startAnimation(\r\n !this.animationStarted.screen2\r\n );\r\n\r\n break;\r\n case \"screen-3\":\r\n this._svgSection.screenThree.startAnimation(\r\n !this.animationStarted.screen3\r\n );\r\n\r\n break;\r\n case \"screen-4\":\r\n this._svgSection.screenFour.startAnimation(\r\n !this.animationStarted.screen4\r\n );\r\n\r\n break;\r\n\r\n case \"screen-5\":\r\n this._svgSection.screenFive.startAnimation(\r\n !this.animationStarted.screen5\r\n );\r\n\r\n break;\r\n case \"screen-6\":\r\n this._svgSection.screenSix.startAnimation(\r\n !this.animationStarted.screen6\r\n );\r\n\r\n break;\r\n }\r\n }\r\n private renderStory() {\r\n this._svgSection = this._initSvgSection(\"svg-wrapper\");\r\n\r\n setTimeout(() => {\r\n this.activeStartSlide = \"screen-1\";\r\n this.activeSlide = \"screen-1\";\r\n }, 100);\r\n setTimeout(() => {\r\n this._svgSection.screenOne.startAnimation(!this.animationStarted.screen1);\r\n }, 500);\r\n }\r\n\r\n NextScreen() {\r\n var slidenum = parseInt(this.activeSlide.split(\"-\")[1]) + 1;\r\n console.log(\"Hey\" + this.actualSlide);\r\n\r\n if (slidenum < 7) {\r\n this.fpScroll.navigateTo(`screen-${slidenum}`);\r\n }\r\n }\r\n\r\n nextDisabled() {\r\n var slide = parseInt(this.activeSlide.split(\"-\")[1]);\r\n\r\n return slide === 6 ? true : false;\r\n }\r\n PrevDisabled() {\r\n var slide = parseInt(this.activeSlide.split(\"-\")[1]);\r\n return slide === 1 ? true : false;\r\n }\r\n\r\n PrevScreen() {\r\n var slidenum = parseInt(this.activeSlide.split(\"-\")[1]) - 1;\r\n if (slidenum > 0) {\r\n this.fpScroll.navigateTo(`screen-${slidenum}`);\r\n }\r\n }\r\n\r\n private _responsivefy(svg, isHeightNotToUpdate = false) {\r\n const container = d3.select(svg.node().parentNode);\r\n const width = parseInt(svg.attr(\"width\"), 10);\r\n const height = parseInt(svg.attr(\"height\"), 10);\r\n const aspect = width / height;\r\n\r\n const resize = () => {\r\n const targetWidth = parseInt(container.style(\"width\"), 10);\r\n svg.attr(\"width\", targetWidth);\r\n let targetHeight = targetWidth / aspect;\r\n if (isHeightNotToUpdate) {\r\n targetHeight = container.node().getBoundingClientRect().height;\r\n }\r\n svg.attr(\"height\", Math.round(targetHeight));\r\n return {\r\n widthAspect: targetWidth / width,\r\n heightAspect: targetHeight / height,\r\n width: parseInt(svg.style(\"width\"), 10),\r\n height: parseInt(svg.style(\"height\"), 10),\r\n };\r\n };\r\n svg\r\n .attr(\"viewBox\", \"0 0 \" + width + \" \" + height)\r\n .attr(\"perserveAspectRatio\", \"xMinYMid\")\r\n .call(() => {\r\n setTimeout(() => {\r\n resize();\r\n }, 10);\r\n });\r\n\r\n return {\r\n resize,\r\n widthAspect: parseInt(svg.style(\"width\"), 10) / width,\r\n heightAspect: parseInt(svg.style(\"height\"), 10) / height,\r\n };\r\n }\r\n\r\n private _initSvgSection(containerId) {\r\n const that = this;\r\n let baseImage = \"\";\r\n const visitedScreen = {\r\n screen1: false,\r\n screen2: false,\r\n screen3: false,\r\n screen4: false,\r\n screen5: false,\r\n screen6: false,\r\n screen7: false,\r\n };\r\n const container = d3.select(\"#\" + containerId);\r\n const WIDTH = 1920;\r\n const HEIGHT_OFFSET = 969 / 1920;\r\n const HEIGHT = WIDTH * HEIGHT_OFFSET;\r\n let createTooltip = () => {\r\n let tip = d3Tip()\r\n .attr(\"class\", \"d3-tip\")\r\n .style(\"z-index\", \"999999999\")\r\n .html(\r\n (d) =>\r\n `
\r\n
${d.name}
\r\n
`\r\n );\r\n return tip;\r\n };\r\n\r\n let createIotaTooltip = () => {\r\n let tip = d3Tip()\r\n .attr(\"class\", \"d3-tip\")\r\n .style(\"z-index\", \"999999999\")\r\n .html(\r\n (d) =>\r\n `
\r\n
${d.name}
\r\n
`\r\n );\r\n return tip;\r\n };\r\n\r\n let tip = createTooltip();\r\n let iotaTip = createIotaTooltip();\r\n const svg = container\r\n .append(\"svg\")\r\n .attr(\"width\", WIDTH)\r\n .attr(\"height\", HEIGHT)\r\n .call(tip)\r\n .call(iotaTip);\r\n\r\n const dataGroup = svg\r\n .append(\"g\")\r\n .attr(\"id\", \"svg-data\")\r\n .attr(\"class\", \"svg-data\");\r\n\r\n const image = dataGroup\r\n .append(\"image\")\r\n .attr(\"xlink:href\", baseImage)\r\n .attr(\"class\", \"base-image-group\")\r\n .attr(\"height\", 969)\r\n .attr(\"width\", 1920)\r\n .attr(\"id\", \"img\");\r\n\r\n const createImageUsingData = (\r\n group,\r\n data: {\r\n id: string;\r\n src: string;\r\n height: number;\r\n width: number;\r\n x: number;\r\n y: number;\r\n s?: number;\r\n o?: number;\r\n class?: string;\r\n [k: string]: any;\r\n finalX?: number;\r\n finalY?: number;\r\n textStyle?: any;\r\n }\r\n ) => {\r\n return group\r\n .append(\"image\")\r\n .datum(data)\r\n .attr(\"id\", (d) => d.id)\r\n .attr(\"xlink:href\", (d) => d.src)\r\n .attr(\"class\", (d) => `${d.class || d.id} animate`)\r\n .attr(\"height\", (d) => d.height)\r\n .attr(\"width\", (d) => d.width)\r\n .attr(\"transform\", (d) => {\r\n return `translate(${d.x}, ${d.y}) scale(${\r\n data.s !== void 0 ? data.s : 1\r\n })`;\r\n })\r\n .style(\"opacity\", (d) => (d.o !== void 0 ? d.o : 1))\r\n .style(\"textStyle\" in data ? data.textStyle : {});\r\n };\r\n\r\n const showImage = (\r\n group,\r\n className,\r\n operation: \"draw\" | \"hide\",\r\n delay = 0,\r\n duration = 1000,\r\n cb = function () {}\r\n ) => {\r\n group\r\n .selectAll(`.${className}`)\r\n .transition()\r\n .delay((d) => (\"delay\" in d ? d.delay : delay))\r\n .duration((d) => (\"duration\" in d ? d.duration : duration))\r\n .attr(\"transform\", (d: any) => {\r\n return `translate(${d.finalX}, ${d.finalY}) scale(${d.s})`;\r\n })\r\n .style(\"opacity\", operation === \"hide\" ? 0 : 1)\r\n .call(endAll, cb);\r\n };\r\n const showrotatedImage = (\r\n group,\r\n className,\r\n operation: \"draw\" | \"hide\",\r\n delay = 0,\r\n duration = 1000,\r\n rotation = 0,\r\n cb = function () {}\r\n ) => {\r\n group\r\n .selectAll(`.${className}`)\r\n .attr(\"transform\", (d: any) => {\r\n return `translate(${d.finalX}, ${d.finalY}) scale(${d.s}) rotate(${rotation})`;\r\n })\r\n .transition()\r\n .delay((d) => (\"delay\" in d ? d.delay : delay))\r\n .duration((d) => (\"duration\" in d ? d.duration : duration))\r\n .style(\"opacity\", operation === \"hide\" ? 0 : 1)\r\n .call(endAll, cb);\r\n };\r\n\r\n function endAll(tran, callback) {\r\n if (typeof callback !== \"function\") {\r\n throw new Error(\"Wrong callback in endall\");\r\n }\r\n if (tran.size() === 0) {\r\n callback();\r\n }\r\n let n = 0;\r\n tran\r\n .each(() => {\r\n ++n;\r\n })\r\n .each(\"end\", function (e) {\r\n if (--n === 0) {\r\n callback.apply(this, arguments);\r\n }\r\n });\r\n }\r\n\r\n const operateLine = (\r\n group,\r\n className,\r\n operation: \"draw\" | \"hide\",\r\n delay = 0,\r\n duration = 1000,\r\n cb = function () {}\r\n ) => {\r\n group\r\n .selectAll(`.${className}`)\r\n .style(\"opacity\", operation === \"hide\" ? 0 : 1)\r\n .transition()\r\n .delay((d) => (\"delay\" in d ? d.delay : delay))\r\n .duration((d) => (\"duration\" in d ? d.duration : duration))\r\n .attr(\"stroke-dashoffset\", (d) =>\r\n operation === \"hide\" ? d.pathLength : 0\r\n )\r\n .call(endAll, cb);\r\n };\r\n const line = d3.svg\r\n .line()\r\n .x((d) => d[0])\r\n .y((d) => d[1]);\r\n\r\n const addDashedLine = (\r\n group,\r\n lineData,\r\n className,\r\n strokeColor = \"#000000\",\r\n strokeDash = \"8, 5\",\r\n strokeWidth = 1,\r\n alreadyDraw = true\r\n ) => {\r\n return group\r\n .append(\"path\")\r\n .datum(lineData)\r\n .attr(\"d\", line)\r\n .attr(\"stroke\", strokeColor)\r\n .attr(\"class\", `animate ${className}`)\r\n .attr(\"stroke-width\", strokeWidth)\r\n .attr(\"stroke-dasharray\", function (d: any) {\r\n d.pathLength = d3.select(this).node().getTotalLength();\r\n const dashing = strokeDash;\r\n const dashLength = dashing\r\n .split(/[\\s,]/)\r\n .map(function (a) {\r\n return parseFloat(a) || 0;\r\n })\r\n .reduce(function (a, b) {\r\n return a + b;\r\n });\r\n\r\n const dashCount = Math.ceil(d.pathLength / dashLength);\r\n const newDashes = new Array(dashCount).join(dashing + \" \");\r\n const dashArray = newDashes + \" 1 , \" + (d.pathLength + 5);\r\n return dashArray;\r\n })\r\n .attr(\"stroke-dashoffset\", function (d: any) {\r\n return alreadyDraw ? 0 : d.pathLength;\r\n })\r\n\r\n .attr(\"fill\", \"none\");\r\n };\r\n\r\n const showPhoto = (\r\n group,\r\n className,\r\n operation: \"draw\" | \"hide\",\r\n delay = 0,\r\n duration = 1000,\r\n rotation = 0,\r\n scale = 1,\r\n cb = function () {}\r\n ) => {\r\n group\r\n .selectAll(`.${className}`)\r\n\r\n .transition()\r\n .delay((d) => (\"delay\" in d ? d.delay : delay))\r\n .duration((d) => (\"duration\" in d ? d.duration : duration))\r\n .attr(\"transform\", (d: any) => {\r\n if (operation === \"hide\") {\r\n return `translate(${d.x}, ${d.y}) scale(${scale}) rotate(${rotation})`;\r\n }\r\n return `translate(${d.finalX}, ${d.finalY}) scale(${scale}) rotate(${rotation})`;\r\n })\r\n .style(\"opacity\", (d: any) => {\r\n return operation === \"hide\" ? 0 : `${d.o}`;\r\n })\r\n .call(endAll, cb);\r\n };\r\n\r\n const engineWrapper = dataGroup\r\n .append(\"g\")\r\n .attr(\"class\", \"engineWrapper\")\r\n .attr(\"id\", \"engineWrapper\")\r\n .style(\"opacity\", 0);\r\n\r\n const createForecastingEngine = (() => {\r\n const forecastingEngineGroup = engineWrapper\r\n .append(\"g\")\r\n .attr(\"class\", \"forecastingEngineGroup\")\r\n .attr(\"id\", \"forecastingEngineGroup\")\r\n .style(\"opacity\", 0);\r\n const forecastingengine = {\r\n dataContent: [\r\n {\r\n background: {\r\n id: \"base_1\",\r\n class: \"\",\r\n width: 355,\r\n height: 355,\r\n src: \"assets/images/atlas-intelligence-kraft/base_1.svg\",\r\n x: 1163,\r\n y: 335,\r\n finalX: 1163,\r\n finalY: 335,\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"base_2\",\r\n class: \"\",\r\n width: 240,\r\n height: 240,\r\n src: \"assets/images/atlas-intelligence-kraft/base_2.svg\",\r\n x: 1220,\r\n y: 390,\r\n finalX: 1220,\r\n finalY: 390,\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"base_3\",\r\n class: \"\",\r\n width: 180,\r\n height: 180,\r\n src: \"assets/images/atlas-intelligence-kraft/base_3.svg\",\r\n x: 1250,\r\n y: 420,\r\n finalX: 1250,\r\n finalY: 420,\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n ],\r\n };\r\n forecastingengine.dataContent.forEach((content, index) => {\r\n const group = forecastingEngineGroup\r\n .append(\"g\")\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1,\r\n })\r\n .attr({\r\n class: (d: any) => `forecastingEngine forecastingEngine-${index} `,\r\n id: `forecastingEngine-${index}`,\r\n transform: (d: any) => `translate(${d.x}, ${d.y}) scale(1)`,\r\n })\r\n .style(\"opacity\", (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n });\r\n showImage(forecastingEngineGroup, \"base_1\", \"draw\", 0, 0, function () {});\r\n showImage(forecastingEngineGroup, \"base_2\", \"draw\", 0, 0, function () {});\r\n showImage(forecastingEngineGroup, \"base_3\", \"draw\", 0, 0, function () {});\r\n })();\r\n\r\n const createEngineFader = (() => {\r\n engineWrapper\r\n .append(\"circle\")\r\n .attr(\"class\", \"EngineFader\")\r\n .attr(\"transform\", `translate(200,200)`)\r\n .attr(\"r\", 10)\r\n .attr(\"fill\", \"#000000\")\r\n .style(\"opacity\", 0);\r\n })();\r\n\r\n const animateForecastingEngine = (\r\n screenNo,\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n const engineAttributes = [\r\n {\r\n screenNumber: 2,\r\n position: {\r\n x: 120,\r\n y: 0,\r\n },\r\n transitionOpacity: 1,\r\n opacity: 1,\r\n scale: 1,\r\n fader: {\r\n r: 0,\r\n cx: 0,\r\n cy: 0,\r\n opacity: 0,\r\n },\r\n },\r\n {\r\n screenNumber: 3,\r\n position: {\r\n x: -215,\r\n y: -130,\r\n },\r\n transitionOpacity: 0.3,\r\n opacity: 0.8,\r\n scale: 1.35,\r\n fader: {\r\n r: 104,\r\n cx: 1593,\r\n cy: 558,\r\n opacity: 0.5,\r\n },\r\n },\r\n {\r\n screenNumber: 4,\r\n position: {\r\n x: -2545,\r\n y: -850,\r\n },\r\n transitionOpacity: 0.2,\r\n opacity: 0.2,\r\n scale: 2.6,\r\n fader: {\r\n r: 0,\r\n cx: 0,\r\n cy: 0,\r\n opacity: 0,\r\n },\r\n },\r\n {\r\n screenNumber: 5,\r\n position: {\r\n x: -1080,\r\n y: -265,\r\n },\r\n transitionOpacity: 0.3,\r\n opacity: 0.8,\r\n scale: 1.14,\r\n fader: {\r\n r: 90,\r\n cx: 448,\r\n cy: 318,\r\n opacity: 0.5,\r\n },\r\n },\r\n {\r\n screenNumber: 6,\r\n position: {\r\n x: -530,\r\n y: -70,\r\n },\r\n transitionOpacity: 0.8,\r\n opacity: 0.8,\r\n scale: 1.1,\r\n fader: {\r\n r: 0,\r\n cx: 0,\r\n cy: 0,\r\n opacity: 0,\r\n },\r\n },\r\n ];\r\n const engineAttr = engineAttributes.filter((engAttr) => {\r\n if (engAttr.screenNumber === screenNo) return true;\r\n else return false;\r\n });\r\n\r\n if (screenNo === 2) {\r\n dataGroup\r\n .select(\".engineWrapper\")\r\n .select(\".forecastingEngineGroup\")\r\n\r\n .attr(\r\n \"transform\",\r\n `translate(${engineAttr[0].position.x},${engineAttr[0].position.y}) scale(${engineAttr[0].scale})`\r\n )\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", engineAttr[0].opacity)\r\n .call(endAll, () => {\r\n dataGroup\r\n .select(\".engineWrapper\")\r\n .select(\".EngineFader\")\r\n .attr(\"r\", engineAttr[0].fader.r)\r\n .attr(\r\n \"transform\",\r\n `translate(${engineAttr[0].fader.cx},${engineAttr[0].fader.cy})`\r\n )\r\n .transition()\r\n .duration(500)\r\n .style(\"opacity\", engineAttr[0].fader.opacity)\r\n .call(endAll, () => {});\r\n });\r\n } else if (screenNo === 3) {\r\n startEngineRotation(false, 0, 0);\r\n\r\n dataGroup\r\n .select(\".engineWrapper\")\r\n .select(\".forecastingEngineGroup\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", engineAttr[0].transitionOpacity)\r\n .attr(\r\n \"transform\",\r\n `translate(${engineAttr[0].position.x},${engineAttr[0].position.y}) scale(${engineAttr[0].scale})`\r\n )\r\n .call(endAll, cb);\r\n } else if (screenNo === 4) {\r\n dataGroup\r\n .select(\".engineWrapper\")\r\n .select(\".EngineFader\")\r\n .attr(\"r\", engineAttr[0].fader.r)\r\n .attr(\r\n \"transform\",\r\n `translate(${engineAttr[0].fader.cx},${engineAttr[0].fader.cy})`\r\n )\r\n .style(\"opacity\", engineAttr[0].fader.opacity);\r\n\r\n startEngineRotation(true, 0, 0);\r\n\r\n dataGroup\r\n .select(\".engineWrapper\")\r\n .select(\".forecastingEngineGroup\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", engineAttr[0].transitionOpacity)\r\n .attr(\"transform\", `translate(${-400},${-40}) scale(${1})`)\r\n .call(endAll, () => {\r\n dataGroup\r\n .select(\".engineWrapper\")\r\n .select(\".forecastingEngineGroup\")\r\n .transition()\r\n .delay(0)\r\n .duration(duration === 0 ? 0 : 800)\r\n .style(\"opacity\", engineAttr[0].transitionOpacity)\r\n .attr(\r\n \"transform\",\r\n `translate(${engineAttr[0].position.x},${engineAttr[0].position.y}) scale(${engineAttr[0].scale})`\r\n )\r\n .call(endAll, cb);\r\n });\r\n } else if (screenNo === 5) {\r\n dataGroup\r\n .select(\".engineWrapper\")\r\n .select(\".forecastingEngineGroup\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", engineAttr[0].transitionOpacity)\r\n .attr(\r\n \"transform\",\r\n `translate(${engineAttr[0].position.x},${engineAttr[0].position.y}) scale(${engineAttr[0].scale})`\r\n )\r\n .call(endAll, () => {\r\n dataGroup\r\n .select(\".engineWrapper\")\r\n .select(\".forecastingEngineGroup\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", engineAttr[0].opacity)\r\n .call(endAll, () => {\r\n dataGroup\r\n .select(\".engineWrapper\")\r\n .select(\".EngineFader\")\r\n .attr(\"r\", engineAttr[0].fader.r)\r\n .attr(\r\n \"transform\",\r\n `translate(${engineAttr[0].fader.cx},${engineAttr[0].fader.cy})`\r\n )\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", engineAttr[0].fader.opacity)\r\n .call(endAll, cb);\r\n });\r\n });\r\n } else if (screenNo === 6) {\r\n dataGroup\r\n .select(\".engineWrapper\")\r\n .select(\".EngineFader\")\r\n .attr(\"r\", engineAttr[0].fader.r)\r\n .attr(\r\n \"transform\",\r\n `translate(${engineAttr[0].fader.cx},${engineAttr[0].fader.cy})`\r\n )\r\n .style(\"opacity\", engineAttr[0].fader.opacity);\r\n dataGroup\r\n .select(\".engineWrapper\")\r\n .select(\".forecastingEngineGroup\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", engineAttr[0].transitionOpacity)\r\n .attr(\r\n \"transform\",\r\n `translate(${engineAttr[0].position.x},${engineAttr[0].position.y}) scale(${engineAttr[0].scale})`\r\n )\r\n .call(endAll, cb);\r\n }\r\n };\r\n\r\n const startEngineRotation = (start, delay, duration) => {\r\n if (start) {\r\n engineWrapper\r\n .select(\".forecastingEngineGroup\")\r\n .select(\".forecastingEngine-1\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\r\n \"class\",\r\n \"forecastingEngine forecastingEngine-1 rotate-clockwise\"\r\n );\r\n\r\n engineWrapper\r\n .select(\".forecastingEngineGroup\")\r\n .select(\".forecastingEngine-2\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\r\n \"class\",\r\n \"forecastingEngine forecastingEngine-2 rotate-anticlockwise\"\r\n );\r\n } else {\r\n engineWrapper\r\n .select(\".forecastingEngineGroup\")\r\n .select(\".forecastingEngine-1\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"class\", \"forecastingEngine forecastingEngine-1\");\r\n\r\n engineWrapper\r\n .select(\".forecastingEngineGroup\")\r\n .select(\".forecastingEngine-2\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"class\", \"forecastingEngine forecastingEngine-2\");\r\n }\r\n };\r\n\r\n const dashedRectWrapper = dataGroup\r\n .append(\"g\")\r\n .attr(\"class\", \"dashedRectWrapper\")\r\n .attr(\"id\", \"dashedRectWrapper\")\r\n .style(\"opacity\", 0);\r\n\r\n const createDashedRect = (() => {\r\n dashedRectWrapper\r\n .append(\"rect\")\r\n .attr(\"class\", \"dashedRect\")\r\n .attr(\"transform\", `translate(${80},${180})`)\r\n .attr(\"width\", 1760)\r\n .attr(\"height\", 710)\r\n .style(\"stroke\", \"#ffffff\")\r\n .style(\"stroke-width\", 1)\r\n .style(\"stroke-dasharray\", 7)\r\n .style(\"fill\", \"#503a7e\")\r\n .style(\"opacity\", 1)\r\n .style(\"fill-opacity\", 0.25);\r\n })();\r\n\r\n const animateDashedRect = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n console.log(delay, duration);\r\n dashedRectWrapper\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", operation === \"draw\" ? 1 : 0)\r\n .call(endAll, cb);\r\n };\r\n\r\n const focusrings = dataGroup\r\n .append(\"g\")\r\n .attr(\"class\", \"focusgroup\")\r\n .attr(\"id\", \"focusgroup\")\r\n .style(\"opacity\", 0);\r\n\r\n const createFocusRings = (() => {\r\n focusrings\r\n .append(\"circle\")\r\n .attr(\"cx\", 260)\r\n .attr(\"cy\", 415)\r\n .attr(\"r\", 0)\r\n .style(\"fill\", \"#fff\")\r\n .style(\"opacity\", 0)\r\n .attr(\"class\", \"screen-4-highlightlingnode-back\");\r\n focusrings\r\n .append(\"circle\")\r\n .attr(\"cx\", 260)\r\n .attr(\"cy\", 415)\r\n .attr(\"r\", 0)\r\n .style(\"fill\", \"#fff\")\r\n .style(\"opacity\", 0)\r\n .attr(\"class\", \"screen-4-highlightlingnode-front\");\r\n })();\r\n\r\n const animateFocusRings = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n focusrings.style(\"opacity\", operation === \"draw\" ? 1 : 0);\r\n focusrings\r\n .select(\".screen-4-highlightlingnode-back\")\r\n .style(\"opacity\", 0.2)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"r\", 60);\r\n focusrings\r\n .select(\".screen-4-highlightlingnode-front\")\r\n .style(\"opacity\", 0.4)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"r\", 35)\r\n .call(endAll, cb);\r\n };\r\n\r\n const processGraph = dataGroup\r\n .append(\"g\")\r\n .attr(\"class\", \"processGraph\")\r\n .attr(\"id\", \"processGraph\")\r\n .style(\"opacity\", 0);\r\n\r\n const legendNodesCopy = processGraph\r\n .append(\"g\")\r\n .attr(\"class\", \"processLegendNodesCopy\")\r\n .attr(\"id\", \"processLegendNodesCopy\");\r\n\r\n const nodeTextCopy = processGraph\r\n .append(\"g\")\r\n .attr(\"class\", \"processNodeTextsCopy\")\r\n .attr(\"id\", \"processNodeTextsCopy\");\r\n\r\n const graphLines = processGraph\r\n .append(\"g\")\r\n .attr(\"class\", \"processGraphLines\")\r\n .attr(\"id\", \"processGraphLines\");\r\n\r\n const legendNodesDataCopy = [\r\n {\r\n radius: 25,\r\n centerX: 350,\r\n centerY: 370,\r\n fillColor: \"#2867B0\",\r\n nodeText: \"A\",\r\n legendText: \"Citric Acid\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 350,\r\n centerY: 450,\r\n fillColor: \"#E28D2A\",\r\n nodeText: \"B\",\r\n legendText: \"Whey\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 350,\r\n centerY: 530,\r\n fillColor: \"#1CAA44\",\r\n nodeText: \"C\",\r\n legendText: \"Dextrose\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 350,\r\n centerY: 605,\r\n fillColor: \"#B8BA51\",\r\n nodeText: \"D\",\r\n legendText: \"Palm Oil\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 350,\r\n centerY: 680,\r\n fillColor: \"#C73434\",\r\n nodeText: \"E\",\r\n legendText: \"Unbleached Wheat flour\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 350,\r\n centerY: 760,\r\n fillColor: \"#0FB8A4\",\r\n nodeText: \"F\",\r\n legendText: \"Eggs\",\r\n },\r\n ];\r\n const createGNNGraphNodes = (() => {\r\n legendNodesDataCopy.forEach((node) => {\r\n legendNodesCopy\r\n .append(\"circle\")\r\n .attr(\"class\", \"CopiedNode\" + node.nodeText)\r\n .attr(\"r\", node.radius)\r\n .attr(\"transform\", `translate(${node.centerX},${node.centerY})`)\r\n .attr(\"fill\", node.fillColor);\r\n nodeTextCopy\r\n .append(\"text\")\r\n .attr(\"class\", \"CopiedNodeText\" + node.nodeText)\r\n .attr(\"transform\", `translate(${node.centerX},${node.centerY + 10})`)\r\n .style(\"text-anchor\", \"middle\")\r\n .style(\"font-size\", \"30px\")\r\n .style(\"font-weight\", \"bold\")\r\n .style(\"fill\", \"#ffffff\")\r\n .text(node.nodeText);\r\n });\r\n })();\r\n\r\n const graphAdjMatx = [\r\n {\r\n start: \"A\",\r\n end: \"B\",\r\n x1: 825 + 500,\r\n y1: 350,\r\n x2: 998 + 500,\r\n y2: 350,\r\n },\r\n {\r\n start: \"A\",\r\n end: \"C\",\r\n x1: 820 + 500,\r\n y1: 365,\r\n x2: 1005 + 500,\r\n y2: 555,\r\n },\r\n {\r\n start: \"A\",\r\n end: \"D\",\r\n x1: 800 + 500,\r\n y1: 375,\r\n x2: 800 + 500,\r\n y2: 545,\r\n },\r\n {\r\n start: \"B\",\r\n end: \"C\",\r\n x1: 1023 + 500,\r\n y1: 375,\r\n x2: 1023 + 500,\r\n y2: 545,\r\n },\r\n {\r\n start: \"C\",\r\n end: \"E\",\r\n x1: 1010 + 500,\r\n y1: 590,\r\n x2: 950 + 500,\r\n y2: 695,\r\n },\r\n {\r\n start: \"C\",\r\n end: \"F\",\r\n x1: 1040 + 500,\r\n y1: 590,\r\n x2: 1070 + 500,\r\n y2: 693,\r\n },\r\n ,\r\n {\r\n start: \"E\",\r\n end: \"F\",\r\n x1: 962 + 500,\r\n y1: 715,\r\n x2: 1050 + 500,\r\n y2: 715,\r\n },\r\n ];\r\n const createGNNGraphLines = (() => {\r\n graphAdjMatx.forEach((link, index) => {\r\n graphLines\r\n .append(\"line\")\r\n .attr(\"class\", \"graphLine\" + index)\r\n .attr(\"x1\", link.x1)\r\n .attr(\"y1\", link.y1)\r\n .attr(\"x2\", link.x1)\r\n .attr(\"y2\", link.y1)\r\n .attr(\"stroke\", \"white\")\r\n .attr(\"stroke-width\", 1.5);\r\n });\r\n })();\r\n\r\n const animateGNNNodesToIntermidiate = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n if (that.screen4VisitNo > 0) return;\r\n const legendNodesDataCopyIntermidiate = [\r\n {\r\n radius: 25,\r\n centerX: 800 + 500,\r\n centerY: 350,\r\n fillColor: \"#2867B0\",\r\n nodeText: \"A\",\r\n legendText: \"Citric Acid\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 900 + 500,\r\n centerY: 435,\r\n fillColor: \"#E28D2A\",\r\n nodeText: \"B\",\r\n legendText: \"Whey\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 700 + 500,\r\n centerY: 520,\r\n fillColor: \"#1CAA44\",\r\n nodeText: \"C\",\r\n legendText: \"Dextrose\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 1000 + 500,\r\n centerY: 605,\r\n fillColor: \"#B8BA51\",\r\n nodeText: \"D\",\r\n legendText: \"Palm Oil\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 750 + 500,\r\n centerY: 690,\r\n fillColor: \"#C73434\",\r\n nodeText: \"E\",\r\n legendText: \"Unbleached Wheat flour\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 850 + 500,\r\n centerY: 775,\r\n fillColor: \"#0FB8A4\",\r\n nodeText: \"F\",\r\n legendText: \"Eggs\",\r\n },\r\n ];\r\n\r\n processGraph.style(\"opacity\", operation === \"draw\" ? 1 : 0);\r\n\r\n legendNodesDataCopyIntermidiate.forEach((node, index) => {\r\n legendNodesCopy\r\n .select(\".CopiedNode\" + node.nodeText)\r\n\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"transform\", `translate(${node.centerX},${node.centerY})`);\r\n nodeTextCopy\r\n .select(\".CopiedNodeText\" + node.nodeText)\r\n\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"transform\", `translate(${node.centerX},${node.centerY + 10})`)\r\n .call(\r\n endAll,\r\n legendNodesDataCopyIntermidiate.length === index + 1\r\n ? cb\r\n : function () {}\r\n );\r\n });\r\n };\r\n\r\n const animateGNNNodesToFinal = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n const legendNodesDataCopyGraph = [\r\n {\r\n radius: 25,\r\n centerX: 800 + 500,\r\n centerY: 350,\r\n fillColor: \"#2867B0\",\r\n nodeText: \"A\",\r\n legendText: \"Citric Acid\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 1023 + 500,\r\n centerY: 350,\r\n fillColor: \"#E28D2A\",\r\n nodeText: \"B\",\r\n legendText: \"Whey\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 1023 + 500,\r\n centerY: 570,\r\n fillColor: \"#1CAA44\",\r\n nodeText: \"C\",\r\n legendText: \"Dextrose\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 800 + 500,\r\n centerY: 570,\r\n fillColor: \"#B8BA51\",\r\n nodeText: \"D\",\r\n legendText: \"Palm Oil\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 937 + 500,\r\n centerY: 715,\r\n fillColor: \"#C73434\",\r\n nodeText: \"E\",\r\n legendText: \"Unbleached Wheat flour\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 1075 + 500,\r\n centerY: 715,\r\n fillColor: \"#0FB8A4\",\r\n nodeText: \"F\",\r\n legendText: \"Eggs\",\r\n },\r\n ];\r\n\r\n legendNodesDataCopyGraph.forEach((node, index) => {\r\n legendNodesCopy\r\n .select(\".CopiedNode\" + node.nodeText)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"transform\", `translate(${node.centerX},${node.centerY})`);\r\n nodeTextCopy\r\n .select(\".CopiedNodeText\" + node.nodeText)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"transform\", `translate(${node.centerX},${node.centerY + 10})`)\r\n .call(\r\n endAll,\r\n legendNodesDataCopyGraph.length === index + 1 ? cb : function () {}\r\n );\r\n });\r\n };\r\n\r\n const animateGNNLines = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n const graphAdjMatx = [\r\n {\r\n start: \"A\",\r\n end: \"B\",\r\n x1: 825 + 500,\r\n y1: 350,\r\n x2: 998 + 500,\r\n y2: 350,\r\n },\r\n {\r\n start: \"A\",\r\n end: \"C\",\r\n x1: 820 + 500,\r\n y1: 365,\r\n x2: 1005 + 500,\r\n y2: 555,\r\n },\r\n {\r\n start: \"A\",\r\n end: \"D\",\r\n x1: 800 + 500,\r\n y1: 375,\r\n x2: 800 + 500,\r\n y2: 545,\r\n },\r\n {\r\n start: \"B\",\r\n end: \"C\",\r\n x1: 1023 + 500,\r\n y1: 375,\r\n x2: 1023 + 500,\r\n y2: 545,\r\n },\r\n {\r\n start: \"C\",\r\n end: \"E\",\r\n x1: 1010 + 500,\r\n y1: 590,\r\n x2: 950 + 500,\r\n y2: 695,\r\n },\r\n {\r\n start: \"C\",\r\n end: \"F\",\r\n x1: 1040 + 500,\r\n y1: 590,\r\n x2: 1070 + 500,\r\n y2: 693,\r\n },\r\n ,\r\n {\r\n start: \"E\",\r\n end: \"F\",\r\n x1: 962 + 500,\r\n y1: 715,\r\n x2: 1050 + 500,\r\n y2: 715,\r\n },\r\n ];\r\n\r\n graphAdjMatx.forEach((link, index) => {\r\n graphLines\r\n .select(\".graphLine\" + index)\r\n\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"x2\", link.x2)\r\n .attr(\"y2\", link.y2)\r\n .call(\r\n endAll,\r\n graphAdjMatx.length === index + 1 ? cb : function () {}\r\n );\r\n\r\n delay += duration === 0 ? 0 : 250;\r\n });\r\n };\r\n\r\n const animateGNNPosition = (\r\n screenNo,\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n var x, y, scale;\r\n if (screenNo === 4) {\r\n x = 0;\r\n y = 0;\r\n scale = 1;\r\n } else if (screenNo === 5) {\r\n x = -45;\r\n y = 140;\r\n scale = 0.34;\r\n }\r\n\r\n processGraph.style(\"opacity\", operation === \"draw\" ? 1 : 0);\r\n\r\n if (screenNo === 4) {\r\n processGraph\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"transform\", `translate(${-650},${170}) scale(${0.7})`)\r\n .call(endAll, cb);\r\n } else if (screenNo === 5) {\r\n processGraph\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"transform\", `translate(${x},${y}) scale(${scale})`)\r\n .call(endAll, cb);\r\n }\r\n };\r\n\r\n const screenOne = (() => {\r\n const HidePhoto = (\r\n group,\r\n className,\r\n delay = 0,\r\n duration = 1000,\r\n rotation = 0,\r\n cb = function () {}\r\n ) => {\r\n group\r\n .selectAll(`.${className}`)\r\n .transition()\r\n .delay((d) => (\"delay\" in d ? d.delay : delay))\r\n .duration((d) => (\"duration\" in d ? d.duration : duration))\r\n\r\n .attr(\"transform\", (d: any) => {\r\n return `translate(${d.x}, ${d.y}) scale(${\r\n d.fs === void 0 ? 0 : d.s\r\n }) rotate(${rotation})`;\r\n })\r\n .call(endAll, cb);\r\n };\r\n const currentProcess = dataGroup\r\n .append(\"g\")\r\n .attr(\"id\", \"screen-1-group\")\r\n .attr(\"class\", \"screen-1-group d-none\")\r\n .style(\"opacity\", 1);\r\n\r\n const manInMarketGroup = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"man-in-market-group\")\r\n .attr(\"class\", \"man-in-market-group\");\r\n\r\n const dataSummaryData = {\r\n dataContent: [\r\n {\r\n background: {\r\n id: \"curved-lines\",\r\n width: 950,\r\n height: 1100,\r\n src: \"assets/images/atlas-intelligence-kraft/lines_arrows (2).svg\",\r\n x: 1345,\r\n y: 360,\r\n finalX: 870,\r\n finalY: -190,\r\n class: \"\",\r\n s: 0,\r\n o: 0.6,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"man-with-trolley\",\r\n width: 500,\r\n height: 415,\r\n src: \"assets/images/atlas-intelligence-kraft/shopping.svg\",\r\n x: 1920,\r\n y: 419,\r\n finalX: 1255,\r\n finalY: 419,\r\n class: \"\",\r\n s: 1,\r\n o: 1,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"question-mark\",\r\n width: 170,\r\n height: 170,\r\n src: \"assets/images/atlas-intelligence-kraft/talk_bubble.svg\",\r\n x: 1600,\r\n y: 260,\r\n finalX: 1600,\r\n finalY: 260,\r\n class: \"\",\r\n s: 0,\r\n o: 1,\r\n },\r\n },\r\n\r\n {\r\n background: {\r\n id: \"product-bottle-1\",\r\n width: 100,\r\n height: 150,\r\n src: \"assets/images/atlas-intelligence-kraft/prod_1.svg\",\r\n x: 1135,\r\n y: 90,\r\n finalX: 1135,\r\n finalY: 90,\r\n class: \"\",\r\n s: 0,\r\n o: 1,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"product-bottle-2\",\r\n width: 80,\r\n height: 140,\r\n src: \"assets/images/atlas-intelligence-kraft/prod_2.svg\",\r\n x: 1065,\r\n y: 90,\r\n finalX: 1065,\r\n finalY: 90,\r\n class: \"\",\r\n s: 0,\r\n o: 1,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"product-bottle-3\",\r\n width: 65,\r\n height: 90,\r\n src: \"assets/images/atlas-intelligence-kraft/prod_3.svg\",\r\n x: 1350,\r\n y: 375,\r\n finalX: 1350,\r\n finalY: 375,\r\n class: \"\",\r\n s: 0,\r\n o: 1,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"product-bottle-4\",\r\n width: 65,\r\n height: 90,\r\n src: \"assets/images/atlas-intelligence-kraft/prod_5.svg\",\r\n x: 1210,\r\n y: 540,\r\n finalX: 1210,\r\n finalY: 540,\r\n class: \"\",\r\n s: 0,\r\n o: 1,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"product-bottle-5\",\r\n width: 80,\r\n height: 180,\r\n src: \"assets/images/atlas-intelligence-kraft/prod_3.svg\",\r\n x: 1800,\r\n y: 180,\r\n finalX: 1815,\r\n finalY: 180,\r\n class: \"\",\r\n s: 0,\r\n o: 1,\r\n },\r\n },\r\n\r\n {\r\n background: {\r\n id: \"question_mark-1\",\r\n width: 90,\r\n height: 150,\r\n src: \"assets/images/atlas-intelligence-kraft/question_1.svg\",\r\n x: 940,\r\n y: 320,\r\n finalX: 940,\r\n finalY: 320,\r\n class: \"\",\r\n s: 0,\r\n o: 1,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"question_mark-2\",\r\n width: 110,\r\n height: 250,\r\n src: \"assets/images/atlas-intelligence-kraft/question_2.svg\",\r\n x: 1585,\r\n y: 70,\r\n finalX: 1585,\r\n finalY: 70,\r\n class: \"\",\r\n s: 0,\r\n o: 0.6,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"question_mark-3\",\r\n width: 125,\r\n height: 250,\r\n src: \"assets/images/atlas-intelligence-kraft/question_3.svg\",\r\n x: 1060,\r\n y: 440,\r\n finalX: 1060,\r\n finalY: 440,\r\n class: \"\",\r\n s: 0,\r\n o: 0.7,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"question_mark-4\",\r\n width: 100,\r\n height: 220,\r\n src: \"assets/images/atlas-intelligence-kraft/question_2.svg\",\r\n x: 1705,\r\n y: 505,\r\n finalX: 1705,\r\n finalY: 505,\r\n class: \"\",\r\n s: 0,\r\n o: 0.7,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"product-checklist-1\",\r\n width: 200,\r\n height: 150,\r\n src: \"assets/images/atlas-intelligence-kraft/survey_form_tilted.svg\",\r\n x: 1063,\r\n y: 250,\r\n finalX: 1063,\r\n finalY: 250,\r\n class: \"\",\r\n s: 0,\r\n o: 1,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"product-checklist-2\",\r\n width: 200,\r\n height: 150,\r\n src: \"assets/images/atlas-intelligence-kraft/survey_form_tilted.svg\",\r\n x: 1260,\r\n y: 450,\r\n finalX: 1260,\r\n finalY: 450,\r\n class: \"\",\r\n s: 0,\r\n o: 1,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"product-checklist-blank\",\r\n width: 300,\r\n height: 300,\r\n src: \"assets/images/atlas-intelligence-kraft/survey_form_blank.svg\",\r\n x: 1270,\r\n y: 370,\r\n finalX: 1120,\r\n finalY: 220,\r\n class: \"\",\r\n s: 0,\r\n o: 1,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"product-checklist-tick-1\",\r\n width: 30,\r\n height: 30,\r\n src: \"assets/images/atlas-intelligence-kraft/tick.svg\",\r\n x: 1185,\r\n y: 250,\r\n finalX: 1185,\r\n finalY: 250,\r\n class: \"\",\r\n s: 0,\r\n o: 1,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"product-checklist-tick-2\",\r\n width: 30,\r\n height: 30,\r\n src: \"assets/images/atlas-intelligence-kraft/tick.svg\",\r\n x: 1185,\r\n y: 295,\r\n finalX: 1185,\r\n finalY: 295,\r\n class: \"\",\r\n s: 0,\r\n o: 1,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"product-checklist-tick-3\",\r\n width: 30,\r\n height: 30,\r\n src: \"assets/images/atlas-intelligence-kraft/tick.svg\",\r\n x: 1185,\r\n y: 340,\r\n finalX: 1185,\r\n finalY: 340,\r\n class: \"\",\r\n s: 0,\r\n o: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n dataSummaryData.dataContent.forEach((content, index) => {\r\n const group = manInMarketGroup\r\n .append(\"g\")\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1,\r\n })\r\n .attr({\r\n class: `man-in-market-group man-in-market-group-${index}`,\r\n id: `man-in-market-group-${index}`,\r\n transform: (d: any) => `translate(${d.x}, ${d.y}) `,\r\n })\r\n .style(\"opacity\", (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n });\r\n\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-checklist-blank\",\r\n \"draw\",\r\n 2000,\r\n 400,\r\n 0,\r\n 1,\r\n function () {}\r\n );\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-checklist-tick-1\",\r\n \"draw\",\r\n 2200,\r\n 400,\r\n 0,\r\n 1,\r\n function () {\r\n showPhoto(\r\n manInMarketGroup,\r\n \"question_mark-1\",\r\n \"draw\",\r\n 100,\r\n 200,\r\n 0,\r\n 1,\r\n function () {}\r\n );\r\n }\r\n );\r\n\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-checklist-tick-2\",\r\n \"draw\",\r\n 2700,\r\n 400,\r\n 0,\r\n 1,\r\n function () {\r\n showPhoto(\r\n manInMarketGroup,\r\n \"question_mark-2\",\r\n \"draw\",\r\n 200,\r\n 400,\r\n -25,\r\n 1,\r\n function () {}\r\n );\r\n }\r\n );\r\n\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-checklist-tick-3\",\r\n \"draw\",\r\n 3300,\r\n 400,\r\n 0,\r\n 1,\r\n function () {\r\n showPhoto(\r\n manInMarketGroup,\r\n \"question_mark-3\",\r\n \"draw\",\r\n 200,\r\n 400,\r\n 0,\r\n 1,\r\n function () {}\r\n );\r\n showPhoto(\r\n manInMarketGroup,\r\n \"question_mark-4\",\r\n \"draw\",\r\n 400,\r\n 400,\r\n 0,\r\n 1,\r\n function () {}\r\n );\r\n }\r\n );\r\n\r\n HidePhoto(\r\n manInMarketGroup,\r\n \"product-checklist-blank\",\r\n 4500,\r\n 500,\r\n 0,\r\n function () {}\r\n );\r\n HidePhoto(\r\n manInMarketGroup,\r\n \"product-checklist-tick-1\",\r\n 4500,\r\n 500,\r\n 0,\r\n function () {}\r\n );\r\n HidePhoto(\r\n manInMarketGroup,\r\n \"product-checklist-tick-2\",\r\n 4500,\r\n 500,\r\n 0,\r\n function () {}\r\n );\r\n HidePhoto(\r\n manInMarketGroup,\r\n \"product-checklist-tick-3\",\r\n 4500,\r\n 500,\r\n 0,\r\n function () {}\r\n );\r\n\r\n function initiateAnimation() {\r\n const htmlDelayValue = 1500;\r\n const scale = 1;\r\n dataGroup.select(\".engineWrapper\").style(\"opacity\", 0);\r\n processGraph.style(\"opacity\", 0);\r\n focusrings.style(\"opacity\", 0);\r\n\r\n showPhoto(\r\n manInMarketGroup,\r\n \"man-with-trolley\",\r\n \"draw\",\r\n 0,\r\n 500,\r\n 0,\r\n 1,\r\n function () {}\r\n );\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-bottle-1\",\r\n \"draw\",\r\n 1000,\r\n 500,\r\n 0,\r\n 1,\r\n function () {}\r\n );\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-bottle-2\",\r\n \"draw\",\r\n 1000,\r\n 500,\r\n 0,\r\n 1,\r\n function () {}\r\n );\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-bottle-3\",\r\n \"draw\",\r\n 1000,\r\n 500,\r\n 0,\r\n 1,\r\n function () {}\r\n );\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-bottle-4\",\r\n \"draw\",\r\n 1000,\r\n 500,\r\n 0,\r\n 1,\r\n function () {}\r\n );\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-bottle-5\",\r\n \"draw\",\r\n 1000,\r\n 500,\r\n 0,\r\n 1,\r\n function () {}\r\n );\r\n\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-checklist-1\",\r\n \"draw\",\r\n 4600,\r\n 1000,\r\n 0,\r\n 1,\r\n function () {}\r\n );\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-checklist-2\",\r\n \"draw\",\r\n 4600,\r\n 1000,\r\n 0,\r\n 1,\r\n function () {}\r\n );\r\n showPhoto(\r\n manInMarketGroup,\r\n \"curved-lines\",\r\n \"draw\",\r\n 5000,\r\n 1000,\r\n 0,\r\n 1,\r\n function () {}\r\n );\r\n\r\n showPhoto(\r\n manInMarketGroup,\r\n \"question-mark\",\r\n \"draw\",\r\n 6000,\r\n 500,\r\n 0,\r\n 1,\r\n function () {}\r\n );\r\n\r\n setTimeout(() => {\r\n that.screen1visitno++;\r\n }, 6000);\r\n }\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n baseImage = \"\";\r\n\r\n image.attr(\"xlink:href\", baseImage);\r\n currentProcess.style(\"opacity\", 1);\r\n\r\n currentProcess.attr(\"class\", \"screen-1-group\");\r\n initiateAnimation();\r\n },\r\n stopAnimation() {\r\n currentProcess.attr(\"class\", \"screen-1-group d-none\");\r\n currentProcess.selectAll(\".animate\").interrupt();\r\n\r\n showPhoto(\r\n manInMarketGroup,\r\n \"question_mark-1\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n function () {}\r\n ),\r\n showPhoto(\r\n manInMarketGroup,\r\n \"question_mark-2\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n -25,\r\n 1,\r\n function () {}\r\n ),\r\n showPhoto(\r\n manInMarketGroup,\r\n \"question_mark-3\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n function () {}\r\n ),\r\n showPhoto(\r\n manInMarketGroup,\r\n \"question_mark-4\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n function () {}\r\n ),\r\n HidePhoto(\r\n manInMarketGroup,\r\n \"product-checklist-blank\",\r\n 0,\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n HidePhoto(\r\n manInMarketGroup,\r\n \"product-checklist-tick-1\",\r\n 0,\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n HidePhoto(\r\n manInMarketGroup,\r\n \"product-checklist-tick-2\",\r\n 0,\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n HidePhoto(\r\n manInMarketGroup,\r\n \"product-checklist-tick-3\",\r\n 0,\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n showPhoto(\r\n manInMarketGroup,\r\n \"man-with-trolley\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n function () {}\r\n ),\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-bottle-1\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n function () {}\r\n ),\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-bottle-2\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n function () {}\r\n ),\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-bottle-3\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n function () {}\r\n ),\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-bottle-4\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n function () {}\r\n ),\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-bottle-5\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n function () {}\r\n ),\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-checklist-1\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n function () {}\r\n ),\r\n showPhoto(\r\n manInMarketGroup,\r\n \"product-checklist-2\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n function () {}\r\n ),\r\n showPhoto(\r\n manInMarketGroup,\r\n \"curved-lines\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n function () {}\r\n ),\r\n showPhoto(\r\n manInMarketGroup,\r\n \"question-mark\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n function () {}\r\n );\r\n\r\n currentProcess\r\n .transition()\r\n\r\n .duration(200)\r\n .style(\"opacity\", 0);\r\n that.animationStarted.screen1 = true;\r\n },\r\n };\r\n })();\r\n\r\n const screenTwo = (() => {\r\n const currentProcess = dataGroup\r\n .append(\"g\")\r\n .attr(\"id\", \"screen-2-group\")\r\n .attr(\"class\", \"screen-2-group d-none\")\r\n .style(\"opacity\", 1);\r\n\r\n currentProcess.attr(\"transform\", \"translate(0,75)\");\r\n\r\n const operateCircle = (\r\n group,\r\n className,\r\n operation: \"draw\" | \"hide\",\r\n delay = 0,\r\n duration = 1000,\r\n cb = function () {}\r\n ) => {\r\n group\r\n .selectAll(`.${className}`)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", operation === \"hide\" ? 0 : 0.4)\r\n .call(endAll, cb);\r\n };\r\n\r\n const listData = {\r\n lines: [\r\n [\r\n [692, 195],\r\n [805, 195],\r\n ],\r\n [\r\n [692, 710],\r\n [805, 710],\r\n ],\r\n [\r\n [800, 195],\r\n [800, 455],\r\n ],\r\n [\r\n [800, 710],\r\n [800, 455],\r\n ],\r\n [\r\n [800, 455],\r\n [1280, 455],\r\n ],\r\n ],\r\n };\r\n const circlegroup = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"circle-group\")\r\n .attr(\"class\", \"circle-group\")\r\n .style(\"opacity\", 1);\r\n\r\n const lineGroup = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"line-group\")\r\n .attr(\"class\", \"line-group\")\r\n .style(\"opacity\", 1);\r\n\r\n listData.lines.forEach((el, i) => {\r\n let index = i;\r\n const line = addDashedLine(\r\n lineGroup,\r\n el,\r\n `screen-2 process-line-${i}`,\r\n \"#ffffff\",\r\n \"8,4\",\r\n 1,\r\n false\r\n );\r\n line.attr(\"stroke-dashoffset\", (d) => d.pathLength);\r\n });\r\n\r\n lineGroup.attr(\"transform\", \"translate(5,-15)\");\r\n\r\n const rectGroup = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"rect-group\")\r\n .attr(\"class\", \"rect-group\");\r\n\r\n circlegroup\r\n .append(\"circle\")\r\n .attr(\"cx\", 1360)\r\n .attr(\"cy\", 440)\r\n .attr(\"r\", 340)\r\n .style(\"fill\", \"#815ECF\")\r\n .style(\"opacity\", 0)\r\n .attr(\"class\", \"screen-2-fadedcircle\");\r\n\r\n circlegroup.attr(\"transform\", \"translate(100,0)\");\r\n\r\n const challengesforeigndataobject = {\r\n dataContent: [\r\n {\r\n background: {\r\n id: \"solution-1\",\r\n width: \"642px\",\r\n height: \"745px\",\r\n html: `
Challenges
\r\n
    \r\n
  • \r\n \"?\"\r\n Lengthy and expensive process\r\n
  • \r\n
  • \r\n \"?\"\r\n Poor Prediction\r\n
  • \r\n
  • \r\n \"?\"\r\n Overly-exuberant Consumers in primary research\r\n
  • \r\n
  • \r\n \"?\"\r\n Small launches & lack of extensions budget\r\n
  • \r\n
  • \r\n \"?\"\r\n Items across categories interaction ignorence\r\n
  • \r\n
  • \r\n \"?\"\r\n Non innovative Single-tasker forcasting\r\n
  • \r\n
  • \r\n \"?\"\r\n Mis-represented Support and Distribution\r\n
  • \r\n
`,\r\n x: 50,\r\n y: 80,\r\n class: \"challenges\",\r\n s: 1,\r\n o: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n const dataSummaryData = {\r\n dataContent: [\r\n {\r\n background: {\r\n id: \"arrow-right-1\",\r\n width: 20,\r\n height: 20,\r\n src: \"assets/images/atlas-intelligence-kraft/NormailArrow.svg\",\r\n x: 975,\r\n y: 430,\r\n finalX: 975,\r\n finalY: 430,\r\n class: \"arrow-right-1\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"arrow-right-2\",\r\n width: 20,\r\n height: 20,\r\n src: \"assets/images/atlas-intelligence-kraft/NormailArrow.svg\",\r\n x: 1265,\r\n y: 430,\r\n finalX: 1265,\r\n finalY: 430,\r\n class: \"arrow-right-2\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"arrow-down-1\",\r\n width: 20,\r\n height: 20,\r\n src: \"assets/images/atlas-intelligence-kraft/NormailArrow.svg\",\r\n x: 815,\r\n y: 293,\r\n finalX: 815,\r\n finalY: 293,\r\n cx: 45,\r\n class: \"arrow-down-1\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"arrow-up-1\",\r\n width: 20,\r\n height: 20,\r\n src: \"assets/images/atlas-intelligence-kraft/NormailArrow.svg\",\r\n x: 795,\r\n y: 560,\r\n finalX: 795,\r\n finalY: 560,\r\n class: \"arrow-up-1\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"arc-arrow-1\",\r\n width: 25,\r\n height: 25,\r\n src: \"assets/images/atlas-intelligence-kraft/BoldArrow.svg\",\r\n x: 1345,\r\n y: 147,\r\n finalX: 1345,\r\n finalY: 147,\r\n class: \"arc-arrow-1\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"arc-arrow-2\",\r\n width: 25,\r\n height: 25,\r\n src: \"assets/images/atlas-intelligence-kraft/BoldArrow.svg\",\r\n x: 1705,\r\n y: 240,\r\n finalX: 1705,\r\n finalY: 240,\r\n class: \"arc-arrow-2\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"arc-arrow-3\",\r\n width: 25,\r\n height: 25,\r\n src: \"assets/images/atlas-intelligence-kraft/BoldArrow.svg\",\r\n x: 1720,\r\n y: 625,\r\n finalX: 1720,\r\n finalY: 625,\r\n class: \"arc-arrow-3\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"arc-arrow-4\",\r\n width: 25,\r\n height: 25,\r\n src: \"assets/images/atlas-intelligence-kraft/BoldArrow.svg\",\r\n x: 1374,\r\n y: 742,\r\n finalX: 1374,\r\n finalY: 742,\r\n class: \"arc-arrow-4\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n\r\n /*{\r\n background: {\r\n id: \"question-mark\",\r\n width: 25,\r\n height: 25,\r\n src: \"assets/images/atlas-intelligence-kraft/icon_question_mark.svg\",\r\n x: d3.select('#chlng-rectangle-1').node().getBBox().x+20,\r\n y: d3.select('#chlng-rectangle-1').node().getBBox().y+50,\r\n finalX: d3.select('#chlng-rectangle-1').node().getBBox().x+20,\r\n finalY: d3.select('#chlng-rectangle-1').node().getBBox().y+50,\r\n class:\r\n \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n */\r\n ],\r\n };\r\n\r\n dataSummaryData.dataContent.forEach((content, index) => {\r\n const group = rectGroup\r\n .append(\"g\")\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1,\r\n })\r\n .attr({\r\n class: `rect-group rect-group-${index}`,\r\n id: `rect-group-${index}`,\r\n transform: (d: any) => `translate(${d.x}, ${d.y}) scale(1)`,\r\n })\r\n .style(\"opacity\", (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n });\r\n\r\n const foreigndataobject = {\r\n dataContent: [\r\n {\r\n background: {\r\n id: \"solution-1\",\r\n width: \"200px\",\r\n height: \"220px\",\r\n html: `
\r\n \"\"\r\n Idea Screening\r\n & Optimization\r\n
`,\r\n x: 1020,\r\n y: 174,\r\n class: \"screen-2-solution-1\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"solution-2\",\r\n width: \"180px\",\r\n height: \"220px\",\r\n html: `
\r\n \"\"\r\n Product\r\n Formulation\r\n
`,\r\n x: 1366,\r\n y: 55,\r\n class: \"screen-2-solution-2\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"solution-4\",\r\n width: \"240px\",\r\n height: \"220px\",\r\n html: `
\r\n \"\"\r\n Launch Forecast\r\n & Planning\r\n
`,\r\n x: 1521,\r\n y: 350,\r\n class: \"screen-2-solution-4 ml-5\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"solution-5\",\r\n width: \"180px\",\r\n height: \"240px\",\r\n html: `
\r\n \"\"\r\n Price &\r\n Promotion\r\n
`,\r\n x: 1365,\r\n y: 590,\r\n class: \"screen-2-solution-5\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"solution-6\",\r\n width: \"200px\",\r\n height: \"220px\",\r\n html: `
\r\n \"\"\r\n Brand Growth
& Renovation
\r\n
`,\r\n x: 1023,\r\n y: 525,\r\n class: \"screen-2-solution-6\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n const arcgroupobject = {\r\n dataContent: [\r\n {\r\n background: {\r\n id: \"arc-1\",\r\n ir: 250,\r\n or: 255,\r\n x: 1350,\r\n y: 395,\r\n startangle: -45 * (Math.PI / 180),\r\n endangle: (10 * Math.PI) / 180,\r\n class: \"screen-2-arc-1\",\r\n s: 0,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"arc-2\",\r\n ir: 275,\r\n or: 280,\r\n x: 1380,\r\n y: 430,\r\n startangle: (25 * Math.PI) / 180,\r\n endangle: (80 * Math.PI) / 180,\r\n class: \"screen-2-arc-2\",\r\n s: 0,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"arc-3\",\r\n ir: 250,\r\n or: 255,\r\n x: 1400,\r\n y: 465,\r\n startangle: (80 * Math.PI) / 180,\r\n endangle: (180 * Math.PI) / 180,\r\n class: \"screen-2-arc-3\",\r\n s: 0,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"arc-4\",\r\n ir: 320,\r\n or: 315,\r\n x: 1370,\r\n y: 420,\r\n startangle: (180 * Math.PI) / 180,\r\n endangle: (235 * Math.PI) / 180,\r\n class: \"screen-2-arc-4\",\r\n s: 0,\r\n o: 0,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n challengesforeigndataobject.dataContent.forEach((content, index) => {\r\n const group = rectGroup\r\n .append(\"foreignObject\")\r\n .attr(\"x\", content.background.x)\r\n .attr(\"y\", content.background.y)\r\n .attr(\"width\", content.background.width)\r\n .attr(\"height\", content.background.height)\r\n .append(\"xhtml:div\")\r\n .attr(\"class\", content.background.class + \" animate\")\r\n .html(content.background.html);\r\n });\r\n\r\n lineGroup\r\n .append(\"text\")\r\n .text(\"Solution\")\r\n .attr(\"class\", \"solutiontext animate\")\r\n .attr(\"x\", 930)\r\n .attr(\"y\", 417)\r\n .attr(\"dy\", \".71em\")\r\n .style(\"fill\", \"#ffffff\")\r\n .style(\"font-size\", \"26px\")\r\n .style(\"opacity\", 0);\r\n\r\n arcgroupobject.dataContent.forEach((content, index) => {\r\n const group = circlegroup\r\n .append(\"g\")\r\n .attr(\r\n \"transform\",\r\n `translate(${content.background.x},${content.background.y})`\r\n );\r\n\r\n var arc = d3.svg\r\n .arc()\r\n .innerRadius(content.background.ir)\r\n .outerRadius(content.background.or)\r\n .startAngle(content.background.startangle)\r\n .endAngle(content.background.endangle);\r\n\r\n const path = group\r\n .append(\"path\")\r\n .attr(\"class\", content.background.class + \" animate\")\r\n .datum({})\r\n .attr(\"d\", arc)\r\n .attr(\"stroke\", \"#E8E8E9\")\r\n .attr(\"stroke-width\", 4);\r\n console.log(path);\r\n path\r\n .attr(\"stroke-dasharray\", function (d: any) {\r\n d.pathLength = d3.select(this).node().getTotalLength();\r\n return d.pathLength;\r\n })\r\n .attr(\"stroke-dashoffset\", function (d: any) {\r\n d.finalDashoffset = d.pathLength / 2;\r\n return d.pathLength;\r\n })\r\n .attr(\"fill\", \"none\")\r\n\r\n .style(\"opacity\", 1);\r\n });\r\n\r\n foreigndataobject.dataContent.forEach((content, index) => {\r\n const group = circlegroup\r\n .append(\"foreignObject\")\r\n .attr(\"x\", content.background.x)\r\n .attr(\"y\", content.background.y)\r\n .attr(\"width\", content.background.width)\r\n .attr(\"height\", content.background.height)\r\n .append(\"xhtml:div\")\r\n .attr(\"class\", content.background.class + \" animate\")\r\n .html(content.background.html)\r\n .style(\"opacity\", content.background.o);\r\n });\r\n\r\n function initiateAnimation() {\r\n const htmlDelayValue = 5500;\r\n dataGroup.select(\".engineWrapper\").style(\"opacity\", 1);\r\n processGraph.style(\"opacity\", 0);\r\n focusrings.style(\"opacity\", 0);\r\n if (that.screen2vistno > 0) {\r\n startEngineRotation(true, 0, 0);\r\n animateForecastingEngine(2, 0, 0, \"draw\", function () {});\r\n }\r\n\r\n challengesforeigndataobject.dataContent.forEach((content, index) => {\r\n rectGroup\r\n .select(\".\" + content.background.class)\r\n .attr(\"class\", content.background.class + \" in\" + \" animate\");\r\n });\r\n\r\n operateLine(\r\n lineGroup,\r\n \"process-line-0\",\r\n \"draw\",\r\n 2500,\r\n 500,\r\n function () {\r\n operateLine(\r\n lineGroup,\r\n \"process-line-2\",\r\n \"draw\",\r\n 0,\r\n 500,\r\n function () {}\r\n );\r\n showrotatedImage(\r\n rectGroup,\r\n \"arrow-down-1\",\r\n \"draw\",\r\n 100,\r\n 500,\r\n 90,\r\n function () {}\r\n );\r\n }\r\n );\r\n operateLine(\r\n lineGroup,\r\n \"process-line-1\",\r\n \"draw\",\r\n 2500,\r\n 500,\r\n function () {\r\n operateLine(\r\n lineGroup,\r\n \"process-line-3\",\r\n \"draw\",\r\n 0,\r\n 500,\r\n function () {}\r\n );\r\n showrotatedImage(\r\n rectGroup,\r\n \"arrow-up-1\",\r\n \"draw\",\r\n 100,\r\n 500,\r\n -90,\r\n function () {}\r\n );\r\n\r\n lineGroup\r\n .select(\".solutiontext\")\r\n .transition()\r\n .delay(600)\r\n .duration(500)\r\n .style(\"opacity\", 1);\r\n operateLine(\r\n lineGroup,\r\n \"process-line-4\",\r\n \"draw\",\r\n 500,\r\n 500,\r\n function () {}\r\n );\r\n showImage(\r\n rectGroup,\r\n \"arrow-right-1\",\r\n \"draw\",\r\n 600,\r\n 200,\r\n function () {}\r\n );\r\n\r\n showImage(\r\n rectGroup,\r\n \"arrow-right-2\",\r\n \"draw\",\r\n 800,\r\n 200,\r\n function () {\r\n if (that.screen2vistno === 0)\r\n animateForecastingEngine(2, 0, 500, \"draw\", function () {});\r\n\r\n operateCircle(\r\n circlegroup,\r\n \"screen-2-fadedcircle\",\r\n \"draw\",\r\n 0,\r\n 500,\r\n function () {}\r\n );\r\n var solutiondelay = 500;\r\n foreigndataobject.dataContent.forEach((content, index) => {\r\n circlegroup\r\n .select(\".\" + content.background.class.split(\" \")[0])\r\n .transition()\r\n .delay(solutiondelay)\r\n .duration(600)\r\n .style(\"opacity\", 1);\r\n\r\n solutiondelay += 700;\r\n });\r\n\r\n var arcDelay = 500;\r\n arcgroupobject.dataContent.forEach((content, index) => {\r\n var arc = d3.svg\r\n .arc()\r\n .innerRadius(content.background.ir)\r\n .outerRadius(content.background.or)\r\n .startAngle(content.background.startangle)\r\n .endAngle(content.background.endangle);\r\n\r\n circlegroup\r\n .select(\".\" + content.background.class)\r\n .transition()\r\n .delay(arcDelay)\r\n .duration(700)\r\n .attr(\"d\", arc)\r\n .style(\"opacity\", 1)\r\n .attr(\"stroke-dashoffset\", function (d: any) {\r\n return d.finalDashoffset;\r\n });\r\n arcDelay += 800;\r\n });\r\n showrotatedImage(\r\n rectGroup,\r\n \"arc-arrow-1\",\r\n \"draw\",\r\n 700,\r\n 200,\r\n 0,\r\n function () {}\r\n );\r\n showrotatedImage(\r\n rectGroup,\r\n \"arc-arrow-2\",\r\n \"draw\",\r\n 1500,\r\n 200,\r\n 70,\r\n function () {}\r\n );\r\n showrotatedImage(\r\n rectGroup,\r\n \"arc-arrow-3\",\r\n \"draw\",\r\n 2500,\r\n 200,\r\n 160,\r\n function () {}\r\n );\r\n showrotatedImage(\r\n rectGroup,\r\n \"arc-arrow-4\",\r\n \"draw\",\r\n 3100,\r\n 200,\r\n 230,\r\n function () {\r\n startEngineRotation(true, 200, 0);\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n baseImage = \"\";\r\n\r\n currentProcess.style(\"opacity\", 1);\r\n\r\n image.attr(\"xlink:href\", baseImage);\r\n\r\n currentProcess.attr(\"class\", \"screen-2-group\");\r\n initiateAnimation();\r\n },\r\n stopAnimation() {\r\n that.screen2vistno++;\r\n currentProcess.attr(\"class\", \"screen-2-group d-none\");\r\n currentProcess.selectAll(\".animate\").interrupt();\r\n dataGroup.select(\".forecastingEngineGroup\").interrupt();\r\n\r\n operateLine(\r\n lineGroup,\r\n \"process-line-0\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n operateLine(\r\n lineGroup,\r\n \"process-line-1\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n operateLine(\r\n lineGroup,\r\n \"process-line-2\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n operateLine(\r\n lineGroup,\r\n \"process-line-3\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n lineGroup.select(\".solutiontext\").style(\"opacity\", 1),\r\n operateLine(\r\n lineGroup,\r\n \"process-line-4\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n );\r\n animateForecastingEngine(2, 0, 0, \"draw\", function () {});\r\n\r\n foreigndataobject.dataContent.forEach((content, index) => {\r\n circlegroup\r\n .select(\".\" + content.background.class.split(\" \")[0])\r\n .style(\"opacity\", 1);\r\n }),\r\n arcgroupobject.dataContent.forEach((content, index) => {\r\n var arc = d3.svg\r\n .arc()\r\n .innerRadius(content.background.ir)\r\n .outerRadius(content.background.or)\r\n .startAngle(content.background.startangle)\r\n .endAngle(content.background.endangle);\r\n\r\n circlegroup\r\n .select(\".\" + content.background.class)\r\n .attr(\"d\", arc)\r\n .style(\"opacity\", 1)\r\n .attr(\"stroke-dashoffset\", function (d: any) {\r\n return d.finalDashoffset;\r\n });\r\n }),\r\n showrotatedImage(\r\n rectGroup,\r\n \"arrow-up-1\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n -90,\r\n function () {}\r\n ),\r\n showrotatedImage(\r\n rectGroup,\r\n \"arrow-down-1\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 90,\r\n function () {}\r\n ),\r\n showImage(rectGroup, \"arrow-right-1\", \"draw\", 0, 0, function () {}),\r\n showImage(rectGroup, \"arrow-right-2\", \"draw\", 0, 0, function () {}),\r\n showrotatedImage(\r\n rectGroup,\r\n \"arc-arrow-1\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n showrotatedImage(\r\n rectGroup,\r\n \"arc-arrow-2\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 70,\r\n function () {}\r\n ),\r\n showrotatedImage(\r\n rectGroup,\r\n \"arc-arrow-3\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 160,\r\n function () {}\r\n ),\r\n showrotatedImage(\r\n rectGroup,\r\n \"arc-arrow-4\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 230,\r\n function () {}\r\n ),\r\n operateCircle(\r\n circlegroup,\r\n \"screen-2-fadedcircle\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n currentProcess.style(\"opacity\", 0);\r\n\r\n that.animationStarted.screen2 = true;\r\n },\r\n };\r\n })();\r\n\r\n const screenThree = (() => {\r\n const currentProcess = dataGroup\r\n .append(\"g\")\r\n .attr(\"id\", \"screen-3-group\")\r\n .attr(\"class\", \"screen-3-group d-none\")\r\n .style(\"opacity\", 1);\r\n\r\n const globeGroup = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"globe-group\")\r\n .attr(\"class\", \"globe-group\");\r\n\r\n const rectgroup = globeGroup\r\n .append(\"g\")\r\n .attr(\"id\", \"screen-3-rect-group\")\r\n .attr(\"class\", \"screen-3-rect-group\");\r\n rectgroup\r\n .append(\"rect\")\r\n .attr(\"class\", \"screen-3-OuterRect animate\")\r\n .attr(\"transform\", `translate(1335,300)`)\r\n .attr(\"width\", 520)\r\n .attr(\"height\", 520)\r\n .attr(\"stroke\", \"#ffffff\")\r\n .attr(\"stroke-width\", 2)\r\n .attr(\"fill\", \"none\")\r\n .attr(\"rx\", 30)\r\n .attr(\"ry\", 30)\r\n .attr(\"opacity\", 0);\r\n\r\n rectgroup\r\n .append(\"rect\")\r\n .attr(\"class\", \"screen-3-TextRect animate\")\r\n .style(\"fill\", \"#ae8ff1\")\r\n .attr(\"transform\", `translate(1505,285)`)\r\n .attr(\"width\", 200)\r\n .attr(\"height\", 30)\r\n .attr(\"opacity\", 0);\r\n rectgroup\r\n .append(\"text\")\r\n .attr(\"class\", \"screen-3-RectText animate\")\r\n .text(\"Forecasting Engine\")\r\n .attr(\"transform\", `translate(1513,290)`)\r\n .attr(\"dy\", \".71em\")\r\n .style(\"fill\", \"#ffffff\")\r\n .style(\"font-size\", \"22px\")\r\n .attr(\"opacity\", 0);\r\n\r\n const listData = {\r\n lines: [\r\n [\r\n [470, 390],\r\n [817, 390],\r\n ],\r\n [\r\n [720, 745],\r\n [817, 745],\r\n ],\r\n [\r\n [815, 390],\r\n [815, 560],\r\n ],\r\n [\r\n [815, 745],\r\n [815, 550],\r\n ],\r\n [\r\n [815, 560],\r\n [900, 560],\r\n ],\r\n [\r\n [1090, 630],\r\n [1340, 630],\r\n ],\r\n ],\r\n };\r\n const lineGroup = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"line-group\")\r\n .attr(\"class\", \"line-group\")\r\n .style(\"opacity\", 1);\r\n\r\n listData.lines.forEach((el, i) => {\r\n let index = i;\r\n const line = addDashedLine(\r\n lineGroup,\r\n el,\r\n `screen-3 process-line-${i}`,\r\n \"#ffffff\",\r\n \"8,4\",\r\n 1,\r\n false\r\n );\r\n line.attr(\"stroke-dashoffset\", (d) => d.pathLength);\r\n });\r\n\r\n const dataSummaryData = {\r\n dataContent: [\r\n {\r\n background: {\r\n id: \"screen-3-arrow-right-1\",\r\n width: 20,\r\n height: 20,\r\n src: \"assets/images/atlas-intelligence-kraft/NormailArrow.svg\",\r\n x: 625,\r\n y: 380,\r\n finalX: 625,\r\n finalY: 380,\r\n class: \"screen-3-arrow-right-1\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-3-arrow-right-2\",\r\n width: 20,\r\n height: 20,\r\n src: \"assets/images/atlas-intelligence-kraft/NormailArrow.svg\",\r\n x: 750,\r\n y: 735,\r\n finalX: 750,\r\n finalY: 735,\r\n class: \"screen-3-arrow-right-2\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-3-arrow-up-1\",\r\n width: 20,\r\n height: 20,\r\n src: \"assets/images/atlas-intelligence-kraft/NormailArrow.svg\",\r\n x: 805,\r\n y: 675,\r\n finalX: 805,\r\n finalY: 675,\r\n class: \"screen-3-arrow-up-1\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-3-arrow-down-1\",\r\n width: 20,\r\n height: 20,\r\n src: \"assets/images/atlas-intelligence-kraft/NormailArrow.svg\",\r\n x: 825,\r\n y: 440,\r\n finalX: 825,\r\n finalY: 440,\r\n class: \"screen-3-arrow-down-1\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-3-arrow-right-3\",\r\n width: 20,\r\n height: 20,\r\n src: \"assets/images/atlas-intelligence-kraft/NormailArrow.svg\",\r\n x: 1200,\r\n y: 620,\r\n finalX: 1200,\r\n finalY: 620,\r\n class: \"screen-3-arrow-right-3\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-3-data-block\",\r\n width: 250,\r\n height: 200,\r\n src: \"assets/images/atlas-intelligence-kraft/data_input_comb.svg\",\r\n x: 870,\r\n y: 500,\r\n finalX: 870,\r\n finalY: 500,\r\n class: \"screen-3-data-block\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-3-data-block-1\",\r\n width: 60,\r\n height: 60,\r\n src: \"assets/images/atlas-intelligence-kraft/data-block.svg\",\r\n x: 900,\r\n y: 535,\r\n finalX: 900,\r\n finalY: 535,\r\n class: \"screen-3-data-block-1\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-3-data-block-2\",\r\n width: 60,\r\n height: 60,\r\n src: \"assets/images/atlas-intelligence-kraft/data-block.svg\",\r\n x: 965,\r\n y: 500,\r\n finalX: 965,\r\n finalY: 500,\r\n class: \"screen-3-data-block-2\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-3-data-block-3\",\r\n width: 60,\r\n height: 60,\r\n src: \"assets/images/atlas-intelligence-kraft/data-block.svg\",\r\n x: 1030,\r\n y: 535,\r\n finalX: 1030,\r\n finalY: 535,\r\n class: \"screen-3-data-block-3\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-3-data-block-4\",\r\n width: 60,\r\n height: 60,\r\n src: \"assets/images/atlas-intelligence-kraft/data-block.svg\",\r\n x: 900,\r\n y: 600,\r\n finalX: 900,\r\n finalY: 600,\r\n class: \"screen-3-data-block-4\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-3-data-block-5\",\r\n width: 60,\r\n height: 60,\r\n src: \"assets/images/atlas-intelligence-kraft/data-block.svg\",\r\n x: 965,\r\n y: 570,\r\n finalX: 965,\r\n finalY: 570,\r\n class: \"screen-3-data-block-5\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-3-data-block-6\",\r\n width: 60,\r\n height: 60,\r\n src: \"assets/images/atlas-intelligence-kraft/data-block.svg\",\r\n x: 1030,\r\n y: 600,\r\n finalX: 1030,\r\n finalY: 600,\r\n class: \"screen-3-data-block-6\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-3-data-block-7\",\r\n width: 60,\r\n height: 60,\r\n src: \"assets/images/atlas-intelligence-kraft/data-block.svg\",\r\n x: 965,\r\n y: 640,\r\n finalX: 965,\r\n finalY: 640,\r\n class: \"screen-3-data-block-7\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-3-Node-graph\",\r\n width: 160,\r\n height: 150,\r\n src: \"assets/images/atlas-intelligence-kraft/Nodes.svg\",\r\n x: 1520,\r\n y: 475,\r\n finalX: 1520,\r\n finalY: 475,\r\n class: \"screen-3-Node-graph\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n dataSummaryData.dataContent.forEach((content, index) => {\r\n const group = globeGroup\r\n .append(\"g\")\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1,\r\n })\r\n .attr({\r\n class: `globe-group globe-group-${index}`,\r\n id: `globe-group-${index}`,\r\n transform: (d: any) => `translate(${d.x}, ${d.y}) scale(1)`,\r\n })\r\n .style(\"opacity\", (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n });\r\n\r\n const foreigndataobject = {\r\n dataContent: [\r\n {\r\n background: {\r\n id: \"screen-3-products-input-1\",\r\n width: \"388px\",\r\n height: \"400px\",\r\n html: `\r\n
\r\n
\r\n \"Product\"\r\n Product A\r\n
\r\n
    \r\n
  • Brand
  • \r\n
  • Category
  • \r\n
  • Ingredients
  • \r\n
  • Nutrients
  • \r\n
  • Price
  • \r\n
  • Discount
  • \r\n
\r\n
\r\n
Product Inputs
\r\n `,\r\n x: 80,\r\n y: 220,\r\n class: \"product-inputs\",\r\n s: 1,\r\n o: 1,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-3-source-input-1\",\r\n width: \"388px\",\r\n height: \"410px\",\r\n html: `\r\n
Data Sources
\r\n
\r\n
    \r\n
  • Label Data - Syndigo, Label Insights
  • \r\n
  • MR Data - Brand Perception
  • \r\n
  • Media Spend Data - Kantar
  • \r\n
  • Sales Data - Neilson, iRI, Spins
  • \r\n
\r\n
\r\n `,\r\n x: 328,\r\n y: 579,\r\n class: \"source-inputs mt-2 pt-0\",\r\n s: 1,\r\n o: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n const lineAttribues = [\r\n { sourceX: 958, sourceY: 547, destinationX: 980, destinationY: 538 },\r\n { sourceX: 1010, sourceY: 538, destinationX: 1032, destinationY: 547 },\r\n { sourceX: 995, sourceY: 560, destinationX: 995, destinationY: 575 },\r\n { sourceX: 945, sourceY: 571, destinationX: 968, destinationY: 583 },\r\n { sourceX: 1022, sourceY: 583, destinationX: 1043, destinationY: 571 },\r\n { sourceX: 947, sourceY: 643, destinationX: 967, destinationY: 653 },\r\n { sourceX: 1023, sourceY: 652, destinationX: 1045, destinationY: 640 },\r\n { sourceX: 958, sourceY: 614, destinationX: 975, destinationY: 606 },\r\n ];\r\n\r\n foreigndataobject.dataContent.forEach((content, index) => {\r\n const group = globeGroup\r\n .append(\"foreignObject\")\r\n .attr(\"x\", content.background.x)\r\n .attr(\"y\", content.background.y)\r\n .attr(\"width\", content.background.width)\r\n .attr(\"height\", content.background.height)\r\n .append(\"xhtml:div\")\r\n .attr({\r\n class: content.background.class + \" animate\",\r\n })\r\n .html(content.background.html);\r\n });\r\n lineGroup\r\n .append(\"text\")\r\n .text(\"Data Input Combinations\")\r\n .attr(\"class\", \"inputCombinationsText animate\")\r\n .attr(\"x\", 900)\r\n .attr(\"y\", 455)\r\n .attr(\"dy\", \".71em\")\r\n .style(\"fill\", \"#fff\")\r\n .style(\"font-size\", \"20px\")\r\n .style(\"opacity\", 0);\r\n lineAttribues.forEach((line, index) => {\r\n lineGroup\r\n .append(\"line\")\r\n .style(\"stroke\", \"#fff\")\r\n .style(\"stroke-width\", 2)\r\n .attr(\"x1\", line.sourceX)\r\n .attr(\"y1\", line.sourceY)\r\n .attr(\"x2\", line.destinationX)\r\n .attr(\"y2\", line.destinationY)\r\n .attr(\"class\", `data-block-line-${index} animate`)\r\n .style(\"opacity\", 0);\r\n });\r\n\r\n this.playgroundbuttonContainer.nativeElement.style.opacity = 0;\r\n\r\n function initiateAnimation() {\r\n const htmlDelayValue = 500;\r\n\r\n var delayforeignobject = 100;\r\n\r\n console.log(that.screen3visitno);\r\n\r\n processGraph.style(\"opacity\", 0);\r\n focusrings.style(\"opacity\", 0);\r\n foreigndataobject.dataContent.forEach((content, index) => {\r\n globeGroup\r\n .select(\".\" + content.background.class.split(\" \")[0])\r\n .transition()\r\n .delay(delayforeignobject)\r\n .duration(100)\r\n .attr(\"class\", content.background.class + \" in\" + \" animate\");\r\n });\r\n\r\n animateForecastingEngine(\r\n 3,\r\n 0,\r\n that.screen3visitno > 0 ? 0 : 500,\r\n \"draw\",\r\n function () {\r\n if (that.screen3visitno > 0) {\r\n dataGroup\r\n .select(\".engineWrapper\")\r\n .select(\".forecastingEngineGroup\")\r\n .style(\"opacity\", 0.8);\r\n\r\n dataGroup\r\n .select(\".engineWrapper\")\r\n .select(\".EngineFader\")\r\n .attr(\"r\", 104)\r\n .attr(\"transform\", `translate(1593,558)`)\r\n .style(\"opacity\", 0.5);\r\n\r\n startEngineRotation(true, 0, 0);\r\n }\r\n operateLine(\r\n lineGroup,\r\n \"process-line-0\",\r\n \"draw\",\r\n 3500,\r\n 300,\r\n function () {\r\n operateLine(\r\n lineGroup,\r\n \"process-line-2\",\r\n \"draw\",\r\n 0,\r\n 300,\r\n function () {}\r\n );\r\n showrotatedImage(\r\n globeGroup,\r\n \"screen-3-arrow-down-1\",\r\n \"draw\",\r\n 200,\r\n 300,\r\n 90,\r\n function () {}\r\n );\r\n }\r\n );\r\n showrotatedImage(\r\n globeGroup,\r\n \"screen-3-arrow-right-1\",\r\n \"draw\",\r\n 4700,\r\n 300,\r\n 0,\r\n function () {}\r\n );\r\n showrotatedImage(\r\n globeGroup,\r\n \"screen-3-arrow-right-2\",\r\n \"draw\",\r\n 4700,\r\n 300,\r\n 0,\r\n function () {}\r\n );\r\n operateLine(\r\n lineGroup,\r\n \"process-line-1\",\r\n \"draw\",\r\n 3500,\r\n 300,\r\n function () {\r\n operateLine(\r\n lineGroup,\r\n \"process-line-3\",\r\n \"draw\",\r\n 0,\r\n 300,\r\n function () {\r\n operateLine(\r\n lineGroup,\r\n \"process-line-4\",\r\n \"draw\",\r\n 0,\r\n 300,\r\n function () {\r\n lineGroup\r\n .select(\".inputCombinationsText\")\r\n .transition()\r\n .delay(100)\r\n .duration(300)\r\n .style(\"opacity\", 1);\r\n showImage(\r\n globeGroup,\r\n \"screen-3-data-block-1\",\r\n \"draw\",\r\n 100,\r\n 300,\r\n function () {}\r\n );\r\n showImage(\r\n globeGroup,\r\n \"screen-3-data-block-2\",\r\n \"draw\",\r\n 100,\r\n 300,\r\n function () {}\r\n );\r\n showImage(\r\n globeGroup,\r\n \"screen-3-data-block-3\",\r\n \"draw\",\r\n 100,\r\n 300,\r\n function () {}\r\n );\r\n showImage(\r\n globeGroup,\r\n \"screen-3-data-block-4\",\r\n \"draw\",\r\n 100,\r\n 300,\r\n function () {}\r\n );\r\n showImage(\r\n globeGroup,\r\n \"screen-3-data-block-5\",\r\n \"draw\",\r\n 100,\r\n 300,\r\n function () {}\r\n );\r\n showImage(\r\n globeGroup,\r\n \"screen-3-data-block-6\",\r\n \"draw\",\r\n 100,\r\n 300,\r\n function () {}\r\n );\r\n showImage(\r\n globeGroup,\r\n \"screen-3-data-block-7\",\r\n \"draw\",\r\n 100,\r\n 300,\r\n function () {}\r\n );\r\n lineAttribues.forEach((line, index) => {\r\n lineGroup\r\n .select(`.data-block-line-${index}`)\r\n .transition()\r\n .delay(200)\r\n .duration(300)\r\n .style(\"opacity\", 1);\r\n });\r\n operateLine(\r\n lineGroup,\r\n \"process-line-5\",\r\n \"draw\",\r\n 500,\r\n 300,\r\n function () {\r\n rectgroup\r\n .select(\".screen-3-RectText\")\r\n .transition()\r\n .delay(0)\r\n .duration(200)\r\n .style(\"opacity\", 1);\r\n\r\n rectgroup\r\n .select(\".screen-3-TextRect\")\r\n .transition()\r\n .delay(0)\r\n .duration(200)\r\n .style(\"opacity\", 1);\r\n\r\n rectgroup\r\n .select(\".screen-3-OuterRect\")\r\n .transition()\r\n .delay(0)\r\n .duration(200)\r\n .style(\"opacity\", 1);\r\n\r\n if (that.screen3visitno === 0) {\r\n dataGroup\r\n .select(\".engineWrapper\")\r\n .select(\".forecastingEngineGroup\")\r\n .transition()\r\n .duration(500)\r\n .style(\"opacity\", 0.8)\r\n .call(endAll, () => {\r\n dataGroup\r\n .select(\".engineWrapper\")\r\n .select(\".EngineFader\")\r\n .attr(\"r\", 104)\r\n .attr(\"transform\", `translate(1593,558)`)\r\n .transition()\r\n .duration(500)\r\n .style(\"opacity\", 0.5)\r\n .call(endAll, () => {\r\n startEngineRotation(true, 0, 0);\r\n });\r\n });\r\n }\r\n }\r\n );\r\n showrotatedImage(\r\n globeGroup,\r\n \"screen-3-arrow-right-3\",\r\n \"draw\",\r\n 520,\r\n 200,\r\n 0,\r\n function () {}\r\n );\r\n }\r\n );\r\n }\r\n );\r\n showrotatedImage(\r\n globeGroup,\r\n \"screen-3-arrow-up-1\",\r\n \"draw\",\r\n 200,\r\n 200,\r\n -90,\r\n function () {}\r\n );\r\n showImage(\r\n globeGroup,\r\n \"screen-3-Node-graph\",\r\n \"draw\",\r\n 2000,\r\n 500,\r\n function () {\r\n that.playgroundbuttonContainer.nativeElement.style.opacity = 1;\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n baseImage = \"\";\r\n\r\n currentProcess.style(\"opacity\", 1);\r\n\r\n image.attr(\"xlink:href\", baseImage);\r\n\r\n currentProcess.attr(\"class\", \"screen-3-group\");\r\n initiateAnimation();\r\n },\r\n stopAnimation() {\r\n that.screen3visitno++;\r\n currentProcess.attr(\"class\", \"screen-3-group d-none\");\r\n that.playgroundbuttonContainer.nativeElement.style.opacity = 1;\r\n currentProcess.selectAll(\".animate\").interrupt();\r\n dataGroup.select(\".forecastingEngineGroup\").interrupt();\r\n\r\n operateLine(\r\n lineGroup,\r\n \"process-line-0\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n operateLine(\r\n lineGroup,\r\n \"process-line-1\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n operateLine(\r\n lineGroup,\r\n \"process-line-2\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n operateLine(\r\n lineGroup,\r\n \"process-line-3\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n operateLine(\r\n lineGroup,\r\n \"process-line-4\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n operateLine(\r\n lineGroup,\r\n \"process-line-5\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n lineGroup.select(\".inputCombinationsText\").style(\"opacity\", 1),\r\n lineAttribues.forEach((line, index) => {\r\n lineGroup.select(`.data-block-line-${index}`).style(\"opacity\", 1);\r\n });\r\n\r\n showrotatedImage(\r\n globeGroup,\r\n \"screen-3-arrow-right-1\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n showrotatedImage(\r\n globeGroup,\r\n \"screen-3-arrow-right-2\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n showrotatedImage(\r\n globeGroup,\r\n \"screen-3-arrow-down-1\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 90,\r\n function () {}\r\n ),\r\n showrotatedImage(\r\n globeGroup,\r\n \"screen-3-arrow-up-1\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n -90,\r\n function () {}\r\n ),\r\n showImage(\r\n globeGroup,\r\n \"screen-3-data-block-1\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n showImage(\r\n globeGroup,\r\n \"screen-3-data-block-2\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n showImage(\r\n globeGroup,\r\n \"screen-3-data-block-3\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n showImage(\r\n globeGroup,\r\n \"screen-3-data-block-4\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n showImage(\r\n globeGroup,\r\n \"screen-3-data-block-5\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n showImage(\r\n globeGroup,\r\n \"screen-3-data-block-6\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n showImage(\r\n globeGroup,\r\n \"screen-3-data-block-7\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n showrotatedImage(\r\n globeGroup,\r\n \"screen-3-arrow-right-3\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n showImage(\r\n globeGroup,\r\n \"screen-3-Node-graph\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n );\r\n\r\n rectgroup.select(\".screen-3-RectText\").style(\"opacity\", 1);\r\n rectgroup.select(\".screen-3-TextRect\").style(\"opacity\", 1);\r\n rectgroup.select(\".screen-3-OuterRect\").style(\"opacity\", 1);\r\n animateForecastingEngine(3, 0, 0, \"draw\", function () {});\r\n\r\n currentProcess\r\n .transition()\r\n .delay(100)\r\n .duration(200)\r\n .style(\"opacity\", 0);\r\n\r\n that.animationStarted.screen3 = true;\r\n },\r\n };\r\n })();\r\n\r\n const screenFour = (() => {\r\n const currentProcess = dataGroup\r\n .append(\"g\")\r\n .attr(\"id\", \"screen-4-group\")\r\n .attr(\"class\", \"screen-4-group d-none\")\r\n .style(\"opacity\", 1);\r\n\r\n const globeGroup = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"globe-group\")\r\n .attr(\"class\", \"globe-group\");\r\n\r\n const process2Graph = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"process2Graph\")\r\n .attr(\"class\", \"process2Graph\");\r\n\r\n const process2Nodes = process2Graph\r\n .append(\"g\")\r\n .attr(\"id\", \"process2GraphNodes\")\r\n .attr(\"class\", \"process2GraphNodes\");\r\n\r\n const process2Rects = process2Graph\r\n .append(\"g\")\r\n .attr(\"id\", \"process2GraphRects\")\r\n .attr(\"class\", \"process2GraphRects\");\r\n\r\n const process2Lines = process2Graph\r\n .append(\"g\")\r\n .attr(\"id\", \"process2GraphLines\")\r\n .attr(\"class\", \"process2GraphLines\");\r\n\r\n const process2Texts = process2Graph\r\n .append(\"g\")\r\n .attr(\"id\", \"process2GraphTexts\")\r\n .attr(\"class\", \"process2GraphTexts\");\r\n\r\n const ringGroup = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"ringGroup\")\r\n .attr(\"class\", \"ringGroup\");\r\n\r\n const dataSummaryData = {\r\n dataContent: [\r\n {\r\n background: {\r\n id: \"node_info_1\",\r\n width: 140,\r\n height: 140,\r\n src: \"assets/images/atlas-intelligence-kraft/node_info.svg\",\r\n x: 660 + 500,\r\n y: 260,\r\n finalX: 660 + 500,\r\n finalY: 260,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"node_info_2\",\r\n width: 140,\r\n height: 140,\r\n src: \"assets/images/atlas-intelligence-kraft/node_info.svg\",\r\n x: 1020 + 500,\r\n y: 200,\r\n finalX: 1020 + 500,\r\n finalY: 200,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"node_info_3\",\r\n width: 140,\r\n height: 140,\r\n src: \"assets/images/atlas-intelligence-kraft/node_info.svg\",\r\n x: 655 + 500,\r\n y: 520,\r\n finalX: 655 + 500,\r\n finalY: 520,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"node_info_4\",\r\n width: 140,\r\n height: 140,\r\n src: \"assets/images/atlas-intelligence-kraft/node_info.svg\",\r\n x: 1020 + 500,\r\n y: 450,\r\n finalX: 1020 + 500,\r\n finalY: 450,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"node_info_5\",\r\n width: 140,\r\n height: 140,\r\n src: \"assets/images/atlas-intelligence-kraft/node_info.svg\",\r\n x: 1070 + 500,\r\n y: 640,\r\n finalX: 1070 + 500,\r\n finalY: 640,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"node_info_6\",\r\n width: 140,\r\n height: 140,\r\n src: \"assets/images/atlas-intelligence-kraft/node_info.svg\",\r\n x: 800 + 500,\r\n y: 640,\r\n finalX: 800 + 500,\r\n finalY: 640,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"mu1\",\r\n width: 30,\r\n height: 30,\r\n src: \"assets/images/atlas-intelligence-kraft/icon_mu.svg\",\r\n x: 1020,\r\n y: 380,\r\n finalX: 1020,\r\n finalY: 380,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"mu2\",\r\n width: 30,\r\n height: 30,\r\n src: \"assets/images/atlas-intelligence-kraft/icon_mu.svg\",\r\n x: 1035,\r\n y: 540,\r\n finalX: 1035,\r\n finalY: 540,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"mu3\",\r\n width: 30,\r\n height: 30,\r\n src: \"assets/images/atlas-intelligence-kraft/icon_mu.svg\",\r\n x: 1013,\r\n y: 697,\r\n finalX: 1013,\r\n finalY: 697,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"mu4\",\r\n width: 30,\r\n height: 30,\r\n src: \"assets/images/atlas-intelligence-kraft/icon_mu.svg\",\r\n x: 797,\r\n y: 555,\r\n finalX: 797,\r\n finalY: 555,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"node_info_7\",\r\n width: 120,\r\n height: 120,\r\n src: \"assets/images/atlas-intelligence-kraft/node_info.svg\",\r\n x: 235,\r\n y: 270,\r\n finalX: 235,\r\n finalY: 270,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"node_info_8\",\r\n width: 120,\r\n height: 120,\r\n src: \"assets/images/atlas-intelligence-kraft/node_info.svg\",\r\n x: 385,\r\n y: 270,\r\n finalX: 385,\r\n finalY: 270,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"node_info_9\",\r\n width: 120,\r\n height: 120,\r\n src: \"assets/images/atlas-intelligence-kraft/node_info.svg\",\r\n x: 410,\r\n y: 465,\r\n finalX: 410,\r\n finalY: 465,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"node_info_10\",\r\n width: 120,\r\n height: 120,\r\n src: \"assets/images/atlas-intelligence-kraft/node_info.svg\",\r\n x: 130,\r\n y: 510,\r\n finalX: 130,\r\n finalY: 510,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"node_info_11\",\r\n width: 120,\r\n height: 120,\r\n src: \"assets/images/atlas-intelligence-kraft/node_info.svg\",\r\n x: 230,\r\n y: 670,\r\n finalX: 230,\r\n finalY: 670,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"node_info_12\",\r\n width: 120,\r\n height: 120,\r\n src: \"assets/images/atlas-intelligence-kraft/node_info.svg\",\r\n x: 430,\r\n y: 690,\r\n finalX: 430,\r\n finalY: 690,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-6-arrow-1\",\r\n width: 20,\r\n height: 20,\r\n src: \"assets/images/atlas-intelligence-kraft/NormalArrow.svg\",\r\n x: 1770,\r\n y: 525,\r\n finalX: 1770,\r\n finalY: 525,\r\n class: \"screen-6-arrow-1\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-6-iota\",\r\n width: 20,\r\n height: 20,\r\n src: \"assets/images/atlas-intelligence-kraft/iota.svg\",\r\n x: 495,\r\n y: 445,\r\n finalX: 495,\r\n finalY: 445,\r\n class: \"screen-6-iota\",\r\n s: 1.25,\r\n o: 0,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n dataSummaryData.dataContent.forEach((content, index) => {\r\n if (index <= 5 || index >= 10) {\r\n const group = globeGroup\r\n .append(\"g\")\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1,\r\n })\r\n .attr({\r\n class: `globe-group globe-group-${index}`,\r\n id: `globe-group-${index}`,\r\n transform: (d: any) => `translate(${d.x}, ${d.y}) scale(1)`,\r\n })\r\n .style(\"opacity\", (d: any) => d.o);\r\n\r\n createImageUsingData(group, content.background);\r\n } else {\r\n const group = process2Graph\r\n .append(\"g\")\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1,\r\n })\r\n .attr({\r\n class: `globe-group globe-group-${index}`,\r\n id: `globe-group-${index}`,\r\n transform: (d: any) => `translate(${d.x}, ${d.y}) scale(1)`,\r\n })\r\n .style(\"opacity\", (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n }\r\n });\r\n\r\n const foreigndataobject = {\r\n dataContent: [\r\n {\r\n background: {\r\n id: \"screen-5-products-input-1\",\r\n width: \"388px\",\r\n height: \"400px\",\r\n html: `\r\n
\r\n
\r\n \"Product\"\r\n Product A\r\n
\r\n
    \r\n
  • Product Weight
  • \r\n
  • List Price
  • \r\n
  • Media & Spend
  • \r\n
  • Discount
  • \r\n
  • Units/Pack
  • \r\n
\r\n
\r\n
Numeric Attributes
\r\n `,\r\n x: 1313,\r\n y: 200,\r\n class: \"screen5FO1 product-inputs product-inputs_mod pb-0\",\r\n s: 1,\r\n o: 1,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-5-products-input-2\",\r\n width: \"388px\",\r\n height: \"400px\",\r\n html: `\r\n
\r\n
\r\n \"Product\"\r\n Product A\r\n
\r\n
    \r\n
  • Category
  • \r\n
  • Sub-Category
  • \r\n
  • Manufacturer
  • \r\n
  • Brand
  • \r\n
  • Storage
  • \r\n
\r\n
\r\n
Categorical Attributes
\r\n `,\r\n x: 1313,\r\n y: 560,\r\n class: \"screen5FO2 product-inputs product-inputs_mod pb-0\",\r\n s: 1,\r\n o: 1,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-5-products-input-3\",\r\n width: \"800px\",\r\n height: \"100px\",\r\n html: `\r\n
\r\n
    \r\n
  • ACitric Acid
  • \r\n
  • BWhey
  • \r\n
  • CDextrose
  • \r\n
  • DPalm Oil
  • \r\n
  • EUnbleached Wheat Flour
  • \r\n
  • FEggs
  • \r\n
\r\n
\r\n `,\r\n x: 120,\r\n y: 210,\r\n class: \"screen5FO3\",\r\n s: 1,\r\n o: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n foreigndataobject.dataContent.forEach((content, index) => {\r\n const group = globeGroup\r\n .append(\"foreignObject\")\r\n .attr(\"x\", content.background.x)\r\n .attr(\"y\", content.background.y)\r\n .attr(\"width\", content.background.width)\r\n .attr(\"height\", content.background.height)\r\n .append(\"xhtml:div\")\r\n .attr({\r\n class: content.background.class,\r\n })\r\n .html(content.background.html)\r\n .html(content.background.html)\r\n .style(\"opacity\", 0);\r\n });\r\n\r\n const legend = currentProcess\r\n .append(\"g\")\r\n .attr(\"class\", \"processLegend\")\r\n .attr(\"id\", \"processLegend\");\r\n\r\n const legendNodes = legend\r\n .append(\"g\")\r\n .attr(\"class\", \"processLegendNodes\")\r\n .attr(\"id\", \"processLegendNodes\");\r\n\r\n const nodeText = legend\r\n .append(\"g\")\r\n .attr(\"class\", \"processNodeTexts\")\r\n .attr(\"id\", \"processNodeTexts\");\r\n\r\n const legendText = legend\r\n .append(\"g\")\r\n .attr(\"class\", \"processLegendTexts\")\r\n .attr(\"id\", \"processLegendTexts\");\r\n\r\n const legendNodesData = [\r\n {\r\n radius: 25,\r\n centerX: 350,\r\n centerY: 370,\r\n fillColor: \"#2867B0\",\r\n nodeText: \"A\",\r\n legendText: \"Citric Acid\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 350,\r\n centerY: 450,\r\n fillColor: \"#E28D2A\",\r\n nodeText: \"B\",\r\n legendText: \"Whey\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 350,\r\n centerY: 530,\r\n fillColor: \"#1CAA44\",\r\n nodeText: \"C\",\r\n legendText: \"Dextrose\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 350,\r\n centerY: 605,\r\n fillColor: \"#B8BA51\",\r\n nodeText: \"D\",\r\n legendText: \"Palm Oil\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 350,\r\n centerY: 680,\r\n fillColor: \"#C73434\",\r\n nodeText: \"E\",\r\n legendText: \"Unbleached Wheat flour\",\r\n },\r\n {\r\n radius: 25,\r\n centerX: 350,\r\n centerY: 760,\r\n fillColor: \"#0FB8A4\",\r\n nodeText: \"F\",\r\n legendText: \"Eggs\",\r\n },\r\n ];\r\n\r\n legendNodesData.forEach((node, index) => {\r\n legendNodes\r\n .append(\"circle\")\r\n .attr(\"class\", \"node\" + index)\r\n .attr(\"r\", node.radius)\r\n .attr(\"transform\", `translate(${node.centerX},${node.centerY})`)\r\n .attr(\"fill\", node.fillColor)\r\n .style(\"opacity\", 0);\r\n nodeText\r\n .append(\"text\")\r\n .attr(\"class\", \"nodeText\" + index)\r\n .attr(\"transform\", `translate(${node.centerX},${node.centerY + 10})`)\r\n .style(\"text-anchor\", \"middle\")\r\n .style(\"font-size\", \"30px\")\r\n .style(\"font-weight\", \"bold\")\r\n .style(\"fill\", \"#ffffff\")\r\n .text(node.nodeText)\r\n .style(\"opacity\", 0);\r\n legendText\r\n .append(\"text\")\r\n .attr(\"class\", \"legendText\" + index)\r\n .attr(\r\n \"transform\",\r\n `translate(${node.centerX + 50},${node.centerY + 10})`\r\n )\r\n .style(\"font-size\", \"20px\")\r\n .style(\"fill\", \"#ffffff\")\r\n .text(node.legendText)\r\n .style(\"opacity\", 0);\r\n });\r\n\r\n currentProcess\r\n .append(\"text\")\r\n .attr(\"class\", \"screen4NodeGrpTitle animate\")\r\n .text(\"Ingredient Nodes\")\r\n .attr(\"x\", 330)\r\n .attr(\"y\", 310)\r\n .style(\"font-size\", \"20px\")\r\n .style(\"font-weight\", \"bold\")\r\n .style(\"fill\", \"#ffffff\")\r\n .style(\"opacity\", 0);\r\n\r\n const startX = 880,\r\n startY = 470,\r\n endX = 1000,\r\n endY = 470;\r\n var arrowTickUp = currentProcess\r\n .append(\"line\")\r\n .attr(\"x1\", endX - 25 * Math.cos((45 * Math.PI) / 180))\r\n .attr(\"y1\", endY - 25 * Math.sin((45 * Math.PI) / 180))\r\n .attr(\"x2\", endX - 25 * Math.cos((45 * Math.PI) / 180))\r\n .attr(\"y2\", endY - 25 * Math.sin((45 * Math.PI) / 180))\r\n .attr(\"stroke\", \"white\")\r\n .attr(\"stroke-width\", 3);\r\n var arrowTickMiddle = currentProcess\r\n .append(\"line\")\r\n .attr(\"x1\", startX)\r\n .attr(\"y1\", startY)\r\n .attr(\"x2\", startX)\r\n .attr(\"y2\", startY)\r\n .attr(\"stroke\", \"white\")\r\n .attr(\"stroke-width\", 3);\r\n var arrowTickDown = currentProcess\r\n .append(\"line\")\r\n .attr(\"x1\", endX - 25 * Math.cos((45 * Math.PI) / 180))\r\n .attr(\"y1\", endY + 25 * Math.sin((45 * Math.PI) / 180))\r\n .attr(\"x2\", endX - 25 * Math.cos((45 * Math.PI) / 180))\r\n .attr(\"y2\", endY + 25 * Math.sin((45 * Math.PI) / 180))\r\n .attr(\"stroke\", \"white\")\r\n .attr(\"stroke-width\", 3);\r\n\r\n const listData = {\r\n lines: [\r\n [\r\n [1265, 535],\r\n [1790, 535],\r\n ],\r\n [\r\n [1735, 360],\r\n [1735, 535],\r\n ],\r\n [\r\n [1735, 730],\r\n [1735, 535],\r\n ],\r\n [\r\n [1700, 360],\r\n [1737, 360],\r\n ],\r\n [\r\n [1700, 730],\r\n [1737, 730],\r\n ],\r\n ],\r\n };\r\n const lineGroup = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"line-group\")\r\n .attr(\"class\", \"line-group\")\r\n .style(\"opacity\", 1);\r\n\r\n listData.lines.forEach((el, i) => {\r\n let index = i;\r\n const line = addDashedLine(\r\n lineGroup,\r\n el,\r\n `screen5process-line-${i}`,\r\n \"#ffffff\",\r\n \"8,4\",\r\n 1,\r\n false\r\n );\r\n line.attr(\"stroke-dashoffset\", (d) => d.pathLength);\r\n });\r\n\r\n globeGroup\r\n .append(\"rect\")\r\n .attr(\"class\", \"screen-5-OuterRect\")\r\n .attr(\"transform\", `translate(613,265)`)\r\n .attr(\"width\", 650)\r\n .attr(\"height\", 530)\r\n .attr(\"stroke\", \"#ffffff\")\r\n .attr(\"stroke-width\", 1)\r\n .attr(\"rx\", 10)\r\n .attr(\"ry\", 10)\r\n .attr(\"fill\", \"none\")\r\n .style(\"opacity\", 0);\r\n\r\n globeGroup\r\n .append(\"rect\")\r\n .attr(\"class\", \"screen-5-TextRect\")\r\n .style(\"fill\", \"#8467c1\")\r\n .attr(\"transform\", `translate(680,780)`)\r\n .attr(\"width\", 185)\r\n .attr(\"height\", 30)\r\n .style(\"opacity\", 0);\r\n\r\n globeGroup\r\n .append(\"text\")\r\n .attr(\"class\", \"screen-5-RectText\")\r\n .text(\"Graph Embedding\")\r\n .attr(\"transform\", `translate(691,787)`)\r\n .attr(\"dy\", \".71em\")\r\n .style(\"fill\", \"#ffffff\")\r\n .style(\"font-size\", \"20px\")\r\n .style(\"opacity\", 0);\r\n\r\n const nodesAttr = [\r\n {\r\n name: \"A\",\r\n cx: 250,\r\n cy: 415,\r\n r: 35,\r\n fill: \"#2867B0\",\r\n layer: 1,\r\n count: 1,\r\n },\r\n {\r\n name: \"B\",\r\n cx: 955,\r\n cy: 443,\r\n r: 35,\r\n fill: \"#E28D2A\",\r\n layer: 2,\r\n count: 1,\r\n },\r\n {\r\n name: \"C\",\r\n cx: 955,\r\n cy: 550,\r\n r: 35,\r\n fill: \"#1CAA44\",\r\n layer: 2,\r\n count: 1,\r\n },\r\n {\r\n name: \"D\",\r\n cx: 945,\r\n cy: 665,\r\n r: 35,\r\n fill: \"#B8BA51\",\r\n layer: 2,\r\n count: 1,\r\n },\r\n {\r\n name: \"E\",\r\n cx: 1215,\r\n cy: 585,\r\n r: 25,\r\n fill: \"#C73434\",\r\n layer: 3,\r\n count: 1,\r\n },\r\n {\r\n name: \"F\",\r\n cx: 1180,\r\n cy: 650,\r\n r: 25,\r\n fill: \"#0FB8A4\",\r\n layer: 3,\r\n count: 1,\r\n },\r\n\r\n {\r\n name: \"A\",\r\n cx: 1100,\r\n cy: 305,\r\n r: 25,\r\n fill: \"#2867B0\",\r\n layer: 3,\r\n count: 1,\r\n },\r\n {\r\n name: \"A\",\r\n cx: 1180,\r\n cy: 470,\r\n r: 25,\r\n fill: \"#2867B0\",\r\n layer: 3,\r\n count: 2,\r\n },\r\n {\r\n name: \"A\",\r\n cx: 1115,\r\n cy: 750,\r\n r: 25,\r\n fill: \"#2867B0\",\r\n layer: 3,\r\n count: 3,\r\n },\r\n {\r\n name: \"B\",\r\n cx: 1220,\r\n cy: 525,\r\n r: 25,\r\n fill: \"#E28D2A\",\r\n layer: 3,\r\n count: 1,\r\n },\r\n {\r\n name: \"C\",\r\n cx: 1140,\r\n cy: 370,\r\n r: 25,\r\n fill: \"#1CAA44\",\r\n layer: 3,\r\n count: 1,\r\n },\r\n ];\r\n nodesAttr.forEach((node) => {\r\n let nodeGroup = process2Nodes\r\n .append(\"g\")\r\n .attr(\"id\", \"node\" + node.name + node.layer + node.count)\r\n .attr(\r\n \"class\",\r\n \"node\" + node.name + node.layer + node.count + \" d-none\"\r\n )\r\n .style(\"cursor\", \"pointer\");\r\n nodeGroup\r\n .append(\"circle\")\r\n .datum(node)\r\n .attr(\"class\", \"node\")\r\n .attr(\"transform\", `translate(${node.cx},${node.cy})`)\r\n .attr(\"r\", node.r)\r\n .style(\"fill\", node.fill)\r\n .style(\"opacity\", 0);\r\n\r\n nodeGroup\r\n .append(\"text\")\r\n .datum(node)\r\n .attr(\"class\", \"nodeText\")\r\n .attr(\"transform\", `translate(${node.cx},${node.cy + 10})`)\r\n .style(\"text-anchor\", \"middle\")\r\n .style(\"font-size\", \"30px\")\r\n .style(\"font-weight\", \"bold\")\r\n .style(\"fill\", \"#ffffff\")\r\n .text(node.name)\r\n .style(\"opacity\", 0);\r\n\r\n nodeGroup\r\n .on(\"mouseover\", function (event, d) {\r\n let data;\r\n if (node.name === \"A\") data = { name: \"Citric Acid\" };\r\n else if (node.name === \"B\") data = { name: \"Whey\" };\r\n else if (node.name === \"C\") data = { name: \"Dextrose\" };\r\n else if (node.name === \"D\") data = { name: \"Palm Oil\" };\r\n else if (node.name === \"E\")\r\n data = { name: \"Unbleached Wheat FLour\" };\r\n else if (node.name === \"F\") data = { name: \"Eggs\" };\r\n tip.show(data, this);\r\n })\r\n .on(\"mouseout\", function (event, d) {\r\n let data;\r\n if (node.name === \"A\") data = { name: \"Citric Acid\" };\r\n else if (node.name === \"B\") data = { name: \"Whey\" };\r\n else if (node.name === \"C\") data = { name: \"Dextrose\" };\r\n else if (node.name === \"D\") data = { name: \"Palm Oil\" };\r\n else if (node.name === \"E\")\r\n data = { name: \"Unbleached Wheat FLour\" };\r\n else if (node.name === \"F\") data = { name: \"Eggs\" };\r\n tip.hide(data, this);\r\n });\r\n });\r\n\r\n const rectAttr = [\r\n { x: 735, y: 510, width: 150, height: 80, rx: 5, ry: 5 },\r\n { x: 1020, y: 525, width: 60, height: 60, rx: 5, ry: 5 },\r\n { x: 1005, y: 365, width: 60, height: 60, rx: 5, ry: 5 },\r\n { x: 1000, y: 685, width: 60, height: 60, rx: 5, ry: 5 },\r\n ];\r\n rectAttr.forEach((rect, index) => {\r\n process2Rects\r\n .append(\"rect\")\r\n .attr(\"class\", `graphrect-${index}`)\r\n .attr(\"transform\", `translate(${rect.x},${rect.y})`)\r\n .attr(\"width\", rect.width)\r\n .attr(\"height\", rect.height)\r\n .attr(\"fill\", \"#ffffff\")\r\n .attr(\"rx\", rect.rx)\r\n .attr(\"ry\", rect.ry)\r\n .style(\"opacity\", 0);\r\n });\r\n\r\n const lineAttr = [\r\n { x1: 710, y1: 550, x2: 735, y2: 550, id: 1 },\r\n { x1: 885, y1: 550, x2: 920, y2: 550, id: 3 },\r\n { x1: 990, y1: 550, x2: 1020, y2: 550, id: 5 },\r\n { x1: 820, y1: 510, x2: 925, y2: 460, id: 2 },\r\n { x1: 820, y1: 590, x2: 914, y2: 653, id: 4 },\r\n { x1: 970, y1: 685, x2: 1000, y2: 700, id: 6 },\r\n { x1: 981, y1: 422, x2: 1004, y2: 410, id: 7 },\r\n { x1: 1045, y1: 365, x2: 1085, y2: 325, id: 8 },\r\n { x1: 1065, y1: 385, x2: 1115, y2: 375, id: 9 },\r\n { x1: 1080, y1: 530, x2: 1160, y2: 485, id: 10 },\r\n { x1: 1080, y1: 547, x2: 1195, y2: 527, id: 11 },\r\n { x1: 1080, y1: 563, x2: 1193, y2: 580, id: 12 },\r\n { x1: 1080, y1: 580, x2: 1163, y2: 633, id: 13 },\r\n { x1: 1060, y1: 725, x2: 1093, y2: 740, id: 14 },\r\n ];\r\n lineAttr.forEach((line) => {\r\n process2Lines\r\n .append(\"line\")\r\n .attr(\"class\", \"process2Line\" + line.id)\r\n .attr(\"x1\", line.x1)\r\n .attr(\"y1\", line.y1)\r\n .attr(\"x2\", line.x1)\r\n .attr(\"y2\", line.y1)\r\n .attr(\"stroke\", \"white\")\r\n .attr(\"stroke-width\", 1.5);\r\n });\r\n\r\n process2Graph\r\n .append(\"text\")\r\n .attr(\"class\", \"AggregationText\")\r\n .text(\"Neighborhood Aggregation Function\")\r\n .attr(\"x\", 770)\r\n .attr(\"y\", 525)\r\n .attr(\"dy\", \".5em\")\r\n .attr(\"text-anchor\", \"middle\")\r\n .style(\"fill\", \"black\")\r\n .style(\"font-size\", \"14px\")\r\n .call(that.wrap, 160, 810)\r\n .style(\"opacity\", 0);\r\n\r\n const animateNodeGrpTitle = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n currentProcess\r\n .select(\".screen4NodeGrpTitle\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", operation === \"draw\" ? 1 : 0)\r\n .call(endAll, cb);\r\n };\r\n\r\n const animateLegendNodes = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n legendNodesData.forEach((node, index) => {\r\n legendNodes\r\n .select(\".node\" + index)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", operation === \"draw\" ? 1 : 0);\r\n nodeText\r\n .select(\".nodeText\" + index)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", operation === \"draw\" ? 1 : 0);\r\n legendText\r\n .select(\".legendText\" + index)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", operation === \"draw\" ? 1 : 0)\r\n .call(\r\n endAll,\r\n legendNodesData.length === index + 1 ? cb : function () {}\r\n );\r\n delay += duration === 0 || operation === \"hide\" ? 0 : 250;\r\n });\r\n };\r\n\r\n const animateArrow = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n arrowTickUp\r\n .style(\"opacity\", operation === \"draw\" ? 1 : 0)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"x2\", endX)\r\n .attr(\"y2\", endY);\r\n arrowTickMiddle\r\n .style(\"opacity\", operation === \"draw\" ? 1 : 0)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"x2\", endX)\r\n .attr(\"y2\", endY);\r\n arrowTickDown\r\n .style(\"opacity\", operation === \"draw\" ? 1 : 0)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"x2\", endX)\r\n .attr(\"y2\", endY)\r\n .call(endAll, cb);\r\n };\r\n\r\n const animateNodeInfoRightGrp = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n for (var i = 1; i <= 6; i++) {\r\n showImage(\r\n globeGroup,\r\n \"node_info_\" + i,\r\n operation,\r\n delay,\r\n duration,\r\n i === 6 ? cb : function () {}\r\n );\r\n delay += duration === 0 || operation === \"hide\" ? 0 : 100;\r\n }\r\n };\r\n\r\n const animateNodeInfoLeftGrp = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n for (var i = 7; i <= 12; i++) {\r\n showImage(\r\n globeGroup,\r\n \"node_info_\" + i,\r\n operation,\r\n delay,\r\n duration,\r\n i === 12 ? cb : function () {}\r\n );\r\n delay += duration === 0 || operation === \"hide\" ? 0 : 100;\r\n }\r\n };\r\n\r\n const animateNodeIota = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n showImage(globeGroup, \"screen-6-iota\", operation, delay, duration, cb);\r\n globeGroup\r\n .select(\".screen-6-iota\")\r\n .style(\"cursor\", \"pointer\")\r\n .on(\"mouseover\", function (event, d) {\r\n let data = { name: \"BERT based Ingredients Embedding\" };\r\n iotaTip.show(data, this);\r\n })\r\n .on(\"mouseout\", function (event, d) {\r\n let data = { name: \"BERT based Ingredients Embedding\" };\r\n iotaTip.hide(data, this);\r\n });\r\n\r\n console.log(globeGroup.select(\".screen-6-iota\"));\r\n };\r\n\r\n const animateLegendFO = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n foreigndataobject.dataContent.forEach((content, index) => {\r\n if (index === 2) {\r\n globeGroup\r\n .select(\".\" + content.background.class.split(\" \")[0])\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", operation === \"draw\" ? 1 : 0)\r\n .call(endAll, cb);\r\n }\r\n });\r\n };\r\n\r\n const animateProcess2GNN = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n const rootNode = [\r\n {\r\n name: \"A\",\r\n cx: 675,\r\n cy: 550,\r\n r: 35,\r\n fill: \"#2867B0\",\r\n layer: 1,\r\n count: 1,\r\n },\r\n ];\r\n const lineGrp1 = [{ x1: 710, y1: 550, x2: 735, y2: 550 }];\r\n const rectGrp1 = [\r\n { x: 735, y: 510, width: 150, height: 80, rx: 5, ry: 5 },\r\n ];\r\n const lineGrp2 = [\r\n { x1: 820, y1: 510, x2: 925, y2: 460 },\r\n { x1: 885, y1: 550, x2: 920, y2: 550 },\r\n { x1: 820, y1: 590, x2: 914, y2: 653 },\r\n ];\r\n const layer2Nodes = [\r\n {\r\n name: \"B\",\r\n cx: 955,\r\n cy: 443,\r\n r: 35,\r\n fill: \"#E28D2A\",\r\n layer: 2,\r\n count: 1,\r\n },\r\n {\r\n name: \"C\",\r\n cx: 955,\r\n cy: 550,\r\n r: 35,\r\n fill: \"#1CAA44\",\r\n layer: 2,\r\n count: 1,\r\n },\r\n {\r\n name: \"D\",\r\n cx: 945,\r\n cy: 665,\r\n r: 35,\r\n fill: \"#B8BA51\",\r\n layer: 2,\r\n count: 1,\r\n },\r\n ];\r\n const lineGrp3 = [\r\n { x1: 990, y1: 550, x2: 1020, y2: 550 },\r\n { x1: 970, y1: 685, x2: 1000, y2: 700 },\r\n { x1: 981, y1: 422, x2: 1004, y2: 410 },\r\n ];\r\n const rectGrp2 = [\r\n { x: 1020, y: 525, width: 60, height: 60, rx: 5, ry: 5 },\r\n { x: 1005, y: 365, width: 60, height: 60, rx: 5, ry: 5 },\r\n { x: 1000, y: 685, width: 60, height: 60, rx: 5, ry: 5 },\r\n ];\r\n const lineGrp4 = [\r\n { x1: 1045, y1: 365, x2: 1085, y2: 325 },\r\n { x1: 1065, y1: 385, x2: 1115, y2: 375 },\r\n { x1: 1080, y1: 530, x2: 1160, y2: 485 },\r\n { x1: 1080, y1: 547, x2: 1195, y2: 527 },\r\n { x1: 1080, y1: 563, x2: 1193, y2: 580 },\r\n { x1: 1080, y1: 580, x2: 1163, y2: 633 },\r\n { x1: 1060, y1: 725, x2: 1093, y2: 740 },\r\n ];\r\n const layer3Nodes = [\r\n {\r\n name: \"A\",\r\n cx: 1100,\r\n cy: 305,\r\n r: 25,\r\n fill: \"#2867B0\",\r\n layer: 3,\r\n count: 1,\r\n },\r\n {\r\n name: \"C\",\r\n cx: 1140,\r\n cy: 370,\r\n r: 25,\r\n fill: \"#1CAA44\",\r\n layer: 3,\r\n count: 1,\r\n },\r\n {\r\n name: \"A\",\r\n cx: 1180,\r\n cy: 470,\r\n r: 25,\r\n fill: \"#2867B0\",\r\n layer: 3,\r\n count: 2,\r\n },\r\n {\r\n name: \"B\",\r\n cx: 1220,\r\n cy: 525,\r\n r: 25,\r\n fill: \"#E28D2A\",\r\n layer: 3,\r\n count: 1,\r\n },\r\n {\r\n name: \"E\",\r\n cx: 1215,\r\n cy: 585,\r\n r: 25,\r\n fill: \"#C73434\",\r\n layer: 3,\r\n count: 1,\r\n },\r\n {\r\n name: \"F\",\r\n cx: 1180,\r\n cy: 650,\r\n r: 25,\r\n fill: \"#0FB8A4\",\r\n layer: 3,\r\n count: 1,\r\n },\r\n {\r\n name: \"A\",\r\n cx: 1115,\r\n cy: 750,\r\n r: 25,\r\n fill: \"#2867B0\",\r\n layer: 3,\r\n count: 3,\r\n },\r\n ];\r\n\r\n var id = 1;\r\n\r\n const animateRootNode = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n rootNode.forEach((node, index) => {\r\n let nodeGroup = process2Nodes\r\n .select(\".node\" + node.name + node.layer + node.count)\r\n .transition()\r\n .delay(delay)\r\n .attr(\"class\", \"node\" + node.name + node.layer + node.count);\r\n\r\n nodeGroup\r\n .select(\".node\")\r\n\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"transform\", `translate(${node.cx},${node.cy}) scale(1)`)\r\n .style(\"opacity\", 1);\r\n\r\n nodeGroup\r\n .select(\".nodeText\")\r\n\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\r\n \"transform\",\r\n `translate(${node.cx},${node.cy + 10}) scale(1)`\r\n )\r\n .style(\"opacity\", 1)\r\n .call(\r\n endAll,\r\n rootNode.length === index + 1 ? cb : function () {}\r\n );\r\n });\r\n };\r\n\r\n const animateLineGrp1 = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n lineGrp1.forEach((line, index) => {\r\n process2Lines\r\n .select(\".process2Line\" + id)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"x2\", line.x2)\r\n .attr(\"y2\", line.y2)\r\n .call(\r\n endAll,\r\n lineGrp1.length === index + 1 ? cb : function () {}\r\n );\r\n id++;\r\n });\r\n };\r\n\r\n const animateRectGrp1 = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n rectGrp1.forEach((rect, index) => {\r\n process2Rects\r\n .select(`.graphrect-${index}`)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", 1)\r\n .call(endAll, function () {\r\n process2Graph\r\n .select(\".AggregationText\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", 1)\r\n .call(endAll, function () {\r\n showImage(process2Graph, \"mu4\", \"draw\", 0, duration, cb);\r\n });\r\n });\r\n });\r\n };\r\n\r\n const animateLineGrp2 = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n lineGrp2.forEach((line, index) => {\r\n process2Lines\r\n .select(\".process2Line\" + id)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"x2\", line.x2)\r\n .attr(\"y2\", line.y2)\r\n .call(\r\n endAll,\r\n lineGrp2.length === index + 1 ? cb : function () {}\r\n );\r\n id++;\r\n });\r\n };\r\n\r\n const animateNodeGrp2 = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n layer2Nodes.forEach((node, index) => {\r\n let nodeGroup = process2Nodes\r\n .select(\".node\" + node.name + node.layer + node.count)\r\n .transition()\r\n .delay(delay)\r\n .attr(\"class\", \"node\" + node.name + node.layer + node.count);\r\n\r\n nodeGroup\r\n .select(\".node\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", 1);\r\n\r\n nodeGroup\r\n .select(\".nodeText\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", 1)\r\n .call(\r\n endAll,\r\n layer2Nodes.length === index + 1 ? cb : function () {}\r\n );\r\n });\r\n };\r\n\r\n const animateLineGrp3 = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n lineGrp3.forEach((line, index) => {\r\n process2Lines\r\n .select(\".process2Line\" + id)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"x2\", line.x2)\r\n .attr(\"y2\", line.y2)\r\n .call(\r\n endAll,\r\n lineGrp3.length === index + 1 ? cb : function () {}\r\n );\r\n id++;\r\n });\r\n };\r\n\r\n const animateRectGrp2 = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n rectGrp2.forEach((rect, index) => {\r\n process2Rects\r\n .select(`.graphrect-${index + 1}`)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", 1);\r\n });\r\n for (var i = 1; i <= 3; i++) {\r\n showImage(\r\n process2Graph,\r\n \"mu\" + i,\r\n \"draw\",\r\n delay,\r\n duration,\r\n i === 3 ? cb : function () {}\r\n );\r\n }\r\n };\r\n\r\n const animateLineGrp4 = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n let animateLine = (node, line) => {\r\n node\r\n .transition()\r\n .duration(1200)\r\n .attr(\"y2\", line.y2 + parseInt(Math.random() * 3 + \"\"))\r\n .call(endAll, function () {\r\n animateLine(node, line);\r\n });\r\n };\r\n\r\n lineGrp4.forEach((line, index) => {\r\n var node = process2Lines.select(\".process2Line\" + id);\r\n node\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"x2\", line.x2)\r\n .attr(\"y2\", line.y2)\r\n .call(endAll, function () {\r\n animateLine(node, line);\r\n\r\n lineGrp4.length === index + 1 ? cb() : function () {};\r\n });\r\n\r\n id++;\r\n });\r\n };\r\n\r\n const animateNodeGrp3 = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n layer3Nodes.forEach((node, index) => {\r\n let nodeGroup = process2Nodes\r\n .select(\".node\" + node.name + node.layer + node.count)\r\n .attr(\"class\", \"node\" + node.name + node.layer + node.count);\r\n\r\n var circleNode = nodeGroup.select(\".node\");\r\n circleNode\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", 1);\r\n\r\n let animateNode = (node, txt) => {\r\n let y = parseInt(Math.random() * 3 + \"\");\r\n txt\r\n .transition()\r\n .duration(1200)\r\n .attr(\r\n \"transform\",\r\n (d) => `translate(${d.cx},${d.cy + 10 + y})`\r\n );\r\n node\r\n .transition()\r\n .duration(1200)\r\n .attr(\"transform\", (d) => `translate(${d.cx},${d.cy + y})`)\r\n .call(endAll, function () {\r\n animateNode(node, txt);\r\n });\r\n };\r\n\r\n var circleTxt = nodeGroup.select(\".nodeText\");\r\n circleTxt\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", 1)\r\n .call(endAll, function () {\r\n animateNode(circleNode, circleTxt);\r\n layer3Nodes.length === index + 1 ? cb() : function () {};\r\n });\r\n });\r\n };\r\n\r\n animateRootNode(delay, duration, \"draw\", function () {\r\n animateLineGrp1(delay, duration, \"draw\", function () {\r\n animateRectGrp1(delay, duration, \"draw\", function () {\r\n animateLineGrp2(delay, duration, \"draw\", function () {\r\n animateNodeGrp2(delay, duration, \"draw\", function () {\r\n animateLineGrp3(delay, duration, \"draw\", function () {\r\n animateRectGrp2(delay, duration, \"draw\", function () {\r\n animateLineGrp4(delay, duration, \"draw\", function () {\r\n animateNodeGrp3(delay, duration, \"draw\", cb);\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n };\r\n\r\n const animateRect = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n globeGroup\r\n .select(\".screen-5-OuterRect\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", operation === \"draw\" ? 1 : 0);\r\n\r\n globeGroup\r\n .select(\".screen-5-TextRect\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", operation === \"draw\" ? 1 : 0);\r\n\r\n globeGroup\r\n .select(\".screen-5-RectText\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", operation === \"draw\" ? 1 : 0)\r\n .call(endAll, cb);\r\n };\r\n\r\n const animateFO = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n foreigndataobject.dataContent.forEach((content, index) => {\r\n if (index < 2) {\r\n globeGroup\r\n .select(\".\" + content.background.class.split(\" \")[0])\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", operation === \"draw\" ? 1 : 0)\r\n .attr(\"class\", content.background.class + \" in\")\r\n .call(endAll, index + 1 === 2 ? cb : function () {});\r\n\r\n delay += duration === 0 ? 0 : 250;\r\n }\r\n });\r\n };\r\n\r\n const animateDashedLines = (\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) => {\r\n operateLine(\r\n lineGroup,\r\n \"screen5process-line-0\",\r\n \"draw\",\r\n delay,\r\n duration,\r\n function () {\r\n showImage(\r\n globeGroup,\r\n \"screen-6-arrow-1\",\r\n operation,\r\n 0,\r\n duration,\r\n function () {\r\n operateLine(\r\n lineGroup,\r\n \"screen5process-line-3\",\r\n operation,\r\n 0,\r\n duration,\r\n function () {}\r\n );\r\n operateLine(\r\n lineGroup,\r\n \"screen5process-line-4\",\r\n operation,\r\n 0,\r\n duration,\r\n function () {\r\n operateLine(\r\n lineGroup,\r\n \"screen5process-line-1\",\r\n operation,\r\n 0,\r\n duration,\r\n function () {}\r\n );\r\n operateLine(\r\n lineGroup,\r\n \"screen5process-line-2\",\r\n operation,\r\n 0,\r\n duration,\r\n function () {}\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n function initiateAnimation() {\r\n const htmlDelayValue = 500;\r\n if (that.screen4VisitNo > 0) {\r\n processGraph.style(\"opacity\", 1);\r\n focusrings.style(\"opacity\", 1);\r\n animateGNNPosition(4, 0, 0, \"draw\", function () {});\r\n }\r\n animateForecastingEngine(\r\n 4,\r\n 0,\r\n that.screen4VisitNo > 0 ? 0 : 500,\r\n \"draw\",\r\n function () {\r\n console.log(+new Date());\r\n animateDashedRect(\r\n 0,\r\n that.screen4VisitNo > 0 ? 0 : 500,\r\n \"draw\",\r\n function () {\r\n console.log(+new Date());\r\n animateNodeGrpTitle(\r\n 0,\r\n that.screen4VisitNo > 0 ? 0 : 500,\r\n that.screen4VisitNo > 0 ? \"hide\" : \"draw\",\r\n function () {\r\n console.log(+new Date());\r\n animateLegendNodes(\r\n 0,\r\n that.screen4VisitNo > 0 ? 0 : 500,\r\n that.screen4VisitNo > 0 ? \"hide\" : \"draw\",\r\n function () {\r\n console.log(+new Date());\r\n animateArrow(\r\n 0,\r\n that.screen4VisitNo > 0 ? 0 : 500,\r\n that.screen4VisitNo > 0 ? \"hide\" : \"draw\",\r\n function () {\r\n console.log(+new Date());\r\n animateGNNNodesToIntermidiate(\r\n 0,\r\n that.screen4VisitNo > 0 ? 0 : 500,\r\n that.screen4VisitNo > 0 ? \"hide\" : \"draw\",\r\n function () {\r\n console.log(+new Date());\r\n animateGNNNodesToFinal(\r\n 0,\r\n that.screen4VisitNo > 0 ? 0 : 500,\r\n that.screen4VisitNo > 0 ? \"hide\" : \"draw\",\r\n function () {\r\n console.log(+new Date());\r\n animateGNNLines(\r\n 0,\r\n that.screen4VisitNo > 0 ? 0 : 500,\r\n that.screen4VisitNo > 0 ? \"hide\" : \"draw\",\r\n function () {\r\n console.log(+new Date());\r\n animateNodeInfoRightGrp(\r\n 0,\r\n that.screen4VisitNo > 0 ? 0 : 500,\r\n that.screen4VisitNo > 0\r\n ? \"hide\"\r\n : \"draw\",\r\n function () {\r\n console.log(+new Date());\r\n animateNodeGrpTitle(\r\n 0,\r\n that.screen4VisitNo > 0 ? 0 : 50,\r\n \"hide\",\r\n function () {\r\n console.log(+new Date());\r\n animateLegendNodes(\r\n 0,\r\n that.screen4VisitNo > 0\r\n ? 0\r\n : 50,\r\n \"hide\",\r\n function () {\r\n console.log(+new Date());\r\n animateArrow(\r\n 0,\r\n that.screen4VisitNo > 0\r\n ? 0\r\n : 50,\r\n \"hide\",\r\n function () {\r\n console.log(\r\n +new Date()\r\n );\r\n animateNodeInfoRightGrp(\r\n 0,\r\n that.screen4VisitNo >\r\n 0\r\n ? 0\r\n : 50,\r\n \"hide\",\r\n function () {\r\n console.log(\r\n +new Date()\r\n );\r\n animateGNNPosition(\r\n 4,\r\n 0,\r\n that.screen4VisitNo >\r\n 0\r\n ? 0\r\n : 500,\r\n \"draw\",\r\n function () {\r\n console.log(\r\n +new Date()\r\n );\r\n animateNodeInfoLeftGrp(\r\n 0,\r\n that.screen4VisitNo >\r\n 0\r\n ? 0\r\n : 500,\r\n \"draw\",\r\n function () {\r\n animateNodeIota(\r\n 0,\r\n that.screen4VisitNo >\r\n 0\r\n ? 0\r\n : 300,\r\n \"draw\",\r\n function () {}\r\n );\r\n animateFocusRings(\r\n 0,\r\n that.screen4VisitNo >\r\n 0\r\n ? 0\r\n : 500,\r\n \"draw\",\r\n function () {\r\n animateLegendFO(\r\n 0,\r\n that.screen4VisitNo >\r\n 0\r\n ? 0\r\n : 500,\r\n \"draw\",\r\n function () {\r\n animateProcess2GNN(\r\n 0,\r\n that.screen4VisitNo >\r\n 0\r\n ? 0\r\n : 200,\r\n \"draw\",\r\n function () {\r\n animateRect(\r\n 0,\r\n that.screen4VisitNo >\r\n 0\r\n ? 0\r\n : 500,\r\n \"draw\",\r\n function () {\r\n animateFO(\r\n 0,\r\n that.screen4VisitNo >\r\n 0\r\n ? 0\r\n : 500,\r\n \"draw\",\r\n function () {\r\n animateDashedLines(\r\n 0,\r\n that.screen4VisitNo >\r\n 0\r\n ? 0\r\n : 500,\r\n \"draw\",\r\n function () {}\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n baseImage = \"\";\r\n\r\n currentProcess.style(\"opacity\", 1);\r\n\r\n image.attr(\"xlink:href\", baseImage);\r\n\r\n currentProcess.attr(\"class\", \"screen-4-group\");\r\n initiateAnimation();\r\n },\r\n stopAnimation() {\r\n that.screen4VisitNo++;\r\n\r\n dataGroup.select(\".forecastingEngineGroup\").interrupt();\r\n animateForecastingEngine(4, 0, 0, \"draw\", function () {});\r\n\r\n dataGroup.select(\".dashedRectWrapper\").interrupt();\r\n animateDashedRect(0, 0, \"hide\", function () {});\r\n\r\n currentProcess.select(\".screen4NodeGrpTitle\").interrupt();\r\n animateNodeGrpTitle(0, 0, \"hide\", function () {});\r\n\r\n legendNodesData.forEach((node, index) => {\r\n legendNodes.select(\".node\" + index).interrupt();\r\n nodeText.select(\".nodeText\" + index).interrupt();\r\n legendText.select(\".legendText\" + index).interrupt();\r\n });\r\n animateLegendNodes(0, 0, \"hide\", function () {});\r\n\r\n arrowTickUp.interrupt();\r\n arrowTickMiddle.interrupt();\r\n arrowTickDown.interrupt();\r\n animateArrow(0, 0, \"hide\", function () {});\r\n\r\n legendNodesDataCopy.forEach((node) => {\r\n legendNodesCopy.select(\".CopiedNode\" + node.nodeText).interrupt();\r\n nodeTextCopy.select(\".CopiedNodeText\" + node.nodeText).interrupt();\r\n });\r\n graphAdjMatx.forEach((link, index) => {\r\n graphLines.select(\".graphLine\" + index).interrupt();\r\n });\r\n animateGNNNodesToFinal(0, 0, \"draw\", function () {});\r\n animateGNNLines(0, 0, \"draw\", function () {});\r\n animateGNNPosition(4, 0, 0, \"draw\", function () {});\r\n\r\n for (let i = 1; i <= 12; i++) {\r\n globeGroup.select(\".node_info_\" + i).interrupt();\r\n }\r\n animateNodeInfoRightGrp(0, 0, \"hide\", function () {});\r\n animateNodeInfoLeftGrp(0, 0, \"draw\", function () {});\r\n\r\n globeGroup.select(\".screen-6-iota\").interrupt();\r\n animateNodeIota(0, 0, \"draw\", function () {});\r\n\r\n focusrings.select(\".screen-4-highlightlingnode-back\").interrupt();\r\n focusrings.select(\".screen-4-highlightlingnode-front\").interrupt();\r\n animateFocusRings(0, 0, \"draw\", function () {});\r\n\r\n foreigndataobject.dataContent.forEach((content, index) => {\r\n if (index === 2) {\r\n globeGroup\r\n .select(\".\" + content.background.class.split(\" \")[0])\r\n .interrupt();\r\n }\r\n });\r\n animateLegendFO(0, 0, \"draw\", function () {});\r\n\r\n nodesAttr.forEach((node) => {\r\n let nodeGroup = process2Nodes\r\n .select(\".node\" + node.name + node.layer + node.count + \" d-none\")\r\n .interrupt();\r\n nodeGroup.select(\".node\").interrupt();\r\n nodeGroup.select(\".nodeText\").interrupt();\r\n });\r\n rectAttr.forEach((rect, index) => {\r\n process2Rects.select(`.graphrect-${index}`).interrupt();\r\n });\r\n lineAttr.forEach((line) => {\r\n process2Lines.select(\".process2Line\" + line.id).interrupt();\r\n });\r\n animateProcess2GNN(0, 0, \"draw\", function () {});\r\n\r\n globeGroup.select(\".screen-5-OuterRect\").interrupt();\r\n globeGroup.select(\".screen-5-TextRect\").interrupt();\r\n globeGroup.select(\".screen-5-RectText\").interrupt();\r\n animateRect(0, 0, \"draw\", function () {});\r\n\r\n foreigndataobject.dataContent.forEach((content, index) => {\r\n if (index < 2) {\r\n globeGroup\r\n .select(\".\" + content.background.class.split(\" \")[0])\r\n .interrupt();\r\n }\r\n });\r\n animateFO(0, 0, \"draw\", function () {});\r\n\r\n for (let i = 0; i <= 4; i++) {\r\n lineGroup.select(\".screen5process-line-\" + i).interrupt();\r\n }\r\n animateDashedLines(0, 0, \"draw\", function () {});\r\n\r\n currentProcess.attr(\"class\", \"screen-4-group d-none\");\r\n\r\n currentProcess.style(\"opacity\", 0);\r\n\r\n that.animationStarted.screen4 = true;\r\n },\r\n };\r\n })();\r\n\r\n const screenFive = (() => {\r\n const currentProcess = dataGroup\r\n .append(\"g\")\r\n .attr(\"id\", \"screen-6-group\")\r\n .attr(\"class\", \"screen-6-group d-none\")\r\n .style(\"opacity\", 1);\r\n\r\n const globeGroup = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"globe-group\")\r\n .attr(\"class\", \"globe-group\");\r\n\r\n const rectgroup = globeGroup\r\n .append(\"g\")\r\n .attr(\"id\", \"screen-3-rect-group\")\r\n .attr(\"class\", \"screen-3-rect-group\");\r\n rectgroup\r\n .append(\"rect\")\r\n .attr(\"class\", \"screen-5-OuterRect animate\")\r\n .attr(\"transform\", `translate(60,87)`)\r\n .attr(\"width\", 778)\r\n .attr(\"height\", 837)\r\n .attr(\"stroke\", \"#ffffff\")\r\n .attr(\"stroke-width\", 1)\r\n .attr(\"fill\", \"none\")\r\n .attr(\"rx\", 30)\r\n .attr(\"ry\", 30)\r\n .attr(\"opacity\", 0);\r\n\r\n rectgroup\r\n .append(\"rect\")\r\n .attr(\"class\", \"screen-5-TextRect animate\")\r\n .style(\"fill\", \"#a485e8\")\r\n .attr(\"transform\", `translate(370,75)`)\r\n .attr(\"width\", 193)\r\n .attr(\"height\", 30)\r\n .attr(\"opacity\", 0);\r\n rectgroup\r\n .append(\"text\")\r\n .attr(\"class\", \"screen-5-RectText animate\")\r\n .text(\"Forecasting Engine\")\r\n .attr(\"transform\", `translate(372,80)`)\r\n .attr(\"dy\", \".71em\")\r\n .style(\"fill\", \"#ffffff\")\r\n .style(\"font-size\", \"22px\")\r\n .attr(\"opacity\", 0);\r\n\r\n const listData = {\r\n lines: [\r\n [\r\n [838, 270],\r\n [1135, 270],\r\n ],\r\n [\r\n [838, 680],\r\n [1135, 680],\r\n ],\r\n ],\r\n };\r\n const lineGroup = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"line-group\")\r\n .attr(\"class\", \"line-group\")\r\n .style(\"opacity\", 1);\r\n\r\n listData.lines.forEach((el, i) => {\r\n let index = i;\r\n const line = addDashedLine(\r\n lineGroup,\r\n el,\r\n `screen-3 process-line-${i}`,\r\n \"#ffffff\",\r\n \"8,4\",\r\n 1,\r\n false\r\n );\r\n line.attr(\"stroke-dashoffset\", (d) => d.pathLength);\r\n });\r\n\r\n const screen6 = globeGroup\r\n .append(\"g\")\r\n .attr(\"id\", \"screen-6-Inner-rect-group\")\r\n .attr(\"class\", \"screen-6-Inner-rect-group animate\")\r\n .style(\"opacity\", 1);\r\n\r\n screen6\r\n .append(\"rect\")\r\n .attr(\"class\", \"InnerRect animate\")\r\n .attr(\"transform\", `translate(164,620)`)\r\n .attr(\"rx\", 30)\r\n .attr(\"ry\", 30)\r\n .attr(\"width\", 572)\r\n .attr(\"height\", 278)\r\n .attr(\"stroke\", \"#ffffff\")\r\n .attr(\"stroke-width\", 1)\r\n .attr(\"fill\", \"none\")\r\n .attr(\"opacity\", 0);\r\n\r\n screen6\r\n .append(\"rect\")\r\n .attr(\"class\", \"InnerTextRect animate\")\r\n .style(\"fill\", \"#a17fea\")\r\n .attr(\"transform\", `translate(374,883)`)\r\n .attr(\"width\", 150)\r\n .attr(\"height\", 30)\r\n .attr(\"opacity\", 0);\r\n\r\n screen6\r\n .append(\"text\")\r\n .attr(\"class\", \"InnerRectText animate\")\r\n .text(\"Driver Analysis\")\r\n .attr(\"transform\", `translate(376,889)`)\r\n .attr(\"dy\", \".71em\")\r\n .style(\"fill\", \"#fff\")\r\n .style(\"font-size\", \"22px\")\r\n .attr(\"opacity\", 0);\r\n\r\n let focusRingGroup = screen6\r\n .append(\"g\")\r\n .attr(\"id\", \"focusRingGroup\")\r\n .attr(\"class\", \"focusRingGroup animate\")\r\n .attr(\"transform\", \"translate(-440,39)\");\r\n\r\n screen6\r\n .append(\"text\")\r\n .attr(\"class\", \"ShapAnalysisText animate\")\r\n .text(\"SHAP Analysis\")\r\n .attr(\"transform\", `translate(190,655)`)\r\n .attr(\"dy\", \".71em\")\r\n .style(\"fill\", \"#fff\")\r\n .style(\"font-size\", \"16px\")\r\n .style(\"opacity\", 0);\r\n\r\n screen6\r\n .append(\"text\")\r\n .attr(\"class\", \"GraphText animate\")\r\n .text(\"Attention Graph\")\r\n .attr(\"transform\", `translate(564,655)`)\r\n .attr(\"dy\", \".71em\")\r\n .style(\"fill\", \"#fff\")\r\n .style(\"font-size\", \"16px\")\r\n .style(\"opacity\", 0);\r\n\r\n screen6\r\n .append(\"line\")\r\n .attr(\"class\", \"innerRectLine animate\")\r\n .attr(\"x1\", 538)\r\n .attr(\"y1\", 655)\r\n .attr(\"x2\", 538)\r\n .attr(\"y2\", 870)\r\n .attr(\"stroke\", \"#ffffff\")\r\n .attr(\"opacity\", 0);\r\n\r\n const dataSummaryData = {\r\n dataContent: [\r\n {\r\n background: {\r\n id: \"shap_analysis\",\r\n width: 326,\r\n height: 200,\r\n src: \"assets/images/atlas-intelligence-kraft/shapbackgroundsvg.svg\",\r\n x: 188,\r\n y: 675,\r\n finalX: 188,\r\n finalY: 675,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"shap_image\",\r\n width: 80,\r\n height: 80,\r\n src: \"assets/images/atlas-intelligence-kraft/SHAPlogo.svg\",\r\n x: 215,\r\n y: 730,\r\n finalX: 215,\r\n finalY: 730,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"shap_analysis_output\",\r\n width: 130,\r\n height: 150,\r\n src: \"assets/images/atlas-intelligence-kraft/Outputlogo.svg\",\r\n x: 345,\r\n y: 700,\r\n finalX: 345,\r\n finalY: 700,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"attention_graph\",\r\n width: 150,\r\n height: 170,\r\n src: \"assets/images/atlas-intelligence-kraft/attention_graph.svg\",\r\n x: 562,\r\n y: 687,\r\n finalX: 562,\r\n finalY: 687,\r\n class: \"\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"document-1\",\r\n width: 80,\r\n height: 80,\r\n src: \"assets/images/atlas-intelligence-kraft/document.svg\",\r\n x: 420,\r\n y: 540,\r\n finalX: 580,\r\n finalY: 600,\r\n class: \"\",\r\n s: 0.5,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"document-2\",\r\n width: 80,\r\n height: 80,\r\n src: \"assets/images/atlas-intelligence-kraft/document.svg\",\r\n x: 420,\r\n y: 540,\r\n finalX: 580,\r\n finalY: 600,\r\n class: \"\",\r\n s: 0.5,\r\n o: 0,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n dataSummaryData.dataContent.forEach((content, index) => {\r\n const group = globeGroup\r\n .append(\"g\")\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1,\r\n })\r\n .attr({\r\n class: `globe-group globe-group-${index}`,\r\n id: `globe-group-${index}`,\r\n transform: (d: any) => `translate(${d.x}, ${d.y}) scale(1)`,\r\n })\r\n .style(\"opacity\", (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n });\r\n\r\n const foreigndataobject = {\r\n dataContent: [\r\n {\r\n background: {\r\n id: \"screen-7-output-box\",\r\n width: \"705px\",\r\n height: \"295px\",\r\n html: `
\r\n

Output

\r\n
\r\n
Final Sales Output
\r\n
    \r\n
  • \r\n 1st Year Sales Prediction\r\n $7.9M\r\n
  • \r\n
  • \r\n Velocity | Category Percentile\r\n 12 | 61.80\r\n
  • \r\n
  • \r\n Predicted TDP (Weekly)\r\n $3.2M\r\n
  • \r\n
  • \r\n First Year Units\r\n 7858\r\n
  • \r\n
\r\n
\r\n
`,\r\n x: 1132,\r\n y: 130,\r\n class: \"screen-7-output-box\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n {\r\n background: {\r\n id: \"screen-7-driver-box\",\r\n width: \"705px\",\r\n height: \"450px\",\r\n html: `
\r\n

Driver Analysis

\r\n
\r\n
    \r\n
  • \r\n The presence of Ingredient Citric Acid is viewed neutrally by the consumer\r\n
  • \r\n
  • \r\n The pairing of Whey and Palm Oil appears to play a positive role in consumer preferences\r\n
  • \r\n
  • \r\n Dextrose Ingredient is working as driver\r\n
  • \r\n
  • \r\n Wheat Flour Ingredient can be replaced by Unbleached Wheat Flour for better impact on sales\r\n
  • \r\n
  • \r\n Eggs ingredient has a negative impact\r\n
  • \r\n
\r\n
\r\n
`,\r\n x: 1132,\r\n y: 492,\r\n class: \"screen-7-driver-box\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n foreigndataobject.dataContent.forEach((content, index) => {\r\n const group = globeGroup\r\n .append(\"foreignObject\")\r\n .attr(\"class\", \"screen6ForeignObj\" + index)\r\n .attr(\"x\", content.background.x)\r\n .attr(\"y\", content.background.y)\r\n .attr(\"width\", content.background.width)\r\n .attr(\"height\", content.background.height)\r\n .append(\"xhtml:div\")\r\n .attr({\r\n class: content.background.class + \" animate\",\r\n })\r\n .html(content.background.html)\r\n .style(\"opacity\", 0);\r\n });\r\n\r\n var documentIntervalId;\r\n\r\n let createFocusRings = (() => {\r\n let position = [\r\n [755, 250],\r\n [840, 250],\r\n [840, 327],\r\n ];\r\n for (var i = 0; i < 3; i++) {\r\n let group = focusRingGroup\r\n .append(\"g\")\r\n .attr(\"id\", \"focusRing5\" + i)\r\n .attr(\"class\", \"focusRing5\" + i + \" animate\");\r\n\r\n group\r\n .append(\"circle\")\r\n .attr(\"class\", \"innerCircle animate\")\r\n .attr(\"cx\", 260)\r\n .attr(\"cy\", 415)\r\n .attr(\"r\", 23)\r\n .style(\"fill\", \"#fff\")\r\n .style(\"opacity\", 0.4);\r\n\r\n group\r\n .attr(\"transform\", `translate(${position[i][0]},${position[i][1]})`)\r\n .style(\"opacity\", 0);\r\n }\r\n })();\r\n\r\n let animateFocusRing = (\r\n group,\r\n className,\r\n delay = 0,\r\n duration = 500,\r\n cb = function () {}\r\n ) => {\r\n group\r\n .select(\".\" + className)\r\n .style(\"opacity\", 0)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", 1)\r\n .call(endAll, function () {\r\n animateFocusRing(group, className, 500, duration);\r\n cb();\r\n });\r\n };\r\n\r\n let animateDocument = (\r\n group,\r\n className,\r\n delay = 0,\r\n duration = 500,\r\n x,\r\n y,\r\n s,\r\n cb = function () {}\r\n ) => {\r\n group\r\n .selectAll(`.${className}`)\r\n .style(\"opacity\", 0)\r\n .attr(\"transform\", `translate(420, 430) scale(1)`)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .style(\"opacity\", 1)\r\n .attr(\"transform\", `translate(${x}, ${y}) scale(${s})`)\r\n .call(endAll, function () {\r\n animateDocument(group, className, 600, 900, x, y, s);\r\n });\r\n cb();\r\n };\r\n\r\n function initiateAnimation() {\r\n const htmlDelayValue = 500;\r\n focusrings.style(\"opacity\", 0);\r\n animateForecastingEngine(\r\n 5,\r\n 0,\r\n that.screen5visitno > 0 ? 0 : 1000,\r\n \"draw\",\r\n function () {}\r\n );\r\n animateGNNPosition(\r\n 5,\r\n 0,\r\n that.screen5visitno > 0 ? 0 : 500,\r\n \"draw\",\r\n function () {\r\n rectgroup\r\n .select(\".screen-5-RectText\")\r\n .transition()\r\n .delay(0)\r\n .duration(500)\r\n .style(\"opacity\", 1);\r\n rectgroup\r\n .select(\".screen-5-TextRect\")\r\n .transition()\r\n .delay(0)\r\n .duration(500)\r\n .style(\"opacity\", 1);\r\n rectgroup\r\n .select(\".screen-5-OuterRect\")\r\n .transition()\r\n .delay(0)\r\n .duration(500)\r\n .style(\"opacity\", 1)\r\n .call(endAll, function () {\r\n screen6\r\n .select(\".InnerRect\")\r\n .transition()\r\n .delay(0)\r\n .duration(500)\r\n .attr(\"opacity\", 1);\r\n\r\n screen6\r\n .select(\".InnerTextRect\")\r\n .transition()\r\n .delay(0)\r\n .duration(500)\r\n .attr(\"opacity\", 1);\r\n\r\n screen6\r\n .select(\".InnerRectText\")\r\n .transition()\r\n .delay(0)\r\n .duration(500)\r\n .attr(\"opacity\", 1);\r\n\r\n screen6\r\n .select(\".ShapAnalysisText\")\r\n .transition()\r\n .delay(0)\r\n .duration(500)\r\n .style(\"opacity\", 1)\r\n .call(endAll, function () {\r\n showImage(\r\n globeGroup,\r\n \"shap_analysis\",\r\n \"draw\",\r\n 0,\r\n 500,\r\n function () {\r\n showImage(\r\n globeGroup,\r\n \"shap_image\",\r\n \"draw\",\r\n 0,\r\n 500,\r\n function () {\r\n showImage(\r\n globeGroup,\r\n \"shap_analysis_output\",\r\n \"draw\",\r\n 0,\r\n 500,\r\n function () {\r\n screen6\r\n .select(\".innerRectLine\")\r\n .transition()\r\n .delay(0)\r\n .duration(200)\r\n .attr(\"opacity\", 1)\r\n .call(endAll, function () {\r\n screen6\r\n .select(\".GraphText\")\r\n .transition()\r\n .delay(0)\r\n .duration(500)\r\n .style(\"opacity\", 1)\r\n .call(endAll, function () {\r\n showImage(\r\n globeGroup,\r\n \"attention_graph\",\r\n \"draw\",\r\n 0,\r\n 500,\r\n function () {\r\n animateFocusRing(\r\n focusRingGroup,\r\n \"focusRing50\",\r\n 0,\r\n 500\r\n );\r\n animateFocusRing(\r\n focusRingGroup,\r\n \"focusRing51\",\r\n 0,\r\n 500\r\n );\r\n animateFocusRing(\r\n focusRingGroup,\r\n \"focusRing52\",\r\n 0,\r\n 500,\r\n function () {\r\n animateDocument(\r\n globeGroup,\r\n \"document-1\",\r\n 0,\r\n 1000,\r\n 420,\r\n 600,\r\n 0.5\r\n );\r\n animateDocument(\r\n globeGroup,\r\n \"document-2\",\r\n 300,\r\n 1300,\r\n 420,\r\n 600,\r\n 0.5,\r\n function () {\r\n operateLine(\r\n lineGroup,\r\n \"process-line-0\",\r\n \"draw\",\r\n 0,\r\n 200,\r\n function () {\r\n globeGroup\r\n .select(\r\n \".screen-7-output-box\"\r\n )\r\n .transition()\r\n .delay(0)\r\n .duration(500)\r\n .style(\"opacity\", 1)\r\n .call(\r\n endAll,\r\n function () {\r\n operateLine(\r\n lineGroup,\r\n \"process-line-1\",\r\n \"draw\",\r\n 0,\r\n 200,\r\n function () {\r\n globeGroup\r\n .select(\r\n \".screen-7-driver-box\"\r\n )\r\n .transition()\r\n .delay(0)\r\n .duration(\r\n 500\r\n )\r\n .style(\r\n \"opacity\",\r\n 1\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n });\r\n });\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n });\r\n });\r\n }\r\n );\r\n }\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n baseImage = \"\";\r\n\r\n currentProcess.style(\"opacity\", 1);\r\n\r\n image.attr(\"xlink:href\", baseImage);\r\n\r\n currentProcess.attr(\"class\", \"screen-6-group\");\r\n initiateAnimation();\r\n },\r\n stopAnimation() {\r\n that.screen5visitno++;\r\n\r\n currentProcess.selectAll(\".animate\").interrupt();\r\n currentProcess.attr(\"class\", \"screen-6-group d-none\");\r\n\r\n dataGroup.select(\".forecastingEngineGroup\").interrupt();\r\n animateForecastingEngine(5, 0, 0, \"draw\", function () {});\r\n\r\n rectgroup.select(\".screen-5-RectText\").style(\"opacity\", 1);\r\n rectgroup.select(\".screen-5-TextRect\").style(\"opacity\", 1);\r\n rectgroup.select(\".screen-5-OuterRect\").style(\"opacity\", 1);\r\n\r\n screen6.select(\".InnerRect\").attr(\"opacity\", 1),\r\n screen6.select(\".InnerTextRect\").attr(\"opacity\", 1),\r\n screen6.select(\".InnerRectText\").attr(\"opacity\", 1),\r\n screen6.select(\".ShapAnalysisText\").style(\"opacity\", 1),\r\n screen6.select(\".innerRectLine\").attr(\"opacity\", 1),\r\n screen6.select(\".GraphText\").style(\"opacity\", 1),\r\n animateDocument(globeGroup, \"document-1\", 0, 500, 420, 600, 0.5),\r\n animateDocument(globeGroup, \"document-2\", 300, 800, 420, 600, 0.5),\r\n showImage(\r\n globeGroup,\r\n \"shap_analysis\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n showImage(globeGroup, \"shap_image\", \"draw\", 0, 0, function () {}),\r\n showImage(\r\n globeGroup,\r\n \"shap_analysis_output\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n showImage(\r\n globeGroup,\r\n \"attention_graph\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n operateLine(\r\n lineGroup,\r\n \"process-line-0\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n operateLine(\r\n lineGroup,\r\n \"process-line-1\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n foreigndataobject.dataContent.forEach((content, index) => {\r\n globeGroup\r\n .select(\".\" + content.background.class)\r\n .style(\"opacity\", 1);\r\n }),\r\n currentProcess.style(\"opacity\", 0);\r\n\r\n that.animationStarted.screen5 = true;\r\n },\r\n };\r\n })();\r\n\r\n const screenSix = (() => {\r\n const currentProcess = dataGroup\r\n .append(\"g\")\r\n .attr(\"id\", \"screen-7-group\")\r\n .attr(\"class\", \"screen-7-group d-none\")\r\n .style(\"opacity\", 1);\r\n\r\n const globeGroup = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"globe-group\")\r\n .attr(\"class\", \"globe-group\");\r\n\r\n const lineGroup = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"output-and-benifits-line-group\")\r\n .attr(\"class\", \"output-and-benifits-line-group\");\r\n\r\n const circleGroup = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"output-and-benifits-circle-group\")\r\n .attr(\"class\", \"output-and-benifits-circle-group\");\r\n\r\n const rectGroup = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"output-and-benifits-rect-group\")\r\n .attr(\"class\", \"output-and-benifits-rect-group\");\r\n\r\n const titleGroup = currentProcess\r\n .append(\"g\")\r\n .attr(\"id\", \"output-and-benifits-title-group\")\r\n .attr(\"class\", \"output-and-benifits-title-group\");\r\n\r\n const outerRadius = 20;\r\n const innerRadius = 12;\r\n\r\n const outerCircle = (outerRadius, innerRadius) => {\r\n return d3.svg\r\n .arc()\r\n .innerRadius(innerRadius)\r\n .outerRadius(outerRadius)\r\n .startAngle(0)\r\n .endAngle(360);\r\n };\r\n\r\n const inneCircle = (outerRadius, innerRadius) => {\r\n return d3.svg\r\n .arc()\r\n .innerRadius(innerRadius)\r\n .outerRadius(outerRadius)\r\n .startAngle(0)\r\n .endAngle(360);\r\n };\r\n\r\n const lineAttribues = [\r\n {\r\n id: \"line1\",\r\n sourceX: 820,\r\n sourceY: 340,\r\n angle: 180 - 35,\r\n length: 180,\r\n type: \"Impacts\",\r\n boldcomment: \"+$28M \",\r\n comment: \"Annually Incremental\",\r\n commentBoxWidth: 270,\r\n },\r\n {\r\n id: \"line2\",\r\n sourceX: 750,\r\n sourceY: 450,\r\n angle: 180 - 9,\r\n length: 230,\r\n type: \"Impacts\",\r\n boldcomment: \"-4x \",\r\n comment: \"Reduction in cost vs. Product Testing Experiment\",\r\n commentBoxWidth: 255,\r\n },\r\n {\r\n id: \"line3\",\r\n sourceX: 760,\r\n sourceY: 550,\r\n angle: -180 + 11,\r\n length: 230,\r\n type: \"Impacts\",\r\n boldcomment: \"20% \",\r\n comment:\r\n \"Predicted improvement in Sales due to Recommended Product Modifications\",\r\n commentBoxWidth: 385,\r\n },\r\n {\r\n id: \"line4\",\r\n sourceX: 840,\r\n sourceY: 660,\r\n angle: -180 + 35,\r\n length: 180,\r\n type: \"Impacts\",\r\n boldcomment: \"4x \",\r\n comment:\r\n \"Reduction in Time required to arrive at critical insights vs. traditional MR\",\r\n commentBoxWidth: 345,\r\n },\r\n\r\n {\r\n id: \"line5\",\r\n sourceX: 1080,\r\n sourceY: 350,\r\n angle: 35,\r\n length: 180,\r\n type: \"Benefits\",\r\n comment:\r\n \"Prioritizing of top profiles driving growth and launch success\",\r\n commentBoxWidth: 300,\r\n },\r\n {\r\n id: \"line6\",\r\n sourceX: 1135,\r\n sourceY: 455,\r\n angle: 9,\r\n length: 230,\r\n type: \"Benefits\",\r\n comment:\r\n \"Estimation of incremental value of top profiles in current categories\",\r\n commentBoxWidth: 307,\r\n },\r\n {\r\n id: \"line7\",\r\n sourceX: 1130,\r\n sourceY: 550,\r\n angle: -11,\r\n length: 230,\r\n type: \"Benefits\",\r\n comment: \"Projection of top profile performances for upcoming year\",\r\n commentBoxWidth: 295,\r\n },\r\n {\r\n id: \"line8\",\r\n sourceX: 1060,\r\n sourceY: 650,\r\n angle: -35,\r\n length: 180,\r\n type: \"Benefits\",\r\n comment:\r\n \"The client can make an informed decision for their product development roadmap more accurately, cost effciently & quickly\",\r\n commentBoxWidth: 390,\r\n },\r\n ];\r\n lineAttribues.forEach((line) => {\r\n lineGroup\r\n .append(\"line\")\r\n .attr(\"class\", line.id + \" animate\")\r\n .style(\"stroke\", \"#ffffff\")\r\n .style(\"stroke-width\", 1)\r\n .attr(\"x1\", line.sourceX)\r\n .attr(\"y1\", line.sourceY)\r\n .attr(\"x2\", line.sourceX)\r\n .attr(\"y2\", line.sourceY);\r\n\r\n const cx =\r\n line.sourceX +\r\n (line.length + 20) * Math.cos((line.angle * Math.PI) / 180);\r\n const cy =\r\n line.sourceY -\r\n (line.length + 20) * Math.sin((line.angle * Math.PI) / 180);\r\n circleGroup\r\n .append(\"path\")\r\n .attr(\"class\", \"OuterCircle-\" + line.id + \" animate\")\r\n .attr(\"d\", outerCircle(19, 19))\r\n .attr(\"fill\", \"#ffffff\")\r\n .attr(\"transform\", `translate(${cx},${cy})`);\r\n\r\n circleGroup\r\n .append(\"path\")\r\n .attr(\"class\", \"InnerCircle-\" + line.id + \" animate\")\r\n .attr(\"d\", inneCircle(0, 0))\r\n .attr(\"fill\", \"#ffffff\")\r\n .attr(\"transform\", `translate(${cx},${cy})`);\r\n\r\n const rectWidth = line.commentBoxWidth;\r\n const yPadding = 15;\r\n const xPadding = 15;\r\n const cornerRadius = 10;\r\n const rectX =\r\n line.type === \"Benefits\"\r\n ? cx + outerRadius + 20\r\n : cx - rectWidth - outerRadius - 20;\r\n const rectY = cy - 30;\r\n var rect = rectGroup\r\n .append(\"rect\")\r\n .attr(\"class\", \"Rect-\" + line.id + \" animate\")\r\n .style(\"fill\", line.type === \"Benefits\" ? \"#7151B1\" : \"#906EDB\")\r\n .attr(\"x\", rectX)\r\n .attr(\"y\", rectY)\r\n .attr(\"rx\", cornerRadius)\r\n .attr(\"ry\", cornerRadius)\r\n .attr(\"width\", rectWidth)\r\n .attr(\"height\", 100)\r\n .style(\"opacity\", 0);\r\n\r\n var txt = rectGroup\r\n .append(\"text\")\r\n .attr(\"class\", \"Text-\" + line.id + \" animate\")\r\n .text(\r\n line.type === \"Impacts\"\r\n ? line.boldcomment + line.comment\r\n : line.comment\r\n )\r\n .attr(\"x\", rectX + xPadding)\r\n .attr(\"y\", rectY + 3 + yPadding)\r\n .attr(\"dy\", \".71em\")\r\n .style(\"fill\", \"white\")\r\n .style(\"font-size\", \"18px\")\r\n .call(this.wrap, rectWidth - 2 * xPadding, rectX + xPadding)\r\n .style(\"opacity\", 0);\r\n\r\n var height = txt.node().getBBox().height + 2 * yPadding;\r\n txt\r\n .attr(\"y\", cy - height / 2 + 3 + yPadding)\r\n .call(this.wrap, rectWidth - 2 * xPadding, rectX + xPadding);\r\n rect.attr(\"height\", height).attr(\"y\", cy - height / 2);\r\n });\r\n\r\n titleGroup\r\n .append(\"text\")\r\n .attr(\"class\", \"ImpactTitleText animate\")\r\n .text(\"Impact\")\r\n .attr(\"x\", 500)\r\n .attr(\"y\", 130)\r\n .style(\"fill\", \"white\")\r\n .style(\"font-size\", \"30px\")\r\n .attr(\"opacity\", 0);\r\n\r\n titleGroup\r\n .append(\"text\")\r\n .attr(\"class\", \"BenefitsTitleText animate\")\r\n .text(\"Benefits\")\r\n .attr(\"x\", 1300)\r\n .attr(\"y\", 130)\r\n .style(\"fill\", \"white\")\r\n .style(\"font-size\", \"30px\")\r\n .attr(\"opacity\", 0);\r\n\r\n titleGroup\r\n .append(\"text\")\r\n .attr(\"class\", \"EngineTitleText animate\")\r\n .text(\"Forecasting Engine\")\r\n .attr(\"x\", 845)\r\n .attr(\"y\", 750)\r\n .style(\"fill\", \"white\")\r\n .style(\"font-size\", \"23px\")\r\n .attr(\"opacity\", 0);\r\n\r\n const dataSummaryData = {\r\n dataContent: [\r\n {\r\n background: {\r\n id: \"impact-benefits-symbol\",\r\n width: 70,\r\n height: 65,\r\n src: \"assets/images/atlas-intelligence-kraft/symbol.svg\",\r\n x: 910,\r\n y: 460,\r\n finalX: 910,\r\n finalY: 460,\r\n class: \"impact-benefits-symbol\",\r\n s: 1,\r\n o: 0,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n dataSummaryData.dataContent.forEach((content, index) => {\r\n const group = globeGroup\r\n .append(\"g\")\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1,\r\n })\r\n .attr({\r\n class: `screen-7 screen-7-group-${index}`,\r\n id: `screen-7-group-${index}`,\r\n transform: (d: any) => `translate(${d.x}, ${d.y}) scale(1)`,\r\n })\r\n .style(\"opacity\", (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n });\r\n\r\n function animateEngineTitleText(\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) {\r\n titleGroup\r\n .select(\".EngineTitleText\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"opacity\", operation === \"draw\" ? 1 : 0)\r\n .call(endAll, cb);\r\n }\r\n\r\n function animateImpactTitleText(\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) {\r\n titleGroup\r\n .select(\".ImpactTitleText\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"opacity\", operation === \"draw\" ? 1 : 0)\r\n .call(endAll, cb);\r\n }\r\n\r\n function animateBenifitsTitleText(\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) {\r\n titleGroup\r\n .select(\".BenefitsTitleText\")\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\"opacity\", operation === \"draw\" ? 1 : 0)\r\n .call(endAll, cb);\r\n }\r\n\r\n function ainimateImpacts(\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) {\r\n lineAttribues.forEach((line, i) => {\r\n if (line.type === \"Impacts\") {\r\n lineGroup\r\n .select(\".\" + line.id)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\r\n \"x2\",\r\n line.sourceX +\r\n line.length * Math.cos((line.angle * Math.PI) / 180)\r\n )\r\n .attr(\r\n \"y2\",\r\n line.sourceY -\r\n line.length * Math.sin((line.angle * Math.PI) / 180)\r\n )\r\n .call(endAll, function () {\r\n circleGroup\r\n .select(\".InnerCircle-\" + line.id)\r\n .transition()\r\n .duration(100)\r\n .attr(\"d\", inneCircle(12, 0))\r\n .call(endAll, () => {\r\n circleGroup\r\n .select(\".OuterCircle-\" + line.id)\r\n .transition()\r\n .duration(100)\r\n .attr(\"d\", outerCircle(20, 19))\r\n .call(endAll, () => {\r\n rectGroup\r\n .select(\".Rect-\" + line.id)\r\n .transition()\r\n .duration(100)\r\n .style(\"opacity\", 1);\r\n // .call(endAll, () => {\r\n rectGroup\r\n .select(\".Text-\" + line.id)\r\n .transition()\r\n .duration(100)\r\n .style(\"opacity\", 1)\r\n .call(\r\n endAll,\r\n line.id === \"line4\" ? cb : function () {}\r\n );\r\n // });\r\n });\r\n });\r\n });\r\n delay += duration + 400;\r\n }\r\n });\r\n }\r\n\r\n function animateBenefits(\r\n delay = 0,\r\n duration,\r\n operation: \"draw\" | \"hide\",\r\n cb = function () {}\r\n ) {\r\n lineAttribues.forEach((line, i) => {\r\n if (line.type === \"Benefits\") {\r\n lineGroup\r\n .select(\".\" + line.id)\r\n .transition()\r\n .delay(delay)\r\n .duration(duration)\r\n .attr(\r\n \"x2\",\r\n line.sourceX +\r\n line.length * Math.cos((line.angle * Math.PI) / 180)\r\n )\r\n .attr(\r\n \"y2\",\r\n line.sourceY -\r\n line.length * Math.sin((line.angle * Math.PI) / 180)\r\n )\r\n .call(endAll, function () {\r\n circleGroup\r\n .select(\".InnerCircle-\" + line.id)\r\n .transition()\r\n .duration(100)\r\n .attr(\"d\", inneCircle(12, 0))\r\n .call(endAll, () => {\r\n circleGroup\r\n .select(\".OuterCircle-\" + line.id)\r\n .transition()\r\n .duration(100)\r\n .attr(\"d\", outerCircle(20, 19))\r\n .call(endAll, () => {\r\n rectGroup\r\n .select(\".Rect-\" + line.id)\r\n .transition()\r\n .duration(100)\r\n .style(\"opacity\", 1);\r\n // .call(endAll, () => {\r\n rectGroup\r\n .select(\".Text-\" + line.id)\r\n .transition()\r\n .duration(100)\r\n .style(\"opacity\", 1)\r\n .call(\r\n endAll,\r\n line.id === \"line8\" ? cb : function () {}\r\n );\r\n // });\r\n });\r\n });\r\n });\r\n delay += duration + 400;\r\n }\r\n });\r\n }\r\n\r\n function initiateAnimation() {\r\n const htmlDelayValue = 500;\r\n processGraph.style(\"opacity\", 0);\r\n focusrings.style(\"opacity\", 0);\r\n globeGroup.select(\".impact-benefits-symbol\").style(\"opacity\", 0);\r\n\r\n animateForecastingEngine(\r\n 6,\r\n 0,\r\n that.screen6visitno > 0 ? 0 : 500,\r\n \"draw\",\r\n function () {\r\n showImage(\r\n globeGroup,\r\n \"impact-benefits-symbol\",\r\n \"draw\",\r\n 0,\r\n that.screen6visitno > 0 ? 0 : 200,\r\n function () {\r\n animateEngineTitleText(\r\n 0,\r\n that.screen6visitno > 0 ? 0 : 200,\r\n \"draw\",\r\n function () {\r\n animateImpactTitleText(\r\n 0,\r\n that.screen6visitno > 0 ? 0 : 200,\r\n \"draw\",\r\n function () {\r\n ainimateImpacts(\r\n 0,\r\n that.screen6visitno > 0 ? 0 : 100,\r\n \"draw\",\r\n function () {\r\n animateBenifitsTitleText(\r\n 0,\r\n that.screen6visitno > 0 ? 0 : 200,\r\n \"draw\",\r\n function () {\r\n animateBenefits(\r\n 0,\r\n that.screen6visitno > 0 ? 0 : 100,\r\n \"draw\",\r\n function () {}\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n baseImage = \"\";\r\n\r\n currentProcess.style(\"opacity\", 1);\r\n\r\n image.attr(\"xlink:href\", baseImage);\r\n\r\n currentProcess.attr(\"class\", \"screen-7-group\");\r\n initiateAnimation();\r\n },\r\n stopAnimation() {\r\n that.screen6visitno++;\r\n currentProcess.attr(\"class\", \"screen-7-group d-none\");\r\n\r\n currentProcess.selectAll(\".animate\").interrupt();\r\n\r\n showImage(\r\n globeGroup,\r\n \"impact-benefits-symbol\",\r\n \"draw\",\r\n 0,\r\n 0,\r\n function () {}\r\n ),\r\n dataGroup.select(\".forecastingEngineGroup\").interrupt();\r\n animateForecastingEngine(6, 0, 1000, \"draw\", function () {});\r\n\r\n titleGroup.select(\".EngineTitleText\").attr(\"opacity\", 1),\r\n titleGroup.select(\".ImpactTitleText\").attr(\"opacity\", 1),\r\n titleGroup.select(\".BenefitsTitleText\").attr(\"opacity\", 1),\r\n lineAttribues.forEach((line, i) => {\r\n lineGroup\r\n .select(\".\" + line.id)\r\n .attr(\r\n \"x2\",\r\n line.sourceX +\r\n line.length * Math.cos((line.angle * Math.PI) / 180)\r\n )\r\n .attr(\r\n \"y2\",\r\n line.sourceY -\r\n line.length * Math.sin((line.angle * Math.PI) / 180)\r\n );\r\n\r\n circleGroup.interrupt(\r\n circleGroup\r\n .select(\".OuterCircle-\" + line.id)\r\n .attr(\"d\", outerCircle(20, 19)),\r\n\r\n circleGroup\r\n .select(\".InnerCircle-\" + line.id)\r\n .attr(\"d\", inneCircle(12, 0))\r\n );\r\n\r\n rectGroup.interrupt(\r\n rectGroup.select(\".Rect-\" + line.id).style(\"opacity\", 1),\r\n\r\n rectGroup.select(\".Text-\" + line.id).style(\"opacity\", 1)\r\n );\r\n });\r\n\r\n currentProcess.transition().style(\"opacity\", 0);\r\n\r\n that.animationStarted.screen5 = true;\r\n },\r\n };\r\n })();\r\n\r\n const { resize, heightAspect, widthAspect } = this._responsivefy(svg, true);\r\n return {\r\n resize() {\r\n const aspect = resize();\r\n that.scaleXValue = aspect.widthAspect;\r\n that.scaleYValue = aspect.heightAspect;\r\n return aspect;\r\n },\r\n screenOne,\r\n screenTwo,\r\n screenThree,\r\n screenFour,\r\n screenFive,\r\n screenSix,\r\n };\r\n }\r\n\r\n wrap(text, width, x) {\r\n text.each(function () {\r\n var text = d3.select(this);\r\n var words = text.text().split(/\\s+/).reverse();\r\n console.log(words, text.text());\r\n var word;\r\n var line = [];\r\n var lineNumber = 0;\r\n var lineHeight = 1.1;\r\n var y = text.attr(\"y\");\r\n var dy = parseFloat(text.attr(\"dy\"));\r\n var tspan = text\r\n .text(null)\r\n .append(\"tspan\")\r\n .attr(\"x\", x)\r\n .attr(\"y\", y)\r\n .attr(\"dy\", dy + \"em\");\r\n\r\n var tspanBold = tspan\r\n .append(\"tspan\")\r\n .attr(\"class\", \"bold\")\r\n .style(\"font-weight\", 500)\r\n .style('font-size',\"20px\");\r\n var tspanNormal = tspan.append(\"tspan\").attr(\"class\", \"normal\");\r\n while ((word = words.pop())) {\r\n if (word === \"-4x\" || word === \"+$28M\" || word === \"20%\" || word === \"4x\") {\r\n tspanBold.text(word + \" \");\r\n } else {\r\n line.push(word);\r\n tspanNormal.text(line.join(\" \"));\r\n\r\n if (tspan.node().getComputedTextLength() > width) {\r\n line.pop();\r\n tspanNormal.text(line.join(\" \") + \" \");\r\n\r\n line = [word];\r\n tspan = text\r\n .append(\"tspan\")\r\n .attr(\"x\", x)\r\n .attr(\"y\", y)\r\n .attr(\"dy\", ++lineNumber * lineHeight + dy + \"em\");\r\n tspanBold = tspan.append(\"tspan\");\r\n tspanNormal = tspan.append(\"tspan\").text(line);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n onAnimationEnd() {\r\n d3.selectAll(\"#area1\").attr(\"opacity\", 0);\r\n d3.selectAll(\"#area2\").attr(\"opacity\", 0);\r\n d3.selectAll(\"#area3\").attr(\"opacity\", 0);\r\n }\r\n\r\n addClassToDom(selector, className, type = \"id\") {\r\n if (type == \"id\") d3.select(`#${selector}`).classed(className, true);\r\n else d3.select(`.${selector}`).classed(className, true);\r\n }\r\n\r\n removeClassFromDom(selector, className, type = \"id\") {\r\n if (type == \"id\") d3.select(`#${selector}`).classed(className, false);\r\n else d3.select(`.${selector}`).classed(className, false);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._renderer.removeClass(document.body, \"atlas-intelligence-kraft\");\r\n }\r\n}\r\n","module.exports = \".yAxis path {\\r\\n stroke-width: 1;\\r\\n stroke: #b8b8b8;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9hdGxhcy1pbnRlbGxpZ2VuY2Uta3JhZnQvcGxheWdyb3VuZC1kaWFsb2cvcGxheWdyb3VuZC1kaWFsb2cuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGdCQUFnQjtFQUNoQixnQkFBZ0I7Q0FDakIiLCJmaWxlIjoic3JjL2FwcC93aWRnZXRzL2F0bGFzLWludGVsbGlnZW5jZS1rcmFmdC9wbGF5Z3JvdW5kLWRpYWxvZy9wbGF5Z3JvdW5kLWRpYWxvZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnlBeGlzIHBhdGgge1xyXG4gIHN0cm9rZS13aWR0aDogMTtcclxuICBzdHJva2U6ICNiOGI4Yjg7XHJcbn1cclxuIl19 */\"","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Solution

\\r\\n

\\r\\n User inputs their new project concept ideas and recieve a projection of\\r\\n that profile’s performance across multiple sales metrices in real-time\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
User Inputs
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ category }}\\r\\n \\r\\n \\r\\n \\r\\n Select Category\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ subCategory }}\\r\\n \\r\\n \\r\\n Select Sub Category\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Scenario 1
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ s1_flavor }}\\r\\n \\r\\n \\r\\n Select Flavor\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ s1_protein }}\\r\\n \\r\\n \\r\\n Select Protein\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ s1_sweetner }}\\r\\n \\r\\n \\r\\n Select Sweetner\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ s1_fats }}\\r\\n \\r\\n \\r\\n Select Fats & Oils\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ s1_grains }}\\r\\n \\r\\n \\r\\n Select Grains & Flour\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ s1_wellness }}\\r\\n \\r\\n \\r\\n Select Wellness\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Scenario 2
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ s2_flavor }}\\r\\n \\r\\n \\r\\n Select Flavor\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ s2_protein }}\\r\\n \\r\\n \\r\\n Select Protein\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ s2_sweetner }}\\r\\n \\r\\n \\r\\n Select Sweetner\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ s2_fats }}\\r\\n \\r\\n \\r\\n Select Fats & Oils\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ s2_grains }}\\r\\n \\r\\n \\r\\n Select Grains & Flour\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ s2_wellness }}\\r\\n \\r\\n \\r\\n Select Wellness\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
Outputs
\\r\\n
\\r\\n
\\r\\n

Observations

\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{ currentWellness }} is recommended\\r\\n
  • \\r\\n
  • \\r\\n {{ currentGrain }} is a positive driver\\r\\n
  • \\r\\n
  • \\r\\n {{ currentSweetner }} has a Positive driver\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","import { Component, ElementRef, OnInit, ViewChild } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\ndeclare let d3: any;\r\nimport d3Tip from \"d3-tip\";\r\n@Component({\r\n selector: \"app-playground-dialog\",\r\n templateUrl: \"./playground-dialog.component.html\",\r\n styleUrls: [\"./playground-dialog.component.css\"],\r\n})\r\nexport class PlaygroundDialogComponent implements OnInit {\r\n public playgroundForm: FormGroup;\r\n public isFormSubmitted = false;\r\n public categories = [\"Bakery Products\"];\r\n public subCategories = [\"Cookies\"];\r\n public flavors = [\r\n \"chocolate liquor\",\r\n \"cocoa\",\r\n \"chocolate\",\r\n \"chocolate chip\",\r\n \"citric acid\",\r\n \"cocoa processed\",\r\n \"buttermilk\",\r\n \"coconut\",\r\n \"peanut butter\",\r\n \"peanut butter chocolate chip\",\r\n \"cinnamon\",\r\n \"chocolate flavor\",\r\n ];\r\n public proteines = [\r\n \"milk protein isolate\",\r\n \"sodium caseinate\",\r\n \"soy protein isolate\",\r\n \"whey\",\r\n \"whey protein concentrate\",\r\n \"whey protein isolate\",\r\n \"milk protein concentrate\",\r\n ];\r\n public sweetners = [\r\n \"corn syrup\",\r\n \"dextrose\",\r\n \"cane sugar\",\r\n \"fructose\",\r\n \"brown sugar\",\r\n \"glycerin\",\r\n \"invert sugar\",\r\n \"erythritol\",\r\n \"cane syrup\",\r\n \"barley malt extract\",\r\n \"glucose syrup\",\r\n ];\r\n public fats = [\r\n \"canola oil\",\r\n \"palm\",\r\n \"cocoa butter\",\r\n \"palm oil\",\r\n \"coconut oil\",\r\n \"sunflower oil\",\r\n \"soybean oil\",\r\n \"palm kernel oil\",\r\n ];\r\n public grains = [\r\n \"oat\",\r\n \"tapioca starch\",\r\n \"soybean\",\r\n \"unbleached wheat flour\",\r\n \"wheat starch\",\r\n \"peanut flour\",\r\n \"soy flour\",\r\n \"potato starch\",\r\n \"sunflower seed\",\r\n \"whole grain oat\",\r\n \"malted barley flour\",\r\n ];\r\n public wellnesses = [\r\n \"wellness_Carb Friendly\",\r\n \"wellness_No Added Salt\",\r\n \"wellness_Contains Healthy Fats\",\r\n \"wellness_Vegetarian (Derived)\",\r\n \"wellness_Vegan (Derived)\",\r\n \"wellness_Saturated Fat Free\",\r\n \"wellness_Omega 3 (Custom)\",\r\n \"wellness_100 Calories or Less\",\r\n \"wellness_Kosher\",\r\n \"wellness_Fat Free\",\r\n \"wellness_Certified Gluten Free\",\r\n \"wellness_Lifestyle - Protein\",\r\n \"wellness_Low Fat\",\r\n \"wellness_5 Ingredients or Less\",\r\n \"wellness_Very Low Sodium\",\r\n \"wellness_Sugar Free\",\r\n \"wellness_Whole Grain Stamp\",\r\n \"wellness_No Gluten Ingredients\",\r\n \"wellness_Lifestyle - Sugar\",\r\n \"wellness_Low Saturated Fat\",\r\n ];\r\n\r\n currentWellness = \"\";\r\n currentGrain = \"\";\r\n currentSweetner = \"\";\r\n\r\n constructor(private formBuilder: FormBuilder) {\r\n this.playgroundForm = formBuilder.group({\r\n category: [this.categories[0], Validators.required],\r\n subCategory: [this.subCategories[0], Validators.required],\r\n s1_flavor: [this.flavors[0], Validators.required],\r\n s1_protein: [this.proteines[0], Validators.required],\r\n s1_sweetner: [this.sweetners[0], Validators.required],\r\n s1_fats: [this.fats[0], Validators.required],\r\n s1_grains: [this.grains[0], Validators.required],\r\n s1_wellness: [this.wellnesses[0], Validators.required],\r\n s2_flavor: [this.flavors[1], Validators.required],\r\n s2_protein: [this.proteines[1], Validators.required],\r\n s2_sweetner: [this.sweetners[1], Validators.required],\r\n s2_fats: [this.fats[1], Validators.required],\r\n s2_grains: [this.grains[1], Validators.required],\r\n s2_wellness: [this.wellnesses[1], Validators.required],\r\n });\r\n }\r\n\r\n @ViewChild(\"playgroundCandleChart\") private chartContainer: ElementRef;\r\n groups: any;\r\n data: any[];\r\n svgDims = { width: 695.83, height: 344 };\r\n margin = { top: 90, right: 30, bottom: 50, left: 80 };\r\n xAxisMargin = { left: 70, right: 70 };\r\n contentDims = {\r\n width: this.svgDims.width - this.margin.left - this.margin.right,\r\n height: this.svgDims.height - this.margin.top - this.margin.bottom,\r\n };\r\n divIsEmpty = true;\r\n\r\n svg: any;\r\n\r\n runForecast() {\r\n console.log(this.playgroundForm);\r\n\r\n if (this.chartContainer.nativeElement.children.length > 0)\r\n while (this.chartContainer.nativeElement.children.length !== 0)\r\n this.chartContainer.nativeElement.children[0].remove();\r\n this.divIsEmpty = true;\r\n setTimeout(() => {\r\n this.initiateGraph();\r\n this.divIsEmpty = false;\r\n }, 500);\r\n }\r\n\r\n ngOnInit() {\r\n this.divIsEmpty = true;\r\n this.initiateGraph();\r\n this.divIsEmpty = false;\r\n }\r\n\r\n initiateGraph() {\r\n this.svgDims.width = this.chartContainer.nativeElement.offsetWidth;\r\n\r\n this.contentDims = {\r\n width: this.svgDims.width - this.margin.left - this.margin.right,\r\n height: this.svgDims.height - this.margin.top - this.margin.bottom,\r\n };\r\n this.createData();\r\n this.createGraph();\r\n }\r\n\r\n createData() {\r\n let max = 35;\r\n let min = 15;\r\n let x = Math.floor(Math.random() * (max - min + 1)) + min;\r\n let y = Math.floor(Math.random() * (max - min + 1)) + min;\r\n let open = Math.min(x, y);\r\n let close = Math.max(x, y);\r\n\r\n let maxRand = 5;\r\n let minRand = -5;\r\n let randomInt =\r\n Math.floor(Math.random() * (maxRand - minRand + 1)) + minRand;\r\n\r\n console.log(this.playgroundForm.value);\r\n if (randomInt > 0) {\r\n this.currentGrain = this.playgroundForm.value[\"s2_grains\"];\r\n this.currentSweetner = this.playgroundForm.value[\"s2_sweetner\"];\r\n this.currentWellness = this.playgroundForm.value[\"s2_wellness\"];\r\n } else {\r\n this.currentGrain = this.playgroundForm.value[\"s1_grains\"];\r\n this.currentSweetner = this.playgroundForm.value[\"s1_sweetner\"];\r\n this.currentWellness = this.playgroundForm.value[\"s1_wellness\"];\r\n }\r\n\r\n this.data = [\r\n {\r\n name: \"Scenario1\",\r\n color: \"#EAA749\",\r\n low: open - 2,\r\n open: open,\r\n close: close,\r\n high: close + 2,\r\n },\r\n {\r\n name: \"Scenario2\",\r\n color: \"#0BE1F0\",\r\n low: open - 2 + randomInt,\r\n open: open + randomInt,\r\n close: close + randomInt,\r\n high: close + 2 + randomInt,\r\n },\r\n ];\r\n }\r\n\r\n createGraph() {\r\n setTimeout(() => {\r\n this.createSvg();\r\n this.createChart();\r\n }, 100);\r\n }\r\n\r\n createSvg() {\r\n this.svg = d3\r\n .select(this.chartContainer.nativeElement)\r\n .append(\"svg\")\r\n .attr(\"width\", this.svgDims.width)\r\n .attr(\"height\", this.svgDims.height)\r\n .append(\"g\")\r\n .attr(\r\n \"transform\",\r\n \"translate(\" + this.margin.left + \",\" + this.margin.top + \")\"\r\n );\r\n }\r\n\r\n createXAxis() {\r\n let xLabels = [\"Scenario1\", \"Scenario2\"];\r\n let xAxis = d3.scale\r\n .ordinal()\r\n .domain(xLabels)\r\n .rangeRoundBands([0, this.contentDims.width], 0.8);\r\n\r\n let xScale = this.svg\r\n .append(\"g\")\r\n .attr(\"transform\", \"translate(0,\" + this.contentDims.height + \")\")\r\n .call(d3.svg.axis().scale(xAxis).outerTickSize(0));\r\n\r\n xScale\r\n .selectAll(\".domain\")\r\n .attr(\"fill\", \"none\")\r\n .attr(\"stroke-width\", 1)\r\n .attr(\"stroke\", \"white\");\r\n\r\n xScale.selectAll(\".tick text\").attr(\"fill\", \"#ffffff\");\r\n\r\n return xAxis;\r\n }\r\n\r\n createYAxis() {\r\n let yAxis = d3.scale\r\n .linear()\r\n .domain([0, 40])\r\n .range([this.contentDims.height, 0]);\r\n\r\n let yScale = this.svg.append(\"g\").call(\r\n d3.svg\r\n .axis()\r\n .scale(yAxis)\r\n .orient(\"left\")\r\n .ticks(5)\r\n .outerTickSize(0)\r\n .tickFormat((d) => {\r\n console.log(d);\r\n return d !== 0 ? \"$\" + d + \"M\" : d;\r\n })\r\n );\r\n\r\n yScale\r\n .selectAll(\".domain\")\r\n .attr(\"fill\", \"none\")\r\n .attr(\"stroke-width\", 1)\r\n .attr(\"stroke\", \"white\");\r\n\r\n yScale\r\n .selectAll(\".tick line\")\r\n .attr({\r\n fill: \"none\",\r\n \"stroke-width\": 1,\r\n stroke: \"white\",\r\n })\r\n .attr(\"x2\", this.contentDims.width);\r\n\r\n yScale.selectAll(\".tick text\").attr(\"fill\", \"#ffffff\");\r\n\r\n return yAxis;\r\n }\r\n\r\n createTooltip() {\r\n let tip = d3Tip()\r\n .attr(\"class\", \"d3-tip\")\r\n .style(\"z-index\", \"999999999\")\r\n .html(\r\n (d) =>\r\n `
\r\n
High:- ${this.data[d].high}M
\r\n
Low:- ${this.data[d].low}M
\r\n
`\r\n );\r\n return tip;\r\n }\r\n\r\n createRects(xAxis, yAxis, tip) {\r\n this.svg\r\n .selectAll(\"rects\")\r\n .data(this.data)\r\n .enter()\r\n .append(\"rect\")\r\n .attr(\"x\", (d) => {\r\n console.log(d);\r\n return xAxis(d.name);\r\n })\r\n .attr(\"y\", (d) => yAxis(Math.max(d.open, d.close)))\r\n .attr(\"width\", 30)\r\n .attr(\"fill\", (d) => d.color)\r\n .on(\"mouseover\", function (event, d) {\r\n console.log(d);\r\n tip.show(d, this);\r\n })\r\n .on(\"mouseout\", function (event, d) {\r\n tip.hide(d, this);\r\n })\r\n .attr(\"height\", 0)\r\n .transition()\r\n .delay(550)\r\n .duration(200)\r\n .attr(\r\n \"height\",\r\n (d) =>\r\n yAxis(Math.min(d.open, d.close)) - yAxis(Math.max(d.open, d.close))\r\n );\r\n }\r\n\r\n createTitle(text) {\r\n this.svg\r\n .append(\"text\")\r\n .attr(\"y\", -50)\r\n .attr(\"x\", -this.margin.left + 20)\r\n .style(\"font-size\", \"15px\")\r\n .text(text)\r\n .attr(\"fill\", \"#ffffff\");\r\n }\r\n\r\n createYAxisLabel(text) {\r\n this.svg\r\n .append(\"text\")\r\n .attr(\"text-anchor\", \"middle\")\r\n .attr(\"transform\", \"rotate(-90)\")\r\n .attr(\"y\", -this.margin.left + 25)\r\n .attr(\"x\", -(this.contentDims.height / 2))\r\n .style(\"font-size\", \"15px\")\r\n .text(text)\r\n .attr(\"fill\", \"#ffffff\");\r\n }\r\n\r\n createStems(xAxis, yAxis) {\r\n for (var i = 0; i < this.data.length; i++) {\r\n var x1 = xAxis(this.data[i].name) + 30 / 2;\r\n var x2 = xAxis(this.data[i].name) + 30 / 2;\r\n var xMid = (x1 + x2) / 2;\r\n\r\n var y1 = yAxis(this.data[i].high);\r\n var y2 = yAxis(this.data[i].low);\r\n var yMid = (y1 + y2) / 2;\r\n\r\n var color = this.data[i].color;\r\n\r\n this.svg\r\n .append(\"line\")\r\n .attr(\"fill\", \"none\")\r\n .attr(\"stroke\", color)\r\n .attr(\"stroke-width\", 2)\r\n .attr(\"x1\", xMid)\r\n .attr(\"y1\", yMid)\r\n .attr(\"x2\", xMid)\r\n .attr(\"y2\", yMid)\r\n .transition()\r\n .delay(600)\r\n .duration(250)\r\n .attr(\"x2\", x1)\r\n .attr(\"y2\", y1);\r\n\r\n this.svg\r\n .append(\"line\")\r\n .attr(\"fill\", \"none\")\r\n .attr(\"stroke\", color)\r\n .attr(\"stroke-width\", 2)\r\n .attr(\"x1\", xMid)\r\n .attr(\"y1\", yMid)\r\n .attr(\"x2\", xMid)\r\n .attr(\"y2\", yMid)\r\n .transition()\r\n .delay(600)\r\n .duration(250)\r\n .attr(\"x2\", x2)\r\n .attr(\"y2\", y2);\r\n }\r\n }\r\n\r\n createChart() {\r\n let xAxis = this.createXAxis();\r\n let yAxis = this.createYAxis();\r\n let tip = this.createTooltip();\r\n this.svg.call(tip);\r\n\r\n this.createTitle(\"Year 1 Launch Sales\");\r\n this.createYAxisLabel(\"Forecasted Annual Sales\");\r\n this.createRects(xAxis, yAxis, tip);\r\n this.createStems(xAxis, yAxis);\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\"","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { WidgetService } from '../widgets.service';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-combo-bar-chart',\r\n templateUrl: './combo-bar-chart.component.html'\r\n})\r\nexport class ComboBarChartComponent implements OnInit {\r\n @ViewChild('barchart') barChart;\r\n @Input() widgetData;\r\n data;\r\n\r\n options = {\r\n hAxis: { title: 'Year' },\r\n height: 300,\r\n seriesType: 'bars',\r\n series: { 5: { type: 'line' } }\r\n };\r\n barChartData;\r\n filterData: any = {\r\n year: [],\r\n drug: []\r\n };\r\n\r\n constructor(private widgetService: WidgetService) {\r\n this.widgetService.triggerDataChangeForLineBarChart.subscribe((updatedDataInfo) => {\r\n // alert(\"Inside combo bar chart\");\r\n if (updatedDataInfo.inputDetails.filterOn === 'drug') {\r\n this.filterData.drug = updatedDataInfo.formField.filterField;\r\n } else if (updatedDataInfo.inputDetails.filterOn === 'year') {\r\n this.filterData.year = updatedDataInfo.formField.filterField;\r\n }\r\n if (this.filterData.year.length || this.filterData.drug.length) {\r\n // if ((updatedDataInfo.formField.uniqueName5 && updatedDataInfo.formField.uniqueName5.length)\r\n // || (updatedDataInfo.formField.uniqueName55 && updatedDataInfo.formField.uniqueName55.length)) {\r\n this.updateChart(updatedDataInfo);\r\n } else {\r\n this.resetToOrignal();\r\n }\r\n });\r\n }\r\n\r\n updateChart(updatedDataInfo) {\r\n /*let dataTable = this.barChart.wrapper.getDataTable();\r\n let selectedDataColumn = dataTable.getColumnIndex(updatedDataInfo.formField.uniqueName5);\r\n let excludeColumns = [0, selectedDataColumn];\r\n let totalNumberOfColumns = dataTable.getNumberOfColumns();\r\n\r\n for(let index = 0; index < totalNumberOfColumns; index++) {\r\n if(excludeColumns.indexOf(index) == -1 ) {\r\n dataTable.removeColumn(+index)\r\n }\r\n }\r\n this.barChart.redraw();\r\n console.log(dataTable.getColumnIndex(updatedDataInfo.formField.uniqueName5));\r\n console.log(dataTable.getNumberOfColumns());*/\r\n /* console.log(\"defore\")\r\n console.log(this.barChartData.dataTable);\r\n this.barChartData = Object.create(this.barChartData);\r\n // let excludeColumns = [0, selectedDataColumn];\r\n let dataTable = this.barChart.wrapper.getDataTable();\r\n let selectedDataColumn = dataTable.getColumnIndex(updatedDataInfo.formField.uniqueName5);\r\n let totalNumberOfColumns = dataTable.getNumberOfColumns();\r\n let totalNumberOfRows = dataTable.getNumberOfRows() + 1;\r\n // Add one as it excludes first heading row\r\n let excludeColumns = [0, selectedDataColumn];\r\n console.log(\"selectedDataColumn\", selectedDataColumn);\r\n console.log(\"totalNumberOfColumns\", totalNumberOfColumns);\r\n console.log(\"totalNumberOfRows\", totalNumberOfRows);\r\n console.log(excludeColumns);\r\n for (let rows = 0; rows < totalNumberOfRows; rows++) {\r\n // console.log(\"rows\", rows, this.barChartData.dataTable[rows]);\r\n for (let col = 0; col < totalNumberOfColumns; col++) {\r\n // console.log(\"col\", col, this.barChartData.dataTable[rows][col]);\r\n console.log(\"Col\", col);\r\n console.log(excludeColumns.indexOf(col) == -1);\r\n if(excludeColumns.indexOf(col) == -1) {\r\n this.barChartData.dataTable[rows].splice(col, 1);\r\n }\r\n }\r\n }*/\r\n\r\n /*for (let rows = 0; rows < totalNumberOfRows; rows++) {\r\n for (let col = 0; col < totalNumberOfColumns; col++) {\r\n // console.log(\"col\", col, this.barChartData.dataTable[rows][col]);\r\n console.log(\"Col\", col);\r\n\r\n console.log(excludeColumns.indexOf(col) == -1);\r\n if(excludeColumns.indexOf(col) == -1) {\r\n this.barChartData.dataTable[rows].splice(col, 1);\r\n }\r\n }\r\n }*/\r\n const updatedDataSet = [];\r\n // if (updatedDataInfo.formField.uniqueName5 && updatedDataInfo.formField.uniqueName5.length) {\r\n if (this.filterData.drug.length) {\r\n const numberOfRows = this.data.length;\r\n // const numberOfColumns = this.data[0].length;\r\n // let selectedColumnIndex = this.data[0].indexOf(updatedDataInfo.formField.uniqueName5);\r\n // let selectedColumnIndexs = this.findIndexesOfElements(updatedDataInfo.formField.uniqueName5, this.data[0]);\r\n const selectedColumnIndexs = this.findIndexesOfElements(this.filterData.drug, this.data[0]);\r\n\r\n for (let row = 0; row < numberOfRows; row++) {\r\n const newRow = [];\r\n newRow.push(this.data[row][0]); // This is for adding year column value by default\r\n for (let col = 0; col < selectedColumnIndexs.length; col++) {\r\n newRow.push(this.data[row][selectedColumnIndexs[col]]); // This is for adding selected columns value\r\n }\r\n updatedDataSet.push(newRow);\r\n }\r\n this.barChartData = Object.create(this.barChartData);\r\n this.barChartData.dataTable = updatedDataSet;\r\n }\r\n\r\n // if (updatedDataInfo.formField.uniqueName55 && updatedDataInfo.formField.uniqueName55.length) {\r\n if (this.filterData.year.length) {\r\n const getFromDataSet = updatedDataSet.length ? updatedDataSet : this.data;\r\n const numberOfRows = getFromDataSet.length;\r\n const numberOfColumns = getFromDataSet[0].length;\r\n const updatedDataSetByYear = [];\r\n // console.log(getFromDataSet);\r\n updatedDataSetByYear.push(getFromDataSet[0]);\r\n for (let row = 1; row < getFromDataSet.length; row++) {\r\n // newRow.push(this.data[row][0]);\r\n // newRow.push(this.data[row][selectedColumnIndex]);\r\n // updatedDataSetByYear.push(newRow);\r\n // for(let col = 0; col < numberOfCols; col++) {\r\n // if (updatedDataInfo.formField.uniqueName55.indexOf(getFromDataSet[row][0]) > -1) {\r\n if (this.filterData.year.indexOf(getFromDataSet[row][0]) > -1) {\r\n // getFromDataSet.splice(row, 1);\r\n updatedDataSetByYear.push(typeof getFromDataSet[row] === 'undefined' ? '' : getFromDataSet[row]);\r\n }\r\n // }\r\n }\r\n this.barChartData = Object.create(this.barChartData);\r\n this.barChartData.dataTable = updatedDataSetByYear;\r\n }\r\n // console.log(this.barChartData.dataTable)\r\n\r\n }\r\n\r\n findIndexesOfElements(indexOfElements, fromArray) {\r\n const foundIndexes = [];\r\n for (let index = 0; index < fromArray.length; index++) {\r\n if (indexOfElements.indexOf(fromArray[index]) > -1) {\r\n foundIndexes.push(index);\r\n }\r\n }\r\n\r\n return foundIndexes;\r\n }\r\n\r\n resetToOrignal() {\r\n this.barChartData = Object.create(this.barChartData);\r\n this.barChartData.dataTable = this.data;\r\n }\r\n\r\n ngOnInit() {\r\n // console.log(\"-----------Combo chart-------\");\r\n // console.log(this.data);\r\n this.data = this.widgetData.data;\r\n\r\n this.barChartData = {\r\n chartType: 'ComboChart',\r\n dataTable: this.data,\r\n options: this.options\r\n };\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvY29weS10by1jbGlwYm9hcmQvY29weS10by1jbGlwYm9hcmQuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \" \\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-copy-to-clipboard',\r\n templateUrl: './copy-to-clipboard.component.html',\r\n styleUrls: ['./copy-to-clipboard.component.css']\r\n})\r\nexport class CopyToClipboardComponent implements OnInit {\r\n\r\n @Input() data;\r\n @Output() public onCopied = new EventEmitter();\r\n isClipBoardCopied = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n copyDataToClipBoard(inputElement) {\r\n // console.log(\"Inside copyDataToClipBoard: \", this.data.value);\r\n // this.userName = Math.floor(Date.now() * Math.random());\r\n inputElement.select();\r\n document.execCommand('copy');\r\n inputElement.value = this.data.value;\r\n inputElement.select();\r\n document.execCommand('copy');\r\n inputElement.value = '';\r\n // console.log(\"this.data.label: \", this.data.label);\r\n this.onCopied.emit(this.data.label);\r\n }\r\n\r\n}\r\n","module.exports = \" #svg-wrapper{\\r\\n z-index: 998;\\r\\n} \\r\\n.lineChart{\\r\\n z-index: 999;\\r\\n position: absolute; \\r\\n left: 1000px;\\r\\n top: 370px;\\r\\n right: 50px;\\r\\n text-align: right;\\r\\n} \\r\\n.axis path,\\r\\n.axis line {\\r\\n fill: none;\\r\\n stroke: #000;\\r\\n shape-rendering: crispEdges;\\r\\n} \\r\\n/* .x.axis path {\\r\\n display: none;\\r\\n} */ \\r\\n.line {\\r\\n fill: none;\\r\\n stroke: steelblue;\\r\\n stroke-width: 1.5px;\\r\\n} \\r\\n.overlay {\\r\\n /* fill: none; */\\r\\n pointer-events: all;\\r\\n} \\r\\n.focus circle {\\r\\n fill: steelblue;\\r\\n} \\r\\n.tooltip {\\r\\n width: 30px;\\r\\n padding: 5px;\\r\\n border: 1px solid #aaa;\\r\\n border-radius: 4px;\\r\\n box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);\\r\\n position: absolute;\\r\\n background-color: white;\\r\\n font-size: 14px;\\r\\n pointer-events: none;\\r\\n transition: all 0.25s;\\r\\n} \\r\\n.tooltip div {\\r\\n margin: 3px 0;\\r\\n} \\r\\n.tooltip-date,\\r\\n.tooltip-likes {\\r\\n font-weight: bold;\\r\\n} \\r\\noption {\\r\\n font-weight: normal;\\r\\n display: block;\\r\\n white-space: nowrap;\\r\\n min-height: 1.2em;\\r\\n padding: 0px 2px 1px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9jdGVtcC9jdGVtcC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJDQUFDO0lBQ0csYUFBYTtDQUNoQjtBQUNEO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7Q0FDckI7QUFFRDs7SUFFSSxXQUFXO0lBQ1gsYUFBYTtJQUNiLDRCQUE0QjtDQUMvQjtBQUVEOztJQUVJO0FBRUo7SUFDSSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLG9CQUFvQjtDQUN2QjtBQUVEO0lBQ0ksaUJBQWlCO0lBQ2pCLG9CQUFvQjtDQUN2QjtBQUVEO0lBQ0ksZ0JBQWdCO0NBQ25CO0FBRUQ7SUFDSSxZQUFZO0lBQ1osYUFBYTtJQUNiLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsMkNBQTJDO0lBQzNDLG1CQUFtQjtJQUNuQix3QkFBd0I7SUFDeEIsZ0JBQWdCO0lBQ2hCLHFCQUFxQjtJQUtyQixzQkFBc0I7Q0FDekI7QUFFRDtJQUNJLGNBQWM7Q0FDakI7QUFFRDs7SUFFSSxrQkFBa0I7Q0FDckI7QUFFRDtJQUNJLG9CQUFvQjtJQUNwQixlQUFlO0lBQ2Ysb0JBQW9CO0lBQ3BCLGtCQUFrQjtJQUNsQixxQkFBcUI7Q0FDeEIiLCJmaWxlIjoic3JjL2FwcC93aWRnZXRzL2N0ZW1wL2N0ZW1wLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIgI3N2Zy13cmFwcGVye1xyXG4gICAgei1pbmRleDogOTk4O1xyXG59IFxyXG4ubGluZUNoYXJ0e1xyXG4gICAgei1pbmRleDogOTk5O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlOyBcclxuICAgIGxlZnQ6IDEwMDBweDtcclxuICAgIHRvcDogMzcwcHg7XHJcbiAgICByaWdodDogNTBweDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4uYXhpcyBwYXRoLFxyXG4uYXhpcyBsaW5lIHtcclxuICAgIGZpbGw6IG5vbmU7XHJcbiAgICBzdHJva2U6ICMwMDA7XHJcbiAgICBzaGFwZS1yZW5kZXJpbmc6IGNyaXNwRWRnZXM7XHJcbn1cclxuXHJcbi8qIC54LmF4aXMgcGF0aCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59ICovXHJcblxyXG4ubGluZSB7XHJcbiAgICBmaWxsOiBub25lO1xyXG4gICAgc3Ryb2tlOiBzdGVlbGJsdWU7XHJcbiAgICBzdHJva2Utd2lkdGg6IDEuNXB4O1xyXG59XHJcblxyXG4ub3ZlcmxheSB7XHJcbiAgICAvKiBmaWxsOiBub25lOyAqL1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcclxufVxyXG5cclxuLmZvY3VzIGNpcmNsZSB7XHJcbiAgICBmaWxsOiBzdGVlbGJsdWU7XHJcbn1cclxuXHJcbi50b29sdGlwIHtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJveC1zaGFkb3c6IDJweCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjI1cztcclxuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xyXG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjI1cztcclxuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjI1cztcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cztcclxufVxyXG5cclxuLnRvb2x0aXAgZGl2IHtcclxuICAgIG1hcmdpbjogM3B4IDA7XHJcbn1cclxuXHJcbi50b29sdGlwLWRhdGUsXHJcbi50b29sdGlwLWxpa2VzIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG5vcHRpb24ge1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG1pbi1oZWlnaHQ6IDEuMmVtO1xyXG4gICAgcGFkZGluZzogMHB4IDJweCAxcHg7XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n Introduction\\r\\n Current\\r\\n Challenges\\r\\n Approach and Solution\\r\\n Outcome and Benefits\\r\\n \\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

What is CTEMP

\\r\\n

Finding right sites to create enrollment plans for clinical trials by
Historical Benchmarking, Distribution Parameters, Probabilistic Measurements, Tracking and Reforecasting

\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Current Challenges

\\r\\n

Enrollment forecasting has a need across various Clinical Study phases

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Current Challenges

\\r\\n

Enrollment forecasting has a need across various Clinical Study phases

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Current Challenges

\\r\\n

Enrollment forecasting has a need across various Clinical Study phases

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Current Challenges

\\r\\n

Enrollment forecasting has a need across various Clinical Study phases

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Approach and Solution

\\r\\n

Various Stages of Clinical Study Design

\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
End To End
\\r\\n Enrollment Forecasting\\r\\n
\\r\\n
\\r\\n
\\r\\n

Click on any step to know more
or just scroll

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Approach and Solution

\\r\\n

Various Stages of Clinical Study Design

\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
End To End
\\r\\n Enrollment Forecasting\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Outcome and Benefits

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Outcome
\\r\\n Key Modeling Capabilities\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n

Scenario based planning

\\r\\n
\\r\\n
\\r\\n \\r\\n

Ability to simulate and predict site activation strategy

\\r\\n
\\r\\n
\\r\\n \\r\\n

Probability Curves

\\r\\n
\\r\\n
\\r\\n \\r\\n

Predictive algorithm which is continuously updated

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\"","import { Component, OnInit, ViewChild, Renderer2, AfterContentInit, ViewEncapsulation, OnDestroy, ElementRef } from '@angular/core';\r\nimport _ from 'lodash';\r\nimport { FullpagescrollDirective } from 'src/app/shared/fullpagescroll.directive';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material';\r\n// import { FieldCoachingAppDialogComponent } from './field-coaching-app-dialog/field-coaching-app-dialog.component';\r\nimport { DataShareService } from 'src/app/shared/data-share.service';\r\ndeclare const d3: any;\r\n@Component({\r\n selector: 'app-ctemp',\r\n templateUrl: './ctemp.component.html',\r\n styleUrls: ['./ctemp.component.css']\r\n})\r\n\r\n\r\nexport class CtempComponent implements OnInit {\r\n\r\n\r\n @ViewChild('fullPageScroll') fpScroll: FullpagescrollDirective;\r\n public activeStartSlide = '';\r\n public actualSlide = 'screen-1';\r\n public activeSlide = '';\r\n public previousActiveSlide = [];\r\n public lastActiveSlide = 'screen-1';\r\n public nextActiveSlide = 'screen-2';\r\n private screens = ['screen-1', 'screen-2', 'screen-3', 'screen-4', 'screen-5', 'screen-6', 'screen-7', 'screen-8'];\r\n public previousTraversedSlide = '';\r\n public scaleXValue = 1;\r\n public scaleYValue = 1;\r\n public isLoading;\r\n \r\n private animationStarted = {\r\n screen1: false,\r\n screen2: false,\r\n screen3: false,\r\n screen4: false,\r\n screen5: false,\r\n screen6: false,\r\n screen7: false,\r\n screen8: false,\r\n screen9: false,\r\n screen10: false,\r\n screen11: false,\r\n screen12: false,\r\n screen13: false,\r\n screen14: false,\r\n screen15: false,\r\n screen16: false,\r\n hospitalBed: false\r\n };\r\n public currentScrollDirection = 'forward';\r\n public addStep = false;\r\n public currentScreenIndex = 1;\r\n public clickActionScreensIndex = [1, 2, 3, 3, 3, 6, 7, 8, 9, 10, 11, , 12, 13, 14, 15, 16];\r\n public selectedProcess: any;\r\n public prevProcess: any;\r\n public selectedProcessId: any = -1;\r\n public selectedYear: any = \"2021\"\r\n private testTubeAnimationStarted = false\r\n private _svgSection = null;\r\n private _unsubscribeResize = null;\r\n public prevSlide = \"\";\r\n add6Step = false;\r\n isMenuOpen: any;\r\n isAnimation: boolean;\r\n isMouseEnter: any;\r\n public changedManualy = false;\r\n chartData: [\r\n {\r\n \"country\": \"India\",\r\n \"years\": [\r\n {\r\n \"year\": \"2020\",\r\n \"enrollment\": \"85\",\r\n \"siteFailure\": \"7\",\r\n \"emptySites\": \"4\",\r\n \"screeningFailures\": \"2.5\",\r\n \"patientDropOff\": \"3\"\r\n },\r\n {\r\n \"year\": \"2021\",\r\n \"enrollment\": \"45\",\r\n \"siteFailure\": \"3\",\r\n \"emptySites\": \"2\",\r\n \"screeningFailures\": \"0.5\",\r\n \"patientDropOff\": \"1\"\r\n }\r\n ]\r\n },\r\n {\r\n \"country\": \"Australia\",\r\n \"years\": [\r\n {\r\n \"year\": \"2020\",\r\n \"enrollment\": \"75\",\r\n \"siteFailure\": \"5\",\r\n \"emptySites\": \"1\",\r\n \"screeningFailures\": \"0.5\",\r\n \"patientDropOff\": \"2\"\r\n },\r\n {\r\n \"year\": \"2021\",\r\n \"enrollment\": \"55\",\r\n \"siteFailure\": \"2\",\r\n \"emptySites\": \"2\",\r\n \"screeningFailures\": \"1.5\",\r\n \"patientDropOff\": \"5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"country\": \"USA\",\r\n \"years\": [\r\n {\r\n \"year\": \"2020\",\r\n \"enrollment\": \"35\",\r\n \"siteFailure\": \"5\",\r\n \"emptySites\": \"1\",\r\n \"screeningFailures\": \"0.5\",\r\n \"patientDropOff\": \"2\"\r\n },\r\n {\r\n \"year\": \"2021\",\r\n \"enrollment\": \"95\",\r\n \"siteFailure\": \"6\",\r\n \"emptySites\": \"7\",\r\n \"screeningFailures\": \"3.5\",\r\n \"patientDropOff\": \"1\"\r\n }\r\n ]\r\n },\r\n {\r\n \"country\": \"UK\",\r\n \"years\": [\r\n {\r\n \"year\": \"2020\",\r\n \"enrollment\": \"60\",\r\n \"siteFailure\": \"8\",\r\n \"emptySites\": \"2\",\r\n \"screeningFailures\": \"6.5\",\r\n \"patientDropOff\": \"1\"\r\n },\r\n {\r\n \"year\": \"2021\",\r\n \"enrollment\": \"65\",\r\n \"siteFailure\": \"2\",\r\n \"emptySites\": \"4\",\r\n \"screeningFailures\": \"1.5\",\r\n \"patientDropOff\": \"3\"\r\n }\r\n ]\r\n },\r\n {\r\n \"country\": \"China\",\r\n \"years\": [\r\n {\r\n \"year\": \"2020\",\r\n \"enrollment\": \"40\",\r\n \"siteFailure\": \"8\",\r\n \"emptySites\": \"3\",\r\n \"screeningFailures\": \"1.5\",\r\n \"patientDropOff\": \"8\"\r\n },\r\n {\r\n \"year\": \"2021\",\r\n \"enrollment\": \"75\"\r\n }\r\n ]\r\n }\r\n ]\r\n constructor(\r\n private _renderer: Renderer2\r\n , private _router: Router,\r\n private dialog: MatDialog,\r\n private dataShareService: DataShareService\r\n ) { }\r\n\r\n ngAfterContentInit(): void {\r\n this._unsubscribeResize = this._renderer.listen(window, 'resize', _.debounce(() => {\r\n this._svgSection.resize();\r\n }, 700));\r\n }\r\n\r\n ngOnInit() {\r\n this.dataShareService.onCustomEvent.next({ event: 'addClassToElement', data: { selector: '#header', class: 'humburger-header' } });\r\n this.renderStory();\r\n }\r\n\r\n public onFullPageSlideChangeStart(event) {\r\n // setTimeout(() => {\r\n this.previousTraversedSlide = this.actualSlide;\r\n if (this.previousActiveSlide.indexOf(event) < 0) {\r\n this.previousActiveSlide.push(this.actualSlide);\r\n } else {\r\n this.previousActiveSlide.splice(this.previousActiveSlide.indexOf(this.actualSlide), 1);\r\n }\r\n this.actualSlide = event;\r\n\r\n // }, 4000);\r\n switch (event) {\r\n // case 'screen-3' : \r\n // case 'screen-4' : \r\n // case 'screen-5' : \r\n // if(this.activeStartSlide!== 'screen-2'){\r\n // this.activeStartSlide = 'screen-2'\r\n // };break;\r\n // case 'screen-6':\r\n // this.activeStartSlide = 'screen-7';break;\r\n // case 'screen-7':\r\n // if(this.activeStartSlide!== 'screen-7'){\r\n // this.activeStartSlide = 'screen-7'\r\n // };break;\r\n default:\r\n this.activeStartSlide = event;\r\n }\r\n\r\n if ((this.screens.indexOf(this.previousTraversedSlide) - this.screens.indexOf(this.actualSlide)) < 0) {\r\n this.currentScrollDirection = 'forward';\r\n } else {\r\n this.currentScrollDirection = 'backward';\r\n }\r\n this.currentScreenIndex = this.clickActionScreensIndex[this.screens.indexOf(this.actualSlide)];\r\n this.lastActiveSlide = this.currentScrollDirection == 'forward' ? this.screens[this.screens.indexOf(event) - 1] : this.screens[this.screens.indexOf(event) + 1];\r\n this.prevSlide = this.lastActiveSlide;\r\n // if(this.currentScrollDirection === 'backward'){\r\n setTimeout(() => {\r\n this.lastActiveSlide = this.activeStartSlide;\r\n }, 4000);\r\n // }\r\n const nextSlideIndex = ((this.screens.indexOf(event) + 1) > (this.screens.length - 1)) ? this.screens.indexOf(event) : (this.screens.indexOf(event) + 1);\r\n this.nextActiveSlide = this.screens[nextSlideIndex];\r\n // setTimeout(() => {\r\n // this.lastActiveSlide = this.activeStartSlide\r\n // }, 1000);\r\n // this._svgSection.changeScreen();\r\n\r\n // if (this.activeStartSlide === 'screen-2') {\r\n // this._svgSection.screenTwo.resetElements();\r\n // } else if (this.activeStartSlide === 'screen-3') {\r\n // this._svgSection.screenThree.resetElements();\r\n // } else if (this.activeStartSlide === 'screen-4') {\r\n // this._svgSection.screenFour.resetElements();\r\n // } else if (this.activeStartSlide === 'screen-5') {\r\n // this._svgSection.screenFive.resetElements();\r\n // } else if (this.activeStartSlide === 'screen-6') {\r\n // this._svgSection.screenSix.resetElements();\r\n // } else if (this.activeStartSlide === 'screen-7') {\r\n // this._svgSection.screenSeven.resetElements();\r\n // }\r\n\r\n // if (this.previousTraversedSlide === 'screen-2') {\r\n // this._svgSection.screenTwo.climaxAnimation();\r\n // } else if (this.previousTraversedSlide === 'screen-3') {\r\n // this._svgSection.screenThree.climaxAnimation();\r\n // } else if (this.previousTraversedSlide === 'screen-4') {\r\n // this._svgSection.screenFour.climaxAnimation();\r\n // } else if (this.previousTraversedSlide === 'screen-5') {\r\n // this._svgSection.screenFive.climaxAnimation();\r\n // } else if (this.previousTraversedSlide === 'screen-6') {\r\n // this._svgSection.screenSix.climaxAnimation();\r\n // } else if (this.previousTraversedSlide === 'screen-7') {\r\n // this._svgSection.screenSeven.climaxAnimation();\r\n // }\r\n\r\n if (['screen-1', 'screen-8'].includes(this.activeStartSlide)) {\r\n this.addStep = false;\r\n this.add6Step = false;\r\n }\r\n // this._svgSection.changeScreen();\r\n }\r\n\r\n\r\n scrollTo(selector, type, x = 0, y = 0) {\r\n if (type == 'id')\r\n document.querySelector(`#${selector}`).scrollTo(x, y);\r\n else\r\n document.querySelectorAll(`.${selector}`).forEach((scrollEl, index) => scrollEl.scrollTo(x, y));\r\n }\r\n\r\n public onFullPageSlideChangeComplete(event) {\r\n this.activeSlide = event;\r\n\r\n switch (this.prevSlide.split('-')[1]) {\r\n case '1':\r\n this._svgSection.screenSix.stopAnimation();\r\n this._svgSection.screenOne.stopAnimation(); break;\r\n case '2':\r\n this._svgSection.screenTwo.stopAnimation(); break;\r\n case '3':\r\n this._svgSection.screenThree.stopAnimation(); break;\r\n case '4':\r\n this._svgSection.screenFour.stopAnimation(); break;\r\n case '5':\r\n this._svgSection.screenFive.stopAnimation(); break;\r\n case '6':\r\n this._svgSection.screenSix.stopAnimation(); break;\r\n case '7':\r\n this._svgSection.screenSeven.stopAnimation(); break;\r\n case '8':\r\n this._svgSection.screenEight.stopAnimation(); break;\r\n }\r\n this.scrollTo('scroll-wrapper', 'class', 0, 0);\r\n // this._svgSection.screenTwo.stopAnimation();\r\n // this._svgSection.screenThree.stopAnimation();\r\n // this._svgSection.screenFour.stopAnimation();\r\n // this._svgSection.screenFive.stopAnimation();\r\n // this._svgSection.screenSix.stopAnimation();\r\n // this._svgSection.screenSeven.stopAnimation();\r\n // this._svgSection.screenEight.stopAnimation();\r\n // this._svgSection.screenEight.stopAnimation();\r\n // this._svgSection.screenNine.stopAnimation();\r\n // this._svgSection.screenTen.stopAnimation();\r\n // this._svgSection.screenEleven.stopAnimation();\r\n // this._svgSection.screenTwelve.stopAnimation();\r\n // this._svgSection.screenThirteen.stopAnimation();\r\n // this._svgSection.screenFourteen.stopAnimation();\r\n // this._svgSection.screenFifteen.stopAnimation();\r\n // this._svgSection.screenSixteen.stopAnimation();\r\n\r\n if (['screen-2', 'screen-3', 'screen-4', 'screen-5'].includes(this.activeSlide)) {\r\n setTimeout(() => {\r\n this.addStep = true;\r\n }, 600);\r\n } else if (['screen-6', 'screen-7'].includes(this.activeSlide)) {\r\n setTimeout(() => {\r\n this.add6Step = true;\r\n }, 600);\r\n }\r\n else {\r\n this.add6Step = false;\r\n this.addStep = false;\r\n }\r\n\r\n // if (['screen-1', 'screen-7'].includes(this.activeSlide)) {\r\n // this._svgSection.commonLeftSection.manageTravellersGroup();\r\n // } else {\r\n // this._svgSection.commonLeftSection.manageTravellersGroup(1);\r\n // }\r\n // // this._svgSection.manageScreenwiseAnimation.changeAnimation();\r\n // this.selectedProcessId = -1;\r\n if (event === 'screen-1') {\r\n this._svgSection.commonAnimation.hideGroup();\r\n }\r\n // setTimeout(() => {\r\n switch (event) {\r\n case 'screen-1':\r\n this._svgSection.screenOne.startAnimation(!this.animationStarted.screen1);\r\n this._svgSection.commonAnimation.hideAmerica();\r\n this.animationStarted.screen1 = true;\r\n break;\r\n case 'screen-2':\r\n this._svgSection.commonAnimation.showGroup();\r\n this._svgSection.screenTwo.startAnimation(!this.animationStarted.screen2);\r\n this._svgSection.commonAnimation.hideAmerica();\r\n this.animationStarted.screen2 = true;\r\n this._svgSection.commonAnimation.showTestTube();\r\n this._svgSection.commonAnimation.startAnimation(!this.testTubeAnimationStarted);\r\n this.testTubeAnimationStarted = true;\r\n break;\r\n case 'screen-3':\r\n this._svgSection.screenThree.startAnimation(!this.animationStarted.screen3);\r\n this.animationStarted.screen3 = true;\r\n this._svgSection.commonAnimation.showAmerica();\r\n this._svgSection.commonAnimation.hideHospitalBed();\r\n break;\r\n case 'screen-4':\r\n this._svgSection.screenFour.startAnimation(!this.animationStarted.screen4);\r\n this.animationStarted.screen4 = true;\r\n this._svgSection.commonAnimation.showHospitalBed();\r\n this._svgSection.commonAnimation.showAmerica();\r\n break;\r\n case 'screen-5':\r\n this._svgSection.screenFive.startAnimation(!this.animationStarted.screen5);\r\n this.animationStarted.screen5 = true;\r\n this._svgSection.commonAnimation.showHospitalBed();\r\n this._svgSection.commonAnimation.hideAmerica();\r\n break;\r\n case 'screen-6':\r\n this._svgSection.screenSix.startAnimation(!this.animationStarted.screen6);\r\n this._svgSection.commonAnimation.hideHospitalBed();\r\n this._svgSection.commonAnimation.chnageLiquidColorBack();\r\n this.animationStarted.screen6 = true;\r\n break;\r\n case 'screen-7':\r\n this._svgSection.screenSeven.startAnimation(!this.animationStarted.screen7);\r\n this.animationStarted.screen7 = true;\r\n this._svgSection.commonAnimation.startLiquidAnimation();\r\n break;\r\n case 'screen-8':\r\n this._svgSection.screenEight.startAnimation(!this.animationStarted.screen8);\r\n this.animationStarted.screen8 = true;\r\n this._svgSection.commonAnimation.chnageLiquidColorBack();\r\n break;\r\n // case 'screen-8':\r\n // this._svgSection.screenEight.startAnimation(!this.animationStarted.screen8);\r\n // this.animationStarted.screen8 = true;\r\n // break;\r\n // case 'screen-9':\r\n // this._svgSection.screenNine.startAnimation(!this.animationStarted.screen9);\r\n // this.animationStarted.screen9 = true;\r\n // break;\r\n // case 'screen-10':\r\n // this._svgSection.screenTen.startAnimation(!this.animationStarted.screen10);\r\n // this.animationStarted.screen10 = true;\r\n // break;\r\n // case 'screen-11':\r\n // this._svgSection.screenEleven.startAnimation(!this.animationStarted.screen11);\r\n // this.animationStarted.screen11 = true;\r\n // break;\r\n // case 'screen-12':\r\n // this._svgSection.screenTwelve.startAnimation(!this.animationStarted.screen12);\r\n // this.animationStarted.screen12 = true;\r\n // break;\r\n // case 'screen-13':\r\n // this._svgSection.screenThirteen.startAnimation(!this.animationStarted.screen13);\r\n // this.animationStarted.screen13 = true;\r\n // break;\r\n // case 'screen-14':\r\n // this._svgSection.screenFourteen.startAnimation(!this.animationStarted.screen14);\r\n // this.animationStarted.screen14 = true;\r\n // break;\r\n // case 'screen-15':\r\n // this._svgSection.screenFifteen.startAnimation(!this.animationStarted.screen15);\r\n // this.animationStarted.screen15 = true;\r\n // break;\r\n // case 'screen-16':\r\n // this._svgSection.screenSix.startAnimation(!this.animationStarted.screen16);\r\n // this.animationStarted.screen16 = true;\r\n // break;\r\n }\r\n // }, 1000);\r\n }\r\n public indicatorSettings = [\r\n {\r\n id: 1,\r\n label: 'Introduction'\r\n },\r\n {\r\n id: 2,\r\n label: 'Current Challenges'\r\n },\r\n {\r\n id: 6,\r\n label: 'Approach and Solution'\r\n },\r\n {\r\n id: 8,\r\n label: 'Outcome and Benefits'\r\n }\r\n ];\r\n\r\n\r\n private renderStory() {\r\n this._svgSection = this._initSvgSection('svg-wrapper');\r\n this._svgSection.screenOne.stopAnimation();\r\n this._svgSection.screenTwo.stopAnimation();\r\n this._svgSection.screenThree.stopAnimation();\r\n this._svgSection.screenFour.stopAnimation();\r\n this._svgSection.screenFive.stopAnimation();\r\n this._svgSection.screenSix.stopAnimation();\r\n this._svgSection.screenSeven.stopAnimation();\r\n this._svgSection.screenEight.stopAnimation();\r\n // this._svgSection.screenEight.stopAnimation();\r\n // this._svgSection.screenNine.stopAnimation();\r\n // this._svgSection.screenTen.stopAnimation();\r\n // this._svgSection.screenEleven.stopAnimation();\r\n // this._svgSection.screenTwelve.stopAnimation();\r\n // this._svgSection.screenThirteen.stopAnimation();\r\n // this._svgSection.screenFourteen.stopAnimation();\r\n // this._svgSection.screenFifteen.stopAnimation();\r\n // this._svgSection.screenSixteen.stopAnimation();\r\n setTimeout(() => {\r\n this.activeStartSlide = \"screen-1\";\r\n this.activeSlide = 'screen-1';\r\n // this.addClassToDom('slider-1', 'animate-in', 'id');\r\n }, 100);\r\n setTimeout(() => {\r\n\r\n this._svgSection.screenOne.startAnimation(!this.animationStarted.screen1);\r\n // this.animationStarted.screen1 = true;\r\n }, 500);\r\n }\r\n public onDownArrowClick(sectionId) {\r\n this.fpScroll.navigateTo(sectionId);\r\n }\r\n\r\n changeDirectiveScrollEvent(state: boolean) {\r\n // this.isMenuOpen = state;\r\n // this.fpScroll.setEventState(state);\r\n // this.onAnimationEnd();\r\n }\r\n\r\n private _responsivefy(svg, isHeightNotToUpdate = false) {\r\n const container = d3.select(svg.node().parentNode);\r\n const width = parseInt(svg.attr('width'), 10);\r\n const height = parseInt(svg.attr('height'), 10);\r\n const aspect = width / height;\r\n\r\n // get width of container and resize svg to fit it\r\n const resize = () => {\r\n const targetWidth = parseInt(container.style('width'), 10);\r\n svg.attr('width', targetWidth);\r\n let targetHeight = targetWidth / aspect;\r\n if (isHeightNotToUpdate) {\r\n // Set Container Height as is.\r\n targetHeight = container.node().getBoundingClientRect().height;\r\n }\r\n svg.attr('height', Math.round(targetHeight));\r\n return {\r\n widthAspect: targetWidth / width,\r\n heightAspect: targetHeight / height,\r\n width: parseInt(svg.style('width'), 10),\r\n height: parseInt(svg.style('height'), 10)\r\n };\r\n };\r\n svg.attr('viewBox', '0 0 ' + width + ' ' + height)\r\n .attr('perserveAspectRatio', 'xMinYMid')\r\n .call(() => {\r\n setTimeout(() => {\r\n resize();\r\n }, 10);\r\n });\r\n\r\n return {\r\n resize,\r\n widthAspect: parseInt(svg.style('width'), 10) / width,\r\n heightAspect: parseInt(svg.style('height'), 10) / height\r\n };\r\n }\r\n\r\n private _initSvgSection(containerId) {\r\n const that = this;\r\n let baseImage = '';\r\n const visitedScreen = {\r\n screen1: false,\r\n screen2: false,\r\n screen3: false,\r\n screen4: false,\r\n screen5: false,\r\n screen6: false,\r\n }\r\n const container = d3.select('#' + containerId);\r\n const WIDTH = 1920;\r\n const HEIGHT_OFFSET = 969 / 1920;\r\n const HEIGHT = WIDTH * HEIGHT_OFFSET;\r\n const svg = container.append('svg')\r\n .attr('width', WIDTH)\r\n .attr('height', HEIGHT)\r\n .on('click', function () {\r\n });\r\n\r\n const dataGroup = svg.append('g')\r\n .attr('id', 'svg-data')\r\n .attr('class', 'svg-data');\r\n\r\n\r\n\r\n const image = dataGroup.append('image')\r\n .attr('xlink:href', baseImage)\r\n .attr('class', 'base-image-group')\r\n .attr('height', 969)\r\n .attr('width', 1920)\r\n .attr('id', 'img');\r\n\r\n const line = d3.svg.line()\r\n .x((d) => d[0])\r\n .y((d) => d[1]);\r\n\r\n const createCircle = (group, x, y, r, fill = 'none', stroke = 'black') => {\r\n group.append('circle')\r\n .attr({\r\n 'cx': x,\r\n 'cy': y,\r\n 'r': r,\r\n 'fill': fill,\r\n 'stroke': stroke\r\n });\r\n }\r\n const addDashedLine = (group, lineData, className, strokeColor = '#000000', strokeDash = '8, 5', strokeWidth = 1, alreadyDraw = true) => {\r\n return group.append('path')\r\n .datum(lineData)\r\n .attr('d', line)\r\n .attr('stroke', strokeColor)\r\n .attr('class', `animate ${className}`)\r\n .attr('stroke-width', strokeWidth)\r\n .attr('stroke-dasharray', function (d: any) {\r\n d.pathLength = d3.select(this).node().getTotalLength();\r\n const dashing = strokeDash;\r\n const dashLength =\r\n dashing\r\n .split(/[\\s,]/)\r\n .map(function (a) { return parseFloat(a) || 0 })\r\n .reduce(function (a, b) { return a + b; });\r\n\r\n const dashCount = Math.ceil(d.pathLength / dashLength);\r\n const newDashes = new Array(dashCount).join(dashing + ' ');\r\n const dashArray = newDashes + ' 1 , ' + (d.pathLength + 5);\r\n return dashArray;\r\n })\r\n .attr('stroke-dashoffset', function (d: any) {\r\n return (alreadyDraw ? 0 : d.pathLength);\r\n })\r\n // .attr('stroke-dashoffset', (d: any) => 0)\r\n .attr('fill', 'none');\r\n };\r\n const addLine = (group, pathData, selector, key, strokeColor = '#000000', strokeWidth = 1, alreadyDraw = true) => {\r\n return group.append('path')\r\n .datum(pathData)\r\n .attr('d', line)\r\n .attr('class', `animate ${selector}`)\r\n .attr('id', `${selector}-${key}`)\r\n .attr('stroke', strokeColor)\r\n .attr('stroke-width', strokeWidth)\r\n .attr('stroke-dasharray', function (d: any) {\r\n d.pathLength = d3.select(this).node().getTotalLength();\r\n return d.pathLength;\r\n })\r\n .attr('stroke-dashoffset', function (d: any) {\r\n return (alreadyDraw ? 0 : d.pathLength);\r\n })\r\n .attr('fill', 'none');\r\n };\r\n\r\n const addRect = (group, data) => {\r\n return group.append('rect')\r\n .datum(data)\r\n .attr('class', 'class' in data ? data.class : '')\r\n .attr('id', 'id' in data ? data.id : '')\r\n .attr('x', data.x)\r\n .attr('y', data.y)\r\n .attr('width', data.width)\r\n .attr('height', data.height)\r\n .attr('fill', data.fill)\r\n .attr('rx', 'rx' in data ? data.rx : 0)\r\n .style('opacity', 'o' in data ? data.o : 1);\r\n };\r\n\r\n const createImageUsingData = (group, data: { id: string, src: string, height: number, width: number, x: number, y: number, s?: number, o?: number, class?: string, [k: string]: any, finalX?: number, finalY?: number, textStyle?: any }) => {\r\n return group\r\n .append('image')\r\n .datum(data)\r\n .attr('id', (d) => d.id)\r\n .attr('xlink:href', (d) => d.src)\r\n .attr('class', (d) => `${(d.class || d.id)} animate`)\r\n .attr('height', (d) => d.height)\r\n .attr('width', (d) => d.width)\r\n .attr('transform', (d) => `translate(${d.x}, ${d.y}) scale(${(data.s !== void 0) ? data.s : 1})`)\r\n .style('opacity', (d) => (d.o !== void (0)) ? d.o : 1)\r\n .style('textStyle' in data ? data.textStyle : {});\r\n };\r\n\r\n const createTextUsingData = (group, data: { wholeText: any, id: string, x: number, y: number, dy: string, s?: number, o?: number, class?: string, textStyle?: object, finalX?: number, finalY?: number }) => {\r\n const text = group.append('text');\r\n text\r\n .datum(data)\r\n .style('textStyle' in data ? data.textStyle : {})\r\n .attr({\r\n 'class': (d) => d.class !== void (0) ? d.class : '',\r\n 'id': (d) => d.id,\r\n 'transform': (d) => `translate(${d.x},${d.y})`,\r\n })\r\n .style({\r\n 'opacity': 'o' in data ? data.o : 1\r\n });\r\n\r\n data.wholeText.forEach((textPart, index) => {\r\n text.append('tspan')\r\n .attr({\r\n 'dy': 'dy' in textPart ? textPart.dy : data.dy,\r\n 'x': 'x' in textPart ? textPart.x : '',\r\n 'y': 'y' in textPart ? textPart.y : ''\r\n })\r\n .style('textStyle' in textPart ? textPart.textStyle : {})\r\n .text(textPart.text)\r\n });\r\n\r\n return text;\r\n }\r\n\r\n function endAll(tran, callback) {\r\n if ((typeof callback) !== 'function') { throw new Error('Wrong callback in endall'); }\r\n if (tran.size() === 0) { callback(); }\r\n let n = 0;\r\n tran.each(() => { ++n; })\r\n .each('end', function (e) {\r\n if (--n === 0) { callback.apply(this, arguments); }\r\n });\r\n }\r\n\r\n const showText = (group, className, delay = 0, duration = 1000, cb = function () { }) => {\r\n let selection = group.selectAll(`.${className}`);\r\n selection\r\n .transition()\r\n .delay(d => 'delay' in d ? d.delay : delay)\r\n .duration(duration)\r\n .style('opacity', 1)\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .call(endAll, cb)\r\n }\r\n\r\n const hideText = (group, className, delay = 0, duration = 1000, cb = function () { }) => {\r\n group.selectAll(`.${className}`)\r\n .transition()\r\n .delay(d => 'delay' in d ? d.delay : delay)\r\n .duration(d => 'duration' in d ? d.duration : duration)\r\n .style('opacity', 0)\r\n .attr('transform', (d) => `translate(${d.x}, ${d.y})`)\r\n .call(endAll, cb)\r\n }\r\n\r\n const operateLine = (group, className, operation: 'draw' | 'hide', delay = 0, duration = 1000, cb = function () { }) => {\r\n group.selectAll(`.${className}`)\r\n .style('opacity', operation === 'hide' ? 0 : 1)\r\n .transition()\r\n .delay(d => 'delay' in d ? d.delay : delay)\r\n .duration(d => 'duration' in d ? d.duration : duration)\r\n .attr('stroke-dashoffset', d => operation === 'hide' ? d.pathLength : 0)\r\n .call(endAll, cb)\r\n }\r\n\r\n const showImage = (group, className, delay = 0, duration = 1000, cb = function () { }) => {\r\n group.selectAll(`.${className}`)\r\n .transition()\r\n .delay(d => 'delay' in d ? d.delay : delay)\r\n .duration(d => 'duration' in d ? d.duration : duration)\r\n .attr('transform', (d: any) => { return `translate(${d.finalX}, ${d.finalY}) scale(${d.s})` })\r\n .style('opacity', 1)\r\n .call(endAll, cb)\r\n }\r\n\r\n const hideImage = (group, className, delay = 0, duration = 1000, cb = function () { }) => {\r\n group.selectAll(`.${className}`)\r\n .transition()\r\n .delay(d => 'delay' in d ? d.delay : delay)\r\n .duration(d => 'duration' in d ? d.duration : duration)\r\n .attr('transform', (d: any) => `translate(${d.x}, ${d.y}) scale(0)`)\r\n .call(endAll, cb)\r\n }\r\n\r\n const showGroup = (group, className, delay = 0, duration = 1000, cb = function () { }) => {\r\n group.selectAll(`.${className}`)\r\n .transition()\r\n .delay(d => 'delay' in d ? d.delay : delay)\r\n .duration(d => 'duration' in d ? d.duration : duration)\r\n .attr('transform', (d: any) => `translate(${d.finalX}, ${d.finalY}) scale(1)`)\r\n .style('opacity', 1)\r\n .call(endAll, cb)\r\n }\r\n\r\n\r\n\r\n const screenOne = (() => {\r\n const currentProcess = dataGroup.append('g')\r\n .attr('id', 'screen-1-group')\r\n .attr('class', 'screen-1-group')\r\n .style('opacity', 1);\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n baseImage = '';\r\n // baseImage = '/assets/images/ctemp/screen1.png';\r\n image.attr('xlink:href', baseImage);\r\n // commonLeftSection.manageTravellersGroup();\r\n },\r\n stopAnimation() {\r\n // currentProcess.interrupt();\r\n currentProcess\r\n .transition()\r\n .delay(100)\r\n .duration(200)\r\n .style('opacity', 0);\r\n }\r\n }\r\n })();\r\n\r\n\r\n const screenTwo = (() => {\r\n const currentProcess = dataGroup.append('g')\r\n .attr('id', 'screen-2-group')\r\n .attr('class', 'screen-2-group')\r\n .style('opacity', 1);\r\n\r\n const globeGroup = currentProcess.append('g')\r\n .attr('id', 'globe-group')\r\n .attr('class', 'globe-group');\r\n const dataSummaryData = {\r\n titleContent: {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'FINDING RIGHT SITES',\r\n dy: '0em',\r\n x: 473,\r\n y: -190\r\n }],\r\n id: 'screen-globe-text-screen-2',\r\n class: 'screen-globe-text-screen-2 screen-2-text',\r\n x: 473,\r\n y: -190,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 26,\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400,\r\n },\r\n }\r\n },\r\n dataContent: [\r\n {\r\n background: {\r\n id: 'globe-image-1',\r\n width: 1920,\r\n height: 591,\r\n src: 'assets/images/ctemp/SVG/globe.svg',\r\n x: 0,\r\n y: 969,\r\n finalX: 0,\r\n finalY: 380,\r\n class: 'screen-2 globe-image-1 background pie-background animate screen-2-images',\r\n s: 1,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'continents-1',\r\n width: 1488,\r\n height: 450,\r\n src: 'assets/images/ctemp/SVG/continents.svg',\r\n x: 353,\r\n y: 969,\r\n finalX: 353,\r\n finalY: 505,\r\n class: 'screen-2 continents-1 background pie-background animate screen-2-images',\r\n s: 1,\r\n o: 0.8\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-country-1',\r\n width: 219,\r\n height: 84,\r\n src: 'assets/images/ctemp/SVG/Country1.svg',\r\n x: 1298,\r\n y: 621,\r\n finalX: 1298,\r\n finalY: 621,\r\n class: 'country screen-2-country-1 background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-country-2',\r\n width: 109,\r\n height: 72,\r\n src: 'assets/images/ctemp/SVG/Country2.svg',\r\n x: 1288,\r\n y: 656,\r\n finalX: 1288,\r\n finalY: 656,\r\n class: 'country screen-2-country-2 background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-country-3',\r\n width: 88,\r\n height: 41,\r\n src: 'assets/images/ctemp/SVG/Country3.svg',\r\n x: 1174,\r\n y: 637,\r\n finalX: 1174,\r\n finalY: 637,\r\n class: 'country screen-2-country-3 background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-country-4',\r\n width: 81,\r\n height: 48,\r\n src: 'assets/images/ctemp/SVG/Country4.svg',\r\n x: 1048,\r\n y: 727,\r\n finalX: 1048,\r\n finalY: 727,\r\n class: 'country screen-2-country-4 background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-country-5',\r\n width: 186,\r\n height: 114,\r\n src: 'assets/images/ctemp/SVG/Country5.svg',\r\n x: 633,\r\n y: 734,\r\n finalX: 633,\r\n finalY: 734,\r\n class: 'country screen-2-country-5 background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-country-6',\r\n width: 240,\r\n height: 67,\r\n src: 'assets/images/ctemp/SVG/Country6.svg',\r\n x: 468,\r\n y: 622,\r\n finalX: 468,\r\n finalY: 622,\r\n class: 'country screen-2-country-6 background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-country-7',\r\n width: 112,\r\n height: 50,\r\n src: 'assets/images/ctemp/SVG/Country7.svg',\r\n x: 952,\r\n y: 593,\r\n finalX: 952,\r\n finalY: 593,\r\n class: 'country screen-2-country-7 background pie-background animate screen-2-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-1',\r\n width: 100.8,\r\n height: 91.8,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 1480,\r\n y: 656,\r\n finalX: 1430,\r\n finalY: 610,\r\n class: 'hospital screen-2-hospital-1 background pie-background animate screen-2-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-6',\r\n width: 168,\r\n height: 153,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 562,\r\n y: 588,\r\n finalX: 478,\r\n finalY: 512,\r\n class: 'hospital screen-2-hospital-6 background pie-background animate screen-2-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-4',\r\n width: 100.8,\r\n height: 81.8,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 1118,\r\n y: 723,\r\n finalX: 1068,\r\n finalY: 682,\r\n class: 'hospital screen-2-hospital-4 background pie-background animate screen-2-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-1_1',\r\n width: 84,\r\n height: 76.5,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 1382,\r\n y: 626,\r\n finalX: 1330,\r\n finalY: 588,\r\n class: 'hospital screen-2-hospital-1_1 background pie-background animate screen-2-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-5',\r\n width: 122.4,\r\n height: 134.4,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 755,\r\n y: 745,\r\n finalX: 694,\r\n finalY: 678,\r\n class: 'hospital screen-2-hospital-5 background pie-background animate screen-2-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-2',\r\n width: 100.8,\r\n height: 81.8,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 1325,\r\n y: 730,\r\n finalX: 1275,\r\n finalY: 690,\r\n class: 'hospital screen-2-hospital-2 background pie-background animate screen-2-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-7',\r\n width: 100.8,\r\n height: 81.8,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 995,\r\n y: 579,\r\n finalX: 945,\r\n finalY: 538,\r\n class: 'hospital screen-2-hospital-7 background pie-background animate screen-2-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-3',\r\n width: 100.8,\r\n height: 91.8,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 1225,\r\n y: 624,\r\n finalX: 1175,\r\n finalY: 578,\r\n class: 'hospital screen-2-hospital-3 background pie-background animate screen-2-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n ]\r\n };\r\n\r\n const lineGroup = currentProcess.append('g')\r\n .attr('id', 'screen-2-line-group')\r\n .attr('class', 'screen-2-line-group');\r\n\r\n dataSummaryData.dataContent.forEach((content, index) => {\r\n const group = globeGroup\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1\r\n })\r\n .attr({\r\n 'class': `globe-group globe-group-${index}`,\r\n 'id': `globe-group-${index}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(1)`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n // createTextUsingData(group, content.text);\r\n });\r\n\r\n createTextUsingData(lineGroup, dataSummaryData.titleContent.text);\r\n\r\n const listData = {\r\n lines: [\r\n [[893, 486], [740, 362]],\r\n [[740, 362], [475, 360]],\r\n ],\r\n }\r\n listData.lines.forEach((el, i) => {\r\n let index = i;\r\n addLine(lineGroup, el, 'list-line list-line-' + index, index, 'black', 1, false);\r\n });\r\n\r\n function initiateAnimation() {\r\n const htmlDelayValue = 500;\r\n showImage(globeGroup, 'globe-image-1', htmlDelayValue, 300, function () {\r\n\r\n });\r\n showImage(globeGroup, 'continents-1', htmlDelayValue, 300, function () {\r\n createCircle(lineGroup, 900, 490, 9);\r\n operateLine(lineGroup, 'list-line-0', 'draw', htmlDelayValue, 300, function () {\r\n operateLine(lineGroup, 'list-line-1', 'draw', htmlDelayValue, 300, function () {\r\n showText(lineGroup, 'screen-globe-text-screen-2', 0, 200, function () {\r\n let countries = globeGroup.selectAll('.country');\r\n countries\r\n .transition()\r\n .delay((d, i) => 100)\r\n .duration(100)\r\n // .ease('bounce')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY}) scale(1)`)\r\n .style('opacity', 1)\r\n .call(endAll, function () {\r\n let hospital = globeGroup.selectAll('.hospital');\r\n hospital\r\n .transition()\r\n .delay((d, i) => i * 500)\r\n .duration(500)\r\n .ease('bounce')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY}) scale(1)`)\r\n .style('opacity', 1)\r\n .call(endAll, function () {\r\n });\r\n });\r\n })\r\n })\r\n })\r\n });\r\n\r\n }\r\n return {\r\n startAnimation(isFirst = false) {\r\n baseImage = '';\r\n // baseImage = '/assets/images/ctemp/screen2.png';\r\n image.attr('xlink:href', baseImage);\r\n currentProcess.style('opacity', 1);\r\n if (isFirst) {\r\n initiateAnimation();\r\n }\r\n },\r\n climaxAnimation() {\r\n currentProcess\r\n .transition()\r\n // .duration(300)\r\n .style('opacity', 0);\r\n },\r\n resetElements() {\r\n\r\n },\r\n stopAnimation() {\r\n // currentProcess.interrupt();\r\n\r\n currentProcess\r\n // .transition()\r\n // .delay(100)\r\n // .duration(200)\r\n .style('opacity', 0);\r\n },\r\n groups: {\r\n }\r\n }\r\n\r\n })();\r\n\r\n\r\n const screenThree = (() => {\r\n const currentProcess = dataGroup.append('g')\r\n .attr('id', 'screen-3-group')\r\n .attr('class', 'screen-3-group')\r\n .style('opacity', 1);\r\n const americaGroup = currentProcess.append('g')\r\n .attr('id', 'america-group')\r\n .attr('class', 'america-group');\r\n const lineGroup = currentProcess.append('g')\r\n .attr('id', 'screen-3-line-group')\r\n .attr('class', 'screen-3-line-group');\r\n\r\n const dataSummaryData = {\r\n titleContent: {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'PREDICTION',\r\n dy: '0em',\r\n x: 570,\r\n y: 0\r\n },\r\n {\r\n text: 'ENROLLMENTS',\r\n dy: '0em',\r\n x: 570,\r\n y: 40\r\n }],\r\n id: 'screen-america-text-screen-3',\r\n class: 'screen-america-text-screen-3 screen-3-text',\r\n x: 473,\r\n y: -190,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 29,\r\n 'fill': '#3f3d56',\r\n 'font-weight': 500,\r\n },\r\n }\r\n },\r\n dataContent: [\r\n {\r\n background: {\r\n id: 'america-image-1',\r\n width: 852,\r\n height: 775,\r\n src: 'assets/images/ctemp/SVG/america.svg',\r\n x: 849,\r\n y: 969,\r\n finalX: 849,\r\n finalY: 170,\r\n class: 'screen-3 america-image-1 background pie-background animate screen-3-images',\r\n s: 1,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'card-image-1',\r\n width: 65,\r\n height: 83,\r\n src: 'assets/images/ctemp/SVG/card.svg',\r\n x: 1180,\r\n y: 599,\r\n finalX: 1148,\r\n finalY: 558,\r\n class: 'screen-3 card card-image-1 animate screen-3-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'card-image-2',\r\n width: 65,\r\n height: 83,\r\n src: 'assets/images/ctemp/SVG/card.svg',\r\n x: 1100,\r\n y: 553,\r\n finalX: 1068,\r\n finalY: 512,\r\n class: 'screen-3 card card-image-2 animate screen-3-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'card-image-3',\r\n width: 65,\r\n height: 83,\r\n src: 'assets/images/ctemp/SVG/card.svg',\r\n x: 1020,\r\n y: 511,\r\n finalX: 988,\r\n finalY: 470,\r\n class: 'screen-3 card card-image-3 animate screen-3-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n\r\n {\r\n background: {\r\n id: 'card-image-4',\r\n width: 65,\r\n height: 83,\r\n src: 'assets/images/ctemp/SVG/card.svg',\r\n x: 1112,\r\n y: 621,\r\n finalX: 1080,\r\n finalY: 580,\r\n class: 'screen-3 card card-image-4 animate screen-3-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'card-image-5',\r\n width: 65,\r\n height: 83,\r\n src: 'assets/images/ctemp/SVG/card.svg',\r\n x: 1035,\r\n y: 580,\r\n finalX: 1003,\r\n finalY: 539,\r\n class: 'screen-3 card card-image-5 animate screen-3-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'card-image-6',\r\n width: 65,\r\n height: 83,\r\n src: 'assets/images/ctemp/SVG/card.svg',\r\n x: 951,\r\n y: 536,\r\n finalX: 919,\r\n finalY: 495,\r\n class: 'screen-3 card card-image-6 animate screen-3-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'card-image-7',\r\n width: 65,\r\n height: 83,\r\n src: 'assets/images/ctemp/SVG/card.svg',\r\n x: 1035,\r\n y: 658,\r\n finalX: 1003,\r\n finalY: 617,\r\n class: 'screen-3 card card-image-7 animate screen-3-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'card-image-8',\r\n width: 65,\r\n height: 83,\r\n src: 'assets/images/ctemp/SVG/card.svg',\r\n x: 951,\r\n y: 611,\r\n finalX: 919,\r\n finalY: 570,\r\n class: 'screen-8 card card-image-8 animate screen-8-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n ]\r\n };\r\n\r\n dataSummaryData.dataContent.forEach((content, index) => {\r\n const group = americaGroup\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1\r\n })\r\n .attr({\r\n 'class': `america-group america-group-${index}`,\r\n 'id': `america-group-${index}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(1)`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n // createTextUsingData(group, content.text);\r\n });\r\n createTextUsingData(americaGroup, dataSummaryData.titleContent.text);\r\n\r\n const listData = {\r\n lines: [\r\n [[1040, 435], [916, 435]],\r\n [[916, 435], [852, 528]],\r\n [[1319, 710], [794, 710]],\r\n [[794, 710], [672, 611]]\r\n ],\r\n }\r\n listData.lines.forEach((el, i) => {\r\n let index = i;\r\n addLine(lineGroup, el, 'list-line list-line-' + index, index, \"black\", 1, false);\r\n });\r\n function initiateAnimation() {\r\n const htmlDelayValue = 500;\r\n showImage(dataGroup, 'common-america-image-1', 500, 300, function () {\r\n\r\n })\r\n // showImage(americaGroup, 'america-image-1', htmlDelayValue, 300, function () {\r\n let mainCard = dataGroup.selectAll('.america');\r\n mainCard\r\n .transition()\r\n .delay((d, i) => i * 500)\r\n .duration(500)\r\n // .ease('bounce')\r\n .attr('height', 852)\r\n .attr('width', 775)\r\n .attr('transform', (d) => `translate(875, 120) scale(1)`)\r\n .style('opacity', 1)\r\n .call(endAll, function () {\r\n operateLine(lineGroup, 'list-line-0', 'draw', htmlDelayValue, 300, function () {\r\n operateLine(lineGroup, 'list-line-1', 'draw', htmlDelayValue, 300, function () {\r\n createCircle(americaGroup, 847, 537, 9);\r\n operateLine(lineGroup, 'list-line-2', 'draw', htmlDelayValue, 300, function () {\r\n operateLine(lineGroup, 'list-line-3', 'draw', htmlDelayValue, 300, function () {\r\n createCircle(americaGroup, 664, 607, 9)\r\n showText(americaGroup, 'screen-america-text-screen-3', 0, 200, function () {\r\n let allCards = americaGroup.selectAll('.card');\r\n allCards\r\n .transition()\r\n .delay((d, i) => i * 300)\r\n .duration(300)\r\n .ease('bounce')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY}) scale(1)`)\r\n .attr('opacity', 1)\r\n .call(endAll, function () {\r\n });\r\n })\r\n })\r\n })\r\n })\r\n })\r\n\r\n });\r\n // });\r\n\r\n }\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n baseImage = '';\r\n // baseImage = '/assets/images/ctemp/screen3.png';\r\n image.attr('xlink:href', baseImage);\r\n currentProcess.style('opacity', 1);\r\n if (isFirst) {\r\n initiateAnimation();\r\n }\r\n },\r\n climaxAnimation() {\r\n currentProcess\r\n .transition()\r\n // .duration(300)\r\n .style('opacity', 0);\r\n },\r\n resetElements() {\r\n\r\n },\r\n stopAnimation() {\r\n // currentProcess.interrupt();\r\n currentProcess\r\n // .transition()\r\n // .delay(100)\r\n // .duration(200)\r\n .style('opacity', 0);\r\n },\r\n groups: {\r\n }\r\n }\r\n })();\r\n\r\n const screenFour = (() => {\r\n const currentProcess = dataGroup.append('g')\r\n .attr('id', 'screen-4-group')\r\n .attr('class', 'screen-4-group')\r\n .style('opacity', 1);\r\n const screenFourGrp = currentProcess.append('g')\r\n .attr('id', 'screen4-group')\r\n .attr('class', 'screen4-group');\r\n const lineGroup = currentProcess.append('g')\r\n .attr('id', 'screen-3-line-group')\r\n .attr('class', 'screen-3-line-group');\r\n const dataSummaryData = {\r\n titleContent: {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'CONTINOUS ON FIELD',\r\n dy: '0em',\r\n x: 490,\r\n y: 10\r\n },\r\n {\r\n text: 'ENROLLMENT MONITORING',\r\n dy: '0em',\r\n x: 475,\r\n y: 42\r\n }],\r\n id: 'screen-america-text-screen-3',\r\n class: 'screen-america-text-screen-3 screen-3-text',\r\n x: 473,\r\n y: -190,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 29,\r\n 'fill': '#3f3d56',\r\n 'font-weight': 500,\r\n },\r\n }\r\n },\r\n dataContent: [\r\n {\r\n background: {\r\n id: 'hospital-bed-1',\r\n width: 497,\r\n height: 851,\r\n src: 'assets/images/ctemp/SVG/hospitalBed.svg',\r\n x: 800,\r\n y: 969,\r\n finalX: 800,\r\n finalY: 132,\r\n class: 'screen-4 hospital-bed-1 animate screen-4-images',\r\n s: 1,\r\n o: 1\r\n },\r\n },\r\n ]\r\n }\r\n dataSummaryData.dataContent.forEach((content, index) => {\r\n const group = screenFourGrp\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1\r\n })\r\n .attr({\r\n 'class': `screen4-group screen4-group-${index}`,\r\n 'id': `screen4-group-${index}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(1)`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n // createTextUsingData(group, content.text);\r\n });\r\n createTextUsingData(screenFourGrp, dataSummaryData.titleContent.text)\r\n const listData = {\r\n lines: [\r\n [[1024, 407], [899, 407]],\r\n [[899, 407], [835, 500]],\r\n [[1319, 710], [794, 710]],\r\n [[794, 710], [672, 611]]\r\n ],\r\n }\r\n listData.lines.forEach((el, i) => {\r\n let index = i;\r\n addLine(lineGroup, el, 'list-line list-line-' + index, index, \"black\", 1, false);\r\n });\r\n function initiateAnimation() {\r\n const htmlDelayValue = 500;\r\n // showImage(screenFourGrp, 'hospital-bed-1', htmlDelayValue, 300, function () {\r\n\r\n operateLine(lineGroup, 'list-line-0', 'draw', htmlDelayValue, 300, function () {\r\n operateLine(lineGroup, 'list-line-1', 'draw', htmlDelayValue, 300, function () {\r\n createCircle(lineGroup, 831, 508, 9)\r\n operateLine(lineGroup, 'list-line-2', 'draw', htmlDelayValue, 300, function () {\r\n operateLine(lineGroup, 'list-line-3', 'draw', htmlDelayValue, 300, function () {\r\n createCircle(lineGroup, 664, 606, 9);\r\n showText(screenFourGrp, 'screen-america-text-screen-3', 0, 200, function () {\r\n\r\n // dataGroup.selectAll('.common-hospital-bed-1')\r\n })\r\n })\r\n })\r\n })\r\n })\r\n\r\n\r\n // });\r\n\r\n }\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n baseImage = '';\r\n // baseImage = '/assets/images/ctemp/screen4.png';\r\n image.attr('xlink:href', baseImage);\r\n currentProcess.style('opacity', 1);\r\n if (isFirst) {\r\n initiateAnimation();\r\n } else {\r\n dataGroup.selectAll('.common-group-2')\r\n .attr('transform', 'translate(0,0) scale(1)');\r\n dataGroup.selectAll('.common-hospital-bed-1')\r\n .attr('transform', 'translate(800,130) scale(1)');\r\n }\r\n // commonLeftSection.manageTravellersGroup();\r\n },\r\n climaxAnimation() {\r\n currentProcess\r\n .transition()\r\n // .duration(300)\r\n .style('opacity', 0);\r\n },\r\n resetElements() {\r\n\r\n },\r\n stopAnimation() {\r\n // currentProcess.interrupt();\r\n currentProcess\r\n // .transition()\r\n // .delay(100)\r\n // .duration(200)\r\n .style('opacity', 0);\r\n },\r\n }\r\n })();\r\n\r\n const screenFive = (() => {\r\n const currentProcess = dataGroup.append('g')\r\n .attr('id', 'screen-5-group')\r\n .attr('class', 'screen-5-group')\r\n .style('opacity', 1);\r\n const screenFiveGrp = currentProcess.append('g')\r\n .attr('id', 'screen5-group')\r\n .attr('class', 'screen5-group');\r\n const lineGroup = currentProcess.append('g')\r\n .attr('id', 'screen-5-line-group')\r\n .attr('class', 'screen-5-line-group');\r\n const dataSummaryData = {\r\n titleContent: {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'TIME PREDICTION FOR',\r\n dy: '0em',\r\n x: 453,\r\n y: 68\r\n },\r\n {\r\n text: 'COMPLETION OF TRIALS',\r\n dy: '0em',\r\n x: 453,\r\n y: 102\r\n }],\r\n id: 'screen-america-text-screen-3',\r\n class: 'screen-america-text-screen-3 screen-3-text',\r\n x: 473,\r\n y: -190,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 29,\r\n 'fill': '#3f3d56',\r\n 'font-weight': 500,\r\n },\r\n }\r\n },\r\n dataContent: [\r\n {\r\n background: {\r\n id: 'hospital-bed-1',\r\n width: 497,\r\n height: 851,\r\n src: 'assets/images/ctemp/SVG/hospitalBed.svg',\r\n x: 750,\r\n y: 969,\r\n finalX: 750,\r\n finalY: -130,\r\n class: 'screen-4 hospital-bed-1 animate screen-4-images',\r\n s: 1.65,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'Phase-1',\r\n width: 133,\r\n height: 40,\r\n src: 'assets/images/ctemp/SVG/Phase1.svg',\r\n x: 1200,\r\n y: 296,\r\n finalX: 1350,\r\n finalY: 296,\r\n class: 'screen-4 Phase-1 animate screen-4-images',\r\n s: 1,\r\n o: 0\r\n },\r\n }, {\r\n background: {\r\n id: 'Phase-2',\r\n width: 133,\r\n height: 40,\r\n src: 'assets/images/ctemp/SVG/Phase2.svg',\r\n x: 1312,\r\n y: 296,\r\n finalX: 1462,\r\n finalY: 296,\r\n class: 'screen-4 Phase-2 animate screen-4-images',\r\n s: 1,\r\n o: 0\r\n },\r\n }, {\r\n background: {\r\n id: 'Phase-3',\r\n width: 133,\r\n height: 40,\r\n src: 'assets/images/ctemp/SVG/Phase3.svg',\r\n x: 1424,\r\n y: 296,\r\n finalX: 1582,\r\n finalY: 296,\r\n class: 'screen-4 Phase-3 animate screen-4-images',\r\n s: 1,\r\n o: 0\r\n },\r\n }, {\r\n background: {\r\n id: 'calendar-1',\r\n width: 96,\r\n height: 100,\r\n src: 'assets/images/ctemp/SVG/calender.svg',\r\n x: 1300,\r\n y: 376,\r\n finalX: 1493,\r\n finalY: 376,\r\n class: 'screen-4 calendar-1 animate screen-4-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n ]\r\n }\r\n\r\n dataSummaryData.dataContent.forEach((content, index) => {\r\n const group = screenFiveGrp\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1\r\n })\r\n .attr({\r\n 'class': `screen5-group screen5-group-${index}`,\r\n 'id': `screen5-group-${index}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(${d.s})`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n // createTextUsingData(group, content.text);\r\n });\r\n createTextUsingData(screenFiveGrp, dataSummaryData.titleContent.text)\r\n const listData = {\r\n lines: [\r\n [[1141, 376], [1201, 314]],\r\n [[1201, 314], [1316, 314]],\r\n [[1234, 779], [793, 780]],\r\n [[793, 780], [671, 681]]\r\n ],\r\n }\r\n\r\n listData.lines.forEach((el, i) => {\r\n let index = i;\r\n addLine(lineGroup, el, 'list-line list-line-' + index, index, \"black\", 1, false);\r\n });\r\n\r\n function initiateAnimation() {\r\n const htmlDelayValue = 500;\r\n // showImage(screenFiveGrp, 'hospital-bed-1', htmlDelayValue, 300, function () {\r\n dataGroup.selectAll('.common-group-2')\r\n .transition()\r\n .delay(0)\r\n .duration(500)\r\n .attr('transform', 'translate(0,0) scale(1.65)')\r\n .call(endAll, function () {\r\n })\r\n dataGroup.selectAll('.common-hospital-bed-1')\r\n .transition()\r\n .delay(0)\r\n .duration(500)\r\n .attr('transform', 'translate(455,-80)')\r\n .call(endAll, function () {\r\n operateLine(lineGroup, 'list-line-0', 'draw', htmlDelayValue, 300, function () {\r\n operateLine(lineGroup, 'list-line-1', 'draw', htmlDelayValue, 300, function () {\r\n createCircle(lineGroup, 1326, 314, 9)\r\n operateLine(lineGroup, 'list-line-2', 'draw', htmlDelayValue, 300, function () {\r\n operateLine(lineGroup, 'list-line-3', 'draw', htmlDelayValue, 300, function () {\r\n createCircle(lineGroup, 664, 676, 9);\r\n showText(screenFiveGrp, 'screen-america-text-screen-3', 0, 200, function () {\r\n showImage(screenFiveGrp, 'Phase-1', htmlDelayValue, 300, function () {\r\n showImage(screenFiveGrp, 'Phase-2', htmlDelayValue, 300, function () {\r\n showImage(screenFiveGrp, 'Phase-3', htmlDelayValue, 300, function () {\r\n showImage(screenFiveGrp, 'calendar-1', htmlDelayValue, 300, function () {\r\n\r\n })\r\n })\r\n })\r\n })\r\n })\r\n })\r\n })\r\n })\r\n })\r\n })\r\n\r\n\r\n // });\r\n\r\n }\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n baseImage = '';\r\n // baseImage = '/assets/images/ctemp/screen5.png';\r\n image.attr('xlink:href', baseImage);\r\n currentProcess.style('opacity', 1);\r\n if (isFirst) {\r\n initiateAnimation();\r\n } else {\r\n dataGroup.selectAll('.common-group-2')\r\n .attr('transform', 'translate(0,0) scale(1.65)');\r\n dataGroup.selectAll('.common-hospital-bed-1')\r\n .attr('transform', 'translate(455,-80) scale(1)');\r\n }\r\n // commonLeftSection.manageTravellersGroup();\r\n },\r\n climaxAnimation() {\r\n currentProcess\r\n .transition()\r\n // .duration(300)\r\n .style('opacity', 0);\r\n },\r\n resetElements() {\r\n\r\n },\r\n stopAnimation() {\r\n // currentProcess.interrupt();\r\n // currentProcess.style('opacity', 0);\r\n currentProcess\r\n // .transition()\r\n // .delay(100)\r\n // .duration(200)\r\n .style('opacity', 0);\r\n\r\n }\r\n }\r\n })();\r\n\r\n const screenSix = (() => {\r\n const currentProcess = dataGroup.append('g')\r\n .attr('id', 'screen-6-group')\r\n .attr('class', 'screen-6-group')\r\n .style('opacity', 1);\r\n const businessProcess = currentProcess.append('g')\r\n .attr('id', 'screen6-group')\r\n .attr('class', 'screen6-group')\r\n .style('opacity', 1);\r\n const processStepsGroup = currentProcess.append('g')\r\n .attr('id', 'process-steps')\r\n .attr('class', 'process-steps')\r\n .style('opacity', 1);\r\n const lineGroup = currentProcess.append('g')\r\n .attr('id', 'line-group')\r\n .attr('class', 'line-group')\r\n .style('opacity', 1);\r\n\r\n const dataSummaryData = {\r\n dataContent: [\r\n {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Strategy',\r\n dy: '0em',\r\n x: 475,\r\n y: -8\r\n },\r\n {\r\n text: 'and',\r\n dy: '0em',\r\n x: 477,\r\n y: 61\r\n },\r\n {\r\n text: 'Design',\r\n dy: '0em',\r\n x: 477,\r\n y: 129\r\n }],\r\n id: 'screen-6-text-1',\r\n class: 'screen-6-text-1 screen-6-text',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 44,\r\n 'font-family': 'Roboto',\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Planning',\r\n dy: '0em',\r\n x: 895,\r\n y: 55\r\n },\r\n ],\r\n id: 'screen-6-text-2',\r\n class: 'screen-6-text-2 screen-6-text',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 44,\r\n 'font-family': 'Roboto',\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Operations',\r\n dy: '0em',\r\n x: 1366,\r\n y: 55\r\n },\r\n ],\r\n id: 'screen-6-text-3',\r\n class: 'screen-6-text-3 screen-6-text',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 44,\r\n 'font-family': 'Roboto',\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Business process',\r\n dy: '0em',\r\n x: 901,\r\n y: -272\r\n },\r\n ],\r\n id: 'screen-6-text-4',\r\n class: 'screen-6-text-4 screen-6-text',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 34,\r\n 'font-family': 'Roboto',\r\n 'fill': '#3f3d56',\r\n 'font-weight': 600,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Planning',\r\n dy: '0em',\r\n x: 901,\r\n y: 50\r\n },\r\n ],\r\n id: 'screen-6-text-5',\r\n class: 'screen-6-text-5 screen-6-text',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 34,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 600,\r\n },\r\n }\r\n },\r\n\r\n ]\r\n };\r\n\r\n const processSteps = {\r\n textContent: {\r\n wholeText: [\r\n {\r\n text: 'Enrollment Forecasting 5-Step Process',\r\n dy: '0em',\r\n x: 915,\r\n y: -103\r\n }\r\n ],\r\n id: 'screen-6-process-steps-main-text',\r\n class: 'screen-6-process-steps-main-text screen-6-process-steps-text',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 33,\r\n 'font-family': 'Roboto',\r\n 'fill': '#000000',\r\n 'font-weight': 500,\r\n },\r\n },\r\n dataContent: [\r\n {\r\n background: {\r\n id: 'process-steps-1',\r\n width: 240,\r\n height: 240,\r\n src: 'assets/images/ctemp/SVG/purple.svg',\r\n x: 345,\r\n y: 550,\r\n finalX: 345,\r\n finalY: 550,\r\n class: 'screen-6 process-steps-1 animate screen-6-images',\r\n s: 1,\r\n o: 0\r\n }, text: {\r\n wholeText: [\r\n {\r\n text: 'Data',\r\n dy: '0em',\r\n x: 335,\r\n y: 135\r\n }, {\r\n text: 'Augmentation',\r\n dy: '0em',\r\n x: 335,\r\n y: 165\r\n },\r\n ],\r\n id: 'screen-6-process-steps-text-1',\r\n class: 'screen-6-process-steps-text-1 screen-6-process-steps-text',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n background: {\r\n id: 'process-steps-2',\r\n width: 330,\r\n height: 330,\r\n src: 'assets/images/ctemp/SVG/blue.svg',\r\n x: 585,\r\n y: 510,\r\n finalX: 585,\r\n finalY: 510,\r\n class: 'screen-6 process-steps-2 animate screen-6-images',\r\n s: 1,\r\n o: 0\r\n }, text: {\r\n wholeText: [\r\n {\r\n text: 'Distribution',\r\n dy: '0em',\r\n x: 625,\r\n y: 125\r\n }, {\r\n text: 'Parameter',\r\n dy: '0em',\r\n x: 625,\r\n y: 150\r\n }, {\r\n text: 'Estimation',\r\n dy: '0em',\r\n x: 625,\r\n y: 180\r\n },\r\n ],\r\n id: 'screen-6-process-steps-text-2',\r\n class: 'screen-6-process-steps-text-2 screen-6-process-steps-text',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n background: {\r\n id: 'process-steps-3',\r\n width: 240,\r\n height: 240,\r\n src: 'assets/images/ctemp/SVG/purple.svg',\r\n x: 925,\r\n y: 550,\r\n finalX: 925,\r\n finalY: 550,\r\n class: 'screen-6 process-steps-3 animate screen-6-images',\r\n s: 1,\r\n o: 0\r\n }, text: {\r\n wholeText: [\r\n {\r\n text: 'Future Events',\r\n dy: '0em',\r\n x: 915,\r\n y: 135\r\n }, {\r\n text: 'Adjustments',\r\n dy: '0em',\r\n x: 915,\r\n y: 165\r\n },\r\n ],\r\n id: 'screen-6-process-steps-text-3',\r\n class: 'screen-6-process-steps-text-3 screen-6-process-steps-text',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n background: {\r\n id: 'process-steps-4',\r\n width: 330,\r\n height: 330,\r\n src: 'assets/images/ctemp/SVG/blue.svg',\r\n x: 1168,\r\n y: 510,\r\n finalX: 1168,\r\n finalY: 510,\r\n class: 'screen-6 process-steps-4 animate screen-6-images',\r\n s: 1,\r\n o: 0\r\n }, text: {\r\n wholeText: [\r\n {\r\n text: 'Forecasting - Mixed',\r\n dy: '0em',\r\n x: 1206,\r\n y: 135\r\n }, {\r\n text: 'Distribution Models',\r\n dy: '0em',\r\n x: 1206,\r\n y: 165\r\n },\r\n ],\r\n id: 'screen-6-process-steps-text-4',\r\n class: 'screen-6-process-steps-text-4 screen-6-process-steps-text',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n background: {\r\n id: 'process-steps-5',\r\n width: 240,\r\n height: 240,\r\n src: 'assets/images/ctemp/SVG/purple.svg',\r\n x: 1510,\r\n y: 550,\r\n finalX: 1510,\r\n finalY: 550,\r\n class: 'screen-6 process-steps-5 animate screen-6-images',\r\n s: 1,\r\n o: 0\r\n }, text: {\r\n wholeText: [\r\n {\r\n text: 'Validations',\r\n dy: '0em',\r\n x: 1506,\r\n y: 150\r\n },\r\n ],\r\n id: 'screen-6-process-steps-text-5',\r\n class: 'screen-6-process-steps-text-5 screen-6-process-steps-text',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }\r\n ]\r\n };\r\n\r\n const businessProcessImages = {\r\n textContent: {\r\n wholeText: [\r\n {\r\n text: 'Business process',\r\n dy: '0em',\r\n x: 901,\r\n y: -272\r\n },\r\n ],\r\n id: 'screen-6-text-4',\r\n class: 'screen-6-text-4 screen-6-text',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 34,\r\n 'font-family': 'Roboto',\r\n 'fill': '#3f3d56',\r\n 'font-weight': 600,\r\n },\r\n },\r\n dataContent: [\r\n {\r\n grp: {\r\n x: -470,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1,\r\n },\r\n background: {\r\n id: 'business-process-3',\r\n width: 402,\r\n height: 402,\r\n src: 'assets/images/ctemp/SVG/whiteBig.svg',\r\n x: 1305,\r\n y: 380,\r\n finalX: 1305,\r\n finalY: 380,\r\n class: 'screen-6 business-process-3 animate screen-6-images',\r\n s: 1,\r\n o: 1\r\n },\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Operations',\r\n dy: '0em',\r\n x: 1366,\r\n y: 55\r\n },\r\n ],\r\n id: 'screen-6-text-3',\r\n class: 'screen-6-text-3 screen-6-text',\r\n x: 136,\r\n y: 536,\r\n dy: '0em',\r\n finalX: 136,\r\n finalY: 536,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 44,\r\n 'font-family': 'Roboto',\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400,\r\n },\r\n }\r\n },\r\n {\r\n grp: {\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1,\r\n },\r\n background: {\r\n id: 'business-process-2',\r\n width: 402,\r\n height: 402,\r\n src: 'assets/images/ctemp/SVG/whiteBig.svg',\r\n x: 835,\r\n y: 380,\r\n finalX: 835,\r\n finalY: 380,\r\n class: 'screen-6 business-process-2 animate screen-6-images',\r\n s: 1,\r\n o: 1\r\n }, text: {\r\n wholeText: [\r\n {\r\n text: 'Planning',\r\n dy: '0em',\r\n x: 895,\r\n y: 55\r\n },\r\n ],\r\n id: 'screen-6-text-2',\r\n class: 'screen-6-text-2 screen-6-text',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 44,\r\n 'font-family': 'Roboto',\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400,\r\n },\r\n }\r\n },\r\n {\r\n grp: {\r\n x: 420,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1,\r\n },\r\n background: {\r\n id: 'business-process-1',\r\n width: 402,\r\n height: 402,\r\n src: 'assets/images/ctemp/SVG/whiteBig.svg',\r\n x: 415,\r\n y: 380,\r\n finalX: 415,\r\n finalY: 380,\r\n class: 'screen-6 business-process-1 animate screen-6-images',\r\n s: 1,\r\n o: 1\r\n },\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Strategy',\r\n dy: '0em',\r\n x: 475,\r\n y: -8\r\n },\r\n {\r\n text: 'and',\r\n dy: '0em',\r\n x: 477,\r\n y: 61\r\n },\r\n {\r\n text: 'Design',\r\n dy: '0em',\r\n x: 477,\r\n y: 129\r\n }],\r\n id: 'screen-6-text-1',\r\n class: 'screen-6-text-1 screen-6-text',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 44,\r\n 'font-family': 'Roboto',\r\n 'fill': '#3f3d56',\r\n 'font-weight': 400,\r\n },\r\n }\r\n },\r\n {\r\n grp: {\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1,\r\n },\r\n background: {\r\n id: 'business-process-2_black',\r\n width: 402,\r\n height: 402,\r\n src: 'assets/images/ctemp/SVG/blackSmall.svg',\r\n x: 835,\r\n y: 380,\r\n finalX: 835,\r\n finalY: 380,\r\n class: 'screen-6 business-process-2_black animate screen-6-images',\r\n s: 1,\r\n o: 0\r\n }, text: {\r\n wholeText: [\r\n {\r\n text: 'Planning',\r\n dy: '0em',\r\n x: 901,\r\n y: 50\r\n },\r\n ],\r\n id: 'screen-6-text-5',\r\n class: 'screen-6-text-5 screen-6-text',\r\n x: 136,\r\n y: 536,\r\n dy: '0em',\r\n finalX: 136,\r\n finalY: 536,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 34,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 600,\r\n },\r\n }\r\n },\r\n ]\r\n };\r\n // createCircle(businessProcess,603,568,185,'white', 'white')\r\n // createCircle(businessProcess,1023,568,185,'white', 'white')\r\n // createCircle(businessProcess,1493,568,185,'white', 'white')\r\n businessProcessImages.dataContent.forEach((content, index) => {\r\n const group = businessProcess\r\n .append('g')\r\n .datum(content.grp)\r\n .attr({\r\n 'class': `screen6-group business-process-group-${index}`,\r\n 'id': `business-process-group-${index}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(${d.s})`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n createTextUsingData(group, content.text);\r\n });\r\n createTextUsingData(businessProcess, businessProcessImages.textContent);\r\n\r\n processSteps.dataContent.forEach((content, index) => {\r\n const group = processStepsGroup\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1\r\n })\r\n .attr({\r\n 'class': `screen6-group process-steps-group process-steps-group-${index}`,\r\n 'id': `process-steps-group-${index}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(${d.s})`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n createTextUsingData(group, content.text);\r\n });\r\n createTextUsingData(processStepsGroup, processSteps.textContent);\r\n const listData = {\r\n lines: [\r\n [[1591, 203], [1591, 275]],\r\n [[1591, 275], [1046, 275]],\r\n [[1046, 275], [1046, 361]],\r\n [[1044, 477], [1631, 477]],\r\n [[1044, 477], [461, 477]],\r\n [[461, 477], [461, 547]],\r\n [[753, 477], [753, 547]],\r\n [[1044, 477], [1044, 547]],\r\n [[1336, 477], [1336, 547]],\r\n [[1631, 477], [1631, 547]],\r\n ],\r\n }\r\n\r\n listData.lines.forEach((el, i) => {\r\n let index = i;\r\n addLine(lineGroup, el, 'list-line list-line-' + index, index, \"black\", 1, false);\r\n });\r\n\r\n function initiateAnimation() {\r\n const htmlDelayValue = 200;\r\n dataGroup.selectAll('.testTube-main-group')\r\n // .transition()\r\n // .delay(200)\r\n // .duration(300)\r\n .attr('transform', `translate(-60,0) scale(1)`);\r\n showText(businessProcess, \"screen-6-text-4\", 0, 0, function () {\r\n showText(businessProcess, \"screen-6-text-3\", 0, 0, function () {\r\n showText(businessProcess, \"screen-6-text-2\", 0, 0, function () {\r\n showText(businessProcess, \"screen-6-text-1\", 0, 0, function () {\r\n let firstCircle = businessProcess.selectAll('.business-process-group-2');\r\n let thirdCircle = businessProcess.selectAll('.business-process-group-0');\r\n firstCircle\r\n .transition()\r\n .delay(200)\r\n .duration(300)\r\n .attr({ 'transform': (d: any) => `translate(0,0) scale(1)` })\r\n .call(endAll, function () {\r\n thirdCircle\r\n .transition()\r\n .delay(200)\r\n .duration(300)\r\n .attr({ 'transform': (d: any) => `translate(0,0) scale(1)` })\r\n .call(endAll, function () {\r\n showText(businessProcess, \"screen-6-text-5\", htmlDelayValue, 300, function () { })\r\n showImage(businessProcess, 'business-process-2_black', htmlDelayValue, 300, function () {\r\n hideText(businessProcess, \"screen-6-text-2\", htmlDelayValue, 300, function () {\r\n hideText(businessProcess, \"screen-6-text-4\", htmlDelayValue, 300, function () {\r\n let blackCircle = businessProcess.selectAll('.business-process-2_black');\r\n let firstCircle = businessProcess.selectAll('.business-process-group-0');\r\n let secondCircle = businessProcess.selectAll('.business-process-group-2');\r\n businessProcess.selectAll('.screen-6-text-5')\r\n .transition()\r\n .delay(200)\r\n .duration(200)\r\n .attr({ 'transform': (d: any) => `translate(-220,526) scale(1.4)` })\r\n blackCircle\r\n .transition()\r\n .delay(200)\r\n .duration(200)\r\n .attr({ 'transform': (d: any) => `translate(760,300) scale(1.4)` })\r\n .call(endAll, function () {\r\n businessProcess.selectAll('.screen-6-text-5')\r\n .transition()\r\n .delay(200)\r\n .duration(200)\r\n .attr({ 'transform': (d: any) => `translate(136,536) scale(1)` })\r\n blackCircle\r\n .transition()\r\n .delay(200)\r\n .duration(200)\r\n .attr({ 'transform': (d: any) => `translate(835,380) scale(1)` })\r\n .call(endAll, function () {\r\n\r\n businessProcess\r\n .transition()\r\n .delay(500)\r\n .duration(300)\r\n .attr({ 'transform': (d: any) => `translate(660,-44) scale(0.37)` })\r\n .call(endAll, function () {\r\n businessProcess.selectAll('.screen-6-text-5')\r\n .transition()\r\n .delay(200)\r\n .duration(200)\r\n .attr({ 'transform': (d: any) => `translate(-220,526) scale(1.4)` })\r\n blackCircle\r\n .transition()\r\n .delay(200)\r\n .duration(200)\r\n .attr({ 'transform': (d: any) => `translate(760,300) scale(1.4)` })\r\n .call(endAll, function () {\r\n firstCircle\r\n .style('opacity', 0.5);\r\n secondCircle\r\n .style('opacity', 0.5);\r\n // operateLine(lineGroup, \"list-line-0\", \"draw\", 300, 300, function () {\r\n // operateLine(lineGroup, \"list-line-1\", \"draw\", 300, 300, function () {\r\n operateLine(lineGroup, \"list-line-2\", \"draw\", 300, 300, function () {\r\n showText(processStepsGroup, 'screen-6-process-steps-main-text', htmlDelayValue, 300, function () {\r\n operateLine(lineGroup, \"list-line-3\", \"draw\", 300, 300, function () {\r\n\r\n })\r\n operateLine(lineGroup, \"list-line-4\", \"draw\", 300, 300, function () {\r\n operateLine(lineGroup, \"list-line-5\", \"draw\", 300, 300, function () {\r\n })\r\n operateLine(lineGroup, \"list-line-6\", \"draw\", 300, 300, function () {\r\n })\r\n operateLine(lineGroup, \"list-line-7\", \"draw\", 300, 300, function () {\r\n })\r\n operateLine(lineGroup, \"list-line-8\", \"draw\", 300, 300, function () {\r\n })\r\n operateLine(lineGroup, \"list-line-9\", \"draw\", 300, 300, function () {\r\n showImage(processStepsGroup, 'process-steps-1', htmlDelayValue, 300, function () {\r\n })\r\n showImage(processStepsGroup, 'process-steps-2', htmlDelayValue, 300, function () {\r\n })\r\n showImage(processStepsGroup, 'process-steps-3', htmlDelayValue, 300, function () {\r\n })\r\n showImage(processStepsGroup, 'process-steps-4', htmlDelayValue, 300, function () {\r\n })\r\n showImage(processStepsGroup, 'process-steps-5', htmlDelayValue, 300, function () {\r\n })\r\n showText(processStepsGroup, 'screen-6-process-steps-text-1', htmlDelayValue, 300, function () {\r\n })\r\n showText(processStepsGroup, 'screen-6-process-steps-text-2', htmlDelayValue, 300, function () {\r\n })\r\n showText(processStepsGroup, 'screen-6-process-steps-text-3', htmlDelayValue, 300, function () {\r\n })\r\n showText(processStepsGroup, 'screen-6-process-steps-text-4', htmlDelayValue, 300, function () {\r\n })\r\n showText(processStepsGroup, 'screen-6-process-steps-text-5', htmlDelayValue, 300, function () {\r\n })\r\n })\r\n })\r\n })\r\n })\r\n // })\r\n // })\r\n })\r\n });\r\n })\r\n })\r\n })\r\n })\r\n })\r\n })\r\n })\r\n // showImage(businessProcess,'business-process-1', htmlDelayValue, 300, function() {\r\n // showImage(businessProcess,'business-process-2', htmlDelayValue, 300, function() {\r\n // showImage(businessProcess,'business-process-3', htmlDelayValue, 300, function() {\r\n // })\r\n // })\r\n // })\r\n })\r\n })\r\n })\r\n })\r\n d3.selectAll('.process-steps-group-0')\r\n .on('click', function () {\r\n that.onDownArrowClick('screen-7');\r\n that.selectedProcessId = 0;\r\n that.changedManualy = true;\r\n });\r\n d3.selectAll('.process-steps-group-1')\r\n .on('click', function () {\r\n that.onDownArrowClick('screen-7');\r\n that.selectedProcessId = 1;\r\n that.changedManualy = true;\r\n });\r\n d3.selectAll('.process-steps-group-2')\r\n .on('click', function () {\r\n that.onDownArrowClick('screen-7');\r\n that.selectedProcessId = 2;\r\n that.changedManualy = true;\r\n });\r\n d3.selectAll('.process-steps-group-3')\r\n .on('click', function () {\r\n that.onDownArrowClick('screen-7');\r\n that.selectedProcessId = 3;\r\n that.changedManualy = true;\r\n });\r\n d3.selectAll('.process-steps-group-4')\r\n .on('click', function () {\r\n that.onDownArrowClick('screen-7');\r\n that.selectedProcessId = 4;\r\n that.changedManualy = true;\r\n })\r\n }\r\n\r\n return {\r\n startAnimation(isFirst = false) {\r\n baseImage = '';\r\n d3.selectAll('.screen-7-group')\r\n .attr('transform', 'scale(0)');\r\n d3.selectAll('.screen-2-common-group')\r\n .attr('transform', 'scale(0)');\r\n d3.selectAll('.screen-4-common-group')\r\n .attr('transform', 'scale(0)');\r\n // baseImage = '/assets/images/ctemp/screen8.png';\r\n image.attr('xlink:href', baseImage);\r\n currentProcess.style('opacity', 1);\r\n if (isFirst) {\r\n initiateAnimation();\r\n }\r\n processStepsGroup.selectAll('.process-steps-group')\r\n .style('cursor', 'pointer');\r\n // that.onAnimationEnd();\r\n\r\n // commonLeftSection.manageTravellersGroup();\r\n },\r\n stopAnimation() {\r\n\r\n d3.selectAll('.screen-7-group')\r\n .attr('transform', 'scale(1)');\r\n d3.selectAll('.screen-2-common-group')\r\n .attr('transform', 'scale(1)');\r\n d3.selectAll('.screen-4-common-group')\r\n .attr('transform', 'scale(1)');\r\n currentProcess\r\n .style('opacity', 0);\r\n processStepsGroup.selectAll('.process-steps-group')\r\n .style('cursor', 'initial');\r\n }\r\n }\r\n })();\r\n\r\n const screenSeven = (() => {\r\n let metricsLoaderTimer = null;\r\n const currentProcess = dataGroup.append('g')\r\n .attr('id', 'screen-7-group')\r\n .attr('class', 'screen-7-group')\r\n .style('opacity', 1);\r\n const businessProcess = currentProcess.append('g')\r\n .attr('id', 'process-group')\r\n .attr('class', 'process-group')\r\n .style('opacity', 1);\r\n const lineGroup = currentProcess.append('g')\r\n .attr('id', 'line-group')\r\n .attr('class', 'line-group')\r\n .style('opacity', 1);\r\n\r\n\r\n const businessProcessImages = {\r\n selectedProcess: [{\r\n background: {\r\n id: 'selected-0',\r\n width: 445,\r\n height: 80,\r\n src: 'assets/images/ctemp/SVG/selectedProcess.svg',\r\n x: 454,\r\n y: 290,\r\n finalX: 454,\r\n finalY: 290,\r\n class: 'screen-7 selected selected-0 animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },],\r\n otherImages: [\r\n {\r\n background: {\r\n id: 'selected-circle-0',\r\n width: 145,\r\n height: 145,\r\n src: 'assets/images/ctemp/SVG/selectedCircle.svg',\r\n x: 387,\r\n y: 258,\r\n finalX: 387,\r\n finalY: 258,\r\n class: 'screen-7 selected-circle selected-circle-0 animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n }, text: {\r\n wholeText: [\r\n {\r\n text: '1',\r\n dy: '0em',\r\n x: 486,\r\n y: -189\r\n },\r\n ],\r\n id: 'screen-7-text-3',\r\n class: 'screen-7-text-3',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': '#25A1B2',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n background: {\r\n id: 'unselected-circle-0',\r\n width: 145,\r\n height: 145,\r\n src: 'assets/images/ctemp/SVG/unselectedCircle.svg',\r\n x: 387,\r\n y: 258,\r\n finalX: 387,\r\n finalY: 258,\r\n class: 'screen-7 unselected unselected-circle-0 animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n }, text: {\r\n wholeText: [\r\n {\r\n text: '1',\r\n dy: '0em',\r\n x: 460,\r\n y: 340\r\n },\r\n ],\r\n id: 'screen-7-text-3',\r\n class: 'screen-7-text-3',\r\n x: 0,\r\n y: 0,\r\n dy: '0em',\r\n finalX: 0,\r\n finalY: 0,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n background: {\r\n id: 'unselected-circle-1',\r\n width: 145,\r\n height: 145,\r\n src: 'assets/images/ctemp/SVG/unselectedCircle.svg',\r\n x: 387,\r\n y: 394,\r\n finalX: 387,\r\n finalY: 394,\r\n class: 'screen-7 unselected unselected-circle-1 animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n }, text: {\r\n wholeText: [\r\n {\r\n text: '2',\r\n dy: '0em',\r\n x: 72,\r\n y: 80\r\n },\r\n ],\r\n id: 'screen-7-text-3',\r\n class: 'screen-7-text-3',\r\n x: 387,\r\n y: 394,\r\n dy: '0em',\r\n finalX: 387,\r\n finalY: 394,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n background: {\r\n id: 'unselected-circle-2',\r\n width: 145,\r\n height: 145,\r\n src: 'assets/images/ctemp/SVG/unselectedCircle.svg',\r\n x: 387,\r\n y: 532,\r\n finalX: 387,\r\n finalY: 532,\r\n class: 'screen-7 unselected unselected-circle-2 animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n }, text: {\r\n wholeText: [\r\n {\r\n text: '3',\r\n dy: '0em',\r\n x: 72,\r\n y: 80\r\n },\r\n ],\r\n id: 'screen-7-text-3',\r\n class: 'screen-7-text-3',\r\n x: 387,\r\n y: 532,\r\n dy: '0em',\r\n finalX: 387,\r\n finalY: 532,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n background: {\r\n id: 'unselected-circle-3',\r\n width: 145,\r\n height: 145,\r\n src: 'assets/images/ctemp/SVG/unselectedCircle.svg',\r\n x: 387,\r\n y: 668,\r\n finalX: 387,\r\n finalY: 668,\r\n class: 'screen-7 unselected unselected-circle-3 animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n }, text: {\r\n wholeText: [\r\n {\r\n text: '4',\r\n dy: '0em',\r\n x: 72,\r\n y: 80\r\n },\r\n ],\r\n id: 'screen-7-text-3',\r\n class: 'screen-7-text-3',\r\n x: 387,\r\n y: 668,\r\n dy: '0em',\r\n finalX: 387,\r\n finalY: 668,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n background: {\r\n id: 'unselected-circle-4',\r\n width: 145,\r\n height: 145,\r\n src: 'assets/images/ctemp/SVG/unselectedCircle.svg',\r\n x: 387,\r\n y: 806,\r\n finalX: 387,\r\n finalY: 806,\r\n class: 'screen-7 unselected unselected-circle-4 animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n }, text: {\r\n wholeText: [\r\n {\r\n text: '5',\r\n dy: '0em',\r\n x: 72,\r\n y: 80\r\n },\r\n ],\r\n id: 'screen-7-text-3',\r\n class: 'screen-7-text-3',\r\n x: 387,\r\n y: 806,\r\n dy: '0em',\r\n finalX: 387,\r\n finalY: 806,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }\r\n ],\r\n dataContent: [\r\n {\r\n background: {\r\n id: 'unselected-0',\r\n width: 398,\r\n height: 98,\r\n src: 'assets/images/ctemp/SVG/unselected.svg',\r\n x: 447,\r\n y: 283,\r\n finalX: 447,\r\n finalY: 283,\r\n class: 'screen-7 unselected unselected-0 animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Data Augmentation',\r\n dy: '0em',\r\n x: 486,\r\n y: -189\r\n },\r\n ],\r\n id: 'screen-7-text-3',\r\n class: 'screen-7-text-3 labels',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': '#25A1B2',\r\n 'font-weight': 500,\r\n },\r\n }\r\n },\r\n {\r\n background: {\r\n id: 'unselected-1',\r\n width: 398,\r\n height: 98,\r\n src: 'assets/images/ctemp/SVG/unselected.svg',\r\n x: 447,\r\n y: 420,\r\n finalX: 447,\r\n finalY: 420,\r\n class: 'screen-7 unselected unselected-1 animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n }, text: {\r\n wholeText: [\r\n {\r\n text: 'Distribution',\r\n dy: '0em',\r\n x: 448,\r\n y: -66\r\n }, {\r\n text: 'Parameter Estimation',\r\n dy: '0em',\r\n x: 498,\r\n y: -38\r\n },\r\n ],\r\n id: 'screen-7-text-2',\r\n class: 'screen-7-text-2 labels',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': '#25A1B2',\r\n 'font-weight': 500,\r\n },\r\n }\r\n },\r\n {\r\n background: {\r\n id: 'unselected-2',\r\n width: 398,\r\n height: 98,\r\n src: 'assets/images/ctemp/SVG/unselected.svg',\r\n x: 447,\r\n y: 557,\r\n finalX: 447,\r\n finalY: 557,\r\n class: 'screen-7 unselected unselected-2 animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Future Events Adjustments',\r\n dy: '0em',\r\n x: 523,\r\n y: 85\r\n },],\r\n id: 'screen-7-text-1',\r\n class: 'screen-7-text-1 labels',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': '#25A1B2',\r\n 'font-weight': 500,\r\n },\r\n }\r\n },\r\n {\r\n background: {\r\n id: 'unselected-3',\r\n width: 398,\r\n height: 98,\r\n src: 'assets/images/ctemp/SVG/unselected.svg',\r\n x: 447,\r\n y: 695,\r\n finalX: 447,\r\n finalY: 695,\r\n class: 'screen-7 unselected unselected-3 animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n }, text: {\r\n wholeText: [\r\n {\r\n text: 'Forecasting - Mixed',\r\n dy: '0em',\r\n x: 488,\r\n y: 208\r\n }, {\r\n text: 'Distribution Models',\r\n dy: '0em',\r\n x: 488,\r\n y: 236\r\n },\r\n ],\r\n id: 'screen-6-text-5',\r\n class: 'screen-6-text-5 screen-6-text labels',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': '#25A1B2',\r\n 'font-weight': 500,\r\n },\r\n }\r\n },\r\n {\r\n background: {\r\n id: 'unselected-4',\r\n width: 398,\r\n height: 98,\r\n src: 'assets/images/ctemp/SVG/unselected.svg',\r\n x: 447,\r\n y: 830,\r\n finalX: 447,\r\n finalY: 830,\r\n class: 'screen-7 unselected unselected-4 animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n }, text: {\r\n wholeText: [\r\n {\r\n text: 'Validations',\r\n dy: '0em',\r\n x: 447,\r\n y: 360\r\n },\r\n ],\r\n id: 'screen-7-text-5',\r\n class: 'screen-7-text-5 labels',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 1,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': '#25A1B2',\r\n 'font-weight': 500,\r\n },\r\n }\r\n },\r\n ],\r\n chartImages: [\r\n {\r\n background: {\r\n id: 'chart-0',\r\n width: 1150,\r\n height: 384,\r\n src: 'assets/images/ctemp/graphImage.png',\r\n x: 950,\r\n y: 620,\r\n finalX: 950,\r\n finalY: 620,\r\n class: 'screen-7 chart chart-0 animate screen-7-images',\r\n s: 0.8,\r\n o: 0\r\n }\r\n }\r\n ],\r\n chartText: [\r\n {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Historical Benchmarking',\r\n dy: '0em',\r\n x: 1000,\r\n y: -220\r\n }, {\r\n text: '+',\r\n dy: '0em',\r\n x: 1250,\r\n y: -220\r\n }, {\r\n text: 'Distribution Parameter',\r\n dy: '0em',\r\n x: 1500,\r\n y: -220\r\n },\r\n ],\r\n id: 'screen-7-chart-text-1',\r\n class: 'chart-text-group screen-chart-7-text-1',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': 'black',\r\n 'font-weight': 600,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Method of Moments',\r\n dy: '0em',\r\n x: 1000,\r\n y: -220\r\n }, {\r\n text: '+',\r\n dy: '0em',\r\n x: 1200,\r\n y: -220\r\n }, {\r\n text: 'Bayesian Markov Chain Monte-Carlo',\r\n dy: '0em',\r\n x: 1500,\r\n y: -220\r\n },\r\n ],\r\n id: 'screen-7-chart-text-2',\r\n class: 'chart-text-group screen-chart-7-text-2',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': 'black',\r\n 'font-weight': 600,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Stratified Sampling',\r\n dy: '0em',\r\n x: 1000,\r\n y: -220\r\n }, {\r\n text: '+',\r\n dy: '0em',\r\n x: 1250,\r\n y: -220\r\n }, {\r\n text: 'Probabilistic Measurement',\r\n dy: '0em',\r\n x: 1500,\r\n y: -220\r\n },\r\n ],\r\n id: 'screen-7-chart-text-3',\r\n class: 'chart-text-group screen-7-chart-text-3',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': 'black',\r\n 'font-weight': 600,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Poisson Distribution',\r\n dy: '0em',\r\n x: 1000,\r\n y: -220\r\n }, {\r\n text: '+',\r\n dy: '0em',\r\n x: 1250,\r\n y: -220\r\n }, {\r\n text: 'Gamma Distribution',\r\n dy: '0em',\r\n x: 1500,\r\n y: -220\r\n },\r\n ],\r\n id: 'screen-7-chart-text-4',\r\n class: 'chart-text-group screen-chart-7-text-4',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': 'black',\r\n 'font-weight': 600,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Tracking',\r\n dy: '0em',\r\n x: 1000,\r\n y: -220\r\n }, {\r\n text: '+',\r\n dy: '0em',\r\n x: 1250,\r\n y: -220\r\n }, {\r\n text: 'Reforecasting during live Enrollments',\r\n dy: '0em',\r\n x: 1500,\r\n y: -220\r\n },\r\n ],\r\n id: 'screen-7-chart-text-5',\r\n class: 'chart-text-group screen-chart-7-text-5',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 22,\r\n 'font-family': 'Roboto',\r\n 'fill': 'black',\r\n 'font-weight': 600,\r\n },\r\n }\r\n }\r\n ]\r\n };\r\n\r\n businessProcessImages.selectedProcess.forEach((content, index) => {\r\n const group = businessProcess\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1\r\n })\r\n .attr({\r\n 'class': `screen7-group selected-group-${index}`,\r\n 'id': `selected-group-${index}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(${d.s})`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n });\r\n\r\n let lockFun = false;\r\n businessProcessImages.dataContent.forEach((content, index) => {\r\n const group = businessProcess\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1,\r\n })\r\n .attr({\r\n 'class': `screen7-group business-process-group business-process-group-${index}`,\r\n 'id': `business-process-group-${index}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(${d.s})`\r\n })\r\n .style('opacity', (d: any) => d.o)\r\n .on('click', function (d: any) {\r\n that.selectedProcess = content;\r\n lockFun = true;\r\n selectProcess(index);\r\n });\r\n createImageUsingData(group, content.background);\r\n createTextUsingData(group, content.text);\r\n });\r\n\r\n businessProcessImages.otherImages.forEach((content, index) => {\r\n const group = businessProcess\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1\r\n })\r\n .attr({\r\n 'class': `screen7-group unselected-circle-group-${index}`,\r\n 'id': `unselected-circle-group-${index}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(${d.s})`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n createTextUsingData(group, content.text);\r\n });\r\n businessProcessImages.chartImages.forEach((content, index) => {\r\n const group = businessProcess\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1\r\n })\r\n .attr({\r\n 'class': `screen7-group chart-group-${index}`,\r\n 'id': `chart-group-${index}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(1)`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n createImageUsingData(group, content.background);\r\n });\r\n\r\n businessProcessImages.chartText.forEach((content, index) => {\r\n const group = businessProcess\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1,\r\n })\r\n .attr({\r\n 'class': `screen7-group chart-text-group-${index}`,\r\n 'id': `chart-text-group-${index}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(${d.s})`\r\n })\r\n .style('opacity', (d: any) => d.o)\r\n createTextUsingData(group, content.text);\r\n });\r\n let that = this;\r\n\r\n function selectProcess(index) {\r\n that.changedManualy = false;\r\n const chartData = [\r\n {\r\n \"country\": \"India\",\r\n \"years\": [\r\n {\r\n \"year\": \"2020\",\r\n \"enrollment\": \"85\",\r\n \"siteFailure\": \"7\",\r\n \"emptySites\": \"4\",\r\n \"screeningFailures\": \"2.5\",\r\n \"patientDropOff\": \"3\"\r\n },\r\n {\r\n \"year\": \"2021\",\r\n \"enrollment\": \"45\",\r\n \"siteFailure\": \"3\",\r\n \"emptySites\": \"2\",\r\n \"screeningFailures\": \"0.5\",\r\n \"patientDropOff\": \"1\"\r\n }\r\n ]\r\n },\r\n {\r\n \"country\": \"Brazil\",\r\n \"years\": [\r\n {\r\n \"year\": \"2020\",\r\n \"enrollment\": \"75\",\r\n \"siteFailure\": \"5\",\r\n \"emptySites\": \"1\",\r\n \"screeningFailures\": \"0.5\",\r\n \"patientDropOff\": \"2\"\r\n },\r\n {\r\n \"year\": \"2021\",\r\n \"enrollment\": \"55\",\r\n \"siteFailure\": \"2\",\r\n \"emptySites\": \"2\",\r\n \"screeningFailures\": \"1.5\",\r\n \"patientDropOff\": \"5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"country\": \"United States\",\r\n \"years\": [\r\n {\r\n \"year\": \"2020\",\r\n \"enrollment\": \"35\",\r\n \"siteFailure\": \"5\",\r\n \"emptySites\": \"1\",\r\n \"screeningFailures\": \"0.5\",\r\n \"patientDropOff\": \"2\"\r\n },\r\n {\r\n \"year\": \"2021\",\r\n \"enrollment\": \"95\",\r\n \"siteFailure\": \"6\",\r\n \"emptySites\": \"7\",\r\n \"screeningFailures\": \"3.5\",\r\n \"patientDropOff\": \"1\"\r\n }\r\n ]\r\n },\r\n {\r\n \"country\": \"UK\",\r\n \"years\": [\r\n {\r\n \"year\": \"2020\",\r\n \"enrollment\": \"60\",\r\n \"siteFailure\": \"8\",\r\n \"emptySites\": \"2\",\r\n \"screeningFailures\": \"6.5\",\r\n \"patientDropOff\": \"1\"\r\n },\r\n {\r\n \"year\": \"2021\",\r\n \"enrollment\": \"65\",\r\n \"siteFailure\": \"2\",\r\n \"emptySites\": \"4\",\r\n \"screeningFailures\": \"1.5\",\r\n \"patientDropOff\": \"3\"\r\n }\r\n ]\r\n },\r\n {\r\n \"country\": \"China\",\r\n \"years\": [\r\n {\r\n \"year\": \"2020\",\r\n \"enrollment\": \"40\",\r\n \"siteFailure\": \"8\",\r\n \"emptySites\": \"3\",\r\n \"screeningFailures\": \"1.5\",\r\n \"patientDropOff\": \"8\"\r\n },\r\n {\r\n \"year\": \"2021\",\r\n \"enrollment\": \"75\",\r\n \"siteFailure\": \"3\",\r\n \"emptySites\": \"5\",\r\n \"screeningFailures\": \"2.5\",\r\n \"patientDropOff\": \"0\"\r\n }\r\n ]\r\n }\r\n ]\r\n deSelectCurrentProcess();\r\n that.selectedProcessId = index;\r\n let x = 0, y = 0;\r\n that.prevProcess = that.selectedProcess;\r\n businessProcess.selectAll('.selected-0')\r\n .attr('transform', `translate(${that.selectedProcess.background.x}, ${that.selectedProcess.background.y + 7}) scale(1)`)\r\n .style('opacity', 1);\r\n businessProcess.selectAll(`.${that.selectedProcess.background.id}`)\r\n .style('opacity', 0);\r\n clearChartData();\r\n hideImage(businessProcess, 'chart-0', 200, 300, function () { })\r\n let graphBox = document.getElementsByTagName('foreignObject');\r\n if (graphBox.length) {\r\n graphBox[0].remove();\r\n }\r\n d3.selectAll('#chart-legend-0').style('opacity', 0);\r\n d3.selectAll(\".chart-legend-group-0\").remove();\r\n d3.selectAll(\".chart-legend-text-group-0\").remove();\r\n operateLine(lineGroup, 'chart-line-0', 'hide', 300, 300, function () { })\r\n operateLine(lineGroup, 'chart-line-1', 'hide', 300, 300, function () { })\r\n operateLine(lineGroup, 'chart-line-2', 'hide', 300, 300, function () { })\r\n operateLine(lineGroup, 'chart-line-3', 'hide', 300, 300, function () { })\r\n operateLine(lineGroup, 'chart-line-4', 'hide', 300, 300, function () { })\r\n switch (index) {\r\n case 0: x = 387; y = 258;\r\n showText(businessProcess, 'screen-chart-7-text-1', 200, 300, function () { })\r\n businessProcess.append('foreignObject')\r\n .attr('x', 956)\r\n .attr('y', 355)\r\n .attr('width', 920)\r\n .attr('height', 563)\r\n .append('xhtml:div')\r\n .attr({\r\n 'class': `graph-1`\r\n })\r\n .style({\r\n 'opacity': 1,\r\n 'transition': (d, i) => `all 500ms ease-in-out`\r\n })\r\n .append('xhtml:div')\r\n .attr({\r\n 'class': `graph-1-child`\r\n })\r\n .html(d => `\r\n
\r\n
\r\n
\r\n
Historical Activation Curve
\r\n Monte Carlo Simulation\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
`);\r\n createLineChart();\r\n break;\r\n case 1: x = 387; y = 394;\r\n showText(businessProcess, 'screen-chart-7-text-2', 200, 300, function () { })\r\n businessProcess.append('foreignObject')\r\n .attr('x', 956)\r\n .attr('y', 355)\r\n .attr('width', 920)\r\n .attr('height', 563)\r\n .append('xhtml:div')\r\n .attr({\r\n 'class': `graph-1`\r\n })\r\n .style({\r\n 'opacity': 1,\r\n 'transition': (d, i) => `all 500ms ease-in-out`\r\n })\r\n .append('xhtml:div')\r\n .attr({\r\n 'class': `graph-1-child`\r\n })\r\n .html(d => `
\r\n
\r\n
\r\n
Distribution Curves
\r\n For Pre & Post Feasibility \r\n
\r\n
\r\n

Toggle to see different distribution views

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
`);\r\n createAreaChart();\r\n break;\r\n case 2: x = 387; y = 532;\r\n businessProcess.append('foreignObject')\r\n .attr('x', 956)\r\n .attr('y', 355)\r\n .attr('width', 920)\r\n .attr('height', 563)\r\n .append('xhtml:div')\r\n .attr({\r\n 'class': `graph-1`\r\n })\r\n .style({\r\n 'opacity': 1,\r\n 'transition': (d, i) => `all 500ms ease-in-out`\r\n })\r\n .append('xhtml:div')\r\n .attr({\r\n 'class': `graph-1-child`\r\n })\r\n .html(d => `
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n Site Failure\r\n 6%\r\n
  • \r\n
  • \r\n Empty Sites\r\n 7%\r\n
  • \r\n
  • \r\n Screening Failure\r\n 3.5%\r\n
  • \r\n
  • \r\n Patient Drop Off\r\n 1%\r\n
  • \r\n
\r\n
\r\n \r\n
`);\r\n const dataSummaryData2 = {\r\n dataContent: [\r\n {\r\n background: {\r\n id: 'globe-image-1',\r\n width: 1920,\r\n height: 591,\r\n src: 'assets/images/ctemp/SVG/globe.svg',\r\n x: 0,\r\n y: 969,\r\n finalX: 0,\r\n finalY: 380,\r\n class: 'screen-2 globe-image-1 background pie-background animate screen-2-images',\r\n s: 1,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'continents-1',\r\n width: 1488,\r\n height: 450,\r\n src: 'assets/images/ctemp/SVG/continents.svg',\r\n x: 353,\r\n y: 969,\r\n finalX: 353,\r\n finalY: 505,\r\n class: 'screen-2 continents-1 background pie-background animate screen-2-images',\r\n s: 1,\r\n o: 0.8\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-country-1',\r\n width: 219,\r\n height: 84,\r\n src: 'assets/images/ctemp/SVG/Country1.svg',\r\n x: 1298,\r\n y: 621,\r\n finalX: 1298,\r\n finalY: 621,\r\n class: 'country screen-2-country-1 background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-country-2',\r\n width: 109,\r\n height: 72,\r\n src: 'assets/images/ctemp/SVG/Country2.svg',\r\n x: 1288,\r\n y: 656,\r\n finalX: 1288,\r\n finalY: 656,\r\n class: 'country screen-2-country-2 background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n // {\r\n // background: {\r\n // id: 'screen-2-country-3',\r\n // width: 88,\r\n // height: 41,\r\n // src: 'assets/images/ctemp/SVG/Country3.svg',\r\n // x: 1174,\r\n // y: 637,\r\n // finalX: 1174,\r\n // finalY: 637,\r\n // class: 'country screen-2-country-3 background pie-background animate screen-7-images',\r\n // s: 1,\r\n // o: 0\r\n // },\r\n // },\r\n // {\r\n // background: {\r\n // id: 'screen-2-country-4',\r\n // width: 81,\r\n // height: 48,\r\n // src: 'assets/images/ctemp/SVG/Country4.svg',\r\n // x: 1048,\r\n // y: 727,\r\n // finalX: 1048,\r\n // finalY: 727,\r\n // class: 'country screen-2-country-4 background pie-background animate screen-7-images',\r\n // s: 1,\r\n // o: 0\r\n // },\r\n // },\r\n {\r\n background: {\r\n id: 'screen-2-country-5',\r\n width: 186,\r\n height: 114,\r\n src: 'assets/images/ctemp/SVG/Country5.svg',\r\n x: 633,\r\n y: 734,\r\n finalX: 633,\r\n finalY: 734,\r\n class: 'country screen-2-country-5 background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-country-6',\r\n width: 240,\r\n height: 67,\r\n src: 'assets/images/ctemp/SVG/Country6.svg',\r\n x: 468,\r\n y: 622,\r\n finalX: 468,\r\n finalY: 622,\r\n class: 'country screen-2-country-6 background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-country-7',\r\n width: 112,\r\n height: 50,\r\n src: 'assets/images/ctemp/SVG/Country7.svg',\r\n x: 952,\r\n y: 593,\r\n finalX: 952,\r\n finalY: 593,\r\n class: 'country screen-2-country-7 background pie-background animate screen-2-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-1',\r\n width: 100.8,\r\n height: 91.8,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 1480,\r\n y: 656,\r\n finalX: 1430,\r\n finalY: 610,\r\n class: 'hospital screen-2-hospital-1 background pie-background animate screen-2-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-6',\r\n width: 168,\r\n height: 153,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 562,\r\n y: 588,\r\n finalX: 478,\r\n finalY: 512,\r\n class: 'hospital screen-2-hospital-6 background pie-background animate screen-2-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n // {\r\n // background: {\r\n // id: 'screen-2-Hospital-4',\r\n // width: 100.8,\r\n // height: 81.8,\r\n // src: 'assets/images/ctemp/SVG/hospital.svg',\r\n // x: 1118,\r\n // y: 723,\r\n // finalX: 1068,\r\n // finalY: 682,\r\n // class: 'hospital screen-2-hospital-4 background pie-background animate screen-2-images',\r\n // s: 0,\r\n // o: 1\r\n // },\r\n // },\r\n // {\r\n // background: {\r\n // id: 'screen-2-Hospital-1_1',\r\n // width: 84,\r\n // height: 76.5,\r\n // src: 'assets/images/ctemp/SVG/hospital.svg',\r\n // x: 1382,\r\n // y: 626,\r\n // finalX: 1330,\r\n // finalY: 588,\r\n // class: 'hospital screen-2-hospital-1_1 background pie-background animate screen-2-images',\r\n // s: 0,\r\n // o: 1\r\n // },\r\n // },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-5',\r\n width: 122.4,\r\n height: 134.4,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 755,\r\n y: 745,\r\n finalX: 694,\r\n finalY: 678,\r\n class: 'hospital screen-2-hospital-5 background pie-background animate screen-2-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-2',\r\n width: 100.8,\r\n height: 81.8,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 1325,\r\n y: 730,\r\n finalX: 1275,\r\n finalY: 690,\r\n class: 'hospital screen-2-hospital-2 background pie-background animate screen-2-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-7',\r\n width: 100.8,\r\n height: 81.8,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 995,\r\n y: 579,\r\n finalX: 945,\r\n finalY: 538,\r\n class: 'hospital screen-2-hospital-7 background pie-background animate screen-2-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n // {\r\n // background: {\r\n // id: 'screen-2-Hospital-3',\r\n // width: 100.8,\r\n // height: 91.8,\r\n // src: 'assets/images/ctemp/SVG/hospital.svg',\r\n // x: 1225,\r\n // y: 624,\r\n // finalX: 1175,\r\n // finalY: 578,\r\n // class: 'hospital screen-2-hospital-3 background pie-background animate screen-2-images',\r\n // s: 0,\r\n // o: 1\r\n // },\r\n // },\r\n ]\r\n };\r\n\r\n const svg2 = d3.selectAll('#chart-globe')\r\n .attr(\"height\", \"410\")\r\n .attr(\"width\", \"848\");\r\n const chartGroup2 = svg2.append('g')\r\n .attr('id', 'chart-globe-group-1')\r\n .attr('class', 'chart-globe-group-1')\r\n .style('opacity', 1)\r\n .attr(\"transform\", \"translate(-100,-150) scale(0.55)\");\r\n dataSummaryData2.dataContent.forEach((content, index) => {\r\n const chartGrp2 = chartGroup2\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1\r\n })\r\n .attr({\r\n 'class': `chart-globe-group chart-globe-group-${index}`,\r\n 'id': `chart-globe-group-${index}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(1)`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n createImageUsingData(chartGrp2, content.background);\r\n // createTextUsingData(group, content.text);\r\n });\r\n // showImage(businessProcess, 'globe-image-1', 0, 300, function () {\r\n\r\n // });\r\n showImage(businessProcess, 'continents-1', 0, 300, function () {\r\n // createCircle(lineGroup, 900, 490, 9);\r\n operateLine(lineGroup, 'list-line-0', 'draw', 0, 300, function () {\r\n operateLine(lineGroup, 'list-line-1', 'draw', 0, 300, function () {\r\n showText(lineGroup, 'screen-globe-text-screen-2', 0, 200, function () {\r\n let countries = businessProcess.selectAll('.screen-2-country-6');\r\n countries\r\n .transition()\r\n .delay((d, i) => 100)\r\n .duration(100)\r\n // .ease('bounce')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY}) scale(1)`)\r\n .style('opacity', 1)\r\n .call(endAll, function () {\r\n let hospital = businessProcess.selectAll('.screen-2-hospital-6');\r\n hospital\r\n .transition()\r\n .delay((d, i) => 100)\r\n .duration(100)\r\n .ease('bounce')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY}) scale(1)`)\r\n .style('opacity', 1)\r\n .call(endAll, function () {\r\n });\r\n });\r\n })\r\n })\r\n })\r\n });\r\n showText(businessProcess, 'screen-7-chart-text-3', 200, 300, function () { })\r\n\r\n let countrySelect: any = document.getElementById(\"chartGlobe-1-country\");\r\n let yearSelect: any = document.getElementById(\"chartGlobe-1-year\");\r\n countrySelect.addEventListener(\"change\", function () {\r\n //adding loader on metrics section\r\n let metricsLoader = businessProcess.select('#metrics-loader');\r\n metricsLoader\r\n .classed('animated-background', true)\r\n .style('position', 'absolute')\r\n .style('top', 0)\r\n .style('right', 0)\r\n .style('bottom', 0)\r\n .style('left', 0);\r\n\r\n if (metricsLoaderTimer != null) {\r\n clearTimeout(metricsLoaderTimer);\r\n }\r\n metricsLoaderTimer = setTimeout(() => {\r\n chartData.map((obj) => {\r\n if (obj.country == countrySelect.value) {\r\n obj.years.map((y) => {\r\n if (y.year == yearSelect.value) {\r\n document.getElementById('siteFailure').innerHTML = y.siteFailure + \"%\";\r\n document.getElementById('emptySites').innerHTML = y.emptySites + \"%\";\r\n document.getElementById('screeningFailures').innerHTML = y.screeningFailures + \"%\";\r\n document.getElementById('patientDropOff').innerHTML = y.patientDropOff + \"%\";\r\n };\r\n });\r\n }\r\n });\r\n businessProcess.selectAll('.screen-2-hospital-6').style('opacity', 0); //USA\r\n businessProcess.selectAll('.screen-2-hospital-5').style('opacity', 0); //brazil\r\n businessProcess.selectAll('.screen-2-hospital-1').style('opacity', 0); //China\r\n businessProcess.selectAll('.screen-2-hospital-2').style('opacity', 0); //India\r\n businessProcess.selectAll('.screen-2-hospital-7').style('opacity', 0); // UK\r\n businessProcess.selectAll('.screen-2-country-6').style('opacity', 0);\r\n businessProcess.selectAll('.screen-2-country-5').style('opacity', 0);\r\n businessProcess.selectAll('.screen-2-country-1').style('opacity', 0);\r\n businessProcess.selectAll('.screen-2-country-2').style('opacity', 0);\r\n businessProcess.selectAll('.screen-2-country-7').style('opacity', 0);\r\n switch (countrySelect.value) {\r\n case 'United States':\r\n showCountry(businessProcess, \"screen-2-hospital-6\")\r\n showCountry(businessProcess, \"screen-2-country-6\"); break;\r\n // businessProcess.selectAll('.screen-2-hospital-6').style('opacity',1);\r\n // businessProcess.selectAll('.screen-2-country-6').style('opacity',1);break;\r\n case 'India':\r\n showCountry(businessProcess, \"screen-2-hospital-2\")\r\n showCountry(businessProcess, \"screen-2-country-2\"); break;\r\n // businessProcess.selectAll('.screen-2-hospital-2').style('opacity',1);\r\n // businessProcess.selectAll('.screen-2-country-2').style('opacity',1);break;\r\n case 'UK':\r\n showCountry(businessProcess, \"screen-2-hospital-7\")\r\n showCountry(businessProcess, \"screen-2-country-7\"); break;\r\n // businessProcess.selectAll('.screen-2-hospital-7').style('opacity',1);\r\n // businessProcess.selectAll('.screen-2-country-7').style('opacity',1);break;\r\n case 'Brazil':\r\n showCountry(businessProcess, \"screen-2-hospital-5\")\r\n showCountry(businessProcess, \"screen-2-country-5\"); break;\r\n // businessProcess.selectAll('.screen-2-hospital-5').style('opacity',1);\r\n // businessProcess.selectAll('.screen-2-country-5').style('opacity',1);break;\r\n case 'China':\r\n showCountry(businessProcess, \"screen-2-hospital-1\")\r\n showCountry(businessProcess, \"screen-2-country-1\"); break;\r\n // businessProcess.selectAll('.screen-2-hospital-1').style('opacity',1);\r\n // businessProcess.selectAll('.screen-2-country-1').style('opacity',1);break;\r\n }\r\n\r\n metricsLoader\r\n .classed('animated-background', false)\r\n }, 500);\r\n\r\n });\r\n\r\n\r\n\r\n yearSelect.addEventListener(\"change\", function () {\r\n //adding loader on metrics section\r\n let metricsLoader = businessProcess.select('#metrics-loader');\r\n metricsLoader\r\n .classed('animated-background', true)\r\n .style('position', 'absolute')\r\n .style('top', 0)\r\n .style('right', 0)\r\n .style('bottom', 0)\r\n .style('left', 0);\r\n\r\n if (metricsLoaderTimer != null) {\r\n clearTimeout(metricsLoaderTimer);\r\n }\r\n\r\n metricsLoaderTimer = setTimeout(() => {\r\n chartData.map((obj) => {\r\n if (obj.country == countrySelect.value) {\r\n obj.years.map((y) => {\r\n if (y.year == yearSelect.value) {\r\n document.getElementById('siteFailure').innerHTML = y.siteFailure + \"%\";\r\n document.getElementById('emptySites').innerHTML = y.emptySites + \"%\";\r\n document.getElementById('screeningFailures').innerHTML = y.screeningFailures + \"%\";\r\n document.getElementById('patientDropOff').innerHTML = y.patientDropOff + \"%\";\r\n };\r\n });\r\n }\r\n });\r\n switch (countrySelect.value) {\r\n case 'United States':\r\n case 'India':\r\n case 'UK':\r\n case 'Brazil':\r\n case 'China':\r\n }\r\n metricsLoader\r\n .classed('animated-background', false)\r\n }, 500);\r\n });\r\n // showImage(businessProcess, 'chart-0', 200, 300, function () { })\r\n break;\r\n case 3: x = 387; y = 668;\r\n businessProcess.append('foreignObject')\r\n .attr('x', 956)\r\n .attr('y', 355)\r\n .attr('width', 920)\r\n .attr('height', 563)\r\n .append('xhtml:div')\r\n .attr({\r\n 'class': `graph-1`\r\n })\r\n .style({\r\n 'opacity': 1,\r\n 'transition': (d, i) => `all 500ms ease-in-out`\r\n })\r\n .append('xhtml:div')\r\n .attr({\r\n 'class': `graph-1-child`\r\n })\r\n .html(d => `
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
`);\r\n\r\n const dataSummaryData = {\r\n dataContent: [\r\n {\r\n background: {\r\n id: 'globe-image-1',\r\n width: 1920,\r\n height: 591,\r\n src: 'assets/images/ctemp/SVG/globe.svg',\r\n x: 0,\r\n y: 969,\r\n finalX: 0,\r\n finalY: 380,\r\n class: 'screen-2 globe-image-1 background pie-background animate screen-2-images',\r\n s: 1,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'continents-1',\r\n width: 1488,\r\n height: 450,\r\n src: 'assets/images/ctemp/SVG/continents.svg',\r\n x: 353,\r\n y: 969,\r\n finalX: 353,\r\n finalY: 505,\r\n class: 'screen-2 continents-1 background pie-background animate screen-2-images',\r\n s: 1,\r\n o: 0.8\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-country-1',\r\n width: 219,\r\n height: 84,\r\n src: 'assets/images/ctemp/SVG/Country1.svg',\r\n x: 1298,\r\n y: 621,\r\n finalX: 1298,\r\n finalY: 621,\r\n class: 'country screen-2-country-1 background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-country-2',\r\n width: 109,\r\n height: 72,\r\n src: 'assets/images/ctemp/SVG/Country2.svg',\r\n x: 1288,\r\n y: 656,\r\n finalX: 1288,\r\n finalY: 656,\r\n class: 'country screen-2-country-2 background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n // {\r\n // background: {\r\n // id: 'screen-2-country-3',\r\n // width: 88,\r\n // height: 41,\r\n // src: 'assets/images/ctemp/SVG/Country3.svg',\r\n // x: 1174,\r\n // y: 637,\r\n // finalX: 1174,\r\n // finalY: 637,\r\n // class: 'country screen-2-country-3 background pie-background animate screen-7-images',\r\n // s: 1,\r\n // o: 0\r\n // },\r\n // },\r\n // {\r\n // background: {\r\n // id: 'screen-2-country-4',\r\n // width: 81,\r\n // height: 48,\r\n // src: 'assets/images/ctemp/SVG/Country4.svg',\r\n // x: 1048,\r\n // y: 727,\r\n // finalX: 1048,\r\n // finalY: 727,\r\n // class: 'country screen-2-country-4 background pie-background animate screen-7-images',\r\n // s: 1,\r\n // o: 0\r\n // },\r\n // },\r\n {\r\n background: {\r\n id: 'screen-2-country-5',\r\n width: 186,\r\n height: 114,\r\n src: 'assets/images/ctemp/SVG/Country5.svg',\r\n x: 633,\r\n y: 734,\r\n finalX: 633,\r\n finalY: 734,\r\n class: 'country screen-2-country-5 background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-country-6',\r\n width: 240,\r\n height: 67,\r\n src: 'assets/images/ctemp/SVG/Country6.svg',\r\n x: 468,\r\n y: 622,\r\n finalX: 468,\r\n finalY: 622,\r\n class: 'country screen-2-country-6 background pie-background animate screen-7-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-country-7',\r\n width: 112,\r\n height: 50,\r\n src: 'assets/images/ctemp/SVG/Country7.svg',\r\n x: 952,\r\n y: 593,\r\n finalX: 952,\r\n finalY: 593,\r\n class: 'country screen-2-country-7 background pie-background animate screen-2-images',\r\n s: 1,\r\n o: 0\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-1',\r\n width: 100.8,\r\n height: 91.8,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 1480,\r\n y: 656,\r\n finalX: 1430,\r\n finalY: 610,\r\n class: 'hospital screen-2-hospital-1 background pie-background animate screen-2-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-6',\r\n width: 168,\r\n height: 153,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 562,\r\n y: 588,\r\n finalX: 478,\r\n finalY: 512,\r\n class: 'hospital screen-2-hospital-6 background pie-background animate screen-2-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n // {\r\n // background: {\r\n // id: 'screen-2-Hospital-4',\r\n // width: 100.8,\r\n // height: 81.8,\r\n // src: 'assets/images/ctemp/SVG/hospital.svg',\r\n // x: 1118,\r\n // y: 723,\r\n // finalX: 1068,\r\n // finalY: 682,\r\n // class: 'hospital screen-2-hospital-4 background pie-background animate screen-2-images',\r\n // s: 0,\r\n // o: 1\r\n // },\r\n // },\r\n // {\r\n // background: {\r\n // id: 'screen-2-Hospital-1_1',\r\n // width: 84,\r\n // height: 76.5,\r\n // src: 'assets/images/ctemp/SVG/hospital.svg',\r\n // x: 1382,\r\n // y: 626,\r\n // finalX: 1330,\r\n // finalY: 588,\r\n // class: 'hospital screen-2-hospital-1_1 background pie-background animate screen-2-images',\r\n // s: 0,\r\n // o: 1\r\n // },\r\n // },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-5',\r\n width: 122.4,\r\n height: 134.4,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 755,\r\n y: 745,\r\n finalX: 694,\r\n finalY: 678,\r\n class: 'hospital screen-2-hospital-5 background pie-background animate screen-2-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-2',\r\n width: 100.8,\r\n height: 81.8,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 1325,\r\n y: 730,\r\n finalX: 1275,\r\n finalY: 690,\r\n class: 'hospital screen-2-hospital-2 background pie-background animate screen-2-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'screen-2-Hospital-7',\r\n width: 100.8,\r\n height: 81.8,\r\n src: 'assets/images/ctemp/SVG/hospital.svg',\r\n x: 995,\r\n y: 579,\r\n finalX: 945,\r\n finalY: 538,\r\n class: 'hospital screen-2-hospital-7 background pie-background animate screen-2-images',\r\n s: 0,\r\n o: 1\r\n },\r\n },\r\n {\r\n background: {\r\n id: 'green-selection-box',\r\n width: 495,\r\n height: 195,\r\n src: 'assets/images/ctemp/SVG/chartSelection.svg',\r\n x: 260,\r\n y: 238,\r\n finalX: 260,\r\n finalY: 238,\r\n class: 'hospital green-selection-box animate ',\r\n s: 1,\r\n o: 1\r\n },\r\n },\r\n // {\r\n // background: {\r\n // id: 'screen-2-Hospital-3',\r\n // width: 100.8,\r\n // height: 91.8,\r\n // src: 'assets/images/ctemp/SVG/hospital.svg',\r\n // x: 1225,\r\n // y: 624,\r\n // finalX: 1175,\r\n // finalY: 578,\r\n // class: 'hospital screen-2-hospital-3 background pie-background animate screen-2-images',\r\n // s: 0,\r\n // o: 1\r\n // },\r\n // },\r\n ]\r\n };\r\n\r\n const svg = d3.selectAll('#chart-globe')\r\n .attr(\"height\", \"410\")\r\n .attr(\"width\", \"848\");\r\n const chartGroup = svg.append('g')\r\n .attr('id', 'chart-globe-group-1')\r\n .attr('class', 'chart-globe-group-1')\r\n .style('opacity', 1)\r\n .attr(\"transform\", \"translate(-100,-110) scale(0.55)\");\r\n\r\n dataSummaryData.dataContent.forEach((content, index) => {\r\n const chartGrp = chartGroup\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1\r\n })\r\n .attr({\r\n 'class': `chart-globe-group chart-globe-group-${index}`,\r\n 'id': `chart-globe-group-${index}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(1)`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n createImageUsingData(chartGrp, content.background);\r\n // createTextUsingData(group, content.text);\r\n });\r\n // showImage(businessProcess, 'globe-image-1', 0, 300, function () {\r\n const chartText = {\r\n textArr: [\r\n {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Enrollment Completion',\r\n dy: '0em',\r\n x: 300,\r\n y: -220\r\n }, {\r\n text: 'Probability',\r\n dy: '0em',\r\n x: 230,\r\n y: -180\r\n }, {\r\n text: '35%',\r\n dy: '0em',\r\n x: 550,\r\n y: -220\r\n },\r\n ],\r\n id: 'screen-7-chart-text-1',\r\n class: 'chart-text-group chart-perc-0',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 28,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Enrollment Completion',\r\n dy: '0em',\r\n x: 300,\r\n y: -220\r\n }, {\r\n text: 'Probability',\r\n dy: '0em',\r\n x: 230,\r\n y: -180\r\n }, {\r\n text: '95%',\r\n dy: '0em',\r\n x: 550,\r\n y: -220\r\n },\r\n ],\r\n id: 'screen-7-chart-text-2',\r\n class: 'chart-text-group chart-perc-1',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 28,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Enrollment Completion',\r\n dy: '0em',\r\n x: 1100,\r\n y: -220\r\n }, {\r\n text: 'Probability',\r\n dy: '0em',\r\n x: 1050,\r\n y: -180\r\n }, {\r\n text: '85%',\r\n dy: '0em',\r\n x: 1350,\r\n y: -220\r\n },\r\n ],\r\n id: 'screen-7-chart-text-3',\r\n class: 'chart-text-group chart-perc-2',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 28,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Enrollment Completion',\r\n dy: '0em',\r\n x: 1100,\r\n y: -220\r\n }, {\r\n text: 'Probability',\r\n dy: '0em',\r\n x: 1050,\r\n y: -180\r\n }, {\r\n text: '45%',\r\n dy: '0em',\r\n x: 1350,\r\n y: -220\r\n },\r\n ],\r\n id: 'screen-7-chart-text-4',\r\n class: 'chart-text-group chart-perc-3',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 28,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Enrollment Completion',\r\n dy: '0em',\r\n x: 1250,\r\n y: -220\r\n }, {\r\n text: 'Probability',\r\n dy: '0em',\r\n x: 1180,\r\n y: -180\r\n }, {\r\n text: '40%',\r\n dy: '0em',\r\n x: 1500,\r\n y: -220\r\n },\r\n ],\r\n id: 'screen-7-chart-text-5',\r\n class: 'chart-text-group chart-perc-4',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 28,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Enrollment Completion',\r\n dy: '0em',\r\n x: 1250,\r\n y: -220\r\n }, {\r\n text: 'Probability',\r\n dy: '0em',\r\n x: 1180,\r\n y: -180\r\n }, {\r\n text: '75%',\r\n dy: '0em',\r\n x: 1500,\r\n y: -220\r\n },\r\n ],\r\n id: 'screen-7-chart-text-1',\r\n class: 'chart-text-group chart-perc-5',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 28,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Enrollment Completion',\r\n dy: '0em',\r\n x: 520,\r\n y: -220\r\n }, {\r\n text: 'Probability',\r\n dy: '0em',\r\n x: 445,\r\n y: -180\r\n }, {\r\n text: '75%',\r\n dy: '0em',\r\n x: 770,\r\n y: -220\r\n },\r\n ],\r\n id: 'screen-7-chart-text-2',\r\n class: 'chart-text-group chart-perc-6',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 28,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Enrollment Completion',\r\n dy: '0em',\r\n x: 520,\r\n y: -220\r\n }, {\r\n text: 'Probability',\r\n dy: '0em',\r\n x: 445,\r\n y: -180\r\n }, {\r\n text: '55%',\r\n dy: '0em',\r\n x: 770,\r\n y: -220\r\n },\r\n ],\r\n id: 'screen-7-chart-text-3',\r\n class: 'chart-text-group chart-perc-7',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 28,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Enrollment Completion',\r\n dy: '0em',\r\n x: 750,\r\n y: -220\r\n }, {\r\n text: 'Probability',\r\n dy: '0em',\r\n x: 675,\r\n y: -180\r\n }, {\r\n text: '60%',\r\n dy: '0em',\r\n x: 1000,\r\n y: -220\r\n },\r\n ],\r\n id: 'screen-7-chart-text-4',\r\n class: 'chart-text-group chart-perc-8',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 28,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Enrollment Completion',\r\n dy: '0em',\r\n x: 750,\r\n y: -220\r\n }, {\r\n text: 'Probability',\r\n dy: '0em',\r\n x: 675,\r\n y: -180\r\n }, {\r\n text: '65%',\r\n dy: '0em',\r\n x: 1000,\r\n y: -220\r\n },\r\n ],\r\n id: 'screen-7-chart-text-5',\r\n class: 'chart-text-group chart-perc-9',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 28,\r\n 'font-family': 'Roboto',\r\n 'fill': 'white',\r\n 'font-weight': 500,\r\n },\r\n }\r\n }\r\n ]\r\n }\r\n chartText.textArr.forEach((content, index) => {\r\n const group = chartGroup\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1\r\n })\r\n .attr({\r\n 'class': `selection-box-text-group selection-box-text-group-${index}`,\r\n 'id': `chart-globe-group-${index}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(1)`\r\n })\r\n createTextUsingData(group, content.text);\r\n })\r\n // });\r\n let countrySelect2: any = document.getElementById('chartGlobe-2-country');\r\n let yearSelect2: any = document.getElementById('chartGlobe-2-year');\r\n let xVal = 245, yVal = 238;\r\n showText(chartGroup, 'chart-perc-0', 100, 100, function () { });\r\n countrySelect2.addEventListener('change', function () {\r\n for (let i = 0; i < 10; i++) {\r\n hideText(chartGroup, `chart-perc-${i}`, 100, 100, function () { })\r\n }\r\n operateLine(lineGroup, 'chart-line-0', 'hide', 300, 300, function () { })\r\n operateLine(lineGroup, 'chart-line-1', 'hide', 300, 300, function () { })\r\n operateLine(lineGroup, 'chart-line-2', 'hide', 300, 300, function () { })\r\n operateLine(lineGroup, 'chart-line-3', 'hide', 300, 300, function () { })\r\n operateLine(lineGroup, 'chart-line-4', 'hide', 300, 300, function () { })\r\n switch (countrySelect2.value) {\r\n case 'United States': xVal = 260;\r\n operateLine(lineGroup, 'chart-line-0', 'draw', 300, 300, function () { })\r\n if (yearSelect2.value == '2020') {\r\n showText(chartGroup, 'chart-perc-0', 100, 100, function () { });\r\n } else {\r\n showText(chartGroup, 'chart-perc-1', 100, 100, function () { });\r\n }\r\n break;\r\n case 'India': xVal = 1050;\r\n operateLine(lineGroup, 'chart-line-1', 'draw', 300, 300, function () { });\r\n if (yearSelect2.value == '2020') {\r\n showText(chartGroup, 'chart-perc-2', 100, 100, function () { });\r\n } else {\r\n showText(chartGroup, 'chart-perc-3', 100, 100, function () { });\r\n }\r\n break;\r\n case 'China': xVal = 1200;\r\n operateLine(lineGroup, 'chart-line-2', 'draw', 300, 300, function () { });\r\n if (yearSelect2.value == '2020') {\r\n showText(chartGroup, 'chart-perc-4', 100, 100, function () { });\r\n } else {\r\n showText(chartGroup, 'chart-perc-5', 100, 100, function () { });\r\n }\r\n break;\r\n case 'Brazil': xVal = 470;\r\n operateLine(lineGroup, 'chart-line-3', 'draw', 300, 300, function () { });\r\n if (yearSelect2.value == '2020') {\r\n showText(chartGroup, 'chart-perc-6', 100, 100, function () { });\r\n } else {\r\n showText(chartGroup, 'chart-perc-7', 100, 100, function () { });\r\n }\r\n break;\r\n case 'UK': xVal = 700;\r\n operateLine(lineGroup, 'chart-line-4', 'draw', 300, 300, function () { });\r\n if (yearSelect2.value == '2020') {\r\n showText(chartGroup, 'chart-perc-8', 100, 100, function () { });\r\n } else {\r\n showText(chartGroup, 'chart-perc-9', 100, 100, function () { });\r\n }\r\n break;\r\n\r\n }\r\n d3.selectAll(\".green-selection-box\")\r\n .attr(\"transform\", `translate(${xVal},238)`);\r\n\r\n\r\n\r\n })\r\n yearSelect2.addEventListener('change', function () {\r\n for (let i = 0; i < 10; i++) {\r\n hideText(chartGroup, `chart-perc-${i}`, 100, 100, function () { })\r\n }\r\n switch (countrySelect2.value) {\r\n case 'United States': xVal = 260;\r\n if (yearSelect2.value == '2020') {\r\n showText(chartGroup, 'chart-perc-0', 100, 100, function () { });\r\n } else {\r\n showText(chartGroup, 'chart-perc-1', 100, 100, function () { });\r\n }\r\n break;\r\n case 'India': xVal = 1050;\r\n if (yearSelect2.value == '2020') {\r\n showText(chartGroup, 'chart-perc-2', 100, 100, function () { });\r\n } else {\r\n showText(chartGroup, 'chart-perc-3', 100, 100, function () { });\r\n }\r\n break;\r\n case 'China': xVal = 1200;\r\n if (yearSelect2.value == '2020') {\r\n showText(chartGroup, 'chart-perc-4', 100, 100, function () { });\r\n } else {\r\n showText(chartGroup, 'chart-perc-5', 100, 100, function () { });\r\n }\r\n break;\r\n case 'Brazil': xVal = 470;\r\n if (yearSelect2.value == '2020') {\r\n showText(chartGroup, 'chart-perc-6', 100, 100, function () { });\r\n } else {\r\n showText(chartGroup, 'chart-perc-7', 100, 100, function () { });\r\n }\r\n break;\r\n case 'UK': xVal = 700;\r\n if (yearSelect2.value == '2020') {\r\n showText(chartGroup, 'chart-perc-8', 100, 100, function () { });\r\n } else {\r\n showText(chartGroup, 'chart-perc-9', 100, 100, function () { });\r\n }\r\n break;\r\n\r\n }\r\n });\r\n showImage(businessProcess, 'continents-1', 0, 300, function () {\r\n // createCircle(lineGroup, 900, 490, 9);\r\n operateLine(lineGroup, 'list-line-0', 'draw', 0, 300, function () {\r\n operateLine(lineGroup, 'list-line-1', 'draw', 0, 300, function () {\r\n showText(lineGroup, 'screen-globe-text-screen-2', 0, 200, function () {\r\n let countries = businessProcess.selectAll('.country');\r\n countries\r\n .transition()\r\n .delay((d, i) => 100)\r\n .duration(100)\r\n // .ease('bounce')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY}) scale(1)`)\r\n .style('opacity', 1)\r\n .call(endAll, function () {\r\n let hospital = businessProcess.selectAll('.hospital');\r\n hospital\r\n .transition()\r\n .delay((d, i) => i * 100)\r\n .duration(100)\r\n .ease('bounce')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY}) scale(1)`)\r\n .style('opacity', 1)\r\n .call(endAll, function () {\r\n });\r\n });\r\n })\r\n })\r\n })\r\n });\r\n showText(businessProcess, 'screen-chart-7-text-4', 200, 300, function () { })\r\n const listData2 = {\r\n lines: [\r\n [[1172, 527], [1172, 582]],\r\n [[1604, 527], [1604, 670]],\r\n [[1688, 527], [1688, 627]],\r\n [[1288, 527], [1288, 671]],\r\n [[1413, 527], [1413, 590]],\r\n ],\r\n }\r\n\r\n listData2.lines.forEach((el, i) => {\r\n let index = i;\r\n const line = addDashedLine(lineGroup, el, `screen-7-chart chart-line-${i}`, 'black', '5,4', 3, false);\r\n line.attr('stroke-dashoffset', d => d.pathLength);\r\n // addLine(chartGroup, el, 'list-line list-line-' + index, index,\"black\",1,false);\r\n });\r\n operateLine(lineGroup, 'chart-line-0', 'draw', 300, 300, function () { })\r\n // showImage(businessProcess, 'chart-0', 200, 300, function () { })\r\n break;\r\n case 4: x = 387; y = 806;\r\n showText(businessProcess, 'screen-chart-7-text-5', 200, 300, function () { })\r\n businessProcess.append('foreignObject')\r\n .attr('x', 956)\r\n .attr('y', 355)\r\n .attr('width', 920)\r\n .attr('height', 563)\r\n .append('xhtml:div')\r\n .attr({\r\n 'class': `graph-1`\r\n })\r\n .style({\r\n 'opacity': 1,\r\n 'transition': (d, i) => `all 500ms ease-in-out`\r\n })\r\n .append('xhtml:div')\r\n .attr({\r\n 'class': `graph-1-child`\r\n })\r\n .html(d => `
\r\n
\r\n
\r\n
Validations Curves
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
`);\r\n let chart = d3.selectAll('#chart-legend-0');\r\n hideText(businessProcess, 'screen-chart-7-text-6', 0, 100, function () { })\r\n hideText(businessProcess, 'screen-chart-7-text-7', 0, 100, function () { })\r\n hideText(businessProcess, 'screen-chart-7-text-8', 0, 100, function () { })\r\n hideText(businessProcess, 'screen-chart-7-text-9', 0, 100, function () { })\r\n if (!chart[0].length) {\r\n // showImage(businessProcess,'chart-legend-0',0,100,function(){});\r\n let chartLegend = {\r\n background: {\r\n id: 'chart-legend-0',\r\n width: 236,\r\n height: 124,\r\n src: 'assets/images/ctemp/SVG/chartLegend.svg',\r\n x: 1620,\r\n y: 380,\r\n finalX: 1620,\r\n finalY: 380,\r\n class: 'screen-7 chart-legend chart-legend-0 animate screen-7-images',\r\n s: 1,\r\n o: 1\r\n }\r\n };\r\n let chartText = [\r\n {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Mean Forecast',\r\n dy: '0em',\r\n x: 1660,\r\n y: -118\r\n },\r\n ],\r\n id: 'screen-7-chart-text-6',\r\n class: 'chart-text-group screen-chart-7-text-6',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 14,\r\n 'font-family': 'Roboto',\r\n 'fill': 'black',\r\n 'font-weight': 600,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Confidence Boost',\r\n dy: '0em',\r\n x: 1660,\r\n y: -92\r\n },\r\n ],\r\n id: 'screen-7-chart-text-7',\r\n class: 'chart-text-group screen-chart-7-text-7',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 14,\r\n 'font-family': 'Roboto',\r\n 'fill': 'black',\r\n 'font-weight': 600,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Actual Enrollment',\r\n dy: '0em',\r\n x: 1660,\r\n y: -67\r\n },\r\n ],\r\n id: 'screen-7-chart-text-8',\r\n class: 'chart-text-group screen-chart-7-text-8',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 14,\r\n 'font-family': 'Roboto',\r\n 'fill': 'black',\r\n 'font-weight': 600,\r\n },\r\n }\r\n }, {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Reforecast Mean',\r\n dy: '0em',\r\n x: 1660,\r\n y: -40\r\n },\r\n ],\r\n id: 'screen-7-chart-text-9',\r\n class: 'chart-text-group screen-chart-7-text-9',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 14,\r\n 'font-family': 'Roboto',\r\n 'fill': 'black',\r\n 'font-weight': 600,\r\n },\r\n }\r\n }\r\n ]\r\n\r\n const group = businessProcess\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1\r\n })\r\n .attr({\r\n 'class': `screen7-group chart-legend-group-0`,\r\n 'id': `chart-legend-group-0`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(1)`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n createImageUsingData(group, chartLegend.background);\r\n const groupText = businessProcess\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1\r\n })\r\n .attr({\r\n 'class': `screen7-group chart-legend-text-group-0`,\r\n 'id': `chart-legend-text-group-0`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(1)`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n chartText.forEach(\r\n (x) => {\r\n createTextUsingData(groupText, x.text);\r\n }\r\n )\r\n }\r\n\r\n d3.selectAll('#chart-legend-0').style('opacity', 1);\r\n showText(businessProcess, 'screen-chart-7-text-6', 0, 100, function () { })\r\n showText(businessProcess, 'screen-chart-7-text-7', 0, 100, function () { })\r\n showText(businessProcess, 'screen-chart-7-text-8', 0, 100, function () { })\r\n showText(businessProcess, 'screen-chart-7-text-9', 0, 100, function () { })\r\n createMultiLineChart();\r\n break;\r\n default:\r\n // hideImage(businessProcess,'chart-legend-0',0,100,function(){});\r\n }\r\n businessProcess.selectAll('.selected-circle-0')\r\n .attr('transform', `translate(${x}, ${y}) scale(1)`)\r\n .style('opacity', 1);\r\n let text = businessProcess.selectAll(`.${that.selectedProcess.text.id}`);\r\n text\r\n .style('fill', 'white');\r\n businessProcess.selectAll(`.unselected-circle-${index}`)\r\n .style('opacity', 0);\r\n setTimeout(() => {\r\n lockFun = false;\r\n }, 500);\r\n }\r\n\r\n function showCountry(group, className) {\r\n let obj = group.selectAll(`.${className}`);\r\n obj\r\n .transition()\r\n .delay((d, i) => 100)\r\n .duration(100)\r\n // .ease('bounce')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY}) scale(1)`)\r\n .style('opacity', 1)\r\n .call(endAll, function () { });\r\n }\r\n\r\n function clearChartData() {\r\n let lineChart = d3.selectAll('#area1');\r\n lineChart.selectAll('.x-axis').remove();\r\n lineChart.selectAll('.y-axis').remove();\r\n lineChart.selectAll('.focus').remove();\r\n lineChart.selectAll('.line').remove();\r\n let selection = d3.selectAll('#area2');\r\n selection.selectAll('.x-axis').remove();\r\n selection.selectAll('.y-axis').remove();\r\n selection.selectAll('path').remove();\r\n let areaChart = d3.selectAll('#area3');\r\n areaChart.selectAll('.x-axis').remove();\r\n areaChart.selectAll('.y-axis').remove();\r\n areaChart.selectAll('.area').remove();\r\n areaChart.selectAll('path').remove();\r\n\r\n businessProcess.selectAll(\".chart-text-group\").style('opacity', 0);\r\n // hideText(businessProcess, 'screen-chart-7-text-group-0', 0, 0, function () { })\r\n // hideText(businessProcess, 'screen-chart-7-text-group-1', 0, 0, function () { })\r\n // hideText(businessProcess, 'screen-chart-7-text-group-2', 0, 0, function () { })\r\n // hideText(businessProcess, 'screen-chart-7-text-group-3', 0, 0, function () { })\r\n // hideText(businessProcess, 'screen-chart-7-text-group-4', 0, 0, function () { })\r\n\r\n }\r\n\r\n function deSelectCurrentProcess() {\r\n if (that.prevProcess == null) {\r\n that.prevProcess = that.selectedProcess;\r\n return;\r\n }\r\n businessProcess.selectAll(`.unselected`)\r\n .style('opacity', 1);\r\n businessProcess.selectAll('.selected-0')\r\n .style('opacity', 0);\r\n businessProcess.selectAll('.selected-circle-0')\r\n .style('opacity', 0);\r\n businessProcess.selectAll('.labels')\r\n .style('fill', '#25A1B2');\r\n businessProcess.selectAll(`.${that.prevProcess.background.id}`)\r\n .style('opacity', 1);\r\n\r\n\r\n }\r\n\r\n function createAreaChart() {\r\n var graphData = {\r\n initData: {\r\n areaData: [\r\n [{\r\n x: 0.125,\r\n y: 0\r\n }, {\r\n x: 0.125,\r\n y: 0,\r\n }, {\r\n x: 0.15,\r\n y: 0,\r\n }, {\r\n x: 0.15,\r\n y: 0,\r\n }, {\r\n x: 0.32,\r\n y: 0,\r\n }, {\r\n x: 0.32,\r\n y: 0,\r\n }, {\r\n x: 0.4,\r\n y: 0,\r\n }, {\r\n x: 0.4,\r\n y: 0,\r\n }, {\r\n x: 0.55,\r\n y: 0,\r\n }, {\r\n x: 0.55,\r\n y: 0,\r\n }, {\r\n x: 0.65,\r\n y: 0,\r\n }, {\r\n x: 0.65,\r\n y: 0,\r\n }, {\r\n x: 0.78,\r\n y: 0,\r\n }, {\r\n x: 0.78,\r\n y: 0,\r\n }\r\n ,],\r\n [{\r\n x: 0.1,\r\n y: 0\r\n }, {\r\n x: 0.1,\r\n y: 0,\r\n }, {\r\n x: 0.2,\r\n y: 0,\r\n }, {\r\n x: 0.2,\r\n y: 0,\r\n }, {\r\n x: 0.3,\r\n y: 0,\r\n }, {\r\n x: 0.3,\r\n y: 0,\r\n }, {\r\n x: 0.35,\r\n y: 0,\r\n }, {\r\n x: 0.35,\r\n y: 0,\r\n }, {\r\n x: 0.4,\r\n y: 0,\r\n }, {\r\n x: 0.4,\r\n y: 0,\r\n }, {\r\n x: 0.5,\r\n y: 0,\r\n }, {\r\n x: 0.5,\r\n y: 0,\r\n }, {\r\n x: 0.6,\r\n y: 0,\r\n }, {\r\n x: 0.6,\r\n y: 0,\r\n }, {\r\n x: 0.7,\r\n y: 0,\r\n }, {\r\n x: 0.7,\r\n y: 0,\r\n }, {\r\n x: 0.8,\r\n y: 0,\r\n }, {\r\n x: 0.8,\r\n y: 0,\r\n }\r\n\r\n\r\n\r\n ],\r\n [{\r\n x: 0.1,\r\n y: 0\r\n }, {\r\n x: 0.1,\r\n y: 0,\r\n }, {\r\n x: 0.175,\r\n y: 0,\r\n }, {\r\n x: 0.175,\r\n y: 0,\r\n }, {\r\n x: 0.25,\r\n y: 0,\r\n }, {\r\n x: 0.25,\r\n y: 0,\r\n }, {\r\n x: 0.35,\r\n y: 0,\r\n }, {\r\n x: 0.35,\r\n y: 0,\r\n }, {\r\n x: 0.4,\r\n y: 0,\r\n }, {\r\n x: 0.4,\r\n y: 0,\r\n }, {\r\n x: 0.7,\r\n y: 0,\r\n }, {\r\n x: 0.7,\r\n y: 0,\r\n }, {\r\n x: 0.75,\r\n y: 0,\r\n }, {\r\n x: 0.75,\r\n y: 0,\r\n }, {\r\n x: 0.85,\r\n y: 0,\r\n }, {\r\n x: 0.85,\r\n y: 0,\r\n },\r\n ],\r\n ],\r\n lineData: [\r\n [{\r\n x: -0.5,\r\n y: 0,\r\n }, {\r\n x: 0,\r\n y: 0,\r\n }, {\r\n x: 0.25,\r\n y: 0,\r\n }, {\r\n x: 0.50,\r\n y: 0,\r\n }, {\r\n x: 0.75,\r\n y: 0,\r\n }, {\r\n x: 1,\r\n y: 0,\r\n }, {\r\n x: 1.25,\r\n y: 0,\r\n }, {\r\n x: 1.50,\r\n y: 0,\r\n }]\r\n ]\r\n },\r\n gamma: {\r\n areaData: [\r\n [{\r\n x: 0.125,\r\n y: 0\r\n }, {\r\n x: 0.125,\r\n y: 0.175,\r\n }, {\r\n x: 0.15,\r\n y: 0.175,\r\n }, {\r\n x: 0.15,\r\n y: 0.85,\r\n }, {\r\n x: 0.32,\r\n y: 0.85,\r\n }, {\r\n x: 0.32,\r\n y: 0.37,\r\n }, {\r\n x: 0.4,\r\n y: 0.37,\r\n }, {\r\n x: 0.4,\r\n y: 1.65,\r\n }, {\r\n x: 0.55,\r\n y: 1.65,\r\n }, {\r\n x: 0.55,\r\n y: 1.05,\r\n }, {\r\n x: 0.65,\r\n y: 1.05,\r\n }, {\r\n x: 0.65,\r\n y: 0.85,\r\n }, {\r\n x: 0.78,\r\n y: 0.85,\r\n }, {\r\n x: 0.78,\r\n y: 0,\r\n }\r\n ,],\r\n [{\r\n x: 0.1,\r\n y: 0\r\n }, {\r\n x: 0.1,\r\n y: 0.2,\r\n }, {\r\n x: 0.2,\r\n y: 0.2,\r\n }, {\r\n x: 0.2,\r\n y: 0.75,\r\n }, {\r\n x: 0.3,\r\n y: 0.75,\r\n }, {\r\n x: 0.3,\r\n y: 1.25,\r\n }, {\r\n x: 0.35,\r\n y: 1.25,\r\n }, {\r\n x: 0.35,\r\n y: 1.5,\r\n }, {\r\n x: 0.4,\r\n y: 1.5,\r\n }, {\r\n x: 0.4,\r\n y: 1.15,\r\n }, {\r\n x: 0.5,\r\n y: 1.15,\r\n }, {\r\n x: 0.5,\r\n y: 0.85,\r\n }, {\r\n x: 0.6,\r\n y: 0.85,\r\n }, {\r\n x: 0.6,\r\n y: 0.95,\r\n }, {\r\n x: 0.7,\r\n y: 0.95,\r\n }, {\r\n x: 0.7,\r\n y: 0.2,\r\n }, {\r\n x: 0.8,\r\n y: 0.2,\r\n }, {\r\n x: 0.8,\r\n y: 0,\r\n }\r\n\r\n\r\n\r\n ],\r\n [{\r\n x: 0.1,\r\n y: 0\r\n }, {\r\n x: 0.1,\r\n y: 0.25,\r\n }, {\r\n x: 0.175,\r\n y: 0.25,\r\n }, {\r\n x: 0.175,\r\n y: 1.35,\r\n }, {\r\n x: 0.25,\r\n y: 1.35,\r\n }, {\r\n x: 0.25,\r\n y: 1.75,\r\n }, {\r\n x: 0.35,\r\n y: 1.75,\r\n }, {\r\n x: 0.35,\r\n y: 1.5,\r\n }, {\r\n x: 0.4,\r\n y: 1.5,\r\n }, {\r\n x: 0.4,\r\n y: 1,\r\n }, {\r\n x: 0.7,\r\n y: 1,\r\n }, {\r\n x: 0.7,\r\n y: 1.25,\r\n }, {\r\n x: 0.75,\r\n y: 1.25,\r\n }, {\r\n x: 0.75,\r\n y: 0.25,\r\n }, {\r\n x: 0.85,\r\n y: 0.25,\r\n }, {\r\n x: 0.85,\r\n y: 0,\r\n },\r\n ],\r\n\r\n ],\r\n lineData: [\r\n [{\r\n x: -0.25,\r\n y: 0,\r\n }, {\r\n x: 0.1,\r\n y: 0.2,\r\n }, {\r\n x: 0.2,\r\n y: 0.75,\r\n }, {\r\n x: 0.3,\r\n y: 1.25,\r\n }, {\r\n x: 0.38,\r\n y: 1.5,\r\n },\r\n {\r\n x: 0.7,\r\n y: 0.95,\r\n }, {\r\n x: 0.8,\r\n y: 0.2,\r\n }, {\r\n x: 1.2,\r\n y: 0\r\n }\r\n ], [\r\n {\r\n x: -0.25,\r\n y: 0,\r\n }, {\r\n x: 0.1,\r\n y: 0.2,\r\n }, {\r\n x: 0.2,\r\n y: 1.75,\r\n }, {\r\n x: 0.3,\r\n y: 2.25,\r\n }, {\r\n x: 0.35,\r\n y: 2.5,\r\n }, {\r\n x: 0.5,\r\n y: 2.6,\r\n },\r\n {\r\n x: 0.7,\r\n y: 1.95,\r\n }, {\r\n x: 0.8,\r\n y: 0.2,\r\n }, {\r\n x: 1.2,\r\n y: 0\r\n }\r\n ]\r\n ]\r\n },\r\n trangular: {\r\n areaData: [\r\n [{\r\n x: 0.15,\r\n y: 0\r\n }, {\r\n x: 0.15,\r\n y: 0.25,\r\n }, {\r\n x: 0.25,\r\n y: 0.25,\r\n }, {\r\n x: 0.25,\r\n y: 0.52,\r\n }, {\r\n x: 0.37,\r\n y: 0.52,\r\n }, {\r\n x: 0.37,\r\n y: 0.73,\r\n }, {\r\n x: 0.48,\r\n y: 0.73,\r\n }, {\r\n x: 0.48,\r\n y: 0.8,\r\n }, {\r\n x: 0.5,\r\n y: 0.8,\r\n }, {\r\n x: 0.5,\r\n y: 1.15,\r\n }, {\r\n x: 0.6,\r\n y: 1.15,\r\n }, {\r\n x: 0.6,\r\n y: 1.25,\r\n }, {\r\n x: 0.7,\r\n y: 1.25,\r\n }, {\r\n x: 0.7,\r\n y: 1.15,\r\n }, {\r\n x: 0.8,\r\n y: 1.15,\r\n }, {\r\n x: 0.8,\r\n y: 0,\r\n }\r\n ],\r\n [{\r\n x: 0.25,\r\n y: 0\r\n }, {\r\n x: 0.25,\r\n y: 0.23,\r\n }, {\r\n x: 0.35,\r\n y: 0.23,\r\n }, {\r\n x: 0.35,\r\n y: 0.48,\r\n }, {\r\n x: 0.45,\r\n y: 0.48,\r\n }, {\r\n x: 0.45,\r\n y: 0.8,\r\n }, {\r\n x: 0.6,\r\n y: 0.8,\r\n }, {\r\n x: 0.6,\r\n y: 1.3,\r\n }, {\r\n x: 0.7,\r\n y: 1.3,\r\n }, {\r\n x: 0.7,\r\n y: 1.45,\r\n }, {\r\n x: 0.8,\r\n y: 1.45,\r\n }, {\r\n x: 0.8,\r\n y: 1,\r\n }, {\r\n x: 0.9,\r\n y: 1,\r\n }, {\r\n x: 0.9,\r\n y: 0,\r\n },\r\n ],\r\n [{\r\n x: 0.23,\r\n y: 0\r\n }, {\r\n x: 0.23,\r\n y: 0.15,\r\n }, {\r\n x: 0.3,\r\n y: 0.15,\r\n }, {\r\n x: 0.3,\r\n y: 0.28,\r\n }, {\r\n x: 0.4,\r\n y: 0.28,\r\n }, {\r\n x: 0.4,\r\n y: 0.45,\r\n }, {\r\n x: 0.53,\r\n y: 0.45,\r\n }, {\r\n x: 0.53,\r\n y: 0.52,\r\n }, {\r\n x: 0.58,\r\n y: 0.52,\r\n }, {\r\n x: 0.58,\r\n y: 1,\r\n }, {\r\n x: 0.65,\r\n y: 1,\r\n }, {\r\n x: 0.65,\r\n y: 1.05,\r\n }, {\r\n x: 0.77,\r\n y: 1.05,\r\n }, {\r\n x: 0.77,\r\n y: 1,\r\n }, {\r\n x: 0.85,\r\n y: 1,\r\n }, {\r\n x: 0.85,\r\n y: 0,\r\n }]\r\n ],\r\n lineData: [\r\n [{\r\n x: -0.25,\r\n y: 0,\r\n }, {\r\n x: 0.1,\r\n y: 0.2,\r\n }, {\r\n x: 0.2,\r\n y: 0.75,\r\n }, {\r\n x: 0.3,\r\n y: 1.25,\r\n }, {\r\n x: 0.38,\r\n y: 1.5,\r\n },\r\n {\r\n x: 0.7,\r\n y: 0.95,\r\n }, {\r\n x: 0.8,\r\n y: 0.2,\r\n }, {\r\n x: 1.2,\r\n y: 0\r\n }\r\n ], [\r\n {\r\n x: -0.25,\r\n y: 0,\r\n }, {\r\n x: 0.1,\r\n y: 0.2,\r\n }, {\r\n x: 0.2,\r\n y: 1.75,\r\n }, {\r\n x: 0.3,\r\n y: 2.25,\r\n }, {\r\n x: 0.35,\r\n y: 2.5,\r\n }, {\r\n x: 0.5,\r\n y: 2.6,\r\n },\r\n {\r\n x: 0.7,\r\n y: 1.95,\r\n }, {\r\n x: 0.8,\r\n y: 0.2,\r\n }, {\r\n x: 1.2,\r\n y: 0\r\n }\r\n ]\r\n ]\r\n },\r\n halfnorm: {\r\n areaData: [\r\n [{\r\n x: 0.25,\r\n y: 0\r\n }, {\r\n x: 0.25,\r\n y: 1.05,\r\n }, {\r\n x: 0.3,\r\n y: 1.05,\r\n }, {\r\n x: 0.3,\r\n y: 1.23,\r\n }, {\r\n x: 0.4,\r\n y: 1.23,\r\n }, {\r\n x: 0.4,\r\n y: 1.05,\r\n }, {\r\n x: 0.55,\r\n y: 1.05,\r\n }, {\r\n x: 0.55,\r\n y: 0.9,\r\n }, {\r\n x: 0.58,\r\n y: 0.9,\r\n }, {\r\n x: 0.58,\r\n y: 0.7,\r\n }, {\r\n x: 0.7,\r\n y: 0.7,\r\n }, {\r\n x: 0.7,\r\n y: 0.52,\r\n }, {\r\n x: 0.77,\r\n y: 0.52,\r\n }, {\r\n x: 0.77,\r\n y: 0.23,\r\n }, {\r\n x: 0.88,\r\n y: 0.23,\r\n }, {\r\n x: 0.88,\r\n y: 0,\r\n }\r\n ],\r\n [{\r\n x: 0.25,\r\n y: 0\r\n }, {\r\n x: 0.25,\r\n y: 0.23,\r\n }, {\r\n x: 0.35,\r\n y: 0.23,\r\n }, {\r\n x: 0.35,\r\n y: 0.48,\r\n }, {\r\n x: 0.45,\r\n y: 0.48,\r\n }, {\r\n x: 0.45,\r\n y: 0.8,\r\n }, {\r\n x: 0.6,\r\n y: 0.8,\r\n }, {\r\n x: 0.6,\r\n y: 1.3,\r\n }, {\r\n x: 0.7,\r\n y: 1.3,\r\n }, {\r\n x: 0.7,\r\n y: 1.45,\r\n }, {\r\n x: 0.8,\r\n y: 1.45,\r\n }, {\r\n x: 0.8,\r\n y: 1,\r\n }, {\r\n x: 0.9,\r\n y: 1,\r\n }, {\r\n x: 0.9,\r\n y: 0,\r\n },\r\n ],\r\n [{\r\n x: 0.23,\r\n y: 0\r\n }, {\r\n x: 0.23,\r\n y: 0.15,\r\n }, {\r\n x: 0.3,\r\n y: 0.15,\r\n }, {\r\n x: 0.3,\r\n y: 0.28,\r\n }, {\r\n x: 0.4,\r\n y: 0.28,\r\n }, {\r\n x: 0.4,\r\n y: 0.45,\r\n }, {\r\n x: 0.53,\r\n y: 0.45,\r\n }, {\r\n x: 0.53,\r\n y: 0.52,\r\n }, {\r\n x: 0.58,\r\n y: 0.52,\r\n }, {\r\n x: 0.58,\r\n y: 1,\r\n }, {\r\n x: 0.65,\r\n y: 1,\r\n }, {\r\n x: 0.65,\r\n y: 1.05,\r\n }, {\r\n x: 0.77,\r\n y: 1.05,\r\n }, {\r\n x: 0.77,\r\n y: 1,\r\n }, {\r\n x: 0.85,\r\n y: 1,\r\n }, {\r\n x: 0.85,\r\n y: 0,\r\n }]\r\n ],\r\n lineData: [\r\n [{\r\n x: -0.25,\r\n y: 0,\r\n }, {\r\n x: 0.1,\r\n y: 0.2,\r\n }, {\r\n x: 0.2,\r\n y: 0.75,\r\n }, {\r\n x: 0.3,\r\n y: 1.25,\r\n }, {\r\n x: 0.38,\r\n y: 1.5,\r\n },\r\n {\r\n x: 0.7,\r\n y: 0.95,\r\n }, {\r\n x: 0.8,\r\n y: 0.2,\r\n }, {\r\n x: 1.2,\r\n y: 0\r\n }\r\n ], [\r\n {\r\n x: -0.25,\r\n y: 0,\r\n }, {\r\n x: 0.1,\r\n y: 0.2,\r\n }, {\r\n x: 0.2,\r\n y: 1.75,\r\n }, {\r\n x: 0.3,\r\n y: 2.25,\r\n }, {\r\n x: 0.35,\r\n y: 2.5,\r\n }, {\r\n x: 0.5,\r\n y: 2.6,\r\n },\r\n {\r\n x: 0.7,\r\n y: 1.95,\r\n }, {\r\n x: 0.8,\r\n y: 0.2,\r\n }, {\r\n x: 1.2,\r\n y: 0\r\n }\r\n ]\r\n ]\r\n },\r\n\r\n }\r\n\r\n\r\n var margin = {\r\n top: 20,\r\n right: 20,\r\n bottom: 40,\r\n left: 50\r\n },\r\n width = 848 - margin.left - margin.right,\r\n height = 410 - margin.top - margin.bottom;\r\n\r\n\r\n var svg = d3.select(\"#area3\")\r\n .attr(\"width\", width + margin.left + margin.right)\r\n .attr(\"height\", height + margin.top + margin.bottom)\r\n .append(\"g\")\r\n .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\");\r\n\r\n var x = d3.scale.linear()\r\n .range([0, width]);\r\n\r\n var xAxis = d3.svg.axis()\r\n .scale(x)\r\n .orient(\"bottom\");\r\n\r\n svg.append(\"g\")\r\n .attr(\"class\", \"x axis x-axis\")\r\n .attr(\"transform\", \"translate(0,\" + height + \")\")\r\n .call(xAxis);\r\n\r\n\r\n var y = d3.scale.linear()\r\n .range([height, 0]);\r\n\r\n var yAxis = d3.svg.axis()\r\n .scale(y)\r\n .orient(\"left\");\r\n\r\n svg.append(\"g\")\r\n .attr(\"class\", \"y axis y-axis\")\r\n\r\n function update(pervData, currentData) {\r\n\r\n\r\n x.domain([\r\n d3.min([\r\n d3.min(currentData.lineData, function (d) {\r\n return d3.min(d, function (d1) {\r\n return d1.x;\r\n })\r\n })\r\n ,\r\n d3.min(currentData.areaData, function (d) {\r\n return d3.min(d, function (d1) {\r\n return d1.x;\r\n })\r\n })]\r\n ),\r\n d3.max(\r\n [d3.max(currentData.lineData, function (d) {\r\n return d3.max(d, function (d1) {\r\n return d1.x;\r\n })\r\n })\r\n ,\r\n d3.max(currentData.areaData, function (d) {\r\n return d3.max(d, function (d1) {\r\n return d1.x;\r\n })\r\n })]\r\n )])\r\n\r\n svg.selectAll(\".x-axis\")\r\n .transition()\r\n .duration(1500)\r\n .call(xAxis);\r\n\r\n y.domain([\r\n d3.min(\r\n [d3.min(currentData.lineData, function (d) {\r\n return d3.min(d, function (d1) {\r\n return d1.y;\r\n })\r\n })\r\n ,\r\n d3.min(currentData.areaData, function (d) {\r\n return d3.min(d, function (d1) {\r\n return d1.y;\r\n })\r\n })]\r\n ),\r\n d3.max(\r\n [d3.max(currentData.lineData, function (d) {\r\n return d3.max(d, function (d1) {\r\n return d1.y;\r\n })\r\n })\r\n ,\r\n d3.max(currentData.areaData, function (d) {\r\n return d3.max(d, function (d1) {\r\n return d1.y;\r\n })\r\n })]\r\n )\r\n ])\r\n\r\n\r\n svg.selectAll(\".y-axis\")\r\n .transition()\r\n .duration(1500)\r\n .call(yAxis);\r\n\r\n\r\n var line = d3.svg.line()\r\n .x(function (d, i) {\r\n return x(d.x);\r\n })\r\n .y(function (d) {\r\n return y(d.y);\r\n })\r\n\r\n var lineGenerator = d3.svg.line()\r\n .x(function (d, i) {\r\n return x(d.x);\r\n })\r\n .y(function (d) {\r\n return y(d.y);\r\n })\r\n .interpolate(\"cardinal\");\r\n\r\n\r\n var area = d3.svg.area()\r\n .x(function (d) {\r\n return x(d.x);\r\n })\r\n .y0(height)\r\n .y1(function (d) {\r\n return y(d.y);\r\n });\r\n\r\n for (let index = 0; index < currentData.areaData.length; index++) {\r\n var areaLine = svg.selectAll('.area')\r\n .data(\r\n currentData.areaData\r\n );\r\n\r\n areaLine.enter()\r\n .append(\"path\")\r\n .datum(currentData.areaData[index])\r\n .attr(\"class\", \"area\")\r\n .style(\"fill\", (d, i) => [\"#895AF8\", \"#F5D487\", \"#D6AD9B\"][i])\r\n .style(\"opacity\", (d, i) => i == 0 ? 1 : i == 1 ? 0.6 : 0.3)\r\n .attr(\"d\", area)\r\n .transition()\r\n .duration(1500)\r\n .attrTween('d', (d, i) => {\r\n var interpolator = d3.interpolateArray(pervData.areaData[i], currentData.areaData[i]);\r\n return function (t) {\r\n return area(interpolator(t));\r\n\r\n }\r\n });\r\n\r\n\r\n\r\n areaLine.enter()\r\n .append(\"path\")\r\n .datum(currentData.areaData[index])\r\n .attr(\"class\", \"area-stroke-line\")\r\n .style(\"fill\", \"none\")\r\n .attr(\"stroke\", \"#000\")\r\n .attr(\"d\", line)\r\n .transition()\r\n .duration(1500)\r\n .attrTween('d', (d, i) => {\r\n var interpolator = d3.interpolateArray(pervData.areaData[i], currentData.areaData[i]);\r\n return function (t) {\r\n return line(interpolator(t));\r\n\r\n }\r\n });\r\n }\r\n\r\n for (let index = 0; index < currentData.lineData.length; index++) {\r\n var lineData = svg.selectAll('.line')\r\n .data(\r\n currentData.lineData\r\n );\r\n\r\n lineData.enter()\r\n .append(\"path\")\r\n .datum(currentData.lineData[index])\r\n .attr(\"class\", \"line\")\r\n .style(\"fill\", \"none\")\r\n .attr(\"stroke\", \"red\")\r\n .attr(\"d\", lineGenerator)\r\n .transition()\r\n .duration(1500)\r\n .attrTween('d', () => {\r\n var interpolator = d3.interpolateArray(pervData.lineData[index], currentData.lineData[index]);\r\n return function (t) {\r\n return lineGenerator(interpolator(t));\r\n\r\n }\r\n })\r\n ;\r\n }\r\n\r\n\r\n }\r\n\r\n var pervData = graphData.initData;\r\n var currentData = graphData.gamma;\r\n\r\n update(pervData, currentData);\r\n let gamma = document.getElementById('gamma');\r\n gamma.addEventListener('click', function () {\r\n gamma.className = 'active';\r\n triangular.className = \"\";\r\n halfnorm.className = \"\";\r\n let areaChart = d3.selectAll('#area3');\r\n // areaChart.selectAll('.x-axis').remove();\r\n // areaChart.selectAll('.y-axis').remove();\r\n // areaChart.selectAll('.area').remove();\r\n areaChart.selectAll('path').remove();\r\n let dummyArr = [], linedummyArr = []\r\n graphData.gamma.areaData.map((arr) => {\r\n let resArr = arr.map((arr2) => {\r\n return { x: arr2.x, y: 0 }\r\n });\r\n dummyArr.push(resArr);\r\n })\r\n graphData.gamma.lineData.map((arr) => {\r\n let resArr = arr.map((arr2) => {\r\n return { x: arr2.x, y: 0 }\r\n });\r\n linedummyArr.push(resArr);\r\n })\r\n pervData.areaData = dummyArr;\r\n pervData.lineData = linedummyArr;\r\n update(pervData, graphData.gamma);\r\n });\r\n let triangular = document.getElementById('triangular');\r\n triangular.addEventListener('click', function () {\r\n triangular.className = 'active';\r\n gamma.className = \"\";\r\n halfnorm.className = \"\";\r\n let areaChart = d3.selectAll('#area3');\r\n // areaChart.selectAll('.x-axis').remove();\r\n // areaChart.selectAll('.y-axis').remove();\r\n // areaChart.selectAll('.area').remove();\r\n areaChart.selectAll('path').remove();\r\n let dummyArr = [], linedummyArr = []\r\n graphData.trangular.areaData.map((arr) => {\r\n let resArr = arr.map((arr2) => {\r\n return { x: arr2.x, y: 0 }\r\n });\r\n dummyArr.push(resArr);\r\n })\r\n graphData.trangular.lineData.map((arr) => {\r\n let resArr = arr.map((arr2) => {\r\n return { x: arr2.x, y: 0 }\r\n });\r\n linedummyArr.push(resArr);\r\n })\r\n pervData.areaData = dummyArr;\r\n pervData.lineData = linedummyArr;\r\n update(pervData, graphData.trangular);\r\n });\r\n let halfnorm = document.getElementById('halfnorm');\r\n halfnorm.addEventListener('click', function () {\r\n halfnorm.className = 'active';\r\n triangular.className = \"\";\r\n gamma.className = \"\";\r\n let areaChart = d3.selectAll('#area3');\r\n // areaChart.selectAll('.x-axis').remove();\r\n // areaChart.selectAll('.y-axis').remove();\r\n // areaChart.selectAll('.area').remove();\r\n areaChart.selectAll('path').remove();\r\n let dummyArr = [], linedummyArr = []\r\n graphData.halfnorm.areaData.map((arr) => {\r\n let resArr = arr.map((arr2) => {\r\n return { x: arr2.x, y: 0 }\r\n });\r\n dummyArr.push(resArr);\r\n })\r\n graphData.halfnorm.lineData.map((arr) => {\r\n let resArr = arr.map((arr2) => {\r\n return { x: arr2.x, y: 0 }\r\n });\r\n linedummyArr.push(resArr);\r\n })\r\n pervData.areaData = dummyArr;\r\n pervData.lineData = linedummyArr;\r\n update(pervData, graphData.halfnorm);\r\n });\r\n\r\n }\r\n\r\n function createMultiLineChart() {\r\n let graphData = [\r\n {\r\n \"key\": '1',\r\n \"actualEnrollmentValue\": 19,\r\n \"reforecartMeanValue\": 20,\r\n \"confidenceBoundValue\": 30,\r\n \"meanForecartValue\": 10,\r\n \"anyValue\": 10\r\n },\r\n {\r\n \"key\": '2',\r\n \"actualEnrollmentValue\": 49,\r\n \"reforecartMeanValue\": 49,\r\n \"confidenceBoundValue\": 150,\r\n \"meanForecartValue\": 90,\r\n \"anyValue\": 25\r\n },\r\n {\r\n \"key\": '3',\r\n \"actualEnrollmentValue\": 95,\r\n \"reforecartMeanValue\": 95,\r\n \"confidenceBoundValue\": 250,\r\n \"meanForecartValue\": 175,\r\n \"anyValue\": 78\r\n },\r\n {\r\n \"key\": '4',\r\n \"actualEnrollmentValue\": 156,\r\n \"reforecartMeanValue\": 156,\r\n \"confidenceBoundValue\": 350,\r\n \"meanForecartValue\": 215,\r\n \"anyValue\": 120\r\n },\r\n {\r\n \"key\": '5',\r\n \"actualEnrollmentValue\": 250,\r\n \"reforecartMeanValue\": 250,\r\n \"confidenceBoundValue\": 450,\r\n \"meanForecartValue\": 267,\r\n \"anyValue\": 170\r\n },\r\n {\r\n \"key\": '6',\r\n \"actualEnrollmentValue\": 302,\r\n \"reforecartMeanValue\": 310,\r\n \"confidenceBoundValue\": 570,\r\n \"meanForecartValue\": 340,\r\n \"anyValue\": 280\r\n }\r\n ]\r\n\r\n var margin = {\r\n top: 20,\r\n right: 20,\r\n bottom: 40,\r\n left: 50\r\n },\r\n width = 848 - margin.left - margin.right,\r\n height = 410 - margin.top - margin.bottom;\r\n\r\n\r\n var svg = d3.select(\".chart-2\")\r\n .attr(\"width\", width + margin.left + margin.right)\r\n .attr(\"height\", height + margin.top + margin.bottom)\r\n .append(\"g\")\r\n .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\");\r\n\r\n var x = d3.scale.linear()\r\n .domain([1, 10])\r\n .range([0, width]);\r\n\r\n var xAxis = d3.svg.axis()\r\n .scale(x)\r\n .orient(\"bottom\")\r\n .tickValues([]);\r\n\r\n svg.append(\"g\")\r\n .attr(\"class\", \"x axis x-axis\")\r\n .attr(\"transform\", \"translate(0,\" + height + \")\")\r\n .call(xAxis);\r\n\r\n var y = d3.scale.linear()\r\n .range([height, 0]);\r\n\r\n var yAxis = d3.svg.axis()\r\n .scale(y)\r\n .ticks(7)\r\n .orient(\"left\");\r\n\r\n svg.append(\"g\")\r\n .attr(\"class\", \"y axis y-axis\")\r\n\r\n var data = graphData;\r\n\r\n svg.selectAll(\".x-axis\")\r\n .transition()\r\n .duration(1500)\r\n .call(xAxis);\r\n\r\n // x.domain([1, d3.max(data, function(d){ return d.key; })]);\r\n y.domain([0,\r\n d3.max([\r\n d3.max(data, function (d) {\r\n return d.actualEnrollmentValue\r\n })\r\n ,\r\n d3.max(data, function (d) {\r\n return d.reforecartMeanValue\r\n }),\r\n d3.max(data, function (d) {\r\n return d.confidenceBoundValue\r\n }),\r\n d3.max(data, function (d) {\r\n return d.meanForecartValue\r\n })\r\n ]),\r\n ])\r\n\r\n svg.selectAll(\".y-axis\")\r\n .transition()\r\n .duration(1500)\r\n .call(yAxis);\r\n\r\n var line = d3.svg.line()\r\n\r\n svg.append(\"path\")\r\n .datum(data)\r\n .attr(\"class\", \"mean-line\")\r\n .style(\"fill\", \"none\")\r\n .attr(\"stroke\", \"#000\")\r\n // .style(\"stroke-width\", 1) // set the stroke width\r\n .attr(\"d\", d3.svg.line()\r\n .x(function (d) { return x(d.key) })\r\n .y(function (d) { return y(d.meanForecartValue) })\r\n )\r\n .transition()\r\n .duration(1500)\r\n\r\n svg.append(\"path\")\r\n .datum(data)\r\n .attr(\"class\", \"confidence-line \")\r\n .style(\"stroke-dasharray\", \"3,3\")\r\n .style(\"fill\", \"none\")\r\n .attr(\"stroke\", \"#A0522D\")\r\n .style(\"stroke-width\", 1.5) // set the stroke width\r\n .attr(\"d\", d3.svg.line()\r\n .x(function (d) { return x(d.key) })\r\n .y(function (d) { return y(d.confidenceBoundValue) })\r\n )\r\n .transition()\r\n .duration(1500)\r\n\r\n svg.append(\"path\")\r\n .datum(data)\r\n .attr(\"class\", \"actual-line\")\r\n .style(\"fill\", \"none\")\r\n .attr(\"stroke\", \"red\")\r\n .style(\"stroke-width\", 1.5) // set the stroke width\r\n .attr(\"d\", d3.svg.line()\r\n .x(function (d) { return x(d.key) })\r\n .y(function (d) { return y(d.actualEnrollmentValue) })\r\n )\r\n .transition()\r\n .duration(1500)\r\n\r\n svg.append(\"path\")\r\n .datum(data)\r\n .attr(\"class\", \"reforcast-line\")\r\n .style(\"fill\", \"none\")\r\n .attr(\"stroke\", \"blue\")\r\n .style(\"stroke-width\", 1.5) // set the stroke width\r\n .attr(\"d\", d3.svg.line()\r\n .x(function (d) { return x(d.key) })\r\n .y(function (d) { return y(d.reforecartMeanValue) })\r\n )\r\n .transition()\r\n .duration(1500)\r\n\r\n svg.append(\"path\")\r\n .datum(data)\r\n .attr(\"class\", \"new-line \")\r\n .style(\"stroke-dasharray\", \"3,3\")\r\n .style(\"fill\", \"none\")\r\n .attr(\"stroke\", \"#A0522D\")\r\n .style(\"stroke-width\", 1.5) // set the stroke width\r\n .attr(\"d\", d3.svg.line()\r\n .x(function (d) { return x(d.key) })\r\n .y(function (d) { return y(d.anyValue) })\r\n )\r\n .transition()\r\n .duration(1500);\r\n }\r\n function createLineChart() {\r\n var graphData = {\r\n \"2021\": [\r\n {\r\n \"date\": \"1/1/2021\",\r\n \"likes\": 5\r\n },\r\n {\r\n \"date\": \"2/2/2021\",\r\n \"likes\": 10\r\n },\r\n {\r\n \"date\": \"3/3/2021\",\r\n \"likes\": 15\r\n },\r\n {\r\n \"date\": \"4/9/2021\",\r\n \"likes\": 19\r\n },\r\n {\r\n \"date\": \"5/4/2021\",\r\n \"likes\": 31\r\n },\r\n {\r\n \"date\": \"6/2/2021\",\r\n \"likes\": 29\r\n },\r\n {\r\n \"date\": \"7/10/2021\",\r\n \"likes\": 40\r\n },\r\n {\r\n \"date\": \"8/18/2021\",\r\n \"likes\": 39\r\n },\r\n {\r\n \"date\": \"9/29/2021\",\r\n \"likes\": 55\r\n },\r\n {\r\n \"date\": \"10/30/2021\",\r\n \"likes\": 65\r\n },\r\n {\r\n \"date\": \"11/21/2021\",\r\n \"likes\": 78\r\n },\r\n {\r\n \"date\": \"12/12/2021\",\r\n \"likes\": 100\r\n }\r\n ],\r\n \"2020\": [\r\n {\r\n \"date\": \"1/1/2020\",\r\n \"likes\": 7\r\n },\r\n {\r\n \"date\": \"2/2/2020\",\r\n \"likes\": 12\r\n },\r\n {\r\n \"date\": \"3/3/2020\",\r\n \"likes\": 19\r\n },\r\n {\r\n \"date\": \"4/9/2020\",\r\n \"likes\": 25\r\n },\r\n {\r\n \"date\": \"5/4/2020\",\r\n \"likes\": 31\r\n },\r\n {\r\n \"date\": \"6/2/2020\",\r\n \"likes\": 28\r\n },\r\n {\r\n \"date\": \"7/10/2020\",\r\n \"likes\": 40\r\n },\r\n {\r\n \"date\": \"8/18/2020\",\r\n \"likes\": 30\r\n },\r\n {\r\n \"date\": \"9/29/2020\",\r\n \"likes\": 55\r\n },\r\n {\r\n \"date\": \"10/30/2020\",\r\n \"likes\": 65\r\n },\r\n {\r\n \"date\": \"11/21/2020\",\r\n \"likes\": 78\r\n },\r\n {\r\n \"date\": \"12/12/2020\",\r\n \"likes\": 80\r\n }\r\n ],\r\n \"2019\": [\r\n {\r\n \"date\": \"1/1/2019\",\r\n \"likes\": 10\r\n },\r\n {\r\n \"date\": \"2/2/2019\",\r\n \"likes\": 12\r\n },\r\n {\r\n \"date\": \"3/3/2019\",\r\n \"likes\": 19\r\n },\r\n {\r\n \"date\": \"4/9/2019\",\r\n \"likes\": 25\r\n },\r\n {\r\n \"date\": \"5/4/2019\",\r\n \"likes\": 35\r\n },\r\n {\r\n \"date\": \"6/2/2019\",\r\n \"likes\": 28\r\n },\r\n {\r\n \"date\": \"7/10/2019\",\r\n \"likes\": 40\r\n },\r\n {\r\n \"date\": \"8/18/2019\",\r\n \"likes\": 30\r\n },\r\n {\r\n \"date\": \"9/29/2019\",\r\n \"likes\": 55\r\n },\r\n {\r\n \"date\": \"10/30/2019\",\r\n \"likes\": 65\r\n }\r\n ]\r\n }\r\n\r\n var margin = { top: 30, right: 132, bottom: 30, left: 50 },\r\n width = 848 - margin.left - margin.right,\r\n height = 410 - margin.top - margin.bottom;\r\n\r\n var svg = d3.select(\".chart-1\")\r\n .attr(\"width\", width + margin.left + margin.right)\r\n .attr(\"height\", height + margin.top + margin.bottom)\r\n .append(\"g\")\r\n .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\");\r\n\r\n var parseDate = d3.time.format(\"%m/%e/%Y\").parse,\r\n bisectDate = d3.bisector(function (d) { return d.date; }).left,\r\n formatValue = d3.format(\",\"),\r\n dateFormatter = d3.time.format(\"%b %Y\");\r\n\r\n var x = d3.time.scale()\r\n .range([0, width]);\r\n\r\n var y = d3.scale.linear()\r\n .range([height, 0]);\r\n\r\n var xAxis = d3.svg.axis()\r\n .scale(x)\r\n .orient(\"bottom\")\r\n .tickPadding(5)\r\n .tickFormat(dateFormatter);\r\n\r\n svg.append(\"g\")\r\n .attr(\"class\", \"x axis x-axis\")\r\n .attr(\"transform\", \"translate(0,\" + height + \")\")\r\n .transition()\r\n .duration(1500)\r\n .call(xAxis);\r\n\r\n var yAxis = d3.svg.axis()\r\n .scale(y)\r\n .orient(\"left\")\r\n .ticks(5)\r\n .tickFormat(function (d) { return d + \"%\"; });\r\n\r\n svg.append(\"g\")\r\n .attr(\"class\", \"y axis y-axis\")\r\n .call(yAxis)\r\n .transition()\r\n .duration(1500)\r\n\r\n var line = d3.svg.line()\r\n .x(function (d) { return x(d.date); })\r\n .y(function (d) { return y(d.likes); });\r\n\r\n svg.append(\"path\")\r\n // .data(yearData)\r\n .attr(\"class\", \"line custom-md-line\")\r\n .attr('fill', 'none')\r\n .attr('stroke', '#3FBDD1')\r\n // .attr(\"d\", line);\r\n\r\n var data = graphData;\r\n\r\n var key = Object.keys(data);\r\n key.forEach(function (d) {\r\n data[d].forEach(function (d1) {\r\n d1.date = parseDate(d1.date);\r\n d1.likes = +d1.likes;\r\n })\r\n });\r\n // var selectVal:any = document.getElementById('selectButton')\r\n // let year = selectVal.options[selectVal.selectedIndex].text\r\n let year = that.selectedYear;\r\n let selected: any = document.getElementById('selectYear');\r\n let year2021 = document.getElementById('year2021');\r\n let year2020 = document.getElementById('year2020');\r\n let year2019 = document.getElementById('year3');\r\n selected.addEventListener('change', function () {\r\n year = selected.value;\r\n let lineChart = d3.selectAll('#area1');\r\n update(data, year)\r\n })\r\n //load default selected option\r\n update(data, year);\r\n\r\n function update(data, selectedGroup) {\r\n var dataFilter = data[selectedGroup]\r\n // Scale the range of the data\r\n x.domain(d3.extent(dataFilter, function (d) { return d.date; }));\r\n y.domain([0, d3.max(dataFilter, function (d) { return d.likes; })]);\r\n\r\n // x.domain([dataFilter[0].date, dataFilter[dataFilter.length - 1].date]);\r\n // y.domain(d3.extent(dataFilter, function (d) { return d.likes; }));\r\n\r\n svg.selectAll(\".x-axis\")\r\n .transition()\r\n .duration(1000)\r\n .call(xAxis);\r\n\r\n svg.selectAll(\".y-axis\")\r\n .transition()\r\n .duration(1000)\r\n .call(yAxis);\r\n\r\n //Give these new data to update line\r\n d3.selectAll('.custom-md-line')\r\n .datum(dataFilter)\r\n .transition()\r\n .duration(1000)\r\n .attr(\"d\", d3.svg.line()\r\n .x(function (d) { return x(d.date) })\r\n .y(function (d) { return y(+d.likes) })\r\n )\r\n\r\n var tooltip = d3.select(\"body\").append(\"div\")\r\n .attr(\"class\", \"tooltip\")\r\n .style(\"display\", \"none\");\r\n\r\n var focus = svg.append(\"g\")\r\n .attr(\"class\", \"focus\")\r\n .style(\"display\", \"none\");\r\n\r\n // append the x line\r\n focus.append(\"line\")\r\n .attr(\"class\", \"x\")\r\n .style(\"stroke\", \"blue\")\r\n .style(\"stroke-dasharray\", \"3,3\")\r\n .style(\"opacity\", 0.5)\r\n .attr(\"y1\", 0)\r\n .transition()\r\n .duration(1000)\r\n .attr(\"y2\", height);\r\n\r\n // append the y line\r\n focus.append(\"line\")\r\n .attr(\"class\", \"y\")\r\n .style(\"stroke\", \"blue\")\r\n .style(\"stroke-dasharray\", \"3,3\")\r\n .style(\"opacity\", 0.5)\r\n .attr(\"x1\", width)\r\n .attr(\"x2\", width);\r\n\r\n focus.append(\"circle\")\r\n .attr(\"class\", \"y\")\r\n .style(\"fill\", \"none\")\r\n .style(\"stroke\", \"blue\")\r\n .attr(\"r\", 5);\r\n\r\n var tooltipDate = tooltip.append(\"div\")\r\n .attr(\"class\", \"tooltip-date\");\r\n\r\n var tooltipLikes = tooltip.append(\"div\");\r\n tooltipLikes.append(\"span\")\r\n // .attr(\"class\", \"tooltip-title\")\r\n .text(\"\");\r\n\r\n var tooltipLikesValue = tooltipLikes.append(\"span\")\r\n .attr(\"class\", \"tooltip-likes\");\r\n svg\r\n .attr(\"class\", \"overlay\")\r\n .attr(\"width\", width)\r\n .attr(\"height\", height)\r\n .style(\"pointer-events\", \"all\")\r\n .on(\"mouseover\", function () { focus.style(\"display\", null); tooltip.style(\"display\", null); })\r\n .on(\"mouseout\", function () { focus.style(\"display\", \"none\"); tooltip.style(\"display\", \"none\"); })\r\n .on(\"mousemove\", mousemove);\r\n\r\n function mousemove() {\r\n var x0 = x.invert(d3.mouse(this)[0]),\r\n i = bisectDate(dataFilter, x0, 1),\r\n d0 = dataFilter[i - 1],\r\n d1 = dataFilter[i],\r\n d = x0 - d0.date > d1.date - x0 ? d1 : d0;\r\n\r\n focus.select(\"circle.y\")\r\n .attr(\"transform\",\r\n \"translate(\" + x(d.date) + \",\" +\r\n y(d.likes) + \")\");\r\n\r\n focus.select(\".x\")\r\n .attr(\"transform\",\r\n \"translate(\" + x(d.date) + \",\" +\r\n y(d.likes) + \")\")\r\n .attr(\"y2\", height - y(d.likes));\r\n\r\n focus.select(\".y\")\r\n .attr(\"transform\",\r\n \"translate(\" + width * -1 + \",\" +\r\n y(d.likes) + \")\")\r\n .attr(\"x2\", width + width);\r\n\r\n\r\n tooltip.attr(\"style\", \"left:\" + (x(d.date) + 64) + \"px; top:\" + y(d.likes) + \"px;\");\r\n // tooltip.select(\".tooltip-date\").text(dateFormatter(d.date));\r\n tooltip.select(\".tooltip-likes\").text(formatValue(d.likes));\r\n }\r\n }\r\n d3.select(\"#selectButton\").on(\"change\", function (d) {\r\n var selectedOption = d3.select(this).property(\"value\")\r\n update(data, selectedOption)\r\n })\r\n }\r\n\r\n const listData = {\r\n lines: [\r\n [[375, 330], [431, 330]],\r\n [[376, 467], [431, 467]],\r\n [[376, 604], [431, 604]],\r\n [[376, 740], [431, 740]],\r\n [[376, 877], [431, 877]],\r\n ],\r\n }\r\n\r\n listData.lines.forEach((el, i) => {\r\n let index = i;\r\n const line = addDashedLine(lineGroup, el, `screen-7 process-line-${i}`, '#25A1B2', '5,4', 1, false);\r\n line.attr('stroke-dashoffset', d => d.pathLength);\r\n // addLine(lineGroup, el, 'list-line list-line-' + index, index,\"black\",1,false);\r\n });\r\n // const backgroundData: any = {};\r\n\r\n // backgroundData.id = `chart-background-screen-7`;\r\n // backgroundData.x = 953;\r\n // backgroundData.y = 352;\r\n // backgroundData.height = 565;\r\n // backgroundData.width = 918;\r\n // backgroundData.fill = 'white';\r\n // backgroundData.class = ` chart-background-screen-7`;\r\n // backgroundData.o = 0.5;\r\n // addRect(businessProcess, backgroundData);\r\n // createMultiLineChart();\r\n\r\n function initiateAnimation() {\r\n const htmlDelayValue = 500;\r\n operateLine(lineGroup, 'process-line-0', 'draw', 300, 300, function () { })\r\n operateLine(lineGroup, 'process-line-1', 'draw', 300, 300, function () { })\r\n operateLine(lineGroup, 'process-line-2', 'draw', 300, 300, function () { })\r\n operateLine(lineGroup, 'process-line-3', 'draw', 300, 300, function () { })\r\n operateLine(lineGroup, 'process-line-4', 'draw', 300, 300, function () { })\r\n showImage(businessProcess, 'unselected-0', htmlDelayValue, 300, function () { })\r\n showImage(businessProcess, 'unselected-1', htmlDelayValue, 300, function () { })\r\n showImage(businessProcess, 'unselected-2', htmlDelayValue, 300, function () { })\r\n showImage(businessProcess, 'unselected-3', htmlDelayValue, 300, function () { })\r\n showImage(businessProcess, 'unselected-4', htmlDelayValue, 300, function () { })\r\n showImage(businessProcess, 'unselected-circle-0', htmlDelayValue, 300, function () { })\r\n showImage(businessProcess, 'unselected-circle-1', htmlDelayValue, 300, function () { })\r\n showImage(businessProcess, 'unselected-circle-2', htmlDelayValue, 300, function () { })\r\n showImage(businessProcess, 'unselected-circle-3', htmlDelayValue, 300, function () { })\r\n showImage(businessProcess, 'unselected-circle-4', htmlDelayValue, 300, function () {\r\n that.selectedProcess = businessProcessImages.dataContent[!that.changedManualy ? 0 : that.selectedProcessId];\r\n selectProcess(!that.changedManualy ? 0 : that.selectedProcessId);\r\n // that.selectedProcessId = 0;\r\n // createLineChart();\r\n })\r\n\r\n }\r\n return {\r\n startAnimation(isFirst = false) {\r\n d3.selectAll('#area1').attr('opacity', 1);\r\n d3.selectAll('#area2').attr('opacity', 1);\r\n d3.selectAll('#area3').attr('opacity', 1);\r\n baseImage = '';\r\n // baseImage = '/assets/images/ctemp/screen9.png';\r\n image.attr('xlink:href', baseImage);\r\n currentProcess.style('opacity', 1);\r\n d3.selectAll('.screen-2-common-group')\r\n .attr('transform', 'scale(0)');\r\n d3.selectAll('.screen-4-common-group')\r\n .attr('transform', 'scale(0)');\r\n if (isFirst) {\r\n initiateAnimation();\r\n } else {\r\n if (that.changedManualy) {\r\n that.selectedProcess = businessProcessImages.dataContent[!that.changedManualy ? 0 : that.selectedProcessId];\r\n selectProcess(!that.changedManualy ? 0 : that.selectedProcessId);\r\n }\r\n }\r\n businessProcess.selectAll('.business-process-group')\r\n .style('cursor', 'pointer')\r\n // commonLeftSection.manageTravellersGroup();\r\n },\r\n stopAnimation() {\r\n d3.selectAll('.screen-2-common-group')\r\n .attr('transform', 'scale(1)');\r\n d3.selectAll('.screen-4-common-group')\r\n .attr('transform', 'scale(1)');\r\n that.onAnimationEnd();\r\n // currentProcess.interrupt();\r\n currentProcess.style('opacity', 0);\r\n businessProcess.selectAll('.business-process-group')\r\n .style('cursor', 'initial')\r\n }\r\n }\r\n })();\r\n\r\n const screenEight = (() => {\r\n return {\r\n startAnimation(isFirst = false) {\r\n\r\n },\r\n stopAnimation() {\r\n that.onAnimationEnd();\r\n }\r\n }\r\n })();\r\n\r\n\r\n const commonAnimation = (() => {\r\n const commonGroup = dataGroup.append('g')\r\n .attr('id', 'common-group')\r\n .attr('class', 'common-group');\r\n\r\n const screen2 = commonGroup.append('g')\r\n .attr('id', 'screen-2-common-group')\r\n .attr('class', 'screen-2-common-group')\r\n .style('opacity', 1);\r\n const screen4 = commonGroup.append('g')\r\n .attr('id', 'screen-4-common-group')\r\n .attr('class', 'screen-4-common-group')\r\n .style('opacity', 1);\r\n\r\n const testTubeGrp = commonGroup.append('g')\r\n .attr('id', 'testTube-main-group')\r\n .attr('class', 'testTube-main-group');\r\n\r\n let testTubeArr = {\r\n textContent: {\r\n text: {\r\n wholeText: [\r\n {\r\n text: 'Historic Data',\r\n dy: '0em',\r\n x: 140,\r\n y: -120\r\n }],\r\n id: 'historic-data',\r\n class: 'historic-data test-tube-text',\r\n x: 126,\r\n y: 526,\r\n dy: '0em',\r\n finalX: 126,\r\n finalY: 526,\r\n o: 0,\r\n textStyle: {\r\n 'text-anchor': 'middle',\r\n 'font-size': 20,\r\n 'fill': 'black',\r\n 'font-weight': 600,\r\n },\r\n }\r\n },\r\n dataContent: [{\r\n background: {\r\n id: 'test-tube-image-1',\r\n width: 106,\r\n height: 441,\r\n src: 'assets/images/ctemp/SVG/testTube.svg',\r\n x: 210,\r\n y: 441,\r\n finalX: 210,\r\n finalY: 441,\r\n class: 'testTube test-tube-image-1 animate',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-2',\r\n width: 78,\r\n height: 240,\r\n src: 'assets/images/ctemp/SVG/liquid.svg',\r\n x: 223,\r\n y: 635,\r\n finalX: 223,\r\n finalY: 635,\r\n class: 'testTube test-tube-image-2 animate',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-3',\r\n width: 132,\r\n height: 132,\r\n src: 'assets/images/ctemp/SVG/bluePill.svg',\r\n x: 275,\r\n y: 225,\r\n finalX: 275,\r\n finalY: 225,\r\n class: 'testTube test-tube-image-3 animate',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-4',\r\n width: 139,\r\n height: 140,\r\n src: 'assets/images/ctemp/SVG/purplePill.svg',\r\n x: 128,\r\n y: 225,\r\n finalX: 128,\r\n finalY: 225,\r\n class: 'testTube test-tube-image-4 animate',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-5',\r\n width: 250,\r\n height: 250,\r\n src: 'assets/images/ctemp/SVG/capsule.svg',\r\n x: 150,\r\n y: 200,\r\n finalX: 150,\r\n finalY: 200,\r\n class: 'testTube test-tube-image-5 animate',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-6',\r\n width: 18,\r\n height: 18,\r\n src: 'assets/images/ctemp/SVG/blue bubble.svg',\r\n x: 295,\r\n y: 320,\r\n finalX: 270,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-6 animate bubble bubble-group7',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-7',\r\n width: 18,\r\n height: 18,\r\n src: 'assets/images/ctemp/SVG/purple bubble.svg',\r\n x: 230,\r\n y: 330,\r\n finalX: 235,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-7 animate bubble bubble-group7',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-8',\r\n width: 13,\r\n height: 13,\r\n src: 'assets/images/ctemp/SVG/blue bubble.svg',\r\n x: 295,\r\n y: 320,\r\n finalX: 265,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-8 animate bubble bubble-group7',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-9',\r\n width: 10,\r\n height: 10,\r\n src: 'assets/images/ctemp/SVG/purple bubble.svg',\r\n x: 230,\r\n y: 330,\r\n finalX: 290,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-9 animate bubble bubble-group6',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-10',\r\n width: 12,\r\n height: 12,\r\n src: 'assets/images/ctemp/SVG/purple bubble.svg',\r\n x: 230,\r\n y: 330,\r\n finalX: 232,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-10 animate bubble bubble-group6',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-11',\r\n width: 13,\r\n height: 13,\r\n src: 'assets/images/ctemp/SVG/blue bubble.svg',\r\n x: 295,\r\n y: 320,\r\n finalX: 260,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-11 animate bubble bubble-group6',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-12',\r\n width: 10,\r\n height: 10,\r\n src: 'assets/images/ctemp/SVG/purple bubble.svg',\r\n x: 230,\r\n y: 330,\r\n finalX: 240,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-12 animate bubble bubble-group5',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-13',\r\n width: 10,\r\n height: 10,\r\n src: 'assets/images/ctemp/SVG/blue bubble.svg',\r\n x: 295,\r\n y: 320,\r\n finalX: 263,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-13 animate bubble bubble-group5',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-14',\r\n width: 14,\r\n height: 14,\r\n src: 'assets/images/ctemp/SVG/purple bubble.svg',\r\n x: 230,\r\n y: 330,\r\n finalX: 260,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-14 animate bubble bubble-group4',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-15',\r\n width: 9,\r\n height: 9,\r\n src: 'assets/images/ctemp/SVG/blue bubble.svg',\r\n x: 295,\r\n y: 320,\r\n finalX: 240,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-15 animate bubble bubble-group4',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-16',\r\n width: 8,\r\n height: 8,\r\n src: 'assets/images/ctemp/SVG/purple bubble.svg',\r\n x: 230,\r\n y: 330,\r\n finalX: 280,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-16 animate bubble bubble-group4',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-17',\r\n width: 10,\r\n height: 10,\r\n src: 'assets/images/ctemp/SVG/purple bubble.svg',\r\n x: 230,\r\n y: 330,\r\n finalX: 250,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-17 animate bubble bubble-group3',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-18',\r\n width: 8,\r\n height: 8,\r\n src: 'assets/images/ctemp/SVG/blue bubble.svg',\r\n x: 295,\r\n y: 320,\r\n finalX: 270,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-18 animate bubble bubble-group3',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-19',\r\n width: 6,\r\n height: 6,\r\n src: 'assets/images/ctemp/SVG/purple bubble.svg',\r\n x: 230,\r\n y: 330,\r\n finalX: 270,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-19 animate bubble bubble-group3',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-20',\r\n width: 10,\r\n height: 10,\r\n src: 'assets/images/ctemp/SVG/purple bubble.svg',\r\n x: 230,\r\n y: 330,\r\n finalX: 250,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-20 animate bubble bubble-group2',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-21',\r\n width: 8,\r\n height: 8,\r\n src: 'assets/images/ctemp/SVG/blue bubble.svg',\r\n x: 295,\r\n y: 320,\r\n finalX: 275,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-21 animate bubble bubble-group2',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-21',\r\n width: 10,\r\n height: 10,\r\n src: 'assets/images/ctemp/SVG/purple bubble.svg',\r\n x: 230,\r\n y: 330,\r\n finalX: 280,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-21 animate bubble bubble-group2',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-22',\r\n width: 14,\r\n height: 14,\r\n src: 'assets/images/ctemp/SVG/purple bubble.svg',\r\n x: 230,\r\n y: 330,\r\n finalX: 250,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-22 animate bubble bubble-group1',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-23',\r\n width: 8,\r\n height: 8,\r\n src: 'assets/images/ctemp/SVG/blue bubble.svg',\r\n x: 295,\r\n y: 320,\r\n finalX: 270,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-23 animate bubble bubble-group1',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-24',\r\n width: 8,\r\n height: 8,\r\n src: 'assets/images/ctemp/SVG/blue bubble.svg',\r\n x: 295,\r\n y: 320,\r\n finalX: 265,\r\n finalY: 620,\r\n class: 'testTube test-tube-image-24 animate bubble bubble-group1',\r\n s: 1,\r\n o: 0\r\n }\r\n }, {\r\n background: {\r\n id: 'test-tube-image-25',\r\n width: 78,\r\n height: 240,\r\n src: 'assets/images/ctemp/SVG/redLiquid.svg',\r\n x: 223,\r\n y: 635,\r\n finalX: 223,\r\n finalY: 635,\r\n class: 'testTube test-tube-image-25 animate',\r\n s: 1,\r\n o: 0\r\n }\r\n },\r\n ]\r\n };\r\n testTubeArr.dataContent.forEach((content, index) => {\r\n const group = testTubeGrp\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1\r\n })\r\n .attr({\r\n 'class': `testTube-group testTube-group-${index}`,\r\n 'id': `testTube-group-${index}`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(${content.background.s})`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n\r\n createImageUsingData(group, content.background);\r\n });\r\n createTextUsingData(testTubeGrp, testTubeArr.textContent.text);\r\n\r\n function initiateAnimation() {\r\n const htmlDelayValue = 500;\r\n testTubeGrp.select('.test-tube-image-1')\r\n .transition()\r\n .delay(300)\r\n .duration(200)\r\n .style('opacity', 1)\r\n .call(endAll, function () {\r\n let capsule = testTubeGrp.select('.test-tube-image-5');\r\n capsule\r\n .transition()\r\n .delay((d, i) => 300)\r\n .duration(300)\r\n .style('opacity', 1)\r\n .call(endAll, function () {\r\n\r\n capsule\r\n .transition()\r\n .delay((d, i) => 300)\r\n .duration(300)\r\n .style('opacity', 0)\r\n .call(endAll, function () {\r\n\r\n });\r\n let bluePill = testTubeGrp.select('.test-tube-image-3');\r\n bluePill\r\n .transition()\r\n .delay((d, i) => 400)\r\n .duration(300)\r\n .style('opacity', 1)\r\n .call(endAll, function () {\r\n\r\n });\r\n let purplePill = testTubeGrp.select('.test-tube-image-4');\r\n purplePill\r\n .transition()\r\n .delay((d, i) => 400)\r\n .duration(300)\r\n .style('opacity', 1)\r\n .call(endAll, function () {\r\n bubbleAnimationStart();\r\n });\r\n });\r\n });\r\n }\r\n\r\n //Function for bubble animation\r\n function bubbleAnimationStart() {\r\n const htmlDelayValue = 500;\r\n let bubbleGroup1 = testTubeGrp.selectAll('.bubble');\r\n bubbleGroup1\r\n .transition()\r\n .delay((d, i) => i * 200)\r\n .duration(1200)\r\n .style('opacity', 1)\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .call(endAll, function () {\r\n\r\n });\r\n let bubble = testTubeGrp.selectAll('.bubble');\r\n bubble\r\n .transition()\r\n .delay((d, i) => i * 200 + 1200)\r\n .duration(500)\r\n .style('opacity', 0)\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .call(endAll, function () {\r\n reverseBubbleAnimation();\r\n });\r\n // let bubbleGroup2 = testTubeGrp.selectAll('.bubble-group2');\r\n // bubbleGroup2\r\n // .transition()\r\n // .delay((d, i) => i * 200 )\r\n // .duration(500)\r\n // .style('opacity', 1)\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .call(endAll, function () {\r\n\r\n // let bubbleGroup3 = testTubeGrp.selectAll('.bubble-group3');\r\n // bubbleGroup3\r\n // .transition()\r\n // .delay((d, i) => i * 200)\r\n // .duration(500)\r\n // .style('opacity', 1)\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .call(endAll, function () {\r\n\r\n // let bubbleGroup4 = testTubeGrp.selectAll('.bubble-group4');\r\n // bubbleGroup4\r\n // .transition()\r\n // .delay((d, i) => i * 200)\r\n // .duration(500)\r\n // .style('opacity', 1)\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .call(endAll, function () {\r\n\r\n // let bubbleGroup5 = testTubeGrp.selectAll('.bubble-group5');\r\n // bubbleGroup5\r\n // .transition()\r\n // .delay((d, i) => i * 200)\r\n // .duration(500)\r\n // .style('opacity', 1)\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .call(endAll, function () {\r\n\r\n // let bubbleGroup6 = testTubeGrp.selectAll('.bubble-group6');\r\n // bubbleGroup6\r\n // .transition()\r\n // .delay((d, i) => i * 200)\r\n // .duration(500)\r\n // .style('opacity', 1)\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .call(endAll, function () {\r\n\r\n // let bubbleGroup7 = testTubeGrp.selectAll('.bubble-group7');\r\n // bubbleGroup7\r\n // .transition()\r\n // .delay((d, i) => i * 200)\r\n // .duration(500)\r\n // .style('opacity', 1)\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .call(endAll, function () {\r\n // let liquid = testTubeGrp.select('.test-tube-image-2')\r\n // liquid\r\n // .transition()\r\n // .delay(200)\r\n // .duration(500)\r\n // .style('opacity', 1)\r\n // .call(endAll, function () {\r\n\r\n // });\r\n // });\r\n // });\r\n // });\r\n // });\r\n // });\r\n // });\r\n }\r\n\r\n function hospitalBedAnimation() {\r\n showImage(screen4, 'common-hospital-bed-1', 300, 300, function () {\r\n\r\n })\r\n }\r\n //reverse bubble animation\r\n function reverseBubbleAnimation() {\r\n const htmlDelayValue = 500;\r\n let bubble = testTubeGrp.selectAll('.bubble');\r\n bubble\r\n .transition()\r\n .delay((d, i) => i * 10)\r\n .duration(10)\r\n .style('opacity', 0)\r\n .attr('transform', (d) => `translate(${d.x}, ${d.x})`)\r\n .call(endAll, function () {\r\n bubbleAnimationStart();\r\n });\r\n }\r\n\r\n //function for change liquid color\r\n function chnageLiquidColor() {\r\n showText(testTubeGrp, 'historic-data', 300, 300, function () { });\r\n let liquid = testTubeGrp.select('.test-tube-image-2')\r\n liquid\r\n .transition()\r\n .delay((d, i) => i * 200)\r\n .duration(500)\r\n .style('opacity', 0)\r\n .call(endAll, function () {\r\n let redLiquid = testTubeGrp.selectAll('.test-tube-image-25');\r\n redLiquid\r\n .transition()\r\n .delay((d, i) => i * 200)\r\n .duration(500)\r\n .style('opacity', 1)\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .call(endAll, function () {\r\n });\r\n });\r\n }\r\n\r\n function changeLiquidColorBack() {\r\n hideText(testTubeGrp, 'historic-data', 300, 300, function () { });\r\n let liquid = testTubeGrp.select('.test-tube-image-25')\r\n liquid\r\n .transition()\r\n .delay(200)\r\n .duration(500)\r\n .style('opacity', 0)\r\n .call(endAll, function () {\r\n let redLiquid = testTubeGrp.selectAll('.test-tube-image-2');\r\n redLiquid\r\n .transition()\r\n .delay(200)\r\n .duration(500)\r\n .style('opacity', 1)\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .call(endAll, function () {\r\n });\r\n });\r\n }\r\n\r\n // commonGroup.style('opacity', 0);\r\n let commonAmerica = {\r\n background: {\r\n id: 'common-america-image-1',\r\n width: 480,\r\n height: 596,\r\n src: 'assets/images/ctemp/SVG/america.svg',\r\n x: 304,\r\n y: 425,\r\n finalX: 304,\r\n finalY: 425,\r\n class: 'america common-america-image-1 background pie-background animate screen-3-images',\r\n s: 1,\r\n o: 0\r\n }\r\n };\r\n let group = screen2\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1\r\n })\r\n .attr({\r\n 'class': `common-group common-group-1`,\r\n 'id': `common-group-1`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(1)`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n createImageUsingData(group, commonAmerica.background);\r\n let hospitalBed = {\r\n background: {\r\n id: 'common-hospital-bed-1',\r\n width: 497,\r\n height: 851,\r\n src: 'assets/images/ctemp/SVG/hospitalBed.svg',\r\n x: 300,\r\n y: 132,\r\n finalX: 800,\r\n finalY: 132,\r\n class: 'common common-hospital-bed-1 animate',\r\n s: 1,\r\n o: 0\r\n },\r\n };\r\n let group2 = screen4\r\n .append('g')\r\n .datum({\r\n x: 0,\r\n y: 0,\r\n finalX: 0,\r\n finalY: 0,\r\n s: 1,\r\n o: 1\r\n })\r\n .attr({\r\n 'class': `common-group common-group-2`,\r\n 'id': `common-group-2`,\r\n 'transform': (d: any) => `translate(${d.x}, ${d.y}) scale(1)`\r\n })\r\n .style('opacity', (d: any) => d.o);\r\n createImageUsingData(group2, hospitalBed.background);\r\n return {\r\n startAnimation(isFirst = false) {\r\n baseImage = '';\r\n // baseImage = '/assets/images/ctemp/screen7.png';\r\n image.attr('xlink:href', baseImage);\r\n testTubeGrp.style('opacity', 1);\r\n if (isFirst) {\r\n initiateAnimation();\r\n }\r\n // that.onAnimationEnd();\r\n },\r\n startLiquidAnimation() {\r\n baseImage = '';\r\n // baseImage = '/assets/images/ctemp/screen7.png';\r\n image.attr('xlink:href', baseImage);\r\n // that.onAnimationEnd();\r\n testTubeGrp.style('opacity', 1);\r\n chnageLiquidColor();\r\n // that.onAnimationEnd();\r\n },\r\n resetElements() {\r\n\r\n },\r\n stopAnimation() {\r\n testTubeGrp.style('opacity', 0);\r\n },\r\n showTestTube() {\r\n showImage(testTubeGrp, 'test-tube-image-1', 500, 300, function () { })\r\n showImage(testTubeGrp, 'test-tube-image-2', 500, 300, function () { })\r\n // showImage(testTubeGrp, 'test-tube-image-3', 500, 300, function () { })\r\n // showImage(testTubeGrp, 'test-tube-image-4', 500, 300, function () { })\r\n },\r\n hideAmerica() {\r\n screen2.style('opacity', 0)\r\n },\r\n showAmerica() {\r\n screen2.style('opacity', 1)\r\n },\r\n showHospitalBed() {\r\n screen4.style('opacity', 1);\r\n if (!that.animationStarted.hospitalBed) {\r\n hospitalBedAnimation();\r\n that.animationStarted.hospitalBed = true;\r\n }\r\n\r\n },\r\n hideHospitalBed() {\r\n screen4.style('opacity', 0);\r\n },\r\n showGroup(isFirst = false) {\r\n commonGroup.style('opacity', 1);\r\n },\r\n hideGroup() {\r\n commonGroup.style('opacity', 0);\r\n },\r\n chnageLiquidColorBack() {\r\n changeLiquidColorBack()\r\n }\r\n }\r\n })()\r\n // this.createDashedLine(`switch-line`, lineGroup, lineData, 'dashed-lines', '#ffffff', '8,3', 1).classed('switch-lines animate', true);\r\n\r\n function resetElements() {\r\n // operateLine(travelLeftLineGroup, 'travel-line', 'hide', 0, 0);\r\n // operateLine(centerLeftLineGroup, 'center-left-line', 'hide', 0, 0);\r\n // hideImage(middleSection, 'screen-2-images', 0, 0);\r\n // hideImage(middleSection, 'screen-2-text', 0, 0);\r\n // hideImage(middleBottomSection, 'screen-2-images', 0, 0);\r\n // hideImage(middleBottomSection, 'screen-2-text', 0, 0);\r\n }\r\n\r\n const { resize, heightAspect, widthAspect } = this._responsivefy(svg, true);\r\n return {\r\n resize() {\r\n const aspect = resize();\r\n that.scaleXValue = aspect.widthAspect;\r\n that.scaleYValue = aspect.heightAspect;\r\n return aspect;\r\n },\r\n screenOne,\r\n screenTwo,\r\n screenThree,\r\n screenFour,\r\n screenFive,\r\n screenSix,\r\n screenSeven,\r\n screenEight,\r\n commonAnimation\r\n }\r\n\r\n }\r\n\r\n onAnimationEnd() {\r\n d3.selectAll('#area1').attr('opacity', 0);\r\n d3.selectAll('#area2').attr('opacity', 0);\r\n d3.selectAll('#area3').attr('opacity', 0);\r\n }\r\n\r\n\r\n\r\n addClassToDom(selector, className, type = 'id') {\r\n if (type == 'id')\r\n d3.select(`#${selector}`).classed(className, true)\r\n else\r\n d3.select(`.${selector}`).classed(className, true)\r\n }\r\n\r\n removeClassFromDom(selector, className, type = 'id') {\r\n if (type == 'id')\r\n d3.select(`#${selector}`).classed(className, false);\r\n else\r\n d3.select(`.${selector}`).classed(className, false);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._renderer.removeClass(document.body, 'ctemp')\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n\\t
\\r\\n\\t\\t
\\r\\n\\t\\t\\t
#Total Records
\\r\\n\\t\\t\\t{{coverageData.totalData}}\\t\\t\\r\\n\\t\\t
\\r\\n\\t
\\t\\r\\n\\t
\\r\\n\\t\\t
#Total Records
\\r\\n\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\t{{source.name}} #{{source.count}}\\r\\n\\t\\t\\t\\r\\n\\t\\t
\\r\\n\\t
\\r\\n
\"","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-custom-data-coverage',\r\n templateUrl: './custom-data-coverage.component.html'\r\n})\r\nexport class CustomDataCoverageComponent implements OnInit {\r\n \t@Input() widgetData;\r\n\r\n \tcoverageData;\r\n\r\n \tngOnInit() {\r\n \t\tthis.coverageData = this.widgetData.data;\r\n \t}\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
Customer Id: - {{userData.customerId}}
\\r\\n
\\r\\n
{{ event.title }}
\\r\\n
    \\r\\n \\r\\n
  • \\r\\n \\r\\n \\r\\n 0\\\">{{eventDetails.gap + 'd'}}\\r\\n {{eventDetails.date}}\\r\\n \\r\\n\\r\\n
  • \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Please select customer id
\\r\\n\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { WidgetService } from '../widgets.service';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n\tselector: 'app-custom-event-timeline',\r\n\ttemplateUrl: './custom-event-timeline.component.html'\r\n})\r\nexport class CustomEventTimelineComponent implements OnInit {\r\n\t@Input() widgetData;\r\n\tdata;\r\n\r\n\tconstructor(private widgetService: WidgetService) {\r\n\t\tthis.widgetService.triggerDataChangeForCustomEventTimeline.subscribe((updatedDataInfo) => {\r\n\t\t\t// if ((updatedDataInfo.formField.uniqueName4001 && updatedDataInfo.formField.uniqueName4001.length)) {\r\n\t\t\tif (updatedDataInfo.formField.filterField) {\r\n\t\t\t\tthis.updateData(updatedDataInfo);\r\n\t\t\t} else {\r\n\t\t\t\t// this.resetChart();\r\n\t\t\t\tthis.data = [];\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tupdateData(updatedDataInfo) {\r\n\t\tlet foundIndex;\r\n\t\tconst selectedData = [updatedDataInfo.formField.filterField];\r\n\t\tthis.data = [];\r\n\t\tfor (let index = 0; index < selectedData.length; index++) {\r\n\t\t\tfoundIndex = _.findIndex(this.widgetData.data, { customerId: selectedData[index] });\r\n\t\t\tif (foundIndex > -1) {\r\n\t\t\t\tfor (let timeline = 0; timeline < this.widgetData.data[foundIndex].events.length; timeline++) {\r\n\t\t\t\t\tfor (let prevTimelineIndex = 0;\r\n\t\t\t\t\t\tprevTimelineIndex < this.widgetData.data[foundIndex].events[timeline].timeline.length; prevTimelineIndex++) {\r\n\t\t\t\t\t\tlet eventCount = 1;\r\n\t\t\t\t\t\tif (this.widgetData.data[foundIndex].events[timeline].timeline[prevTimelineIndex].channel !== 'Rep Visit'\r\n\t\t\t\t\t\t\t|| this.widgetData.data[foundIndex].events[timeline].timeline[prevTimelineIndex].isHighlight) {\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tfor (let nextTimelineIndex = prevTimelineIndex + 1;\r\n\t\t\t\t\t\t\tnextTimelineIndex < this.widgetData.data[foundIndex].events[timeline].timeline.length; nextTimelineIndex++) {\r\n\t\t\t\t\t\t\tif (this.widgetData.data[foundIndex].events[timeline].timeline[prevTimelineIndex].channel\r\n\t\t\t\t\t\t\t\t=== this.widgetData.data[foundIndex].events[timeline].timeline[nextTimelineIndex].channel) {\r\n\t\t\t\t\t\t\t\teventCount++;\r\n\t\t\t\t\t\t\t\tif (this.widgetData.data[foundIndex].events[timeline].timeline[nextTimelineIndex].gap > 1\r\n\t\t\t\t\t\t\t\t\t|| this.widgetData.data[foundIndex].events[timeline].timeline[nextTimelineIndex + 1]\r\n\t\t\t\t\t\t\t\t\t&& this.widgetData.data[foundIndex].events[timeline].timeline[nextTimelineIndex + 1].channel === 'Rep Visit') {\r\n\t\t\t\t\t\t\t\t\tthis.widgetData.data[foundIndex].events[timeline].timeline[prevTimelineIndex].isHighlight = true;\r\n\t\t\t\t\t\t\t\t\tthis.widgetData.data[foundIndex].events[timeline].timeline[nextTimelineIndex].isHighlight = true;\r\n\t\t\t\t\t\t\t\t\tif (this.widgetData.data[foundIndex].events[timeline].timeline[nextTimelineIndex + 1]\r\n\t\t\t\t\t\t\t\t\t\t&& this.widgetData.data[foundIndex].events[timeline].timeline[nextTimelineIndex + 1].channel === 'Rep Visit') {\r\n\t\t\t\t\t\t\t\t\t\tthis.widgetData.data[foundIndex].events[timeline].timeline[nextTimelineIndex + 1].isHighlight = true;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.data.push(this.widgetData.data[foundIndex]);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tngOnInit() { }\r\n}\r\n","module.exports = \"
\\r\\n
{{widgetData.title}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","import { Component, ElementRef, OnInit, Input, ViewChild } from '@angular/core';\r\ndeclare let d3: any;\r\n\r\n@Component({\r\n selector: 'app-d3-bar-chart',\r\n templateUrl: './d3-bar-chart.component.html'\r\n})\r\nexport class D3BarChart implements OnInit{\r\n @ViewChild('d3BarChartRef') chartElement: ElementRef;\r\n @Input() widgetData;\r\n @Input() widgetsCount;\r\n data;\r\n svg;\r\n\r\n ngOnInit() {\r\n this.data = this.widgetData.data; \r\n this.loadGraph();\r\n }\r\n\r\n loadGraph() {\r\n var outerWidth = this.widgetsCount > 1 ? 450 : 950;\r\n var outerHeight = this.widgetsCount > 1 ? 250 : 500;\r\n var margin = { left: 90, top: 16, right: 30, bottom: 30 };\r\n var barPadding = 0.2;\r\n\r\n var xColumn = \"xValue\";\r\n var yColumn = \"yValue\";\r\n var colorColumn = \"xValue\";\r\n\r\n var innerWidth = outerWidth - margin.left - margin.right;\r\n var innerHeight = outerHeight - margin.top - margin.bottom;\r\n\r\n var svg = d3.select(this.chartElement.nativeElement).append(\"svg\")\r\n .attr(\"width\", outerWidth)\r\n .attr(\"height\", outerHeight);\r\n var g = svg.append(\"g\")\r\n .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\");\r\n var xAxisG = g.append(\"g\")\r\n .attr(\"class\", \"x axis\")\r\n .attr(\"transform\", \"translate(0,\" + innerHeight + \")\");\r\n var yAxisG = g.append(\"g\")\r\n .attr(\"class\", \"y axis\");\r\n\r\n var xScale = d3.scale.ordinal().rangeBands([0, innerWidth], barPadding);\r\n var yScale = d3.scale.linear().range([innerHeight, 0]);\r\n var colorScale = d3.scale.category10();\r\n\r\n // Use a modified SI formatter that uses \"B\" for Billion.\r\n var siFormat = d3.format(\"s\");\r\n var customTickFormat = function (d){\r\n // return siFormat(d).replace(\"G\", \"B\");\r\n return d;\r\n };\r\n\r\n var xAxis = d3.svg.axis().scale(xScale).orient(\"bottom\")\r\n .outerTickSize(0);\r\n var yAxis = d3.svg.axis().scale(yScale).orient(\"left\")\r\n .ticks(5)\r\n .tickFormat(customTickFormat)\r\n .outerTickSize(0);\r\n\r\n xScale.domain(this.data.map( function (d){ return d[xColumn]; }));\r\n yScale.domain([0, d3.max(this.data, function (d){ return d[yColumn]; })]);\r\n colorScale.domain(this.data.map(function (d){ return d[colorColumn]; }));\r\n\r\n xAxisG\r\n .call(xAxis)\r\n .selectAll(\"text\") \r\n // .attr(\"dx\", \"-0.4em\")\r\n // .attr(\"dy\", \"1.24em\")\r\n // .attr(\"transform\", \"rotate(-16)\" );\r\n\r\n yAxisG.call(yAxis)\r\n .append(\"text\")\r\n .attr(\"transform\", \"rotate(-90)\")\r\n .attr(\"y\", 6)\r\n .attr(\"dy\", \".71em\")\r\n .style(\"text-anchor\", \"end\")\r\n .text(\"Value ($)\");\r\n\r\n var bars = g.selectAll(\"rect\").data(this.data);\r\n bars.enter().append(\"rect\")\r\n .attr(\"width\", xScale.rangeBand());\r\n bars\r\n .attr(\"x\", function (d){ return xScale(d[xColumn]); })\r\n .attr(\"y\", function (d){ return yScale(d[yColumn]); })\r\n .attr(\"height\", function (d){ return innerHeight - yScale(d[yColumn]); })\r\n .attr(\"fill\", function (d){ return colorScale(d[colorColumn]); })\r\n .on('mouseover', () => {\r\n div.style('display', 'inline');\r\n })\r\n .on('mousemove', function() {\r\n var d = d3.select(this).data()[0]\r\n div\r\n .html(d[yColumn])\r\n .style('left', (d3.event.pageX + 15) + 'px')\r\n .style('top', (d3.event.pageY - 20) + 'px');\r\n })\r\n .on('mouseout', () => {\r\n div.style('display', 'none');\r\n });\r\n bars.exit().remove(); \r\n\r\n // tooltips\r\n var div = d3.select('body').append('div')\r\n .attr('class', 'graph-tooltip')\r\n .style('display', 'none');\r\n\r\n }\r\n\r\n \r\n}","module.exports = \"\\r\\n /* .d3-box-plotter .box {\\r\\n font: 1px 'sans-serif';\\r\\n\\r\\n } */\\r\\n .d3-box-plotter .box line,\\r\\n .d3-box-plotter .box rect,\\r\\n .d3-box-plotter .box circle {\\r\\n fill: orange;\\r\\n stroke: #000000;\\r\\n stroke-width: 1.2px;\\r\\n }\\r\\n .d3-box-plotter .box .center {\\r\\n stroke-dasharray: 2,3;\\r\\n }\\r\\n .d3-box-plotter .box .outlier {\\r\\n fill: none;\\r\\n stroke: #000;\\r\\n }\\r\\n .d3-box-plotter .axis {\\r\\n /* font: 8px 'sans-serif'; */\\r\\n font-size:10px;\\r\\n }\\r\\n .d3-box-plotter .axis path,\\r\\n .d3-box-plotter .axis line {\\r\\n fill: none;\\r\\n stroke: #000;\\r\\n shape-rendering: crispEdges;\\r\\n }\\r\\n .d3-box-plotter .x.axis path { \\r\\n fill: none;\\r\\n stroke: #000;\\r\\n shape-rendering: crispEdges;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9kMy1ib3hwbG90L2QzLWJveHBsb3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0VBQ0U7OztNQUdJO0VBQ0o7OztJQUdFLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsb0JBQW9CO0dBQ3JCO0VBRUQ7SUFDRSxzQkFBc0I7R0FDdkI7RUFFRDtJQUNFLFdBQVc7SUFDWCxhQUFhO0dBQ2Q7RUFFRDtJQUNFLDZCQUE2QjtJQUM3QixlQUFlO0dBQ2hCO0VBRUQ7O0lBRUUsV0FBVztJQUNYLGFBQWE7SUFDYiw0QkFBNEI7R0FDN0I7RUFFRDtJQUNFLFdBQVc7SUFDWCxhQUFhO0lBQ2IsNEJBQTRCO0dBQzdCIiwiZmlsZSI6InNyYy9hcHAvd2lkZ2V0cy9kMy1ib3hwbG90L2QzLWJveHBsb3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4gIC8qIC5kMy1ib3gtcGxvdHRlciAuYm94IHtcclxuICAgIGZvbnQ6IDFweCAnc2Fucy1zZXJpZic7XHJcblxyXG4gIH0gKi9cclxuICAuZDMtYm94LXBsb3R0ZXIgLmJveCBsaW5lLFxyXG4gIC5kMy1ib3gtcGxvdHRlciAuYm94IHJlY3QsXHJcbiAgLmQzLWJveC1wbG90dGVyIC5ib3ggY2lyY2xlIHtcclxuICAgIGZpbGw6IG9yYW5nZTtcclxuICAgIHN0cm9rZTogIzAwMDAwMDtcclxuICAgIHN0cm9rZS13aWR0aDogMS4ycHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5kMy1ib3gtcGxvdHRlciAuYm94IC5jZW50ZXIge1xyXG4gICAgc3Ryb2tlLWRhc2hhcnJheTogMiwzO1xyXG4gIH1cclxuICBcclxuICAuZDMtYm94LXBsb3R0ZXIgLmJveCAub3V0bGllciB7XHJcbiAgICBmaWxsOiBub25lO1xyXG4gICAgc3Ryb2tlOiAjMDAwO1xyXG4gIH1cclxuICBcclxuICAuZDMtYm94LXBsb3R0ZXIgLmF4aXMge1xyXG4gICAgLyogZm9udDogOHB4ICdzYW5zLXNlcmlmJzsgKi9cclxuICAgIGZvbnQtc2l6ZToxMHB4O1xyXG4gIH1cclxuICAgXHJcbiAgLmQzLWJveC1wbG90dGVyIC5heGlzIHBhdGgsXHJcbiAgLmQzLWJveC1wbG90dGVyIC5heGlzIGxpbmUge1xyXG4gICAgZmlsbDogbm9uZTtcclxuICAgIHN0cm9rZTogIzAwMDtcclxuICAgIHNoYXBlLXJlbmRlcmluZzogY3Jpc3BFZGdlcztcclxuICB9XHJcbiAgIFxyXG4gIC5kMy1ib3gtcGxvdHRlciAueC5heGlzIHBhdGggeyBcclxuICAgIGZpbGw6IG5vbmU7XHJcbiAgICBzdHJva2U6ICMwMDA7XHJcbiAgICBzaGFwZS1yZW5kZXJpbmc6IGNyaXNwRWRnZXM7XHJcbiAgfSJdfQ== */\"","module.exports = \"
\\r\\n\"","import { Component, OnInit, ViewEncapsulation, ViewChild, ElementRef, Input } from '@angular/core';\r\ndeclare let d3: any;\r\n\r\n@Component({\r\n selector: 'app-d3-boxplot',\r\n templateUrl: './d3-boxplot.component.html',\r\n styleUrls: ['./d3-boxplot.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class D3BoxplotComponent implements OnInit {\r\n\r\n @ViewChild('d3BoxplotChartRef') chartElement: ElementRef;\r\n @Input() widgetData;\r\n @Input() widgetsCount;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.loadBoxplot();\r\n }\r\n\r\n loadBoxplot() {\r\n var labels = true; // show the text labels beside individual boxplots?\r\n\r\n // var margin = { top: 30, right: 50, bottom: 112, left: 50 };\r\n // var width = 800 - margin.left - margin.right;\r\n // var height = 400 - margin.top - margin.bottom;\r\n\r\n var margin = { top: 30, right: 50, bottom: 80, left: 50 },\r\n width = (this.widgetsCount > 1 ? 580 : 700) - margin.left - margin.right, //\r\n height = (this.widgetsCount > 1 ? 250 : 500) - margin.top - margin.bottom; //\r\n\r\n var min = Infinity,\r\n max = -Infinity;\r\n\r\n var blogplotData = this.widgetData.data;\r\n\r\n var data = [];\r\n data[0] = [];\r\n data[1] = [];\r\n data[2] = [];\r\n data[3] = [];\r\n data[4] = [];\r\n data[5] = [];\r\n //data[6] = [];\r\n\r\n // add more rows if your csv file has more columns\r\n\r\n // add here the header of the csv file\r\n //data[0][0] = \"Customer Id\";\r\n data[0][0] = \"HQ Email\";\r\n data[1][0] = \"Mobile Alert\";\r\n data[2][0] = \"Rep Email\";\r\n data[3][0] = \"Rep Visit\";\r\n data[4][0] = \"Speaker Program\";\r\n data[5][0] = \"Third Party Email\";\r\n // add more rows if your csv file has more columns\r\n\r\n data[0][1] = [];\r\n data[1][1] = [];\r\n data[2][1] = [];\r\n data[3][1] = [];\r\n data[4][1] = [];\r\n data[5][1] = [];\r\n //data[6][1] = [];\r\n blogplotData.forEach(function (x) {\r\n var v1 = Math.floor(x[\"HQ Email\"]),\r\n v2 = Math.floor(x[\"Mobile Alert\"]),\r\n v3 = Math.floor(x[\"Rep Email\"]),\r\n v4 = Math.floor(x[\"Rep Visit\"]),\r\n v5 = Math.floor(x[\"Speaker Program\"]),\r\n v6 = Math.floor(x[\"Third Party Email\"]);\r\n // add more variables if your csv file has more columns\r\n\r\n var arr = [v1, v2, v3, v4, v5, v6]\r\n // \t\tvar rowMax = Math.max(v1, Math.max(v2, Math.max(v3, Math.max(v4,Math.max(v5, Math.max(v6, Math.max(v7,v8)))))));\r\n // \t\tvar rowMin = Math.min(v1, Math.min(v2, Math.min(v3, Math.min(v4,Math.min(v5, Math.min(v6, Math.min(v7,v8)))))));\r\n var rowMax = Math.max(v1, v2, v3, v4, v5, v6);\r\n var rowMin = Math.min(v1, v2, v3, v4, v5, v6);\r\n\r\n data[0][1].push(v1);\r\n data[1][1].push(v2);\r\n data[2][1].push(v3);\r\n data[3][1].push(v4);\r\n data[4][1].push(v5);\r\n data[5][1].push(v6);\r\n // add more rows if your csv file has more columns\r\n\r\n if (rowMax > max) max = rowMax;\r\n if (rowMin < min) min = rowMin;\r\n\r\n max = 30\r\n\r\n });\r\n\r\n\r\n var chart = d3.box()\r\n .whiskers(iqr(1.5))\r\n .height(height)\r\n .domain([min, max])\r\n .showLabels(labels);\r\n\r\n var svg = d3.select(this.chartElement.nativeElement).append(\"svg\")\r\n .attr(\"width\", width + margin.left + margin.right)\r\n .attr(\"height\", height + margin.top + margin.bottom)\r\n .attr(\"class\", \"box\")\r\n .append(\"g\")\r\n .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\");\r\n\r\n // the x-axis\r\n var x = d3.scale.ordinal()\r\n .domain(data.map(function (d) { return d[0] }))\r\n .rangeRoundBands([0, width], 0.7, 0.3);\r\n\r\n var xAxis = d3.svg.axis()\r\n .scale(x)\r\n .orient(\"bottom\");\r\n\r\n // the y-axis\r\n var y = d3.scale.linear()\r\n .domain([min, max])\r\n .range([height + margin.top, 0 + margin.top]);\r\n\r\n var yAxis = d3.svg.axis()\r\n .scale(y)\r\n .orient(\"left\")\r\n\r\n // draw the boxplots\t\r\n svg.selectAll(\".box\")\r\n .data(data)\r\n .enter().append(\"g\")\r\n .attr(\"transform\", function (d) { return \"translate(\" + x(d[0]) + \",\" + margin.top + \")\"; })\r\n .call(chart.width(x.rangeBand()));\r\n\r\n\r\n // add a title\r\n // svg.append(\"text\")\r\n // .attr(\"x\", (width / 2))\r\n // .attr(\"y\", 0 + (margin.top / 2))\r\n // .attr(\"text-anchor\", \"middle\")\r\n // .style(\"font-size\", \"18px\")\r\n //.style(\"text-decoration\", \"underline\") \r\n //.text(\"SFFD Response Times by Call Type in Dec 2016\");\r\n\r\n // draw y axis\r\n svg.append(\"g\")\r\n .attr(\"class\", \"y axis\")\r\n .call(yAxis)\r\n .append(\"text\") // and text1\r\n .attr(\"transform\", \"rotate(-90)\")\r\n .attr(\"y\", -35)\r\n .attr(\"x\", -58)\r\n .attr(\"dy\", \".71em\")\r\n .style(\"text-anchor\", \"end\")\r\n // .style(\"font-size\", \"11px\")\r\n // .style(\"font-weight\", \"bold\")\r\n .text(\"No of days [Gap]\");\r\n\r\n // draw x axis\t\r\n svg.append(\"g\")\r\n .attr(\"class\", \"x axis\")\r\n .attr(\"transform\", \"translate(0,\" + (height + margin.top + 10) + \")\")\r\n .call(xAxis)\r\n .append(\"text\") // text label for the x axis\r\n .attr(\"x\", (width / 2))\r\n .attr(\"y\", 40)\r\n .attr(\"dy\", \".71em\")\r\n .style(\"text-anchor\", \"middle\")\r\n .style(\"font-weight\", \"bold\");\r\n //.text(\"Call Type\");\r\n //});\r\n\r\n // Returns a function to compute the interquartile range.\r\n function iqr(k) {\r\n\r\n\r\n return function (d, i: number) {\r\n var q1 = d.quartiles[0],\r\n q3 = d.quartiles[2],\r\n iqr = (q3 - q1) * k,\r\n i = -1,\r\n j = d.length;\r\n while (d[++i] < q1 - iqr);\r\n while (d[--j] > q3 + iqr);\r\n return [i, j];\r\n\r\n };\r\n }\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvZDMtY2x1c3Rlci1vZi1jaXJjbGVzL2QzLWNsdXN0ZXItb2YtY2lyY2xlcy5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
\"","import { Component, OnInit, Input, SecurityContext, ViewEncapsulation, ViewChild, ElementRef } from '@angular/core';\r\ndeclare let d3: any;\r\n\r\n\r\n@Component({\r\n selector: 'app-d3-cluster-of-circles',\r\n templateUrl: './d3-cluster-of-circles.component.html',\r\n styleUrls: ['./d3-cluster-of-circles.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class D3ClusterOfCirclesComponent implements OnInit {\r\n @ViewChild('d3ClusterCircleRef') chartElement: ElementRef;\r\n @Input() data;\r\n @Input() settings;\r\n\r\n cluster: any = {\r\n width: 500,\r\n height: 500,\r\n svg: null,\r\n id: \"circles-cluster\",\r\n circleNodes: [],\r\n force: null,\r\n charge: -15,\r\n data: [],\r\n circleRadius: 8,\r\n circleColor: \"#aaafb5\",\r\n circleNodesClassName: \"big-circle-cluster\",\r\n parentSvg: null,\r\n transformX: 0,\r\n transformY: 0\r\n }\r\n\r\n ngOnInit() {\r\n this.cluster.width = this.settings.width || this.cluster.width;\r\n this.cluster.height = this.settings.height || this.cluster.height;\r\n this.cluster.charge = this.settings.charge || this.cluster.charge;\r\n this.cluster.circleRadius = this.settings.circleRadius || this.cluster.circleRadius;\r\n this.cluster.circleColor = this.settings.circleColor || this.cluster.circleColor;\r\n this.cluster.id = this.settings.id || this.cluster.id;\r\n this.cluster.circleNodesClassName = this.settings.circleNodesClassName || this.cluster.circleNodesClassName;\r\n this.cluster.parentSvg = this.settings.parentSvg || this.cluster.parentSvg; \r\n this.cluster.transformX = this.settings.transformX || this.cluster.transformX; \r\n this.cluster.transformY = this.settings.transformY || this.cluster.transformY; \r\n this.cluster.data = this.data;\r\n this.initialize();\r\n }\r\n\r\n createData() {\r\n for (let i = 0; i < 250; i++) {\r\n this.cluster.data.push({\r\n id: i\r\n });\r\n }\r\n }\r\n\r\n\r\n initialize() {\r\n \r\n //To add id attribute \r\n d3.select(this.chartElement.nativeElement)\r\n .attr('id', this.cluster.id);\r\n\r\n let appendCircleTo = null; \r\n if(this.cluster.parentSvg) {\r\n appendCircleTo = this.cluster.parentSvg\r\n .append(\"g\")\r\n .attr(\"transform\", \"translate(\"+ this.cluster.transformX +\",\"+ this.cluster.transformY +\" )\");\r\n } else {\r\n appendCircleTo = d3.select(\"#\" + this.cluster.id).append(\"svg\");\r\n }\r\n\r\n //Create SVG of requested size\r\n this.cluster.svg = appendCircleTo\r\n .attr(\"id\", \"circles-cluster-svg\")\r\n .attr(\"width\", this.cluster.width)\r\n .attr(\"height\", this.cluster.height)\r\n\r\n if(!this.cluster.parentSvg) {\r\n this.cluster.svg.call(this.responsivefy);\r\n }\r\n\r\n //Initizalize force\r\n this.cluster.force = d3.layout.force()\r\n .size([this.cluster.width, this.cluster.height])\r\n .charge(this.cluster.charge)\r\n .on(\"tick\", () => {\r\n this.cluster.svg.selectAll(\".\" + this.cluster.circleNodesClassName)\r\n .attr(\"cx\", function (d) {\r\n return d.x;\r\n })\r\n .attr(\"cy\", function (d) {\r\n return d.y;\r\n });\r\n })\r\n .start();\r\n\r\n this.cluster.circleNodes = this.cluster.svg.selectAll(\".\" + this.cluster.circleNodesClassName);\r\n\r\n this.render();\r\n }\r\n\r\n render() {\r\n this.cluster.circleNodes = this.cluster.circleNodes.data(this.cluster.data, (d, i) => {\r\n d.x = this.cluster.width * Math.random();\r\n d.y = this.cluster.height * Math.random();\r\n return d.id;\r\n });\r\n this.cluster.circleNodes\r\n .enter()\r\n .append(\"circle\")\r\n .attr(\"class\", this.cluster.circleNodesClassName)\r\n .attr(\"id\", function (d, i) {\r\n return \"big_circle_node_\" + d.id;\r\n })\r\n .style(\"fill\", this.cluster.circleColor)\r\n .attr(\"r\", this.cluster.circleRadius)\r\n\r\n this.cluster.force\r\n .nodes(this.cluster.data)\r\n .start();\r\n }\r\n\r\n responsivefy(svg) {\r\n // get container + svg aspect ratio\r\n var container = d3.select(svg.node().parentNode),\r\n width = parseInt(svg.style(\"width\")),\r\n height = parseInt(svg.style(\"height\")),\r\n aspect = width / height;\r\n // add viewBox and preserveAspectRatio properties,\r\n // and call resize so that svg resizes on inital page load\r\n svg.attr(\"viewBox\", \"0 0 \" + width + \" \" + height)\r\n .attr(\"perserveAspectRatio\", \"xMinYMid\")\r\n .call(resize);\r\n\r\n // to register multiple listeners for same event type, \r\n // you need to add namespace, i.e., 'click.foo'\r\n // necessary if you call invoke this function for multiple svgs\r\n // api docs: https://github.com/mbostock/d3/wiki/Selections#on\r\n d3.select(window).on(\"resize.\" + container.attr(\"id\"), resize);\r\n\r\n // get width of container and resize svg to fit it\r\n function resize() {\r\n var targetWidth = parseInt(container.style(\"width\"));\r\n svg.attr(\"width\", targetWidth);\r\n svg.attr(\"height\", Math.round(targetWidth / aspect));\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \".timeline-label-text {\\r\\n fill: #fff;\\r\\n font-family: 'DINProMedium', sans-serif;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9kMy1ldmVudC10aW1lbGluZS1jaGFydC9kMy1ldmVudC10aW1lbGluZS1jaGFydC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztJQUNYLHdDQUF3QztDQUMzQyIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvZDMtZXZlbnQtdGltZWxpbmUtY2hhcnQvZDMtZXZlbnQtdGltZWxpbmUtY2hhcnQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50aW1lbGluZS1sYWJlbC10ZXh0IHtcclxuICAgIGZpbGw6ICNmZmY7XHJcbiAgICBmb250LWZhbWlseTogJ0RJTlByb01lZGl1bScsIHNhbnMtc2VyaWY7XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
{{widgetData.title}}
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, Input, ViewChild, ElementRef, ViewEncapsulation } from '@angular/core';\r\nimport { D3CustomShapesService } from 'src/app/services/helper/d3-custom-shapes.service';\r\n\r\ndeclare let d3: any;\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tselector: 'app-d3-event-timeline-chart',\r\n\ttemplateUrl: './d3-event-timeline-chart.component.html',\r\n\tstyleUrls: ['./d3-event-timeline-chart.component.css']\r\n\r\n})\r\nexport class D3EventTimelineChart implements OnInit {\r\n\t@Input() widgetData;\r\n\t@ViewChild('d3EventTimelineChartRef') chartElement: ElementRef;\r\n\tconstructor(private shapesService: D3CustomShapesService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.renderChart();\r\n\t}\r\n\r\n\trenderChart() {\r\n\t\tlet width = d3.select('#event-timeline-chart').node(0).getBoundingClientRect().width,\r\n\t\t\theight = this.widgetData.data.length * 100;\r\n\t\tlet parseDate = d3.time.format(\"%m/%d/%Y\").parse;\r\n\t\tlet timelineData = this.widgetData.data;\r\n\t\t//To create array of all years present in the data for calculation of min and max range for scale\r\n\t\tlet years = [];\r\n\t\tlet totalNumberOfUserData = []\r\n\t\tfor (let index = 0; index < timelineData.length; index++) {\r\n\t\t\ttotalNumberOfUserData.push(index + 1);\r\n\t\t\ttimelineData[index].userActivities = _.orderBy(timelineData[index].userActivities, ['days_before'], ['desc']);\r\n\t\t\tyears = [...years, ...(_.map(timelineData[index].userActivities, 'date'))];\r\n\t\t}\r\n\r\n\t\tlet xScale = d3.time.scale().domain(d3.extent(years, function (d) { return parseDate(d); })).range([50, width - 150]).nice();\r\n\t\tlet yScale = d3.scale.ordinal().domain([...totalNumberOfUserData]).rangePoints([50, height - 150], 1);\r\n\t\t// Append SVG \r\n\t\tlet svg = d3.select(this.chartElement.nativeElement)\r\n\t\t\t.append(\"svg\")\r\n\t\t\t.attr(\"id\", \"timeline-svg\")\r\n\t\t\t.attr(\"width\", width)\r\n\t\t\t.attr(\"height\", height);\r\n\r\n\t\tlet xAxis = d3.svg.axis().scale(xScale).orient(\"bottom\").tickFormat(d3.time.format(\"%m/%Y\")).tickPadding(10)\r\n\t\t\t.outerTickSize(10);\r\n\t\tlet yAxis = d3.svg.axis().scale(yScale).orient(\"left\");\r\n\r\n\t\tsvg.append(\"g\").attr(\"transform\", \"translate(50, \" + (height - 125) + \")\").attr(\"class\", \"x axis\").call(xAxis);\r\n\t\tsvg.append(\"g\").attr(\"transform\", \"translate(50,0)\").attr(\"class\", \"y axis\").call(yAxis)\r\n\t\t\t.append(\"text\")\r\n\t\t\t.attr(\"transform\", \"rotate(-90)\")\r\n\t\t\t.attr(\"class\", \"test\")\r\n\t\t\t.attr(\"y\", -20)\r\n\t\t\t.attr(\"x\", (-(height / 2) + 60))\r\n\t\t\t.attr(\"dy\", \"-0.6em\")\r\n\t\t\t.style(\"text-anchor\", \"end\")\r\n\t\t\t.text(this.widgetData.yAxisLable || \"Value\");\r\n\t\tlet lineGenerator = d3.svg.line()\r\n\t\t\t.x(function (d, i) {\r\n\t\t\t\treturn d.xCoordinate;\r\n\t\t\t})\r\n\t\t\t.y(function (d) {\r\n\t\t\t\treturn d.yFactorAdj ? (yScale(d.yCoordinate) + d.yFactorAdj) : yScale(d.yCoordinate);\r\n\t\t\t});\r\n\t\tlet tooltipDiv = d3.select('body').append('div')\r\n\t\t\t.attr('class', 'graph-tooltip dark top-position')\r\n\t\t\t.attr('id', 'd3-event-timeline-chart-custom-tooltip')\r\n\t\t\t.style('display', 'none');\r\n\t\tfor (let index = 0; index < timelineData.length; index++) {\r\n\r\n\t\t\tlet yFactorAdj = -20;\r\n\t\t\tlet dataPoints = { xCoordinate: 80, yCoordinate: (yScale(index + 1) + yFactorAdj), width: (width - 150), height: 40, roundedRadius: 10 };\r\n\r\n\t\t\tsvg\r\n\t\t\t\t.append('path')\r\n\t\t\t\t.attr('d', roundedRectangle(dataPoints.xCoordinate, dataPoints.yCoordinate, dataPoints.width, dataPoints.height, dataPoints.roundedRadius))\r\n\t\t\t\t.style(\"stroke\", function () {\r\n\t\t\t\t\treturn timelineData[index].timelineColor || 'grey';\r\n\t\t\t\t})\r\n\t\t\t\t.style(\"fill\", \"none\");\r\n\r\n\t\t\tlet centerLinePoints = [\r\n\t\t\t\t{ xCoordinate: 50, yCoordinate: index + 1 },\r\n\t\t\t\t{ xCoordinate: width - 50, yCoordinate: index + 1 },\r\n\t\t\t];\r\n\r\n\t\t\tsvg\r\n\t\t\t\t.append('path')\r\n\t\t\t\t.attr('d', lineGenerator(centerLinePoints))\r\n\t\t\t\t.style(\"stroke\", \"none\")\r\n\t\t\t\t.style(\"fill\", \"none\");\r\n\r\n\t\t\tsvg.selectAll(\".timeline-chart-shapes\")\r\n\t\t\t\t.data(timelineData[index].userActivities)\r\n\t\t\t\t.enter()\r\n\t\t\t\t.append(\"path\")\r\n\t\t\t\t.attr({\r\n\t\t\t\t\t\"d\": (d, i) => {\r\n\t\t\t\t\t\treturn this.shapesService.getShapeCoordinates(\"circle\", 400);\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"transform\": (d) => {\r\n\t\t\t\t\t\treturn \"translate(\" + (xScale(parseDate(d.date)) + 50) + \", \" + yScale(index + 1) + \")\"\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.attr(\"fill\", function (d) {\r\n\t\t\t\t\treturn timelineData[index].timelineColor || 'grey';\r\n\t\t\t\t})\r\n\t\t\t\t.attr(\"fill-opacity\", 0)\r\n\t\t\t\t.transition()\r\n\t\t\t\t.delay(function (d, i) {\r\n\t\t\t\t\tif (d.shapeText) {\r\n\t\t\t\t\t\tsvg.append(\"text\")\r\n\t\t\t\t\t\t\t.text(d.shapeText)\r\n\t\t\t\t\t\t\t.attr({\r\n\t\t\t\t\t\t\t\t\"x\": (xScale(parseDate(d.date)) - 7) + 50,\r\n\t\t\t\t\t\t\t\t\"y\": yScale(centerLinePoints[0].yCoordinate) + 4,\r\n\t\t\t\t\t\t\t\t\"class\": \"timeline-label-text\",\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t.on(\"mouseover\", function () {\r\n\t\t\t\t\t\t\t\ttooltipDiv.style('display', 'inline');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t.on(\"mousemove\", function () {\r\n\t\t\t\t\t\t\t\tlet tooltip = tooltipDiv\r\n\t\t\t\t\t\t\t\t\t.html(d.event + \" - \" + d.date);\r\n\t\t\t\t\t\t\t\tlet width = tooltip.node().offsetWidth;\r\n\t\t\t\t\t\t\t\ttooltip.style('left', (d3.event.pageX - (width / 2)) + 'px')\r\n\t\t\t\t\t\t\t\t\t.style('top', (d3.event.pageY - 55) + 'px');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t).on('mouseout', function (d) {\r\n\t\t\t\t\t\t\t\ttooltipDiv.style('display', 'none');\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn i * 100\r\n\t\t\t\t})\r\n\t\t\t\t.duration(1000)\r\n\t\t\t\t.attr(\"fill-opacity\", 1);\r\n\r\n\r\n\t\t}\r\n\r\n\t\tfunction roundedRectangle(x, y, w, h, r) {\r\n\t\t\tlet retval;\r\n\t\t\tretval = \"M\" + (x + r) + \",\" + y;\r\n\t\t\tretval += \"h\" + (w - 2 * r);\r\n\t\t\tretval += \"a\" + r + \",\" + r + \" 0 0 1 \" + r + \",\" + r\r\n\t\t\tretval += \"v\" + (h - 2 * r);\r\n\t\t\tretval += \"a\" + r + \",\" + r + \" 0 0 1 \" + -r + \",\" + r;\r\n\t\t\tretval += \"h\" + (2 * r - w);\r\n\t\t\tretval += \"a\" + r + \",\" + r + \" 0 0 1 \" + -r + \",\" + -r;\r\n\t\t\tretval += \"v\" + (2 * r - h);\r\n\t\t\tretval += \"a\" + r + \",\" + r + \" 0 0 1 \" + r + \",\" + -r;\r\n\t\t\tretval += \"z\";\r\n\t\t\treturn retval;\r\n\t\t}\r\n\t}\r\n\r\n\tOnDestroy() {\r\n\t\td3.select(\"#d3-event-timeline-chart-custom-tooltip\").remove();\r\n\t}\r\n\r\n}\r\n","module.exports = \".timeline-tooltip {\\r\\n\\tbackground: #7c7c7c;\\r\\n position: fixed;\\r\\n z-index: 99;\\r\\n padding: 3px 20px 6px;\\r\\n border-radius: 22px;\\r\\n color: #fff;\\r\\n}\\r\\n.timeline-tooltip:after {\\r\\n\\ttop: 100%;\\r\\n\\tleft: 50%;\\r\\n\\tborder: solid transparent;\\r\\n\\tcontent: \\\" \\\";\\r\\n\\theight: 0;\\r\\n\\twidth: 0;\\r\\n\\tposition: absolute;\\r\\n\\tpointer-events: none;\\r\\n\\tborder-color: rgba(124, 124, 124, 0);\\r\\n\\tborder-top-color: #7c7c7c;\\r\\n\\tborder-width: 8px;\\r\\n\\tmargin-left: -8px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9kMy1ldmVudC10aW1lbGluZS9kMy1ldmVudC10aW1lbGluZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0NBQ0Msb0JBQW9CO0lBQ2pCLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osc0JBQXNCO0lBQ3RCLG9CQUFvQjtJQUNwQixZQUFZO0NBQ2Y7QUFDRDtDQUNDLFVBQVU7Q0FDVixVQUFVO0NBQ1YsMEJBQTBCO0NBQzFCLGFBQWE7Q0FDYixVQUFVO0NBQ1YsU0FBUztDQUNULG1CQUFtQjtDQUNuQixxQkFBcUI7Q0FDckIscUNBQXFDO0NBQ3JDLDBCQUEwQjtDQUMxQixrQkFBa0I7Q0FDbEIsa0JBQWtCO0NBQ2xCIiwiZmlsZSI6InNyYy9hcHAvd2lkZ2V0cy9kMy1ldmVudC10aW1lbGluZS9kMy1ldmVudC10aW1lbGluZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRpbWVsaW5lLXRvb2x0aXAge1xyXG5cdGJhY2tncm91bmQ6ICM3YzdjN2M7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB6LWluZGV4OiA5OTtcclxuICAgIHBhZGRpbmc6IDNweCAyMHB4IDZweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDIycHg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG4udGltZWxpbmUtdG9vbHRpcDphZnRlciB7XHJcblx0dG9wOiAxMDAlO1xyXG5cdGxlZnQ6IDUwJTtcclxuXHRib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdGNvbnRlbnQ6IFwiIFwiO1xyXG5cdGhlaWdodDogMDtcclxuXHR3aWR0aDogMDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0Ym9yZGVyLWNvbG9yOiByZ2JhKDEyNCwgMTI0LCAxMjQsIDApO1xyXG5cdGJvcmRlci10b3AtY29sb3I6ICM3YzdjN2M7XHJcblx0Ym9yZGVyLXdpZHRoOiA4cHg7XHJcblx0bWFyZ2luLWxlZnQ6IC04cHg7XHJcbn1cclxuIl19 */\"","module.exports = \"\"","import { Component, OnInit, Input, ViewEncapsulation } from '@angular/core';\r\nimport { D3CustomShapesService } from 'src/app/services/helper/d3-custom-shapes.service';\r\nimport { D3EventTimelineService } from 'src/app/services/d3-event-timeline.service';\r\ndeclare const d3: any;\r\n\r\n@Component({\r\n\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tselector: 'app-d3-event-timeline',\r\n\ttemplateUrl: './d3-event-timeline.component.html',\r\n\tstyleUrls: ['./d3-event-timeline.component.css']\r\n})\r\nexport class D3EventTimelineComponent implements OnInit {\r\n\t@Input() timelineDetails: any = {\r\n\t\tsvg: [],\r\n\t\tindex: 0,\r\n\t\twidth: 900,\r\n\t\theight: 150,\r\n\t\tdata: [],\r\n\t\ttranslate: { x: 0, y: 0 },\r\n\t\tcategoriesColor: [\"#FFF\"],\r\n\t\ttooltipDivId: \"#abc\"\r\n\t};\r\n\tshapePosition: Array = [];\r\n\tsvg: any = null;\r\n\tyears = ['1/1/2006', '1/1/2007', '1/1/2008', '1/1/2009', '1/1/2010', '1/1/2011', '1/1/2012', '1/1/2013', '1/1/2014', '1/1/2015', '1/1/2016', '1/1/2017'];\r\n\tparseDate = d3.time.format(\"%m/%d/%Y\").parse;\r\n\txScale: Function;\r\n\tyScale: Function;\r\n\tconstructor(\r\n\t\tprivate shapesService: D3CustomShapesService,\r\n\t\tprivate timelineService: D3EventTimelineService\r\n\t) { }\r\n\r\n\tcreateTimeline() {\r\n\r\n\t\tfunction roundedRectangle(x, y, w, h, r) {\r\n\t\t\tvar retval;\r\n\t\t\tretval = \"M\" + (x + r) + \",\" + y;\r\n\t\t\tretval += \"h\" + (w - 2 * r);\r\n\t\t\tretval += \"a\" + r + \",\" + r + \" 0 0 1 \" + r + \",\" + r\r\n\t\t\tretval += \"v\" + (h - 2 * r);\r\n\t\t\tretval += \"a\" + r + \",\" + r + \" 0 0 1 \" + -r + \",\" + r;\r\n\t\t\tretval += \"h\" + (2 * r - w);\r\n\t\t\tretval += \"a\" + r + \",\" + r + \" 0 0 1 \" + -r + \",\" + -r;\r\n\t\t\tretval += \"v\" + (2 * r - h);\r\n\t\t\tretval += \"a\" + r + \",\" + r + \" 0 0 1 \" + r + \",\" + -r;\r\n\t\t\tretval += \"z\";\r\n\t\t\treturn retval;\r\n\t\t}\r\n\r\n\t\tconst { width, height, data, index, translate, categoriesColor } = this.timelineDetails;\r\n\r\n\t\t// Append SVG \r\n\t\tlet svg = this.timelineDetails.svg\r\n\t\t\t.append(\"g\")\r\n\t\t\t.attr('id', \"timeline_block_\" + index)\r\n\t\t\t.attr({\r\n\t\t\t\t\"width\": width,\r\n\t\t\t\t\"height\": height,\r\n\t\t\t\t\"transform\": \"translate(\" + translate.x + \",\" + translate.y + \")\"\r\n\t\t\t});\r\n\r\n\t\tthis.svg = svg;\r\n\r\n\t\tvar timelineLineGenerator = d3.svg.line()\r\n\t\t\t.x((d, i) => {\r\n\t\t\t\treturn d.xCoordinate;\r\n\t\t\t})\r\n\t\t\t.y((d) => {\r\n\t\t\t\treturn d.yFactorAdj ? (this.yScale(d.yCoordinate) + d.yFactorAdj) : this.yScale(d.yCoordinate);\r\n\t\t\t});\r\n\r\n\t\tvar yFactorAdj = -30;\r\n\t\tvar dataPoints = {\r\n\t\t\txCoordinate: 20,\r\n\t\t\tyCoordinate: (this.yScale(index + 0.5) + yFactorAdj),\r\n\t\t\twidth: (width - 40),\r\n\t\t\theight: 60,\r\n\t\t\troundedRadius: 30\r\n\t\t};\r\n\r\n\t\t//Create main Rounded Timeline Path\r\n\t\tsvg\r\n\t\t\t.append('path')\r\n\t\t\t.attr({\r\n\t\t\t\t\"id\": \"date_timeline_\" + index,\r\n\t\t\t\t'd': roundedRectangle(dataPoints.xCoordinate, dataPoints.yCoordinate, dataPoints.width, dataPoints.height, dataPoints.roundedRadius)\r\n\t\t\t})\r\n\t\t\t.style({\r\n\t\t\t\t\"fill\": \"none\",\r\n\t\t\t\t\"stroke\": \"none\"\r\n\t\t\t});\r\n\r\n\t\tlet centerLinePoints = [{\r\n\t\t\txCoordinate: 50,\r\n\t\t\tyCoordinate: index + 0.5\r\n\t\t}, {\r\n\t\t\txCoordinate: width - 50,\r\n\t\t\tyCoordinate: index + 0.5\r\n\t\t},];\r\n\r\n\t\t//Create Center Path for shapes\r\n\t\tsvg\r\n\t\t\t.append('path')\r\n\t\t\t.attr({\r\n\t\t\t\t\"id\": \"date_timeline_center_path_\" + index,\r\n\t\t\t\t'd': timelineLineGenerator(centerLinePoints)\r\n\t\t\t})\r\n\t\t\t.style({\r\n\t\t\t\t\"stroke\": \"none\",\r\n\t\t\t\t\"fill\": \"none\"\r\n\t\t\t});\r\n\r\n\t\t//Create Shapes and place it in Starting Position\r\n\t\tsvg.selectAll(\".circle\")\r\n\t\t\t.data(data.userActivities)\r\n\t\t\t.enter()\r\n\t\t\t.append(\"path\")\r\n\t\t\t.attr({\r\n\t\t\t\t\"class\": \"date_timeline_shapes_\" + index,\r\n\t\t\t\t\"id\": (d, subIndex) => {\r\n\t\t\t\t\treturn \"date_timeline_shapes_\" + index + \"_\" + subIndex;\r\n\t\t\t\t},\r\n\t\t\t\t\"d\": (d, i) => {\r\n\t\t\t\t\tthis.shapePosition[i] = this.xScale(this.parseDate(d.date));\r\n\t\t\t\t\treturn this.shapesService.getShapeCoordinates([d.shapeType], d.shapeSize)\r\n\t\t\t\t},\r\n\t\t\t\t\"transform\": \"translate(\" + centerLinePoints[0].xCoordinate + \", \" + this.yScale(centerLinePoints[0].yCoordinate) + \")\"\r\n\t\t\t})\r\n\t\t\t.style({\r\n\t\t\t\t\"fill\": (d) => {\r\n\t\t\t\t\treturn categoriesColor[d.colorId]\r\n\t\t\t\t},\r\n\t\t\t\t\"stroke\": \"none\",\r\n\t\t\t\t'fill-opacity': 0\r\n\t\t\t})\r\n\r\n\t\tthis.timelineService.setShapePosition(this.shapePosition);\r\n\r\n\t\t//Create Text and place it in Starting Position\r\n\t\tsvg.selectAll(\".date_timeline_shapes_\" + index)\r\n\t\t\t.data(data.userActivities)\r\n\t\t\t.each((data, key) => {\r\n\t\t\t\tif (data.shapeText) {\r\n\t\t\t\t\tsvg.append(\"text\")\r\n\t\t\t\t\t\t.text(data.shapeText)\r\n\t\t\t\t\t\t.attr({\r\n\t\t\t\t\t\t\t\"x\": centerLinePoints[0].xCoordinate,\r\n\t\t\t\t\t\t\t\"y\": this.yScale(centerLinePoints[0].yCoordinate),\r\n\t\t\t\t\t\t\t\"fill\": \"transparent\",\r\n\t\t\t\t\t\t\t\"class\": \"timeline-node-text\",\r\n\t\t\t\t\t\t\t\"id\": \"timeline-node-text-\" + index + \"-\" + key\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (data.showTooltip) {\r\n\t\t\t\t\tlet shape = this.svg.select(\"#date_timeline_shapes_\" + index + \"_\" + key);\r\n\t\t\t\t\tthis.showTimelineActivityTooltip(shape.node().getBoundingClientRect(), index, data, key);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t}\r\n\r\n\tshowTimelineActivityTooltip(points, index, data, key) {\r\n\t\tvar div = d3.select(\"#\" + this.timelineDetails.tooltipDivId).append('div')\r\n\t\t\t.attr('class', 'timeline-tooltip')\r\n\t\t\t.attr(\"id\", \"timeline-tooltip-\" + index + \"-\" + key);\r\n\r\n\t\tdiv\r\n\t\t\t.html(\"\" + data.showTooltip + \"\")\r\n\t\t\t.style({\r\n\t\t\t\t'left': points.left - (data.showTooltip.length * 4) - 15 + 'px',\r\n\t\t\t\t'top': (this.timelineDetails.height - 50) + 'px',\r\n\t\t\t\t'position': 'absolute',\r\n\t\t\t\t\"visibility\": \"hidden\"\r\n\t\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\t//Define Scales\r\n\t\tthis.xScale = d3.time.scale().domain(d3.extent(this.years, (d) => {\r\n\t\t\treturn this.parseDate(d);\r\n\t\t})).range([50, this.timelineDetails.width - 50]);\r\n\t\tthis.yScale = d3.scale.linear().domain([0, 0]).range([50, this.timelineDetails.height - 10]);\r\n\r\n\t\t//Initialize Values for timeline and trigger to create\r\n\t\tthis.createTimeline();\r\n\t}\r\n\r\n}\r\n","module.exports = \".node rect {\\r\\n /* cursor : move; */\\r\\n /* fill-opacity : .9; */\\r\\n /* shape-rendering : crispEdges; */\\r\\n stroke-width: 0;\\r\\n}\\r\\n\\r\\n.node text {\\r\\n pointer-events: none;\\r\\n /* text-shadow : 0 1px 0 #fff; */\\r\\n}\\r\\n\\r\\n.link {\\r\\n fill: none;\\r\\n}\\r\\n\\r\\n.link-normal {\\r\\n stroke-opacity: .05;\\r\\n}\\r\\n\\r\\n.link-strong {\\r\\n stroke-opacity: .15;\\r\\n}\\r\\n\\r\\n.link:hover {\\r\\n stroke-opacity: .9;\\r\\n}\\r\\n\\r\\n.link-selected {\\r\\n stroke-opacity: 1.0;\\r\\n}\\r\\n\\r\\n.static-link-selected {\\r\\n stroke-opacity: 1.0;\\r\\n}\\r\\n\\r\\n.node-selected {\\r\\n fill: #000 !important;\\r\\n stroke: #000 !important;\\r\\n stroke-width: 1 !important;\\r\\n stroke-opacity: 1.0 !important;\\r\\n z-index: 1 !important;\\r\\n}\\r\\n\\r\\n.static-node-selected {\\r\\n fill: #000 !important;\\r\\n stroke: #000 !important;\\r\\n stroke-width: 1 !important;\\r\\n stroke-opacity: 1.0 !important;\\r\\n z-index: 1 !important;\\r\\n}\\r\\n\\r\\n.link-strong:hover {\\r\\n stroke-opacity: .5;\\r\\n}\\r\\n\\r\\n.rcorners {\\r\\n border-radius: 15px;\\r\\n border: 2px solid #8AC007;\\r\\n padding: 20px;\\r\\n}\\r\\n\\r\\n.border {\\r\\n border: 1px solid rgba(11, 22, 33, 0.2);\\r\\n stroke-opacity: .2;\\r\\n}\\r\\n\\r\\n.noborder {\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.sanky-points-labels .node-formula-container{\\r\\n background: rgba(255, 255, 255, 0.90);\\r\\n position: absolute;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n left: 0;\\r\\n list-style: none;\\r\\n}\\r\\n\\r\\n.sanky-points-labels .node-formula-container li{\\r\\n font-size: 12px;\\r\\n padding: 4px;\\r\\n font-family: 'DINProMedium', sans-serif;\\r\\n display: inline-block;\\r\\n border-radius: 5px;\\r\\n background: #ccc;\\r\\n margin: 5px;\\r\\n}\\r\\n\\r\\n.sanky-points-labels .legends {\\r\\n padding: 5px;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.sanky-points-labels .legends li{\\r\\n list-style: none;\\r\\n display: inline-block;\\r\\n padding-left: 30px;\\r\\n position: relative;\\r\\n margin-right: 20px;\\r\\n}\\r\\n\\r\\n.sanky-points-labels .legends li::after{\\r\\n content: '';\\r\\n display: inline-block;\\r\\n width: 16px;\\r\\n height: 8px;\\r\\n background: red;\\r\\n position: absolute;\\r\\n top: calc(50% - 4px);\\r\\n left: 5px;\\r\\n}\\r\\n\\r\\n.sanky-points-labels .legends li:nth-child(2)::after{\\r\\n background: blue;\\r\\n}\\r\\n\\r\\n.sanky-points-labels .legends li:nth-child(3)::after{\\r\\n background: green;\\r\\n}\\r\\n\\r\\n.sanky-points-labels .legends li:nth-child(4)::after{\\r\\n background: yellow;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9kMy1mbG93Y2hhcnQtc2Fua3ktY2hhcnQtdjIvZDMtZmxvd2NoYXJ0LXNhbmt5LWNoYXJ0LXYyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxvQkFBb0I7SUFDcEIsd0JBQXdCO0lBQ3hCLG1DQUFtQztJQUNuQyxnQkFBZ0I7Q0FDbkI7O0FBRUQ7SUFDSSxxQkFBcUI7SUFDckIsaUNBQWlDO0NBQ3BDOztBQUVEO0lBQ0ksV0FBVztDQUNkOztBQUVEO0lBQ0ksb0JBQW9CO0NBQ3ZCOztBQUVEO0lBQ0ksb0JBQW9CO0NBQ3ZCOztBQUVEO0lBQ0ksbUJBQW1CO0NBQ3RCOztBQUVEO0lBQ0ksb0JBQW9CO0NBQ3ZCOztBQUVEO0lBQ0ksb0JBQW9CO0NBQ3ZCOztBQUVEO0lBQ0ksc0JBQXNCO0lBQ3RCLHdCQUF3QjtJQUN4QiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLHNCQUFzQjtDQUN6Qjs7QUFFRDtJQUNJLHNCQUFzQjtJQUN0Qix3QkFBd0I7SUFDeEIsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQixzQkFBc0I7Q0FDekI7O0FBRUQ7SUFDSSxtQkFBbUI7Q0FDdEI7O0FBRUQ7SUFDSSxvQkFBb0I7SUFDcEIsMEJBQTBCO0lBQzFCLGNBQWM7Q0FDakI7O0FBRUQ7SUFDSSx3Q0FBd0M7SUFDeEMsbUJBQW1CO0NBQ3RCOztBQUVEO0lBQ0ksWUFBWTtDQUNmOztBQUNEO0lBQ0ksc0NBQXNDO0lBQ3RDLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsVUFBVTtJQUNWLFVBQVU7SUFDVixXQUFXO0lBQ1gsUUFBUTtJQUNSLGlCQUFpQjtDQUNwQjs7QUFDRDtJQUNJLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2Isd0NBQXdDO0lBQ3hDLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLFlBQVk7Q0FDZjs7QUFDRDtJQUNJLGFBQWE7SUFDYixVQUFVO0NBQ2I7O0FBQ0Q7SUFDSSxpQkFBaUI7SUFDakIsc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsbUJBQW1CO0NBQ3RCOztBQUNEO0lBQ0ksWUFBWTtJQUNaLHNCQUFzQjtJQUN0QixZQUFZO0lBQ1osWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLFVBQVU7Q0FDYjs7QUFDRDtJQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtJQUNJLGtCQUFrQjtDQUNyQjs7QUFDRDtJQUNJLG1CQUFtQjtDQUN0QiIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvZDMtZmxvd2NoYXJ0LXNhbmt5LWNoYXJ0LXYyL2QzLWZsb3djaGFydC1zYW5reS1jaGFydC12Mi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm5vZGUgcmVjdCB7XHJcbiAgICAvKiBjdXJzb3IgOiBtb3ZlOyAqL1xyXG4gICAgLyogZmlsbC1vcGFjaXR5IDogLjk7ICovXHJcbiAgICAvKiBzaGFwZS1yZW5kZXJpbmcgOiBjcmlzcEVkZ2VzOyAqL1xyXG4gICAgc3Ryb2tlLXdpZHRoOiAwO1xyXG59XHJcblxyXG4ubm9kZSB0ZXh0IHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgLyogdGV4dC1zaGFkb3cgOiAwIDFweCAwICNmZmY7ICovXHJcbn1cclxuXHJcbi5saW5rIHtcclxuICAgIGZpbGw6IG5vbmU7XHJcbn1cclxuXHJcbi5saW5rLW5vcm1hbCB7XHJcbiAgICBzdHJva2Utb3BhY2l0eTogLjA1O1xyXG59XHJcblxyXG4ubGluay1zdHJvbmcge1xyXG4gICAgc3Ryb2tlLW9wYWNpdHk6IC4xNTtcclxufVxyXG5cclxuLmxpbms6aG92ZXIge1xyXG4gICAgc3Ryb2tlLW9wYWNpdHk6IC45O1xyXG59XHJcblxyXG4ubGluay1zZWxlY3RlZCB7XHJcbiAgICBzdHJva2Utb3BhY2l0eTogMS4wO1xyXG59XHJcblxyXG4uc3RhdGljLWxpbmstc2VsZWN0ZWQge1xyXG4gICAgc3Ryb2tlLW9wYWNpdHk6IDEuMDtcclxufVxyXG5cclxuLm5vZGUtc2VsZWN0ZWQge1xyXG4gICAgZmlsbDogIzAwMCAhaW1wb3J0YW50O1xyXG4gICAgc3Ryb2tlOiAjMDAwICFpbXBvcnRhbnQ7XHJcbiAgICBzdHJva2Utd2lkdGg6IDEgIWltcG9ydGFudDtcclxuICAgIHN0cm9rZS1vcGFjaXR5OiAxLjAgIWltcG9ydGFudDtcclxuICAgIHotaW5kZXg6IDEgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnN0YXRpYy1ub2RlLXNlbGVjdGVkIHtcclxuICAgIGZpbGw6ICMwMDAgIWltcG9ydGFudDtcclxuICAgIHN0cm9rZTogIzAwMCAhaW1wb3J0YW50O1xyXG4gICAgc3Ryb2tlLXdpZHRoOiAxICFpbXBvcnRhbnQ7XHJcbiAgICBzdHJva2Utb3BhY2l0eTogMS4wICFpbXBvcnRhbnQ7XHJcbiAgICB6LWluZGV4OiAxICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5saW5rLXN0cm9uZzpob3ZlciB7XHJcbiAgICBzdHJva2Utb3BhY2l0eTogLjU7XHJcbn1cclxuXHJcbi5yY29ybmVycyB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgIzhBQzAwNztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbi5ib3JkZXIge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMSwgMjIsIDMzLCAwLjIpO1xyXG4gICAgc3Ryb2tlLW9wYWNpdHk6IC4yO1xyXG59XHJcblxyXG4ubm9ib3JkZXIge1xyXG4gICAgYm9yZGVyOiAwcHg7XHJcbn1cclxuLnNhbmt5LXBvaW50cy1sYWJlbHMgLm5vZGUtZm9ybXVsYS1jb250YWluZXJ7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTApO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuLnNhbmt5LXBvaW50cy1sYWJlbHMgLm5vZGUtZm9ybXVsYS1jb250YWluZXIgbGl7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICBmb250LWZhbWlseTogJ0RJTlByb01lZGl1bScsIHNhbnMtc2VyaWY7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xyXG4gICAgbWFyZ2luOiA1cHg7XHJcbn1cclxuLnNhbmt5LXBvaW50cy1sYWJlbHMgLmxlZ2VuZHMge1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcbi5zYW5reS1wb2ludHMtbGFiZWxzIC5sZWdlbmRzIGxpe1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxufVxyXG4uc2Fua3ktcG9pbnRzLWxhYmVscyAubGVnZW5kcyBsaTo6YWZ0ZXJ7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiA4cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZWQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IGNhbGMoNTAlIC0gNHB4KTtcclxuICAgIGxlZnQ6IDVweDtcclxufVxyXG4uc2Fua3ktcG9pbnRzLWxhYmVscyAubGVnZW5kcyBsaTpudGgtY2hpbGQoMik6OmFmdGVye1xyXG4gICAgYmFja2dyb3VuZDogYmx1ZTtcclxufVxyXG4uc2Fua3ktcG9pbnRzLWxhYmVscyAubGVnZW5kcyBsaTpudGgtY2hpbGQoMyk6OmFmdGVye1xyXG4gICAgYmFja2dyb3VuZDogZ3JlZW47XHJcbn1cclxuLnNhbmt5LXBvaW50cy1sYWJlbHMgLmxlZ2VuZHMgbGk6bnRoLWNoaWxkKDQpOjphZnRlcntcclxuICAgIGJhY2tncm91bmQ6IHllbGxvdztcclxufVxyXG4iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
    \\r\\n
  • Elite
  • \\r\\n
  • Mutation
  • \\r\\n
  • Crossover
  • \\r\\n
  • Reproduce
  • \\r\\n
\\r\\n
    \\r\\n
  • {{formula}}
  • \\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, Input, ElementRef, ViewChild, ViewEncapsulation, Renderer2, AfterViewInit, OnDestroy } from '@angular/core';\r\ndeclare let d3: any;\r\ndeclare let colorbrewer: any;\r\n\r\nimport * as _ from 'lodash';\r\nimport { D3CustomShapesService } from '../../services/helper/d3-custom-shapes.service';\r\n\r\n\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n selector: 'app-d3-flowchart-sanky-chart-v2',\r\n templateUrl: './d3-flowchart-sanky-chart-v2.component.html',\r\n styleUrls: ['d3-flowchart-sanky-chart-v2.component.css']\r\n})\r\nexport class D3FlowchartSankyChartV2Component implements OnInit, OnDestroy {\r\n\r\n constructor(private _d3CustomShapesService: D3CustomShapesService, private renderer: Renderer2) {}\r\n @Input() widgetData;\r\n data;\r\n @ViewChild('sankyChartNewRef') chartElement: ElementRef;\r\n\r\n flowchart;\r\n svg;\r\n fitness_color;\r\n size_color;\r\n height_color;\r\n format;\r\n path;\r\n link_color;\r\n public showNodesFormula = [];\r\n private showNodesFormulaTimer = null;\r\n private unsubscribeResize = null;\r\n\r\n private responsivefy(svg, isHeightNotToUpdate = false) {\r\n const container = d3.select(svg.node().parentNode);\r\n const width = parseInt(svg.style('width'), 10);\r\n const height = parseInt(svg.style('height'), 10);\r\n const aspect = width / height;\r\n // get width of container and resize svg to fit it\r\n const resize = () => {\r\n const targetWidth = parseInt(container.style('width'), 10);\r\n svg.attr('width', targetWidth);\r\n let targetHeight = targetWidth / aspect;\r\n if (isHeightNotToUpdate) {\r\n // Set Container Height as is.\r\n targetHeight = container.node().getBoundingClientRect().height;\r\n }\r\n svg.attr('height', Math.round(targetHeight));\r\n return {\r\n widthAspect: targetWidth / width,\r\n heightAspect: targetHeight / height\r\n };\r\n };\r\n svg.attr('viewBox', '0 0 ' + width + ' ' + height)\r\n .attr('perserveAspectRatio', 'xMinYMid')\r\n .call(resize);\r\n this.unsubscribeResize = this.renderer.listen(window, 'resize', _.debounce(() => {\r\n resize();\r\n }, 700));\r\n }\r\n\r\n ngOnInit() {\r\n this.data = this.widgetData.data;\r\n this.loadGraph();\r\n }\r\n loadGraph() {\r\n const evolution_height = 250;\r\n const evolution_width = 1220;\r\n\r\n const margin = { top: 5, right: 0, bottom: 8, left: 0 };\r\n const width = evolution_width - margin.left - margin.right;\r\n const height = evolution_height - margin.top - margin.bottom;\r\n\r\n this.format = function(d) {\r\n const str = 'Fitness: ' + (d.fitness / 100).toFixed(2);\r\n /*str += \" ,size: \" + d.size + \"(\" + d.scaled_size + \")\";\r\n str += \" ,height: \" + d.height + \"(\" + d.scaled_height + \")\";*/\r\n return str;\r\n };\r\n const color = d3.scale.category20();\r\n\r\n this.svg = d3.select(this.chartElement.nativeElement).append('svg')\r\n .attr('width', width + margin.left + margin.right)\r\n .attr('height', height + margin.top + margin.bottom)\r\n .attr('class', 'aligned')\r\n .append('g')\r\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\r\n this.responsivefy(d3.select(this.chartElement.nativeElement).select('svg'));\r\n this.flowchart = d3.flowchart()\r\n .node_width(10)\r\n .node_height(4)\r\n .size([width, height]);\r\n this.flowchart.sort_type('unsorted');\r\n this.flowchart.scale_type('unscaled');\r\n\r\n this.path = this.flowchart.link();\r\n\r\n this.fitness_color = null,\r\n this.size_color = null,\r\n this.height_color = null;\r\n this.link_color = d3.scale.ordinal()\r\n .domain([-1, 0, 1, 2]) // elite, mutation, crossover, reproduce\r\n // .range( colorbrewer.Set1[4] );\r\n .range(['red', 'blue', 'green', 'yellow']);\r\n // initialize the flowchart, create the graph\r\n this.flowchart.nodes(this.data.nodes)\r\n .links(this.data.links)\r\n .init();\r\n\r\n const color_range = colorbrewer.RdYlGn[6];\r\n const color_range_fitness = color_range.slice(0); // clone array (deep copy)\r\n // color_range_fitness.reverse();\r\n // color_range = d3.scale.category20c()\r\n // .domain( range1(20) )\r\n // .range();\r\n this.fitness_color = d3.scale.quantile()\r\n .domain(this.data.nodes.map(function(n) { return n.fitness; }))\r\n .range(color_range_fitness);\r\n/* this.size_color = d3.scale.quantile()\r\n .domain(this.data.nodes.map(function(n) { return n.scaled_size; }))\r\n .range(color_range);\r\n this.height_color = d3.scale.quantile()\r\n .domain(this.data.nodes.map(function(n) { return n.scaled_height; }))\r\n .range(color_range);*/\r\n\r\n this.update_visualization();\r\n }\r\n\r\n update_visualization() {\r\n const clearSymbolTraversal = () => {\r\n this.svg.selectAll('.symbol').transition().duration(0);\r\n this.svg.selectAll('.symbol').remove();\r\n this.showNodesFormula = [];\r\n };\r\n const pathTween = (data, gen, key, totalGenCount) => {\r\n const path = d3.select(data[gen].paths[key]);\r\n const length = path.node().getTotalLength();\r\n const r = d3.interpolate(0, length);\r\n return (t) => {\r\n const point = path.node().getPointAtLength(r(t));\r\n d3.select('#symbol-' + gen + '-' + key) // Select Symbol\r\n .attr('transform', 'translate(' + point.x + ',' + point.y + ')');\r\n if ( t === 1 ) {\r\n if (((gen + 1) < totalGenCount)) {\r\n if (!data[gen].isTraversed) {\r\n this.svg.selectAll('.symbol').remove();\r\n data[gen].isTraversed = true;\r\n // tslint:disable-next-line: no-use-before-declare\r\n startSymbolTraverse(data, ++gen, totalGenCount);\r\n }\r\n } else {\r\n clearSymbolTraversal();\r\n this.showNodesFormula = data[gen].finalFormula;\r\n this.showNodesFormulaTimer = setTimeout(() => {\r\n this.showNodesFormula = [];\r\n }, 3000);\r\n }\r\n }\r\n };\r\n };\r\n const startSymbolTraverse = (data, gen, totalGenCount) => {\r\n const generationShapes = ['circle', 'star', 'square', 'hexagoan'];\r\n this.showNodesFormula = data[gen].formula;\r\n this.svg.selectAll('.symbol')\r\n .data(data[gen].paths)\r\n .enter()\r\n .append('path')\r\n .attr({\r\n 'class': 'symbol',\r\n 'id': (d, i) => 'symbol-' + gen + '-' + i,\r\n 'd': this._d3CustomShapesService.getShapeCoordinates(generationShapes[gen], 150)\r\n })\r\n .style('fill', '#000')\r\n .transition()\r\n .duration(1500)\r\n .ease('linear')\r\n .tween('pathTween', (d, i) => {\r\n return pathTween(data, gen, i, totalGenCount);\r\n });\r\n };\r\n // remove all existing elements\r\n this.svg.selectAll('g').remove();\r\n // calculate the node positions\r\n this.flowchart.layout();\r\n // create nodes, hence a group for each node\r\n const node = this.svg.append('g').selectAll('.node')\r\n .data(this.flowchart.nodes())\r\n .enter()\r\n .append('g')\r\n .attr('class', function(d) {\r\n let str = 'node';\r\n d.ancestor_of.forEach((v) => (str += ' ancestor-of-' + v));\r\n return str + ' node-generation-of-' + d.generation;\r\n })\r\n .attr('transform', (v) => ('translate(' + v.x + ',' + v.y + ')'));\r\n // append a rect to each node\r\n const rect = node.append('rect')\r\n .attr({\r\n 'height': d => d.dy,\r\n 'width': this.flowchart.node_width()\r\n })\r\n .style('fill', this.get_node_color())\r\n .on('mousedown', (d) => {\r\n // console.log('MouseDown ----------- ', d);\r\n clearSymbolTraversal();\r\n clearTimeout(this.showNodesFormulaTimer);\r\n\r\n this.svg.selectAll('path.link')\r\n .classed('static-link-selected', false);\r\n this.svg.selectAll('g.node rect')\r\n .classed('static-node-selected', false);\r\n\r\n const selectedAncestorPaths = this.svg.selectAll('path.link.ancestor-of-' + d.key);\r\n const selectedAncestorNodes = this.svg.selectAll('g.node.ancestor-of-' + d.key + ' rect');\r\n selectedAncestorPaths.classed('static-link-selected', true);\r\n selectedAncestorNodes.classed('static-node-selected', true);\r\n let data = [];\r\n selectedAncestorPaths[0].forEach(v => {\r\n const gen = +(d3.select(v).attr('generation'));\r\n if (!data[gen]) {\r\n data[gen] = {formula: [], paths : [], isTraversed: false, finalFormula: [d.formula]};\r\n }\r\n data[gen].paths.push(v);\r\n });\r\n selectedAncestorNodes.each(v => {\r\n data[v.generation].formula.push(v.formula);\r\n });\r\n // console.log(data);\r\n data = data.filter(v => v);\r\n if (data.length) {\r\n startSymbolTraverse(data, 0, data.length);\r\n }\r\n })\r\n .append('title')\r\n .text((d) => (this.format(d)));\r\n // create links\r\n const link = this.svg.append('g').selectAll('.link')\r\n .data(this.flowchart.links())\r\n .enter().append('path')\r\n .attr('class', function(d) {\r\n let str = '';\r\n if (d.op === -1) { str = 'link link-strong'; } else { str = 'link link-normal'; }\r\n d.ancestor_of.forEach(v => { str += ' ancestor-of-' + v; });\r\n return str + ' path-generation-of-' + d.source.generation;\r\n })\r\n .attr('generation', (d) => d.source.generation)\r\n .attr('d', this.path)\r\n .style('stroke-width', function(d) { return Math.max(1, d.dy); })\r\n .style('stroke', (d) => this.link_color(d.op));\r\n }\r\n\r\n get_node_color() {\r\n // const color_type = 'fitness';\r\n\r\n // if (color_type === 'fitness') {\r\n return (d) => this.fitness_color(d.fitness);\r\n // }\r\n // if (color_type === 'size') {\r\n // return (d) => this.size_color(d.scaled_size)\r\n // }\r\n // if (color_type === 'height') {\r\n // return (d) => this.height_color(d.scaled_height)\r\n // }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscribeResize) {\r\n this.unsubscribeResize();\r\n }\r\n }\r\n}\r\n","module.exports = \".node rect {\\r\\n /* cursor : move; */\\r\\n /* fill-opacity : .9; */\\r\\n /* shape-rendering : crispEdges; */\\r\\n stroke-width: 0;\\r\\n}\\r\\n\\r\\n.node text {\\r\\n pointer-events: none;\\r\\n /* text-shadow : 0 1px 0 #fff; */\\r\\n}\\r\\n\\r\\n.link {\\r\\n fill: none;\\r\\n}\\r\\n\\r\\n.link-normal {\\r\\n stroke-opacity: .05;\\r\\n}\\r\\n\\r\\n.link-strong {\\r\\n stroke-opacity: .15;\\r\\n}\\r\\n\\r\\n.link:hover {\\r\\n stroke-opacity: .9;\\r\\n}\\r\\n\\r\\n.link-selected {\\r\\n stroke-opacity: 1.0;\\r\\n}\\r\\n\\r\\n.static-link-selected {\\r\\n stroke-opacity: 1.0;\\r\\n}\\r\\n\\r\\n.node-selected {\\r\\n fill: #000 !important;\\r\\n stroke: #000 !important;\\r\\n stroke-width: 1 !important;\\r\\n stroke-opacity: 1.0 !important;\\r\\n z-index: 1 !important;\\r\\n}\\r\\n\\r\\n.static-node-selected {\\r\\n fill: #000 !important;\\r\\n stroke: #000 !important;\\r\\n stroke-width: 1 !important;\\r\\n stroke-opacity: 1.0 !important;\\r\\n z-index: 1 !important;\\r\\n}\\r\\n\\r\\n.link-strong:hover {\\r\\n stroke-opacity: .5;\\r\\n}\\r\\n\\r\\n.rcorners {\\r\\n border-radius: 15px;\\r\\n border: 2px solid #8AC007;\\r\\n padding: 20px;\\r\\n}\\r\\n\\r\\n.border {\\r\\n border: 1px solid rgba(11, 22, 33, 0.2);\\r\\n stroke-opacity: .2;\\r\\n}\\r\\n\\r\\n.noborder {\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9kMy1mbG93Y2hhcnQtc2Fua3kvZDMtZmxvd2NoYXJ0LXNhbmt5LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxvQkFBb0I7RUFDcEIsd0JBQXdCO0VBQ3hCLG1DQUFtQztFQUNuQyxnQkFBZ0I7Q0FDakI7O0FBRUQ7RUFDRSxxQkFBcUI7RUFDckIsaUNBQWlDO0NBQ2xDOztBQUVEO0VBQ0UsV0FBVztDQUNaOztBQUVEO0VBQ0Usb0JBQW9CO0NBQ3JCOztBQUVEO0VBQ0Usb0JBQW9CO0NBQ3JCOztBQUVEO0VBQ0UsbUJBQW1CO0NBQ3BCOztBQUVEO0VBQ0Usb0JBQW9CO0NBQ3JCOztBQUVEO0VBQ0Usb0JBQW9CO0NBQ3JCOztBQUVEO0VBQ0Usc0JBQXNCO0VBQ3RCLHdCQUF3QjtFQUN4QiwyQkFBMkI7RUFDM0IsK0JBQStCO0VBQy9CLHNCQUFzQjtDQUN2Qjs7QUFFRDtFQUNFLHNCQUFzQjtFQUN0Qix3QkFBd0I7RUFDeEIsMkJBQTJCO0VBQzNCLCtCQUErQjtFQUMvQixzQkFBc0I7Q0FDdkI7O0FBR0Q7RUFDRSxtQkFBbUI7Q0FDcEI7O0FBRUQ7RUFDRSxvQkFBb0I7RUFDcEIsMEJBQTBCO0VBQzFCLGNBQWM7Q0FDZjs7QUFFRDtFQUNFLHdDQUF3QztFQUN4QyxtQkFBbUI7Q0FDcEI7O0FBRUQ7RUFDRSxZQUFZO0NBQ2IiLCJmaWxlIjoic3JjL2FwcC93aWRnZXRzL2QzLWZsb3djaGFydC1zYW5reS9kMy1mbG93Y2hhcnQtc2Fua3kuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5ub2RlIHJlY3Qge1xyXG4gIC8qIGN1cnNvciA6IG1vdmU7ICovXHJcbiAgLyogZmlsbC1vcGFjaXR5IDogLjk7ICovXHJcbiAgLyogc2hhcGUtcmVuZGVyaW5nIDogY3Jpc3BFZGdlczsgKi9cclxuICBzdHJva2Utd2lkdGg6IDA7XHJcbn1cclxuXHJcbi5ub2RlIHRleHQge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIC8qIHRleHQtc2hhZG93IDogMCAxcHggMCAjZmZmOyAqL1xyXG59XHJcblxyXG4ubGluayB7XHJcbiAgZmlsbDogbm9uZTtcclxufVxyXG5cclxuLmxpbmstbm9ybWFsIHtcclxuICBzdHJva2Utb3BhY2l0eTogLjA1O1xyXG59XHJcblxyXG4ubGluay1zdHJvbmcge1xyXG4gIHN0cm9rZS1vcGFjaXR5OiAuMTU7XHJcbn1cclxuXHJcbi5saW5rOmhvdmVyIHtcclxuICBzdHJva2Utb3BhY2l0eTogLjk7XHJcbn1cclxuXHJcbi5saW5rLXNlbGVjdGVkIHtcclxuICBzdHJva2Utb3BhY2l0eTogMS4wO1xyXG59XHJcblxyXG4uc3RhdGljLWxpbmstc2VsZWN0ZWQge1xyXG4gIHN0cm9rZS1vcGFjaXR5OiAxLjA7XHJcbn1cclxuXHJcbi5ub2RlLXNlbGVjdGVkIHtcclxuICBmaWxsOiAjMDAwICFpbXBvcnRhbnQ7XHJcbiAgc3Ryb2tlOiAjMDAwICFpbXBvcnRhbnQ7XHJcbiAgc3Ryb2tlLXdpZHRoOiAxICFpbXBvcnRhbnQ7XHJcbiAgc3Ryb2tlLW9wYWNpdHk6IDEuMCAhaW1wb3J0YW50O1xyXG4gIHotaW5kZXg6IDEgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnN0YXRpYy1ub2RlLXNlbGVjdGVkIHtcclxuICBmaWxsOiAjMDAwICFpbXBvcnRhbnQ7XHJcbiAgc3Ryb2tlOiAjMDAwICFpbXBvcnRhbnQ7XHJcbiAgc3Ryb2tlLXdpZHRoOiAxICFpbXBvcnRhbnQ7XHJcbiAgc3Ryb2tlLW9wYWNpdHk6IDEuMCAhaW1wb3J0YW50O1xyXG4gIHotaW5kZXg6IDEgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi5saW5rLXN0cm9uZzpob3ZlciB7XHJcbiAgc3Ryb2tlLW9wYWNpdHk6IC41O1xyXG59XHJcblxyXG4ucmNvcm5lcnMge1xyXG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQgIzhBQzAwNztcclxuICBwYWRkaW5nOiAyMHB4O1xyXG59XHJcblxyXG4uYm9yZGVyIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDExLCAyMiwgMzMsIDAuMik7XHJcbiAgc3Ryb2tlLW9wYWNpdHk6IC4yO1xyXG59XHJcblxyXG4ubm9ib3JkZXIge1xyXG4gIGJvcmRlcjogMHB4O1xyXG59XHJcbiJdfQ== */\"","module.exports = \"\\r\\n
\"","import { Component, OnInit, Input, ElementRef, ViewChild, ViewEncapsulation } from '@angular/core';\r\ndeclare let d3: any;\r\ndeclare let colorbrewer: any;\r\n\r\nimport * as _ from 'lodash';\r\nimport {DialogBoxComponent} from '../../common/components/dialog-box/dialog-box.component';\r\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material';\r\n\r\n\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n selector: 'app-d3-flowchart-sanky',\r\n templateUrl: './d3-flowchart-sanky.component.html',\r\n styleUrls: ['d3-flowchart-sanky.component.css']\r\n})\r\nexport class D3FlowchartSankyComponent implements OnInit {\r\n @Input() widgetData;\r\n data;\r\n @ViewChild('sankyChartNewRef') chartElement: ElementRef;\r\n\r\n constructor(public dialog: MatDialog) {}\r\n\r\n ngOnInit() {\r\n this.data = this.widgetData.data;\r\n this.loadGraph(); \r\n }\r\n\r\n flowchart;\r\n svg;\r\n fitness_color;\r\n size_color;\r\n height_color;\r\n format;\r\n path;\r\n link_color;\r\n loadGraph() {\r\n var evolution_height = 600,\r\n evolution_width = 1500;\r\n\r\n var margin = { top: 5, right: 5, bottom: 8, left: 5 },\r\n width = evolution_width - margin.left - margin.right,\r\n height = evolution_height - margin.top - margin.bottom;\r\n\r\n // var format_number = d3.format(\"4.2f\");\r\n /* this.format = function( d ) {\r\n var str = \"Fitness: \" + format_number( d.fitness );\r\n str += \" ,size: \" + d.size + \"(\" + format_number( d.scaled_size ) + \")\";\r\n str += \" ,height: \" + d.height + \"(\" + format_number( d.scaled_height ) + \")\";\r\n return str;\r\n };*/\r\n this.format = function(d) {\r\n var str = \"Fitness: \" + (d.fitness / 100).toFixed(2);\r\n /*str += \" ,size: \" + d.size + \"(\" + d.scaled_size + \")\";\r\n str += \" ,height: \" + d.height + \"(\" + d.scaled_height + \")\";*/\r\n return str;\r\n };\r\n var color = d3.scale.category20();\r\n\r\n this.svg = d3.select(this.chartElement.nativeElement).append(\"svg\")\r\n .attr(\"width\", width + margin.left + margin.right)\r\n .attr(\"height\", height + margin.top + margin.bottom)\r\n .attr(\"class\", \"aligned\")\r\n .append(\"g\")\r\n .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\");\r\n\r\n this.flowchart = d3.flowchart()\r\n .node_width(10)\r\n .node_height(4)\r\n .size([width, height]);\r\n this.flowchart.sort_type('unsorted');\r\n this.flowchart.scale_type('unscaled');\r\n\r\n this.path = this.flowchart.link();\r\n\r\n this.fitness_color = null,\r\n this.size_color = null,\r\n this.height_color = null;\r\n this.link_color = d3.scale.ordinal()\r\n .domain([-1, 0, 1, 2]) // elite, mutation, crossover, reproduce\r\n // .range( colorbrewer.Set1[4] );\r\n .range([\"red\", \"blue\", \"green\", \"yellow\"]);\r\n // d3.request(\"http://karstenahnert.com/gp/evol.json\")\r\n // .header(\"Content-Type\", \"application/json\")\r\n // .post(function(data) {\r\n // console.log(data);\r\n // })\r\n //d3.json( \"http://karstenahnert.com/gp/evol.json\" , function( error, data ) {\r\n\r\n // initialize the flowchart, create the graph\r\n this.flowchart.nodes(this.data.nodes)\r\n .links(this.data.links)\r\n .init();\r\n\r\n /*var i = 0,\r\n max_size = 0,\r\n max_height = 0;\r\n this.flowchart.nodes().forEach(function(node) {\r\n if (node.size > max_size) { max_size = node.size; }\r\n if (node.height > max_height) { max_height = node.height; }\r\n });\r\n this.flowchart.nodes().forEach(function(node) {\r\n node.scaled_size = 1.0 - node.size / max_size;\r\n node.scaled_height = 1.0 - node.height / max_height;\r\n });*/\r\n\r\n\r\n\r\n var color_range = colorbrewer.RdYlGn[6];\r\n var color_range_fitness = color_range.slice(0); // clone array (deep copy)\r\n color_range_fitness.reverse();\r\n // color_range = d3.scale.category20c()\r\n // .domain( range1(20) )\r\n // .range();\r\n this.fitness_color = d3.scale.quantile()\r\n .domain(this.data.nodes.map(function(n) { return n.fitness; }))\r\n .range(color_range_fitness);\r\n/* this.size_color = d3.scale.quantile()\r\n .domain(this.data.nodes.map(function(n) { return n.scaled_size; }))\r\n .range(color_range);\r\n this.height_color = d3.scale.quantile()\r\n .domain(this.data.nodes.map(function(n) { return n.scaled_height; }))\r\n .range(color_range);*/\r\n\r\n this.update_visualization();\r\n\r\n var d = this.flowchart.nodes()[this.flowchart.nodes().length - 20];\r\n\r\n this.svg.selectAll(\"path.link.ancestor-of-\" + d.key)\r\n .classed(\"static-link-selected\", true);\r\n\r\n this.svg.selectAll(\"g.node.ancestor-of-\" + d.key + \" rect\")\r\n .classed(\"static-node-selected\", true);\r\n //} ); \r\n }\r\n\r\n update_visualization() {\r\n // remove all existing elements\r\n this.svg.selectAll(\"g\").remove();\r\n\r\n // calculate the node positions\r\n this.flowchart.layout();\r\n\r\n // create nodes, hence a group for each node\r\n var node = this.svg.append(\"g\").selectAll(\".node\")\r\n .data(this.flowchart.nodes())\r\n .enter().append(\"g\")\r\n .attr(\"class\", function(d) {\r\n var str = \"node\";\r\n d.ancestor_of.forEach(function(d) { str += \" ancestor-of-\" + d; });\r\n return str;\r\n })\r\n .attr(\"transform\", function(d) {\r\n // console.log(d.x, d.y);\r\n return \"translate(\" + d.x + \",\" + d.y + \")\";\r\n });\r\n\r\n // append a rect to each node\r\n var rect = node.append(\"rect\")\r\n .attr(\"height\", function(d) { return d.dy; })\r\n .attr(\"width\", this.flowchart.node_width())\r\n .style(\"fill\", this.get_node_color())\r\n .on(\"mouseover\", (d) => {\r\n\r\n this.svg.selectAll(\"path.link.ancestor-of-\" + d.key)\r\n .classed(\"link-selected\", true);\r\n\r\n this.svg.selectAll(\"g.node.ancestor-of-\" + d.key + \" rect\")\r\n .classed(\"node-selected\", true);\r\n })\r\n .on(\"mouseout\", (d) => {\r\n this.svg.selectAll(\"path.link.ancestor-of-\" + d.key)\r\n .classed(\"link-selected\", false);\r\n\r\n this.svg.selectAll(\"g.node.ancestor-of-\" + d.key + \" rect\")\r\n .classed(\"node-selected\", false);\r\n })\r\n .on(\"mousedown\", (d) => {\r\n this.svg.selectAll(\"path.link\")\r\n .classed(\"static-link-selected\", false);\r\n\r\n this.svg.selectAll(\"g.node rect\")\r\n .classed(\"static-node-selected\", false);\r\n\r\n this.svg.selectAll(\"path.link.ancestor-of-\" + d.key)\r\n .classed(\"static-link-selected\", true);\r\n\r\n this.svg.selectAll(\"g.node.ancestor-of-\" + d.key + \" rect\")\r\n .classed(\"static-node-selected\", true);\r\n })\r\n .on(\"click\", () => {\r\n // alert(\"rect\");\r\n this.openDialog()\r\n d3.event.stopPropagation();\r\n })\r\n .append(\"title\")\r\n .text((d) => { return this.format(d); });\r\n\r\n // create links\r\n var link = this.svg.append(\"g\").selectAll(\".link\")\r\n .data(this.flowchart.links())\r\n .enter().append(\"path\")\r\n .attr(\"class\", function(d) {\r\n var str = \"\";\r\n if (d.op == -1) { str = \"link link-strong\"; } else { str = \"link link-normal\"; }\r\n d.ancestor_of.forEach(function(d) { str += \" ancestor-of-\" + d; });\r\n return str;\r\n })\r\n .attr(\"d\", this.path)\r\n .style(\"stroke-width\", function(d) { return Math.max(1, d.dy); })\r\n .style(\"stroke\", (d) => { return this.link_color(d.op); });\r\n }\r\n\r\n\r\n get_node_color() {\r\n let color_type = 'fitness';\r\n\r\n if (color_type == \"fitness\") {\r\n return (d) => { return this.fitness_color(d.fitness); }\r\n }\r\n if (color_type == \"size\") {\r\n return (d) => { return this.size_color(d.scaled_size); }\r\n }\r\n if (color_type == \"height\") {\r\n return (d) => { return this.height_color(d.scaled_height); }\r\n }\r\n }\r\n\r\n openDialog() {\r\n const dialogRef = this.dialog.open(DialogBoxComponent, {\r\n data: {dataUrl: this.data.url}\r\n });\r\n \r\n dialogRef.afterClosed().subscribe(result => {\r\n // console.log('The dialog was closed');\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \"rect.bordered {\\r\\n stroke: #E6E6E6; \\r\\n stroke-width:2px; \\r\\n }\\r\\n\\r\\n text.mono {\\r\\n font-size: 9pt;\\r\\n font-family: Roboto;\\r\\n fill: #aaa;\\r\\n }\\r\\n\\r\\n text.axis-workweek {\\r\\n fill: #000;\\r\\n }\\r\\n\\r\\n text.axis-worktime {\\r\\n fill: #000;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9kMy1nZW5ldGljLWFsZ29yaXRobS9kMy1nZW5ldGljLWFsZ29yaXRobS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGlCQUFpQjtHQUNsQjs7RUFFRDtJQUNFLGVBQWU7SUFDZixvQkFBb0I7SUFDcEIsV0FBVztHQUNaOztFQUVEO0lBQ0UsV0FBVztHQUNaOztFQUVEO0lBQ0UsV0FBVztHQUNaIiwiZmlsZSI6InNyYy9hcHAvd2lkZ2V0cy9kMy1nZW5ldGljLWFsZ29yaXRobS9kMy1nZW5ldGljLWFsZ29yaXRobS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsicmVjdC5ib3JkZXJlZCB7XHJcbiAgICBzdHJva2U6ICNFNkU2RTY7IFxyXG4gICAgc3Ryb2tlLXdpZHRoOjJweDsgICBcclxuICB9XHJcblxyXG4gIHRleHQubW9ubyB7XHJcbiAgICBmb250LXNpemU6IDlwdDtcclxuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XHJcbiAgICBmaWxsOiAjYWFhO1xyXG4gIH1cclxuXHJcbiAgdGV4dC5heGlzLXdvcmt3ZWVrIHtcclxuICAgIGZpbGw6ICMwMDA7XHJcbiAgfVxyXG5cclxuICB0ZXh0LmF4aXMtd29ya3RpbWUge1xyXG4gICAgZmlsbDogIzAwMDtcclxuICB9Il19 */\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit, ViewEncapsulation, Input } from '@angular/core';\r\ndeclare let d3: any;\r\n\r\n@Component({\r\n selector: 'app-d3-genetic-algorithm',\r\n templateUrl: './d3-genetic-algorithm.component.html',\r\n styleUrls: ['./d3-genetic-algorithm.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class D3GeneticAlgorithmComponent implements OnInit {\r\n\r\n @Input() widgetData;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.loadMap(this.widgetData.data);\r\n }\r\n\r\n loadMap(data) {\r\n var margin = { top: 70, right: 0, bottom: 30, left: 30 },\r\n width = 960 - margin.left - margin.right,\r\n height = 400 - margin.top - margin.bottom,\r\n gridSize = Math.floor(width / 24),\r\n legendElementWidth = gridSize * 2,\r\n buckets = 9,\r\n colors = [\"#ffffd9\", \"#edf8b1\", \"#c7e9b4\", \"#7fcdbb\", \"#41b6c4\", \"#1d91c0\", \"#225ea8\", \"#253494\", \"#081d58\"], // alternatively colorbrewer.YlGnBu[9]\r\n days = [\"n1\", \"n2\", \"n3\", \"n4\", \"n5\", \"n6\", \"n7\"],\r\n times = [\"g1\", \"g2\", \"g3\", \"g4\", \"g5\", \"g6\", \"g7\", \"g8\", \"g9\", \"g10\", \"g11\", \"g12\", \"g13\", \"g14\", \"g15\", \"g16\", \"g17\", \"g18\", \"g19\", \"g20\", \"g21\", \"g22\", \"g23\", \"g24\"];\r\n\r\n var svg = d3.select(\"#chart\").append(\"svg\")\r\n .attr(\"width\", width + margin.left + margin.right)\r\n .attr(\"height\", height + margin.top + margin.bottom)\r\n .append(\"g\")\r\n .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\");\r\n\r\n var dayLabels = svg.selectAll(\".dayLabel\")\r\n .data(days)\r\n .enter().append(\"text\")\r\n .text(function (d) { return d; })\r\n .attr(\"x\", 0)\r\n .attr(\"y\", function (d, i) { return i * gridSize; })\r\n .style(\"text-anchor\", \"end\")\r\n .attr(\"transform\", \"translate(-6,\" + gridSize / 1.5 + \")\")\r\n .attr(\"class\", \"dayLabel mono axis axis-workweek\");\r\n\r\n var timeLabels = svg.selectAll(\".timeLabel\")\r\n .data(times)\r\n .enter().append(\"text\")\r\n .text(function (d) { return d; })\r\n .attr(\"x\", function (d, i) { return i * gridSize; })\r\n .attr(\"y\", 0)\r\n .style(\"text-anchor\", \"middle\")\r\n .attr(\"transform\", \"translate(\" + gridSize / 2 + \", -6)\")\r\n .attr(\"class\", \"timeLabel mono axis axis-worktime\");\r\n\r\n\r\n var colorScale = d3.scale.quantile()\r\n .domain([0, buckets - 1, d3.max(data, function (d) { return d.value; })])\r\n .range(colors);\r\n\r\n var cards = svg.selectAll(\".hour\")\r\n .data(data, function (d) { return d.day + ':' + d.hour; });\r\n\r\n cards.append(\"title\");\r\n\r\n cards.enter().append(\"rect\")\r\n .attr(\"x\", function (d) { return (d.hour - 1) * gridSize + 5; })\r\n .attr(\"y\", function (d) { return (d.day - 1) * gridSize + 5; })\r\n .attr(\"rx\", 4)\r\n .attr(\"ry\", 4)\r\n .attr(\"class\", \"bordered\")\r\n .attr(\"width\", gridSize)\r\n .attr(\"height\", gridSize)\r\n\r\n .on(\"mouseover\", function (d) {\r\n d3.select(this).attr('rx', 12).attr('ry', 12);\r\n })\r\n .on(\"mouseout\", function (d) {\r\n d3.select(this).attr('rx', 4).attr('ry', 4);\r\n })\r\n .style(\"fill\", colors[0]);\r\n\r\n cards.transition().duration(1000)\r\n .style(\"fill\", function (d) { return colorScale(d.value); });\r\n\r\n cards.select(\"title\").text(function (d) { return d.value; });\r\n\r\n cards.exit().remove();\r\n }\r\n}\r\n","module.exports = \" .axis path,\\r\\n .axis line {\\r\\n fill: none;\\r\\n stroke: #000;\\r\\n shape-rendering: crispEdges;\\r\\n }\\r\\n \\r\\n .text-font {\\r\\n font-family: 'DINProRegular', sans-serif;\\r\\n }\\r\\n \\r\\n .small-font-size {\\r\\n /* font: 8px 'sans-serif'; */\\r\\n font-size:10px;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9kMy1ncm91cGVkLWJhci1jaGFydC9kMy1ncm91cGVkLWJhci1jaGFydC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJFQUFFOztJQUVFLFdBQVc7SUFDWCxhQUFhO0lBQ2IsNEJBQTRCO0dBQzdCOztFQUVEO0lBQ0UseUNBQXlDO0dBQzFDOztFQUVEO0lBQ0UsNkJBQTZCO0lBQzdCLGVBQWU7R0FDaEIiLCJmaWxlIjoic3JjL2FwcC93aWRnZXRzL2QzLWdyb3VwZWQtYmFyLWNoYXJ0L2QzLWdyb3VwZWQtYmFyLWNoYXJ0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIgIC5heGlzIHBhdGgsXHJcbiAgLmF4aXMgbGluZSB7XHJcbiAgICBmaWxsOiBub25lO1xyXG4gICAgc3Ryb2tlOiAjMDAwO1xyXG4gICAgc2hhcGUtcmVuZGVyaW5nOiBjcmlzcEVkZ2VzO1xyXG4gIH1cclxuICBcclxuICAudGV4dC1mb250IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnRElOUHJvUmVndWxhcicsIHNhbnMtc2VyaWY7XHJcbiAgfVxyXG5cclxuICAuc21hbGwtZm9udC1zaXplIHtcclxuICAgIC8qIGZvbnQ6IDhweCAnc2Fucy1zZXJpZic7ICovXHJcbiAgICBmb250LXNpemU6MTBweDtcclxuICB9Il19 */\"","module.exports = \"
\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, ViewChild, ElementRef, Input, ViewEncapsulation } from '@angular/core';\r\ndeclare let d3: any;\r\n\r\n@Component({\r\n selector: 'app-d3-grouped-bar-chart',\r\n templateUrl: './d3-grouped-bar-chart.component.html',\r\n styleUrls: ['./d3-grouped-bar-chart.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class D3GroupedBarChartComponent implements OnInit {\r\n\r\n @ViewChild('d3GroupedBarChartRef') chartElement: ElementRef;\r\n @Input() widgetData;\r\n @Input() widgetsCount;\r\n\r\n constructor() {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.loadGroupTree(this.widgetData.data);\r\n }\r\n\r\n loadGroupTree(data) {\r\n\r\n var margin = { top: 40, right: 20, bottom: 30, left: 65 },\r\n width = (this.widgetsCount > 1 ? 580 : 700) - margin.left - margin.right, //\r\n height = (this.widgetsCount > 1 ? 250 : 500) - margin.top - margin.bottom; //\r\n\r\n var x0 = d3.scale.ordinal()\r\n .rangeRoundBands([0, width], .1);\r\n\r\n var x1 = d3.scale.ordinal();\r\n\r\n var y = d3.scale.linear()\r\n .range([height, 0]);\r\n\r\n var xAxis = d3.svg.axis()\r\n .scale(x0)\r\n .tickSize(0)\r\n .orient(\"bottom\");\r\n\r\n var yAxis = d3.svg.axis()\r\n .scale(y)\r\n .orient(\"left\");\r\n\r\n var color = d3.scale.ordinal()\r\n .range([\"#2fbcd1\", \"#f36152\"]);\r\n\r\n var svg = d3.select(this.chartElement.nativeElement).append(\"svg\")\r\n .attr(\"class\", () => {\r\n\r\n var className = \"\";\r\n\r\n if (this.widgetsCount > 1) {\r\n className += \" small-font-size\";\r\n }\r\n\r\n return className;\r\n })\r\n .attr(\"width\", width + margin.left + margin.right)\r\n .attr(\"height\", height + margin.top + margin.bottom)\r\n .append(\"g\")\r\n .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\");\r\n\r\n //d3.json(\"data.json\", function(error, data) {\r\n\r\n var categoriesNames = data.map(function (d) { return d.categorie; });\r\n var rateNames = data[0].values.map(function (d) { return d.rate; });\r\n\r\n x0.domain(categoriesNames);\r\n x1.domain(rateNames).rangeRoundBands([0, x0.rangeBand()]);\r\n y.domain([0, d3.max(data, function (categorie) { return d3.max(categorie.values, function (d) { return d.value; }); })]);\r\n\r\n svg.append(\"g\")\r\n .attr(\"class\", \"x axis text-font\")\r\n .attr(\"transform\", \"translate(0,\" + height + \")\")\r\n .call(xAxis);\r\n\r\n svg.append(\"g\")\r\n .attr(\"class\", \"y axis text-font\")\r\n .style('opacity', '0')\r\n .call(yAxis)\r\n .append(\"text\")\r\n .attr(\"transform\", \"rotate(-90)\")\r\n .attr(\"y\", -45)\r\n .attr(\"x\", -(height / 2) + 25)\r\n .attr(\"dy\", \"-0.6em\")\r\n .style(\"text-anchor\", \"end\")\r\n // .style('font-weight', 'bold')\r\n .text(this.widgetData.yAxisLable || \"Value\");\r\n\r\n svg.select('.y').transition().duration(500).delay(1300).style('opacity', '1');\r\n\r\n var slice = svg.selectAll(\".slice\")\r\n .data(data)\r\n .enter().append(\"g\")\r\n .attr(\"class\", \"g\")\r\n .attr(\"transform\", function (d) { return \"translate(\" + x0(d.categorie) + \",0)\"; });\r\n var x = 0;\r\n slice.selectAll(\"rect\")\r\n .data(function (d) { return d.values; })\r\n .enter().append(\"rect\")\r\n .attr(\"width\", x1.rangeBand() - 4)\r\n //.attr(\"width\", 26)\r\n .attr(\"x\", function (d) { return x1(d.rate); })\r\n .style(\"fill\", function (d) { return color(d.rate) })\r\n .attr(\"y\", function (d) { return y(0); })\r\n .attr(\"height\", function (d) { return height - y(0); })\r\n .on(\"mouseover\", function (d) {\r\n d3.select(this).style(\"fill\", d3.rgb(color(d.rate)).darker(1));\r\n div.style('display', 'inline');\r\n }\r\n )\r\n .on(\"mousemove\",\r\n function (d) {\r\n div\r\n .html(d.value)\r\n .style('left', (d3.event.pageX + 15) + 'px')\r\n .style('top', (d3.event.pageY - 20) + 'px');\r\n }\r\n ).on('mouseout', function(d) {\r\n d3.select(this).style(\"fill\", color(d.rate));\r\n div.style('display', 'none');\r\n });\r\n\r\n slice.selectAll(\"rect\")\r\n .transition()\r\n .delay(function (d) { return Math.random() * 1000; })\r\n .duration(1000)\r\n .attr(\"y\", function (d) { return y(d.value); })\r\n .attr(\"height\", function (d) { return height - y(d.value); });\r\n\r\n //Legend\r\n var legend = svg.selectAll(\".legend\")\r\n .data(data[0].values.map(function (d) { return d.rate; }).reverse())\r\n .enter().append(\"g\")\r\n .attr(\"class\", \"legend\")\r\n //.attr(\"transform\", function(d,i) { return \"translate(0,\" + i * 20 + \")\"; })\r\n .attr(\"transform\", function (d, i) { return \"translate(\" + (i == 0 ? -60 : -175) + \", -35)\"; })\r\n .style(\"opacity\", \"0\");\r\n\r\n legend.append(\"rect\")\r\n .attr(\"x\", width - 18)\r\n .attr(\"width\", 18)\r\n .attr(\"height\", 18)\r\n .style(\"fill\", function (d) { return color(d); });\r\n\r\n legend.append(\"text\")\r\n .attr(\"x\", width - 24)\r\n .attr(\"y\", 9)\r\n .attr(\"dy\", \".35em\")\r\n .attr(\"class\", \"text-font\")\r\n .style(\"text-anchor\", \"end\")\r\n .style(\"fill\", \"#000\")\r\n .text(function (d) { return d; });\r\n\r\n legend.transition().duration(500).delay(function (d, i) { return 1300 + 100 * i; }).style(\"opacity\", \"1\");\r\n var div = d3.select('body').append('div')\r\n .attr('class', 'graph-tooltip dark')\r\n .attr('id', 'd3-grouped-bar-chart-custom-tooltip')\r\n .style('display', 'none');\r\n\r\n //});\r\n }\r\n\r\n OnDestroy() {\r\n d3.select(\"#d3-grouped-bar-chart-custom-tooltip\").remove();\r\n }\r\n\r\n}\r\n","module.exports = \"#heatmap .axis text {\\r\\n font: 10px \\\"Roboto\\\" sans-serif;\\r\\n }\\r\\n \\r\\n #heatmap .axis path,\\r\\n #heatmap .axis line {\\r\\n fill: none;\\r\\n stroke: #000;\\r\\n shape-rendering: crispEdges;\\r\\n }\\r\\n \\r\\n #heatmap .axis path {\\r\\n display: none;\\r\\n }\\r\\n \\r\\n #heatmap .axis .tick:first-child {\\r\\n display: none;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9kMy1oZWF0bWFwL2QzLWhlYXRtYXAuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLCtCQUErQjtHQUNoQzs7RUFFRDs7SUFFRSxXQUFXO0lBQ1gsYUFBYTtJQUNiLDRCQUE0QjtHQUM3Qjs7RUFFRDtJQUNFLGNBQWM7R0FDZjs7RUFDRDtJQUNFLGNBQWM7R0FDZiIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvZDMtaGVhdG1hcC9kMy1oZWF0bWFwLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjaGVhdG1hcCAuYXhpcyB0ZXh0IHtcclxuICAgIGZvbnQ6IDEwcHggXCJSb2JvdG9cIiBzYW5zLXNlcmlmO1xyXG4gIH1cclxuICBcclxuICAjaGVhdG1hcCAuYXhpcyBwYXRoLFxyXG4gICNoZWF0bWFwIC5heGlzIGxpbmUge1xyXG4gICAgZmlsbDogbm9uZTtcclxuICAgIHN0cm9rZTogIzAwMDtcclxuICAgIHNoYXBlLXJlbmRlcmluZzogY3Jpc3BFZGdlcztcclxuICB9XHJcbiAgXHJcbiAgI2hlYXRtYXAgLmF4aXMgcGF0aCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICAjaGVhdG1hcCAuYXhpcyAudGljazpmaXJzdC1jaGlsZCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH0iXX0= */\"","module.exports = \"\\r\\n
\"","import { Component, OnInit, Input, ViewEncapsulation } from '@angular/core';\r\ndeclare let d3: any;\r\n\r\n@Component({\r\n selector: 'app-d3-heatmap',\r\n templateUrl: './d3-heatmap.component.html',\r\n styleUrls: ['./d3-heatmap.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class D3HeatmapComponent implements OnInit {\r\n\r\n @Input() widgetData;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.loadMap(this.widgetData.data);\r\n }\r\n\r\n loadMap(heatmap) {\r\n\r\n var X = 0, Y = 1;\r\n var canvasDim = [600, 300];\r\n var canvasAspect = canvasDim[Y] / canvasDim[X];\r\n var heatmapDim = [heatmap[X].length, heatmap.length];\r\n var heatmapAspect = heatmapDim[Y] / heatmapDim[X];\r\n\r\n if (heatmapAspect < canvasAspect)\r\n canvasDim[Y] = canvasDim[X] * heatmapAspect;\r\n else\r\n canvasDim[X] = canvasDim[Y] / heatmapAspect;\r\n //console.log(heatmapDim[X])\r\n var color = d3.scale.linear()\r\n .domain([95, 115, 135, 155, 175, 195])\r\n .range([\"#0a0\", \"#6c0\", \"#ee0\", \"#eb4\", \"#eb9\", \"#a01\"]);\r\n\r\n var scale = [\r\n d3.scale.linear()\r\n .domain([0, heatmapDim[X]])\r\n .range([0, canvasDim[X]]),\r\n d3.scale.linear()\r\n .domain([0, heatmapDim[Y]])\r\n .range([canvasDim[Y], 0])\r\n ];\r\n\r\n var body = d3.select(\"#heatmap\");\r\n\r\n var canvas = body.append(\"canvas\")\r\n .attr(\"width\", heatmapDim[X])\r\n .attr(\"height\", heatmapDim[Y])\r\n .style(\"width\", canvasDim[X] + \"px\")\r\n .style(\"height\", canvasDim[Y] + \"px\")\r\n .style(\"position\", \"absolute\");\r\n\r\n var svg = body.append(\"svg\")\r\n .attr(\"width\", canvasDim[X])\r\n .attr(\"height\", canvasDim[Y])\r\n .style(\"position\", \"relative\");\r\n\r\n var zoom = d3.behavior.zoom()\r\n .center(canvasDim.map(\r\n function (v) { return v / 2 }))\r\n .scaleExtent([1, 10])\r\n .x(scale[X])\r\n .y(scale[Y])\r\n .on(\"zoom\", zoomEvent);\r\n\r\n svg.append(\"rect\")\r\n .style(\"pointer-events\", \"all\")\r\n .attr(\"width\", canvasDim[X])\r\n .attr(\"height\", canvasDim[Y])\r\n .style(\"fill\", \"none\")\r\n .call(zoom);\r\n\r\n var axis = [\r\n d3.svg.axis()\r\n .scale(scale[X])\r\n .orient(\"top\")\r\n .ticks(20),\r\n d3.svg.axis()\r\n .scale(scale[Y])\r\n .orient(\"right\")\r\n ];\r\n\r\n var axisElement = [\r\n svg.append(\"g\")\r\n .attr(\"class\", \"x axis\")\r\n .attr(\"transform\", \"translate(0,\" + canvasDim[Y] + \")\"),\r\n svg.append(\"g\")\r\n .attr(\"class\", \"y axis\")\r\n ];\r\n\r\n var context = canvas.node().getContext(\"2d\");\r\n var imageObj;\r\n var imageDim;\r\n var imageScale;\r\n createImageObj();\r\n drawAxes();\r\n\r\n // Compute the pixel colors; scaled by CSS.\r\n function createImageObj() {\r\n imageObj = new Image();\r\n var image = context.createImageData(heatmapDim[X], heatmapDim[Y]);\r\n for (var y = 0, p = -1; y < heatmapDim[Y]; ++y) {\r\n for (var x = 0; x < heatmapDim[X]; ++x) {\r\n var c = d3.rgb(color(heatmap[y][x]));\r\n image.data[++p] = c.r;\r\n image.data[++p] = c.g;\r\n image.data[++p] = c.b;\r\n image.data[++p] = 255;\r\n }\r\n }\r\n context.putImageData(image, 0, 0);\r\n imageObj.src = canvas.node().toDataURL();\r\n setTimeout(() => {\r\n imageDim = [imageObj.width, imageObj.height];\r\n imageScale = imageDim.map(\r\n function (v, i) { return v / canvasDim[i] });\r\n }, 0);\r\n \r\n }\r\n\r\n function drawAxes() {\r\n axisElement.forEach(function (v, i) { v.call(axis[i]) });\r\n }\r\n\r\n function zoomEvent() {\r\n var s = d3.event.scale;\r\n var n = imageDim.map(\r\n function (v) { return v * s });\r\n var t = d3.event.translate.map(function (v, i) {\r\n return Math.min(\r\n 0,\r\n Math.max(v, canvasDim[i] - n[i] / imageScale[i]));\r\n });\r\n zoom.translate(t);\r\n var it = t.map(\r\n function (v, i) { return v * imageScale[i] });\r\n context.clearRect(0, 0, canvasDim[X], canvasDim[Y]);\r\n context.drawImage(imageObj, it[X], it[Y], n[X], n[Y]);\r\n drawAxes();\r\n }\r\n\r\n }\r\n\r\n}\r\n","module.exports = \".axis path,\\r\\n.axis line {\\r\\n fill: none;\\r\\n stroke: #000;\\r\\n shape-rendering: crispEdges;\\r\\n}\\r\\n\\r\\n.line {\\r\\n fill: none;\\r\\n stroke: steelblue;\\r\\n stroke-width: 1.5px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9kMy1tdWx0aS1zZXJpZXMtbGluZS1jaGFydC9kMy1tdWx0aS1zZXJpZXMtbGluZS1jaGFydC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFLFdBQVc7RUFDWCxhQUFhO0VBQ2IsNEJBQTRCO0NBQzdCOztBQUVEO0VBQ0UsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixvQkFBb0I7Q0FDckIiLCJmaWxlIjoic3JjL2FwcC93aWRnZXRzL2QzLW11bHRpLXNlcmllcy1saW5lLWNoYXJ0L2QzLW11bHRpLXNlcmllcy1saW5lLWNoYXJ0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYXhpcyBwYXRoLFxyXG4uYXhpcyBsaW5lIHtcclxuICBmaWxsOiBub25lO1xyXG4gIHN0cm9rZTogIzAwMDtcclxuICBzaGFwZS1yZW5kZXJpbmc6IGNyaXNwRWRnZXM7XHJcbn1cclxuXHJcbi5saW5lIHtcclxuICBmaWxsOiBub25lO1xyXG4gIHN0cm9rZTogc3RlZWxibHVlO1xyXG4gIHN0cm9rZS13aWR0aDogMS41cHg7XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
{{widgetData.title}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","import { Component, ElementRef, OnInit, Input, ViewChild, ViewEncapsulation } from '@angular/core';\r\ndeclare let d3: any;\r\n\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n selector: 'app-d3-multi-series-line-chart',\r\n templateUrl: './d3-multi-series-line-chart.component.html',\r\n styleUrls: ['d3-multi-series-line-chart.component.css']\r\n\r\n})\r\nexport class D3MultiSeriesLineChart implements OnInit{\r\n @ViewChild('d3MultiSeriesLineChart') chartElement: ElementRef;\r\n @Input() widgetData;\r\n @Input() widgetsCount;\r\n\r\n data;\r\n svg;\r\n//this.chartElement.nativeElement\r\n ngOnInit() {\r\n this.data = this.widgetData.data; \r\n this.loadGraph();\r\n }\r\n\r\n loadGraph() {\r\n var margin = {top: 20, right: 50, bottom: 30, left: 50},\r\n width = (this.widgetsCount > 1 ? 450 : 950) - margin.left - margin.right, //960\r\n height = (this.widgetsCount > 1 ? 250 : 500) - margin.top - margin.bottom; //500\r\n\r\n var parseDate = d3.time.format(\"%Y\").parse;\r\n\r\n var x = d3.scale.linear()\r\n .range([0, width]);\r\n\r\n var y = d3.scale.linear()\r\n .range([height, 0]);\r\n\r\n \r\n var color = d3.scale.category10();\r\n\r\n var xAxis = d3.svg.axis()\r\n .scale(x)\r\n .orient(\"bottom\");\r\n\r\n var yAxis = d3.svg.axis()\r\n .scale(y)\r\n .orient(\"left\");\r\n\r\n var line = d3.svg.line()\r\n .interpolate(\"basis\")\r\n .x(function(d) { return x(d.xValue); })\r\n .y(function(d) { return y(d.frequence); });\r\n\r\n var svg = d3.select(this.chartElement.nativeElement).append(\"svg\")\r\n .attr(\"width\", width + margin.left + margin.right)\r\n .attr(\"height\", height + margin.top + margin.bottom)\r\n .append(\"g\")\r\n .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\"); \r\n \r\n color.domain(d3.keys(this.data[0]).filter(function(key) { return key !== \"xValue\"; }));\r\n\r\n // this.data.forEach(function(d) {\r\n // d.date = parseDate(d.date);\r\n // });\r\n var emotions = color.domain().map((name) => {\r\n return {\r\n name: name,\r\n values: this.data.map(function(d) {\r\n return {xValue: d.xValue, frequence: d[name]};\r\n })\r\n };\r\n });\r\n // x.domain(d3.extent(this.data, function(d) { return d.xValue; }));\r\n x.domain([d3.min(this.data, function(d) { return d.xValue; }), d3.max(this.data, function(d) { return d.xValue + 2; })]);\r\n\r\n y.domain([\r\n d3.min(emotions, function(c) { return d3.min(c.values, function(v) { return v.frequence; }); }),\r\n d3.max(emotions, function(c) { return d3.max(c.values, function(v) { return v.frequence + 50; }); })\r\n ]);\r\n \r\n svg.append(\"g\")\r\n .attr(\"class\", \"x axis\")\r\n .attr(\"transform\", \"translate(0,\" + height + \")\")\r\n .call(xAxis);\r\n \r\n svg.append(\"g\")\r\n .attr(\"class\", \"y axis\")\r\n .call(yAxis)\r\n .append(\"text\")\r\n .attr(\"transform\", \"rotate(-90)\")\r\n .attr(\"y\", 6)\r\n .attr(\"dy\", \".71em\")\r\n .style(\"text-anchor\", \"end\")\r\n .text(\"Ideal/Actual Startegy\");\r\n \r\n\r\n var emotion = svg.selectAll(\".emotion\")\r\n .data(emotions)\r\n .enter().append(\"g\")\r\n .attr(\"class\", \"emotion\"); \r\n\r\n emotion.append(\"path\")\r\n .attr(\"class\", \"line\")\r\n .attr(\"d\", function(d) { return line(d.values); })\r\n .style(\"stroke\", function(d) { return color(d.name); });\r\n \r\n emotion.append(\"text\")\r\n .datum(function(d) { return {name: d.name, value: d.values[d.values.length - 1]}; })\r\n .attr(\"transform\", function(d) { return \"translate(\" + x(d.value.xValue) + \",\" + y(d.value.frequence) + \")\"; })\r\n .attr(\"x\", 3)\r\n .attr(\"dy\", \".35em\")\r\n .text(function(d) { return d.name; });\r\n \r\n }\r\n\r\n \r\n\r\n \r\n}","module.exports = \".d3-neural-network text {\\r\\n pointer-events: none;\\r\\n font: 12px 'sans-serif';\\r\\n }\\r\\n \\r\\n .d3-neural-network .neural-node:hover {\\r\\n stroke: #999;\\r\\n stroke-opacity: .6;\\r\\n stroke-width: 4px;\\r\\n }\\r\\n \\r\\n .d3-neural-network .neural-link {\\r\\n stroke: #999;\\r\\n stroke-opacity: .6;\\r\\n stroke-width: 4px;\\r\\n }\\r\\n \\r\\n .d3-neural-network .node-text-font {\\r\\n font-family: 'Roboto', sans-serif;\\r\\n font-size: 12px;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9kMy1uZXVyYWwtbmV0d29yay9kMy1uZXVyYWwtbmV0d29yay5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0kscUJBQXFCO0lBQ3JCLHdCQUF3QjtLQUN2Qjs7SUFFRDtJQUNBLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsa0JBQWtCO0tBQ2pCOztJQUVEO0lBQ0EsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixrQkFBa0I7S0FDakI7O0lBRUQ7UUFDSSxrQ0FBa0M7UUFDbEMsZ0JBQWdCO0tBQ25CIiwiZmlsZSI6InNyYy9hcHAvd2lkZ2V0cy9kMy1uZXVyYWwtbmV0d29yay9kMy1uZXVyYWwtbmV0d29yay5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmQzLW5ldXJhbC1uZXR3b3JrIHRleHQge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBmb250OiAxMnB4ICdzYW5zLXNlcmlmJztcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmQzLW5ldXJhbC1uZXR3b3JrIC5uZXVyYWwtbm9kZTpob3ZlciB7XHJcbiAgICBzdHJva2U6ICM5OTk7XHJcbiAgICBzdHJva2Utb3BhY2l0eTogLjY7XHJcbiAgICBzdHJva2Utd2lkdGg6IDRweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmQzLW5ldXJhbC1uZXR3b3JrICAubmV1cmFsLWxpbmsge1xyXG4gICAgc3Ryb2tlOiAjOTk5O1xyXG4gICAgc3Ryb2tlLW9wYWNpdHk6IC42O1xyXG4gICAgc3Ryb2tlLXdpZHRoOiA0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmQzLW5ldXJhbC1uZXR3b3JrIC5ub2RlLXRleHQtZm9udCB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIH0iXX0= */\"","module.exports = \"
\\r\\n\"","import { Component, OnInit, ViewChild, ElementRef, Input, ViewEncapsulation } from '@angular/core';\r\nimport { WidgetService } from '../widgets.service';\r\ndeclare let d3: any;\r\n\r\n@Component({\r\n selector: 'app-d3-neural-network',\r\n templateUrl: './d3-neural-network.component.html',\r\n styleUrls: ['./d3-neural-network.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class D3NeuralNetworkComponent implements OnInit {\r\n \r\n @Input() widgetData;\r\n @Input() widgetsCount;\r\n @ViewChild('d3NuralTreeRef') chartElement: ElementRef;\r\n data;\r\n\r\n constructor(private widgetService: WidgetService) { }\r\n\r\n ngOnInit() {\r\n this.data=this.widgetData.data;\r\n this.loadNeuralTree();\r\n }\r\n\r\n\r\n loadNeuralTree()\r\n {\r\n\r\n var outerWidth = this.widgetsCount > 1 ? 450 : 950;\r\n var outerHeight = this.widgetsCount > 1 ? 300 : 500;\r\n var width = 470,\r\n height = 300,\r\n nodeSize = 22;\r\n\r\n var color = d3.scale.category20();\r\n\r\n var svg = d3.select(this.chartElement.nativeElement).append(\"svg\")\r\n .attr(\"width\", outerWidth)\r\n .attr(\"height\", outerHeight);\r\n\r\n //d3.json(\"data.json\", function(error, graph) {\r\n var nodes = this.data;\r\n // get network size\r\n var netsize = {};\r\n nodes.forEach(function (d) {\r\n if(d.layer in netsize) {\r\n netsize[d.layer] += 1;\r\n } else {\r\n netsize[d.layer] = 1;\r\n }\r\n d[\"lidx\"] = netsize[d.layer];\r\n d.uid = d.layer + \"\" + netsize[d.layer]; \r\n });\r\n\r\n // calc distances between nodes\r\n var largestLayerSize = Math.max.apply(\r\n null, Object.keys(netsize).map(function (i) { return netsize[i]; }));\r\n\r\n var xdist = width / Object.keys(netsize).length,\r\n ydist = height / largestLayerSize;\r\n\r\n // create node locations\r\n nodes.map(function(d) {\r\n d[\"x\"] = (d.layer - 0.5) * xdist;\r\n d[\"y\"] = (d.lidx - 0.5) * ydist;\r\n });\r\n\r\n // autogenerate links\r\n var links = [];\r\n nodes.map(function(d, i) {\r\n for (var n in nodes) {\r\n if (d.layer + 1 == nodes[n].layer) {\r\n \r\n links.push({\"source\": parseInt(i), \"target\": parseInt(n), \"value\": 1, \"nodes\": [nodes[n].uid, d.uid]}) \r\n }\r\n }\r\n }).filter(function(d) { return typeof d !== \"undefined\"; });\r\n\r\n // draw links\r\n var link = svg.selectAll(\".link\")\r\n .data(links)\r\n .enter().append(\"line\")\r\n .attr(\"class\", \"neural-link\")\r\n .attr(\"x1\", function(d) { \r\n return nodes[d.source].x; })\r\n .attr(\"y1\", function(d) { return nodes[d.source].y; })\r\n .attr(\"x2\", function(d) { return nodes[d.target].x; })\r\n .attr(\"y2\", function(d) { return nodes[d.target].y; })\r\n .style(\"stroke-width\", function(d) { return 2; });\r\n\r\n // draw nodes\r\n var node = svg.selectAll(\".node\")\r\n .data(nodes)\r\n .enter().append(\"g\")\r\n .attr(\"transform\", function(d) {\r\n return \"translate(\" + d.x + \",\" + d.y + \")\"; }\r\n )\r\n .on('mouseover', function(d) {\r\n highlight_link(d, '#e45758');\r\n })\r\n .on('mouseout', function(d) {\r\n highlight_link(d, '#999');\r\n });\r\n\r\n var circle = node.append(\"circle\")\r\n .attr(\"class\", \"neural-node\")\r\n .attr(\"r\", nodeSize)\r\n .style(\"fill\", function(d) {return color(d.layer); });\r\n\r\n\r\n node.append(\"text\")\r\n .attr(\"dx\", \"-.35em\")\r\n .attr(\"dy\", \".35em\")\r\n .attr(\"class\",\"node-text-font\")\r\n .text(function(d) { return d.label; });\r\n\r\n function highlight_link(node, color){\r\n let defaultColor = \"#999\";\r\n d3.selectAll(\".neural-link\")\r\n .style(\"stroke\", function(paths) {\r\n if(paths.nodes.indexOf(node.uid) > -1) {\r\n return color;\r\n }\r\n\r\n return defaultColor;\r\n })\r\n\r\n } \r\n\r\n }\r\n\r\n}\r\n","module.exports = \"body {\\r\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\r\\n width: 960px;\\r\\n height: 500px;\\r\\n position: relative;\\r\\n }\\r\\n \\r\\n svg {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n }\\r\\n \\r\\n path.slice{\\r\\n stroke-width:2px;\\r\\n }\\r\\n \\r\\n polyline{\\r\\n opacity: .3;\\r\\n stroke: black;\\r\\n stroke-width: 2px;\\r\\n fill: none;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9kMy1waWUtY2hhcnQvZDMtcGllLWNoYXJ0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSw0REFBNEQ7SUFDNUQsYUFBYTtJQUNiLGNBQWM7SUFDZCxtQkFBbUI7R0FDcEI7O0VBRUQ7TUFDSSxZQUFZO01BQ1osYUFBYTtHQUNoQjs7RUFFRDtNQUNJLGlCQUFpQjtHQUNwQjs7RUFFRDtNQUNJLFlBQVk7TUFDWixjQUFjO01BQ2Qsa0JBQWtCO01BQ2xCLFdBQVc7R0FDZCIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvZDMtcGllLWNoYXJ0L2QzLXBpZS1jaGFydC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYm9keSB7XHJcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgd2lkdGg6IDk2MHB4O1xyXG4gICAgaGVpZ2h0OiA1MDBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcbiAgXHJcbiAgc3ZnIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcbiAgXHJcbiAgcGF0aC5zbGljZXtcclxuICAgICAgc3Ryb2tlLXdpZHRoOjJweDtcclxuICB9XHJcbiAgXHJcbiAgcG9seWxpbmV7XHJcbiAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICBzdHJva2U6IGJsYWNrO1xyXG4gICAgICBzdHJva2Utd2lkdGg6IDJweDtcclxuICAgICAgZmlsbDogbm9uZTtcclxuICB9Il19 */\"","module.exports = \"
\\r\\n\\r\\n\"","import { NavigationStart } from '@angular/router';\r\nimport { Component, OnInit, Input, ViewChild, ElementRef, ViewEncapsulation ,OnDestroy} from '@angular/core';\r\nimport { WidgetService } from '../widgets.service';\r\ndeclare let d3: any;\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n encapsulation:ViewEncapsulation.Native,\r\n selector: 'app-d3-pie-chart',\r\n templateUrl: './d3-pie-chart.component.html',\r\n styleUrls: ['./d3-pie-chart.component.css']\r\n})\r\nexport class D3PieChartComponent implements OnInit {\r\n\r\n @Input() widgetData;\r\n data;\r\n @ViewChild('d3PieChartRef') chartElement: ElementRef;\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n\r\n this.loadPieChart();\r\n }\r\n\r\n\r\n loadPieChart()\r\n {\r\n //this.chartElement.nativeElement\r\n var svg = d3.select(this.chartElement.nativeElement) \r\n\t.append(\"svg\")\r\n\t.append(\"g\")\r\n\r\nsvg.append(\"g\")\r\n\t.attr(\"class\", \"slices\");\r\nsvg.append(\"g\")\r\n\t.attr(\"class\", \"labels\");\r\nsvg.append(\"g\")\r\n\t.attr(\"class\", \"lines\");\r\n\r\nvar width = 960,\r\n height = 450,\r\n\tradius = Math.min(width, height) / 2;\r\n\r\nvar pie = d3.layout.pie()\r\n\t.sort(null)\r\n\t.value(function(d) {\r\n\t\treturn d.value;\r\n\t});\r\n\r\nvar arc = d3.svg.arc()\r\n\t.outerRadius(radius * 0.8)\r\n\t.innerRadius(radius * 0.4);\r\n\r\nvar outerArc = d3.svg.arc()\r\n\t.innerRadius(radius * 0.9)\r\n\t.outerRadius(radius * 0.9);\r\n\r\nsvg.attr(\"transform\", \"translate(\" + width / 2 + \",\" + height / 2 + \")\");\r\n\r\nvar key = function(d){ return d.data.label; };\r\n\r\nvar color = d3.scale.ordinal()\r\n\t.domain([\"Lorem ipsum\", \"dolor sit\", \"amet\", \"consectetur\", \"adipisicing\", \"elit\", \"sed\", \"do\", \"eiusmod\", \"tempor\", \"incididunt\"])\r\n\t.range([\"#98abc5\", \"#8a89a6\", \"#7b6888\", \"#6b486b\", \"#a05d56\", \"#d0743c\", \"#ff8c00\"]);\r\n\r\nfunction randomData (){\r\n\tvar labels = color.domain();\r\n\treturn labels.map(function(label){\r\n\t\treturn { label: label, value: Math.random() }\r\n\t});\r\n}\r\n\r\nchange(randomData());\r\n\r\nd3.select(\".randomize\")\r\n\t.on(\"click\", function(){\r\n\t\tchange(randomData());\r\n\t});\r\n\r\n\r\nfunction change(data) {\r\n\r\n\t/* ------- PIE SLICES -------*/\r\n\tvar slice = svg.select(\".slices\").selectAll(\"path.slice\")\r\n\t\t.data(pie(data), key);\r\n\r\n\tslice.enter()\r\n\t\t.insert(\"path\")\r\n\t\t.style(\"fill\", function(d) { return color(d.data.label); })\r\n\t\t.attr(\"class\", \"slice\");\r\n\r\n\tslice\t\t\r\n\t\t.transition().duration(1000)\r\n\t\t.attrTween(\"d\", function(d) {\r\n\t\t\tthis._current = this._current || d;\r\n\t\t\tvar interpolate = d3.interpolate(this._current, d);\r\n\t\t\tthis._current = interpolate(0);\r\n\t\t\treturn function(t) {\r\n\t\t\t\treturn arc(interpolate(t));\r\n\t\t\t};\r\n\t\t})\r\n\r\n\tslice.exit()\r\n\t\t.remove();\r\n\r\n\t/* ------- TEXT LABELS -------*/\r\n\r\n\tvar text = svg.select(\".labels\").selectAll(\"text\")\r\n\t\t.data(pie(data), key);\r\n\r\n\ttext.enter()\r\n\t\t.append(\"text\")\r\n\t\t.attr(\"dy\", \".35em\")\r\n\t\t.text(function(d) {\r\n\t\t\treturn d.data.label;\r\n\t\t});\r\n\t\r\n\tfunction midAngle(d){\r\n\t\treturn d.startAngle + (d.endAngle - d.startAngle)/2;\r\n\t}\r\n\r\n\ttext.transition().duration(1000)\r\n\t\t.attrTween(\"transform\", function(d) {\r\n\t\t\tthis._current = this._current || d;\r\n\t\t\tvar interpolate = d3.interpolate(this._current, d);\r\n\t\t\tthis._current = interpolate(0);\r\n\t\t\treturn function(t) {\r\n\t\t\t\tvar d2 = interpolate(t);\r\n\t\t\t\tvar pos = outerArc.centroid(d2);\r\n\t\t\t\tpos[0] = radius * (midAngle(d2) < Math.PI ? 1 : -1);\r\n\t\t\t\treturn \"translate(\"+ pos +\")\";\r\n\t\t\t};\r\n\t\t})\r\n\t\t.styleTween(\"text-anchor\", function(d){\r\n\t\t\tthis._current = this._current || d;\r\n\t\t\tvar interpolate = d3.interpolate(this._current, d);\r\n\t\t\tthis._current = interpolate(0);\r\n\t\t\treturn function(t) {\r\n\t\t\t\tvar d2 = interpolate(t);\r\n\t\t\t\treturn midAngle(d2) < Math.PI ? \"start\":\"end\";\r\n\t\t\t};\r\n\t\t});\r\n\r\n\ttext.exit()\r\n\t\t.remove();\r\n\r\n\t/* ------- SLICE TO TEXT POLYLINES -------*/\r\n\r\n\tvar polyline = svg.select(\".lines\").selectAll(\"polyline\")\r\n\t\t.data(pie(data), key);\r\n\t\r\n\tpolyline.enter()\r\n\t\t.append(\"polyline\");\r\n\r\n\tpolyline.transition().duration(1000)\r\n\t\t.attrTween(\"points\", function(d){\r\n\t\t\tthis._current = this._current || d;\r\n\t\t\tvar interpolate = d3.interpolate(this._current, d);\r\n\t\t\tthis._current = interpolate(0);\r\n\t\t\treturn function(t) {\r\n\t\t\t\tvar d2 = interpolate(t);\r\n\t\t\t\tvar pos = outerArc.centroid(d2);\r\n\t\t\t\tpos[0] = radius * 0.95 * (midAngle(d2) < Math.PI ? 1 : -1);\r\n\t\t\t\treturn [arc.centroid(d2), outerArc.centroid(d2), pos];\r\n\t\t\t};\t\t\t\r\n\t\t});\r\n\t\r\n\tpolyline.exit()\r\n\t\t.remove();\r\n};\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\"","import { Component, OnInit, Input, ElementRef, ViewChild, OnDestroy } from '@angular/core';\r\ndeclare let d3: any;\r\nimport * as _ from 'lodash';\r\nimport { WidgetService } from '../widgets.service';\r\n\r\n// Reference link: https://github.com/q-m/d3.chart.sankey\r\n@Component({\r\n selector: 'app-d3-sanky-chart',\r\n templateUrl: './d3-sanky-chart.component.html'\r\n})\r\nexport class D3SankyChartComponent implements OnInit, OnDestroy {\r\n @Input() widgetData;\r\n @ViewChild('sankyChartRef') chartElement: ElementRef;\r\n\r\n data;\r\n\r\n constructor(private widgetService: WidgetService) {\r\n this.widgetService.triggerDataChangeForD3SankyChart.subscribe((updatedDataInfo) => {\r\n this.updateChart(updatedDataInfo);\r\n /*if (updatedDataInfo.formField.uniqueName201 && updatedDataInfo.formField.uniqueName201.length) {\r\n this.updateChart(updatedDataInfo);\r\n } else {\r\n this.resetToOrignal();\r\n }*/\r\n });\r\n }\r\n\r\n updateChart(updatedDataInfo) {\r\n this.data = this.createNodeLinkStructure(updatedDataInfo.formField.filterField);\r\n this.resetChart();\r\n this.loadGraph();\r\n }\r\n\r\n resetChart() {\r\n d3.select('#d3_sankey_chart_svg').remove();\r\n }\r\n\r\n resetToOrignal() {\r\n this.data = this.createNodeLinkStructure([]);\r\n this.resetChart();\r\n this.loadGraph();\r\n }\r\n\r\n ngOnInit() {\r\n this.data = this.createNodeLinkStructure([]);\r\n this.loadGraph();\r\n }\r\n\r\n createNodeLinkStructure(filterValues) {\r\n const nodeData = {\r\n nodes: [],\r\n links: []\r\n };\r\n const selectedData = [...filterValues];\r\n const isFilterEmpty = filterValues.length ? false : true;\r\n for (let selectedDataIndex = 0; (isFilterEmpty || selectedDataIndex < selectedData.length); selectedDataIndex++) {\r\n for (let index = 1; index < this.widgetData.data.length; index++) {\r\n if (!isFilterEmpty && this.widgetData.data[index][0] !== selectedData[selectedDataIndex]) {\r\n continue;\r\n }\r\n\r\n let foundIndex = _.findIndex(nodeData.nodes, { name: this.widgetData.data[index][0] });\r\n\r\n if (foundIndex < 0) {\r\n nodeData.nodes.push({\r\n name: this.widgetData.data[index][0],\r\n id: this.widgetData.data[index][0]\r\n });\r\n }\r\n\r\n foundIndex = _.findIndex(nodeData.nodes, { name: this.widgetData.data[index][1] });\r\n\r\n if (foundIndex < 0) {\r\n nodeData.nodes.push({\r\n name: this.widgetData.data[index][1],\r\n id: this.widgetData.data[index][1]\r\n });\r\n\r\n if (!isFilterEmpty) {\r\n selectedData.push(this.widgetData.data[index][1]);\r\n }\r\n }\r\n }\r\n\r\n if (isFilterEmpty) {\r\n break;\r\n }\r\n }\r\n\r\n for (let index = 1; index < this.widgetData.data.length; index++) {\r\n const sourceIndex = _.findIndex(nodeData.nodes, { name: this.widgetData.data[index][0] });\r\n const targetIndex = _.findIndex(nodeData.nodes, { name: this.widgetData.data[index][1] });\r\n\r\n if (sourceIndex > -1 && targetIndex > -1) {\r\n nodeData.links.push({\r\n 'source': sourceIndex,\r\n 'value': this.widgetData.data[index][2],\r\n 'target': targetIndex\r\n });\r\n }\r\n }\r\n return _.cloneDeep(nodeData);\r\n }\r\n\r\n loadGraph() {\r\n const that = this;\r\n const d3Color = ['#a6cee3', '#b2df8a', '#fb9a99', '#fdbf6f',\r\n '#cab2d6', '#ffff99', '#1f78b4', '#33a02c'\r\n ];\r\n var chart = d3.select(this.chartElement.nativeElement)\r\n .append('svg')\r\n .attr('id', 'd3_sankey_chart_svg')\r\n .attr('width', 1500)\r\n .attr('height', 2000)\r\n .chart('Sankey.Path');\r\n chart\r\n .name(label)\r\n .colorNodes(function (name, node) {\r\n return d3Color[Math.floor(Math.random() * d3Color.length)];\r\n })\r\n .colorLinks(function (link) {\r\n return d3Color[Math.floor(Math.random() * d3Color.length)];\r\n })\r\n .nodeWidth(15)\r\n .nodePadding(10)\r\n .spread(false)\r\n .iterations(1)\r\n .draw(this.data);\r\n\r\n function label(node) {\r\n return node.name.replace(/\\s*\\(.*?\\)$/, '');\r\n }\r\n\r\n// tslint:disable-next-line: prefer-const\r\n var div = d3.select('body').append('div')\r\n .attr('class', 'graph-tooltip white no-arrow')\r\n .attr('id', 'd3-chart-custom-tooltip')\r\n .style('display', 'none');\r\n\r\n chart.on('link:mouseover', function (link) {\r\n\r\n //Weight: ${link.value}\r\n \r\n div\r\n .html(`\r\n ${link.source.name} -> ${link.target.name} \r\n `)\r\n .style('left', (d3.event.pageX + 15) + 'px')\r\n .style('top', (d3.event.pageY - 20) + 'px');\r\n div.style('display', 'inline');\r\n\r\n });\r\n\r\n chart.on('link:mouseout', function (link) {\r\n div.style('display', 'none');\r\n\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n d3.select('#d3-chart-custom-tooltip').remove();\r\n }\r\n\r\n}\r\n","module.exports = \"/* .donut-wrapper svg{\\r\\n font: 10px sans-serif;\\r\\n font: 15px 'Open Sans'\\r\\n\\r\\n} */\\r\\n .donut-wrapper path.slice{\\r\\n stroke-width:2px;\\r\\n }\\r\\n .donut-wrapper polyline{\\r\\n opacity: .3;\\r\\n stroke: black;\\r\\n stroke-width: 2px;\\r\\n fill: none;\\r\\n }\\r\\n .donut-wrapper svg text.percent{\\r\\n fill:white;\\r\\n text-anchor:middle;\\r\\n font-size:12px;\\r\\n }\\r\\n /* .donut-wrapper .text-font{\\r\\n font-family: sans-serif;\\r\\n } */\\r\\n .donut-wrapper .heading-text-font{\\r\\n\\r\\n font-family: sans-serif !important;\\r\\n font-size: 18px !important;\\r\\n }\\r\\n .nba-donut-wrapper{\\r\\n position: relative;\\r\\n height: 750px;\\r\\n overflow: hidden;\\r\\n }\\r\\n .nba-donut-wrapper .donut-svg{\\r\\n position: absolute;\\r\\n }\\r\\n .nba-donut-wrapper .donut-svg:nth-child(2){\\r\\n position: absolute;\\r\\n left:40px;\\r\\n top:0;\\r\\n}\\r\\n .nba-donut-wrapper .donut-svg:nth-child(3){\\r\\n position: absolute;\\r\\n right:-20px;\\r\\n top:0;\\r\\n}\\r\\n .nba-donut-wrapper .donut-svg:nth-child(4){\\r\\n position: absolute;\\r\\n right:-30px;\\r\\n bottom:0;\\r\\n}\\r\\n .nba-donut-wrapper .donut-svg:nth-child(5){\\r\\n position: absolute;\\r\\n left:40px;\\r\\n bottom:0;\\r\\n}\\r\\n .nba-donut-wrapper .center-circle{\\r\\n position: absolute;\\r\\n width: 200px;\\r\\n height: 200px;\\r\\n background: #E7EDED;\\r\\n border: 2px solid #fbffff;\\r\\n box-shadow: 0 0 15px #e8e8e8;\\r\\n position: absolute;\\r\\n left:0;\\r\\n top:0;\\r\\n right:0;\\r\\n bottom:0;\\r\\n border-radius: 100%;\\r\\n margin: auto;\\r\\n text-align: center;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n padding-bottom: 6px;\\r\\n}\\r\\n .nba-donut-wrapper .center-circle span{\\r\\n display: block;\\r\\n font-size: 26px;\\r\\n font-family: 'Oswald', sans-serif;\\r\\n font-weight: 300;\\r\\n}\\r\\n .nba-donut-wrapper .center-circle .lines{\\r\\n position: absolute;\\r\\n left:0;\\r\\n top:0;\\r\\n right:0;\\r\\n bottom:0;\\r\\n}\\r\\n .nba-donut-wrapper .center-circle .lines i{\\r\\n position: absolute;\\r\\n width: 2px;\\r\\n height: 150px;\\r\\n background: #d4dada;\\r\\n}\\r\\n .nba-donut-wrapper .center-circle .lines i:first-child{\\r\\n left: -40px;\\r\\n bottom: 130px;\\r\\n transform: rotate(-57deg);\\r\\n}\\r\\n .nba-donut-wrapper .center-circle .lines i:nth-child(2){\\r\\n right: -40px;\\r\\n bottom: 130px;\\r\\n transform: rotate(57deg);\\r\\n}\\r\\n .nba-donut-wrapper .center-circle .lines i:nth-child(3){\\r\\n left: -40px;\\r\\n top: 130px;\\r\\n transform: rotate(57deg);\\r\\n}\\r\\n .nba-donut-wrapper .center-circle .lines i:last-child{\\r\\n right: -40px;\\r\\n top: 130px;\\r\\n transform: rotate(-57deg);\\r\\n}\\r\\n .nba-donut-wrapper .center-circle .lines i:first-child:before{\\r\\n content: '';\\r\\n position: absolute;\\r\\n left: -5px;\\r\\n top: -19px;\\r\\n width: 2px;\\r\\n height: 20px;\\r\\n background: #d4dada;\\r\\n transform: rotate(-30deg);\\r\\n}\\r\\n .nba-donut-wrapper .center-circle .lines i:nth-child(2):before{\\r\\n content: '';\\r\\n position: absolute;\\r\\n right: -5px;\\r\\n top: -19px;\\r\\n width: 2px;\\r\\n height: 20px;\\r\\n background: #d4dada;\\r\\n transform: rotate(30deg);\\r\\n}\\r\\n .nba-donut-wrapper .center-circle .lines i:nth-child(3):before{\\r\\n content: '';\\r\\n position: absolute;\\r\\n left: -5px;\\r\\n bottom: -19px;\\r\\n width: 2px;\\r\\n height: 20px;\\r\\n background: #d4dada;\\r\\n transform: rotate(30deg);\\r\\n}\\r\\n .nba-donut-wrapper .center-circle .lines i:last-child:before{\\r\\n content: '';\\r\\n position: absolute;\\r\\n right: -5px;\\r\\n bottom: -19px;\\r\\n width: 2px;\\r\\n height: 20px;\\r\\n background: #d4dada;\\r\\n transform: rotate(-30deg);\\r\\n}\\r\\n @media (max-width: 1600px){\\r\\n .nba-donut-wrapper .donut-svg:nth-child(2),\\r\\n .nba-donut-wrapper .donut-svg:nth-child(3){\\r\\n top:-30px;\\r\\n }\\r\\n .nba-donut-wrapper .center-circle .lines i{\\r\\n height: 100px;\\r\\n }\\r\\n .nba-donut-wrapper .center-circle .lines i:nth-child(2),\\r\\n .nba-donut-wrapper .center-circle .lines i:last-child{\\r\\n right: -24px;\\r\\n }\\r\\n .nba-donut-wrapper .center-circle .lines i:first-child,\\r\\n .nba-donut-wrapper .center-circle .lines i:nth-child(3){\\r\\n left: -24px;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9kMy10aHJlZWQtZG9udXQvZDMtdGhyZWVkLWRvbnV0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7SUFJSTtFQUNGO01BQ0ksaUJBQWlCO0dBQ3BCO0VBQ0Q7TUFDSSxZQUFZO01BQ1osY0FBYztNQUNkLGtCQUFrQjtNQUNsQixXQUFXO0dBQ2Q7RUFDRDtNQUNJLFdBQVc7TUFDWCxtQkFBbUI7TUFDbkIsZUFBZTtHQUNsQjtFQUNEOztNQUVJO0VBQ0o7O0lBRUUsbUNBQW1DO0lBQ25DLDJCQUEyQjtHQUM1QjtFQUNEO01BQ0ksbUJBQW1CO01BQ25CLGNBQWM7TUFDZCxpQkFBaUI7R0FDcEI7RUFDRDtNQUNJLG1CQUFtQjtHQUN0QjtFQUNEO0lBQ0UsbUJBQW1CO0lBQ25CLFVBQVU7SUFDVixNQUFNO0NBQ1Q7RUFDRDtJQUNJLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osTUFBTTtDQUNUO0VBQ0Q7SUFDSSxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFNBQVM7Q0FDWjtFQUNEO0lBQ0ksbUJBQW1CO0lBQ25CLFVBQVU7SUFDVixTQUFTO0NBQ1o7RUFDRDtJQUNJLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsY0FBYztJQUNkLG9CQUFvQjtJQUNwQiwwQkFBMEI7SUFDMUIsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQixPQUFPO0lBQ1AsTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0lBQ1Qsb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLHVCQUF1QjtJQUN2Qix3QkFBd0I7SUFDeEIsb0JBQW9CO0NBQ3ZCO0VBQ0Q7SUFDSSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGtDQUFrQztJQUNsQyxpQkFBaUI7Q0FDcEI7RUFDRDtJQUNJLG1CQUFtQjtJQUNuQixPQUFPO0lBQ1AsTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0NBQ1o7RUFDRDtJQUNJLG1CQUFtQjtJQUNuQixXQUFXO0lBQ1gsY0FBYztJQUNkLG9CQUFvQjtDQUN2QjtFQUNEO0lBQ0ksWUFBWTtJQUNaLGNBQWM7SUFDZCwwQkFBMEI7Q0FDN0I7RUFDRDtJQUNJLGFBQWE7SUFDYixjQUFjO0lBQ2QseUJBQXlCO0NBQzVCO0VBQ0Q7SUFDSSxZQUFZO0lBQ1osV0FBVztJQUNYLHlCQUF5QjtDQUM1QjtFQUNEO0lBQ0ksYUFBYTtJQUNiLFdBQVc7SUFDWCwwQkFBMEI7Q0FDN0I7RUFHRDtJQUNJLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsV0FBVztJQUNYLFdBQVc7SUFDWCxXQUFXO0lBQ1gsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQiwwQkFBMEI7Q0FDN0I7RUFDRDtJQUNJLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFdBQVc7SUFDWCxXQUFXO0lBQ1gsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQix5QkFBeUI7Q0FDNUI7RUFDRDtJQUNJLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsV0FBVztJQUNYLGNBQWM7SUFDZCxXQUFXO0lBQ1gsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQix5QkFBeUI7Q0FDNUI7RUFDRDtJQUNJLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLGNBQWM7SUFDZCxXQUFXO0lBQ1gsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQiwwQkFBMEI7Q0FDN0I7RUFDRDtJQUNJOztRQUVJLFVBQVU7S0FDYjtJQUNEO1FBQ0ksY0FBYztLQUNqQjtJQUNEOztRQUVJLGFBQWE7S0FDaEI7SUFDRDs7UUFFSSxZQUFZO0tBQ2Y7Q0FDSiIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvZDMtdGhyZWVkLWRvbnV0L2QzLXRocmVlZC1kb251dC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogLmRvbnV0LXdyYXBwZXIgc3Zne1xyXG4gICAgZm9udDogMTBweCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udDogMTVweCAnT3BlbiBTYW5zJ1xyXG5cclxufSAqL1xyXG4gIC5kb251dC13cmFwcGVyIHBhdGguc2xpY2V7XHJcbiAgICAgIHN0cm9rZS13aWR0aDoycHg7XHJcbiAgfVxyXG4gIC5kb251dC13cmFwcGVyIHBvbHlsaW5le1xyXG4gICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgc3Ryb2tlOiBibGFjaztcclxuICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7XHJcbiAgICAgIGZpbGw6IG5vbmU7XHJcbiAgfSBcclxuICAuZG9udXQtd3JhcHBlciBzdmcgdGV4dC5wZXJjZW50e1xyXG4gICAgICBmaWxsOndoaXRlO1xyXG4gICAgICB0ZXh0LWFuY2hvcjptaWRkbGU7XHJcbiAgICAgIGZvbnQtc2l6ZToxMnB4O1xyXG4gIH1cclxuICAvKiAuZG9udXQtd3JhcHBlciAudGV4dC1mb250e1xyXG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XHJcbiAgfSAqL1xyXG4gIC5kb251dC13cmFwcGVyIC5oZWFkaW5nLXRleHQtZm9udHtcclxuXHJcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5uYmEtZG9udXQtd3JhcHBlcntcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBoZWlnaHQ6IDc1MHB4O1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuICAubmJhLWRvbnV0LXdyYXBwZXIgLmRvbnV0LXN2Z3tcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxuICAubmJhLWRvbnV0LXdyYXBwZXIgLmRvbnV0LXN2ZzpudGgtY2hpbGQoMil7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OjQwcHg7XHJcbiAgICB0b3A6MDtcclxufVxyXG4ubmJhLWRvbnV0LXdyYXBwZXIgLmRvbnV0LXN2ZzpudGgtY2hpbGQoMyl7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDotMjBweDtcclxuICAgIHRvcDowO1xyXG59XHJcbi5uYmEtZG9udXQtd3JhcHBlciAuZG9udXQtc3ZnOm50aC1jaGlsZCg0KXtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0Oi0zMHB4O1xyXG4gICAgYm90dG9tOjA7XHJcbn1cclxuLm5iYS1kb251dC13cmFwcGVyIC5kb251dC1zdmc6bnRoLWNoaWxkKDUpe1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDo0MHB4O1xyXG4gICAgYm90dG9tOjA7XHJcbn1cclxuLm5iYS1kb251dC13cmFwcGVyIC5jZW50ZXItY2lyY2xle1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgaGVpZ2h0OiAyMDBweDtcclxuICAgIGJhY2tncm91bmQ6ICNFN0VERUQ7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmJmZmZmO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDE1cHggI2U4ZThlODtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6MDtcclxuICAgIHRvcDowO1xyXG4gICAgcmlnaHQ6MDtcclxuICAgIGJvdHRvbTowO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNnB4O1xyXG59XHJcbi5uYmEtZG9udXQtd3JhcHBlciAuY2VudGVyLWNpcmNsZSBzcGFue1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICBmb250LWZhbWlseTogJ09zd2FsZCcsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG59XHJcbi5uYmEtZG9udXQtd3JhcHBlciAuY2VudGVyLWNpcmNsZSAubGluZXN7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICB0b3A6MDtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICBib3R0b206MDtcclxufVxyXG4ubmJhLWRvbnV0LXdyYXBwZXIgLmNlbnRlci1jaXJjbGUgLmxpbmVzIGl7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMnB4O1xyXG4gICAgaGVpZ2h0OiAxNTBweDtcclxuICAgIGJhY2tncm91bmQ6ICNkNGRhZGE7XHJcbn1cclxuLm5iYS1kb251dC13cmFwcGVyIC5jZW50ZXItY2lyY2xlIC5saW5lcyBpOmZpcnN0LWNoaWxke1xyXG4gICAgbGVmdDogLTQwcHg7XHJcbiAgICBib3R0b206IDEzMHB4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTU3ZGVnKTtcclxufVxyXG4ubmJhLWRvbnV0LXdyYXBwZXIgLmNlbnRlci1jaXJjbGUgLmxpbmVzIGk6bnRoLWNoaWxkKDIpe1xyXG4gICAgcmlnaHQ6IC00MHB4O1xyXG4gICAgYm90dG9tOiAxMzBweDtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDU3ZGVnKTtcclxufVxyXG4ubmJhLWRvbnV0LXdyYXBwZXIgLmNlbnRlci1jaXJjbGUgLmxpbmVzIGk6bnRoLWNoaWxkKDMpe1xyXG4gICAgbGVmdDogLTQwcHg7XHJcbiAgICB0b3A6IDEzMHB4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNTdkZWcpO1xyXG59XHJcbi5uYmEtZG9udXQtd3JhcHBlciAuY2VudGVyLWNpcmNsZSAubGluZXMgaTpsYXN0LWNoaWxke1xyXG4gICAgcmlnaHQ6IC00MHB4O1xyXG4gICAgdG9wOiAxMzBweDtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC01N2RlZyk7XHJcbn1cclxuXHJcblxyXG4ubmJhLWRvbnV0LXdyYXBwZXIgLmNlbnRlci1jaXJjbGUgLmxpbmVzIGk6Zmlyc3QtY2hpbGQ6YmVmb3Jle1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAtNXB4O1xyXG4gICAgdG9wOiAtMTlweDtcclxuICAgIHdpZHRoOiAycHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZDRkYWRhO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTMwZGVnKTtcclxufVxyXG4ubmJhLWRvbnV0LXdyYXBwZXIgLmNlbnRlci1jaXJjbGUgLmxpbmVzIGk6bnRoLWNoaWxkKDIpOmJlZm9yZXtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IC01cHg7XHJcbiAgICB0b3A6IC0xOXB4O1xyXG4gICAgd2lkdGg6IDJweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIGJhY2tncm91bmQ6ICNkNGRhZGE7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMGRlZyk7XHJcbn1cclxuLm5iYS1kb251dC13cmFwcGVyIC5jZW50ZXItY2lyY2xlIC5saW5lcyBpOm50aC1jaGlsZCgzKTpiZWZvcmV7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IC01cHg7XHJcbiAgICBib3R0b206IC0xOXB4O1xyXG4gICAgd2lkdGg6IDJweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIGJhY2tncm91bmQ6ICNkNGRhZGE7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMGRlZyk7XHJcbn1cclxuLm5iYS1kb251dC13cmFwcGVyIC5jZW50ZXItY2lyY2xlIC5saW5lcyBpOmxhc3QtY2hpbGQ6YmVmb3Jle1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogLTVweDtcclxuICAgIGJvdHRvbTogLTE5cHg7XHJcbiAgICB3aWR0aDogMnB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2Q0ZGFkYTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC0zMGRlZyk7XHJcbn1cclxuQG1lZGlhIChtYXgtd2lkdGg6IDE2MDBweCl7XHJcbiAgICAubmJhLWRvbnV0LXdyYXBwZXIgLmRvbnV0LXN2ZzpudGgtY2hpbGQoMiksXHJcbiAgICAubmJhLWRvbnV0LXdyYXBwZXIgLmRvbnV0LXN2ZzpudGgtY2hpbGQoMyl7XHJcbiAgICAgICAgdG9wOi0zMHB4O1xyXG4gICAgfVxyXG4gICAgLm5iYS1kb251dC13cmFwcGVyIC5jZW50ZXItY2lyY2xlIC5saW5lcyBpe1xyXG4gICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICB9XHJcbiAgICAubmJhLWRvbnV0LXdyYXBwZXIgLmNlbnRlci1jaXJjbGUgLmxpbmVzIGk6bnRoLWNoaWxkKDIpLFxyXG4gICAgLm5iYS1kb251dC13cmFwcGVyIC5jZW50ZXItY2lyY2xlIC5saW5lcyBpOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgcmlnaHQ6IC0yNHB4O1xyXG4gICAgfVxyXG4gICAgLm5iYS1kb251dC13cmFwcGVyIC5jZW50ZXItY2lyY2xlIC5saW5lcyBpOmZpcnN0LWNoaWxkLFxyXG4gICAgLm5iYS1kb251dC13cmFwcGVyIC5jZW50ZXItY2lyY2xlIC5saW5lcyBpOm50aC1jaGlsZCgzKXtcclxuICAgICAgICBsZWZ0OiAtMjRweDtcclxuICAgIH1cclxufSJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n 4Cs of\\r\\n Multi-channel\\r\\n Marketing\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, Input, ViewChild, ElementRef, ViewEncapsulation, OnDestroy } from '@angular/core';\r\nimport { WidgetService } from '../widgets.service';\r\ndeclare let d3: any;\r\ndeclare let Donut3D: any;\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n selector: 'app-d3-threed-donut',\r\n templateUrl: './d3-threed-donut.component.html',\r\n styleUrls: ['./d3-threed-donut.component.css']\r\n})\r\nexport class D3ThreedDonutComponent implements OnInit {\r\n\r\n @ViewChild('d3TreedDonutChartRef') chartElement: ElementRef;\r\n @Input() widgetData;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n for (let i = 0; i < this.widgetData.data.length; i++) {\r\n // this.loadThreedDonut(_.cloneDeep(this.salesData[i]));\r\n this.loadThreedDonut(this.widgetData.data[i], i);\r\n\r\n }\r\n }\r\n\r\n loadThreedDonut(salesDatas, i) {\r\n var svg = d3.select(this.chartElement.nativeElement).append(\"div\").attr('class', 'donut-svg').append(\"svg\").attr(\"width\", 400).attr(\"height\", 300);\r\n svg.append(\"g\").attr(\"id\", \"salesDonut\" + i);\r\n // svg.append(\"g\").attr(\"id\",\"quotesDonut\");\r\n\r\n Donut3D.draw(\"salesDonut\" + i, randomData(), 140, 150, 100, 70, 25, 0.4);\r\n // Donut3D.draw(\"quotesDonut\", randomData(), 450, 150, 130, 100, 30, 0);\r\n\r\n // function changeData(){\r\n // \tDonut3D.transition(\"salesDonut\", randomData(), 130, 100, 30, 0.4);\r\n // \tDonut3D.transition(\"quotesDonut\", randomData(), 130, 100, 30, 0);\r\n // }\r\n\r\n function randomData() {\r\n return salesDatas.data.map(function (d) {\r\n return { label: d.label, value: d.value, color: d.color };\r\n });\r\n }\r\n\r\n var legend = svg.selectAll(\".legend\")\r\n .data(salesDatas.data.map(function (d) { return d; }).reverse())\r\n .enter().append(\"g\")\r\n .attr(\"class\", \"legend\")\r\n .attr(\"transform\", function (d, i) { return \"translate(0,\" + i * 20 + \")\"; })\r\n //.attr(\"transform\", function (d, i) { return \"translate(\"+ (i==0?-165:-60)+\", -35)\"; })\r\n .style(\"opacity\", \"0\");\r\n\r\n legend.append(\"circle\")\r\n //.attr(\"x\", 350 - 18)\r\n .attr(\"r\", 4)\r\n .attr(\"cx\", 350 - 100)\r\n .attr(\"cy\", 120)\r\n // .attr(\"width\", 18)\r\n // .attr(\"height\", 18)\r\n .style(\"fill\", function (d) { return d.color });\r\n\r\n legend.append(\"text\")\r\n //.attr(\"x\", 350 - 24)\r\n .attr(\"x\", 350 - 90)\r\n .attr(\"y\", 120)\r\n .attr(\"dy\", \".35em\")\r\n .attr(\"class\", \"text-font\")\r\n .style(\"text-anchor\", \"start\")\r\n .style(\"fill\", \"#000\")\r\n .text(function (d) { return d.label; });\r\n\r\n legend.transition().duration(0).style(\"opacity\", \"1\");\r\n\r\n var heading = svg.selectAll(\".heading\")\r\n .data(\"a\")\r\n .enter().append(\"g\")\r\n .attr(\"class\", \"heading\")\r\n .style(\"opacity\", \"0\");\r\n\r\n heading.append(\"text\")\r\n .attr(\"x\", 110)\r\n .attr(\"y\", 260)\r\n .attr(\"dy\", \".35em\")\r\n .attr(\"class\", \"heading-text-font\")\r\n .style(\"text-anchor\", \"start\")\r\n //.style(\"font-family\",\"'Roboto', sans-serif\")\r\n .style(\"fill\", \"#000\")\r\n .text(salesDatas.name);\r\n\r\n heading.transition().duration(0).style(\"opacity\", \"1\");\r\n\r\n\r\n }\r\n\r\n}\r\n","module.exports = \".node {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.node circle {\\r\\n fill: #fff;\\r\\n stroke-width: 4px;\\r\\n box-shadow: inset 0 0 2px #333;\\r\\n}\\r\\n\\r\\n.node text {\\r\\n font-family: 'Roboto', sans-serif;\\r\\n font-size: 11px;\\r\\n color:red;\\r\\n}\\r\\n\\r\\n.link {\\r\\n fill: none;\\r\\n stroke: #a7b3be;\\r\\n stroke-width: 1.5px;\\r\\n}\\r\\n\\r\\n.d3_tree_widget {\\r\\n /* border: 1px solid #e3dada;\\r\\n margin-bottom: 2px; */\\r\\n}\\r\\n\\r\\n.tree-chart-wrapper > div{\\r\\n background: #fbfbfb;\\r\\n margin-bottom: 16px;\\r\\n padding: 0 30px;\\r\\n border: 1px solid #efeeee;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9kMy10cmVlLWNoYXJ0L2QzLXRyZWUtY2hhcnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGdCQUFnQjtDQUNuQjs7QUFFRDtFQUNFLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsK0JBQStCO0NBQ2hDOztBQUVEO0VBQ0Usa0NBQWtDO0VBQ2xDLGdCQUFnQjtFQUNoQixVQUFVO0NBQ1g7O0FBRUQ7RUFDRSxXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtDQUNyQjs7QUFFQTtFQUNDO3dCQUNzQjtDQUN2Qjs7QUFDRDtFQUNFLG9CQUFvQjtFQUNwQixvQkFBb0I7RUFDcEIsZ0JBQWdCO0VBQ2hCLDBCQUEwQjtDQUMzQiIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvZDMtdHJlZS1jaGFydC9kMy10cmVlLWNoYXJ0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubm9kZSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5ub2RlIGNpcmNsZSB7XHJcbiAgZmlsbDogI2ZmZjtcclxuICBzdHJva2Utd2lkdGg6IDRweDtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMnB4ICMzMzM7XHJcbn1cclxuXHJcbi5ub2RlIHRleHQge1xyXG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcclxuICBmb250LXNpemU6IDExcHg7XHJcbiAgY29sb3I6cmVkO1xyXG59XHJcblxyXG4ubGluayB7XHJcbiAgZmlsbDogbm9uZTtcclxuICBzdHJva2U6ICNhN2IzYmU7XHJcbiAgc3Ryb2tlLXdpZHRoOiAxLjVweDtcclxufVxyXG5cclxuIC5kM190cmVlX3dpZGdldCB7XHJcbiAgLyogYm9yZGVyOiAxcHggc29saWQgI2UzZGFkYTtcclxuICBtYXJnaW4tYm90dG9tOiAycHg7ICovXHJcbn0gXHJcbi50cmVlLWNoYXJ0LXdyYXBwZXIgPiBkaXZ7XHJcbiAgYmFja2dyb3VuZDogI2ZiZmJmYjtcclxuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gIHBhZGRpbmc6IDAgMzBweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZWZlZWVlO1xyXG59XHJcbiJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n
{{widgetData.title}}
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit, Input, ViewChild, ElementRef, ViewEncapsulation ,OnDestroy} from '@angular/core';\r\nimport { WidgetService } from '../widgets.service';\r\ndeclare let d3: any;\r\nimport * as _ from 'lodash';\r\nimport { flatten } from '@angular/core/src/render3/util';\r\n\r\n\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n selector: 'app-d3-tree-chart',\r\n templateUrl: './d3-tree-chart.component.html',\r\n styleUrls: ['./d3-tree-chart.component.css']\r\n})\r\nexport class D3TreeChartComponent implements OnInit {\r\n\r\n @Input() widgetData;\r\n @ViewChild('d3TreeChartRef') chartElement: ElementRef;\r\n\r\n data;\r\n treeData;\r\n\r\n ngOnInit() {\r\n this.data = this.widgetData.data;\r\n for (let i = 0; i < this.data.length; i++) {\r\n this.loadTree(_.cloneDeep(this.data[i]));\r\n }\r\n }\r\n\r\n\r\n constructor(private widgetService: WidgetService) {\r\n // this.widgetService.triggerDataChangeForTreeChart.subscribe((updatedDataInfo) => {\r\n // // alert(\"Inside area bar chart\");\r\n\r\n // if ((updatedDataInfo.formField.uniqueNameTree201 && updatedDataInfo.formField.uniqueNameTree201.length)) {\r\n // this.updateChart(updatedDataInfo);\r\n // } else {\r\n // this.resetChart();\r\n // this.treeData = null;\r\n // }\r\n // });\r\n\r\n }\r\n\r\n // updateChart(updatedDataInfo) {\r\n // let foundIndex = _.findIndex(this.data, {\"name\": updatedDataInfo.formField.uniqueNameTree201})\r\n // console.log(foundIndex)\r\n // if (foundIndex > -1) {\r\n // //this.treeData = this.data[foundIndex];\r\n // this.treeData = this.data[foundIndex];\r\n // this.resetChart();\r\n // this.loadTree();\r\n // };\r\n // }\r\n\r\n // resetChart() {\r\n // d3.select(\"#tree_widget\").remove();\r\n // } \r\n\r\n loadTree(treeData) {\r\n\r\n\r\n var margin = { top: 20, right: 120, bottom: 20, left: 120 },\r\n width = 960 - margin.right - margin.left,\r\n height = 250 - margin.top - margin.bottom;\r\n\r\n var i = 0,\r\n duration = 750,\r\n root;\r\n\r\n var tree = d3.layout.tree()\r\n .size([height, width]);\r\n\r\n\r\n var diagonal = d3.svg.diagonal()\r\n .projection(function (d) { return [d.y, d.x]; });\r\n\r\n var svg = d3.select(this.chartElement.nativeElement)\r\n .append(\"div\")\r\n .append(\"svg\")\r\n \r\n .attr(\"width\", width + margin.right + margin.left)\r\n .attr(\"height\", height + margin.top + margin.bottom)\r\n .attr(\"class\", \"d3_tree_widget\")\r\n .append(\"g\")\r\n .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\");\r\n var bkp_arr = [];\r\n\r\n root = treeData;\r\n for (let j = 0; j < root.children.length; j++) {\r\n bkp_arr.push({ name: root.children[j].name, value: root.children[j].children });\r\n // if (j) \r\n\r\n root.children[j].hasChildren = true;\r\n root.children[j].children = null;\r\n }\r\n\r\n root.x0 = height / 2;\r\n root.y0 = 0;\r\n\r\n update(root);\r\n\r\n //svg.style(\"height\", \"500px\");\r\n\r\n function update(source) {\r\n\r\n // Compute the new tree layout.\r\n var nodes = tree.nodes(root).reverse(),\r\n links = tree.links(nodes);\r\n\r\n // Normalize for fixed-depth.\r\n nodes.forEach(function (d) { d.y = d.depth * 120; });\r\n\r\n // Update the nodes…\r\n var node = svg.selectAll(\"g.node\")\r\n .data(nodes, function (d) { return d.id || (d.id = ++i); });\r\n\r\n // Enter any new nodes at the parent's previous position.\r\n var nodeEnter = node.enter().append(\"g\")\r\n .attr(\"class\", \"node\")\r\n .attr(\"transform\", function (d) { return \"translate(\" + source.y0 + \",\" + source.x0 + \")\"; })\r\n .on(\"click\", handleTreeClick);\r\n\r\n nodeEnter.append(\"circle\")\r\n .attr(\"r\", 1e-6)\r\n .attr('stroke', function (d) {\r\n // if(d.depth<=1)\r\n // {\r\n // return d.color ? d.color : '#787878';\r\n // }else \r\n // if(d.depth>1 && d.children)\r\n // {\r\n // return d.color ? d.color : 'green';\r\n // }\r\n if (!d.children && d.depth != 1) {\r\n if(d.value>0.5)\r\n return d.color ? d.color : '#379ef7';// Blue\r\n else if( d.value>0.2 && d.value<0.5)\r\n return d.color ? d.color : '#f4a600'; // Yellow\r\n else (d.value>0.2)\r\n return d.color ? d.color : '#ff5f5f'; // Red\r\n }\r\n else {\r\n return d.color ? d.color : setColor(d);\r\n }\r\n\r\n })\r\n .style(\"fill\", function (d) { return d._children ? \"#ccc\" : \"#fff\"; })\r\n .on('mouseover', () => {\r\n div.style('display', 'inline');\r\n })\r\n .on('mousemove', function(d) {\r\n \r\n div\r\n .html(d.label + d.value.toFixed(2))\r\n .style('left', (d3.event.pageX + 15) + 'px')\r\n .style('top', (d3.event.pageY - 20) + 'px');\r\n })\r\n .on('mouseout', () => {\r\n div.style('display', 'none');\r\n });\r\n\r\n\r\n nodeEnter.append(\"text\")\r\n \r\n .attr(\"x\", function (d) { return !d.depth ? -13 : (d.depth == 1 ? 1 : d.children || d._children ? 1 : 13); })\r\n .attr(\"dy\", function (d) { return d.depth != 1 && (!d.depth || !d.children) ? \"0.35em\" : \"-1em\"; })\r\n .attr(\"text-anchor\", function (d) {\r\n return d.depth == 1 || d.children || d._children ? \"end\" : \"start\";\r\n })\r\n .text(function (d) {\r\n //return d.name;\r\n\r\n if (typeof d.value == 'undefined') {\r\n return d.name;\r\n }\r\n else if(d.depth !=1 && !d.children)\r\n {\r\n return d.label + d.value.toFixed(2)\r\n }\r\n else {\r\n //return d.tooltip;\r\n }\r\n })\r\n .style(\"fill-opacity\", 1e-6);\r\n \r\n // Transition nodes to their new position.\r\n var nodeUpdate = node.transition()\r\n .duration(duration)\r\n .attr(\"transform\", function (d) {\r\n return \"translate(\" + d.y + \",\" + d.x + \")\";\r\n });\r\n\r\n nodeUpdate.select(\"circle\")\r\n .attr(\"r\", 6//function(d) {return d.depth < 2 ? 10 : 6; }\r\n )\r\n .style(\"fill\", function (d) {\r\n var collapseColor = d.color ? d.color : setColor(d);\r\n return d.depth == 1 && d.hasChildren ? setColor(d) : d._children ? collapseColor : \"#fff\";\r\n\r\n });\r\n\r\n function setColor(d) {\r\n if (d.category == \"Payer access\") {\r\n return '#58D68D';\r\n }\r\n else if (d.category == \"HCP Profile\") {\r\n return '#E67E22';\r\n }\r\n else if (d.category == \"Claims data\") {\r\n return '#5DADE2';\r\n }\r\n else if (d.category == \"Sales data\") {\r\n return '#A569BD';\r\n }\r\n else if (d.category == \"Sales force\") {\r\n return '#7F8C8D';\r\n }\r\n }\r\n\r\n nodeUpdate.select(\"text\")\r\n .style(\"fill-opacity\", 1);\r\n\r\n // Transition exiting nodes to the parent's new position.\r\n var nodeExit = node.exit().transition()\r\n .duration(duration)\r\n .attr(\"transform\", function (d) { return \"translate(\" + source.y + \",\" + source.x + \")\"; })\r\n .remove();\r\n\r\n nodeExit.select(\"circle\")\r\n .attr(\"r\", 1e-6);\r\n\r\n nodeExit.select(\"text\")\r\n .style(\"fill-opacity\", 1e-6);\r\n\r\n // Update the links…\r\n var link = svg.selectAll(\"path.link\")\r\n .data(links, function (d) { return d.target.id; });\r\n\r\n // Enter any new links at the parent's previous position.\r\n link.enter().insert(\"path\", \"g\")\r\n .attr(\"class\", \"link\")\r\n .attr(\"d\", function (d) {\r\n var o = { x: source.x0, y: source.y0 };\r\n return diagonal({ source: o, target: o });\r\n });\r\n\r\n // Transition links to their new position.\r\n link.transition()\r\n .duration(duration)\r\n .attr(\"d\", diagonal);\r\n\r\n // Transition exiting nodes to the parent's new position.\r\n link.exit().transition()\r\n .duration(duration)\r\n .attr(\"d\", function (d) {\r\n var o = { x: source.x, y: source.y };\r\n return diagonal({ source: o, target: o });\r\n })\r\n .remove();\r\n\r\n // Stash the old positions for transition.\r\n nodes.forEach(function (d) {\r\n d.x0 = d.x;\r\n d.y0 = d.y;\r\n });\r\n }\r\n\r\n // Toggle children on click.\r\n function handleTreeClick(d) {\r\n \r\n let myObj = _.find(bkp_arr, { 'name': d.name });\r\n if (d.children) {\r\n d._children = d.children;\r\n d.children = null;\r\n\r\n } else {\r\n d.children = d._children;\r\n d._children = null;\r\n if (d.depth == 1) {\r\n d.children = myObj.value;\r\n }\r\n\r\n }\r\n d.hasChildren = false;\r\n update(d);\r\n }\r\n\t\r\n // tooltips\r\n var div = d3.select('body').append('div')\r\n .attr('class', 'graph-tooltip')\r\n\t.attr('id', 'd3-tree-chart-custom-tooltip')\r\n .style('display', 'none');\r\n }\r\n OnDestroy() {\r\n d3.select(\"#d3-tree-chart-custom-tooltip\").remove();\r\n }\r\n}","module.exports = \".node {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.node circle {\\r\\n fill: #fff;\\r\\n stroke-width: 4px;\\r\\n box-shadow: inset 0 0 2px #333;\\r\\n}\\r\\n\\r\\n.node text {\\r\\n font-family: 'Roboto', sans-serif;\\r\\n font-size: 11px;\\r\\n color:red;\\r\\n}\\r\\n\\r\\n.link {\\r\\n fill: none;\\r\\n stroke: #a7b3be;\\r\\n stroke-width: 1.5px;\\r\\n}\\r\\n\\r\\n.d3_tree_widget {\\r\\n /* border: 1px solid #e3dada;\\r\\n margin-bottom: 2px; */\\r\\n}\\r\\n\\r\\n.tree-chart-wrapper > div{\\r\\n background: #fbfbfb;\\r\\n margin-bottom: 16px;\\r\\n padding: 0 30px;\\r\\n border: 1px solid #efeeee;\\r\\n }\\r\\n\\r\\n.positive-path{\\r\\n\\r\\n }\\r\\n\\r\\n.negative-path{\\r\\n \\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9kMy12ZXJ0aWNhbC10cmVlLWNoYXJ0L2QzLXZlcnRpY2FsLXRyZWUtY2hhcnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGdCQUFnQjtDQUNuQjs7QUFFRDtFQUNFLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsK0JBQStCO0NBQ2hDOztBQUVEO0VBQ0Usa0NBQWtDO0VBQ2xDLGdCQUFnQjtFQUNoQixVQUFVO0NBQ1g7O0FBRUQ7RUFDRSxXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtDQUNyQjs7QUFFQTtFQUNDO3dCQUNzQjtDQUN2Qjs7QUFDRDtFQUNFLG9CQUFvQjtFQUNwQixvQkFBb0I7RUFDcEIsZ0JBQWdCO0VBQ2hCLDBCQUEwQjtFQUMxQjs7QUFFRDs7RUFFQzs7QUFFRDs7Q0FFQSIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvZDMtdmVydGljYWwtdHJlZS1jaGFydC9kMy12ZXJ0aWNhbC10cmVlLWNoYXJ0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubm9kZSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5ub2RlIGNpcmNsZSB7XHJcbiAgZmlsbDogI2ZmZjtcclxuICBzdHJva2Utd2lkdGg6IDRweDtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMnB4ICMzMzM7XHJcbn1cclxuXHJcbi5ub2RlIHRleHQge1xyXG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcclxuICBmb250LXNpemU6IDExcHg7XHJcbiAgY29sb3I6cmVkO1xyXG59XHJcblxyXG4ubGluayB7XHJcbiAgZmlsbDogbm9uZTtcclxuICBzdHJva2U6ICNhN2IzYmU7XHJcbiAgc3Ryb2tlLXdpZHRoOiAxLjVweDtcclxufVxyXG5cclxuIC5kM190cmVlX3dpZGdldCB7XHJcbiAgLyogYm9yZGVyOiAxcHggc29saWQgI2UzZGFkYTtcclxuICBtYXJnaW4tYm90dG9tOiAycHg7ICovXHJcbn0gXHJcbi50cmVlLWNoYXJ0LXdyYXBwZXIgPiBkaXZ7XHJcbiAgYmFja2dyb3VuZDogI2ZiZmJmYjtcclxuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gIHBhZGRpbmc6IDAgMzBweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZWZlZWVlO1xyXG4gfVxyXG5cclxuIC5wb3NpdGl2ZS1wYXRoe1xyXG5cclxuIH1cclxuXHJcbiAubmVnYXRpdmUtcGF0aHtcclxuICAgXHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
{{widgetData.title}}
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\"","import { Component, OnInit, Input, ViewChild, ElementRef, ViewEncapsulation, OnDestroy } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\n//import { WidgetService } from '../widgets.service';\r\ndeclare let d3: any;\r\nimport * as _ from 'lodash';\r\nimport { ngDevModeResetPerfCounters } from '@angular/core/src/render3/ng_dev_mode';\r\n\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n selector: 'app-d3-vertical-tree-chart',\r\n templateUrl: './d3-vertical-tree-chart.component.html',\r\n styleUrls: ['./d3-vertical-tree-chart.component.css']\r\n})\r\nexport class D3VerticalTreeChartComponent implements OnInit {\r\n\r\n @Input() widgetData;\r\n data;\r\n @ViewChild('d3TreeChartRef') chartElement: ElementRef;\r\n\r\n treeData;\r\n\r\n ngOnInit() {\r\n this.data = this.widgetData;\r\n\r\n // this.loadTree(this.data[0])\r\n // for (let i = 0; i < this.data.length; i++) {\r\n // this.loadTree(_.cloneDeep(this.data[i]));\r\n // }\r\n // this.treeData=this.widgetData.data;\r\n //this.loadTree(_.cloneDeep(this.data));\r\n this.loadTree(this.data);\r\n\r\n }\r\n\r\n\r\n constructor(public dialog: MatDialog) {\r\n }\r\n\r\n\r\n\r\n\r\n loadTree(treeData) {\r\n var root;\r\n\r\n var margin = { top: 40, right: 0, bottom: 20, left: 60 };\r\n var width = 1000 - margin.right - margin.left;\r\n var height = 500 - margin.top - margin.bottom;\r\n\r\n var i = 0, duration = 750;\r\n var tree = d3.layout.tree()\r\n .size([900, 550]);\r\n var diagonal = d3.svg.diagonal()\r\n .projection(function (d) { return [d.x, d.y]; });\r\n var svg = d3.select(this.chartElement.nativeElement).append(\"svg\")\r\n .attr(\"width\", width + margin.right + margin.left)\r\n .attr(\"height\", height + margin.top + margin.bottom)\r\n .append(\"g\")\r\n .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\");\r\n var bkp_arr = [];\r\n\r\n root = treeData;\r\n\r\n // console.log(root.children.length);\r\n // for (let j = 0; j < root.children.length; j++) {\r\n // bkp_arr.push({ name: root.children[j].name, value: root.children[j].children });\r\n // // if (j) \r\n\r\n // root.children[j].hasChildren = true;\r\n // root.children[j].children = null;\r\n // }\r\n\r\n root.x0 = height / 2;\r\n root.y0 = 0;\r\n\r\n update(root);\r\n function update(source) {\r\n // Compute the new tree layout.\r\n var nodes = tree.nodes(root).reverse(),\r\n links = tree.links(nodes);\r\n // Normalize for fixed-depth.\r\n nodes.forEach(function (d) { d.y = d.depth * 130; });\r\n // Declare the nodes…\r\n var node = svg.selectAll(\"g.node\")\r\n .data(nodes, function (d) { return d.id || (d.id = ++i); });\r\n // Enter the nodes.\r\n var nodeEnter = node.enter().append(\"g\")\r\n .attr(\"class\", \"node\")\r\n .attr(\"transform\", function (d) {\r\n return \"translate(\" + source.x0 + \",\" + source.y0 + \")\";\r\n }).on(\"click\", nodeclick);\r\n\r\n nodeEnter.filter(function (d) { return d._children || d.children || d.depth == 1; })\r\n .append(\"circle\")\r\n .attr(\"r\", 1e-6)\r\n .attr(\"stroke\", function (d) {\r\n\r\n if (!d.children && !d._children && d.depth != 1) {\r\n if (d.value > 0.5)\r\n return d.color ? d.color : '#379ef7';// Blue\r\n else if (d.value > 0.2 && d.value < 0.5)\r\n return d.color ? d.color : '#f4a600'; // Yellow\r\n else (d.value > 0.2)\r\n return d.color ? d.color : '#ff5f5f'; // Red\r\n }\r\n else {\r\n return d.color ? d.color : setColor(d);\r\n }\r\n })\r\n .style(\"fill\", function (d) { return d.children || d._children ? \"lightsteelblue\" : \"#fff\"; })\r\n .on('mouseover', () => {\r\n div.style('display', 'inline');\r\n })\r\n .on('mousemove', function (d) {\r\n\r\n div\r\n .html(d.label + d.value.toFixed(2))\r\n .style('left', (d3.event.pageX + 15) + 'px')\r\n .style('top', (d3.event.pageY - 20) + 'px');\r\n })\r\n .on('mouseout', () => {\r\n div.style('display', 'none');\r\n });\r\n\r\n nodeEnter.append(\"text\")\r\n .attr(\"x\", function (d) { return d.children || d._children ? -13 : 13; })\r\n .attr(\"dy\", \".35em\").attr(\"text-anchor\", function (d) {\r\n return d.depth == 1 || d.children || d._children ? \"end\" : \"start\";\r\n })\r\n .text(function (d) {\r\n //return d.name;\r\n\r\n if (typeof d.value == 'undefined') {\r\n return d.name;\r\n }\r\n else if (d.children) {\r\n return d.label + d.value.toFixed(2)\r\n }\r\n else if (d._children) {\r\n return d.label + d.value.toFixed(2)\r\n }\r\n else {\r\n //return d.tooltip;\r\n }\r\n })\r\n .style(\"fill-opacity\", 1e-6);\r\n\r\n var arc = d3.svg.arc()\r\n .outerRadius(18)\r\n .innerRadius(0);\r\n\r\n var pie = d3.layout.pie()\r\n .value(function (d) {\r\n return d.value;\r\n })\r\n .sort(null);\r\n\r\n var color = d3.scale.ordinal()\r\n .range(['#5DADE2', '#e75654']);\r\n\r\n // nodeEnter\r\n // .filter(function(d){ return (!d.children && d.depth!=1 && d.health);}) \r\n // .selectAll('path')\r\n // .data(function(d){ return pie(d.health); })\r\n // .enter()\r\n // .append('path')\r\n // .attr('d', arc)\r\n // .attr('fill', function(d, i) {\r\n // return color(i);\r\n // })\r\n nodeEnter\r\n .filter(function (d) { return (!d.children && d.depth != 1 && d.health); })\r\n .selectAll('path')\r\n .data(function (d) {\r\n return pie(d.health);\r\n })\r\n .enter()\r\n .append('path')\r\n .attr('d', arc)\r\n .attr('fill', function (d, i) {\r\n return d.data.type ? '#5DADE2' : '#e75654';\r\n }).on('mouseover', () => {\r\n div.style('display', 'inline');\r\n })\r\n .on('mousemove', function (d) {\r\n var hoverText = d.value + \"%\";\r\n if (d.data.type) {\r\n hoverText += \" Writer\";\r\n } else {\r\n hoverText += \" Non writer\";\r\n }\r\n div\r\n .html(\r\n hoverText)\r\n .style('left', (d3.event.pageX + 15) + 'px')\r\n .style('top', (d3.event.pageY - 20) + 'px');\r\n })\r\n .on('mouseout', () => {\r\n div.style('display', 'none');\r\n });\r\n\r\n\r\n // Transition nodes to their new position.\r\n //horizontal tree\r\n var nodeUpdate = node.transition()\r\n .duration(duration)\r\n .attr(\"transform\", function (d) { return \"translate(\" + d.x + \",\" + d.y + \")\"; });\r\n\r\n nodeUpdate.select(\"circle\")\r\n .attr(\"r\", 6)\r\n .style(\"fill\", function (d) {\r\n var collapseColor = d.color ? d.color : setColor(d);\r\n return d.depth == 1 && d.hasChildren ? setColor(d) : d._children ? collapseColor : \"#fff\";\r\n });\r\n nodeUpdate.select(\"text\")\r\n .style(\"fill-opacity\", 1);\r\n\r\n\r\n // Transition exiting nodes to the parent's new position.\r\n var nodeExit = node.exit().transition()\r\n .duration(duration)\r\n .attr(\"transform\", function (d) { return \"translate(\" + source.x + \",\" + source.y + \")\"; })\r\n .remove();\r\n nodeExit.select(\"circle\")\r\n .attr(\"r\", 1e-6);\r\n nodeExit.select(\"text\")\r\n .style(\"fill-opacity\", 1e-6);\r\n // Update the links…\r\n // Declare the links…\r\n var link = svg.selectAll(\"path.link\")\r\n .data(links, function (d) { return d.target.id; });\r\n // Enter the links.\r\n link.enter().insert(\"path\", \"g\")\r\n .attr(\"class\", \"link\")\r\n .style(\"stroke\",\r\n function (d) {\r\n if (d.target.yes == \"true\")\r\n return \"blue\";\r\n else\r\n return \"red\";\r\n })\r\n .attr(\"d\", function (d) {\r\n var o = { x: source.x0, y: source.y0 };\r\n return diagonal({ source: o, target: o });\r\n });\r\n // Transition links to their new position.\r\n link.transition()\r\n .duration(duration)\r\n .attr(\"d\", diagonal);\r\n\r\n\r\n\r\n // Transition exiting nodes to the parent's new position.\r\n link.exit().transition()\r\n .duration(duration)\r\n .attr(\"d\", function (d) {\r\n var o = { x: source.x, y: source.y };\r\n return diagonal({ source: o, target: o });\r\n })\r\n .remove();\r\n\r\n // Stash the old positions for transition.\r\n nodes.forEach(function (d) {\r\n d.x0 = d.x;\r\n d.y0 = d.y;\r\n });\r\n }\r\n\r\n // Toggle children on click.\r\n function nodeclick(d) {\r\n\r\n // let myObj = _.find(bkp_arr, { 'name': d.name });\r\n if (d.children) {\r\n d._children = d.children;\r\n d.children = null;\r\n\r\n } else {\r\n d.children = d._children;\r\n d._children = null;\r\n // if (d.depth == 1) {\r\n // d.children = myObj.value;\r\n // }\r\n\r\n }\r\n // d.hasChildren = false;\r\n update(d);\r\n }\r\n // tooltips\r\n var div = d3.select('body').append('div')\r\n .attr('class', 'graph-tooltip')\r\n .attr('id', 'd3-tree-chart-custom-tooltip')\r\n .style('display', 'none');\r\n\r\n function setColor(d) {\r\n if (d.category == \"Payer\") {\r\n return '#58D68D';\r\n }\r\n else if (d.category == \"HCP\") {\r\n return '#E67E22';\r\n }\r\n else if (d.category == \"Claims\") {\r\n return '#5DADE2';\r\n }\r\n else if (d.category == \"Sales\") {\r\n return '#A569BD';\r\n }\r\n else if (d.category == \"Promo\") {\r\n return '#7F8C8D';\r\n }\r\n }\r\n\r\n }\r\n\r\n OnDestroy() {\r\n d3.select(\"#d3-tree-chart-custom-tooltip\").remove();\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvZHJhZy1kcm9wLXRhYnMvZHJhZy1kcm9wLXRhYnMuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"

\\r\\n drag-drop-tabs works!\\r\\n

\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-drag-drop-tabs',\r\n templateUrl: './drag-drop-tabs.component.html',\r\n styleUrls: ['./drag-drop-tabs.component.css']\r\n})\r\nexport class DragDropTabsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\"","import { Component, OnInit, Input, ViewChild, ElementRef, Renderer2 } from '@angular/core';\r\nimport moment from 'moment';\r\nimport * as _ from 'lodash';\r\nimport { WidgetService } from '../widgets.service';\r\nimport { MatDialog } from '@angular/material';\r\nimport { PopUpComponent } from 'src/app/common/components/pop-up/pop-up.component';\r\n\r\n@Component({\r\n selector: 'app-event-timeline',\r\n templateUrl: './event-timeline.component.html'\r\n})\r\nexport class EventTimelineComponent implements OnInit {\r\n @ViewChild('eventTimeline') chartRef;\r\n\r\n @Input() widgetData;\r\n data;\r\n chartData;\r\n processedData;\r\n options = {\r\n timeline: {\r\n colorByRowLabel: true,\r\n rowLabelStyle: { fontName: 'Helvetica', fontSize: 14, color: '#333', height: 10 },\r\n showBarLabels: false\r\n },\r\n backgroundColor: '#fffae9',\r\n avoidOverlappingGridLines: false,\r\n tooltip: { isHtml: true },\r\n // width: 1500,\r\n height: 700,\r\n colors: ['#ff8f53', '#4caffc', '#ceb300', '#20bc01']\r\n };\r\n\r\n constructor(private renderer: Renderer2, private elem: ElementRef, private widgetService: WidgetService, public dialog: MatDialog) {\r\n this.widgetService.triggerDataChangeForTimeline.subscribe((updatedDataInfo) => {\r\n // if ((updatedDataInfo.formField.uniqueName10 && updatedDataInfo.formField.uniqueName10.length)) {\r\n if (updatedDataInfo.formField.filterField && updatedDataInfo.formField.filterField.length) {\r\n this.updateChart(updatedDataInfo);\r\n } else {\r\n this.resetToOrignal();\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.data = this.widgetData.data;\r\n this.preProcessData();\r\n }\r\n\r\n updateChart(updatedDataInfo) {\r\n const getFromDataSet = this.processedData;\r\n const updatedDataSetByYear = [];\r\n updatedDataSetByYear.push(getFromDataSet[0]);\r\n for (let row = 1; row < getFromDataSet.length; row++) {\r\n if (updatedDataInfo.formField.filterField.indexOf(getFromDataSet[row][0]) > -1) {\r\n updatedDataSetByYear.push(typeof getFromDataSet[row] === 'undefined' ? '' : getFromDataSet[row]);\r\n }\r\n }\r\n this.chartData = Object.create(this.chartData);\r\n this.chartData.dataTable = updatedDataSetByYear;\r\n }\r\n\r\n resetToOrignal() {\r\n this.chartData = Object.create(this.chartData);\r\n this.chartData.dataTable = this.processedData;\r\n }\r\n\r\n\r\n preProcessData() {\r\n this.processedData = [\r\n ['User', 'Name', {\r\n type: 'string',\r\n label: 'Tooltip Chart',\r\n role: 'tooltip',\r\n p: { html: true }\r\n }, 'Start', 'End'],\r\n ];\r\n let eventData = [];\r\n let date;\r\n let year;\r\n let month;\r\n\r\n for (let index = 0; index < this.data.length; index++) {\r\n eventData = [];\r\n eventData.push(this.data[index].row_lable);\r\n eventData.push(this.data[index].row_tooltip);\r\n eventData.push(`\r\n
\r\n

\r\n ${this.data[index].row_lable} \r\n ${moment(new Date(this.data[index].start_date)).format('MMM DD, YYYY')} \r\n

\r\n ${this.data[index].row_tooltip}\r\n
\r\n `);\r\n date = new Date(this.data[index].start_date);\r\n year = date.getFullYear();\r\n month = date.getMonth();\r\n eventData.push(new Date(this.data[index].start_date));\r\n date = new Date(this.data[index].end_date);\r\n year = date.getFullYear();\r\n month = date.getMonth();\r\n eventData.push(new Date(this.data[index].end_date));\r\n this.processedData.push(eventData);\r\n }\r\n\r\n this.chartData = {\r\n chartType: 'Timeline',\r\n dataTable: this.processedData,\r\n options: this.options,\r\n };\r\n\r\n }\r\n\r\n select(event) {\r\n const value = event.selectedRowValues[0];\r\n const filteredData = _.filter(this.data, { 'row_lable': value });\r\n\r\n this.openDialog(JSON.stringify(filteredData));\r\n }\r\n\r\n openDialog(clickedData) {\r\n const dialogRef = this.dialog.open(PopUpComponent, {\r\n data: clickedData\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(() => {\r\n const ccchart = this.chartRef.wrapper;\r\n ccchart.draw();\r\n\r\n const element = (this.renderer.parentNode(this.elem.nativeElement.querySelector('#event-timeline-tooltip-id')));\r\n this.renderer.removeChild(this.elem.nativeElement, element);\r\n });\r\n }\r\n}\r\n","module.exports = \".field-solution-wrapper{\\r\\n height: 100%;\\r\\n}\\r\\n.mat-dialog-container{\\r\\n position: relative;\\r\\n}\\r\\n.field-solution.dialog-close{\\r\\n position: absolute;\\r\\n top:15px;\\r\\n right:15px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9maWVsZC1jb2FjaGluZy9maWVsZC1jb2FjaGluZy1hcHAtZGlhbG9nL2ZpZWxkLWNvYWNoaW5nLWFwcC1kaWFsb2cuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGFBQWE7Q0FDaEI7QUFDRDtJQUNJLG1CQUFtQjtDQUN0QjtBQUNEO0lBQ0ksbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxXQUFXO0NBQ2QiLCJmaWxlIjoic3JjL2FwcC93aWRnZXRzL2ZpZWxkLWNvYWNoaW5nL2ZpZWxkLWNvYWNoaW5nLWFwcC1kaWFsb2cvZmllbGQtY29hY2hpbmctYXBwLWRpYWxvZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZpZWxkLXNvbHV0aW9uLXdyYXBwZXJ7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuLm1hdC1kaWFsb2ctY29udGFpbmVye1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi5maWVsZC1zb2x1dGlvbi5kaWFsb2ctY2xvc2V7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6MTVweDtcclxuICAgIHJpZ2h0OjE1cHg7XHJcbn1cclxuIl19 */\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n
\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-field-coaching-app-dialog',\r\n templateUrl: './field-coaching-app-dialog.component.html',\r\n styleUrls: ['./field-coaching-app-dialog.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FieldCoachingAppDialogComponent implements OnInit {\r\n\r\n // tslint:disable-next-line: quotemark\r\n // tslint:disable-next-line: max-line-length\r\n public htmlString = \"\";\r\n\r\n constructor(public dialogRef: MatDialogRef) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onClose() {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","module.exports = \".inner-page-wrapper.field-story #scroll-container,\\r\\n.field-coaching-svg-wrapper #svg-wrapper{\\r\\n max-height:100vh;\\r\\n min-height:100vh;\\r\\n width:100vw;\\r\\n overflow:hidden;\\r\\n position:relative;\\r\\n}\\r\\n.field-coaching-svg-wrapper{\\r\\n position:relative;\\r\\n}\\r\\n.field-coaching-svg-wrapper:before{\\r\\n content:\\\"\\\";\\r\\n position:absolute;\\r\\n top:0;\\r\\n bottom:0;\\r\\n left:100%;\\r\\n right:0;\\r\\n z-index:-1;\\r\\n opacity:0;\\r\\n background:linear-gradient(0deg, rgba(255,255,255,0) 5%, rgba(134,188,211,0.37) 50%, rgba(255,255,255,0) 95%);\\r\\n filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFF', endColorstr='#FFFFFF',GradientType=0 );\\r\\n transition:all 300ms ease-in-out;\\r\\n transition-delay:200ms;\\r\\n}\\r\\n.field-coaching-svg-wrapper.slide-6-active:before{\\r\\n opacity:1;\\r\\n left:62%;\\r\\n transition-delay:700ms;\\r\\n}\\r\\n.field-story .mat-tooltip{\\r\\n font-size:12px;\\r\\n}\\r\\n.field-coaching-svg-wrapper{\\r\\n height:100vh;\\r\\n position:fixed;\\r\\n z-index:0;\\r\\n background:linear-gradient(0deg, #79BEB9 0%, #00629B 100%);\\r\\n filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#00629B', endColorstr='#79BEB9',GradientType=0 );\\r\\n}\\r\\n.sotry-content-wrapper{\\r\\n color:#FFFFFF;\\r\\n}\\r\\n.sotry-content-wrapper>div{\\r\\n display:flex;\\r\\n align-items:center;\\r\\n justify-content:flex-end;\\r\\n height:100vh;\\r\\n width:100vw;\\r\\n padding:60px 40px;\\r\\n position:absolute;\\r\\n top:0;\\r\\n left:0;\\r\\n}\\r\\n.sotry-content-wrapper>div.animate-in{\\r\\n z-index:2;\\r\\n}\\r\\n.sotry-content-wrapper>div.slide-6{\\r\\n padding:70px 0 60px;\\r\\n}\\r\\n.sotry-content-wrapper>div.slide-4,\\r\\n.sotry-content-wrapper>div.slide-5{\\r\\n justify-content:space-between;\\r\\n}\\r\\n.sotry-content-wrapper>div .content{\\r\\n width:41%;\\r\\n}\\r\\n.sotry-content-wrapper>div.slide-3 .content{\\r\\n width:36%;\\r\\n transform:translateY(60%);\\r\\n}\\r\\n.sotry-content-wrapper>div.slide-4 .content{\\r\\n width:35%;\\r\\n}\\r\\n.sotry-content-wrapper .content h2,\\r\\n.sotry-content-wrapper .content h3,\\r\\n.sotry-content-wrapper .content p{\\r\\n transform:translateX(100%);\\r\\n opacity:0;\\r\\n transition:all 500ms ease-in-out;\\r\\n}\\r\\n.sotry-content-wrapper .content h2{\\r\\n font-family:'DINProBold';\\r\\n font-size:40px;\\r\\n transition-delay:0;\\r\\n}\\r\\n.sotry-content-wrapper .content h3{\\r\\n font-family:'DINProRegular';\\r\\n font-size:40px;\\r\\n transition-delay:200ms;\\r\\n}\\r\\n.sotry-content-wrapper .content h4{\\r\\n font-family:'DINProMedium';\\r\\n font-size:27px;\\r\\n}\\r\\n.sotry-content-wrapper .content p{\\r\\n margin:0;\\r\\n font-size:20px;\\r\\n transition-delay:400ms;\\r\\n}\\r\\n.sotry-content-wrapper .content .btn-light,\\r\\n.sotry-content-wrapper .content .btn-light:active,\\r\\n.sotry-content-wrapper .content .btn-light:focus{\\r\\n font-family:'DINProMedium';\\r\\n font-size:22px;\\r\\n color:#ED8B00;\\r\\n box-shadow:0 3px 6px rgba(0, 0, 0, 0.16);\\r\\n}\\r\\n.sotry-content-wrapper .animate-in .content h2,\\r\\n.sotry-content-wrapper .animate-in .content h3,\\r\\n.sotry-content-wrapper .animate-in .content p{\\r\\n opacity:1;\\r\\n transform:translateX(0%);\\r\\n}\\r\\n.sotry-content-wrapper .animate-out .content h2,\\r\\n.sotry-content-wrapper .animate-out .content h3,\\r\\n.sotry-content-wrapper .animate-out .content p{\\r\\n opacity:0;\\r\\n transform:translateX(-50%);\\r\\n}\\r\\n.slide-4 .file-wrapper{\\r\\n transform:skewY(-5deg);\\r\\n}\\r\\n.file-stack{\\r\\n position:relative;\\r\\n}\\r\\n.file-stack:after{\\r\\n content:\\\"\\\";\\r\\n height:90px;\\r\\n background:#E0E0E0;\\r\\n position:absolute;\\r\\n z-index:-1;\\r\\n border-radius:50%;\\r\\n bottom:0px;\\r\\n left:-30px;\\r\\n right:-30px;\\r\\n opacity:0.2;\\r\\n transform:scale(0) translateY(50%);\\r\\n transition:all 500ms ease-in-out;\\r\\n}\\r\\n.file-stack.labelled-file .file-outer:before{\\r\\n content:\\\"\\\";\\r\\n width:25px;\\r\\n top:20px;\\r\\n bottom:20px;\\r\\n left:-25px;\\r\\n position:absolute;\\r\\n border:2px dashed #ED8B00;\\r\\n border-right:none;\\r\\n}\\r\\n.file-stack.labelled-file .file-outer .file-header>div{\\r\\n background-color:#ED8B00;\\r\\n}\\r\\n.file-stack ul.label-list{\\r\\n margin:0;\\r\\n padding:0;\\r\\n list-style:none;\\r\\n position:absolute;\\r\\n top:50px;\\r\\n left:-138px;\\r\\n transform:scale(0, 1);\\r\\n transition:all 300ms ease-in-out;\\r\\n transform-origin:right;\\r\\n}\\r\\n.animate-in .file-stack ul.label-list{\\r\\n transition-delay:600ms;\\r\\n transform:scale(1, 1);\\r\\n}\\r\\n.animate-out .file-stack ul.label-list{\\r\\n opacity:0;\\r\\n transform:scale(0, 1);\\r\\n}\\r\\nul.label-list li{\\r\\n font-family:'DINProMedium';\\r\\n font-size:15px;\\r\\n color:#FFFFFF;\\r\\n line-height:22px;\\r\\n}\\r\\nul.label-list li:first-child{\\r\\n width:114px;\\r\\n margin-bottom:10px;\\r\\n padding:0 20px 5px 0;\\r\\n border-bottom:2px dashed #ED8B00;\\r\\n}\\r\\nul.label-list li.label{\\r\\n width:94px;\\r\\n height:24px;\\r\\n padding-left:5px;\\r\\n margin-bottom:10px;\\r\\n font-family:'DINProBold';\\r\\n font-size:12px;\\r\\n position:relative;\\r\\n}\\r\\nul.label-list li.label:after{\\r\\n content:\\\"\\\";\\r\\n width:100%;\\r\\n height:2px;\\r\\n border-bottom:2px dashed #ED8B00;\\r\\n position:absolute;\\r\\n top:10px;\\r\\n left:20px;\\r\\n z-index:-1;\\r\\n}\\r\\nul.label-list li.label.invalid{\\r\\n background-color:#E55A5F;\\r\\n}\\r\\nul.label-list li.label.valid{\\r\\n background-color:#00D159;\\r\\n}\\r\\n.file-wrapper .file-stack:after{\\r\\n height:100px;\\r\\n bottom:-20px;\\r\\n right:-80px;\\r\\n}\\r\\ni.icon{\\r\\n height:16px;\\r\\n width:16px;\\r\\n display:inline-block;\\r\\n margin:3px 5px 3px 0;\\r\\n vertical-align:middle;\\r\\n}\\r\\ni.icon.info{\\r\\n background:url(\\\"/assets/images/field-coaching/info-icon.png\\\") center center no-repeat;\\r\\n}\\r\\n.animate-in .file-stack:after{\\r\\n transform:scale(1) translateY(50%);\\r\\n transition-delay:200ms;\\r\\n}\\r\\n.animate-out .file-stack{\\r\\n opacity:0;\\r\\n transform:translateX(-100%);\\r\\n}\\r\\n.file-stack .file-outer{\\r\\n border:#000 1px solid;\\r\\n box-shadow:-2px -2px 3px rgba(0, 0, 0, 0.16);\\r\\n opacity:0;\\r\\n transform:translate(-100%, -20%);\\r\\n transition:all 300ms ease-in-out;\\r\\n}\\r\\n.slide-5 .file-stack .file-outer{\\r\\n transform:translate(100%, 0%);\\r\\n}\\r\\n.slide-5.animate-in .file-stack .file-outer:first-child{\\r\\n transition-delay:300ms;\\r\\n}\\r\\n.animate-in .file-stack .file-outer{\\r\\n opacity:1;\\r\\n}\\r\\n.file-stack .file-outer:not(:first-child){\\r\\n position:absolute;\\r\\n top:0;\\r\\n}\\r\\n.animate-in .file-stack .file-outer:first-child{\\r\\n transform:translate(0px, 0px);\\r\\n transition-delay:800ms;\\r\\n}\\r\\n.animate-in .file-stack .file-outer:nth-child(2){\\r\\n transform:translate(10px, 10px);\\r\\n transition-delay:600ms;\\r\\n}\\r\\n.animate-in .file-stack .file-outer:nth-child(3){\\r\\n transform:translate(20px, 20px);\\r\\n transition-delay:400ms;\\r\\n}\\r\\n.animate-in .file-stack .file-outer:nth-child(4){\\r\\n transform:translate(30px, 30px);\\r\\n transition-delay:200ms;\\r\\n}\\r\\n.animate-in .file-stack .file-outer:nth-child(5){\\r\\n transform:translate(40px, 40px);\\r\\n}\\r\\n.file-outer .file-header{\\r\\n display:flex;\\r\\n height:18px;\\r\\n background-color:#53565A;\\r\\n border:#53565A 10px solid;\\r\\n border-bottom:none;\\r\\n}\\r\\n.file-outer:not(:last-child) .file-header{\\r\\n background-color:#747474;\\r\\n border-color:#747474;\\r\\n}\\r\\n.file-outer:not(:last-child) .file-header>div{\\r\\n border-color:#747474;\\r\\n background-color:#53565A;\\r\\n}\\r\\n.file-header > div{\\r\\n width:23px;\\r\\n background-color:#000;\\r\\n border-left:3px #53565A solid;\\r\\n}\\r\\n.file-header > div:first-child{\\r\\n width:20px;\\r\\n border:none;\\r\\n}\\r\\n.file-header > div:last-child{\\r\\n flex:1;\\r\\n border-width:26px;\\r\\n}\\r\\n.file-stack .file{\\r\\n max-width:370px;\\r\\n padding:20px;\\r\\n color:#53565A;\\r\\n background-color:#FFFFFF;\\r\\n border:#53565A 10px solid;\\r\\n}\\r\\n.file-outer:not(:last-child) .file{\\r\\n border-color:#747474;\\r\\n}\\r\\n.file h4{\\r\\n font-family:'DINProBold';\\r\\n font-size:18px;\\r\\n line-height:22px;\\r\\n}\\r\\n.file p{\\r\\n font-family:'DINProMedium';\\r\\n font-size:15px;\\r\\n}\\r\\n.sotry-content-wrapper>div.slide-5 .content{\\r\\n width:auto;\\r\\n margin:0 30px;\\r\\n}\\r\\n.sotry-content-wrapper>div.slide-5 .content p.action-note{\\r\\n margin-bottom:45px;\\r\\n}\\r\\n.sotry-content-wrapper>div.slide-6 .content{\\r\\n height:100%;\\r\\n width:60%;\\r\\n flex:1;\\r\\n}\\r\\n.slide-5 .content{\\r\\n opacity:0;\\r\\n transform:translateX(100%);\\r\\n transition:all 300ms ease-in-out;\\r\\n transition-delay:500ms;\\r\\n}\\r\\n.slide-5.animate-in .content{\\r\\n opacity:1;\\r\\n transform:translateX(0);\\r\\n}\\r\\n.slide-5.animate-out .content{\\r\\n opacity:0;\\r\\n transform:translateX(-30%);\\r\\n}\\r\\n/* Switch Styes */\\r\\n.switch{\\r\\n height:24px;\\r\\n margin-bottom:20px;\\r\\n font-family:'DINProMedium';\\r\\n font-size:18px;\\r\\n display:inline-block;\\r\\n vertical-align:middle;\\r\\n}\\r\\n.switch input{\\r\\n display:none;\\r\\n}\\r\\n.slider{\\r\\n background-color:#C1C6C8;\\r\\n cursor:pointer;\\r\\n position:relative;\\r\\n width:44px;\\r\\n height:16px;\\r\\n margin-right:10px;\\r\\n display:inline-block;\\r\\n border-radius:34px;\\r\\n transition:all 0.4s ease-in-out;\\r\\n}\\r\\n.slider:before{\\r\\n content:\\\"\\\";\\r\\n height:24px;\\r\\n width:24px;\\r\\n border-radius:50%;\\r\\n border:7px solid #FFFFFF;\\r\\n background-color:#C1C6C8;\\r\\n position:absolute;\\r\\n top:-4px;\\r\\n left:0;\\r\\n transition:all 0.4s ease-in-out;\\r\\n}\\r\\ninput:checked + .slider:before{\\r\\n transform:translateX(20px);\\r\\n background-color:#ED8B00;\\r\\n}\\r\\n/* Switch Styes */\\r\\n.nlp-wrapper{\\r\\n padding-left:60px;\\r\\n position:relative;\\r\\n}\\r\\n.nlp-wrapper .svg-npl-wrapper{\\r\\n position:absolute;\\r\\n left:0px;\\r\\n}\\r\\n.nlp-wrapper + .btn-light{\\r\\n margin:65px 0 0 60px;\\r\\n}\\r\\n.nlp-wrapper .tags-wrapper{\\r\\n max-width:670px;\\r\\n margin-top:20px;\\r\\n}\\r\\n.tags-wrapper .tags-block{\\r\\n padding:8px 10px;\\r\\n margin-bottom:15px;\\r\\n display:inline-block;\\r\\n font-size:17px;\\r\\n color:#FFFFFF;\\r\\n background-color:rgba(7, 52, 62, 0.8);\\r\\n transition:all 300ms ease-in-out;\\r\\n}\\r\\n.tags-wrapper .tags-block.hidden{\\r\\n opacity:0;\\r\\n}\\r\\n.tags-block > span{\\r\\n height:20px;\\r\\n margin:0 10px 5px 10px;\\r\\n position:relative;\\r\\n display:inline-block;\\r\\n}\\r\\n.tags-block > span.tag{\\r\\n padding-left:15px;\\r\\n}\\r\\nspan.tag:before{\\r\\n content:\\\"\\\";\\r\\n width:10px;\\r\\n height:10px;\\r\\n margin-top:-4px;\\r\\n border-radius:5px;\\r\\n position:absolute;\\r\\n left:0;\\r\\n top:50%;\\r\\n}\\r\\n.tag.drug:before,\\r\\n.file.active span.drug{\\r\\n background-color:#FCDEDE;\\r\\n}\\r\\n.tag.great-job:before,\\r\\n.file.active span.great-job{\\r\\n background-color:#F28CA5;\\r\\n}\\r\\n.tag.work:before,\\r\\n.file.active span.work{\\r\\n background-color:#FAC097;\\r\\n}\\r\\n.tag.question:before,\\r\\n.file.active span.question{\\r\\n background-color:#FFF08C;\\r\\n}\\r\\n.tag.planning:before,\\r\\n.file.active span.planning{\\r\\n background-color:#9DD9A5;\\r\\n}\\r\\n.tag.know:before,\\r\\n.file.active span.know{\\r\\n background-color:#7FBFBF;\\r\\n}\\r\\n.tag.numeric:before,\\r\\n.file.active span.numeric{\\r\\n background-color:#A2F7F7;\\r\\n}\\r\\n.tag.ask:before,\\r\\n.file.active span.ask{\\r\\n background-color:#7FC0E3;\\r\\n}\\r\\n.tag.patient:before,\\r\\n.file.active span.patient{\\r\\n background-color:#F2DEFF;\\r\\n}\\r\\n.tag.field-visit:before,\\r\\n.file.active span.field-visit{\\r\\n background-color:#F798F2;\\r\\n}\\r\\n.tag.thank:before,\\r\\n.file.active span.thank{\\r\\n background-color:#BFBFBF;\\r\\n}\\r\\n.slide-6 .content ul{\\r\\n margin:0;\\r\\n padding:0;\\r\\n list-style:none;\\r\\n}\\r\\n.slide-6 .left-list{\\r\\n opacity:0;\\r\\n transform:translateX(100%);\\r\\n transition:all 300ms ease-in-out;\\r\\n transition-delay:200ms;\\r\\n}\\r\\n.slide-6.animate-in .left-list{\\r\\n opacity:1;\\r\\n transform:translateX(0);\\r\\n}\\r\\n.slide-6.animate-out .left-list{\\r\\n opacity:0;\\r\\n transform:translateX(-30%);\\r\\n}\\r\\nul.list li{\\r\\n margin-bottom:20px;\\r\\n padding:20px 15px;\\r\\n font-family:'DINProMedium';\\r\\n font-size:24px;\\r\\n line-height:28px;\\r\\n display:flex;\\r\\n flex-direction:column;\\r\\n justify-content:center;\\r\\n background:linear-gradient(90deg, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0) 100%);\\r\\n filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFF', endColorstr='#FFFFFF',GradientType=1 );\\r\\n}\\r\\nul.list li>span{\\r\\n margin-top:3px;\\r\\n font-family:'DINProRegular';\\r\\n font-size:14px;\\r\\n line-height:18px;\\r\\n display:block;\\r\\n}\\r\\n.slide-6 .content > .left-list{\\r\\n width:28%;\\r\\n padding:0 60px;\\r\\n}\\r\\n.slide-6 .content > .benefits{\\r\\n width:38%;\\r\\n padding:0 60px;\\r\\n /* background-color:rgba(255, 255, 255, 0.12);\\r\\n opacity:0;\\r\\n transition:all 300ms ease-in-out;\\r\\n transition-delay:200ms; */\\r\\n}\\r\\n/* .slide-6.animate-in .content > .benefits{\\r\\n opacity:1;\\r\\n}\\r\\n.slide-6.animate-out .content > .benefits{\\r\\n opacity:0;\\r\\n} */\\r\\n.benefits h3{\\r\\n margin-bottom:25px;\\r\\n}\\r\\n.benefits ul li{\\r\\n margin-bottom:30px;\\r\\n}\\r\\n.benefits p{\\r\\n margin:5px 0;\\r\\n}\\r\\n.benefits p > span{\\r\\n font-family:'DINProBold';\\r\\n}\\r\\n.footer-nav{\\r\\n width:100%;\\r\\n padding:0 25px;\\r\\n position:fixed;\\r\\n bottom:10px;\\r\\n z-index:3;\\r\\n}\\r\\n.footer-nav ul{\\r\\n margin:0;\\r\\n padding:0;\\r\\n list-style:none;\\r\\n display:flex;\\r\\n justify-content:space-between;\\r\\n}\\r\\n.footer-nav ul li{\\r\\n height:36px;\\r\\n width:200px;\\r\\n font-family:'DINProMedium';\\r\\n font-size:18px;\\r\\n color:#FFFFFF;\\r\\n line-height:36px;\\r\\n text-align:center;\\r\\n text-transform:uppercase;\\r\\n}\\r\\n.footer-nav ul li.active{\\r\\n font-family:'DINProBold';\\r\\n color:#ED8B00;\\r\\n background-color:rgba(255, 255, 255, 0.8);\\r\\n}\\r\\n.footer-nav ul li > span{\\r\\n height:24px;\\r\\n width:24px;\\r\\n display:inline-block;\\r\\n border:6px solid black;\\r\\n border-top:none;\\r\\n vertical-align:middle;\\r\\n cursor:pointer;\\r\\n}\\r\\n.footer-nav ul li > span.left{\\r\\n border-right:none;\\r\\n transform:rotate(45deg);\\r\\n}\\r\\n.footer-nav ul li > span.right{\\r\\n border-left:none;\\r\\n transform:rotate(-45deg);\\r\\n}\\r\\n.footer-nav ul li > span.disabled{\\r\\n cursor:default;\\r\\n border-color:rgba(255, 255, 255, 0.5);\\r\\n}\\r\\n/* test css */\\r\\n.rotate-clockwise{\\r\\n animation:rotate-center 5s linear infinite both;\\r\\n}\\r\\n@keyframes rotate-center{\\r\\n 0%{\\r\\n transform-box:fill-box;\\r\\n transform-origin:center;\\r\\n transform:rotate(0);\\r\\n }\\r\\n 100%{\\r\\n transform-box:fill-box;\\r\\n transform-origin:center;\\r\\n transform:rotate(360deg);\\r\\n }\\r\\n}\\r\\n/* REPONSIVE CSS :: START */\\r\\n@media screen and (max-height:740px){\\r\\n .sotry-content-wrapper>div{\\r\\n padding-bottom:40px;\\r\\n }\\r\\n .sotry-content-wrapper .content h2{\\r\\n font-size:30px;\\r\\n }\\r\\n .sotry-content-wrapper .content h3{\\r\\n font-size:28px;\\r\\n }\\r\\n .sotry-content-wrapper .content p{\\r\\n font-size:18px;\\r\\n }\\r\\n .file-stack:after{\\r\\n height:50px;\\r\\n }\\r\\n .file-stack .file{\\r\\n max-width:330px;\\r\\n }\\r\\n .file p{\\r\\n margin:0;\\r\\n font-size:13px;\\r\\n }\\r\\n .sotry-content-wrapper>div.slide-5 .content p.action-note{\\r\\n margin-bottom:20px;\\r\\n }\\r\\n .sotry-content-wrapper>div.slide-6 .content{\\r\\n width:65%;\\r\\n }\\r\\n .nlp-wrapper .tags-wrapper{\\r\\n max-width:490px;\\r\\n }\\r\\n .tags-wrapper .tags-block{\\r\\n font-size:15px;\\r\\n }\\r\\n .tags-block > span.tag{\\r\\n margin:0 5px 5px;\\r\\n }\\r\\n .file-stack ul.label-list{\\r\\n top:80px;\\r\\n }\\r\\n .nlp-wrapper + .btn-light{\\r\\n margin-top:10px;\\r\\n }\\r\\n .slide-6 .content > .left-list{\\r\\n padding:0 40px;\\r\\n }\\r\\n ul.list li{\\r\\n font-size:20px;\\r\\n line-height:22px;\\r\\n margin-bottom:15px;\\r\\n padding:15px;\\r\\n }\\r\\n .slide-6 .content > .benefits{\\r\\n padding:0 40px;\\r\\n }\\r\\n .benefits h3,\\r\\n .benefits ul li{\\r\\n margin-bottom:15px;\\r\\n }\\r\\n .sotry-content-wrapper .content p{\\r\\n font-size:16px;\\r\\n }\\r\\n .sotry-content-wrapper .content .btn-light,\\r\\n .sotry-content-wrapper .content .btn-light:active,\\r\\n .sotry-content-wrapper .content .btn-light:focus{\\r\\n font-size:18px;\\r\\n padding:10px 15px;\\r\\n }\\r\\n .sotry-content-wrapper .content .btn-light>img{\\r\\n height:20px;\\r\\n }\\r\\n .footer-nav{\\r\\n bottom:5px;\\r\\n }\\r\\n .footer-nav ul li{\\r\\n height:26px;\\r\\n width:160px;\\r\\n font-size:15px;\\r\\n line-height:26px;\\r\\n }\\r\\n .footer-nav ul li > span{\\r\\n width:16px;\\r\\n height:16px;\\r\\n border-width:4px;\\r\\n }\\r\\n}\\r\\n/* REPONSIVE CSS :: END */\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9maWVsZC1jb2FjaGluZy9maWVsZC1jb2FjaGluZy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztJQUVJLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixrQkFBa0I7Q0FDckI7QUFDRDtJQUNJLGtCQUFrQjtDQUNyQjtBQUNEO0lBQ0ksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sU0FBUztJQUNULFVBQVU7SUFDVixRQUFRO0lBQ1IsV0FBVztJQUNYLFVBQVU7SUFLViw4R0FBOEc7SUFDOUcsbUhBQW1IO0lBQ25ILGlDQUFpQztJQUNqQyx1QkFBdUI7Q0FDMUI7QUFDRDtJQUNJLFVBQVU7SUFDVixTQUFTO0lBQ1QsdUJBQXVCO0NBQzFCO0FBQ0Q7SUFDSSxlQUFlO0NBQ2xCO0FBQ0Q7SUFDSSxhQUFhO0lBQ2IsZUFBZTtJQUNmLFVBQVU7SUFLViwyREFBMkQ7SUFDM0QsbUhBQW1IO0NBQ3RIO0FBRUQ7SUFDSSxjQUFjO0NBQ2pCO0FBQ0Q7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QixhQUFhO0lBQ2IsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLE9BQU87Q0FDVjtBQUNEO0lBQ0ksVUFBVTtDQUNiO0FBQ0Q7SUFDSSxvQkFBb0I7Q0FDdkI7QUFDRDs7SUFFSSw4QkFBOEI7Q0FDakM7QUFDRDtJQUNJLFVBQVU7Q0FDYjtBQUNEO0lBQ0ksVUFBVTtJQUNWLDBCQUEwQjtDQUM3QjtBQUNEO0lBQ0ksVUFBVTtDQUNiO0FBQ0Q7OztJQUdJLDJCQUEyQjtJQUMzQixVQUFVO0lBQ1YsaUNBQWlDO0NBQ3BDO0FBQ0Q7SUFDSSx5QkFBeUI7SUFDekIsZUFBZTtJQUNmLG1CQUFtQjtDQUN0QjtBQUNEO0lBQ0ksNEJBQTRCO0lBQzVCLGVBQWU7SUFDZix1QkFBdUI7Q0FDMUI7QUFDRDtJ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O0lBQ0k7UUFDSSxvQkFBb0I7S0FDdkI7SUFDRDtRQUNJLGVBQWU7S0FDbEI7SUFDRDtRQUNJLGVBQWU7S0FDbEI7SUFDRDtRQUNJLGVBQWU7S0FDbEI7SUFDRDtRQUNJLFlBQVk7S0FDZjtJQUNEO1FBQ0ksZ0JBQWdCO0tBQ25CO0lBQ0Q7UUFDSSxTQUFTO1FBQ1QsZUFBZTtLQUNsQjtJQUNEO1FBQ0ksbUJBQW1CO0tBQ3RCO0lBQ0Q7UUFDSSxVQUFVO0tBQ2I7SUFDRDtRQUNJLGdCQUFnQjtLQUNuQjtJQUNEO1FBQ0ksZUFBZTtLQUNsQjtJQUNEO1FBQ0ksaUJBQWlCO0tBQ3BCO0lBQ0Q7UUFDSSxTQUFTO0tBQ1o7SUFDRDtRQUNJLGdCQUFnQjtLQUNuQjtJQUNEO1FBQ0ksZUFBZTtLQUNsQjtJQUNEO1FBQ0ksZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixtQkFBbUI7UUFDbkIsYUFBYTtLQUNoQjtJQUNEO1FBQ0ksZUFBZTtLQUNsQjtJQUNEOztRQUVJLG1CQUFtQjtLQUN0QjtJQUNEO1FBQ0ksZUFBZTtLQUNsQjtJQUNEOzs7UUFHSSxlQUFlO1FBQ2Ysa0JBQWtCO0tBQ3JCO0lBQ0Q7UUFDSSxZQUFZO0tBQ2Y7SUFDRDtRQUNJLFdBQVc7S0FDZDtJQUNEO1FBQ0ksWUFBWTtRQUNaLFlBQVk7UUFDWixlQUFlO1FBQ2YsaUJBQWlCO0tBQ3BCO0lBQ0Q7UUFDSSxXQUFXO1FBQ1gsWUFBWTtRQUNaLGlCQUFpQjtLQUNwQjtDQUNKO0FBQ0QsMkJBQTJCIiwiZmlsZSI6InNyYy9hcHAvd2lkZ2V0cy9maWVsZC1jb2FjaGluZy9maWVsZC1jb2FjaGluZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmlubmVyLXBhZ2Utd3JhcHBlci5maWVsZC1zdG9yeSAjc2Nyb2xsLWNvbnRhaW5lcixcclxuLmZpZWxkLWNvYWNoaW5nLXN2Zy13cmFwcGVyICNzdmctd3JhcHBlcntcclxuICAgIG1heC1oZWlnaHQ6MTAwdmg7XHJcbiAgICBtaW4taGVpZ2h0OjEwMHZoO1xyXG4gICAgd2lkdGg6MTAwdnc7XHJcbiAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxufVxyXG4uZmllbGQtY29hY2hpbmctc3ZnLXdyYXBwZXJ7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxufVxyXG4uZmllbGQtY29hY2hpbmctc3ZnLXdyYXBwZXI6YmVmb3Jle1xyXG4gICAgY29udGVudDpcIlwiO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICB0b3A6MDtcclxuICAgIGJvdHRvbTowO1xyXG4gICAgbGVmdDoxMDAlO1xyXG4gICAgcmlnaHQ6MDtcclxuICAgIHotaW5kZXg6LTE7XHJcbiAgICBvcGFjaXR5OjA7XHJcbiAgICBiYWNrZ3JvdW5kOi1tb3otbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDUlLCByZ2JhKDEzNCwxODgsMjExLDAuMzcpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSA5NSUpO1xyXG4gICAgYmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSA1JSwgcmdiYSgxMzQsMTg4LDIxMSwwLjM3KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgOTUlKTtcclxuICAgIGJhY2tncm91bmQ6LW8tbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDUlLCByZ2JhKDEzNCwxODgsMjExLDAuMzcpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSA5NSUpO1xyXG4gICAgYmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDUlLCByZ2JhKDEzNCwxODgsMjExLDAuMzcpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSA5NSUpO1xyXG4gICAgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSA1JSwgcmdiYSgxMzQsMTg4LDIxMSwwLjM3KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgOTUlKTtcclxuICAgIGZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNGRkZGRkYnLCBlbmRDb2xvcnN0cj0nI0ZGRkZGRicsR3JhZGllbnRUeXBlPTAgKTtcclxuICAgIHRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheToyMDBtcztcclxufVxyXG4uZmllbGQtY29hY2hpbmctc3ZnLXdyYXBwZXIuc2xpZGUtNi1hY3RpdmU6YmVmb3Jle1xyXG4gICAgb3BhY2l0eToxO1xyXG4gICAgbGVmdDo2MiU7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OjcwMG1zO1xyXG59XHJcbi5maWVsZC1zdG9yeSAubWF0LXRvb2x0aXB7XHJcbiAgICBmb250LXNpemU6MTJweDtcclxufVxyXG4uZmllbGQtY29hY2hpbmctc3ZnLXdyYXBwZXJ7XHJcbiAgICBoZWlnaHQ6MTAwdmg7XHJcbiAgICBwb3NpdGlvbjpmaXhlZDtcclxuICAgIHotaW5kZXg6MDtcclxuICAgIGJhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQoOTBkZWcsICM3OUJFQjkgMCUsICMwMDYyOUIgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjNzlCRUI5IDAlLCAjMDA2MjlCIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQoOTBkZWcsICM3OUJFQjkgMCUsICMwMDYyOUIgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOi1tcy1saW5lYXItZ3JhZGllbnQoOTBkZWcsICM3OUJFQjkgMCUsICMwMDYyOUIgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgwZGVnLCAjNzlCRUI5IDAlLCAjMDA2MjlCIDEwMCUpO1xyXG4gICAgZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwNjI5QicsIGVuZENvbG9yc3RyPScjNzlCRUI5JyxHcmFkaWVudFR5cGU9MCApO1xyXG59XHJcblxyXG4uc290cnktY29udGVudC13cmFwcGVye1xyXG4gICAgY29sb3I6I0ZGRkZGRjtcclxufVxyXG4uc290cnktY29udGVudC13cmFwcGVyPmRpdntcclxuICAgIGRpc3BsYXk6ZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDpmbGV4LWVuZDtcclxuICAgIGhlaWdodDoxMDB2aDtcclxuICAgIHdpZHRoOjEwMHZ3O1xyXG4gICAgcGFkZGluZzo2MHB4IDQwcHg7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIHRvcDowO1xyXG4gICAgbGVmdDowO1xyXG59XHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXI+ZGl2LmFuaW1hdGUtaW57XHJcbiAgICB6LWluZGV4OjI7XHJcbn1cclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlcj5kaXYuc2xpZGUtNntcclxuICAgIHBhZGRpbmc6NzBweCAwIDYwcHg7XHJcbn1cclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlcj5kaXYuc2xpZGUtNCxcclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlcj5kaXYuc2xpZGUtNXtcclxuICAgIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO1xyXG59XHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXI+ZGl2IC5jb250ZW50e1xyXG4gICAgd2lkdGg6NDElO1xyXG59XHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXI+ZGl2LnNsaWRlLTMgLmNvbnRlbnR7XHJcbiAgICB3aWR0aDozNiU7XHJcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSg2MCUpO1xyXG59XHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXI+ZGl2LnNsaWRlLTQgLmNvbnRlbnR7XHJcbiAgICB3aWR0aDozNSU7XHJcbn1cclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCBoMixcclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCBoMyxcclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCBwe1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICBvcGFjaXR5OjA7XHJcbiAgICB0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlLWluLW91dDtcclxufVxyXG4uc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IGgye1xyXG4gICAgZm9udC1mYW1pbHk6J0RJTlByb0JvbGQnO1xyXG4gICAgZm9udC1zaXplOjQwcHg7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OjA7XHJcbn1cclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCBoM3tcclxuICAgIGZvbnQtZmFtaWx5OidESU5Qcm9SZWd1bGFyJztcclxuICAgIGZvbnQtc2l6ZTo0MHB4O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheToyMDBtcztcclxufVxyXG4uc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IGg0e1xyXG4gICAgZm9udC1mYW1pbHk6J0RJTlByb01lZGl1bSc7XHJcbiAgICBmb250LXNpemU6MjdweDtcclxufVxyXG4uc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IHB7XHJcbiAgICBtYXJnaW46MDtcclxuICAgIGZvbnQtc2l6ZToyMHB4O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTo0MDBtcztcclxufVxyXG4uc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IC5idG4tbGlnaHQsXHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLmJ0bi1saWdodDphY3RpdmUsXHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLmJ0bi1saWdodDpmb2N1c3tcclxuICAgIGZvbnQtZmFtaWx5OidESU5Qcm9NZWRpdW0nO1xyXG4gICAgZm9udC1zaXplOjIycHg7XHJcbiAgICBjb2xvcjojRUQ4QjAwO1xyXG4gICAgYm94LXNoYWRvdzowIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcclxufVxyXG4uc290cnktY29udGVudC13cmFwcGVyIC5hbmltYXRlLWluIC5jb250ZW50IGgyLFxyXG4uc290cnktY29udGVudC13cmFwcGVyIC5hbmltYXRlLWluIC5jb250ZW50IGgzLFxyXG4uc290cnktY29udGVudC13cmFwcGVyIC5hbmltYXRlLWluIC5jb250ZW50IHB7XHJcbiAgICBvcGFjaXR5OjE7XHJcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSk7XHJcbn1cclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuYW5pbWF0ZS1vdXQgLmNvbnRlbnQgaDIsXHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmFuaW1hdGUtb3V0IC5jb250ZW50IGgzLFxyXG4uc290cnktY29udGVudC13cmFwcGVyIC5hbmltYXRlLW91dCAuY29udGVudCBwe1xyXG4gICAgb3BhY2l0eTowO1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7XHJcbn1cclxuXHJcbi5zbGlkZS00IC5maWxlLXdyYXBwZXJ7XHJcbiAgICB0cmFuc2Zvcm06c2tld1koLTVkZWcpO1xyXG59XHJcbi5maWxlLXN0YWNre1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbn1cclxuLmZpbGUtc3RhY2s6YWZ0ZXJ7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICBoZWlnaHQ6OTBweDtcclxuICAgIGJhY2tncm91bmQ6I0UwRTBFMDtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgei1pbmRleDotMTtcclxuICAgIGJvcmRlci1yYWRpdXM6NTAlO1xyXG4gICAgYm90dG9tOjBweDtcclxuICAgIGxlZnQ6LTMwcHg7XHJcbiAgICByaWdodDotMzBweDtcclxuICAgIG9wYWNpdHk6MC4yO1xyXG4gICAgdHJhbnNmb3JtOnNjYWxlKDApIHRyYW5zbGF0ZVkoNTAlKTtcclxuICAgIHRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5maWxlLXN0YWNrLmxhYmVsbGVkLWZpbGUgLmZpbGUtb3V0ZXI6YmVmb3Jle1xyXG4gICAgY29udGVudDpcIlwiO1xyXG4gICAgd2lkdGg6MjVweDtcclxuICAgIHRvcDoyMHB4O1xyXG4gICAgYm90dG9tOjIwcHg7XHJcbiAgICBsZWZ0Oi0yNXB4O1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBib3JkZXI6MnB4IGRhc2hlZCAjRUQ4QjAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0Om5vbmU7XHJcbn1cclxuLmZpbGUtc3RhY2subGFiZWxsZWQtZmlsZSAuZmlsZS1vdXRlciAuZmlsZS1oZWFkZXI+ZGl2e1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojRUQ4QjAwO1xyXG59XHJcbi5maWxlLXN0YWNrIHVsLmxhYmVsLWxpc3R7XHJcbiAgICBtYXJnaW46MDtcclxuICAgIHBhZGRpbmc6MDtcclxuICAgIGxpc3Qtc3R5bGU6bm9uZTtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgdG9wOjUwcHg7XHJcbiAgICBsZWZ0Oi0xMzhweDtcclxuICAgIHRyYW5zZm9ybTpzY2FsZSgwLCAxKTtcclxuICAgIHRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjpyaWdodDtcclxufVxyXG4uYW5pbWF0ZS1pbiAuZmlsZS1zdGFjayB1bC5sYWJlbC1saXN0e1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTo2MDBtcztcclxuICAgIHRyYW5zZm9ybTpzY2FsZSgxLCAxKTtcclxufVxyXG4uYW5pbWF0ZS1vdXQgLmZpbGUtc3RhY2sgdWwubGFiZWwtbGlzdHtcclxuICAgIG9wYWNpdHk6MDtcclxuICAgIHRyYW5zZm9ybTpzY2FsZSgwLCAxKTtcclxufVxyXG51bC5sYWJlbC1saXN0IGxpe1xyXG4gICAgZm9udC1mYW1pbHk6J0RJTlByb01lZGl1bSc7XHJcbiAgICBmb250LXNpemU6MTVweDtcclxuICAgIGNvbG9yOiNGRkZGRkY7XHJcbiAgICBsaW5lLWhlaWdodDoyMnB4O1xyXG59XHJcbnVsLmxhYmVsLWxpc3QgbGk6Zmlyc3QtY2hpbGR7XHJcbiAgICB3aWR0aDoxMTRweDtcclxuICAgIG1hcmdpbi1ib3R0b206MTBweDtcclxuICAgIHBhZGRpbmc6MCAyMHB4IDVweCAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbToycHggZGFzaGVkICNFRDhCMDA7XHJcbn1cclxudWwubGFiZWwtbGlzdCBsaS5sYWJlbHtcclxuICAgIHdpZHRoOjk0cHg7XHJcbiAgICBoZWlnaHQ6MjRweDtcclxuICAgIHBhZGRpbmctbGVmdDo1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOjEwcHg7XHJcbiAgICBmb250LWZhbWlseTonRElOUHJvQm9sZCc7XHJcbiAgICBmb250LXNpemU6MTJweDtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG59XHJcbnVsLmxhYmVsLWxpc3QgbGkubGFiZWw6YWZ0ZXJ7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgaGVpZ2h0OjJweDtcclxuICAgIGJvcmRlci1ib3R0b206MnB4IGRhc2hlZCAjRUQ4QjAwO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICB0b3A6MTBweDtcclxuICAgIGxlZnQ6MjBweDtcclxuICAgIHotaW5kZXg6LTE7XHJcbn1cclxudWwubGFiZWwtbGlzdCBsaS5sYWJlbC5pbnZhbGlke1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojRTU1QTVGO1xyXG59XHJcbnVsLmxhYmVsLWxpc3QgbGkubGFiZWwudmFsaWR7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiMwMEQxNTk7XHJcbn1cclxuLmZpbGUtd3JhcHBlciAuZmlsZS1zdGFjazphZnRlcntcclxuICAgIGhlaWdodDoxMDBweDtcclxuICAgIGJvdHRvbTotMjBweDtcclxuICAgIHJpZ2h0Oi04MHB4O1xyXG59XHJcbmkuaWNvbntcclxuICAgIGhlaWdodDoxNnB4O1xyXG4gICAgd2lkdGg6MTZweDtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luOjNweCA1cHggM3B4IDA7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XHJcbn1cclxuaS5pY29uLmluZm97XHJcbiAgICBiYWNrZ3JvdW5kOnVybChcIi9hc3NldHMvaW1hZ2VzL2ZpZWxkLWNvYWNoaW5nL2luZm8taWNvbi5wbmdcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XHJcbn1cclxuLmFuaW1hdGUtaW4gLmZpbGUtc3RhY2s6YWZ0ZXJ7XHJcbiAgICB0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSg1MCUpO1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheToyMDBtcztcclxufVxyXG4uYW5pbWF0ZS1vdXQgLmZpbGUtc3RhY2t7XHJcbiAgICBvcGFjaXR5OjA7XHJcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7XHJcbn1cclxuXHJcbi5maWxlLXN0YWNrIC5maWxlLW91dGVye1xyXG4gICAgYm9yZGVyOiMwMDAgMXB4IHNvbGlkO1xyXG4gICAgYm94LXNoYWRvdzotMnB4IC0ycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNik7XHJcbiAgICBvcGFjaXR5OjA7XHJcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMDAlLCAtMjAlKTtcclxuICAgIHRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5zbGlkZS01IC5maWxlLXN0YWNrIC5maWxlLW91dGVye1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgxMDAlLCAwJSk7XHJcbn1cclxuLnNsaWRlLTUuYW5pbWF0ZS1pbiAuZmlsZS1zdGFjayAuZmlsZS1vdXRlcjpmaXJzdC1jaGlsZHtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6MzAwbXM7XHJcbn1cclxuLmFuaW1hdGUtaW4gLmZpbGUtc3RhY2sgLmZpbGUtb3V0ZXJ7XHJcbiAgICBvcGFjaXR5OjE7XHJcbn1cclxuLmZpbGUtc3RhY2sgLmZpbGUtb3V0ZXI6bm90KDpmaXJzdC1jaGlsZCl7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIHRvcDowO1xyXG59XHJcbi5hbmltYXRlLWluIC5maWxlLXN0YWNrIC5maWxlLW91dGVyOmZpcnN0LWNoaWxke1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgwcHgsIDBweCk7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OjgwMG1zO1xyXG59XHJcbi5hbmltYXRlLWluIC5maWxlLXN0YWNrIC5maWxlLW91dGVyOm50aC1jaGlsZCgyKXtcclxuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoMTBweCwgMTBweCk7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OjYwMG1zO1xyXG59XHJcbi5hbmltYXRlLWluIC5maWxlLXN0YWNrIC5maWxlLW91dGVyOm50aC1jaGlsZCgzKXtcclxuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoMjBweCwgMjBweCk7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OjQwMG1zO1xyXG59XHJcbi5hbmltYXRlLWluIC5maWxlLXN0YWNrIC5maWxlLW91dGVyOm50aC1jaGlsZCg0KXtcclxuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoMzBweCwgMzBweCk7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OjIwMG1zO1xyXG59XHJcbi5hbmltYXRlLWluIC5maWxlLXN0YWNrIC5maWxlLW91dGVyOm50aC1jaGlsZCg1KXtcclxuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoNDBweCwgNDBweCk7XHJcbn1cclxuLmZpbGUtb3V0ZXIgLmZpbGUtaGVhZGVye1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgaGVpZ2h0OjE4cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiM1MzU2NUE7XHJcbiAgICBib3JkZXI6IzUzNTY1QSAxMHB4IHNvbGlkO1xyXG4gICAgYm9yZGVyLWJvdHRvbTpub25lO1xyXG59XHJcbi5maWxlLW91dGVyOm5vdCg6bGFzdC1jaGlsZCkgLmZpbGUtaGVhZGVye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojNzQ3NDc0O1xyXG4gICAgYm9yZGVyLWNvbG9yOiM3NDc0NzQ7XHJcbn1cclxuLmZpbGUtb3V0ZXI6bm90KDpsYXN0LWNoaWxkKSAuZmlsZS1oZWFkZXI+ZGl2e1xyXG4gICAgYm9yZGVyLWNvbG9yOiM3NDc0NzQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiM1MzU2NUE7XHJcbn1cclxuXHJcbi5maWxlLWhlYWRlciA+IGRpdntcclxuICAgIHdpZHRoOjIzcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7XHJcbiAgICBib3JkZXItbGVmdDozcHggIzUzNTY1QSBzb2xpZDtcclxufVxyXG4uZmlsZS1oZWFkZXIgPiBkaXY6Zmlyc3QtY2hpbGR7XHJcbiAgICB3aWR0aDoyMHB4O1xyXG4gICAgYm9yZGVyOm5vbmU7XHJcbn1cclxuLmZpbGUtaGVhZGVyID4gZGl2Omxhc3QtY2hpbGR7XHJcbiAgICBmbGV4OjE7XHJcbiAgICBib3JkZXItd2lkdGg6MjZweDtcclxufVxyXG4uZmlsZS1zdGFjayAuZmlsZXtcclxuICAgIG1heC13aWR0aDozNzBweDtcclxuICAgIHBhZGRpbmc6MjBweDtcclxuICAgIGNvbG9yOiM1MzU2NUE7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNGRkZGRkY7XHJcbiAgICBib3JkZXI6IzUzNTY1QSAxMHB4IHNvbGlkO1xyXG59XHJcbi5maWxlLW91dGVyOm5vdCg6bGFzdC1jaGlsZCkgLmZpbGV7XHJcbiAgICBib3JkZXItY29sb3I6Izc0NzQ3NDtcclxufVxyXG5cclxuLmZpbGUgaDR7XHJcbiAgICBmb250LWZhbWlseTonRElOUHJvQm9sZCc7XHJcbiAgICBmb250LXNpemU6MThweDtcclxuICAgIGxpbmUtaGVpZ2h0OjIycHg7XHJcbn1cclxuLmZpbGUgcHtcclxuICAgIGZvbnQtZmFtaWx5OidESU5Qcm9NZWRpdW0nO1xyXG4gICAgZm9udC1zaXplOjE1cHg7XHJcbn1cclxuXHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXI+ZGl2LnNsaWRlLTUgLmNvbnRlbnR7XHJcbiAgICB3aWR0aDphdXRvO1xyXG4gICAgbWFyZ2luOjAgMzBweDtcclxufVxyXG4uc290cnktY29udGVudC13cmFwcGVyPmRpdi5zbGlkZS01IC5jb250ZW50IHAuYWN0aW9uLW5vdGV7XHJcbiAgICBtYXJnaW4tYm90dG9tOjQ1cHg7XHJcbn1cclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlcj5kaXYuc2xpZGUtNiAuY29udGVudHtcclxuICAgIGhlaWdodDoxMDAlO1xyXG4gICAgd2lkdGg6NjAlO1xyXG4gICAgZmxleDoxO1xyXG59XHJcbi5zbGlkZS01IC5jb250ZW50e1xyXG4gICAgb3BhY2l0eTowO1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICB0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6NTAwbXM7XHJcbn1cclxuLnNsaWRlLTUuYW5pbWF0ZS1pbiAuY29udGVudHtcclxuICAgIG9wYWNpdHk6MTtcclxuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO1xyXG59XHJcbi5zbGlkZS01LmFuaW1hdGUtb3V0IC5jb250ZW50e1xyXG4gICAgb3BhY2l0eTowO1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTMwJSk7XHJcbn1cclxuXHJcbi8qICAgU3dpdGNoIFN0eWVzICAgICAqL1xyXG4uc3dpdGNoe1xyXG4gICAgaGVpZ2h0OjI0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOjIwcHg7XHJcbiAgICBmb250LWZhbWlseTonRElOUHJvTWVkaXVtJztcclxuICAgIGZvbnQtc2l6ZToxOHB4O1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XHJcbn1cclxuLnN3aXRjaCBpbnB1dHtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxufVxyXG4uc2xpZGVye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojQzFDNkM4O1xyXG4gICAgY3Vyc29yOnBvaW50ZXI7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIHdpZHRoOjQ0cHg7XHJcbiAgICBoZWlnaHQ6MTZweDtcclxuICAgIG1hcmdpbi1yaWdodDoxMHB4O1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICBib3JkZXItcmFkaXVzOjM0cHg7XHJcbiAgICB0cmFuc2l0aW9uOmFsbCAwLjRzIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5zbGlkZXI6YmVmb3Jle1xyXG4gICAgY29udGVudDpcIlwiO1xyXG4gICAgaGVpZ2h0OjI0cHg7XHJcbiAgICB3aWR0aDoyNHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czo1MCU7XHJcbiAgICBib3JkZXI6N3B4IHNvbGlkICNGRkZGRkY7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNDMUM2Qzg7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIHRvcDotNHB4O1xyXG4gICAgbGVmdDowO1xyXG4gICAgdHJhbnNpdGlvbjphbGwgMC40cyBlYXNlLWluLW91dDtcclxufVxyXG5pbnB1dDpjaGVja2VkICsgLnNsaWRlcjpiZWZvcmV7XHJcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6I0VEOEIwMDtcclxufVxyXG4vKiAgIFN3aXRjaCBTdHllcyAgICAgKi9cclxuXHJcbi5ubHAtd3JhcHBlcntcclxuICAgIHBhZGRpbmctbGVmdDo2MHB4O1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbn1cclxuLm5scC13cmFwcGVyIC5zdmctbnBsLXdyYXBwZXJ7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIGxlZnQ6MHB4O1xyXG59XHJcbi5ubHAtd3JhcHBlciArIC5idG4tbGlnaHR7XHJcbiAgICBtYXJnaW46NjVweCAwIDAgNjBweDtcclxufVxyXG4ubmxwLXdyYXBwZXIgLnRhZ3Mtd3JhcHBlcntcclxuICAgIG1heC13aWR0aDo2NzBweDtcclxuICAgIG1hcmdpbi10b3A6MjBweDtcclxufVxyXG4udGFncy13cmFwcGVyIC50YWdzLWJsb2Nre1xyXG4gICAgcGFkZGluZzo4cHggMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206MTVweDtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgZm9udC1zaXplOjE3cHg7XHJcbiAgICBjb2xvcjojRkZGRkZGO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDcsIDUyLCA2MiwgMC44KTtcclxuICAgIHRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcbi50YWdzLXdyYXBwZXIgLnRhZ3MtYmxvY2suaGlkZGVue1xyXG4gICAgb3BhY2l0eTowO1xyXG59XHJcbi50YWdzLWJsb2NrID4gc3BhbntcclxuICAgIGhlaWdodDoyMHB4O1xyXG4gICAgbWFyZ2luOjAgMTBweCA1cHggMTBweDtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbn1cclxuLnRhZ3MtYmxvY2sgPiBzcGFuLnRhZ3tcclxuICAgIHBhZGRpbmctbGVmdDoxNXB4O1xyXG59XHJcbnNwYW4udGFnOmJlZm9yZXtcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIHdpZHRoOjEwcHg7XHJcbiAgICBoZWlnaHQ6MTBweDtcclxuICAgIG1hcmdpbi10b3A6LTRweDtcclxuICAgIGJvcmRlci1yYWRpdXM6NXB4O1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICB0b3A6NTAlO1xyXG59XHJcblxyXG4udGFnLmRydWc6YmVmb3JlLFxyXG4uZmlsZS5hY3RpdmUgc3Bhbi5kcnVne1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojRkNERURFO1xyXG59XHJcbi50YWcuZ3JlYXQtam9iOmJlZm9yZSxcclxuLmZpbGUuYWN0aXZlIHNwYW4uZ3JlYXQtam9ie1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojRjI4Q0E1O1xyXG59XHJcbi50YWcud29yazpiZWZvcmUsXHJcbi5maWxlLmFjdGl2ZSBzcGFuLndvcmt7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNGQUMwOTc7XHJcbn1cclxuLnRhZy5xdWVzdGlvbjpiZWZvcmUsXHJcbi5maWxlLmFjdGl2ZSBzcGFuLnF1ZXN0aW9ue1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojRkZGMDhDO1xyXG59XHJcbi50YWcucGxhbm5pbmc6YmVmb3JlLFxyXG4uZmlsZS5hY3RpdmUgc3Bhbi5wbGFubmluZ3tcclxuICAgIGJhY2tncm91bmQtY29sb3I6IzlERDlBNTtcclxufVxyXG4udGFnLmtub3c6YmVmb3JlLFxyXG4uZmlsZS5hY3RpdmUgc3Bhbi5rbm93e1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojN0ZCRkJGO1xyXG59XHJcbi50YWcubnVtZXJpYzpiZWZvcmUsXHJcbi5maWxlLmFjdGl2ZSBzcGFuLm51bWVyaWN7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNBMkY3Rjc7XHJcbn1cclxuLnRhZy5hc2s6YmVmb3JlLFxyXG4uZmlsZS5hY3RpdmUgc3Bhbi5hc2t7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiM3RkMwRTM7XHJcbn1cclxuLnRhZy5wYXRpZW50OmJlZm9yZSxcclxuLmZpbGUuYWN0aXZlIHNwYW4ucGF0aWVudHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6I0YyREVGRjtcclxufVxyXG4udGFnLmZpZWxkLXZpc2l0OmJlZm9yZSxcclxuLmZpbGUuYWN0aXZlIHNwYW4uZmllbGQtdmlzaXR7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNGNzk4RjI7XHJcbn1cclxuLnRhZy50aGFuazpiZWZvcmUsXHJcbi5maWxlLmFjdGl2ZSBzcGFuLnRoYW5re1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojQkZCRkJGO1xyXG59XHJcblxyXG5cclxuLnNsaWRlLTYgLmNvbnRlbnQgdWx7XHJcbiAgICBtYXJnaW46MDtcclxuICAgIHBhZGRpbmc6MDtcclxuICAgIGxpc3Qtc3R5bGU6bm9uZTtcclxufVxyXG4uc2xpZGUtNiAubGVmdC1saXN0e1xyXG4gICAgb3BhY2l0eTowO1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICB0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6MjAwbXM7XHJcbn1cclxuLnNsaWRlLTYuYW5pbWF0ZS1pbiAubGVmdC1saXN0e1xyXG4gICAgb3BhY2l0eToxO1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7XHJcbn1cclxuLnNsaWRlLTYuYW5pbWF0ZS1vdXQgLmxlZnQtbGlzdHtcclxuICAgIG9wYWNpdHk6MDtcclxuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC0zMCUpO1xyXG59XHJcbnVsLmxpc3QgbGl7XHJcbiAgICBtYXJnaW4tYm90dG9tOjIwcHg7XHJcbiAgICBwYWRkaW5nOjIwcHggMTVweDtcclxuICAgIGZvbnQtZmFtaWx5OidESU5Qcm9NZWRpdW0nO1xyXG4gICAgZm9udC1zaXplOjI0cHg7XHJcbiAgICBsaW5lLWhlaWdodDoyOHB4O1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246Y29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcclxuICAgIGJhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwLjMpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDAuMykgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDAuMykgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOi1tcy1saW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwLjMpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMC4zKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcclxuICAgIGZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNGRkZGRkYnLCBlbmRDb2xvcnN0cj0nI0ZGRkZGRicsR3JhZGllbnRUeXBlPTEgKTtcclxufVxyXG51bC5saXN0IGxpPnNwYW57XHJcbiAgICBtYXJnaW4tdG9wOjNweDtcclxuICAgIGZvbnQtZmFtaWx5OidESU5Qcm9SZWd1bGFyJztcclxuICAgIGZvbnQtc2l6ZToxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6MThweDtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbn1cclxuLnNsaWRlLTYgLmNvbnRlbnQgPiAubGVmdC1saXN0e1xyXG4gICAgd2lkdGg6MjglO1xyXG4gICAgcGFkZGluZzowIDYwcHg7XHJcbn1cclxuLnNsaWRlLTYgLmNvbnRlbnQgPiAuYmVuZWZpdHN7XHJcbiAgICB3aWR0aDozOCU7XHJcbiAgICBwYWRkaW5nOjAgNjBweDtcclxuICAgIC8qIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcclxuICAgIG9wYWNpdHk6MDtcclxuICAgIHRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheToyMDBtczsgKi9cclxufVxyXG4vKiAuc2xpZGUtNi5hbmltYXRlLWluIC5jb250ZW50ID4gLmJlbmVmaXRze1xyXG4gICAgb3BhY2l0eToxO1xyXG59XHJcbi5zbGlkZS02LmFuaW1hdGUtb3V0IC5jb250ZW50ID4gLmJlbmVmaXRze1xyXG4gICAgb3BhY2l0eTowO1xyXG59ICovXHJcbi5iZW5lZml0cyBoM3tcclxuICAgIG1hcmdpbi1ib3R0b206MjVweDtcclxufVxyXG4uYmVuZWZpdHMgdWwgbGl7XHJcbiAgICBtYXJnaW4tYm90dG9tOjMwcHg7XHJcbn1cclxuLmJlbmVmaXRzIHB7XHJcbiAgICBtYXJnaW46NXB4IDA7XHJcbn1cclxuLmJlbmVmaXRzIHAgPiBzcGFue1xyXG4gICAgZm9udC1mYW1pbHk6J0RJTlByb0JvbGQnO1xyXG59XHJcblxyXG5cclxuLmZvb3Rlci1uYXZ7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgcGFkZGluZzowIDI1cHg7XHJcbiAgICBwb3NpdGlvbjpmaXhlZDtcclxuICAgIGJvdHRvbToxMHB4O1xyXG4gICAgei1pbmRleDozO1xyXG59XHJcbi5mb290ZXItbmF2IHVse1xyXG4gICAgbWFyZ2luOjA7XHJcbiAgICBwYWRkaW5nOjA7XHJcbiAgICBsaXN0LXN0eWxlOm5vbmU7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtcclxufVxyXG4uZm9vdGVyLW5hdiB1bCBsaXtcclxuICAgIGhlaWdodDozNnB4O1xyXG4gICAgd2lkdGg6MjAwcHg7XHJcbiAgICBmb250LWZhbWlseTonRElOUHJvTWVkaXVtJztcclxuICAgIGZvbnQtc2l6ZToxOHB4O1xyXG4gICAgY29sb3I6I0ZGRkZGRjtcclxuICAgIGxpbmUtaGVpZ2h0OjM2cHg7XHJcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcclxufVxyXG4uZm9vdGVyLW5hdiB1bCBsaS5hY3RpdmV7XHJcbiAgICBmb250LWZhbWlseTonRElOUHJvQm9sZCc7XHJcbiAgICBjb2xvcjojRUQ4QjAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XHJcbn1cclxuLmZvb3Rlci1uYXYgdWwgbGkgPiBzcGFue1xyXG4gICAgaGVpZ2h0OjI0cHg7XHJcbiAgICB3aWR0aDoyNHB4O1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICBib3JkZXI6NnB4IHNvbGlkIGJsYWNrO1xyXG4gICAgYm9yZGVyLXRvcDpub25lO1xyXG4gICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG4gICAgY3Vyc29yOnBvaW50ZXI7XHJcbn1cclxuLmZvb3Rlci1uYXYgdWwgbGkgPiBzcGFuLmxlZnR7XHJcbiAgICBib3JkZXItcmlnaHQ6bm9uZTtcclxuICAgIHRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xyXG59XHJcbi5mb290ZXItbmF2IHVsIGxpID4gc3Bhbi5yaWdodHtcclxuICAgIGJvcmRlci1sZWZ0Om5vbmU7XHJcbiAgICB0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7XHJcbn1cclxuLmZvb3Rlci1uYXYgdWwgbGkgPiBzcGFuLmRpc2FibGVke1xyXG4gICAgY3Vyc29yOmRlZmF1bHQ7XHJcbiAgICBib3JkZXItY29sb3I6cmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG59XHJcblxyXG4vKiB0ZXN0IGNzcyAqL1xyXG4ucm90YXRlLWNsb2Nrd2lzZXtcclxuICAgIGFuaW1hdGlvbjpyb3RhdGUtY2VudGVyIDVzIGxpbmVhciBpbmZpbml0ZSBib3RoO1xyXG59XHJcbkBrZXlmcmFtZXMgcm90YXRlLWNlbnRlcntcclxuICAgIDAle1xyXG4gICAgICAgIHRyYW5zZm9ybS1ib3g6ZmlsbC1ib3g7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgwKTtcclxuICAgIH1cclxuICAgIDEwMCV7XHJcbiAgICAgICAgdHJhbnNmb3JtLWJveDpmaWxsLWJveDtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjtcclxuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qICBSRVBPTlNJVkUgQ1NTIDo6IFNUQVJUICovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0Ojc0MHB4KXtcclxuICAgIC5zb3RyeS1jb250ZW50LXdyYXBwZXI+ZGl2e1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOjQwcHg7XHJcbiAgICB9XHJcbiAgICAuc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IGgye1xyXG4gICAgICAgIGZvbnQtc2l6ZTozMHB4O1xyXG4gICAgfVxyXG4gICAgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCBoM3tcclxuICAgICAgICBmb250LXNpemU6MjhweDtcclxuICAgIH1cclxuICAgIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgcHtcclxuICAgICAgICBmb250LXNpemU6MThweDtcclxuICAgIH1cclxuICAgIC5maWxlLXN0YWNrOmFmdGVye1xyXG4gICAgICAgIGhlaWdodDo1MHB4O1xyXG4gICAgfVxyXG4gICAgLmZpbGUtc3RhY2sgLmZpbGV7XHJcbiAgICAgICAgbWF4LXdpZHRoOjMzMHB4O1xyXG4gICAgfVxyXG4gICAgLmZpbGUgcHtcclxuICAgICAgICBtYXJnaW46MDtcclxuICAgICAgICBmb250LXNpemU6MTNweDtcclxuICAgIH1cclxuICAgIC5zb3RyeS1jb250ZW50LXdyYXBwZXI+ZGl2LnNsaWRlLTUgLmNvbnRlbnQgcC5hY3Rpb24tbm90ZXtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOjIwcHg7XHJcbiAgICB9XHJcbiAgICAuc290cnktY29udGVudC13cmFwcGVyPmRpdi5zbGlkZS02IC5jb250ZW50e1xyXG4gICAgICAgIHdpZHRoOjY1JTtcclxuICAgIH1cclxuICAgIC5ubHAtd3JhcHBlciAudGFncy13cmFwcGVye1xyXG4gICAgICAgIG1heC13aWR0aDo0OTBweDtcclxuICAgIH1cclxuICAgIC50YWdzLXdyYXBwZXIgLnRhZ3MtYmxvY2t7XHJcbiAgICAgICAgZm9udC1zaXplOjE1cHg7XHJcbiAgICB9XHJcbiAgICAudGFncy1ibG9jayA+IHNwYW4udGFne1xyXG4gICAgICAgIG1hcmdpbjowIDVweCA1cHg7XHJcbiAgICB9XHJcbiAgICAuZmlsZS1zdGFjayB1bC5sYWJlbC1saXN0e1xyXG4gICAgICAgIHRvcDo4MHB4O1xyXG4gICAgfVxyXG4gICAgLm5scC13cmFwcGVyICsgLmJ0bi1saWdodHtcclxuICAgICAgICBtYXJnaW4tdG9wOjEwcHg7XHJcbiAgICB9XHJcbiAgICAuc2xpZGUtNiAuY29udGVudCA+IC5sZWZ0LWxpc3R7XHJcbiAgICAgICAgcGFkZGluZzowIDQwcHg7XHJcbiAgICB9XHJcbiAgICB1bC5saXN0IGxpe1xyXG4gICAgICAgIGZvbnQtc2l6ZToyMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OjIycHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbToxNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6MTVweDtcclxuICAgIH1cclxuICAgIC5zbGlkZS02IC5jb250ZW50ID4gLmJlbmVmaXRze1xyXG4gICAgICAgIHBhZGRpbmc6MCA0MHB4O1xyXG4gICAgfVxyXG4gICAgLmJlbmVmaXRzIGgzLFxyXG4gICAgLmJlbmVmaXRzIHVsIGxpe1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206MTVweDtcclxuICAgIH1cclxuICAgIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgcHtcclxuICAgICAgICBmb250LXNpemU6MTZweDtcclxuICAgIH1cclxuICAgIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLmJ0bi1saWdodCxcclxuICAgIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLmJ0bi1saWdodDphY3RpdmUsXHJcbiAgICAuc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IC5idG4tbGlnaHQ6Zm9jdXN7XHJcbiAgICAgICAgZm9udC1zaXplOjE4cHg7XHJcbiAgICAgICAgcGFkZGluZzoxMHB4IDE1cHg7XHJcbiAgICB9XHJcbiAgICAuc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IC5idG4tbGlnaHQ+aW1ne1xyXG4gICAgICAgIGhlaWdodDoyMHB4O1xyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1uYXZ7XHJcbiAgICAgICAgYm90dG9tOjVweDtcclxuICAgIH1cclxuICAgIC5mb290ZXItbmF2IHVsIGxpe1xyXG4gICAgICAgIGhlaWdodDoyNnB4O1xyXG4gICAgICAgIHdpZHRoOjE2MHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZToxNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OjI2cHg7XHJcbiAgICB9XHJcbiAgICAuZm9vdGVyLW5hdiB1bCBsaSA+IHNwYW57XHJcbiAgICAgICAgd2lkdGg6MTZweDtcclxuICAgICAgICBoZWlnaHQ6MTZweDtcclxuICAgICAgICBib3JkZXItd2lkdGg6NHB4O1xyXG4gICAgfVxyXG59XHJcbi8qICBSRVBPTlNJVkUgQ1NTIDo6IEVORCAqL1xyXG5cclxuIl19 */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
-1 }\\\">\\r\\n
\\r\\n

Problem

\\r\\n

Current Field Coaching Process

\\r\\n

Managers complete a coaching form after each session with Sales Reps, who report to them, that includes information on performance against specific objectives as well as field visit summary.

\\r\\n \\r\\n
\\r\\n
\\r\\n
-1 }\\\">\\r\\n
\\r\\n

Current Field Coaching Process

\\r\\n

Feedback forms are reviewed by the Directors prior to meetings with Managers to identify potential trends, themes, and commonalities helping them understand the type of coaching conversations that are needed to improve the coaching\\r\\n of the Managers. It takes a substantial amount of time and effort to accurately and objectively review a Manager’s form in their totality and understand the key take-aways.

\\r\\n \\r\\n
\\r\\n
\\r\\n
-1 }\\\">\\r\\n
\\r\\n

Challenges

\\r\\n

Directors have to spare a lot of time reviewing the feedback. Generating feedback review documentation that is similar across all directors is also a challenge. Review parameters may vary from brand to brand or territory to territory.

\\r\\n
\\r\\n
\\r\\n
-1 }\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Author: Elizabeth Tabaka
Date: 13-03-18

\\r\\n

Doug Awesome job digging into you data to identify gaps with BAKe and Torgix. Now with the goal tracker its clear how many MPxs you need with 5 weeks left in Q1. You are making sure to put clinical before the device wBAKe\\r\\n which is exactly what we should be doing now and you do a great job making in matter to the HCPs and their patients. You are also asking for BAKe instead of Tecna and Torgix instead of Radiance we must continue this\\r\\n on every call. Make sure that you and sarah are aligned around who you need to talk to about BAKe first with the Torgix to maximize the precall and strategy. Actions before you present the value cards pullthrough the\\r\\n top plans by name. Develop a strategy for moka.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Author: Elizabeth Tabaka
Date: 13-03-18

\\r\\n

Doug Awesome job digging into you data to identify gaps with BAKe and Torgix. Now with the goal tracker its clear how many MPxs you need with 5 weeks left in Q1. You are making sure to put clinical before the device wBAKe\\r\\n which is exactly what we should be doing now and you do a great job making in matter to the HCPs and their patients. You are also asking for BAKe instead of Tecna and Torgix instead of Radiance we must continue this\\r\\n on every call. Make sure that you and sarah are aligned around who you need to talk to about BAKe first with the Torgix to maximize the precall and strategy. Actions before you present the value cards pullthrough the\\r\\n top plans by name. Develop a strategy for moka.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Author: Elizabeth Tabaka
Date: 13-03-18

\\r\\n

Doug Awesome job digging into you data to identify gaps with BAKe and Torgix. Now with the goal tracker its clear how many MPxs you need with 5 weeks left in Q1. You are making sure to put clinical before the device wBAKe\\r\\n which is exactly what we should be doing now and you do a great job making in matter to the HCPs and their patients. You are also asking for BAKe instead of Tecna and Torgix instead of Radiance we must continue this\\r\\n on every call. Make sure that you and sarah are aligned around who you need to talk to about BAKe first with the Torgix to maximize the precall and strategy. Actions before you present the value cards pullthrough the\\r\\n top plans by name. Develop a strategy for moka.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Author: Elizabeth Tabaka
Date: 13-03-18

\\r\\n

Doug Awesome job digging into you data to identify gaps with BAKe and Torgix. Now with the goal tracker its clear how many MPxs you need with 5 weeks left in Q1. You are making sure to put clinical before the device wBAKe\\r\\n which is exactly what we should be doing now and you do a great job making in matter to the HCPs and their patients. You are also asking for BAKe instead of Tecna and Torgix instead of Radiance we must continue this\\r\\n on every call. Make sure that you and sarah are aligned around who you need to talk to about BAKe first with the Torgix to maximize the precall and strategy. Actions before you present the value cards pullthrough the\\r\\n top plans by name. Develop a strategy for moka.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Author: Elizabeth Tabaka
Date: 13-03-18

\\r\\n

Doug Awesome job digging into you data to identify gaps with BAKe and Torgix. Now with the goal tracker its clear how many MPxs you need with 5 weeks left in Q1. You are making sure to put clinical before the device wBAKe\\r\\n which is exactly what we should be doing now and you do a great job making in matter to the HCPs and their patients. You are also asking for BAKe instead of Tecna and Torgix instead of Radiance we must continue this\\r\\n on every call. Make sure that you and sarah are aligned around who you need to talk to about BAKe first with the Torgix to maximize the precall and strategy. Actions before you present the value cards pullthrough the\\r\\n top plans by name. Develop a strategy for moka.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Solution

\\r\\n

Built features and models that leverage advanced data analytics, NLP and AI to enable consistent field coaching form quality monitoring and measurement for every form across the firm. Moreover, NLP Models (using LOOCV on 250 forms)\\r\\n perform at par with human scoring with added advantages.

\\r\\n
\\r\\n
\\r\\n
-1 }\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Author: Elizabeth Tabaka
Date: 13-03-18

\\r\\n

Doug Awesome job digging into you data to identify gaps with BAKe and Torgix. Now with the goal tracker its clear how many MPxs you need with 5 weeks left in Q1. You are making sure to put clinical before the device wBAKe which\\r\\n is exactly what we should be doing now and you do a great job making in matter to the HCPs and their patients. You are also asking for BAKe instead of Tecna and Torgix instead of Radiance we must continue this on every\\r\\n call. Make sure that you and sarah are aligned around who you need to talk to about BAKe first with the Torgix to maximize the precall and strategy. Actions before you present the value cards pullthrough the top plans by\\r\\n name. Develop a strategy for moka.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Process Involved in NLP

\\r\\n

Toggle below switches to learn how NLP identifies Topics, Parts of Speech and Sentiments

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Negative: 0\\r\\n Neutral: 0.46\\r\\n Positive: 0.54\\r\\n
\\r\\n
\\r\\n Noun: 40\\r\\n Verbs: 26\\r\\n Adjectives: 8\\r\\n Adverbs: 8\\r\\n Pronouns: 17\\r\\n
\\r\\n
\\r\\n Drug\\r\\n Great Job\\r\\n Work\\r\\n Questions\\r\\n Planning\\r\\n Know\\r\\n Numeric\\r\\n Ask\\r\\n Patient\\r\\n Field Visit\\r\\n Thank\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Author: Elizabeth Tabaka
Date: 13-03-18

\\r\\n

\\r\\n Doug Awesome job digging into you data to identify gaps with BAKe and Torgix.\\r\\n Now with the goal tracker its clear how many MPxs you need with 5 weeks left in Q1.\\r\\n You are making sure to put clinical before the device wBAKe which is exactly what we should be doing now and you do a great job making in matter to the HCPs and their patients.\\r\\n You are also asking for BAKe instead of Tecna and Torgix instead of Radiance we must continue this on every call. Make sure that you and sarah are aligned around who you need to talk to about BAKe first with the Torgix to maximize the precall and strategy. Actions before you present the value cards pullthrough the top plans by name.\\r\\n Develop a strategy for moka.

\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • Labelled
  • \\r\\n
  • Focused
  • \\r\\n
  • Balanced
  • \\r\\n
  • Specific
  • \\r\\n
  • Immediate
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
-1 }\\\">\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • 90% Reduced Efforts
  • \\r\\n
  • 80% Accuracy\\r\\n at par with human scoring\\r\\n
  • \\r\\n
  • 75% Time Reduction
  • \\r\\n
  • 50% Improvement in Consistency
  • \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Benefits

\\r\\n
    \\r\\n
  • \\r\\n

    Reduction of time
    Improved Efficiency by reduction of time used by Managers to review coaching forms in preparation for meetings with Sales Reps

    \\r\\n
  • \\r\\n
  • \\r\\n

    Improve Rep Coaching
    Rep Coaching improves as Managers adopt the quality coaching measures leading to improved rep performance

    \\r\\n
  • \\r\\n
  • \\r\\n

    Consistency
    Solution drives consistency and quality of coaching, decreases variability and helps new coaches ramp up quickly

    \\r\\n
  • \\r\\n
  • \\r\\n

    Modular & Scalable
    Model pipeline is very modular and scalable and can be used across similar type of datasets

    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • Current Process
  • \\r\\n
  • Challenges
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n
  • \\r\\n
  • Our Solution
  • \\r\\n
  • Benefits
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, ViewChild, Renderer2, AfterContentInit, ViewEncapsulation, OnDestroy, ElementRef } from '@angular/core';\r\nimport _ from 'lodash';\r\nimport { FullpagescrollDirective } from 'src/app/shared/fullpagescroll.directive';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material';\r\nimport { FieldCoachingAppDialogComponent } from './field-coaching-app-dialog/field-coaching-app-dialog.component';\r\nimport { DataShareService } from 'src/app/shared/data-share.service';\r\n\r\ndeclare const d3: any;\r\n\r\n@Component({\r\n selector: 'app-field-coaching',\r\n templateUrl: './field-coaching.component.html',\r\n styleUrls: ['./field-coaching.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FieldCoachingComponent implements OnInit, AfterContentInit, OnDestroy {\r\n\r\n @ViewChild('fullPageScroll') fpScroll: FullpagescrollDirective;\r\n @ViewChild('checkBox1') checkBox1: ElementRef;\r\n @ViewChild('checkBox2') checkBox2: ElementRef;\r\n @ViewChild('checkBox3') checkBox3: ElementRef;\r\n\r\n public activeStartSlide = '';\r\n public activeSlide = '';\r\n public previousActiveSlide = [];\r\n public lastActiveSlide = 'screen-1';\r\n public nextActiveSlide = 'screen-2';\r\n public previousTraversedSlide = '';\r\n public isLoading = false;\r\n private _unsubscribeResize = null;\r\n private _svgSection = null;\r\n private currentRelativeUrl = '';\r\n public isShowScreen4 = false;\r\n public isShowScreen6 = false;\r\n private screens = ['screen-1', 'screen-2', 'screen-3', 'screen-4', 'screen-5', 'screen-6'];\r\n constructor(\r\n private _renderer: Renderer2\r\n , private _router: Router,\r\n private dialog: MatDialog,\r\n private dataShareService: DataShareService\r\n ) {\r\n this.currentRelativeUrl = this._router.url;\r\n }\r\n\r\n ngOnInit() {\r\n this.dataShareService.onCustomEvent.next({ event: 'addClassToElement', data: {selector: '#header', class: 'humburger-header'}});\r\n this.renderStory();\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this._unsubscribeResize = this._renderer.listen(window, 'resize', _.debounce(() => {\r\n this._svgSection.resize();\r\n }, 700));\r\n }\r\n\r\n public onFullPageSlideChangeStart(event) {\r\n this.previousTraversedSlide = this.activeStartSlide;\r\n if (this.previousActiveSlide.indexOf(event) < 0) {\r\n this.previousActiveSlide.push(this.activeStartSlide);\r\n } else {\r\n this.previousActiveSlide.splice(this.previousActiveSlide.indexOf(this.activeStartSlide), 1);\r\n }\r\n this.activeStartSlide = event;\r\n this.lastActiveSlide = this.screens[this.screens.indexOf(event) - 1];\r\n this.nextActiveSlide = this.screens[this.screens.indexOf(event) + 1];\r\n this._svgSection.changeScreen();\r\n }\r\n\r\n public onFullPageSlideChangeComplete(event) {\r\n this.activeSlide = event;\r\n }\r\n\r\n public onDownArrowClick(sectionId) {\r\n this.fpScroll.navigateTo(sectionId);\r\n }\r\n\r\n private _responsivefy(svg, isHeightNotToUpdate = false) {\r\n const container = d3.select(svg.node().parentNode);\r\n const width = parseInt(svg.attr('width'), 10);\r\n const height = parseInt(svg.attr('height'), 10);\r\n const aspect = width / height;\r\n\r\n // get width of container and resize svg to fit it\r\n const resize = () => {\r\n const targetWidth = parseInt(container.style('width'), 10);\r\n svg.attr('width', targetWidth);\r\n let targetHeight = targetWidth / aspect;\r\n if (isHeightNotToUpdate) {\r\n // Set Container Height as is.\r\n targetHeight = container.node().getBoundingClientRect().height;\r\n }\r\n svg.attr('height', Math.round(targetHeight));\r\n return {\r\n widthAspect: targetWidth / width,\r\n heightAspect: targetHeight / height,\r\n width: parseInt(svg.style('width'), 10),\r\n height: parseInt(svg.style('height'), 10)\r\n };\r\n };\r\n svg.attr('viewBox', '0 0 ' + width + ' ' + height)\r\n .attr('perserveAspectRatio', 'xMinYMid')\r\n .call(() => {\r\n setTimeout(() => {\r\n resize();\r\n }, 10);\r\n });\r\n\r\n return {\r\n resize,\r\n widthAspect: parseInt(svg.style('width'), 10) / width,\r\n heightAspect: parseInt(svg.style('height'), 10) / height\r\n };\r\n }\r\n\r\n private renderStory() {\r\n this._svgSection = this._initSvgSection('svg-wrapper');\r\n setTimeout(() => {\r\n this.activeStartSlide = 'screen-1';\r\n this.activeSlide = 'screen-1';\r\n this._svgSection.changeScreen();\r\n }, 500);\r\n }\r\n\r\n private _initSvgSection(containerId) {\r\n const that = this;\r\n const visitedScreen = {\r\n screen1: false,\r\n screen2: false,\r\n screen3: false,\r\n screen4: false,\r\n screen5: false,\r\n screen6: false,\r\n }\r\n const container = d3.select('#' + containerId);\r\n const WIDTH = 1920;\r\n const HEIGHT_OFFSET = 969 / 1920;\r\n const HEIGHT = WIDTH * HEIGHT_OFFSET;\r\n const svg = container.append('svg')\r\n .attr('width', WIDTH)\r\n .attr('height', HEIGHT)\r\n /* .on('click', function () {\r\n console.log(d3.mouse(this));\r\n }) */;\r\n\r\n const { resize, heightAspect, widthAspect } = this._responsivefy(svg, true);\r\n\r\n const dataGroup = svg.append('g')\r\n .attr('id', 'svg-data')\r\n .attr('class', 'svg-data');\r\n\r\n const linearGradient1 = svg.append('defs')\r\n .append('linearGradient')\r\n .attr({\r\n 'id': \"challengesIndicatorColor\",\r\n 'x1': \"0.968\",\r\n // 'y1': \"0.5\",\r\n 'x2': \"0.278\",\r\n 'gradientUnits': \"objectBoundingBox\"\r\n })\r\n\r\n linearGradient1.append('stop')\r\n .attr({\r\n 'offset': \"0\",\r\n 'stop-color': \"#fff\"\r\n });\r\n\r\n linearGradient1.append('stop')\r\n .attr({\r\n 'offset': \"1\",\r\n 'stop-color': \"#4f4642\"\r\n })\r\n\r\n const linearGradient2 = svg.append('defs')\r\n .append('linearGradient')\r\n .attr({\r\n 'id': \"arcColor\",\r\n 'x1': \"0.968\",\r\n 'y1': \"0\",\r\n 'x2': \"0.278\",\r\n 'y2': \"0.278\",\r\n 'gradientUnits': \"objectBoundingBox\"\r\n })\r\n\r\n linearGradient2.append('stop')\r\n .attr({\r\n 'offset': \"0\",\r\n 'stop-color': \"#86c8bc\"\r\n });\r\n\r\n linearGradient2.append('stop')\r\n .attr({\r\n 'offset': \"1\",\r\n 'stop-color': \"#00629b\"\r\n })\r\n\r\n let baseImage = '';\r\n\r\n // switch (this.activeStartSlide) {\r\n // case 'screen-1':\r\n // baseImage = '/assets/images/field-coaching/bubble_cloud_base.png';\r\n // break;\r\n // case 'screen-2':\r\n // baseImage = '/assets/images/field-coaching/screen2.png';\r\n // break;\r\n // case 'screen-3':\r\n // baseImage = '/assets/images/field-coaching/screen3.png';\r\n // break;\r\n // case 'screen-4':\r\n // baseImage = '/assets/images/field-coaching/screen3.png';\r\n // break;\r\n // case 'screen-5':\r\n // baseImage = '/assets/images/field-coaching/screen5.png';\r\n // break;\r\n // default:\r\n // baseImage = '/assets/images/field-coaching/screen6.png';\r\n // break;\r\n // }\r\n\r\n const image = dataGroup.append('image')\r\n .attr('xlink:href', baseImage)\r\n .attr('class', 'base-image-group')\r\n .attr('height', 969)\r\n .attr('width', 1920)\r\n .attr('id', 'img');\r\n\r\n\r\n const commonGroup = dataGroup.append('g')\r\n .attr('id', 'common-group-data')\r\n .attr('class', 'common-group-data')\r\n .attr('opacity', 0);\r\n\r\n const currentProcess = dataGroup.append('g')\r\n .attr('id', 'current-process-data')\r\n .attr('class', 'current-process-data');\r\n\r\n\r\n const common_images = [{\r\n src: '/assets/images/field-coaching/director-board.png',\r\n id: 'director-board-img',\r\n class: 'director-board animate',\r\n height: 261,\r\n width: 273,\r\n finalX: 75,\r\n finalY: 309,\r\n x: 211,\r\n y: 439,\r\n opacity: 0\r\n }, {\r\n src: '/assets/images/field-coaching/director.png',\r\n id: 'director-img',\r\n class: 'director animate',\r\n height: 443,\r\n width: 453,\r\n finalX: 280,\r\n finalY: 115,\r\n x: 280,\r\n y: 0,\r\n scaleHeight: 535,\r\n scaleWidth: 535,\r\n newX: 57,\r\n newY: 353,\r\n opacity: 0\r\n }];\r\n\r\n commonGroup.selectAll('.images')\r\n .data(common_images)\r\n .enter()\r\n .append('image')\r\n .attr('id', (d) => d.id)\r\n .attr('xlink:href', (d) => d.src)\r\n .attr('class', (d) => d.class)\r\n .attr('height', (d) => d.height)\r\n .attr('width', (d) => d.width)\r\n .attr('transform', (d) => `translate(${d.x}, ${d.y})`)\r\n .attr('opacity', (d) => d.opacity);\r\n\r\n const current_process_first_part_images = [{\r\n src: '/assets/images/field-coaching/screen_1_1.png',\r\n id: 'screen-1-img-1',\r\n class: 'screen-1-1 animate',\r\n height: 463,\r\n width: 885,\r\n finalX: 233,\r\n finalY: 249,\r\n x: 0,\r\n y: 249,\r\n opacity: 0\r\n }, {\r\n src: '/assets/images/field-coaching/screen_1_2.png',\r\n id: 'screen-1-img-2',\r\n class: 'screen-1-1 animate',\r\n height: 316,\r\n width: 210,\r\n finalX: 679,\r\n finalY: 388,\r\n x: 900,\r\n y: 388,\r\n opacity: 0\r\n }, {\r\n src: '/assets/images/field-coaching/screen_1_3.png',\r\n id: 'screen-1-img-3',\r\n class: 'screen-1-1 animate',\r\n height: 359,\r\n width: 381,\r\n finalX: 54,\r\n finalY: 446,\r\n x: 0,\r\n y: 446,\r\n opacity: 0\r\n }, {\r\n src: '/assets/images/field-coaching/managerCase.png',\r\n id: 'screen-1-img-4',\r\n class: 'screen-1-1 animate',\r\n height: 79,\r\n width: 99,\r\n finalX: 186,\r\n finalY: 710,\r\n x: 0,\r\n y: 710,\r\n opacity: 0\r\n }, {\r\n src: '/assets/images/field-coaching/salesCase.png',\r\n id: 'screen-1-img-5',\r\n class: 'screen-1-1 animate',\r\n height: 79,\r\n width: 99,\r\n finalX: 790,\r\n finalY: 626,\r\n x: 900,\r\n y: 626,\r\n opacity: 0\r\n }];\r\n\r\n const current_process_second_part_images = [{\r\n src: '/assets/images/field-coaching/screen_2_2.png',\r\n id: 'screen-1-2-img-2',\r\n class: 'screen-1-2 animate',\r\n height: 285,\r\n width: 303,\r\n finalX: 103,\r\n finalY: 538,\r\n x: 250,\r\n y: 538,\r\n opacity: 0\r\n }, {\r\n src: '/assets/images/field-coaching/screen_2_1.png',\r\n id: 'screen-1-2-img-1',\r\n class: 'screen-1-2 animate',\r\n height: 338,\r\n width: 243,\r\n finalX: 91,\r\n finalY: 484,\r\n x: 54,\r\n y: 446,\r\n opacity: 0\r\n }, {\r\n src: '/assets/images/field-coaching/screen_2_4.png',\r\n id: 'screen-1-2-img-4',\r\n class: 'screen-1-2 animate',\r\n height: 388,\r\n width: 473,\r\n finalX: 588,\r\n finalY: 496,\r\n x: 588,\r\n y: 969,\r\n opacity: 0\r\n }];\r\n\r\n const processFirstPart = currentProcess.append('g').attr('opacity', 0);\r\n\r\n const processSecondPart = currentProcess.append('g').attr('opacity', 0);\r\n\r\n processFirstPart.selectAll('.images')\r\n .data(current_process_first_part_images)\r\n .enter()\r\n .append('image')\r\n .attr('id', (d) => d.id)\r\n .attr('xlink:href', (d) => d.src)\r\n .attr('class', (d) => d.class)\r\n .attr('height', (d) => d.height)\r\n .attr('width', (d) => d.width)\r\n .attr('transform', (d) => `translate(${d.x}, ${d.y})`)\r\n .attr('opacity', (d) => d.opacity);\r\n\r\n processSecondPart.selectAll('.images')\r\n .data(current_process_second_part_images)\r\n .enter()\r\n .append('image')\r\n .attr('id', (d) => d.id)\r\n .attr('xlink:href', (d) => d.src)\r\n .attr('class', (d) => d.class)\r\n .attr('height', (d) => d.height)\r\n .attr('width', (d) => d.width)\r\n .attr('transform', (d) => `translate(${d.x}, ${d.y})`)\r\n .attr('opacity', (d) => d.opacity);\r\n\r\n const bubble_images = [{\r\n src: '/assets/images/field-coaching/bubble_cloud_1.png',\r\n class: 'bubble animate',\r\n height: 97,\r\n width: 180,\r\n finalX: 460,\r\n finalY: 260,\r\n x: 460,\r\n y: 360,\r\n initHeight: 0\r\n }, {\r\n src: '/assets/images/field-coaching/bubble_cloud_2.png',\r\n class: 'bubble animate',\r\n height: 88,\r\n width: 158,\r\n finalX: 680,\r\n finalY: 300,\r\n x: 769,\r\n y: 375,\r\n initHeight: 0\r\n }];\r\n\r\n const bubbleGroup = processFirstPart.append('g')\r\n .attr('id', 'bubble-group-data')\r\n .attr('class', 'bubble-group-data')\r\n .attr('opacity', 0);\r\n\r\n bubbleGroup.selectAll('.images')\r\n .data(bubble_images)\r\n .enter()\r\n .append('image')\r\n .attr('xlink:href', (d) => d.src)\r\n .attr('class', (d) => d.class)\r\n .attr('height', (d) => d.initHeight)\r\n .attr('width', (d) => d.width)\r\n .attr('transform', (d) => `translate(${d.x}, ${d.y})`)\r\n .attr('opacity', 0);\r\n\r\n\r\n const conversationGroup = bubbleGroup.append('g');\r\n const conversationLineCordinates = [\r\n [[500, 285], [600, 285]],\r\n [[493, 295], [582, 295]],\r\n [[485, 305], [566, 305]],\r\n [[710, 324], [804, 324]],\r\n [[716, 334], [790, 334]],\r\n [[712, 344], [778, 344]]\r\n ];\r\n\r\n const conversationLineData = [];\r\n\r\n conversationLineCordinates.forEach((lineData) => {\r\n conversationLineData.push(createLine(conversationGroup, lineData).classed('conversation-lines animate', true));\r\n });\r\n\r\n const ipadLineCordinates = [\r\n [[324, 589], [345, 601]],\r\n [[321, 591], [340, 603]],\r\n [[318, 594], [336, 604]],\r\n [[313, 596], [333, 607]],\r\n [[310, 598], [329, 610]]\r\n ];\r\n\r\n const ipadLineData = [];\r\n\r\n const ipadGroup = bubbleGroup.append('g')\r\n .attr('transform', 'translate(-22, -16)');\r\n\r\n ipadLineCordinates.forEach((lineData) => {\r\n ipadLineData.push(createLine(ipadGroup, lineData, '#ffffff').classed('ipad-lines animate', true));\r\n });\r\n\r\n function startConversationAnimation() {\r\n\r\n conversationLineData.forEach((v, i) => {\r\n v.attr('stroke-dashoffset', v.node().getTotalLength());\r\n });\r\n\r\n conversationLineData.forEach((v, i) => {\r\n v\r\n .attr({\r\n 'opacity': 1\r\n }).transition()\r\n .duration(1000)\r\n .delay(i * 500)\r\n .attr('stroke-dashoffset', 0)\r\n .each('end', function () {\r\n if (i === (conversationLineData.length - 1)) {\r\n startConversationAnimation();\r\n }\r\n });\r\n });\r\n }\r\n\r\n function startIpadAnimation() {\r\n\r\n ipadLineData.forEach((v, i) => {\r\n v.attr('stroke-dashoffset', v.node().getTotalLength());\r\n });\r\n\r\n ipadLineData.forEach((v, i) => {\r\n v\r\n .attr({\r\n 'opacity': 1\r\n }).transition()\r\n .duration(1000)\r\n .delay(i * 500)\r\n .attr('stroke-dashoffset', 0)\r\n .each('end', function () {\r\n if (i === (ipadLineData.length - 1)) {\r\n startIpadAnimation();\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n // Left View Lines\r\n const notificationCordinates = [\r\n [[298, 514], [298, 514]],\r\n [[298, 514], [337, 478]],\r\n [[298, 514], [385, 545]],\r\n [[298, 514], [318, 433]],\r\n [[298, 514], [377, 458]],\r\n [[298, 514], [456, 565]],\r\n [[298, 514], [516, 603]],\r\n [[298, 514], [566, 563]]\r\n ];\r\n\r\n const notification_images = [{\r\n height: 54,\r\n width: 52,\r\n finalX: 368,\r\n finalY: 110,\r\n x: 415,\r\n y: 195,\r\n // textX: 0,\r\n // textY: 0,\r\n text: 4\r\n }, {\r\n height: 54,\r\n width: 52,\r\n finalX: 630,\r\n finalY: 540,\r\n x: 676,\r\n y: 589,\r\n // textX: 0,\r\n // textY: 0,\r\n text: 1\r\n }, {\r\n height: 54,\r\n width: 52,\r\n finalX: 784,\r\n finalY: 452,\r\n x: 834,\r\n y: 500,\r\n // textX: 0,\r\n // textY: 0,\r\n text: 1\r\n }, {\r\n height: 54,\r\n width: 52,\r\n finalX: 901,\r\n finalY: 493,\r\n x: 940,\r\n y: 546,\r\n // textX: 0,\r\n // textY: 0,\r\n text: 1\r\n }, {\r\n height: 54,\r\n width: 52,\r\n finalX: 798,\r\n finalY: 605,\r\n x: 824,\r\n y: 650,\r\n // textX: 0,\r\n // textY: 0,\r\n text: 1\r\n }];\r\n\r\n\r\n const notificationGroup = processSecondPart.append('g')\r\n .attr('id', 'notification-group-data')\r\n .attr('class', 'notification-group-data')\r\n .attr('opacity', 0);\r\n\r\n notificationGroup.selectAll('.images')\r\n .data(notification_images)\r\n .enter()\r\n .append('g')\r\n .attr('transform', (d) => `translate(${d.x}, ${d.y}) scale(0)`)\r\n .attr('class', (d) => 'notification animate')\r\n .attr('opacity', 0)\r\n .append('image')\r\n .attr('xlink:href', '/assets/images/field-coaching/notification.png')\r\n .attr('class', (d) => 'notification-img')\r\n .attr('height', (d) => d.height)\r\n .attr('width', (d) => d.width)\r\n .select(function () { return this.parentNode; })\r\n .append('text')\r\n .attr('fill', '#ffffff')\r\n .style('font-size', '14px')\r\n .attr('transform', (d) => `translate(35, 14)`)\r\n .text(function (d) { return d.text; });\r\n\r\n\r\n const smallNotificationGroup = processSecondPart.append('g')\r\n .attr('id', 'small-notification-group-data')\r\n .attr('class', 'small-notification-group-data')\r\n .attr('opacity', 0);\r\n\r\n smallNotificationGroup.selectAll('.lines')\r\n .data(notificationCordinates)\r\n .enter()\r\n .append('g')\r\n .append('path')\r\n .attr('d', this._line())\r\n .attr('class', 'message-line')\r\n .attr('stroke', 'none')\r\n .attr('stroke-width', 0)\r\n .attr('fill', 'none');\r\n\r\n for (let index = 0; index < 8; index++) {\r\n smallNotificationGroup\r\n .append('image')\r\n .attr('id', 'small-note-' + (index + 1))\r\n .attr('xlink:href', '/assets/images/field-coaching/small_notification.png')\r\n .attr('class', 'small-notification-image animate')\r\n .attr('height', 20)\r\n .attr('width', 22)\r\n .attr('opacity', 0)\r\n .attr('transform', `translate(298, 514)`);\r\n }\r\n\r\n function pathTween(path) {\r\n const length = path.node().getTotalLength();\r\n const r = d3.interpolate(0, length);\r\n return function (t) {\r\n const point = path.node().getPointAtLength(r(t));\r\n let opacityVal = 1;\r\n let scale = 1;\r\n if (t > 0.25) {\r\n // opacityVal = 0.7;\r\n }\r\n if (t > 0.50) {\r\n // opacityVal = 0.5;\r\n scale = 1.5 - t;\r\n }\r\n if (t > 0.75) {\r\n opacityVal = 0.2;\r\n scale = 1.5 - t;\r\n }\r\n if (t >= 1) {\r\n opacityVal = 0;\r\n scale = 1.5 - t;\r\n }\r\n\r\n\r\n d3.select(this) // Select the circle\r\n .style('opacity', opacityVal)\r\n .attr('transform', 'translate(' + point.x + ',' + point.y + ')'); // Set the cx\r\n };\r\n }\r\n\r\n function repeatTransition(className, path, duration, delay, cb) {\r\n d3.selectAll(`#${className}`).transition()\r\n .delay((d, i) => delay * i)\r\n .duration(duration)\r\n .ease('linear')\r\n .tween('pathTween', (d: any, i) => {\r\n return pathTween(path);\r\n })\r\n // tslint:disable-next-line: only-arrow-functions\r\n .call(endAll, function () {\r\n if (cb) {\r\n cb();\r\n }\r\n });\r\n }\r\n\r\n function endAll(tran, callback) {\r\n if ((typeof callback) !== 'function') { throw new Error('Wrong callback in endall'); }\r\n if (tran.size() === 0) { callback(); }\r\n let n = 0;\r\n tran.each(() => { ++n; })\r\n .each('end', function (e) {\r\n if (--n === 0) { callback.apply(this, arguments); }\r\n });\r\n }\r\n\r\n // PB Start\r\n let screen3ForwardAnimationStart = true;\r\n\r\n function createLine(group, cordinates, strokeColor = '#000000') {\r\n return group.append('path')\r\n .datum(cordinates)\r\n .attr('d', that._line())\r\n .attr('stroke', strokeColor)\r\n .attr('stroke-width', 1)\r\n .attr('stroke-dasharray', function (d) {\r\n d.pathLength = d3.select(this).node().getTotalLength();\r\n return `${d.pathLength}, ${d.pathLength}`;\r\n // return 0;\r\n })\r\n .attr('stroke-dashoffset', (d) => d.pathLength)\r\n .attr('fill', 'none');\r\n }\r\n\r\n const challengesGroup = dataGroup.append('g')\r\n .attr({\r\n 'id': 'challenges-main-section-group',\r\n 'class': 'challenges-main-section-group',\r\n // 'transform': 'translate(200,231) scale(0,0)'\r\n });\r\n\r\n const monitorGroup = challengesGroup.append('g')\r\n .attr({\r\n 'id': 'challenges-monitor-section-group',\r\n 'class': 'challenges-monitor-section-group',\r\n // 'transform': 'translate(200,231) scale(0,0)'\r\n });\r\n\r\n monitorGroup.append('image')\r\n .attr({\r\n 'xlink:href': 'assets/images/field-coaching/challenges-monitor.png',\r\n 'width': 515,\r\n 'height': 652,\r\n 'id': 'challenges-monitor-image',\r\n 'class': 'challenges-monitor-image challenges',\r\n // 'transform': 'translate(370, 508) scale(0.13) rotate(-5 71 25) skewY(139)',\r\n 'transform': 'translate(308, 550) scale(0.087) rotate(20) skewY(-60)',\r\n 'opacity': 0\r\n });\r\n\r\n function startMonitorAnimation() {\r\n screen3ForwardAnimationStart = true;\r\n challengesGroup.selectAll('.challenges').interrupt();\r\n if (that.activeStartSlide === 'screen-3') {\r\n monitorGroup.select('#challenges-monitor-image')\r\n .transition()\r\n .duration(900)\r\n .attr({\r\n 'transform': 'translate(643, 145) scale(1) rotate(0 0 0)',\r\n 'opacity': 1\r\n })\r\n .call(endAll, () => {\r\n startIndicatorSectionAnimation();\r\n startFileAnimation();\r\n });\r\n }\r\n }\r\n\r\n function resetMonitor() {\r\n monitorGroup.select('#challenges-monitor-image')\r\n .transition()\r\n .duration(100)\r\n .attr({\r\n opacity: 0\r\n })\r\n .transition()\r\n .attr({\r\n // 'transform': 'translate(370, 508) scale(0.13)',\r\n 'transform': 'translate(308, 550) scale(0.087) rotate(20) skewY(-60)',\r\n })\r\n }\r\n\r\n // Files Section Start\r\n const directoryGroup = challengesGroup.append('g')\r\n .attr({\r\n 'id': 'challenges-files-group',\r\n 'class': 'challenges-files-group',\r\n 'transform': 'translate(670,227)'\r\n })\r\n .style({\r\n 'transform': 'translate(670px,227px)'\r\n });\r\n\r\n const filesGroup = directoryGroup.append('g')\r\n .attr({\r\n 'id': 'challenges-files-group',\r\n 'class': 'challenges-files-group'\r\n });\r\n\r\n const selectedFileGroup = directoryGroup.append('g')\r\n .attr({\r\n 'id': 'challenges-selected-files-group',\r\n 'class': 'challenges-selected-files-group'\r\n });\r\n\r\n const blueTickGroup = directoryGroup.append('g')\r\n .attr({\r\n 'id': 'challenges-files-group',\r\n 'class': 'challenges-files-group'\r\n });\r\n\r\n const filesData = [{\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 0,\r\n y: 0,\r\n width: 67,\r\n height: 118,\r\n moveable: true\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 77,\r\n y: 45,\r\n width: 67,\r\n height: 118\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 154,\r\n y: 90,\r\n width: 67,\r\n height: 118\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 231,\r\n y: 134,\r\n width: 67,\r\n height: 118,\r\n moveable: true\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 308,\r\n y: 178,\r\n width: 67,\r\n height: 118\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 385,\r\n y: 222,\r\n width: 67,\r\n height: 118,\r\n moveable: true\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 0,\r\n y: 90,\r\n width: 67,\r\n height: 118\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 77,\r\n y: 134,\r\n width: 67,\r\n height: 118\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 154,\r\n y: 178,\r\n width: 67,\r\n height: 118,\r\n moveable: true\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 231,\r\n y: 222,\r\n width: 67,\r\n height: 118\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 308,\r\n y: 266,\r\n width: 67,\r\n height: 118\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 385,\r\n y: 310,\r\n width: 67,\r\n height: 118\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 0,\r\n y: 180,\r\n width: 67,\r\n height: 118\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 77,\r\n y: 224,\r\n width: 67,\r\n height: 118\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 154,\r\n y: 268,\r\n width: 67,\r\n height: 118,\r\n moveable: true\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 231,\r\n y: 312,\r\n width: 67,\r\n height: 118\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 308,\r\n y: 356,\r\n width: 67,\r\n height: 118\r\n }, {\r\n path: '/assets/images/field-coaching/challenges-file.png',\r\n x: 385,\r\n y: 400,\r\n width: 67,\r\n height: 118\r\n },];\r\n\r\n const fileImageRef = [];\r\n\r\n filesData.forEach((file, fileIndex) => {\r\n const image = filesGroup.append('image')\r\n .attr({\r\n 'xlink:href': file.path,\r\n 'width': file.width,\r\n 'height': file.height,\r\n 'id': `monitor-file-${fileIndex}`,\r\n 'class': `monitor-file challenges`,\r\n 'x': file.x,\r\n 'y': file.y,\r\n 'opacity': 0,\r\n 'transform': 'scale(1.1)'\r\n // 'transform': 'translate(267,277) scale(0)'\r\n });\r\n\r\n fileImageRef.push(image);\r\n });\r\n\r\n function startFileAnimation() {\r\n if (that.activeStartSlide === 'screen-3') {\r\n filesGroup.selectAll('.monitor-file')\r\n .data(filesData)\r\n .attr({\r\n 'opacity': 0,\r\n 'x': (d) => d.x,\r\n 'y': (d) => d.y,\r\n 'transform': 'scale(1.1)'\r\n })\r\n .transition()\r\n .duration(600)\r\n .delay((d, i) => i * 50)\r\n .attr({\r\n 'opacity': 1,\r\n 'transform': 'scale(1)'\r\n })\r\n .call(endAll, () => {\r\n startBlueTickAnimation();\r\n })\r\n }\r\n }\r\n\r\n const selectedFileData = [{\r\n path: '/assets/images/field-coaching/challenges-clicked-file.png',\r\n x: 145,\r\n y: 171,\r\n width: 85,\r\n height: 136\r\n }];\r\n\r\n selectedFileData.forEach((file, fileIndex) => {\r\n selectedFileGroup.append('image')\r\n .attr({\r\n 'xlink:href': file.path,\r\n 'width': file.width,\r\n 'height': file.height,\r\n 'id': `monitor-clicked-file-${fileIndex}`,\r\n 'class': `monitor-clicked-file challenges`,\r\n 'x': file.x,\r\n 'y': file.y,\r\n 'opacity': 0,\r\n // 'transform': 'translate(267,277) scale(0)'\r\n });\r\n });\r\n\r\n function startClickedFileAnimation() {\r\n if (that.activeStartSlide === 'screen-3') {\r\n selectedFileGroup.select('.monitor-clicked-file')\r\n .attr('opacity', 0)\r\n .transition()\r\n .duration(200)\r\n .delay((d, i) => i * 20)\r\n .attr({\r\n 'opacity': 1\r\n })\r\n .transition()\r\n .duration(50)\r\n .attr({\r\n 'opacity': 0.6\r\n })\r\n .transition()\r\n .duration(80)\r\n .attr({\r\n 'opacity': 1\r\n })\r\n .each('end', () => {\r\n startChallengeExcelSectionAnimation();\r\n selectedFileGroup.select('.monitor-clicked-file')\r\n .transition()\r\n .delay(100)\r\n .attr('opacity', 0)\r\n });\r\n }\r\n }\r\n\r\n const blueTicksData = [{\r\n path: '/assets/images/field-coaching/selected-tick.png',\r\n x: 127,\r\n y: 141,\r\n width: 29,\r\n height: 31\r\n },\r\n {\r\n path: '/assets/images/field-coaching/selected-tick.png',\r\n x: 280,\r\n y: 231,\r\n width: 29,\r\n height: 31,\r\n moveable: true\r\n },\r\n {\r\n path: '/assets/images/field-coaching/selected-tick.png',\r\n x: 203,\r\n y: 275,\r\n width: 29,\r\n height: 31,\r\n moveable: true\r\n },\r\n {\r\n path: '/assets/images/field-coaching/selected-tick.png',\r\n x: 280,\r\n y: 410,\r\n width: 29,\r\n height: 31\r\n },\r\n {\r\n path: '/assets/images/field-coaching/selected-tick.png',\r\n x: 358,\r\n y: 276,\r\n width: 29,\r\n height: 31\r\n }]\r\n\r\n blueTicksData.forEach((blueTick, blueTickIndex) => {\r\n blueTickGroup.append('image')\r\n .attr({\r\n 'xlink:href': blueTick.path,\r\n 'width': blueTick.width,\r\n 'height': blueTick.height,\r\n 'id': `file-blue-tick-${blueTickIndex}`,\r\n 'class': `file-blue-tick challenges`,\r\n 'x': blueTick.x,\r\n 'y': blueTick.y,\r\n 'opacity': 0,\r\n // 'transform': 'translate(267,277) scale(0)'\r\n });\r\n });\r\n\r\n function startBlueTickAnimation() {\r\n if (that.activeStartSlide === 'screen-3') {\r\n blueTickGroup.selectAll('.file-blue-tick')\r\n .data(blueTicksData)\r\n .attr('opacity', 0)\r\n .attr('x', (d) => d.x)\r\n .attr('y', (d) => d.y)\r\n .transition()\r\n .duration(400)\r\n .delay((d, i) => i * 80)\r\n .attr({\r\n 'opacity': 1\r\n })\r\n .call(endAll, () => {\r\n setTimeout(() => {\r\n startClickedFileAnimation();\r\n }, 500);\r\n })\r\n }\r\n }\r\n\r\n function resetDirectoryFilesAndTicks() {\r\n\r\n selectedFileGroup.select('.monitor-clicked-file')\r\n .attr('opacity', 0);\r\n\r\n blueTickGroup.selectAll('.file-blue-tick')\r\n .data(blueTicksData)\r\n .transition()\r\n .delay(350)\r\n .duration(20)\r\n .attr('opacity', 0)\r\n .attr('x', (d) => d.x)\r\n .attr('y', (d) => d.y);\r\n\r\n fileImageRef.forEach((dirFile, index) => {\r\n if (filesData[index].moveable == undefined) {\r\n const d = filesData[index];\r\n dirFile\r\n .transition()\r\n .delay(350)\r\n .duration(20)\r\n .attr({\r\n 'opacity': 0,\r\n 'x': d.x,\r\n 'y': d.y\r\n })\r\n .each('end', function () {\r\n if (index === (filesData.length - 1)) {\r\n resetMonitor();\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n function hideScreen3Elements() {\r\n commonGroup.select('#director-board-img')\r\n .transition()\r\n .attr('transform', (d) => `translate(${d.x}, ${d.y}) scale(0)`);\r\n resetIndicatorPosition();\r\n\r\n selectedFileGroup.select('.monitor-clicked-file')\r\n .attr('opacity', 0);\r\n\r\n blueTickGroup.selectAll('.file-blue-tick')\r\n .data(blueTicksData)\r\n .transition()\r\n .delay(400)\r\n .duration(20)\r\n .attr('opacity', 0)\r\n .attr('x', (d) => d.x)\r\n .attr('y', (d) => d.y);\r\n\r\n filesGroup.selectAll('.monitor-file')\r\n .data(filesData)\r\n .transition()\r\n .duration(0)\r\n .attr({\r\n 'opacity': 0,\r\n 'x': (d, i) => d.x,\r\n 'y': (d, i) => d.y\r\n })\r\n .call(endAll, () => {\r\n resetMonitor();\r\n });\r\n }\r\n // Files Section Closed\r\n\r\n // Excel Section Start\r\n const excelSectionGroup = challengesGroup.append('g')\r\n .attr({\r\n 'id': 'challenges-excel-section-group',\r\n 'class': 'challenges-excel-section-group',\r\n // 'transform': 'translate(200,231) scale(0,0)'\r\n })\r\n .style({\r\n 'transform': 'translate(628px,210px)'\r\n });\r\n\r\n excelSectionGroup.append('image')\r\n .attr({\r\n 'xlink:href': 'assets/images/field-coaching/challenges-excel-document.png',\r\n 'width': 535,\r\n 'height': 555,\r\n 'id': 'excel-section-image',\r\n 'class': 'excel-section-image challenges',\r\n 'transform': 'translate(267,277) scale(0)'\r\n });\r\n\r\n const barChartGroup = excelSectionGroup.append('g')\r\n .attr({\r\n 'id': 'challenges-bar-chart',\r\n 'class': 'challenges-bar-chart',\r\n })\r\n .style({\r\n 'transform': 'translate(75px, 165px)skewY(32deg)'\r\n });\r\n\r\n const yellowTextSectionGroup = excelSectionGroup.append('g')\r\n .attr({\r\n 'id': 'challenges-lines-group',\r\n 'class': 'challenges-lines-group',\r\n 'transform': 'translate(170, 220)'\r\n })\r\n .style({\r\n 'transform': 'translate(170px, 220px)'\r\n });\r\n\r\n const screenIndicatorSectionGroup = excelSectionGroup.append('g')\r\n .attr({\r\n 'id': 'challenges-screenIndicator-group',\r\n 'class': 'challenges-screenIndicator-group',\r\n 'transform': 'translate(145, 0)'\r\n })\r\n .style({\r\n 'transform': 'translate(145px, 0px)'\r\n });\r\n\r\n // fee3c0\r\n // 5ab25e\r\n const barCharData = [{\r\n x: 0,\r\n totalHeight: 80,\r\n duration: 1000,\r\n delay: 200,\r\n data: [{\r\n height: 30,\r\n width: 6,\r\n fill: '#fee3c0'\r\n }, {\r\n height: 50,\r\n width: 6,\r\n fill: '#5ab25e'\r\n }]\r\n }, {\r\n x: 17,\r\n totalHeight: 80,\r\n duration: 1000,\r\n delay: 600,\r\n data: [{\r\n height: 40,\r\n width: 6,\r\n fill: '#fee3c0'\r\n }, {\r\n height: 65,\r\n width: 6,\r\n fill: '#5ab25e'\r\n }]\r\n }, {\r\n x: 34,\r\n totalHeight: 80,\r\n duration: 1000,\r\n delay: 1000,\r\n data: [{\r\n height: 25,\r\n width: 6,\r\n fill: '#fee3c0'\r\n }, {\r\n height: 50,\r\n width: 6,\r\n fill: '#5ab25e'\r\n }]\r\n }, {\r\n x: 51,\r\n totalHeight: 80,\r\n duration: 1000,\r\n delay: 1400,\r\n data: [{\r\n height: 20,\r\n width: 6,\r\n fill: '#fee3c0'\r\n }, {\r\n height: 75,\r\n width: 6,\r\n fill: '#5ab25e'\r\n }]\r\n }];\r\n\r\n const barChar = barChartGroup.selectAll('.barChartDataGroup')\r\n .data(barCharData)\r\n .enter()\r\n .append('g')\r\n .each(function (d) {\r\n const g = d3.select(this)\r\n .attr('class', 'barChartDataGroup challenges')\r\n .attr('transform', `translate(${d.x}, 0)`);\r\n g.selectAll('.bars')\r\n .data(d.data)\r\n .enter()\r\n .append('rect')\r\n .each(function (data: any, i) {\r\n data.totalHeight = d.totalHeight;\r\n data.duration = d.duration;\r\n data.delay = d.delay;\r\n d3.select(this)\r\n .attr('class', 'animate challenges')\r\n .attr('x', ((data.width * i) + (1 * i)))\r\n .attr('y', d.totalHeight/* (d.totalHeight - data.height) */)\r\n .attr('width', data.width)\r\n // .attr('height', data.height)\r\n .attr('height', 0)\r\n .attr('fill', data.fill);\r\n });\r\n });\r\n\r\n function startBarChartAnimation() {\r\n if (that.activeStartSlide === 'screen-3' && (+excelSectionGroup.select('image').attr('opacity') == 1)) {\r\n barChar\r\n .attr('opacity', 1)\r\n .selectAll('rect')\r\n .attr('y', (d: any) => d.totalHeight).attr('height', 0)\r\n .attr('opacity', 1)\r\n .transition()\r\n .delay((d: any) => d.delay)\r\n .duration((d: any) => d.duration)\r\n .attr('y', (d: any) => (d.totalHeight - d.height))\r\n .attr('height', (d: any) => d.height)\r\n .call(endAll, function () {\r\n reanimateBarChart();\r\n });\r\n } else {\r\n barChar\r\n .attr('opacity', 0)\r\n .selectAll('rect')\r\n .attr('opacity', 0);\r\n }\r\n }\r\n\r\n function reanimateBarChart() {\r\n if (that.activeStartSlide === 'screen-3' && (+excelSectionGroup.select('image').attr('opacity') == 1)) {\r\n // console.log(\"reanimate called\");\r\n barChar\r\n .selectAll('rect')\r\n .transition()\r\n .delay(150)\r\n .duration(1000)\r\n .attr('y', (d: any) => d.totalHeight).attr('height', 0)\r\n .call(endAll, function () {\r\n // console.log('start animation called');\r\n startBarChartAnimation();\r\n });\r\n } else {\r\n barChar\r\n .attr('opacity', 0)\r\n .selectAll('rect')\r\n .attr('opacity', 0);\r\n }\r\n }\r\n\r\n const lines = [];\r\n\r\n const linesData = [\r\n [[0, 6], [54, 6]],\r\n [[0, 11], [46, 11]],\r\n [[0, 16], [47, 16]],\r\n [[0, 21], [52, 21]],\r\n [[0, 26], [46, 26]],\r\n [[0, 31], [43, 31]],\r\n [[0, 36], [25, 36]],\r\n ];\r\n\r\n linesData.forEach((lineData) => {\r\n lines.push(createLine(yellowTextSectionGroup, lineData).classed('yellow-box-lines challenges', true));\r\n });\r\n\r\n function startYellowSectionTextAnimation() {\r\n\r\n lines.forEach((v, i) => {\r\n v.attr({\r\n 'stroke-dashoffset': v.node().getTotalLength(),\r\n 'opacity': 0\r\n });\r\n });\r\n\r\n if (that.activeStartSlide === 'screen-3' && (+excelSectionGroup.select('image').attr('opacity') == 1)) {\r\n lines.forEach((v, i) => {\r\n v.attr({\r\n 'opacity': 1,\r\n 'transform': 'skewY(31)',\r\n 'stroke-width': '1.5'\r\n }).transition()\r\n .duration(1000)\r\n .delay(i * 500)\r\n .attr('stroke-dashoffset', 0)\r\n .each('end', function () {\r\n if (i === (lines.length - 1)) {\r\n startYellowSectionTextAnimation();\r\n }\r\n });\r\n });\r\n }\r\n }\r\n // Excel Section End\r\n\r\n // Indicator Section Start\r\n const indicatorLines = [];\r\n const indicatorLinesData = [\r\n {\r\n line: {\r\n 'co-ordinates': [[0, 6], [315, 5]]\r\n },\r\n image: {\r\n path: '/assets/images/field-coaching/challenge-indicator-1.png',\r\n height: 34,\r\n width: 34\r\n },\r\n text: {\r\n content: 'Increased time',\r\n color: '#FFF'\r\n }\r\n },\r\n {\r\n line: {\r\n 'co-ordinates': [[102, 63], [402, 62]]\r\n },\r\n image: {\r\n path: '/assets/images/field-coaching/challenge-indicator-2.png',\r\n height: 34,\r\n width: 34\r\n },\r\n text: {\r\n content: 'Tedious manual efforts',\r\n color: '#FFF'\r\n }\r\n },\r\n {\r\n line: {\r\n 'co-ordinates': [[204, 120], [502, 119]]\r\n },\r\n image: {\r\n path: '/assets/images/field-coaching/challenge-indicator-2.png',\r\n height: 34,\r\n width: 34\r\n },\r\n text: {\r\n content: 'Inconsistency',\r\n color: '#FFF'\r\n }\r\n }\r\n ];\r\n\r\n indicatorLinesData.forEach((indicatorLineData, indicatorIndex) => {\r\n const screenIndicatorBlockGroup = screenIndicatorSectionGroup.append('g')\r\n .attr({\r\n 'class': 'challenges-indicator-block-group',\r\n 'id': `challenges-indicator-block-group-${indicatorIndex}`\r\n });\r\n const { line, image, text } = indicatorLineData;\r\n // Adding Line\r\n indicatorLines.push(createLine(screenIndicatorBlockGroup, line['co-ordinates']).classed(`challenges-indicator-${indicatorIndex} challenges`, true));\r\n const imageTranslateValue = {\r\n x: line['co-ordinates'][0][0] + (line['co-ordinates'][1][0] - line['co-ordinates'][0][0]),\r\n y: line['co-ordinates'][0][1] - (image.height >> 1)\r\n }\r\n // Adding Image\r\n screenIndicatorBlockGroup.append('image')\r\n .attr({\r\n 'xlink:href': image.path,\r\n 'width': image.width,\r\n 'height': image.height,\r\n 'id': `image-${indicatorIndex}`,\r\n 'class': 'challenges',\r\n 'transform': `translate(${imageTranslateValue.x}, ${imageTranslateValue.y})`,\r\n 'opacity': 0\r\n })\r\n // Adding Text\r\n screenIndicatorBlockGroup.append('text')\r\n .text(text.content)\r\n .attr({\r\n 'x': imageTranslateValue.x + image.width + 10,\r\n 'y': line['co-ordinates'][0][1],\r\n 'fill': text.color,\r\n 'dy': '0.35em',\r\n 'id': `text-${indicatorIndex}`,\r\n 'class': 'challenges',\r\n 'opacity': 0\r\n })\r\n .style({\r\n 'letter-spacing': '0.5px',\r\n 'font-size': '14px',\r\n })\r\n });\r\n\r\n function startIndicatorSectionAnimation() {\r\n if (that.activeStartSlide === 'screen-3') {\r\n indicatorLines.forEach((line, indicatorIndex) => {\r\n line\r\n .attr('opacity', 1)\r\n .transition()\r\n .duration(700)\r\n .delay(indicatorIndex * 200)\r\n .attr('stroke-width', 1)\r\n .attr('stroke-dashoffset', 0)\r\n .attr('stroke', `url(${that.currentRelativeUrl}#challengesIndicatorColor)`)\r\n .each('end', () => {\r\n screenIndicatorSectionGroup.select(`#image-${indicatorIndex}`)\r\n .transition()\r\n .duration(300)\r\n .attr({\r\n 'opacity': 1\r\n })\r\n .each('end', () => {\r\n screenIndicatorSectionGroup.select(`#text-${indicatorIndex}`)\r\n .transition()\r\n .duration(300)\r\n .attr({\r\n 'opacity': 1\r\n })\r\n })\r\n });\r\n });\r\n }\r\n }\r\n\r\n function resetIndicatorPosition() {\r\n indicatorLines.forEach((line, indicatorIndex) => {\r\n line\r\n .transition()\r\n .duration(90)\r\n .attr('stroke-dashoffset', line.node().getTotalLength())\r\n .each('end', () => {\r\n screenIndicatorSectionGroup.select(`#image-${indicatorIndex}`)\r\n .transition()\r\n .duration(10)\r\n .attr({\r\n 'opacity': 0\r\n })\r\n .each('end', () => {\r\n screenIndicatorSectionGroup.select(`#text-${indicatorIndex}`)\r\n .attr({\r\n 'opacity': 0\r\n })\r\n })\r\n });\r\n });\r\n }\r\n // Indicator Section End\r\n\r\n const movefileIndex = [{\r\n position: 0,\r\n selected: false,\r\n },\r\n {\r\n position: 3,\r\n selected: true,\r\n tickPosition: 1\r\n }, {\r\n position: 5,\r\n selected: false\r\n }, {\r\n position: 8,\r\n selected: true,\r\n tickPosition: 2\r\n }, {\r\n position: 14,\r\n selected: false\r\n },], fileMoveValue = 900;\r\n\r\n function startChallengeExcelSectionAnimation() {\r\n if (that.activeStartSlide === 'screen-3') {\r\n excelSectionGroup.select('image')\r\n .attr({\r\n 'transform': 'translate(267,277) scale(0, 0)',\r\n 'opacity': 1,\r\n 'stroke': '6c757d'\r\n })\r\n .transition()\r\n .duration(1000)\r\n .attr({\r\n 'transform': 'translate(0,0) scale(1, 1)',\r\n })\r\n .call(endAll, () => {\r\n startBarChartAnimation();\r\n startYellowSectionTextAnimation();\r\n });\r\n }\r\n }\r\n\r\n function closeExcelSectionAnimation() {\r\n // screen3ForwardAnimationStart = false; //Stop all forward animation\r\n challengesGroup.selectAll('.challenges').interrupt(); //Interrupt all challenges transition\r\n\r\n // Stop Lines Animation\r\n lines.forEach((v, i) => {\r\n v.transition()\r\n .attr('stroke-dashoffset', v.node().getTotalLength());\r\n });\r\n\r\n // Stop Bar Chart Animation\r\n barChar.selectAll('rect')\r\n .transition()\r\n .duration(100)\r\n .attr('y', (d: any) => (d.totalHeight))\r\n .attr('height', 0)\r\n .attr('opacity', 0)\r\n\r\n // Scale down Excel Section Image\r\n excelSectionGroup.select('image')\r\n .transition()\r\n .duration(300)\r\n .attr({\r\n 'transform': 'translate(267,277) scale(0, 0)'\r\n })\r\n .each('end', () => {\r\n movefileIndex.forEach((file, index) => {\r\n filesGroup.select(`#monitor-file-${file.position}`)\r\n .transition()\r\n .ease('linear')\r\n .delay(index * 10)\r\n .duration(1050)\r\n .attr('x', () => {\r\n if (file.selected) {\r\n blueTickGroup.select(`#file-blue-tick-${file.tickPosition}`)\r\n .transition()\r\n .delay(1)\r\n .transition()\r\n .ease('linear')\r\n .delay(index * 100)\r\n .duration(1000)\r\n .attr({\r\n // 'x': blueTicksData[file.tickPosition].x + fileMoveValue,\r\n 'opacity': 0\r\n })\r\n }\r\n return filesData[file.position].x + fileMoveValue\r\n })\r\n .attr({\r\n 'transform': 'scale(1.2)',\r\n 'opacity': 0\r\n })\r\n .each('end', () => {\r\n if ((movefileIndex.length - 1) === index) {\r\n if (that.activeStartSlide === 'screen-4') {\r\n showScreen4();\r\n }\r\n }\r\n });\r\n });\r\n\r\n resetChallangesElementPosition();\r\n\r\n commonGroup.select('#director-board-img')\r\n .transition()\r\n .ease('linear')\r\n .delay(400)\r\n .duration(10)\r\n .attr({\r\n 'transform': (d) => `translate(${d.x}, ${d.y}) scale(0)`,\r\n });\r\n\r\n commonGroup.select('#director-img')\r\n .transition()\r\n .ease('linear')\r\n .delay(400)\r\n .duration(100)\r\n .attr('height', (d) => d.scaleHeight)\r\n .attr('width', (d) => d.scaleWidth)\r\n .attr('transform', (d) => `translate(${d.newX}, ${d.newY})`)\r\n .attr('opacity', 0);\r\n });\r\n }\r\n\r\n function resetChallangesElementPosition() {\r\n // commonGroup.select('#director-board-img').attr('opacity', 0);\r\n resetDirectoryFilesAndTicks();\r\n resetIndicatorPosition();\r\n }\r\n // PB End\r\n\r\n const centerCircleImageData = [\r\n {\r\n src: '/assets/images/field-coaching/polygon_10.png',\r\n class: 'rotate-clockwise',\r\n height: 391,\r\n width: 391,\r\n finalX: 0,\r\n finalY: 0,\r\n X: 195,\r\n Y: 195\r\n }, {\r\n src: '/assets/images/field-coaching/polygon_9.png',\r\n class: 'rotate-anti-clockwise',\r\n height: 296,\r\n width: 296,\r\n finalX: 47.5,\r\n finalY: 47.5,\r\n X: 195,\r\n Y: 195\r\n }, {\r\n src: '/assets/images/field-coaching/polygon_8.png',\r\n id: 'polygon8',\r\n class: 'rotate-clockwise',\r\n height: 210,\r\n width: 210,\r\n finalX: 90.5,\r\n finalY: 90.5,\r\n X: 195,\r\n Y: 195\r\n }];\r\n\r\n const docImages = [{\r\n src: '/assets/images/field-coaching/circle_empty_doc.png',\r\n id: 'empty-doc',\r\n class: '',\r\n height: 210,\r\n width: 210,\r\n finalX: 170,\r\n finalY: 163,\r\n X: 195,\r\n Y: 195\r\n }, {\r\n src: '/assets/images/field-coaching/circle_target_doc.png',\r\n id: 'empty-doc',\r\n class: '',\r\n height: 210,\r\n width: 210,\r\n finalX: 155,\r\n finalY: 154,\r\n X: 195,\r\n Y: 195\r\n }]\r\n\r\n const centerGroupDotsData = [\r\n { X: 118, Y: 105, radius: 4 },\r\n { X: 137, Y: 128, radius: 4 },\r\n { X: 156, Y: 148, radius: 4 }\r\n ]\r\n\r\n const centerCircleGroup = commonGroup.append('g')\r\n .attr({\r\n 'id': 'center-circle-main-group',\r\n 'class': 'center-circle-main-group',\r\n 'transform': 'translate(696,310)',\r\n 'opacity': 0\r\n });\r\n\r\n centerCircleGroup.selectAll('.image')\r\n .data(centerCircleImageData)\r\n .enter()\r\n .append('image')\r\n .attr('xlink:href', d => d.src)\r\n .attr('class', 'image')\r\n .attr('transform', d => 'translate(' + d.X + ',' + d.Y + ') scale(0)')\r\n .attr('opacity', 0);\r\n\r\n centerCircleGroup.selectAll('.docs')\r\n .data(docImages)\r\n .enter()\r\n .append('image')\r\n .attr('xlink:href', d => d.src)\r\n .attr('class', 'docs')\r\n .attr('transform', d => 'translate(' + d.X + ',' + d.Y + ') scale(0)')\r\n .attr('opacity', 0);\r\n\r\n centerCircleGroup.selectAll('.dots')\r\n .data(centerGroupDotsData)\r\n .enter()\r\n .append('circle')\r\n .attr('cx', d => d.X)\r\n .attr('cy', d => d.Y)\r\n .attr('class', 'dots')\r\n .attr('fill', '#C63FC6')\r\n .attr('r', d => d.radius)\r\n .attr('opacity', 0);\r\n\r\n const docLinesColors = ['grey', 'green', 'brown', 'black', 'steelblue']\r\n\r\n const docLinesCordinates = [\r\n [[0, 0], [15, 0]],\r\n [[0, 10], [15, 10]],\r\n [[0, 20], [30, 20]],\r\n [[0, 30], [30, 30]],\r\n [[0, 40], [30, 40]],\r\n [[0, 50], [30, 50]],\r\n ];\r\n\r\n const docLinesGroup = centerCircleGroup.append('g').attr('transform', 'translate(180,175)')\r\n const docLinesData = [];\r\n\r\n docLinesCordinates.forEach((lineData) => {\r\n docLinesData.push(createLine(docLinesGroup, lineData).classed('document-line', true));\r\n });\r\n\r\n function startDocAnimation() {\r\n docLinesData.forEach((lines, i) => {\r\n lines\r\n .attr({\r\n 'opacity': 1,\r\n 'stroke-width': 5,\r\n 'stroke': docLinesColors[i],\r\n 'stroke-linecap': 'round'\r\n }).transition()\r\n .duration(1000)\r\n .delay(i * 500)\r\n .attr('stroke-dashoffset', 0);\r\n });\r\n }\r\n\r\n function animatePlygon(value) {\r\n const polygons = d3.selectAll('.image')\r\n polygons\r\n .transition()\r\n .duration(100)\r\n .attr('transform', (d: any, i) => {\r\n return `translate(${d.finalX}, ${d.finalY}) rotate(${i % 2 === 0 ? value : -value}, ${d.width / 2}, ${d.height / 2})`\r\n })\r\n .each('end', function () {\r\n value += 1;\r\n animatePlygon(value >= 360 ? 0 : value);\r\n });\r\n }\r\n\r\n this._initNplSvgSection('svg-npl-wrapper');\r\n\r\n\r\n const nlpTextGroup = centerCircleGroup.append('g')\r\n .attr('class', 'nlp-text')\r\n .attr('transform', 'translate(60,-32)');\r\n\r\n nlpTextGroup\r\n .append('text')\r\n .attr('font-size', '27px')\r\n .attr('font-weight', 'medium')\r\n .attr('stroke', 'white')\r\n .attr('fill', 'white')\r\n .text('Process Involved in NLP');\r\n\r\n const nlpBottomTextGroup = nlpTextGroup.append('g').attr('transform', 'translate(60,390)')\r\n\r\n nlpBottomTextGroup.append('line')\r\n .attr({\r\n 'x1': 0,\r\n 'y1': 0,\r\n 'x2': 0,\r\n 'y2': 65,\r\n 'stroke': '#ED8B00',\r\n 'stroke-width': 5\r\n })\r\n\r\n\r\n const testLines = [\r\n { text: 'NLP', X: 10, Y: 20, size: '23px', weight: 'bold', stroke: '#ED8B00' },\r\n { text: 'Segregating text based on', X: 10, Y: 40, size: '13px', weight: 'medium', stroke: 'white' },\r\n { text: 'Quality & Structure', X: 10, Y: 60, size: '13px', weight: 'medium', stroke: 'white' }\r\n ];\r\n\r\n nlpBottomTextGroup.selectAll('text')\r\n .data(testLines).enter().append('text')\r\n .attr('font-size', d => d.size)\r\n .attr('font-weight', d => d.weight)\r\n // .attr('stroke', d => d.stroke)\r\n .attr('fill', d => d.stroke)\r\n .attr('x', d => d.X)\r\n .attr('y', d => d.Y)\r\n .text(d => d.text)\r\n\r\n\r\n const benefitGroup = dataGroup.append('g')\r\n .attr({\r\n 'id': 'benefit-main-group',\r\n 'class': 'benefit-main-group',\r\n 'opacity': 0\r\n // 'transform': 'translate(200,231) scale(0,0)'\r\n });\r\n\r\n const chartGroup = benefitGroup.append('g')\r\n .attr({\r\n 'id': 'benefit-chart-main-group',\r\n 'class': 'benefit-chart-main-group',\r\n 'transform': 'translate(82,252)'\r\n });\r\n\r\n // let svg = d3.select(\"#scatter-test1\").append(\"svg\");\r\n\r\n const margin = { top: 50, right: 50, bottom: 50, left: 50 };\r\n const width = 600 - margin.left - margin.right;\r\n const height = 600 - margin.top - margin.bottom;\r\n\r\n chartGroup\r\n .attr('width', width + margin.left + margin.right)\r\n .attr('height', height + margin.top + margin.bottom)\r\n .style('font-family', '\"Roboto\", sans-serif');\r\n\r\n\r\n let pre_endAngle = 0;\r\n const arcArray = [];\r\n\r\n const dataArray = [\r\n { angle: 45, radius: 170, title: 'IMMEDIATE' },\r\n { angle: 130, radius: 200, title: 'SPECIFIC' },\r\n { angle: 100, radius: 235, title: 'BALANCED' },\r\n { angle: 85, radius: 200, title: 'FOCUSED' }\r\n ];\r\n\r\n const degToRad = d => (d * Math.PI) / 180;\r\n\r\n for (let key in dataArray) {\r\n let arcAngle = degToRad(dataArray[key].angle);\r\n let startAngle = pre_endAngle;\r\n let endAngle = startAngle + arcAngle;\r\n pre_endAngle = endAngle;\r\n arcArray.push({\r\n title: dataArray[key].title,\r\n data: dataArray[key].angle,\r\n index: key,\r\n value: dataArray[key].angle,\r\n startAngle: startAngle,\r\n endAngle: endAngle,\r\n outerRadius: dataArray[key].radius\r\n });\r\n }\r\n const arc = d3.svg.arc()\r\n .innerRadius(26 * 3)\r\n .outerRadius(d => d.outerRadius);\r\n\r\n const g = chartGroup\r\n .append('g')\r\n .attr('height', height)\r\n .attr('width', width)\r\n .attr('transform', 'translate(' + width / 2 + ',' + height / 2 + ')');\r\n\r\n g.selectAll('path')\r\n .data(arcArray)\r\n .enter()\r\n .append('path')\r\n .attr('class', 'benefit-arc')\r\n // .attr('fill', (d, i) => color[i]);\r\n .attr('fill', `url(${that.currentRelativeUrl}#arcColor)`);\r\n\r\n\r\n const chartGroupCenterCircle = [\r\n { radius: 100, fill: '#0F3A71' },\r\n { radius: 70, fill: '#ED8B0D' }\r\n ];\r\n\r\n g.selectAll('circle')\r\n .data(chartGroupCenterCircle)\r\n .enter()\r\n .append('circle')\r\n .attr('class', 'main-circle')\r\n .attr('fill', d => d.fill)\r\n\r\n g.append('text')\r\n .attr('opacity', 1)\r\n .attr('x', 0)\r\n .attr('y', 0)\r\n .attr('class', 'arc-center-text')\r\n .attr('fill', '#000000')\r\n .style({\r\n 'font-size': '26px',\r\n 'transform': 'translate(-46px, 10px)'\r\n })\r\n .text('LABELS')\r\n .attr('opacity', 0);\r\n\r\n const graphText = []\r\n arcArray.forEach(value => {\r\n const position = arc.centroid(value)\r\n graphText.push({ X: position[0], Y: position[1] })\r\n })\r\n\r\n\r\n g.selectAll('.arc-text')\r\n .data(graphText)\r\n .enter()\r\n .append('text')\r\n .attr('opacity', 0)\r\n .attr('x', d => d.X - 30)\r\n .attr('y', d => d.Y)\r\n .attr('class', 'arc-text')\r\n .attr('fill', 'white')\r\n .attr('font-size', 15)\r\n .attr('dy', '0.33em')\r\n .text((d, i) => arcArray[i].title);\r\n\r\n // g.append('circle')\r\n // .attr('r', 25 * 4)\r\n // .attr('fill', '#0F3A71');\r\n\r\n // g.append('circle')\r\n // .attr('r', 35 * 2)\r\n // .attr('fill', '#ED8B0D');\r\n\r\n\r\n function arcAnimation() {\r\n chartGroup.selectAll('.benefit-arc').attr('d', '');\r\n chartGroup.selectAll('.benefit-arc')\r\n .transition()\r\n .delay((d, i) => i * 500)\r\n .attrTween('d', (d: any) => {\r\n const i = d3.interpolate(d.startAngle + 0.1, d.endAngle);\r\n return function (t) {\r\n d.endAngle = i(t);\r\n return arc(d);\r\n };\r\n });\r\n\r\n\r\n g.selectAll('.arc-text')\r\n .transition()\r\n .delay((d, i) => i * 500)\r\n .duration(500)\r\n .attr('opacity', 1)\r\n }\r\n\r\n function resetScreen() {\r\n // commonGroup.select('#director-board-img').attr('opacity', 0);\r\n // centerCircleGroup.attr('opacity', 0);\r\n commonGroup.attr('opacity', 0);\r\n currentProcess.attr('opacity', 0);\r\n processFirstPart.attr('opacity', 0);\r\n processSecondPart.attr('opacity', 0);\r\n // solutionGroup.attr('opacity', 0);\r\n benefitGroup.attr('opacity', 0);\r\n nlpTextGroup.attr('opacity', 0);\r\n nlpBottomTextGroup.attr('opacity', 0);\r\n that.isShowScreen4 = false;\r\n that.isShowScreen6 = false;\r\n // hideSwitchAnimation('switch-line-0');\r\n // hideSwitchAnimation('switch-line-1');\r\n // hideSwitchAnimation('switch-line-2');\r\n }\r\n\r\n const switchLineId = 'switch-line-';\r\n\r\n function showScreen5() {\r\n // commonGroup.attr('opacity', 1);\r\n if (!visitedScreen.screen5) {\r\n visitedScreen.screen5 = true;\r\n that.checkBox1.nativeElement.click();\r\n }\r\n // startSwitchAnimation(`switch-line-0`);\r\n // startSwitchAnimation(`switch-line-1`);\r\n // startSwitchAnimation(`switch-line-2`);\r\n centerCircleGroup\r\n .transition()\r\n .duration(400)\r\n .attr({\r\n 'opacity': 0.1,\r\n 'transform': 'translate(696,360)',\r\n });\r\n\r\n\r\n }\r\n\r\n function showScreen4() {\r\n that.isShowScreen4 = true;\r\n nlpTextGroup.attr('opacity', 1);\r\n nlpBottomTextGroup.attr('opacity', 1);\r\n commonGroup.attr('opacity', 1);\r\n centerCircleGroup.attr('opacity', 1);\r\n if (!visitedScreen.screen4) {\r\n visitedScreen.screen4 = true;\r\n\r\n\r\n centerCircleGroup.selectAll('.image')\r\n .attr('opacity', 1)\r\n .transition()\r\n .delay((d, i) => i * 200)\r\n .duration(500)\r\n .attr('transform', d => `translate(${d.finalX},${d.finalY}) scale(1, 1)`)\r\n .call(endAll, function () {\r\n centerCircleGroup.selectAll('.docs')\r\n .attr('opacity', 1)\r\n .transition()\r\n .delay((d, i) => i * 200)\r\n .duration(500)\r\n .attr('transform', d => `translate(${d.finalX},${d.finalY}) scale(1, 1)`)\r\n .call(endAll, function () {\r\n animatePlygon(0);\r\n\r\n startDocAnimation();\r\n // centerCircleGroup.selectAll('.doc-line')\r\n // .transition()\r\n // .duration(500)\r\n // .delay((d, i) => i * 500)\r\n // .attr('width', d => d.width)\r\n // .attr('height', d => d.height);\r\n\r\n centerCircleGroup.selectAll('.dots')\r\n .transition()\r\n .delay((d, i) => i * 200)\r\n .attr('opacity', 1);\r\n });\r\n });\r\n } else {\r\n\r\n centerCircleGroup\r\n .transition()\r\n .duration(200)\r\n .attr({\r\n 'opacity': 1,\r\n 'transform': 'translate(696,310)',\r\n });\r\n\r\n }\r\n }\r\n\r\n function hideScreen4elements() {\r\n centerCircleGroup.transition().attr('opacity', 0);\r\n }\r\n\r\n function hidescreen2Elemenets() {\r\n // console.log(\"hidescreen2Elemenets triggered\");\r\n commonGroup.select('#director-img')\r\n .attr('height', (d) => d.height)\r\n .attr('width', (d) => d.width)\r\n .transition()\r\n .duration(0)\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .attr('opacity', 0);\r\n\r\n currentProcess.select('#screen-1-2-img-4')\r\n .transition()\r\n .duration(0)\r\n .attr({\r\n 'transform': (d) => `translate(${d.finalX}, ${d.finalY})`,\r\n 'opacity': 1\r\n });\r\n }\r\n\r\n function hideDirectorElement() {\r\n commonGroup.select('#director-board-img')\r\n .transition()\r\n .ease('linear')\r\n .duration(1)\r\n .attr('transform', (d) => `translate(${d.x}, ${d.y}) scale(0)`);\r\n\r\n commonGroup.select('#director-img')\r\n .attr('height', (d) => d.scaleHeight)\r\n .attr('width', (d) => d.scaleWidth)\r\n .attr('transform', (d) => `translate(${d.newX}, ${d.newY})`)\r\n .transition()\r\n .duration(1)\r\n .attr('opacity', 0);\r\n }\r\n\r\n function animateNotification() {\r\n\r\n\r\n\r\n smallNotificationGroup.attr('opacity', 1);\r\n smallNotificationGroup.selectAll('.message-line').each(function (item, i) {\r\n const index = i + 2;\r\n repeatTransition(`small-note-${index}`, d3.select(this), 1000, 200, index === 7 ? function () {\r\n notificationGroup.attr('opacity', 1);\r\n notificationGroup.selectAll('.notification')\r\n .transition()\r\n .delay((d, i) => i * 500)\r\n .duration(500)\r\n .ease('bounce')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY}) scale(1)`)\r\n .attr('opacity', 1)\r\n .call(endAll, function () {\r\n // console.log('end');\r\n });\r\n } : '');\r\n });\r\n }\r\n return {\r\n changeScreen() {\r\n resetScreen();\r\n if (that.activeStartSlide === 'screen-1') {\r\n if (visitedScreen.screen2) {\r\n hidescreen2Elemenets();\r\n }\r\n if (!visitedScreen.screen1) {\r\n visitedScreen.screen1 = true;\r\n currentProcess.select('#screen-1-img-1')\r\n .transition()\r\n .duration(500)\r\n .ease('linear')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .attr('opacity', 1)\r\n .call(endAll, () => {\r\n currentProcess.select('#screen-1-img-2')\r\n .transition()\r\n .delay(100)\r\n .duration(500)\r\n .ease('linear')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .attr('opacity', 1)\r\n .call(endAll, function () {\r\n currentProcess.select('#screen-1-img-5')\r\n .transition()\r\n .delay(100)\r\n .duration(500)\r\n .ease('linear')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .attr('opacity', 1)\r\n .call(endAll, function () {\r\n currentProcess.select('#screen-1-img-3')\r\n .transition()\r\n .delay(100)\r\n .duration(500)\r\n .ease('linear')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .attr('opacity', 1)\r\n .call(endAll, function () {\r\n currentProcess.select('#screen-1-img-4')\r\n .transition()\r\n .delay(100)\r\n .duration(500)\r\n .ease('linear')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .attr('opacity', 1)\r\n .call(endAll, function () {\r\n bubbleGroup.attr('opacity', 1);\r\n bubbleGroup.selectAll('.bubble')\r\n .transition()\r\n .delay((d, i) => i * 500)\r\n .duration(500)\r\n .ease('bounce')\r\n .attr('opacity', 1)\r\n .attr('height', (d) => d.height)\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .call(endAll, function () {\r\n startConversationAnimation();\r\n setTimeout(() => {\r\n startIpadAnimation();\r\n }, 1000);\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n } else {\r\n startConversationAnimation();\r\n startIpadAnimation();\r\n }\r\n currentProcess.attr('opacity', 1);\r\n processFirstPart.attr('opacity', 1);\r\n }\r\n if (that.activeStartSlide === 'screen-2') {\r\n\r\n if (visitedScreen.screen3) {\r\n // PB Start\r\n screen3ForwardAnimationStart = false; //Stop all forward animation\r\n hideScreen3Elements();\r\n challengesGroup.selectAll('.challenges')\r\n .interrupt() //Interrupt all challenges transition\r\n .attr('opacity', 0); //Hide all challenges transition\r\n // PB End\r\n }\r\n\r\n if (!visitedScreen.screen2) {\r\n visitedScreen.screen2 = true;\r\n currentProcess.select('#screen-1-2-img-1').attr('opacity', 1)\r\n .transition()\r\n .duration(500)\r\n .ease('linear')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`);\r\n\r\n currentProcess.select('#screen-1-2-img-2')\r\n .transition()\r\n .delay(500)\r\n .duration(500)\r\n .ease('linear')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .attr('opacity', 1)\r\n .call(endAll, () => {\r\n commonGroup.attr('opacity', 1);\r\n if (that.activeStartSlide === 'screen-2') {\r\n commonGroup.select('#director-img')\r\n .transition()\r\n .delay(100)\r\n .duration(500)\r\n .ease('linear')\r\n .attr('height', (d) => d.height)\r\n .attr('width', (d) => d.width)\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .attr('opacity', 1)\r\n .call(endAll, function () {\r\n currentProcess.select('#screen-1-2-img-4')\r\n .transition()\r\n .delay(100)\r\n .duration(500)\r\n .ease('linear')\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .attr('opacity', 1)\r\n .call(endAll, function () {\r\n if (that.previousTraversedSlide === 'screen-1') {\r\n animateNotification();\r\n }\r\n });\r\n });\r\n }\r\n });\r\n } else {\r\n currentProcess.selectAll('.slide-1-2').attr('opacity', 0);\r\n notificationGroup.attr('opacity', 0);\r\n notificationGroup.selectAll('.notification')\r\n .attr({\r\n 'opacity': 0,\r\n 'transform': (d) => `translate(${d.x}, ${d.y}) scale(0)`\r\n });\r\n\r\n\r\n currentProcess.select('#screen-1-2-img-4')\r\n .attr({\r\n 'opacity': 1,\r\n 'transform': (d) => `translate(${d.finalX}, ${d.finalY})`,\r\n });\r\n\r\n commonGroup.select('#director-img')\r\n .transition()\r\n .attr('height', (d) => d.height)\r\n .attr('width', (d) => d.width)\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n .attr('opacity', 1);\r\n\r\n setTimeout(() => {\r\n currentProcess.selectAll('.slide-1-2')\r\n .transition()\r\n .duration(50)\r\n .attr('opacity', 1)\r\n .call(endAll, () => {\r\n animateNotification();\r\n });\r\n\r\n }, 200);\r\n }\r\n commonGroup.attr('opacity', 1);\r\n currentProcess.attr('opacity', 1);\r\n processSecondPart.attr('opacity', 1);\r\n }\r\n if (that.activeStartSlide === 'screen-3') {\r\n commonGroup.attr('opacity', 1);\r\n commonGroup.select('#director-board-img')\r\n .transition()\r\n .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY}) scale(1)`)\r\n .attr('opacity', 1);\r\n if (visitedScreen.screen4) {\r\n hideScreen4elements();\r\n }\r\n if (!visitedScreen.screen3) {\r\n visitedScreen.screen3 = true;\r\n }\r\n commonGroup.select('#director-img')\r\n .transition()\r\n .duration(500)\r\n .ease('linear')\r\n .attr('height', (d) => d.scaleHeight)\r\n .attr('width', (d) => d.scaleWidth)\r\n .attr('transform', (d) => `translate(${d.newX}, ${d.newY})`)\r\n .attr('opacity', 1)\r\n .call(endAll, () => {\r\n // TODO : pratik call next function\r\n startMonitorAnimation(); // PB\r\n });\r\n }\r\n // PB Start\r\n if (that.activeStartSlide === 'screen-4') {\r\n if (that.previousTraversedSlide === 'screen-3') {\r\n commonGroup.attr('opacity', 1);\r\n closeExcelSectionAnimation();\r\n }\r\n if (that.previousTraversedSlide === 'screen-5') {\r\n showScreen4();\r\n }\r\n\r\n }\r\n // PB End\r\n if (that.activeStartSlide === 'screen-5') {\r\n // solutionGroup.attr('opacity', 1);\r\n hideDirectorElement();\r\n if (!visitedScreen.screen4) {\r\n visitedScreen.screen4 = true;\r\n centerCircleGroup.selectAll('.image').attr('opacity', 1)\r\n .transition()\r\n .duration(0)\r\n .call(endAll, function () {\r\n centerCircleGroup.selectAll('.docs').attr('opacity', 1)\r\n .transition()\r\n .duration(0)\r\n .call(endAll, function () {\r\n animatePlygon(0);\r\n docLinesData.forEach((lines, i) => {\r\n lines\r\n .attr({\r\n 'opacity': 1,\r\n 'stroke-width': 5,\r\n 'stroke': docLinesColors[i],\r\n 'stroke-linecap': 'round'\r\n })\r\n .transition()\r\n .attr('stroke-dashoffset', 0);\r\n });\r\n centerCircleGroup.selectAll('.dots').attr('opacity', 1);\r\n });\r\n });\r\n }\r\n commonGroup.attr('opacity', 1);\r\n showScreen5();\r\n }\r\n if (that.activeStartSlide === 'screen-6') {\r\n setTimeout(() => {\r\n that.isShowScreen6 = true;\r\n benefitGroup.attr('opacity', 1);\r\n hideDirectorElement();\r\n // arcAnimation();\r\n\r\n if (!visitedScreen.screen6) {\r\n visitedScreen.screen6 = true;\r\n chartGroup.selectAll('.benefit-arc').attr('d', '');\r\n g.selectAll('.arc-text').attr('opacity', 0);\r\n\r\n g.selectAll('.main-circle')\r\n .attr('r', 0)\r\n .transition()\r\n .delay((d, i) => i * 1200)\r\n .duration(1200)\r\n .attr('r', d => d.radius)\r\n .call(endAll, function () {\r\n g.selectAll('.arc-center-text').attr('opacity', 1);\r\n arcAnimation();\r\n });\r\n }\r\n }, 500);\r\n }\r\n switch (that.activeStartSlide) {\r\n case 'screen-1':\r\n baseImage = '/assets/images/field-coaching/screen1.png';\r\n break;\r\n case 'screen-2':\r\n baseImage = '/assets/images/field-coaching/screen2.png';\r\n break;\r\n case 'screen-3':\r\n baseImage = '/assets/images/field-coaching/screen3.png';\r\n break;\r\n case 'screen-4':\r\n baseImage = '/assets/images/field-coaching/screen5.png';\r\n break;\r\n case 'screen-5':\r\n baseImage = '/assets/images/field-coaching/screen5.png';\r\n break;\r\n default:\r\n baseImage = '/assets/images/field-coaching/screen6.png';\r\n break;\r\n }\r\n // image.attr('xlink:href', baseImage);\r\n },\r\n resize() {\r\n const aspect = resize();\r\n },\r\n destroy() {\r\n d3.selectAll('.animate').interrupt();\r\n d3.selectAll('.challenges').interrupt();\r\n }\r\n };\r\n }\r\n\r\n\r\n private _initNplSvgSection(containerId) {\r\n const container = d3.select('#' + containerId);\r\n const WIDTH = 720;\r\n const HEIGHT_OFFSET = 365 / 720;\r\n const HEIGHT = WIDTH * HEIGHT_OFFSET;\r\n const svg = container.append('svg')\r\n .attr('width', WIDTH)\r\n .attr('height', HEIGHT)\r\n /* .on('click', function () {\r\n console.log(d3.mouse(this));\r\n }) */;\r\n\r\n const solutionGroup = svg.append('g')\r\n .attr({\r\n 'id': 'solution-main-group',\r\n 'class': 'solution-main-group',\r\n // 'transform': 'translate(200,231) scale(0,0)'\r\n });\r\n\r\n const lineGroup = solutionGroup.append('g')\r\n .attr({\r\n 'id': 'solution-line-main-group',\r\n 'class': 'solution-line-main-group',\r\n // 'transform': 'translate(200,231) scale(0,0)'\r\n });\r\n\r\n\r\n // Left View Lines\r\n const switchCordinates = [\r\n [[44, 102], [38, 102], [38, 172], [52, 172]],\r\n [[44, 57], [18, 57], [18, 228], [52, 228]],\r\n [[44, 12], [2, 12], [2, 295], [52, 295]]\r\n ];\r\n\r\n const switchLineData = [];\r\n\r\n switchCordinates.forEach((lineData, i) => {\r\n // tslint:disable-next-line: max-line-length\r\n switchLineData.push(this.createDashedLine(`switch-line-${i}`, lineGroup, lineData, 'dashed-lines', '#ffffff', '8,3', 1).classed('switch-lines animate', true));\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n onSwitchClick(event, switchId, blockId) {\r\n if (event.target.checked) {\r\n this.startSwitchAnimation(switchId, blockId);\r\n if (event.target.id === 'checkbox1') {\r\n this._renderer.addClass(document.getElementById('right-file'), 'active');\r\n if (!this.checkBox2.nativeElement.checked) {\r\n this.checkBox2.nativeElement.click();\r\n }\r\n if (!this.checkBox3.nativeElement.checked) {\r\n this.checkBox3.nativeElement.click();\r\n }\r\n }\r\n } else {\r\n this.hideSwitchAnimation(switchId);\r\n this._renderer.addClass(document.getElementById(blockId), 'hidden');\r\n if (event.target.id === 'checkbox1') {\r\n this._renderer.removeClass(document.getElementById('right-file'), 'active');\r\n }\r\n }\r\n }\r\n\r\n private startSwitchAnimation(id, blockId) {\r\n const switchLine = d3.select(`#${id}`);\r\n switchLine\r\n .attr({\r\n 'stroke-dashoffset': switchLine.node().getTotalLength(),\r\n 'opacity': 1\r\n }).\r\n transition()\r\n .attr('stroke-dashoffset', 0)\r\n .each('end', () => {\r\n this._renderer.removeClass(document.getElementById(blockId), 'hidden');\r\n });\r\n }\r\n\r\n private hideSwitchAnimation(id) {\r\n // console.log(\"hideSwitchAnimation: \", id);\r\n const switchLine = d3.select(`#${id}`);\r\n switchLine\r\n .transition()\r\n .attr({\r\n 'stroke-dashoffset': switchLine.node().getTotalLength(),\r\n 'opacity': 0\r\n });\r\n }\r\n\r\n private _line() {\r\n return d3.svg.line()\r\n .x((d) => d[0]) // set the x values for the line generator\r\n .y((d) => d[1]);\r\n // .interpolate('basis'); // set the y values for the line generator\r\n }\r\n\r\n\r\n private createDashedLine(id, group, lineData, className, strokeColor = '#000000', strokeDash = 'none', strokeWidth = 1) {\r\n return group.append('path')\r\n .datum(lineData)\r\n .attr('d', this._line())\r\n .attr('stroke', strokeColor)\r\n .attr('id', id)\r\n .attr('class', className)\r\n .attr('stroke-width', strokeWidth)\r\n .attr('stroke-dasharray', function (d: any) {\r\n d.pathLength = d3.select(this).node().getTotalLength();\r\n const dashing = '8, 3';\r\n const dashLength =\r\n dashing\r\n .split(/[\\s,]/)\r\n .map(function (a) { return parseFloat(a) || 0 })\r\n .reduce(function (a, b) { return a + b; });\r\n\r\n // console.log('dashLength', dashLength);\r\n const dashCount = Math.ceil(d.pathLength / dashLength);\r\n // console.log('dashCount', dashCount);\r\n\r\n const newDashes = new Array(dashCount).join(dashing + ' ');\r\n const dashArray = newDashes + ' 10 , ' + (d.pathLength + 7);\r\n // return `${d.pathLength}, ${d.pathLength}`;\r\n return dashArray;\r\n })\r\n // .attr('stroke-dashoffset', (d: any) => d.pathLength)\r\n .attr('stroke-dashoffset', (d: any) => d.pathLength + 7)\r\n .attr('fill', 'none');\r\n }\r\n\r\n onTryOurApp() {\r\n const dialogRef = this.dialog.open(FieldCoachingAppDialogComponent, {\r\n maxWidth: '98%',\r\n width: '98%',\r\n height: '98%',\r\n // data: user.userId\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this._unsubscribeResize) {\r\n this._unsubscribeResize();\r\n }\r\n\r\n if (this._svgSection) {\r\n this._svgSection.destroy();\r\n }\r\n this.dataShareService.onCustomEvent.next({ event: 'removeClassToElement', data: {selector: '#header', class: 'humburger-header'}});\r\n }\r\n\r\n}\r\n","module.exports = \".grid-widget h4 {\\r\\n font-size: 16px;\\r\\n}\\r\\n.grid-widget .flip-container{\\r\\n background-size: 100% 100%!important;\\r\\n box-shadow: 0px 2px 14px -3px rgba(0,0,0,0.75); \\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9ncmlkLXdpZGdldC9ncmlkLXdpZGdldC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksZ0JBQWdCO0NBQ25CO0FBQ0Q7Q0FDQyxxQ0FBcUM7Q0FHbEMsK0NBQStDO0NBQ2xEIiwiZmlsZSI6InNyYy9hcHAvd2lkZ2V0cy9ncmlkLXdpZGdldC9ncmlkLXdpZGdldC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmdyaWQtd2lkZ2V0IGg0IHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG4uZ3JpZC13aWRnZXQgLmZsaXAtY29udGFpbmVye1xyXG4gYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCUhaW1wb3J0YW50OyBcclxuIC13ZWJraXQtYm94LXNoYWRvdzogLTFweCA2cHggMTdweCAtNHB4IHJnYmEoMCwwLDAsMC43NSk7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IC0xcHggNnB4IDE3cHggLTRweCByZ2JhKDAsMCwwLDAuNzUpO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAxNHB4IC0zcHggcmdiYSgwLDAsMCwwLjc1KTsgICBcclxufVxyXG4iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, Input, ViewEncapsulation } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\n\r\nimport { DialogBoxD3TreeComponent } from '../../common/components/dialog-box-d3-tree/dialog-box-d3-tree.component';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { WidgetService } from '../widgets.service';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-grid-widget',\r\n templateUrl: './grid-widget.component.html',\r\n styleUrls: ['./grid-widget.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class GridWidgetComponent implements OnInit {\r\n @Input() widgetData;\r\n data;\r\n\r\n constructor(public dialog: MatDialog, private _sanitizer: DomSanitizer, private widgetService: WidgetService) {\r\n this.widgetService.triggerDataChangeForDTGridWidget.subscribe((updatedDataInfo) => {\r\n if (updatedDataInfo.formField.uniqueNameTree201 && updatedDataInfo.formField.uniqueNameTree201.length) {\r\n this.updateChart(updatedDataInfo);\r\n } else {\r\n this.resetToOrignal();\r\n }\r\n });\r\n }\r\n\r\n updateChart(updatedDataInfo) {\r\n const category = updatedDataInfo.formField.uniqueNameTree201;\r\n this.data = _.filter(this.widgetData.data, function (o) { return o.category === category; });\r\n }\r\n\r\n resetToOrignal() {\r\n this.data = this.widgetData.data;\r\n }\r\n\r\n ngOnInit() {\r\n this.data = this.widgetData.data;\r\n }\r\n\r\n onGridClick(gridData) {\r\n if (gridData.isClickable) {\r\n this.openDialog(gridData);\r\n }\r\n }\r\n\r\n openDialog(gridData) {\r\n const dialogRef = this.dialog.open(DialogBoxD3TreeComponent, {\r\n data: { treedata: gridData, widgetData: this.widgetData }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n // console.log('The dialog was closed');\r\n });\r\n }\r\n\r\n sanitizeURL(url) {\r\n if (!url) {\r\n return `#ccc no-repeat`;\r\n }\r\n return this._sanitizer.bypassSecurityTrustStyle(`#ccc url(${url}) no-repeat`);\r\n }\r\n\r\n getClassName(category) {\r\n return category.split(' ').join('-');\r\n }\r\n}\r\n","module.exports = \"\\r\\n.axis path,\\r\\n.axis line {\\r\\n fill: none;\\r\\n stroke: #000;\\r\\n shape-rendering: crispEdges;\\r\\n}\\r\\n.text-font{\\r\\n font-family: 'Roboto', sans-serif;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9ncm91cGVkLXN0YWNrLWNoYXJ0L2dyb3VwZWQtc3RhY2stY2hhcnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7O0VBRUUsV0FBVztFQUNYLGFBQWE7RUFDYiw0QkFBNEI7Q0FDN0I7QUFDRDtFQUNFLGtDQUFrQztDQUNuQyIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvZ3JvdXBlZC1zdGFjay1jaGFydC9ncm91cGVkLXN0YWNrLWNoYXJ0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLmF4aXMgcGF0aCxcclxuLmF4aXMgbGluZSB7XHJcbiAgZmlsbDogbm9uZTtcclxuICBzdHJva2U6ICMwMDA7XHJcbiAgc2hhcGUtcmVuZGVyaW5nOiBjcmlzcEVkZ2VzO1xyXG59XHJcbi50ZXh0LWZvbnR7XHJcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xyXG59Il19 */\"","module.exports = \"
\\r\\n\"","import { Component, OnInit, Input, ViewEncapsulation, ViewChild, ElementRef } from '@angular/core';\r\nimport { __importDefault } from 'tslib';\r\n\r\ndeclare let d3: any;\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-grouped-stack-chart',\r\n templateUrl: './grouped-stack-chart.component.html',\r\n styleUrls: ['./grouped-stack-chart.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class GroupedStackChartComponent implements OnInit {\r\n\r\n @Input() gridData;\r\n @ViewChild('groupedStackChart') chartElement: ElementRef;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.loadChart(_.map(this.gridData.data, _.clone));\r\n }\r\n\r\n loadChart(data) {\r\n var margin = { top: 40, right: 20, bottom: 30, left: 65 },\r\n width = 700 - margin.left - margin.right,\r\n height = 500 - margin.top - margin.bottom;\r\n\r\n var x0 = d3.scale.ordinal()\r\n .rangeRoundBands([0, width], 0.4);\r\n\r\n var x1 = d3.scale.ordinal();\r\n\r\n var y = d3.scale.linear()\r\n .range([height, 0]);\r\n\r\n var xAxis = d3.svg.axis()\r\n .scale(x0)\r\n .orient(\"bottom\");\r\n\r\n var yAxis = d3.svg.axis()\r\n .scale(y)\r\n .orient(\"left\")\r\n .tickFormat(d3.format(\".2s\"));\r\n\r\n var color = d3.scale.ordinal()\r\n .range([\"#f36152\", \"#2fbcd1\"]);\r\n\r\n var svg = d3.select(this.chartElement.nativeElement).append(\"svg\")\r\n .attr(\"width\", width + margin.left + margin.right)\r\n .attr(\"height\", height + margin.top + margin.bottom)\r\n .append(\"g\")\r\n .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\");\r\n\r\n var yBegin;\r\n\r\n var innerColumns = {\r\n \"column\": [\"Writer\", \"Non Writer\"]\r\n }\r\n\r\n var columnHeaders = d3.keys(data[0]).filter(function (key) { return key !== \"PerformanceBand\"; });\r\n color.domain(d3.keys(data[0]).filter(function (key) { return key !== \"PerformanceBand\"; }));\r\n data.forEach(function (d) {\r\n var yColumn = new Array();\r\n d.columnDetails = columnHeaders.map(function (name) {\r\n for (let ic in innerColumns) {\r\n if (innerColumns[ic] && (_.indexOf(innerColumns[ic], name) >= 0)) {\r\n if (!yColumn[ic]) {\r\n yColumn[ic] = 0;\r\n }\r\n yBegin = yColumn[ic];\r\n yColumn[ic] += +d[name];\r\n return { name: name, column: ic, yBegin: yBegin, yEnd: +d[name] + yBegin, };\r\n }\r\n }\r\n });\r\n d.total = d3.max(d.columnDetails, function (d) {\r\n return d.yEnd;\r\n });\r\n });\r\n\r\n x0.domain(data.map(function (d) { return d.PerformanceBand; }));\r\n x1.domain(d3.keys(innerColumns)).rangeRoundBands([0, x0.rangeBand()]);\r\n\r\n y.domain([0, d3.max(data, function (d) {\r\n return d.total;\r\n })]);\r\n\r\n svg.append(\"g\")\r\n .attr(\"class\", \"x axis text-font\")\r\n .attr(\"transform\", \"translate(0,\" + height + \")\")\r\n .call(xAxis);\r\n\r\n // svg.append(\"g\")\r\n // .attr(\"class\", \"y axis text-font\")\r\n // .style('opacity', '0')\r\n // .call(yAxis)\r\n // .append(\"text\")\r\n // .attr(\"transform\", \"rotate(-90)\")\r\n // .attr(\"y\", 6)\r\n // .attr(\"dy\", \".7em\")\r\n // .style(\"text-anchor\", \"end\")\r\n // .text(\"Value\");\r\n\r\n svg.append(\"g\")\r\n .attr(\"class\", \"y axis text-font\")\r\n .style('opacity', '0')\r\n .call(yAxis)\r\n .append(\"text\")\r\n .attr(\"transform\", \"rotate(-90)\")\r\n .attr(\"y\", -45)\r\n .attr(\"x\", -(height / 2) + 25)\r\n .attr(\"dy\", \"-0.6em\")\r\n .style(\"text-anchor\", \"end\")\r\n .style('font-weight', 'bold')\r\n .text(\"Value\");\r\n\r\n svg.select('.y').transition().duration(500).delay(1300).style('opacity', '1');\r\n\r\n var project_stackedbar = svg.selectAll(\".project_stackedbar\")\r\n .data(data)\r\n .enter().append(\"g\")\r\n .attr(\"class\", \"g\")\r\n .attr(\"transform\", function (d) { return \"translate(\" + x0(d.PerformanceBand) + \",0)\"; });\r\n\r\n project_stackedbar.selectAll(\"rect\")\r\n .data(function (d) { return d.columnDetails; })\r\n .enter().append(\"rect\")\r\n .attr(\"width\", x1.rangeBand())\r\n .attr(\"x\", function (d) {\r\n return x1(d.column);\r\n })\r\n .attr(\"y\", function (d) {\r\n return y(0);\r\n })\r\n .attr(\"height\", function (d) {\r\n return y(0) - y(0);\r\n })\r\n .style(\"fill\", function (d) { return color(d.name); })\r\n .on(\"mouseover\", function (d) {\r\n d3.select(this).style(\"fill\", d3.rgb(color(d.name)).darker(1));\r\n div.style('display', 'inline');\r\n })\r\n .on(\"mousemove\",\r\n function (d) {\r\n div\r\n .html(d.yEnd - d.yBegin)\r\n .style('left', (d3.event.pageX + 15) + 'px')\r\n .style('top', (d3.event.pageY - 20) + 'px');\r\n }\r\n ).on('mouseout', function(d) {\r\n d3.select(this).style(\"fill\", color(d.name));\r\n\r\n div.style('display', 'none');\r\n });\r\n\r\n\r\n\r\n project_stackedbar.selectAll(\"rect\")\r\n .transition()\r\n .delay(function (d) { return Math.random() * 1000; })\r\n .duration(1000)\r\n .attr(\"y\", function (d) { return y(d.yEnd); })\r\n .attr(\"height\", function (d) { return y(d.yBegin) - y(d.yEnd); });\r\n\r\n //Legend\r\n var legend = svg.selectAll(\".legend\")\r\n .data(this.gridData.legends)\r\n .enter().append(\"g\")\r\n .attr(\"class\", \"legend\")\r\n //.attr(\"transform\", function (d, i) { console.log(\"i: \",i); return \"translate(0,\" + i * 20 + \")\"; })\r\n //.attr(\"transform\", function (d, i) { return \"translate(\"+ margin.left+\", \"+margin.right+\")\"; })\r\n .attr(\"transform\", function (d, i) { return \"translate(\" + (i == 0 ? -60 : -175) + \", -35)\"; })\r\n .style(\"opacity\", \"0\");\r\n\r\n\r\n legend.append(\"rect\")\r\n .attr(\"x\", width - 18)\r\n .attr(\"width\", 18)\r\n .attr(\"height\", 18)\r\n .style(\"fill\", function (d) { return color(d); });\r\n\r\n legend.append(\"text\")\r\n .attr(\"x\", width - 24)\r\n .attr(\"y\", 9)\r\n .attr(\"dy\", \".35em\")\r\n .attr(\"class\", \"text-font\")\r\n .style(\"text-anchor\", \"end\")\r\n .style(\"fill\", \"#000\")\r\n .text(function (d) { return d; });\r\n\r\n legend.transition().duration(500).delay(function (d, i) { return 1300 + 100 * i; }).style(\"opacity\", \"1\");\r\n\r\n var div = d3.select('body').append('div')\r\n .attr('class', 'graph-tooltip dark')\r\n .attr('id', 'grouped-stack-chart-custom-tooltip')\r\n .style('display', 'none');\r\n\r\n }\r\n OnDestroy() {\r\n d3.select(\"#grouped-stack-chart-custom-tooltip\").remove();\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
Data not available
\\r\\n\"","import { Component, OnInit, Input} from '@angular/core';\r\n// import { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n\r\n@Component({\r\n selector: 'app-guide-book',\r\n templateUrl: './guide-book.component.html'\r\n})\r\nexport class GuideBookComponent implements OnInit {\r\n \t@Input() widgetData;\r\n\tdata;\r\n \thtmlString;\r\n\r\n\t// constructor(private _sanitizer: DomSanitizer) {\r\n // \t}\r\n\r\n \tngOnInit() {\r\n \t\t// console.log(\"this.data..........\", this.data)\r\n \t\tthis.htmlString = this.widgetData.data.htmlString;\r\n \t}\r\n\r\n \t/*public get sanitizedHtmlProperty() : SafeHtml {\r\n \treturn this._sanitizer.sanitize(SecurityContext.HTML, this.htmlString);\r\n \t}*/\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\"","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-html-viewer',\r\n templateUrl: './html-viewer.component.html'\r\n})\r\nexport class HtmlViewerComponent implements OnInit {\r\n \t@Input() data;\r\n\r\n\r\n \tngOnInit() {\r\n \t\t// console.log(\"this.data\", this.data)\r\n \t}\r\n}\r\n","module.exports = \"
Image not found
\\r\\n\\r\\n
\\r\\n\\t

{{data.title}}

\\r\\n \\r\\n
\\r\\n\"","import { Component, OnInit, Input, SecurityContext } from '@angular/core';\r\n// import {DomSanitizer} from '@angular/platform-browser';\r\n// import { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n\r\n@Component({\r\n selector: 'app-image-viewer',\r\n templateUrl: './image-viewer.component.html'\r\n})\r\nexport class ImageViewer implements OnInit {\r\n \t/*@Input() data;\r\n\r\n \tconstructor(private _DomSanitizationService: DomSanitizer) {}\r\n\r\n \tngOnInit() {\r\n \t\tthis.data = this._DomSanitizationService.bypassSecurityTrustUrl(this.data);\r\n \t\t// console.log(this.data)\r\n \t}*/\r\n \t@Input() widgetData;\r\n\tdata;\r\n\t// htmlString;\r\n\t// url;\r\n\r\n\t/*constructor(private _sanitizer: DomSanitizer) {\r\n \t}*/\r\n\t// constructor(private _sanitizer: DomSanitizer) {\r\n \t// }\r\n \tngOnInit() {\r\n\t\tthis.data = this.widgetData.data;\r\n\t\t //this.htmlString = this.data.htmlString;\r\n\t\t// this.url = this.data.url;\r\n \t}\r\n\r\n \t// public get sanitizedHtmlProperty() : SafeHtml {\r\n // \treturn this._sanitizer.sanitize(SecurityContext.HTML, this.htmlString);\r\n \t// }\r\n}\r\n","module.exports = \"/* ML Problem START */\\r\\n\\r\\n.ml-problem {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.ml-problem #problem {\\r\\n padding-top: 0;\\r\\n}\\r\\n\\r\\n.ml-banner {\\r\\n display: flex;\\r\\n height: 630px;\\r\\n background: #e9cf7b;\\r\\n position: relative;\\r\\n z-index: 0;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.ml-banner:before {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n height: 100%;\\r\\n width: calc(50% - 270px);\\r\\n background: #42a8ca;\\r\\n}\\r\\n\\r\\n.ml-banner:after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: calc(50% - 270px);\\r\\n height: 100%;\\r\\n width: 1490px;\\r\\n background: #fcf3d5;\\r\\n /* Old browsers */\\r\\n /* FF3.6-15 */\\r\\n /* Chrome10-25,Safari5.1-6 */\\r\\n background: linear-gradient(to right, #fcf3d5 0%, #e9cf7b 100%);\\r\\n /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */\\r\\n filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#fcf3d5', endColorstr='#e9cf7b', GradientType=1);\\r\\n /* IE6-9 */\\r\\n}\\r\\n\\r\\n.ml-banner .banner-img {\\r\\n background: url('ml-banner.png') no-repeat bottom center;\\r\\n flex: 1;\\r\\n z-index: 1;\\r\\n display: flex;\\r\\n background-size: auto 100%;\\r\\n}\\r\\n\\r\\n.ml-banner .banner-container {\\r\\n max-width: 1920px;\\r\\n margin: 0 auto;\\r\\n flex: 1;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.banner-container .banner-text {\\r\\n font-family: 'DINProRegular';\\r\\n font-size: 50px;\\r\\n line-height: 0.9;\\r\\n color: #FFFFFF;\\r\\n text-transform: uppercase;\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\n.banner-container .banner-text>span {\\r\\n font-family: 'DINProLight';\\r\\n color: #1f2228;\\r\\n}\\r\\n\\r\\n.banner-container .banner-text .large {\\r\\n font-size: 2.4em;\\r\\n}\\r\\n\\r\\n.banner-container .banner-text.potential {\\r\\n top: 20px;\\r\\n left: 550px;\\r\\n}\\r\\n\\r\\n.banner-container .banner-text.products {\\r\\n right: 90px;\\r\\n bottom: 130px;\\r\\n}\\r\\n\\r\\n.banner-container .banner-text.leads {\\r\\n left: calc(50% - 170px);\\r\\n bottom: 180px;\\r\\n}\\r\\n\\r\\n.ml-banner .product-list {\\r\\n position: relative;\\r\\n top: 0;\\r\\n right: 90px;\\r\\n height: 300px;\\r\\n width: 800px;\\r\\n float: right;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.banner-container .center_node_text {\\r\\n font-family: 'DINProLight';\\r\\n font-size: 26px;\\r\\n}\\r\\n\\r\\n.banner-container .center_node_text.huge {\\r\\n font-family: 'DINProMedium';\\r\\n font-size: 52px;\\r\\n letter-spacing: -4px;\\r\\n}\\r\\n\\r\\n@keyframes bounce {\\r\\n 0% {\\r\\n transform: translateY(0);\\r\\n }\\r\\n 50% {\\r\\n transform: translateY(20px);\\r\\n }\\r\\n 100% {\\r\\n transform: translateY(0px);\\r\\n }\\r\\n}\\r\\n\\r\\n.product-list .product-bar {\\r\\n width: 70px;\\r\\n padding: 0 9px 15px;\\r\\n margin-right: 40px;\\r\\n float: right;\\r\\n background: #e6d6a2;\\r\\n /* Old browsers */\\r\\n /* FF3.6-15 */\\r\\n /* Chrome10-25,Safari5.1-6 */\\r\\n background: linear-gradient(to bottom, #e6d6a2 20%, #fff7dc 100%);\\r\\n /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */\\r\\n filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#e6d6a2', endColorstr='#fff7dc', GradientType=0);\\r\\n /* IE6-9 */\\r\\n position: relative;\\r\\n top: -500px;\\r\\n right: 0;\\r\\n display: flex;\\r\\n align-items: flex-end;\\r\\n justify-content: center;\\r\\n animation-name: bounce;\\r\\n animation-duration: 4s;\\r\\n animation-fill-mode: both;\\r\\n animation-timing-function: ease-in-out;\\r\\n animation-iteration-count: infinite;\\r\\n transition: all 400ms ease-in-out;\\r\\n}\\r\\n\\r\\n.product-list.in .product-bar {\\r\\n top: -100px;\\r\\n}\\r\\n\\r\\n.product-list .product-bar:first-child {\\r\\n margin-right: 0;\\r\\n}\\r\\n\\r\\n.product-list .product-bar img {\\r\\n max-width: 100%;\\r\\n}\\r\\n\\r\\n.product-list .product-bar:nth-child(odd) {\\r\\n animation-delay: 400ms;\\r\\n}\\r\\n\\r\\n.product-list .product-bar:nth-child(even) {\\r\\n animation-delay: 900ms;\\r\\n}\\r\\n\\r\\n@keyframes ripple-10-l {\\r\\n 0% {\\r\\n transform: translateY(0);\\r\\n }\\r\\n 50% {\\r\\n transform: translate(-5px, -10px);\\r\\n }\\r\\n 100% {\\r\\n transform: translateY(0px);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes ripple-10-r {\\r\\n 0% {\\r\\n transform: translateY(0);\\r\\n }\\r\\n 50% {\\r\\n transform: translate(5px, -10px);\\r\\n }\\r\\n 100% {\\r\\n transform: translateY(0px);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes ripple-10 {\\r\\n 0% {\\r\\n transform: translateY(0);\\r\\n }\\r\\n 50% {\\r\\n transform: translateY(-10px);\\r\\n }\\r\\n 100% {\\r\\n transform: translateY(0px);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes ripple-8 {\\r\\n 0% {\\r\\n transform: translateY(0);\\r\\n }\\r\\n 50% {\\r\\n transform: translateY(-8px);\\r\\n }\\r\\n 100% {\\r\\n transform: translateY(0px);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes ripple-6 {\\r\\n 0% {\\r\\n transform: translateY(0);\\r\\n }\\r\\n 50% {\\r\\n transform: translateY(-6px);\\r\\n }\\r\\n 100% {\\r\\n transform: translateY(0px);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes ripple-4 {\\r\\n 0% {\\r\\n transform: translateY(0);\\r\\n }\\r\\n 50% {\\r\\n transform: translateY(-4px);\\r\\n }\\r\\n 100% {\\r\\n transform: translateY(0px);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes ripple-2 {\\r\\n 0% {\\r\\n transform: translateY(0);\\r\\n }\\r\\n 50% {\\r\\n transform: translateY(-2px);\\r\\n }\\r\\n 100% {\\r\\n transform: translateY(0px);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes ripple-1 {\\r\\n 0% {\\r\\n transform: translateY(0);\\r\\n }\\r\\n 50% {\\r\\n transform: translateY(-1px);\\r\\n }\\r\\n 100% {\\r\\n transform: translateY(0px);\\r\\n }\\r\\n}\\r\\n\\r\\n#dots_svg .wallCircle:nth-child(27),\\r\\n#dots_svg .wallCircle:nth-child(28),\\r\\n#dots_svg .wallCircle:nth-child(29),\\r\\n#dots_svg .wallCircle:nth-child(30),\\r\\n#dots_svg .wallCircle:nth-child(31),\\r\\n#dots_svg .wallCircle:nth-child(32),\\r\\n#dots_svg .wallCircle:nth-child(33),\\r\\n#dots_svg .wallCircle:nth-child(34),\\r\\n#dots_svg .wallCircle:nth-child(35),\\r\\n#dots_svg .wallCircle:nth-child(36),\\r\\n#dots_svg .wallCircle:nth-child(37),\\r\\n#dots_svg .wallCircle:nth-child(38),\\r\\n#dots_svg .wallCircle:nth-child(39),\\r\\n#dots_svg .wallCircle:nth-child(95),\\r\\n#dots_svg .wallCircle:nth-child(96),\\r\\n#dots_svg .wallCircle:nth-child(97),\\r\\n#dots_svg .wallCircle:nth-child(98),\\r\\n#dots_svg .wallCircle:nth-child(99),\\r\\n#dots_svg .wallCircle:nth-child(100),\\r\\n#dots_svg .wallCircle:nth-child(101),\\r\\n#dots_svg .wallCircle:nth-child(102),\\r\\n#dots_svg .wallCircle:nth-child(103),\\r\\n#dots_svg .wallCircle:nth-child(104),\\r\\n#dots_svg .wallCircle:nth-child(166),\\r\\n#dots_svg .wallCircle:nth-child(167),\\r\\n#dots_svg .wallCircle:nth-child(168),\\r\\n#dots_svg .wallCircle:nth-child(169),\\r\\n#dots_svg .wallCircle:nth-child(170),\\r\\n#dots_svg .wallCircle:nth-child(171),\\r\\n#dots_svg .wallCircle:nth-child(172) {\\r\\n animation-name: ripple-10;\\r\\n animation-duration: 500ms;\\r\\n animation-fill-mode: both;\\r\\n animation-timing-function: ease-in-out;\\r\\n animation-iteration-count: infinite;\\r\\n transition: all 400ms ease-in-out;\\r\\n}\\r\\n\\r\\n#dots_svg .wallCircle:nth-child(32) {\\r\\n animation-name: ripple-10-l;\\r\\n animation-delay: 150ms;\\r\\n}\\r\\n\\r\\n#dots_svg .wallCircle:nth-child(34) {\\r\\n animation-name: ripple-10-r;\\r\\n animation-delay: 150ms;\\r\\n}\\r\\n\\r\\n#dots_svg .wallCircle:nth-child(31),\\r\\n#dots_svg .wallCircle:nth-child(35),\\r\\n#dots_svg .wallCircle:nth-child(99),\\r\\n#dots_svg .wallCircle:nth-child(100) {\\r\\n animation-name: ripple-8;\\r\\n animation-delay: 200ms;\\r\\n}\\r\\n\\r\\n#dots_svg .wallCircle:nth-child(30),\\r\\n#dots_svg .wallCircle:nth-child(36),\\r\\n#dots_svg .wallCircle:nth-child(98),\\r\\n#dots_svg .wallCircle:nth-child(101),\\r\\n#dots_svg .wallCircle:nth-child(169) {\\r\\n animation-name: ripple-6;\\r\\n animation-delay: 250ms;\\r\\n}\\r\\n\\r\\n#dots_svg .wallCircle:nth-child(29),\\r\\n#dots_svg .wallCircle:nth-child(37),\\r\\n#dots_svg .wallCircle:nth-child(97),\\r\\n#dots_svg .wallCircle:nth-child(102),\\r\\n#dots_svg .wallCircle:nth-child(168),\\r\\n#dots_svg .wallCircle:nth-child(170) {\\r\\n animation-name: ripple-4;\\r\\n animation-delay: 300ms;\\r\\n}\\r\\n\\r\\n#dots_svg .wallCircle:nth-child(28),\\r\\n#dots_svg .wallCircle:nth-child(38),\\r\\n#dots_svg .wallCircle:nth-child(96),\\r\\n#dots_svg .wallCircle:nth-child(103),\\r\\n#dots_svg .wallCircle:nth-child(167),\\r\\n#dots_svg .wallCircle:nth-child(171) {\\r\\n animation-name: ripple-2;\\r\\n animation-delay: 350ms;\\r\\n}\\r\\n\\r\\n#dots_svg .wallCircle:nth-child(27),\\r\\n#dots_svg .wallCircle:nth-child(39),\\r\\n#dots_svg .wallCircle:nth-child(95),\\r\\n#dots_svg .wallCircle:nth-child(104),\\r\\n#dots_svg .wallCircle:nth-child(166),\\r\\n#dots_svg .wallCircle:nth-child(172) {\\r\\n animation-name: ripple-1;\\r\\n animation-delay: 400ms;\\r\\n}\\r\\n\\r\\n.product-list .product-bar:before {\\r\\n content: \\\"\\\";\\r\\n width: 68px;\\r\\n height: 100%;\\r\\n background-color: #ccba7f;\\r\\n position: absolute;\\r\\n right: 100%;\\r\\n bottom: 40px;\\r\\n transform: skew(0deg, 50deg);\\r\\n}\\r\\n\\r\\n.product-list .product-bar.cloud {\\r\\n height: 344px;\\r\\n transition-delay: 600ms;\\r\\n}\\r\\n\\r\\n.product-list .product-bar.advt {\\r\\n height: 280px;\\r\\n transition-delay: 500ms;\\r\\n}\\r\\n\\r\\n.product-list .product-bar.messanger {\\r\\n height: 260px;\\r\\n transition-delay: 400ms;\\r\\n}\\r\\n\\r\\n.product-list .product-bar.os {\\r\\n height: 322px;\\r\\n transition-delay: 300ms;\\r\\n}\\r\\n\\r\\n.product-list .product-bar.search {\\r\\n height: 260px;\\r\\n transition-delay: 200ms;\\r\\n}\\r\\n\\r\\n.product-list .product-bar.game {\\r\\n height: 290px;\\r\\n transition-delay: 100ms;\\r\\n}\\r\\n\\r\\n.product-list .product-bar.email {\\r\\n height: 315px;\\r\\n transition-delay: 0ms;\\r\\n}\\r\\n\\r\\n.ml-id-wrapper {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.ml-problem #problem #dots_svg {\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\n.map-left-heading,\\r\\n.map-right-heading {\\r\\n position: absolute;\\r\\n padding: 30px;\\r\\n background-color: rgba(255, 255, 255, 0.8);\\r\\n}\\r\\n\\r\\n.map-left-heading {\\r\\n left: 15px;\\r\\n top: 40px;\\r\\n box-shadow: 0 0 18px rgba(83, 83, 83, 0.15);\\r\\n}\\r\\n\\r\\n.map-right-heading {\\r\\n left: 15px;\\r\\n top: calc(100vh / 2);\\r\\n}\\r\\n\\r\\n#problem_map_id .map-left-heading h1,\\r\\n#problem_map_id .map-right-heading h1,\\r\\n#problem_map_id .map-left-heading h2,\\r\\n#problem_map_id .map-right-heading h2 {\\r\\n font-family: 'DINProRegular';\\r\\n line-height: 1;\\r\\n letter-spacing: -2px;\\r\\n text-transform: uppercase;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n#problem_map_id .map-left-heading h1,\\r\\n#problem_map_id .map-right-heading h1 {\\r\\n font-size: 60px;\\r\\n color: #38c4ae;\\r\\n}\\r\\n\\r\\n#problem_map_id .map-left-heading h2,\\r\\n#problem_map_id .map-right-heading h2 {\\r\\n font-size: 30px;\\r\\n line-height: 1;\\r\\n letter-spacing: 0;\\r\\n color: #646464;\\r\\n}\\r\\n\\r\\n.sales-team {\\r\\n position: absolute;\\r\\n font-size: 16px;\\r\\n font-weight: 600;\\r\\n padding: 2px 10px 2px 27px;\\r\\n border-radius: 15px;\\r\\n background: rgba(255, 255, 255, 0.8);\\r\\n box-shadow: 0 0 8px rgba(83, 83, 83, 0.5);\\r\\n}\\r\\n\\r\\n.sales-team:after {\\r\\n content: \\\"\\\";\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n background: #f7920F;\\r\\n border-radius: 50%;\\r\\n display: block;\\r\\n position: absolute;\\r\\n top: 4px;\\r\\n left: 2px;\\r\\n}\\r\\n\\r\\n.sales-team.salesTeamG {\\r\\n padding: 2px 27px 2px 10px;\\r\\n margin-left: -100px;\\r\\n}\\r\\n\\r\\n.sales-team.salesTeamG:after {\\r\\n left: auto;\\r\\n right: 2px;\\r\\n}\\r\\n\\r\\n.sales-team.salesTeamH {\\r\\n margin-top: -20px;\\r\\n}\\r\\n\\r\\n/* ML Problem END */\\r\\n\\r\\n/* Data Interaction START */\\r\\n\\r\\n.data-interaction h1 {\\r\\n font-size: 60px;\\r\\n}\\r\\n\\r\\n.business-view-wrapper.inner-page-wrapper .inner-page-container .body-wrapper .main-container .content-section .data-interaction h2,\\r\\n.business-view-wrapper.inner-page-wrapper .inner-page-container .body-wrapper .main-container .content-section .data-interaction h3 {\\r\\n font-family: 'DINProRegular';\\r\\n font-size: 40px;\\r\\n color: #41a8ca;\\r\\n line-height: 1;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.business-view-wrapper.inner-page-wrapper .inner-page-container .body-wrapper .main-container .content-section .data-interaction h3 {\\r\\n font-size: 30px;\\r\\n color: #636363;\\r\\n}\\r\\n\\r\\n.yellow-text {\\r\\n color: #CEAD3B !important;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-icon {\\r\\n position: absolute;\\r\\n left: 50%;\\r\\n top: 0;\\r\\n transform: translate(-50%, -50%);\\r\\n z-index: 10;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper {\\r\\n margin-top: 30px;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: space-between;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .interaction-paths {\\r\\n max-width: 100%;\\r\\n height: 100%;\\r\\n opacity: 0;\\r\\n transition: all 300ms ease-in-out;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper.slide-in .interaction-paths {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul {\\r\\n flex: 0 auto;\\r\\n width: 480px;\\r\\n padding: 0;\\r\\n margin: 0;\\r\\n list-style: none;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul.center {\\r\\n width: 100%;\\r\\n overflow: visible;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap {\\r\\n position: relative;\\r\\n z-index: -1;\\r\\n flex: 1;\\r\\n margin: 0 -50px;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li {\\r\\n padding: 18px 0;\\r\\n position: relative;\\r\\n margin-bottom: 25px;\\r\\n transition: all 200ms ease-in-out;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper.slide-in ul li:nth-child(1) {\\r\\n transition-delay: 0ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper.slide-in ul li:nth-child(2) {\\r\\n transition-delay: 150ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper.slide-in ul li:nth-child(3) {\\r\\n transition-delay: 300ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper.slide-in ul li:nth-child(4) {\\r\\n transition-delay: 450ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper.slide-in ul li:nth-child(5) {\\r\\n transition-delay: 600ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper.slide-in ul li:nth-child(6) {\\r\\n transition-delay: 750ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li:nth-child(1) {\\r\\n transition-delay: 1900ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li:nth-child(2) {\\r\\n transition-delay: 1750ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li:nth-child(3) {\\r\\n transition-delay: 1600ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li:nth-child(4) {\\r\\n transition-delay: 1450ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li:nth-child(5) {\\r\\n transition-delay: 1300ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li:nth-child(6) {\\r\\n transition-delay: 1150ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li:last-child {\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li .text {\\r\\n height: 64px;\\r\\n padding: 17px;\\r\\n font-size: 30px;\\r\\n line-height: 1;\\r\\n position: relative;\\r\\n z-index: 1;\\r\\n margin: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li>.icon {\\r\\n height: 100px;\\r\\n width: 100px;\\r\\n border-radius: 50%;\\r\\n border: #41A8CA 3px solid;\\r\\n background-color: #AFDAE9;\\r\\n background-position: center center;\\r\\n background-repeat: no-repeat;\\r\\n text-align: center;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: 0;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap>span {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap>span img {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap>span:before {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n top: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n width: 100%;\\r\\n transition: all 1000ms ease-in-out;\\r\\n background: #fff;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper.slide-in .paths-wrap>span:before {\\r\\n width: 0%;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap .insurance-path {\\r\\n z-index: 60;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap .bank-path {\\r\\n z-index: 50;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap .telecom-path {\\r\\n z-index: 40;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap .pharma-path {\\r\\n z-index: 30;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap .technology-path {\\r\\n z-index: 20;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap .manufacture-path {\\r\\n z-index: 10;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper.slide-in .paths-wrap .insurance-path:before {\\r\\n transition-delay: 300ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper.slide-in .paths-wrap .bank-path:before {\\r\\n transition-delay: 500ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper.slide-in .paths-wrap .telecom-path:before {\\r\\n transition-delay: 700ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper.slide-in .paths-wrap .pharma-path:before {\\r\\n transition-delay: 900ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper.slide-in .paths-wrap .technology-path:before {\\r\\n transition-delay: 1100ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper.slide-in .paths-wrap .manufacture-path:before {\\r\\n transition-delay: 1300ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap .insurance-path:before {\\r\\n transition-delay: 1000ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap .bank-path:before {\\r\\n transition-delay: 800ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap .telecom-path:before {\\r\\n transition-delay: 600ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap .pharma-path:before {\\r\\n transition-delay: 400ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap .technology-path:before {\\r\\n transition-delay: 200ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper .paths-wrap .manufacture-path:before {\\r\\n transition-delay: 0ms;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li>.icon.insurance {\\r\\n background-image: url('np_insurance.png');\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li>.icon.bank {\\r\\n background-image: url('np_bank.png');\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li>.icon.telecom {\\r\\n background-image: url('np_telecom.png');\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li>.icon.medicine {\\r\\n background-image: url('np_medicine.png');\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li>.icon.technology {\\r\\n background-image: url('np_technology.png');\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li>.icon.manufacture {\\r\\n background-image: url('np_manufacture.png');\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li>.icon.email {\\r\\n background-image: url('np_email.png');\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li>.icon.announcement {\\r\\n background-image: url('np_announcement.png');\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li>.icon.location {\\r\\n background-image: url('np_location.png');\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li>.icon.search {\\r\\n background-image: url('np_search_engine.png');\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul li>.icon.ppc {\\r\\n background-image: url('np_pay_per_click.png');\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul.left li {\\r\\n padding-right: 80px;\\r\\n left: -500px;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper.slide-in ul.left li {\\r\\n left: 0;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul.left li .text {\\r\\n color: #256377;\\r\\n background-color: #AFDAE9;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul.right li {\\r\\n padding-left: 80px;\\r\\n right: -500px;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper.slide-in ul.right li {\\r\\n right: 0;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul.right li:first-child {\\r\\n margin-top: 50px;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul.right li .text {\\r\\n color: #74601E;\\r\\n background-color: #FCEAAD;\\r\\n}\\r\\n\\r\\n.data-interaction .interaction-wrapper ul.right li>.icon {\\r\\n right: auto;\\r\\n left: 0;\\r\\n border-color: #CEAE3C;\\r\\n background-color: #FCEAAD;\\r\\n}\\r\\n\\r\\n.ml-id-wrapper #data {\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.ml-id-wrapper #data svg.ms-data-svg {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.data_tooltip {\\r\\n width: auto;\\r\\n padding: 3px 12px 5px 20px;\\r\\n background: #555761;\\r\\n border-radius: 0 11px 11px 0;\\r\\n font-family: 'DINProMedium';\\r\\n font-size: 13px;\\r\\n color: #FFFFFF;\\r\\n line-height: 16px;\\r\\n position: absolute;\\r\\n z-index: -1;\\r\\n transform: translate(0%, -50%);\\r\\n margin-left: -10px;\\r\\n}\\r\\n\\r\\n/* Data Interaction END */\\r\\n\\r\\n/* Solution START */\\r\\n\\r\\n.solution-text-wrap,\\r\\n.outcome-text-wrap {\\r\\n width: 530px;\\r\\n padding: 0 15px;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 120px;\\r\\n font-size: 24px;\\r\\n line-height: 32px;\\r\\n background-color: rgba(255, 255, 255, 0.8);\\r\\n}\\r\\n\\r\\n.solution-text-wrap h1,\\r\\n.outcome-text-wrap h1 {\\r\\n font-size: 60px;\\r\\n}\\r\\n\\r\\n.ml-id-wrapper #solution {\\r\\n padding-top: 0;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.ml-id-wrapper #solution>svg {\\r\\n margin: -10px auto 0;\\r\\n}\\r\\n\\r\\n.ml-id-wrapper #solution>svg text {\\r\\n font-family: 'DINProMedium';\\r\\n font-size: 18px;\\r\\n fill: #6b6b6b;\\r\\n}\\r\\n\\r\\n/* Solution END */\\r\\n\\r\\n/* Outcome START */\\r\\n\\r\\n.outcome-text-container {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n z-index: 99;\\r\\n}\\r\\n\\r\\n.outcome-text-wrap,\\r\\n.outcome-highlight {\\r\\n padding: 15px;\\r\\n background-color: rgba(255, 255, 255, 0.8);\\r\\n}\\r\\n\\r\\n.outcome-text-wrap {\\r\\n width: 850px;\\r\\n max-width: 70%;\\r\\n position: static;\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.outcome-text-wrap p>.large {\\r\\n font-size: 32px;\\r\\n}\\r\\n\\r\\n.outcome-highlight {\\r\\n font-family: 'DINProRegular';\\r\\n font-size: 39px;\\r\\n line-height: 1;\\r\\n color: #0b7aa0;\\r\\n text-transform: uppercase;\\r\\n float: right;\\r\\n margin-top: 30px;\\r\\n padding-left: 50px;\\r\\n}\\r\\n\\r\\n.outcome-highlight .massive {\\r\\n margin-left: -20px;\\r\\n font-family: 'DINProLight';\\r\\n font-size: 120px;\\r\\n color: #57e9d2;\\r\\n letter-spacing: -8px;\\r\\n}\\r\\n\\r\\n.outcome-highlight .huge {\\r\\n margin-left: 15px;\\r\\n font-size: 60px;\\r\\n color: #57e9d2;\\r\\n}\\r\\n\\r\\n.outcome-highlight .huge.doller {\\r\\n margin-left: -43px;\\r\\n}\\r\\n\\r\\n.outcome-highlight .large {\\r\\n font-family: 'DINProLight';\\r\\n font-size: 55px;\\r\\n letter-spacing: -2px;\\r\\n}\\r\\n\\r\\n.outcome-highlight .streched {\\r\\n font-size: 36px;\\r\\n color: #84878c;\\r\\n letter-spacing: 5px;\\r\\n}\\r\\n\\r\\n/* Outcome END */\\r\\n\\r\\n/* Responsive START */\\r\\n\\r\\n@media (max-width:1600px) {\\r\\n .ml-banner {\\r\\n height: 540px;\\r\\n }\\r\\n .ml-banner .product-list {\\r\\n right: 60px;\\r\\n }\\r\\n .product-list .product-bar {\\r\\n width: 60px;\\r\\n margin-right: 30px;\\r\\n }\\r\\n .product-list .product-bar:before {\\r\\n width: 58px;\\r\\n bottom: 34px;\\r\\n }\\r\\n .product-list.in .product-bar {\\r\\n top: -130px;\\r\\n }\\r\\n .banner-container .banner-text.potential {\\r\\n left: 450px;\\r\\n }\\r\\n .banner-container .banner-text.products {\\r\\n right: 60px;\\r\\n bottom: 90px;\\r\\n }\\r\\n .banner-container .banner-text.leads {\\r\\n left: calc(50% - 140px);\\r\\n bottom: 160px;\\r\\n }\\r\\n .banner-container .banner-text.leads .banner-sub-text {\\r\\n font-size: 42px;\\r\\n }\\r\\n .data-interaction .interaction-wrapper ul {\\r\\n width: 440px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width:1450px) {\\r\\n .ml-banner {\\r\\n height: 480px;\\r\\n }\\r\\n .ml-banner .product-list {\\r\\n right: 50px;\\r\\n }\\r\\n .product-list .product-bar {\\r\\n width: 56px;\\r\\n }\\r\\n .product-list .product-bar:before {\\r\\n width: 48px;\\r\\n bottom: 33px;\\r\\n transform: skew(0deg, 55deg);\\r\\n }\\r\\n .product-list.in .product-bar {\\r\\n top: -150px;\\r\\n }\\r\\n .banner-container .banner-text {\\r\\n font-size: 40px;\\r\\n }\\r\\n .banner-container .banner-text.potential {\\r\\n left: 430px;\\r\\n }\\r\\n .banner-container .banner-text.leads {\\r\\n bottom: 140px;\\r\\n }\\r\\n .ml-problem #problem #dots_svg {\\r\\n left: -50px;\\r\\n top: 309px;\\r\\n }\\r\\n .data-interaction .interaction-wrapper ul {\\r\\n width: 350px;\\r\\n }\\r\\n .data-interaction .interaction-wrapper ul li .text {\\r\\n font-size: 24px;\\r\\n }\\r\\n .data-interaction .interaction-wrapper ul li {\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width:1350px) {\\r\\n .ml-banner {\\r\\n height: 450px;\\r\\n }\\r\\n .ml-banner .product-list {\\r\\n right: 30px;\\r\\n }\\r\\n .product-list .product-bar {\\r\\n width: 50px;\\r\\n }\\r\\n .banner-container .banner-text {\\r\\n font-size: 35px;\\r\\n }\\r\\n .banner-container .banner-text.potential {\\r\\n left: 400px;\\r\\n }\\r\\n .banner-container .banner-text.products {\\r\\n right: 30px;\\r\\n bottom: 70px;\\r\\n }\\r\\n .banner-container .banner-text.leads {\\r\\n left: calc(50% - 130px);\\r\\n bottom: 125px;\\r\\n }\\r\\n .ml-problem #problem #dots_svg {\\r\\n left: -90px;\\r\\n top: 290px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width:1280px) {\\r\\n .ml-banner {\\r\\n height: 430px;\\r\\n }\\r\\n .ml-banner .product-list {\\r\\n right: 20px;\\r\\n }\\r\\n .product-list .product-bar {\\r\\n margin-right: 25px;\\r\\n }\\r\\n .product-list.in .product-bar {\\r\\n top: -170px;\\r\\n }\\r\\n .product-list .product-bar:before {\\r\\n width: 48px;\\r\\n bottom: 34px;\\r\\n transform: skew(0deg, 55deg);\\r\\n }\\r\\n .banner-container .banner-text.potential {\\r\\n left: 380px;\\r\\n }\\r\\n .banner-container .banner-text.leads {\\r\\n left: calc(50% - 130px);\\r\\n bottom: 115px;\\r\\n }\\r\\n .ml-problem #problem #dots_svg {\\r\\n left: -100px;\\r\\n top: 280px;\\r\\n }\\r\\n}\\r\\n\\r\\n/* Responsive END */\\r\\n\\r\\n.map-chart-path {\\r\\n fill: none;\\r\\n stroke: #a3a3a3;\\r\\n stroke-width: .5px;\\r\\n}\\r\\n\\r\\n.land-boundary {\\r\\n stroke-width: 1px;\\r\\n}\\r\\n\\r\\n.county-boundary {\\r\\n stroke: #dddddd;\\r\\n}\\r\\n\\r\\n#outcomes {\\r\\n position: relative;\\r\\n padding: 0 0 50px;\\r\\n}\\r\\n\\r\\n.tooltip-container {\\r\\n position: absolute;\\r\\n width: 300px;\\r\\n color: #ffffff;\\r\\n font-family: 'DINProMedium';\\r\\n font-size: 13px;\\r\\n border: 1px solid #b4b5b8;\\r\\n padding: 5px 5px 5px 3px;\\r\\n border-left: 5px solid #fd8050;\\r\\n background: #555761;\\r\\n line-height: 16px;\\r\\n text-align: justify;\\r\\n}\\r\\n\\r\\n.tooltip-container::after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n width: 0;\\r\\n height: 0;\\r\\n border-top: 14px solid #555761;\\r\\n border-left: 10px solid transparent;\\r\\n border-right: 10px solid transparent;\\r\\n top: 100%;\\r\\n left: 50%;\\r\\n margin-left: -12px;\\r\\n}\\r\\n\\r\\n.gearText {\\r\\n position: absolute;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9taWNyby1sZWFkLWlkZW50aWZpY2F0aW9uL21pY3JvLWxlYWQtaWRlbnRpZmljYXRpb24uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzQkFBc0I7O0FBRXRCO0lBQ0ksbUJBQW1CO0NBQ3RCOztBQUVEO0lBQ0ksZUFBZTtDQUNsQjs7QUFFRDtJQUNJLGNBQWM7SUFDZCxjQUFjO0lBQ2Qsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixXQUFXO0lBQ1gsaUJBQWlCO0NBQ3BCOztBQUVEO0lBQ0ksWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixPQUFPO0lBQ1AsUUFBUTtJQUNSLGFBQWE7SUFDYix5QkFBeUI7SUFDekIsb0JBQW9CO0NBQ3ZCOztBQUVEO0lBQ0ksWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixPQUFPO0lBQ1Asd0JBQXdCO0lBQ3hCLGFBQWE7SUFDYixjQUFjO0lBQ2Qsb0JBQW9CO0lBQ3BCLGtCQUFrQjtJQUVsQixjQUFjO0lBRWQsNkJBQTZCO0lBQzdCLGdFQUFnRTtJQUNoRSxzREFBc0Q7SUFDdEQscUhBQXFIO0lBQ3JILFdBQVc7Q0FDZDs7QUFFRDtJQUNJLHlEQUE4RTtJQUM5RSxRQUFRO0lBQ1IsV0FBVztJQUNYLGNBQWM7SUFDZCwyQkFBMkI7Q0FDOUI7O0FBRUQ7SUFDSSxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLFFBQVE7SUFDUixtQkFBbUI7Q0FDdEI7O0FBRUQ7SUFDSSw2QkFBNkI7SUFDN0IsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsMEJBQTBCO0lBQzFCLG1CQUFtQjtDQUN0Qjs7QUFFRDtJQUNJLDJCQUEyQjtJQUMzQixlQUFlO0NBQ2xCOztBQUVEO0lBQ0ksaUJBQWlCO0NBQ3BCOztBQUVEO0lBQ0ksVUFBVTtJQUNWLFlBQVk7Q0FDZjs7QUFFRDtJQUNJLFlBQVk7SUFDWixjQUFjO0NBQ2pCOztBQUVEO0lBQ0ksd0JBQXdCO0lBQ3hCLGNBQWM7Q0FD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QUNJLGtCQUFrQjtDQUNyQjs7QUFFRDtJQUNJLGdCQUFnQjtDQUNuQjs7QUFFRDtJQUNJLG1CQUFtQjtJQUNuQixrQkFBa0I7Q0FDckI7O0FBRUQ7SUFDSSxtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLGVBQWU7SUFDZiw0QkFBNEI7SUFDNUIsZ0JBQWdCO0lBQ2hCLDBCQUEwQjtJQUMxQix5QkFBeUI7SUFDekIsK0JBQStCO0lBQy9CLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsb0JBQW9CO0NBQ3ZCOztBQUVEO0lBQ0ksWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsVUFBVTtJQUNWLCtCQUErQjtJQUMvQixvQ0FBb0M7SUFDcEMscUNBQXFDO0lBQ3JDLFVBQVU7SUFDVixVQUFVO0lBQ1YsbUJBQW1CO0NBQ3RCOztBQUVEO0lBQ0ksbUJBQW1CO0NBQ3RCIiwiZmlsZSI6InNyYy9hcHAvd2lkZ2V0cy9taWNyby1sZWFkLWlkZW50aWZpY2F0aW9uL21pY3JvLWxlYWQtaWRlbnRpZmljYXRpb24uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIE1MIFByb2JsZW0gU1RBUlQgKi9cclxuXHJcbi5tbC1wcm9ibGVtIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLm1sLXByb2JsZW0gI3Byb2JsZW0ge1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbn1cclxuXHJcbi5tbC1iYW5uZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGhlaWdodDogNjMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZTljZjdiO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5tbC1iYW5uZXI6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMjcwcHgpO1xyXG4gICAgYmFja2dyb3VuZDogIzQyYThjYTtcclxufVxyXG5cclxuLm1sLWJhbm5lcjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogY2FsYyg1MCUgLSAyNzBweCk7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTQ5MHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2ZjZjNkNTtcclxuICAgIC8qIE9sZCBicm93c2VycyAqL1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZjZjNkNSAwJSwgI2U5Y2Y3YiAxMDAlKTtcclxuICAgIC8qIEZGMy42LTE1ICovXHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmNmM2Q1IDAlLCAjZTljZjdiIDEwMCUpO1xyXG4gICAgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZjZjNkNSAwJSwgI2U5Y2Y3YiAxMDAlKTtcclxuICAgIC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xyXG4gICAgZmlsdGVyOiBwcm9naWQ6IERYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZmNmM2Q1JywgZW5kQ29sb3JzdHI9JyNlOWNmN2InLCBHcmFkaWVudFR5cGU9MSk7XHJcbiAgICAvKiBJRTYtOSAqL1xyXG59XHJcblxyXG4ubWwtYmFubmVyIC5iYW5uZXItaW1nIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL21sLWJhbm5lci5wbmcpIG5vLXJlcGVhdCBib3R0b20gY2VudGVyO1xyXG4gICAgZmxleDogMTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XHJcbn1cclxuXHJcbi5tbC1iYW5uZXIgLmJhbm5lci1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiAxOTIwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGZsZXg6IDE7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5iYW5uZXItY29udGFpbmVyIC5iYW5uZXItdGV4dCB7XHJcbiAgICBmb250LWZhbWlseTogJ0RJTlByb1JlZ3VsYXInO1xyXG4gICAgZm9udC1zaXplOiA1MHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDAuOTtcclxuICAgIGNvbG9yOiAjRkZGRkZGO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cclxuLmJhbm5lci1jb250YWluZXIgLmJhbm5lci10ZXh0PnNwYW4ge1xyXG4gICAgZm9udC1mYW1pbHk6ICdESU5Qcm9MaWdodCc7XHJcbiAgICBjb2xvcjogIzFmMjIyODtcclxufVxyXG5cclxuLmJhbm5lci1jb250YWluZXIgLmJhbm5lci10ZXh0IC5sYXJnZSB7XHJcbiAgICBmb250LXNpemU6IDIuNGVtO1xyXG59XHJcblxyXG4uYmFubmVyLWNvbnRhaW5lciAuYmFubmVyLXRleHQucG90ZW50aWFsIHtcclxuICAgIHRvcDogMjBweDtcclxuICAgIGxlZnQ6IDU1MHB4O1xyXG59XHJcblxyXG4uYmFubmVyLWNvbnRhaW5lciAuYmFubmVyLXRleHQucHJvZHVjdHMge1xyXG4gICAgcmlnaHQ6IDkwcHg7XHJcbiAgICBib3R0b206IDEzMHB4O1xyXG59XHJcblxyXG4uYmFubmVyLWNvbnRhaW5lciAuYmFubmVyLXRleHQubGVhZHMge1xyXG4gICAgbGVmdDogY2FsYyg1MCUgLSAxNzBweCk7XHJcbiAgICBib3R0b206IDE4MHB4O1xyXG59XHJcblxyXG4ubWwtYmFubmVyIC5wcm9kdWN0LWxpc3Qge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDkwcHg7XHJcbiAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgd2lkdGg6IDgwMHB4O1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmJhbm5lci1jb250YWluZXIgLmNlbnRlcl9ub2RlX3RleHQge1xyXG4gICAgZm9udC1mYW1pbHk6ICdESU5Qcm9MaWdodCc7XHJcbiAgICBmb250LXNpemU6IDI2cHg7XHJcbn1cclxuXHJcbi5iYW5uZXItY29udGFpbmVyIC5jZW50ZXJfbm9kZV90ZXh0Lmh1Z2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdESU5Qcm9NZWRpdW0nO1xyXG4gICAgZm9udC1zaXplOiA1MnB4O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IC00cHg7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvZHVjdC1saXN0IC5wcm9kdWN0LWJhciB7XHJcbiAgICB3aWR0aDogNzBweDtcclxuICAgIHBhZGRpbmc6IDAgOXB4IDE1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZTZkNmEyO1xyXG4gICAgLyogT2xkIGJyb3dzZXJzICovXHJcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNlNmQ2YTIgMjAlLCAjZmZmN2RjIDEwMCUpO1xyXG4gICAgLyogRkYzLjYtMTUgKi9cclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2U2ZDZhMiAyMCUsICNmZmY3ZGMgMTAwJSk7XHJcbiAgICAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2U2ZDZhMiAyMCUsICNmZmY3ZGMgMTAwJSk7XHJcbiAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cclxuICAgIGZpbHRlcjogcHJvZ2lkOiBEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2U2ZDZhMicsIGVuZENvbG9yc3RyPScjZmZmN2RjJywgR3JhZGllbnRUeXBlPTApO1xyXG4gICAgLyogSUU2LTkgKi9cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogLTUwMHB4O1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA0cztcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4ucHJvZHVjdC1saXN0LmluIC5wcm9kdWN0LWJhciB7XHJcbiAgICB0b3A6IC0xMDBweDtcclxufVxyXG5cclxuLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1iYXI6Zmlyc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG59XHJcblxyXG4ucHJvZHVjdC1saXN0IC5wcm9kdWN0LWJhciBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ucHJvZHVjdC1saXN0IC5wcm9kdWN0LWJhcjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDQwMG1zO1xyXG59XHJcblxyXG4ucHJvZHVjdC1saXN0IC5wcm9kdWN0LWJhcjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiA5MDBtcztcclxufVxyXG5cclxuQGtleWZyYW1lcyByaXBwbGUtMTAtbCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG4gICAgNTAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNXB4LCAtMTBweCk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByaXBwbGUtMTAtciB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG4gICAgNTAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1cHgsIC0xMHB4KTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJpcHBsZS0xMCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG4gICAgNTAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcmlwcGxlLTgge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcmlwcGxlLTYge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcmlwcGxlLTQge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcmlwcGxlLTIge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcmlwcGxlLTEge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMjcpLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDI4KSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgyOSksXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMzApLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDMxKSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgzMiksXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMzMpLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDM0KSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgzNSksXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMzYpLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDM3KSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgzOCksXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMzkpLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDk1KSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCg5NiksXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoOTcpLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDk4KSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCg5OSksXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMTAwKSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgxMDEpLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDEwMiksXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMTAzKSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgxMDQpLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDE2NiksXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMTY3KSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgxNjgpLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDE2OSksXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMTcwKSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgxNzEpLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDE3Mikge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHJpcHBsZS0xMDtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgzMikge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHJpcHBsZS0xMC1sO1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxNTBtcztcclxufVxyXG5cclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgzNCkge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHJpcHBsZS0xMC1yO1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxNTBtcztcclxufVxyXG5cclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgzMSksXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMzUpLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDk5KSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgxMDApIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiByaXBwbGUtODtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMjAwbXM7XHJcbn1cclxuXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMzApLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDM2KSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCg5OCksXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMTAxKSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgxNjkpIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiByaXBwbGUtNjtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMjUwbXM7XHJcbn1cclxuXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMjkpLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDM3KSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCg5NyksXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMTAyKSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgxNjgpLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDE3MCkge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHJpcHBsZS00O1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcztcclxufVxyXG5cclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgyOCksXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMzgpLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDk2KSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgxMDMpLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDE2NyksXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMTcxKSB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogcmlwcGxlLTI7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDM1MG1zO1xyXG59XHJcblxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDI3KSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgzOSksXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoOTUpLFxyXG4jZG90c19zdmcgLndhbGxDaXJjbGU6bnRoLWNoaWxkKDEwNCksXHJcbiNkb3RzX3N2ZyAud2FsbENpcmNsZTpudGgtY2hpbGQoMTY2KSxcclxuI2RvdHNfc3ZnIC53YWxsQ2lyY2xlOm50aC1jaGlsZCgxNzIpIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiByaXBwbGUtMTtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogNDAwbXM7XHJcbn1cclxuXHJcbi5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtYmFyOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgd2lkdGg6IDY4cHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NiYTdmO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDEwMCU7XHJcbiAgICBib3R0b206IDQwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXcoMGRlZywgNTBkZWcpO1xyXG59XHJcblxyXG4ucHJvZHVjdC1saXN0IC5wcm9kdWN0LWJhci5jbG91ZCB7XHJcbiAgICBoZWlnaHQ6IDM0NHB4O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogNjAwbXM7XHJcbn1cclxuXHJcbi5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtYmFyLmFkdnQge1xyXG4gICAgaGVpZ2h0OiAyODBweDtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDUwMG1zO1xyXG59XHJcblxyXG4ucHJvZHVjdC1saXN0IC5wcm9kdWN0LWJhci5tZXNzYW5nZXIge1xyXG4gICAgaGVpZ2h0OiAyNjBweDtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDQwMG1zO1xyXG59XHJcblxyXG4ucHJvZHVjdC1saXN0IC5wcm9kdWN0LWJhci5vcyB7XHJcbiAgICBoZWlnaHQ6IDMyMnB4O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXM7XHJcbn1cclxuXHJcbi5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtYmFyLnNlYXJjaCB7XHJcbiAgICBoZWlnaHQ6IDI2MHB4O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XHJcbn1cclxuXHJcbi5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtYmFyLmdhbWUge1xyXG4gICAgaGVpZ2h0OiAyOTBweDtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zO1xyXG59XHJcblxyXG4ucHJvZHVjdC1saXN0IC5wcm9kdWN0LWJhci5lbWFpbCB7XHJcbiAgICBoZWlnaHQ6IDMxNXB4O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMG1zO1xyXG59XHJcblxyXG4ubWwtaWQtd3JhcHBlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5tbC1wcm9ibGVtICNwcm9ibGVtICNkb3RzX3N2ZyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi5tYXAtbGVmdC1oZWFkaW5nLFxyXG4ubWFwLXJpZ2h0LWhlYWRpbmcge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcclxufVxyXG5cclxuLm1hcC1sZWZ0LWhlYWRpbmcge1xyXG4gICAgbGVmdDogMTVweDtcclxuICAgIHRvcDogNDBweDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAxOHB4IHJnYmEoODMsIDgzLCA4MywgMC4xNSk7XHJcbn1cclxuXHJcbi5tYXAtcmlnaHQtaGVhZGluZyB7XHJcbiAgICBsZWZ0OiAxNXB4O1xyXG4gICAgdG9wOiBjYWxjKDEwMHZoIC8gMik7XHJcbn1cclxuXHJcbiNwcm9ibGVtX21hcF9pZCAubWFwLWxlZnQtaGVhZGluZyBoMSxcclxuI3Byb2JsZW1fbWFwX2lkIC5tYXAtcmlnaHQtaGVhZGluZyBoMSxcclxuI3Byb2JsZW1fbWFwX2lkIC5tYXAtbGVmdC1oZWFkaW5nIGgyLFxyXG4jcHJvYmxlbV9tYXBfaWQgLm1hcC1yaWdodC1oZWFkaW5nIGgyIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnRElOUHJvUmVndWxhcic7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAtMnB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuI3Byb2JsZW1fbWFwX2lkIC5tYXAtbGVmdC1oZWFkaW5nIGgxLFxyXG4jcHJvYmxlbV9tYXBfaWQgLm1hcC1yaWdodC1oZWFkaW5nIGgxIHtcclxuICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgIGNvbG9yOiAjMzhjNGFlO1xyXG59XHJcblxyXG4jcHJvYmxlbV9tYXBfaWQgLm1hcC1sZWZ0LWhlYWRpbmcgaDIsXHJcbiNwcm9ibGVtX21hcF9pZCAubWFwLXJpZ2h0LWhlYWRpbmcgaDIge1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgIGNvbG9yOiAjNjQ2NDY0O1xyXG59XHJcblxyXG4uc2FsZXMtdGVhbSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgcGFkZGluZzogMnB4IDEwcHggMnB4IDI3cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDgzLCA4MywgODMsIDAuNSk7XHJcbn1cclxuXHJcbi5zYWxlcy10ZWFtOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGJhY2tncm91bmQ6ICNmNzkyMEY7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNHB4O1xyXG4gICAgbGVmdDogMnB4O1xyXG59XHJcblxyXG4uc2FsZXMtdGVhbS5zYWxlc1RlYW1HIHtcclxuICAgIHBhZGRpbmc6IDJweCAyN3B4IDJweCAxMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xMDBweDtcclxufVxyXG5cclxuLnNhbGVzLXRlYW0uc2FsZXNUZWFtRzphZnRlciB7XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gICAgcmlnaHQ6IDJweDtcclxufVxyXG5cclxuLnNhbGVzLXRlYW0uc2FsZXNUZWFtSCB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcclxufVxyXG5cclxuXHJcbi8qIE1MIFByb2JsZW0gRU5EICovXHJcblxyXG5cclxuLyogRGF0YSBJbnRlcmFjdGlvbiBTVEFSVCAqL1xyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gaDEge1xyXG4gICAgZm9udC1zaXplOiA2MHB4O1xyXG59XHJcblxyXG4uYnVzaW5lc3Mtdmlldy13cmFwcGVyLmlubmVyLXBhZ2Utd3JhcHBlciAuaW5uZXItcGFnZS1jb250YWluZXIgLmJvZHktd3JhcHBlciAubWFpbi1jb250YWluZXIgLmNvbnRlbnQtc2VjdGlvbiAuZGF0YS1pbnRlcmFjdGlvbiBoMixcclxuLmJ1c2luZXNzLXZpZXctd3JhcHBlci5pbm5lci1wYWdlLXdyYXBwZXIgLmlubmVyLXBhZ2UtY29udGFpbmVyIC5ib2R5LXdyYXBwZXIgLm1haW4tY29udGFpbmVyIC5jb250ZW50LXNlY3Rpb24gLmRhdGEtaW50ZXJhY3Rpb24gaDMge1xyXG4gICAgZm9udC1mYW1pbHk6ICdESU5Qcm9SZWd1bGFyJztcclxuICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgIGNvbG9yOiAjNDFhOGNhO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4uYnVzaW5lc3Mtdmlldy13cmFwcGVyLmlubmVyLXBhZ2Utd3JhcHBlciAuaW5uZXItcGFnZS1jb250YWluZXIgLmJvZHktd3JhcHBlciAubWFpbi1jb250YWluZXIgLmNvbnRlbnQtc2VjdGlvbiAuZGF0YS1pbnRlcmFjdGlvbiBoMyB7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICBjb2xvcjogIzYzNjM2MztcclxufVxyXG5cclxuLnllbGxvdy10ZXh0IHtcclxuICAgIGNvbG9yOiAjQ0VBRDNCICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi1pY29uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRvcDogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIHtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIgLmludGVyYWN0aW9uLXBhdGhzIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyLnNsaWRlLWluIC5pbnRlcmFjdGlvbi1wYXRocyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciB1bCB7XHJcbiAgICBmbGV4OiAwIGF1dG87XHJcbiAgICB3aWR0aDogNDgwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIHVsLmNlbnRlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciAucGF0aHMtd3JhcCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtYXJnaW46IDAgLTUwcHg7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIHVsIGxpIHtcclxuICAgIHBhZGRpbmc6IDE4cHggMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyLnNsaWRlLWluIHVsIGxpOm50aC1jaGlsZCgxKSB7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyLnNsaWRlLWluIHVsIGxpOm50aC1jaGlsZCgyKSB7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxNTBtcztcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIuc2xpZGUtaW4gdWwgbGk6bnRoLWNoaWxkKDMpIHtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlci5zbGlkZS1pbiB1bCBsaTpudGgtY2hpbGQoNCkge1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogNDUwbXM7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyLnNsaWRlLWluIHVsIGxpOm50aC1jaGlsZCg1KSB7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA2MDBtcztcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIuc2xpZGUtaW4gdWwgbGk6bnRoLWNoaWxkKDYpIHtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDc1MG1zO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciB1bCBsaTpudGgtY2hpbGQoMSkge1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTkwMG1zO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciB1bCBsaTpudGgtY2hpbGQoMikge1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTc1MG1zO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciB1bCBsaTpudGgtY2hpbGQoMykge1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTYwMG1zO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciB1bCBsaTpudGgtY2hpbGQoNCkge1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTQ1MG1zO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciB1bCBsaTpudGgtY2hpbGQoNSkge1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTMwMG1zO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciB1bCBsaTpudGgtY2hpbGQoNikge1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTE1MG1zO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciB1bCBsaTpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIgdWwgbGkgLnRleHQge1xyXG4gICAgaGVpZ2h0OiA2NHB4O1xyXG4gICAgcGFkZGluZzogMTdweDtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciB1bCBsaT4uaWNvbiB7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYm9yZGVyOiAjNDFBOENBIDNweCBzb2xpZDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNBRkRBRTk7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciAucGF0aHMtd3JhcCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIC5wYXRocy13cmFwPnNwYW4ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciAucGF0aHMtd3JhcD5zcGFuIGltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIgLnBhdGhzLXdyYXA+c3BhbjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIuc2xpZGUtaW4gLnBhdGhzLXdyYXA+c3BhbjpiZWZvcmUge1xyXG4gICAgd2lkdGg6IDAlO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciAucGF0aHMtd3JhcCAuaW5zdXJhbmNlLXBhdGgge1xyXG4gICAgei1pbmRleDogNjA7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIC5wYXRocy13cmFwIC5iYW5rLXBhdGgge1xyXG4gICAgei1pbmRleDogNTA7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIC5wYXRocy13cmFwIC50ZWxlY29tLXBhdGgge1xyXG4gICAgei1pbmRleDogNDA7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIC5wYXRocy13cmFwIC5waGFybWEtcGF0aCB7XHJcbiAgICB6LWluZGV4OiAzMDtcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIgLnBhdGhzLXdyYXAgLnRlY2hub2xvZ3ktcGF0aCB7XHJcbiAgICB6LWluZGV4OiAyMDtcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIgLnBhdGhzLXdyYXAgLm1hbnVmYWN0dXJlLXBhdGgge1xyXG4gICAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyLnNsaWRlLWluIC5wYXRocy13cmFwIC5pbnN1cmFuY2UtcGF0aDpiZWZvcmUge1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXM7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyLnNsaWRlLWluIC5wYXRocy13cmFwIC5iYW5rLXBhdGg6YmVmb3JlIHtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDUwMG1zO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlci5zbGlkZS1pbiAucGF0aHMtd3JhcCAudGVsZWNvbS1wYXRoOmJlZm9yZSB7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcztcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIuc2xpZGUtaW4gLnBhdGhzLXdyYXAgLnBoYXJtYS1wYXRoOmJlZm9yZSB7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA5MDBtcztcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIuc2xpZGUtaW4gLnBhdGhzLXdyYXAgLnRlY2hub2xvZ3ktcGF0aDpiZWZvcmUge1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTEwMG1zO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlci5zbGlkZS1pbiAucGF0aHMtd3JhcCAubWFudWZhY3R1cmUtcGF0aDpiZWZvcmUge1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTMwMG1zO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciAucGF0aHMtd3JhcCAuaW5zdXJhbmNlLXBhdGg6YmVmb3JlIHtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEwMDBtcztcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIgLnBhdGhzLXdyYXAgLmJhbmstcGF0aDpiZWZvcmUge1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogODAwbXM7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIC5wYXRocy13cmFwIC50ZWxlY29tLXBhdGg6YmVmb3JlIHtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDYwMG1zO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciAucGF0aHMtd3JhcCAucGhhcm1hLXBhdGg6YmVmb3JlIHtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDQwMG1zO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciAucGF0aHMtd3JhcCAudGVjaG5vbG9neS1wYXRoOmJlZm9yZSB7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIgLnBhdGhzLXdyYXAgLm1hbnVmYWN0dXJlLXBhdGg6YmVmb3JlIHtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBtcztcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIgdWwgbGk+Lmljb24uaW5zdXJhbmNlIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL25wX2luc3VyYW5jZS5wbmcpO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciB1bCBsaT4uaWNvbi5iYW5rIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL25wX2JhbmsucG5nKTtcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIgdWwgbGk+Lmljb24udGVsZWNvbSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9ucF90ZWxlY29tLnBuZyk7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIHVsIGxpPi5pY29uLm1lZGljaW5lIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL25wX21lZGljaW5lLnBuZyk7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIHVsIGxpPi5pY29uLnRlY2hub2xvZ3kge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvbnBfdGVjaG5vbG9neS5wbmcpO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciB1bCBsaT4uaWNvbi5tYW51ZmFjdHVyZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9ucF9tYW51ZmFjdHVyZS5wbmcpO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciB1bCBsaT4uaWNvbi5lbWFpbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9ucF9lbWFpbC5wbmcpO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciB1bCBsaT4uaWNvbi5hbm5vdW5jZW1lbnQge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvbnBfYW5ub3VuY2VtZW50LnBuZyk7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIHVsIGxpPi5pY29uLmxvY2F0aW9uIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL25wX2xvY2F0aW9uLnBuZyk7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIHVsIGxpPi5pY29uLnNlYXJjaCB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9ucF9zZWFyY2hfZW5naW5lLnBuZyk7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIHVsIGxpPi5pY29uLnBwYyB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9ucF9wYXlfcGVyX2NsaWNrLnBuZyk7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIHVsLmxlZnQgbGkge1xyXG4gICAgcGFkZGluZy1yaWdodDogODBweDtcclxuICAgIGxlZnQ6IC01MDBweDtcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIuc2xpZGUtaW4gdWwubGVmdCBsaSB7XHJcbiAgICBsZWZ0OiAwO1xyXG59XHJcblxyXG4uZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciB1bC5sZWZ0IGxpIC50ZXh0IHtcclxuICAgIGNvbG9yOiAjMjU2Mzc3O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0FGREFFOTtcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIgdWwucmlnaHQgbGkge1xyXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xyXG4gICAgcmlnaHQ6IC01MDBweDtcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIuc2xpZGUtaW4gdWwucmlnaHQgbGkge1xyXG4gICAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIHVsLnJpZ2h0IGxpOmZpcnN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbn1cclxuXHJcbi5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIHVsLnJpZ2h0IGxpIC50ZXh0IHtcclxuICAgIGNvbG9yOiAjNzQ2MDFFO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRUFBRDtcclxufVxyXG5cclxuLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIgdWwucmlnaHQgbGk+Lmljb24ge1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjQ0VBRTNDO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRUFBRDtcclxufVxyXG5cclxuLm1sLWlkLXdyYXBwZXIgI2RhdGEge1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLm1sLWlkLXdyYXBwZXIgI2RhdGEgc3ZnLm1zLWRhdGEtc3ZnIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4uZGF0YV90b29sdGlwIHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgcGFkZGluZzogM3B4IDEycHggNXB4IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjNTU1NzYxO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAxMXB4IDExcHggMDtcclxuICAgIGZvbnQtZmFtaWx5OiAnRElOUHJvTWVkaXVtJztcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGNvbG9yOiAjRkZGRkZGO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAtNTAlKTtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcclxufVxyXG5cclxuXHJcbi8qIERhdGEgSW50ZXJhY3Rpb24gRU5EICovXHJcblxyXG5cclxuLyogU29sdXRpb24gU1RBUlQgKi9cclxuXHJcbi5zb2x1dGlvbi10ZXh0LXdyYXAsXHJcbi5vdXRjb21lLXRleHQtd3JhcCB7XHJcbiAgICB3aWR0aDogNTMwcHg7XHJcbiAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAxMjBweDtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xyXG59XHJcblxyXG4uc29sdXRpb24tdGV4dC13cmFwIGgxLFxyXG4ub3V0Y29tZS10ZXh0LXdyYXAgaDEge1xyXG4gICAgZm9udC1zaXplOiA2MHB4O1xyXG59XHJcblxyXG4ubWwtaWQtd3JhcHBlciAjc29sdXRpb24ge1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4ubWwtaWQtd3JhcHBlciAjc29sdXRpb24+c3ZnIHtcclxuICAgIG1hcmdpbjogLTEwcHggYXV0byAwO1xyXG59XHJcblxyXG4ubWwtaWQtd3JhcHBlciAjc29sdXRpb24+c3ZnIHRleHQge1xyXG4gICAgZm9udC1mYW1pbHk6ICdESU5Qcm9NZWRpdW0nO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZmlsbDogIzZiNmI2YjtcclxufVxyXG5cclxuXHJcbi8qIFNvbHV0aW9uIEVORCAqL1xyXG5cclxuXHJcbi8qIE91dGNvbWUgU1RBUlQgKi9cclxuXHJcbi5vdXRjb21lLXRleHQtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHotaW5kZXg6IDk5O1xyXG59XHJcblxyXG4ub3V0Y29tZS10ZXh0LXdyYXAsXHJcbi5vdXRjb21lLWhpZ2hsaWdodCB7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xyXG59XHJcblxyXG4ub3V0Y29tZS10ZXh0LXdyYXAge1xyXG4gICAgd2lkdGg6IDg1MHB4O1xyXG4gICAgbWF4LXdpZHRoOiA3MCU7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5vdXRjb21lLXRleHQtd3JhcCBwPi5sYXJnZSB7XHJcbiAgICBmb250LXNpemU6IDMycHg7XHJcbn1cclxuXHJcbi5vdXRjb21lLWhpZ2hsaWdodCB7XHJcbiAgICBmb250LWZhbWlseTogJ0RJTlByb1JlZ3VsYXInO1xyXG4gICAgZm9udC1zaXplOiAzOXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBjb2xvcjogIzBiN2FhMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG59XHJcblxyXG4ub3V0Y29tZS1oaWdobGlnaHQgLm1hc3NpdmUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICdESU5Qcm9MaWdodCc7XHJcbiAgICBmb250LXNpemU6IDEyMHB4O1xyXG4gICAgY29sb3I6ICM1N2U5ZDI7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogLThweDtcclxufVxyXG5cclxuLm91dGNvbWUtaGlnaGxpZ2h0IC5odWdlIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgZm9udC1zaXplOiA2MHB4O1xyXG4gICAgY29sb3I6ICM1N2U5ZDI7XHJcbn1cclxuXHJcbi5vdXRjb21lLWhpZ2hsaWdodCAuaHVnZS5kb2xsZXIge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC00M3B4O1xyXG59XHJcblxyXG4ub3V0Y29tZS1oaWdobGlnaHQgLmxhcmdlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnRElOUHJvTGlnaHQnO1xyXG4gICAgZm9udC1zaXplOiA1NXB4O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7XHJcbn1cclxuXHJcbi5vdXRjb21lLWhpZ2hsaWdodCAuc3RyZWNoZWQge1xyXG4gICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgY29sb3I6ICM4NDg3OGM7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogNXB4O1xyXG59XHJcblxyXG5cclxuLyogT3V0Y29tZSBFTkQgKi9cclxuXHJcblxyXG4vKiBSZXNwb25zaXZlIFNUQVJUICovXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDoxNjAwcHgpIHtcclxuICAgIC5tbC1iYW5uZXIge1xyXG4gICAgICAgIGhlaWdodDogNTQwcHg7XHJcbiAgICB9XHJcbiAgICAubWwtYmFubmVyIC5wcm9kdWN0LWxpc3Qge1xyXG4gICAgICAgIHJpZ2h0OiA2MHB4O1xyXG4gICAgfVxyXG4gICAgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1iYXIge1xyXG4gICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcclxuICAgIH1cclxuICAgIC5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtYmFyOmJlZm9yZSB7XHJcbiAgICAgICAgd2lkdGg6IDU4cHg7XHJcbiAgICAgICAgYm90dG9tOiAzNHB4O1xyXG4gICAgfVxyXG4gICAgLnByb2R1Y3QtbGlzdC5pbiAucHJvZHVjdC1iYXIge1xyXG4gICAgICAgIHRvcDogLTEzMHB4O1xyXG4gICAgfVxyXG4gICAgLmJhbm5lci1jb250YWluZXIgLmJhbm5lci10ZXh0LnBvdGVudGlhbCB7XHJcbiAgICAgICAgbGVmdDogNDUwcHg7XHJcbiAgICB9XHJcbiAgICAuYmFubmVyLWNvbnRhaW5lciAuYmFubmVyLXRleHQucHJvZHVjdHMge1xyXG4gICAgICAgIHJpZ2h0OiA2MHB4O1xyXG4gICAgICAgIGJvdHRvbTogOTBweDtcclxuICAgIH1cclxuICAgIC5iYW5uZXItY29udGFpbmVyIC5iYW5uZXItdGV4dC5sZWFkcyB7XHJcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxNDBweCk7XHJcbiAgICAgICAgYm90dG9tOiAxNjBweDtcclxuICAgIH1cclxuICAgIC5iYW5uZXItY29udGFpbmVyIC5iYW5uZXItdGV4dC5sZWFkcyAuYmFubmVyLXN1Yi10ZXh0IHtcclxuICAgICAgICBmb250LXNpemU6IDQycHg7XHJcbiAgICB9XHJcbiAgICAuZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciB1bCB7XHJcbiAgICAgICAgd2lkdGg6IDQ0MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDoxNDUwcHgpIHtcclxuICAgIC5tbC1iYW5uZXIge1xyXG4gICAgICAgIGhlaWdodDogNDgwcHg7XHJcbiAgICB9XHJcbiAgICAubWwtYmFubmVyIC5wcm9kdWN0LWxpc3Qge1xyXG4gICAgICAgIHJpZ2h0OiA1MHB4O1xyXG4gICAgfVxyXG4gICAgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1iYXIge1xyXG4gICAgICAgIHdpZHRoOiA1NnB4O1xyXG4gICAgfVxyXG4gICAgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1iYXI6YmVmb3JlIHtcclxuICAgICAgICB3aWR0aDogNDhweDtcclxuICAgICAgICBib3R0b206IDMzcHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3KDBkZWcsIDU1ZGVnKTtcclxuICAgIH1cclxuICAgIC5wcm9kdWN0LWxpc3QuaW4gLnByb2R1Y3QtYmFyIHtcclxuICAgICAgICB0b3A6IC0xNTBweDtcclxuICAgIH1cclxuICAgIC5iYW5uZXItY29udGFpbmVyIC5iYW5uZXItdGV4dCB7XHJcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgfVxyXG4gICAgLmJhbm5lci1jb250YWluZXIgLmJhbm5lci10ZXh0LnBvdGVudGlhbCB7XHJcbiAgICAgICAgbGVmdDogNDMwcHg7XHJcbiAgICB9XHJcbiAgICAuYmFubmVyLWNvbnRhaW5lciAuYmFubmVyLXRleHQubGVhZHMge1xyXG4gICAgICAgIGJvdHRvbTogMTQwcHg7XHJcbiAgICB9XHJcbiAgICAubWwtcHJvYmxlbSAjcHJvYmxlbSAjZG90c19zdmcge1xyXG4gICAgICAgIGxlZnQ6IC01MHB4O1xyXG4gICAgICAgIHRvcDogMzA5cHg7XHJcbiAgICB9XHJcbiAgICAuZGF0YS1pbnRlcmFjdGlvbiAuaW50ZXJhY3Rpb24td3JhcHBlciB1bCB7XHJcbiAgICAgICAgd2lkdGg6IDM1MHB4O1xyXG4gICAgfVxyXG4gICAgLmRhdGEtaW50ZXJhY3Rpb24gLmludGVyYWN0aW9uLXdyYXBwZXIgdWwgbGkgLnRleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIH1cclxuICAgIC5kYXRhLWludGVyYWN0aW9uIC5pbnRlcmFjdGlvbi13cmFwcGVyIHVsIGxpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDoxMzUwcHgpIHtcclxuICAgIC5tbC1iYW5uZXIge1xyXG4gICAgICAgIGhlaWdodDogNDUwcHg7XHJcbiAgICB9XHJcbiAgICAubWwtYmFubmVyIC5wcm9kdWN0LWxpc3Qge1xyXG4gICAgICAgIHJpZ2h0OiAzMHB4O1xyXG4gICAgfVxyXG4gICAgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1iYXIge1xyXG4gICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgfVxyXG4gICAgLmJhbm5lci1jb250YWluZXIgLmJhbm5lci10ZXh0IHtcclxuICAgICAgICBmb250LXNpemU6IDM1cHg7XHJcbiAgICB9XHJcbiAgICAuYmFubmVyLWNvbnRhaW5lciAuYmFubmVyLXRleHQucG90ZW50aWFsIHtcclxuICAgICAgICBsZWZ0OiA0MDBweDtcclxuICAgIH1cclxuICAgIC5iYW5uZXItY29udGFpbmVyIC5iYW5uZXItdGV4dC5wcm9kdWN0cyB7XHJcbiAgICAgICAgcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgYm90dG9tOiA3MHB4O1xyXG4gICAgfVxyXG4gICAgLmJhbm5lci1jb250YWluZXIgLmJhbm5lci10ZXh0LmxlYWRzIHtcclxuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDEzMHB4KTtcclxuICAgICAgICBib3R0b206IDEyNXB4O1xyXG4gICAgfVxyXG4gICAgLm1sLXByb2JsZW0gI3Byb2JsZW0gI2RvdHNfc3ZnIHtcclxuICAgICAgICBsZWZ0OiAtOTBweDtcclxuICAgICAgICB0b3A6IDI5MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDoxMjgwcHgpIHtcclxuICAgIC5tbC1iYW5uZXIge1xyXG4gICAgICAgIGhlaWdodDogNDMwcHg7XHJcbiAgICB9XHJcbiAgICAubWwtYmFubmVyIC5wcm9kdWN0LWxpc3Qge1xyXG4gICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1iYXIge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcclxuICAgIH1cclxuICAgIC5wcm9kdWN0LWxpc3QuaW4gLnByb2R1Y3QtYmFyIHtcclxuICAgICAgICB0b3A6IC0xNzBweDtcclxuICAgIH1cclxuICAgIC5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtYmFyOmJlZm9yZSB7XHJcbiAgICAgICAgd2lkdGg6IDQ4cHg7XHJcbiAgICAgICAgYm90dG9tOiAzNHB4O1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tldygwZGVnLCA1NWRlZyk7XHJcbiAgICB9XHJcbiAgICAuYmFubmVyLWNvbnRhaW5lciAuYmFubmVyLXRleHQucG90ZW50aWFsIHtcclxuICAgICAgICBsZWZ0OiAzODBweDtcclxuICAgIH1cclxuICAgIC5iYW5uZXItY29udGFpbmVyIC5iYW5uZXItdGV4dC5sZWFkcyB7XHJcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxMzBweCk7XHJcbiAgICAgICAgYm90dG9tOiAxMTVweDtcclxuICAgIH1cclxuICAgIC5tbC1wcm9ibGVtICNwcm9ibGVtICNkb3RzX3N2ZyB7XHJcbiAgICAgICAgbGVmdDogLTEwMHB4O1xyXG4gICAgICAgIHRvcDogMjgwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBSZXNwb25zaXZlIEVORCAqL1xyXG5cclxuLm1hcC1jaGFydC1wYXRoIHtcclxuICAgIGZpbGw6IG5vbmU7XHJcbiAgICBzdHJva2U6ICNhM2EzYTM7XHJcbiAgICBzdHJva2Utd2lkdGg6IC41cHg7XHJcbn1cclxuXHJcbi5sYW5kLWJvdW5kYXJ5IHtcclxuICAgIHN0cm9rZS13aWR0aDogMXB4O1xyXG59XHJcblxyXG4uY291bnR5LWJvdW5kYXJ5IHtcclxuICAgIHN0cm9rZTogI2RkZGRkZDtcclxufVxyXG5cclxuI291dGNvbWVzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDAgMCA1MHB4O1xyXG59XHJcblxyXG4udG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICBmb250LWZhbWlseTogJ0RJTlByb01lZGl1bSc7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjRiNWI4O1xyXG4gICAgcGFkZGluZzogNXB4IDVweCA1cHggM3B4O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZmQ4MDUwO1xyXG4gICAgYmFja2dyb3VuZDogIzU1NTc2MTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxufVxyXG5cclxuLnRvb2x0aXAtY29udGFpbmVyOjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBib3JkZXItdG9wOiAxNHB4IHNvbGlkICM1NTU3NjE7XHJcbiAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcclxufVxyXG5cclxuLmdlYXJUZXh0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufSJdfQ== */\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Potential
Leads
\\r\\n
\\r\\n
\\r\\n 60\\r\\n +\\r\\n
Products
\\r\\n
\\r\\n
\\r\\n 7\\r\\n M+\\r\\n
Acquired
Leads
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Manual

\\r\\n

Lead sorting & Qualification

\\r\\n
\\r\\n
\\r\\n

Across the

\\r\\n

Globe

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

Data

\\r\\n \\r\\n
\\r\\n
\\r\\n

Customer Segments

\\r\\n

Across Industries

\\r\\n
\\r\\n
\\r\\n

Customer Interactions

\\r\\n

Multi-channel

\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Solution

\\r\\n

An ecosystem of interconnected AI models (e.g. scoring, calibration, explanation, deal size, etc.) which work in tandem to improve seller productivity, develop seller trust in AI and provide feedback to the source of marketing campaigns.

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Outcome

\\r\\n

The AI has helped to boost the conversion rates by +50% which has in turn led to an increase of $100M+ in yearly revenue.

\\r\\n
\\r\\n
\\r\\n $\\r\\n 100\\r\\n M+\\r\\n
Yearly
\\r\\n
Revenue
\\r\\n
Increased
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, Output, EventEmitter, ViewChild,\r\n ElementRef, ViewEncapsulation, AfterViewInit, Renderer2, OnDestroy, DoCheck } from '@angular/core';\r\nimport _ from 'lodash';\r\nimport * as topojson from 'topojson';\r\n\r\nimport WorldMapData from './worldMap50.json';\r\nimport jsonData from './data.json';\r\nimport { D3CustomShapesService } from '../../services/helper/d3-custom-shapes.service';\r\n\r\ndeclare const d3: any;\r\n\r\n@Component({\r\n selector: 'app-micro-lead-identification',\r\n templateUrl: './micro-lead-identification.component.html',\r\n styleUrls: ['./micro-lead-identification.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class MicroLeadIdentificationComponent implements OnInit, DoCheck, AfterViewInit, OnDestroy {\r\n @ViewChild('container') container: ElementRef;\r\n @ViewChild('content') content: ElementRef;\r\n // tslint:disable-next-line: no-output-on-prefix\r\n @Output() public onVisibleSectionChange = new EventEmitter();\r\n\r\n private sectionDimention: any;\r\n private problemSection: any;\r\n private dataSection: any;\r\n private problemMapSection: any;\r\n private solutionSection: any;\r\n private outcomesSection: any;\r\n private scrollSection: any;\r\n public showDataAnimation = false;\r\n private unsubscribeResize = null;\r\n private unsubscribeAnimationFrame = null;\r\n private _lastHeight: number ;\r\n constructor(\r\n private shapesService: D3CustomShapesService,\r\n private renderer: Renderer2) { }\r\n\r\n ngDoCheck(): void {\r\n const scrollWindowHeight = document.getElementById('scroll-container').offsetHeight;\r\n if (this._lastHeight !== scrollWindowHeight) {\r\n this._lastHeight = scrollWindowHeight;\r\n this.calculateAndSetScale();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.calculateAndSetScale();\r\n\r\n setTimeout(() => {\r\n const ele = d3.select('#product_list');\r\n ele.attr('class', ele.attr('class') + ' in');\r\n }, 500);\r\n\r\n this.unsubscribeResize = this.renderer.listen(window, 'resize', _.debounce(() => {\r\n this.problemSection.resize();\r\n this.problemMapSection.resize();\r\n this.dataSection.resize();\r\n this.solutionSection.resize();\r\n this.outcomesSection.resize();\r\n this.calculateAndSetScale();\r\n }, 700));\r\n }\r\n\r\n private calculateAndSetScale() {\r\n const problem = d3.select('#problem').node(0).getBoundingClientRect();\r\n const data = d3.select('#data').node(0).getBoundingClientRect();\r\n const solution = d3.select('#solution').node(0).getBoundingClientRect();\r\n const outcomes = d3.select('#outcomes').node(0).getBoundingClientRect();\r\n const main = d3.select('#scroll-container').node(0).getBoundingClientRect();\r\n const problemWallSection = d3.select('#banner_id').node(0).getBoundingClientRect();\r\n const problemMapSection = d3.select('#problem_map_id').node(0).getBoundingClientRect();\r\n this.scrollSection = main;\r\n function checkLeavePoint(bottom) {\r\n let result = bottom - main.height;\r\n if (result < 0) {\r\n result = 0;\r\n }\r\n return result;\r\n }\r\n const size: any = {\r\n problemWall: {\r\n top: 0,\r\n bottom: problemWallSection.height,\r\n scrollStart: 0,\r\n scrollLeave: checkLeavePoint(problemWallSection.height),\r\n scrollEnd: problemWallSection.height\r\n }\r\n };\r\n size.problemWorldMap = {\r\n top: size.problemWall.bottom + 1,\r\n bottom: size.problemWall.bottom + problemMapSection.height,\r\n scrollStart: size.problemWall.scrollLeave + 1,\r\n scrollLeave: size.problemWall.bottom + problemMapSection.height - main.height,\r\n scrollEnd: size.problemWall.bottom + problemMapSection.height\r\n };\r\n size.problem = {\r\n top: 0,\r\n bottom: problem.height,\r\n scrollStart: 0,\r\n scrollLeave: problem.height - main.height,\r\n scrollEnd: problem.height\r\n };\r\n size.data = {\r\n top: size.problem.bottom + 1,\r\n bottom: size.problem.bottom + data.height,\r\n scrollStart: size.problem.bottom + 1,\r\n scrollLeave: (size.problem.bottom + data.height - main.height),\r\n scrollEnd: (size.problem.bottom + data.height)\r\n };\r\n size.solution = {\r\n top: size.data.bottom + 1,\r\n bottom: size.data.bottom + solution.height,\r\n scrollStart: size.data.bottom + 1,\r\n scrollLeave: (size.data.bottom + solution.height - main.height),\r\n scrollEnd: (size.data.bottom + solution.height)\r\n };\r\n size.outcomes = {\r\n top: size.solution.bottom + 1,\r\n bottom: size.solution.bottom + outcomes.height,\r\n scrollStart: size.solution.bottom + 1,\r\n scrollLeave: (size.solution.bottom + outcomes.height - main.height),\r\n scrollEnd: (size.solution.bottom + outcomes.height - main.height)\r\n };\r\n this.sectionDimention = size;\r\n // START: Set domain range or scale for animation\r\n this.problemSection.setProblemScaleDomain(size.problemWall.scrollStart, size.problemWall.scrollEnd);\r\n this.problemMapSection.setScaleDomain(\r\n size.problemWorldMap.scrollStart,\r\n size.problemWorldMap.scrollLeave,\r\n size.problem.scrollEnd);\r\n this.dataSection.setDataScaleDomain(\r\n size.problem.scrollLeave + ((size.problem.scrollEnd - size.problem.scrollLeave) / 2),\r\n size.data.scrollLeave + (size.data.scrollEnd - size.data.scrollLeave) / 2,\r\n size.data.scrollEnd);\r\n this.solutionSection.setSolutionScaleDomain(\r\n (size.data.scrollLeave + (size.data.scrollEnd - size.data.scrollLeave) / 2),\r\n (size.solution.scrollLeave + (size.solution.scrollEnd - size.solution.scrollLeave) / 2)\r\n );\r\n this.outcomesSection.setScaleDomain(\r\n (size.solution.scrollLeave + (size.solution.scrollEnd - size.solution.scrollLeave) / 2),\r\n size.outcomes.scrollLeave - 100);\r\n // END: Set domain range or scale for animation\r\n }\r\n\r\n private responsivefy(svg, isHeightNotToUpdate = false) {\r\n const container = d3.select(svg.node().parentNode);\r\n const width = parseInt(svg.style('width'), 10);\r\n const height = parseInt(svg.style('height'), 10);\r\n const aspect = width / height;\r\n\r\n // get width of container and resize svg to fit it\r\n const resize = () => {\r\n const targetWidth = parseInt(container.style('width'), 10);\r\n svg.attr('width', targetWidth);\r\n let targetHeight = targetWidth / aspect;\r\n if (isHeightNotToUpdate) {\r\n // Set Container Height as is.\r\n targetHeight = container.node().getBoundingClientRect().height;\r\n }\r\n svg.attr('height', Math.round(targetHeight));\r\n return {\r\n widthAspect: targetWidth / width,\r\n heightAspect: targetHeight / height\r\n };\r\n };\r\n svg.attr('viewBox', '0 0 ' + width + ' ' + height)\r\n .attr('perserveAspectRatio', 'xMinYMid')\r\n .call(resize);\r\n\r\n return resize;\r\n }\r\n\r\n ngOnInit() {\r\n this.renderStory();\r\n }\r\n\r\n private renderStory() {\r\n let _scrollTop = 0;\r\n let _newScrollTop = 0;\r\n\r\n d3.select('#scroll-container').on('scroll.scroller', function () {\r\n _newScrollTop = d3.select(this).node(0).scrollTop;\r\n });\r\n\r\n // START Init Problem section SVG\r\n this.problemSection = this.initProblemSection('banner_id', jsonData);\r\n this.problemMapSection = this.initDataWorldChart('problem_map_id', WorldMapData);\r\n // END: Init Problem section SVG\r\n\r\n // START Init Data section SVG\r\n this.dataSection = this.initDataSection('data');\r\n // END: Init Data section SVG\r\n\r\n // START Init Problem section SVG\r\n this.solutionSection = this.initSolutionSection('solution', jsonData);\r\n // END: Init Problem section SVG\r\n\r\n // START Init Data section SVG\r\n this.outcomesSection = this.initDataWorldChart('outcomes_svg_id', WorldMapData, true);\r\n // END: Init Data section SVG\r\n\r\n /**\r\n * Render function\r\n * This function is recurcive function and called to show animation on every scroll change.\r\n */\r\n const render = () => {\r\n this.problemSection.animateSecondBigCircle();\r\n // this.solutionSection.rotateGears();\r\n if (_scrollTop !== _newScrollTop) {\r\n _scrollTop = _newScrollTop;\r\n\r\n if (this.sectionDimention.problem.scrollStart <= _scrollTop\r\n && _scrollTop < this.sectionDimention.problem.scrollEnd + 100) {\r\n this.problemSection.startProblemAnimation(_scrollTop);\r\n this.problemMapSection.startAnimation(_scrollTop);\r\n }\r\n if ((this.sectionDimention.data.scrollStart - this.scrollSection.height) < _scrollTop\r\n && _scrollTop < (this.sectionDimention.data.scrollEnd + 100)) {\r\n this.dataSection.startDataAnimation(_scrollTop);\r\n\r\n }\r\n if ((this.sectionDimention.solution.scrollStart - this.scrollSection.height) < _scrollTop\r\n && _scrollTop <= (this.sectionDimention.solution.scrollEnd + 100)) {\r\n this.solutionSection.startSolutionAnimation(_scrollTop);\r\n }\r\n if ((this.sectionDimention.outcomes.scrollStart - this.scrollSection.height) < _scrollTop) {\r\n this.outcomesSection.startAnimation(_scrollTop);\r\n }\r\n }\r\n window.cancelAnimationFrame(this.unsubscribeAnimationFrame);\r\n this.unsubscribeAnimationFrame = window.requestAnimationFrame(render);\r\n };\r\n this.unsubscribeAnimationFrame = window.requestAnimationFrame(render);\r\n }\r\n\r\n /**\r\n * Initiate world map creation on specific container\r\n *\r\n * @param containerId - Parent container ID\r\n * @param world - WoldJson Data\r\n * @param width - Width of the SVG\r\n * @param isFinal - Is final output SVG\r\n */\r\n private initDataWorldChart(containerId, world, isFinal = false) {\r\n const container = d3.select('#' + containerId);\r\n const WIDTH = container.node().clientWidth || container.node().offsetWidth;\r\n const HEIGHT_OFFSET = 710 / 1280;\r\n const HEIGHT = WIDTH * HEIGHT_OFFSET;\r\n const MAP_SCALE_OFFSET = 177 / 1280;\r\n const scale = WIDTH * MAP_SCALE_OFFSET;\r\n const projection = d3.geo.mercator()\r\n .center([0, 20])\r\n .scale(scale)\r\n .translate([WIDTH / 2, (HEIGHT / 2)])\r\n .precision(.1);\r\n\r\n const path = d3.geo.path()\r\n .projection(projection);\r\n\r\n const svg = container.append('svg')\r\n .attr({\r\n id: 'svg-problem-map',\r\n width: WIDTH,\r\n height: HEIGHT\r\n });\r\n const onResize = this.responsivefy(svg);\r\n const worldMapContainer = svg.append('g');\r\n\r\n worldMapContainer.append('path')\r\n .datum(topojson.feature(world, world.objects.land))\r\n .attr('d', path)\r\n .attr('class', 'map-chart-path land-boundary');\r\n\r\n worldMapContainer.append('path')\r\n .datum(topojson.mesh(world, world.objects.countries, (a, b) => a !== b))\r\n .attr('d', path)\r\n .attr('class', 'map-chart-path country-boundary');\r\n let initSalesTeam;\r\n if (!isFinal) {\r\n initSalesTeam = ((salesData) => {\r\n return d3.select('#' + containerId).selectAll('.sales-team')\r\n .data(salesData, (d, i) => {\r\n if (!d.cx || !d.cy) {\r\n d.cx = projection([d.lat, d.lng])[0];\r\n d.cy = projection([d.lat, d.lng])[1];\r\n }\r\n return i;\r\n })\r\n .enter()\r\n .append('div')\r\n .text(d => d.teamName)\r\n .attr({\r\n id: (d) => d.id,\r\n class: (d) => 'sales-team ' + d.id\r\n })\r\n .style({\r\n opacity: 0,\r\n left: (d) => (d.cx || 0) + 'px',\r\n top: (d) => (d.cy || 0) + 'px'\r\n });\r\n })(jsonData.data_salesTeam_coordinates);\r\n }\r\n const initZoneDots = ((dotData) => {\r\n const circleAttr = (d) => {\r\n const result: any = {\r\n class: 'zone-dot',\r\n cx: d.xInitPosition,\r\n cy: d.yInitPosition,\r\n r: 5,\r\n fill: '#51cfba'\r\n };\r\n if (isFinal) {\r\n result.fill = d.color;\r\n }\r\n return result;\r\n };\r\n return worldMapContainer.selectAll('.zone-dot')\r\n .data(dotData, (d, i) => {\r\n if (!d.cx || !d.cy) {\r\n d.cx = projection([d.lat, d.lng])[0];\r\n d.cy = projection([d.lat, d.lng])[1];\r\n }\r\n d.yInitPosition = getRandomIntInclusive(-50, -10);\r\n d.xInitPosition = getRandomIntInclusive(d.cx - 100, d.cx + 100);\r\n if (!isFinal) {\r\n if (((WIDTH * .65) < d.xInitPosition) || (WIDTH * 0.1046875 > d.xInitPosition)) {\r\n d.xInitPosition = getRandomIntInclusive((WIDTH * 0.1046875), (WIDTH * .65));\r\n }\r\n }\r\n return i;\r\n })\r\n .enter()\r\n .append('g')\r\n .append('circle')\r\n .each(function (d) {\r\n d3.select(this)\r\n .attr(circleAttr(d));\r\n if (isFinal && d.tooltip) {\r\n d3.select('#' + containerId)\r\n .append('div')\r\n .text(d.tooltip)\r\n .attr({\r\n id: d.tooltipId,\r\n class: 'tooltip-container'\r\n })\r\n .style({\r\n opacity: 0,\r\n left: () => {\r\n d.tipWidth = (d3.select('#' + d.tooltipId).node().offsetWidth / 2) || 150;\r\n return (d.cx - d.tipWidth) + 'px';\r\n },\r\n top: () => {\r\n d.tipHeight = (d3.select('#' + d.tooltipId).node().offsetHeight || 80) + 20;\r\n return (d.cy - d.tipHeight) + 'px';\r\n },\r\n });\r\n }\r\n });\r\n })(JSON.parse(JSON.stringify(jsonData.data_cities_on_globe)));\r\n let salesTeamOpacityScale;\r\n let lastSalesTeamOpacity = 0;\r\n let animationEnd;\r\n let outAnimationEnd;\r\n return {\r\n resize() {\r\n const ratio: any = onResize();\r\n if (isFinal) {\r\n initZoneDots\r\n .each(function (d) {\r\n if (d.tooltip) {\r\n d3.select('#' + d.tooltipId)\r\n .style({\r\n left: () => {\r\n return ((d.cx * ratio.widthAspect) - d.tipWidth) + 'px';\r\n },\r\n top: () => {\r\n return ((d.cy * ratio.heightAspect) - d.tipHeight) + 'px';\r\n },\r\n });\r\n }\r\n });\r\n } else {\r\n initSalesTeam\r\n .style({\r\n left: (d) => ((d.cx * ratio.widthAspect) || 0) + 'px',\r\n top: (d) => ((d.cy * ratio.heightAspect) || 0) + 'px'\r\n });\r\n }\r\n },\r\n startAnimation(scrollTop) {\r\n initZoneDots\r\n .attr({\r\n cy: (d) => {\r\n const result = d.yPositionScale(scrollTop);\r\n if (isFinal && d.tooltip) {\r\n if (result > d.cy - 100) {\r\n d3.select('#' + d.tooltipId)\r\n .style('opacity', 1);\r\n } else {\r\n d3.select('#' + d.tooltipId)\r\n .style('opacity', 0);\r\n }\r\n }\r\n return result;\r\n },\r\n cx: (d) => d.xPositionScale(scrollTop)\r\n });\r\n if (!isFinal) {\r\n if (animationEnd < scrollTop && scrollTop < outAnimationEnd) {\r\n initZoneDots\r\n .attr({\r\n cx: function(d) {\r\n if (d.xOutOpacityScale) {\r\n d3.select(this).style('opacity', d.xOutOpacityScale(scrollTop));\r\n }\r\n return d.xOutPosScale(scrollTop);\r\n },\r\n cy: (d) => d.yOutPosScale(scrollTop)\r\n });\r\n } else if (outAnimationEnd < scrollTop) {\r\n initZoneDots\r\n .attr({\r\n cy: (d) => d.yFinalOutScale(scrollTop),\r\n cx: (d) => d.xOutPosScale(scrollTop)\r\n });\r\n }\r\n const newOpacityVal = salesTeamOpacityScale(scrollTop);\r\n if (initSalesTeam && newOpacityVal !== lastSalesTeamOpacity) {\r\n lastSalesTeamOpacity = newOpacityVal;\r\n initSalesTeam\r\n .style('opacity', newOpacityVal);\r\n }\r\n }\r\n },\r\n setScaleDomain: (start, end, finalEnd = end) => {\r\n const animationStart = start;\r\n animationEnd = start + 200;\r\n outAnimationEnd = end + ((finalEnd - end) / 2);\r\n if (!isFinal) {\r\n salesTeamOpacityScale = d3.scale.linear().domain([animationStart, animationStart + 1]).range([0, 1]).clamp(true);\r\n }\r\n initZoneDots\r\n .each((d, i) => {\r\n if (!isFinal) {\r\n const halfX = WIDTH / 2;\r\n const y = getRandomIntInclusive(50, 200);\r\n const finalXCalScale = d3.scale.linear().domain([80, 100]).range([1, 10]).clamp(true);\r\n let x = (halfX > d.cx) ? halfX - finalXCalScale(y) : halfX + finalXCalScale(y);\r\n if (i % 3 === 0) {\r\n x = (halfX > d.cx) ? halfX - getRandomIntInclusive(0, 5) : halfX + getRandomIntInclusive(0, 10);\r\n }\r\n if (i > 20 && i < 100) {\r\n d.xOutOpacityScale = d3.scale.linear().domain([end, outAnimationEnd]).range([1, 0]).clamp(true);\r\n }\r\n d.xOutPosScale = d3.scale.linear().domain([end, outAnimationEnd]).range([d.cx, x]).clamp(true);\r\n d.yOutPosScale = d3.scale.linear().domain([end, outAnimationEnd]).range([d.cy, HEIGHT - y]).clamp(true);\r\n d.yFinalOutScale = d3.scale.linear().domain([outAnimationEnd, outAnimationEnd + 100])\r\n .range([HEIGHT - y, HEIGHT + 300]).clamp(true);\r\n // d.xOutPosScale = d3.scale.linear().domain([end, finalEnd]).range([d.cx, WIDTH / 2]).clamp(true);\r\n // d.yOutPosScale = d3.scale.linear().domain([end, finalEnd]).range([d.cy, HEIGHT - 50]).clamp(true);\r\n }\r\n d.yPositionScale = d3.scale.linear().domain([animationStart, animationEnd]).range([d.yInitPosition, d.cy]).clamp(true);\r\n d.xPositionScale = d3.scale.linear().domain([animationStart, animationEnd]).range([d.xInitPosition, d.cx]).clamp(true);\r\n });\r\n },\r\n };\r\n }\r\n\r\n /**\r\n * Init data section on specific container.\r\n *\r\n * @param containerId - Parent Container ID\r\n */\r\n private initDataSection(containerId) {\r\n const container = d3.select('#' + containerId);\r\n const WIDTH = 1280;\r\n const HEIGHT = container.node().getBoundingClientRect().height;\r\n const arrayData = [];\r\n const lineData = [{ 'x': 0, 'y': 0 }, { 'x': 0, 'y': HEIGHT - 30 }];\r\n for (let i = 0; i < 10; i++) {\r\n const ar = (5 - i * 3);\r\n const r = (ar < 0) ? 0 : ar;\r\n arrayData.push({\r\n id: 'data_circle_' + i,\r\n actualRadius: ar,\r\n radius: r\r\n });\r\n if (i < 3) {\r\n let txt = '';\r\n switch (i) {\r\n case 0:\r\n txt = 'Demographics';\r\n break;\r\n case 1:\r\n txt = 'Firmographics';\r\n break;\r\n case 2:\r\n txt = 'Company characteristics';\r\n break;\r\n }\r\n arrayData[i].tipText = txt;\r\n arrayData[i].tipId = 'data_tooltip_' + i;\r\n }\r\n }\r\n const svg = container.append('svg')\r\n .attr('class', 'ms-data-svg')\r\n .attr('width', WIDTH)\r\n .attr('height', HEIGHT);\r\n\r\n const onResize = this.responsivefy(svg, true);\r\n\r\n const group = svg\r\n .append('g')\r\n .attr('transform', 'translate(' + ((WIDTH / 2)) + ',0)');\r\n\r\n const lineFunction = d3.svg.line()\r\n .x(d => d.x)\r\n .y(d => d.y)\r\n .interpolate('cardinal');\r\n\r\n const lineGraph = group.append('path')\r\n .attr('d', lineFunction(lineData))\r\n .attr('stroke-width', 1)\r\n .attr('fill', 'none');\r\n\r\n const dataCircles = svg.selectAll('.data-circle')\r\n .data(arrayData)\r\n .enter()\r\n .append('circle')\r\n .style('fill', '#52d2c1')\r\n .attr({\r\n 'id': d => d.id,\r\n 'class': 'data-circle',\r\n 'r': d => (d.radius || 5)\r\n })\r\n .each(function (d) {\r\n if (d.tipId) {\r\n container.append('div')\r\n .text(d.tipText)\r\n .attr({\r\n id: d.tipId,\r\n class: 'data_tooltip'\r\n })\r\n .style({\r\n left: () => {\r\n return ((WIDTH / 2) || 0) + 'px';\r\n },\r\n opacity: 0\r\n });\r\n }\r\n });\r\n\r\n let pathScale: any;\r\n let opacityScale: any;\r\n let symoblDiffScale: any;\r\n let radiusScale: any;\r\n let animationStart;\r\n let animationEnd;\r\n let animationFinalEnd;\r\n let resizeRatio;\r\n const animationFunction = (path, _scrollTop, d, i) => {\r\n const scaleFn = pathScale;\r\n const length = path.node().getTotalLength();\r\n const r = d3.interpolate(0, length);\r\n const diffFactorForEachShapes = (scaleFn(_scrollTop) === length) ? 0 : (i * symoblDiffScale(_scrollTop));\r\n const point = path.node().getPointAtLength(r((scaleFn(_scrollTop) - diffFactorForEachShapes) / length));\r\n d3.select('#' + d.id)\r\n .attr({\r\n 'r': (v) => {\r\n const calcActualR = v.actualRadius + radiusScale(_scrollTop);\r\n return (calcActualR >= 0) ? calcActualR : 0; // (v.radius + radiusScale(_scrollTop));\r\n },\r\n 'transform': 'translate(' + ((WIDTH / 2)) + ', ' + point.y + ')'\r\n })\r\n .style('opacity', opacityScale(_scrollTop));\r\n const startTooltip = (animationStart + ((animationEnd - animationStart) / 2));\r\n if (startTooltip < _scrollTop && d.tipId) {\r\n d3.select('#' + d.tipId)\r\n .style({\r\n opacity: 1,\r\n left: () => {\r\n const updatedWidth = container.node().getBoundingClientRect().width;\r\n const calcActualR = d.actualRadius + radiusScale(_scrollTop);\r\n const finalR = (calcActualR >= 0) ? calcActualR : 0;\r\n return ((updatedWidth / 2) + finalR) + 'px';\r\n },\r\n top: () => {\r\n let top = point.y;\r\n if (resizeRatio) {\r\n top = top * resizeRatio.heightAspect;\r\n }\r\n return top + 'px';\r\n },\r\n });\r\n }\r\n if (startTooltip > _scrollTop || _scrollTop > animationEnd) {\r\n d3.select('#' + d.tipId)\r\n .style('opacity', 0);\r\n }\r\n };\r\n const that = this;\r\n return {\r\n resize() {\r\n resizeRatio = onResize();\r\n },\r\n startDataAnimation(scrollTop) {\r\n let newShowAnimationVal;\r\n if (animationStart < scrollTop) {\r\n newShowAnimationVal = true;\r\n } else {\r\n newShowAnimationVal = false;\r\n }\r\n if (newShowAnimationVal !== that.showDataAnimation) {\r\n that.showDataAnimation = newShowAnimationVal;\r\n }\r\n dataCircles.each((d, i) => {\r\n animationFunction(lineGraph, scrollTop, d, i);\r\n });\r\n },\r\n setDataScaleDomain: (start, end, finalEnd) => {\r\n animationStart = start;\r\n animationEnd = end;\r\n animationFinalEnd = finalEnd;\r\n pathScale = d3.scale.linear().domain([animationStart, animationEnd]).range([0, HEIGHT + ((finalEnd - end) / 2)]).clamp(true);\r\n opacityScale = d3.scale.linear().domain([animationStart, animationFinalEnd]).range([HEIGHT, 0]).clamp(true);\r\n symoblDiffScale = d3.scale.linear().domain([animationEnd, animationFinalEnd]).range([100, 60]).clamp(true);\r\n radiusScale = d3.scale.linear().domain([animationStart, animationEnd]).range([0, 25]).clamp(true);\r\n }\r\n };\r\n }\r\n\r\n private initSolutionSection(containerId, jData) {\r\n const container = d3.select('#' + containerId);\r\n const width = container.node().getBoundingClientRect().width;\r\n const height = 1250;\r\n const x = Math.sin(2 * Math.PI / 3);\r\n const y = Math.cos(2 * Math.PI / 3);\r\n\r\n const svg = container.append('svg')\r\n .attr('width', width)\r\n .attr('height', height);\r\n const resize = this.responsivefy(svg);\r\n const clusterGroupArr = [];\r\n const clustersGroup = svg.append('g')\r\n .attr({\r\n 'id': 'clusters-group',\r\n 'class': 'clusters-group',\r\n 'transform': 'translate(' + 0 + ',' + 300 + ')'\r\n })\r\n .style('opacity', 0);\r\n\r\n for (let i = 0; i < 3; i++) {\r\n clusterGroupArr.push(drawCircleGroup(i));\r\n }\r\n\r\n // function for draw circle group\r\n function drawCircleGroup(parentCircleId) {\r\n const circleR = 5;\r\n const yPosition = parentCircleId === 1 ? 50 : -30;\r\n const xPosition = parentCircleId === 0 ? -300 : parentCircleId === 1 ? 0 : 300;\r\n const circleGroup = clustersGroup.append('g')\r\n .attr('transform', 'translate(' + xPosition + ',' + yPosition + ')')\r\n .attr('class', 'cluster-group');\r\n\r\n const force = d3.layout.force()\r\n .size([width, height])\r\n .charge(-5)\r\n .on('tick', tick);\r\n const colorCircle = ['#ff8250', '#cdc50d', '#39b3ff'];\r\n let node = circleGroup.selectAll('.node');\r\n const drawInit = function (graph) {\r\n node = node.data(graph.nodes, function (d) {\r\n return d.id;\r\n })\r\n .enter()\r\n .append('circle')\r\n .each(function (d) {\r\n d3.select(this)\r\n .attr({\r\n cx: d.cx,\r\n cy: d.cy,\r\n r: circleR,\r\n // class: 'solutionCirclePosition',\r\n });\r\n })\r\n .attr('class', 'node')\r\n .attr('id', function (d, i) {\r\n return 'cluster_id_' + parentCircleId + '_' + d.id;\r\n })\r\n .attr('r', 5)\r\n .style('fill', function (d, i) {\r\n return colorCircle[parentCircleId];\r\n });\r\n force\r\n .nodes(graph.nodes)\r\n .start();\r\n };\r\n\r\n const update = function (graph, isForward) {\r\n const centerCircleNode = d3.select('#cluster_id_' + parentCircleId + '_' + 0);\r\n const centerNodeCoordinates: any = {};\r\n const centerCircleNodeText = ['Hot', 'Warm', 'Cold'];\r\n\r\n centerCircleNode\r\n .transition()\r\n .duration(50)\r\n .attr('r', function (d) {\r\n centerNodeCoordinates.x = d.px;\r\n centerNodeCoordinates.y = d.py;\r\n return (isForward) ? 35 : circleR;\r\n });\r\n if (isForward) {\r\n circleGroup.append('text')\r\n .attr('text-anchor', 'middle')\r\n .attr('x', centerNodeCoordinates.x)\r\n .attr('y', centerNodeCoordinates.y + 5)\r\n .attr('class', 'center_node_text')\r\n .attr('id', 'center_node_text_' + parentCircleId)\r\n .style({\r\n 'fill': 'white',\r\n 'font-family': 'DINProRegular',\r\n 'font-size': '20px',\r\n 'font-weight': 'bold'\r\n })\r\n .transition()\r\n .duration(300)\r\n .text(centerCircleNodeText[parentCircleId]);\r\n } else {\r\n circleGroup.selectAll('text').remove();\r\n }\r\n force\r\n .charge(function (d, i) {\r\n return i ? -9 : -160;\r\n })\r\n .nodes(graph.nodes)\r\n .start();\r\n // setTimeout(() => {\r\n // force.stop();\r\n // });\r\n };\r\n\r\n\r\n function tick() {\r\n node.attr({\r\n 'cx': (d) => d.x,\r\n 'cy': (d) => d.y\r\n });\r\n }\r\n // tslint:disable-next-line: no-shadowed-variable\r\n const arrayData = [];\r\n for (let i = 0; i < 90; i++) {\r\n const d_obj: any = { id: i, name: i, group: 1, size: 10 };\r\n if (!i) {\r\n d_obj.x = width / 2;\r\n d_obj.y = height / 2;\r\n d_obj.fixed = true;\r\n }\r\n arrayData.push(d_obj);\r\n }\r\n const data = { 'nodes': arrayData };\r\n drawInit(data);\r\n\r\n return {\r\n update: (forward) => { update(data, forward); },\r\n stop: () => { force.stop(); }\r\n };\r\n }\r\n const solutionCircle = d3.selectAll('.node');\r\n function drawSmoothGear({ teeth, radius, toothRadius, holeRadius, annulus }: any) {\r\n const n = teeth;\r\n const r2 = Math.abs(radius);\r\n let r0 = r2 - toothRadius;\r\n let r1 = r2;\r\n let r3 = holeRadius;\r\n if (annulus) { r3 = r0, r0 = r1, r1 = r3, r3 = r2 + toothRadius * 3; }\r\n const da = Math.PI / n;\r\n let a0 = -Math.PI / 2 + (annulus ? Math.PI / n : 0);\r\n const path = ['M', r0 * Math.cos(a0), ',', r0 * Math.sin(a0)];\r\n let i = -1;\r\n while (++i < n) {\r\n path.push(\r\n 'A', r0, ',', r0, ' 0 0,1 ', r0 * Math.cos(a0 += da), ',', r0 * Math.sin(a0),\r\n 'L', r2 * Math.cos(a0), ',', r2 * Math.sin(a0),\r\n 'L', r1 * Math.cos(a0 += da / 3), ',', r1 * Math.sin(a0),\r\n 'A', r1, ',', r1, ' 0 0,1 ', r1 * Math.cos(a0 += da / 3), ',', r1 * Math.sin(a0),\r\n 'L', r2 * Math.cos(a0 += da / 3), ',', r2 * Math.sin(a0),\r\n 'L', r0 * Math.cos(a0), ',', r0 * Math.sin(a0)\r\n );\r\n }\r\n path.push('M0,', -r3, 'A', r3, ',', r3, ' 0 0,0 0,', r3, 'A', r3, ',', r3, ' 0 0,0 0,', -r3, 'Z');\r\n return path.join('');\r\n }\r\n function drawSharpGear({ teeth, radius, holeRadius }: any) {\r\n // Four points to draw a complete gear tooth:\r\n // Two points to draw an 'outer tooth',\r\n // then two points for an 'inner tooth' and so forth...\r\n function toothPointIndex(point) {\r\n return point % 4;\r\n }\r\n const pointDummies = d3.range(teeth * 4);\r\n\r\n const radOuter = radius;\r\n let radInner = radOuter - 1.7 * (radius * 2 * Math.PI / pointDummies.length);\r\n // When few teeth (< ~10)\r\n radInner = Math.max(radInner, radOuter / 2);\r\n\r\n const angleDelta = (2 * Math.PI) / (pointDummies.length);\r\n // Widen the 'inner teeth' so they are as wide as the 'outer teeth':\r\n const angleWidener = angleDelta * ((radOuter / radInner) - 1) / 2;\r\n\r\n // tslint:disable-next-line: no-shadowed-variable\r\n const lineFunction = d3.svg.line.radial()\r\n .radius((d, i) => {\r\n const outerTooth = ([0, 1].indexOf(toothPointIndex(i)) >= 0);\r\n return outerTooth ? radOuter : radInner;\r\n })\r\n .angle((d, i) => {\r\n let angle = i * angleDelta;\r\n if (toothPointIndex(i) === 2) {\r\n angle -= angleWidener;\r\n } else if (toothPointIndex(i) === 3) {\r\n angle += angleWidener;\r\n }\r\n return angle;\r\n });\r\n const r3 = holeRadius + '';\r\n let pathData = (lineFunction(pointDummies) + '')\r\n .concat('M0,', (-r3 + ''), 'A', r3, ',', r3, ' 0 0,0 0,', r3, 'A', r3, ',', r3, ' 0 0,0 0,', (-r3 + ''), 'Z');\r\n pathData = pathData\r\n // - Small exponents equal 0 (e.g. 1.234e-56 -> 0):\r\n .replace(/(\\d*\\.)?\\d+e\\-\\d+/g, '0')\r\n // - Use only one decimal (e.g. 1.234 -> 1.2):\r\n .replace(/(\\.\\d)(\\d+)/g, '$1')\r\n // - Space between path operations for readability (e.g. M1,2L3,4 -> M1,2 L3,4)):\r\n .replace(/(\\d)([a-zA-Z])/g, '$1 $2');\r\n\r\n return pathData;\r\n }\r\n function drawArc(innerRadius, outerRadius, startAngle, endAngle) {\r\n return d3.svg.arc()\r\n .innerRadius(innerRadius)\r\n .outerRadius(outerRadius)\r\n .startAngle(startAngle)\r\n .endAngle(endAngle);\r\n }\r\n let gearsAssembly;\r\n function drawNewGears() {\r\n const textLineFunction = d3.svg.line()\r\n .x(d => d.x)\r\n .y(d => d.y)\r\n .interpolate('basic');\r\n gearsAssembly = svg.append('g')\r\n .attr({\r\n 'id': 'gears-group',\r\n 'class': 'gears-group',\r\n 'transform': 'translate(' + width / 2 + ',' + 550 + ')'\r\n });\r\n const firstGearGroup = gearsAssembly.append('g')\r\n .attr({\r\n 'id': 'first-gear',\r\n 'class': 'first-gear',\r\n 'transform': 'translate(' + 0 + ',' + 160 + ')'\r\n })\r\n .datum({ teeth: 15, radius: 80, holeRadius: 50 });\r\n firstGearGroup.append('path')\r\n .attr({\r\n class: 'gear rotate-anti-clockwise',\r\n d: drawSharpGear,\r\n stroke: 'none',\r\n 'stroke-width': 0,\r\n 'fill': '#5183a6'\r\n });\r\n firstGearGroup.append('path')\r\n .attr({\r\n d: drawArc(20, 30, 0, (Math.PI * 2)),\r\n fill: '#5183a6'\r\n });\r\n const firstLineGrp = firstGearGroup.append('g')\r\n .attr('transform', 'translate(' + 160 + ',' + 0 + ')');\r\n firstLineGrp.append('path')\r\n .attr('d', textLineFunction([\r\n { 'x': 0, 'y': 0 },\r\n { 'x': 30, 'y': -30 },\r\n { 'x': 150, 'y': -30 },\r\n { 'x': 180, 'y': -60 }]))\r\n .attr('stroke', '#5183a6')\r\n .attr('stroke-width', 1)\r\n .attr('fill', 'none');\r\n firstLineGrp.append('circle')\r\n .attr('cx', -2)\r\n .attr('cy', 3)\r\n .attr('r', 4)\r\n .attr('stroke', '#5183a6')\r\n .attr('stroke-width', 1)\r\n .attr('fill', 'none');\r\n\r\n firstLineGrp.append('circle')\r\n .attr('cx', 182)\r\n .attr('cy', -63)\r\n .attr('r', 4)\r\n .attr('stroke', '#5183a6')\r\n .attr('stroke-width', 1)\r\n .attr('fill', 'none');\r\n\r\n firstLineGrp.append('text')\r\n .attr('transform', 'translate(' + 120 + ',' + -85 + ')')\r\n .text('Objective Optimizer')\r\n .attr('x', 0)\r\n .attr('y', 0)\r\n .attr('font-size', '16px');\r\n const secondGearGroup = gearsAssembly.append('g')\r\n .attr({\r\n 'id': 'second-gear',\r\n 'class': 'second-gear',\r\n 'transform': 'translate(' + 160 + ',' + -50 + ')'\r\n })\r\n .datum({ teeth: 15, radius: 80, holeRadius: 50, toothRadius: 10 });\r\n secondGearGroup.append('path')\r\n .attr({\r\n class: 'gear rotate-anti-clockwise',\r\n d: drawSmoothGear,\r\n stroke: 'none',\r\n 'stroke-width': 0,\r\n 'fill': '#a0ba14'\r\n });\r\n secondGearGroup.append('path')\r\n .attr({\r\n d: drawArc(20, 30, 0, (Math.PI * 2)),\r\n fill: '#a0ba14'\r\n });\r\n const secondTextGrp = secondGearGroup.append('g')\r\n .attr('transform', 'translate(' + 120 + ',' + -20 + ')');\r\n secondTextGrp.append('path')\r\n .attr('d', textLineFunction([\r\n { 'x': 0, 'y': 0 },\r\n { 'x': 30, 'y': -30 },\r\n { 'x': 150, 'y': -30 },\r\n { 'x': 180, 'y': -60 }]))\r\n .attr('stroke', '#a0ba14')\r\n .attr('stroke-width', 1)\r\n .attr('fill', 'none');\r\n secondTextGrp.append('circle')\r\n .attr('cx', -2)\r\n .attr('cy', 3)\r\n .attr('r', 4)\r\n .attr('stroke', '#a0ba14')\r\n .attr('stroke-width', 1)\r\n .attr('fill', 'none');\r\n\r\n secondTextGrp.append('circle')\r\n .attr('cx', 182)\r\n .attr('cy', -63)\r\n .attr('r', 4)\r\n .attr('stroke', '#a0ba14')\r\n .attr('stroke-width', 1)\r\n .attr('fill', 'none');\r\n\r\n secondTextGrp.append('text')\r\n .attr('transform', 'translate(' + 120 + ',' + -85 + ')')\r\n .text('Lead Scoring Model')\r\n .attr('x', 0)\r\n .attr('y', 0)\r\n .attr('font-size', '16px');\r\n\r\n const thirdGearGroup = gearsAssembly.append('g')\r\n .attr({\r\n 'id': 'third-gear',\r\n 'class': 'third-gear',\r\n 'transform': 'translate(' + -120 + ',' + -50 + ')'\r\n })\r\n .datum({ teeth: 10, radius: 60, holeRadius: 35, toothRadius: 10 });\r\n thirdGearGroup.append('path')\r\n .attr({\r\n class: 'gear rotate-clockwise',\r\n d: drawSmoothGear,\r\n stroke: 'none',\r\n 'stroke-width': 0,\r\n 'fill': '#bd8e5f'\r\n });\r\n thirdGearGroup.append('path')\r\n .attr({\r\n d: drawArc(15, 20, 0, (Math.PI * 2)),\r\n fill: '#bd8e5f'\r\n });\r\n const thirdTextGrp = thirdGearGroup.append('g')\r\n .attr('transform', 'translate(' + -200 + ',' + 140 + ')');\r\n thirdTextGrp.append('path')\r\n .attr('d', textLineFunction([\r\n { 'x': 0, 'y': 0 },\r\n { 'x': 30, 'y': -30 },\r\n { 'x': 150, 'y': -30 },\r\n { 'x': 180, 'y': -60 }]))\r\n .attr('stroke', '#bd8e5f')\r\n .attr('stroke-width', 1)\r\n .attr('fill', 'none');\r\n thirdTextGrp.append('circle')\r\n .attr('cx', -2)\r\n .attr('cy', 3)\r\n .attr('r', 4)\r\n .attr('stroke', '#bd8e5f')\r\n .attr('stroke-width', 1)\r\n .attr('fill', 'none');\r\n\r\n thirdTextGrp.append('circle')\r\n .attr('cx', 182)\r\n .attr('cy', -63)\r\n .attr('r', 4)\r\n .attr('stroke', '#bd8e5f')\r\n .attr('stroke-width', 1)\r\n .attr('fill', 'none');\r\n\r\n thirdTextGrp.append('text')\r\n .attr('transform', 'translate(' + -60 + ',' + 40 + ')')\r\n .text('Deal Size Model')\r\n .attr('x', 0)\r\n .attr('y', 0)\r\n .attr('font-size', '16px');\r\n }\r\n drawNewGears();\r\n // Code for All paths and it's animation\r\n let pathScale;\r\n let rainScale;\r\n const curvedPath = svg.append('g')\r\n .attr('transform', 'translate(' + ((width / 2)) + ',0)');\r\n\r\n const lineFunction = d3.svg.line()\r\n .x(d => d.x)\r\n .y(d => d.y)\r\n .interpolate('cardinal');\r\n function drawCurvedPath(group, data) {\r\n return group.append('path')\r\n .attr({\r\n 'd': data,\r\n 'stroke': 'none',\r\n 'stroke-width': 2,\r\n 'fill': 'none'\r\n });\r\n }\r\n const lineGraph = drawCurvedPath(curvedPath, lineFunction(jData.data_solution.lineData));\r\n const lineFirstData = drawCurvedPath(curvedPath, lineFunction(jData.data_solution.lineFirstData));\r\n const lineSecondData = drawCurvedPath(curvedPath, lineFunction(jData.data_solution.lineSecondData));\r\n const lineThirdData = drawCurvedPath(curvedPath, lineFunction(jData.data_solution.lineThirdData));\r\n const secondlineGraph = drawCurvedPath(curvedPath, lineFunction(jData.data_solution.secondLineData));\r\n const thirdPath = drawCurvedPath(curvedPath, lineFunction(jData.data_solution.thirdPathData));\r\n const fourthPath = drawCurvedPath(curvedPath, lineFunction(jData.data_solution.fourthPathData));\r\n const fifthPath = drawCurvedPath(curvedPath, lineFunction(jData.data_solution.fifthPathData));\r\n const sixPath = drawCurvedPath(curvedPath, lineFunction(jData.data_solution.sixPathData));\r\n\r\n const symbolPathArr = ['lineGraph', 'secondlineGraph', 'lineFirstData', 'lineSecondData', 'lineThirdData'];\r\n const symbolArr = [\r\n { shape: 'hexagoan', color: '#19A5FC' },\r\n { shape: 'square', color: '#FF3AAE' },\r\n { shape: 'star', color: '#AC4AFF' }\r\n ];\r\n const circlePathArr = ['thirdPath', 'fourthPath', 'fifthPath', 'sixPath'];\r\n const arrayData = [];\r\n const circleArrayData = [];\r\n for (let i = 0; i < 300; i++) {\r\n const symbolIndex = Math.floor(Math.random() * symbolArr.length);\r\n arrayData.push({\r\n id: 'data_shape_' + i,\r\n type: symbolPathArr[i % 5],\r\n symbol: symbolArr[symbolIndex].shape,\r\n fill: symbolArr[symbolIndex].color\r\n });\r\n circleArrayData.push({\r\n id: 'data_shape_circle_' + i,\r\n type: circlePathArr[i % 4]\r\n });\r\n }\r\n\r\n const circleShapeGroup = curvedPath.append('g')\r\n .attr('class', 'circle-shapes-group')\r\n .style('opacity', 0);\r\n const circleShapes = circleShapeGroup.selectAll('.circleSymbol')\r\n .data(circleArrayData)\r\n .enter()\r\n .append('path')\r\n .attr({\r\n 'd': (d) => d3.svg.symbol().type('circle').size(100)(),\r\n 'class': 'circleSymbol',\r\n 'id': d => d.id\r\n })\r\n .style('fill', (d) => d.type === 'thirdPath' ? '#ff8250' : d.type === 'fourthPath' ? '#39b3ff' : '#cdc50d');\r\n\r\n const shapeGroup = curvedPath.append('g')\r\n .attr('class', 'shapes-group')\r\n .style('opacity', 0);\r\n const allShapes = shapeGroup.selectAll('.symbol')\r\n .data(arrayData)\r\n .enter()\r\n .append('path')\r\n .attr({\r\n 'd': (d) => (this.shapesService.getShapeCoordinates(d.symbol, 150)),\r\n 'class': 'symbol',\r\n 'id': d => d.id\r\n })\r\n .style({\r\n 'fill': (d) => d.fill,\r\n 'opacity': 0\r\n });\r\n function shapeAnimation(_scrollTop, d, i) {\r\n let path;\r\n let scaleFn = pathScale.firstPahtScale;\r\n switch (d.type) {\r\n case 'lineGraph':\r\n path = lineGraph;\r\n break;\r\n case 'lineFirstData':\r\n path = lineFirstData;\r\n scaleFn = pathScale.lineFirstData;\r\n break;\r\n case 'lineSecondData':\r\n path = lineSecondData;\r\n scaleFn = pathScale.lineSecondData;\r\n break;\r\n case 'lineThirdData':\r\n path = lineThirdData;\r\n scaleFn = pathScale.lineThirdData;\r\n break;\r\n default:\r\n path = secondlineGraph;\r\n scaleFn = pathScale.secondPahtScale;\r\n }\r\n const length = path.node().getTotalLength();\r\n const r = d3.interpolate(0, length);\r\n const diffFactorForEachShapes = (i * pathScale.shapeDiffScale(_scrollTop)); // (scaleFn(_scrollTop) === length) ? 0 : (i * 10);\r\n const point = path.node().getPointAtLength(r((scaleFn(_scrollTop) - diffFactorForEachShapes) / length));\r\n d3.select('#' + d.id)\r\n .attr('transform', 'translate(' + point.x + ',' + point.y + ')')\r\n .style('opacity', pathScale.opacityScale(_scrollTop));\r\n }\r\n\r\n function circlePathTween(_scrollTop, d, i) {\r\n let path = thirdPath;\r\n let scaleFn = rainScale.thirdPahtScale;\r\n switch (d.type) {\r\n case 'fourthPath':\r\n path = fourthPath;\r\n scaleFn = rainScale.fourthPahtScale;\r\n break;\r\n case 'fifthPath':\r\n path = fifthPath;\r\n scaleFn = rainScale.fifthPahtScale;\r\n break;\r\n case 'sixPath':\r\n path = sixPath;\r\n scaleFn = rainScale.sixPahtScale;\r\n }\r\n const length = path.node().getTotalLength();\r\n const r = d3.interpolate(0, length);\r\n const diffFactorForEachShapes = (scaleFn(_scrollTop) === length) ? 0 : (i * 10);\r\n const point = path.node().getPointAtLength(r((scaleFn(_scrollTop) - diffFactorForEachShapes) / length));\r\n d3.select('#' + d.id)\r\n .attr('transform', 'translate(' + point.x + ',' + point.y + ')')\r\n .style('opacity', rainScale.opacityCircleScale(_scrollTop));\r\n }\r\n // let clusterCircleOpacityScale;\r\n let yPosScale;\r\n let xPosScale;\r\n let lastVal = 0;\r\n let lastSymbolOpacity = 0;\r\n let lastCircleOpacity = 0;\r\n let circleStart = 0;\r\n let symbolStart = 0;\r\n // let lastCircleRainValue = false;\r\n let circleRainStart;\r\n return {\r\n resize,\r\n startSolutionAnimation(scrollTop) {\r\n let newSymbolOpacity;\r\n let newCircleSymbolOpacity;\r\n // This condition is to check and set symbols (Features) group opacity.\r\n if (scrollTop > symbolStart) {\r\n newSymbolOpacity = 1;\r\n } else {\r\n newSymbolOpacity = 0;\r\n }\r\n if (lastSymbolOpacity !== newSymbolOpacity) {\r\n lastSymbolOpacity = newSymbolOpacity;\r\n shapeGroup\r\n .style('opacity', newSymbolOpacity);\r\n }\r\n // This condition is to check and set circles (Processed features) group opacity.\r\n if (scrollTop > circleStart) {\r\n newCircleSymbolOpacity = 1;\r\n } else {\r\n newCircleSymbolOpacity = 0;\r\n }\r\n if (lastCircleOpacity !== newCircleSymbolOpacity) {\r\n lastCircleOpacity = newCircleSymbolOpacity;\r\n circleShapeGroup\r\n .style('opacity', newCircleSymbolOpacity);\r\n }\r\n if (lastSymbolOpacity === 1) {\r\n allShapes\r\n .each(function (d, i) {\r\n shapeAnimation(scrollTop, d, i);\r\n });\r\n }\r\n if (lastCircleOpacity === 1) {\r\n circleShapes\r\n .each(function (d, i) {\r\n circlePathTween(scrollTop, d, i);\r\n });\r\n }\r\n if (rainScale.groupOpacityScale(scrollTop) !== lastVal) {\r\n lastVal = rainScale.groupOpacityScale(scrollTop);\r\n clustersGroup\r\n .style('opacity', lastVal);\r\n clusterGroupArr.forEach(v => { v.update(!!lastVal); });\r\n }\r\n if (scrollTop > circleRainStart) {\r\n clusterGroupArr.forEach(v => { v.stop(); });\r\n }\r\n solutionCircle\r\n .filter((d, i) => !d.fixed)\r\n .attr('cy', (d) => ((yPosScale) ? yPosScale(d.py)(scrollTop) : d.py))\r\n .attr('cx', (d) => (((xPosScale) ? xPosScale(d.px)(scrollTop) : d.px)));\r\n // .style('opacity', clusterCircleOpacityScale(scrollTop));\r\n },\r\n setSolutionScaleDomain: (start, end) => {\r\n symbolStart = start;\r\n // const symbolEnd = start + 550;\r\n const symbolEnd = start + 550;\r\n // circleStart = symbolEnd;\r\n circleStart = start + 550;\r\n const circleEnd = circleStart + 300;\r\n // const cluste = circleEnd - 50;\r\n const cluste = circleEnd - 100;\r\n circleRainStart = circleEnd + 50;\r\n pathScale = {\r\n firstPahtScale: d3.scale.linear().domain([start, symbolEnd]).range([0, lineGraph.node().getTotalLength() + 300]).clamp(true),\r\n secondPahtScale: d3.scale.linear().domain([start, symbolEnd]).range([0, secondlineGraph.node().getTotalLength() + 300])\r\n .clamp(true),\r\n lineFirstData: d3.scale.linear().domain([start, symbolEnd]).range([0, lineFirstData.node().getTotalLength() + 300]).clamp(true),\r\n lineSecondData: d3.scale.linear().domain([start, symbolEnd]).range([0, lineSecondData.node().getTotalLength() + 300]).clamp(true),\r\n lineThirdData: d3.scale.linear().domain([start, symbolEnd]).range([0, lineThirdData.node().getTotalLength() + 300]).clamp(true),\r\n opacityScale: d3.scale.linear().domain([start, symbolEnd + 300]).range([20, 0]).clamp(true),\r\n shapeDiffScale: d3.scale.linear().domain([start, symbolEnd + 300]).range([15, 10]).clamp(true)\r\n };\r\n const thirdLineLenght = thirdPath.node().getTotalLength();\r\n const fourthLineLenght = fourthPath.node().getTotalLength();\r\n const fifthLineLenght = thirdPath.node().getTotalLength();\r\n const sixLineLenght = fourthPath.node().getTotalLength();\r\n rainScale = {\r\n thirdPahtScale: d3.scale.linear().domain([circleStart, circleEnd]).range([0, thirdLineLenght + 250]).clamp(true),\r\n fourthPahtScale: d3.scale.linear().domain([circleStart, circleEnd]).range([0, fourthLineLenght + 250]).clamp(true),\r\n fifthPahtScale: d3.scale.linear().domain([circleStart, circleEnd]).range([0, fifthLineLenght + 250]).clamp(true),\r\n sixPahtScale: d3.scale.linear().domain([circleStart, circleEnd]).range([0, sixLineLenght + 250]).clamp(true),\r\n opacityCircleScale: d3.scale.linear().domain([circleStart, circleEnd]).range([20, 0]).clamp(true),\r\n groupOpacityScale: d3.scale.linear().domain([cluste, cluste + 1]).range([0, 1]).clamp(true),\r\n };\r\n yPosScale = (cy) => d3.scale.linear().domain([circleRainStart, end + 200]).range([cy, cy + 500]).clamp(true);\r\n xPosScale = (cx) => d3.scale.linear().domain([circleRainStart, end + 200])\r\n .range([cx, getRandomIntInclusive(cx - 500, cx + 500)]).clamp(true);\r\n // clusterCircleOpacityScale = d3.scale.linear().domain([circleRain, end + 200]).range([1, 1]).clamp(true);\r\n }\r\n };\r\n\r\n\r\n }\r\n\r\n private initProblemSection(containerId, jData) {\r\n const width = 1100;\r\n const height = 630;\r\n const data = jData.data_problem_circle_wall;\r\n const wallYposition = height - 132;\r\n const svg = d3.select('#' + containerId)\r\n .append('svg')\r\n .attr({\r\n 'width': width,\r\n 'height': height,\r\n 'id': 'dots_svg'\r\n })\r\n .style({\r\n 'left': '0px',\r\n 'top': '0px'\r\n });\r\n\r\n const resize = this.responsivefy(svg, true);\r\n // function responsivefy(svg) {\r\n // // get container + svg aspect ratio\r\n // const container = d3.select(svg.node().parentNode);\r\n // const width = parseInt(svg.style('width'), 10);\r\n // const height = parseInt(svg.style('height'), 10);\r\n // const aspect = width / height;\r\n // svg.attr('viewBox', '0 0 ' + width + ' ' + height)\r\n // .attr('perserveAspectRatio', 'xMinYMid')\r\n // .call(resize);\r\n // d3.select(window).on('resize.' + container.attr('id'), resize);\r\n // function resize() {\r\n // const targetWidth = parseInt(container.style('width'), 10);\r\n // svg.attr('width', targetWidth);\r\n // svg.attr('height', parseInt(container.style('height'), 10));\r\n // }\r\n // }\r\n\r\n const g = svg.append('g')\r\n .attr('class', 'circle-wall-group')\r\n .attr('transform', 'translate(10,' + 485 + ')');\r\n const structureData: any = [];\r\n const hiddenData = [];\r\n data.forEach((v, ind) => {\r\n if (ind < 2) {\r\n hiddenData.push(v);\r\n }\r\n d3.range(v).forEach((d, i) => {\r\n const cx = i * 10.5 - (15 * ind);\r\n const cy = ind * 10.5;\r\n structureData.push({\r\n cx,\r\n cy,\r\n i: i,\r\n id: 'data_circle_wall_' + ind + '_' + i,\r\n opacity: (ind < 2) ? 0 : 1,\r\n isRemove: !!(Math.floor(Math.random() * 10) % 2),\r\n yFinalPos: getRandomIntInclusive(height, height + 10),\r\n xFinalPos: getRandomIntInclusive((cx - 250), (cx + 250))\r\n });\r\n });\r\n });\r\n const wallCircle = g.selectAll('.wallCircle')\r\n .data(structureData)\r\n .enter()\r\n .append('circle')\r\n .each(function (d) {\r\n d3.select(this)\r\n .attr({\r\n cx: d.cx,\r\n cy: d.cy,\r\n r: 5,\r\n id: d.id,\r\n // (d) => {\r\n // const mid = data[yPosition] / 2;\r\n // if (d.i > (mid - 7) && d.i < (mid + 8) && yPosition < 8) {\r\n // return 0;\r\n // } else {\r\n // return 5;\r\n // }\r\n // },\r\n class: 'wallCircle',\r\n fill: '#ffffff'\r\n })\r\n .style('opacity', d.opacity);\r\n });\r\n let h_i = 1;\r\n let i = hiddenData[h_i] - 1;\r\n let noOfcircle = jData.data_problem_circle_wall[0];\r\n let mid = Math.floor(noOfcircle / 2);\r\n let val = mid / 3;\r\n let opacityInterval = setInterval(() => {\r\n\r\n d3.select('#data_circle_wall_' + h_i + '_' + (i - mid))\r\n .style('opacity', 1);\r\n\r\n d3.select('#data_circle_wall_' + h_i + '_' + (noOfcircle - (i - mid)))\r\n .style('opacity', 1);\r\n\r\n i--;\r\n if (i <= (mid - 3)) {\r\n i = 0;\r\n }\r\n\r\n\r\n // val--;\r\n if (i === 0 && h_i === 1) {\r\n h_i = 0;\r\n i = hiddenData[h_i] - 1;\r\n } else if (i === 0 && h_i !== 1) {\r\n clearInterval(opacityInterval);\r\n }\r\n }, 100);\r\n\r\n drawCircleGroup();\r\n // function for draw circle group\r\n function drawCircleGroup() {\r\n const parentCircleId = 0;\r\n // const svgCircle = d3.select('#banner_id')\r\n const circleGroup = svg.append('g')\r\n .attr('transform', 'translate(-250,180)')\r\n .attr('id', 'problemSectionCircleGroup');\r\n\r\n const categories = ['firstcircleGroupLineData', 'secondCircleGroupLineData', 'thirdCircleGroupLineData', 'fourthCircleGroupLineData'];\r\n const textLineFunction = d3.svg.line()\r\n .x(function (d) { return d.x; })\r\n .y(function (d) { return d.y; })\r\n .interpolate('bundle');\r\n\r\n const secondCircleGroupLineData = circleGroup.append('path')\r\n .attr('d', textLineFunction(jData.data_problem_path.secondCircleGroupLine))\r\n .attr('stroke', 'none')\r\n .attr('stroke-width', 2)\r\n .attr('fill', 'none');\r\n\r\n const firstcircleGroupLineData = circleGroup.append('path')\r\n .attr('d', textLineFunction(jData.data_problem_path.firstcircleGroupLine))\r\n .attr('stroke', 'none')\r\n .attr('stroke-width', 2)\r\n .attr('fill', 'none');\r\n\r\n const thirdCircleGroupLineData = circleGroup.append('path')\r\n .attr('d', textLineFunction(jData.data_problem_path.thirdCircleGroupLine))\r\n .attr('stroke', 'none')\r\n .attr('stroke-width', 2)\r\n .attr('fill', 'none');\r\n\r\n const fourthCircleGroupLineData = circleGroup.append('path')\r\n .attr('d', textLineFunction(jData.data_problem_path.fourthCircleGroupLine))\r\n .attr('stroke', 'none')\r\n .attr('stroke-width', 2)\r\n .attr('fill', 'none');\r\n\r\n\r\n const force = d3.layout.force()\r\n .size([250, 50])\r\n .charge(function (d) {\r\n return -7;\r\n })\r\n .on('tick', tick);\r\n\r\n const arrayDataCircle = [];\r\n for (let index = 0; index < 210; index++) {\r\n arrayDataCircle.push({\r\n id: index + 1,\r\n // type: categories[index % 4],\r\n type: categories[Math.floor(Math.random() * categories.length)]\r\n });\r\n }\r\n const symbolCircle = circleGroup.selectAll('.symbolCircle')\r\n .data(arrayDataCircle)\r\n .enter()\r\n .append('path')\r\n .attr('d', function (d) {\r\n return d3.svg.symbol().type('circle').size(70)();\r\n\r\n })\r\n // .style('stroke', 'black')\r\n .style('fill', 'white');\r\n repeatTransition();\r\n function repeatTransition() {\r\n symbolCircle.transition()\r\n .attr('class', 'symbolCircle')\r\n .delay(function (d, i) {\r\n return 120 * i;\r\n })\r\n .duration(2000)\r\n .ease('linear')\r\n .tween('pathTween', function (d, i) {\r\n if (d.type === 'firstcircleGroupLineData') {\r\n return pathTween(firstcircleGroupLineData, i);\r\n } else if (d.type === 'secondCircleGroupLineData') {\r\n return pathTween(secondCircleGroupLineData, i);\r\n } else if (d.type === 'thirdCircleGroupLineData') {\r\n return pathTween(thirdCircleGroupLineData, i);\r\n } else if (d.type === 'fourthCircleGroupLineData') {\r\n return pathTween(fourthCircleGroupLineData, i);\r\n }\r\n })\r\n .call(endAll, function () {\r\n repeatTransition();\r\n });\r\n }\r\n\r\n function endAll(transition, callback) {\r\n // tslint:disable-next-line: curly\r\n if (typeof callback !== 'function') throw new Error('Wrong callback in endall');\r\n if (transition.size() === 0) {\r\n callback();\r\n }\r\n let n = 0;\r\n transition\r\n .each(function () { ++n; })\r\n .each('end', function () {\r\n\r\n if (--n === 80) {\r\n callback.apply(this, arguments);\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n function pathTween(path, i) {\r\n const length = path.node().getTotalLength(); // Get the length of the path\r\n const r = d3.interpolate(0, length); // Set up interpolation from 0 to the path length\r\n return function (t) {\r\n const point = path.node().getPointAtLength(r(t)); // Get the next point along the path\r\n d3.select(this) // Select the circle\r\n .attr('transform', 'translate(' + point.x + ',' + point.y + ')'); // Set the cx\r\n if (t === 1) {\r\n // d3.select(this).remove();\r\n }\r\n };\r\n }\r\n\r\n let node = circleGroup.selectAll('.problemCircleCluster');\r\n const drawInit = function (graph) {\r\n node = node.data(graph.nodes, function (d) {\r\n return d.id;\r\n })\r\n .enter()\r\n .append('circle')\r\n .each(function (d) {\r\n d3.select(this)\r\n .attr({\r\n cx: d.cx,\r\n cy: d.cy,\r\n r: 5,\r\n class: 'problemCircleCluster',\r\n });\r\n })\r\n .attr('id', (d) => 'cluster' + parentCircleId + '_' + d.id)\r\n .attr('r', 5)\r\n .style('fill', 'white')\r\n .style('opacity', function (d, i) { return Math.random() * (1.5 - 0.02) + 0.02; });\r\n force\r\n .nodes(graph.nodes)\r\n .start();\r\n };\r\n\r\n // const update = function (graph) {\r\n // const centerCircleNode = d3.select('#cluster' + parentCircleId + '_' + 0);\r\n // const centerNodeCoordinates: any = {};\r\n\r\n // centerCircleNode\r\n // .transition()\r\n // .duration(400)\r\n // .attr('r',\r\n // function (d) {\r\n // centerNodeCoordinates.x = d.px;\r\n // centerNodeCoordinates.y = d.py;\r\n // return 40;\r\n // });\r\n // circleGroup.append('text')\r\n // .attr('text-anchor', 'middle')\r\n // .attr('x', centerNodeCoordinates.x)\r\n // .attr('y', centerNodeCoordinates.y + 5)\r\n // .attr('class', 'center_node_text')\r\n // .attr('id', 'center_node_text_' + parentCircleId)\r\n // .style({\r\n // 'fill': 'black',\r\n // 'font-family': 'DINProRegular',\r\n // 'font-size': '40px'\r\n // })\r\n // .transition()\r\n // .duration(200)\r\n // .text('USERS');\r\n\r\n // force\r\n // .charge(function (d, i) {\r\n // return i ? -70 : -950;\r\n // })\r\n // .nodes(graph.nodes)\r\n // .start();\r\n // setTimeout(() => {\r\n // force.stop();\r\n // });\r\n // };\r\n\r\n function tick() {\r\n node.attr({\r\n 'cx': (d) => d.x,\r\n 'cy': (d) => d.y\r\n });\r\n }\r\n const arrayData = [];\r\n for (let i = 0; i < 350; i++) {\r\n const d_obj: any = { id: i, name: i, group: 1, size: 10 };\r\n if (!i) {\r\n d_obj.x = 120;\r\n d_obj.y = 50 / 2;\r\n d_obj.fixed = true;\r\n }\r\n arrayData.push(d_obj);\r\n }\r\n const data = { 'nodes': arrayData };\r\n drawInit(data);\r\n const middleDCircle = d3.select('#cluster0_0');\r\n middleDCircle\r\n .attr('x', 40)\r\n .attr('y', -100)\r\n .attr('r', 50)\r\n .style('opacity', 1);\r\n\r\n circleGroup.append('text')\r\n .attr('text-anchor', 'middle')\r\n .attr('x', 103)\r\n .attr('y', 45)\r\n .attr('class', 'center_node_text huge')\r\n .attr('id', 'center_node_text_' + parentCircleId)\r\n .style({\r\n 'fill': '#1f2228'\r\n })\r\n .text('50');\r\n\r\n circleGroup.append('text')\r\n .attr('text-anchor', 'middle')\r\n .attr('x', 145)\r\n .attr('y', 45)\r\n .attr('class', 'center_node_text')\r\n .attr('id', 'center_node_text_' + parentCircleId)\r\n .style({\r\n 'fill': '#1f2228'\r\n })\r\n .text('M+');\r\n\r\n // update(data);\r\n // svg.call(responsivefy);\r\n // secondSvg.call(secondResponsivefy);\r\n\r\n }\r\n\r\n let opacityScale: any;\r\n return {\r\n resize,\r\n animateSecondBigCircle() {\r\n for (let index = 0; index < 250; index++) {\r\n const circleNode = d3.select('#cluster0_' + index);\r\n circleNode\r\n .transition()\r\n .ease('ease-in')\r\n .delay(800)\r\n .duration(400)\r\n .style('opacity', (d) => (d.id !== 0 ? Math.random() * (1.5 - 0.1) + 0.1 : 1));\r\n }\r\n },\r\n startProblemAnimation(scrollTop) {\r\n wallCircle\r\n .filter((d) => !d.isRemove)\r\n .style('opacity', ((opacityScale) ? opacityScale(scrollTop) : 0));\r\n wallCircle\r\n .filter((d) => d.isRemove)\r\n .attr({\r\n cx: (d) => d.xPosScale(scrollTop),\r\n cy: (d) => d.yPosScale(scrollTop)\r\n })\r\n .style('opacity', ((opacityScale) ? opacityScale(scrollTop) : 0));\r\n if (opacityInterval) {\r\n clearInterval(opacityInterval);\r\n opacityInterval = null;\r\n }\r\n },\r\n setProblemScaleDomain: (start, end) => {\r\n opacityScale = d3.scale.linear().domain([start, end]).range([1, 0]).clamp(true);\r\n wallCircle\r\n .each(d => {\r\n d.yPosScale = d3.scale.linear().domain([start, end]).range([d.cy, d.yFinalPos]).clamp(true);\r\n d.xPosScale = d3.scale.linear().domain([start, end]).range([d.cx, d.xFinalPos]).clamp(true);\r\n });\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * This is Visble Section change Handler.\r\n *\r\n * @param $event - Section Id\r\n */\r\n onScrollSecionChange($event) {\r\n this.onVisibleSectionChange.emit($event);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscribeResize) {\r\n this.unsubscribeResize();\r\n }\r\n if (this.unsubscribeAnimationFrame) {\r\n window.cancelAnimationFrame(this.unsubscribeAnimationFrame);\r\n }\r\n }\r\n}\r\n\r\nfunction getRandomIntInclusive(min, max) {\r\n min = Math.ceil(min);\r\n max = Math.floor(max);\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n}\r\n","module.exports = \".business-view-wrapper.inner-page-wrapper .inner-page-container .body-wrapper #problem,\\r\\n.business-view-wrapper.inner-page-wrapper .inner-page-container .body-wrapper #data,\\r\\n.business-view-wrapper.inner-page-wrapper .inner-page-container .body-wrapper #solution,\\r\\n.business-view-wrapper.inner-page-wrapper .inner-page-container .body-wrapper #outcomes {\\r\\n padding-top: 0;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner {\\r\\n width: 100%;\\r\\n height: 440px;\\r\\n text-align: center;\\r\\n position: absolute;\\r\\n z-index: 1;\\r\\n top: 20px;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner h1 {\\r\\n font-family: 'DINProMedium';\\r\\n font-size: 50px;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner h3 {\\r\\n font-family: 'DINProRegular';\\r\\n font-size: 30px;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap {\\r\\n width: 100%;\\r\\n height: 334px;\\r\\n padding: 0 30px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .ripple {\\r\\n height: 60px;\\r\\n width: 60px;\\r\\n border-radius: 50%;\\r\\n background-color: blue;\\r\\n position: absolute;\\r\\n left: 50%;\\r\\n top: 100px;\\r\\n transform: translate(-50%, -50%);\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.one,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.two,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.three,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.four,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.five,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.six,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.seven {\\r\\n padding: 10px 10px 10px 60px;\\r\\n font-size: 13px;\\r\\n line-height: 20px;\\r\\n color: #000;\\r\\n background-size: 40px auto !important;\\r\\n position: absolute;\\r\\n text-align: left;\\r\\n transform: scale(0, 1);\\r\\n transform-origin: right;\\r\\n transition: all ease-in-out 500ms;\\r\\n transition-delay: 500ms;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.four,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.five,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.six {\\r\\n transform-origin: left;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.one {\\r\\n background: url('ban-icon-twitter.svg') 10px center no-repeat rgba(177, 225, 255, 0.5);\\r\\n top: -20px;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.two {\\r\\n background: url('ban-icon-training.svg') 10px center no-repeat rgba(243, 86, 49, 0.35);\\r\\n left: 50px;\\r\\n top: 112px;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.three {\\r\\n background: url('ban-icon-notes.svg') 10px center no-repeat rgba(245, 167, 248, 0.4);\\r\\n left: 20px;\\r\\n top: 233px;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.four {\\r\\n background: url('ban-icon-formula.svg') 10px center no-repeat rgba(103, 202, 255, 0.4);\\r\\n right: 20px;\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.five {\\r\\n background: url('ban-icon-research.svg') 10px center no-repeat rgba(153, 227, 195, 0.45);\\r\\n right: 35px;\\r\\n top: 120px;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.six {\\r\\n background: url('ban-icon-call-center.svg') 10px center no-repeat rgba(247, 213, 169, 0.6);\\r\\n right: 27px;\\r\\n top: 234px;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .intro.seven {\\r\\n background: url('ban-icon-conversation.svg') 10px center no-repeat rgba(96, 101, 237, 0.3);\\r\\n left: 50%;\\r\\n bottom: 0;\\r\\n margin-left: -152px;\\r\\n transform: scale(0);\\r\\n transform-origin: top left;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap.show .intro {\\r\\n transform: scale(1, 1);\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap.show .intro.seven {\\r\\n transform: scale(1);\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.one,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.two,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.three,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.four,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.five,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.six {\\r\\n height: 60px;\\r\\n width: 0px;\\r\\n position: absolute;\\r\\n transition: all ease-in-out 500ms;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.one,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.two,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.three {\\r\\n right: 50%;\\r\\n border-top: 30px solid transparent;\\r\\n border-bottom: 30px solid transparent;\\r\\n border-right: 0px solid transparent;\\r\\n transform-origin: right;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.four,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.five,\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.six {\\r\\n left: 50%;\\r\\n border-top: 30px solid transparent;\\r\\n border-bottom: 30px solid transparent;\\r\\n border-left: 0px solid transparent;\\r\\n transform-origin: left;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.four {\\r\\n border-top-width: 40px;\\r\\n border-bottom-width: 40px;\\r\\n top: -9px;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.seven {\\r\\n height: 0px;\\r\\n width: 60px;\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n border-top: 0px solid transparent;\\r\\n border-right: 30px solid transparent;\\r\\n border-left: 30px solid transparent;\\r\\n transform-origin: top;\\r\\n transition: all ease-in-out 500ms;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.one {\\r\\n border-left: 312px solid rgba(112, 188, 235, 0.38);\\r\\n transform: scale(0) skewY(16deg);\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.two {\\r\\n border-left: 268px solid rgba(255, 220, 211, .38);\\r\\n transform: scale(0) skewY(-9deg);\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.three {\\r\\n border-left: 261px solid rgba(254, 227, 255, 0.38);\\r\\n transform: scale(0) skewY(-32deg);\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.four {\\r\\n border-right: 269px solid rgba(183, 244, 255, 0.38);\\r\\n transform: scale(0) skewY(-13deg);\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.five {\\r\\n border-right: 284px solid rgba(188, 255, 228, 0.38);\\r\\n transform: scale(0) skewY(10deg);\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.six {\\r\\n border-right: 308px solid rgba(252, 224, 189, 0.38);\\r\\n transform: scale(0) skewY(28deg);\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap .ripple .bubble-arrow.seven {\\r\\n border-bottom: 174px solid rgba(221, 222, 252, 0.38);\\r\\n transform: scale(0) skewX(-35deg);\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap.show .ripple .bubble-arrow.one {\\r\\n transform: scale(1) skewY(16deg);\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap.show .ripple .bubble-arrow.two {\\r\\n transform: scale(1) skewY(-9deg);\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap.show .ripple .bubble-arrow.three {\\r\\n transform: scale(1) skewY(-32deg);\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap.show .ripple .bubble-arrow.four {\\r\\n transform: scale(1) skewY(-13deg);\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap.show .ripple .bubble-arrow.five {\\r\\n transform: scale(1) skewY(10deg);\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap.show .ripple .bubble-arrow.six {\\r\\n transform: scale(1) skewY(28deg);\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .problem-banner .bubble-wrap.show .ripple .bubble-arrow.seven {\\r\\n transform: scale(1) skewX(-35deg);\\r\\n}\\r\\n\\r\\n.ripple-circles {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n background:#8D6BC3;\\r\\n width: 60px;\\r\\n height: 60px;\\r\\n border-radius: 60px;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.ripple .ripple-circles i {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n border-radius: 60px;\\r\\n}\\r\\n\\r\\n.ripple .ripple-circles i:first-child {\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n background:#C9B14C;\\r\\n}\\r\\n\\r\\n.ripple .ripple-circles i:nth-child(2) {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n background:#5055D1;\\r\\n}\\r\\n\\r\\n.ripple .ripple-circles i:nth-child(3) {\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n background:#1DA1F2;\\r\\n}\\r\\n\\r\\n.ripple .ripple-circles i:nth-child(4) {\\r\\n width: 20px;\\r\\n height: 20px;\\r\\n background:#C94C64;\\r\\n}\\r\\n\\r\\n.ripple.in .ripple-circles i:nth-child(5),\\r\\n.problem-dart-circle.in .ripple .ripple-circles i:nth-child(5) {\\r\\n width: 10px;\\r\\n height: 10px;\\r\\n background:#50D19A;\\r\\n /* -webkit-animation: pulse-dot3 1.5s ease-in-out infinite;\\r\\n animation: pulse-dot3 1.5s ease-in-out infinite;\\r\\n -webkit-animation-delay: .6s;\\r\\n animation-delay: .6s; */\\r\\n}\\r\\n\\r\\n.ripple.in .ripple-circles i:nth-child(6),\\r\\n.problem-dart-circle.in .ripple .ripple-circles i:nth-child(6) {\\r\\n width: 10px;\\r\\n height: 10px;\\r\\n background:#50D19A;\\r\\n /* -webkit-animation: pulse-dot2 1.5s ease-in-out infinite;\\r\\n animation: pulse-dot2 1.5s ease-in-out infinite;\\r\\n -webkit-animation-delay: .3s;\\r\\n animation-delay: .3s; */\\r\\n}\\r\\n\\r\\n.ripple.in .ripple-circles i:nth-child(7),\\r\\n.problem-dart-circle.in .ripple .ripple-circles i:nth-child(7) {\\r\\n width: 10px;\\r\\n height: 10px;\\r\\n background:#50D19A;\\r\\n /* -webkit-animation: pulse-dot 1.5s ease-in-out infinite;\\r\\n animation: pulse-dot 1.5s ease-in-out infinite; */\\r\\n}\\r\\n\\r\\n@keyframes pulse-dot {\\r\\n 0% {\\r\\n box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);\\r\\n }\\r\\n 100% {\\r\\n box-shadow: 0 0 0 40px rgba(255, 255, 255, 0);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes pulse-dot2 {\\r\\n 0% {\\r\\n box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);\\r\\n }\\r\\n 100% {\\r\\n box-shadow: 0 0 0 34px rgba(0, 0, 0, 0);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes pulse-dot3 {\\r\\n 0% {\\r\\n box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);\\r\\n }\\r\\n 100% {\\r\\n box-shadow: 0 0 0 34px rgba(255, 255, 255, 0);\\r\\n }\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .gradient-focus:before,\\r\\n.body-wrapper #problem .gradient-focus:after {\\r\\n content: \\\"\\\";\\r\\n width: 100%;\\r\\n height: 92px;\\r\\n position: absolute;\\r\\n border-top: 92px solid white;\\r\\n border-right: 885px solid transparent;\\r\\n}\\r\\n\\r\\n.body-wrapper #problem .gradient-focus:after {\\r\\n bottom: 0;\\r\\n border-bottom: 92px solid white;\\r\\n border-top: 0 solid transparent;\\r\\n}\\r\\n\\r\\n.start-animation .vibrate-animation {\\r\\n animation: vibrate-animation 1.5s linear alternate infinite both;\\r\\n}\\r\\n\\r\\n.start-animation .vibrate-animation-slow {\\r\\n animation: vibrate-animation 3s linear alternate infinite both;\\r\\n}\\r\\n\\r\\n.svg-problem-data .square.toAnimate+.square.toAnimate>.vibrate-animation-slow,\\r\\n.svg-problem-data .square.toAnimate+.square.toAnimate+.square.toAnimate+.square.toAnimate+.square.toAnimate>.vibrate-animation-slow {\\r\\n animation-delay: 500ms;\\r\\n}\\r\\n\\r\\n.svg-problem-data .square.toAnimate+.square.toAnimate+.square.toAnimate>.vibrate-animation-slow,\\r\\n.svg-problem-data .square.toAnimate+.square.toAnimate+.square.toAnimate+.square.toAnimate+.square.toAnimate+.square.toAnimate>.vibrate-animation-slow {\\r\\n animation-delay: 1s;\\r\\n}\\r\\n\\r\\n.svg-problem-data .square.toAnimate+.square.toAnimate+.square.toAnimate+.square.toAnimate>.vibrate-animation-slow {\\r\\n animation-delay: 1.5s;\\r\\n}\\r\\n\\r\\n.svg-problem-data .bgsquare.notToAnimate:nth-child(2n) .vibrate-animation {\\r\\n animation-delay: 2s;\\r\\n}\\r\\n\\r\\n.svg-problem-data .bgsquare.notToAnimate:nth-child(3n) .vibrate-animation {\\r\\n animation-delay: 3s;\\r\\n}\\r\\n\\r\\n.svg-problem-data .bgsquare.notToAnimate:nth-child(4n) .vibrate-animation {\\r\\n animation-delay: 1s;\\r\\n}\\r\\n\\r\\n@keyframes vibrate-animation {\\r\\n 0% {\\r\\n transform: translate(0);\\r\\n }\\r\\n 20% {\\r\\n transform: translate(-1px, 1px);\\r\\n }\\r\\n 40% {\\r\\n transform: translate(-1px, -1px);\\r\\n }\\r\\n 60% {\\r\\n transform: translate(1px, 1px);\\r\\n }\\r\\n 80% {\\r\\n transform: translate(1px, -1px);\\r\\n }\\r\\n 100% {\\r\\n transform: translate(0);\\r\\n }\\r\\n}\\r\\n\\r\\n.start-animation .rotate-in-center {\\r\\n animation: rotate-in-center 2s linear both infinite;\\r\\n}\\r\\n\\r\\n@keyframes rotate-in-center {\\r\\n from {\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n to {\\r\\n transform: rotate(360deg);\\r\\n }\\r\\n}\\r\\n\\r\\n.highLight {\\r\\n color: #FFFFFF;\\r\\n background: #6992B1;\\r\\n white-space: nowrap;\\r\\n padding: 2px 5px;\\r\\n}\\r\\n\\r\\n.cursor:after {\\r\\n content: '|';\\r\\n display: inline-block;\\r\\n margin-left: 3px;\\r\\n animation-name: blink;\\r\\n animation-duration: 0.5s;\\r\\n animation-iteration-count: infinite;\\r\\n}\\r\\n\\r\\n@keyframes blink {\\r\\n 0% {\\r\\n opacity: 1;\\r\\n }\\r\\n 49% {\\r\\n opacity: 1;\\r\\n }\\r\\n 50% {\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n opacity: 0;\\r\\n }\\r\\n}\\r\\n\\r\\n.sticky-wrap {\\r\\n position: sticky;\\r\\n top: 30px;\\r\\n /* float: right;\\r\\n width: 65%; */\\r\\n}\\r\\n\\r\\n.sticky-wrap:after{\\r\\n content:\\\"\\\";\\r\\n display:table;\\r\\n clear:both;\\r\\n}\\r\\n\\r\\n#solution .sticky-wrap .text-wrap{\\r\\n width:32%;\\r\\n float:left;\\r\\n margin-top:80px;\\r\\n}\\r\\n\\r\\n.sticky-wrap .svg-container{\\r\\n width:65%;\\r\\n float:right;\\r\\n}\\r\\n\\r\\n.sticky-wrap .solution-list-container .solution-list li {\\r\\n opacity: 0.2;\\r\\n}\\r\\n\\r\\n.sticky-wrap .solution-list-container.case-all .solution-list li {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n.sticky-wrap .solution-list-container.case-one .left-list li:nth-child(1),\\r\\n.sticky-wrap .solution-list-container.case-one .left-list li:nth-child(3),\\r\\n.sticky-wrap .solution-list-container.case-one .right-list li:nth-child(2) {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n.sticky-wrap .solution-list-container.case-two .left-list li:nth-child(2),\\r\\n.sticky-wrap .solution-list-container.case-two .left-list li:nth-child(5),\\r\\n.sticky-wrap .solution-list-container.case-two .right-list li:nth-child(1) {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n.sticky-wrap .solution-list-container.case-three .left-list li:nth-child(4),\\r\\n.sticky-wrap .solution-list-container.case-three .left-list li:nth-child(1),\\r\\n.sticky-wrap .solution-list-container.case-three .right-list li:nth-child(3) {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n.sticky-wrap .solution-list-container.case-four .left-list li:nth-child(5),\\r\\n.sticky-wrap .solution-list-container.case-four .left-list li:nth-child(6),\\r\\n.sticky-wrap .solution-list-container.case-four .right-list li:nth-child(1) {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n.sticky-wrap .solution-list-container.case-five .left-list li:nth-child(2),\\r\\n.sticky-wrap .solution-list-container.case-five .left-list li:nth-child(4),\\r\\n.sticky-wrap .solution-list-container.case-five .right-list li:nth-child(3) {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n.sticky-wrap .solution-list {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n list-style: none;\\r\\n}\\r\\n\\r\\n.sticky-wrap .solution-list li {\\r\\n width: 194px;\\r\\n padding: 0 24px;\\r\\n color: #000;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n font-family: 'DINProMedium';\\r\\n text-transform: uppercase;\\r\\n text-align: center;\\r\\n position: relative;\\r\\n transition: opacity 500ms ease-in-out;\\r\\n}\\r\\n\\r\\n.sticky-wrap .solution-list li:last-child {\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.sticky-wrap .left-list li {\\r\\n height: 79px;\\r\\n margin-bottom: 15px;\\r\\n font-size: 16px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.sticky-wrap .left-list li:nth-child(1) {\\r\\n background: #E8B7D4;\\r\\n}\\r\\n\\r\\n.sticky-wrap .left-list li:nth-child(2) {\\r\\n background: #9CD4FA;\\r\\n}\\r\\n\\r\\n.sticky-wrap .left-list li:nth-child(3) {\\r\\n background: #FFD7AA;\\r\\n}\\r\\n\\r\\n.sticky-wrap .left-list li:nth-child(4) {\\r\\n background: #ADDEE8;\\r\\n}\\r\\n\\r\\n.sticky-wrap .left-list li:nth-child(5) {\\r\\n background: #D0C5F2;\\r\\n}\\r\\n\\r\\n.sticky-wrap .left-list li:nth-child(6) {\\r\\n background: #FACCCC;\\r\\n}\\r\\n\\r\\n.sticky-wrap .left-list li:after {\\r\\n content: \\\"\\\";\\r\\n height: 100%;\\r\\n width: 0px;\\r\\n display: block;\\r\\n position: absolute;\\r\\n left: 100%;\\r\\n top: 0;\\r\\n border-top: 34px solid transparent;\\r\\n border-bottom: 22px solid transparent;\\r\\n border-right: 0px solid transparent;\\r\\n border-left: 70px solid #F8E9F2;\\r\\n transform: skew(0deg, 30deg);\\r\\n transform-origin: left;\\r\\n}\\r\\n\\r\\n.sticky-wrap .left-list li:nth-child(2):after {\\r\\n border-left-color: #DBECF7;\\r\\n transform: skew(0deg, 11deg);\\r\\n}\\r\\n\\r\\n.sticky-wrap .left-list li:nth-child(3):after {\\r\\n border-left-color: #FEF2E5;\\r\\n transform: skew(0deg, -3deg);\\r\\n}\\r\\n\\r\\n.sticky-wrap .left-list li:nth-child(4):after {\\r\\n border-left-color: #E7F4F7;\\r\\n transform: skew(0deg, -7deg);\\r\\n}\\r\\n\\r\\n.sticky-wrap .left-list li:nth-child(5):after {\\r\\n border-left-color: #F1EEFB;\\r\\n transform: skew(0deg, -23deg);\\r\\n}\\r\\n\\r\\n.sticky-wrap .left-list li:nth-child(6):after {\\r\\n border-left-color: #FEF0F0;\\r\\n transform: skew(0deg, -37deg);\\r\\n}\\r\\n\\r\\n.sticky-wrap .right-list li {\\r\\n height: 173px;\\r\\n margin-bottom: 15px;\\r\\n font-size: 22px;\\r\\n line-height: 26px;\\r\\n}\\r\\n\\r\\n.sticky-wrap .right-list li:nth-child(1) {\\r\\n background: #97DBE8;\\r\\n}\\r\\n\\r\\n.sticky-wrap .right-list li:nth-child(2) {\\r\\n background: #D2A0D4;\\r\\n}\\r\\n\\r\\n.sticky-wrap .right-list li:nth-child(3) {\\r\\n background: #CEE1AA;\\r\\n}\\r\\n\\r\\n.sticky-wrap .right-list li:before {\\r\\n content: \\\"\\\";\\r\\n height: 100%;\\r\\n width: 0px;\\r\\n display: block;\\r\\n position: absolute;\\r\\n right: 100%;\\r\\n top: 0;\\r\\n border-top: 60px solid transparent;\\r\\n border-bottom: 60px solid transparent;\\r\\n border-right: 80px solid #E5F6F9;\\r\\n border-left: 0px solid transparent;\\r\\n transform: skew(0deg, -11deg);\\r\\n transform-origin: right;\\r\\n}\\r\\n\\r\\n.sticky-wrap .right-list li:nth-child(2):before {\\r\\n border-right-color: #F1E5F1;\\r\\n transform: skew(0deg, 0deg);\\r\\n}\\r\\n\\r\\n.sticky-wrap .right-list li:nth-child(3):before {\\r\\n border-right-color: #F2F7E7;\\r\\n transform: skew(0deg, 11deg);\\r\\n}\\r\\n\\r\\n#solution .sticky-wrap svg {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n#solution .sticky-wrap ul.solution-case-processed-words {\\r\\n list-style: none;\\r\\n padding: 0 5px;\\r\\n}\\r\\n\\r\\n#solution .sticky-wrap ul.solution-case-processed-words li {\\r\\n margin-bottom: 10px;\\r\\n padding-left: 30px;\\r\\n line-height: 25px;\\r\\n}\\r\\n\\r\\n.svg-div-solution foreignObject {\\r\\n overflow: visible;\\r\\n}\\r\\n\\r\\n.solution-case-container {\\r\\n height: 400px;\\r\\n padding: 30px 15px;\\r\\n font-size: 16px;\\r\\n position: relative;\\r\\n background: #FFFFFF;\\r\\n border: #C7CED8 1px solid;\\r\\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.12);\\r\\n}\\r\\n\\r\\n.solution-case-container:before {\\r\\n content: \\\"\\\";\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n background: #6992B1;\\r\\n border: #FFF 1px solid;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%) rotate(45deg);\\r\\n box-shadow: -1px -1px 8px rgba(61, 87, 106, 0.20);\\r\\n}\\r\\n\\r\\n.solution-case-typing-container {\\r\\n min-height: 150px;\\r\\n font-family: 'DINProMedium';\\r\\n line-height: 30px;\\r\\n color: #43545F;\\r\\n}\\r\\n\\r\\n#data .text-wrap,\\r\\n#outcomes .text-wrap {\\r\\n position: absolute;\\r\\n width: 32%;\\r\\n}\\r\\n\\r\\n#outcomes .text-wrap {\\r\\n top: 130px;\\r\\n}\\r\\n\\r\\n#outcomes #outcomes-svg-container {\\r\\n margin-top: -106px;\\r\\n position: relative;\\r\\n z-index: -1;\\r\\n}\\r\\n\\r\\n.outcome-section {\\r\\n width: 65%;\\r\\n height: 100%;\\r\\n float: right;\\r\\n position: relative;\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome-arrow-origin {\\r\\n width: 60px;\\r\\n height: 60px;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n}\\r\\n\\r\\n.outcome-section .outcome-arrow-origin .outcome-arrow.one,\\r\\n.outcome-section .outcome-arrow-origin .outcome-arrow.two,\\r\\n.outcome-section .outcome-arrow-origin .outcome-arrow.three,\\r\\n.outcome-section .outcome-arrow-origin .outcome-arrow.four {\\r\\n height: 86px;\\r\\n width: 0px;\\r\\n position: absolute;\\r\\n transition: all ease-in-out 500ms;\\r\\n border-top: 43px solid transparent;\\r\\n border-bottom: 43px solid transparent;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome-arrow-origin .outcome-arrow.one,\\r\\n.outcome-section .outcome-arrow-origin .outcome-arrow.three {\\r\\n right: 50%;\\r\\n border-right: 0px solid transparent;\\r\\n transform-origin: right;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome-arrow-origin .outcome-arrow.two,\\r\\n.outcome-section .outcome-arrow-origin .outcome-arrow.four {\\r\\n left: 50%;\\r\\n border-left: 0px solid transparent;\\r\\n transform-origin: left;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome-arrow-origin .outcome-arrow.one {\\r\\n border-left: 83px solid #F7D5DA;\\r\\n transform: scale(0) skewY(-64deg);\\r\\n}\\r\\n\\r\\n.outcome-section .outcome-arrow-origin .outcome-arrow.two {\\r\\n border-right: 83px solid #C0E7EF;\\r\\n transform: scale(0) skewY(64deg);\\r\\n}\\r\\n\\r\\n.outcome-section .outcome-arrow-origin .outcome-arrow.three {\\r\\n border-left: 83px solid #D4F6EE;\\r\\n transform: scale(0) skewY(-75deg);\\r\\n}\\r\\n\\r\\n.outcome-section .outcome-arrow-origin .outcome-arrow.four {\\r\\n border-right: 83px solid #FBE7C0;\\r\\n transform: scale(0) skewY(75deg);\\r\\n}\\r\\n\\r\\n.outcome-section.show .outcome-arrow-origin .outcome-arrow.one {\\r\\n transform: scale(1) skewY(-64deg);\\r\\n}\\r\\n\\r\\n.outcome-section.show .outcome-arrow-origin .outcome-arrow.two {\\r\\n transform: scale(1) skewY(64deg);\\r\\n}\\r\\n\\r\\n.outcome-section.show .outcome-arrow-origin .outcome-arrow.three {\\r\\n transform: scale(1) skewY(-75deg);\\r\\n}\\r\\n\\r\\n.outcome-section.show .outcome-arrow-origin .outcome-arrow.four {\\r\\n transform: scale(1) skewY(75deg);\\r\\n}\\r\\n\\r\\n.outcome-section .outcome {\\r\\n width: 40%;\\r\\n height: 86px;\\r\\n padding: 0 10px;\\r\\n position: absolute;\\r\\n font-size: 16px;\\r\\n line-height: 22px;\\r\\n color: #000;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n transform: scale(0, 1);\\r\\n transition: all ease-in-out 500ms;\\r\\n}\\r\\n\\r\\n.outcome-section.show .outcome {\\r\\n transition-delay: 500ms;\\r\\n}\\r\\n\\r\\n.outcome-section.hide .outcome {\\r\\n transition-delay: 0ms;\\r\\n}\\r\\n\\r\\n.outcome-section.hide .outcome-arrow {\\r\\n transition-delay: 500ms !important;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome.one,\\r\\n.outcome-section .outcome.two {\\r\\n bottom: 193px;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome.three,\\r\\n.outcome-section .outcome.four {\\r\\n bottom: 54px;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome.one,\\r\\n.outcome-section .outcome.three {\\r\\n padding-right: 84px;\\r\\n text-align: right;\\r\\n transform-origin: right;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome.two,\\r\\n.outcome-section .outcome.four {\\r\\n padding-left: 84px;\\r\\n text-align: left;\\r\\n transform-origin: left;\\r\\n}\\r\\n\\r\\n.outcome-section.show .outcome {\\r\\n transform: scale(1, 1);\\r\\n}\\r\\n\\r\\n.outcome-section .outcome.one:after,\\r\\n.outcome-section .outcome.two:after,\\r\\n.outcome-section .outcome.three:after,\\r\\n.outcome-section .outcome.four:after {\\r\\n content: \\\"\\\";\\r\\n height: 86px;\\r\\n width: 84px;\\r\\n position: absolute;\\r\\n background-size: auto 50px !important;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome.one:after,\\r\\n.outcome-section .outcome.three:after {\\r\\n right: 0;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome.two:after,\\r\\n.outcome-section .outcome.four:after {\\r\\n left: 0;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome.one:after {\\r\\n background: url('statistics.svg') center center no-repeat;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome.two:after {\\r\\n background: url('automation.svg') center center no-repeat;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome.three:after {\\r\\n background: url('discover-concept.svg') center center no-repeat;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome.four:after {\\r\\n background: url('domain-solutions.svg') center center no-repeat;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome.one {\\r\\n left: 0;\\r\\n background: #EEA6B2;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome.two {\\r\\n right: 0;\\r\\n background: #7BCDDE;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome.three {\\r\\n left: 0;\\r\\n background: #A4EDDC;\\r\\n}\\r\\n\\r\\n.outcome-section .outcome.four {\\r\\n right: 0;\\r\\n background: #F8CC7B;\\r\\n}\\r\\n\\r\\n.circles.ripple .ripple-circles {\\r\\n bottom: auto;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .circles {\\r\\n display: flex;\\r\\n height: 50%;\\r\\n margin-top:5px;\\r\\n position: relative;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.circles.ripple .ripple-circles {\\r\\n bottom: auto;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .label-gradient {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n position: absolute;\\r\\n left: 8%;\\r\\n top: 12px;\\r\\n right: 8%;\\r\\n height: 36px;\\r\\n opacity: 0;\\r\\n background: #e9a1a9;\\r\\n background: linear-gradient(to right, #e9a1a9 0%, #ffffff 50%, #c8e6ce 100%);\\r\\n filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#e9a1a9', endColorstr='#c8e6ce', GradientType=1);\\r\\n transition: all ease-in-out 300ms;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .label-gradient:before,\\r\\n.problem-dart-circle .label-gradient:after {\\r\\n content: '';\\r\\n position: absolute;\\r\\n width: 50%;\\r\\n background: #fff;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n height: 45px;\\r\\n margin: auto;\\r\\n transition: all ease-in-out 800ms;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .label-gradient:before {\\r\\n left: 0;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .label-gradient:after {\\r\\n right: 0;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .label-gradient span {\\r\\n width: 50%;\\r\\n font-size: 16px;\\r\\n text-transform: uppercase;\\r\\n color: #292929;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .label-gradient span:first-child {\\r\\n text-align: right;\\r\\n padding-right: 70px;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .label-gradient span:last-child {\\r\\n padding-left: 70px;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .label-gradient span:last-child strong {\\r\\n font-family: 'DINProMedium', sans-serif;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .label-gradient span:last-child strong:first-child {\\r\\n color: #1E83A8;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .label-gradient span:last-child strong:last-child {\\r\\n color: #BA3F3F;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .circles .lines {\\r\\n position: absolute;\\r\\n left: 8%;\\r\\n right: 8%;\\r\\n top: 12px;\\r\\n bottom: 0;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .circles .lines .left-line,\\r\\n.problem-dart-circle .circles .lines .right-line {\\r\\n position: absolute;\\r\\n top: 16px;\\r\\n bottom: 0;\\r\\n border: 1px solid #C6CED3;\\r\\n width: 50px;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .circles .lines .left-line {\\r\\n left: -50px;\\r\\n border-right: 0;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .circles .lines .right-line {\\r\\n right: -50px;\\r\\n border-left: 0;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .circles .lines .left-line:after,\\r\\n.problem-dart-circle .circles .lines .right-line:after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n transform: translateY(50%);\\r\\n height: 180px;\\r\\n width: 40px;\\r\\n opacity: 0;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .circles .lines .left-line:after {\\r\\n background: url('left-label.svg') left center no-repeat;\\r\\n background-size: 100% 100%;\\r\\n left: 60px;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .circles .lines .right-line:after {\\r\\n background: url('right-label.svg') left center no-repeat;\\r\\n background-size: 100% 100%;\\r\\n right: 60px;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .circles .lines .left-line:before,\\r\\n.problem-dart-circle .circles .lines .right-line:before {\\r\\n content: '';\\r\\n background: #fff;\\r\\n position: absolute;\\r\\n height: 106%;\\r\\n width: 105%;\\r\\n bottom: -2px;\\r\\n transition: all ease-in-out 800ms;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .circles .lines .left-line:before {\\r\\n left: -2px;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .circles .lines .right-line:before {\\r\\n right: -2px;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .circles .ripple-circles {\\r\\n opacity: 0;\\r\\n height:62px;\\r\\n width:62px;\\r\\n border:#FFF 1px solid;\\r\\n box-shadow:0 0 8px rgba(0, 0, 0, 0.2);\\r\\n}\\r\\n\\r\\n/* Animation */\\r\\n\\r\\n.problem-dart-circle .circles.in .ripple-circles,\\r\\n.problem-dart-circle .circles.in .label-gradient {\\r\\n opacity: 1;\\r\\n transition: all ease-in-out 300ms;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .circles.in .label-gradient:before,\\r\\n.problem-dart-circle .circles.in .label-gradient:after {\\r\\n width: 0;\\r\\n transition: all ease-in-out 400ms;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .circles.in .lines .left-line:before,\\r\\n.problem-dart-circle .circles.in .lines .right-line:before {\\r\\n height: 1px;\\r\\n transition: all ease-in-out 500ms;\\r\\n transition-delay: 500ms;\\r\\n}\\r\\n\\r\\n.problem-dart-circle .circles.in .lines .left-line:after,\\r\\n.problem-dart-circle .circles.in .lines .right-line:after {\\r\\n opacity: 1;\\r\\n transition: all ease-in-out 300ms;\\r\\n transition-delay: 1000ms;\\r\\n}\\r\\n\\r\\n/* SOlution */\\r\\n\\r\\n.solution-ripple-circles.ripple .ripple-circles {\\r\\n right: auto;\\r\\n bottom: auto;\\r\\n top: 10px;\\r\\n left: 12px;\\r\\n}\\r\\n\\r\\n.data-section-html-container {\\r\\n position: absolute;\\r\\n top: -160px;\\r\\n width: 500px;\\r\\n}\\r\\n\\r\\n/* .problem-dart-circle .ripple .ripple-circles i:nth-child(5),\\r\\n.problem-dart-circle .ripple .ripple-circles i:nth-child(6),\\r\\n.problem-dart-circle .ripple .ripple-circles i:nth-child(7),\\r\\n.solution-ripple-circles.ripple .ripple-circles i:nth-child(5),\\r\\n.solution-ripple-circles.ripple .ripple-circles i:nth-child(6),\\r\\n.solution-ripple-circles.ripple .ripple-circles i:nth-child(7){\\r\\n animation-iteration-count: 6; \\r\\n} */\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9ubHAtYnVpc25lc3Mtdmlldy1uZXcvbmxwLWJ1aXNuZXNzLXZpZXctbmV3LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7SUFJSSxlQUFlO0lBQ2YsbUJBQW1CO0NBQ3RCOztBQUVEO0lBQ0ksWUFBWTtJQUNaLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxVQUFVO0NBQ2I7O0FBRUQ7SUFDSSw0QkFBNEI7SUFDNUIsZ0JBQWdCO0lBQ2hCLFlBQVk7Q0FDZjs7QUFFRDtJQUNJLDZCQUE2QjtJQUM3QixnQkFBZ0I7SUFDaEIsWUFBWTtDQUNmOztBQUVEO0lBQ0ksWUFBWTtJQUNaLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsbUJBQW1CO0NBQ3RCOztBQUVEO0lBQ0ksYUFBYTtJQUNiLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixVQUFVO0lBQ1YsV0FBVztJQUNYLGlDQUFpQztDQUNwQzs7QUFFRDs7Ozs7OztJQU9JLDZCQUE2QjtJQUM3QixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixzQ0FBc0M7SUFDdEMsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLGtDQUFrQztJQUNsQyx3QkFBd0I7Q0FDM0I7O0FBRUQ7OztJQUdJLHVCQUF1QjtDQUMxQjs7QUFFRDtJQUNJLHVGQUE0RztJQUM1RyxXQUFXO0NBQ2Q7O0FBRUQ7SUFDSSx1RkFBNEc7SUFDNUcsV0FBVztJQUNYLFdBQVc7Q0FDZDs7QUFFRDtJQUNJLHFGQUEwRztJQUMxRyxXQUFXO0lBQ1gsV0FBVztDQUNkOztBQUVEO0lBQ0ksdUZBQTRHO0lBQzVHLFlBQVk7SUFDWixTQUFTO0NBQ1o7O0FBRUQ7SUFDSSx5RkFBOEc7SUFDOUcsWUFBWTtJQUNaLFdBQVc7Q0FDZDs7QUFFRDtJQUNJLDJGQUFn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SUFDbkIsWUFBWTtJQUNaLGFBQWE7Q0FDaEI7O0FBR0Q7Ozs7Ozs7SUFPSSIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvbmxwLWJ1aXNuZXNzLXZpZXctbmV3L25scC1idWlzbmVzcy12aWV3LW5ldy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJ1c2luZXNzLXZpZXctd3JhcHBlci5pbm5lci1wYWdlLXdyYXBwZXIgLmlubmVyLXBhZ2UtY29udGFpbmVyIC5ib2R5LXdyYXBwZXIgI3Byb2JsZW0sXHJcbi5idXNpbmVzcy12aWV3LXdyYXBwZXIuaW5uZXItcGFnZS13cmFwcGVyIC5pbm5lci1wYWdlLWNvbnRhaW5lciAuYm9keS13cmFwcGVyICNkYXRhLFxyXG4uYnVzaW5lc3Mtdmlldy13cmFwcGVyLmlubmVyLXBhZ2Utd3JhcHBlciAuaW5uZXItcGFnZS1jb250YWluZXIgLmJvZHktd3JhcHBlciAjc29sdXRpb24sXHJcbi5idXNpbmVzcy12aWV3LXdyYXBwZXIuaW5uZXItcGFnZS13cmFwcGVyIC5pbm5lci1wYWdlLWNvbnRhaW5lciAuYm9keS13cmFwcGVyICNvdXRjb21lcyB7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDQ0MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHRvcDogMjBweDtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgaDEge1xyXG4gICAgZm9udC1mYW1pbHk6ICdESU5Qcm9NZWRpdW0nO1xyXG4gICAgZm9udC1zaXplOiA1MHB4O1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5ib2R5LXdyYXBwZXIgI3Byb2JsZW0gLnByb2JsZW0tYmFubmVyIGgzIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnRElOUHJvUmVndWxhcic7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICBjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAzMzRweDtcclxuICAgIHBhZGRpbmc6IDAgMzBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLnJpcHBsZSB7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICB3aWR0aDogNjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0b3A6IDEwMHB4O1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbn1cclxuXHJcbi5ib2R5LXdyYXBwZXIgI3Byb2JsZW0gLnByb2JsZW0tYmFubmVyIC5idWJibGUtd3JhcCAuaW50cm8ub25lLFxyXG4uYm9keS13cmFwcGVyICNwcm9ibGVtIC5wcm9ibGVtLWJhbm5lciAuYnViYmxlLXdyYXAgLmludHJvLnR3byxcclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwIC5pbnRyby50aHJlZSxcclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwIC5pbnRyby5mb3VyLFxyXG4uYm9keS13cmFwcGVyICNwcm9ibGVtIC5wcm9ibGVtLWJhbm5lciAuYnViYmxlLXdyYXAgLmludHJvLmZpdmUsXHJcbi5ib2R5LXdyYXBwZXIgI3Byb2JsZW0gLnByb2JsZW0tYmFubmVyIC5idWJibGUtd3JhcCAuaW50cm8uc2l4LFxyXG4uYm9keS13cmFwcGVyICNwcm9ibGVtIC5wcm9ibGVtLWJhbm5lciAuYnViYmxlLXdyYXAgLmludHJvLnNldmVuIHtcclxuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDYwcHg7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiA0MHB4IGF1dG8gIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDEpO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgNTAwbXM7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA1MDBtcztcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwIC5pbnRyby5mb3VyLFxyXG4uYm9keS13cmFwcGVyICNwcm9ibGVtIC5wcm9ibGVtLWJhbm5lciAuYnViYmxlLXdyYXAgLmludHJvLmZpdmUsXHJcbi5ib2R5LXdyYXBwZXIgI3Byb2JsZW0gLnByb2JsZW0tYmFubmVyIC5idWJibGUtd3JhcCAuaW50cm8uc2l4IHtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XHJcbn1cclxuXHJcbi5ib2R5LXdyYXBwZXIgI3Byb2JsZW0gLnByb2JsZW0tYmFubmVyIC5idWJibGUtd3JhcCAuaW50cm8ub25lIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2Jhbi1pY29uLXR3aXR0ZXIuc3ZnKSAxMHB4IGNlbnRlciBuby1yZXBlYXQgcmdiYSgxNzcsIDIyNSwgMjU1LCAwLjUpO1xyXG4gICAgdG9wOiAtMjBweDtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwIC5pbnRyby50d28ge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvYmFuLWljb24tdHJhaW5pbmcuc3ZnKSAxMHB4IGNlbnRlciBuby1yZXBlYXQgcmdiYSgyNDMsIDg2LCA0OSwgMC4zNSk7XHJcbiAgICBsZWZ0OiA1MHB4O1xyXG4gICAgdG9wOiAxMTJweDtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwIC5pbnRyby50aHJlZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9iYW4taWNvbi1ub3Rlcy5zdmcpIDEwcHggY2VudGVyIG5vLXJlcGVhdCByZ2JhKDI0NSwgMTY3LCAyNDgsIDAuNCk7XHJcbiAgICBsZWZ0OiAyMHB4O1xyXG4gICAgdG9wOiAyMzNweDtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwIC5pbnRyby5mb3VyIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2Jhbi1pY29uLWZvcm11bGEuc3ZnKSAxMHB4IGNlbnRlciBuby1yZXBlYXQgcmdiYSgxMDMsIDIwMiwgMjU1LCAwLjQpO1xyXG4gICAgcmlnaHQ6IDIwcHg7XHJcbiAgICB0b3A6IDBweDtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwIC5pbnRyby5maXZlIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2Jhbi1pY29uLXJlc2VhcmNoLnN2ZykgMTBweCBjZW50ZXIgbm8tcmVwZWF0IHJnYmEoMTUzLCAyMjcsIDE5NSwgMC40NSk7XHJcbiAgICByaWdodDogMzVweDtcclxuICAgIHRvcDogMTIwcHg7XHJcbn1cclxuXHJcbi5ib2R5LXdyYXBwZXIgI3Byb2JsZW0gLnByb2JsZW0tYmFubmVyIC5idWJibGUtd3JhcCAuaW50cm8uc2l4IHtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2Jhbi1pY29uLWNhbGwtY2VudGVyLnN2ZykgMTBweCBjZW50ZXIgbm8tcmVwZWF0IHJnYmEoMjQ3LCAyMTMsIDE2OSwgMC42KTtcclxuICAgIHJpZ2h0OiAyN3B4O1xyXG4gICAgdG9wOiAyMzRweDtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwIC5pbnRyby5zZXZlbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9iYW4taWNvbi1jb252ZXJzYXRpb24uc3ZnKSAxMHB4IGNlbnRlciBuby1yZXBlYXQgcmdiYSg5NiwgMTAxLCAyMzcsIDAuMyk7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtYXJnaW4tbGVmdDogLTE1MnB4O1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG59XHJcblxyXG4uYm9keS13cmFwcGVyICNwcm9ibGVtIC5wcm9ibGVtLWJhbm5lciAuYnViYmxlLXdyYXAuc2hvdyAuaW50cm8ge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwLnNob3cgLmludHJvLnNldmVuIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbn1cclxuXHJcbi5ib2R5LXdyYXBwZXIgI3Byb2JsZW0gLnByb2JsZW0tYmFubmVyIC5idWJibGUtd3JhcCAucmlwcGxlIC5idWJibGUtYXJyb3cub25lLFxyXG4uYm9keS13cmFwcGVyICNwcm9ibGVtIC5wcm9ibGVtLWJhbm5lciAuYnViYmxlLXdyYXAgLnJpcHBsZSAuYnViYmxlLWFycm93LnR3byxcclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwIC5yaXBwbGUgLmJ1YmJsZS1hcnJvdy50aHJlZSxcclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwIC5yaXBwbGUgLmJ1YmJsZS1hcnJvdy5mb3VyLFxyXG4uYm9keS13cmFwcGVyICNwcm9ibGVtIC5wcm9ibGVtLWJhbm5lciAuYnViYmxlLXdyYXAgLnJpcHBsZSAuYnViYmxlLWFycm93LmZpdmUsXHJcbi5ib2R5LXdyYXBwZXIgI3Byb2JsZW0gLnByb2JsZW0tYmFubmVyIC5idWJibGUtd3JhcCAucmlwcGxlIC5idWJibGUtYXJyb3cuc2l4IHtcclxuICAgIGhlaWdodDogNjBweDtcclxuICAgIHdpZHRoOiAwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgNTAwbXM7XHJcbn1cclxuXHJcbi5ib2R5LXdyYXBwZXIgI3Byb2JsZW0gLnByb2JsZW0tYmFubmVyIC5idWJibGUtd3JhcCAucmlwcGxlIC5idWJibGUtYXJyb3cub25lLFxyXG4uYm9keS13cmFwcGVyICNwcm9ibGVtIC5wcm9ibGVtLWJhbm5lciAuYnViYmxlLXdyYXAgLnJpcHBsZSAuYnViYmxlLWFycm93LnR3byxcclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwIC5yaXBwbGUgLmJ1YmJsZS1hcnJvdy50aHJlZSB7XHJcbiAgICByaWdodDogNTAlO1xyXG4gICAgYm9yZGVyLXRvcDogMzBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1ib3R0b206IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xyXG59XHJcblxyXG4uYm9keS13cmFwcGVyICNwcm9ibGVtIC5wcm9ibGVtLWJhbm5lciAuYnViYmxlLXdyYXAgLnJpcHBsZSAuYnViYmxlLWFycm93LmZvdXIsXHJcbi5ib2R5LXdyYXBwZXIgI3Byb2JsZW0gLnByb2JsZW0tYmFubmVyIC5idWJibGUtd3JhcCAucmlwcGxlIC5idWJibGUtYXJyb3cuZml2ZSxcclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwIC5yaXBwbGUgLmJ1YmJsZS1hcnJvdy5zaXgge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgYm9yZGVyLXRvcDogMzBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1ib3R0b206IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItbGVmdDogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwIC5yaXBwbGUgLmJ1YmJsZS1hcnJvdy5mb3VyIHtcclxuICAgIGJvcmRlci10b3Atd2lkdGg6IDQwcHg7XHJcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiA0MHB4O1xyXG4gICAgdG9wOiAtOXB4O1xyXG59XHJcblxyXG4uYm9keS13cmFwcGVyICNwcm9ibGVtIC5wcm9ibGVtLWJhbm5lciAuYnViYmxlLXdyYXAgLnJpcHBsZSAuYnViYmxlLWFycm93LnNldmVuIHtcclxuICAgIGhlaWdodDogMHB4O1xyXG4gICAgd2lkdGg6IDYwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGJvcmRlci10b3A6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yaWdodDogMzBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1sZWZ0OiAzMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDUwMG1zO1xyXG59XHJcblxyXG4uYm9keS13cmFwcGVyICNwcm9ibGVtIC5wcm9ibGVtLWJhbm5lciAuYnViYmxlLXdyYXAgLnJpcHBsZSAuYnViYmxlLWFycm93Lm9uZSB7XHJcbiAgICBib3JkZXItbGVmdDogMzEycHggc29saWQgcmdiYSgxMTIsIDE4OCwgMjM1LCAwLjM4KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgc2tld1koMTZkZWcpO1xyXG59XHJcblxyXG4uYm9keS13cmFwcGVyICNwcm9ibGVtIC5wcm9ibGVtLWJhbm5lciAuYnViYmxlLXdyYXAgLnJpcHBsZSAuYnViYmxlLWFycm93LnR3byB7XHJcbiAgICBib3JkZXItbGVmdDogMjY4cHggc29saWQgcmdiYSgyNTUsIDIyMCwgMjExLCAuMzgpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKSBza2V3WSgtOWRlZyk7XHJcbn1cclxuXHJcbi5ib2R5LXdyYXBwZXIgI3Byb2JsZW0gLnByb2JsZW0tYmFubmVyIC5idWJibGUtd3JhcCAucmlwcGxlIC5idWJibGUtYXJyb3cudGhyZWUge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDI2MXB4IHNvbGlkIHJnYmEoMjU0LCAyMjcsIDI1NSwgMC4zOCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHNrZXdZKC0zMmRlZyk7XHJcbn1cclxuXHJcbi5ib2R5LXdyYXBwZXIgI3Byb2JsZW0gLnByb2JsZW0tYmFubmVyIC5idWJibGUtd3JhcCAucmlwcGxlIC5idWJibGUtYXJyb3cuZm91ciB7XHJcbiAgICBib3JkZXItcmlnaHQ6IDI2OXB4IHNvbGlkIHJnYmEoMTgzLCAyNDQsIDI1NSwgMC4zOCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHNrZXdZKC0xM2RlZyk7XHJcbn1cclxuXHJcbi5ib2R5LXdyYXBwZXIgI3Byb2JsZW0gLnByb2JsZW0tYmFubmVyIC5idWJibGUtd3JhcCAucmlwcGxlIC5idWJibGUtYXJyb3cuZml2ZSB7XHJcbiAgICBib3JkZXItcmlnaHQ6IDI4NHB4IHNvbGlkIHJnYmEoMTg4LCAyNTUsIDIyOCwgMC4zOCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHNrZXdZKDEwZGVnKTtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwIC5yaXBwbGUgLmJ1YmJsZS1hcnJvdy5zaXgge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAzMDhweCBzb2xpZCByZ2JhKDI1MiwgMjI0LCAxODksIDAuMzgpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKSBza2V3WSgyOGRlZyk7XHJcbn1cclxuXHJcbi5ib2R5LXdyYXBwZXIgI3Byb2JsZW0gLnByb2JsZW0tYmFubmVyIC5idWJibGUtd3JhcCAucmlwcGxlIC5idWJibGUtYXJyb3cuc2V2ZW4ge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMTc0cHggc29saWQgcmdiYSgyMjEsIDIyMiwgMjUyLCAwLjM4KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgc2tld1goLTM1ZGVnKTtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwLnNob3cgLnJpcHBsZSAuYnViYmxlLWFycm93Lm9uZSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHNrZXdZKDE2ZGVnKTtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwLnNob3cgLnJpcHBsZSAuYnViYmxlLWFycm93LnR3byB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHNrZXdZKC05ZGVnKTtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwLnNob3cgLnJpcHBsZSAuYnViYmxlLWFycm93LnRocmVlIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgc2tld1koLTMyZGVnKTtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwLnNob3cgLnJpcHBsZSAuYnViYmxlLWFycm93LmZvdXIge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSBza2V3WSgtMTNkZWcpO1xyXG59XHJcblxyXG4uYm9keS13cmFwcGVyICNwcm9ibGVtIC5wcm9ibGVtLWJhbm5lciAuYnViYmxlLXdyYXAuc2hvdyAucmlwcGxlIC5idWJibGUtYXJyb3cuZml2ZSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHNrZXdZKDEwZGVnKTtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwLnNob3cgLnJpcHBsZSAuYnViYmxlLWFycm93LnNpeCB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHNrZXdZKDI4ZGVnKTtcclxufVxyXG5cclxuLmJvZHktd3JhcHBlciAjcHJvYmxlbSAucHJvYmxlbS1iYW5uZXIgLmJ1YmJsZS13cmFwLnNob3cgLnJpcHBsZSAuYnViYmxlLWFycm93LnNldmVuIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgc2tld1goLTM1ZGVnKTtcclxufVxyXG5cclxuLnJpcHBsZS1jaXJjbGVzIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGJhY2tncm91bmQ6IzhENkJDMztcclxuICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNjBweDtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5yaXBwbGUgLnJpcHBsZS1jaXJjbGVzIGkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNjBweDtcclxufVxyXG5cclxuLnJpcHBsZSAucmlwcGxlLWNpcmNsZXMgaTpmaXJzdC1jaGlsZCB7XHJcbiAgICB3aWR0aDogNTBweDtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIGJhY2tncm91bmQ6I0M5QjE0QztcclxufVxyXG5cclxuLnJpcHBsZSAucmlwcGxlLWNpcmNsZXMgaTpudGgtY2hpbGQoMikge1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiM1MDU1RDE7XHJcbn1cclxuXHJcbi5yaXBwbGUgLnJpcHBsZS1jaXJjbGVzIGk6bnRoLWNoaWxkKDMpIHtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgYmFja2dyb3VuZDojMURBMUYyO1xyXG59XHJcblxyXG4ucmlwcGxlIC5yaXBwbGUtY2lyY2xlcyBpOm50aC1jaGlsZCg0KSB7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIGJhY2tncm91bmQ6I0M5NEM2NDtcclxufVxyXG5cclxuLnJpcHBsZS5pbiAucmlwcGxlLWNpcmNsZXMgaTpudGgtY2hpbGQoNSksXHJcbi5wcm9ibGVtLWRhcnQtY2lyY2xlLmluIC5yaXBwbGUgLnJpcHBsZS1jaXJjbGVzIGk6bnRoLWNoaWxkKDUpIHtcclxuICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDojNTBEMTlBO1xyXG4gICAgLyogLXdlYmtpdC1hbmltYXRpb246IHB1bHNlLWRvdDMgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuICAgIGFuaW1hdGlvbjogcHVsc2UtZG90MyAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC42cztcclxuICAgIGFuaW1hdGlvbi1kZWxheTogLjZzOyAqL1xyXG59XHJcblxyXG4ucmlwcGxlLmluIC5yaXBwbGUtY2lyY2xlcyBpOm50aC1jaGlsZCg2KSxcclxuLnByb2JsZW0tZGFydC1jaXJjbGUuaW4gLnJpcHBsZSAucmlwcGxlLWNpcmNsZXMgaTpudGgtY2hpbGQoNikge1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiM1MEQxOUE7XHJcbiAgICAvKiAtd2Via2l0LWFuaW1hdGlvbjogcHVsc2UtZG90MiAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xyXG4gICAgYW5pbWF0aW9uOiBwdWxzZS1kb3QyIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLjNzO1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuM3M7ICovXHJcbn1cclxuXHJcbi5yaXBwbGUuaW4gLnJpcHBsZS1jaXJjbGVzIGk6bnRoLWNoaWxkKDcpLFxyXG4ucHJvYmxlbS1kYXJ0LWNpcmNsZS5pbiAucmlwcGxlIC5yaXBwbGUtY2lyY2xlcyBpOm50aC1jaGlsZCg3KSB7XHJcbiAgICB3aWR0aDogMTBweDtcclxuICAgIGhlaWdodDogMTBweDtcclxuICAgIGJhY2tncm91bmQ6IzUwRDE5QTtcclxuICAgIC8qIC13ZWJraXQtYW5pbWF0aW9uOiBwdWxzZS1kb3QgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuICAgIGFuaW1hdGlvbjogcHVsc2UtZG90IDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7ICovXHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZS1kb3Qge1xyXG4gICAgMCUge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgNDBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHB1bHNlLWRvdCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA0MHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZS1kb3QyIHtcclxuICAgIDAlIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC43KTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDM0cHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBwdWxzZS1kb3QyIHtcclxuICAgIDAlIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC43KTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDM0cHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlLWRvdDMge1xyXG4gICAgMCUge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMzRweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHB1bHNlLWRvdDMge1xyXG4gICAgMCUge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMzRweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYm9keS13cmFwcGVyICNwcm9ibGVtIC5ncmFkaWVudC1mb2N1czpiZWZvcmUsXHJcbi5ib2R5LXdyYXBwZXIgI3Byb2JsZW0gLmdyYWRpZW50LWZvY3VzOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogOTJweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvcmRlci10b3A6IDkycHggc29saWQgd2hpdGU7XHJcbiAgICBib3JkZXItcmlnaHQ6IDg4NXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uYm9keS13cmFwcGVyICNwcm9ibGVtIC5ncmFkaWVudC1mb2N1czphZnRlciB7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiA5MnB4IHNvbGlkIHdoaXRlO1xyXG4gICAgYm9yZGVyLXRvcDogMCBzb2xpZCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnN0YXJ0LWFuaW1hdGlvbiAudmlicmF0ZS1hbmltYXRpb24ge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHZpYnJhdGUtYW5pbWF0aW9uIDEuNXMgbGluZWFyIGFsdGVybmF0ZSBpbmZpbml0ZSBib3RoO1xyXG4gICAgYW5pbWF0aW9uOiB2aWJyYXRlLWFuaW1hdGlvbiAxLjVzIGxpbmVhciBhbHRlcm5hdGUgaW5maW5pdGUgYm90aDtcclxufVxyXG5cclxuLnN0YXJ0LWFuaW1hdGlvbiAudmlicmF0ZS1hbmltYXRpb24tc2xvdyB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogdmlicmF0ZS1hbmltYXRpb24gM3MgbGluZWFyIGFsdGVybmF0ZSBpbmZpbml0ZSBib3RoO1xyXG4gICAgYW5pbWF0aW9uOiB2aWJyYXRlLWFuaW1hdGlvbiAzcyBsaW5lYXIgYWx0ZXJuYXRlIGluZmluaXRlIGJvdGg7XHJcbn1cclxuXHJcbi5zdmctcHJvYmxlbS1kYXRhIC5zcXVhcmUudG9BbmltYXRlKy5zcXVhcmUudG9BbmltYXRlPi52aWJyYXRlLWFuaW1hdGlvbi1zbG93LFxyXG4uc3ZnLXByb2JsZW0tZGF0YSAuc3F1YXJlLnRvQW5pbWF0ZSsuc3F1YXJlLnRvQW5pbWF0ZSsuc3F1YXJlLnRvQW5pbWF0ZSsuc3F1YXJlLnRvQW5pbWF0ZSsuc3F1YXJlLnRvQW5pbWF0ZT4udmlicmF0ZS1hbmltYXRpb24tc2xvdyB7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDUwMG1zO1xyXG59XHJcblxyXG4uc3ZnLXByb2JsZW0tZGF0YSAuc3F1YXJlLnRvQW5pbWF0ZSsuc3F1YXJlLnRvQW5pbWF0ZSsuc3F1YXJlLnRvQW5pbWF0ZT4udmlicmF0ZS1hbmltYXRpb24tc2xvdyxcclxuLnN2Zy1wcm9ibGVtLWRhdGEgLnNxdWFyZS50b0FuaW1hdGUrLnNxdWFyZS50b0FuaW1hdGUrLnNxdWFyZS50b0FuaW1hdGUrLnNxdWFyZS50b0FuaW1hdGUrLnNxdWFyZS50b0FuaW1hdGUrLnNxdWFyZS50b0FuaW1hdGU+LnZpYnJhdGUtYW5pbWF0aW9uLXNsb3cge1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxcztcclxufVxyXG5cclxuLnN2Zy1wcm9ibGVtLWRhdGEgLnNxdWFyZS50b0FuaW1hdGUrLnNxdWFyZS50b0FuaW1hdGUrLnNxdWFyZS50b0FuaW1hdGUrLnNxdWFyZS50b0FuaW1hdGU+LnZpYnJhdGUtYW5pbWF0aW9uLXNsb3cge1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xyXG59XHJcblxyXG4uc3ZnLXByb2JsZW0tZGF0YSAuYmdzcXVhcmUubm90VG9BbmltYXRlOm50aC1jaGlsZCgybikgLnZpYnJhdGUtYW5pbWF0aW9uIHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMnM7XHJcbn1cclxuXHJcbi5zdmctcHJvYmxlbS1kYXRhIC5iZ3NxdWFyZS5ub3RUb0FuaW1hdGU6bnRoLWNoaWxkKDNuKSAudmlicmF0ZS1hbmltYXRpb24ge1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAzcztcclxufVxyXG5cclxuLnN2Zy1wcm9ibGVtLWRhdGEgLmJnc3F1YXJlLm5vdFRvQW5pbWF0ZTpudGgtY2hpbGQoNG4pIC52aWJyYXRlLWFuaW1hdGlvbiB7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgdmlicmF0ZS1hbmltYXRpb24ge1xyXG4gICAgMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XHJcbiAgICB9XHJcbiAgICAyMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgMXB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAxcHgpO1xyXG4gICAgfVxyXG4gICAgNDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIC0xcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIC0xcHgpO1xyXG4gICAgfVxyXG4gICAgNjAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMXB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDFweCk7XHJcbiAgICB9XHJcbiAgICA4MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAtMXB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0xcHgpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB2aWJyYXRlLWFuaW1hdGlvbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcclxuICAgIH1cclxuICAgIDIwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAxcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIDFweCk7XHJcbiAgICB9XHJcbiAgICA0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgLTFweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgLTFweCk7XHJcbiAgICB9XHJcbiAgICA2MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAxcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMXB4KTtcclxuICAgIH1cclxuICAgIDgwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0xcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgLTFweCk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3RhcnQtYW5pbWF0aW9uIC5yb3RhdGUtaW4tY2VudGVyIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGUtaW4tY2VudGVyIDJzIGxpbmVhciBib3RoIGluZmluaXRlO1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGUtaW4tY2VudGVyIDJzIGxpbmVhciBib3RoIGluZmluaXRlO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlLWluLWNlbnRlciB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZS1pbi1jZW50ZXIge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuLmhpZ2hMaWdodCB7XHJcbiAgICBjb2xvcjogI0ZGRkZGRjtcclxuICAgIGJhY2tncm91bmQ6ICM2OTkyQjE7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgcGFkZGluZzogMnB4IDVweDtcclxufVxyXG5cclxuLmN1cnNvcjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnfCc7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGJsaW5rO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYmxpbmsge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICA0OSUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3RpY2t5LXdyYXAge1xyXG4gICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgIHRvcDogMzBweDtcclxuICAgIC8qIGZsb2F0OiByaWdodDtcclxuICAgIHdpZHRoOiA2NSU7ICovXHJcbn1cclxuLnN0aWNreS13cmFwOmFmdGVye1xyXG4gICAgY29udGVudDpcIlwiO1xyXG4gICAgZGlzcGxheTp0YWJsZTtcclxuICAgIGNsZWFyOmJvdGg7XHJcbn1cclxuI3NvbHV0aW9uIC5zdGlja3ktd3JhcCAudGV4dC13cmFwe1xyXG4gICAgd2lkdGg6MzIlO1xyXG4gICAgZmxvYXQ6bGVmdDtcclxuICAgIG1hcmdpbi10b3A6ODBweDtcclxufVxyXG4uc3RpY2t5LXdyYXAgLnN2Zy1jb250YWluZXJ7XHJcbiAgICB3aWR0aDo2NSU7XHJcbiAgICBmbG9hdDpyaWdodDtcclxufVxyXG5cclxuLnN0aWNreS13cmFwIC5zb2x1dGlvbi1saXN0LWNvbnRhaW5lciAuc29sdXRpb24tbGlzdCBsaSB7XHJcbiAgICBvcGFjaXR5OiAwLjI7XHJcbn1cclxuXHJcbi5zdGlja3ktd3JhcCAuc29sdXRpb24tbGlzdC1jb250YWluZXIuY2FzZS1hbGwgLnNvbHV0aW9uLWxpc3QgbGkge1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLnN0aWNreS13cmFwIC5zb2x1dGlvbi1saXN0LWNvbnRhaW5lci5jYXNlLW9uZSAubGVmdC1saXN0IGxpOm50aC1jaGlsZCgxKSxcclxuLnN0aWNreS13cmFwIC5zb2x1dGlvbi1saXN0LWNvbnRhaW5lci5jYXNlLW9uZSAubGVmdC1saXN0IGxpOm50aC1jaGlsZCgzKSxcclxuLnN0aWNreS13cmFwIC5zb2x1dGlvbi1saXN0LWNvbnRhaW5lci5jYXNlLW9uZSAucmlnaHQtbGlzdCBsaTpudGgtY2hpbGQoMikge1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLnN0aWNreS13cmFwIC5zb2x1dGlvbi1saXN0LWNvbnRhaW5lci5jYXNlLXR3byAubGVmdC1saXN0IGxpOm50aC1jaGlsZCgyKSxcclxuLnN0aWNreS13cmFwIC5zb2x1dGlvbi1saXN0LWNvbnRhaW5lci5jYXNlLXR3byAubGVmdC1saXN0IGxpOm50aC1jaGlsZCg1KSxcclxuLnN0aWNreS13cmFwIC5zb2x1dGlvbi1saXN0LWNvbnRhaW5lci5jYXNlLXR3byAucmlnaHQtbGlzdCBsaTpudGgtY2hpbGQoMSkge1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLnN0aWNreS13cmFwIC5zb2x1dGlvbi1saXN0LWNvbnRhaW5lci5jYXNlLXRocmVlIC5sZWZ0LWxpc3QgbGk6bnRoLWNoaWxkKDQpLFxyXG4uc3RpY2t5LXdyYXAgLnNvbHV0aW9uLWxpc3QtY29udGFpbmVyLmNhc2UtdGhyZWUgLmxlZnQtbGlzdCBsaTpudGgtY2hpbGQoMSksXHJcbi5zdGlja3ktd3JhcCAuc29sdXRpb24tbGlzdC1jb250YWluZXIuY2FzZS10aHJlZSAucmlnaHQtbGlzdCBsaTpudGgtY2hpbGQoMykge1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLnN0aWNreS13cmFwIC5zb2x1dGlvbi1saXN0LWNvbnRhaW5lci5jYXNlLWZvdXIgLmxlZnQtbGlzdCBsaTpudGgtY2hpbGQoNSksXHJcbi5zdGlja3ktd3JhcCAuc29sdXRpb24tbGlzdC1jb250YWluZXIuY2FzZS1mb3VyIC5sZWZ0LWxpc3QgbGk6bnRoLWNoaWxkKDYpLFxyXG4uc3RpY2t5LXdyYXAgLnNvbHV0aW9uLWxpc3QtY29udGFpbmVyLmNhc2UtZm91ciAucmlnaHQtbGlzdCBsaTpudGgtY2hpbGQoMSkge1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLnN0aWNreS13cmFwIC5zb2x1dGlvbi1saXN0LWNvbnRhaW5lci5jYXNlLWZpdmUgLmxlZnQtbGlzdCBsaTpudGgtY2hpbGQoMiksXHJcbi5zdGlja3ktd3JhcCAuc29sdXRpb24tbGlzdC1jb250YWluZXIuY2FzZS1maXZlIC5sZWZ0LWxpc3QgbGk6bnRoLWNoaWxkKDQpLFxyXG4uc3RpY2t5LXdyYXAgLnNvbHV0aW9uLWxpc3QtY29udGFpbmVyLmNhc2UtZml2ZSAucmlnaHQtbGlzdCBsaTpudGgtY2hpbGQoMykge1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLnN0aWNreS13cmFwIC5zb2x1dGlvbi1saXN0IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4uc3RpY2t5LXdyYXAgLnNvbHV0aW9uLWxpc3QgbGkge1xyXG4gICAgd2lkdGg6IDE5NHB4O1xyXG4gICAgcGFkZGluZzogMCAyNHB4O1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZvbnQtZmFtaWx5OiAnRElOUHJvTWVkaXVtJztcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4uc3RpY2t5LXdyYXAgLnNvbHV0aW9uLWxpc3QgbGk6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uc3RpY2t5LXdyYXAgLmxlZnQtbGlzdCBsaSB7XHJcbiAgICBoZWlnaHQ6IDc5cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi5zdGlja3ktd3JhcCAubGVmdC1saXN0IGxpOm50aC1jaGlsZCgxKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRThCN0Q0O1xyXG59XHJcblxyXG4uc3RpY2t5LXdyYXAgLmxlZnQtbGlzdCBsaTpudGgtY2hpbGQoMikge1xyXG4gICAgYmFja2dyb3VuZDogIzlDRDRGQTtcclxufVxyXG5cclxuLnN0aWNreS13cmFwIC5sZWZ0LWxpc3QgbGk6bnRoLWNoaWxkKDMpIHtcclxuICAgIGJhY2tncm91bmQ6ICNGRkQ3QUE7XHJcbn1cclxuXHJcbi5zdGlja3ktd3JhcCAubGVmdC1saXN0IGxpOm50aC1jaGlsZCg0KSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjQURERUU4O1xyXG59XHJcblxyXG4uc3RpY2t5LXdyYXAgLmxlZnQtbGlzdCBsaTpudGgtY2hpbGQoNSkge1xyXG4gICAgYmFja2dyb3VuZDogI0QwQzVGMjtcclxufVxyXG5cclxuLnN0aWNreS13cmFwIC5sZWZ0LWxpc3QgbGk6bnRoLWNoaWxkKDYpIHtcclxuICAgIGJhY2tncm91bmQ6ICNGQUNDQ0M7XHJcbn1cclxuXHJcbi5zdGlja3ktd3JhcCAubGVmdC1saXN0IGxpOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAxMDAlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm9yZGVyLXRvcDogMzRweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1ib3R0b206IDIycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1sZWZ0OiA3MHB4IHNvbGlkICNGOEU5RjI7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXcoMGRlZywgMzBkZWcpO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcclxufVxyXG5cclxuLnN0aWNreS13cmFwIC5sZWZ0LWxpc3QgbGk6bnRoLWNoaWxkKDIpOmFmdGVyIHtcclxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjREJFQ0Y3O1xyXG4gICAgdHJhbnNmb3JtOiBza2V3KDBkZWcsIDExZGVnKTtcclxufVxyXG5cclxuLnN0aWNreS13cmFwIC5sZWZ0LWxpc3QgbGk6bnRoLWNoaWxkKDMpOmFmdGVyIHtcclxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjRkVGMkU1O1xyXG4gICAgdHJhbnNmb3JtOiBza2V3KDBkZWcsIC0zZGVnKTtcclxufVxyXG5cclxuLnN0aWNreS13cmFwIC5sZWZ0LWxpc3QgbGk6bnRoLWNoaWxkKDQpOmFmdGVyIHtcclxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjRTdGNEY3O1xyXG4gICAgdHJhbnNmb3JtOiBza2V3KDBkZWcsIC03ZGVnKTtcclxufVxyXG5cclxuLnN0aWNreS13cmFwIC5sZWZ0LWxpc3QgbGk6bnRoLWNoaWxkKDUpOmFmdGVyIHtcclxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjRjFFRUZCO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3KDBkZWcsIC0yM2RlZyk7XHJcbn1cclxuXHJcbi5zdGlja3ktd3JhcCAubGVmdC1saXN0IGxpOm50aC1jaGlsZCg2KTphZnRlciB7XHJcbiAgICBib3JkZXItbGVmdC1jb2xvcjogI0ZFRjBGMDtcclxuICAgIHRyYW5zZm9ybTogc2tldygwZGVnLCAtMzdkZWcpO1xyXG59XHJcblxyXG4uc3RpY2t5LXdyYXAgLnJpZ2h0LWxpc3QgbGkge1xyXG4gICAgaGVpZ2h0OiAxNzNweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjZweDtcclxufVxyXG5cclxuLnN0aWNreS13cmFwIC5yaWdodC1saXN0IGxpOm50aC1jaGlsZCgxKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjOTdEQkU4O1xyXG59XHJcblxyXG4uc3RpY2t5LXdyYXAgLnJpZ2h0LWxpc3QgbGk6bnRoLWNoaWxkKDIpIHtcclxuICAgIGJhY2tncm91bmQ6ICNEMkEwRDQ7XHJcbn1cclxuXHJcbi5zdGlja3ktd3JhcCAucmlnaHQtbGlzdCBsaTpudGgtY2hpbGQoMykge1xyXG4gICAgYmFja2dyb3VuZDogI0NFRTFBQTtcclxufVxyXG5cclxuLnN0aWNreS13cmFwIC5yaWdodC1saXN0IGxpOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDEwMCU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3JkZXItdG9wOiA2MHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogNjBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yaWdodDogODBweCBzb2xpZCAjRTVGNkY5O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIHRyYW5zZm9ybTogc2tldygwZGVnLCAtMTFkZWcpO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XHJcbn1cclxuXHJcbi5zdGlja3ktd3JhcCAucmlnaHQtbGlzdCBsaTpudGgtY2hpbGQoMik6YmVmb3JlIHtcclxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogI0YxRTVGMTtcclxuICAgIHRyYW5zZm9ybTogc2tldygwZGVnLCAwZGVnKTtcclxufVxyXG5cclxuLnN0aWNreS13cmFwIC5yaWdodC1saXN0IGxpOm50aC1jaGlsZCgzKTpiZWZvcmUge1xyXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjRjJGN0U3O1xyXG4gICAgdHJhbnNmb3JtOiBza2V3KDBkZWcsIDExZGVnKTtcclxufVxyXG5cclxuI3NvbHV0aW9uIC5zdGlja3ktd3JhcCBzdmcge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4jc29sdXRpb24gLnN0aWNreS13cmFwIHVsLnNvbHV0aW9uLWNhc2UtcHJvY2Vzc2VkLXdvcmRzIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwIDVweDtcclxufVxyXG5cclxuI3NvbHV0aW9uIC5zdGlja3ktd3JhcCB1bC5zb2x1dGlvbi1jYXNlLXByb2Nlc3NlZC13b3JkcyBsaSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XHJcbn1cclxuXHJcbi5zdmctZGl2LXNvbHV0aW9uIGZvcmVpZ25PYmplY3Qge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi5zb2x1dGlvbi1jYXNlLWNvbnRhaW5lciB7XHJcbiAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgcGFkZGluZzogMzBweCAxNXB4O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuICAgIGJvcmRlcjogI0M3Q0VEOCAxcHggc29saWQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG59XHJcblxyXG4uc29sdXRpb24tY2FzZS1jb250YWluZXI6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICB3aWR0aDogMzBweDtcclxuICAgIGhlaWdodDogMzBweDtcclxuICAgIGJhY2tncm91bmQ6ICM2OTkyQjE7XHJcbiAgICBib3JkZXI6ICNGRkYgMXB4IHNvbGlkO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcclxuICAgIGJveC1zaGFkb3c6IC0xcHggLTFweCA4cHggcmdiYSg2MSwgODcsIDEwNiwgMC4yMCk7XHJcbn1cclxuXHJcbi5zb2x1dGlvbi1jYXNlLXR5cGluZy1jb250YWluZXIge1xyXG4gICAgbWluLWhlaWdodDogMTUwcHg7XHJcbiAgICBmb250LWZhbWlseTogJ0RJTlByb01lZGl1bSc7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgIGNvbG9yOiAjNDM1NDVGO1xyXG59XHJcblxyXG4jZGF0YSAudGV4dC13cmFwLFxyXG4jb3V0Y29tZXMgLnRleHQtd3JhcCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMzIlO1xyXG59XHJcblxyXG4jb3V0Y29tZXMgLnRleHQtd3JhcCB7XHJcbiAgICB0b3A6IDEzMHB4O1xyXG59XHJcblxyXG4jb3V0Y29tZXMgI291dGNvbWVzLXN2Zy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLXRvcDogLTEwNnB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogLTE7XHJcbn1cclxuXHJcbi5vdXRjb21lLXNlY3Rpb24ge1xyXG4gICAgd2lkdGg6IDY1JTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogMHB4O1xyXG59XHJcblxyXG4ub3V0Y29tZS1zZWN0aW9uIC5vdXRjb21lLWFycm93LW9yaWdpbiB7XHJcbiAgICB3aWR0aDogNjBweDtcclxuICAgIGhlaWdodDogNjBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcblxyXG4ub3V0Y29tZS1zZWN0aW9uIC5vdXRjb21lLWFycm93LW9yaWdpbiAub3V0Y29tZS1hcnJvdy5vbmUsXHJcbi5vdXRjb21lLXNlY3Rpb24gLm91dGNvbWUtYXJyb3ctb3JpZ2luIC5vdXRjb21lLWFycm93LnR3byxcclxuLm91dGNvbWUtc2VjdGlvbiAub3V0Y29tZS1hcnJvdy1vcmlnaW4gLm91dGNvbWUtYXJyb3cudGhyZWUsXHJcbi5vdXRjb21lLXNlY3Rpb24gLm91dGNvbWUtYXJyb3ctb3JpZ2luIC5vdXRjb21lLWFycm93LmZvdXIge1xyXG4gICAgaGVpZ2h0OiA4NnB4O1xyXG4gICAgd2lkdGg6IDBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCA1MDBtcztcclxuICAgIGJvcmRlci10b3A6IDQzcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiA0M3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ub3V0Y29tZS1zZWN0aW9uIC5vdXRjb21lLWFycm93LW9yaWdpbiAub3V0Y29tZS1hcnJvdy5vbmUsXHJcbi5vdXRjb21lLXNlY3Rpb24gLm91dGNvbWUtYXJyb3ctb3JpZ2luIC5vdXRjb21lLWFycm93LnRocmVlIHtcclxuICAgIHJpZ2h0OiA1MCU7XHJcbiAgICBib3JkZXItcmlnaHQ6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xyXG59XHJcblxyXG4ub3V0Y29tZS1zZWN0aW9uIC5vdXRjb21lLWFycm93LW9yaWdpbiAub3V0Y29tZS1hcnJvdy50d28sXHJcbi5vdXRjb21lLXNlY3Rpb24gLm91dGNvbWUtYXJyb3ctb3JpZ2luIC5vdXRjb21lLWFycm93LmZvdXIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XHJcbn1cclxuXHJcbi5vdXRjb21lLXNlY3Rpb24gLm91dGNvbWUtYXJyb3ctb3JpZ2luIC5vdXRjb21lLWFycm93Lm9uZSB7XHJcbiAgICBib3JkZXItbGVmdDogODNweCBzb2xpZCAjRjdENURBO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKSBza2V3WSgtNjRkZWcpO1xyXG59XHJcblxyXG4ub3V0Y29tZS1zZWN0aW9uIC5vdXRjb21lLWFycm93LW9yaWdpbiAub3V0Y29tZS1hcnJvdy50d28ge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiA4M3B4IHNvbGlkICNDMEU3RUY7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHNrZXdZKDY0ZGVnKTtcclxufVxyXG5cclxuLm91dGNvbWUtc2VjdGlvbiAub3V0Y29tZS1hcnJvdy1vcmlnaW4gLm91dGNvbWUtYXJyb3cudGhyZWUge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDgzcHggc29saWQgI0Q0RjZFRTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgc2tld1koLTc1ZGVnKTtcclxufVxyXG5cclxuLm91dGNvbWUtc2VjdGlvbiAub3V0Y29tZS1hcnJvdy1vcmlnaW4gLm91dGNvbWUtYXJyb3cuZm91ciB7XHJcbiAgICBib3JkZXItcmlnaHQ6IDgzcHggc29saWQgI0ZCRTdDMDtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgc2tld1koNzVkZWcpO1xyXG59XHJcblxyXG4ub3V0Y29tZS1zZWN0aW9uLnNob3cgLm91dGNvbWUtYXJyb3ctb3JpZ2luIC5vdXRjb21lLWFycm93Lm9uZSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHNrZXdZKC02NGRlZyk7XHJcbn1cclxuXHJcbi5vdXRjb21lLXNlY3Rpb24uc2hvdyAub3V0Y29tZS1hcnJvdy1vcmlnaW4gLm91dGNvbWUtYXJyb3cudHdvIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgc2tld1koNjRkZWcpO1xyXG59XHJcblxyXG4ub3V0Y29tZS1zZWN0aW9uLnNob3cgLm91dGNvbWUtYXJyb3ctb3JpZ2luIC5vdXRjb21lLWFycm93LnRocmVlIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgc2tld1koLTc1ZGVnKTtcclxufVxyXG5cclxuLm91dGNvbWUtc2VjdGlvbi5zaG93IC5vdXRjb21lLWFycm93LW9yaWdpbiAub3V0Y29tZS1hcnJvdy5mb3VyIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgc2tld1koNzVkZWcpO1xyXG59XHJcblxyXG4ub3V0Y29tZS1zZWN0aW9uIC5vdXRjb21lIHtcclxuICAgIHdpZHRoOiA0MCU7XHJcbiAgICBoZWlnaHQ6IDg2cHg7XHJcbiAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjJweDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDEpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDUwMG1zO1xyXG59XHJcblxyXG4ub3V0Y29tZS1zZWN0aW9uLnNob3cgLm91dGNvbWUge1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogNTAwbXM7XHJcbn1cclxuXHJcbi5vdXRjb21lLXNlY3Rpb24uaGlkZSAub3V0Y29tZSB7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XHJcbn1cclxuXHJcbi5vdXRjb21lLXNlY3Rpb24uaGlkZSAub3V0Y29tZS1hcnJvdyB7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA1MDBtcyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ub3V0Y29tZS1zZWN0aW9uIC5vdXRjb21lLm9uZSxcclxuLm91dGNvbWUtc2VjdGlvbiAub3V0Y29tZS50d28ge1xyXG4gICAgYm90dG9tOiAxOTNweDtcclxufVxyXG5cclxuLm91dGNvbWUtc2VjdGlvbiAub3V0Y29tZS50aHJlZSxcclxuLm91dGNvbWUtc2VjdGlvbiAub3V0Y29tZS5mb3VyIHtcclxuICAgIGJvdHRvbTogNTRweDtcclxufVxyXG5cclxuLm91dGNvbWUtc2VjdGlvbiAub3V0Y29tZS5vbmUsXHJcbi5vdXRjb21lLXNlY3Rpb24gLm91dGNvbWUudGhyZWUge1xyXG4gICAgcGFkZGluZy1yaWdodDogODRweDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XHJcbn1cclxuXHJcbi5vdXRjb21lLXNlY3Rpb24gLm91dGNvbWUudHdvLFxyXG4ub3V0Y29tZS1zZWN0aW9uIC5vdXRjb21lLmZvdXIge1xyXG4gICAgcGFkZGluZy1sZWZ0OiA4NHB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XHJcbn1cclxuXHJcbi5vdXRjb21lLXNlY3Rpb24uc2hvdyAub3V0Y29tZSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xyXG59XHJcblxyXG4ub3V0Y29tZS1zZWN0aW9uIC5vdXRjb21lLm9uZTphZnRlcixcclxuLm91dGNvbWUtc2VjdGlvbiAub3V0Y29tZS50d286YWZ0ZXIsXHJcbi5vdXRjb21lLXNlY3Rpb24gLm91dGNvbWUudGhyZWU6YWZ0ZXIsXHJcbi5vdXRjb21lLXNlY3Rpb24gLm91dGNvbWUuZm91cjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgaGVpZ2h0OiA4NnB4O1xyXG4gICAgd2lkdGg6IDg0cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ub3V0Y29tZS1zZWN0aW9uIC5vdXRjb21lLm9uZTphZnRlcixcclxuLm91dGNvbWUtc2VjdGlvbiAub3V0Y29tZS50aHJlZTphZnRlciB7XHJcbiAgICByaWdodDogMDtcclxufVxyXG5cclxuLm91dGNvbWUtc2VjdGlvbiAub3V0Y29tZS50d286YWZ0ZXIsXHJcbi5vdXRjb21lLXNlY3Rpb24gLm91dGNvbWUuZm91cjphZnRlciB7XHJcbiAgICBsZWZ0OiAwO1xyXG59XHJcblxyXG4ub3V0Y29tZS1zZWN0aW9uIC5vdXRjb21lLm9uZTphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9zdGF0aXN0aWNzLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbi5vdXRjb21lLXNlY3Rpb24gLm91dGNvbWUudHdvOmFmdGVyIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2F1dG9tYXRpb24uc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcclxufVxyXG5cclxuLm91dGNvbWUtc2VjdGlvbiAub3V0Y29tZS50aHJlZTphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9kaXNjb3Zlci1jb25jZXB0LnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbi5vdXRjb21lLXNlY3Rpb24gLm91dGNvbWUuZm91cjphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9kb21haW4tc29sdXRpb25zLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbi5vdXRjb21lLXNlY3Rpb24gLm91dGNvbWUub25lIHtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRUVBNkIyO1xyXG59XHJcblxyXG4ub3V0Y29tZS1zZWN0aW9uIC5vdXRjb21lLnR3byB7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJhY2tncm91bmQ6ICM3QkNEREU7XHJcbn1cclxuXHJcbi5vdXRjb21lLXNlY3Rpb24gLm91dGNvbWUudGhyZWUge1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJhY2tncm91bmQ6ICNBNEVEREM7XHJcbn1cclxuXHJcbi5vdXRjb21lLXNlY3Rpb24gLm91dGNvbWUuZm91ciB7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJhY2tncm91bmQ6ICNGOENDN0I7XHJcbn1cclxuXHJcbi5jaXJjbGVzLnJpcHBsZSAucmlwcGxlLWNpcmNsZXMge1xyXG4gICAgYm90dG9tOiBhdXRvO1xyXG59XHJcblxyXG4ucHJvYmxlbS1kYXJ0LWNpcmNsZSAuY2lyY2xlcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgaGVpZ2h0OiA1MCU7XHJcbiAgICBtYXJnaW4tdG9wOjVweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5jaXJjbGVzLnJpcHBsZSAucmlwcGxlLWNpcmNsZXMge1xyXG4gICAgYm90dG9tOiBhdXRvO1xyXG59XHJcblxyXG4ucHJvYmxlbS1kYXJ0LWNpcmNsZSAubGFiZWwtZ3JhZGllbnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiA4JTtcclxuICAgIHRvcDogMTJweDtcclxuICAgIHJpZ2h0OiA4JTtcclxuICAgIGhlaWdodDogMzZweDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZTlhMWE5O1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2U5YTFhOSAwJSwgI2ZmZmZmZiA1MCUsICNjOGU2Y2UgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZTlhMWE5IDAlLCAjZmZmZmZmIDUwJSwgI2M4ZTZjZSAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2U5YTFhOSAwJSwgI2ZmZmZmZiA1MCUsICNjOGU2Y2UgMTAwJSk7XHJcbiAgICBmaWx0ZXI6IHByb2dpZDogRFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNlOWExYTknLCBlbmRDb2xvcnN0cj0nI2M4ZTZjZScsIEdyYWRpZW50VHlwZT0xKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAzMDBtcztcclxufVxyXG5cclxuLnByb2JsZW0tZGFydC1jaXJjbGUgLmxhYmVsLWdyYWRpZW50OmJlZm9yZSxcclxuLnByb2JsZW0tZGFydC1jaXJjbGUgLmxhYmVsLWdyYWRpZW50OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgODAwbXM7XHJcbn1cclxuXHJcbi5wcm9ibGVtLWRhcnQtY2lyY2xlIC5sYWJlbC1ncmFkaWVudDpiZWZvcmUge1xyXG4gICAgbGVmdDogMDtcclxufVxyXG5cclxuLnByb2JsZW0tZGFydC1jaXJjbGUgLmxhYmVsLWdyYWRpZW50OmFmdGVyIHtcclxuICAgIHJpZ2h0OiAwO1xyXG59XHJcblxyXG4ucHJvYmxlbS1kYXJ0LWNpcmNsZSAubGFiZWwtZ3JhZGllbnQgc3BhbiB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGNvbG9yOiAjMjkyOTI5O1xyXG59XHJcblxyXG4ucHJvYmxlbS1kYXJ0LWNpcmNsZSAubGFiZWwtZ3JhZGllbnQgc3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDcwcHg7XHJcbn1cclxuXHJcbi5wcm9ibGVtLWRhcnQtY2lyY2xlIC5sYWJlbC1ncmFkaWVudCBzcGFuOmxhc3QtY2hpbGQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiA3MHB4O1xyXG59XHJcblxyXG4ucHJvYmxlbS1kYXJ0LWNpcmNsZSAubGFiZWwtZ3JhZGllbnQgc3BhbjpsYXN0LWNoaWxkIHN0cm9uZyB7XHJcbiAgICBmb250LWZhbWlseTogJ0RJTlByb01lZGl1bScsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbi5wcm9ibGVtLWRhcnQtY2lyY2xlIC5sYWJlbC1ncmFkaWVudCBzcGFuOmxhc3QtY2hpbGQgc3Ryb25nOmZpcnN0LWNoaWxkIHtcclxuICAgIGNvbG9yOiAjMUU4M0E4O1xyXG59XHJcblxyXG4ucHJvYmxlbS1kYXJ0LWNpcmNsZSAubGFiZWwtZ3JhZGllbnQgc3BhbjpsYXN0LWNoaWxkIHN0cm9uZzpsYXN0LWNoaWxkIHtcclxuICAgIGNvbG9yOiAjQkEzRjNGO1xyXG59XHJcblxyXG4ucHJvYmxlbS1kYXJ0LWNpcmNsZSAuY2lyY2xlcyAubGluZXMge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogOCU7XHJcbiAgICByaWdodDogOCU7XHJcbiAgICB0b3A6IDEycHg7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4ucHJvYmxlbS1kYXJ0LWNpcmNsZSAuY2lyY2xlcyAubGluZXMgLmxlZnQtbGluZSxcclxuLnByb2JsZW0tZGFydC1jaXJjbGUgLmNpcmNsZXMgLmxpbmVzIC5yaWdodC1saW5lIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTZweDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDNkNFRDM7XHJcbiAgICB3aWR0aDogNTBweDtcclxufVxyXG5cclxuLnByb2JsZW0tZGFydC1jaXJjbGUgLmNpcmNsZXMgLmxpbmVzIC5sZWZ0LWxpbmUge1xyXG4gICAgbGVmdDogLTUwcHg7XHJcbiAgICBib3JkZXItcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5wcm9ibGVtLWRhcnQtY2lyY2xlIC5jaXJjbGVzIC5saW5lcyAucmlnaHQtbGluZSB7XHJcbiAgICByaWdodDogLTUwcHg7XHJcbiAgICBib3JkZXItbGVmdDogMDtcclxufVxyXG5cclxuLnByb2JsZW0tZGFydC1jaXJjbGUgLmNpcmNsZXMgLmxpbmVzIC5sZWZ0LWxpbmU6YWZ0ZXIsXHJcbi5wcm9ibGVtLWRhcnQtY2lyY2xlIC5jaXJjbGVzIC5saW5lcyAucmlnaHQtbGluZTphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XHJcbiAgICBoZWlnaHQ6IDE4MHB4O1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4ucHJvYmxlbS1kYXJ0LWNpcmNsZSAuY2lyY2xlcyAubGluZXMgLmxlZnQtbGluZTphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9sZWZ0LWxhYmVsLnN2ZykgbGVmdCBjZW50ZXIgbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbiAgICBsZWZ0OiA2MHB4O1xyXG59XHJcblxyXG4ucHJvYmxlbS1kYXJ0LWNpcmNsZSAuY2lyY2xlcyAubGluZXMgLnJpZ2h0LWxpbmU6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvcmlnaHQtbGFiZWwuc3ZnKSBsZWZ0IGNlbnRlciBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxuICAgIHJpZ2h0OiA2MHB4O1xyXG59XHJcblxyXG4ucHJvYmxlbS1kYXJ0LWNpcmNsZSAuY2lyY2xlcyAubGluZXMgLmxlZnQtbGluZTpiZWZvcmUsXHJcbi5wcm9ibGVtLWRhcnQtY2lyY2xlIC5jaXJjbGVzIC5saW5lcyAucmlnaHQtbGluZTpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaGVpZ2h0OiAxMDYlO1xyXG4gICAgd2lkdGg6IDEwNSU7XHJcbiAgICBib3R0b206IC0ycHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgODAwbXM7XHJcbn1cclxuXHJcbi5wcm9ibGVtLWRhcnQtY2lyY2xlIC5jaXJjbGVzIC5saW5lcyAubGVmdC1saW5lOmJlZm9yZSB7XHJcbiAgICBsZWZ0OiAtMnB4O1xyXG59XHJcblxyXG4ucHJvYmxlbS1kYXJ0LWNpcmNsZSAuY2lyY2xlcyAubGluZXMgLnJpZ2h0LWxpbmU6YmVmb3JlIHtcclxuICAgIHJpZ2h0OiAtMnB4O1xyXG59XHJcblxyXG4ucHJvYmxlbS1kYXJ0LWNpcmNsZSAuY2lyY2xlcyAucmlwcGxlLWNpcmNsZXMge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIGhlaWdodDo2MnB4O1xyXG4gICAgd2lkdGg6NjJweDtcclxuICAgIGJvcmRlcjojRkZGIDFweCBzb2xpZDtcclxuICAgIGJveC1zaGFkb3c6MCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbn1cclxuXHJcblxyXG4vKiBBbmltYXRpb24gKi9cclxuXHJcbi5wcm9ibGVtLWRhcnQtY2lyY2xlIC5jaXJjbGVzLmluIC5yaXBwbGUtY2lyY2xlcyxcclxuLnByb2JsZW0tZGFydC1jaXJjbGUgLmNpcmNsZXMuaW4gLmxhYmVsLWdyYWRpZW50IHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgMzAwbXM7XHJcbn1cclxuXHJcbi5wcm9ibGVtLWRhcnQtY2lyY2xlIC5jaXJjbGVzLmluIC5sYWJlbC1ncmFkaWVudDpiZWZvcmUsXHJcbi5wcm9ibGVtLWRhcnQtY2lyY2xlIC5jaXJjbGVzLmluIC5sYWJlbC1ncmFkaWVudDphZnRlciB7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCA0MDBtcztcclxufVxyXG5cclxuLnByb2JsZW0tZGFydC1jaXJjbGUgLmNpcmNsZXMuaW4gLmxpbmVzIC5sZWZ0LWxpbmU6YmVmb3JlLFxyXG4ucHJvYmxlbS1kYXJ0LWNpcmNsZSAuY2lyY2xlcy5pbiAubGluZXMgLnJpZ2h0LWxpbmU6YmVmb3JlIHtcclxuICAgIGhlaWdodDogMXB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDUwMG1zO1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogNTAwbXM7XHJcbn1cclxuXHJcbi5wcm9ibGVtLWRhcnQtY2lyY2xlIC5jaXJjbGVzLmluIC5saW5lcyAubGVmdC1saW5lOmFmdGVyLFxyXG4ucHJvYmxlbS1kYXJ0LWNpcmNsZSAuY2lyY2xlcy5pbiAubGluZXMgLnJpZ2h0LWxpbmU6YWZ0ZXIge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAzMDBtcztcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEwMDBtcztcclxufVxyXG5cclxuXHJcbi8qIFNPbHV0aW9uICovXHJcblxyXG4uc29sdXRpb24tcmlwcGxlLWNpcmNsZXMucmlwcGxlIC5yaXBwbGUtY2lyY2xlcyB7XHJcbiAgICByaWdodDogYXV0bztcclxuICAgIGJvdHRvbTogYXV0bztcclxuICAgIHRvcDogMTBweDtcclxuICAgIGxlZnQ6IDEycHg7XHJcbn1cclxuXHJcbi5kYXRhLXNlY3Rpb24taHRtbC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtMTYwcHg7XHJcbiAgICB3aWR0aDogNTAwcHg7XHJcbn1cclxuXHJcblxyXG4vKiAucHJvYmxlbS1kYXJ0LWNpcmNsZSAucmlwcGxlIC5yaXBwbGUtY2lyY2xlcyBpOm50aC1jaGlsZCg1KSxcclxuLnByb2JsZW0tZGFydC1jaXJjbGUgLnJpcHBsZSAucmlwcGxlLWNpcmNsZXMgaTpudGgtY2hpbGQoNiksXHJcbi5wcm9ibGVtLWRhcnQtY2lyY2xlIC5yaXBwbGUgLnJpcHBsZS1jaXJjbGVzIGk6bnRoLWNoaWxkKDcpLFxyXG4uc29sdXRpb24tcmlwcGxlLWNpcmNsZXMucmlwcGxlIC5yaXBwbGUtY2lyY2xlcyBpOm50aC1jaGlsZCg1KSxcclxuLnNvbHV0aW9uLXJpcHBsZS1jaXJjbGVzLnJpcHBsZSAucmlwcGxlLWNpcmNsZXMgaTpudGgtY2hpbGQoNiksXHJcbi5zb2x1dGlvbi1yaXBwbGUtY2lyY2xlcy5yaXBwbGUgLnJpcHBsZS1jaXJjbGVzIGk6bnRoLWNoaWxkKDcpe1xyXG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogNjsgIFxyXG59ICovIl19 */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Insights

\\r\\n

ZS with its vast domain experience uses a mix of open source and commercially available services to create comprehensive NLP pipelines that process the data, cleanse and extract features that are machine understandable\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Solution

\\r\\n

ZS uses a veriety of techniques such as fine-tuning of word representations, weak supervision to handle limited training data and pre-existing medical ontologies to train and supplement the models for domain adaptation.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

Outcomes

\\r\\n

ZS's NLP capabilities are focused on creating practical impact to businesses by providing decision support in Marketing, Sales and R & D strategies through use of advanced analytics and emerging unstructured data sources

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import {\r\n Component, OnInit, ViewChild, ElementRef, Output, EventEmitter,\r\n Renderer2, AfterContentInit, OnDestroy, ViewEncapsulation, DoCheck\r\n} from '@angular/core';\r\nimport _ from 'lodash';\r\n\r\nimport jsonData from './data.json';\r\nimport { style } from '@angular/animations';\r\nimport { GoogleAnalyticsService } from 'src/app/services/google-analytics.service';\r\n\r\ndeclare const d3: any;\r\n\r\n@Component({\r\n selector: 'app-nlp-buisness-view-new',\r\n templateUrl: './nlp-buisness-view-new.component.html',\r\n styleUrls: ['./nlp-buisness-view-new.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class NlpBuisnessViewNewComponent implements OnInit, DoCheck, AfterContentInit, OnDestroy {\r\n\r\n @ViewChild('container') container: ElementRef;\r\n @ViewChild('content') content: ElementRef;\r\n // tslint:disable-next-line: no-output-on-prefix\r\n @Output() public onVisibleSectionChange = new EventEmitter();\r\n // tslint:disable-next-line: no-output-on-prefix\r\n @Output() public onLoad = new EventEmitter();\r\n\r\n private sectionDimention: any;\r\n private problemSection = null;\r\n private dataSection = null;\r\n private solutionSection = null;\r\n private outcomesSection = null;\r\n private unsubscribeResize = null;\r\n private unsubscribeAnimationFrame = null;\r\n private unsubscribeTypingAnimation = null;\r\n private solutionContainer = { ele: null, scrollHeight: 0, top: 0 };\r\n private colors = ['#C94C64', '#4367B2', '#1DA1F2', '#C565C9', '#50D19A', '#C9B14C'];\r\n private _lastHeight: number ;\r\n\r\n\r\n data_problem_circle_wall = [65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65];\r\n structureData = [];\r\n constructor(private renderer: Renderer2, private _gaService: GoogleAnalyticsService) { }\r\n\r\n ngDoCheck(): void {\r\n const scrollWindowHeight = document.getElementById('scroll-container').offsetHeight;\r\n if (this._lastHeight !== scrollWindowHeight) {\r\n this._lastHeight = scrollWindowHeight;\r\n this.calculateScaleAndDomain();\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n document.getElementById('bubble-wrap-show').className += ' show';\r\n this.calculateScaleAndDomain();\r\n this.unsubscribeResize = this.renderer.listen(window, 'resize', _.debounce(() => {\r\n this.problemSection.resize();\r\n this.dataSection.resize();\r\n this.solutionSection.resize();\r\n this.outcomesSection.resize();\r\n this.calculateScaleAndDomain();\r\n }, 700));\r\n }\r\n\r\n private calulateHeightAndTop(obj, main) {\r\n obj.top = obj.ele.offsetTop - main.top;\r\n obj.scrollHeight = obj.ele.offsetHeight - main.height;\r\n }\r\n private calculateScaleAndDomain() {\r\n const main = d3.select('#scroll-container').node(0).getBoundingClientRect();\r\n\r\n this.solutionContainer.ele = d3.select('#solution').node(0);\r\n this.solutionContainer.ele.style.height = (main.height * 4 + 'px');\r\n // d3.select('#solution-txt-one').style('top', `${main.height}px`);\r\n // d3.select('#solution-txt-two').style('top', `${main.height * 2}px`);\r\n // d3.select('#solution-txt-three').style('top', `${main.height * 3}px`);\r\n this.calulateHeightAndTop(this.solutionContainer, main);\r\n\r\n const problem = d3.select('#problem').node(0).getBoundingClientRect();\r\n const data = d3.select('#data').node(0).getBoundingClientRect();\r\n const solution = d3.select('#solution').node(0).getBoundingClientRect();\r\n const outcomes = d3.select('#outcomes').node(0).getBoundingClientRect();\r\n const halfViewPort = main.height / 2;\r\n const size: any = {};\r\n size.problem = {\r\n top: 0,\r\n bottom: problem.height,\r\n scrollStart: 0,\r\n scrollLeave: problem.height - main.height,\r\n scrollEnd: problem.height\r\n };\r\n size.data = {\r\n top: size.problem.bottom + 1,\r\n bottom: size.problem.bottom + data.height,\r\n scrollStart: size.problem.bottom + 1,\r\n scrollLeave: (size.problem.bottom + data.height - main.height),\r\n scrollEnd: (size.problem.bottom + data.height)\r\n };\r\n size.solution = {\r\n top: size.data.bottom + 1,\r\n bottom: size.data.bottom + solution.height,\r\n scrollStart: size.data.bottom + 1,\r\n scrollLeave: (size.data.bottom + solution.height - main.height),\r\n scrollEnd: (size.data.bottom + solution.height)\r\n };\r\n size.outcomes = {\r\n top: size.solution.bottom + 1,\r\n bottom: size.solution.bottom + outcomes.height,\r\n scrollStart: size.solution.bottom + 1,\r\n scrollLeave: (size.solution.bottom + outcomes.height - main.height),\r\n scrollEnd: (size.solution.bottom + outcomes.height - main.height)\r\n };\r\n this.sectionDimention = size;\r\n this.problemSection.setScaleDomain(size.problem.scrollStart, size.problem.scrollLeave, size.problem.scrollEnd);\r\n this.dataSection.setScaleDomain(size.problem.scrollLeave, size.data.scrollLeave, size.data.scrollEnd, halfViewPort);\r\n this.solutionSection.setScaleDomain((size.data.scrollLeave + halfViewPort), size.solution.scrollLeave, size.solution.scrollEnd, halfViewPort);\r\n this.outcomesSection.setScaleDomain((size.solution.scrollLeave + main.height / 4), size.outcomes.scrollLeave, size.outcomes.scrollEnd);\r\n }\r\n ngOnInit() {\r\n this.onLoad.emit({\r\n sections: [\r\n {\r\n 'name': 'Problem'\r\n },\r\n {\r\n 'name': 'Insights'\r\n },\r\n {\r\n 'name': 'Solution'\r\n },\r\n {\r\n 'name': 'Outcomes'\r\n }\r\n ]\r\n });\r\n this.renderStory();\r\n }\r\n\r\n private renderStory() {\r\n let _scrollTop = 0;\r\n let _newScrollTop = 0;\r\n const that = this;\r\n d3.select('#scroll-container').on('scroll.scroller', function () {\r\n _newScrollTop = d3.select(this).node(0).scrollTop;\r\n // console.log(_newScrollTop);\r\n if (_newScrollTop >= that.solutionContainer.top\r\n && _newScrollTop < (that.solutionContainer.top + that.solutionContainer.scrollHeight)) {\r\n // console.log('sticky Class', _newScrollTop);\r\n that.renderer.addClass(that.solutionContainer.ele, 'stick');\r\n } else {\r\n that.renderer.removeClass(that.solutionContainer.ele, 'stick');\r\n }\r\n });\r\n this.problemSection = this.initProblemSection('problem');\r\n this.dataSection = this.initDataSection('data');\r\n this.solutionSection = this.initSolutionSection('solution-svg-container');\r\n this.outcomesSection = this.initOutcomesSection('outcomes-svg-container');\r\n\r\n /**\r\n * Render function\r\n * This function is recurcive function and called to show animation on every scroll change.\r\n */\r\n const render = () => {\r\n if (_scrollTop !== _newScrollTop) {\r\n _scrollTop = _newScrollTop;\r\n\r\n if (this.sectionDimention.problem.scrollStart <= _scrollTop\r\n && _scrollTop < this.sectionDimention.problem.scrollEnd + 100) {\r\n this.problemSection.startAnimation(_scrollTop);\r\n }\r\n if ((this.sectionDimention.problem.scrollLeave) < _scrollTop\r\n && _scrollTop < (this.sectionDimention.data.scrollEnd + 100)) {\r\n this.dataSection.startAnimation(_scrollTop);\r\n }\r\n if ((this.sectionDimention.data.scrollLeave) < _scrollTop\r\n && _scrollTop <= (this.sectionDimention.solution.scrollEnd + 100)) {\r\n this.solutionSection.startAnimation(_scrollTop);\r\n }\r\n if ((this.sectionDimention.solution.scrollLeave) < _scrollTop) {\r\n this.outcomesSection.startAnimation(_scrollTop);\r\n }\r\n }\r\n window.cancelAnimationFrame(this.unsubscribeAnimationFrame);\r\n this.unsubscribeAnimationFrame = window.requestAnimationFrame(render);\r\n };\r\n this.unsubscribeAnimationFrame = window.requestAnimationFrame(render);\r\n }\r\n\r\n\r\n private drawSymbolWall(rowCount, symbolPerRow, xAxis, svg) {\r\n const arc = d3.svg.symbol().type('square').size(36);\r\n const symbolData = [];\r\n const ids = _.shuffle(d3.range(symbolPerRow * rowCount));\r\n d3.range(rowCount).forEach((v, ind) => {\r\n d3.range(symbolPerRow).forEach((d, i) => {\r\n function color() {\r\n if (symbolPerRow === 50) {\r\n const t = getRandomIntInclusive(0, 10);\r\n if (t > 0) {\r\n return '#adacad';\r\n } else {\r\n return this.colors[getRandomIntInclusive(0, 5)];\r\n }\r\n } else if (ind >= 0 && ind <= 6) { return '#50d199'; } else if (ind >= 7 && ind <= 12) { return '#c8b14c'; } else if (ind >= 13 && ind <= 19) { return '#c565c9'; }\r\n\r\n }\r\n const randomVal = getRandomIntInclusive(0, 50);\r\n const size = 2.5;\r\n const finalY = 510;\r\n symbolData.push({\r\n x: (8 * i),\r\n y: (ind * 8),\r\n color: color(),\r\n id: 'data_symbol_wall_' + symbolPerRow + '_' + ids[((symbolPerRow * ind) + i)],\r\n opacity: 0,\r\n idCount: ids[(symbolPerRow * ind) + i],\r\n finalX: symbolPerRow === 17 ? getRandomIntInclusive(-345, 170) : getRandomIntInclusive(750, 1000),\r\n finalY: getRandomIntInclusive(494, 950),\r\n finalHideOn: finalY - (size * 10),\r\n ang: getRandomIntInclusive(0, 270),\r\n randomData: symbolPerRow === 17 ? (randomVal < 10 ? true : false) : (randomVal < 5 ? true : false),\r\n randomOpacity: getRandomArbitrary(0.2, 1),\r\n size// 2\r\n });\r\n });\r\n });\r\n const wallSymbol = svg.append('g')\r\n .attr('transform', 'translate(' + xAxis + ',' + 700 + ')')\r\n .selectAll('.wallSymbol')\r\n .data(symbolData)\r\n .enter()\r\n .append('path')\r\n .attr('d', arc)\r\n .attr('stroke-width', 1)\r\n .each(function (d) {\r\n d3.select(this)\r\n .attr('d', arc)\r\n .attr('fill', d.color)\r\n .attr('stroke-width', 1)\r\n .attr('transform', 'translate(' + d.x + ',' + d.y + ')')\r\n .attr('class', 'wallSymbol')\r\n .attr('id', d.id)\r\n .style('opacity', d.opacity);\r\n });\r\n const textXaxis = symbolPerRow === 17 ? xAxis : (xAxis + 300);\r\n const wallText = svg.append('g')\r\n .append('foreignObject')\r\n .attr({\r\n 'x': 0,\r\n 'y': 0,\r\n 'width': '100',\r\n 'height': '20'\r\n })\r\n .html(symbolPerRow === 50 ? 'VOLUME OF DATA' : 'QUALITY OF DATA')\r\n .attr('transform', 'translate(' + textXaxis + ',' + 677 + ')');\r\n return {\r\n symbol: wallSymbol\r\n };\r\n }\r\n\r\n private responsivefy(svg, isHeightNotToUpdate = false) {\r\n const container = d3.select(svg.node().parentNode);\r\n const width = parseInt(svg.attr('width'), 10);\r\n const height = parseInt(svg.attr('height'), 10);\r\n const aspect = width / height;\r\n\r\n // get width of container and resize svg to fit it\r\n const resize = () => {\r\n const targetWidth = parseInt(container.style('width'), 10);\r\n svg.attr('width', targetWidth);\r\n let targetHeight = targetWidth / aspect;\r\n if (isHeightNotToUpdate) {\r\n // Set Container Height as is.\r\n targetHeight = container.node().getBoundingClientRect().height;\r\n }\r\n svg.attr('height', Math.round(targetHeight));\r\n return {\r\n widthAspect: targetWidth / width,\r\n heightAspect: targetHeight / height\r\n };\r\n };\r\n svg.attr('viewBox', '0 0 ' + width + ' ' + height)\r\n .attr('perserveAspectRatio', 'xMinYMid')\r\n .call(resize);\r\n\r\n return {\r\n resize,\r\n widthAspect: parseInt(svg.style('width'), 10) / width,\r\n heightAspect: parseInt(svg.style('height'), 10) / height\r\n };\r\n }\r\n\r\n private initProblemSection(containerId) {\r\n\r\n const container = d3.select('#' + containerId);\r\n const WIDTH = 1280 || container.node().clientWidth || container.node().offsetWidth;\r\n const HEIGHT_OFFSET = 1280 / 1280;\r\n const marginBottom = -20;\r\n const HEIGHT = WIDTH * HEIGHT_OFFSET;\r\n const svg = container.append('svg')\r\n .attr({\r\n width: WIDTH,\r\n height: HEIGHT\r\n });\r\n const { resize, heightAspect, widthAspect } = this.responsivefy(svg);\r\n\r\n const problemDataTypes = svg.append('g').attr({\r\n id: 'svg-problem-data-types',\r\n class: 'svg-problem-data-types',\r\n transform: 'translate(0, 800)'\r\n })\r\n .style('opacity', 0);\r\n\r\n const problemBannerGroup = svg.append('g')\r\n .attr({\r\n id: 'svg-problem-data',\r\n class: 'svg-problem-data'\r\n });\r\n problemBannerGroup.append('g')\r\n .append('foreignObject')\r\n .attr({\r\n 'x': 0,\r\n 'y': 0,\r\n 'width': WIDTH,\r\n 'height': HEIGHT\r\n })\r\n .html(`\r\n
\r\n

Unstructured Data

\r\n

Around 90% of healthcare data is unstructured

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
6 months trastuzumab works as well as
\r\n 12 months with less cardiac toxicity
\r\n
You did a nice job today, the presentation
\r\n was high level yet balanced to larger groups
\r\n
For treating PSA, dermatology clinicians are
\r\n interested in the newer MOA agents, such as IL-17
\r\n
Hormone-sensitive prostate cancer as evident
\r\n by a testosterone level > 150 ng /dL at the time of
\r\n enrolment within 4 weeks prior to randomization
\r\n
I typically treat a lot of metastatic Urothelial
\r\n Carcinoma patients with PD-L1 agents
\r\n
I am calling to check if 50 ml this week is
\r\n fine as I am travelling over the weekend
\r\n
not working” Doctor: “I am going to add on
\r\n a oral medication in addition to Benlysta
\r\n
\r\n
`);\r\n\r\n const bgnodes = [];\r\n const mainNodes = jsonData.data_problem_raw;\r\n for (let i = 0; i < 12; i++) {\r\n for (let j = 0; j < 30; j++) {\r\n const d = {\r\n x: (j * getRandomIntInclusive(40, 45)),\r\n y: (i * getRandomIntInclusive(40, 45)) + 20,\r\n finalX: 640,\r\n finalY: 650,\r\n fx: getRandomIntInclusive(260, 1030),\r\n fyStart: 690,\r\n fy: getRandomIntInclusive(820, 900),\r\n ang: getRandomIntInclusive(-270, 270),\r\n size: (Math.random() * 4) + 1,\r\n id: `problem_square_${i}_${j}`,\r\n opacity: 0.09,\r\n finalOpacity: _.random(0.2, 1.0),\r\n color: this.colors[getRandomIntInclusive(0, this.colors.length - 1)]\r\n };\r\n bgnodes.push(d);\r\n }\r\n }\r\n const bgSquareNodes = problemBannerGroup.selectAll('.bgsquare')\r\n .data(bgnodes)\r\n .enter()\r\n .append('g')\r\n .each(function (d, i) {\r\n d3.select(this)\r\n .attr({\r\n 'class': () => {\r\n let c = 'notToAnimate';\r\n if (getRandomIntInclusive(0, 4) === 0) {\r\n d.animate = true;\r\n c = 'toAnimate';\r\n }\r\n return `bgsquare ${c}`;\r\n },\r\n 'id': d.id,\r\n 'transform': `translate(${d.x}, ${d.y}) rotate(${d.ang}) scale(${d.size})`\r\n })\r\n .style({\r\n 'opacity': d.opacity\r\n })\r\n .append('path')\r\n .attr({\r\n 'd': () => d3.svg.symbol().type('square').size(36)(),\r\n 'class': 'vibrate-animation'\r\n })\r\n .style({\r\n 'fill': d.color\r\n });\r\n });\r\n const squareNodes = problemBannerGroup.selectAll('.square')\r\n .data(mainNodes)\r\n .enter()\r\n .append('g')\r\n .each(function (d, i) {\r\n d.finalX = 640; // 100 + (getRandomIntInclusive(0, 60) * 8);\r\n d.finalY = 650; // 700 + (getRandomIntInclusive(0, 18) * 8);\r\n d.scale = getRandomIntInclusive(5, 10);\r\n const size = 6;\r\n d3.select(this)\r\n .attr({\r\n 'class': 'square toAnimate',\r\n 'transform': `translate(${d.x}, ${d.y}) scale(${d.scale})`\r\n })\r\n .style('opacity', d.opacity)\r\n .append('g')\r\n .attr('class', 'vibrate-animation-slow');\r\n d3.select(this).select('g')\r\n .append('rect')\r\n .attr({\r\n height: size,\r\n width: size\r\n })\r\n .style({\r\n 'opacity': 0.5,\r\n 'fill': d.fill\r\n });\r\n d3.select(this).select('g')\r\n .append('image')\r\n .attr({\r\n 'xlink:href': d.d,\r\n 'width': size - 1,\r\n 'height': size - 1,\r\n 'transform': 'translate(.5, .5)'\r\n });\r\n });\r\n\r\n const dart = svg.append('g')\r\n .attr({\r\n id: 'problem-dart-circle',\r\n class: 'problem-dart-circle',\r\n 'transform': `translate(0, 640)`\r\n }).append('g')\r\n .append('foreignObject')\r\n .attr({\r\n 'x': 0,\r\n 'y': 0,\r\n 'width': WIDTH,\r\n 'height': 556\r\n })\r\n .html(`\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Extracting and filtering the information\r\n Categorised on Intent and Complexity\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
`)\r\n ;\r\n // this.generateDart(dart);\r\n\r\n const socialDataGroup = problemDataTypes.append('g')\r\n .attr({\r\n id: 'svg-problem-data-social',\r\n class: 'svg-problem-data-social',\r\n transform: 'translate(300, 0)'\r\n });\r\n socialDataGroup\r\n .append('image')\r\n .attr({\r\n 'xlink:href': jsonData.problem_section_images[0].socialBgImage,\r\n height: 250,\r\n width: 250,\r\n transform: 'translate(-125,-5)'\r\n });\r\n\r\n socialDataGroup.append('text')\r\n .text('SOCIAL')\r\n .attr({ transform: 'translate(-60,50)rotate(-45)' })\r\n .attr('font-size', '15px')\r\n .style({\r\n 'text-anchor': 'middle',\r\n 'fill': '#3E3E3E',\r\n 'opacity': 1,\r\n });\r\n const symbolSocialData = this.drawBigDimond('problem-social', 13, 18, () => '#ffffff', (ln, n) => {\r\n if ((ln === 2) || (ln === 4) || (ln === 6 && (n % 3 === 0)) || (ln === 8 && (n % 4 === 0))) {\r\n return 0;\r\n } else {\r\n return 0.3;\r\n }\r\n });\r\n const problemSocialSquareSymbol = socialDataGroup.selectAll('.proclem-social-squareSymbol')\r\n .data(symbolSocialData)\r\n .enter()\r\n .append('path')\r\n .attr({\r\n 'id': d => d.id,\r\n 'd': d3.svg.symbol().type('square').size(100),\r\n 'stroke-width': 1,\r\n 'class': 'proclem-social-squareSymbol',\r\n 'fill': d => {\r\n d.finalX = 328;\r\n d.finalY = 470;\r\n d.finalColor = this.colors[getRandomIntInclusive(0, this.colors.length - 1)];\r\n d.isRemove = (getRandomIntInclusive(0, 4) === 0) ? true : false;\r\n d.ang = getRandomIntInclusive(1, 89);\r\n return d.color;\r\n },\r\n 'transform': d => `translate(${d.x}, ${d.y + getRandomArbitrary(2, 10)}) rotate(${d.ang})`\r\n })\r\n .style('opacity', 0);\r\n\r\n\r\n const medicalDataGroup = problemDataTypes.append('g')\r\n .attr({\r\n id: 'svg-problem-data-medical',\r\n class: 'svg-problem-data-medical',\r\n transform: 'translate(590, -25)'\r\n });\r\n medicalDataGroup\r\n .append('image')\r\n .attr({\r\n 'xlink:href': jsonData.problem_section_images[1].medicalImage,\r\n height: 300,\r\n width: 300,\r\n transform: 'translate(-150,-7)'\r\n });\r\n\r\n medicalDataGroup.append('text')\r\n .text('MEDICAL CONVERSATION')\r\n .attr({ transform: 'translate(-80,65)rotate(-45)' })\r\n .attr('font-size', '15px')\r\n .style({\r\n 'text-anchor': 'middle',\r\n 'fill': '#3E3E3E',\r\n 'opacity': 1,\r\n // 'font-weight': 'bold'\r\n });\r\n\r\n\r\n const symbolMedicalData = this.drawBigDimond('problem-medical', 14, 20, () => '#ffffff', (ln, n) => {\r\n if ((ln % 5 === 0 && n % 2 === 0) || (ln % 3 === 0 && n % 3 === 0) || (ln % 2 === 0 && n % 2 === 0)) {\r\n return 0;\r\n } else {\r\n return 0.3;\r\n }\r\n });\r\n const problemMedicalSquareSymbol = medicalDataGroup.selectAll('.problem-medical-squareSymbol')\r\n .data(symbolMedicalData)\r\n .enter()\r\n .append('path')\r\n .attr({\r\n 'id': d => d.id,\r\n 'd': d3.svg.symbol().type('square').size(100),\r\n 'stroke-width': 1,\r\n 'class': 'problem-medical-squareSymbol',\r\n 'fill': d => {\r\n d.finalX = 38;\r\n d.finalY = 495;\r\n d.finalColor = this.colors[getRandomIntInclusive(0, this.colors.length - 1)];\r\n d.isRemove = (getRandomIntInclusive(0, 4) === 0) ? true : false;\r\n d.ang = getRandomIntInclusive(1, 89);\r\n return d.color;\r\n },\r\n 'transform': d => `translate(${d.x}, ${d.y + getRandomArbitrary(2, 6)}) rotate(${d.ang})`\r\n })\r\n .style('opacity', 0);\r\n\r\n const researchDataGroup = problemDataTypes.append('g')\r\n .attr({\r\n id: 'svg-problem-data-research',\r\n class: 'svg-problem-data-research',\r\n transform: 'translate(940, -60)'\r\n });\r\n researchDataGroup\r\n .append('image')\r\n .attr({\r\n 'xlink:href': jsonData.problem_section_images[2].researchImage,\r\n height: 370,\r\n width: 370,\r\n transform: 'translate(-185,-8)'\r\n });\r\n\r\n researchDataGroup.append('text')\r\n .text('RESEARCH PUBLICATIONS')\r\n .attr({ transform: 'translate(-100,85)rotate(-45)' })\r\n .attr('font-size', '15px')\r\n .style({\r\n 'text-anchor': 'middle',\r\n 'fill': '#3E3E3E',\r\n 'opacity': 1,\r\n // 'font-weight': 'bold'\r\n });\r\n\r\n const symbolResearchData = this.drawBigDimond('problem-research', 19, 18, () => '#ffffff', (ln, n) => {\r\n if ((ln === 2) || (ln === 4) || (ln === 6 && (n % 2 === 0))) {\r\n return 0;\r\n } else {\r\n return 0.3;\r\n }\r\n });\r\n const problemResearchSquareSymbol = researchDataGroup.selectAll('.problem-research-squareSymbol')\r\n .data(symbolResearchData)\r\n .enter()\r\n .append('path')\r\n .attr({\r\n 'id': d => d.id,\r\n 'd': d3.svg.symbol().type('square').size(100),\r\n 'stroke-width': 1,\r\n 'class': 'problem-research-squareSymbol',\r\n 'fill': d => {\r\n d.finalX = -313;\r\n d.finalY = 530;\r\n d.finalColor = this.colors[getRandomIntInclusive(0, this.colors.length - 1)];\r\n d.isRemove = (getRandomIntInclusive(0, 4) === 0) ? true : false;\r\n d.ang = getRandomIntInclusive(1, 89);\r\n return d.color;\r\n },\r\n 'transform': d => `translate(${d.x}, ${d.y + getRandomArbitrary(4, 10)}) rotate(${d.ang})`\r\n })\r\n .style('opacity', 0);\r\n\r\n const imageColor = ['#909090', '#1e83a8'];\r\n const imagesdata = jsonData.data_problem_images;\r\n imagesdata.forEach((element: any, i) => {\r\n element.count = imagesdata.length;\r\n\r\n });\r\n\r\n\r\n const ids = _.shuffle(d3.range(imagesdata.length));\r\n const icon = svg.selectAll('.pathImages')\r\n .data(imagesdata)\r\n .enter()\r\n .append('g')\r\n .each(function (d, i) {\r\n d.scale = i>=0 && i<7 ? getRandomArbitrary(3.5, 5):i>=7 && i<=10?getRandomArbitrary(5, 6) : getRandomArbitrary(6,7.5);\r\n d.rotate = getRandomIntInclusive(0, 45);\r\n const size = 6;\r\n d3.select(this)\r\n .attr({\r\n 'class': 'pathImages',\r\n 'transform': function(){ return `translate(${d.x - 10}, ${d.y - 20})rotate(${d.rotate}) scale(${d.scale})`},\r\n })\r\n .attr({ 'id': 'pathImages_' + ids[i] })\r\n .style('opacity', 0)\r\n .append('g')\r\n ;\r\n d3.select(this).select('g')\r\n .append('rect')\r\n .attr({\r\n height: size,\r\n width: size,\r\n })\r\n .style({\r\n 'fill': () => {\r\n return imageColor[getRandomIntInclusive(0, 1)];\r\n }\r\n })\r\n ;\r\n d3.select(this).select('g')\r\n .append('image')\r\n .attr({\r\n 'xlink:href': d.d,\r\n 'width': size - 1,\r\n 'height': size - 1,\r\n 'transform': 'translate(.5, .5)'\r\n })\r\n // .style('opacity', 0)\r\n });\r\n\r\n let aspect = { heightAspect, widthAspect };\r\n let structureDataShowSymbolRange;\r\n let socialSymbolRange;\r\n let medicalSymbolRange;\r\n let researchSymbolRange;\r\n let iconOpacity;\r\n let iconEnd;\r\n svg.style({\r\n 'margin-bottom': (heightAspect * marginBottom) + 'px'\r\n });\r\n return {\r\n resize() {\r\n aspect = resize();\r\n svg.style({\r\n 'margin-bottom': (heightAspect * marginBottom) + 'px'\r\n });\r\n },\r\n setScaleDomain(start, end, finalEnd = end) {\r\n // console.log('start, end',start, end)\r\n const animationStart = start;\r\n const firstAnimationEnd = HEIGHT * aspect.heightAspect * .25;\r\n const firstAnimationHalf = animationStart + ((firstAnimationEnd - animationStart) / 2);\r\n const problemPathSymbollAnimationStart = HEIGHT * aspect.heightAspect * .33; // firstAnimationEnd;\r\n const problemPathSymbollAnimationEnd = HEIGHT * aspect.heightAspect * .40;\r\n const structureSymbolShowAnimationStart = HEIGHT * aspect.heightAspect * .28;\r\n const structureSymbolShowAnimationEnd = HEIGHT * aspect.heightAspect * .33;\r\n const problemWallAnimationStart = end; // structureSymbolShowAnimationEnd + 50; // end + 50;\r\n const problemWallAnimationEnd = end + ((finalEnd - end) / 2);\r\n iconEnd = end / 3.70;\r\n\r\n icon.each((d) => {\r\n d.iconOpacity = d3.scale.linear().domain([problemPathSymbollAnimationStart, problemPathSymbollAnimationEnd])\r\n .range([0, 15]).clamp(true);\r\n d.dimondStart = problemPathSymbollAnimationStart;\r\n });\r\n\r\n bgSquareNodes.each((d, i) => {\r\n const problemDataAnimationEnd = getRandomIntInclusive(firstAnimationHalf, firstAnimationEnd);\r\n const problemSymbolFinalAnimationEnd = getRandomIntInclusive(problemPathSymbollAnimationStart, problemPathSymbollAnimationEnd);\r\n if (d.animate) {\r\n d.animateXScale = d3.scale.linear().domain([animationStart, problemDataAnimationEnd]).range([d.x, d.finalX]).clamp(true);\r\n d.animateYScale = d3.scale.linear().domain([animationStart, problemDataAnimationEnd]).range([d.y, d.finalY]).clamp(true);\r\n d.animateAngScale = d3.scale.linear().domain([animationStart, problemDataAnimationEnd]).range([d.ang, 0]).clamp(true);\r\n d.animateSizeScale = d3.scale.linear().domain([animationStart, problemDataAnimationEnd]).range([d.size, 1]).clamp(true);\r\n d.animateOpacityScale = d3.scale.linear().domain([animationStart, problemDataAnimationEnd])\r\n .range([d.opacity, d.finalOpacity]).clamp(true);\r\n d.animateFinalXScale = d3.scale.linear().domain([problemPathSymbollAnimationStart, problemSymbolFinalAnimationEnd]).range([d.finalX, d.fx]).clamp(true);\r\n d.animateFinalYScale = d3.scale.linear().domain([problemPathSymbollAnimationStart -1 , problemPathSymbollAnimationStart, problemSymbolFinalAnimationEnd]).range([d.finalY, d.finalY + 45, d.fy]).clamp(true);\r\n d.animateFinalSizeScale = d3.scale.linear().domain([problemPathSymbollAnimationStart, problemSymbolFinalAnimationEnd]).range([1, 2]).clamp(true);\r\n }\r\n });\r\n squareNodes.each(d => {\r\n const problemDataAnimationEnd = getRandomIntInclusive(firstAnimationHalf, firstAnimationEnd);\r\n d.animateXScale = d3.scale.linear().domain([animationStart, problemDataAnimationEnd]).range([d.x, d.finalX]).clamp(true);\r\n d.animateYScale = d3.scale.linear().domain([animationStart, problemDataAnimationEnd]).range([d.y, d.finalY]).clamp(true);\r\n d.animateSizeScale = d3.scale.linear().domain([animationStart, problemDataAnimationEnd]).range([d.scale, 1]).clamp(true);\r\n });\r\n\r\n socialSymbolRange = d3.scale.linear().domain([problemPathSymbollAnimationStart, problemPathSymbollAnimationEnd])\r\n .range([-1, problemSocialSquareSymbol.size()]).clamp(true);\r\n\r\n medicalSymbolRange = d3.scale.linear().domain([problemPathSymbollAnimationStart, problemPathSymbollAnimationEnd])\r\n .range([-1, problemMedicalSquareSymbol.size()]).clamp(true);\r\n\r\n researchSymbolRange = d3.scale.linear().domain([problemPathSymbollAnimationStart, problemPathSymbollAnimationEnd])\r\n .range([-1, problemResearchSquareSymbol.size()]).clamp(true);\r\n\r\n\r\n problemSocialSquareSymbol.each((d) => {\r\n const end = getRandomIntInclusive(problemWallAnimationStart, problemWallAnimationEnd);\r\n d.animatePathXScale = d3.scale.linear().domain([problemWallAnimationStart, end])\r\n .range([d.x, d.finalX]).clamp(true);\r\n d.animatePathYScale = d3.scale.linear().domain([problemWallAnimationStart, end])\r\n .range([d.y, d.finalY]).clamp(true);\r\n });\r\n problemMedicalSquareSymbol.each((d) => {\r\n const end = getRandomIntInclusive(problemWallAnimationStart, problemWallAnimationEnd);\r\n d.animatePathXScale = d3.scale.linear().domain([problemWallAnimationStart, end])\r\n .range([d.x, d.finalX]).clamp(true);\r\n d.animatePathYScale = d3.scale.linear().domain([problemWallAnimationStart, end])\r\n .range([d.y, d.finalY]).clamp(true);\r\n });\r\n problemResearchSquareSymbol.each((d) => {\r\n const end = getRandomIntInclusive(problemWallAnimationStart, problemWallAnimationEnd);\r\n d.animatePathXScale = d3.scale.linear().domain([problemWallAnimationStart, end])\r\n .range([d.x, d.finalX]).clamp(true);\r\n d.animatePathYScale = d3.scale.linear().domain([problemWallAnimationStart, end])\r\n .range([d.y, d.finalY]).clamp(true);\r\n });\r\n },\r\n startAnimation(scrollTop) {\r\n\r\n if (scrollTop >= iconEnd && !d3.select('#circles_ripple').classed('in')) {\r\n d3.select('#circles_ripple').classed('in', true);\r\n }\r\n if (scrollTop < iconEnd + 20) {\r\n d3.select('#circles_ripple').classed('in', false);\r\n }\r\n icon.each(function (d) {\r\n if (d.iconOpacity(scrollTop) >= 1 && d.iconOpacity(scrollTop) <= 15) {\r\n d3.select('#pathImages_' + Math.floor(d.iconOpacity(scrollTop))).style('opacity', 1);\r\n }\r\n if (d.iconOpacity(scrollTop) + 1 === (d.count)) {\r\n icon.style('opacity', 1);\r\n }\r\n\r\n if (scrollTop >= (d.dimondStart)) {\r\n //icon.style('opacity', 1);\r\n // images.style('opacity', 1);\r\n problemDataTypes.style('opacity', 1);\r\n } else {\r\n problemDataTypes.style('opacity', 0);\r\n icon.style('opacity', 0);\r\n // images.style('opacity', 0);\r\n }\r\n });\r\n bgSquareNodes.each(function (d, i) {\r\n if (d.animate) {\r\n const self = d3.select(this);\r\n const newY = d.animateYScale(scrollTop);\r\n const newAngle = d.animateAngScale(scrollTop);\r\n self\r\n .attr({\r\n 'transform':\r\n `translate(${d.animateXScale(scrollTop)}, ${newY})\r\n rotate(${newAngle}) scale(${d.animateSizeScale(scrollTop)})`\r\n })\r\n .style({\r\n 'opacity': d.animateOpacityScale(scrollTop),\r\n });\r\n // condition is to add and remove 'vibrate-animation' class on path.\r\n const innerPath = self.select('path');\r\n if (d.animateXScale(scrollTop) === d.finalX) {\r\n innerPath.classed('vibrate-animation', false);\r\n } else if (!innerPath.classed('vibrate-animation')) {\r\n innerPath.classed('vibrate-animation', true);\r\n }\r\n if (d.finalY === newY) {\r\n const finalNewY = d.animateFinalYScale(scrollTop);\r\n self\r\n .attr({\r\n 'transform':\r\n `translate(${d.animateFinalXScale(scrollTop)}, ${finalNewY})\r\n rotate(${d.ang}) scale(${d.animateFinalSizeScale(scrollTop)})`\r\n });\r\n if (finalNewY === d.fy) {\r\n self.style({\r\n 'opacity': 0,\r\n });\r\n }\r\n }\r\n }\r\n });\r\n squareNodes.each(function (d) {\r\n const self = d3.select(this);\r\n d3.select(this)\r\n .attr({\r\n 'transform':\r\n `translate(${d.animateXScale(scrollTop)}, ${d.animateYScale(scrollTop)}) scale(${d.animateSizeScale(scrollTop)})`\r\n });\r\n if (d.animateXScale(scrollTop) === d.finalX) {\r\n self.style('opacity', 0);\r\n } else if (self.style('opacity') === '0') {\r\n self.style('opacity', d.opacity);\r\n }\r\n });\r\n\r\n\r\n problemSocialSquareSymbol.each(function (d, i) {\r\n let fOpacity = 0;\r\n if (socialSymbolRange(scrollTop) + 1 > (d.idCount)) {\r\n fOpacity = d.finalOpacity;\r\n }\r\n const attr: any = {};\r\n if (d.isRemove) {\r\n const newXVal = d.animatePathXScale(scrollTop);\r\n const newY = d.animatePathYScale(scrollTop);\r\n fOpacity = (newY + 25 >= d.finalY) ? 0 : fOpacity;\r\n const ang = (newXVal === d.finalX) ? 45 : d.ang;\r\n const color = (newXVal === d.x) ? 'white' : d.finalColor;\r\n fOpacity = (newXVal === d.x) ? fOpacity : getRandomArbitrary(0.2, 0.9);\r\n fOpacity = (newY > (d.finalY - 10)) ? 0 : fOpacity;\r\n attr.fill = color;\r\n attr.transform = `translate(${newXVal}, ${newY}) rotate(${ang})`;\r\n }\r\n d3.select(this)\r\n .attr(attr)\r\n .style('opacity', fOpacity);\r\n });\r\n problemMedicalSquareSymbol.each(function (d, i) {\r\n let fOpacity = 0;\r\n if (medicalSymbolRange(scrollTop) + 1 > (d.idCount)) {\r\n fOpacity = d.finalOpacity;\r\n }\r\n const attr: any = {};\r\n if (d.isRemove) {\r\n const newXVal = d.animatePathXScale(scrollTop);\r\n const newY = d.animatePathYScale(scrollTop);\r\n fOpacity = (newY + 25 >= d.finalY) ? 0 : fOpacity;\r\n const ang = (newXVal === d.finalX) ? 45 : d.ang;\r\n const color = (newXVal === d.x) ? 'white' : d.finalColor;\r\n fOpacity = (newXVal === d.x) ? fOpacity : getRandomArbitrary(0.2, 0.9);\r\n fOpacity = (newY > (d.finalY - 10)) ? 0 : fOpacity;\r\n attr.transform = `translate(${newXVal}, ${newY}) rotate(${ang})`;\r\n attr.fill = color;\r\n }\r\n d3.select(this)\r\n .attr(attr)\r\n .style('opacity', fOpacity);\r\n });\r\n problemResearchSquareSymbol.each(function (d, i) {\r\n let fOpacity = 0;\r\n if (researchSymbolRange(scrollTop) + 1 > (d.idCount)) {\r\n fOpacity = d.finalOpacity;\r\n }\r\n const attr: any = {};\r\n if (d.isRemove) {\r\n const newXVal = d.animatePathXScale(scrollTop);\r\n const newY = d.animatePathYScale(scrollTop);\r\n fOpacity = (newY + 25 >= d.finalY) ? 0 : fOpacity;\r\n const ang = (newXVal === d.finalX) ? 45 : d.ang;\r\n const color = (newXVal === d.x) ? 'white' : d.finalColor;\r\n fOpacity = (newXVal === d.x) ? fOpacity : getRandomArbitrary(0.2, 0.9);\r\n fOpacity = (newY > (d.finalY - 10)) ? 0 : fOpacity;\r\n attr.fill = color;\r\n attr.transform = `translate(${newXVal}, ${newY}) rotate(${ang})`;\r\n }\r\n d3.select(this)\r\n .attr(attr)\r\n .style('opacity', fOpacity);\r\n });\r\n }\r\n };\r\n }\r\n\r\n private initOutcomesSection(containerId) {\r\n const container = d3.select('#' + containerId);\r\n const WIDTH = 1280 || container.node().clientWidth || container.node().offsetWidth;\r\n const HEIGHT_OFFSET = 420 / 1280;\r\n const HEIGHT = WIDTH * HEIGHT_OFFSET;\r\n const svg = container.append('svg')\r\n .attr({\r\n width: WIDTH,\r\n height: HEIGHT\r\n });\r\n const { resize, heightAspect, widthAspect } = this.responsivefy(svg);\r\n\r\n const outcomesGroup = svg\r\n .append('g')\r\n .attr({\r\n id: 'svg-outcomes',\r\n class: 'svg-outcomes'\r\n });\r\n\r\n outcomesGroup.append('foreignObject')\r\n .attr({\r\n 'x': 0,\r\n 'y': 0,\r\n 'width': WIDTH,\r\n 'height': HEIGHT\r\n })\r\n .html(`\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Increased consistency of results\r\n by reducing human subjectivity
\r\n
~100X savings in time through\r\n automation leading to high productivity
\r\n
Discover concepts that are\r\n difficult to identify manually by\r\n exploiting semantic relationships
\r\n
Solutions that can scale horizontally\r\n and vertically with domain training
\r\n
\r\n `);\r\n let aspect = { heightAspect, widthAspect };\r\n let showSection;\r\n return {\r\n resize() {\r\n aspect = resize();\r\n },\r\n setScaleDomain(start, end, finalEnd = end) {\r\n showSection = end / 1.045;\r\n },\r\n startAnimation(scrollTop) {\r\n if (scrollTop >= showSection) {\r\n d3.select('#outcome-section').classed(' show', true);\r\n d3.select('#outcome-section').classed(' hide', false);\r\n } else {\r\n d3.select('#outcome-section').classed(' show', false);\r\n d3.select('#outcome-section').classed(' hide', true);\r\n }\r\n }\r\n };\r\n }\r\n\r\n private drawBigDimond(id, lineCount, sizeOfSquare, calColor, calOpacity) {\r\n const result = [];\r\n const ids = _.shuffle(d3.range(lineCount * lineCount));\r\n for (let i = 1, k = 1, j = 0; i < (lineCount * 2); i++) {\r\n let n = 1;\r\n let calX = j;\r\n while (k >= n) {\r\n result.push({\r\n x: calX,\r\n y: (i * (sizeOfSquare / 2)),\r\n id: `big_diamond_symbol_${id}_${ids[((i - 1) * n)]}`,\r\n finalOpacity: calOpacity(i, n),\r\n color: calColor(),\r\n idCount: ids[((i - 1) * n)],\r\n });\r\n calX += sizeOfSquare;\r\n n++;\r\n }\r\n if (i > (lineCount - 1)) {\r\n j += (sizeOfSquare / 2);\r\n k--;\r\n } else {\r\n j -= (sizeOfSquare / 2);\r\n k++;\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n private initDataSection(containerId) {\r\n const that = this;\r\n const container = d3.select('#' + containerId);\r\n const WIDTH = 1280;\r\n const HEIGHT_OFFSET = 1000 / 1280;\r\n const HEIGHT = WIDTH * HEIGHT_OFFSET;\r\n const marginBottom = -92;\r\n const svg = container.append('svg')\r\n .attr({\r\n width: WIDTH,\r\n height: HEIGHT\r\n });\r\n const { resize, heightAspect, widthAspect } = this.responsivefy(svg);\r\n const dataGroup = svg.append('g')\r\n .attr({\r\n id: 'svg-data',\r\n class: 'svg-data',\r\n transform: 'translate(260, 0)'\r\n });\r\n\r\n const mainDataGrpup = dataGroup.append('g').attr({\r\n transform: 'translate(365, 0)'\r\n });\r\n\r\n const mainImageData = 'data:image/png;base64,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';\r\n\r\n const rectGroup = mainDataGrpup.append('g');\r\n rectGroup\r\n .append('image')\r\n .attr({\r\n 'xlink:href': mainImageData,\r\n height: 370,\r\n width: 370,\r\n transform: 'translate(-185,-8)'\r\n });\r\n\r\n rectGroup.append('text')\r\n .text('INSIGHTS')\r\n .attr({ transform: 'translate(0,190)' })\r\n .attr('font-size', '32px')\r\n .style({\r\n 'text-anchor': 'middle',\r\n 'fill': '#1f0077',\r\n 'opacity': 1,\r\n 'font-weight': 'bold'\r\n });\r\n\r\n const symbolData = this.drawBigDimond('data', 15, 23, () => 'white', (ln, n) => {\r\n if ((ln === 14 && n > 4 && n < 11) || (ln === 15 && n > 4 && n < 12) || (ln === 16 && n > 4 && n < 11)) {\r\n return 0;\r\n } else {\r\n return 0.3;\r\n }\r\n });\r\n const squareSymbol = rectGroup.selectAll('.squareSymbol')\r\n .data(symbolData)\r\n .enter()\r\n .append('path')\r\n .attr({\r\n 'id': d => d.id,\r\n 'd': d3.svg.symbol().type('square').size(200),\r\n 'stroke-width': 1,\r\n 'class': 'squareSymbol',\r\n 'fill': d => d.color,\r\n 'transform': d => `translate(${d.x}, ${d.y + 4.5}) rotate(45)`\r\n })\r\n .style('opacity', 0);\r\n\r\n const data_data_insights_points = jsonData.data_data_insights_points;\r\n\r\n const StraitlineFunction = d3.svg.line().x(d => d.x).y(d => d.y);\r\n\r\n const dropPathsGroup = dataGroup.selectAll('.data-insights-path')\r\n .data(data_data_insights_points)\r\n .enter()\r\n .append('g')\r\n .each(function (d, i) {\r\n const gSelf = d3.select(this);\r\n gSelf\r\n .append('path')\r\n .attr({\r\n 'class': 'data-insights-path',\r\n 'd': StraitlineFunction(d.pathData),\r\n 'stroke': d.color,\r\n 'stroke-width': 3,\r\n 'fill': 'none'\r\n })\r\n .style({\r\n 'stroke-dasharray': function () {\r\n const pos = i + 1;\r\n if ((pos === 4) || pos === 8 || pos === 2 || pos === 6) {\r\n d.group = 4;\r\n } else if (pos === 3 || pos === 7) {\r\n d.group = 3;\r\n } else {\r\n d.group = 1;\r\n }\r\n d.startX = d.pathData[2].x;\r\n d.startY = d.pathData[2].y;\r\n d.finalX = getRandomIntInclusive(590, 600);\r\n d.finalY = getRandomIntInclusive(990, 995);\r\n d.totalLength = d3.select(this).node().getTotalLength();\r\n return d.totalLength + 'px, ' + d.totalLength + 'px';\r\n },\r\n 'stroke-dashoffset': () => d.totalLength\r\n });\r\n gSelf.append('path')\r\n .attr({\r\n 'class': 'data-insights-path-symbol',\r\n 'd': d3.svg.symbol().type('square').size(225),\r\n 'stroke': 'white',\r\n 'stroke-width': 1,\r\n 'fill': d.color,\r\n 'transform': `translate(${d.pathData[0].x}, ${d.pathData[0].y}) rotate(45)`\r\n })\r\n .style({\r\n opacity: 0\r\n });\r\n\r\n gSelf.append('g')\r\n .attr('class', 'data-insights-rectangle-group')\r\n .style('opacity', 0)\r\n .append('rect')\r\n .attr({\r\n height: 75,\r\n width: 75,\r\n transform: (d) => 'translate(' + d.pathData[2].x + ',' + (d.pathData[2].y - 11) + ')rotate(45)'\r\n\r\n }).style({ fill: (d) => d.color });\r\n\r\n gSelf.select('g').append('image')\r\n .attr({\r\n 'xlink:href': d.imageData,\r\n 'width': 52 - 1,\r\n 'height': 52 - 1,\r\n 'transform': (d) => 'translate(' + (d.pathData[2].x - 24) + ',' + (d.pathData[2].y + 18) + ')'\r\n });\r\n\r\n gSelf.select('g').append('text')\r\n .attr({\r\n 'x': (d) => d.pathData[2].x,\r\n 'y': (d) => d.pathData[2].y + 115\r\n })\r\n .attr('dy', '.3em')\r\n .style('text-anchor', 'middle')\r\n .attr('font-size', '15px')\r\n .text(function (d) { return d.text; })\r\n .call(wrap, 130)\r\n .style({\r\n 'fill': d => d.textColor,\r\n 'opacity': 1,\r\n 'font-weight': 'bold'\r\n });\r\n\r\n gSelf.select('g').append('image')\r\n .attr({\r\n 'xlink:href': d.clickbleImage,\r\n 'width': 26 - 1,\r\n 'height': 26 - 1,\r\n 'transform': function (d) {\r\n const yPosition = ((d.text.length > 19 && d.text.length <= 37) ? 145\r\n : (d.text.length > 36 && d.text.length <= 44) ? 165 : d.text.length <= 19 ? 135 : 180);\r\n return 'translate(' + (d.pathData[2].x - 14) + ',' + (d.pathData[2].y + yPosition) + ')';\r\n }\r\n })\r\n .on('click', function () {\r\n if (d.noteBookUrl) {\r\n that._gaService.triggerEvent('DS View', 'Usecase', 'Text Analytics');\r\n window.open(d.noteBookUrl, '_blank');\r\n }\r\n }).style({cursor:'pointer'});\r\n });\r\n\r\n function wrap(text, width) {\r\n text.each(function () {\r\n let text = d3.select(this),\r\n x = text.attr('x'),\r\n words = text.text().split(/\\s+/).reverse(),\r\n word,\r\n line = [],\r\n lineNumber = 0,\r\n lineHeight = 1.1, // ems\r\n y = text.attr('y'),\r\n dy = parseFloat(text.attr('dy')) || 0,\r\n tspan = text.text(null).append('tspan').attr('x', x).attr('y', y).attr('dy', dy + 'em');\r\n while (word = words.pop()) {\r\n line.push(word);\r\n tspan.text(line.join(' '));\r\n if (tspan.node().getComputedTextLength() > width) {\r\n line.pop();\r\n tspan.text(line.join(' '));\r\n line = [word];\r\n tspan = text.append('tspan').attr('x', x).attr('y', y).attr('dy', ++lineNumber * lineHeight + dy + 'em').text(word);\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n let aspect = { heightAspect, widthAspect };\r\n const setMarginBottom = () => {\r\n svg.style({\r\n 'margin-bottom': (heightAspect * marginBottom) + 'px'\r\n });\r\n };\r\n setMarginBottom();\r\n let dataShowSymbolRange;\r\n return {\r\n resize() {\r\n aspect = resize();\r\n setMarginBottom();\r\n },\r\n setScaleDomain(start, end, finalEnd, viewportHalf) {\r\n const animationStart = start + (viewportHalf / 4); // start + ((aspect.heightAspect * 1));\r\n const symbolMoveOverPathEnd = start + viewportHalf;\r\n const CircleGroupLineDataStart = start + ((aspect.heightAspect * 1.34) * 140);\r\n const CircleGroupLineDataEnd = start + ((aspect.heightAspect * 1.34) * 220);\r\n const pathSymbolAnimateStart = symbolMoveOverPathEnd; // (end / 1.37);\r\n const pathSymbolAnimateEnd = symbolMoveOverPathEnd + viewportHalf; // (end / 1.15);\r\n const circleSymbolMoveToNextStart = end;\r\n const circleSymbolMoveToNextEnd = circleSymbolMoveToNextStart + viewportHalf;\r\n dataShowSymbolRange = d3.scale.linear().domain([animationStart, symbolMoveOverPathEnd])\r\n .range([-1, squareSymbol.size()]).clamp(true);\r\n\r\n dropPathsGroup.each(d => {\r\n let end = pathSymbolAnimateEnd;\r\n if (d.group === 1) {\r\n end = pathSymbolAnimateStart + ((end - pathSymbolAnimateStart) * 1 / 4);\r\n } else if (d.group === 2) {\r\n end = pathSymbolAnimateStart + ((end - pathSymbolAnimateStart) * 1 / 2);\r\n } else if (d.group === 4) {\r\n end = pathSymbolAnimateStart + ((end - pathSymbolAnimateStart) * 3 / 4);\r\n }\r\n const start = pathSymbolAnimateStart + ((end - pathSymbolAnimateStart) / 2);\r\n d.pathFillScale = d3.scale.linear().domain([start, end])\r\n .range([0, d.totalLength]).clamp(true);\r\n d.symbolTravelScale = d3.scale.linear().domain([start, end])\r\n .range([0, d.totalLength]).clamp(true);\r\n const scaleEnd = getRandomIntInclusive(circleSymbolMoveToNextStart +\r\n ((circleSymbolMoveToNextEnd - circleSymbolMoveToNextStart) / 2), circleSymbolMoveToNextEnd);\r\n d.symbolTONextSectionScale = {\r\n x: d3.scale.linear().domain([circleSymbolMoveToNextStart, scaleEnd])\r\n .range([d.startX, d.finalX]).clamp(true),\r\n y: d3.scale.linear().domain([circleSymbolMoveToNextStart, scaleEnd])\r\n .range([d.startY, d.finalY]).clamp(true)\r\n };\r\n });\r\n },\r\n startAnimation(scrollTop) {\r\n dropPathsGroup.each(function (d) {\r\n const newStrockDashOffsetVal = d.totalLength - d.pathFillScale(scrollTop);\r\n const opacityVal = (newStrockDashOffsetVal === 0) ? 1 : 0;\r\n const symbotOpacityVal = ((d.totalLength / 2) > newStrockDashOffsetVal) ? 1 : 0;\r\n const gSelf = d3.select(this);\r\n const symboles = gSelf.select('.data-insights-path-symbol');\r\n const path = gSelf.select('.data-insights-path').style('stroke-dashoffset', newStrockDashOffsetVal + 'px');\r\n gSelf.select('.data-insights-rectangle-group').style('opacity', opacityVal);\r\n const point = path.node().getPointAtLength(d.symbolTravelScale(scrollTop));\r\n if (point.y < d.startY) {\r\n symboles\r\n .attr({\r\n 'transform':\r\n `translate(${point.x}, ${point.y}) rotate(45)`\r\n })\r\n .style({\r\n 'opacity': symbotOpacityVal\r\n });\r\n }\r\n if (point.y === d.startY) {\r\n const newY = d.symbolTONextSectionScale.y(scrollTop);\r\n symboles\r\n .attr({\r\n 'transform':\r\n `translate(${d.symbolTONextSectionScale.x(scrollTop)}, ${newY}) rotate(45)`\r\n });\r\n if (newY === d.finalY) {\r\n symboles.style('opacity', 0);\r\n } else {\r\n symboles.style('opacity', 1);\r\n }\r\n }\r\n });\r\n squareSymbol.each(function (d) {\r\n let fOpacity = 0;\r\n if (dataShowSymbolRange(scrollTop) + 1 > (d.idCount)) {\r\n fOpacity = d.finalOpacity;\r\n }\r\n d3.select(this)\r\n .style('opacity', fOpacity);\r\n });\r\n }\r\n };\r\n }\r\n\r\n private initSolutionSection(containerId) {\r\n const container = d3.select('#' + containerId);\r\n const WIDTH = 768;\r\n const HEIGHT_OFFSET = 700 / WIDTH;\r\n const HEIGHT = WIDTH * HEIGHT_OFFSET + 50;\r\n const svg = container.append('svg')\r\n .attr({\r\n width: WIDTH,\r\n height: HEIGHT\r\n });\r\n const { resize, heightAspect, widthAspect } = this.responsivefy(svg);\r\n svg.append('g')\r\n .attr({\r\n id: 'svg-list-solution',\r\n class: 'svg-list-solution',\r\n transform: `translate(0, 0)`\r\n })\r\n .append('foreignObject')\r\n .attr({\r\n 'x': 0,\r\n 'y': 0,\r\n 'width': '100%',\r\n 'height': '575'\r\n })\r\n .html(`
\r\n
    \r\n
  • Probalistic Graphical
  • \r\n
  • Semi supervised Anchor
  • \r\n
  • Supervised Classifiction
  • \r\n
  • Transfer Learning
  • \r\n
  • Unsupervised Topic Model
  • \r\n
  • Network Analysis
  • \r\n
\r\n
    \r\n
  • Semantic Features
  • \r\n
  • Syntactic Features
  • \r\n
  • Domain Ontologies
  • \r\n
\r\n
`);\r\n const solutionDivGroup = svg.append('g')\r\n .attr({\r\n id: 'svg-div-solution',\r\n class: 'svg-div-solution',\r\n transform: `translate(264, 75)`\r\n });\r\n const fo = solutionDivGroup.append('foreignObject')\r\n .attr({\r\n 'x': 0,\r\n 'y': 0,\r\n 'width': '30%',\r\n 'height': '400'\r\n });\r\n const solutionGroup = solutionDivGroup.append('g')\r\n .attr({\r\n id: 'svg-solution',\r\n class: 'svg-solution',\r\n transform: `translate(36, 203)`\r\n });\r\n const solutionHighliterGroup = solutionDivGroup.append('g')\r\n .attr({\r\n id: 'svg-highliter-solution',\r\n class: 'svg-highliter-solution',\r\n transform: `translate(36, 203)`\r\n });\r\n const div = fo.append('xhtml:div')\r\n .attr({\r\n 'id': 'solution-case-container',\r\n 'class': 'solution-case-container'\r\n });\r\n const typingDiv = div.append('xhtml:div')\r\n .attr({\r\n 'id': 'solution-case-typing-container',\r\n 'class': 'solution-case-typing-container cursor'\r\n });\r\n // solutionDivGroup.append('path')\r\n // .attr({\r\n // 'd': (d) => d3.svg.symbol().type('square').size(1225)(),\r\n // 'class': 'solutionTopCircle',\r\n // 'id': 'solutionTopCircle',\r\n // 'transform': (d) => `translate(115, 0) rotate(45)`\r\n // })\r\n // .style({\r\n // 'fill': '#6992B1',\r\n // 'stroke-width':'1px',\r\n // 'stroke':'#FFFFFF'\r\n // });\r\n const lineData = [\r\n { 'x': 0, 'y': 0 },\r\n { 'x': 0, 'y': 391 },\r\n { 'x': 100, 'y': 391 }\r\n ];\r\n const StraitlineFunction = d3.svg.line()\r\n .x(d => d.x)\r\n .y(d => d.y);\r\n let pathLength = 0;\r\n const path = solutionGroup.append('path')\r\n .attr('d', StraitlineFunction(lineData))\r\n .attr('stroke', '#CFD7DD')\r\n .attr('stroke-width', 2)\r\n .attr('fill', 'none')\r\n .style({\r\n 'stroke-dasharray': function (d) {\r\n pathLength = d3.select(this).node().getTotalLength();\r\n return pathLength + 'px, ' + pathLength + 'px';\r\n },\r\n 'stroke-dashoffset': d => `${pathLength}px`\r\n });\r\n\r\n const pathCircleData = [];\r\n const circleRainColors = ['#FACCCC', '#D0C5F2', '#ADDEE8', '#FFD7AA', '#9CD4FA', '#E8B7D4'];\r\n for (let i = 0; i < 6; i++) {\r\n const d = {\r\n x: 0,\r\n y: 0,\r\n finalY: HEIGHT + ((6 - i) * 60),\r\n size: 200,\r\n id: `solution_rain_circle_${i}`,\r\n color: circleRainColors[i]\r\n };\r\n pathCircleData.push(d);\r\n }\r\n const pathCircleNodes = solutionGroup.selectAll('.pathCircle')\r\n .data(pathCircleData)\r\n .enter().append('path')\r\n .attr({\r\n 'd': (d) => d3.svg.symbol().type('square').size(d.size)(),\r\n 'class': 'pathCircle',\r\n 'id': d => d.id,\r\n 'transform': (d) => `translate(${d.x}, ${d.y}) rotate(45)`\r\n })\r\n .style({\r\n 'fill': d => d.color,\r\n 'opacity': 0\r\n });\r\n const dart = solutionGroup.append('g')\r\n .attr({\r\n id: 'solution-dart-circle',\r\n class: 'solution-dart-circle',\r\n 'transform': `translate(43, 350)`,\r\n })\r\n .style('opacity', 0);\r\n dart.append('foreignObject')\r\n .attr({\r\n 'x': 0,\r\n 'y': 0,\r\n 'width': 120,\r\n 'height': 120\r\n })\r\n .html(`
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
`);\r\n // ;\r\n // this.generateDart(dart);\r\n let aspect = { heightAspect, widthAspect };\r\n let caseChangeScale = null;\r\n let lastCase;\r\n let pathCircleNodeScale;\r\n let pathFillScale;\r\n let animationStart;\r\n let pathCircleStart;\r\n let lastCalled = false;\r\n return {\r\n resize() {\r\n aspect = resize();\r\n },\r\n setScaleDomain(start, end, finalEnd = end, halfViewPort) {\r\n animationStart = start + (halfViewPort / 2);\r\n const animationEnd = end - ((finalEnd - end) / 2);\r\n pathCircleStart = animationEnd;\r\n const pathCircleEnd = end + ((finalEnd - end) / 2);\r\n caseChangeScale = d3.scale.linear().domain([animationStart - 1 , animationStart, animationEnd])\r\n .range([void 0, 0, (jsonData.data_solution_cases.length)]).clamp(true);\r\n pathCircleNodeScale = d3.scale.linear().domain([pathCircleStart, pathCircleEnd])\r\n .range([0, ((pathLength * 2) - 100)]).clamp(true);\r\n pathFillScale = d3.scale.linear().domain([pathCircleStart, end])\r\n .range([0, pathLength]).clamp(true);\r\n },\r\n startAnimation: (scrollTop) => {\r\n if (scrollTop < animationStart) {\r\n this.resetSolutionCase('solution-case-typing-container', solutionHighliterGroup);\r\n lastCase = void 0;\r\n } else {\r\n const newCaseNo = Math.abs(Math.round(caseChangeScale(scrollTop) - .51)); // Math.round(caseChangeScale(scrollTop));\r\n if (newCaseNo !== lastCase) {\r\n lastCase = newCaseNo;\r\n lastCalled = false;\r\n if (this.unsubscribeTypingAnimation !== null) {\r\n clearTimeout(this.unsubscribeTypingAnimation);\r\n }\r\n this.initSolutionCaseSection\r\n ('solution-case-typing-container', 50, newCaseNo, solutionHighliterGroup, solutionDivGroup, true);\r\n }\r\n if (scrollTop >= pathCircleStart && !lastCalled) {\r\n lastCalled = true;\r\n if (this.unsubscribeTypingAnimation !== null) {\r\n clearTimeout(this.unsubscribeTypingAnimation);\r\n }\r\n this.initSolutionCaseSection\r\n ('solution-case-typing-container', 0, newCaseNo, solutionHighliterGroup, solutionDivGroup, false);\r\n }\r\n pathCircleNodes.each(function (d, i) {\r\n const diffFactorForEachShapes = (pathCircleNodeScale(scrollTop) === pathLength) ? 0 : (i * 30);\r\n const point = path.node().getPointAtLength(pathCircleNodeScale(scrollTop) - diffFactorForEachShapes);\r\n const self = d3.select(this);\r\n if (i === 0 && (pathLength === (point.x + point.y))) {\r\n dart.style('opacity', 1);\r\n } else if (i === 0 && (pathLength !== (point.x + point.y))) {\r\n dart.style('opacity', 0);\r\n }\r\n self\r\n .attr({\r\n 'transform':\r\n `translate(${point.x}, ${point.y}) rotate(45)`\r\n })\r\n .style({\r\n 'opacity': (point.y >= 70) ? 1 : 0\r\n });\r\n });\r\n const updatePathFill = pathFillScale(scrollTop);\r\n path.style('stroke-dashoffset',\r\n (pathLength - updatePathFill) + 'px');\r\n // ((updatePathFill < (pathLength * .4)) ? (pathLength * .4) : updatePathFill))\r\n }\r\n }\r\n };\r\n }\r\n\r\n private initSolutionCaseSection(containerId, speed, caseNo, highliter, container, withTyping = true) {\r\n // values to keep track of the number of letters typed, which quote to use. etc. Don't change these values.\r\n const cases = jsonData.data_solution_cases;\r\n const element = document.getElementById(containerId);\r\n element.innerHTML = '';\r\n highliter.selectAll('path').remove();\r\n d3.selectAll('.highliterTxt').remove();\r\n // d3.select('#solution-case-list')\r\n // .attr('class', 'solution-list-container ' + cases[caseNo].activeClass);\r\n const processedWord = [];\r\n function endAll(transition, callback) {\r\n let n = 0;\r\n const args = arguments;\r\n transition.each(() => ++n)\r\n .each('end', () => (!--n && callback.apply(this, args)));\r\n }\r\n const self = this;\r\n const str = cases[caseNo].txt;\r\n function startTyping (i, withEffect) {\r\n const tagInfo = cases[caseNo].highLights.find(v => (v.start <= i && v.end >= i));\r\n if (tagInfo && i === tagInfo.end) {\r\n const spanId = processedWord.length;\r\n const newInnerHtml = element.innerHTML.slice(0, element.innerHTML.length - (tagInfo.end - tagInfo.start));\r\n element.innerHTML = (newInnerHtml + ''\r\n + str.slice(tagInfo.start, tagInfo.end + 1) + '');\r\n processedWord.push(tagInfo);\r\n const spanEle = d3.select(`#highlitedSpan${spanId}`).node();\r\n const highliterTxt = container.append('g')\r\n .attr({\r\n 'class': 'highliterTxt',\r\n 'transform': (d) => `translate(${(withEffect) ? spanEle.offsetLeft : 55},\r\n ${(withEffect) ? spanEle.offsetTop : (193 + (processedWord.length - 1) * 35)})`\r\n });\r\n const txtRect = highliterTxt\r\n .append('rect')\r\n .attr({\r\n width: spanEle.offsetWidth,\r\n height: spanEle.offsetHeight,\r\n x: 0,\r\n y: -1,\r\n fill: ((withEffect) ? '#6992B1' : 'transparent')\r\n });\r\n const txt = highliterTxt\r\n .append('text')\r\n .text(tagInfo.word)\r\n .attr({\r\n 'x': 5,\r\n 'y': 15,\r\n 'font-family': 'DINProMedium',\r\n 'font-size': '16px',\r\n 'fill': () => ((withEffect) ? '#ffffff' : '#000000')\r\n });\r\n if (withEffect) {\r\n highliterTxt.transition()\r\n .duration(500)\r\n .delay(100)\r\n .attr({\r\n 'transform': `translate(55, ${193 + (processedWord.length - 1) * 35})`\r\n })\r\n .call(endAll, function () {\r\n txtRect.attr({ fill: 'transparent' });\r\n txt.attr({ fill: '#000000' });\r\n });\r\n }\r\n highliter.append('path')\r\n .attr({\r\n 'd': (d) => d3.svg.symbol().type('square').size(200)(),\r\n 'class': 'highliterCircle',\r\n 'transform': (d) => `translate(0, ${(processedWord.length - 1) * 35}) rotate(45)`\r\n })\r\n .style({\r\n 'fill': '#6992B1'\r\n });\r\n } else {\r\n element.innerHTML = (element.innerHTML + str.charAt(i));\r\n }\r\n }\r\n if (withTyping) {\r\n let i = 0;\r\n (function typingEffect() {\r\n if (i < str.length) {\r\n startTyping(i, true);\r\n self.unsubscribeTypingAnimation = setTimeout(function () { typingEffect(); }, speed);\r\n i++;\r\n }\r\n })();\r\n } else {\r\n for (let i = 0; i < str.length; i++) {\r\n startTyping(i, false);\r\n }\r\n }\r\n }\r\n\r\n private resetSolutionCase(containerId, highliter) {\r\n if (this.unsubscribeTypingAnimation !== null) {\r\n clearTimeout(this.unsubscribeTypingAnimation);\r\n }\r\n const element = document.getElementById(containerId);\r\n element.innerHTML = '';\r\n highliter.selectAll('path').remove();\r\n d3.selectAll('.highliterTxt').remove();\r\n }\r\n private generateDart(group) {\r\n const appendCircle = (g, cx, cy, r, fill, x = 0, y = 0) => {\r\n g.append('circle')\r\n .attr({\r\n cx,\r\n cy,\r\n r,\r\n 'transform': `translate(${x}, ${y})`\r\n })\r\n .style('fill', fill);\r\n };\r\n appendCircle(group, 20, 20, 20, '#8d6bc3');\r\n appendCircle(group, 16.66, 16.66, 16.66, '#c9b14c', 3.3, 3.3);\r\n appendCircle(group, 13.32, 13.32, 13.32, '#5055d1', 6.64, 6.64);\r\n appendCircle(group, 9.98, 9.98, 9.98, '#1da1f2', 9.98, 9.98);\r\n appendCircle(group, 6.64, 6.64, 6.64, '#c94c64', 13.32, 13.32);\r\n appendCircle(group, 3.3, 3.3, 3.3, '#50d19a', 16.66, 16.66);\r\n }\r\n /**\r\n * This is Visble Section change Handler.\r\n *\r\n * @param $event - Section Id\r\n */\r\n onScrollSecionChange($event) {\r\n this.onVisibleSectionChange.emit($event);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscribeResize) {\r\n this.unsubscribeResize();\r\n }\r\n if (this.unsubscribeAnimationFrame) {\r\n window.cancelAnimationFrame(this.unsubscribeAnimationFrame);\r\n }\r\n if (this.unsubscribeTypingAnimation) {\r\n clearTimeout(this.unsubscribeTypingAnimation);\r\n }\r\n }\r\n}\r\n\r\nfunction getRandomIntInclusive(min, max) {\r\n min = Math.ceil(min);\r\n max = Math.floor(max);\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n}\r\n\r\nfunction getRandomArbitrary(min, max) {\r\n return Math.random() * (max - min) + min;\r\n}\r\n","module.exports = \".section-title{\\r\\n font-size:48px !important;\\r\\n color:#000 !important;\\r\\n}\\r\\n#problem{\\r\\n padding-top:0;\\r\\n}\\r\\n#problem .problem-hero-top-wrap{\\r\\n background: #f5f5f5;\\r\\n height:608px;\\r\\n position: relative;\\r\\n overflow: hidden;\\r\\n z-index: 1;\\r\\n}\\r\\n#problem .problem-hero-top-wrap .problem-hero-img{\\r\\n height: 1200px;\\r\\n position: absolute;\\r\\n top:0;\\r\\n left:0;\\r\\n right:0;\\r\\n width: 100%;\\r\\n overflow: hidden;\\r\\n}\\r\\n#problem .problem-hero-top-wrap .problem-hero-img.one{\\r\\n background:url(\\\"/assets/images/nlp-updated/group-1.png\\\") no-repeat center top;\\r\\n animation-duration: 15s;\\r\\n z-index: 2;\\r\\n}\\r\\n#problem .problem-hero-top-wrap .problem-hero-img.two{\\r\\n background:url(\\\"/assets/images/nlp-updated/group-2.png\\\") no-repeat center top;\\r\\n animation-duration: 8s;\\r\\n z-index: 4;\\r\\n}\\r\\n#problem .problem-hero-top-wrap .problem-hero-img.three{\\r\\n background:url(\\\"/assets/images/nlp-updated/group-3.png\\\") no-repeat center top;\\r\\n animation-duration: 6s;\\r\\n z-index: 6;\\r\\n}\\r\\n#problem .problem-hero-top-wrap .problem-hero-img.four{\\r\\n background:url(\\\"/assets/images/nlp-updated/group-4.png\\\") no-repeat center top;\\r\\n animation-duration: 10s;\\r\\n z-index: 8;\\r\\n}\\r\\n#problem .problem-hero-top-wrap .problem-hero-img.five{\\r\\n background:url(\\\"/assets/images/nlp-updated/group-5.png\\\") no-repeat center top;\\r\\n animation-duration: 14s;\\r\\n z-index:10;\\r\\n}\\r\\n#problem .problem-hero-bottom-wrap{\\r\\n background:#fff url(\\\"/assets/images/nlp-updated/bottom-hero-img.png\\\") no-repeat center top;\\r\\n height:706px;\\r\\n position:relative;\\r\\n}\\r\\n.problem-hero-bottom-wrap .black-circle-wrap{\\r\\n background:url(\\\"/assets/images/nlp-updated/black-circle-inner-main.png\\\") no-repeat center;\\r\\n /* background: rgba(26,26,26,0.5); */\\r\\n border-radius: 100%;\\r\\n width:416px;\\r\\n height:414px;\\r\\n position:absolute;\\r\\n top:-212px;\\r\\n right:0;\\r\\n left:0;\\r\\n margin:0 auto;\\r\\n}\\r\\n.black-circle-wrap .problem-circle-main{\\r\\n background: rgba(0,0,0,0.8);\\r\\n border-radius: 100%;\\r\\n width: 416px;\\r\\n height: 416px;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n right: 0;\\r\\n left: 0;\\r\\n bottom: 0;\\r\\n margin: 0 auto;\\r\\n z-index: 1;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n padding: 35px 55px;\\r\\n}\\r\\n.black-circle-wrap .problem-circle-main h6{\\r\\n font-size: 32px;\\r\\n font-weight: bold;\\r\\n color: #fff;\\r\\n}\\r\\n.black-circle-wrap .problem-circle-main p{\\r\\n font-size: 18px;\\r\\n color: #fff;\\r\\n font-family: 'DINProMedium', sans-serif;\\r\\n}\\r\\n.problem-hero-bottom-wrap .black-circle-wrap .black-circle-middle{\\r\\n background:url(\\\"/assets/images/nlp-updated/black-circle-middle.png\\\") no-repeat center;\\r\\n width:416px;\\r\\n height:414px;\\r\\n animation: rotate-reverse 10s linear infinite both;\\r\\n}\\r\\n.problem-hero-bottom-wrap .black-circle-wrap .black-circle-outer{\\r\\n background:url(\\\"/assets/images/nlp-updated/black-circle-outer.png\\\") no-repeat center;\\r\\n width:416px;\\r\\n height:414px;\\r\\n left:0;\\r\\n position:absolute;\\r\\n right:0;\\r\\n top:0;\\r\\n animation: rotate-center 10s linear infinite both;\\r\\n}\\r\\n.problem-hero-bottom-wrap .problem-content{\\r\\n position:absolute;\\r\\n left:0;\\r\\n right:0;\\r\\n margin:0 auto;\\r\\n content:\\\"\\\";\\r\\n width:250px;\\r\\n height:250px;\\r\\n bottom:80px;\\r\\n z-index:9;\\r\\n text-align:center;\\r\\n display:none;\\r\\n}\\r\\n.problem-hero-bottom-wrap .problem-content h4{\\r\\n font-size:48px !important;\\r\\n color:#000000 !important;\\r\\n font-weight:300 !important;\\r\\n}\\r\\n.problem-hero-bottom-wrap .problem-content p{\\r\\n font-size:16px !important;\\r\\n color:#000000 !important;\\r\\n line-height:22px !important;\\r\\n}\\r\\n.data-section-wrapper{\\r\\n background-color:#f0f0f0;\\r\\n border-radius:105px;\\r\\n padding:70px 47px 66px;\\r\\n position:relative;\\r\\n}\\r\\n/* .data-section-wrapper:after{\\r\\n position:absolute;\\r\\n content:\\\"\\\";\\r\\n bottom:-47px;\\r\\n left:0;\\r\\n right:0;\\r\\n background:url(\\\"/assets/images/nlp-updated/Colour_lines.svg\\\") no-repeat center;\\r\\n width:799px;\\r\\n height:53px;\\r\\n margin:0 auto;\\r\\n z-index:-1;\\r\\n} */\\r\\n.data-section-wrapper:after{\\r\\n position:absolute;\\r\\n content:\\\"\\\";\\r\\n bottom:-396px;\\r\\n left:0;\\r\\n right:0;\\r\\n background:url(\\\"/assets/images/nlp-updated/solution_data_line.svg\\\") no-repeat center;\\r\\n width:838px;\\r\\n height:400px;\\r\\n margin:0 auto;\\r\\n z-index:-1;\\r\\n}\\r\\n#data{\\r\\n padding-top:0;\\r\\n}\\r\\n#data .problem-bg{\\r\\n content:\\\"\\\";\\r\\n /* width:272px;\\r\\n height:272px; */\\r\\n width:202px;\\r\\n height:202px;\\r\\n position:absolute;\\r\\n border-radius:100%;\\r\\n top:-140px;\\r\\n left:0;\\r\\n right:0;\\r\\n display:block;\\r\\n margin:0 auto;\\r\\n background-color:#fff;\\r\\n}\\r\\n#data .data-content{\\r\\n margin-bottom:65px;\\r\\n padding-left:73px;\\r\\n}\\r\\n#data .data-content h3{\\r\\n font-weight:normal !important;\\r\\n margin-bottom:25px !important;\\r\\n}\\r\\n#data .data-content h6{\\r\\n font-size:18px;\\r\\n font-weight:normal !important;\\r\\n color:#000000;\\r\\n margin-bottom:0;\\r\\n}\\r\\n#data .data-content p{\\r\\n font-size:18px;\\r\\n color:#000000;\\r\\n}\\r\\n.data-tabs{\\r\\n width:100%;\\r\\n}\\r\\n.data-tabs .nav{\\r\\n justify-content:center;\\r\\n}\\r\\n.data-tabs .nav-item{\\r\\n margin:0 8px;\\r\\n max-width:330px;\\r\\n width:100%;\\r\\n}\\r\\n.data-tabs .nav-item a{\\r\\n border-radius:30px;\\r\\n font-weight:900 !important;\\r\\n font-size:20px !important;\\r\\n /* cursor:pointer; */\\r\\n transition:all 300ms ease-in;\\r\\n}\\r\\n.data-tabs .market-stag a{\\r\\n color:#85c8bc;\\r\\n border:solid 3px #85c8bc;\\r\\n}\\r\\n/* .data-tabs .market-stag a:hover,.data-tabs .market-stag .active{\\r\\n background-color:#85c8bc;\\r\\n color:#fff;\\r\\n} */\\r\\n.data-tabs .client-spe-data a{\\r\\n color:#01629c;\\r\\n border:solid 3px #01629c;\\r\\n}\\r\\n.data-tabs .client-spe-data a:hover,.data-tabs .client-spe-data .active{\\r\\n background-color:#01629c;\\r\\n color:#fff;\\r\\n}\\r\\n.data-tabs .rd a{\\r\\n border:solid 3px #6e2b61;\\r\\n color:#6e2b61;\\r\\n}\\r\\n.data-tabs .rd a:hover,.data-tabs .rd .active{\\r\\n background-color:#6e2b61;\\r\\n color:#fff;\\r\\n}\\r\\n/* .tabs-main-box{\\r\\n margin:121px 0 0 0;\\r\\n} */\\r\\n.data-tab-single{\\r\\n height: 100%;\\r\\n /* border-radius:78px; */\\r\\n border-radius: 0 78px;\\r\\n background-color:#ffffff;\\r\\n position:relative;\\r\\n /* padding-top:40px; */\\r\\n padding: 20px;\\r\\n display:flex;\\r\\n flex-direction:column;\\r\\n /* height:100%; */\\r\\n align-items:center;\\r\\n justify-content:center;\\r\\n margin: 25px auto;\\r\\n}\\r\\n/* .data-tab-single::before{\\r\\n width:20px;\\r\\n height:20px;\\r\\n background-color:#ffffff;\\r\\n content:\\\"\\\";\\r\\n display:block;\\r\\n border-radius:100%;\\r\\n bottom:-11px;\\r\\n left:0;\\r\\n right:0;\\r\\n margin:0 auto;\\r\\n position:absolute;\\r\\n} */\\r\\n/* .data-tab-single::after{\\r\\n position:absolute;\\r\\n content:\\\"\\\";\\r\\n left:0;\\r\\n right:0;\\r\\n bottom:-116px;\\r\\n display:block;\\r\\n margin:0 auto;\\r\\n} */\\r\\n.market-stag-single{\\r\\n\\tborder:solid 3px #85c8bc;\\r\\n}\\r\\n.market-stag-single::before{\\r\\n border:solid 3px #85c8bc;\\r\\n}\\r\\n.market-stag-single::after{\\r\\n background-image:url(\\\"/assets/images/nlp-updated/down-green-arrow.svg\\\");\\r\\n background-repeat:no-repeat;\\r\\n height:105px;\\r\\n width:20px;\\r\\n background-position:center 0;\\r\\n}\\r\\n.client-spec-data-single:after{\\r\\n background:#fff url(\\\"/assets/images/nlp-updated/down-blue-arrow.svg\\\") no-repeat center 0;\\r\\n height:105px;\\r\\n width:20px;\\r\\n}\\r\\n.client-spec-data-single{\\r\\n border:solid 3px #116ca2;\\r\\n}\\r\\n.client-spec-data-single::before{\\r\\n border:solid 3px #116ca2;\\r\\n}\\r\\n.client-spec-data-single::after{\\r\\n background-color:#f0f0f0;\\r\\n}\\r\\n.r-and-d-single{\\r\\n border:solid 3px #6e2b61;\\r\\n}\\r\\n.r-and-d-single::before{\\r\\n border:solid 3px #6e2b61;\\r\\n}\\r\\n.r-and-d-single:after{\\r\\n background-image:url(\\\"/assets/images/nlp-updated/down-brown-arrow.svg\\\");\\r\\n background-repeat:no-repeat;\\r\\n height:105px;\\r\\n width:20px;\\r\\n background-position:center 0;\\r\\n}\\r\\n.r-and-d-icon{\\r\\n background-color:#6e2b61;\\r\\n}\\r\\n.r-and-d-icon.pubmed-icon{\\r\\n background-image:url(/assets/images/nlp-updated/Pubmed_icon.svg) !important;\\r\\n}\\r\\n.r-and-d-icon.trialtrove-icon{\\r\\n background-image:url(/assets/images/nlp-updated/Trialtrove.svg) !important;\\r\\n}\\r\\n.r-and-d-icon.clinical-icon{\\r\\n background-image:url(/assets/images/nlp-updated/ClinicaTrials.svg) !important;\\r\\n}\\r\\n.protocol-design-box h5{\\r\\n color:#6e2b61 !important;\\r\\n}\\r\\n.protocol-design-box::before{\\r\\n background-image:url(/assets/images/nlp-updated/connectors-brown.svg) !important;\\r\\n background-position:50% center !important;\\r\\n}\\r\\n.marketing-strategy-box.protocol-design-box .marketing-strategy-icon{\\r\\n background-color:#6e2b61;\\r\\n background-image:url(/assets/images/nlp-updated/Protocol_Design_in_R&D_icon.svg);\\r\\n}\\r\\n.data-icon-box{\\r\\n background-position:center;\\r\\n background-repeat:no-repeat;\\r\\n width:70px;\\r\\n height:70px;\\r\\n border-radius:100%;\\t\\r\\n \\tposition:absolute;\\r\\n /* top:-35px; */\\r\\n top:-20px;\\r\\n /* left:0; */\\r\\n left: -30px;\\r\\n \\t/* right:0; */\\r\\n /* margin:0 auto; */\\r\\n margin: auto;\\r\\n \\tdisplay:block;\\r\\n}\\r\\n.market-stag-icon{\\r\\n background-color:#85c8bc;\\r\\n}\\r\\n.twitter-icon{\\r\\n background-image:url(\\\"/assets/images/nlp-updated/twitter.svg\\\");\\r\\n}\\r\\n.market-research-icon{ \\r\\n background-image:url(\\\"/assets/images/nlp-updated/market-research.svg\\\");\\r\\n}\\r\\n.patient-conversation-icon{\\r\\n background-image:url(\\\"/assets/images/nlp-updated/patient-conversation.svg\\\");\\r\\n}\\r\\n.msl-notes-icon{\\r\\n background-image:url(\\\"/assets/images/nlp-updated/msl-notes.svg\\\");\\r\\n}\\r\\n.call-center-note-icon{\\r\\n background-image:url(\\\"/assets/images/nlp-updated/call-centers.svg\\\");\\r\\n}\\r\\n.field-coaching-icon{\\r\\n background-image:url(\\\"/assets/images/nlp-updated/field-coaching.svg\\\");\\r\\n}\\r\\n.client-data-icon{\\r\\n background-color:#116ca2;\\r\\n}\\r\\n/* .market-stag-wrap .swing-in-top-fwd,.client-spe-data-wrap .swing-in-top-fwd,.r-and-d-wrap .swing-in-top-fwd{\\r\\n opacity: 0;\\r\\n}\\r\\n.market-stag-wrap .swing-in-top-fwd:first-child,.client-spe-data-wrap .swing-in-top-fwd:first-child,.r-and-d-wrap .swing-in-top-fwd:first-child{\\r\\n animation-delay: 500ms;\\r\\n}\\r\\n.market-stag-wrap .swing-in-top-fwd:nth-child(2),.client-spe-data-wrap .swing-in-top-fwd:nth-child(2),.r-and-d-wrap .swing-in-top-fwd:nth-child(2){\\r\\n animation-delay: 1000ms;\\r\\n}\\r\\n.market-stag-wrap .swing-in-top-fwd:last-child,.client-spe-data-wrap .swing-in-top-fwd:last-child,.r-and-d-wrap .swing-in-top-fwd:last-child{\\r\\n animation-delay: 1500ms;\\r\\n}\\r\\n.market-stag-wrap.fade-in .swing-in-top-fwd,.client-spe-data-wrap.fade-in .swing-in-top-fwd,.r-and-d-wrap.fade-in .swing-in-top-fwd{\\r\\n opacity: 1;\\r\\n} */\\r\\n.market-stag-wrap.abc .tabs-inner-box {\\r\\n animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:first-child{\\r\\n animation-delay: 200ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:nth-child(2){\\r\\n animation-delay: 1100ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:nth-child(3){\\r\\n animation-delay: 900ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:nth-child(4){\\r\\n animation-delay: 700ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:nth-child(5){\\r\\n animation-delay: 300ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:nth-child(6){\\r\\n animation-delay: 400ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:nth-child(7){\\r\\n animation-delay: 1200ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:nth-child(8){\\r\\n animation-delay: 1000ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:nth-child(9){\\r\\n animation-delay: 800ms;\\r\\n}\\r\\n/* .market-stag-wrap.abc .tabs-inner-box:first-child > :first-child{\\r\\n animation-delay: 100ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:first-child > :first-child{\\r\\n animation-delay: 200ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:first-child > :nth-child(3){\\r\\n animation-delay: 300ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:first-child > :last-child{\\r\\n animation-delay: 400ms;\\r\\n} */\\r\\n/* .market-stag-wrap.abc .tabs-inner-box:nth-child(2) > :first-child{\\r\\n animation-delay: 500ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:nth-child(2) > :nth-child(2){\\r\\n animation-delay: 600ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:nth-child(2) > :nth-child(3){\\r\\n animation-delay: 700ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:nth-child(2) > :last-child{\\r\\n animation-delay: 800ms;\\r\\n} */\\r\\n/* .market-stag-wrap.abc .tabs-inner-box:last-child > :first-child{\\r\\n animation-delay: 900ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:last-child > :nth-child(2){\\r\\n animation-delay: 1000ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:last-child > :nth-child(3){\\r\\n animation-delay: 1100ms;\\r\\n}\\r\\n.market-stag-wrap.abc .tabs-inner-box:last-child > :last-child{\\r\\n animation-delay: 1200ms;\\r\\n} */\\r\\n.solution-main-box .domain-training-wrap.fade-in > *{\\r\\n animation: swing-in-left-bck 0.6s cubic-bezier(0.175, 0.885, 0.320, 1.275) both;\\r\\n transition-delay: 1000ms;\\r\\n}\\r\\n.solution-main-box .domain-training-wrap.fade-in >:first-child{\\r\\n animation-delay: 100ms;\\r\\n animation: swing-in-top-fwd 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275) both;\\r\\n}\\r\\n.solution-main-box .domain-training-wrap.fade-in >:nth-child(2){\\r\\n animation-delay: 200ms;\\r\\n}\\r\\n.solution-main-box .domain-training-wrap.fade-in >:nth-child(3){\\r\\n animation-delay: 300ms;\\r\\n}\\r\\n.solution-main-box .domain-training-wrap.fade-in >:nth-child(4){\\r\\n animation-delay: 400ms;\\r\\n}\\r\\n.solution-main-box .domain-training-wrap.fade-in >:nth-child(5){\\r\\n animation-delay: 500ms;\\r\\n}\\r\\n/* .solution-main-box .domain-training-box.weak-supervision-box.fade-in > *{\\r\\n -webkit-animation: swing-in-left-bck 0.6s cubic-bezier(0.175, 0.885, 0.320, 1.275) both;\\r\\n animation: swing-in-left-bck 0.6s cubic-bezier(0.175, 0.885, 0.320, 1.275) both;\\r\\n transition-delay: 1000ms;\\r\\n} */\\r\\n.solution-main-box .domain-training-box.weak-supervision-box.fade-in div:first-child{\\r\\n animation-delay: 1000ms;\\r\\n animation: swing-in-top-fwd 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275) both;\\r\\n}\\r\\n.solution-main-box .domain-training-box.weak-supervision-box.fade-in div:nth-child(2){\\r\\n animation-delay: 2000ms;\\r\\n animation: swing-in-top-fwd 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275) both;\\r\\n}\\r\\n/* .solution-main-box .domain-training-box.weak-supervision-box.fade-in div:nth-child(3){\\r\\n animation: none;\\r\\n} */\\r\\n.solution-main-box .domain-training-box.weak-supervision-box.fade-in .domain-inner-wrap-box div:first-child,.solution-main-box .domain-training-box.weak-supervision-box.fade-in .domain-inner-wrap-box div:nth-child(4){\\r\\n animation-delay: 2300ms;\\r\\n animation: swing-in-left-bck 0.6s cubic-bezier(0.175, 0.885, 0.320, 1.275) both;\\r\\n}\\r\\n.solution-main-box .domain-training-box.weak-supervision-box.fade-in .domain-inner-wrap-box div:nth-child(2),\\r\\n.solution-main-box .domain-training-box.weak-supervision-box.fade-in .domain-inner-wrap-box div:nth-child(5){\\r\\n animation-delay: 2600ms;\\r\\n animation: swing-in-left-bck 0.6s cubic-bezier(0.175, 0.885, 0.320, 1.275) both;\\r\\n}\\r\\n.solution-main-box .domain-training-box.weak-supervision-box.fade-in .domain-inner-wrap-box div:nth-child(3),\\r\\n.solution-main-box .domain-training-box.weak-supervision-box.fade-in .domain-inner-wrap-box div:nth-child(6){\\r\\n animation-delay: 2900ms;\\r\\n animation: swing-in-left-bck 0.6s cubic-bezier(0.175, 0.885, 0.320, 1.275) both;\\r\\n}\\r\\n/* .solution-main-box .weak-supervision-box.fade-in >:nth-child(4){\\r\\n animation-delay: 400ms;\\r\\n}\\r\\n.solution-main-box .weak-supervision-box.fade-in >:nth-child(5){\\r\\n animation-delay: 500ms;\\r\\n} */\\r\\n.market-stag-wrap{\\r\\n opacity:0;\\r\\n transition:all 500ms ease-in-out;\\r\\n}\\r\\n.tabs-main-box .market-stag-wrap.fade-in{\\r\\n opacity:1;\\r\\n}\\r\\n.client-spe-data-wrap{\\r\\n opacity:0;\\r\\n transition:all 500ms ease-in-out;\\r\\n}\\r\\n.tabs-main-box .client-spe-data-wrap.fade-in{\\r\\n opacity:1;\\r\\n}\\r\\n.r-and-d-wrap{\\r\\n opacity:0;\\r\\n transition:all 500ms ease-in-out;\\r\\n}\\r\\n.tabs-main-box .r-and-d-wrap.fade-in{\\r\\n opacity:1;\\r\\n}\\r\\n.domain-training-box{\\r\\n opacity:0;\\r\\n transition:all 500ms ease-in-out;\\r\\n}\\r\\n.solution-main-box .domain-training-box.fade-in{\\r\\n opacity:1;\\r\\n}\\r\\n.domain-ontology-box{\\r\\n opacity:0;\\r\\n transition:all 500ms ease-in-out;\\r\\n}\\r\\n.solution-main-box .domain-ontology-box.fade-in{\\r\\n opacity:1;\\r\\n}\\r\\n/* .market-stag-inner-wrap,.client-spe-data-inner-wrap,.r-and-d-inner-wrap{\\r\\n margin-bottom:130px;\\r\\n} */\\r\\n.tabs-inner-box .tabs-content{\\r\\n text-align:center;\\r\\n /* padding:0px 30px 20px 30px; */\\r\\n padding: 0 30px;\\r\\n}\\r\\n.data-tab-single h4{\\r\\n font-size:20px;\\r\\n margin:5px auto;\\r\\n font-weight:bold;\\r\\n color:#000000;\\r\\n text-align: center;\\r\\n}\\r\\n.tabs-inner-box{\\r\\n margin: 25px auto;\\r\\n}\\r\\n.tabs-inner-box .tabs-content p{\\r\\n font-size:18px !important;\\r\\n color:#414141 !important;\\r\\n line-height:24px !important;\\r\\n margin:0;\\r\\n}\\r\\n.tabs-inner-box .insight-box{\\r\\n border-radius:78px;\\r\\n position:relative;\\r\\n display:flex;\\r\\n height:100%;\\r\\n align-items:center;\\r\\n justify-content:center;\\r\\n}\\r\\n.tabs-inner-box .insight-box:after{\\r\\n width:20px;\\r\\n height:20px;\\r\\n background-color:#ffffff;\\r\\n content:\\\"\\\";\\r\\n display:block;\\r\\n border-radius:100%;\\r\\n bottom:-11px;\\r\\n left:0;\\r\\n right:0;\\r\\n margin:0 auto;\\r\\n position:absolute;\\r\\n z-index:2;\\r\\n}\\r\\n.market-insight.insight-box:after{\\r\\n border:solid 3px #85c8bc;\\r\\n}\\r\\n.client-insight.insight-box:after{\\r\\n border:solid 3px #01629c;\\r\\n}\\r\\n.r-and-d-insight.insight-box:after{\\r\\n border:solid 3px #6e2b61;\\r\\n}\\r\\n.tabs-inner-box .insight-box .insight-title{\\r\\n position:absolute;\\r\\n top:-20px;\\r\\n left:0;\\r\\n right:0;\\r\\n margin:0 auto;\\r\\n text-align:center;\\r\\n display:block;\\r\\n content:\\\"\\\";\\r\\n border-radius:78px;\\r\\n width:140px;\\r\\n height:40px; \\r\\n}\\r\\n.insight-box.market-insight{\\r\\n border:solid 3px #85c8bc;\\r\\n background-color:#f6fffd;\\r\\n height:120px;\\r\\n}\\r\\n.insight-box.market-insight .insight-title{\\r\\n border:solid 3px #85c8bc;\\r\\n background-color:#85c8bc;\\r\\n}\\r\\n.insight-box.client-insight{\\r\\n border:solid 3px #116ca2;\\r\\n background-color:#e7f0f6;\\r\\n}\\r\\n.insight-box.client-insight::before{\\r\\n background-image:url(\\\"/assets/images/nlp-updated/connector-blue-arrow.svg\\\");\\r\\n background-repeat:no-repeat;\\r\\n height:50px;\\r\\n width:14px;\\r\\n background-position:center 0;\\r\\n position:absolute;\\r\\n content:\\\"\\\";\\r\\n left:0;\\r\\n right:0;\\r\\n bottom:-49px;\\r\\n display:block;\\r\\n margin:0 auto;\\r\\n}\\r\\n.insight-box.client-insight .insight-title{\\r\\n border:solid 3px #116ca2;\\r\\n background-color:#116ca2;\\r\\n}\\r\\n.insight-box.r-and-d-insight{\\r\\n border:solid 3px #6e2b61;\\r\\n background-color:#f1eaef;\\r\\n}\\r\\n.insight-box.r-and-d-insight .insight-title{\\r\\n border:solid 3px #6e2b61;\\r\\n background-color:#6e2b61;\\r\\n}\\r\\n.tabs-inner-box .insight-box .insight-title h5{\\r\\n font-size:24px;\\r\\n font-weight:500;\\r\\n font-style:normal;\\r\\n font-stretch:normal;\\r\\n line-height:normal;\\r\\n letter-spacing:normal;\\r\\n color:#ffffff; \\r\\n}\\r\\n.client-strategy-box{\\r\\n margin:44px auto 0;\\r\\n max-width:211px;\\r\\n display:flex;\\r\\n height:100%;\\r\\n flex-direction:column;\\r\\n}\\r\\n.client-strategy-box .client-strategy-icon{\\r\\n width:120px;\\r\\n height:120px;\\r\\n border-radius:100%;\\r\\n background-color:#116ca2;\\r\\n margin:0 auto 14px;\\r\\n}\\r\\n.client-strategy-box .client-strategy-icon.medical-affair{\\r\\n background-image:url(\\\"/assets/images/nlp-updated/medical-affairs.svg\\\");\\r\\n background-repeat:no-repeat;\\r\\n background-position:center;\\r\\n}\\r\\n.client-strategy-box .client-strategy-icon.patient-service{\\r\\n background-image:url(\\\"/assets/images/nlp-updated/patient-service.svg\\\");\\r\\n background-repeat:no-repeat;\\r\\n background-position:center;\\r\\n}\\r\\n.client-strategy-box .client-strategy-icon.field-force{\\r\\n background-image:url(\\\"/assets/images/nlp-updated/field-force.svg\\\");\\r\\n background-repeat:no-repeat;\\r\\n background-position:center;\\r\\n}\\r\\n.client-strategy-box h5{\\r\\n font-size:30px;\\r\\n font-weight:bold;\\r\\n color:#116ca2;\\r\\n text-align:center;\\r\\n}\\r\\n.tabs-inner-box .insight-box .tabs-content{\\r\\n padding:33px 26px;\\r\\n}\\r\\n.marketing-strategy-box{\\r\\n position:relative;\\r\\n width:100%;\\r\\n padding-top:96px;\\r\\n}\\r\\n.marketing-strategy-box .marketing-strategy-icon{\\r\\n background-image:url(\\\"/assets/images/nlp-updated/marketing-strategy.svg\\\"); \\r\\n background-position:center;\\r\\n background-repeat:no-repeat;\\r\\n height:120px; \\r\\n width:120px;\\r\\n border-radius:100%;\\r\\n margin:0px auto 15px;\\r\\n background-color:#85c8bc;\\r\\n}\\r\\n.marketing-strategy-box h5{\\r\\n font-size:30px;\\r\\n color:#85c8bc;\\r\\n text-align:center;\\r\\n margin:0;\\r\\n}\\r\\n.marketing-strategy-box::before{\\r\\n background-image:url(\\\"/assets/images/nlp-updated/connectors-green.svg\\\"); \\r\\n background-position:50% center;\\r\\n background-repeat:no-repeat;\\r\\n content:\\\"\\\";\\r\\n position:absolute;\\r\\n left:0;\\r\\n right:0;\\r\\n top:0;\\r\\n margin:0 auto;\\r\\n display:block;\\r\\n width:100%;\\r\\n height:96px;\\r\\n}\\r\\n.challange-wraper{\\r\\n margin-top:45px;\\r\\n}\\r\\n.challange-wraper::after{\\r\\n position: absolute;\\r\\n content: \\\"\\\";\\r\\n bottom: -398px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n background: url(\\\"/assets/images/nlp-updated/solution_data_line.svg\\\") no-repeat center;\\r\\n width: 838px;\\r\\n height: 400px;\\r\\n margin: 0 auto;\\r\\n z-index: -1;\\r\\n}\\r\\n.challange-wraper .challenge-content{\\r\\n padding-left:73px;\\r\\n}\\r\\n.challange-wraper .challenge-content p{\\r\\n font-size:18px;\\r\\n color:#000;\\r\\n}\\r\\n.challange-wraper .challenge-info{\\r\\n text-align:center;\\r\\n max-width:378px;\\r\\n width:100%;\\r\\n margin:0 auto;\\r\\n}\\r\\n.challange-wraper .challenge-info p{\\r\\n font-size:16px !important;\\r\\n line-height:30px !important;\\r\\n font-weight:normal;\\r\\n color:#000000 !important;\\r\\n text-align:left !important;\\r\\n}\\r\\n.challenge-features-wrap{\\r\\n margin-top:31px;\\r\\n}\\r\\n.challenge-features-wrap .challenge-img{\\r\\n height:260px;\\r\\n width:260px;\\r\\n margin:0 auto;\\r\\n}\\r\\n.challenge-features-wrap .challenge-img.volume{\\r\\n background:url(\\\"/assets/images/nlp-updated/Volume_icon.svg\\\") no-repeat center; \\r\\n height:210px;\\r\\n width:190px;\\r\\n}\\r\\n.challenge-features-wrap .challenge-img.quality{\\r\\n background:url(\\\"/assets/images/nlp-updated/Quality_icon.svg\\\") no-repeat center; \\r\\n height:210px;\\r\\n width:190px;\\r\\n}\\r\\n.challenge-features-wrap .challenge-img.adoption{\\r\\n background:url(\\\"/assets/images/nlp-updated/Complexity.svg\\\") no-repeat center; \\r\\n height:210px;\\r\\n width:190px;\\r\\n}\\r\\n#solution {\\r\\n margin-top:21px;\\r\\n}\\r\\n#solution .solution-content{\\r\\n padding-left:120px;\\r\\n}\\r\\n.solution-content h3{\\r\\n font-size:48px !important;\\r\\n color:#000 !important;\\r\\n}\\r\\n.solution-content p{\\r\\n font-size:18px !important;\\r\\n color:#000000 !important;\\r\\n margin-top:48px !important;\\r\\n}\\r\\n.solution-tabs{\\r\\n margin:85px auto 0;\\r\\n position:relative;\\r\\n}\\r\\n.solution-tabs .nav-item a{\\r\\n position:relative;\\r\\n}\\r\\n.solution-tabs .nav-item{\\r\\n max-width:250px;\\r\\n}\\r\\n.solution-tabs .nav-item a:before{\\r\\n content:\\\"\\\";\\r\\n height:0;\\r\\n width:3px;\\r\\n left:0;\\r\\n right:0;\\r\\n bottom:-60px;\\r\\n margin:0 auto;\\r\\n display:block;\\r\\n position:absolute;\\r\\n}\\r\\n.solution-tabs .domain-train a{\\r\\n border:solid 3px #065280;\\r\\n color:#065280;\\r\\n background-color:#fff;\\r\\n}\\r\\n.solution-tabs .domain-train a:hover,.solution-tabs .domain-train a.active{\\r\\n border:solid 3px #065280;\\r\\n background-color:#065280;\\r\\n color:#fff;\\r\\n}\\r\\n.solution-tabs .domain-train a:hover::before,.solution-tabs .domain-train a.active:before{\\r\\n height:60px;\\r\\n background-color:#065280;\\r\\n}\\r\\n.solution-tabs .weak-supervision a{\\r\\n border:solid 3px #6e2b61;\\r\\n color:#6e2b61;\\r\\n background-color:#fff;\\r\\n}\\r\\n.solution-tabs .weak-supervision a:hover,.solution-tabs .weak-supervision a.active{\\r\\n border:solid 3px #6e2b61;\\r\\n background-color:#6e2b61;\\r\\n color:#fff;\\r\\n}\\r\\n.solution-tabs .weak-supervision a:hover::before,.solution-tabs .weak-supervision a.active::before{\\r\\n height:60px;\\r\\n background-color:#6e2b61;\\r\\n}\\r\\n.solution-tabs .domain-ontologies a{\\r\\n border:solid 3px #aabe70;\\r\\n color:#aabe70;\\r\\n background-color:#fff;\\r\\n}\\r\\n.solution-tabs .domain-ontologies a:hover,.solution-tabs .domain-ontologies a.active{\\r\\n border:solid 3px #aabe70;\\r\\n background-color:#aabe70;\\r\\n color:#fff;\\r\\n}\\r\\n.solution-tabs .domain-ontologies a:hover::before,.solution-tabs .domain-ontologies a.active::before{\\r\\n height:60px;\\r\\n background-color:#aabe70;\\r\\n}\\r\\n.solution-tabs:after{\\r\\n background:url(\\\"/assets/images/nlp-updated/Solution_Line_Graphic.svg\\\") no-repeat center;\\r\\n position:absolute;\\r\\n left:0;\\r\\n right:0;\\r\\n bottom:-507px;\\r\\n content:\\\"\\\";\\r\\n height:507px;\\r\\n z-index:-1;\\r\\n}\\r\\n.solution-main-box .domain-training-box{\\r\\n border-radius:236px;\\r\\n border:solid 2px #065280;\\r\\n padding:23px 80px;\\r\\n margin:57px auto 0;\\r\\n align-content:center;\\r\\n justify-content:center;\\r\\n height:492px;\\r\\n max-width:1417px;\\r\\n width:100%;\\r\\n position:relative;\\r\\n}\\r\\n.solution-main-box .domain-training-box span{\\r\\n text-align:center;\\r\\n font-weight:bold !important;\\r\\n color:#000000;\\r\\n font-size:20px;\\r\\n}\\r\\n.solution-main-box .domain-training-box h4{\\r\\n font-size:45px !important;\\r\\n font-weight:500 !important;\\r\\n color:#065280 !important;\\r\\n text-align:center;\\r\\n position:absolute;\\r\\n top:23px;\\r\\n left:0;\\r\\n right:0;\\r\\n}\\r\\n.domain-training-box .pre-trained-box{\\r\\n height:350px;\\r\\n max-width:207px;\\r\\n display:flex;\\r\\n flex-direction:column;\\r\\n justify-content:center;\\r\\n padding-top:63px;\\r\\n}\\r\\n.domain-training-box .pre-trained-box-inner{\\r\\n background:url(\\\"/assets/images/nlp-updated/pre-trained.svg\\\") no-repeat center;\\r\\n height:178px;\\r\\n width:194px;\\r\\n}\\r\\n.domain-training-box .domain-data-box{\\r\\n height:323px;\\r\\n max-width:178px;\\r\\n display:flex;\\r\\n flex-direction:column;\\r\\n justify-content:center;\\r\\n position:relative;\\r\\n margin-right:27px;\\r\\n}\\r\\n.domain-training-box .domain-data-box span{\\r\\n position:absolute;\\r\\n left:0;\\r\\n right:0;\\r\\n margin:0 auto;\\r\\n bottom:80px;\\r\\n color:#fff !important;\\r\\n}\\r\\n.domain-training-box .domain-data-box-inner{\\r\\n background:url(\\\"/assets/images/nlp-updated/domain-data.svg\\\") no-repeat center;\\r\\n height:178px;\\r\\n width:194px;\\r\\n}\\r\\n.domain-train-main-box{\\r\\n width:595px;\\r\\n height:350px;\\r\\n display:flex;\\r\\n flex-direction:column;\\r\\n justify-content:center;\\r\\n\\r\\n}\\r\\n.domain-training-box .domain-train-inner-bluebox{\\r\\n background:url(\\\"/assets/images/nlp-updated/domain-train-inner-bluebox.svg\\\") no-repeat center;\\r\\n height:239px;\\r\\n width:595px;\\r\\n display:flex;\\r\\n flex-wrap:wrap;\\r\\n padding:0 25px;\\r\\n}\\r\\n.domain-training-box .domain-train-inner-bluebox span{\\r\\n position:absolute;\\r\\n bottom:5px;\\r\\n left:0;\\r\\n right:0;\\r\\n color:#fff !important;\\r\\n line-height:1.2 !important;\\r\\n font-weight:normal !important;\\r\\n}\\r\\n.domain-train-inner-bluebox .col{\\r\\n max-width:168px;\\r\\n height:178px;\\r\\n border:1px solid #fff;\\r\\n border-radius:6px;\\r\\n margin:0 10px 0 0;\\r\\n display:flex;\\r\\n flex-direction:column;\\r\\n justify-content:center;\\r\\n padding-bottom:52px;\\r\\n}\\r\\n.domain-train-inner-bluebox .col:last-child{\\r\\n margin:0;\\r\\n}\\r\\n.domain-training-box .domain-train-inner-bluebox .finetuning-box-inner{\\r\\n background:url(\\\"/assets/images/nlp-updated/finetuning.svg\\\") no-repeat center;\\r\\n height:68px;\\r\\n width:75px;\\r\\n margin:0 auto;\\r\\n}\\r\\n.domain-training-box .domain-train-inner-bluebox .update-word-inner{\\r\\n background:url(\\\"/assets/images/nlp-updated/update-word.svg\\\") no-repeat center;\\r\\n height:89px;\\r\\n width:79px;\\r\\n margin:0 auto;\\r\\n}\\r\\n.domain-training-box .domain-train-inner-bluebox .new-voc-inner{\\r\\n background:url(\\\"/assets/images/nlp-updated/new-voc.svg\\\") no-repeat center;\\r\\n height:52px;\\r\\n width:73px;\\r\\n margin:0 auto;\\r\\n}\\r\\n.domain-training-box .domain-adjust-box{\\r\\n width:216px;\\r\\n height:320px;\\r\\n display:flex;\\r\\n justify-content:center;\\r\\n flex-direction:column;\\r\\n margin-left:15px;\\r\\n padding-top:63px;\\r\\n}\\r\\n.domain-training-box .domain-adjust-box-inner{ \\r\\n background:url(\\\"/assets/images/nlp-updated/domain-adjust.svg\\\") no-repeat center;\\r\\n height:178px;\\r\\n width:216px;\\r\\n}\\r\\n.weak-supervision-box{\\r\\n border:3px solid #6e2b61 !important;\\r\\n height:559px !important;\\r\\n border-radius:302px !important;\\r\\n}\\r\\n.weak-supervision-box{\\r\\n opacity:0;\\r\\n transition:all 500ms ease-in-out;\\r\\n}\\r\\n.solution-main-box .weak-supervision-box.fade-in{\\r\\n opacity:1;\\r\\n}\\r\\n.solution-main-box .domain-training-box.weak-supervision-box h4{\\r\\n color:#6e2b61 !important;\\r\\n position:static;\\r\\n}\\r\\n.domain-expert-box{\\r\\n display:flex;\\r\\n flex-direction:column;\\r\\n width:100%;\\r\\n text-align:center;\\r\\n position:relative;\\r\\n height:170px;\\r\\n margin:20px auto 0;\\r\\n}\\r\\n.domain-expert-box:after{\\r\\n background:url(\\\"/assets/images/nlp-updated/connectors_top_brown.svg\\\") no-repeat center;\\r\\n background-size:67%;\\r\\n width:100%;\\r\\n height:91px;\\r\\n content:\\\"\\\";\\r\\n position:absolute;\\r\\n bottom:0;\\r\\n right:0;\\r\\n left:0;\\r\\n margin:0 auto;\\r\\n}\\r\\n.weak-supervision-box .domain-expert-box .domain-expert-icon{\\r\\n background-image:url(\\\"/assets/images/nlp-updated/Domain_Export_icon.svg\\\");\\r\\n background-repeat:no-repeat;\\r\\n background-position:center center;\\r\\n width:50px;\\r\\n height:53px;\\r\\n margin:0 auto;\\r\\n}\\r\\n.weak-supervision-box .domain-expert-box span{\\r\\n font-size:20px;\\r\\n color:#000000;\\r\\n text-align:center;\\r\\n}\\r\\n.domain-inner-wrap-box{\\r\\n max-width:1120px;\\r\\n width:100%;\\r\\n margin:0 auto\\r\\n}\\r\\n.domain-inner-wrap-box .domain-inner-box{\\r\\n display:flex;\\r\\n flex-direction:column;\\r\\n justify-content:center;\\r\\n text-align:center;\\r\\n}\\r\\n.domain-inner-wrap-box .weak-name{\\r\\n font-size:20px;\\r\\n font-weight:500;\\r\\n color:#000000;\\r\\n margin-top:10px;\\r\\n display:block; \\r\\n}\\r\\n.domain-inner-wrap-box .domain-inner-box .domain-inner-gray-box{\\r\\n background-color:#f0f0f0;\\r\\n border-radius:6px;\\r\\n width:186px;\\r\\n height:186px;\\r\\n display:flex;\\r\\n flex-direction:column;\\r\\n justify-content:center;\\r\\n margin:0 auto;\\r\\n}\\r\\n.domain-inner-gray-box .doamin-inner-content {\\r\\n position:absolute;\\r\\n bottom:0;\\r\\n max-width:154px;\\r\\n right:0;\\r\\n left:0;\\r\\n margin:0 auto;\\r\\n}\\r\\n.domain-inner-gray-box .doamin-inner-content span{\\r\\n font-size:20px;\\r\\n font-weight:500;\\r\\n line-height:1;\\r\\n color:#777777;\\r\\n}\\r\\n.domain-inner-wrap-box .domain-inner-box .domain-inner-gray-box.noisy-labels-box{\\r\\n background-color:#6e2b61;\\r\\n}\\r\\n.domain-bg-img.noisy-labels-img{\\r\\n background:url(\\\"/assets/images/nlp-updated/noisy-labels.svg\\\") no-repeat center;\\r\\n width:137px;\\r\\n height:131px;\\r\\n}\\r\\n.domain-bg-img{\\r\\n margin:0 auto;\\r\\n}\\r\\n.domain-bg-img.heuristics-img{\\r\\n background:url(\\\"/assets/images/nlp-updated/Heuristics_icon.svg\\\") no-repeat center;\\r\\n height:89px;\\r\\n width:98px;\\r\\n margin-bottom:30px;\\r\\n}\\r\\n.weak-classifiers-wrap{\\r\\n display:flex;\\r\\n width:572px;\\r\\n height:186px;\\r\\n margin:0 auto;\\r\\n justify-content:center;\\r\\n}\\r\\n.weak-classifiers-wrap .domain-inner-box{\\r\\n margin-right:5px;\\r\\n display:flex;\\r\\n flex-direction:column;\\r\\n justify-content:center;\\r\\n}\\r\\n.weak-classifiers-wrap .domain-inner-box:last-child{\\r\\n margin-right:0;\\r\\n}\\r\\n.weak-classifiers-wrap .weak-classi-one-img{\\r\\n background:url(\\\"/assets/images/nlp-updated/weak-classi-one.svg\\\") no-repeat center;\\r\\n width:126px;\\r\\n height:109px;\\r\\n}\\r\\n.weak-classifiers-wrap .weak-classi-two-img{\\r\\n background:url(\\\"/assets/images/nlp-updated/weak-classi-two.svg\\\") no-repeat center;\\r\\n width:135px;\\r\\n height:142px;\\r\\n}\\r\\n.weak-classifiers-wrap .weak-classi-three-img{\\r\\n background:url(\\\"/assets/images/nlp-updated/weak-classi-three.svg\\\") no-repeat center;\\r\\n width:135px;\\r\\n height:133px;\\r\\n}\\r\\n.models-main-wrapper .model-content{\\r\\n max-width:500px;\\r\\n width:100%;\\r\\n padding-left:120px;\\r\\n}\\r\\n.models-main-wrapper{\\r\\n margin:228px 0 0;\\r\\n}\\r\\n.model-hero-lines-img{\\r\\n padding:0px 0 91px;\\r\\n text-align:center;\\r\\n position:relative;\\r\\n z-index:-1;\\r\\n}\\r\\n.model-hero-lines-img .vertical-lines{\\r\\n padding-top:100px;\\r\\n position:relative;\\r\\n z-index:9;\\r\\n}\\r\\n.model-hero-lines-img .vertical-lines > img{\\r\\n max-width:414px;\\r\\n}\\r\\n.model-hero-lines-img .vertical-lines .lines-overlay{\\r\\n position:absolute;\\r\\n width:500px;\\r\\n background:white;\\r\\n top:0;\\r\\n bottom:0;\\r\\n left:50%;\\r\\n transform:translate(-50%, 0%);\\r\\n transition:all 800ms ease-in-out;\\r\\n transition-delay:1000ms;\\r\\n}\\r\\n.model-hero-lines-img.revel .vertical-lines .lines-overlay{\\r\\n top:100%;\\r\\n}\\r\\n.model-hero-lines-img .structured-data-top{\\r\\n position:absolute;\\r\\n top:-100px;\\r\\n left:0;\\r\\n right:0;\\r\\n overflow:hidden;\\r\\n z-index:9;\\r\\n}\\r\\n.model-hero-lines-img .structured-data-top img{\\r\\n max-width:1143px;\\r\\n}\\r\\n.model-hero-lines-img .overlay{\\r\\n width:50%;\\r\\n position:absolute;\\r\\n background:white;\\r\\n height:100%;\\r\\n transition:all 800ms ease-in-out;\\r\\n}\\r\\n.model-hero-lines-img .overlay.top-left{\\r\\n left:0;\\r\\n top:0;\\r\\n}\\r\\n.model-hero-lines-img .overlay.top-right{\\r\\n right:0;\\r\\n top:0;\\r\\n}\\r\\n.model-hero-lines-img .structured-data-top .top-right{\\r\\n transform-origin:left bottom;\\r\\n}\\r\\n.model-hero-lines-img .structured-data-top .top-left{\\r\\n transform-origin:right bottom;\\r\\n}\\r\\n.model-hero-lines-img .structured-data-bottom .top-right{\\r\\n transform-origin:left top;\\r\\n}\\r\\n.model-hero-lines-img .structured-data-bottom .top-left{\\r\\n transform-origin:right top;\\r\\n}\\r\\n.model-hero-lines-img.revel .structured-data-top .top-right,\\r\\n.model-hero-lines-img.revel .structured-data-bottom .top-left{\\r\\n transform:rotate(90deg);\\r\\n}\\r\\n.model-hero-lines-img.revel .structured-data-top .top-left,\\r\\n.model-hero-lines-img.revel .structured-data-bottom .top-right{\\r\\n transform:rotate(-90deg);\\r\\n}\\r\\n.model-hero-lines-img .structured-data-bottom .overlay{\\r\\n transition-delay:1800ms;\\r\\n}\\r\\n.model-hero-lines-img .vertical-lines .data-content{\\r\\n position:absolute;\\r\\n left:0;\\r\\n right:0;\\r\\n margin:0 auto;\\r\\n max-width:288px;\\r\\n width:100%;\\r\\n bottom:120px;\\r\\n}\\r\\n.model-hero-lines-img .vertical-lines .data-content h5{\\r\\n font-weight:bold !important;\\r\\n font-size:36px !important;\\r\\n color:#333 !important;\\r\\n letter-spacing:-1.08px !important;\\r\\n text-transform:uppercase !important;\\r\\n}\\r\\n.model-hero-lines-img .structured-data-bottom{\\r\\n position:absolute;\\r\\n left:0;\\r\\n right:0;\\r\\n bottom:-10px;\\r\\n overflow:hidden;\\r\\n z-index:4;\\r\\n}\\r\\n.domain-training-box.domain-ontology-box{\\r\\n border:solid 2px #b5c681 !important;\\r\\n height:434px !important;\\r\\n border-radius:217px !important;\\r\\n display:flex;\\r\\n flex-wrap:wrap;\\r\\n flex-direction:column;\\r\\n padding-top:55px !important;\\r\\n position:relative;\\r\\n}\\r\\n.solution-main-box .domain-training-box.domain-ontology-box h4{\\r\\n color:#b5c681 !important;\\r\\n position:absolute;\\r\\n left:0;\\r\\n right:0;\\r\\n top:20px;\\r\\n margin:0 auto;\\r\\n}\\r\\n.domain-inner-wrapper{\\r\\n display:flex;\\r\\n flex-direction:row;\\r\\n justify-content:center;\\r\\n align-items:center;\\r\\n padding-top:55px;\\r\\n}\\r\\n.domain-inner-wrapper .domain-box{\\r\\n position:relative;\\r\\n margin-right:53px;\\r\\n}\\r\\n.domain-inner-wrapper .domain-box:last-child{\\r\\n margin-right:0;\\r\\n}\\r\\n.domain-inner-wrapper .domain-box:last-child:after{\\r\\n display:none;\\r\\n}\\r\\n.domain-inner-wrapper .domain-box.big-box{\\r\\n margin-left:13px;\\r\\n margin-right:65px;\\r\\n}\\r\\n.domain-inner-wrapper .domain-box.big-box span{\\r\\n font-size:48px !important;\\r\\n font-weight:bold !important;\\r\\n top:50px !important;\\r\\n}\\r\\n.domain-inner-wrapper .domain-box.big-box:after{\\r\\n right:-51px;\\r\\n top:74px;\\r\\n}\\r\\n.domain-inner-wrapper .domain-box span{\\r\\n position:absolute;\\r\\n left:0;\\r\\n right:0;\\r\\n top:32px;\\r\\n line-height:1;\\r\\n color:#fff;\\r\\n font-size:16px !important;\\r\\n}\\r\\n.domain-inner-wrapper .domain-box:after{\\r\\n position:absolute;\\r\\n right:-38px;\\r\\n width:23px;\\r\\n height:1px;\\r\\n background-color:#000;\\r\\n top:41px;\\r\\n content:\\\"\\\";\\r\\n margin:0 auto;\\r\\n}\\r\\n.domain-inner-wrapper .domain-box.small-box-top::before{\\r\\n position:absolute;\\r\\n top:-40px;\\r\\n height:25px;\\r\\n left:0;\\r\\n right:0;\\r\\n content:\\\"\\\";\\r\\n display:block;\\r\\n width:2px;\\r\\n background-color:#b5c681;\\r\\n margin:0 auto;\\r\\n}\\r\\n.domain-inner-wrapper .domain-box.small-box-bottom::before{\\r\\n position:absolute;\\r\\n bottom:-40px;\\r\\n height:25px;\\r\\n left:0;\\r\\n right:0;\\r\\n content:\\\"\\\";\\r\\n display:block;\\r\\n width:2px;\\r\\n background-color:#b5c681;\\r\\n margin:0 auto;\\r\\n}\\r\\n.domain-inner-wrapper .domain-box.small-box-top small{\\r\\n font-size:18px !important;\\r\\n font-weight:500 !important;\\r\\n color:#000;\\r\\n line-height:1.1 !important;\\r\\n position:absolute;\\r\\n top:-85px;\\r\\n left:0;\\r\\n right:0;\\r\\n text-align:center;\\r\\n display:flex;\\r\\n flex-direction:column;\\r\\n height:50px;\\r\\n justify-content:center;\\r\\n}\\r\\n.domain-inner-wrapper .domain-box.small-box-bottom small{\\r\\n font-size:18px !important;\\r\\n font-weight:500 !important;\\r\\n color:#000;\\r\\n line-height:1.1 !important;\\r\\n position:absolute;\\r\\n bottom:-90px;\\r\\n left:0;\\r\\n right:0;\\r\\n text-align:center;\\r\\n display:flex;\\r\\n flex-direction:column;\\r\\n height:50px;\\r\\n justify-content:center;\\r\\n}\\r\\n.domain-box .inner-big-box{\\r\\n height:148px;\\r\\n width:148px;\\r\\n background:#b5c681;\\r\\n border-radius:6px;\\r\\n transform:rotate(45deg);\\r\\n}\\r\\n.inner-small-box{\\r\\n height:85px;\\r\\n width:85px;\\r\\n background:#b5c681;\\r\\n border-radius:6px;\\r\\n transform:rotate(45deg);\\r\\n}\\r\\n.outcomes-main-wrapper{\\r\\n padding-bottom:78px;\\r\\n}\\r\\n.outcomes-main-wrapper .outcomes-content{\\r\\n padding-left:120px;\\r\\n max-width:370px;\\r\\n width:100%;\\r\\n color:#000 !important;\\r\\n z-index:9;\\r\\n position:relative;\\r\\n}\\r\\n.outcomes-main-wrapper .outcomes-content h3{\\r\\n margin-bottom:25px;\\r\\n}\\r\\n.outcomes-main-wrapper .outcomes-content p{\\r\\n font-size:18px;\\r\\n}\\r\\n.outcomes-main-wrapper .outcomes-features {\\r\\n max-width:1184px;\\r\\n width:100%;\\r\\n margin:55px auto 0;\\r\\n}\\r\\n.outcomes-main-wrapper .outcomes-features .outcomes-circle{\\r\\n width:200px;\\r\\n height:200px;\\r\\n border-radius:50%;\\r\\n margin:0 auto 5px;\\r\\n position:relative;\\r\\n}\\r\\n.outcomes-main-wrapper .outcomes-features .outcomes-circle:before{\\r\\n position:absolute;\\r\\n width:3px;\\r\\n content:\\\"\\\";\\r\\n display:block;\\r\\n margin:0 auto;\\r\\n}\\r\\n.outcomes-features span{\\r\\n font-size:24px;\\r\\n font-weight:bold;\\r\\n text-align:center;\\r\\n line-height: 1.2 !important;\\r\\n}\\r\\n.outcomes-circle.key-den{\\r\\n background:#e9c711 url(\\\"/assets/images/nlp-updated/key-influancer.svg\\\") no-repeat center center;\\r\\n height:150px;\\r\\n}\\r\\n.text-key{\\r\\n color:#e9c711;\\r\\n}\\r\\n.outcomes-circle.key-den:before{\\r\\n background-color: #e9c711;\\r\\n height: 580px;\\r\\n transform: rotate(29deg);\\r\\n right: 115px !important;\\r\\n left: auto;\\r\\n top: -560px !important;\\r\\n transform-origin: right bottom;\\r\\n}\\r\\n.outcomes-circle.stackholder{\\r\\n background:#f6a310 url(\\\"/assets/images/nlp-updated/stakeholder.svg\\\") no-repeat center center;\\r\\n height:150px;\\r\\n}\\r\\n.text-stack{\\r\\n color:#f6a310;\\r\\n}\\r\\n.outcomes-circle.stackholder:before{\\r\\n background-color: #f6a310;\\r\\n height: 460px;\\r\\n transform: rotate(18.5deg);\\r\\n right: 108px !important;\\r\\n left: auto;\\r\\n top: -430px !important;\\r\\n transform-origin: right bottom;\\r\\n}\\r\\n.outcomes-circle.patient-journey{\\r\\n background:#ec4f97 url(\\\"/assets/images/nlp-updated/physician-treatment.png\\\") no-repeat center center;\\r\\n background-size: 55%; \\r\\n}\\r\\n.text-journey{\\r\\n color:#ec4f97;\\r\\n}\\r\\n.outcomes-circle.patient-journey:before{\\r\\n background-color: #ec4f97;\\r\\n height: 420px;\\r\\n transform: rotate(0.5deg);\\r\\n right: 0px !important;\\r\\n left: -30px;\\r\\n top: -390px !important;\\r\\n transform-origin: right bottom;\\r\\n}\\r\\n.outcomes-circle.brand-awareness{\\r\\n background:#d15fc5 url(\\\"/assets/images/nlp-updated/field-coaching.png\\\") no-repeat center center;\\r\\n background-size: 55%; \\r\\n}\\r\\n.text-brand{\\r\\n color:#d15fc5;\\r\\n}\\r\\n.outcomes-circle.brand-awareness::before{\\r\\n background-color: #d15fc5;\\r\\n height: 460px;\\r\\n transform: rotate(-18deg);\\r\\n right: auto !important;\\r\\n left: 97px;\\r\\n top: -438px !important;\\r\\n transform-origin: right bottom;\\r\\n}\\r\\n.outcomes-circle.media-campaign{\\r\\n background:#807ae7 url(\\\"/assets/images/nlp-updated/trial-protocol.png\\\") no-repeat center center;\\r\\n background-size: 55%;\\r\\n}\\r\\n.text-media{\\r\\n color:#807ae7;\\r\\n}\\r\\n.outcomes-circle.media-campaign::before{\\r\\n background-color: #807ae7;\\r\\n height: 580px;\\r\\n transform: rotate(-32deg);\\r\\n right: auto !important;\\r\\n left: 105px;\\r\\n top: -550px !important;\\r\\n transform-origin: right bottom;\\r\\n}\\r\\n/* Animation Problem-bg */\\r\\n@keyframes placeHolderShimmer{\\r\\n 0%{\\r\\n background-position:-468px 0\\r\\n }\\r\\n 100%{\\r\\n background-position:468px 0\\r\\n }\\r\\n}\\r\\n@keyframes placeHolderShimmerLg{\\r\\n 0%{\\r\\n background-position:-800px 0\\r\\n }\\r\\n 100%{\\r\\n background-position:1600px 0\\r\\n }\\r\\n}\\r\\n@keyframes placeHolderShimmerDelay{\\r\\n 0%{\\r\\n background-position:-800px 0\\r\\n }\\r\\n 20%{\\r\\n background-position:-1200px 0\\r\\n }\\r\\n 100%{\\r\\n background-position:1600px 0\\r\\n }\\r\\n}\\r\\n.animated-background {\\r\\n animation-duration:1.25s;\\r\\n animation-fill-mode:forwards;\\r\\n animation-iteration-count:infinite;\\r\\n animation-name:placeHolderShimmer;\\r\\n animation-timing-function:linear;\\r\\n background:#ededed;\\r\\n background:linear-gradient(to right, #ededed 8%, #f8f8f8 22%, #ededed 36%);\\r\\n background-size:800px 104px;\\r\\n position:relative;\\r\\n}\\r\\n.animated-background.lg-width{\\r\\n animation-duration:2s;\\r\\n animation-name:placeHolderShimmerLg;\\r\\n background:linear-gradient(to right, #ededed 8%, #f8f8f8 22%, #ededed 36%);\\r\\n background-size:1200px 104px;\\r\\n}\\r\\n.animated-background.lg-width.delay{\\r\\n animation-delay:0.35s;\\r\\n}\\r\\n.thumb-loader{\\r\\n height:230px;\\r\\n}\\r\\n.list-loader{\\r\\n min-height:10px;\\r\\n margin:0 15px 20px;\\r\\n}\\r\\n.widget-loader{\\r\\n height:160px;\\r\\n}\\r\\n.widget-loader.md{\\r\\n height:260px;\\r\\n}\\r\\n.widget-loader.lg{\\r\\n height:360px;\\r\\n}\\r\\nbutton.animated-background{\\r\\n box-shadow:none;\\r\\n border:0;\\r\\n min-width:140px;\\r\\n min-height:40px;\\r\\n}\\r\\n.my-40{\\r\\n margin:40px 0!important;\\r\\n}\\r\\n@media (max-width:1500px){\\r\\n .thumb-loader{\\r\\n height:160px;\\r\\n }\\r\\n .widget-loader{\\r\\n height:120px;\\r\\n }\\r\\n .widget-loader.md{\\r\\n height:200px;\\r\\n }\\r\\n .widget-loader.lg{\\r\\n height:300px;\\r\\n }\\r\\n}\\r\\n.nlp-orange-circle-animation-wrapper{\\r\\n width:160px;\\r\\n height:160px;\\r\\n margin: 0 auto;\\r\\n}\\r\\n.nlp-orange-circle-animation-wrapper > span{\\r\\n position:absolute;\\r\\n top:0;\\r\\n right:0;\\r\\n bottom:0;\\r\\n left:0;\\r\\n}\\r\\n.nlp-orange-circle-animation-wrapper .nlp-orange-circle{\\r\\n background:url('/assets/images/nlp-updated/nlp/orange-circle.svg') no-repeat center center;\\r\\n}\\r\\n.nlp-orange-circle-animation-wrapper .nlp-arrow-circle{\\r\\n background:url('/assets/images/nlp-updated/nlp/arrow-circle.svg') no-repeat center center; \\r\\n}\\r\\n.nlp-orange-circle-animation-wrapper .nlp-square-pattern-1{\\r\\n background:url('/assets/images/nlp-updated/nlp/square-pattern-1.svg') no-repeat center center; \\r\\n}\\r\\n.nlp-orange-circle-animation-wrapper .nlp-square-pattern-2{\\r\\n background:url('/assets/images/nlp-updated/nlp/square-pattern-2.svg') no-repeat center center; \\r\\n}\\r\\n.nlp-orange-circle-animation-wrapper .nlp-square-pattern-3{\\r\\n background:url('/assets/images/nlp-updated/nlp/square-pattern-3.svg') no-repeat center center; \\r\\n}\\r\\n.nlp-orange-circle-animation-wrapper .nlp-orange-circle {\\r\\n\\tanimation:rotate-center 5s linear infinite both;\\r\\n}\\r\\n.nlp-orange-circle-animation-wrapper .nlp-arrow-circle {\\r\\n\\tanimation:rotate-center 8s linear infinite both;\\r\\n}\\r\\n.nlp-orange-circle-animation-wrapper .nlp-square-pattern-1{\\r\\n animation:fade-in-fwd 1.5s linear infinite both;\\r\\n animation-delay:100ms;\\r\\n}\\r\\n.nlp-orange-circle-animation-wrapper .nlp-square-pattern-2{\\r\\n animation:fade-in-fwd 2s linear infinite both;\\r\\n animation-delay:200ms;\\r\\n}\\r\\n.nlp-orange-circle-animation-wrapper .nlp-square-pattern-3{\\r\\n animation:fade-in-fwd 2.5s linear infinite both;\\r\\n animation-delay:400ms;\\r\\n}\\r\\n@keyframes rotate-center {\\r\\n 0% {\\r\\n transform:rotate(0);\\r\\n }\\r\\n 100% {\\r\\n transform:rotate(360deg);\\r\\n }\\r\\n}\\r\\n@keyframes fade-in-fwd {\\r\\n 0% {\\r\\n transform:translateZ(-80px);\\r\\n opacity:0;\\r\\n }\\r\\n 100% {\\r\\n transform:translateZ(0);\\r\\n opacity:1;\\r\\n }\\r\\n}\\r\\n/* Animation problem bg end */\\r\\n/* Flip Animation start */\\r\\n.swing-in-top-fwd {\\r\\n\\tanimation: swing-in-top-fwd 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275) both;\\r\\n}\\r\\n/**\\r\\n * ----------------------------------------\\r\\n * animation swing-in-top-fwd\\r\\n * ----------------------------------------\\r\\n */\\r\\n@keyframes swing-in-top-fwd {\\r\\n 0% {\\r\\n transform: rotateX(-100deg);\\r\\n transform-origin: top;\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n transform: rotateX(0deg);\\r\\n transform-origin: top;\\r\\n opacity: 1;\\r\\n }\\r\\n }\\r\\n/* Flip Animation end*/\\r\\n@media (max-width:1600px){\\r\\n .section-title{\\r\\n font-size:42px !important;\\r\\n }\\r\\n #data .data-content p,.challange-wraper .challenge-content p,.models-main-wrapper .model-content p{\\r\\n font-size:18px;\\r\\n }\\r\\n .solution-main-box .domain-training-box{\\r\\n padding:23px 10px;\\r\\n }\\r\\n .domain-training-box .pre-trained-box{\\r\\n max-width:167px;\\r\\n padding-top:45px;\\r\\n height:290px;\\r\\n margin-right:10px;\\r\\n }\\r\\n .domain-training-box .pre-trained-box-inner{\\r\\n background-size:100%;\\r\\n width:167px;\\r\\n }\\r\\n .domain-training-box .domain-data-box{\\r\\n max-width:168px;\\r\\n margin-right:15px;\\r\\n height:263px;\\r\\n }\\r\\n .domain-training-box .domain-data-box-inner{\\r\\n background-size:100%;\\r\\n width:168px;\\r\\n }\\r\\n .domain-training-box .domain-data-box span{\\r\\n bottom:67px;\\r\\n }\\r\\n .domain-train-main-box{\\r\\n width:495px;\\r\\n height:283px;\\r\\n }\\r\\n .domain-training-box .domain-train-inner-bluebox{\\r\\n background-size:100%;\\r\\n width:495px;\\r\\n padding:0 16px;\\r\\n }\\r\\n .solution-main-box .domain-training-box span{\\r\\n font-size:17px;\\r\\n }\\r\\n .domain-train-inner-bluebox .col{\\r\\n max-width:143px; \\r\\n height:148px;\\r\\n }\\r\\n .domain-training-box .domain-train-inner-bluebox .finetuning-box-inner{\\r\\n background-size:80%;\\r\\n }\\r\\n .domain-training-box .domain-train-inner-bluebox .update-word-inner{\\r\\n background-size:80%;\\r\\n }\\r\\n .domain-training-box .domain-train-inner-bluebox .new-voc-inner{\\r\\n background-size:80%;\\r\\n }\\r\\n .domain-training-box .domain-adjust-box{\\r\\n width:166px;\\r\\n margin-left:10px;\\r\\n padding-top:45px;\\r\\n height:250px;\\r\\n }\\r\\n .domain-training-box .domain-adjust-box-inner{\\r\\n width:166px;\\r\\n background-size:100%;\\r\\n }\\r\\n .domain-inner-wrapper .domain-box{\\r\\n margin-right:43px;\\r\\n }\\r\\n .solution-main-box:after{\\r\\n bottom:-337px;\\r\\n }\\r\\n .domain-inner-wrapper .domain-box:after{\\r\\n top:42px;\\r\\n }\\r\\n .domain-inner-wrap-box{\\r\\n max-width:1000px;\\r\\n }\\r\\n .domain-expert-box:after{\\r\\n bottom:-16px;\\r\\n height:101px;\\r\\n }\\r\\n .domain-inner-wrap-box .domain-inner-box .domain-inner-gray-box{\\r\\n width:166px;\\r\\n height:166px;\\r\\n }\\r\\n .weak-classifiers-wrap .weak-classi-one-img,.weak-classifiers-wrap .weak-classi-two-img,.weak-classifiers-wrap .weak-classi-three-img{\\r\\n background-size:80%;\\r\\n }\\r\\n .outcomes-main-wrapper .outcomes-content{\\r\\n max-width: 50%;\\r\\n background: rgba(255, 255, 255, 0.7);\\r\\n }\\r\\n .outcomes-main-wrapper .outcomes-features .outcomes-circle{\\r\\n width: 160px;\\r\\n height: 160px;\\r\\n background-size: 100%;\\r\\n }\\r\\n .outcomes-circle.patient-journey,.outcomes-circle.brand-awareness,.outcomes-circle.media-campaign{\\r\\n background-size: 55% !important;\\r\\n }\\r\\n .outcomes-features span{\\r\\n font-size: 20px;\\r\\n }\\r\\n .outcomes-circle.key-den:before {\\r\\n height: 480px;\\r\\n transform: rotate(43deg);\\r\\n right: 85px !important;\\r\\n top: -460px !important;\\r\\n }\\r\\n .outcomes-circle.stackholder:before {\\r\\n height: 360px;\\r\\n transform: rotate(26deg);\\r\\n right: 98px !important;\\r\\n top: -310px !important;\\r\\n }\\r\\n .outcomes-circle.patient-journey:before {\\r\\n height: 290px;\\r\\n transform: rotate(-2.5deg);\\r\\n left: 10px;\\r\\n top: -280px !important;\\r\\n }\\r\\n .outcomes-circle.brand-awareness::before {\\r\\n height: 350px;\\r\\n transform: rotate(-27deg);\\r\\n left: 80px;\\r\\n top: -325px !important;\\r\\n }\\r\\n .outcomes-circle.media-campaign::before {\\r\\n height: 500px;\\r\\n transform: rotate(-45deg);\\r\\n left: 80px;\\r\\n top: -500px !important;\\r\\n }\\r\\n}\\r\\n@media (max-width:1450px){\\r\\n .outcomes-circle.key-den:before {\\r\\n height: 500px;\\r\\n transform: rotate(33deg);\\r\\n right: 85px !important;\\r\\n top: -470px !important;\\r\\n }\\r\\n .outcomes-circle.stackholder:before {\\r\\n height: 370px;\\r\\n transform: rotate(25deg);\\r\\n right: 98px !important;\\r\\n top: -350px !important;\\r\\n }\\r\\n .outcomes-circle.patient-journey:before {\\r\\n height: 320px;\\r\\n transform: rotate(-3deg);\\r\\n left: 10px;\\r\\n top: -300px !important;\\r\\n }\\r\\n .outcomes-circle.brand-awareness:before {\\r\\n height: 390px;\\r\\n transform: rotate(-22deg);\\r\\n left: 80px;\\r\\n top: -355px !important;\\r\\n }\\r\\n .outcomes-circle.media-campaign:before {\\r\\n height: 540px;\\r\\n transform: rotate(-37deg);\\r\\n left: 80px;\\r\\n top: -500px !important;\\r\\n }\\r\\n}\\r\\n.swing-in-left-bck {\\r\\n\\tanimation: swing-in-left-bck 0.6s cubic-bezier(0.175, 0.885, 0.320, 1.275) both;\\r\\n}\\r\\n/* ----------------------------------------------\\r\\n * Generated by Animista on 2019-8-1 19:37:24\\r\\n * w: http://animista.net, t: @cssanimista\\r\\n * ---------------------------------------------- */\\r\\n/**\\r\\n * ----------------------------------------\\r\\n * animation swing-in-left-bck\\r\\n * ----------------------------------------\\r\\n */\\r\\n@keyframes swing-in-left-bck {\\r\\n 0% {\\r\\n transform: rotateY(-70deg);\\r\\n transform-origin: left;\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n transform: rotateY(0);\\r\\n transform-origin: left;\\r\\n opacity: 1;\\r\\n }\\r\\n }\\r\\n.scale-up-center {\\r\\n\\tanimation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;\\r\\n}\\r\\n/**\\r\\n * ----------------------------------------\\r\\n * animation scale-up-center\\r\\n * ----------------------------------------\\r\\n */\\r\\n@keyframes scale-up-center {\\r\\n 0% {\\r\\n transform: scale(0.5);\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n transform: scale(1);\\r\\n opacity: 1;\\r\\n }\\r\\n }\\r\\n \\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9ubHAtYnVpc25lc3Mtdmlldy9ubHAtYnVpc25lc3Mtdmlldy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksMEJBQTBCO0lBQzFCLHNCQUFzQjtDQUN6QjtBQUNEO0lBQ0ksY0FBYztDQUNqQjtBQUNEO0lBQ0ksb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLFdBQVc7Q0FDZDtBQUNEO0lBQ0ksZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixNQUFNO0lBQ04sT0FBTztJQUNQLFFBQVE7SUFDUixZQUFZO0lBQ1osaUJBQWlCO0NBQ3BCO0FBQ0Q7SUFDSSw4RUFBOEU7SUFDOUUsd0JBQXdCO0lBQ3hCLFdBQVc7Q0FDZDtBQUNEO0lBQ0ksOEVBQThFO0lBQzlFLHVCQUF1QjtJQUN2QixXQUFXO0NBQ2Q7QUFDRDtJQUNJLDhFQUE4RTtJQUM5RSx1QkFBdUI7SUFDdkIsV0FBVztDQUNkO0FBQ0Q7SUFDSSw4RUFBOEU7SUFDOUUsd0JBQXdCO0lBQ3hCLFdBQVc7Q0FDZDtBQUNEO0lBQ0ksOEVBQThFO0lBQzlFLHdCQUF3QjtJQUN4QixXQUFXO0NBQ2Q7QUFDRDtJQUNJLDJGQUEyRjtJQUMzRixhQUFhO0lBQ2Isa0JBQWtCO0NBQ3JCO0FBQ0Q7SUFDSSwwRkFBMEY7SUFDMUYscUNBQXFDO0lBQ3JDLG9CQUFvQjtJQUNwQixZQUFZO0lBQ1osYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsUUFBUTtJQUNSLE9BQU87SUFDUCxjQUFjO0NBQ2pCO0FBQ0Q7SUFDSSw0QkFBNEI7SUFDNUIsb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLE9BQU87SUFDUCxTQUFTO0lBQ1QsUUFBUTtJQUNSLFVBQVU7SUFDVixlQUFlO0lBQ2YsV0FBVztJQUNYLGNBQWM7SUFDZCx1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLG1CQUFtQjtD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dUJBQXVCO0tBQzFCO0lBQ0Q7UUFDSSxjQUFjO1FBQ2QsMEJBQTBCO1FBQzFCLFdBQVc7UUFDWCx1QkFBdUI7S0FDMUI7Q0FDSjtBQUdEO0NBRVMsZ0ZBQWdGO0NBQ3hGO0FBRUQ7OztvREFHb0Q7QUFFcEQ7Ozs7R0FJRztBQWlCRDtJQUNFO01BRVUsMkJBQTJCO01BRTNCLHVCQUF1QjtNQUMvQixXQUFXO0tBQ1o7SUFDRDtNQUVVLHNCQUFzQjtNQUV0Qix1QkFBdUI7TUFDL0IsV0FBVztLQUNaO0dBQ0Y7QUFHRDtDQUVPLDhFQUE4RTtDQUN0RjtBQUdEOzs7O0dBSUc7QUFhRDtJQUNFO01BRVUsc0JBQXNCO2NBQ3RCLFdBQVc7S0FDcEI7SUFDRDtNQUVVLG9CQUFvQjtjQUNwQixXQUFXO0tBQ3BCO0dBQ0YiLCJmaWxlIjoic3JjL2FwcC93aWRnZXRzL25scC1idWlzbmVzcy12aWV3L25scC1idWlzbmVzcy12aWV3LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc2VjdGlvbi10aXRsZXtcclxuICAgIGZvbnQtc2l6ZTo0OHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjojMDAwICFpbXBvcnRhbnQ7XHJcbn1cclxuI3Byb2JsZW17XHJcbiAgICBwYWRkaW5nLXRvcDowO1xyXG59XHJcbiNwcm9ibGVtIC5wcm9ibGVtLWhlcm8tdG9wLXdyYXB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xyXG4gICAgaGVpZ2h0OjYwOHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuI3Byb2JsZW0gLnByb2JsZW0taGVyby10b3Atd3JhcCAucHJvYmxlbS1oZXJvLWltZ3tcclxuICAgIGhlaWdodDogMTIwMHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOjA7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICByaWdodDowO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbiNwcm9ibGVtIC5wcm9ibGVtLWhlcm8tdG9wLXdyYXAgLnByb2JsZW0taGVyby1pbWcub25le1xyXG4gICAgYmFja2dyb3VuZDp1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9ncm91cC0xLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTVzO1xyXG4gICAgei1pbmRleDogMjtcclxufVxyXG4jcHJvYmxlbSAucHJvYmxlbS1oZXJvLXRvcC13cmFwIC5wcm9ibGVtLWhlcm8taW1nLnR3b3tcclxuICAgIGJhY2tncm91bmQ6dXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvZ3JvdXAtMi5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciB0b3A7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDhzO1xyXG4gICAgei1pbmRleDogNDtcclxufVxyXG4jcHJvYmxlbSAucHJvYmxlbS1oZXJvLXRvcC13cmFwIC5wcm9ibGVtLWhlcm8taW1nLnRocmVle1xyXG4gICAgYmFja2dyb3VuZDp1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9ncm91cC0zLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNnM7XHJcbiAgICB6LWluZGV4OiA2O1xyXG59XHJcbiNwcm9ibGVtIC5wcm9ibGVtLWhlcm8tdG9wLXdyYXAgLnByb2JsZW0taGVyby1pbWcuZm91cntcclxuICAgIGJhY2tncm91bmQ6dXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvZ3JvdXAtNC5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciB0b3A7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDEwcztcclxuICAgIHotaW5kZXg6IDg7XHJcbn1cclxuI3Byb2JsZW0gLnByb2JsZW0taGVyby10b3Atd3JhcCAucHJvYmxlbS1oZXJvLWltZy5maXZle1xyXG4gICAgYmFja2dyb3VuZDp1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9ncm91cC01LnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTRzO1xyXG4gICAgei1pbmRleDoxMDtcclxufVxyXG4jcHJvYmxlbSAucHJvYmxlbS1oZXJvLWJvdHRvbS13cmFwe1xyXG4gICAgYmFja2dyb3VuZDojZmZmIHVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL2JvdHRvbS1oZXJvLWltZy5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciB0b3A7XHJcbiAgICBoZWlnaHQ6NzA2cHg7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxufVxyXG4ucHJvYmxlbS1oZXJvLWJvdHRvbS13cmFwIC5ibGFjay1jaXJjbGUtd3JhcHtcclxuICAgIGJhY2tncm91bmQ6dXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvYmxhY2stY2lyY2xlLWlubmVyLW1haW4ucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAvKiBiYWNrZ3JvdW5kOiByZ2JhKDI2LDI2LDI2LDAuNSk7ICovXHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgd2lkdGg6NDE2cHg7XHJcbiAgICBoZWlnaHQ6NDE0cHg7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIHRvcDotMjEycHg7XHJcbiAgICByaWdodDowO1xyXG4gICAgbGVmdDowO1xyXG4gICAgbWFyZ2luOjAgYXV0bztcclxufVxyXG4uYmxhY2stY2lyY2xlLXdyYXAgLnByb2JsZW0tY2lyY2xlLW1haW57XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuOCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgd2lkdGg6IDQxNnB4O1xyXG4gICAgaGVpZ2h0OiA0MTZweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAzNXB4IDU1cHg7XHJcbn1cclxuLmJsYWNrLWNpcmNsZS13cmFwIC5wcm9ibGVtLWNpcmNsZS1tYWluIGg2e1xyXG4gICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG4uYmxhY2stY2lyY2xlLXdyYXAgLnByb2JsZW0tY2lyY2xlLW1haW4gcHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZm9udC1mYW1pbHk6ICdESU5Qcm9NZWRpdW0nLCBzYW5zLXNlcmlmO1xyXG59XHJcbi5wcm9ibGVtLWhlcm8tYm90dG9tLXdyYXAgLmJsYWNrLWNpcmNsZS13cmFwIC5ibGFjay1jaXJjbGUtbWlkZGxle1xyXG4gICAgYmFja2dyb3VuZDp1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9ibGFjay1jaXJjbGUtbWlkZGxlLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgd2lkdGg6NDE2cHg7XHJcbiAgICBoZWlnaHQ6NDE0cHg7XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZS1yZXZlcnNlIDEwcyBsaW5lYXIgaW5maW5pdGUgYm90aDtcclxufVxyXG4ucHJvYmxlbS1oZXJvLWJvdHRvbS13cmFwIC5ibGFjay1jaXJjbGUtd3JhcCAuYmxhY2stY2lyY2xlLW91dGVye1xyXG4gICAgYmFja2dyb3VuZDp1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9ibGFjay1jaXJjbGUtb3V0ZXIucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICB3aWR0aDo0MTZweDtcclxuICAgIGhlaWdodDo0MTRweDtcclxuICAgIGxlZnQ6MDtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgcmlnaHQ6MDtcclxuICAgIHRvcDowO1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGUtY2VudGVyIDEwcyBsaW5lYXIgaW5maW5pdGUgYm90aDtcclxufVxyXG4ucHJvYmxlbS1oZXJvLWJvdHRvbS13cmFwIC5wcm9ibGVtLWNvbnRlbnR7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIGxlZnQ6MDtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICBtYXJnaW46MCBhdXRvO1xyXG4gICAgY29udGVudDpcIlwiO1xyXG4gICAgd2lkdGg6MjUwcHg7XHJcbiAgICBoZWlnaHQ6MjUwcHg7XHJcbiAgICBib3R0b206ODBweDtcclxuICAgIHotaW5kZXg6OTtcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgZGlzcGxheTpub25lO1xyXG59XHJcbi5wcm9ibGVtLWhlcm8tYm90dG9tLXdyYXAgLnByb2JsZW0tY29udGVudCBoNHtcclxuICAgIGZvbnQtc2l6ZTo0OHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjojMDAwMDAwICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDozMDAgIWltcG9ydGFudDtcclxufVxyXG4ucHJvYmxlbS1oZXJvLWJvdHRvbS13cmFwIC5wcm9ibGVtLWNvbnRlbnQgcHtcclxuICAgIGZvbnQtc2l6ZToxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjojMDAwMDAwICFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDoyMnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmRhdGEtc2VjdGlvbi13cmFwcGVye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZjBmMGYwO1xyXG4gICAgYm9yZGVyLXJhZGl1czoxMDVweDtcclxuICAgIHBhZGRpbmc6NzBweCA0N3B4IDY2cHg7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxufVxyXG4vKiAuZGF0YS1zZWN0aW9uLXdyYXBwZXI6YWZ0ZXJ7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIGJvdHRvbTotNDdweDtcclxuICAgIGxlZnQ6MDtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICBiYWNrZ3JvdW5kOnVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL0NvbG91cl9saW5lcy5zdmdcIikgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgIHdpZHRoOjc5OXB4O1xyXG4gICAgaGVpZ2h0OjUzcHg7XHJcbiAgICBtYXJnaW46MCBhdXRvO1xyXG4gICAgei1pbmRleDotMTtcclxufSAqL1xyXG4uZGF0YS1zZWN0aW9uLXdyYXBwZXI6YWZ0ZXJ7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIGJvdHRvbTotMzk2cHg7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICByaWdodDowO1xyXG4gICAgYmFja2dyb3VuZDp1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9zb2x1dGlvbl9kYXRhX2xpbmUuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICB3aWR0aDo4MzhweDtcclxuICAgIGhlaWdodDo0MDBweDtcclxuICAgIG1hcmdpbjowIGF1dG87XHJcbiAgICB6LWluZGV4Oi0xO1xyXG59XHJcbiNkYXRhe1xyXG4gICAgcGFkZGluZy10b3A6MDtcclxufVxyXG4jZGF0YSAucHJvYmxlbS1iZ3tcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIC8qIHdpZHRoOjI3MnB4O1xyXG4gICAgaGVpZ2h0OjI3MnB4OyAqL1xyXG4gICAgd2lkdGg6MjAycHg7XHJcbiAgICBoZWlnaHQ6MjAycHg7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcclxuICAgIHRvcDotMTQwcHg7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICByaWdodDowO1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIG1hcmdpbjowIGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XHJcbn1cclxuI2RhdGEgLmRhdGEtY29udGVudHtcclxuICAgIG1hcmdpbi1ib3R0b206NjVweDtcclxuICAgIHBhZGRpbmctbGVmdDo3M3B4O1xyXG59XHJcbiNkYXRhIC5kYXRhLWNvbnRlbnQgaDN7XHJcbiAgICBmb250LXdlaWdodDpub3JtYWwgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206MjVweCAhaW1wb3J0YW50O1xyXG59XHJcbiNkYXRhIC5kYXRhLWNvbnRlbnQgaDZ7XHJcbiAgICBmb250LXNpemU6MThweDtcclxuICAgIGZvbnQtd2VpZ2h0Om5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IzAwMDAwMDtcclxuICAgIG1hcmdpbi1ib3R0b206MDtcclxufVxyXG4jZGF0YSAuZGF0YS1jb250ZW50IHB7XHJcbiAgICBmb250LXNpemU6MThweDtcclxuICAgIGNvbG9yOiMwMDAwMDA7XHJcbn1cclxuLmRhdGEtdGFic3tcclxuICAgIHdpZHRoOjEwMCU7XHJcbn1cclxuLmRhdGEtdGFicyAubmF2e1xyXG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcclxufVxyXG4uZGF0YS10YWJzIC5uYXYtaXRlbXtcclxuICAgIG1hcmdpbjowIDhweDtcclxuICAgIG1heC13aWR0aDozMzBweDtcclxuICAgIHdpZHRoOjEwMCU7XHJcbn1cclxuLmRhdGEtdGFicyAubmF2LWl0ZW0gYXtcclxuICAgIGJvcmRlci1yYWRpdXM6MzBweDtcclxuICAgIGZvbnQtd2VpZ2h0OjkwMCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOjIwcHggIWltcG9ydGFudDtcclxuICAgIC8qIGN1cnNvcjpwb2ludGVyOyAqL1xyXG4gICAgdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZS1pbjtcclxufVxyXG4uZGF0YS10YWJzIC5tYXJrZXQtc3RhZyBhe1xyXG4gICAgY29sb3I6Izg1YzhiYztcclxuICAgIGJvcmRlcjpzb2xpZCAzcHggIzg1YzhiYztcclxufVxyXG4vKiAuZGF0YS10YWJzIC5tYXJrZXQtc3RhZyBhOmhvdmVyLC5kYXRhLXRhYnMgLm1hcmtldC1zdGFnIC5hY3RpdmV7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiM4NWM4YmM7XHJcbiAgICBjb2xvcjojZmZmO1xyXG59ICovXHJcbi5kYXRhLXRhYnMgLmNsaWVudC1zcGUtZGF0YSBhe1xyXG4gICAgY29sb3I6IzAxNjI5YztcclxuICAgIGJvcmRlcjpzb2xpZCAzcHggIzAxNjI5YztcclxufVxyXG4uZGF0YS10YWJzIC5jbGllbnQtc3BlLWRhdGEgYTpob3ZlciwuZGF0YS10YWJzIC5jbGllbnQtc3BlLWRhdGEgLmFjdGl2ZXtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IzAxNjI5YztcclxuICAgIGNvbG9yOiNmZmY7XHJcbn1cclxuLmRhdGEtdGFicyAucmQgYXtcclxuICAgIGJvcmRlcjpzb2xpZCAzcHggIzZlMmI2MTtcclxuICAgIGNvbG9yOiM2ZTJiNjE7XHJcbn1cclxuLmRhdGEtdGFicyAucmQgYTpob3ZlciwuZGF0YS10YWJzIC5yZCAuYWN0aXZle1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojNmUyYjYxO1xyXG4gICAgY29sb3I6I2ZmZjtcclxufVxyXG4vKiAudGFicy1tYWluLWJveHtcclxuICAgIG1hcmdpbjoxMjFweCAwIDAgMDtcclxufSAqL1xyXG4uZGF0YS10YWItc2luZ2xle1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgLyogYm9yZGVyLXJhZGl1czo3OHB4OyAqL1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCA3OHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAvKiBwYWRkaW5nLXRvcDo0MHB4OyAqL1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGRpc3BsYXk6ZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcclxuICAgIC8qIGhlaWdodDoxMDAlOyAqL1xyXG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcclxuICAgIG1hcmdpbjogMjVweCBhdXRvO1xyXG59XHJcbi8qIC5kYXRhLXRhYi1zaW5nbGU6OmJlZm9yZXtcclxuICAgIHdpZHRoOjIwcHg7XHJcbiAgICBoZWlnaHQ6MjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICBib3JkZXItcmFkaXVzOjEwMCU7XHJcbiAgICBib3R0b206LTExcHg7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICByaWdodDowO1xyXG4gICAgbWFyZ2luOjAgYXV0bztcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG59ICovXHJcbi8qIC5kYXRhLXRhYi1zaW5nbGU6OmFmdGVye1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICByaWdodDowO1xyXG4gICAgYm90dG9tOi0xMTZweDtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICBtYXJnaW46MCBhdXRvO1xyXG59ICovXHJcbi5tYXJrZXQtc3RhZy1zaW5nbGV7XHJcblx0Ym9yZGVyOnNvbGlkIDNweCAjODVjOGJjO1xyXG59XHJcbi5tYXJrZXQtc3RhZy1zaW5nbGU6OmJlZm9yZXtcclxuICAgIGJvcmRlcjpzb2xpZCAzcHggIzg1YzhiYztcclxufVxyXG4ubWFya2V0LXN0YWctc2luZ2xlOjphZnRlcntcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvZG93bi1ncmVlbi1hcnJvdy5zdmdcIik7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XHJcbiAgICBoZWlnaHQ6MTA1cHg7XHJcbiAgICB3aWR0aDoyMHB4O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgMDtcclxufVxyXG4uY2xpZW50LXNwZWMtZGF0YS1zaW5nbGU6YWZ0ZXJ7XHJcbiAgICBiYWNrZ3JvdW5kOiNmZmYgdXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvZG93bi1ibHVlLWFycm93LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIDA7XHJcbiAgICBoZWlnaHQ6MTA1cHg7XHJcbiAgICB3aWR0aDoyMHB4O1xyXG59XHJcbi5jbGllbnQtc3BlYy1kYXRhLXNpbmdsZXtcclxuICAgIGJvcmRlcjpzb2xpZCAzcHggIzExNmNhMjtcclxufVxyXG4uY2xpZW50LXNwZWMtZGF0YS1zaW5nbGU6OmJlZm9yZXtcclxuICAgIGJvcmRlcjpzb2xpZCAzcHggIzExNmNhMjtcclxufVxyXG4uY2xpZW50LXNwZWMtZGF0YS1zaW5nbGU6OmFmdGVye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZjBmMGYwO1xyXG59XHJcbi5yLWFuZC1kLXNpbmdsZXtcclxuICAgIGJvcmRlcjpzb2xpZCAzcHggIzZlMmI2MTtcclxufVxyXG4uci1hbmQtZC1zaW5nbGU6OmJlZm9yZXtcclxuICAgIGJvcmRlcjpzb2xpZCAzcHggIzZlMmI2MTtcclxufVxyXG4uci1hbmQtZC1zaW5nbGU6YWZ0ZXJ7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL2Rvd24tYnJvd24tYXJyb3cuc3ZnXCIpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xyXG4gICAgaGVpZ2h0OjEwNXB4O1xyXG4gICAgd2lkdGg6MjBweDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIDA7XHJcbn1cclxuLnItYW5kLWQtaWNvbntcclxuICAgIGJhY2tncm91bmQtY29sb3I6IzZlMmI2MTtcclxufVxyXG4uci1hbmQtZC1pY29uLnB1Ym1lZC1pY29ue1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvUHVibWVkX2ljb24uc3ZnKSAhaW1wb3J0YW50O1xyXG59XHJcbi5yLWFuZC1kLWljb24udHJpYWx0cm92ZS1pY29ue1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvVHJpYWx0cm92ZS5zdmcpICFpbXBvcnRhbnQ7XHJcbn1cclxuLnItYW5kLWQtaWNvbi5jbGluaWNhbC1pY29ue1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvQ2xpbmljYVRyaWFscy5zdmcpICFpbXBvcnRhbnQ7XHJcbn1cclxuLnByb3RvY29sLWRlc2lnbi1ib3ggaDV7XHJcbiAgICBjb2xvcjojNmUyYjYxICFpbXBvcnRhbnQ7XHJcbn1cclxuLnByb3RvY29sLWRlc2lnbi1ib3g6OmJlZm9yZXtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL2Nvbm5lY3RvcnMtYnJvd24uc3ZnKSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjo1MCUgY2VudGVyICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hcmtldGluZy1zdHJhdGVneS1ib3gucHJvdG9jb2wtZGVzaWduLWJveCAubWFya2V0aW5nLXN0cmF0ZWd5LWljb257XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiM2ZTJiNjE7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9Qcm90b2NvbF9EZXNpZ25faW5fUiZEX2ljb24uc3ZnKTtcclxufVxyXG4uZGF0YS1pY29uLWJveHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xyXG4gICAgd2lkdGg6NzBweDtcclxuICAgIGhlaWdodDo3MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czoxMDAlO1x0XHJcbiAgXHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIC8qIHRvcDotMzVweDsgKi9cclxuICAgIHRvcDotMjBweDtcclxuICAgIC8qIGxlZnQ6MDsgKi9cclxuICAgIGxlZnQ6IC0zMHB4O1xyXG4gIFx0LyogcmlnaHQ6MDsgKi9cclxuICAgICAgLyogbWFyZ2luOjAgYXV0bzsgKi9cclxuICAgIG1hcmdpbjogYXV0bztcclxuICBcdGRpc3BsYXk6YmxvY2s7XHJcbn1cclxuLm1hcmtldC1zdGFnLWljb257XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiM4NWM4YmM7XHJcbn1cclxuLnR3aXR0ZXItaWNvbntcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvdHdpdHRlci5zdmdcIik7XHJcbn1cclxuLm1hcmtldC1yZXNlYXJjaC1pY29ueyAgXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL21hcmtldC1yZXNlYXJjaC5zdmdcIik7XHJcbn1cclxuLnBhdGllbnQtY29udmVyc2F0aW9uLWljb257XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL3BhdGllbnQtY29udmVyc2F0aW9uLnN2Z1wiKTtcclxufVxyXG4ubXNsLW5vdGVzLWljb257XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL21zbC1ub3Rlcy5zdmdcIik7XHJcbn1cclxuLmNhbGwtY2VudGVyLW5vdGUtaWNvbntcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvY2FsbC1jZW50ZXJzLnN2Z1wiKTtcclxufVxyXG4uZmllbGQtY29hY2hpbmctaWNvbntcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvZmllbGQtY29hY2hpbmcuc3ZnXCIpO1xyXG59XHJcbi5jbGllbnQtZGF0YS1pY29ue1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojMTE2Y2EyO1xyXG59XHJcbi8qIC5tYXJrZXQtc3RhZy13cmFwIC5zd2luZy1pbi10b3AtZndkLC5jbGllbnQtc3BlLWRhdGEtd3JhcCAuc3dpbmctaW4tdG9wLWZ3ZCwuci1hbmQtZC13cmFwIC5zd2luZy1pbi10b3AtZndke1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG4ubWFya2V0LXN0YWctd3JhcCAuc3dpbmctaW4tdG9wLWZ3ZDpmaXJzdC1jaGlsZCwuY2xpZW50LXNwZS1kYXRhLXdyYXAgLnN3aW5nLWluLXRvcC1md2Q6Zmlyc3QtY2hpbGQsLnItYW5kLWQtd3JhcCAuc3dpbmctaW4tdG9wLWZ3ZDpmaXJzdC1jaGlsZHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogNTAwbXM7XHJcbn1cclxuLm1hcmtldC1zdGFnLXdyYXAgLnN3aW5nLWluLXRvcC1md2Q6bnRoLWNoaWxkKDIpLC5jbGllbnQtc3BlLWRhdGEtd3JhcCAuc3dpbmctaW4tdG9wLWZ3ZDpudGgtY2hpbGQoMiksLnItYW5kLWQtd3JhcCAuc3dpbmctaW4tdG9wLWZ3ZDpudGgtY2hpbGQoMil7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDEwMDBtcztcclxufVxyXG4ubWFya2V0LXN0YWctd3JhcCAuc3dpbmctaW4tdG9wLWZ3ZDpsYXN0LWNoaWxkLC5jbGllbnQtc3BlLWRhdGEtd3JhcCAuc3dpbmctaW4tdG9wLWZ3ZDpsYXN0LWNoaWxkLC5yLWFuZC1kLXdyYXAgLnN3aW5nLWluLXRvcC1md2Q6bGFzdC1jaGlsZHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMTUwMG1zO1xyXG59XHJcbi5tYXJrZXQtc3RhZy13cmFwLmZhZGUtaW4gLnN3aW5nLWluLXRvcC1md2QsLmNsaWVudC1zcGUtZGF0YS13cmFwLmZhZGUtaW4gLnN3aW5nLWluLXRvcC1md2QsLnItYW5kLWQtd3JhcC5mYWRlLWluIC5zd2luZy1pbi10b3AtZndke1xyXG4gICAgb3BhY2l0eTogMTtcclxufSAqL1xyXG4ubWFya2V0LXN0YWctd3JhcC5hYmMgLnRhYnMtaW5uZXItYm94IHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzY2FsZS11cC1jZW50ZXIgMC40cyBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApIGJvdGg7XHJcbiAgICBhbmltYXRpb246IHNjYWxlLXVwLWNlbnRlciAwLjRzIGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCkgYm90aDtcclxufVxyXG4ubWFya2V0LXN0YWctd3JhcC5hYmMgLnRhYnMtaW5uZXItYm94OmZpcnN0LWNoaWxke1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyMDBtcztcclxufVxyXG4ubWFya2V0LXN0YWctd3JhcC5hYmMgLnRhYnMtaW5uZXItYm94Om50aC1jaGlsZCgyKXtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMTEwMG1zO1xyXG59XHJcbi5tYXJrZXQtc3RhZy13cmFwLmFiYyAudGFicy1pbm5lci1ib3g6bnRoLWNoaWxkKDMpe1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiA5MDBtcztcclxufVxyXG4ubWFya2V0LXN0YWctd3JhcC5hYmMgLnRhYnMtaW5uZXItYm94Om50aC1jaGlsZCg0KXtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogNzAwbXM7XHJcbn1cclxuLm1hcmtldC1zdGFnLXdyYXAuYWJjIC50YWJzLWlubmVyLWJveDpudGgtY2hpbGQoNSl7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDMwMG1zO1xyXG59XHJcbi5tYXJrZXQtc3RhZy13cmFwLmFiYyAudGFicy1pbm5lci1ib3g6bnRoLWNoaWxkKDYpe1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiA0MDBtcztcclxufVxyXG4ubWFya2V0LXN0YWctd3JhcC5hYmMgLnRhYnMtaW5uZXItYm94Om50aC1jaGlsZCg3KXtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMTIwMG1zO1xyXG59XHJcbi5tYXJrZXQtc3RhZy13cmFwLmFiYyAudGFicy1pbm5lci1ib3g6bnRoLWNoaWxkKDgpe1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxMDAwbXM7XHJcbn1cclxuLm1hcmtldC1zdGFnLXdyYXAuYWJjIC50YWJzLWlubmVyLWJveDpudGgtY2hpbGQoOSl7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDgwMG1zO1xyXG59XHJcblxyXG4vKiAubWFya2V0LXN0YWctd3JhcC5hYmMgLnRhYnMtaW5uZXItYm94OmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxke1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxMDBtcztcclxufVxyXG4ubWFya2V0LXN0YWctd3JhcC5hYmMgLnRhYnMtaW5uZXItYm94OmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxke1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyMDBtcztcclxufVxyXG4ubWFya2V0LXN0YWctd3JhcC5hYmMgLnRhYnMtaW5uZXItYm94OmZpcnN0LWNoaWxkID4gOm50aC1jaGlsZCgzKXtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMzAwbXM7XHJcbn1cclxuLm1hcmtldC1zdGFnLXdyYXAuYWJjIC50YWJzLWlubmVyLWJveDpmaXJzdC1jaGlsZCA+IDpsYXN0LWNoaWxke1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiA0MDBtcztcclxufSAqL1xyXG5cclxuXHJcbi8qIC5tYXJrZXQtc3RhZy13cmFwLmFiYyAudGFicy1pbm5lci1ib3g6bnRoLWNoaWxkKDIpID4gOmZpcnN0LWNoaWxke1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiA1MDBtcztcclxufVxyXG4ubWFya2V0LXN0YWctd3JhcC5hYmMgLnRhYnMtaW5uZXItYm94Om50aC1jaGlsZCgyKSA+IDpudGgtY2hpbGQoMil7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDYwMG1zO1xyXG59XHJcbi5tYXJrZXQtc3RhZy13cmFwLmFiYyAudGFicy1pbm5lci1ib3g6bnRoLWNoaWxkKDIpID4gOm50aC1jaGlsZCgzKXtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogNzAwbXM7XHJcbn1cclxuLm1hcmtldC1zdGFnLXdyYXAuYWJjIC50YWJzLWlubmVyLWJveDpudGgtY2hpbGQoMikgPiA6bGFzdC1jaGlsZHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogODAwbXM7XHJcbn0gKi9cclxuXHJcblxyXG4vKiAubWFya2V0LXN0YWctd3JhcC5hYmMgLnRhYnMtaW5uZXItYm94Omxhc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGR7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDkwMG1zO1xyXG59XHJcbi5tYXJrZXQtc3RhZy13cmFwLmFiYyAudGFicy1pbm5lci1ib3g6bGFzdC1jaGlsZCA+IDpudGgtY2hpbGQoMil7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDEwMDBtcztcclxufVxyXG4ubWFya2V0LXN0YWctd3JhcC5hYmMgLnRhYnMtaW5uZXItYm94Omxhc3QtY2hpbGQgPiA6bnRoLWNoaWxkKDMpe1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxMTAwbXM7XHJcbn1cclxuLm1hcmtldC1zdGFnLXdyYXAuYWJjIC50YWJzLWlubmVyLWJveDpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGR7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDEyMDBtcztcclxufSAqL1xyXG5cclxuXHJcblxyXG5cclxuLnNvbHV0aW9uLW1haW4tYm94IC5kb21haW4tdHJhaW5pbmctd3JhcC5mYWRlLWluID4gKntcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzd2luZy1pbi1sZWZ0LWJjayAwLjZzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxLjI3NSkgYm90aDtcclxuICAgIGFuaW1hdGlvbjogc3dpbmctaW4tbGVmdC1iY2sgMC42cyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMS4yNzUpIGJvdGg7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMDAwbXM7XHJcbn1cclxuLnNvbHV0aW9uLW1haW4tYm94IC5kb21haW4tdHJhaW5pbmctd3JhcC5mYWRlLWluID46Zmlyc3QtY2hpbGR7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDEwMG1zO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHN3aW5nLWluLXRvcC1md2QgNTAwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEuMjc1KSBib3RoO1xyXG4gICAgYW5pbWF0aW9uOiBzd2luZy1pbi10b3AtZndkIDUwMG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxLjI3NSkgYm90aDtcclxufVxyXG4uc29sdXRpb24tbWFpbi1ib3ggLmRvbWFpbi10cmFpbmluZy13cmFwLmZhZGUtaW4gPjpudGgtY2hpbGQoMil7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDIwMG1zO1xyXG59XHJcbi5zb2x1dGlvbi1tYWluLWJveCAuZG9tYWluLXRyYWluaW5nLXdyYXAuZmFkZS1pbiA+Om50aC1jaGlsZCgzKXtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMzAwbXM7XHJcbn1cclxuLnNvbHV0aW9uLW1haW4tYm94IC5kb21haW4tdHJhaW5pbmctd3JhcC5mYWRlLWluID46bnRoLWNoaWxkKDQpe1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiA0MDBtcztcclxufVxyXG4uc29sdXRpb24tbWFpbi1ib3ggLmRvbWFpbi10cmFpbmluZy13cmFwLmZhZGUtaW4gPjpudGgtY2hpbGQoNSl7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDUwMG1zO1xyXG59XHJcblxyXG4vKiAuc29sdXRpb24tbWFpbi1ib3ggLmRvbWFpbi10cmFpbmluZy1ib3gud2Vhay1zdXBlcnZpc2lvbi1ib3guZmFkZS1pbiA+ICp7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3dpbmctaW4tbGVmdC1iY2sgMC42cyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMS4yNzUpIGJvdGg7XHJcbiAgICBhbmltYXRpb246IHN3aW5nLWluLWxlZnQtYmNrIDAuNnMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEuMjc1KSBib3RoO1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTAwMG1zO1xyXG59ICovXHJcbi5zb2x1dGlvbi1tYWluLWJveCAuZG9tYWluLXRyYWluaW5nLWJveC53ZWFrLXN1cGVydmlzaW9uLWJveC5mYWRlLWluIGRpdjpmaXJzdC1jaGlsZHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMTAwMG1zO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHN3aW5nLWluLXRvcC1md2QgNTAwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEuMjc1KSBib3RoO1xyXG4gICAgYW5pbWF0aW9uOiBzd2luZy1pbi10b3AtZndkIDUwMG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxLjI3NSkgYm90aDtcclxufVxyXG4uc29sdXRpb24tbWFpbi1ib3ggLmRvbWFpbi10cmFpbmluZy1ib3gud2Vhay1zdXBlcnZpc2lvbi1ib3guZmFkZS1pbiBkaXY6bnRoLWNoaWxkKDIpe1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyMDAwbXM7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3dpbmctaW4tdG9wLWZ3ZCA1MDBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMS4yNzUpIGJvdGg7XHJcbiAgICBhbmltYXRpb246IHN3aW5nLWluLXRvcC1md2QgNTAwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEuMjc1KSBib3RoO1xyXG59XHJcbi8qIC5zb2x1dGlvbi1tYWluLWJveCAuZG9tYWluLXRyYWluaW5nLWJveC53ZWFrLXN1cGVydmlzaW9uLWJveC5mYWRlLWluIGRpdjpudGgtY2hpbGQoMyl7XHJcbiAgICBhbmltYXRpb246IG5vbmU7XHJcbn0gKi9cclxuLnNvbHV0aW9uLW1haW4tYm94IC5kb21haW4tdHJhaW5pbmctYm94LndlYWstc3VwZXJ2aXNpb24tYm94LmZhZGUtaW4gLmRvbWFpbi1pbm5lci13cmFwLWJveCBkaXY6Zmlyc3QtY2hpbGQsLnNvbHV0aW9uLW1haW4tYm94IC5kb21haW4tdHJhaW5pbmctYm94LndlYWstc3VwZXJ2aXNpb24tYm94LmZhZGUtaW4gLmRvbWFpbi1pbm5lci13cmFwLWJveCBkaXY6bnRoLWNoaWxkKDQpe1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyMzAwbXM7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3dpbmctaW4tbGVmdC1iY2sgMC42cyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMS4yNzUpIGJvdGg7XHJcbiAgICBhbmltYXRpb246IHN3aW5nLWluLWxlZnQtYmNrIDAuNnMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEuMjc1KSBib3RoO1xyXG59XHJcbi5zb2x1dGlvbi1tYWluLWJveCAuZG9tYWluLXRyYWluaW5nLWJveC53ZWFrLXN1cGVydmlzaW9uLWJveC5mYWRlLWluIC5kb21haW4taW5uZXItd3JhcC1ib3ggZGl2Om50aC1jaGlsZCgyKSxcclxuLnNvbHV0aW9uLW1haW4tYm94IC5kb21haW4tdHJhaW5pbmctYm94LndlYWstc3VwZXJ2aXNpb24tYm94LmZhZGUtaW4gLmRvbWFpbi1pbm5lci13cmFwLWJveCBkaXY6bnRoLWNoaWxkKDUpe1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyNjAwbXM7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3dpbmctaW4tbGVmdC1iY2sgMC42cyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMS4yNzUpIGJvdGg7XHJcbiAgICBhbmltYXRpb246IHN3aW5nLWluLWxlZnQtYmNrIDAuNnMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEuMjc1KSBib3RoO1xyXG59XHJcbi5zb2x1dGlvbi1tYWluLWJveCAuZG9tYWluLXRyYWluaW5nLWJveC53ZWFrLXN1cGVydmlzaW9uLWJveC5mYWRlLWluIC5kb21haW4taW5uZXItd3JhcC1ib3ggZGl2Om50aC1jaGlsZCgzKSxcclxuLnNvbHV0aW9uLW1haW4tYm94IC5kb21haW4tdHJhaW5pbmctYm94LndlYWstc3VwZXJ2aXNpb24tYm94LmZhZGUtaW4gLmRvbWFpbi1pbm5lci13cmFwLWJveCBkaXY6bnRoLWNoaWxkKDYpe1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyOTAwbXM7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3dpbmctaW4tbGVmdC1iY2sgMC42cyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMS4yNzUpIGJvdGg7XHJcbiAgICBhbmltYXRpb246IHN3aW5nLWluLWxlZnQtYmNrIDAuNnMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEuMjc1KSBib3RoO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG4vKiAuc29sdXRpb24tbWFpbi1ib3ggLndlYWstc3VwZXJ2aXNpb24tYm94LmZhZGUtaW4gPjpudGgtY2hpbGQoNCl7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDQwMG1zO1xyXG59XHJcbi5zb2x1dGlvbi1tYWluLWJveCAud2Vhay1zdXBlcnZpc2lvbi1ib3guZmFkZS1pbiA+Om50aC1jaGlsZCg1KXtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogNTAwbXM7XHJcbn0gKi9cclxuXHJcblxyXG5cclxuLm1hcmtldC1zdGFnLXdyYXB7XHJcbiAgICBvcGFjaXR5OjA7XHJcbiAgICB0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlLWluLW91dDtcclxufVxyXG4udGFicy1tYWluLWJveCAubWFya2V0LXN0YWctd3JhcC5mYWRlLWlue1xyXG4gICAgb3BhY2l0eToxO1xyXG59XHJcbi5jbGllbnQtc3BlLWRhdGEtd3JhcHtcclxuICAgIG9wYWNpdHk6MDtcclxuICAgIHRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcbi50YWJzLW1haW4tYm94IC5jbGllbnQtc3BlLWRhdGEtd3JhcC5mYWRlLWlue1xyXG4gICAgb3BhY2l0eToxO1xyXG59XHJcbi5yLWFuZC1kLXdyYXB7XHJcbiAgICBvcGFjaXR5OjA7XHJcbiAgICB0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlLWluLW91dDtcclxufVxyXG4udGFicy1tYWluLWJveCAuci1hbmQtZC13cmFwLmZhZGUtaW57XHJcbiAgICBvcGFjaXR5OjE7XHJcbn1cclxuLmRvbWFpbi10cmFpbmluZy1ib3h7XHJcbiAgICBvcGFjaXR5OjA7XHJcbiAgICB0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlLWluLW91dDtcclxufVxyXG4uc29sdXRpb24tbWFpbi1ib3ggLmRvbWFpbi10cmFpbmluZy1ib3guZmFkZS1pbntcclxuICAgIG9wYWNpdHk6MTtcclxufVxyXG4uZG9tYWluLW9udG9sb2d5LWJveHtcclxuICAgIG9wYWNpdHk6MDtcclxuICAgIHRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5zb2x1dGlvbi1tYWluLWJveCAuZG9tYWluLW9udG9sb2d5LWJveC5mYWRlLWlue1xyXG4gICAgb3BhY2l0eToxO1xyXG59XHJcbi8qIC5tYXJrZXQtc3RhZy1pbm5lci13cmFwLC5jbGllbnQtc3BlLWRhdGEtaW5uZXItd3JhcCwuci1hbmQtZC1pbm5lci13cmFwe1xyXG4gICAgbWFyZ2luLWJvdHRvbToxMzBweDtcclxufSAqL1xyXG4udGFicy1pbm5lci1ib3ggLnRhYnMtY29udGVudHtcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgLyogcGFkZGluZzowcHggMzBweCAyMHB4IDMwcHg7ICovXHJcbiAgICBwYWRkaW5nOiAwIDMwcHg7XHJcbn1cclxuLmRhdGEtdGFiLXNpbmdsZSBoNHtcclxuICBmb250LXNpemU6MjBweDtcclxuICBtYXJnaW46NXB4IGF1dG87XHJcbiAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICBjb2xvcjojMDAwMDAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4udGFicy1pbm5lci1ib3h7XHJcbiAgICBtYXJnaW46IDI1cHggYXV0bztcclxufVxyXG4udGFicy1pbm5lci1ib3ggLnRhYnMtY29udGVudCBwe1xyXG4gIGZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6IzQxNDE0MSAhaW1wb3J0YW50O1xyXG4gIGxpbmUtaGVpZ2h0OjI0cHggIWltcG9ydGFudDtcclxuICBtYXJnaW46MDtcclxufVxyXG4udGFicy1pbm5lci1ib3ggLmluc2lnaHQtYm94e1xyXG4gICAgYm9yZGVyLXJhZGl1czo3OHB4O1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBoZWlnaHQ6MTAwJTtcclxuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XHJcbn1cclxuLnRhYnMtaW5uZXItYm94IC5pbnNpZ2h0LWJveDphZnRlcntcclxuICAgIHdpZHRoOjIwcHg7XHJcbiAgICBoZWlnaHQ6MjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICBib3JkZXItcmFkaXVzOjEwMCU7XHJcbiAgICBib3R0b206LTExcHg7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICByaWdodDowO1xyXG4gICAgbWFyZ2luOjAgYXV0bztcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgei1pbmRleDoyO1xyXG59XHJcbi5tYXJrZXQtaW5zaWdodC5pbnNpZ2h0LWJveDphZnRlcntcclxuICAgIGJvcmRlcjpzb2xpZCAzcHggIzg1YzhiYztcclxufVxyXG4uY2xpZW50LWluc2lnaHQuaW5zaWdodC1ib3g6YWZ0ZXJ7XHJcbiAgICBib3JkZXI6c29saWQgM3B4ICMwMTYyOWM7XHJcbn1cclxuLnItYW5kLWQtaW5zaWdodC5pbnNpZ2h0LWJveDphZnRlcntcclxuICAgIGJvcmRlcjpzb2xpZCAzcHggIzZlMmI2MTtcclxufVxyXG4udGFicy1pbm5lci1ib3ggLmluc2lnaHQtYm94IC5pbnNpZ2h0LXRpdGxle1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICB0b3A6LTIwcHg7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICByaWdodDowO1xyXG4gICAgbWFyZ2luOjAgYXV0bztcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIGJvcmRlci1yYWRpdXM6NzhweDtcclxuICAgIHdpZHRoOjE0MHB4O1xyXG4gICAgaGVpZ2h0OjQwcHg7IFxyXG59XHJcbi5pbnNpZ2h0LWJveC5tYXJrZXQtaW5zaWdodHtcclxuICAgIGJvcmRlcjpzb2xpZCAzcHggIzg1YzhiYztcclxuICAgIGJhY2tncm91bmQtY29sb3I6I2Y2ZmZmZDtcclxuICAgIGhlaWdodDoxMjBweDtcclxufVxyXG4uaW5zaWdodC1ib3gubWFya2V0LWluc2lnaHQgLmluc2lnaHQtdGl0bGV7XHJcbiAgICBib3JkZXI6c29saWQgM3B4ICM4NWM4YmM7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiM4NWM4YmM7XHJcbn1cclxuLmluc2lnaHQtYm94LmNsaWVudC1pbnNpZ2h0e1xyXG4gICAgYm9yZGVyOnNvbGlkIDNweCAjMTE2Y2EyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZTdmMGY2O1xyXG59XHJcbi5pbnNpZ2h0LWJveC5jbGllbnQtaW5zaWdodDo6YmVmb3Jle1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9jb25uZWN0b3ItYmx1ZS1hcnJvdy5zdmdcIik7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XHJcbiAgICBoZWlnaHQ6NTBweDtcclxuICAgIHdpZHRoOjE0cHg7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciAwO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICByaWdodDowO1xyXG4gICAgYm90dG9tOi00OXB4O1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIG1hcmdpbjowIGF1dG87XHJcbn1cclxuLmluc2lnaHQtYm94LmNsaWVudC1pbnNpZ2h0IC5pbnNpZ2h0LXRpdGxle1xyXG4gICAgYm9yZGVyOnNvbGlkIDNweCAjMTE2Y2EyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojMTE2Y2EyO1xyXG59XHJcbi5pbnNpZ2h0LWJveC5yLWFuZC1kLWluc2lnaHR7XHJcbiAgICBib3JkZXI6c29saWQgM3B4ICM2ZTJiNjE7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmMWVhZWY7XHJcbn1cclxuLmluc2lnaHQtYm94LnItYW5kLWQtaW5zaWdodCAuaW5zaWdodC10aXRsZXtcclxuICAgIGJvcmRlcjpzb2xpZCAzcHggIzZlMmI2MTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IzZlMmI2MTtcclxufVxyXG4udGFicy1pbm5lci1ib3ggLmluc2lnaHQtYm94IC5pbnNpZ2h0LXRpdGxlIGg1e1xyXG4gICAgZm9udC1zaXplOjI0cHg7XHJcbiAgICBmb250LXdlaWdodDo1MDA7XHJcbiAgICBmb250LXN0eWxlOm5vcm1hbDtcclxuICAgIGZvbnQtc3RyZXRjaDpub3JtYWw7XHJcbiAgICBsaW5lLWhlaWdodDpub3JtYWw7XHJcbiAgICBsZXR0ZXItc3BhY2luZzpub3JtYWw7XHJcbiAgICBjb2xvcjojZmZmZmZmOyAgICAgIFxyXG59XHJcbi5jbGllbnQtc3RyYXRlZ3ktYm94e1xyXG4gICAgbWFyZ2luOjQ0cHggYXV0byAwO1xyXG4gICAgbWF4LXdpZHRoOjIxMXB4O1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgaGVpZ2h0OjEwMCU7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XHJcbn1cclxuLmNsaWVudC1zdHJhdGVneS1ib3ggLmNsaWVudC1zdHJhdGVneS1pY29ue1xyXG4gICAgd2lkdGg6MTIwcHg7XHJcbiAgICBoZWlnaHQ6MTIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOjEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiMxMTZjYTI7XHJcbiAgICBtYXJnaW46MCBhdXRvIDE0cHg7XHJcbn1cclxuLmNsaWVudC1zdHJhdGVneS1ib3ggLmNsaWVudC1zdHJhdGVneS1pY29uLm1lZGljYWwtYWZmYWlye1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9tZWRpY2FsLWFmZmFpcnMuc3ZnXCIpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7XHJcbn1cclxuLmNsaWVudC1zdHJhdGVneS1ib3ggLmNsaWVudC1zdHJhdGVneS1pY29uLnBhdGllbnQtc2VydmljZXtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvcGF0aWVudC1zZXJ2aWNlLnN2Z1wiKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyO1xyXG59XHJcbi5jbGllbnQtc3RyYXRlZ3ktYm94IC5jbGllbnQtc3RyYXRlZ3ktaWNvbi5maWVsZC1mb3JjZXtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvZmllbGQtZm9yY2Uuc3ZnXCIpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7XHJcbn1cclxuLmNsaWVudC1zdHJhdGVneS1ib3ggaDV7XHJcbiAgICBmb250LXNpemU6MzBweDtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICBjb2xvcjojMTE2Y2EyO1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbn1cclxuLnRhYnMtaW5uZXItYm94IC5pbnNpZ2h0LWJveCAudGFicy1jb250ZW50e1xyXG4gICAgcGFkZGluZzozM3B4IDI2cHg7XHJcbn1cclxuLm1hcmtldGluZy1zdHJhdGVneS1ib3h7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBwYWRkaW5nLXRvcDo5NnB4O1xyXG59XHJcbi5tYXJrZXRpbmctc3RyYXRlZ3ktYm94IC5tYXJrZXRpbmctc3RyYXRlZ3ktaWNvbntcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvbWFya2V0aW5nLXN0cmF0ZWd5LnN2Z1wiKTsgXHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcclxuICAgIGhlaWdodDoxMjBweDsgIFxyXG4gICAgd2lkdGg6MTIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOjEwMCU7XHJcbiAgICBtYXJnaW46MHB4IGF1dG8gMTVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6Izg1YzhiYztcclxufVxyXG4ubWFya2V0aW5nLXN0cmF0ZWd5LWJveCBoNXtcclxuICAgIGZvbnQtc2l6ZTozMHB4O1xyXG4gICAgY29sb3I6Izg1YzhiYztcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgbWFyZ2luOjA7XHJcbn1cclxuLm1hcmtldGluZy1zdHJhdGVneS1ib3g6OmJlZm9yZXtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvY29ubmVjdG9ycy1ncmVlbi5zdmdcIik7IFxyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjo1MCUgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xyXG4gICAgY29udGVudDpcIlwiO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICByaWdodDowO1xyXG4gICAgdG9wOjA7XHJcbiAgICBtYXJnaW46MCBhdXRvO1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBoZWlnaHQ6OTZweDtcclxufVxyXG4uY2hhbGxhbmdlLXdyYXBlcntcclxuICAgIG1hcmdpbi10b3A6NDVweDtcclxufVxyXG4uY2hhbGxhbmdlLXdyYXBlcjo6YWZ0ZXJ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgYm90dG9tOiAtMzk4cHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9zb2x1dGlvbl9kYXRhX2xpbmUuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICB3aWR0aDogODM4cHg7XHJcbiAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB6LWluZGV4OiAtMTtcclxufVxyXG4uY2hhbGxhbmdlLXdyYXBlciAuY2hhbGxlbmdlLWNvbnRlbnR7XHJcbiAgICBwYWRkaW5nLWxlZnQ6NzNweDtcclxufVxyXG4uY2hhbGxhbmdlLXdyYXBlciAuY2hhbGxlbmdlLWNvbnRlbnQgcHtcclxuICAgIGZvbnQtc2l6ZToxOHB4O1xyXG4gICAgY29sb3I6IzAwMDtcclxufVxyXG4uY2hhbGxhbmdlLXdyYXBlciAuY2hhbGxlbmdlLWluZm97XHJcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgIG1heC13aWR0aDozNzhweDtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBtYXJnaW46MCBhdXRvO1xyXG59XHJcbi5jaGFsbGFuZ2Utd3JhcGVyIC5jaGFsbGVuZ2UtaW5mbyBwe1xyXG4gICAgZm9udC1zaXplOjE2cHggIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OjMwcHggIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcclxuICAgIGNvbG9yOiMwMDAwMDAgIWltcG9ydGFudDtcclxuICAgIHRleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O1xyXG59XHJcbi5jaGFsbGVuZ2UtZmVhdHVyZXMtd3JhcHtcclxuICAgIG1hcmdpbi10b3A6MzFweDtcclxufVxyXG4uY2hhbGxlbmdlLWZlYXR1cmVzLXdyYXAgLmNoYWxsZW5nZS1pbWd7XHJcbiAgICBoZWlnaHQ6MjYwcHg7XHJcbiAgICB3aWR0aDoyNjBweDtcclxuICAgIG1hcmdpbjowIGF1dG87XHJcbn1cclxuLmNoYWxsZW5nZS1mZWF0dXJlcy13cmFwIC5jaGFsbGVuZ2UtaW1nLnZvbHVtZXtcclxuICAgIGJhY2tncm91bmQ6dXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvVm9sdW1lX2ljb24uc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7IFxyXG4gICAgaGVpZ2h0OjIxMHB4O1xyXG4gICAgd2lkdGg6MTkwcHg7XHJcbn1cclxuLmNoYWxsZW5nZS1mZWF0dXJlcy13cmFwIC5jaGFsbGVuZ2UtaW1nLnF1YWxpdHl7XHJcbiAgICBiYWNrZ3JvdW5kOnVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL1F1YWxpdHlfaWNvbi5zdmdcIikgbm8tcmVwZWF0IGNlbnRlcjsgXHJcbiAgICBoZWlnaHQ6MjEwcHg7XHJcbiAgICB3aWR0aDoxOTBweDtcclxufVxyXG4uY2hhbGxlbmdlLWZlYXR1cmVzLXdyYXAgLmNoYWxsZW5nZS1pbWcuYWRvcHRpb257XHJcbiAgICBiYWNrZ3JvdW5kOnVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL0NvbXBsZXhpdHkuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7IFxyXG4gICAgaGVpZ2h0OjIxMHB4O1xyXG4gICAgd2lkdGg6MTkwcHg7XHJcbn1cclxuI3NvbHV0aW9uIHtcclxuICAgIG1hcmdpbi10b3A6MjFweDtcclxufVxyXG4jc29sdXRpb24gLnNvbHV0aW9uLWNvbnRlbnR7XHJcbiAgICBwYWRkaW5nLWxlZnQ6MTIwcHg7XHJcbn1cclxuLnNvbHV0aW9uLWNvbnRlbnQgaDN7XHJcbiAgICBmb250LXNpemU6NDhweCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IzAwMCAhaW1wb3J0YW50O1xyXG59XHJcbi5zb2x1dGlvbi1jb250ZW50IHB7XHJcbiAgICBmb250LXNpemU6MThweCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IzAwMDAwMCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXRvcDo0OHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnNvbHV0aW9uLXRhYnN7XHJcbiAgICBtYXJnaW46ODVweCBhdXRvIDA7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxufVxyXG4uc29sdXRpb24tdGFicyAubmF2LWl0ZW0gYXtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG59XHJcbi5zb2x1dGlvbi10YWJzIC5uYXYtaXRlbXtcclxuICAgIG1heC13aWR0aDoyNTBweDtcclxufVxyXG4uc29sdXRpb24tdGFicyAubmF2LWl0ZW0gYTpiZWZvcmV7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICBoZWlnaHQ6MDtcclxuICAgIHdpZHRoOjNweDtcclxuICAgIGxlZnQ6MDtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICBib3R0b206LTYwcHg7XHJcbiAgICBtYXJnaW46MCBhdXRvO1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG59XHJcbi5zb2x1dGlvbi10YWJzIC5kb21haW4tdHJhaW4gYXtcclxuICAgIGJvcmRlcjpzb2xpZCAzcHggIzA2NTI4MDtcclxuICAgIGNvbG9yOiMwNjUyODA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XHJcbn1cclxuLnNvbHV0aW9uLXRhYnMgLmRvbWFpbi10cmFpbiBhOmhvdmVyLC5zb2x1dGlvbi10YWJzIC5kb21haW4tdHJhaW4gYS5hY3RpdmV7XHJcbiAgICBib3JkZXI6c29saWQgM3B4ICMwNjUyODA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiMwNjUyODA7XHJcbiAgICBjb2xvcjojZmZmO1xyXG59XHJcbi5zb2x1dGlvbi10YWJzIC5kb21haW4tdHJhaW4gYTpob3Zlcjo6YmVmb3JlLC5zb2x1dGlvbi10YWJzIC5kb21haW4tdHJhaW4gYS5hY3RpdmU6YmVmb3Jle1xyXG4gICAgaGVpZ2h0OjYwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiMwNjUyODA7XHJcbn1cclxuLnNvbHV0aW9uLXRhYnMgLndlYWstc3VwZXJ2aXNpb24gYXtcclxuICAgIGJvcmRlcjpzb2xpZCAzcHggIzZlMmI2MTtcclxuICAgIGNvbG9yOiM2ZTJiNjE7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XHJcbn1cclxuLnNvbHV0aW9uLXRhYnMgLndlYWstc3VwZXJ2aXNpb24gYTpob3Zlciwuc29sdXRpb24tdGFicyAud2Vhay1zdXBlcnZpc2lvbiBhLmFjdGl2ZXtcclxuICAgIGJvcmRlcjpzb2xpZCAzcHggIzZlMmI2MTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IzZlMmI2MTtcclxuICAgIGNvbG9yOiNmZmY7XHJcbn1cclxuLnNvbHV0aW9uLXRhYnMgLndlYWstc3VwZXJ2aXNpb24gYTpob3Zlcjo6YmVmb3JlLC5zb2x1dGlvbi10YWJzIC53ZWFrLXN1cGVydmlzaW9uIGEuYWN0aXZlOjpiZWZvcmV7XHJcbiAgICBoZWlnaHQ6NjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IzZlMmI2MTtcclxufVxyXG4uc29sdXRpb24tdGFicyAuZG9tYWluLW9udG9sb2dpZXMgYXtcclxuICAgIGJvcmRlcjpzb2xpZCAzcHggI2FhYmU3MDtcclxuICAgIGNvbG9yOiNhYWJlNzA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XHJcbn1cclxuLnNvbHV0aW9uLXRhYnMgLmRvbWFpbi1vbnRvbG9naWVzIGE6aG92ZXIsLnNvbHV0aW9uLXRhYnMgLmRvbWFpbi1vbnRvbG9naWVzIGEuYWN0aXZle1xyXG4gICAgYm9yZGVyOnNvbGlkIDNweCAjYWFiZTcwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojYWFiZTcwO1xyXG4gICAgY29sb3I6I2ZmZjtcclxufVxyXG4uc29sdXRpb24tdGFicyAuZG9tYWluLW9udG9sb2dpZXMgYTpob3Zlcjo6YmVmb3JlLC5zb2x1dGlvbi10YWJzIC5kb21haW4tb250b2xvZ2llcyBhLmFjdGl2ZTo6YmVmb3Jle1xyXG4gICAgaGVpZ2h0OjYwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNhYWJlNzA7XHJcbn1cclxuLnNvbHV0aW9uLXRhYnM6YWZ0ZXJ7XHJcbiAgICBiYWNrZ3JvdW5kOnVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL1NvbHV0aW9uX0xpbmVfR3JhcGhpYy5zdmdcIikgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgbGVmdDowO1xyXG4gICAgcmlnaHQ6MDtcclxuICAgIGJvdHRvbTotNTA3cHg7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICBoZWlnaHQ6NTA3cHg7XHJcbiAgICB6LWluZGV4Oi0xO1xyXG59XHJcbi5zb2x1dGlvbi1tYWluLWJveCAuZG9tYWluLXRyYWluaW5nLWJveHtcclxuICAgIGJvcmRlci1yYWRpdXM6MjM2cHg7XHJcbiAgICBib3JkZXI6c29saWQgMnB4ICMwNjUyODA7XHJcbiAgICBwYWRkaW5nOjIzcHggODBweDtcclxuICAgIG1hcmdpbjo1N3B4IGF1dG8gMDtcclxuICAgIGFsaWduLWNvbnRlbnQ6Y2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcclxuICAgIGhlaWdodDo0OTJweDtcclxuICAgIG1heC13aWR0aDoxNDE3cHg7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbn1cclxuLnNvbHV0aW9uLW1haW4tYm94IC5kb21haW4tdHJhaW5pbmctYm94IHNwYW57XHJcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiMwMDAwMDA7XHJcbiAgICBmb250LXNpemU6MjBweDtcclxufVxyXG4uc29sdXRpb24tbWFpbi1ib3ggLmRvbWFpbi10cmFpbmluZy1ib3ggaDR7XHJcbiAgICBmb250LXNpemU6NDVweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6NTAwICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjojMDY1MjgwICFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgdG9wOjIzcHg7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICByaWdodDowO1xyXG59XHJcbi5kb21haW4tdHJhaW5pbmctYm94IC5wcmUtdHJhaW5lZC1ib3h7XHJcbiAgICBoZWlnaHQ6MzUwcHg7XHJcbiAgICBtYXgtd2lkdGg6MjA3cHg7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xyXG4gICAgcGFkZGluZy10b3A6NjNweDtcclxufVxyXG4uZG9tYWluLXRyYWluaW5nLWJveCAucHJlLXRyYWluZWQtYm94LWlubmVye1xyXG4gICAgYmFja2dyb3VuZDp1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9wcmUtdHJhaW5lZC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgIGhlaWdodDoxNzhweDtcclxuICAgIHdpZHRoOjE5NHB4O1xyXG59XHJcbi5kb21haW4tdHJhaW5pbmctYm94IC5kb21haW4tZGF0YS1ib3h7XHJcbiAgICBoZWlnaHQ6MzIzcHg7XHJcbiAgICBtYXgtd2lkdGg6MTc4cHg7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tcmlnaHQ6MjdweDtcclxufVxyXG4uZG9tYWluLXRyYWluaW5nLWJveCAuZG9tYWluLWRhdGEtYm94IHNwYW57XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIGxlZnQ6MDtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICBtYXJnaW46MCBhdXRvO1xyXG4gICAgYm90dG9tOjgwcHg7XHJcbiAgICBjb2xvcjojZmZmICFpbXBvcnRhbnQ7XHJcbn1cclxuLmRvbWFpbi10cmFpbmluZy1ib3ggLmRvbWFpbi1kYXRhLWJveC1pbm5lcntcclxuICAgIGJhY2tncm91bmQ6dXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvZG9tYWluLWRhdGEuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6MTc4cHg7XHJcbiAgICB3aWR0aDoxOTRweDtcclxufVxyXG4uZG9tYWluLXRyYWluLW1haW4tYm94e1xyXG4gICAgd2lkdGg6NTk1cHg7XHJcbiAgICBoZWlnaHQ6MzUwcHg7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xyXG5cclxufVxyXG4uZG9tYWluLXRyYWluaW5nLWJveCAuZG9tYWluLXRyYWluLWlubmVyLWJsdWVib3h7XHJcbiAgICBiYWNrZ3JvdW5kOnVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL2RvbWFpbi10cmFpbi1pbm5lci1ibHVlYm94LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgaGVpZ2h0OjIzOXB4O1xyXG4gICAgd2lkdGg6NTk1cHg7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBmbGV4LXdyYXA6d3JhcDtcclxuICAgIHBhZGRpbmc6MCAyNXB4O1xyXG59XHJcbi5kb21haW4tdHJhaW5pbmctYm94IC5kb21haW4tdHJhaW4taW5uZXItYmx1ZWJveCBzcGFue1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBib3R0b206NXB4O1xyXG4gICAgbGVmdDowO1xyXG4gICAgcmlnaHQ6MDtcclxuICAgIGNvbG9yOiNmZmYgIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OjEuMiAhaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6bm9ybWFsICFpbXBvcnRhbnQ7XHJcbn1cclxuLmRvbWFpbi10cmFpbi1pbm5lci1ibHVlYm94IC5jb2x7XHJcbiAgICBtYXgtd2lkdGg6MTY4cHg7XHJcbiAgICBoZWlnaHQ6MTc4cHg7XHJcbiAgICBib3JkZXI6MXB4IHNvbGlkICNmZmY7XHJcbiAgICBib3JkZXItcmFkaXVzOjZweDtcclxuICAgIG1hcmdpbjowIDEwcHggMCAwO1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246Y29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcclxuICAgIHBhZGRpbmctYm90dG9tOjUycHg7XHJcbn1cclxuLmRvbWFpbi10cmFpbi1pbm5lci1ibHVlYm94IC5jb2w6bGFzdC1jaGlsZHtcclxuICAgIG1hcmdpbjowO1xyXG59XHJcbi5kb21haW4tdHJhaW5pbmctYm94IC5kb21haW4tdHJhaW4taW5uZXItYmx1ZWJveCAuZmluZXR1bmluZy1ib3gtaW5uZXJ7XHJcbiAgICBiYWNrZ3JvdW5kOnVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL2ZpbmV0dW5pbmcuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6NjhweDtcclxuICAgIHdpZHRoOjc1cHg7XHJcbiAgICBtYXJnaW46MCBhdXRvO1xyXG59XHJcbi5kb21haW4tdHJhaW5pbmctYm94IC5kb21haW4tdHJhaW4taW5uZXItYmx1ZWJveCAudXBkYXRlLXdvcmQtaW5uZXJ7XHJcbiAgICBiYWNrZ3JvdW5kOnVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL3VwZGF0ZS13b3JkLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgaGVpZ2h0Ojg5cHg7XHJcbiAgICB3aWR0aDo3OXB4O1xyXG4gICAgbWFyZ2luOjAgYXV0bztcclxufVxyXG4uZG9tYWluLXRyYWluaW5nLWJveCAuZG9tYWluLXRyYWluLWlubmVyLWJsdWVib3ggLm5ldy12b2MtaW5uZXJ7XHJcbiAgICBiYWNrZ3JvdW5kOnVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL25ldy12b2Muc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6NTJweDtcclxuICAgIHdpZHRoOjczcHg7XHJcbiAgICBtYXJnaW46MCBhdXRvO1xyXG59XHJcbi5kb21haW4tdHJhaW5pbmctYm94IC5kb21haW4tYWRqdXN0LWJveHtcclxuICAgIHdpZHRoOjIxNnB4O1xyXG4gICAgaGVpZ2h0OjMyMHB4O1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcclxuICAgIG1hcmdpbi1sZWZ0OjE1cHg7XHJcbiAgICBwYWRkaW5nLXRvcDo2M3B4O1xyXG59XHJcbi5kb21haW4tdHJhaW5pbmctYm94IC5kb21haW4tYWRqdXN0LWJveC1pbm5lcnsgICAgXHJcbiAgICBiYWNrZ3JvdW5kOnVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL2RvbWFpbi1hZGp1c3Quc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6MTc4cHg7XHJcbiAgICB3aWR0aDoyMTZweDtcclxufVxyXG4ud2Vhay1zdXBlcnZpc2lvbi1ib3h7XHJcbiAgICBib3JkZXI6M3B4IHNvbGlkICM2ZTJiNjEgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDo1NTlweCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czozMDJweCAhaW1wb3J0YW50O1xyXG59XHJcbi53ZWFrLXN1cGVydmlzaW9uLWJveHtcclxuICAgIG9wYWNpdHk6MDtcclxuICAgIHRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5zb2x1dGlvbi1tYWluLWJveCAud2Vhay1zdXBlcnZpc2lvbi1ib3guZmFkZS1pbntcclxuICAgIG9wYWNpdHk6MTtcclxufVxyXG4uc29sdXRpb24tbWFpbi1ib3ggLmRvbWFpbi10cmFpbmluZy1ib3gud2Vhay1zdXBlcnZpc2lvbi1ib3ggaDR7XHJcbiAgICBjb2xvcjojNmUyYjYxICFpbXBvcnRhbnQ7XHJcbiAgICBwb3NpdGlvbjpzdGF0aWM7XHJcbn1cclxuLmRvbWFpbi1leHBlcnQtYm94e1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246Y29sdW1uO1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6MTcwcHg7XHJcbiAgICBtYXJnaW46MjBweCBhdXRvIDA7XHJcbn1cclxuLmRvbWFpbi1leHBlcnQtYm94OmFmdGVye1xyXG4gICAgYmFja2dyb3VuZDp1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9jb25uZWN0b3JzX3RvcF9icm93bi5zdmdcIikgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTo2NyU7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgaGVpZ2h0OjkxcHg7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIGJvdHRvbTowO1xyXG4gICAgcmlnaHQ6MDtcclxuICAgIGxlZnQ6MDtcclxuICAgIG1hcmdpbjowIGF1dG87XHJcbn1cclxuLndlYWstc3VwZXJ2aXNpb24tYm94IC5kb21haW4tZXhwZXJ0LWJveCAuZG9tYWluLWV4cGVydC1pY29ue1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9Eb21haW5fRXhwb3J0X2ljb24uc3ZnXCIpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO1xyXG4gICAgd2lkdGg6NTBweDtcclxuICAgIGhlaWdodDo1M3B4O1xyXG4gICAgbWFyZ2luOjAgYXV0bztcclxufVxyXG4ud2Vhay1zdXBlcnZpc2lvbi1ib3ggLmRvbWFpbi1leHBlcnQtYm94IHNwYW57XHJcbiAgICBmb250LXNpemU6MjBweDtcclxuICAgIGNvbG9yOiMwMDAwMDA7XHJcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxufVxyXG4uZG9tYWluLWlubmVyLXdyYXAtYm94e1xyXG4gICAgbWF4LXdpZHRoOjExMjBweDtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBtYXJnaW46MCBhdXRvXHJcbn1cclxuLmRvbWFpbi1pbm5lci13cmFwLWJveCAuZG9tYWluLWlubmVyLWJveHtcclxuICAgIGRpc3BsYXk6ZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XHJcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxufVxyXG4uZG9tYWluLWlubmVyLXdyYXAtYm94IC53ZWFrLW5hbWV7XHJcbiAgICBmb250LXNpemU6MjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxuICAgIGNvbG9yOiMwMDAwMDA7XHJcbiAgICBtYXJnaW4tdG9wOjEwcHg7XHJcbiAgICBkaXNwbGF5OmJsb2NrOyBcclxufVxyXG4uZG9tYWluLWlubmVyLXdyYXAtYm94IC5kb21haW4taW5uZXItYm94IC5kb21haW4taW5uZXItZ3JheS1ib3h7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmMGYwZjA7XHJcbiAgICBib3JkZXItcmFkaXVzOjZweDtcclxuICAgIHdpZHRoOjE4NnB4O1xyXG4gICAgaGVpZ2h0OjE4NnB4O1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246Y29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcclxuICAgIG1hcmdpbjowIGF1dG87XHJcbn1cclxuLmRvbWFpbi1pbm5lci1ncmF5LWJveCAuZG9hbWluLWlubmVyLWNvbnRlbnQge1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBib3R0b206MDtcclxuICAgIG1heC13aWR0aDoxNTRweDtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICBtYXJnaW46MCBhdXRvO1xyXG59XHJcbi5kb21haW4taW5uZXItZ3JheS1ib3ggLmRvYW1pbi1pbm5lci1jb250ZW50IHNwYW57XHJcbiAgICBmb250LXNpemU6MjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxuICAgIGxpbmUtaGVpZ2h0OjE7XHJcbiAgICBjb2xvcjojNzc3Nzc3O1xyXG59XHJcbi5kb21haW4taW5uZXItd3JhcC1ib3ggLmRvbWFpbi1pbm5lci1ib3ggLmRvbWFpbi1pbm5lci1ncmF5LWJveC5ub2lzeS1sYWJlbHMtYm94e1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojNmUyYjYxO1xyXG59XHJcbi5kb21haW4tYmctaW1nLm5vaXN5LWxhYmVscy1pbWd7XHJcbiAgICBiYWNrZ3JvdW5kOnVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL25vaXN5LWxhYmVscy5zdmdcIikgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgIHdpZHRoOjEzN3B4O1xyXG4gICAgaGVpZ2h0OjEzMXB4O1xyXG59XHJcbi5kb21haW4tYmctaW1ne1xyXG4gICAgbWFyZ2luOjAgYXV0bztcclxufVxyXG4uZG9tYWluLWJnLWltZy5oZXVyaXN0aWNzLWltZ3tcclxuICAgIGJhY2tncm91bmQ6dXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvSGV1cmlzdGljc19pY29uLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgaGVpZ2h0Ojg5cHg7XHJcbiAgICB3aWR0aDo5OHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTozMHB4O1xyXG59XHJcbi53ZWFrLWNsYXNzaWZpZXJzLXdyYXB7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICB3aWR0aDo1NzJweDtcclxuICAgIGhlaWdodDoxODZweDtcclxuICAgIG1hcmdpbjowIGF1dG87XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xyXG59XHJcbi53ZWFrLWNsYXNzaWZpZXJzLXdyYXAgLmRvbWFpbi1pbm5lci1ib3h7XHJcbiAgICBtYXJnaW4tcmlnaHQ6NXB4O1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246Y29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcclxufVxyXG4ud2Vhay1jbGFzc2lmaWVycy13cmFwIC5kb21haW4taW5uZXItYm94Omxhc3QtY2hpbGR7XHJcbiAgICBtYXJnaW4tcmlnaHQ6MDtcclxufVxyXG4ud2Vhay1jbGFzc2lmaWVycy13cmFwIC53ZWFrLWNsYXNzaS1vbmUtaW1ne1xyXG4gICAgYmFja2dyb3VuZDp1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC93ZWFrLWNsYXNzaS1vbmUuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICB3aWR0aDoxMjZweDtcclxuICAgIGhlaWdodDoxMDlweDtcclxufVxyXG4ud2Vhay1jbGFzc2lmaWVycy13cmFwIC53ZWFrLWNsYXNzaS10d28taW1ne1xyXG4gICAgYmFja2dyb3VuZDp1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC93ZWFrLWNsYXNzaS10d28uc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICB3aWR0aDoxMzVweDtcclxuICAgIGhlaWdodDoxNDJweDtcclxufVxyXG4ud2Vhay1jbGFzc2lmaWVycy13cmFwIC53ZWFrLWNsYXNzaS10aHJlZS1pbWd7XHJcbiAgICBiYWNrZ3JvdW5kOnVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL3dlYWstY2xhc3NpLXRocmVlLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgd2lkdGg6MTM1cHg7XHJcbiAgICBoZWlnaHQ6MTMzcHg7XHJcbn1cclxuLm1vZGVscy1tYWluLXdyYXBwZXIgLm1vZGVsLWNvbnRlbnR7XHJcbiAgICBtYXgtd2lkdGg6NTAwcHg7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgcGFkZGluZy1sZWZ0OjEyMHB4O1xyXG59XHJcbi5tb2RlbHMtbWFpbi13cmFwcGVye1xyXG4gICAgbWFyZ2luOjIyOHB4IDAgMDtcclxufVxyXG5cclxuICAgIFxyXG5cclxuLm1vZGVsLWhlcm8tbGluZXMtaW1ne1xyXG4gICAgcGFkZGluZzowcHggMCA5MXB4O1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6LTE7XHJcbn1cclxuLm1vZGVsLWhlcm8tbGluZXMtaW1nIC52ZXJ0aWNhbC1saW5lc3tcclxuICAgIHBhZGRpbmctdG9wOjEwMHB4O1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICB6LWluZGV4Ojk7XHJcbn1cclxuLm1vZGVsLWhlcm8tbGluZXMtaW1nIC52ZXJ0aWNhbC1saW5lcyA+IGltZ3tcclxuICAgIG1heC13aWR0aDo0MTRweDtcclxufVxyXG4ubW9kZWwtaGVyby1saW5lcy1pbWcgLnZlcnRpY2FsLWxpbmVzIC5saW5lcy1vdmVybGF5e1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICB3aWR0aDo1MDBweDtcclxuICAgIGJhY2tncm91bmQ6d2hpdGU7XHJcbiAgICB0b3A6MDtcclxuICAgIGJvdHRvbTowO1xyXG4gICAgbGVmdDo1MCU7XHJcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsIDAlKTtcclxuICAgIHRyYW5zaXRpb246YWxsIDgwMG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheToxMDAwbXM7XHJcbn1cclxuLm1vZGVsLWhlcm8tbGluZXMtaW1nLnJldmVsIC52ZXJ0aWNhbC1saW5lcyAubGluZXMtb3ZlcmxheXtcclxuICAgIHRvcDoxMDAlO1xyXG59XHJcbi5tb2RlbC1oZXJvLWxpbmVzLWltZyAuc3RydWN0dXJlZC1kYXRhLXRvcHtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgdG9wOi0xMDBweDtcclxuICAgIGxlZnQ6MDtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICB6LWluZGV4Ojk7XHJcbn1cclxuLm1vZGVsLWhlcm8tbGluZXMtaW1nIC5zdHJ1Y3R1cmVkLWRhdGEtdG9wIGltZ3tcclxuICAgIG1heC13aWR0aDoxMTQzcHg7XHJcbn1cclxuLm1vZGVsLWhlcm8tbGluZXMtaW1nIC5vdmVybGF5e1xyXG4gICAgd2lkdGg6NTAlO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kOndoaXRlO1xyXG4gICAgaGVpZ2h0OjEwMCU7XHJcbiAgICB0cmFuc2l0aW9uOmFsbCA4MDBtcyBlYXNlLWluLW91dDtcclxufVxyXG4ubW9kZWwtaGVyby1saW5lcy1pbWcgLm92ZXJsYXkudG9wLWxlZnR7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICB0b3A6MDtcclxufVxyXG4ubW9kZWwtaGVyby1saW5lcy1pbWcgLm92ZXJsYXkudG9wLXJpZ2h0e1xyXG4gICAgcmlnaHQ6MDtcclxuICAgIHRvcDowO1xyXG59XHJcbi5tb2RlbC1oZXJvLWxpbmVzLWltZyAuc3RydWN0dXJlZC1kYXRhLXRvcCAudG9wLXJpZ2h0e1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTtcclxufVxyXG4ubW9kZWwtaGVyby1saW5lcy1pbWcgLnN0cnVjdHVyZWQtZGF0YS10b3AgLnRvcC1sZWZ0e1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207XHJcbn1cclxuLm1vZGVsLWhlcm8tbGluZXMtaW1nIC5zdHJ1Y3R1cmVkLWRhdGEtYm90dG9tIC50b3AtcmlnaHR7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgdG9wO1xyXG59XHJcbi5tb2RlbC1oZXJvLWxpbmVzLWltZyAuc3RydWN0dXJlZC1kYXRhLWJvdHRvbSAudG9wLWxlZnR7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IHRvcDtcclxufVxyXG4ubW9kZWwtaGVyby1saW5lcy1pbWcucmV2ZWwgLnN0cnVjdHVyZWQtZGF0YS10b3AgLnRvcC1yaWdodCxcclxuLm1vZGVsLWhlcm8tbGluZXMtaW1nLnJldmVsIC5zdHJ1Y3R1cmVkLWRhdGEtYm90dG9tIC50b3AtbGVmdHtcclxuICAgIHRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO1xyXG59XHJcbi5tb2RlbC1oZXJvLWxpbmVzLWltZy5yZXZlbCAuc3RydWN0dXJlZC1kYXRhLXRvcCAudG9wLWxlZnQsXHJcbi5tb2RlbC1oZXJvLWxpbmVzLWltZy5yZXZlbCAuc3RydWN0dXJlZC1kYXRhLWJvdHRvbSAudG9wLXJpZ2h0e1xyXG4gICAgdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO1xyXG59XHJcbi5tb2RlbC1oZXJvLWxpbmVzLWltZyAuc3RydWN0dXJlZC1kYXRhLWJvdHRvbSAub3ZlcmxheXtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6MTgwMG1zO1xyXG59XHJcbi5tb2RlbC1oZXJvLWxpbmVzLWltZyAudmVydGljYWwtbGluZXMgLmRhdGEtY29udGVudHtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgbGVmdDowO1xyXG4gICAgcmlnaHQ6MDtcclxuICAgIG1hcmdpbjowIGF1dG87XHJcbiAgICBtYXgtd2lkdGg6Mjg4cHg7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgYm90dG9tOjEyMHB4O1xyXG59XHJcbi5tb2RlbC1oZXJvLWxpbmVzLWltZyAudmVydGljYWwtbGluZXMgLmRhdGEtY29udGVudCBoNXtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTozNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjojMzMzICFpbXBvcnRhbnQ7XHJcbiAgICBsZXR0ZXItc3BhY2luZzotMS4wOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDtcclxufVxyXG4ubW9kZWwtaGVyby1saW5lcy1pbWcgLnN0cnVjdHVyZWQtZGF0YS1ib3R0b217XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIGxlZnQ6MDtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICBib3R0b206LTEwcHg7XHJcbiAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICB6LWluZGV4OjQ7XHJcbn1cclxuLmRvbWFpbi10cmFpbmluZy1ib3guZG9tYWluLW9udG9sb2d5LWJveHtcclxuICAgIGJvcmRlcjpzb2xpZCAycHggI2I1YzY4MSAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OjQzNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOjIxN3B4ICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBmbGV4LXdyYXA6d3JhcDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcclxuICAgIHBhZGRpbmctdG9wOjU1cHggIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG59XHJcbi5zb2x1dGlvbi1tYWluLWJveCAuZG9tYWluLXRyYWluaW5nLWJveC5kb21haW4tb250b2xvZ3ktYm94IGg0e1xyXG4gICAgY29sb3I6I2I1YzY4MSAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICByaWdodDowO1xyXG4gICAgdG9wOjIwcHg7XHJcbiAgICBtYXJnaW46MCBhdXRvO1xyXG59XHJcbi5kb21haW4taW5uZXItd3JhcHBlcntcclxuICAgIGRpc3BsYXk6ZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOnJvdztcclxuICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XHJcbiAgICBwYWRkaW5nLXRvcDo1NXB4O1xyXG59XHJcbi5kb21haW4taW5uZXItd3JhcHBlciAuZG9tYWluLWJveHtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OjUzcHg7XHJcbn1cclxuLmRvbWFpbi1pbm5lci13cmFwcGVyIC5kb21haW4tYm94Omxhc3QtY2hpbGR7XHJcbiAgICBtYXJnaW4tcmlnaHQ6MDtcclxufVxyXG4uZG9tYWluLWlubmVyLXdyYXBwZXIgLmRvbWFpbi1ib3g6bGFzdC1jaGlsZDphZnRlcntcclxuICAgIGRpc3BsYXk6bm9uZTtcclxufVxyXG4uZG9tYWluLWlubmVyLXdyYXBwZXIgLmRvbWFpbi1ib3guYmlnLWJveHtcclxuICAgIG1hcmdpbi1sZWZ0OjEzcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6NjVweDtcclxufVxyXG4uZG9tYWluLWlubmVyLXdyYXBwZXIgLmRvbWFpbi1ib3guYmlnLWJveCBzcGFue1xyXG4gICAgZm9udC1zaXplOjQ4cHggIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxuICAgIHRvcDo1MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmRvbWFpbi1pbm5lci13cmFwcGVyIC5kb21haW4tYm94LmJpZy1ib3g6YWZ0ZXJ7XHJcbiAgICByaWdodDotNTFweDtcclxuICAgIHRvcDo3NHB4O1xyXG59XHJcbi5kb21haW4taW5uZXItd3JhcHBlciAuZG9tYWluLWJveCBzcGFue1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICByaWdodDowO1xyXG4gICAgdG9wOjMycHg7XHJcbiAgICBsaW5lLWhlaWdodDoxO1xyXG4gICAgY29sb3I6I2ZmZjtcclxuICAgIGZvbnQtc2l6ZToxNnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmRvbWFpbi1pbm5lci13cmFwcGVyIC5kb21haW4tYm94OmFmdGVye1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICByaWdodDotMzhweDtcclxuICAgIHdpZHRoOjIzcHg7XHJcbiAgICBoZWlnaHQ6MXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojMDAwO1xyXG4gICAgdG9wOjQxcHg7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICBtYXJnaW46MCBhdXRvO1xyXG59XHJcbi5kb21haW4taW5uZXItd3JhcHBlciAuZG9tYWluLWJveC5zbWFsbC1ib3gtdG9wOjpiZWZvcmV7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIHRvcDotNDBweDtcclxuICAgIGhlaWdodDoyNXB4O1xyXG4gICAgbGVmdDowO1xyXG4gICAgcmlnaHQ6MDtcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICB3aWR0aDoycHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNiNWM2ODE7XHJcbiAgICBtYXJnaW46MCBhdXRvO1xyXG59XHJcbi5kb21haW4taW5uZXItd3JhcHBlciAuZG9tYWluLWJveC5zbWFsbC1ib3gtYm90dG9tOjpiZWZvcmV7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIGJvdHRvbTotNDBweDtcclxuICAgIGhlaWdodDoyNXB4O1xyXG4gICAgbGVmdDowO1xyXG4gICAgcmlnaHQ6MDtcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICB3aWR0aDoycHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNiNWM2ODE7XHJcbiAgICBtYXJnaW46MCBhdXRvO1xyXG59XHJcbi5kb21haW4taW5uZXItd3JhcHBlciAuZG9tYWluLWJveC5zbWFsbC1ib3gtdG9wIHNtYWxse1xyXG4gICAgZm9udC1zaXplOjE4cHggIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OjUwMCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IzAwMDtcclxuICAgIGxpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICB0b3A6LTg1cHg7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICByaWdodDowO1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XHJcbiAgICBoZWlnaHQ6NTBweDtcclxuICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XHJcbn1cclxuLmRvbWFpbi1pbm5lci13cmFwcGVyIC5kb21haW4tYm94LnNtYWxsLWJveC1ib3R0b20gc21hbGx7XHJcbiAgICBmb250LXNpemU6MThweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6NTAwICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjojMDAwO1xyXG4gICAgbGluZS1oZWlnaHQ6MS4xICFpbXBvcnRhbnQ7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIGJvdHRvbTotOTBweDtcclxuICAgIGxlZnQ6MDtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgIGRpc3BsYXk6ZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcclxuICAgIGhlaWdodDo1MHB4O1xyXG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcclxufVxyXG4uZG9tYWluLWJveCAuaW5uZXItYmlnLWJveHtcclxuICAgIGhlaWdodDoxNDhweDtcclxuICAgIHdpZHRoOjE0OHB4O1xyXG4gICAgYmFja2dyb3VuZDojYjVjNjgxO1xyXG4gICAgYm9yZGVyLXJhZGl1czo2cHg7XHJcbiAgICB0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtcclxufVxyXG4uaW5uZXItc21hbGwtYm94e1xyXG4gICAgaGVpZ2h0Ojg1cHg7XHJcbiAgICB3aWR0aDo4NXB4O1xyXG4gICAgYmFja2dyb3VuZDojYjVjNjgxO1xyXG4gICAgYm9yZGVyLXJhZGl1czo2cHg7XHJcbiAgICB0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtcclxufVxyXG4ub3V0Y29tZXMtbWFpbi13cmFwcGVye1xyXG4gICAgcGFkZGluZy1ib3R0b206NzhweDtcclxufVxyXG4ub3V0Y29tZXMtbWFpbi13cmFwcGVyIC5vdXRjb21lcy1jb250ZW50e1xyXG4gICAgcGFkZGluZy1sZWZ0OjEyMHB4O1xyXG4gICAgbWF4LXdpZHRoOjM3MHB4O1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIGNvbG9yOiMwMDAgIWltcG9ydGFudDtcclxuICAgIHotaW5kZXg6OTtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG59XHJcbi5vdXRjb21lcy1tYWluLXdyYXBwZXIgLm91dGNvbWVzLWNvbnRlbnQgaDN7XHJcbiAgICBtYXJnaW4tYm90dG9tOjI1cHg7XHJcbn1cclxuLm91dGNvbWVzLW1haW4td3JhcHBlciAub3V0Y29tZXMtY29udGVudCBwe1xyXG4gICAgZm9udC1zaXplOjE4cHg7XHJcbn1cclxuLm91dGNvbWVzLW1haW4td3JhcHBlciAub3V0Y29tZXMtZmVhdHVyZXMge1xyXG4gICAgbWF4LXdpZHRoOjExODRweDtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBtYXJnaW46NTVweCBhdXRvIDA7XHJcbn1cclxuLm91dGNvbWVzLW1haW4td3JhcHBlciAub3V0Y29tZXMtZmVhdHVyZXMgLm91dGNvbWVzLWNpcmNsZXtcclxuICAgIHdpZHRoOjIwMHB4O1xyXG4gICAgaGVpZ2h0OjIwMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czo1MCU7XHJcbiAgICBtYXJnaW46MCBhdXRvIDVweDtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG59XHJcbi5vdXRjb21lcy1tYWluLXdyYXBwZXIgLm91dGNvbWVzLWZlYXR1cmVzIC5vdXRjb21lcy1jaXJjbGU6YmVmb3Jle1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICB3aWR0aDozcHg7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgbWFyZ2luOjAgYXV0bztcclxufVxyXG4ub3V0Y29tZXMtZmVhdHVyZXMgc3BhbntcclxuICAgIGZvbnQtc2l6ZToyNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xyXG59XHJcbi5vdXRjb21lcy1jaXJjbGUua2V5LWRlbntcclxuICAgIGJhY2tncm91bmQ6I2U5YzcxMSB1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9rZXktaW5mbHVhbmNlci5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6MTUwcHg7XHJcbn1cclxuLnRleHQta2V5e1xyXG4gICAgY29sb3I6I2U5YzcxMTtcclxufVxyXG4ub3V0Y29tZXMtY2lyY2xlLmtleS1kZW46YmVmb3Jle1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5YzcxMTtcclxuICAgIGhlaWdodDogNTgwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyOWRlZyk7XHJcbiAgICByaWdodDogMTE1cHggIWltcG9ydGFudDtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICB0b3A6IC01NjBweCAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG59XHJcbi5vdXRjb21lcy1jaXJjbGUuc3RhY2tob2xkZXJ7XHJcbiAgICBiYWNrZ3JvdW5kOiNmNmEzMTAgdXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvc3Rha2Vob2xkZXIuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgaGVpZ2h0OjE1MHB4O1xyXG59XHJcbi50ZXh0LXN0YWNre1xyXG4gICAgY29sb3I6I2Y2YTMxMDtcclxufVxyXG4ub3V0Y29tZXMtY2lyY2xlLnN0YWNraG9sZGVyOmJlZm9yZXtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmEzMTA7XHJcbiAgICBoZWlnaHQ6IDQ2MHB4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTguNWRlZyk7XHJcbiAgICByaWdodDogMTA4cHggIWltcG9ydGFudDtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICB0b3A6IC00MzBweCAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG59XHJcbi5vdXRjb21lcy1jaXJjbGUucGF0aWVudC1qb3VybmV5e1xyXG4gICAgYmFja2dyb3VuZDojZWM0Zjk3IHVybChcIi9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL3BoeXNpY2lhbi10cmVhdG1lbnQucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiA1NSU7ICAgIFxyXG59XHJcbi50ZXh0LWpvdXJuZXl7XHJcbiAgICBjb2xvcjojZWM0Zjk3O1xyXG59XHJcbi5vdXRjb21lcy1jaXJjbGUucGF0aWVudC1qb3VybmV5OmJlZm9yZXtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzRmOTc7XHJcbiAgICBoZWlnaHQ6IDQyMHB4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMC41ZGVnKTtcclxuICAgIHJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxuICAgIGxlZnQ6IC0zMHB4O1xyXG4gICAgdG9wOiAtMzkwcHggIWltcG9ydGFudDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxufVxyXG4ub3V0Y29tZXMtY2lyY2xlLmJyYW5kLWF3YXJlbmVzc3tcclxuICAgIGJhY2tncm91bmQ6I2QxNWZjNSB1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9maWVsZC1jb2FjaGluZy5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDU1JTsgICAgXHJcbn1cclxuLnRleHQtYnJhbmR7XHJcbiAgICBjb2xvcjojZDE1ZmM1O1xyXG59XHJcbi5vdXRjb21lcy1jaXJjbGUuYnJhbmQtYXdhcmVuZXNzOjpiZWZvcmV7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDE1ZmM1O1xyXG4gICAgaGVpZ2h0OiA0NjBweDtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xOGRlZyk7XHJcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgbGVmdDogOTdweDtcclxuICAgIHRvcDogLTQzOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbn1cclxuLm91dGNvbWVzLWNpcmNsZS5tZWRpYS1jYW1wYWlnbntcclxuICAgIGJhY2tncm91bmQ6IzgwN2FlNyB1cmwoXCIvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC90cmlhbC1wcm90b2NvbC5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDU1JTtcclxufVxyXG4udGV4dC1tZWRpYXtcclxuICAgIGNvbG9yOiM4MDdhZTc7XHJcbn1cclxuLm91dGNvbWVzLWNpcmNsZS5tZWRpYS1jYW1wYWlnbjo6YmVmb3Jle1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgwN2FlNztcclxuICAgIGhlaWdodDogNTgwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzJkZWcpO1xyXG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIGxlZnQ6IDEwNXB4O1xyXG4gICAgdG9wOiAtNTUwcHggIWltcG9ydGFudDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxufVxyXG4vKiBBbmltYXRpb24gUHJvYmxlbS1iZyAqL1xyXG5cclxuQGtleWZyYW1lcyBwbGFjZUhvbGRlclNoaW1tZXJ7XHJcbiAgICAwJXtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOi00NjhweCAwXHJcbiAgICB9XHJcbiAgICAxMDAle1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246NDY4cHggMFxyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgcGxhY2VIb2xkZXJTaGltbWVyTGd7XHJcbiAgICAwJXtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MDBweCAwXHJcbiAgICB9XHJcbiAgICAxMDAle1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246MTYwMHB4IDBcclxuICAgIH1cclxufVxyXG5Aa2V5ZnJhbWVzIHBsYWNlSG9sZGVyU2hpbW1lckRlbGF5e1xyXG4gICAgMCV7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjotODAwcHggMFxyXG4gICAgfVxyXG4gICAgMjAle1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246LTEyMDBweCAwXHJcbiAgICB9XHJcbiAgICAxMDAle1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246MTYwMHB4IDBcclxuICAgIH1cclxufVxyXG4uYW5pbWF0ZWQtYmFja2dyb3VuZCB7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246MS4yNXM7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO1xyXG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTtcclxuICAgIGFuaW1hdGlvbi1uYW1lOnBsYWNlSG9sZGVyU2hpbW1lcjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO1xyXG4gICAgYmFja2dyb3VuZDojZWRlZGVkO1xyXG4gICAgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNlZGVkZWQgOCUsICNmOGY4ZjggMjIlLCAjZWRlZGVkIDM2JSk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6ODAwcHggMTA0cHg7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxufVxyXG5cclxuLmFuaW1hdGVkLWJhY2tncm91bmQubGctd2lkdGh7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246MnM7XHJcbiAgICBhbmltYXRpb24tbmFtZTpwbGFjZUhvbGRlclNoaW1tZXJMZztcclxuICAgIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZWRlZGVkIDglLCAjZjhmOGY4IDIyJSwgI2VkZWRlZCAzNiUpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOjEyMDBweCAxMDRweDtcclxufVxyXG4uYW5pbWF0ZWQtYmFja2dyb3VuZC5sZy13aWR0aC5kZWxheXtcclxuICAgIGFuaW1hdGlvbi1kZWxheTowLjM1cztcclxufVxyXG4udGh1bWItbG9hZGVye1xyXG4gICAgaGVpZ2h0OjIzMHB4O1xyXG59XHJcbi5saXN0LWxvYWRlcntcclxuICAgIG1pbi1oZWlnaHQ6MTBweDtcclxuICAgIG1hcmdpbjowIDE1cHggMjBweDtcclxufVxyXG4ud2lkZ2V0LWxvYWRlcntcclxuICAgIGhlaWdodDoxNjBweDtcclxufVxyXG4ud2lkZ2V0LWxvYWRlci5tZHtcclxuICAgIGhlaWdodDoyNjBweDtcclxufVxyXG4ud2lkZ2V0LWxvYWRlci5sZ3tcclxuICAgIGhlaWdodDozNjBweDtcclxufVxyXG5idXR0b24uYW5pbWF0ZWQtYmFja2dyb3VuZHtcclxuICAgIGJveC1zaGFkb3c6bm9uZTtcclxuICAgIGJvcmRlcjowO1xyXG4gICAgbWluLXdpZHRoOjE0MHB4O1xyXG4gICAgbWluLWhlaWdodDo0MHB4O1xyXG59XHJcblxyXG4ubXktNDB7XHJcbiAgICBtYXJnaW46NDBweCAwIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOjE1MDBweCl7XHJcbiAgICAudGh1bWItbG9hZGVye1xyXG4gICAgICAgIGhlaWdodDoxNjBweDtcclxuICAgIH1cclxuICAgIC53aWRnZXQtbG9hZGVye1xyXG4gICAgICAgIGhlaWdodDoxMjBweDtcclxuICAgIH1cclxuICAgIC53aWRnZXQtbG9hZGVyLm1ke1xyXG4gICAgICAgIGhlaWdodDoyMDBweDtcclxuICAgIH1cclxuICAgIC53aWRnZXQtbG9hZGVyLmxne1xyXG4gICAgICAgIGhlaWdodDozMDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLm5scC1vcmFuZ2UtY2lyY2xlLWFuaW1hdGlvbi13cmFwcGVye1xyXG4gICAgd2lkdGg6MTYwcHg7XHJcbiAgICBoZWlnaHQ6MTYwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4ubmxwLW9yYW5nZS1jaXJjbGUtYW5pbWF0aW9uLXdyYXBwZXIgPiBzcGFue1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICB0b3A6MDtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICBib3R0b206MDtcclxuICAgIGxlZnQ6MDtcclxufVxyXG4ubmxwLW9yYW5nZS1jaXJjbGUtYW5pbWF0aW9uLXdyYXBwZXIgLm5scC1vcmFuZ2UtY2lyY2xle1xyXG4gICAgYmFja2dyb3VuZDp1cmwoJy9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL25scC9vcmFuZ2UtY2lyY2xlLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG59XHJcbi5ubHAtb3JhbmdlLWNpcmNsZS1hbmltYXRpb24td3JhcHBlciAubmxwLWFycm93LWNpcmNsZXtcclxuICAgIGJhY2tncm91bmQ6dXJsKCcvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9ubHAvYXJyb3ctY2lyY2xlLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyAgXHJcbn1cclxuLm5scC1vcmFuZ2UtY2lyY2xlLWFuaW1hdGlvbi13cmFwcGVyIC5ubHAtc3F1YXJlLXBhdHRlcm4tMXtcclxuICAgIGJhY2tncm91bmQ6dXJsKCcvYXNzZXRzL2ltYWdlcy9ubHAtdXBkYXRlZC9ubHAvc3F1YXJlLXBhdHRlcm4tMS5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsgIFxyXG59XHJcbi5ubHAtb3JhbmdlLWNpcmNsZS1hbmltYXRpb24td3JhcHBlciAubmxwLXNxdWFyZS1wYXR0ZXJuLTJ7XHJcbiAgICBiYWNrZ3JvdW5kOnVybCgnL2Fzc2V0cy9pbWFnZXMvbmxwLXVwZGF0ZWQvbmxwL3NxdWFyZS1wYXR0ZXJuLTIuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7ICBcclxufVxyXG4ubmxwLW9yYW5nZS1jaXJjbGUtYW5pbWF0aW9uLXdyYXBwZXIgLm5scC1zcXVhcmUtcGF0dGVybi0ze1xyXG4gICAgYmFja2dyb3VuZDp1cmwoJy9hc3NldHMvaW1hZ2VzL25scC11cGRhdGVkL25scC9zcXVhcmUtcGF0dGVybi0zLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyAgXHJcbn1cclxuXHJcbi5ubHAtb3JhbmdlLWNpcmNsZS1hbmltYXRpb24td3JhcHBlciAubmxwLW9yYW5nZS1jaXJjbGUge1xyXG5cdC13ZWJraXQtYW5pbWF0aW9uOnJvdGF0ZS1jZW50ZXIgNXMgbGluZWFyIGluZmluaXRlIGJvdGg7XHJcblx0ICAgICAgICBhbmltYXRpb246cm90YXRlLWNlbnRlciA1cyBsaW5lYXIgaW5maW5pdGUgYm90aDtcclxufVxyXG4ubmxwLW9yYW5nZS1jaXJjbGUtYW5pbWF0aW9uLXdyYXBwZXIgLm5scC1hcnJvdy1jaXJjbGUge1xyXG5cdC13ZWJraXQtYW5pbWF0aW9uOnJvdGF0ZS1jZW50ZXIgOHMgbGluZWFyIGluZmluaXRlIGJvdGg7XHJcblx0ICAgICAgICBhbmltYXRpb246cm90YXRlLWNlbnRlciA4cyBsaW5lYXIgaW5maW5pdGUgYm90aDtcclxufVxyXG4ubmxwLW9yYW5nZS1jaXJjbGUtYW5pbWF0aW9uLXdyYXBwZXIgLm5scC1zcXVhcmUtcGF0dGVybi0xe1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246ZmFkZS1pbi1md2QgMS41cyBsaW5lYXIgaW5maW5pdGUgYm90aDtcclxuICAgIGFuaW1hdGlvbjpmYWRlLWluLWZ3ZCAxLjVzIGxpbmVhciBpbmZpbml0ZSBib3RoO1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OjEwMG1zO1xyXG59XHJcbi5ubHAtb3JhbmdlLWNpcmNsZS1hbmltYXRpb24td3JhcHBlciAubmxwLXNxdWFyZS1wYXR0ZXJuLTJ7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjpmYWRlLWluLWZ3ZCAycyBsaW5lYXIgaW5maW5pdGUgYm90aDtcclxuICAgIGFuaW1hdGlvbjpmYWRlLWluLWZ3ZCAycyBsaW5lYXIgaW5maW5pdGUgYm90aDtcclxuICAgIGFuaW1hdGlvbi1kZWxheToyMDBtcztcclxufVxyXG4ubmxwLW9yYW5nZS1jaXJjbGUtYW5pbWF0aW9uLXdyYXBwZXIgLm5scC1zcXVhcmUtcGF0dGVybi0ze1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246ZmFkZS1pbi1md2QgMi41cyBsaW5lYXIgaW5maW5pdGUgYm90aDtcclxuICAgIGFuaW1hdGlvbjpmYWRlLWluLWZ3ZCAyLjVzIGxpbmVhciBpbmZpbml0ZSBib3RoO1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OjQwMG1zO1xyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGUtY2VudGVyIHtcclxuICAgIDAlIHtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApO1xyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMCk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7XHJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgcm90YXRlLWNlbnRlciB7XHJcbiAgICAwJSB7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwKTtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDApO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGUtaW4tZndkIHtcclxuICAgIDAlIHtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigtODBweCk7XHJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTgwcHgpO1xyXG4gICAgICBvcGFjaXR5OjA7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtcclxuICAgICAgb3BhY2l0eToxO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZmFkZS1pbi1md2Qge1xyXG4gICAgMCUge1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKC04MHB4KTtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWigtODBweCk7XHJcbiAgICAgIG9wYWNpdHk6MDtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO1xyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO1xyXG4gICAgICBvcGFjaXR5OjE7XHJcbiAgICB9XHJcbn1cclxuLyogQW5pbWF0aW9uIHByb2JsZW0gYmcgZW5kICovXHJcblxyXG5cclxuLyogRmxpcCBBbmltYXRpb24gc3RhcnQgKi9cclxuLnN3aW5nLWluLXRvcC1md2Qge1xyXG5cdC13ZWJraXQtYW5pbWF0aW9uOiBzd2luZy1pbi10b3AtZndkIDUwMG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxLjI3NSkgYm90aDtcclxuXHRhbmltYXRpb246IHN3aW5nLWluLXRvcC1md2QgNTAwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEuMjc1KSBib3RoO1xyXG59XHJcblxyXG4vKipcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gKiBhbmltYXRpb24gc3dpbmctaW4tdG9wLWZ3ZFxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqL1xyXG4gQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nLWluLXRvcC1md2Qge1xyXG4gICAgMCUge1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgtMTAwZGVnKTtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTEwMGRlZyk7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcbiAgQGtleWZyYW1lcyBzd2luZy1pbi10b3AtZndkIHtcclxuICAgIDAlIHtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoLTEwMGRlZyk7XHJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKC0xMDBkZWcpO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcDtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7XHJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcDtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4vKiBGbGlwIEFuaW1hdGlvbiBlbmQqL1xyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6MTYwMHB4KXtcclxuICAgIC5zZWN0aW9uLXRpdGxle1xyXG4gICAgICAgIGZvbnQtc2l6ZTo0MnB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAjZGF0YSAuZGF0YS1jb250ZW50IHAsLmNoYWxsYW5nZS13cmFwZXIgLmNoYWxsZW5nZS1jb250ZW50IHAsLm1vZGVscy1tYWluLXdyYXBwZXIgLm1vZGVsLWNvbnRlbnQgcHtcclxuICAgICAgICBmb250LXNpemU6MThweDtcclxuICAgIH1cclxuICAgIC5zb2x1dGlvbi1tYWluLWJveCAuZG9tYWluLXRyYWluaW5nLWJveHtcclxuICAgICAgICBwYWRkaW5nOjIzcHggMTBweDtcclxuICAgIH1cclxuICAgIC5kb21haW4tdHJhaW5pbmctYm94IC5wcmUtdHJhaW5lZC1ib3h7XHJcbiAgICAgICAgbWF4LXdpZHRoOjE2N3B4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOjQ1cHg7XHJcbiAgICAgICAgaGVpZ2h0OjI5MHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDoxMHB4O1xyXG4gICAgfVxyXG4gICAgLmRvbWFpbi10cmFpbmluZy1ib3ggLnByZS10cmFpbmVkLWJveC1pbm5lcntcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6MTAwJTtcclxuICAgICAgICB3aWR0aDoxNjdweDtcclxuICAgIH1cclxuICAgIC5kb21haW4tdHJhaW5pbmctYm94IC5kb21haW4tZGF0YS1ib3h7XHJcbiAgICAgICAgbWF4LXdpZHRoOjE2OHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDoxNXB4O1xyXG4gICAgICAgIGhlaWdodDoyNjNweDtcclxuICAgIH1cclxuICAgIC5kb21haW4tdHJhaW5pbmctYm94IC5kb21haW4tZGF0YS1ib3gtaW5uZXJ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOjEwMCU7XHJcbiAgICAgICAgd2lkdGg6MTY4cHg7XHJcbiAgICB9XHJcbiAgICAuZG9tYWluLXRyYWluaW5nLWJveCAuZG9tYWluLWRhdGEtYm94IHNwYW57XHJcbiAgICAgICAgYm90dG9tOjY3cHg7XHJcbiAgICB9XHJcbiAgICAuZG9tYWluLXRyYWluLW1haW4tYm94e1xyXG4gICAgICAgIHdpZHRoOjQ5NXB4O1xyXG4gICAgICAgIGhlaWdodDoyODNweDtcclxuICAgIH1cclxuICAgIC5kb21haW4tdHJhaW5pbmctYm94IC5kb21haW4tdHJhaW4taW5uZXItYmx1ZWJveHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6MTAwJTtcclxuICAgICAgICB3aWR0aDo0OTVweDtcclxuICAgICAgICBwYWRkaW5nOjAgMTZweDtcclxuICAgIH1cclxuICAgIC5zb2x1dGlvbi1tYWluLWJveCAuZG9tYWluLXRyYWluaW5nLWJveCBzcGFue1xyXG4gICAgICAgIGZvbnQtc2l6ZToxN3B4O1xyXG4gICAgfVxyXG4gICAgLmRvbWFpbi10cmFpbi1pbm5lci1ibHVlYm94IC5jb2x7XHJcbiAgICAgICAgbWF4LXdpZHRoOjE0M3B4OyAgIFxyXG4gICAgICAgIGhlaWdodDoxNDhweDtcclxuICAgIH1cclxuICAgIC5kb21haW4tdHJhaW5pbmctYm94IC5kb21haW4tdHJhaW4taW5uZXItYmx1ZWJveCAuZmluZXR1bmluZy1ib3gtaW5uZXJ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOjgwJTtcclxuICAgIH1cclxuICAgIC5kb21haW4tdHJhaW5pbmctYm94IC5kb21haW4tdHJhaW4taW5uZXItYmx1ZWJveCAudXBkYXRlLXdvcmQtaW5uZXJ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOjgwJTtcclxuICAgIH1cclxuICAgIC5kb21haW4tdHJhaW5pbmctYm94IC5kb21haW4tdHJhaW4taW5uZXItYmx1ZWJveCAubmV3LXZvYy1pbm5lcntcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ODAlO1xyXG4gICAgfVxyXG4gICAgLmRvbWFpbi10cmFpbmluZy1ib3ggLmRvbWFpbi1hZGp1c3QtYm94e1xyXG4gICAgICAgIHdpZHRoOjE2NnB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OjEwcHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6NDVweDtcclxuICAgICAgICBoZWlnaHQ6MjUwcHg7XHJcbiAgICB9XHJcbiAgICAuZG9tYWluLXRyYWluaW5nLWJveCAuZG9tYWluLWFkanVzdC1ib3gtaW5uZXJ7XHJcbiAgICAgICAgd2lkdGg6MTY2cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOjEwMCU7XHJcbiAgICB9XHJcbiAgICAuZG9tYWluLWlubmVyLXdyYXBwZXIgLmRvbWFpbi1ib3h7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjQzcHg7XHJcbiAgICB9XHJcbiAgICAuc29sdXRpb24tbWFpbi1ib3g6YWZ0ZXJ7XHJcbiAgICAgICAgYm90dG9tOi0zMzdweDtcclxuICAgIH1cclxuICAgIC5kb21haW4taW5uZXItd3JhcHBlciAuZG9tYWluLWJveDphZnRlcntcclxuICAgICAgICB0b3A6NDJweDtcclxuICAgIH1cclxuICAgIC5kb21haW4taW5uZXItd3JhcC1ib3h7XHJcbiAgICAgICAgbWF4LXdpZHRoOjEwMDBweDtcclxuICAgIH1cclxuICAgIC5kb21haW4tZXhwZXJ0LWJveDphZnRlcntcclxuICAgICAgICBib3R0b206LTE2cHg7XHJcbiAgICAgICAgaGVpZ2h0OjEwMXB4O1xyXG4gICAgfVxyXG4gICAgLmRvbWFpbi1pbm5lci13cmFwLWJveCAuZG9tYWluLWlubmVyLWJveCAuZG9tYWluLWlubmVyLWdyYXktYm94e1xyXG4gICAgICAgIHdpZHRoOjE2NnB4O1xyXG4gICAgICAgIGhlaWdodDoxNjZweDtcclxuICAgIH1cclxuICAgIC53ZWFrLWNsYXNzaWZpZXJzLXdyYXAgLndlYWstY2xhc3NpLW9uZS1pbWcsLndlYWstY2xhc3NpZmllcnMtd3JhcCAud2Vhay1jbGFzc2ktdHdvLWltZywud2Vhay1jbGFzc2lmaWVycy13cmFwIC53ZWFrLWNsYXNzaS10aHJlZS1pbWd7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOjgwJTtcclxuICAgIH1cclxuICAgIC5vdXRjb21lcy1tYWluLXdyYXBwZXIgLm91dGNvbWVzLWNvbnRlbnR7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xyXG4gICAgfVxyXG4gICAgLm91dGNvbWVzLW1haW4td3JhcHBlciAub3V0Y29tZXMtZmVhdHVyZXMgLm91dGNvbWVzLWNpcmNsZXtcclxuICAgICAgICB3aWR0aDogMTYwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAub3V0Y29tZXMtY2lyY2xlLnBhdGllbnQtam91cm5leSwub3V0Y29tZXMtY2lyY2xlLmJyYW5kLWF3YXJlbmVzcywub3V0Y29tZXMtY2lyY2xlLm1lZGlhLWNhbXBhaWdue1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTUlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAub3V0Y29tZXMtZmVhdHVyZXMgc3BhbntcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAub3V0Y29tZXMtY2lyY2xlLmtleS1kZW46YmVmb3JlIHtcclxuICAgICAgICBoZWlnaHQ6IDQ4MHB4O1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQzZGVnKTtcclxuICAgICAgICByaWdodDogODVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRvcDogLTQ2MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAub3V0Y29tZXMtY2lyY2xlLnN0YWNraG9sZGVyOmJlZm9yZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAzNjBweDtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNmRlZyk7XHJcbiAgICAgICAgcmlnaHQ6IDk4cHggIWltcG9ydGFudDtcclxuICAgICAgICB0b3A6IC0zMTBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLm91dGNvbWVzLWNpcmNsZS5wYXRpZW50LWpvdXJuZXk6YmVmb3JlIHtcclxuICAgICAgICBoZWlnaHQ6IDI5MHB4O1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yLjVkZWcpO1xyXG4gICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgdG9wOiAtMjgwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5vdXRjb21lcy1jaXJjbGUuYnJhbmQtYXdhcmVuZXNzOjpiZWZvcmUge1xyXG4gICAgICAgIGhlaWdodDogMzUwcHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTI3ZGVnKTtcclxuICAgICAgICBsZWZ0OiA4MHB4O1xyXG4gICAgICAgIHRvcDogLTMyNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAub3V0Y29tZXMtY2lyY2xlLm1lZGlhLWNhbXBhaWduOjpiZWZvcmUge1xyXG4gICAgICAgIGhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICBsZWZ0OiA4MHB4O1xyXG4gICAgICAgIHRvcDogLTUwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIChtYXgtd2lkdGg6MTQ1MHB4KXtcclxuICAgIC5vdXRjb21lcy1jaXJjbGUua2V5LWRlbjpiZWZvcmUge1xyXG4gICAgICAgIGhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzNkZWcpO1xyXG4gICAgICAgIHJpZ2h0OiA4NXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdG9wOiAtNDcwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5vdXRjb21lcy1jaXJjbGUuc3RhY2tob2xkZXI6YmVmb3JlIHtcclxuICAgICAgICBoZWlnaHQ6IDM3MHB4O1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI1ZGVnKTtcclxuICAgICAgICByaWdodDogOThweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRvcDogLTM1MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAub3V0Y29tZXMtY2lyY2xlLnBhdGllbnQtam91cm5leTpiZWZvcmUge1xyXG4gICAgICAgIGhlaWdodDogMzIwcHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xyXG4gICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgdG9wOiAtMzAwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5vdXRjb21lcy1jaXJjbGUuYnJhbmQtYXdhcmVuZXNzOmJlZm9yZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAzOTBweDtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjJkZWcpO1xyXG4gICAgICAgIGxlZnQ6IDgwcHg7XHJcbiAgICAgICAgdG9wOiAtMzU1cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5vdXRjb21lcy1jaXJjbGUubWVkaWEtY2FtcGFpZ246YmVmb3JlIHtcclxuICAgICAgICBoZWlnaHQ6IDU0MHB4O1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0zN2RlZyk7XHJcbiAgICAgICAgbGVmdDogODBweDtcclxuICAgICAgICB0b3A6IC01MDBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnN3aW5nLWluLWxlZnQtYmNrIHtcclxuXHQtd2Via2l0LWFuaW1hdGlvbjogc3dpbmctaW4tbGVmdC1iY2sgMC42cyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMS4yNzUpIGJvdGg7XHJcblx0ICAgICAgICBhbmltYXRpb246IHN3aW5nLWluLWxlZnQtYmNrIDAuNnMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEuMjc1KSBib3RoO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqIEdlbmVyYXRlZCBieSBBbmltaXN0YSBvbiAyMDE5LTgtMSAxOTozNzoyNFxyXG4gKiB3OiBodHRwOi8vYW5pbWlzdGEubmV0LCB0OiBAY3NzYW5pbWlzdGFcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyoqXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICogYW5pbWF0aW9uIHN3aW5nLWluLWxlZnQtYmNrXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICovXHJcbiBALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmctaW4tbGVmdC1iY2sge1xyXG4gICAgMCUge1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgtNzBkZWcpO1xyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgtNzBkZWcpO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XHJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgwKTtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMCk7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gIH1cclxuICBAa2V5ZnJhbWVzIHN3aW5nLWluLWxlZnQtYmNrIHtcclxuICAgIDAlIHtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoLTcwZGVnKTtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTcwZGVnKTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMCk7XHJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDApO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XHJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4gIC5zY2FsZS11cC1jZW50ZXIge1xyXG5cdC13ZWJraXQtYW5pbWF0aW9uOiBzY2FsZS11cC1jZW50ZXIgMC40cyBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApIGJvdGg7XHJcblx0ICAgICAgICBhbmltYXRpb246IHNjYWxlLXVwLWNlbnRlciAwLjRzIGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCkgYm90aDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqIGFuaW1hdGlvbiBzY2FsZS11cC1jZW50ZXJcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gKi9cclxuIEAtd2Via2l0LWtleWZyYW1lcyBzY2FsZS11cC1jZW50ZXIge1xyXG4gICAgMCUge1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XHJcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gIH1cclxuICBAa2V5ZnJhbWVzIHNjYWxlLXVwLWNlbnRlciB7XHJcbiAgICAwJSB7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcclxuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Problem

\\r\\n

Velit ad ac consectetur ad ultrices suspendisse senectus nunc a quisque a mi id at et quam\\r\\n suspendisse praesent et.A volutpat orci parturient a sociosqu a nunc euismod est condimentum\\r\\n adipiscing a metus dignissim augue pretium rhoncus convallis.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
Problem
\\r\\n

As different types of technology, ways of communication and platforms to support business proliferate the different kinds of data, especially unstructured generated by them continues to grow larger and presents a real problem for organizations that want to automate and improve their ability to understand their business, anticipate what’s coming and act quickly on risk and opportunity.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Data

\\r\\n

Approximately 90% of healthcare data is unstructured and is often difficult to process and analyze unlike structured data sources. Unstructured data exists in many forms such as PDFs, Power Point Presentations, raw text data collected in interviews, feedback form submissionss, emails etc. Due to the inherent complexity in parsing unstructured data most organizations due not realize the value of these non-traditional data sources that may often provide rich and actionable insights.

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Twitter

\\r\\n
\\r\\n

“6 months trastuzumab works as well as 12 months with less cardiac toxicity”

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

ClinicalTrials.gov

\\r\\n
\\r\\n

“Hormone-sensitive prostate cancer as\\r\\n evident by a testosterone level > 150 ng /dL\\r\\n at the time of enrollment within 4 weeks\\r\\n prior to randomization”

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Field Coaching Forms

\\r\\n
\\r\\n

“You did a nice job today, the presentation was high level yet balanced to larger groups”

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

PubMed

\\r\\n
\\r\\n

“ new bone or soft tissue lesions or\\r\\n serum psathat has risen on 3 successive\\r\\n evaluations at least 1 week apart during\\r\\n and / or after hormonal therapy.\\\"
\\r\\n If psa is below 4 ng/ml ng/ ml,measurable disease with positive immunohistoch stain for psa is required\\\"\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Market Research

\\r\\n
\\r\\n

“I typically treat a lot of metastatic Urothelial Carcinoma patients with PD-L1 agents”

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Call Center Notes

\\r\\n
\\r\\n

\\\"I am calling to check if 50 ml this week is fine as I am travelling over the weekend\\\"\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Patient Physician Conversations

\\r\\n
\\r\\n

not working” Doctor: “I am going to add on a oral medication in addition to Benlysta”\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

MSL Notes

\\r\\n
\\r\\n

“For treating PSA, dermatology clinicians are interested in the newer MOA agents, such as IL-17”\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Trialtrove

\\r\\n
\\r\\n

Patient Segment:( Aggressive ; Diffuse large\\r\\n B -cell lymphoma (DLBCL);Fourt h line or\\r\\n greater ; Mantle cell lymphoma (MCL); Other\\r\\n subtype ; Second line;

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Solution

\\r\\n

Many rule based systems are tuned for generic data but do not work for nuanced use-cases leading to low accuracy outcomes. ZS uses a variety of techniques such as finetuning of word representations, weak supervision techniques to handle limited training data and pre-existing medical ontologies to train and supplement the models for domain adaptation and business value realization.

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Domain Training

\\r\\n
\\r\\n
\\r\\n
\\r\\n Pre-Trained Embeddings on generic data\\r\\n
\\r\\n
\\r\\n
\\r\\n Domain Data\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Finetuning\\r\\n
\\r\\n
\\r\\n
\\r\\n Updated Word Representations\\r\\n
\\r\\n
\\r\\n
\\r\\n New Vocabulary Training\\r\\n
\\r\\n
\\r\\n Domain Training\\r\\n
\\r\\n
\\r\\n
\\r\\n Domain Adjusted Semantic Embedding\\r\\n
\\r\\n
\\r\\n
\\r\\n

Weak Supervision

\\r\\n
\\r\\n
\\r\\n Domain Expert\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n If search (x) >0:1 else 0;\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Heuristics\\r\\n
\\r\\n
\\r\\n Weak classifiers\\r\\n
\\r\\n
\\r\\n Noisy Lables\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Domain Ontologies

\\r\\n
\\r\\n
\\r\\n
\\r\\n SNOMED\\r\\n Clinical Respositories\\r\\n
\\r\\n
\\r\\n
\\r\\n OMIM\\r\\n Genetic Knowledge Bases\\r\\n
\\r\\n
\\r\\n
\\r\\n MeSH\\r\\n Biomedication Literture\\r\\n
\\r\\n
\\r\\n
\\r\\n GO\\r\\n Genome Annotations\\r\\n
\\r\\n
\\r\\n
\\r\\n UMLS\\r\\n
\\r\\n
\\r\\n
\\r\\n UWDA\\r\\n Anatomy\\r\\n
\\r\\n
\\r\\n
\\r\\n NCBI Taxonomy\\r\\n Model Organisms\\r\\n
\\r\\n
\\r\\n
\\r\\n >>>\\r\\n Other Subsomains\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Models
\\r\\n

ZS with its vast domain experience uses a mix of open source and commercially available services to create comprehensive NLP pipelines that processes the data, clean and extract features that are machine understandable and use a mix of supervised to unsupervised AI models based on ML and Deep Learning to understand the data and extract relevant insights in a cost effective and scalable fashion.

\\r\\n

Data Science View

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"stuctured-data-img1\\\"\\r\\n
\\r\\n
Structured Organizational Data
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"stuctured-data-img1\\\" \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"stuctured-data-img2\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

OUTCOMES

\\r\\n

“ZS’s NLP capabilities create new value, for our clients, from new and existing structured and unstructured data source by providing decision support in Marketing, Sales and R&D strategies through use of advanced analytics , machine learning, and artificial intelligence”\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Key Influencer Identification\\r\\n
\\r\\n
\\r\\n
\\r\\n Stakeholder Opinion Mining\\r\\n
\\r\\n
\\r\\n
\\r\\n Physician Treatment Characteristics\\r\\n
\\r\\n
\\r\\n
\\r\\n Field Coaching\\r\\n
\\r\\n
\\r\\n
\\r\\n Trial Protocol Optimization\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit, ViewChild, ElementRef, Output, EventEmitter, AfterViewInit, Renderer2 } from '@angular/core';\r\nimport _ from 'lodash';\r\nimport jsonData from './data.json';\r\ndeclare let d3: any;\r\n\r\n@Component({\r\n selector: 'app-nlp-buisness-view',\r\n templateUrl: './nlp-buisness-view.component.html',\r\n styleUrls: ['./nlp-buisness-view.component.css']\r\n})\r\nexport class NlpBuisnessViewComponent implements OnInit, AfterViewInit {\r\n @ViewChild('container') container: ElementRef;\r\n @ViewChild('content') content: ElementRef;\r\n // tslint:disable-next-line: no-output-on-prefix\r\n @Output() public onVisibleSectionChange = new EventEmitter();\r\n public visibleDataTab = '';\r\n public visibleSolutionTab = '';\r\n public showDataClass = false;\r\n private dataTimer = null;\r\n public showSolutionClass = true;\r\n private solutionTimer = null;\r\n private sectionDimention = null;\r\n private scrollSectionDimention: any;\r\n public showSolutionBigCircle = false;\r\n private unsubscribeResize = null;\r\n private solutionBigCircleTimer: any;\r\n constructor(private renderer: Renderer2) {\r\n this.unsubscribeResize = this.renderer.listen(window, 'resize', _.debounce(() => {\r\n // console.log(new Date());\r\n this.calculateScrollDomain();\r\n }, 700));\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.calculateScrollDomain();\r\n }\r\n private calculateScrollDomain() {\r\n const problem = d3.select('#problem').node(0).getBoundingClientRect();\r\n const data = d3.select('#data').node(0).getBoundingClientRect();\r\n const solution = d3.select('#solution').node(0).getBoundingClientRect();\r\n const outcomes = d3.select('#outcomes').node(0).getBoundingClientRect();\r\n const solutionBigCircle = d3.select('#solutionBigCircle').node(0).getBoundingClientRect();\r\n const main = d3.select('#scroll-container').node(0).getBoundingClientRect();\r\n this.scrollSectionDimention = main;\r\n function checkLeavePoint(bottom) {\r\n let result = bottom - main.height;\r\n if (result < 0) {\r\n result = 0;\r\n }\r\n return result;\r\n }\r\n const size: any = {\r\n problem : {\r\n top: 0,\r\n bottom: problem.height,\r\n scrollStart: 0,\r\n scrollLeave: problem.height - main.height,\r\n scrollEnd: problem.height\r\n }\r\n };\r\n size.data = {\r\n top: size.problem.bottom + 1,\r\n bottom: size.problem.bottom + data.height,\r\n scrollHalf:size.problem.bottom - (main.height / 3) ,\r\n scrollStart: size.problem.bottom + 1,\r\n scrollLeave: (size.problem.bottom + data.height - main.height),\r\n scrollEnd: (size.problem.bottom + data.height)\r\n };\r\n size.solution = {\r\n top: size.data.bottom + 1,\r\n bottom: size.data.bottom + solution.height,\r\n scrollStart: size.data.bottom + 1,\r\n scrollLeave: (size.data.bottom + solution.height - main.height),\r\n scrollEnd: (size.data.bottom + solution.height)\r\n };\r\n size.outcomes = {\r\n top: size.solution.bottom + 1,\r\n bottom: size.solution.bottom + outcomes.height,\r\n scrollStart: size.solution.bottom + 1,\r\n scrollLeave: (size.solution.bottom + outcomes.height - main.height),\r\n scrollEnd: (size.solution.bottom + outcomes.height - main.height)\r\n };\r\n size.solutionBigCircle = {\r\n scrollEnter: solutionBigCircle.top - main.top - main.height\r\n };\r\n this.sectionDimention = size;\r\n }\r\n ngOnInit() {\r\n this.renderStory();\r\n }\r\n\r\n private renderStory() {\r\n let _scrollTop = 0;\r\n let _newScrollTop = 0;\r\n const that = this;\r\n d3.select('#scroll-container').on('scroll.scroller', function () {\r\n _newScrollTop = d3.select(this).node(0).scrollTop;\r\n if (that.sectionDimention.solutionBigCircle.scrollEnter < _newScrollTop) {\r\n clearTimeout(that.solutionBigCircleTimer);\r\n that.solutionBigCircleTimer = setTimeout(() => {\r\n that.showSolutionBigCircle = true;\r\n }, 10);\r\n } else {\r\n clearTimeout(that.solutionBigCircleTimer);\r\n that.showSolutionBigCircle = false;\r\n }\r\n if (that.sectionDimention.data.scrollHalf < _newScrollTop) {\r\n that.showDataClass = true;\r\n // clearTimeout(that.dataTimer);\r\n // that.dataTimer = setTimeout(() => {\r\n // that.showDataClass = true;\r\n // }, 10);\r\n } else {\r\n that.showDataClass = false;\r\n }\r\n });\r\n\r\n this.initProblemSection(jsonData);\r\n\r\n // const render = () => {\r\n // if (_scrollTop !== _newScrollTop) {\r\n // _scrollTop = _newScrollTop;\r\n\r\n // // if (this.sectionDimention.problem.scrollStart <= _scrollTop\r\n // // && _scrollTop < this.sectionDimention.problem.scrollEnd + 100) {\r\n // // }\r\n // // if ((this.sectionDimention.data.scrollStart - this.scrollSectionDimention.height) < _scrollTop\r\n // // && _scrollTop < (this.sectionDimention.data.scrollEnd + 100)) {\r\n\r\n // // }\r\n // // if ((this.sectionDimention.solution.scrollStart - this.scrollSectionDimention.height) < _scrollTop\r\n // // && _scrollTop <= (this.sectionDimention.solution.scrollEnd + 100)) {\r\n\r\n // // }\r\n // // if ((this.sectionDimention.outcomes.scrollStart - this.scrollSectionDimention.height) < _scrollTop) {\r\n\r\n // // }\r\n // if (this.sectionDimention.solutionBigCircle.scrollEnter < _scrollTop) {\r\n // clearTimeout(this.solutionBigCircleTimer);\r\n // this.solutionBigCircleTimer = setTimeout(() => {\r\n // this.showSolutionBigCircle = true;\r\n // }, 10);\r\n // } else {\r\n // clearTimeout(this.solutionBigCircleTimer);\r\n // this.showSolutionBigCircle = false;\r\n // }\r\n // }\r\n // window.requestAnimationFrame(render);\r\n // };\r\n // window.requestAnimationFrame(render);\r\n }\r\n // selectDataTab(data) {\r\n // this.showDataClass = false;\r\n // clearTimeout(this.dataTimer);\r\n // this.visibleDataTab = data;\r\n // this.dataTimer = setTimeout(() => {\r\n // this.showDataClass = true;\r\n // }, 10);\r\n // }\r\n\r\n selectSolutionTab(data) {\r\n this.showSolutionClass = false;\r\n clearTimeout(this.solutionTimer);\r\n this.visibleSolutionTab = data;\r\n this.solutionTimer = setTimeout(() => {\r\n this.showSolutionClass = true;\r\n }, 10);\r\n }\r\n\r\n initProblemSection(jsonData) {\r\n const svg = d3.select('.problem-hero-bottom-wrap').append('svg')\r\n .attr({\r\n 'height': 1000,\r\n 'width': 1280\r\n });\r\n\r\n const lineFunction = d3.svg.line()\r\n .x(function (d) { return d.x })\r\n .y(function (d) { return d.y })\r\n .interpolate('bundle');\r\n\r\n const StraitlineFunction = d3.svg.line()\r\n .x(function (d) { return d.x })\r\n .y(function (d) { return d.y })\r\n .interpolate('basic');\r\n\r\n let pathArr = [jsonData.data_nlp_path.nlpRevrsPathData, jsonData.data_nlp_path.nlpRevrsFirstPathData, jsonData.data_nlp_path.nlpRevrssecondPathData, jsonData.data_nlp_path.nlpRevrsthirdPathData, jsonData.data_nlp_path.nlpRevrsfourthPathData, jsonData.data_nlp_path.nlpRevrsfifthPathData, jsonData.data_nlp_path.nlpRevrsSixthPathData, jsonData.data_nlp_path.nlpRevrsSeventhPathData, jsonData.data_nlp_path.nlpPathData, jsonData.data_nlp_path.nlpFirstPathData, jsonData.data_nlp_path.nlpSecondPathData, jsonData.data_nlp_path.nlpThirdPathData, jsonData.data_nlp_path.nlpFourthPathData, jsonData.data_nlp_path.nlpFifthPathData, jsonData.data_nlp_path.nlpSixthPathData, jsonData.data_nlp_path.nlpSeventhPathData];\r\n let striatPatharr = [jsonData.data_nlp_path.nlpRevrsStraitPathData, jsonData.data_nlp_path.nlpStraitfirstPathData, jsonData.data_nlp_path.nlpStraitsecondPathData, jsonData.data_nlp_path.nlpStraitthirdPathData, jsonData.data_nlp_path.nlpStraitfourthPathData, jsonData.data_nlp_path.nlpStraitfifthPathData, jsonData.data_nlp_path.nlpStraitSixPathData, jsonData.data_nlp_path.nlpStraitSeventhPathData, jsonData.data_nlp_path.nlpStraitPathData, jsonData.data_nlp_path.nlpFirstStraitPathData, jsonData.data_nlp_path.nlpSecondStraitPathData, jsonData.data_nlp_path.nlpThirdStraitPathData, jsonData.data_nlp_path.nlpFourthStraitPathData, jsonData.data_nlp_path.nlpFifthStraitPathData, jsonData.data_nlp_path.nlpSixthStraitPathData, jsonData.data_nlp_path.nlpSeventhStraitPathData];\r\n //let categories = ['nlpPath', 'firstPath', 'secondPath', 'thirdPath', 'fourthPath', 'fifthPath', 'sixthPath', 'seventhPath', 'nlpRevrsPath', 'nlpRevrsFirstPath', 'nlpRevrssecondPath', 'nlpRevrsthirdPath', 'nlpRevrsfourthPath', 'nlpRevrsfifthPath', 'nlpRevrsSixthPath', 'nlpRevrsSeventhPath'];\r\n let pathDataarr = [];\r\n\r\n\r\n var g = svg.append('g')\r\n for (let i = 0; i < pathArr.length; i++) {\r\n pathDataarr.push(g.append('path')\r\n .attr('d', lineFunction(pathArr[i]) + StraitlineFunction(striatPatharr[i]).replace('M', 'L').replace('Z', ''))\r\n .attr('stroke', 'none')\r\n .attr('stroke-width', 2)\r\n .attr('fill', 'none'))\r\n }\r\n\r\n var symbolArr = ['diamond', 'square'];\r\n var arrayData = [];\r\n var colorArr = ['#faa24c', '#39b2ff', '#a1be00', '#d94785']\r\n\r\n var symbol = d3.svg.symbol().type('square').size(90);\r\n\r\n for (var index = 0; index < 250; index++) {\r\n arrayData.push({\r\n id: index + 1,\r\n //type: categories[index % 16],\r\n //type: categories[Math.floor(Math.random() * categories.length)],\r\n symbol: symbolArr[1],\r\n color: colorArr[Math.floor(Math.random() * colorArr.length)],\r\n pathdata: pathDataarr[Math.floor(Math.random() * pathDataarr.length)]\r\n // pathdata:pathDataarr[index % 16]\r\n\r\n })\r\n }\r\n\r\n\r\n let movingSymbol = g.selectAll('.nlpSymbol')\r\n .data(arrayData)\r\n .enter()\r\n .append('path')\r\n .attr('d', function (d) { return symbol(); })\r\n //.style('stroke', 'black')\r\n .style('fill', function (d) {\r\n return d.color;\r\n })\r\n repeatTransition();\r\n function repeatTransition() {\r\n movingSymbol\r\n .transition()\r\n .attr('class', 'moving-shapes')\r\n .delay(function (d, i) {\r\n return 140 * i;\r\n })\r\n //.style('opacity',0)\r\n .duration(8000)\r\n\r\n .ease('linear')\r\n .tween('pathTween', function (d) { return pathTween(d.pathdata) })\r\n .call(endAll, function () {\r\n repeatTransition();\r\n })\r\n }\r\n\r\n function endAll(transition, callback) {\r\n if (typeof callback !== 'function') throw new Error('Wrong callback in endall');\r\n if (transition.size() === 0) {\r\n callback()\r\n }\r\n var n = 0;\r\n transition\r\n .each(function () { ++n; })\r\n .each('end', function () {\r\n\r\n if (--n === 220)\r\n callback.apply(this, arguments);\r\n\r\n });\r\n }\r\n\r\n function pathTween(path) {\r\n\r\n var length = path.node().getTotalLength(); // Get the length of the path\r\n var r = d3.interpolate(0, length); //Set up interpolation from 0 to the path length\r\n return function (t) {\r\n var point = path.node().getPointAtLength(r(t)); // Get the next point along the path\r\n d3.select(this) // Select the circle\r\n .attr('transform', 'translate(' + point.x + ',' + point.y + ')rotate(45)') // Set the cx\r\n }\r\n }\r\n\r\n }\r\n\r\n /**\r\n * This is Visble Section change Handler.\r\n *\r\n * @param $event - Section Id\r\n */\r\n onScrollSecionChange($event) {\r\n this.onVisibleSectionChange.emit($event);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscribeResize) {\r\n this.unsubscribeResize();\r\n }\r\n if (this.solutionBigCircleTimer) {\r\n clearTimeout(this.solutionBigCircleTimer);\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
Please select nct id
\\r\\n
\"","import { Component, OnInit, Input, SecurityContext } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport * as _ from 'lodash';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n\r\n// import { DynamicFormService } from '../../dynamic-form/services/dynamic-form.service';\r\n// import { NlpTextHighlighterService } from './nlp-text-highlighter.service';\r\n\r\nimport { WidgetService } from \"../widgets.service\";\r\n\r\n\r\n@Component({\r\n\tselector: 'app-nlp-text-highlighter',\r\n\ttemplateUrl: './nlp-text-highlighter.component.html'\r\n\t// providers: [NlpTextHighlighterService]\r\n})\r\nexport class NlpTextHighlighterComponent implements OnInit {\r\n\t@Input() widgetData;\r\n\r\n\t_originalHtmlProperty: string = 'No Data Found';\r\n\r\n\tgroupedData;\r\n\tselectedDataInfo;\r\n\r\n\tconstructor(private widgetService: WidgetService, private _sanitizer: DomSanitizer) {\r\n\t\tthis.widgetService.triggerDataChangeForNlp.subscribe((updatedDataInfo) => {\r\n\t\t\tif (updatedDataInfo.formField.filterField) {\r\n\t\t\t\tthis.selectedDataInfo = this.groupedData[updatedDataInfo.formField.filterField];\r\n\t\t\t\tthis.generateTemplate()\r\n\t\t\t} else {\r\n\t\t\t\tthis.selectedDataInfo = null;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic get sanitizedHtmlProperty(): SafeHtml {\r\n\t\treturn this._sanitizer.sanitize(SecurityContext.HTML, this._originalHtmlProperty);\r\n\t}\r\n\r\n\tgenerateTemplate() {\r\n\t\tvar template = '';\r\n\r\n\t\t_.forEach(this.selectedDataInfo, (nctValues, key) => {\r\n\t\t\tvar text = [];\r\n\t\t\tvar bioMarkers = '';\r\n\t\t\tvar attributes = '';\r\n\t\t\tvar valuesUnits = '';\r\n\t\t\tvar replaceText = \"\";\r\n\t\t\tvar replaceWith = \"\";\r\n\t\t\tvar processedValues = [];\r\n\r\n\t\t\t// console.log(\"nctValues, key\", nctValues, key);\r\n\t\t\t_.forEach(nctValues, (nctValue, key) => {\r\n\t\t\t\t// console.log(nctValue, key);\r\n\t\t\t\tif (!text.length) {\r\n\t\t\t\t\t// console.log(nctValue.sent);\r\n\t\t\t\t\ttext = nctValue.sent.split('');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (nctValue.biom_value) {\r\n\t\t\t\t\tbioMarkers += `\t
\r\n\t\t\t\t\t\t\t\t\t\t${nctValue.biom_value}\r\n\t\t\t\t\t\t\t\t\t
`;\r\n\t\t\t\t\tif (processedValues.indexOf(nctValue.biom_value) == -1) {\r\n\t\t\t\t\t\tprocessedValues.push(nctValue.biom_value);\r\n\t\t\t\t\t\treplaceWith = ` ${nctValue.biom_value} `;\r\n\t\t\t\t\t\t// text = this.getReplacedTextString(text, nctValue.biom_value, replaceWith);\r\n\t\t\t\t\t\tthis.stringReplaceAt(text, nctValue.start_biom, nctValue.end_biom, replaceWith);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tbioMarkers += `\t
\r\n\t\t\t\t\t\t\t\t\t\t

NA

\r\n\t\t\t\t\t\t\t\t\t
`;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (nctValue.attri_val) {\r\n\t\t\t\t\tattributes += `
\r\n\t\t\t\t\t\t\t\t\t\t${nctValue.attri_val} \r\n\t\t\t\t\t\t\t\t\t
`;\r\n\t\t\t\t\tif (processedValues.indexOf(nctValue.attri_val) == -1) {\r\n\t\t\t\t\t\tprocessedValues.push(nctValue.attri_val);\r\n\t\t\t\t\t\treplaceWith = ` ${nctValue.attri_val} `;\r\n\t\t\t\t\t\t// text = this.getReplacedTextString(text, nctValue.attri_val, replaceWith);\r\n\t\t\t\t\t\t// text = this.stringReplaceAt(text, nctValue.start_attri, replaceWith);\r\n\t\t\t\t\t\tthis.stringReplaceAt(text, nctValue.start_attri, nctValue.end_attri, replaceWith);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tattributes += `\t
\r\n\t\t\t\t\t\t\t\t\t\t

NA

\r\n\t\t\t\t\t\t\t\t\t
`;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (nctValue.biom_val_value || nctValue.unit_val) {\r\n\t\t\t\t\tvar uniTValueText = \"\";\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (nctValue.biom_val_value) {\r\n\t\t\t\t\t\tuniTValueText = nctValue.biom_val_value;\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (nctValue.unit_val) {\r\n\t\t\t\t\t\tuniTValueText += \" \" + nctValue.unit_val;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (uniTValueText) {\r\n\r\n\t\t\t\t\t\tvaluesUnits += `
\r\n\t\t\t\t\t\t\t\t\t\t\t${uniTValueText} \r\n\t\t\t\t\t\t\t\t\t\t
`;\r\n\r\n\t\t\t\t\t\tif (processedValues.indexOf(uniTValueText) == -1) {\r\n\t\t\t\t\t\t\tprocessedValues.push(uniTValueText);\r\n\t\t\t\t\t\t\treplaceWith = ` ${uniTValueText} `;\r\n\t\t\t\t\t\t\t// text = this.getReplacedTextString(text, nctValue.biom_val_value, replaceWith);\r\n\t\t\t\t\t\t\tthis.stringReplaceAt(text, (nctValue.start_biom_val), nctValue.end_unit, replaceWith);\r\n\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvaluesUnits += `\t
\r\n\t\t\t\t\t\t\t\t\t\t

NA

\r\n\t\t\t\t\t\t\t\t\t
`;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t});\t\r\n\r\n\t\t\ttemplate += `\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t ${text.join('')}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
Biomarker
\r\n\t\t\t\t \r\n\t\t\t\t ${bioMarkers}\r\n\t\t\t\t \r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
Attribute
\r\n\t\t\t\t \r\n\t\t\t\t ${attributes}\r\n\t\t\t\t \r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
Value/Unit
\r\n\t\t\t\t \r\n\t\t\t\t ${valuesUnits}\r\n\t\t\t\t \r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t`;\r\n\r\n\r\n\t\t});\r\n\r\n\t\tthis._originalHtmlProperty = template;\r\n\t}\r\n\r\n\tstringReplaceAt(text, startIndex, endIndex, replacement) {\r\n\t\ttext[startIndex] = replacement;\r\n\t\t// console.log(text);\r\n\t\t// console.log(startIndex + 1, ((endIndex - 1) - startIndex))\r\n\t\tlet replaceWith = Array(((endIndex - 1) - startIndex)).join(' ').split(' ');\r\n\t\t// console.log(replaceWith);\r\n\t\ttext.splice(startIndex + 1, ((endIndex - 1) - startIndex), ...replaceWith);\r\n\t\t// console.log(text);\r\n\t\r\n\t}\r\n\r\n\t// stringReplaceAt(text, startIndex, endIndex, replacement) {\r\n\t// \treturn text.substr(0, startIndex) + replacement + text.substr(endIndex);\r\n\t// }\r\n\r\n\tgetReplacedTextString(originalText, searchWith, replaceWith) {\r\n\t\t// var replaceText = \"\" + searchWith + \"\"; /(?:(^|[^a-z]))(([^a-z]*)(?=cat)cat)(?![a-z])/\r\n\t\t//return originalText.replace(new RegExp(searchWith, 'g'), replaceWith);\t\r\n\t\treturn originalText.replace(new RegExp(\" \" + searchWith + \" \", 'g'), replaceWith);\r\n\r\n\t\t// return originalText.replace(new RegExp(\"(?:(^|[^a-z0-9]))(([^a-z0-9]*)(?=\" + searchWith + \")\" + searchWith + \")(?![a-z0-9])\", 'gi'), replaceWith);\t\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\t// console.log(this.widgetData.data);\r\n\t\tthis.groupedData = _.groupBy(this.widgetData.data, 'nct_id');\r\n\t\t_.forEach(this.groupedData, (value, key) => {\r\n\t\t\tthis.groupedData[key] = _.groupBy(this.groupedData[key], 'sent_id');\r\n\t\t});\r\n\t\t// console.log(this.groupedData);\r\n\t\t// console.log(\"this,chartData\", this.chartData);\r\n\t\t// this.form = this.dynamicFormService.toFormGroup(this.interactionDataList);\r\n\t}\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvcGF0aWVudC1yYWRhci9wYXRpZW50LXJhZGFyLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n\\r\\n
Data not available
\\r\\n\\r\\n\"","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-patient-radar',\r\n templateUrl: './patient-radar.component.html',\r\n styleUrls: ['./patient-radar.component.css']\r\n})\r\nexport class PatientRadarComponent implements OnInit {\r\n\r\n @Input() widgetData;\r\n\tdata;\r\n \thtmlString;\r\n\r\n\t// constructor(private _sanitizer: DomSanitizer) {\r\n // \t}\r\n\r\n \tngOnInit() {\r\n \t\t// console.log(\"this.data..........\", this.data)\r\n \t\tthis.htmlString = this.widgetData.data.htmlString;\r\n \t}\r\n\r\n \t/*public get sanitizedHtmlProperty() : SafeHtml {\r\n \treturn this._sanitizer.sanitize(SecurityContext.HTML, this.htmlString);\r\n \t}*/\r\n\r\n}\r\n","module.exports = \"#small-problem-cluster-section .one,\\r\\n#small-problem-cluster-section .two,\\r\\n#small-problem-cluster-section .three,\\r\\n#small-problem-cluster-section .four{\\r\\n position:absolute;\\r\\n transform:translateY(-30%);\\r\\n}\\r\\n#small-problem-cluster-section .one:after,\\r\\n#small-problem-cluster-section .two:after,\\r\\n#small-problem-cluster-section .three:after,\\r\\n#small-problem-cluster-section .four:after{\\r\\n content:\\\"\\\";\\r\\n position:absolute;\\r\\n background-color:white;\\r\\n height:100%;\\r\\n right:0;\\r\\n left:-60px;\\r\\n top:0;\\r\\n transition:all ease-in-out 500ms;\\r\\n}\\r\\n#small-problem-cluster-section .two:after{\\r\\n left:-120px;\\r\\n}\\r\\n#small-problem-cluster-section .three:after,\\r\\n#small-problem-cluster-section .four:after{\\r\\n left:0;\\r\\n right:-60px;\\r\\n}\\r\\n#small-problem-cluster-section .one.show:after,\\r\\n#small-problem-cluster-section .two.show:after{\\r\\n left:100%;\\r\\n}\\r\\n#small-problem-cluster-section .three.show:after,\\r\\n#small-problem-cluster-section .four.show:after{\\r\\n right:calc(100% + 60px);\\r\\n}\\r\\n#small-problem-cluster-section .one{\\r\\n width:220px;\\r\\n top:90px;\\r\\n left:350px;\\r\\n z-index:1;\\r\\n}\\r\\n#small-problem-cluster-section .two{\\r\\n width:360px;\\r\\n top:180px;\\r\\n left:750px;\\r\\n}\\r\\n#small-problem-cluster-section .three,\\r\\n#small-problem-cluster-section .four{\\r\\n width:300px;\\r\\n text-align:right;\\r\\n}\\r\\n#small-problem-cluster-section .three{\\r\\n top:112px;\\r\\n}\\r\\n#small-problem-cluster-section .four{\\r\\n top:112px;\\r\\n right:330px;\\r\\n}\\r\\n#small-problem-cluster-section h4{\\r\\n font-family:'DINProMedium', sans-serif;\\r\\n font-size:22px;\\r\\n margin-bottom:4px;\\r\\n}\\r\\n#small-problem-cluster-section p{\\r\\n font-family:'DINProMedium', sans-serif;\\r\\n font-size:22px;\\r\\n line-height:26px;\\r\\n color:#4c4c4c;\\r\\n position:relative;\\r\\n}\\r\\n#small-problem-cluster-section p:before{\\r\\n content:\\\"\\\";\\r\\n height:8px;\\r\\n width:8px;\\r\\n border-radius:50%;\\r\\n position:absolute;\\r\\n left:-23px;\\r\\n top:9px;\\r\\n}\\r\\n#small-problem-cluster-section p:after{\\r\\n content:\\\"\\\";\\r\\n height:0;\\r\\n width:40px;\\r\\n border-top-width:2px;\\r\\n border-top-style:solid;\\r\\n position:absolute;\\r\\n left:-58px;\\r\\n top:12px;\\r\\n}\\r\\n#small-problem-cluster-section .two p:after{\\r\\n height:50px;\\r\\n left:-88px;\\r\\n border-left-width:3px;\\r\\n border-left-style:solid;\\r\\n transform:skewX(-50deg);\\r\\n}\\r\\n#small-problem-cluster-section .three p:before,\\r\\n#small-problem-cluster-section .four p:before{\\r\\n left:auto;\\r\\n right:-23px;\\r\\n}\\r\\n#small-problem-cluster-section .three p:after,\\r\\n#small-problem-cluster-section .four p:after{\\r\\n left:auto;\\r\\n right:-58px;\\r\\n}\\r\\n[data-color=zfaa24c]:before{\\r\\n background-color:#faa24c;\\r\\n}\\r\\n[data-color=zfaa24c]:after{\\r\\n border-color:#faa24c;\\r\\n}\\r\\n[data-color=z39b2ff]:before{\\r\\n background-color:#39b2ff;\\r\\n}\\r\\n[data-color=z39b2ff]:after{\\r\\n border-color:#39b2ff;\\r\\n}\\r\\n[data-color=za1be00]:before{\\r\\n background-color:#a1be00;\\r\\n}\\r\\n[data-color=za1be00]:after{\\r\\n border-color:#a1be00;\\r\\n}\\r\\n[data-color=zd94785]:before{\\r\\n background-color:#d94785;\\r\\n}\\r\\n[data-color=zd94785]:after{\\r\\n border-color:#d94785;\\r\\n}\\r\\n.outcomes-rwd h2{\\r\\n position:absolute;\\r\\n top:-185px;\\r\\n left:10px;\\r\\n font-size:46px;\\r\\n color:#3c88b5;\\r\\n font-family:'DINProBold', sans-serif;\\r\\n letter-spacing:-1px;\\r\\n}\\r\\n.solution-title h2{\\r\\n font-size:46px;\\r\\n color:#3c88b5;\\r\\n font-family:'DINProBold', sans-serif;\\r\\n letter-spacing:-1px;\\r\\n}\\r\\n.solution-title h4{\\r\\n font-size:calc(20px + (22 - 20) * (100vw - 320px) / (1920 - 320));\\r\\n font-family:'DINProMedium', sans-serif;\\r\\n}\\r\\n.solution-title p{\\r\\n font-size:calc(20px + (18 - 20) * (100vw - 320px) / (1920 - 320));\\r\\n font-family:'DINProRegular', sans-serif;\\r\\n line-height:28px;\\r\\n}\\r\\n.outcomes-rwd>.dynamic,\\r\\n.outcomes-rwd>.drug-adoption,\\r\\n.outcomes-rwd>.analysis,\\r\\n.outcomes-rwd>.prediction{\\r\\n transform:translateY(-30px);\\r\\n}\\r\\n.rwd-outcomes{\\r\\n position:relative;\\r\\n left:0;\\r\\n right:0;\\r\\n}\\r\\n.rwd-outcomes .outcome-result>div{\\r\\n width:252px;\\r\\n color:#393939;\\r\\n position:absolute;\\r\\n}\\r\\n.rwd-outcomes .outcome-result>div:before{\\r\\n content:\\\"\\\";\\r\\n width:100%;\\r\\n height:100%;\\r\\n position:absolute;\\r\\n bottom:0;\\r\\n background-color:#FFF;\\r\\n transition:all 400ms ease-in-out;\\r\\n}\\r\\n.rwd-outcomes .outcome-result>div.in:before{\\r\\n height:0;\\r\\n}\\r\\n.outcome-result h3{\\r\\n margin-bottom:20px;\\r\\n font-family:'DINProMedium';\\r\\n font-size:24px;\\r\\n}\\r\\n.outcome-result p{\\r\\n font-family:'DINProRegular';\\r\\n font-size:calc(18px + (16 - 18) * (100vw - 320px) / (1920 - 320));\\r\\n line-height:22px;\\r\\n margin-bottom:20px;\\r\\n}\\r\\n@media (min-width:1281px) and ( max-width:1370px){\\r\\n #solution>p{\\r\\n font-size:16px;\\r\\n }\\r\\n}\\r\\n.outcome-node-count{\\r\\n font-family:'DINProMedium';\\r\\n font-size:32px;\\r\\n font-weight:500;\\r\\n}\\r\\n.outcome-node-text{\\r\\n font-size:14px;\\r\\n}\\r\\n.outcome-header-text{\\r\\n font-family:'DINProMedium';\\r\\n font-size:18px;\\r\\n line-height:26px;\\r\\n color:#FFF;\\r\\n}\\r\\n.outcome-header-title{\\r\\n font-size:32px;\\r\\n display:block;\\r\\n}\\r\\n#outcome-title text{\\r\\n background-color:rgba(255, 255, 255, 0.6);\\r\\n margin-bottom:30px;\\r\\n font-family:'DINProBold', sans-serif;\\r\\n font-size:46px;\\r\\n fill:#3c88b5;\\r\\n letter-spacing:-1px;\\r\\n text-align:center;\\r\\n}\\r\\n@media (max-width: 1300px){\\r\\n .solution-title .data-science-link{\\r\\n padding-left: 55px;\\r\\n \\r\\n }\\r\\n .solution-title .data-science-link a{\\r\\n font-size: 16px;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9wbHVnLW4tcHJlZGljdC1yd2QvcGx1Zy1uLXByZWRpY3QtcndkLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7SUFJSSxrQkFBa0I7SUFDbEIsMkJBQTJCO0NBQzlCO0FBQ0Q7Ozs7SUFJSSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osUUFBUTtJQUNSLFdBQVc7SUFDWCxNQUFNO0lBQ04saUNBQWlDO0NBQ3BDO0FBQ0Q7SUFDSSxZQUFZO0NBQ2Y7QUFDRDs7SUFFSSxPQUFPO0lBQ1AsWUFBWTtDQUNmO0FBQ0Q7O0lBRUksVUFBVTtDQUNiO0FBQ0Q7O0lBRUksd0JBQXdCO0NBQzNCO0FBQ0Q7SUFDSSxZQUFZO0lBQ1osU0FBUztJQUNULFdBQVc7SUFDWCxVQUFVO0NBQ2I7QUFDRDtJQUNJLFlBQVk7SUFDWixVQUFVO0lBQ1YsV0FBVztDQUNkO0FBQ0Q7O0lBRUksWUFBWTtJQUNaLGlCQUFpQjtDQUNwQjtBQUNEO0lBQ0ksVUFBVTtDQUNiO0FBQ0Q7SUFDSSxVQUFVO0lBQ1YsWUFBWTtDQUNmO0FBQ0Q7SUFDSSx1Q0FBdUM7SUFDdkMsZUFBZTtJQUNmLGtCQUFrQjtDQUNyQjtBQUNEO0lBQ0ksdUNBQXVDO0lBQ3ZDLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsY0FBYztJQUNkLGtCQUFrQjtDQUNyQjtBQUNEO0lBQ0ksV0FBVztJQUNYLFdBQVc7SUFDWCxVQUFVO0lBQ1Ysa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsUUFBUTtDQUNYO0FBQ0Q7SUFDSSxXQUFXO0lBQ1gsU0FBUztJQUNULFdBQVc7SUFDWCxxQkFBcUI7SUFDckIsdUJBQXVCO0lBQ3ZCLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsU0FBUztDQUNaO0FBQ0Q7SUFDSSxZQUFZO0lBQ1osV0FBVztJQUNYLHNCQUFzQjtJQUN0Qix3QkFBd0I7SUFDeEIsd0JBQXdCO0NBQzNCO0FBQ0Q7O0lBRUksVUFBVTtJQUNWLFlBQVk7Q0FDZjtBQUNEOztJQUVJLFVBQVU7SUFDVixZQUFZO0NBQ2Y7QUFDRDtJQUNJLHlCQUF5QjtDQUM1QjtBQUNEO0lBQ0kscUJBQXFCO0NBQ3hCO0FBQ0Q7SUFDSSx5QkFBeUI7Q0FDNUI7QUFDRDtJQUNJLHFCQUFxQjtDQUN4QjtBQUNEO0lBQ0kseUJBQXlCO0NBQzVCO0FBQ0Q7SUFDSSxxQkFBcUI7Q0FDeEI7QUFDRDtJQUNJLHlCQUF5QjtDQUM1QjtBQUNEO0lBQ0kscUJBQXFCO0NBQ3hCO0FBQ0Q7SUFDSSxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFVBQVU7SUFDVixlQUFlO0lBQ2YsY0FBYztJQUNkLHFDQUFxQztJQUNyQyxvQkFBb0I7Q0FDdkI7QUFDRDtJQUNJLGVBQWU7SUFDZixjQUFjO0lBQ2QscUNBQXFDO0lBQ3JDLG9CQUFvQjtDQUN2QjtBQUNEO0lBQ0ksa0VBQWtFO0lBQ2xFLHVDQUF1QztDQUMxQztBQUNEO0lBQ0ksa0VBQWtFO0lBQ2xFLHdDQUF3QztJQUN4QyxpQkFBaUI7Q0FDcEI7QUFDRDs7OztJQUlJLDRCQUE0QjtDQUMvQjtBQUNEO0lBQ0ksa0JBQWtCO0lBQ2xCLE9BQU87SUFDUCxRQUFRO0NBQ1g7QUFDRDtJQUNJLFlBQVk7SUFDWixjQUFjO0lBQ2Qsa0JBQWtCO0NBQ3JCO0FBQ0Q7SUFDSSxXQUFXO0lBQ1gsV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsU0FBUztJQUNULHNCQUFzQjtJQUN0QixpQ0FBaUM7Q0FDcEM7QUFDRDtJQUNJLFNBQVM7Q0FDWjtBQUNEO0lBQ0ksbUJBQW1CO0lBQ25CLDJCQUEyQjtJQUMzQixlQUFlO0NBQ2xCO0FBQ0Q7SUFDSSw0QkFBNEI7SUFDNUIsa0VBQWtFO0lBQ2xFLGlCQUFpQjtJQUNqQixtQkFBbUI7Q0FDdEI7QUFDRDtJQUNJO1FBQ0ksZUFBZTtLQUNsQjtDQUNKO0FBQ0Q7SUFDSSwyQkFBMkI7SUFDM0IsZUFBZTtJQUNmLGdCQUFnQjtDQUNuQjtBQUNEO0lBQ0ksZUFBZTtDQUNsQjtBQUNEO0lBQ0ksMkJBQTJCO0lBQzNCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsV0FBVztDQUNkO0FBQ0Q7SUFDSSxlQUFlO0lBQ2YsY0FBYztDQUNqQjtBQUNEO0lBQ0ksMENBQTBDO0lBQzFDLG1CQUFtQjtJQUNuQixxQ0FBcUM7SUFDckMsZUFBZTtJQUNmLGFBQWE7SUFDYixvQkFBb0I7SUFDcEIsa0JBQWtCO0NBQ3JCO0FBRUQ7SUFDSTtRQUNJLG1CQUFtQjs7S0FFdEI7SUFDRDtRQUNJLGdCQUFnQjtLQUNuQjtDQUNKIiwiZmlsZSI6InNyYy9hcHAvd2lkZ2V0cy9wbHVnLW4tcHJlZGljdC1yd2QvcGx1Zy1uLXByZWRpY3QtcndkLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjc21hbGwtcHJvYmxlbS1jbHVzdGVyLXNlY3Rpb24gLm9uZSxcclxuI3NtYWxsLXByb2JsZW0tY2x1c3Rlci1zZWN0aW9uIC50d28sXHJcbiNzbWFsbC1wcm9ibGVtLWNsdXN0ZXItc2VjdGlvbiAudGhyZWUsXHJcbiNzbWFsbC1wcm9ibGVtLWNsdXN0ZXItc2VjdGlvbiAuZm91cntcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTMwJSk7XHJcbn1cclxuI3NtYWxsLXByb2JsZW0tY2x1c3Rlci1zZWN0aW9uIC5vbmU6YWZ0ZXIsXHJcbiNzbWFsbC1wcm9ibGVtLWNsdXN0ZXItc2VjdGlvbiAudHdvOmFmdGVyLFxyXG4jc21hbGwtcHJvYmxlbS1jbHVzdGVyLXNlY3Rpb24gLnRocmVlOmFmdGVyLFxyXG4jc21hbGwtcHJvYmxlbS1jbHVzdGVyLXNlY3Rpb24gLmZvdXI6YWZ0ZXJ7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6d2hpdGU7XHJcbiAgICBoZWlnaHQ6MTAwJTtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICBsZWZ0Oi02MHB4O1xyXG4gICAgdG9wOjA7XHJcbiAgICB0cmFuc2l0aW9uOmFsbCBlYXNlLWluLW91dCA1MDBtcztcclxufVxyXG4jc21hbGwtcHJvYmxlbS1jbHVzdGVyLXNlY3Rpb24gLnR3bzphZnRlcntcclxuICAgIGxlZnQ6LTEyMHB4O1xyXG59XHJcbiNzbWFsbC1wcm9ibGVtLWNsdXN0ZXItc2VjdGlvbiAudGhyZWU6YWZ0ZXIsXHJcbiNzbWFsbC1wcm9ibGVtLWNsdXN0ZXItc2VjdGlvbiAuZm91cjphZnRlcntcclxuICAgIGxlZnQ6MDtcclxuICAgIHJpZ2h0Oi02MHB4O1xyXG59XHJcbiNzbWFsbC1wcm9ibGVtLWNsdXN0ZXItc2VjdGlvbiAub25lLnNob3c6YWZ0ZXIsXHJcbiNzbWFsbC1wcm9ibGVtLWNsdXN0ZXItc2VjdGlvbiAudHdvLnNob3c6YWZ0ZXJ7XHJcbiAgICBsZWZ0OjEwMCU7XHJcbn1cclxuI3NtYWxsLXByb2JsZW0tY2x1c3Rlci1zZWN0aW9uIC50aHJlZS5zaG93OmFmdGVyLFxyXG4jc21hbGwtcHJvYmxlbS1jbHVzdGVyLXNlY3Rpb24gLmZvdXIuc2hvdzphZnRlcntcclxuICAgIHJpZ2h0OmNhbGMoMTAwJSArIDYwcHgpO1xyXG59XHJcbiNzbWFsbC1wcm9ibGVtLWNsdXN0ZXItc2VjdGlvbiAub25le1xyXG4gICAgd2lkdGg6MjIwcHg7XHJcbiAgICB0b3A6OTBweDtcclxuICAgIGxlZnQ6MzUwcHg7XHJcbiAgICB6LWluZGV4OjE7XHJcbn1cclxuI3NtYWxsLXByb2JsZW0tY2x1c3Rlci1zZWN0aW9uIC50d297XHJcbiAgICB3aWR0aDozNjBweDtcclxuICAgIHRvcDoxODBweDtcclxuICAgIGxlZnQ6NzUwcHg7XHJcbn1cclxuI3NtYWxsLXByb2JsZW0tY2x1c3Rlci1zZWN0aW9uIC50aHJlZSxcclxuI3NtYWxsLXByb2JsZW0tY2x1c3Rlci1zZWN0aW9uIC5mb3Vye1xyXG4gICAgd2lkdGg6MzAwcHg7XHJcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG59XHJcbiNzbWFsbC1wcm9ibGVtLWNsdXN0ZXItc2VjdGlvbiAudGhyZWV7XHJcbiAgICB0b3A6MTEycHg7XHJcbn1cclxuI3NtYWxsLXByb2JsZW0tY2x1c3Rlci1zZWN0aW9uIC5mb3Vye1xyXG4gICAgdG9wOjExMnB4O1xyXG4gICAgcmlnaHQ6MzMwcHg7XHJcbn1cclxuI3NtYWxsLXByb2JsZW0tY2x1c3Rlci1zZWN0aW9uIGg0e1xyXG4gICAgZm9udC1mYW1pbHk6J0RJTlByb01lZGl1bScsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXNpemU6MjJweDtcclxuICAgIG1hcmdpbi1ib3R0b206NHB4O1xyXG59XHJcbiNzbWFsbC1wcm9ibGVtLWNsdXN0ZXItc2VjdGlvbiBwe1xyXG4gICAgZm9udC1mYW1pbHk6J0RJTlByb01lZGl1bScsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXNpemU6MjJweDtcclxuICAgIGxpbmUtaGVpZ2h0OjI2cHg7XHJcbiAgICBjb2xvcjojNGM0YzRjO1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbn1cclxuI3NtYWxsLXByb2JsZW0tY2x1c3Rlci1zZWN0aW9uIHA6YmVmb3Jle1xyXG4gICAgY29udGVudDpcIlwiO1xyXG4gICAgaGVpZ2h0OjhweDtcclxuICAgIHdpZHRoOjhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6NTAlO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBsZWZ0Oi0yM3B4O1xyXG4gICAgdG9wOjlweDtcclxufVxyXG4jc21hbGwtcHJvYmxlbS1jbHVzdGVyLXNlY3Rpb24gcDphZnRlcntcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIGhlaWdodDowO1xyXG4gICAgd2lkdGg6NDBweDtcclxuICAgIGJvcmRlci10b3Atd2lkdGg6MnB4O1xyXG4gICAgYm9yZGVyLXRvcC1zdHlsZTpzb2xpZDtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgbGVmdDotNThweDtcclxuICAgIHRvcDoxMnB4O1xyXG59XHJcbiNzbWFsbC1wcm9ibGVtLWNsdXN0ZXItc2VjdGlvbiAudHdvIHA6YWZ0ZXJ7XHJcbiAgICBoZWlnaHQ6NTBweDtcclxuICAgIGxlZnQ6LTg4cHg7XHJcbiAgICBib3JkZXItbGVmdC13aWR0aDozcHg7XHJcbiAgICBib3JkZXItbGVmdC1zdHlsZTpzb2xpZDtcclxuICAgIHRyYW5zZm9ybTpza2V3WCgtNTBkZWcpO1xyXG59XHJcbiNzbWFsbC1wcm9ibGVtLWNsdXN0ZXItc2VjdGlvbiAudGhyZWUgcDpiZWZvcmUsXHJcbiNzbWFsbC1wcm9ibGVtLWNsdXN0ZXItc2VjdGlvbiAuZm91ciBwOmJlZm9yZXtcclxuICAgIGxlZnQ6YXV0bztcclxuICAgIHJpZ2h0Oi0yM3B4O1xyXG59XHJcbiNzbWFsbC1wcm9ibGVtLWNsdXN0ZXItc2VjdGlvbiAudGhyZWUgcDphZnRlcixcclxuI3NtYWxsLXByb2JsZW0tY2x1c3Rlci1zZWN0aW9uIC5mb3VyIHA6YWZ0ZXJ7XHJcbiAgICBsZWZ0OmF1dG87XHJcbiAgICByaWdodDotNThweDtcclxufVxyXG5bZGF0YS1jb2xvcj16ZmFhMjRjXTpiZWZvcmV7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmYWEyNGM7XHJcbn1cclxuW2RhdGEtY29sb3I9emZhYTI0Y106YWZ0ZXJ7XHJcbiAgICBib3JkZXItY29sb3I6I2ZhYTI0YztcclxufVxyXG5bZGF0YS1jb2xvcj16MzliMmZmXTpiZWZvcmV7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiMzOWIyZmY7XHJcbn1cclxuW2RhdGEtY29sb3I9ejM5YjJmZl06YWZ0ZXJ7XHJcbiAgICBib3JkZXItY29sb3I6IzM5YjJmZjtcclxufVxyXG5bZGF0YS1jb2xvcj16YTFiZTAwXTpiZWZvcmV7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNhMWJlMDA7XHJcbn1cclxuW2RhdGEtY29sb3I9emExYmUwMF06YWZ0ZXJ7XHJcbiAgICBib3JkZXItY29sb3I6I2ExYmUwMDtcclxufVxyXG5bZGF0YS1jb2xvcj16ZDk0Nzg1XTpiZWZvcmV7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNkOTQ3ODU7XHJcbn1cclxuW2RhdGEtY29sb3I9emQ5NDc4NV06YWZ0ZXJ7XHJcbiAgICBib3JkZXItY29sb3I6I2Q5NDc4NTtcclxufVxyXG4ub3V0Y29tZXMtcndkIGgye1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICB0b3A6LTE4NXB4O1xyXG4gICAgbGVmdDoxMHB4O1xyXG4gICAgZm9udC1zaXplOjQ2cHg7XHJcbiAgICBjb2xvcjojM2M4OGI1O1xyXG4gICAgZm9udC1mYW1pbHk6J0RJTlByb0JvbGQnLCBzYW5zLXNlcmlmO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6LTFweDtcclxufVxyXG4uc29sdXRpb24tdGl0bGUgaDJ7XHJcbiAgICBmb250LXNpemU6NDZweDtcclxuICAgIGNvbG9yOiMzYzg4YjU7XHJcbiAgICBmb250LWZhbWlseTonRElOUHJvQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICBsZXR0ZXItc3BhY2luZzotMXB4O1xyXG59XHJcbi5zb2x1dGlvbi10aXRsZSBoNHtcclxuICAgIGZvbnQtc2l6ZTpjYWxjKDIwcHggKyAoMjIgLSAyMCkgKiAoMTAwdncgLSAzMjBweCkgLyAoMTkyMCAtIDMyMCkpO1xyXG4gICAgZm9udC1mYW1pbHk6J0RJTlByb01lZGl1bScsIHNhbnMtc2VyaWY7XHJcbn1cclxuLnNvbHV0aW9uLXRpdGxlIHB7XHJcbiAgICBmb250LXNpemU6Y2FsYygyMHB4ICsgKDE4IC0gMjApICogKDEwMHZ3IC0gMzIwcHgpIC8gKDE5MjAgLSAzMjApKTtcclxuICAgIGZvbnQtZmFtaWx5OidESU5Qcm9SZWd1bGFyJywgc2Fucy1zZXJpZjtcclxuICAgIGxpbmUtaGVpZ2h0OjI4cHg7XHJcbn1cclxuLm91dGNvbWVzLXJ3ZD4uZHluYW1pYyxcclxuLm91dGNvbWVzLXJ3ZD4uZHJ1Zy1hZG9wdGlvbixcclxuLm91dGNvbWVzLXJ3ZD4uYW5hbHlzaXMsXHJcbi5vdXRjb21lcy1yd2Q+LnByZWRpY3Rpb257XHJcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMzBweCk7XHJcbn1cclxuLnJ3ZC1vdXRjb21lc3tcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgbGVmdDowO1xyXG4gICAgcmlnaHQ6MDtcclxufVxyXG4ucndkLW91dGNvbWVzIC5vdXRjb21lLXJlc3VsdD5kaXZ7XHJcbiAgICB3aWR0aDoyNTJweDtcclxuICAgIGNvbG9yOiMzOTM5Mzk7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxufVxyXG4ucndkLW91dGNvbWVzIC5vdXRjb21lLXJlc3VsdD5kaXY6YmVmb3Jle1xyXG4gICAgY29udGVudDpcIlwiO1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIGhlaWdodDoxMDAlO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBib3R0b206MDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6I0ZGRjtcclxuICAgIHRyYW5zaXRpb246YWxsIDQwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5yd2Qtb3V0Y29tZXMgLm91dGNvbWUtcmVzdWx0PmRpdi5pbjpiZWZvcmV7XHJcbiAgICBoZWlnaHQ6MDtcclxufVxyXG4ub3V0Y29tZS1yZXN1bHQgaDN7XHJcbiAgICBtYXJnaW4tYm90dG9tOjIwcHg7XHJcbiAgICBmb250LWZhbWlseTonRElOUHJvTWVkaXVtJztcclxuICAgIGZvbnQtc2l6ZToyNHB4O1xyXG59XHJcbi5vdXRjb21lLXJlc3VsdCBwe1xyXG4gICAgZm9udC1mYW1pbHk6J0RJTlByb1JlZ3VsYXInO1xyXG4gICAgZm9udC1zaXplOmNhbGMoMThweCArICgxNiAtIDE4KSAqICgxMDB2dyAtIDMyMHB4KSAvICgxOTIwIC0gMzIwKSk7XHJcbiAgICBsaW5lLWhlaWdodDoyMnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbToyMHB4O1xyXG59XHJcbkBtZWRpYSAobWluLXdpZHRoOjEyODFweCkgYW5kICggbWF4LXdpZHRoOjEzNzBweCl7XHJcbiAgICAjc29sdXRpb24+cHtcclxuICAgICAgICBmb250LXNpemU6MTZweDtcclxuICAgIH1cclxufVxyXG4ub3V0Y29tZS1ub2RlLWNvdW50e1xyXG4gICAgZm9udC1mYW1pbHk6J0RJTlByb01lZGl1bSc7XHJcbiAgICBmb250LXNpemU6MzJweDtcclxuICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxufVxyXG4ub3V0Y29tZS1ub2RlLXRleHR7XHJcbiAgICBmb250LXNpemU6MTRweDtcclxufVxyXG4ub3V0Y29tZS1oZWFkZXItdGV4dHtcclxuICAgIGZvbnQtZmFtaWx5OidESU5Qcm9NZWRpdW0nO1xyXG4gICAgZm9udC1zaXplOjE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDoyNnB4O1xyXG4gICAgY29sb3I6I0ZGRjtcclxufVxyXG4ub3V0Y29tZS1oZWFkZXItdGl0bGV7XHJcbiAgICBmb250LXNpemU6MzJweDtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbn1cclxuI291dGNvbWUtdGl0bGUgdGV4dHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTozMHB4O1xyXG4gICAgZm9udC1mYW1pbHk6J0RJTlByb0JvbGQnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC1zaXplOjQ2cHg7XHJcbiAgICBmaWxsOiMzYzg4YjU7XHJcbiAgICBsZXR0ZXItc3BhY2luZzotMXB4O1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMzAwcHgpe1xyXG4gICAgLnNvbHV0aW9uLXRpdGxlIC5kYXRhLXNjaWVuY2UtbGlua3tcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDU1cHg7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuc29sdXRpb24tdGl0bGUgLmRhdGEtc2NpZW5jZS1saW5rIGF7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG59Il19 */\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Problem

\\r\\n

\\r\\n Real World Data is very powerful yet very complex to analyze due to presence of multiple and variety of touchpoints in a patient's journey including diagnosis, treatment initiation, treatment progression and drop-off. Plug-n-Predict, an automated ML solution,\\r\\n can span across this complex data to discover novel features and derive actionable insights.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Diagnosis

\\r\\n

Identifying the likelihood of a patient to be diagnosed by a disease

\\r\\n
\\r\\n
\\r\\n

Treatment Initiation

\\r\\n

Predicting the likelihood of a patient to adopt a treatment

\\r\\n
\\r\\n
\\r\\n

Treatment Progression

\\r\\n

Predicting patient line-switch based on disease progression

\\r\\n
\\r\\n
\\r\\n

Predicting patient drop-off

\\r\\n

Understanding patient drop-off drivers and barriers

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Data

\\r\\n

Patient Journey Timeline

\\r\\n

Plug-n-Predict utilizes observational healthcare databases such as administrative claims and Electronic Health Records (EHR) which capture patient longitudinal histories.\\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Solution

\\r\\n

RWD focused feature aggregators

\\r\\n

Domain focused feature aggregators such as Aggregated disease burden are created to discover patient-level insights

\\r\\n

Evolutionary algorithm concept

\\r\\n

Evolutionary algorithms combine atomic features in the raw data to generate molecular features with higher predictive power.

\\r\\n

Multi-generation population viewer - from baseline to optimized features

\\r\\n

The algorithm mimics life - creating multiple generations of molecular features. Each feature is either a cross-over of two existing ‘parent features’ or a mutation. Features in each generation survive based on their fitness or predictive\\r\\n power.\\r\\n

\\r\\n

\\r\\n Data Science View\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Drug Adoption

\\r\\n

Driver: Severe patients with Long Term Systemics usage in last 2 years and increasingly diagnosed with itching in recent 3-4 months are most likely to adopt the drug

\\r\\n

Barrier: Patients above 50 years of age with no history of a prescription by a dermatologist and have not taken any allergy Rx in last 2 years but have been diagnosed with Itching 2 times in last 5 months are least likely to adopt\\r\\n the drug

\\r\\n
\\r\\n
\\r\\n

Patient Identification

\\r\\n

Increased usage of Vitamin D supplements in the last 3 months is an indicator of XLH diagnosis

\\r\\n
\\r\\n
\\r\\n

Line-change Prediction

\\r\\n

An increased frequency of constipation diagnosis is an indicator of line change

\\r\\n
\\r\\n
\\r\\n

Drop-off Analysis

\\r\\n

Increased visits to a cardiologist in the last 1.5 years increases chances of drop-off

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, EventEmitter, Output, Renderer2, AfterContentInit, Input, ViewEncapsulation } from '@angular/core';\r\nimport _ from 'lodash';\r\nimport { SmallClusterService } from 'src/app/services/small-cluster.service';\r\nimport { D3EventTimelineService } from 'src/app/services/d3-event-timeline.service';\r\nimport { D3CustomShapesService } from 'src/app/services/helper/d3-custom-shapes.service';\r\nimport { PlugNPredictRWDService } from './plug-n-predict-rwd.service';\r\nimport { Router } from '@angular/router';\r\nimport { GoogleAnalyticsService } from 'src/app/services/google-analytics.service';\r\n\r\ndeclare const d3: any;\r\n\r\n@Component({\r\n\tselector: 'app-plug-n-predict-rwd',\r\n\ttemplateUrl: './plug-n-predict-rwd.component.html',\r\n\tstyleUrls: ['./plug-n-predict-rwd.component.css'],\r\n\tproviders: [SmallClusterService, PlugNPredictRWDService],\r\n\tencapsulation: ViewEncapsulation.None\r\n})\r\nexport class PlugNPredictRwdComponent implements OnInit {\r\n\t@Output() public onVisibleSectionChange = new EventEmitter();\r\n\t@Input() widgetData;\r\n\twindowContentHeight: Number = null;\r\n\twindowContentWidth: Number = null;\r\n\tcategories: Array = [\"abandonCart\", \"surgeCall\", \"portOut\", \"churn\"];\r\n\tcategoriesColor: Array = [\"#faa24c\", \"#39b2ff\", \"#a1be00\", \"#d94785\"];\r\n\tsectionsHolder = {\r\n\t\tproblem: {\r\n\t\t\tbigCluster: {\r\n\t\t\t\tcustomerData: null,\r\n\t\t\t\tsettings: null,\r\n\t\t\t\tupdateCluster: null\r\n\t\t\t}\r\n\t\t},\r\n\t\tproblemToData: {\r\n\t\t\tfirstLinePath: null,\r\n\t\t\tsecondLinePath: null,\r\n\t\t\tthirdLinePath: null,\r\n\t\t\tfourthLinePath: null,\r\n\t\t\tsmallCluster: {\r\n\t\t\t\tdetails: [],\r\n\t\t\t\tflag: [0, 0, 0, 0],\r\n\t\t\t\tupdateCluster: null\r\n\t\t\t}\r\n\t\t},\r\n\t\tdata: {\r\n\t\t\tfifthLinePath: null,\r\n\t\t\ttimeline: {\r\n\t\t\t\tdetails: [],\r\n\t\t\t\tflag: [],\r\n\t\t\t\tupdateTimeline: null\r\n\t\t\t}\r\n\t\t},\r\n\t\tdataToSolution: {\r\n\t\t\tsixthLinePath: null,\r\n\t\t},\r\n\t\tsolution: {\r\n\t\t\tdna: {\r\n\t\t\t\tdetails: [],\r\n\t\t\t\tflag: [],\r\n\t\t\t\tupdateDna: null\r\n\t\t\t}\r\n\t\t},\r\n\t\tsolutionToOutcome: {\r\n\t\t\tseventhLinePath: null,\r\n\t\t},\r\n\t\toutcome: {\r\n\t\t\teightLinePath: null,\r\n\t\t}\r\n\t};\r\n\tcommonContainer: any = {\r\n\t\tsvg: null,\r\n\t\tparentDivId: \"small-problem-cluster-section\",\r\n\t\toffset: null,\r\n\t\tpathColor: \"#c4c8ce\",\r\n\t\tlineGenerator: null,\r\n\t\tscrollLength: null,\r\n\t\trenderStory: null,\r\n\t\taspectRatio: null,\r\n\t\twindowRequestFrameId: null,\r\n\t\twindowListener: null,\r\n\t\tclusterGroupString: [\"first-path-circle\", \"second-path-circle\", \"third-path-circle\", \"fourth-path-circle\"],\r\n\t\tclusterTooltipClass: [\"one\", \"two\", \"three\", \"four\"],\r\n\t}\r\n\r\n\t//Path, PathScales, Domain\r\n\tpath = {\r\n\t\tproblem: {\r\n\t\t\tfirst: null,\r\n\t\t\tsecond: null,\r\n\t\t\tthird: null,\r\n\t\t\tfourth: null,\r\n\t\t},\r\n\t\tproblemToData: null,\r\n\t\tdata: null,\r\n\t\tdataToSolution: null,\r\n\t\tsolutionToOutcome: null,\r\n\t\tdna: [],\r\n\t\toutcome: []\r\n\t};\r\n\tpathScales = {\r\n\t\tproblem: {\r\n\t\t\tfirst: null,\r\n\t\t\tsecond: null,\r\n\t\t\tthird: null,\r\n\t\t\tfourth: null,\r\n\t\t},\r\n\t\tproblemToData: null,\r\n\t\tdata: null,\r\n\t\tdataToSolution: null,\r\n\t\tsolutionToOutcome: null,\r\n\t\tdna: [],\r\n\t\toutcome: []\r\n\t};\r\n\tdomain = {\r\n\t\tproblem: {\r\n\t\t\tfirst: null,\r\n\t\t\tsecond: null,\r\n\t\t\tthird: null,\r\n\t\t\tfourth: null,\r\n\t\t},\r\n\t\tproblemToData: null,\r\n\t\tdata: null,\r\n\t\tdataToSolution: null,\r\n\t\tsolutionToOutcome: null,\r\n\t\tdna: null,\r\n\t\toutcome: []\r\n\t};\r\n\tprivate _lastHeight: number ;\r\n\r\n\tconstructor(\r\n\t\tprivate renderer: Renderer2,\r\n\t\tprivate smallClusterService: SmallClusterService,\r\n\t\tprivate timelineService: D3EventTimelineService,\r\n\t\tprivate shapesService: D3CustomShapesService,\r\n\t\tprivate plugNPredictRWDService: PlugNPredictRWDService,\r\n private _gaService: GoogleAnalyticsService,\r\n\t\tprivate router: Router,\r\n\t) { }\r\n\t\r\n\tngAfterViewChecked (): void {\r\n const scrollWindowHeight = document.getElementById('scroll-container').offsetHeight;\r\n if (this._lastHeight !== scrollWindowHeight) {\r\n this._lastHeight = scrollWindowHeight;\r\n setTimeout(() => {\r\n this.initializeScales();\r\n }, 500);\r\n }\r\n\t}\r\n\t\r\n\tsetStoryConfiguration = () => {\r\n\t\tthis.windowContentWidth = 1280;\r\n\t\tthis.commonContainer.offset = Math.floor(Number(this.windowContentWidth) / 10);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.windowContentHeight = window.innerHeight;\r\n\t\tthis.setStoryConfiguration();\r\n\t\tthis.renderStoryVisualization();\r\n\t\tthis.renderStory();\r\n\t}\r\n\r\n\tngAfterViewInit() {\r\n\t\tthis.commonContainer.svg\r\n\t\t\t.call(this.responsivefy.bind(this))\r\n\t}\r\n\r\n\tresetPathData() {\r\n\t\tthis.path.dna = [];\r\n\t\tthis.pathScales.dna = [];\r\n\t}\r\n\r\n\tinitializeScales() {\r\n\t\tlet HEIGHT = window.innerHeight;\r\n\t\tlet content = d3.select(\"#content_wrapper\"),\r\n\t\t\theader = d3.select(\"#header\");\r\n\t\tthis.commonContainer.scrollLength = content.node().getBoundingClientRect().height - (HEIGHT - header.node().getBoundingClientRect().height);\r\n\r\n\t\tthis.resetPathData();\r\n\t\tlet tempObject = null, domain = null;\r\n\r\n\r\n\t\tlet scaleValue = (scrollValue) => {\r\n\t\t\tlet { scrollLength, aspectRatio } = this.commonContainer;\r\n\t\t\treturn (scrollLength * scrollValue) / aspectRatio\r\n\t\t}\r\n\r\n\t\t//Get and Set First Path\r\n\t\tlet tempPath = this.commonContainer.svg.select(\"#first-path\");\r\n\t\tthis.path.problem.first = tempPath;\r\n\t\tdomain = {\r\n\t\t\t\"start\": scaleValue(0.018),\r\n\t\t\t\"end\": scaleValue(0.035)\r\n\t\t};\r\n\t\tthis.domain.problem.first = domain;\r\n\t\tthis.pathScales.problem.first = this.setPathScale(this.path.problem.first, domain);\r\n\r\n\t\t//Get and Set Second Path\t\t\r\n\t\ttempPath = this.commonContainer.svg.select(\"#second-path\");\r\n\t\tthis.path.problem.second = tempPath;\r\n\t\tdomain = {\r\n\t\t\t\"start\": scaleValue(0.035),\r\n\t\t\t\"end\": scaleValue(0.05)\r\n\t\t};\r\n\t\tthis.domain.problem.second = domain;\r\n\t\tthis.pathScales.problem.second = this.setPathScale(this.path.problem.second, domain);\r\n\r\n\t\t//Get and Set Third Path\t\t\r\n\t\ttempPath = this.commonContainer.svg.select(\"#third-path\");\r\n\t\tthis.path.problem.third = tempPath;\r\n\t\tdomain = {\r\n\t\t\t\"start\": scaleValue(0.05),\r\n\t\t\t\"end\": scaleValue(0.076)\r\n\t\t};\r\n\t\tthis.domain.problem.third = domain;\r\n\t\tthis.pathScales.problem.third = this.setPathScale(this.path.problem.third, domain);\r\n\r\n\t\t//Get and Set Fourth Path\t\t\r\n\t\ttempPath = this.commonContainer.svg.select(\"#fourth-path\");\r\n\t\tthis.path.problem.fourth = tempPath;\r\n\t\tdomain = {\r\n\t\t\t\"start\": scaleValue(0.076),\r\n\t\t\t\"end\": scaleValue(0.09)\r\n\t\t};\r\n\t\tthis.domain.problem.fourth = domain;\r\n\t\tthis.pathScales.problem.fourth = this.setPathScale(this.path.problem.fourth, domain);\r\n\r\n\t\t//Get and Set Fifth Path -> (Problem to Data)\r\n\t\tthis.path.problemToData = [], this.pathScales.problemToData = [];\r\n\t\tdomain = {\r\n\t\t\t\"start\": scaleValue(0.09),\r\n\t\t\t\"end\": scaleValue(0.136)\r\n\t\t};\r\n\t\tthis.domain.problemToData = domain;\r\n\t\tfor (let index = 0; index < this.categories.length; index++) {\r\n\t\t\ttempPath = this.commonContainer.svg.select(\"#fifth-path-\" + index);\r\n\t\t\tthis.path.problemToData[index] = tempPath;\r\n\t\t\tthis.pathScales.problemToData[index] = this.setPathScale(this.path.problemToData[index], domain);\r\n\t\t}\r\n\r\n\t\tthis.path.data = [], this.pathScales.data = [];\r\n\t\tdomain = {\r\n\t\t\t\"start\": scaleValue(0.136),\r\n\t\t\t\"end\": scaleValue(0.144)\r\n\t\t};\r\n\t\tthis.domain.data = domain;\r\n\t\tlet timelineDomain = d3.scale.linear().domain([domain.start, domain.end]);\r\n\t\tfor (let index = 0; index < this.categories.length; index++) {\r\n\t\t\tthis.pathScales.data[index] = (range) => timelineDomain.range([range.start, range.end]).clamp(true);\r\n\t\t\t// console.log(this.pathScales.data[index])\r\n\t\t\t// console.log(\"this.pathScales.data[index]: \", domain.start, domain.end, this.pathScales.data[index](127)(1470));\r\n\t\t}\r\n\r\n\t\t//Get and Set Sixth Path -> (Data to Solution)\r\n\t\tthis.path.dataToSolution = [], this.pathScales.dataToSolution = [];\r\n\t\tdomain = {\r\n\t\t\t\"start\": scaleValue(0.144),\r\n\t\t\t\"end\": scaleValue(0.2)\r\n\t\t};\r\n\t\tthis.domain.dataToSolution = domain;\r\n\t\tfor (let index = 0; index < this.categories.length; index++) {\r\n\t\t\ttempPath = this.commonContainer.svg.select(\"#sixth-path-\" + index);\r\n\t\t\tthis.path.dataToSolution[index] = tempPath;\r\n\t\t\tthis.pathScales.dataToSolution[index] = this.setPathScale(this.path.dataToSolution[index], domain);\r\n\t\t}\r\n\r\n\t\t//Get Dna Path\r\n\t\tfor (let index = 0; index < 4; index++) {\r\n\t\t\ttempObject = {\r\n\t\t\t\t\"left\": this.commonContainer.svg.select(\"#dna-arc-left-\" + index),\r\n\t\t\t\t\"right\": this.commonContainer.svg.select(\"#dna-arc-right-\" + index)\r\n\t\t\t}\r\n\t\t\tthis.path.dna.push(tempObject);\r\n\t\t}\r\n\r\n\t\t//Set Scale Path\r\n\t\tlet leftPath = null, rightPath = null;\r\n\t\ttempObject = null;\r\n\t\tdomain = {\r\n\t\t\t\"start\": scaleValue(0.199),\r\n\t\t\t\"end\": scaleValue(0.255),\r\n\t\t};\r\n\t\tthis.domain.dna = domain;\r\n\t\tfor (let index = 0; index < 4; index++) {\r\n\t\t\tleftPath = this.path.dna[index].left;\r\n\t\t\trightPath = this.path.dna[index].left;\r\n\t\t\ttempObject = {\r\n\t\t\t\tleft: this.setPathScale(leftPath, domain),\r\n\t\t\t\tright: this.setPathScale(rightPath, domain)\r\n\t\t\t};\r\n\t\t\tthis.pathScales.dna.push(tempObject);\r\n\t\t}\r\n\r\n\t\t//Get and Set Seventh Path -> (Solution To Outcome-1)\r\n\t\tthis.path.solutionToOutcome = [], this.pathScales.solutionToOutcome = [];\r\n\t\tdomain = {\r\n\t\t\t\"start\": scaleValue(0.255),\r\n\t\t\t\"end\": scaleValue(0.28)\r\n\t\t};\r\n\t\tthis.domain.solutionToOutcome = domain;\r\n\t\tfor (let index = 0; index < this.categories.length; index++) {\r\n\t\t\ttempPath = this.commonContainer.svg.select(\"#seventh-path-\" + index);\r\n\t\t\tthis.path.solutionToOutcome[index] = tempPath;\r\n\t\t\tthis.pathScales.solutionToOutcome[index] = this.setPathScale(this.path.solutionToOutcome[index], domain);\r\n\t\t}\r\n\r\n\t\t//Get and Set Outcome Section\r\n\t\tthis.path.outcome = [], this.pathScales.outcome = [];\r\n\t\tdomain = {\r\n\t\t\t\"start\": scaleValue(0.28),\r\n\t\t\t\"end\": scaleValue(0.3)\r\n\t\t};\r\n\t\tthis.domain.outcome = domain;\r\n\t\tfor (let index = 0; index < this.categories.length; index++) {\r\n\t\t\ttempPath = this.commonContainer.svg.select(\"#eight-path-\" + index);\r\n\t\t\tthis.path.outcome[index] = tempPath;\r\n\t\t\tthis.pathScales.outcome[index] = this.setPathScale(this.path.outcome[index], domain);\r\n\t\t}\r\n\t}\r\n\r\n\tsetPathScale(path, domain) {\r\n\t\treturn d3.scale.linear()\r\n\t\t\t.domain([domain.start, domain.end])\r\n\t\t\t.range([0, path.node().getTotalLength()])\r\n\t\t\t.clamp(true);\r\n\t}\r\n\r\n\tinitializeSvgScales() {\r\n\t\tthis.commonContainer.xScale = d3.scale.linear().domain([0, this.commonContainer.offset]).range([0, this.windowContentWidth]);\r\n\t\tthis.commonContainer.lineGenerator = d3.svg.line()\r\n\t\t\t.x((d, i) => {\r\n\t\t\t\treturn this.commonContainer.xScale(d.xCoordinate);\r\n\t\t\t})\r\n\t\t\t.y(function (d) {\r\n\t\t\t\treturn d.yCoordinate;\r\n\t\t\t});\r\n\t}\r\n\r\n\trenderStory() {\r\n\t\t//Initializing Scroll Values\r\n\t\tlet mainContainer = d3.select('#scroll-container');\r\n\t\tlet _scrollTop = 0;\r\n\t\tlet _newScrollTop = 0;\r\n\r\n\t\tmainContainer.on(\"scroll.scroller\", function () {\r\n\t\t\t_newScrollTop = mainContainer.node().scrollTop;\r\n\t\t});\r\n\r\n\t\t//Render the Scrol Event -> Monitor the Scroll Value\r\n\t\tconst render = () => {\r\n\t\t\tif (_scrollTop !== _newScrollTop) {\r\n\t\t\t\t_scrollTop = _newScrollTop;\r\n\t\t\t\tthis.sectionsHolder.problemToData.firstLinePath.updateFirstLinePathLength(_scrollTop);\r\n\t\t\t\tthis.sectionsHolder.problemToData.secondLinePath.updateSecondLinePathLength(_scrollTop);\r\n\t\t\t\tthis.sectionsHolder.problemToData.thirdLinePath.updateThirdLinePathLength(_scrollTop);\r\n\t\t\t\tthis.sectionsHolder.problemToData.fourthLinePath.updateFourthLinePathLength(_scrollTop);\r\n\t\t\t\tthis.sectionsHolder.data.fifthLinePath.updateFifthLinePath(_scrollTop);\r\n\t\t\t\tthis.sectionsHolder.data.timeline.updateTimeline.updateTimelineVisual(_scrollTop);\r\n\t\t\t\tthis.sectionsHolder.dataToSolution.sixthLinePath.updateSixthLinePath(_scrollTop);\r\n\t\t\t\tthis.sectionsHolder.solution.dna.updateDna.animateDnaLinePath(_scrollTop);\r\n\t\t\t\tthis.sectionsHolder.solutionToOutcome.seventhLinePath.updateSeventhLinePath(_scrollTop);\r\n\t\t\t\tthis.sectionsHolder.outcome.eightLinePath.updateEightLinePath(_scrollTop);\r\n\t\t\t}\r\n\t\t\tif (this.commonContainer.windowRequestFrameId) {\r\n\t\t\t\twindow.cancelAnimationFrame(this.commonContainer.windowRequestFrameId);\r\n\t\t\t}\r\n\t\t\tthis.commonContainer.windowRequestFrameId = window.requestAnimationFrame(render);\r\n\t\t}\r\n\t\twindow.requestAnimationFrame(render);\r\n\t}\r\n\r\n\trenderStoryVisualization = () => {\r\n\t\tlet { problem, problemToData, data, dataToSolution, solution, solutionToOutcome, outcome } = this.sectionsHolder;\r\n\r\n\t\tthis.commonContainer.windowListener = this.renderer.listen(window, 'resize', _.debounce(this.initializeScales.bind(this), 700));\r\n\t\tthis.initializeSvgScales();\r\n\t\tthis.initializeSvg();\r\n\t\tproblem.bigCluster.updateCluster = this.initializeCircleCluster()\r\n\t\tproblemToData.firstLinePath = this.renderFirstLinePath();\r\n\t\tproblemToData.secondLinePath = this.renderSecondLinePath();\r\n\t\tproblemToData.thirdLinePath = this.renderThirdLinePath();\r\n\t\tproblemToData.fourthLinePath = this.renderFourthLinePath();\r\n\t\tproblemToData.smallCluster.updateCluster = this.renderSmallProblemCluster();\r\n\t\tdata.fifthLinePath = this.renderFifthLinePath();\r\n\t\tdata.timeline.updateTimeline = this.renderTimeline();\r\n\t\tdataToSolution.sixthLinePath = this.renderSixthLinePath();\r\n\t\tsolution.dna.updateDna = this.renderDna();\r\n\t\tsolutionToOutcome.seventhLinePath = this.renderSeventhLinePath();\r\n\t\toutcome.eightLinePath = this.renderEightLinePath();\r\n\r\n\t\tthis.getUpdatedSvgHeight();\r\n\t}\r\n\r\n\tgetUpdatedSvgHeight() {\r\n\t\tlet eightEndPoints = this.sectionsHolder.outcome.eightLinePath.getEightLineEndPoints();\r\n\t\tlet svgHeight = eightEndPoints[1].yCoordinate;\r\n\r\n\t\tthis.commonContainer.svg.attr({\r\n\t\t\t\"height\": svgHeight + 300\r\n\t\t});\r\n\t}\r\n\r\n\tinitializeSvg() {\r\n\t\tlet svgHeight = 0;\r\n\t\tthis.commonContainer.svg = d3.select(\"#\" + this.commonContainer.parentDivId).append(\"svg\")\r\n\t\t\t.attr({\r\n\t\t\t\t\"width\": this.windowContentWidth,\r\n\t\t\t\t\"height\": svgHeight,\r\n\t\t\t\t\"id\": \"small-problem-cluster-section-master-svg\",\r\n\t\t\t\t\"class\": \"small-problem-cluster-section-master-svg\"\r\n\t\t\t});\r\n\t}\r\n\r\n\tupdateClusterLineShapesAnimation(linePath, pathScale, index, domain, _scrollTop) {\r\n\t\tlet { clusterGroupString } = this.commonContainer;\r\n\t\tlet movingCircles = this.commonContainer.svg.selectAll(\".\" + clusterGroupString[index]);\r\n\t\tmovingCircles.each((value, key) => {\r\n\t\t\tthis.shapePathTween(linePath, pathScale, index, key, clusterGroupString[index], \"many\", domain, _scrollTop);\r\n\t\t})\r\n\t}\r\n\r\n\tshapePathTween(linePath, pathScale, index, key, idString, distanceType, domain, _scrollTop) {\r\n\t\tlet length = linePath.node().getTotalLength(); // Get the length of the path \r\n\t\tlet r = d3.interpolate(0, length); //Set up interpolation from 0 to the path length\r\n\t\tlet distanceOffset = distanceType == \"many\" ? (key) : 1\r\n\t\tlet diffFactorForEachShapes = (pathScale(_scrollTop) == length) ? 0 : (distanceOffset * 40);\r\n\t\tlet divideAdjFactor = length;\r\n\r\n\t\tlet point = linePath.node().getPointAtLength(r(((pathScale(_scrollTop) - diffFactorForEachShapes)) / divideAdjFactor)); // Get the next point along the path\r\n\r\n\t\tif (pathScale(_scrollTop) < 2) {\r\n\t\t\tthis.commonContainer.svg.select(\"#\" + idString + \"-\" + index + \"-\" + key)\r\n\t\t\t\t.attr(\"fill-opacity\", 0)\r\n\t\t} else {\r\n\t\t\tthis.commonContainer.svg.select(\"#\" + idString + \"-\" + index + \"-\" + key)\r\n\t\t\t\t.attr(\"cx\", point.x)\r\n\t\t\t\t.attr(\"cy\", point.y)\r\n\t\t\t\t.attr(\"fill-opacity\", (length - pathScale(_scrollTop)) == 0 ? 0 : 1);\r\n\t\t}\r\n\t}\r\n\r\n\ttansformShape(linePath, pathScale, index, key, idString, distanceType, _scrollTop) {\r\n\t\tlet length = linePath.node().getTotalLength(); // Get the length of the path \r\n\t\tlet r = d3.interpolate(0, length); //Set up interpolation from 0 to the path length\r\n\t\tlet distanceOffset = distanceType == \"many\" ? (key) : 0\r\n\t\tlet diffFactorForEachShapes = (pathScale(_scrollTop) == length) ? 0 : (distanceOffset * 40);\r\n\t\tlet divideAdjFactor = length;\r\n\r\n\t\tlet point = linePath.node().getPointAtLength(r(((pathScale(_scrollTop) - diffFactorForEachShapes)) / divideAdjFactor)); // Get the next point along the path\r\n\r\n\t\tif (pathScale(_scrollTop) < 10) {\r\n\t\t\tthis.commonContainer.svg.select(\"#\" + idString + \"-\" + index + \"-\" + key)\r\n\t\t\t\t.attr(\"fill-opacity\", 0)\r\n\t\t} else {\r\n\t\t\tthis.commonContainer.svg.select(\"#\" + idString + \"-\" + index + \"-\" + key)\r\n\t\t\t\t.attr({\r\n\t\t\t\t\ttransform: \"translate(\" + point.x + \",\" + point.y + \")\",\r\n\t\t\t\t\t\"fill-opacity\": (length - pathScale(_scrollTop)) < 5 ? 0 : 1\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tcreatePath(coordinate, classString, idString, color) {\r\n\t\tthis.commonContainer.svg.append(\"path\")\r\n\t\t\t.attr({\r\n\t\t\t\t'd': this.commonContainer.lineGenerator(coordinate),\r\n\t\t\t\t\"class\": classString,\r\n\t\t\t\t\"id\": idString\r\n\t\t\t})\r\n\t\t\t.style({\r\n\t\t\t\t\"stroke\": color,\r\n\t\t\t\t\"fill\": \"none\",\r\n\t\t\t\t'stroke-dasharray': function (d) {\r\n\t\t\t\t\tvar l = d3.select(this).node().getTotalLength();\r\n\t\t\t\t\treturn l + 'px, ' + l + 'px';\r\n\t\t\t\t},\r\n\t\t\t\t'stroke-dashoffset': function (d) {\r\n\t\t\t\t\treturn d3.select(this).node().getTotalLength() + 'px';\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\trenderFirstLinePath() {\r\n\t\tlet { offset, pathColor, clusterGroupString } = this.commonContainer,\r\n\t\t\tstartingPoints,\r\n\t\t\tline1 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.195,\r\n\t\t\t\t\tyCoordinate: 450\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.195,\r\n\t\t\t\t\tyCoordinate: 600\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\tfirstPathCircleColor = [\"#aaafb5\", \"#aaafb5\", \"#aaafb5\", \"#aaafb5\"],\r\n\t\t\tindex = 0,\r\n\t\t\tfirstFlag = false,\r\n\t\t\ttoggleOpacity = false;\r\n\r\n\t\tlet createFirstPath = () => {\r\n\t\t\tlet lineClassName = \"first-path\", idName;\r\n\t\t\tidName = lineClassName;\r\n\t\t\tthis.createPath(line1, lineClassName, idName, pathColor);\r\n\t\t}\r\n\t\tcreateFirstPath();\r\n\r\n\t\tstartingPoints = line1[0];\r\n\t\tthis.createPathCircle(startingPoints, index, clusterGroupString[index], firstPathCircleColor);\r\n\r\n\t\tlet updateFirstLinePathLength = (_scrollTop) => {\r\n\t\t\tlet path = this.path.problem.first,\r\n\t\t\t\tpathScale = this.pathScales.problem.first;\r\n\r\n\t\t\tlet { updateOpacityOfAllCircles, updateSmallClusterForce, updateClusterTooltip } = this.sectionsHolder.problemToData.smallCluster.updateCluster;\r\n\r\n\t\t\tlet pathTotalLength = path.node().getTotalLength();\r\n\r\n\t\t\tpath\r\n\t\t\t\t.style('stroke-dashoffset', function (d) {\r\n\t\t\t\t\treturn path.node().getTotalLength() - pathScale(_scrollTop) + 'px';\r\n\t\t\t\t});\r\n\t\t\tthis.updateClusterLineShapesAnimation(path, pathScale, index, this.domain.problem.first, _scrollTop);\r\n\r\n\t\t\tif (!firstFlag && pathScale(_scrollTop) == pathTotalLength) {\r\n\t\t\t\tupdateOpacityOfAllCircles(index, 1);\r\n\t\t\t\tupdateSmallClusterForce(index, \"forward\");\r\n\t\t\t\tupdateClusterTooltip(this.commonContainer.clusterTooltipClass[index], true, index);\r\n\t\t\t\tfirstFlag = true;\r\n\t\t\t} else if (firstFlag && pathScale(_scrollTop) < pathTotalLength) {\r\n\t\t\t\tupdateSmallClusterForce(index, \"backward\");\r\n\t\t\t\tupdateOpacityOfAllCircles(index, 0);\r\n\t\t\t\tupdateClusterTooltip(this.commonContainer.clusterTooltipClass[index], false, index);\r\n\t\t\t\tfirstFlag = false;\r\n\t\t\t}\r\n\r\n\t\t\tif (!toggleOpacity && pathScale(_scrollTop) > 0) {\r\n\t\t\t\tthis.sectionsHolder.problem.bigCluster.updateCluster.toggleBigCircleOpacity(1, 0);\r\n\t\t\t\ttoggleOpacity = true;\r\n\t\t\t} else if (toggleOpacity && pathScale(_scrollTop) == 0) {\r\n\t\t\t\tthis.sectionsHolder.problem.bigCluster.updateCluster.toggleBigCircleOpacity(0, 1);\r\n\t\t\t\ttoggleOpacity = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tupdateFirstLinePathLength\r\n\t\t}\r\n\t}\r\n\r\n\trenderSecondLinePath() {\r\n\t\tlet { offset, pathColor, clusterGroupString } = this.commonContainer,\r\n\t\t\tstartingPoints,\r\n\t\t\tline2 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.195,\r\n\t\t\t\t\tyCoordinate: 765\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.195,\r\n\t\t\t\t\tyCoordinate: 900\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.33,\r\n\t\t\t\t\tyCoordinate: 900\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\tsecondPathCircleColor = [\"#faa24c\", \"#faa24c\", \"#aaafb5\", \"#aaafb5\"],\r\n\t\t\tindex = 1,\r\n\t\t\tsecondFlag = false;\r\n\r\n\t\tlet createSecondPath = () => {\r\n\t\t\tlet lineClassName = \"second-path\", idName;\r\n\t\t\tidName = lineClassName;\r\n\t\t\tthis.createPath(line2, lineClassName, idName, pathColor);\r\n\t\t}\r\n\t\tcreateSecondPath();\r\n\t\tstartingPoints = line2[0];\r\n\t\tthis.createPathCircle(startingPoints, index, clusterGroupString[index], secondPathCircleColor);\r\n\r\n\t\tlet updateSecondLinePathLength = (_scrollTop) => {\r\n\t\t\tlet path = this.path.problem.second,\r\n\t\t\t\tpathScale = this.pathScales.problem.second;\r\n\r\n\t\t\tlet { updateOpacityOfAllCircles, updateSmallClusterForce, updateClusterTooltip } = this.sectionsHolder.problemToData.smallCluster.updateCluster;\r\n\r\n\t\t\tlet pathTotalLength = path.node().getTotalLength();\r\n\t\t\tpath\r\n\t\t\t\t.style('stroke-dashoffset', function (d) {\r\n\t\t\t\t\treturn path.node().getTotalLength() - pathScale(_scrollTop) + 'px';\r\n\t\t\t\t});\r\n\t\t\tthis.updateClusterLineShapesAnimation(path, pathScale, index, this.domain.problem.second, _scrollTop);\r\n\r\n\t\t\tif (!secondFlag && pathScale(_scrollTop) == pathTotalLength) {\r\n\t\t\t\tupdateOpacityOfAllCircles(index, 1);\r\n\t\t\t\tupdateSmallClusterForce(index, \"forward\");\r\n\t\t\t\tupdateClusterTooltip(this.commonContainer.clusterTooltipClass[index], true, index);\r\n\t\t\t\tsecondFlag = true;\r\n\t\t\t} else if (secondFlag && pathScale(_scrollTop) < pathTotalLength) {\r\n\t\t\t\tupdateSmallClusterForce(index, \"backward\");\r\n\t\t\t\tupdateOpacityOfAllCircles(index, 0);\r\n\t\t\t\tupdateClusterTooltip(this.commonContainer.clusterTooltipClass[index], false, index);\r\n\t\t\t\tsecondFlag = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tupdateSecondLinePathLength\r\n\t\t}\r\n\t}\r\n\r\n\trenderThirdLinePath() {\r\n\t\tlet { offset, pathColor, clusterGroupString } = this.commonContainer,\r\n\t\t\tstartingPoints,\r\n\t\t\tline3 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.46,\r\n\t\t\t\t\tyCoordinate: 900\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.64,\r\n\t\t\t\t\tyCoordinate: 900\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.64,\r\n\t\t\t\t\tyCoordinate: 1020\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\tthirdPathCircleColor = [\"#39b2ff\", \"#39b2ff\", \"#faa24c\", \"#aaafb5\"],\r\n\t\t\tindex = 2,\r\n\t\t\tthirdFlag = false;\r\n\r\n\t\tlet createThirdPath = () => {\r\n\t\t\tlet lineClassName = \"third-path\", idName;\r\n\t\t\tidName = lineClassName;\r\n\t\t\tthis.createPath(line3, lineClassName, idName, pathColor);\r\n\t\t}\r\n\t\tcreateThirdPath();\r\n\r\n\t\tstartingPoints = line3[0];\r\n\t\tthis.createPathCircle(startingPoints, index, clusterGroupString[index], thirdPathCircleColor);\r\n\r\n\t\tlet updateThirdLinePathLength = (_scrollTop) => {\r\n\t\t\tlet path = this.path.problem.third,\r\n\t\t\t\tpathScale = this.pathScales.problem.third,\r\n\t\t\t\t{ updateOpacityOfAllCircles, updateSmallClusterForce, updateClusterTooltip } = this.sectionsHolder.problemToData.smallCluster.updateCluster,\r\n\t\t\t\tpathTotalLength = path.node().getTotalLength();\r\n\r\n\t\t\tpath\r\n\t\t\t\t.style('stroke-dashoffset', function (d) {\r\n\t\t\t\t\treturn path.node().getTotalLength() - pathScale(_scrollTop) + 'px';\r\n\t\t\t\t});\r\n\t\t\tthis.updateClusterLineShapesAnimation(path, pathScale, index, this.domain.problem.third, _scrollTop);\r\n\r\n\t\t\tif (!thirdFlag && pathScale(_scrollTop) == pathTotalLength) {\r\n\t\t\t\tupdateOpacityOfAllCircles(index, 1);\r\n\t\t\t\tupdateSmallClusterForce(index, \"forward\");\r\n\t\t\t\tupdateClusterTooltip(this.commonContainer.clusterTooltipClass[index], true, index);\r\n\t\t\t\tthirdFlag = true;\r\n\t\t\t} else if (thirdFlag && pathScale(_scrollTop) < pathTotalLength) {\r\n\t\t\t\tupdateSmallClusterForce(index, \"backward\");\r\n\t\t\t\tupdateOpacityOfAllCircles(index, 0);\r\n\t\t\t\tupdateClusterTooltip(this.commonContainer.clusterTooltipClass[index], false, index);\r\n\t\t\t\tthirdFlag = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tupdateThirdLinePathLength\r\n\t\t}\r\n\t}\r\n\r\n\trenderFourthLinePath() {\r\n\t\tlet { offset, pathColor, clusterGroupString } = this.commonContainer,\r\n\t\t\tstartingPoints,\r\n\t\t\tline4 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.71,\r\n\t\t\t\t\tyCoordinate: 1100\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.89,\r\n\t\t\t\t\tyCoordinate: 1100\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.89,\r\n\t\t\t\t\tyCoordinate: 1220\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\tfourthPathCircleColor = [\"#a1be00\", \"#39b2ff\", \"#faa24c\", \"#aaafb5\"],\r\n\t\t\tindex = 3,\r\n\t\t\tfourthFlag = false;\r\n\r\n\t\tlet createFourthPath = () => {\r\n\t\t\tlet lineClassName = \"fourth-path\", idName;\r\n\t\t\tidName = lineClassName;\r\n\t\t\tthis.createPath(line4, lineClassName, idName, pathColor);\r\n\t\t}\r\n\t\tcreateFourthPath();\r\n\r\n\t\tstartingPoints = line4[0];\r\n\t\tthis.createPathCircle(startingPoints, index, clusterGroupString[index], fourthPathCircleColor);\r\n\r\n\t\tlet updateFourthLinePathLength = (_scrollTop) => {\r\n\t\t\tlet path = this.path.problem.fourth,\r\n\t\t\t\tpathScale = this.pathScales.problem.fourth,\r\n\t\t\t\t{ updateOpacityOfAllCircles, updateSmallClusterForce, updateClusterTooltip } = this.sectionsHolder.problemToData.smallCluster.updateCluster,\r\n\t\t\t\tpathTotalLength = path.node().getTotalLength();\r\n\t\t\tpath\r\n\t\t\t\t.style('stroke-dashoffset', function (d) {\r\n\t\t\t\t\treturn path.node().getTotalLength() - pathScale(_scrollTop) + 'px';\r\n\t\t\t\t});\r\n\t\t\tthis.updateClusterLineShapesAnimation(path, pathScale, index, this.domain.problem.fourth, _scrollTop);\r\n\r\n\t\t\tif (!fourthFlag && pathScale(_scrollTop) == pathTotalLength) {\r\n\t\t\t\tupdateOpacityOfAllCircles(index, 1);\r\n\t\t\t\tupdateSmallClusterForce(index, \"forward\");\r\n\t\t\t\tupdateClusterTooltip(this.commonContainer.clusterTooltipClass[index], true, index);\r\n\t\t\t\tfourthFlag = true;\r\n\t\t\t} else if (fourthFlag && pathScale(_scrollTop) < pathTotalLength) {\r\n\t\t\t\tupdateSmallClusterForce(index, \"backward\");\r\n\t\t\t\tupdateOpacityOfAllCircles(index, 0);\r\n\t\t\t\tupdateClusterTooltip(this.commonContainer.clusterTooltipClass[index], false, index);\r\n\t\t\t\tfourthFlag = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tupdateFourthLinePathLength\r\n\t\t}\r\n\t}\r\n\r\n\trenderFifthLinePath() {\r\n\t\tlet { offset, pathColor } = this.commonContainer,\r\n\t\t\tstartingPoints,\r\n\t\t\tline5_1 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.89,\r\n\t\t\t\t\tyCoordinate: 1390\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.89,\r\n\t\t\t\t\tyCoordinate: 1450\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.05,\r\n\t\t\t\t\tyCoordinate: 1450\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.05,\r\n\t\t\t\t\tyCoordinate: 1800\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.20,\r\n\t\t\t\t\tyCoordinate: 1800\r\n\t\t\t\t},],\r\n\t\t\tline5_2 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.89,\r\n\t\t\t\t\tyCoordinate: 1390\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.89,\r\n\t\t\t\t\tyCoordinate: 1450\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.05,\r\n\t\t\t\t\tyCoordinate: 1450\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.05,\r\n\t\t\t\t\tyCoordinate: 1900\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.20,\r\n\t\t\t\t\tyCoordinate: 1900\r\n\t\t\t\t},],\r\n\t\t\tline5_3 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.89,\r\n\t\t\t\t\tyCoordinate: 1390\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.89,\r\n\t\t\t\t\tyCoordinate: 1450\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.05,\r\n\t\t\t\t\tyCoordinate: 1450\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.05,\r\n\t\t\t\t\tyCoordinate: 2000\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.20,\r\n\t\t\t\t\tyCoordinate: 2000\r\n\t\t\t\t},],\r\n\r\n\t\t\tline5_4 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.89,\r\n\t\t\t\t\tyCoordinate: 1390\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.89,\r\n\t\t\t\t\tyCoordinate: 1450\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.05,\r\n\t\t\t\t\tyCoordinate: 1450\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.05,\r\n\t\t\t\t\tyCoordinate: 2100\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.20,\r\n\t\t\t\t\tyCoordinate: 2100\r\n\t\t\t\t},],\r\n\t\t\tfifthPathCircleColor = [\"#d94785\", \"#a1be00\", \"#39b2ff\", \"#faa24c\"],\r\n\t\t\tindex = 4,\r\n\t\t\tfifthFlag = [0, 0, 0, 0];\r\n\r\n\t\tlet line5 = [\r\n\t\t\tline5_1,\r\n\t\t\tline5_2,\r\n\t\t\tline5_3,\r\n\t\t\tline5_4\r\n\t\t]\r\n\t\tlet createFifthPath = () => {\r\n\t\t\tfor (let index = 0; index < line5.length; index++) {\r\n\t\t\t\tlet lineClassName = \"fifth-path\", idName;\r\n\t\t\t\tidName = lineClassName + \"-\" + index;\r\n\t\t\t\tthis.createPath(line5[index], lineClassName, idName, pathColor);\r\n\t\t\t}\r\n\t\t}\r\n\t\tcreateFifthPath();\r\n\r\n\t\tstartingPoints = line5_1[0];\r\n\t\tthis.createPathCircle(startingPoints, index, \"fifth-path-circle\", fifthPathCircleColor);\r\n\r\n\t\tlet updateFifthLinePath = (_scrollTop) => {\r\n\t\t\tlet path = this.path.problemToData,\r\n\t\t\t\tpathScale = this.pathScales.problemToData;\r\n\r\n\t\t\tfor (let index = 0; index < 4; index++) {\r\n\t\t\t\tupdateFifthLinePathLength(path[index], pathScale[index], index, _scrollTop)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet updateFifthLinePathLength = (path, pathScale, index, _scrollTop) => {\r\n\t\t\tlet pathTotalLength = path.node().getTotalLength();\r\n\t\t\tpath\r\n\t\t\t\t.style('stroke-dashoffset', function (d) {\r\n\t\t\t\t\treturn path.node().getTotalLength() - pathScale(_scrollTop) + 'px';\r\n\t\t\t\t});\r\n\t\t\tthis.shapePathTween(path, pathScale, 4, index, \"fifth-path-circle\", \"single\", this.domain.problemToData, _scrollTop);\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tupdateFifthLinePath\r\n\t\t}\r\n\t}\r\n\r\n\trenderTimeline() {\r\n\t\tlet translate = null,\r\n\t\t\ttranslateX = this.commonContainer.xScale(this.commonContainer.offset * 0.20) - 20,\r\n\t\t\tparseDate = d3.time.format(\"%m/%d/%Y\").parse,\r\n\t\t\tyears = ['1/1/2006', '1/1/2007', '1/1/2008', '1/1/2009', '1/1/2010', '1/1/2011', '1/1/2012', '1/1/2013', '1/1/2014', '1/1/2015', '1/1/2016', '1/1/2017'],\r\n\t\t\ttimelineData = [],\r\n\t\t\twidth,\r\n\t\t\theight,\r\n\t\t\ttimelineColors = this.categoriesColor.slice().reverse(),\r\n\t\t\tshapePosition = [];\r\n\r\n\t\twidth = this.commonContainer.xScale(this.commonContainer.offset * 0.65);\r\n\t\theight = 1750;\r\n\r\n\t\ttranslate = {\r\n\t\t\tx: translateX,\r\n\t\t\ty: height\r\n\t\t};\r\n\r\n\t\tlet displayeMessageAt =\r\n\t\t\t[\r\n\t\t\t\t[1, 5, 9],\r\n\t\t\t\t[],\r\n\t\t\t\t[],\r\n\t\t\t\t[4, 2, 9]\r\n\t\t\t],\r\n\t\t\ttimelineIndex = [0, -1, -1, 3],\r\n\t\t\tshapeSize = 750,\r\n\t\t\ttimelineDetails = null;\r\n\r\n\t\tlet createTimeline = (index, width, height, translate, data) => {\r\n\t\t\tlet { details, flag } = this.sectionsHolder.data.timeline;\r\n\t\t\tdetails[index] = {\r\n\t\t\t\tsvg: this.commonContainer.svg,\r\n\t\t\t\tindex,\r\n\t\t\t\twidth,\r\n\t\t\t\theight,\r\n\t\t\t\tdata,\r\n\t\t\t\ttranslate,\r\n\t\t\t\tcategoriesColor: this.categoriesColor,\r\n\t\t\t\ttooltipDivId: this.commonContainer.parentDivId\r\n\t\t\t};\r\n\t\t\tflag[index] = 1;\r\n\t\t}\r\n\r\n\t\tfor (let index = 0; index < 4; index++) {\r\n\t\t\ttranslate = {\r\n\t\t\t\tx: translateX,\r\n\t\t\t\ty: height + (index * 100)\r\n\t\t\t};\r\n\t\t\ttimelineDetails = {\r\n\t\t\t\tshapeTextMessage: [\"Dx\", \"Px\", \"Rx\"],\r\n\t\t\t\ttoolTipMessage: [\"Diagnosis\", \"Prescription\", \"Prognosis\"],\r\n\t\t\t\tdisplayeMessageAt: displayeMessageAt[index],\r\n\t\t\t\ttimelineIndex: timelineIndex[index],\r\n\t\t\t\tshapeSize,\r\n\t\t\t\tshapeTextColor: \"#FFFFFF\"\r\n\t\t\t}\r\n\t\t\tthis.timelineService.createData(index, [\"circle\"], this.categoriesColor, timelineDetails);\r\n\t\t\ttimelineData[index] = this.timelineService.getData(index);\r\n\t\t\tcreateTimeline(index, width, height, translate, timelineData[index]);\r\n\t\t}\r\n\r\n\t\tfunction timeLineAnimation(path, index, direction) {\r\n\t\t\tlet pathTotalLength = path.node().getTotalLength();\r\n\t\t\tdirection = direction || \"forward\";\r\n\t\t\tlet startStrokeDashoffset = direction == \"forward\" ? pathTotalLength : 0;\r\n\t\t\tlet endStrokeDashoffset = direction == \"forward\" ? 0 : pathTotalLength;\r\n\r\n\t\t\tpath\r\n\t\t\t\t.style({\r\n\t\t\t\t\t\"stroke\": timelineColors[index]\r\n\t\t\t\t})\r\n\t\t\t\t.attr({\r\n\t\t\t\t\t\"stroke-dasharray\": pathTotalLength + \" \" + pathTotalLength,\r\n\t\t\t\t\t\"stroke-dashoffset\": startStrokeDashoffset\r\n\t\t\t\t})\r\n\t\t\t\t.transition()\r\n\t\t\t\t.duration(400)\r\n\t\t\t\t.ease(\"linear\")\r\n\t\t\t\t.attr(\"stroke-dashoffset\", endStrokeDashoffset); // Set to pathTotalLength for reverse animation \r\n\t\t}\r\n\r\n\t\tlet circleXPosition = [[], [], [], []];\r\n\r\n\t\tlet showTimelineActivityTooltip = (index, key, visibilityFlag = true) => {\r\n\t\t\tconst { aspectRatio } = this.commonContainer;\r\n\t\t\tlet div = d3.select('#timeline-tooltip-' + index + \"-\" + key),\r\n\t\t\t\tshape = d3.select('#date_timeline_shapes_' + index + \"_\" + key),\r\n\t\t\t\tshapeBoundingRect = shape.node().getBoundingClientRect(),\r\n\t\t\t\trect = this.commonContainer.svg.select(\"#fifth-path-\" + index).node().getBoundingClientRect();\r\n\r\n\t\t\tdiv.style({\r\n\t\t\t\t\"left\": ((shapeBoundingRect.left + shapeBoundingRect.width / 2) - (div.node().offsetWidth / 2)) + \"px\",\r\n\t\t\t\t\"top\": ((rect.height * (index == 0 ? 1.302 : 0.882)) / aspectRatio) + \"px\",\r\n\t\t\t});\r\n\t\t\tif (visibilityFlag) {\r\n div.style(\"visibility\", \"visible\");\r\n }\r\n\t\t}\r\n\r\n\t\tlet hideTimelineActivityTooltip = (index, key) => {\r\n\t\t\tlet div = d3.select('#timeline-tooltip-' + index + \"-\" + key);\r\n\t\t\tdiv.style({\r\n\t\t\t\t\"visibility\": \"hidden\"\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tlet showTimelineShapeText = (index, data, key) => {\r\n\t\t\tlet div = d3.select('#timeline-node-text-' + index + \"-\" + key);\r\n\t\t\tdiv\r\n\t\t\t\t.attr({\r\n\t\t\t\t\t\"x\": circleXPosition[index][key] - (data.shapeText.length * 4),\r\n\t\t\t\t\t\"y\": () => {\r\n\t\t\t\t\t\tlet y = div.attr(\"y\");\r\n\t\t\t\t\t\treturn Number(y) + 5;\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"font-weight\": \"bold\",\r\n\t\t\t\t\t\"font-size\": \"16px\",\r\n\t\t\t\t\t\"fill\": data.shapeTextColor\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tlet hideTimelineShapeText = (index, key) => {\r\n\t\t\tlet div = d3.select('#timeline-node-text-' + index + \"-\" + key);\r\n\t\t\tdiv\r\n\t\t\t\t.attr({\r\n\t\t\t\t\t\"fill\": \"transparent\",\r\n\t\t\t\t\t\"y\": () => {\r\n\t\t\t\t\t\tlet y = div.attr(\"y\");\r\n\t\t\t\t\t\treturn Number(y) - 5;\r\n\t\t\t\t\t},\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tlet configureTooltipPosition = () => {\r\n\t\t\tlet index = [0, 3], subIndex = [[0, 4, 8], [3, 1, 8]];\r\n\r\n\t\t\tfor (let i = 0; i < index.length; i++) {\r\n\t\t\t\tfor (let j = 0; j < subIndex[i].length; j++) {\r\n\t\t\t\t\tshowTimelineActivityTooltip(index[i], subIndex[i][j], false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tlet range = {\r\n\t\t\tstart: 50,\r\n\t\t\tend: 0\r\n\t\t}\r\n\t\tlet updateTimelineVisual = (_scrollTop) => {\r\n\t\t\tfor (let index = 0; index < 4; index++) {\r\n\t\t\t\tconfigTimelineAnimation(index, _scrollTop);\r\n\t\t\t\tupdateTimelineShapes(index, _scrollTop)\r\n\t\t\t}\r\n\t\t}\r\n\t\tlet timelineFlag = [0, 0, 0, 0];\r\n\t\tlet configTimelineAnimation = (index, _scrollTop) => {\r\n\t\t\tlet centerPath = this.commonContainer.svg.select(\"#date_timeline_center_path_\" + index);\r\n\t\t\tlet length = centerPath.node().getTotalLength();\r\n\t\t\trange.end = length;\r\n\r\n\t\t\tif (this.pathScales.data[index](range)(_scrollTop) > range.start && !timelineFlag[index]) {\r\n\t\t\t\ttimeLineAnimation(this.commonContainer.svg.select(\"#date_timeline_\" + index), index, \"forward\");\r\n\t\t\t\ttimelineFlag[index] = 1;\r\n\t\t\t} else if (this.pathScales.data[index](range)(_scrollTop) == range.start && timelineFlag[index]) {\r\n\t\t\t\ttimeLineAnimation(this.commonContainer.svg.select(\"#date_timeline_\" + index), index, \"backward\");\r\n\t\t\t\ttimelineFlag[index] = 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet updateTimelineShapes = (index, _scrollTop) => {\r\n\t\t\tif (!shapePosition[index]) {\r\n\t\t\t\tshapePosition[index] = [];\r\n\t\t\t\tif (shapePosition[index].length == 0) {\r\n\t\t\t\t\tshapePosition[index] = this.timelineService.getShapePosition();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlet timelineShapes = this.commonContainer.svg.selectAll(\".date_timeline_shapes_\" + index);\r\n\t\t\ttimelineShapes.each((d, key) => {\r\n\t\t\t\tupdateTimelineContentPosition(index, key, d, _scrollTop)\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tlet updateTimelineContentPosition = (index, key, data, _scrollTop) => {\r\n\t\t\tlet shape = this.commonContainer.svg.select(\"#date_timeline_shapes_\" + index + \"_\" + key);\r\n\t\t\trange.end = shapePosition[index][key];\r\n\t\t\tlet opacityRange = {\r\n\t\t\t\tstart: 0,\r\n\t\t\t\tend: 1\r\n\t\t\t}\r\n\t\t\tlet getXPosition = this.pathScales.data[index](range)(_scrollTop);\r\n\t\t\tlet string = shape.attr(\"transform\"),\r\n\t\t\t\ttranslate = string.substring(string.indexOf(\"(\") + 1, string.indexOf(\")\")).split(\",\"),\r\n\t\t\t\ttranslateShape = {\r\n\t\t\t\t\tx: getXPosition,\r\n\t\t\t\t\ty: Number(translate[1])\r\n\t\t\t\t}\r\n\r\n\t\t\tshape\r\n\t\t\t\t.attr(\"transform\", \"translate(\" + translateShape.x + \", \" + translateShape.y + \")\")\r\n\t\t\t\t.style('fill-opacity', this.pathScales.data[index](opacityRange)(_scrollTop))\r\n\r\n\t\t\t//Node Text and Tooltip Manipulation\r\n\t\t\tif (getXPosition == shapePosition[index][key]) {\r\n\t\t\t\tif (data.showTooltip && !data.isTooltipDisplayed) {\r\n\t\t\t\t\tdata.isTooltipDisplayed = true;\r\n\t\t\t\t\tshowTimelineActivityTooltip(index, key);\r\n\t\t\t\t}\r\n\t\t\t\tif (data.shapeText && !data.isNodeTextDisplayed) {\r\n\t\t\t\t\tcircleXPosition[index][key] = getXPosition;\r\n\t\t\t\t\tdata.isNodeTextDisplayed = true;\r\n\t\t\t\t\tshowTimelineShapeText(index, data, key);\r\n\t\t\t\t}\r\n\t\t\t} else if (getXPosition != shapePosition[index][key]) {\r\n\t\t\t\tif (data.isTooltipDisplayed) {\r\n\t\t\t\t\tdata.isTooltipDisplayed = false;\r\n\t\t\t\t\thideTimelineActivityTooltip(index, key);\r\n\t\t\t\t}\r\n\t\t\t\tif (data.isNodeTextDisplayed) {\r\n\t\t\t\t\tdata.isNodeTextDisplayed = false;\r\n\t\t\t\t\thideTimelineShapeText(index, key);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tconfigureTooltipPosition,\r\n\t\t\tupdateTimelineVisual\r\n\t\t}\r\n\t}\r\n\r\n\trenderSixthLinePath() {\r\n\t\tlet { offset, pathColor } = this.commonContainer,\r\n\t\t\tsixthLineEndPoints,\r\n\t\t\tsixthLineStartPoints,\r\n\t\t\tline6_1 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.82,\r\n\t\t\t\t\tyCoordinate: 1800\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.95,\r\n\t\t\t\t\tyCoordinate: 1800\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.95,\r\n\t\t\t\t\tyCoordinate: 2560\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.17,\r\n\t\t\t\t\tyCoordinate: 2560\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.17,\r\n\t\t\t\t\tyCoordinate: 2650\r\n\t\t\t\t},],\r\n\t\t\tline6_2 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.82,\r\n\t\t\t\t\tyCoordinate: 1900\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.95,\r\n\t\t\t\t\tyCoordinate: 1900\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.95,\r\n\t\t\t\t\tyCoordinate: 2560\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.39,\r\n\t\t\t\t\tyCoordinate: 2560\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.39,\r\n\t\t\t\t\tyCoordinate: 2650\r\n\t\t\t\t},],\r\n\t\t\tline6_3 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.82,\r\n\t\t\t\t\tyCoordinate: 2000\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.95,\r\n\t\t\t\t\tyCoordinate: 2000\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.95,\r\n\t\t\t\t\tyCoordinate: 2560\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.61,\r\n\t\t\t\t\tyCoordinate: 2560\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.61,\r\n\t\t\t\t\tyCoordinate: 2650\r\n\t\t\t\t},],\r\n\t\t\tline6_4 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.82,\r\n\t\t\t\t\tyCoordinate: 2100\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.95,\r\n\t\t\t\t\tyCoordinate: 2100\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.95,\r\n\t\t\t\t\tyCoordinate: 2560\r\n\t\t\t\t}, {\r\n\t\t\t\t\txCoordinate: offset * 0.83,\r\n\t\t\t\t\tyCoordinate: 2560\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.83,\r\n\t\t\t\t\tyCoordinate: 2650\r\n\t\t\t\t},],\r\n\t\t\tsixthPathCircleColor = [\"#d94785\", \"#a1be00\", \"#39b2ff\", \"#faa24c\"],\r\n\t\t\tsixthPathShape = [\"square\", \"square\", \"square\", \"square\"];\r\n\r\n\t\tlet line6 = [\r\n\t\t\tline6_1,\r\n\t\t\tline6_2,\r\n\t\t\tline6_3,\r\n\t\t\tline6_4\r\n\t\t];\r\n\r\n\t\tlet createSixthPath = () => {\r\n\t\t\tfor (let index = 0; index < line6.length; index++) {\r\n\t\t\t\tlet lineClassName = \"sixth-path\", idName;\r\n\t\t\t\tidName = lineClassName + \"-\" + index;\r\n\t\t\t\tthis.createPath(line6[index], lineClassName, idName, pathColor);\r\n\t\t\t}\r\n\t\t}\r\n\t\tcreateSixthPath();\r\n\r\n\t\tsixthLineStartPoints = [\r\n\t\t\tline6_1[0],\r\n\t\t\tline6_2[0],\r\n\t\t\tline6_3[0],\r\n\t\t\tline6_4[0]\r\n\t\t];\r\n\r\n\t\tthis.createShapes(sixthLineStartPoints, 5, \"sixth-path-circle\", sixthPathCircleColor, sixthPathShape, 150);\r\n\r\n\t\tlet getSixthLineEndPoints = () => {\r\n\t\t\tsixthLineEndPoints = [\r\n\t\t\t\tline6_1[line6_1.length - 1],\r\n\t\t\t\tline6_2[line6_2.length - 1],\r\n\t\t\t\tline6_3[line6_3.length - 1],\r\n\t\t\t\tline6_4[line6_4.length - 1],\r\n\t\t\t];\r\n\t\t\treturn sixthLineEndPoints;\r\n\t\t}\r\n\r\n\t\tlet updateSixthLinePath = (_scrollTop) => {\r\n\t\t\tlet path = this.path.dataToSolution,\r\n\t\t\t\tpathScale = this.pathScales.dataToSolution;\r\n\r\n\t\t\tfor (let index = 0; index < 4; index++) {\r\n\t\t\t\tupdateSixthLinePathLength(path[index], pathScale[index], index, _scrollTop)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet updateSixthLinePathLength = (path, pathScale, index, _scrollTop) => {\r\n\t\t\tpath\r\n\t\t\t\t.style('stroke-dashoffset', function (d) {\r\n\t\t\t\t\treturn path.node().getTotalLength() - pathScale(_scrollTop) + 'px';\r\n\t\t\t\t});\r\n\t\t\tthis.tansformShape(path, pathScale, 5, index, \"sixth-path-circle\", \"single\", _scrollTop);\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tgetSixthLineEndPoints,\r\n\t\t\tupdateSixthLinePath\r\n\t\t}\r\n\t}\r\n\r\n\trenderDna() {\r\n\t\tlet dnaIdString = \"dna-arc\",\r\n\t\t\twidth,\r\n\t\t\theight,\r\n\t\t\ttranslate,\r\n\t\t\tdnaTranslate = [],\r\n\t\t\tdnaArc = {\r\n\t\t\t\tleft: {\r\n\t\t\t\t\tside: \"left\",\r\n\t\t\t\t\tblockShapeString: \"left-shapes-\",\r\n\t\t\t\t\tshapeString: \"dna-left-moving-shapes-\"\r\n\t\t\t\t},\r\n\t\t\t\tright: {\r\n\t\t\t\t\tside: \"right\",\r\n\t\t\t\t\tblockShapeString: \"right-shapes-\",\r\n\t\t\t\t\tshapeString: \"dna-right-moving-shapes-\"\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\tdnaTranslate = this.sectionsHolder.dataToSolution.sixthLinePath.getSixthLineEndPoints();\r\n\r\n\t\tlet createDna = (index, width, height, translate, idString) => {\r\n\t\t\tlet { details, flag } = this.sectionsHolder.solution.dna;\r\n\t\t\tdetails[index] = {\r\n\t\t\t\tsvg: this.commonContainer.svg,\r\n\t\t\t\tcontainer: null,\r\n\t\t\t\twidth: width,\r\n\t\t\t\theight: height,\r\n\t\t\t\tindex: index,\r\n\t\t\t\tdata: [],\r\n\t\t\t\tcategories: this.categories.slice().reverse(),\r\n\t\t\t\tcategoriesColor: this.categoriesColor.slice().reverse(),\r\n\t\t\t\tshapes: [\"hexagoan\", \"square\", \"triangleDown\", \"star\"].reverse(),\r\n\t\t\t\ttranslate: translate,\r\n\t\t\t\tidString: idString\r\n\t\t\t};\r\n\t\t\tflag[index] = 1;\r\n\t\t}\r\n\r\n\t\t//function to create Multiple Dna\r\n\t\tfor (let index = 0; index < 4; index++) {\r\n\t\t\twidth = 150,\r\n\t\t\t\theight = 650,\r\n\t\t\t\ttranslate = {\r\n\t\t\t\t\tx: this.commonContainer.xScale(dnaTranslate[index].xCoordinate) - (width / 2),\r\n\t\t\t\t\ty: dnaTranslate[index].yCoordinate - 40\r\n\t\t\t\t},\r\n\t\t\t\tcreateDna(index, width, height, translate, dnaIdString);\r\n\t\t}\r\n\r\n\t\tlet animateDnaLinePath = (_scrollTop) => {\r\n\t\t\tfor (let secondIndex = 0; secondIndex < 4; secondIndex++) {\r\n\t\t\t\tupdateDnaArcPathLength(this.path.dna[secondIndex].left, this.pathScales.dna[secondIndex].left, secondIndex, dnaArc.left.side, _scrollTop);\r\n\t\t\t\tupdateDnaArcPathLength(this.path.dna[secondIndex].right, this.pathScales.dna[secondIndex].right, secondIndex, dnaArc.right.side, _scrollTop);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet updateDnaArcPathLength = (path, pathScale, index, arcSide, _scrollTop) => {\r\n\t\t\tpath\r\n\t\t\t\t.style('stroke-dashoffset', function (d) {\r\n\t\t\t\t\tupdateDnaShapesAnimation(path, pathScale, index, arcSide, _scrollTop);\r\n\t\t\t\t\tif (pathScale(_scrollTop) <= 10) {\r\n\t\t\t\t\t\thideShapes(arcSide, index);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn path.node().getTotalLength() - pathScale(_scrollTop) + 'px';\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tlet updateDnaShapesAnimation = (path, pathScale, index, arcSide, _scrollTop) => {\r\n\t\t\tlet movingShapes = this.commonContainer.svg.selectAll(\".\" + dnaArc[arcSide].blockShapeString + index);\r\n\t\t\tmovingShapes\r\n\t\t\t\t.attr(\"fill-opacity\", 1)\r\n\t\t\t\t.each(function (d, key) {\r\n\t\t\t\t\tdnaShapesPathTween(path, pathScale, index, key, arcSide, _scrollTop);\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tlet dnaShapesPathTween = (linePath, pathScale, index, key, arcSide, _scrollTop) => {\r\n\t\t\tlet length = linePath.node().getTotalLength();\r\n\t\t\tlet r = d3.interpolate(0, length);\r\n\t\t\tlet diffFactorForEachShapes = key * 25;\r\n\t\t\tlet divideAdjFactor = length;\r\n\t\t\tlet point = linePath.node().getPointAtLength(r(((pathScale(_scrollTop) - diffFactorForEachShapes)) / divideAdjFactor)); // Get the next point along the path\r\n\r\n\t\t\tthis.commonContainer.svg.select(\"#\" + dnaArc[arcSide].shapeString + index + \"-\" + key)\r\n\t\t\t\t.attr(\"transform\", \"translate(\" + point.x + \", \" + point.y + \")\")\r\n\t\t}\r\n\r\n\t\tlet hideShapes = (type, index) => {\r\n\t\t\tlet movingShapes = this.commonContainer.svg.selectAll(\".\" + type + \"-shapes-\" + index);\r\n\t\t\tmovingShapes\r\n\t\t\t\t.attr(\"fill-opacity\", 0);\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tanimateDnaLinePath\r\n\t\t}\r\n\t}\r\n\r\n\trenderSeventhLinePath() {\r\n\t\tlet { offset, pathColor } = this.commonContainer,\r\n\t\t\tseventhLineEndPoints,\r\n\t\t\tseventhLineStartingPoints,\r\n\t\t\tline7_1 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.17,\r\n\t\t\t\t\tyCoordinate: 3240\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.17,\r\n\t\t\t\t\tyCoordinate: 3350\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.50,\r\n\t\t\t\t\tyCoordinate: 3350\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.50,\r\n\t\t\t\t\tyCoordinate: 3550\r\n\t\t\t\t}],\r\n\t\t\tline7_2 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.39,\r\n\t\t\t\t\tyCoordinate: 3240\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.39,\r\n\t\t\t\t\tyCoordinate: 3350\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.50,\r\n\t\t\t\t\tyCoordinate: 3350\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.50,\r\n\t\t\t\t\tyCoordinate: 3550\r\n\t\t\t\t},],\r\n\t\t\tline7_3 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.61,\r\n\t\t\t\t\tyCoordinate: 3240\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.61,\r\n\t\t\t\t\tyCoordinate: 3350\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.50,\r\n\t\t\t\t\tyCoordinate: 3350\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.50,\r\n\t\t\t\t\tyCoordinate: 3550\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tline7_4 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.83,\r\n\t\t\t\t\tyCoordinate: 3240\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.83,\r\n\t\t\t\t\tyCoordinate: 3350\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.50,\r\n\t\t\t\t\tyCoordinate: 3350\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.50,\r\n\t\t\t\t\tyCoordinate: 3550\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tseventhPathCircleColor = [\"#d94785\", \"#a1be00\", \"#39b2ff\", \"#faa24c\"],\r\n\t\t\tseventhPathShape = [\"hexagoan\", \"square\", \"triangleDown\", \"star\"],\r\n\t\t\teightHeaderFlag = false;\r\n\r\n\t\tlet line7 = [\r\n\t\t\tline7_1,\r\n\t\t\tline7_2,\r\n\t\t\tline7_3,\r\n\t\t\tline7_4\r\n\t\t];\r\n\r\n\t\tseventhLineEndPoints = [\r\n\t\t\tline7_1[line7_1.length - 1],\r\n\t\t\tline7_2[line7_2.length - 1],\r\n\t\t\tline7_3[line7_3.length - 1],\r\n\t\t\tline7_4[line7_4.length - 1],\r\n\t\t];\r\n\r\n\t\tlet createSeventhPath = () => {\r\n\t\t\tfor (let index = 0; index < line7.length; index++) {\r\n\t\t\t\tlet lineClassName = \"seventh-path\", idName;\r\n\t\t\t\tidName = lineClassName + \"-\" + index;\r\n\t\t\t\tthis.createPath(line7[index], lineClassName, idName, pathColor);\r\n\t\t\t}\r\n\t\t}\r\n\t\tcreateSeventhPath();\r\n\r\n\t\tseventhLineStartingPoints = [\r\n\t\t\tline7_1[0],\r\n\t\t\tline7_2[0],\r\n\t\t\tline7_3[0],\r\n\t\t\tline7_4[0]\r\n\t\t];\r\n\r\n\t\tthis.shuffleArray(seventhPathShape);\r\n\t\tthis.createShapes(seventhLineStartingPoints, 6, \"seventh-path-shapes\", seventhPathCircleColor, seventhPathShape, 150);\r\n\r\n\t\tlet getSeventhLineEndPoints = () => {\r\n\t\t\treturn seventhLineEndPoints;\r\n\t\t}\r\n\r\n\t\tlet updateSeventhLinePath = (_scrollTop) => {\r\n\t\t\tlet path = this.path.solutionToOutcome,\r\n\t\t\t\tpathScale = this.pathScales.solutionToOutcome;\r\n\t\t\tfor (let index = 0; index < 4; index++) {\r\n\t\t\t\tupdateSeventhLinePathLength(path[index], pathScale[index], index, _scrollTop)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet updateSeventhLinePathLength = (path, pathScale, index, _scrollTop) => {\r\n\t\t\tpath\r\n\t\t\t\t.style('stroke-dashoffset', function (d) {\r\n\t\t\t\t\treturn path.node().getTotalLength() - pathScale(_scrollTop) + 'px';\r\n\t\t\t\t});\r\n\t\t\tthis.tansformShape(path, pathScale, 6, index, \"seventh-path-shapes\", \"single\", _scrollTop);\r\n\r\n\t\t\tif ((path.node().getTotalLength() - pathScale(_scrollTop)) < 80 && !eightHeaderFlag) {\r\n\t\t\t\teightHeaderFlag = true;\r\n\t\t\t\tlet group = d3.select(\"#outcome-initial-block\")\r\n\t\t\t\tgroup\r\n\t\t\t\t\t.transition()\r\n\t\t\t\t\t.duration(50)\r\n\t\t\t\t\t.ease(\"linear\")\r\n\t\t\t\t\t.style({ opacity: 1 });\r\n\t\t\t} else if ((path.node().getTotalLength() - pathScale(_scrollTop)) >= 80 && eightHeaderFlag) {\r\n\t\t\t\teightHeaderFlag = false;\r\n\t\t\t\td3.select(\"#outcome-initial-block\")\r\n\t\t\t\t\t.transition()\r\n\t\t\t\t\t.duration(100)\r\n\t\t\t\t\t.ease(\"linear\")\r\n\t\t\t\t\t.style({ opacity: 0 });\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tgetSeventhLineEndPoints,\r\n\t\t\tupdateSeventhLinePath\r\n\t\t}\r\n\t}\r\n\r\n\tshuffleArray = (array) => {\r\n\t\tarray.sort(() => Math.random() - 0.5);\r\n\t}\r\n\r\n\trenderEightLinePath() {\r\n\t\tlet { offset } = this.commonContainer,\r\n\t\t\tseventhPathEndPoints,\r\n\t\t\teightLineEndPoints,\r\n\t\t\teightShapePathColor = [\"#6bc9d5\", \"#bfc66a\", \"#deb76e\", \"#7389dc\"],\r\n\t\t\tline8_1 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.50,\r\n\t\t\t\t\tyCoordinate: 3550\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.11,\r\n\t\t\t\t\tyCoordinate: 3650\r\n\t\t\t\t},\r\n\t\t\t],\r\n\r\n\t\t\tline8_2 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.50,\r\n\t\t\t\t\tyCoordinate: 3550\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.37,\r\n\t\t\t\t\tyCoordinate: 3800\r\n\t\t\t\t},\r\n\t\t\t],\r\n\r\n\t\t\tline8_3 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.50,\r\n\t\t\t\t\tyCoordinate: 3550\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.63,\r\n\t\t\t\t\tyCoordinate: 3800\r\n\t\t\t\t},\r\n\t\t\t],\r\n\r\n\t\t\tline8_4 = [\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.50,\r\n\t\t\t\t\tyCoordinate: 3550\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\txCoordinate: offset * 0.89,\r\n\t\t\t\t\tyCoordinate: 3650\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\teightGradientFlag = false,\r\n\t\t\teightNodeFlag = [0, 0, 0, 0];\r\n\r\n\t\tlet line8 = [\r\n\t\t\tline8_1,\r\n\t\t\tline8_2,\r\n\t\t\tline8_3,\r\n\t\t\tline8_4\r\n\t\t];\r\n\r\n\t\tlet createEightPath = (colorCode) => {\r\n\t\t\tfor (let index = 0; index < line8.length; index++) {\r\n\t\t\t\tthis.commonContainer.svg.append(\"path\")\r\n\t\t\t\t\t.attr({\r\n\t\t\t\t\t\t'd': this.commonContainer.lineGenerator(line8[index]),\r\n\t\t\t\t\t\t\"id\": \"eight-path-\" + (index),\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.style({\r\n\t\t\t\t\t\t\"stroke\": colorCode[index],\r\n\t\t\t\t\t\t\"stroke-width\": \"3px\",\r\n\t\t\t\t\t\t\"fill\": \"none\",\r\n\t\t\t\t\t\t\"stroke-dasharray\": function (d) {\r\n\t\t\t\t\t\t\tvar l = d3.select(this).node().getTotalLength();\r\n\t\t\t\t\t\t\treturn l + 'px, ' + l + 'px';\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"stroke-dashoffset\": function (d) {\r\n\t\t\t\t\t\t\treturn d3.select(this).node().getTotalLength() + 'px';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\tcreateEightPath(eightShapePathColor);\r\n\r\n\t\teightLineEndPoints = [\r\n\t\t\tline8_1[line8_1.length - 1],\r\n\t\t\tline8_2[line8_2.length - 1],\r\n\t\t\tline8_3[line8_3.length - 1],\r\n\t\t\tline8_4[line8_4.length - 1],\r\n\t\t];\r\n\r\n\t\tlet outcomeTitleGroup,\r\n\t\t\tgroupHeader,\r\n\t\t\theaderTextYPosition,\r\n\t\t\toutcomeInitialText,\r\n\t\t\tgroupHeaderText,\r\n\t\t\toutcomeNodeBlock,\r\n\t\t\tnodeTextYPosition,\r\n\t\t\tnodeTextContent = [\r\n\t\t\t\t[\"15%\", \"Lift\"],\r\n\t\t\t\t[\"20%\", \"Lift\"],\r\n\t\t\t\t[\"10%\", \"Lift\"],\r\n\t\t\t\t[\"15%\", \"Lift\"]],\r\n\t\t\t\t// [\r\n\t\t\t\t// \t[\"2.5x\", \"Lift\"],\r\n\t\t\t\t// \t[\"3x\", \"Lift\"],\r\n\t\t\t\t// \t[\"1.8x\", \"Lift\"],\r\n\t\t\t\t// \t[\"1.8x\", \"Lift\"]]\r\n\t\t\tnodeTextClass = ['outcome-node-count', \"outcome-node-text\"],\r\n\t\t\toutcomeNodeSection,\r\n\t\t\toutcomeInnerNodeSection,\r\n\t\t\toutcomeNodeTextSvg;\r\n\r\n\t\t//Appending Outcome Header Text\r\n\t\toutcomeTitleGroup = this.commonContainer.svg.append('g')\r\n\t\t\t.attr({\r\n\t\t\t\tid: \"outcome-title\"\r\n\t\t\t});\r\n\r\n\t\tseventhPathEndPoints = this.sectionsHolder.solutionToOutcome.seventhLinePath.getSeventhLineEndPoints();\r\n\t\tlet xMidPoint = this.commonContainer.xScale(seventhPathEndPoints[0].xCoordinate);\r\n\r\n\t\toutcomeTitleGroup\r\n\t\t\t.append(\"rect\")\r\n\t\t\t.attr({\r\n\t\t\t\tid: \"outcome-title-rect\",\r\n\t\t\t\twidth: 202,\r\n\t\t\t\theight: 53,\r\n\t\t\t\tx: xMidPoint - (202 / 2),\r\n\t\t\t\ty: seventhPathEndPoints[0].yCoordinate - 155 - (53 / 2),\r\n\t\t\t})\r\n\t\t\t.style({\r\n\t\t\t\tfill: \"#FFF\"\r\n\t\t\t});\r\n\r\n\t\toutcomeTitleGroup\r\n\t\t\t.append(\"text\")\r\n\t\t\t.attr({\r\n\t\t\t\t// id: \"outcomes\",\r\n\t\t\t\tx: xMidPoint,\r\n\t\t\t\ty: seventhPathEndPoints[0].yCoordinate - 155,\r\n\t\t\t\t\"text-anchor\": \"middle\",\r\n\t\t\t\t\"alignment-baseline\": \"central\",\r\n\t\t\t})\r\n\t\t\t.text(\"Outcomes\");\r\n\r\n\t\t// Outcome initial Circle\t\t\r\n\t\tgroupHeader = this.commonContainer.svg.append('g')\r\n\t\t\t.attr({\r\n\t\t\t\tid: \"outcome-initial-block\"\r\n\t\t\t})\r\n\t\t\t.style({ opacity: 0 });\r\n\r\n\t\tgroupHeader\r\n\t\t\t.append('circle')\r\n\t\t\t.attr({\r\n\t\t\t\tid: \"outcome-initial-cirlce-bg\",\r\n\t\t\t\tcx: xMidPoint,\r\n\t\t\t\tcy: seventhPathEndPoints[0].yCoordinate,\r\n\t\t\t\tfill: \"#FFFF\",\r\n\t\t\t\tstroke: \"none\",\r\n\t\t\t\tr: 108\r\n\t\t\t});\r\n\r\n\t\t//Appending Outcome Header Circle\r\n\t\tgroupHeader\r\n\t\t\t.append('circle')\r\n\t\t\t.attr({\r\n\t\t\t\tid: \"outcome-initial-cirlce\",\r\n\t\t\t\tcx: xMidPoint,\r\n\t\t\t\tcy: seventhPathEndPoints[0].yCoordinate,\r\n\t\t\t\tfill: \"#136798\",\r\n\t\t\t\tstroke: \"none\",\r\n\t\t\t\tr: 95\r\n\t\t\t});\r\n\r\n\t\t//Appending Outcome Header Text\t\t\r\n\t\t// outcomeInitialText = [\"4x\", \"faster feature\", \"engineering and\", \"modelling\"]\r\n\t\toutcomeInitialText = [\"50-70%\", \"reduction in feature\", \"engineering and\", \"modelling time\"], headerTextYPosition = seventhPathEndPoints[0].yCoordinate - 35;\r\n\t\tgroupHeaderText = groupHeader\r\n\t\t\t.append('text')\r\n\t\t\t.attr({\r\n\t\t\t\tx: xMidPoint,\r\n\t\t\t\ty: headerTextYPosition,\r\n\t\t\t\tfill: \"#FFF\",\r\n\t\t\t\t\"text-anchor\": \"middle\",\r\n\t\t\t\t\"alignment-baseline\": \"central\",\r\n\t\t\t});\r\n\r\n\t\t//Appending Outcome Header Tspan in Text SVg\r\n\t\tgroupHeaderText\r\n\t\t\t.selectAll('tspan')\r\n\t\t\t.data(outcomeInitialText)\r\n\t\t\t.enter()\r\n\t\t\t.append(\"tspan\")\r\n\t\t\t.text((text) => {\r\n\t\t\t\treturn text\r\n\t\t\t})\r\n\t\t\t.attr({\r\n\t\t\t\tx: xMidPoint,\r\n\t\t\t\ty: (d, key) => {\r\n\t\t\t\t\tlet result = key == 0 ? headerTextYPosition : headerTextYPosition + 10;\r\n\t\t\t\t\treturn result + ((key) * 25)\r\n\t\t\t\t},\r\n\t\t\t\tclass: (d, key) => {\r\n\t\t\t\t\tlet result = key == 0 ? \"outcome-header-text outcome-header-title\" : \"outcome-header-text\";\r\n\t\t\t\t\treturn result\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t//Appending Defs in the svg\r\n\t\tlet defs = this.commonContainer.svg.append(\"defs\");\r\n\t\tlet gradientSemiCircleDetails = {\r\n\t\t\tlinearGradient: {\r\n\t\t\t\tid: \"linear-gradient\",\r\n\t\t\t\tgradientUnits: \"objectBoundingBox\",\r\n\t\t\t\tx2: \"1\",\r\n\t\t\t\ty1: \"0.5\",\r\n\t\t\t\ty2: \"0.5\",\r\n\t\t\t\tstop: {\r\n\t\t\t\t\toffset: [\"0\", \"0.301\", \"0.72\", \"1\"],\r\n\t\t\t\t\t\"stop-color\": [\"#6fc9d4\", \"#bfc46e\", \"#ddb673\", \"#748bda\"]\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tpath: {\r\n\t\t\t\tid: \"gradient-half-circle\",\r\n\t\t\t\td: 'M155,234a117.893,117.893,0,0,1-23.579-2.377,116.351,116.351,0,0,1-41.836-17.6,117.346,117.346,0,0,1-42.39-51.476,116.457,116.457,0,0,1-6.818-21.962A117.886,117.886,0,0,1,38.038,120h10C49.63,177.346,97.611,224,155,224s105.37-46.654,106.959-104h10a117.788,117.788,0,0,1-2.339,20.58,116.354,116.354,0,0,1-17.6,41.836,117.346,117.346,0,0,1-51.476,42.39,116.43,116.43,0,0,1-21.962,6.818A117.911,117.911,0,0,1,155,234Z',\r\n\t\t\t\t// d: \"M155,219a98.532,98.532,0,0,1-55.352-16.907A99.3,99.3,0,0,1,63.78,158.535,98.378,98.378,0,0,1,56,120H66a89,89,0,0,0,178,0h10a98.533,98.533,0,0,1-16.907,55.352,99.292,99.292,0,0,1-43.557,35.869A98.377,98.377,0,0,1,155,219Z\",\r\n\t\t\t\tfill: \"url(#linear-gradient)\",\r\n\t\t\t\ttranslate: {\r\n\t\t\t\t\tx: -38.038,\r\n\t\t\t\t\ty: -117\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t\tlet { id, gradientUnits, x2, y1, y2, stop } = gradientSemiCircleDetails.linearGradient;\r\n\t\tlet linearGradient = defs.append(\"linearGradient\")\r\n\t\t\t.attr({\r\n\t\t\t\tid, y1, x2, y2, gradientUnits\r\n\t\t\t});\r\n\r\n\t\tfor (let i = 0; i < stop.offset.length; i++) {\r\n\t\t\tlinearGradient.append(\"stop\")\r\n\t\t\t\t.attr({\r\n\t\t\t\t\toffset: stop.offset[i],\r\n\t\t\t\t\t\"stop-color\": stop[\"stop-color\"][i]\r\n\t\t\t\t})\r\n\t\t}\r\n\r\n\t\tlet halfgradientCircle = this.commonContainer.svg.append(\"g\")\r\n\t\t\t.attr(\"id\", \"gradient-half-group\");\r\n\r\n\t\thalfgradientCircle.append(\"path\")\r\n\t\t\t.attr({\r\n\t\t\t\tid: gradientSemiCircleDetails.path.id,\r\n\t\t\t\td: gradientSemiCircleDetails.path.d,\r\n\t\t\t\tfill: gradientSemiCircleDetails.path.fill,\r\n\t\t\t})\r\n\r\n\t\thalfgradientCircle = this.commonContainer.svg.select(\"#\" + gradientSemiCircleDetails.path.id);\r\n\r\n\t\tlet gradientWidth = halfgradientCircle.node().getBoundingClientRect().width;\r\n\t\thalfgradientCircle\r\n\t\t\t.attr({\r\n\t\t\t\ttransform: \"translate(\" +\r\n\t\t\t\t\tMath.round(xMidPoint + gradientSemiCircleDetails.path.translate.x - (gradientWidth / 2)) +\r\n\t\t\t\t\t\",\" +\r\n\t\t\t\t\t(seventhPathEndPoints[0].yCoordinate + gradientSemiCircleDetails.path.translate.y) +\r\n\t\t\t\t\t\")\",\r\n\t\t\t\t\"fill-opacity\": 0\r\n\t\t\t})\r\n\t\t\t;\r\n\r\n\t\toutcomeNodeBlock = this.commonContainer.svg\r\n\t\t\t.append(\"g\")\r\n\t\t\t.attr({\r\n\t\t\t\tclass: \"outcome-node-block\"\r\n\t\t\t});\r\n\r\n\t\tfor (let index = 0; index < eightLineEndPoints.length; index++) {\r\n\t\t\toutcomeNodeSection = outcomeNodeBlock\r\n\t\t\t\t.append(\"g\")\r\n\t\t\t\t.attr({\r\n\t\t\t\t\tclass: \"outcome-node-section\",\r\n\t\t\t\t\tid: \"outcome-node-section-\" + index\r\n\t\t\t\t});\r\n\r\n\t\t\toutcomeNodeSection\r\n\t\t\t\t.append('circle')\r\n\t\t\t\t.attr({\r\n\t\t\t\t\tclass: \"outer-node-circle\",\r\n\t\t\t\t\tid: \"outer-node-circle-\" + index,\r\n\t\t\t\t\tcx: this.commonContainer.xScale(eightLineEndPoints[index].xCoordinate),\r\n\t\t\t\t\tcy: eightLineEndPoints[index].yCoordinate,\r\n\t\t\t\t\tfill: \"#FFF\",\r\n\t\t\t\t\tstroke: eightShapePathColor[index],\r\n\t\t\t\t\tr: 0\r\n\t\t\t\t})\r\n\t\t\t\t.style({\r\n\t\t\t\t\t\"stroke-width\": \"4px\"\r\n\t\t\t\t})\r\n\t\t\t\t.style({ opacity: 0 });\r\n\r\n\t\t\toutcomeInnerNodeSection = outcomeNodeSection\r\n\t\t\t\t.append(\"g\")\r\n\t\t\t\t.attr({\r\n\t\t\t\t\tclass: \"outcome-inner-circle-block\",\r\n\t\t\t\t\tid: \"outcome-inner-circle-block-\" + index,\r\n\t\t\t\t})\r\n\t\t\t\t.style({ opacity: 0 });\r\n\r\n\t\t\toutcomeInnerNodeSection\r\n\t\t\t\t.append('circle')\r\n\t\t\t\t.attr({\r\n\t\t\t\t\tclass: \"inner-node-circle\",\r\n\t\t\t\t\tid: \"inner-node-circle-\" + index,\r\n\t\t\t\t\tcx: this.commonContainer.xScale(eightLineEndPoints[index].xCoordinate),\r\n\t\t\t\t\tcy: eightLineEndPoints[index].yCoordinate,\r\n\t\t\t\t\tfill: eightShapePathColor[index],\r\n\t\t\t\t\tstroke: \"none\",\r\n\t\t\t\t\tr: 40\r\n\t\t\t\t});\r\n\r\n\t\t\tnodeTextYPosition = eightLineEndPoints[index].yCoordinate + 5;\r\n\t\t\toutcomeNodeTextSvg = outcomeInnerNodeSection\r\n\t\t\t\t.append(\"text\")\r\n\t\t\t\t.attr({\r\n\t\t\t\t\tid: \"inner-node-text-\" + index,\r\n\t\t\t\t\tx: this.commonContainer.xScale(eightLineEndPoints[index].xCoordinate),\r\n\t\t\t\t\ty: nodeTextYPosition,\r\n\t\t\t\t\tfill: \"#FFF\",\r\n\t\t\t\t\t\"text-anchor\": \"middle\",\r\n\t\t\t\t\t\"alignment-baseline\": \"central\",\r\n\t\t\t\t\t\"font-size\": \"20px\",\r\n\t\t\t\t});\r\n\r\n\t\t\toutcomeNodeTextSvg\r\n\t\t\t\t.selectAll('tspan')\r\n\t\t\t\t.data(nodeTextContent[index])\r\n\t\t\t\t.enter()\r\n\t\t\t\t.append(\"tspan\")\r\n\t\t\t\t.text((text) => {\r\n\t\t\t\t\treturn text\r\n\t\t\t\t})\r\n\t\t\t\t.attr({\r\n\t\t\t\t\tx: this.commonContainer.xScale(eightLineEndPoints[index].xCoordinate),\r\n\t\t\t\t\ty: (d, key) => {\r\n\t\t\t\t\t\treturn nodeTextYPosition + ((key) * 20)\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"class\": (d, key) => {\r\n\t\t\t\t\t\treturn nodeTextClass[key]\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tlet getEightLineEndPoints = () => {\r\n\t\t\treturn eightLineEndPoints;\r\n\t\t}\r\n\r\n\t\tlet updateEightLinePath = (_scrollTop) => {\r\n\t\t\tlet path = this.path.outcome,\r\n\t\t\t\tpathScale = this.pathScales.outcome;\r\n\r\n\t\t\tfor (let index = 0; index < 4; index++) {\r\n\t\t\t\tupdateEightLinePathLength(path[index], pathScale[index], index, _scrollTop);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet updateEightLinePathLength = (path, pathScale, index, _scrollTop) => {\r\n\t\t\tlet pathLength = path.node().getTotalLength();\r\n\t\t\tpath\r\n\t\t\t\t.style('stroke-dashoffset', function (d) {\r\n\t\t\t\t\treturn pathLength - pathScale(_scrollTop) + 'px';\r\n\t\t\t\t});\r\n\r\n\t\t\tif ((pathLength - pathScale(_scrollTop)) < (pathLength * 0.88) && !eightGradientFlag) {\r\n\t\t\t\teightGradientFlag = true;\r\n\t\t\t\thalfgradientCircle\r\n\t\t\t\t\t.transition()\r\n\t\t\t\t\t.duration(50)\r\n\t\t\t\t\t.ease(\"linear\")\r\n\t\t\t\t\t.attr({ \"fill-opacity\": 1 });\r\n\t\t\t} else if ((pathLength - pathScale(_scrollTop)) >= (pathLength * 0.88) && eightGradientFlag) {\r\n\t\t\t\teightGradientFlag = false;\r\n\t\t\t\thalfgradientCircle\r\n\t\t\t\t\t.transition()\r\n\t\t\t\t\t.duration(100)\r\n\t\t\t\t\t.ease(\"linear\")\r\n\t\t\t\t\t.attr({ \"fill-opacity\": 0 });\r\n\t\t\t}\r\n\r\n\t\t\tif (pathScale(_scrollTop) == pathLength && !eightNodeFlag[index]) {\r\n\t\t\t\teightNodeFlag[index] = 1;\r\n\r\n\t\t\t\tthis.commonContainer.svg.select(\"#outer-node-circle-\" + index)\r\n\t\t\t\t\t.attr({ r: 50 })\r\n\t\t\t\t\t.transition()\r\n\t\t\t\t\t.duration(500)\r\n\t\t\t\t\t.ease(\"linear\")\r\n\t\t\t\t\t.each(\"end\", setOutcomeNodeTextTop(index, false))\r\n\t\t\t\t\t.style({ opacity: 1 });\r\n\r\n\t\t\t\tthis.commonContainer.svg.select(\"#outcome-inner-circle-block-\" + index)\r\n\t\t\t\t\t.transition()\r\n\t\t\t\t\t.delay(100)\r\n\t\t\t\t\t.duration(700)\r\n\t\t\t\t\t.ease(\"linear\")\r\n\t\t\t\t\t.style({ opacity: 1 });\r\n\r\n\t\t\t} else if (pathScale(_scrollTop) != pathLength && eightNodeFlag[index]) {\r\n\t\t\t\teightNodeFlag[index] = 0;\r\n\r\n\t\t\t\tlet textVisibility = d3.select(\"#outcome-block-\" + (index + 1));\r\n\r\n\t\t\t\ttextVisibility\r\n\t\t\t\t\t.classed(\"in\", false);\r\n\r\n\t\t\t\tthis.commonContainer.svg.select(\"#outer-node-circle-\" + index)\r\n\t\t\t\t\t.attr({ r: 0 })\r\n\t\t\t\t\t.style({ opacity: 0 });\r\n\r\n\t\t\t\tthis.commonContainer.svg.select(\"#outcome-inner-circle-block-\" + index)\r\n\t\t\t\t\t.style({ opacity: 0 });\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet setOutcomeNodeTextTop = (index, resizeFlag) => {\r\n\t\t\tlet topOffset = [14.52, 14.92, 14.92, 14.52];\r\n\t\t\tlet container = d3.select(\".container\").node().getBoundingClientRect().left;\r\n\t\t\tlet boundingClientRect = this.commonContainer.svg.select(\"#eight-path-\" + index).node().getBoundingClientRect();\r\n\t\t\tlet nodeSection = this.commonContainer.svg.select(\"#outcome-inner-circle-block-\" + index).node().getBoundingClientRect();\r\n\t\t\tlet textContainer = d3.select(\"#outcome-block-\" + (index + 1));\r\n\t\t\tlet textContainerWidth = textContainer.node().getBoundingClientRect().width;\r\n\t\t\tconst top = (index === 0 || index === 3) ? (boundingClientRect.height * 3.44) : (boundingClientRect.height * 1.996);\r\n\t\t\tif (index == 0 || index == 1) {\r\n\t\t\t\ttextContainer\r\n\t\t\t\t\t.style({\r\n\t\t\t\t\t\ttop: `${top}px`,// ((nodeSection.height * topOffset[index]) / this.commonContainer.aspectRatio) + \"px\",\r\n\t\t\t\t\t\tleft: (boundingClientRect.left - container - (textContainerWidth / 2)) + \"px\",\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse if (index == 2 || index == 3) {\r\n\t\t\t\ttextContainer\r\n\t\t\t\t\t.style({\r\n\t\t\t\t\t\ttop: `${top}px`,// ((nodeSection.height * topOffset[index]) / this.commonContainer.aspectRatio) + \"px\",\r\n\t\t\t\t\t\tleft: ((boundingClientRect.right - container - (textContainerWidth / 2))) + \"px\",\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (!resizeFlag) {\r\n\t\t\t\tlet textVisibility = d3.select(\"#outcome-block-\" + (index + 1));\r\n\r\n\t\t\t\ttextVisibility\r\n\t\t\t\t\t.classed(\"in\", true);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tgetEightLineEndPoints,\r\n\t\t\tupdateEightLinePath,\r\n\t\t\tsetOutcomeNodeTextTop\r\n\t\t}\r\n\t}\r\n\r\n\tinitializeCircleCluster() {\r\n\t\t//Initialize data for cluster of circles with count 250\r\n\t\tthis.plugNPredictRWDService.setCustomerData(250);\r\n\t\t//Get data object\r\n\t\tlet { bigCluster } = this.sectionsHolder.problem;\r\n\t\tbigCluster.customerData = this.plugNPredictRWDService.getCustomerData();\r\n\t\tbigCluster.settings = {\r\n\t\t\twidth: 500,\r\n\t\t\theight: 500,\r\n\t\t\tcharge: -15,\r\n\t\t\tcircleRadius: 8,\r\n\t\t\tcircleColor: \"#aaafb5\",\r\n\t\t\tid: 'circles-cluster',\r\n\t\t\tparentSvg: this.commonContainer.svg,\r\n\t\t\ttransformX: 0,\r\n\t\t\ttransformY: 0\r\n\t\t};\r\n\r\n\t\tlet toggleBigCircleOpacity = (beforeTransition, afterTransition) => {\r\n\t\t\td3.selectAll(\"#\" + bigCluster.settings.id + \"-svg\")\r\n\t\t\t\t.selectAll(\"circle\")\r\n\t\t\t\t.attr(\"fill-opacity\", beforeTransition)\r\n\t\t\t\t.attr(\"stroke-opacity\", beforeTransition)\r\n\t\t\t\t.transition()\r\n\t\t\t\t.ease(\"ease-out\")\r\n\t\t\t\t.duration(function (d, i) {\r\n\t\t\t\t\treturn 5 * i;\r\n\t\t\t\t})\r\n\t\t\t\t.attr(\"fill-opacity\", afterTransition)\r\n\t\t\t\t.attr(\"stroke-opacity\", afterTransition);\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttoggleBigCircleOpacity\r\n\t\t}\r\n\t}\r\n\r\n\tcreatePathCircle = (points, index, idString, color, shapeCount = 4) => {\r\n\t\tlet firstPathCircleSvg = this.commonContainer.svg\r\n\t\t\t.append(\"g\")\r\n\t\t\t.attr({\r\n\t\t\t\t\"id\": idString + \"-\" + index,\r\n\t\t\t});\r\n\r\n\t\tfirstPathCircleSvg\r\n\t\t\t.selectAll(\"circle\")\r\n\t\t\t.data(d3.range(shapeCount))\r\n\t\t\t.enter()\r\n\t\t\t.append(\"circle\")\r\n\t\t\t.attr({\r\n\t\t\t\t\"cx\": this.commonContainer.xScale(points.xCoordinate),\r\n\t\t\t\t\"cy\": points.yCoordinate,\r\n\t\t\t\t\"r\": 8,\r\n\t\t\t\t\"fill\": (value, key) => {\r\n\t\t\t\t\treturn color[key];\r\n\t\t\t\t},\r\n\t\t\t\t\"class\": idString,\r\n\t\t\t\t\"id\": (value, key) => {\r\n\t\t\t\t\treturn idString + \"-\" + index + \"-\" + key\r\n\t\t\t\t},\r\n\r\n\t\t\t\t\"fill-opacity\": 0\r\n\t\t\t})\r\n\t}\r\n\r\n\tcreateShapes = (points, index, idString, color, shapeType, size) => {\r\n\t\tlet shapesSvg = this.commonContainer.svg\r\n\t\t\t.append(\"g\")\r\n\t\t\t.attr({\r\n\t\t\t\t\"id\": idString + \"-\" + index,\r\n\t\t\t});\r\n\r\n\t\tshapesSvg\r\n\t\t\t.selectAll(\".symbol\")\r\n\t\t\t.data(d3.range(4))\r\n\t\t\t.enter()\r\n\t\t\t.append(\"path\")\r\n\t\t\t.attr({\r\n\t\t\t\t\"d\": (data, key) => { return this.shapesService.getShapeCoordinates(shapeType[key], size) },\r\n\t\t\t\t\"fill\": (data, key) => {\r\n\t\t\t\t\treturn color[key];\r\n\t\t\t\t},\r\n\t\t\t\t\"class\": idString,\r\n\t\t\t\t\"id\": (data, key) => {\r\n\t\t\t\t\treturn (idString + \"-\" + index + \"-\" + key);\r\n\t\t\t\t},\r\n\t\t\t\t\"transform\": (data, key) => {\r\n\t\t\t\t\treturn \"translate(\" + this.commonContainer.xScale(points[key].xCoordinate) + \",\" + points[key].yCoordinate + \")\";\r\n\t\t\t\t},\r\n\t\t\t\t\"fill-opacity\": 1\r\n\t\t\t})\r\n\t}\r\n\r\n\trenderSmallProblemCluster() {\r\n\t\tlet { offset } = this.commonContainer,\r\n\t\t\tsmallClusterOffset = [offset * 0.195, this.commonContainer.offset * 0.39, this.commonContainer.offset * 0.64, this.commonContainer.offset * 0.89],\r\n\t\t\tsmallClusterHeight = [1355, 1800, 2200, 2600],\r\n\t\t\tclusterData = [],\r\n\t\t\tclusterColor = [...this.categoriesColor],\r\n\t\t\tidString = [\"diagnosis\", \"treatmentInitiation\", \"treatmentprogression\", \"dropOff\"],\r\n\t\t\tclusterDotCount = [80, 80, 80, 80],\r\n\t\t\twidth, height, settings;\r\n\r\n\t\tlet createSmallClusterCircle = (index, width, height, data, idString) => {\r\n\t\t\tlet { details, flag } = this.sectionsHolder.problemToData.smallCluster;\r\n\t\t\tdetails[index] = {\r\n\t\t\t\tsvg: this.commonContainer.svg,\r\n\t\t\t\tindex,\r\n\t\t\t\twidth,\r\n\t\t\t\theight,\r\n\t\t\t\tdata,\r\n\t\t\t\tidString,\r\n\t\t\t\tcategories: this.categories[index],\r\n\t\t\t\tcategoriesColor: this.categoriesColor[index]\r\n\t\t\t}\r\n\t\t\tflag[index] = 1;\r\n\t\t}\r\n\r\n\t\tfor (let index = 0; index < 4; index++) {\r\n\t\t\twidth = this.commonContainer.xScale(smallClusterOffset[index]);\r\n\t\t\theight = smallClusterHeight[index];\r\n\t\t\tsettings = {\r\n\t\t\t\twidth,\r\n\t\t\t\theight,\r\n\t\t\t\tcategories: this.categories[index]\r\n\t\t\t};\r\n\t\t\tthis.smallClusterService.createData(index, settings, clusterDotCount[index]);\r\n\t\t\tclusterData[index] = this.smallClusterService.getData(index);\r\n\t\t\tcreateSmallClusterCircle(index, width, height, clusterData[index], idString[index]);\r\n\t\t}\r\n\r\n\t\tlet updateOpacityOfAllCircles = (index, opacity = 1) => {\r\n\t\t\tthis.commonContainer.svg\r\n\t\t\t\t.selectAll(\".node_\" + index)\r\n\t\t\t\t.attr(\"fill-opacity\", opacity)\r\n\t\t}\r\n\r\n\t\tlet updateClusterTooltip = (className, displayFlag, index) => {\r\n\t\t\tlet clusterTooltip = d3.select(\".\" + className);\r\n\t\t\tclusterTooltip.classed('show', displayFlag);\r\n\r\n\t\t\tlet clusterTooltipHeading = d3.select(\".\" + className + ' h4');\r\n\t\t\tclusterTooltipHeading.style({\r\n\t\t\t\t\"color\": clusterColor[index]\r\n\t\t\t});\r\n\r\n\t\t\tlet clusterTooltipInfo = d3.select(\".\" + className + ' p');\r\n\t\t\tclusterTooltipInfo.attr({\r\n\t\t\t\t\"data-color\": clusterColor[index].replace(\"#\", \"z\")\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tlet updateSmallClusterForce = (index, chargeFlag) => {\r\n\t\t\tlet { details } = this.sectionsHolder.problemToData.smallCluster;\r\n\t\t\tlet centerCircleNode = d3.select(\"#\" + details[index].idString + \"-\" + index + \"-0\"),\r\n\t\t\t\tinnerCircleRadius = 20,\r\n\t\t\t\tinnercircleCharge = -160,\r\n\t\t\t\touterCircleCharge = -8,\r\n\t\t\t\tdimensions = {\r\n\t\t\t\t\twidth: this.commonContainer.xScale(smallClusterOffset[index]) * 2,\r\n\t\t\t\t\theight: smallClusterHeight[index]\r\n\t\t\t\t},\r\n\t\t\t\tdata = clusterData[index];\r\n\r\n\t\t\tif (chargeFlag == \"forward\") {\r\n\t\t\t\tcenterCircleNode\r\n\t\t\t\t\t.transition()\r\n\t\t\t\t\t.duration(500)\r\n\t\t\t\t\t.attr('r', innerCircleRadius);\r\n\r\n\t\t\t\td3.layout.force()\r\n\t\t\t\t\t.size([dimensions.width, dimensions.height])\r\n\t\t\t\t\t.charge(function (d, i) {\r\n\t\t\t\t\t\treturn i ? outerCircleCharge : innercircleCharge\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.nodes(data.nodes)\r\n\t\t\t\t\t.on(\"tick\", () => {\r\n\t\t\t\t\t\td3.selectAll(\".node_\" + index)\r\n\t\t\t\t\t\t\t.attr(\"cx\", function (d) {\r\n\t\t\t\t\t\t\t\treturn d.x;\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t.attr(\"cy\", function (d) {\r\n\t\t\t\t\t\t\t\treturn d.y;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.start();\r\n\t\t\t} else if (chargeFlag == 'backward') {\r\n\t\t\t\tcenterCircleNode\r\n\t\t\t\t\t.attr('r', 0);\r\n\r\n\t\t\t\td3.layout.force()\r\n\t\t\t\t\t.size([dimensions.width, dimensions.height])\r\n\t\t\t\t\t.charge(outerCircleCharge)\r\n\t\t\t\t\t.nodes(data.nodes)\r\n\t\t\t\t\t.on(\"tick\", () => {\r\n\t\t\t\t\t\td3.selectAll(\".node_\" + index)\r\n\t\t\t\t\t\t\t.attr(\"cx\", function (d) {\r\n\t\t\t\t\t\t\t\treturn d.x;\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t.attr(\"cy\", function (d) {\r\n\t\t\t\t\t\t\t\treturn d.y;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.start();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\treturn {\r\n\t\t\tupdateSmallClusterForce,\r\n\t\t\tupdateOpacityOfAllCircles,\r\n\t\t\tupdateClusterTooltip\r\n\t\t}\r\n\t}\r\n\r\n\tonScrollSecionChange($event) {\r\n\t\tthis.onVisibleSectionChange.emit($event);\r\n\t}\r\n\r\n\tresponsivefy(svg) {\r\n\t\t// get container + svg aspect ratio\r\n\t\tlet container = d3.select(svg.node().parentNode),\r\n\t\t\twidth = parseInt(svg.style(\"width\")),\r\n\t\t\theight = parseInt(svg.style(\"height\")),\r\n\t\t\taspect = width / height;\r\n\t\tthis.commonContainer.aspectRatio = aspect;\r\n\t\t// this.setPositionOfTextelements(); \r\n\r\n\t\t// get width of container and resize svg to fit it\r\n\t\tlet resize = () => {\r\n\t\t\tlet targetWidth = parseInt(container.style(\"width\"));\r\n\t\t\tsvg.attr(\"width\", targetWidth);\r\n\t\t\tsvg.attr(\"height\", Math.round(targetWidth / aspect));\r\n\t\t\tthis.initializeScales();\r\n\t\t\tthis.setPositionOfTextelements();\r\n\t\t}\r\n\t\t// add viewBox and preserveAspectRatio properties,\r\n\t\t// and call resize so that svg resizes on inital page load\r\n\t\tsvg.attr(\"viewBox\", \"0 0 \" + width + \" \" + height)\r\n\t\t\t.attr(\"perserveAspectRatio\", \"xMinYMid\")\r\n\t\t\t.call(resize);\r\n\r\n\t\t// to register multiple listeners for same event type, \r\n\t\t// you need to add namespace, i.e., 'click.foo'\r\n\t\t// necessary if you call invoke this function for multiple svgs\r\n\t\t// api docs: https://github.com/mbostock/d3/wiki/Selections#on\r\n\t\td3.select(window).on(\"resize.\" + container.attr(\"id\"), resize);\r\n\t}\r\n\r\n\tsetPositionOfTextelements() {\r\n\t\tlet boundingClientRect = this.commonContainer.svg.select(\"#first-path\").node().getBoundingClientRect();\r\n\t\tlet textContainer = d3.select(\"#first-cluster-tooltip\");\r\n\t\tlet container = d3.select(\".container\").node().getBoundingClientRect().left;\r\n\r\n\t\tlet secondPoints = this.commonContainer.svg.select(\"#second-path\").node().getBoundingClientRect();\r\n\t\ttextContainer\r\n\t\t\t.style({\r\n\t\t\t\ttop: ((boundingClientRect.height * 1.392) / this.commonContainer.aspectRatio) + \"px\",\r\n\t\t\t\tleft: ((secondPoints.right - container - (secondPoints.width * 0.1))) + \"px\"\r\n\t\t\t});\r\n\r\n\t\tboundingClientRect = secondPoints;\r\n\t\tlet thirdPathPoints = this.commonContainer.svg.select(\"#third-path\").node().getBoundingClientRect();\r\n\t\ttextContainer = d3.select(\"#second-cluster-tooltip\");\r\n\t\ttextContainer\r\n\t\t\t.style({\r\n\t\t\t\ttop: ((boundingClientRect.height * 1.735) / this.commonContainer.aspectRatio) + \"px\",\r\n\t\t\t\tleft: ((thirdPathPoints.left + 80) - container) + \"px\"\r\n\t\t\t});\r\n\r\n\t\tboundingClientRect = thirdPathPoints;\r\n\t\ttextContainer = d3.select(\"#third-cluster-tooltip\");\r\n\t\ttextContainer\r\n\t\t\t.style({\r\n\t\t\t\ttop: ((boundingClientRect.height * 2.8) / this.commonContainer.aspectRatio) + \"px\",\r\n\t\t\t\tright: ((boundingClientRect.right - container - (boundingClientRect.width * 0.85))) + \"px\"\r\n\t\t\t});\r\n\r\n\t\tboundingClientRect = this.commonContainer.svg.select(\"#fourth-path\").node().getBoundingClientRect();;\r\n\t\ttextContainer = d3.select(\"#fourth-cluster-tooltip\");\r\n\t\ttextContainer\r\n\t\t\t.style({\r\n\t\t\t\ttop: ((boundingClientRect.height * 3.312) / this.commonContainer.aspectRatio) + \"px\",\r\n\t\t\t\tright: ((boundingClientRect.right - container - (boundingClientRect.width * 3.63))) + \"px\"\r\n\t\t\t});\r\n\r\n\t\tthis.sectionsHolder.data.timeline.updateTimeline.configureTooltipPosition();\r\n\t\tboundingClientRect = this.commonContainer.svg.select(\"#first-path\").node().getBoundingClientRect();\r\n\t\ttextContainer = d3.select(\"#problem\");\r\n\t\tconst problemHeight = boundingClientRect.height * 9.67; \r\n\t\ttextContainer\r\n\t\t\t.style({\r\n\t\t\t\t'height': `${problemHeight}px`,\r\n\t\t\t\t'align-items': 'flex-start',\r\n\t\t\t});\r\n\r\n\t\tboundingClientRect = this.commonContainer.svg.select(\"#fifth-path-0\").node().getBoundingClientRect();\r\n\t\ttextContainer = d3.select(\"#data\");\r\n\t\tlet textContainerBoundingRect = textContainer.node().getBoundingClientRect();\r\n\t\tconst dataTop = problemHeight + 1;\r\n\t\tconst dataHeight = boundingClientRect.height * 1.732;\r\n\t\ttextContainer\r\n\t\t\t.style({\r\n\t\t\t\t'height': `${dataHeight}px`,\r\n\t\t\t\t'align-items': 'flex-start',\r\n\t\t\t\ttop: `${ dataTop }px`,// ((boundingClientRect.height / this.commonContainer.aspectRatio) + (boundingClientRect.height - (textContainerBoundingRect.height / 0.95))) + \"px\",\r\n\t\t\t\tleft: boundingClientRect.left + (boundingClientRect.width * 0.07) + \"px\"\r\n\t\t\t});\r\n\r\n\t\tboundingClientRect = this.commonContainer.svg.select(\"#sixth-path-3\").node().getBoundingClientRect();\r\n\t\ttextContainer = d3.select(\"#solution\");\r\n\t\tconst solutionTop = dataTop + dataHeight + 1;\r\n\t\ttextContainer\r\n\t\t\t.style({\r\n\t\t\t\t'height': `${boundingClientRect.height * 2.2}px`,\r\n\t\t\t\t'align-items': 'flex-start',\r\n\t\t\t\ttop: `${solutionTop}px`// (((boundingClientRect.height * 1.118) / this.commonContainer.aspectRatio) + (boundingClientRect.height - textContainerBoundingRect.height) / 2) + \"px\", //2089\r\n\t\t\t});\r\n\t\tboundingClientRect = this.commonContainer.svg.select(\"#seventh-path-3\").node().getBoundingClientRect();\r\n\t\ttextContainer = d3.select(\"#outcomes\");\r\n\t\ttextContainer\r\n\t\t\t.style({\r\n\t\t\t\t'height': `${boundingClientRect.height * 2.26}px`,\r\n\t\t\t\t'align-items': 'flex-start',\r\n\t\t\t\ttop: `${boundingClientRect.height * 10.87}px`\r\n\t\t\t});\r\n\r\n\t\tfor (let index = 0; index < 4; index++) {\r\n\t\t\tthis.sectionsHolder.outcome.eightLinePath.setOutcomeNodeTextTop(index, true);\r\n\t\t}\r\n\t};\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.commonContainer.windowListener();\r\n\r\n\t\td3.select(window).on(\"resize.\" + d3.select(this.commonContainer.svg.node().parentNode).attr(\"id\"), null);\r\n\t\twindow.cancelAnimationFrame(this.commonContainer.windowRequestFrameId);\r\n\t}\r\n\r\n\tredirectTo() {\r\n this._gaService.triggerEvent('DS View', 'Usecase', this.widgetData.title);\r\n\t\tthis.router.navigate(['gallery/story-page', this.widgetData.url]);\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class PlugNPredictRWDService {\r\n\r\n // private customerDataSource = new BehaviorSubject(this.getCustomerData(this.circlesCount));\r\n private customerData: any = [];\r\n\r\n constructor() {}\r\n\r\n setCustomerData(circlesCount = 50) {\r\n // let data = [];\r\n for (let index = 0; index < circlesCount; index++) {\r\n this.customerData.push({\r\n id: index\r\n });\r\n }\r\n }\r\n\r\n getCustomerData() {\r\n return [...this.customerData];\r\n }\r\n\r\n // changeCustomerData(customerData: []) {\r\n // this.customerDataSource.next([...customerData]);\r\n // }\r\n\r\n}","module.exports = \"/* path {\\r\\n fill: none;\\r\\n stroke: #999;\\r\\n} */\\r\\n\\r\\n.center_node_text {\\r\\n font-size: 15px;\\r\\n color: white\\r\\n}\\r\\n\\r\\n.data-text-section h2 {\\r\\n font-size: 44px;\\r\\n font-family: 'Oswald', sans-serif;\\r\\n font-weight: 300;\\r\\n color: #3789b9;\\r\\n}\\r\\n\\r\\n.data-text-section h3 {\\r\\n font-size: 34px;\\r\\n font-weight: 400;\\r\\n color: #34393a;\\r\\n}\\r\\n\\r\\n#path-to-force-section {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n#path-to-force-section [class^=\\\"path-to-time-line-section_\\\"],\\r\\n#path-to-force-section [id^=\\\"third_line_\\\"] {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n right: 0;\\r\\n}\\r\\n\\r\\n#path-to-force-section #timeline-section {\\r\\n position: absolute;\\r\\n top: 850px;\\r\\n z-index: 1;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n}\\r\\n\\r\\n#path-to-force-section .data-text-section {\\r\\n left: 360px;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n width: 800px;\\r\\n top: 630px;\\r\\n}\\r\\n\\r\\n#path-to-force-section .type-text-section {\\r\\n font-size: 32px;\\r\\n}\\r\\n\\r\\n#path-to-force-section .solution-wrapper {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.one-page-story-wrapper .solution-wrapper .flex-shrink-1 {\\r\\n padding-right: 46px;\\r\\n}\\r\\n\\r\\n/* #problem-section-cluster{\\r\\n margin: -30px;\\r\\n position: relative;\\r\\n float: right;\\r\\n} */\\r\\n\\r\\n#solution-section-cluster {\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.pnp-timeline-tooltip {\\r\\n background: #7c7c7c;\\r\\n position: fixed;\\r\\n z-index: 99;\\r\\n padding: 3px 20px 6px;\\r\\n border-radius: 22px;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.pnp-timeline-tooltip:after {\\r\\n top: 100%;\\r\\n left: 50%;\\r\\n border: solid transparent;\\r\\n content: \\\" \\\";\\r\\n height: 0;\\r\\n width: 0;\\r\\n position: absolute;\\r\\n pointer-events: none;\\r\\n border-color: rgba(124, 124, 124, 0);\\r\\n border-top-color: #7c7c7c;\\r\\n border-width: 8px;\\r\\n margin-left: -8px;\\r\\n}\\r\\n\\r\\n/* .path-to-time-line-section {\\r\\n position: absolute;\\r\\n } */\\r\\n\\r\\n.section-2 {\\r\\n min-height: 1300px;\\r\\n width: auto;\\r\\n margin-bottom: 685px;\\r\\n}\\r\\n\\r\\n/* #timeline-section {\\r\\n position: absolute;\\r\\n left: 250px;\\r\\n top: 1270px\\r\\n} */\\r\\n\\r\\n#timeline_block_0 {\\r\\n position: absolute;\\r\\n top: 350px;\\r\\n /* left: -97px; */\\r\\n left: -62px;\\r\\n}\\r\\n\\r\\n#timeline_block_1 {\\r\\n position: absolute;\\r\\n top: 250px;\\r\\n /* left: -47px; */\\r\\n left: -12px;\\r\\n}\\r\\n\\r\\n#timeline_block_2 {\\r\\n position: absolute;\\r\\n top: 150px;\\r\\n /* left: 3px; */\\r\\n left: 38px;\\r\\n}\\r\\n\\r\\n#timeline_block_3 {\\r\\n position: absolute;\\r\\n top: 50px;\\r\\n /* left: 53px; */\\r\\n left: 88px;\\r\\n}\\r\\n\\r\\n#solution-svg-section {\\r\\n display: inline-flex;\\r\\n margin-left: 35px;\\r\\n}\\r\\n\\r\\n#dna-block_0,\\r\\n#dna-block_1,\\r\\n#dna-block_2,\\r\\n#dna-block_3 {\\r\\n display: inline-table\\r\\n}\\r\\n\\r\\n#dna-svg-block_0,\\r\\n#dna-svg-block_1,\\r\\n#dna-svg-block_2,\\r\\n#dna-svg-block_3 {\\r\\n margin: 0 15px;\\r\\n}\\r\\n\\r\\n#dna-svg-block_0>path,\\r\\n#dna-svg-block_1>path,\\r\\n#dna-svg-block_2>path,\\r\\n#dna-svg-block_3>path {\\r\\n stroke: none;\\r\\n}\\r\\n\\r\\n.clear {\\r\\n min-height: 100px;\\r\\n}\\r\\n\\r\\n@media (min-width: 1200px) {\\r\\n /* #path-to-force-section {\\r\\n position: absolute;\\r\\n top: 420px\\r\\n } */\\r\\n}\\r\\n\\r\\n@media (min-width: 1200px) {\\r\\n .content-position {\\r\\n position: relative;\\r\\n }\\r\\n .section-2 {\\r\\n min-height: 1420px !important\\r\\n }\\r\\n}\\r\\n\\r\\n.solution-section {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.graph-tooltip {\\r\\n /* set the CSS for tooltip divs */\\r\\n position: absolute;\\r\\n /* reference for measurement */\\r\\n text-align: center;\\r\\n /* align the text to the center */\\r\\n background: #e75654;\\r\\n padding: 2px 10px;\\r\\n color: #ffffff;\\r\\n pointer-events: none;\\r\\n /* set how rounded the edges of the rectangle is */\\r\\n min-width: 100px;\\r\\n min-height: 30px;\\r\\n /* 'none' tells the mouse to ignore the rectangle */\\r\\n z-index: 99999;\\r\\n}\\r\\n\\r\\n.shop-pay {\\r\\n position: absolute;\\r\\n width: 160px;\\r\\n}\\r\\n\\r\\n.shop-pay .shop,\\r\\n.shop-pay .pay {\\r\\n opacity: 0;\\r\\n width: 160px;\\r\\n height: 0;\\r\\n transition: all 250ms ease-in-out;\\r\\n position: relative!important;\\r\\n top: auto!important;\\r\\n left: auto!important;\\r\\n}\\r\\n\\r\\n.shop-pay .shop {\\r\\n background: url('shop.png') no-repeat center center;\\r\\n background-size: 100%;\\r\\n}\\r\\n\\r\\n.shop-pay .pay {\\r\\n background: url('pay.png') no-repeat center center;\\r\\n background-size: 100%;\\r\\n margin-top: 50px!important;\\r\\n}\\r\\n\\r\\n.shop-pay .shop.in,\\r\\n.shop-pay .pay.in {\\r\\n opacity: 1;\\r\\n height: 60px;\\r\\n transition: all 500ms ease-in-out;\\r\\n}\\r\\n\\r\\n/* .shop-pay .shop.in:after{\\r\\n content: '';\\r\\n width: 2px;\\r\\n background: #e1e4e6;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n right: 0;\\r\\n top: -35px;\\r\\n height: 40px;\\r\\n margin: auto;\\r\\n} */\\r\\n\\r\\n/* .path1_context {\\r\\n display: none;\\r\\n position: absolute;\\r\\n right: 154px;\\r\\n top: 30px;\\r\\n}\\r\\n\\r\\n#path1_context_2 {\\r\\n top: 150px\\r\\n} */\\r\\n\\r\\n.outcomes-rebbons {\\r\\n overflow: hidden;\\r\\n position: absolute;\\r\\n width: 46%;\\r\\n}\\r\\n\\r\\n.outcomes-rebbons ul {\\r\\n margin: 0;\\r\\n padding: 70px 0 70px 0;\\r\\n height: 530px;\\r\\n position: relative;\\r\\n list-style: none;\\r\\n width: 94%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.outcomes-rebbons ul:after {\\r\\n content: '';\\r\\n background: url('pnp-outcomes-shadow.png') no-repeat left center;\\r\\n background-size: auto 100%;\\r\\n width: 20px;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n height: 20%;\\r\\n margin: auto;\\r\\n opacity: 0;\\r\\n transition: all ease-in-out 200ms;\\r\\n}\\r\\n\\r\\n.outcomes-rebbons ul.in:after {\\r\\n opacity: 1;\\r\\n height: 100%;\\r\\n transition: all ease-in-out 200ms;\\r\\n}\\r\\n\\r\\n.outcomes-rebbons ul li {\\r\\n padding: 16px 60px 16px 30px;\\r\\n font-family: 'DINProRegular', sans-serif;\\r\\n font-size: calc(20px + (24 - 20) * (100vw - 320px) / (1920 - 320));\\r\\n color: #252727;\\r\\n background: #f1f3f4;\\r\\n border-radius: 0 50px 50px 0;\\r\\n opacity: 0;\\r\\n width: 100%;\\r\\n transition: all ease-in-out 300ms;\\r\\n overflow: hidden;\\r\\n white-space: nowrap;\\r\\n position: relative;\\r\\n left: -20%;\\r\\n}\\r\\n\\r\\n.outcomes-rebbons ul li:nth-child(2) {\\r\\n margin: 65px 0;\\r\\n}\\r\\n\\r\\n.outcomes-rebbons ul.in li {\\r\\n opacity: 1;\\r\\n left: 0;\\r\\n}\\r\\n\\r\\n.outcomes-rebbons ul.in li:nth-child(1) {\\r\\n transition-delay: 300ms;\\r\\n}\\r\\n\\r\\n.outcomes-rebbons ul.in li:nth-child(2) {\\r\\n transition-delay: 450ms;\\r\\n}\\r\\n\\r\\n.outcomes-rebbons ul.in li:nth-child(3) {\\r\\n transition-delay: 600ms;\\r\\n}\\r\\n\\r\\n.outcomes-rebbons ul li.time {\\r\\n background: #46edca url('pnp-outcomes-time.png') no-repeat right center;\\r\\n box-shadow: 1px 6px 0 #3333330f;\\r\\n}\\r\\n\\r\\n.outcomes-rebbons ul li.discovered {\\r\\n background: #fce172 url('pnp-outcomes-discovered.png') no-repeat right center;\\r\\n box-shadow: 1px 6px 0 #3333330f;\\r\\n}\\r\\n\\r\\n.outcomes-rebbons ul li.scale {\\r\\n background: #ffaa74 url('pnp-outcomes-scale.png') no-repeat right center;\\r\\n box-shadow: 1px 6px 0 #3333330f;\\r\\n}\\r\\n\\r\\n/* .outcomes-rebbons ul.in li.time{\\r\\n background: #f3ffd9 url('../../../assets/images/pnp-outcomes-time.png') no-repeat right center;\\r\\n box-shadow: 1px 6px 0 #33333330;\\r\\n}\\r\\n.outcomes-rebbons ul.in li.discovered{\\r\\n background: #e8f5ff url('../../../assets/images/pnp-outcomes-discovered.png') no-repeat right center;\\r\\n box-shadow: 1px 6px 0 #33333330;\\r\\n}\\r\\n.outcomes-rebbons ul.in li.scale{\\r\\n background: #ffeaf0 url('../../../assets/images/pnp-outcomes-scale.png') no-repeat right center;\\r\\n box-shadow: 1px 6px 0 #33333330;\\r\\n} */\\r\\n\\r\\n.app-circle-cluster {\\r\\n margin: -30px;\\r\\n position: relative;\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.one-page-story-wrapper #solution_id {\\r\\n position: absolute;\\r\\n display: block!important;\\r\\n}\\r\\n\\r\\n#path-to-force-section-cluster text.center-node-text,\\r\\n#path-to-force-section-cluster [id^=\\\"dot-wall\\\"] text,\\r\\n#path-to-force-section-cluster [id*=\\\" dot-wall\\\"] text {\\r\\n font-size: 14px;\\r\\n font-family: 'DINProMedium', sans-serif;\\r\\n}\\r\\n\\r\\n#path-to-force-section-cluster [id^=\\\"polygon_\\\"] text {\\r\\n font-size: 15px;\\r\\n font-family: 'DINProMedium', sans-serif;\\r\\n}\\r\\n\\r\\n@media (min-width: 1200px) {\\r\\n .shop-pay {\\r\\n right: 130px!important;\\r\\n left: auto!important;\\r\\n width: 120px;\\r\\n }\\r\\n .shop-pay .shop,\\r\\n .shop-pay .pay {\\r\\n width: 120px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 1300px) {\\r\\n .shop-pay {\\r\\n right: 135px!important;\\r\\n left: auto!important;\\r\\n width: 120px;\\r\\n }\\r\\n .shop-pay .shop,\\r\\n .shop-pay .pay {\\r\\n width: 120px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 1350px) {\\r\\n .shop-pay {\\r\\n right: 140px!important;\\r\\n left: auto!important;\\r\\n width: 120px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 1351px) {\\r\\n .shop-pay {\\r\\n right: 90px!important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 1400px) {\\r\\n .shop-pay {\\r\\n right: 110px!important;\\r\\n left: auto!important;\\r\\n }\\r\\n .shop-pay .shop,\\r\\n .shop-pay .pay {\\r\\n width: 140px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 1500px) {\\r\\n .shop-pay {\\r\\n right: 90px!important;\\r\\n left: auto!important;\\r\\n width: 160px;\\r\\n }\\r\\n .shop-pay .pay {\\r\\n margin-top: 70px!important;\\r\\n }\\r\\n .shop-pay .shop,\\r\\n .shop-pay .pay {\\r\\n width: 160px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 1600px) {\\r\\n .outcomes-rebbons ul {\\r\\n height: 500px;\\r\\n transform: translateY(-60px);\\r\\n }\\r\\n .outcomes-rebbons ul:after {\\r\\n background-size: auto 80%;\\r\\n }\\r\\n .outcomes-rebbons ul li {\\r\\n padding: 12px 60px 12px 30px;\\r\\n }\\r\\n .outcomes-rebbons ul li:nth-child(2) {\\r\\n margin: 45px 0;\\r\\n }\\r\\n .outcomes-rebbons ul li.time,\\r\\n .outcomes-rebbons ul li.discovered,\\r\\n .outcomes-rebbons ul li.scale {\\r\\n background-size: 70px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 1600px) {\\r\\n .shop-pay {\\r\\n right: 100px!important;\\r\\n left: auto!important;\\r\\n }\\r\\n .shop-pay .pay {\\r\\n margin-top: 80px!important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 1700px) {\\r\\n .shop-pay {\\r\\n right: 110px!important;\\r\\n left: auto!important;\\r\\n }\\r\\n .shop-pay .pay {\\r\\n margin-top: 90px!important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 1800px) {\\r\\n .shop-pay {\\r\\n right: 120px!important;\\r\\n left: auto!important;\\r\\n }\\r\\n .shop-pay .pay {\\r\\n margin-top: 100px!important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 1900px) {\\r\\n .shop-pay {\\r\\n right: 140px!important;\\r\\n left: auto!important;\\r\\n }\\r\\n .shop-pay .pay {\\r\\n margin-top: 110px!important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 2100px) {\\r\\n .shop-pay {\\r\\n right: 160px!important;\\r\\n left: auto!important;\\r\\n }\\r\\n .shop-pay .pay {\\r\\n margin-top: 130px!important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 2200px) {\\r\\n .shop-pay {\\r\\n right: 190px!important;\\r\\n left: auto!important;\\r\\n }\\r\\n .shop-pay .pay {\\r\\n margin-top: 150px!important;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy9wbHVnLW4tcHJlZGljdC10ZWxlY29tL3BsdWctbi1wcmVkaWN0LXRlbGVjb20uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0lBR0k7O0FBRUo7SUFDSSxnQkFBZ0I7SUFDaEIsWUFBWTtDQUNmOztBQUVEO0lBQ0ksZ0JBQWdCO0lBQ2hCLGtDQUFrQztJQUNsQyxpQkFBaUI7SUFDakIsZUFBZTtDQUNsQjs7QUFFRDtJQUNJLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZUFBZTtDQUNsQjs7QUFFRDtJQUNJLG1CQUFtQjtDQUN0Qjs7QUFFRDs7SUFFSSxtQkFBbUI7SUFDbkIsT0FBTztJQUNQLFNBQVM7Q0FDWjs7QUFFRDtJQUNJLG1CQUFtQjtJQUNuQixXQUFXO0lBQ1gsV0FBVztJQUNYLFFBQVE7SUFDUixTQUFTO0lBQ1QsVUFBVTtDQUNiOztBQUVEO0lBQ0ksWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsYUFBYTtJQUNiLFdBQVc7Q0FDZDs7QUFFRDtJQUNJLGdCQUFnQjtDQUNuQjs7QUFFRDtJQUNJLG1CQUFtQjtDQUN0Qjs7QUFFRDtJQUNJLG9CQUFvQjtDQUN2Qjs7QUFHRDs7OztJQUlJOztBQUVKO0lBQ0ksYUFBYTtDQUNoQjs7QUFFRDtJQUNJLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLHNCQUFzQjtJQUN0QixvQkFBb0I7SUFDcEIsWUFBWTtDQUNmOztBQUVEO0lBQ0ksVUFBVTtJQUNWLFVBQVU7SUFDViwwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLFVBQVU7SUFDVixTQUFTO0lBQ1QsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixxQ0FBcUM7SUFDckMsMEJBQTBCO0lBQzFCLGtCQUFrQjtJQUNsQixrQkFBa0I7Q0FDckI7O0FBR0Q7O1FBRVE7O0FBRVI7SUFDSSxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLHFCQUFxQjtDQUN4Qjs7QUFHRDs7OztJ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O0tBQ3hCO0lBQ0Q7UUFDSSw0QkFBNEI7S0FDL0I7Q0FDSjs7QUFFRDtJQUNJO1FBQ0ksdUJBQXVCO1FBQ3ZCLHFCQUFxQjtLQUN4QjtJQUNEO1FBQ0ksNEJBQTRCO0tBQy9CO0NBQ0o7O0FBRUQ7SUFDSTtRQUNJLHVCQUF1QjtRQUN2QixxQkFBcUI7S0FDeEI7SUFDRDtRQUNJLDRCQUE0QjtLQUMvQjtDQUNKIiwiZmlsZSI6InNyYy9hcHAvd2lkZ2V0cy9wbHVnLW4tcHJlZGljdC10ZWxlY29tL3BsdWctbi1wcmVkaWN0LXRlbGVjb20uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHBhdGgge1xyXG4gICAgZmlsbDogbm9uZTtcclxuICAgIHN0cm9rZTogIzk5OTtcclxufSAqL1xyXG5cclxuLmNlbnRlcl9ub2RlX3RleHQge1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgY29sb3I6IHdoaXRlXHJcbn1cclxuXHJcbi5kYXRhLXRleHQtc2VjdGlvbiBoMiB7XHJcbiAgICBmb250LXNpemU6IDQ0cHg7XHJcbiAgICBmb250LWZhbWlseTogJ09zd2FsZCcsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgY29sb3I6ICMzNzg5Yjk7XHJcbn1cclxuXHJcbi5kYXRhLXRleHQtc2VjdGlvbiBoMyB7XHJcbiAgICBmb250LXNpemU6IDM0cHg7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgY29sb3I6ICMzNDM5M2E7XHJcbn1cclxuXHJcbiNwYXRoLXRvLWZvcmNlLXNlY3Rpb24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4jcGF0aC10by1mb3JjZS1zZWN0aW9uIFtjbGFzc149XCJwYXRoLXRvLXRpbWUtbGluZS1zZWN0aW9uX1wiXSxcclxuI3BhdGgtdG8tZm9yY2Utc2VjdGlvbiBbaWRePVwidGhpcmRfbGluZV9cIl0ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcbiNwYXRoLXRvLWZvcmNlLXNlY3Rpb24gI3RpbWVsaW5lLXNlY3Rpb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA4NTBweDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbn1cclxuXHJcbiNwYXRoLXRvLWZvcmNlLXNlY3Rpb24gLmRhdGEtdGV4dC1zZWN0aW9uIHtcclxuICAgIGxlZnQ6IDM2MHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogODAwcHg7XHJcbiAgICB0b3A6IDYzMHB4O1xyXG59XHJcblxyXG4jcGF0aC10by1mb3JjZS1zZWN0aW9uIC50eXBlLXRleHQtc2VjdGlvbiB7XHJcbiAgICBmb250LXNpemU6IDMycHg7XHJcbn1cclxuXHJcbiNwYXRoLXRvLWZvcmNlLXNlY3Rpb24gLnNvbHV0aW9uLXdyYXBwZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ub25lLXBhZ2Utc3Rvcnktd3JhcHBlciAuc29sdXRpb24td3JhcHBlciAuZmxleC1zaHJpbmstMSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NnB4O1xyXG59XHJcblxyXG5cclxuLyogI3Byb2JsZW0tc2VjdGlvbi1jbHVzdGVye1xyXG4gICAgbWFyZ2luOiAtMzBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZsb2F0OiByaWdodDtcclxufSAqL1xyXG5cclxuI3NvbHV0aW9uLXNlY3Rpb24tY2x1c3RlciB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi5wbnAtdGltZWxpbmUtdG9vbHRpcCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjN2M3YzdjO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgei1pbmRleDogOTk7XHJcbiAgICBwYWRkaW5nOiAzcHggMjBweCA2cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMnB4O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5wbnAtdGltZWxpbmUtdG9vbHRpcDphZnRlciB7XHJcbiAgICB0b3A6IDEwMCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgY29udGVudDogXCIgXCI7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEyNCwgMTI0LCAxMjQsIDApO1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzdjN2M3YztcclxuICAgIGJvcmRlci13aWR0aDogOHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IC04cHg7XHJcbn1cclxuXHJcblxyXG4vKiAucGF0aC10by10aW1lLWxpbmUtc2VjdGlvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgfSAqL1xyXG5cclxuLnNlY3Rpb24tMiB7XHJcbiAgICBtaW4taGVpZ2h0OiAxMzAwcHg7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIG1hcmdpbi1ib3R0b206IDY4NXB4O1xyXG59XHJcblxyXG5cclxuLyogI3RpbWVsaW5lLXNlY3Rpb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMjUwcHg7XHJcbiAgICB0b3A6IDEyNzBweFxyXG59ICovXHJcblxyXG4jdGltZWxpbmVfYmxvY2tfMCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDM1MHB4O1xyXG4gICAgLyogbGVmdDogLTk3cHg7ICovXHJcbiAgICBsZWZ0OiAtNjJweDtcclxufVxyXG5cclxuI3RpbWVsaW5lX2Jsb2NrXzEge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAyNTBweDtcclxuICAgIC8qIGxlZnQ6IC00N3B4OyAqL1xyXG4gICAgbGVmdDogLTEycHg7XHJcbn1cclxuXHJcbiN0aW1lbGluZV9ibG9ja18yIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTUwcHg7XHJcbiAgICAvKiBsZWZ0OiAzcHg7ICovXHJcbiAgICBsZWZ0OiAzOHB4O1xyXG59XHJcblxyXG4jdGltZWxpbmVfYmxvY2tfMyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwcHg7XHJcbiAgICAvKiBsZWZ0OiA1M3B4OyAqL1xyXG4gICAgbGVmdDogODhweDtcclxufVxyXG5cclxuI3NvbHV0aW9uLXN2Zy1zZWN0aW9uIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XHJcbn1cclxuXHJcbiNkbmEtYmxvY2tfMCxcclxuI2RuYS1ibG9ja18xLFxyXG4jZG5hLWJsb2NrXzIsXHJcbiNkbmEtYmxvY2tfMyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGVcclxufVxyXG5cclxuI2RuYS1zdmctYmxvY2tfMCxcclxuI2RuYS1zdmctYmxvY2tfMSxcclxuI2RuYS1zdmctYmxvY2tfMixcclxuI2RuYS1zdmctYmxvY2tfMyB7XHJcbiAgICBtYXJnaW46IDAgMTVweDtcclxufVxyXG5cclxuI2RuYS1zdmctYmxvY2tfMD5wYXRoLFxyXG4jZG5hLXN2Zy1ibG9ja18xPnBhdGgsXHJcbiNkbmEtc3ZnLWJsb2NrXzI+cGF0aCxcclxuI2RuYS1zdmctYmxvY2tfMz5wYXRoIHtcclxuICAgIHN0cm9rZTogbm9uZTtcclxufVxyXG5cclxuLmNsZWFyIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgICAvKiAjcGF0aC10by1mb3JjZS1zZWN0aW9uIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA0MjBweFxyXG4gICAgfSAqL1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgICAuY29udGVudC1wb3NpdGlvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gICAgLnNlY3Rpb24tMiB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTQyMHB4ICFpbXBvcnRhbnRcclxuICAgIH1cclxufVxyXG5cclxuLnNvbHV0aW9uLXNlY3Rpb24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZ3JhcGgtdG9vbHRpcCB7XHJcbiAgICAvKiBzZXQgdGhlIENTUyBmb3IgdG9vbHRpcCBkaXZzICovXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAvKiByZWZlcmVuY2UgZm9yIG1lYXN1cmVtZW50ICovXHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAvKiBhbGlnbiB0aGUgdGV4dCB0byB0aGUgY2VudGVyICovXHJcbiAgICBiYWNrZ3JvdW5kOiAjZTc1NjU0O1xyXG4gICAgcGFkZGluZzogMnB4IDEwcHg7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgLyogc2V0IGhvdyByb3VuZGVkIHRoZSBlZGdlcyBvZiB0aGUgcmVjdGFuZ2xlIGlzICovXHJcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xyXG4gICAgbWluLWhlaWdodDogMzBweDtcclxuICAgIC8qICdub25lJyB0ZWxscyB0aGUgbW91c2UgdG8gaWdub3JlIHRoZSByZWN0YW5nbGUgKi9cclxuICAgIHotaW5kZXg6IDk5OTk5O1xyXG59XHJcblxyXG4uc2hvcC1wYXkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDE2MHB4O1xyXG59XHJcblxyXG4uc2hvcC1wYXkgLnNob3AsXHJcbi5zaG9wLXBheSAucGF5IHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB3aWR0aDogMTYwcHg7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUhaW1wb3J0YW50O1xyXG4gICAgdG9wOiBhdXRvIWltcG9ydGFudDtcclxuICAgIGxlZnQ6IGF1dG8haW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2hvcC1wYXkgLnNob3Age1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3Nob3AucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbn1cclxuXHJcbi5zaG9wLXBheSAucGF5IHtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9wYXkucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgICBtYXJnaW4tdG9wOiA1MHB4IWltcG9ydGFudDtcclxufVxyXG5cclxuLnNob3AtcGF5IC5zaG9wLmluLFxyXG4uc2hvcC1wYXkgLnBheS5pbiB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG5cclxuLyogLnNob3AtcGF5IC5zaG9wLmluOmFmdGVye1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB3aWR0aDogMnB4O1xyXG4gICAgYmFja2dyb3VuZDogI2UxZTRlNjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogLTM1cHg7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbn0gKi9cclxuXHJcblxyXG4vKiAucGF0aDFfY29udGV4dCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDE1NHB4O1xyXG4gICAgdG9wOiAzMHB4O1xyXG59XHJcblxyXG4jcGF0aDFfY29udGV4dF8yIHtcclxuICAgIHRvcDogMTUwcHhcclxufSAqL1xyXG5cclxuLm91dGNvbWVzLXJlYmJvbnMge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiA0NiU7XHJcbn1cclxuXHJcbi5vdXRjb21lcy1yZWJib25zIHVsIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDcwcHggMCA3MHB4IDA7XHJcbiAgICBoZWlnaHQ6IDUzMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHdpZHRoOiA5NCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4ub3V0Y29tZXMtcmViYm9ucyB1bDphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9wbnAtb3V0Y29tZXMtc2hhZG93LnBuZycpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgaGVpZ2h0OiAyMCU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDIwMG1zO1xyXG59XHJcblxyXG4ub3V0Y29tZXMtcmViYm9ucyB1bC5pbjphZnRlciB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDIwMG1zO1xyXG59XHJcblxyXG4ub3V0Y29tZXMtcmViYm9ucyB1bCBsaSB7XHJcbiAgICBwYWRkaW5nOiAxNnB4IDYwcHggMTZweCAzMHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICdESU5Qcm9SZWd1bGFyJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogY2FsYygyMHB4ICsgKDI0IC0gMjApICogKDEwMHZ3IC0gMzIwcHgpIC8gKDE5MjAgLSAzMjApKTtcclxuICAgIGNvbG9yOiAjMjUyNzI3O1xyXG4gICAgYmFja2dyb3VuZDogI2YxZjNmNDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgNTBweCA1MHB4IDA7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgMzAwbXM7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGxlZnQ6IC0yMCU7XHJcbn1cclxuXHJcbi5vdXRjb21lcy1yZWJib25zIHVsIGxpOm50aC1jaGlsZCgyKSB7XHJcbiAgICBtYXJnaW46IDY1cHggMDtcclxufVxyXG5cclxuLm91dGNvbWVzLXJlYmJvbnMgdWwuaW4gbGkge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi5vdXRjb21lcy1yZWJib25zIHVsLmluIGxpOm50aC1jaGlsZCgxKSB7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcztcclxufVxyXG5cclxuLm91dGNvbWVzLXJlYmJvbnMgdWwuaW4gbGk6bnRoLWNoaWxkKDIpIHtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDQ1MG1zO1xyXG59XHJcblxyXG4ub3V0Y29tZXMtcmViYm9ucyB1bC5pbiBsaTpudGgtY2hpbGQoMykge1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogNjAwbXM7XHJcbn1cclxuXHJcbi5vdXRjb21lcy1yZWJib25zIHVsIGxpLnRpbWUge1xyXG4gICAgYmFja2dyb3VuZDogIzQ2ZWRjYSB1cmwoJy4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvcG5wLW91dGNvbWVzLXRpbWUucG5nJykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtcclxuICAgIGJveC1zaGFkb3c6IDFweCA2cHggMCAjMzMzMzMzMGY7XHJcbn1cclxuXHJcbi5vdXRjb21lcy1yZWJib25zIHVsIGxpLmRpc2NvdmVyZWQge1xyXG4gICAgYmFja2dyb3VuZDogI2ZjZTE3MiB1cmwoJy4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvcG5wLW91dGNvbWVzLWRpc2NvdmVyZWQucG5nJykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtcclxuICAgIGJveC1zaGFkb3c6IDFweCA2cHggMCAjMzMzMzMzMGY7XHJcbn1cclxuXHJcbi5vdXRjb21lcy1yZWJib25zIHVsIGxpLnNjYWxlIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmFhNzQgdXJsKCcuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3BucC1vdXRjb21lcy1zY2FsZS5wbmcnKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyO1xyXG4gICAgYm94LXNoYWRvdzogMXB4IDZweCAwICMzMzMzMzMwZjtcclxufVxyXG5cclxuXHJcbi8qIC5vdXRjb21lcy1yZWJib25zIHVsLmluIGxpLnRpbWV7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjNmZmQ5IHVybCgnLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9wbnAtb3V0Y29tZXMtdGltZS5wbmcnKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyO1xyXG4gICAgYm94LXNoYWRvdzogMXB4IDZweCAwICMzMzMzMzMzMDtcclxufVxyXG4ub3V0Y29tZXMtcmViYm9ucyB1bC5pbiBsaS5kaXNjb3ZlcmVke1xyXG4gICAgYmFja2dyb3VuZDogI2U4ZjVmZiB1cmwoJy4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvcG5wLW91dGNvbWVzLWRpc2NvdmVyZWQucG5nJykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtcclxuICAgIGJveC1zaGFkb3c6IDFweCA2cHggMCAjMzMzMzMzMzA7XHJcbn1cclxuLm91dGNvbWVzLXJlYmJvbnMgdWwuaW4gbGkuc2NhbGV7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZlYWYwIHVybCgnLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9wbnAtb3V0Y29tZXMtc2NhbGUucG5nJykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtcclxuICAgIGJveC1zaGFkb3c6IDFweCA2cHggMCAjMzMzMzMzMzA7XHJcbn0gKi9cclxuXHJcbi5hcHAtY2lyY2xlLWNsdXN0ZXIge1xyXG4gICAgbWFyZ2luOiAtMzBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLm9uZS1wYWdlLXN0b3J5LXdyYXBwZXIgI3NvbHV0aW9uX2lkIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcclxufVxyXG5cclxuI3BhdGgtdG8tZm9yY2Utc2VjdGlvbi1jbHVzdGVyIHRleHQuY2VudGVyLW5vZGUtdGV4dCxcclxuI3BhdGgtdG8tZm9yY2Utc2VjdGlvbi1jbHVzdGVyIFtpZF49XCJkb3Qtd2FsbFwiXSB0ZXh0LFxyXG4jcGF0aC10by1mb3JjZS1zZWN0aW9uLWNsdXN0ZXIgW2lkKj1cIiBkb3Qtd2FsbFwiXSB0ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtZmFtaWx5OiAnRElOUHJvTWVkaXVtJywgc2Fucy1zZXJpZjtcclxufVxyXG5cclxuI3BhdGgtdG8tZm9yY2Utc2VjdGlvbi1jbHVzdGVyIFtpZF49XCJwb2x5Z29uX1wiXSB0ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIGZvbnQtZmFtaWx5OiAnRElOUHJvTWVkaXVtJywgc2Fucy1zZXJpZjtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgLnNob3AtcGF5IHtcclxuICAgICAgICByaWdodDogMTMwcHghaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOiAxMjBweDtcclxuICAgIH1cclxuICAgIC5zaG9wLXBheSAuc2hvcCxcclxuICAgIC5zaG9wLXBheSAucGF5IHtcclxuICAgICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcclxuICAgIC5zaG9wLXBheSB7XHJcbiAgICAgICAgcmlnaHQ6IDEzNXB4IWltcG9ydGFudDtcclxuICAgICAgICBsZWZ0OiBhdXRvIWltcG9ydGFudDtcclxuICAgICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICB9XHJcbiAgICAuc2hvcC1wYXkgLnNob3AsXHJcbiAgICAuc2hvcC1wYXkgLnBheSB7XHJcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xyXG4gICAgfVxyXG59XHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMzUwcHgpIHtcclxuICAgIC5zaG9wLXBheSB7XHJcbiAgICAgICAgcmlnaHQ6IDE0MHB4IWltcG9ydGFudDtcclxuICAgICAgICBsZWZ0OiBhdXRvIWltcG9ydGFudDtcclxuICAgICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIChtaW4td2lkdGg6IDEzNTFweCkge1xyXG4gICAgLnNob3AtcGF5IHtcclxuICAgICAgICByaWdodDogOTBweCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xyXG4gICAgLnNob3AtcGF5IHtcclxuICAgICAgICByaWdodDogMTEwcHghaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnNob3AtcGF5IC5zaG9wLFxyXG4gICAgLnNob3AtcGF5IC5wYXkge1xyXG4gICAgICAgIHdpZHRoOiAxNDBweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDE1MDBweCkge1xyXG4gICAgLnNob3AtcGF5IHtcclxuICAgICAgICByaWdodDogOTBweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbGVmdDogYXV0byFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgfVxyXG4gICAgLnNob3AtcGF5IC5wYXkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDcwcHghaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnNob3AtcGF5IC5zaG9wLFxyXG4gICAgLnNob3AtcGF5IC5wYXkge1xyXG4gICAgICAgIHdpZHRoOiAxNjBweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDE2MDBweCkge1xyXG4gICAgLm91dGNvbWVzLXJlYmJvbnMgdWwge1xyXG4gICAgICAgIGhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MHB4KTtcclxuICAgIH1cclxuICAgIC5vdXRjb21lcy1yZWJib25zIHVsOmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gODAlO1xyXG4gICAgfVxyXG4gICAgLm91dGNvbWVzLXJlYmJvbnMgdWwgbGkge1xyXG4gICAgICAgIHBhZGRpbmc6IDEycHggNjBweCAxMnB4IDMwcHg7XHJcbiAgICB9XHJcbiAgICAub3V0Y29tZXMtcmViYm9ucyB1bCBsaTpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIG1hcmdpbjogNDVweCAwO1xyXG4gICAgfVxyXG4gICAgLm91dGNvbWVzLXJlYmJvbnMgdWwgbGkudGltZSxcclxuICAgIC5vdXRjb21lcy1yZWJib25zIHVsIGxpLmRpc2NvdmVyZWQsXHJcbiAgICAub3V0Y29tZXMtcmViYm9ucyB1bCBsaS5zY2FsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XHJcbiAgICAuc2hvcC1wYXkge1xyXG4gICAgICAgIHJpZ2h0OiAxMDBweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbGVmdDogYXV0byFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuc2hvcC1wYXkgLnBheSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogODBweCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxNzAwcHgpIHtcclxuICAgIC5zaG9wLXBheSB7XHJcbiAgICAgICAgcmlnaHQ6IDExMHB4IWltcG9ydGFudDtcclxuICAgICAgICBsZWZ0OiBhdXRvIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5zaG9wLXBheSAucGF5IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA5MHB4IWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDE4MDBweCkge1xyXG4gICAgLnNob3AtcGF5IHtcclxuICAgICAgICByaWdodDogMTIwcHghaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnNob3AtcGF5IC5wYXkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwMHB4IWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDE5MDBweCkge1xyXG4gICAgLnNob3AtcGF5IHtcclxuICAgICAgICByaWdodDogMTQwcHghaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnNob3AtcGF5IC5wYXkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDExMHB4IWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDIxMDBweCkge1xyXG4gICAgLnNob3AtcGF5IHtcclxuICAgICAgICByaWdodDogMTYwcHghaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnNob3AtcGF5IC5wYXkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEzMHB4IWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDIyMDBweCkge1xyXG4gICAgLnNob3AtcGF5IHtcclxuICAgICAgICByaWdodDogMTkwcHghaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnNob3AtcGF5IC5wYXkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1MHB4IWltcG9ydGFudDtcclxuICAgIH1cclxufSJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Problem

\\r\\n

Telecom Customer Journey – Leakage Prediction

\\r\\n

There are several leakage points along a telecom customer’s journey including cart abandonment, surge calling, port-out, and churn. Each represents a significant addressable revenue loss or cost-saving opportunity. They are, however, challenging\\r\\n problems to address. Given the scale of customers and diversity of data it is like searching for a ‘needle in the haystack’.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Data

\\r\\n

Customer Journey Timeline

\\r\\n

Rich temporal data is available at the individual customer grain. This includes information on digital clickstream data from website session, demographics, device purchases/upgrades, and data plan changes.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Solution

\\r\\n

Evolutionary algorithm concept

\\r\\n

Evolutionary algorithms combine atomic features in the raw data to generate molecular features with higher predictive power.

\\r\\n
\\r\\n

Multi-generation population viewer - from baseline to optimized features

\\r\\n

The algorithm mimics life - creating multiple generations of molecular features. Each feature is either a cross-over of two existing 'parent features' or a mutation. Features in each generation survive based on their fitness or predictive\\r\\n power.\\r\\n

\\r\\n

Data Science View

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Outcomes

\\r\\n

Plug-N-Predict Results

\\r\\n

Molecular features are converted to extremely disproportionate customer micro-clusters. Each micro-cluster has likelihood of leakage events. Each cluster is a targeted set with explainable characteristics for designing interventions

\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • Reduced run-time from days to hour
  • \\r\\n
  • 1000+ New hypotheses discovered
  • \\r\\n
  • Plug-N-Predict pipelines runs at scale
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, ViewEncapsulation, Output, EventEmitter, OnDestroy, Input, Renderer2, AfterViewChecked } from '@angular/core';\r\nimport * as _ from 'lodash';\r\nimport { Router } from '@angular/router';\r\nimport { PlugNPredictTelecomService } from './plug-n-predict-telecom.service';\r\nimport { D3CustomShapesService } from '../../services/helper/d3-custom-shapes.service';\r\nimport { SmallClusterService } from 'src/app/services/small-cluster.service';\r\nimport { D3EventTimelineService } from 'src/app/services/d3-event-timeline.service';\r\nimport { GoogleAnalyticsService } from 'src/app/services/google-analytics.service';\r\n\r\ndeclare const d3: any;\r\n\r\n@Component({\r\n selector: 'app-plug-n-predict-telecom',\r\n templateUrl: './plug-n-predict-telecom.component.html',\r\n styleUrls: ['./plug-n-predict-telecom.component.css'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [PlugNPredictTelecomService, SmallClusterService]\r\n})\r\nexport class PlugNPredictTelecomComponent implements OnInit, AfterViewChecked, OnDestroy {\r\n\r\n @Output() public onVisibleSectionChange = new EventEmitter();\r\n @Input() widgetData;\r\n customerData: any = [];\r\n settings: any = {\r\n circleCluster: null\r\n };\r\n scrollTop;\r\n commonContainer: any = {\r\n svg: null,\r\n parentNodeId: \"path-to-force-section\", /* plug-n-predict-telecom-svg-container */\r\n margin: {\r\n top: 10,\r\n right: 40,\r\n bottom: 30,\r\n left: 30\r\n },\r\n width: 1500, //1280\r\n height: 4200,\r\n categories: [\r\n {\r\n type: \"abandonCart\",\r\n color: \"#faa24c\"\r\n },\r\n {\r\n type: \"surgeCall\",\r\n color: \"#39b2ff\"\r\n },\r\n {\r\n type: \"portOut\",\r\n color: \"#a1be00\"\r\n },\r\n {\r\n type: \"churn\",\r\n color: \"#d94785\"\r\n }\r\n ],\r\n lineGenerator: null,\r\n circleRadius: 8,\r\n shapes: [\"hexagoan\", \"square\", \"triangleDown\", \"star\"],\r\n aspectRatio: 0,\r\n textContainerDetails: [\r\n {\r\n to: 'data_id',\r\n from: 'second_path_3'\r\n }\r\n ],\r\n scrollLength: null,\r\n renderStory: null,\r\n windowRequestFrameId: null\r\n };\r\n sectionsHolder: any = {\r\n proble: null,\r\n problemToData: {\r\n firstLinePath: null,\r\n smallCluster: {\r\n details: [],\r\n flag: [],\r\n updateCluster: Function\r\n },\r\n secondLinePath: null\r\n },\r\n dataToSolution: {\r\n thirdLinePath: null,\r\n timeline: {\r\n details: [],\r\n flag: [],\r\n updateTimeline: Function\r\n }\r\n },\r\n solution: {\r\n details: [],\r\n flag: [],\r\n updateDna: null\r\n },\r\n solutionToOutcome: null,\r\n outcome: {\r\n dotWall: null,\r\n barChart: null\r\n }\r\n };\r\n\r\n windowListner;\r\n private _lastHeight: number;\r\n\r\n constructor(\r\n private router: Router,\r\n private plugNPredictService: PlugNPredictTelecomService,\r\n private _D3CustomShapesService: D3CustomShapesService,\r\n private smallClusterService: SmallClusterService,\r\n private timelineService: D3EventTimelineService,\r\n private _gaService: GoogleAnalyticsService,\r\n private renderer: Renderer2) { }\r\n\r\n ngAfterViewChecked(): void {\r\n const scrollWindowHeight = document.getElementById('scroll-container').offsetHeight;\r\n if (this._lastHeight !== scrollWindowHeight) {\r\n this._lastHeight = scrollWindowHeight;\r\n setTimeout(() => {\r\n this.changeWindowDetails();\r\n }, 500);\r\n }\r\n }\r\n ngAfterViewInit() {\r\n //Initialize Dna Arc Path and PathScale\r\n\r\n this.sectionsHolder.solutionToOutcome.updateRainData();\r\n\r\n this.commonContainer.svg\r\n .call(this.responsivefy.bind(this));\r\n\r\n this.windowListner = this.renderer.listen(window, 'resize', _.debounce(this.changeWindowDetails.bind(this), 700));\r\n }\r\n\r\n initializeDnaPath(start, end) {\r\n let tempObject = null, path = { dna: [] }, pathScales = { dna: [] }, domain = null;\r\n\r\n //Get Dna Path\r\n for (let index = 0; index < 4; index++) {\r\n tempObject = {\r\n \"left\": this.commonContainer.svg.select(\"#dna-arc-left-\" + index),\r\n \"right\": this.commonContainer.svg.select(\"#dna-arc-right-\" + index)\r\n }\r\n path.dna.push(tempObject);\r\n }\r\n\r\n //Function to set pathScale\r\n let setPathScale = (path, domain) => {\r\n return d3.scale.linear()\r\n .domain([domain.start, domain.end])\r\n .range([0, path.node().getTotalLength()])\r\n .clamp(true);\r\n }\r\n\r\n //Set Scale Path\r\n let leftPath = null, rightPath = null;\r\n tempObject = null;\r\n domain = {\r\n start,\r\n end,\r\n };\r\n for (let index = 0; index < 4; index++) {\r\n leftPath = path.dna[index].left;\r\n rightPath = path.dna[index].left;\r\n tempObject = {\r\n left: setPathScale(leftPath, domain),\r\n right: setPathScale(rightPath, domain)\r\n };\r\n pathScales.dna.push(tempObject);\r\n }\r\n\r\n return {\r\n path, pathScales\r\n }\r\n }\r\n\r\n onScrollSecionChange($event) {\r\n this.onVisibleSectionChange.emit($event);\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.createSVGContainer();\r\n this.initializeLineScales();\r\n this.sectionsHolder.problem = this.initializeCircleCluster();\r\n this.sectionsHolder.problemToData.firstLinePath = this.initializeProblemToDataFirstLinePaths();\r\n this.sectionsHolder.problemToData.secondLinePath = this.initializeProblemToDataSecondLinePaths();\r\n this.sectionsHolder.problemToData.smallCluster.updateCluster = this.renderproblemSmallCluster();\r\n this.sectionsHolder.dataToSolution.timeline.updateTimeline = this.renderTimeline();\r\n this.sectionsHolder.dataToSolution.thirdLinePath = this.initializeProblemToDataThirdLinePaths();\r\n this.sectionsHolder.solution.updateDna = this.renderDna();\r\n this.sectionsHolder.solutionToOutcome = this.renderRainBlock();\r\n this.sectionsHolder.outcome.dotWall = this.outcomeDotWall();\r\n this.sectionsHolder.outcome.barChart = this.renderBarChart();\r\n this.sectionsHolder.renderStory = this.renderStory();\r\n }\r\n\r\n private initializeCircleCluster() {\r\n //Initialize data for cluster of circles with count 250\r\n this.plugNPredictService.setCustomerData(250);\r\n //Get data object\r\n this.customerData = this.plugNPredictService.getCustomerData();\r\n\r\n this.settings.circleCluster = {\r\n width: 500,\r\n height: 500,\r\n charge: -15,\r\n circleRadius: 8,\r\n circleColor: \"#aaafb5\",\r\n id: 'circles-cluster',\r\n parentSvg: this.commonContainer.svg,\r\n transformX: 1000,\r\n transformY: 0\r\n }\r\n\r\n let toggleBigCircleOpacity = (beforeTransition, afterTransition) => {\r\n d3.select(\"#\" + this.settings.circleCluster.id + \"-svg\")\r\n .selectAll(\"circle\")\r\n .attr(\"fill-opacity\", beforeTransition)\r\n .attr(\"stroke-opacity\", beforeTransition)\r\n .transition()\r\n .ease(\"ease-out\")\r\n .duration(function (d, i) {\r\n return 5 * i;\r\n })\r\n .attr(\"fill-opacity\", afterTransition)\r\n .attr(\"stroke-opacity\", afterTransition)\r\n }\r\n\r\n return {\r\n toggleBigCircleOpacity\r\n }\r\n }\r\n\r\n onScrollSectionChange($event) {\r\n this.onVisibleSectionChange.emit($event);\r\n }\r\n\r\n createSVGContainer() {\r\n this.commonContainer.svg = d3.select(\"#\" + this.commonContainer.parentNodeId).append(\"svg\")\r\n .attr(\"id\", \"path-to-force-section-cluster\")\r\n .attr(\"width\", this.commonContainer.width)\r\n .attr(\"height\", this.commonContainer.height)\r\n // .call(this.responsivefy);\r\n }\r\n\r\n initializeLineScales() {\r\n let widthScale = (this.commonContainer.width - this.commonContainer.margin.left - this.commonContainer.margin.right);\r\n this.commonContainer.xScale = d3.scale.linear().domain([0, widthScale - 50]).range([widthScale - 50, 0]);\r\n this.commonContainer.yScale = d3.scale.linear().domain([0, 550]).range([0, 550]);\r\n\r\n this.commonContainer.lineGenerator = d3.svg.line()\r\n .x((d, i) => {\r\n return this.commonContainer.xScale(d.xCoordinate);\r\n })\r\n .y((d) => {\r\n return this.commonContainer.yScale(d.yCoordinate);\r\n });\r\n }\r\n\r\n private initializeProblemToDataFirstLinePaths() {\r\n\r\n let abanDonCartLinePoints = [{\r\n xCoordinate: 120,\r\n yCoordinate: 460\r\n }, {\r\n xCoordinate: 120,\r\n yCoordinate: 600\r\n }, {\r\n xCoordinate: 500,\r\n yCoordinate: 600\r\n },];\r\n\r\n let surgeCallLinePoints = [{\r\n xCoordinate: 120,\r\n yCoordinate: 460\r\n }, {\r\n xCoordinate: 120,\r\n yCoordinate: 750\r\n }, {\r\n xCoordinate: 400,\r\n yCoordinate: 750\r\n },];\r\n\r\n let portOutLinePoints = [{\r\n xCoordinate: 120,\r\n yCoordinate: 460\r\n }, {\r\n xCoordinate: 120,\r\n yCoordinate: 800\r\n }, {\r\n xCoordinate: 300,\r\n yCoordinate: 800\r\n }, {\r\n xCoordinate: 300,\r\n yCoordinate: 850\r\n },\r\n\r\n ];\r\n\r\n let churnLinePoints = [{\r\n xCoordinate: 120,\r\n yCoordinate: 460\r\n }, {\r\n xCoordinate: 120,\r\n yCoordinate: 800\r\n }, {\r\n xCoordinate: 10,\r\n yCoordinate: 800\r\n }, {\r\n xCoordinate: 10,\r\n yCoordinate: 850\r\n },\r\n\r\n ];\r\n\r\n let mainLinePoints = [{\r\n xCoordinate: 120,\r\n yCoordinate: 460\r\n }, {\r\n xCoordinate: 120,\r\n yCoordinate: 800\r\n }];\r\n\r\n let firstLinePath = [];\r\n\r\n let firstLinePoints = [\r\n abanDonCartLinePoints,\r\n surgeCallLinePoints,\r\n portOutLinePoints,\r\n churnLinePoints\r\n ]\r\n\r\n let firstLinePathScales = [];\r\n\r\n let drawFirstLinePath = () => {\r\n\r\n for (let index = 0; index < 4; index++) {\r\n firstLinePath[index] = this.drawLinePath(firstLinePoints[index], {\r\n strokeColor: this.commonContainer.categories[index].color,\r\n strokeWidth: 1,\r\n id: \"first_path_\" + index\r\n });\r\n firstLinePathScales[index] = d3.scale.linear()\r\n .domain([310, 200])//SCROLL_LENGTH - 2200\r\n .range([firstLinePath[index].node().getTotalLength(), 0])\r\n .clamp(true);\r\n }\r\n firstLinePath[4] = this.drawLinePath(mainLinePoints, {\r\n strokeColor: \"#e1e4e6\",\r\n strokeWidth: 2,\r\n id: \"first_path_\" + 4\r\n });\r\n\r\n\r\n firstLinePathScales[4] = d3.scale.linear()\r\n .domain([210, 200])//([SCROLL_LENGTH - 2300])\r\n .range([firstLinePath[4].node().getTotalLength(), 0])\r\n .clamp(true);\r\n\r\n // initializePathToForce();\r\n }\r\n\r\n\r\n let updateFirstLinePathLength = (path, index, scrollTop) => {\r\n path\r\n .style('stroke-dashoffset', (d) => {\r\n if (firstLinePathScales[index](scrollTop) > 0) {\r\n d3.select(\"#path1_context_1\").classed('in', true);\r\n } else {\r\n d3.select(\"#path1_context_1\").classed('in', false);\r\n }\r\n\r\n if (firstLinePathScales[index](scrollTop) > 200) {\r\n d3.select(\"#path1_context_2\").classed('in', true);\r\n } else {\r\n d3.select(\"#path1_context_2\").classed('in', false);\r\n }\r\n\r\n movingCirclesOnPath.updateFirstLineShapesAnimation(index, scrollTop);\r\n // console.log(\"!this.sectionsHolder.problem.toggleedOpacity && firstLinePathScales[index](scrollTop)\", !this.sectionsHolder.problem.toggleedOpacity, firstLinePathScales[index](scrollTop));\r\n if (!this.sectionsHolder.problem.toggleedOpacity && firstLinePathScales[index](scrollTop) > 0) {\r\n this.sectionsHolder.problem.toggleedOpacity = true;\r\n this.sectionsHolder.problem.toggleBigCircleOpacity(1, 0);\r\n } else if (firstLinePathScales[index](scrollTop) == 0 && this.sectionsHolder.problem.toggleedOpacity) {\r\n this.sectionsHolder.problem.toggleedOpacity = false;\r\n this.sectionsHolder.problem.toggleBigCircleOpacity(0, 1);\r\n }\r\n\r\n return path.node().getTotalLength() - firstLinePathScales[index](scrollTop) + 'px';\r\n });\r\n\r\n\r\n }\r\n drawFirstLinePath();\r\n\r\n let movingCirclesOnPath = (() => {\r\n let movingCircles = [];\r\n let categoriesLength = this.commonContainer.categories.length;\r\n for (var index = 0; index < 25; index++) {\r\n movingCircles.push({\r\n id: index + 1,\r\n type: this.commonContainer.categories[(index % categoriesLength)].type,\r\n })\r\n }\r\n\r\n let drawMovingCircles = () => {\r\n this.commonContainer.svg\r\n .append(\"g\")\r\n .selectAll(\"circle\")\r\n .data(movingCircles)\r\n .enter()\r\n .append(\"circle\")\r\n .attr(\"class\", \"first-line-moving-circle\")\r\n .attr(\"cx\", this.commonContainer.xScale(100)) //Starting x\r\n .attr(\"cy\", this.commonContainer.yScale(12)) //Starting y\r\n .attr(\"r\", this.commonContainer.circleRadius)\r\n .attr(\"id\", function (d, i) {\r\n return \"id_circle_\" + d.id;\r\n })\r\n .attr('fill', \"none\");\r\n };\r\n drawMovingCircles();\r\n\r\n var firstPathFlag = [0, 0, 0, 0], firstFlag = false;;\r\n let firstLineShapesTween = (index, i, d, scrollTop) => {\r\n let linePath = firstLinePath[index];\r\n let length = linePath.node().getTotalLength(); // Get the length of the path \r\n let r = d3.interpolate(0, length); //Set up interpolation from 0 to the path length\r\n var diffFactorForEachShapes = (firstLinePathScales[index](scrollTop) == length) ? 0 : (i * 10);\r\n var divideAdjFactor = length;\r\n var point = linePath.node().getPointAtLength(r(((firstLinePathScales[index](scrollTop) - diffFactorForEachShapes)) / divideAdjFactor)); // Get the next point along the path\r\n this.commonContainer.svg.select(\"#id_circle_\" + d.id)\r\n .attr(\"cx\", point.x)\r\n .attr(\"cy\", point.y)\r\n .attr(\"fill\", this.commonContainer.categories[index].color)\r\n .attr(\"fill-opacity\", firstLinePathScales[index](scrollTop) < 10 ? 0 : 1);\r\n\r\n if (!firstPathFlag[index] && firstLinePathScales[index](scrollTop) == length) {\r\n this.sectionsHolder.problemToData.smallCluster.updateCluster.updateOpacityOfAllCircles(index, 1);\r\n this.sectionsHolder.problemToData.smallCluster.updateCluster.updateSmallClusterForce(index);\r\n firstPathFlag[index] = 1;\r\n } else if (firstPathFlag[index] && firstLinePathScales[index](scrollTop) < length) {\r\n this.sectionsHolder.problemToData.smallCluster.updateCluster.updateOpacityOfAllCircles(index, 0);\r\n firstPathFlag[index] = 0;\r\n }\r\n }\r\n\r\n let updateFirstLineShapesAnimation = (index, scrollTop) => {\r\n if (index > 3) {\r\n return;\r\n }\r\n let movingCircles = this.commonContainer.svg.selectAll(\".first-line-moving-circle\");\r\n movingCircles\r\n .attr(\"fill-opacity\", 1)\r\n .each(function (d, i) {\r\n if (d.type == \"abandonCart\") {\r\n firstLineShapesTween(0, i, d, scrollTop);\r\n } else if (d.type == \"surgeCall\") {\r\n firstLineShapesTween(1, i, d, scrollTop);\r\n } else if (d.type == \"portOut\") {\r\n firstLineShapesTween(2, i, d, scrollTop);\r\n } else if (d.type == \"churn\") {\r\n firstLineShapesTween(3, i, d, scrollTop);\r\n }\r\n })\r\n }\r\n\r\n return {\r\n updateFirstLineShapesAnimation\r\n }\r\n\r\n })();\r\n\r\n let animateFirstLinePath = (scrollTop) => {\r\n for (let i = 0; i < 4; i++) {\r\n updateFirstLinePathLength(firstLinePath[i], i, scrollTop)\r\n }\r\n updateFirstLinePathLength(firstLinePath[4], 4, scrollTop);\r\n }\r\n\r\n let updateFirstPathScale = () => {\r\n const { scrollLength, aspectRatio } = this.commonContainer;\r\n for (let index = 0; index < 4; index++) {\r\n firstLinePathScales[index] = d3.scale.linear()\r\n .domain([(scrollLength * 0.052) / aspectRatio, (scrollLength * 0.029) / aspectRatio])//SCROLL_LENGTH - 2200\r\n .range([firstLinePath[index].node().getTotalLength(), 0])\r\n .clamp(true);\r\n }\r\n\r\n firstLinePathScales[4] = d3.scale.linear()\r\n .domain([(scrollLength * 0.049) / aspectRatio, (scrollLength * 0.029) / aspectRatio])//([SCROLL_LENGTH - 2300])\r\n .range([firstLinePath[4].node().getTotalLength(), 0])\r\n .clamp(true);\r\n }\r\n\r\n return {\r\n animateFirstLinePath,\r\n updateFirstPathScale\r\n }\r\n\r\n }\r\n\r\n private initializeProblemToDataSecondLinePaths() {\r\n //Creating Next Set of Lines (2)\r\n let abanDonCartLinePoints_Line2 = [{\r\n xCoordinate: 700,\r\n yCoordinate: 600\r\n }, {\r\n xCoordinate: 1310,\r\n yCoordinate: 600\r\n }, {\r\n xCoordinate: 1310,\r\n yCoordinate: 1750\r\n }, {\r\n xCoordinate: 1050,\r\n yCoordinate: 1750\r\n },]\r\n\r\n let surgeCallLinePoints_Line2 = [{\r\n xCoordinate: 580,\r\n yCoordinate: 800\r\n }, {\r\n xCoordinate: 1250,\r\n yCoordinate: 800\r\n }, {\r\n xCoordinate: 1250,\r\n yCoordinate: 1650\r\n }, {\r\n xCoordinate: 1000,\r\n yCoordinate: 1650\r\n },];\r\n\r\n let portOutLinePoints_Line2 = [{\r\n xCoordinate: 400,\r\n yCoordinate: 950\r\n }, {\r\n xCoordinate: 1190,\r\n yCoordinate: 950\r\n }, {\r\n xCoordinate: 1190,\r\n yCoordinate: 1550\r\n }, {\r\n xCoordinate: 950,\r\n yCoordinate: 1550\r\n },];\r\n\r\n let churnLinePoints_Line2 = [{\r\n xCoordinate: 10,\r\n yCoordinate: 1050\r\n }, {\r\n xCoordinate: 10,\r\n yCoordinate: 1080\r\n }, {\r\n xCoordinate: 1130,\r\n yCoordinate: 1080\r\n }, {\r\n xCoordinate: 1130,\r\n yCoordinate: 1450\r\n }, {\r\n xCoordinate: 900,\r\n yCoordinate: 1450\r\n }];\r\n\r\n\r\n let secondLineCoordinates = [\r\n abanDonCartLinePoints_Line2,\r\n surgeCallLinePoints_Line2,\r\n portOutLinePoints_Line2,\r\n churnLinePoints_Line2\r\n ]\r\n\r\n let secondLineAxis: any = [\r\n abanDonCartLinePoints_Line2[0],\r\n surgeCallLinePoints_Line2[0],\r\n portOutLinePoints_Line2[0],\r\n churnLinePoints_Line2[0]\r\n ]\r\n\r\n let secondLineTextAxis = [{\r\n x: 460,\r\n y: 590\r\n }, {\r\n x: 640,\r\n y: 790\r\n }, {\r\n x: 860,\r\n y: 940\r\n }, {\r\n x: 1270,\r\n y: 1070\r\n }]\r\n let secondLinePathScales = [];\r\n let secondLinePath = [];\r\n let secondLineObject = [];\r\n let secondLineText = [\"Abandon Cart\", \"Surge Call\", \"Port Out\", \"Churn\"];\r\n\r\n let displayCategoriesName = (index) => {\r\n this.commonContainer.svg.select(\"#second_path_\" + index).append(\"text\")\r\n .attr(\"x\", secondLineTextAxis[index].x)\r\n .attr(\"y\", secondLineTextAxis[index].y)\r\n .attr(\"class\", \"type-text-section\")\r\n .attr(\"fill\", this.commonContainer.categories[index].color)\r\n .text(secondLineText[index])\r\n .attr(\"fill-opacity\", 0);\r\n }\r\n let movingCircles = (() => {\r\n let createMovingCircle = (index, startingCoordinates) => {\r\n this.commonContainer.svg.select(\"#second_path_\" + index)\r\n .selectAll(\"circle\")\r\n .data([\r\n {\r\n id: index,\r\n type: this.commonContainer.categories[index].type\r\n }\r\n ])\r\n .enter()\r\n .append(\"circle\")\r\n .attr(\"cx\", this.commonContainer.xScale(startingCoordinates.xCoordinate)) //Starting x\r\n .attr(\"cy\", this.commonContainer.yScale(startingCoordinates.yCoordinate)) //Starting y\r\n .attr(\"r\", this.commonContainer.circleRadius)\r\n .attr('fill', this.commonContainer.categories[index].color)\r\n .attr(\"opacity\", 0)\r\n }\r\n\r\n let secondPathFlag = [0, 0, 0, 0];\r\n let secondLinePathTween = (linePath, index, i, scrollTop) => {\r\n let length = linePath.node().getTotalLength(); // Get the length of the path\r\n let r = d3.interpolate(0, length); //Set up interpolation from 0 to the path length\r\n let divideAdjFactor = (length - secondLinePathScales[index](scrollTop)) < 100 ? length : length + 100;\r\n let point = linePath.node().getPointAtLength(r((secondLinePathScales[index](scrollTop)) / divideAdjFactor)); // Get the next point along the path\r\n this.commonContainer.svg.select(\"#second_path_\" + index)\r\n .selectAll(\"circle\") // Select the circle\r\n .attr(\"cx\", point.x) // Set the cx\r\n .attr(\"cy\", point.y)\r\n .attr(\"opacity\", 1) // Set the cy\r\n }\r\n\r\n let updateSecondCircleAnimation = (index, scrollTop) => {\r\n var movingCircles = this.commonContainer.svg.select(\"#second_path_\" + index).selectAll(\"circle\");\r\n movingCircles\r\n .attr(\"fill-opacity\", 1)\r\n .attr(\"d\", function (d, i) {\r\n secondLinePathTween(secondLinePath[index], index, i, scrollTop);\r\n });\r\n }\r\n\r\n return {\r\n createMovingCircle,\r\n updateSecondCircleAnimation\r\n }\r\n })();\r\n\r\n\r\n let drawSecondLinePath = () => {\r\n for (let index = 0; index < 4; index++) {\r\n secondLinePath[index] = this.drawLinePath(secondLineCoordinates[index], {\r\n strokeColor: this.commonContainer.categories[index].color,\r\n strokeWidth: 1,\r\n id: \"second_path_\" + index\r\n });\r\n secondLinePathScales[index] = d3.scale.linear()\r\n .domain([1260, 350])//SCROLL_LENGTH - 1250\r\n .range([secondLinePath[index].node().getTotalLength(), 0])\r\n .clamp(true);\r\n displayCategoriesName(index);\r\n movingCircles.createMovingCircle(index, secondLineCoordinates[index][0]);\r\n }\r\n\r\n }\r\n let toggleCategoriesName = (index, opacity) => {\r\n this.commonContainer.svg.select(\"#second_path_\" + index).selectAll('text')\r\n .attr(\"fill-opacity\", opacity);\r\n }\r\n let hideTextAndCirclies = (index) => {\r\n let circles = this.commonContainer.svg.select(\"#second_path_\" + index).selectAll(\"circle\");\r\n circles.attr(\"fill-opacity\", 0)\r\n toggleCategoriesName(index, 0)\r\n }\r\n\r\n\r\n let updateSecondLinePathLength = (path, index, scrollTop) => {\r\n path\r\n .style('stroke-dashoffset', function (d) {\r\n movingCircles.updateSecondCircleAnimation(index, scrollTop);\r\n if (secondLinePathScales[index](scrollTop) <= 30) {\r\n hideTextAndCirclies(index);\r\n } else if (secondLinePathScales[index](scrollTop) >= 30) {\r\n toggleCategoriesName(index, 1);\r\n }\r\n return path.node().getTotalLength() - secondLinePathScales[index](scrollTop) + 'px';\r\n });\r\n }\r\n\r\n let animateSecondLinePath = (scrollTop) => {\r\n for (let secondIndex = 0; secondIndex < 4; secondIndex++) {\r\n updateSecondLinePathLength(secondLinePath[secondIndex], secondIndex, scrollTop);\r\n }\r\n\r\n }\r\n drawSecondLinePath();\r\n\r\n let updateSecondPathScale = () => {\r\n const { scrollLength, aspectRatio } = this.commonContainer;\r\n for (let index = 0; index < 4; index++) {\r\n secondLinePathScales[index] = d3.scale.linear()\r\n .domain([(scrollLength * 0.155) / aspectRatio, (scrollLength * 0.052) / aspectRatio])//SCROLL_LENGTH - 1250\r\n .range([secondLinePath[index].node().getTotalLength(), 0])\r\n .clamp(true);\r\n }\r\n }\r\n\r\n return {\r\n animateSecondLinePath,\r\n updateSecondPathScale\r\n }\r\n\r\n }\r\n\r\n private initializeProblemToDataThirdLinePaths() {\r\n let thirdLineData = [];\r\n let thirdLinePath = []\r\n let thirdLinePathScales = [];\r\n\r\n for (let lineIndex = 0; lineIndex < 4; lineIndex++) {\r\n thirdLineData[lineIndex] = [];\r\n for (let index = 0; index < 3; index++) {\r\n thirdLineData[lineIndex].push({\r\n id: index,\r\n type: this.commonContainer.categories[index].type\r\n });\r\n }\r\n }\r\n\r\n //Creating Next Set of Lines (2)\r\n let abanDonCartLinePoints_Line3 = [\r\n {\r\n xCoordinate: 282,\r\n yCoordinate: 1750\r\n }, {\r\n xCoordinate: 130,\r\n yCoordinate: 1750\r\n }, {\r\n xCoordinate: 130,\r\n yCoordinate: 1800\r\n }, {\r\n xCoordinate: 555,\r\n yCoordinate: 1800\r\n }, {\r\n xCoordinate: 555,\r\n yCoordinate: 2000\r\n },]\r\n\r\n let surgeCallLinePoints_Line3 = [{\r\n xCoordinate: 232,\r\n yCoordinate: 1650\r\n }, {\r\n xCoordinate: 70,\r\n yCoordinate: 1650\r\n }, {\r\n xCoordinate: 70,\r\n yCoordinate: 1850\r\n }, {\r\n xCoordinate: 375,\r\n yCoordinate: 1850\r\n }, {\r\n xCoordinate: 375,\r\n yCoordinate: 2000\r\n },];\r\n\r\n let portOutLinePoints_Line3 = [{\r\n xCoordinate: 182,\r\n yCoordinate: 1550\r\n }, {\r\n xCoordinate: 10,\r\n yCoordinate: 1550\r\n }, {\r\n xCoordinate: 10,\r\n yCoordinate: 1900\r\n }, {\r\n xCoordinate: 195,\r\n yCoordinate: 1900\r\n }, {\r\n xCoordinate: 195,\r\n yCoordinate: 2000\r\n },];\r\n\r\n let churnLinePoints_Line3 = [{\r\n xCoordinate: 132,\r\n yCoordinate: 1450\r\n }, {\r\n xCoordinate: -50,\r\n yCoordinate: 1450\r\n }, {\r\n xCoordinate: -50,\r\n yCoordinate: 1950\r\n }, {\r\n xCoordinate: 15,\r\n yCoordinate: 1950\r\n }, {\r\n xCoordinate: 15,\r\n yCoordinate: 2000\r\n },];\r\n\r\n let thirdLineCoordinates = [\r\n abanDonCartLinePoints_Line3,\r\n surgeCallLinePoints_Line3,\r\n portOutLinePoints_Line3,\r\n churnLinePoints_Line3\r\n ];\r\n\r\n let line3_EndPoint = [\r\n abanDonCartLinePoints_Line3[abanDonCartLinePoints_Line3.length - 1],\r\n surgeCallLinePoints_Line3[surgeCallLinePoints_Line3.length - 1],\r\n portOutLinePoints_Line3[portOutLinePoints_Line3.length - 1],\r\n churnLinePoints_Line3[churnLinePoints_Line3.length - 1]\r\n ]\r\n\r\n let movingShapes = (() => {\r\n let totalShapes = this.commonContainer.shapes.length;\r\n let createShapes = (index, startingCoordinates) => {\r\n this.commonContainer.svg.select(\"#third_path_\" + index).selectAll(\".third-line-shapes\")\r\n .data(thirdLineData[index])\r\n .enter()\r\n .append(\"path\")\r\n .attr(\"class\", \"third-line-shapes\")\r\n .attr(\"id\", function (d, i) {\r\n return \"third-line-shapes_\" + index + \"_\" + i;\r\n })\r\n .attr(\"d\", (d) => {\r\n return this._D3CustomShapesService.getShapeCoordinates([this.commonContainer.shapes[Math.floor(Math.random() * totalShapes)]], (60 * 2))\r\n })\r\n .attr(\"transform\", \"translate(\" + this.commonContainer.xScale(startingCoordinates.xCoordinate) + \", \" + this.commonContainer.yScale(startingCoordinates.yCoordinate) + \")\")\r\n .style('fill', this.commonContainer.categories[index].color)\r\n .style('stroke', \"none\")\r\n .attr(\"opacity\", 0);\r\n }\r\n\r\n let updateThirdCircleAnimation = (index, scrollTop) => {\r\n // thirdLinePathTween(thirdLinePath[index], index)();\r\n let movingShapes = this.commonContainer.svg.select(\"#third_path_\" + index).selectAll(\".third-line-shapes\");\r\n movingShapes\r\n .each(function (d, i) {\r\n thirdLinePathTween(thirdLinePath[index], index, i, scrollTop);\r\n })\r\n }\r\n\r\n let thirdLinePathTween = (linePath, index, i, scrollTop) => {\r\n let length = linePath.node().getTotalLength(); // Get the length of the path \r\n let r = d3.interpolate(0, length); //Set up interpolation from 0 to the path length\r\n let movedLineLength = thirdLinePathScales[index](scrollTop);\r\n let diffFactorForEachShapes = (movedLineLength == length) ? 0 : (i * 200);\r\n let divideAdjFactor = (length - (movedLineLength - diffFactorForEachShapes)) < 100 ? length : length + 100;\r\n\r\n // console.log(\"(movedLineLength)\", (movedLineLength), \"index\", index);\r\n let point = linePath.node().getPointAtLength(r(((movedLineLength - diffFactorForEachShapes)) / divideAdjFactor)); // Get the next point along the path\r\n\r\n this.commonContainer.svg.select(\"#third_path_\" + index).select(\"#third-line-shapes_\" + index + \"_\" + i)\r\n .attr(\"transform\", \"translate(\" + point.x + \", \" + point.y + \")\")\r\n .attr(\"opacity\", 1);\r\n }\r\n\r\n let hideThirdPathShapes = (index) => {\r\n var movingShapes = this.commonContainer.svg.select(\"#third_path_\" + index).selectAll(\".third-line-shapes\");\r\n movingShapes\r\n .attr(\"opacity\", 0);\r\n }\r\n\r\n return {\r\n createShapes,\r\n updateThirdCircleAnimation,\r\n hideThirdPathShapes\r\n }\r\n })();\r\n\r\n let drawThirdLinePath = () => {\r\n for (let index = 0; index < 4; index++) {\r\n thirdLinePath[index] = this.drawLinePath(thirdLineCoordinates[index], {\r\n strokeColor: this.commonContainer.categories[index].color,\r\n strokeWidth: 1,\r\n id: \"third_path_\" + index\r\n });\r\n thirdLinePathScales[index] = d3.scale.linear()\r\n .domain([1510, 1350])// SCROLL_LENGTH - 1000\r\n .range([thirdLinePath[index].node().getTotalLength(), 0])\r\n .clamp(true);\r\n\r\n movingShapes.createShapes(index, thirdLineCoordinates[index][0]);\r\n }\r\n }\r\n\r\n let updateThirdLinePathLength = (path, index, scrollTop) => {\r\n path\r\n .style('stroke-dashoffset', function (d) {\r\n movingShapes.updateThirdCircleAnimation(index, scrollTop);\r\n if (thirdLinePathScales[index](scrollTop) <= 30) {\r\n movingShapes.hideThirdPathShapes(index);\r\n }\r\n return path.node().getTotalLength() - thirdLinePathScales[index](scrollTop) + 'px';\r\n });\r\n }\r\n\r\n let animateThirdLinePath = (scrollTop) => {\r\n for (let secondIndex = 0; secondIndex < 4; secondIndex++) {\r\n updateThirdLinePathLength(thirdLinePath[secondIndex], secondIndex, scrollTop);\r\n }\r\n\r\n }\r\n\r\n drawThirdLinePath();\r\n\r\n const getLine3EndPoints = () => { return line3_EndPoint; }\r\n\r\n let updateThirdPathScale = () => {\r\n const { scrollLength, aspectRatio } = this.commonContainer;\r\n for (let index = 0; index < 4; index++) {\r\n thirdLinePathScales[index] = d3.scale.linear()\r\n .domain([(scrollLength * 0.205) / aspectRatio, (scrollLength * 0.168) / aspectRatio])// SCROLL_LENGTH - 1000\r\n .range([thirdLinePath[index].node().getTotalLength(), 0])\r\n .clamp(true);\r\n }\r\n }\r\n\r\n return {\r\n animateThirdLinePath,\r\n getLine3EndPoints,\r\n updateThirdPathScale\r\n }\r\n }\r\n\r\n private outcomeDotWall() {\r\n let wallFlags = [0, 0, 0, 0]\r\n\r\n let wallWidth = 300;\r\n let wallHeight = 150;\r\n\r\n let wallData = [17, 20, 23, 26];\r\n let wallSvg = [];\r\n let wallText = [\"Abandon Cart\", \"Churn\", \"Port Out\", \"Surge Call\"];\r\n let wallColor = [\"#faa24c\", \"#d94785\", \"#a1be00\", \"#39b2ff\"];\r\n let wallTextColor = [\"#faa24c\", \"#d94785\", \"#a1be00\", \"#39b2ff\"];\r\n let polygonText = [\r\n \"Price Sensitive & Millennials & Urban\",\r\n \"High Social Media Usage & Suburndan & Low Call Usage\",\r\n \"Large Families & Live in NY & Income < $50k\",\r\n \"New Customers & New Contract & New Device\"\r\n ];\r\n\r\n this.commonContainer.svg.attr({\r\n \"height\": parseInt(this.commonContainer.svg.style(\"height\").replace(\"px\", \"\")) + 1000 + 30\r\n });\r\n\r\n let translateValue = this.sectionsHolder.dataToSolution.thirdLinePath.getLine3EndPoints();\r\n\r\n let createDotWall = (index, flag) => {\r\n fourthLineObject[index] = generateFourthObject(index);\r\n let heightOfDNA = 650;\r\n let heightOfRain = 200;\r\n let translateWallX = (index == 0) || (index == 1) ? this.commonContainer.xScale(translateValue[0].xCoordinate) - (220 / 2) : this.commonContainer.xScale(translateValue[0].xCoordinate) + wallWidth + 150 - (220 / 2)\r\n let translateWallY = (index == 0) || (index == 2) ? (translateValue[0].yCoordinate + heightOfDNA + heightOfRain - 30) : (translateValue[0].yCoordinate + heightOfDNA + heightOfRain - 30) + wallHeight;\r\n\r\n wallSvg[index] = this.commonContainer.svg\r\n .append(\"g\")\r\n .attr({\r\n \"width\": wallWidth,\r\n \"height\": wallHeight,\r\n \"id\": \"dot-wall_\" + index,\r\n \"transform\": \"translate(\" + (translateWallX) + \", \" + translateWallY + \")\"\r\n });\r\n\r\n wallSvg[index]\r\n .append('g')\r\n .attr('id', 'dot-wall-path-group-' + index);\r\n\r\n wallSvg[index].append(\"text\")\r\n .text(wallText[index])\r\n .attr({\r\n \"x\": flag ? -10 : 220,\r\n \"y\": 10,\r\n \"fill\": wallTextColor[index],\r\n \"width\": wallWidth - 10,\r\n \"transform\": \"translate(10,10)\"\r\n })\r\n .style({\r\n \"letter-spacing\": 0.6,\r\n \"font-size\": 14\r\n })\r\n\r\n wallData.forEach((v, k) => {\r\n let g = wallSvg[index].append('g')\r\n .attr(\"transform\", function (d, i) {\r\n return \"translate(10,40)\";\r\n });\r\n //var yPosition=(i*10)+10;\r\n var yPosition = k;\r\n g.selectAll(\"circle\")\r\n .data(d3.range(v))\r\n .enter()\r\n .append(\"circle\")\r\n .attr(\"class\", function (d, i) {\r\n return \"dot-ball_\" + index + \"_\" + k;\r\n })\r\n .classed(\"dot-ball_\" + index, true)\r\n .classed(\"dot-ball\", true)\r\n .attr(\"id\", function (d, i) {\r\n return \"dot-ball_\" + index + \"_\" + k + \"_\" + i;\r\n })\r\n .attr(\"cx\", function (d, i) {\r\n if (yPosition % 2 == 0) {\r\n if (!flag) {\r\n if (k == 0) {\r\n return (i + 10.5) * 10.5;\r\n }\r\n return (i + 4.5) * 10.5;\r\n }\r\n return i * 10.5;\r\n } else {\r\n if (!flag) {\r\n if (k === 1) {\r\n return (i + 8.5) * 10.5 - 5;\r\n }\r\n return (i + 2.5) * 10.5 - 5;\r\n }\r\n }\r\n return (i) * 10.5 - 5;\r\n })\r\n .attr(\"cy\", function (d, i) {\r\n return yPosition * 10;\r\n })\r\n .attr(\"r\", function (d, i) {\r\n return 5;\r\n })\r\n .attr(\"fill\", wallColor[index])\r\n .attr(\"fill-opacity\", 0)\r\n });\r\n\r\n var g = wallSvg[index].append(\"g\")\r\n .attr({\r\n \"id\": \"polygon_\" + index\r\n });\r\n\r\n g.append(\"polygon\")\r\n .attr({\r\n \"points\": flag ? \"0,0 270,0 300,10 300,50 0,50\" : \"0,10, 30,0 300,0 300,50 0,50 0,0\",\r\n \"fill\": \"#e8ecef\",\r\n \"transform\": \"translate(0,75)\"\r\n })\r\n\r\n g.append(\"text\")\r\n .attr(\"x\", wallWidth / 2 + 5)\r\n .attr(\"y\", wallHeight / 1.55)\r\n .attr(\"text-anchor\", \"middle\")\r\n .attr(\"fill\", \"#616568\")\r\n .text(polygonText[index])\r\n .attr({\r\n \"width\": wallWidth - 10,\r\n \"id\": \"wrapme_\" + index\r\n })\r\n .style({\r\n \"font-size\": 14\r\n })\r\n\r\n function wrap(text) {\r\n text.each(function () {\r\n var text = d3.select(this);\r\n var words = text.text().split(/\\s+/).reverse();\r\n var lineHeight = 20;\r\n var width = parseFloat(text.attr('width'));\r\n var y = parseFloat(text.attr('y'));\r\n var x = text.attr('x');\r\n var anchor = text.attr('text-anchor');\r\n\r\n var tspan = text.text(null).append('tspan').attr('x', x).attr('y', y);\r\n var lineNumber = 0;\r\n var line = [];\r\n var word = words.pop();\r\n\r\n while (word) {\r\n line.push(word);\r\n tspan.text(line.join(' '));\r\n if (tspan.node().getComputedTextLength() > width) {\r\n lineNumber += 1;\r\n line.pop();\r\n tspan.text(line.join(' '));\r\n line = [word];\r\n tspan = text.append('tspan').attr('x', x).attr('y', y + lineNumber * lineHeight).text(word);\r\n }\r\n word = words.pop();\r\n }\r\n });\r\n }\r\n d3.selectAll('#wrapme_' + index).call(wrap);\r\n }\r\n\r\n var dotWidth = 700,\r\n dotHeight = 860;\r\n\r\n var dotSvg = d3.select(\"#path-to-outcome-section-2\").append(\"svg\")\r\n .attr(\"id\", \"path-to-outcome-block-2\")\r\n .attr(\"width\", dotWidth)\r\n .attr(\"height\", dotHeight)\r\n .style(\"position\", \"absolute\");\r\n\r\n\r\n\r\n //Creating Next Set of Lines 4\r\n var abanDonCartLinePoints_Line4_0 = [{\r\n xCoordinate: 1370,\r\n yCoordinate: 70\r\n }, {\r\n xCoordinate: 1100,\r\n yCoordinate: 70\r\n }, {\r\n xCoordinate: 1050,\r\n yCoordinate: 87\r\n }, {\r\n xCoordinate: 1050,\r\n yCoordinate: 280\r\n }, {\r\n xCoordinate: 1060,\r\n yCoordinate: 330\r\n }, {\r\n xCoordinate: 1035,\r\n yCoordinate: 430\r\n }, {\r\n xCoordinate: 1060,\r\n yCoordinate: 480\r\n }, {\r\n xCoordinate: 1120,\r\n yCoordinate: 580\r\n }, {\r\n xCoordinate: 1100,\r\n yCoordinate: 620\r\n }, {\r\n xCoordinate: 1180,\r\n yCoordinate: 680\r\n }, {\r\n xCoordinate: 1230,\r\n yCoordinate: 780\r\n }, {\r\n xCoordinate: 1220,\r\n yCoordinate: 860\r\n },]\r\n\r\n var surgeCallLinePoints_Line4_0 = [{\r\n xCoordinate: 1090,\r\n yCoordinate: 69\r\n }, {\r\n xCoordinate: 1370,\r\n yCoordinate: 69\r\n }, {\r\n xCoordinate: 1400,\r\n yCoordinate: 81\r\n }, {\r\n xCoordinate: 1390,\r\n yCoordinate: 255\r\n }, {\r\n xCoordinate: 1350,\r\n yCoordinate: 355\r\n }, {\r\n xCoordinate: 1330,\r\n yCoordinate: 455\r\n }, {\r\n xCoordinate: 1280,\r\n yCoordinate: 525\r\n }, {\r\n xCoordinate: 1270,\r\n yCoordinate: 605\r\n }, {\r\n xCoordinate: 1245,\r\n yCoordinate: 675\r\n }, {\r\n xCoordinate: 1220,\r\n yCoordinate: 685\r\n }, {\r\n xCoordinate: 1210,\r\n yCoordinate: 695\r\n }, {\r\n xCoordinate: 1210,\r\n yCoordinate: 700\r\n }];\r\n\r\n var portOutLinePoints_Line4_0 = [{\r\n xCoordinate: 1090,\r\n yCoordinate: 70\r\n }, {\r\n xCoordinate: 1370,\r\n yCoordinate: 70\r\n }, {\r\n xCoordinate: 1420,\r\n yCoordinate: 87\r\n }, {\r\n xCoordinate: 1410,\r\n yCoordinate: 167\r\n }, {\r\n xCoordinate: 1420,\r\n yCoordinate: 277\r\n }, {\r\n xCoordinate: 1440,\r\n yCoordinate: 327\r\n }, {\r\n xCoordinate: 1415,\r\n yCoordinate: 427\r\n }, {\r\n xCoordinate: 1438,\r\n yCoordinate: 477\r\n }, {\r\n xCoordinate: 1405,\r\n yCoordinate: 607\r\n }, {\r\n xCoordinate: 1335,\r\n yCoordinate: 707\r\n }, {\r\n xCoordinate: 1325,\r\n yCoordinate: 807\r\n }, {\r\n xCoordinate: 1325,\r\n yCoordinate: 860\r\n }];\r\n\r\n var churnLinePoints_Line4_0 = [{\r\n xCoordinate: 1370,\r\n yCoordinate: 69\r\n }, {\r\n xCoordinate: 1100,\r\n yCoordinate: 69\r\n }, {\r\n xCoordinate: 1070,\r\n yCoordinate: 81\r\n }, {\r\n xCoordinate: 1070,\r\n yCoordinate: 255\r\n }, {\r\n xCoordinate: 1060,\r\n yCoordinate: 355\r\n }, {\r\n xCoordinate: 1055,\r\n yCoordinate: 455\r\n }, {\r\n xCoordinate: 1070,\r\n yCoordinate: 525\r\n }, {\r\n xCoordinate: 1050,\r\n yCoordinate: 605\r\n }, {\r\n xCoordinate: 1065,\r\n yCoordinate: 700\r\n }];\r\n\r\n var fourthLineCoordinates = [\r\n [\r\n abanDonCartLinePoints_Line4_0,\r\n [],\r\n [],\r\n []\r\n ],\r\n [\r\n churnLinePoints_Line4_0,\r\n [],\r\n [],\r\n []\r\n ],\r\n [\r\n portOutLinePoints_Line4_0,\r\n [],\r\n [],\r\n []\r\n ],\r\n [\r\n surgeCallLinePoints_Line4_0,\r\n [],\r\n [],\r\n []\r\n ]\r\n ];\r\n for (let categoryIndex = 0; categoryIndex < fourthLineCoordinates.length; categoryIndex++) {\r\n for (let pathIndex = 1; pathIndex < 4; pathIndex++) {\r\n for (let coordinateIndex = 0; coordinateIndex < fourthLineCoordinates[categoryIndex][0].length; coordinateIndex++) {\r\n fourthLineCoordinates[categoryIndex][pathIndex].push({\r\n xCoordinate: fourthLineCoordinates[categoryIndex][0][coordinateIndex].xCoordinate,\r\n yCoordinate: fourthLineCoordinates[categoryIndex][0][coordinateIndex].yCoordinate - (10 * pathIndex),\r\n });\r\n }\r\n }\r\n }\r\n\r\n var fourthLineAxis: any = [\r\n [\r\n fourthLineCoordinates[0][0][0],\r\n fourthLineCoordinates[0][1][0],\r\n fourthLineCoordinates[0][2][0],\r\n fourthLineCoordinates[0][3][0]\r\n ],\r\n [\r\n fourthLineCoordinates[1][0][0],\r\n fourthLineCoordinates[1][1][0],\r\n fourthLineCoordinates[1][2][0],\r\n fourthLineCoordinates[1][3][0]\r\n ],\r\n [\r\n fourthLineCoordinates[2][0][0],\r\n fourthLineCoordinates[2][1][0],\r\n fourthLineCoordinates[2][2][0],\r\n fourthLineCoordinates[2][3][0]\r\n ],\r\n [\r\n fourthLineCoordinates[3][0][0],\r\n fourthLineCoordinates[3][1][0],\r\n fourthLineCoordinates[3][2][0],\r\n fourthLineCoordinates[3][3][0]\r\n ]\r\n ]\r\n\r\n var fourthLineEndPoints: any = [[], [], [], []];\r\n\r\n\r\n for (let categoryIndex = 0; categoryIndex < fourthLineCoordinates.length; categoryIndex++) {\r\n for (let pathIndex = 0; pathIndex < 4; pathIndex++) {\r\n fourthLineEndPoints[categoryIndex].push(\r\n (fourthLineCoordinates[categoryIndex][pathIndex][fourthLineCoordinates[categoryIndex][pathIndex].length - 1].yCoordinate),\r\n );\r\n }\r\n }\r\n\r\n var fourthLinePath = [];\r\n\r\n //Creating Fourth Multi-Dimensional Path\r\n let drawfourthLinePath = (index, subIndex, durationOffset) => {\r\n fourthLinePath[index][subIndex] = this.commonContainer.svg.select(\"#dot-wall-path-group-\" + index)\r\n .append(\"g\")\r\n .attr(\"id\", \"dot_wall_path_group_\" + index + \"_\" + subIndex)\r\n .append(\"path\")\r\n .attr('d', this.commonContainer.lineGenerator(fourthLineCoordinates[index][subIndex]))\r\n .style(\"stroke\", \"none\")\r\n .style(\"fill\", \"none\");\r\n fourthLinePathScales[index][subIndex] = d3.scale.linear()\r\n .domain([2490, 2990]) //SCROLL_LENGTH - 250 //2270, 2600\r\n .range([fourthLinePath[index][subIndex].node().getTotalLength(), 0])\r\n .clamp(true);\r\n }\r\n var fourthDataFlag = [],\r\n fourthLinePathScales = [];\r\n\r\n var sums = 0;\r\n var barData = [];\r\n var parties = [];\r\n var raw = {\r\n \"data\": [{\r\n \"name\": \"Abandon Cart\",\r\n \"left\": \"8x\",\r\n \"top\": \"4-5k\",\r\n \"value\": 21\r\n }, {\r\n \"name\": \"Churn\",\r\n \"left\": \"8x\",\r\n \"top\": \"15-18k\",\r\n \"value\": 42\r\n }, {\r\n \"name\": \"Port Out\",\r\n \"left\": \"10x\",\r\n \"top\": \"10-12k\",\r\n \"value\": 63\r\n }, {\r\n \"name\": \"Surge Call\",\r\n \"left\": \"10x\",\r\n \"top\": \"10-14k\",\r\n \"value\": 84\r\n }\r\n\r\n ]\r\n };\r\n\r\n raw.data.forEach(element => {\r\n sums += (+element.value);\r\n barData.push(+element.value);\r\n parties.push(element.name)\r\n });\r\n\r\n\r\n let generateFourthObject = (index) => {\r\n\r\n let tempObject = [];\r\n let key = index;\r\n\r\n if (index == 1) {\r\n key = 3\r\n } else if (index == 3) {\r\n key = 1\r\n }\r\n\r\n for (let j = 0; j < 4; j++) {\r\n tempObject[j] = d3.range(dataSet[index][j]).map((d, k) => {\r\n return {\r\n id: k,\r\n type: this.commonContainer.categories[key].type,\r\n }\r\n });\r\n }\r\n\r\n return tempObject;\r\n }\r\n\r\n var tempObject = [];\r\n var dataSet = [\r\n [6, 6, 6, 3],\r\n [10, 10, 10, 12],\r\n [15, 15, 15, 18],\r\n [26, 23, 20, 15]\r\n ],\r\n checkEndReached = [],\r\n checkStartTraverse = [],\r\n checkReverseTraverse = [];\r\n\r\n for (let i = 0; i < 4; i++) {\r\n checkEndReached[i] = [];\r\n checkStartTraverse[i] = [];\r\n checkReverseTraverse[i] = [];\r\n for (let j = 0; j < 4; j++) {\r\n checkEndReached[i][j] = [];\r\n checkStartTraverse[i][j] = [];\r\n checkReverseTraverse[i][j] = [];\r\n for (let k = 0; k < dataSet[i][j]; k++) {\r\n checkEndReached[i][j][k] = 0;\r\n checkReverseTraverse[i][j][k] = 0;\r\n }\r\n }\r\n }\r\n\r\n var fourthLineObject = [];\r\n\r\n let movingShapes = (() => {\r\n let createShapes = (index, subIndex) => {\r\n this.commonContainer.svg.select(\"#dot_wall_path_group_\" + + index + \"_\" + subIndex)\r\n .selectAll(\".dot_wall_moving_shapes\")\r\n .data(fourthLineObject[index][subIndex], function (d, i) {\r\n return \"dot_to_bar_\" + index + \"_\" + subIndex + \"_\" + i;\r\n })\r\n .enter()\r\n .append(\"circle\")\r\n .attr(\"class\", \"dot_wall_moving_shapes\")\r\n .attr(\"id\", function (d, i) {\r\n return \"dot_to_bar_\" + index + \"_\" + subIndex + \"_\" + i\r\n })\r\n .attr(\"r\", 5)\r\n .attr('fill', wallColor[index])\r\n .attr(\"fill-opacity\", 0);\r\n };\r\n\r\n let updateFourthLinePathShapes = (scrollTop) => {\r\n for (let index = 0; index < 4; index++) {\r\n for (let subIndex = 0; subIndex < 4; subIndex++) {\r\n for (let wallCircleIndex = 0; wallCircleIndex < dataSet[index][subIndex]; wallCircleIndex++) {\r\n wallShapesPathTween(fourthLinePath[index][subIndex], index, subIndex, wallCircleIndex, scrollTop);\r\n }\r\n }\r\n }\r\n\r\n let outComesRebbons = d3.select('#outcome-rebbons');\r\n const { scrollLength, aspectRatio } = this.commonContainer;\r\n\r\n if (scrollTop > (scrollLength * 0.39) / aspectRatio) {\r\n outComesRebbons.classed(\"in\", true)\r\n } else {\r\n outComesRebbons.classed(\"in\", false)\r\n }\r\n }\r\n\r\n let wallShapesPathTween = (linePath, index, subIndex, i, scrollTop) => {\r\n let length = linePath.node().getTotalLength(); // Get the length of the path \r\n let r = d3.interpolate(length, 0); //Set up interpolation from 0 to the path length\r\n\r\n var diffFactorForEachShapes = (fourthLinePathScales[index][subIndex](scrollTop) == length) ? 0 : ((i * subIndex * 10) + (index * Math.random()));\r\n\r\n var divideAdjFactor = (length - (fourthLinePathScales[index][subIndex](scrollTop) - diffFactorForEachShapes)) < 100 ? length : length + 100;\r\n\r\n checkStartTraverse[index][subIndex][i] = (length - (fourthLinePathScales[index][subIndex](scrollTop) - diffFactorForEachShapes)) < 100 ? 0 : 1;\r\n\r\n var point = linePath.node().getPointAtLength(r(((fourthLinePathScales[index][subIndex](scrollTop) - diffFactorForEachShapes)) / divideAdjFactor)); // Get the next point along the path\r\n\r\n var dotToBarShape = wallSvg[index].select(\"#dot_to_bar_\" + index + \"_\" + subIndex + \"_\" + i);\r\n var wallShape = wallSvg[index].select(\"#dot-ball_\" + index + \"_\" + subIndex + \"_\" + i);\r\n\r\n //To manage the reverse traverse of shape in between of traversing\r\n if (checkStartTraverse[index][subIndex][i] && !checkReverseTraverse[index][subIndex][i]) {\r\n wallShape\r\n .classed(\"dot-ball_\" + index + \"_\" + subIndex, false)\r\n .attr(\"fill-opacity\", 0);\r\n checkReverseTraverse[index][subIndex][i] = 1;\r\n } else if (!checkStartTraverse[index][subIndex][i] && checkReverseTraverse[index][subIndex][i]) {\r\n wallShape\r\n .classed(\"dot-ball_\" + index + \"_\" + subIndex, true)\r\n .attr(\"fill-opacity\", 1);\r\n checkReverseTraverse[index][subIndex][i] = 0;\r\n }\r\n\r\n //To manage add or remove of shape to barChart\r\n if (point.y === fourthLineEndPoints[index][subIndex] && !checkEndReached[index][subIndex][i]) {\r\n checkEndReached[index][subIndex][i] = 1;\r\n this.sectionsHolder.outcome.barChart.createBarChartData(index);\r\n } else if (point.y < fourthLineEndPoints[index][subIndex] && checkEndReached[index][subIndex][i]) {\r\n dotToBarShape\r\n .attr(\"fill-opacity\", 1)\r\n checkEndReached[index][subIndex][i] = 0;\r\n this.sectionsHolder.outcome.barChart.removeBarDot(index);\r\n }\r\n\r\n // To manage visibility of shapes\r\n if (fourthLinePathScales[index][subIndex](scrollTop) == length || point.y >= fourthLineEndPoints[index][subIndex]) {\r\n dotToBarShape\r\n .attr({\r\n \"fill-opacity\": 0,\r\n \"transform\": \"translate(\" + point.x + \", \" + point.y + \")\"\r\n })\r\n } else if (fourthLinePathScales[index][subIndex](scrollTop) != length) {\r\n dotToBarShape\r\n .attr(\"fill-opacity\", 1)\r\n .attr(\"transform\", \"translate(\" + point.x + \", \" + point.y + \")\")\r\n }\r\n }\r\n\r\n return {\r\n createShapes,\r\n updateFourthLinePathShapes,\r\n }\r\n\r\n })();\r\n\r\n for (let index = 0; index < 4; index++) {\r\n let flag = index < 2 ? true : false;\r\n createDotWall(index, flag);\r\n }\r\n\r\n function createFourthPaths() {\r\n for (let i = 0; i < 4; i++) {\r\n fourthDataFlag.push(wallData.slice().reverse());\r\n }\r\n\r\n for (let index = 0; index < 4; index++) {\r\n fourthLinePath[index] = [];\r\n fourthLinePathScales[index] = [];\r\n for (let subIndex = 0; subIndex < 4; subIndex++) {\r\n drawfourthLinePath(index, subIndex, 0);\r\n movingShapes.createShapes(index, subIndex);\r\n }\r\n }\r\n }\r\n\r\n createFourthPaths();\r\n\r\n let updateFourthPathScale = () => {\r\n const { scrollLength, aspectRatio } = this.commonContainer;\r\n for (let index = 0; index < 4; index++) {\r\n for (let subIndex = 0; subIndex < 4; subIndex++) {\r\n fourthLinePathScales[index][subIndex] = d3.scale.linear()\r\n .domain([(scrollLength * 0.337) / aspectRatio, (scrollLength * 0.405) / aspectRatio]) //SCROLL_LENGTH - 250 //2270, 2600\r\n .range([fourthLinePath[index][subIndex].node().getTotalLength(), 0])\r\n .clamp(true);\r\n }\r\n }\r\n }\r\n\r\n function getBarChartConfigDetails() {\r\n return {\r\n barData,\r\n sums,\r\n parties,\r\n raw\r\n }\r\n }\r\n\r\n return {\r\n getBarChartConfigDetails,\r\n animateDotWallShapes: movingShapes.updateFourthLinePathShapes,\r\n updateFourthPathScale\r\n }\r\n }\r\n\r\n drawLinePath(points, options) {\r\n return this.commonContainer.svg\r\n .append('g')\r\n .attr('id', options.id || 'temp_id')\r\n .append('path')\r\n .attr('d', this.commonContainer.lineGenerator(points))\r\n .style(\"stroke\", options.strokeColor || \"grey\")\r\n .style(\"stroke-width\", options.strokeWidth || 1)\r\n .style(\"fill\", \"none\")\r\n .style('stroke-dasharray', function (d) {\r\n var l = d3.select(this).node().getTotalLength();\r\n return l + 'px, ' + l + 'px';\r\n })\r\n .style('stroke-dashoffset', function (d) {\r\n return d3.select(this).node().getTotalLength() + 'px';\r\n });\r\n }\r\n\r\n renderStory() {\r\n // this.renderer.listen(window, 'resize', _.debounce(this.changeWindowDetails.bind(this), 700));\r\n\r\n // Start:- Initialize Scroll Page Variables\r\n var HEIGHT = 0.9 * window.innerHeight;\r\n var mainContainer = d3.select('#scroll-container');\r\n // var content = d3.select('#content');\r\n // var SCROLL_LENGTH = content.node().getBoundingClientRect().height - HEIGHT;\r\n var scrollTop = 0;\r\n var newScrollTop = 0;\r\n this.scrollTop = newScrollTop;\r\n mainContainer.on(\"scroll.scroller\", function () {\r\n newScrollTop = mainContainer.node().scrollTop;\r\n });\r\n\r\n var render = () => {\r\n if (scrollTop !== newScrollTop) {\r\n scrollTop = newScrollTop;\r\n this.sectionsHolder.problemToData.firstLinePath.animateFirstLinePath(scrollTop);\r\n\r\n this.sectionsHolder.problemToData.secondLinePath.animateSecondLinePath(scrollTop);\r\n\r\n this.sectionsHolder.dataToSolution.thirdLinePath.animateThirdLinePath(scrollTop);\r\n\r\n this.sectionsHolder.dataToSolution.timeline.updateTimeline.updateTimelineVisual(scrollTop);\r\n\r\n this.sectionsHolder.solution.updateDna.animateDnaLinePath(scrollTop);\r\n\r\n this.sectionsHolder.solutionToOutcome.animateRainDrop(scrollTop);\r\n\r\n this.sectionsHolder.outcome.dotWall.animateDotWallShapes(scrollTop);\r\n }\r\n if (this.commonContainer.windowRequestFrameId) {\r\n window.cancelAnimationFrame(this.commonContainer.windowRequestFrameId);\r\n }\r\n this.commonContainer.windowRequestFrameId = window.requestAnimationFrame(render);\r\n }\r\n\r\n // window.requestAnimationFrame(render)\r\n // End:- Initialize Scroll Page Variables\r\n\r\n return render;\r\n }\r\n\r\n ngOnDestroy() {\r\n d3.selectAll(\".pnp-timeline-tooltip\")\r\n .remove();\r\n\r\n this.windowListner();\r\n\r\n d3.select(window).on(\"resize.\" + d3.select(this.commonContainer.svg.node().parentNode).attr(\"id\"), null);\r\n\r\n window.cancelAnimationFrame(this.commonContainer.windowRequestFrameId);\r\n }\r\n\r\n redirectTo() {\r\n this._gaService.triggerEvent('DS View', 'Usecase', this.widgetData.title);\r\n this.router.navigate(['gallery/story-page', this.widgetData.url]);\r\n }\r\n\r\n renderproblemSmallCluster() {\r\n const createSmallClusterCircle = (index, data, width, height, categories, categoriesColor) => {\r\n const { details, flag } = this.sectionsHolder.problemToData.smallCluster;\r\n details[index] = {\r\n svg: this.commonContainer.svg,\r\n index,\r\n data,\r\n width,\r\n height,\r\n idString: categories,\r\n categories,\r\n categoriesColor\r\n };\r\n flag[index] = 1;\r\n }\r\n\r\n var smallClusterConfig = {\r\n width: [605, 490, 300, 10],\r\n height: [1200, 1620, 1910, 1910],\r\n dotCount: [60, 66, 70, 76],\r\n data: []\r\n }\r\n\r\n const { width, height, dotCount, data } = smallClusterConfig;\r\n for (let index = 0; index < 4; index++) {\r\n let categories = this.commonContainer.categories[index].type,\r\n categoriesColor = this.commonContainer.categories[index].color,\r\n settings = {\r\n width: this.commonContainer.xScale(width[index]),\r\n height: height[index],\r\n categories\r\n };\r\n\r\n this.smallClusterService.createData(index, settings, dotCount[index]);\r\n data[index] = this.smallClusterService.getData(index);\r\n createSmallClusterCircle(index, data[index], settings.width, settings.height, categories, categoriesColor);\r\n }\r\n\r\n const { details } = this.sectionsHolder.problemToData.smallCluster;\r\n\r\n let centerTextFlag = [0, 0, 0, 0];\r\n const updateSmallClusterForce = (index) => {\r\n let centerCircleNode = d3.select(\"#\" + details[index].idString + \"-\" + index + \"-0\"),\r\n innerCircleRadius = 30,\r\n innercircleCharge = -160,\r\n outerCircleCharge = -8,\r\n centerNodeCoordinates = { x: null, y: null },\r\n textColorCode = \"#FFFFFF\";\r\n\r\n centerCircleNode\r\n .transition()\r\n .duration(500)\r\n .attr('r', (d) => {\r\n centerNodeCoordinates.x = d.px;\r\n centerNodeCoordinates.y = d.py;\r\n return innerCircleRadius\r\n });\r\n\r\n if (!centerTextFlag[index]) {\r\n this.commonContainer.svg.append(\"text\")\r\n .attr({\r\n \"x\": centerNodeCoordinates.x - 20,\r\n \"y\": centerNodeCoordinates.y + 5,\r\n \"fill\": textColorCode,\r\n \"class\": \"center-node-text\",\r\n \"id\": \"center-node-text-\" + index\r\n })\r\n .transition()\r\n .delay(400)\r\n .text(function (d) {\r\n return \"$\" + smallClusterConfig.dotCount[index] + \"0M\"\r\n })\r\n centerTextFlag[index] = 1;\r\n }\r\n\r\n d3.layout.force()\r\n .size([this.commonContainer.xScale(smallClusterConfig.width[index]) * 2, smallClusterConfig.height[index]])\r\n .charge(function (d, i) {\r\n return i ? outerCircleCharge : innercircleCharge\r\n })\r\n .nodes(smallClusterConfig.data[index].nodes)\r\n .on(\"tick\", () => {\r\n d3.selectAll(\".node_\" + index)\r\n .attr(\"cx\", function (d) {\r\n return d.x;\r\n })\r\n .attr(\"cy\", function (d) {\r\n return d.y;\r\n });\r\n })\r\n .start();\r\n };\r\n\r\n const updateOpacityOfAllCircles = (index, opacity = 1) => {\r\n d3\r\n .selectAll(\".node_\" + index)\r\n .attr(\"fill-opacity\", opacity)\r\n }\r\n\r\n return {\r\n updateSmallClusterForce,\r\n updateOpacityOfAllCircles\r\n };\r\n }\r\n\r\n renderTimeline() {\r\n let translate = null, translateX = [1050, 1000, 950, 900]; //[900, 950, 1000, 1050]\r\n let timelineColors = null,\r\n parseDate = d3.time.format(\"%m/%d/%Y\").parse,\r\n years = ['1/1/2006', '1/1/2007', '1/1/2008', '1/1/2009', '1/1/2010', '1/1/2011', '1/1/2012', '1/1/2013', '1/1/2014', '1/1/2015', '1/1/2016', '1/1/2017'],\r\n shapes = [\"hexagoan\", \"square\", \"triangleDown\", \"star\"],\r\n timelineData = [],\r\n width = this.commonContainer.xScale(578),\r\n height = 1800,\r\n timeLineXScale = d3.time.scale().domain(d3.extent(years, (d) => {\r\n return parseDate(d);\r\n })).range([50, width - 50]),\r\n categoriesColor = [],\r\n shapePosition = [],\r\n timelinePathScales = [];\r\n\r\n const createTimeline = (index, width, height, translate, data) => {\r\n const { details, flag } = this.sectionsHolder.dataToSolution.timeline;\r\n details[index] = {\r\n svg: this.commonContainer.svg,\r\n index,\r\n width,\r\n height,\r\n data,\r\n translate,\r\n categoriesColor,\r\n tooltipDivId: this.commonContainer.parentNodeId\r\n };\r\n flag[index] = 1;\r\n }\r\n\r\n for (let i = 0; i < 4; i++) {\r\n translateX[i] = this.commonContainer.xScale(translateX[i]) - 15;\r\n categoriesColor[i] = this.commonContainer.categories[i].color;\r\n }\r\n timelineColors = categoriesColor.slice();\r\n\r\n for (let index = 0; index < 4; index++) {\r\n height -= 100;\r\n translate = {\r\n x: translateX[index],\r\n y: height\r\n }\r\n let timelineIndex = index % 2 == 0 ? index : -1;\r\n let timelineDetails = {\r\n toolTipMessage: [\"Added wireless line\", \"Purchased a prepaid plan\"],\r\n displayeMessageAt: [1, 8],\r\n timelineIndex,\r\n shapeSize: 200,\r\n }\r\n timelineData[index] = this.timelineService.getData(index);\r\n this.timelineService.createData(index, shapes, categoriesColor, timelineDetails);\r\n timelineData[index] = this.timelineService.getData(index);\r\n createTimeline(index, width, height, translate, timelineData[index]);\r\n }\r\n\r\n const timeLineAnimation = (path, index, direction) => {\r\n let pathTotalLength = path.node().getTotalLength();\r\n direction = direction || \"forward\";\r\n let startStrokeDashoffset = direction == \"forward\" ? pathTotalLength : 0;\r\n let endStrokeDashoffset = direction == \"forward\" ? 0 : pathTotalLength;\r\n\r\n path\r\n .style({\r\n \"stroke\": timelineColors[index]\r\n })\r\n .attr({\r\n \"stroke-dasharray\": pathTotalLength + \" \" + pathTotalLength,\r\n \"stroke-dashoffset\": startStrokeDashoffset\r\n })\r\n .transition()\r\n .duration(400)\r\n .ease(\"linear\")\r\n .attr(\"stroke-dashoffset\", endStrokeDashoffset); // Set to pathTotalLength for reverse animation \r\n }\r\n\r\n const showTimelineActivityTooltip = (index, key, visibilityFlag = true) => {\r\n let div = d3.select('#timeline-tooltip-' + index + \"-\" + key);\r\n let shape = this.commonContainer.svg.select('#date_timeline_shapes_' + index + \"_\" + key);\r\n let shapeBoundingRect = shape.node().getBoundingClientRect();\r\n let rect = this.commonContainer.svg.select(\"#second_path_\" + index).node().getBoundingClientRect();\r\n div.style({\r\n \"left\": ((shapeBoundingRect.left + (shapeBoundingRect.width / 2)) - (div.node().offsetWidth / 2)) + \"px\",\r\n \"top\": (rect.height / (index == 0 ? 0.71 : 0.438)) + \"px\",\r\n });\r\n if (visibilityFlag) {\r\n div.style(\"visibility\", \"visible\");\r\n }\r\n }\r\n\r\n const hideTimelineActivityTooltip = (index, key) => {\r\n let div = d3.select('#timeline-tooltip-' + index + \"-\" + key);\r\n if (!div[0][0]) {\r\n return;\r\n }\r\n let tooltipTop = div.style(\"top\");\r\n div.style({\r\n \"top\": (Number(tooltipTop.replace(\"px\", \"\")) - 40) + \"px\",\r\n \"visibility\": \"hidden\"\r\n });\r\n }\r\n\r\n let setTooltipPosition = () => {\r\n let index = [0, 2], subIndex = [0, 7];\r\n\r\n for (let i = 0; i < index.length; i++) {\r\n for (let j = 0; j < subIndex.length; j++) {\r\n showTimelineActivityTooltip(index[i], subIndex[j], false);\r\n }\r\n }\r\n }\r\n\r\n let updateTimelinePathScale = () => {\r\n let { scrollLength, aspectRatio } = this.commonContainer,\r\n domain = {\r\n \"start\": (scrollLength * 0.155) / aspectRatio,\r\n \"end\": (scrollLength * 0.168) / aspectRatio\r\n };\r\n let timelineDomain = d3.scale.linear().domain([domain.start, domain.end]);\r\n for (let index = 0; index < 4; index++) {\r\n timelinePathScales[index] = (range) => timelineDomain.range([range.start, range.end]).clamp(true);\r\n }\r\n }\r\n\r\n let range = {\r\n start: 50,\r\n end: 0\r\n }\r\n let updateTimelineVisual = (scrollTop) => {\r\n for (let index = 0; index < 4; index++) {\r\n configTimelineAnimation(index, scrollTop);\r\n updateTimelineShapes(index, scrollTop)\r\n }\r\n }\r\n let timelineFlag = [0, 0, 0, 0];\r\n let configTimelineAnimation = (index, scrollTop) => {\r\n let centerPath = this.commonContainer.svg.select(\"#date_timeline_center_path_\" + index);\r\n let length = centerPath.node().getTotalLength();\r\n range.end = length;\r\n\r\n if (timelinePathScales[index](range)(scrollTop) > range.start && !timelineFlag[index]) {\r\n timeLineAnimation(this.commonContainer.svg.select(\"#date_timeline_\" + index), index, \"forward\");\r\n timelineFlag[index] = 1;\r\n } else if (timelinePathScales[index](range)(scrollTop) == range.start && timelineFlag[index]) {\r\n timeLineAnimation(this.commonContainer.svg.select(\"#date_timeline_\" + index), index, \"backward\");\r\n timelineFlag[index] = 0;\r\n }\r\n }\r\n\r\n let updateTimelineShapes = (index, scrollTop) => {\r\n if (!shapePosition[index]) {\r\n shapePosition[index] = [];\r\n if (shapePosition[index].length == 0) {\r\n shapePosition[index] = this.timelineService.getShapePosition();\r\n }\r\n }\r\n let timelineShapes = this.commonContainer.svg.selectAll(\".date_timeline_shapes_\" + index);\r\n timelineShapes.each((d, key) => {\r\n updateTimelineContentPosition(index, key, d, scrollTop)\r\n });\r\n }\r\n\r\n let updateTimelineContentPosition = (index, key, data, scrollTop) => {\r\n let shape = this.commonContainer.svg.select(\"#date_timeline_shapes_\" + index + \"_\" + key);\r\n range.end = shapePosition[index][key];\r\n let opacityRange = {\r\n start: 0,\r\n end: 1\r\n }\r\n let getXPosition = timelinePathScales[index](range)(scrollTop);\r\n let string = shape.attr(\"transform\"),\r\n translate = string.substring(string.indexOf(\"(\") + 1, string.indexOf(\")\")).split(\",\"),\r\n translateShape = {\r\n x: getXPosition,\r\n y: Number(translate[1])\r\n }\r\n\r\n shape\r\n .attr(\"transform\", \"translate(\" + translateShape.x + \", \" + translateShape.y + \")\")\r\n .style('fill-opacity', timelinePathScales[index](opacityRange)(scrollTop))\r\n\r\n //Node Text and Tooltip Manipulation\r\n if (getXPosition == shapePosition[index][key]) {\r\n if (data.showTooltip && !data.isTooltipDisplayed) {\r\n data.isTooltipDisplayed = true;\r\n showTimelineActivityTooltip(index, key);\r\n }\r\n } else if (getXPosition != shapePosition[index][key]) {\r\n if (data.isTooltipDisplayed) {\r\n data.isTooltipDisplayed = false;\r\n hideTimelineActivityTooltip(index, key);\r\n }\r\n }\r\n }\r\n\r\n return {\r\n setTooltipPosition,\r\n updateTimelinePathScale,\r\n updateTimelineVisual\r\n };\r\n }\r\n\r\n responsivefy(svg) {\r\n // get container + svg aspect ratio\r\n var container = d3.select(svg.node().parentNode),\r\n width = parseInt(svg.style(\"width\")),\r\n height = parseInt(svg.style(\"height\")),\r\n aspect = width / height;\r\n this.commonContainer.aspectRatio = aspect;\r\n // this.setPositionOfTextelements(); \r\n\r\n // get width of container and resize svg to fit it\r\n let resize = () => {\r\n var targetWidth = parseInt(container.style(\"width\"));\r\n svg.attr(\"width\", targetWidth);\r\n svg.attr(\"height\", Math.round(targetWidth / aspect));\r\n this.setPositionOfTextelements();\r\n this.changeWindowDetails();\r\n this.sectionsHolder.renderStory();\r\n }\r\n // add viewBox and preserveAspectRatio properties,\r\n // and call resize so that svg resizes on inital page load\r\n svg.attr(\"viewBox\", \"0 0 \" + width + \" \" + height)\r\n .attr(\"perserveAspectRatio\", \"xMinYMid\")\r\n .call(resize);\r\n\r\n // to register multiple listeners for same event type, \r\n // you need to add namespace, i.e., 'click.foo'\r\n // necessary if you call invoke this function for multiple svgs\r\n // api docs: https://github.com/mbostock/d3/wiki/Selections#on\r\n d3.select(window).on(\"resize.\" + container.attr(\"id\"), resize);\r\n }\r\n\r\n setPositionOfTextelements() {\r\n let textContainer = d3.select(\"#problem\");\r\n let boundingClientRect = this.commonContainer.svg.select(\"#first_path_4\").node().getBoundingClientRect();\r\n const problemHeight = boundingClientRect.height * 3.21;\r\n textContainer\r\n .style({\r\n height: `${problemHeight}px`,\r\n 'align-items': 'flex-start'\r\n });\r\n boundingClientRect = this.commonContainer.svg.select(\"#second_path_3\").node().getBoundingClientRect();\r\n textContainer = d3.select(\"#data\");//.select('.data-text-section')\r\n let textContainerBoundingRect = textContainer.node().getBoundingClientRect();\r\n\r\n textContainer\r\n .style({\r\n height: (boundingClientRect.height * 2.08) + \"px\", // 856\r\n 'align-items': 'flex-start',\r\n top: `${problemHeight - 20}px`, // (boundingClientRect.height / this.commonContainer.aspectRatio) + ((boundingClientRect.height - textContainerBoundingRect.height) / 1.78) + \"px\",\r\n left: boundingClientRect.left + (boundingClientRect.width * 0.07) + \"px\"\r\n });\r\n\r\n boundingClientRect = this.commonContainer.svg.select(\"#dna-svg-block_0\").node().getBoundingClientRect();\r\n textContainer = d3.select(\"#solution\");\r\n // textContainerBoundingRect = textContainer.node().getBoundingClientRect();\r\n textContainer\r\n .style({\r\n height: (boundingClientRect.height * 1.25) + \"px\", // 810\r\n 'align-items': 'flex-start',\r\n top: (boundingClientRect.height / 0.334) + \"px\",\r\n });\r\n\r\n boundingClientRect = this.commonContainer.svg.select(\"#dot-wall_0\").node().getBoundingClientRect();\r\n textContainer = d3.select(\"#outcomes\");\r\n // textContainerBoundingRect = textContainer.node().getBoundingClientRect();\r\n textContainer\r\n .style({\r\n height: (boundingClientRect.height * 1.11) + \"px\", // 854\r\n 'align-items': 'flex-start',\r\n top: (boundingClientRect.height / 0.307) + \"px\", // 0.31\r\n });\r\n\r\n boundingClientRect = this.commonContainer.svg.select(\".bar-chart-section-svg\").node().getBoundingClientRect();\r\n textContainer = d3.select(\".outcomes-rebbons\");\r\n textContainer\r\n .style({\r\n top: (boundingClientRect.height) + \"px\",\r\n });\r\n\r\n boundingClientRect = this.commonContainer.svg.select(\"#first_path_0\").node().getBoundingClientRect();\r\n let boundingClientRect_2 = this.commonContainer.svg.select(\"#first_path_4\").node().getBoundingClientRect();\r\n textContainer = d3.select(\"#shop-pay\");\r\n // textContainerBoundingRect = textContainer.node().getBoundingClientRect();\r\n textContainer\r\n .style({\r\n top: (boundingClientRect.height / 0.275) + \"px\",\r\n left: (boundingClientRect_2.height / 0.31) + \"px\"\r\n });\r\n }\r\n\r\n renderDna() {\r\n\r\n const createDna = (index, width, height, translate, idString) => {\r\n this.sectionsHolder.solution.details[index] = {\r\n svg: this.commonContainer.svg,\r\n container: null,\r\n width: width,\r\n height: height,\r\n index: index,\r\n data: [],\r\n categories,\r\n categoriesColor,\r\n shapes: [\"hexagoan\", \"square\", \"triangleDown\", \"star\"].reverse(),\r\n translate: translate,\r\n idString: idString\r\n };\r\n this.sectionsHolder.solution.flag[index] = 1;\r\n }\r\n\r\n let dnaIdString = \"dna-arc\", width, height, translate, categoriesColor = [], categories = [], dnaTranslate = [], svgHeight, path = { dna: [] }, pathScales = { dna: [] };\r\n\r\n for (let i = 0; i < 4; i++) {\r\n categoriesColor[i] = this.commonContainer.categories[i].color;\r\n categories[i] = this.commonContainer.categories[i].type;\r\n }\r\n\r\n dnaTranslate = this.sectionsHolder.dataToSolution.thirdLinePath.getLine3EndPoints();\r\n\r\n for (let index = 0; index < 4; index++) {\r\n width = 150;\r\n height = 650;\r\n translate = {\r\n x: this.commonContainer.xScale(dnaTranslate[index].xCoordinate) - (width / 2),\r\n y: dnaTranslate[index].yCoordinate - 30\r\n };\r\n svgHeight = dnaTranslate[index].yCoordinate + height\r\n createDna(index, width, height, translate, dnaIdString);\r\n }\r\n\r\n this.commonContainer.svg.attr({\r\n \"height\": svgHeight + 30\r\n })\r\n\r\n const getDnaPath = (object) => {\r\n path.dna = object.path.dna.slice();\r\n pathScales.dna = object.pathScales.dna.slice();\r\n }\r\n\r\n let animateDnaLinePath = (scrollTop) => {\r\n for (let secondIndex = 0; secondIndex < 4; secondIndex++) {\r\n updateDnaArcPathLength(path.dna[secondIndex].left, pathScales.dna[secondIndex].left, secondIndex, scrollTop, \"left\");\r\n updateDnaArcPathLength(path.dna[secondIndex].right, pathScales.dna[secondIndex].right, secondIndex, scrollTop, \"right\");\r\n }\r\n }\r\n\r\n const updateDnaArcPathLength = (path, pathScale, index, scrollTop, side) => {\r\n path\r\n .style('stroke-dashoffset', function (d) {\r\n side == \"right\" ?\r\n updateRightDnaShapesAnimation(path, pathScale, index, scrollTop) :\r\n updateLeftDnaShapesAnimation(path, pathScale, index, scrollTop);\r\n if (pathScale(scrollTop) <= 10) {\r\n hideShapes(side, index);\r\n }\r\n return path.node().getTotalLength() - pathScale(scrollTop) + 'px';\r\n });\r\n }\r\n\r\n const updateLeftDnaShapesAnimation = (path, pathScale, index, scrollTop) => {\r\n let movingShapes = this.commonContainer.svg.selectAll(\".left-shapes-\" + index),\r\n idString = \"#dna-left-moving-shapes-\";\r\n\r\n movingShapes\r\n .attr(\"fill-opacity\", 1)\r\n .each(function (d, key) {\r\n dnaShapesPathTween(path, pathScale, index, key, scrollTop, idString);\r\n });\r\n }\r\n\r\n const updateRightDnaShapesAnimation = (path, pathScale, index, scrollTop) => {\r\n let movingShapes = this.commonContainer.svg.selectAll(\".right-shapes-\" + index),\r\n idString = \"#dna-right-moving-shapes-\";\r\n\r\n movingShapes\r\n .attr(\"fill-opacity\", 1)\r\n .each(function (d, key) {\r\n dnaShapesPathTween(path, pathScale, index, key, scrollTop, idString);\r\n });\r\n }\r\n\r\n const dnaShapesPathTween = (linePath, pathScale, index, key, scrollTop, idString) => {\r\n let length = linePath.node().getTotalLength();\r\n let r = d3.interpolate(0, length);\r\n let diffFactorForEachShapes = key * 25;\r\n let divideAdjFactor = length;\r\n let point = linePath.node().getPointAtLength(r(((pathScale(scrollTop) - diffFactorForEachShapes)) / divideAdjFactor)); // Get the next point along the path\r\n\r\n this.commonContainer.svg.select(idString + index + \"-\" + key)\r\n .attr(\"transform\", \"translate(\" + point.x + \", \" + point.y + \")\")\r\n }\r\n\r\n const hideShapes = (type, index) => {\r\n let movingShapes = this.commonContainer.svg.selectAll(\".\" + type + \"-shapes-\" + index);\r\n movingShapes\r\n .attr(\"fill-opacity\", 0);\r\n }\r\n\r\n return {\r\n animateDnaLinePath,\r\n getDnaPath\r\n }\r\n }\r\n\r\n renderBarChart() {\r\n var dim = {\r\n width: 800,\r\n height: 500,\r\n graphWidth: 0,\r\n graphHeight: 0\r\n };\r\n var barMargin = {\r\n top: 10,\r\n bottom: 50,\r\n left: 50,\r\n right: 10\r\n };\r\n dim.graphWidth = dim.width - barMargin.left - barMargin.right;\r\n dim.graphHeight = dim.height - barMargin.top - barMargin.bottom;\r\n\r\n var barChartSvg = this.commonContainer.svg.append('g')\r\n .attr({\r\n width: dim.width,\r\n height: dim.height,\r\n class: \"bar-chart-section-svg\"\r\n })\r\n .style({\r\n margin: 0,\r\n padding: 0\r\n });\r\n\r\n var axisLayer = barChartSvg.append('g').attr('transform', 'translate(' + barMargin.left + ',' + barMargin.top + ')'),\r\n graphLayer = barChartSvg.append('g').attr('transform', 'translate(' + barMargin.left + ',' + barMargin.top + ')'),\r\n barXScale = d3.scale.ordinal().rangeBands([0, dim.graphWidth], 0.83),\r\n xLocalScale = d3.scale.ordinal(),\r\n barYScale = d3.scale.ordinal().rangePoints([dim.graphHeight, 0]),\r\n colorScale = [\"#faa24c\", \"#d94785\", \"#a1be00\", \"#39b2ff\"],\r\n barXAxis = d3.svg.axis().orient('bottom').scale(barXScale),\r\n barYAxis = d3.svg.axis().orient('left').scale(barYScale),\r\n xAxisObj = axisLayer.append('g')\r\n .attr({\r\n 'transform': 'translate(' + 0 + ',' + dim.graphHeight + ')',\r\n 'class': 'axis'\r\n })\r\n .call(barXAxis),\r\n yAxisObj = axisLayer.append('g')\r\n .attr({\r\n 'transform': 'translate(' + 0 + ',' + 0 + ')',\r\n 'class': 'axis'\r\n })\r\n .call(barYAxis);\r\n\r\n axisLayer.selectAll('.axis text').style('font', '14px \"Lucida Grande\", Helvetica, Arial, sans-serif');\r\n axisLayer.selectAll('.axis path.domain').style({\r\n fill: 'none',\r\n stroke: '#e0e0e0',\r\n 'shape-rendering': 'crispEdges'\r\n });\r\n axisLayer.selectAll('.axis line').style({\r\n fill: 'none',\r\n stroke: '#000000',\r\n 'shape-rendering': 'crispEdges'\r\n });\r\n\r\n var radius = 4;\r\n var mar = 0.7;\r\n var barWidth = 3;\r\n\r\n // To get barChart Config Data\r\n let barChartConfigDetails = this.sectionsHolder.outcome.dotWall.getBarChartConfigDetails();\r\n let {\r\n barData,\r\n sums,\r\n parties,\r\n raw\r\n } = barChartConfigDetails;\r\n\r\n let svgHeight = parseInt(this.commonContainer.svg.style(\"height\").replace(\"px\", \"\")), translate = { x: null, y: null };\r\n let translateValue = this.sectionsHolder.dataToSolution.thirdLinePath.getLine3EndPoints();\r\n translate.y = svgHeight - dim.height + 20;\r\n translate.x = this.commonContainer.xScale(translateValue[0].xCoordinate) - (250 / 2);\r\n\r\n //To translate barChart Group\r\n barChartSvg.attr({\r\n transform: \"translate(\" + translate.x + \",\" + translate.y + \")\"\r\n })\r\n\r\n //To Update Svg Height\r\n this.commonContainer.svg.attr({\r\n height: translate.y + dim.height\r\n });\r\n\r\n var nrow = Math.ceil(dim.graphHeight / (2 * (radius + mar)));\r\n barYScale.domain(d3.range(nrow));\r\n barXScale.domain(raw.data.map(function (d, i) {\r\n return i;\r\n }));\r\n barXAxis.tickFormat(function (d) {\r\n return parties[d];\r\n });\r\n xAxisObj.call(barXAxis);\r\n\r\n var yText = yAxisObj.append(\"g\")\r\n .attr(\"class\", \"y axis\");\r\n\r\n function createYAxisText(textSvg, text, boundaries) {\r\n textSvg.append(\"text\") // and text1\r\n .attr({\r\n \"transform\": \"rotate(-90)\",\r\n \"y\": boundaries.y,\r\n \"x\": boundaries.x,\r\n \"dy\": \".71em\"\r\n })\r\n .style({\r\n \"fill\": \"#979998\",\r\n \"text-anchor\": \"end\",\r\n \"font-size\": \"16px\",\r\n \"font-weight\": \"500\"\r\n })\r\n .text(text);\r\n }\r\n\r\n let boundaries = null;\r\n boundaries = {\r\n x: -120,\r\n y: -40\r\n }\r\n createYAxisText(yText, \"Micro Cluster Event Likehood\", boundaries);\r\n boundaries = {\r\n x: -140,\r\n y: -20\r\n }\r\n createYAxisText(yText, \"Micro Cluster Size (pm)\", boundaries);\r\n\r\n xLocalScale.rangeBands([0, barXScale.rangeBand()]).domain(d3.range(barWidth));\r\n\r\n var displaydata = d3.range(sums).map(function (d) {\r\n return [];\r\n });\r\n\r\n var barDataFlagCount = [0, 0, 0, 0];\r\n var barChartDots = [0, 0, 0, 0];\r\n\r\n for (let i = 0; i < barData.length; i++) {\r\n barDataFlagCount[i] = i == 0 ? 0 : barData[i - 1];\r\n }\r\n\r\n function createBarChartData(index) {\r\n displaydata[barDataFlagCount[index]].push({\r\n label: index,\r\n idx: barChartDots[index]\r\n });\r\n createBarDots(displaydata[barDataFlagCount[index]]);\r\n barChartDots[index]++;\r\n barDataFlagCount[index]++;\r\n\r\n if (barChartDots[index] == barData[index] && reverseFlag[index]) {\r\n animateRemainingDots(0);\r\n animationBarText(index, 0, 1);\r\n reverseFlag[index] = 0;\r\n }\r\n }\r\n\r\n var symbol = d3.svg.symbol().type('circle'),\r\n votes = null,\r\n reverseFlag = [];\r\n\r\n function createBarDots(d) {\r\n for (let i = 0; i < d.length; i++) {\r\n votes = graphLayer\r\n .data(d)\r\n .append(\"path\")\r\n .attr({\r\n \"d\": symbol.size(50),\r\n \"transform\": function () {\r\n return \"translate(\" + ((d[i].label != null) ? (barXScale(d[i].label) + xLocalScale(d[i].idx % barWidth)) : (dim.graphWidth / 2)) +\r\n \",\" + ((d[i].label != null) ? (isNaN(barYScale(Math.floor((d[i].idx + 0.1) / barWidth)) - radius - mar) ? 0 : barYScale(Math.floor((d[i].idx + 0.1) / barWidth)) - radius - mar) : 0) + \")\";\r\n },\r\n \"id\": function () {\r\n return \"bar_chart_dot_\" + d[i].label + \"_\" + d[i].idx\r\n },\r\n 'class': 'vote'\r\n })\r\n .style({\r\n \"stroke\": \"none\",\r\n 'fill': function () {\r\n return colorScale[d[i].label];\r\n }\r\n });\r\n }\r\n }\r\n\r\n //for top text\r\n graphLayer.selectAll(\".text\")\r\n .data(raw.data)\r\n .enter()\r\n .append(\"text\")\r\n .attr({\r\n \"x\": function (d, i) {\r\n return (barXScale(i) + xLocalScale(0 % barWidth) - (i > 0 ? 7 : 0));\r\n },\r\n \"y\": function (d, i) {\r\n return barYScale(Math.floor((d.value + 0.1) / barWidth)) - radius - mar\r\n },\r\n \"id\": function (d, i) {\r\n return i + \"_\" + d.top;\r\n },\r\n \"dy\": \"0em\",\r\n \"stroke-opacity\": 0,\r\n \"fill-opacity\": 0,\r\n \"font-family\": \"sans-serif\",\r\n \"font-size\": \"10px\",\r\n \"font-weight\": \"bold\"\r\n })\r\n .text(function (d) {\r\n return d.top;\r\n })\r\n\r\n //for left text\r\n graphLayer.selectAll(\".text\")\r\n .data(raw.data)\r\n .enter()\r\n .append(\"text\")\r\n .attr({\r\n \"x\": function (d, i) {\r\n return (barXScale(i) + xLocalScale(0 % barWidth)) - 35;\r\n },\r\n \"y\": function (d, i) {\r\n return (barYScale(Math.floor((d.value / 2 + 0.1) / barWidth)) - radius - mar) + 5\r\n },\r\n \"id\": function (d, i) {\r\n return i + \"_\" + d.left;\r\n },\r\n \"dy\": \"0em\",\r\n \"stroke-opacity\": 0,\r\n \"fill-opacity\": 0,\r\n \"font-family\": \"sans-serif\",\r\n \"font-size\": \"13px\"\r\n })\r\n .text(function (d) {\r\n return d.left;\r\n });\r\n\r\n function animateRemainingDots(value) {\r\n for (let i = 0; i < 4; i++) {\r\n for (let j = 0; j < 4; j++) {\r\n d3.selectAll(\".dot-ball_\" + i + \"_\" + j)\r\n .transition()\r\n .ease(\"linear\")\r\n .delay(450 * ((j + i) * Math.random()))\r\n .attr({\r\n \"fill-opacity\": value,\r\n \"stroke-opacity\": value\r\n })\r\n }\r\n }\r\n }\r\n\r\n function animationBarText(index, start, end) {\r\n var topTextObj = [],\r\n leftTextObj = [];\r\n\r\n topTextObj[index] = d3.select(\"text[id='\" + index + \"_\" + raw.data[index].top + \"']\");\r\n topTextObj[index].attr(\"fill-opacity\", start)\r\n .attr(\"stroke-opacity\", start)\r\n .transition()\r\n .ease(\"linear\")\r\n .delay(function (d, i) {\r\n return 200 * (i + 2);\r\n })\r\n .attr({\r\n \"fill-opacity\": end,\r\n \"stroke-opacity\": end\r\n });\r\n\r\n leftTextObj[index] = d3.select(\"text[id='\" + index + \"_\" + raw.data[index].left + \"']\");\r\n leftTextObj[index].attr(\"fill-opacity\", start)\r\n .attr(\"stroke-opacity\", start)\r\n .transition()\r\n .ease(\"linear\")\r\n .delay(function (d, i) {\r\n return 250 * (i + 2);\r\n })\r\n .attr({\r\n \"fill-opacity\": end,\r\n \"stroke-opacity\": end\r\n });\r\n }\r\n\r\n for (let i = 0; i < 4; i++) {\r\n reverseFlag[i] = 1;\r\n }\r\n\r\n function removeBarDot(index) {\r\n graphLayer.select(\"#bar_chart_dot_\" + index + \"_\" + (barChartDots[index] - 1)).remove();\r\n displaydata[barDataFlagCount[index]].pop();\r\n barChartDots[index]--;\r\n barDataFlagCount[index]--;\r\n\r\n if (barChartDots[index] != barData[index] && !reverseFlag[index]) {\r\n animateRemainingDots(1);\r\n animationBarText(index, 1, 0);\r\n reverseFlag[index] = 1;\r\n }\r\n }\r\n\r\n return {\r\n createBarChartData,\r\n removeBarDot\r\n }\r\n }\r\n\r\n changeWindowDetails() {\r\n let HEIGHT = window.innerHeight;\r\n let content = d3.select(\"#\" + this.commonContainer.parentNodeId),\r\n header = d3.select(\"#header\");\r\n this.commonContainer.scrollLength = content.node().getBoundingClientRect().height - (HEIGHT - header.node().getBoundingClientRect().height);\r\n console.log(\"SCROLL LENGTH , SCREEN HEIGHT, Content HEIGHT, Header HEIGHT:\", this.commonContainer.scrollLength, HEIGHT, content.node().getBoundingClientRect().height, header.node().getBoundingClientRect().height);\r\n\r\n //To update domains of Path and other components on resize(window height and svg viewbox resize)\r\n this.sectionsHolder.problemToData.firstLinePath.updateFirstPathScale();\r\n this.sectionsHolder.problemToData.secondLinePath.updateSecondPathScale();\r\n this.sectionsHolder.dataToSolution.timeline.updateTimeline.updateTimelinePathScale();\r\n this.sectionsHolder.dataToSolution.thirdLinePath.updateThirdPathScale();\r\n this.sectionsHolder.dataToSolution.timeline.updateTimeline.setTooltipPosition();\r\n\r\n let start = (this.commonContainer.scrollLength * 0.205) / this.commonContainer.aspectRatio,\r\n end = (this.commonContainer.scrollLength * 0.265) / this.commonContainer.aspectRatio;\r\n\r\n let dnaDetails = this.initializeDnaPath(start, end);\r\n this.sectionsHolder.solution.updateDna.getDnaPath(dnaDetails);\r\n this.sectionsHolder.solutionToOutcome.updateRainDropDomain()\r\n this.sectionsHolder.outcome.dotWall.updateFourthPathScale();\r\n }\r\n\r\n renderRainBlock() {\r\n let translateValue = this.sectionsHolder.dataToSolution.thirdLinePath.getLine3EndPoints();\r\n let heightOfDna = 650;\r\n var rainDim = {\r\n width: {\r\n start: this.commonContainer.xScale(translateValue[0].xCoordinate) - 75,\r\n end: this.commonContainer.width - 75\r\n },\r\n height: {\r\n start: translateValue[0].yCoordinate + heightOfDna - 60,\r\n end: 90\r\n }\r\n },\r\n categoriesColor = [],\r\n categories = [],\r\n rainShapeCount = 100,\r\n rainSvg = this.commonContainer.svg\r\n .append(\"g\")\r\n .attr({\r\n \"class\": \"solution-to-outcome-rain-block\",\r\n \"id\": \"solution-to-outcome-rain-block\",\r\n }),\r\n dropRainData = [],\r\n rainFlowOffset = [];\r\n\r\n rainDim.height.end += rainDim.height.start;\r\n\r\n for (let i = 0; i < 4; i++) {\r\n categoriesColor[i] = this.commonContainer.categories[i].color;\r\n categories[i] = this.commonContainer.categories[i].type;\r\n }\r\n\r\n let createRainData = () => {\r\n for (let i = 0; i < rainShapeCount; i++) {\r\n dropRainData.push({\r\n dotId: null,\r\n rainId: \"dna-to-wall-shapes_\" + i,\r\n shapeType: this.commonContainer.shapes[Math.floor(Math.random() * (this.commonContainer.shapes.length))],\r\n coordinates: {\r\n from: {\r\n x: null,\r\n y: null,\r\n },\r\n to: {\r\n x: null,\r\n y: null\r\n }\r\n },\r\n position: {\r\n xScale: null,\r\n yScale: null\r\n },\r\n flag: {\r\n start: false,\r\n end: false\r\n }\r\n });\r\n rainFlowOffset[i] = 0;\r\n }\r\n }\r\n\r\n let getRandom = (min, max) => {\r\n return Math.random() * (max - min) + min;\r\n }\r\n\r\n let createRainBlock = () => {\r\n rainSvg.selectAll(\".rain_shapes\")\r\n .data(dropRainData)\r\n .enter()\r\n .append(\"path\")\r\n .attr({\r\n \"d\": (d) => {\r\n return this._D3CustomShapesService.getShapeCoordinates(d.shapeType, (35 * 2))\r\n },\r\n \"transform\": function (d, i) {\r\n dropRainData[i].coordinates.from.x = getRandom(rainDim.width.start, rainDim.width.end);\r\n dropRainData[i].coordinates.from.y = getRandom(rainDim.height.start, rainDim.height.end);\r\n return \"translate(\" + dropRainData[i].coordinates.from.x + \",\" + dropRainData[i].coordinates.from.y + \")\"\r\n },\r\n \"class\": \"dna-to-wall-shapes\",\r\n \"id\": function (d, i) {\r\n return d.rainId\r\n },\r\n \"fill-opacity\": 1\r\n })\r\n .style({\r\n \"fill\": function () {\r\n return categoriesColor[Math.floor(Math.random() * 4)]\r\n },\r\n \"stroke\": \"none\",\r\n })\r\n }\r\n\r\n let updateRainData = () => {\r\n let rainOffset = 0,\r\n dotGroup = null,\r\n dotShape = null,\r\n rainCount = 0,\r\n nextRainOffset = (rainShapeCount / 4),\r\n rainIndex = 0,\r\n translateDotWall = {\r\n x: null,\r\n y: null\r\n }\r\n\r\n function shuffle(array) {\r\n array.sort(() => Math.random() - 0.5);\r\n }\r\n\r\n for (let dotIndex = 0; dotIndex < 4; dotIndex++) {\r\n dotGroup = this.commonContainer.svg.select('#dot-wall_' + dotIndex);\r\n let string = dotGroup.attr(\"transform\");\r\n let translate = string.substring(string.indexOf(\"(\") + 1, string.indexOf(\")\")).split(\",\");\r\n\r\n translateDotWall = {\r\n x: Number(translate[0]) + 10,\r\n y: Number(translate[1]) + 40\r\n }\r\n\r\n dotShape = this.commonContainer.svg.selectAll('.dot-ball_' + dotIndex);\r\n shuffle(dotShape[0]);\r\n\r\n rainCount = 0;\r\n for (rainIndex = rainOffset; rainIndex < nextRainOffset; rainIndex++) {\r\n dropRainData[rainIndex].dotId = dotShape[0][rainCount].getAttribute(\"id\");\r\n dropRainData[rainIndex].coordinates.to.x = Number(dotShape[0][rainCount].getAttribute(\"cx\")) + translateDotWall.x;\r\n dropRainData[rainIndex].coordinates.to.y = Number(dotShape[0][rainCount].getAttribute(\"cy\")) + translateDotWall.y;\r\n rainCount++;\r\n }\r\n rainOffset += rainCount;\r\n nextRainOffset += rainCount;\r\n }\r\n }\r\n\r\n let updateDomain = () => {\r\n let { scrollLength, aspectRatio } = this.commonContainer;\r\n let domain = {\r\n start: (scrollLength * 0.265) / aspectRatio,\r\n end: (scrollLength * 0.334) / aspectRatio\r\n }\r\n for (let index = 0; index < dropRainData.length; index++) {\r\n let { position, coordinates } = dropRainData[index], range;\r\n position.xScale = (range) => d3.scale.linear().domain([domain.start, domain.end]).range([range.start, range.end]).clamp(true);\r\n range = {\r\n start: coordinates.from.y,\r\n end: coordinates.to.y\r\n };\r\n position.yScale = d3.scale.linear().domain([domain.start, domain.end]).range([range.start, range.end]).clamp(true);\r\n }\r\n }\r\n\r\n let transformShape = (data, index, scrollTop) => {\r\n let { position, dotId, rainId, coordinates, flag } = data, x, y, raindropShape, dotWallShape, range;\r\n range = {\r\n start: coordinates.from.x,\r\n end: coordinates.to.x\r\n }\r\n if (position.yScale(scrollTop) <= (coordinates.from.y + (coordinates.to.y - coordinates.from.y) / 1.4)) {\r\n range = {\r\n start: coordinates.from.x,\r\n end: getRandom(coordinates.from.x, coordinates.to.x)\r\n };\r\n x = position.xScale(range)(scrollTop);\r\n } else {\r\n x = position.xScale(range)(scrollTop);\r\n }\r\n y = position.yScale(scrollTop);\r\n raindropShape = this.commonContainer.svg.select(\"#\" + rainId);\r\n dotWallShape = this.commonContainer.svg.select(\"#\" + dotId);\r\n\r\n if (x == coordinates.from.x && y == coordinates.from.y && !flag.start) {\r\n raindropShape\r\n .attr({ \"fill-opacity\": 0 });\r\n\r\n flag.start = true;\r\n } else if (x != coordinates.from.x && y != coordinates.from.y && flag.start) {\r\n raindropShape\r\n .attr({ \"fill-opacity\": 1 });\r\n\r\n flag.start = false;\r\n }\r\n\r\n if (x != coordinates.from.x && y != coordinates.from.y) {\r\n raindropShape\r\n .attr({ \"transform\": \"translate(\" + x + \",\" + y + \")\" });\r\n }\r\n\r\n if (y == coordinates.to.y && flag.end) {\r\n let otherDotShapes = this.commonContainer.svg.selectAll('.dot-ball');\r\n otherDotShapes.attr({ \"fill-opacity\": 1 })\r\n } else if (x == coordinates.to.x && y == coordinates.to.y && !flag.end) {\r\n raindropShape\r\n .attr({ \"fill-opacity\": 0 });\r\n\r\n dotWallShape\r\n .attr({ \"fill-opacity\": 1 })\r\n .classed(\"dot-ball\", false);\r\n\r\n flag.end = true;\r\n }\r\n\r\n if (x != coordinates.to.x && y != coordinates.to.y && flag.end) {\r\n raindropShape\r\n .attr({ \"fill-opacity\": 1 });\r\n dotWallShape\r\n .attr({ \"fill-opacity\": 0 })\r\n .classed(\"dot-ball\", true);\r\n flag.end = false;\r\n } else if (y != coordinates.to.y && !flag.end) {\r\n let otherDotShapes = this.commonContainer.svg.selectAll('.dot-ball');\r\n otherDotShapes\r\n .attr({ \"fill-opacity\": 0 })\r\n }\r\n }\r\n\r\n let animateRainDrop = (scrollTop) => {\r\n for (let index = 0; index < dropRainData.length; index++) {\r\n transformShape(dropRainData[index], index, scrollTop);\r\n }\r\n }\r\n\r\n createRainData();\r\n createRainBlock();\r\n\r\n return {\r\n updateRainData,\r\n updateRainDropDomain: updateDomain,\r\n animateRainDrop\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class PlugNPredictTelecomService {\r\n\r\n // private customerDataSource = new BehaviorSubject(this.getCustomerData(this.circlesCount));\r\n private customerData: any = [];\r\n\r\n constructor() {}\r\n\r\n setCustomerData(circlesCount = 50) {\r\n // let data = [];\r\n for (let index = 0; index < circlesCount; index++) {\r\n this.customerData.push({\r\n id: index\r\n });\r\n }\r\n }\r\n\r\n getCustomerData() {\r\n return [...this.customerData];\r\n }\r\n\r\n // changeCustomerData(customerData: []) {\r\n // this.customerDataSource.next([...customerData]);\r\n // }\r\n\r\n}","module.exports = \"\\r\\n
\\r\\n\\t
\\r\\n\\t\\t\\r\\n\\t\\t
\\r\\n\\t\\t\\t

Start your prediction

\\r\\n\\t\\t\\t

To play this game follow the below steps :

\\r\\n\\t\\t\\t
    \\r\\n\\t\\t\\t\\t
  • \\r\\n\\t\\t\\t\\t\\tSelect your prediction points maximum upto six (minimum of 1) in the graph below as per your understanding of the problem statement.\\r\\n\\t\\t\\t\\t
  • \\r\\n\\t\\t\\t\\t
  • \\r\\n\\t\\t\\t\\t\\tFor each point validate the value put in the box that appears next to the point selected and update if needed.\\r\\n\\t\\t\\t\\t
  • \\r\\n\\t\\t\\t\\t
  • \\r\\n\\t\\t\\t\\t\\tFine tune the values if required using the (+) button next to the text boxes below the graph.\\r\\n\\t\\t\\t\\t
  • \\r\\n\\t\\t\\t\\t
  • \\r\\n\\t\\t\\t\\t\\tSubmit the results and compare your score with various prediction models.\\r\\n\\t\\t\\t\\t
  • \\r\\n\\t\\t\\t\\t
  • \\r\\n\\t\\t\\t\\t\\tYou can play this game multiple times with a different series !!!\\r\\n\\t\\t\\t\\t
  • \\r\\n\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t
\\r\\n\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t
\\t\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t
\\r\\n\\t\\t
\\r\\n\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t

Congratulations {{ userName.substr(0,userName.lastIndexOf(\\\"_\\\")) }}!

\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t

0\\\" class=\\\"score-label col pb-5\\\">Prediction matched to Algorithm : {{algorithm}}

\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
  • Actual Data
  • \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
  • User Forecast
  • \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
  • Ground Truth
  • \\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t

0\\\" class=\\\"score-label col text-center pb-5\\\">Score : {{value}}

\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\t\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t
0\\\">\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t
Algorithm {{element.algorithm}} Value {{element.value}}
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t
\\r\\n\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t

collated score

\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t

Series #{{gameIndex+1}}

\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t{{gamePlay.score}}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t{{algorithm.value}}
{{getAlgorithmName(algorithm.key)}}
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t
\\r\\n\\t\\t\\r\\n\\t
\\r\\n
\\r\\n\"","import { Component, OnInit, Input, ElementRef, ViewChild, AfterViewInit, OnDestroy } from '@angular/core';\r\ndeclare let d3: any;\r\nimport * as _ from 'lodash';\r\nimport { GalleryService } from 'src/app/gallery/gallery.service';\r\nimport { MatDialog, MatTableDataSource, MatSort } from '@angular/material';\r\nimport { DialogInputBoxComponent } from 'src/app/common/components/dialog-input-box/dialog-input-box.component';\r\nimport { KeyValue } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-prediction-game',\r\n templateUrl: './prediction-game.component.html'\r\n})\r\nexport class PredictionGameComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @Input() widgetData;\r\n data;\r\n @Input() osetParent;\r\n @ViewChild('predictionChartNewRef') chartElement: ElementRef;\r\n currentTimeSeries;\r\n groundTruthArr = [];\r\n userForecastArr = [];\r\n userName;\r\n userPredictedData = [];\r\n colorFlag;\r\n userPredictionDataFromInputBox = [{\r\n label: \"Month 25\",\r\n x: \"25\",\r\n value: null,\r\n }, {\r\n label: \"Month 26\",\r\n x: \"26\",\r\n value: null,\r\n }, {\r\n label: \"Month 27\",\r\n x: \"27\",\r\n value: null,\r\n }, {\r\n label: \"Month 28\",\r\n x: \"28\",\r\n value: null,\r\n }, {\r\n label: \"Month 29\",\r\n x: \"29\",\r\n value: null,\r\n }, {\r\n label: \"Month 30\",\r\n x: \"30\",\r\n value: null,\r\n }]\r\n childSection = \"timeSeriesSection\";\r\n gamePlays;\r\n isPredictionValuePresent = false;\r\n algorithm;\r\n value = 1;\r\n gaugeMaxValue = 1;\r\n displayedColumns = [\"algorithm\", \"value\"];\r\n dataSource = [];\r\n algorithmNames = [\r\n { \"name\": \"Naïve\", \"abbrevation\": \"Error_NAIVE\" },\r\n { \"name\": \"Holt Winter’s Model\", \"abbrevation\": \"Error_HW\" },\r\n { \"name\": \"Theta Model\", \"abbrevation\": \"Error_ETS\" },\r\n { \"name\": \"Auto ARIMA\", \"abbrevation\": \"Error_ARIMA\" },\r\n { \"name\": \"TBATS Model\", \"abbrevation\": \"Error_TBATS\" },\r\n { \"name\": \"XGBoost for Time Series\", \"abbrevation\": \"Error_XGBAR\" },\r\n { \"name\": \"Neural Net for Time Series\", \"abbrevation\": \"Error_TSLMX\" },\r\n { \"name\": \"AutoForecast/Driverless Forecast\", \"abbrevation\": \"Error_AutoForecast\" }]\r\n\r\n percentValue = this.value / this.gaugeMaxValue;\r\n canvasRef;\r\n @ViewChild(MatSort) sort: MatSort;\r\n inputData = {\r\n \"user_name\": null,\r\n \"series_no\": null,\r\n \"data\": [],\r\n \"algorithms\": []\r\n }\r\n commonContainer: any = {\r\n aspectRatio: null,\r\n svgGroup: {\r\n margin: {\r\n left: 0.1 * 500,\r\n top: 0.1 * 500,\r\n }\r\n }\r\n }\r\n containerId: any;\r\n\r\n constructor(private galleryService: GalleryService,\r\n public dialog: MatDialog, private _el: ElementRef) { }\r\n\r\n ngAfterViewInit() {\r\n this.getRandomdataAndPlotGraph();\r\n }\r\n\r\n getRandomdataAndPlotGraph() {\r\n this.isPredictionValuePresent = false;\r\n this.resetGameData(true);\r\n this.currentTimeSeries = JSON.parse(JSON.stringify(this.data.timeSeriesData[Math.floor(Math.random() * this.data.timeSeriesData.length)]));\r\n // this.currentTimeSeries = {\"Pred_Month_1\":1166.462,\"Pred_Month_2\":1181.346,\"Pred_Month_3\":1204.402,\"Pred_Month_4\":1229.013,\"Pred_Month_5\":1241.218,\"Pred_Month_6\":1226.924,\"Error_NAIVE\":3.522786013,\"Error_HW\":4.947946008,\"Error_ARIMA\":2.951106427,\"Error_ETS\":2.951039082,\"Error_TBATS\":2.148917901,\"Error_TSLMX\":3.971096504,\"Error_XGBAR\":2.712276043,\"Error_AutoForecast\":2.094169738,\"coordinates\":[{\"x\":\"1\",\"y\":1042.818},{\"x\":\"2\",\"y\":1052.897},{\"x\":\"3\",\"y\":1055.553},{\"x\":\"4\",\"y\":1056.475},{\"x\":\"5\",\"y\":1052.682},{\"x\":\"6\",\"y\":1045.751},{\"x\":\"7\",\"y\":1051.812},{\"x\":\"8\",\"y\":1059.874},{\"x\":\"9\",\"y\":1077.156},{\"x\":\"10\",\"y\":1079.406},{\"x\":\"11\",\"y\":1084.024},{\"x\":\"12\",\"y\":1076.019},{\"x\":\"13\",\"y\":1071.161},{\"x\":\"14\",\"y\":1069.95},{\"x\":\"15\",\"y\":1062.028},{\"x\":\"16\",\"y\":1073.088},{\"x\":\"17\",\"y\":1082.535},{\"x\":\"18\",\"y\":1094.606},{\"x\":\"19\",\"y\":1104.652},{\"x\":\"20\",\"y\":1120.702},{\"x\":\"21\",\"y\":1150.95},{\"x\":\"22\",\"y\":1167.265},{\"x\":\"23\",\"y\":1187.312},{\"x\":\"24\",\"y\":1174.894}]};\r\n setTimeout(() => {\r\n this.groundTruthArr = [];\r\n this.userForecastArr = [];\r\n this.drawChart(\"#predictionChartNewRef\");\r\n }, 0);\r\n }\r\n\r\n ngOnInit() {\r\n this.data = this.widgetData.data;\r\n setTimeout(() => this.openDialog());\r\n }\r\n\r\n openDialog() {\r\n const dialogRef = this.dialog.open(DialogInputBoxComponent, {\r\n disableClose: true\r\n });\r\n dialogRef.afterClosed().subscribe(userName => {\r\n\r\n if (userName) {\r\n this.getUserName(userName);\r\n this.childSection = \"timeSeriesSection\";\r\n }\r\n });\r\n }\r\n\r\n getUserName(userName){\r\n let name = userName.split(\"_\");\r\n this.userName = this.inputData.user_name = name[0] + \"_\" + Date.now();\r\n }\r\n\r\n y_scale;\r\n x_scale;\r\n tooltipDiv;\r\n drawChart(refid) {\r\n\r\n var canvas_width = 1100 * 0.8;\r\n var canvas_height = 500 * 0.8;\r\n var svg = d3.select(refid).append(\"svg\")\r\n .attr(\"height\", 500)\r\n .attr(\"width\", 1000)\r\n .call(this.responsivefy.bind(this));\r\n\r\n this.canvasRef = svg.append(\"g\")\r\n .attr(\"transform\", \"translate(\" + this.commonContainer.svgGroup.margin.left + \",\" + this.commonContainer.svgGroup.margin.top + \")\");\r\n\r\n let Pred_Month_Max = 0;\r\n let minArr = [];\r\n for (let i = 1; i <= 6; i++) {\r\n minArr.push(this.currentTimeSeries['Pred_Month_' + i]);\r\n if (Pred_Month_Max < this.currentTimeSeries['Pred_Month_' + i]) {\r\n Pred_Month_Max = this.currentTimeSeries['Pred_Month_' + i];\r\n }\r\n }\r\n\r\n let min = minArr.reduce((a, b) => Math.min(a, b));\r\n let coordinatesMax = this.currentTimeSeries.coordinates.reduce(function (l, v) {\r\n if (v.y > l) l = v.y;\r\n return l;\r\n }, 0)\r\n\r\n this.y_scale = d3.scale.linear()\r\n .domain([Math.min(d3.min(this.currentTimeSeries.coordinates, function (d) { return d.y - 50; }), min - 50), Math.max(Pred_Month_Max, coordinatesMax)])//d3.max(this.currentTimeSeries.coordinates, function (d) { return d.y + 50; }\r\n .range([canvas_height, 0]);\r\n\r\n this.x_scale = d3.scale.ordinal()\r\n .domain([\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"30\"])\r\n .rangeRoundBands([0, canvas_width], 1);\r\n\r\n var y_axis = d3.svg.axis()\r\n .scale(this.y_scale)\r\n .orient(\"left\");\r\n\r\n var x_axis = d3.svg.axis()\r\n .scale(this.x_scale)\r\n .orient(\"bottom\");\r\n\r\n\r\n var line = d3.svg.line()\r\n .x((d) => {\r\n return this.x_scale(d.x);\r\n\r\n })\r\n .y((d) => {\r\n return this.y_scale(d.y);\r\n });\r\n\r\n //To render y axis \r\n this.canvasRef.append(\"g\")\r\n .style(\"fill\", \"none\")\r\n .style(\"stroke\", \"#000\")\r\n .style(\"shape-rendering\", \"crispEdges\")\r\n .attr(\"class\", \"linear-chart-coordinates\")\r\n .call(y_axis);\r\n\r\n //To render x axis \r\n this.canvasRef.append(\"g\")\r\n .style(\"fill\", \"none\")\r\n .style(\"stroke\", \"#000\")\r\n .style(\"shape-rendering\", \"crispEdges\")\r\n .attr(\"class\", \"linear-chart-coordinates\")\r\n .attr(\"transform\", \"translate(0, \" + canvas_height + \")\")\r\n .call(x_axis);\r\n\r\n this.userForecastArr = _.orderBy(this.userForecastArr, ['x'], ['asc'])\r\n if (refid == \"#chart-gauge-map\") {\r\n this.canvasRef.append(\"path\")\r\n .attr(\"d\", line(this.groundTruthArr))//.slice(0, 24)\r\n .attr(\"stroke\", \"green\")\r\n .attr(\"fill\", \"none\");\r\n\r\n this.canvasRef.append(\"path\")\r\n .attr(\"d\", line(this.userForecastArr.sort()))//.slice(0, 24)\r\n .attr(\"stroke\", \"pink\")\r\n .attr(\"fill\", \"none\");\r\n }\r\n\r\n\r\n this.canvasRef.append(\"g\") // Draw the x Grid lines\r\n .attr(\"class\", \"prediction-chart-grid\")\r\n .attr(\"transform\", \"translate(0,\" + canvas_height + \")\")\r\n .call(this.make_x_axis()\r\n .tickSize(-canvas_height, 0, 0)\r\n .tickFormat(\"\")\r\n );\r\n\r\n this.canvasRef.append(\"g\") // Draw the y Grid lines\r\n .attr(\"class\", \"prediction-chart-grid\")\r\n .call(this.make_y_axis()\r\n .tickSize(-canvas_width, 0, 0)\r\n .tickFormat(\"\")\r\n );\r\n\r\n this.canvasRef.append(\"svg:path\")\r\n .attr(\"d\", line(this.currentTimeSeries.coordinates.slice(0, 24)))\r\n .attr(\"stroke\", \"black\")\r\n .attr(\"fill\", \"none\");\r\n\r\n this.tooltipDiv = d3.select(\"#predictionChartNewRef\")\r\n .style(\"position\", \"relative\")\r\n .append(\"div\") // declare the properties for the div used for the tooltips\r\n .attr(\"class\", \"graph-tooltip\") // apply the 'tooltip' class\r\n .style(\"opacity\", 0);\r\n\r\n this.canvasRef.append(\"text\")\r\n .attr(\"text-anchor\", \"middle\") // this makes it easy to centre the text as the transform is applied to the anchor\r\n .attr(\"transform\", \"translate(\" + (canvas_width / 2) + \",\" + (canvas_height + 50) + \")\") // centre below axis\r\n .attr(\"class\", \"chart-axis-label\")\r\n .text(\"MONTHS\");\r\n\r\n this.renderCirclesOnSvg(this.currentTimeSeries.coordinates);\r\n\r\n\r\n var self = this;\r\n svg.on(\"click\", function () {\r\n var coords = d3.mouse(this);\r\n\r\n if (d3.mouse(d3.event.currentTarget)[1] > 452) {\r\n return;\r\n }\r\n if (d3.mouse(d3.event.currentTarget)[1] <= 51) {\r\n return;\r\n }\r\n if (refid == \"#chart-gauge-map\") {\r\n return;\r\n }\r\n // console.log(y_scale.range());\r\n var newData = {\r\n //x: Math.round( x_scale.invert(coords[0])), // Takes the pixel number to convert to number\r\n y: Math.round(self.y_scale.invert(d3.mouse(d3.event.currentTarget)[1] - 50))\r\n };\r\n\r\n\r\n // console.log(newData);\r\n var xPos = d3.mouse(d3.event.currentTarget)[0];\r\n var leftEdges = self.x_scale.range();\r\n var width = self.x_scale.rangeBand();\r\n var j;\r\n var clickedOn;\r\n for (j = 0; xPos > (leftEdges[j] + 50); j++) { }\r\n //do nothing, just increment j until case fails\r\n clickedOn = self.x_scale.domain()[j];\r\n if (!clickedOn || clickedOn < 25) {\r\n return;\r\n }\r\n\r\n self.updateChart(clickedOn, newData.y);\r\n self.isPredictionValuePresent = true;\r\n\r\n var foundIndex = _.findIndex(self.userPredictionDataFromInputBox, { \"x\": clickedOn });\r\n\r\n if (foundIndex > -1) {\r\n self.userPredictionDataFromInputBox[foundIndex].value = newData.y;\r\n }\r\n\r\n })\r\n }\r\n\r\n\r\n make_x_axis() { // function for the x grid lines\r\n return d3.svg.axis()\r\n .scale(this.x_scale)\r\n .orient(\"bottom\")\r\n .ticks(5)\r\n }\r\n\r\n make_y_axis() { // function for the y grid lines\r\n return d3.svg.axis()\r\n .scale(this.y_scale)\r\n .orient(\"left\")\r\n .ticks(10)\r\n }\r\n\r\n scrollToTop() {\r\n const scrollContainer = document.getElementById('scroll-container');\r\n scrollContainer.scrollTo(0, (this.osetParent[1].offsetTop - scrollContainer.offsetTop + 1));\r\n }\r\nuserPlotArr=[];\r\n updateChart(xValue, yValue) {\r\n this.removePlotedPoint(xValue);\r\n\r\n this.currentTimeSeries.coordinates.push({ \"x\": xValue, \"y\": yValue, userPrediction: true });\r\n this.userPlotArr=[];\r\n this.userPlotArr.push({ \"x\": xValue, \"y\": yValue, userPrediction: true });\r\n\r\n var foundIndex = _.findIndex(this.userForecastArr, { \"x\": xValue });\r\n\r\n if (foundIndex > -1) {\r\n this.userForecastArr[foundIndex].y = yValue;\r\n } else {\r\n this.userForecastArr.push({ \"y\": yValue, \"x\": xValue })\r\n }\r\n\r\n this.renderCirclesOnSvg(this.userPlotArr);\r\n }\r\n\r\n renderCirclesOnSvg(datCordinates) {\r\n this.canvasRef.selectAll(\".circle\")\r\n .data(datCordinates)\r\n .enter()\r\n .append(\"circle\")\r\n .attr(\"id\", function (d) { return \"circle_\" + d.x })\r\n .attr(\"cy\", (d) => { return this.y_scale(d.y) })\r\n .attr(\"cx\", (d) => { return this.x_scale(d.x) })\r\n .attr(\"r\", 5)\r\n .attr(\"fill\", function (d) { return d.userPrediction == 'system-forecast' ? '#006400' : !d.userPrediction ? '#42b1ff' : '#ff3d4b' })\r\n .on(\"mouseover\", (d) => { // when the mouse goes over a circle, do the following\r\n let { svgGroup, aspectRatio } = this.commonContainer;\r\n this.tooltipDiv.transition() // declare the transition properties to bring fade-in div\r\n .duration(600) // it shall take 200ms\r\n .style(\"opacity\", 0.9); // and go all the way to an opacity of .9\r\n this.tooltipDiv.html(d.y) // add the text of the tooltip as html\r\n .style({\r\n left: (((this.x_scale(d.x) + svgGroup.margin.left + 11) * aspectRatio.widthAspect)) + \"px\",\r\n top: (((this.y_scale(d.y) + svgGroup.margin.top) * aspectRatio.heightAspect) - (this.tooltipDiv.node().offsetHeight / 2)) + \"px\"\r\n });\r\n })\r\n .on(\"mouseout\", (d) => { // when the mouse leaves a circle, do the following\r\n this.tooltipDiv.transition() // declare the transition properties to fade-out the div\r\n .duration(500) // it shall take 500ms\r\n .style(\"opacity\", 0); // and go all the way to an opacity of nil\r\n });\r\n }\r\n updatePredictionValue(index) {\r\n //console.log(this.userPredictionDataFromInputBox);\r\n\r\n this.updateChart(this.userPredictionDataFromInputBox[index].x, this.userPredictionDataFromInputBox[index].value)\r\n }\r\n\r\n clearPrediction(index) {\r\n this.userPredictionDataFromInputBox[index].value = null;\r\n this.removePlotedPoint(this.userPredictionDataFromInputBox[index].x);\r\n this.modelChanged(null);\r\n }\r\n\r\n removePlotedPoint(xValue) {\r\n var foundIndex = _.findIndex(this.currentTimeSeries.coordinates, { \"x\": xValue });\r\n\r\n if (foundIndex > -1) {\r\n d3.selectAll('g #circle_' + xValue).remove();\r\n this.currentTimeSeries.coordinates.splice(foundIndex, 1);\r\n }\r\n }\r\n\r\n modelChanged(event) {\r\n if (!event) {\r\n let foundElements = _.reject(this.userPredictionDataFromInputBox, ['value', null]);;\r\n if (foundElements.length) {\r\n this.isPredictionValuePresent = true;\r\n } else {\r\n this.isPredictionValuePresent = false;\r\n }\r\n // console.log(foundIndex);\r\n } else {\r\n this.isPredictionValuePresent = true;\r\n }\r\n\r\n }\r\n\r\n resetGameData(isPlayAgain) {\r\n this.inputData = {\r\n user_name: this.userName,\r\n series_no: 2,\r\n data: [],\r\n algorithms: []\r\n };\r\n\r\n if (isPlayAgain) {\r\n this.userPredictionDataFromInputBox = [{\r\n label: \"Month 25\",\r\n x: \"25\",\r\n value: null,\r\n }, {\r\n label: \"Month 26\",\r\n x: \"26\",\r\n value: null,\r\n }, {\r\n label: \"Month 27\",\r\n x: \"27\",\r\n value: null,\r\n }, {\r\n label: \"Month 28\",\r\n x: \"28\",\r\n value: null,\r\n }, {\r\n label: \"Month 29\",\r\n x: \"29\",\r\n value: null,\r\n }, {\r\n label: \"Month 30\",\r\n x: \"30\",\r\n value: null,\r\n }]\r\n }\r\n\r\n }\r\n\r\n getUsersGameData() {\r\n this.resetGameData(false);\r\n\r\n let dataDetails = {};\r\n let actualPointSeriesMapping = {\r\n \"25\": 1,\r\n \"26\": 2,\r\n \"27\": 3,\r\n \"28\": 4,\r\n \"29\": 5,\r\n \"30\": 6\r\n }\r\n\r\n let algorithmsName = [\"Error_NAIVE\", \"Error_HW\", \"Error_ARIMA\", \"Error_ETS\", \"Error_TBATS\", \"Error_TSLMX\", \"Error_XGBAR\", \"Error_AutoForecast\"];\r\n let maxValuePrediction = _.maxBy(this.userPredictionDataFromInputBox, 'value');\r\n for (let index = 0; index < this.userPredictionDataFromInputBox.length; index++) {\r\n dataDetails = {\r\n point: \"p\" + (index + 1),\r\n actual_point: this.currentTimeSeries[\"Pred_Month_\" + actualPointSeriesMapping[this.userPredictionDataFromInputBox[index].x]],\r\n user_plotted_point: this.userPredictionDataFromInputBox[index].value || maxValuePrediction.value\r\n }\r\n\r\n this.inputData.data.push(dataDetails);\r\n }\r\n\r\n for (let index = 0; index < algorithmsName.length; index++) {\r\n\r\n this.inputData.algorithms.push({\r\n [algorithmsName[index]]: this.currentTimeSeries[algorithmsName[index]]\r\n });\r\n }\r\n this.inputData.series_no = this.currentTimeSeries.series_no;\r\n }\r\n\r\n submitGame() {\r\n this.getUsersGameData();\r\n this.scrollToTop();\r\n this.childSection = \"gaugeSection\";\r\n let url = this.data.matchPredictionAPI;\r\n this.userName = this.inputData.user_name;\r\n this.galleryService.postData(url, this.inputData).subscribe((response: any) => {\r\n let maxObjValue: any;\r\n let minObjValue: any;\r\n let tableData = [];\r\n let inputAlgorithms = response.data.algorithms;\r\n for (let key in inputAlgorithms) {\r\n let algorithm = _.find(this.algorithmNames, ['abbrevation', key]);\r\n tableData.push({ \"algorithm\": algorithm.name, \"value\": inputAlgorithms[key] })\r\n if (!maxObjValue) {\r\n maxObjValue = minObjValue = inputAlgorithms[key];\r\n } else {\r\n if (inputAlgorithms[key] > maxObjValue) {\r\n maxObjValue = inputAlgorithms[key];\r\n }\r\n if (inputAlgorithms[key] < minObjValue) {\r\n minObjValue = inputAlgorithms[key];\r\n }\r\n }\r\n }\r\n\r\n this.dataSource = tableData.sort(function (a, b) {\r\n return b.value - a.value;\r\n });\r\n\r\n\r\n this.value = response.data.score;\r\n if (this.value >= (minObjValue - 0.1) && this.value <= (minObjValue + 0.1)) {\r\n this.colorFlag = true;\r\n }\r\n this.gaugeMaxValue = maxObjValue;\r\n this.percentValue = this.value / this.gaugeMaxValue;\r\n if (this.value > this.gaugeMaxValue) {\r\n this.percentValue = this.gaugeMaxValue / this.gaugeMaxValue;\r\n }\r\n if (this.value < 0) {\r\n this.percentValue = 0;\r\n }\r\n let algorithm = _.find(this.algorithmNames, ['abbrevation', response.data.algorithm_based_on_match_score]);\r\n this.algorithm = algorithm.name;\r\n this.groundTruthArr.push(this.currentTimeSeries.coordinates[23]);\r\n this.userForecastArr.push(this.currentTimeSeries.coordinates[23]);\r\n\r\n for (let i = 1; i <= 6; i++) {\r\n this.currentTimeSeries.coordinates.push({ \"x\": 24 + i, \"y\": this.currentTimeSeries['Pred_Month_' + i], userPrediction: 'system-forecast' });\r\n this.groundTruthArr.push({ \"x\": 24 + i, \"y\": this.currentTimeSeries['Pred_Month_' + i], userPrediction: 'system-forecast' });\r\n\r\n }\r\n setTimeout(() => {\r\n //this.groundTruthArr=[];\r\n this.drawChart(\"#chart-gauge-map\");\r\n this.loadSlider();\r\n }, 50)\r\n });\r\n\r\n }\r\n\r\n playAgain() {\r\n this.scrollToTop();\r\n this.childSection = \"timeSeriesSection\";\r\n this.algorithm = \"\";\r\n this.getRandomdataAndPlotGraph();\r\n }\r\n\r\n getAlgorithmValue(gamePlay, algorithm) {\r\n let algorithmValue;\r\n gamePlay.algorithms.forEach(element => {\r\n for (let key in element) {\r\n if (key == algorithm) {\r\n algorithmValue = element[key];\r\n break;\r\n }\r\n }\r\n });\r\n return algorithmValue;\r\n }\r\n\r\n getAlgorithmName(algorithm) {\r\n return _.find(this.algorithmNames, ['abbrevation', algorithm]).name;\r\n }\r\n\r\n valueOrder = (a: KeyValue, b: KeyValue): number => {\r\n return a.value < b.value ? 1 : (b.value < a.value ? -1 : 0)\r\n }\r\n\r\n endGame() {\r\n this.scrollToTop();\r\n this.childSection = \"scoreBoardSection\";\r\n this.gamePlays = [];\r\n this.galleryService.getData(this.data.getScorecardAPI + this.userName).subscribe((response: any) => {\r\n this.gamePlays = response.data.gameplays;\r\n });\r\n }\r\n\r\n restartGame() {\r\n this.scrollToTop();\r\n this.getUserName(this.userName);\r\n this.childSection = \"timeSeriesSection\";\r\n this.getRandomdataAndPlotGraph();\r\n }\r\n\r\n loadSlider() {\r\n\r\n var barWidth, chart, chartInset, degToRad, repaintGauge,\r\n height, margin, numSections, padRad, percToDeg, percToRad,\r\n percent, radius, sectionIndx, svg, totalPercent, width;\r\n\r\n\r\n percent = this.percentValue;\r\n\r\n numSections = 1;\r\n var sectionPerc = 1 / numSections / 2;\r\n padRad = 0.025;\r\n chartInset = 10;\r\n\r\n // Orientation of gauge:\r\n totalPercent = .75;\r\n\r\n let el = d3.select('.chart-gauge');\r\n\r\n margin = {\r\n top: 40,\r\n right: 20,\r\n bottom: 30,\r\n left: 60\r\n };\r\n\r\n width = el[0][0].offsetWidth - margin.left - margin.right;\r\n height = width;\r\n radius = Math.min(width, height) / 2;\r\n barWidth = 40 * width / 300;\r\n //Utility methods \r\n\r\n percToDeg = (perc) => {\r\n return perc * 360;\r\n };\r\n\r\n percToRad = (perc) => {\r\n return degToRad(percToDeg(perc));\r\n };\r\n\r\n degToRad = (deg) => {\r\n return deg * Math.PI / 180;\r\n };\r\n\r\n // Create SVG element\r\n svg = el.append('svg').attr('width', width + margin.left + margin.right).attr('height', height + margin.top + margin.bottom);\r\n\r\n // Add layer for the panel\r\n chart = svg.append('g').attr('transform', \"translate(\" + ((width + margin.left) / 2) + \", \" + ((height + margin.top) / 2) + \")\");\r\n\r\n chart.append('path').attr('class', \"arc chart-first\");\r\n\r\n let formatValue = d3.format('1%');\r\n\r\n let arc1 = d3.svg.arc().outerRadius(radius - chartInset).innerRadius(radius - chartInset - barWidth)\r\n\r\n repaintGauge = () => {\r\n let perc = 0.5;\r\n var next_start = totalPercent;\r\n let arcStartRad = percToRad(next_start);\r\n let arcEndRad = arcStartRad + percToRad(perc);\r\n next_start += perc;\r\n\r\n arc1.startAngle(arcStartRad).endAngle(arcEndRad);\r\n\r\n chart.select(\".chart-first\").attr('d', arc1);\r\n }\r\n\r\n var dataset = [{\r\n metric: \"Value\",\r\n value: this.value\r\n }]\r\n\r\n var texts = svg.selectAll(\"text\")\r\n .data(dataset)\r\n .enter();\r\n\r\n texts.append(\"text\")\r\n .text(() => {\r\n return 0;\r\n })\r\n .attr('id', 'scale0')\r\n .attr('transform', \"translate(\" + (((width + margin.left) / 100) + 15) + \", \" + ((height + margin.top) / 2) + \")\")\r\n .attr(\"font-size\", 15)\r\n .attr(\"class\", \"gauge-points\")\r\n .style(\"fill\", \"#000000\");\r\n\r\n\r\n texts.append(\"text\")\r\n .text(() => {\r\n return this.gaugeMaxValue.toFixed(2);\r\n })\r\n .attr('id', 'scale20')\r\n .attr('transform', \"translate(\" + (((width + 15 + margin.left) / 1.08) - 5) + \", \" + ((height + margin.top) / 2) + \")\")\r\n .attr(\"font-size\", 15)\r\n .attr(\"class\", \"gauge-points\")\r\n .style(\"fill\", \"#000000\");\r\n\r\n var Needle = (() => {\r\n\r\n //Helper function that returns the `d` value for moving the needle\r\n var recalcPointerPos = function (perc) {\r\n var centerX, centerY, leftX, leftY, rightX, rightY, thetaRad, topX, topY;\r\n thetaRad = percToRad(perc / 2);\r\n centerX = 0;\r\n centerY = 0;\r\n topX = centerX - this.len * Math.cos(thetaRad);\r\n topY = centerY - this.len * Math.sin(thetaRad);\r\n leftX = centerX - this.radius * Math.cos(thetaRad - Math.PI / 2);\r\n leftY = centerY - this.radius * Math.sin(thetaRad - Math.PI / 2);\r\n rightX = centerX - this.radius * Math.cos(thetaRad + Math.PI / 2);\r\n rightY = centerY - this.radius * Math.sin(thetaRad + Math.PI / 2);\r\n return \"M \" + leftX + \" \" + leftY + \" L \" + topX + \" \" + topY + \" L \" + rightX + \" \" + rightY;\r\n };\r\n\r\n function Needle(el) {\r\n this.el = el;\r\n this.len = width / 2.5;\r\n this.radius = this.len / 8;\r\n }\r\n\r\n Needle.prototype.render = function () {\r\n this.el.append('circle').attr('class', 'needle-center').attr('cx', 0).attr('cy', 0).attr('r', this.radius);\r\n return this.el.append('path').attr('class', 'slider-needle').attr('id', 'client-needle').attr('d', recalcPointerPos.call(this, 0));\r\n };\r\n\r\n Needle.prototype.moveTo = function (perc) {\r\n var self, oldValue = this.perc || 0;\r\n this.perc = perc;\r\n self = this;\r\n\r\n // Reset pointer position\r\n this.el.transition().delay(100).ease('quad').duration(200).select('.slider-needle').tween('reset-progress', function () {\r\n return (percentOfPercent) => {\r\n var progress = (1 - percentOfPercent) * oldValue;\r\n repaintGauge(progress);\r\n return d3.select(this).attr('d', recalcPointerPos.call(self, progress));\r\n };\r\n });\r\n\r\n this.el.transition().delay(200).ease('bounce').duration(1000).select('.slider-needle').tween('progress', function () {\r\n return (percentOfPercent) => {\r\n var progress = percentOfPercent * perc;\r\n repaintGauge(progress);\r\n return d3.select(this).attr('d', recalcPointerPos.call(self, progress));\r\n };\r\n });\r\n };\r\n return Needle;\r\n })();\r\n\r\n let needle = new Needle(chart);\r\n needle.render();\r\n needle.moveTo(percent);\r\n\r\n }\r\n\r\n\r\n responsivefy(svg) {\r\n // get container + svg aspect ratio\r\n var container = d3.select(svg.node().parentNode),\r\n width = parseInt(svg.style(\"width\")),\r\n height = parseInt(svg.style(\"height\")),\r\n aspect = width / height;\r\n\r\n // get width of container and resize svg to fit it\r\n let resize = () => {\r\n var targetWidth = parseInt(container.style(\"width\"));\r\n svg.attr(\"width\", targetWidth);\r\n let targetHeight = targetWidth / aspect;\r\n svg.attr(\"height\", Math.round(targetHeight));\r\n\r\n this.commonContainer.aspectRatio = {\r\n widthAspect: targetWidth / width,\r\n heightAspect: targetHeight / height\r\n };\r\n }\r\n\r\n // add viewBox and preserveAspectRatio properties,\r\n // and call resize so that svg resizes on inital page load\r\n svg.attr(\"viewBox\", \"0 0 \" + width + \" \" + height)\r\n .attr(\"perserveAspectRatio\", \"xMinYMid\")\r\n .call(resize);\r\n this.containerId = container.attr(\"id\");\r\n // to register multiple listeners for same event type, \r\n // you need to add namespace, i.e., 'click.foo'\r\n // necessary if you call invoke this function for multiple svgs\r\n // api docs: https://github.com/mbostock/d3/wiki/Selections#on\r\n d3.select(window).on(\"resize.\" + container.attr(\"id\"), resize);\r\n }\r\n\r\n ngOnDestroy() {\r\n d3.select(window).on(\"resize.\" + this.containerId, null);\r\n }\r\n}","module.exports = \"\\r\\n\\r\\n\"","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { WidgetService } from \"../widgets.service\";\r\n\r\n@Component({\r\n selector: 'app-sanky-chart',\r\n templateUrl: './sanky-chart.component.html'\r\n})\r\nexport class SankyChartComponent implements OnInit {\r\n @Input() widgetData;\r\n\r\n data;\r\n sanky_height = 2500;\r\n\r\n constructor(private widgetService: WidgetService) {\r\n this.widgetService.triggerDataChangeForSankyChart.subscribe((updatedDataInfo) => {\r\n if (updatedDataInfo.formField.uniqueName201 && updatedDataInfo.formField.uniqueName201.length) {\r\n this.updateChart(updatedDataInfo);\r\n } else {\r\n this.resetToOrignal();\r\n }\r\n });\r\n }\r\n\r\n updateChart(updatedDataInfo) {\r\n let getFromDataSet = this.data;\r\n let updatedDataSet = [];\r\n updatedDataSet.push(getFromDataSet[0]);\r\n let checkForNodes = updatedDataInfo.formField.uniqueName201.slice(); \r\n // for (let row = 1; row < getFromDataSet.length; row++) {\r\n // if (updatedDataInfo.formField.uniqueName201.indexOf(getFromDataSet[row][0]) > -1) {\r\n // updatedDataSet.push(getFromDataSet[row]);\r\n // }\r\n // }\r\n for(let cIndex = 0; cIndex < checkForNodes.length; cIndex++) {\r\n for (let row = 1; row < getFromDataSet.length; row++) {\r\n if (checkForNodes[cIndex] == getFromDataSet[row][0]) { \r\n updatedDataSet.push(getFromDataSet[row]);\r\n checkForNodes.push(getFromDataSet[row][1]);\r\n }\r\n }\r\n }\r\n this.sankyChartData = Object.create(this.sankyChartData);\r\n this.sankyChartData.dataTable = updatedDataSet;\r\n // console.log(updatedDataInfo);\r\n }\r\n\r\n resetToOrignal() {\r\n this.sankyChartData = Object.create(this.sankyChartData);\r\n this.sankyChartData.dataTable = this.data;\r\n }\r\n\r\n colors = ['#a6cee3', '#b2df8a', '#fb9a99', '#fdbf6f',\r\n '#cab2d6', '#ffff99', '#1f78b4', '#33a02c'\r\n ];\r\n options = {\r\n width: 1500,\r\n height: this.sanky_height,\r\n sankey: {\r\n node: {\r\n label: {\r\n fontSize: 13,\r\n color: '#333',\r\n bold: true\r\n }\r\n\r\n\r\n },\r\n link: {\r\n colorMode: 'gradient',\r\n colors: this.colors\r\n }\r\n },\r\n };\r\n\r\n sankyChartData;\r\n\r\n ngOnInit() {\r\n this.data = this.widgetData.data;\r\n\r\n this.options.height = (this.data.length > 250)? 2500 : 1500;\r\n this.sankyChartData = {\r\n chartType: 'Sankey',\r\n dataTable: this.data,\r\n options: this.options,\r\n }; \r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvc21hbGwtY2lyY2xlLWNsdXN0ZXIvc21hbGwtY2lyY2xlLWNsdXN0ZXIuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\"","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\ndeclare const d3: any;\r\n\r\n@Component({\r\n\tselector: 'app-small-circle-cluster',\r\n\ttemplateUrl: './small-circle-cluster.component.html',\r\n\tstyleUrls: ['./small-circle-cluster.component.css']\r\n})\r\nexport class SmallCircleClusterComponent implements OnInit {\r\n\t@Input() smallClusterDetails: any = {\r\n\t\tsvg: null,\r\n\t\tindex: 0,\r\n\t\twidth: 200,\r\n\t\theight: 400,\r\n\t\tdata: [],\r\n\t\tcategories: \"smallCluster\",\r\n\t\tcategoriesColor: \"#CCC\",\r\n\t\tidString: \"smallCluster\"\r\n\t}\r\n\tforce: any = null;\r\n\tforceData: any = { \"nodes\": [] };\r\n\tforceCircleRadius: Number = 5;\r\n\tnode: any = null;\r\n\touterCircleCharge = -8;\r\n\tsvgGroup: Array = [];\r\n\tconstructor() { }\r\n\r\n\ttick = () => {\r\n\r\n\t\tthis.svgGroup[this.smallClusterDetails.index]\r\n\t\t\t.selectAll(\"circle\")\r\n\t\t\t.attr({\r\n\t\t\t\t\"cx\": function (d) {\r\n\t\t\t\t\treturn d.x;\r\n\t\t\t\t},\r\n\t\t\t\t\"cy\": function (d) {\r\n\t\t\t\t\treturn d.y;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconst { svg, width, height, data, index, idString } = this.smallClusterDetails\r\n\t\tlet svg_group = svg.append('g')\r\n\t\t\t.attr({\r\n\t\t\t\t\"width\": width,\r\n\t\t\t\t\"height\": height,\r\n\t\t\t\t\"id\": () => {\r\n\t\t\t\t\treturn idString + \"-\" + index;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\tthis.svgGroup[index] = svg_group;\r\n\t\tthis.node = svg_group.selectAll(\".node_\" + index);\r\n\t\tthis.force = d3.layout.force()\r\n\t\t\t.size([Math.floor(width * 2), height])\r\n\t\t\t.charge(this.outerCircleCharge)\r\n\t\t\t.on(\"tick\", this.tick);\r\n\r\n\t\tthis.drawInit(data);\r\n\t}\r\n\r\n\tdrawInit(graph) {\r\n\t\tconst { idString, index, categoriesColor } = this.smallClusterDetails;\r\n\t\tthis.node = this.node.data(graph.nodes, (d, i) => {\r\n\t\t\treturn d.id;\r\n\t\t})\r\n\r\n\t\tthis.node\r\n\t\t\t.enter()\r\n\t\t\t.append(\"circle\")\r\n\t\t\t.style({\r\n\t\t\t\t\"fill\": categoriesColor\r\n\t\t\t})\r\n\t\t\t.attr({\r\n\t\t\t\t\"class\": \"node_\" + index,\r\n\t\t\t\t\"fill-opacity\": 0,\r\n\t\t\t\t\"id\": (d, i) => {\r\n\t\t\t\t\treturn idString + \"-\" + index + \"-\" + d.id;\r\n\t\t\t\t},\r\n\t\t\t\t\"r\": this.forceCircleRadius\r\n\t\t\t})\r\n\r\n\t\tthis.force\r\n\t\t\t.nodes(graph.nodes)\r\n\t\t\t.start();\r\n\t}\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
{{widgetData.title}}
\\r\\n
\\r\\n
\"","import { Component, ElementRef, OnInit, Input, AfterContentInit, ViewChild } from '@angular/core';\r\ndeclare let d3: any;\r\n\r\n@Component({\r\n selector: 'app-solid-gauge',\r\n templateUrl: './solid-gauge-chart.component.html'\r\n})\r\nexport class SolidGaugeComponent implements AfterContentInit {\r\n @ViewChild('solidGaugeRef') chartElement: ElementRef;\r\n @Input() widgetData;\r\n svg;\r\n\r\n // coverageData;\r\n\r\n ngAfterContentInit() {\r\n \t// console.log(this.chartData);\r\n // alert(\"Here\");\r\n // this.coverageData = this.chartData;\r\n this.render(this.widgetData.data);\r\n }\r\n\r\n render(data) {\r\n var width = 500;\r\n var height = 500;\r\n var arcSize = (4 * width / 100);\r\n var innerRadius = arcSize * 3;\r\n var color = d3.scale.category20();\r\n this.svg = d3.select(this.chartElement.nativeElement).append('svg').attr('width', width).attr('height', height);\r\n\r\n var arcs = data.map(function(obj, i) {\r\n return d3.svg.arc()\r\n .innerRadius(i * arcSize + innerRadius)\r\n .outerRadius((i + 1) * arcSize - (width / 100) + innerRadius)\r\n .cornerRadius(100);\r\n });\r\n var arcsGrey = data.map(function(obj, i) {\r\n // return d3.svg.arc().innerRadius(i * arcSize + (innerRadius + ((arcSize / 2) - 2))).outerRadius((i + 1) * arcSize - ((arcSize / 2)) + (innerRadius));\r\n return d3.svg.arc()\r\n .innerRadius(i * arcSize + innerRadius)\r\n .outerRadius((i + 1) * arcSize - (width / 100) + innerRadius);\r\n });\r\n\r\n var pieData = data.map(function(obj, i) {\r\n return [\r\n { value: obj.value * 0.75, arc: arcs[i], object: obj },\r\n { value: (100 - obj.value) * 0.75, arc: arcsGrey[i], object: obj },\r\n { value: 100 * 0.25, arc: arcs[i], object: obj }\r\n ];\r\n });\r\n\r\n var pie = d3.layout.pie().sort(null).value(function(d) {\r\n return d.value;\r\n });\r\n\r\n var g = this.svg.selectAll('g').data(pieData).enter()\r\n .append('g')\r\n .attr('transform', 'translate(' + width / 2 + ',' + width / 2 + ') rotate(180)');\r\n var gText = this.svg.selectAll('g.textClass').data([{}]).enter()\r\n .append('g')\r\n .classed('textClass', true)\r\n .attr('transform', 'translate(' + width / 2 + ',' + width / 2 + ') rotate(180)');\r\n\r\nvar tooltip = d3.select(\"body\")\r\n .append(\"div\")\r\n .attr(\"class\", \"solid-guage-tooltip\")\r\n .style(\"position\", \"absolute\")\r\n .style(\"z-index\", \"10\")\r\n .style(\"display\", \"none\");\r\n\r\n\r\n g.selectAll('path').data(function(d) {\r\n return pie(d);\r\n })\r\n .enter()\r\n .append('path')\r\n .attr('id', function(d, i) {\r\n if (i == 1) {\r\n return \"Text\" + d.data.object.label\r\n }\r\n })\r\n .attr('d', function(d) {\r\n return d.data.arc(d);\r\n }).attr('fill', function(d, i) {\r\n // return ;\r\n // return i == 0 ? \"hsl(\" + Math.random() * 360 + \",100%,50%)\" : i == 1 ? '#D3D3D3' : 'none'\r\n return i == 0 ? color(Math.random()) : i == 1 ? '#D3D3D3' : 'none';\r\n // return i == 0 ? d.data.object.color : i == 1 ? '#D3D3D3' : 'none';\r\n })\r\n .on(\"mouseover\", function(d){tooltip.text(d.data.object.label + \" - \" + d.data.object.value); return tooltip.style(\"display\", \"block\");})\r\n .on(\"mousemove\", function(){return tooltip.style(\"top\", (d3.event.pageY-10)+\"px\").style(\"left\",(d3.event.pageX+30)+\"px\");})\r\n .on(\"mouseout\", function(){return tooltip.style(\"display\", \"none\");})\r\n\r\n\r\n this.svg.selectAll('g').each(function(d, index) {\r\n var el = d3.select(this);\r\n var path = el.selectAll('path').each(function(r, i) {\r\n if (i === 1) {\r\n var centroid = r.data.arc.centroid({\r\n startAngle: r.startAngle + 0.05,\r\n endAngle: r.startAngle + 0.001 + 0.05\r\n });\r\n var lableObj = r.data.object;\r\n /*g.append('text')\r\n .attr('font-size', ((5 * width) / 100))\r\n .attr('dominant-baseline', 'central')\r\n // .attr('transform', \"translate(\" + centroid[0] + \",\" + (centroid[1] + 10) + \") rotate(\" + (180 / Math.PI * r.startAngle + 7) + \")\")\r\n // .attr('alignment-baseline', 'middle')\r\n .append(\"textPath\")\r\n .attr(\"textLength\", function(d, i) {\r\n return 0;\r\n })\r\n .attr(\"xlink:href\", \"#Text\" + r.data.object.label)\r\n .attr(\"startOffset\", '5')\r\n .attr(\"dy\", '-3em')\r\n .attr('class', 'solid-gauage-label')\r\n .text(lableObj.value + \"%\");*/\r\n }\r\n if (i === 0) {\r\n var centroidText = r.data.arc.centroid({\r\n startAngle: r.startAngle,\r\n endAngle: r.startAngle\r\n });\r\n // console.log(centroidText)\r\n var lableObj = r.data.object;\r\n gText.append('text')\r\n .text(lableObj.label + \" - \" + lableObj.value)\r\n .attr('transform', \"translate(\" + (centroidText[0] - ((1.5 * width) / 100)) + \",\" + (centroidText[1] + \") rotate(\" + (180) + \")\"))\r\n .attr('dominant-baseline', 'central')\r\n .attr('class', 'solid-gauage-label');\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"
\\r\\n No data found\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
Sponsor {{element.sponsor_name}} Collabrators {{element.collaborator_name}} Success/Failure(Count/Percentage)
{{element.success_count}} ({{element.success_percentage}}%){{element.failure_count}} ({{element.failure_percentage}}%)
\\r\\n
\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material';\r\nimport { WidgetService } from '../widgets.service';\r\nimport * as _ from 'lodash';\r\n\r\n\r\n@Component({\r\n selector: 'app-success-failure',\r\n templateUrl: './success-failure.component.html'\r\n})\r\nexport class SuccessFailure implements OnInit {\r\n @Input() widgetData;\r\n data;\r\n displayedColumns: string[] = ['sponsor_name', 'collaborator_name', 'success/failure'];\r\n dataSource;\r\n // coverageData;\r\n\r\n filterData: any = {\r\n nct_id: [],\r\n sponsor: [],\r\n collaborator: [],\r\n success_range: []\r\n };\r\n\r\n constructor(private widgetService: WidgetService) {\r\n this.widgetService.triggerDataChangeForTableViewer.subscribe((updatedDataInfo) => {\r\n if (updatedDataInfo.inputDetails.filterOn === 'nct_id') {\r\n this.filterData.nct_id = updatedDataInfo.formField.filterField;\r\n } else if (updatedDataInfo.inputDetails.filterOn === 'sponsor_name') {\r\n this.filterData.sponsor = updatedDataInfo.formField.filterField;\r\n } else if (updatedDataInfo.inputDetails.filterOn === 'collaborator_name') {\r\n this.filterData.collaborator = updatedDataInfo.formField.filterField;\r\n } else if (updatedDataInfo.inputDetails.filterOn === 'success_percentage') {\r\n this.filterData.success_range = updatedDataInfo.formField.filterField;\r\n }\r\n if (this.filterData.nct_id.length || this.filterData.sponsor.length\r\n || this.filterData.collaborator.length || this.filterData.success_range.length) {\r\n // if ((updatedDataInfo.formField.uniqueName4 && updatedDataInfo.formField.uniqueName4.length) \r\n // || (updatedDataInfo.formField.uniqueName5 && updatedDataInfo.formField.uniqueName5.length) \r\n // || (updatedDataInfo.formField.uniqueName6 && updatedDataInfo.formField.uniqueName6.length) \r\n // || (updatedDataInfo.formField.uniqueName7 && updatedDataInfo.formField.uniqueName7.length)) {\r\n this.updateChart(updatedDataInfo);\r\n } else {\r\n this.resetToOrignal();\r\n }\r\n });\r\n }\r\n\r\n updateChart(updatedDataInfo) {\r\n // alert(\"Update chart\")\r\n //this.data.length\r\n let updatedDate = [];\r\n let dataLength = this.data.length;\r\n /*let isUniqueName4Selected = (updatedDataInfo.formField.uniqueName4 && updatedDataInfo.formField.uniqueName4.length && true) || false;\r\n let isUniqueName5Selected = (updatedDataInfo.formField.uniqueName5 && updatedDataInfo.formField.uniqueName5.length && true) || false; \r\n let isUniqueName6Selected = (updatedDataInfo.formField.uniqueName6 && updatedDataInfo.formField.uniqueName6.length && true)|| false; \r\n let isUniqueName7Selected = (updatedDataInfo.formField.uniqueName7 && updatedDataInfo.formField.uniqueName7.length && true)|| false; */\r\n\r\n // console.log(isUniqueName4Selected, isUniqueName5Selected, isUniqueName6Selected)\r\n\r\n\r\n let isUniqueName4Found, isUniqueName5Found, isUniqueName6Found, isUniqueName7Found;\r\n\r\n // let lowerCaseUniqueName4 = updatedDataInfo.formField.uniqueName4.map((value) => {\r\n // return value.toLowerCase();\r\n // });\r\n\r\n let lowerCaseUniqueName5 = this.filterData.sponsor.map((value) => {\r\n // let lowerCaseUniqueName5 = updatedDataInfo.formField.uniqueName5.map((value) => {\r\n return value.toLowerCase();\r\n });\r\n\r\n let lowerCaseUniqueName6 = this.filterData.collaborator.map((value) => {\r\n // let lowerCaseUniqueName6 = updatedDataInfo.formField.uniqueName6.map((value) => {\r\n return value.toLowerCase();\r\n });\r\n\r\n for (let index = 0; index < dataLength; index++) {\r\n isUniqueName5Found = true,\r\n isUniqueName6Found = true,\r\n isUniqueName7Found = false;\r\n\r\n if (lowerCaseUniqueName5.length && ((lowerCaseUniqueName5.indexOf(this.data[index].sponsor_name.toLowerCase())) == -1)) {\r\n isUniqueName5Found = false;\r\n }\r\n\r\n if (lowerCaseUniqueName6.length && ((lowerCaseUniqueName6.indexOf(this.data[index].collaborator_name.toLowerCase())) == -1)) {\r\n isUniqueName6Found = false;\r\n }\r\n\r\n if (this.filterData.success_range.length) {\r\n // if (updatedDataInfo.formField.uniqueName7.length) {\r\n for (let rangeIndex = 0; rangeIndex < this.filterData.success_range.length; rangeIndex++) {\r\n let range = this.filterData.success_range[rangeIndex].split(' - ');\r\n if ((((parseInt(this.data[index].success_percentage) >= parseInt(range[0].slice(0, -1)))\r\n && (parseInt(this.data[index].success_percentage) <= parseInt(range[1].slice(0, -1)))))) {\r\n isUniqueName7Found = true;\r\n break;\r\n }\r\n }\r\n } else {\r\n isUniqueName7Found = true;\r\n }\r\n\r\n if (isUniqueName5Found && isUniqueName6Found && isUniqueName7Found) {\r\n updatedDate.push(this.data[index]);\r\n }\r\n }\r\n\r\n this.dataSource.data = updatedDate;\r\n }\r\n\r\n resetToOrignal() {\r\n this.dataSource.data = this.data.slice();\r\n }\r\n\r\n ngOnInit() {\r\n this.data = this.widgetData.data;\r\n this.dataSource = new MatTableDataSource(this.data);\r\n // this.dataSource = this.data;\r\n // this.coverageData = this.data;\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvdHJlbmQtY2hhcnQtbmV3L3RyZW5kLWNoYXJ0LW5ldy5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
\\r\\n\"","import { Component, ElementRef, Input, OnChanges, ViewChild, AfterContentInit } from '@angular/core';\r\n// import * as d3 from 'd3';\r\ndeclare let d3: any;\r\n\r\n@Component({\r\n selector: \"app-trend-chart-new\",\r\n templateUrl: \"./trend-chart-new.component.html\",\r\n styleUrls: ['./trend-chart-new.component.css']\r\n})\r\nexport class TrendChartNewComponent implements AfterContentInit {\r\n\r\n @ViewChild('trendChartNew') chartElement: ElementRef;\r\n\r\n // @Input() marketStatus;\r\n\r\n private svgElement: HTMLElement;\r\n private chartProps: any;\r\n\r\n // parseDate = d3.timeParse('%d-%m-%Y');\r\n\r\n // formatDate() {\r\n // this.marketStatus.forEach(ms => {\r\n // if (typeof ms.date === 'string') {\r\n // ms.date = this.parseDate(ms.date);\r\n // }\r\n // });\r\n // }\r\n\r\n ngAfterContentInit() {\r\n // console.log(this.chartElement)\r\n this.makeChart(this.data, this.markers);\r\n }\r\n\r\n // thisAcessor = this;\r\n\r\n\r\n originalData = [{\r\n \"date\": \"2014-08-01\",\r\n \"pct05\": 5350,\r\n \"pct25\": 6756,\r\n \"pct50\": 7819,\r\n \"pct75\": 9284,\r\n \"pct95\": 13835\r\n },\r\n {\r\n \"date\": \"2014-08-02\",\r\n \"pct05\": 4439,\r\n \"pct25\": 5584,\r\n \"pct50\": 6554,\r\n \"pct75\": 8016,\r\n \"pct95\": 12765\r\n },\r\n {\r\n \"date\": \"2014-08-03\",\r\n \"pct05\": 4247,\r\n \"pct25\": 5419,\r\n \"pct50\": 6332,\r\n \"pct75\": 7754,\r\n \"pct95\": 12236\r\n },\r\n {\r\n \"date\": \"2014-08-04\",\r\n \"pct05\": 3293,\r\n \"pct25\": 4414,\r\n \"pct50\": 5191,\r\n \"pct75\": 6491,\r\n \"pct95\": 10325\r\n },\r\n {\r\n \"date\": \"2014-08-05\",\r\n \"pct05\": 3942,\r\n \"pct25\": 5134,\r\n \"pct50\": 6069,\r\n \"pct75\": 7501,\r\n \"pct95\": 11685\r\n },\r\n {\r\n \"date\": \"2014-08-06\",\r\n \"pct05\": 2744,\r\n \"pct25\": 5508,\r\n \"pct50\": 6879,\r\n \"pct75\": 9221,\r\n \"pct95\": 17239\r\n },\r\n {\r\n \"date\": \"2014-08-07\",\r\n \"pct05\": 1807,\r\n \"pct25\": 3019,\r\n \"pct50\": 4119,\r\n \"pct75\": 5656,\r\n \"pct95\": 8851\r\n },\r\n {\r\n \"date\": \"2014-08-08\",\r\n \"pct05\": 1855,\r\n \"pct25\": 3386,\r\n \"pct50\": 4473,\r\n \"pct75\": 5915,\r\n \"pct95\": 10580\r\n },\r\n {\r\n \"date\": \"2014-08-09\",\r\n \"pct05\": 1830,\r\n \"pct25\": 3202,\r\n \"pct50\": 4233,\r\n \"pct75\": 5559,\r\n \"pct95\": 8930\r\n },\r\n {\r\n \"date\": \"2014-08-10\",\r\n \"pct05\": 1828,\r\n \"pct25\": 3195,\r\n \"pct50\": 4304,\r\n \"pct75\": 5482,\r\n \"pct95\": 9189\r\n },\r\n {\r\n \"date\": \"2014-08-11\",\r\n \"pct05\": 2246,\r\n \"pct25\": 3929,\r\n \"pct50\": 5326,\r\n \"pct75\": 7077,\r\n \"pct95\": 11648\r\n },\r\n {\r\n \"date\": \"2014-08-12\",\r\n \"pct05\": 2051,\r\n \"pct25\": 3662,\r\n \"pct50\": 4849,\r\n \"pct75\": 6194,\r\n \"pct95\": 10078\r\n },\r\n {\r\n \"date\": \"2014-08-13\",\r\n \"pct05\": 1700,\r\n \"pct25\": 3075,\r\n \"pct50\": 4068,\r\n \"pct75\": 5259,\r\n \"pct95\": 9789\r\n },\r\n {\r\n \"date\": \"2014-08-14\",\r\n \"pct05\": 2161,\r\n \"pct25\": 3891,\r\n \"pct50\": 5262,\r\n \"pct75\": 6924,\r\n \"pct95\": 11612\r\n },\r\n {\r\n \"date\": \"2014-08-15\",\r\n \"pct05\": 1765,\r\n \"pct25\": 3190,\r\n \"pct50\": 4388,\r\n \"pct75\": 5822,\r\n \"pct95\": 9433\r\n },\r\n {\r\n \"date\": \"2014-08-16\",\r\n \"pct05\": 2036,\r\n \"pct25\": 3756,\r\n \"pct50\": 4775,\r\n \"pct75\": 6158,\r\n \"pct95\": 9999\r\n },\r\n {\r\n \"date\": \"2014-08-17\",\r\n \"pct05\": 2079,\r\n \"pct25\": 3561,\r\n \"pct50\": 4753,\r\n \"pct75\": 6124,\r\n \"pct95\": 9807\r\n },\r\n {\r\n \"date\": \"2014-08-18\",\r\n \"pct05\": 2108,\r\n \"pct25\": 3576,\r\n \"pct50\": 4818,\r\n \"pct75\": 6344,\r\n \"pct95\": 10235\r\n },\r\n {\r\n \"date\": \"2014-08-19\",\r\n \"pct05\": 2143,\r\n \"pct25\": 3792,\r\n \"pct50\": 5073,\r\n \"pct75\": 6772,\r\n \"pct95\": 11338\r\n },\r\n {\r\n \"date\": \"2014-08-20\",\r\n \"pct05\": 2086,\r\n \"pct25\": 3801,\r\n \"pct50\": 5073,\r\n \"pct75\": 6688,\r\n \"pct95\": 12394\r\n },\r\n {\r\n \"date\": \"2014-08-21\",\r\n \"pct05\": 1767,\r\n \"pct25\": 3253,\r\n \"pct50\": 4282,\r\n \"pct75\": 5563,\r\n \"pct95\": 9167\r\n },\r\n {\r\n \"date\": \"2014-08-22\",\r\n \"pct05\": 1756,\r\n \"pct25\": 3047,\r\n \"pct50\": 3950,\r\n \"pct75\": 5006,\r\n \"pct95\": 7948\r\n },\r\n {\r\n \"date\": \"2014-08-23\",\r\n \"pct05\": 2123,\r\n \"pct25\": 3755,\r\n \"pct50\": 5173,\r\n \"pct75\": 7243,\r\n \"pct95\": 12338\r\n },\r\n {\r\n \"date\": \"2014-08-24\",\r\n \"pct05\": 1967,\r\n \"pct25\": 3404,\r\n \"pct50\": 4529,\r\n \"pct75\": 5970,\r\n \"pct95\": 9897\r\n },\r\n {\r\n \"date\": \"2014-08-25\",\r\n \"pct05\": 1537,\r\n \"pct25\": 2612,\r\n \"pct50\": 3394,\r\n \"pct75\": 4279,\r\n \"pct95\": 7104\r\n },\r\n {\r\n \"date\": \"2014-08-26\",\r\n \"pct05\": 2182,\r\n \"pct25\": 3958,\r\n \"pct50\": 5505,\r\n \"pct75\": 7642,\r\n \"pct95\": 12707\r\n },\r\n {\r\n \"date\": \"2014-08-27\",\r\n \"pct05\": 1932,\r\n \"pct25\": 3366,\r\n \"pct50\": 4526,\r\n \"pct75\": 6086,\r\n \"pct95\": 9930\r\n },\r\n {\r\n \"date\": \"2014-08-28\",\r\n \"pct05\": 1268,\r\n \"pct25\": 2344,\r\n \"pct50\": 3256,\r\n \"pct75\": 4215,\r\n \"pct95\": 6673\r\n },\r\n {\r\n \"date\": \"2014-08-29\",\r\n \"pct05\": 1225,\r\n \"pct25\": 2239,\r\n \"pct50\": 3033,\r\n \"pct75\": 4111,\r\n \"pct95\": 7601\r\n },\r\n {\r\n \"date\": \"2014-08-30\",\r\n \"pct05\": 1393,\r\n \"pct25\": 2432,\r\n \"pct50\": 3417,\r\n \"pct75\": 4710,\r\n \"pct95\": 8798\r\n },\r\n {\r\n \"date\": \"2014-08-31\",\r\n \"pct05\": 1175,\r\n \"pct25\": 2020,\r\n \"pct50\": 2768,\r\n \"pct75\": 3889,\r\n \"pct95\": 7744\r\n },\r\n {\r\n \"date\": \"2014-09-01\",\r\n \"pct05\": 989,\r\n \"pct25\": 1655,\r\n \"pct50\": 2218,\r\n \"pct75\": 3167,\r\n \"pct95\": 6018\r\n },\r\n {\r\n \"date\": \"2014-09-02\",\r\n \"pct05\": 1249,\r\n \"pct25\": 2069,\r\n \"pct50\": 2738,\r\n \"pct75\": 3938,\r\n \"pct95\": 7574\r\n },\r\n {\r\n \"date\": \"2014-09-03\",\r\n \"pct05\": 936,\r\n \"pct25\": 1510,\r\n \"pct50\": 1968,\r\n \"pct75\": 2700,\r\n \"pct95\": 5215\r\n },\r\n {\r\n \"date\": \"2014-09-04\",\r\n \"pct05\": 1264,\r\n \"pct25\": 2039,\r\n \"pct50\": 2657,\r\n \"pct75\": 3646,\r\n \"pct95\": 7042\r\n },\r\n {\r\n \"date\": \"2014-09-05\",\r\n \"pct05\": 1305,\r\n \"pct25\": 2106,\r\n \"pct50\": 2745,\r\n \"pct75\": 3766,\r\n \"pct95\": 7273\r\n },\r\n {\r\n \"date\": \"2014-09-06\",\r\n \"pct05\": 798,\r\n \"pct25\": 1288,\r\n \"pct50\": 1678,\r\n \"pct75\": 2303,\r\n \"pct95\": 4448\r\n },\r\n {\r\n \"date\": \"2014-09-07\",\r\n \"pct05\": 1314,\r\n \"pct25\": 2120,\r\n \"pct50\": 2763,\r\n \"pct75\": 3791,\r\n \"pct95\": 7321\r\n },\r\n {\r\n \"date\": \"2014-09-08\",\r\n \"pct05\": 1042,\r\n \"pct25\": 1681,\r\n \"pct50\": 2191,\r\n \"pct75\": 3007,\r\n \"pct95\": 5806\r\n }\r\n ];\r\n\r\n parseDate = d3.time.format('%Y-%m-%d').parse;\r\n data = this.originalData.map((d) => {\r\n return {\r\n date: this.parseDate(d.date),\r\n pct05: d.pct05 / 1000,\r\n pct25: d.pct25 / 1000,\r\n pct50: d.pct50 / 1000,\r\n pct75: d.pct75 / 1000,\r\n pct95: d.pct95 / 1000\r\n };\r\n });\r\n\r\n originalMarkerData = [{\r\n \"date\": \"2014-08-06\",\r\n \"type\": \"Client\",\r\n \"version\": \"2.0\"\r\n },\r\n {\r\n \"date\": \"2014-08-20\",\r\n \"type\": \"Client\",\r\n \"version\": \"2.1\"\r\n },\r\n {\r\n \"date\": \"2014-08-27\",\r\n \"type\": \"Server\",\r\n \"version\": \"3.5\"\r\n },\r\n {\r\n \"date\": \"2014-09-03\",\r\n \"type\": \"Client\",\r\n \"version\": \"2.2\"\r\n }\r\n ]\r\n markers = this.originalMarkerData.map((marker) => {\r\n return {\r\n date: this.parseDate(marker.date),\r\n type: marker.type,\r\n version: marker.version\r\n };\r\n });\r\n\r\n\r\n makeChart(data, markers) {\r\n var svgWidth = 960,\r\n svgHeight = 500,\r\n margin = { top: 20, right: 20, bottom: 40, left: 40 },\r\n chartWidth = svgWidth - margin.left - margin.right,\r\n chartHeight = svgHeight - margin.top - margin.bottom;\r\n\r\n var x = d3.time.scale().range([0, chartWidth])\r\n .domain(d3.extent(data, function(d) { return d.date; })),\r\n y = d3.scale.linear().range([chartHeight, 0])\r\n .domain([0, d3.max(data, function(d) { return d.pct95; })]);\r\n\r\n var xAxis = d3.svg.axis().scale(x).orient('bottom')\r\n .innerTickSize(-chartHeight).outerTickSize(0).tickPadding(10),\r\n yAxis = d3.svg.axis().scale(y).orient('left')\r\n .innerTickSize(-chartWidth).outerTickSize(0).tickPadding(10);\r\n\r\n var svg = d3.select(this.chartElement.nativeElement).append('svg')\r\n .attr('width', svgWidth)\r\n .attr('height', svgHeight)\r\n .append('g')\r\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\r\n\r\n // clipping to start chart hidden and slide it in later\r\n var rectClip = svg.append('clipPath')\r\n .attr('id', 'rect-clip')\r\n .append('rect')\r\n .attr('width', 0)\r\n .attr('height', chartHeight);\r\n\r\n this.addAxesAndLegend(svg, xAxis, yAxis, margin, chartWidth, chartHeight);\r\n this.drawPaths(svg, data, x, y);\r\n this.startTransitions(svg, chartWidth, chartHeight, rectClip, markers, x);\r\n }\r\n\r\n addMarker(marker, svg, chartHeight, x) {\r\n var radius = 32,\r\n xPos = x(marker.date) - radius - 3,\r\n yPosStart = chartHeight - radius - 3,\r\n yPosEnd = (marker.type === 'Client' ? 80 : 160) + radius - 3;\r\n\r\n var markerG = svg.append('g')\r\n .attr('class', 'marker ' + marker.type.toLowerCase())\r\n .attr('transform', 'translate(' + xPos + ', ' + yPosStart + ')')\r\n .attr('opacity', 0);\r\n\r\n markerG.transition()\r\n .duration(1000)\r\n .attr('transform', 'translate(' + xPos + ', ' + yPosEnd + ')')\r\n .attr('opacity', 1);\r\n\r\n markerG.append('path')\r\n .attr('d', 'M' + radius + ',' + (chartHeight - yPosStart) + 'L' + radius + ',' + (chartHeight - yPosStart))\r\n .transition()\r\n .duration(1000)\r\n .attr('d', 'M' + radius + ',' + (chartHeight - yPosEnd) + 'L' + radius + ',' + (radius * 2));\r\n\r\n markerG.append('circle')\r\n .attr('class', 'marker-bg')\r\n .attr('cx', radius)\r\n .attr('cy', radius)\r\n .attr('r', radius);\r\n\r\n markerG.append('text')\r\n .attr('x', radius)\r\n .attr('y', radius * 0.9)\r\n .text(marker.type);\r\n\r\n markerG.append('text')\r\n .attr('x', radius)\r\n .attr('y', radius * 1.5)\r\n .text(marker.version);\r\n }\r\n\r\n startTransitions(svg, chartWidth, chartHeight, rectClip, markers, x) {\r\n rectClip.transition()\r\n .duration(1000 * markers.length)\r\n .attr('width', chartWidth);\r\n\r\n markers.forEach((marker, i) => {\r\n setTimeout(() => {\r\n this.addMarker(marker, svg, chartHeight, x);\r\n }, 1000 + 500 * i);\r\n });\r\n }\r\n\r\n drawPaths(svg, data, x, y) {\r\n var upperOuterArea = d3.svg.area()\r\n .interpolate('basis')\r\n .x(function(d) { return x(d.date) || 1; })\r\n .y0(function(d) { return y(d.pct95); })\r\n .y1(function(d) { return y(d.pct75); });\r\n\r\n var upperInnerArea = d3.svg.area()\r\n .interpolate('basis')\r\n .x(function(d) { return x(d.date) || 1; })\r\n .y0(function(d) { return y(d.pct75); })\r\n .y1(function(d) { return y(d.pct50); });\r\n\r\n var medianLine = d3.svg.line()\r\n .interpolate('basis')\r\n .x(function(d) { return x(d.date); })\r\n .y(function(d) { return y(d.pct50); });\r\n\r\n var lowerInnerArea = d3.svg.area()\r\n .interpolate('basis')\r\n .x(function(d) { return x(d.date) || 1; })\r\n .y0(function(d) { return y(d.pct50); })\r\n .y1(function(d) { return y(d.pct25); });\r\n\r\n var lowerOuterArea = d3.svg.area()\r\n .interpolate('basis')\r\n .x(function(d) { return x(d.date) || 1; })\r\n .y0(function(d) { return y(d.pct25); })\r\n .y1(function(d) { return y(d.pct05); });\r\n\r\n svg.datum(data);\r\n\r\n svg.append('path')\r\n .attr('class', 'area upper outer')\r\n .attr('d', upperOuterArea)\r\n .attr('clip-path', 'url(#rect-clip)');\r\n\r\n svg.append('path')\r\n .attr('class', 'area lower outer')\r\n .attr('d', lowerOuterArea)\r\n .attr('clip-path', 'url(#rect-clip)');\r\n\r\n svg.append('path')\r\n .attr('class', 'area upper inner')\r\n .attr('d', upperInnerArea)\r\n .attr('clip-path', 'url(#rect-clip)');\r\n\r\n svg.append('path')\r\n .attr('class', 'area lower inner')\r\n .attr('d', lowerInnerArea)\r\n .attr('clip-path', 'url(#rect-clip)');\r\n\r\n svg.append('path')\r\n .attr('class', 'median-line')\r\n .attr('d', medianLine)\r\n .attr('clip-path', 'url(#rect-clip)');\r\n }\r\n\r\n addAxesAndLegend(svg, xAxis, yAxis, margin, chartWidth, chartHeight) {\r\n var legendWidth = 200,\r\n legendHeight = 100;\r\n\r\n // clipping to make sure nothing appears behind legend\r\n svg.append('clipPath')\r\n .attr('id', 'axes-clip')\r\n .append('polygon')\r\n .attr('points', (-margin.left) + ',' + (-margin.top) + ' ' +\r\n (chartWidth - legendWidth - 1) + ',' + (-margin.top) + ' ' +\r\n (chartWidth - legendWidth - 1) + ',' + legendHeight + ' ' +\r\n (chartWidth + margin.right) + ',' + legendHeight + ' ' +\r\n (chartWidth + margin.right) + ',' + (chartHeight + margin.bottom) + ' ' +\r\n (-margin.left) + ',' + (chartHeight + margin.bottom));\r\n\r\n var axes = svg.append('g')\r\n .attr('clip-path', 'url(#axes-clip)');\r\n\r\n axes.append('g')\r\n .attr('class', 'x axis')\r\n .attr('transform', 'translate(0,' + chartHeight + ')')\r\n .call(xAxis);\r\n\r\n axes.append('g')\r\n .attr('class', 'y axis')\r\n .call(yAxis)\r\n .append('text')\r\n .attr('transform', 'rotate(-90)')\r\n .attr('y', 6)\r\n .attr('dy', '.71em')\r\n .style('text-anchor', 'end')\r\n .text('Time (s)');\r\n\r\n var legend = svg.append('g')\r\n .attr('class', 'legend')\r\n .attr('transform', 'translate(' + (chartWidth - legendWidth) + ', 0)');\r\n\r\n legend.append('rect')\r\n .attr('class', 'legend-bg')\r\n .attr('width', legendWidth)\r\n .attr('height', legendHeight);\r\n\r\n legend.append('rect')\r\n .attr('class', 'outer')\r\n .attr('width', 75)\r\n .attr('height', 20)\r\n .attr('x', 10)\r\n .attr('y', 10);\r\n\r\n legend.append('text')\r\n .attr('x', 115)\r\n .attr('y', 25)\r\n .text('5% - 95%');\r\n\r\n legend.append('rect')\r\n .attr('class', 'inner')\r\n .attr('width', 75)\r\n .attr('height', 20)\r\n .attr('x', 10)\r\n .attr('y', 40);\r\n\r\n legend.append('text')\r\n .attr('x', 115)\r\n .attr('y', 55)\r\n .text('25% - 75%');\r\n\r\n legend.append('path')\r\n .attr('class', 'median-line')\r\n .attr('d', 'M10,80L85,80');\r\n\r\n legend.append('text')\r\n .attr('x', 115)\r\n .attr('y', 85)\r\n .text('Median');\r\n }\r\n\r\n\r\n}\r\n","module.exports = \".state{\\r\\n fill: none;\\r\\n stroke: #a9a9a9;\\r\\n stroke-width: 1;\\r\\n}\\r\\n.state:hover{\\r\\n fill-opacity:0.5;\\r\\n}\\r\\n#tooltip { \\r\\n position: absolute; \\r\\n text-align: center;\\r\\n padding: 10px;\\r\\n margin: 10px;\\r\\n font: 12px sans-serif; \\r\\n background: lightsteelblue; \\r\\n border: 1px; \\r\\n border-radius: 2px; \\r\\n pointer-events: none; \\r\\n}\\r\\n#tooltip h4{\\r\\n margin:0;\\r\\n font-size:14px;\\r\\n}\\r\\n#tooltip{\\r\\n background:rgba(0,0,0,0.9);\\r\\n border:1px solid grey;\\r\\n border-radius:5px;\\r\\n font-size:12px;\\r\\n width:auto;\\r\\n padding:4px;\\r\\n color:white;\\r\\n opacity:0;\\r\\n}\\r\\n#tooltip table{\\r\\n table-layout:fixed;\\r\\n}\\r\\n#tooltip tr td{\\r\\n padding:0;\\r\\n margin:0;\\r\\n width:130px;\\r\\n}\\r\\n/* #tooltip tr td:nth-child(1){\\r\\n\\r\\n} */\\r\\n/* #tooltip tr td:nth-child(2){\\r\\n text-align:center;\\r\\n} */\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy91cy1jaGFydC91cy1jaGFydC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQixjQUFjO0VBQ2QsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QiwyQkFBMkI7RUFDM0IsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixxQkFBcUI7Q0FDdEI7QUFDRDtFQUNFLFNBQVM7RUFDVCxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSwyQkFBMkI7RUFDM0Isc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsV0FBVztFQUNYLFlBQVk7RUFDWixZQUFZO0VBQ1osVUFBVTtDQUNYO0FBQ0Q7RUFDRSxtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLFVBQVU7RUFDVixTQUFTO0VBQ1QsWUFBWTtDQUNiO0FBQ0Q7O0lBRUk7QUFDSjs7SUFFSSIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvdXMtY2hhcnQvdXMtY2hhcnQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zdGF0ZXtcclxuICBmaWxsOiBub25lO1xyXG4gIHN0cm9rZTogI2E5YTlhOTtcclxuICBzdHJva2Utd2lkdGg6IDE7XHJcbn1cclxuLnN0YXRlOmhvdmVye1xyXG4gIGZpbGwtb3BhY2l0eTowLjU7XHJcbn1cclxuI3Rvb2x0aXAgeyAgIFxyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgICAgICAgICAgIFxyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIG1hcmdpbjogMTBweDtcclxuICBmb250OiAxMnB4IHNhbnMtc2VyaWY7ICAgICAgICBcclxuICBiYWNrZ3JvdW5kOiBsaWdodHN0ZWVsYmx1ZTsgICBcclxuICBib3JkZXI6IDFweDsgICAgICBcclxuICBib3JkZXItcmFkaXVzOiAycHg7ICAgICAgICAgICBcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTsgICAgICAgICBcclxufVxyXG4jdG9vbHRpcCBoNHtcclxuICBtYXJnaW46MDtcclxuICBmb250LXNpemU6MTRweDtcclxufVxyXG4jdG9vbHRpcHtcclxuICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC45KTtcclxuICBib3JkZXI6MXB4IHNvbGlkIGdyZXk7XHJcbiAgYm9yZGVyLXJhZGl1czo1cHg7XHJcbiAgZm9udC1zaXplOjEycHg7XHJcbiAgd2lkdGg6YXV0bztcclxuICBwYWRkaW5nOjRweDtcclxuICBjb2xvcjp3aGl0ZTtcclxuICBvcGFjaXR5OjA7XHJcbn1cclxuI3Rvb2x0aXAgdGFibGV7XHJcbiAgdGFibGUtbGF5b3V0OmZpeGVkO1xyXG59XHJcbiN0b29sdGlwIHRyIHRke1xyXG4gIHBhZGRpbmc6MDtcclxuICBtYXJnaW46MDtcclxuICB3aWR0aDoxMzBweDtcclxufVxyXG4vKiAjdG9vbHRpcCB0ciB0ZDpudGgtY2hpbGQoMSl7XHJcblxyXG59ICovXHJcbi8qICN0b29sdGlwIHRyIHRkOm50aC1jaGlsZCgyKXtcclxuICB0ZXh0LWFsaWduOmNlbnRlcjtcclxufSAqLyJdfQ== */\"","module.exports = \"
\"","import { Component, OnInit, Input, ViewEncapsulation, ElementRef, ViewChild } from '@angular/core';\r\nimport * as _ from 'lodash';\r\nimport { MatDialog } from '@angular/material';\r\nimport { USChartPopUpComponent } from 'src/app/common/components/us-chart-pop-up/us-chart-pop-up.component';\r\nimport { WidgetService } from '../widgets.service';\r\n\r\ndeclare let d3: any;\r\ndeclare let uStates: any;\r\n\r\n@Component({\r\n selector: 'app-us-chart',\r\n templateUrl: './us-chart.component.html',\r\n styleUrls: ['./us-chart.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class USChartComponent implements OnInit {\r\n @ViewChild('stateChartRef') chartElement: ElementRef;\r\n\r\n\r\n constructor(public dialog: MatDialog, private widgetService: WidgetService) {\r\n this.widgetService.triggerDataChangeForUSChart.subscribe((updatedDataInfo) => {\r\n if ((updatedDataInfo.formField.uniqueName701 && updatedDataInfo.formField.uniqueName701.length) || (updatedDataInfo.formField.uniqueName801 && updatedDataInfo.formField.uniqueName801.length)) {\r\n this.updateChart(updatedDataInfo);\r\n } else {\r\n this.resetToOrignal();\r\n }\r\n\r\n });\r\n }\r\n\r\n @Input() data;\r\n preferences;\r\n filteredData;\r\n\r\n ngOnInit() {\r\n this.filteredData = this.data;\r\n this.loadChart(this.filteredData);\r\n }\r\n\r\n updateChart(updatedDataInfo) {\r\n let getFromDataSet = this.data;\r\n let updatedMonthDataSet = [];\r\n let checkForMonthNodes = updatedDataInfo.formField.uniqueName701.slice();\r\n for (let cIndex = 0; cIndex < checkForMonthNodes.length; cIndex++) {\r\n let filter = _.filter(getFromDataSet, { month: checkForMonthNodes[cIndex] })\r\n updatedMonthDataSet = updatedMonthDataSet.concat(filter);\r\n }\r\n\r\n let updatedYearDataSet = [];\r\n \r\n let checkForYearNodes = updatedDataInfo.formField.uniqueName801.slice();\r\n let filteredData = (checkForMonthNodes.length > 0) ? updatedMonthDataSet : getFromDataSet;\r\n for (let cIndex = 0; cIndex < checkForYearNodes.length; cIndex++) {\r\n let filter = _.filter(filteredData, { year: checkForYearNodes[cIndex] }) \r\n updatedYearDataSet = updatedYearDataSet.concat(filter);\r\n }\r\n this.filteredData = (checkForYearNodes.length > 0) ? updatedYearDataSet : updatedMonthDataSet;\r\n }\r\n\r\n resetToOrignal() {\r\n this.filteredData = this.data;\r\n }\r\n\r\n uStatePaths = [\r\n { id: \"HI\", n: \"Hawaii\", d: \"M233.08751,519.30948L235.02744,515.75293L237.2907,515.42961L237.61402,516.23791L235.51242,519.30948L233.08751,519.30948ZM243.27217,515.59127L249.4153,518.17784L251.51689,517.85452L253.1335,513.97465L252.48686,510.57977L248.28366,510.09479L244.24213,511.87306L243.27217,515.59127ZM273.9878,525.61427L277.706,531.11074L280.13092,530.78742L281.26255,530.30244L282.7175,531.59573L286.43571,531.43407L287.40568,529.97912L284.49577,528.20085L282.55584,524.48263L280.45424,520.92609L274.63444,523.83599L273.9878,525.61427ZM294.19545,534.50564L295.48874,532.5657L300.17691,533.53566L300.82356,533.05068L306.96668,533.69732L306.64336,534.99062L304.05678,536.44556L299.69193,536.12224L294.19545,534.50564ZM299.53027,539.67879L301.47021,543.55866L304.54176,542.42703L304.86509,540.81041L303.24848,538.70882L299.53027,538.3855L299.53027,539.67879ZM306.4817,538.54716L308.74496,535.63726L313.43313,538.06218L317.79798,539.19381L322.16284,541.94205L322.16284,543.88198L318.6063,545.66026L313.75645,546.63022L311.33154,545.17527L306.4817,538.54716ZM323.13281,554.06663L324.74942,552.77335L328.14431,554.38997L335.74238,557.94651L339.13727,560.0481L340.75387,562.47302L342.69381,566.83787L346.73534,569.42445L346.41202,570.71775L342.53215,573.95097L338.32896,575.40592L336.87401,574.75928L333.80244,576.53754L331.37753,579.77077L329.11427,582.68067L327.33599,582.51901L323.77945,579.93243L323.45613,575.40592L324.10277,572.981L322.48616,567.32286L320.38456,565.54458L320.2229,562.958L322.48616,561.98804L324.58776,558.91648L325.07274,557.94651L323.45613,556.16823L323.13281,554.06663Z\" },\r\n { id: \"AK\", n: \"Alaska\", d: \"M158.07671,453.67502L157.75339,539.03215L159.36999,540.00211L162.44156,540.16377L163.8965,539.03215L166.48308,539.03215L166.64475,541.94205L173.59618,548.73182L174.08117,551.3184L177.47605,549.37846L178.1227,549.2168L178.44602,546.14524L179.90096,544.52863L181.0326,544.36697L182.97253,542.91201L186.04409,545.01361L186.69074,547.92352L188.63067,549.05514L189.7623,551.48006L193.64218,553.25833L197.03706,559.2398L199.78529,563.11966L202.04855,565.86791L203.50351,569.58611L208.515,571.36439L213.68817,573.46598L214.65813,577.83084L215.14311,580.9024L214.17315,584.29729L212.39487,586.56054L210.77826,585.75224L209.32331,582.68067L206.57507,581.22573L204.7968,580.09409L203.98849,580.9024L205.44344,583.65065L205.6051,587.36885L204.47347,587.85383L202.53354,585.9139L200.43195,584.62061L200.91693,586.23722L202.21021,588.0155L201.40191,588.8238C201.40191,588.8238,200.59361,588.50048,200.10863,587.85383C199.62363,587.20719,198.00703,584.45895,198.00703,584.45895L197.03706,582.19569C197.03706,582.19569,196.71374,583.48898,196.06709,583.16565C195.42044,582.84233,194.7738,581.71071,194.7738,581.71071L196.55207,579.77077L195.09712,578.31582L195.09712,573.30432L194.28882,573.30432L193.48052,576.6992L192.34888,577.1842L191.37892,573.46598L190.73227,569.74777L189.92396,569.26279L190.24729,574.92094L190.24729,576.05256L188.79233,574.75928L185.23579,568.77781L183.13419,568.29283L182.48755,564.57462L180.87094,561.66472L179.25432,560.53308L179.25432,558.26983L181.35592,556.97654L180.87094,556.65322L178.28436,557.29986L174.88947,554.87495L172.30289,551.96504L167.45306,549.37846L163.41152,546.79188L164.70482,543.55866L164.70482,541.94205L162.92654,543.55866L160.01664,544.69029L156.29843,543.55866L150.64028,541.13375L145.14381,541.13375L144.49717,541.61873L138.03072,537.73885L135.92912,537.41553L133.18088,531.59573L129.62433,531.91905L126.06778,533.374L126.55277,537.90052L127.68439,534.99062L128.65437,535.31394L127.19941,539.67879L130.43263,536.93055L131.07928,538.54716L127.19941,542.91201L125.90612,542.58869L125.42114,540.64875L124.12785,539.84045L122.83456,540.97208L120.08632,539.19381L117.01475,541.29541L115.23649,543.397L111.8416,545.4986L107.15342,545.33693L106.66844,543.23534L110.38664,542.58869L110.38664,541.29541L108.12338,540.64875L109.09336,538.22384L111.35661,534.34397L111.35661,532.5657L111.51827,531.75739L115.88313,529.49413L116.85309,530.78742L119.60134,530.78742L118.30805,528.20085L114.58983,527.87752L109.57834,530.62576L107.15342,534.02064L105.37515,536.60723L104.24352,538.87049L100.04033,540.32543L96.96876,542.91201L96.645439,544.52863L98.908696,545.4986L99.717009,547.60018L96.96876,550.83341L90.502321,555.03661L82.742574,559.2398L80.640977,560.37142L75.306159,561.50306L69.971333,563.76631L71.749608,565.0596L70.294654,566.51455L69.809672,567.64618L67.061434,566.67621L63.828214,566.83787L63.019902,569.10113L62.049939,569.10113L62.37326,566.67621L58.816709,567.96951L55.90681,568.93947L52.511924,567.64618L49.602023,569.58611L46.368799,569.58611L44.267202,570.87941L42.65059,571.68771L40.548995,571.36439L37.962415,570.23276L35.699158,570.87941L34.729191,571.84937L33.112578,570.71775L33.112578,568.77781L36.184142,567.48452L42.488929,568.13117L46.853782,566.51455L48.955378,564.41296L51.86528,563.76631L53.643553,562.958L56.391794,563.11966L58.008406,564.41296L58.978369,564.08964L61.241626,561.3414L64.313196,560.37142L67.708076,559.72478L69.00137,559.40146L69.648012,559.88644L70.456324,559.88644L71.749608,556.16823L75.791141,554.71329L77.731077,550.99508L79.994336,546.46856L81.610951,545.01361L81.934272,542.42703L80.317657,543.72032L76.922764,544.36697L76.276122,541.94205L74.982838,541.61873L74.012865,542.58869L73.851205,545.4986L72.39625,545.33693L70.941306,539.51713L69.648012,540.81041L68.516388,540.32543L68.193068,538.3855L64.151535,538.54716L62.049939,539.67879L59.463361,539.35547L60.918305,537.90052L61.403286,535.31394L60.756645,533.374L62.211599,532.40404L63.504883,532.24238L62.858241,530.4641L62.858241,526.09925L61.888278,525.12928L61.079966,526.58423L54.936843,526.58423L53.481892,525.29094L52.835247,521.41108L50.733651,517.85452L50.733651,516.88456L52.835247,516.07625L52.996908,513.97465L54.128536,512.84303L53.320231,512.35805L52.026941,512.84303L50.895313,510.09479L51.86528,505.08328L56.391794,501.85007L58.978369,500.23345L60.918305,496.51525L63.666554,495.22195L66.253132,496.35359L66.576453,498.77851L69.00137,498.45517L72.23459,496.03026L73.851205,496.67691L74.821167,497.32355L76.437782,497.32355L78.701041,496.03026L79.509354,491.6654C79.509354,491.6654,79.832675,488.75551,80.479317,488.27052C81.125959,487.78554,81.44928,487.30056,81.44928,487.30056L80.317657,485.36062L77.731077,486.16893L74.497847,486.97723L72.557911,486.49225L69.00137,484.71397L63.989875,484.55231L60.433324,480.83411L60.918305,476.95424L61.564957,474.52932L59.463361,472.75105L57.523423,469.03283L58.008406,468.22453L64.798177,467.73955L66.899773,467.73955L67.869736,468.70951L68.516388,468.70951L68.354728,467.0929L72.23459,466.44626L74.821167,466.76958L76.276122,467.90121L74.821167,470.00281L74.336186,471.45775L77.084435,473.07437L82.095932,474.85264L83.874208,473.88268L81.610951,469.51783L80.640977,466.2846L81.610951,465.47629L78.21606,463.53636L77.731077,462.40472L78.21606,460.78812L77.407756,456.90825L74.497847,452.22007L72.072929,448.01688L74.982838,446.07694L78.21606,446.07694L79.994336,446.72359L84.197528,446.56193L87.915733,443.00539L89.047366,439.93382L92.765578,437.5089L94.382182,438.47887L97.130421,437.83222L100.84863,435.73062L101.98027,435.56896L102.95023,436.37728L107.47674,436.21561L110.22498,433.14405L111.35661,433.14405L114.91316,435.56896L116.85309,437.67056L116.36811,438.80219L117.01475,439.93382L118.63137,438.31721L122.51124,438.64053L122.83456,442.35873L124.7745,443.81369L131.88759,444.46033L138.19238,448.66352L139.64732,447.69356L144.82049,450.28014L146.92208,449.6335L148.86202,448.82518L153.71185,450.76512L158.07671,453.67502ZM42.973913,482.61238L45.075509,487.9472L44.913847,488.91717L42.003945,488.59384L40.225672,484.55231L38.447399,483.09737L36.02248,483.09737L35.86082,480.51078L37.639093,478.08586L38.770722,480.51078L40.225672,481.96573L42.973913,482.61238ZM40.387333,516.07625L44.105542,516.88456L47.823749,517.85452L48.632056,518.8245L47.015444,522.5427L43.94388,522.38104L40.548995,518.8245L40.387333,516.07625ZM19.694697,502.01173L20.826327,504.5983L21.957955,506.21492L20.826327,507.02322L18.72473,503.95166L18.72473,502.01173L19.694697,502.01173ZM5.9534943,575.0826L9.3483796,572.81934L12.743265,571.84937L15.329845,572.17269L15.814828,573.7893L17.754763,574.27429L19.694697,572.33436L19.371375,570.71775L22.119616,570.0711L25.029518,572.65768L23.897889,574.43595L19.533037,575.56758L16.784795,575.0826L13.066588,573.95097L8.7017347,575.40592L7.0851227,575.72924L5.9534943,575.0826ZM54.936843,570.55609L56.553455,572.49602L58.655048,570.87941L57.2001,569.58611L54.936843,570.55609ZM57.846745,573.62764L58.978369,571.36439L61.079966,571.68771L60.271663,573.62764L57.846745,573.62764ZM81.44928,571.68771L82.904234,573.46598L83.874208,572.33436L83.065895,570.39442L81.44928,571.68771ZM90.17899,559.2398L91.310623,565.0596L94.220522,565.86791L99.232017,562.958L103.59687,560.37142L101.98027,557.94651L102.46525,555.52159L100.36365,556.81488L97.453752,556.00657L99.070357,554.87495L101.01029,555.68325L104.89016,553.90497L105.37515,552.45003L102.95023,551.64172L103.75853,549.70178L101.01029,551.64172L96.322118,555.19827L91.472284,558.10817L90.17899,559.2398ZM132.53423,539.35547L134.95915,537.90052L133.98918,536.12224L132.21091,537.09221L132.53423,539.35547Z\" },\r\n { id: \"FL\", n: \"Florida\", d: \"M759.8167,439.1428L762.08236,446.4614L765.81206,456.20366L771.14685,465.57996L774.86504,471.88472L779.71486,477.38118L783.75637,481.09937L785.37297,484.00926L784.24135,485.30254L783.43305,486.59582L786.34293,494.03221L789.25282,496.94209L791.83939,502.27689L795.39592,508.09667L799.92241,516.34135L801.2157,523.93939L801.70068,535.90227L802.34732,537.68053L802.024,541.0754L799.59909,542.36869L799.92241,544.30861L799.27577,546.24854L799.59909,548.67344L800.08407,550.61337L797.33585,553.84658L794.2643,555.30152L790.38445,555.46318L788.9295,557.07979L786.5046,558.04975L785.21131,557.56477L784.07969,556.59481L783.75637,553.68492L782.94806,550.29005L779.55319,545.11691L775.99666,542.85367L772.11681,542.53035L771.30851,543.82363L768.23696,539.4588L767.59032,535.90227L765.00375,531.86076L763.22549,530.72913L761.60888,532.83072L759.83062,532.5074L757.72903,527.49592L754.81914,523.61607L751.90925,518.28128L749.32269,515.20973L745.76616,511.49154L747.86774,509.06663L751.10095,503.57017L750.93929,501.95357L746.4128,500.98361L744.79619,501.63025L745.11952,502.27689L747.70608,503.24685L746.25114,507.77335L745.44284,508.25833L743.66457,504.21682L742.37129,499.367L742.04797,496.61877L743.50291,491.93062L743.50291,482.39265L740.43136,478.67446L739.13808,475.60291L733.96494,474.30963L732.02502,473.66299L730.40841,471.07642L727.01354,469.45981L725.88192,466.06494L723.13369,465.09498L720.70878,461.37679L716.50561,459.92185L713.59572,458.4669L711.00916,458.4669L706.96764,459.27521L706.80598,461.21513L707.61429,462.18509L707.1293,463.31672L704.05776,463.15506L700.33957,466.71159L696.78303,468.65151L692.90318,468.65151L689.66997,469.9448L689.34665,467.19657L687.73005,465.25664L684.82016,464.12502L683.20356,462.67007L675.12053,458.79022L667.52249,457.01196L663.15766,457.6586L657.17622,458.14358L651.19478,460.24517L647.71554,460.85813L647.47762,452.80838L644.89105,450.86846L643.11278,449.09019L643.4361,446.01863L653.62072,444.72535L679.16312,441.81546L685.95287,441.16882L691.38887,441.44909L693.97544,445.32895L695.43038,446.78389L703.52854,447.29911L714.34829,446.65247L735.86068,445.35918L741.3064,444.68481L746.41398,444.88932L746.84081,447.79921L749.07381,448.60751L749.30875,443.97751L747.78053,439.80456L749.08893,438.36473L754.64356,438.81948L759.8167,439.1428ZM772.36211,571.54788L774.78703,570.90124L776.08031,570.65875L777.53527,568.31466L779.87935,566.69805L781.17264,567.18304L782.87008,567.50636L783.27423,568.55715L779.79853,569.76961L775.59533,571.22456L773.25125,572.43702L772.36211,571.54788ZM785.86081,566.53639L787.07327,567.58719L789.82151,565.4856L795.15632,561.28241L798.87452,557.40254L801.38027,550.77444L802.35024,549.077L802.5119,545.68212L801.78442,546.1671L800.81446,548.99617L799.3595,553.6035L796.12628,558.8575L791.76144,563.06068L788.36656,565.00061L785.86081,566.53639Z\" },\r\n { id: \"NH\", n: \"New Hampshire\", d: \"M880.79902,142.42476L881.66802,141.34826L882.75824,138.05724L880.21516,137.14377L879.73017,134.07221L875.85032,132.94059L875.527,130.19235L868.25225,106.75153L863.65083,92.208542L862.75375,92.203482L862.10711,93.820087L861.46047,93.335106L860.4905,92.365143L859.03556,94.305068L858.98709,99.337122L859.29874,105.00434L861.23866,107.75258L861.23866,111.7941L857.52046,116.85688L854.93389,117.98852L854.93389,119.12014L856.06552,120.89841L856.06552,129.46643L855.25721,138.6811L855.09555,143.53092L856.06552,144.82422L855.90386,149.35071L855.41887,151.12899L856.38768,151.83821L873.17535,147.41366L875.35022,146.81121L877.19379,144.03788L880.79902,142.42476Z\" },\r\n { id: \"MI\", n: \"Michigan\", d: \"M581.61931,82.059006L583.4483,80.001402L585.62022,79.201221L590.99286,75.314624L593.27908,74.743065L593.73634,75.200319L588.59232,80.344339L585.27728,82.287628L583.21967,83.202124L581.61931,82.059006ZM667.79369,114.18719L668.44033,116.69293L671.67355,116.85459L672.96684,115.64213C672.96684,115.64213,672.88601,114.18719,672.56269,114.02552C672.23936,113.86386,670.94608,112.16642,670.94608,112.16642L668.76366,112.40891L667.14704,112.57057L666.82372,113.7022L667.79369,114.18719ZM567.49209,111.21318L568.20837,110.63278L570.9566,109.82447L574.51313,107.56123L574.51313,106.59126L575.15978,105.94462L581.14121,104.97466L583.56612,103.03473L587.93095,100.93315L588.09261,99.639864L590.03254,96.729975L591.8108,95.921673L593.10409,94.143408L595.36733,91.880161L599.73217,89.455254L604.42032,88.970273L605.55194,90.101896L605.22862,91.071859L601.51043,92.041822L600.05549,95.113371L597.79224,95.921673L597.30726,98.34658L594.88235,101.57979L594.55903,104.16636L595.36733,104.65134L596.3373,103.51972L599.89383,100.60983L601.18711,101.90311L603.45036,101.90311L606.68357,102.87307L608.13851,104.0047L609.59345,107.07625L612.34168,109.82447L616.22153,109.66281L617.67648,108.69285L619.29308,109.98613L620.90969,110.47112L622.20297,109.66281L623.33459,109.66281L624.9512,108.69285L628.99271,105.13632L632.38758,104.0047L639.01566,103.68138L643.54215,101.74145L646.12872,100.44817L647.58367,100.60983L647.58367,106.26794L648.06865,106.59126L650.97853,107.39957L652.91846,106.91458L659.06156,105.29798L660.19318,104.16636L661.64813,104.65134L661.64813,111.60274L664.88134,114.67429L666.17462,115.32093L667.4679,116.29089L666.17462,116.61421L665.36632,116.29089L661.64813,115.80591L659.54654,116.45255L657.28329,116.29089L654.05008,117.74584L652.27182,117.74584L646.45204,116.45255L641.27891,116.61421L639.33898,119.20078L632.38758,119.84742L629.96267,120.65572L628.83105,123.72727L627.53777,124.8589L627.05279,124.69724L625.59784,123.08063L621.07135,125.50554L620.42471,125.50554L619.29308,123.88893L618.48478,124.05059L616.54486,128.41543L615.57489,132.45694L612.39377,139.45774L611.21701,138.42347L609.84527,137.39215L607.90449,127.10413L604.36001,125.73408L602.30743,123.44785L590.18707,120.70437L587.3318,119.67473L579.10138,117.50199L571.21139,116.35887L567.49209,111.21318ZM697.8,177.2L694.6,168.9L692.3,159.9L689.9,156.7L687.3,154.9L685.7,156L681.8,157.8L679.9,162.8L677.1,166.5L676,167.2L674.5,166.5C674.5,166.5,671.9,165.1,672.1,164.4C672.3,163.8,672.6,159.4,672.6,159.4L676,158.1L676.8,154.7L677.4,152.1L679.9,150.5L679.5,140.5L677.9,138.2L676.6,137.4L675.8,135.3L676.6,134.5L678.2,134.8L678.4,133.2L676,131L674.7,128.4L672.1,128.4L667.6,126.9L662.1,123.5L659.3,123.5L658.7,124.2L657.7,123.7L654.6,121.4L651.7,123.2L648.8,125.5L649.2,129L650.1,129.3L652.2,129.8L652.7,130.6L650.1,131.4L647.5,131.8L646.1,133.5L645.8,135.6L646.1,137.3L646.4,142.8L642.8,144.9L642.2,144.7L642.2,140.5L643.5,138.1L644.1,135.6L643.3,134.8L641.4,135.6L640.4,139.8L637.7,141L635.9,142.9L635.7,143.9L636.4,144.7L635.7,147.3L633.5,147.8L633.5,148.9L634.3,151.3L633.1,157.5L631.5,161.5L632.2,166.2L632.7,167.3L631.9,169.8L631.5,170.6L631.2,173.3L634.8,179.3L637.7,185.8L639.1,190.6L638.3,195.3L637.3,201.3L634.9,206.4L634.6,209.2L631.3,212.3L635.8,212.1L657.2,209.9L664.4,208.9L664.5,210.5L671.4,209.3L681.7,207.8L685.5,207.4L685.7,206.8L685.8,205.3L687.9,201.6L689.9,199.9L689.7,194.8L691.3,193.2L692.4,192.9L692.6,189.3L694.2,186.3L695.2,186.9L695.4,187.5L696.2,187.7L698.1,186.7L697.8,177.2Z\" },\r\n { id: \"VT\", n: \"Vermont\", d: \"M844.48416,154.05791L844.80086,148.71228L841.91015,137.92811L841.26351,137.60479L838.35361,136.3115L839.16191,133.40161L838.35361,131.30002L835.65356,126.66004L836.62353,122.78018L835.81522,117.60703L833.39031,111.14059L832.58474,106.21808L859.0041,99.48626L859.3128,105.00847L861.22906,107.7507L861.22906,111.79222L857.52191,116.85021L854.93534,117.99288L854.92429,119.11345L856.23426,120.63257L855.92333,128.73054L855.3139,137.9894L855.08595,143.54634L856.05591,144.83963L855.89425,149.41032L855.40927,151.10021L856.42345,151.82737L848.9859,153.33408L844.48416,154.05791Z\" },\r\n { id: \"ME\", n: \"Maine\", d: \"M922.83976,78.830719L924.77969,80.932305L927.04294,84.650496L927.04294,86.590422L924.94135,91.278575L923.00142,91.925217L919.60655,94.996766L914.75674,100.49322C914.75674,100.49322,914.1101,100.49322,913.46346,100.49322C912.81682,100.49322,912.49349,98.391636,912.49349,98.391636L910.71523,98.553296L909.74527,100.00824L907.32036,101.46319L906.3504,102.91813L907.967,104.37307L907.48202,105.01972L906.99704,107.76794L905.05711,107.60628L905.05711,105.98968L904.73379,104.69639L903.27885,105.01972L901.50058,101.78651L899.399,103.07979L900.69228,104.53473L901.0156,105.66636L900.2073,106.95964L900.53062,110.03119L900.69228,111.64779L899.07568,114.23436L896.16579,114.71934L895.84247,117.62923L890.50767,120.70078L889.21439,121.18576L887.59778,119.73082L884.52623,123.28735L885.4962,126.52056L884.04125,127.81384L883.87959,132.17867L882.75631,138.43803L880.29406,137.28208L879.80907,134.21052L875.92922,133.07889L875.6059,130.33065L868.33115,106.88983L863.63257,92.250088L865.05311,92.131923L866.5669,92.541822L866.5669,89.955254L867.8752,85.458798L870.46177,80.770645L871.91672,76.729133L869.97679,74.304226L869.97679,68.322789L870.78509,67.352826L871.5934,64.604598L871.43174,63.149654L871.27007,58.29984L873.04834,53.450026L875.95823,44.5587L878.05981,40.355528L879.3531,40.355528L880.64638,40.517188L880.64638,41.648811L881.93967,43.912058L884.68789,44.5587L885.4962,43.750397L885.4962,42.780435L889.53771,39.870546L891.31597,38.092281L892.77092,38.253942L898.75235,40.678849L900.69228,41.648811L909.74527,71.555998L915.7267,71.555998L916.53501,73.495924L916.69667,78.345738L919.60655,80.608984L920.41486,80.608984L920.57652,80.124003L920.09154,78.99238L922.83976,78.830719ZM901.90801,108.97825L903.44379,107.44247L904.81791,108.49327L905.38372,110.91819L903.68628,111.80732L901.90801,108.97825ZM908.61694,103.07763L910.39521,104.93673C910.39521,104.93673,911.6885,105.01755,911.6885,104.69423C911.6885,104.37091,911.93099,102.67347,911.93099,102.67347L912.82013,101.86517L912.01182,100.08689L909.99106,100.81437L908.61694,103.07763Z\" },\r\n { id: \"RI\", n: \"Rhode Island\", d: \"M874.07001,178.89536L870.37422,163.93937L876.6435,162.09423L878.83463,164.02135L882.14112,168.342L884.82902,172.74409L881.82968,174.36888L880.5364,174.20722L879.40478,175.98549L876.97987,177.92541L874.07001,178.89536Z\" },\r\n { id: \"NY\", n: \"New York\", d: \"M830.37944,188.7456L829.24781,187.77564L826.66123,187.61398L824.39799,185.67406L822.76738,179.54493L819.30892,179.63547L816.86521,176.92727L797.47989,181.30921L754.47811,190.0389L746.94846,191.26689L746.2103,184.79855L747.6384,183.67317L748.93168,182.54155L749.90165,180.92494L751.67991,179.79332L753.61984,178.01505L754.10482,176.39845L756.2064,173.65022L757.33803,172.68026L757.17637,171.71029L755.88308,168.63875L754.10482,168.47709L752.16489,162.33399L755.07478,160.55572L759.43961,159.10078L763.48113,157.80749L766.71434,157.32251L773.01909,157.16085L774.95902,158.45414L776.57562,158.6158L778.67721,157.32251L781.26378,156.19089L786.43691,155.70591L788.5385,153.92764L790.31676,150.69443L791.93337,148.75451L794.03495,148.75451L795.97488,147.62288L796.13654,145.35964L794.6816,143.25805L794.35828,141.80311L795.4899,139.70152L795.4899,138.24658L793.71163,138.24658L791.93337,137.43828L791.12507,136.30665L790.96341,133.72008L796.78318,128.22363L797.42982,127.41533L798.88477,124.50544L801.79466,119.97894L804.54289,116.26075L806.64447,113.83585L809.05957,112.01024L812.14093,110.7643L817.63738,109.47101L820.87059,109.63267L825.39709,108.17773L832.96228,106.10656L833.48207,111.08623L835.90699,117.55267L836.71529,122.72582L835.74533,126.60568L838.3319,131.13218L839.1402,133.23377L838.3319,136.14367L841.2418,137.43695L841.88844,137.76027L844.96,148.75321L844.42371,153.81288L843.93873,164.64415L844.74703,170.14062L845.55533,173.69716L847.01028,180.9719L847.01028,189.05494L845.87865,191.31819L847.71798,193.31098L848.51453,194.9894L846.57461,196.76767L846.89793,198.06095L848.19121,197.73763L849.64616,196.44435L851.9094,193.85778L853.04103,193.21114L854.65763,193.85778L856.92088,194.01944L864.84224,190.13959L867.75213,187.39136L869.04541,185.93642L873.24858,187.55302L869.85371,191.10955L865.97386,194.01944L858.8608,199.35423L856.27424,200.3242L850.45446,202.26412L846.41295,203.39575L845.23821,202.86282L844.99419,199.17429L845.47917,196.42605L845.31751,194.32447L842.504,192.62547L837.9775,191.6555L834.09764,190.52388L830.37944,188.7456Z\" },\r\n { id: \"PA\", n: \"Pennsylvania\", d: \"M825.1237,224.69205L826.43212,224.42105L828.76165,223.1678L829.97353,220.68473L831.59014,218.42148L834.82335,215.34992L834.82335,214.54162L832.39844,212.92502L828.8419,210.5001L827.87194,207.91353L825.1237,207.59021L824.96204,206.45858L824.15374,203.71035L826.417,202.57873L826.57866,200.15381L825.28536,198.86052L825.44702,197.24391L827.38696,194.17236L827.38696,191.1008L830.08459,188.45492L829.16431,187.77994L826.64023,187.58703L824.34574,185.64711L822.79582,179.53105L819.29124,179.63157L816.83601,176.92824L798.74502,181.12601L755.74324,189.8557L746.85189,191.31064L746.23122,184.78925L740.86869,189.8569L739.5754,190.34188L735.37311,193.35077L738.28387,212.48822L740.76553,222.21758L744.33733,241.47907L747.60664,240.84139L759.55022,239.33892L797.47685,231.67372L812.35306,228.8504L820.65341,227.22804L820.92052,226.98951L823.02212,225.37289L825.1237,224.69205Z\" },\r\n { id: \"NJ\", n: \"New Jersey\", d: \"M829.67942,188.46016L827.35687,191.19443L827.35687,194.26599L825.41693,197.33754L825.25527,198.95416L826.54857,200.24744L826.38691,202.67236L824.12365,203.80398L824.93195,206.55221L825.09361,207.68384L827.84185,208.00716L828.81181,210.59373L832.36835,213.01865L834.79326,214.63525L834.79326,215.44356L831.81005,218.14012L830.19344,220.40336L828.73849,223.1516L826.47524,224.44488L826.01279,226.04736L825.77029,227.25982L825.16106,229.86656L826.25333,232.11075L829.48654,235.02064L834.33635,237.28389L838.37786,237.93053L838.53952,239.38547L837.73122,240.35543L838.05454,243.10366L838.86284,243.10366L840.96443,240.67876L841.77273,235.82894L844.52096,231.78743L847.59251,225.32101L848.72413,219.82456L848.07749,218.69293L847.91583,209.31662L846.29922,205.92176L845.1676,206.73006L842.41937,207.05338L841.93439,206.5684L843.06602,205.59843L845.1676,203.65851L845.23066,202.56468L844.84627,199.13084L845.41964,196.3826L845.30217,194.41359L842.49463,192.66324L837.40249,191.48748L833.26505,190.10585L829.67942,188.46016Z\" },\r\n { id: \"DE\", n: \"Delaware\", d: \"M825.6261,228.2791L825.99441,226.13221L826.36948,224.44116L824.74648,224.83892L823.13102,225.30648L820.92476,227.07078L822.64488,232.11366L824.90814,237.77178L827.00972,247.47143L828.62634,253.77621L833.63782,253.61455L839.77994,252.43387L837.51571,245.0476L836.54574,245.53258L832.98921,243.10768L831.21095,238.41952L829.27102,234.86299L826.1239,231.99268L825.25974,229.89456L825.6261,228.2791Z\" },\r\n { id: \"MD\", n: \"Maryland\", d: \"M839.79175,252.41476L833.7832,253.6186L828.6403,253.73606L826.79674,246.81373L824.87193,237.64441L822.29931,231.45596L821.01093,227.05763L813.50491,228.67999L798.6287,231.50331L761.17727,239.05421L762.30857,244.06587L763.27853,249.72398L763.60185,249.40066L765.70345,246.97576L767.96669,244.3581L770.3916,243.74254L771.84656,242.28759L773.62482,239.70102L774.9181,240.34767L777.82799,240.02434L780.41457,237.92276L782.42146,236.46949L784.26669,235.98451L785.91104,237.11446L788.82093,238.5694L790.76085,240.34767L791.97331,241.88345L796.09566,243.58088L796.09566,246.49077L801.59212,247.78406L802.73656,248.32604L804.14846,246.29772L807.03043,248.26788L805.75226,250.74981L804.98699,254.73547L803.20873,257.32204L803.20873,259.42363L803.85537,261.2019L808.91932,262.55759L813.23042,262.49587L816.30196,263.46584L818.40355,263.78916L819.37351,261.68757L817.91857,259.58599L817.91857,257.80772L815.49366,255.70613L813.39208,250.20968L814.68536,244.87488L814.5237,242.7733L813.23042,241.48001C813.23042,241.48001,814.68536,239.86341,814.68536,239.21677C814.68536,238.57012,815.17034,237.11518,815.17034,237.11518L817.11027,235.8219L819.05019,234.20529L819.53517,235.17526L818.08023,236.79186L816.78695,240.51005L817.11027,241.64167L818.88853,241.96499L819.37351,247.46145L817.27193,248.43141L817.59525,251.98794L818.08023,251.82628L819.21185,249.88636L820.82846,251.66462L819.21185,252.95791L818.88853,256.35278L821.4751,259.74765L825.35495,260.23263L826.97156,259.42433L830.20811,263.60726L831.56646,264.14356L838.22013,261.34661L840.22771,257.32274L839.79175,252.41476ZM823.82217,261.44348L824.95379,263.94923L825.11545,265.7275L826.24708,267.5866C826.24708,267.5866,827.13622,266.69746,827.13622,266.37414C827.13622,266.05082,826.40875,263.30258,826.40875,263.30258L825.68127,260.95849L823.82217,261.44348Z\" },\r\n { id: \"VA\", n: \"Virginia\", d: \"M831.63885,266.06892L831.49494,264.12189L837.94837,261.57201L837.17796,264.78985L834.25801,268.56896L833.83992,273.15478L834.30167,276.54522L832.4737,281.52338L830.30943,283.43952L828.83909,278.79871L829.28498,273.3496L830.87198,269.16653L831.63885,266.06892ZM834.97904,294.37028L776.80486,306.94571L739.37789,312.22478L732.69956,311.8496L730.11431,313.77598L722.77518,313.99667L714.39307,314.97434L703.47811,316.58896L713.94754,310.97776L713.93442,308.90283L715.45447,306.7567L726.00825,295.25527L729.95497,299.73273L733.73798,300.69671L736.28144,299.55639L738.51866,298.24523L741.05527,299.58875L744.96944,298.16099L746.84617,293.60465L749.44709,294.14467L752.30233,292.01342L754.1016,292.50702L756.92881,288.83045L757.27706,286.74734L756.3134,285.47177L757.31617,283.60514L762.59044,271.32799L763.20721,265.59291L764.4361,265.06937L766.61463,267.51224L770.55049,267.21107L772.4797,259.63744L775.27369,259.07658L776.32344,256.33551L778.90326,253.98863L781.67509,248.29344L781.76002,243.22589L791.58153,247.04871C792.26238,247.38913,792.41441,241.99956,792.41441,241.99956L796.06697,243.59789L796.1353,246.53605L801.91955,247.83554L804.0525,249.01174L805.71242,251.06743L805.05787,254.7161L803.11043,257.30708L803.22028,259.36615L803.80924,261.21906L808.78799,262.48749L813.23926,262.52737L816.30809,263.48601L818.2516,263.79531L818.96641,266.88377L822.15685,267.2863L823.02492,268.48632L822.58543,273.1764L823.96016,274.27895L823.48121,276.20934L824.71062,276.99911L824.48882,278.38371L821.79483,278.28877L821.88379,279.90429L824.16478,281.44716L824.28632,282.85906L826.05943,284.64444L826.55122,287.16857L823.99818,288.54988L825.5704,290.04418L831.37142,288.35835L834.97904,294.37028Z\" },\r\n { id: \"WV\", n: \"West Virginia\", d: \"M761.18551,238.96731L762.29752,243.91184L763.38096,249.94317L765.51125,247.36283L767.77449,244.29127L770.31287,243.67572L771.76782,242.22078L773.54609,239.63421L774.99107,240.28085L777.90096,239.95753L780.48754,237.85594L782.49443,236.40268L784.33966,235.91769L785.64358,236.93416L789.28683,238.75579L791.22676,240.53406L792.60088,241.82734L791.83916,247.38228L786.00425,244.84106L781.759,243.21904L781.65786,248.39747L778.91022,253.9342L776.38019,256.36086L775.1881,259.11025L772.54452,259.61035L771.64668,263.21223L770.60345,267.1619L766.63521,267.50264L764.31148,265.06376L763.24033,265.62317L762.60765,271.09287L761.25736,274.62737L756.29896,285.58234L757.19565,286.74304L756.98979,288.65158L754.1811,292.53605L752.3726,291.99176L749.40455,294.1515L746.86217,293.57929L744.86294,298.13486C744.86294,298.13486,741.60363,299.56508,740.94003,299.50258C740.77952,299.48746,738.47093,298.25348,738.47093,298.25348L736.13441,299.63285L733.72461,300.67725L729.97992,299.78813L728.85852,298.61985L726.6663,295.59649L723.52371,293.60837L721.81214,289.98513L717.52726,286.51694L716.88061,284.25369L714.29404,282.79874L713.48573,281.18214L713.24324,275.92816L715.42566,275.84733L717.3656,275.03903L717.52726,272.2908L719.14386,270.83585L719.30552,265.82437L720.27548,261.94451L721.56877,261.29787L722.86205,262.42949L723.34704,264.20776L725.12531,263.23779L725.61029,261.62119L724.47867,259.84292L724.47867,257.41801L725.44863,256.12472L727.71188,252.72985L729.00516,251.27491L731.10676,251.75989L733.37,250.14327L736.44155,246.7484L738.70481,242.86854L739.02813,237.21043L739.51311,232.19894L739.51311,227.51078L738.38149,224.43923L739.35145,222.98427L740.63493,221.69099L744.12618,241.51811L748.75719,240.76696L761.18551,238.96731Z\" },\r\n { id: \"OH\", n: \"Ohio\", d: \"M735.32497,193.32832L729.23143,197.38167L725.35158,199.64492L721.95671,203.36311L717.9152,207.24296L714.68199,208.05126L711.7721,208.53624L706.27564,211.12281L704.17406,211.28447L700.77919,208.21292L695.60605,208.85957L693.01949,207.40462L690.63842,206.05379L685.74585,206.7572L675.56123,208.37381L664.35436,210.55854L665.64765,225.18882L667.42592,238.92999L670.01248,262.37079L670.5783,267.20196L674.70065,267.07294L677.12556,266.26463L680.48936,267.76777L682.55985,272.1326L687.69879,272.1155L689.59053,274.2342L691.3517,274.1689L693.89009,272.82744L696.39426,273.19894L701.81554,273.68162L703.54251,271.54894L705.88816,270.25566L707.95865,269.57481L708.60529,272.32305L710.38357,273.29301L713.85926,275.63708L716.04168,275.55626L717.3748,275.06378L717.55951,272.30225L719.14487,270.84729L719.24403,266.05457C719.24403,266.05457,720.26799,261.94551,720.26799,261.94551L721.56726,261.34423L722.88861,262.49197L723.42676,264.18899L725.14589,263.15157L725.58487,261.69082L724.46818,259.78776L724.53447,257.47333L725.28347,256.40102L727.43623,253.09454L728.48645,251.5512L730.58804,252.03618L732.85129,250.41957L735.92284,247.0247L738.69433,242.94597L739.01466,237.89046L739.49964,232.87897L739.32286,227.57209L738.36802,224.67731L738.71926,223.48753L740.52365,221.73742L738.23486,212.69009L735.32497,193.32832Z\" },\r\n { id: \"IN\", n: \"Indiana\", d: \"M619.56954,299.97132L619.63482,297.11274L620.11981,292.58623L622.38305,289.67635L624.16133,285.79648L626.74789,281.59331L626.26291,275.77352L624.48465,273.02529L624.16133,269.79208L624.96963,264.29561L624.48465,257.3442L623.19135,241.33979L621.89807,225.98203L620.9276,214.26201L623.99866,215.15152L625.45361,216.12148L626.58523,215.79816L628.68682,213.85824L631.51639,212.24125L636.60919,212.07921L658.59506,209.81595L664.17079,209.28279L665.67393,225.239L669.92528,262.08055L670.52374,267.85215L670.15224,270.1154L671.38022,271.91077L671.47661,273.28332L668.95532,274.88283L665.41589,276.43414L662.21376,276.98442L661.6153,281.85135L657.04061,285.16382L654.24419,289.17426L654.56751,291.55099L653.98617,293.08519L650.6597,293.08519L649.07417,291.46859L646.58086,292.73079L643.8979,294.23393L644.05957,297.28838L642.86578,297.54641L642.3979,296.52827L640.23102,295.02513L636.9807,296.36661L635.42939,299.37286L633.99155,298.56456L632.5366,296.96505L628.07226,297.45004L622.47943,298.42L619.56954,299.97132Z\" },\r\n { id: \"IL\", n: \"Illinois\", d: \"M619.54145,300.34244L619.5727,297.11273L620.14009,292.46677L622.47262,289.55091L624.33927,285.47515L626.57229,281.47982L626.20079,276.22742L624.19558,272.68485L624.0992,269.33817L624.79403,264.06866L623.96862,256.89029L622.90228,241.11284L621.609,226.0955L620.68672,214.4563L620.41421,213.53491L619.60591,210.94834L618.31263,207.23015L616.69602,205.45188L615.24108,202.86532L615.00751,197.37636L569.21108,199.97461L569.4397,202.34656L571.72593,203.03243L572.64041,204.17554L573.09766,206.00452L576.98424,209.43386L577.67012,211.72009L576.98424,215.14943L575.15526,218.80739L574.4694,221.32223L572.18317,223.15122L570.35419,223.83709L565.09587,225.20882L564.41,227.0378L563.72413,229.09541L564.41,230.46715L566.23898,232.06751L566.01036,236.18271L564.18137,237.78307L563.49551,239.38343L563.49551,242.1269L561.66653,242.58414L560.06617,243.72726L559.83755,245.099L560.06617,247.1566L558.3515,248.47117L557.3227,251.27181L557.77994,254.92976L560.06617,262.24569L567.3821,269.79024L572.86903,273.4482L572.64041,277.79203L573.55491,279.16377L579.95634,279.62101L582.69981,280.99275L582.01395,284.65071L579.72772,290.5949L579.04185,293.79562L581.32807,297.6822L587.72951,302.94052L592.30197,303.62639L594.35956,308.65609L596.41717,311.8568L595.50268,314.82889L597.10304,318.9441L598.93202,321.00171L600.34605,320.12102L601.25371,318.04623L603.46679,316.29903L605.59826,315.68463L608.20079,316.86443L611.82778,318.24013L613.01673,317.9419L613.2166,315.68345L611.9293,313.27166L612.23352,310.89494L614.07192,309.54749L617.09446,308.7372L618.35536,308.27868L617.74275,306.8918L616.95138,304.53743L618.38398,303.55647L619.54145,300.34244Z\" },\r\n { id: \"CT\", n: \"Connecticut\", d: \"M874.06831,178.86288L870.39088,163.98407L865.67206,164.90438L844.44328,169.64747L845.44347,172.87314L846.89842,180.14788L847.0752,189.1148L845.85518,191.28967L847.77597,193.22201L852.0475,189.31637L855.60403,186.08316L857.54395,183.98157L858.35226,184.62821L861.10048,183.17327L866.27362,182.04165L874.06831,178.86288Z\" },\r\n { id: \"WI\", n: \"Wisconsin\", d: \"M615.06589,197.36866L614.99915,194.21124L613.82004,189.68474L613.1734,183.54165L612.04178,181.11674L613.01174,178.04519L613.82004,175.1353L615.27499,172.54874L614.62834,169.15387L613.9817,165.59734L614.46668,163.81907L616.40661,161.39416L616.56827,158.64593L615.75997,157.35265L616.40661,154.76608L615.95409,150.59537L618.70232,144.93726L621.61221,138.14752L621.77387,135.88427L621.45055,134.91431L620.64224,135.39929L616.43907,141.70405L613.69084,145.74556L611.75092,147.52383L610.94262,149.78707L608.98767,150.59537L607.85605,152.5353L606.4011,152.21198L606.23944,150.43371L607.53273,148.00881L609.63431,143.32065L611.41258,141.70405L612.40341,139.3462L609.84296,137.44486L607.86814,127.07787L604.32067,125.73589L602.37441,123.42756L590.2447,120.70592L587.36881,119.69387L579.15569,117.52658L571.23777,116.36783L567.47261,111.23716L566.72221,111.79117L565.5243,111.62951L564.87765,110.49789L563.54364,110.79444L562.41201,110.9561L560.63375,111.92606L559.66378,111.27942L560.31043,109.33949L562.25035,106.26794L563.38197,105.13632L561.44205,103.68138L559.34046,104.48968L556.43057,106.4296L548.99419,109.66281L546.0843,110.30945L543.17442,109.82447L542.19269,108.94622L540.07599,111.7814L539.84737,114.52487L539.84737,122.9839L538.70425,124.58427L533.44593,128.47084L531.15971,134.41503L531.61695,134.64365L534.1318,136.70126L534.81766,139.90198L532.98868,143.10269L532.98868,146.98928L533.44593,153.61933L536.41802,156.59143L539.84737,156.59143L541.67635,159.79215L545.10568,160.24939L548.99227,165.96496L556.07957,170.08017L558.13717,172.82364L559.05167,180.25388L559.73753,183.5689L562.02376,185.16926L562.25238,186.541L560.19478,189.97033L560.4234,193.17106L562.93825,197.05764L565.4531,198.20075L568.42519,198.65799L569.76753,200.03811L615.06589,197.36866Z\" },\r\n { id: \"NC\", n: \"North Carolina\", d: \"M834.98153,294.31554L837.06653,299.23289L840.62306,305.69931L843.04796,308.12422L843.6946,310.38747L841.2697,310.54913L842.078,311.19577L841.75468,315.39894L839.16811,316.69222L838.52147,318.79381L837.22819,321.7037L833.50999,323.3203L831.08509,322.99698L829.63014,322.83532L828.01354,321.54204L828.33686,322.83532L828.33686,323.80529L830.27679,323.80529L831.08509,325.09857L829.14516,331.40333L833.34833,331.40333L833.99498,333.01993L836.25822,330.75669L837.55151,330.2717L835.61158,333.82823L832.54003,338.67805L831.24675,338.67805L830.11512,338.19307L827.3669,338.83971L822.19376,341.26462L815.72734,346.59941L812.33247,351.28756L810.39255,357.75398L809.90757,360.17889L805.21941,360.66387L799.76628,362.00053L789.81987,353.798L777.21033,346.19995L774.30044,345.39164L761.69091,346.84659L757.41445,347.59674L755.79785,344.36352L752.82749,342.24682L736.3381,342.7318L729.06336,343.5401L720.01037,348.06661L713.86726,350.65317L692.68971,353.23975L693.1898,349.18542L694.96807,347.73048L697.71631,347.08383L698.36295,343.36563L702.56613,340.61741L706.44598,339.16245L710.64917,335.60592L715.014,333.50433L715.66064,330.43277L719.5405,326.55292L720.18714,326.39126C720.18714,326.39126,720.18714,327.52289,720.99545,327.52289C721.80375,327.52289,722.93538,327.84621,722.93538,327.84621L725.19863,324.28967L727.30022,323.64302L729.56346,323.96635L731.18008,320.40982L734.08997,317.82324L734.57495,315.72165L734.76245,312.07346L739.03895,312.05094L746.23754,311.19515L761.99477,308.94272L777.13081,306.85615L798.77129,302.1368L818.75461,297.87823L829.93155,295.47242L834.98153,294.31554ZM839.25199,327.52211L841.83857,325.01636L844.99095,322.42978L846.52673,321.78314L846.68839,319.76238L846.04175,313.61926L844.5868,311.27518L843.94015,309.41608L844.66763,309.17358L847.41587,314.67006L847.82002,319.11573L847.65836,322.51062L844.26348,324.04639L841.43441,326.47131L840.30279,327.68377L839.25199,327.52211Z\" },\r\n { id: \"DC\", n: \"Washington DC\", d: \"M805.81945,250.84384L803.96117,249.01967L802.72854,248.33338L804.17155,246.31091L807.06064,248.25941L805.81945,250.84384Z\" },\r\n { id: \"MA\", n: \"Massachusets\", d: \"M899.62349,173.25394L901.79541,172.56806L902.25267,170.85339L903.28147,170.9677L904.31027,173.25394L903.05285,173.71118L899.16625,173.8255L899.62349,173.25394ZM890.24995,174.05412L892.53617,171.42495L894.13654,171.42495L895.96553,172.911L893.56499,173.9398L891.39307,174.9686L890.24995,174.05412ZM855.45082,152.06593L873.09769,147.42525L875.36095,146.77861L877.27503,143.9829L881.0118,142.31959L883.90104,146.73243L881.47613,151.90557L881.15281,153.36051L883.09274,155.94708L884.22436,155.13878L886.00263,155.13878L888.26587,157.72534L892.14573,163.70678L895.70226,164.19176L897.9655,163.2218L899.74377,161.44353L898.93546,158.69531L896.83388,157.0787L895.37893,157.887L894.40897,156.59372L894.89395,156.10874L896.99554,155.94708L898.7738,156.75538L900.71373,159.18029L901.68369,162.09018L902.00701,164.51508L897.80384,165.97003L893.92399,167.90995L890.04414,172.43645L888.10421,173.89139L888.10421,172.92143L890.52912,171.46648L891.0141,169.68822L890.2058,166.61667L887.29591,168.07161L886.48761,169.52656L886.97259,171.7898L884.90626,172.79023L882.15906,168.2631L878.76418,163.89826L876.69368,162.08579L870.16041,163.96199L865.06808,165.01278L844.39292,169.60499L843.72516,164.83714L844.3718,154.24837L848.66107,153.35923L855.45082,152.06593Z\" },\r\n { id: \"TN\", n: \"Tennessee\", d: \"M696.67788,318.25411L644.78479,323.2656L629.02523,325.04386L624.40403,325.55657L620.53568,325.52885L620.31471,329.62968L612.12933,329.89369L605.17792,330.54033L597.08709,330.41647L595.67331,337.48933L593.97708,342.96938L590.68391,345.72022L589.33517,350.10128L589.01185,352.68785L584.97033,354.95109L586.42527,358.50763L585.45531,362.87247L584.48693,363.66212L692.64548,353.25457L693.04875,349.29963L694.85948,347.80924L697.69363,347.05979L698.36556,343.34281L702.46416,340.63785L706.51109,339.14382L710.59467,335.57349L715.03076,333.54803L715.55202,330.48068L719.61662,326.49569L720.16742,326.38152C720.16742,326.38152,720.19867,327.51314,721.00697,327.51314C721.81527,327.51314,722.9469,327.86771,722.9469,327.86771L725.21015,324.27992L727.28049,323.63328L729.5556,323.92849L731.15391,320.39563L734.10916,317.75172L734.53084,315.81261L734.8398,312.10146L732.69325,311.90169L730.09157,313.93002L723.09826,313.95909L704.73897,316.34591L696.67788,318.25411Z\" },\r\n { id: \"AR\", n: \"Arkansas\", d: \"M593.82477,343.05296L589.84489,343.76966L584.73274,343.13563L585.15344,341.53356L588.13319,338.96687L589.07657,335.31062L587.24759,332.33852L508.83002,334.85337L510.43038,341.71206L510.43037,349.94248L511.80212,360.91647L512.03074,398.7534L514.31697,400.69669L517.28906,399.32496L520.03254,400.46807L520.71288,407.04137L576.33414,405.90077L577.47977,403.8104L577.19315,400.26089L575.36752,397.28879L576.96621,395.80358L575.36752,393.29208L576.05172,390.78225L577.42011,385.17682L579.9383,383.11419L579.25243,380.82963L582.9104,375.45784L585.65387,374.08945L585.54039,372.59587L585.19495,370.77023L588.0519,365.1715L590.45494,363.91491L590.83907,360.48728L592.60974,359.24558L589.46622,358.76131L588.12476,354.75087L590.92884,352.37416L591.4791,350.35496L592.75858,346.30835L593.82477,343.05296Z\" },\r\n { id: \"MO\", n: \"Missouri\", d: \"M558.44022,248.11316L555.92035,245.02591L554.77723,242.73968L490.42,245.14022L488.13374,245.25453L489.39117,247.76938L489.16255,250.0556L491.67739,253.94219L494.76379,258.0574L497.8502,260.80087L500.01143,261.02949L501.50816,261.94399L501.50816,264.91608L499.67919,266.51644L499.22193,268.80266L501.27954,272.23201L503.7944,275.2041L506.30924,277.03308L507.68097,288.69283L507.99511,324.76504L508.22373,329.45179L508.68097,334.8353L531.11396,333.96848L554.31999,333.28261L575.12465,332.4816L586.77939,332.2513L588.94879,335.6773L588.2646,338.9848L585.17735,341.38784L584.60496,343.22518L589.98345,343.68244L593.87841,342.99656L595.59559,337.50293L596.24701,331.64614L598.34504,329.09098L600.94107,327.60409L600.9925,324.55385L602.00852,322.61737L600.31429,320.0736L598.98336,321.05786L596.99074,318.83062L595.70571,314.07162L596.50672,311.55342L594.56259,308.12576L592.73195,303.54996L587.93254,302.75062L580.96374,297.15187L579.24488,293.03834L580.04423,289.83762L582.1035,283.77995L582.56242,280.91632L580.61328,279.88501L573.75794,279.08734L572.72997,277.37518L572.61817,273.14482L567.13123,269.71381L560.15572,261.94231L557.8695,254.62638L557.63921,250.40106L558.44022,248.11316Z\" },\r\n { id: \"GA\", n: \"Georgia\", d: \"M672.29229,355.5518L672.29229,357.73422L672.45395,359.83582L673.10059,363.23069L676.49547,371.15206L678.92038,381.01337L680.37532,387.15648L681.99193,392.00629L683.44688,398.9577L685.54847,405.26247L688.13504,408.65735L688.62002,412.05222L690.55995,412.86052L690.72161,414.96212L688.94334,419.81193L688.45836,423.04515L688.2967,424.98508L689.91331,429.34992L690.23663,434.68472L689.42832,437.10963L690.07497,437.91794L691.52992,438.72624L691.73462,441.94433L693.96763,445.29386L696.21807,447.45591L704.13945,447.61757L714.9592,446.97093L736.47159,445.67765L741.91731,445.00328L746.49456,445.03101L746.65622,447.9409L749.24279,448.7492L749.56611,444.38436L747.9495,439.85786L749.08113,438.24126L754.90091,439.04956L759.87832,439.36734L759.1029,433.06855L761.36614,423.0456L762.82109,418.84242L762.3361,416.25586L765.67051,410.01156L765.16021,408.65988L763.2468,409.36446L760.66024,408.07116L760.01359,405.96957L758.72031,402.41304L756.45705,400.31145L753.87049,399.66481L752.25388,394.81499L749.32887,388.47999L745.1257,386.54006L743.0241,384.60013L741.73081,382.01356L739.62923,380.07363L737.36598,378.78034L735.10273,375.87045L732.03118,373.60721L727.50467,371.82893L727.01969,370.37399L724.59478,367.4641L724.1098,366.00915L720.71492,361.03867L717.19505,361.13784L713.44014,358.7817L712.02186,357.48842L711.69854,355.71015L712.56934,353.77023L714.79598,352.66009L714.16204,350.56287L672.29229,355.5518Z\" },\r\n { id: \"SC\", n: \"South Carolina\", d: \"M764.94328,408.16488L763.16622,409.13438L760.57965,407.84109L759.93301,405.7395L758.63973,402.18297L756.37647,400.08137L753.7899,399.43473L752.1733,394.58492L749.42506,388.60347L745.22189,386.66353L743.12029,384.72361L741.82701,382.13704L739.72542,380.1971L737.46217,378.90382L735.19892,375.99393L732.12737,373.73069L727.60086,371.95241L727.11588,370.49747L724.69098,367.58758L724.20599,366.13262L720.81111,360.95949L717.41624,361.12115L713.37472,358.69623L712.08144,357.40295L711.75812,355.62468L712.56642,353.68476L714.82967,352.71478L714.31885,350.4257L720.08695,348.08913L729.20245,343.50013L736.97718,342.69182L753.09158,342.26934L755.72983,344.14677L757.40893,347.50499L761.71128,346.89501L774.32081,345.44005L777.2307,346.24836L789.84024,353.84642L799.94832,361.9681L794.52715,367.42644L791.94058,373.56954L791.4556,379.8743L789.839,380.6826L788.70737,383.43083L786.28247,384.07747L784.18088,387.634L781.43265,390.38223L779.16941,393.7771L777.5528,394.5854L773.99627,397.98027L771.08638,398.14193L772.05635,401.37514L767.04487,406.8716L764.94328,408.16488Z\" },\r\n { id: \"KY\", n: \"Kentucky\", d: \"M725.9944,295.2707L723.70108,297.67238L720.12289,301.66642L715.19834,307.13109L713.98257,308.84686L713.92007,310.94844L709.54021,313.11253L703.88209,316.50741L696.65022,318.30626L644.78233,323.20512L629.02277,324.98338L624.40157,325.49609L620.53322,325.46837L620.30627,329.68865L612.12686,329.83321L605.17545,330.47985L597.18797,330.41963L598.39575,329.09955L600.89529,327.5587L601.12392,324.35797L602.03841,322.52899L600.43159,319.99009L601.23342,318.08328L603.49668,316.30502L605.59826,315.65837L608.34649,316.95166L611.90303,318.24494L613.03466,317.92162L613.19632,315.65837L611.90303,313.23346L612.22635,310.97021L614.16628,309.51527L616.75286,308.86862L618.36946,308.22198L617.56116,306.44371L616.91452,304.50378L618.42114,303.50798C618.42442,303.47086,619.6751,299.98569,619.65943,299.85017L622.71265,298.37149L628.03244,297.40153L632.52648,296.91655L633.91892,298.54398L635.44719,299.41478L637.03796,296.30657L640.22504,295.02395L642.43013,296.50798L642.84069,297.50702L644.01421,297.24301L643.85254,294.29008L646.98341,292.54089L649.1315,291.46741L650.66086,293.12822L653.97901,293.08402L654.56634,291.51277L654.19883,289.24953L656.79936,285.25103L661.57591,281.81313L662.28186,276.97727L665.20688,276.52136L668.99834,274.87568L671.44166,273.16744L671.24333,271.60251L670.10088,270.14757L670.6667,267.15266L674.85155,267.03516L677.15146,266.28936L680.49885,267.71846L682.55296,272.0833L687.68525,272.09412L689.73626,274.30231L691.35171,274.15461L693.9534,272.87644L699.19046,273.44981L701.76538,273.66732L703.45296,271.61108L706.07091,270.1852L707.95269,269.4781L708.59933,272.31473L710.64276,273.37307L713.28552,275.45556L713.40299,281.1288L714.21129,282.70121L716.80101,284.25749L717.57265,286.552L721.73254,289.98894L723.53785,293.61218L725.9944,295.2707Z\" },\r\n { id: \"AL\", n: \"Alabama\", d: \"M631.30647,460.41572L629.81587,446.09422L627.06763,427.34158L627.22929,413.27709L628.03759,382.23824L627.87593,365.58718L628.04102,359.16812L672.5255,355.54867L672.3777,357.73109L672.53936,359.83269L673.18601,363.22756L676.58089,371.14893L679.00579,381.01024L680.46074,387.15335L682.07734,392.00317L683.5323,398.95458L685.63388,405.25934L688.22045,408.65423L688.70543,412.04909L690.64537,412.8574L690.80703,414.95899L689.02875,419.80881L688.54377,423.04203L688.38211,424.98195L689.99873,429.3468L690.32205,434.68159L689.51373,437.10651L690.16039,437.91481L691.61533,438.72311L691.94347,441.61193L686.34581,441.25838L679.55606,441.90503L654.01366,444.81491L643.6021,446.22168L643.38072,449.09908L645.15899,450.87735L647.74556,452.81727L648.32642,460.75271L642.78436,463.32561L640.03614,463.00229L642.78436,461.06236L642.78436,460.0924L639.71282,454.11096L637.44957,453.46432L635.99462,457.82915L634.70134,460.57738L634.0547,460.41572L631.30647,460.41572Z\" },\r\n { id: \"LS\", n: \"Louisiana\", d: \"M607.96706,459.16125L604.68245,455.99511L605.69236,450.49488L605.03101,449.6018L595.76934,450.60836L570.74102,451.06728L570.05683,448.6726L570.96964,440.2169L574.28552,434.27105L579.31688,425.58003L578.74281,423.18201L579.9994,422.50116L580.45833,420.54867L578.17209,418.49274L578.0603,416.55029L576.22964,412.20478L576.08259,405.86618L520.6088,406.79015L520.63737,416.36372L521.32324,425.73725L522.00911,429.62383L524.52396,433.73904L525.43845,438.76875L529.78228,444.25568L530.0109,447.4564L530.69677,448.14227L530.0109,456.60131L527.03881,461.631L528.63917,463.68861L527.95329,466.20345L527.26743,473.51938L525.89569,476.72009L526.01815,480.33654L530.70463,478.81639L542.81798,479.0234L553.16425,482.57993L559.63067,483.71156L563.34886,482.25661L566.58207,483.38824L569.81528,484.3582L570.62358,482.25661L567.39037,481.12499L564.8038,481.60997L562.05557,479.99337C562.05557,479.99337,562.21724,478.70008,562.86388,478.53842C563.51052,478.37676,565.93543,477.56846,565.93543,477.56846L567.71369,479.0234L569.49196,478.05344L572.72517,478.70008L574.18011,481.12499L574.50343,483.38824L579.02992,483.71156L580.80819,485.48982L579.99989,487.10643L578.7066,487.91473L580.32321,489.53133L588.72955,493.08786L592.28608,491.79458L593.25605,489.36967L595.84261,488.72303L597.62088,487.26809L598.91416,488.23805L599.72246,491.14794L597.45922,491.95624L598.10586,492.60288L601.50073,491.3096L603.76398,487.91473L604.57228,487.42975L602.47069,487.10643L603.27899,485.48982L603.11733,484.03488L605.21892,483.5499L606.35054,482.25661L606.99718,483.06491C606.99718,483.06491,606.83552,486.13646,607.64383,486.13646C608.45213,486.13646,611.847,486.78311,611.847,486.78311L615.88851,488.72303L616.85847,490.17798L619.76836,490.17798L620.89999,491.14794L623.16323,488.07639L623.16323,486.62144L621.86995,486.62144L618.47508,483.87322L612.6553,483.06491L609.42209,480.80167L610.55372,478.05344L612.81696,478.37676L612.97862,477.73012L611.20036,476.76016L611.20036,476.27517L614.43357,476.27517L616.21183,473.20363L614.91855,471.2637L614.59523,468.51547L613.14028,468.67713L611.20036,470.77872L610.55372,473.36529L607.48217,472.71864L606.5122,470.94038L608.29047,469.00045L610.1938,465.55485L609.1327,463.14258L607.96706,459.16125Z\" },\r\n { id: \"MS\", n: \"Mississippi\", d: \"M631.55882,459.34458L631.30456,460.60073L626.13142,460.60073L624.67648,459.79243L622.57489,459.46911L615.78515,461.40903L614.00689,460.60073L611.42032,464.8039L610.31778,465.58192L609.19395,463.09394L608.05083,459.20735L604.6215,456.00664L605.7646,450.46209L605.07874,449.5476L603.24976,449.77622L595.33184,450.64959L570.78534,451.02296L570.0156,448.7976L570.88897,440.4208L574.00581,434.74799L579.23288,425.60309L578.78714,423.17049L580.024,422.51424L580.45987,420.59477L578.14239,418.51579L578.02727,416.37431L576.19155,412.25322L576.08255,406.29045L577.41008,403.80948L577.18678,400.39373L575.41729,397.31114L576.94371,395.82893L575.3731,393.32939L575.83035,391.67718L577.40775,385.15081L579.8937,383.11446L579.25203,380.74749L582.91,375.44496L585.74186,374.08854L585.52089,372.41338L585.23276,370.73228L588.10882,365.16461L590.45454,363.9331L590.60617,363.04009L627.94965,359.15892L628.13451,365.44225L628.29617,382.09331L627.48787,413.13216L627.32621,427.19665L630.07445,445.94929L631.55882,459.34458Z\" },\r\n { id: \"IA\", n: \"Iowa\", d: \"M569.19154,199.5843L569.45592,202.3705L571.67964,202.94776L572.63358,204.17309L573.13359,206.02845L576.92643,209.3871L577.6123,211.7786L576.93796,215.20307L575.35565,218.43505L574.55631,221.17684L572.38356,222.77888L570.66805,223.35128L565.08903,225.21148L563.69757,229.06017L564.42621,230.43191L566.26672,232.1145L565.98379,236.15079L564.22064,237.68865L563.44923,239.33179L563.57645,242.10811L561.69014,242.56535L560.06469,243.67026L559.7859,245.02289L560.06469,247.13781L558.51367,248.25388L556.04314,245.1206L554.78057,242.67073L489.04475,245.18558L488.12672,245.35102L486.07432,240.83506L485.8457,234.20499L484.24534,230.08978L483.55948,224.83147L481.27325,221.1735L480.35877,216.37243L477.61529,208.82788L476.47218,203.45524L475.10044,201.28333L473.50008,198.53987L475.45406,193.69604L476.8258,187.98047L474.08233,185.92286L473.62508,183.17939L474.53958,180.66454L476.25425,180.66454L558.90825,179.39506L559.74251,183.57818L561.99469,185.13915L562.2514,186.56224L560.22186,189.95155L560.41227,193.15707L562.92713,196.95527L565.45392,198.24889L568.5332,198.75194L569.19154,199.5843Z\" },\r\n { id: \"MN\", n: \"Minnesota\", d: \"M475.23781,128.82439L474.78056,120.36535L472.95158,113.04943L471.1226,99.560705L470.66535,89.729927L468.83637,86.300584L467.23601,81.270889L467.23601,70.982869L467.92187,67.096282L466.10094,61.644615L496.23336,61.679886L496.55668,53.435202L497.20332,53.273541L499.46657,53.758523L501.40649,54.566825L502.21479,60.063281L503.66974,66.206379L505.28634,67.822984L510.13616,67.822984L510.45948,69.277928L516.76424,69.601249L516.76424,71.702835L521.61405,71.702835L521.93737,70.409551L523.06899,69.277928L525.33224,68.631286L526.62552,69.601249L529.53541,69.601249L533.41526,72.187816L538.75006,74.612723L541.17497,75.097705L541.65995,74.127742L543.11489,73.64276L543.59987,76.552649L546.18644,77.845933L546.67142,77.360951L547.96471,77.522612L547.96471,79.624198L550.55127,80.594161L553.62282,80.594161L555.23943,79.785858L558.47264,76.552649L561.0592,76.067668L561.86751,77.845933L562.35249,79.139216L563.32245,79.139216L564.29241,78.330914L573.18374,78.007593L574.962,81.079142L575.60865,81.079142L576.32226,79.994863L580.76217,79.624198L580.15007,81.903657L576.21135,83.740782L566.96557,87.80191L562.19083,89.808807L559.11928,92.395375L556.69437,95.951905L554.43113,99.831756L552.65286,100.64006L548.12637,105.65153L546.83308,105.81319L542.5053,108.57031L540.04242,111.77542L539.8138,114.96681L539.90816,123.01016L538.53212,124.69891L533.45058,128.45888L531.2205,134.44129L534.09225,136.675L534.77214,139.90198L532.9169,143.14091L533.08769,146.88893L533.45655,153.61933L536.4848,156.62132L539.8138,156.62132L541.70491,159.75392L545.08408,160.25719L548.94324,165.92866L556.03053,170.04541L558.17368,172.92053L558.84483,179.36004L477.63333,180.50483L477.29541,144.82798L476.83817,141.85589L472.72296,138.42655L471.57984,136.59757L471.57984,134.9972L473.63744,133.39685L475.00918,132.02511L475.23781,128.82439Z\" },\r\n { id: \"OK\", n: \"Oklahoma\", d: \"M380.34313,320.82146L363.65895,319.54815L362.77873,330.50058L383.24411,331.65746L415.29966,332.96106L412.96506,357.37971L412.50781,375.21228L412.73644,376.81264L417.08027,380.4706L419.13787,381.61371L419.82374,381.38509L420.50961,379.32748L421.88135,381.15647L423.93895,381.15647L423.93895,379.78473L426.68242,381.15647L426.22518,385.04305L430.34039,385.27167L432.85523,386.41479L436.97044,387.10066L439.48529,388.92964L441.77152,386.87204L445.20086,387.5579L447.71571,390.98724L448.63019,390.98724L448.63019,393.27347L450.91642,393.95933L453.20264,391.67311L455.03163,392.35897L457.54647,392.35897L458.46097,394.87383L464.76204,396.9528L466.13378,396.26694L467.96276,392.15173L469.10587,392.15173L470.24899,394.20933L474.3642,394.8952L478.02215,396.26694L480.99425,397.18143L482.82324,396.26694L483.5091,393.75209L487.85293,393.75209L489.91053,394.66658L492.654,392.60897L493.79712,392.60897L494.48299,394.20933L498.59819,394.20933L500.19855,392.15173L502.02754,392.60897L504.08514,395.12383L507.28585,396.9528L510.48658,397.8673L512.42766,398.98623L512.03856,361.76922L510.66681,350.79524L510.50635,341.9229L509.06646,335.38517L508.28826,328.20553L508.22012,324.38931L496.08328,324.70805L449.67324,324.25081L404.63433,322.19319L380.34313,320.82146Z\" },\r\n { id: \"TX\", n: \"Texas\", d: \"M361.46423,330.57358L384.15502,331.65952L415.24771,332.80264L412.9131,356.25844L412.61634,374.41196L412.68448,376.49375L417.02831,380.31218L419.01496,381.75934L420.19917,381.19965L420.57254,379.38193L421.71286,381.18555L423.8245,381.22948L423.82183,379.78239L425.49177,380.74966L426.63047,381.15853L426.2712,385.12618L430.35939,385.21969L433.28471,386.41686L437.23945,386.94224L439.62083,389.02122L441.74493,386.94505L445.46987,387.55996L447.69078,390.7849L448.76574,391.10586L448.60527,393.07113L450.81888,393.86342L453.14903,391.80862L455.28205,392.42354L457.51143,392.45902L458.4445,394.89446L464.77259,397.00891L466.36564,396.24198L467.85511,392.06427L468.19583,392.06427L469.10232,392.14591L470.33137,394.21454L474.26125,394.87982L477.59825,396.0027L481.02388,397.19867L482.86446,396.22367L483.57822,393.70883L488.03144,393.75303L489.84018,394.68381L492.63943,392.5773L493.74307,392.6215L494.59411,394.22657L498.64883,394.22657L500.1677,392.19795L502.03507,392.60519L503.9811,395.00847L507.50167,397.05262L510.36043,397.86243L511.87405,398.66227L514.32075,400.65959L517.36379,399.3318L520.05488,400.47068L520.61869,406.57662L520.57893,416.27879L521.26479,425.8128L521.96697,429.41791L524.6423,433.83777L525.54048,438.7885L529.75643,444.32652L529.95245,447.47146L530.69882,448.2573L529.96875,456.63737L527.09665,461.64387L528.62962,463.79674L527.99954,466.13482L527.32997,473.53914L525.82565,476.87714L526.12053,480.37949L520.45565,481.96467L510.59436,486.49117L509.6244,488.43109L507.03783,490.37102L504.93625,491.82596L503.64296,492.63426L497.98485,497.96906L495.23662,500.07065L489.90182,503.30385L484.24371,505.72876L477.93895,509.12363L476.16069,510.57858L470.34091,514.13511L466.94604,514.78175L463.06619,520.2782L459.02468,520.60153L458.05471,522.54145L460.31796,524.48138L458.86301,529.97783L457.56973,534.50433L456.43811,538.38418L455.62981,542.91067L456.43811,545.33558L458.21637,552.28698L459.18634,558.43007L460.9646,561.1783L459.99464,562.63325L456.92309,564.57317L451.26497,560.69332L445.76852,559.5617L444.47523,560.04668L441.24202,559.40004L437.03885,556.32849L431.86572,555.19687L424.26767,551.802L422.16609,547.92214L420.8728,541.45573L417.6396,539.5158L416.99295,537.25255L417.6396,536.60591L417.96292,533.21104L416.66963,532.5644L416.02299,531.59444L417.31627,527.2296L415.69967,524.96636L412.46646,523.67307L409.07159,519.30824L405.51506,512.68016L401.31189,510.09359L401.47355,508.15367L396.13875,495.86747L395.33045,491.6643L393.55219,489.72438L393.39053,488.26943L387.40909,482.93464L384.82252,479.86309L384.82252,478.73146L382.23595,476.62988L375.44621,475.49825L368.00983,474.85161L364.93828,472.58837L360.41179,474.36663L356.85526,475.82158L354.59201,479.05478L353.62205,482.77298L349.25722,488.91607L346.83231,491.34098L344.24574,490.37102L342.46748,489.23939L340.52755,488.59275L336.6477,486.32951L336.6477,485.68286L334.86944,483.74294L329.6963,481.64135L322.25992,473.88165L319.99667,469.1935L319.99667,461.11047L316.76346,454.64405L316.27848,451.89583L314.66188,450.92586L313.53025,448.82428L308.51878,446.72269L307.2255,445.10609L300.11243,437.18472L298.81915,433.95151L294.13099,431.68826L292.67604,427.32339L290.08945,424.41352L288.14954,423.92856L287.50031,419.25092L295.50218,419.93681L324.53717,422.68026L353.57225,424.28062L355.80578,404.8188L359.69233,349.26378L361.29272,330.51646L362.66446,330.54504M461.69381,560.20778L461.128,553.0947L458.37976,545.90078L457.81394,538.86853L459.34972,530.62382L462.66378,523.75323L466.13948,518.33758L469.29188,514.78103L469.93852,515.02353L465.16952,521.65163L460.80468,528.19891L458.78391,534.827L458.46059,540.00016L459.34972,546.14328L461.9363,553.3372L462.42128,558.51034L462.58294,559.9653L461.69381,560.20778Z\" },\r\n { id: \"NM\", n: \"New Mexico\", d: \"M288.15255,424.01315L287.37714,419.26505L296.02092,419.79045L326.19268,422.73635L353.46084,424.42624L355.67611,405.71877L359.53347,349.8428L361.27115,330.45357L362.84285,330.58213L363.66825,319.41874L259.6638,308.78279L242.16645,429.2176L257.62712,431.20675L258.9204,421.1838L288.15255,424.01315Z\" },\r\n { id: \"KS\", n: \"Kansas\", d: \"M507.88059,324.38028L495.26233,324.58471L449.17324,324.12748L404.61576,322.06985L379.98602,320.81244L383.87981,256.21747L405.96327,256.89264L446.2524,257.73404L490.55364,258.72162L495.64927,258.72162L497.83367,260.88402L499.85133,260.86264L501.49163,261.87511L501.42913,264.88434L499.60015,266.60971L499.2679,268.84188L501.11098,272.24421L504.06334,275.43927L506.39069,277.05373L507.69146,288.29455L507.88059,324.38028Z\" },\r\n { id: \"NE\", n: \"Nebraska\", d: \"M486.09787,240.70058L489.32848,247.72049L489.19985,250.02301L492.65907,255.51689L495.37836,258.66923L490.32888,258.66923L446.84632,257.73055L406.05946,256.84025L383.80724,256.05638L384.88001,234.72853L352.56177,231.80828L356.9056,187.79842L372.45193,188.82723L392.57072,189.97033L410.40329,191.11345L434.18005,192.25656L444.92531,191.79932L446.98291,194.08554L451.78399,197.05764L452.9271,197.97213L457.27093,196.60039L461.15752,196.14315L463.90099,195.91452L465.72997,197.28626L469.7874,198.88662L472.75949,200.48698L473.21674,202.08734L474.13123,204.14494L475.96021,204.14494L476.75819,204.19111L477.65242,208.87293L480.57268,217.34085L481.14521,221.09756L483.6687,224.87181L484.23829,229.98595L485.84553,234.22632L486.09787,240.70058Z\" },\r\n { id: \"SD\", n: \"South Dakota\", d: \"M476.44687,204.02465L476.39942,203.44378L473.50371,198.59834L475.36394,193.88623L476.85667,187.99969L474.0748,185.91998L473.68964,183.17652L474.48204,180.62217L477.67055,180.63738L477.54747,175.63124L477.21417,145.45699L476.59644,141.68941L472.52412,138.35848L471.54149,136.68152L471.47899,135.0727L473.50111,133.5433L475.03333,131.87763L475.27829,129.22084L417.0212,127.62049L362.22199,124.1714L356.89672,187.86259L371.48699,188.76639L391.43684,189.972L409.17989,190.90059L432.95665,192.20417L444.93935,191.77953L446.90565,194.02471L452.10029,197.27806L452.86418,198.00081L457.40562,196.548L463.94616,195.93309L465.62146,197.26936L469.82597,198.86549L472.77103,200.50132L473.17001,201.98513L474.2095,204.22601L476.44687,204.02465Z\" },\r\n { id: \"ND\", n: \"North Dakota\", d: \"M475.30528,128.91846L474.69037,120.48479L473.01342,113.66887L471.12193,100.64465L470.66469,89.657624L468.92523,86.580482L467.16862,81.386086L467.19987,70.941816L467.82323,67.117729L465.98913,61.649968L437.34688,61.085941L418.75593,60.439299L392.24361,59.146015L369.29727,57.012146L362.30403,124.18898L417.23627,127.53263L475.30528,128.91846Z\" },\r\n { id: \"WY\", n: \"Wyoming\", d: \"M360.37668,143.27587L253.63408,129.81881L239.5506,218.27684L352.81521,231.86233L360.37668,143.27587Z\" },\r\n { id: \"MT\", n: \"Montana\", d: \"M369.20952,56.969133L338.5352,54.1613L309.27465,50.60477L280.01411,46.563258L247.68201,41.228463L229.25272,37.833593L196.52907,30.900857L192.05005,52.248389L195.47939,59.79293L194.10765,64.365382L195.93663,68.937833L199.13736,70.309572L203.75818,81.079025L206.45328,84.255548L206.91052,85.398666L210.33986,86.541784L210.79711,88.599377L203.70981,106.20333L203.70981,108.71818L206.22466,111.91889L207.13914,111.91889L211.94021,108.9468L212.62609,107.80368L214.22645,108.48955L213.99782,113.74787L216.7413,126.32212L219.71339,128.83696L220.62787,129.52283L222.45686,131.80905L221.99961,135.2384L222.68548,138.66773L223.8286,139.58223L226.11482,137.296L228.85829,137.296L232.05901,138.89636L234.57386,137.98187L238.68907,137.98187L242.34702,139.58223L245.0905,139.12498L245.54774,136.15288L248.51983,135.46702L249.89157,136.83876L250.34882,140.03947L251.77469,140.87411L253.66164,129.83937L360.40731,143.26829L369.20952,56.969133Z\" },\r\n { id: \"CO\", n: \"Colarado\", d: \"M380.03242,320.96457L384.93566,234.63961L271.5471,221.99565L259.33328,309.93481L380.03242,320.96457Z\" },\r\n { id: \"ID\", n: \"Idaho\", d: \"M148.47881,176.48395L157.24968,141.26323L158.62142,137.03371L161.13626,131.08953L159.87884,128.8033L157.36398,128.91761L156.56381,127.88881L157.02106,126.7457L157.36398,123.65929L161.82213,118.17234L163.65111,117.7151L164.79422,116.57199L165.36578,113.37127L166.28026,112.68541L170.16685,106.85553L174.05344,102.5117L174.28206,98.739432L170.85272,96.110269L169.31717,91.709286L182.94208,28.367595L196.45967,30.895706L192.05159,52.278719L195.61194,59.764071L194.03083,64.424911L196.00068,69.066144L199.1389,70.321335L202.97424,79.877923L206.48693,84.315077L206.99418,85.458195L210.33513,86.601313L210.70398,88.698388L203.73297,106.07448L203.56779,108.64041L206.19891,111.96211L207.10399,111.91321L212.01528,108.88761L212.6927,107.79264L214.25501,108.4515L213.97657,113.80522L216.71582,126.38793L220.63365,129.56584L222.31483,131.73129L221.59822,135.81515L222.66444,138.62256L223.72607,139.71384L226.20536,137.36242L229.05352,137.41131L231.97277,138.74651L234.75279,138.06458L238.54705,137.9041L242.52595,139.50446L245.26943,139.2077L245.76617,136.17039L248.69876,135.40556L249.95893,136.92147L250.39986,139.86643L251.8242,141.07964L243.4382,194.6883C243.4382,194.6883,155.47221,177.98769,148.47881,176.48395Z\" },\r\n { id: \"UT\", n: \"Utah\", d: \"M259.49836,310.10509L175.74933,298.23284L196.33694,185.69149L243.11725,194.43663L241.63245,205.06705L239.32083,218.23971L247.12852,219.16808L263.53504,220.97287L271.74601,221.82851L259.49836,310.10509Z\" },\r\n { id: \"AZ\", n: \"Arizona\", d: \"M144.9112,382.62909L142.28419,384.78742L141.96087,386.24237L142.44585,387.21233L161.36012,397.88192L173.48466,405.47996L188.19576,414.04797L205.00845,424.07092L217.29465,426.49583L242.24581,429.20074L259.50142,310.07367L175.76579,298.15642L172.6734,314.56888L171.06711,314.58419L169.35244,317.21335L166.83759,317.09903L165.58017,314.35556L162.8367,314.01263L161.9222,312.86952L161.00772,312.86952L160.09322,313.44108L158.14993,314.46988L158.03563,321.44286L157.80699,323.15753L157.23545,335.73177L155.7494,337.90368L155.17784,341.21871L157.92131,346.1341L159.17873,351.96398L159.97892,352.99278L161.00772,353.56434L160.8934,355.85056L159.29305,357.22229L155.86371,358.93696L153.92042,360.88026L152.43437,364.53821L151.86281,369.4536L149.00503,372.19707L146.94743,372.88294L147.08312,373.71282L146.62587,375.42749L147.08312,376.22767L150.74108,376.79921L150.16952,379.54269L148.68347,381.7146L144.9112,382.62909Z\" },\r\n { id: \"NV\", n: \"Nevada\", d: \"M196.39273,185.57552L172.75382,314.39827L170.92158,314.74742L169.34882,317.1536L166.97588,317.16429L165.50393,314.42082L162.88546,314.0424L162.11454,312.93477L161.07671,312.88073L158.29834,314.52502L157.98808,321.3105L157.62599,327.08767L157.27742,335.68048L155.83032,337.76964L153.3914,336.69561L84.311514,232.49442L103.30063,164.90951L196.39273,185.57552Z\" },\r\n { id: \"OR\", n: \"Oregon\", d: \"M148.72184,175.53153L157.57154,140.73002L158.62233,136.5005L160.9767,130.87727L160.36119,129.71439L157.84633,129.66821L156.56473,127.99751L157.02197,126.53344L157.52538,123.28656L161.98353,117.79961L163.81251,116.70046L164.95562,115.55735L166.44166,111.99172L170.48872,106.32232L174.05435,102.45992L174.28297,99.008606L171.01411,96.539924L169.2307,91.897299L156.56693,88.285329L141.47784,84.741679L126.04582,84.855985L125.58858,83.484256L120.10163,85.54186L115.64349,84.970301L113.24295,83.36994L111.98553,84.055815L107.29877,83.827183L105.5841,82.455454L100.32578,80.39785L99.525598,80.512166L95.181768,79.02611L93.238477,80.855093L87.065665,80.512166L81.121482,76.396957L81.807347,75.596777L82.035968,67.823604L79.749743,63.937027L75.634535,63.365468L74.94867,60.850621L72.594738,60.384056L66.796213,62.44284L64.532966,68.909258L61.299757,78.932207L58.066547,85.398626L53.055073,99.463087L46.588654,113.04256L38.505631,125.65208L36.565705,128.56197L35.757403,137.12997L36.143498,149.2102L148.72184,175.53153Z\" },\r\n { id: \"WA\", n: \"Washington\", d: \"M102.07324,7.6117734L106.43807,9.0667177L116.1377,11.814946L124.7057,13.754871L144.7516,19.412988L167.70739,25.071104L182.93051,28.278277L169.29815,91.864088L156.85315,88.33877L141.34514,84.768091L126.11585,84.801329L125.66028,83.45663L120.06106,85.635923L115.46563,84.899179L113.31866,83.315125L112.00545,83.973101L107.26979,83.832858L105.57143,82.483225L100.30839,80.370922L99.573419,80.51784L95.184297,78.993392L93.290999,80.810771L87.025093,80.512038L81.099395,76.386336L81.878352,75.453573L81.999575,67.776121L79.717576,63.93642L75.602368,63.32938L74.924958,60.818764L72.649446,60.361832L69.094498,61.592408L66.831251,58.373161L67.154572,55.463272L69.9028,55.139951L71.519405,51.09844L68.932837,49.966816L69.094498,46.248625L73.459331,45.601984L70.711103,42.853756L69.256158,35.740695L69.9028,32.830807L69.9028,24.909444L68.124535,21.676234L70.387782,12.299927L72.489368,12.784908L74.914275,15.694797L77.662503,18.281364L80.895712,20.22129L85.422205,22.322876L88.493756,22.969518L91.403645,24.424462L94.798518,25.394425L97.061764,25.232765L97.061764,22.807857L98.355048,21.676234L100.45663,20.38295L100.77996,21.514574L101.10328,23.292839L98.840029,23.77782L98.516708,25.879406L100.29497,27.334351L101.4266,29.759258L102.07324,31.699183L103.52818,31.537523L103.68984,30.244239L102.71988,28.950955L102.2349,25.717746L103.0432,23.939481L102.39656,22.484537L102.39656,20.22129L104.17483,16.66476L103.0432,14.078192L100.61829,9.2283781L100.94162,8.4200758L102.07324,7.6117734ZM92.616548,13.590738L94.637312,13.429078L95.122294,14.803197L96.658073,13.186582L99.002155,13.186582L99.810458,14.722361L98.274678,16.419801L98.92133,17.228114L98.193853,19.248875L96.819734,19.653021C96.819734,19.653021,95.930596,19.733857,95.930596,19.410536C95.930596,19.087215,97.385551,16.823958,97.385551,16.823958L95.688111,16.258141L95.36479,17.713095L94.637312,18.359737L93.10153,16.09648L92.616548,13.590738Z\" },\r\n { id: \"CA\", n: \"California\", d: \"M144.69443,382.19813L148.63451,381.70951L150.12055,379.69807L150.66509,376.75698L147.11357,376.16686L146.5994,375.49864L147.0769,373.46633L146.91762,372.87666L148.84019,372.25707L151.88297,369.42439L152.46453,364.42929L153.84443,361.02718L155.78772,358.86092L159.30659,357.27125L160.96098,355.66642L161.02971,353.55758L160.03638,352.97757L159.01323,351.90484L157.85801,346.05639L155.17281,341.2263L155.73862,337.7213L153.31904,336.69199L84.257718,232.51359L103.15983,164.9121L36.079967,149.21414L34.573071,153.94738L34.41141,161.38376L29.238275,173.18497L26.166727,175.77154L25.843406,176.90316L24.06514,177.71147L22.610196,181.91464L21.801894,185.14785L24.550122,189.35102L26.166727,193.55419L27.29835,197.11072L26.975029,203.57714L25.196764,206.64869L24.550122,212.46847L23.580159,216.18666L25.358424,220.06651L28.106652,224.593L30.369899,229.44282L31.663182,233.48433L31.339862,236.71754L31.016541,237.20252L31.016541,239.3041L36.674657,245.60886L36.189676,248.03377L35.543034,250.29702L34.896392,252.23694L35.058052,260.48163L37.159638,264.19982L39.099564,266.78638L41.847792,267.27137L42.817755,270.01959L41.686132,273.57612L39.584545,275.19273L38.452922,275.19273L37.64462,279.07258L38.129601,281.98247L41.362811,286.3473L42.979415,291.6821L44.434359,296.37025L45.727643,299.4418L49.122513,305.26158L50.577457,307.84814L51.062439,310.75803L52.679043,311.72799L52.679043,314.1529L51.870741,316.09283L50.092476,323.20589L49.607494,325.14581L52.032402,327.89404L56.235574,328.37902L60.762067,330.15729L64.641918,332.25887L67.551807,332.25887L70.461695,335.33042L73.048262,340.18024L74.179886,342.44348L78.059737,344.54507L82.909551,345.35337L84.364495,347.45496L85.011137,350.68817L83.556193,351.33481L83.879514,352.30477L87.112725,353.11307L89.860953,353.27474L93.020842,351.58789L96.900696,355.79106L97.708998,358.05431L100.29557,362.25748L100.61889,365.49069L100.61889,374.867L101.10387,376.64526L111.12682,378.10021L130.84939,380.84843L144.69443,382.19813ZM56.559218,338.48145L57.852506,340.01723L57.690846,341.31052L54.457625,341.22969L53.891811,340.01723L53.245167,338.56228L56.559218,338.48145ZM58.49915,338.48145L59.711608,337.83481L63.268151,339.9364L66.339711,341.14885L65.450575,341.79551L60.924066,341.55301L59.307456,339.9364L58.49915,338.48145ZM79.191764,358.28493L80.970029,360.62901L81.778342,361.59898L83.314121,362.16479L83.879928,360.70984L82.909965,358.93157L80.242562,356.91081L79.191764,357.07247L79.191764,358.28493ZM77.736809,366.93379L79.515085,370.08618L80.727543,372.02612L79.272589,372.2686L77.979305,371.05615C77.979305,371.05615,77.251828,369.6012,77.251828,369.19704C77.251828,368.7929,77.251828,367.01462,77.251828,367.01462L77.736809,366.93379Z\" }\r\n ];\r\n\r\n loadChart(data) {\r\n var tooltip = d3.select(\"body\")\r\n .append(\"div\")\r\n .attr(\"id\", \"tooltip\")\r\n .style(\"position\", \"absolute\")\r\n .style(\"z-index\", \"10\")\r\n .style(\"display\", \"none\");\r\n // d3.select(self.frameElement).style(\"height\", \"600px\");\r\n d3.select(this.chartElement.nativeElement).append(\"svg\").attr('height', \"600px\").attr('width', '960px').selectAll(\".state\")\r\n .data(this.uStatePaths).enter().append(\"path\").attr(\"class\", \"state\").attr(\"d\", function (d) { return d.d; })\r\n .style(\"fill\", function (d) { return d3.interpolate(\"#ffffcc\", \"#800026\")(Math.round(100 * Math.random()) / 100) })\r\n .on(\"mouseover\", (d) => { \r\n d3.select(\"#tooltip\").transition().duration(200).style(\"display\", \"block\").style(\"opacity\", .9);\r\n d3.select(\"#tooltip\").html(this.tooltipHtml(d.n, this.filteredData))\r\n .style(\"left\", (d3.event.pageX) + \"px\")\r\n .style(\"top\", (d3.event.pageY - 28) + \"px\");\r\n })\r\n .on(\"mouseout\", () => {\r\n d3.select(\"#tooltip\").transition().duration(500).style(\"display\", \"none\").style(\"opacity\", 0);\r\n })\r\n .on(\"click\", (d) => {\r\n if(this.preferences && this.preferences.length > 0){\r\n this.openDialog(d.n)\r\n } \r\n });\r\n }\r\n\r\n tooltipHtml(stateName, data) {\r\n this.preferences = _.filter(data, { state: stateName });\r\n let toolTipContent = \"

\" + stateName + \"

\" +\r\n \"\" +\r\n ((this.preferences.length > 0) ? \"
Total Customers: \" + this.preferences.length + \"
(Click to see the details)
\" :\r\n \"\");\r\n return toolTipContent;\r\n }\r\n\r\n openDialog(stateName) {\r\n let data = {\r\n \"state\": stateName,\r\n \"preferences\": this.preferences\r\n }\r\n\r\n const dialogRef = this.dialog.open(USChartPopUpComponent, {\r\n data: data\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n\r\n });\r\n }\r\n\r\n}","module.exports = \".us-map-chart-path {\\r\\n fill: none;\\r\\n stroke: #333;\\r\\n stroke-width: .5px;\\r\\n}\\r\\n\\r\\n.land-boundary {\\r\\n stroke-width: 1px;\\r\\n}\\r\\n\\r\\n.county-boundary {\\r\\n stroke: #ddd;\\r\\n}\\r\\n\\r\\n.site {\\r\\n\\tstroke-width: .5px;\\r\\n stroke: #333;\\r\\n fill: rgb(26, 89, 161);\\r\\n}\\r\\n\\r\\n.site-red {\\r\\n stroke-width: .5px;\\r\\n stroke: #333;\\r\\n fill: rgb(235, 68, 96);\\r\\n}\\r\\n\\r\\n#slider3 {\\r\\n margin: 20px 0 10px 20px;\\r\\n width: 900px;\\r\\n}\\r\\n\\r\\n/* Slider CSS */\\r\\n\\r\\n.d3-slider {\\r\\n position: relative;\\r\\n font-family: Verdana,Arial,sans-serif;\\r\\n font-size: 1.1em;\\r\\n border: 1px solid #aaaaaa;\\r\\n z-index: 2;\\r\\n margin: 20px;\\r\\n margin-left: 11px;\\r\\n}\\r\\n\\r\\n.d3-slider-horizontal {\\r\\n height: .8em;\\r\\n width: 890px;\\r\\n}\\r\\n\\r\\n/* .d3-slider-horizontal::after{\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n background: rgba(255, 255, 255, 0.1);\\r\\n pointer-events: none; \\r\\n z-index: 10;\\r\\n} */\\r\\n\\r\\n.d3-slider-range {\\r\\nbackground:#2980b9;\\r\\nleft:0px;\\r\\nright:0px;\\r\\nheight: 0.8em;\\r\\nposition: absolute;\\r\\n}\\r\\n\\r\\n.d3-slider-range-vertical {\\r\\nbackground:#2980b9;\\r\\nleft:0px;\\r\\nright:0px;\\r\\nposition: absolute;\\r\\ntop:0;\\r\\n}\\r\\n\\r\\n.d3-slider-vertical {\\r\\n width: .8em;\\r\\n height: 100px;\\r\\n}\\r\\n\\r\\n.d3-slider-handle {\\r\\n position: absolute;\\r\\n /* width: 1.2em; */\\r\\n height: 1.2em;\\r\\n border: 2px solid #ff6a71;\\r\\n border-radius: 0;\\r\\n background: #fff;\\r\\n z-index: 3;\\r\\n}\\r\\n\\r\\n.d3-slider-handle:hover {\\r\\n border: 2px solid #ff6a71;\\r\\n}\\r\\n\\r\\n.d3-slider-horizontal .d3-slider-handle {\\r\\n top: -.3em;\\r\\n margin-left: -1px;\\r\\n}\\r\\n\\r\\n.d3-slider-axis {\\r\\n position: relative;\\r\\n z-index: 1; \\r\\n}\\r\\n\\r\\n.d3-slider-axis-bottom {\\r\\n top: 20px;\\r\\n /* margin-left: -90px!important; */\\r\\n}\\r\\n\\r\\n.d3-slider-axis-right {\\r\\n left: .8em;\\r\\n}\\r\\n\\r\\n.d3-slider-axis path {\\r\\n stroke-width: 0;\\r\\n fill: none;\\r\\n}\\r\\n\\r\\n.d3-slider-axis line {\\r\\n fill: none;\\r\\n stroke: #aaa;\\r\\n shape-rendering: crispEdges;\\r\\n}\\r\\n\\r\\n.d3-slider-axis text {\\r\\n font-size: 11px;\\r\\n}\\r\\n\\r\\n.d3-slider-vertical .d3-slider-handle {\\r\\n left: -.25em;\\r\\n margin-left: 0;\\r\\n margin-bottom: -.6em; \\r\\n}\\r\\n\\r\\n.us-chart-action {\\r\\n width: 34px;\\r\\n height: 34px;\\r\\n text-indent: -999em;\\r\\n overflow: hidden;\\r\\n display: block;\\r\\n padding: 0;\\r\\n transition: none!important;\\r\\n position: relative;\\r\\n top: 10px;\\r\\n}\\r\\n\\r\\n.us-chart-action[name*=\\\"pause\\\"]{\\r\\n background:#ff3d4b url('pause.png') no-repeat center center;\\r\\n background-size: 22px 22px;\\r\\n}\\r\\n\\r\\n.us-chart-action[name*=\\\"play\\\"]{\\r\\n background:#ff3d4b url('play.png') no-repeat center center;\\r\\n background-size: 14px 22px;\\r\\n}\\r\\n\\r\\n.us-chart-wrapper{\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.us-chart-slider-wrapper{\\r\\n padding: 10px 0 40px;\\r\\n}\\r\\n\\r\\n.us-chart-table .table{\\r\\n font-size: 10px;\\r\\n max-width: 200px;\\r\\n}\\r\\n\\r\\n.us-summery-table {\\r\\n display: flex;\\r\\n align-items: flex-start;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.us-summery-table .table{\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.us-summery-table .legends-wrapper .chart-legends{\\r\\n padding: 20px 0!important;\\r\\n}\\r\\n\\r\\n.us-summery-table .legends-wrapper .chart-legends .cols{\\r\\n font-size: 14px;\\r\\n padding-right: 16px;\\r\\n\\r\\n}\\r\\n\\r\\n.us-summery-table .legends-wrapper .chart-legends .cols span{\\r\\n height: 16px;\\r\\n width: 16px;\\r\\n margin-right: 6px;\\r\\n}\\r\\n\\r\\n@media (min-width: 1400px){\\r\\n .us-summery-table .table{\\r\\n font-size: 14px;\\r\\n max-width:330px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 1600px){\\r\\n .us-chart-wrapper {\\r\\n flex: 0 0 60%;\\r\\n max-width: 60%;\\r\\n justify-content: flex-end;\\r\\n }\\r\\n .us-summery-table{\\r\\n flex: 0 0 40%;\\r\\n max-width: 40%;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy91cy1zbGlkZXItY2hhcnQvdXMtc2xpZGVyLWNoYXJ0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFXO0VBQ1gsYUFBYTtFQUNiLG1CQUFtQjtDQUNwQjs7QUFFRDtFQUNFLGtCQUFrQjtDQUNuQjs7QUFFRDtFQUNFLGFBQWE7Q0FDZDs7QUFFRDtDQUNDLG1CQUFtQjtFQUNsQixhQUFhO0VBQ2IsdUJBQXVCO0NBQ3hCOztBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLGFBQWE7RUFDYix1QkFBdUI7Q0FDeEI7O0FBRUQ7RUFDRSx5QkFBeUI7RUFDekIsYUFBYTtDQUNkOztBQUdELGdCQUFnQjs7QUFFaEI7RUFDRSxtQkFBbUI7RUFDbkIsc0NBQXNDO0VBQ3RDLGlCQUFpQjtFQUNqQiwwQkFBMEI7RUFDMUIsV0FBVztFQUNYLGFBQWE7RUFDYixrQkFBa0I7Q0FDbkI7O0FBRUQ7RUFDRSxhQUFhO0VBQ2IsYUFBYTtDQUNkOztBQUNEOzs7Ozs7Ozs7O0tBVUs7O0FBRUw7QUFDQSxtQkFBbUI7QUFDbkIsU0FBUztBQUNULFVBQVU7QUFDVixjQUFjO0FBQ2QsbUJBQW1CO0NBQ2xCOztBQUVEO0FBQ0EsbUJBQW1CO0FBQ25CLFNBQVM7QUFDVCxVQUFVO0FBQ1YsbUJBQW1CO0FBQ25CLE1BQU07Q0FDTDs7QUFFRDtFQUNFLFlBQVk7RUFDWixjQUFjO0NBQ2Y7O0FBRUQ7RUFDRSxtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLGNBQWM7RUFDZCwwQkFBMEI7RUFDMUIsaUJBQWlCO0VBQ2pCLGlCQUFpQjtFQUNqQixXQUFXO0NBQ1o7O0FBRUQ7RUFDRSwwQkFBMEI7Q0FDM0I7O0FBRUQ7RUFDRSxXQUFXO0VBQ1gsa0JBQWtCO0NBQ25COztBQUVEO0VBQ0UsbUJBQW1CO0VBQ25CLFdBQVc7Q0FDWjs7QUFFRDtFQUNFLFVBQVU7RUFDVixtQ0FBbUM7Q0FDcEM7O0FBRUQ7RUFDRSxXQUFXO0NBQ1o7O0FBRUQ7RUFDRSxnQkFBZ0I7RUFDaEIsV0FBVztDQUNaOztBQUVEO0VBQ0UsV0FBVztFQUNYLGFBQWE7RUFDYiw0QkFBNEI7Q0FDN0I7O0FBRUQ7RUFDRSxnQkFBZ0I7Q0FDakI7O0FBRUQ7RUFDRSxhQUFhO0VBQ2IsZUFBZTtFQUNmLHFCQUFxQjtDQUN0Qjs7QUFFRDtFQUNFLFlBQVk7RUFDWixhQUFhO0VBQ2Isb0JBQW9CO0VBQ3BCLGlCQUFpQjtFQUNqQixlQUFlO0VBQ2YsV0FBVztFQUNYLDJCQUEyQjtFQUMzQixtQkFBbUI7RUFDbkIsVUFBVTtDQUNYOztBQUNEO0VBQ0UsNkRBQW9GO0VBQ3BGLDJCQUEyQjtDQUM1Qjs7QUFDRDtFQUNFLDREQUFtRjtFQUNuRiwyQkFBMkI7Q0FDNUI7O0FBQ0Q7RUFDRSxjQUFjO0VBQ2Qsd0JBQXdCO0NBQ3pCOztBQUNEO0VBQ0UscUJBQXFCO0NBQ3RCOztBQUNEO0VBQ0UsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtDQUNsQjs7QUFDRDtFQUNFLGNBQWM7RUFDZCx3QkFBd0I7RUFDeEIsdUJBQXVCO0NBQ3hCOztBQUNEO0VBQ0UsZ0JBQWdCO0NBQ2pCOztBQUNEO0VBQ0UsMEJBQTBCO0NBQzNCOztBQUNEO0VBQ0UsZ0JBQWdCO0VBQ2hCLG9CQUFvQjs7Q0FFckI7O0FBQ0Q7RUFDRSxhQUFhO0VBQ2IsWUFBWTtFQUNaLGtCQUFrQjtDQUNuQjs7QUFDRDtFQUNFO0lBQ0UsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtHQUNqQjtDQUNGOztBQUNEO0VBQ0U7SUFDRSxjQUFjO0lBQ2QsZUFBZTtJQUNmLDBCQUEwQjtHQUMzQjtFQUNEO0lBQ0UsY0FBYztJQUNkLGVBQWU7R0FDaEI7Q0FDRiIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvdXMtc2xpZGVyLWNoYXJ0L3VzLXNsaWRlci1jaGFydC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnVzLW1hcC1jaGFydC1wYXRoIHtcclxuICBmaWxsOiBub25lO1xyXG4gIHN0cm9rZTogIzMzMztcclxuICBzdHJva2Utd2lkdGg6IC41cHg7XHJcbn1cclxuXHJcbi5sYW5kLWJvdW5kYXJ5IHtcclxuICBzdHJva2Utd2lkdGg6IDFweDtcclxufVxyXG5cclxuLmNvdW50eS1ib3VuZGFyeSB7XHJcbiAgc3Ryb2tlOiAjZGRkO1xyXG59XHJcblxyXG4uc2l0ZSB7XHJcblx0c3Ryb2tlLXdpZHRoOiAuNXB4O1xyXG4gIHN0cm9rZTogIzMzMztcclxuICBmaWxsOiByZ2IoMjYsIDg5LCAxNjEpO1xyXG59XHJcbi5zaXRlLXJlZCB7XHJcbiAgc3Ryb2tlLXdpZHRoOiAuNXB4O1xyXG4gIHN0cm9rZTogIzMzMztcclxuICBmaWxsOiByZ2IoMjM1LCA2OCwgOTYpO1xyXG59XHJcblxyXG4jc2xpZGVyMyB7XHJcbiAgbWFyZ2luOiAyMHB4IDAgMTBweCAyMHB4O1xyXG4gIHdpZHRoOiA5MDBweDtcclxufVxyXG5cclxuXHJcbi8qIFNsaWRlciBDU1MgKi9cclxuXHJcbi5kMy1zbGlkZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxzYW5zLXNlcmlmO1xyXG4gIGZvbnQtc2l6ZTogMS4xZW07XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYWFhYTtcclxuICB6LWluZGV4OiAyO1xyXG4gIG1hcmdpbjogMjBweDtcclxuICBtYXJnaW4tbGVmdDogMTFweDtcclxufVxyXG5cclxuLmQzLXNsaWRlci1ob3Jpem9udGFsIHtcclxuICBoZWlnaHQ6IC44ZW07XHJcbiAgd2lkdGg6IDg5MHB4O1xyXG59ICBcclxuLyogLmQzLXNsaWRlci1ob3Jpem9udGFsOjphZnRlcntcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyBcclxuICB6LWluZGV4OiAxMDtcclxufSAgKi9cclxuXHJcbi5kMy1zbGlkZXItcmFuZ2Uge1xyXG5iYWNrZ3JvdW5kOiMyOTgwYjk7XHJcbmxlZnQ6MHB4O1xyXG5yaWdodDowcHg7XHJcbmhlaWdodDogMC44ZW07XHJcbnBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cclxuLmQzLXNsaWRlci1yYW5nZS12ZXJ0aWNhbCB7XHJcbmJhY2tncm91bmQ6IzI5ODBiOTtcclxubGVmdDowcHg7XHJcbnJpZ2h0OjBweDtcclxucG9zaXRpb246IGFic29sdXRlO1xyXG50b3A6MDtcclxufVxyXG5cclxuLmQzLXNsaWRlci12ZXJ0aWNhbCB7XHJcbiAgd2lkdGg6IC44ZW07XHJcbiAgaGVpZ2h0OiAxMDBweDtcclxufSAgICAgIFxyXG5cclxuLmQzLXNsaWRlci1oYW5kbGUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAvKiB3aWR0aDogMS4yZW07ICovXHJcbiAgaGVpZ2h0OiAxLjJlbTtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjZmY2YTcxO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICB6LWluZGV4OiAzO1xyXG59XHJcblxyXG4uZDMtc2xpZGVyLWhhbmRsZTpob3ZlciB7XHJcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmNmE3MTtcclxufVxyXG5cclxuLmQzLXNsaWRlci1ob3Jpem9udGFsIC5kMy1zbGlkZXItaGFuZGxlIHtcclxuICB0b3A6IC0uM2VtO1xyXG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG59XHJcblxyXG4uZDMtc2xpZGVyLWF4aXMge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAxOyAgICBcclxufVxyXG5cclxuLmQzLXNsaWRlci1heGlzLWJvdHRvbSB7XHJcbiAgdG9wOiAyMHB4O1xyXG4gIC8qIG1hcmdpbi1sZWZ0OiAtOTBweCFpbXBvcnRhbnQ7ICovXHJcbn1cclxuXHJcbi5kMy1zbGlkZXItYXhpcy1yaWdodCB7XHJcbiAgbGVmdDogLjhlbTtcclxufVxyXG5cclxuLmQzLXNsaWRlci1heGlzIHBhdGgge1xyXG4gIHN0cm9rZS13aWR0aDogMDtcclxuICBmaWxsOiBub25lO1xyXG59XHJcblxyXG4uZDMtc2xpZGVyLWF4aXMgbGluZSB7XHJcbiAgZmlsbDogbm9uZTtcclxuICBzdHJva2U6ICNhYWE7XHJcbiAgc2hhcGUtcmVuZGVyaW5nOiBjcmlzcEVkZ2VzO1xyXG59XHJcblxyXG4uZDMtc2xpZGVyLWF4aXMgdGV4dCB7XHJcbiAgZm9udC1zaXplOiAxMXB4O1xyXG59XHJcblxyXG4uZDMtc2xpZGVyLXZlcnRpY2FsIC5kMy1zbGlkZXItaGFuZGxlIHtcclxuICBsZWZ0OiAtLjI1ZW07XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogLS42ZW07ICAgICAgXHJcbn1cclxuXHJcbi51cy1jaGFydC1hY3Rpb24ge1xyXG4gIHdpZHRoOiAzNHB4O1xyXG4gIGhlaWdodDogMzRweDtcclxuICB0ZXh0LWluZGVudDogLTk5OWVtO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZzogMDtcclxuICB0cmFuc2l0aW9uOiBub25lIWltcG9ydGFudDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiAxMHB4O1xyXG59XHJcbi51cy1jaGFydC1hY3Rpb25bbmFtZSo9XCJwYXVzZVwiXXtcclxuICBiYWNrZ3JvdW5kOiNmZjNkNGIgdXJsKCcuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3BhdXNlLnBuZycpIG5vLXJlcGVhdCAgY2VudGVyIGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDIycHggMjJweDtcclxufVxyXG4udXMtY2hhcnQtYWN0aW9uW25hbWUqPVwicGxheVwiXXtcclxuICBiYWNrZ3JvdW5kOiNmZjNkNGIgdXJsKCcuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3BsYXkucG5nJykgbm8tcmVwZWF0ICBjZW50ZXIgY2VudGVyO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogMTRweCAyMnB4O1xyXG59XHJcbi51cy1jaGFydC13cmFwcGVye1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuLnVzLWNoYXJ0LXNsaWRlci13cmFwcGVye1xyXG4gIHBhZGRpbmc6IDEwcHggMCA0MHB4O1xyXG59XHJcbi51cy1jaGFydC10YWJsZSAudGFibGV7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG4gIG1heC13aWR0aDogMjAwcHg7XHJcbn1cclxuLnVzLXN1bW1lcnktdGFibGUge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG4udXMtc3VtbWVyeS10YWJsZSAudGFibGV7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcbi51cy1zdW1tZXJ5LXRhYmxlIC5sZWdlbmRzLXdyYXBwZXIgLmNoYXJ0LWxlZ2VuZHN7XHJcbiAgcGFkZGluZzogMjBweCAwIWltcG9ydGFudDtcclxufVxyXG4udXMtc3VtbWVyeS10YWJsZSAubGVnZW5kcy13cmFwcGVyIC5jaGFydC1sZWdlbmRzIC5jb2xze1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xyXG5cclxufVxyXG4udXMtc3VtbWVyeS10YWJsZSAubGVnZW5kcy13cmFwcGVyIC5jaGFydC1sZWdlbmRzIC5jb2xzIHNwYW57XHJcbiAgaGVpZ2h0OiAxNnB4O1xyXG4gIHdpZHRoOiAxNnB4O1xyXG4gIG1hcmdpbi1yaWdodDogNnB4O1xyXG59XHJcbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpe1xyXG4gIC51cy1zdW1tZXJ5LXRhYmxlIC50YWJsZXtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIG1heC13aWR0aDozMzBweDtcclxuICB9XHJcbn1cclxuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCl7XHJcbiAgLnVzLWNoYXJ0LXdyYXBwZXIge1xyXG4gICAgZmxleDogMCAwIDYwJTtcclxuICAgIG1heC13aWR0aDogNjAlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICB9XHJcbiAgLnVzLXN1bW1lcnktdGFibGV7XHJcbiAgICBmbGV4OiAwIDAgNDAlO1xyXG4gICAgbWF4LXdpZHRoOiA0MCU7XHJcbiAgfVxyXG59Il19 */\"","module.exports = \"
\\r\\n
{{widgetData.title}}
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Month : {{currentMonth}}'18

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
MetricsCount
# HCPs{{summaryData.totalTargetsIdentified}}
# writers{{summaryData.writers}}
# new writers{{summaryData.newWriters}}
# repeat writers{{summaryData.repeatWriters}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit, Input, ViewEncapsulation, ElementRef, ViewChild, OnDestroy } from '@angular/core';\r\nimport { WidgetService } from '../widgets.service';\r\nimport moment from 'moment';\r\nimport * as _ from 'lodash';\r\nimport * as topojson from 'topojson';\r\nimport usLocationData from './usLocationData.json';\r\n\r\ndeclare var require: any;\r\ndeclare let d3: any;\r\n\r\n@Component({\r\n selector: 'app-us-slider-chart',\r\n templateUrl: './us-slider-chart.component.html',\r\n styleUrls: ['./us-slider-chart.component.css'],\r\n encapsulation: ViewEncapsulation.None //ShadowDom\r\n})\r\nexport class USSliderChartComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild('slider3') sliderElement: ElementRef;\r\n @ViewChild('usSliderChart') chartElement: ElementRef;\r\n\r\n constructor(private widgetService: WidgetService) {\r\n }\r\n\r\n @Input() widgetData;\r\n summaryData = { \"totalTargetsIdentified\": 0, \"writers\": 0, \"newWriters\": 0, \"repeatWriters\": 0 };\r\n date_data = [];\r\n site_data = [];\r\n loadUsChart = false;\r\n timerCallback;\r\n monthList = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n currentMonth = 'Jan';\r\n\r\n ngOnInit() {\r\n this.summaryData.totalTargetsIdentified = _.uniqBy(this.widgetData.data, 'CUSTOMER_NUMBER').length;\r\n setTimeout(() => {\r\n this.loadChart(this.widgetData.data);\r\n }, 0);\r\n }\r\n\r\n loadChart(data) {\r\n let width = 700, height = 470;\r\n\r\n var projection = d3.geo.albersUsa()\r\n .scale(920)\r\n .translate([width / 2, height / 2]);\r\n\r\n var path = d3.geo.path()\r\n .projection(projection);\r\n\r\n var svg = d3.select(this.chartElement.nativeElement).append(\"svg\")\r\n .attr(\"width\", width)\r\n .attr(\"height\", height);\r\n\r\n this.loadUsChart = true;\r\n svg.append(\"path\")\r\n .datum(topojson.feature(usLocationData, usLocationData.objects.land))\r\n .attr(\"d\", path)\r\n .attr(\"class\", \"us-map-chart-path land-boundary\");\r\n\r\n svg.append(\"path\")\r\n .datum(topojson.mesh(usLocationData, usLocationData.objects.counties, function (a, b) { return a !== b && (a.id / 1000 | 0) === (b.id / 1000 | 0); }))\r\n .attr(\"d\", path)\r\n .attr(\"class\", \"us-map-chart-path county-boundary\");\r\n\r\n svg.append(\"path\")\r\n .datum(topojson.mesh(usLocationData, usLocationData.objects.states, function (a, b) { return a !== b; }))\r\n .attr(\"d\", path)\r\n .attr(\"class\", \"us-map-chart-path state-boundary\");\r\n\r\n for (let i = 0; i {\r\n var sites = svg.selectAll(\".zone-circle\")\r\n .data(data, function (d, index) {\r\n if (!d.cx || !d.cy) {\r\n d.cx = projection([d.lng, d.lat])[0];\r\n d.cy = projection([d.lng, d.lat])[1];\r\n }\r\n\r\n return index;\r\n });\r\n\r\n sites.enter().append(\"circle\")\r\n .attr(\"class\", function (d) {\r\n var className = \"zone-circle \";\r\n className += (d.prod1_nrx_flag == 1) ? \"site\" : \"site-red\";\r\n return className;\r\n })\r\n .attr(\"cx\", function (d) {\r\n return d.cx;\r\n })\r\n .attr(\"cy\", function (d) {\r\n return d.cy;\r\n })\r\n .attr(\"r\", 1)\r\n .transition().duration(200)\r\n .attr(\"r\", 4);\r\n\r\n\r\n sites.exit()\r\n .transition().duration(200)\r\n .attr(\"r\", 1)\r\n .remove();\r\n };\r\n\r\n var maxDate1 = new Date(Math.max.apply(null, this.widgetData.data.map(function (e) {\r\n return new Date(e.created_at);\r\n })));\r\n var minDate1 = new Date(Math.min.apply(null, this.widgetData.data.map(function (e) {\r\n return new Date(e.created_at);\r\n })));\r\n var minDateUnix = new Date(minDate1.getFullYear(), minDate1.getMonth(), 1);;\r\n var maxDateUnix = new Date(maxDate1.getFullYear(), maxDate1.getMonth() + 1, 0);;\r\n\r\n d3.select(this.sliderElement.nativeElement).call(d3.slider()\r\n .axis(true).min(minDateUnix).max(maxDateUnix)\r\n .on(\"slide\", (evt, value, timerCallback) => {\r\n let dataTillCurrentMonth, dataTillPreviousMonth, dataPerMonth = [];\r\n\r\n dataTillCurrentMonth = _.filter(this.site_data, function (site) {\r\n return site.created_at <= value;\r\n })\r\n\r\n this.resetSummaryData();\r\n let month = new Date(value).getMonth();\r\n this.currentMonth = this.monthList[month];\r\n if (!this.timerCallback && timerCallback) {\r\n this.resetSummaryData();\r\n this.timerCallback = timerCallback;\r\n }\r\n\r\n dataPerMonth = _.filter(this.site_data, function (site) {\r\n return new Date(site.created_at).getMonth() == month;\r\n })\r\n let dataGroupedByNRXFlag = _.groupBy(dataPerMonth, 'prod1_nrx_flag');\r\n this.summaryData.writers = _.uniqBy(dataGroupedByNRXFlag[1], 'customerNumber').length;\r\n\r\n let writerCustomers = _.uniqBy(dataGroupedByNRXFlag[1], 'customerNumber')\r\n let previousMonth = new Date(value);\r\n previousMonth.setMonth(previousMonth.getMonth() - 1)\r\n if (month != 0) {\r\n dataTillPreviousMonth = _.filter(this.site_data, function (site) {\r\n return (site.created_at <= previousMonth.getTime()) && (_.findIndex(writerCustomers, { 'customerNumber': site.customerNumber }) > 0);\r\n })\r\n this.summaryData.repeatWriters = 1;\r\n let dataGroupedByCustomerNumber = _.groupBy(dataTillPreviousMonth, 'customerNumber');\r\n for (let customer in dataGroupedByCustomerNumber) {\r\n let sum = _.sumBy(dataGroupedByCustomerNumber[customer], 'prod1_nrx_flag');\r\n if (sum == 0) {\r\n this.summaryData.newWriters += 1;\r\n } else {\r\n this.summaryData.repeatWriters += 1;\r\n }\r\n }\r\n }\r\n displaySites(dataTillCurrentMonth);\r\n })\r\n );\r\n }\r\n\r\n resetSummaryData() {\r\n this.summaryData.writers = 0;\r\n this.summaryData.newWriters = 0;\r\n this.summaryData.repeatWriters = 0;\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.timerCallback) {\r\n clearInterval(this.timerCallback);\r\n }\r\n }\r\n\r\n}","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvdmVydGljYWwtZG5hLWhlbGl4L3ZlcnRpY2FsLWRuYS1oZWxpeC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { D3CustomShapesService } from 'src/app/services/helper/d3-custom-shapes.service';\r\n\r\nimport _ from 'lodash';\r\ndeclare const d3: any;\r\n\r\n@Component({\r\n\tselector: 'app-vertical-dna-helix',\r\n\ttemplateUrl: './vertical-dna-helix.component.html',\r\n\tstyleUrls: ['./vertical-dna-helix.component.css']\r\n})\r\nexport class VerticalDnaHelixComponent implements OnInit {\r\n\t@Input() dna = {\r\n\t\tsvg: d3.select(\"body\"),\r\n\t\tcontainer: null,\r\n\t\twidth: 150,\r\n\t\theight: 650,\r\n\t\tindex: 0,\r\n\t\tdata: [],\r\n\t\tcategories: [\"abandonCart\", \"surgeCall\", \"portOut\", \"churn\"],\r\n\t\tcategoriesColor: [\"#faa24c\", \"#39b2ff\", \"#a1be00\", \"#d94785\"],\r\n\t\tshapes: [\"hexagoan\", \"square\", \"triangleDown\", \"star\"],\r\n\t\ttranslate: null,\r\n\t\tidString: null\r\n\t};\r\n\tnumX = 35;\r\n\ttorsion = 0.35;\r\n\tx: Function;\r\n\ty: Function;\r\n\tz = d3.scale.linear().range([10, 2]);\r\n\r\n\tconstructor(private shapesConfigService: D3CustomShapesService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.initializeData();\r\n\t\tthis.createDna();\r\n\t}\r\n\r\n\tinitializeData() {\r\n\t\tthis.x = d3.scale.linear().range([10, this.dna.width - 10]);\r\n\t\tthis.y = d3.scale.linear().range([40, this.dna.height - 40]);\r\n\r\n\t\tlet generate = generateData.bind(this);\r\n\t\tvar counter = 0;\r\n\t\tthis.dna.data = generate();\r\n\r\n\t\tfunction generateData() {\r\n\t\t\tvar data = [];\r\n\t\t\tcounter++;\r\n\t\t\tdata = d3.range(this.numX).map((d) => {\r\n\t\t\t\tvar t = d * this.torsion * counter;\r\n\t\t\t\treturn [{\r\n\t\t\t\t\tx: Math.cos(t),\r\n\t\t\t\t\ty: d,\r\n\t\t\t\t\tz: Math.sin(t)\r\n\t\t\t\t}, {\r\n\t\t\t\t\tx: Math.cos(t - Math.PI),\r\n\t\t\t\t\ty: d,\r\n\t\t\t\t\tz: Math.sin(t - Math.PI)\r\n\t\t\t\t}]\r\n\t\t\t});\r\n\r\n\t\t\tvar flat = _.flatten(data);\r\n\t\t\tthis.x.domain(d3.extent(flat, function (d) {\r\n\t\t\t\treturn d.x\r\n\t\t\t}));\r\n\t\t\tthis.y.domain(d3.extent(flat, function (d) {\r\n\t\t\t\treturn d.y\r\n\t\t\t}));\r\n\t\t\tthis.z.domain(d3.extent(flat, function (d) {\r\n\t\t\t\treturn d.z\r\n\t\t\t}));\r\n\r\n\t\t\tvar tempData = [...data],\r\n\t\t\t\tfinalData = [];\r\n\r\n\t\t\t//tempData = ...data;\r\n\t\t\tfinalData = []\r\n\t\t\tfor (let j = 0; j < tempData.length; j++) {\r\n\t\t\t\tlet randomValue = Math.random() + 1;\r\n\t\t\t\tlet category = this.dna.shapes[this.dna.index];\r\n\t\t\t\tif (j % Math.floor((4 * randomValue)) === 0) {\r\n\t\t\t\t\tcategory = this.dna.shapes[Math.floor(Math.random() * this.dna.shapes.length)];\r\n\t\t\t\t}\r\n\t\t\t\tfinalData[j] = [\r\n\t\t\t\t\t...data[j],\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tshapeType: category\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t\treturn finalData\r\n\t\t}\r\n\t}\r\n\r\n\tcreateDna() {\r\n\r\n\t\tvar leftArcPath = [],\r\n\t\t\trightArcPath = []\r\n\r\n\t\tvar dnaLineGenerator = d3.svg.line()\r\n\t\t\t.interpolate(\"cardinal\")\r\n\t\t\t.x((d, i) => {\r\n\t\t\t\treturn this.x(d[1].x);\r\n\t\t\t})\r\n\t\t\t.y((d) => {\r\n\t\t\t\treturn this.y(d[0].y);\r\n\t\t\t});\r\n\r\n\t\tvar dnaLineGenerator2 = d3.svg.line()\r\n\t\t\t.interpolate(\"cardinal\")\r\n\t\t\t.x((d, i) => {\r\n\t\t\t\treturn this.x(d[0].x);\r\n\t\t\t})\r\n\t\t\t.y((d) => {\r\n\t\t\t\treturn this.y(d[0].y);\r\n\t\t\t});\r\n\r\n\t\tthis.dna.svg = this.dna.svg\r\n\t\t\t.append(\"g\")\r\n\t\t\t.attr('id', \"dna-svg-block_\" + this.dna.index)\r\n\t\t\t.attr(\"width\", this.dna.width)\r\n\t\t\t.attr(\"height\", this.dna.height);\r\n\r\n\t\tthis.dna.svg.\r\n\t\t\tappend(\"rect\")\r\n\t\t\t.attr(\"width\", this.dna.width)\r\n\t\t\t.attr(\"height\", this.dna.height)\r\n\t\t\t.attr(\"fill\", \"none\");\r\n\r\n\t\tthis.dna.container = this.dna.svg.append(\"g\");\r\n\r\n\t\tvar cont = this.dna.container.selectAll(\"g\").data(this.dna.data);\r\n\t\tcont.exit().remove();\r\n\r\n\t\tvar enter = cont.enter()\r\n\t\t\t.append(\"g\")\r\n\t\t\t.each(function (d, index) {\r\n\t\t\t\td3.select(this).append('line')\r\n\t\t\t\t\t.attr({\r\n\t\t\t\t\t\t\"stroke\": \"grey\",\r\n\t\t\t\t\t\t\"stroke-width\": 2\r\n\t\t\t\t\t});\r\n\t\t\t});\r\n\t\tlet parentScope = this;\r\n\t\tcont.each(function (d, index) {\r\n\r\n\t\t\tvar inverted = (d[0].x < d[1].x) ? 1 : -1;\r\n\r\n\t\t\td3.select(this)\r\n\t\t\t\t.select('line')\r\n\t\t\t\t.attr({\r\n\t\t\t\t\t\"x2\": parentScope.x(d[0].x),\r\n\t\t\t\t\t\"x1\": parentScope.x(d[1].x),\r\n\t\t\t\t\t\"y2\": parentScope.y(d[0].y),\r\n\t\t\t\t\t\"y1\": parentScope.y(d[0].y),\r\n\t\t\t\t\t\"opacity\": 0.3 * inverted * (d[1].x - d[0].x)\r\n\t\t\t\t});\r\n\t\t});\r\n\r\n\t\tleftArcPath = this.dna.svg\r\n\t\t\t.append('path')\r\n\t\t\t.attr({\r\n\t\t\t\t'd': dnaLineGenerator(this.dna.data),\r\n\t\t\t\t\"class\": this.dna.idString + \"-left\",\r\n\t\t\t\t\"id\": this.dna.idString + \"-left-\" + this.dna.index,\r\n\t\t\t})\r\n\t\t\t.style({\r\n\t\t\t\t\"stroke\": \"none\",\r\n\t\t\t\t\"fill\": \"none\",\r\n\t\t\t\t'stroke-dasharray': function (d) {\r\n\t\t\t\t\tvar l = d3.select(this).node().getTotalLength();\r\n\t\t\t\t\treturn l + 'px, ' + l + 'px';\r\n\t\t\t\t},\r\n\t\t\t\t'stroke-dashoffset': function (d) {\r\n\t\t\t\t\treturn d3.select(this).node().getTotalLength() + 'px';\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\trightArcPath = this.dna.svg\r\n\t\t\t.append('path')\r\n\t\t\t.attr({\r\n\t\t\t\t'd': dnaLineGenerator2(this.dna.data),\r\n\t\t\t\t\"class\": this.dna.idString + \"-right\",\r\n\t\t\t\t\"id\": this.dna.idString + \"-right-\" + this.dna.index,\r\n\t\t\t})\r\n\t\t\t.style({\r\n\t\t\t\t\"stroke\": \"none\",\r\n\t\t\t\t\"fill\": \"none\",\r\n\t\t\t\t'stroke-dasharray': function (d) {\r\n\t\t\t\t\tvar l = d3.select(this).node().getTotalLength();\r\n\t\t\t\t\treturn l + 'px, ' + l + 'px';\r\n\t\t\t\t},\r\n\t\t\t\t'stroke-dashoffset': function (d) {\r\n\t\t\t\t\treturn d3.select(this).node().getTotalLength() + 'px';\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t//Right Shapes\r\n\t\tthis.dna.svg.selectAll(\".right-shapes\").data(this.dna.data).enter().append(\"path\")\r\n\t\t\t.attr({\r\n\t\t\t\t\"d\": (d) => {\r\n\t\t\t\t\treturn this.shapesConfigService.getShapeCoordinates(d[2].shapeType, (this.z(d[0].z) * 15))\r\n\t\t\t\t},\r\n\t\t\t\t\"class\": \"right-shapes-\" + this.dna.index,\r\n\t\t\t\t\"id\": (d, i) => {\r\n\t\t\t\t\treturn \"dna-right-moving-shapes-\" + this.dna.index + \"-\" + i;\r\n\t\t\t\t},\r\n\t\t\t\t\"transform\": \"translate(140,40)\",\r\n\t\t\t\t\"fill-opacity\": 0,\r\n\t\t\t\t\"stroke\": \"none\",\r\n\t\t\t})\r\n\t\t\t.style({\r\n\t\t\t\t\"fill\": (d) => {\r\n\t\t\t\t\treturn this.dna.categoriesColor[this.dna.shapes.indexOf(d[2].shapeType)]\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t//Left Shapes\r\n\t\tthis.dna.svg.selectAll(\".left-shapes\").data(this.dna.data.reverse()).enter().append(\"path\")\r\n\t\t\t.attr({\r\n\t\t\t\t\"d\": (d) => {\r\n\t\t\t\t\treturn this.shapesConfigService.getShapeCoordinates(d[2].shapeType, (this.z(d[0].z) * 15))\r\n\t\t\t\t},\r\n\t\t\t\t\"class\": \"left-shapes-\" + this.dna.index,\r\n\t\t\t\t\"id\": (d, i) => {\r\n\t\t\t\t\treturn \"dna-left-moving-shapes-\" + this.dna.index + \"-\" + i;\r\n\t\t\t\t},\r\n\t\t\t\t\"transform\": \"translate(10,40)\",\r\n\t\t\t\t\"fill-opacity\": 0,\r\n\t\t\t\t'stroke': \"none\",\r\n\t\t\t})\r\n\t\t\t.style({\r\n\t\t\t\t\"fill\": (d) => {\r\n\t\t\t\t\treturn this.dna.categoriesColor[this.dna.shapes.indexOf(d[2].shapeType)]\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\tthis.dna.svg.attr({\r\n\t\t\ttransform: \"translate(\" + this.dna.translate.x + \",\" + this.dna.translate.y + \")\"\r\n\t\t})\r\n\t}\r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\t
\\r\\n\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t
\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t
\\r\\n
\\r\\n\"","import { Component, OnInit, Input, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'app-video-player',\r\n\ttemplateUrl: './video-player.component.html'\r\n})\r\nexport class VideoPlayerComponent implements OnInit, AfterViewInit {\r\n\r\n\t@ViewChild('videoPlayer') videoplayer: ElementRef;\r\n\t@Input() widgetData;\r\n\tdata;\r\n\tshowPlayButton = false;\r\n\r\n\r\n\tngAfterViewInit() {\r\n\t\tif (!this.widgetData.data.autoplay) {\r\n\t\t\tthis.videoplayer.nativeElement.pause();\r\n\t\t}\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.data = this.widgetData.data;\r\n\t\tif (!this.widgetData.data.autoplay) {\r\n\t\t\tthis.showPlayButton = true;\r\n\t\t}\r\n\t}\r\n\r\n\ttoggleVideo(event: any) {\r\n\t\tevent.preventDefault();\r\n\t\tif (this.videoplayer.nativeElement.paused) {\r\n\t\t\tthis.showPlayButton = false;\r\n\t\t\tthis.videoplayer.nativeElement.play();\r\n\t\t} else {\r\n\t\t\tthis.showPlayButton = true;\r\n\t\t\tthis.videoplayer.nativeElement.pause();\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tonPaused() {\r\n\t\tthis.showPlayButton = true;\r\n\t}\r\n\r\n\tonPlaying() {\r\n\t\tthis.showPlayButton = false;\r\n\t}\r\n}\r\n","module.exports = \".field-solution-wrapper{\\r\\n height: 100%;\\r\\n}\\r\\n.mat-dialog-container{\\r\\n position: relative;\\r\\n}\\r\\n.field-solution.dialog-close{\\r\\n position: absolute;\\r\\n top:15px;\\r\\n right:15px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy92aXJ0dWFsLXJlcC10cmFpbmVyL3ZpcnR1YWwtcmVwLXRyYWluZXItYXBwLWRpYWxvZy92aXJ0dWFsLXJlcC10cmFpbmVyLWFwcC1kaWFsb2cuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGFBQWE7Q0FDaEI7QUFDRDtJQUNJLG1CQUFtQjtDQUN0QjtBQUNEO0lBQ0ksbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxXQUFXO0NBQ2QiLCJmaWxlIjoic3JjL2FwcC93aWRnZXRzL3ZpcnR1YWwtcmVwLXRyYWluZXIvdmlydHVhbC1yZXAtdHJhaW5lci1hcHAtZGlhbG9nL3ZpcnR1YWwtcmVwLXRyYWluZXItYXBwLWRpYWxvZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZpZWxkLXNvbHV0aW9uLXdyYXBwZXJ7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuLm1hdC1kaWFsb2ctY29udGFpbmVye1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi5maWVsZC1zb2x1dGlvbi5kaWFsb2ctY2xvc2V7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6MTVweDtcclxuICAgIHJpZ2h0OjE1cHg7XHJcbn1cclxuIl19 */\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n
\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-virtual-rep-trainer-app-dialog',\r\n templateUrl: './virtual-rep-trainer-app-dialog.component.html',\r\n styleUrls: ['./virtual-rep-trainer-app-dialog.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class VirtualRepTrainerAppDialogComponent implements OnInit {\r\n\r\n // tslint:disable-next-line: quotemark\r\n // tslint:disable-next-line: max-line-length\r\n public htmlString = \"\";\r\n\r\n constructor(public dialogRef: MatDialogRef) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onClose() {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","module.exports = \".inner-page-wrapper.field-story #scroll-container,\\r\\n.field-coaching-svg-wrapper #svg-wrapper{\\r\\n max-height:100vh;\\r\\n min-height:100vh;\\r\\n width:100vw;\\r\\n overflow:hidden;\\r\\n position:relative;\\r\\n}\\r\\n.field-coaching-svg-wrapper{\\r\\n position:relative;\\r\\n}\\r\\n.field-coaching-svg-wrapper:before{\\r\\n content:\\\"\\\";\\r\\n position:absolute;\\r\\n top:0;\\r\\n bottom:0;\\r\\n left:100%;\\r\\n right:0;\\r\\n z-index:-1;\\r\\n opacity:0;\\r\\n background:linear-gradient(0deg, rgba(255,255,255,0) 5%, rgba(134,188,211,0.37) 50%, rgba(255,255,255,0) 95%);\\r\\n filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFF', endColorstr='#FFFFFF',GradientType=0 );\\r\\n transition:all 300ms ease-in-out;\\r\\n transition-delay:200ms;\\r\\n}\\r\\n.field-coaching-svg-wrapper.slide-6-active:before{\\r\\n opacity:1;\\r\\n left:62%;\\r\\n transition-delay:700ms;\\r\\n}\\r\\n.field-story .mat-tooltip{\\r\\n font-size:12px;\\r\\n}\\r\\n.field-coaching-svg-wrapper{\\r\\n height:100vh;\\r\\n position:fixed;\\r\\n z-index:0;\\r\\n background:linear-gradient(0deg, #79BEB9 0%, #00629B 100%);\\r\\n filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#00629B', endColorstr='#79BEB9',GradientType=0 );\\r\\n}\\r\\n.sotry-content-wrapper{\\r\\n color:#FFFFFF;\\r\\n}\\r\\n.sotry-content-wrapper>div{\\r\\n display:flex;\\r\\n align-items:center;\\r\\n justify-content:flex-end;\\r\\n height:100vh;\\r\\n width:100vw;\\r\\n padding:60px 40px;\\r\\n position:absolute;\\r\\n top:0;\\r\\n left:0;\\r\\n}\\r\\n.sotry-content-wrapper>div.animate-in{\\r\\n z-index:2;\\r\\n}\\r\\n.sotry-content-wrapper>div.slide-6{\\r\\n padding:70px 0 60px;\\r\\n}\\r\\n.sotry-content-wrapper>div.slide-4,\\r\\n.sotry-content-wrapper>div.slide-5{\\r\\n justify-content:space-between;\\r\\n}\\r\\n.sotry-content-wrapper>div .content{\\r\\n width:41%;\\r\\n}\\r\\n.sotry-content-wrapper>div.slide-3 .content{\\r\\n width:36%;\\r\\n transform:translateY(60%);\\r\\n}\\r\\n.sotry-content-wrapper>div.slide-4 .content{\\r\\n width:35%;\\r\\n}\\r\\n.sotry-content-wrapper .content h2,\\r\\n.sotry-content-wrapper .content h3,\\r\\n.sotry-content-wrapper .content p{\\r\\n transform:translateX(100%);\\r\\n opacity:0;\\r\\n transition:all 500ms ease-in-out;\\r\\n}\\r\\n.sotry-content-wrapper .content h2{\\r\\n font-family:'DINProBold';\\r\\n font-size:40px;\\r\\n transition-delay:0;\\r\\n}\\r\\n.sotry-content-wrapper .content h3{\\r\\n font-family:'DINProRegular';\\r\\n font-size:40px;\\r\\n transition-delay:200ms;\\r\\n}\\r\\n.sotry-content-wrapper .content h4{\\r\\n font-family:'DINProMedium';\\r\\n font-size:27px;\\r\\n}\\r\\n.sotry-content-wrapper .content p{\\r\\n margin:0;\\r\\n font-size:20px;\\r\\n transition-delay:400ms;\\r\\n}\\r\\n.sotry-content-wrapper .content .btn-light,\\r\\n.sotry-content-wrapper .content .btn-light:active,\\r\\n.sotry-content-wrapper .content .btn-light:focus{\\r\\n font-family:'DINProMedium';\\r\\n font-size:22px;\\r\\n color:#ED8B00;\\r\\n box-shadow:0 3px 6px rgba(0, 0, 0, 0.16);\\r\\n}\\r\\n.sotry-content-wrapper .animate-in .content h2,\\r\\n.sotry-content-wrapper .animate-in .content h3,\\r\\n.sotry-content-wrapper .animate-in .content p{\\r\\n opacity:1;\\r\\n transform:translateX(0%);\\r\\n}\\r\\n.sotry-content-wrapper .animate-out .content h2,\\r\\n.sotry-content-wrapper .animate-out .content h3,\\r\\n.sotry-content-wrapper .animate-out .content p{\\r\\n opacity:0;\\r\\n transform:translateX(-50%);\\r\\n}\\r\\n.slide-4 .file-wrapper{\\r\\n transform:skewY(-5deg);\\r\\n}\\r\\n.file-stack{\\r\\n position:relative;\\r\\n}\\r\\n.file-stack:after{\\r\\n content:\\\"\\\";\\r\\n height:90px;\\r\\n background:#E0E0E0;\\r\\n position:absolute;\\r\\n z-index:-1;\\r\\n border-radius:50%;\\r\\n bottom:0px;\\r\\n left:-30px;\\r\\n right:-30px;\\r\\n opacity:0.2;\\r\\n transform:scale(0) translateY(50%);\\r\\n transition:all 500ms ease-in-out;\\r\\n}\\r\\n.file-stack.labelled-file .file-outer:before{\\r\\n content:\\\"\\\";\\r\\n width:25px;\\r\\n top:20px;\\r\\n bottom:20px;\\r\\n left:-25px;\\r\\n position:absolute;\\r\\n border:2px dashed #ED8B00;\\r\\n border-right:none;\\r\\n}\\r\\n.file-stack.labelled-file .file-outer .file-header>div{\\r\\n background-color:#ED8B00;\\r\\n}\\r\\n.file-stack ul.label-list{\\r\\n margin:0;\\r\\n padding:0;\\r\\n list-style:none;\\r\\n position:absolute;\\r\\n top:50px;\\r\\n left:-138px;\\r\\n transform:scale(0, 1);\\r\\n transition:all 300ms ease-in-out;\\r\\n transform-origin:right;\\r\\n}\\r\\n.animate-in .file-stack ul.label-list{\\r\\n transition-delay:600ms;\\r\\n transform:scale(1, 1);\\r\\n}\\r\\n.animate-out .file-stack ul.label-list{\\r\\n opacity:0;\\r\\n transform:scale(0, 1);\\r\\n}\\r\\nul.label-list li{\\r\\n font-family:'DINProMedium';\\r\\n font-size:15px;\\r\\n color:#FFFFFF;\\r\\n line-height:22px;\\r\\n}\\r\\nul.label-list li:first-child{\\r\\n width:114px;\\r\\n margin-bottom:10px;\\r\\n padding:0 20px 5px 0;\\r\\n border-bottom:2px dashed #ED8B00;\\r\\n}\\r\\nul.label-list li.label{\\r\\n width:94px;\\r\\n height:24px;\\r\\n padding-left:5px;\\r\\n margin-bottom:10px;\\r\\n font-family:'DINProBold';\\r\\n font-size:12px;\\r\\n position:relative;\\r\\n}\\r\\nul.label-list li.label:after{\\r\\n content:\\\"\\\";\\r\\n width:100%;\\r\\n height:2px;\\r\\n border-bottom:2px dashed #ED8B00;\\r\\n position:absolute;\\r\\n top:10px;\\r\\n left:20px;\\r\\n z-index:-1;\\r\\n}\\r\\nul.label-list li.label.invalid{\\r\\n background-color:#E55A5F;\\r\\n}\\r\\nul.label-list li.label.valid{\\r\\n background-color:#00D159;\\r\\n}\\r\\n.file-wrapper .file-stack:after{\\r\\n height:100px;\\r\\n bottom:-20px;\\r\\n right:-80px;\\r\\n}\\r\\ni.icon{\\r\\n height:16px;\\r\\n width:16px;\\r\\n display:inline-block;\\r\\n margin:3px 5px 3px 0;\\r\\n vertical-align:middle;\\r\\n}\\r\\ni.icon.info{\\r\\n background:url(\\\"/assets/images/field-coaching/info-icon.png\\\") center center no-repeat;\\r\\n}\\r\\n.animate-in .file-stack:after{\\r\\n transform:scale(1) translateY(50%);\\r\\n transition-delay:200ms;\\r\\n}\\r\\n.animate-out .file-stack{\\r\\n opacity:0;\\r\\n transform:translateX(-100%);\\r\\n}\\r\\n.file-stack .file-outer{\\r\\n border:#000 1px solid;\\r\\n box-shadow:-2px -2px 3px rgba(0, 0, 0, 0.16);\\r\\n opacity:0;\\r\\n transform:translate(-100%, -20%);\\r\\n transition:all 300ms ease-in-out;\\r\\n}\\r\\n.slide-5 .file-stack .file-outer{\\r\\n transform:translate(100%, 0%);\\r\\n}\\r\\n.slide-5.animate-in .file-stack .file-outer:first-child{\\r\\n transition-delay:300ms;\\r\\n}\\r\\n.animate-in .file-stack .file-outer{\\r\\n opacity:1;\\r\\n}\\r\\n.file-stack .file-outer:not(:first-child){\\r\\n position:absolute;\\r\\n top:0;\\r\\n}\\r\\n.animate-in .file-stack .file-outer:first-child{\\r\\n transform:translate(0px, 0px);\\r\\n transition-delay:800ms;\\r\\n}\\r\\n.animate-in .file-stack .file-outer:nth-child(2){\\r\\n transform:translate(10px, 10px);\\r\\n transition-delay:600ms;\\r\\n}\\r\\n.animate-in .file-stack .file-outer:nth-child(3){\\r\\n transform:translate(20px, 20px);\\r\\n transition-delay:400ms;\\r\\n}\\r\\n.animate-in .file-stack .file-outer:nth-child(4){\\r\\n transform:translate(30px, 30px);\\r\\n transition-delay:200ms;\\r\\n}\\r\\n.animate-in .file-stack .file-outer:nth-child(5){\\r\\n transform:translate(40px, 40px);\\r\\n}\\r\\n.file-outer .file-header{\\r\\n display:flex;\\r\\n height:18px;\\r\\n background-color:#53565A;\\r\\n border:#53565A 10px solid;\\r\\n border-bottom:none;\\r\\n}\\r\\n.file-outer:not(:last-child) .file-header{\\r\\n background-color:#747474;\\r\\n border-color:#747474;\\r\\n}\\r\\n.file-outer:not(:last-child) .file-header>div{\\r\\n border-color:#747474;\\r\\n background-color:#53565A;\\r\\n}\\r\\n.file-header > div{\\r\\n width:23px;\\r\\n background-color:#000;\\r\\n border-left:3px #53565A solid;\\r\\n}\\r\\n.file-header > div:first-child{\\r\\n width:20px;\\r\\n border:none;\\r\\n}\\r\\n.file-header > div:last-child{\\r\\n flex:1;\\r\\n border-width:26px;\\r\\n}\\r\\n.file-stack .file{\\r\\n max-width:370px;\\r\\n padding:20px;\\r\\n color:#53565A;\\r\\n background-color:#FFFFFF;\\r\\n border:#53565A 10px solid;\\r\\n}\\r\\n.file-outer:not(:last-child) .file{\\r\\n border-color:#747474;\\r\\n}\\r\\n.file h4{\\r\\n font-family:'DINProBold';\\r\\n font-size:18px;\\r\\n line-height:22px;\\r\\n}\\r\\n.file p{\\r\\n font-family:'DINProMedium';\\r\\n font-size:15px;\\r\\n}\\r\\n.sotry-content-wrapper>div.slide-5 .content{\\r\\n width:auto;\\r\\n margin:0 30px;\\r\\n}\\r\\n.sotry-content-wrapper>div.slide-5 .content p.action-note{\\r\\n margin-bottom:45px;\\r\\n}\\r\\n.sotry-content-wrapper>div.slide-6 .content{\\r\\n height:100%;\\r\\n width:60%;\\r\\n flex:1;\\r\\n}\\r\\n.slide-5 .content{\\r\\n opacity:0;\\r\\n transform:translateX(100%);\\r\\n transition:all 300ms ease-in-out;\\r\\n transition-delay:500ms;\\r\\n}\\r\\n.slide-5.animate-in .content{\\r\\n opacity:1;\\r\\n transform:translateX(0);\\r\\n}\\r\\n.slide-5.animate-out .content{\\r\\n opacity:0;\\r\\n transform:translateX(-30%);\\r\\n}\\r\\n/* Switch Styes */\\r\\n.switch{\\r\\n height:24px;\\r\\n margin-bottom:20px;\\r\\n font-family:'DINProMedium';\\r\\n font-size:18px;\\r\\n display:inline-block;\\r\\n vertical-align:middle;\\r\\n}\\r\\n.switch input{\\r\\n display:none;\\r\\n}\\r\\n.slider{\\r\\n background-color:#C1C6C8;\\r\\n cursor:pointer;\\r\\n position:relative;\\r\\n width:44px;\\r\\n height:16px;\\r\\n margin-right:10px;\\r\\n display:inline-block;\\r\\n border-radius:34px;\\r\\n transition:all 0.4s ease-in-out;\\r\\n}\\r\\n.slider:before{\\r\\n content:\\\"\\\";\\r\\n height:24px;\\r\\n width:24px;\\r\\n border-radius:50%;\\r\\n border:7px solid #FFFFFF;\\r\\n background-color:#C1C6C8;\\r\\n position:absolute;\\r\\n top:-4px;\\r\\n left:0;\\r\\n transition:all 0.4s ease-in-out;\\r\\n}\\r\\ninput:checked + .slider:before{\\r\\n transform:translateX(20px);\\r\\n background-color:#ED8B00;\\r\\n}\\r\\n/* Switch Styes */\\r\\n.nlp-wrapper{\\r\\n padding-left:60px;\\r\\n position:relative;\\r\\n}\\r\\n.nlp-wrapper .svg-npl-wrapper{\\r\\n position:absolute;\\r\\n left:0px;\\r\\n}\\r\\n.nlp-wrapper + .btn-light{\\r\\n margin:65px 0 0 60px;\\r\\n}\\r\\n.nlp-wrapper .tags-wrapper{\\r\\n max-width:670px;\\r\\n margin-top:20px;\\r\\n}\\r\\n.tags-wrapper .tags-block{\\r\\n padding:8px 10px;\\r\\n margin-bottom:15px;\\r\\n display:inline-block;\\r\\n font-size:17px;\\r\\n color:#FFFFFF;\\r\\n background-color:rgba(7, 52, 62, 0.8);\\r\\n transition:all 300ms ease-in-out;\\r\\n}\\r\\n.tags-wrapper .tags-block.hidden{\\r\\n opacity:0;\\r\\n}\\r\\n.tags-block > span{\\r\\n height:20px;\\r\\n margin:0 10px 5px 10px;\\r\\n position:relative;\\r\\n display:inline-block;\\r\\n}\\r\\n.tags-block > span.tag{\\r\\n padding-left:15px;\\r\\n}\\r\\nspan.tag:before{\\r\\n content:\\\"\\\";\\r\\n width:10px;\\r\\n height:10px;\\r\\n margin-top:-4px;\\r\\n border-radius:5px;\\r\\n position:absolute;\\r\\n left:0;\\r\\n top:50%;\\r\\n}\\r\\n.tag.drug:before,\\r\\n.file.active span.drug{\\r\\n background-color:#FCDEDE;\\r\\n}\\r\\n.tag.great-job:before,\\r\\n.file.active span.great-job{\\r\\n background-color:#F28CA5;\\r\\n}\\r\\n.tag.work:before,\\r\\n.file.active span.work{\\r\\n background-color:#FAC097;\\r\\n}\\r\\n.tag.question:before,\\r\\n.file.active span.question{\\r\\n background-color:#FFF08C;\\r\\n}\\r\\n.tag.planning:before,\\r\\n.file.active span.planning{\\r\\n background-color:#9DD9A5;\\r\\n}\\r\\n.tag.know:before,\\r\\n.file.active span.know{\\r\\n background-color:#7FBFBF;\\r\\n}\\r\\n.tag.numeric:before,\\r\\n.file.active span.numeric{\\r\\n background-color:#A2F7F7;\\r\\n}\\r\\n.tag.ask:before,\\r\\n.file.active span.ask{\\r\\n background-color:#7FC0E3;\\r\\n}\\r\\n.tag.patient:before,\\r\\n.file.active span.patient{\\r\\n background-color:#F2DEFF;\\r\\n}\\r\\n.tag.field-visit:before,\\r\\n.file.active span.field-visit{\\r\\n background-color:#F798F2;\\r\\n}\\r\\n.tag.thank:before,\\r\\n.file.active span.thank{\\r\\n background-color:#BFBFBF;\\r\\n}\\r\\n.slide-6 .content ul{\\r\\n margin:0;\\r\\n padding:0;\\r\\n list-style:none;\\r\\n}\\r\\n.slide-6 .left-list{\\r\\n opacity:0;\\r\\n transform:translateX(100%);\\r\\n transition:all 300ms ease-in-out;\\r\\n transition-delay:200ms;\\r\\n}\\r\\n.slide-6.animate-in .left-list,.animate-in .bottom-text{\\r\\n opacity:1;\\r\\n transform:translateX(0);\\r\\n}\\r\\n.slide-6.animate-out .left-list{\\r\\n opacity:0;\\r\\n transform:translateX(-30%);\\r\\n}\\r\\nul.list li{\\r\\n margin-bottom:20px;\\r\\n padding:20px 15px;\\r\\n font-family:'DINProMedium';\\r\\n font-size:24px;\\r\\n line-height:28px;\\r\\n display:flex;\\r\\n flex-direction:column;\\r\\n justify-content:center;\\r\\n background:linear-gradient(90deg, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0) 100%);\\r\\n filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFF', endColorstr='#FFFFFF',GradientType=1 );\\r\\n}\\r\\nul.list li>span{\\r\\n margin-top:3px;\\r\\n font-family:'DINProRegular';\\r\\n font-size:14px;\\r\\n line-height:18px;\\r\\n display:block;\\r\\n}\\r\\n.slide-6 .content > .left-list{\\r\\n width:28%;\\r\\n padding:0 60px;\\r\\n}\\r\\n.slide-6 .content > .benefits{\\r\\n width:38%;\\r\\n padding:0 60px;\\r\\n /* background-color:rgba(255, 255, 255, 0.12);\\r\\n opacity:0;\\r\\n transition:all 300ms ease-in-out;\\r\\n transition-delay:200ms; */\\r\\n}\\r\\n/* .slide-6.animate-in .content > .benefits{\\r\\n opacity:1;\\r\\n}\\r\\n.slide-6.animate-out .content > .benefits{\\r\\n opacity:0;\\r\\n} */\\r\\n.benefits h3{\\r\\n margin-bottom:25px;\\r\\n}\\r\\n.benefits ul li{\\r\\n margin-bottom:30px;\\r\\n}\\r\\n.benefits p{\\r\\n margin:5px 0;\\r\\n}\\r\\n.benefits p > span{\\r\\n font-family:'DINProBold';\\r\\n}\\r\\n.footer-nav{\\r\\n width:100%;\\r\\n padding:0 25px;\\r\\n position:fixed;\\r\\n bottom:10px;\\r\\n z-index:3;\\r\\n}\\r\\n.footer-nav ul{\\r\\n margin:0;\\r\\n padding:0;\\r\\n list-style:none;\\r\\n display:flex;\\r\\n justify-content:space-between;\\r\\n}\\r\\n.footer-nav ul li{\\r\\n height:36px;\\r\\n width:200px;\\r\\n font-family:'DINProMedium';\\r\\n font-size:18px;\\r\\n color:#FFFFFF;\\r\\n line-height:36px;\\r\\n text-align:center;\\r\\n text-transform:uppercase;\\r\\n}\\r\\n.footer-nav ul li.active{\\r\\n font-family:'DINProBold';\\r\\n color:#ED8B00;\\r\\n background-color:rgba(255, 255, 255, 0.8);\\r\\n}\\r\\n.footer-nav ul li > span{\\r\\n height:24px;\\r\\n width:24px;\\r\\n display:inline-block;\\r\\n border:6px solid black;\\r\\n border-top:none;\\r\\n vertical-align:middle;\\r\\n cursor:pointer;\\r\\n}\\r\\n.footer-nav ul li > span.left{\\r\\n border-right:none;\\r\\n transform:rotate(45deg);\\r\\n}\\r\\n.footer-nav ul li > span.right{\\r\\n border-left:none;\\r\\n transform:rotate(-45deg);\\r\\n}\\r\\n.footer-nav ul li > span.disabled{\\r\\n cursor:default;\\r\\n border-color:rgba(255, 255, 255, 0.5);\\r\\n}\\r\\n/* test css */\\r\\n.rotate-clockwise{\\r\\n animation:rotate-center 5s linear infinite both;\\r\\n}\\r\\n@keyframes rotate-center{\\r\\n 0%{\\r\\n transform-box:fill-box;\\r\\n transform-origin:center;\\r\\n transform:rotate(0);\\r\\n }\\r\\n 100%{\\r\\n transform-box:fill-box;\\r\\n transform-origin:center;\\r\\n transform:rotate(360deg);\\r\\n }\\r\\n}\\r\\n/* REPONSIVE CSS :: START */\\r\\n@media screen and (max-height:740px){\\r\\n .sotry-content-wrapper>div{\\r\\n padding-bottom:40px;\\r\\n }\\r\\n .sotry-content-wrapper .content h2{\\r\\n font-size:30px;\\r\\n }\\r\\n .sotry-content-wrapper .content h3{\\r\\n font-size:28px;\\r\\n }\\r\\n .sotry-content-wrapper .content p{\\r\\n font-size:18px;\\r\\n }\\r\\n .file-stack:after{\\r\\n height:50px;\\r\\n }\\r\\n .file-stack .file{\\r\\n max-width:330px;\\r\\n }\\r\\n .file p{\\r\\n margin:0;\\r\\n font-size:13px;\\r\\n }\\r\\n .sotry-content-wrapper>div.slide-5 .content p.action-note{\\r\\n margin-bottom:20px;\\r\\n }\\r\\n .sotry-content-wrapper>div.slide-6 .content{\\r\\n width:65%;\\r\\n }\\r\\n .nlp-wrapper .tags-wrapper{\\r\\n max-width:490px;\\r\\n }\\r\\n .tags-wrapper .tags-block{\\r\\n font-size:15px;\\r\\n }\\r\\n .tags-block > span.tag{\\r\\n margin:0 5px 5px;\\r\\n }\\r\\n .file-stack ul.label-list{\\r\\n top:80px;\\r\\n }\\r\\n .nlp-wrapper + .btn-light{\\r\\n margin-top:10px;\\r\\n }\\r\\n .slide-6 .content > .left-list{\\r\\n padding:0 40px;\\r\\n }\\r\\n ul.list li{\\r\\n font-size:20px;\\r\\n line-height:22px;\\r\\n margin-bottom:15px;\\r\\n padding:15px;\\r\\n }\\r\\n .slide-6 .content > .benefits{\\r\\n padding:0 40px;\\r\\n }\\r\\n .benefits h3,\\r\\n .benefits ul li{\\r\\n margin-bottom:15px;\\r\\n }\\r\\n .sotry-content-wrapper .content p{\\r\\n font-size:16px;\\r\\n }\\r\\n .sotry-content-wrapper .content .btn-light,\\r\\n .sotry-content-wrapper .content .btn-light:active,\\r\\n .sotry-content-wrapper .content .btn-light:focus{\\r\\n font-size:18px;\\r\\n padding:10px 15px;\\r\\n }\\r\\n .sotry-content-wrapper .content .btn-light>img{\\r\\n height:20px;\\r\\n }\\r\\n .footer-nav{\\r\\n bottom:5px;\\r\\n }\\r\\n .footer-nav ul li{\\r\\n height:26px;\\r\\n width:160px;\\r\\n font-size:15px;\\r\\n line-height:26px;\\r\\n }\\r\\n .footer-nav ul li > span{\\r\\n width:16px;\\r\\n height:16px;\\r\\n border-width:4px;\\r\\n }\\r\\n}\\r\\n/* REPONSIVE CSS :: END */\\r\\n.virtual-rep-trainer-stp-active header.humburger-header nav.navbar .header-menu li a.menu-icon{\\r\\n border-top-color: #DD6550;\\r\\n border-bottom-color: #DD6550;\\r\\n}\\r\\n.virtual-rep-trainer-stp-active header.humburger-header nav.navbar .header-menu li a.menu-icon span{\\r\\n background-color:#DD6550;\\r\\n}\\r\\n.virtual-rep-trainer-stp-active .field-story header .navbar-brand img.zs-logo-w {\\r\\n opacity: 0;\\r\\n}\\r\\n.virtual-rep-trainer-stp-active.field-story header .navbar-brand img.zs-logo{\\r\\n opacity: 1;\\r\\n z-index: 2;\\r\\n}\\r\\n.virtual-rep-wrapper #svg-wrapper svg{\\r\\n display: none;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper>div .content {\\r\\n width: 45%;\\r\\n padding-left: 5%;\\r\\n flex: 0 45%;\\r\\n}\\r\\n.virtual-rep-wrapper .img-section {\\r\\n text-align: center;\\r\\n flex: 0 55%;\\r\\n padding-left: 50px;\\r\\n}\\r\\n.virtual-rep-wrapper .footer-nav{\\r\\n bottom: 20px;\\r\\n}\\r\\n.footer-steps {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n position: relative;\\r\\n}\\r\\n.footer-steps:after {\\r\\n content: \\\"\\\";\\r\\n height: 1px;\\r\\n width: 100%;\\r\\n display: block;\\r\\n background-color: #000;\\r\\n position: absolute;\\r\\n}\\r\\n.footer-nav ul .footer-steps li {\\r\\n min-width: 150px;\\r\\n height: 35px;\\r\\n border: 1px solid #D55A6A;\\r\\n margin: 0 80px;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n display: flex;\\r\\n border-radius: 20px;\\r\\n color: #000;\\r\\n background: #fff;\\r\\n font-size: 18px;\\r\\n text-wrap: nowrap;\\r\\n padding: 0 20px;\\r\\n width: auto;\\r\\n z-index: 1;\\r\\n}\\r\\n.footer-nav ul .footer-steps li:first-child {\\r\\n margin-left: 0;\\r\\n}\\r\\n.footer-nav ul .footer-steps li:last-child {\\r\\n margin-right: 0;\\r\\n}\\r\\n.footer-nav ul .footer-steps li.active{\\r\\n background-color: #D55A6A;\\r\\n color: #fff;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content h3 {\\r\\n color: #D5596B;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content p,.virtual-rep-wrapper .sotry-content-wrapper .content strong.sub-title {\\r\\n color: #5D5D5D;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content strong {\\r\\n color: #D5596B;\\r\\n}\\r\\n.field-coaching-svg-wrapper.virtual-rep-wrapper{\\r\\n background: linear-gradient(114.88deg, #FFFFFF 23.67%, #FFF9F7 65.73%, #FDF5F7 92.62%);\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper>div {\\r\\n opacity: 0;\\r\\n background-repeat: no-repeat;\\r\\n background-position: center right 0px;\\r\\n background-size: auto 82%;\\r\\n justify-content: flex-start;\\r\\n transition: all 1000ms ease-in-out;\\r\\n padding-bottom: 60px;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper>div.animate-in{\\r\\n opacity: 1;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content h2, .virtual-rep-wrapper .sotry-content-wrapper .content h3, .virtual-rep-wrapper .sotry-content-wrapper .content p, \\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content ul.list-count li,.bottom-text{\\r\\n transform: translateX(-1000%);\\r\\n transition: all 1000ms ease-in-out;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .img-section{\\r\\n transform: translateX(100%);\\r\\n transition: all 1000ms ease-in-out;\\r\\n text-align: right;\\r\\n height: 729px;\\r\\n position: relative;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .img-section:before {\\r\\n content: \\\"\\\";\\r\\n height: 1px;\\r\\n width: 70%;\\r\\n display: block;\\r\\n background-color: #000;\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n margin: auto;\\r\\n top: 66px;\\r\\n transform: translateX(100%);\\r\\n transition: all 2000ms ease-in-out;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .animate-in .img-section::before,\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content ul.outcome-list li:before{\\r\\n transform: translateX(0);\\r\\n}\\r\\n.virtual-rep-wrapper .img-section img {\\r\\n height: auto;\\r\\n max-height: 100%;\\r\\n position: relative;\\r\\n z-index: 1;\\r\\n margin-top: -110px;\\r\\n}\\r\\n.virtual-rep-wrapper .img-section img {\\r\\n max-height: 100%;\\r\\n width: auto;\\r\\n}\\r\\n.virtual-rep-wrapper.field-coaching-svg-wrapper.slide-6-active:before{\\r\\n display: none;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .animate-in .content h2, .virtual-rep-wrapper .sotry-content-wrapper .animate-in .content h3, .virtual-rep-wrapper .sotry-content-wrapper .animate-in .content p,\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .animate-in .img-section,.virtual-rep-wrapper .sotry-content-wrapper .animate-in .content ul.list-count li{\\r\\n transform: translateX(0);\\r\\n \\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content p{\\r\\n font-size: 28px;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content h3{\\r\\n font-size: 44px;\\r\\n text-transform: uppercase;\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content ul li{\\r\\n color: #5D5D5D;\\r\\n font-size: 24px;\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper>div.slide-3 .content{\\r\\n transform: none;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content ul {\\r\\n padding-left: 25px;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper>div.slide-1.animate-in{\\r\\n background-position: center right 100px;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper>div.slide-5.animate-in{\\r\\n background-position: center right 80px;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper>div.animate-in{\\r\\n background-position: center right 0;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper>div{\\r\\n background-position: center right -100%;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper>div.slide-3{\\r\\n background-size: auto 72%;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content strong.bottom-text {\\r\\n color: #5D5D5D;\\r\\n margin-left: 25px;\\r\\n display: block;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content .outcome-list li {\\r\\n position: relative;\\r\\n min-height: 200px;\\r\\n border-radius: 100px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin-bottom: 30px;\\r\\n padding-right: 10px;\\r\\n transform: translateX(-1000%);\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .animate-in .content .outcome-list li{\\r\\ntransform: translateX(0);\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .animate-in .content .outcome-list li:first-child{\\r\\n transition: all 1200ms ease-in-out;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .animate-in .content .outcome-list li:nth-child(2){\\r\\n transition: all 1400ms ease-in-out;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .animate-in .content .outcome-list li:last-child{\\r\\n transition: all 1600ms ease-in-out;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content .outcome-list li small{\\r\\n flex: 0 0 160px;\\r\\n min-height: 160px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n margin: 0 20px;\\r\\n font-size: 100px;\\r\\n color: #F8DBD6;\\r\\n position: relative;\\r\\n border-radius: 100%;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content .outcome-list li small::after {\\r\\n border-radius: 100%;\\r\\n border: 0.71px solid rgba(219, 98, 89, 0.50);\\r\\n opacity: 0.3;\\r\\n background: linear-gradient(180deg, rgba(255, 255, 255, 0.20) 0%, rgba(232, 107, 78, 0.20) 100%);\\r\\n box-shadow: 3.549px 2.839px 2.839px 0px rgba(0, 0, 0, 0.25);\\r\\n display: block;\\r\\n content: \\\"\\\";\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content .outcome-list li:after {\\r\\n border-radius: 100px;\\r\\n border: 1px solid rgba(219, 98, 89, 0.50);\\r\\n opacity: 0.3;\\r\\n background: linear-gradient(180deg, rgba(255, 255, 255, 0.20) 0%, rgba(232, 107, 78, 0.20) 100%);\\r\\n box-shadow: 5px 4px 4px 0px rgba(0, 0, 0, 0.25);\\r\\n min-height: 100%;\\r\\n content: \\\"\\\";\\r\\n display: block;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n right: 0;\\r\\n}\\r\\nul.outcome-list:after {\\r\\n content: \\\"\\\";\\r\\n display: block;\\r\\n background-color: #263238;\\r\\n width: 1px;\\r\\n position: absolute;\\r\\n right: -60px;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n transition: all 500ms ease-in-out;\\r\\n height: 0;\\r\\n}\\r\\n.animate-in .outcome-list:after {\\r\\n height: calc(100% - 200px);\\r\\n transition: all 1600ms ease-in-out;\\r\\n}\\r\\nul.outcome-list{\\r\\n position: relative;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content .outcome-list li:last-child{\\r\\n margin-bottom: 0;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper .content .outcome-list li:before {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n right: -60px;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n width: 60px;\\r\\n height: 1px;\\r\\n background-color: #263238;\\r\\n margin: auto;\\r\\n transform: translateX(100%);\\r\\n transition: all 2000ms ease-in-out;\\r\\n}\\r\\n.slide-dots {\\r\\n position: fixed;\\r\\n left: 0;\\r\\n right: auto;\\r\\n height: 120px;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n top: 0;\\r\\n background: #fff;\\r\\n z-index: 2;\\r\\n padding-top: 20px;\\r\\n padding-left: 2%;\\r\\n}\\r\\n.slide-dots span {\\r\\n background: #D9D9D9;\\r\\n width: 20px;\\r\\n height: 20px;\\r\\n display: block;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 20px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.slide-dots span:last-child {\\r\\n margin-bottom: 0;\\r\\n}\\r\\n.slide-dots span.active-slide{\\r\\n cursor: default;\\r\\n background-color: #D5596B;\\r\\n}\\r\\n.virtual-rep-wrapper .sotry-content-wrapper>div.slide-6 .content{\\r\\n height: auto;\\r\\n}\\r\\n@media screen and (max-height:860px){\\r\\n .virtual-rep-wrapper .sotry-content-wrapper .content h3{\\r\\n font-size: 34px;\\r\\n }\\r\\n .virtual-rep-wrapper .sotry-content-wrapper .content p .sub-title{\\r\\n font-size: 22px;\\r\\n }\\r\\n .virtual-rep-wrapper .sotry-content-wrapper .content p, \\r\\n .virtual-rep-wrapper .sotry-content-wrapper .content ul li{\\r\\n font-size: 20px;\\r\\n }\\r\\n .virtual-rep-wrapper .sotry-content-wrapper .content .outcome-list li{\\r\\n min-height: 130px;\\r\\n margin-bottom: 20px;\\r\\n }\\r\\n .animate-in .outcome-list:after {\\r\\n height: calc(100% - 130px);\\r\\n }\\r\\n .virtual-rep-wrapper .sotry-content-wrapper .content .outcome-list li small{\\r\\n flex: 0 0 110px;\\r\\n min-height: 110px;\\r\\n font-size: 50px;\\r\\n margin: 0 10px;\\r\\n }\\r\\n \\r\\n\\r\\n .virtual-rep-wrapper .sotry-content-wrapper .img-section{\\r\\n height: 480px;\\r\\n }\\r\\n .virtual-rep-wrapper .sotry-content-wrapper .img-section:before {\\r\\n top: 51px;\\r\\n }\\r\\n .virtual-rep-wrapper .img-section img {\\r\\n margin-top: -70px;\\r\\n }\\r\\n .footer-nav ul .footer-steps li{\\r\\n font-size: 15px;\\r\\n }\\r\\n .slide-dots span{\\r\\n width: 16px;\\r\\n height: 16px;\\r\\n }\\r\\n .virtual-rep-wrapper .sotry-content-wrapper>div.slide-3 .content,.virtual-rep-wrapper .sotry-content-wrapper>div.slide-4 .content,\\r\\n.virtual-rep-wrapper .sotry-content-wrapper>div.slide-5 .content{\\r\\n margin-left: 15%;\\r\\n padding-left: 0;\\r\\n}\\r\\n}\\r\\n@media screen and (max-height:700px){\\r\\n .virtual-rep-wrapper .sotry-content-wrapper .content h3{\\r\\n font-size: 30px;\\r\\n }\\r\\n .virtual-rep-wrapper .sotry-content-wrapper .content p .sub-title{\\r\\n font-size: 20px;\\r\\n }\\r\\n .virtual-rep-wrapper .sotry-content-wrapper .content p, \\r\\n .virtual-rep-wrapper .sotry-content-wrapper .content ul li{\\r\\n font-size: 18px;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lkZ2V0cy92aXJ0dWFsLXJlcC10cmFpbmVyL3ZpcnR1YWwtcmVwLXRyYWluZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7SUFFSSxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsa0JBQWtCO0NBQ3JCO0FBQ0Q7SUFDSSxrQkFBa0I7Q0FDckI7QUFDRDtJQUNJLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLFNBQVM7SUFDVCxVQUFVO0lBQ1YsUUFBUTtJQUNSLFdBQVc7SUFDWCxVQUFVO0lBS1YsOEdBQThHO0lBQzlHLG1IQUFtSDtJQUNuSCxpQ0FBaUM7SUFDakMsdUJBQXVCO0NBQzFCO0FBQ0Q7SUFDSSxVQUFVO0lBQ1YsU0FBUztJQUNULHVCQUF1QjtDQUMxQjtBQUNEO0lBQ0ksZUFBZTtDQUNsQjtBQUNEO0lBQ0ksYUFBYTtJQUNiLGVBQWU7SUFDZixVQUFVO0lBS1YsMkRBQTJEO0lBQzNELG1IQUFtSDtDQUN0SDtBQUVEO0lBQ0ksY0FBYztDQUNqQjtBQUNEO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIsYUFBYTtJQUNiLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixPQUFPO0NBQ1Y7QUFDRDtJQUNJLFVBQVU7Q0FDYjtBQUNEO0lBQ0ksb0JBQW9CO0NBQ3ZCO0FBQ0Q7O0lBRUksOEJBQThCO0NBQ2pDO0FBQ0Q7SUFDSSxVQUFVO0NBQ2I7QUFDRDtJQUNJLFVBQVU7SUFDViwwQkFBMEI7Q0FDN0I7QUFDRDtJQUNJLFVBQVU7Q0FDYjtBQUNEOzs7SUFHSSwyQkFBMkI7SUFDM0IsVUFBVTtJQUNWLGlDQUFpQztDQUNwQztBQUNEO0lBQ0kseUJBQXlCO0lBQ3pCLGVBQWU7SUFDZixtQkFBbUI7Q0FDdEI7QUFDRDtJQUNJLDRCQUE0QjtJQUM1QixlQUFlO0lBQ2YsdUJBQXVCO0NB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UUFDSSxrQkFBa0I7UUFDbEIsb0JBQW9CO0tBQ3ZCO0lBQ0Q7UUFDSSwyQkFBMkI7S0FDOUI7SUFDRDtRQUNJLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsZ0JBQWdCO1FBQ2hCLGVBQWU7S0FDbEI7OztJQUdEO1FBQ0ksY0FBYztLQUNqQjtJQUNEO1FBQ0ksVUFBVTtLQUNiO0lBQ0Q7UUFDSSxrQkFBa0I7S0FDckI7SUFDRDtRQUNJLGdCQUFnQjtLQUNuQjtJQUNEO1FBQ0ksWUFBWTtRQUNaLGFBQWE7S0FDaEI7SUFDRDs7SUFFQSxpQkFBaUI7SUFDakIsZ0JBQWdCO0NBQ25CO0NBQ0E7QUFFRDtJQUNJO1FBQ0ksZ0JBQWdCO0tBQ25CO0lBQ0Q7UUFDSSxnQkFBZ0I7S0FDbkI7SUFDRDs7UUFFSSxnQkFBZ0I7S0FDbkI7Q0FDSiIsImZpbGUiOiJzcmMvYXBwL3dpZGdldHMvdmlydHVhbC1yZXAtdHJhaW5lci92aXJ0dWFsLXJlcC10cmFpbmVyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaW5uZXItcGFnZS13cmFwcGVyLmZpZWxkLXN0b3J5ICNzY3JvbGwtY29udGFpbmVyLFxyXG4uZmllbGQtY29hY2hpbmctc3ZnLXdyYXBwZXIgI3N2Zy13cmFwcGVye1xyXG4gICAgbWF4LWhlaWdodDoxMDB2aDtcclxuICAgIG1pbi1oZWlnaHQ6MTAwdmg7XHJcbiAgICB3aWR0aDoxMDB2dztcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG59XHJcbi5maWVsZC1jb2FjaGluZy1zdmctd3JhcHBlcntcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG59XHJcbi5maWVsZC1jb2FjaGluZy1zdmctd3JhcHBlcjpiZWZvcmV7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIHRvcDowO1xyXG4gICAgYm90dG9tOjA7XHJcbiAgICBsZWZ0OjEwMCU7XHJcbiAgICByaWdodDowO1xyXG4gICAgei1pbmRleDotMTtcclxuICAgIG9wYWNpdHk6MDtcclxuICAgIGJhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgNSUsIHJnYmEoMTM0LDE4OCwyMTEsMC4zNykgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDk1JSk7XHJcbiAgICBiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDUlLCByZ2JhKDEzNCwxODgsMjExLDAuMzcpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSA5NSUpO1xyXG4gICAgYmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgNSUsIHJnYmEoMTM0LDE4OCwyMTEsMC4zNykgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDk1JSk7XHJcbiAgICBiYWNrZ3JvdW5kOi1tcy1saW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgNSUsIHJnYmEoMTM0LDE4OCwyMTEsMC4zNykgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDk1JSk7XHJcbiAgICBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDUlLCByZ2JhKDEzNCwxODgsMjExLDAuMzcpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSA5NSUpO1xyXG4gICAgZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI0ZGRkZGRicsIGVuZENvbG9yc3RyPScjRkZGRkZGJyxHcmFkaWVudFR5cGU9MCApO1xyXG4gICAgdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OjIwMG1zO1xyXG59XHJcbi5maWVsZC1jb2FjaGluZy1zdmctd3JhcHBlci5zbGlkZS02LWFjdGl2ZTpiZWZvcmV7XHJcbiAgICBvcGFjaXR5OjE7XHJcbiAgICBsZWZ0OjYyJTtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6NzAwbXM7XHJcbn1cclxuLmZpZWxkLXN0b3J5IC5tYXQtdG9vbHRpcHtcclxuICAgIGZvbnQtc2l6ZToxMnB4O1xyXG59XHJcbi5maWVsZC1jb2FjaGluZy1zdmctd3JhcHBlcntcclxuICAgIGhlaWdodDoxMDB2aDtcclxuICAgIHBvc2l0aW9uOmZpeGVkO1xyXG4gICAgei1pbmRleDowO1xyXG4gICAgYmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudCg5MGRlZywgIzc5QkVCOSAwJSwgIzAwNjI5QiAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoOTBkZWcsICM3OUJFQjkgMCUsICMwMDYyOUIgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudCg5MGRlZywgIzc5QkVCOSAwJSwgIzAwNjI5QiAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6LW1zLWxpbmVhci1ncmFkaWVudCg5MGRlZywgIzc5QkVCOSAwJSwgIzAwNjI5QiAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcsICM3OUJFQjkgMCUsICMwMDYyOUIgMTAwJSk7XHJcbiAgICBmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDA2MjlCJywgZW5kQ29sb3JzdHI9JyM3OUJFQjknLEdyYWRpZW50VHlwZT0wICk7XHJcbn1cclxuXHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXJ7XHJcbiAgICBjb2xvcjojRkZGRkZGO1xyXG59XHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXI+ZGl2e1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OmZsZXgtZW5kO1xyXG4gICAgaGVpZ2h0OjEwMHZoO1xyXG4gICAgd2lkdGg6MTAwdnc7XHJcbiAgICBwYWRkaW5nOjYwcHggNDBweDtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgdG9wOjA7XHJcbiAgICBsZWZ0OjA7XHJcbn1cclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlcj5kaXYuYW5pbWF0ZS1pbntcclxuICAgIHotaW5kZXg6MjtcclxufVxyXG4uc290cnktY29udGVudC13cmFwcGVyPmRpdi5zbGlkZS02e1xyXG4gICAgcGFkZGluZzo3MHB4IDAgNjBweDtcclxufVxyXG4uc290cnktY29udGVudC13cmFwcGVyPmRpdi5zbGlkZS00LFxyXG4uc290cnktY29udGVudC13cmFwcGVyPmRpdi5zbGlkZS01e1xyXG4gICAganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47XHJcbn1cclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlcj5kaXYgLmNvbnRlbnR7XHJcbiAgICB3aWR0aDo0MSU7XHJcbn1cclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlcj5kaXYuc2xpZGUtMyAuY29udGVudHtcclxuICAgIHdpZHRoOjM2JTtcclxuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKDYwJSk7XHJcbn1cclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlcj5kaXYuc2xpZGUtNCAuY29udGVudHtcclxuICAgIHdpZHRoOjM1JTtcclxufVxyXG4uc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IGgyLFxyXG4uc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IGgzLFxyXG4uc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IHB7XHJcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTtcclxuICAgIG9wYWNpdHk6MDtcclxuICAgIHRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgaDJ7XHJcbiAgICBmb250LWZhbWlseTonRElOUHJvQm9sZCc7XHJcbiAgICBmb250LXNpemU6NDBweDtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6MDtcclxufVxyXG4uc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IGgze1xyXG4gICAgZm9udC1mYW1pbHk6J0RJTlByb1JlZ3VsYXInO1xyXG4gICAgZm9udC1zaXplOjQwcHg7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OjIwMG1zO1xyXG59XHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgaDR7XHJcbiAgICBmb250LWZhbWlseTonRElOUHJvTWVkaXVtJztcclxuICAgIGZvbnQtc2l6ZToyN3B4O1xyXG59XHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgcHtcclxuICAgIG1hcmdpbjowO1xyXG4gICAgZm9udC1zaXplOjIwcHg7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OjQwMG1zO1xyXG59XHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLmJ0bi1saWdodCxcclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCAuYnRuLWxpZ2h0OmFjdGl2ZSxcclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCAuYnRuLWxpZ2h0OmZvY3Vze1xyXG4gICAgZm9udC1mYW1pbHk6J0RJTlByb01lZGl1bSc7XHJcbiAgICBmb250LXNpemU6MjJweDtcclxuICAgIGNvbG9yOiNFRDhCMDA7XHJcbiAgICBib3gtc2hhZG93OjAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xyXG59XHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmFuaW1hdGUtaW4gLmNvbnRlbnQgaDIsXHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmFuaW1hdGUtaW4gLmNvbnRlbnQgaDMsXHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmFuaW1hdGUtaW4gLmNvbnRlbnQgcHtcclxuICAgIG9wYWNpdHk6MTtcclxuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKTtcclxufVxyXG4uc290cnktY29udGVudC13cmFwcGVyIC5hbmltYXRlLW91dCAuY29udGVudCBoMixcclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuYW5pbWF0ZS1vdXQgLmNvbnRlbnQgaDMsXHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmFuaW1hdGUtb3V0IC5jb250ZW50IHB7XHJcbiAgICBvcGFjaXR5OjA7XHJcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtcclxufVxyXG5cclxuLnNsaWRlLTQgLmZpbGUtd3JhcHBlcntcclxuICAgIHRyYW5zZm9ybTpza2V3WSgtNWRlZyk7XHJcbn1cclxuLmZpbGUtc3RhY2t7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxufVxyXG4uZmlsZS1zdGFjazphZnRlcntcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIGhlaWdodDo5MHB4O1xyXG4gICAgYmFja2dyb3VuZDojRTBFMEUwO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICB6LWluZGV4Oi0xO1xyXG4gICAgYm9yZGVyLXJhZGl1czo1MCU7XHJcbiAgICBib3R0b206MHB4O1xyXG4gICAgbGVmdDotMzBweDtcclxuICAgIHJpZ2h0Oi0zMHB4O1xyXG4gICAgb3BhY2l0eTowLjI7XHJcbiAgICB0cmFuc2Zvcm06c2NhbGUoMCkgdHJhbnNsYXRlWSg1MCUpO1xyXG4gICAgdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuLmZpbGUtc3RhY2subGFiZWxsZWQtZmlsZSAuZmlsZS1vdXRlcjpiZWZvcmV7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICB3aWR0aDoyNXB4O1xyXG4gICAgdG9wOjIwcHg7XHJcbiAgICBib3R0b206MjBweDtcclxuICAgIGxlZnQ6LTI1cHg7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIGJvcmRlcjoycHggZGFzaGVkICNFRDhCMDA7XHJcbiAgICBib3JkZXItcmlnaHQ6bm9uZTtcclxufVxyXG4uZmlsZS1zdGFjay5sYWJlbGxlZC1maWxlIC5maWxlLW91dGVyIC5maWxlLWhlYWRlcj5kaXZ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNFRDhCMDA7XHJcbn1cclxuLmZpbGUtc3RhY2sgdWwubGFiZWwtbGlzdHtcclxuICAgIG1hcmdpbjowO1xyXG4gICAgcGFkZGluZzowO1xyXG4gICAgbGlzdC1zdHlsZTpub25lO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICB0b3A6NTBweDtcclxuICAgIGxlZnQ6LTEzOHB4O1xyXG4gICAgdHJhbnNmb3JtOnNjYWxlKDAsIDEpO1xyXG4gICAgdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0O1xyXG59XHJcbi5hbmltYXRlLWluIC5maWxlLXN0YWNrIHVsLmxhYmVsLWxpc3R7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OjYwMG1zO1xyXG4gICAgdHJhbnNmb3JtOnNjYWxlKDEsIDEpO1xyXG59XHJcbi5hbmltYXRlLW91dCAuZmlsZS1zdGFjayB1bC5sYWJlbC1saXN0e1xyXG4gICAgb3BhY2l0eTowO1xyXG4gICAgdHJhbnNmb3JtOnNjYWxlKDAsIDEpO1xyXG59XHJcbnVsLmxhYmVsLWxpc3QgbGl7XHJcbiAgICBmb250LWZhbWlseTonRElOUHJvTWVkaXVtJztcclxuICAgIGZvbnQtc2l6ZToxNXB4O1xyXG4gICAgY29sb3I6I0ZGRkZGRjtcclxuICAgIGxpbmUtaGVpZ2h0OjIycHg7XHJcbn1cclxudWwubGFiZWwtbGlzdCBsaTpmaXJzdC1jaGlsZHtcclxuICAgIHdpZHRoOjExNHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbToxMHB4O1xyXG4gICAgcGFkZGluZzowIDIwcHggNXB4IDA7XHJcbiAgICBib3JkZXItYm90dG9tOjJweCBkYXNoZWQgI0VEOEIwMDtcclxufVxyXG51bC5sYWJlbC1saXN0IGxpLmxhYmVse1xyXG4gICAgd2lkdGg6OTRweDtcclxuICAgIGhlaWdodDoyNHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OjVweDtcclxuICAgIG1hcmdpbi1ib3R0b206MTBweDtcclxuICAgIGZvbnQtZmFtaWx5OidESU5Qcm9Cb2xkJztcclxuICAgIGZvbnQtc2l6ZToxMnB4O1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbn1cclxudWwubGFiZWwtbGlzdCBsaS5sYWJlbDphZnRlcntcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBoZWlnaHQ6MnB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbToycHggZGFzaGVkICNFRDhCMDA7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIHRvcDoxMHB4O1xyXG4gICAgbGVmdDoyMHB4O1xyXG4gICAgei1pbmRleDotMTtcclxufVxyXG51bC5sYWJlbC1saXN0IGxpLmxhYmVsLmludmFsaWR7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNFNTVBNUY7XHJcbn1cclxudWwubGFiZWwtbGlzdCBsaS5sYWJlbC52YWxpZHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IzAwRDE1OTtcclxufVxyXG4uZmlsZS13cmFwcGVyIC5maWxlLXN0YWNrOmFmdGVye1xyXG4gICAgaGVpZ2h0OjEwMHB4O1xyXG4gICAgYm90dG9tOi0yMHB4O1xyXG4gICAgcmlnaHQ6LTgwcHg7XHJcbn1cclxuaS5pY29ue1xyXG4gICAgaGVpZ2h0OjE2cHg7XHJcbiAgICB3aWR0aDoxNnB4O1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46M3B4IDVweCAzcHggMDtcclxuICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcclxufVxyXG5pLmljb24uaW5mb3tcclxuICAgIGJhY2tncm91bmQ6dXJsKFwiL2Fzc2V0cy9pbWFnZXMvZmllbGQtY29hY2hpbmcvaW5mby1pY29uLnBuZ1wiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcclxufVxyXG4uYW5pbWF0ZS1pbiAuZmlsZS1zdGFjazphZnRlcntcclxuICAgIHRyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGVZKDUwJSk7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OjIwMG1zO1xyXG59XHJcbi5hbmltYXRlLW91dCAuZmlsZS1zdGFja3tcclxuICAgIG9wYWNpdHk6MDtcclxuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTtcclxufVxyXG5cclxuLmZpbGUtc3RhY2sgLmZpbGUtb3V0ZXJ7XHJcbiAgICBib3JkZXI6IzAwMCAxcHggc29saWQ7XHJcbiAgICBib3gtc2hhZG93Oi0ycHggLTJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcclxuICAgIG9wYWNpdHk6MDtcclxuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTEwMCUsIC0yMCUpO1xyXG4gICAgdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuLnNsaWRlLTUgLmZpbGUtc3RhY2sgLmZpbGUtb3V0ZXJ7XHJcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDEwMCUsIDAlKTtcclxufVxyXG4uc2xpZGUtNS5hbmltYXRlLWluIC5maWxlLXN0YWNrIC5maWxlLW91dGVyOmZpcnN0LWNoaWxke1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTozMDBtcztcclxufVxyXG4uYW5pbWF0ZS1pbiAuZmlsZS1zdGFjayAuZmlsZS1vdXRlcntcclxuICAgIG9wYWNpdHk6MTtcclxufVxyXG4uZmlsZS1zdGFjayAuZmlsZS1vdXRlcjpub3QoOmZpcnN0LWNoaWxkKXtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgdG9wOjA7XHJcbn1cclxuLmFuaW1hdGUtaW4gLmZpbGUtc3RhY2sgLmZpbGUtb3V0ZXI6Zmlyc3QtY2hpbGR7XHJcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDBweCwgMHB4KTtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6ODAwbXM7XHJcbn1cclxuLmFuaW1hdGUtaW4gLmZpbGUtc3RhY2sgLmZpbGUtb3V0ZXI6bnRoLWNoaWxkKDIpe1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgxMHB4LCAxMHB4KTtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6NjAwbXM7XHJcbn1cclxuLmFuaW1hdGUtaW4gLmZpbGUtc3RhY2sgLmZpbGUtb3V0ZXI6bnRoLWNoaWxkKDMpe1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgyMHB4LCAyMHB4KTtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6NDAwbXM7XHJcbn1cclxuLmFuaW1hdGUtaW4gLmZpbGUtc3RhY2sgLmZpbGUtb3V0ZXI6bnRoLWNoaWxkKDQpe1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgzMHB4LCAzMHB4KTtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6MjAwbXM7XHJcbn1cclxuLmFuaW1hdGUtaW4gLmZpbGUtc3RhY2sgLmZpbGUtb3V0ZXI6bnRoLWNoaWxkKDUpe1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSg0MHB4LCA0MHB4KTtcclxufVxyXG4uZmlsZS1vdXRlciAuZmlsZS1oZWFkZXJ7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBoZWlnaHQ6MThweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IzUzNTY1QTtcclxuICAgIGJvcmRlcjojNTM1NjVBIDEwcHggc29saWQ7XHJcbiAgICBib3JkZXItYm90dG9tOm5vbmU7XHJcbn1cclxuLmZpbGUtb3V0ZXI6bm90KDpsYXN0LWNoaWxkKSAuZmlsZS1oZWFkZXJ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiM3NDc0NzQ7XHJcbiAgICBib3JkZXItY29sb3I6Izc0NzQ3NDtcclxufVxyXG4uZmlsZS1vdXRlcjpub3QoOmxhc3QtY2hpbGQpIC5maWxlLWhlYWRlcj5kaXZ7XHJcbiAgICBib3JkZXItY29sb3I6Izc0NzQ3NDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IzUzNTY1QTtcclxufVxyXG5cclxuLmZpbGUtaGVhZGVyID4gZGl2e1xyXG4gICAgd2lkdGg6MjNweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IzAwMDtcclxuICAgIGJvcmRlci1sZWZ0OjNweCAjNTM1NjVBIHNvbGlkO1xyXG59XHJcbi5maWxlLWhlYWRlciA+IGRpdjpmaXJzdC1jaGlsZHtcclxuICAgIHdpZHRoOjIwcHg7XHJcbiAgICBib3JkZXI6bm9uZTtcclxufVxyXG4uZmlsZS1oZWFkZXIgPiBkaXY6bGFzdC1jaGlsZHtcclxuICAgIGZsZXg6MTtcclxuICAgIGJvcmRlci13aWR0aDoyNnB4O1xyXG59XHJcbi5maWxlLXN0YWNrIC5maWxle1xyXG4gICAgbWF4LXdpZHRoOjM3MHB4O1xyXG4gICAgcGFkZGluZzoyMHB4O1xyXG4gICAgY29sb3I6IzUzNTY1QTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6I0ZGRkZGRjtcclxuICAgIGJvcmRlcjojNTM1NjVBIDEwcHggc29saWQ7XHJcbn1cclxuLmZpbGUtb3V0ZXI6bm90KDpsYXN0LWNoaWxkKSAuZmlsZXtcclxuICAgIGJvcmRlci1jb2xvcjojNzQ3NDc0O1xyXG59XHJcblxyXG4uZmlsZSBoNHtcclxuICAgIGZvbnQtZmFtaWx5OidESU5Qcm9Cb2xkJztcclxuICAgIGZvbnQtc2l6ZToxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6MjJweDtcclxufVxyXG4uZmlsZSBwe1xyXG4gICAgZm9udC1mYW1pbHk6J0RJTlByb01lZGl1bSc7XHJcbiAgICBmb250LXNpemU6MTVweDtcclxufVxyXG5cclxuLnNvdHJ5LWNvbnRlbnQtd3JhcHBlcj5kaXYuc2xpZGUtNSAuY29udGVudHtcclxuICAgIHdpZHRoOmF1dG87XHJcbiAgICBtYXJnaW46MCAzMHB4O1xyXG59XHJcbi5zb3RyeS1jb250ZW50LXdyYXBwZXI+ZGl2LnNsaWRlLTUgLmNvbnRlbnQgcC5hY3Rpb24tbm90ZXtcclxuICAgIG1hcmdpbi1ib3R0b206NDVweDtcclxufVxyXG4uc290cnktY29udGVudC13cmFwcGVyPmRpdi5zbGlkZS02IC5jb250ZW50e1xyXG4gICAgaGVpZ2h0OjEwMCU7XHJcbiAgICB3aWR0aDo2MCU7XHJcbiAgICBmbGV4OjE7XHJcbn1cclxuLnNsaWRlLTUgLmNvbnRlbnR7XHJcbiAgICBvcGFjaXR5OjA7XHJcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTtcclxuICAgIHRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTo1MDBtcztcclxufVxyXG4uc2xpZGUtNS5hbmltYXRlLWluIC5jb250ZW50e1xyXG4gICAgb3BhY2l0eToxO1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7XHJcbn1cclxuLnNsaWRlLTUuYW5pbWF0ZS1vdXQgLmNvbnRlbnR7XHJcbiAgICBvcGFjaXR5OjA7XHJcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMzAlKTtcclxufVxyXG5cclxuLyogICBTd2l0Y2ggU3R5ZXMgICAgICovXHJcbi5zd2l0Y2h7XHJcbiAgICBoZWlnaHQ6MjRweDtcclxuICAgIG1hcmdpbi1ib3R0b206MjBweDtcclxuICAgIGZvbnQtZmFtaWx5OidESU5Qcm9NZWRpdW0nO1xyXG4gICAgZm9udC1zaXplOjE4cHg7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcclxufVxyXG4uc3dpdGNoIGlucHV0e1xyXG4gICAgZGlzcGxheTpub25lO1xyXG59XHJcbi5zbGlkZXJ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNDMUM2Qzg7XHJcbiAgICBjdXJzb3I6cG9pbnRlcjtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgd2lkdGg6NDRweDtcclxuICAgIGhlaWdodDoxNnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OjEwcHg7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIGJvcmRlci1yYWRpdXM6MzRweDtcclxuICAgIHRyYW5zaXRpb246YWxsIDAuNHMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuLnNsaWRlcjpiZWZvcmV7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICBoZWlnaHQ6MjRweDtcclxuICAgIHdpZHRoOjI0cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOjUwJTtcclxuICAgIGJvcmRlcjo3cHggc29saWQgI0ZGRkZGRjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6I0MxQzZDODtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgdG9wOi00cHg7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICB0cmFuc2l0aW9uOmFsbCAwLjRzIGVhc2UtaW4tb3V0O1xyXG59XHJcbmlucHV0OmNoZWNrZWQgKyAuc2xpZGVyOmJlZm9yZXtcclxuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojRUQ4QjAwO1xyXG59XHJcbi8qICAgU3dpdGNoIFN0eWVzICAgICAqL1xyXG5cclxuLm5scC13cmFwcGVye1xyXG4gICAgcGFkZGluZy1sZWZ0OjYwcHg7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxufVxyXG4ubmxwLXdyYXBwZXIgLnN2Zy1ucGwtd3JhcHBlcntcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgbGVmdDowcHg7XHJcbn1cclxuLm5scC13cmFwcGVyICsgLmJ0bi1saWdodHtcclxuICAgIG1hcmdpbjo2NXB4IDAgMCA2MHB4O1xyXG59XHJcbi5ubHAtd3JhcHBlciAudGFncy13cmFwcGVye1xyXG4gICAgbWF4LXdpZHRoOjY3MHB4O1xyXG4gICAgbWFyZ2luLXRvcDoyMHB4O1xyXG59XHJcbi50YWdzLXdyYXBwZXIgLnRhZ3MtYmxvY2t7XHJcbiAgICBwYWRkaW5nOjhweCAxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbToxNXB4O1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LXNpemU6MTdweDtcclxuICAgIGNvbG9yOiNGRkZGRkY7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNywgNTIsIDYyLCAwLjgpO1xyXG4gICAgdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuLnRhZ3Mtd3JhcHBlciAudGFncy1ibG9jay5oaWRkZW57XHJcbiAgICBvcGFjaXR5OjA7XHJcbn1cclxuLnRhZ3MtYmxvY2sgPiBzcGFue1xyXG4gICAgaGVpZ2h0OjIwcHg7XHJcbiAgICBtYXJnaW46MCAxMHB4IDVweCAxMHB4O1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxufVxyXG4udGFncy1ibG9jayA+IHNwYW4udGFne1xyXG4gICAgcGFkZGluZy1sZWZ0OjE1cHg7XHJcbn1cclxuc3Bhbi50YWc6YmVmb3Jle1xyXG4gICAgY29udGVudDpcIlwiO1xyXG4gICAgd2lkdGg6MTBweDtcclxuICAgIGhlaWdodDoxMHB4O1xyXG4gICAgbWFyZ2luLXRvcDotNHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czo1cHg7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIGxlZnQ6MDtcclxuICAgIHRvcDo1MCU7XHJcbn1cclxuXHJcbi50YWcuZHJ1ZzpiZWZvcmUsXHJcbi5maWxlLmFjdGl2ZSBzcGFuLmRydWd7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNGQ0RFREU7XHJcbn1cclxuLnRhZy5ncmVhdC1qb2I6YmVmb3JlLFxyXG4uZmlsZS5hY3RpdmUgc3Bhbi5ncmVhdC1qb2J7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNGMjhDQTU7XHJcbn1cclxuLnRhZy53b3JrOmJlZm9yZSxcclxuLmZpbGUuYWN0aXZlIHNwYW4ud29ya3tcclxuICAgIGJhY2tncm91bmQtY29sb3I6I0ZBQzA5NztcclxufVxyXG4udGFnLnF1ZXN0aW9uOmJlZm9yZSxcclxuLmZpbGUuYWN0aXZlIHNwYW4ucXVlc3Rpb257XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNGRkYwOEM7XHJcbn1cclxuLnRhZy5wbGFubmluZzpiZWZvcmUsXHJcbi5maWxlLmFjdGl2ZSBzcGFuLnBsYW5uaW5ne1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojOUREOUE1O1xyXG59XHJcbi50YWcua25vdzpiZWZvcmUsXHJcbi5maWxlLmFjdGl2ZSBzcGFuLmtub3d7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiM3RkJGQkY7XHJcbn1cclxuLnRhZy5udW1lcmljOmJlZm9yZSxcclxuLmZpbGUuYWN0aXZlIHNwYW4ubnVtZXJpY3tcclxuICAgIGJhY2tncm91bmQtY29sb3I6I0EyRjdGNztcclxufVxyXG4udGFnLmFzazpiZWZvcmUsXHJcbi5maWxlLmFjdGl2ZSBzcGFuLmFza3tcclxuICAgIGJhY2tncm91bmQtY29sb3I6IzdGQzBFMztcclxufVxyXG4udGFnLnBhdGllbnQ6YmVmb3JlLFxyXG4uZmlsZS5hY3RpdmUgc3Bhbi5wYXRpZW50e1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojRjJERUZGO1xyXG59XHJcbi50YWcuZmllbGQtdmlzaXQ6YmVmb3JlLFxyXG4uZmlsZS5hY3RpdmUgc3Bhbi5maWVsZC12aXNpdHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6I0Y3OThGMjtcclxufVxyXG4udGFnLnRoYW5rOmJlZm9yZSxcclxuLmZpbGUuYWN0aXZlIHNwYW4udGhhbmt7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNCRkJGQkY7XHJcbn1cclxuXHJcblxyXG4uc2xpZGUtNiAuY29udGVudCB1bHtcclxuICAgIG1hcmdpbjowO1xyXG4gICAgcGFkZGluZzowO1xyXG4gICAgbGlzdC1zdHlsZTpub25lO1xyXG59XHJcbi5zbGlkZS02IC5sZWZ0LWxpc3R7XHJcbiAgICBvcGFjaXR5OjA7XHJcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTtcclxuICAgIHRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheToyMDBtcztcclxufVxyXG4uc2xpZGUtNi5hbmltYXRlLWluIC5sZWZ0LWxpc3QsLmFuaW1hdGUtaW4gLmJvdHRvbS10ZXh0e1xyXG4gICAgb3BhY2l0eToxO1xyXG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7XHJcbn1cclxuLnNsaWRlLTYuYW5pbWF0ZS1vdXQgLmxlZnQtbGlzdHtcclxuICAgIG9wYWNpdHk6MDtcclxuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC0zMCUpO1xyXG59XHJcbnVsLmxpc3QgbGl7XHJcbiAgICBtYXJnaW4tYm90dG9tOjIwcHg7XHJcbiAgICBwYWRkaW5nOjIwcHggMTVweDtcclxuICAgIGZvbnQtZmFtaWx5OidESU5Qcm9NZWRpdW0nO1xyXG4gICAgZm9udC1zaXplOjI0cHg7XHJcbiAgICBsaW5lLWhlaWdodDoyOHB4O1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246Y29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcclxuICAgIGJhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwLjMpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDAuMykgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDAuMykgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOi1tcy1saW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwLjMpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMC4zKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcclxuICAgIGZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNGRkZGRkYnLCBlbmRDb2xvcnN0cj0nI0ZGRkZGRicsR3JhZGllbnRUeXBlPTEgKTtcclxufVxyXG51bC5saXN0IGxpPnNwYW57XHJcbiAgICBtYXJnaW4tdG9wOjNweDtcclxuICAgIGZvbnQtZmFtaWx5OidESU5Qcm9SZWd1bGFyJztcclxuICAgIGZvbnQtc2l6ZToxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6MThweDtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbn1cclxuLnNsaWRlLTYgLmNvbnRlbnQgPiAubGVmdC1saXN0e1xyXG4gICAgd2lkdGg6MjglO1xyXG4gICAgcGFkZGluZzowIDYwcHg7XHJcbn1cclxuLnNsaWRlLTYgLmNvbnRlbnQgPiAuYmVuZWZpdHN7XHJcbiAgICB3aWR0aDozOCU7XHJcbiAgICBwYWRkaW5nOjAgNjBweDtcclxuICAgIC8qIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcclxuICAgIG9wYWNpdHk6MDtcclxuICAgIHRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheToyMDBtczsgKi9cclxufVxyXG4vKiAuc2xpZGUtNi5hbmltYXRlLWluIC5jb250ZW50ID4gLmJlbmVmaXRze1xyXG4gICAgb3BhY2l0eToxO1xyXG59XHJcbi5zbGlkZS02LmFuaW1hdGUtb3V0IC5jb250ZW50ID4gLmJlbmVmaXRze1xyXG4gICAgb3BhY2l0eTowO1xyXG59ICovXHJcbi5iZW5lZml0cyBoM3tcclxuICAgIG1hcmdpbi1ib3R0b206MjVweDtcclxufVxyXG4uYmVuZWZpdHMgdWwgbGl7XHJcbiAgICBtYXJnaW4tYm90dG9tOjMwcHg7XHJcbn1cclxuLmJlbmVmaXRzIHB7XHJcbiAgICBtYXJnaW46NXB4IDA7XHJcbn1cclxuLmJlbmVmaXRzIHAgPiBzcGFue1xyXG4gICAgZm9udC1mYW1pbHk6J0RJTlByb0JvbGQnO1xyXG59XHJcblxyXG5cclxuLmZvb3Rlci1uYXZ7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgcGFkZGluZzowIDI1cHg7XHJcbiAgICBwb3NpdGlvbjpmaXhlZDtcclxuICAgIGJvdHRvbToxMHB4O1xyXG4gICAgei1pbmRleDozO1xyXG59XHJcbi5mb290ZXItbmF2IHVse1xyXG4gICAgbWFyZ2luOjA7XHJcbiAgICBwYWRkaW5nOjA7XHJcbiAgICBsaXN0LXN0eWxlOm5vbmU7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtcclxufVxyXG4uZm9vdGVyLW5hdiB1bCBsaXtcclxuICAgIGhlaWdodDozNnB4O1xyXG4gICAgd2lkdGg6MjAwcHg7XHJcbiAgICBmb250LWZhbWlseTonRElOUHJvTWVkaXVtJztcclxuICAgIGZvbnQtc2l6ZToxOHB4O1xyXG4gICAgY29sb3I6I0ZGRkZGRjtcclxuICAgIGxpbmUtaGVpZ2h0OjM2cHg7XHJcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcclxufVxyXG4uZm9vdGVyLW5hdiB1bCBsaS5hY3RpdmV7XHJcbiAgICBmb250LWZhbWlseTonRElOUHJvQm9sZCc7XHJcbiAgICBjb2xvcjojRUQ4QjAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XHJcbn1cclxuLmZvb3Rlci1uYXYgdWwgbGkgPiBzcGFue1xyXG4gICAgaGVpZ2h0OjI0cHg7XHJcbiAgICB3aWR0aDoyNHB4O1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICBib3JkZXI6NnB4IHNvbGlkIGJsYWNrO1xyXG4gICAgYm9yZGVyLXRvcDpub25lO1xyXG4gICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG4gICAgY3Vyc29yOnBvaW50ZXI7XHJcbn1cclxuLmZvb3Rlci1uYXYgdWwgbGkgPiBzcGFuLmxlZnR7XHJcbiAgICBib3JkZXItcmlnaHQ6bm9uZTtcclxuICAgIHRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xyXG59XHJcbi5mb290ZXItbmF2IHVsIGxpID4gc3Bhbi5yaWdodHtcclxuICAgIGJvcmRlci1sZWZ0Om5vbmU7XHJcbiAgICB0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7XHJcbn1cclxuLmZvb3Rlci1uYXYgdWwgbGkgPiBzcGFuLmRpc2FibGVke1xyXG4gICAgY3Vyc29yOmRlZmF1bHQ7XHJcbiAgICBib3JkZXItY29sb3I6cmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG59XHJcblxyXG4vKiB0ZXN0IGNzcyAqL1xyXG4ucm90YXRlLWNsb2Nrd2lzZXtcclxuICAgIGFuaW1hdGlvbjpyb3RhdGUtY2VudGVyIDVzIGxpbmVhciBpbmZpbml0ZSBib3RoO1xyXG59XHJcbkBrZXlmcmFtZXMgcm90YXRlLWNlbnRlcntcclxuICAgIDAle1xyXG4gICAgICAgIHRyYW5zZm9ybS1ib3g6ZmlsbC1ib3g7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgwKTtcclxuICAgIH1cclxuICAgIDEwMCV7XHJcbiAgICAgICAgdHJhbnNmb3JtLWJveDpmaWxsLWJveDtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjtcclxuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qICBSRVBPTlNJVkUgQ1NTIDo6IFNUQVJUICovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0Ojc0MHB4KXtcclxuICAgIC5zb3RyeS1jb250ZW50LXdyYXBwZXI+ZGl2e1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOjQwcHg7XHJcbiAgICB9XHJcbiAgICAuc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IGgye1xyXG4gICAgICAgIGZvbnQtc2l6ZTozMHB4O1xyXG4gICAgfVxyXG4gICAgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCBoM3tcclxuICAgICAgICBmb250LXNpemU6MjhweDtcclxuICAgIH1cclxuICAgIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgcHtcclxuICAgICAgICBmb250LXNpemU6MThweDtcclxuICAgIH1cclxuICAgIC5maWxlLXN0YWNrOmFmdGVye1xyXG4gICAgICAgIGhlaWdodDo1MHB4O1xyXG4gICAgfVxyXG4gICAgLmZpbGUtc3RhY2sgLmZpbGV7XHJcbiAgICAgICAgbWF4LXdpZHRoOjMzMHB4O1xyXG4gICAgfVxyXG4gICAgLmZpbGUgcHtcclxuICAgICAgICBtYXJnaW46MDtcclxuICAgICAgICBmb250LXNpemU6MTNweDtcclxuICAgIH1cclxuICAgIC5zb3RyeS1jb250ZW50LXdyYXBwZXI+ZGl2LnNsaWRlLTUgLmNvbnRlbnQgcC5hY3Rpb24tbm90ZXtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOjIwcHg7XHJcbiAgICB9XHJcbiAgICAuc290cnktY29udGVudC13cmFwcGVyPmRpdi5zbGlkZS02IC5jb250ZW50e1xyXG4gICAgICAgIHdpZHRoOjY1JTtcclxuICAgIH1cclxuICAgIC5ubHAtd3JhcHBlciAudGFncy13cmFwcGVye1xyXG4gICAgICAgIG1heC13aWR0aDo0OTBweDtcclxuICAgIH1cclxuICAgIC50YWdzLXdyYXBwZXIgLnRhZ3MtYmxvY2t7XHJcbiAgICAgICAgZm9udC1zaXplOjE1cHg7XHJcbiAgICB9XHJcbiAgICAudGFncy1ibG9jayA+IHNwYW4udGFne1xyXG4gICAgICAgIG1hcmdpbjowIDVweCA1cHg7XHJcbiAgICB9XHJcbiAgICAuZmlsZS1zdGFjayB1bC5sYWJlbC1saXN0e1xyXG4gICAgICAgIHRvcDo4MHB4O1xyXG4gICAgfVxyXG4gICAgLm5scC13cmFwcGVyICsgLmJ0bi1saWdodHtcclxuICAgICAgICBtYXJnaW4tdG9wOjEwcHg7XHJcbiAgICB9XHJcbiAgICAuc2xpZGUtNiAuY29udGVudCA+IC5sZWZ0LWxpc3R7XHJcbiAgICAgICAgcGFkZGluZzowIDQwcHg7XHJcbiAgICB9XHJcbiAgICB1bC5saXN0IGxpe1xyXG4gICAgICAgIGZvbnQtc2l6ZToyMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OjIycHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbToxNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6MTVweDtcclxuICAgIH1cclxuICAgIC5zbGlkZS02IC5jb250ZW50ID4gLmJlbmVmaXRze1xyXG4gICAgICAgIHBhZGRpbmc6MCA0MHB4O1xyXG4gICAgfVxyXG4gICAgLmJlbmVmaXRzIGgzLFxyXG4gICAgLmJlbmVmaXRzIHVsIGxpe1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206MTVweDtcclxuICAgIH1cclxuICAgIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgcHtcclxuICAgICAgICBmb250LXNpemU6MTZweDtcclxuICAgIH1cclxuICAgIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLmJ0bi1saWdodCxcclxuICAgIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLmJ0bi1saWdodDphY3RpdmUsXHJcbiAgICAuc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IC5idG4tbGlnaHQ6Zm9jdXN7XHJcbiAgICAgICAgZm9udC1zaXplOjE4cHg7XHJcbiAgICAgICAgcGFkZGluZzoxMHB4IDE1cHg7XHJcbiAgICB9XHJcbiAgICAuc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IC5idG4tbGlnaHQ+aW1ne1xyXG4gICAgICAgIGhlaWdodDoyMHB4O1xyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1uYXZ7XHJcbiAgICAgICAgYm90dG9tOjVweDtcclxuICAgIH1cclxuICAgIC5mb290ZXItbmF2IHVsIGxpe1xyXG4gICAgICAgIGhlaWdodDoyNnB4O1xyXG4gICAgICAgIHdpZHRoOjE2MHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZToxNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OjI2cHg7XHJcbiAgICB9XHJcbiAgICAuZm9vdGVyLW5hdiB1bCBsaSA+IHNwYW57XHJcbiAgICAgICAgd2lkdGg6MTZweDtcclxuICAgICAgICBoZWlnaHQ6MTZweDtcclxuICAgICAgICBib3JkZXItd2lkdGg6NHB4O1xyXG4gICAgfVxyXG59XHJcbi8qICBSRVBPTlNJVkUgQ1NTIDo6IEVORCAqL1xyXG4udmlydHVhbC1yZXAtdHJhaW5lci1zdHAtYWN0aXZlIGhlYWRlci5odW1idXJnZXItaGVhZGVyIG5hdi5uYXZiYXIgLmhlYWRlci1tZW51IGxpIGEubWVudS1pY29ue1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0RENjU1MDtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNERDY1NTA7XHJcbn1cclxuLnZpcnR1YWwtcmVwLXRyYWluZXItc3RwLWFjdGl2ZSBoZWFkZXIuaHVtYnVyZ2VyLWhlYWRlciBuYXYubmF2YmFyIC5oZWFkZXItbWVudSBsaSBhLm1lbnUtaWNvbiBzcGFue1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojREQ2NTUwO1xyXG59XHJcbi52aXJ0dWFsLXJlcC10cmFpbmVyLXN0cC1hY3RpdmUgLmZpZWxkLXN0b3J5IGhlYWRlciAubmF2YmFyLWJyYW5kIGltZy56cy1sb2dvLXcge1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG4udmlydHVhbC1yZXAtdHJhaW5lci1zdHAtYWN0aXZlLmZpZWxkLXN0b3J5IGhlYWRlciAubmF2YmFyLWJyYW5kIGltZy56cy1sb2dve1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHotaW5kZXg6IDI7XHJcbn1cclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgI3N2Zy13cmFwcGVyIHN2Z3tcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlcj5kaXYgLmNvbnRlbnQge1xyXG4gICAgd2lkdGg6IDQ1JTtcclxuICAgIHBhZGRpbmctbGVmdDogNSU7XHJcbiAgICBmbGV4OiAwIDQ1JTtcclxufVxyXG4udmlydHVhbC1yZXAtd3JhcHBlciAuaW1nLXNlY3Rpb24ge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZmxleDogMCA1NSU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XHJcbn1cclxuXHJcbi52aXJ0dWFsLXJlcC13cmFwcGVyIC5mb290ZXItbmF2e1xyXG4gICAgYm90dG9tOiAyMHB4O1xyXG59XHJcbi5mb290ZXItc3RlcHMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uZm9vdGVyLXN0ZXBzOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcbi5mb290ZXItbmF2IHVsIC5mb290ZXItc3RlcHMgbGkge1xyXG4gICAgbWluLXdpZHRoOiAxNTBweDtcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNENTVBNkE7XHJcbiAgICBtYXJnaW46IDAgODBweDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgdGV4dC13cmFwOiBub3dyYXA7XHJcbiAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuLmZvb3Rlci1uYXYgdWwgLmZvb3Rlci1zdGVwcyBsaTpmaXJzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxufVxyXG4uZm9vdGVyLW5hdiB1bCAuZm9vdGVyLXN0ZXBzIGxpOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG59XHJcbi5mb290ZXItbmF2IHVsIC5mb290ZXItc3RlcHMgbGkuYWN0aXZle1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q1NUE2QTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG59XHJcbi52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgaDMge1xyXG4gICAgY29sb3I6ICNENTU5NkI7XHJcbn1cclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCBwLC52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgc3Ryb25nLnN1Yi10aXRsZSB7XHJcbiAgICBjb2xvcjogIzVENUQ1RDtcclxufVxyXG4udmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IHN0cm9uZyB7XHJcbiAgICBjb2xvcjogI0Q1NTk2QjtcclxufVxyXG4uZmllbGQtY29hY2hpbmctc3ZnLXdyYXBwZXIudmlydHVhbC1yZXAtd3JhcHBlcntcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMTQuODhkZWcsICNGRkZGRkYgMjMuNjclLCAjRkZGOUY3IDY1LjczJSwgI0ZERjVGNyA5Mi42MiUpO1xyXG59XHJcblxyXG4udmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyPmRpdiB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gODIlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDEwMDBtcyBlYXNlLWluLW91dDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xyXG59XHJcbi52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXI+ZGl2LmFuaW1hdGUtaW57XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcbi52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgaDIsIC52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgaDMsIC52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgcCwgXHJcbi52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgdWwubGlzdC1jb3VudCBsaSwuYm90dG9tLXRleHR7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMDAlKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuaW1nLXNlY3Rpb257XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBoZWlnaHQ6IDcyOXB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmltZy1zZWN0aW9uOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICB3aWR0aDogNzAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHRvcDogNjZweDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAyMDAwbXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuYW5pbWF0ZS1pbiAuaW1nLXNlY3Rpb246OmJlZm9yZSxcclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCB1bC5vdXRjb21lLWxpc3QgbGk6YmVmb3Jle1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG59XHJcbi52aXJ0dWFsLXJlcC13cmFwcGVyIC5pbWctc2VjdGlvbiBpbWcge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTEwcHg7XHJcbn1cclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgLmltZy1zZWN0aW9uIGltZyB7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbn1cclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIuZmllbGQtY29hY2hpbmctc3ZnLXdyYXBwZXIuc2xpZGUtNi1hY3RpdmU6YmVmb3Jle1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4udmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyIC5hbmltYXRlLWluIC5jb250ZW50IGgyLCAudmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyIC5hbmltYXRlLWluIC5jb250ZW50IGgzLCAudmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyIC5hbmltYXRlLWluIC5jb250ZW50IHAsXHJcbi52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmFuaW1hdGUtaW4gLmltZy1zZWN0aW9uLC52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmFuaW1hdGUtaW4gLmNvbnRlbnQgdWwubGlzdC1jb3VudCBsaXtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIFxyXG59XHJcbi52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgcHtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxufVxyXG4udmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IGgze1xyXG4gICAgZm9udC1zaXplOiA0NHB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCB1bCBsaXtcclxuICAgIGNvbG9yOiAjNUQ1RDVEO1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG4udmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyPmRpdi5zbGlkZS0zIC5jb250ZW50e1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG59XHJcbi52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgdWwge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG59XHJcblxyXG4udmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyPmRpdi5zbGlkZS0xLmFuaW1hdGUtaW57XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgMTAwcHg7XHJcbn1cclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlcj5kaXYuc2xpZGUtNS5hbmltYXRlLWlue1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDgwcHg7XHJcbn1cclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlcj5kaXYuYW5pbWF0ZS1pbntcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAwO1xyXG59XHJcbi52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXI+ZGl2e1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IC0xMDAlO1xyXG59XHJcbi52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXI+ZGl2LnNsaWRlLTN7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNzIlO1xyXG59XHJcblxyXG4udmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IHN0cm9uZy5ib3R0b20tdGV4dCB7XHJcbiAgICBjb2xvcjogIzVENUQ1RDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCAub3V0Y29tZS1saXN0IGxpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAwJSk7XHJcbn1cclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuYW5pbWF0ZS1pbiAuY29udGVudCAub3V0Y29tZS1saXN0IGxpe1xyXG50cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbn1cclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuYW5pbWF0ZS1pbiAuY29udGVudCAub3V0Y29tZS1saXN0IGxpOmZpcnN0LWNoaWxke1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDEyMDBtcyBlYXNlLWluLW91dDtcclxufVxyXG4udmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyIC5hbmltYXRlLWluIC5jb250ZW50IC5vdXRjb21lLWxpc3QgbGk6bnRoLWNoaWxkKDIpe1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDE0MDBtcyBlYXNlLWluLW91dDtcclxufVxyXG4udmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyIC5hbmltYXRlLWluIC5jb250ZW50IC5vdXRjb21lLWxpc3QgbGk6bGFzdC1jaGlsZHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAxNjAwbXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCAub3V0Y29tZS1saXN0IGxpIHNtYWxse1xyXG4gICAgZmxleDogMCAwIDE2MHB4O1xyXG4gICAgbWluLWhlaWdodDogMTYwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICBmb250LXNpemU6IDEwMHB4O1xyXG4gICAgY29sb3I6ICNGOERCRDY7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG59XHJcbi52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLm91dGNvbWUtbGlzdCBsaSBzbWFsbDo6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgIGJvcmRlcjogMC43MXB4IHNvbGlkIHJnYmEoMjE5LCA5OCwgODksIDAuNTApO1xyXG4gICAgb3BhY2l0eTogMC4zO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIwKSAwJSwgcmdiYSgyMzIsIDEwNywgNzgsIDAuMjApIDEwMCUpO1xyXG4gICAgYm94LXNoYWRvdzogMy41NDlweCAyLjgzOXB4IDIuODM5cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbn1cclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCAub3V0Y29tZS1saXN0IGxpOmFmdGVyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTksIDk4LCA4OSwgMC41MCk7XHJcbiAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjApIDAlLCByZ2JhKDIzMiwgMTA3LCA3OCwgMC4yMCkgMTAwJSk7XHJcbiAgICBib3gtc2hhZG93OiA1cHggNHB4IDRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbn1cclxudWwub3V0Y29tZS1saXN0OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjMyMzg7XHJcbiAgICB3aWR0aDogMXB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IC02MHB4O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgaGVpZ2h0OiAwO1xyXG59XHJcbi5hbmltYXRlLWluIC5vdXRjb21lLWxpc3Q6YWZ0ZXIge1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyMDBweCk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTYwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcbnVsLm91dGNvbWUtbGlzdHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCAub3V0Y29tZS1saXN0IGxpOmxhc3QtY2hpbGR7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcbi52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLm91dGNvbWUtbGlzdCBsaTpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAtNjBweDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYzMjM4O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMDBtcyBlYXNlLWluLW91dDtcclxufVxyXG4uc2xpZGUtZG90cyB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMiU7XHJcbn1cclxuLnNsaWRlLWRvdHMgc3BhbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRDlEOUQ5O1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5zbGlkZS1kb3RzIHNwYW46bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcbi5zbGlkZS1kb3RzIHNwYW4uYWN0aXZlLXNsaWRle1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q1NTk2QjtcclxufVxyXG4udmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyPmRpdi5zbGlkZS02IC5jb250ZW50e1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDo4NjBweCl7XHJcbiAgICAudmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IGgze1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzRweDtcclxuICAgIH1cclxuICAgIC52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgcCAuc3ViLXRpdGxle1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgIH1cclxuICAgIC52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgcCwgXHJcbiAgICAudmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IHVsIGxpe1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIH1cclxuICAgIC52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLm91dGNvbWUtbGlzdCBsaXtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxMzBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmFuaW1hdGUtaW4gLm91dGNvbWUtbGlzdDphZnRlciB7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMzBweCk7XHJcbiAgICB9XHJcbiAgICAudmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IC5vdXRjb21lLWxpc3QgbGkgc21hbGx7XHJcbiAgICAgICAgZmxleDogMCAwIDExMHB4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDExMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDtcclxuICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIC52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXIgLmltZy1zZWN0aW9ue1xyXG4gICAgICAgIGhlaWdodDogNDgwcHg7XHJcbiAgICB9XHJcbiAgICAudmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyIC5pbWctc2VjdGlvbjpiZWZvcmUge1xyXG4gICAgICAgIHRvcDogNTFweDtcclxuICAgIH1cclxuICAgIC52aXJ0dWFsLXJlcC13cmFwcGVyIC5pbWctc2VjdGlvbiBpbWcge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC03MHB4O1xyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1uYXYgdWwgLmZvb3Rlci1zdGVwcyBsaXtcclxuICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICB9XHJcbiAgICAuc2xpZGUtZG90cyBzcGFue1xyXG4gICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgIGhlaWdodDogMTZweDtcclxuICAgIH1cclxuICAgIC52aXJ0dWFsLXJlcC13cmFwcGVyIC5zb3RyeS1jb250ZW50LXdyYXBwZXI+ZGl2LnNsaWRlLTMgLmNvbnRlbnQsLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlcj5kaXYuc2xpZGUtNCAuY29udGVudCxcclxuLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlcj5kaXYuc2xpZGUtNSAuY29udGVudHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNSU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbn1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6NzAwcHgpe1xyXG4gICAgLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCBoM3tcclxuICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICB9XHJcbiAgICAudmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IHAgLnN1Yi10aXRsZXtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAudmlydHVhbC1yZXAtd3JhcHBlciAuc290cnktY29udGVudC13cmFwcGVyIC5jb250ZW50IHAsIFxyXG4gICAgLnZpcnR1YWwtcmVwLXdyYXBwZXIgLnNvdHJ5LWNvbnRlbnQtd3JhcHBlciAuY29udGVudCB1bCBsaXtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcbn0iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
-1 }\\\"\\r\\n style=\\\"background-image: url('../../../assets/images/virua-rep/slide-1.png');\\\">\\r\\n
\\r\\n

VIRTUAL REP TRAINER

\\r\\n
    \\r\\n
  • \\r\\n Virtual Rep Trainer is a safe place for Reps to practice talking to a virtual simulation of an HCP then \\r\\n receive evaluations on how well these conversions are conducted based a set of  pre-approved evaluation criteria.\\r\\n
  • \\r\\n
  • \\r\\n The user will be able to select the type of simulation and conversation they want \\r\\n to practice and be presented with a chat window to talk/chat with the AI simulator.\\r\\n
  • \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
-1 }\\\"\\r\\n style=\\\"background-image: url('../../../assets/images/virua-rep/slide-2.png');\\\">\\r\\n
\\r\\n

CURRENT Challenge

\\r\\n

\\r\\n Sales training is so hard because it's so difficult to practice and build up experience in a real setting!\\r\\n

\\r\\n
    \\r\\n
  • \\r\\n All good salespeople know that success comes with experience! \\r\\n Sales experience is often the #1 driver of sales success, getting that experience is really hard and time consuming!\\r\\n
  • \\r\\n
  • \\r\\n No one wants to practice on real customers! Just getting a meeting with a \\r\\n customer is hard enough and you only have 1 chance to make an impact.\\r\\n
  • \\r\\n
  • \\r\\n Practicing & roleplaying with other people is time consuming, costly, and hard to scale. \\r\\n
  • \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
-1 }\\\"\\r\\n style=\\\"background-image: url('../../../assets/images/virua-rep/slide-3-1.png');\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n

Select your customer

\\r\\n

Virtual Rep Trainer offers sales rep a safe environment to practice real conversation with\\r\\n customers and receive immediate feedback

\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
-1 }\\\"\\r\\n style=\\\"background-image: url('../../../assets/images/virua-rep/slide-3-2.png');\\\">\\r\\n
\\r\\n
\\r\\n

HAve A Conversation

\\r\\n

Engage in live conversations with a GenAI “doctor” to test sales tactics, refine a pitch and\\r\\n explore possible answers

\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
-1 }\\\"\\r\\n style=\\\"background-image: url('../../../assets/images/virua-rep/slide-3-3.png');\\\">\\r\\n\\r\\n
\\r\\n
\\r\\n

RECEIVE FEEDBACK

\\r\\n

Receive feedback on your approach, identify weaknesses and strengths, and explore new selling\\r\\n tactics

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
-1 }\\\"\\r\\n >\\r\\n
\\r\\n

Outcome

\\r\\n
    \\r\\n
  • \\r\\n 01\\r\\n Virtual Rep Trainer offers sales rep a safe environment to practice real \\r\\n conversation with costumers and receive immediate feedback\\r\\n
  • \\r\\n
  • \\r\\n 02\\r\\n Virtual Rep Trainer can be build using current training material, recorded \\r\\n conversations, or even Rep interviews\\r\\n
  • \\r\\n
  • \\r\\n 03\\r\\n Virtual Rep Trainer is scalable and can be \\r\\n tailored to your companies training goals, size and timeframe\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"slide\\\"\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
    \\r\\n
  • INTRODUCTION
  • \\r\\n
  • CHALLANGE
  • \\r\\n\\r\\n \\r\\n SOLUTION\\r\\n \\r\\n
  • OUTCOME
  • \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, ViewChild, Renderer2, AfterContentInit, ViewEncapsulation, OnDestroy, ElementRef } from '@angular/core';\r\nimport _ from 'lodash';\r\nimport { FullpagescrollDirective } from 'src/app/shared/fullpagescroll.directive';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material';\r\nimport { VirtualRepTrainerAppDialogComponent } from './virtual-rep-trainer-app-dialog/virtual-rep-trainer-app-dialog.component';\r\nimport { DataShareService } from 'src/app/shared/data-share.service';\r\n\r\ndeclare const d3: any;\r\n\r\n@Component({\r\n selector: 'app-virtual-rep-trainer',\r\n templateUrl: './virtual-rep-trainer.component.html',\r\n styleUrls: ['./virtual-rep-trainer.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class VirtualRepTrainerComponent implements OnInit, AfterContentInit, OnDestroy {\r\n\r\n @ViewChild('fullPageScroll') fpScroll: FullpagescrollDirective;\r\n @ViewChild('checkBox1') checkBox1: ElementRef;\r\n @ViewChild('checkBox2') checkBox2: ElementRef;\r\n @ViewChild('checkBox3') checkBox3: ElementRef;\r\n\r\n public activeStartSlide = '';\r\n public activeSlide = '';\r\n public previousActiveSlide = [];\r\n public lastActiveSlide = 'screen-1';\r\n public nextActiveSlide = 'screen-2';\r\n public previousTraversedSlide = '';\r\n public isLoading = false;\r\n private _unsubscribeResize = null;\r\n private _svgSection = null;\r\n private currentRelativeUrl = '';\r\n public isShowScreen4 = false;\r\n public isShowScreen6 = false;\r\n private screens = ['screen-1', 'screen-2', 'screen-3', 'screen-4', 'screen-5', 'screen-6','screen-7'];\r\n constructor(\r\n private _renderer: Renderer2\r\n , private _router: Router,\r\n private dialog: MatDialog,\r\n private dataShareService: DataShareService\r\n ) {\r\n this.currentRelativeUrl = this._router.url;\r\n }\r\n\r\n ngOnInit() {\r\n this.dataShareService.onCustomEvent.next({ event: 'addClassToElement', data: {selector: '#header', class: 'humburger-header'}});\r\n this.renderStory();\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n // this._unsubscribeResize = this._renderer.listen(window, 'resize', _.debounce(() => {\r\n // this._svgSection.resize();\r\n // }, 700));\r\n }\r\n\r\n public onFullPageSlideChangeStart(event) {\r\n this.previousTraversedSlide = this.activeStartSlide;\r\n if (this.previousActiveSlide.indexOf(event) < 0) {\r\n this.previousActiveSlide.push(this.activeStartSlide);\r\n } else {\r\n this.previousActiveSlide.splice(this.previousActiveSlide.indexOf(this.activeStartSlide), 1);\r\n }\r\n this.activeStartSlide = event;\r\n this.lastActiveSlide = this.screens[this.screens.indexOf(event) - 1];\r\n this.nextActiveSlide = this.screens[this.screens.indexOf(event) + 1];\r\n // this._svgSection.changeScreen();\r\n }\r\n\r\n public onFullPageSlideChangeComplete(event) {\r\n console.log(event)\r\n this.activeSlide = event;\r\n }\r\n\r\n public onStepClik(sectionId, step) {\r\n // if(this.activeSlide !== sectionId) {\r\n // }\r\n this.fpScroll.navigateTo(sectionId);\r\n // this.onFullPageSlideChangeStart(sectionId);\r\n this.previousTraversedSlide = this.activeStartSlide;\r\n if (sectionId == 'screen-1')\r\n if (this.previousActiveSlide.indexOf(sectionId) < 0) {\r\n this.previousActiveSlide.push(this.activeStartSlide);\r\n } else {\r\n this.previousActiveSlide.splice(this.previousActiveSlide.indexOf(this.activeStartSlide), 1);\r\n }\r\n this.activeSlide = sectionId;\r\n this.activeStartSlide = sectionId;\r\n this.lastActiveSlide = this.screens[this.screens.indexOf(sectionId) - 1];\r\n this.nextActiveSlide = this.screens[this.screens.indexOf(sectionId) + 1];\r\n console.log(this.activeSlide, this.previousActiveSlide.indexOf('screen-1'), this.previousActiveSlide)\r\n }\r\n\r\n public onDownArrowClick(sectionId) {\r\n console.log(sectionId);\r\n this.fpScroll.navigateTo(sectionId);\r\n }\r\n\r\n // private _responsivefy(svg, isHeightNotToUpdate = false) {\r\n // const container = d3.select(svg.node().parentNode);\r\n // const width = parseInt(svg.attr('width'), 10);\r\n // const height = parseInt(svg.attr('height'), 10);\r\n // const aspect = width / height;\r\n\r\n // // get width of container and resize svg to fit it\r\n // const resize = () => {\r\n // const targetWidth = parseInt(container.style('width'), 10);\r\n // svg.attr('width', targetWidth);\r\n // let targetHeight = targetWidth / aspect;\r\n // if (isHeightNotToUpdate) {\r\n // // Set Container Height as is.\r\n // targetHeight = container.node().getBoundingClientRect().height;\r\n // }\r\n // svg.attr('height', Math.round(targetHeight));\r\n // return {\r\n // widthAspect: targetWidth / width,\r\n // heightAspect: targetHeight / height,\r\n // width: parseInt(svg.style('width'), 10),\r\n // height: parseInt(svg.style('height'), 10)\r\n // };\r\n // };\r\n // svg.attr('viewBox', '0 0 ' + width + ' ' + height)\r\n // .attr('perserveAspectRatio', 'xMinYMid')\r\n // .call(() => {\r\n // setTimeout(() => {\r\n // resize();\r\n // }, 10);\r\n // });\r\n\r\n // return {\r\n // resize,\r\n // widthAspect: parseInt(svg.style('width'), 10) / width,\r\n // heightAspect: parseInt(svg.style('height'), 10) / height\r\n // };\r\n // }\r\n\r\n private renderStory() {\r\n // this._svgSection = this._initSvgSection('svg-wrapper');\r\n setTimeout(() => {\r\n this.activeStartSlide = 'screen-1';\r\n this.activeSlide = 'screen-1';\r\n // this._svgSection.changeScreen();\r\n }, 500);\r\n }\r\n\r\n // private _initSvgSection(containerId) {\r\n // const that = this;\r\n // const visitedScreen = {\r\n // screen1: false,\r\n // screen2: false,\r\n // screen3: false,\r\n // screen4: false,\r\n // screen5: false,\r\n // screen6: false,\r\n // }\r\n // const container = d3.select('#' + containerId);\r\n // const WIDTH = 1920;\r\n // const HEIGHT_OFFSET = 969 / 1920;\r\n // const HEIGHT = WIDTH * HEIGHT_OFFSET;\r\n // const svg = container.append('svg')\r\n // .attr('width', WIDTH)\r\n // .attr('height', HEIGHT)\r\n // /* .on('click', function () {\r\n // console.log(d3.mouse(this));\r\n // }) */;\r\n\r\n // // const { resize, heightAspect, widthAspect } = this._responsivefy(svg, true);\r\n\r\n // // const dataGroup = svg.append('g')\r\n // // .attr('id', 'svg-data')\r\n // // .attr('class', 'svg-data');\r\n\r\n // // const linearGradient1 = svg.append('defs')\r\n // // .append('linearGradient')\r\n // // .attr({\r\n // // 'id': \"challengesIndicatorColor\",\r\n // // 'x1': \"0.968\",\r\n // // // 'y1': \"0.5\",\r\n // // 'x2': \"0.278\",\r\n // // 'gradientUnits': \"objectBoundingBox\"\r\n // // })\r\n\r\n // // linearGradient1.append('stop')\r\n // // .attr({\r\n // // 'offset': \"0\",\r\n // // 'stop-color': \"#fff\"\r\n // // });\r\n\r\n // // linearGradient1.append('stop')\r\n // // .attr({\r\n // // 'offset': \"1\",\r\n // // 'stop-color': \"#4f4642\"\r\n // // })\r\n\r\n // // const linearGradient2 = svg.append('defs')\r\n // // .append('linearGradient')\r\n // // .attr({\r\n // // 'id': \"arcColor\",\r\n // // 'x1': \"0.968\",\r\n // // 'y1': \"0\",\r\n // // 'x2': \"0.278\",\r\n // // 'y2': \"0.278\",\r\n // // 'gradientUnits': \"objectBoundingBox\"\r\n // // })\r\n\r\n // // linearGradient2.append('stop')\r\n // // .attr({\r\n // // 'offset': \"0\",\r\n // // 'stop-color': \"#86c8bc\"\r\n // // });\r\n\r\n // // linearGradient2.append('stop')\r\n // // .attr({\r\n // // 'offset': \"1\",\r\n // // 'stop-color': \"#00629b\"\r\n // // })\r\n\r\n // // let baseImage = '';\r\n\r\n // // switch (this.activeStartSlide) {\r\n // // case 'screen-1':\r\n // // baseImage = '/assets/images/field-coaching/bubble_cloud_base.png';\r\n // // break;\r\n // // case 'screen-2':\r\n // // baseImage = '/assets/images/field-coaching/screen2.png';\r\n // // break;\r\n // // case 'screen-3':\r\n // // baseImage = '/assets/images/field-coaching/screen3.png';\r\n // // break;\r\n // // case 'screen-4':\r\n // // baseImage = '/assets/images/field-coaching/screen3.png';\r\n // // break;\r\n // // case 'screen-5':\r\n // // baseImage = '/assets/images/field-coaching/screen5.png';\r\n // // break;\r\n // // default:\r\n // // baseImage = '/assets/images/field-coaching/screen6.png';\r\n // // break;\r\n // // }\r\n\r\n // // const image = dataGroup.append('image')\r\n // // .attr('xlink:href', baseImage)\r\n // // .attr('class', 'base-image-group')\r\n // // .attr('height', 969)\r\n // // .attr('width', 1920)\r\n // // .attr('id', 'img');\r\n\r\n\r\n // // const commonGroup = dataGroup.append('g')\r\n // // .attr('id', 'common-group-data')\r\n // // .attr('class', 'common-group-data')\r\n // // .attr('opacity', 0);\r\n\r\n // // const currentProcess = dataGroup.append('g')\r\n // // .attr('id', 'current-process-data')\r\n // // .attr('class', 'current-process-data');\r\n\r\n\r\n // // const common_images = [{\r\n // // src: '/assets/images/field-coaching/director-board.png',\r\n // // id: 'director-board-img',\r\n // // class: 'director-board animate',\r\n // // height: 261,\r\n // // width: 273,\r\n // // finalX: 75,\r\n // // finalY: 309,\r\n // // x: 211,\r\n // // y: 439,\r\n // // opacity: 0\r\n // // }, {\r\n // // src: '/assets/images/field-coaching/director.png',\r\n // // id: 'director-img',\r\n // // class: 'director animate',\r\n // // height: 443,\r\n // // width: 453,\r\n // // finalX: 280,\r\n // // finalY: 115,\r\n // // x: 280,\r\n // // y: 0,\r\n // // scaleHeight: 535,\r\n // // scaleWidth: 535,\r\n // // newX: 57,\r\n // // newY: 353,\r\n // // opacity: 0\r\n // // }];\r\n\r\n // // commonGroup.selectAll('.images')\r\n // // .data(common_images)\r\n // // .enter()\r\n // // .append('image')\r\n // // .attr('id', (d) => d.id)\r\n // // .attr('xlink:href', (d) => d.src)\r\n // // .attr('class', (d) => d.class)\r\n // // .attr('height', (d) => d.height)\r\n // // .attr('width', (d) => d.width)\r\n // // .attr('transform', (d) => `translate(${d.x}, ${d.y})`)\r\n // // .attr('opacity', (d) => d.opacity);\r\n\r\n // // const current_process_first_part_images = [{\r\n // // src: '/assets/images/field-coaching/screen_1_1.png',\r\n // // id: 'screen-1-img-1',\r\n // // class: 'screen-1-1 animate',\r\n // // height: 463,\r\n // // width: 885,\r\n // // finalX: 233,\r\n // // finalY: 249,\r\n // // x: 0,\r\n // // y: 249,\r\n // // opacity: 0\r\n // // }, {\r\n // // src: '/assets/images/field-coaching/screen_1_2.png',\r\n // // id: 'screen-1-img-2',\r\n // // class: 'screen-1-1 animate',\r\n // // height: 316,\r\n // // width: 210,\r\n // // finalX: 679,\r\n // // finalY: 388,\r\n // // x: 900,\r\n // // y: 388,\r\n // // opacity: 0\r\n // // }, {\r\n // // src: '/assets/images/field-coaching/screen_1_3.png',\r\n // // id: 'screen-1-img-3',\r\n // // class: 'screen-1-1 animate',\r\n // // height: 359,\r\n // // width: 381,\r\n // // finalX: 54,\r\n // // finalY: 446,\r\n // // x: 0,\r\n // // y: 446,\r\n // // opacity: 0\r\n // // }, {\r\n // // src: '/assets/images/field-coaching/managerCase.png',\r\n // // id: 'screen-1-img-4',\r\n // // class: 'screen-1-1 animate',\r\n // // height: 79,\r\n // // width: 99,\r\n // // finalX: 186,\r\n // // finalY: 710,\r\n // // x: 0,\r\n // // y: 710,\r\n // // opacity: 0\r\n // // }, {\r\n // // src: '/assets/images/field-coaching/salesCase.png',\r\n // // id: 'screen-1-img-5',\r\n // // class: 'screen-1-1 animate',\r\n // // height: 79,\r\n // // width: 99,\r\n // // finalX: 790,\r\n // // finalY: 626,\r\n // // x: 900,\r\n // // y: 626,\r\n // // opacity: 0\r\n // // }];\r\n\r\n // // const current_process_second_part_images = [{\r\n // // src: '/assets/images/field-coaching/screen_2_2.png',\r\n // // id: 'screen-1-2-img-2',\r\n // // class: 'screen-1-2 animate',\r\n // // height: 285,\r\n // // width: 303,\r\n // // finalX: 103,\r\n // // finalY: 538,\r\n // // x: 250,\r\n // // y: 538,\r\n // // opacity: 0\r\n // // }, {\r\n // // src: '/assets/images/field-coaching/screen_2_1.png',\r\n // // id: 'screen-1-2-img-1',\r\n // // class: 'screen-1-2 animate',\r\n // // height: 338,\r\n // // width: 243,\r\n // // finalX: 91,\r\n // // finalY: 484,\r\n // // x: 54,\r\n // // y: 446,\r\n // // opacity: 0\r\n // // }, {\r\n // // src: '/assets/images/field-coaching/screen_2_4.png',\r\n // // id: 'screen-1-2-img-4',\r\n // // class: 'screen-1-2 animate',\r\n // // height: 388,\r\n // // width: 473,\r\n // // finalX: 588,\r\n // // finalY: 496,\r\n // // x: 588,\r\n // // y: 969,\r\n // // opacity: 0\r\n // // }];\r\n\r\n // // const processFirstPart = currentProcess.append('g').attr('opacity', 0);\r\n\r\n // // const processSecondPart = currentProcess.append('g').attr('opacity', 0);\r\n\r\n // // processFirstPart.selectAll('.images')\r\n // // .data(current_process_first_part_images)\r\n // // .enter()\r\n // // .append('image')\r\n // // .attr('id', (d) => d.id)\r\n // // .attr('xlink:href', (d) => d.src)\r\n // // .attr('class', (d) => d.class)\r\n // // .attr('height', (d) => d.height)\r\n // // .attr('width', (d) => d.width)\r\n // // .attr('transform', (d) => `translate(${d.x}, ${d.y})`)\r\n // // .attr('opacity', (d) => d.opacity);\r\n\r\n // // processSecondPart.selectAll('.images')\r\n // // .data(current_process_second_part_images)\r\n // // .enter()\r\n // // .append('image')\r\n // // .attr('id', (d) => d.id)\r\n // // .attr('xlink:href', (d) => d.src)\r\n // // .attr('class', (d) => d.class)\r\n // // .attr('height', (d) => d.height)\r\n // // .attr('width', (d) => d.width)\r\n // // .attr('transform', (d) => `translate(${d.x}, ${d.y})`)\r\n // // .attr('opacity', (d) => d.opacity);\r\n\r\n // // const bubble_images = [{\r\n // // src: '/assets/images/field-coaching/bubble_cloud_1.png',\r\n // // class: 'bubble animate',\r\n // // height: 97,\r\n // // width: 180,\r\n // // finalX: 460,\r\n // // finalY: 260,\r\n // // x: 460,\r\n // // y: 360,\r\n // // initHeight: 0\r\n // // }, {\r\n // // src: '/assets/images/field-coaching/bubble_cloud_2.png',\r\n // // class: 'bubble animate',\r\n // // height: 88,\r\n // // width: 158,\r\n // // finalX: 680,\r\n // // finalY: 300,\r\n // // x: 769,\r\n // // y: 375,\r\n // // initHeight: 0\r\n // // }];\r\n\r\n // // const bubbleGroup = processFirstPart.append('g')\r\n // // .attr('id', 'bubble-group-data')\r\n // // .attr('class', 'bubble-group-data')\r\n // // .attr('opacity', 0);\r\n\r\n // // bubbleGroup.selectAll('.images')\r\n // // .data(bubble_images)\r\n // // .enter()\r\n // // .append('image')\r\n // // .attr('xlink:href', (d) => d.src)\r\n // // .attr('class', (d) => d.class)\r\n // // .attr('height', (d) => d.initHeight)\r\n // // .attr('width', (d) => d.width)\r\n // // .attr('transform', (d) => `translate(${d.x}, ${d.y})`)\r\n // // .attr('opacity', 0);\r\n\r\n\r\n // // const conversationGroup = bubbleGroup.append('g');\r\n // // const conversationLineCordinates = [\r\n // // [[500, 285], [600, 285]],\r\n // // [[493, 295], [582, 295]],\r\n // // [[485, 305], [566, 305]],\r\n // // [[710, 324], [804, 324]],\r\n // // [[716, 334], [790, 334]],\r\n // // [[712, 344], [778, 344]]\r\n // // ];\r\n\r\n // // const conversationLineData = [];\r\n\r\n // // conversationLineCordinates.forEach((lineData) => {\r\n // // conversationLineData.push(createLine(conversationGroup, lineData).classed('conversation-lines animate', true));\r\n // // });\r\n\r\n // // const ipadLineCordinates = [\r\n // // [[324, 589], [345, 601]],\r\n // // [[321, 591], [340, 603]],\r\n // // [[318, 594], [336, 604]],\r\n // // [[313, 596], [333, 607]],\r\n // // [[310, 598], [329, 610]]\r\n // // ];\r\n\r\n // // const ipadLineData = [];\r\n\r\n // // const ipadGroup = bubbleGroup.append('g')\r\n // // .attr('transform', 'translate(-22, -16)');\r\n\r\n // // ipadLineCordinates.forEach((lineData) => {\r\n // // ipadLineData.push(createLine(ipadGroup, lineData, '#ffffff').classed('ipad-lines animate', true));\r\n // // });\r\n\r\n // // function startConversationAnimation() {\r\n\r\n // // conversationLineData.forEach((v, i) => {\r\n // // v.attr('stroke-dashoffset', v.node().getTotalLength());\r\n // // });\r\n\r\n // // conversationLineData.forEach((v, i) => {\r\n // // v\r\n // // .attr({\r\n // // 'opacity': 1\r\n // // }).transition()\r\n // // .duration(1000)\r\n // // .delay(i * 500)\r\n // // .attr('stroke-dashoffset', 0)\r\n // // .each('end', function () {\r\n // // if (i === (conversationLineData.length - 1)) {\r\n // // startConversationAnimation();\r\n // // }\r\n // // });\r\n // // });\r\n // // }\r\n\r\n // // function startIpadAnimation() {\r\n\r\n // // ipadLineData.forEach((v, i) => {\r\n // // v.attr('stroke-dashoffset', v.node().getTotalLength());\r\n // // });\r\n\r\n // // ipadLineData.forEach((v, i) => {\r\n // // v\r\n // // .attr({\r\n // // 'opacity': 1\r\n // // }).transition()\r\n // // .duration(1000)\r\n // // .delay(i * 500)\r\n // // .attr('stroke-dashoffset', 0)\r\n // // .each('end', function () {\r\n // // if (i === (ipadLineData.length - 1)) {\r\n // // startIpadAnimation();\r\n // // }\r\n // // });\r\n // // });\r\n // // }\r\n\r\n\r\n // // Left View Lines\r\n // const notificationCordinates = [\r\n // [[298, 514], [298, 514]],\r\n // [[298, 514], [337, 478]],\r\n // [[298, 514], [385, 545]],\r\n // [[298, 514], [318, 433]],\r\n // [[298, 514], [377, 458]],\r\n // [[298, 514], [456, 565]],\r\n // [[298, 514], [516, 603]],\r\n // [[298, 514], [566, 563]]\r\n // ];\r\n\r\n // const notification_images = [{\r\n // height: 54,\r\n // width: 52,\r\n // finalX: 368,\r\n // finalY: 110,\r\n // x: 415,\r\n // y: 195,\r\n // // textX: 0,\r\n // // textY: 0,\r\n // text: 4\r\n // }, {\r\n // height: 54,\r\n // width: 52,\r\n // finalX: 630,\r\n // finalY: 540,\r\n // x: 676,\r\n // y: 589,\r\n // // textX: 0,\r\n // // textY: 0,\r\n // text: 1\r\n // }, {\r\n // height: 54,\r\n // width: 52,\r\n // finalX: 784,\r\n // finalY: 452,\r\n // x: 834,\r\n // y: 500,\r\n // // textX: 0,\r\n // // textY: 0,\r\n // text: 1\r\n // }, {\r\n // height: 54,\r\n // width: 52,\r\n // finalX: 901,\r\n // finalY: 493,\r\n // x: 940,\r\n // y: 546,\r\n // // textX: 0,\r\n // // textY: 0,\r\n // text: 1\r\n // }, {\r\n // height: 54,\r\n // width: 52,\r\n // finalX: 798,\r\n // finalY: 605,\r\n // x: 824,\r\n // y: 650,\r\n // // textX: 0,\r\n // // textY: 0,\r\n // text: 1\r\n // }];\r\n\r\n\r\n // // const notificationGroup = processSecondPart.append('g')\r\n // // .attr('id', 'notification-group-data')\r\n // // .attr('class', 'notification-group-data')\r\n // // .attr('opacity', 0);\r\n\r\n // // notificationGroup.selectAll('.images')\r\n // // .data(notification_images)\r\n // // .enter()\r\n // // .append('g')\r\n // // .attr('transform', (d) => `translate(${d.x}, ${d.y}) scale(0)`)\r\n // // .attr('class', (d) => 'notification animate')\r\n // // .attr('opacity', 0)\r\n // // .append('image')\r\n // // .attr('xlink:href', '/assets/images/field-coaching/notification.png')\r\n // // .attr('class', (d) => 'notification-img')\r\n // // .attr('height', (d) => d.height)\r\n // // .attr('width', (d) => d.width)\r\n // // .select(function () { return this.parentNode; })\r\n // // .append('text')\r\n // // .attr('fill', '#ffffff')\r\n // // .style('font-size', '14px')\r\n // // .attr('transform', (d) => `translate(35, 14)`)\r\n // // .text(function (d) { return d.text; });\r\n\r\n\r\n // // const smallNotificationGroup = processSecondPart.append('g')\r\n // // .attr('id', 'small-notification-group-data')\r\n // // .attr('class', 'small-notification-group-data')\r\n // // .attr('opacity', 0);\r\n\r\n // // smallNotificationGroup.selectAll('.lines')\r\n // // .data(notificationCordinates)\r\n // // .enter()\r\n // // .append('g')\r\n // // .append('path')\r\n // // .attr('d', this._line())\r\n // // .attr('class', 'message-line')\r\n // // .attr('stroke', 'none')\r\n // // .attr('stroke-width', 0)\r\n // // .attr('fill', 'none');\r\n\r\n // for (let index = 0; index < 8; index++) {\r\n // smallNotificationGroup\r\n // .append('image')\r\n // .attr('id', 'small-note-' + (index + 1))\r\n // .attr('xlink:href', '/assets/images/field-coaching/small_notification.png')\r\n // .attr('class', 'small-notification-image animate')\r\n // .attr('height', 20)\r\n // .attr('width', 22)\r\n // .attr('opacity', 0)\r\n // .attr('transform', `translate(298, 514)`);\r\n // }\r\n\r\n // function pathTween(path) {\r\n // const length = path.node().getTotalLength();\r\n // const r = d3.interpolate(0, length);\r\n // return function (t) {\r\n // const point = path.node().getPointAtLength(r(t));\r\n // let opacityVal = 1;\r\n // let scale = 1;\r\n // if (t > 0.25) {\r\n // // opacityVal = 0.7;\r\n // }\r\n // if (t > 0.50) {\r\n // // opacityVal = 0.5;\r\n // scale = 1.5 - t;\r\n // }\r\n // if (t > 0.75) {\r\n // opacityVal = 0.2;\r\n // scale = 1.5 - t;\r\n // }\r\n // if (t >= 1) {\r\n // opacityVal = 0;\r\n // scale = 1.5 - t;\r\n // }\r\n\r\n\r\n // d3.select(this) // Select the circle\r\n // .style('opacity', opacityVal)\r\n // .attr('transform', 'translate(' + point.x + ',' + point.y + ')'); // Set the cx\r\n // };\r\n // }\r\n\r\n // function repeatTransition(className, path, duration, delay, cb) {\r\n // d3.selectAll(`#${className}`).transition()\r\n // .delay((d, i) => delay * i)\r\n // .duration(duration)\r\n // .ease('linear')\r\n // .tween('pathTween', (d: any, i) => {\r\n // return pathTween(path);\r\n // })\r\n // // tslint:disable-next-line: only-arrow-functions\r\n // .call(endAll, function () {\r\n // if (cb) {\r\n // cb();\r\n // }\r\n // });\r\n // }\r\n\r\n // function endAll(tran, callback) {\r\n // if ((typeof callback) !== 'function') { throw new Error('Wrong callback in endall'); }\r\n // if (tran.size() === 0) { callback(); }\r\n // let n = 0;\r\n // tran.each(() => { ++n; })\r\n // .each('end', function (e) {\r\n // if (--n === 0) { callback.apply(this, arguments); }\r\n // });\r\n // }\r\n\r\n // // PB Start\r\n // let screen3ForwardAnimationStart = true;\r\n\r\n // function createLine(group, cordinates, strokeColor = '#000000') {\r\n // return group.append('path')\r\n // .datum(cordinates)\r\n // .attr('d', that._line())\r\n // .attr('stroke', strokeColor)\r\n // .attr('stroke-width', 1)\r\n // .attr('stroke-dasharray', function (d) {\r\n // d.pathLength = d3.select(this).node().getTotalLength();\r\n // return `${d.pathLength}, ${d.pathLength}`;\r\n // // return 0;\r\n // })\r\n // .attr('stroke-dashoffset', (d) => d.pathLength)\r\n // .attr('fill', 'none');\r\n // }\r\n\r\n // const challengesGroup = dataGroup.append('g')\r\n // .attr({\r\n // 'id': 'challenges-main-section-group',\r\n // 'class': 'challenges-main-section-group',\r\n // // 'transform': 'translate(200,231) scale(0,0)'\r\n // });\r\n\r\n // const monitorGroup = challengesGroup.append('g')\r\n // .attr({\r\n // 'id': 'challenges-monitor-section-group',\r\n // 'class': 'challenges-monitor-section-group',\r\n // // 'transform': 'translate(200,231) scale(0,0)'\r\n // });\r\n\r\n // monitorGroup.append('image')\r\n // .attr({\r\n // 'xlink:href': 'assets/images/field-coaching/challenges-monitor.png',\r\n // 'width': 515,\r\n // 'height': 652,\r\n // 'id': 'challenges-monitor-image',\r\n // 'class': 'challenges-monitor-image challenges',\r\n // // 'transform': 'translate(370, 508) scale(0.13) rotate(-5 71 25) skewY(139)',\r\n // 'transform': 'translate(308, 550) scale(0.087) rotate(20) skewY(-60)',\r\n // 'opacity': 0\r\n // });\r\n\r\n // function startMonitorAnimation() {\r\n // screen3ForwardAnimationStart = true;\r\n // challengesGroup.selectAll('.challenges').interrupt();\r\n // if (that.activeStartSlide === 'screen-3') {\r\n // monitorGroup.select('#challenges-monitor-image')\r\n // .transition()\r\n // .duration(900)\r\n // .attr({\r\n // 'transform': 'translate(643, 145) scale(1) rotate(0 0 0)',\r\n // 'opacity': 1\r\n // })\r\n // .call(endAll, () => {\r\n // startIndicatorSectionAnimation();\r\n // startFileAnimation();\r\n // });\r\n // }\r\n // }\r\n\r\n // function resetMonitor() {\r\n // monitorGroup.select('#challenges-monitor-image')\r\n // .transition()\r\n // .duration(100)\r\n // .attr({\r\n // opacity: 0\r\n // })\r\n // .transition()\r\n // .attr({\r\n // // 'transform': 'translate(370, 508) scale(0.13)',\r\n // 'transform': 'translate(308, 550) scale(0.087) rotate(20) skewY(-60)',\r\n // })\r\n // }\r\n\r\n // // Files Section Start\r\n // const directoryGroup = challengesGroup.append('g')\r\n // .attr({\r\n // 'id': 'challenges-files-group',\r\n // 'class': 'challenges-files-group',\r\n // 'transform': 'translate(670,227)'\r\n // })\r\n // .style({\r\n // 'transform': 'translate(670px,227px)'\r\n // });\r\n\r\n // const filesGroup = directoryGroup.append('g')\r\n // .attr({\r\n // 'id': 'challenges-files-group',\r\n // 'class': 'challenges-files-group'\r\n // });\r\n\r\n // const selectedFileGroup = directoryGroup.append('g')\r\n // .attr({\r\n // 'id': 'challenges-selected-files-group',\r\n // 'class': 'challenges-selected-files-group'\r\n // });\r\n\r\n // const blueTickGroup = directoryGroup.append('g')\r\n // .attr({\r\n // 'id': 'challenges-files-group',\r\n // 'class': 'challenges-files-group'\r\n // });\r\n\r\n // const filesData = [{\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 0,\r\n // y: 0,\r\n // width: 67,\r\n // height: 118,\r\n // moveable: true\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 77,\r\n // y: 45,\r\n // width: 67,\r\n // height: 118\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 154,\r\n // y: 90,\r\n // width: 67,\r\n // height: 118\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 231,\r\n // y: 134,\r\n // width: 67,\r\n // height: 118,\r\n // moveable: true\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 308,\r\n // y: 178,\r\n // width: 67,\r\n // height: 118\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 385,\r\n // y: 222,\r\n // width: 67,\r\n // height: 118,\r\n // moveable: true\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 0,\r\n // y: 90,\r\n // width: 67,\r\n // height: 118\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 77,\r\n // y: 134,\r\n // width: 67,\r\n // height: 118\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 154,\r\n // y: 178,\r\n // width: 67,\r\n // height: 118,\r\n // moveable: true\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 231,\r\n // y: 222,\r\n // width: 67,\r\n // height: 118\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 308,\r\n // y: 266,\r\n // width: 67,\r\n // height: 118\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 385,\r\n // y: 310,\r\n // width: 67,\r\n // height: 118\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 0,\r\n // y: 180,\r\n // width: 67,\r\n // height: 118\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 77,\r\n // y: 224,\r\n // width: 67,\r\n // height: 118\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 154,\r\n // y: 268,\r\n // width: 67,\r\n // height: 118,\r\n // moveable: true\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 231,\r\n // y: 312,\r\n // width: 67,\r\n // height: 118\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 308,\r\n // y: 356,\r\n // width: 67,\r\n // height: 118\r\n // }, {\r\n // path: '/assets/images/field-coaching/challenges-file.png',\r\n // x: 385,\r\n // y: 400,\r\n // width: 67,\r\n // height: 118\r\n // },];\r\n\r\n // const fileImageRef = [];\r\n\r\n // filesData.forEach((file, fileIndex) => {\r\n // const image = filesGroup.append('image')\r\n // .attr({\r\n // 'xlink:href': file.path,\r\n // 'width': file.width,\r\n // 'height': file.height,\r\n // 'id': `monitor-file-${fileIndex}`,\r\n // 'class': `monitor-file challenges`,\r\n // 'x': file.x,\r\n // 'y': file.y,\r\n // 'opacity': 0,\r\n // 'transform': 'scale(1.1)'\r\n // // 'transform': 'translate(267,277) scale(0)'\r\n // });\r\n\r\n // fileImageRef.push(image);\r\n // });\r\n\r\n // function startFileAnimation() {\r\n // if (that.activeStartSlide === 'screen-3') {\r\n // filesGroup.selectAll('.monitor-file')\r\n // .data(filesData)\r\n // .attr({\r\n // 'opacity': 0,\r\n // 'x': (d) => d.x,\r\n // 'y': (d) => d.y,\r\n // 'transform': 'scale(1.1)'\r\n // })\r\n // .transition()\r\n // .duration(600)\r\n // .delay((d, i) => i * 50)\r\n // .attr({\r\n // 'opacity': 1,\r\n // 'transform': 'scale(1)'\r\n // })\r\n // .call(endAll, () => {\r\n // startBlueTickAnimation();\r\n // })\r\n // }\r\n // }\r\n\r\n // const selectedFileData = [{\r\n // path: '/assets/images/field-coaching/challenges-clicked-file.png',\r\n // x: 145,\r\n // y: 171,\r\n // width: 85,\r\n // height: 136\r\n // }];\r\n\r\n // selectedFileData.forEach((file, fileIndex) => {\r\n // selectedFileGroup.append('image')\r\n // .attr({\r\n // 'xlink:href': file.path,\r\n // 'width': file.width,\r\n // 'height': file.height,\r\n // 'id': `monitor-clicked-file-${fileIndex}`,\r\n // 'class': `monitor-clicked-file challenges`,\r\n // 'x': file.x,\r\n // 'y': file.y,\r\n // 'opacity': 0,\r\n // // 'transform': 'translate(267,277) scale(0)'\r\n // });\r\n // });\r\n\r\n // function startClickedFileAnimation() {\r\n // if (that.activeStartSlide === 'screen-3') {\r\n // selectedFileGroup.select('.monitor-clicked-file')\r\n // .attr('opacity', 0)\r\n // .transition()\r\n // .duration(200)\r\n // .delay((d, i) => i * 20)\r\n // .attr({\r\n // 'opacity': 1\r\n // })\r\n // .transition()\r\n // .duration(50)\r\n // .attr({\r\n // 'opacity': 0.6\r\n // })\r\n // .transition()\r\n // .duration(80)\r\n // .attr({\r\n // 'opacity': 1\r\n // })\r\n // .each('end', () => {\r\n // startChallengeExcelSectionAnimation();\r\n // selectedFileGroup.select('.monitor-clicked-file')\r\n // .transition()\r\n // .delay(100)\r\n // .attr('opacity', 0)\r\n // });\r\n // }\r\n // }\r\n\r\n // const blueTicksData = [{\r\n // path: '/assets/images/field-coaching/selected-tick.png',\r\n // x: 127,\r\n // y: 141,\r\n // width: 29,\r\n // height: 31\r\n // },\r\n // {\r\n // path: '/assets/images/field-coaching/selected-tick.png',\r\n // x: 280,\r\n // y: 231,\r\n // width: 29,\r\n // height: 31,\r\n // moveable: true\r\n // },\r\n // {\r\n // path: '/assets/images/field-coaching/selected-tick.png',\r\n // x: 203,\r\n // y: 275,\r\n // width: 29,\r\n // height: 31,\r\n // moveable: true\r\n // },\r\n // {\r\n // path: '/assets/images/field-coaching/selected-tick.png',\r\n // x: 280,\r\n // y: 410,\r\n // width: 29,\r\n // height: 31\r\n // },\r\n // {\r\n // path: '/assets/images/field-coaching/selected-tick.png',\r\n // x: 358,\r\n // y: 276,\r\n // width: 29,\r\n // height: 31\r\n // }]\r\n\r\n // blueTicksData.forEach((blueTick, blueTickIndex) => {\r\n // blueTickGroup.append('image')\r\n // .attr({\r\n // 'xlink:href': blueTick.path,\r\n // 'width': blueTick.width,\r\n // 'height': blueTick.height,\r\n // 'id': `file-blue-tick-${blueTickIndex}`,\r\n // 'class': `file-blue-tick challenges`,\r\n // 'x': blueTick.x,\r\n // 'y': blueTick.y,\r\n // 'opacity': 0,\r\n // // 'transform': 'translate(267,277) scale(0)'\r\n // });\r\n // });\r\n\r\n // function startBlueTickAnimation() {\r\n // if (that.activeStartSlide === 'screen-3') {\r\n // blueTickGroup.selectAll('.file-blue-tick')\r\n // .data(blueTicksData)\r\n // .attr('opacity', 0)\r\n // .attr('x', (d) => d.x)\r\n // .attr('y', (d) => d.y)\r\n // .transition()\r\n // .duration(400)\r\n // .delay((d, i) => i * 80)\r\n // .attr({\r\n // 'opacity': 1\r\n // })\r\n // .call(endAll, () => {\r\n // setTimeout(() => {\r\n // startClickedFileAnimation();\r\n // }, 500);\r\n // })\r\n // }\r\n // }\r\n\r\n // function resetDirectoryFilesAndTicks() {\r\n\r\n // selectedFileGroup.select('.monitor-clicked-file')\r\n // .attr('opacity', 0);\r\n\r\n // blueTickGroup.selectAll('.file-blue-tick')\r\n // .data(blueTicksData)\r\n // .transition()\r\n // .delay(350)\r\n // .duration(20)\r\n // .attr('opacity', 0)\r\n // .attr('x', (d) => d.x)\r\n // .attr('y', (d) => d.y);\r\n\r\n // fileImageRef.forEach((dirFile, index) => {\r\n // if (filesData[index].moveable == undefined) {\r\n // const d = filesData[index];\r\n // dirFile\r\n // .transition()\r\n // .delay(350)\r\n // .duration(20)\r\n // .attr({\r\n // 'opacity': 0,\r\n // 'x': d.x,\r\n // 'y': d.y\r\n // })\r\n // .each('end', function () {\r\n // if (index === (filesData.length - 1)) {\r\n // resetMonitor();\r\n // }\r\n // });\r\n // }\r\n // })\r\n // }\r\n\r\n // function hideScreen3Elements() {\r\n // commonGroup.select('#director-board-img')\r\n // .transition()\r\n // .attr('transform', (d) => `translate(${d.x}, ${d.y}) scale(0)`);\r\n // resetIndicatorPosition();\r\n\r\n // selectedFileGroup.select('.monitor-clicked-file')\r\n // .attr('opacity', 0);\r\n\r\n // blueTickGroup.selectAll('.file-blue-tick')\r\n // .data(blueTicksData)\r\n // .transition()\r\n // .delay(400)\r\n // .duration(20)\r\n // .attr('opacity', 0)\r\n // .attr('x', (d) => d.x)\r\n // .attr('y', (d) => d.y);\r\n\r\n // filesGroup.selectAll('.monitor-file')\r\n // .data(filesData)\r\n // .transition()\r\n // .duration(0)\r\n // .attr({\r\n // 'opacity': 0,\r\n // 'x': (d, i) => d.x,\r\n // 'y': (d, i) => d.y\r\n // })\r\n // .call(endAll, () => {\r\n // resetMonitor();\r\n // });\r\n // }\r\n // // Files Section Closed\r\n\r\n // // Excel Section Start\r\n // const excelSectionGroup = challengesGroup.append('g')\r\n // .attr({\r\n // 'id': 'challenges-excel-section-group',\r\n // 'class': 'challenges-excel-section-group',\r\n // // 'transform': 'translate(200,231) scale(0,0)'\r\n // })\r\n // .style({\r\n // 'transform': 'translate(628px,210px)'\r\n // });\r\n\r\n // excelSectionGroup.append('image')\r\n // .attr({\r\n // 'xlink:href': 'assets/images/field-coaching/challenges-excel-document.png',\r\n // 'width': 535,\r\n // 'height': 555,\r\n // 'id': 'excel-section-image',\r\n // 'class': 'excel-section-image challenges',\r\n // 'transform': 'translate(267,277) scale(0)'\r\n // });\r\n\r\n // const barChartGroup = excelSectionGroup.append('g')\r\n // .attr({\r\n // 'id': 'challenges-bar-chart',\r\n // 'class': 'challenges-bar-chart',\r\n // })\r\n // .style({\r\n // 'transform': 'translate(75px, 165px)skewY(32deg)'\r\n // });\r\n\r\n // const yellowTextSectionGroup = excelSectionGroup.append('g')\r\n // .attr({\r\n // 'id': 'challenges-lines-group',\r\n // 'class': 'challenges-lines-group',\r\n // 'transform': 'translate(170, 220)'\r\n // })\r\n // .style({\r\n // 'transform': 'translate(170px, 220px)'\r\n // });\r\n\r\n // const screenIndicatorSectionGroup = excelSectionGroup.append('g')\r\n // .attr({\r\n // 'id': 'challenges-screenIndicator-group',\r\n // 'class': 'challenges-screenIndicator-group',\r\n // 'transform': 'translate(145, 0)'\r\n // })\r\n // .style({\r\n // 'transform': 'translate(145px, 0px)'\r\n // });\r\n\r\n // // fee3c0\r\n // // 5ab25e\r\n // const barCharData = [{\r\n // x: 0,\r\n // totalHeight: 80,\r\n // duration: 1000,\r\n // delay: 200,\r\n // data: [{\r\n // height: 30,\r\n // width: 6,\r\n // fill: '#fee3c0'\r\n // }, {\r\n // height: 50,\r\n // width: 6,\r\n // fill: '#5ab25e'\r\n // }]\r\n // }, {\r\n // x: 17,\r\n // totalHeight: 80,\r\n // duration: 1000,\r\n // delay: 600,\r\n // data: [{\r\n // height: 40,\r\n // width: 6,\r\n // fill: '#fee3c0'\r\n // }, {\r\n // height: 65,\r\n // width: 6,\r\n // fill: '#5ab25e'\r\n // }]\r\n // }, {\r\n // x: 34,\r\n // totalHeight: 80,\r\n // duration: 1000,\r\n // delay: 1000,\r\n // data: [{\r\n // height: 25,\r\n // width: 6,\r\n // fill: '#fee3c0'\r\n // }, {\r\n // height: 50,\r\n // width: 6,\r\n // fill: '#5ab25e'\r\n // }]\r\n // }, {\r\n // x: 51,\r\n // totalHeight: 80,\r\n // duration: 1000,\r\n // delay: 1400,\r\n // data: [{\r\n // height: 20,\r\n // width: 6,\r\n // fill: '#fee3c0'\r\n // }, {\r\n // height: 75,\r\n // width: 6,\r\n // fill: '#5ab25e'\r\n // }]\r\n // }];\r\n\r\n // const barChar = barChartGroup.selectAll('.barChartDataGroup')\r\n // .data(barCharData)\r\n // .enter()\r\n // .append('g')\r\n // .each(function (d) {\r\n // const g = d3.select(this)\r\n // .attr('class', 'barChartDataGroup challenges')\r\n // .attr('transform', `translate(${d.x}, 0)`);\r\n // g.selectAll('.bars')\r\n // .data(d.data)\r\n // .enter()\r\n // .append('rect')\r\n // .each(function (data: any, i) {\r\n // data.totalHeight = d.totalHeight;\r\n // data.duration = d.duration;\r\n // data.delay = d.delay;\r\n // d3.select(this)\r\n // .attr('class', 'animate challenges')\r\n // .attr('x', ((data.width * i) + (1 * i)))\r\n // .attr('y', d.totalHeight/* (d.totalHeight - data.height) */)\r\n // .attr('width', data.width)\r\n // // .attr('height', data.height)\r\n // .attr('height', 0)\r\n // .attr('fill', data.fill);\r\n // });\r\n // });\r\n\r\n // function startBarChartAnimation() {\r\n // if (that.activeStartSlide === 'screen-3' && (+excelSectionGroup.select('image').attr('opacity') == 1)) {\r\n // barChar\r\n // .attr('opacity', 1)\r\n // .selectAll('rect')\r\n // .attr('y', (d: any) => d.totalHeight).attr('height', 0)\r\n // .attr('opacity', 1)\r\n // .transition()\r\n // .delay((d: any) => d.delay)\r\n // .duration((d: any) => d.duration)\r\n // .attr('y', (d: any) => (d.totalHeight - d.height))\r\n // .attr('height', (d: any) => d.height)\r\n // .call(endAll, function () {\r\n // reanimateBarChart();\r\n // });\r\n // } else {\r\n // barChar\r\n // .attr('opacity', 0)\r\n // .selectAll('rect')\r\n // .attr('opacity', 0);\r\n // }\r\n // }\r\n\r\n // function reanimateBarChart() {\r\n // if (that.activeStartSlide === 'screen-3' && (+excelSectionGroup.select('image').attr('opacity') == 1)) {\r\n // // console.log(\"reanimate called\");\r\n // barChar\r\n // .selectAll('rect')\r\n // .transition()\r\n // .delay(150)\r\n // .duration(1000)\r\n // .attr('y', (d: any) => d.totalHeight).attr('height', 0)\r\n // .call(endAll, function () {\r\n // // console.log('start animation called');\r\n // startBarChartAnimation();\r\n // });\r\n // } else {\r\n // barChar\r\n // .attr('opacity', 0)\r\n // .selectAll('rect')\r\n // .attr('opacity', 0);\r\n // }\r\n // }\r\n\r\n // const lines = [];\r\n\r\n // const linesData = [\r\n // [[0, 6], [54, 6]],\r\n // [[0, 11], [46, 11]],\r\n // [[0, 16], [47, 16]],\r\n // [[0, 21], [52, 21]],\r\n // [[0, 26], [46, 26]],\r\n // [[0, 31], [43, 31]],\r\n // [[0, 36], [25, 36]],\r\n // ];\r\n\r\n // linesData.forEach((lineData) => {\r\n // lines.push(createLine(yellowTextSectionGroup, lineData).classed('yellow-box-lines challenges', true));\r\n // });\r\n\r\n // function startYellowSectionTextAnimation() {\r\n\r\n // lines.forEach((v, i) => {\r\n // v.attr({\r\n // 'stroke-dashoffset': v.node().getTotalLength(),\r\n // 'opacity': 0\r\n // });\r\n // });\r\n\r\n // if (that.activeStartSlide === 'screen-3' && (+excelSectionGroup.select('image').attr('opacity') == 1)) {\r\n // lines.forEach((v, i) => {\r\n // v.attr({\r\n // 'opacity': 1,\r\n // 'transform': 'skewY(31)',\r\n // 'stroke-width': '1.5'\r\n // }).transition()\r\n // .duration(1000)\r\n // .delay(i * 500)\r\n // .attr('stroke-dashoffset', 0)\r\n // .each('end', function () {\r\n // if (i === (lines.length - 1)) {\r\n // startYellowSectionTextAnimation();\r\n // }\r\n // });\r\n // });\r\n // }\r\n // }\r\n // // Excel Section End\r\n\r\n // // Indicator Section Start\r\n // const indicatorLines = [];\r\n // const indicatorLinesData = [\r\n // {\r\n // line: {\r\n // 'co-ordinates': [[0, 6], [315, 5]]\r\n // },\r\n // image: {\r\n // path: '/assets/images/field-coaching/challenge-indicator-1.png',\r\n // height: 34,\r\n // width: 34\r\n // },\r\n // text: {\r\n // content: 'Increased time',\r\n // color: '#FFF'\r\n // }\r\n // },\r\n // {\r\n // line: {\r\n // 'co-ordinates': [[102, 63], [402, 62]]\r\n // },\r\n // image: {\r\n // path: '/assets/images/field-coaching/challenge-indicator-2.png',\r\n // height: 34,\r\n // width: 34\r\n // },\r\n // text: {\r\n // content: 'Tedious manual efforts',\r\n // color: '#FFF'\r\n // }\r\n // },\r\n // {\r\n // line: {\r\n // 'co-ordinates': [[204, 120], [502, 119]]\r\n // },\r\n // image: {\r\n // path: '/assets/images/field-coaching/challenge-indicator-2.png',\r\n // height: 34,\r\n // width: 34\r\n // },\r\n // text: {\r\n // content: 'Inconsistency',\r\n // color: '#FFF'\r\n // }\r\n // }\r\n // ];\r\n\r\n // indicatorLinesData.forEach((indicatorLineData, indicatorIndex) => {\r\n // const screenIndicatorBlockGroup = screenIndicatorSectionGroup.append('g')\r\n // .attr({\r\n // 'class': 'challenges-indicator-block-group',\r\n // 'id': `challenges-indicator-block-group-${indicatorIndex}`\r\n // });\r\n // const { line, image, text } = indicatorLineData;\r\n // // Adding Line\r\n // indicatorLines.push(createLine(screenIndicatorBlockGroup, line['co-ordinates']).classed(`challenges-indicator-${indicatorIndex} challenges`, true));\r\n // const imageTranslateValue = {\r\n // x: line['co-ordinates'][0][0] + (line['co-ordinates'][1][0] - line['co-ordinates'][0][0]),\r\n // y: line['co-ordinates'][0][1] - (image.height >> 1)\r\n // }\r\n // // Adding Image\r\n // screenIndicatorBlockGroup.append('image')\r\n // .attr({\r\n // 'xlink:href': image.path,\r\n // 'width': image.width,\r\n // 'height': image.height,\r\n // 'id': `image-${indicatorIndex}`,\r\n // 'class': 'challenges',\r\n // 'transform': `translate(${imageTranslateValue.x}, ${imageTranslateValue.y})`,\r\n // 'opacity': 0\r\n // })\r\n // // Adding Text\r\n // screenIndicatorBlockGroup.append('text')\r\n // .text(text.content)\r\n // .attr({\r\n // 'x': imageTranslateValue.x + image.width + 10,\r\n // 'y': line['co-ordinates'][0][1],\r\n // 'fill': text.color,\r\n // 'dy': '0.35em',\r\n // 'id': `text-${indicatorIndex}`,\r\n // 'class': 'challenges',\r\n // 'opacity': 0\r\n // })\r\n // .style({\r\n // 'letter-spacing': '0.5px',\r\n // 'font-size': '14px',\r\n // })\r\n // });\r\n\r\n // function startIndicatorSectionAnimation() {\r\n // if (that.activeStartSlide === 'screen-3') {\r\n // indicatorLines.forEach((line, indicatorIndex) => {\r\n // line\r\n // .attr('opacity', 1)\r\n // .transition()\r\n // .duration(700)\r\n // .delay(indicatorIndex * 200)\r\n // .attr('stroke-width', 1)\r\n // .attr('stroke-dashoffset', 0)\r\n // .attr('stroke', `url(${that.currentRelativeUrl}#challengesIndicatorColor)`)\r\n // .each('end', () => {\r\n // screenIndicatorSectionGroup.select(`#image-${indicatorIndex}`)\r\n // .transition()\r\n // .duration(300)\r\n // .attr({\r\n // 'opacity': 1\r\n // })\r\n // .each('end', () => {\r\n // screenIndicatorSectionGroup.select(`#text-${indicatorIndex}`)\r\n // .transition()\r\n // .duration(300)\r\n // .attr({\r\n // 'opacity': 1\r\n // })\r\n // })\r\n // });\r\n // });\r\n // }\r\n // }\r\n\r\n // function resetIndicatorPosition() {\r\n // indicatorLines.forEach((line, indicatorIndex) => {\r\n // line\r\n // .transition()\r\n // .duration(90)\r\n // .attr('stroke-dashoffset', line.node().getTotalLength())\r\n // .each('end', () => {\r\n // screenIndicatorSectionGroup.select(`#image-${indicatorIndex}`)\r\n // .transition()\r\n // .duration(10)\r\n // .attr({\r\n // 'opacity': 0\r\n // })\r\n // .each('end', () => {\r\n // screenIndicatorSectionGroup.select(`#text-${indicatorIndex}`)\r\n // .attr({\r\n // 'opacity': 0\r\n // })\r\n // })\r\n // });\r\n // });\r\n // }\r\n // // Indicator Section End\r\n\r\n // const movefileIndex = [{\r\n // position: 0,\r\n // selected: false,\r\n // },\r\n // {\r\n // position: 3,\r\n // selected: true,\r\n // tickPosition: 1\r\n // }, {\r\n // position: 5,\r\n // selected: false\r\n // }, {\r\n // position: 8,\r\n // selected: true,\r\n // tickPosition: 2\r\n // }, {\r\n // position: 14,\r\n // selected: false\r\n // },], fileMoveValue = 900;\r\n\r\n // function startChallengeExcelSectionAnimation() {\r\n // if (that.activeStartSlide === 'screen-3') {\r\n // excelSectionGroup.select('image')\r\n // .attr({\r\n // 'transform': 'translate(267,277) scale(0, 0)',\r\n // 'opacity': 1,\r\n // 'stroke': '6c757d'\r\n // })\r\n // .transition()\r\n // .duration(1000)\r\n // .attr({\r\n // 'transform': 'translate(0,0) scale(1, 1)',\r\n // })\r\n // .call(endAll, () => {\r\n // startBarChartAnimation();\r\n // startYellowSectionTextAnimation();\r\n // });\r\n // }\r\n // }\r\n\r\n // function closeExcelSectionAnimation() {\r\n // // screen3ForwardAnimationStart = false; //Stop all forward animation\r\n // challengesGroup.selectAll('.challenges').interrupt(); //Interrupt all challenges transition\r\n\r\n // // Stop Lines Animation\r\n // lines.forEach((v, i) => {\r\n // v.transition()\r\n // .attr('stroke-dashoffset', v.node().getTotalLength());\r\n // });\r\n\r\n // // Stop Bar Chart Animation\r\n // barChar.selectAll('rect')\r\n // .transition()\r\n // .duration(100)\r\n // .attr('y', (d: any) => (d.totalHeight))\r\n // .attr('height', 0)\r\n // .attr('opacity', 0)\r\n\r\n // // Scale down Excel Section Image\r\n // excelSectionGroup.select('image')\r\n // .transition()\r\n // .duration(300)\r\n // .attr({\r\n // 'transform': 'translate(267,277) scale(0, 0)'\r\n // })\r\n // .each('end', () => {\r\n // movefileIndex.forEach((file, index) => {\r\n // filesGroup.select(`#monitor-file-${file.position}`)\r\n // .transition()\r\n // .ease('linear')\r\n // .delay(index * 10)\r\n // .duration(1050)\r\n // .attr('x', () => {\r\n // if (file.selected) {\r\n // blueTickGroup.select(`#file-blue-tick-${file.tickPosition}`)\r\n // .transition()\r\n // .delay(1)\r\n // .transition()\r\n // .ease('linear')\r\n // .delay(index * 100)\r\n // .duration(1000)\r\n // .attr({\r\n // // 'x': blueTicksData[file.tickPosition].x + fileMoveValue,\r\n // 'opacity': 0\r\n // })\r\n // }\r\n // return filesData[file.position].x + fileMoveValue\r\n // })\r\n // .attr({\r\n // 'transform': 'scale(1.2)',\r\n // 'opacity': 0\r\n // })\r\n // .each('end', () => {\r\n // if ((movefileIndex.length - 1) === index) {\r\n // if (that.activeStartSlide === 'screen-4') {\r\n // showScreen4();\r\n // }\r\n // }\r\n // });\r\n // });\r\n\r\n // resetChallangesElementPosition();\r\n\r\n // commonGroup.select('#director-board-img')\r\n // .transition()\r\n // .ease('linear')\r\n // .delay(400)\r\n // .duration(10)\r\n // .attr({\r\n // 'transform': (d) => `translate(${d.x}, ${d.y}) scale(0)`,\r\n // });\r\n\r\n // commonGroup.select('#director-img')\r\n // .transition()\r\n // .ease('linear')\r\n // .delay(400)\r\n // .duration(100)\r\n // .attr('height', (d) => d.scaleHeight)\r\n // .attr('width', (d) => d.scaleWidth)\r\n // .attr('transform', (d) => `translate(${d.newX}, ${d.newY})`)\r\n // .attr('opacity', 0);\r\n // });\r\n // }\r\n\r\n // function resetChallangesElementPosition() {\r\n // // commonGroup.select('#director-board-img').attr('opacity', 0);\r\n // resetDirectoryFilesAndTicks();\r\n // resetIndicatorPosition();\r\n // }\r\n // // PB End\r\n\r\n // const centerCircleImageData = [\r\n // {\r\n // src: '/assets/images/field-coaching/polygon_10.png',\r\n // class: 'rotate-clockwise',\r\n // height: 391,\r\n // width: 391,\r\n // finalX: 0,\r\n // finalY: 0,\r\n // X: 195,\r\n // Y: 195\r\n // }, {\r\n // src: '/assets/images/field-coaching/polygon_9.png',\r\n // class: 'rotate-anti-clockwise',\r\n // height: 296,\r\n // width: 296,\r\n // finalX: 47.5,\r\n // finalY: 47.5,\r\n // X: 195,\r\n // Y: 195\r\n // }, {\r\n // src: '/assets/images/field-coaching/polygon_8.png',\r\n // id: 'polygon8',\r\n // class: 'rotate-clockwise',\r\n // height: 210,\r\n // width: 210,\r\n // finalX: 90.5,\r\n // finalY: 90.5,\r\n // X: 195,\r\n // Y: 195\r\n // }];\r\n\r\n // const docImages = [{\r\n // src: '/assets/images/field-coaching/circle_empty_doc.png',\r\n // id: 'empty-doc',\r\n // class: '',\r\n // height: 210,\r\n // width: 210,\r\n // finalX: 170,\r\n // finalY: 163,\r\n // X: 195,\r\n // Y: 195\r\n // }, {\r\n // src: '/assets/images/field-coaching/circle_target_doc.png',\r\n // id: 'empty-doc',\r\n // class: '',\r\n // height: 210,\r\n // width: 210,\r\n // finalX: 155,\r\n // finalY: 154,\r\n // X: 195,\r\n // Y: 195\r\n // }]\r\n\r\n // const centerGroupDotsData = [\r\n // { X: 118, Y: 105, radius: 4 },\r\n // { X: 137, Y: 128, radius: 4 },\r\n // { X: 156, Y: 148, radius: 4 }\r\n // ]\r\n\r\n // const centerCircleGroup = commonGroup.append('g')\r\n // .attr({\r\n // 'id': 'center-circle-main-group',\r\n // 'class': 'center-circle-main-group',\r\n // 'transform': 'translate(696,310)',\r\n // 'opacity': 0\r\n // });\r\n\r\n // centerCircleGroup.selectAll('.image')\r\n // .data(centerCircleImageData)\r\n // .enter()\r\n // .append('image')\r\n // .attr('xlink:href', d => d.src)\r\n // .attr('class', 'image')\r\n // .attr('transform', d => 'translate(' + d.X + ',' + d.Y + ') scale(0)')\r\n // .attr('opacity', 0);\r\n\r\n // centerCircleGroup.selectAll('.docs')\r\n // .data(docImages)\r\n // .enter()\r\n // .append('image')\r\n // .attr('xlink:href', d => d.src)\r\n // .attr('class', 'docs')\r\n // .attr('transform', d => 'translate(' + d.X + ',' + d.Y + ') scale(0)')\r\n // .attr('opacity', 0);\r\n\r\n // centerCircleGroup.selectAll('.dots')\r\n // .data(centerGroupDotsData)\r\n // .enter()\r\n // .append('circle')\r\n // .attr('cx', d => d.X)\r\n // .attr('cy', d => d.Y)\r\n // .attr('class', 'dots')\r\n // .attr('fill', '#C63FC6')\r\n // .attr('r', d => d.radius)\r\n // .attr('opacity', 0);\r\n\r\n // const docLinesColors = ['grey', 'green', 'brown', 'black', 'steelblue']\r\n\r\n // const docLinesCordinates = [\r\n // [[0, 0], [15, 0]],\r\n // [[0, 10], [15, 10]],\r\n // [[0, 20], [30, 20]],\r\n // [[0, 30], [30, 30]],\r\n // [[0, 40], [30, 40]],\r\n // [[0, 50], [30, 50]],\r\n // ];\r\n\r\n // const docLinesGroup = centerCircleGroup.append('g').attr('transform', 'translate(180,175)')\r\n // const docLinesData = [];\r\n\r\n // docLinesCordinates.forEach((lineData) => {\r\n // docLinesData.push(createLine(docLinesGroup, lineData).classed('document-line', true));\r\n // });\r\n\r\n // function startDocAnimation() {\r\n // docLinesData.forEach((lines, i) => {\r\n // lines\r\n // .attr({\r\n // 'opacity': 1,\r\n // 'stroke-width': 5,\r\n // 'stroke': docLinesColors[i],\r\n // 'stroke-linecap': 'round'\r\n // }).transition()\r\n // .duration(1000)\r\n // .delay(i * 500)\r\n // .attr('stroke-dashoffset', 0);\r\n // });\r\n // }\r\n\r\n // function animatePlygon(value) {\r\n // const polygons = d3.selectAll('.image')\r\n // polygons\r\n // .transition()\r\n // .duration(100)\r\n // .attr('transform', (d: any, i) => {\r\n // return `translate(${d.finalX}, ${d.finalY}) rotate(${i % 2 === 0 ? value : -value}, ${d.width / 2}, ${d.height / 2})`\r\n // })\r\n // .each('end', function () {\r\n // value += 1;\r\n // animatePlygon(value >= 360 ? 0 : value);\r\n // });\r\n // }\r\n\r\n // this._initNplSvgSection('svg-npl-wrapper');\r\n\r\n\r\n // const nlpTextGroup = centerCircleGroup.append('g')\r\n // .attr('class', 'nlp-text')\r\n // .attr('transform', 'translate(60,-32)');\r\n\r\n // nlpTextGroup\r\n // .append('text')\r\n // .attr('font-size', '27px')\r\n // .attr('font-weight', 'medium')\r\n // .attr('stroke', 'white')\r\n // .attr('fill', 'white')\r\n // .text('Process Involved in NLP');\r\n\r\n // const nlpBottomTextGroup = nlpTextGroup.append('g').attr('transform', 'translate(60,390)')\r\n\r\n // nlpBottomTextGroup.append('line')\r\n // .attr({\r\n // 'x1': 0,\r\n // 'y1': 0,\r\n // 'x2': 0,\r\n // 'y2': 65,\r\n // 'stroke': '#ED8B00',\r\n // 'stroke-width': 5\r\n // })\r\n\r\n\r\n // const testLines = [\r\n // { text: 'NLP', X: 10, Y: 20, size: '23px', weight: 'bold', stroke: '#ED8B00' },\r\n // { text: 'Segregating text based on', X: 10, Y: 40, size: '13px', weight: 'medium', stroke: 'white' },\r\n // { text: 'Quality & Structure', X: 10, Y: 60, size: '13px', weight: 'medium', stroke: 'white' }\r\n // ];\r\n\r\n // nlpBottomTextGroup.selectAll('text')\r\n // .data(testLines).enter().append('text')\r\n // .attr('font-size', d => d.size)\r\n // .attr('font-weight', d => d.weight)\r\n // // .attr('stroke', d => d.stroke)\r\n // .attr('fill', d => d.stroke)\r\n // .attr('x', d => d.X)\r\n // .attr('y', d => d.Y)\r\n // .text(d => d.text)\r\n\r\n\r\n // const benefitGroup = dataGroup.append('g')\r\n // .attr({\r\n // 'id': 'benefit-main-group',\r\n // 'class': 'benefit-main-group',\r\n // 'opacity': 0\r\n // // 'transform': 'translate(200,231) scale(0,0)'\r\n // });\r\n\r\n // const chartGroup = benefitGroup.append('g')\r\n // .attr({\r\n // 'id': 'benefit-chart-main-group',\r\n // 'class': 'benefit-chart-main-group',\r\n // 'transform': 'translate(82,252)'\r\n // });\r\n\r\n // // let svg = d3.select(\"#scatter-test1\").append(\"svg\");\r\n\r\n // const margin = { top: 50, right: 50, bottom: 50, left: 50 };\r\n // const width = 600 - margin.left - margin.right;\r\n // const height = 600 - margin.top - margin.bottom;\r\n\r\n // chartGroup\r\n // .attr('width', width + margin.left + margin.right)\r\n // .attr('height', height + margin.top + margin.bottom)\r\n // .style('font-family', '\"Roboto\", sans-serif');\r\n\r\n\r\n // let pre_endAngle = 0;\r\n // const arcArray = [];\r\n\r\n // const dataArray = [\r\n // { angle: 45, radius: 170, title: 'IMMEDIATE' },\r\n // { angle: 130, radius: 200, title: 'SPECIFIC' },\r\n // { angle: 100, radius: 235, title: 'BALANCED' },\r\n // { angle: 85, radius: 200, title: 'FOCUSED' }\r\n // ];\r\n\r\n // const degToRad = d => (d * Math.PI) / 180;\r\n\r\n // for (let key in dataArray) {\r\n // let arcAngle = degToRad(dataArray[key].angle);\r\n // let startAngle = pre_endAngle;\r\n // let endAngle = startAngle + arcAngle;\r\n // pre_endAngle = endAngle;\r\n // arcArray.push({\r\n // title: dataArray[key].title,\r\n // data: dataArray[key].angle,\r\n // index: key,\r\n // value: dataArray[key].angle,\r\n // startAngle: startAngle,\r\n // endAngle: endAngle,\r\n // outerRadius: dataArray[key].radius\r\n // });\r\n // }\r\n // const arc = d3.svg.arc()\r\n // .innerRadius(26 * 3)\r\n // .outerRadius(d => d.outerRadius);\r\n\r\n // const g = chartGroup\r\n // .append('g')\r\n // .attr('height', height)\r\n // .attr('width', width)\r\n // .attr('transform', 'translate(' + width / 2 + ',' + height / 2 + ')');\r\n\r\n // g.selectAll('path')\r\n // .data(arcArray)\r\n // .enter()\r\n // .append('path')\r\n // .attr('class', 'benefit-arc')\r\n // // .attr('fill', (d, i) => color[i]);\r\n // .attr('fill', `url(${that.currentRelativeUrl}#arcColor)`);\r\n\r\n\r\n // const chartGroupCenterCircle = [\r\n // { radius: 100, fill: '#0F3A71' },\r\n // { radius: 70, fill: '#ED8B0D' }\r\n // ];\r\n\r\n // g.selectAll('circle')\r\n // .data(chartGroupCenterCircle)\r\n // .enter()\r\n // .append('circle')\r\n // .attr('class', 'main-circle')\r\n // .attr('fill', d => d.fill)\r\n\r\n // g.append('text')\r\n // .attr('opacity', 1)\r\n // .attr('x', 0)\r\n // .attr('y', 0)\r\n // .attr('class', 'arc-center-text')\r\n // .attr('fill', '#000000')\r\n // .style({\r\n // 'font-size': '26px',\r\n // 'transform': 'translate(-46px, 10px)'\r\n // })\r\n // .text('LABELS')\r\n // .attr('opacity', 0);\r\n\r\n // const graphText = []\r\n // arcArray.forEach(value => {\r\n // const position = arc.centroid(value)\r\n // graphText.push({ X: position[0], Y: position[1] })\r\n // })\r\n\r\n\r\n // g.selectAll('.arc-text')\r\n // .data(graphText)\r\n // .enter()\r\n // .append('text')\r\n // .attr('opacity', 0)\r\n // .attr('x', d => d.X - 30)\r\n // .attr('y', d => d.Y)\r\n // .attr('class', 'arc-text')\r\n // .attr('fill', 'white')\r\n // .attr('font-size', 15)\r\n // .attr('dy', '0.33em')\r\n // .text((d, i) => arcArray[i].title);\r\n\r\n // // g.append('circle')\r\n // // .attr('r', 25 * 4)\r\n // // .attr('fill', '#0F3A71');\r\n\r\n // // g.append('circle')\r\n // // .attr('r', 35 * 2)\r\n // // .attr('fill', '#ED8B0D');\r\n\r\n\r\n // function arcAnimation() {\r\n // chartGroup.selectAll('.benefit-arc').attr('d', '');\r\n // chartGroup.selectAll('.benefit-arc')\r\n // .transition()\r\n // .delay((d, i) => i * 500)\r\n // .attrTween('d', (d: any) => {\r\n // const i = d3.interpolate(d.startAngle + 0.1, d.endAngle);\r\n // return function (t) {\r\n // d.endAngle = i(t);\r\n // return arc(d);\r\n // };\r\n // });\r\n\r\n\r\n // g.selectAll('.arc-text')\r\n // .transition()\r\n // .delay((d, i) => i * 500)\r\n // .duration(500)\r\n // .attr('opacity', 1)\r\n // }\r\n\r\n // function resetScreen() {\r\n // // commonGroup.select('#director-board-img').attr('opacity', 0);\r\n // // centerCircleGroup.attr('opacity', 0);\r\n // commonGroup.attr('opacity', 0);\r\n // currentProcess.attr('opacity', 0);\r\n // processFirstPart.attr('opacity', 0);\r\n // processSecondPart.attr('opacity', 0);\r\n // // solutionGroup.attr('opacity', 0);\r\n // benefitGroup.attr('opacity', 0);\r\n // nlpTextGroup.attr('opacity', 0);\r\n // nlpBottomTextGroup.attr('opacity', 0);\r\n // that.isShowScreen4 = false;\r\n // that.isShowScreen6 = false;\r\n // // hideSwitchAnimation('switch-line-0');\r\n // // hideSwitchAnimation('switch-line-1');\r\n // // hideSwitchAnimation('switch-line-2');\r\n // }\r\n\r\n // const switchLineId = 'switch-line-';\r\n\r\n // function showScreen5() {\r\n // // commonGroup.attr('opacity', 1);\r\n // if (!visitedScreen.screen5) {\r\n // visitedScreen.screen5 = true;\r\n // that.checkBox1.nativeElement.click();\r\n // }\r\n // // startSwitchAnimation(`switch-line-0`);\r\n // // startSwitchAnimation(`switch-line-1`);\r\n // // startSwitchAnimation(`switch-line-2`);\r\n // centerCircleGroup\r\n // .transition()\r\n // .duration(400)\r\n // .attr({\r\n // 'opacity': 0.1,\r\n // 'transform': 'translate(696,360)',\r\n // });\r\n\r\n\r\n // }\r\n\r\n // function showScreen4() {\r\n // that.isShowScreen4 = true;\r\n // nlpTextGroup.attr('opacity', 1);\r\n // nlpBottomTextGroup.attr('opacity', 1);\r\n // commonGroup.attr('opacity', 1);\r\n // centerCircleGroup.attr('opacity', 1);\r\n // if (!visitedScreen.screen4) {\r\n // visitedScreen.screen4 = true;\r\n\r\n\r\n // centerCircleGroup.selectAll('.image')\r\n // .attr('opacity', 1)\r\n // .transition()\r\n // .delay((d, i) => i * 200)\r\n // .duration(500)\r\n // .attr('transform', d => `translate(${d.finalX},${d.finalY}) scale(1, 1)`)\r\n // .call(endAll, function () {\r\n // centerCircleGroup.selectAll('.docs')\r\n // .attr('opacity', 1)\r\n // .transition()\r\n // .delay((d, i) => i * 200)\r\n // .duration(500)\r\n // .attr('transform', d => `translate(${d.finalX},${d.finalY}) scale(1, 1)`)\r\n // .call(endAll, function () {\r\n // animatePlygon(0);\r\n\r\n // startDocAnimation();\r\n // // centerCircleGroup.selectAll('.doc-line')\r\n // // .transition()\r\n // // .duration(500)\r\n // // .delay((d, i) => i * 500)\r\n // // .attr('width', d => d.width)\r\n // // .attr('height', d => d.height);\r\n\r\n // centerCircleGroup.selectAll('.dots')\r\n // .transition()\r\n // .delay((d, i) => i * 200)\r\n // .attr('opacity', 1);\r\n // });\r\n // });\r\n // } else {\r\n\r\n // centerCircleGroup\r\n // .transition()\r\n // .duration(200)\r\n // .attr({\r\n // 'opacity': 1,\r\n // 'transform': 'translate(696,310)',\r\n // });\r\n\r\n // }\r\n // }\r\n\r\n // function hideScreen4elements() {\r\n // centerCircleGroup.transition().attr('opacity', 0);\r\n // }\r\n\r\n // function hidescreen2Elemenets() {\r\n // // console.log(\"hidescreen2Elemenets triggered\");\r\n // commonGroup.select('#director-img')\r\n // .attr('height', (d) => d.height)\r\n // .attr('width', (d) => d.width)\r\n // .transition()\r\n // .duration(0)\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .attr('opacity', 0);\r\n\r\n // currentProcess.select('#screen-1-2-img-4')\r\n // .transition()\r\n // .duration(0)\r\n // .attr({\r\n // 'transform': (d) => `translate(${d.finalX}, ${d.finalY})`,\r\n // 'opacity': 1\r\n // });\r\n // }\r\n\r\n // function hideDirectorElement() {\r\n // commonGroup.select('#director-board-img')\r\n // .transition()\r\n // .ease('linear')\r\n // .duration(1)\r\n // .attr('transform', (d) => `translate(${d.x}, ${d.y}) scale(0)`);\r\n\r\n // commonGroup.select('#director-img')\r\n // .attr('height', (d) => d.scaleHeight)\r\n // .attr('width', (d) => d.scaleWidth)\r\n // .attr('transform', (d) => `translate(${d.newX}, ${d.newY})`)\r\n // .transition()\r\n // .duration(1)\r\n // .attr('opacity', 0);\r\n // }\r\n\r\n // function animateNotification() {\r\n\r\n\r\n\r\n // smallNotificationGroup.attr('opacity', 1);\r\n // smallNotificationGroup.selectAll('.message-line').each(function (item, i) {\r\n // const index = i + 2;\r\n // repeatTransition(`small-note-${index}`, d3.select(this), 1000, 200, index === 7 ? function () {\r\n // notificationGroup.attr('opacity', 1);\r\n // notificationGroup.selectAll('.notification')\r\n // .transition()\r\n // .delay((d, i) => i * 500)\r\n // .duration(500)\r\n // .ease('bounce')\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY}) scale(1)`)\r\n // .attr('opacity', 1)\r\n // .call(endAll, function () {\r\n // // console.log('end');\r\n // });\r\n // } : '');\r\n // });\r\n // }\r\n // return {\r\n // changeScreen() {\r\n // resetScreen();\r\n // if (that.activeStartSlide === 'screen-1') {\r\n // if (visitedScreen.screen2) {\r\n // hidescreen2Elemenets();\r\n // }\r\n // if (!visitedScreen.screen1) {\r\n // visitedScreen.screen1 = true;\r\n // currentProcess.select('#screen-1-img-1')\r\n // .transition()\r\n // .duration(500)\r\n // .ease('linear')\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .attr('opacity', 1)\r\n // .call(endAll, () => {\r\n // currentProcess.select('#screen-1-img-2')\r\n // .transition()\r\n // .delay(100)\r\n // .duration(500)\r\n // .ease('linear')\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .attr('opacity', 1)\r\n // .call(endAll, function () {\r\n // currentProcess.select('#screen-1-img-5')\r\n // .transition()\r\n // .delay(100)\r\n // .duration(500)\r\n // .ease('linear')\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .attr('opacity', 1)\r\n // .call(endAll, function () {\r\n // currentProcess.select('#screen-1-img-3')\r\n // .transition()\r\n // .delay(100)\r\n // .duration(500)\r\n // .ease('linear')\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .attr('opacity', 1)\r\n // .call(endAll, function () {\r\n // currentProcess.select('#screen-1-img-4')\r\n // .transition()\r\n // .delay(100)\r\n // .duration(500)\r\n // .ease('linear')\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .attr('opacity', 1)\r\n // .call(endAll, function () {\r\n // bubbleGroup.attr('opacity', 1);\r\n // bubbleGroup.selectAll('.bubble')\r\n // .transition()\r\n // .delay((d, i) => i * 500)\r\n // .duration(500)\r\n // .ease('bounce')\r\n // .attr('opacity', 1)\r\n // .attr('height', (d) => d.height)\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .call(endAll, function () {\r\n // startConversationAnimation();\r\n // setTimeout(() => {\r\n // startIpadAnimation();\r\n // }, 1000);\r\n // });\r\n // });\r\n // });\r\n // });\r\n // });\r\n // });\r\n // } else {\r\n // startConversationAnimation();\r\n // startIpadAnimation();\r\n // }\r\n // currentProcess.attr('opacity', 1);\r\n // processFirstPart.attr('opacity', 1);\r\n // }\r\n // if (that.activeStartSlide === 'screen-2') {\r\n\r\n // if (visitedScreen.screen3) {\r\n // // PB Start\r\n // screen3ForwardAnimationStart = false; //Stop all forward animation\r\n // hideScreen3Elements();\r\n // challengesGroup.selectAll('.challenges')\r\n // .interrupt() //Interrupt all challenges transition\r\n // .attr('opacity', 0); //Hide all challenges transition\r\n // // PB End\r\n // }\r\n\r\n // if (!visitedScreen.screen2) {\r\n // visitedScreen.screen2 = true;\r\n // currentProcess.select('#screen-1-2-img-1').attr('opacity', 1)\r\n // .transition()\r\n // .duration(500)\r\n // .ease('linear')\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`);\r\n\r\n // currentProcess.select('#screen-1-2-img-2')\r\n // .transition()\r\n // .delay(500)\r\n // .duration(500)\r\n // .ease('linear')\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .attr('opacity', 1)\r\n // .call(endAll, () => {\r\n // commonGroup.attr('opacity', 1);\r\n // if (that.activeStartSlide === 'screen-2') {\r\n // commonGroup.select('#director-img')\r\n // .transition()\r\n // .delay(100)\r\n // .duration(500)\r\n // .ease('linear')\r\n // .attr('height', (d) => d.height)\r\n // .attr('width', (d) => d.width)\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .attr('opacity', 1)\r\n // .call(endAll, function () {\r\n // currentProcess.select('#screen-1-2-img-4')\r\n // .transition()\r\n // .delay(100)\r\n // .duration(500)\r\n // .ease('linear')\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .attr('opacity', 1)\r\n // .call(endAll, function () {\r\n // if (that.previousTraversedSlide === 'screen-1') {\r\n // animateNotification();\r\n // }\r\n // });\r\n // });\r\n // }\r\n // });\r\n // } else {\r\n // currentProcess.selectAll('.slide-1-2').attr('opacity', 0);\r\n // notificationGroup.attr('opacity', 0);\r\n // notificationGroup.selectAll('.notification')\r\n // .attr({\r\n // 'opacity': 0,\r\n // 'transform': (d) => `translate(${d.x}, ${d.y}) scale(0)`\r\n // });\r\n\r\n\r\n // currentProcess.select('#screen-1-2-img-4')\r\n // .attr({\r\n // 'opacity': 1,\r\n // 'transform': (d) => `translate(${d.finalX}, ${d.finalY})`,\r\n // });\r\n\r\n // commonGroup.select('#director-img')\r\n // .transition()\r\n // .attr('height', (d) => d.height)\r\n // .attr('width', (d) => d.width)\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY})`)\r\n // .attr('opacity', 1);\r\n\r\n // setTimeout(() => {\r\n // currentProcess.selectAll('.slide-1-2')\r\n // .transition()\r\n // .duration(50)\r\n // .attr('opacity', 1)\r\n // .call(endAll, () => {\r\n // animateNotification();\r\n // });\r\n\r\n // }, 200);\r\n // }\r\n // commonGroup.attr('opacity', 1);\r\n // currentProcess.attr('opacity', 1);\r\n // processSecondPart.attr('opacity', 1);\r\n // }\r\n // if (that.activeStartSlide === 'screen-3') {\r\n // commonGroup.attr('opacity', 1);\r\n // commonGroup.select('#director-board-img')\r\n // .transition()\r\n // .attr('transform', (d) => `translate(${d.finalX}, ${d.finalY}) scale(1)`)\r\n // .attr('opacity', 1);\r\n // if (visitedScreen.screen4) {\r\n // hideScreen4elements();\r\n // }\r\n // if (!visitedScreen.screen3) {\r\n // visitedScreen.screen3 = true;\r\n // }\r\n // commonGroup.select('#director-img')\r\n // .transition()\r\n // .duration(500)\r\n // .ease('linear')\r\n // .attr('height', (d) => d.scaleHeight)\r\n // .attr('width', (d) => d.scaleWidth)\r\n // .attr('transform', (d) => `translate(${d.newX}, ${d.newY})`)\r\n // .attr('opacity', 1)\r\n // .call(endAll, () => {\r\n // // TODO : pratik call next function\r\n // startMonitorAnimation(); // PB\r\n // });\r\n // }\r\n // // PB Start\r\n // if (that.activeStartSlide === 'screen-4') {\r\n // if (that.previousTraversedSlide === 'screen-3') {\r\n // commonGroup.attr('opacity', 1);\r\n // closeExcelSectionAnimation();\r\n // }\r\n // if (that.previousTraversedSlide === 'screen-5') {\r\n // showScreen4();\r\n // }\r\n // if (that.previousTraversedSlide === 'screen-6') {\r\n // showScreen4();\r\n // }\r\n\r\n // }\r\n // // PB End\r\n // if (that.activeStartSlide === 'screen-5') {\r\n // // solutionGroup.attr('opacity', 1);\r\n // hideDirectorElement();\r\n // if (!visitedScreen.screen4) {\r\n // visitedScreen.screen4 = true;\r\n // centerCircleGroup.selectAll('.image').attr('opacity', 1)\r\n // .transition()\r\n // .duration(0)\r\n // .call(endAll, function () {\r\n // centerCircleGroup.selectAll('.docs').attr('opacity', 1)\r\n // .transition()\r\n // .duration(0)\r\n // .call(endAll, function () {\r\n // animatePlygon(0);\r\n // docLinesData.forEach((lines, i) => {\r\n // lines\r\n // .attr({\r\n // 'opacity': 1,\r\n // 'stroke-width': 5,\r\n // 'stroke': docLinesColors[i],\r\n // 'stroke-linecap': 'round'\r\n // })\r\n // .transition()\r\n // .attr('stroke-dashoffset', 0);\r\n // });\r\n // centerCircleGroup.selectAll('.dots').attr('opacity', 1);\r\n // });\r\n // });\r\n // }\r\n // commonGroup.attr('opacity', 1);\r\n // showScreen5();\r\n // }\r\n // if (that.activeStartSlide === 'screen-6') {\r\n // // solutionGroup.attr('opacity', 1);\r\n // hideDirectorElement();\r\n // if (!visitedScreen.screen4) {\r\n // visitedScreen.screen4 = true;\r\n // centerCircleGroup.selectAll('.image').attr('opacity', 1)\r\n // .transition()\r\n // .duration(0)\r\n // .call(endAll, function () {\r\n // centerCircleGroup.selectAll('.docs').attr('opacity', 1)\r\n // .transition()\r\n // .duration(0)\r\n // .call(endAll, function () {\r\n // animatePlygon(0);\r\n // docLinesData.forEach((lines, i) => {\r\n // lines\r\n // .attr({\r\n // 'opacity': 1,\r\n // 'stroke-width': 5,\r\n // 'stroke': docLinesColors[i],\r\n // 'stroke-linecap': 'round'\r\n // })\r\n // .transition()\r\n // .attr('stroke-dashoffset', 0);\r\n // });\r\n // centerCircleGroup.selectAll('.dots').attr('opacity', 1);\r\n // });\r\n // });\r\n // }\r\n // commonGroup.attr('opacity', 1);\r\n // showScreen5();\r\n // }\r\n // if (that.activeStartSlide === 'screen-7') {\r\n // setTimeout(() => {\r\n // that.isShowScreen6 = true;\r\n // benefitGroup.attr('opacity', 1);\r\n // hideDirectorElement();\r\n // // arcAnimation();\r\n\r\n // if (!visitedScreen.screen6) {\r\n // visitedScreen.screen6 = true;\r\n // chartGroup.selectAll('.benefit-arc').attr('d', '');\r\n // g.selectAll('.arc-text').attr('opacity', 0);\r\n\r\n // g.selectAll('.main-circle')\r\n // .attr('r', 0)\r\n // .transition()\r\n // .delay((d, i) => i * 1200)\r\n // .duration(1200)\r\n // .attr('r', d => d.radius)\r\n // .call(endAll, function () {\r\n // g.selectAll('.arc-center-text').attr('opacity', 1);\r\n // arcAnimation();\r\n // });\r\n // }\r\n // }, 500);\r\n // }\r\n // switch (that.activeStartSlide) {\r\n // case 'screen-1':\r\n // baseImage = '/assets/images/field-coaching/screen1.png';\r\n // break;\r\n // case 'screen-2':\r\n // baseImage = '/assets/images/field-coaching/screen2.png';\r\n // break;\r\n // case 'screen-3':\r\n // baseImage = '/assets/images/field-coaching/screen3.png';\r\n // break;\r\n // case 'screen-4':\r\n // baseImage = '/assets/images/field-coaching/screen5.png';\r\n // break;\r\n // case 'screen-5':\r\n // baseImage = '/assets/images/field-coaching/screen5.png';\r\n // break;\r\n // default:\r\n // baseImage = '/assets/images/field-coaching/screen6.png';\r\n // break;\r\n // }\r\n // // image.attr('xlink:href', baseImage);\r\n // },\r\n // resize() {\r\n // const aspect = resize();\r\n // },\r\n // destroy() {\r\n // d3.selectAll('.animate').interrupt();\r\n // d3.selectAll('.challenges').interrupt();\r\n // }\r\n // };\r\n // }\r\n\r\n\r\n // private _initNplSvgSection(containerId) {\r\n // const container = d3.select('#' + containerId);\r\n // const WIDTH = 720;\r\n // const HEIGHT_OFFSET = 365 / 720;\r\n // const HEIGHT = WIDTH * HEIGHT_OFFSET;\r\n // const svg = container.append('svg')\r\n // .attr('width', WIDTH)\r\n // .attr('height', HEIGHT)\r\n // /* .on('click', function () {\r\n // console.log(d3.mouse(this));\r\n // }) */;\r\n\r\n // const solutionGroup = svg.append('g')\r\n // .attr({\r\n // 'id': 'solution-main-group',\r\n // 'class': 'solution-main-group',\r\n // // 'transform': 'translate(200,231) scale(0,0)'\r\n // });\r\n\r\n // const lineGroup = solutionGroup.append('g')\r\n // .attr({\r\n // 'id': 'solution-line-main-group',\r\n // 'class': 'solution-line-main-group',\r\n // // 'transform': 'translate(200,231) scale(0,0)'\r\n // });\r\n\r\n\r\n // // Left View Lines\r\n // const switchCordinates = [\r\n // [[44, 102], [38, 102], [38, 172], [52, 172]],\r\n // [[44, 57], [18, 57], [18, 228], [52, 228]],\r\n // [[44, 12], [2, 12], [2, 295], [52, 295]]\r\n // ];\r\n\r\n // const switchLineData = [];\r\n\r\n // switchCordinates.forEach((lineData, i) => {\r\n // // tslint:disable-next-line: max-line-length\r\n // switchLineData.push(this.createDashedLine(`switch-line-${i}`, lineGroup, lineData, 'dashed-lines', '#ffffff', '8,3', 1).classed('switch-lines animate', true));\r\n // });\r\n\r\n\r\n\r\n // }\r\n\r\n // onSwitchClick(event, switchId, blockId) {\r\n // if (event.target.checked) {\r\n // this.startSwitchAnimation(switchId, blockId);\r\n // if (event.target.id === 'checkbox1') {\r\n // this._renderer.addClass(document.getElementById('right-file'), 'active');\r\n // if (!this.checkBox2.nativeElement.checked) {\r\n // this.checkBox2.nativeElement.click();\r\n // }\r\n // if (!this.checkBox3.nativeElement.checked) {\r\n // this.checkBox3.nativeElement.click();\r\n // }\r\n // }\r\n // } else {\r\n // this.hideSwitchAnimation(switchId);\r\n // this._renderer.addClass(document.getElementById(blockId), 'hidden');\r\n // if (event.target.id === 'checkbox1') {\r\n // this._renderer.removeClass(document.getElementById('right-file'), 'active');\r\n // }\r\n // }\r\n // }\r\n\r\n // private startSwitchAnimation(id, blockId) {\r\n // const switchLine = d3.select(`#${id}`);\r\n // switchLine\r\n // .attr({\r\n // 'stroke-dashoffset': switchLine.node().getTotalLength(),\r\n // 'opacity': 1\r\n // }).\r\n // transition()\r\n // .attr('stroke-dashoffset', 0)\r\n // .each('end', () => {\r\n // this._renderer.removeClass(document.getElementById(blockId), 'hidden');\r\n // });\r\n // }\r\n\r\n // private hideSwitchAnimation(id) {\r\n // // console.log(\"hideSwitchAnimation: \", id);\r\n // const switchLine = d3.select(`#${id}`);\r\n // switchLine\r\n // .transition()\r\n // .attr({\r\n // 'stroke-dashoffset': switchLine.node().getTotalLength(),\r\n // 'opacity': 0\r\n // });\r\n // }\r\n\r\n // private _line() {\r\n // return d3.svg.line()\r\n // .x((d) => d[0]) // set the x values for the line generator\r\n // .y((d) => d[1]);\r\n // // .interpolate('basis'); // set the y values for the line generator\r\n // }\r\n\r\n\r\n // private createDashedLine(id, group, lineData, className, strokeColor = '#000000', strokeDash = 'none', strokeWidth = 1) {\r\n // return group.append('path')\r\n // .datum(lineData)\r\n // .attr('d', this._line())\r\n // .attr('stroke', strokeColor)\r\n // .attr('id', id)\r\n // .attr('class', className)\r\n // .attr('stroke-width', strokeWidth)\r\n // .attr('stroke-dasharray', function (d: any) {\r\n // d.pathLength = d3.select(this).node().getTotalLength();\r\n // const dashing = '8, 3';\r\n // const dashLength =\r\n // dashing\r\n // .split(/[\\s,]/)\r\n // .map(function (a) { return parseFloat(a) || 0 })\r\n // .reduce(function (a, b) { return a + b; });\r\n\r\n // // console.log('dashLength', dashLength);\r\n // const dashCount = Math.ceil(d.pathLength / dashLength);\r\n // // console.log('dashCount', dashCount);\r\n\r\n // const newDashes = new Array(dashCount).join(dashing + ' ');\r\n // const dashArray = newDashes + ' 10 , ' + (d.pathLength + 7);\r\n // // return `${d.pathLength}, ${d.pathLength}`;\r\n // return dashArray;\r\n // })\r\n // // .attr('stroke-dashoffset', (d: any) => d.pathLength)\r\n // .attr('stroke-dashoffset', (d: any) => d.pathLength + 7)\r\n // .attr('fill', 'none');\r\n // }\r\n\r\n // onTryOurApp() {\r\n // const dialogRef = this.dialog.open(VirtualRepTrainerAppDialogComponent, {\r\n // maxWidth: '98%',\r\n // width: '98%',\r\n // height: '98%',\r\n // // data: user.userId\r\n // });\r\n // dialogRef.afterClosed().subscribe(result => {\r\n // });\r\n // }\r\n\r\n ngOnDestroy(): void {\r\n if (this._unsubscribeResize) {\r\n this._unsubscribeResize();\r\n }\r\n\r\n if (this._svgSection) {\r\n this._svgSection.destroy();\r\n }\r\n this.dataShareService.onCustomEvent.next({ event: 'removeClassToElement', data: {selector: '#header', class: 'humburger-header'}});\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{clipBoardText}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\"","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'app-widget',\r\n\ttemplateUrl: './widgets.component.html'\r\n})\r\nexport class WidgetsComponent implements OnInit {\r\n\t@Input() widget;\r\n\t@Input() widgetsCount;\r\n\t@Input() osetParent;\r\n\tpublic isClipBoardCopied = false;\r\n\tpublic clipBoardTimeout = null;\r\n\tpublic clipBoardText = '';\r\n\r\n\r\n\tngOnInit() { }\r\n\r\n\tclipBoardClicked(event) {\r\n\t\t// console.log(\"Visualization Function triggered\", event);\r\n\t\t// console.log(\"this.clipBoardTimeout: \", this.clipBoardTimeout);\r\n\t\tthis.isClipBoardCopied = true;\r\n\t\tif (this.clipBoardTimeout != null) {\r\n\t\t\tclearTimeout(this.clipBoardTimeout);\r\n\t\t};\r\n\t\tthis.clipBoardText = `${event} Copied!`;\r\n\t\tthis.clipBoardTimeout = setTimeout(() => {\r\n\t\t\tthis.isClipBoardCopied = false;\r\n\t\t\tthis.clipBoardTimeout = null;\r\n\t\t\tthis.clipBoardText = '';\r\n\t\t}, 1500);\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { MaterialModule } from '../material/material.module';\r\n\r\nimport { CustomDataCoverageComponent } from './custom-data-coverage/custom-data-coverage.component';\r\nimport { SankyChartComponent } from './sanky-chart/sanky-chart.component';\r\nimport { NlpTextHighlighterComponent } from './nlp-text-highlighter/nlp-text-highlighter.component';\r\nimport { ComboBarChartComponent } from './combo-bar-chart/combo-bar-chart.component';\r\nimport { AreaChartComponent } from './area-chart/area-chart.component';\r\nimport { TrendChartNewComponent } from './trend-chart-new/trend-chart-new.component';\r\nimport { SolidGaugeComponent } from './solid-gauge-chart/solid-gauge-chart.component';\r\nimport { GuideBookComponent } from './guide-book/guide-book.component';\r\nimport { VideoPlayerComponent } from './video-player/video-player.component';\r\nimport { HtmlViewerComponent } from './html-viewer/html-viewer.component';\r\nimport { ImageViewer } from './image-viewer/image-viewer.component';\r\nimport { SuccessFailure } from './success-failure/success-failure.component';\r\nimport { EventTimelineComponent } from './event-timeline/event-timeline.component';\r\nimport { D3SankyChartComponent } from './d3-sanky-chart/d3-sanky-chart.component';\r\nimport { D3FlowchartSankyComponent } from './d3-flowchart-sanky/d3-flowchart-sanky.component';\r\nimport { D3BarChart } from './d3-bar-chart/d3-bar-chart.component';\r\nimport { D3MultiSeriesLineChart } from './d3-multi-series-line-chart/d3-multi-series-line-chart.component';\r\nimport { DialogBoxComponent } from '../common/components/dialog-box/dialog-box.component';\r\nimport { DialogBoxD3TreeComponent } from '../common/components/dialog-box-d3-tree/dialog-box-d3-tree.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { Ng2GoogleChartsModule } from 'ng2-google-charts';\r\nimport { SanitizeHtmlPipe } from '../pipes/sanitize-html.pipe';\r\nimport { PopUpComponent } from '../common/components/pop-up/pop-up.component';\r\nimport { PredictionGameComponent } from './prediction-game/prediction-game.component';\r\nimport { DialogInputBoxComponent } from '../common/components/dialog-input-box/dialog-input-box.component';\r\nimport { D3TreeChartComponent } from './d3-tree-chart/d3-tree-chart.component';\r\nimport { USChartPopUpComponent } from '../common/components/us-chart-pop-up/us-chart-pop-up.component';\r\nimport { USChartComponent } from './us-chart/us-chart.component';\r\nimport { USSliderChartComponent } from './us-slider-chart/us-slider-chart.component';\r\nimport { WidgetsComponent } from './widgets.component';\r\nimport { CustomEventTimelineComponent } from './custom-event-timeline/custom-event-timeline.component';\r\nimport { D3HeatmapComponent } from './d3-heatmap/d3-heatmap.component';\r\nimport { D3GeneticAlgorithmComponent } from './d3-genetic-algorithm/d3-genetic-algorithm.component';\r\nimport { D3NeuralNetworkComponent } from './d3-neural-network/d3-neural-network.component';\r\nimport { D3VerticalTreeChartComponent } from './d3-vertical-tree-chart/d3-vertical-tree-chart.component';\r\nimport { GridWidgetComponent } from './grid-widget/grid-widget.component';\r\nimport { D3GroupedBarChartComponent } from './d3-grouped-bar-chart/d3-grouped-bar-chart.component';\r\nimport { GroupedStackChartComponent } from './grouped-stack-chart/grouped-stack-chart.component';\r\nimport { D3PieChartComponent } from './d3-pie-chart/d3-pie-chart.component';\r\nimport { D3ThreedDonutComponent } from './d3-threed-donut/d3-threed-donut.component';\r\nimport { D3BoxplotComponent } from './d3-boxplot/d3-boxplot.component';\r\nimport { ContainerScrollSpyDirective } from '../shared/container-scroll-spy.directive';\r\nimport { D3ClusterOfCirclesComponent } from './d3-cluster-of-circles/d3-cluster-of-circles.component';\r\nimport { PlugNPredictTelecomComponent } from './plug-n-predict-telecom/plug-n-predict-telecom.component';\r\nimport { MicroLeadIdentificationComponent } from './micro-lead-identification/micro-lead-identification.component';\r\nimport { PlugNPredictRwdComponent } from './plug-n-predict-rwd/plug-n-predict-rwd.component';\r\nimport { SmallCircleClusterComponent } from './small-circle-cluster/small-circle-cluster.component';\r\nimport { D3EventTimelineComponent } from './d3-event-timeline/d3-event-timeline.component';\r\nimport { VerticalDnaHelixComponent } from './vertical-dna-helix/vertical-dna-helix.component';\r\nimport { NlpBuisnessViewComponent } from './nlp-buisness-view/nlp-buisness-view.component';\r\nimport { D3CustomShapesService } from '../services/helper/d3-custom-shapes.service';\r\nimport { D3FlowchartSankyChartV2Component } from './d3-flowchart-sanky-chart-v2/d3-flowchart-sanky-chart-v2.component';\r\nimport { D3EventTimelineChart } from './d3-event-timeline-chart/d3-event-timeline-chart.component';\r\nimport { NlpBuisnessViewNewComponent } from './nlp-buisness-view-new/nlp-buisness-view-new.component';\r\nimport { FieldCoachingComponent } from './field-coaching/field-coaching.component';\r\nimport { FullpagescrollDirective } from '../shared/fullpagescroll.directive';\r\nimport { FieldCoachingAppDialogComponent } from './field-coaching/field-coaching-app-dialog/field-coaching-app-dialog.component';\r\nimport { CopyToClipboardComponent } from './copy-to-clipboard/copy-to-clipboard.component';\r\nimport { AdaptivePricingComponent } from './adaptive-pricing/adaptive-pricing.component';\r\nimport { DragDropTabsComponent } from './drag-drop-tabs/drag-drop-tabs.component';\r\nimport { CtempComponent } from './ctemp/ctemp.component';\r\nimport { PatientRadarComponent } from './patient-radar/patient-radar.component';\r\nimport { AtlasIntelligenceKraftComponent } from './atlas-intelligence-kraft/atlas-intelligence-kraft.component';\r\nimport { PlaygroundDialogComponent } from './atlas-intelligence-kraft/playground-dialog/playground-dialog.component';\r\nimport { VirtualRepTrainerAppDialogComponent } from './virtual-rep-trainer/virtual-rep-trainer-app-dialog/virtual-rep-trainer-app-dialog.component';\r\nimport { VirtualRepTrainerComponent } from './virtual-rep-trainer/virtual-rep-trainer.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n WidgetsComponent,\r\n CustomDataCoverageComponent,\r\n SankyChartComponent,\r\n NlpTextHighlighterComponent,\r\n ComboBarChartComponent,\r\n AreaChartComponent,\r\n TrendChartNewComponent,\r\n SolidGaugeComponent,\r\n GuideBookComponent,\r\n VideoPlayerComponent,\r\n HtmlViewerComponent,\r\n SanitizeHtmlPipe,\r\n ImageViewer,\r\n SuccessFailure,\r\n EventTimelineComponent,\r\n D3SankyChartComponent,\r\n DialogBoxComponent,\r\n DialogBoxD3TreeComponent,\r\n DialogInputBoxComponent,\r\n PopUpComponent,\r\n USChartPopUpComponent,\r\n D3FlowchartSankyComponent,\r\n PredictionGameComponent,\r\n D3TreeChartComponent,\r\n D3BarChart,\r\n D3MultiSeriesLineChart,\r\n USChartComponent,\r\n CustomEventTimelineComponent,\r\n USSliderChartComponent,\r\n D3HeatmapComponent,\r\n D3GeneticAlgorithmComponent,\r\n D3NeuralNetworkComponent,\r\n D3VerticalTreeChartComponent,\r\n GridWidgetComponent,\r\n D3GroupedBarChartComponent,\r\n GroupedStackChartComponent,\r\n D3PieChartComponent,\r\n D3ThreedDonutComponent,\r\n D3BoxplotComponent,\r\n ContainerScrollSpyDirective,\r\n FullpagescrollDirective,\r\n D3ClusterOfCirclesComponent,\r\n PlugNPredictTelecomComponent,\r\n MicroLeadIdentificationComponent,\r\n PlugNPredictRwdComponent,\r\n SmallCircleClusterComponent,\r\n D3EventTimelineComponent,\r\n VerticalDnaHelixComponent,\r\n NlpBuisnessViewComponent,\r\n D3FlowchartSankyChartV2Component,\r\n D3EventTimelineChart,\r\n NlpBuisnessViewNewComponent,\r\n FieldCoachingComponent,\r\n FieldCoachingAppDialogComponent,\r\n CopyToClipboardComponent,\r\n AdaptivePricingComponent,\r\n DragDropTabsComponent,\r\n CtempComponent,\r\n PatientRadarComponent,\r\n AtlasIntelligenceKraftComponent,\r\n PlaygroundDialogComponent,\r\n VirtualRepTrainerComponent,\r\n VirtualRepTrainerAppDialogComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n Ng2GoogleChartsModule,\r\n FormsModule,\r\n BrowserAnimationsModule,\r\n MaterialModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n CustomDataCoverageComponent,\r\n SankyChartComponent,\r\n NlpTextHighlighterComponent,\r\n ComboBarChartComponent,\r\n AreaChartComponent,\r\n TrendChartNewComponent,\r\n SolidGaugeComponent,\r\n GuideBookComponent,\r\n VideoPlayerComponent,\r\n HtmlViewerComponent,\r\n ImageViewer,\r\n SuccessFailure,\r\n EventTimelineComponent,\r\n D3SankyChartComponent,\r\n D3FlowchartSankyComponent,\r\n PredictionGameComponent,\r\n D3TreeChartComponent,\r\n D3BarChart,\r\n D3MultiSeriesLineChart,\r\n USChartComponent,\r\n WidgetsComponent,\r\n CustomEventTimelineComponent,\r\n USSliderChartComponent,\r\n WidgetsComponent,\r\n D3NeuralNetworkComponent,\r\n D3VerticalTreeChartComponent,\r\n GridWidgetComponent,\r\n D3GroupedBarChartComponent,\r\n GroupedStackChartComponent,\r\n D3PieChartComponent,\r\n D3ThreedDonutComponent,\r\n D3BoxplotComponent,\r\n D3ClusterOfCirclesComponent,\r\n PlugNPredictTelecomComponent,\r\n MicroLeadIdentificationComponent,\r\n PlugNPredictRwdComponent,\r\n NlpBuisnessViewComponent,\r\n D3FlowchartSankyChartV2Component,\r\n D3EventTimelineChart,\r\n NlpBuisnessViewNewComponent,\r\n FieldCoachingComponent,\r\n CopyToClipboardComponent,\r\n AdaptivePricingComponent,\r\n CtempComponent,\r\n PatientRadarComponent,\r\n AtlasIntelligenceKraftComponent,\r\n VirtualRepTrainerComponent\r\n ],\r\n entryComponents: [\r\n DialogBoxComponent,\r\n DialogInputBoxComponent,\r\n PopUpComponent,\r\n USChartPopUpComponent,\r\n USSliderChartComponent,\r\n DialogBoxD3TreeComponent,\r\n FieldCoachingAppDialogComponent,\r\n PlaygroundDialogComponent,\r\n VirtualRepTrainerAppDialogComponent\r\n\r\n ],\r\n providers: [D3CustomShapesService],\r\n\r\n})\r\nexport class WidgetsModule { }\r\n","import { Injectable, Output, EventEmitter } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class WidgetService {\r\n\r\n // isOpen = false;\r\n\r\n @Output() triggerDataChangeForNlp: EventEmitter = new EventEmitter();\r\n @Output() triggerDataChangeForLineBarChart: EventEmitter = new EventEmitter();\r\n @Output() triggerDataChangeForAreaChart: EventEmitter = new EventEmitter();\r\n @Output() triggerDataChangeForSankyChart: EventEmitter = new EventEmitter();\r\n @Output() triggerDataChangeForTableViewer: EventEmitter = new EventEmitter();\r\n @Output() triggerDataChangeForTimeline: EventEmitter = new EventEmitter();\r\n @Output() triggerDataChangeForTreeChart: EventEmitter = new EventEmitter();\r\n @Output() triggerDataChangeForUSChart: EventEmitter = new EventEmitter();\r\n @Output() triggerDataChangeForCustomEventTimeline: EventEmitter = new EventEmitter();\r\n @Output() triggerDataChangeForD3SankyChart: EventEmitter = new EventEmitter();\r\n @Output() triggerDataChangeFord3Nueral: EventEmitter = new EventEmitter();\r\n @Output() triggerDataChangeForDTGridWidget: EventEmitter = new EventEmitter();\r\n\r\n\r\n dataChange(udpatedDataInfo) {\r\n // this.isOpen = !this.isOpen;\r\n // console.log(udpatedDataInfo)\r\n // alert('Here');\r\n if (udpatedDataInfo.widgetType.indexOf('nlp-text-highlighter-widget') > -1) {\r\n this.triggerDataChangeForNlp.emit(udpatedDataInfo);\r\n }\r\n if (udpatedDataInfo.widgetType.indexOf('line-chart-widget') > -1) {\r\n this.triggerDataChangeForLineBarChart.emit(udpatedDataInfo);\r\n }\r\n if (udpatedDataInfo.widgetType.indexOf('area-chart-widget') > -1) {\r\n this.triggerDataChangeForAreaChart.emit(udpatedDataInfo);\r\n }\r\n if (udpatedDataInfo.widgetType.indexOf('sanky-chart-widget') > -1) {\r\n this.triggerDataChangeForSankyChart.emit(udpatedDataInfo);\r\n }\r\n if (udpatedDataInfo.widgetType.indexOf('success-failure-widget') > -1) {\r\n this.triggerDataChangeForTableViewer.emit(udpatedDataInfo);\r\n }\r\n if (udpatedDataInfo.widgetType.indexOf('event-timeline-widget') > -1) {\r\n this.triggerDataChangeForTimeline.emit(udpatedDataInfo);\r\n }\r\n if (udpatedDataInfo.widgetType.indexOf('d3-tree-chart') > -1) {\r\n this.triggerDataChangeForTreeChart.emit(udpatedDataInfo);\r\n }\r\n\r\n if (udpatedDataInfo.widgetType.indexOf('us-chart-widget') > -1) {\r\n this.triggerDataChangeForUSChart.emit(udpatedDataInfo);\r\n }\r\n\r\n if (udpatedDataInfo.widgetType.indexOf('custom-event-timeline-widget') > -1) {\r\n this.triggerDataChangeForCustomEventTimeline.emit(udpatedDataInfo);\r\n }\r\n\r\n if (udpatedDataInfo.widgetType.indexOf('d3-sanky-chart-widget') > -1) {\r\n this.triggerDataChangeForD3SankyChart.emit(udpatedDataInfo);\r\n }\r\n\r\n if (udpatedDataInfo.widgetType.indexOf('d3-neural-network') > -1) {\r\n this.triggerDataChangeFord3Nueral.emit(udpatedDataInfo);\r\n }\r\n\r\n if (udpatedDataInfo.widgetType.indexOf('custom-grid-widget') > -1) {\r\n this.triggerDataChangeForDTGridWidget.emit(udpatedDataInfo);\r\n }\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n google_analytics_ID: 'UA-177518232-1',\r\n token_refresh_time: 1000 * 60 * 60 * 3.83,\r\n ssoSupported: true,\r\n // api_url: 'https://x2og90mqc7.execute-api.us-east-1.amazonaws.com/prod',\r\n // api_url: 'https://upim9c3gpb.execute-api.us-east-1.amazonaws.com/Dev',\r\n app_URL: 'http://localhost:4200',\r\n api_url:\"https://aigallery-api.demo.zsservices.com/prod\", //ZS account\r\n\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":""}