tango-app-ui-store-ticket-infra 3.0.18-dev → 3.0.19-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.
@@ -28,6 +28,7 @@ export class DataMismatchComponent {
28
28
  { actionBy: 'Tango', IdentifiedBy: 'Tango', actionType: 'dataRecived' },
29
29
  { actionBy: 'User', IdentifiedBy: 'User', actionType: 'Comment' }];
30
30
  selectCard;
31
+ clientId;
31
32
  constructor(router, gs, route, cd, modalService) {
32
33
  this.router = router;
33
34
  this.gs = gs;
@@ -41,6 +42,7 @@ export class DataMismatchComponent {
41
42
  this.gs.dataRangeValue.pipe(takeUntil(this.destroy$)).subscribe((data) => {
42
43
  if (data != null) {
43
44
  this.headerFilter = data;
45
+ this.clientId = this.headerFilter?.client;
44
46
  this.cd.detectChanges();
45
47
  }
46
48
  });
@@ -57,9 +59,10 @@ export class DataMismatchComponent {
57
59
  createTicket() {
58
60
  const modalRef = this.modalService.open(CreateTicketComponent, {
59
61
  centered: true,
60
- size: "xl",
62
+ size: "lg",
61
63
  scrollable: true,
62
64
  });
65
+ modalRef.componentInstance.clientId = this.clientId;
63
66
  modalRef.result.then((result) => {
64
67
  });
65
68
  }
@@ -75,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
75
78
  type: Component,
76
79
  args: [{ selector: 'lib-data-mismatch', template: "<div class=\"card mb-3\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Data Mismatch</span>\r\n <span class=\"text-sub mb-2\">An overview of all the tickets for {{headerFilter?.date?.startDate |\r\n customDateFormat}} - {{headerFilter?.date?.endDate | customDateFormat}}</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n\r\n <button type=\"button\" (click)=\"createTicket()\"\r\n class=\"btn btn-primary mx-2 rounded-3 text-nowrap border-val\">\r\n <span class=\"ms-2\">Create Ticket</span> </button>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"maincard-content\">\r\n <div class=\"row p-10\">\r\n <div class=\"col-sm-6 cursor-pointer \">\r\n <!-- <ng-container *ngIf=\"storeListLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"storeListNodata\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container> -->\r\n <div *ngFor=\"let data of ticketList;let index = index\" (click)=\"ShowTicket(data.ticketId,index)\" \r\n [ngClass]=\"(selectCard ? selectCard : 0) === index ? 'active' : ''\" class=\"issuecard w-100 mb-4\">\r\n <div class=\"maincard-label fw-bold d-flex justify-content-between mb-5\"><span> <img\r\n src='./assets/tango/Images/ticket.svg'>\r\n {{data.ticketId}}</span> <span class=\"badge badge-light-success\" [ngClass]=\"data.status === 'closed' ? 'badge-light-success' :(data.status === 'inprogress' ? 'badge-light-primary':'badge-light-warning')\">{{data.status | titlecase}}</span>\r\n \r\n </div>\r\n<div class=\"count-type my-2\">Low Count</div>\r\n <div *ngIf=\"data.issueStatus === 'notidentified'\" class=\"mb-5 contenttext fw-semibold\">\r\n We have not received data from your store. We are currently investigating the issue.\r\n </div>\r\n <div *ngIf=\"data.issueStatus ==='identified'\" class=\"mb-5 contenttext fw-semibold\">Store is\r\n currently encountering a <span class=\"fw-bold-700\">{{data.primaryIssue}}</span> which is\r\n <span *ngFor=\"let secondary of data.secondaryIssue; let last = last\"\r\n class=\"fw-bold-700\">{{secondary?.name}}<ng-container *ngIf=\"!last\"> ,</ng-container>\r\n </span>.\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"profile d-flex align-items-centre justify-content-centre\">\r\n <img src=\"./assets/tango/Images/userProfile.svg\" alt=\"\">\r\n </div>\r\n <div class=\"d-flex justify-content-between\">\r\n <span ><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"14\"\r\n viewBox=\"0 0 17 14\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M5.94602 4.98881L2.66602 6.33881L2.00602 6.07881L0.666016 2.83881L1.58602 2.45881L2.39602 4.40881C2.93977 3.04801 3.92872 1.91169 5.20145 1.18532C6.47419 0.458951 7.95554 0.185426 9.40375 0.409387C10.852 0.633349 12.1815 1.34157 13.1754 2.41846C14.1692 3.49535 14.7687 4.87732 14.876 6.33881H13.876C13.7616 5.09008 13.2224 3.91836 12.3484 3.01919C11.4743 2.12003 10.3184 1.54781 9.0734 1.39804C7.82842 1.24826 6.56973 1.53 5.50739 2.19622C4.44505 2.86244 3.64332 3.87284 3.23602 5.05881L5.55602 4.05881L5.94602 4.98881ZM14.806 7.66881L16.146 10.8988L15.226 11.3388L14.406 9.33881C13.858 10.7049 12.8618 11.8442 11.581 12.5696C10.3001 13.295 8.81077 13.5634 7.35728 13.3309C5.9038 13.0983 4.57255 12.3786 3.582 11.2898C2.59145 10.2009 2.00046 8.80775 1.90602 7.33881H2.90602V6.83881C2.90882 8.12627 3.36402 9.3718 4.19203 10.3577C5.02005 11.3436 6.16821 12.0071 7.43584 12.2322C8.70346 12.4574 10.0099 12.2299 11.1268 11.5895C12.2437 10.9491 13.1 9.93655 13.546 8.72881L11.296 9.65881L10.906 8.73881L14.156 7.38881L14.806 7.66881Z\"\r\n fill=\"#98A2B3\" />\r\n <path\r\n d=\"M8.40625 7.54004C8.95853 7.54004 9.40625 7.09232 9.40625 6.54004C9.40625 5.98775 8.95853 5.54004 8.40625 5.54004C7.85397 5.54004 7.40625 5.98775 7.40625 6.54004C7.40625 7.09232 7.85397 7.54004 8.40625 7.54004Z\"\r\n fill=\"#98A2B3\" />\r\n </svg>\r\n </span>\r\n <span class=\"contenttext fw-semibold px-3\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M14 10C14 10.3536 13.8595 10.6928 13.6095 10.9428C13.3594 11.1929 13.0203 11.3333 12.6667 11.3333H4.66667L2 14V3.33333C2 2.97971 2.14048 2.64057 2.39052 2.39052C2.64057 2.14048 2.97971 2 3.33333 2H12.6667C13.0203 2 13.3594 2.14048 13.6095 2.39052C13.8595 2.64057 14 2.97971 14 3.33333V10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg><span class=\"mx-1\">12</span> comments </span>\r\n <span class=\"contenttext fw-semibold px-3\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M10.6667 1.33398V4.00065M5.33333 1.33398V4.00065M2 6.66732H14M3.33333 2.66732H12.6667C13.403 2.66732 14 3.26427 14 4.00065V13.334C14 14.0704 13.403 14.6673 12.6667 14.6673H3.33333C2.59695 14.6673 2 14.0704 2 13.334V4.00065C2 3.26427 2.59695 2.66732 3.33333 2.66732Z\"\r\n stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg><span class=\"mx-1\">12 Jan, 2024</span></span>\r\n <span *ngIf=\"data.status === 'closed'\" class=\"contenttext fw-semibold px-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M10.6667 1.33398V4.00065M5.33333 1.33398V4.00065M2 6.66732H14M3.33333 2.66732H12.6667C13.403 2.66732 14 3.26427 14 4.00065V13.334C14 14.0704 13.403 14.6673 12.6667 14.6673H3.33333C2.59695 14.6673 2 14.0704 2 13.334V4.00065C2 3.26427 2.59695 2.66732 3.33333 2.66732Z\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> {{data?.issueClosedDate | date:'dd-MM-yyyy' }} </span>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <!-- <div class=\"maincard-label fw-bold d-flex justify-content-between mb-10\">\r\n <span><img src='./assets/tango/Images/ticket.svg'><span\r\n class=\"mx-2\">{{ticketInfo?.ticketId}}</span></span>\r\n <span [ngClass]=\"ticketInfo.status === 'closed' ? 'badge-light-success' :(ticketInfo.status === 'inprogress' ? 'badge-light-primary':'badge-light-warning')\" class=\"badge badge-light-primary\">{{ticketInfo?.status | titlecase}}</span>\r\n </div> -->\r\n <div *ngFor=\"let obj of viewTicketData;let i=index\" class=\"\">\r\n <!-- User code start -->\r\n <div *ngIf=\"obj.actionBy === 'User'\" class=\"d-flex mb-5 ms-5\">\r\n <div *ngIf=\"obj.actionType !=='statusChange'\"\r\n class=\"d-flex flex-column justify-content-center align-items-center pe-3\">\r\n <div class=\"d-flex align-items-centre justify-content-centre\">\r\n <img class=\"msgprofile\"\r\n src=\"./assets/tango/Images/userProfile.svg\">\r\n </div>\r\n <div class=\"p-0 h-100 mt-3 border border-1 border-gray\" style=\"width:0px\"></div>\r\n </div>\r\n <div class=\"py-3 pt-0\">\r\n <div *ngIf=\"obj.actionType !=='statusChange'\">\r\n <div class=\"d-flex mb-3\">\r\n <span class=\"headingtext fw-bold text-capitalize\">{{obj?.IdentifiedBy?obj?.IdentifiedBy:\"Tango\"}}</span>\r\n <span class=\"timingtext px-3 pt-1 fw-bold-400\">{{obj?.timeStamp}}</span>\r\n </div>\r\n <span class=\"profile-label font-bold-400\">User has replied</span>\r\n </div>\r\n <div>\r\n <div class=\"textupdates fw-bold-400\" *ngIf=\"obj.statusCheckReply==='No'\"> It takes\r\n {{obj?.hibernationDays}} more days to resolve.</div>\r\n </div>\r\n <div *ngIf=\"obj.actionType ==='issueUpdate'\">\r\n <div *ngFor=\"let res of obj?.reasons\">\r\n <div class=\"textupdates fw-semibold mt-3\">\r\n We're currently encountering an <span\r\n class=\"fw-bold-700\">{{res.primaryIssue}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- User code end -->\r\n <!-- Tango code start -->\r\n <div *ngIf=\"obj.actionBy === 'Tango'\" class=\"d-flex mb-5 ms-5\">\r\n <div class=\"d-flex flex-column justify-content-center align-items-center pe-3\">\r\n <div class=\"d-flex align-items-centre justify-content-centre\">\r\n <div class=\"symbol symbol-35px symbol-circle\" *ngIf=\"obj?.IdentifiedBy&&obj?.IdentifiedBy!==''&&obj?.IdentifiedBy!=='Tango'\">\r\n <span class=\"symbol-label badge-light-primary text-symbol\">\r\n <span class=\"text-primary fs-4 badge badge-light-primary fw-normal\">\r\n {{obj?.IdentifiedBy?.slice(0,2) | uppercase }}\r\n </span>\r\n </span>\r\n </div>\r\n <img *ngIf=\"!obj?.IdentifiedBy||obj?.IdentifiedBy===''||obj?.IdentifiedBy==='Tango'\" class=\"msgprofile\" src=\"./assets/tango/Images/tangoprofile.png\">\r\n </div>\r\n <div class=\"p-0 h-100 mt-3 border border-1 border-gray\" style=\"width:0px\"></div>\r\n </div>\r\n \r\n <div class=\"py-3 pt-0\">\r\n <div class=\"d-flex mb-3\">\r\n <span class=\"headingtext fw-bold text-capitalize\">{{obj?.IdentifiedBy?obj?.IdentifiedBy:\"Tango\"}}</span>\r\n <span class=\"timingtext fw-bold-400 px-3 pt-1\">{{obj?.timeStamp}}</span>\r\n </div>\r\n <div class=\"mb-3\">\r\n <span class=\"profile-label fw-bold-400\">tango has replied to the\r\n issue</span>\r\n <div class=\"mt-2\" *ngIf=\"obj.actionType === 'dataRecived'\">\r\n <div class=\"textupdates1 d-flex align-content-center fw-semibold mt-3\">\r\n <img class=\"me-3 w-40px h-40px\" src=\"./assets/tango/Images/document.svg\">\r\n <span>\r\n Footfall Images.Zip<br><span class=\"timingtext fw-bold-400\">720 KB</span>\r\n </span> \r\n </div>\r\n </div>\r\n <div class=\"mt-2\" *ngIf=\"obj.actionType === 'comment'\">\r\n <span class=\"timingtext pe-3 pt-1 fw-bold-400\">{{obj?.comment}}</span>\r\n </div>\r\n <div class=\"mt-2\" *ngIf=\"obj.actionType === 'statusChange'\">\r\n <span class=\"timingtext pe-3 pt-1 fw-bold-400\">Raised <span\r\n class=\"timingtext fw-semibold text-primary\">Low Count Issue</span> in <span\r\n class=\"timingtext fw-semibold text-primary\">LKST-11089</span>\r\n </span>\r\n </div>\r\n <div *ngIf=\"obj.actionType ==='issueUpdate'\">\r\n <div *ngFor=\"let res of obj?.reasons\">\r\n <div class=\"textupdates fw-bold-400 mt-3\">\r\n We're currently encountering an <span\r\n class=\"fw-bold-700\">{{res.primaryIssue}}</span>\r\n </div>\r\n </div>\r\n <span class=\"timingtext pe-3 pt-1 fw-bold-400\">{{obj?.comment}}</span>\r\n </div>\r\n <div *ngIf=\"obj.actionType ==='stepsToResolve'\" class=\"mt-3\">\r\n <span class=\"textupdates fw-bold-400\">Please follow the below steps to resolve\r\n the above issue</span>\r\n <div *ngFor=\"let res of obj?.reasons\">\r\n <div class=\"mt-5\">\r\n <span class=\"headingtext fw-semibold mb-1\">{{res.primaryIssue}}</span>\r\n <ul class=\"timingtext fw-bold-400 mb-0\"\r\n *ngFor=\"let secIssues of res?.secondaryIssue\">\r\n <li>{{secIssues.name}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <!-- defaultInfra start -->\r\n <div *ngIf=\"obj.actionType ==='defaultInfra'\" class=\"contenttext fw-bold-400\">We have\r\n not\r\n received data from your store. We are currently investigating the issue</div>\r\n <!-- defaultInfra end -->\r\n </div>\r\n </div>\r\n <!-- Tango code end -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".card-label{font-size:18px!important}.roundedcheck input[type=checkbox]{width:16px!important;height:16px!important;border-radius:10px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.roundedcheck input[type=checkbox]:checked{outline:none;background-color:var(--primary-50, #00A3FF)}.roundedcheck input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid white;border-right:2px solid white;display:inline-block;width:4px;padding:5px 0 2px 3px;margin-top:2px}.issuecard{width:19%;border-radius:10px;border:1px solid var(--Gray-200, #EAECF0);padding:16px}.issuecard label{color:var(--Black, #101828);font-size:14px;line-height:20px}.issuecard.active{border:none!important;background:var(--Primary-25, #F6FCFF);box-shadow:0 0 0 4px #e9f7ff}.contenttext{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.maincard-content{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD)}.maincard-label{color:var(--Gray-900, #101828);font-size:16px;line-height:24px}.profile{width:24px;height:24px;overflow:hidden;border-radius:200px}.fw-bold-700{font-weight:700!important}.fw-bold-400{font-weight:400!important}.msgprofile{width:48px!important;height:48px!important;border-radius:200px;overflow:hidden}.timingtext{color:var(--Gray-500, #667085);font-size:14px;line-height:18px}.profile-label{font-size:12px;color:var(--Gray-500, #667085);line-height:18px}.investigation{color:var(--Gray-500, #667085);font-size:16px;line-height:24px}.openedissue{border-radius:6px;background:var(--Gray-50, #F9FAFB);padding:8px 12px}.w-45{width:49%}input,textarea{padding:10px 14px;border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d}::placeholder{color:var(--Gray-500, #667085);font-size:16px;font-weight:400;line-height:24px}textarea{min-height:128px}.textupdates{color:var(--Gray-700, #344054);font-size:16px;line-height:24px}.textupdates1{color:var(--Gray-700, #344054);font-size:14px;line-height:24px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.img-src{width:25%}.count-type{color:var(--Gray-900, #101828)!important;font-size:16px!important;font-weight:600;line-height:24px}\n"] }]
77
80
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.GlobalStateService }, { type: i1.ActivatedRoute }, { type: i0.ChangeDetectorRef }, { type: i3.NgbModal }] });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1taXNtYXRjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbWlzbWF0Y2gvZGF0YS1taXNtYXRjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbWlzbWF0Y2gvZGF0YS1taXNtYXRjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7QUFPakYsTUFBTSxPQUFPLHFCQUFxQjtJQWlCWjtJQUFzQjtJQUE4QjtJQUM5RDtJQUE0QjtJQWhCOUIsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDakMsT0FBTyxDQUFNO0lBQ2IsUUFBUSxDQUFNO0lBQ2QsWUFBWSxDQUFNO0lBQ2xCLFVBQVUsQ0FBSztJQUNmLGNBQWMsQ0FBTTtJQUNwQixVQUFVLEdBQU8sQ0FBQyxFQUFDLFFBQVEsRUFBQyxxQkFBcUIsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFdBQVcsRUFBQyxlQUFlLEVBQUMsWUFBWSxFQUFDLGlCQUFpQixFQUFDLGNBQWMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLHlCQUF5QixFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsY0FBYyxFQUFDLENBQUMsRUFBQztRQUNuTSxFQUFDLFFBQVEsRUFBQyxxQkFBcUIsRUFBQyxNQUFNLEVBQUMsWUFBWSxFQUFDLFdBQVcsRUFBQyxZQUFZLEVBQUMsWUFBWSxFQUFDLGVBQWUsRUFBQyxjQUFjLEVBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxjQUFjLEVBQUMsQ0FBQyxFQUFDO1FBQ2pKLEVBQUMsUUFBUSxFQUFDLHFCQUFxQixFQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsV0FBVyxFQUFDLFlBQVksRUFBQyxZQUFZLEVBQUMsb0JBQW9CLEVBQUMsY0FBYyxFQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsYUFBYSxFQUFDLENBQUMsRUFBQztRQUNqSixFQUFDLFFBQVEsRUFBQyxxQkFBcUIsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFdBQVcsRUFBQyxlQUFlLEVBQUMsWUFBWSxFQUFDLHdCQUF3QixFQUFDLGNBQWMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLHdCQUF3QixFQUFDLENBQUMsRUFBQyxDQUFDLENBQUE7SUFDbEssY0FBYyxHQUFPLENBQUMsRUFBQyxRQUFRLEVBQUMsT0FBTyxFQUFDLFlBQVksRUFBQyxPQUFPLEVBQUMsVUFBVSxFQUFDLGFBQWEsRUFBQztRQUNwRixFQUFDLFFBQVEsRUFBQyxNQUFNLEVBQUMsWUFBWSxFQUFDLE1BQU0sRUFBQyxVQUFVLEVBQUMsU0FBUyxFQUFDO1FBQzFELEVBQUMsUUFBUSxFQUFDLE9BQU8sRUFBQyxZQUFZLEVBQUMsT0FBTyxFQUFDLFVBQVUsRUFBQyxhQUFhLEVBQUM7UUFDaEUsRUFBQyxRQUFRLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxNQUFNLEVBQUMsVUFBVSxFQUFDLFNBQVMsRUFBQyxDQUFDLENBQUM7SUFDOUQsVUFBVSxDQUFNO0lBQ2hCLFlBQW9CLE1BQWEsRUFBUyxFQUFxQixFQUFTLEtBQW9CLEVBQ2xGLEVBQW9CLEVBQVEsWUFBc0I7UUFEeEMsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUFTLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUNsRixPQUFFLEdBQUYsRUFBRSxDQUFrQjtRQUFRLGlCQUFZLEdBQVosWUFBWSxDQUFVO0lBQzVELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFBO1FBQ3BFLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQTtRQUNqQyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQzVFLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtnQkFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUE7Z0JBQ3hCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUE7YUFDeEI7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDeEUsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO2dCQUNoQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQTthQUMzQjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDN0QsUUFBUSxFQUFFLElBQUk7WUFDZCxJQUFJLEVBQUUsSUFBSTtZQUNWLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUNILFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVMsRUFBQyxLQUFTO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLHlCQUF5QjtRQUN6Qix5QkFBeUI7SUFDM0IsQ0FBQzt1R0F4RFUscUJBQXFCOzJGQUFyQixxQkFBcUIseURDWGxDLHUya0JBNk5NOzsyRkRsTk8scUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENyZWF0ZVRpY2tldENvbXBvbmVudCB9IGZyb20gJy4uL2NyZWF0ZS10aWNrZXQvY3JlYXRlLXRpY2tldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZGF0YS1taXNtYXRjaCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtbWlzbWF0Y2guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9kYXRhLW1pc21hdGNoLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0YU1pc21hdGNoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveXtcclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgc3RvcmVJZDogYW55O1xyXG4gIHVzZXJUeXBlOiBhbnk7XHJcbiAgaGVhZGVyRmlsdGVyOiBhbnk7XHJcbiAgdGlja2V0SW5mbzphbnk7XHJcbiAgdXNlcnBlcm1pc3Npb246IGFueTtcclxuICB0aWNrZXRMaXN0OmFueSA9IFt7dGlja2V0SWQ6J1RFX0RNX0Y1NjQ1RzQ1MzRBMjQnLHN0YXR1czonb3BlbicsaXNzdWVTdGF0dXM6J25vdGlkZW50aWZpZWQnLHByaW1hcnlJc3N1ZTonSW50ZXJuZXQgSXNzdWVzJyxzZWNvbmRhcnlJc3N1ZTpbe25hbWU6J0NoZWNrIGNvbm5lY3Rpb24gSXNzdWVzJ30se25hbWU6J2NoZWNrIGNhYmxlcyd9XX0sXHJcbiAge3RpY2tldElkOidURV9ETV9GNTY0NUc0NTM0QTI1JyxzdGF0dXM6J0lucHJvZ3Jlc3MnLGlzc3VlU3RhdHVzOidpZGVudGlmaWVkJyxwcmltYXJ5SXNzdWU6J2NhbWVyYSBJc3N1ZXMnLHNlY29uZGFyeUlzc3VlOlt7bmFtZTonY2hlY2sgY2FibGVzJ31dfSxcclxuICB7dGlja2V0SWQ6J1RFX0RNX0Y1NjQ1RzQ1MzRBMjYnLHN0YXR1czonY2xvc2VkJyxpc3N1ZVN0YXR1czonaWRlbnRpZmllZCcscHJpbWFyeUlzc3VlOidBcHBsaWNhdGlvbiBJc3N1ZXMnLHNlY29uZGFyeUlzc3VlOlt7bmFtZTonY2xlYXIgY2FjaGUnfV19LFxyXG4gIHt0aWNrZXRJZDonVEVfRE1fRjU2NDVHNDUzNEEyNycsc3RhdHVzOidvcGVuJyxpc3N1ZVN0YXR1czonbm90aWRlbnRpZmllZCcscHJpbWFyeUlzc3VlOidTdG9yZSBPcGVyYXRpb24gSXNzdWVzJyxzZWNvbmRhcnlJc3N1ZTpbe25hbWU6J2NoZWNrIHN0b3JlIGNvbm5lY3Rpb24nfV19XVxyXG4gIHZpZXdUaWNrZXREYXRhOmFueSA9IFt7YWN0aW9uQnk6J1RhbmdvJyxJZGVudGlmaWVkQnk6J1RhbmdvJyxhY3Rpb25UeXBlOidkYXRhUmVjaXZlZCd9LFxyXG4gICAge2FjdGlvbkJ5OidVc2VyJyxJZGVudGlmaWVkQnk6J1VzZXInLGFjdGlvblR5cGU6J0NvbW1lbnQnfSxcclxuICAgIHthY3Rpb25CeTonVGFuZ28nLElkZW50aWZpZWRCeTonVGFuZ28nLGFjdGlvblR5cGU6J2RhdGFSZWNpdmVkJ30sXHJcbiAgICB7YWN0aW9uQnk6J1VzZXInLElkZW50aWZpZWRCeTonVXNlcicsYWN0aW9uVHlwZTonQ29tbWVudCd9XTtcclxuICBzZWxlY3RDYXJkOiBhbnk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6Um91dGVyLHByaXZhdGUgZ3M6R2xvYmFsU3RhdGVTZXJ2aWNlLHByaXZhdGUgcm91dGU6QWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmLHB1YmxpYyBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLCl7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGxldCB1c2VySW5mbyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXItaW5mbycpIHx8ICd7fScpXHJcbiAgICB0aGlzLnVzZXJUeXBlID0gdXNlckluZm8udXNlclR5cGVcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChkYXRhICE9IG51bGwpIHtcclxuICAgICAgICB0aGlzLmhlYWRlckZpbHRlciA9IGRhdGFcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgdGhpcy5ncy51c2VyQWNjZXNzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZGF0YSAhPSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy51c2VycGVybWlzc2lvbiA9IGRhdGFcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlVGlja2V0KCl7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oQ3JlYXRlVGlja2V0Q29tcG9uZW50LCB7XHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICBzaXplOiBcInhsXCIsXHJcbiAgICAgIHNjcm9sbGFibGU6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgU2hvd1RpY2tldCh2YWx1ZTphbnksaW5kZXg6YW55KXtcclxuICAgIHRoaXMuc2VsZWN0Q2FyZCA9IGluZGV4O1xyXG4gICAgLy8gdGhpcy50aWNrZXRJZCA9IHZhbHVlO1xyXG4gICAgLy8gdGhpcy5nZXRJbmZyYVRpY2tldCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBtYi0zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTJcIj5EYXRhIE1pc21hdGNoPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1iLTJcIj5BbiBvdmVydmlldyBvZiBhbGwgdGhlIHRpY2tldHMgZm9yIHt7aGVhZGVyRmlsdGVyPy5kYXRlPy5zdGFydERhdGUgfFxyXG4gICAgICAgICAgICAgICAgY3VzdG9tRGF0ZUZvcm1hdH19IC0ge3toZWFkZXJGaWx0ZXI/LmRhdGU/LmVuZERhdGUgfCBjdXN0b21EYXRlRm9ybWF0fX08L3NwYW4+XHJcbiAgICAgICAgPC9oMz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcblxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY3JlYXRlVGlja2V0KClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXgtMiByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+Q3JlYXRlIFRpY2tldDwvc3Bhbj4gPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbmNhcmQtY29udGVudFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHAtMTBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNiBjdXJzb3ItcG9pbnRlciBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9yZUxpc3RMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b3JlTGlzdE5vZGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGRhdGEgb2YgdGlja2V0TGlzdDtsZXQgaW5kZXggPSBpbmRleFwiIChjbGljayk9XCJTaG93VGlja2V0KGRhdGEudGlja2V0SWQsaW5kZXgpXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIihzZWxlY3RDYXJkID8gc2VsZWN0Q2FyZCA6IDApID09PSBpbmRleCA/ICdhY3RpdmUnIDogJydcIiBjbGFzcz1cImlzc3VlY2FyZCB3LTEwMCBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbmNhcmQtbGFiZWwgZnctYm9sZCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbWItNVwiPjxzcGFuPiA8aW1nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9Jy4vYXNzZXRzL3RhbmdvL0ltYWdlcy90aWNrZXQuc3ZnJz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZGF0YS50aWNrZXRJZH19PC9zcGFuPiA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3NcIiBbbmdDbGFzc109XCJkYXRhLnN0YXR1cyA9PT0gJ2Nsb3NlZCcgPyAnYmFkZ2UtbGlnaHQtc3VjY2VzcycgOihkYXRhLnN0YXR1cyA9PT0gJ2lucHJvZ3Jlc3MnID8gJ2JhZGdlLWxpZ2h0LXByaW1hcnknOidiYWRnZS1saWdodC13YXJuaW5nJylcIj57e2RhdGEuc3RhdHVzIHwgdGl0bGVjYXNlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJjb3VudC10eXBlIG15LTJcIj5Mb3cgQ291bnQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkYXRhLmlzc3VlU3RhdHVzID09PSAnbm90aWRlbnRpZmllZCdcIiBjbGFzcz1cIm1iLTUgY29udGVudHRleHQgZnctc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZSBoYXZlIG5vdCByZWNlaXZlZCBkYXRhIGZyb20geW91ciBzdG9yZS4gV2UgYXJlIGN1cnJlbnRseSBpbnZlc3RpZ2F0aW5nIHRoZSBpc3N1ZS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRhdGEuaXNzdWVTdGF0dXMgPT09J2lkZW50aWZpZWQnXCIgY2xhc3M9XCJtYi01IGNvbnRlbnR0ZXh0IGZ3LXNlbWlib2xkXCI+U3RvcmUgaXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50bHkgZW5jb3VudGVyaW5nIGEgPHNwYW4gY2xhc3M9XCJmdy1ib2xkLTcwMFwiPnt7ZGF0YS5wcmltYXJ5SXNzdWV9fTwvc3Bhbj4gd2hpY2ggaXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgc2Vjb25kYXJ5IG9mIGRhdGEuc2Vjb25kYXJ5SXNzdWU7IGxldCBsYXN0ID0gbGFzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZnctYm9sZC03MDBcIj57e3NlY29uZGFyeT8ubmFtZX19PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsYXN0XCI+ICw8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50cmUganVzdGlmeS1jb250ZW50LWNlbnRyZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy91c2VyUHJvZmlsZS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNyAxNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTUuOTQ2MDIgNC45ODg4MUwyLjY2NjAyIDYuMzM4ODFMMi4wMDYwMiA2LjA3ODgxTDAuNjY2MDE2IDIuODM4ODFMMS41ODYwMiAyLjQ1ODgxTDIuMzk2MDIgNC40MDg4MUMyLjkzOTc3IDMuMDQ4MDEgMy45Mjg3MiAxLjkxMTY5IDUuMjAxNDUgMS4xODUzMkM2LjQ3NDE5IDAuNDU4OTUxIDcuOTU1NTQgMC4xODU0MjYgOS40MDM3NSAwLjQwOTM4N0MxMC44NTIgMC42MzMzNDkgMTIuMTgxNSAxLjM0MTU3IDEzLjE3NTQgMi40MTg0NkMxNC4xNjkyIDMuNDk1MzUgMTQuNzY4NyA0Ljg3NzMyIDE0Ljg3NiA2LjMzODgxSDEzLjg3NkMxMy43NjE2IDUuMDkwMDggMTMuMjIyNCAzLjkxODM2IDEyLjM0ODQgMy4wMTkxOUMxMS40NzQzIDIuMTIwMDMgMTAuMzE4NCAxLjU0NzgxIDkuMDczNCAxLjM5ODA0QzcuODI4NDIgMS4yNDgyNiA2LjU2OTczIDEuNTMgNS41MDczOSAyLjE5NjIyQzQuNDQ1MDUgMi44NjI0NCAzLjY0MzMyIDMuODcyODQgMy4yMzYwMiA1LjA1ODgxTDUuNTU2MDIgNC4wNTg4MUw1Ljk0NjAyIDQuOTg4ODFaTTE0LjgwNiA3LjY2ODgxTDE2LjE0NiAxMC44OTg4TDE1LjIyNiAxMS4zMzg4TDE0LjQwNiA5LjMzODgxQzEzLjg1OCAxMC43MDQ5IDEyLjg2MTggMTEuODQ0MiAxMS41ODEgMTIuNTY5NkMxMC4zMDAxIDEzLjI5NSA4LjgxMDc3IDEzLjU2MzQgNy4zNTcyOCAxMy4zMzA5QzUuOTAzOCAxMy4wOTgzIDQuNTcyNTUgMTIuMzc4NiAzLjU4MiAxMS4yODk4QzIuNTkxNDUgMTAuMjAwOSAyLjAwMDQ2IDguODA3NzUgMS45MDYwMiA3LjMzODgxSDIuOTA2MDJWNi44Mzg4MUMyLjkwODgyIDguMTI2MjcgMy4zNjQwMiA5LjM3MTggNC4xOTIwMyAxMC4zNTc3QzUuMDIwMDUgMTEuMzQzNiA2LjE2ODIxIDEyLjAwNzEgNy40MzU4NCAxMi4yMzIyQzguNzAzNDYgMTIuNDU3NCAxMC4wMDk5IDEyLjIyOTkgMTEuMTI2OCAxMS41ODk1QzEyLjI0MzcgMTAuOTQ5MSAxMy4xIDkuOTM2NTUgMTMuNTQ2IDguNzI4ODFMMTEuMjk2IDkuNjU4ODFMMTAuOTA2IDguNzM4ODFMMTQuMTU2IDcuMzg4ODFMMTQuODA2IDcuNjY4ODFaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM5OEEyQjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC40MDYyNSA3LjU0MDA0QzguOTU4NTMgNy41NDAwNCA5LjQwNjI1IDcuMDkyMzIgOS40MDYyNSA2LjU0MDA0QzkuNDA2MjUgNS45ODc3NSA4Ljk1ODUzIDUuNTQwMDQgOC40MDYyNSA1LjU0MDA0QzcuODUzOTcgNS41NDAwNCA3LjQwNjI1IDUuOTg3NzUgNy40MDYyNSA2LjU0MDA0QzcuNDA2MjUgNy4wOTIzMiA3Ljg1Mzk3IDcuNTQwMDQgOC40MDYyNSA3LjU0MDA0WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjOThBMkIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29udGVudHRleHQgZnctc2VtaWJvbGQgcHgtM1wiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNCAxMEMxNCAxMC4zNTM2IDEzLjg1OTUgMTAuNjkyOCAxMy42MDk1IDEwLjk0MjhDMTMuMzU5NCAxMS4xOTI5IDEzLjAyMDMgMTEuMzMzMyAxMi42NjY3IDExLjMzMzNINC42NjY2N0wyIDE0VjMuMzMzMzNDMiAyLjk3OTcxIDIuMTQwNDggMi42NDA1NyAyLjM5MDUyIDIuMzkwNTJDMi42NDA1NyAyLjE0MDQ4IDIuOTc5NzEgMiAzLjMzMzMzIDJIMTIuNjY2N0MxMy4wMjAzIDIgMTMuMzU5NCAyLjE0MDQ4IDEzLjYwOTUgMi4zOTA1MkMxMy44NTk1IDIuNjQwNTcgMTQgMi45Nzk3MSAxNCAzLjMzMzMzVjEwWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJteC0xXCI+MTI8L3NwYW4+IGNvbW1lbnRzIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb250ZW50dGV4dCBmdy1zZW1pYm9sZCBweC0zXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEwLjY2NjcgMS4zMzM5OFY0LjAwMDY1TTUuMzMzMzMgMS4zMzM5OFY0LjAwMDY1TTIgNi42NjczMkgxNE0zLjMzMzMzIDIuNjY3MzJIMTIuNjY2N0MxMy40MDMgMi42NjczMiAxNCAzLjI2NDI3IDE0IDQuMDAwNjVWMTMuMzM0QzE0IDE0LjA3MDQgMTMuNDAzIDE0LjY2NzMgMTIuNjY2NyAxNC42NjczSDMuMzMzMzNDMi41OTY5NSAxNC42NjczIDIgMTQuMDcwNCAyIDEzLjMzNFY0LjAwMDY1QzIgMy4yNjQyNyAyLjU5Njk1IDIuNjY3MzIgMy4zMzMzMyAyLjY2NzMyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJteC0xXCI+MTIgSmFuLCAyMDI0PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkYXRhLnN0YXR1cyA9PT0gJ2Nsb3NlZCdcIiBjbGFzcz1cImNvbnRlbnR0ZXh0IGZ3LXNlbWlib2xkIHB4LTNcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNjY2NyAxLjMzMzk4VjQuMDAwNjVNNS4zMzMzMyAxLjMzMzk4VjQuMDAwNjVNMiA2LjY2NzMySDE0TTMuMzMzMzMgMi42NjczMkgxMi42NjY3QzEzLjQwMyAyLjY2NzMyIDE0IDMuMjY0MjcgMTQgNC4wMDA2NVYxMy4zMzRDMTQgMTQuMDcwNCAxMy40MDMgMTQuNjY3MyAxMi42NjY3IDE0LjY2NzNIMy4zMzMzM0MyLjU5Njk1IDE0LjY2NzMgMiAxNC4wNzA0IDIgMTMuMzM0VjQuMDAwNjVDMiAzLjI2NDI3IDIuNTk2OTUgMi42NjczMiAzLjMzMzMzIDIuNjY3MzJaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiB7e2RhdGE/Lmlzc3VlQ2xvc2VkRGF0ZSB8IGRhdGU6J2RkLU1NLXl5eXknIH19IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJtYWluY2FyZC1sYWJlbCBmdy1ib2xkIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48aW1nIHNyYz0nLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3RpY2tldC5zdmcnPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJteC0yXCI+e3t0aWNrZXRJbmZvPy50aWNrZXRJZH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwidGlja2V0SW5mby5zdGF0dXMgPT09ICdjbG9zZWQnID8gJ2JhZGdlLWxpZ2h0LXN1Y2Nlc3MnIDoodGlja2V0SW5mby5zdGF0dXMgPT09ICdpbnByb2dyZXNzJyA/ICdiYWRnZS1saWdodC1wcmltYXJ5JzonYmFkZ2UtbGlnaHQtd2FybmluZycpXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5XCI+e3t0aWNrZXRJbmZvPy5zdGF0dXMgfCB0aXRsZWNhc2V9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb2JqIG9mIHZpZXdUaWNrZXREYXRhO2xldCBpPWluZGV4XCIgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBVc2VyIGNvZGUgc3RhcnQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uQnkgPT09ICdVc2VyJ1wiIGNsYXNzPVwiZC1mbGV4IG1iLTUgbXMtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSAhPT0nc3RhdHVzQ2hhbmdlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHBlLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50cmUganVzdGlmeS1jb250ZW50LWNlbnRyZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIm1zZ3Byb2ZpbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3VzZXJQcm9maWxlLnN2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtMCBoLTEwMCBtdC0zIGJvcmRlciBib3JkZXItMSBib3JkZXItZ3JheVwiIHN0eWxlPVwid2lkdGg6MHB4XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTMgcHQtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib2JqLmFjdGlvblR5cGUgIT09J3N0YXR1c0NoYW5nZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGluZ3RleHQgZnctYm9sZCB0ZXh0LWNhcGl0YWxpemVcIj57e29iaj8uSWRlbnRpZmllZEJ5P29iaj8uSWRlbnRpZmllZEJ5OlwiVGFuZ29cIn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGltaW5ndGV4dCBweC0zIHB0LTEgZnctYm9sZC00MDBcIj57e29iaj8udGltZVN0YW1wfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJvZmlsZS1sYWJlbCBmb250LWJvbGQtNDAwXCI+VXNlciBoYXMgcmVwbGllZDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC00MDBcIiAqbmdJZj1cIm9iai5zdGF0dXNDaGVja1JlcGx5PT09J05vJ1wiPiBJdCB0YWtlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7b2JqPy5oaWJlcm5hdGlvbkRheXN9fSBtb3JlIGRheXMgdG8gcmVzb2x2ZS48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0naXNzdWVVcGRhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCByZXMgb2Ygb2JqPy5yZWFzb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LXNlbWlib2xkIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2UncmUgY3VycmVudGx5IGVuY291bnRlcmluZyBhbiA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmdy1ib2xkLTcwMFwiPnt7cmVzLnByaW1hcnlJc3N1ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFVzZXIgY29kZSBlbmQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVGFuZ28gY29kZSBzdGFydCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25CeSA9PT0gJ1RhbmdvJ1wiIGNsYXNzPVwiZC1mbGV4IG1iLTUgbXMtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBwZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50cmUganVzdGlmeS1jb250ZW50LWNlbnRyZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC0zNXB4IHN5bWJvbC1jaXJjbGVcIiAqbmdJZj1cIm9iaj8uSWRlbnRpZmllZEJ5JiZvYmo/LklkZW50aWZpZWRCeSE9PScnJiZvYmo/LklkZW50aWZpZWRCeSE9PSdUYW5nbydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ltYm9sLWxhYmVsIGJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1zeW1ib2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBmcy00IGJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgZnctbm9ybWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7b2JqPy5JZGVudGlmaWVkQnk/LnNsaWNlKDAsMikgfCB1cHBlcmNhc2UgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwiIW9iaj8uSWRlbnRpZmllZEJ5fHxvYmo/LklkZW50aWZpZWRCeT09PScnfHxvYmo/LklkZW50aWZpZWRCeT09PSdUYW5nbydcIiBjbGFzcz1cIm1zZ3Byb2ZpbGVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFuZ29wcm9maWxlLnBuZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTAgaC0xMDAgbXQtMyBib3JkZXIgYm9yZGVyLTEgYm9yZGVyLWdyYXlcIiBzdHlsZT1cIndpZHRoOjBweFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMyBwdC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGluZ3RleHQgZnctYm9sZCB0ZXh0LWNhcGl0YWxpemVcIj57e29iaj8uSWRlbnRpZmllZEJ5P29iaj8uSWRlbnRpZmllZEJ5OlwiVGFuZ29cIn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgZnctYm9sZC00MDAgcHgtMyBwdC0xXCI+e3tvYmo/LnRpbWVTdGFtcH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJvZmlsZS1sYWJlbCBmdy1ib2xkLTQwMFwiPnRhbmdvIGhhcyByZXBsaWVkIHRvIHRoZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yXCIgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0gJ2RhdGFSZWNpdmVkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHR1cGRhdGVzMSBkLWZsZXggYWxpZ24tY29udGVudC1jZW50ZXIgZnctc2VtaWJvbGQgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJtZS0zIHctNDBweCBoLTQwcHhcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvZG9jdW1lbnQuc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9vdGZhbGwgSW1hZ2VzLlppcDxicj48c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgZnctYm9sZC00MDBcIj43MjAgS0I8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMlwiICpuZ0lmPVwib2JqLmFjdGlvblR5cGUgPT09ICdjb21tZW50J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aW1pbmd0ZXh0IHBlLTMgcHQtMSBmdy1ib2xkLTQwMFwiPnt7b2JqPy5jb21tZW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMlwiICpuZ0lmPVwib2JqLmFjdGlvblR5cGUgPT09ICdzdGF0dXNDaGFuZ2UnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgcGUtMyBwdC0xIGZ3LWJvbGQtNDAwXCI+UmFpc2VkIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1pbmd0ZXh0IGZ3LXNlbWlib2xkIHRleHQtcHJpbWFyeVwiPkxvdyBDb3VudCBJc3N1ZTwvc3Bhbj4gaW4gPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRpbWluZ3RleHQgZnctc2VtaWJvbGQgdGV4dC1wcmltYXJ5XCI+TEtTVC0xMTA4OTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0naXNzdWVVcGRhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCByZXMgb2Ygb2JqPy5yZWFzb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2UncmUgY3VycmVudGx5IGVuY291bnRlcmluZyBhbiA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmdy1ib2xkLTcwMFwiPnt7cmVzLnByaW1hcnlJc3N1ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgcGUtMyBwdC0xIGZ3LWJvbGQtNDAwXCI+e3tvYmo/LmNvbW1lbnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0nc3RlcHNUb1Jlc29sdmUnXCIgY2xhc3M9XCJtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwXCI+UGxlYXNlIGZvbGxvdyB0aGUgYmVsb3cgc3RlcHMgdG8gcmVzb2x2ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBhYm92ZSBpc3N1ZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJlcyBvZiBvYmo/LnJlYXNvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRpbmd0ZXh0IGZ3LXNlbWlib2xkIG1iLTFcIj57e3Jlcy5wcmltYXJ5SXNzdWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidGltaW5ndGV4dCBmdy1ib2xkLTQwMCBtYi0wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWNJc3N1ZXMgb2YgcmVzPy5zZWNvbmRhcnlJc3N1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPnt7c2VjSXNzdWVzLm5hbWV9fTwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZGVmYXVsdEluZnJhIHN0YXJ0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0nZGVmYXVsdEluZnJhJ1wiIGNsYXNzPVwiY29udGVudHRleHQgZnctYm9sZC00MDBcIj5XZSBoYXZlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlZCBkYXRhIGZyb20geW91ciBzdG9yZS4gV2UgYXJlIGN1cnJlbnRseSBpbnZlc3RpZ2F0aW5nIHRoZSBpc3N1ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZGVmYXVsdEluZnJhIGVuZCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUYW5nbyBjb2RlIGVuZCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1taXNtYXRjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbWlzbWF0Y2gvZGF0YS1taXNtYXRjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbWlzbWF0Y2gvZGF0YS1taXNtYXRjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7QUFPakYsTUFBTSxPQUFPLHFCQUFxQjtJQWtCWjtJQUFzQjtJQUE4QjtJQUM5RDtJQUE0QjtJQWpCOUIsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDakMsT0FBTyxDQUFNO0lBQ2IsUUFBUSxDQUFNO0lBQ2QsWUFBWSxDQUFNO0lBQ2xCLFVBQVUsQ0FBSztJQUNmLGNBQWMsQ0FBTTtJQUNwQixVQUFVLEdBQU8sQ0FBQyxFQUFDLFFBQVEsRUFBQyxxQkFBcUIsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFdBQVcsRUFBQyxlQUFlLEVBQUMsWUFBWSxFQUFDLGlCQUFpQixFQUFDLGNBQWMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLHlCQUF5QixFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsY0FBYyxFQUFDLENBQUMsRUFBQztRQUNuTSxFQUFDLFFBQVEsRUFBQyxxQkFBcUIsRUFBQyxNQUFNLEVBQUMsWUFBWSxFQUFDLFdBQVcsRUFBQyxZQUFZ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WUFDZCxJQUFJLEVBQUUsSUFBSTtZQUNWLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUNILFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNwRCxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFTLEVBQUMsS0FBUztRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4Qix5QkFBeUI7UUFDekIseUJBQXlCO0lBQzNCLENBQUM7dUdBM0RVLHFCQUFxQjsyRkFBckIscUJBQXFCLHlEQ1hsQyx1MmtCQTZOTTs7MkZEbE5PLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDcmVhdGVUaWNrZXRDb21wb25lbnQgfSBmcm9tICcuLi9jcmVhdGUtdGlja2V0L2NyZWF0ZS10aWNrZXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWRhdGEtbWlzbWF0Y2gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLW1pc21hdGNoLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZGF0YS1taXNtYXRjaC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFNaXNtYXRjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3l7XHJcblxyXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHN0b3JlSWQ6IGFueTtcclxuICB1c2VyVHlwZTogYW55O1xyXG4gIGhlYWRlckZpbHRlcjogYW55O1xyXG4gIHRpY2tldEluZm86YW55O1xyXG4gIHVzZXJwZXJtaXNzaW9uOiBhbnk7XHJcbiAgdGlja2V0TGlzdDphbnkgPSBbe3RpY2tldElkOidURV9ETV9GNTY0NUc0NTM0QTI0JyxzdGF0dXM6J29wZW4nLGlzc3VlU3RhdHVzOidub3RpZGVudGlmaWVkJyxwcmltYXJ5SXNzdWU6J0ludGVybmV0IElzc3Vlcycsc2Vjb25kYXJ5SXNzdWU6W3tuYW1lOidDaGVjayBjb25uZWN0aW9uIElzc3Vlcyd9LHtuYW1lOidjaGVjayBjYWJsZXMnfV19LFxyXG4gIHt0aWNrZXRJZDonVEVfRE1fRjU2NDVHNDUzNEEyNScsc3RhdHVzOidJbnByb2dyZXNzJyxpc3N1ZVN0YXR1czonaWRlbnRpZmllZCcscHJpbWFyeUlzc3VlOidjYW1lcmEgSXNzdWVzJyxzZWNvbmRhcnlJc3N1ZTpbe25hbWU6J2NoZWNrIGNhYmxlcyd9XX0sXHJcbiAge3RpY2tldElkOidURV9ETV9GNTY0NUc0NTM0QTI2JyxzdGF0dXM6J2Nsb3NlZCcsaXNzdWVTdGF0dXM6J2lkZW50aWZpZWQnLHByaW1hcnlJc3N1ZTonQXBwbGljYXRpb24gSXNzdWVzJyxzZWNvbmRhcnlJc3N1ZTpbe25hbWU6J2NsZWFyIGNhY2hlJ31dfSxcclxuICB7dGlja2V0SWQ6J1RFX0RNX0Y1NjQ1RzQ1MzRBMjcnLHN0YXR1czonb3BlbicsaXNzdWVTdGF0dXM6J25vdGlkZW50aWZpZWQnLHByaW1hcnlJc3N1ZTonU3RvcmUgT3BlcmF0aW9uIElzc3Vlcycsc2Vjb25kYXJ5SXNzdWU6W3tuYW1lOidjaGVjayBzdG9yZSBjb25uZWN0aW9uJ31dfV1cclxuICB2aWV3VGlja2V0RGF0YTphbnkgPSBbe2FjdGlvbkJ5OidUYW5nbycsSWRlbnRpZmllZEJ5OidUYW5nbycsYWN0aW9uVHlwZTonZGF0YVJlY2l2ZWQnfSxcclxuICAgIHthY3Rpb25CeTonVXNlcicsSWRlbnRpZmllZEJ5OidVc2VyJyxhY3Rpb25UeXBlOidDb21tZW50J30sXHJcbiAgICB7YWN0aW9uQnk6J1RhbmdvJyxJZGVudGlmaWVkQnk6J1RhbmdvJyxhY3Rpb25UeXBlOidkYXRhUmVjaXZlZCd9LFxyXG4gICAge2FjdGlvbkJ5OidVc2VyJyxJZGVudGlmaWVkQnk6J1VzZXInLGFjdGlvblR5cGU6J0NvbW1lbnQnfV07XHJcbiAgc2VsZWN0Q2FyZDogYW55O1xyXG4gIGNsaWVudElkOiBhbnk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6Um91dGVyLHByaXZhdGUgZ3M6R2xvYmFsU3RhdGVTZXJ2aWNlLHByaXZhdGUgcm91dGU6QWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmLHB1YmxpYyBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLCl7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGxldCB1c2VySW5mbyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXItaW5mbycpIHx8ICd7fScpXHJcbiAgICB0aGlzLnVzZXJUeXBlID0gdXNlckluZm8udXNlclR5cGVcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChkYXRhICE9IG51bGwpIHtcclxuICAgICAgICB0aGlzLmhlYWRlckZpbHRlciA9IGRhdGFcclxuICAgICAgICB0aGlzLmNsaWVudElkID0gdGhpcy5oZWFkZXJGaWx0ZXI/LmNsaWVudDtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgdGhpcy5ncy51c2VyQWNjZXNzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZGF0YSAhPSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy51c2VycGVybWlzc2lvbiA9IGRhdGFcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlVGlja2V0KCl7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oQ3JlYXRlVGlja2V0Q29tcG9uZW50LCB7XHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICBzaXplOiBcImxnXCIsXHJcbiAgICAgIHNjcm9sbGFibGU6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLmNsaWVudElkID0gdGhpcy5jbGllbnRJZDtcclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgU2hvd1RpY2tldCh2YWx1ZTphbnksaW5kZXg6YW55KXtcclxuICAgIHRoaXMuc2VsZWN0Q2FyZCA9IGluZGV4O1xyXG4gICAgLy8gdGhpcy50aWNrZXRJZCA9IHZhbHVlO1xyXG4gICAgLy8gdGhpcy5nZXRJbmZyYVRpY2tldCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBtYi0zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTJcIj5EYXRhIE1pc21hdGNoPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1iLTJcIj5BbiBvdmVydmlldyBvZiBhbGwgdGhlIHRpY2tldHMgZm9yIHt7aGVhZGVyRmlsdGVyPy5kYXRlPy5zdGFydERhdGUgfFxyXG4gICAgICAgICAgICAgICAgY3VzdG9tRGF0ZUZvcm1hdH19IC0ge3toZWFkZXJGaWx0ZXI/LmRhdGU/LmVuZERhdGUgfCBjdXN0b21EYXRlRm9ybWF0fX08L3NwYW4+XHJcbiAgICAgICAgPC9oMz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcblxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY3JlYXRlVGlja2V0KClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXgtMiByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+Q3JlYXRlIFRpY2tldDwvc3Bhbj4gPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbmNhcmQtY29udGVudFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHAtMTBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNiBjdXJzb3ItcG9pbnRlciBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9yZUxpc3RMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b3JlTGlzdE5vZGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGRhdGEgb2YgdGlja2V0TGlzdDtsZXQgaW5kZXggPSBpbmRleFwiIChjbGljayk9XCJTaG93VGlja2V0KGRhdGEudGlja2V0SWQsaW5kZXgpXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIihzZWxlY3RDYXJkID8gc2VsZWN0Q2FyZCA6IDApID09PSBpbmRleCA/ICdhY3RpdmUnIDogJydcIiBjbGFzcz1cImlzc3VlY2FyZCB3LTEwMCBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbmNhcmQtbGFiZWwgZnctYm9sZCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbWItNVwiPjxzcGFuPiA8aW1nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9Jy4vYXNzZXRzL3RhbmdvL0ltYWdlcy90aWNrZXQuc3ZnJz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZGF0YS50aWNrZXRJZH19PC9zcGFuPiA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3NcIiBbbmdDbGFzc109XCJkYXRhLnN0YXR1cyA9PT0gJ2Nsb3NlZCcgPyAnYmFkZ2UtbGlnaHQtc3VjY2VzcycgOihkYXRhLnN0YXR1cyA9PT0gJ2lucHJvZ3Jlc3MnID8gJ2JhZGdlLWxpZ2h0LXByaW1hcnknOidiYWRnZS1saWdodC13YXJuaW5nJylcIj57e2RhdGEuc3RhdHVzIHwgdGl0bGVjYXNlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJjb3VudC10eXBlIG15LTJcIj5Mb3cgQ291bnQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkYXRhLmlzc3VlU3RhdHVzID09PSAnbm90aWRlbnRpZmllZCdcIiBjbGFzcz1cIm1iLTUgY29udGVudHRleHQgZnctc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZSBoYXZlIG5vdCByZWNlaXZlZCBkYXRhIGZyb20geW91ciBzdG9yZS4gV2UgYXJlIGN1cnJlbnRseSBpbnZlc3RpZ2F0aW5nIHRoZSBpc3N1ZS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRhdGEuaXNzdWVTdGF0dXMgPT09J2lkZW50aWZpZWQnXCIgY2xhc3M9XCJtYi01IGNvbnRlbnR0ZXh0IGZ3LXNlbWlib2xkXCI+U3RvcmUgaXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50bHkgZW5jb3VudGVyaW5nIGEgPHNwYW4gY2xhc3M9XCJmdy1ib2xkLTcwMFwiPnt7ZGF0YS5wcmltYXJ5SXNzdWV9fTwvc3Bhbj4gd2hpY2ggaXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgc2Vjb25kYXJ5IG9mIGRhdGEuc2Vjb25kYXJ5SXNzdWU7IGxldCBsYXN0ID0gbGFzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZnctYm9sZC03MDBcIj57e3NlY29uZGFyeT8ubmFtZX19PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsYXN0XCI+ICw8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50cmUganVzdGlmeS1jb250ZW50LWNlbnRyZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy91c2VyUHJvZmlsZS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNyAxNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTUuOTQ2MDIgNC45ODg4MUwyLjY2NjAyIDYuMzM4ODFMMi4wMDYwMiA2LjA3ODgxTDAuNjY2MDE2IDIuODM4ODFMMS41ODYwMiAyLjQ1ODgxTDIuMzk2MDIgNC40MDg4MUMyLjkzOTc3IDMuMDQ4MDEgMy45Mjg3MiAxLjkxMTY5IDUuMjAxNDUgMS4xODUzMkM2LjQ3NDE5IDAuNDU4OTUxIDcuOTU1NTQgMC4xODU0MjYgOS40MDM3NSAwLjQwOTM4N0MxMC44NTIgMC42MzMzNDkgMTIuMTgxNSAxLjM0MTU3IDEzLjE3NTQgMi40MTg0NkMxNC4xNjkyIDMuNDk1MzUgMTQuNzY4NyA0Ljg3NzMyIDE0Ljg3NiA2LjMzODgxSDEzLjg3NkMxMy43NjE2IDUuMDkwMDggMTMuMjIyNCAzLjkxODM2IDEyLjM0ODQgMy4wMTkxOUMxMS40NzQzIDIuMTIwMDMgMTAuMzE4NCAxLjU0NzgxIDkuMDczNCAxLjM5ODA0QzcuODI4NDIgMS4yNDgyNiA2LjU2OTczIDEuNTMgNS41MDczOSAyLjE5NjIyQzQuNDQ1MDUgMi44NjI0NCAzLjY0MzMyIDMuODcyODQgMy4yMzYwMiA1LjA1ODgxTDUuNTU2MDIgNC4wNTg4MUw1Ljk0NjAyIDQuOTg4ODFaTTE0LjgwNiA3LjY2ODgxTDE2LjE0NiAxMC44OTg4TDE1LjIyNiAxMS4zMzg4TDE0LjQwNiA5LjMzODgxQzEzLjg1OCAxMC43MDQ5IDEyLjg2MTggMTEuODQ0MiAxMS41ODEgMTIuNTY5NkMxMC4zMDAxIDEzLjI5NSA4LjgxMDc3IDEzLjU2MzQgNy4zNTcyOCAxMy4zMzA5QzUuOTAzOCAxMy4wOTgzIDQuNTcyNTUgMTIuMzc4NiAzLjU4MiAxMS4yODk4QzIuNTkxNDUgMTAuMjAwOSAyLjAwMDQ2IDguODA3NzUgMS45MDYwMiA3LjMzODgxSDIuOTA2MDJWNi44Mzg4MUMyLjkwODgyIDguMTI2MjcgMy4zNjQwMiA5LjM3MTggNC4xOTIwMyAxMC4zNTc3QzUuMDIwMDUgMTEuMzQzNiA2LjE2ODIxIDEyLjAwNzEgNy40MzU4NCAxMi4yMzIyQzguNzAzNDYgMTIuNDU3NCAxMC4wMDk5IDEyLjIyOTkgMTEuMTI2OCAxMS41ODk1QzEyLjI0MzcgMTAuOTQ5MSAxMy4xIDkuOTM2NTUgMTMuNTQ2IDguNzI4ODFMMTEuMjk2IDkuNjU4ODFMMTAuOTA2IDguNzM4ODFMMTQuMTU2IDcuMzg4ODFMMTQuODA2IDcuNjY4ODFaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM5OEEyQjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC40MDYyNSA3LjU0MDA0QzguOTU4NTMgNy41NDAwNCA5LjQwNjI1IDcuMDkyMzIgOS40MDYyNSA2LjU0MDA0QzkuNDA2MjUgNS45ODc3NSA4Ljk1ODUzIDUuNTQwMDQgOC40MDYyNSA1LjU0MDA0QzcuODUzOTcgNS41NDAwNCA3LjQwNjI1IDUuOTg3NzUgNy40MDYyNSA2LjU0MDA0QzcuNDA2MjUgNy4wOTIzMiA3Ljg1Mzk3IDcuNTQwMDQgOC40MDYyNSA3LjU0MDA0WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjOThBMkIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29udGVudHRleHQgZnctc2VtaWJvbGQgcHgtM1wiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNCAxMEMxNCAxMC4zNTM2IDEzLjg1OTUgMTAuNjkyOCAxMy42MDk1IDEwLjk0MjhDMTMuMzU5NCAxMS4xOTI5IDEzLjAyMDMgMTEuMzMzMyAxMi42NjY3IDExLjMzMzNINC42NjY2N0wyIDE0VjMuMzMzMzNDMiAyLjk3OTcxIDIuMTQwNDggMi42NDA1NyAyLjM5MDUyIDIuMzkwNTJDMi42NDA1NyAyLjE0MDQ4IDIuOTc5NzEgMiAzLjMzMzMzIDJIMTIuNjY2N0MxMy4wMjAzIDIgMTMuMzU5NCAyLjE0MDQ4IDEzLjYwOTUgMi4zOTA1MkMxMy44NTk1IDIuNjQwNTcgMTQgMi45Nzk3MSAxNCAzLjMzMzMzVjEwWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJteC0xXCI+MTI8L3NwYW4+IGNvbW1lbnRzIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb250ZW50dGV4dCBmdy1zZW1pYm9sZCBweC0zXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEwLjY2NjcgMS4zMzM5OFY0LjAwMDY1TTUuMzMzMzMgMS4zMzM5OFY0LjAwMDY1TTIgNi42NjczMkgxNE0zLjMzMzMzIDIuNjY3MzJIMTIuNjY2N0MxMy40MDMgMi42NjczMiAxNCAzLjI2NDI3IDE0IDQuMDAwNjVWMTMuMzM0QzE0IDE0LjA3MDQgMTMuNDAzIDE0LjY2NzMgMTIuNjY2NyAxNC42NjczSDMuMzMzMzNDMi41OTY5NSAxNC42NjczIDIgMTQuMDcwNCAyIDEzLjMzNFY0LjAwMDY1QzIgMy4yNjQyNyAyLjU5Njk1IDIuNjY3MzIgMy4zMzMzMyAyLjY2NzMyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJteC0xXCI+MTIgSmFuLCAyMDI0PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkYXRhLnN0YXR1cyA9PT0gJ2Nsb3NlZCdcIiBjbGFzcz1cImNvbnRlbnR0ZXh0IGZ3LXNlbWlib2xkIHB4LTNcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNjY2NyAxLjMzMzk4VjQuMDAwNjVNNS4zMzMzMyAxLjMzMzk4VjQuMDAwNjVNMiA2LjY2NzMySDE0TTMuMzMzMzMgMi42NjczMkgxMi42NjY3QzEzLjQwMyAyLjY2NzMyIDE0IDMuMjY0MjcgMTQgNC4wMDA2NVYxMy4zMzRDMTQgMTQuMDcwNCAxMy40MDMgMTQuNjY3MyAxMi42NjY3IDE0LjY2NzNIMy4zMzMzM0MyLjU5Njk1IDE0LjY2NzMgMiAxNC4wNzA0IDIgMTMuMzM0VjQuMDAwNjVDMiAzLjI2NDI3IDIuNTk2OTUgMi42NjczMiAzLjMzMzMzIDIuNjY3MzJaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiB7e2RhdGE/Lmlzc3VlQ2xvc2VkRGF0ZSB8IGRhdGU6J2RkLU1NLXl5eXknIH19IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJtYWluY2FyZC1sYWJlbCBmdy1ib2xkIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48aW1nIHNyYz0nLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3RpY2tldC5zdmcnPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJteC0yXCI+e3t0aWNrZXRJbmZvPy50aWNrZXRJZH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwidGlja2V0SW5mby5zdGF0dXMgPT09ICdjbG9zZWQnID8gJ2JhZGdlLWxpZ2h0LXN1Y2Nlc3MnIDoodGlja2V0SW5mby5zdGF0dXMgPT09ICdpbnByb2dyZXNzJyA/ICdiYWRnZS1saWdodC1wcmltYXJ5JzonYmFkZ2UtbGlnaHQtd2FybmluZycpXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5XCI+e3t0aWNrZXRJbmZvPy5zdGF0dXMgfCB0aXRsZWNhc2V9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb2JqIG9mIHZpZXdUaWNrZXREYXRhO2xldCBpPWluZGV4XCIgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBVc2VyIGNvZGUgc3RhcnQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uQnkgPT09ICdVc2VyJ1wiIGNsYXNzPVwiZC1mbGV4IG1iLTUgbXMtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSAhPT0nc3RhdHVzQ2hhbmdlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHBlLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50cmUganVzdGlmeS1jb250ZW50LWNlbnRyZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIm1zZ3Byb2ZpbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3VzZXJQcm9maWxlLnN2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtMCBoLTEwMCBtdC0zIGJvcmRlciBib3JkZXItMSBib3JkZXItZ3JheVwiIHN0eWxlPVwid2lkdGg6MHB4XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTMgcHQtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib2JqLmFjdGlvblR5cGUgIT09J3N0YXR1c0NoYW5nZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGluZ3RleHQgZnctYm9sZCB0ZXh0LWNhcGl0YWxpemVcIj57e29iaj8uSWRlbnRpZmllZEJ5P29iaj8uSWRlbnRpZmllZEJ5OlwiVGFuZ29cIn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGltaW5ndGV4dCBweC0zIHB0LTEgZnctYm9sZC00MDBcIj57e29iaj8udGltZVN0YW1wfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJvZmlsZS1sYWJlbCBmb250LWJvbGQtNDAwXCI+VXNlciBoYXMgcmVwbGllZDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC00MDBcIiAqbmdJZj1cIm9iai5zdGF0dXNDaGVja1JlcGx5PT09J05vJ1wiPiBJdCB0YWtlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7b2JqPy5oaWJlcm5hdGlvbkRheXN9fSBtb3JlIGRheXMgdG8gcmVzb2x2ZS48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0naXNzdWVVcGRhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCByZXMgb2Ygb2JqPy5yZWFzb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LXNlbWlib2xkIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2UncmUgY3VycmVudGx5IGVuY291bnRlcmluZyBhbiA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmdy1ib2xkLTcwMFwiPnt7cmVzLnByaW1hcnlJc3N1ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFVzZXIgY29kZSBlbmQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVGFuZ28gY29kZSBzdGFydCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25CeSA9PT0gJ1RhbmdvJ1wiIGNsYXNzPVwiZC1mbGV4IG1iLTUgbXMtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBwZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50cmUganVzdGlmeS1jb250ZW50LWNlbnRyZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC0zNXB4IHN5bWJvbC1jaXJjbGVcIiAqbmdJZj1cIm9iaj8uSWRlbnRpZmllZEJ5JiZvYmo/LklkZW50aWZpZWRCeSE9PScnJiZvYmo/LklkZW50aWZpZWRCeSE9PSdUYW5nbydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ltYm9sLWxhYmVsIGJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1zeW1ib2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBmcy00IGJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgZnctbm9ybWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7b2JqPy5JZGVudGlmaWVkQnk/LnNsaWNlKDAsMikgfCB1cHBlcmNhc2UgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwiIW9iaj8uSWRlbnRpZmllZEJ5fHxvYmo/LklkZW50aWZpZWRCeT09PScnfHxvYmo/LklkZW50aWZpZWRCeT09PSdUYW5nbydcIiBjbGFzcz1cIm1zZ3Byb2ZpbGVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFuZ29wcm9maWxlLnBuZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTAgaC0xMDAgbXQtMyBib3JkZXIgYm9yZGVyLTEgYm9yZGVyLWdyYXlcIiBzdHlsZT1cIndpZHRoOjBweFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMyBwdC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGluZ3RleHQgZnctYm9sZCB0ZXh0LWNhcGl0YWxpemVcIj57e29iaj8uSWRlbnRpZmllZEJ5P29iaj8uSWRlbnRpZmllZEJ5OlwiVGFuZ29cIn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgZnctYm9sZC00MDAgcHgtMyBwdC0xXCI+e3tvYmo/LnRpbWVTdGFtcH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJvZmlsZS1sYWJlbCBmdy1ib2xkLTQwMFwiPnRhbmdvIGhhcyByZXBsaWVkIHRvIHRoZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yXCIgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0gJ2RhdGFSZWNpdmVkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHR1cGRhdGVzMSBkLWZsZXggYWxpZ24tY29udGVudC1jZW50ZXIgZnctc2VtaWJvbGQgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJtZS0zIHctNDBweCBoLTQwcHhcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvZG9jdW1lbnQuc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9vdGZhbGwgSW1hZ2VzLlppcDxicj48c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgZnctYm9sZC00MDBcIj43MjAgS0I8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMlwiICpuZ0lmPVwib2JqLmFjdGlvblR5cGUgPT09ICdjb21tZW50J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aW1pbmd0ZXh0IHBlLTMgcHQtMSBmdy1ib2xkLTQwMFwiPnt7b2JqPy5jb21tZW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMlwiICpuZ0lmPVwib2JqLmFjdGlvblR5cGUgPT09ICdzdGF0dXNDaGFuZ2UnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgcGUtMyBwdC0xIGZ3LWJvbGQtNDAwXCI+UmFpc2VkIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1pbmd0ZXh0IGZ3LXNlbWlib2xkIHRleHQtcHJpbWFyeVwiPkxvdyBDb3VudCBJc3N1ZTwvc3Bhbj4gaW4gPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRpbWluZ3RleHQgZnctc2VtaWJvbGQgdGV4dC1wcmltYXJ5XCI+TEtTVC0xMTA4OTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0naXNzdWVVcGRhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCByZXMgb2Ygb2JqPy5yZWFzb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2UncmUgY3VycmVudGx5IGVuY291bnRlcmluZyBhbiA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmdy1ib2xkLTcwMFwiPnt7cmVzLnByaW1hcnlJc3N1ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgcGUtMyBwdC0xIGZ3LWJvbGQtNDAwXCI+e3tvYmo/LmNvbW1lbnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0nc3RlcHNUb1Jlc29sdmUnXCIgY2xhc3M9XCJtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwXCI+UGxlYXNlIGZvbGxvdyB0aGUgYmVsb3cgc3RlcHMgdG8gcmVzb2x2ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBhYm92ZSBpc3N1ZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJlcyBvZiBvYmo/LnJlYXNvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRpbmd0ZXh0IGZ3LXNlbWlib2xkIG1iLTFcIj57e3Jlcy5wcmltYXJ5SXNzdWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidGltaW5ndGV4dCBmdy1ib2xkLTQwMCBtYi0wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWNJc3N1ZXMgb2YgcmVzPy5zZWNvbmRhcnlJc3N1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPnt7c2VjSXNzdWVzLm5hbWV9fTwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZGVmYXVsdEluZnJhIHN0YXJ0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0nZGVmYXVsdEluZnJhJ1wiIGNsYXNzPVwiY29udGVudHRleHQgZnctYm9sZC00MDBcIj5XZSBoYXZlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlZCBkYXRhIGZyb20geW91ciBzdG9yZS4gV2UgYXJlIGN1cnJlbnRseSBpbnZlc3RpZ2F0aW5nIHRoZSBpc3N1ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZGVmYXVsdEluZnJhIGVuZCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUYW5nbyBjb2RlIGVuZCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -1,26 +1,102 @@
1
- import { Component, ViewChild } from '@angular/core';
1
+ import { Component, ViewChild, Input } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
2
3
  import * as i0 from "@angular/core";
4
+ import * as i1 from "@ng-bootstrap/ng-bootstrap";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "../../services/tickets.service";
7
+ import * as i4 from "tango-app-ui-shared";
8
+ import * as i5 from "@angular/common";
3
9
  export class RaiseTicketComponent {
10
+ modalService;
11
+ activeModal;
12
+ fb;
13
+ service;
14
+ toastservice;
4
15
  fileInput;
16
+ createTicket;
17
+ modalRef;
18
+ data;
19
+ raiseTicket;
20
+ errorMessage;
21
+ formData = new FormData();
22
+ constructor(modalService, activeModal, fb, service, toastservice) {
23
+ this.modalService = modalService;
24
+ this.activeModal = activeModal;
25
+ this.fb = fb;
26
+ this.service = service;
27
+ this.toastservice = toastservice;
28
+ }
29
+ ngOnInit() {
30
+ this.raiseTicket = this.fb.group({
31
+ actualBilling: ['', Validators.required],
32
+ expectedFootfall: ['', Validators.required],
33
+ description: ['', Validators.required],
34
+ filePath: ['']
35
+ });
36
+ }
5
37
  onFileSelected(event) {
6
38
  if (event.target.files && event.target.files.length > 0) {
7
- let formData = new FormData();
8
39
  for (let i = 0; i < event.target.files.length; i++) {
9
40
  let file = event.target.files[i];
41
+ this.formData.append('img', file);
42
+ if (!file.type.startsWith('image/')) {
43
+ this.errorMessage = 'Only image files are allowed!';
44
+ return; // Stop further processing
45
+ }
10
46
  }
11
47
  }
12
48
  }
13
49
  openFileInput() {
14
50
  this.fileInput.nativeElement.click();
15
51
  }
16
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RaiseTicketComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: RaiseTicketComponent, selector: "lib-raise-ticket", viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"card py-0 scroll\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"row w-100 my-5\">\r\n <div class=\"col-md-12\">\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Raise Ticket</a>\r\n <div class=\"my-2\"><span class=\"sub-title\">For Store LKST-9087 on</span> <span class=\"sub-title1 ms-2\">09-12-23</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row my-3\">\r\n <div class=\"col-md-6 my-3\">\r\n <label class=\"form-label\">Actual Billing Count</label>\r\n <input type=\"text\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-md-6 my-3\">\r\n <label class=\"form-label\">Your Expected Footfall</label>\r\n <input type=\"text\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-md-12 my-3\">\r\n <textarea class=\"type\" row=\"3\" class=\"form-control\" placeholder=\"Enter a description...\"></textarea>\r\n </div>\r\n <div class=\"col-md-12 my-3\">\r\n <span > <input type=\"file\" #fileInput style=\"display: none;\" (change)=\"onFileSelected($event)\">\r\n <button (click)=\"openFileInput()\" class=\"cursor-pointer btn btn-default p-0\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.8666 9.20835L10.2082 16.8667C9.27005 17.8049 7.99757 18.332 6.67075 18.332C5.34393 18.332 4.07145 17.8049 3.13325 16.8667C2.19505 15.9285 1.66797 14.656 1.66797 13.3292C1.66797 12.0024 2.19505 10.7299 3.13325 9.79168L10.7916 2.13335C11.4171 1.50788 12.2654 1.15649 13.1499 1.15649C14.0345 1.15649 14.8828 1.50788 15.5082 2.13335C16.1337 2.75882 16.4851 3.60713 16.4851 4.49168C16.4851 5.37623 16.1337 6.22455 15.5082 6.85002L7.84158 14.5083C7.52885 14.8211 7.10469 14.9968 6.66242 14.9968C6.22014 14.9968 5.79598 14.8211 5.48325 14.5083C5.17051 14.1956 4.99482 13.7715 4.99482 13.3292C4.99482 12.8869 5.17051 12.4627 5.48325 12.15L12.5582 5.08335\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></button><span class=\"mx-2 sub-title text-capitalize\">Attachments</span></span>\r\n </div>\r\n <div class=\"d-flex my-5\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" >Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" id=\"alert-toast\"\r\n >Submit</button>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n</div>", styles: [".title{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:600;line-height:28px}.sub-title{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.sub-title1{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:700;line-height:20px}\n"] });
52
+ submitTicket() {
53
+ this.Ticketcreation();
54
+ const modalRef = this.modalService.open(this.createTicket, { centered: true });
55
+ }
56
+ // confirmTicket() {
57
+ // this.Ticketcreation();
58
+ // }
59
+ omit_special_char(event) {
60
+ var k;
61
+ k = event.charCode; // k = event.keyCode; (Both can be used)
62
+ return (k == 8 || k == 32 || (k >= 48 && k <= 57));
63
+ }
64
+ Ticketcreation() {
65
+ this.formData.append("storeId", this.data?.storeId),
66
+ this.formData.append("Date", this.data?.date),
67
+ this.formData.append("issueType", this.data?.countType),
68
+ this.formData.append("feature", this.data?.feature),
69
+ this.formData.append("actualCount", this.raiseTicket?.value?.actualBilling),
70
+ this.formData.append("expectedCount", this.raiseTicket?.value?.expectedFootfall),
71
+ this.formData.append("contactEmail", this.data.email),
72
+ this.formData.append("description", this.raiseTicket?.value?.description),
73
+ this.service.createTicket(this.formData).subscribe({
74
+ next: (res) => {
75
+ if (res && res.code == 200) {
76
+ this.toastservice.getSuccessToast(res.message);
77
+ }
78
+ else {
79
+ this.toastservice.getErrorToast('No data Found');
80
+ }
81
+ },
82
+ error: (err) => {
83
+ this.toastservice.getErrorToast(err.error);
84
+ },
85
+ });
86
+ }
87
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RaiseTicketComponent, deps: [{ token: i1.NgbModal }, { token: i1.NgbActiveModal }, { token: i2.FormBuilder }, { token: i3.TicketsService }, { token: i4.ToastService }], target: i0.ɵɵFactoryTarget.Component });
88
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: RaiseTicketComponent, selector: "lib-raise-ticket", inputs: { data: "data" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "createTicket", first: true, predicate: ["createTicket"], descendants: true }], ngImport: i0, template: "<div class=\"card py-0 scroll\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"row w-100 my-5\">\r\n <div class=\"col-md-12\">\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Raise Ticket</a>\r\n <div class=\"my-2\"><span class=\"sub-title\">For Store {{data?.storeName}} on</span> <span class=\"sub-title1 ms-2\">{{data?.date}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <form [formGroup]=\"raiseTicket\" class=\"row my-3\">\r\n <div class=\"col-md-6 my-3\">\r\n <label class=\"form-label\">Actual Billing Count</label>\r\n <input type=\"text\" formControlName=\"actualBilling\" (keypress)=\"omit_special_char($event)\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-md-6 my-3\">\r\n <label class=\"form-label\">Your Expected Footfall</label>\r\n <input type=\"text\" formControlName=\"expectedFootfall\" (keypress)=\"omit_special_char($event)\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-md-12 my-3\">\r\n <textarea class=\"type\" formControlName=\"description\" row=\"3\" class=\"form-control\" placeholder=\"Enter a description...\"></textarea>\r\n </div>\r\n <div class=\"col-md-12 my-3\">\r\n <span > <input type=\"file\" formControlName=\"filePath\" #fileInput style=\"display: none;\" accept=\"image/*\" (change)=\"onFileSelected($event)\">\r\n <button (click)=\"openFileInput()\" class=\"cursor-pointer btn btn-default p-0\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.8666 9.20835L10.2082 16.8667C9.27005 17.8049 7.99757 18.332 6.67075 18.332C5.34393 18.332 4.07145 17.8049 3.13325 16.8667C2.19505 15.9285 1.66797 14.656 1.66797 13.3292C1.66797 12.0024 2.19505 10.7299 3.13325 9.79168L10.7916 2.13335C11.4171 1.50788 12.2654 1.15649 13.1499 1.15649C14.0345 1.15649 14.8828 1.50788 15.5082 2.13335C16.1337 2.75882 16.4851 3.60713 16.4851 4.49168C16.4851 5.37623 16.1337 6.22455 15.5082 6.85002L7.84158 14.5083C7.52885 14.8211 7.10469 14.9968 6.66242 14.9968C6.22014 14.9968 5.79598 14.8211 5.48325 14.5083C5.17051 14.1956 4.99482 13.7715 4.99482 13.3292C4.99482 12.8869 5.17051 12.4627 5.48325 12.15L12.5582 5.08335\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></button><span class=\"mx-2 sub-title text-capitalize\">Attachments</span></span>\r\n </div>\r\n <div class=\"text-danger\" *ngIf=\"errorMessage\">{{ errorMessage }}</div>\r\n <div class=\"d-flex my-5\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"activeModal.close()\" >Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" [disabled]=\"!raiseTicket.valid\" id=\"alert-toast\" (click)=\"submitTicket();activeModal.close()\"\r\n >Submit</button>\r\n </div>\r\n </form>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #createTicket let-modal>\r\n <div class=\"p-8\">\r\n <div class=\"\">\r\n <img src=\"./assets/tango/Images/Successtoast.png\">\r\n </div> \r\n <div class=\"mt-5 ticketData\">\r\n <span class=\"camera fw-bold\">Ticket Created Successfully</span>\r\n <div class=\"mt-3 sub-header fw-bold-400\">your ticket for {{data?.date}} have been created successful !</div>\r\n </div>\r\n <div class=\"d-flex justify-content-between mt-10\">\r\n <button type=\"button\" class=\"btn btn-default btn-primary w-100 me-2\" (click)=\"modal.dismiss()\">Okay</button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n", styles: [".camera{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}.title{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:600;line-height:28px}.sub-title{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.sub-title1{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:700;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
18
89
  }
