tango-app-ui-auth 3.3.1-beta.16 → 3.3.1-beta.18

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.
@@ -322,32 +322,50 @@ export class Step2Component {
322
322
  }
323
323
  });
324
324
  }
325
- getPricingData() {
326
- if (this.aboutFormData.countryCode === '91') {
327
- this.currency = 'rupees';
325
+ products;
326
+ getTrueKeys(obj) {
327
+ if (!obj || typeof obj !== 'object') {
328
+ return [];
328
329
  }
329
- else {
330
- this.currency = 'dollar';
330
+ this.products = Object.keys(obj).filter((key) => obj[key] === true);
331
+ return this.products;
332
+ }
333
+ toggleKey(obj, key) {
334
+ if (!obj || typeof obj !== 'object') {
335
+ console.error("Invalid object provided to toggleKey:", obj);
336
+ return [];
337
+ }
338
+ let normalizedKey = Object.keys(obj).find(k => k.toLowerCase() === key.toLowerCase());
339
+ if (normalizedKey) {
340
+ obj[normalizedKey] = obj[normalizedKey];
341
+ if (normalizedKey === 'tangoZone' && obj.tangoZone) {
342
+ obj.tangoTraffic = true;
343
+ }
331
344
  }
345
+ return this.getTrueKeys(obj);
346
+ }
347
+ getPricingData() {
348
+ if (!this.productForm || !this.productForm.value) {
349
+ console.error("productForm is not initialized!");
350
+ return;
351
+ }
352
+ const selectedProducts = this.getTrueKeys(this.productForm.value);
353
+ this.currency = this.aboutFormData?.countryCode === '91' ? 'rupees' : 'dollar';
332
354
  let data = {
333
355
  camaraPerSqft: this.selectedFeetArea?.value,
334
356
  storesCount: this.selectedCounts?.value,
335
357
  planName: this.plan,
336
- products: this.getTrueKeys(this.productForm.value),
358
+ products: selectedProducts,
337
359
  currencyType: this.currency,
338
360
  };
339
361
  this.subscriptions.push(this.authservice.getPricing(data).subscribe((e) => {
340
- if (e) {
341
- if (e.data.OriginalPrice) {
342
- this.pricingData = e.data;
343
- }
362
+ if (e?.data?.OriginalPrice) {
363
+ this.pricingData = e.data;
344
364
  }
345
365
  }));
346
366
  }
347
- getTrueKeys(obj) {
348
- return Object.keys(obj).filter((key) => obj[key] === true);
349
- }
350
- onPriceChange() {
367
+ onPriceChange(key) {
368
+ this.toggleKey(this.productForm.value, key);
351
369
  this.getPricingData();
352
370
  }
353
371
  checkIfAtleastOneSelected(product) {
@@ -365,10 +383,10 @@ export class Step2Component {
365
383
  }
366
384
  }
367
385
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Step2Component, deps: [{ token: i1.NgbModal }, { token: i2.ConversionService }, { token: i3.AuthService }, { token: i4.FormBuilder }, { token: i0.ChangeDetectorRef }, { token: i5.ToastService }], target: i0.ɵɵFactoryTarget.Component });
368
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: Step2Component, selector: "lib-step2", ngImport: i0, template: "<div class=\"card mt-10 mx-15\">\r\n <div class=\"h-100 px-5 mx-5 mt-7\">\r\n <!-- <img class=\"bubble\" src=\"./assets/tango/Icons/Signup-bubble-icon.svg\"\r\n alt=\"\" srcset=\"\"> -->\r\n\r\n <div class=\"d-flex flex-column beforeChoosing my-12\">\r\n <h1 class=\"heading mb-5\">How many stores do you have?</h1>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-9 col-xl-8 col-xxl-8 w-auto\">\r\n <div class=\"d-flex align-items-center bg-gray\">\r\n <div class=\"d-flex align-items-center justify-content-center inActiveClass cursor-pointer \"\r\n *ngFor=\"let count of storeCounts\" (click)=\"activeStoreCount(count)\" \r\n [class.activeClass]=\"count.active\">\r\n <div class=\"d-flex align-items-center mx-2\">\r\n <div class=\"fs-4 fw-bold\" [ngClass]=\"count.active === true? 'store-primary':'text-color'\">{{ count.text }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"storedetials\">\r\n <h2 class=\"heading mt-10 mb-5 \">What's the average size of your store?</h2>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-12 col-xl-12 col-xxl-12 w-auto\">\r\n <div class=\"d-flex align-items-center bg-gray\">\r\n <div class=\"d-flex align-items-center justify-content-center inActiveClass cursor-pointer\"\r\n [class.activeClass]=\"i.active\" [class.disabled]=\"i.disabled\" *ngFor=\"let i of featAreaOptions\"\r\n (click)=\"activefeatArea(i)\">\r\n <div class=\"d-flex align-items-center mx-2\">\r\n <div class=\"fs-4 fw-bold\" [ngClass]=\"i.active === true? 'store-primary':'text-color'\">{{ i.text }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"featAreaCamera\" class=\"notice d-flex mt-5\">\r\n <div class=\"d-flex justify-content-center align-items-center gap-16px\">\r\n <span class=\"border-store\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M1.3335 9.66667L8.00016 13L14.6668 9.66667M8.00016 3L1.3335 6.33333L8.00016 9.66667L14.6668 6.33333L8.00016 3Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <div class=\"featareaval ms-4\">Maximum {{featAreaCamera}} Cameras are permitted in stores with\r\n square feet between\r\n {{featArea}}.</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"pricevalue\">\r\n <div class=\"card-body px-0 mt-10\">\r\n <!--begin::Plans-->\r\n <div class=\"d-flex flex-column\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-10 text-start\">\r\n <h1 class=\"heading mb-5\">Plan Details</h1>\r\n </div>\r\n <!--end::Heading-->\r\n\r\n <!--begin::Nav group-->\r\n <div class=\"nav-group nav-group-outline mx-auto mb-15\">\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3 me-2\"\r\n [ngClass]=\"plan === 'monthly'? 'activePlanBtn':'inactivePlanBtn'\" data-kt-plan=\"month\"\r\n (click)=\"selectPlan('monthly')\">\r\n Monthly\r\n </button>\r\n\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3\"\r\n [ngClass]=\"plan === 'quarterly'? 'activePlanBtn':'inactivePlanBtn'\"\r\n data-kt-plan=\"Quarterly\" (click)=\"selectPlan('quarterly')\">\r\n Quarterly - 10%\r\n </button>\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3\"\r\n [ngClass]=\"plan === 'annual'? 'activePlanBtn':'inactivePlanBtn'\" data-kt-plan=\"annual\"\r\n (click)=\"selectPlan('annual')\">\r\n Annual - 15%\r\n </button>\r\n </div>\r\n <!--end::Nav group-->\r\n\r\n <!--begin::Row-->\r\n <div class=\"row g-10\">\r\n <!--begin::Col-->\r\n <div class=\"col-md-6 col-lg-4 col-xl-4 col-xxl-4 h-100\">\r\n <div class=\"d-flex align-items-center\">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-start rounded-3 py-15 px-10\"\r\n [ngClass]=\"countOfStore === '1'? 'freeplan':'bg-light'\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 text-start\">\r\n <!--begin::Title-->\r\n <h1 class=\"price-head mb-5\">Free <span\r\n class=\"life-title fw-semibold mx-2\">Lifetime</span></h1>\r\n <!--end::Title-->\r\n\r\n <!--begin::Description-->\r\n <div class=\"price-sub-head mb-5\">\r\n Integrated Solution for single store owners\r\n </div>\r\n <!--end::Description-->\r\n\r\n <!--begin::Price-->\r\n <div class=\"text-start \">\r\n <span class=\"mb-2 text-primary text-val ms-1\" *ngIf=\"this.aboutFormData.countryCode==='91'\">\u20B9</span>\r\n <span class=\"mb-2 text-primary text-val ms-1\" *ngIf=\"this.aboutFormData.countryCode !=='91'\">$</span>\r\n <span class=\"fs-3x fw-bold text-primary text-val\">0 </span>\r\n </div>\r\n <!--end::Price-->\r\n <div class=\"fw-semibold\">\r\n <span class=\"period\">per store per month</span>\r\n </div>\r\n </div>\r\n <!--end::Heading-->\r\n\r\n <!--begin::Features-->\r\n <div class=\"w-100\">\r\n <div class=\"d-flex flex-stack mb-10\"><span\r\n class=\"plan-head me-2 fs-14px\">Tango Traffic</span>\r\n <div class=\"form-check form-switch\">\r\n <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\"\r\n id=\"tangotraffic\" checked=\"\" disabled=\"\">\r\n\r\n </div>\r\n </div>\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-center mb-10\">\r\n <span class=\"plan-head\">\r\n To accurately measure traffic and map shopper\u2019s in-store journey\r\n </span>\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"plan-sub \">\r\n Footfall Analysis </span>\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"plan-sub \">\r\n Bounced vs Engager Analysis </span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"plan-sub \">\r\n Missed Opportunity Vs Conversion Rate </span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"plan-sub \">\r\n Footfall Image Directory by the hour. </span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n\r\n\r\n\r\n </div>\r\n <!--end::Features-->\r\n <!--begin::Select-->\r\n <button [disabled]=\"selectedCounts.value !== '1'\" class=\"btn btn-sm btn-primary w-100 button-size\"\r\n (click)=\"plandet('free')\">Get Started</button>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n <!--end::Col-->\r\n <!--begin::Col-->\r\n <div class=\"col-md-6 col-lg-4 col-xl-4 col-xxl-4 h-100\">\r\n <div class=\"d-flex align-items-center\">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-start rounded-3 text-container py-15 px-10\"\r\n [ngClass]=\"countOfStore === '2-25' || countOfStore === '26-50' || countOfStore === '26-50' || countOfStore === '51-75' || countOfStore === '76-100'? 'freeplan':'bg-light'\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 text-start text-container\">\r\n <!--begin::Title-->\r\n <h1 class=\"price-head mb-5\">Premium</h1>\r\n <!--end::Title-->\r\n\r\n <!--begin::Description-->\r\n <div class=\"price-sub-head mb-5\">\r\n Integrated Solution for Growing Business\r\n </div>\r\n <!--end::Description-->\r\n <button\r\n class=\"top-right btn-margin btn btn-lg btn-primary btn-height py-1 cursor-auto mt-3\">Recommended</button>\r\n <!--begin::Price-->\r\n <div class=\"text-start mt-15\">\r\n <span class=\"price-sub-head\">Starts from</span>\r\n <span class=\"mb-2 text-primary text-val ms-1\" *ngIf=\"this.aboutFormData.countryCode==='91'\">\u20B9</span>\r\n <span class=\"mb-2 text-primary text-val ms-1\" *ngIf=\"this.aboutFormData.countryCode !=='91'\">$</span>\r\n <span class=\"pricecodesize\" *ngIf=\"pricingData?.OriginalPrice!==pricingData?.price\" ><b\r\n class=\"pricecodecolor text-set mx-2\"> {{pricingData?.OriginalPrice}}\r\n </b>\r\n </span>\r\n <span class=\"fs-3x fw-bold text-primary text-val\">{{pricingData?.price}}</span>\r\n </div>\r\n <!--end::Price-->\r\n <div class=\"fw-semibold\">\r\n <span class=\"period\">per store per month</span>\r\n </div>\r\n </div>\r\n <!--end::Heading-->\r\n <form [formGroup]=\"productForm\" action=\"\" class=\"w-100 mb-3\">\r\n <!--begin::Features-->\r\n <div class=\"w-100\">\r\n <!--begin::Item-->\r\n <div class=\"d-flex flex-stack mt-10 mb-5\"><span\r\n class=\"plan-head me-2 fs-14px line-height\"\r\n (click)=\"showViewMore('traffic')\">Tango Traffic\r\n <span class=\"ms-1 cursor-pointer\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"13\"\r\n height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8686)\">\r\n <path\r\n d=\"M6 8.16699V6.16699M6 4.16699H6.005M11 6.16699C11 8.92842 8.76142 11.167 6 11.167C3.23858 11.167 1 8.92842 1 6.16699C1 3.40557 3.23858 1.16699 6 1.16699C8.76142 1.16699 11 3.40557 11 6.16699Z\"\r\n stroke=\"#98A2B3\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8686\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"\r\n transform=\"translate(0 0.166992)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n <div class=\"form-check form-switch\">\r\n <input (change)=\"onPriceChange()\" [ngClass]=\"checkIfAtleastOneSelected('tangoTraffic') || productForm.get('tangoZone')?.value ? 'pe-none' : ''\" formControlName=\"tangoTraffic\" class=\"form-check-input\"\r\n type=\"checkbox\" role=\"switch\" id=\"tangotraffic\" checked=\"\">\r\n </div>\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex flex-stack mb-5\"><span class=\"plan-head me-2 fs-14px line-height\"\r\n (click)=\"showViewMore('zone')\">Tango Zone\r\n <span class=\"ms-1 cursor-pointer\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"13\"\r\n height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8686)\">\r\n <path\r\n d=\"M6 8.16699V6.16699M6 4.16699H6.005M11 6.16699C11 8.92842 8.76142 11.167 6 11.167C3.23858 11.167 1 8.92842 1 6.16699C1 3.40557 3.23858 1.16699 6 1.16699C8.76142 1.16699 11 3.40557 11 6.16699Z\"\r\n stroke=\"#98A2B3\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8686\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"\r\n transform=\"translate(0 0.166992)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n <div class=\"form-check form-switch\">\r\n <input (change)=\"onPriceChange(); productForm.get('tangoZone')?.value ? productForm.get('tangoTraffic')?.setValue(true) : null\" [ngClass]=\"checkIfAtleastOneSelected('tangoZone') ? 'pe-none' : ''\" formControlName=\"tangoZone\" class=\"form-check-input\"\r\n type=\"checkbox\" role=\"switch\" id=\"tangozone\" checked=\"\">\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-stack mb-20\"><span class=\"plan-head me-2 fs-14px line-height\"\r\n (click)=\"showViewMore('sop')\">Tango Trax\r\n <span class=\"ms-1 cursor-pointer\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"13\"\r\n height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8686)\">\r\n <path\r\n d=\"M6 8.16699V6.16699M6 4.16699H6.005M11 6.16699C11 8.92842 8.76142 11.167 6 11.167C3.23858 11.167 1 8.92842 1 6.16699C1 3.40557 3.23858 1.16699 6 1.16699C8.76142 1.16699 11 3.40557 11 6.16699Z\"\r\n stroke=\"#98A2B3\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8686\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"\r\n transform=\"translate(0 0.166992)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n <div class=\"form-check form-switch\">\r\n <input (change)=\"onPriceChange()\" [ngClass]=\"checkIfAtleastOneSelected('tangoTrax') ? 'pe-none' : ''\" formControlName=\"tangoTrax\" class=\"form-check-input\"\r\n type=\"checkbox\" role=\"switch\" id=\"tangoTrax\" checked=\"\">\r\n\r\n </div>\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <!-- <div class=\"d-flex flex-stack mb-5\"><span class=\"plan-head me-2 fs-14px line-height\"\r\n (click)=\"showViewMore('support')\">Priority Support\r\n <span class=\"ms-1 cursor-pointer\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"13\"\r\n height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8686)\">\r\n <path\r\n d=\"M6 8.16699V6.16699M6 4.16699H6.005M11 6.16699C11 8.92842 8.76142 11.167 6 11.167C3.23858 11.167 1 8.92842 1 6.16699C1 3.40557 3.23858 1.16699 6 1.16699C8.76142 1.16699 11 3.40557 11 6.16699Z\"\r\n stroke=\"#98A2B3\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8686\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"\r\n transform=\"translate(0 0.166992)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n <div class=\"form-check form-switch\">\r\n <input (change)=\"onPriceChange()\" formControlName=\"prioritySupport\"\r\n class=\"form-check-input\" type=\"checkbox\" role=\"switch\"\r\n id=\"support\" checked=\"\">\r\n\r\n </div>\r\n </div> -->\r\n <!--end::Item-->\r\n\r\n\r\n </div>\r\n <!--end::Features-->\r\n </form>\r\n\r\n\r\n <!--begin::Select-->\r\n <button class=\"btn btn-sm btn-primary button-size w-100\"\r\n (click)=\"plandet('premium')\">Start 14 day trial</button>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n <!--end::Col-->\r\n <!--begin::Col-->\r\n <div class=\"col-md-6 col-lg-4 col-xl-4 col-xxl-4 h-100\">\r\n <div class=\"d-flex align-items-center\">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-start rounded-3 py-15 px-10\"\r\n [ngClass]=\"countOfStore === '101-150'? 'freeplan':'bg-light'\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 text-start\">\r\n <!--begin::Title-->\r\n <h1 class=\"price-head mb-5\">Enterprise</h1>\r\n <!--end::Title-->\r\n\r\n <!--begin::Description-->\r\n <div class=\"price-sub-head mb-5\">\r\n Integrated Solutions for Larger Business\r\n </div>\r\n <!--end::Description-->\r\n\r\n <!--begin::Price-->\r\n <div class=\"text-start mt-12\">\r\n\r\n <span class=\"fs-3x fw-bold text-primary text-val\">\r\n Let\u2019s Talk!</span>\r\n\r\n </div>\r\n <!--end::Price-->\r\n </div>\r\n <!--end::Heading-->\r\n\r\n <!--begin::Features-->\r\n <div class=\"w-100 h-239px mb-10\">\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"price-sub-head fw-semibold \">\r\n Do you have more than 100 stores?</span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"price-sub-head fw-semibold \">\r\n Rest assured, our dedicated account managers are here to support you\r\n every\r\n step of the way.</span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n\r\n\r\n </div>\r\n <!--end::Features-->\r\n\r\n <!--begin::Select-->\r\n <button class=\"btn btn-sm btn-primary button-size w-100\"\r\n (click)=\"plandet('enterprise')\">Request Call Back</button>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n <!--end::Col-->\r\n </div>\r\n <!--end::Row-->\r\n </div>\r\n <!--end::Plans-->\r\n </div>\r\n </div>\r\n <div class=\"row mt-12\">\r\n <div class=\"col-md-2\">\r\n <button type=\"button\" class=\"btn btn-lg text-nowrap btn-set me-5\" (click)=\"prevStep()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13 15L8 10L13 5\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg> Previous\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3 d-flex flex-column flex-md-row flex-md-stack pt-3 container-fluid\">\r\n <div class=\"text-gray-900 order-2 order-md-1 ms-10\">\r\n <span class=\"me-1 copy\">\u00A9 2024 </span>\r\n <a target=\"_blank\" href=\"https://tangoeye.ai\" class=\"footer\">Tango IT Solutions India Pvt Ltd</a>\r\n </div>\r\n <ul class=\"menu menu-gray-600 menu-hover-primary fw-semibold order-1 me-7\">\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/#aboutus\" class=\"menu-link px-5\">About us</a></li>\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/#contact\" class=\"menu-link px-5\">Contact us</a></li>\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/privacy-policy-2/\" class=\"menu-link px-5\">Privacy & policy</a></li>\r\n </ul>\r\n </div>\r\n</div>\r\n\r\n<div class=\"overlay\" *ngIf=\"popup\">\r\n <div class=\"popup\">\r\n <h3 class=\"fw-bold get-touch my-5\">Get In Touch</h3>\r\n <div class=\"fw-normal get-sub mb-5\">Have questions? We\u2019re here to help. Send us a message, and we\u2019ll respond\r\n within\r\n 24 hours.</div>\r\n <div class=\"notice d-flex bg-light-primary rounded border-primary cursor-pointer my-4\"\r\n (click)=\"checkvalue('time')\" [ngClass]=\"timevalue === 'time'? 'touch-primary':'untouch-primary'\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 36 36\" fill=\"none\" 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\" stroke-width=\"4\" />\r\n <path d=\"M25.3332 14.6663L20.6665 17.9997L25.3332 21.333V14.6663Z\" stroke=\"#00A3FF\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M19.3332 13.333H11.9998C11.2635 13.333 10.6665 13.93 10.6665 14.6663V21.333C10.6665 22.0694 11.2635 22.6663 11.9998 22.6663H19.3332C20.0695 22.6663 20.6665 22.0694 20.6665 21.333V14.6663C20.6665 13.93 20.0695 13.333 19.3332 13.333Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <div class=\"d-flex flex-stack flex-grow-1 flex-wrap flex-md-nowrap\">\r\n <div class=\"mb-3 mb-md-0 \">\r\n <h4 class=\"fw-semibold\" [ngClass]=\"timevalue === 'time'? 'video-title':'untouch-title'\">Schedule\r\n with\r\n Calendly</h4>\r\n <div class=\"fw-normal pe-7\" [ngClass]=\"timevalue === 'time'? 'video-sub':'untouch-sub'\">Choose your\r\n time\r\n slot in the next step.</div>\r\n </div><span *ngIf=\"timevalue ==='time'\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"#00A3FF\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#00A3FF\" />\r\n <path d=\"M11.3332 5.5L6.74984 10.0833L4.6665 8\" stroke=\"white\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <span *ngIf=\"timevalue !=='time'\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"white\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n </svg></span>\r\n\r\n </div>\r\n </div>\r\n <div class=\"notice d-flex bg-light-primary rounded border-primary cursor-pointer my-4\"\r\n (click)=\"checkvalue('call back')\" [ngClass]=\"timevalue === 'call back'? 'touch-primary':'untouch-primary'\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 36 36\" fill=\"none\" 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\" stroke-width=\"4\" />\r\n <g clip-path=\"url(#clip0_1731_70116)\">\r\n <path\r\n d=\"M24.6665 21.2797V23.2797C24.6672 23.4654 24.6292 23.6492 24.5548 23.8193C24.4804 23.9894 24.3713 24.1421 24.2345 24.2676C24.0977 24.3932 23.9362 24.4887 23.7603 24.5482C23.5844 24.6077 23.398 24.6298 23.2131 24.6131C21.1617 24.3902 19.1911 23.6892 17.4598 22.5664C15.849 21.5428 14.4834 20.1772 13.4598 18.5664C12.3331 16.8272 11.632 14.8471 11.4131 12.7864C11.3965 12.6021 11.4184 12.4162 11.4775 12.2408C11.5365 12.0654 11.6315 11.9042 11.7563 11.7675C11.8811 11.6308 12.033 11.5215 12.2023 11.4468C12.3716 11.372 12.5547 11.3332 12.7398 11.3331H14.7398C15.0633 11.3299 15.377 11.4445 15.6223 11.6554C15.8676 11.8664 16.0278 12.1594 16.0731 12.4797C16.1575 13.1198 16.3141 13.7482 16.5398 14.3531C16.6295 14.5917 16.6489 14.851 16.5957 15.1003C16.5426 15.3496 16.419 15.5785 16.2398 15.7597L15.3931 16.6064C16.3422 18.2754 17.7241 19.6574 19.3931 20.6064L20.2398 19.7597C20.4211 19.5805 20.6499 19.457 20.8992 19.4038C21.1485 19.3506 21.4078 19.37 21.6465 19.4597C22.2513 19.6854 22.8797 19.842 23.5198 19.9264C23.8436 19.9721 24.1394 20.1352 24.3508 20.3847C24.5622 20.6343 24.6746 20.9528 24.6665 21.2797Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1731_70116\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(10 10)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div class=\"d-flex flex-stack flex-grow-1 flex-wrap flex-md-nowrap\">\r\n <div class=\"mb-3 mb-md-0 \">\r\n <h4 class=\"fw-semibold\" [ngClass]=\"timevalue === 'call back'? 'video-title':'untouch-title'\">Request\r\n a\r\n call back</h4>\r\n <div class=\"fw-normal pe-7\" [ngClass]=\"timevalue === 'call back'? 'video-title':'untouch-sub'\">We\u2019ll\r\n call\r\n you on +<span>{{aboutFormData?.countryCode}}</span> {{aboutFormData?.mobileNumber}}</div>\r\n </div><span *ngIf=\"timevalue ==='time'\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"white\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n </svg></span>\r\n <span *ngIf=\"timevalue !=='time'\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"#00A3FF\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#00A3FF\" />\r\n <path d=\"M11.3332 5.5L6.74984 10.0833L4.6665 8\" stroke=\"white\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"timevalue === 'call back'\">\r\n\r\n <h3 class=\"title-val fw-semibold my-3\">Select Preferred Timing (IST)</h3>\r\n <div class=\"btn-group\" role=\"group\" aria-label=\"Basic example\">\r\n <button [ngClass]=\"callbackPreferredTiming === '9am -12pm' ? 'popup-tab-selected': ''\" (click)=\"callbackPreferredTiming = '9am -12pm'\" type=\"button\" class=\"btn btn-secondary\">9am -12pm</button>\r\n <button [ngClass]=\"callbackPreferredTiming === '12pm - 5pm' ? 'popup-tab-selected': ''\" (click)=\"callbackPreferredTiming = '12pm - 5pm'\" type=\"button\" class=\"btn btn-secondary\">12pm - 5pm</button>\r\n <button [ngClass]=\"callbackPreferredTiming === '5pm - 8pm' ? 'popup-tab-selected': ''\" (click)=\"callbackPreferredTiming = '5pm - 8pm'\" type=\"button\" class=\"btn btn-secondary\">5pm - 8pm</button>\r\n </div>\r\n <h5 class=\"title-sub fw-normal my-3\">We'll call you back in next 24 business hours</h5>\r\n <textarea [formControl]=\"callbackDescription\" class=\"form-control text-area fw-normal\" placeholder=\"Be more specific...\" row=\"2\"></textarea>\r\n\r\n </div>\r\n <div class=\"row mt-10 mb-7\">\r\n <div class=\"col-md-6\">\r\n <button class=\"btn btn-default fw-bold w-100\" (click)=\"close()\">Cancel</button>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <button class=\"btn btn-primary submit fw-bold w-100\" (click)=\"submitvalue()\">Confirm</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"overlay\" *ngIf=\"requestpopup\">\r\n <div class=\"popup\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Featured icon\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#DAF1FF\"/>\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#EAF8FF\" stroke-width=\"8\"/>\r\n <g id=\"Check icon\">\r\n <rect x=\"16\" y=\"16\" width=\"24\" height=\"24\" rx=\"10\" fill=\"#DAF1FF\"/>\r\n <g id=\"Icon\">\r\n <mask id=\"path-3-inside-1_4346_82646\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M33.0965 23.3897L25.9365 30.2997L24.0365 28.2697C23.6865 27.9397 23.1365 27.9197 22.7365 28.1997C22.3465 28.4897 22.2365 28.9997 22.4765 29.4097L24.7265 33.0697C24.9465 33.4097 25.3265 33.6197 25.7565 33.6197C26.1665 33.6197 26.5565 33.4097 26.7765 33.0697C27.1365 32.5997 34.0065 24.4097 34.0065 24.4097C34.9065 23.4897 33.8165 22.6797 33.0965 23.3797V23.3897Z\"/>\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M33.0965 23.3897L25.9365 30.2997L24.0365 28.2697C23.6865 27.9397 23.1365 27.9197 22.7365 28.1997C22.3465 28.4897 22.2365 28.9997 22.4765 29.4097L24.7265 33.0697C24.9465 33.4097 25.3265 33.6197 25.7565 33.6197C26.1665 33.6197 26.5565 33.4097 26.7765 33.0697C27.1365 32.5997 34.0065 24.4097 34.0065 24.4097C34.9065 23.4897 33.8165 22.6797 33.0965 23.3797V23.3897Z\" fill=\"#33B5FF\" stroke=\"#00A3FF\" stroke-width=\"4\" mask=\"url(#path-3-inside-1_4346_82646)\"/>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n \r\n <h3 class=\"fw-bold get-touch my-5\">Thanks for your request!</h3>\r\n <div class=\"fw-normal get-sub mb-5\">Our team will get back to you shortly. Meanwhile explore more about us.\r\n </div>\r\n <div class=\"row mt-10 mb-7\">\r\n <div class=\"col-md-12\">\r\n <button class=\"btn btn-primary fw-bold w-100\" (click)=\"continuesignup()\">Continue Signing Up</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".bubble{position:fixed;top:0;right:3%}.activeClass{padding:8px 12px!important;gap:8px!important;border-radius:6px!important;background:var(--Primary-25, #F6FCFF)!important;padding:8px 12px;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a!important}.activeClass .store-primary{color:var(--Gray-700, #344054)!important;font-size:16px!important;font-weight:600;line-height:24px}.bg-gray{padding:4px!important;gap:36px!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important;background:var(--Gray-50, #F9FAFB)!important}.text-color{color:var(--Gray-500, #667085)!important;font-size:16px!important;font-weight:600!important;line-height:24px}.heading{color:#000!important;font-size:20px!important;font-weight:600!important;line-height:30px}.textval{color:var(--Gray-500, #2654b9)!important}.border-store{width:32px;height:32px;padding:8px;border-radius:28px!important;background:var(--Primary-100, #DAF1FF)!important}.gap-16px{display:flex;height:40px;padding:16px;align-items:center;gap:4px;border-radius:8px;border:1px solid var(--Primary-300, #6BCAFF);background:var(--Primary-50, #EAF8FF)}.featareaval{color:var(--Primary-800, #008EDF)!important;font-size:14px;font-weight:500;line-height:20px}.bg-light{padding:24px!important;border-radius:8px;border:1px solid var(--Gray-100, #F2F4F7)!important;background:var(--Gray-25, #FCFCFD)!important;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a}.price-head{color:var(--Gray-900, #101828)!important;font-size:24px!important;font-weight:600!important;line-height:32px}.price-sub-head{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.period{color:var(--Gray-500, #667085)!important;font-size:16px!important;font-weight:400!important;line-height:24px}.plan-sub{color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:400!important;line-height:18px}.plan-head{color:var(--Gray-700, #344054)!important;font-size:12px!important;font-weight:500;line-height:18px}.fs-14px{font-size:14px!important;line-height:20px!important}.text-container{position:relative}.top-right{position:absolute;top:68px;left:173px;font-size:18px}.btn-margin{color:var(--White, #FFF)!important;font-size:12px!important;font-weight:600!important;line-height:18px;padding:6px 11px!important;border-radius:4px!important;background:var(--Primary-700, #009BF3)!important}.h-239px{height:239px}.button-size{color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;padding:10px 16px!important}.form-check-input:checked{border-color:#009bf3;border-radius:12px;background-color:var(--Primary-600, #00A3FF)!important}@media (min-width: 1396px) and (max-width: 1440px){.plan-sub{color:var(--Gray-500, #667085)!important;font-size:10px!important;font-weight:400!important;line-height:18px}}@media (min-width: 1920px) and (max-width: 2100px){.top-right{left:272px}}@media (min-width: 1745px) and (max-width: 1910px){.top-right{left:225px}}@media (min-width: 1706px) and (max-width: 1744px){.top-right{left:216px}}@media (min-width: 1430px) and (max-width: 1439px){.top-right{left:158px}}@media (min-width: 1396px) and (max-width: 1410px){.top-right{left:148px}}@media (min-width: 1410px) and (max-width: 1430px){.top-right{left:153px}}@media (min-width: 1439px) and (max-width: 1475px){.top-right{left:162px}}@media (min-width: 1475px) and (max-width: 1500px){.top-right{left:165px}}@media (min-width: 1547px) and (max-width: 1600px){.top-right{left:189px}}@media (min-width: 1600px) and (max-width: 1635px){.top-right{left:199px}}@media (min-width: 1635px) and (max-width: 1675px){.top-right{left:209px}}@media (min-width: 2160px) and (max-width: 2560px){.top-right{left:438px}}.activePlanBtn{border-radius:6px;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a!important;color:var(--Gray-700, #344054);font-size:14px!important;font-weight:500!important;line-height:20px}.inactivePlanBtn{color:var(--Gray-500, #667085)!important;font-size:14px;font-weight:500!important;line-height:20px}.nav-group{background:var(--Gray-50, #F9FAFB)!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important}.freeplan{padding:24px!important;border-radius:8px!important;border:1px solid var(--Primary-100, #DAF1FF)!important;background:var(--Primary-25, #F6FCFF)!important;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a!important;width:100%}.text-val{color:var(--Primary-700, #009BF3)!important;font-size:24px!important;font-weight:600!important;line-height:32px}.text-set{color:var(--Primary-700, #009BF3)!important;font-size:18px!important;font-weight:600!important;line-height:32px;text-decoration-line:line-through!important}.btn-set{color:var(--Primary-700, #009BF3)!important;font-size:16px!important;font-weight:600!important;line-height:24px;border-radius:8px;border:1px solid var(--Primary-50, #EAF8FF)!important;background:var(--Primary-50, #EAF8FF)!important;box-shadow:0 1px 2px #1018280d!important}.life-title{color:var(--Primary-700, #009BF3)!important;text-align:center;font-size:12px!important;line-height:18px;padding:2px 8px!important;border-radius:16px!important;background:var(--Primary-50, #EAF8FF)!important}.get-touch{color:var(--Gray-900, #101828);font-size:18px;line-height:28px}.get-sub{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.touch-primary{padding:16px;border-radius:8px!important;border:1px solid var(--Primary-300, #6BCAFF)!important;background:var(--Primary-50, #EAF8FF)!important}.video-title{color:var(--Primary-800, #008EDF);font-size:14px;line-height:20px}.video-sub{color:var(--Primary-600, #00A3FF);font-size:14px;line-height:20px}.untouch-primary{padding:16px!important;border-radius:8px!important;border:1px solid var(--Gray-200, #EAECF0)!important;background:var(--White, #FFF)!important}.untouch-title{color:var(--Gray-700, #344054)!important;font-size:14px!important;line-height:20px}.untouch-sub{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:16px!important;line-height:24px;text-transform:capitalize}.btn-primary.submit{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:16px!important;line-height:24px;text-transform:capitalize}.btn-group{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;box-shadow:0 1px 2px #1018280d!important}.btn-secondary{border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important}.btn-check:checked+.btn.btn-secondary,.btn-check:active+.btn.btn-secondary,.btn.btn-secondary:focus:not(.btn-active),.btn.btn-secondary:hover:not(.btn-active),.btn.btn-secondary:active:not(.btn-active),.btn.btn-secondary.active,.btn.btn-secondary.show,.show>.btn.btn-secondary{background-color:var(--Gray-50, #F9FAFB)!important}.title-val{color:var(--Gray-700, #344054);font-size:14px;line-height:20px}.title-sub{color:var(--Primary-500, #33B5FF);font-size:12px;line-height:19.5px}.text-area{color:var(--Gray-500, #667085)!important;font-size:16px!important;line-height:24px!important}.overlay{position:fixed;inset:0;background:#6e6e6eb3;transition:opacity .5s;visibility:visible;opacity:1}.popup{position:absolute;left:62%;top:50%;transform:translate(-50%,-50%);padding:24px;background:var(--White, #FFF);box-shadow:0 8px 8px -4px #10182808,0 20px 24px -4px #10182814;border-radius:12px;width:480px;position:relative;transition:all 5s ease-in-out}.popup h2{margin-top:0;color:#333;font-family:Tahoma,Arial,sans-serif}.popup .close{position:absolute;transition:all .2s;font-size:30px;font-weight:700;text-decoration:none;color:#333}.popup .close:hover{color:#06d85f;cursor:pointer}.popup .content{max-height:30%;overflow:auto}.popup-tab-selected{background-color:#eaf8ff!important;color:#008edf!important}.copy,.footer{color:#7e8299!important;font-size:16px!important;font-weight:500!important}.footer:hover{color:#1b84ff!important}.line-height{line-height:32px!important}.disabled{opacity:.5;pointer-events:none}.btn-check:checked+.btn.btn-secondary,.btn-check:active+.btn.btn-secondary,.btn.btn-secondary:focus:not(.btn-active),.btn.btn-secondary:active:not(.btn-active),.btn.btn-secondary.active,.btn.btn-secondary.show,.show>.btn.btn-secondary{background-color:#eaf8ff!important;color:#008edf!important}.inActiveClass{padding:8px 12px!important}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
386
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: Step2Component, selector: "lib-step2", ngImport: i0, template: "<div class=\"card mt-10 mx-15\">\r\n <div class=\"h-100 px-5 mx-5 mt-7\">\r\n <!-- <img class=\"bubble\" src=\"./assets/tango/Icons/Signup-bubble-icon.svg\"\r\n alt=\"\" srcset=\"\"> -->\r\n\r\n <div class=\"d-flex flex-column beforeChoosing my-12\">\r\n <h1 class=\"heading mb-5\">How many stores do you have?</h1>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-9 col-xl-8 col-xxl-8 w-auto\">\r\n <div class=\"d-flex align-items-center bg-gray\">\r\n <div class=\"d-flex align-items-center justify-content-center inActiveClass cursor-pointer \"\r\n *ngFor=\"let count of storeCounts\" (click)=\"activeStoreCount(count)\" \r\n [class.activeClass]=\"count.active\">\r\n <div class=\"d-flex align-items-center mx-2\">\r\n <div class=\"fs-4 fw-bold\" [ngClass]=\"count.active === true? 'store-primary':'text-color'\">{{ count.text }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"storedetials\">\r\n <h2 class=\"heading mt-10 mb-5 \">What's the average size of your store?</h2>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-12 col-xl-12 col-xxl-12 w-auto\">\r\n <div class=\"d-flex align-items-center bg-gray\">\r\n <div class=\"d-flex align-items-center justify-content-center inActiveClass cursor-pointer\"\r\n [class.activeClass]=\"i.active\" [class.disabled]=\"i.disabled\" *ngFor=\"let i of featAreaOptions\"\r\n (click)=\"activefeatArea(i)\">\r\n <div class=\"d-flex align-items-center mx-2\">\r\n <div class=\"fs-4 fw-bold\" [ngClass]=\"i.active === true? 'store-primary':'text-color'\">{{ i.text }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"featAreaCamera\" class=\"notice d-flex mt-5\">\r\n <div class=\"d-flex justify-content-center align-items-center gap-16px\">\r\n <span class=\"border-store\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M1.3335 9.66667L8.00016 13L14.6668 9.66667M8.00016 3L1.3335 6.33333L8.00016 9.66667L14.6668 6.33333L8.00016 3Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <div class=\"featareaval ms-4\">Maximum {{featAreaCamera}} Cameras are permitted in stores with\r\n square feet between\r\n {{featArea}}.</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"pricevalue\">\r\n <div class=\"card-body px-0 mt-10\">\r\n <!--begin::Plans-->\r\n <div class=\"d-flex flex-column\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-10 text-start\">\r\n <h1 class=\"heading mb-5\">Plan Details</h1>\r\n </div>\r\n <!--end::Heading-->\r\n\r\n <!--begin::Nav group-->\r\n <div class=\"nav-group nav-group-outline mx-auto mb-15\">\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3 me-2\"\r\n [ngClass]=\"plan === 'monthly'? 'activePlanBtn':'inactivePlanBtn'\" data-kt-plan=\"month\"\r\n (click)=\"selectPlan('monthly')\">\r\n Monthly\r\n </button>\r\n\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3\"\r\n [ngClass]=\"plan === 'quarterly'? 'activePlanBtn':'inactivePlanBtn'\"\r\n data-kt-plan=\"Quarterly\" (click)=\"selectPlan('quarterly')\">\r\n Quarterly - 10%\r\n </button>\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3\"\r\n [ngClass]=\"plan === 'annual'? 'activePlanBtn':'inactivePlanBtn'\" data-kt-plan=\"annual\"\r\n (click)=\"selectPlan('annual')\">\r\n Annual - 15%\r\n </button>\r\n </div>\r\n <!--end::Nav group-->\r\n\r\n <!--begin::Row-->\r\n <div class=\"row g-10\">\r\n <!--begin::Col-->\r\n <div class=\"col-md-6 col-lg-4 col-xl-4 col-xxl-4 h-100\">\r\n <div class=\"d-flex align-items-center\">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-start rounded-3 py-15 px-10\"\r\n [ngClass]=\"countOfStore === '1'? 'freeplan':'bg-light'\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 text-start\">\r\n <!--begin::Title-->\r\n <h1 class=\"price-head mb-5\">Free <span\r\n class=\"life-title fw-semibold mx-2\">Lifetime</span></h1>\r\n <!--end::Title-->\r\n\r\n <!--begin::Description-->\r\n <div class=\"price-sub-head mb-5\">\r\n Integrated Solution for single store owners\r\n </div>\r\n <!--end::Description-->\r\n\r\n <!--begin::Price-->\r\n <div class=\"text-start \">\r\n <span class=\"mb-2 text-primary text-val ms-1\" *ngIf=\"this.aboutFormData.countryCode==='91'\">\u20B9</span>\r\n <span class=\"mb-2 text-primary text-val ms-1\" *ngIf=\"this.aboutFormData.countryCode !=='91'\">$</span>\r\n <span class=\"fs-3x fw-bold text-primary text-val\">0 </span>\r\n </div>\r\n <!--end::Price-->\r\n <div class=\"fw-semibold\">\r\n <span class=\"period\">per store per month</span>\r\n </div>\r\n </div>\r\n <!--end::Heading-->\r\n\r\n <!--begin::Features-->\r\n <div class=\"w-100\">\r\n <div class=\"d-flex flex-stack mb-10\"><span\r\n class=\"plan-head me-2 fs-14px\">Tango Traffic</span>\r\n <div class=\"form-check form-switch\">\r\n <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\"\r\n id=\"tangotraffic\" checked=\"\" disabled=\"\">\r\n\r\n </div>\r\n </div>\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-center mb-10\">\r\n <span class=\"plan-head\">\r\n To accurately measure traffic and map shopper\u2019s in-store journey\r\n </span>\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"plan-sub \">\r\n Footfall Analysis </span>\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"plan-sub \">\r\n Bounced vs Engager Analysis </span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"plan-sub \">\r\n Missed Opportunity Vs Conversion Rate </span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"plan-sub \">\r\n Footfall Image Directory by the hour. </span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n\r\n\r\n\r\n </div>\r\n <!--end::Features-->\r\n <!--begin::Select-->\r\n <button [disabled]=\"selectedCounts.value !== '1'\" class=\"btn btn-sm btn-primary w-100 button-size\"\r\n (click)=\"plandet('free')\">Get Started</button>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n <!--end::Col-->\r\n <!--begin::Col-->\r\n <div class=\"col-md-6 col-lg-4 col-xl-4 col-xxl-4 h-100\">\r\n <div class=\"d-flex align-items-center\">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-start rounded-3 text-container py-15 px-10\"\r\n [ngClass]=\"countOfStore === '2-25' || countOfStore === '26-50' || countOfStore === '26-50' || countOfStore === '51-75' || countOfStore === '76-100'? 'freeplan':'bg-light'\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 text-start text-container\">\r\n <!--begin::Title-->\r\n <h1 class=\"price-head mb-5\">Premium</h1>\r\n <!--end::Title-->\r\n\r\n <!--begin::Description-->\r\n <div class=\"price-sub-head mb-5\">\r\n Integrated Solution for Growing Business\r\n </div>\r\n <!--end::Description-->\r\n <button\r\n class=\"top-right btn-margin btn btn-lg btn-primary btn-height py-1 cursor-auto mt-3\">Recommended</button>\r\n <!--begin::Price-->\r\n <div class=\"text-start mt-15\">\r\n <span class=\"price-sub-head\">Starts from</span>\r\n <span class=\"mb-2 text-primary text-val ms-1\" *ngIf=\"this.aboutFormData.countryCode==='91'\">\u20B9</span>\r\n <span class=\"mb-2 text-primary text-val ms-1\" *ngIf=\"this.aboutFormData.countryCode !=='91'\">$</span>\r\n <span class=\"pricecodesize\" *ngIf=\"pricingData?.OriginalPrice!==pricingData?.price\" ><b\r\n class=\"pricecodecolor text-set mx-2\"> {{pricingData?.OriginalPrice}}\r\n </b>\r\n </span>\r\n <span class=\"fs-3x fw-bold text-primary text-val\">{{pricingData?.price}}</span>\r\n </div>\r\n <!--end::Price-->\r\n <div class=\"fw-semibold\">\r\n <span class=\"period\">per store per month</span>\r\n </div>\r\n </div>\r\n <!--end::Heading-->\r\n <form [formGroup]=\"productForm\" action=\"\" class=\"w-100 mb-3\">\r\n <!--begin::Features-->\r\n <div class=\"w-100\">\r\n <!--begin::Item-->\r\n <div class=\"d-flex flex-stack mt-10 mb-5\"><span\r\n class=\"plan-head me-2 fs-14px line-height\"\r\n (click)=\"showViewMore('traffic')\">Tango Traffic\r\n <span class=\"ms-1 cursor-pointer\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"13\"\r\n height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8686)\">\r\n <path\r\n d=\"M6 8.16699V6.16699M6 4.16699H6.005M11 6.16699C11 8.92842 8.76142 11.167 6 11.167C3.23858 11.167 1 8.92842 1 6.16699C1 3.40557 3.23858 1.16699 6 1.16699C8.76142 1.16699 11 3.40557 11 6.16699Z\"\r\n stroke=\"#98A2B3\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8686\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"\r\n transform=\"translate(0 0.166992)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n <div class=\"form-check form-switch\">\r\n <input (change)=\"onPriceChange('tangotraffic')\" [ngClass]=\"checkIfAtleastOneSelected('tangoTraffic') || productForm.get('tangoZone')?.value ? 'pe-none' : ''\" formControlName=\"tangoTraffic\" class=\"form-check-input\"\r\n type=\"checkbox\" role=\"switch\" id=\"tangotraffic\" checked=\"\">\r\n </div>\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex flex-stack mb-5\"><span class=\"plan-head me-2 fs-14px line-height\"\r\n (click)=\"showViewMore('zone')\">Tango Zone\r\n <span class=\"ms-1 cursor-pointer\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"13\"\r\n height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8686)\">\r\n <path\r\n d=\"M6 8.16699V6.16699M6 4.16699H6.005M11 6.16699C11 8.92842 8.76142 11.167 6 11.167C3.23858 11.167 1 8.92842 1 6.16699C1 3.40557 3.23858 1.16699 6 1.16699C8.76142 1.16699 11 3.40557 11 6.16699Z\"\r\n stroke=\"#98A2B3\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8686\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"\r\n transform=\"translate(0 0.166992)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n <div class=\"form-check form-switch\">\r\n <input (change)=\"onPriceChange('tangozone'); productForm.get('tangoZone')?.value ? productForm.get('tangoTraffic')?.setValue(true) : null\" [ngClass]=\"checkIfAtleastOneSelected('tangoZone') ? 'pe-none' : ''\" formControlName=\"tangoZone\" class=\"form-check-input\"\r\n type=\"checkbox\" role=\"switch\" id=\"tangozone\" checked=\"\">\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-stack mb-20\"><span class=\"plan-head me-2 fs-14px line-height\"\r\n (click)=\"showViewMore('sop')\">Tango Trax\r\n <span class=\"ms-1 cursor-pointer\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"13\"\r\n height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8686)\">\r\n <path\r\n d=\"M6 8.16699V6.16699M6 4.16699H6.005M11 6.16699C11 8.92842 8.76142 11.167 6 11.167C3.23858 11.167 1 8.92842 1 6.16699C1 3.40557 3.23858 1.16699 6 1.16699C8.76142 1.16699 11 3.40557 11 6.16699Z\"\r\n stroke=\"#98A2B3\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8686\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"\r\n transform=\"translate(0 0.166992)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n <div class=\"form-check form-switch\">\r\n <input (change)=\"onPriceChange('tangoTrax')\" [ngClass]=\"checkIfAtleastOneSelected('tangoTrax') ? 'pe-none' : ''\" formControlName=\"tangoTrax\" class=\"form-check-input\"\r\n type=\"checkbox\" role=\"switch\" id=\"tangoTrax\" checked=\"\">\r\n\r\n </div>\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <!-- <div class=\"d-flex flex-stack mb-5\"><span class=\"plan-head me-2 fs-14px line-height\"\r\n (click)=\"showViewMore('support')\">Priority Support\r\n <span class=\"ms-1 cursor-pointer\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"13\"\r\n height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8686)\">\r\n <path\r\n d=\"M6 8.16699V6.16699M6 4.16699H6.005M11 6.16699C11 8.92842 8.76142 11.167 6 11.167C3.23858 11.167 1 8.92842 1 6.16699C1 3.40557 3.23858 1.16699 6 1.16699C8.76142 1.16699 11 3.40557 11 6.16699Z\"\r\n stroke=\"#98A2B3\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8686\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"\r\n transform=\"translate(0 0.166992)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n <div class=\"form-check form-switch\">\r\n <input (change)=\"onPriceChange()\" formControlName=\"prioritySupport\"\r\n class=\"form-check-input\" type=\"checkbox\" role=\"switch\"\r\n id=\"support\" checked=\"\">\r\n\r\n </div>\r\n </div> -->\r\n <!--end::Item-->\r\n\r\n\r\n </div>\r\n <!--end::Features-->\r\n </form>\r\n\r\n\r\n <!--begin::Select-->\r\n <button class=\"btn btn-sm btn-primary button-size w-100\"\r\n (click)=\"plandet('premium')\">Start 14 day trial</button>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n <!--end::Col-->\r\n <!--begin::Col-->\r\n <div class=\"col-md-6 col-lg-4 col-xl-4 col-xxl-4 h-100\">\r\n <div class=\"d-flex align-items-center\">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-start rounded-3 py-15 px-10\"\r\n [ngClass]=\"countOfStore === '101-150'? 'freeplan':'bg-light'\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 text-start\">\r\n <!--begin::Title-->\r\n <h1 class=\"price-head mb-5\">Enterprise</h1>\r\n <!--end::Title-->\r\n\r\n <!--begin::Description-->\r\n <div class=\"price-sub-head mb-5\">\r\n Integrated Solutions for Larger Business\r\n </div>\r\n <!--end::Description-->\r\n\r\n <!--begin::Price-->\r\n <div class=\"text-start mt-12\">\r\n\r\n <span class=\"fs-3x fw-bold text-primary text-val\">\r\n Let\u2019s Talk!</span>\r\n\r\n </div>\r\n <!--end::Price-->\r\n </div>\r\n <!--end::Heading-->\r\n\r\n <!--begin::Features-->\r\n <div class=\"w-100 h-239px mb-10\">\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"price-sub-head fw-semibold \">\r\n Do you have more than 100 stores?</span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"price-sub-head fw-semibold \">\r\n Rest assured, our dedicated account managers are here to support you\r\n every\r\n step of the way.</span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n\r\n\r\n </div>\r\n <!--end::Features-->\r\n\r\n <!--begin::Select-->\r\n <button class=\"btn btn-sm btn-primary button-size w-100\"\r\n (click)=\"plandet('enterprise')\">Request Call Back</button>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n <!--end::Col-->\r\n </div>\r\n <!--end::Row-->\r\n </div>\r\n <!--end::Plans-->\r\n </div>\r\n </div>\r\n <div class=\"row mt-12\">\r\n <div class=\"col-md-2\">\r\n <button type=\"button\" class=\"btn btn-lg text-nowrap btn-set me-5\" (click)=\"prevStep()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13 15L8 10L13 5\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg> Previous\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3 d-flex flex-column flex-md-row flex-md-stack pt-3 container-fluid\">\r\n <div class=\"text-gray-900 order-2 order-md-1 ms-10\">\r\n <span class=\"me-1 copy\">\u00A9 2024 </span>\r\n <a target=\"_blank\" href=\"https://tangoeye.ai\" class=\"footer\">Tango IT Solutions India Pvt Ltd</a>\r\n </div>\r\n <ul class=\"menu menu-gray-600 menu-hover-primary fw-semibold order-1 me-7\">\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/#aboutus\" class=\"menu-link px-5\">About us</a></li>\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/#contact\" class=\"menu-link px-5\">Contact us</a></li>\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/privacy-policy-2/\" class=\"menu-link px-5\">Privacy & policy</a></li>\r\n </ul>\r\n </div>\r\n</div>\r\n\r\n<div class=\"overlay\" *ngIf=\"popup\">\r\n <div class=\"popup\">\r\n <h3 class=\"fw-bold get-touch my-5\">Get In Touch</h3>\r\n <div class=\"fw-normal get-sub mb-5\">Have questions? We\u2019re here to help. Send us a message, and we\u2019ll respond\r\n within\r\n 24 hours.</div>\r\n <div class=\"notice d-flex bg-light-primary rounded border-primary cursor-pointer my-4\"\r\n (click)=\"checkvalue('time')\" [ngClass]=\"timevalue === 'time'? 'touch-primary':'untouch-primary'\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 36 36\" fill=\"none\" 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\" stroke-width=\"4\" />\r\n <path d=\"M25.3332 14.6663L20.6665 17.9997L25.3332 21.333V14.6663Z\" stroke=\"#00A3FF\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M19.3332 13.333H11.9998C11.2635 13.333 10.6665 13.93 10.6665 14.6663V21.333C10.6665 22.0694 11.2635 22.6663 11.9998 22.6663H19.3332C20.0695 22.6663 20.6665 22.0694 20.6665 21.333V14.6663C20.6665 13.93 20.0695 13.333 19.3332 13.333Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <div class=\"d-flex flex-stack flex-grow-1 flex-wrap flex-md-nowrap\">\r\n <div class=\"mb-3 mb-md-0 \">\r\n <h4 class=\"fw-semibold\" [ngClass]=\"timevalue === 'time'? 'video-title':'untouch-title'\">Schedule\r\n with\r\n Calendly</h4>\r\n <div class=\"fw-normal pe-7\" [ngClass]=\"timevalue === 'time'? 'video-sub':'untouch-sub'\">Choose your\r\n time\r\n slot in the next step.</div>\r\n </div><span *ngIf=\"timevalue ==='time'\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"#00A3FF\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#00A3FF\" />\r\n <path d=\"M11.3332 5.5L6.74984 10.0833L4.6665 8\" stroke=\"white\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <span *ngIf=\"timevalue !=='time'\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"white\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n </svg></span>\r\n\r\n </div>\r\n </div>\r\n <div class=\"notice d-flex bg-light-primary rounded border-primary cursor-pointer my-4\"\r\n (click)=\"checkvalue('call back')\" [ngClass]=\"timevalue === 'call back'? 'touch-primary':'untouch-primary'\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 36 36\" fill=\"none\" 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\" stroke-width=\"4\" />\r\n <g clip-path=\"url(#clip0_1731_70116)\">\r\n <path\r\n d=\"M24.6665 21.2797V23.2797C24.6672 23.4654 24.6292 23.6492 24.5548 23.8193C24.4804 23.9894 24.3713 24.1421 24.2345 24.2676C24.0977 24.3932 23.9362 24.4887 23.7603 24.5482C23.5844 24.6077 23.398 24.6298 23.2131 24.6131C21.1617 24.3902 19.1911 23.6892 17.4598 22.5664C15.849 21.5428 14.4834 20.1772 13.4598 18.5664C12.3331 16.8272 11.632 14.8471 11.4131 12.7864C11.3965 12.6021 11.4184 12.4162 11.4775 12.2408C11.5365 12.0654 11.6315 11.9042 11.7563 11.7675C11.8811 11.6308 12.033 11.5215 12.2023 11.4468C12.3716 11.372 12.5547 11.3332 12.7398 11.3331H14.7398C15.0633 11.3299 15.377 11.4445 15.6223 11.6554C15.8676 11.8664 16.0278 12.1594 16.0731 12.4797C16.1575 13.1198 16.3141 13.7482 16.5398 14.3531C16.6295 14.5917 16.6489 14.851 16.5957 15.1003C16.5426 15.3496 16.419 15.5785 16.2398 15.7597L15.3931 16.6064C16.3422 18.2754 17.7241 19.6574 19.3931 20.6064L20.2398 19.7597C20.4211 19.5805 20.6499 19.457 20.8992 19.4038C21.1485 19.3506 21.4078 19.37 21.6465 19.4597C22.2513 19.6854 22.8797 19.842 23.5198 19.9264C23.8436 19.9721 24.1394 20.1352 24.3508 20.3847C24.5622 20.6343 24.6746 20.9528 24.6665 21.2797Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1731_70116\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(10 10)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div class=\"d-flex flex-stack flex-grow-1 flex-wrap flex-md-nowrap\">\r\n <div class=\"mb-3 mb-md-0 \">\r\n <h4 class=\"fw-semibold\" [ngClass]=\"timevalue === 'call back'? 'video-title':'untouch-title'\">Request\r\n a\r\n call back</h4>\r\n <div class=\"fw-normal pe-7\" [ngClass]=\"timevalue === 'call back'? 'video-title':'untouch-sub'\">We\u2019ll\r\n call\r\n you on +<span>{{aboutFormData?.countryCode}}</span> {{aboutFormData?.mobileNumber}}</div>\r\n </div><span *ngIf=\"timevalue ==='time'\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"white\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n </svg></span>\r\n <span *ngIf=\"timevalue !=='time'\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"#00A3FF\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#00A3FF\" />\r\n <path d=\"M11.3332 5.5L6.74984 10.0833L4.6665 8\" stroke=\"white\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"timevalue === 'call back'\">\r\n\r\n <h3 class=\"title-val fw-semibold my-3\">Select Preferred Timing (IST)</h3>\r\n <div class=\"btn-group\" role=\"group\" aria-label=\"Basic example\">\r\n <button [ngClass]=\"callbackPreferredTiming === '9am -12pm' ? 'popup-tab-selected': ''\" (click)=\"callbackPreferredTiming = '9am -12pm'\" type=\"button\" class=\"btn btn-secondary\">9am -12pm</button>\r\n <button [ngClass]=\"callbackPreferredTiming === '12pm - 5pm' ? 'popup-tab-selected': ''\" (click)=\"callbackPreferredTiming = '12pm - 5pm'\" type=\"button\" class=\"btn btn-secondary\">12pm - 5pm</button>\r\n <button [ngClass]=\"callbackPreferredTiming === '5pm - 8pm' ? 'popup-tab-selected': ''\" (click)=\"callbackPreferredTiming = '5pm - 8pm'\" type=\"button\" class=\"btn btn-secondary\">5pm - 8pm</button>\r\n </div>\r\n <h5 class=\"title-sub fw-normal my-3\">We'll call you back in next 24 business hours</h5>\r\n <textarea [formControl]=\"callbackDescription\" class=\"form-control text-area fw-normal\" placeholder=\"Be more specific...\" row=\"2\"></textarea>\r\n\r\n </div>\r\n <div class=\"row mt-10 mb-7\">\r\n <div class=\"col-md-6\">\r\n <button class=\"btn btn-default fw-bold w-100\" (click)=\"close()\">Cancel</button>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <button class=\"btn btn-primary submit fw-bold w-100\" (click)=\"submitvalue()\">Confirm</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"overlay\" *ngIf=\"requestpopup\">\r\n <div class=\"popup\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Featured icon\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#DAF1FF\"/>\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#EAF8FF\" stroke-width=\"8\"/>\r\n <g id=\"Check icon\">\r\n <rect x=\"16\" y=\"16\" width=\"24\" height=\"24\" rx=\"10\" fill=\"#DAF1FF\"/>\r\n <g id=\"Icon\">\r\n <mask id=\"path-3-inside-1_4346_82646\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M33.0965 23.3897L25.9365 30.2997L24.0365 28.2697C23.6865 27.9397 23.1365 27.9197 22.7365 28.1997C22.3465 28.4897 22.2365 28.9997 22.4765 29.4097L24.7265 33.0697C24.9465 33.4097 25.3265 33.6197 25.7565 33.6197C26.1665 33.6197 26.5565 33.4097 26.7765 33.0697C27.1365 32.5997 34.0065 24.4097 34.0065 24.4097C34.9065 23.4897 33.8165 22.6797 33.0965 23.3797V23.3897Z\"/>\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M33.0965 23.3897L25.9365 30.2997L24.0365 28.2697C23.6865 27.9397 23.1365 27.9197 22.7365 28.1997C22.3465 28.4897 22.2365 28.9997 22.4765 29.4097L24.7265 33.0697C24.9465 33.4097 25.3265 33.6197 25.7565 33.6197C26.1665 33.6197 26.5565 33.4097 26.7765 33.0697C27.1365 32.5997 34.0065 24.4097 34.0065 24.4097C34.9065 23.4897 33.8165 22.6797 33.0965 23.3797V23.3897Z\" fill=\"#33B5FF\" stroke=\"#00A3FF\" stroke-width=\"4\" mask=\"url(#path-3-inside-1_4346_82646)\"/>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n \r\n <h3 class=\"fw-bold get-touch my-5\">Thanks for your request!</h3>\r\n <div class=\"fw-normal get-sub mb-5\">Our team will get back to you shortly. Meanwhile explore more about us.\r\n </div>\r\n <div class=\"row mt-10 mb-7\">\r\n <div class=\"col-md-12\">\r\n <button class=\"btn btn-primary fw-bold w-100\" (click)=\"continuesignup()\">Continue Signing Up</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".bubble{position:fixed;top:0;right:3%}.activeClass{padding:8px 12px!important;gap:8px!important;border-radius:6px!important;background:var(--Primary-25, #F6FCFF)!important;padding:8px 12px;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a!important}.activeClass .store-primary{color:var(--Gray-700, #344054)!important;font-size:16px!important;font-weight:600;line-height:24px}.bg-gray{padding:4px!important;gap:36px!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important;background:var(--Gray-50, #F9FAFB)!important}.text-color{color:var(--Gray-500, #667085)!important;font-size:16px!important;font-weight:600!important;line-height:24px}.heading{color:#000!important;font-size:20px!important;font-weight:600!important;line-height:30px}.textval{color:var(--Gray-500, #2654b9)!important}.border-store{width:32px;height:32px;padding:8px;border-radius:28px!important;background:var(--Primary-100, #DAF1FF)!important}.gap-16px{display:flex;height:40px;padding:16px;align-items:center;gap:4px;border-radius:8px;border:1px solid var(--Primary-300, #6BCAFF);background:var(--Primary-50, #EAF8FF)}.featareaval{color:var(--Primary-800, #008EDF)!important;font-size:14px;font-weight:500;line-height:20px}.bg-light{padding:24px!important;border-radius:8px;border:1px solid var(--Gray-100, #F2F4F7)!important;background:var(--Gray-25, #FCFCFD)!important;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a}.price-head{color:var(--Gray-900, #101828)!important;font-size:24px!important;font-weight:600!important;line-height:32px}.price-sub-head{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.period{color:var(--Gray-500, #667085)!important;font-size:16px!important;font-weight:400!important;line-height:24px}.plan-sub{color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:400!important;line-height:18px}.plan-head{color:var(--Gray-700, #344054)!important;font-size:12px!important;font-weight:500;line-height:18px}.fs-14px{font-size:14px!important;line-height:20px!important}.text-container{position:relative}.top-right{position:absolute;top:68px;left:173px;font-size:18px}.btn-margin{color:var(--White, #FFF)!important;font-size:12px!important;font-weight:600!important;line-height:18px;padding:6px 11px!important;border-radius:4px!important;background:var(--Primary-700, #009BF3)!important}.h-239px{height:239px}.button-size{color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;padding:10px 16px!important}.form-check-input:checked{border-color:#009bf3;border-radius:12px;background-color:var(--Primary-600, #00A3FF)!important}@media (min-width: 1396px) and (max-width: 1440px){.plan-sub{color:var(--Gray-500, #667085)!important;font-size:10px!important;font-weight:400!important;line-height:18px}}@media (min-width: 1920px) and (max-width: 2100px){.top-right{left:272px}}@media (min-width: 1745px) and (max-width: 1910px){.top-right{left:225px}}@media (min-width: 1706px) and (max-width: 1744px){.top-right{left:216px}}@media (min-width: 1430px) and (max-width: 1439px){.top-right{left:158px}}@media (min-width: 1396px) and (max-width: 1410px){.top-right{left:148px}}@media (min-width: 1410px) and (max-width: 1430px){.top-right{left:153px}}@media (min-width: 1439px) and (max-width: 1475px){.top-right{left:162px}}@media (min-width: 1475px) and (max-width: 1500px){.top-right{left:165px}}@media (min-width: 1547px) and (max-width: 1600px){.top-right{left:189px}}@media (min-width: 1600px) and (max-width: 1635px){.top-right{left:199px}}@media (min-width: 1635px) and (max-width: 1675px){.top-right{left:209px}}@media (min-width: 2160px) and (max-width: 2560px){.top-right{left:438px}}.activePlanBtn{border-radius:6px;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a!important;color:var(--Gray-700, #344054);font-size:14px!important;font-weight:500!important;line-height:20px}.inactivePlanBtn{color:var(--Gray-500, #667085)!important;font-size:14px;font-weight:500!important;line-height:20px}.nav-group{background:var(--Gray-50, #F9FAFB)!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important}.freeplan{padding:24px!important;border-radius:8px!important;border:1px solid var(--Primary-100, #DAF1FF)!important;background:var(--Primary-25, #F6FCFF)!important;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a!important;width:100%}.text-val{color:var(--Primary-700, #009BF3)!important;font-size:24px!important;font-weight:600!important;line-height:32px}.text-set{color:var(--Primary-700, #009BF3)!important;font-size:18px!important;font-weight:600!important;line-height:32px;text-decoration-line:line-through!important}.btn-set{color:var(--Primary-700, #009BF3)!important;font-size:16px!important;font-weight:600!important;line-height:24px;border-radius:8px;border:1px solid var(--Primary-50, #EAF8FF)!important;background:var(--Primary-50, #EAF8FF)!important;box-shadow:0 1px 2px #1018280d!important}.life-title{color:var(--Primary-700, #009BF3)!important;text-align:center;font-size:12px!important;line-height:18px;padding:2px 8px!important;border-radius:16px!important;background:var(--Primary-50, #EAF8FF)!important}.get-touch{color:var(--Gray-900, #101828);font-size:18px;line-height:28px}.get-sub{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.touch-primary{padding:16px;border-radius:8px!important;border:1px solid var(--Primary-300, #6BCAFF)!important;background:var(--Primary-50, #EAF8FF)!important}.video-title{color:var(--Primary-800, #008EDF);font-size:14px;line-height:20px}.video-sub{color:var(--Primary-600, #00A3FF);font-size:14px;line-height:20px}.untouch-primary{padding:16px!important;border-radius:8px!important;border:1px solid var(--Gray-200, #EAECF0)!important;background:var(--White, #FFF)!important}.untouch-title{color:var(--Gray-700, #344054)!important;font-size:14px!important;line-height:20px}.untouch-sub{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:16px!important;line-height:24px;text-transform:capitalize}.btn-primary.submit{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:16px!important;line-height:24px;text-transform:capitalize}.btn-group{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;box-shadow:0 1px 2px #1018280d!important}.btn-secondary{border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important}.btn-check:checked+.btn.btn-secondary,.btn-check:active+.btn.btn-secondary,.btn.btn-secondary:focus:not(.btn-active),.btn.btn-secondary:hover:not(.btn-active),.btn.btn-secondary:active:not(.btn-active),.btn.btn-secondary.active,.btn.btn-secondary.show,.show>.btn.btn-secondary{background-color:var(--Gray-50, #F9FAFB)!important}.title-val{color:var(--Gray-700, #344054);font-size:14px;line-height:20px}.title-sub{color:var(--Primary-500, #33B5FF);font-size:12px;line-height:19.5px}.text-area{color:var(--Gray-500, #667085)!important;font-size:16px!important;line-height:24px!important}.overlay{position:fixed;inset:0;background:#6e6e6eb3;transition:opacity .5s;visibility:visible;opacity:1}.popup{position:absolute;left:62%;top:50%;transform:translate(-50%,-50%);padding:24px;background:var(--White, #FFF);box-shadow:0 8px 8px -4px #10182808,0 20px 24px -4px #10182814;border-radius:12px;width:480px;position:relative;transition:all 5s ease-in-out}.popup h2{margin-top:0;color:#333;font-family:Tahoma,Arial,sans-serif}.popup .close{position:absolute;transition:all .2s;font-size:30px;font-weight:700;text-decoration:none;color:#333}.popup .close:hover{color:#06d85f;cursor:pointer}.popup .content{max-height:30%;overflow:auto}.popup-tab-selected{background-color:#eaf8ff!important;color:#008edf!important}.copy,.footer{color:#7e8299!important;font-size:16px!important;font-weight:500!important}.footer:hover{color:#1b84ff!important}.line-height{line-height:32px!important}.disabled{opacity:.5;pointer-events:none}.btn-check:checked+.btn.btn-secondary,.btn-check:active+.btn.btn-secondary,.btn.btn-secondary:focus:not(.btn-active),.btn.btn-secondary:active:not(.btn-active),.btn.btn-secondary.active,.btn.btn-secondary.show,.show>.btn.btn-secondary{background-color:#eaf8ff!important;color:#008edf!important}.inActiveClass{padding:8px 12px!important}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
369
387
  }
370
388
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Step2Component, decorators: [{
371
389
  type: Component,
372
- args: [{ selector: "lib-step2", template: "<div class=\"card mt-10 mx-15\">\r\n <div class=\"h-100 px-5 mx-5 mt-7\">\r\n <!-- <img class=\"bubble\" src=\"./assets/tango/Icons/Signup-bubble-icon.svg\"\r\n alt=\"\" srcset=\"\"> -->\r\n\r\n <div class=\"d-flex flex-column beforeChoosing my-12\">\r\n <h1 class=\"heading mb-5\">How many stores do you have?</h1>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-9 col-xl-8 col-xxl-8 w-auto\">\r\n <div class=\"d-flex align-items-center bg-gray\">\r\n <div class=\"d-flex align-items-center justify-content-center inActiveClass cursor-pointer \"\r\n *ngFor=\"let count of storeCounts\" (click)=\"activeStoreCount(count)\" \r\n [class.activeClass]=\"count.active\">\r\n <div class=\"d-flex align-items-center mx-2\">\r\n <div class=\"fs-4 fw-bold\" [ngClass]=\"count.active === true? 'store-primary':'text-color'\">{{ count.text }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"storedetials\">\r\n <h2 class=\"heading mt-10 mb-5 \">What's the average size of your store?</h2>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-12 col-xl-12 col-xxl-12 w-auto\">\r\n <div class=\"d-flex align-items-center bg-gray\">\r\n <div class=\"d-flex align-items-center justify-content-center inActiveClass cursor-pointer\"\r\n [class.activeClass]=\"i.active\" [class.disabled]=\"i.disabled\" *ngFor=\"let i of featAreaOptions\"\r\n (click)=\"activefeatArea(i)\">\r\n <div class=\"d-flex align-items-center mx-2\">\r\n <div class=\"fs-4 fw-bold\" [ngClass]=\"i.active === true? 'store-primary':'text-color'\">{{ i.text }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"featAreaCamera\" class=\"notice d-flex mt-5\">\r\n <div class=\"d-flex justify-content-center align-items-center gap-16px\">\r\n <span class=\"border-store\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M1.3335 9.66667L8.00016 13L14.6668 9.66667M8.00016 3L1.3335 6.33333L8.00016 9.66667L14.6668 6.33333L8.00016 3Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <div class=\"featareaval ms-4\">Maximum {{featAreaCamera}} Cameras are permitted in stores with\r\n square feet between\r\n {{featArea}}.</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"pricevalue\">\r\n <div class=\"card-body px-0 mt-10\">\r\n <!--begin::Plans-->\r\n <div class=\"d-flex flex-column\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-10 text-start\">\r\n <h1 class=\"heading mb-5\">Plan Details</h1>\r\n </div>\r\n <!--end::Heading-->\r\n\r\n <!--begin::Nav group-->\r\n <div class=\"nav-group nav-group-outline mx-auto mb-15\">\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3 me-2\"\r\n [ngClass]=\"plan === 'monthly'? 'activePlanBtn':'inactivePlanBtn'\" data-kt-plan=\"month\"\r\n (click)=\"selectPlan('monthly')\">\r\n Monthly\r\n </button>\r\n\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3\"\r\n [ngClass]=\"plan === 'quarterly'? 'activePlanBtn':'inactivePlanBtn'\"\r\n data-kt-plan=\"Quarterly\" (click)=\"selectPlan('quarterly')\">\r\n Quarterly - 10%\r\n </button>\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3\"\r\n [ngClass]=\"plan === 'annual'? 'activePlanBtn':'inactivePlanBtn'\" data-kt-plan=\"annual\"\r\n (click)=\"selectPlan('annual')\">\r\n Annual - 15%\r\n </button>\r\n </div>\r\n <!--end::Nav group-->\r\n\r\n <!--begin::Row-->\r\n <div class=\"row g-10\">\r\n <!--begin::Col-->\r\n <div class=\"col-md-6 col-lg-4 col-xl-4 col-xxl-4 h-100\">\r\n <div class=\"d-flex align-items-center\">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-start rounded-3 py-15 px-10\"\r\n [ngClass]=\"countOfStore === '1'? 'freeplan':'bg-light'\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 text-start\">\r\n <!--begin::Title-->\r\n <h1 class=\"price-head mb-5\">Free <span\r\n class=\"life-title fw-semibold mx-2\">Lifetime</span></h1>\r\n <!--end::Title-->\r\n\r\n <!--begin::Description-->\r\n <div class=\"price-sub-head mb-5\">\r\n Integrated Solution for single store owners\r\n </div>\r\n <!--end::Description-->\r\n\r\n <!--begin::Price-->\r\n <div class=\"text-start \">\r\n <span class=\"mb-2 text-primary text-val ms-1\" *ngIf=\"this.aboutFormData.countryCode==='91'\">\u20B9</span>\r\n <span class=\"mb-2 text-primary text-val ms-1\" *ngIf=\"this.aboutFormData.countryCode !=='91'\">$</span>\r\n <span class=\"fs-3x fw-bold text-primary text-val\">0 </span>\r\n </div>\r\n <!--end::Price-->\r\n <div class=\"fw-semibold\">\r\n <span class=\"period\">per store per month</span>\r\n </div>\r\n </div>\r\n <!--end::Heading-->\r\n\r\n <!--begin::Features-->\r\n <div class=\"w-100\">\r\n <div class=\"d-flex flex-stack mb-10\"><span\r\n class=\"plan-head me-2 fs-14px\">Tango Traffic</span>\r\n <div class=\"form-check form-switch\">\r\n <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\"\r\n id=\"tangotraffic\" checked=\"\" disabled=\"\">\r\n\r\n </div>\r\n </div>\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-center mb-10\">\r\n <span class=\"plan-head\">\r\n To accurately measure traffic and map shopper\u2019s in-store journey\r\n </span>\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"plan-sub \">\r\n Footfall Analysis </span>\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"plan-sub \">\r\n Bounced vs Engager Analysis </span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"plan-sub \">\r\n Missed Opportunity Vs Conversion Rate </span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"plan-sub \">\r\n Footfall Image Directory by the hour. </span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n\r\n\r\n\r\n </div>\r\n <!--end::Features-->\r\n <!--begin::Select-->\r\n <button [disabled]=\"selectedCounts.value !== '1'\" class=\"btn btn-sm btn-primary w-100 button-size\"\r\n (click)=\"plandet('free')\">Get Started</button>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n <!--end::Col-->\r\n <!--begin::Col-->\r\n <div class=\"col-md-6 col-lg-4 col-xl-4 col-xxl-4 h-100\">\r\n <div class=\"d-flex align-items-center\">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-start rounded-3 text-container py-15 px-10\"\r\n [ngClass]=\"countOfStore === '2-25' || countOfStore === '26-50' || countOfStore === '26-50' || countOfStore === '51-75' || countOfStore === '76-100'? 'freeplan':'bg-light'\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 text-start text-container\">\r\n <!--begin::Title-->\r\n <h1 class=\"price-head mb-5\">Premium</h1>\r\n <!--end::Title-->\r\n\r\n <!--begin::Description-->\r\n <div class=\"price-sub-head mb-5\">\r\n Integrated Solution for Growing Business\r\n </div>\r\n <!--end::Description-->\r\n <button\r\n class=\"top-right btn-margin btn btn-lg btn-primary btn-height py-1 cursor-auto mt-3\">Recommended</button>\r\n <!--begin::Price-->\r\n <div class=\"text-start mt-15\">\r\n <span class=\"price-sub-head\">Starts from</span>\r\n <span class=\"mb-2 text-primary text-val ms-1\" *ngIf=\"this.aboutFormData.countryCode==='91'\">\u20B9</span>\r\n <span class=\"mb-2 text-primary text-val ms-1\" *ngIf=\"this.aboutFormData.countryCode !=='91'\">$</span>\r\n <span class=\"pricecodesize\" *ngIf=\"pricingData?.OriginalPrice!==pricingData?.price\" ><b\r\n class=\"pricecodecolor text-set mx-2\"> {{pricingData?.OriginalPrice}}\r\n </b>\r\n </span>\r\n <span class=\"fs-3x fw-bold text-primary text-val\">{{pricingData?.price}}</span>\r\n </div>\r\n <!--end::Price-->\r\n <div class=\"fw-semibold\">\r\n <span class=\"period\">per store per month</span>\r\n </div>\r\n </div>\r\n <!--end::Heading-->\r\n <form [formGroup]=\"productForm\" action=\"\" class=\"w-100 mb-3\">\r\n <!--begin::Features-->\r\n <div class=\"w-100\">\r\n <!--begin::Item-->\r\n <div class=\"d-flex flex-stack mt-10 mb-5\"><span\r\n class=\"plan-head me-2 fs-14px line-height\"\r\n (click)=\"showViewMore('traffic')\">Tango Traffic\r\n <span class=\"ms-1 cursor-pointer\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"13\"\r\n height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8686)\">\r\n <path\r\n d=\"M6 8.16699V6.16699M6 4.16699H6.005M11 6.16699C11 8.92842 8.76142 11.167 6 11.167C3.23858 11.167 1 8.92842 1 6.16699C1 3.40557 3.23858 1.16699 6 1.16699C8.76142 1.16699 11 3.40557 11 6.16699Z\"\r\n stroke=\"#98A2B3\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8686\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"\r\n transform=\"translate(0 0.166992)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n <div class=\"form-check form-switch\">\r\n <input (change)=\"onPriceChange()\" [ngClass]=\"checkIfAtleastOneSelected('tangoTraffic') || productForm.get('tangoZone')?.value ? 'pe-none' : ''\" formControlName=\"tangoTraffic\" class=\"form-check-input\"\r\n type=\"checkbox\" role=\"switch\" id=\"tangotraffic\" checked=\"\">\r\n </div>\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex flex-stack mb-5\"><span class=\"plan-head me-2 fs-14px line-height\"\r\n (click)=\"showViewMore('zone')\">Tango Zone\r\n <span class=\"ms-1 cursor-pointer\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"13\"\r\n height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8686)\">\r\n <path\r\n d=\"M6 8.16699V6.16699M6 4.16699H6.005M11 6.16699C11 8.92842 8.76142 11.167 6 11.167C3.23858 11.167 1 8.92842 1 6.16699C1 3.40557 3.23858 1.16699 6 1.16699C8.76142 1.16699 11 3.40557 11 6.16699Z\"\r\n stroke=\"#98A2B3\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8686\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"\r\n transform=\"translate(0 0.166992)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n <div class=\"form-check form-switch\">\r\n <input (change)=\"onPriceChange(); productForm.get('tangoZone')?.value ? productForm.get('tangoTraffic')?.setValue(true) : null\" [ngClass]=\"checkIfAtleastOneSelected('tangoZone') ? 'pe-none' : ''\" formControlName=\"tangoZone\" class=\"form-check-input\"\r\n type=\"checkbox\" role=\"switch\" id=\"tangozone\" checked=\"\">\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-stack mb-20\"><span class=\"plan-head me-2 fs-14px line-height\"\r\n (click)=\"showViewMore('sop')\">Tango Trax\r\n <span class=\"ms-1 cursor-pointer\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"13\"\r\n height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8686)\">\r\n <path\r\n d=\"M6 8.16699V6.16699M6 4.16699H6.005M11 6.16699C11 8.92842 8.76142 11.167 6 11.167C3.23858 11.167 1 8.92842 1 6.16699C1 3.40557 3.23858 1.16699 6 1.16699C8.76142 1.16699 11 3.40557 11 6.16699Z\"\r\n stroke=\"#98A2B3\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8686\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"\r\n transform=\"translate(0 0.166992)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n <div class=\"form-check form-switch\">\r\n <input (change)=\"onPriceChange()\" [ngClass]=\"checkIfAtleastOneSelected('tangoTrax') ? 'pe-none' : ''\" formControlName=\"tangoTrax\" class=\"form-check-input\"\r\n type=\"checkbox\" role=\"switch\" id=\"tangoTrax\" checked=\"\">\r\n\r\n </div>\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <!-- <div class=\"d-flex flex-stack mb-5\"><span class=\"plan-head me-2 fs-14px line-height\"\r\n (click)=\"showViewMore('support')\">Priority Support\r\n <span class=\"ms-1 cursor-pointer\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"13\"\r\n height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8686)\">\r\n <path\r\n d=\"M6 8.16699V6.16699M6 4.16699H6.005M11 6.16699C11 8.92842 8.76142 11.167 6 11.167C3.23858 11.167 1 8.92842 1 6.16699C1 3.40557 3.23858 1.16699 6 1.16699C8.76142 1.16699 11 3.40557 11 6.16699Z\"\r\n stroke=\"#98A2B3\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8686\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"\r\n transform=\"translate(0 0.166992)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n <div class=\"form-check form-switch\">\r\n <input (change)=\"onPriceChange()\" formControlName=\"prioritySupport\"\r\n class=\"form-check-input\" type=\"checkbox\" role=\"switch\"\r\n id=\"support\" checked=\"\">\r\n\r\n </div>\r\n </div> -->\r\n <!--end::Item-->\r\n\r\n\r\n </div>\r\n <!--end::Features-->\r\n </form>\r\n\r\n\r\n <!--begin::Select-->\r\n <button class=\"btn btn-sm btn-primary button-size w-100\"\r\n (click)=\"plandet('premium')\">Start 14 day trial</button>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n <!--end::Col-->\r\n <!--begin::Col-->\r\n <div class=\"col-md-6 col-lg-4 col-xl-4 col-xxl-4 h-100\">\r\n <div class=\"d-flex align-items-center\">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-start rounded-3 py-15 px-10\"\r\n [ngClass]=\"countOfStore === '101-150'? 'freeplan':'bg-light'\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 text-start\">\r\n <!--begin::Title-->\r\n <h1 class=\"price-head mb-5\">Enterprise</h1>\r\n <!--end::Title-->\r\n\r\n <!--begin::Description-->\r\n <div class=\"price-sub-head mb-5\">\r\n Integrated Solutions for Larger Business\r\n </div>\r\n <!--end::Description-->\r\n\r\n <!--begin::Price-->\r\n <div class=\"text-start mt-12\">\r\n\r\n <span class=\"fs-3x fw-bold text-primary text-val\">\r\n Let\u2019s Talk!</span>\r\n\r\n </div>\r\n <!--end::Price-->\r\n </div>\r\n <!--end::Heading-->\r\n\r\n <!--begin::Features-->\r\n <div class=\"w-100 h-239px mb-10\">\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"price-sub-head fw-semibold \">\r\n Do you have more than 100 stores?</span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"price-sub-head fw-semibold \">\r\n Rest assured, our dedicated account managers are here to support you\r\n every\r\n step of the way.</span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n\r\n\r\n </div>\r\n <!--end::Features-->\r\n\r\n <!--begin::Select-->\r\n <button class=\"btn btn-sm btn-primary button-size w-100\"\r\n (click)=\"plandet('enterprise')\">Request Call Back</button>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n <!--end::Col-->\r\n </div>\r\n <!--end::Row-->\r\n </div>\r\n <!--end::Plans-->\r\n </div>\r\n </div>\r\n <div class=\"row mt-12\">\r\n <div class=\"col-md-2\">\r\n <button type=\"button\" class=\"btn btn-lg text-nowrap btn-set me-5\" (click)=\"prevStep()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13 15L8 10L13 5\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg> Previous\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3 d-flex flex-column flex-md-row flex-md-stack pt-3 container-fluid\">\r\n <div class=\"text-gray-900 order-2 order-md-1 ms-10\">\r\n <span class=\"me-1 copy\">\u00A9 2024 </span>\r\n <a target=\"_blank\" href=\"https://tangoeye.ai\" class=\"footer\">Tango IT Solutions India Pvt Ltd</a>\r\n </div>\r\n <ul class=\"menu menu-gray-600 menu-hover-primary fw-semibold order-1 me-7\">\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/#aboutus\" class=\"menu-link px-5\">About us</a></li>\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/#contact\" class=\"menu-link px-5\">Contact us</a></li>\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/privacy-policy-2/\" class=\"menu-link px-5\">Privacy & policy</a></li>\r\n </ul>\r\n </div>\r\n</div>\r\n\r\n<div class=\"overlay\" *ngIf=\"popup\">\r\n <div class=\"popup\">\r\n <h3 class=\"fw-bold get-touch my-5\">Get In Touch</h3>\r\n <div class=\"fw-normal get-sub mb-5\">Have questions? We\u2019re here to help. Send us a message, and we\u2019ll respond\r\n within\r\n 24 hours.</div>\r\n <div class=\"notice d-flex bg-light-primary rounded border-primary cursor-pointer my-4\"\r\n (click)=\"checkvalue('time')\" [ngClass]=\"timevalue === 'time'? 'touch-primary':'untouch-primary'\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 36 36\" fill=\"none\" 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\" stroke-width=\"4\" />\r\n <path d=\"M25.3332 14.6663L20.6665 17.9997L25.3332 21.333V14.6663Z\" stroke=\"#00A3FF\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M19.3332 13.333H11.9998C11.2635 13.333 10.6665 13.93 10.6665 14.6663V21.333C10.6665 22.0694 11.2635 22.6663 11.9998 22.6663H19.3332C20.0695 22.6663 20.6665 22.0694 20.6665 21.333V14.6663C20.6665 13.93 20.0695 13.333 19.3332 13.333Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <div class=\"d-flex flex-stack flex-grow-1 flex-wrap flex-md-nowrap\">\r\n <div class=\"mb-3 mb-md-0 \">\r\n <h4 class=\"fw-semibold\" [ngClass]=\"timevalue === 'time'? 'video-title':'untouch-title'\">Schedule\r\n with\r\n Calendly</h4>\r\n <div class=\"fw-normal pe-7\" [ngClass]=\"timevalue === 'time'? 'video-sub':'untouch-sub'\">Choose your\r\n time\r\n slot in the next step.</div>\r\n </div><span *ngIf=\"timevalue ==='time'\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"#00A3FF\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#00A3FF\" />\r\n <path d=\"M11.3332 5.5L6.74984 10.0833L4.6665 8\" stroke=\"white\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <span *ngIf=\"timevalue !=='time'\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"white\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n </svg></span>\r\n\r\n </div>\r\n </div>\r\n <div class=\"notice d-flex bg-light-primary rounded border-primary cursor-pointer my-4\"\r\n (click)=\"checkvalue('call back')\" [ngClass]=\"timevalue === 'call back'? 'touch-primary':'untouch-primary'\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 36 36\" fill=\"none\" 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\" stroke-width=\"4\" />\r\n <g clip-path=\"url(#clip0_1731_70116)\">\r\n <path\r\n d=\"M24.6665 21.2797V23.2797C24.6672 23.4654 24.6292 23.6492 24.5548 23.8193C24.4804 23.9894 24.3713 24.1421 24.2345 24.2676C24.0977 24.3932 23.9362 24.4887 23.7603 24.5482C23.5844 24.6077 23.398 24.6298 23.2131 24.6131C21.1617 24.3902 19.1911 23.6892 17.4598 22.5664C15.849 21.5428 14.4834 20.1772 13.4598 18.5664C12.3331 16.8272 11.632 14.8471 11.4131 12.7864C11.3965 12.6021 11.4184 12.4162 11.4775 12.2408C11.5365 12.0654 11.6315 11.9042 11.7563 11.7675C11.8811 11.6308 12.033 11.5215 12.2023 11.4468C12.3716 11.372 12.5547 11.3332 12.7398 11.3331H14.7398C15.0633 11.3299 15.377 11.4445 15.6223 11.6554C15.8676 11.8664 16.0278 12.1594 16.0731 12.4797C16.1575 13.1198 16.3141 13.7482 16.5398 14.3531C16.6295 14.5917 16.6489 14.851 16.5957 15.1003C16.5426 15.3496 16.419 15.5785 16.2398 15.7597L15.3931 16.6064C16.3422 18.2754 17.7241 19.6574 19.3931 20.6064L20.2398 19.7597C20.4211 19.5805 20.6499 19.457 20.8992 19.4038C21.1485 19.3506 21.4078 19.37 21.6465 19.4597C22.2513 19.6854 22.8797 19.842 23.5198 19.9264C23.8436 19.9721 24.1394 20.1352 24.3508 20.3847C24.5622 20.6343 24.6746 20.9528 24.6665 21.2797Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1731_70116\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(10 10)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div class=\"d-flex flex-stack flex-grow-1 flex-wrap flex-md-nowrap\">\r\n <div class=\"mb-3 mb-md-0 \">\r\n <h4 class=\"fw-semibold\" [ngClass]=\"timevalue === 'call back'? 'video-title':'untouch-title'\">Request\r\n a\r\n call back</h4>\r\n <div class=\"fw-normal pe-7\" [ngClass]=\"timevalue === 'call back'? 'video-title':'untouch-sub'\">We\u2019ll\r\n call\r\n you on +<span>{{aboutFormData?.countryCode}}</span> {{aboutFormData?.mobileNumber}}</div>\r\n </div><span *ngIf=\"timevalue ==='time'\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"white\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n </svg></span>\r\n <span *ngIf=\"timevalue !=='time'\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"#00A3FF\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#00A3FF\" />\r\n <path d=\"M11.3332 5.5L6.74984 10.0833L4.6665 8\" stroke=\"white\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"timevalue === 'call back'\">\r\n\r\n <h3 class=\"title-val fw-semibold my-3\">Select Preferred Timing (IST)</h3>\r\n <div class=\"btn-group\" role=\"group\" aria-label=\"Basic example\">\r\n <button [ngClass]=\"callbackPreferredTiming === '9am -12pm' ? 'popup-tab-selected': ''\" (click)=\"callbackPreferredTiming = '9am -12pm'\" type=\"button\" class=\"btn btn-secondary\">9am -12pm</button>\r\n <button [ngClass]=\"callbackPreferredTiming === '12pm - 5pm' ? 'popup-tab-selected': ''\" (click)=\"callbackPreferredTiming = '12pm - 5pm'\" type=\"button\" class=\"btn btn-secondary\">12pm - 5pm</button>\r\n <button [ngClass]=\"callbackPreferredTiming === '5pm - 8pm' ? 'popup-tab-selected': ''\" (click)=\"callbackPreferredTiming = '5pm - 8pm'\" type=\"button\" class=\"btn btn-secondary\">5pm - 8pm</button>\r\n </div>\r\n <h5 class=\"title-sub fw-normal my-3\">We'll call you back in next 24 business hours</h5>\r\n <textarea [formControl]=\"callbackDescription\" class=\"form-control text-area fw-normal\" placeholder=\"Be more specific...\" row=\"2\"></textarea>\r\n\r\n </div>\r\n <div class=\"row mt-10 mb-7\">\r\n <div class=\"col-md-6\">\r\n <button class=\"btn btn-default fw-bold w-100\" (click)=\"close()\">Cancel</button>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <button class=\"btn btn-primary submit fw-bold w-100\" (click)=\"submitvalue()\">Confirm</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"overlay\" *ngIf=\"requestpopup\">\r\n <div class=\"popup\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Featured icon\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#DAF1FF\"/>\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#EAF8FF\" stroke-width=\"8\"/>\r\n <g id=\"Check icon\">\r\n <rect x=\"16\" y=\"16\" width=\"24\" height=\"24\" rx=\"10\" fill=\"#DAF1FF\"/>\r\n <g id=\"Icon\">\r\n <mask id=\"path-3-inside-1_4346_82646\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M33.0965 23.3897L25.9365 30.2997L24.0365 28.2697C23.6865 27.9397 23.1365 27.9197 22.7365 28.1997C22.3465 28.4897 22.2365 28.9997 22.4765 29.4097L24.7265 33.0697C24.9465 33.4097 25.3265 33.6197 25.7565 33.6197C26.1665 33.6197 26.5565 33.4097 26.7765 33.0697C27.1365 32.5997 34.0065 24.4097 34.0065 24.4097C34.9065 23.4897 33.8165 22.6797 33.0965 23.3797V23.3897Z\"/>\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M33.0965 23.3897L25.9365 30.2997L24.0365 28.2697C23.6865 27.9397 23.1365 27.9197 22.7365 28.1997C22.3465 28.4897 22.2365 28.9997 22.4765 29.4097L24.7265 33.0697C24.9465 33.4097 25.3265 33.6197 25.7565 33.6197C26.1665 33.6197 26.5565 33.4097 26.7765 33.0697C27.1365 32.5997 34.0065 24.4097 34.0065 24.4097C34.9065 23.4897 33.8165 22.6797 33.0965 23.3797V23.3897Z\" fill=\"#33B5FF\" stroke=\"#00A3FF\" stroke-width=\"4\" mask=\"url(#path-3-inside-1_4346_82646)\"/>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n \r\n <h3 class=\"fw-bold get-touch my-5\">Thanks for your request!</h3>\r\n <div class=\"fw-normal get-sub mb-5\">Our team will get back to you shortly. Meanwhile explore more about us.\r\n </div>\r\n <div class=\"row mt-10 mb-7\">\r\n <div class=\"col-md-12\">\r\n <button class=\"btn btn-primary fw-bold w-100\" (click)=\"continuesignup()\">Continue Signing Up</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".bubble{position:fixed;top:0;right:3%}.activeClass{padding:8px 12px!important;gap:8px!important;border-radius:6px!important;background:var(--Primary-25, #F6FCFF)!important;padding:8px 12px;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a!important}.activeClass .store-primary{color:var(--Gray-700, #344054)!important;font-size:16px!important;font-weight:600;line-height:24px}.bg-gray{padding:4px!important;gap:36px!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important;background:var(--Gray-50, #F9FAFB)!important}.text-color{color:var(--Gray-500, #667085)!important;font-size:16px!important;font-weight:600!important;line-height:24px}.heading{color:#000!important;font-size:20px!important;font-weight:600!important;line-height:30px}.textval{color:var(--Gray-500, #2654b9)!important}.border-store{width:32px;height:32px;padding:8px;border-radius:28px!important;background:var(--Primary-100, #DAF1FF)!important}.gap-16px{display:flex;height:40px;padding:16px;align-items:center;gap:4px;border-radius:8px;border:1px solid var(--Primary-300, #6BCAFF);background:var(--Primary-50, #EAF8FF)}.featareaval{color:var(--Primary-800, #008EDF)!important;font-size:14px;font-weight:500;line-height:20px}.bg-light{padding:24px!important;border-radius:8px;border:1px solid var(--Gray-100, #F2F4F7)!important;background:var(--Gray-25, #FCFCFD)!important;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a}.price-head{color:var(--Gray-900, #101828)!important;font-size:24px!important;font-weight:600!important;line-height:32px}.price-sub-head{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.period{color:var(--Gray-500, #667085)!important;font-size:16px!important;font-weight:400!important;line-height:24px}.plan-sub{color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:400!important;line-height:18px}.plan-head{color:var(--Gray-700, #344054)!important;font-size:12px!important;font-weight:500;line-height:18px}.fs-14px{font-size:14px!important;line-height:20px!important}.text-container{position:relative}.top-right{position:absolute;top:68px;left:173px;font-size:18px}.btn-margin{color:var(--White, #FFF)!important;font-size:12px!important;font-weight:600!important;line-height:18px;padding:6px 11px!important;border-radius:4px!important;background:var(--Primary-700, #009BF3)!important}.h-239px{height:239px}.button-size{color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;padding:10px 16px!important}.form-check-input:checked{border-color:#009bf3;border-radius:12px;background-color:var(--Primary-600, #00A3FF)!important}@media (min-width: 1396px) and (max-width: 1440px){.plan-sub{color:var(--Gray-500, #667085)!important;font-size:10px!important;font-weight:400!important;line-height:18px}}@media (min-width: 1920px) and (max-width: 2100px){.top-right{left:272px}}@media (min-width: 1745px) and (max-width: 1910px){.top-right{left:225px}}@media (min-width: 1706px) and (max-width: 1744px){.top-right{left:216px}}@media (min-width: 1430px) and (max-width: 1439px){.top-right{left:158px}}@media (min-width: 1396px) and (max-width: 1410px){.top-right{left:148px}}@media (min-width: 1410px) and (max-width: 1430px){.top-right{left:153px}}@media (min-width: 1439px) and (max-width: 1475px){.top-right{left:162px}}@media (min-width: 1475px) and (max-width: 1500px){.top-right{left:165px}}@media (min-width: 1547px) and (max-width: 1600px){.top-right{left:189px}}@media (min-width: 1600px) and (max-width: 1635px){.top-right{left:199px}}@media (min-width: 1635px) and (max-width: 1675px){.top-right{left:209px}}@media (min-width: 2160px) and (max-width: 2560px){.top-right{left:438px}}.activePlanBtn{border-radius:6px;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a!important;color:var(--Gray-700, #344054);font-size:14px!important;font-weight:500!important;line-height:20px}.inactivePlanBtn{color:var(--Gray-500, #667085)!important;font-size:14px;font-weight:500!important;line-height:20px}.nav-group{background:var(--Gray-50, #F9FAFB)!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important}.freeplan{padding:24px!important;border-radius:8px!important;border:1px solid var(--Primary-100, #DAF1FF)!important;background:var(--Primary-25, #F6FCFF)!important;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a!important;width:100%}.text-val{color:var(--Primary-700, #009BF3)!important;font-size:24px!important;font-weight:600!important;line-height:32px}.text-set{color:var(--Primary-700, #009BF3)!important;font-size:18px!important;font-weight:600!important;line-height:32px;text-decoration-line:line-through!important}.btn-set{color:var(--Primary-700, #009BF3)!important;font-size:16px!important;font-weight:600!important;line-height:24px;border-radius:8px;border:1px solid var(--Primary-50, #EAF8FF)!important;background:var(--Primary-50, #EAF8FF)!important;box-shadow:0 1px 2px #1018280d!important}.life-title{color:var(--Primary-700, #009BF3)!important;text-align:center;font-size:12px!important;line-height:18px;padding:2px 8px!important;border-radius:16px!important;background:var(--Primary-50, #EAF8FF)!important}.get-touch{color:var(--Gray-900, #101828);font-size:18px;line-height:28px}.get-sub{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.touch-primary{padding:16px;border-radius:8px!important;border:1px solid var(--Primary-300, #6BCAFF)!important;background:var(--Primary-50, #EAF8FF)!important}.video-title{color:var(--Primary-800, #008EDF);font-size:14px;line-height:20px}.video-sub{color:var(--Primary-600, #00A3FF);font-size:14px;line-height:20px}.untouch-primary{padding:16px!important;border-radius:8px!important;border:1px solid var(--Gray-200, #EAECF0)!important;background:var(--White, #FFF)!important}.untouch-title{color:var(--Gray-700, #344054)!important;font-size:14px!important;line-height:20px}.untouch-sub{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:16px!important;line-height:24px;text-transform:capitalize}.btn-primary.submit{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:16px!important;line-height:24px;text-transform:capitalize}.btn-group{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;box-shadow:0 1px 2px #1018280d!important}.btn-secondary{border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important}.btn-check:checked+.btn.btn-secondary,.btn-check:active+.btn.btn-secondary,.btn.btn-secondary:focus:not(.btn-active),.btn.btn-secondary:hover:not(.btn-active),.btn.btn-secondary:active:not(.btn-active),.btn.btn-secondary.active,.btn.btn-secondary.show,.show>.btn.btn-secondary{background-color:var(--Gray-50, #F9FAFB)!important}.title-val{color:var(--Gray-700, #344054);font-size:14px;line-height:20px}.title-sub{color:var(--Primary-500, #33B5FF);font-size:12px;line-height:19.5px}.text-area{color:var(--Gray-500, #667085)!important;font-size:16px!important;line-height:24px!important}.overlay{position:fixed;inset:0;background:#6e6e6eb3;transition:opacity .5s;visibility:visible;opacity:1}.popup{position:absolute;left:62%;top:50%;transform:translate(-50%,-50%);padding:24px;background:var(--White, #FFF);box-shadow:0 8px 8px -4px #10182808,0 20px 24px -4px #10182814;border-radius:12px;width:480px;position:relative;transition:all 5s ease-in-out}.popup h2{margin-top:0;color:#333;font-family:Tahoma,Arial,sans-serif}.popup .close{position:absolute;transition:all .2s;font-size:30px;font-weight:700;text-decoration:none;color:#333}.popup .close:hover{color:#06d85f;cursor:pointer}.popup .content{max-height:30%;overflow:auto}.popup-tab-selected{background-color:#eaf8ff!important;color:#008edf!important}.copy,.footer{color:#7e8299!important;font-size:16px!important;font-weight:500!important}.footer:hover{color:#1b84ff!important}.line-height{line-height:32px!important}.disabled{opacity:.5;pointer-events:none}.btn-check:checked+.btn.btn-secondary,.btn-check:active+.btn.btn-secondary,.btn.btn-secondary:focus:not(.btn-active),.btn.btn-secondary:active:not(.btn-active),.btn.btn-secondary.active,.btn.btn-secondary.show,.show>.btn.btn-secondary{background-color:#eaf8ff!important;color:#008edf!important}.inActiveClass{padding:8px 12px!important}\n"] }]
390
+ args: [{ selector: "lib-step2", template: "<div class=\"card mt-10 mx-15\">\r\n <div class=\"h-100 px-5 mx-5 mt-7\">\r\n <!-- <img class=\"bubble\" src=\"./assets/tango/Icons/Signup-bubble-icon.svg\"\r\n alt=\"\" srcset=\"\"> -->\r\n\r\n <div class=\"d-flex flex-column beforeChoosing my-12\">\r\n <h1 class=\"heading mb-5\">How many stores do you have?</h1>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-9 col-xl-8 col-xxl-8 w-auto\">\r\n <div class=\"d-flex align-items-center bg-gray\">\r\n <div class=\"d-flex align-items-center justify-content-center inActiveClass cursor-pointer \"\r\n *ngFor=\"let count of storeCounts\" (click)=\"activeStoreCount(count)\" \r\n [class.activeClass]=\"count.active\">\r\n <div class=\"d-flex align-items-center mx-2\">\r\n <div class=\"fs-4 fw-bold\" [ngClass]=\"count.active === true? 'store-primary':'text-color'\">{{ count.text }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"storedetials\">\r\n <h2 class=\"heading mt-10 mb-5 \">What's the average size of your store?</h2>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-12 col-xl-12 col-xxl-12 w-auto\">\r\n <div class=\"d-flex align-items-center bg-gray\">\r\n <div class=\"d-flex align-items-center justify-content-center inActiveClass cursor-pointer\"\r\n [class.activeClass]=\"i.active\" [class.disabled]=\"i.disabled\" *ngFor=\"let i of featAreaOptions\"\r\n (click)=\"activefeatArea(i)\">\r\n <div class=\"d-flex align-items-center mx-2\">\r\n <div class=\"fs-4 fw-bold\" [ngClass]=\"i.active === true? 'store-primary':'text-color'\">{{ i.text }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"featAreaCamera\" class=\"notice d-flex mt-5\">\r\n <div class=\"d-flex justify-content-center align-items-center gap-16px\">\r\n <span class=\"border-store\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M1.3335 9.66667L8.00016 13L14.6668 9.66667M8.00016 3L1.3335 6.33333L8.00016 9.66667L14.6668 6.33333L8.00016 3Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <div class=\"featareaval ms-4\">Maximum {{featAreaCamera}} Cameras are permitted in stores with\r\n square feet between\r\n {{featArea}}.</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"pricevalue\">\r\n <div class=\"card-body px-0 mt-10\">\r\n <!--begin::Plans-->\r\n <div class=\"d-flex flex-column\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-10 text-start\">\r\n <h1 class=\"heading mb-5\">Plan Details</h1>\r\n </div>\r\n <!--end::Heading-->\r\n\r\n <!--begin::Nav group-->\r\n <div class=\"nav-group nav-group-outline mx-auto mb-15\">\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3 me-2\"\r\n [ngClass]=\"plan === 'monthly'? 'activePlanBtn':'inactivePlanBtn'\" data-kt-plan=\"month\"\r\n (click)=\"selectPlan('monthly')\">\r\n Monthly\r\n </button>\r\n\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3\"\r\n [ngClass]=\"plan === 'quarterly'? 'activePlanBtn':'inactivePlanBtn'\"\r\n data-kt-plan=\"Quarterly\" (click)=\"selectPlan('quarterly')\">\r\n Quarterly - 10%\r\n </button>\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3\"\r\n [ngClass]=\"plan === 'annual'? 'activePlanBtn':'inactivePlanBtn'\" data-kt-plan=\"annual\"\r\n (click)=\"selectPlan('annual')\">\r\n Annual - 15%\r\n </button>\r\n </div>\r\n <!--end::Nav group-->\r\n\r\n <!--begin::Row-->\r\n <div class=\"row g-10\">\r\n <!--begin::Col-->\r\n <div class=\"col-md-6 col-lg-4 col-xl-4 col-xxl-4 h-100\">\r\n <div class=\"d-flex align-items-center\">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-start rounded-3 py-15 px-10\"\r\n [ngClass]=\"countOfStore === '1'? 'freeplan':'bg-light'\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 text-start\">\r\n <!--begin::Title-->\r\n <h1 class=\"price-head mb-5\">Free <span\r\n class=\"life-title fw-semibold mx-2\">Lifetime</span></h1>\r\n <!--end::Title-->\r\n\r\n <!--begin::Description-->\r\n <div class=\"price-sub-head mb-5\">\r\n Integrated Solution for single store owners\r\n </div>\r\n <!--end::Description-->\r\n\r\n <!--begin::Price-->\r\n <div class=\"text-start \">\r\n <span class=\"mb-2 text-primary text-val ms-1\" *ngIf=\"this.aboutFormData.countryCode==='91'\">\u20B9</span>\r\n <span class=\"mb-2 text-primary text-val ms-1\" *ngIf=\"this.aboutFormData.countryCode !=='91'\">$</span>\r\n <span class=\"fs-3x fw-bold text-primary text-val\">0 </span>\r\n </div>\r\n <!--end::Price-->\r\n <div class=\"fw-semibold\">\r\n <span class=\"period\">per store per month</span>\r\n </div>\r\n </div>\r\n <!--end::Heading-->\r\n\r\n <!--begin::Features-->\r\n <div class=\"w-100\">\r\n <div class=\"d-flex flex-stack mb-10\"><span\r\n class=\"plan-head me-2 fs-14px\">Tango Traffic</span>\r\n <div class=\"form-check form-switch\">\r\n <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\"\r\n id=\"tangotraffic\" checked=\"\" disabled=\"\">\r\n\r\n </div>\r\n </div>\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-center mb-10\">\r\n <span class=\"plan-head\">\r\n To accurately measure traffic and map shopper\u2019s in-store journey\r\n </span>\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"plan-sub \">\r\n Footfall Analysis </span>\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"plan-sub \">\r\n Bounced vs Engager Analysis </span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"plan-sub \">\r\n Missed Opportunity Vs Conversion Rate </span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"plan-sub \">\r\n Footfall Image Directory by the hour. </span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n\r\n\r\n\r\n </div>\r\n <!--end::Features-->\r\n <!--begin::Select-->\r\n <button [disabled]=\"selectedCounts.value !== '1'\" class=\"btn btn-sm btn-primary w-100 button-size\"\r\n (click)=\"plandet('free')\">Get Started</button>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n <!--end::Col-->\r\n <!--begin::Col-->\r\n <div class=\"col-md-6 col-lg-4 col-xl-4 col-xxl-4 h-100\">\r\n <div class=\"d-flex align-items-center\">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-start rounded-3 text-container py-15 px-10\"\r\n [ngClass]=\"countOfStore === '2-25' || countOfStore === '26-50' || countOfStore === '26-50' || countOfStore === '51-75' || countOfStore === '76-100'? 'freeplan':'bg-light'\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 text-start text-container\">\r\n <!--begin::Title-->\r\n <h1 class=\"price-head mb-5\">Premium</h1>\r\n <!--end::Title-->\r\n\r\n <!--begin::Description-->\r\n <div class=\"price-sub-head mb-5\">\r\n Integrated Solution for Growing Business\r\n </div>\r\n <!--end::Description-->\r\n <button\r\n class=\"top-right btn-margin btn btn-lg btn-primary btn-height py-1 cursor-auto mt-3\">Recommended</button>\r\n <!--begin::Price-->\r\n <div class=\"text-start mt-15\">\r\n <span class=\"price-sub-head\">Starts from</span>\r\n <span class=\"mb-2 text-primary text-val ms-1\" *ngIf=\"this.aboutFormData.countryCode==='91'\">\u20B9</span>\r\n <span class=\"mb-2 text-primary text-val ms-1\" *ngIf=\"this.aboutFormData.countryCode !=='91'\">$</span>\r\n <span class=\"pricecodesize\" *ngIf=\"pricingData?.OriginalPrice!==pricingData?.price\" ><b\r\n class=\"pricecodecolor text-set mx-2\"> {{pricingData?.OriginalPrice}}\r\n </b>\r\n </span>\r\n <span class=\"fs-3x fw-bold text-primary text-val\">{{pricingData?.price}}</span>\r\n </div>\r\n <!--end::Price-->\r\n <div class=\"fw-semibold\">\r\n <span class=\"period\">per store per month</span>\r\n </div>\r\n </div>\r\n <!--end::Heading-->\r\n <form [formGroup]=\"productForm\" action=\"\" class=\"w-100 mb-3\">\r\n <!--begin::Features-->\r\n <div class=\"w-100\">\r\n <!--begin::Item-->\r\n <div class=\"d-flex flex-stack mt-10 mb-5\"><span\r\n class=\"plan-head me-2 fs-14px line-height\"\r\n (click)=\"showViewMore('traffic')\">Tango Traffic\r\n <span class=\"ms-1 cursor-pointer\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"13\"\r\n height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8686)\">\r\n <path\r\n d=\"M6 8.16699V6.16699M6 4.16699H6.005M11 6.16699C11 8.92842 8.76142 11.167 6 11.167C3.23858 11.167 1 8.92842 1 6.16699C1 3.40557 3.23858 1.16699 6 1.16699C8.76142 1.16699 11 3.40557 11 6.16699Z\"\r\n stroke=\"#98A2B3\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8686\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"\r\n transform=\"translate(0 0.166992)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n <div class=\"form-check form-switch\">\r\n <input (change)=\"onPriceChange('tangotraffic')\" [ngClass]=\"checkIfAtleastOneSelected('tangoTraffic') || productForm.get('tangoZone')?.value ? 'pe-none' : ''\" formControlName=\"tangoTraffic\" class=\"form-check-input\"\r\n type=\"checkbox\" role=\"switch\" id=\"tangotraffic\" checked=\"\">\r\n </div>\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex flex-stack mb-5\"><span class=\"plan-head me-2 fs-14px line-height\"\r\n (click)=\"showViewMore('zone')\">Tango Zone\r\n <span class=\"ms-1 cursor-pointer\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"13\"\r\n height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8686)\">\r\n <path\r\n d=\"M6 8.16699V6.16699M6 4.16699H6.005M11 6.16699C11 8.92842 8.76142 11.167 6 11.167C3.23858 11.167 1 8.92842 1 6.16699C1 3.40557 3.23858 1.16699 6 1.16699C8.76142 1.16699 11 3.40557 11 6.16699Z\"\r\n stroke=\"#98A2B3\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8686\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"\r\n transform=\"translate(0 0.166992)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n <div class=\"form-check form-switch\">\r\n <input (change)=\"onPriceChange('tangozone'); productForm.get('tangoZone')?.value ? productForm.get('tangoTraffic')?.setValue(true) : null\" [ngClass]=\"checkIfAtleastOneSelected('tangoZone') ? 'pe-none' : ''\" formControlName=\"tangoZone\" class=\"form-check-input\"\r\n type=\"checkbox\" role=\"switch\" id=\"tangozone\" checked=\"\">\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-stack mb-20\"><span class=\"plan-head me-2 fs-14px line-height\"\r\n (click)=\"showViewMore('sop')\">Tango Trax\r\n <span class=\"ms-1 cursor-pointer\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"13\"\r\n height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8686)\">\r\n <path\r\n d=\"M6 8.16699V6.16699M6 4.16699H6.005M11 6.16699C11 8.92842 8.76142 11.167 6 11.167C3.23858 11.167 1 8.92842 1 6.16699C1 3.40557 3.23858 1.16699 6 1.16699C8.76142 1.16699 11 3.40557 11 6.16699Z\"\r\n stroke=\"#98A2B3\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8686\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"\r\n transform=\"translate(0 0.166992)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n <div class=\"form-check form-switch\">\r\n <input (change)=\"onPriceChange('tangoTrax')\" [ngClass]=\"checkIfAtleastOneSelected('tangoTrax') ? 'pe-none' : ''\" formControlName=\"tangoTrax\" class=\"form-check-input\"\r\n type=\"checkbox\" role=\"switch\" id=\"tangoTrax\" checked=\"\">\r\n\r\n </div>\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <!-- <div class=\"d-flex flex-stack mb-5\"><span class=\"plan-head me-2 fs-14px line-height\"\r\n (click)=\"showViewMore('support')\">Priority Support\r\n <span class=\"ms-1 cursor-pointer\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"13\"\r\n height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8686)\">\r\n <path\r\n d=\"M6 8.16699V6.16699M6 4.16699H6.005M11 6.16699C11 8.92842 8.76142 11.167 6 11.167C3.23858 11.167 1 8.92842 1 6.16699C1 3.40557 3.23858 1.16699 6 1.16699C8.76142 1.16699 11 3.40557 11 6.16699Z\"\r\n stroke=\"#98A2B3\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8686\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"\r\n transform=\"translate(0 0.166992)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n <div class=\"form-check form-switch\">\r\n <input (change)=\"onPriceChange()\" formControlName=\"prioritySupport\"\r\n class=\"form-check-input\" type=\"checkbox\" role=\"switch\"\r\n id=\"support\" checked=\"\">\r\n\r\n </div>\r\n </div> -->\r\n <!--end::Item-->\r\n\r\n\r\n </div>\r\n <!--end::Features-->\r\n </form>\r\n\r\n\r\n <!--begin::Select-->\r\n <button class=\"btn btn-sm btn-primary button-size w-100\"\r\n (click)=\"plandet('premium')\">Start 14 day trial</button>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n <!--end::Col-->\r\n <!--begin::Col-->\r\n <div class=\"col-md-6 col-lg-4 col-xl-4 col-xxl-4 h-100\">\r\n <div class=\"d-flex align-items-center\">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-start rounded-3 py-15 px-10\"\r\n [ngClass]=\"countOfStore === '101-150'? 'freeplan':'bg-light'\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 text-start\">\r\n <!--begin::Title-->\r\n <h1 class=\"price-head mb-5\">Enterprise</h1>\r\n <!--end::Title-->\r\n\r\n <!--begin::Description-->\r\n <div class=\"price-sub-head mb-5\">\r\n Integrated Solutions for Larger Business\r\n </div>\r\n <!--end::Description-->\r\n\r\n <!--begin::Price-->\r\n <div class=\"text-start mt-12\">\r\n\r\n <span class=\"fs-3x fw-bold text-primary text-val\">\r\n Let\u2019s Talk!</span>\r\n\r\n </div>\r\n <!--end::Price-->\r\n </div>\r\n <!--end::Heading-->\r\n\r\n <!--begin::Features-->\r\n <div class=\"w-100 h-239px mb-10\">\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"price-sub-head fw-semibold \">\r\n Do you have more than 100 stores?</span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-start mb-5\">\r\n <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1199_8736)\">\r\n <path\r\n d=\"M14.6668 7.38625V7.99958C14.666 9.4372 14.2005 10.836 13.3397 11.9875C12.4789 13.1389 11.269 13.9812 9.8904 14.3889C8.51178 14.7965 7.03834 14.7475 5.68981 14.2493C4.34128 13.7511 3.18993 12.8303 2.40747 11.6243C1.62501 10.4183 1.25336 8.99163 1.34795 7.55713C1.44254 6.12263 1.9983 4.75713 2.93235 3.6643C3.8664 2.57146 5.12869 1.80984 6.53096 1.49301C7.93323 1.17619 9.40034 1.32114 10.7135 1.90625M14.6668 2.66625L8.00017 9.33958L6.00017 7.33958\"\r\n stroke=\"#667085\" stroke-width=\"1.3\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1199_8736\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"price-sub-head fw-semibold \">\r\n Rest assured, our dedicated account managers are here to support you\r\n every\r\n step of the way.</span>\r\n\r\n </div>\r\n <!--end::Item-->\r\n\r\n\r\n </div>\r\n <!--end::Features-->\r\n\r\n <!--begin::Select-->\r\n <button class=\"btn btn-sm btn-primary button-size w-100\"\r\n (click)=\"plandet('enterprise')\">Request Call Back</button>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n <!--end::Col-->\r\n </div>\r\n <!--end::Row-->\r\n </div>\r\n <!--end::Plans-->\r\n </div>\r\n </div>\r\n <div class=\"row mt-12\">\r\n <div class=\"col-md-2\">\r\n <button type=\"button\" class=\"btn btn-lg text-nowrap btn-set me-5\" (click)=\"prevStep()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13 15L8 10L13 5\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg> Previous\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3 d-flex flex-column flex-md-row flex-md-stack pt-3 container-fluid\">\r\n <div class=\"text-gray-900 order-2 order-md-1 ms-10\">\r\n <span class=\"me-1 copy\">\u00A9 2024 </span>\r\n <a target=\"_blank\" href=\"https://tangoeye.ai\" class=\"footer\">Tango IT Solutions India Pvt Ltd</a>\r\n </div>\r\n <ul class=\"menu menu-gray-600 menu-hover-primary fw-semibold order-1 me-7\">\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/#aboutus\" class=\"menu-link px-5\">About us</a></li>\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/#contact\" class=\"menu-link px-5\">Contact us</a></li>\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/privacy-policy-2/\" class=\"menu-link px-5\">Privacy & policy</a></li>\r\n </ul>\r\n </div>\r\n</div>\r\n\r\n<div class=\"overlay\" *ngIf=\"popup\">\r\n <div class=\"popup\">\r\n <h3 class=\"fw-bold get-touch my-5\">Get In Touch</h3>\r\n <div class=\"fw-normal get-sub mb-5\">Have questions? We\u2019re here to help. Send us a message, and we\u2019ll respond\r\n within\r\n 24 hours.</div>\r\n <div class=\"notice d-flex bg-light-primary rounded border-primary cursor-pointer my-4\"\r\n (click)=\"checkvalue('time')\" [ngClass]=\"timevalue === 'time'? 'touch-primary':'untouch-primary'\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 36 36\" fill=\"none\" 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\" stroke-width=\"4\" />\r\n <path d=\"M25.3332 14.6663L20.6665 17.9997L25.3332 21.333V14.6663Z\" stroke=\"#00A3FF\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M19.3332 13.333H11.9998C11.2635 13.333 10.6665 13.93 10.6665 14.6663V21.333C10.6665 22.0694 11.2635 22.6663 11.9998 22.6663H19.3332C20.0695 22.6663 20.6665 22.0694 20.6665 21.333V14.6663C20.6665 13.93 20.0695 13.333 19.3332 13.333Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <div class=\"d-flex flex-stack flex-grow-1 flex-wrap flex-md-nowrap\">\r\n <div class=\"mb-3 mb-md-0 \">\r\n <h4 class=\"fw-semibold\" [ngClass]=\"timevalue === 'time'? 'video-title':'untouch-title'\">Schedule\r\n with\r\n Calendly</h4>\r\n <div class=\"fw-normal pe-7\" [ngClass]=\"timevalue === 'time'? 'video-sub':'untouch-sub'\">Choose your\r\n time\r\n slot in the next step.</div>\r\n </div><span *ngIf=\"timevalue ==='time'\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"#00A3FF\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#00A3FF\" />\r\n <path d=\"M11.3332 5.5L6.74984 10.0833L4.6665 8\" stroke=\"white\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <span *ngIf=\"timevalue !=='time'\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"white\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n </svg></span>\r\n\r\n </div>\r\n </div>\r\n <div class=\"notice d-flex bg-light-primary rounded border-primary cursor-pointer my-4\"\r\n (click)=\"checkvalue('call back')\" [ngClass]=\"timevalue === 'call back'? 'touch-primary':'untouch-primary'\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 36 36\" fill=\"none\" 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\" stroke-width=\"4\" />\r\n <g clip-path=\"url(#clip0_1731_70116)\">\r\n <path\r\n d=\"M24.6665 21.2797V23.2797C24.6672 23.4654 24.6292 23.6492 24.5548 23.8193C24.4804 23.9894 24.3713 24.1421 24.2345 24.2676C24.0977 24.3932 23.9362 24.4887 23.7603 24.5482C23.5844 24.6077 23.398 24.6298 23.2131 24.6131C21.1617 24.3902 19.1911 23.6892 17.4598 22.5664C15.849 21.5428 14.4834 20.1772 13.4598 18.5664C12.3331 16.8272 11.632 14.8471 11.4131 12.7864C11.3965 12.6021 11.4184 12.4162 11.4775 12.2408C11.5365 12.0654 11.6315 11.9042 11.7563 11.7675C11.8811 11.6308 12.033 11.5215 12.2023 11.4468C12.3716 11.372 12.5547 11.3332 12.7398 11.3331H14.7398C15.0633 11.3299 15.377 11.4445 15.6223 11.6554C15.8676 11.8664 16.0278 12.1594 16.0731 12.4797C16.1575 13.1198 16.3141 13.7482 16.5398 14.3531C16.6295 14.5917 16.6489 14.851 16.5957 15.1003C16.5426 15.3496 16.419 15.5785 16.2398 15.7597L15.3931 16.6064C16.3422 18.2754 17.7241 19.6574 19.3931 20.6064L20.2398 19.7597C20.4211 19.5805 20.6499 19.457 20.8992 19.4038C21.1485 19.3506 21.4078 19.37 21.6465 19.4597C22.2513 19.6854 22.8797 19.842 23.5198 19.9264C23.8436 19.9721 24.1394 20.1352 24.3508 20.3847C24.5622 20.6343 24.6746 20.9528 24.6665 21.2797Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1731_70116\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(10 10)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div class=\"d-flex flex-stack flex-grow-1 flex-wrap flex-md-nowrap\">\r\n <div class=\"mb-3 mb-md-0 \">\r\n <h4 class=\"fw-semibold\" [ngClass]=\"timevalue === 'call back'? 'video-title':'untouch-title'\">Request\r\n a\r\n call back</h4>\r\n <div class=\"fw-normal pe-7\" [ngClass]=\"timevalue === 'call back'? 'video-title':'untouch-sub'\">We\u2019ll\r\n call\r\n you on +<span>{{aboutFormData?.countryCode}}</span> {{aboutFormData?.mobileNumber}}</div>\r\n </div><span *ngIf=\"timevalue ==='time'\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"white\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n </svg></span>\r\n <span *ngIf=\"timevalue !=='time'\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"#00A3FF\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#00A3FF\" />\r\n <path d=\"M11.3332 5.5L6.74984 10.0833L4.6665 8\" stroke=\"white\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"timevalue === 'call back'\">\r\n\r\n <h3 class=\"title-val fw-semibold my-3\">Select Preferred Timing (IST)</h3>\r\n <div class=\"btn-group\" role=\"group\" aria-label=\"Basic example\">\r\n <button [ngClass]=\"callbackPreferredTiming === '9am -12pm' ? 'popup-tab-selected': ''\" (click)=\"callbackPreferredTiming = '9am -12pm'\" type=\"button\" class=\"btn btn-secondary\">9am -12pm</button>\r\n <button [ngClass]=\"callbackPreferredTiming === '12pm - 5pm' ? 'popup-tab-selected': ''\" (click)=\"callbackPreferredTiming = '12pm - 5pm'\" type=\"button\" class=\"btn btn-secondary\">12pm - 5pm</button>\r\n <button [ngClass]=\"callbackPreferredTiming === '5pm - 8pm' ? 'popup-tab-selected': ''\" (click)=\"callbackPreferredTiming = '5pm - 8pm'\" type=\"button\" class=\"btn btn-secondary\">5pm - 8pm</button>\r\n </div>\r\n <h5 class=\"title-sub fw-normal my-3\">We'll call you back in next 24 business hours</h5>\r\n <textarea [formControl]=\"callbackDescription\" class=\"form-control text-area fw-normal\" placeholder=\"Be more specific...\" row=\"2\"></textarea>\r\n\r\n </div>\r\n <div class=\"row mt-10 mb-7\">\r\n <div class=\"col-md-6\">\r\n <button class=\"btn btn-default fw-bold w-100\" (click)=\"close()\">Cancel</button>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <button class=\"btn btn-primary submit fw-bold w-100\" (click)=\"submitvalue()\">Confirm</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"overlay\" *ngIf=\"requestpopup\">\r\n <div class=\"popup\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Featured icon\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#DAF1FF\"/>\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#EAF8FF\" stroke-width=\"8\"/>\r\n <g id=\"Check icon\">\r\n <rect x=\"16\" y=\"16\" width=\"24\" height=\"24\" rx=\"10\" fill=\"#DAF1FF\"/>\r\n <g id=\"Icon\">\r\n <mask id=\"path-3-inside-1_4346_82646\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M33.0965 23.3897L25.9365 30.2997L24.0365 28.2697C23.6865 27.9397 23.1365 27.9197 22.7365 28.1997C22.3465 28.4897 22.2365 28.9997 22.4765 29.4097L24.7265 33.0697C24.9465 33.4097 25.3265 33.6197 25.7565 33.6197C26.1665 33.6197 26.5565 33.4097 26.7765 33.0697C27.1365 32.5997 34.0065 24.4097 34.0065 24.4097C34.9065 23.4897 33.8165 22.6797 33.0965 23.3797V23.3897Z\"/>\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M33.0965 23.3897L25.9365 30.2997L24.0365 28.2697C23.6865 27.9397 23.1365 27.9197 22.7365 28.1997C22.3465 28.4897 22.2365 28.9997 22.4765 29.4097L24.7265 33.0697C24.9465 33.4097 25.3265 33.6197 25.7565 33.6197C26.1665 33.6197 26.5565 33.4097 26.7765 33.0697C27.1365 32.5997 34.0065 24.4097 34.0065 24.4097C34.9065 23.4897 33.8165 22.6797 33.0965 23.3797V23.3897Z\" fill=\"#33B5FF\" stroke=\"#00A3FF\" stroke-width=\"4\" mask=\"url(#path-3-inside-1_4346_82646)\"/>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n \r\n <h3 class=\"fw-bold get-touch my-5\">Thanks for your request!</h3>\r\n <div class=\"fw-normal get-sub mb-5\">Our team will get back to you shortly. Meanwhile explore more about us.\r\n </div>\r\n <div class=\"row mt-10 mb-7\">\r\n <div class=\"col-md-12\">\r\n <button class=\"btn btn-primary fw-bold w-100\" (click)=\"continuesignup()\">Continue Signing Up</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".bubble{position:fixed;top:0;right:3%}.activeClass{padding:8px 12px!important;gap:8px!important;border-radius:6px!important;background:var(--Primary-25, #F6FCFF)!important;padding:8px 12px;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a!important}.activeClass .store-primary{color:var(--Gray-700, #344054)!important;font-size:16px!important;font-weight:600;line-height:24px}.bg-gray{padding:4px!important;gap:36px!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important;background:var(--Gray-50, #F9FAFB)!important}.text-color{color:var(--Gray-500, #667085)!important;font-size:16px!important;font-weight:600!important;line-height:24px}.heading{color:#000!important;font-size:20px!important;font-weight:600!important;line-height:30px}.textval{color:var(--Gray-500, #2654b9)!important}.border-store{width:32px;height:32px;padding:8px;border-radius:28px!important;background:var(--Primary-100, #DAF1FF)!important}.gap-16px{display:flex;height:40px;padding:16px;align-items:center;gap:4px;border-radius:8px;border:1px solid var(--Primary-300, #6BCAFF);background:var(--Primary-50, #EAF8FF)}.featareaval{color:var(--Primary-800, #008EDF)!important;font-size:14px;font-weight:500;line-height:20px}.bg-light{padding:24px!important;border-radius:8px;border:1px solid var(--Gray-100, #F2F4F7)!important;background:var(--Gray-25, #FCFCFD)!important;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a}.price-head{color:var(--Gray-900, #101828)!important;font-size:24px!important;font-weight:600!important;line-height:32px}.price-sub-head{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.period{color:var(--Gray-500, #667085)!important;font-size:16px!important;font-weight:400!important;line-height:24px}.plan-sub{color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:400!important;line-height:18px}.plan-head{color:var(--Gray-700, #344054)!important;font-size:12px!important;font-weight:500;line-height:18px}.fs-14px{font-size:14px!important;line-height:20px!important}.text-container{position:relative}.top-right{position:absolute;top:68px;left:173px;font-size:18px}.btn-margin{color:var(--White, #FFF)!important;font-size:12px!important;font-weight:600!important;line-height:18px;padding:6px 11px!important;border-radius:4px!important;background:var(--Primary-700, #009BF3)!important}.h-239px{height:239px}.button-size{color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;padding:10px 16px!important}.form-check-input:checked{border-color:#009bf3;border-radius:12px;background-color:var(--Primary-600, #00A3FF)!important}@media (min-width: 1396px) and (max-width: 1440px){.plan-sub{color:var(--Gray-500, #667085)!important;font-size:10px!important;font-weight:400!important;line-height:18px}}@media (min-width: 1920px) and (max-width: 2100px){.top-right{left:272px}}@media (min-width: 1745px) and (max-width: 1910px){.top-right{left:225px}}@media (min-width: 1706px) and (max-width: 1744px){.top-right{left:216px}}@media (min-width: 1430px) and (max-width: 1439px){.top-right{left:158px}}@media (min-width: 1396px) and (max-width: 1410px){.top-right{left:148px}}@media (min-width: 1410px) and (max-width: 1430px){.top-right{left:153px}}@media (min-width: 1439px) and (max-width: 1475px){.top-right{left:162px}}@media (min-width: 1475px) and (max-width: 1500px){.top-right{left:165px}}@media (min-width: 1547px) and (max-width: 1600px){.top-right{left:189px}}@media (min-width: 1600px) and (max-width: 1635px){.top-right{left:199px}}@media (min-width: 1635px) and (max-width: 1675px){.top-right{left:209px}}@media (min-width: 2160px) and (max-width: 2560px){.top-right{left:438px}}.activePlanBtn{border-radius:6px;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a!important;color:var(--Gray-700, #344054);font-size:14px!important;font-weight:500!important;line-height:20px}.inactivePlanBtn{color:var(--Gray-500, #667085)!important;font-size:14px;font-weight:500!important;line-height:20px}.nav-group{background:var(--Gray-50, #F9FAFB)!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important}.freeplan{padding:24px!important;border-radius:8px!important;border:1px solid var(--Primary-100, #DAF1FF)!important;background:var(--Primary-25, #F6FCFF)!important;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a!important;width:100%}.text-val{color:var(--Primary-700, #009BF3)!important;font-size:24px!important;font-weight:600!important;line-height:32px}.text-set{color:var(--Primary-700, #009BF3)!important;font-size:18px!important;font-weight:600!important;line-height:32px;text-decoration-line:line-through!important}.btn-set{color:var(--Primary-700, #009BF3)!important;font-size:16px!important;font-weight:600!important;line-height:24px;border-radius:8px;border:1px solid var(--Primary-50, #EAF8FF)!important;background:var(--Primary-50, #EAF8FF)!important;box-shadow:0 1px 2px #1018280d!important}.life-title{color:var(--Primary-700, #009BF3)!important;text-align:center;font-size:12px!important;line-height:18px;padding:2px 8px!important;border-radius:16px!important;background:var(--Primary-50, #EAF8FF)!important}.get-touch{color:var(--Gray-900, #101828);font-size:18px;line-height:28px}.get-sub{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.touch-primary{padding:16px;border-radius:8px!important;border:1px solid var(--Primary-300, #6BCAFF)!important;background:var(--Primary-50, #EAF8FF)!important}.video-title{color:var(--Primary-800, #008EDF);font-size:14px;line-height:20px}.video-sub{color:var(--Primary-600, #00A3FF);font-size:14px;line-height:20px}.untouch-primary{padding:16px!important;border-radius:8px!important;border:1px solid var(--Gray-200, #EAECF0)!important;background:var(--White, #FFF)!important}.untouch-title{color:var(--Gray-700, #344054)!important;font-size:14px!important;line-height:20px}.untouch-sub{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:16px!important;line-height:24px;text-transform:capitalize}.btn-primary.submit{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:16px!important;line-height:24px;text-transform:capitalize}.btn-group{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;box-shadow:0 1px 2px #1018280d!important}.btn-secondary{border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important}.btn-check:checked+.btn.btn-secondary,.btn-check:active+.btn.btn-secondary,.btn.btn-secondary:focus:not(.btn-active),.btn.btn-secondary:hover:not(.btn-active),.btn.btn-secondary:active:not(.btn-active),.btn.btn-secondary.active,.btn.btn-secondary.show,.show>.btn.btn-secondary{background-color:var(--Gray-50, #F9FAFB)!important}.title-val{color:var(--Gray-700, #344054);font-size:14px;line-height:20px}.title-sub{color:var(--Primary-500, #33B5FF);font-size:12px;line-height:19.5px}.text-area{color:var(--Gray-500, #667085)!important;font-size:16px!important;line-height:24px!important}.overlay{position:fixed;inset:0;background:#6e6e6eb3;transition:opacity .5s;visibility:visible;opacity:1}.popup{position:absolute;left:62%;top:50%;transform:translate(-50%,-50%);padding:24px;background:var(--White, #FFF);box-shadow:0 8px 8px -4px #10182808,0 20px 24px -4px #10182814;border-radius:12px;width:480px;position:relative;transition:all 5s ease-in-out}.popup h2{margin-top:0;color:#333;font-family:Tahoma,Arial,sans-serif}.popup .close{position:absolute;transition:all .2s;font-size:30px;font-weight:700;text-decoration:none;color:#333}.popup .close:hover{color:#06d85f;cursor:pointer}.popup .content{max-height:30%;overflow:auto}.popup-tab-selected{background-color:#eaf8ff!important;color:#008edf!important}.copy,.footer{color:#7e8299!important;font-size:16px!important;font-weight:500!important}.footer:hover{color:#1b84ff!important}.line-height{line-height:32px!important}.disabled{opacity:.5;pointer-events:none}.btn-check:checked+.btn.btn-secondary,.btn-check:active+.btn.btn-secondary,.btn.btn-secondary:focus:not(.btn-active),.btn.btn-secondary:active:not(.btn-active),.btn.btn-secondary.active,.btn.btn-secondary.show,.show>.btn.btn-secondary{background-color:#eaf8ff!important;color:#008edf!important}.inActiveClass{padding:8px 12px!important}\n"] }]
373
391
  }], ctorParameters: () => [{ type: i1.NgbModal }, { type: i2.ConversionService }, { type: i3.AuthService }, { type: i4.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: i5.ToastService }] });
374
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcDIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYXV0aC1zaWdudXAvc3RlcC9zdGVwMi9zdGVwMi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hdXRoL3NyYy9saWIvY29tcG9uZW50cy90YW5nby1hdXRoLXNpZ251cC9zdGVwL3N0ZXAyL3N0ZXAyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUdqRixPQUFPLEVBQWUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7O0FBUXBGLE1BQU0sT0FBTyxjQUFjO0lBd0doQjtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUE1R1YsV0FBVyxHQUFRO1FBQ2pCO1lBQ0UsSUFBSSxFQUFFLFVBQVU7WUFDaEIsTUFBTSxFQUFFLEtBQUs7WUFDYixLQUFLLEVBQUUsR0FBRztTQUNYO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxLQUFLO1lBQ2IsS0FBSyxFQUFFLE1BQU07U0FDZDtRQUNEO1lBQ0UsSUFBSSxFQUFFLE9BQU87WUFDYixNQUFNLEVBQUUsS0FBSztZQUNiLEtBQUssRUFBRSxPQUFPO1NBQ2Y7UUFDRDtZQUNFLElBQUksRUFBRSxPQUFPO1lBQ2IsTUFBTSxFQUFFLEtBQUs7WUFDYixLQUFLLEVBQUUsT0FBTztTQUNmO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxLQUFLO1lB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QUFBO1NBQ1o7YUFBTSxJQUFHLE9BQU8sS0FBSyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFDO1lBQ3pLLE9BQU8sSUFBSSxDQUFBO1NBQ1o7YUFBTSxJQUFHLE9BQU8sS0FBSyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFDO1lBQ3pLLE9BQU8sSUFBSSxDQUFBO1NBQ1o7YUFBSTtZQUNILE9BQU8sS0FBSyxDQUFBO1NBQ2I7SUFDSCxDQUFDO3dHQTFYVSxjQUFjOzRGQUFkLGNBQWMsaURDZjNCLHFucERBZ29CTTs7NEZEam5CTyxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiTW9kYWwsIE5nYk1vZGFsT3B0aW9ucyB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgTW9kYWxDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vbW9kYWwtY29udGVudC9tb2RhbC1jb250ZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbnZlcnNpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29udmVyc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENhbGVuZGx5TW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRseS1tb2RhbC9jYWxlbmRseS1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImxpYi1zdGVwMlwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vc3RlcDIuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL3N0ZXAyLmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdGVwMkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcclxuICBzdG9yZUNvdW50czogYW55ID0gW1xyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIjEgKEZyZWUpXCIsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgIHZhbHVlOiBcIjFcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiMi0yNVwiLFxyXG4gICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICB2YWx1ZTogXCIyLTI1XCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIjI2LTUwXCIsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgIHZhbHVlOiBcIjI2LTUwXCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIjUxLTc1XCIsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgIHZhbHVlOiBcIjUxLTc1XCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIjc2LTEwMFwiLFxyXG4gICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICB2YWx1ZTogXCI3Ni0xMDBcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiMTAxK1wiLFxyXG4gICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICB2YWx1ZTogXCIxMDEtMTUwXCIsXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgZmVhdEFyZWFPcHRpb25zOiBhbnkgPSBbXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiNTAtNTAwIHNxLmZ0XCIsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgdmFsdWU6IFwiNTAtNTAwXCIsXHJcbiAgICAgIGNhbWVyYXM6IFwiMlwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGV4dDogXCI1MDAtNzUwIHNxLmZ0XCIsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgdmFsdWU6IFwiNTAwLTc1MFwiLFxyXG4gICAgICBjYW1lcmFzOiBcIjJcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiNzUwLTEwMDAgc3EuZnRcIixcclxuICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICB2YWx1ZTogXCI3NTAtMTAwMFwiLFxyXG4gICAgICBjYW1lcmFzOiBcIjNcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiMTAwMC0xNTAwIHNxLmZ0XCIsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgdmFsdWU6IFwiMTAwMC0xNTAwXCIsXHJcbiAgICAgIGNhbWVyYXM6IFwiM1wiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGV4dDogXCIxNTAwLTIwMDAgc3EuZnRcIixcclxuICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICB2YWx1ZTogXCIxNTAwLTIwMDBcIixcclxuICAgICAgY2FtZXJhczogXCIzXCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIjIwMDArIHNxLmZ0XCIsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgdmFsdWU6IFwiMjAwMCtcIixcclxuICAgICAgY2FtZXJhczogXCIzXCIsXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgc2VsZWN0ZWRDb3VudHM6IGFueTtcclxuICBjb3VudE9mU3RvcmU6IGFueTtcclxuICBmZWF0QXJlYTogYW55O1xyXG4gIHN0b3JlZGV0aWFsczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHRleHR2YWw6IHN0cmluZztcclxuICBwcmljZXZhbHVlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHNob3dtb3JlOiBib29sZWFuO1xyXG4gIGZyZWVwbGFuOiBzdHJpbmc7XHJcbiAgcGxhbjogYW55ID0gXCJtb250aGx5XCI7XHJcbiAgcmVxdWVzdHBvcHVwOiBib29sZWFuO1xyXG4gIHBvcHVwOiBib29sZWFuO1xyXG4gIHRpbWV2YWx1ZTogYW55ID0gXCJ0aW1lXCI7XHJcbiAgZmVhdEFyZWFDYW1lcmE6IGFueTtcclxuICBwbGFuTmFtZTogYW55O1xyXG4gIHByb2R1Y3RGb3JtOiBGb3JtR3JvdXA7XHJcbiAgY2FsbGJhY2tQcmVmZXJyZWRUaW1pbmc6IHN0cmluZyA9IFwiXCI7XHJcbiAgY2FsbGJhY2tEZXNjcmlwdGlvbiA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIGFib3V0Rm9ybURhdGE6IGFueTtcclxuICBwcmljaW5nRm9ybURhdGE6IGFueTtcclxuICBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHNlbGVjdGVkRmVldEFyZWE6IGFueTtcclxuICBwcmljaW5nRGF0YTogYW55O1xyXG4gIGVuYWJsZTogYm9vbGVhbjtcclxuICBjdXJyZW5jeTogYW55PSdydXBlZXMnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxyXG4gICAgcHJpdmF0ZSBzZXR0ZXJzZXJ2aWNlOiBDb252ZXJzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aHNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuaW5pdEZvcm0oKTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLmF1dGhzZXJ2aWNlLmFib3V0Rm9ybURhdGEuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICB0aGlzLmFib3V0Rm9ybURhdGEgPSByZXM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy5hdXRoc2VydmljZS5wcmljaW5nRm9ybURhdGEuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICBpZiAocmVzLnRvdGFsU3RvcmVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlU3RvcmVDb3VudChyZXMudG90YWxTdG9yZXMsICdza2lwLXByaWNpbmctY2hlY2snKTtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZUNvdW50cy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoZWxlbWVudC52YWx1ZSA9PT0gcmVzLnRvdGFsU3RvcmVzLnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICBlbGVtZW50LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChyZXMuc3RvcmVTaXplKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlZmVhdEFyZWEocmVzLnN0b3JlU2l6ZSwgJ3NraXAtcHJpY2luZy1jaGVjaycpO1xyXG4gICAgICAgICAgICB0aGlzLmZlYXRBcmVhT3B0aW9ucy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoZWxlbWVudC52YWx1ZSA9PT0gcmVzLnN0b3JlU2l6ZS52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhpcy5wbGFuID0gcmVzLnN1YnNjcmlwdGlvblBlcmlvZDtcclxuICAgICAgICAgIHRoaXMucGxhbk5hbWUgPSByZXMuc3Vic2NyaXB0aW9uVHlwZTtcclxuICAgICAgICAgIHRoaXMucHJvZHVjdEZvcm0ucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgICAgIHRhbmdvVHJhZmZpYzogcmVzLnByb2R1Y3QudGFuZ29UcmFmZmljLFxyXG4gICAgICAgICAgICB0YW5nb1pvbmU6IHJlcy5wcm9kdWN0LnRhbmdvWm9uZSxcclxuICAgICAgICAgICAgdGFuZ29UcmF4OiByZXMucHJvZHVjdC50YW5nb1RyYXgsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuZ2V0UHJpY2luZ0RhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIFxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHsgICAgXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3Vic2NyaXB0aW9uKSA9PiB7XHJcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpbml0Rm9ybSgpIHtcclxuICAgIHRoaXMucHJvZHVjdEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgdGFuZ29UcmFmZmljOiBbdHJ1ZV0sXHJcbiAgICAgIHRhbmdvWm9uZTogW2ZhbHNlXSxcclxuICAgICAgdGFuZ29UcmF4OiBbZmFsc2VdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhY3RpdmVTdG9yZUNvdW50KGRhdGE6IGFueSwgbWVzc2FnZT86c3RyaW5nKSB7XHJcbiAgICB0aGlzLnN0b3JlQ291bnRzLmZvckVhY2goKHZhbDogYW55KSA9PiB7XHJcbiAgICAgIHZhbC5hY3RpdmUgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZWxlY3RlZENvdW50cyA9IGRhdGE7XHJcbiAgICBkYXRhLmFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLmNvdW50T2ZTdG9yZSA9IGRhdGEudmFsdWU7XHJcbiAgICB0aGlzLnN0b3JlZGV0aWFscyA9IHRydWU7XHJcbiAgICBpZihtZXNzYWdlICE9PSAnc2tpcC1wcmljaW5nLWNoZWNrJyl7XHJcbiAgICAgIHRoaXMuZ2V0UHJpY2luZ0RhdGEoKTtcclxuICAgIH1cclxuICAgIGlmIChkYXRhLnZhbHVlID09IDEpIHtcclxuICAgICAgLy8gRGlzYWJsZSB0aGUgbGFzdCB0aHJlZSBvcHRpb25zIGluIGZlYXRBcmVhT3B0aW9uc1xyXG4gICAgICBmb3IgKFxyXG4gICAgICAgIGxldCBpID0gdGhpcy5mZWF0QXJlYU9wdGlvbnMubGVuZ3RoIC0gMTtcclxuICAgICAgICBpID49IHRoaXMuZmVhdEFyZWFPcHRpb25zLmxlbmd0aCAtIDM7XHJcbiAgICAgICAgaS0tXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZmVhdEFyZWFPcHRpb25zW2ldLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmZlYXRBcmVhT3B0aW9uc1tpXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAvLyB0aGlzLmZlYXRBcmVhQ2FtZXJhPScnIFxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmb3IgKFxyXG4gICAgICAgIGxldCBpID0gdGhpcy5mZWF0QXJlYU9wdGlvbnMubGVuZ3RoIC0gMTtcclxuICAgICAgICBpID49IHRoaXMuZmVhdEFyZWFPcHRpb25zLmxlbmd0aCAtIDM7XHJcbiAgICAgICAgaS0tXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZmVhdEFyZWFPcHRpb25zW2ldLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgYWN0aXZlZmVhdEFyZWEoZGF0YTogYW55LCBtZXNzYWdlPzpzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGZWV0QXJlYSA9IGRhdGE7XHJcbiAgICB0aGlzLmZlYXRBcmVhT3B0aW9ucy5mb3JFYWNoKCh2YWw6IGFueSkgPT4ge1xyXG4gICAgICB2YWwuYWN0aXZlID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICAgIGRhdGEuYWN0aXZlID0gdHJ1ZTtcclxuICAgIHRoaXMuZmVhdEFyZWEgPSBkYXRhLnZhbHVlO1xyXG4gICAgdGhpcy5mZWF0QXJlYUNhbWVyYSA9IGRhdGEuY2FtZXJhcztcclxuICAgIHRoaXMucHJpY2V2YWx1ZSA9IHRydWU7XHJcbiAgICBpZihtZXNzYWdlICE9PSAnc2tpcC1wcmljaW5nLWNoZWNrJyl7XHJcbiAgICAgIHRoaXMuZ2V0UHJpY2luZ0RhdGEoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3dWaWV3TW9yZShkYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihNb2RhbENvbnRlbnRDb21wb25lbnQsIHtcclxuICAgICAgc2l6ZTogXCJsZ1wiLFxyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudXNlciA9IGRhdGE7XHJcbiAgICAvLyBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS53aWR0aCA9ICcxMDAwcHgnOyAvLyBTZXQgY3VzdG9tIHdpZHRoXHJcbiAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcmV2U3RlcCgpIHtcclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIHRvdGFsU3RvcmVzOiB0aGlzLnNlbGVjdGVkQ291bnRzLFxyXG4gICAgICBzdG9yZVNpemU6IHRoaXMuc2VsZWN0ZWRGZWV0QXJlYSxcclxuICAgICAgc3Vic2NyaXB0aW9uUGVyaW9kOiB0aGlzLnBsYW4sXHJcbiAgICAgIHN1YnNjcmlwdGlvblR5cGU6IHRoaXMucGxhbk5hbWUsXHJcbiAgICAgIHByb2R1Y3Q6IHRoaXMucHJvZHVjdEZvcm0udmFsdWUsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5hdXRoc2VydmljZS5wcmljaW5nRm9ybURhdGEubmV4dChvYmopO1xyXG4gICAgdGhpcy5zZXR0ZXJzZXJ2aWNlLmNvbXBsZXRlU3RlcHBlcih7IHN0ZXA6IDEsIHByZXY6IHRydWUgfSk7XHJcbiAgfVxyXG4gIHBsYW5kZXQodHlwZTogYW55KSB7XHJcbiAgICB0aGlzLnBsYW5OYW1lID0gdHlwZTtcclxuICAgIGlmICh0eXBlID09PSBcImVudGVycHJpc2VcIikge1xyXG4gICAgICBsZXQgb2JqID0ge1xyXG4gICAgICAgIHRvdGFsU3RvcmVzOiB0aGlzLnNlbGVjdGVkQ291bnRzLFxyXG4gICAgICAgIHN0b3JlU2l6ZTogdGhpcy5zZWxlY3RlZEZlZXRBcmVhLFxyXG4gICAgICAgIHN1YnNjcmlwdGlvblBlcmlvZDogdGhpcy5wbGFuLFxyXG4gICAgICAgIHN1YnNjcmlwdGlvblR5cGU6IHRoaXMucGxhbk5hbWUsXHJcbiAgICAgICAgcHJvZHVjdDogdGhpcy5wcm9kdWN0Rm9ybS52YWx1ZSxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5hdXRoc2VydmljZS5wcmljaW5nRm9ybURhdGEubmV4dChvYmopO1xyXG4gICAgICB0aGlzLnBvcHVwID0gdHJ1ZTtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKFwib3ZlcmxheS1vcGVuXCIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IG9iaiA9IHtcclxuICAgICAgICB0b3RhbFN0b3JlczogdGhpcy5zZWxlY3RlZENvdW50cyxcclxuICAgICAgICBzdG9yZVNpemU6IHRoaXMuc2VsZWN0ZWRGZWV0QXJlYSxcclxuICAgICAgICBzdWJzY3JpcHRpb25QZXJpb2Q6IHRoaXMucGxhbixcclxuICAgICAgICBzdWJzY3JpcHRpb25UeXBlOiB0aGlzLnBsYW5OYW1lLFxyXG4gICAgICAgIHByb2R1Y3Q6IHRoaXMucHJvZHVjdEZvcm0udmFsdWUsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuYXV0aHNlcnZpY2UucHJpY2luZ0Zvcm1EYXRhLm5leHQob2JqKTtcclxuICAgICAgdGhpcy5zZXR0ZXJzZXJ2aWNlLmNvbXBsZXRlU3RlcHBlcih7IHN0ZXA6IDMgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RQbGFuKHR5cGU6IGFueSkge1xyXG4gICAgdGhpcy5wbGFuID0gdHlwZTtcclxuICAgIHRoaXMuZ2V0UHJpY2luZ0RhdGEoKTtcclxuICB9XHJcblxyXG4gIGNoZWNrdmFsdWUodHlwZTogYW55KSB7XHJcbiAgICB0aGlzLnRpbWV2YWx1ZSA9IHR5cGU7XHJcbiAgfVxyXG4gIHN1Ym1pdHZhbHVlKCkge1xyXG4gICAgaWYgKHRoaXMudGltZXZhbHVlID09PSBcImNhbGwgYmFja1wiKSB7XHJcbiAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgIHBsYW5OYW1lOiB0aGlzLnBsYW5OYW1lLFxyXG4gICAgICAgIGNsaWVudE5hbWU6IHRoaXMuYWJvdXRGb3JtRGF0YS5jbGllbnROYW1lLFxyXG4gICAgICAgIHRpbWVTbG90OiB0aGlzLmNhbGxiYWNrUHJlZmVycmVkVGltaW5nLFxyXG4gICAgICAgIGNvbnRhY3ROdW1iZXI6IHRoaXMuYWJvdXRGb3JtRGF0YS5tb2JpbGVOdW1iZXI/LnRvU3RyaW5nKCksXHJcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuY2FsbGJhY2tEZXNjcmlwdGlvbi52YWx1ZSxcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgIHRoaXMuYXV0aHNlcnZpY2UucmVxdWVzdENhbGxiYWNrKGRhdGEpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgICAgICB0aGlzLnBvcHVwID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZXF1ZXN0cG9wdXAgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgICAgaWYgKGVycikge1xyXG4gICAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QoZXJyLmVycm9yLmVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnRpbWV2YWx1ZSA9PT0gXCJ0aW1lXCIpIHtcclxuICAgICAgdGhpcy5vcGVuQ2FsZW5kbHlNb2RhbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMucG9wdXAgPSBmYWxzZTtcclxuICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShcIm92ZXJsYXktb3BlblwiKTtcclxuICB9XHJcblxyXG4gIGNvbnRpbnVlc2lnbnVwKCkge1xyXG4gICAgdGhpcy5yZXF1ZXN0cG9wdXAgPSBmYWxzZTtcclxuICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShcIm92ZXJsYXktb3BlblwiKTtcclxuICAgIHRoaXMuc2V0dGVyc2VydmljZS5jb21wbGV0ZVN0ZXBwZXIoeyBzdGVwOiAzIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlbkNhbGVuZGx5TW9kYWwoKSB7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oQ2FsZW5kbHlNb2RhbENvbXBvbmVudCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgc2l6ZTogXCJ4bFwiLFxyXG4gICAgICBzY3JvbGxhYmxlOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICBsZXQgdXNlckRhdGEgPSB7XHJcbiAgICAgIG5hbWU6IGVuY29kZVVSSUNvbXBvbmVudChcclxuICAgICAgICBgJHt0aGlzLmFib3V0Rm9ybURhdGE/LmZpcnN0TmFtZX0gJHt0aGlzLmFib3V0Rm9ybURhdGE/Lmxhc3ROYW1lfWBcclxuICAgICAgKSxcclxuICAgICAgZW1haWw6IGVuY29kZVVSSUNvbXBvbmVudChgJHt0aGlzLmFib3V0Rm9ybURhdGEuY29ycG9yYXRlRW1haWx9YCksXHJcbiAgICB9O1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudXNlckRhdGEgPSB1c2VyRGF0YTtcclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdC50eXBlID09PSBcInNjaGVkdWxlZFwiKSB7XHJcbiAgICAgICAgdGhpcy5wb3B1cCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucmVxdWVzdHBvcHVwID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRQcmljaW5nRGF0YSgpIHtcclxuaWYodGhpcy5hYm91dEZvcm1EYXRhLmNvdW50cnlDb2RlID09PSc5MScpe1xyXG4gIHRoaXMuY3VycmVuY3kgPSdydXBlZXMnXHJcbn0gZWxzZSB7XHJcbiAgdGhpcy5jdXJyZW5jeSA9J2RvbGxhcidcclxufVxyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIGNhbWFyYVBlclNxZnQ6IHRoaXMuc2VsZWN0ZWRGZWV0QXJlYT8udmFsdWUsXHJcbiAgICAgIHN0b3Jlc0NvdW50OiB0aGlzLnNlbGVjdGVkQ291bnRzPy52YWx1ZSxcclxuICAgICAgcGxhbk5hbWU6IHRoaXMucGxhbixcclxuICAgICAgcHJvZHVjdHM6IHRoaXMuZ2V0VHJ1ZUtleXModGhpcy5wcm9kdWN0Rm9ybS52YWx1ZSksXHJcbiAgICAgIGN1cnJlbmN5VHlwZTogdGhpcy5jdXJyZW5jeSxcclxuICAgIH07XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy5hdXRoc2VydmljZS5nZXRQcmljaW5nKGRhdGEpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgICBpZihlLmRhdGEuT3JpZ2luYWxQcmljZSl7XHJcbiAgICAgICAgICAgIHRoaXMucHJpY2luZ0RhdGEgPSBlLmRhdGE7ICAgICAgICAgICAgXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFRydWVLZXlzKG9iajogYW55KSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqKS5maWx0ZXIoKGtleSkgPT4gb2JqW2tleV0gPT09IHRydWUpO1xyXG4gIH1cclxuXHJcbiAgb25QcmljZUNoYW5nZSgpIHtcclxuICAgIHRoaXMuZ2V0UHJpY2luZ0RhdGEoKTtcclxuICB9XHJcblxyXG4gIGNoZWNrSWZBdGxlYXN0T25lU2VsZWN0ZWQocHJvZHVjdDpzdHJpbmcpeyAgICBcclxuICAgIGlmKHByb2R1Y3QgPT09ICd0YW5nb1RyYWZmaWMnICYmIHRoaXMucHJvZHVjdEZvcm0uZ2V0KCd0YW5nb1RyYWZmaWMnKT8udmFsdWUgJiYgIXRoaXMucHJvZHVjdEZvcm0uZ2V0KCd0YW5nb1pvbmUnKT8udmFsdWUgJiYgIXRoaXMucHJvZHVjdEZvcm0uZ2V0KCd0YW5nb1RyYXgnKT8udmFsdWUpe1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfSBlbHNlIGlmKHByb2R1Y3QgPT09ICd0YW5nb1pvbmUnICYmICF0aGlzLnByb2R1Y3RGb3JtLmdldCgndGFuZ29UcmFmZmljJyk/LnZhbHVlICYmIHRoaXMucHJvZHVjdEZvcm0uZ2V0KCd0YW5nb1pvbmUnKT8udmFsdWUgJiYgIXRoaXMucHJvZHVjdEZvcm0uZ2V0KCd0YW5nb1RyYXgnKT8udmFsdWUpe1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfSBlbHNlIGlmKHByb2R1Y3QgPT09ICd0YW5nb1RyYXgnICYmICF0aGlzLnByb2R1Y3RGb3JtLmdldCgndGFuZ29UcmFmZmljJyk/LnZhbHVlICYmICF0aGlzLnByb2R1Y3RGb3JtLmdldCgndGFuZ29ab25lJyk/LnZhbHVlICYmIHRoaXMucHJvZHVjdEZvcm0uZ2V0KCd0YW5nb1RyYXgnKT8udmFsdWUpe1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBtdC0xMCBteC0xNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImgtMTAwIHB4LTUgbXgtNSAgbXQtN1wiPlxyXG4gICAgICAgIDwhLS0gPGltZyBjbGFzcz1cImJ1YmJsZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL1NpZ251cC1idWJibGUtaWNvbi5zdmdcIlxyXG4gICAgICAgICBhbHQ9XCJcIiBzcmNzZXQ9XCJcIj4gLS0+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gYmVmb3JlQ2hvb3NpbmcgIG15LTEyXCI+XHJcbiAgICAgICAgICAgIDxoMSBjbGFzcz1cImhlYWRpbmcgbWItNVwiPkhvdyBtYW55IHN0b3JlcyBkbyB5b3UgaGF2ZT88L2gxPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy05IGNvbC14bC04IGNvbC14eGwtOCB3LWF1dG9cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBiZy1ncmF5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgaW5BY3RpdmVDbGFzcyBjdXJzb3ItcG9pbnRlciBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvdW50IG9mIHN0b3JlQ291bnRzXCIgKGNsaWNrKT1cImFjdGl2ZVN0b3JlQ291bnQoY291bnQpXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlQ2xhc3NdPVwiY291bnQuYWN0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZzLTQgZnctYm9sZFwiIFtuZ0NsYXNzXT1cImNvdW50LmFjdGl2ZSA9PT0gdHJ1ZT8gJ3N0b3JlLXByaW1hcnknOid0ZXh0LWNvbG9yJ1wiPnt7IGNvdW50LnRleHQgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN0b3JlZGV0aWFsc1wiPlxyXG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiaGVhZGluZyBtdC0xMCBtYi01IFwiPldoYXQncyB0aGUgYXZlcmFnZSBzaXplIG9mIHlvdXIgc3RvcmU/PC9oMj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy0xMiBjb2wteGwtMTIgY29sLXh4bC0xMiB3LWF1dG9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYmctZ3JheVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBpbkFjdGl2ZUNsYXNzIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlQ2xhc3NdPVwiaS5hY3RpdmVcIiBbY2xhc3MuZGlzYWJsZWRdPVwiaS5kaXNhYmxlZFwiICpuZ0Zvcj1cImxldCBpIG9mIGZlYXRBcmVhT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGl2ZWZlYXRBcmVhKGkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXgtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnMtNCBmdy1ib2xkXCIgW25nQ2xhc3NdPVwiaS5hY3RpdmUgPT09IHRydWU/ICdzdG9yZS1wcmltYXJ5JzondGV4dC1jb2xvcidcIj57eyBpLnRleHQgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZlYXRBcmVhQ2FtZXJhXCIgY2xhc3M9XCJub3RpY2UgZC1mbGV4ICBtdC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMTZweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJvcmRlci1zdG9yZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEuMzMzNSA5LjY2NjY3TDguMDAwMTYgMTNMMTQuNjY2OCA5LjY2NjY3TTguMDAwMTYgM0wxLjMzMzUgNi4zMzMzM0w4LjAwMDE2IDkuNjY2NjdMMTQuNjY2OCA2LjMzMzMzTDguMDAwMTYgM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmVhdGFyZWF2YWwgbXMtNFwiPk1heGltdW0ge3tmZWF0QXJlYUNhbWVyYX19IENhbWVyYXMgYXJlIHBlcm1pdHRlZCBpbiBzdG9yZXMgd2l0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3F1YXJlIGZlZXQgYmV0d2VlblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tmZWF0QXJlYX19LjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJpY2V2YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweC0wIG10LTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpQbGFucy0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpIZWFkaW5nLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0xMCB0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDEgY2xhc3M9XCJoZWFkaW5nIG1iLTVcIj5QbGFuIERldGFpbHM8L2gxPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6SGVhZGluZy0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpOYXYgZ3JvdXAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1ncm91cCBuYXYtZ3JvdXAtb3V0bGluZSBteC1hdXRvIG1iLTE1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1jb2xvci1ncmF5LTYwMCBidG4tYWN0aXZlIGJ0bi1hY3RpdmUtc2Vjb25kYXJ5IHB4LTYgcHktMyBtZS0yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJwbGFuID09PSAnbW9udGhseSc/ICdhY3RpdmVQbGFuQnRuJzonaW5hY3RpdmVQbGFuQnRuJ1wiIGRhdGEta3QtcGxhbj1cIm1vbnRoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UGxhbignbW9udGhseScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9udGhseVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tY29sb3ItZ3JheS02MDAgYnRuLWFjdGl2ZSBidG4tYWN0aXZlLXNlY29uZGFyeSBweC02IHB5LTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInBsYW4gPT09ICdxdWFydGVybHknPyAnYWN0aXZlUGxhbkJ0bic6J2luYWN0aXZlUGxhbkJ0bidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEta3QtcGxhbj1cIlF1YXJ0ZXJseVwiIChjbGljayk9XCJzZWxlY3RQbGFuKCdxdWFydGVybHknKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFF1YXJ0ZXJseSAtIDEwJVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1jb2xvci1ncmF5LTYwMCBidG4tYWN0aXZlIGJ0bi1hY3RpdmUtc2Vjb25kYXJ5IHB4LTYgcHktM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwicGxhbiA9PT0gJ2FubnVhbCc/ICdhY3RpdmVQbGFuQnRuJzonaW5hY3RpdmVQbGFuQnRuJ1wiIGRhdGEta3QtcGxhbj1cImFubnVhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFBsYW4oJ2FubnVhbCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5udWFsIC0gMTUlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Ok5hdiBncm91cC0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpSb3ctLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnLTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46OkNvbC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC1sZy00IGNvbC14bC00IGNvbC14eGwtNCBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Ok9wdGlvbi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtc3RhcnQgcm91bmRlZC0zICAgcHktMTUgcHgtMTBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY291bnRPZlN0b3JlID09PSAnMSc/ICdmcmVlcGxhbic6J2JnLWxpZ2h0J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpIZWFkaW5nLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNyB0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpUaXRsZS0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMSBjbGFzcz1cInByaWNlLWhlYWQgbWItNVwiPkZyZWUgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGlmZS10aXRsZSBmdy1zZW1pYm9sZCBteC0yXCI+TGlmZXRpbWU8L3NwYW4+PC9oMT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpUaXRsZS0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46OkRlc2NyaXB0aW9uLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXN1Yi1oZWFkIG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZWdyYXRlZCBTb2x1dGlvbiBmb3Igc2luZ2xlIHN0b3JlIG93bmVyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6OkRlc2NyaXB0aW9uLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6UHJpY2UtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdGFydCBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYi0yIHRleHQtcHJpbWFyeSB0ZXh0LXZhbCBtcy0xXCIgKm5nSWY9XCJ0aGlzLmFib3V0Rm9ybURhdGEuY291bnRyeUNvZGU9PT0nOTEnXCI+4oK5PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1iLTIgdGV4dC1wcmltYXJ5IHRleHQtdmFsIG1zLTFcIiAqbmdJZj1cInRoaXMuYWJvdXRGb3JtRGF0YS5jb3VudHJ5Q29kZSAhPT0nOTEnXCI+JDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0zeCBmdy1ib2xkIHRleHQtcHJpbWFyeSB0ZXh0LXZhbFwiPjAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6OlByaWNlLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVyaW9kXCI+cGVyIHN0b3JlIHBlciBtb250aDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6SGVhZGluZy0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6RmVhdHVyZXMtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1zdGFjayBtYi0xMFwiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBsYW4taGVhZCBtZS0yIGZzLTE0cHhcIj5UYW5nbyBUcmFmZmljPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIHJvbGU9XCJzd2l0Y2hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwidGFuZ290cmFmZmljXCIgY2hlY2tlZD1cIlwiIGRpc2FibGVkPVwiXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtYi0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBsYW4taGVhZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWNjdXJhdGVseSBtZWFzdXJlIHRyYWZmaWMgYW5kIG1hcCBzaG9wcGVy4oCZcyBpbi1zdG9yZSBqb3VybmV5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpJdGVtLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpJdGVtLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydCBtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMlwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMTk5Xzg3MzYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE0LjY2NjggNy4zODYyNVY3Ljk5OTU4QzE0LjY2NiA5LjQzNzIgMTQuMjAwNSAxMC44MzYgMTMuMzM5NyAxMS45ODc1QzEyLjQ3ODkgMTMuMTM4OSAxMS4yNjkgMTMuOTgxMiA5Ljg5MDQgMTQuMzg4OUM4LjUxMTc4IDE0Ljc5NjUgNy4wMzgzNCAxNC43NDc1IDUuNjg5ODEgMTQuMjQ5M0M0LjM0MTI4IDEzLjc1MTEgMy4xODk5MyAxMi44MzAzIDIuNDA3NDcgMTEuNjI0M0MxLjYyNTAxIDEwLjQxODMgMS4yNTMzNiA4Ljk5MTYzIDEuMzQ3OTUgNy41NTcxM0MxLjQ0MjU0IDYuMTIyNjMgMS45OTgzIDQuNzU3MTMgMi45MzIzNSAzLjY2NDNDMy44NjY0IDIuNTcxNDYgNS4xMjg2OSAxLjgwOTg0IDYuNTMwOTYgMS40OTMwMUM3LjkzMzIzIDEuMTc2MTkgOS40MDAzNCAxLjMyMTE0IDEwLjcxMzUgMS45MDYyNU0xNC42NjY4IDIuNjY2MjVMOC4wMDAxNyA5LjMzOTU4TDYuMDAwMTcgNy4zMzk1OFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xMTk5Xzg3MzZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBsYW4tc3ViIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9vdGZhbGwgQW5hbHlzaXMgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzExOTlfODczNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuNjY2OCA3LjM4NjI1VjcuOTk5NThDMTQuNjY2IDkuNDM3MiAxNC4yMDA1IDEwLjgzNiAxMy4zMzk3IDExLjk4NzVDMTIuNDc4OSAxMy4xMzg5IDExLjI2OSAxMy45ODEyIDkuODkwNCAxNC4zODg5QzguNTExNzggMTQuNzk2NSA3LjAzODM0IDE0Ljc0NzUgNS42ODk4MSAxNC4yNDkzQzQuMzQxMjggMTMuNzUxMSAzLjE4OTkzIDEyLjgzMDMgMi40MDc0NyAxMS42MjQzQzEuNjI1MDEgMTAuNDE4MyAxLjI1MzM2IDguOTkxNjMgMS4zNDc5NSA3LjU1NzEzQzEuNDQyNTQgNi4xMjI2MyAxLjk5ODMgNC43NTcxMyAyLjkzMjM1IDMuNjY0M0MzLjg2NjQgMi41NzE0NiA1LjEyODY5IDEuODA5ODQgNi41MzA5NiAxLjQ5MzAxQzcuOTMzMjMgMS4xNzYxOSA5LjQwMDM0IDEuMzIxMTQgMTAuNzEzNSAxLjkwNjI1TTE0LjY2NjggMi42NjYyNUw4LjAwMDE3IDkuMzM5NThMNi4wMDAxNyA3LjMzOTU4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzExOTlfODczNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGxhbi1zdWIgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCb3VuY2VkIHZzIEVuZ2FnZXIgQW5hbHlzaXMgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpJdGVtLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpJdGVtLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydCBtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMlwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMTk5Xzg3MzYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE0LjY2NjggNy4zODYyNVY3Ljk5OTU4QzE0LjY2NiA5LjQzNzIgMTQuMjAwNSAxMC44MzYgMTMuMzM5NyAxMS45ODc1QzEyLjQ3ODkgMTMuMTM4OSAxMS4yNjkgMTMuOTgxMiA5Ljg5MDQgMTQuMzg4OUM4LjUxMTc4IDE0Ljc5NjUgNy4wMzgzNCAxNC43NDc1IDUuNjg5ODEgMTQuMjQ5M0M0LjM0MTI4IDEzLjc1MTEgMy4xODk5MyAxMi44MzAzIDIuNDA3NDcgMTEuNjI0M0MxLjYyNTAxIDEwLjQxODMgMS4yNTMzNiA4Ljk5MTYzIDEuMzQ3OTUgNy41NTcxM0MxLjQ0MjU0IDYuMTIyNjMgMS45OTgzIDQuNzU3MTMgMi45MzIzNSAzLjY2NDNDMy44NjY0IDIuNTcxNDYgNS4xMjg2OSAxLjgwOTg0IDYuNTMwOTYgMS40OTMwMUM3LjkzMzIzIDEuMTc2MTkgOS40MDAzNCAxLjMyMTE0IDEwLjcxMzUgMS45MDYyNU0xNC42NjY4IDIuNjY2MjVMOC4wMDAxNyA5LjMzOTU4TDYuMDAwMTcgNy4zMzk1OFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xMTk5Xzg3MzZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBsYW4tc3ViIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWlzc2VkIE9wcG9ydHVuaXR5IFZzIENvbnZlcnNpb24gUmF0ZSA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzExOTlfODczNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuNjY2OCA3LjM4NjI1VjcuOTk5NThDMTQuNjY2IDkuNDM3MiAxNC4yMDA1IDEwLjgzNiAxMy4zMzk3IDExLjk4NzVDMTIuNDc4OSAxMy4xMzg5IDExLjI2OSAxMy45ODEyIDkuODkwNCAxNC4zODg5QzguNTExNzggMTQuNzk2NSA3LjAzODM0IDE0Ljc0NzUgNS42ODk4MSAxNC4yNDkzQzQuMzQxMjggMTMuNzUxMSAzLjE4OTkzIDEyLjgzMDMgMi40MDc0NyAxMS42MjQzQzEuNjI1MDEgMTAuNDE4MyAxLjI1MzM2IDguOTkxNjMgMS4zNDc5NSA3LjU1NzEzQzEuNDQyNTQgNi4xMjI2MyAxLjk5ODMgNC43NTcxMyAyLjkzMjM1IDMuNjY0M0MzLjg2NjQgMi41NzE0NiA1LjEyODY5IDEuODA5ODQgNi41MzA5NiAxLjQ5MzAxQzcuOTMzMjMgMS4xNzYxOSA5LjQwMDM0IDEuMzIxMTQgMTAuNzEzNSAxLjkwNjI1TTE0LjY2NjggMi42NjYyNUw4LjAwMDE3IDkuMzM5NThMNi4wMDAxNyA3LjMzOTU4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzExOTlfODczNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGxhbi1zdWIgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb290ZmFsbCBJbWFnZSBEaXJlY3RvcnkgYnkgdGhlIGhvdXIuIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6SXRlbS0tPlxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpGZWF0dXJlcy0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpTZWxlY3QtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInNlbGVjdGVkQ291bnRzLnZhbHVlICE9PSAnMSdcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnkgdy0xMDAgYnV0dG9uLXNpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwbGFuZGV0KCdmcmVlJylcIj5HZXQgU3RhcnRlZDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6U2VsZWN0LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpPcHRpb24tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6Q29sLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46OkNvbC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC1sZy00IGNvbC14bC00IGNvbC14eGwtNCBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Ok9wdGlvbi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtc3RhcnQgcm91bmRlZC0zIHRleHQtY29udGFpbmVyICBweS0xNSBweC0xMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJjb3VudE9mU3RvcmUgPT09ICcyLTI1JyB8fCBjb3VudE9mU3RvcmUgPT09ICcyNi01MCcgfHwgY291bnRPZlN0b3JlID09PSAnMjYtNTAnIHx8IGNvdW50T2ZTdG9yZSA9PT0gJzUxLTc1JyB8fCBjb3VudE9mU3RvcmUgPT09ICc3Ni0xMDAnPyAnZnJlZXBsYW4nOidiZy1saWdodCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6SGVhZGluZy0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTcgdGV4dC1zdGFydCB0ZXh0LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6VGl0bGUtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDEgY2xhc3M9XCJwcmljZS1oZWFkIG1iLTVcIj5QcmVtaXVtPC9oMT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpUaXRsZS0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46OkRlc2NyaXB0aW9uLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXN1Yi1oZWFkIG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZWdyYXRlZCBTb2x1dGlvbiBmb3IgR3Jvd2luZyBCdXNpbmVzc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6OkRlc2NyaXB0aW9uLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRvcC1yaWdodCBidG4tbWFyZ2luIGJ0biBidG4tbGcgYnRuLXByaW1hcnkgYnRuLWhlaWdodCBweS0xIGN1cnNvci1hdXRvIG10LTNcIj5SZWNvbW1lbmRlZDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6UHJpY2UtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdGFydCBtdC0xNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaWNlLXN1Yi1oZWFkXCI+U3RhcnRzIGZyb208L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWItMiB0ZXh0LXByaW1hcnkgdGV4dC12YWwgbXMtMVwiICpuZ0lmPVwidGhpcy5hYm91dEZvcm1EYXRhLmNvdW50cnlDb2RlPT09JzkxJ1wiPuKCuTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYi0yIHRleHQtcHJpbWFyeSB0ZXh0LXZhbCBtcy0xXCIgKm5nSWY9XCJ0aGlzLmFib3V0Rm9ybURhdGEuY291bnRyeUNvZGUgIT09JzkxJ1wiPiQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpY2Vjb2Rlc2l6ZVwiICpuZ0lmPVwicHJpY2luZ0RhdGE/Lk9yaWdpbmFsUHJpY2UhPT1wcmljaW5nRGF0YT8ucHJpY2VcIiA+PGJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByaWNlY29kZWNvbG9yIHRleHQtc2V0IG14LTJcIj4ge3twcmljaW5nRGF0YT8uT3JpZ2luYWxQcmljZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0zeCBmdy1ib2xkIHRleHQtcHJpbWFyeSB0ZXh0LXZhbFwiPnt7cHJpY2luZ0RhdGE/LnByaWNlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6UHJpY2UtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwZXJpb2RcIj5wZXIgc3RvcmUgcGVyIG1vbnRoPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpIZWFkaW5nLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInByb2R1Y3RGb3JtXCIgYWN0aW9uPVwiXCIgY2xhc3M9XCJ3LTEwMCBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpGZWF0dXJlcy0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXN0YWNrIG10LTEwIG1iLTVcIj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGxhbi1oZWFkIG1lLTIgZnMtMTRweCBsaW5lLWhlaWdodFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dWaWV3TW9yZSgndHJhZmZpYycpXCI+VGFuZ28gVHJhZmZpY1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMSBjdXJzb3ItcG9pbnRlclwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzExOTlfODY4NilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYgOC4xNjY5OVY2LjE2Njk5TTYgNC4xNjY5OUg2LjAwNU0xMSA2LjE2Njk5QzExIDguOTI4NDIgOC43NjE0MiAxMS4xNjcgNiAxMS4xNjdDMy4yMzg1OCAxMS4xNjcgMSA4LjkyODQyIDEgNi4xNjY5OUMxIDMuNDA1NTcgMy4yMzg1OCAxLjE2Njk5IDYgMS4xNjY5OUM4Ljc2MTQyIDEuMTY2OTkgMTEgMy40MDU1NyAxMSA2LjE2Njk5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTE5OV84Njg2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwLjE2Njk5MilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IChjaGFuZ2UpPVwib25QcmljZUNoYW5nZSgpXCIgW25nQ2xhc3NdPVwiY2hlY2tJZkF0bGVhc3RPbmVTZWxlY3RlZCgndGFuZ29UcmFmZmljJykgfHwgcHJvZHVjdEZvcm0uZ2V0KCd0YW5nb1pvbmUnKT8udmFsdWUgPyAncGUtbm9uZScgOiAnJ1wiIGZvcm1Db250cm9sTmFtZT1cInRhbmdvVHJhZmZpY1wiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiIHJvbGU9XCJzd2l0Y2hcIiBpZD1cInRhbmdvdHJhZmZpY1wiIGNoZWNrZWQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6SXRlbS0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXN0YWNrIG1iLTVcIj48c3BhbiBjbGFzcz1cInBsYW4taGVhZCBtZS0yIGZzLTE0cHggbGluZS1oZWlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93Vmlld01vcmUoJ3pvbmUnKVwiPlRhbmdvIFpvbmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTEgY3Vyc29yLXBvaW50ZXJcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTIgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMTk5Xzg2ODYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02IDguMTY2OTlWNi4xNjY5OU02IDQuMTY2OTlINi4wMDVNMTEgNi4xNjY5OUMxMSA4LjkyODQyIDguNzYxNDIgMTEuMTY3IDYgMTEuMTY3QzMuMjM4NTggMTEuMTY3IDEgOC45Mjg0MiAxIDYuMTY2OTlDMSAzLjQwNTU3IDMuMjM4NTggMS4xNjY5OSA2IDEuMTY2OTlDOC43NjE0MiAxLjE2Njk5IDExIDMuNDA1NTcgMTEgNi4xNjY5OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzExOTlfODY4NlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMC4xNjY5OTIpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAoY2hhbmdlKT1cIm9uUHJpY2VDaGFuZ2UoKTsgcHJvZHVjdEZvcm0uZ2V0KCd0YW5nb1pvbmUnKT8udmFsdWUgPyBwcm9kdWN0Rm9ybS5nZXQoJ3RhbmdvVHJhZmZpYycpPy5zZXRWYWx1ZSh0cnVlKSA6IG51bGxcIiBbbmdDbGFzc109XCJjaGVja0lmQXRsZWFzdE9uZVNlbGVjdGVkKCd0YW5nb1pvbmUnKSA/ICdwZS1ub25lJyA6ICcnXCIgZm9ybUNvbnRyb2xOYW1lPVwidGFuZ29ab25lXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCIgcm9sZT1cInN3aXRjaFwiIGlkPVwidGFuZ296b25lXCIgY2hlY2tlZD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtc3RhY2sgbWItMjBcIj48c3BhbiBjbGFzcz1cInBsYW4taGVhZCBtZS0yIGZzLTE0cHggbGluZS1oZWlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93Vmlld01vcmUoJ3NvcCcpXCI+VGFuZ28gVHJheFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMSBjdXJzb3ItcG9pbnRlclwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzExOTlfODY4NilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYgOC4xNjY5OVY2LjE2Njk5TTYgNC4xNjY5OUg2LjAwNU0xMSA2LjE2Njk5QzExIDguOTI4NDIgOC43NjE0MiAxMS4xNjcgNiAxMS4xNjdDMy4yMzg1OCAxMS4xNjcgMSA4LjkyODQyIDEgNi4xNjY5OUMxIDMuNDA1NTcgMy4yMzg1OCAxLjE2Njk5IDYgMS4xNjY5OUM4Ljc2MTQyIDEuMTY2OTkgMTEgMy40MDU1NyAxMSA2LjE2Njk5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTE5OV84Njg2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwLjE2Njk5MilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IChjaGFuZ2UpPVwib25QcmljZUNoYW5nZSgpXCIgW25nQ2xhc3NdPVwiY2hlY2tJZkF0bGVhc3RPbmVTZWxlY3RlZCgndGFuZ29UcmF4JykgPyAncGUtbm9uZScgOiAnJ1wiIGZvcm1Db250cm9sTmFtZT1cInRhbmdvVHJheFwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiIHJvbGU9XCJzd2l0Y2hcIiBpZD1cInRhbmdvVHJheFwiIGNoZWNrZWQ9XCJcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpJdGVtLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXN0YWNrIG1iLTVcIj48c3BhbiBjbGFzcz1cInBsYW4taGVhZCBtZS0yIGZzLTE0cHggbGluZS1oZWlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93Vmlld01vcmUoJ3N1cHBvcnQnKVwiPlByaW9yaXR5IFN1cHBvcnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTEgY3Vyc29yLXBvaW50ZXJcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTIgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMTk5Xzg2ODYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02IDguMTY2OTlWNi4xNjY5OU02IDQuMTY2OTlINi4wMDVNMTEgNi4xNjY5OUMxMSA4LjkyODQyIDguNzYxNDIgMTEuMTY3IDYgMTEuMTY3QzMuMjM4NTggMTEuMTY3IDEgOC45Mjg0MiAxIDYuMTY2OTlDMSAzLjQwNTU3IDMuMjM4NTggMS4xNjY5OSA2IDEuMTY2OTlDOC43NjE0MiAxLjE2Njk5IDExIDMuNDA1NTcgMTEgNi4xNjY5OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzExOTlfODY4NlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMC4xNjY5OTIpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAoY2hhbmdlKT1cIm9uUHJpY2VDaGFuZ2UoKVwiIGZvcm1Db250cm9sTmFtZT1cInByaW9yaXR5U3VwcG9ydFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIHJvbGU9XCJzd2l0Y2hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInN1cHBvcnRcIiBjaGVja2VkPVwiXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6SXRlbS0tPlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6RmVhdHVyZXMtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpTZWxlY3QtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5IGJ1dHRvbi1zaXplIHctMTAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicGxhbmRldCgncHJlbWl1bScpXCI+U3RhcnQgMTQgZGF5IHRyaWFsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpTZWxlY3QtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Ok9wdGlvbi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpDb2wtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6Q29sLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLWxnLTQgY29sLXhsLTQgY29sLXh4bC00IGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCAgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6T3B0aW9uLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBkLWZsZXggZmxleC1jb2x1bW4gZmxleC1zdGFydCByb3VuZGVkLTMgcHktMTUgcHgtMTBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY291bnRPZlN0b3JlID09PSAnMTAxLTE1MCc/ICdmcmVlcGxhbic6J2JnLWxpZ2h0J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpIZWFkaW5nLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNyB0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpUaXRsZS0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMSBjbGFzcz1cInByaWNlLWhlYWQgbWItNVwiPkVudGVycHJpc2U8L2gxPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6OlRpdGxlLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6RGVzY3JpcHRpb24tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2Utc3ViLWhlYWQgbWItNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlZ3JhdGVkIFNvbHV0aW9ucyBmb3IgTGFyZ2VyIEJ1c2luZXNzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6RGVzY3JpcHRpb24tLT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpQcmljZS0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN0YXJ0IG10LTEyXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTN4IGZ3LWJvbGQgdGV4dC1wcmltYXJ5IHRleHQtdmFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMZXTigJlzIFRhbGshPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpQcmljZS0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpIZWFkaW5nLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpGZWF0dXJlcy0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIGgtMjM5cHggbWItMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzExOTlfODczNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuNjY2OCA3LjM4NjI1VjcuOTk5NThDMTQuNjY2IDkuNDM3MiAxNC4yMDA1IDEwLjgzNiAxMy4zMzk3IDExLjk4NzVDMTIuNDc4OSAxMy4xMzg5IDExLjI2OSAxMy45ODEyIDkuODkwNCAxNC4zODg5QzguNTExNzggMTQuNzk2NSA3LjAzODM0IDE0Ljc0NzUgNS42ODk4MSAxNC4yNDkzQzQuMzQxMjggMTMuNzUxMSAzLjE4OTkzIDEyLjgzMDMgMi40MDc0NyAxMS42MjQzQzEuNjI1MDEgMTAuNDE4MyAxLjI1MzM2IDguOTkxNjMgMS4zNDc5NSA3LjU1NzEzQzEuNDQyNTQgNi4xMjI2MyAxLjk5ODMgNC43NTcxMyAyLjkzMjM1IDMuNjY0M0MzLjg2NjQgMi41NzE0NiA1LjEyODY5IDEuODA5ODQgNi41MzA5NiAxLjQ5MzAxQzcuOTMzMjMgMS4xNzYxOSA5LjQwMDM0IDEuMzIxMTQgMTAuNzEzNSAxLjkwNjI1TTE0LjY2NjggMi42NjYyNUw4LjAwMDE3IDkuMzM5NThMNi4wMDAxNyA3LjMzOTU4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzExOTlfODczNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpY2Utc3ViLWhlYWQgZnctc2VtaWJvbGQgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEbyB5b3UgaGF2ZSBtb3JlIHRoYW4gMTAwIHN0b3Jlcz88L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzExOTlfODczNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuNjY2OCA3LjM4NjI1VjcuOTk5NThDMTQuNjY2IDkuNDM3MiAxNC4yMDA1IDEwLjgzNiAxMy4zMzk3IDExLjk4NzVDMTIuNDc4OSAxMy4xMzg5IDExLjI2OSAxMy45ODEyIDkuODkwNCAxNC4zODg5QzguNTExNzggMTQuNzk2NSA3LjAzODM0IDE0Ljc0NzUgNS42ODk4MSAxNC4yNDkzQzQuMzQxMjggMTMuNzUxMSAzLjE4OTkzIDEyLjgzMDMgMi40MDc0NyAxMS42MjQzQzEuNjI1MDEgMTAuNDE4MyAxLjI1MzM2IDguOTkxNjMgMS4zNDc5NSA3LjU1NzEzQzEuNDQyNTQgNi4xMjI2MyAxLjk5ODMgNC43NTcxMyAyLjkzMjM1IDMuNjY0M0MzLjg2NjQgMi41NzE0NiA1LjEyODY5IDEuODA5ODQgNi41MzA5NiAxLjQ5MzAxQzcuOTMzMjMgMS4xNzYxOSA5LjQwMDM0IDEuMzIxMTQgMTAuNzEzNSAxLjkwNjI1TTE0LjY2NjggMi42NjYyNUw4LjAwMDE3IDkuMzM5NThMNi4wMDAxNyA3LjMzOTU4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzExOTlfODczNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpY2Utc3ViLWhlYWQgZnctc2VtaWJvbGQgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXN0IGFzc3VyZWQsIG91ciBkZWRpY2F0ZWQgYWNjb3VudCBtYW5hZ2VycyBhcmUgaGVyZSB0byBzdXBwb3J0IHlvdVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlcnlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXAgb2YgdGhlIHdheS48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Okl0ZW0tLT5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpGZWF0dXJlcy0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6U2VsZWN0LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeSBidXR0b24tc2l6ZSB3LTEwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInBsYW5kZXQoJ2VudGVycHJpc2UnKVwiPlJlcXVlc3QgQ2FsbCBCYWNrPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpTZWxlY3QtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Ok9wdGlvbi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpDb2wtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6OlJvdy0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6OlBsYW5zLS0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtMTJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1sZyB0ZXh0LW5vd3JhcCBidG4tc2V0IG1lLTVcIiAoY2xpY2spPVwicHJldlN0ZXAoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIxIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMTVMOCAxMEwxMyA1XCIgc3Ryb2tlPVwiIzAwOUJGM1wiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiBQcmV2aW91c1xyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICBjbGFzcz1cIm1iLTMgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtbWQtcm93ICBmbGV4LW1kLXN0YWNrIHB0LTMgY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgb3JkZXItMiBvcmRlci1tZC0xIG1zLTEwXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMSBjb3B5XCI+wqkgMjAyNCA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3RhbmdvZXllLmFpXCIgY2xhc3M9XCJmb290ZXJcIj5UYW5nbyBJVCBTb2x1dGlvbnMgSW5kaWEgUHZ0IEx0ZDwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8dWwgY2xhc3M9XCJtZW51IG1lbnUtZ3JheS02MDAgbWVudS1ob3Zlci1wcmltYXJ5IGZ3LXNlbWlib2xkIG9yZGVyLTEgbWUtN1wiPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJtZW51LWl0ZW0gZm9vdGVyXCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vdGFuZ29leWUuYWkvI2Fib3V0dXNcIiBjbGFzcz1cIm1lbnUtbGluayBweC01XCI+QWJvdXQgdXM8L2E+PC9saT5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibWVudS1pdGVtIGZvb3RlclwiPjxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3RhbmdvZXllLmFpLyNjb250YWN0XCIgIGNsYXNzPVwibWVudS1saW5rIHB4LTVcIj5Db250YWN0IHVzPC9hPjwvbGk+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1lbnUtaXRlbSBmb290ZXJcIj48YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly90YW5nb2V5ZS5haS9wcml2YWN5LXBvbGljeS0yL1wiIGNsYXNzPVwibWVudS1saW5rIHB4LTVcIj5Qcml2YWN5ICYgcG9saWN5PC9hPjwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJvdmVybGF5XCIgKm5nSWY9XCJwb3B1cFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInBvcHVwXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiZnctYm9sZCBnZXQtdG91Y2ggbXktNVwiPkdldCBJbiBUb3VjaDwvaDM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZ3LW5vcm1hbCBnZXQtc3ViIG1iLTVcIj5IYXZlIHF1ZXN0aW9ucz8gV2XigJlyZSBoZXJlIHRvIGhlbHAuIFNlbmQgdXMgYSBtZXNzYWdlLCBhbmQgd2XigJlsbCByZXNwb25kXHJcbiAgICAgICAgICAgIHdpdGhpblxyXG4gICAgICAgICAgICAyNCBob3Vycy48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWNlIGQtZmxleCBiZy1saWdodC1wcmltYXJ5IHJvdW5kZWQgYm9yZGVyLXByaW1hcnkgY3Vyc29yLXBvaW50ZXIgIG15LTRcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY2hlY2t2YWx1ZSgndGltZScpXCIgW25nQ2xhc3NdPVwidGltZXZhbHVlID09PSAndGltZSc/ICd0b3VjaC1wcmltYXJ5JzondW50b3VjaC1wcmltYXJ5J1wiPlxyXG4gICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNTZcIiBoZWlnaHQ9XCI1NlwiIHZpZXdCb3g9XCIwIDAgMzYgMzZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjJcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiByeD1cIjE2XCIgZmlsbD1cIiNEQUYxRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBzdHJva2U9XCIjRUFGOEZGXCIgc3Ryb2tlLXdpZHRoPVwiNFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTI1LjMzMzIgMTQuNjY2M0wyMC42NjY1IDE3Ljk5OTdMMjUuMzMzMiAyMS4zMzNWMTQuNjY2M1pcIiBzdHJva2U9XCIjMDBBM0ZGXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0xOS4zMzMyIDEzLjMzM0gxMS45OTk4QzExLjI2MzUgMTMuMzMzIDEwLjY2NjUgMTMuOTMgMTAuNjY2NSAxNC42NjYzVjIxLjMzM0MxMC42NjY1IDIyLjA2OTQgMTEuMjYzNSAyMi42NjYzIDExLjk5OTggMjIuNjY2M0gxOS4zMzMyQzIwLjA2OTUgMjIuNjY2MyAyMC42NjY1IDIyLjA2OTQgMjAuNjY2NSAyMS4zMzNWMTQuNjY2M0MyMC42NjY1IDEzLjkzIDIwLjA2OTUgMTMuMzMzIDE5LjMzMzIgMTMuMzMzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXN0YWNrIGZsZXgtZ3Jvdy0xIGZsZXgtd3JhcCBmbGV4LW1kLW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgbWItbWQtMCBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJmdy1zZW1pYm9sZFwiIFtuZ0NsYXNzXT1cInRpbWV2YWx1ZSA9PT0gJ3RpbWUnPyAndmlkZW8tdGl0bGUnOid1bnRvdWNoLXRpdGxlJ1wiPlNjaGVkdWxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgQ2FsZW5kbHk8L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ub3JtYWwgcGUtN1wiIFtuZ0NsYXNzXT1cInRpbWV2YWx1ZSA9PT0gJ3RpbWUnPyAndmlkZW8tc3ViJzondW50b3VjaC1zdWInXCI+Q2hvb3NlIHlvdXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGltZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzbG90IGluIHRoZSBuZXh0IHN0ZXAuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj48c3BhbiAqbmdJZj1cInRpbWV2YWx1ZSA9PT0ndGltZSdcIj48c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiMTVcIiByeD1cIjcuNVwiIGZpbGw9XCIjMDBBM0ZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiMTVcIiByeD1cIjcuNVwiIHN0cm9rZT1cIiMwMEEzRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjMzMzIgNS41TDYuNzQ5ODQgMTAuMDgzM0w0LjY2NjUgOFwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGltZXZhbHVlICE9PSd0aW1lJ1wiPjxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHJ4PVwiNy41XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiMTVcIiByeD1cIjcuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJub3RpY2UgZC1mbGV4IGJnLWxpZ2h0LXByaW1hcnkgcm91bmRlZCBib3JkZXItcHJpbWFyeSBjdXJzb3ItcG9pbnRlciBteS00XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNoZWNrdmFsdWUoJ2NhbGwgYmFjaycpXCIgW25nQ2xhc3NdPVwidGltZXZhbHVlID09PSAnY2FsbCBiYWNrJz8gJ3RvdWNoLXByaW1hcnknOid1bnRvdWNoLXByaW1hcnknXCI+XHJcbiAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI1NlwiIGhlaWdodD1cIjU2XCIgdmlld0JveD1cIjAgMCAzNiAzNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBmaWxsPVwiI0RBRjFGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIiBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTczMV83MDExNilcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI0LjY2NjUgMjEuMjc5N1YyMy4yNzk3QzI0LjY2NzIgMjMuNDY1NCAyNC42MjkyIDIzLjY0OTIgMjQuNTU0OCAyMy44MTkzQzI0LjQ4MDQgMjMuOTg5NCAyNC4zNzEzIDI0LjE0MjEgMjQuMjM0NSAyNC4yNjc2QzI0LjA5NzcgMjQuMzkzMiAyMy45MzYyIDI0LjQ4ODcgMjMuNzYwMyAyNC41NDgyQzIzLjU4NDQgMjQuNjA3NyAyMy4zOTggMjQuNjI5OCAyMy4yMTMxIDI0LjYxMzFDMjEuMTYxNyAyNC4zOTAyIDE5LjE5MTEgMjMuNjg5MiAxNy40NTk4IDIyLjU2NjRDMTUuODQ5IDIxLjU0MjggMTQuNDgzNCAyMC4xNzcyIDEzLjQ1OTggMTguNTY2NEMxMi4zMzMxIDE2LjgyNzIgMTEuNjMyIDE0Ljg0NzEgMTEuNDEzMSAxMi43ODY0QzExLjM5NjUgMTIuNjAyMSAxMS40MTg0IDEyLjQxNjIgMTEuNDc3NSAxMi4yNDA4QzExLjUzNjUgMTIuMDY1NCAxMS42MzE1IDExLjkwNDIgMTEuNzU2MyAxMS43Njc1QzExLjg4MTEgMTEuNjMwOCAxMi4wMzMgMTEuNTIxNSAxMi4yMDIzIDExLjQ0NjhDMTIuMzcxNiAxMS4zNzIgMTIuNTU0NyAxMS4zMzMyIDEyLjczOTggMTEuMzMzMUgxNC43Mzk4QzE1LjA2MzMgMTEuMzI5OSAxNS4zNzcgMTEuNDQ0NSAxNS42MjIzIDExLjY1NTRDMTUuODY3NiAxMS44NjY0IDE2LjAyNzggMTIuMTU5NCAxNi4wNzMxIDEyLjQ3OTdDMTYuMTU3NSAxMy4xMTk4IDE2LjMxNDEgMTMuNzQ4MiAxNi41Mzk4IDE0LjM1MzFDMTYuNjI5NSAxNC41OTE3IDE2LjY0ODkgMTQuODUxIDE2LjU5NTcgMTUuMTAwM0MxNi41NDI2IDE1LjM0OTYgMTYuNDE5IDE1LjU3ODUgMTYuMjM5OCAxNS43NTk3TDE1LjM5MzEgMTYuNjA2NEMxNi4zNDIyIDE4LjI3NTQgMTcuNzI0MSAxOS42NTc0IDE5LjM5MzEgMjAuNjA2NEwyMC4yMzk4IDE5Ljc1OTdDMjAuNDIxMSAxOS41ODA1IDIwLjY0OTkgMTkuNDU3IDIwLjg5OTIgMTkuNDAzOEMyMS4xNDg1IDE5LjM1MDYgMjEuNDA3OCAxOS4zNyAyMS42NDY1IDE5LjQ1OTdDMjIuMjUxMyAxOS42ODU0IDIyLjg3OTcgMTkuODQyIDIzLjUxOTggMTkuOTI2NEMyMy44NDM2IDE5Ljk3MjEgMjQuMTM5NCAyMC4xMzUyIDI0LjM1MDggMjAuMzg0N0MyNC41NjIyIDIwLjYzNDMgMjQuNjc0NiAyMC45NTI4IDI0LjY2NjUgMjEuMjc5N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNzMxXzcwMTE2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMCAxMClcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtc3RhY2sgZmxleC1ncm93LTEgZmxleC13cmFwIGZsZXgtbWQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMyBtYi1tZC0wIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cImZ3LXNlbWlib2xkXCIgW25nQ2xhc3NdPVwidGltZXZhbHVlID09PSAnY2FsbCBiYWNrJz8gJ3ZpZGVvLXRpdGxlJzondW50b3VjaC10aXRsZSdcIj5SZXF1ZXN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbCBiYWNrPC9oND5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctbm9ybWFsIHBlLTdcIiBbbmdDbGFzc109XCJ0aW1ldmFsdWUgPT09ICdjYWxsIGJhY2snPyAndmlkZW8tdGl0bGUnOid1bnRvdWNoLXN1YidcIj5XZeKAmWxsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgeW91IG9uICs8c3Bhbj57e2Fib3V0Rm9ybURhdGE/LmNvdW50cnlDb2RlfX08L3NwYW4+IHt7YWJvdXRGb3JtRGF0YT8ubW9iaWxlTnVtYmVyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PjxzcGFuICpuZ0lmPVwidGltZXZhbHVlID09PSd0aW1lJ1wiPjxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHJ4PVwiNy41XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiMTVcIiByeD1cIjcuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGltZXZhbHVlICE9PSd0aW1lJ1wiPjxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHJ4PVwiNy41XCIgZmlsbD1cIiMwMEEzRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiIzAwQTNGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuMzMzMiA1LjVMNi43NDk4NCAxMC4wODMzTDQuNjY2NSA4XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidGltZXZhbHVlID09PSAnY2FsbCBiYWNrJ1wiPlxyXG5cclxuICAgICAgICAgICAgPGgzIGNsYXNzPVwidGl0bGUtdmFsIGZ3LXNlbWlib2xkIG15LTNcIj5TZWxlY3QgUHJlZmVycmVkIFRpbWluZyAoSVNUKTwvaDM+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXBcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiQmFzaWMgZXhhbXBsZVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBbbmdDbGFzc109XCJjYWxsYmFja1ByZWZlcnJlZFRpbWluZyA9PT0gJzlhbSAtMTJwbScgPyAncG9wdXAtdGFiLXNlbGVjdGVkJzogJydcIiAoY2xpY2spPVwiY2FsbGJhY2tQcmVmZXJyZWRUaW1pbmcgPSAnOWFtIC0xMnBtJ1wiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCI+OWFtIC0xMnBtPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIFtuZ0NsYXNzXT1cImNhbGxiYWNrUHJlZmVycmVkVGltaW5nID09PSAnMTJwbSAtIDVwbScgPyAncG9wdXAtdGFiLXNlbGVjdGVkJzogJydcIiAoY2xpY2spPVwiY2FsbGJhY2tQcmVmZXJyZWRUaW1pbmcgPSAnMTJwbSAtIDVwbSdcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiPjEycG0gLSA1cG08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gW25nQ2xhc3NdPVwiY2FsbGJhY2tQcmVmZXJyZWRUaW1pbmcgPT09ICc1cG0gLSA4cG0nID8gJ3BvcHVwLXRhYi1zZWxlY3RlZCc6ICcnXCIgKGNsaWNrKT1cImNhbGxiYWNrUHJlZmVycmVkVGltaW5nID0gJzVwbSAtIDhwbSdcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiPjVwbSAtIDhwbTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGg1IGNsYXNzPVwidGl0bGUtc3ViIGZ3LW5vcm1hbCBteS0zXCI+V2UnbGwgY2FsbCB5b3UgYmFjayBpbiBuZXh0IDI0IGJ1c2luZXNzIGhvdXJzPC9oNT5cclxuICAgICAgICAgICAgPHRleHRhcmVhIFtmb3JtQ29udHJvbF09XCJjYWxsYmFja0Rlc2NyaXB0aW9uXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdGV4dC1hcmVhIGZ3LW5vcm1hbFwiIHBsYWNlaG9sZGVyPVwiQmUgbW9yZSBzcGVjaWZpYy4uLlwiIHJvdz1cIjJcIj48L3RleHRhcmVhPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTEwIG1iLTdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGZ3LWJvbGQgdy0xMDBcIiAoY2xpY2spPVwiY2xvc2UoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHN1Ym1pdCBmdy1ib2xkIHctMTAwXCIgKGNsaWNrKT1cInN1Ym1pdHZhbHVlKClcIj5Db25maXJtPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm92ZXJsYXlcIiAqbmdJZj1cInJlcXVlc3Rwb3B1cFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInBvcHVwXCI+XHJcbiAgICAgICAgPHN2ZyB3aWR0aD1cIjU2XCIgaGVpZ2h0PVwiNTZcIiB2aWV3Qm94PVwiMCAwIDU2IDU2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgIDxnIGlkPVwiRmVhdHVyZWQgaWNvblwiPlxyXG4gICAgICAgICAgICA8cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIGZpbGw9XCIjREFGMUZGXCIvPlxyXG4gICAgICAgICAgICA8cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIHN0cm9rZT1cIiNFQUY4RkZcIiBzdHJva2Utd2lkdGg9XCI4XCIvPlxyXG4gICAgICAgICAgICA8ZyBpZD1cIkNoZWNrIGljb25cIj5cclxuICAgICAgICAgICAgPHJlY3QgeD1cIjE2XCIgeT1cIjE2XCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcng9XCIxMFwiIGZpbGw9XCIjREFGMUZGXCIvPlxyXG4gICAgICAgICAgICA8ZyBpZD1cIkljb25cIj5cclxuICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTMtaW5zaWRlLTFfNDM0Nl84MjY0NlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMzMuMDk2NSAyMy4zODk3TDI1LjkzNjUgMzAuMjk5N0wyNC4wMzY1IDI4LjI2OTdDMjMuNjg2NSAyNy45Mzk3IDIzLjEzNjUgMjcuOTE5NyAyMi43MzY1IDI4LjE5OTdDMjIuMzQ2NSAyOC40ODk3IDIyLjIzNjUgMjguOTk5NyAyMi40NzY1IDI5LjQwOTdMMjQuNzI2NSAzMy4wNjk3QzI0Ljk0NjUgMzMuNDA5NyAyNS4zMjY1IDMzLjYxOTcgMjUuNzU2NSAzMy42MTk3QzI2LjE2NjUgMzMuNjE5NyAyNi41NTY1IDMzLjQwOTcgMjYuNzc2NSAzMy4wNjk3QzI3LjEzNjUgMzIuNTk5NyAzNC4wMDY1IDI0LjQwOTcgMzQuMDA2NSAyNC40MDk3QzM0LjkwNjUgMjMuNDg5NyAzMy44MTY1IDIyLjY3OTcgMzMuMDk2NSAyMy4zNzk3VjIzLjM4OTdaXCIvPlxyXG4gICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0zMy4wOTY1IDIzLjM4OTdMMjUuOTM2NSAzMC4yOTk3TDI0LjAzNjUgMjguMjY5N0MyMy42ODY1IDI3LjkzOTcgMjMuMTM2NSAyNy45MTk3IDIyLjczNjUgMjguMTk5N0MyMi4zNDY1IDI4LjQ4OTcgMjIuMjM2NSAyOC45OTk3IDIyLjQ3NjUgMjkuNDA5N0wyNC43MjY1IDMzLjA2OTdDMjQuOTQ2NSAzMy40MDk3IDI1LjMyNjUgMzMuNjE5NyAyNS43NTY1IDMzLjYxOTdDMjYuMTY2NSAzMy42MTk3IDI2LjU1NjUgMzMuNDA5NyAyNi43NzY1IDMzLjA2OTdDMjcuMTM2NSAzMi41OTk3IDM0LjAwNjUgMjQuNDA5NyAzNC4wMDY1IDI0LjQwOTdDMzQuOTA2NSAyMy40ODk3IDMzLjgxNjUgMjIuNjc5NyAzMy4wOTY1IDIzLjM3OTdWMjMuMzg5N1pcIiBmaWxsPVwiIzMzQjVGRlwiIHN0cm9rZT1cIiMwMEEzRkZcIiBzdHJva2Utd2lkdGg9XCI0XCIgbWFzaz1cInVybCgjcGF0aC0zLWluc2lkZS0xXzQzNDZfODI2NDYpXCIvPlxyXG4gICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICBcclxuICAgICAgICA8aDMgY2xhc3M9XCJmdy1ib2xkIGdldC10b3VjaCBteS01XCI+VGhhbmtzIGZvciB5b3VyIHJlcXVlc3QhPC9oMz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnctbm9ybWFsIGdldC1zdWIgbWItNVwiPk91ciB0ZWFtIHdpbGwgZ2V0IGJhY2sgdG8geW91IHNob3J0bHkuIE1lYW53aGlsZSBleHBsb3JlIG1vcmUgYWJvdXQgdXMuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC0xMCBtYi03XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgZnctYm9sZCB3LTEwMFwiIChjbGljayk9XCJjb250aW51ZXNpZ251cCgpXCI+Q29udGludWUgU2lnbmluZyBVcDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
392
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcDIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYXV0aC1zaWdudXAvc3RlcC9zdGVwMi9zdGVwMi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hdXRoL3NyYy9saWIvY29tcG9uZW50cy90YW5nby1hdXRoLXNpZ251cC9zdGVwL3N0ZXAyL3N0ZXAyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUdqRixPQUFPLEVBQWUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7O0FBUXBGLE1BQU0sT0FBTyxjQUFjO0lBd0doQjtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUE1R1YsV0FBVyxHQUFRO1FBQ2pCO1lBQ0UsSUFBSSxFQUFFLFVBQVU7WUFDaEIsTUFBTSxFQUFFLEtBQUs7WUFDYixLQUFLLEVBQUUsR0FBRztTQUNYO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxLQUFLO1lBQ2IsS0FBSyxFQUFFLE1BQU07U0FDZDtRQUNEO1lBQ0UsSUFBSSxFQUFFLE9BQU87WUFDYixNQUFNLEVBQUUsS0FBSztZQUNiLEtBQUssRUFBRSxPQUFPO1NBQ2Y7UUFDRDtZQUNFLElBQUksRUFBRSxPQUFPO1lBQ2IsTUFBTSxFQUFFLEtBQUs7WUFDYixLQUFLLEVBQUUsT0FBTztTQUNmO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxLQUFLO1lBQ2IsS0FBSyxFQUFFLFFBQVE7U0FDaEI7UUFDRDtZQUNFLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLEtBQUs7WUFDYixLQUFLLEVBQUUsU0FBUztTQUNqQjtLQUNGLENBQUM7SUFDRixlQUFlLEdBQVE7UUFDckI7WUFDRSxJQUFJLEVBQUUsY0FBYztZQUNwQixNQUFNLEVBQUUsS0FBSztZQUNiLFFBQVEsRUFBRSxLQUFLO1lBQ2YsS0FBSyxFQUFFLFFBQVE7WUFDZixPQUFPLEVBQUUsR0FBRztTQUNiO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsZUFBZTtZQUNyQixNQUFNLEVBQUUsS0FBSztZQUNiLFFBQVEsRUFBRSxLQUFLO1lBQ2YsS0FBSyxFQUFFLFNBQVM7WUFDaEIsT0FBTyxFQUFFLEdBQUc7U0FDYjtRQUNEO1lBQ0UsSUFBSSxFQUFFLGdCQUFnQjtZQUN0QixNQUFNLEVBQUUsS0FBSztZQUNiLFFBQVEsRUFBRSxLQUFLO1lBQ2YsS0FBSyxFQUFFLFVBQVU7WUFDakIsT0FBTyxFQUFFLEdBQUc7U0FDYjtRQUNEO1lBQ0UsSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixNQUFNLEVBQUUsS0FBSztZQUNiLFFBQVEsRUFBRSxLQUFLO1lBQ2YsS0FBSyxFQUFFLFdBQVc7WUFDbEIsT0FBTyxFQUFFLEdBQUc7U0FDYjtRQUNEO1lBQ0UsSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixNQUFNLEVBQUUsS0FBSztZQUNiLFFBQVEsRUFBRSxLQUFLO1lBQ2YsS0FBSyxFQUFFLFdBQVc7WUFDbEIsT0FBTyxFQUFFLEdBQUc7U0FDYjtRQUNEO1lBQ0UsSUFBSSxFQUFFLGFBQWE7WUFDbkIsTUFBTSxFQUFFLEtBQUs7WUFDYixRQUFRLEVBQUUsS0FBSztZQUNmLEtBQUssRUFBRSxPQUFPO1lBQ2QsT0FBTyxFQUFFLEdBQUc7U0FDYjtLQUNGLENBQUM7SUFDRixjQUFjLENBQU07SUFDcEIsWUFBWSxDQUFNO0lBQ2xCLFFBQVEsQ0FBTTtJQUNkLFlBQVksR0FBWSxLQUFLLENBQUM7SUFDOUIsT0FBTyxDQUFTO0lBQ2hCLFVBQVUsR0FBWSxLQUFLLENBQUM7SUFFNUIsUUFBUSxDQUFVO0lBQ2xCLFFBQVEsQ0FBUztJQUNqQixJQUFJLEdBQVEsU0FBUyxDQUFDO0lBQ3RCLFlBQVksQ0FBVTtJQUN0QixLQUFLLENBQVU7SUFDZixTQUFTLEdBQVEsTUFBTSxDQUFDO0lBQ3hCLGNBQWMsQ0FBTTtJQUNwQixRQUFRLENBQU07SUFDZCxXQUFXLENBQVk7SUFDdkIsdUJBQXVCLEdBQVcsRUFBRSxDQUFDO0lBQ3JDLG1CQUFtQixHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7SUFDeEMsYUFBYSxDQUFNO0lBQ25CLGVBQWUsQ0FBTTtJQUNyQixhQUFhLEdBQW1CLEVBQUUsQ0FBQztJQUNuQyxnQkFBZ0IsQ0FBTTtJQUN0QixXQUFXLENBQU07SUFDakIsTUFBTSxDQUFVO0lBQ2hCLFFBQVEsR0FBTSxRQUFRLENBQUM7SUFFdkIsWUFDUyxZQUFzQixFQUNyQixhQUFnQyxFQUNoQyxXQUF3QixFQUN4QixFQUFlLEVBQ2YsRUFBcUIsRUFDckIsWUFBMEI7UUFMM0IsaUJBQVksR0FBWixZQUFZLENBQVU7UUFDckIsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBQ2hDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUVsQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQy9DLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDO2FBQzFCO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqRCxJQUFJLEdBQUcsRUFBRTtnQkFDUCxJQUFJLEdBQUcsQ0FBQyxXQUFXLEVBQUU7b0JBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLG9CQUFvQixDQUFDLENBQUM7b0JBQzdELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7d0JBQ3hDLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTs0QkFDM0MsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7eUJBQ3ZCO29CQUNILENBQUMsQ0FBQyxDQUFDO2lCQUNKO2dCQUNELElBQUksR0FBRyxDQUFDLFNBQVMsRUFBRTtvQkFDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLG9CQUFvQixDQUFDLENBQUM7b0JBQ3pELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7d0JBQzVDLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTs0QkFDekMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7eUJBQ3ZCO29CQUNILENBQUMsQ0FBQyxDQUFDO2lCQUNKO2dCQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixDQUFDO2dCQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7b0JBQzFCLFlBQVksRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVk7b0JBQ3RDLFNBQVMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVM7b0JBQ2hDLFNBQVMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVM7aUJBQ2pDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDdkI7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNELFFBQVE7SUFFUixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDMUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQy9CLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQztZQUNwQixTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDbEIsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFTLEVBQUUsT0FBZTtRQUN6QyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3BDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUcsT0FBTyxLQUFLLG9CQUFvQixFQUFDO1lBQ2xDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN2QjtRQUNELElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDbkIsb0RBQW9EO1lBQ3BELEtBQ0UsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUN2QyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUNwQyxDQUFDLEVBQUUsRUFDSDtnQkFDQSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztnQkFDdkMsMEJBQTBCO2FBQzNCO1NBQ0Y7YUFBTTtZQUNMLEtBQ0UsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUN2QyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUNwQyxDQUFDLEVBQUUsRUFDSDtnQkFDQSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7YUFDMUM7U0FDRjtJQUNILENBQUM7SUFDRCxjQUFjLENBQUMsSUFBUyxFQUFFLE9BQWU7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3hDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFHLE9BQU8sS0FBSyxvQkFBb0IsRUFBQztZQUNsQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVM7UUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDN0QsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUNILFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3ZDLG1FQUFtRTtRQUNuRSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzlCLElBQUksTUFBTSxFQUFFO2FBQ1g7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxHQUFHLEdBQUc7WUFDUixXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDaEMsU0FBUyxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDaEMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDN0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDL0IsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSztTQUNoQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQVM7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLElBQUksS0FBSyxZQUFZLEVBQUU7WUFDekIsSUFBSSxHQUFHLEdBQUc7Z0JBQ1IsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjO2dCQUNoQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtnQkFDaEMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQzdCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUMvQixPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLO2FBQ2hDLENBQUM7WUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzdDO2FBQU07WUFDTCxJQUFJLEdBQUcsR0FBRztnQkFDUixXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWM7Z0JBQ2hDLFNBQVMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO2dCQUNoQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDN0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUs7YUFDaEMsQ0FBQztZQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2pEO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFTO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssV0FBVyxFQUFFO1lBQ2xDLElBQUksSUFBSSxHQUFHO2dCQUNULFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVTtnQkFDekMsUUFBUSxFQUFFLElBQUksQ0FBQyx1QkFBdUI7Z0JBQ3RDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUU7Z0JBQzFELFdBQVcsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSzthQUM1QyxDQUFDO1lBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDL0MsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ1osSUFBSSxHQUFHLEVBQUU7d0JBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7d0JBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO3dCQUN6QixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO3FCQUN6QjtnQkFDSCxDQUFDO2dCQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUNiLElBQUksR0FBRyxFQUFFO3dCQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ2xEO2dCQUNILENBQUM7YUFDRixDQUFDLENBQ0gsQ0FBQztTQUNIO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLE1BQU0sRUFBRTtZQUNwQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFDRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzlELFFBQVEsRUFBRSxJQUFJO1lBQ2QsSUFBSSxFQUFFLElBQUk7WUFDVixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFDSCxJQUFJLFFBQVEsR0FBRztZQUNiLElBQUksRUFBRSxrQkFBa0IsQ0FDdEIsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxDQUNuRTtZQUNELEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDbEUsQ0FBQztRQUNGLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQy9DLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDOUIsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsUUFBUSxDQUFNO0lBRWQsV0FBVyxDQUFDLEdBQVE7UUFDbEIsSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDbkMsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNwRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFRLEVBQUUsR0FBUTtRQUMxQixJQUFJLENBQUMsR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtZQUNuQyxPQUFPLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzVELE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxJQUFJLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUV0RixJQUFJLGFBQWEsRUFBRTtZQUNqQixHQUFHLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRXhDLElBQUksYUFBYSxLQUFLLFdBQVcsSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFO2dCQUNsRCxHQUFHLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQzthQUN6QjtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTtZQUNoRCxPQUFPLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7WUFDakQsT0FBTztTQUNSO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRS9FLElBQUksSUFBSSxHQUFHO1lBQ1QsYUFBYSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLO1lBQzNDLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUs7WUFDdkMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ25CLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzVCLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDaEQsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO2FBQzNCO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBUTtRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBSUQseUJBQXlCLENBQUMsT0FBYztRQUN0QyxJQUFHLE9BQU8sS0FBSyxjQUFjLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFDO1lBQ3JLLE9BQU8sSUFBSSxDQUFBO1NBQ1o7YUFBTSxJQUFHLE9BQU8sS0FBSyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFDO1lBQ3pLLE9BQU8sSUFBSSxDQUFBO1NBQ1o7YUFBTSxJQUFHLE9BQU8sS0FBSyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFDO1lBQ3pLLE9BQU8sSUFBSSxDQUFBO1NBQ1o7YUFBSTtZQUNILE9BQU8sS0FBSyxDQUFBO1NBQ2I7SUFFSCxDQUFDO3dHQXZaVSxjQUFjOzRGQUFkLGNBQWMsaURDZjNCLHlwcERBZ29CTTs7NEZEam5CTyxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiTW9kYWwsIE5nYk1vZGFsT3B0aW9ucyB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgTW9kYWxDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vbW9kYWwtY29udGVudC9tb2RhbC1jb250ZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbnZlcnNpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29udmVyc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENhbGVuZGx5TW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRseS1tb2RhbC9jYWxlbmRseS1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImxpYi1zdGVwMlwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vc3RlcDIuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL3N0ZXAyLmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdGVwMkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcclxuICBzdG9yZUNvdW50czogYW55ID0gW1xyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIjEgKEZyZWUpXCIsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgIHZhbHVlOiBcIjFcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiMi0yNVwiLFxyXG4gICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICB2YWx1ZTogXCIyLTI1XCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIjI2LTUwXCIsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgIHZhbHVlOiBcIjI2LTUwXCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIjUxLTc1XCIsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgIHZhbHVlOiBcIjUxLTc1XCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIjc2LTEwMFwiLFxyXG4gICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICB2YWx1ZTogXCI3Ni0xMDBcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiMTAxK1wiLFxyXG4gICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICB2YWx1ZTogXCIxMDEtMTUwXCIsXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgZmVhdEFyZWFPcHRpb25zOiBhbnkgPSBbXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiNTAtNTAwIHNxLmZ0XCIsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgdmFsdWU6IFwiNTAtNTAwXCIsXHJcbiAgICAgIGNhbWVyYXM6IFwiMlwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGV4dDogXCI1MDAtNzUwIHNxLmZ0XCIsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgdmFsdWU6IFwiNTAwLTc1MFwiLFxyXG4gICAgICBjYW1lcmFzOiBcIjJcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiNzUwLTEwMDAgc3EuZnRcIixcclxuICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICB2YWx1ZTogXCI3NTAtMTAwMFwiLFxyXG4gICAgICBjYW1lcmFzOiBcIjNcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiMTAwMC0xNTAwIHNxLmZ0XCIsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgdmFsdWU6IFwiMTAwMC0xNTAwXCIsXHJcbiAgICAgIGNhbWVyYXM6IFwiM1wiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGV4dDogXCIxNTAwLTIwMDAgc3EuZnRcIixcclxuICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICB2YWx1ZTogXCIxNTAwLTIwMDBcIixcclxuICAgICAgY2FtZXJhczogXCIzXCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIjIwMDArIHNxLmZ0XCIsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgdmFsdWU6IFwiMjAwMCtcIixcclxuICAgICAgY2FtZXJhczogXCIzXCIsXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgc2VsZWN0ZWRDb3VudHM6IGFueTtcclxuICBjb3VudE9mU3RvcmU6IGFueTtcclxuICBmZWF0QXJlYTogYW55O1xyXG4gIHN0b3JlZGV0aWFsczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHRleHR2YWw6IHN0cmluZztcclxuICBwcmljZXZhbHVlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHNob3dtb3JlOiBib29sZWFuO1xyXG4gIGZyZWVwbGFuOiBzdHJpbmc7XHJcbiAgcGxhbjogYW55ID0gXCJtb250aGx5XCI7XHJcbiAgcmVxdWVzdHBvcHVwOiBib29sZWFuO1xyXG4gIHBvcHVwOiBib29sZWFuO1xyXG4gIHRpbWV2YWx1ZTogYW55ID0gXCJ0aW1lXCI7XHJcbiAgZmVhdEFyZWFDYW1lcmE6IGFueTtcclxuICBwbGFuTmFtZTogYW55O1xyXG4gIHByb2R1Y3RGb3JtOiBGb3JtR3JvdXA7XHJcbiAgY2FsbGJhY2tQcmVmZXJyZWRUaW1pbmc6IHN0cmluZyA9IFwiXCI7XHJcbiAgY2FsbGJhY2tEZXNjcmlwdGlvbiA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIGFib3V0Rm9ybURhdGE6IGFueTtcclxuICBwcmljaW5nRm9ybURhdGE6IGFueTtcclxuICBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHNlbGVjdGVkRmVldEFyZWE6IGFueTtcclxuICBwcmljaW5nRGF0YTogYW55O1xyXG4gIGVuYWJsZTogYm9vbGVhbjtcclxuICBjdXJyZW5jeTogYW55PSdydXBlZXMnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxyXG4gICAgcHJpdmF0ZSBzZXR0ZXJzZXJ2aWNlOiBDb252ZXJzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aHNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuaW5pdEZvcm0oKTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLmF1dGhzZXJ2aWNlLmFib3V0Rm9ybURhdGEuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICB0aGlzLmFib3V0Rm9ybURhdGEgPSByZXM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy5hdXRoc2VydmljZS5wcmljaW5nRm9ybURhdGEuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICBpZiAocmVzLnRvdGFsU3RvcmVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlU3RvcmVDb3VudChyZXMudG90YWxTdG9yZXMsICdza2lwLXByaWNpbmctY2hlY2snKTtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZUNvdW50cy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoZWxlbWVudC52YWx1ZSA9PT0gcmVzLnRvdGFsU3RvcmVzLnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICBlbGVtZW50LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChyZXMuc3RvcmVTaXplKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlZmVhdEFyZWEocmVzLnN0b3JlU2l6ZSwgJ3NraXAtcHJpY2luZy1jaGVjaycpO1xyXG4gICAgICAgICAgICB0aGlzLmZlYXRBcmVhT3B0aW9ucy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoZWxlbWVudC52YWx1ZSA9PT0gcmVzLnN0b3JlU2l6ZS52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhpcy5wbGFuID0gcmVzLnN1YnNjcmlwdGlvblBlcmlvZDtcclxuICAgICAgICAgIHRoaXMucGxhbk5hbWUgPSByZXMuc3Vic2NyaXB0aW9uVHlwZTtcclxuICAgICAgICAgIHRoaXMucHJvZHVjdEZvcm0ucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgICAgIHRhbmdvVHJhZmZpYzogcmVzLnByb2R1Y3QudGFuZ29UcmFmZmljLFxyXG4gICAgICAgICAgICB0YW5nb1pvbmU6IHJlcy5wcm9kdWN0LnRhbmdvWm9uZSxcclxuICAgICAgICAgICAgdGFuZ29UcmF4OiByZXMucHJvZHVjdC50YW5nb1RyYXgsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuZ2V0UHJpY2luZ0RhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIFxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHsgICAgXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3Vic2NyaXB0aW9uKSA9PiB7XHJcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpbml0Rm9ybSgpIHtcclxuICAgIHRoaXMucHJvZHVjdEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgdGFuZ29UcmFmZmljOiBbdHJ1ZV0sXHJcbiAgICAgIHRhbmdvWm9uZTogW2ZhbHNlXSxcclxuICAgICAgdGFuZ29UcmF4OiBbZmFsc2VdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhY3RpdmVTdG9yZUNvdW50KGRhdGE6IGFueSwgbWVzc2FnZT86c3RyaW5nKSB7XHJcbiAgICB0aGlzLnN0b3JlQ291bnRzLmZvckVhY2goKHZhbDogYW55KSA9PiB7XHJcbiAgICAgIHZhbC5hY3RpdmUgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZWxlY3RlZENvdW50cyA9IGRhdGE7XHJcbiAgICBkYXRhLmFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLmNvdW50T2ZTdG9yZSA9IGRhdGEudmFsdWU7XHJcbiAgICB0aGlzLnN0b3JlZGV0aWFscyA9IHRydWU7XHJcbiAgICBpZihtZXNzYWdlICE9PSAnc2tpcC1wcmljaW5nLWNoZWNrJyl7XHJcbiAgICAgIHRoaXMuZ2V0UHJpY2luZ0RhdGEoKTtcclxuICAgIH1cclxuICAgIGlmIChkYXRhLnZhbHVlID09IDEpIHtcclxuICAgICAgLy8gRGlzYWJsZSB0aGUgbGFzdCB0aHJlZSBvcHRpb25zIGluIGZlYXRBcmVhT3B0aW9uc1xyXG4gICAgICBmb3IgKFxyXG4gICAgICAgIGxldCBpID0gdGhpcy5mZWF0QXJlYU9wdGlvbnMubGVuZ3RoIC0gMTtcclxuICAgICAgICBpID49IHRoaXMuZmVhdEFyZWFPcHRpb25zLmxlbmd0aCAtIDM7XHJcbiAgICAgICAgaS0tXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZmVhdEFyZWFPcHRpb25zW2ldLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmZlYXRBcmVhT3B0aW9uc1tpXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAvLyB0aGlzLmZlYXRBcmVhQ2FtZXJhPScnIFxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmb3IgKFxyXG4gICAgICAgIGxldCBpID0gdGhpcy5mZWF0QXJlYU9wdGlvbnMubGVuZ3RoIC0gMTtcclxuICAgICAgICBpID49IHRoaXMuZmVhdEFyZWFPcHRpb25zLmxlbmd0aCAtIDM7XHJcbiAgICAgICAgaS0tXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZmVhdEFyZWFPcHRpb25zW2ldLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgYWN0aXZlZmVhdEFyZWEoZGF0YTogYW55LCBtZXNzYWdlPzpzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGZWV0QXJlYSA9IGRhdGE7XHJcbiAgICB0aGlzLmZlYXRBcmVhT3B0aW9ucy5mb3JFYWNoKCh2YWw6IGFueSkgPT4ge1xyXG4gICAgICB2YWwuYWN0aXZlID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICAgIGRhdGEuYWN0aXZlID0gdHJ1ZTtcclxuICAgIHRoaXMuZmVhdEFyZWEgPSBkYXRhLnZhbHVlO1xyXG4gICAgdGhpcy5mZWF0QXJlYUNhbWVyYSA9IGRhdGEuY2FtZXJhcztcclxuICAgIHRoaXMucHJpY2V2YWx1ZSA9IHRydWU7XHJcbiAgICBpZihtZXNzYWdlICE9PSAnc2tpcC1wcmljaW5nLWNoZWNrJyl7XHJcbiAgICAgIHRoaXMuZ2V0UHJpY2luZ0RhdGEoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3dWaWV3TW9yZShkYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihNb2RhbENvbnRlbnRDb21wb25lbnQsIHtcclxuICAgICAgc2l6ZTogXCJsZ1wiLFxyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudXNlciA9IGRhdGE7XHJcbiAgICAvLyBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS53aWR0aCA9ICcxMDAwcHgnOyAvLyBTZXQgY3VzdG9tIHdpZHRoXHJcbiAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcmV2U3RlcCgpIHtcclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIHRvdGFsU3RvcmVzOiB0aGlzLnNlbGVjdGVkQ291bnRzLFxyXG4gICAgICBzdG9yZVNpemU6IHRoaXMuc2VsZWN0ZWRGZWV0QXJlYSxcclxuICAgICAgc3Vic2NyaXB0aW9uUGVyaW9kOiB0aGlzLnBsYW4sXHJcbiAgICAgIHN1YnNjcmlwdGlvblR5cGU6IHRoaXMucGxhbk5hbWUsXHJcbiAgICAgIHByb2R1Y3Q6IHRoaXMucHJvZHVjdEZvcm0udmFsdWUsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5hdXRoc2VydmljZS5wcmljaW5nRm9ybURhdGEubmV4dChvYmopO1xyXG4gICAgdGhpcy5zZXR0ZXJzZXJ2aWNlLmNvbXBsZXRlU3RlcHBlcih7IHN0ZXA6IDEsIHByZXY6IHRydWUgfSk7XHJcbiAgfVxyXG4gIHBsYW5kZXQodHlwZTogYW55KSB7XHJcbiAgICB0aGlzLnBsYW5OYW1lID0gdHlwZTtcclxuICAgIGlmICh0eXBlID09PSBcImVudGVycHJpc2VcIikge1xyXG4gICAgICBsZXQgb2JqID0ge1xyXG4gICAgICAgIHRvdGFsU3RvcmVzOiB0aGlzLnNlbGVjdGVkQ291bnRzLFxyXG4gICAgICAgIHN0b3JlU2l6ZTogdGhpcy5zZWxlY3RlZEZlZXRBcmVhLFxyXG4gICAgICAgIHN1YnNjcmlwdGlvblBlcmlvZDogdGhpcy5wbGFuLFxyXG4gICAgICAgIHN1YnNjcmlwdGlvblR5cGU6IHRoaXMucGxhbk5hbWUsXHJcbiAgICAgICAgcHJvZHVjdDogdGhpcy5wcm9kdWN0Rm9ybS52YWx1ZSxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5hdXRoc2VydmljZS5wcmljaW5nRm9ybURhdGEubmV4dChvYmopO1xyXG4gICAgICB0aGlzLnBvcHVwID0gdHJ1ZTtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKFwib3ZlcmxheS1vcGVuXCIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IG9iaiA9IHtcclxuICAgICAgICB0b3RhbFN0b3JlczogdGhpcy5zZWxlY3RlZENvdW50cyxcclxuICAgICAgICBzdG9yZVNpemU6IHRoaXMuc2VsZWN0ZWRGZWV0QXJlYSxcclxuICAgICAgICBzdWJzY3JpcHRpb25QZXJpb2Q6IHRoaXMucGxhbixcclxuICAgICAgICBzdWJzY3JpcHRpb25UeXBlOiB0aGlzLnBsYW5OYW1lLFxyXG4gICAgICAgIHByb2R1Y3Q6IHRoaXMucHJvZHVjdEZvcm0udmFsdWUsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuYXV0aHNlcnZpY2UucHJpY2luZ0Zvcm1EYXRhLm5leHQob2JqKTtcclxuICAgICAgdGhpcy5zZXR0ZXJzZXJ2aWNlLmNvbXBsZXRlU3RlcHBlcih7IHN0ZXA6IDMgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RQbGFuKHR5cGU6IGFueSkge1xyXG4gICAgdGhpcy5wbGFuID0gdHlwZTtcclxuICAgIHRoaXMuZ2V0UHJpY2luZ0RhdGEoKTtcclxuICB9XHJcblxyXG4gIGNoZWNrdmFsdWUodHlwZTogYW55KSB7XHJcbiAgICB0aGlzLnRpbWV2YWx1ZSA9IHR5cGU7XHJcbiAgfVxyXG4gIHN1Ym1pdHZhbHVlKCkge1xyXG4gICAgaWYgKHRoaXMudGltZXZhbHVlID09PSBcImNhbGwgYmFja1wiKSB7XHJcbiAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgIHBsYW5OYW1lOiB0aGlzLnBsYW5OYW1lLFxyXG4gICAgICAgIGNsaWVudE5hbWU6IHRoaXMuYWJvdXRGb3JtRGF0YS5jbGllbnROYW1lLFxyXG4gICAgICAgIHRpbWVTbG90OiB0aGlzLmNhbGxiYWNrUHJlZmVycmVkVGltaW5nLFxyXG4gICAgICAgIGNvbnRhY3ROdW1iZXI6IHRoaXMuYWJvdXRGb3JtRGF0YS5tb2JpbGVOdW1iZXI/LnRvU3RyaW5nKCksXHJcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuY2FsbGJhY2tEZXNjcmlwdGlvbi52YWx1ZSxcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgIHRoaXMuYXV0aHNlcnZpY2UucmVxdWVzdENhbGxiYWNrKGRhdGEpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgICAgICB0aGlzLnBvcHVwID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZXF1ZXN0cG9wdXAgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgICAgaWYgKGVycikge1xyXG4gICAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QoZXJyLmVycm9yLmVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnRpbWV2YWx1ZSA9PT0gXCJ0aW1lXCIpIHtcclxuICAgICAgdGhpcy5vcGVuQ2FsZW5kbHlNb2RhbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMucG9wdXAgPSBmYWxzZTtcclxuICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShcIm92ZXJsYXktb3BlblwiKTtcclxuICB9XHJcblxyXG4gIGNvbnRpbnVlc2lnbnVwKCkge1xyXG4gICAgdGhpcy5yZXF1ZXN0cG9wdXAgPSBmYWxzZTtcclxuICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShcIm92ZXJsYXktb3BlblwiKTtcclxuICAgIHRoaXMuc2V0dGVyc2VydmljZS5jb21wbGV0ZVN0ZXBwZXIoeyBzdGVwOiAzIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlbkNhbGVuZGx5TW9kYWwoKSB7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oQ2FsZW5kbHlNb2RhbENvbXBvbmVudCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgc2l6ZTogXCJ4bFwiLFxyXG4gICAgICBzY3JvbGxhYmxlOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICBsZXQgdXNlckRhdGEgPSB7XHJcbiAgICAgIG5hbWU6IGVuY29kZVVSSUNvbXBvbmVudChcclxuICAgICAgICBgJHt0aGlzLmFib3V0Rm9ybURhdGE/LmZpcnN0TmFtZX0gJHt0aGlzLmFib3V0Rm9ybURhdGE/Lmxhc3ROYW1lfWBcclxuICAgICAgKSxcclxuICAgICAgZW1haWw6IGVuY29kZVVSSUNvbXBvbmVudChgJHt0aGlzLmFib3V0Rm9ybURhdGEuY29ycG9yYXRlRW1haWx9YCksXHJcbiAgICB9O1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudXNlckRhdGEgPSB1c2VyRGF0YTtcclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdC50eXBlID09PSBcInNjaGVkdWxlZFwiKSB7XHJcbiAgICAgICAgdGhpcy5wb3B1cCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucmVxdWVzdHBvcHVwID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHByb2R1Y3RzOiBhbnk7XHJcblxyXG4gIGdldFRydWVLZXlzKG9iajogYW55KSB7XHJcbiAgICBpZiAoIW9iaiB8fCB0eXBlb2Ygb2JqICE9PSAnb2JqZWN0Jykge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLnByb2R1Y3RzID0gT2JqZWN0LmtleXMob2JqKS5maWx0ZXIoKGtleSkgPT4gb2JqW2tleV0gPT09IHRydWUpO1xyXG4gICAgcmV0dXJuIHRoaXMucHJvZHVjdHM7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVLZXkob2JqOiBhbnksIGtleTogYW55KSB7XHJcbiAgICBpZiAoIW9iaiB8fCB0eXBlb2Ygb2JqICE9PSAnb2JqZWN0Jykge1xyXG4gICAgICBjb25zb2xlLmVycm9yKFwiSW52YWxpZCBvYmplY3QgcHJvdmlkZWQgdG8gdG9nZ2xlS2V5OlwiLCBvYmopO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IG5vcm1hbGl6ZWRLZXkgPSBPYmplY3Qua2V5cyhvYmopLmZpbmQoayA9PiBrLnRvTG93ZXJDYXNlKCkgPT09IGtleS50b0xvd2VyQ2FzZSgpKTtcclxuXHJcbiAgICBpZiAobm9ybWFsaXplZEtleSkge1xyXG4gICAgICBvYmpbbm9ybWFsaXplZEtleV0gPSBvYmpbbm9ybWFsaXplZEtleV07IFxyXG5cclxuICAgICAgaWYgKG5vcm1hbGl6ZWRLZXkgPT09ICd0YW5nb1pvbmUnICYmIG9iai50YW5nb1pvbmUpIHtcclxuICAgICAgICBvYmoudGFuZ29UcmFmZmljID0gdHJ1ZTsgXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgcmV0dXJuIHRoaXMuZ2V0VHJ1ZUtleXMob2JqKTtcclxuICB9XHJcblxyXG4gIGdldFByaWNpbmdEYXRhKCkge1xyXG4gICAgaWYgKCF0aGlzLnByb2R1Y3RGb3JtIHx8ICF0aGlzLnByb2R1Y3RGb3JtLnZhbHVlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJwcm9kdWN0Rm9ybSBpcyBub3QgaW5pdGlhbGl6ZWQhXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0ZWRQcm9kdWN0cyA9IHRoaXMuZ2V0VHJ1ZUtleXModGhpcy5wcm9kdWN0Rm9ybS52YWx1ZSk7XHJcbiAgICB0aGlzLmN1cnJlbmN5ID0gdGhpcy5hYm91dEZvcm1EYXRhPy5jb3VudHJ5Q29kZSA9PT0gJzkxJyA/ICdydXBlZXMnIDogJ2RvbGxhcic7XHJcblxyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIGNhbWFyYVBlclNxZnQ6IHRoaXMuc2VsZWN0ZWRGZWV0QXJlYT8udmFsdWUsXHJcbiAgICAgIHN0b3Jlc0NvdW50OiB0aGlzLnNlbGVjdGVkQ291bnRzPy52YWx1ZSxcclxuICAgICAgcGxhbk5hbWU6IHRoaXMucGxhbixcclxuICAgICAgcHJvZHVjdHM6IHNlbGVjdGVkUHJvZHVjdHMsIFxyXG4gICAgICBjdXJyZW5jeVR5cGU6IHRoaXMuY3VycmVuY3ksXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgIHRoaXMuYXV0aHNlcnZpY2UuZ2V0UHJpY2luZyhkYXRhKS5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgICBpZiAoZT8uZGF0YT8uT3JpZ2luYWxQcmljZSkge1xyXG4gICAgICAgICAgdGhpcy5wcmljaW5nRGF0YSA9IGUuZGF0YTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25QcmljZUNoYW5nZShrZXk6IGFueSkge1xyXG4gICAgdGhpcy50b2dnbGVLZXkodGhpcy5wcm9kdWN0Rm9ybS52YWx1ZSwga2V5KTtcclxuICAgIHRoaXMuZ2V0UHJpY2luZ0RhdGEoKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgY2hlY2tJZkF0bGVhc3RPbmVTZWxlY3RlZChwcm9kdWN0OnN0cmluZyl7ICAgIFxyXG4gICAgaWYocHJvZHVjdCA9PT0gJ3RhbmdvVHJhZmZpYycgJiYgdGhpcy5wcm9kdWN0Rm9ybS5nZXQoJ3RhbmdvVHJhZmZpYycpPy52YWx1ZSAmJiAhdGhpcy5wcm9kdWN0Rm9ybS5nZXQoJ3RhbmdvWm9uZScpPy52YWx1ZSAmJiAhdGhpcy5wcm9kdWN0Rm9ybS5nZXQoJ3RhbmdvVHJheCcpPy52YWx1ZSl7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9IGVsc2UgaWYocHJvZHVjdCA9PT0gJ3RhbmdvWm9uZScgJiYgIXRoaXMucHJvZHVjdEZvcm0uZ2V0KCd0YW5nb1RyYWZmaWMnKT8udmFsdWUgJiYgdGhpcy5wcm9kdWN0Rm9ybS5nZXQoJ3RhbmdvWm9uZScpPy52YWx1ZSAmJiAhdGhpcy5wcm9kdWN0Rm9ybS5nZXQoJ3RhbmdvVHJheCcpPy52YWx1ZSl7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9IGVsc2UgaWYocHJvZHVjdCA9PT0gJ3RhbmdvVHJheCcgJiYgIXRoaXMucHJvZHVjdEZvcm0uZ2V0KCd0YW5nb1RyYWZmaWMnKT8udmFsdWUgJiYgIXRoaXMucHJvZHVjdEZvcm0uZ2V0KCd0YW5nb1pvbmUnKT8udmFsdWUgJiYgdGhpcy5wcm9kdWN0Rm9ybS5nZXQoJ3RhbmdvVHJheCcpPy52YWx1ZSl7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICB9XHJcbiAgIFxyXG4gIH1cclxuICBcclxuICBcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBtdC0xMCBteC0xNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImgtMTAwIHB4LTUgbXgtNSAgbXQtN1wiPlxyXG4gICAgICAgIDwhLS0gPGltZyBjbGFzcz1cImJ1YmJsZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL1NpZ251cC1idWJibGUtaWNvbi5zdmdcIlxyXG4gICAgICAgICBhbHQ9XCJcIiBzcmNzZXQ9XCJcIj4gLS0+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gYmVmb3JlQ2hvb3NpbmcgIG15LTEyXCI+XHJcbiAgICAgICAgICAgIDxoMSBjbGFzcz1cImhlYWRpbmcgbWItNVwiPkhvdyBtYW55IHN0b3JlcyBkbyB5b3UgaGF2ZT88L2gxPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy05IGNvbC14bC04IGNvbC14eGwtOCB3LWF1dG9cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBiZy1ncmF5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgaW5BY3RpdmVDbGFzcyBjdXJzb3ItcG9pbnRlciBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvdW50IG9mIHN0b3JlQ291bnRzXCIgKGNsaWNrKT1cImFjdGl2ZVN0b3JlQ291bnQoY291bnQpXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlQ2xhc3NdPVwiY291bnQuYWN0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZzLTQgZnctYm9sZFwiIFtuZ0NsYXNzXT1cImNvdW50LmFjdGl2ZSA9PT0gdHJ1ZT8gJ3N0b3JlLXByaW1hcnknOid0ZXh0LWNvbG9yJ1wiPnt7IGNvdW50LnRleHQgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN0b3JlZGV0aWFsc1wiPlxyXG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiaGVhZGluZyBtdC0xMCBtYi01IFwiPldoYXQncyB0aGUgYXZlcmFnZSBzaXplIG9mIHlvdXIgc3RvcmU/PC9oMj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy0xMiBjb2wteGwtMTIgY29sLXh4bC0xMiB3LWF1dG9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYmctZ3JheVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBpbkFjdGl2ZUNsYXNzIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlQ2xhc3NdPVwiaS5hY3RpdmVcIiBbY2xhc3MuZGlzYWJsZWRdPVwiaS5kaXNhYmxlZFwiICpuZ0Zvcj1cImxldCBpIG9mIGZlYXRBcmVhT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGl2ZWZlYXRBcmVhKGkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXgtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnMtNCBmdy1ib2xkXCIgW25nQ2xhc3NdPVwiaS5hY3RpdmUgPT09IHRydWU/ICdzdG9yZS1wcmltYXJ5JzondGV4dC1jb2xvcidcIj57eyBpLnRleHQgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZlYXRBcmVhQ2FtZXJhXCIgY2xhc3M9XCJub3RpY2UgZC1mbGV4ICBtdC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMTZweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJvcmRlci1zdG9yZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEuMzMzNSA5LjY2NjY3TDguMDAwMTYgMTNMMTQuNjY2OCA5LjY2NjY3TTguMDAwMTYgM0wxLjMzMzUgNi4zMzMzM0w4LjAwMDE2IDkuNjY2NjdMMTQuNjY2OCA2LjMzMzMzTDguMDAwMTYgM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmVhdGFyZWF2YWwgbXMtNFwiPk1heGltdW0ge3tmZWF0QXJlYUNhbWVyYX19IENhbWVyYXMgYXJlIHBlcm1pdHRlZCBpbiBzdG9yZXMgd2l0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3F1YXJlIGZlZXQgYmV0d2VlblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tmZWF0QXJlYX19LjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJpY2V2YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweC0wIG10LTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpQbGFucy0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpIZWFkaW5nLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0xMCB0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDEgY2xhc3M9XCJoZWFkaW5nIG1iLTVcIj5QbGFuIERldGFpbHM8L2gxPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6SGVhZGluZy0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpOYXYgZ3JvdXAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1ncm91cCBuYXYtZ3JvdXAtb3V0bGluZSBteC1hdXRvIG1iLTE1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1jb2xvci1ncmF5LTYwMCBidG4tYWN0aXZlIGJ0bi1hY3RpdmUtc2Vjb25kYXJ5IHB4LTYgcHktMyBtZS0yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJwbGFuID09PSAnbW9udGhseSc/ICdhY3RpdmVQbGFuQnRuJzonaW5hY3RpdmVQbGFuQnRuJ1wiIGRhdGEta3QtcGxhbj1cIm1vbnRoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UGxhbignbW9udGhseScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9udGhseVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tY29sb3ItZ3JheS02MDAgYnRuLWFjdGl2ZSBidG4tYWN0aXZlLXNlY29uZGFyeSBweC02IHB5LTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInBsYW4gPT09ICdxdWFydGVybHknPyAnYWN0aXZlUGxhbkJ0bic6J2luYWN0aXZlUGxhbkJ0bidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEta3QtcGxhbj1cIlF1YXJ0ZXJseVwiIChjbGljayk9XCJzZWxlY3RQbGFuKCdxdWFydGVybHknKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFF1YXJ0ZXJseSAtIDEwJVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1jb2xvci1ncmF5LTYwMCBidG4tYWN0aXZlIGJ0bi1hY3RpdmUtc2Vjb25kYXJ5IHB4LTYgcHktM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwicGxhbiA9PT0gJ2FubnVhbCc/ICdhY3RpdmVQbGFuQnRuJzonaW5hY3RpdmVQbGFuQnRuJ1wiIGRhdGEta3QtcGxhbj1cImFubnVhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFBsYW4oJ2FubnVhbCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5udWFsIC0gMTUlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Ok5hdiBncm91cC0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpSb3ctLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnLTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46OkNvbC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC1sZy00IGNvbC14bC00IGNvbC14eGwtNCBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Ok9wdGlvbi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtc3RhcnQgcm91bmRlZC0zICAgcHktMTUgcHgtMTBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY291bnRPZlN0b3JlID09PSAnMSc/ICdmcmVlcGxhbic6J2JnLWxpZ2h0J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpIZWFkaW5nLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNyB0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpUaXRsZS0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMSBjbGFzcz1cInByaWNlLWhlYWQgbWItNVwiPkZyZWUgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGlmZS10aXRsZSBmdy1zZW1pYm9sZCBteC0yXCI+TGlmZXRpbWU8L3NwYW4+PC9oMT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpUaXRsZS0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46OkRlc2NyaXB0aW9uLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXN1Yi1oZWFkIG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZWdyYXRlZCBTb2x1dGlvbiBmb3Igc2luZ2xlIHN0b3JlIG93bmVyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6OkRlc2NyaXB0aW9uLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6UHJpY2UtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdGFydCBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYi0yIHRleHQtcHJpbWFyeSB0ZXh0LXZhbCBtcy0xXCIgKm5nSWY9XCJ0aGlzLmFib3V0Rm9ybURhdGEuY291bnRyeUNvZGU9PT0nOTEnXCI+4oK5PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1iLTIgdGV4dC1wcmltYXJ5IHRleHQtdmFsIG1zLTFcIiAqbmdJZj1cInRoaXMuYWJvdXRGb3JtRGF0YS5jb3VudHJ5Q29kZSAhPT0nOTEnXCI+JDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0zeCBmdy1ib2xkIHRleHQtcHJpbWFyeSB0ZXh0LXZhbFwiPjAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6OlByaWNlLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVyaW9kXCI+cGVyIHN0b3JlIHBlciBtb250aDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6SGVhZGluZy0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6RmVhdHVyZXMtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1zdGFjayBtYi0xMFwiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBsYW4taGVhZCBtZS0yIGZzLTE0cHhcIj5UYW5nbyBUcmFmZmljPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIHJvbGU9XCJzd2l0Y2hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwidGFuZ290cmFmZmljXCIgY2hlY2tlZD1cIlwiIGRpc2FibGVkPVwiXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtYi0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBsYW4taGVhZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWNjdXJhdGVseSBtZWFzdXJlIHRyYWZmaWMgYW5kIG1hcCBzaG9wcGVy4oCZcyBpbi1zdG9yZSBqb3VybmV5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpJdGVtLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpJdGVtLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydCBtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMlwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMTk5Xzg3MzYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE0LjY2NjggNy4zODYyNVY3Ljk5OTU4QzE0LjY2NiA5LjQzNzIgMTQuMjAwNSAxMC44MzYgMTMuMzM5NyAxMS45ODc1QzEyLjQ3ODkgMTMuMTM4OSAxMS4yNjkgMTMuOTgxMiA5Ljg5MDQgMTQuMzg4OUM4LjUxMTc4IDE0Ljc5NjUgNy4wMzgzNCAxNC43NDc1IDUuNjg5ODEgMTQuMjQ5M0M0LjM0MTI4IDEzLjc1MTEgMy4xODk5MyAxMi44MzAzIDIuNDA3NDcgMTEuNjI0M0MxLjYyNTAxIDEwLjQxODMgMS4yNTMzNiA4Ljk5MTYzIDEuMzQ3OTUgNy41NTcxM0MxLjQ0MjU0IDYuMTIyNjMgMS45OTgzIDQuNzU3MTMgMi45MzIzNSAzLjY2NDNDMy44NjY0IDIuNTcxNDYgNS4xMjg2OSAxLjgwOTg0IDYuNTMwOTYgMS40OTMwMUM3LjkzMzIzIDEuMTc2MTkgOS40MDAzNCAxLjMyMTE0IDEwLjcxMzUgMS45MDYyNU0xNC42NjY4IDIuNjY2MjVMOC4wMDAxNyA5LjMzOTU4TDYuMDAwMTcgNy4zMzk1OFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xMTk5Xzg3MzZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBsYW4tc3ViIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9vdGZhbGwgQW5hbHlzaXMgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzExOTlfODczNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuNjY2OCA3LjM4NjI1VjcuOTk5NThDMTQuNjY2IDkuNDM3MiAxNC4yMDA1IDEwLjgzNiAxMy4zMzk3IDExLjk4NzVDMTIuNDc4OSAxMy4xMzg5IDExLjI2OSAxMy45ODEyIDkuODkwNCAxNC4zODg5QzguNTExNzggMTQuNzk2NSA3LjAzODM0IDE0Ljc0NzUgNS42ODk4MSAxNC4yNDkzQzQuMzQxMjggMTMuNzUxMSAzLjE4OTkzIDEyLjgzMDMgMi40MDc0NyAxMS42MjQzQzEuNjI1MDEgMTAuNDE4MyAxLjI1MzM2IDguOTkxNjMgMS4zNDc5NSA3LjU1NzEzQzEuNDQyNTQgNi4xMjI2MyAxLjk5ODMgNC43NTcxMyAyLjkzMjM1IDMuNjY0M0MzLjg2NjQgMi41NzE0NiA1LjEyODY5IDEuODA5ODQgNi41MzA5NiAxLjQ5MzAxQzcuOTMzMjMgMS4xNzYxOSA5LjQwMDM0IDEuMzIxMTQgMTAuNzEzNSAxLjkwNjI1TTE0LjY2NjggMi42NjYyNUw4LjAwMDE3IDkuMzM5NThMNi4wMDAxNyA3LjMzOTU4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzExOTlfODczNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGxhbi1zdWIgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCb3VuY2VkIHZzIEVuZ2FnZXIgQW5hbHlzaXMgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpJdGVtLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpJdGVtLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydCBtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMlwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMTk5Xzg3MzYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE0LjY2NjggNy4zODYyNVY3Ljk5OTU4QzE0LjY2NiA5LjQzNzIgMTQuMjAwNSAxMC44MzYgMTMuMzM5NyAxMS45ODc1QzEyLjQ3ODkgMTMuMTM4OSAxMS4yNjkgMTMuOTgxMiA5Ljg5MDQgMTQuMzg4OUM4LjUxMTc4IDE0Ljc5NjUgNy4wMzgzNCAxNC43NDc1IDUuNjg5ODEgMTQuMjQ5M0M0LjM0MTI4IDEzLjc1MTEgMy4xODk5MyAxMi44MzAzIDIuNDA3NDcgMTEuNjI0M0MxLjYyNTAxIDEwLjQxODMgMS4yNTMzNiA4Ljk5MTYzIDEuMzQ3OTUgNy41NTcxM0MxLjQ0MjU0IDYuMTIyNjMgMS45OTgzIDQuNzU3MTMgMi45MzIzNSAzLjY2NDNDMy44NjY0IDIuNTcxNDYgNS4xMjg2OSAxLjgwOTg0IDYuNTMwOTYgMS40OTMwMUM3LjkzMzIzIDEuMTc2MTkgOS40MDAzNCAxLjMyMTE0IDEwLjcxMzUgMS45MDYyNU0xNC42NjY4IDIuNjY2MjVMOC4wMDAxNyA5LjMzOTU4TDYuMDAwMTcgNy4zMzk1OFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xMTk5Xzg3MzZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBsYW4tc3ViIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWlzc2VkIE9wcG9ydHVuaXR5IFZzIENvbnZlcnNpb24gUmF0ZSA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzExOTlfODczNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuNjY2OCA3LjM4NjI1VjcuOTk5NThDMTQuNjY2IDkuNDM3MiAxNC4yMDA1IDEwLjgzNiAxMy4zMzk3IDExLjk4NzVDMTIuNDc4OSAxMy4xMzg5IDExLjI2OSAxMy45ODEyIDkuODkwNCAxNC4zODg5QzguNTExNzggMTQuNzk2NSA3LjAzODM0IDE0Ljc0NzUgNS42ODk4MSAxNC4yNDkzQzQuMzQxMjggMTMuNzUxMSAzLjE4OTkzIDEyLjgzMDMgMi40MDc0NyAxMS42MjQzQzEuNjI1MDEgMTAuNDE4MyAxLjI1MzM2IDguOTkxNjMgMS4zNDc5NSA3LjU1NzEzQzEuNDQyNTQgNi4xMjI2MyAxLjk5ODMgNC43NTcxMyAyLjkzMjM1IDMuNjY0M0MzLjg2NjQgMi41NzE0NiA1LjEyODY5IDEuODA5ODQgNi41MzA5NiAxLjQ5MzAxQzcuOTMzMjMgMS4xNzYxOSA5LjQwMDM0IDEuMzIxMTQgMTAuNzEzNSAxLjkwNjI1TTE0LjY2NjggMi42NjYyNUw4LjAwMDE3IDkuMzM5NThMNi4wMDAxNyA3LjMzOTU4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzExOTlfODczNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGxhbi1zdWIgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb290ZmFsbCBJbWFnZSBEaXJlY3RvcnkgYnkgdGhlIGhvdXIuIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6SXRlbS0tPlxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpGZWF0dXJlcy0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpTZWxlY3QtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInNlbGVjdGVkQ291bnRzLnZhbHVlICE9PSAnMSdcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnkgdy0xMDAgYnV0dG9uLXNpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwbGFuZGV0KCdmcmVlJylcIj5HZXQgU3RhcnRlZDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6U2VsZWN0LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpPcHRpb24tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6Q29sLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46OkNvbC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC1sZy00IGNvbC14bC00IGNvbC14eGwtNCBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Ok9wdGlvbi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtc3RhcnQgcm91bmRlZC0zIHRleHQtY29udGFpbmVyICBweS0xNSBweC0xMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJjb3VudE9mU3RvcmUgPT09ICcyLTI1JyB8fCBjb3VudE9mU3RvcmUgPT09ICcyNi01MCcgfHwgY291bnRPZlN0b3JlID09PSAnMjYtNTAnIHx8IGNvdW50T2ZTdG9yZSA9PT0gJzUxLTc1JyB8fCBjb3VudE9mU3RvcmUgPT09ICc3Ni0xMDAnPyAnZnJlZXBsYW4nOidiZy1saWdodCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6SGVhZGluZy0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTcgdGV4dC1zdGFydCB0ZXh0LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6VGl0bGUtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDEgY2xhc3M9XCJwcmljZS1oZWFkIG1iLTVcIj5QcmVtaXVtPC9oMT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpUaXRsZS0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46OkRlc2NyaXB0aW9uLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXN1Yi1oZWFkIG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZWdyYXRlZCBTb2x1dGlvbiBmb3IgR3Jvd2luZyBCdXNpbmVzc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6OkRlc2NyaXB0aW9uLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRvcC1yaWdodCBidG4tbWFyZ2luIGJ0biBidG4tbGcgYnRuLXByaW1hcnkgYnRuLWhlaWdodCBweS0xIGN1cnNvci1hdXRvIG10LTNcIj5SZWNvbW1lbmRlZDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6UHJpY2UtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdGFydCBtdC0xNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaWNlLXN1Yi1oZWFkXCI+U3RhcnRzIGZyb208L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWItMiB0ZXh0LXByaW1hcnkgdGV4dC12YWwgbXMtMVwiICpuZ0lmPVwidGhpcy5hYm91dEZvcm1EYXRhLmNvdW50cnlDb2RlPT09JzkxJ1wiPuKCuTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYi0yIHRleHQtcHJpbWFyeSB0ZXh0LXZhbCBtcy0xXCIgKm5nSWY9XCJ0aGlzLmFib3V0Rm9ybURhdGEuY291bnRyeUNvZGUgIT09JzkxJ1wiPiQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpY2Vjb2Rlc2l6ZVwiICpuZ0lmPVwicHJpY2luZ0RhdGE/Lk9yaWdpbmFsUHJpY2UhPT1wcmljaW5nRGF0YT8ucHJpY2VcIiA+PGJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByaWNlY29kZWNvbG9yIHRleHQtc2V0IG14LTJcIj4ge3twcmljaW5nRGF0YT8uT3JpZ2luYWxQcmljZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0zeCBmdy1ib2xkIHRleHQtcHJpbWFyeSB0ZXh0LXZhbFwiPnt7cHJpY2luZ0RhdGE/LnByaWNlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6UHJpY2UtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwZXJpb2RcIj5wZXIgc3RvcmUgcGVyIG1vbnRoPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpIZWFkaW5nLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInByb2R1Y3RGb3JtXCIgYWN0aW9uPVwiXCIgY2xhc3M9XCJ3LTEwMCBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpGZWF0dXJlcy0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXN0YWNrIG10LTEwIG1iLTVcIj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGxhbi1oZWFkIG1lLTIgZnMtMTRweCBsaW5lLWhlaWdodFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dWaWV3TW9yZSgndHJhZmZpYycpXCI+VGFuZ28gVHJhZmZpY1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMSBjdXJzb3ItcG9pbnRlclwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzExOTlfODY4NilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYgOC4xNjY5OVY2LjE2Njk5TTYgNC4xNjY5OUg2LjAwNU0xMSA2LjE2Njk5QzExIDguOTI4NDIgOC43NjE0MiAxMS4xNjcgNiAxMS4xNjdDMy4yMzg1OCAxMS4xNjcgMSA4LjkyODQyIDEgNi4xNjY5OUMxIDMuNDA1NTcgMy4yMzg1OCAxLjE2Njk5IDYgMS4xNjY5OUM4Ljc2MTQyIDEuMTY2OTkgMTEgMy40MDU1NyAxMSA2LjE2Njk5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTE5OV84Njg2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwLjE2Njk5MilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IChjaGFuZ2UpPVwib25QcmljZUNoYW5nZSgndGFuZ290cmFmZmljJylcIiBbbmdDbGFzc109XCJjaGVja0lmQXRsZWFzdE9uZVNlbGVjdGVkKCd0YW5nb1RyYWZmaWMnKSB8fCBwcm9kdWN0Rm9ybS5nZXQoJ3RhbmdvWm9uZScpPy52YWx1ZSA/ICdwZS1ub25lJyA6ICcnXCIgZm9ybUNvbnRyb2xOYW1lPVwidGFuZ29UcmFmZmljXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCIgcm9sZT1cInN3aXRjaFwiIGlkPVwidGFuZ290cmFmZmljXCIgY2hlY2tlZD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpJdGVtLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6SXRlbS0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtc3RhY2sgbWItNVwiPjxzcGFuIGNsYXNzPVwicGxhbi1oZWFkIG1lLTIgZnMtMTRweCBsaW5lLWhlaWdodFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dWaWV3TW9yZSgnem9uZScpXCI+VGFuZ28gWm9uZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMSBjdXJzb3ItcG9pbnRlclwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzExOTlfODY4NilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYgOC4xNjY5OVY2LjE2Njk5TTYgNC4xNjY5OUg2LjAwNU0xMSA2LjE2Njk5QzExIDguOTI4NDIgOC43NjE0MiAxMS4xNjcgNiAxMS4xNjdDMy4yMzg1OCAxMS4xNjcgMSA4LjkyODQyIDEgNi4xNjY5OUMxIDMuNDA1NTcgMy4yMzg1OCAxLjE2Njk5IDYgMS4xNjY5OUM4Ljc2MTQyIDEuMTY2OTkgMTEgMy40MDU1NyAxMSA2LjE2Njk5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTE5OV84Njg2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwLjE2Njk5MilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IChjaGFuZ2UpPVwib25QcmljZUNoYW5nZSgndGFuZ296b25lJyk7IHByb2R1Y3RGb3JtLmdldCgndGFuZ29ab25lJyk/LnZhbHVlID8gcHJvZHVjdEZvcm0uZ2V0KCd0YW5nb1RyYWZmaWMnKT8uc2V0VmFsdWUodHJ1ZSkgOiBudWxsXCIgW25nQ2xhc3NdPVwiY2hlY2tJZkF0bGVhc3RPbmVTZWxlY3RlZCgndGFuZ29ab25lJykgPyAncGUtbm9uZScgOiAnJ1wiIGZvcm1Db250cm9sTmFtZT1cInRhbmdvWm9uZVwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiIHJvbGU9XCJzd2l0Y2hcIiBpZD1cInRhbmdvem9uZVwiIGNoZWNrZWQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXN0YWNrIG1iLTIwXCI+PHNwYW4gY2xhc3M9XCJwbGFuLWhlYWQgbWUtMiBmcy0xNHB4IGxpbmUtaGVpZ2h0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd1ZpZXdNb3JlKCdzb3AnKVwiPlRhbmdvIFRyYXhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTEgY3Vyc29yLXBvaW50ZXJcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTIgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMTk5Xzg2ODYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02IDguMTY2OTlWNi4xNjY5OU02IDQuMTY2OTlINi4wMDVNMTEgNi4xNjY5OUMxMSA4LjkyODQyIDguNzYxNDIgMTEuMTY3IDYgMTEuMTY3QzMuMjM4NTggMTEuMTY3IDEgOC45Mjg0MiAxIDYuMTY2OTlDMSAzLjQwNTU3IDMuMjM4NTggMS4xNjY5OSA2IDEuMTY2OTlDOC43NjE0MiAxLjE2Njk5IDExIDMuNDA1NTcgMTEgNi4xNjY5OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzExOTlfODY4NlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMC4xNjY5OTIpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAoY2hhbmdlKT1cIm9uUHJpY2VDaGFuZ2UoJ3RhbmdvVHJheCcpXCIgW25nQ2xhc3NdPVwiY2hlY2tJZkF0bGVhc3RPbmVTZWxlY3RlZCgndGFuZ29UcmF4JykgPyAncGUtbm9uZScgOiAnJ1wiIGZvcm1Db250cm9sTmFtZT1cInRhbmdvVHJheFwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiIHJvbGU9XCJzd2l0Y2hcIiBpZD1cInRhbmdvVHJheFwiIGNoZWNrZWQ9XCJcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpJdGVtLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXN0YWNrIG1iLTVcIj48c3BhbiBjbGFzcz1cInBsYW4taGVhZCBtZS0yIGZzLTE0cHggbGluZS1oZWlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93Vmlld01vcmUoJ3N1cHBvcnQnKVwiPlByaW9yaXR5IFN1cHBvcnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTEgY3Vyc29yLXBvaW50ZXJcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTIgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMTk5Xzg2ODYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02IDguMTY2OTlWNi4xNjY5OU02IDQuMTY2OTlINi4wMDVNMTEgNi4xNjY5OUMxMSA4LjkyODQyIDguNzYxNDIgMTEuMTY3IDYgMTEuMTY3QzMuMjM4NTggMTEuMTY3IDEgOC45Mjg0MiAxIDYuMTY2OTlDMSAzLjQwNTU3IDMuMjM4NTggMS4xNjY5OSA2IDEuMTY2OTlDOC43NjE0MiAxLjE2Njk5IDExIDMuNDA1NTcgMTEgNi4xNjY5OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzExOTlfODY4NlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMC4xNjY5OTIpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAoY2hhbmdlKT1cIm9uUHJpY2VDaGFuZ2UoKVwiIGZvcm1Db250cm9sTmFtZT1cInByaW9yaXR5U3VwcG9ydFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIHJvbGU9XCJzd2l0Y2hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInN1cHBvcnRcIiBjaGVja2VkPVwiXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6SXRlbS0tPlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6RmVhdHVyZXMtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpTZWxlY3QtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5IGJ1dHRvbi1zaXplIHctMTAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicGxhbmRldCgncHJlbWl1bScpXCI+U3RhcnQgMTQgZGF5IHRyaWFsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpTZWxlY3QtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Ok9wdGlvbi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpDb2wtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6Q29sLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLWxnLTQgY29sLXhsLTQgY29sLXh4bC00IGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCAgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6T3B0aW9uLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBkLWZsZXggZmxleC1jb2x1bW4gZmxleC1zdGFydCByb3VuZGVkLTMgcHktMTUgcHgtMTBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY291bnRPZlN0b3JlID09PSAnMTAxLTE1MCc/ICdmcmVlcGxhbic6J2JnLWxpZ2h0J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpIZWFkaW5nLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNyB0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpUaXRsZS0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMSBjbGFzcz1cInByaWNlLWhlYWQgbWItNVwiPkVudGVycHJpc2U8L2gxPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6OlRpdGxlLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6RGVzY3JpcHRpb24tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2Utc3ViLWhlYWQgbWItNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlZ3JhdGVkIFNvbHV0aW9ucyBmb3IgTGFyZ2VyIEJ1c2luZXNzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWVuZDo6RGVzY3JpcHRpb24tLT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpQcmljZS0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN0YXJ0IG10LTEyXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTN4IGZ3LWJvbGQgdGV4dC1wcmltYXJ5IHRleHQtdmFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMZXTigJlzIFRhbGshPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpQcmljZS0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpIZWFkaW5nLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpGZWF0dXJlcy0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIGgtMjM5cHggbWItMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzExOTlfODczNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuNjY2OCA3LjM4NjI1VjcuOTk5NThDMTQuNjY2IDkuNDM3MiAxNC4yMDA1IDEwLjgzNiAxMy4zMzk3IDExLjk4NzVDMTIuNDc4OSAxMy4xMzg5IDExLjI2OSAxMy45ODEyIDkuODkwNCAxNC4zODg5QzguNTExNzggMTQuNzk2NSA3LjAzODM0IDE0Ljc0NzUgNS42ODk4MSAxNC4yNDkzQzQuMzQxMjggMTMuNzUxMSAzLjE4OTkzIDEyLjgzMDMgMi40MDc0NyAxMS42MjQzQzEuNjI1MDEgMTAuNDE4MyAxLjI1MzM2IDguOTkxNjMgMS4zNDc5NSA3LjU1NzEzQzEuNDQyNTQgNi4xMjI2MyAxLjk5ODMgNC43NTcxMyAyLjkzMjM1IDMuNjY0M0MzLjg2NjQgMi41NzE0NiA1LjEyODY5IDEuODA5ODQgNi41MzA5NiAxLjQ5MzAxQzcuOTMzMjMgMS4xNzYxOSA5LjQwMDM0IDEuMzIxMTQgMTAuNzEzNSAxLjkwNjI1TTE0LjY2NjggMi42NjYyNUw4LjAwMDE3IDkuMzM5NThMNi4wMDAxNyA3LjMzOTU4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzExOTlfODczNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpY2Utc3ViLWhlYWQgZnctc2VtaWJvbGQgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEbyB5b3UgaGF2ZSBtb3JlIHRoYW4gMTAwIHN0b3Jlcz88L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzExOTlfODczNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuNjY2OCA3LjM4NjI1VjcuOTk5NThDMTQuNjY2IDkuNDM3MiAxNC4yMDA1IDEwLjgzNiAxMy4zMzk3IDExLjk4NzVDMTIuNDc4OSAxMy4xMzg5IDExLjI2OSAxMy45ODEyIDkuODkwNCAxNC4zODg5QzguNTExNzggMTQuNzk2NSA3LjAzODM0IDE0Ljc0NzUgNS42ODk4MSAxNC4yNDkzQzQuMzQxMjggMTMuNzUxMSAzLjE4OTkzIDEyLjgzMDMgMi40MDc0NyAxMS42MjQzQzEuNjI1MDEgMTAuNDE4MyAxLjI1MzM2IDguOTkxNjMgMS4zNDc5NSA3LjU1NzEzQzEuNDQyNTQgNi4xMjI2MyAxLjk5ODMgNC43NTcxMyAyLjkzMjM1IDMuNjY0M0MzLjg2NjQgMi41NzE0NiA1LjEyODY5IDEuODA5ODQgNi41MzA5NiAxLjQ5MzAxQzcuOTMzMjMgMS4xNzYxOSA5LjQwMDM0IDEuMzIxMTQgMTAuNzEzNSAxLjkwNjI1TTE0LjY2NjggMi42NjYyNUw4LjAwMDE3IDkuMzM5NThMNi4wMDAxNyA3LjMzOTU4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzExOTlfODczNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpY2Utc3ViLWhlYWQgZnctc2VtaWJvbGQgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXN0IGFzc3VyZWQsIG91ciBkZWRpY2F0ZWQgYWNjb3VudCBtYW5hZ2VycyBhcmUgaGVyZSB0byBzdXBwb3J0IHlvdVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlcnlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXAgb2YgdGhlIHdheS48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Okl0ZW0tLT5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpGZWF0dXJlcy0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6U2VsZWN0LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeSBidXR0b24tc2l6ZSB3LTEwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInBsYW5kZXQoJ2VudGVycHJpc2UnKVwiPlJlcXVlc3QgQ2FsbCBCYWNrPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpTZWxlY3QtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Ok9wdGlvbi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpDb2wtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6OlJvdy0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6OlBsYW5zLS0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtMTJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1sZyB0ZXh0LW5vd3JhcCBidG4tc2V0IG1lLTVcIiAoY2xpY2spPVwicHJldlN0ZXAoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIxIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMTVMOCAxMEwxMyA1XCIgc3Ryb2tlPVwiIzAwOUJGM1wiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiBQcmV2aW91c1xyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICBjbGFzcz1cIm1iLTMgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtbWQtcm93ICBmbGV4LW1kLXN0YWNrIHB0LTMgY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgb3JkZXItMiBvcmRlci1tZC0xIG1zLTEwXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMSBjb3B5XCI+wqkgMjAyNCA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3RhbmdvZXllLmFpXCIgY2xhc3M9XCJmb290ZXJcIj5UYW5nbyBJVCBTb2x1dGlvbnMgSW5kaWEgUHZ0IEx0ZDwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8dWwgY2xhc3M9XCJtZW51IG1lbnUtZ3JheS02MDAgbWVudS1ob3Zlci1wcmltYXJ5IGZ3LXNlbWlib2xkIG9yZGVyLTEgbWUtN1wiPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJtZW51LWl0ZW0gZm9vdGVyXCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vdGFuZ29leWUuYWkvI2Fib3V0dXNcIiBjbGFzcz1cIm1lbnUtbGluayBweC01XCI+QWJvdXQgdXM8L2E+PC9saT5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibWVudS1pdGVtIGZvb3RlclwiPjxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3RhbmdvZXllLmFpLyNjb250YWN0XCIgIGNsYXNzPVwibWVudS1saW5rIHB4LTVcIj5Db250YWN0IHVzPC9hPjwvbGk+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1lbnUtaXRlbSBmb290ZXJcIj48YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly90YW5nb2V5ZS5haS9wcml2YWN5LXBvbGljeS0yL1wiIGNsYXNzPVwibWVudS1saW5rIHB4LTVcIj5Qcml2YWN5ICYgcG9saWN5PC9hPjwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJvdmVybGF5XCIgKm5nSWY9XCJwb3B1cFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInBvcHVwXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiZnctYm9sZCBnZXQtdG91Y2ggbXktNVwiPkdldCBJbiBUb3VjaDwvaDM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZ3LW5vcm1hbCBnZXQtc3ViIG1iLTVcIj5IYXZlIHF1ZXN0aW9ucz8gV2XigJlyZSBoZXJlIHRvIGhlbHAuIFNlbmQgdXMgYSBtZXNzYWdlLCBhbmQgd2XigJlsbCByZXNwb25kXHJcbiAgICAgICAgICAgIHdpdGhpblxyXG4gICAgICAgICAgICAyNCBob3Vycy48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWNlIGQtZmxleCBiZy1saWdodC1wcmltYXJ5IHJvdW5kZWQgYm9yZGVyLXByaW1hcnkgY3Vyc29yLXBvaW50ZXIgIG15LTRcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY2hlY2t2YWx1ZSgndGltZScpXCIgW25nQ2xhc3NdPVwidGltZXZhbHVlID09PSAndGltZSc/ICd0b3VjaC1wcmltYXJ5JzondW50b3VjaC1wcmltYXJ5J1wiPlxyXG4gICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNTZcIiBoZWlnaHQ9XCI1NlwiIHZpZXdCb3g9XCIwIDAgMzYgMzZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjJcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiByeD1cIjE2XCIgZmlsbD1cIiNEQUYxRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBzdHJva2U9XCIjRUFGOEZGXCIgc3Ryb2tlLXdpZHRoPVwiNFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTI1LjMzMzIgMTQuNjY2M0wyMC42NjY1IDE3Ljk5OTdMMjUuMzMzMiAyMS4zMzNWMTQuNjY2M1pcIiBzdHJva2U9XCIjMDBBM0ZGXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0xOS4zMzMyIDEzLjMzM0gxMS45OTk4QzExLjI2MzUgMTMuMzMzIDEwLjY2NjUgMTMuOTMgMTAuNjY2NSAxNC42NjYzVjIxLjMzM0MxMC42NjY1IDIyLjA2OTQgMTEuMjYzNSAyMi42NjYzIDExLjk5OTggMjIuNjY2M0gxOS4zMzMyQzIwLjA2OTUgMjIuNjY2MyAyMC42NjY1IDIyLjA2OTQgMjAuNjY2NSAyMS4zMzNWMTQuNjY2M0MyMC42NjY1IDEzLjkzIDIwLjA2OTUgMTMuMzMzIDE5LjMzMzIgMTMuMzMzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXN0YWNrIGZsZXgtZ3Jvdy0xIGZsZXgtd3JhcCBmbGV4LW1kLW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgbWItbWQtMCBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJmdy1zZW1pYm9sZFwiIFtuZ0NsYXNzXT1cInRpbWV2YWx1ZSA9PT0gJ3RpbWUnPyAndmlkZW8tdGl0bGUnOid1bnRvdWNoLXRpdGxlJ1wiPlNjaGVkdWxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgQ2FsZW5kbHk8L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ub3JtYWwgcGUtN1wiIFtuZ0NsYXNzXT1cInRpbWV2YWx1ZSA9PT0gJ3RpbWUnPyAndmlkZW8tc3ViJzondW50b3VjaC1zdWInXCI+Q2hvb3NlIHlvdXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGltZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzbG90IGluIHRoZSBuZXh0IHN0ZXAuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj48c3BhbiAqbmdJZj1cInRpbWV2YWx1ZSA9PT0ndGltZSdcIj48c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiMTVcIiByeD1cIjcuNVwiIGZpbGw9XCIjMDBBM0ZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiMTVcIiByeD1cIjcuNVwiIHN0cm9rZT1cIiMwMEEzRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjMzMzIgNS41TDYuNzQ5ODQgMTAuMDgzM0w0LjY2NjUgOFwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGltZXZhbHVlICE9PSd0aW1lJ1wiPjxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHJ4PVwiNy41XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiMTVcIiByeD1cIjcuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJub3RpY2UgZC1mbGV4IGJnLWxpZ2h0LXByaW1hcnkgcm91bmRlZCBib3JkZXItcHJpbWFyeSBjdXJzb3ItcG9pbnRlciBteS00XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNoZWNrdmFsdWUoJ2NhbGwgYmFjaycpXCIgW25nQ2xhc3NdPVwidGltZXZhbHVlID09PSAnY2FsbCBiYWNrJz8gJ3RvdWNoLXByaW1hcnknOid1bnRvdWNoLXByaW1hcnknXCI+XHJcbiAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI1NlwiIGhlaWdodD1cIjU2XCIgdmlld0JveD1cIjAgMCAzNiAzNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBmaWxsPVwiI0RBRjFGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIiBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTczMV83MDExNilcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI0LjY2NjUgMjEuMjc5N1YyMy4yNzk3QzI0LjY2NzIgMjMuNDY1NCAyNC42MjkyIDIzLjY0OTIgMjQuNTU0OCAyMy44MTkzQzI0LjQ4MDQgMjMuOTg5NCAyNC4zNzEzIDI0LjE0MjEgMjQuMjM0NSAyNC4yNjc2QzI0LjA5NzcgMjQuMzkzMiAyMy45MzYyIDI0LjQ4ODcgMjMuNzYwMyAyNC41NDgyQzIzLjU4NDQgMjQuNjA3NyAyMy4zOTggMjQuNjI5OCAyMy4yMTMxIDI0LjYxMzFDMjEuMTYxNyAyNC4zOTAyIDE5LjE5MTEgMjMuNjg5MiAxNy40NTk4IDIyLjU2NjRDMTUuODQ5IDIxLjU0MjggMTQuNDgzNCAyMC4xNzcyIDEzLjQ1OTggMTguNTY2NEMxMi4zMzMxIDE2LjgyNzIgMTEuNjMyIDE0Ljg0NzEgMTEuNDEzMSAxMi43ODY0QzExLjM5NjUgMTIuNjAyMSAxMS40MTg0IDEyLjQxNjIgMTEuNDc3NSAxMi4yNDA4QzExLjUzNjUgMTIuMDY1NCAxMS42MzE1IDExLjkwNDIgMTEuNzU2MyAxMS43Njc1QzExLjg4MTEgMTEuNjMwOCAxMi4wMzMgMTEuNTIxNSAxMi4yMDIzIDExLjQ0NjhDMTIuMzcxNiAxMS4zNzIgMTIuNTU0NyAxMS4zMzMyIDEyLjczOTggMTEuMzMzMUgxNC43Mzk4QzE1LjA2MzMgMTEuMzI5OSAxNS4zNzcgMTEuNDQ0NSAxNS42MjIzIDExLjY1NTRDMTUuODY3NiAxMS44NjY0IDE2LjAyNzggMTIuMTU5NCAxNi4wNzMxIDEyLjQ3OTdDMTYuMTU3NSAxMy4xMTk4IDE2LjMxNDEgMTMuNzQ4MiAxNi41Mzk4IDE0LjM1MzFDMTYuNjI5NSAxNC41OTE3IDE2LjY0ODkgMTQuODUxIDE2LjU5NTcgMTUuMTAwM0MxNi41NDI2IDE1LjM0OTYgMTYuNDE5IDE1LjU3ODUgMTYuMjM5OCAxNS43NTk3TDE1LjM5MzEgMTYuNjA2NEMxNi4zNDIyIDE4LjI3NTQgMTcuNzI0MSAxOS42NTc0IDE5LjM5MzEgMjAuNjA2NEwyMC4yMzk4IDE5Ljc1OTdDMjAuNDIxMSAxOS41ODA1IDIwLjY0OTkgMTkuNDU3IDIwLjg5OTIgMTkuNDAzOEMyMS4xNDg1IDE5LjM1MDYgMjEuNDA3OCAxOS4zNyAyMS42NDY1IDE5LjQ1OTdDMjIuMjUxMyAxOS42ODU0IDIyLjg3OTcgMTkuODQyIDIzLjUxOTggMTkuOTI2NEMyMy44NDM2IDE5Ljk3MjEgMjQuMTM5NCAyMC4xMzUyIDI0LjM1MDggMjAuMzg0N0MyNC41NjIyIDIwLjYzNDMgMjQuNjc0NiAyMC45NTI4IDI0LjY2NjUgMjEuMjc5N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNzMxXzcwMTE2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMCAxMClcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtc3RhY2sgZmxleC1ncm93LTEgZmxleC13cmFwIGZsZXgtbWQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMyBtYi1tZC0wIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cImZ3LXNlbWlib2xkXCIgW25nQ2xhc3NdPVwidGltZXZhbHVlID09PSAnY2FsbCBiYWNrJz8gJ3ZpZGVvLXRpdGxlJzondW50b3VjaC10aXRsZSdcIj5SZXF1ZXN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbCBiYWNrPC9oND5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctbm9ybWFsIHBlLTdcIiBbbmdDbGFzc109XCJ0aW1ldmFsdWUgPT09ICdjYWxsIGJhY2snPyAndmlkZW8tdGl0bGUnOid1bnRvdWNoLXN1YidcIj5XZeKAmWxsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgeW91IG9uICs8c3Bhbj57e2Fib3V0Rm9ybURhdGE/LmNvdW50cnlDb2RlfX08L3NwYW4+IHt7YWJvdXRGb3JtRGF0YT8ubW9iaWxlTnVtYmVyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PjxzcGFuICpuZ0lmPVwidGltZXZhbHVlID09PSd0aW1lJ1wiPjxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHJ4PVwiNy41XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiMTVcIiByeD1cIjcuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGltZXZhbHVlICE9PSd0aW1lJ1wiPjxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHJ4PVwiNy41XCIgZmlsbD1cIiMwMEEzRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiIzAwQTNGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuMzMzMiA1LjVMNi43NDk4NCAxMC4wODMzTDQuNjY2NSA4XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidGltZXZhbHVlID09PSAnY2FsbCBiYWNrJ1wiPlxyXG5cclxuICAgICAgICAgICAgPGgzIGNsYXNzPVwidGl0bGUtdmFsIGZ3LXNlbWlib2xkIG15LTNcIj5TZWxlY3QgUHJlZmVycmVkIFRpbWluZyAoSVNUKTwvaDM+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXBcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiQmFzaWMgZXhhbXBsZVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBbbmdDbGFzc109XCJjYWxsYmFja1ByZWZlcnJlZFRpbWluZyA9PT0gJzlhbSAtMTJwbScgPyAncG9wdXAtdGFiLXNlbGVjdGVkJzogJydcIiAoY2xpY2spPVwiY2FsbGJhY2tQcmVmZXJyZWRUaW1pbmcgPSAnOWFtIC0xMnBtJ1wiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCI+OWFtIC0xMnBtPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIFtuZ0NsYXNzXT1cImNhbGxiYWNrUHJlZmVycmVkVGltaW5nID09PSAnMTJwbSAtIDVwbScgPyAncG9wdXAtdGFiLXNlbGVjdGVkJzogJydcIiAoY2xpY2spPVwiY2FsbGJhY2tQcmVmZXJyZWRUaW1pbmcgPSAnMTJwbSAtIDVwbSdcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiPjEycG0gLSA1cG08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gW25nQ2xhc3NdPVwiY2FsbGJhY2tQcmVmZXJyZWRUaW1pbmcgPT09ICc1cG0gLSA4cG0nID8gJ3BvcHVwLXRhYi1zZWxlY3RlZCc6ICcnXCIgKGNsaWNrKT1cImNhbGxiYWNrUHJlZmVycmVkVGltaW5nID0gJzVwbSAtIDhwbSdcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiPjVwbSAtIDhwbTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGg1IGNsYXNzPVwidGl0bGUtc3ViIGZ3LW5vcm1hbCBteS0zXCI+V2UnbGwgY2FsbCB5b3UgYmFjayBpbiBuZXh0IDI0IGJ1c2luZXNzIGhvdXJzPC9oNT5cclxuICAgICAgICAgICAgPHRleHRhcmVhIFtmb3JtQ29udHJvbF09XCJjYWxsYmFja0Rlc2NyaXB0aW9uXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdGV4dC1hcmVhIGZ3LW5vcm1hbFwiIHBsYWNlaG9sZGVyPVwiQmUgbW9yZSBzcGVjaWZpYy4uLlwiIHJvdz1cIjJcIj48L3RleHRhcmVhPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTEwIG1iLTdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGZ3LWJvbGQgdy0xMDBcIiAoY2xpY2spPVwiY2xvc2UoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHN1Ym1pdCBmdy1ib2xkIHctMTAwXCIgKGNsaWNrKT1cInN1Ym1pdHZhbHVlKClcIj5Db25maXJtPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm92ZXJsYXlcIiAqbmdJZj1cInJlcXVlc3Rwb3B1cFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInBvcHVwXCI+XHJcbiAgICAgICAgPHN2ZyB3aWR0aD1cIjU2XCIgaGVpZ2h0PVwiNTZcIiB2aWV3Qm94PVwiMCAwIDU2IDU2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgIDxnIGlkPVwiRmVhdHVyZWQgaWNvblwiPlxyXG4gICAgICAgICAgICA8cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIGZpbGw9XCIjREFGMUZGXCIvPlxyXG4gICAgICAgICAgICA8cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIHN0cm9rZT1cIiNFQUY4RkZcIiBzdHJva2Utd2lkdGg9XCI4XCIvPlxyXG4gICAgICAgICAgICA8ZyBpZD1cIkNoZWNrIGljb25cIj5cclxuICAgICAgICAgICAgPHJlY3QgeD1cIjE2XCIgeT1cIjE2XCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcng9XCIxMFwiIGZpbGw9XCIjREFGMUZGXCIvPlxyXG4gICAgICAgICAgICA8ZyBpZD1cIkljb25cIj5cclxuICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTMtaW5zaWRlLTFfNDM0Nl84MjY0NlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMzMuMDk2NSAyMy4zODk3TDI1LjkzNjUgMzAuMjk5N0wyNC4wMzY1IDI4LjI2OTdDMjMuNjg2NSAyNy45Mzk3IDIzLjEzNjUgMjcuOTE5NyAyMi43MzY1IDI4LjE5OTdDMjIuMzQ2NSAyOC40ODk3IDIyLjIzNjUgMjguOTk5NyAyMi40NzY1IDI5LjQwOTdMMjQuNzI2NSAzMy4wNjk3QzI0Ljk0NjUgMzMuNDA5NyAyNS4zMjY1IDMzLjYxOTcgMjUuNzU2NSAzMy42MTk3QzI2LjE2NjUgMzMuNjE5NyAyNi41NTY1IDMzLjQwOTcgMjYuNzc2NSAzMy4wNjk3QzI3LjEzNjUgMzIuNTk5NyAzNC4wMDY1IDI0LjQwOTcgMzQuMDA2NSAyNC40MDk3QzM0LjkwNjUgMjMuNDg5NyAzMy44MTY1IDIyLjY3OTcgMzMuMDk2NSAyMy4zNzk3VjIzLjM4OTdaXCIvPlxyXG4gICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0zMy4wOTY1IDIzLjM4OTdMMjUuOTM2NSAzMC4yOTk3TDI0LjAzNjUgMjguMjY5N0MyMy42ODY1IDI3LjkzOTcgMjMuMTM2NSAyNy45MTk3IDIyLjczNjUgMjguMTk5N0MyMi4zNDY1IDI4LjQ4OTcgMjIuMjM2NSAyOC45OTk3IDIyLjQ3NjUgMjkuNDA5N0wyNC43MjY1IDMzLjA2OTdDMjQuOTQ2NSAzMy40MDk3IDI1LjMyNjUgMzMuNjE5NyAyNS43NTY1IDMzLjYxOTdDMjYuMTY2NSAzMy42MTk3IDI2LjU1NjUgMzMuNDA5NyAyNi43NzY1IDMzLjA2OTdDMjcuMTM2NSAzMi41OTk3IDM0LjAwNjUgMjQuNDA5NyAzNC4wMDY1IDI0LjQwOTdDMzQuOTA2NSAyMy40ODk3IDMzLjgxNjUgMjIuNjc5NyAzMy4wOTY1IDIzLjM3OTdWMjMuMzg5N1pcIiBmaWxsPVwiIzMzQjVGRlwiIHN0cm9rZT1cIiMwMEEzRkZcIiBzdHJva2Utd2lkdGg9XCI0XCIgbWFzaz1cInVybCgjcGF0aC0zLWluc2lkZS0xXzQzNDZfODI2NDYpXCIvPlxyXG4gICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICBcclxuICAgICAgICA8aDMgY2xhc3M9XCJmdy1ib2xkIGdldC10b3VjaCBteS01XCI+VGhhbmtzIGZvciB5b3VyIHJlcXVlc3QhPC9oMz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnctbm9ybWFsIGdldC1zdWIgbWItNVwiPk91ciB0ZWFtIHdpbGwgZ2V0IGJhY2sgdG8geW91IHNob3J0bHkuIE1lYW53aGlsZSBleHBsb3JlIG1vcmUgYWJvdXQgdXMuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC0xMCBtYi03XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgZnctYm9sZCB3LTEwMFwiIChjbGljayk9XCJjb250aW51ZXNpZ251cCgpXCI+Q29udGludWUgU2lnbmluZyBVcDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=