tango-app-ui-manage-billing 3.3.12 → 3.3.13

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.
@@ -9,6 +9,11 @@ export class RequestConfirmationComponent {
9
9
  // what will move where before they confirm. Empty array = no breakdown
10
10
  // (default = "Approve Invoice?" with no detail rows).
11
11
  transitions = [];
12
+ // Optional copy overrides so the same modal can be reused for non-invoice
13
+ // confirmations (e.g. approving + sending an estimate). When unset the
14
+ // default invoice wording is shown.
15
+ title = '';
16
+ description = '';
12
17
  constructor(activeModal) {
13
18
  this.activeModal = activeModal;
14
19
  }
@@ -19,12 +24,16 @@ export class RequestConfirmationComponent {
19
24
  return this.transitions.reduce((sum, t) => sum + t.count, 0);
20
25
  }
21
26
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RequestConfirmationComponent, deps: [{ token: i1.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
22
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: RequestConfirmationComponent, selector: "lib-request-confirmation", inputs: { transitions: "transitions" }, ngImport: i0, template: "<span class=\"mb-5\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#FEF0C7\" />\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#FFFAEB\" stroke-width=\"8\" />\r\n <path\r\n d=\"M27.9998 24V28M27.9998 32H28.0098M26.2898 18.86L17.8198 33C17.6451 33.3024 17.5527 33.6453 17.5518 33.9945C17.5508 34.3437 17.6413 34.6871 17.8142 34.9905C17.9871 35.2939 18.2365 35.5467 18.5375 35.7238C18.8385 35.9009 19.1806 35.9961 19.5298 36H36.4698C36.819 35.9961 37.1611 35.9009 37.4621 35.7238C37.7631 35.5467 38.0124 35.2939 38.1854 34.9905C38.3583 34.6871 38.4488 34.3437 38.4478 33.9945C38.4468 33.6453 38.3544 33.3024 38.1798 33L29.7098 18.86C29.5315 18.5661 29.2805 18.3231 28.981 18.1544C28.6814 17.9858 28.3435 17.8972 27.9998 17.8972C27.656 17.8972 27.3181 17.9858 27.0186 18.1544C26.7191 18.3231 26.468 18.5661 26.2898 18.86Z\"\r\n stroke=\"#DC6803\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</span>\r\n\r\n<span class=\"mb-3 title\">\r\n Approve Invoice<span *ngIf=\"totalCount() > 1\">s</span>?\r\n</span>\r\n\r\n<span class=\"mb-3 description\">\r\n <ng-container *ngIf=\"!hasTransitions()\">\r\n Are you sure you want to approve this invoice? This action cannot be undone.\r\n </ng-container>\r\n <ng-container *ngIf=\"hasTransitions()\">\r\n You're about to advance {{ totalCount() }} invoice<span *ngIf=\"totalCount() > 1\">s</span>.\r\n This action cannot be undone.\r\n </ng-container>\r\n</span>\r\n\r\n<ul *ngIf=\"hasTransitions()\" class=\"transition-list mb-4\">\r\n <li *ngFor=\"let t of transitions\" class=\"transition-item\">\r\n <span class=\"transition-count\">{{ t.count }}</span>\r\n <span class=\"transition-arrow\">{{ t.from }} <strong>&rarr;</strong> {{ t.to }}</span>\r\n </li>\r\n</ul>\r\n\r\n<div class=\"row\">\r\n <div class=\"col-6\" >\r\n <button (click)=\"activeModal.close('No')\" class=\"btn btn-outline w-100\">No</button>\r\n </div>\r\n\r\n <div class=\"col-6\">\r\n <button (click)=\"activeModal.close('Yes')\" class=\"btn btn-primary w-100\" style=\"padding: 8.5px;\">Yes</button>\r\n </div>\r\n\r\n</div>", styles: [":host{padding:24px}.title{color:#101828;font-size:18px;font-weight:600;line-height:28px}.description{color:#667085;font-size:14px;font-weight:400;line-height:20px}.transition-list{list-style:none;padding:0;margin:0;background:#f9fafb;border-radius:8px;border:1px solid #EAECF0;overflow:hidden}.transition-item{display:flex;align-items:center;gap:12px;padding:10px 14px;font-size:13px;color:#344054}.transition-item+.transition-item{border-top:1px solid #EAECF0}.transition-count{flex:0 0 auto;min-width:28px;height:24px;padding:0 8px;background:#eff8ff;color:#175cd3;font-weight:600;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}.transition-arrow{flex:1}.transition-arrow strong{color:#475467;padding:0 4px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
27
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: RequestConfirmationComponent, selector: "lib-request-confirmation", inputs: { transitions: "transitions", title: "title", description: "description" }, ngImport: i0, template: "<span class=\"mb-5\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#FEF0C7\" />\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#FFFAEB\" stroke-width=\"8\" />\r\n <path\r\n d=\"M27.9998 24V28M27.9998 32H28.0098M26.2898 18.86L17.8198 33C17.6451 33.3024 17.5527 33.6453 17.5518 33.9945C17.5508 34.3437 17.6413 34.6871 17.8142 34.9905C17.9871 35.2939 18.2365 35.5467 18.5375 35.7238C18.8385 35.9009 19.1806 35.9961 19.5298 36H36.4698C36.819 35.9961 37.1611 35.9009 37.4621 35.7238C37.7631 35.5467 38.0124 35.2939 38.1854 34.9905C38.3583 34.6871 38.4488 34.3437 38.4478 33.9945C38.4468 33.6453 38.3544 33.3024 38.1798 33L29.7098 18.86C29.5315 18.5661 29.2805 18.3231 28.981 18.1544C28.6814 17.9858 28.3435 17.8972 27.9998 17.8972C27.656 17.8972 27.3181 17.9858 27.0186 18.1544C26.7191 18.3231 26.468 18.5661 26.2898 18.86Z\"\r\n stroke=\"#DC6803\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</span>\r\n\r\n<span class=\"mb-3 title\">\r\n <ng-container *ngIf=\"title\">{{ title }}</ng-container>\r\n <ng-container *ngIf=\"!title\">Approve Invoice<span *ngIf=\"totalCount() > 1\">s</span>?</ng-container>\r\n</span>\r\n\r\n<span class=\"mb-3 description\">\r\n <ng-container *ngIf=\"description\">{{ description }}</ng-container>\r\n <ng-container *ngIf=\"!description\">\r\n <ng-container *ngIf=\"!hasTransitions()\">\r\n Are you sure you want to approve this invoice? This action cannot be undone.\r\n </ng-container>\r\n <ng-container *ngIf=\"hasTransitions()\">\r\n You're about to advance {{ totalCount() }} invoice<span *ngIf=\"totalCount() > 1\">s</span>.\r\n This action cannot be undone.\r\n </ng-container>\r\n </ng-container>\r\n</span>\r\n\r\n<ul *ngIf=\"hasTransitions()\" class=\"transition-list mb-4\">\r\n <li *ngFor=\"let t of transitions\" class=\"transition-item\">\r\n <span class=\"transition-count\">{{ t.count }}</span>\r\n <span class=\"transition-arrow\">{{ t.from }} <strong>&rarr;</strong> {{ t.to }}</span>\r\n </li>\r\n</ul>\r\n\r\n<div class=\"row\">\r\n <div class=\"col-6\" >\r\n <button (click)=\"activeModal.close('No')\" class=\"btn btn-outline w-100\">No</button>\r\n </div>\r\n\r\n <div class=\"col-6\">\r\n <button (click)=\"activeModal.close('Yes')\" class=\"btn btn-primary w-100\" style=\"padding: 8.5px;\">Yes</button>\r\n </div>\r\n\r\n</div>", styles: [":host{padding:24px}.title{color:#101828;font-size:18px;font-weight:600;line-height:28px}.description{color:#667085;font-size:14px;font-weight:400;line-height:20px}.transition-list{list-style:none;padding:0;margin:0;background:#f9fafb;border-radius:8px;border:1px solid #EAECF0;overflow:hidden}.transition-item{display:flex;align-items:center;gap:12px;padding:10px 14px;font-size:13px;color:#344054}.transition-item+.transition-item{border-top:1px solid #EAECF0}.transition-count{flex:0 0 auto;min-width:28px;height:24px;padding:0 8px;background:#eff8ff;color:#175cd3;font-weight:600;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}.transition-arrow{flex:1}.transition-arrow strong{color:#475467;padding:0 4px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
23
28
  }
24
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RequestConfirmationComponent, decorators: [{
25
30
  type: Component,
26
- args: [{ selector: 'lib-request-confirmation', template: "<span class=\"mb-5\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#FEF0C7\" />\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#FFFAEB\" stroke-width=\"8\" />\r\n <path\r\n d=\"M27.9998 24V28M27.9998 32H28.0098M26.2898 18.86L17.8198 33C17.6451 33.3024 17.5527 33.6453 17.5518 33.9945C17.5508 34.3437 17.6413 34.6871 17.8142 34.9905C17.9871 35.2939 18.2365 35.5467 18.5375 35.7238C18.8385 35.9009 19.1806 35.9961 19.5298 36H36.4698C36.819 35.9961 37.1611 35.9009 37.4621 35.7238C37.7631 35.5467 38.0124 35.2939 38.1854 34.9905C38.3583 34.6871 38.4488 34.3437 38.4478 33.9945C38.4468 33.6453 38.3544 33.3024 38.1798 33L29.7098 18.86C29.5315 18.5661 29.2805 18.3231 28.981 18.1544C28.6814 17.9858 28.3435 17.8972 27.9998 17.8972C27.656 17.8972 27.3181 17.9858 27.0186 18.1544C26.7191 18.3231 26.468 18.5661 26.2898 18.86Z\"\r\n stroke=\"#DC6803\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</span>\r\n\r\n<span class=\"mb-3 title\">\r\n Approve Invoice<span *ngIf=\"totalCount() > 1\">s</span>?\r\n</span>\r\n\r\n<span class=\"mb-3 description\">\r\n <ng-container *ngIf=\"!hasTransitions()\">\r\n Are you sure you want to approve this invoice? This action cannot be undone.\r\n </ng-container>\r\n <ng-container *ngIf=\"hasTransitions()\">\r\n You're about to advance {{ totalCount() }} invoice<span *ngIf=\"totalCount() > 1\">s</span>.\r\n This action cannot be undone.\r\n </ng-container>\r\n</span>\r\n\r\n<ul *ngIf=\"hasTransitions()\" class=\"transition-list mb-4\">\r\n <li *ngFor=\"let t of transitions\" class=\"transition-item\">\r\n <span class=\"transition-count\">{{ t.count }}</span>\r\n <span class=\"transition-arrow\">{{ t.from }} <strong>&rarr;</strong> {{ t.to }}</span>\r\n </li>\r\n</ul>\r\n\r\n<div class=\"row\">\r\n <div class=\"col-6\" >\r\n <button (click)=\"activeModal.close('No')\" class=\"btn btn-outline w-100\">No</button>\r\n </div>\r\n\r\n <div class=\"col-6\">\r\n <button (click)=\"activeModal.close('Yes')\" class=\"btn btn-primary w-100\" style=\"padding: 8.5px;\">Yes</button>\r\n </div>\r\n\r\n</div>", styles: [":host{padding:24px}.title{color:#101828;font-size:18px;font-weight:600;line-height:28px}.description{color:#667085;font-size:14px;font-weight:400;line-height:20px}.transition-list{list-style:none;padding:0;margin:0;background:#f9fafb;border-radius:8px;border:1px solid #EAECF0;overflow:hidden}.transition-item{display:flex;align-items:center;gap:12px;padding:10px 14px;font-size:13px;color:#344054}.transition-item+.transition-item{border-top:1px solid #EAECF0}.transition-count{flex:0 0 auto;min-width:28px;height:24px;padding:0 8px;background:#eff8ff;color:#175cd3;font-weight:600;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}.transition-arrow{flex:1}.transition-arrow strong{color:#475467;padding:0 4px}\n"] }]
31
+ args: [{ selector: 'lib-request-confirmation', template: "<span class=\"mb-5\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#FEF0C7\" />\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#FFFAEB\" stroke-width=\"8\" />\r\n <path\r\n d=\"M27.9998 24V28M27.9998 32H28.0098M26.2898 18.86L17.8198 33C17.6451 33.3024 17.5527 33.6453 17.5518 33.9945C17.5508 34.3437 17.6413 34.6871 17.8142 34.9905C17.9871 35.2939 18.2365 35.5467 18.5375 35.7238C18.8385 35.9009 19.1806 35.9961 19.5298 36H36.4698C36.819 35.9961 37.1611 35.9009 37.4621 35.7238C37.7631 35.5467 38.0124 35.2939 38.1854 34.9905C38.3583 34.6871 38.4488 34.3437 38.4478 33.9945C38.4468 33.6453 38.3544 33.3024 38.1798 33L29.7098 18.86C29.5315 18.5661 29.2805 18.3231 28.981 18.1544C28.6814 17.9858 28.3435 17.8972 27.9998 17.8972C27.656 17.8972 27.3181 17.9858 27.0186 18.1544C26.7191 18.3231 26.468 18.5661 26.2898 18.86Z\"\r\n stroke=\"#DC6803\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</span>\r\n\r\n<span class=\"mb-3 title\">\r\n <ng-container *ngIf=\"title\">{{ title }}</ng-container>\r\n <ng-container *ngIf=\"!title\">Approve Invoice<span *ngIf=\"totalCount() > 1\">s</span>?</ng-container>\r\n</span>\r\n\r\n<span class=\"mb-3 description\">\r\n <ng-container *ngIf=\"description\">{{ description }}</ng-container>\r\n <ng-container *ngIf=\"!description\">\r\n <ng-container *ngIf=\"!hasTransitions()\">\r\n Are you sure you want to approve this invoice? This action cannot be undone.\r\n </ng-container>\r\n <ng-container *ngIf=\"hasTransitions()\">\r\n You're about to advance {{ totalCount() }} invoice<span *ngIf=\"totalCount() > 1\">s</span>.\r\n This action cannot be undone.\r\n </ng-container>\r\n </ng-container>\r\n</span>\r\n\r\n<ul *ngIf=\"hasTransitions()\" class=\"transition-list mb-4\">\r\n <li *ngFor=\"let t of transitions\" class=\"transition-item\">\r\n <span class=\"transition-count\">{{ t.count }}</span>\r\n <span class=\"transition-arrow\">{{ t.from }} <strong>&rarr;</strong> {{ t.to }}</span>\r\n </li>\r\n</ul>\r\n\r\n<div class=\"row\">\r\n <div class=\"col-6\" >\r\n <button (click)=\"activeModal.close('No')\" class=\"btn btn-outline w-100\">No</button>\r\n </div>\r\n\r\n <div class=\"col-6\">\r\n <button (click)=\"activeModal.close('Yes')\" class=\"btn btn-primary w-100\" style=\"padding: 8.5px;\">Yes</button>\r\n </div>\r\n\r\n</div>", styles: [":host{padding:24px}.title{color:#101828;font-size:18px;font-weight:600;line-height:28px}.description{color:#667085;font-size:14px;font-weight:400;line-height:20px}.transition-list{list-style:none;padding:0;margin:0;background:#f9fafb;border-radius:8px;border:1px solid #EAECF0;overflow:hidden}.transition-item{display:flex;align-items:center;gap:12px;padding:10px 14px;font-size:13px;color:#344054}.transition-item+.transition-item{border-top:1px solid #EAECF0}.transition-count{flex:0 0 auto;min-width:28px;height:24px;padding:0 8px;background:#eff8ff;color:#175cd3;font-weight:600;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}.transition-arrow{flex:1}.transition-arrow strong{color:#475467;padding:0 4px}\n"] }]
27
32
  }], ctorParameters: () => [{ type: i1.NgbActiveModal }], propDecorators: { transitions: [{
28
33
  type: Input
34
+ }], title: [{
35
+ type: Input
36
+ }], description: [{
37
+ type: Input
29
38
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1jb25maXJtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLWJpbGxpbmcvc3JjL2xpYi9jb21wb25lbnRzL3RhbmdvLW1hbmFnZS1iaWxsaW5nL3JlcXVlc3QtY29uZmlybWF0aW9uL3JlcXVlc3QtY29uZmlybWF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1iaWxsaW5nL3NyYy9saWIvY29tcG9uZW50cy90YW5nby1tYW5hZ2UtYmlsbGluZy9yZXF1ZXN0LWNvbmZpcm1hdGlvbi9yZXF1ZXN0LWNvbmZpcm1hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQWNqRCxNQUFNLE9BQU8sNEJBQTRCO0lBUXBCO0lBTm5CLDJFQUEyRTtJQUMzRSx1RUFBdUU7SUFDdkUsdUVBQXVFO0lBQ3ZFLHNEQUFzRDtJQUM3QyxXQUFXLEdBQXdCLEVBQUUsQ0FBQztJQUUvQyxZQUFtQixXQUEyQjtRQUEzQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7SUFBRyxDQUFDO0lBRWxELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7d0dBaEJVLDRCQUE0Qjs0RkFBNUIsNEJBQTRCLHdHQ2R6QyxzMEVBd0NNOzs0RkQxQk8sNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDBCQUEwQjttRkFVM0IsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwcHJvdmVUcmFuc2l0aW9uIHtcbiAgZnJvbTogc3RyaW5nO1xuICB0bzogc3RyaW5nO1xuICBjb3VudDogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItcmVxdWVzdC1jb25maXJtYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVxdWVzdC1jb25maXJtYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcmVxdWVzdC1jb25maXJtYXRpb24uY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIFJlcXVlc3RDb25maXJtYXRpb25Db21wb25lbnQge1xuXG4gIC8vIE9wdGlvbmFsIGJyZWFrZG93biBvZiB3aGF0IHRoZSBhcHByb3ZlIHdpbGwgZG8uIFdoZW4gcHJvdmlkZWQsIHRoZSBtb2RhbFxuICAvLyBsaXN0cyBlYWNoIGZyb23ihpJ0byB0cmFuc2l0aW9uIHdpdGggYSBjb3VudCBzbyB0aGUgdXNlciBrbm93cyBleGFjdGx5XG4gIC8vIHdoYXQgd2lsbCBtb3ZlIHdoZXJlIGJlZm9yZSB0aGV5IGNvbmZpcm0uIEVtcHR5IGFycmF5ID0gbm8gYnJlYWtkb3duXG4gIC8vIChkZWZhdWx0ID0gXCJBcHByb3ZlIEludm9pY2U/XCIgd2l0aCBubyBkZXRhaWwgcm93cykuXG4gIEBJbnB1dCgpIHRyYW5zaXRpb25zOiBBcHByb3ZlVHJhbnNpdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IocHVibGljIGFjdGl2ZU1vZGFsOiBOZ2JBY3RpdmVNb2RhbCkge31cblxuICBoYXNUcmFuc2l0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2l0aW9ucyAmJiB0aGlzLnRyYW5zaXRpb25zLmxlbmd0aCA+IDA7XG4gIH1cblxuICB0b3RhbENvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNpdGlvbnMucmVkdWNlKChzdW0sIHQpID0+IHN1bSArIHQuY291bnQsIDApO1xuICB9XG59IiwiPHNwYW4gY2xhc3M9XCJtYi01XCI+XHJcbiAgICA8c3ZnIHdpZHRoPVwiNTZcIiBoZWlnaHQ9XCI1NlwiIHZpZXdCb3g9XCIwIDAgNTYgNTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICA8cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIGZpbGw9XCIjRkVGMEM3XCIgLz5cclxuICAgICAgICA8cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIHN0cm9rZT1cIiNGRkZBRUJcIiBzdHJva2Utd2lkdGg9XCI4XCIgLz5cclxuICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICBkPVwiTTI3Ljk5OTggMjRWMjhNMjcuOTk5OCAzMkgyOC4wMDk4TTI2LjI4OTggMTguODZMMTcuODE5OCAzM0MxNy42NDUxIDMzLjMwMjQgMTcuNTUyNyAzMy42NDUzIDE3LjU1MTggMzMuOTk0NUMxNy41NTA4IDM0LjM0MzcgMTcuNjQxMyAzNC42ODcxIDE3LjgxNDIgMzQuOTkwNUMxNy45ODcxIDM1LjI5MzkgMTguMjM2NSAzNS41NDY3IDE4LjUzNzUgMzUuNzIzOEMxOC44Mzg1IDM1LjkwMDkgMTkuMTgwNiAzNS45OTYxIDE5LjUyOTggMzZIMzYuNDY5OEMzNi44MTkgMzUuOTk2MSAzNy4xNjExIDM1LjkwMDkgMzcuNDYyMSAzNS43MjM4QzM3Ljc2MzEgMzUuNTQ2NyAzOC4wMTI0IDM1LjI5MzkgMzguMTg1NCAzNC45OTA1QzM4LjM1ODMgMzQuNjg3MSAzOC40NDg4IDM0LjM0MzcgMzguNDQ3OCAzMy45OTQ1QzM4LjQ0NjggMzMuNjQ1MyAzOC4zNTQ0IDMzLjMwMjQgMzguMTc5OCAzM0wyOS43MDk4IDE4Ljg2QzI5LjUzMTUgMTguNTY2MSAyOS4yODA1IDE4LjMyMzEgMjguOTgxIDE4LjE1NDRDMjguNjgxNCAxNy45ODU4IDI4LjM0MzUgMTcuODk3MiAyNy45OTk4IDE3Ljg5NzJDMjcuNjU2IDE3Ljg5NzIgMjcuMzE4MSAxNy45ODU4IDI3LjAxODYgMTguMTU0NEMyNi43MTkxIDE4LjMyMzEgMjYuNDY4IDE4LjU2NjEgMjYuMjg5OCAxOC44NlpcIlxyXG4gICAgICAgICAgICBzdHJva2U9XCIjREM2ODAzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICA8L3N2Zz5cclxuPC9zcGFuPlxyXG5cclxuPHNwYW4gY2xhc3M9XCJtYi0zIHRpdGxlXCI+XHJcbiAgICBBcHByb3ZlIEludm9pY2U8c3BhbiAqbmdJZj1cInRvdGFsQ291bnQoKSA+IDFcIj5zPC9zcGFuPj9cclxuPC9zcGFuPlxyXG5cclxuPHNwYW4gY2xhc3M9XCJtYi0zIGRlc2NyaXB0aW9uXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc1RyYW5zaXRpb25zKClcIj5cclxuICAgICAgICBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gYXBwcm92ZSB0aGlzIGludm9pY2U/IFRoaXMgYWN0aW9uIGNhbm5vdCBiZSB1bmRvbmUuXHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNUcmFuc2l0aW9ucygpXCI+XHJcbiAgICAgICAgWW91J3JlIGFib3V0IHRvIGFkdmFuY2Uge3sgdG90YWxDb3VudCgpIH19IGludm9pY2U8c3BhbiAqbmdJZj1cInRvdGFsQ291bnQoKSA+IDFcIj5zPC9zcGFuPi5cclxuICAgICAgICBUaGlzIGFjdGlvbiBjYW5ub3QgYmUgdW5kb25lLlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvc3Bhbj5cclxuXHJcbjx1bCAqbmdJZj1cImhhc1RyYW5zaXRpb25zKClcIiBjbGFzcz1cInRyYW5zaXRpb24tbGlzdCBtYi00XCI+XHJcbiAgICA8bGkgKm5nRm9yPVwibGV0IHQgb2YgdHJhbnNpdGlvbnNcIiBjbGFzcz1cInRyYW5zaXRpb24taXRlbVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidHJhbnNpdGlvbi1jb3VudFwiPnt7IHQuY291bnQgfX08L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0cmFuc2l0aW9uLWFycm93XCI+e3sgdC5mcm9tIH19IDxzdHJvbmc+JnJhcnI7PC9zdHJvbmc+IHt7IHQudG8gfX08L3NwYW4+XHJcbiAgICA8L2xpPlxyXG48L3VsPlxyXG5cclxuPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC02XCIgPlxyXG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImFjdGl2ZU1vZGFsLmNsb3NlKCdObycpXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgdy0xMDBcIj5ObzwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC02XCI+XHJcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiYWN0aXZlTW9kYWwuY2xvc2UoJ1llcycpXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgdy0xMDBcIiBzdHlsZT1cInBhZGRpbmc6IDguNXB4O1wiPlllczwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG48L2Rpdj4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1jb25maXJtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLWJpbGxpbmcvc3JjL2xpYi9jb21wb25lbnRzL3RhbmdvLW1hbmFnZS1iaWxsaW5nL3JlcXVlc3QtY29uZmlybWF0aW9uL3JlcXVlc3QtY29uZmlybWF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1iaWxsaW5nL3NyYy9saWIvY29tcG9uZW50cy90YW5nby1tYW5hZ2UtYmlsbGluZy9yZXF1ZXN0LWNvbmZpcm1hdGlvbi9yZXF1ZXN0LWNvbmZpcm1hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQWNqRCxNQUFNLE9BQU8sNEJBQTRCO0lBY3BCO0lBWm5CLDJFQUEyRTtJQUMzRSx1RUFBdUU7SUFDdkUsdUVBQXVFO0lBQ3ZFLHNEQUFzRDtJQUM3QyxXQUFXLEdBQXdCLEVBQUUsQ0FBQztJQUUvQywwRUFBMEU7SUFDMUUsdUVBQXVFO0lBQ3ZFLG9DQUFvQztJQUMzQixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFFbEMsWUFBbUIsV0FBMkI7UUFBM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBQUcsQ0FBQztJQUVsRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO3dHQXRCVSw0QkFBNEI7NEZBQTVCLDRCQUE0QixvSkNkekMsZ21GQTRDTTs7NEZEOUJPLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSwwQkFBMEI7bUZBVTNCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuZXhwb3J0IGludGVyZmFjZSBBcHByb3ZlVHJhbnNpdGlvbiB7XG4gIGZyb206IHN0cmluZztcbiAgdG86IHN0cmluZztcbiAgY291bnQ6IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXJlcXVlc3QtY29uZmlybWF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcXVlc3QtY29uZmlybWF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3JlcXVlc3QtY29uZmlybWF0aW9uLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBSZXF1ZXN0Q29uZmlybWF0aW9uQ29tcG9uZW50IHtcblxuICAvLyBPcHRpb25hbCBicmVha2Rvd24gb2Ygd2hhdCB0aGUgYXBwcm92ZSB3aWxsIGRvLiBXaGVuIHByb3ZpZGVkLCB0aGUgbW9kYWxcbiAgLy8gbGlzdHMgZWFjaCBmcm9t4oaSdG8gdHJhbnNpdGlvbiB3aXRoIGEgY291bnQgc28gdGhlIHVzZXIga25vd3MgZXhhY3RseVxuICAvLyB3aGF0IHdpbGwgbW92ZSB3aGVyZSBiZWZvcmUgdGhleSBjb25maXJtLiBFbXB0eSBhcnJheSA9IG5vIGJyZWFrZG93blxuICAvLyAoZGVmYXVsdCA9IFwiQXBwcm92ZSBJbnZvaWNlP1wiIHdpdGggbm8gZGV0YWlsIHJvd3MpLlxuICBASW5wdXQoKSB0cmFuc2l0aW9uczogQXBwcm92ZVRyYW5zaXRpb25bXSA9IFtdO1xuXG4gIC8vIE9wdGlvbmFsIGNvcHkgb3ZlcnJpZGVzIHNvIHRoZSBzYW1lIG1vZGFsIGNhbiBiZSByZXVzZWQgZm9yIG5vbi1pbnZvaWNlXG4gIC8vIGNvbmZpcm1hdGlvbnMgKGUuZy4gYXBwcm92aW5nICsgc2VuZGluZyBhbiBlc3RpbWF0ZSkuIFdoZW4gdW5zZXQgdGhlXG4gIC8vIGRlZmF1bHQgaW52b2ljZSB3b3JkaW5nIGlzIHNob3duLlxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYWN0aXZlTW9kYWw6IE5nYkFjdGl2ZU1vZGFsKSB7fVxuXG4gIGhhc1RyYW5zaXRpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zaXRpb25zICYmIHRoaXMudHJhbnNpdGlvbnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHRvdGFsQ291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2l0aW9ucy5yZWR1Y2UoKHN1bSwgdCkgPT4gc3VtICsgdC5jb3VudCwgMCk7XG4gIH1cbn0iLCI8c3BhbiBjbGFzcz1cIm1iLTVcIj5cclxuICAgIDxzdmcgd2lkdGg9XCI1NlwiIGhlaWdodD1cIjU2XCIgdmlld0JveD1cIjAgMCA1NiA1NlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgIDxyZWN0IHg9XCI0XCIgeT1cIjRcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIiByeD1cIjI0XCIgZmlsbD1cIiNGRUYwQzdcIiAvPlxyXG4gICAgICAgIDxyZWN0IHg9XCI0XCIgeT1cIjRcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIiByeD1cIjI0XCIgc3Ryb2tlPVwiI0ZGRkFFQlwiIHN0cm9rZS13aWR0aD1cIjhcIiAvPlxyXG4gICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgIGQ9XCJNMjcuOTk5OCAyNFYyOE0yNy45OTk4IDMySDI4LjAwOThNMjYuMjg5OCAxOC44NkwxNy44MTk4IDMzQzE3LjY0NTEgMzMuMzAyNCAxNy41NTI3IDMzLjY0NTMgMTcuNTUxOCAzMy45OTQ1QzE3LjU1MDggMzQuMzQzNyAxNy42NDEzIDM0LjY4NzEgMTcuODE0MiAzNC45OTA1QzE3Ljk4NzEgMzUuMjkzOSAxOC4yMzY1IDM1LjU0NjcgMTguNTM3NSAzNS43MjM4QzE4LjgzODUgMzUuOTAwOSAxOS4xODA2IDM1Ljk5NjEgMTkuNTI5OCAzNkgzNi40Njk4QzM2LjgxOSAzNS45OTYxIDM3LjE2MTEgMzUuOTAwOSAzNy40NjIxIDM1LjcyMzhDMzcuNzYzMSAzNS41NDY3IDM4LjAxMjQgMzUuMjkzOSAzOC4xODU0IDM0Ljk5MDVDMzguMzU4MyAzNC42ODcxIDM4LjQ0ODggMzQuMzQzNyAzOC40NDc4IDMzLjk5NDVDMzguNDQ2OCAzMy42NDUzIDM4LjM1NDQgMzMuMzAyNCAzOC4xNzk4IDMzTDI5LjcwOTggMTguODZDMjkuNTMxNSAxOC41NjYxIDI5LjI4MDUgMTguMzIzMSAyOC45ODEgMTguMTU0NEMyOC42ODE0IDE3Ljk4NTggMjguMzQzNSAxNy44OTcyIDI3Ljk5OTggMTcuODk3MkMyNy42NTYgMTcuODk3MiAyNy4zMTgxIDE3Ljk4NTggMjcuMDE4NiAxOC4xNTQ0QzI2LjcxOTEgMTguMzIzMSAyNi40NjggMTguNTY2MSAyNi4yODk4IDE4Ljg2WlwiXHJcbiAgICAgICAgICAgIHN0cm9rZT1cIiNEQzY4MDNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgIDwvc3ZnPlxyXG48L3NwYW4+XHJcblxyXG48c3BhbiBjbGFzcz1cIm1iLTMgdGl0bGVcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aXRsZVwiPnt7IHRpdGxlIH19PC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRpdGxlXCI+QXBwcm92ZSBJbnZvaWNlPHNwYW4gKm5nSWY9XCJ0b3RhbENvdW50KCkgPiAxXCI+czwvc3Bhbj4/PC9uZy1jb250YWluZXI+XHJcbjwvc3Bhbj5cclxuXHJcbjxzcGFuIGNsYXNzPVwibWItMyBkZXNjcmlwdGlvblwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRlc2NyaXB0aW9uXCI+e3sgZGVzY3JpcHRpb24gfX08L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZGVzY3JpcHRpb25cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc1RyYW5zaXRpb25zKClcIj5cclxuICAgICAgICAgICAgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGFwcHJvdmUgdGhpcyBpbnZvaWNlPyBUaGlzIGFjdGlvbiBjYW5ub3QgYmUgdW5kb25lLlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNUcmFuc2l0aW9ucygpXCI+XHJcbiAgICAgICAgICAgIFlvdSdyZSBhYm91dCB0byBhZHZhbmNlIHt7IHRvdGFsQ291bnQoKSB9fSBpbnZvaWNlPHNwYW4gKm5nSWY9XCJ0b3RhbENvdW50KCkgPiAxXCI+czwvc3Bhbj4uXHJcbiAgICAgICAgICAgIFRoaXMgYWN0aW9uIGNhbm5vdCBiZSB1bmRvbmUuXHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9zcGFuPlxyXG5cclxuPHVsICpuZ0lmPVwiaGFzVHJhbnNpdGlvbnMoKVwiIGNsYXNzPVwidHJhbnNpdGlvbi1saXN0IG1iLTRcIj5cclxuICAgIDxsaSAqbmdGb3I9XCJsZXQgdCBvZiB0cmFuc2l0aW9uc1wiIGNsYXNzPVwidHJhbnNpdGlvbi1pdGVtXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0cmFuc2l0aW9uLWNvdW50XCI+e3sgdC5jb3VudCB9fTwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRyYW5zaXRpb24tYXJyb3dcIj57eyB0LmZyb20gfX0gPHN0cm9uZz4mcmFycjs8L3N0cm9uZz4ge3sgdC50byB9fTwvc3Bhbj5cclxuICAgIDwvbGk+XHJcbjwvdWw+XHJcblxyXG48ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIiA+XHJcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiYWN0aXZlTW9kYWwuY2xvc2UoJ05vJylcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSB3LTEwMFwiPk5vPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIj5cclxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJhY3RpdmVNb2RhbC5jbG9zZSgnWWVzJylcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSB3LTEwMFwiIHN0eWxlPVwicGFkZGluZzogOC41cHg7XCI+WWVzPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZGl2PiJdfQ==