19
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RaiseTicketComponent, decorators: [{
20
91
  type: Component,
21
- args: [{ selector: 'lib-raise-ticket', template: "<div class=\"card py-0 scroll\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"row w-100 my-5\">\r\n <div class=\"col-md-12\">\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Raise Ticket</a>\r\n <div class=\"my-2\"><span class=\"sub-title\">For Store LKST-9087 on</span> <span class=\"sub-title1 ms-2\">09-12-23</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row my-3\">\r\n <div class=\"col-md-6 my-3\">\r\n <label class=\"form-label\">Actual Billing Count</label>\r\n <input type=\"text\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-md-6 my-3\">\r\n <label class=\"form-label\">Your Expected Footfall</label>\r\n <input type=\"text\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-md-12 my-3\">\r\n <textarea class=\"type\" row=\"3\" class=\"form-control\" placeholder=\"Enter a description...\"></textarea>\r\n </div>\r\n <div class=\"col-md-12 my-3\">\r\n <span > <input type=\"file\" #fileInput style=\"display: none;\" (change)=\"onFileSelected($event)\">\r\n <button (click)=\"openFileInput()\" class=\"cursor-pointer btn btn-default p-0\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.8666 9.20835L10.2082 16.8667C9.27005 17.8049 7.99757 18.332 6.67075 18.332C5.34393 18.332 4.07145 17.8049 3.13325 16.8667C2.19505 15.9285 1.66797 14.656 1.66797 13.3292C1.66797 12.0024 2.19505 10.7299 3.13325 9.79168L10.7916 2.13335C11.4171 1.50788 12.2654 1.15649 13.1499 1.15649C14.0345 1.15649 14.8828 1.50788 15.5082 2.13335C16.1337 2.75882 16.4851 3.60713 16.4851 4.49168C16.4851 5.37623 16.1337 6.22455 15.5082 6.85002L7.84158 14.5083C7.52885 14.8211 7.10469 14.9968 6.66242 14.9968C6.22014 14.9968 5.79598 14.8211 5.48325 14.5083C5.17051 14.1956 4.99482 13.7715 4.99482 13.3292C4.99482 12.8869 5.17051 12.4627 5.48325 12.15L12.5582 5.08335\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></button><span class=\"mx-2 sub-title text-capitalize\">Attachments</span></span>\r\n </div>\r\n <div class=\"d-flex my-5\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" >Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" id=\"alert-toast\"\r\n >Submit</button>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n</div>", styles: [".title{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:600;line-height:28px}.sub-title{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.sub-title1{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:700;line-height:20px}\n"] }]
22
- }], propDecorators: { fileInput: [{
92
+ args: [{ selector: 'lib-raise-ticket', template: "<div class=\"card py-0 scroll\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"row w-100 my-5\">\r\n <div class=\"col-md-12\">\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Raise Ticket</a>\r\n <div class=\"my-2\"><span class=\"sub-title\">For Store {{data?.storeName}} on</span> <span class=\"sub-title1 ms-2\">{{data?.date}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <form [formGroup]=\"raiseTicket\" class=\"row my-3\">\r\n <div class=\"col-md-6 my-3\">\r\n <label class=\"form-label\">Actual Billing Count</label>\r\n <input type=\"text\" formControlName=\"actualBilling\" (keypress)=\"omit_special_char($event)\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-md-6 my-3\">\r\n <label class=\"form-label\">Your Expected Footfall</label>\r\n <input type=\"text\" formControlName=\"expectedFootfall\" (keypress)=\"omit_special_char($event)\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-md-12 my-3\">\r\n <textarea class=\"type\" formControlName=\"description\" row=\"3\" class=\"form-control\" placeholder=\"Enter a description...\"></textarea>\r\n </div>\r\n <div class=\"col-md-12 my-3\">\r\n <span > <input type=\"file\" formControlName=\"filePath\" #fileInput style=\"display: none;\" accept=\"image/*\" (change)=\"onFileSelected($event)\">\r\n <button (click)=\"openFileInput()\" class=\"cursor-pointer btn btn-default p-0\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.8666 9.20835L10.2082 16.8667C9.27005 17.8049 7.99757 18.332 6.67075 18.332C5.34393 18.332 4.07145 17.8049 3.13325 16.8667C2.19505 15.9285 1.66797 14.656 1.66797 13.3292C1.66797 12.0024 2.19505 10.7299 3.13325 9.79168L10.7916 2.13335C11.4171 1.50788 12.2654 1.15649 13.1499 1.15649C14.0345 1.15649 14.8828 1.50788 15.5082 2.13335C16.1337 2.75882 16.4851 3.60713 16.4851 4.49168C16.4851 5.37623 16.1337 6.22455 15.5082 6.85002L7.84158 14.5083C7.52885 14.8211 7.10469 14.9968 6.66242 14.9968C6.22014 14.9968 5.79598 14.8211 5.48325 14.5083C5.17051 14.1956 4.99482 13.7715 4.99482 13.3292C4.99482 12.8869 5.17051 12.4627 5.48325 12.15L12.5582 5.08335\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></button><span class=\"mx-2 sub-title text-capitalize\">Attachments</span></span>\r\n </div>\r\n <div class=\"text-danger\" *ngIf=\"errorMessage\">{{ errorMessage }}</div>\r\n <div class=\"d-flex my-5\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"activeModal.close()\" >Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" [disabled]=\"!raiseTicket.valid\" id=\"alert-toast\" (click)=\"submitTicket();activeModal.close()\"\r\n >Submit</button>\r\n </div>\r\n </form>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #createTicket let-modal>\r\n <div class=\"p-8\">\r\n <div class=\"\">\r\n <img src=\"./assets/tango/Images/Successtoast.png\">\r\n </div> \r\n <div class=\"mt-5 ticketData\">\r\n <span class=\"camera fw-bold\">Ticket Created Successfully</span>\r\n <div class=\"mt-3 sub-header fw-bold-400\">your ticket for {{data?.date}} have been created successful !</div>\r\n </div>\r\n <div class=\"d-flex justify-content-between mt-10\">\r\n <button type=\"button\" class=\"btn btn-default btn-primary w-100 me-2\" (click)=\"modal.dismiss()\">Okay</button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n", styles: [".camera{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}.title{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:600;line-height:28px}.sub-title{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.sub-title1{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:700;line-height:20px}\n"] }]
93
+ }], ctorParameters: () => [{ type: i1.NgbModal }, { type: i1.NgbActiveModal }, { type: i2.FormBuilder }, { type: i3.TicketsService }, { type: i4.ToastService }], propDecorators: { fileInput: [{
23
94
  type: ViewChild,
24
95
  args: ['fileInput']
96
+ }], createTicket: [{
97
+ type: ViewChild,
98
+ args: ['createTicket']
99
+ }], data: [{
100
+ type: Input
25
101
  }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFpc2UtdGlja2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXN0b3JlLXRpY2tldC1pbmZyYS9zcmMvbGliL2NvbXBvbmVudHMvcmFpc2UtdGlja2V0L3JhaXNlLXRpY2tldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL3JhaXNlLXRpY2tldC9yYWlzZS10aWNrZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT3JELE1BQU0sT0FBTyxvQkFBb0I7SUFDUCxTQUFTLENBQU07SUFDdkMsY0FBYyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZELElBQUksUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7WUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxJQUFJLEdBQVMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDeEM7U0FDRjtJQUNILENBQUM7SUFDRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkMsQ0FBQzt1R0FaVSxvQkFBb0I7MkZBQXBCLG9CQUFvQixnS0NQakMsKzFGQXNDTTs7MkZEL0JPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7OEJBS0osU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXJhaXNlLXRpY2tldCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JhaXNlLXRpY2tldC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3JhaXNlLXRpY2tldC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFJhaXNlVGlja2V0Q29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQ6IGFueTtcclxuICBvbkZpbGVTZWxlY3RlZChldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudGFyZ2V0LmZpbGVzICYmIGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGxldCBmaWxlOiBGaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzW2ldO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9wZW5GaWxlSW5wdXQoKSB7XHJcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIHB5LTAgc2Nyb2xsXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTAgZC1mbGV4IGZsZXgtc3RhcnQgZmxleC1jb2x1bW4gcC05IFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgdy0xMDAgbXktNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImZzLTQgdGV4dC1ncmF5LTgwMCB0ZXh0LWhvdmVyLXByaW1hcnkgZnctYm9sZCBtYi0wIHRpdGxlIGN1cnNvci1wb2ludGVyXCI+UmFpc2UgVGlja2V0PC9hPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTJcIj48c3BhbiBjbGFzcz1cInN1Yi10aXRsZVwiPkZvciBTdG9yZSBMS1NULTkwODcgb248L3NwYW4+IDxzcGFuIGNsYXNzPVwic3ViLXRpdGxlMSBtcy0yXCI+MDktMTItMjM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBteS0zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QWN0dWFsIEJpbGxpbmcgQ291bnQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+WW91ciBFeHBlY3RlZCBGb290ZmFsbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJ0eXBlXCIgcm93PVwiM1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcGxhY2Vob2xkZXI9XCJFbnRlciBhIGRlc2NyaXB0aW9uLi4uXCI+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbXktM1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gPiA8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZUlucHV0IHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIiAgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwib3BlbkZpbGVJbnB1dCgpXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBidG4gYnRuLWRlZmF1bHQgcC0wXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE3Ljg2NjYgOS4yMDgzNUwxMC4yMDgyIDE2Ljg2NjdDOS4yNzAwNSAxNy44MDQ5IDcuOTk3NTcgMTguMzMyIDYuNjcwNzUgMTguMzMyQzUuMzQzOTMgMTguMzMyIDQuMDcxNDUgMTcuODA0OSAzLjEzMzI1IDE2Ljg2NjdDMi4xOTUwNSAxNS45Mjg1IDEuNjY3OTcgMTQuNjU2IDEuNjY3OTcgMTMuMzI5MkMxLjY2Nzk3IDEyLjAwMjQgMi4xOTUwNSAxMC43Mjk5IDMuMTMzMjUgOS43OTE2OEwxMC43OTE2IDIuMTMzMzVDMTEuNDE3MSAxLjUwNzg4IDEyLjI2NTQgMS4xNTY0OSAxMy4xNDk5IDEuMTU2NDlDMTQuMDM0NSAxLjE1NjQ5IDE0Ljg4MjggMS41MDc4OCAxNS41MDgyIDIuMTMzMzVDMTYuMTMzNyAyLjc1ODgyIDE2LjQ4NTEgMy42MDcxMyAxNi40ODUxIDQuNDkxNjhDMTYuNDg1MSA1LjM3NjIzIDE2LjEzMzcgNi4yMjQ1NSAxNS41MDgyIDYuODUwMDJMNy44NDE1OCAxNC41MDgzQzcuNTI4ODUgMTQuODIxMSA3LjEwNDY5IDE0Ljk5NjggNi42NjI0MiAxNC45OTY4QzYuMjIwMTQgMTQuOTk2OCA1Ljc5NTk4IDE0LjgyMTEgNS40ODMyNSAxNC41MDgzQzUuMTcwNTEgMTQuMTk1NiA0Ljk5NDgyIDEzLjc3MTUgNC45OTQ4MiAxMy4zMjkyQzQuOTk0ODIgMTIuODg2OSA1LjE3MDUxIDEyLjQ2MjcgNS40ODMyNSAxMi4xNUwxMi41NTgyIDUuMDgzMzVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9idXR0b24+PHNwYW4gY2xhc3M9XCJteC0yIHN1Yi10aXRsZSB0ZXh0LWNhcGl0YWxpemVcIj5BdHRhY2htZW50czwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImQtZmxleCBteS01XCIgcm9sZT1cImdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHctMTAwIG1lLTNcIiA+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwIG1zLTNcIiAgaWQ9XCJhbGVydC10b2FzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlN1Ym1pdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgXHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFpc2UtdGlja2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXN0b3JlLXRpY2tldC1pbmZyYS9zcmMvbGliL2NvbXBvbmVudHMvcmFpc2UtdGlja2V0L3JhaXNlLXRpY2tldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL3JhaXNlLXRpY2tldC9yYWlzZS10aWNrZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBMEIsVUFBVSxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFTakYsTUFBTSxPQUFPLG9CQUFvQjtJQVFaO0lBQStCO0lBQXFDO0lBQXlCO0lBQWlDO0lBUHpILFNBQVMsQ0FBTTtJQUNaLFlBQVksQ0FBTTtJQUM3QyxRQUFRLENBQTBCO0lBQ3pCLElBQUksQ0FBTTtJQUNuQixXQUFXLENBQU07SUFDakIsWUFBWSxDQUFJO0lBQ2hCLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQzFCLFlBQW1CLFlBQXNCLEVBQVMsV0FBMkIsRUFBVSxFQUFlLEVBQVUsT0FBdUIsRUFBVSxZQUEwQjtRQUF4SixpQkFBWSxHQUFaLFlBQVksQ0FBVTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBRTNLLENBQUM7SUFFSCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUMvQixhQUFhLEVB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LEVBQUUsV0FBVyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ2pELElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO29CQUNqQixJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRTt3QkFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUNoRDt5QkFBTTt3QkFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztxQkFDbEQ7Z0JBQ0gsQ0FBQztnQkFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDYixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzdDLENBQUM7YUFDRixDQUFDLENBQUE7SUFDSixDQUFDO3VHQXRFVSxvQkFBb0I7MkZBQXBCLG9CQUFvQix5UkNYakMsNC9IQXVEQTs7MkZENUNhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7NExBS0osU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNLLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFFaEIsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwsIE5nYk1vZGFsLCBOZ2JNb2RhbFJlZiB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycywgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRpY2tldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1yYWlzZS10aWNrZXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWlzZS10aWNrZXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9yYWlzZS10aWNrZXQuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWlzZVRpY2tldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0OiBhbnk7XHJcbiAgQFZpZXdDaGlsZCgnY3JlYXRlVGlja2V0JykgY3JlYXRlVGlja2V0OiBhbnk7XHJcbiAgbW9kYWxSZWY6IE5nYk1vZGFsUmVmIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGRhdGE6IGFueTtcclxuICByYWlzZVRpY2tldDogYW55O1xyXG4gIGVycm9yTWVzc2FnZTphbnlcclxuICBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLCBwdWJsaWMgYWN0aXZlTW9kYWw6IE5nYkFjdGl2ZU1vZGFsLCBwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzZXJ2aWNlOiBUaWNrZXRzU2VydmljZSwgcHJpdmF0ZSB0b2FzdHNlcnZpY2U6IFRvYXN0U2VydmljZSkge1xyXG5cclxuICB9XHJcblxyXG5uZ09uSW5pdCgpe1xyXG4gIHRoaXMucmFpc2VUaWNrZXQgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgIGFjdHVhbEJpbGxpbmc6WycnLFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgZXhwZWN0ZWRGb290ZmFsbDogWycnLFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgZGVzY3JpcHRpb246WycnLFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgZmlsZVBhdGg6WycnXVxyXG4gIH0pXHJcbn1cclxuICBvbkZpbGVTZWxlY3RlZChldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudGFyZ2V0LmZpbGVzICYmIGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgXHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgbGV0IGZpbGU6IEZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbaV07XHJcbiAgICAgICAgdGhpcy5mb3JtRGF0YS5hcHBlbmQoJ2ltZycsIGZpbGUpO1xyXG4gICAgICAgIGlmICghZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdPbmx5IGltYWdlIGZpbGVzIGFyZSBhbGxvd2VkISc7XHJcbiAgICAgICAgICByZXR1cm47IC8vIFN0b3AgZnVydGhlciBwcm9jZXNzaW5nXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9wZW5GaWxlSW5wdXQoKSB7XHJcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgfVxyXG4gIHN1Ym1pdFRpY2tldCgpIHtcclxuICAgIHRoaXMuVGlja2V0Y3JlYXRpb24oKTtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3Blbih0aGlzLmNyZWF0ZVRpY2tldCwgeyBjZW50ZXJlZDogdHJ1ZSB9KTtcclxuICB9XHJcbiAgLy8gY29uZmlybVRpY2tldCgpIHtcclxuICAvLyAgIHRoaXMuVGlja2V0Y3JlYXRpb24oKTtcclxuICAvLyB9XHJcbiAgb21pdF9zcGVjaWFsX2NoYXIoZXZlbnQ6IGFueSkge1xyXG4gICAgdmFyIGs7XHJcbiAgICBrID0gZXZlbnQuY2hhckNvZGU7ICAvLyAgICAgICAgIGsgPSBldmVudC5rZXlDb2RlOyAgKEJvdGggY2FuIGJlIHVzZWQpXHJcbiAgICByZXR1cm4gKGsgPT0gOCB8fCBrID09IDMyIHx8IChrID49IDQ4ICYmIGsgPD0gNTcpKTtcclxuICB9XHJcbiAgXHJcbiAgVGlja2V0Y3JlYXRpb24oKSB7XHJcbiAgICB0aGlzLmZvcm1EYXRhLmFwcGVuZChcInN0b3JlSWRcIix0aGlzLmRhdGE/LnN0b3JlSWQpLFxyXG4gICAgdGhpcy5mb3JtRGF0YS5hcHBlbmQoXCJEYXRlXCIsdGhpcy5kYXRhPy5kYXRlKSxcclxuICAgIHRoaXMuZm9ybURhdGEuYXBwZW5kKFwiaXNzdWVUeXBlXCIsdGhpcy5kYXRhPy5jb3VudFR5cGUpLFxyXG4gICAgdGhpcy5mb3JtRGF0YS5hcHBlbmQoXCJmZWF0dXJlXCIsdGhpcy5kYXRhPy5mZWF0dXJlKSxcclxuICAgIHRoaXMuZm9ybURhdGEuYXBwZW5kKFwiYWN0dWFsQ291bnRcIix0aGlzLnJhaXNlVGlja2V0Py52YWx1ZT8uYWN0dWFsQmlsbGluZyksXHJcbiAgICB0aGlzLmZvcm1EYXRhLmFwcGVuZChcImV4cGVjdGVkQ291bnRcIix0aGlzLnJhaXNlVGlja2V0Py52YWx1ZT8uZXhwZWN0ZWRGb290ZmFsbCksXHJcbiAgICB0aGlzLmZvcm1EYXRhLmFwcGVuZChcImNvbnRhY3RFbWFpbFwiLHRoaXMuZGF0YS5lbWFpbCksXHJcbiAgICB0aGlzLmZvcm1EYXRhLmFwcGVuZChcImRlc2NyaXB0aW9uXCIsdGhpcy5yYWlzZVRpY2tldD8udmFsdWU/LmRlc2NyaXB0aW9uKSwgICAgXHJcbiAgICB0aGlzLnNlcnZpY2UuY3JlYXRlVGlja2V0KHRoaXMuZm9ybURhdGEpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0c2VydmljZS5nZXRTdWNjZXNzVG9hc3QocmVzLm1lc3NhZ2UpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0c2VydmljZS5nZXRFcnJvclRvYXN0KCdObyBkYXRhIEZvdW5kJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgIHRoaXMudG9hc3RzZXJ2aWNlLmdldEVycm9yVG9hc3QoZXJyLmVycm9yKTtcclxuICAgICAgfSxcclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIHB5LTAgc2Nyb2xsXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTAgZC1mbGV4IGZsZXgtc3RhcnQgZmxleC1jb2x1bW4gcC05IFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgdy0xMDAgbXktNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImZzLTQgdGV4dC1ncmF5LTgwMCB0ZXh0LWhvdmVyLXByaW1hcnkgZnctYm9sZCBtYi0wIHRpdGxlIGN1cnNvci1wb2ludGVyXCI+UmFpc2UgVGlja2V0PC9hPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTJcIj48c3BhbiBjbGFzcz1cInN1Yi10aXRsZVwiPkZvciBTdG9yZSB7e2RhdGE/LnN0b3JlTmFtZX19IG9uPC9zcGFuPiA8c3BhbiBjbGFzcz1cInN1Yi10aXRsZTEgbXMtMlwiPnt7ZGF0YT8uZGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwicmFpc2VUaWNrZXRcIiBjbGFzcz1cInJvdyBteS0zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QWN0dWFsIEJpbGxpbmcgQ291bnQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwiYWN0dWFsQmlsbGluZ1wiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+WW91ciBFeHBlY3RlZCBGb290ZmFsbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJleHBlY3RlZEZvb3RmYWxsXCIgKGtleXByZXNzKT1cIm9taXRfc3BlY2lhbF9jaGFyKCRldmVudClcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJ0eXBlXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIiByb3c9XCIzXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBwbGFjZWhvbGRlcj1cIkVudGVyIGEgZGVzY3JpcHRpb24uLi5cIj48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiA+IDxpbnB1dCB0eXBlPVwiZmlsZVwiIGZvcm1Db250cm9sTmFtZT1cImZpbGVQYXRoXCIgI2ZpbGVJbnB1dCBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgYWNjZXB0PVwiaW1hZ2UvKlwiIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cIm9wZW5GaWxlSW5wdXQoKVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgYnRuIGJ0bi1kZWZhdWx0IHAtMFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNy44NjY2IDkuMjA4MzVMMTAuMjA4MiAxNi44NjY3QzkuMjcwMDUgMTcuODA0OSA3Ljk5NzU3IDE4LjMzMiA2LjY3MDc1IDE4LjMzMkM1LjM0MzkzIDE4LjMzMiA0LjA3MTQ1IDE3LjgwNDkgMy4xMzMyNSAxNi44NjY3QzIuMTk1MDUgMTUuOTI4NSAxLjY2Nzk3IDE0LjY1NiAxLjY2Nzk3IDEzLjMyOTJDMS42Njc5NyAxMi4wMDI0IDIuMTk1MDUgMTAuNzI5OSAzLjEzMzI1IDkuNzkxNjhMMTAuNzkxNiAyLjEzMzM1QzExLjQxNzEgMS41MDc4OCAxMi4yNjU0IDEuMTU2NDkgMTMuMTQ5OSAxLjE1NjQ5QzE0LjAzNDUgMS4xNTY0OSAxNC44ODI4IDEuNTA3ODggMTUuNTA4MiAyLjEzMzM1QzE2LjEzMzcgMi43NTg4MiAxNi40ODUxIDMuNjA3MTMgMTYuNDg1MSA0LjQ5MTY4QzE2LjQ4NTEgNS4zNzYyMyAxNi4xMzM3IDYuMjI0NTUgMTUuNTA4MiA2Ljg1MDAyTDcuODQxNTggMTQuNTA4M0M3LjUyODg1IDE0LjgyMTEgNy4xMDQ2OSAxNC45OTY4IDYuNjYyNDIgMTQuOTk2OEM2LjIyMDE0IDE0Ljk5NjggNS43OTU5OCAxNC44MjExIDUuNDgzMjUgMTQuNTA4M0M1LjE3MDUxIDE0LjE5NTYgNC45OTQ4MiAxMy43NzE1IDQuOTk0ODIgMTMuMzI5MkM0Ljk5NDgyIDEyLjg4NjkgNS4xNzA1MSAxMi40NjI3IDUuNDgzMjUgMTIuMTVMMTIuNTU4MiA1LjA4MzM1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvYnV0dG9uPjxzcGFuIGNsYXNzPVwibXgtMiBzdWItdGl0bGUgdGV4dC1jYXBpdGFsaXplXCI+QXR0YWNobWVudHM8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyXCIgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj57eyBlcnJvck1lc3NhZ2UgfX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJkLWZsZXggbXktNVwiIHJvbGU9XCJncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSB3LTEwMCBtZS0zXCIgKGNsaWNrKT1cImFjdGl2ZU1vZGFsLmNsb3NlKClcIiA+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwIG1zLTNcIiBbZGlzYWJsZWRdPVwiIXJhaXNlVGlja2V0LnZhbGlkXCIgIGlkPVwiYWxlcnQtdG9hc3RcIiAoY2xpY2spPVwic3VibWl0VGlja2V0KCk7YWN0aXZlTW9kYWwuY2xvc2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlN1Ym1pdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Zvcm0+XHJcbiAgICAgIFxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNjcmVhdGVUaWNrZXQgbGV0LW1vZGFsPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtOFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICAgIDxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL1N1Y2Nlc3N0b2FzdC5wbmdcIj5cclxuICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTUgdGlja2V0RGF0YVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhbWVyYSBmdy1ib2xkXCI+VGlja2V0IENyZWF0ZWQgU3VjY2Vzc2Z1bGx5PC9zcGFuPlxyXG4gICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zIHN1Yi1oZWFkZXIgZnctYm9sZC00MDBcIj55b3VyIHRpY2tldCBmb3Ige3tkYXRhPy5kYXRlfX0gaGF2ZSBiZWVuIGNyZWF0ZWQgc3VjY2Vzc2Z1bCAhPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtdC0xMFwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLXByaW1hcnkgdy0xMDAgbWUtMlwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5Pa2F5PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -79,10 +79,10 @@ export class TangoStoreInfraComponent {
79
79
  this.selectedTab = value;
80
80
  }
81
81
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoStoreInfraComponent, deps: [{ token: i1.PageInfoService }, { token: i2.Router }, { token: i1.GlobalStateService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
82
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: TangoStoreInfraComponent, selector: "lib-tango-store-infra", 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('infra')\"><a [ngClass]=\"selectedTab ==='infra' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-6 \">Infra</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-6\">Data Mismatch</a>\r\n </li> -->\r\n </ul>\r\n</div>\r\n<div *ngIf=\"selectedTab ==='infra'\">\r\n <lib-ticket-infra></lib-ticket-infra>\r\n</div>\r\n<div *ngIf=\"selectedTab ==='datamismatch'\">\r\n <lib-data-mismatch></lib-data-mismatch>\r\n \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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i4.TicketInfraComponent, selector: "lib-ticket-infra" }, { kind: "component", type: i5.DataMismatchComponent, selector: "lib-data-mismatch" }] });
82
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: TangoStoreInfraComponent, selector: "lib-tango-store-infra", 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('infra')\"><a [ngClass]=\"selectedTab ==='infra' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-6 \">Infra</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-6\">Data Mismatch</a>\r\n </li>\r\n </ul>\r\n</div>\r\n<div *ngIf=\"selectedTab ==='infra'\">\r\n <lib-ticket-infra></lib-ticket-infra>\r\n</div>\r\n<div *ngIf=\"selectedTab ==='datamismatch'\">\r\n <lib-data-mismatch></lib-data-mismatch>\r\n \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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i4.TicketInfraComponent, selector: "lib-ticket-infra" }, { kind: "component", type: i5.DataMismatchComponent, selector: "lib-data-mismatch" }] });
83
83
  }
84
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoStoreInfraComponent, decorators: [{
85
85
  type: Component,
86
- args: [{ selector: 'lib-tango-store-infra', 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('infra')\"><a [ngClass]=\"selectedTab ==='infra' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-6 \">Infra</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-6\">Data Mismatch</a>\r\n </li> -->\r\n </ul>\r\n</div>\r\n<div *ngIf=\"selectedTab ==='infra'\">\r\n <lib-ticket-infra></lib-ticket-infra>\r\n</div>\r\n<div *ngIf=\"selectedTab ==='datamismatch'\">\r\n <lib-data-mismatch></lib-data-mismatch>\r\n \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"] }]
86
+ args: [{ selector: 'lib-tango-store-infra', 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('infra')\"><a [ngClass]=\"selectedTab ==='infra' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-6 \">Infra</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-6\">Data Mismatch</a>\r\n </li>\r\n </ul>\r\n</div>\r\n<div *ngIf=\"selectedTab ==='infra'\">\r\n <lib-ticket-infra></lib-ticket-infra>\r\n</div>\r\n<div *ngIf=\"selectedTab ==='datamismatch'\">\r\n <lib-data-mismatch></lib-data-mismatch>\r\n \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"] }]
87
87
  }], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i2.Router }, { type: i1.GlobalStateService }, { type: i2.ActivatedRoute }] });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tc3RvcmUtaW5mcmEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tc3RvcmUtdGlja2V0LWluZnJhL3NyYy9saWIvY29tcG9uZW50cy90YW5nby1zdG9yZS1pbmZyYS90YW5nby1zdG9yZS1pbmZyYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL3RhbmdvLXN0b3JlLWluZnJhL3RhbmdvLXN0b3JlLWluZnJhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBUTFDLE1BQU0sT0FBTyx3QkFBd0I7SUFJZjtJQUFpQztJQUFzQjtJQUE4QjtJQUh6RyxXQUFXLEdBQVEsT0FBTyxDQUFDO0lBQ25CLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQy9CLE9BQU8sQ0FBTTtJQUNiLFlBQW9CLFFBQXdCLEVBQVMsTUFBYSxFQUFTLEVBQXFCLEVBQVMsS0FBb0I7UUFBekcsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFlO0lBQzdILENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzVELElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUNsQixJQUFJLElBQUksRUFBRTtvQkFDUixJQUFJLENBQUMsT0FBTzt3QkFDVixJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNsRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUMzQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7aUJBQ3BCO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNILENBQUM7SUFDRCx1QkFBdUIsQ0FBQyxPQUFlO1FBQ3JDLE1BQU0sV0FBVyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMzRCxnQ0FBZ0M7UUFDaEMsV0FBVyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDOUIsc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUMxQiwwRUFBMEUsQ0FDM0UsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1lBQzNCLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtZQUN6RSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7WUFDeEU7Z0JBQ0UsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsV0FBVyxFQUFFLEtBQUs7YUFDbkI7WUFDRDtnQkFDRSxLQUFLLEVBQUUsUUFBUTtnQkFDZixJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixRQUFRLEVBQUUsS0FBSztnQkFDZixXQUFXLEVBQUUsSUFBSTthQUNsQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDbkIsSUFBSSxFQUFFLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPO2dCQUN0QyxRQUFRLEVBQUUsS0FBSztnQkFDZixXQUFXLEVBQUUsS0FBSzthQUNuQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDbkIsSUFBSSxFQUFFLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPO2dCQUN0QyxRQUFRLEVBQUUsS0FBSztnQkFDZixXQUFXLEVBQUUsSUFBSTthQUNsQjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDSCxZQUFZLENBQUMsS0FBUztRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUUzQixDQUFDO3VHQWxFWSx3QkFBd0I7MkZBQXhCLHdCQUF3Qiw2RENWckMsNDNCQWlCK0I7OzJGRFBsQix3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSwgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YW5nby1zdG9yZS1pbmZyYScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhbmdvLXN0b3JlLWluZnJhLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFuZ28tc3RvcmUtaW5mcmEuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYW5nb1N0b3JlSW5mcmFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsT25EZXN0cm95IHtcclxuICBzZWxlY3RlZFRhYjogYW55ID0gJ2luZnJhJztcclxuICBwcml2YXRlIGRldGFjaCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgc3RvcmVJZDogYW55O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFnZUluZm86UGFnZUluZm9TZXJ2aWNlLHByaXZhdGUgcm91dGVyOlJvdXRlcixwcml2YXRlIGdzOkdsb2JhbFN0YXRlU2VydmljZSxwcml2YXRlIHJvdXRlOkFjdGl2YXRlZFJvdXRlKXtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRldGFjaC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXRhY2guY29tcGxldGUoKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLnBpcGUodGFrZVVudGlsKHRoaXMuZGV0YWNoKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICB0aGlzLnN0b3JlSWQgPVxyXG4gICAgICAgICAgICBkYXRhICYmIGRhdGEuc3RvcmUgPyBkYXRhLnN0b3JlIDogdGhpcy5yb3V0ZXIudXJsLnNwbGl0KFwiL1wiKVszXTtcclxuICAgICAgICAgIHRoaXMudXBkYXRlU3RvcmVJZFF1ZXJ5UGFyYW0odGhpcy5zdG9yZUlkKTtcclxuICAgICAgICAgIHRoaXMuc2V0UGFnZURhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIH1cclxuICAgIHVwZGF0ZVN0b3JlSWRRdWVyeVBhcmFtKHN0b3JlSWQ6IHN0cmluZykge1xyXG4gICAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHsgLi4udGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyB9O1xyXG4gICAgICAvLyBVcGRhdGUgc3RvcmVJZCBpbiBxdWVyeVBhcmFtc1xyXG4gICAgICBxdWVyeVBhcmFtcy5zdG9yZUlkID0gc3RvcmVJZDtcclxuICAgICAgLy8gTmF2aWdhdGUgdG8gdGhlIHNhbWUgcm91dGUgd2l0aCB1cGRhdGVkIHF1ZXJ5UGFyYW1zXHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7IHF1ZXJ5UGFyYW1zOiBxdWVyeVBhcmFtcywgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyB9KTtcclxuICAgIH1cclxuICBzZXRQYWdlRGF0YSgpe1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRUaXRsZShcIlRpY2tldHNcIik7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldERlc2NyaXB0aW9uKFxyXG4gICAgICBcIlZpZXcsIHNoYXJlLCBkb3dubG9hZCBhbmQgYmVuY2htYXJrIHRoZSBzdG9yZXMgcGVyZm9ybWFuY2UgaW4gb25lIHNjcmVlblwiXHJcbiAgICApO1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRCcmVhZGNydW1icyhbXHJcbiAgICAgIHsgdGl0bGU6IFwiTWFuYWdlXCIsIHBhdGg6IFwiL21hbmFnZVwiLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiBcIk1hbmFnZVwiLCBwYXRoOiBcIi9tYW5hZ2VcIiwgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogdHJ1ZSB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IFwiU3RvcmVzXCIsXHJcbiAgICAgICAgcGF0aDogXCIvbWFuYWdlL3N0b3Jlc1wiLFxyXG4gICAgICAgIGlzQWN0aXZlOiBmYWxzZSxcclxuICAgICAgICBpc1NlcGFyYXRvcjogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogXCJTdG9yZXNcIixcclxuICAgICAgICBwYXRoOiBcIi9tYW5hZ2Uvc3RvcmVzXCIsXHJcbiAgICAgICAgaXNBY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgIGlzU2VwYXJhdG9yOiB0cnVlLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMuc3RvcmVJZCxcclxuICAgICAgICBwYXRoOiBcIi9tYW5hZ2Uvc3RvcmVzL1wiICsgdGhpcy5zdG9yZUlkLFxyXG4gICAgICAgIGlzQWN0aXZlOiBmYWxzZSxcclxuICAgICAgICBpc1NlcGFyYXRvcjogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogdGhpcy5zdG9yZUlkLFxyXG4gICAgICAgIHBhdGg6IFwiL21hbmFnZS9zdG9yZXMvXCIgKyB0aGlzLnN0b3JlSWQsXHJcbiAgICAgICAgaXNBY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgIGlzU2VwYXJhdG9yOiB0cnVlLFxyXG4gICAgICB9LFxyXG4gICAgXSk7XHJcbiAgfVxyXG5zZWxlY3RlZFRhYnModmFsdWU6YW55KXtcclxuICB0aGlzLnNlbGVjdGVkVGFiID0gdmFsdWU7XHJcblxyXG59XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIG1iLTUgcHktMyBweC01XCI+XHJcbiAgICAgICAgPHVsIGNsYXNzPVwibmF2IG5hdi1zdHJldGNoIG5hdi1saW5lLXRhYnMxIG5hdi1saW5lLXRhYnMgYm9yZGVyLXRyYW5zcGFyZW50IGZsZXgtbm93cmFwXCI+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnaW5mcmEnKVwiPjxhIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGFiID09PSdpbmZyYScgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTYgXCI+SW5mcmE8L2E+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDwhLS0gPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdkYXRhbWlzbWF0Y2gnKVwiPlxyXG4gICAgICAgICAgICAgICAgPGEgW25nQ2xhc3NdPVwic2VsZWN0ZWRUYWIgPT09J2RhdGFtaXNtYXRjaCcgPyAnYWN0aXZlJyA6JydcIiBjbGFzcz1cIm5hdi1saW5rIGN1cnNvci1wb2ludGVyIG1lLTZcIj5EYXRhIE1pc21hdGNoPC9hPlxyXG4gICAgICAgICAgICA8L2xpPiAtLT5cclxuICAgICAgICA8L3VsPlxyXG48L2Rpdj5cclxuPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSdpbmZyYSdcIj5cclxuICAgICA8bGliLXRpY2tldC1pbmZyYT48L2xpYi10aWNrZXQtaW5mcmE+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09J2RhdGFtaXNtYXRjaCdcIj5cclxuICAgIDxsaWItZGF0YS1taXNtYXRjaD48L2xpYi1kYXRhLW1pc21hdGNoPlxyXG4gICAgXHJcbjwvZGl2PlxyXG48cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+Il19
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tc3RvcmUtaW5mcmEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tc3RvcmUtdGlja2V0LWluZnJhL3NyYy9saWIvY29tcG9uZW50cy90YW5nby1zdG9yZS1pbmZyYS90YW5nby1zdG9yZS1pbmZyYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL3RhbmdvLXN0b3JlLWluZnJhL3RhbmdvLXN0b3JlLWluZnJhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBUTFDLE1BQU0sT0FBTyx3QkFBd0I7SUFJZjtJQUFpQztJQUFzQjtJQUE4QjtJQUh6RyxXQUFXLEdBQVEsT0FBTyxDQUFDO0lBQ25CLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQy9CLE9BQU8sQ0FBTTtJQUNiLFlBQW9CLFFBQXdCLEVBQVMsTUFBYSxFQUFTLEVBQXFCLEVBQVMsS0FBb0I7UUFBekcsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFlO0lBQzdILENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzVELElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUNsQixJQUFJLElBQUksRUFBRTtvQkFDUixJQUFJLENBQUMsT0FBTzt3QkFDVixJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNsRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUMzQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7aUJBQ3BCO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNILENBQUM7SUFDRCx1QkFBdUIsQ0FBQyxPQUFlO1FBQ3JDLE1BQU0sV0FBVyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMzRCxnQ0FBZ0M7UUFDaEMsV0FBVyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDOUIsc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUMxQiwwRUFBMEUsQ0FDM0UsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1lBQzNCLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtZQUN6RSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7WUFDeEU7Z0JBQ0UsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsV0FBVyxFQUFFLEtBQUs7YUFDbkI7WUFDRDtnQkFDRSxLQUFLLEVBQUUsUUFBUTtnQkFDZixJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixRQUFRLEVBQUUsS0FBSztnQkFDZixXQUFXLEVBQUUsSUFBSTthQUNsQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDbkIsSUFBSSxFQUFFLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPO2dCQUN0QyxRQUFRLEVBQUUsS0FBSztnQkFDZixXQUFXLEVBQUUsS0FBSzthQUNuQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDbkIsSUFBSSxFQUFFLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPO2dCQUN0QyxRQUFRLEVBQUUsS0FBSztnQkFDZixXQUFXLEVBQUUsSUFBSTthQUNsQjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDSCxZQUFZLENBQUMsS0FBUztRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUUzQixDQUFDO3VHQWxFWSx3QkFBd0I7MkZBQXhCLHdCQUF3Qiw2RENWckMsbTNCQWlCK0I7OzJGRFBsQix3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSwgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YW5nby1zdG9yZS1pbmZyYScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhbmdvLXN0b3JlLWluZnJhLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFuZ28tc3RvcmUtaW5mcmEuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYW5nb1N0b3JlSW5mcmFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsT25EZXN0cm95IHtcclxuICBzZWxlY3RlZFRhYjogYW55ID0gJ2luZnJhJztcclxuICBwcml2YXRlIGRldGFjaCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgc3RvcmVJZDogYW55O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFnZUluZm86UGFnZUluZm9TZXJ2aWNlLHByaXZhdGUgcm91dGVyOlJvdXRlcixwcml2YXRlIGdzOkdsb2JhbFN0YXRlU2VydmljZSxwcml2YXRlIHJvdXRlOkFjdGl2YXRlZFJvdXRlKXtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRldGFjaC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXRhY2guY29tcGxldGUoKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLnBpcGUodGFrZVVudGlsKHRoaXMuZGV0YWNoKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICB0aGlzLnN0b3JlSWQgPVxyXG4gICAgICAgICAgICBkYXRhICYmIGRhdGEuc3RvcmUgPyBkYXRhLnN0b3JlIDogdGhpcy5yb3V0ZXIudXJsLnNwbGl0KFwiL1wiKVszXTtcclxuICAgICAgICAgIHRoaXMudXBkYXRlU3RvcmVJZFF1ZXJ5UGFyYW0odGhpcy5zdG9yZUlkKTtcclxuICAgICAgICAgIHRoaXMuc2V0UGFnZURhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIH1cclxuICAgIHVwZGF0ZVN0b3JlSWRRdWVyeVBhcmFtKHN0b3JlSWQ6IHN0cmluZykge1xyXG4gICAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHsgLi4udGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyB9O1xyXG4gICAgICAvLyBVcGRhdGUgc3RvcmVJZCBpbiBxdWVyeVBhcmFtc1xyXG4gICAgICBxdWVyeVBhcmFtcy5zdG9yZUlkID0gc3RvcmVJZDtcclxuICAgICAgLy8gTmF2aWdhdGUgdG8gdGhlIHNhbWUgcm91dGUgd2l0aCB1cGRhdGVkIHF1ZXJ5UGFyYW1zXHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7IHF1ZXJ5UGFyYW1zOiBxdWVyeVBhcmFtcywgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyB9KTtcclxuICAgIH1cclxuICBzZXRQYWdlRGF0YSgpe1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRUaXRsZShcIlRpY2tldHNcIik7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldERlc2NyaXB0aW9uKFxyXG4gICAgICBcIlZpZXcsIHNoYXJlLCBkb3dubG9hZCBhbmQgYmVuY2htYXJrIHRoZSBzdG9yZXMgcGVyZm9ybWFuY2UgaW4gb25lIHNjcmVlblwiXHJcbiAgICApO1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRCcmVhZGNydW1icyhbXHJcbiAgICAgIHsgdGl0bGU6IFwiTWFuYWdlXCIsIHBhdGg6IFwiL21hbmFnZVwiLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiBcIk1hbmFnZVwiLCBwYXRoOiBcIi9tYW5hZ2VcIiwgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogdHJ1ZSB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IFwiU3RvcmVzXCIsXHJcbiAgICAgICAgcGF0aDogXCIvbWFuYWdlL3N0b3Jlc1wiLFxyXG4gICAgICAgIGlzQWN0aXZlOiBmYWxzZSxcclxuICAgICAgICBpc1NlcGFyYXRvcjogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogXCJTdG9yZXNcIixcclxuICAgICAgICBwYXRoOiBcIi9tYW5hZ2Uvc3RvcmVzXCIsXHJcbiAgICAgICAgaXNBY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgIGlzU2VwYXJhdG9yOiB0cnVlLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMuc3RvcmVJZCxcclxuICAgICAgICBwYXRoOiBcIi9tYW5hZ2Uvc3RvcmVzL1wiICsgdGhpcy5zdG9yZUlkLFxyXG4gICAgICAgIGlzQWN0aXZlOiBmYWxzZSxcclxuICAgICAgICBpc1NlcGFyYXRvcjogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogdGhpcy5zdG9yZUlkLFxyXG4gICAgICAgIHBhdGg6IFwiL21hbmFnZS9zdG9yZXMvXCIgKyB0aGlzLnN0b3JlSWQsXHJcbiAgICAgICAgaXNBY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgIGlzU2VwYXJhdG9yOiB0cnVlLFxyXG4gICAgICB9LFxyXG4gICAgXSk7XHJcbiAgfVxyXG5zZWxlY3RlZFRhYnModmFsdWU6YW55KXtcclxuICB0aGlzLnNlbGVjdGVkVGFiID0gdmFsdWU7XHJcblxyXG59XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIG1iLTUgcHktMyBweC01XCI+XHJcbiAgICAgICAgPHVsIGNsYXNzPVwibmF2IG5hdi1zdHJldGNoIG5hdi1saW5lLXRhYnMxIG5hdi1saW5lLXRhYnMgYm9yZGVyLXRyYW5zcGFyZW50IGZsZXgtbm93cmFwXCI+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnaW5mcmEnKVwiPjxhIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGFiID09PSdpbmZyYScgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTYgXCI+SW5mcmE8L2E+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnZGF0YW1pc21hdGNoJylcIj5cclxuICAgICAgICAgICAgICAgIDxhIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGFiID09PSdkYXRhbWlzbWF0Y2gnID8gJ2FjdGl2ZScgOicnXCIgY2xhc3M9XCJuYXYtbGluayBjdXJzb3ItcG9pbnRlciBtZS02XCI+RGF0YSBNaXNtYXRjaDwvYT5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPlxyXG48L2Rpdj5cclxuPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSdpbmZyYSdcIj5cclxuICAgICA8bGliLXRpY2tldC1pbmZyYT48L2xpYi10aWNrZXQtaW5mcmE+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09J2RhdGFtaXNtYXRjaCdcIj5cclxuICAgIDxsaWItZGF0YS1taXNtYXRjaD48L2xpYi1kYXRhLW1pc21hdGNoPlxyXG4gICAgXHJcbjwvZGl2PlxyXG48cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+Il19
@@ -9,6 +9,7 @@ export class TicketsService {
9
9
  gs;
10
10
  ticketsApiUrl;
11
11
  edgeAppApiUrl;
12
+ storeApiUrl;
12
13
  constructor(router, http, gs) {
13
14
  this.router = router;
14
15
  this.http = http;
@@ -17,6 +18,7 @@ export class TicketsService {
17
18
  if (env) {
18
19
  this.ticketsApiUrl = env.ticketsApiUrl;
19
20
  this.edgeAppApiUrl = env.edgeAppApiUrl;
21
+ this.storeApiUrl = env.storeApiUrl;
20
22
  }
21
23
  });
22
24
  }
