tango-app-ui-manage-settings 3.0.14-dev → 3.0.16-dev

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.
Files changed (29) hide show
  1. package/esm2022/lib/components/payments-subscription/payments-subscription.component.mjs +151 -68
  2. package/esm2022/lib/components/payments-subscription/subscription-popups/add-stepprice/add-stepprice.component.mjs +2 -2
  3. package/esm2022/lib/components/payments-subscription/subscription-popups/credit-note/credit-note.component.mjs +16 -16
  4. package/esm2022/lib/components/payments-subscription/subscription-popups/model-content/model-content.component.mjs +47 -0
  5. package/esm2022/lib/components/payments-subscription/subscription-popups/multidropdown/multidropdown.component.mjs +83 -45
  6. package/esm2022/lib/components/payments-subscription/subscription-popups/need-help/need-help.component.mjs +4 -9
  7. package/esm2022/lib/components/payments-subscription/subscription-popups/pricing-revised/pricing-revised.component.mjs +8 -3
  8. package/esm2022/lib/components/payments-subscription/subscription-popups/product-confirmation/product-confirmation.component.mjs +12 -3
  9. package/esm2022/lib/components/payments-subscription/subscription-popups/subscription-approval/subscription-approval.component.mjs +3 -3
  10. package/esm2022/lib/components/payments-subscription/subscription-popups/trail-settings/trail-settings.component.mjs +7 -3
  11. package/esm2022/lib/components/payments-subscription/subscription-popups/unsubscribe-request/unsubscribe-request.component.mjs +8 -5
  12. package/esm2022/lib/components/payments-subscription/subscription-popups/update/update.component.mjs +2 -2
  13. package/esm2022/lib/components/payments-subscription/subscription-popups/upgrade-plan/upgrade-plan.component.mjs +34 -9
  14. package/esm2022/lib/services/payment-subscription.service.mjs +5 -2
  15. package/esm2022/lib/tango-manage-settings.module.mjs +5 -2
  16. package/fesm2022/tango-app-ui-manage-settings.mjs +365 -155
  17. package/fesm2022/tango-app-ui-manage-settings.mjs.map +1 -1
  18. package/lib/components/payments-subscription/payments-subscription.component.d.ts +13 -0
  19. package/lib/components/payments-subscription/subscription-popups/credit-note/credit-note.component.d.ts +1 -0
  20. package/lib/components/payments-subscription/subscription-popups/model-content/model-content.component.d.ts +16 -0
  21. package/lib/components/payments-subscription/subscription-popups/multidropdown/multidropdown.component.d.ts +3 -1
  22. package/lib/components/payments-subscription/subscription-popups/need-help/need-help.component.d.ts +1 -4
  23. package/lib/components/payments-subscription/subscription-popups/pricing-revised/pricing-revised.component.d.ts +1 -0
  24. package/lib/components/payments-subscription/subscription-popups/product-confirmation/product-confirmation.component.d.ts +1 -0
  25. package/lib/components/payments-subscription/subscription-popups/unsubscribe-request/unsubscribe-request.component.d.ts +2 -1
  26. package/lib/components/payments-subscription/subscription-popups/upgrade-plan/upgrade-plan.component.d.ts +5 -1
  27. package/lib/services/payment-subscription.service.d.ts +1 -0
  28. package/lib/tango-manage-settings.module.d.ts +13 -12
  29. package/package.json +1 -1
@@ -14,10 +14,7 @@ export class NeedHelpComponent {
14
14
  fb;
15
15
  toast;
16
16
  clientId;
17
- showHelp = true;
18
- showsubscription = false;
19
- showExtendTrail = false;
20
- unsubscriberequest = false;
17
+ status = 'help';
21
18
  cancellingdropDown = false;
22
19
  trailextenddropDown = false;
23
20
  datalist = [];
@@ -58,7 +55,6 @@ export class NeedHelpComponent {
58
55
  });
59
56
  }
