tango-app-ui-shared 3.3.1-beta.6 → 3.3.1-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/guards/auth.guard.mjs +4 -4
- package/esm2022/lib/i18n/translation.module.mjs +5 -5
- package/esm2022/lib/i18n/translation.service.mjs +4 -4
- package/esm2022/lib/interceptors/http-auth-interceptor.mjs +4 -4
- package/esm2022/lib/modules/common/common-shared.module.mjs +5 -5
- package/esm2022/lib/modules/common/custom-select/custom-select.component.mjs +4 -4
- package/esm2022/lib/modules/common/filters/filters.component.mjs +4 -4
- package/esm2022/lib/modules/common/pagination/pagination.component.mjs +4 -4
- package/esm2022/lib/modules/errors/error403/error403.component.mjs +4 -4
- package/esm2022/lib/modules/errors/error404/error404.component.mjs +4 -4
- package/esm2022/lib/modules/errors/error500/error500.component.mjs +4 -4
- package/esm2022/lib/modules/errors/errors-routing.module.mjs +5 -5
- package/esm2022/lib/modules/errors/errors.component.mjs +4 -4
- package/esm2022/lib/modules/errors/errors.module.mjs +5 -5
- package/esm2022/lib/modules/errors/invalid-ip/invalid-ip.component.mjs +4 -4
- package/esm2022/lib/modules/intro/contact-support/contact-support.component.mjs +4 -4
- package/esm2022/lib/modules/intro/intro-routing.module.mjs +5 -5
- package/esm2022/lib/modules/intro/intro.module.mjs +5 -5
- package/esm2022/lib/modules/intro/lead-intro/lead-intro.component.mjs +4 -4
- package/esm2022/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.mjs +4 -4
- package/esm2022/lib/modules/layout/content/content.component.mjs +4 -4
- package/esm2022/lib/modules/layout/footer/footer.component.mjs +4 -4
- package/esm2022/lib/modules/layout/header/header-menu/header-menu.component.mjs +4 -4
- package/esm2022/lib/modules/layout/header/header.component.mjs +4 -4
- package/esm2022/lib/modules/layout/header/navbar/navbar.component.mjs +4 -4
- package/esm2022/lib/modules/layout/header/notifications-inner/notifications-inner.component.mjs +4 -4
- package/esm2022/lib/modules/layout/header/page-title/page-title.component.mjs +14 -9
- package/esm2022/lib/modules/layout/keenicon/keenicon.component.mjs +4 -4
- package/esm2022/lib/modules/layout/layout/layout.component.mjs +4 -4
- package/esm2022/lib/modules/layout/layout.module.mjs +5 -5
- package/esm2022/lib/modules/layout/scripts-init/scripts-init.component.mjs +4 -4
- package/esm2022/lib/modules/layout/scroll-top/scroll-top.component.mjs +4 -4
- package/esm2022/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.mjs +4 -4
- package/esm2022/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.mjs +4 -4
- package/esm2022/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.mjs +6 -6
- package/esm2022/lib/modules/layout/sidebar/sidebar.component.mjs +4 -4
- package/esm2022/lib/modules/layout/toolbar/accounting/accounting.component.mjs +4 -4
- package/esm2022/lib/modules/layout/toolbar/classic/classic.component.mjs +4 -4
- package/esm2022/lib/modules/layout/toolbar/client-settings/client-settings.component.mjs +4 -4
- package/esm2022/lib/modules/layout/toolbar/date-single-select/date-single-select.component.mjs +4 -4
- package/esm2022/lib/modules/layout/toolbar/datepicker/datepicker.component.mjs +4 -4
- package/esm2022/lib/modules/layout/toolbar/extended/extended.component.mjs +4 -4
- package/esm2022/lib/modules/layout/toolbar/reports/reports.component.mjs +4 -4
- package/esm2022/lib/modules/layout/toolbar/saas/saas.component.mjs +4 -4
- package/esm2022/lib/modules/layout/toolbar/single-store/single-store.component.mjs +4 -4
- package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +4 -4
- package/esm2022/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.mjs +18 -13
- package/esm2022/lib/modules/notification/notification/notification.component.mjs +4 -4
- package/esm2022/lib/modules/notification/notification-routing.module.mjs +5 -5
- package/esm2022/lib/modules/notification/notification.module.mjs +5 -5
- package/esm2022/lib/pipes/customDate.pipe.mjs +4 -4
- package/esm2022/lib/routes/route-wraper-modules/edge-wrapper.module.mjs +5 -5
- package/esm2022/lib/routes/route-wraper-modules/manage-wrapper.module.mjs +5 -5
- package/esm2022/lib/routes/route-wraper-modules/profile-wrapper.module.mjs +5 -5
- package/esm2022/lib/routes/route-wraper-modules/store-wrapper.module.mjs +5 -5
- package/esm2022/lib/routes/route-wraper-modules/ticket-wrapper.module.mjs +5 -5
- package/esm2022/lib/routes/routing.mjs +6 -1
- package/esm2022/lib/services/auth.service.mjs +4 -4
- package/esm2022/lib/services/notification.service.mjs +4 -4
- package/esm2022/lib/services/toast.service.mjs +4 -4
- package/fesm2022/{tango-app-ui-shared-edge-wrapper.module-Yd9SM0Qm.mjs → tango-app-ui-shared-edge-wrapper.module-CFDk0tvS.mjs} +5 -5
- package/fesm2022/{tango-app-ui-shared-edge-wrapper.module-Yd9SM0Qm.mjs.map → tango-app-ui-shared-edge-wrapper.module-CFDk0tvS.mjs.map} +1 -1
- package/fesm2022/{tango-app-ui-shared-intro.module-CJlRShmw.mjs → tango-app-ui-shared-intro.module-CZdX0CkN.mjs} +16 -16
- package/fesm2022/{tango-app-ui-shared-intro.module-CJlRShmw.mjs.map → tango-app-ui-shared-intro.module-CZdX0CkN.mjs.map} +1 -1
- package/fesm2022/{tango-app-ui-shared-manage-wrapper.module-CYfJ9g7g.mjs → tango-app-ui-shared-manage-wrapper.module-BHyh4Njw.mjs} +5 -5
- package/fesm2022/{tango-app-ui-shared-manage-wrapper.module-CYfJ9g7g.mjs.map → tango-app-ui-shared-manage-wrapper.module-BHyh4Njw.mjs.map} +1 -1
- package/fesm2022/{tango-app-ui-shared-notification.module-D_pto8HN.mjs → tango-app-ui-shared-notification.module-CbWXIyly.mjs} +13 -13
- package/fesm2022/{tango-app-ui-shared-notification.module-D_pto8HN.mjs.map → tango-app-ui-shared-notification.module-CbWXIyly.mjs.map} +1 -1
- package/fesm2022/{tango-app-ui-shared-profile-wrapper.module-Dz9Btudh.mjs → tango-app-ui-shared-profile-wrapper.module-BNC1AGOk.mjs} +5 -5
- package/fesm2022/{tango-app-ui-shared-profile-wrapper.module-Dz9Btudh.mjs.map → tango-app-ui-shared-profile-wrapper.module-BNC1AGOk.mjs.map} +1 -1
- package/fesm2022/{tango-app-ui-shared-store-wrapper.module-BWzxEe1A.mjs → tango-app-ui-shared-store-wrapper.module-DdaCYHdv.mjs} +5 -5
- package/fesm2022/{tango-app-ui-shared-store-wrapper.module-BWzxEe1A.mjs.map → tango-app-ui-shared-store-wrapper.module-DdaCYHdv.mjs.map} +1 -1
- package/fesm2022/{tango-app-ui-shared-ticket-wrapper.module-CCH2Sa3f.mjs → tango-app-ui-shared-ticket-wrapper.module-r32uKkDO.mjs} +5 -5
- package/fesm2022/{tango-app-ui-shared-ticket-wrapper.module-CCH2Sa3f.mjs.map → tango-app-ui-shared-ticket-wrapper.module-r32uKkDO.mjs.map} +1 -1
- package/fesm2022/tango-app-ui-shared.mjs +190 -175
- package/fesm2022/tango-app-ui-shared.mjs.map +1 -1
- package/lib/modules/layout/header/page-title/page-title.component.d.ts +4 -1
- package/package.json +1 -1
|
@@ -95,11 +95,11 @@ export class LeadIntroComponent {
|
|
|
95
95
|
percentageText.textContent = `${percentage}%`;
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
99
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: LeadIntroComponent, selector: "lib-lead-intro", providers: [NgbCarouselConfig], ngImport: i0, template: "<div *ngIf=\"(gs.userAccess | async)?.userType === 'lead'\" class=\"approvalcard mt-4 mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <div class=\"approvaltext align-items-start justify-content-between\">\r\n Your Approval is in pending !\r\n <div class=\"approvesub d-block\">Can\u2019t find the answer you\u2019re looking for? Please chat to our friendly\r\n team.</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <a (click)=\"contactSupport()\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-4 ng-star-inserted\"><span>Contact Us\r\n </span></a>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" class=\"toastcard mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-alert-primary.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <span class=\"toasttext d-block\">Your trial has started. You have {{trialDetails?.daysRemaining}} days left\r\n on your free trial</span>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"d-flex align-items-center\">\r\n <div><svg id=\"circle-chart\" width=\"94\" height=\"70\" viewBox=\"0 0 100 100\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n\r\n <circle cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#f0f0f0\" stroke-width=\"8\">\r\n </circle>\r\n\r\n <circle id=\"progress-circle\" cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#007bff\"\r\n stroke-width=\"8\" stroke-dasharray=\"251.2\"\r\n [attr.stroke-dashoffset]=\"updateCircleChart(trialDetails?.percentageRemaining)\">\r\n </circle>\r\n\r\n <text id=\"percentage-text\" x=\"50\" y=\"54\" class=\"producttext\" text-anchor=\"middle\"\r\n fill=\"#333333\">{{trialDetails?.percentageRemaining}}%</text>\r\n </svg></div>\r\n <div class=\"align-items-start justify-content-between daysleft my-2\">\r\n {{trialDetails?.daysRemaining}} Days Left\r\n <div class=\"align-items-start trail\">\r\n Free trial</div>\r\n </div>\r\n </div>\r\n <div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ngb-carousel #carousel [interval]=\"4000\" [pauseOnHover]=\"true\">\r\n <ng-container *ngFor=\"let item of productList\">\r\n <ng-container *ngIf=\"item === 'tangoTrax'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTrax.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Trax! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Revolutionising Operations with AI powered SOPs\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Effortlessly add and manage your\r\n stores,ensuring a smooth onboarding process.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Customize SOP Checklists</span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily create and configure SOP\r\n checklists\r\n tailored to your specific needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights Dashboard </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n checklist compliance data through an intuitive dashboard, enabling you to make\r\n informed decisions cand enhance operational efficiency.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" routerLink=\"/manage\" type=\"button\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item === 'tangoZone'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoZone.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Zone! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Identify Hot Spots & Dead Zones of the store\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Choose Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Select Stores where you want to\r\n identify\r\n the\r\n hot spots and dead zones\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Tag Zones </span>\r\n <div class=\"align-items-start card-sub mx-14\">Tag different sections or zones within\r\n each\r\n store and label them according to your operational needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n zone-specific data such as traffic, dwell time, demographics, and heatmaps.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item === 'tangoTraffic'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTraffic.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Traffic! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Measure In-Store Traffic & Shopper Insights\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily add and manage stores with just\r\n a\r\n few\r\n clicks on the dashboard\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Visualise Data </span>\r\n <div class=\"align-items-start card-sub mx-14\">View intelligent insights including\r\n traffic\r\n patterns, dwell times, demographics enabling you to make informed decisions.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Manage Tickets </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily track and resolve your support\r\n tickets\r\n for prompt and efficient service.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n\r\n</ngb-carousel>", styles: [".heading{color:var(--Black, #101828);font-size:24px;font-style:normal;font-weight:600;line-height:32px}.sub{color:var(--Black, #101828);font-family:Inter;font-size:12px;font-weight:500!important;line-height:18px}.card-label{color:var(--gray-900, #101828);font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.card-sub{color:var(--gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.cardimg{width:500px;height:300px}::ng-deep .carousel-indicators [data-bs-target]{flex:0 1 auto;width:8px;height:8px;padding:0;cursor:pointer;background-color:#009bf3!important;border-radius:4px;transition:opacity .6s ease;margin-bottom:10px;border:0px}.toastcard{border-left:2px solid #00A3FF;background:#fff;box-shadow:0 4px 16px #0000001a;padding:6px 12px 6px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:4px}.overflow{overflow-x:scroll}.toasttext{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:140%}.needhelp{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);color:var(--Gray-700, #344054)!important;font-size:16px;font-weight:600!important;text-transform:capitalize}.daysleft{color:var(--Gray-800, #1D2939);font-family:Inter;font-size:16px;font-style:normal;font-weight:500;line-height:32px}.trail{color:var(--Gray-500, #667085);font-size:14px;font-weight:600;line-height:28px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.productitem{right:545px!important}.approvalcard{border-radius:12px;border:1px dashed var(--Warning-500, #F79009);background:var(--Warning-25, #FFFCF5);padding:16px 24px}.approvaltext{color:var(--Gray-900, #101828);font-size:20px;font-style:normal;font-weight:500;line-height:30px}.approvesub{color:var(--Gray-500, #667085);font-size:18px;font-style:normal;font-weight:400;line-height:28px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i2.NgbCarousel, selector: "ngb-carousel", inputs: ["animation", "activeId", "interval", "wrap", "keyboard", "pauseOnHover", "pauseOnFocus", "showNavigationArrows", "showNavigationIndicators"], outputs: ["slide", "slid"], exportAs: ["ngbCarousel"] }, { kind: "directive", type: i2.NgbSlide, selector: "ng-template[ngbSlide]", inputs: ["id"], outputs: ["slid"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
|
|
98
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LeadIntroComponent, deps: [{ token: i1.PageInfoService }, { token: i1.GlobalStateService }, { token: i2.NgbCarouselConfig }, { token: i2.NgbModal }, { token: i3.AuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
99
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LeadIntroComponent, selector: "lib-lead-intro", providers: [NgbCarouselConfig], ngImport: i0, template: "<div *ngIf=\"(gs.userAccess | async)?.userType === 'lead'\" class=\"approvalcard mt-4 mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <div class=\"approvaltext align-items-start justify-content-between\">\r\n Your Approval is in pending !\r\n <div class=\"approvesub d-block\">Can\u2019t find the answer you\u2019re looking for? Please chat to our friendly\r\n team.</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <a (click)=\"contactSupport()\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-4 ng-star-inserted\"><span>Contact Us\r\n </span></a>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" class=\"toastcard mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-alert-primary.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <span class=\"toasttext d-block\">Your trial has started. You have {{trialDetails?.daysRemaining}} days left\r\n on your free trial</span>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"d-flex align-items-center\">\r\n <div><svg id=\"circle-chart\" width=\"94\" height=\"70\" viewBox=\"0 0 100 100\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n\r\n <circle cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#f0f0f0\" stroke-width=\"8\">\r\n </circle>\r\n\r\n <circle id=\"progress-circle\" cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#007bff\"\r\n stroke-width=\"8\" stroke-dasharray=\"251.2\"\r\n [attr.stroke-dashoffset]=\"updateCircleChart(trialDetails?.percentageRemaining)\">\r\n </circle>\r\n\r\n <text id=\"percentage-text\" x=\"50\" y=\"54\" class=\"producttext\" text-anchor=\"middle\"\r\n fill=\"#333333\">{{trialDetails?.percentageRemaining}}%</text>\r\n </svg></div>\r\n <div class=\"align-items-start justify-content-between daysleft my-2\">\r\n {{trialDetails?.daysRemaining}} Days Left\r\n <div class=\"align-items-start trail\">\r\n Free trial</div>\r\n </div>\r\n </div>\r\n <div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ngb-carousel #carousel [interval]=\"4000\" [pauseOnHover]=\"true\">\r\n <ng-container *ngFor=\"let item of productList\">\r\n <ng-container *ngIf=\"item === 'tangoTrax'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTrax.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Trax! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Revolutionising Operations with AI powered SOPs\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Effortlessly add and manage your\r\n stores,ensuring a smooth onboarding process.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Customize SOP Checklists</span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily create and configure SOP\r\n checklists\r\n tailored to your specific needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights Dashboard </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n checklist compliance data through an intuitive dashboard, enabling you to make\r\n informed decisions cand enhance operational efficiency.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" routerLink=\"/manage\" type=\"button\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item === 'tangoZone'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoZone.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Zone! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Identify Hot Spots & Dead Zones of the store\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Choose Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Select Stores where you want to\r\n identify\r\n the\r\n hot spots and dead zones\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Tag Zones </span>\r\n <div class=\"align-items-start card-sub mx-14\">Tag different sections or zones within\r\n each\r\n store and label them according to your operational needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n zone-specific data such as traffic, dwell time, demographics, and heatmaps.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item === 'tangoTraffic'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTraffic.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Traffic! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Measure In-Store Traffic & Shopper Insights\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily add and manage stores with just\r\n a\r\n few\r\n clicks on the dashboard\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Visualise Data </span>\r\n <div class=\"align-items-start card-sub mx-14\">View intelligent insights including\r\n traffic\r\n patterns, dwell times, demographics enabling you to make informed decisions.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Manage Tickets </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily track and resolve your support\r\n tickets\r\n for prompt and efficient service.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n\r\n</ngb-carousel>", styles: [".heading{color:var(--Black, #101828);font-size:24px;font-style:normal;font-weight:600;line-height:32px}.sub{color:var(--Black, #101828);font-family:Inter;font-size:12px;font-weight:500!important;line-height:18px}.card-label{color:var(--gray-900, #101828);font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.card-sub{color:var(--gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.cardimg{width:500px;height:300px}::ng-deep .carousel-indicators [data-bs-target]{flex:0 1 auto;width:8px;height:8px;padding:0;cursor:pointer;background-color:#009bf3!important;border-radius:4px;transition:opacity .6s ease;margin-bottom:10px;border:0px}.toastcard{border-left:2px solid #00A3FF;background:#fff;box-shadow:0 4px 16px #0000001a;padding:6px 12px 6px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:4px}.overflow{overflow-x:scroll}.toasttext{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:140%}.needhelp{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);color:var(--Gray-700, #344054)!important;font-size:16px;font-weight:600!important;text-transform:capitalize}.daysleft{color:var(--Gray-800, #1D2939);font-family:Inter;font-size:16px;font-style:normal;font-weight:500;line-height:32px}.trail{color:var(--Gray-500, #667085);font-size:14px;font-weight:600;line-height:28px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.productitem{right:545px!important}.approvalcard{border-radius:12px;border:1px dashed var(--Warning-500, #F79009);background:var(--Warning-25, #FFFCF5);padding:16px 24px}.approvaltext{color:var(--Gray-900, #101828);font-size:20px;font-style:normal;font-weight:500;line-height:30px}.approvesub{color:var(--Gray-500, #667085);font-size:18px;font-style:normal;font-weight:400;line-height:28px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i2.NgbCarousel, selector: "ngb-carousel", inputs: ["animation", "activeId", "interval", "wrap", "keyboard", "pauseOnHover", "pauseOnFocus", "showNavigationArrows", "showNavigationIndicators"], outputs: ["slide", "slid"], exportAs: ["ngbCarousel"] }, { kind: "directive", type: i2.NgbSlide, selector: "ng-template[ngbSlide]", inputs: ["id"], outputs: ["slid"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
|
|
100
100
|
}
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LeadIntroComponent, decorators: [{
|
|
102
102
|
type: Component,
|
|
103
103
|
args: [{ selector: 'lib-lead-intro', providers: [NgbCarouselConfig], template: "<div *ngIf=\"(gs.userAccess | async)?.userType === 'lead'\" class=\"approvalcard mt-4 mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <div class=\"approvaltext align-items-start justify-content-between\">\r\n Your Approval is in pending !\r\n <div class=\"approvesub d-block\">Can\u2019t find the answer you\u2019re looking for? Please chat to our friendly\r\n team.</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <a (click)=\"contactSupport()\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-4 ng-star-inserted\"><span>Contact Us\r\n </span></a>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" class=\"toastcard mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-alert-primary.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <span class=\"toasttext d-block\">Your trial has started. You have {{trialDetails?.daysRemaining}} days left\r\n on your free trial</span>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"d-flex align-items-center\">\r\n <div><svg id=\"circle-chart\" width=\"94\" height=\"70\" viewBox=\"0 0 100 100\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n\r\n <circle cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#f0f0f0\" stroke-width=\"8\">\r\n </circle>\r\n\r\n <circle id=\"progress-circle\" cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#007bff\"\r\n stroke-width=\"8\" stroke-dasharray=\"251.2\"\r\n [attr.stroke-dashoffset]=\"updateCircleChart(trialDetails?.percentageRemaining)\">\r\n </circle>\r\n\r\n <text id=\"percentage-text\" x=\"50\" y=\"54\" class=\"producttext\" text-anchor=\"middle\"\r\n fill=\"#333333\">{{trialDetails?.percentageRemaining}}%</text>\r\n </svg></div>\r\n <div class=\"align-items-start justify-content-between daysleft my-2\">\r\n {{trialDetails?.daysRemaining}} Days Left\r\n <div class=\"align-items-start trail\">\r\n Free trial</div>\r\n </div>\r\n </div>\r\n <div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ngb-carousel #carousel [interval]=\"4000\" [pauseOnHover]=\"true\">\r\n <ng-container *ngFor=\"let item of productList\">\r\n <ng-container *ngIf=\"item === 'tangoTrax'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTrax.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Trax! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Revolutionising Operations with AI powered SOPs\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Effortlessly add and manage your\r\n stores,ensuring a smooth onboarding process.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Customize SOP Checklists</span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily create and configure SOP\r\n checklists\r\n tailored to your specific needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights Dashboard </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n checklist compliance data through an intuitive dashboard, enabling you to make\r\n informed decisions cand enhance operational efficiency.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" routerLink=\"/manage\" type=\"button\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item === 'tangoZone'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoZone.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Zone! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Identify Hot Spots & Dead Zones of the store\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Choose Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Select Stores where you want to\r\n identify\r\n the\r\n hot spots and dead zones\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Tag Zones </span>\r\n <div class=\"align-items-start card-sub mx-14\">Tag different sections or zones within\r\n each\r\n store and label them according to your operational needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n zone-specific data such as traffic, dwell time, demographics, and heatmaps.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item === 'tangoTraffic'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTraffic.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Traffic! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Measure In-Store Traffic & Shopper Insights\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily add and manage stores with just\r\n a\r\n few\r\n clicks on the dashboard\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Visualise Data </span>\r\n <div class=\"align-items-start card-sub mx-14\">View intelligent insights including\r\n traffic\r\n patterns, dwell times, demographics enabling you to make informed decisions.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Manage Tickets </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily track and resolve your support\r\n tickets\r\n for prompt and efficient service.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n\r\n</ngb-carousel>", styles: [".heading{color:var(--Black, #101828);font-size:24px;font-style:normal;font-weight:600;line-height:32px}.sub{color:var(--Black, #101828);font-family:Inter;font-size:12px;font-weight:500!important;line-height:18px}.card-label{color:var(--gray-900, #101828);font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.card-sub{color:var(--gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.cardimg{width:500px;height:300px}::ng-deep .carousel-indicators [data-bs-target]{flex:0 1 auto;width:8px;height:8px;padding:0;cursor:pointer;background-color:#009bf3!important;border-radius:4px;transition:opacity .6s ease;margin-bottom:10px;border:0px}.toastcard{border-left:2px solid #00A3FF;background:#fff;box-shadow:0 4px 16px #0000001a;padding:6px 12px 6px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:4px}.overflow{overflow-x:scroll}.toasttext{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:140%}.needhelp{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);color:var(--Gray-700, #344054)!important;font-size:16px;font-weight:600!important;text-transform:capitalize}.daysleft{color:var(--Gray-800, #1D2939);font-family:Inter;font-size:16px;font-style:normal;font-weight:500;line-height:32px}.trail{color:var(--Gray-500, #667085);font-size:14px;font-weight:600;line-height:28px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.productitem{right:545px!important}.approvalcard{border-radius:12px;border:1px dashed var(--Warning-500, #F79009);background:var(--Warning-25, #FFFCF5);padding:16px 24px}.approvaltext{color:var(--Gray-900, #101828);font-size:20px;font-style:normal;font-weight:500;line-height:30px}.approvesub{color:var(--Gray-500, #667085);font-size:18px;font-style:normal;font-weight:400;line-height:28px}\n"] }]
|
|
104
104
|
}], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i1.GlobalStateService }, { type: i2.NgbCarouselConfig }, { type: i2.NgbModal }, { type: i3.AuthService }] });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZC1pbnRyby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9pbnRyby9sZWFkLWludHJvL2xlYWQtaW50cm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvaW50cm8vbGVhZC1pbnRyby9sZWFkLWludHJvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBWSxNQUFNLDRCQUE0QixDQUFDO0FBRXpFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZGLE9BQVEsS0FBSyxNQUFNLE9BQU8sQ0FBQzs7Ozs7OztBQVEzQixNQUFNLE9BQU8sa0JBQWtCO0lBUVQ7SUFBa0M7SUFBMkQ7SUFBZ0M7SUFQakosV0FBVyxHQUFRLEVBQUUsQ0FBQztJQUNMLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFDLFlBQVksQ0FBSTtJQUNoQixLQUFLLEdBQUcsS0FBSyxDQUFBO0lBSWIsWUFBb0IsUUFBeUIsRUFBUyxFQUFzQixFQUFFLE1BQXlCLEVBQVUsWUFBc0IsRUFBVSxXQUF3QjtRQUFySixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUFTLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQXFDLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDdkssSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FB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QUcsYUFBYSxHQUFHLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQztZQUV0RSxjQUFjLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3RFLGNBQWMsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFFeEUsY0FBYyxDQUFDLFdBQVcsR0FBRyxHQUFHLFVBQVUsR0FBRyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQzt1R0FsR1Usa0JBQWtCOzJGQUFsQixrQkFBa0IseUNBRmxCLENBQUMsaUJBQWlCLENBQUMsMEJDWmhDLDJ1ckJBcVVlOzsyRkR2VEYsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGdCQUFnQixhQUdmLENBQUMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSwgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IE5nYkNhcm91c2VsQ29uZmlnLCBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb250YWN0U3VwcG9ydENvbXBvbmVudCB9IGZyb20gJy4uL2NvbnRhY3Qtc3VwcG9ydC9jb250YWN0LXN1cHBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0ICBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxlYWQtaW50cm8nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sZWFkLWludHJvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGVhZC1pbnRyby5jb21wb25lbnQuc2NzcycsXHJcbiAgcHJvdmlkZXJzOiBbTmdiQ2Fyb3VzZWxDb25maWddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGVhZEludHJvQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xyXG4gIHByb2R1Y3RMaXN0OiBhbnkgPSBbXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICB0cmlhbERldGFpbHM6YW55XHJcbiAgZGF5anMgPSBkYXlqc1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFnZUluZm86IFBhZ2VJbmZvU2VydmljZSwgcHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UsIGNvbmZpZzogTmdiQ2Fyb3VzZWxDb25maWcsIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UpIHtcclxuICAgIHRoaXMuZ3MudXNlckFjY2Vzcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlICYmIGU/LnVzZXJUeXBlID09PSBcImxlYWRcIikge1xyXG4gICAgICAgIGNvbnN0IHVzZXIgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLWluZm8nKSBhcyBzdHJpbmcpXHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRMZWFkUHJvZHVjdHModXNlci5lbWFpbCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAoZSkgPT4ge1xyXG4gICAgICAgICAgICBpZihlPy5kYXRhKXtcclxuICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RMaXN0ID0gZS5kYXRhPy5wbGFuRGV0YWlscz8ucHJvZHVjdFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0gZWxzZSBpZiAoZSAmJiBlPy51c2VyVHlwZSA9PT0gXCJjbGllbnRcIikge1xyXG4gICAgICAgIGNvbnN0IHVzZXIgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLWluZm8nKSBhcyBzdHJpbmcpXHJcblxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0Q2xpZW50UHJvZHVjdHModXNlci5jbGllbnRJZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAoZSkgPT4ge1xyXG4gICAgICAgICAgICBpZihlPy5kYXRhKXtcclxuICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RMaXN0ID0gZS5kYXRhPy5wbGFuRGV0YWlscz8ucHJvZHVjdD8ubWFwKChwcm9kdWN0OmFueSk9PiBwcm9kdWN0LnByb2R1Y3ROYW1lKSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy50cmlhbERldGFpbHMgPSB0aGlzLmRheXNXaXRoaW4xNChlLmRhdGE/LnBsYW5EZXRhaWxzPy5wcm9kdWN0WzBdPy50cmlhbEVuZERhdGUpXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICBcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGRheXNXaXRoaW4xNChkYXRlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gZGF5anMoKTtcclxuICAgIGNvbnN0IGdpdmVuRGF0ZSA9IGRheWpzKGRhdGUpLmFkZCgyLCAnZGF5Jyk7XHJcbiAgICBcclxuICAgIGxldCBkaWZmID0gZ2l2ZW5EYXRlLmRpZmYoY3VycmVudERhdGUsICdkYXknKTtcclxuICBcclxuICAgIGlmIChkaWZmIDwgMCkge1xyXG4gICAgICBkaWZmID0gMDtcclxuICAgIH1cclxuICBcclxuICAgIGNvbnN0IHBlcmNlbnRhZ2VSZW1haW5pbmcgPSBNYXRoLnJvdW5kKCgoMTQgLSBkaWZmKSAvIDE0KSAqIDEwMCk7XHJcbiAgXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBkYXlzUmVtYWluaW5nOiBkaWZmIDw9IDE0ID8gZGlmZiA6IDAsXHJcbiAgICAgIHBlcmNlbnRhZ2VSZW1haW5pbmc6IGRpZmYgPD0gMTQgPyBwZXJjZW50YWdlUmVtYWluaW5nIDogMTAwXHJcbiAgICB9O1xyXG4gIH1cclxuICBcclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRQYWdlRGF0YSgpXHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0UGFnZURhdGEoKSB7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldFRpdGxlKCdFeHBsb3JlJylcclxuICAgIHRoaXMucGFnZUluZm8uc2V0RGVzY3JpcHRpb24oJ0V4cGxvcmUgeW91ciBwcm9kdWN0cyB3aGlsZSB3YWl0aW5nIGZvciBhZG1pbiBhcHByb3ZhbCcpXHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICAgICAgeyB0aXRsZTogJ0V4cGxvcmUnLCBwYXRoOiAnL2V4cGxvcmUnLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiAnRXhwbG9yZScsIHBhdGg6ICcvZXhwbG9yZScsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IHRydWUgfSxcclxuICAgIF0pXHJcbiAgfVxyXG4gXHJcblxyXG4gIGNvbnRhY3RTdXBwb3J0KCkge1xyXG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihDb250YWN0U3VwcG9ydENvbXBvbmVudCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgc2l6ZTogXCJtZFwiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVDaXJjbGVDaGFydChwZXJjZW50YWdlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBpZCA9ICdwcm9ncmVzcy1jaXJjbGUnO1xyXG4gICAgbGV0IHRleHQgPSAncGVyY2VudGFnZS10ZXh0JztcclxuICAgIGNvbnN0IHByb2dyZXNzQ2lyY2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xyXG4gICAgY29uc3QgcGVyY2VudGFnZVRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0ZXh0KTtcclxuICAgIGlmIChwcm9ncmVzc0NpcmNsZSAmJiBwZXJjZW50YWdlVGV4dCkge1xyXG4gICAgICBjb25zdCBjaXJjdW1mZXJlbmNlID0gTWF0aC5QSSAqIDIgKiBwYXJzZUZsb2F0KHByb2dyZXNzQ2lyY2xlLmdldEF0dHJpYnV0ZSgncicpISk7XHJcbiAgICAgIGNvbnN0IGRhc2hhcnJheSA9IGNpcmN1bWZlcmVuY2U7XHJcbiAgICAgIGNvbnN0IGRhc2hvZmZzZXQgPSBjaXJjdW1mZXJlbmNlIC0gKHBlcmNlbnRhZ2UgLyAxMDApICogY2lyY3VtZmVyZW5jZTtcclxuXHJcbiAgICAgIHByb2dyZXNzQ2lyY2xlLnNldEF0dHJpYnV0ZSgnc3Ryb2tlLWRhc2hhcnJheScsIGRhc2hhcnJheS50b1N0cmluZygpKTtcclxuICAgICAgcHJvZ3Jlc3NDaXJjbGUuc2V0QXR0cmlidXRlKCdzdHJva2UtZGFzaG9mZnNldCcsIGRhc2hvZmZzZXQudG9TdHJpbmcoKSk7XHJcblxyXG4gICAgICBwZXJjZW50YWdlVGV4dC50ZXh0Q29udGVudCA9IGAke3BlcmNlbnRhZ2V9JWA7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiPGRpdiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ2xlYWQnXCIgY2xhc3M9XCJhcHByb3ZhbGNhcmQgbXQtNCBtYi01XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzeW1ib2wgc3ltYm9sLTMwcHggbWUtNVwiPjxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vY3VzdG9tcG9wdXAtSWNvbnMvZGFuZ2VyLWljb24uc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWx0ZXh0IGFsaWduLWl0ZW1zLXN0YXJ0IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICBZb3VyIEFwcHJvdmFsIGlzIGluIHBlbmRpbmcgIVxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmVzdWIgZC1ibG9ja1wiPkNhbuKAmXQgZmluZCB0aGUgYW5zd2VyIHlvdeKAmXJlIGxvb2tpbmcgZm9yPyBQbGVhc2UgY2hhdCB0byBvdXIgZnJpZW5kbHlcclxuICAgICAgICAgICAgICAgICAgICB0ZWFtLjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8YSAoY2xpY2spPVwiY29udGFjdFN1cHBvcnQoKVwiIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBuZy1zdGFyLWluc2VydGVkXCI+PHNwYW4+Q29udGFjdCBVc1xyXG4gICAgICAgICAgICAgICAgPC9zcGFuPjwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICdjbGllbnQnXCIgY2xhc3M9XCJ0b2FzdGNhcmQgbWItNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC0zMHB4IG1lLTVcIj48c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL2N1c3RvbXBvcHVwLUljb25zL2Rhbmdlci1hbGVydC1wcmltYXJ5LnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2FzdHRleHQgZC1ibG9ja1wiPllvdXIgdHJpYWwgaGFzIHN0YXJ0ZWQuIFlvdSBoYXZlIHt7dHJpYWxEZXRhaWxzPy5kYXlzUmVtYWluaW5nfX0gZGF5cyBsZWZ0XHJcbiAgICAgICAgICAgICAgICBvbiB5b3VyIGZyZWUgdHJpYWw8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC0xXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PjxzdmcgaWQ9XCJjaXJjbGUtY2hhcnRcIiB3aWR0aD1cIjk0XCIgaGVpZ2h0PVwiNzBcIiB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjQwXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjZjBmMGYwXCIgc3Ryb2tlLXdpZHRoPVwiOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2NpcmNsZT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9XCJwcm9ncmVzcy1jaXJjbGVcIiBjeD1cIjUwXCIgY3k9XCI1MFwiIHI9XCI0MFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiIzAwN2JmZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI4XCIgc3Ryb2tlLWRhc2hhcnJheT1cIjI1MS4yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZS1kYXNob2Zmc2V0XT1cInVwZGF0ZUNpcmNsZUNoYXJ0KHRyaWFsRGV0YWlscz8ucGVyY2VudGFnZVJlbWFpbmluZylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9jaXJjbGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGV4dCBpZD1cInBlcmNlbnRhZ2UtdGV4dFwiIHg9XCI1MFwiIHk9XCI1NFwiIGNsYXNzPVwicHJvZHVjdHRleHRcIiB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzMzMzMzM1wiPnt7dHJpYWxEZXRhaWxzPy5wZXJjZW50YWdlUmVtYWluaW5nfX0lPC90ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGRheXNsZWZ0IG15LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e3RyaWFsRGV0YWlscz8uZGF5c1JlbWFpbmluZ319IERheXMgTGVmdFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1pdGVtcy1zdGFydCB0cmFpbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBGcmVlIHRyaWFsPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nYi1jYXJvdXNlbCAjY2Fyb3VzZWwgW2ludGVydmFsXT1cIjQwMDBcIiBbcGF1c2VPbkhvdmVyXT1cInRydWVcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcHJvZHVjdExpc3RcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbSA9PT0gJ3RhbmdvVHJheCdcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nYlNsaWRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHAtMjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy00IGNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImNhcmRpbWdcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFuZ29UcmF4LnBuZ1wiIGFsdD1cIlRhbmdvIGxvZ29cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nIG1iLTJcIj5XZWxjb21lIHRvIFRyYXghIPCfkYtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXZvbHV0aW9uaXNpbmcgT3BlcmF0aW9ucyB3aXRoIEFJIHBvd2VyZWQgU09Qc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPk9uYm9hcmQgU3RvcmVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+RWZmb3J0bGVzc2x5IGFkZCBhbmQgbWFuYWdlIHlvdXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlcyxlbnN1cmluZyBhIHNtb290aCBvbmJvYXJkaW5nIHByb2Nlc3MuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbiBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgd2lkdGg9XCIzNlwiIGhlaWdodD1cIjM2XCIgdmlld0JveD1cIjAgMCAzNiAzNlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBmaWxsPVwiI0RBRjFGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBzdHJva2U9XCIjRUFGOEZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xOC42NjY3IDExLjMzNEwxMiAxOS4zMzRIMThMMTcuMzMzMyAyNC42NjczTDI0IDE2LjY2NzNIMThMMTguNjY2NyAxMS4zMzRaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG14LTNcIj5DdXN0b21pemUgU09QIENoZWNrbGlzdHM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1pdGVtcy1zdGFydCBjYXJkLXN1YiBteC0xNFwiPkVhc2lseSBjcmVhdGUgYW5kIGNvbmZpZ3VyZSBTT1BcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrbGlzdHNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhaWxvcmVkIHRvIHlvdXIgc3BlY2lmaWMgbmVlZHMuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPkdhaW4gSW5zaWdodHMgRGFzaGJvYXJkIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+R2VuZXJhdGUgZGV0YWlsZWQgcmVwb3J0cyBhbmRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc3VhbGl6ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tsaXN0IGNvbXBsaWFuY2UgZGF0YSB0aHJvdWdoIGFuIGludHVpdGl2ZSBkYXNoYm9hcmQsIGVuYWJsaW5nIHlvdSB0byBtYWtlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZCBkZWNpc2lvbnMgY2FuZCBlbmhhbmNlIG9wZXJhdGlvbmFsIGVmZmljaWVuY3kuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAnY2xpZW50J1wiIHJvdXRlckxpbms9XCIvbWFuYWdlXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBtdC0yIGN1cnNvci1wb2ludGVyIG5nLXN0YXItaW5zZXJ0ZWRcIj48c3Bhbj5HZXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnRlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2E+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbSA9PT0gJ3RhbmdvWm9uZSdcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nYlNsaWRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHAtMjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy00IGNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImNhcmRpbWdcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFuZ29ab25lLnBuZ1wiIGFsdD1cIlRhbmdvIGxvZ29cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nIG1iLTJcIj5XZWxjb21lIHRvIFpvbmUhIPCfkYtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZGVudGlmeSBIb3QgU3BvdHMgJiBEZWFkIFpvbmVzIG9mIHRoZSBzdG9yZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPkNob29zZSBTdG9yZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxpZ24taXRlbXMtc3RhcnQgY2FyZC1zdWIgbXgtMTRcIj5TZWxlY3QgU3RvcmVzIHdoZXJlIHlvdSB3YW50IHRvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZGVudGlmeVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3Qgc3BvdHMgYW5kIGRlYWQgem9uZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPlRhZyBab25lcyA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1pdGVtcy1zdGFydCBjYXJkLXN1YiBteC0xNFwiPlRhZyBkaWZmZXJlbnQgc2VjdGlvbnMgb3Igem9uZXMgd2l0aGluXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYWNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZSBhbmQgbGFiZWwgdGhlbSBhY2NvcmRpbmcgdG8geW91ciBvcGVyYXRpb25hbCBuZWVkcy48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW4gbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHZpZXdCb3g9XCIwIDAgMzYgMzZcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjJcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiByeD1cIjE2XCIgZmlsbD1cIiNEQUYxRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjJcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiByeD1cIjE2XCIgc3Ryb2tlPVwiI0VBRjhGRlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTguNjY2NyAxMS4zMzRMMTIgMTkuMzM0SDE4TDE3LjMzMzMgMjQuNjY3M0wyNCAxNi42NjczSDE4TDE4LjY2NjcgMTEuMzM0WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMwMEEzRkZcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBteC0zXCI+R2FpbiBJbnNpZ2h0cyA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1pdGVtcy1zdGFydCBjYXJkLXN1YiBteC0xNFwiPkdlbmVyYXRlIGRldGFpbGVkIHJlcG9ydHMgYW5kXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXN1YWxpemVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpvbmUtc3BlY2lmaWMgZGF0YSBzdWNoIGFzIHRyYWZmaWMsIGR3ZWxsIHRpbWUsIGRlbW9ncmFwaGljcywgYW5kIGhlYXRtYXBzLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ2NsaWVudCdcIiB0eXBlPVwiYnV0dG9uXCIgcm91dGVyTGluaz1cIi9tYW5hZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgbXQtMiBjdXJzb3ItcG9pbnRlciBuZy1zdGFyLWluc2VydGVkXCI+PHNwYW4+R2V0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0ZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9hPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0gPT09ICd0YW5nb1RyYWZmaWMnXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ2JTbGlkZT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwLTIwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNCBjb2wtc20tMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJjYXJkaW1nXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3RhbmdvVHJhZmZpYy5wbmdcIiBhbHQ9XCJUYW5nbyBsb2dvXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyBtYi0yXCI+V2VsY29tZSB0byBUcmFmZmljISDwn5GLXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVhc3VyZSBJbi1TdG9yZSBUcmFmZmljICYgU2hvcHBlciBJbnNpZ2h0c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPk9uYm9hcmQgU3RvcmVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+RWFzaWx5IGFkZCBhbmQgbWFuYWdlIHN0b3JlcyB3aXRoIGp1c3RcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZld1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2tzIG9uIHRoZSBkYXNoYm9hcmRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPlZpc3VhbGlzZSBEYXRhIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+VmlldyBpbnRlbGxpZ2VudCBpbnNpZ2h0cyBpbmNsdWRpbmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWZmaWNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5zLCBkd2VsbCB0aW1lcywgZGVtb2dyYXBoaWNzIGVuYWJsaW5nIHlvdSB0byBtYWtlIGluZm9ybWVkIGRlY2lzaW9ucy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPk1hbmFnZSBUaWNrZXRzIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+RWFzaWx5IHRyYWNrIGFuZCByZXNvbHZlIHlvdXIgc3VwcG9ydFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlja2V0c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHByb21wdCBhbmQgZWZmaWNpZW50IHNlcnZpY2UuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAnY2xpZW50J1wiIHR5cGU9XCJidXR0b25cIiByb3V0ZXJMaW5rPVwiL21hbmFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBtdC0yIGN1cnNvci1wb2ludGVyIG5nLXN0YXItaW5zZXJ0ZWRcIj48c3Bhbj5HZXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnRlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2E+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbjwvbmdiLWNhcm91c2VsPiJdfQ==
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZC1pbnRyby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9pbnRyby9sZWFkLWludHJvL2xlYWQtaW50cm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvaW50cm8vbGVhZC1pbnRyby9sZWFkLWludHJvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBWSxNQUFNLDRCQUE0QixDQUFDO0FBRXpFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZGLE9BQVEsS0FBSyxNQUFNLE9BQU8sQ0FBQzs7Ozs7OztBQVEzQixNQUFNLE9BQU8sa0JBQWtCO0lBUVQ7SUFBa0M7SUFBMkQ7SUFBZ0M7SUFQakosV0FBVyxHQUFRLEVBQUUsQ0FBQztJQUNMLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFDLFlBQVksQ0FBSTtJQUNoQixLQUFLLEdBQUcsS0FBSyxDQUFBO0lBSWIsWUFBb0IsUUFBeUIsRUFBUyxFQUFzQixFQUFFLE1BQXlCLEVBQVUsWUFBc0IsRUFBVSxXQUF3QjtRQUFySixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUFTLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQXFDLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDdkssSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FB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QUcsYUFBYSxHQUFHLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQztZQUV0RSxjQUFjLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3RFLGNBQWMsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFFeEUsY0FBYyxDQUFDLFdBQVcsR0FBRyxHQUFHLFVBQVUsR0FBRyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQzt3R0FsR1Usa0JBQWtCOzRGQUFsQixrQkFBa0IseUNBRmxCLENBQUMsaUJBQWlCLENBQUMsMEJDWmhDLDJ1ckJBcVVlOzs0RkR2VEYsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGdCQUFnQixhQUdmLENBQUMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSwgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IE5nYkNhcm91c2VsQ29uZmlnLCBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb250YWN0U3VwcG9ydENvbXBvbmVudCB9IGZyb20gJy4uL2NvbnRhY3Qtc3VwcG9ydC9jb250YWN0LXN1cHBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0ICBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxlYWQtaW50cm8nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sZWFkLWludHJvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGVhZC1pbnRyby5jb21wb25lbnQuc2NzcycsXHJcbiAgcHJvdmlkZXJzOiBbTmdiQ2Fyb3VzZWxDb25maWddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGVhZEludHJvQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xyXG4gIHByb2R1Y3RMaXN0OiBhbnkgPSBbXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICB0cmlhbERldGFpbHM6YW55XHJcbiAgZGF5anMgPSBkYXlqc1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFnZUluZm86IFBhZ2VJbmZvU2VydmljZSwgcHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UsIGNvbmZpZzogTmdiQ2Fyb3VzZWxDb25maWcsIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UpIHtcclxuICAgIHRoaXMuZ3MudXNlckFjY2Vzcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlICYmIGU/LnVzZXJUeXBlID09PSBcImxlYWRcIikge1xyXG4gICAgICAgIGNvbnN0IHVzZXIgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLWluZm8nKSBhcyBzdHJpbmcpXHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRMZWFkUHJvZHVjdHModXNlci5lbWFpbCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAoZSkgPT4ge1xyXG4gICAgICAgICAgICBpZihlPy5kYXRhKXtcclxuICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RMaXN0ID0gZS5kYXRhPy5wbGFuRGV0YWlscz8ucHJvZHVjdFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0gZWxzZSBpZiAoZSAmJiBlPy51c2VyVHlwZSA9PT0gXCJjbGllbnRcIikge1xyXG4gICAgICAgIGNvbnN0IHVzZXIgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLWluZm8nKSBhcyBzdHJpbmcpXHJcblxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0Q2xpZW50UHJvZHVjdHModXNlci5jbGllbnRJZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAoZSkgPT4ge1xyXG4gICAgICAgICAgICBpZihlPy5kYXRhKXtcclxuICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RMaXN0ID0gZS5kYXRhPy5wbGFuRGV0YWlscz8ucHJvZHVjdD8ubWFwKChwcm9kdWN0OmFueSk9PiBwcm9kdWN0LnByb2R1Y3ROYW1lKSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy50cmlhbERldGFpbHMgPSB0aGlzLmRheXNXaXRoaW4xNChlLmRhdGE/LnBsYW5EZXRhaWxzPy5wcm9kdWN0WzBdPy50cmlhbEVuZERhdGUpXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICBcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGRheXNXaXRoaW4xNChkYXRlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gZGF5anMoKTtcclxuICAgIGNvbnN0IGdpdmVuRGF0ZSA9IGRheWpzKGRhdGUpLmFkZCgyLCAnZGF5Jyk7XHJcbiAgICBcclxuICAgIGxldCBkaWZmID0gZ2l2ZW5EYXRlLmRpZmYoY3VycmVudERhdGUsICdkYXknKTtcclxuICBcclxuICAgIGlmIChkaWZmIDwgMCkge1xyXG4gICAgICBkaWZmID0gMDtcclxuICAgIH1cclxuICBcclxuICAgIGNvbnN0IHBlcmNlbnRhZ2VSZW1haW5pbmcgPSBNYXRoLnJvdW5kKCgoMTQgLSBkaWZmKSAvIDE0KSAqIDEwMCk7XHJcbiAgXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBkYXlzUmVtYWluaW5nOiBkaWZmIDw9IDE0ID8gZGlmZiA6IDAsXHJcbiAgICAgIHBlcmNlbnRhZ2VSZW1haW5pbmc6IGRpZmYgPD0gMTQgPyBwZXJjZW50YWdlUmVtYWluaW5nIDogMTAwXHJcbiAgICB9O1xyXG4gIH1cclxuICBcclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRQYWdlRGF0YSgpXHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0UGFnZURhdGEoKSB7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldFRpdGxlKCdFeHBsb3JlJylcclxuICAgIHRoaXMucGFnZUluZm8uc2V0RGVzY3JpcHRpb24oJ0V4cGxvcmUgeW91ciBwcm9kdWN0cyB3aGlsZSB3YWl0aW5nIGZvciBhZG1pbiBhcHByb3ZhbCcpXHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICAgICAgeyB0aXRsZTogJ0V4cGxvcmUnLCBwYXRoOiAnL2V4cGxvcmUnLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiAnRXhwbG9yZScsIHBhdGg6ICcvZXhwbG9yZScsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IHRydWUgfSxcclxuICAgIF0pXHJcbiAgfVxyXG4gXHJcblxyXG4gIGNvbnRhY3RTdXBwb3J0KCkge1xyXG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihDb250YWN0U3VwcG9ydENvbXBvbmVudCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgc2l6ZTogXCJtZFwiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVDaXJjbGVDaGFydChwZXJjZW50YWdlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBpZCA9ICdwcm9ncmVzcy1jaXJjbGUnO1xyXG4gICAgbGV0IHRleHQgPSAncGVyY2VudGFnZS10ZXh0JztcclxuICAgIGNvbnN0IHByb2dyZXNzQ2lyY2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xyXG4gICAgY29uc3QgcGVyY2VudGFnZVRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0ZXh0KTtcclxuICAgIGlmIChwcm9ncmVzc0NpcmNsZSAmJiBwZXJjZW50YWdlVGV4dCkge1xyXG4gICAgICBjb25zdCBjaXJjdW1mZXJlbmNlID0gTWF0aC5QSSAqIDIgKiBwYXJzZUZsb2F0KHByb2dyZXNzQ2lyY2xlLmdldEF0dHJpYnV0ZSgncicpISk7XHJcbiAgICAgIGNvbnN0IGRhc2hhcnJheSA9IGNpcmN1bWZlcmVuY2U7XHJcbiAgICAgIGNvbnN0IGRhc2hvZmZzZXQgPSBjaXJjdW1mZXJlbmNlIC0gKHBlcmNlbnRhZ2UgLyAxMDApICogY2lyY3VtZmVyZW5jZTtcclxuXHJcbiAgICAgIHByb2dyZXNzQ2lyY2xlLnNldEF0dHJpYnV0ZSgnc3Ryb2tlLWRhc2hhcnJheScsIGRhc2hhcnJheS50b1N0cmluZygpKTtcclxuICAgICAgcHJvZ3Jlc3NDaXJjbGUuc2V0QXR0cmlidXRlKCdzdHJva2UtZGFzaG9mZnNldCcsIGRhc2hvZmZzZXQudG9TdHJpbmcoKSk7XHJcblxyXG4gICAgICBwZXJjZW50YWdlVGV4dC50ZXh0Q29udGVudCA9IGAke3BlcmNlbnRhZ2V9JWA7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiPGRpdiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ2xlYWQnXCIgY2xhc3M9XCJhcHByb3ZhbGNhcmQgbXQtNCBtYi01XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzeW1ib2wgc3ltYm9sLTMwcHggbWUtNVwiPjxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vY3VzdG9tcG9wdXAtSWNvbnMvZGFuZ2VyLWljb24uc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWx0ZXh0IGFsaWduLWl0ZW1zLXN0YXJ0IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICBZb3VyIEFwcHJvdmFsIGlzIGluIHBlbmRpbmcgIVxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmVzdWIgZC1ibG9ja1wiPkNhbuKAmXQgZmluZCB0aGUgYW5zd2VyIHlvdeKAmXJlIGxvb2tpbmcgZm9yPyBQbGVhc2UgY2hhdCB0byBvdXIgZnJpZW5kbHlcclxuICAgICAgICAgICAgICAgICAgICB0ZWFtLjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8YSAoY2xpY2spPVwiY29udGFjdFN1cHBvcnQoKVwiIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBuZy1zdGFyLWluc2VydGVkXCI+PHNwYW4+Q29udGFjdCBVc1xyXG4gICAgICAgICAgICAgICAgPC9zcGFuPjwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICdjbGllbnQnXCIgY2xhc3M9XCJ0b2FzdGNhcmQgbWItNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC0zMHB4IG1lLTVcIj48c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL2N1c3RvbXBvcHVwLUljb25zL2Rhbmdlci1hbGVydC1wcmltYXJ5LnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2FzdHRleHQgZC1ibG9ja1wiPllvdXIgdHJpYWwgaGFzIHN0YXJ0ZWQuIFlvdSBoYXZlIHt7dHJpYWxEZXRhaWxzPy5kYXlzUmVtYWluaW5nfX0gZGF5cyBsZWZ0XHJcbiAgICAgICAgICAgICAgICBvbiB5b3VyIGZyZWUgdHJpYWw8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC0xXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PjxzdmcgaWQ9XCJjaXJjbGUtY2hhcnRcIiB3aWR0aD1cIjk0XCIgaGVpZ2h0PVwiNzBcIiB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjQwXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjZjBmMGYwXCIgc3Ryb2tlLXdpZHRoPVwiOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2NpcmNsZT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9XCJwcm9ncmVzcy1jaXJjbGVcIiBjeD1cIjUwXCIgY3k9XCI1MFwiIHI9XCI0MFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiIzAwN2JmZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI4XCIgc3Ryb2tlLWRhc2hhcnJheT1cIjI1MS4yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZS1kYXNob2Zmc2V0XT1cInVwZGF0ZUNpcmNsZUNoYXJ0KHRyaWFsRGV0YWlscz8ucGVyY2VudGFnZVJlbWFpbmluZylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9jaXJjbGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGV4dCBpZD1cInBlcmNlbnRhZ2UtdGV4dFwiIHg9XCI1MFwiIHk9XCI1NFwiIGNsYXNzPVwicHJvZHVjdHRleHRcIiB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzMzMzMzM1wiPnt7dHJpYWxEZXRhaWxzPy5wZXJjZW50YWdlUmVtYWluaW5nfX0lPC90ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGRheXNsZWZ0IG15LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e3RyaWFsRGV0YWlscz8uZGF5c1JlbWFpbmluZ319IERheXMgTGVmdFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1pdGVtcy1zdGFydCB0cmFpbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBGcmVlIHRyaWFsPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nYi1jYXJvdXNlbCAjY2Fyb3VzZWwgW2ludGVydmFsXT1cIjQwMDBcIiBbcGF1c2VPbkhvdmVyXT1cInRydWVcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcHJvZHVjdExpc3RcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbSA9PT0gJ3RhbmdvVHJheCdcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nYlNsaWRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHAtMjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy00IGNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImNhcmRpbWdcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFuZ29UcmF4LnBuZ1wiIGFsdD1cIlRhbmdvIGxvZ29cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nIG1iLTJcIj5XZWxjb21lIHRvIFRyYXghIPCfkYtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXZvbHV0aW9uaXNpbmcgT3BlcmF0aW9ucyB3aXRoIEFJIHBvd2VyZWQgU09Qc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPk9uYm9hcmQgU3RvcmVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+RWZmb3J0bGVzc2x5IGFkZCBhbmQgbWFuYWdlIHlvdXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlcyxlbnN1cmluZyBhIHNtb290aCBvbmJvYXJkaW5nIHByb2Nlc3MuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbiBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgd2lkdGg9XCIzNlwiIGhlaWdodD1cIjM2XCIgdmlld0JveD1cIjAgMCAzNiAzNlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBmaWxsPVwiI0RBRjFGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBzdHJva2U9XCIjRUFGOEZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xOC42NjY3IDExLjMzNEwxMiAxOS4zMzRIMThMMTcuMzMzMyAyNC42NjczTDI0IDE2LjY2NzNIMThMMTguNjY2NyAxMS4zMzRaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG14LTNcIj5DdXN0b21pemUgU09QIENoZWNrbGlzdHM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1pdGVtcy1zdGFydCBjYXJkLXN1YiBteC0xNFwiPkVhc2lseSBjcmVhdGUgYW5kIGNvbmZpZ3VyZSBTT1BcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrbGlzdHNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhaWxvcmVkIHRvIHlvdXIgc3BlY2lmaWMgbmVlZHMuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPkdhaW4gSW5zaWdodHMgRGFzaGJvYXJkIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+R2VuZXJhdGUgZGV0YWlsZWQgcmVwb3J0cyBhbmRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc3VhbGl6ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tsaXN0IGNvbXBsaWFuY2UgZGF0YSB0aHJvdWdoIGFuIGludHVpdGl2ZSBkYXNoYm9hcmQsIGVuYWJsaW5nIHlvdSB0byBtYWtlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZCBkZWNpc2lvbnMgY2FuZCBlbmhhbmNlIG9wZXJhdGlvbmFsIGVmZmljaWVuY3kuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAnY2xpZW50J1wiIHJvdXRlckxpbms9XCIvbWFuYWdlXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBtdC0yIGN1cnNvci1wb2ludGVyIG5nLXN0YXItaW5zZXJ0ZWRcIj48c3Bhbj5HZXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnRlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2E+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbSA9PT0gJ3RhbmdvWm9uZSdcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nYlNsaWRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHAtMjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy00IGNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImNhcmRpbWdcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFuZ29ab25lLnBuZ1wiIGFsdD1cIlRhbmdvIGxvZ29cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nIG1iLTJcIj5XZWxjb21lIHRvIFpvbmUhIPCfkYtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZGVudGlmeSBIb3QgU3BvdHMgJiBEZWFkIFpvbmVzIG9mIHRoZSBzdG9yZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPkNob29zZSBTdG9yZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxpZ24taXRlbXMtc3RhcnQgY2FyZC1zdWIgbXgtMTRcIj5TZWxlY3QgU3RvcmVzIHdoZXJlIHlvdSB3YW50IHRvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZGVudGlmeVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3Qgc3BvdHMgYW5kIGRlYWQgem9uZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPlRhZyBab25lcyA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1pdGVtcy1zdGFydCBjYXJkLXN1YiBteC0xNFwiPlRhZyBkaWZmZXJlbnQgc2VjdGlvbnMgb3Igem9uZXMgd2l0aGluXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYWNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZSBhbmQgbGFiZWwgdGhlbSBhY2NvcmRpbmcgdG8geW91ciBvcGVyYXRpb25hbCBuZWVkcy48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW4gbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHZpZXdCb3g9XCIwIDAgMzYgMzZcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjJcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiByeD1cIjE2XCIgZmlsbD1cIiNEQUYxRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjJcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiByeD1cIjE2XCIgc3Ryb2tlPVwiI0VBRjhGRlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTguNjY2NyAxMS4zMzRMMTIgMTkuMzM0SDE4TDE3LjMzMzMgMjQuNjY3M0wyNCAxNi42NjczSDE4TDE4LjY2NjcgMTEuMzM0WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMwMEEzRkZcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBteC0zXCI+R2FpbiBJbnNpZ2h0cyA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1pdGVtcy1zdGFydCBjYXJkLXN1YiBteC0xNFwiPkdlbmVyYXRlIGRldGFpbGVkIHJlcG9ydHMgYW5kXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXN1YWxpemVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpvbmUtc3BlY2lmaWMgZGF0YSBzdWNoIGFzIHRyYWZmaWMsIGR3ZWxsIHRpbWUsIGRlbW9ncmFwaGljcywgYW5kIGhlYXRtYXBzLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ2NsaWVudCdcIiB0eXBlPVwiYnV0dG9uXCIgcm91dGVyTGluaz1cIi9tYW5hZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgbXQtMiBjdXJzb3ItcG9pbnRlciBuZy1zdGFyLWluc2VydGVkXCI+PHNwYW4+R2V0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0ZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9hPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0gPT09ICd0YW5nb1RyYWZmaWMnXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ2JTbGlkZT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwLTIwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNCBjb2wtc20tMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJjYXJkaW1nXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3RhbmdvVHJhZmZpYy5wbmdcIiBhbHQ9XCJUYW5nbyBsb2dvXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyBtYi0yXCI+V2VsY29tZSB0byBUcmFmZmljISDwn5GLXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVhc3VyZSBJbi1TdG9yZSBUcmFmZmljICYgU2hvcHBlciBJbnNpZ2h0c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPk9uYm9hcmQgU3RvcmVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+RWFzaWx5IGFkZCBhbmQgbWFuYWdlIHN0b3JlcyB3aXRoIGp1c3RcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZld1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2tzIG9uIHRoZSBkYXNoYm9hcmRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPlZpc3VhbGlzZSBEYXRhIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+VmlldyBpbnRlbGxpZ2VudCBpbnNpZ2h0cyBpbmNsdWRpbmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWZmaWNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5zLCBkd2VsbCB0aW1lcywgZGVtb2dyYXBoaWNzIGVuYWJsaW5nIHlvdSB0byBtYWtlIGluZm9ybWVkIGRlY2lzaW9ucy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPk1hbmFnZSBUaWNrZXRzIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+RWFzaWx5IHRyYWNrIGFuZCByZXNvbHZlIHlvdXIgc3VwcG9ydFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlja2V0c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHByb21wdCBhbmQgZWZmaWNpZW50IHNlcnZpY2UuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAnY2xpZW50J1wiIHR5cGU9XCJidXR0b25cIiByb3V0ZXJMaW5rPVwiL21hbmFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBtdC0yIGN1cnNvci1wb2ludGVyIG5nLXN0YXItaW5zZXJ0ZWRcIj48c3Bhbj5HZXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnRlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2E+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbjwvbmdiLWNhcm91c2VsPiJdfQ==
|
|
@@ -13,10 +13,10 @@ export class CsmAssignConfirmationComponent {
|
|
|
13
13
|
onSubmit(value) {
|
|
14
14
|
this.activeModal.close({ clientId: this.clientId, action: value });
|
|
15
15
|
}
|
|
16
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
17
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CsmAssignConfirmationComponent, deps: [{ token: i1.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CsmAssignConfirmationComponent, selector: "lib-csm-assign-confirmation", inputs: { clientId: "clientId", email: "email", mobile: "mobile", name: "name" }, ngImport: i0, template: "<span class=\"mb-5\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#FEF0C7\" />\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#FFFAEB\" stroke-width=\"8\" />\r\n <path\r\n d=\"M27.9998 24V28M27.9998 32H28.0098M26.2898 18.86L17.8198 33C17.6451 33.3024 17.5527 33.6453 17.5518 33.9945C17.5508 34.3437 17.6413 34.6871 17.8142 34.9905C17.9871 35.2939 18.2365 35.5467 18.5375 35.7238C18.8385 35.9009 19.1806 35.9961 19.5298 36H36.4698C36.819 35.9961 37.1611 35.9009 37.4621 35.7238C37.7631 35.5467 38.0124 35.2939 38.1854 34.9905C38.3583 34.6871 38.4488 34.3437 38.4478 33.9945C38.4468 33.6453 38.3544 33.3024 38.1798 33L29.7098 18.86C29.5315 18.5661 29.2805 18.3231 28.981 18.1544C28.6814 17.9858 28.3435 17.8972 27.9998 17.8972C27.656 17.8972 27.3181 17.9858 27.0186 18.1544C26.7191 18.3231 26.468 18.5661 26.2898 18.86Z\"\r\n stroke=\"#DC6803\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</span>\r\n\r\n<span class=\"mb-3 title\">\r\n {{name}} Assigned as Your CSM\r\n</span>\r\n\r\n<span class=\"mb-5 description\">\r\n {{name}} has been assigned as your Customer Success Manager (CSM). For inquiries about data management, store\r\n operations, or user management, please contact {{name}}.\r\n</span>\r\n\r\n<span class=\"mb-5 sub-title\">\r\n Contact Information:\r\n</span>\r\n\r\n<span class=\"mb-5 description\">\r\n <ul>\r\n <li>\r\n Phone: {{mobile}}\r\n </li>\r\n <li>\r\n Email: {{email}}\r\n </li>\r\n </ul>\r\n</span>\r\n\r\n<span class=\"mb-10 description\">\r\n Please approve {{name}}'s access to your data dashboard.\r\n</span>\r\n\r\n<div class=\"d-flex align-items-center justify-content-center\" >\r\n <button (click)=\"onSubmit('decline')\" class=\"btn btn-outline btn-cust me-5\">Decline</button>\r\n\r\n <button (click)=\"onSubmit('approve')\" class=\"btn btn-primary btn-cust\">Approve</button>\r\n\r\n</div>", styles: [":host{padding:24px}.title{color:#101828;font-size:18px;font-weight:600;line-height:28px}.sub-title{color:#667085;font-size:14px;font-weight:600;line-height:20px}.description{color:#667085;font-size:14px;font-weight:400;line-height:20px}.btn-cust{width:25%}\n"] });
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CsmAssignConfirmationComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
21
|
args: [{ selector: 'lib-csm-assign-confirmation', template: "<span class=\"mb-5\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#FEF0C7\" />\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#FFFAEB\" stroke-width=\"8\" />\r\n <path\r\n d=\"M27.9998 24V28M27.9998 32H28.0098M26.2898 18.86L17.8198 33C17.6451 33.3024 17.5527 33.6453 17.5518 33.9945C17.5508 34.3437 17.6413 34.6871 17.8142 34.9905C17.9871 35.2939 18.2365 35.5467 18.5375 35.7238C18.8385 35.9009 19.1806 35.9961 19.5298 36H36.4698C36.819 35.9961 37.1611 35.9009 37.4621 35.7238C37.7631 35.5467 38.0124 35.2939 38.1854 34.9905C38.3583 34.6871 38.4488 34.3437 38.4478 33.9945C38.4468 33.6453 38.3544 33.3024 38.1798 33L29.7098 18.86C29.5315 18.5661 29.2805 18.3231 28.981 18.1544C28.6814 17.9858 28.3435 17.8972 27.9998 17.8972C27.656 17.8972 27.3181 17.9858 27.0186 18.1544C26.7191 18.3231 26.468 18.5661 26.2898 18.86Z\"\r\n stroke=\"#DC6803\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</span>\r\n\r\n<span class=\"mb-3 title\">\r\n {{name}} Assigned as Your CSM\r\n</span>\r\n\r\n<span class=\"mb-5 description\">\r\n {{name}} has been assigned as your Customer Success Manager (CSM). For inquiries about data management, store\r\n operations, or user management, please contact {{name}}.\r\n</span>\r\n\r\n<span class=\"mb-5 sub-title\">\r\n Contact Information:\r\n</span>\r\n\r\n<span class=\"mb-5 description\">\r\n <ul>\r\n <li>\r\n Phone: {{mobile}}\r\n </li>\r\n <li>\r\n Email: {{email}}\r\n </li>\r\n </ul>\r\n</span>\r\n\r\n<span class=\"mb-10 description\">\r\n Please approve {{name}}'s access to your data dashboard.\r\n</span>\r\n\r\n<div class=\"d-flex align-items-center justify-content-center\" >\r\n <button (click)=\"onSubmit('decline')\" class=\"btn btn-outline btn-cust me-5\">Decline</button>\r\n\r\n <button (click)=\"onSubmit('approve')\" class=\"btn btn-primary btn-cust\">Approve</button>\r\n\r\n</div>", styles: [":host{padding:24px}.title{color:#101828;font-size:18px;font-weight:600;line-height:28px}.sub-title{color:#667085;font-size:14px;font-weight:600;line-height:20px}.description{color:#667085;font-size:14px;font-weight:400;line-height:20px}.btn-cust{width:25%}\n"] }]
|
|
22
22
|
}], ctorParameters: () => [{ type: i1.NgbActiveModal }], propDecorators: { clientId: [{
|
|
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
28
28
|
}], name: [{
|
|
29
29
|
type: Input
|
|
30
30
|
}] } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NtLWFzc2lnbi1jb25maXJtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L2NvbXBvbmVudHMvY3NtLWFzc2lnbi1jb25maXJtYXRpb24vY3NtLWFzc2lnbi1jb25maXJtYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L2NvbXBvbmVudHMvY3NtLWFzc2lnbi1jb25maXJtYXRpb24vY3NtLWFzc2lnbi1jb25maXJtYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVFqRCxNQUFNLE9BQU8sOEJBQThCO0lBT3JCO0lBTFgsUUFBUSxDQUFPO0lBQ2YsS0FBSyxDQUFPO0lBQ1osTUFBTSxDQUFPO0lBQ2IsSUFBSSxDQUFPO0lBRXBCLFlBQW9CLFdBQTBCO1FBQTFCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO0lBRTlDLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFDLFFBQVEsRUFBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFBO0lBQ2hFLENBQUM7d0dBYlUsOEJBQThCOzRGQUE5Qiw4QkFBOEIscUpDUjNDLDBuRUEyQ007OzRGRG5DTyw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsNkJBQTZCO21GQU05QixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNzbS1hc3NpZ24tY29uZmlybWF0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3NtLWFzc2lnbi1jb25maXJtYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jc20tYXNzaWduLWNvbmZpcm1hdGlvbi5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENzbUFzc2lnbkNvbmZpcm1hdGlvbkNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGNsaWVudElkOnN0cmluZ1xyXG4gIEBJbnB1dCgpIGVtYWlsOnN0cmluZ1xyXG4gIEBJbnB1dCgpIG1vYmlsZTpzdHJpbmdcclxuICBASW5wdXQoKSBuYW1lOnN0cmluZ1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGl2ZU1vZGFsOk5nYkFjdGl2ZU1vZGFsKXtcclxuXHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCh2YWx1ZTpzdHJpbmcpe1xyXG4gICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZSh7Y2xpZW50SWQ6dGhpcy5jbGllbnRJZCwgYWN0aW9uOnZhbHVlfSlcclxuICB9XHJcblxyXG59XHJcbiIsIjxzcGFuIGNsYXNzPVwibWItNVwiPlxyXG4gICAgPHN2ZyB3aWR0aD1cIjU2XCIgaGVpZ2h0PVwiNTZcIiB2aWV3Qm94PVwiMCAwIDU2IDU2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgPHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBmaWxsPVwiI0ZFRjBDN1wiIC8+XHJcbiAgICAgICAgPHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBzdHJva2U9XCIjRkZGQUVCXCIgc3Ryb2tlLXdpZHRoPVwiOFwiIC8+XHJcbiAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk0yNy45OTk4IDI0VjI4TTI3Ljk5OTggMzJIMjguMDA5OE0yNi4yODk4IDE4Ljg2TDE3LjgxOTggMzNDMTcuNjQ1MSAzMy4zMDI0IDE3LjU1MjcgMzMuNjQ1MyAxNy41NTE4IDMzLjk5NDVDMTcuNTUwOCAzNC4zNDM3IDE3LjY0MTMgMzQuNjg3MSAxNy44MTQyIDM0Ljk5MDVDMTcuOTg3MSAzNS4yOTM5IDE4LjIzNjUgMzUuNTQ2NyAxOC41Mzc1IDM1LjcyMzhDMTguODM4NSAzNS45MDA5IDE5LjE4MDYgMzUuOTk2MSAxOS41Mjk4IDM2SDM2LjQ2OThDMzYuODE5IDM1Ljk5NjEgMzcuMTYxMSAzNS45MDA5IDM3LjQ2MjEgMzUuNzIzOEMzNy43NjMxIDM1LjU0NjcgMzguMDEyNCAzNS4yOTM5IDM4LjE4NTQgMzQuOTkwNUMzOC4zNTgzIDM0LjY4NzEgMzguNDQ4OCAzNC4zNDM3IDM4LjQ0NzggMzMuOTk0NUMzOC40NDY4IDMzLjY0NTMgMzguMzU0NCAzMy4zMDI0IDM4LjE3OTggMzNMMjkuNzA5OCAxOC44NkMyOS41MzE1IDE4LjU2NjEgMjkuMjgwNSAxOC4zMjMxIDI4Ljk4MSAxOC4xNTQ0QzI4LjY4MTQgMTcuOTg1OCAyOC4zNDM1IDE3Ljg5NzIgMjcuOTk5OCAxNy44OTcyQzI3LjY1NiAxNy44OTcyIDI3LjMxODEgMTcuOTg1OCAyNy4wMTg2IDE4LjE1NDRDMjYuNzE5MSAxOC4zMjMxIDI2LjQ2OCAxOC41NjYxIDI2LjI4OTggMTguODZaXCJcclxuICAgICAgICAgICAgc3Ryb2tlPVwiI0RDNjgwM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgPC9zdmc+XHJcbjwvc3Bhbj5cclxuXHJcbjxzcGFuIGNsYXNzPVwibWItMyB0aXRsZVwiPlxyXG4gICAge3tuYW1lfX0gQXNzaWduZWQgYXMgWW91ciBDU01cclxuPC9zcGFuPlxyXG5cclxuPHNwYW4gY2xhc3M9XCJtYi01IGRlc2NyaXB0aW9uXCI+XHJcbiAgICB7e25hbWV9fSBoYXMgYmVlbiBhc3NpZ25lZCBhcyB5b3VyIEN1c3RvbWVyIFN1Y2Nlc3MgTWFuYWdlciAoQ1NNKS4gRm9yIGlucXVpcmllcyBhYm91dCBkYXRhIG1hbmFnZW1lbnQsIHN0b3JlXHJcbiAgICBvcGVyYXRpb25zLCBvciB1c2VyIG1hbmFnZW1lbnQsIHBsZWFzZSBjb250YWN0IHt7bmFtZX19LlxyXG48L3NwYW4+XHJcblxyXG48c3BhbiBjbGFzcz1cIm1iLTUgc3ViLXRpdGxlXCI+XHJcbiAgICBDb250YWN0IEluZm9ybWF0aW9uOlxyXG48L3NwYW4+XHJcblxyXG48c3BhbiBjbGFzcz1cIm1iLTUgZGVzY3JpcHRpb25cIj5cclxuICAgIDx1bD5cclxuICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgIFBob25lOiB7e21vYmlsZX19XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgIEVtYWlsOiB7e2VtYWlsfX1cclxuICAgICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuPC9zcGFuPlxyXG5cclxuPHNwYW4gY2xhc3M9XCJtYi0xMCBkZXNjcmlwdGlvblwiPlxyXG4gICAgUGxlYXNlIGFwcHJvdmUge3tuYW1lfX0ncyBhY2Nlc3MgdG8geW91ciBkYXRhIGRhc2hib2FyZC5cclxuPC9zcGFuPlxyXG5cclxuPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiID5cclxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJvblN1Ym1pdCgnZGVjbGluZScpXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgYnRuLWN1c3QgbWUtNVwiPkRlY2xpbmU8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwib25TdWJtaXQoJ2FwcHJvdmUnKVwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1jdXN0XCI+QXBwcm92ZTwvYnV0dG9uPlxyXG5cclxuPC9kaXY+Il19
|
|
@@ -91,10 +91,10 @@ export class ContentComponent {
|
|
|
91
91
|
}
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
95
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
94
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContentComponent, deps: [{ token: i1.Router }, { token: i2.NgbModal }, { token: i3.AuthService }, { token: i4.ToastService }], target: i0.ɵɵFactoryTarget.Component });
|
|
95
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ContentComponent, selector: "lib-content", inputs: { contentContainerCSSClass: "contentContainerCSSClass", appContentContiner: "appContentContiner", appContentContainerClass: "appContentContainerClass" }, ngImport: i0, template: "<ng-container *ngIf=\"appContentContiner\">\r\n <!--begin::Content container-->\r\n <div id=\"kt_app_content_container\" class=\"app-container\"\r\n [ngClass]=\"appContentContainerClass + ' ' + contentContainerCSSClass\"\r\n [ngClass]=\"{'container-xxl': appContentContiner === 'fixed', 'container-fluid': appContentContiner === 'fluid'}\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <!--end::Content container-->\r\n</ng-container>\r\n<ng-container *ngIf=\"!appContentContiner\">\r\n <router-outlet></router-outlet>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
|
|
96
96
|
}
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContentComponent, decorators: [{
|
|
98
98
|
type: Component,
|
|
99
99
|
args: [{ selector: 'lib-content', template: "<ng-container *ngIf=\"appContentContiner\">\r\n <!--begin::Content container-->\r\n <div id=\"kt_app_content_container\" class=\"app-container\"\r\n [ngClass]=\"appContentContainerClass + ' ' + contentContainerCSSClass\"\r\n [ngClass]=\"{'container-xxl': appContentContiner === 'fixed', 'container-fluid': appContentContiner === 'fluid'}\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <!--end::Content container-->\r\n</ng-container>\r\n<ng-container *ngIf=\"!appContentContiner\">\r\n <router-outlet></router-outlet>\r\n</ng-container>\r\n" }]
|
|
100
100
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.NgbModal }, { type: i3.AuthService }, { type: i4.ToastService }], propDecorators: { contentContainerCSSClass: [{
|
|
@@ -104,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
104
104
|
}], appContentContainerClass: [{
|
|
105
105
|
type: Input
|
|
106
106
|
}] } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvY29udGVudC9jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUcxRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQzs7Ozs7OztBQUd6SCw0REFBNEQ7QUFNNUQsTUFBTSxPQUFPLGdCQUFnQjtJQU9QO0lBQXdCO0lBQWdDO0lBQWlDO0lBTnBHLHdCQUF3QixHQUFXLEVBQUUsQ0FBQztJQUN0QyxrQkFBa0IsQ0FBcUI7SUFDdkMsd0JBQXdCLEdBQVcsRUFBRSxDQUFDO0lBRXZDLFdBQVcsR0FBbUIsRUFBRSxDQUFDO0lBRXpDLFlBQW9CLE1BQWMsRUFBVSxZQUFzQixFQUFVLFdBQXVCLEVBQVUsWUFBeUI7UUFBbEgsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYTtJQUFJLENBQUM7SUFFM0ksUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtJQUN6QixDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sa0JBQWtCLEdBQUcsSUFB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QUksRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFO2dCQUNSLElBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDO29CQUN6QixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFXLEVBQUUsRUFBRTt3QkFDdEMsSUFBRyxPQUFPLENBQUMsYUFBYSxLQUFLLEtBQUssRUFBQzs0QkFDakMsTUFBTSxHQUFHLEdBQUcsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBOzRCQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUE7eUJBQzlFO29CQUNILENBQUMsQ0FBQyxDQUFDO2lCQUNKO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7dUdBdkZVLGdCQUFnQjsyRkFBaEIsZ0JBQWdCLHFOQ2I3QixtakJBWUE7OzJGRENhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxhQUFhO3VKQUtkLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3Vic2NyaXB0aW9uJztcclxuaW1wb3J0IHsgQ3NtQXNzaWduQ29uZmlybWF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jc20tYXNzaWduLWNvbmZpcm1hdGlvbi9jc20tYXNzaWduLWNvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xyXG4vLyBpbXBvcnQgeyBEcmF3ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9rdC9jb21wb25lbnRzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY29udGVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbnRlbnQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgY29udGVudENvbnRhaW5lckNTU0NsYXNzOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBhcHBDb250ZW50Q29udGluZXI/OiAnZml4ZWQnIHwgJ2ZsdWlkJztcclxuICBASW5wdXQoKSBhcHBDb250ZW50Q29udGFpbmVyQ2xhc3M6IHN0cmluZyA9ICcnO1xyXG5cclxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsIHByaXZhdGUgYXV0aFNlcnZpY2U6QXV0aFNlcnZpY2UsIHByaXZhdGUgdG9hc3RTZXJ2aWNlOlRvYXN0U2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yb3V0aW5nQ2hhbmdlcygpO1xyXG4gICAgdGhpcy5nZXRBc3NpZ25lZFVzZXJzKClcclxuICB9XHJcblxyXG4gIHJvdXRpbmdDaGFuZ2VzKCkge1xyXG4gICAgY29uc3Qgcm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fCBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwpIHtcclxuICAgICAgICAvLyBEcmF3ZXJDb21wb25lbnQuaGlkZUFsbCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUucHVzaChyb3V0ZXJTdWJzY3JpcHRpb24pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLmZvckVhY2goKHNiKSA9PiBzYi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1Dc21Bc3NpZ24oY2xpZW50SWQ6c3RyaW5nLCBlbWFpbD86c3RyaW5nLCBtb2JpbGU/OnN0cmluZywgbmFtZT86c3RyaW5nICkge1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKENzbUFzc2lnbkNvbmZpcm1hdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSwgc2l6ZTogJ21kJywgc2Nyb2xsYWJsZTogdHJ1ZSxcclxuICAgIH0pO1xyXG5cclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLmNsaWVudElkID0gY2xpZW50SWQ7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5lbWFpbCA9IGVtYWlsO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UubW9iaWxlID0gbW9iaWxlO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UubmFtZSA9IG5hbWU7XHJcblxyXG4gICAgbW9kYWxSZWYucmVzdWx0LnRoZW4oKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmKHJlc3VsdC5hY3Rpb24gPT09ICdhcHByb3ZlJyB8fCByZXN1bHQuYWN0aW9uID09PSAnZGVjbGluZScpe1xyXG4gICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgYWN0aW9uOiByZXN1bHQuYWN0aW9uXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmNzbUFzc2lnbkNsaWVudEFjdGlvbihyZXN1bHQuY2xpZW50SWQsIGRhdGEpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OihlKT0+e1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRTdWNjZXNzVG9hc3QoZS5tZXNzYWdlKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOihlKT0+e1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KCdVcGRhdGUgZmFpbGVkJylcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0QXNzaWduZWRVc2Vycygpe1xyXG4gICAgbGV0IHVzZXJEYXRhOmFueSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLWluZm8nKVxyXG4gICAgaWYgKHVzZXJEYXRhKSB7XHJcbiAgICAgIHVzZXJEYXRhID0gSlNPTi5wYXJzZSh1c2VyRGF0YSlcclxuICAgICAgaWYgKHVzZXJEYXRhLnJvbGUgPT09ICdzdXBlcmFkbWluJyAmJiB1c2VyRGF0YS51c2VyVHlwZSA9PT0gJ2NsaWVudCcpIHtcclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmNoZWNrVG9TaG93UG9wdXAodXNlckRhdGE/LmNsaWVudElkKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDoocmVzKT0+e1xyXG4gICAgICAgICAgICBpZihyZXMuZGF0YS5ub3RpZnlDc21Bc3NpZ24pe1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0Q3NtRGV0YWlsKHVzZXJEYXRhPy5jbGllbnRJZClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGdldENzbURldGFpbChjbGllbnRJZDpzdHJpbmcpe1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5nZXRBc3NpZ25lZFVzZXJzKGNsaWVudElkKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OihlKT0+e1xyXG4gICAgICAgIGlmKGU/LmRhdGE/LnJlc3VsdD8ubGVuZ3RoKXtcclxuICAgICAgICAgIGU/LmRhdGE/LnJlc3VsdC5mb3JFYWNoKChlbGVtZW50OmFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZihlbGVtZW50LnRhbmdvVXNlclR5cGUgPT09ICdjc20nKXtcclxuICAgICAgICAgICAgICBjb25zdCBjc20gPSBlbGVtZW50Py5hc3NpZ25lZFVzZXI/LlswXVxyXG4gICAgICAgICAgICAgIHRoaXMuY29uZmlybUNzbUFzc2lnbihjbGllbnRJZCwgY3NtPy5lbWFpbCwgY3NtPy5tb2JpbGVOdW1iZXIsIGNzbT8udXNlck5hbWUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gICAgICAgIFxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwQ29udGVudENvbnRpbmVyXCI+XHJcbiAgPCEtLWJlZ2luOjpDb250ZW50IGNvbnRhaW5lci0tPlxyXG4gIDxkaXYgaWQ9XCJrdF9hcHBfY29udGVudF9jb250YWluZXJcIiBjbGFzcz1cImFwcC1jb250YWluZXJcIlxyXG4gICAgW25nQ2xhc3NdPVwiYXBwQ29udGVudENvbnRhaW5lckNsYXNzICsgJyAnICsgY29udGVudENvbnRhaW5lckNTU0NsYXNzXCJcclxuICAgIFtuZ0NsYXNzXT1cInsnY29udGFpbmVyLXh4bCc6IGFwcENvbnRlbnRDb250aW5lciA9PT0gJ2ZpeGVkJywgJ2NvbnRhaW5lci1mbHVpZCc6IGFwcENvbnRlbnRDb250aW5lciA9PT0gJ2ZsdWlkJ31cIj5cclxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuICA8L2Rpdj5cclxuICA8IS0tZW5kOjpDb250ZW50IGNvbnRhaW5lci0tPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhcHBDb250ZW50Q29udGluZXJcIj5cclxuICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvY29udGVudC9jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUcxRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQzs7Ozs7OztBQUd6SCw0REFBNEQ7QUFNNUQsTUFBTSxPQUFPLGdCQUFnQjtJQU9QO0lBQXdCO0lBQWdDO0lBQWlDO0lBTnBHLHdCQUF3QixHQUFXLEVBQUUsQ0FBQztJQUN0QyxrQkFBa0IsQ0FBcUI7SUFDdkMsd0JBQXdCLEdBQVcsRUFBRSxDQUFDO0lBRXZDLFdBQVcsR0FBbUIsRUFBRSxDQUFDO0lBRXpDLFlBQW9CLE1BQWMsRUFBVSxZQUFzQixFQUFVLFdBQXVCLEVBQVUsWUFBeUI7UUFBbEgsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYTtJQUFJLENBQUM7SUFFM0ksUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtJQUN6QixDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sa0JBQWtCLEdBQUcsSUFB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QUksRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFO2dCQUNSLElBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDO29CQUN6QixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFXLEVBQUUsRUFBRTt3QkFDdEMsSUFBRyxPQUFPLENBQUMsYUFBYSxLQUFLLEtBQUssRUFBQzs0QkFDakMsTUFBTSxHQUFHLEdBQUcsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBOzRCQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUE7eUJBQzlFO29CQUNILENBQUMsQ0FBQyxDQUFDO2lCQUNKO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7d0dBdkZVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLHFOQ2I3QixtakJBWUE7OzRGRENhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxhQUFhO3VKQUtkLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3Vic2NyaXB0aW9uJztcclxuaW1wb3J0IHsgQ3NtQXNzaWduQ29uZmlybWF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jc20tYXNzaWduLWNvbmZpcm1hdGlvbi9jc20tYXNzaWduLWNvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xyXG4vLyBpbXBvcnQgeyBEcmF3ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9rdC9jb21wb25lbnRzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY29udGVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbnRlbnQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgY29udGVudENvbnRhaW5lckNTU0NsYXNzOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBhcHBDb250ZW50Q29udGluZXI/OiAnZml4ZWQnIHwgJ2ZsdWlkJztcclxuICBASW5wdXQoKSBhcHBDb250ZW50Q29udGFpbmVyQ2xhc3M6IHN0cmluZyA9ICcnO1xyXG5cclxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsIHByaXZhdGUgYXV0aFNlcnZpY2U6QXV0aFNlcnZpY2UsIHByaXZhdGUgdG9hc3RTZXJ2aWNlOlRvYXN0U2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yb3V0aW5nQ2hhbmdlcygpO1xyXG4gICAgdGhpcy5nZXRBc3NpZ25lZFVzZXJzKClcclxuICB9XHJcblxyXG4gIHJvdXRpbmdDaGFuZ2VzKCkge1xyXG4gICAgY29uc3Qgcm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fCBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwpIHtcclxuICAgICAgICAvLyBEcmF3ZXJDb21wb25lbnQuaGlkZUFsbCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUucHVzaChyb3V0ZXJTdWJzY3JpcHRpb24pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLmZvckVhY2goKHNiKSA9PiBzYi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1Dc21Bc3NpZ24oY2xpZW50SWQ6c3RyaW5nLCBlbWFpbD86c3RyaW5nLCBtb2JpbGU/OnN0cmluZywgbmFtZT86c3RyaW5nICkge1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKENzbUFzc2lnbkNvbmZpcm1hdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSwgc2l6ZTogJ21kJywgc2Nyb2xsYWJsZTogdHJ1ZSxcclxuICAgIH0pO1xyXG5cclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLmNsaWVudElkID0gY2xpZW50SWQ7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5lbWFpbCA9IGVtYWlsO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UubW9iaWxlID0gbW9iaWxlO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UubmFtZSA9IG5hbWU7XHJcblxyXG4gICAgbW9kYWxSZWYucmVzdWx0LnRoZW4oKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmKHJlc3VsdC5hY3Rpb24gPT09ICdhcHByb3ZlJyB8fCByZXN1bHQuYWN0aW9uID09PSAnZGVjbGluZScpe1xyXG4gICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgYWN0aW9uOiByZXN1bHQuYWN0aW9uXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmNzbUFzc2lnbkNsaWVudEFjdGlvbihyZXN1bHQuY2xpZW50SWQsIGRhdGEpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OihlKT0+e1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRTdWNjZXNzVG9hc3QoZS5tZXNzYWdlKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOihlKT0+e1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KCdVcGRhdGUgZmFpbGVkJylcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0QXNzaWduZWRVc2Vycygpe1xyXG4gICAgbGV0IHVzZXJEYXRhOmFueSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLWluZm8nKVxyXG4gICAgaWYgKHVzZXJEYXRhKSB7XHJcbiAgICAgIHVzZXJEYXRhID0gSlNPTi5wYXJzZSh1c2VyRGF0YSlcclxuICAgICAgaWYgKHVzZXJEYXRhLnJvbGUgPT09ICdzdXBlcmFkbWluJyAmJiB1c2VyRGF0YS51c2VyVHlwZSA9PT0gJ2NsaWVudCcpIHtcclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmNoZWNrVG9TaG93UG9wdXAodXNlckRhdGE/LmNsaWVudElkKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDoocmVzKT0+e1xyXG4gICAgICAgICAgICBpZihyZXMuZGF0YS5ub3RpZnlDc21Bc3NpZ24pe1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0Q3NtRGV0YWlsKHVzZXJEYXRhPy5jbGllbnRJZClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGdldENzbURldGFpbChjbGllbnRJZDpzdHJpbmcpe1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5nZXRBc3NpZ25lZFVzZXJzKGNsaWVudElkKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OihlKT0+e1xyXG4gICAgICAgIGlmKGU/LmRhdGE/LnJlc3VsdD8ubGVuZ3RoKXtcclxuICAgICAgICAgIGU/LmRhdGE/LnJlc3VsdC5mb3JFYWNoKChlbGVtZW50OmFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZihlbGVtZW50LnRhbmdvVXNlclR5cGUgPT09ICdjc20nKXtcclxuICAgICAgICAgICAgICBjb25zdCBjc20gPSBlbGVtZW50Py5hc3NpZ25lZFVzZXI/LlswXVxyXG4gICAgICAgICAgICAgIHRoaXMuY29uZmlybUNzbUFzc2lnbihjbGllbnRJZCwgY3NtPy5lbWFpbCwgY3NtPy5tb2JpbGVOdW1iZXIsIGNzbT8udXNlck5hbWUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gICAgICAgIFxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwQ29udGVudENvbnRpbmVyXCI+XHJcbiAgPCEtLWJlZ2luOjpDb250ZW50IGNvbnRhaW5lci0tPlxyXG4gIDxkaXYgaWQ9XCJrdF9hcHBfY29udGVudF9jb250YWluZXJcIiBjbGFzcz1cImFwcC1jb250YWluZXJcIlxyXG4gICAgW25nQ2xhc3NdPVwiYXBwQ29udGVudENvbnRhaW5lckNsYXNzICsgJyAnICsgY29udGVudENvbnRhaW5lckNTU0NsYXNzXCJcclxuICAgIFtuZ0NsYXNzXT1cInsnY29udGFpbmVyLXh4bCc6IGFwcENvbnRlbnRDb250aW5lciA9PT0gJ2ZpeGVkJywgJ2NvbnRhaW5lci1mbHVpZCc6IGFwcENvbnRlbnRDb250aW5lciA9PT0gJ2ZsdWlkJ31cIj5cclxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuICA8L2Rpdj5cclxuICA8IS0tZW5kOjpDb250ZW50IGNvbnRhaW5lci0tPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhcHBDb250ZW50Q29udGluZXJcIj5cclxuICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
|