@@ -26,6 +28,9 @@ export class TicketsService {
26
28
  cameraList(storeId) {
27
29
  return this.http.get(`${this.edgeAppApiUrl}/getAllCameraStreamData?storeId=${storeId}`);
28
30
  }
31
+ getStore(clientId) {
32
+ return this.http.get(`${this.storeApiUrl}/get-stores?clientId=${clientId}`);
33
+ }
29
34
  storeTicketcard(data) {
30
35
  return this.http.post(`${this.ticketsApiUrl}/storeInfra/storeTicketcard`, data);
31
36
  }
@@ -47,6 +52,18 @@ export class TicketsService {
47
52
  primaryReason(data) {
48
53
  return this.http.get(`${this.ticketsApiUrl}/infra/PrimaryReasons`, {});
49
54
  }
55
+ getInfraIssues(data) {
56
+ return this.http.post(`${this.ticketsApiUrl}/infra/get-infra-issues`, data, {});
57
+ }
58
+ createTicket(data) {
59
+ return this.http.post(`${this.ticketsApiUrl}/dataMismatch/createTicket`, data, {});
60
+ }
61
+ getCameraImages(params) {
62
+ return this.http.get(`${this.edgeAppApiUrl}/getAllCameraStreamData`, { params: params });
63
+ }
64
+ cameraAngleChange(data) {
65
+ return this.http.post(`${this.ticketsApiUrl}/storeInfra/cameraAngleChange`, data);
66
+ }
50
67
  secondaryReason(data) {
51
68
  return this.http.post(`${this.ticketsApiUrl}/infra/secondaryReason`, data, {});
52
69
  }
@@ -59,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
59
76
  providedIn: 'root'
60
77
  }]