60
57
  unscubscribed() {
61
- this.activeModal.close();
62
58
  const requestData = {
63
59
  clientId: this.clientId,
64
60
  reason: this.cancellingIssue,
@@ -76,7 +72,6 @@ export class NeedHelpComponent {
76
72
  }
77
73
  extendtrail() {
78
74
  let product = this.trailextenditem.find((item) => item.name == this.trailextendIssue);
79
- this.activeModal.close();
80
75
  const requestData = {
81
76
  clientId: this.clientId,
82
77
  product: product.value,
@@ -108,12 +103,12 @@ export class NeedHelpComponent {
108
103
  });
109
104
  }
110
105
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NeedHelpComponent, deps: [{ token: i1.NgbActiveModal }, { token: i2.PaymentSubscriptionService }, { token: i0.ChangeDetectorRef }, { token: i3.FormBuilder }, { token: i4.ToastService }], target: i0.ɵɵFactoryTarget.Component });
111
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: NeedHelpComponent, selector: "lib-need-help", inputs: { clientId: "clientId" }, ngImport: i0, template: "<div class=\"modal-content\" *ngIf=\"showHelp\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/needhelp-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Need Help !</div>\r\n </div>\r\n <div class=\"modal-body mb-4 \">\r\n <a class=\"bgcontent\" (click)=\"showHelp = showsubscription = unsubscriberequest = false;showExtendTrail = true\">\r\n Need to raise a ticket for extending trail request <span class=\"ms-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18L15 12L9 6\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </a>\r\n <a class=\"bgcontent mt-4\" (click)=\"showHelp = showExtendTrail = unsubscriberequest=false;showsubscription = true\">\r\n Need to raise a ticket for subscription cancellation <span class=\"ms-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18L15 12L9 6\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </a>\r\n </div>\r\n</div>\r\n\r\n<div [formGroup]=\"extendtrailform\" class=\"modal-content\" *ngIf=\"showExtendTrail\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/plus-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Extend Trial</div>\r\n </div>\r\n<div class=\"modal-body\">\r\n\r\n <div class=\"\">\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div>\r\n <label class=\"headingtext mb-4\">The 14 days trial has got expired. You can request for trial extension</label>\r\n <label for=\"producttype\" class=\"headingtext mb-2\">Pick a Product</label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"producttype\" (click)=\"trailextendDropdown($event)\"\r\n aria-label=\"Default select example\">{{trailextendIssue}}</div>\r\n <div *ngIf=\"trailextenddropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let item of trailextenditem\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"this.trailextendIssue.name == item.name ? 'active' : ''\" class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"trailextendItem(item.name)\">{{item.name}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"extendtrail()\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Extend</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"showsubscription\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/alert-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Are you sure you want to raise ticket for subscription cancellation?</div>\r\n </div>\r\n<div class=\"modal-body\">\r\n\r\n <div class=\"\">\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div>\r\n <label class=\"headingtext mb-4\">Reason for cancelling</label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"cancellingDropdown($event)\"\r\n aria-label=\"Default select example\">{{cancellingIssue}}</div>\r\n <div *ngIf=\"cancellingdropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let cancellingitem of cancellingtype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"this.cancellingIssue == cancellingitem ? 'active' : ''\" class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"cancellingItem(cancellingitem)\">{{cancellingitem}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n <textarea [(ngModel)]=\"this.cancellingDescription\" placeholder=\"Enter a description...\" class=\" mt-6 custom-textarea\"></textarea>\r\n \r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"showHelp = showExtendTrail = showsubscription = false;unsubscriberequest = true;\"\r\n tabindex=\"0\" class=\"btn btn-danger px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Request Unsubscribing</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"unsubscriberequest\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/alert-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Unsubscribed</div>\r\n <div class=\"text-sub mt-4 ms-1\">Are you sure you want the unsubscribe?</div>\r\n </div>\r\n<div class=\"modal-body\" >\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"unscubscribed()\"\r\n tabindex=\"0\" class=\"btn btn-danger px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Yes, Confirm</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n", styles: [".heading{color:var(--Gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.bgcontent{border-radius:8px;background:var(--Gray-50, #F9FAFB);display:flex;padding:11px;align-items:center;gap:16px;align-self:stretch;color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:500;line-height:24px;cursor:pointer}input{color:#101828;border:1px solid #D0D5DD!important;box-shadow:0 1px 2px #1018280d;border-radius:8px;font-size:16px;width:100%;padding:10px 14px;font-family:Inter;font-weight:400;line-height:24px}input:active,input:focus,input:focus-visible{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD)!important;box-shadow:0 1px 2px #1018280d;outline:none!important;background:var(--Gray-50, #F9FAFB)}.custom-textarea{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:8px;width:100%;height:100px;resize:vertical}.custom-textarea:active,.custom-textarea:focus,.custom-textarea:focus-visible{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);outline:none!important;box-shadow:0 1px 2px #1018280d}.modal-body{padding:0% 4% 3%!important}.text-sub{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.dropselect{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
106
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: NeedHelpComponent, selector: "lib-need-help", inputs: { clientId: "clientId" }, ngImport: i0, template: "<div class=\"modal-content\" *ngIf=\"status === 'help'\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/needhelp-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Need Help !</div>\r\n </div>\r\n <div class=\"modal-body mb-4 \">\r\n <a class=\"bgcontent\" (click)=\"status = 'extend'\">\r\n Need to raise a ticket for extending trail request <span class=\"ms-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18L15 12L9 6\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </a>\r\n <a class=\"bgcontent mt-4\" (click)=\"status = 'subscription'\">\r\n Need to raise a ticket for subscription cancellation <span class=\"ms-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18L15 12L9 6\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </a>\r\n </div>\r\n</div>\r\n\r\n<div [formGroup]=\"extendtrailform\" class=\"modal-content\" *ngIf=\"status === 'extend'\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/plus-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Extend Trial</div>\r\n </div>\r\n<div class=\"modal-body\">\r\n\r\n <div class=\"\">\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div>\r\n <label class=\"contenttext mb-4\">The 14 days trial has got expired. You can request for <span class=\"contenttextbold\">trial extension</span></label>\r\n <label for=\"producttype\" class=\"headingtext mb-2\">Pick a Product</label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"producttype\" (click)=\"trailextendDropdown($event)\"\r\n aria-label=\"Default select example\">{{trailextendIssue}}</div>\r\n <div *ngIf=\"trailextenddropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let item of trailextenditem\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"this.trailextendIssue.name === item.name ? 'active' : ''\" class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"trailextendItem(item.name)\">{{item.name}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"status = 'help'\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"extendtrail()\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Extend</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"status === 'subscription'\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/alert-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Are you sure you want to raise ticket for subscription cancellation?</div>\r\n </div>\r\n<div class=\"modal-body\">\r\n\r\n <div class=\"\">\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div>\r\n <label class=\"headingtext mb-4\">Reason for cancelling</label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"cancellingDropdown($event)\"\r\n aria-label=\"Default select example\">{{cancellingIssue}}</div>\r\n <div *ngIf=\"cancellingdropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let cancellingitem of cancellingtype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"this.cancellingIssue === cancellingitem ? 'active' : ''\" class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"cancellingItem(cancellingitem)\">{{cancellingitem}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n <textarea [(ngModel)]=\"this.cancellingDescription\" placeholder=\"Enter a description...\" class=\" mt-6 custom-textarea\"></textarea>\r\n \r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"status = 'help';cancellingDescription=''\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"status ='unsubscribe'\"\r\n tabindex=\"0\" class=\"btn btn-danger px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Request Unsubscribing</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"status === 'unsubscribe'\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/alert-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Unsubscribed</div>\r\n <div class=\"text-sub mt-4 ms-1\">Are you sure you want the unsubscribe?</div>\r\n </div>\r\n<div class=\"modal-body\" >\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"status ='subscription';cancellingDescription=''\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"unscubscribed()\"\r\n tabindex=\"0\" class=\"btn btn-danger px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Yes, Confirm</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n", styles: [".heading{color:var(--Gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.bgcontent{border-radius:8px;background:var(--Gray-50, #F9FAFB);display:flex;padding:11px;align-items:center;gap:16px;align-self:stretch;color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:500;line-height:24px;cursor:pointer}input{color:#101828;border:1px solid #D0D5DD!important;box-shadow:0 1px 2px #1018280d;border-radius:8px;font-size:16px;width:100%;padding:10px 14px;font-family:Inter;font-weight:400;line-height:24px}input:active,input:focus,input:focus-visible{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD)!important;box-shadow:0 1px 2px #1018280d;outline:none!important;background:var(--Gray-50, #F9FAFB)}.custom-textarea{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:8px;width:100%;height:100px;resize:vertical}.custom-textarea:active,.custom-textarea:focus,.custom-textarea:focus-visible{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);outline:none!important;box-shadow:0 1px 2px #1018280d}.modal-body{padding:0% 4% 3%!important}.text-sub{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.dropselect{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:400;line-height:24px;height:45px!important}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.contenttext{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.contenttextbold{font-weight:600}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
112
107
  }
113
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NeedHelpComponent, decorators: [{
114
109
  type: Component,
115
- args: [{ selector: 'lib-need-help', template: "<div class=\"modal-content\" *ngIf=\"showHelp\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/needhelp-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Need Help !</div>\r\n </div>\r\n <div class=\"modal-body mb-4 \">\r\n <a class=\"bgcontent\" (click)=\"showHelp = showsubscription = unsubscriberequest = false;showExtendTrail = true\">\r\n Need to raise a ticket for extending trail request <span class=\"ms-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18L15 12L9 6\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </a>\r\n <a class=\"bgcontent mt-4\" (click)=\"showHelp = showExtendTrail = unsubscriberequest=false;showsubscription = true\">\r\n Need to raise a ticket for subscription cancellation <span class=\"ms-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18L15 12L9 6\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </a>\r\n </div>\r\n</div>\r\n\r\n<div [formGroup]=\"extendtrailform\" class=\"modal-content\" *ngIf=\"showExtendTrail\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/plus-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Extend Trial</div>\r\n </div>\r\n<div class=\"modal-body\">\r\n\r\n <div class=\"\">\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div>\r\n <label class=\"headingtext mb-4\">The 14 days trial has got expired. You can request for trial extension</label>\r\n <label for=\"producttype\" class=\"headingtext mb-2\">Pick a Product</label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"producttype\" (click)=\"trailextendDropdown($event)\"\r\n aria-label=\"Default select example\">{{trailextendIssue}}</div>\r\n <div *ngIf=\"trailextenddropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let item of trailextenditem\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"this.trailextendIssue.name == item.name ? 'active' : ''\" class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"trailextendItem(item.name)\">{{item.name}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"extendtrail()\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Extend</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"showsubscription\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/alert-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Are you sure you want to raise ticket for subscription cancellation?</div>\r\n </div>\r\n<div class=\"modal-body\">\r\n\r\n <div class=\"\">\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div>\r\n <label class=\"headingtext mb-4\">Reason for cancelling</label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"cancellingDropdown($event)\"\r\n aria-label=\"Default select example\">{{cancellingIssue}}</div>\r\n <div *ngIf=\"cancellingdropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let cancellingitem of cancellingtype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"this.cancellingIssue == cancellingitem ? 'active' : ''\" class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"cancellingItem(cancellingitem)\">{{cancellingitem}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n <textarea [(ngModel)]=\"this.cancellingDescription\" placeholder=\"Enter a description...\" class=\" mt-6 custom-textarea\"></textarea>\r\n \r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"showHelp = showExtendTrail = showsubscription = false;unsubscriberequest = true;\"\r\n tabindex=\"0\" class=\"btn btn-danger px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Request Unsubscribing</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"unsubscriberequest\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/alert-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Unsubscribed</div>\r\n <div class=\"text-sub mt-4 ms-1\">Are you sure you want the unsubscribe?</div>\r\n </div>\r\n<div class=\"modal-body\" >\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"unscubscribed()\"\r\n tabindex=\"0\" class=\"btn btn-danger px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Yes, Confirm</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n", styles: [".heading{color:var(--Gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.bgcontent{border-radius:8px;background:var(--Gray-50, #F9FAFB);display:flex;padding:11px;align-items:center;gap:16px;align-self:stretch;color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:500;line-height:24px;cursor:pointer}input{color:#101828;border:1px solid #D0D5DD!important;box-shadow:0 1px 2px #1018280d;border-radius:8px;font-size:16px;width:100%;padding:10px 14px;font-family:Inter;font-weight:400;line-height:24px}input:active,input:focus,input:focus-visible{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD)!important;box-shadow:0 1px 2px #1018280d;outline:none!important;background:var(--Gray-50, #F9FAFB)}.custom-textarea{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:8px;width:100%;height:100px;resize:vertical}.custom-textarea:active,.custom-textarea:focus,.custom-textarea:focus-visible{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);outline:none!important;box-shadow:0 1px 2px #1018280d}.modal-body{padding:0% 4% 3%!important}.text-sub{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.dropselect{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}\n"] }]
110
+ args: [{ selector: 'lib-need-help', template: "<div class=\"modal-content\" *ngIf=\"status === 'help'\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/needhelp-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Need Help !</div>\r\n </div>\r\n <div class=\"modal-body mb-4 \">\r\n <a class=\"bgcontent\" (click)=\"status = 'extend'\">\r\n Need to raise a ticket for extending trail request <span class=\"ms-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18L15 12L9 6\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </a>\r\n <a class=\"bgcontent mt-4\" (click)=\"status = 'subscription'\">\r\n Need to raise a ticket for subscription cancellation <span class=\"ms-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18L15 12L9 6\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </a>\r\n </div>\r\n</div>\r\n\r\n<div [formGroup]=\"extendtrailform\" class=\"modal-content\" *ngIf=\"status === 'extend'\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/plus-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Extend Trial</div>\r\n </div>\r\n<div class=\"modal-body\">\r\n\r\n <div class=\"\">\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div>\r\n <label class=\"contenttext mb-4\">The 14 days trial has got expired. You can request for <span class=\"contenttextbold\">trial extension</span></label>\r\n <label for=\"producttype\" class=\"headingtext mb-2\">Pick a Product</label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"producttype\" (click)=\"trailextendDropdown($event)\"\r\n aria-label=\"Default select example\">{{trailextendIssue}}</div>\r\n <div *ngIf=\"trailextenddropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let item of trailextenditem\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"this.trailextendIssue.name === item.name ? 'active' : ''\" class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"trailextendItem(item.name)\">{{item.name}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"status = 'help'\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"extendtrail()\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Extend</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"status === 'subscription'\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/alert-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Are you sure you want to raise ticket for subscription cancellation?</div>\r\n </div>\r\n<div class=\"modal-body\">\r\n\r\n <div class=\"\">\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div>\r\n <label class=\"headingtext mb-4\">Reason for cancelling</label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"cancellingDropdown($event)\"\r\n aria-label=\"Default select example\">{{cancellingIssue}}</div>\r\n <div *ngIf=\"cancellingdropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let cancellingitem of cancellingtype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"this.cancellingIssue === cancellingitem ? 'active' : ''\" class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"cancellingItem(cancellingitem)\">{{cancellingitem}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n <textarea [(ngModel)]=\"this.cancellingDescription\" placeholder=\"Enter a description...\" class=\" mt-6 custom-textarea\"></textarea>\r\n \r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"status = 'help';cancellingDescription=''\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"status ='unsubscribe'\"\r\n tabindex=\"0\" class=\"btn btn-danger px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Request Unsubscribing</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"status === 'unsubscribe'\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/alert-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Unsubscribed</div>\r\n <div class=\"text-sub mt-4 ms-1\">Are you sure you want the unsubscribe?</div>\r\n </div>\r\n<div class=\"modal-body\" >\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"status ='subscription';cancellingDescription=''\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"unscubscribed()\"\r\n tabindex=\"0\" class=\"btn btn-danger px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Yes, Confirm</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n", styles: [".heading{color:var(--Gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.bgcontent{border-radius:8px;background:var(--Gray-50, #F9FAFB);display:flex;padding:11px;align-items:center;gap:16px;align-self:stretch;color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:500;line-height:24px;cursor:pointer}input{color:#101828;border:1px solid #D0D5DD!important;box-shadow:0 1px 2px #1018280d;border-radius:8px;font-size:16px;width:100%;padding:10px 14px;font-family:Inter;font-weight:400;line-height:24px}input:active,input:focus,input:focus-visible{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD)!important;box-shadow:0 1px 2px #1018280d;outline:none!important;background:var(--Gray-50, #F9FAFB)}.custom-textarea{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:8px;width:100%;height:100px;resize:vertical}.custom-textarea:active,.custom-textarea:focus,.custom-textarea:focus-visible{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);outline:none!important;box-shadow:0 1px 2px #1018280d}.modal-body{padding:0% 4% 3%!important}.text-sub{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.dropselect{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:400;line-height:24px;height:45px!important}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.contenttext{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.contenttextbold{font-weight:600}\n"] }]
116
111
  }], ctorParameters: () => [{ type: i1.NgbActiveModal }, { type: i2.PaymentSubscriptionService }, { type: i0.ChangeDetectorRef }, { type: i3.FormBuilder }, { type: i4.ToastService }], propDecorators: { clientId: [{
117
112
  type: Input
118
113
  }] } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVlZC1oZWxwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvcGF5bWVudHMtc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1wb3B1cHMvbmVlZC1oZWxwL25lZWQtaGVscC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL3BheW1lbnRzLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcG9wdXBzL25lZWQtaGVscC9uZWVkLWhlbHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQW9CLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBTTFDLE1BQU0sT0FBTyxpQkFBaUI7SUFtQ25CO0lBQXFDO0lBQWdFO0lBQTBDO0lBQXdCO0lBbEN2SyxRQUFRLENBQVE7SUFDekIsUUFBUSxHQUFXLElBQUksQ0FBQztJQUN4QixnQkFBZ0IsR0FBVyxLQUFLLENBQUM7SUFDakMsZUFBZSxHQUFXLEtBQUssQ0FBQztJQUNoQyxrQkFBa0IsR0FBVyxLQUFLLENBQUM7SUFDbkMsa0JBQWtCLEdBQVcsS0FBSyxDQUFDO0lBQ25DLG1CQUFtQixHQUFXLEtBQUssQ0FBQztJQUNwQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2QsY0FBYyxHQUFTLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLFFBQVEsQ0FBRSxDQUFDO0lBQ3ZFLHFFQUFxRTtJQUNyRSxlQUFlLEdBQXND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QyxHQUFRLEVBQUUsRUFBRTtZQUNyRyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFBO2dCQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDckM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUdILENBQUM7dUdBeEdVLGlCQUFpQjsyRkFBakIsaUJBQWlCLHVGQ1o5QixpME1BMEdBOzsyRkQ5RmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGVBQWU7aU5BS2hCLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCxJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xyXG5pbXBvcnQgeyBQYXltZW50U3Vic2NyaXB0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3BheW1lbnQtc3Vic2NyaXB0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLW5lZWQtaGVscCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL25lZWQtaGVscC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL25lZWQtaGVscC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIE5lZWRIZWxwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgY2xpZW50SWQ6c3RyaW5nO1xyXG4gIHNob3dIZWxwOmJvb2xlYW4gPSB0cnVlO1xyXG4gIHNob3dzdWJzY3JpcHRpb246Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dFeHRlbmRUcmFpbDpib29sZWFuID0gZmFsc2U7XHJcbiAgdW5zdWJzY3JpYmVyZXF1ZXN0OmJvb2xlYW4gPSBmYWxzZTtcclxuICBjYW5jZWxsaW5nZHJvcERvd246Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIHRyYWlsZXh0ZW5kZHJvcERvd246Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIGRhdGFsaXN0ID0gW107XHJcbiAgY2FuY2VsbGluZ3R5cGU6YW55W10gPSBbJ1Byb2R1Y3QgQ29uY2VybicsICdQcmljZSBDb25jZXJuJywgJ090aGVycycgXTtcclxuICAvLyB0cmFpbGV4dGVuZHR5cGU6IGFueSA9IFsnVGFuZ28gWm9uZScsICdUYW5nbyBSZXZvcCcsICdUYW5nbyBTT1AnXTtcclxuICB0cmFpbGV4dGVuZHR5cGU6IHsgbmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXSA9IFtdO1xyXG4gIGNhbmNlbGxpbmdJc3N1ZTogYW55ID0gJ1Byb2R1Y3QgQ29uY2Vybic7XHJcbiAgY2FuY2VsbGluZ0Rlc2NyaXB0aW9uOmFueTtcclxuICAvLyB0cmFpbGV4dGVuZElzc3VlOiBhbnkgPSAnVGFuZ28gWm9uZSc7XHJcbiAgdHJhaWxleHRlbmRJc3N1ZTogYW55O1xyXG4gIGV4dGVuZHRyYWlsZm9ybTogRm9ybUdyb3VwO1xyXG4gIHRyYWlsZXh0ZW5kaXRlbTphbnk7XHJcbiAgY2FuY2VsbGluZ0l0ZW0oIGNhbmNlbGxpbmd2YWx1ZTphbnkpe1xyXG4gICAgdGhpcy4gY2FuY2VsbGluZ0lzc3VlID0gIGNhbmNlbGxpbmd2YWx1ZTtcclxuICAgIHRoaXMuIGNhbmNlbGxpbmdkcm9wRG93biA9IGZhbHNlO1xyXG4gIH1cclxuICB0cmFpbGV4dGVuZEl0ZW0oIHRyYWlsZXh0ZW5kdmFsdWU6YW55KXtcclxuICAgIHRoaXMuIHRyYWlsZXh0ZW5kSXNzdWUgPSAgdHJhaWxleHRlbmR2YWx1ZTtcclxuICAgIHRoaXMuZXh0ZW5kdHJhaWxmb3JtLmdldCgncHJvZHVjdHR5cGUnKT8uc2V0VmFsdWUodGhpcy50cmFpbGV4dGVuZElzc3VlKVxyXG4gICAgdGhpcy4gdHJhaWxleHRlbmRkcm9wRG93biA9IGZhbHNlO1xyXG4gIH1cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuIFxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgYWN0aXZlTW9kYWw6IE5nYkFjdGl2ZU1vZGFsLCBwcml2YXRlIFBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlOiBQYXltZW50U3Vic2NyaXB0aW9uU2VydmljZSwgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYscHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIscHJpdmF0ZSB0b2FzdDpUb2FzdFNlcnZpY2VcclxuICApIHsgXHJcbiAgIFxyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhaWxleHRlbmQodGhpcy5jbGllbnRJZCk7XHJcbiAgICB0aGlzLmV4dGVuZHRyYWlsZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBwcm9kdWN0dHlwZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIFxyXG4gIHVuc2N1YnNjcmliZWQoKSB7IFxyXG4gICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZSgpO1xyXG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmNsaWVudElkLFxyXG4gICAgICByZWFzb246IHRoaXMuY2FuY2VsbGluZ0lzc3VlLFxyXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5jYW5jZWxsaW5nRGVzY3JpcHRpb25cclxuICAgICAgXHJcbiAgICB9O1xyXG4gICAgdGhpcy5QYXltZW50U3Vic2NyaXB0aW9uU2VydmljZS51bnN1YnNjcmliZShyZXF1ZXN0RGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSAoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSAgXHJcbiAgICAgIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKHJlcXVlc3REYXRhKTtcclxuICAgICAgICB0aGlzLnRvYXN0LmdldEVycm9yVG9hc3QocmVzLm1lc3NhZ2UpXHJcbiAgICAgIH19LFxyXG4gICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLnRvYXN0LmdldEVycm9yVG9hc3QoZXJyb3IuZXJyb3IuZXJyb3IpXHJcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igc3VibWl0dGluZyB1cGRhdGU6JywgZXJyb3IpO1xyXG4gICAgICB9KVxyXG59XHJcblxyXG4gIGV4dGVuZHRyYWlsKCkge1xyXG4gICAgbGV0IHByb2R1Y3QgPSB0aGlzLnRyYWlsZXh0ZW5kaXRlbS5maW5kKChpdGVtOmFueSk9Pml0ZW0ubmFtZSA9PSB0aGlzLnRyYWlsZXh0ZW5kSXNzdWUpOyBcclxuICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoKTtcclxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5jbGllbnRJZCxcclxuICAgICAgcHJvZHVjdDogcHJvZHVjdC52YWx1ZSxcclxuICAgIH07XHJcbiAgICB0aGlzLlBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlLnRyYWlsYXBwcm92YWwocmVxdWVzdERhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUgKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkgIFxyXG4gICAgICB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZShyZXF1ZXN0RGF0YSk7XHJcbiAgICAgICAgdGhpcy50b2FzdC5nZXRQcmltYXJ5VG9hc3QoXCJZb3UgaGF2ZSByYWlzZWQgYSB0aWNrZXQgZm9yIGV4dGVuZGluZyB0cmFpbCByZXF1ZXN0LlwiKVxyXG4gICAgICB9fSxcclxuICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igc3VibWl0dGluZyB1cGRhdGU6JywgZXJyb3IpO1xyXG4gICAgICB9KVxyXG4gICAgICAgIFxyXG59XHJcblxyXG4gIGNhbmNlbGxpbmdEcm9wZG93bihldmVudDpNb3VzZUV2ZW50KXtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy4gY2FuY2VsbGluZ2Ryb3BEb3duID0gIXRoaXMuIGNhbmNlbGxpbmdkcm9wRG93bjtcclxuICB9XHJcbiAgdHJhaWxleHRlbmREcm9wZG93bihldmVudDpNb3VzZUV2ZW50KXtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy4gdHJhaWxleHRlbmRkcm9wRG93biA9ICF0aGlzLiB0cmFpbGV4dGVuZGRyb3BEb3duO1xyXG4gIH1cclxuXHJcbiAgdHJhaWxleHRlbmQoaWQ6YW55KXtcclxuICB0aGlzLlBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlLmdldGV4dGVuZHRyYWlsKGlkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIHRoaXMudHJhaWxleHRlbmRpdGVtID0gcmVzPy5kYXRhXHJcbiAgICAgICAgdGhpcy50cmFpbGV4dGVuZElzc3VlID0gdGhpcy50cmFpbGV4dGVuZGl0ZW1bMF0ubmFtZTtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gIH0pO1xyXG5cclxuXHJcbiAgfVxyXG59XHJcblxyXG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiICpuZ0lmPVwic2hvd0hlbHBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTZcIj5cclxuICAgICAgICA8ZGl2PjxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vY3VzdG9tcG9wdXAtSWNvbnMvbmVlZGhlbHAtaWNvbi5zdmdcIiBhbHQ9XCJcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyBtdC00IG1zLTFcIj5OZWVkIEhlbHAgITwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBtYi00IFwiPlxyXG4gICAgICAgIDxhIGNsYXNzPVwiYmdjb250ZW50XCIgKGNsaWNrKT1cInNob3dIZWxwID0gc2hvd3N1YnNjcmlwdGlvbiA9IHVuc3Vic2NyaWJlcmVxdWVzdCA9IGZhbHNlO3Nob3dFeHRlbmRUcmFpbCA9IHRydWVcIj5cclxuICAgICAgICAgICAgTmVlZCB0byByYWlzZSBhIHRpY2tldCBmb3IgZXh0ZW5kaW5nIHRyYWlsIHJlcXVlc3QgPHNwYW4gY2xhc3M9XCJtcy00XCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTkgMThMMTUgMTJMOSA2XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPGEgY2xhc3M9XCJiZ2NvbnRlbnQgbXQtNFwiIChjbGljayk9XCJzaG93SGVscCA9IHNob3dFeHRlbmRUcmFpbCA9IHVuc3Vic2NyaWJlcmVxdWVzdD1mYWxzZTtzaG93c3Vic2NyaXB0aW9uID0gdHJ1ZVwiPlxyXG4gICAgICAgICAgICBOZWVkIHRvIHJhaXNlIGEgdGlja2V0IGZvciBzdWJzY3JpcHRpb24gY2FuY2VsbGF0aW9uIDxzcGFuIGNsYXNzPVwibXMtNFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk05IDE4TDE1IDEyTDkgNlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBbZm9ybUdyb3VwXT1cImV4dGVuZHRyYWlsZm9ybVwiIGNsYXNzPVwibW9kYWwtY29udGVudFwiICpuZ0lmPVwic2hvd0V4dGVuZFRyYWlsXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC02XCI+XHJcbiAgICAgICAgPGRpdj48aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL2N1c3RvbXBvcHVwLUljb25zL3BsdXMtaWNvbi5zdmdcIiBhbHQ9XCJcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyBtdC00IG1zLTFcIj5FeHRlbmQgVHJpYWw8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZ2LXJvdyBmdi1wbHVnaW5zLWljb24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJoZWFkaW5ndGV4dCBtYi00XCI+VGhlIDE0IGRheXMgdHJpYWwgaGFzIGdvdCBleHBpcmVkLiBZb3UgY2FuIHJlcXVlc3QgZm9yIHRyaWFsIGV4dGVuc2lvbjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicHJvZHVjdHR5cGVcIiAgY2xhc3M9XCJoZWFkaW5ndGV4dCBtYi0yXCI+UGljayBhIFByb2R1Y3Q8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXNlbGVjdCBkcm9wc2VsZWN0IGxldmVsdmlld3RleHRcIiBpZD1cInByb2R1Y3R0eXBlXCIgKGNsaWNrKT1cInRyYWlsZXh0ZW5kRHJvcGRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkRlZmF1bHQgc2VsZWN0IGV4YW1wbGVcIj57e3RyYWlsZXh0ZW5kSXNzdWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0cmFpbGV4dGVuZGRyb3BEb3duXCIgY2xhc3M9XCJjYXJkIHB5LTIgdy0xMDAgcG9zaXRpb24tYWJzb2x1dGUgZW5kLTAgei0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdHJhaWxleHRlbmRpdGVtXCIgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCJ0aGlzLnRyYWlsZXh0ZW5kSXNzdWUubmFtZSA9PSBpdGVtLm5hbWUgPyAnYWN0aXZlJyA6ICcnXCIgY2xhc3M9XCJwcm9kdWN0dGV4dCBweC01IGl0ZW1zIGN1cnNvci1wb2ludGVyIHB5LTRcIiAoY2xpY2spPVwidHJhaWxleHRlbmRJdGVtKGl0ZW0ubmFtZSlcIj57e2l0ZW0ubmFtZX19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXQtMiBweS0yXCI+XHJcbiAgICAgICAgPGJ1dHRvbiAgdHlwZT1cInN1Ym1pdFwiICAoY2xpY2spPVwiYWN0aXZlTW9kYWwuZGlzbWlzcygpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1vdXRsaW5lIGJ0biBjYW5jZWwgbWUtNCB3LTUwXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImV4dGVuZHRyYWlsKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgbmctc3Rhci1pbnNlcnRlZCB3LTUwXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1Ym1pdFwiPkV4dGVuZDwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiAqbmdJZj1cInNob3dzdWJzY3JpcHRpb25cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTZcIj5cclxuICAgICAgICA8ZGl2PjxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vY3VzdG9tcG9wdXAtSWNvbnMvYWxlcnQtaWNvbi5zdmdcIiBhbHQ9XCJcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyBtdC00IG1zLTFcIj5BcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmFpc2UgdGlja2V0IGZvciBzdWJzY3JpcHRpb24gY2FuY2VsbGF0aW9uPzwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZnYtcm93IGZ2LXBsdWdpbnMtaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImhlYWRpbmd0ZXh0IG1iLTRcIj5SZWFzb24gZm9yIGNhbmNlbGxpbmc8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXNlbGVjdCBkcm9wc2VsZWN0IGxldmVsdmlld3RleHRcIiBpZD1cImN1cnJlbmN5XCIgKGNsaWNrKT1cImNhbmNlbGxpbmdEcm9wZG93bigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRGVmYXVsdCBzZWxlY3QgZXhhbXBsZVwiPnt7Y2FuY2VsbGluZ0lzc3VlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2FuY2VsbGluZ2Ryb3BEb3duXCIgY2xhc3M9XCJjYXJkIHB5LTIgdy0xMDAgcG9zaXRpb24tYWJzb2x1dGUgZW5kLTAgei0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IGNhbmNlbGxpbmdpdGVtIG9mIGNhbmNlbGxpbmd0eXBlXCIgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCJ0aGlzLmNhbmNlbGxpbmdJc3N1ZSA9PSBjYW5jZWxsaW5naXRlbSA/ICdhY3RpdmUnIDogJydcIiBjbGFzcz1cInByb2R1Y3R0ZXh0IHB4LTUgaXRlbXMgY3Vyc29yLXBvaW50ZXIgcHktNFwiIChjbGljayk9XCJjYW5jZWxsaW5nSXRlbShjYW5jZWxsaW5naXRlbSlcIj57e2NhbmNlbGxpbmdpdGVtfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHRleHRhcmVhIFsobmdNb2RlbCldPVwidGhpcy5jYW5jZWxsaW5nRGVzY3JpcHRpb25cIiBwbGFjZWhvbGRlcj1cIkVudGVyIGEgZGVzY3JpcHRpb24uLi5cIiBjbGFzcz1cIiBtdC02IGN1c3RvbS10ZXh0YXJlYVwiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXQtMiBweS0yXCI+XHJcbiAgICAgICAgPGJ1dHRvbiAgdHlwZT1cInN1Ym1pdFwiICAoY2xpY2spPVwiYWN0aXZlTW9kYWwuZGlzbWlzcygpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1vdXRsaW5lIGJ0biBjYW5jZWwgbWUtNCB3LTUwXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNob3dIZWxwID0gc2hvd0V4dGVuZFRyYWlsID0gc2hvd3N1YnNjcmlwdGlvbiA9IGZhbHNlO3Vuc3Vic2NyaWJlcmVxdWVzdCA9IHRydWU7XCJcclxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIHB4LTQgbmctc3Rhci1pbnNlcnRlZCB3LTUwXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1Ym1pdFwiPlJlcXVlc3QgVW5zdWJzY3JpYmluZzwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiAqbmdJZj1cInVuc3Vic2NyaWJlcmVxdWVzdFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtNlwiPlxyXG4gICAgICAgIDxkaXY+PGltZyBzcmM9XCIuL2Fzc2V0cy90YW5nby9jdXN0b21wb3B1cC1JY29ucy9hbGVydC1pY29uLnN2Z1wiIGFsdD1cIlwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nIG10LTQgbXMtMVwiPlVuc3Vic2NyaWJlZDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN1YiBtdC00IG1zLTFcIj5BcmUgeW91IHN1cmUgeW91IHdhbnQgdGhlIHVuc3Vic2NyaWJlPzwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCIgPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBtdC0yIHB5LTJcIj5cclxuICAgICAgICA8YnV0dG9uICB0eXBlPVwic3VibWl0XCIgIChjbGljayk9XCJhY3RpdmVNb2RhbC5kaXNtaXNzKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLW91dGxpbmUgYnRuIGNhbmNlbCBtZS00IHctNTBcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwidW5zY3Vic2NyaWJlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIHB4LTQgbmctc3Rhci1pbnNlcnRlZCB3LTUwXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1Ym1pdFwiPlllcywgQ29uZmlybTwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuIl19
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVlZC1oZWxwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvcGF5bWVudHMtc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1wb3B1cHMvbmVlZC1oZWxwL25lZWQtaGVscC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL3BheW1lbnRzLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcG9wdXBzL25lZWQtaGVscC9uZWVkLWhlbHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQW9CLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBTTFDLE1BQU0sT0FBTyxpQkFBaUI7SUFnQ25CO0lBQXFDO0lBQWdFO0lBQTBDO0lBQXdCO0lBL0J2SyxRQUFRLENBQVE7SUFDekIsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUNoQixrQkFBa0IsR0FBVyxLQUFLLENBQUM7SUFDbkMsbUJBQW1CLEdBQVcsS0FBSyxDQUFDO0lBQ3BDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDZCxjQUFjLEdBQVMsQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsUUFBUSxDQUFFLENBQUM7SUFDdkUscUVBQXFFO0lBQ3JFLGVBQWUsR0FBc0MsRUFBRSxDQUFDO0lBQ3hELGVBQWUsR0FBUSxpQkFBaUIsQ0FBQztJQUN6QyxxQkFBcUIsQ0FBSztJQUMxQix3Q0FBd0M7SUFDeEMsZ0JBQWdCLENBQU07SUFDdEIsZUFBZSxDQUFZO0lBQzNCLGVBQWUsQ0FBSztJQUNwQixjQUFjLENBQUUsZUFBbUI7UUFDakMsSUFBSSxDQUFFLGVBQWUsR0FBSSxlQUFlLENBQUM7UUFDekMsSUFBSSxDQUFFLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBQ0QsZUFBZSxDQUFFLGdCQUFvQjtRQUNuQyxJQUFJLENBQUUsZ0JBQWdCLEdBQUksZ0JBQWdCLENBQUM7UUFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBQ3hFLElBQUksQ0FBRSxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUNnQixRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUUxQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFDUyxXQUEyQixFQUFVLDBCQUFzRCxFQUFVLGNBQWlDLEVBQVMsRUFBZSxFQUFTLEtBQWtCO1FBQXpMLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBYTtJQUdsTSxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDbkMsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDdkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWE7UUFDWCxNQUFNLFdBQVcsR0FBRztZQUNsQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQzVCLFdBQVcsRUFBRSxJQUFJLENBQUMscUJBQXFCO1NBRXhDLENBQUM7UUFDRixJQUFJLENBQUMsMEJBQTBCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDOUcsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQzFCO2dCQUNFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7YUFDdEM7UUFBQSxDQUFDLEVBQ0YsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDM0MsT0FBTyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQTtJQUNSLENBQUM7SUFFQyxXQUFXO1FBQ1QsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFRLEVBQUMsRUFBRSxDQUFBLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEYsTUFBTSxXQUFXLEdBQUc7WUFDbEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSztTQUN2QixDQUFDO1FBQ0YsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ2hILElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUMxQjtnQkFDRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsdURBQXVELENBQUMsQ0FBQTthQUNwRjtRQUFBLENBQUMsRUFDRixDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQTtJQUVSLENBQUM7SUFFQyxrQkFBa0IsQ0FBQyxLQUFnQjtRQUNqQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFFLGtCQUFrQixHQUFHLENBQUMsSUFBSSxDQUFFLGtCQUFrQixDQUFDO0lBQ3ZELENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxLQUFnQjtRQUNsQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFFLG1CQUFtQixHQUFHLENBQUMsSUFBSSxDQUFFLG1CQUFtQixDQUFDO0lBQ3pELENBQUM7SUFFRCxXQUFXLENBQUMsRUFBTTtRQUNsQixJQUFJLENBQUMsMEJBQTBCLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDckcsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQTtnQkFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNyRCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3JDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFHSCxDQUFDO3VHQW5HVSxpQkFBaUI7MkZBQWpCLGlCQUFpQix1RkNaOUIsOHZNQTBHQTs7MkZEOUZhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxlQUFlO2lOQUtoQixRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcclxuaW1wb3J0IHsgUGF5bWVudFN1YnNjcmlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9wYXltZW50LXN1YnNjcmlwdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1uZWVkLWhlbHAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uZWVkLWhlbHAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9uZWVkLWhlbHAuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZWVkSGVscENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGNsaWVudElkOnN0cmluZztcclxuICBzdGF0dXMgPSAnaGVscCc7XHJcbiAgY2FuY2VsbGluZ2Ryb3BEb3duOmJvb2xlYW4gPSBmYWxzZTtcclxuICB0cmFpbGV4dGVuZGRyb3BEb3duOmJvb2xlYW4gPSBmYWxzZTtcclxuICBkYXRhbGlzdCA9IFtdO1xyXG4gIGNhbmNlbGxpbmd0eXBlOmFueVtdID0gWydQcm9kdWN0IENvbmNlcm4nLCAnUHJpY2UgQ29uY2VybicsICdPdGhlcnMnIF07XHJcbiAgLy8gdHJhaWxleHRlbmR0eXBlOiBhbnkgPSBbJ1RhbmdvIFpvbmUnLCAnVGFuZ28gUmV2b3AnLCAnVGFuZ28gU09QJ107XHJcbiAgdHJhaWxleHRlbmR0eXBlOiB7IG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9W10gPSBbXTtcclxuICBjYW5jZWxsaW5nSXNzdWU6IGFueSA9ICdQcm9kdWN0IENvbmNlcm4nO1xyXG4gIGNhbmNlbGxpbmdEZXNjcmlwdGlvbjphbnk7XHJcbiAgLy8gdHJhaWxleHRlbmRJc3N1ZTogYW55ID0gJ1RhbmdvIFpvbmUnO1xyXG4gIHRyYWlsZXh0ZW5kSXNzdWU6IGFueTtcclxuICBleHRlbmR0cmFpbGZvcm06IEZvcm1Hcm91cDtcclxuICB0cmFpbGV4dGVuZGl0ZW06YW55O1xyXG4gIGNhbmNlbGxpbmdJdGVtKCBjYW5jZWxsaW5ndmFsdWU6YW55KXtcclxuICAgIHRoaXMuIGNhbmNlbGxpbmdJc3N1ZSA9ICBjYW5jZWxsaW5ndmFsdWU7XHJcbiAgICB0aGlzLiBjYW5jZWxsaW5nZHJvcERvd24gPSBmYWxzZTtcclxuICB9XHJcbiAgdHJhaWxleHRlbmRJdGVtKCB0cmFpbGV4dGVuZHZhbHVlOmFueSl7XHJcbiAgICB0aGlzLiB0cmFpbGV4dGVuZElzc3VlID0gIHRyYWlsZXh0ZW5kdmFsdWU7XHJcbiAgICB0aGlzLmV4dGVuZHRyYWlsZm9ybS5nZXQoJ3Byb2R1Y3R0eXBlJyk/LnNldFZhbHVlKHRoaXMudHJhaWxleHRlbmRJc3N1ZSlcclxuICAgIHRoaXMuIHRyYWlsZXh0ZW5kZHJvcERvd24gPSBmYWxzZTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiBcclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGFjdGl2ZU1vZGFsOiBOZ2JBY3RpdmVNb2RhbCwgcHJpdmF0ZSBQYXltZW50U3Vic2NyaXB0aW9uU2VydmljZTogUGF5bWVudFN1YnNjcmlwdGlvblNlcnZpY2UsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLHByaXZhdGUgdG9hc3Q6VG9hc3RTZXJ2aWNlXHJcbiAgKSB7IFxyXG4gICBcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYWlsZXh0ZW5kKHRoaXMuY2xpZW50SWQpO1xyXG4gICAgdGhpcy5leHRlbmR0cmFpbGZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgcHJvZHVjdHR5cGU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF1cclxuICAgIH0pO1xyXG4gIH1cclxuICBcclxuICB1bnNjdWJzY3JpYmVkKCkgeyBcclxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5jbGllbnRJZCxcclxuICAgICAgcmVhc29uOiB0aGlzLmNhbmNlbGxpbmdJc3N1ZSxcclxuICAgICAgZGVzY3JpcHRpb246IHRoaXMuY2FuY2VsbGluZ0Rlc2NyaXB0aW9uXHJcbiAgICAgIFxyXG4gICAgfTtcclxuICAgIHRoaXMuUGF5bWVudFN1YnNjcmlwdGlvblNlcnZpY2UudW5zdWJzY3JpYmUocmVxdWVzdERhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUgKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkgIFxyXG4gICAgICB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZShyZXF1ZXN0RGF0YSk7XHJcbiAgICAgICAgdGhpcy50b2FzdC5nZXRFcnJvclRvYXN0KHJlcy5tZXNzYWdlKVxyXG4gICAgICB9fSxcclxuICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgdGhpcy50b2FzdC5nZXRFcnJvclRvYXN0KGVycm9yLmVycm9yLmVycm9yKVxyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHN1Ym1pdHRpbmcgdXBkYXRlOicsIGVycm9yKTtcclxuICAgICAgfSlcclxufVxyXG5cclxuICBleHRlbmR0cmFpbCgpIHtcclxuICAgIGxldCBwcm9kdWN0ID0gdGhpcy50cmFpbGV4dGVuZGl0ZW0uZmluZCgoaXRlbTphbnkpPT5pdGVtLm5hbWUgPT0gdGhpcy50cmFpbGV4dGVuZElzc3VlKTsgXHJcbiAgICBjb25zdCByZXF1ZXN0RGF0YSA9IHtcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuY2xpZW50SWQsXHJcbiAgICAgIHByb2R1Y3Q6IHByb2R1Y3QudmFsdWUsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5QYXltZW50U3Vic2NyaXB0aW9uU2VydmljZS50cmFpbGFwcHJvdmFsKHJlcXVlc3REYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlICgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApICBcclxuICAgICAge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UocmVxdWVzdERhdGEpO1xyXG4gICAgICAgIHRoaXMudG9hc3QuZ2V0UHJpbWFyeVRvYXN0KFwiWW91IGhhdmUgcmFpc2VkIGEgdGlja2V0IGZvciBleHRlbmRpbmcgdHJhaWwgcmVxdWVzdC5cIilcclxuICAgICAgfX0sXHJcbiAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHN1Ym1pdHRpbmcgdXBkYXRlOicsIGVycm9yKTtcclxuICAgICAgfSlcclxuICAgICAgICBcclxufVxyXG5cclxuICBjYW5jZWxsaW5nRHJvcGRvd24oZXZlbnQ6TW91c2VFdmVudCl7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuIGNhbmNlbGxpbmdkcm9wRG93biA9ICF0aGlzLiBjYW5jZWxsaW5nZHJvcERvd247XHJcbiAgfVxyXG4gIHRyYWlsZXh0ZW5kRHJvcGRvd24oZXZlbnQ6TW91c2VFdmVudCl7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuIHRyYWlsZXh0ZW5kZHJvcERvd24gPSAhdGhpcy4gdHJhaWxleHRlbmRkcm9wRG93bjtcclxuICB9XHJcblxyXG4gIHRyYWlsZXh0ZW5kKGlkOmFueSl7XHJcbiAgdGhpcy5QYXltZW50U3Vic2NyaXB0aW9uU2VydmljZS5nZXRleHRlbmR0cmFpbChpZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICB0aGlzLnRyYWlsZXh0ZW5kaXRlbSA9IHJlcz8uZGF0YVxyXG4gICAgICAgIHRoaXMudHJhaWxleHRlbmRJc3N1ZSA9IHRoaXMudHJhaWxleHRlbmRpdGVtWzBdLm5hbWU7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICB9KTtcclxuXHJcblxyXG4gIH1cclxufVxyXG5cclxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiAqbmdJZj1cInN0YXR1cyA9PT0gJ2hlbHAnXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC02XCI+XHJcbiAgICAgICAgPGRpdj48aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL2N1c3RvbXBvcHVwLUljb25zL25lZWRoZWxwLWljb24uc3ZnXCIgYWx0PVwiXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmcgbXQtNCBtcy0xXCI+TmVlZCBIZWxwICE8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgbWItNCBcIj5cclxuICAgICAgICA8YSBjbGFzcz1cImJnY29udGVudFwiIChjbGljayk9XCJzdGF0dXMgPSAnZXh0ZW5kJ1wiPlxyXG4gICAgICAgICAgICBOZWVkIHRvIHJhaXNlIGEgdGlja2V0IGZvciBleHRlbmRpbmcgdHJhaWwgcmVxdWVzdCA8c3BhbiBjbGFzcz1cIm1zLTRcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOSAxOEwxNSAxMkw5IDZcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICA8YSBjbGFzcz1cImJnY29udGVudCBtdC00XCIgKGNsaWNrKT1cInN0YXR1cyA9ICdzdWJzY3JpcHRpb24nXCI+XHJcbiAgICAgICAgICAgIE5lZWQgdG8gcmFpc2UgYSB0aWNrZXQgZm9yIHN1YnNjcmlwdGlvbiBjYW5jZWxsYXRpb24gPHNwYW4gY2xhc3M9XCJtcy00XCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTkgMThMMTUgMTJMOSA2XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IFtmb3JtR3JvdXBdPVwiZXh0ZW5kdHJhaWxmb3JtXCIgY2xhc3M9XCJtb2RhbC1jb250ZW50XCIgKm5nSWY9XCJzdGF0dXMgPT09ICdleHRlbmQnXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC02XCI+XHJcbiAgICAgICAgPGRpdj48aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL2N1c3RvbXBvcHVwLUljb25zL3BsdXMtaWNvbi5zdmdcIiBhbHQ9XCJcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyBtdC00IG1zLTFcIj5FeHRlbmQgVHJpYWw8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZ2LXJvdyBmdi1wbHVnaW5zLWljb24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb250ZW50dGV4dCBtYi00XCI+VGhlIDE0IGRheXMgdHJpYWwgaGFzIGdvdCBleHBpcmVkLiBZb3UgY2FuIHJlcXVlc3QgZm9yIDxzcGFuIGNsYXNzPVwiY29udGVudHRleHRib2xkXCI+dHJpYWwgZXh0ZW5zaW9uPC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicHJvZHVjdHR5cGVcIiAgY2xhc3M9XCJoZWFkaW5ndGV4dCBtYi0yXCI+UGljayBhIFByb2R1Y3Q8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXNlbGVjdCBkcm9wc2VsZWN0IGxldmVsdmlld3RleHRcIiBpZD1cInByb2R1Y3R0eXBlXCIgKGNsaWNrKT1cInRyYWlsZXh0ZW5kRHJvcGRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkRlZmF1bHQgc2VsZWN0IGV4YW1wbGVcIj57e3RyYWlsZXh0ZW5kSXNzdWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0cmFpbGV4dGVuZGRyb3BEb3duXCIgY2xhc3M9XCJjYXJkIHB5LTIgdy0xMDAgcG9zaXRpb24tYWJzb2x1dGUgZW5kLTAgei0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdHJhaWxleHRlbmRpdGVtXCIgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCJ0aGlzLnRyYWlsZXh0ZW5kSXNzdWUubmFtZSA9PT0gaXRlbS5uYW1lID8gJ2FjdGl2ZScgOiAnJ1wiIGNsYXNzPVwicHJvZHVjdHRleHQgcHgtNSBpdGVtcyBjdXJzb3ItcG9pbnRlciBweS00XCIgKGNsaWNrKT1cInRyYWlsZXh0ZW5kSXRlbShpdGVtLm5hbWUpXCI+e3tpdGVtLm5hbWV9fTwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG10LTIgcHktMlwiPlxyXG4gICAgICAgIDxidXR0b24gIHR5cGU9XCJzdWJtaXRcIiAgKGNsaWNrKT1cInN0YXR1cyA9ICdoZWxwJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tb3V0bGluZSBidG4gY2FuY2VsIG1lLTQgdy01MFwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJleHRlbmR0cmFpbCgpXCJcclxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBweC00IG5nLXN0YXItaW5zZXJ0ZWQgdy01MFwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDtcIj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdWJtaXRcIj5FeHRlbmQ8L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCIgKm5nSWY9XCJzdGF0dXMgPT09ICdzdWJzY3JpcHRpb24nXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC02XCI+XHJcbiAgICAgICAgPGRpdj48aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL2N1c3RvbXBvcHVwLUljb25zL2FsZXJ0LWljb24uc3ZnXCIgYWx0PVwiXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmcgbXQtNCBtcy0xXCI+QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJhaXNlIHRpY2tldCBmb3Igc3Vic2NyaXB0aW9uIGNhbmNlbGxhdGlvbj88L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZ2LXJvdyBmdi1wbHVnaW5zLWljb24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJoZWFkaW5ndGV4dCBtYi00XCI+UmVhc29uIGZvciBjYW5jZWxsaW5nPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZSBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1zZWxlY3QgZHJvcHNlbGVjdCBsZXZlbHZpZXd0ZXh0XCIgaWQ9XCJjdXJyZW5jeVwiIChjbGljayk9XCJjYW5jZWxsaW5nRHJvcGRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkRlZmF1bHQgc2VsZWN0IGV4YW1wbGVcIj57e2NhbmNlbGxpbmdJc3N1ZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNhbmNlbGxpbmdkcm9wRG93blwiIGNsYXNzPVwiY2FyZCBweS0yIHctMTAwIHBvc2l0aW9uLWFic29sdXRlIGVuZC0wIHotMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsICpuZ0Zvcj1cImxldCBjYW5jZWxsaW5naXRlbSBvZiBjYW5jZWxsaW5ndHlwZVwiIGNsYXNzPVwibGlzdC11bnN0eWxlZCBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwidGhpcy5jYW5jZWxsaW5nSXNzdWUgPT09IGNhbmNlbGxpbmdpdGVtID8gJ2FjdGl2ZScgOiAnJ1wiIGNsYXNzPVwicHJvZHVjdHRleHQgcHgtNSBpdGVtcyBjdXJzb3ItcG9pbnRlciBweS00XCIgKGNsaWNrKT1cImNhbmNlbGxpbmdJdGVtKGNhbmNlbGxpbmdpdGVtKVwiPnt7Y2FuY2VsbGluZ2l0ZW19fTwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8dGV4dGFyZWEgWyhuZ01vZGVsKV09XCJ0aGlzLmNhbmNlbGxpbmdEZXNjcmlwdGlvblwiIHBsYWNlaG9sZGVyPVwiRW50ZXIgYSBkZXNjcmlwdGlvbi4uLlwiIGNsYXNzPVwiIG10LTYgY3VzdG9tLXRleHRhcmVhXCI+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICBcclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBtdC0yIHB5LTJcIj5cclxuICAgICAgICA8YnV0dG9uICB0eXBlPVwic3VibWl0XCIgIChjbGljayk9XCJzdGF0dXMgPSAnaGVscCc7Y2FuY2VsbGluZ0Rlc2NyaXB0aW9uPScnXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1vdXRsaW5lIGJ0biBjYW5jZWwgbWUtNCB3LTUwXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInN0YXR1cyA9J3Vuc3Vic2NyaWJlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJidG4gYnRuLWRhbmdlciBweC00IG5nLXN0YXItaW5zZXJ0ZWQgdy01MFwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDtcIj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdWJtaXRcIj5SZXF1ZXN0IFVuc3Vic2NyaWJpbmc8L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCIgKm5nSWY9XCJzdGF0dXMgPT09ICd1bnN1YnNjcmliZSdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTZcIj5cclxuICAgICAgICA8ZGl2PjxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vY3VzdG9tcG9wdXAtSWNvbnMvYWxlcnQtaWNvbi5zdmdcIiBhbHQ9XCJcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyBtdC00IG1zLTFcIj5VbnN1YnNjcmliZWQ8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdWIgbXQtNCBtcy0xXCI+QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRoZSB1bnN1YnNjcmliZT88L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiID5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXQtMiBweS0yXCI+XHJcbiAgICAgICAgPGJ1dHRvbiAgdHlwZT1cInN1Ym1pdFwiICAoY2xpY2spPVwic3RhdHVzID0nc3Vic2NyaXB0aW9uJztjYW5jZWxsaW5nRGVzY3JpcHRpb249JydcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLW91dGxpbmUgYnRuIGNhbmNlbCBtZS00IHctNTBcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwidW5zY3Vic2NyaWJlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIHB4LTQgbmctc3Rhci1pbnNlcnRlZCB3LTUwXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1Ym1pdFwiPlllcywgQ29uZmlybTwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuIl19
@@ -28,15 +28,20 @@ export class PricingRevisedComponent {
28
28
  revised() {
29
29
  this.activeModal.close('save');
30
30
  }
31
+ convertUpper(data) {
32
+ let [firstWord, secondWord] = data.replace(/([a-z])([A-Z])/g, '$1 $2').split(' ');
33
+ firstWord = firstWord.charAt(0).toUpperCase() + firstWord.slice(1);
34
+ return firstWord + ' ' + secondWord;
35
+ }
31
36
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PricingRevisedComponent, deps: [{ token: i1.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
32
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: PricingRevisedComponent, selector: "lib-pricing-revised", inputs: { productNewDetails: "productNewDetails", productOldDetails: "productOldDetails" }, ngImport: i0, template: "<div class=\"modal-content\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Pricing has been revised</div>\r\n <div class=\"contenttext mt-4 ms-1\">\r\n Please Confirm to proceed\r\n </div>\r\n </div>\r\n <div class=\"modal-body \">\r\n <table class=\"w-100\">\r\n <tr>\r\n <th>Product</th>\r\n <th>Description</th>\r\n <th>Current Data</th>\r\n <th class=\"reviseddata\">Revised Data</th>\r\n </tr>\r\n \r\n <tbody>\r\n <ng-container *ngFor=\"let item of productNewDetails.product\">\r\n <tr>\r\n <td rowspan=\"2\">\r\n {{item.productName}}\r\n </td>\r\n <td>Store</td>\r\n <td>${{item.oldStoreCount}}</td>\r\n <td class=\"bolddata\">${{item.storeCount}}</td>\r\n </tr>\r\n <tr>\r\n <!-- <td class=\"bolddata\">$200000</td> -->\r\n <td>Price</td>\r\n <td>{{item.oldPrice}}</td>\r\n <td class=\"bolddata\">{{item.price}}</td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n\r\n \r\n <div class=\"mt-4 w-100\"></div>\r\n\r\n <tr>\r\n <th>Sub Total</th>\r\n <th></th>\r\n <td>${{productOldDetails.totalNegotiatePrice}}</td>\r\n <td class=\"bolddata\">${{productNewDetails.totalNegotiatePrice}}</td>\r\n </tr>\r\n <tr>\r\n <th>Tax</th>\r\n <th></th>\r\n <td>18%</td>\r\n <td class=\"bolddata\">18%</td>\r\n </tr>\r\n <tr>\r\n <th>Discount</th>\r\n <th></th>\r\n <td>{{productOldDetails.discountPercentage}}%</td>\r\n <td class=\"bolddata\">{{productNewDetails.discountPercentage}}%</td>\r\n </tr>\r\n <tr>\r\n <th>Total Amount</th>\r\n <th></th>\r\n <td>${{productOldDetails.finalValue}}</td>\r\n <td class=\"bolddata\">${{productNewDetails.finalValue}}</td>\r\n </tr>\r\n </table>\r\n <div data-kt-subscription-table-toolbar=\"base\"\r\n class=\"d-flex justify-content-end mt-6\"><a type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4\">Cancel</a><a \r\n type=\"button\" tabindex=\"0\" (click)=\"revised()\"\r\n class=\"btn btn-primary px-4 ng-star-inserted cancel text-nowrap\"\r\n >Save\r\n </a></div>\r\n\r\n \r\n </div>\r\n</div>", styles: [".heading{color:var(--Gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085)!important;font-family:Inter;font-size:14px!important;font-weight:400!important;line-height:20px}.border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}.illustcontent{color:var(--Gray-900, #101828);font-size:16px;font-weight:600}.nav-item .nav-link{color:var(--Gray-500, #667085);font-size:16px;font-weight:500}td{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:#fff!important;color:var(--Gray-600, #475467)!important;font-size:16px;font-weight:500;line-height:24px}th{width:20%}.bolddata{font-weight:700!important}.reviseddata{color:var(--Gray-700, #344054)!important;font-size:16px;font-weight:700!important;line-height:24px}.cancel{width:20%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
37
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: PricingRevisedComponent, selector: "lib-pricing-revised", inputs: { productNewDetails: "productNewDetails", productOldDetails: "productOldDetails" }, ngImport: i0, template: "<div class=\"modal-content\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Pricing has been revised</div>\r\n <div class=\"contenttext mt-4 ms-1\">\r\n Please Confirm to proceed\r\n </div>\r\n </div>\r\n <div class=\"modal-body \">\r\n <table class=\"w-100\">\r\n <tr >\r\n <th class=\"thheader\">Product</th>\r\n <th class=\"thheader\">Description</th>\r\n <th class=\"thheader\">Current Data</th>\r\n <th class=\"reviseddata\">Revised Data</th>\r\n </tr>\r\n \r\n <tbody>\r\n <ng-container *ngFor=\"let item of productNewDetails.product\">\r\n <tr>\r\n <th class=\"productprice\" rowspan=\"2\">\r\n {{convertUpper(item.productName)}}\r\n </th>\r\n <th class=\"totalproduct\">Stores</th>\r\n <td>{{item.oldStoreCount}}</td>\r\n <td class=\"bolddata\">{{item.storeCount}}</td>\r\n </tr>\r\n <tr>\r\n <!-- <td class=\"bolddata\">$200000</td> -->\r\n <th class=\"totalproduct\">Price</th>\r\n <td>\u20B9{{item.oldPrice}}</td>\r\n <td class=\"bolddata\">\u20B9{{item.price}}</td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n\r\n \r\n <div class=\"mt-4 w-100\"></div>\r\n\r\n <tr>\r\n <th class=\"totalsubproduct\">Sub Total</th>\r\n <th class=\"subproductborder\"></th>\r\n <td>\u20B9{{productOldDetails.totalNegotiatePrice}}</td>\r\n <td class=\"bolddata\">\u20B9{{productNewDetails.totalNegotiatePrice}}</td>\r\n </tr >\r\n <tr>\r\n <th class=\"totalsubproduct\">Tax</th>\r\n <th class=\"subproductborder\"></th>\r\n <td>18%</td>\r\n <td class=\"bolddata\">18%</td>\r\n </tr>\r\n <tr>\r\n <th class=\"totalsubproduct\">Discount</th>\r\n <th class=\"subproductborder\"></th>\r\n <td>{{productOldDetails.discountPercentage}}%</td>\r\n <td class=\"bolddata\">{{productNewDetails.discountPercentage}}%</td>\r\n </tr>\r\n <tr>\r\n <th class=\"totalsubproduct\">Total Amount</th>\r\n <th class=\"subproductborder\"></th>\r\n <td>\u20B9{{productOldDetails.finalValue}}</td>\r\n <td class=\"bolddata\">\u20B9{{productNewDetails.finalValue}}</td>\r\n </tr>\r\n </table>\r\n <div data-kt-subscription-table-toolbar=\"base\"\r\n class=\"d-flex justify-content-end mt-6\"><a type=\"submit\" (click)=\"activeModal.close()\"\r\n class=\"btn-outline btn cancel me-4\">Cancel</a><a \r\n type=\"button\" tabindex=\"0\" (click)=\"revised()\"\r\n class=\"btn btn-primary px-4 ng-star-inserted cancel text-nowrap\"\r\n >Send\r\n </a></div>\r\n\r\n \r\n </div>\r\n</div>", styles: [".heading{color:var(--Gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085)!important;font-family:Inter;font-size:14px!important;font-weight:400!important;line-height:20px}.border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}.illustcontent{color:var(--Gray-900, #101828);font-size:16px;font-weight:600}.nav-item .nav-link{color:var(--Gray-500, #667085);font-size:16px;font-weight:500}td{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:#fff!important;color:var(--Gray-600, #475467)!important;font-size:16px!important;font-weight:500!important;line-height:24px}th{width:20%}.bolddata{font-weight:700!important}.reviseddata{color:var(--Gray-700, #344054)!important;font-size:16px!important;font-weight:700!important;line-height:24px}.cancel{width:20%}.thheader{color:var(--Gray-500, #667085)!important;font-family:Inter;font-size:16px!important;font-style:normal;font-weight:500;line-height:24px}.contenttext{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.productprice{color:var(--Gray-500, #667085)!important;font-family:Inter;font-size:16px!important;font-style:normal;font-weight:500!important;line-height:24px}.totalproduct{color:var(--Gray-600, #475467)!important;font-family:Inter;font-size:16px!important;font-weight:500!important;line-height:24px;border-right:1px solid var(--Gray-200, #EAECF0)}.totalsubproduct{color:var(--Gray-600, #475467)!important;font-family:Inter;font-size:16px!important;font-weight:500!important;line-height:24px}.subproductborder{border-right:1px solid var(--Gray-200, #EAECF0)!important}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
33
38
  }
34
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PricingRevisedComponent, decorators: [{
35
40
  type: Component,
36
- args: [{ selector: 'lib-pricing-revised', template: "<div class=\"modal-content\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Pricing has been revised</div>\r\n <div class=\"contenttext mt-4 ms-1\">\r\n Please Confirm to proceed\r\n </div>\r\n </div>\r\n <div class=\"modal-body \">\r\n <table class=\"w-100\">\r\n <tr>\r\n <th>Product</th>\r\n <th>Description</th>\r\n <th>Current Data</th>\r\n <th class=\"reviseddata\">Revised Data</th>\r\n </tr>\r\n \r\n <tbody>\r\n <ng-container *ngFor=\"let item of productNewDetails.product\">\r\n <tr>\r\n <td rowspan=\"2\">\r\n {{item.productName}}\r\n </td>\r\n <td>Store</td>\r\n <td>${{item.oldStoreCount}}</td>\r\n <td class=\"bolddata\">${{item.storeCount}}</td>\r\n </tr>\r\n <tr>\r\n <!-- <td class=\"bolddata\">$200000</td> -->\r\n <td>Price</td>\r\n <td>{{item.oldPrice}}</td>\r\n <td class=\"bolddata\">{{item.price}}</td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n\r\n \r\n <div class=\"mt-4 w-100\"></div>\r\n\r\n <tr>\r\n <th>Sub Total</th>\r\n <th></th>\r\n <td>${{productOldDetails.totalNegotiatePrice}}</td>\r\n <td class=\"bolddata\">${{productNewDetails.totalNegotiatePrice}}</td>\r\n </tr>\r\n <tr>\r\n <th>Tax</th>\r\n <th></th>\r\n <td>18%</td>\r\n <td class=\"bolddata\">18%</td>\r\n </tr>\r\n <tr>\r\n <th>Discount</th>\r\n <th></th>\r\n <td>{{productOldDetails.discountPercentage}}%</td>\r\n <td class=\"bolddata\">{{productNewDetails.discountPercentage}}%</td>\r\n </tr>\r\n <tr>\r\n <th>Total Amount</th>\r\n <th></th>\r\n <td>${{productOldDetails.finalValue}}</td>\r\n <td class=\"bolddata\">${{productNewDetails.finalValue}}</td>\r\n </tr>\r\n </table>\r\n <div data-kt-subscription-table-toolbar=\"base\"\r\n class=\"d-flex justify-content-end mt-6\"><a type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4\">Cancel</a><a \r\n type=\"button\" tabindex=\"0\" (click)=\"revised()\"\r\n class=\"btn btn-primary px-4 ng-star-inserted cancel text-nowrap\"\r\n >Save\r\n </a></div>\r\n\r\n \r\n </div>\r\n</div>", styles: [".heading{color:var(--Gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085)!important;font-family:Inter;font-size:14px!important;font-weight:400!important;line-height:20px}.border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}.illustcontent{color:var(--Gray-900, #101828);font-size:16px;font-weight:600}.nav-item .nav-link{color:var(--Gray-500, #667085);font-size:16px;font-weight:500}td{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:#fff!important;color:var(--Gray-600, #475467)!important;font-size:16px;font-weight:500;line-height:24px}th{width:20%}.bolddata{font-weight:700!important}.reviseddata{color:var(--Gray-700, #344054)!important;font-size:16px;font-weight:700!important;line-height:24px}.cancel{width:20%}\n"] }]
41
+ args: [{ selector: 'lib-pricing-revised', template: "<div class=\"modal-content\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Pricing has been revised</div>\r\n <div class=\"contenttext mt-4 ms-1\">\r\n Please Confirm to proceed\r\n </div>\r\n </div>\r\n <div class=\"modal-body \">\r\n <table class=\"w-100\">\r\n <tr >\r\n <th class=\"thheader\">Product</th>\r\n <th class=\"thheader\">Description</th>\r\n <th class=\"thheader\">Current Data</th>\r\n <th class=\"reviseddata\">Revised Data</th>\r\n </tr>\r\n \r\n <tbody>\r\n <ng-container *ngFor=\"let item of productNewDetails.product\">\r\n <tr>\r\n <th class=\"productprice\" rowspan=\"2\">\r\n {{convertUpper(item.productName)}}\r\n </th>\r\n <th class=\"totalproduct\">Stores</th>\r\n <td>{{item.oldStoreCount}}</td>\r\n <td class=\"bolddata\">{{item.storeCount}}</td>\r\n </tr>\r\n <tr>\r\n <!-- <td class=\"bolddata\">$200000</td> -->\r\n <th class=\"totalproduct\">Price</th>\r\n <td>\u20B9{{item.oldPrice}}</td>\r\n <td class=\"bolddata\">\u20B9{{item.price}}</td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n\r\n \r\n <div class=\"mt-4 w-100\"></div>\r\n\r\n <tr>\r\n <th class=\"totalsubproduct\">Sub Total</th>\r\n <th class=\"subproductborder\"></th>\r\n <td>\u20B9{{productOldDetails.totalNegotiatePrice}}</td>\r\n <td class=\"bolddata\">\u20B9{{productNewDetails.totalNegotiatePrice}}</td>\r\n </tr >\r\n <tr>\r\n <th class=\"totalsubproduct\">Tax</th>\r\n <th class=\"subproductborder\"></th>\r\n <td>18%</td>\r\n <td class=\"bolddata\">18%</td>\r\n </tr>\r\n <tr>\r\n <th class=\"totalsubproduct\">Discount</th>\r\n <th class=\"subproductborder\"></th>\r\n <td>{{productOldDetails.discountPercentage}}%</td>\r\n <td class=\"bolddata\">{{productNewDetails.discountPercentage}}%</td>\r\n </tr>\r\n <tr>\r\n <th class=\"totalsubproduct\">Total Amount</th>\r\n <th class=\"subproductborder\"></th>\r\n <td>\u20B9{{productOldDetails.finalValue}}</td>\r\n <td class=\"bolddata\">\u20B9{{productNewDetails.finalValue}}</td>\r\n </tr>\r\n </table>\r\n <div data-kt-subscription-table-toolbar=\"base\"\r\n class=\"d-flex justify-content-end mt-6\"><a type=\"submit\" (click)=\"activeModal.close()\"\r\n class=\"btn-outline btn cancel me-4\">Cancel</a><a \r\n type=\"button\" tabindex=\"0\" (click)=\"revised()\"\r\n class=\"btn btn-primary px-4 ng-star-inserted cancel text-nowrap\"\r\n >Send\r\n </a></div>\r\n\r\n \r\n </div>\r\n</div>", styles: [".heading{color:var(--Gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085)!important;font-family:Inter;font-size:14px!important;font-weight:400!important;line-height:20px}.border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}.illustcontent{color:var(--Gray-900, #101828);font-size:16px;font-weight:600}.nav-item .nav-link{color:var(--Gray-500, #667085);font-size:16px;font-weight:500}td{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:#fff!important;color:var(--Gray-600, #475467)!important;font-size:16px!important;font-weight:500!important;line-height:24px}th{width:20%}.bolddata{font-weight:700!important}.reviseddata{color:var(--Gray-700, #344054)!important;font-size:16px!important;font-weight:700!important;line-height:24px}.cancel{width:20%}.thheader{color:var(--Gray-500, #667085)!important;font-family:Inter;font-size:16px!important;font-style:normal;font-weight:500;line-height:24px}.contenttext{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.productprice{color:var(--Gray-500, #667085)!important;font-family:Inter;font-size:16px!important;font-style:normal;font-weight:500!important;line-height:24px}.totalproduct{color:var(--Gray-600, #475467)!important;font-family:Inter;font-size:16px!important;font-weight:500!important;line-height:24px;border-right:1px solid var(--Gray-200, #EAECF0)}.totalsubproduct{color:var(--Gray-600, #475467)!important;font-family:Inter;font-size:16px!important;font-weight:500!important;line-height:24px}.subproductborder{border-right:1px solid var(--Gray-200, #EAECF0)!important}\n"] }]
37
42
  }], ctorParameters: () => [{ type: i1.NgbActiveModal }], propDecorators: { productNewDetails: [{
38
43
  type: Input
39
44
  }], productOldDetails: [{
40
45
  type: Input
41
46
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2luZy1yZXZpc2VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvcGF5bWVudHMtc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1wb3B1cHMvcHJpY2luZy1yZXZpc2VkL3ByaWNpbmctcmV2aXNlZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL3BheW1lbnRzLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcG9wdXBzL3ByaWNpbmctcmV2aXNlZC9wcmljaW5nLXJldmlzZWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRekQsTUFBTSxPQUFPLHVCQUF1QjtJQUl6QjtJQUhBLGlCQUFpQixDQUFNO0lBQ3ZCLGlCQUFpQixDQUFNO0lBQ2hDLFlBQ1MsV0FBMkI7UUFBM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBR3BDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFjLEVBQUUsRUFBRTtZQUN4RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQWUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsSUFBSSxVQUFVLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlLLElBQUcsVUFBVSxFQUFFO2dCQUNiLFVBQVUsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztnQkFDdkMsVUFBVSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDO2FBQ2xEO2lCQUNJO2dCQUNILElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBZSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDOUgsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFO29CQUNyQixVQUFVLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBQy9JLFVBQVUsQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztpQkFDbEQ7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBRUosQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO3VHQTdCVSx1QkFBdUI7MkZBQXZCLHVCQUF1Qix1SkNScEMsbzhGQTBFTTs7MkZEbEVPLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxxQkFBcUI7bUZBS3RCLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcHJpY2luZy1yZXZpc2VkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJpY2luZy1yZXZpc2VkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcHJpY2luZy1yZXZpc2VkLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJpY2luZ1JldmlzZWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHByb2R1Y3ROZXdEZXRhaWxzOiBhbnk7XHJcbiAgQElucHV0KCkgcHJvZHVjdE9sZERldGFpbHM6IGFueTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBhY3RpdmVNb2RhbDogTmdiQWN0aXZlTW9kYWxcclxuICApIHtcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnByb2R1Y3ROZXdEZXRhaWxzLnByb2R1Y3QuZm9yRWFjaCgobmV3UHJvZHVjdDphbnkpID0+IHtcclxuICAgICAgbGV0IG9sZERldGFpbHMgPSB0aGlzLnByb2R1Y3RPbGREZXRhaWxzLnByb2R1Y3QuZmluZCgob2xkUHJvZHVjdDogYW55KSA9PiBvbGRQcm9kdWN0LnByb2R1Y3ROYW1lID09IG5ld1Byb2R1Y3QucHJvZHVjdE5hbWUgJiYgb2xkUHJvZHVjdC5zdG9yZVJhbmdlID09IG5ld1Byb2R1Y3Quc3RvcmVSYW5nZSk7XHJcbiAgICAgIGlmKG9sZERldGFpbHMpIHtcclxuICAgICAgICBuZXdQcm9kdWN0Lm9sZFByaWNlID0gb2xkRGV0YWlscy5wcmljZTtcclxuICAgICAgICBuZXdQcm9kdWN0Lm9sZFN0b3JlQ291bnQgPSBvbGREZXRhaWxzLnN0b3JlQ291bnQ7IFxyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGxldCBvbGREZXRhaWxzID0gdGhpcy5wcm9kdWN0T2xkRGV0YWlscy5wcm9kdWN0LmZpbHRlcigob2xkUHJvZHVjdDogYW55KSA9PiBvbGRQcm9kdWN0LnByb2R1Y3ROYW1lID09IG5ld1Byb2R1Y3QucHJvZHVjdE5hbWUpO1xyXG4gICAgICAgIGlmIChvbGREZXRhaWxzLmxlbmd0aCkge1xyXG4gICAgICAgICAgbmV3UHJvZHVjdC5vbGRQcmljZSA9IG5ld1Byb2R1Y3Quc3RvcmVDb3VudCAqIChvbGREZXRhaWxzW29sZERldGFpbHMubGVuZ3RoIC0gMV0uYmFzZVByaWNlIC0gb2xkRGV0YWlsc1tvbGREZXRhaWxzLmxlbmd0aCAtIDFdLm5lZ290aWF0ZVByaWNlKTtcclxuICAgICAgICAgIG5ld1Byb2R1Y3Qub2xkU3RvcmVDb3VudCA9IG5ld1Byb2R1Y3Quc3RvcmVDb3VudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICBcclxuICB9XHJcblxyXG4gIHJldmlzZWQoKSB7IFxyXG4gICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZSgnc2F2ZScpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTZcIj5cclxuICAgICAgICA8ZGl2PjxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vY3VzdG9tcG9wdXAtSWNvbnMvZGFuZ2VyLWljb24uc3ZnXCIgYWx0PVwiXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmcgbXQtNCBtcy0xXCI+UHJpY2luZyBoYXMgYmVlbiByZXZpc2VkPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnR0ZXh0IG10LTQgbXMtMVwiPlxyXG4gICAgICAgICAgICBQbGVhc2UgQ29uZmlybSB0byBwcm9jZWVkXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IFwiPlxyXG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInctMTAwXCI+XHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgIDx0aD5Qcm9kdWN0PC90aD5cclxuICAgICAgICAgICAgICAgIDx0aD5EZXNjcmlwdGlvbjwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGg+Q3VycmVudCBEYXRhPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInJldmlzZWRkYXRhXCI+UmV2aXNlZCBEYXRhPC90aD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwcm9kdWN0TmV3RGV0YWlscy5wcm9kdWN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgcm93c3Bhbj1cIjJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAge3tpdGVtLnByb2R1Y3ROYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlN0b3JlPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPiR7e2l0ZW0ub2xkU3RvcmVDb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYm9sZGRhdGFcIj4ke3tpdGVtLnN0b3JlQ291bnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHRkIGNsYXNzPVwiYm9sZGRhdGFcIj4kMjAwMDAwPC90ZD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5QcmljZTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2l0ZW0ub2xkUHJpY2V9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImJvbGRkYXRhXCI+e3tpdGVtLnByaWNlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC90Ym9keT5cclxuXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNCB3LTEwMFwiPjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRoPlN1YiBUb3RhbDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGg+PC90aD5cclxuICAgICAgICAgICAgICAgIDx0ZD4ke3twcm9kdWN0T2xkRGV0YWlscy50b3RhbE5lZ290aWF0ZVByaWNlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYm9sZGRhdGFcIj4ke3twcm9kdWN0TmV3RGV0YWlscy50b3RhbE5lZ290aWF0ZVByaWNlfX08L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICA8dGg+VGF4PC90aD5cclxuICAgICAgICAgICAgICAgIDx0aD48L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRkPjE4JTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJib2xkZGF0YVwiPjE4JTwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgIDx0aD5EaXNjb3VudDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGg+PC90aD5cclxuICAgICAgICAgICAgICAgIDx0ZD57e3Byb2R1Y3RPbGREZXRhaWxzLmRpc2NvdW50UGVyY2VudGFnZX19JTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJib2xkZGF0YVwiPnt7cHJvZHVjdE5ld0RldGFpbHMuZGlzY291bnRQZXJjZW50YWdlfX0lPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRoPlRvdGFsIEFtb3VudDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGg+PC90aD5cclxuICAgICAgICAgICAgICAgIDx0ZD4ke3twcm9kdWN0T2xkRGV0YWlscy5maW5hbFZhbHVlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYm9sZGRhdGFcIj4ke3twcm9kdWN0TmV3RGV0YWlscy5maW5hbFZhbHVlfX08L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgPGRpdiBkYXRhLWt0LXN1YnNjcmlwdGlvbi10YWJsZS10b29sYmFyPVwiYmFzZVwiXHJcbiAgICAgICAgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtdC02XCI+PGEgdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJhY3RpdmVNb2RhbC5kaXNtaXNzKClcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0bi1vdXRsaW5lICBidG4gY2FuY2VsIG1lLTRcIj5DYW5jZWw8L2E+PGEgXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIiAoY2xpY2spPVwicmV2aXNlZCgpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBuZy1zdGFyLWluc2VydGVkIGNhbmNlbCB0ZXh0LW5vd3JhcFwiXHJcbiAgICAgICAgICAgID5TYXZlXHJcbiAgICAgICAgICAgIDwvYT48L2Rpdj5cclxuXHJcbiAgICAgIFxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2luZy1yZXZpc2VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvcGF5bWVudHMtc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1wb3B1cHMvcHJpY2luZy1yZXZpc2VkL3ByaWNpbmctcmV2aXNlZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL3BheW1lbnRzLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcG9wdXBzL3ByaWNpbmctcmV2aXNlZC9wcmljaW5nLXJldmlzZWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRekQsTUFBTSxPQUFPLHVCQUF1QjtJQUl6QjtJQUhBLGlCQUFpQixDQUFNO0lBQ3ZCLGlCQUFpQixDQUFNO0lBQ2hDLFlBQ1MsV0FBMkI7UUFBM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBR3BDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFjLEVBQUUsRUFBRTtZQUN4RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQWUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsSUFBSSxVQUFVLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlLLElBQUcsVUFBVSxFQUFFO2dCQUNiLFVBQVUsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztnQkFDdkMsVUFBVSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDO2FBQ2xEO2lCQUNJO2dCQUNILElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBZSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDOUgsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFO29CQUNyQixVQUFVLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBQy9JLFVBQVUsQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztpQkFDbEQ7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBRUosQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVc7UUFDdEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRixTQUFTLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25FLE9BQU8sU0FBUyxHQUFHLEdBQUcsR0FBRyxVQUFVLENBQUM7SUFDdEMsQ0FBQzt1R0FuQ1UsdUJBQXVCOzJGQUF2Qix1QkFBdUIsdUpDUnBDLG0wR0EwRU07OzJGRGxFTyx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCO21GQUt0QixpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXByaWNpbmctcmV2aXNlZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ByaWNpbmctcmV2aXNlZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3ByaWNpbmctcmV2aXNlZC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFByaWNpbmdSZXZpc2VkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBwcm9kdWN0TmV3RGV0YWlsczogYW55O1xyXG4gIEBJbnB1dCgpIHByb2R1Y3RPbGREZXRhaWxzOiBhbnk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgYWN0aXZlTW9kYWw6IE5nYkFjdGl2ZU1vZGFsXHJcbiAgKSB7XHJcbiAgICBcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5wcm9kdWN0TmV3RGV0YWlscy5wcm9kdWN0LmZvckVhY2goKG5ld1Byb2R1Y3Q6YW55KSA9PiB7XHJcbiAgICAgIGxldCBvbGREZXRhaWxzID0gdGhpcy5wcm9kdWN0T2xkRGV0YWlscy5wcm9kdWN0LmZpbmQoKG9sZFByb2R1Y3Q6IGFueSkgPT4gb2xkUHJvZHVjdC5wcm9kdWN0TmFtZSA9PSBuZXdQcm9kdWN0LnByb2R1Y3ROYW1lICYmIG9sZFByb2R1Y3Quc3RvcmVSYW5nZSA9PSBuZXdQcm9kdWN0LnN0b3JlUmFuZ2UpO1xyXG4gICAgICBpZihvbGREZXRhaWxzKSB7XHJcbiAgICAgICAgbmV3UHJvZHVjdC5vbGRQcmljZSA9IG9sZERldGFpbHMucHJpY2U7XHJcbiAgICAgICAgbmV3UHJvZHVjdC5vbGRTdG9yZUNvdW50ID0gb2xkRGV0YWlscy5zdG9yZUNvdW50OyBcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBsZXQgb2xkRGV0YWlscyA9IHRoaXMucHJvZHVjdE9sZERldGFpbHMucHJvZHVjdC5maWx0ZXIoKG9sZFByb2R1Y3Q6IGFueSkgPT4gb2xkUHJvZHVjdC5wcm9kdWN0TmFtZSA9PSBuZXdQcm9kdWN0LnByb2R1Y3ROYW1lKTtcclxuICAgICAgICBpZiAob2xkRGV0YWlscy5sZW5ndGgpIHtcclxuICAgICAgICAgIG5ld1Byb2R1Y3Qub2xkUHJpY2UgPSBuZXdQcm9kdWN0LnN0b3JlQ291bnQgKiAob2xkRGV0YWlsc1tvbGREZXRhaWxzLmxlbmd0aCAtIDFdLmJhc2VQcmljZSAtIG9sZERldGFpbHNbb2xkRGV0YWlscy5sZW5ndGggLSAxXS5uZWdvdGlhdGVQcmljZSk7XHJcbiAgICAgICAgICBuZXdQcm9kdWN0Lm9sZFN0b3JlQ291bnQgPSBuZXdQcm9kdWN0LnN0b3JlQ291bnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgXHJcbiAgfVxyXG5cclxuICByZXZpc2VkKCkgeyBcclxuICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoJ3NhdmUnKTtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRVcHBlcihkYXRhOnN0cmluZykge1xyXG4gICAgbGV0IFtmaXJzdFdvcmQsIHNlY29uZFdvcmRdID0gZGF0YS5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCAnJDEgJDInKS5zcGxpdCgnICcpO1xyXG4gICAgZmlyc3RXb3JkID0gZmlyc3RXb3JkLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgZmlyc3RXb3JkLnNsaWNlKDEpO1xyXG4gICAgcmV0dXJuIGZpcnN0V29yZCArICcgJyArIHNlY29uZFdvcmQ7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtNlwiPlxyXG4gICAgICAgIDxkaXY+PGltZyBzcmM9XCIuL2Fzc2V0cy90YW5nby9jdXN0b21wb3B1cC1JY29ucy9kYW5nZXItaWNvbi5zdmdcIiBhbHQ9XCJcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyBtdC00IG1zLTFcIj5QcmljaW5nIGhhcyBiZWVuIHJldmlzZWQ8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudHRleHQgbXQtNCBtcy0xXCI+XHJcbiAgICAgICAgICAgIFBsZWFzZSBDb25maXJtIHRvIHByb2NlZWRcclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgXCI+XHJcbiAgICAgICAgPHRhYmxlIGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgPHRyID5cclxuICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRoaGVhZGVyXCI+UHJvZHVjdDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0aGhlYWRlclwiPkRlc2NyaXB0aW9uPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRoaGVhZGVyXCI+Q3VycmVudCBEYXRhPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInJldmlzZWRkYXRhXCI+UmV2aXNlZCBEYXRhPC90aD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwcm9kdWN0TmV3RGV0YWlscy5wcm9kdWN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJwcm9kdWN0cHJpY2VcIiByb3dzcGFuPVwiMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB7e2NvbnZlcnRVcHBlcihpdGVtLnByb2R1Y3ROYW1lKX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRvdGFscHJvZHVjdFwiPlN0b3JlczwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2l0ZW0ub2xkU3RvcmVDb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYm9sZGRhdGFcIj57e2l0ZW0uc3RvcmVDb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8dGQgY2xhc3M9XCJib2xkZGF0YVwiPiQyMDAwMDA8L3RkPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidG90YWxwcm9kdWN0XCI+UHJpY2U8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+4oK5e3tpdGVtLm9sZFByaWNlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJib2xkZGF0YVwiPuKCuXt7aXRlbS5wcmljZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcblxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTQgdy0xMDBcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRvdGFsc3VicHJvZHVjdFwiPlN1YiBUb3RhbDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJzdWJwcm9kdWN0Ym9yZGVyXCI+PC90aD5cclxuICAgICAgICAgICAgICAgIDx0ZD7igrl7e3Byb2R1Y3RPbGREZXRhaWxzLnRvdGFsTmVnb3RpYXRlUHJpY2V9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJib2xkZGF0YVwiPuKCuXt7cHJvZHVjdE5ld0RldGFpbHMudG90YWxOZWdvdGlhdGVQcmljZX19PC90ZD5cclxuICAgICAgICAgICAgPC90ciA+XHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRvdGFsc3VicHJvZHVjdFwiPlRheDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJzdWJwcm9kdWN0Ym9yZGVyXCI+PC90aD5cclxuICAgICAgICAgICAgICAgIDx0ZD4xOCU8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYm9sZGRhdGFcIj4xOCU8L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0b3RhbHN1YnByb2R1Y3RcIj5EaXNjb3VudDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJzdWJwcm9kdWN0Ym9yZGVyXCI+PC90aD5cclxuICAgICAgICAgICAgICAgIDx0ZD57e3Byb2R1Y3RPbGREZXRhaWxzLmRpc2NvdW50UGVyY2VudGFnZX19JTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJib2xkZGF0YVwiPnt7cHJvZHVjdE5ld0RldGFpbHMuZGlzY291bnRQZXJjZW50YWdlfX0lPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidG90YWxzdWJwcm9kdWN0XCI+VG90YWwgQW1vdW50PC90aD5cclxuICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInN1YnByb2R1Y3Rib3JkZXJcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRkPuKCuXt7cHJvZHVjdE9sZERldGFpbHMuZmluYWxWYWx1ZX19PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImJvbGRkYXRhXCI+4oK5e3twcm9kdWN0TmV3RGV0YWlscy5maW5hbFZhbHVlfX08L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgPGRpdiBkYXRhLWt0LXN1YnNjcmlwdGlvbi10YWJsZS10b29sYmFyPVwiYmFzZVwiXHJcbiAgICAgICAgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtdC02XCI+PGEgdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJhY3RpdmVNb2RhbC5jbG9zZSgpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJidG4tb3V0bGluZSAgYnRuIGNhbmNlbCBtZS00XCI+Q2FuY2VsPC9hPjxhIFxyXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCIgKGNsaWNrKT1cInJldmlzZWQoKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgbmctc3Rhci1pbnNlcnRlZCBjYW5jZWwgdGV4dC1ub3dyYXBcIlxyXG4gICAgICAgICAgICA+U2VuZFxyXG4gICAgICAgICAgICA8L2E+PC9kaXY+XHJcblxyXG4gICAgICBcclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -114,12 +114,21 @@ export class ProductConfirmationComponent {
114
114
  }
115
115
  });
116
116
  }
117
+ convertUpper(data) {
118
+ let products = data.split(',');
119
+ products.forEach((item, index) => {
120
+ let [firstWord, secondWord] = item.replace(/([a-z])([A-Z])/g, '$1 $2').split(' ');
121
+ firstWord = firstWord.charAt(0).toUpperCase() + firstWord.slice(1);
122
+ products[index] = firstWord + ' ' + secondWord;
123
+ });
124
+ return products.join(',');
125
+ }
117
126
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ProductConfirmationComponent, deps: [{ token: i1.NgbModal }, { token: i1.NgbActiveModal }, { token: i2.ToastService }, { token: i3.PaymentSubscriptionService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
118
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ProductConfirmationComponent, selector: "lib-product-confirmation", inputs: { productList: "productList", updatedProduct: "updatedProduct", type: "type", stores: "stores", clientId: "clientId", clientProduct: "clientProduct" }, ngImport: i0, template: "<div class=\"modal-content\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/settings-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Confirmation</div>\r\n <div class=\"contenttext mt-4 ms-1\">\r\n Please update the status of below product\r\n </div>\r\n </div>\r\n <div class=\"modal-body\">\r\n <!--begin::Form-->\r\n <form id=\"kt_modal_new_card_form\" class=\"form fv-plugins-bootstrap5 fv-plugins-framework\" action=\"#\">\r\n \r\n <div class=\"fv-row fv-plugins-icon-container \">\r\n <div class=\"confirmationborder\" [ngClass]=\"i !== 0 ? 'mt-4' : ''\" *ngFor=\"let product of products;let i=index;\">\r\n <div class=\"d-flex justify-content-between\">\r\n <label for=\"TangoZone\" class=\" producttext mb-2\">{{product.name}}</label>\r\n <span class=\"badge badge-light-primary ms-2\" *ngIf=\"product.new\">Subscribe\r\n <img class=\"ms-2\" src=\"./assets/tango/custompopup-Icons/primary-clock-icon.svg\" alt=\"\">\r\n </span>\r\n <span class=\"badge badge-light-warning ms-2\" *ngIf=\"!product.new\">Unsubscribe\r\n <img class=\"ms-2\" src=\"./assets/tango/custompopup-Icons/warning-clock-icon.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <div class=\"form-group pt-1\" *ngIf=\"product.new\">\r\n <div class=\"form-check form-check-inline ps-0\" >\r\n <input class=\" cursor-pointer radio-custom\" type=\"radio\" name=\"ontrailRadioOptions_{{i}}\"\r\n id=\"inlineRadio1\" value=\"trial\" (click)=\"updateType(i,'trial')\" checked>\r\n <label class=\"form-check-label radio-custom-label mx-3 producttext cursor-pointer\"\r\n for=\"inlineRadio1\">Start with trail</label>\r\n </div><br>\r\n <div class=\"form-check form-check-inline ps-0\" >\r\n <input class=\" cursor-pointer radio-custom\" type=\"radio\" name=\"ontrailRadioOptions_{{i}}\"\r\n id=\"inlineRadio1\" value=\"subscription\" (click)=\"updateType(i,'subscription')\">\r\n <label class=\"form-check-label producttext radio-custom-label mx-3 cursor-pointer\"\r\n for=\"inlineRadio1\">Add to Subscription</label>\r\n </div>\r\n \r\n </div>\r\n <div class=\"form-group pt-1\" *ngIf=\"!product.new\">\r\n <div class=\"form-check form-check-inline ps-0\" >\r\n <input class=\" cursor-pointer radio-custom\" type=\"radio\" name=\"TrailExpiredRadioOptions_{{i}}\" id=\"inlineRadio1\"\r\n value=\"unsubscribe\" (click)=\"updateType(i,'unsubscribe')\" checked>\r\n <label class=\"form-check-label radio-custom-label mx-3 producttext cursor-pointer\"\r\n for=\"inlineRadio1\">Unsubscribe</label>\r\n </div><br>\r\n <div class=\"form-check form-check-inline ps-0\" >\r\n <input class=\" cursor-pointer radio-custom\" type=\"radio\" name=\"TrailExpiredRadioOptions_{{i}}\" id=\"inlineRadio1\"\r\n value=\"cancel\" (click)=\"updateType(i,'cancel')\">\r\n <label class=\"form-check-label producttext radio-custom-label mx-3 cursor-pointer\"\r\n for=\"inlineRadio1\">Cancel</label>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex mt-9 my-2\">\r\n <button type=\"submit\" class=\"btn-outline btn cancel me-4 w-50\" (click)=\"activeModal.close()\">Cancel</button>\r\n <button type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\" (click)=\"type === 'products' ? updateproduct() : updateStore()\"><span\r\n class=\"submit\">Submit</span></button>\r\n </div>\r\n </div>\r\n \r\n \r\n <!--end::Actions-->\r\n </form>\r\n <!--end::Form-->\r\n \r\n </div>\r\n</div>", styles: [".heading{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}.contenttext{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.radio-custom{width:20px;height:20px;background-color:#eaf8ff}.radio-custom,.radio-custom-label{display:inline-block;vertical-align:middle;margin:8px 0;cursor:pointer}.radio-custom-label{position:relative}.radio-custom:checked+.radio-custom-label:before{background:#00a3ff;box-shadow:inset 0 0 0 4.5px #eaf8ff;width:16px;height:16px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.confirmationborder{border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);background:var(--White, #FFF);padding:16px;flex-direction:column;align-items:flex-start;gap:18px;align-self:stretch}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
127
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ProductConfirmationComponent, selector: "lib-product-confirmation", inputs: { productList: "productList", updatedProduct: "updatedProduct", type: "type", stores: "stores", clientId: "clientId", clientProduct: "clientProduct" }, ngImport: i0, template: "<div class=\"modal-content\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/settings-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Confirmation</div>\r\n <div class=\"contenttext mt-4 ms-1\">\r\n Please update the status of below product\r\n </div>\r\n </div>\r\n <div class=\"modal-body\">\r\n <!--begin::Form-->\r\n <form id=\"kt_modal_new_card_form\" class=\"form fv-plugins-bootstrap5 fv-plugins-framework\" action=\"#\">\r\n \r\n <div class=\"fv-row fv-plugins-icon-container \">\r\n <div class=\"confirmationborder mb-3\" [ngClass]=\"i !== 0 ? 'mt-4' : ''\" *ngFor=\"let product of products;let i=index;\">\r\n <div class=\"d-flex justify-content-between\">\r\n <label for=\"TangoZone\" class=\" producttext mb-2\">{{convertUpper(product.name)}}</label>\r\n <span class=\"badge badge-light-primary ms-2\" *ngIf=\"product.new\">Subscribe\r\n <img class=\"ms-2\" src=\"./assets/tango/custompopup-Icons/primary-clock-icon.svg\" alt=\"\">\r\n </span>\r\n <span class=\"badge badge-light-warning ms-2\" *ngIf=\"!product.new\">Unsubscribe\r\n <img class=\"ms-2\" src=\"./assets/tango/custompopup-Icons/warning-clock-icon.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <div class=\"form-group pt-1\" *ngIf=\"product.new\">\r\n <div class=\"form-check form-check-inline ps-0\" >\r\n <input class=\" cursor-pointer radio-custom\" type=\"radio\" name=\"ontrailRadioOptions_{{i}}\"\r\n id=\"inlineRadio1\" value=\"trial\" (click)=\"updateType(i,'trial')\" checked>\r\n <label class=\"form-check-label radio-custom-label mx-3 producttext cursor-pointer\"\r\n for=\"inlineRadio1\">Start with trail</label>\r\n </div><br>\r\n <div class=\"form-check form-check-inline ps-0\" >\r\n <input class=\" cursor-pointer radio-custom\" type=\"radio\" name=\"ontrailRadioOptions_{{i}}\"\r\n id=\"inlineRadio1\" value=\"subscription\" (click)=\"updateType(i,'subscription')\">\r\n <label class=\"form-check-label producttext radio-custom-label mx-3 cursor-pointer\"\r\n for=\"inlineRadio1\">Add to Subscription</label>\r\n </div>\r\n \r\n </div>\r\n <div class=\"form-group pt-1\" *ngIf=\"!product.new\">\r\n <div class=\"form-check form-check-inline ps-0\" >\r\n <input class=\" cursor-pointer radio-custom\" type=\"radio\" name=\"TrailExpiredRadioOptions_{{i}}\" id=\"inlineRadio1\"\r\n value=\"unsubscribe\" (click)=\"updateType(i,'unsubscribe')\" checked>\r\n <label class=\"form-check-label radio-custom-label mx-3 producttext cursor-pointer\"\r\n for=\"inlineRadio1\">Unsubscribe</label>\r\n </div><br>\r\n <div class=\"form-check form-check-inline ps-0\" >\r\n <input class=\" cursor-pointer radio-custom\" type=\"radio\" name=\"TrailExpiredRadioOptions_{{i}}\" id=\"inlineRadio1\"\r\n value=\"cancel\" (click)=\"updateType(i,'cancel')\">\r\n <label class=\"form-check-label producttext radio-custom-label mx-3 cursor-pointer\"\r\n for=\"inlineRadio1\">Cancel</label>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex mt-9 my-2\">\r\n <button type=\"submit\" class=\"btn-outline btn cancel me-4 w-50\" (click)=\"activeModal.close()\">Cancel</button>\r\n <button type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\" (click)=\"type === 'products' ? updateproduct() : updateStore()\"><span\r\n class=\"submit\">Submit</span></button>\r\n </div>\r\n </div>\r\n \r\n \r\n <!--end::Actions-->\r\n </form>\r\n <!--end::Form-->\r\n \r\n </div>\r\n</div>", styles: [".heading{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}.contenttext{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.radio-custom{width:20px;height:20px;background-color:#eaf8ff}.radio-custom,.radio-custom-label{display:inline-block;vertical-align:middle;margin:8px 0;cursor:pointer}.radio-custom-label{position:relative}.radio-custom:checked+.radio-custom-label:before{background:#00a3ff;box-shadow:inset 0 0 0 4.5px #eaf8ff;width:16px;height:16px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.confirmationborder{border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);background:var(--White, #FFF);padding:16px;flex-direction:column;align-items:flex-start;gap:18px;align-self:stretch}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
119
128
  }
120
129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ProductConfirmationComponent, decorators: [{
121
130
  type: Component,
122
- args: [{ selector: 'lib-product-confirmation', template: "<div class=\"modal-content\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/settings-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Confirmation</div>\r\n <div class=\"contenttext mt-4 ms-1\">\r\n Please update the status of below product\r\n </div>\r\n </div>\r\n <div class=\"modal-body\">\r\n <!--begin::Form-->\r\n <form id=\"kt_modal_new_card_form\" class=\"form fv-plugins-bootstrap5 fv-plugins-framework\" action=\"#\">\r\n \r\n <div class=\"fv-row fv-plugins-icon-container \">\r\n <div class=\"confirmationborder\" [ngClass]=\"i !== 0 ? 'mt-4' : ''\" *ngFor=\"let product of products;let i=index;\">\r\n <div class=\"d-flex justify-content-between\">\r\n <label for=\"TangoZone\" class=\" producttext mb-2\">{{product.name}}</label>\r\n <span class=\"badge badge-light-primary ms-2\" *ngIf=\"product.new\">Subscribe\r\n <img class=\"ms-2\" src=\"./assets/tango/custompopup-Icons/primary-clock-icon.svg\" alt=\"\">\r\n </span>\r\n <span class=\"badge badge-light-warning ms-2\" *ngIf=\"!product.new\">Unsubscribe\r\n <img class=\"ms-2\" src=\"./assets/tango/custompopup-Icons/warning-clock-icon.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <div class=\"form-group pt-1\" *ngIf=\"product.new\">\r\n <div class=\"form-check form-check-inline ps-0\" >\r\n <input class=\" cursor-pointer radio-custom\" type=\"radio\" name=\"ontrailRadioOptions_{{i}}\"\r\n id=\"inlineRadio1\" value=\"trial\" (click)=\"updateType(i,'trial')\" checked>\r\n <label class=\"form-check-label radio-custom-label mx-3 producttext cursor-pointer\"\r\n for=\"inlineRadio1\">Start with trail</label>\r\n </div><br>\r\n <div class=\"form-check form-check-inline ps-0\" >\r\n <input class=\" cursor-pointer radio-custom\" type=\"radio\" name=\"ontrailRadioOptions_{{i}}\"\r\n id=\"inlineRadio1\" value=\"subscription\" (click)=\"updateType(i,'subscription')\">\r\n <label class=\"form-check-label producttext radio-custom-label mx-3 cursor-pointer\"\r\n for=\"inlineRadio1\">Add to Subscription</label>\r\n </div>\r\n \r\n </div>\r\n <div class=\"form-group pt-1\" *ngIf=\"!product.new\">\r\n <div class=\"form-check form-check-inline ps-0\" >\r\n <input class=\" cursor-pointer radio-custom\" type=\"radio\" name=\"TrailExpiredRadioOptions_{{i}}\" id=\"inlineRadio1\"\r\n value=\"unsubscribe\" (click)=\"updateType(i,'unsubscribe')\" checked>\r\n <label class=\"form-check-label radio-custom-label mx-3 producttext cursor-pointer\"\r\n for=\"inlineRadio1\">Unsubscribe</label>\r\n </div><br>\r\n <div class=\"form-check form-check-inline ps-0\" >\r\n <input class=\" cursor-pointer radio-custom\" type=\"radio\" name=\"TrailExpiredRadioOptions_{{i}}\" id=\"inlineRadio1\"\r\n value=\"cancel\" (click)=\"updateType(i,'cancel')\">\r\n <label class=\"form-check-label producttext radio-custom-label mx-3 cursor-pointer\"\r\n for=\"inlineRadio1\">Cancel</label>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex mt-9 my-2\">\r\n <button type=\"submit\" class=\"btn-outline btn cancel me-4 w-50\" (click)=\"activeModal.close()\">Cancel</button>\r\n <button type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\" (click)=\"type === 'products' ? updateproduct() : updateStore()\"><span\r\n class=\"submit\">Submit</span></button>\r\n </div>\r\n </div>\r\n \r\n \r\n <!--end::Actions-->\r\n </form>\r\n <!--end::Form-->\r\n \r\n </div>\r\n</div>", styles: [".heading{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}.contenttext{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.radio-custom{width:20px;height:20px;background-color:#eaf8ff}.radio-custom,.radio-custom-label{display:inline-block;vertical-align:middle;margin:8px 0;cursor:pointer}.radio-custom-label{position:relative}.radio-custom:checked+.radio-custom-label:before{background:#00a3ff;box-shadow:inset 0 0 0 4.5px #eaf8ff;width:16px;height:16px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.confirmationborder{border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);background:var(--White, #FFF);padding:16px;flex-direction:column;align-items:flex-start;gap:18px;align-self:stretch}\n"] }]
131
+ args: [{ selector: 'lib-product-confirmation', template: "<div class=\"modal-content\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/settings-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Confirmation</div>\r\n <div class=\"contenttext mt-4 ms-1\">\r\n Please update the status of below product\r\n </div>\r\n </div>\r\n <div class=\"modal-body\">\r\n <!--begin::Form-->\r\n <form id=\"kt_modal_new_card_form\" class=\"form fv-plugins-bootstrap5 fv-plugins-framework\" action=\"#\">\r\n \r\n <div class=\"fv-row fv-plugins-icon-container \">\r\n <div class=\"confirmationborder mb-3\" [ngClass]=\"i !== 0 ? 'mt-4' : ''\" *ngFor=\"let product of products;let i=index;\">\r\n <div class=\"d-flex justify-content-between\">\r\n <label for=\"TangoZone\" class=\" producttext mb-2\">{{convertUpper(product.name)}}</label>\r\n <span class=\"badge badge-light-primary ms-2\" *ngIf=\"product.new\">Subscribe\r\n <img class=\"ms-2\" src=\"./assets/tango/custompopup-Icons/primary-clock-icon.svg\" alt=\"\">\r\n </span>\r\n <span class=\"badge badge-light-warning ms-2\" *ngIf=\"!product.new\">Unsubscribe\r\n <img class=\"ms-2\" src=\"./assets/tango/custompopup-Icons/warning-clock-icon.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <div class=\"form-group pt-1\" *ngIf=\"product.new\">\r\n <div class=\"form-check form-check-inline ps-0\" >\r\n <input class=\" cursor-pointer radio-custom\" type=\"radio\" name=\"ontrailRadioOptions_{{i}}\"\r\n id=\"inlineRadio1\" value=\"trial\" (click)=\"updateType(i,'trial')\" checked>\r\n <label class=\"form-check-label radio-custom-label mx-3 producttext cursor-pointer\"\r\n for=\"inlineRadio1\">Start with trail</label>\r\n </div><br>\r\n <div class=\"form-check form-check-inline ps-0\" >\r\n <input class=\" cursor-pointer radio-custom\" type=\"radio\" name=\"ontrailRadioOptions_{{i}}\"\r\n id=\"inlineRadio1\" value=\"subscription\" (click)=\"updateType(i,'subscription')\">\r\n <label class=\"form-check-label producttext radio-custom-label mx-3 cursor-pointer\"\r\n for=\"inlineRadio1\">Add to Subscription</label>\r\n </div>\r\n \r\n </div>\r\n <div class=\"form-group pt-1\" *ngIf=\"!product.new\">\r\n <div class=\"form-check form-check-inline ps-0\" >\r\n <input class=\" cursor-pointer radio-custom\" type=\"radio\" name=\"TrailExpiredRadioOptions_{{i}}\" id=\"inlineRadio1\"\r\n value=\"unsubscribe\" (click)=\"updateType(i,'unsubscribe')\" checked>\r\n <label class=\"form-check-label radio-custom-label mx-3 producttext cursor-pointer\"\r\n for=\"inlineRadio1\">Unsubscribe</label>\r\n </div><br>\r\n <div class=\"form-check form-check-inline ps-0\" >\r\n <input class=\" cursor-pointer radio-custom\" type=\"radio\" name=\"TrailExpiredRadioOptions_{{i}}\" id=\"inlineRadio1\"\r\n value=\"cancel\" (click)=\"updateType(i,'cancel')\">\r\n <label class=\"form-check-label producttext radio-custom-label mx-3 cursor-pointer\"\r\n for=\"inlineRadio1\">Cancel</label>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex mt-9 my-2\">\r\n <button type=\"submit\" class=\"btn-outline btn cancel me-4 w-50\" (click)=\"activeModal.close()\">Cancel</button>\r\n <button type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\" (click)=\"type === 'products' ? updateproduct() : updateStore()\"><span\r\n class=\"submit\">Submit</span></button>\r\n </div>\r\n </div>\r\n \r\n \r\n <!--end::Actions-->\r\n </form>\r\n <!--end::Form-->\r\n \r\n </div>\r\n</div>", styles: [".heading{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}.contenttext{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.radio-custom{width:20px;height:20px;background-color:#eaf8ff}.radio-custom,.radio-custom-label{display:inline-block;vertical-align:middle;margin:8px 0;cursor:pointer}.radio-custom-label{position:relative}.radio-custom:checked+.radio-custom-label:before{background:#00a3ff;box-shadow:inset 0 0 0 4.5px #eaf8ff;width:16px;height:16px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.confirmationborder{border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);background:var(--White, #FFF);padding:16px;flex-direction:column;align-items:flex-start;gap:18px;align-self:stretch}\n"] }]
123
132
  }], ctorParameters: () => [{ type: i1.NgbModal }, { type: i1.NgbActiveModal }, { type: i2.ToastService }, { type: i3.PaymentSubscriptionService }, { type: i0.ChangeDetectorRef }], propDecorators: { productList: [{
124
133
  type: Input
125
134
  }], updatedProduct: [{
@@ -133,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
133
142
  }], clientProduct: [{
134
143
  type: Input
135
144
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jb25maXJtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9wYXltZW50cy1zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLXBvcHVwcy9wcm9kdWN0LWNvbmZpcm1hdGlvbi9wcm9kdWN0LWNvbmZpcm1hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL3BheW1lbnRzLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcG9wdXBzL3Byb2R1Y3QtY29uZmlybWF0aW9uL3Byb2R1Y3QtY29uZmlybWF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUk1RSxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7Ozs7Ozs7QUFPL0IsTUFBTSxPQUFPLDRCQUE0QjtJQVVuQjtJQUErQjtJQUFxQztJQUE2QjtJQUFnRTtJQVQ1SyxXQUFXLENBQUs7SUFDaEIsY0FBYyxDQUFLO0lBQ25CLElBQUksQ0FBSztJQUNULE1BQU0sQ0FBSztJQUNYLFFBQVEsQ0FBSztJQUNiLGFBQWEsQ0FBSztJQUMzQixRQUFRLEdBQU8sRUFBRSxDQUFDO0lBQ2xCLHFCQUFxQjtJQUVyQixZQUFvQixZQUFzQixFQUFTLFdBQTJCLEVBQVUsS0FBbUIsRUFBVSwwQkFBc0QsRUFBVSxFQUFxQjtRQUF0TCxpQkFBWSxHQUFaLFlBQVksQ0FBVTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWM7UUFBVSwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRC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QyxDQUFBO3dCQUNwRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtvQkFDeEQsQ0FBQztpQkFDRixDQUFDLENBQUE7YUFFSDtRQUNILENBQUMsQ0FBQyxDQUFBO0lBRUosQ0FBQzt1R0ExR1UsNEJBQTRCOzJGQUE1Qiw0QkFBNEIsZ09DWHpDLCt4SkFxRU07OzJGRDFETyw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsMEJBQTBCOzhNQUszQixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsLCBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcbmltcG9ydCB7IFBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvcGF5bWVudC1zdWJzY3JpcHRpb24uc2VydmljZSc7XHJcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXByb2R1Y3QtY29uZmlybWF0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1jb25maXJtYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9wcm9kdWN0LWNvbmZpcm1hdGlvbi5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RDb25maXJtYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHByb2R1Y3RMaXN0OmFueTtcclxuICBASW5wdXQoKSB1cGRhdGVkUHJvZHVjdDphbnk7XHJcbiAgQElucHV0KCkgdHlwZTphbnk7XHJcbiAgQElucHV0KCkgc3RvcmVzOmFueTtcclxuICBASW5wdXQoKSBjbGllbnRJZDphbnk7XHJcbiAgQElucHV0KCkgY2xpZW50UHJvZHVjdDphbnk7XHJcbiAgcHJvZHVjdHM6YW55ID0gW107XHJcbiAgLy8gY2xpZW50UHJvZHVjdDphbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCwgcHVibGljIGFjdGl2ZU1vZGFsOiBOZ2JBY3RpdmVNb2RhbCwgcHJpdmF0ZSB0b2FzdDogVG9hc3RTZXJ2aWNlLCBwcml2YXRlIFBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlOiBQYXltZW50U3Vic2NyaXB0aW9uU2VydmljZSwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpe1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOnZvaWQge1xyXG4gICAgLy8gbGV0IGRhdGEgPSB0aGlzLmNsaWVudElkO1xyXG4gICAgLy8gdGhpcy5QYXltZW50U3Vic2NyaXB0aW9uU2VydmljZS5nZXRQcm9kdWN0TGlzdChkYXRhKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIC8vIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgLy8gdGhpcy5jbGllbnRQcm9kdWN0ID0gcmVzLmRhdGE7XHJcbiAgICAgICAgbGV0IGNsaWVudFByb2R1Y3RMaXN0ID0gdGhpcy5jbGllbnRQcm9kdWN0Lm1hcCgoaXRlbTphbnkpID0+IGl0ZW0ucHJvZHVjdCk7XHJcbiAgICAgICAgbGV0IHVuc3ViU2NyaWJlZFByb2R1Y3QgPSB0aGlzLnByb2R1Y3RMaXN0LmZpbHRlcigoaXRlbTogYW55KSA9PiAhdGhpcy51cGRhdGVkUHJvZHVjdC5pbmNsdWRlcyhpdGVtKSk7XHJcbiAgICAgICAgbGV0IG5ld1Byb2R1Y3QgPSB0aGlzLnVwZGF0ZWRQcm9kdWN0LmZpbHRlcigoaXRlbTogYW55KSA9PiAhdGhpcy5wcm9kdWN0TGlzdC5pbmNsdWRlcyhpdGVtKSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKHRoaXMuc3RvcmVzLmxlbmd0aCA+IDEgKSB7XHJcbiAgICAgICAgICBuZXdQcm9kdWN0ID0gdGhpcy51cGRhdGVkUHJvZHVjdC5maWx0ZXIoKGl0ZW06IGFueSkgPT4gIXVuc3ViU2NyaWJlZFByb2R1Y3QuaW5jbHVkZXMoaXRlbSkgJiYgIWNsaWVudFByb2R1Y3RMaXN0LmluY2x1ZGVzKGl0ZW0pKVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobmV3UHJvZHVjdC5sZW5ndGgpIHtcclxuICAgICAgICAgIG5ld1Byb2R1Y3QgPSBuZXdQcm9kdWN0LmpvaW4oJywnKTtcclxuICAgICAgICAgIHRoaXMucHJvZHVjdHMucHVzaCh7XHJcbiAgICAgICAgICAgIG5hbWU6IG5ld1Byb2R1Y3QsXHJcbiAgICAgICAgICAgIG5ldzogdHJ1ZSxcclxuICAgICAgICAgICAgdHlwZTogJ3RyaWFsJ1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHVuc3ViU2NyaWJlZFByb2R1Y3QubGVuZ3RoKSB7XHJcbiAgICAgICAgICB1bnN1YlNjcmliZWRQcm9kdWN0ID0gdW5zdWJTY3JpYmVkUHJvZHVjdC5qb2luKCcsJyk7XHJcbiAgICAgICAgICB0aGlzLnByb2R1Y3RzLnB1c2goe1xyXG4gICAgICAgICAgICBuYW1lOiB1bnN1YlNjcmliZWRQcm9kdWN0LFxyXG4gICAgICAgICAgICBuZXc6IGZhbHNlLFxyXG4gICAgICAgICAgICB0eXBlOiAndW5zdWJzY3JpYmUnXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgLy8gfVxyXG4gICAgLy8gfSlcclxuICB9XHJcbiAgdXBkYXRlcHJvZHVjdCgpIHtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIGNsaWVudElkOnRoaXMuY2xpZW50SWQsXHJcbiAgICAgIHByb2R1Y3Q6dGhpcy5wcm9kdWN0c1xyXG4gICAgfVxyXG4gICAgdGhpcy5QYXltZW50U3Vic2NyaXB0aW9uU2VydmljZS51cGRhdGVQcm9kdWN0KHBhcmFtcykuc3Vic2NyaWJlKChyZXM6YW55KSA9PntcclxuICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoJ3Byb2R1Y3QnKTtcclxuICAgICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgICAgaWNvbkh0bWw6IGA8aW1nICBzcmM9XCIuLi8uLi8uLi8uLi9hc3NldHMvdGFuZ28vdG9hc3QtaWNvbnMvRW52ZWxvcGUtT3Blbi1pY29uLnN2Z1wiPmAsXHJcbiAgICAgICAgICBodG1sOiBgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBtdC01XCI+PGRpdiBjbGFzcz1cInRvYXN0dGl0aWxlXCI+JHtyZXMubWVzc2FnZX08L2Rpdj48L2Rpdj5gLFxyXG4gICAgICAgICAgdG9hc3Q6IHRydWUsXHJcbiAgICAgICAgICBwb3NpdGlvbjogJ2JvdHRvbScsXHJcbiAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXHJcbiAgICAgICAgICBzaG93Q2xvc2VCdXR0b246IHRydWUsXHJcbiAgICAgICAgICB0aW1lcjogNjAwMCxcclxuICAgICAgICAgIHRpbWVyUHJvZ3Jlc3NCYXI6IHRydWUsXHJcbiAgICAgICAgICBjdXN0b21DbGFzczogJ2N1c3RvbS10b2FzdC1jb250YWluZXInLFxyXG4gICAgICAgICAgZGlkT3BlbjogKHRvYXN0KSA9PiB7XHJcbiAgICAgICAgICAgIHRvYXN0LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBTd2FsLnN0b3BUaW1lcilcclxuICAgICAgICAgICAgdG9hc3QuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIFN3YWwucmVzdW1lVGltZXIpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICBcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgfVxyXG5cclxuICB1cGRhdGVUeXBlKGluZGV4OmFueSx0eXBlOmFueSkge1xyXG4gICAgdGhpcy5wcm9kdWN0c1tpbmRleF0udHlwZSA9IHR5cGU7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVTdG9yZSgpIHtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmNsaWVudElkLFxyXG4gICAgICBwcm9kdWN0OiB0aGlzLnByb2R1Y3RzLFxyXG4gICAgICBzdG9yZTogdGhpcy5zdG9yZXNcclxuICAgIH1cclxuICAgIHRoaXMuUGF5bWVudFN1YnNjcmlwdGlvblNlcnZpY2UudXBkYXRlU3RvcmUocGFyYW1zKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZSgnc3RvcmUnKTtcclxuICAgICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgICAgaWNvbkh0bWw6IGA8aW1nICBzcmM9XCIuLi8uLi8uLi8uLi9hc3NldHMvdGFuZ28vdG9hc3QtaWNvbnMvRW52ZWxvcGUtT3Blbi1pY29uLnN2Z1wiPmAsXHJcbiAgICAgICAgICBodG1sOiBgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBtdC01XCI+PGRpdiBjbGFzcz1cInRvYXN0dGl0aWxlXCI+JHtyZXMubWVzc2FnZX08L2Rpdj48L2Rpdj5gLFxyXG4gICAgICAgICAgdG9hc3Q6IHRydWUsXHJcbiAgICAgICAgICBwb3NpdGlvbjogJ2JvdHRvbScsXHJcbiAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXHJcbiAgICAgICAgICBzaG93Q2xvc2VCdXR0b246IHRydWUsXHJcbiAgICAgICAgICB0aW1lcjogNjAwMCxcclxuICAgICAgICAgIHRpbWVyUHJvZ3Jlc3NCYXI6IHRydWUsXHJcbiAgICAgICAgICBjdXN0b21DbGFzczogJ2N1c3RvbS10b2FzdC1jb250YWluZXInLFxyXG4gICAgICAgICAgZGlkT3BlbjogKHRvYXN0KSA9PiB7XHJcbiAgICAgICAgICAgIHRvYXN0LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBTd2FsLnN0b3BUaW1lcilcclxuICAgICAgICAgICAgdG9hc3QuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIFN3YWwucmVzdW1lVGltZXIpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICBcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTZcIj5cclxuICAgICAgICA8ZGl2PjxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vY3VzdG9tcG9wdXAtSWNvbnMvc2V0dGluZ3MtaWNvbi5zdmdcIiBhbHQ9XCJcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyBtdC00IG1zLTFcIj5Db25maXJtYXRpb248L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudHRleHQgbXQtNCBtcy0xXCI+XHJcbiAgICAgICAgICAgIFBsZWFzZSB1cGRhdGUgdGhlIHN0YXR1cyBvZiBiZWxvdyBwcm9kdWN0XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XHJcbiAgICAgICAgICAgIDwhLS1iZWdpbjo6Rm9ybS0tPlxyXG4gICAgICAgICAgICA8Zm9ybSBpZD1cImt0X21vZGFsX25ld19jYXJkX2Zvcm1cIiBjbGFzcz1cImZvcm0gZnYtcGx1Z2lucy1ib290c3RyYXA1IGZ2LXBsdWdpbnMtZnJhbWV3b3JrXCIgYWN0aW9uPVwiI1wiPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnYtcm93IGZ2LXBsdWdpbnMtaWNvbi1jb250YWluZXIgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbmZpcm1hdGlvbmJvcmRlclwiIFtuZ0NsYXNzXT1cImkgIT09IDAgPyAnbXQtNCcgOiAnJ1wiICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIHByb2R1Y3RzO2xldCBpPWluZGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiVGFuZ29ab25lXCIgY2xhc3M9XCIgcHJvZHVjdHRleHQgbWItMlwiPnt7cHJvZHVjdC5uYW1lfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5IG1zLTJcIiAqbmdJZj1cInByb2R1Y3QubmV3XCI+U3Vic2NyaWJlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIm1zLTJcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9jdXN0b21wb3B1cC1JY29ucy9wcmltYXJ5LWNsb2NrLWljb24uc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXdhcm5pbmcgbXMtMlwiICpuZ0lmPVwiIXByb2R1Y3QubmV3XCI+VW5zdWJzY3JpYmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwibXMtMlwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL2N1c3RvbXBvcHVwLUljb25zL3dhcm5pbmctY2xvY2staWNvbi5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHB0LTFcIiAqbmdJZj1cInByb2R1Y3QubmV3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLWNoZWNrLWlubGluZSBwcy0wXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cIiBjdXJzb3ItcG9pbnRlciByYWRpby1jdXN0b21cIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwib250cmFpbFJhZGlvT3B0aW9uc197e2l9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiaW5saW5lUmFkaW8xXCIgdmFsdWU9XCJ0cmlhbFwiIChjbGljayk9XCJ1cGRhdGVUeXBlKGksJ3RyaWFsJylcIiBjaGVja2VkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWwgcmFkaW8tY3VzdG9tLWxhYmVsIG14LTMgcHJvZHVjdHRleHQgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJpbmxpbmVSYWRpbzFcIj5TdGFydCB3aXRoIHRyYWlsPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pjxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tY2hlY2staW5saW5lIHBzLTBcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiIGN1cnNvci1wb2ludGVyIHJhZGlvLWN1c3RvbVwiIHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJvbnRyYWlsUmFkaW9PcHRpb25zX3t7aX19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJpbmxpbmVSYWRpbzFcIiB2YWx1ZT1cInN1YnNjcmlwdGlvblwiIChjbGljayk9XCJ1cGRhdGVUeXBlKGksJ3N1YnNjcmlwdGlvbicpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbCBwcm9kdWN0dGV4dCByYWRpby1jdXN0b20tbGFiZWwgbXgtMyBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcj1cImlubGluZVJhZGlvMVwiPkFkZCB0byBTdWJzY3JpcHRpb248L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHB0LTFcIiAqbmdJZj1cIiFwcm9kdWN0Lm5ld1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1jaGVjay1pbmxpbmUgcHMtMFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCIgY3Vyc29yLXBvaW50ZXIgcmFkaW8tY3VzdG9tXCIgdHlwZT1cInJhZGlvXCIgbmFtZT1cIlRyYWlsRXhwaXJlZFJhZGlvT3B0aW9uc197e2l9fVwiIGlkPVwiaW5saW5lUmFkaW8xXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJ1bnN1YnNjcmliZVwiIChjbGljayk9XCJ1cGRhdGVUeXBlKGksJ3Vuc3Vic2NyaWJlJylcIiBjaGVja2VkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWwgcmFkaW8tY3VzdG9tLWxhYmVsIG14LTMgcHJvZHVjdHRleHQgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJpbmxpbmVSYWRpbzFcIj5VbnN1YnNjcmliZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLWNoZWNrLWlubGluZSBwcy0wXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cIiBjdXJzb3ItcG9pbnRlciByYWRpby1jdXN0b21cIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwiVHJhaWxFeHBpcmVkUmFkaW9PcHRpb25zX3t7aX19XCIgaWQ9XCJpbmxpbmVSYWRpbzFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cImNhbmNlbFwiIChjbGljayk9XCJ1cGRhdGVUeXBlKGksJ2NhbmNlbCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbCBwcm9kdWN0dGV4dCByYWRpby1jdXN0b20tbGFiZWwgbXgtMyBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcj1cImlubGluZVJhZGlvMVwiPkNhbmNlbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG10LTkgbXktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0bi1vdXRsaW5lIGJ0biBjYW5jZWwgbWUtNCB3LTUwXCIgKGNsaWNrKT1cImFjdGl2ZU1vZGFsLmNsb3NlKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgIHRhYmluZGV4PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBweC00IG5nLXN0YXItaW5zZXJ0ZWQgdy01MFwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDtcIiAoY2xpY2spPVwidHlwZSA9PT0gJ3Byb2R1Y3RzJyA/IHVwZGF0ZXByb2R1Y3QoKSA6IHVwZGF0ZVN0b3JlKClcIj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VibWl0XCI+U3VibWl0PC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPCEtLWVuZDo6QWN0aW9ucy0tPlxyXG4gICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgIDwhLS1lbmQ6OkZvcm0tLT5cclxuICAgICAgXHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jb25maXJtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9wYXltZW50cy1zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLXBvcHVwcy9wcm9kdWN0LWNvbmZpcm1hdGlvbi9wcm9kdWN0LWNvbmZpcm1hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL3BheW1lbnRzLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcG9wdXBzL3Byb2R1Y3QtY29uZmlybWF0aW9uL3Byb2R1Y3QtY29uZmlybWF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUk1RSxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7Ozs7Ozs7QUFPL0IsTUFBTSxPQUFPLDRCQUE0QjtJQVVuQjtJQUErQjtJQUFxQztJQUE2QjtJQUFnRTtJQVQ1SyxXQUFXLENBQUs7SUFDaEIsY0FBYyxDQUFLO0lBQ25CLElBQUksQ0FBSztJQUNULE1BQU0sQ0FBSztJQUNYLFFBQVEsQ0FBSztJQUNiLGFBQWEsQ0FBSztJQUMzQixRQUFRLEdBQU8sRUFBRSxDQUFDO0lBQ2xCLHFCQUFxQjtJQUVyQixZQUFvQixZQUFzQixFQUFTLFdBQTJCLEVBQVUsS0FBbUIsRUFBVSwwQkFBc0QsRUFBVSxFQUFxQjtRQUF0TCxpQkFBWSxHQUFaLFlBQVksQ0FBVTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWM7UUFBVSwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7SUFDMU0sQ0FBQztJQUNELFFBQVE7UUFDTiw0QkFBNEI7UUFDNUIsaUZBQWlGO1FBQy9FLGdDQUFnQztRQUM5QixpQ0FBaUM7UUFDakMsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNFLElBQUksbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0RyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRTdGLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFHO1lBQzNCLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtTQUNqSTtRQUNELElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRTtZQUNyQixVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDakIsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLEdBQUcsRUFBRSxJQUFJO2dCQUNULElBQUksRUFBRSxPQUFPO2FBQ2QsQ0FBQyxDQUFBO1NBQ0g7UUFDRCxJQUFJLG1CQUFtQixDQUFDLE1BQU0sRUFBRTtZQUM5QixtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pCLElBQUksRUFBRSxtQkFBbUI7Z0JBQ3pCLEdBQUcsRUFBRSxLQUFLO2dCQUNWLElBQUksRUFBRSxhQUFhO2FBQ3BCLENBQUMsQ0FBQTtTQUNIO1FBRUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMxQixJQUFJO1FBQ04sS0FBSztJQUNQLENBQUM7SUFDRCxhQUFhO1FBQ1gsSUFBSSxNQUFNLEdBQUc7WUFDWCxRQUFRLEVBQUMsSUFBSSxDQUFDLFFBQVE7WUFDdEIsT0FBTyxFQUFDLElBQUksQ0FBQyxRQUFRO1NBQ3RCLENBQUE7UUFDRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQU8sRUFBRSxFQUFFO1lBQzFFLElBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFO2dCQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDUixRQUFRLEVBQUUsMEVBQTBFO29CQUNwRixJQUFJLEVBQUUsd0RBQXdELEdBQUcsQ0FBQyxPQUFPLGNBQWM7b0JBQ3ZGLEtBQUssRUFBRSxJQUFJO29CQUNYLFFBQVEsRUFBRSxRQUFRO29CQUNsQixpQkFBaUIsRUFBRSxLQUFLO29CQUN4QixlQUFlLEVBQUUsSUFBSTtvQkFDckIsS0FBSyxFQUFFLElBQUk7b0JBQ1gsZ0JBQWdCLEVBQUUsSUFBSTtvQkFDdEIsV0FBVyxFQUFFLHdCQUF3QjtvQkFDckMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7d0JBQ2pCLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO3dCQUNwRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtvQkFDeEQsQ0FBQztpQkFDRixDQUFDLENBQUE7YUFFSDtRQUNILENBQUMsQ0FBQyxDQUFBO0lBRUosQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFTLEVBQUMsSUFBUTtRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLE1BQU0sR0FBRztZQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ25CLENBQUE7UUFDRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3pFLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFO2dCQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDUixRQUFRLEVBQUUsMEVBQTBFO29CQUNwRixJQUFJLEVBQUUsd0RBQXdELEdBQUcsQ0FBQyxPQUFPLGNBQWM7b0JBQ3ZGLEtBQUssRUFBRSxJQUFJO29CQUNYLFFBQVEsRUFBRSxRQUFRO29CQUNsQixpQkFBaUIsRUFBRSxLQUFLO29CQUN4QixlQUFlLEVBQUUsSUFBSTtvQkFDckIsS0FBSyxFQUFFLElBQUk7b0JBQ1gsZ0JBQWdCLEVBQUUsSUFBSTtvQkFDdEIsV0FBVyxFQUFFLHdCQUF3QjtvQkFDckMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7d0JBQ2pCLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO3dCQUNwRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtvQkFDeEQsQ0FBQztpQkFDRixDQUFDLENBQUE7YUFFSDtRQUNILENBQUMsQ0FBQyxDQUFBO0lBRUosQ0FBQztJQUNELFlBQVksQ0FBQyxJQUFRO1FBQ25CLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQVEsRUFBQyxLQUFZLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xGLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkUsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLFNBQVMsR0FBRyxHQUFHLEdBQUcsVUFBVSxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7dUdBbkhVLDRCQUE0QjsyRkFBNUIsNEJBQTRCLGdPQ1h6QyxrekpBcUVNOzsyRkQxRE8sNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDBCQUEwQjs4TUFLM0IsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCwgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5pbXBvcnQgeyBQYXltZW50U3Vic2NyaXB0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3BheW1lbnQtc3Vic2NyaXB0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1wcm9kdWN0LWNvbmZpcm1hdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtY29uZmlybWF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1jb25maXJtYXRpb24uY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0Q29uZmlybWF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBwcm9kdWN0TGlzdDphbnk7XHJcbiAgQElucHV0KCkgdXBkYXRlZFByb2R1Y3Q6YW55O1xyXG4gIEBJbnB1dCgpIHR5cGU6YW55O1xyXG4gIEBJbnB1dCgpIHN0b3Jlczphbnk7XHJcbiAgQElucHV0KCkgY2xpZW50SWQ6YW55O1xyXG4gIEBJbnB1dCgpIGNsaWVudFByb2R1Y3Q6YW55O1xyXG4gIHByb2R1Y3RzOmFueSA9IFtdO1xyXG4gIC8vIGNsaWVudFByb2R1Y3Q6YW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsIHB1YmxpYyBhY3RpdmVNb2RhbDogTmdiQWN0aXZlTW9kYWwsIHByaXZhdGUgdG9hc3Q6IFRvYXN0U2VydmljZSwgcHJpdmF0ZSBQYXltZW50U3Vic2NyaXB0aW9uU2VydmljZTogUGF5bWVudFN1YnNjcmlwdGlvblNlcnZpY2UsIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKXtcclxuICB9XHJcbiAgbmdPbkluaXQoKTp2b2lkIHtcclxuICAgIC8vIGxldCBkYXRhID0gdGhpcy5jbGllbnRJZDtcclxuICAgIC8vIHRoaXMuUGF5bWVudFN1YnNjcmlwdGlvblNlcnZpY2UuZ2V0UHJvZHVjdExpc3QoZGF0YSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAvLyBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIC8vIHRoaXMuY2xpZW50UHJvZHVjdCA9IHJlcy5kYXRhO1xyXG4gICAgICAgIGxldCBjbGllbnRQcm9kdWN0TGlzdCA9IHRoaXMuY2xpZW50UHJvZHVjdC5tYXAoKGl0ZW06YW55KSA9PiBpdGVtLnByb2R1Y3QpO1xyXG4gICAgICAgIGxldCB1bnN1YlNjcmliZWRQcm9kdWN0ID0gdGhpcy5wcm9kdWN0TGlzdC5maWx0ZXIoKGl0ZW06IGFueSkgPT4gIXRoaXMudXBkYXRlZFByb2R1Y3QuaW5jbHVkZXMoaXRlbSkpO1xyXG4gICAgICAgIGxldCBuZXdQcm9kdWN0ID0gdGhpcy51cGRhdGVkUHJvZHVjdC5maWx0ZXIoKGl0ZW06IGFueSkgPT4gIXRoaXMucHJvZHVjdExpc3QuaW5jbHVkZXMoaXRlbSkpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICh0aGlzLnN0b3Jlcy5sZW5ndGggPiAxICkge1xyXG4gICAgICAgICAgbmV3UHJvZHVjdCA9IHRoaXMudXBkYXRlZFByb2R1Y3QuZmlsdGVyKChpdGVtOiBhbnkpID0+ICF1bnN1YlNjcmliZWRQcm9kdWN0LmluY2x1ZGVzKGl0ZW0pICYmICFjbGllbnRQcm9kdWN0TGlzdC5pbmNsdWRlcyhpdGVtKSlcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG5ld1Byb2R1Y3QubGVuZ3RoKSB7XHJcbiAgICAgICAgICBuZXdQcm9kdWN0ID0gbmV3UHJvZHVjdC5qb2luKCcsJyk7XHJcbiAgICAgICAgICB0aGlzLnByb2R1Y3RzLnB1c2goe1xyXG4gICAgICAgICAgICBuYW1lOiBuZXdQcm9kdWN0LFxyXG4gICAgICAgICAgICBuZXc6IHRydWUsXHJcbiAgICAgICAgICAgIHR5cGU6ICd0cmlhbCdcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh1bnN1YlNjcmliZWRQcm9kdWN0Lmxlbmd0aCkge1xyXG4gICAgICAgICAgdW5zdWJTY3JpYmVkUHJvZHVjdCA9IHVuc3ViU2NyaWJlZFByb2R1Y3Quam9pbignLCcpO1xyXG4gICAgICAgICAgdGhpcy5wcm9kdWN0cy5wdXNoKHtcclxuICAgICAgICAgICAgbmFtZTogdW5zdWJTY3JpYmVkUHJvZHVjdCxcclxuICAgICAgICAgICAgbmV3OiBmYWxzZSxcclxuICAgICAgICAgICAgdHlwZTogJ3Vuc3Vic2NyaWJlJ1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIC8vIH1cclxuICAgIC8vIH0pXHJcbiAgfVxyXG4gIHVwZGF0ZXByb2R1Y3QoKSB7XHJcbiAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICBjbGllbnRJZDp0aGlzLmNsaWVudElkLFxyXG4gICAgICBwcm9kdWN0OnRoaXMucHJvZHVjdHNcclxuICAgIH1cclxuICAgIHRoaXMuUGF5bWVudFN1YnNjcmlwdGlvblNlcnZpY2UudXBkYXRlUHJvZHVjdChwYXJhbXMpLnN1YnNjcmliZSgocmVzOmFueSkgPT57XHJcbiAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKCdwcm9kdWN0Jyk7XHJcbiAgICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICAgIGljb25IdG1sOiBgPGltZyAgc3JjPVwiLi4vLi4vLi4vLi4vYXNzZXRzL3RhbmdvL3RvYXN0LWljb25zL0VudmVsb3BlLU9wZW4taWNvbi5zdmdcIj5gLFxyXG4gICAgICAgICAgaHRtbDogYDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbXQtNVwiPjxkaXYgY2xhc3M9XCJ0b2FzdHRpdGlsZVwiPiR7cmVzLm1lc3NhZ2V9PC9kaXY+PC9kaXY+YCxcclxuICAgICAgICAgIHRvYXN0OiB0cnVlLFxyXG4gICAgICAgICAgcG9zaXRpb246ICdib3R0b20nLFxyXG4gICAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxyXG4gICAgICAgICAgc2hvd0Nsb3NlQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgICAgdGltZXI6IDYwMDAsXHJcbiAgICAgICAgICB0aW1lclByb2dyZXNzQmFyOiB0cnVlLFxyXG4gICAgICAgICAgY3VzdG9tQ2xhc3M6ICdjdXN0b20tdG9hc3QtY29udGFpbmVyJyxcclxuICAgICAgICAgIGRpZE9wZW46ICh0b2FzdCkgPT4ge1xyXG4gICAgICAgICAgICB0b2FzdC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgU3dhbC5zdG9wVGltZXIpXHJcbiAgICAgICAgICAgIHRvYXN0LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBTd2FsLnJlc3VtZVRpbWVyKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgXHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gIH1cclxuXHJcbiAgdXBkYXRlVHlwZShpbmRleDphbnksdHlwZTphbnkpIHtcclxuICAgIHRoaXMucHJvZHVjdHNbaW5kZXhdLnR5cGUgPSB0eXBlO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlU3RvcmUoKSB7XHJcbiAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5jbGllbnRJZCxcclxuICAgICAgcHJvZHVjdDogdGhpcy5wcm9kdWN0cyxcclxuICAgICAgc3RvcmU6IHRoaXMuc3RvcmVzXHJcbiAgICB9XHJcbiAgICB0aGlzLlBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlLnVwZGF0ZVN0b3JlKHBhcmFtcykuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoJ3N0b3JlJyk7XHJcbiAgICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICAgIGljb25IdG1sOiBgPGltZyAgc3JjPVwiLi4vLi4vLi4vLi4vYXNzZXRzL3RhbmdvL3RvYXN0LWljb25zL0VudmVsb3BlLU9wZW4taWNvbi5zdmdcIj5gLFxyXG4gICAgICAgICAgaHRtbDogYDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbXQtNVwiPjxkaXYgY2xhc3M9XCJ0b2FzdHRpdGlsZVwiPiR7cmVzLm1lc3NhZ2V9PC9kaXY+PC9kaXY+YCxcclxuICAgICAgICAgIHRvYXN0OiB0cnVlLFxyXG4gICAgICAgICAgcG9zaXRpb246ICdib3R0b20nLFxyXG4gICAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxyXG4gICAgICAgICAgc2hvd0Nsb3NlQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgICAgdGltZXI6IDYwMDAsXHJcbiAgICAgICAgICB0aW1lclByb2dyZXNzQmFyOiB0cnVlLFxyXG4gICAgICAgICAgY3VzdG9tQ2xhc3M6ICdjdXN0b20tdG9hc3QtY29udGFpbmVyJyxcclxuICAgICAgICAgIGRpZE9wZW46ICh0b2FzdCkgPT4ge1xyXG4gICAgICAgICAgICB0b2FzdC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgU3dhbC5zdG9wVGltZXIpXHJcbiAgICAgICAgICAgIHRvYXN0LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBTd2FsLnJlc3VtZVRpbWVyKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgXHJcbiAgfVxyXG4gIGNvbnZlcnRVcHBlcihkYXRhOmFueSkge1xyXG4gICAgbGV0IHByb2R1Y3RzID0gZGF0YS5zcGxpdCgnLCcpO1xyXG4gICAgcHJvZHVjdHMuZm9yRWFjaCgoaXRlbTphbnksaW5kZXg6bnVtYmVyKSA9PiB7XHJcbiAgICAgIGxldCBbZmlyc3RXb3JkLCBzZWNvbmRXb3JkXSA9IGl0ZW0ucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZywgJyQxICQyJykuc3BsaXQoJyAnKTtcclxuICAgICAgZmlyc3RXb3JkID0gZmlyc3RXb3JkLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgZmlyc3RXb3JkLnNsaWNlKDEpO1xyXG4gICAgICBwcm9kdWN0c1tpbmRleF0gPSBmaXJzdFdvcmQgKyAnICcgKyBzZWNvbmRXb3JkO1xyXG4gICAgfSlcclxuICAgIHJldHVybiBwcm9kdWN0cy5qb2luKCcsJyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC02XCI+XHJcbiAgICAgICAgPGRpdj48aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL2N1c3RvbXBvcHVwLUljb25zL3NldHRpbmdzLWljb24uc3ZnXCIgYWx0PVwiXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmcgbXQtNCBtcy0xXCI+Q29uZmlybWF0aW9uPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnR0ZXh0IG10LTQgbXMtMVwiPlxyXG4gICAgICAgICAgICBQbGVhc2UgdXBkYXRlIHRoZSBzdGF0dXMgb2YgYmVsb3cgcHJvZHVjdFxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG4gICAgICAgICAgICA8IS0tYmVnaW46OkZvcm0tLT5cclxuICAgICAgICAgICAgPGZvcm0gaWQ9XCJrdF9tb2RhbF9uZXdfY2FyZF9mb3JtXCIgY2xhc3M9XCJmb3JtIGZ2LXBsdWdpbnMtYm9vdHN0cmFwNSBmdi1wbHVnaW5zLWZyYW1ld29ya1wiIGFjdGlvbj1cIiNcIj5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ2LXJvdyBmdi1wbHVnaW5zLWljb24tY29udGFpbmVyIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb25maXJtYXRpb25ib3JkZXIgbWItM1wiIFtuZ0NsYXNzXT1cImkgIT09IDAgPyAnbXQtNCcgOiAnJ1wiICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIHByb2R1Y3RzO2xldCBpPWluZGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiVGFuZ29ab25lXCIgY2xhc3M9XCIgcHJvZHVjdHRleHQgbWItMlwiPnt7Y29udmVydFVwcGVyKHByb2R1Y3QubmFtZSl9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgbXMtMlwiICpuZ0lmPVwicHJvZHVjdC5uZXdcIj5TdWJzY3JpYmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwibXMtMlwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL2N1c3RvbXBvcHVwLUljb25zL3ByaW1hcnktY2xvY2staWNvbi5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtd2FybmluZyBtcy0yXCIgKm5nSWY9XCIhcHJvZHVjdC5uZXdcIj5VbnN1YnNjcmliZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJtcy0yXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vY3VzdG9tcG9wdXAtSWNvbnMvd2FybmluZy1jbG9jay1pY29uLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcHQtMVwiICpuZ0lmPVwicHJvZHVjdC5uZXdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tY2hlY2staW5saW5lIHBzLTBcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiIGN1cnNvci1wb2ludGVyIHJhZGlvLWN1c3RvbVwiIHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJvbnRyYWlsUmFkaW9PcHRpb25zX3t7aX19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJpbmxpbmVSYWRpbzFcIiB2YWx1ZT1cInRyaWFsXCIgKGNsaWNrKT1cInVwZGF0ZVR5cGUoaSwndHJpYWwnKVwiIGNoZWNrZWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbCByYWRpby1jdXN0b20tbGFiZWwgbXgtMyBwcm9kdWN0dGV4dCBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcj1cImlubGluZVJhZGlvMVwiPlN0YXJ0IHdpdGggdHJhaWw8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1jaGVjay1pbmxpbmUgcHMtMFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCIgY3Vyc29yLXBvaW50ZXIgcmFkaW8tY3VzdG9tXCIgdHlwZT1cInJhZGlvXCIgbmFtZT1cIm9udHJhaWxSYWRpb09wdGlvbnNfe3tpfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImlubGluZVJhZGlvMVwiIHZhbHVlPVwic3Vic2NyaXB0aW9uXCIgKGNsaWNrKT1cInVwZGF0ZVR5cGUoaSwnc3Vic2NyaXB0aW9uJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsIHByb2R1Y3R0ZXh0IHJhZGlvLWN1c3RvbS1sYWJlbCBteC0zIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yPVwiaW5saW5lUmFkaW8xXCI+QWRkIHRvIFN1YnNjcmlwdGlvbjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcHQtMVwiICpuZ0lmPVwiIXByb2R1Y3QubmV3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLWNoZWNrLWlubGluZSBwcy0wXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cIiBjdXJzb3ItcG9pbnRlciByYWRpby1jdXN0b21cIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwiVHJhaWxFeHBpcmVkUmFkaW9PcHRpb25zX3t7aX19XCIgaWQ9XCJpbmxpbmVSYWRpbzFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInVuc3Vic2NyaWJlXCIgKGNsaWNrKT1cInVwZGF0ZVR5cGUoaSwndW5zdWJzY3JpYmUnKVwiIGNoZWNrZWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbCByYWRpby1jdXN0b20tbGFiZWwgbXgtMyBwcm9kdWN0dGV4dCBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcj1cImlubGluZVJhZGlvMVwiPlVuc3Vic2NyaWJlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pjxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tY2hlY2staW5saW5lIHBzLTBcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiIGN1cnNvci1wb2ludGVyIHJhZGlvLWN1c3RvbVwiIHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJUcmFpbEV4cGlyZWRSYWRpb09wdGlvbnNfe3tpfX1cIiBpZD1cImlubGluZVJhZGlvMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPVwiY2FuY2VsXCIgKGNsaWNrKT1cInVwZGF0ZVR5cGUoaSwnY2FuY2VsJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsIHByb2R1Y3R0ZXh0IHJhZGlvLWN1c3RvbS1sYWJlbCBteC0zIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yPVwiaW5saW5lUmFkaW8xXCI+Q2FuY2VsPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXQtOSBteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuLW91dGxpbmUgYnRuIGNhbmNlbCBtZS00IHctNTBcIiAoY2xpY2spPVwiYWN0aXZlTW9kYWwuY2xvc2UoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAgdGFiaW5kZXg9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgbmctc3Rhci1pbnNlcnRlZCB3LTUwXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiIChjbGljayk9XCJ0eXBlID09PSAncHJvZHVjdHMnID8gdXBkYXRlcHJvZHVjdCgpIDogdXBkYXRlU3RvcmUoKVwiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdWJtaXRcIj5TdWJtaXQ8L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8IS0tZW5kOjpBY3Rpb25zLS0+XHJcbiAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgPCEtLWVuZDo6Rm9ybS0tPlxyXG4gICAgICBcclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=