tango-app-ui-ticket-user 3.0.2-dev → 3.0.4-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 (25) hide show
  1. package/esm2022/lib/components/contact-details/contact-details.component.mjs +8 -7
  2. package/esm2022/lib/components/edge-cameraview/edge-cameraview.component.mjs +13 -10
  3. package/esm2022/lib/components/edgeapp-log/edgeapp-log.component.mjs +35 -9
  4. package/esm2022/lib/components/edit-details/edit-details.component.mjs +3 -3
  5. package/esm2022/lib/components/infratickets/infratickets.component.mjs +8 -7
  6. package/esm2022/lib/components/store-activity/store-activity.component.mjs +45 -58
  7. package/esm2022/lib/components/store-info/store-info.component.mjs +8 -6
  8. package/esm2022/lib/components/takeremote/takeremote.component.mjs +6 -6
  9. package/esm2022/lib/components/tango-ticket-users/tango-ticket-users.component.mjs +5 -5
  10. package/esm2022/lib/components/tickets/tickets.component.mjs +27 -18
  11. package/esm2022/lib/services/data.service.mjs +3 -3
  12. package/esm2022/lib/services/ticket-infra.service.mjs +5 -5
  13. package/esm2022/lib/tango-ticket-users-routing.module.mjs +4 -4
  14. package/esm2022/lib/tango-ticket-users.module.mjs +4 -4
  15. package/fesm2022/tango-app-ui-ticket-user.mjs +157 -132
  16. package/fesm2022/tango-app-ui-ticket-user.mjs.map +1 -1
  17. package/lib/components/contact-details/contact-details.component.d.ts +2 -2
  18. package/lib/components/edge-cameraview/edge-cameraview.component.d.ts +5 -4
  19. package/lib/components/edgeapp-log/edgeapp-log.component.d.ts +5 -0
  20. package/lib/components/infratickets/infratickets.component.d.ts +1 -1
  21. package/lib/components/store-activity/store-activity.component.d.ts +4 -8
  22. package/lib/components/tango-ticket-users/tango-ticket-users.component.d.ts +1 -1
  23. package/lib/components/tickets/tickets.component.d.ts +3 -1
  24. package/lib/services/ticket-infra.service.d.ts +1 -1
  25. package/package.json +1 -1
@@ -34,7 +34,7 @@ export class TakeremoteComponent {
34
34
  this.service.getRemote(this.storeDetails?.storeId, data).subscribe({
35
35
  next: (res) => {
36
36
  if (res && res.code == 200) {
37
- this.remote = res?.data?._id;
37
+ this.remote = res?.data?.storeConnectionId;
38
38
  this.myForm.get('deskId')?.setValue(this.remote);
39
39
  console.log('remote', this.remote);
40
40
  }
@@ -80,13 +80,13 @@ export class TakeremoteComponent {
80
80
  dismissModal() {
81
81
  this.Activemodal.close();
82
82
  }
83
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TakeremoteComponent, deps: [{ token: i1.NgbActiveModal }, { token: i2.TicketsService }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Component });
84
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: TakeremoteComponent, selector: "lib-takeremote", inputs: { storeDetails: "storeDetails" }, ngImport: i0, template: "<div class=\"card p-0\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <div class=\"\">\r\n <img class=\"mb-3\" src=\"./assets/tango/Images/RemoteIcon.png\">\r\n </div>\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label header mb-2\">Take remote</span>\r\n <span class=\"sub-header mb-2\">Please enter the credentials</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\"> \r\n <button type=\"button\" (click)=\"viewandEdit()\" [disabled]=\"readOnly == false\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val p-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4117_58968)\">\r\n <path d=\"M9.16602 3.33344H3.33268C2.89065 3.33344 2.46673 3.50904 2.15417 3.8216C1.84161 4.13416 1.66602 4.55808 1.66602 5.00011V16.6668C1.66602 17.1088 1.84161 17.5327 2.15417 17.8453C2.46673 18.1578 2.89065 18.3334 3.33268 18.3334H14.9993C15.4414 18.3334 15.8653 18.1578 16.1779 17.8453C16.4904 17.5327 16.666 17.1088 16.666 16.6668V10.8334M15.416 2.08344C15.7475 1.75192 16.1972 1.56567 16.666 1.56567C17.1349 1.56567 17.5845 1.75192 17.916 2.08344C18.2475 2.41496 18.4338 2.8646 18.4338 3.33344C18.4338 3.80228 18.2475 4.25192 17.916 4.58344L9.99935 12.5001L6.66602 13.3334L7.49935 10.0001L15.416 2.08344Z\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4117_58968\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"myForm\" (ngSubmit)=\"onSubmit()\">\r\n <div class=\"mb-3\">\r\n <label for=\"Username\" class=\"form-label\">User Name</label>\r\n <input [ngClass]=\"readOnly?'bg-readonly':''\" type=\"email\" class=\"form-control\" id=\"Username\" formControlName=\"deskId\" [readonly]=\"readOnly\">\r\n </div>\r\n <div *ngIf=\"!viewEdit\">\r\n <button class=\"btn btn-default btn-primary w-100 me-2\" (click)=\"dismissModal()\">Okey</button>\r\n </div>\r\n <div *ngIf=\"viewEdit\" class=\"d-flex justify-content-between\">\r\n <button class=\"btn btn-default btn-outline w-50 me-2\" (click)=\"cancelRemote()\">Cancel</button>\r\n <button type=\"submit\" class=\"btn btn-primary w-50 ms-2\"> Submit </button>\r\n </div>\r\n </form>\r\n </div>\r\n</div>\r\n", styles: [".header{color:var(--Gray-900, #101828)!important;font-size:18px!important;line-height:28px!important}.sub-header{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.fw-bold-400{font-weight:400!important}.fw-bold-600{font-weight:600!important}.msgprofile{width:40px!important;height:40px!important;border-radius:200px;overflow:hidden}.select-wrapper{min-width:50px!important}.custom-select{width:auto!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}input::placeholder{color:var(--Gray-500, #667085);font-size:16px;font-weight:400;line-height:24px}.bg-readonly{background:var(--Gray-50, #F9FAFB)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
83
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: TakeremoteComponent, deps: [{ token: i1.NgbActiveModal }, { token: i2.TicketsService }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Component });
84
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: TakeremoteComponent, selector: "lib-takeremote", inputs: { storeDetails: "storeDetails" }, ngImport: i0, template: "<div class=\"card p-0\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <div class=\"\">\r\n <img class=\"mb-3\" src=\"./assets/tango/Images/RemoteIcon.png\">\r\n </div>\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label header mb-2\">Take remote</span>\r\n <span class=\"sub-header mb-2\">Please enter the credentials</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\"> \r\n <button type=\"button\" (click)=\"viewandEdit()\" [disabled]=\"readOnly == false\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val p-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4117_58968)\">\r\n <path d=\"M9.16602 3.33344H3.33268C2.89065 3.33344 2.46673 3.50904 2.15417 3.8216C1.84161 4.13416 1.66602 4.55808 1.66602 5.00011V16.6668C1.66602 17.1088 1.84161 17.5327 2.15417 17.8453C2.46673 18.1578 2.89065 18.3334 3.33268 18.3334H14.9993C15.4414 18.3334 15.8653 18.1578 16.1779 17.8453C16.4904 17.5327 16.666 17.1088 16.666 16.6668V10.8334M15.416 2.08344C15.7475 1.75192 16.1972 1.56567 16.666 1.56567C17.1349 1.56567 17.5845 1.75192 17.916 2.08344C18.2475 2.41496 18.4338 2.8646 18.4338 3.33344C18.4338 3.80228 18.2475 4.25192 17.916 4.58344L9.99935 12.5001L6.66602 13.3334L7.49935 10.0001L15.416 2.08344Z\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4117_58968\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"myForm\" (ngSubmit)=\"onSubmit()\">\r\n <div class=\"mb-3\">\r\n <label for=\"Username\" class=\"form-label\">Any desk ID / Team viewer</label>\r\n <input [ngClass]=\"readOnly?'bg-readonly':''\" type=\"email\" class=\"form-control\" id=\"Username\" formControlName=\"deskId\" [readonly]=\"readOnly\">\r\n </div>\r\n <div *ngIf=\"!viewEdit\">\r\n <button class=\"btn btn-default btn-primary w-100 me-2\" (click)=\"dismissModal()\">Okay</button>\r\n </div>\r\n <div *ngIf=\"viewEdit\" class=\"d-flex justify-content-between\">\r\n <button class=\"btn btn-default btn-outline w-50 me-2\" (click)=\"cancelRemote()\">Cancel</button>\r\n <button type=\"submit\" class=\"btn btn-primary w-50 ms-2\"> Submit </button>\r\n </div>\r\n </form>\r\n </div>\r\n</div>\r\n", styles: [".header{color:var(--Gray-900, #101828)!important;font-size:18px!important;line-height:28px!important}.sub-header{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.fw-bold-400{font-weight:400!important}.fw-bold-600{font-weight:600!important}.msgprofile{width:40px!important;height:40px!important;border-radius:200px;overflow:hidden}.select-wrapper{min-width:50px!important}.custom-select{width:auto!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}input::placeholder{color:var(--Gray-500, #667085);font-size:16px;font-weight:400;line-height:24px}.bg-readonly{background:var(--Gray-50, #F9FAFB)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
85
85
  }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TakeremoteComponent, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: TakeremoteComponent, decorators: [{
87
87
  type: Component,
88
- args: [{ selector: 'lib-takeremote', template: "<div class=\"card p-0\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <div class=\"\">\r\n <img class=\"mb-3\" src=\"./assets/tango/Images/RemoteIcon.png\">\r\n </div>\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label header mb-2\">Take remote</span>\r\n <span class=\"sub-header mb-2\">Please enter the credentials</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\"> \r\n <button type=\"button\" (click)=\"viewandEdit()\" [disabled]=\"readOnly == false\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val p-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4117_58968)\">\r\n <path d=\"M9.16602 3.33344H3.33268C2.89065 3.33344 2.46673 3.50904 2.15417 3.8216C1.84161 4.13416 1.66602 4.55808 1.66602 5.00011V16.6668C1.66602 17.1088 1.84161 17.5327 2.15417 17.8453C2.46673 18.1578 2.89065 18.3334 3.33268 18.3334H14.9993C15.4414 18.3334 15.8653 18.1578 16.1779 17.8453C16.4904 17.5327 16.666 17.1088 16.666 16.6668V10.8334M15.416 2.08344C15.7475 1.75192 16.1972 1.56567 16.666 1.56567C17.1349 1.56567 17.5845 1.75192 17.916 2.08344C18.2475 2.41496 18.4338 2.8646 18.4338 3.33344C18.4338 3.80228 18.2475 4.25192 17.916 4.58344L9.99935 12.5001L6.66602 13.3334L7.49935 10.0001L15.416 2.08344Z\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4117_58968\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"myForm\" (ngSubmit)=\"onSubmit()\">\r\n <div class=\"mb-3\">\r\n <label for=\"Username\" class=\"form-label\">User Name</label>\r\n <input [ngClass]=\"readOnly?'bg-readonly':''\" type=\"email\" class=\"form-control\" id=\"Username\" formControlName=\"deskId\" [readonly]=\"readOnly\">\r\n </div>\r\n <div *ngIf=\"!viewEdit\">\r\n <button class=\"btn btn-default btn-primary w-100 me-2\" (click)=\"dismissModal()\">Okey</button>\r\n </div>\r\n <div *ngIf=\"viewEdit\" class=\"d-flex justify-content-between\">\r\n <button class=\"btn btn-default btn-outline w-50 me-2\" (click)=\"cancelRemote()\">Cancel</button>\r\n <button type=\"submit\" class=\"btn btn-primary w-50 ms-2\"> Submit </button>\r\n </div>\r\n </form>\r\n </div>\r\n</div>\r\n", styles: [".header{color:var(--Gray-900, #101828)!important;font-size:18px!important;line-height:28px!important}.sub-header{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.fw-bold-400{font-weight:400!important}.fw-bold-600{font-weight:600!important}.msgprofile{width:40px!important;height:40px!important;border-radius:200px;overflow:hidden}.select-wrapper{min-width:50px!important}.custom-select{width:auto!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}input::placeholder{color:var(--Gray-500, #667085);font-size:16px;font-weight:400;line-height:24px}.bg-readonly{background:var(--Gray-50, #F9FAFB)}\n"] }]
88
+ args: [{ selector: 'lib-takeremote', template: "<div class=\"card p-0\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <div class=\"\">\r\n <img class=\"mb-3\" src=\"./assets/tango/Images/RemoteIcon.png\">\r\n </div>\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label header mb-2\">Take remote</span>\r\n <span class=\"sub-header mb-2\">Please enter the credentials</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\"> \r\n <button type=\"button\" (click)=\"viewandEdit()\" [disabled]=\"readOnly == false\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val p-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4117_58968)\">\r\n <path d=\"M9.16602 3.33344H3.33268C2.89065 3.33344 2.46673 3.50904 2.15417 3.8216C1.84161 4.13416 1.66602 4.55808 1.66602 5.00011V16.6668C1.66602 17.1088 1.84161 17.5327 2.15417 17.8453C2.46673 18.1578 2.89065 18.3334 3.33268 18.3334H14.9993C15.4414 18.3334 15.8653 18.1578 16.1779 17.8453C16.4904 17.5327 16.666 17.1088 16.666 16.6668V10.8334M15.416 2.08344C15.7475 1.75192 16.1972 1.56567 16.666 1.56567C17.1349 1.56567 17.5845 1.75192 17.916 2.08344C18.2475 2.41496 18.4338 2.8646 18.4338 3.33344C18.4338 3.80228 18.2475 4.25192 17.916 4.58344L9.99935 12.5001L6.66602 13.3334L7.49935 10.0001L15.416 2.08344Z\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4117_58968\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"myForm\" (ngSubmit)=\"onSubmit()\">\r\n <div class=\"mb-3\">\r\n <label for=\"Username\" class=\"form-label\">Any desk ID / Team viewer</label>\r\n <input [ngClass]=\"readOnly?'bg-readonly':''\" type=\"email\" class=\"form-control\" id=\"Username\" formControlName=\"deskId\" [readonly]=\"readOnly\">\r\n </div>\r\n <div *ngIf=\"!viewEdit\">\r\n <button class=\"btn btn-default btn-primary w-100 me-2\" (click)=\"dismissModal()\">Okay</button>\r\n </div>\r\n <div *ngIf=\"viewEdit\" class=\"d-flex justify-content-between\">\r\n <button class=\"btn btn-default btn-outline w-50 me-2\" (click)=\"cancelRemote()\">Cancel</button>\r\n <button type=\"submit\" class=\"btn btn-primary w-50 ms-2\"> Submit </button>\r\n </div>\r\n </form>\r\n </div>\r\n</div>\r\n", styles: [".header{color:var(--Gray-900, #101828)!important;font-size:18px!important;line-height:28px!important}.sub-header{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.fw-bold-400{font-weight:400!important}.fw-bold-600{font-weight:600!important}.msgprofile{width:40px!important;height:40px!important;border-radius:200px;overflow:hidden}.select-wrapper{min-width:50px!important}.custom-select{width:auto!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}input::placeholder{color:var(--Gray-500, #667085);font-size:16px;font-weight:400;line-height:24px}.bg-readonly{background:var(--Gray-50, #F9FAFB)}\n"] }]
89
89
  }], ctorParameters: () => [{ type: i1.NgbActiveModal }, { type: i2.TicketsService }, { type: i3.ToastService }], propDecorators: { storeDetails: [{
90
90
  type: Input
91
91
  }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFrZXJlbW90ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL2NvbXBvbmVudHMvdGFrZXJlbW90ZS90YWtlcmVtb3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy90YWtlcmVtb3RlL3Rha2VyZW1vdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVdwRSxNQUFNLE9BQU8sbUJBQW1CO0lBUVQ7SUFDWDtJQUNBO0lBVFYsTUFBTSxDQUFZO0lBQ2xCLFFBQVEsR0FBVyxJQUFJLENBQUM7SUFDeEIsUUFBUSxHQUFXLEtBQUssQ0FBQztJQUN6QixJQUFJLEdBQVksS0FBSyxDQUFDO0lBQ3RCLE1BQU0sQ0FBTTtJQUNILFlBQVksQ0FBSztJQUUxQixZQUFxQixXQUEwQixFQUNyQyxPQUFzQixFQUN0QixLQUFrQjtRQUZQLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBQ3JDLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFDdEIsVUFBSyxHQUFMLEtBQUssQ0FBYTtRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQzFCLE1BQU0sRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3JDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0wsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxTQUFTO1FBQ1AsSUFBSSxJQUFJLEdBQUc7WUFDVCxjQUFjLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztTQUN0QyxDQUFBO1FBQ0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2hFLElBQUksRUFBQyxDQUFDLEdBQU8sRUFBQyxFQUFFO2dCQUNkLElBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUcsR0FBRyxFQUFDO29CQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO29CQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO29CQUNoRCxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7aUJBQ2xDO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLEdBQUc7WUFDUCxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTO1lBQ3pDLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVE7WUFDdkMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSztTQUN4RCxDQUFBO1FBQ0QsSUFBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBQztZQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ25FLElBQUksRUFBQyxDQUFDLEdBQU8sRUFBQyxFQUFFO29CQUNkLElBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFDO3dCQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO3dCQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7cUJBQ3hDO3lCQUFJO3dCQUNILElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtxQkFDdEM7Z0JBQ0gsQ0FBQztnQkFDRCxLQUFLLEVBQUMsQ0FBQyxHQUFHLEVBQUMsRUFBRTtvQkFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQ3JDLENBQUM7YUFDRixDQUFDLENBQUE7U0FDSDthQUFJO1NBRUo7SUFDSCxDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFDQyxZQUFZO1FBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUNELFdBQVc7UUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQzt1R0F2RVUsbUJBQW1COzJGQUFuQixtQkFBbUIsZ0dDWmhDLHdrR0EyQ0E7OzJGRC9CYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCOzJJQVVqQixZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBUaWNrZXRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlJztcclxuLy8gaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAncHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvcHVibGljLWFwaSc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFrZXJlbW90ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Rha2VyZW1vdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90YWtlcmVtb3RlLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFrZXJlbW90ZUNvbXBvbmVudCB7XHJcbiAgbXlGb3JtOiBGb3JtR3JvdXA7XHJcbiAgcmVhZE9ubHk6Ym9vbGVhbiA9IHRydWU7XHJcbiAgdmlld0VkaXQ6Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICByZW1vdGU6IGFueTtcclxuICBASW5wdXQoKSBzdG9yZURldGFpbHM6YW55O1xyXG5cclxuICBjb25zdHJ1Y3RvciggcHJpdmF0ZSBBY3RpdmVtb2RhbDpOZ2JBY3RpdmVNb2RhbCxcclxuICAgIHByaXZhdGUgc2VydmljZTpUaWNrZXRzU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9hc3Q6VG9hc3RTZXJ2aWNlKSB7IFxyXG4gICAgdGhpcy5teUZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcclxuICAgICAgZGVza0lkOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5yZW1vdGUpLCBcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgICB0aGlzLmdldFJlbW90ZSgpO1xyXG4gIH1cclxuICBnZXRSZW1vdGUoKXtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICBzZWxlY3RlZEZpZWxkczogW1wic3RvcmVDb25uZWN0aW9uSWRcIl1cclxuICAgIH1cclxuICAgICAgdGhpcy5zZXJ2aWNlLmdldFJlbW90ZSh0aGlzLnN0b3JlRGV0YWlscz8uc3RvcmVJZCxkYXRhKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6KHJlczphbnkpPT4ge1xyXG4gICAgICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09MjAwKXtcclxuICAgICAgICAgICAgdGhpcy5yZW1vdGUgPSByZXM/LmRhdGE/Ll9pZDtcclxuICAgICAgICAgICAgdGhpcy5teUZvcm0uZ2V0KCdkZXNrSWQnKT8uc2V0VmFsdWUodGhpcy5yZW1vdGUpXHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZW1vdGUnLHRoaXMucmVtb3RlKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgIFwic3RvcmVOYW1lXCI6IHRoaXMuc3RvcmVEZXRhaWxzPy5zdG9yZU5hbWUsXHJcbiAgICAgICAgXCJjbGllbnRJZFwiOiB0aGlzLnN0b3JlRGV0YWlscz8uY2xpZW50SWQsXHJcbiAgICAgICAgXCJzdG9yZUNvbm5lY3Rpb25JZFwiOiB0aGlzLm15Rm9ybS5nZXQoJ2Rlc2tJZCcpPy52YWx1ZVxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5teUZvcm0udmFsaWQpe1xyXG4gICAgICB0aGlzLnNlcnZpY2UudXBkYXRlUmVtb3RlKHRoaXMuc3RvcmVEZXRhaWxzPy5zdG9yZUlkLGRhdGEpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDoocmVzOmFueSk9PiB7XHJcbiAgICAgICAgICBpZihyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzKVxyXG4gICAgICAgICAgICB0aGlzLnRvYXN0LmdldFN1Y2Nlc3NUb2FzdChyZXMubWVzc2FnZSlcclxuICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0LmdldEVycm9yVG9hc3QocmVzLm1lc3NhZ2UpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjooZXJyKT0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3QuZ2V0RXJyb3JUb2FzdChlcnIuRXJyb3IpXHJcbiAgICAgICAgfSxcclxuICAgICAgfSlcclxuICAgIH1lbHNle1xyXG4gICAgXHJcbiAgICB9XHJcbiAgfVxyXG4gIHNob3dQYXNzd29yZCgpIHtcclxuICAgIHRoaXMuc2hvdyA9ICF0aGlzLnNob3c7XHJcbn1cclxuICBjYW5jZWxSZW1vdGUoKXtcclxuICAgIHRoaXMucmVhZE9ubHkgPSB0cnVlO1xyXG4gICAgdGhpcy52aWV3RWRpdCA9IGZhbHNlO1xyXG4gIH1cclxuICB2aWV3YW5kRWRpdCgpe1xyXG4gICAgIHRoaXMucmVhZE9ubHkgPSBmYWxzZTtcclxuICAgICB0aGlzLnZpZXdFZGl0ID0gdHJ1ZTtcclxuICB9XHJcbiAgZGlzbWlzc01vZGFsKCl7XHJcbiAgICB0aGlzLkFjdGl2ZW1vZGFsLmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIHAtMFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJtYi0zXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL1JlbW90ZUljb24ucG5nXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgaGVhZGVyIG1iLTJcIj5UYWtlIHJlbW90ZTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyIG1iLTJcIj5QbGVhc2UgZW50ZXIgdGhlIGNyZWRlbnRpYWxzPC9zcGFuPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+ICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInZpZXdhbmRFZGl0KClcIiBbZGlzYWJsZWRdPVwicmVhZE9ubHkgPT0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBteC0yIGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWwgcC0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzQxMTdfNTg5NjgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTkuMTY2MDIgMy4zMzM0NEgzLjMzMjY4QzIuODkwNjUgMy4zMzM0NCAyLjQ2NjczIDMuNTA5MDQgMi4xNTQxNyAzLjgyMTZDMS44NDE2MSA0LjEzNDE2IDEuNjY2MDIgNC41NTgwOCAxLjY2NjAyIDUuMDAwMTFWMTYuNjY2OEMxLjY2NjAyIDE3LjEwODggMS44NDE2MSAxNy41MzI3IDIuMTU0MTcgMTcuODQ1M0MyLjQ2NjczIDE4LjE1NzggMi44OTA2NSAxOC4zMzM0IDMuMzMyNjggMTguMzMzNEgxNC45OTkzQzE1LjQ0MTQgMTguMzMzNCAxNS44NjUzIDE4LjE1NzggMTYuMTc3OSAxNy44NDUzQzE2LjQ5MDQgMTcuNTMyNyAxNi42NjYgMTcuMTA4OCAxNi42NjYgMTYuNjY2OFYxMC44MzM0TTE1LjQxNiAyLjA4MzQ0QzE1Ljc0NzUgMS43NTE5MiAxNi4xOTcyIDEuNTY1NjcgMTYuNjY2IDEuNTY1NjdDMTcuMTM0OSAxLjU2NTY3IDE3LjU4NDUgMS43NTE5MiAxNy45MTYgMi4wODM0NEMxOC4yNDc1IDIuNDE0OTYgMTguNDMzOCAyLjg2NDYgMTguNDMzOCAzLjMzMzQ0QzE4LjQzMzggMy44MDIyOCAxOC4yNDc1IDQuMjUxOTIgMTcuOTE2IDQuNTgzNDRMOS45OTkzNSAxMi41MDAxTDYuNjY2MDIgMTMuMzMzNEw3LjQ5OTM1IDEwLjAwMDFMMTUuNDE2IDIuMDgzNDRaXCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQxMTdfNTg5NjhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwibXlGb3JtXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiVXNlcm5hbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5Vc2VyIE5hbWU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCBbbmdDbGFzc109XCJyZWFkT25seT8nYmctcmVhZG9ubHknOicnXCIgdHlwZT1cImVtYWlsXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cIlVzZXJuYW1lXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGVza0lkXCIgW3JlYWRvbmx5XT1cInJlYWRPbmx5XCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXZpZXdFZGl0XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1wcmltYXJ5IHctMTAwIG1lLTJcIiAoY2xpY2spPVwiZGlzbWlzc01vZGFsKClcIj5Pa2V5PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidmlld0VkaXRcIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4tb3V0bGluZSB3LTUwIG1lLTJcIiAoY2xpY2spPVwiY2FuY2VsUmVtb3RlKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctNTAgbXMtMlwiPiBTdWJtaXQgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9mb3JtPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFrZXJlbW90ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL2NvbXBvbmVudHMvdGFrZXJlbW90ZS90YWtlcmVtb3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy90YWtlcmVtb3RlL3Rha2VyZW1vdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVdwRSxNQUFNLE9BQU8sbUJBQW1CO0lBUVQ7SUFDWDtJQUNBO0lBVFYsTUFBTSxDQUFZO0lBQ2xCLFFBQVEsR0FBVyxJQUFJLENBQUM7SUFDeEIsUUFBUSxHQUFXLEtBQUssQ0FBQztJQUN6QixJQUFJLEdBQVksS0FBSyxDQUFDO0lBQ3RCLE1BQU0sQ0FBTTtJQUNILFlBQVksQ0FBSztJQUUxQixZQUFxQixXQUEwQixFQUNyQyxPQUFzQixFQUN0QixLQUFrQjtRQUZQLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBQ3JDLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFDdEIsVUFBSyxHQUFMLEtBQUssQ0FBYTtRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQzFCLE1BQU0sRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3JDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0wsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxTQUFTO1FBQ1AsSUFBSSxJQUFJLEdBQUc7WUFDVCxjQUFjLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztTQUN0QyxDQUFBO1FBQ0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2hFLElBQUksRUFBQyxDQUFDLEdBQU8sRUFBQyxFQUFFO2dCQUNkLElBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUcsR0FBRyxFQUFDO29CQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUM7b0JBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7b0JBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtpQkFDbEM7WUFDSCxDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksR0FBRztZQUNQLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLFNBQVM7WUFDekMsVUFBVSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUTtZQUN2QyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLO1NBQ3hELENBQUE7UUFDRCxJQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDbkUsSUFBSSxFQUFDLENBQUMsR0FBTyxFQUFDLEVBQUU7b0JBQ2QsSUFBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUM7d0JBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7d0JBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtxQkFDeEM7eUJBQUk7d0JBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO3FCQUN0QztnQkFDSCxDQUFDO2dCQUNELEtBQUssRUFBQyxDQUFDLEdBQUcsRUFBQyxFQUFFO29CQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDckMsQ0FBQzthQUNGLENBQUMsQ0FBQTtTQUNIO2FBQUk7U0FFSjtJQUNILENBQUM7SUFDRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUNDLFlBQVk7UUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBQ0QsV0FBVztRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO3VHQXZFVSxtQkFBbUI7MkZBQW5CLG1CQUFtQixnR0NaaEMsd2xHQTJDQTs7MkZEL0JhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxnQkFBZ0I7MklBVWpCLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IFRpY2tldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0LWluZnJhLnNlcnZpY2UnO1xyXG4vLyBpbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICdwcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9wdWJsaWMtYXBpJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YWtlcmVtb3RlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFrZXJlbW90ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3Rha2VyZW1vdGUuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWtlcmVtb3RlQ29tcG9uZW50IHtcclxuICBteUZvcm06IEZvcm1Hcm91cDtcclxuICByZWFkT25seTpib29sZWFuID0gdHJ1ZTtcclxuICB2aWV3RWRpdDpib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvdzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHJlbW90ZTogYW55O1xyXG4gIEBJbnB1dCgpIHN0b3JlRGV0YWlsczphbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCBwcml2YXRlIEFjdGl2ZW1vZGFsOk5nYkFjdGl2ZU1vZGFsLFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOlRpY2tldHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdDpUb2FzdFNlcnZpY2UpIHsgXHJcbiAgICB0aGlzLm15Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgICBkZXNrSWQ6IG5ldyBGb3JtQ29udHJvbCh0aGlzLnJlbW90ZSksIFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpe1xyXG4gICAgIHRoaXMuZ2V0UmVtb3RlKCk7XHJcbiAgfVxyXG4gIGdldFJlbW90ZSgpe1xyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIHNlbGVjdGVkRmllbGRzOiBbXCJzdG9yZUNvbm5lY3Rpb25JZFwiXVxyXG4gICAgfVxyXG4gICAgICB0aGlzLnNlcnZpY2UuZ2V0UmVtb3RlKHRoaXMuc3RvcmVEZXRhaWxzPy5zdG9yZUlkLGRhdGEpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDoocmVzOmFueSk9PiB7XHJcbiAgICAgICAgICBpZihyZXMgJiYgcmVzLmNvZGUgPT0yMDApe1xyXG4gICAgICAgICAgICB0aGlzLnJlbW90ZSA9IHJlcz8uZGF0YT8uc3RvcmVDb25uZWN0aW9uSWQ7XHJcbiAgICAgICAgICAgIHRoaXMubXlGb3JtLmdldCgnZGVza0lkJyk/LnNldFZhbHVlKHRoaXMucmVtb3RlKVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygncmVtb3RlJyx0aGlzLnJlbW90ZSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICBcInN0b3JlTmFtZVwiOiB0aGlzLnN0b3JlRGV0YWlscz8uc3RvcmVOYW1lLFxyXG4gICAgICAgIFwiY2xpZW50SWRcIjogdGhpcy5zdG9yZURldGFpbHM/LmNsaWVudElkLFxyXG4gICAgICAgIFwic3RvcmVDb25uZWN0aW9uSWRcIjogdGhpcy5teUZvcm0uZ2V0KCdkZXNrSWQnKT8udmFsdWVcclxuICAgIH1cclxuICAgIGlmKHRoaXMubXlGb3JtLnZhbGlkKXtcclxuICAgICAgdGhpcy5zZXJ2aWNlLnVwZGF0ZVJlbW90ZSh0aGlzLnN0b3JlRGV0YWlscz8uc3RvcmVJZCxkYXRhKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6KHJlczphbnkpPT4ge1xyXG4gICAgICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09IDIwMCl7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlcylcclxuICAgICAgICAgICAgdGhpcy50b2FzdC5nZXRTdWNjZXNzVG9hc3QocmVzLm1lc3NhZ2UpXHJcbiAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy50b2FzdC5nZXRFcnJvclRvYXN0KHJlcy5tZXNzYWdlKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6KGVycik9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0LmdldEVycm9yVG9hc3QoZXJyLkVycm9yKVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pXHJcbiAgICB9ZWxzZXtcclxuICAgIFxyXG4gICAgfVxyXG4gIH1cclxuICBzaG93UGFzc3dvcmQoKSB7XHJcbiAgICB0aGlzLnNob3cgPSAhdGhpcy5zaG93O1xyXG59XHJcbiAgY2FuY2VsUmVtb3RlKCl7XHJcbiAgICB0aGlzLnJlYWRPbmx5ID0gdHJ1ZTtcclxuICAgIHRoaXMudmlld0VkaXQgPSBmYWxzZTtcclxuICB9XHJcbiAgdmlld2FuZEVkaXQoKXtcclxuICAgICB0aGlzLnJlYWRPbmx5ID0gZmFsc2U7XHJcbiAgICAgdGhpcy52aWV3RWRpdCA9IHRydWU7XHJcbiAgfVxyXG4gIGRpc21pc3NNb2RhbCgpe1xyXG4gICAgdGhpcy5BY3RpdmVtb2RhbC5jbG9zZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBwLTBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwibWItM1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9SZW1vdGVJY29uLnBuZ1wiPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIGhlYWRlciBtYi0yXCI+VGFrZSByZW1vdGU8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlciBtYi0yXCI+UGxlYXNlIGVudGVyIHRoZSBjcmVkZW50aWFsczwvc3Bhbj5cclxuICAgICAgICA8L2gzPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPiAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJ2aWV3YW5kRWRpdCgpXCIgW2Rpc2FibGVkXT1cInJlYWRPbmx5ID09IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgbXgtMiBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsIHAtMlwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80MTE3XzU4OTY4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk05LjE2NjAyIDMuMzMzNDRIMy4zMzI2OEMyLjg5MDY1IDMuMzMzNDQgMi40NjY3MyAzLjUwOTA0IDIuMTU0MTcgMy44MjE2QzEuODQxNjEgNC4xMzQxNiAxLjY2NjAyIDQuNTU4MDggMS42NjYwMiA1LjAwMDExVjE2LjY2NjhDMS42NjYwMiAxNy4xMDg4IDEuODQxNjEgMTcuNTMyNyAyLjE1NDE3IDE3Ljg0NTNDMi40NjY3MyAxOC4xNTc4IDIuODkwNjUgMTguMzMzNCAzLjMzMjY4IDE4LjMzMzRIMTQuOTk5M0MxNS40NDE0IDE4LjMzMzQgMTUuODY1MyAxOC4xNTc4IDE2LjE3NzkgMTcuODQ1M0MxNi40OTA0IDE3LjUzMjcgMTYuNjY2IDE3LjEwODggMTYuNjY2IDE2LjY2NjhWMTAuODMzNE0xNS40MTYgMi4wODM0NEMxNS43NDc1IDEuNzUxOTIgMTYuMTk3MiAxLjU2NTY3IDE2LjY2NiAxLjU2NTY3QzE3LjEzNDkgMS41NjU2NyAxNy41ODQ1IDEuNzUxOTIgMTcuOTE2IDIuMDgzNDRDMTguMjQ3NSAyLjQxNDk2IDE4LjQzMzggMi44NjQ2IDE4LjQzMzggMy4zMzM0NEMxOC40MzM4IDMuODAyMjggMTguMjQ3NSA0LjI1MTkyIDE3LjkxNiA0LjU4MzQ0TDkuOTk5MzUgMTIuNTAwMUw2LjY2NjAyIDEzLjMzMzRMNy40OTkzNSAxMC4wMDAxTDE1LjQxNiAyLjA4MzQ0WlwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF80MTE3XzU4OTY4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cIm15Rm9ybVwiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlVzZXJuYW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QW55IGRlc2sgSUQgLyBUZWFtIHZpZXdlcjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IFtuZ0NsYXNzXT1cInJlYWRPbmx5PydiZy1yZWFkb25seSc6JydcIiB0eXBlPVwiZW1haWxcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiVXNlcm5hbWVcIiBmb3JtQ29udHJvbE5hbWU9XCJkZXNrSWRcIiBbcmVhZG9ubHldPVwicmVhZE9ubHlcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhdmlld0VkaXRcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLXByaW1hcnkgdy0xMDAgbWUtMlwiIChjbGljayk9XCJkaXNtaXNzTW9kYWwoKVwiPk9rYXk8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ2aWV3RWRpdFwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1vdXRsaW5lIHctNTAgbWUtMlwiIChjbGljayk9XCJjYW5jZWxSZW1vdGUoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgdy01MCBtcy0yXCI+IFN1Ym1pdCA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Zvcm0+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "tango-app-ui-metronics";
3
+ import * as i1 from "tango-app-ui-global";
4
4
  import * as i2 from "@angular/router";
5
5
  import * as i3 from "@angular/common";
6
6
  export class TangoTicketUsersComponent {
@@ -31,11 +31,11 @@ export class TangoTicketUsersComponent {
31
31
  Selectedtabs(value) {
32
32
  this.SelectedTab = value;
33
33
  }
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoTicketUsersComponent, deps: [{ token: i1.PageInfoService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
35
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: TangoTicketUsersComponent, selector: "lib-tango-ticket-users", ngImport: i0, template: "<div class=\"card mb-5 py-3 px-5\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('installation')\">\r\n <a [routerLink]=\"['/tickets/users/infra']\" [queryParams]=\"{ type: 'installation' }\"\r\n [ngClass]=\"SelectedTab === 'installation' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Installation\r\n </a>\r\n </li>\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('infra')\">\r\n <a [routerLink]=\"['/tickets/users/infra']\" [queryParams]=\"{ type: 'infra' }\"\r\n [ngClass]=\"SelectedTab === 'infra' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Infra\r\n </a>\r\n </li> \r\n <li class=\"nav-item\" (click)=\"Selectedtabs('datamismatch')\">\r\n <a [ngClass]=\"SelectedTab ==='datamismatch' ? 'active' :''\" class=\"nav-link cursor-pointer me-3\">Data Mismatch</a>\r\n </li>\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('audit')\"><a [ngClass]=\"SelectedTab ==='audit' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Audit</a>\r\n </li>\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('training')\"><a [ngClass]=\"SelectedTab ==='training' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Employee Training</a>\r\n </li>\r\n </ul>\r\n</div>\r\n<router-outlet></router-outlet>", styles: [".nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: TangoTicketUsersComponent, deps: [{ token: i1.PageInfoService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
35
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: TangoTicketUsersComponent, selector: "lib-tango-ticket-users", ngImport: i0, template: "<div class=\"card mb-5 py-3 px-5\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('installation')\">\r\n <a [routerLink]=\"['/tickets/users/infra']\" [queryParams]=\"{ type: 'installation' }\"\r\n [ngClass]=\"SelectedTab === 'installation' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Installation\r\n </a>\r\n </li>\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('infra')\">\r\n <a [routerLink]=\"['/tickets/users/infra']\" [queryParams]=\"{ type: 'infra' }\"\r\n [ngClass]=\"SelectedTab === 'infra' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Infra\r\n </a>\r\n </li> \r\n <li class=\"nav-item\" (click)=\"Selectedtabs('datamismatch')\">\r\n <a [ngClass]=\"SelectedTab ==='datamismatch' ? 'active' :''\" class=\"nav-link cursor-pointer me-3\">Data Mismatch</a>\r\n </li>\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('audit')\"><a [ngClass]=\"SelectedTab ==='audit' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Audit</a>\r\n </li>\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('training')\"><a [ngClass]=\"SelectedTab ==='training' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Employee Training</a>\r\n </li>\r\n </ul>\r\n</div>\r\n<router-outlet></router-outlet>", styles: [".nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoTicketUsersComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: TangoTicketUsersComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{ selector: 'lib-tango-ticket-users', template: "<div class=\"card mb-5 py-3 px-5\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('installation')\">\r\n <a [routerLink]=\"['/tickets/users/infra']\" [queryParams]=\"{ type: 'installation' }\"\r\n [ngClass]=\"SelectedTab === 'installation' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Installation\r\n </a>\r\n </li>\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('infra')\">\r\n <a [routerLink]=\"['/tickets/users/infra']\" [queryParams]=\"{ type: 'infra' }\"\r\n [ngClass]=\"SelectedTab === 'infra' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Infra\r\n </a>\r\n </li> \r\n <li class=\"nav-item\" (click)=\"Selectedtabs('datamismatch')\">\r\n <a [ngClass]=\"SelectedTab ==='datamismatch' ? 'active' :''\" class=\"nav-link cursor-pointer me-3\">Data Mismatch</a>\r\n </li>\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('audit')\"><a [ngClass]=\"SelectedTab ==='audit' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Audit</a>\r\n </li>\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('training')\"><a [ngClass]=\"SelectedTab ==='training' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Employee Training</a>\r\n </li>\r\n </ul>\r\n</div>\r\n<router-outlet></router-outlet>", styles: [".nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}\n"] }]
40
40
  }], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i2.ActivatedRoute }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tdGlja2V0LXVzZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy90YW5nby10aWNrZXQtdXNlcnMvdGFuZ28tdGlja2V0LXVzZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy90YW5nby10aWNrZXQtdXNlcnMvdGFuZ28tdGlja2V0LXVzZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBU2xELE1BQU0sT0FBTyx5QkFBeUI7SUFHMUI7SUFBa0M7SUFGNUMsV0FBVyxHQUFLLE9BQU8sQ0FBQTtJQUN2QixZQUNVLFFBQXlCLEVBQVMsS0FBcUI7UUFBdkQsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtJQUUvRCxDQUFDO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4QyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQy9CLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztZQUMzQixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7WUFDekUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO1NBQ3pFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBUztRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO3VHQTFCVSx5QkFBeUI7MkZBQXpCLHlCQUF5Qiw4RENUdEMsNGpEQXlCK0I7OzJGRGhCbEIseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLW1ldHJvbmljcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YW5nby10aWNrZXQtdXNlcnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YW5nby10aWNrZXQtdXNlcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90YW5nby10aWNrZXQtdXNlcnMuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYW5nb1RpY2tldFVzZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBTZWxlY3RlZFRhYjphbnk9J2luZnJhJ1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwYWdlSW5mbzogUGFnZUluZm9TZXJ2aWNlLHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKXtcclxuXHJcbiAgICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICBpZiAocGFyYW1zLmhhc093blByb3BlcnR5KCd0eXBlJykpIHtcclxuICAgICAgICAgIGNvbnN0IHR5cGUgPSBwYXJhbXNbJ3R5cGUnXTtcclxuICAgICAgICAgIHRoaXMuU2VsZWN0ZWR0YWJzKHR5cGUpOyBcclxuICAgICAgfVxyXG4gIH0pO1xyXG4gICAgdGhpcy5zZXRQYWdlRGF0YSgpO1xyXG4gIH1cclxuICBzZXRQYWdlRGF0YSgpIHtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0VGl0bGUoXCJVc2Vyc1wiKTtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0RGVzY3JpcHRpb24oXCJUbyBvcHRpbWl6ZSBhbmQgaW1wcm92ZSBleGlzdGluZyBhbGdvcml0aG1cIik7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICAgICAgeyB0aXRsZTogXCJNYW5hZ2VcIiwgcGF0aDogXCIvbWFuYWdlXCIsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6IFwiTWFuYWdlXCIsIHBhdGg6IFwiL21hbmFnZVwiLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiB0cnVlIH0sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIFNlbGVjdGVkdGFicyh2YWx1ZTphbnkpe1xyXG4gICAgdGhpcy5TZWxlY3RlZFRhYiA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmQgbWItNSBweS0zIHB4LTVcIj5cclxuICAgIDx1bCBjbGFzcz1cIm5hdiBuYXYtc3RyZXRjaCBuYXYtbGluZS10YWJzMSBuYXYtbGluZS10YWJzIGJvcmRlci10cmFuc3BhcmVudCBmbGV4LW5vd3JhcFwiPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgKGNsaWNrKT1cIlNlbGVjdGVkdGFicygnaW5zdGFsbGF0aW9uJylcIj5cclxuICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvdGlja2V0cy91c2Vycy9pbmZyYSddXCIgW3F1ZXJ5UGFyYW1zXT1cInsgdHlwZTogJ2luc3RhbGxhdGlvbicgfVwiXHJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlNlbGVjdGVkVGFiID09PSAnaW5zdGFsbGF0aW9uJyA/ICdhY3RpdmUnIDogJydcIiBjbGFzcz1cIm5hdi1saW5rIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS0zXCI+XHJcbiAgICAgICAgICAgICAgICBJbnN0YWxsYXRpb25cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiAoY2xpY2spPVwiU2VsZWN0ZWR0YWJzKCdpbmZyYScpXCI+XHJcbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL3RpY2tldHMvdXNlcnMvaW5mcmEnXVwiIFtxdWVyeVBhcmFtc109XCJ7IHR5cGU6ICdpbmZyYScgfVwiXHJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlNlbGVjdGVkVGFiID09PSAnaW5mcmEnID8gJ2FjdGl2ZScgOiAnJ1wiIGNsYXNzPVwibmF2LWxpbmsgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTNcIj5cclxuICAgICAgICAgICAgICAgIEluZnJhXHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2xpPiAgICBcclxuICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiIChjbGljayk9XCJTZWxlY3RlZHRhYnMoJ2RhdGFtaXNtYXRjaCcpXCI+XHJcbiAgICAgICAgICAgIDxhIFtuZ0NsYXNzXT1cIlNlbGVjdGVkVGFiID09PSdkYXRhbWlzbWF0Y2gnID8gJ2FjdGl2ZScgOicnXCIgY2xhc3M9XCJuYXYtbGluayBjdXJzb3ItcG9pbnRlciBtZS0zXCI+RGF0YSBNaXNtYXRjaDwvYT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgKGNsaWNrKT1cIlNlbGVjdGVkdGFicygnYXVkaXQnKVwiPjxhIFtuZ0NsYXNzXT1cIlNlbGVjdGVkVGFiID09PSdhdWRpdCcgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS0zXCI+QXVkaXQ8L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiIChjbGljayk9XCJTZWxlY3RlZHRhYnMoJ3RyYWluaW5nJylcIj48YSBbbmdDbGFzc109XCJTZWxlY3RlZFRhYiA9PT0ndHJhaW5pbmcnID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBjdXJzb3ItcG9pbnRlciBuby1ib3JkZXIgbWUtM1wiPkVtcGxveWVlIFRyYWluaW5nPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG48L2Rpdj5cclxuPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tdGlja2V0LXVzZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy90YW5nby10aWNrZXQtdXNlcnMvdGFuZ28tdGlja2V0LXVzZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy90YW5nby10aWNrZXQtdXNlcnMvdGFuZ28tdGlja2V0LXVzZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBU2xELE1BQU0sT0FBTyx5QkFBeUI7SUFHMUI7SUFBa0M7SUFGNUMsV0FBVyxHQUFLLE9BQU8sQ0FBQTtJQUN2QixZQUNVLFFBQXlCLEVBQVMsS0FBcUI7UUFBdkQsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtJQUUvRCxDQUFDO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4QyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQy9CLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztZQUMzQixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7WUFDekUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO1NBQ3pFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBUztRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO3VHQTFCVSx5QkFBeUI7MkZBQXpCLHlCQUF5Qiw4RENUdEMsNGpEQXlCK0I7OzJGRGhCbEIseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YW5nby10aWNrZXQtdXNlcnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YW5nby10aWNrZXQtdXNlcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90YW5nby10aWNrZXQtdXNlcnMuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYW5nb1RpY2tldFVzZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBTZWxlY3RlZFRhYjphbnk9J2luZnJhJ1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwYWdlSW5mbzogUGFnZUluZm9TZXJ2aWNlLHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKXtcclxuXHJcbiAgICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICBpZiAocGFyYW1zLmhhc093blByb3BlcnR5KCd0eXBlJykpIHtcclxuICAgICAgICAgIGNvbnN0IHR5cGUgPSBwYXJhbXNbJ3R5cGUnXTtcclxuICAgICAgICAgIHRoaXMuU2VsZWN0ZWR0YWJzKHR5cGUpOyBcclxuICAgICAgfVxyXG4gIH0pO1xyXG4gICAgdGhpcy5zZXRQYWdlRGF0YSgpO1xyXG4gIH1cclxuICBzZXRQYWdlRGF0YSgpIHtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0VGl0bGUoXCJVc2Vyc1wiKTtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0RGVzY3JpcHRpb24oXCJUbyBvcHRpbWl6ZSBhbmQgaW1wcm92ZSBleGlzdGluZyBhbGdvcml0aG1cIik7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICAgICAgeyB0aXRsZTogXCJNYW5hZ2VcIiwgcGF0aDogXCIvbWFuYWdlXCIsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6IFwiTWFuYWdlXCIsIHBhdGg6IFwiL21hbmFnZVwiLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiB0cnVlIH0sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIFNlbGVjdGVkdGFicyh2YWx1ZTphbnkpe1xyXG4gICAgdGhpcy5TZWxlY3RlZFRhYiA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmQgbWItNSBweS0zIHB4LTVcIj5cclxuICAgIDx1bCBjbGFzcz1cIm5hdiBuYXYtc3RyZXRjaCBuYXYtbGluZS10YWJzMSBuYXYtbGluZS10YWJzIGJvcmRlci10cmFuc3BhcmVudCBmbGV4LW5vd3JhcFwiPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgKGNsaWNrKT1cIlNlbGVjdGVkdGFicygnaW5zdGFsbGF0aW9uJylcIj5cclxuICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvdGlja2V0cy91c2Vycy9pbmZyYSddXCIgW3F1ZXJ5UGFyYW1zXT1cInsgdHlwZTogJ2luc3RhbGxhdGlvbicgfVwiXHJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlNlbGVjdGVkVGFiID09PSAnaW5zdGFsbGF0aW9uJyA/ICdhY3RpdmUnIDogJydcIiBjbGFzcz1cIm5hdi1saW5rIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS0zXCI+XHJcbiAgICAgICAgICAgICAgICBJbnN0YWxsYXRpb25cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiAoY2xpY2spPVwiU2VsZWN0ZWR0YWJzKCdpbmZyYScpXCI+XHJcbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL3RpY2tldHMvdXNlcnMvaW5mcmEnXVwiIFtxdWVyeVBhcmFtc109XCJ7IHR5cGU6ICdpbmZyYScgfVwiXHJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlNlbGVjdGVkVGFiID09PSAnaW5mcmEnID8gJ2FjdGl2ZScgOiAnJ1wiIGNsYXNzPVwibmF2LWxpbmsgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTNcIj5cclxuICAgICAgICAgICAgICAgIEluZnJhXHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2xpPiAgICBcclxuICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiIChjbGljayk9XCJTZWxlY3RlZHRhYnMoJ2RhdGFtaXNtYXRjaCcpXCI+XHJcbiAgICAgICAgICAgIDxhIFtuZ0NsYXNzXT1cIlNlbGVjdGVkVGFiID09PSdkYXRhbWlzbWF0Y2gnID8gJ2FjdGl2ZScgOicnXCIgY2xhc3M9XCJuYXYtbGluayBjdXJzb3ItcG9pbnRlciBtZS0zXCI+RGF0YSBNaXNtYXRjaDwvYT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgKGNsaWNrKT1cIlNlbGVjdGVkdGFicygnYXVkaXQnKVwiPjxhIFtuZ0NsYXNzXT1cIlNlbGVjdGVkVGFiID09PSdhdWRpdCcgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS0zXCI+QXVkaXQ8L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiIChjbGljayk9XCJTZWxlY3RlZHRhYnMoJ3RyYWluaW5nJylcIj48YSBbbmdDbGFzc109XCJTZWxlY3RlZFRhYiA9PT0ndHJhaW5pbmcnID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBjdXJzb3ItcG9pbnRlciBuby1ib3JkZXIgbWUtM1wiPkVtcGxveWVlIFRyYWluaW5nPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG48L2Rpdj5cclxuPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PiJdfQ==