61
78
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.HttpClient }, { type: i3.GlobalStateService }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tc3RvcmUtdGlja2V0LWluZnJhL3NyYy9saWIvc2VydmljZXMvdGlja2V0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUTNDLE1BQU0sT0FBTyxjQUFjO0lBR0w7SUFBdUI7SUFBeUI7SUFGcEUsYUFBYSxDQUFJO0lBQ2pCLGFBQWEsQ0FBTTtJQUNuQixZQUFvQixNQUFhLEVBQVUsSUFBZSxFQUFVLEVBQXFCO1FBQXJFLFdBQU0sR0FBTixNQUFNLENBQU87UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFXO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDdkYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFDLEVBQUU7WUFDcEMsSUFBRyxHQUFHLEVBQUM7Z0JBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7YUFDeEM7UUFDRCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBUTtRQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsbUJBQW1CLEVBQUMsSUFBSSxDQUFDLENBQUE7SUFDdEUsQ0FBQztJQUNELFVBQVUsQ0FBQyxPQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxtQ0FBbUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUN6RixDQUFDO0lBQ0QsZUFBZSxDQUFDLElBQVE7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLDZCQUE2QixFQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2hGLENBQUM7SUFDRCxZQUFZLENBQUMsSUFBUTtRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsMEJBQTBCLEVBQUMsSUFBSSxFQUFDLEVBQy9FLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDRCxhQUFhLENBQUMsSUFBUztRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLEVBQ3hFLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxJQUFRO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsYUFBYSx5QkFBeUIsRUFBQyxJQUFJLEVBQUMsRUFDOUUsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELGVBQWUsQ0FBQyxJQUFRO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSw2QkFBNkIsRUFBQyxJQUFJLENBQUMsQ0FBQTtJQUNoRixDQUFDO0lBQ0QscUJBQXFCLENBQUMsSUFBUTtRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsNkJBQTZCLEVBQUMsSUFBSSxFQUFDLEVBQUMsWUFBWSxFQUFDLGFBQWEsRUFBQyxDQUFDLENBQUE7SUFDN0csQ0FBQztJQUNELGFBQWEsQ0FBQyxJQUFRO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sR0FBRyxJQUFJLENBQUMsYUFBYSx1QkFBdUIsRUFBQyxFQUN0RSxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVE7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLElBQUksQ0FBQyxhQUFhLHdCQUF3QixFQUFDLElBQUksRUFBQyxFQUM3RSxDQUFDLENBQUE7SUFDSixDQUFDO3VHQS9DVSxjQUFjOzJHQUFkLGNBQWMsY0FGYixNQUFNOzsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpY2tldHNTZXJ2aWNlIHtcclxuICB0aWNrZXRzQXBpVXJsOmFueVxyXG4gIGVkZ2VBcHBBcGlVcmw6IGFueTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjpSb3V0ZXIsIHByaXZhdGUgaHR0cDpIdHRwQ2xpZW50LCBwcml2YXRlIGdzOkdsb2JhbFN0YXRlU2VydmljZSkge1xyXG4gICAgdGhpcy5ncy5lbnZpcm9ubWVudC5zdWJzY3JpYmUoKGVudik9PntcclxuICAgICBpZihlbnYpe1xyXG4gICAgICB0aGlzLnRpY2tldHNBcGlVcmwgPSBlbnYudGlja2V0c0FwaVVybDtcclxuICAgICAgdGhpcy5lZGdlQXBwQXBpVXJsPSAgZW52LmVkZ2VBcHBBcGlVcmw7XHJcbiAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0VGlja2V0SW5mbyhkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0c0FwaVVybH0vaW5mcmEvdmlld1RpY2tldGAsZGF0YSlcclxuICB9XHJcbiAgY2FtZXJhTGlzdChzdG9yZUlkOmFueSl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVkZ2VBcHBBcGlVcmx9L2dldEFsbENhbWVyYVN0cmVhbURhdGE/c3RvcmVJZD0ke3N0b3JlSWR9YClcclxuICB9XHJcbiAgc3RvcmVUaWNrZXRjYXJkKGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9zdG9yZUluZnJhL3N0b3JlVGlja2V0Y2FyZGAsZGF0YSlcclxuICB9XHJcbiAgdXBkYXRlVGlja2V0KGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL3VwZGF0ZVRpY2tldElzc3VlYCxkYXRhLHtcclxuICAgIH0pXHJcbiAgfVxyXG4gIGdldENhbWVyYUxpc3QoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMuZWRnZUFwcEFwaVVybH0vZ2V0Q2FtZXJhSW1hZ2VgLCBkYXRhLCB7XHJcbiAgICB9KVxyXG4gIH1cclxuICBBbGVydFRpY2tldFJlcGx5KGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL0FsZXJ0VGlja2V0UmVwbHlgLGRhdGEse1xyXG4gICAgfSlcclxuICB9XHJcbiAgc3RvcmVUaWNrZXRMaXN0KGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9zdG9yZUluZnJhL3N0b3JlVGlja2V0TGlzdGAsZGF0YSlcclxuICB9XHJcbiAgc3RvcmVUaWNrZXRMaXN0RXhwb3J0KGRhdGE6YW55KXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldHNBcGlVcmx9L3N0b3JlSW5mcmEvc3RvcmVUaWNrZXRMaXN0YCxkYXRhLHtyZXNwb25zZVR5cGU6J2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIHByaW1hcnlSZWFzb24oZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9QcmltYXJ5UmVhc29uc2Ase1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHNlY29uZGFyeVJlYXNvbihkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9zZWNvbmRhcnlSZWFzb25gLGRhdGEse1xyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tc3RvcmUtdGlja2V0LWluZnJhL3NyYy9saWIvc2VydmljZXMvdGlja2V0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUTNDLE1BQU0sT0FBTyxjQUFjO0lBSUw7SUFBdUI7SUFBeUI7SUFIcEUsYUFBYSxDQUFJO0lBQ2pCLGFBQWEsQ0FBTTtJQUNuQixXQUFXLENBQU07SUFDakIsWUFBb0IsTUFBYSxFQUFVLElBQWUsRUFBVSxFQUFxQjtRQUFyRSxXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBVztRQUFVLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3ZGLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxFQUFFO1lBQ3BDLElBQUcsR0FBRyxFQUFDO2dCQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7YUFFcEM7UUFDRCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBUTtRQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsbUJBQW1CLEVBQUMsSUFBSSxDQUFDLENBQUE7SUFDdEUsQ0FBQztJQUNELFVBQVUsQ0FBQyxPQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxtQ0FBbUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUN6RixDQUFDO0lBQ0QsUUFBUSxDQUFDLFFBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLHdCQUF3QixRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBQzdFLENBQUM7SUFDRCxlQUFlLENBQUMsSUFBUTtRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsNkJBQTZCLEVBQUMsSUFBSSxDQUFDLENBQUE7SUFDaEYsQ0FBQztJQUNELFlBQVksQ0FBQyxJQUFRO1FBQ25CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsYUFBYSwwQkFBMEIsRUFBQyxJQUFJLEVBQUMsRUFDL0UsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELGFBQWEsQ0FBQyxJQUFTO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsRUFDeEUsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELGdCQUFnQixDQUFDLElBQVE7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLElBQUksQ0FBQyxhQUFhLHlCQUF5QixFQUFDLElBQUksRUFBQyxFQUM5RSxDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsZUFBZSxDQUFDLElBQVE7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLDZCQUE2QixFQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2hGLENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxJQUFRO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSw2QkFBNkIsRUFBQyxJQUFJLEVBQUMsRUFBQyxZQUFZLEVBQUMsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUM3RyxDQUFDO0lBQ0QsYUFBYSxDQUFDLElBQVE7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxHQUFHLElBQUksQ0FBQyxhQUFhLHVCQUF1QixFQUFDLEVBQ3RFLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDRCxjQUFjLENBQUMsSUFBUTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEseUJBQXlCLEVBQUMsSUFBSSxFQUFDLEVBQzlFLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDRCxZQUFZLENBQUMsSUFBUTtRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsNEJBQTRCLEVBQUMsSUFBSSxFQUFDLEVBQ2pGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBVztRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEseUJBQXlCLEVBQUMsRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQTtJQUN2RixDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBUztRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsK0JBQStCLEVBQUMsSUFBSSxDQUFDLENBQUE7SUFDbEYsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFRO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsYUFBYSx3QkFBd0IsRUFBQyxJQUFJLEVBQUMsRUFDN0UsQ0FBQyxDQUFBO0lBQ0osQ0FBQzt1R0FyRVUsY0FBYzsyR0FBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaWNrZXRzU2VydmljZSB7XHJcbiAgdGlja2V0c0FwaVVybDphbnlcclxuICBlZGdlQXBwQXBpVXJsOiBhbnk7XHJcbiAgc3RvcmVBcGlVcmw6IGFueTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjpSb3V0ZXIsIHByaXZhdGUgaHR0cDpIdHRwQ2xpZW50LCBwcml2YXRlIGdzOkdsb2JhbFN0YXRlU2VydmljZSkge1xyXG4gICAgdGhpcy5ncy5lbnZpcm9ubWVudC5zdWJzY3JpYmUoKGVudik9PntcclxuICAgICBpZihlbnYpe1xyXG4gICAgICB0aGlzLnRpY2tldHNBcGlVcmwgPSBlbnYudGlja2V0c0FwaVVybDtcclxuICAgICAgdGhpcy5lZGdlQXBwQXBpVXJsPSAgZW52LmVkZ2VBcHBBcGlVcmw7XHJcbiAgICAgIHRoaXMuc3RvcmVBcGlVcmw9ICBlbnYuc3RvcmVBcGlVcmw7XHJcblxyXG4gICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldFRpY2tldEluZm8oZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL3ZpZXdUaWNrZXRgLGRhdGEpXHJcbiAgfVxyXG4gIGNhbWVyYUxpc3Qoc3RvcmVJZDphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lZGdlQXBwQXBpVXJsfS9nZXRBbGxDYW1lcmFTdHJlYW1EYXRhP3N0b3JlSWQ9JHtzdG9yZUlkfWApXHJcbiAgfVxyXG4gIGdldFN0b3JlKGNsaWVudElkOmFueSl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnN0b3JlQXBpVXJsfS9nZXQtc3RvcmVzP2NsaWVudElkPSR7Y2xpZW50SWR9YClcclxuICB9XHJcbiAgc3RvcmVUaWNrZXRjYXJkKGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9zdG9yZUluZnJhL3N0b3JlVGlja2V0Y2FyZGAsZGF0YSlcclxuICB9XHJcbiAgdXBkYXRlVGlja2V0KGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL3VwZGF0ZVRpY2tldElzc3VlYCxkYXRhLHtcclxuICAgIH0pXHJcbiAgfVxyXG4gIGdldENhbWVyYUxpc3QoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMuZWRnZUFwcEFwaVVybH0vZ2V0Q2FtZXJhSW1hZ2VgLCBkYXRhLCB7XHJcbiAgICB9KVxyXG4gIH1cclxuICBBbGVydFRpY2tldFJlcGx5KGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL0FsZXJ0VGlja2V0UmVwbHlgLGRhdGEse1xyXG4gICAgfSlcclxuICB9XHJcbiAgc3RvcmVUaWNrZXRMaXN0KGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9zdG9yZUluZnJhL3N0b3JlVGlja2V0TGlzdGAsZGF0YSlcclxuICB9XHJcbiAgc3RvcmVUaWNrZXRMaXN0RXhwb3J0KGRhdGE6YW55KXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldHNBcGlVcmx9L3N0b3JlSW5mcmEvc3RvcmVUaWNrZXRMaXN0YCxkYXRhLHtyZXNwb25zZVR5cGU6J2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIHByaW1hcnlSZWFzb24oZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9QcmltYXJ5UmVhc29uc2Ase1xyXG4gICAgfSlcclxuICB9XHJcbiAgZ2V0SW5mcmFJc3N1ZXMoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0c0FwaVVybH0vaW5mcmEvZ2V0LWluZnJhLWlzc3Vlc2AsZGF0YSx7XHJcbiAgICB9KVxyXG4gIH1cclxuICBjcmVhdGVUaWNrZXQoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0c0FwaVVybH0vZGF0YU1pc21hdGNoL2NyZWF0ZVRpY2tldGAsZGF0YSx7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2FtZXJhSW1hZ2VzKHBhcmFtczogYW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVkZ2VBcHBBcGlVcmx9L2dldEFsbENhbWVyYVN0cmVhbURhdGFgLHtwYXJhbXM6IHBhcmFtc30pXHJcbiAgfVxyXG4gIFxyXG4gIGNhbWVyYUFuZ2xlQ2hhbmdlKGRhdGE6IGFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0c0FwaVVybH0vc3RvcmVJbmZyYS9jYW1lcmFBbmdsZUNoYW5nZWAsZGF0YSlcclxuICB9XHJcblxyXG4gIHNlY29uZGFyeVJlYXNvbihkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9zZWNvbmRhcnlSZWFzb25gLGRhdGEse1xyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIl19