ngx-sfc-components 0.0.20 → 0.0.22
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.
- package/esm2020/lib/components/menu/dropdown/dropdown-menu.component.mjs +3 -3
- package/esm2020/lib/components/menu/dropdown/parts/item/dropdown-menu-item.component.mjs +2 -2
- package/esm2020/lib/components/table/table.component.mjs +6 -3
- package/esm2020/lib/components/table/table.constants.mjs +2 -1
- package/fesm2015/ngx-sfc-components.mjs +10 -7
- package/fesm2015/ngx-sfc-components.mjs.map +1 -1
- package/fesm2020/ngx-sfc-components.mjs +10 -7
- package/fesm2020/ngx-sfc-components.mjs.map +1 -1
- package/lib/components/table/table.component.d.ts +2 -1
- package/lib/components/table/table.constants.d.ts +1 -0
- package/package.json +2 -2
|
@@ -64,7 +64,7 @@ export class DropdownMenuComponent {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
DropdownMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownMenuComponent, deps: [{ token: i1.ResizeService }, { token: WINDOW }], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
-
DropdownMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownMenuComponent, selector: "sfc-dropdown-menu", inputs: { items: "items", icon: "icon", defaultDots: "defaultDots", label: "label", hideOnClick: "hideOnClick", hideOnClickOutside: "hideOnClickOutside", bordered: "bordered", filled: "filled", position: "position", open: "open", autoResize: "autoResize" }, outputs: { selected: "selected" }, host: { properties: { "class.bordered": "this.bordered", "class.filled": "this.filled", "class": "this.position", "class.open": "this.open" } }, ngImport: i0, template: "<ul [sfcClickOutside]=\"hideOnClickOutside\" (action)=\"onClickOutside($event)\">\r\n <li>\r\n <div class=\"container\" (click)=\"toggle($event)\">\r\n <span *ngIf=\"label\">{{label}}</span>\r\n <fa-icon *ngIf=\"icon\" [icon]=\"icon\"></fa-icon>\r\n <sfc-dots *ngIf=\"showDots\" [open]=\"open\"></sfc-dots>\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <ul *ngIf=\"items.length\" [@openClose]=\"open\" class=\"dropdown-container\">\r\n <sfc-dropdown-menu-item *ngFor=\"let item of items\" [item]=\"item\" (click)=\"onClick(item, $event)\">\r\n </sfc-dropdown-menu-item>\r\n </ul>\r\n </li>\r\n</ul>", styles: [":host{display:inline-flex}:host ul{list-style:none;margin:0;padding-left:0}:host ul li{position:relative}:host ul li .container{display:flex;justify-content:center;align-items:center;cursor:pointer;transition:color .5s ease,background .5s ease;transition:color .5s ease;padding:.3em}:host ul li .container,:host-context(.sfc-default-theme) :host ul li .container{color:#545e61}:host-context(.sfc-dark-theme) :host ul li .container{color:#fff}:host ul li .container span,:host ul li .container fa-icon{font-size:.8em;font-weight:700}:host ul li .container span~fa-icon{margin-left:.3em}:host ul li .container:hover{color:#ffce54}:host ul li .dropdown-container{flex-direction:column;width:max-content;background:#fff;transition:color .5s ease;position:absolute;right:0;transition:opacity .5s ease;margin-top:1em;display:none;padding:.6em;border:.0063em solid #f5f7fa;border-radius:.1875em;box-shadow:0 .125em .625em;z-index:9999}:host ul li .dropdown-container,:host-context(.sfc-default-theme) :host ul li .dropdown-container{color:#e6e9ed}:host-context(.sfc-dark-theme) :host ul li .dropdown-container{color:#656d78}:host.open ul li .dropdown-container{display:flex}:host.bordered ul li .container{width:1.3em;height:1.3em;border:.1em solid;transition:border-color .5s ease;border-radius:.3em;padding:0}:host.bordered ul li .container,:host-context(.sfc-default-theme) :host.bordered ul li .container{border-color:#545e61}:host-context(.sfc-dark-theme) :host.bordered ul li .container{border-color:#fff}:host.bordered ul li .container:hover{border-color:#ffce54}:host.bordered ul li .container:hover ::ng-deep sfc-dots .dot{background:#ffce54}:host.filled ul li .container{width:1.3em;height:1.3em;border:.1em solid transparent;border-radius:1.3em;padding:0}:host.filled ul li .container:
|
|
67
|
+
DropdownMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownMenuComponent, selector: "sfc-dropdown-menu", inputs: { items: "items", icon: "icon", defaultDots: "defaultDots", label: "label", hideOnClick: "hideOnClick", hideOnClickOutside: "hideOnClickOutside", bordered: "bordered", filled: "filled", position: "position", open: "open", autoResize: "autoResize" }, outputs: { selected: "selected" }, host: { properties: { "class.bordered": "this.bordered", "class.filled": "this.filled", "class": "this.position", "class.open": "this.open" } }, ngImport: i0, template: "<ul [sfcClickOutside]=\"hideOnClickOutside\" (action)=\"onClickOutside($event)\">\r\n <li>\r\n <div class=\"container\" (click)=\"toggle($event)\">\r\n <span *ngIf=\"label\">{{label}}</span>\r\n <fa-icon *ngIf=\"icon\" [icon]=\"icon\"></fa-icon>\r\n <sfc-dots *ngIf=\"showDots\" [open]=\"open\"></sfc-dots>\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <ul *ngIf=\"items.length\" [@openClose]=\"open\" class=\"dropdown-container\">\r\n <sfc-dropdown-menu-item *ngFor=\"let item of items\" [item]=\"item\" (click)=\"onClick(item, $event)\">\r\n </sfc-dropdown-menu-item>\r\n </ul>\r\n </li>\r\n</ul>", styles: [":host{display:inline-flex}:host ul{list-style:none;margin:0;padding-left:0}:host ul li{position:relative}:host ul li .container{display:flex;justify-content:center;align-items:center;cursor:pointer;transition:color .5s ease,background .5s ease;transition:color .5s ease;padding:.3em}:host ul li .container,:host-context(.sfc-default-theme) :host ul li .container{color:#545e61}:host-context(.sfc-dark-theme) :host ul li .container{color:#fff}:host ul li .container span,:host ul li .container fa-icon{font-size:.8em;font-weight:700}:host ul li .container span~fa-icon{margin-left:.3em}:host ul li .container:hover{color:#ffce54}:host ul li .dropdown-container{flex-direction:column;width:max-content;background:#fff;transition:color .5s ease;position:absolute;right:0;transition:opacity .5s ease;margin-top:1em;display:none;padding:.6em;border:.0063em solid #f5f7fa;border-radius:.1875em;box-shadow:0 .125em .625em;z-index:9999}:host ul li .dropdown-container,:host-context(.sfc-default-theme) :host ul li .dropdown-container{color:#e6e9ed}:host-context(.sfc-dark-theme) :host ul li .dropdown-container{color:#656d78}:host.open ul li .dropdown-container{display:flex}:host.bordered ul li .container{width:1.3em;height:1.3em;border:.1em solid;transition:border-color .5s ease;border-radius:.3em;padding:0}:host.bordered ul li .container,:host-context(.sfc-default-theme) :host.bordered ul li .container{border-color:#545e61}:host-context(.sfc-dark-theme) :host.bordered ul li .container{border-color:#fff}:host.bordered ul li .container:hover{border-color:#ffce54}:host.bordered ul li .container:hover ::ng-deep sfc-dots .dot{background:#ffce54}:host.filled ul li .container{width:1.3em;height:1.3em;border:.1em solid transparent;border-radius:1.3em;padding:0}:host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container>.dot{transition:background .5s ease}:host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container>.dot,:host-context(.sfc-default-theme) :host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container>.dot{background:#545e61}:host-context(.sfc-dark-theme) :host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container>.dot{background:#fff}:host.filled ul li .container:hover{background:#ffce54}:host.top ul li .dropdown-container{bottom:0;margin-bottom:2.18em;margin-top:0}:host.center ul li .dropdown-container{left:50%;transform:translate(-50%)}:host.left ul li .dropdown-container{right:0}:host.right ul li .dropdown-container{left:0}\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"] }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "directive", type: i1.ClickOutsideDirective, selector: "[sfcClickOutside]", inputs: ["sfcClickOutside"], outputs: ["action"] }, { kind: "component", type: i1.DotsComponent, selector: "sfc-dots", inputs: ["open", "direction"] }, { kind: "component", type: i4.DropdownMenuItemComponent, selector: "sfc-dropdown-menu-item", inputs: ["item"] }], animations: [
|
|
68
68
|
trigger('openClose', [
|
|
69
69
|
state('true', style({
|
|
70
70
|
opacity: 1
|
|
@@ -91,7 +91,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
91
91
|
animate('0.1s')
|
|
92
92
|
])
|
|
93
93
|
])
|
|
94
|
-
], template: "<ul [sfcClickOutside]=\"hideOnClickOutside\" (action)=\"onClickOutside($event)\">\r\n <li>\r\n <div class=\"container\" (click)=\"toggle($event)\">\r\n <span *ngIf=\"label\">{{label}}</span>\r\n <fa-icon *ngIf=\"icon\" [icon]=\"icon\"></fa-icon>\r\n <sfc-dots *ngIf=\"showDots\" [open]=\"open\"></sfc-dots>\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <ul *ngIf=\"items.length\" [@openClose]=\"open\" class=\"dropdown-container\">\r\n <sfc-dropdown-menu-item *ngFor=\"let item of items\" [item]=\"item\" (click)=\"onClick(item, $event)\">\r\n </sfc-dropdown-menu-item>\r\n </ul>\r\n </li>\r\n</ul>", styles: [":host{display:inline-flex}:host ul{list-style:none;margin:0;padding-left:0}:host ul li{position:relative}:host ul li .container{display:flex;justify-content:center;align-items:center;cursor:pointer;transition:color .5s ease,background .5s ease;transition:color .5s ease;padding:.3em}:host ul li .container,:host-context(.sfc-default-theme) :host ul li .container{color:#545e61}:host-context(.sfc-dark-theme) :host ul li .container{color:#fff}:host ul li .container span,:host ul li .container fa-icon{font-size:.8em;font-weight:700}:host ul li .container span~fa-icon{margin-left:.3em}:host ul li .container:hover{color:#ffce54}:host ul li .dropdown-container{flex-direction:column;width:max-content;background:#fff;transition:color .5s ease;position:absolute;right:0;transition:opacity .5s ease;margin-top:1em;display:none;padding:.6em;border:.0063em solid #f5f7fa;border-radius:.1875em;box-shadow:0 .125em .625em;z-index:9999}:host ul li .dropdown-container,:host-context(.sfc-default-theme) :host ul li .dropdown-container{color:#e6e9ed}:host-context(.sfc-dark-theme) :host ul li .dropdown-container{color:#656d78}:host.open ul li .dropdown-container{display:flex}:host.bordered ul li .container{width:1.3em;height:1.3em;border:.1em solid;transition:border-color .5s ease;border-radius:.3em;padding:0}:host.bordered ul li .container,:host-context(.sfc-default-theme) :host.bordered ul li .container{border-color:#545e61}:host-context(.sfc-dark-theme) :host.bordered ul li .container{border-color:#fff}:host.bordered ul li .container:hover{border-color:#ffce54}:host.bordered ul li .container:hover ::ng-deep sfc-dots .dot{background:#ffce54}:host.filled ul li .container{width:1.3em;height:1.3em;border:.1em solid transparent;border-radius:1.3em;padding:0}:host.filled ul li .container:
|
|
94
|
+
], template: "<ul [sfcClickOutside]=\"hideOnClickOutside\" (action)=\"onClickOutside($event)\">\r\n <li>\r\n <div class=\"container\" (click)=\"toggle($event)\">\r\n <span *ngIf=\"label\">{{label}}</span>\r\n <fa-icon *ngIf=\"icon\" [icon]=\"icon\"></fa-icon>\r\n <sfc-dots *ngIf=\"showDots\" [open]=\"open\"></sfc-dots>\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <ul *ngIf=\"items.length\" [@openClose]=\"open\" class=\"dropdown-container\">\r\n <sfc-dropdown-menu-item *ngFor=\"let item of items\" [item]=\"item\" (click)=\"onClick(item, $event)\">\r\n </sfc-dropdown-menu-item>\r\n </ul>\r\n </li>\r\n</ul>", styles: [":host{display:inline-flex}:host ul{list-style:none;margin:0;padding-left:0}:host ul li{position:relative}:host ul li .container{display:flex;justify-content:center;align-items:center;cursor:pointer;transition:color .5s ease,background .5s ease;transition:color .5s ease;padding:.3em}:host ul li .container,:host-context(.sfc-default-theme) :host ul li .container{color:#545e61}:host-context(.sfc-dark-theme) :host ul li .container{color:#fff}:host ul li .container span,:host ul li .container fa-icon{font-size:.8em;font-weight:700}:host ul li .container span~fa-icon{margin-left:.3em}:host ul li .container:hover{color:#ffce54}:host ul li .dropdown-container{flex-direction:column;width:max-content;background:#fff;transition:color .5s ease;position:absolute;right:0;transition:opacity .5s ease;margin-top:1em;display:none;padding:.6em;border:.0063em solid #f5f7fa;border-radius:.1875em;box-shadow:0 .125em .625em;z-index:9999}:host ul li .dropdown-container,:host-context(.sfc-default-theme) :host ul li .dropdown-container{color:#e6e9ed}:host-context(.sfc-dark-theme) :host ul li .dropdown-container{color:#656d78}:host.open ul li .dropdown-container{display:flex}:host.bordered ul li .container{width:1.3em;height:1.3em;border:.1em solid;transition:border-color .5s ease;border-radius:.3em;padding:0}:host.bordered ul li .container,:host-context(.sfc-default-theme) :host.bordered ul li .container{border-color:#545e61}:host-context(.sfc-dark-theme) :host.bordered ul li .container{border-color:#fff}:host.bordered ul li .container:hover{border-color:#ffce54}:host.bordered ul li .container:hover ::ng-deep sfc-dots .dot{background:#ffce54}:host.filled ul li .container{width:1.3em;height:1.3em;border:.1em solid transparent;border-radius:1.3em;padding:0}:host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container>.dot{transition:background .5s ease}:host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container>.dot,:host-context(.sfc-default-theme) :host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container>.dot{background:#545e61}:host-context(.sfc-dark-theme) :host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container>.dot{background:#fff}:host.filled ul li .container:hover{background:#ffce54}:host.top ul li .dropdown-container{bottom:0;margin-bottom:2.18em;margin-top:0}:host.center ul li .dropdown-container{left:50%;transform:translate(-50%)}:host.left ul li .dropdown-container{right:0}:host.right ul li .dropdown-container{left:0}\n"] }]
|
|
95
95
|
}], ctorParameters: function () { return [{ type: i1.ResizeService }, { type: Window, decorators: [{
|
|
96
96
|
type: Inject,
|
|
97
97
|
args: [WINDOW]
|
|
@@ -132,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
132
132
|
}], selected: [{
|
|
133
133
|
type: Output
|
|
134
134
|
}] } });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUvZHJvcGRvd24vZHJvcGRvd24tbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUvZHJvcGRvd24vZHJvcGRvd24tbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpJLE9BQU8sRUFBcUIsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQWlCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxSSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxNQUFNLENBQUM7Ozs7OztBQXdCdkQsTUFBTSxPQUFPLHFCQUFxQjtJQW1EaEMsWUFBb0IsYUFBNEIsRUFBMEIsTUFBYztRQUFwRSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUEwQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBaER4RixVQUFLLEdBQTZCLEVBQUUsQ0FBQztRQU1yQyxnQkFBVyxHQUFZLElBQUksQ0FBQztRQU01QixnQkFBVyxHQUFZLElBQUksQ0FBQztRQUc1Qix1QkFBa0IsR0FBWSxJQUFJLENBQUM7UUFJbkMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUkx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Z0JBQWdCLEVBQUU7Z0JBQzNCLE9BQU8sQ0FBQyxNQUFNLENBQUM7YUFDaEIsQ0FBQztTQUNILENBQ0Y7S0FDRjsyRkFFVSxxQkFBcUI7a0JBckJqQyxTQUFTOytCQUNFLG1CQUFtQixjQUdqQjt3QkFDVixPQUFPLENBQ0wsV0FBVyxFQUNYOzRCQUNFLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO2dDQUNsQixPQUFPLEVBQUUsQ0FBQzs2QkFDWCxDQUFDLENBQUM7NEJBQ0gsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUM7Z0NBQ25CLE9BQU8sRUFBRSxDQUFDOzZCQUNYLENBQUMsQ0FBQzs0QkFDSCxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7Z0NBQzNCLE9BQU8sQ0FBQyxNQUFNLENBQUM7NkJBQ2hCLENBQUM7eUJBQ0gsQ0FDRjtxQkFDRjs7MEJBcURrRCxNQUFNOzJCQUFDLE1BQU07NENBaERoRSxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFLTixRQUFRO3NCQUZQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRO2dCQUt4QyxNQUFNO3NCQUZMLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNO2dCQUt0QyxRQUFRO3NCQUZQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsT0FBTztnQkFLcEIsSUFBSTtzQkFGSCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSTtnQkFJcEMsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSWNvbkRlZmluaXRpb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xyXG5pbXBvcnQgeyBDbGlja091dHNpZGVFdmVudCwgaXNEZWZpbmVkLCBpc051bGxPckVtcHR5U3RyaW5nLCBNZWRpYUxpbWl0cywgUG9zaXRpb24sIFJlc2l6ZVNlcnZpY2UsIFVJQ2xhc3MsIFdJTkRPVyB9IGZyb20gJ25neC1zZmMtY29tbW9uJztcclxuaW1wb3J0IHsgZmlsdGVyLCBzdGFydFdpdGgsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJRHJvcGRvd25NZW51SXRlbU1vZGVsIH0gZnJvbSAnLi9wYXJ0cy9pdGVtL2Ryb3Bkb3duLW1lbnUtaXRlbS5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NmYy1kcm9wZG93bi1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24tbWVudS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoXHJcbiAgICAgICdvcGVuQ2xvc2UnLFxyXG4gICAgICBbXHJcbiAgICAgICAgc3RhdGUoJ3RydWUnLCBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxXHJcbiAgICAgICAgfSkpLFxyXG4gICAgICAgIHN0YXRlKCdmYWxzZScsIHN0eWxlKHtcclxuICAgICAgICAgIG9wYWNpdHk6IDAsXHJcbiAgICAgICAgfSkpLFxyXG4gICAgICAgIHRyYW5zaXRpb24oJ3RydWUgPD0+IGZhbHNlJywgW1xyXG4gICAgICAgICAgYW5pbWF0ZSgnMC4xcycpXHJcbiAgICAgICAgXSlcclxuICAgICAgXVxyXG4gICAgKVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERyb3Bkb3duTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBpdGVtczogSURyb3Bkb3duTWVudUl0ZW1Nb2RlbFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaWNvbj86IEljb25EZWZpbml0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRlZmF1bHREb3RzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBsYWJlbD86IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBoaWRlT25DbGljazogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaGlkZU9uQ2xpY2tPdXRzaWRlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLicgKyBVSUNsYXNzLkJvcmRlcmVkKVxyXG4gIGJvcmRlcmVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy4nICsgVUlDbGFzcy5GaWxsZWQpXHJcbiAgZmlsbGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgcG9zaXRpb246IFBvc2l0aW9uW10gPSBbUG9zaXRpb24uTGVmdF07XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy4nICsgVUlDbGFzcy5PcGVuKVxyXG4gIG9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBhdXRvUmVzaXplOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgc2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxJRHJvcGRvd25NZW51SXRlbU1vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXI8SURyb3Bkb3duTWVudUl0ZW1Nb2RlbD4oKTtcclxuXHJcbiAgLy8gcHJlc2VydmVkIHBvc2l0aW9uXHJcbiAgcHJpdmF0ZSBfcG9zaXRpb24gPSBbUG9zaXRpb24uTGVmdF07XHJcblxyXG4gIHByaXZhdGUgX3Jlc2l6ZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgZ2V0IHNob3dEb3RzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdERvdHMgJiYgaXNOdWxsT3JFbXB0eVN0cmluZyh0aGlzLmxhYmVsKSAmJiAhaXNEZWZpbmVkKHRoaXMuaWNvbik7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc2l6ZVNlcnZpY2U6IFJlc2l6ZVNlcnZpY2UsIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHdpbmRvdzogV2luZG93KSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9wb3NpdGlvbiA9IHRoaXMucG9zaXRpb247XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZXNpemVTdWJzY3JpcHRpb24gPSB0aGlzLnJlc2l6ZVNlcnZpY2Uub25SZXNpemUkXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLndpbmRvdyksXHJcbiAgICAgICAgZmlsdGVyKF8gPT4gdGhpcy5hdXRvUmVzaXplKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUod2luZG93ID0+IHtcclxuICAgICAgICB0aGlzLnBvc2l0aW9uID0gd2luZG93LmlubmVyV2lkdGggPD0gTWVkaWFMaW1pdHMuVGFibGV0XHJcbiAgICAgICAgICA/IFtQb3NpdGlvbi5Cb3R0b20sIFBvc2l0aW9uLkNlbnRlcl0gOiB0aGlzLl9wb3NpdGlvblxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcmVzaXplU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgb25DbGljayhpdGVtOiBJRHJvcGRvd25NZW51SXRlbU1vZGVsLCBldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMucHJldmVudFByb3BhZ2F0aW9uKGV2ZW50KTtcclxuXHJcbiAgICBpZiAodGhpcy5oaWRlT25DbGljaylcclxuICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XHJcblxyXG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5hY3RpdmUgPSBmYWxzZSk7XHJcbiAgICBpdGVtLmFjdGl2ZSA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZC5lbWl0KGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5wcmV2ZW50UHJvcGFnYXRpb24oZXZlbnQpO1xyXG4gICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tPdXRzaWRlKGV2ZW50OiBDbGlja091dHNpZGVFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50LnZhbHVlICYmIHRoaXMub3Blbikge1xyXG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJldmVudFByb3BhZ2F0aW9uKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxufVxyXG4iLCI8dWwgW3NmY0NsaWNrT3V0c2lkZV09XCJoaWRlT25DbGlja091dHNpZGVcIiAoYWN0aW9uKT1cIm9uQ2xpY2tPdXRzaWRlKCRldmVudClcIj5cclxuICAgIDxsaT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgKGNsaWNrKT1cInRvZ2dsZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxmYS1pY29uICpuZ0lmPVwiaWNvblwiIFtpY29uXT1cImljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgIDxzZmMtZG90cyAqbmdJZj1cInNob3dEb3RzXCIgW29wZW5dPVwib3BlblwiPjwvc2ZjLWRvdHM+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPHVsICpuZ0lmPVwiaXRlbXMubGVuZ3RoXCIgW0BvcGVuQ2xvc2VdPVwib3BlblwiIGNsYXNzPVwiZHJvcGRvd24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxzZmMtZHJvcGRvd24tbWVudS1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCIgW2l0ZW1dPVwiaXRlbVwiIChjbGljayk9XCJvbkNsaWNrKGl0ZW0sICRldmVudClcIj5cclxuICAgICAgICAgICAgPC9zZmMtZHJvcGRvd24tbWVudS1pdGVtPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2xpPlxyXG48L3VsPiJdfQ==
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUvZHJvcGRvd24vZHJvcGRvd24tbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUvZHJvcGRvd24vZHJvcGRvd24tbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpJLE9BQU8sRUFBcUIsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQWlCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxSSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxNQUFNLENBQUM7Ozs7OztBQXdCdkQsTUFBTSxPQUFPLHFCQUFxQjtJQW1EaEMsWUFBb0IsYUFBNEIsRUFBMEIsTUFBYztRQUFwRSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUEwQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBaER4RixVQUFLLEdBQTZCLEVBQUUsQ0FBQztRQU1yQyxnQkFBVyxHQUFZLElBQUksQ0FBQztRQU01QixnQkFBVyxHQUFZLElBQUksQ0FBQztRQUc1Qix1QkFBa0IsR0FBWSxJQUFJLENBQUM7UUFJbkMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUkx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Z0JBQWdCLEVBQUU7Z0JBQzNCLE9BQU8sQ0FBQyxNQUFNLENBQUM7YUFDaEIsQ0FBQztTQUNILENBQ0Y7S0FDRjsyRkFFVSxxQkFBcUI7a0JBckJqQyxTQUFTOytCQUNFLG1CQUFtQixjQUdqQjt3QkFDVixPQUFPLENBQ0wsV0FBVyxFQUNYOzRCQUNFLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO2dDQUNsQixPQUFPLEVBQUUsQ0FBQzs2QkFDWCxDQUFDLENBQUM7NEJBQ0gsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUM7Z0NBQ25CLE9BQU8sRUFBRSxDQUFDOzZCQUNYLENBQUMsQ0FBQzs0QkFDSCxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7Z0NBQzNCLE9BQU8sQ0FBQyxNQUFNLENBQUM7NkJBQ2hCLENBQUM7eUJBQ0gsQ0FDRjtxQkFDRjs7MEJBcURrRCxNQUFNOzJCQUFDLE1BQU07NENBaERoRSxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFLTixRQUFRO3NCQUZQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRO2dCQUt4QyxNQUFNO3NCQUZMLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNO2dCQUt0QyxRQUFRO3NCQUZQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsT0FBTztnQkFLcEIsSUFBSTtzQkFGSCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSTtnQkFJcEMsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSWNvbkRlZmluaXRpb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xyXG5pbXBvcnQgeyBDbGlja091dHNpZGVFdmVudCwgaXNEZWZpbmVkLCBpc051bGxPckVtcHR5U3RyaW5nLCBNZWRpYUxpbWl0cywgUG9zaXRpb24sIFJlc2l6ZVNlcnZpY2UsIFVJQ2xhc3MsIFdJTkRPVyB9IGZyb20gJ25neC1zZmMtY29tbW9uJztcclxuaW1wb3J0IHsgZmlsdGVyLCBzdGFydFdpdGgsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJRHJvcGRvd25NZW51SXRlbU1vZGVsIH0gZnJvbSAnLi9wYXJ0cy9pdGVtL2Ryb3Bkb3duLW1lbnUtaXRlbS5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NmYy1kcm9wZG93bi1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24tbWVudS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoXHJcbiAgICAgICdvcGVuQ2xvc2UnLFxyXG4gICAgICBbXHJcbiAgICAgICAgc3RhdGUoJ3RydWUnLCBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxXHJcbiAgICAgICAgfSkpLFxyXG4gICAgICAgIHN0YXRlKCdmYWxzZScsIHN0eWxlKHtcclxuICAgICAgICAgIG9wYWNpdHk6IDAsXHJcbiAgICAgICAgfSkpLFxyXG4gICAgICAgIHRyYW5zaXRpb24oJ3RydWUgPD0+IGZhbHNlJywgW1xyXG4gICAgICAgICAgYW5pbWF0ZSgnMC4xcycpXHJcbiAgICAgICAgXSlcclxuICAgICAgXVxyXG4gICAgKVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERyb3Bkb3duTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBpdGVtczogSURyb3Bkb3duTWVudUl0ZW1Nb2RlbFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaWNvbj86IEljb25EZWZpbml0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRlZmF1bHREb3RzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBsYWJlbD86IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBoaWRlT25DbGljazogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaGlkZU9uQ2xpY2tPdXRzaWRlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLicgKyBVSUNsYXNzLkJvcmRlcmVkKVxyXG4gIGJvcmRlcmVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy4nICsgVUlDbGFzcy5GaWxsZWQpXHJcbiAgZmlsbGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgcG9zaXRpb246IFBvc2l0aW9uW10gPSBbUG9zaXRpb24uTGVmdF07XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy4nICsgVUlDbGFzcy5PcGVuKVxyXG4gIG9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBhdXRvUmVzaXplOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgc2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxJRHJvcGRvd25NZW51SXRlbU1vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXI8SURyb3Bkb3duTWVudUl0ZW1Nb2RlbD4oKTtcclxuXHJcbiAgLy8gcHJlc2VydmVkIHBvc2l0aW9uXHJcbiAgcHJpdmF0ZSBfcG9zaXRpb24gPSBbUG9zaXRpb24uTGVmdF07XHJcblxyXG4gIHByaXZhdGUgX3Jlc2l6ZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgZ2V0IHNob3dEb3RzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdERvdHMgJiYgaXNOdWxsT3JFbXB0eVN0cmluZyh0aGlzLmxhYmVsKSAmJiAhaXNEZWZpbmVkKHRoaXMuaWNvbik7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc2l6ZVNlcnZpY2U6IFJlc2l6ZVNlcnZpY2UsIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHdpbmRvdzogV2luZG93KSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9wb3NpdGlvbiA9IHRoaXMucG9zaXRpb247XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZXNpemVTdWJzY3JpcHRpb24gPSB0aGlzLnJlc2l6ZVNlcnZpY2Uub25SZXNpemUkXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLndpbmRvdyksXHJcbiAgICAgICAgZmlsdGVyKF8gPT4gdGhpcy5hdXRvUmVzaXplKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUod2luZG93ID0+IHtcclxuICAgICAgICB0aGlzLnBvc2l0aW9uID0gd2luZG93LmlubmVyV2lkdGggPD0gTWVkaWFMaW1pdHMuVGFibGV0XHJcbiAgICAgICAgICA/IFtQb3NpdGlvbi5Cb3R0b20sIFBvc2l0aW9uLkNlbnRlcl0gOiB0aGlzLl9wb3NpdGlvblxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcmVzaXplU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgb25DbGljayhpdGVtOiBJRHJvcGRvd25NZW51SXRlbU1vZGVsLCBldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMucHJldmVudFByb3BhZ2F0aW9uKGV2ZW50KTtcclxuXHJcbiAgICBpZiAodGhpcy5oaWRlT25DbGljaylcclxuICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XHJcblxyXG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5hY3RpdmUgPSBmYWxzZSk7XHJcbiAgICBpdGVtLmFjdGl2ZSA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZC5lbWl0KGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5wcmV2ZW50UHJvcGFnYXRpb24oZXZlbnQpO1xyXG4gICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tPdXRzaWRlKGV2ZW50OiBDbGlja091dHNpZGVFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50LnZhbHVlICYmIHRoaXMub3Blbikge1xyXG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJldmVudFByb3BhZ2F0aW9uKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxufVxyXG4iLCI8dWwgW3NmY0NsaWNrT3V0c2lkZV09XCJoaWRlT25DbGlja091dHNpZGVcIiAoYWN0aW9uKT1cIm9uQ2xpY2tPdXRzaWRlKCRldmVudClcIj5cclxuICAgIDxsaT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgKGNsaWNrKT1cInRvZ2dsZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxmYS1pY29uICpuZ0lmPVwiaWNvblwiIFtpY29uXT1cImljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgIDxzZmMtZG90cyAqbmdJZj1cInNob3dEb3RzXCIgW29wZW5dPVwib3BlblwiPjwvc2ZjLWRvdHM+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPHVsICpuZ0lmPVwiaXRlbXMubGVuZ3RoXCIgW0BvcGVuQ2xvc2VdPVwib3BlblwiIGNsYXNzPVwiZHJvcGRvd24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxzZmMtZHJvcGRvd24tbWVudS1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCIgW2l0ZW1dPVwiaXRlbVwiIChjbGljayk9XCJvbkNsaWNrKGl0ZW0sICRldmVudClcIj5cclxuICAgICAgICAgICAgPC9zZmMtZHJvcGRvd24tbWVudS1pdGVtPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2xpPlxyXG48L3VsPiJdfQ==
|
|
@@ -14,10 +14,10 @@ export class DropdownMenuItemComponent {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
DropdownMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
-
DropdownMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownMenuItemComponent, selector: "sfc-dropdown-menu-item", inputs: { item: "item" }, host: { listeners: { "click": "click()" }, properties: { "class.active": "this._active" } }, ngImport: i0, template: "<li>\r\n <sfc-icon [icon]=\"item.icon\" [imageSrc]=\"item.image\"></sfc-icon>\r\n <a>{{item.label}}</a>\r\n</li>\r\n\r\n<sfc-delimeter *ngIf=\"item.delimeter\"></sfc-delimeter>", styles: [":host{display:flex;flex-direction:column;padding:.1em 0}:host li{color:#545e61;display:flex;align-items:center;flex-wrap:wrap;padding:.4em;border:.0063em solid transparent;border-radius:.31em;font-weight:700;font-size:.8em;-webkit-user-select:none;user-select:none;transition:color .5s ease,border-color .5s ease,background .5s ease}:host li:hover,:host li:focus-within{background:#f5f7fa;border-color:#f5f7fa;color:#2bbbad;cursor:pointer;outline:none}:host li sfc-icon{padding-right:.625em;width:10%}:host
|
|
17
|
+
DropdownMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownMenuItemComponent, selector: "sfc-dropdown-menu-item", inputs: { item: "item" }, host: { listeners: { "click": "click()" }, properties: { "class.active": "this._active" } }, ngImport: i0, template: "<li>\r\n <sfc-icon [icon]=\"item.icon\" [imageSrc]=\"item.image\"></sfc-icon>\r\n <a>{{item.label}}</a>\r\n</li>\r\n\r\n<sfc-delimeter *ngIf=\"item.delimeter\"></sfc-delimeter>", styles: [":host{display:flex;flex-direction:column;padding:.1em 0}:host li{color:#545e61;display:flex;align-items:center;flex-wrap:wrap;padding:.4em;border:.0063em solid transparent;border-radius:.31em;font-weight:700;font-size:.8em;-webkit-user-select:none;user-select:none;transition:color .5s ease,border-color .5s ease,background .5s ease}:host li:hover,:host li:focus-within{background:#f5f7fa;border-color:#f5f7fa;color:#2bbbad;cursor:pointer;outline:none}:host li sfc-icon{padding-right:.625em;width:10%}:host.active li{background:#e6e9ed;border-color:#e6e9ed;color:#2bbbad}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.DelimeterComponent, selector: "sfc-delimeter", inputs: ["label", "direction"] }, { kind: "component", type: i2.IconComponent, selector: "sfc-icon", inputs: ["icon", "imageSrc"] }] });
|
|
18
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownMenuItemComponent, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
|
-
args: [{ selector: 'sfc-dropdown-menu-item', template: "<li>\r\n <sfc-icon [icon]=\"item.icon\" [imageSrc]=\"item.image\"></sfc-icon>\r\n <a>{{item.label}}</a>\r\n</li>\r\n\r\n<sfc-delimeter *ngIf=\"item.delimeter\"></sfc-delimeter>", styles: [":host{display:flex;flex-direction:column;padding:.1em 0}:host li{color:#545e61;display:flex;align-items:center;flex-wrap:wrap;padding:.4em;border:.0063em solid transparent;border-radius:.31em;font-weight:700;font-size:.8em;-webkit-user-select:none;user-select:none;transition:color .5s ease,border-color .5s ease,background .5s ease}:host li:hover,:host li:focus-within{background:#f5f7fa;border-color:#f5f7fa;color:#2bbbad;cursor:pointer;outline:none}:host li sfc-icon{padding-right:.625em;width:10%}:host
|
|
20
|
+
args: [{ selector: 'sfc-dropdown-menu-item', template: "<li>\r\n <sfc-icon [icon]=\"item.icon\" [imageSrc]=\"item.image\"></sfc-icon>\r\n <a>{{item.label}}</a>\r\n</li>\r\n\r\n<sfc-delimeter *ngIf=\"item.delimeter\"></sfc-delimeter>", styles: [":host{display:flex;flex-direction:column;padding:.1em 0}:host li{color:#545e61;display:flex;align-items:center;flex-wrap:wrap;padding:.4em;border:.0063em solid transparent;border-radius:.31em;font-weight:700;font-size:.8em;-webkit-user-select:none;user-select:none;transition:color .5s ease,border-color .5s ease,background .5s ease}:host li:hover,:host li:focus-within{background:#f5f7fa;border-color:#f5f7fa;color:#2bbbad;cursor:pointer;outline:none}:host li sfc-icon{padding-right:.625em;width:10%}:host.active li{background:#e6e9ed;border-color:#e6e9ed;color:#2bbbad}\n"] }]
|
|
21
21
|
}], propDecorators: { item: [{
|
|
22
22
|
type: Input
|
|
23
23
|
}], _active: [{
|
|
@@ -43,6 +43,7 @@ export class TableComponent {
|
|
|
43
43
|
this.sequence = false;
|
|
44
44
|
this.expanded = false;
|
|
45
45
|
this.notFoundLabel = this.Constants.NOT_FOUND_LABEL_DEFAULT;
|
|
46
|
+
this.loadMoreLabel = this.Constants.LOAD_MORE_LABEL_DEFAULT;
|
|
46
47
|
this.showTotal = false;
|
|
47
48
|
this.totalLabel = this.Constants.TOTAL_LABEL_DEFAULT;
|
|
48
49
|
this.paginationCount = PaginationConstants.DEFAULT_COUNT;
|
|
@@ -222,10 +223,10 @@ export class TableComponent {
|
|
|
222
223
|
}
|
|
223
224
|
}
|
|
224
225
|
TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TableComponent, deps: [{ token: i1.ColumnsToggleService }, { token: WINDOW }, { token: i2.TableSelectService }, { token: i3.SortingService }, { token: i0.ChangeDetectorRef }, { token: i3.ResizeService }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component });
|
|
225
|
-
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TableComponent, selector: "sfc-table", inputs: { position: "position", delimeter: "delimeter", dataType: "dataType", dataToggle: "dataToggle", showColumns: "showColumns", columnsToggle: "columnsToggle", pagination: "pagination", sequence: "sequence", expanded: "expanded", notFoundLabel: "notFoundLabel", showTotal: "showTotal", totalLabel: "totalLabel", paginationCount: "paginationCount", paginationLimits: "paginationLimits", showLoading: "showLoading", columnContent: "columnContent", rowContent: "rowContent", cardContent: "cardContent", data: "data", data$: "data$", columns: "columns", showColumnsLabel: "showColumnsLabel", hideColumnsLabel: "hideColumnsLabel", resize: "resize", loadType: "loadType", loader: "loader", filter: "filter", predicate$: "predicate$", selectable: "selectable", selectOnClick: "selectOnClick", dataListLabel: "dataListLabel", dataCardsLabel: "dataCardsLabel" }, outputs: { selected: "selected" }, host: { properties: { "class": "this.dataType", "class.loading": "this.loading" } }, providers: [SortingService, TableSelectService, ColumnsToggleService, ResizeService], queries: [{ propertyName: "templates", predicate: TemplateReferenceDirective, read: TemplateReferenceDirective }], ngImport: i0, template: "<div class=\"container\">\r\n <div *ngIf=\"showLoading\" class=\"table-loader\"></div>\r\n <div class=\"columns-container\">\r\n <div class=\"columns-actions\">\r\n <div class=\"left\">\r\n <sfc-columns-toggle *ngIf=\"columnsToggle\" [showLabel]=\"showColumnsLabel\" [hideLabel]=\"hideColumnsLabel\">\r\n </sfc-columns-toggle>\r\n </div>\r\n\r\n <div class=\"right\">\r\n <p *ngIf=\"showTotal\">{{totalLabel}}: <span>{{total}}</span></p>\r\n <sfc-toggle-switcher *ngIf=\"dataToggle\" [active]=\"dataType === TableDataType.Cards\"\r\n [leftModel]=\"toggleSwitcherLeftModel\" [rightModel]=\"toggleSwitcherRightModel\"\r\n (click)=\"onDataTypeToggle()\">\r\n </sfc-toggle-switcher>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showColumns && columnsToggleService.show\" class=\"columns\">\r\n <div class=\"column\" [style.justifyContent]=\"position\" [style.minWidth]=\"column.calculatedWidth\"\r\n *ngFor=\"let column of tableColumns\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <sfc-selectable-table-column *ngSwitchCase=\"TableColumnType.Selectable\"\r\n [selected]=\"allRowsSelected\">\r\n </sfc-selectable-table-column>\r\n\r\n <sfc-sorting-column *ngSwitchDefault [model]=\"column.sorting!\" [id]=\"column.field\">\r\n\r\n <sfc-template-content [referenceContent]=\"columnContent\" [templatesContent]=\"templates\"\r\n [templateType]=\"TableTemplate.Column\" [defaultContent]=\"defaultColumn\"\r\n [contextData]=\"column\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultColumn>\r\n <sfc-default-table-column [model]=\"column\"></sfc-default-table-column>\r\n </ng-template>\r\n\r\n </sfc-sorting-column>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <sfc-delimeter *ngIf=\"delimeter\" class=\"table-delimeter\"></sfc-delimeter>\r\n\r\n <div class=\"rows-container\">\r\n <sfc-load-container [id]=\"loadContainerId\" [type]=\"LoadContainerType.Table\" [model]=\"loadModel\"\r\n [paginationCount]=\"paginationCount\" [paginationLimits]=\"paginationLimits\" [showLoading]=\"showLoading\"\r\n (handleSuccess)=\"handleSuccess($event)\" (handleLoading)=\"loading = $event\" [emptyLabel]=\"notFoundLabel\">\r\n <div class=\"row\" *ngFor=\"let item of items; index as i;\">\r\n <ng-container [ngSwitch]=\"dataType\">\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Rows\" [referenceContent]=\"rowContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Row\" [defaultContent]=\"defaultRow\"\r\n [contextData]=\"{model: item, columns: tableColumns, position: position}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultRow>\r\n <sfc-default-table-row [columns]=\"tableColumns\" [model]=\"item\" [position]=\"position\"\r\n [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-row>\r\n </ng-template>\r\n\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Cards\" [referenceContent]=\"cardContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Card\"\r\n [defaultContent]=\"defaultCard\" [contextData]=\"{model: item, columns: tableColumns}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultCard>\r\n <sfc-default-table-card [columns]=\"tableColumns\" [model]=\"item\" [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-card>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n\r\n </sfc-load-container>\r\n </div>\r\n</div>", styles: [":host .container{display:block;margin:2em auto;width:90%;position:relative}:host .container .columns-container{display:flex;flex-flow:row wrap;transition:.5s;justify-content:space-between}:host .container .columns-container .columns-actions{display:flex;align-items:center;width:100%}:host .container .columns-container .columns-actions .right{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;margin-left:auto}:host .container .columns-container .columns-actions .right>p{transition:color .5s ease;margin:0;font-size:.8em;padding-right:1em;font-weight:700;-webkit-user-select:none;user-select:none;text-align:center}:host .container .columns-container .columns-actions .right>p,:host-context(.sfc-default-theme) :host .container .columns-container .columns-actions .right>p{color:#545e61}:host-context(.sfc-dark-theme) :host .container .columns-container .columns-actions .right>p{color:#fff}:host .container .columns-container .columns-actions .right>p span{font-size:1.1em;color:#ffce54}:host .container .columns-container .columns{text-align:center;padding:.5em;width:100%;display:flex;flex-flow:row wrap}:host .container .columns-container .columns .column{text-align:center;padding:.5em;display:flex;align-items:center;justify-content:center;box-sizing:border-box}:host .container .rows-container{display:flex;flex-wrap:wrap;justify-content:center;transition:.5s;gap:1em;margin-block:1em 2em}:host .container .rows-container sfc-load-container ::ng-deep>.content{background:transparent}:host .container .rows-container sfc-load-container.loading{cursor:initial;z-index:9999}:host .container .rows-container sfc-load-container.loading .preloader{transition:background .5s ease}:host .container .rows-container sfc-load-container.loading .preloader,:host-context(.sfc-default-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:#fff}:host-context(.sfc-dark-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:transparent}:host .container .rows-container .row{display:contents}:host.loading .container .table-loader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;z-index:9998;position:absolute;transition:background-color .5s ease;opacity:.7}:host.loading .container .table-loader,:host-context(.sfc-default-theme) :host.loading .container .table-loader{background-color:#fff}:host-context(.sfc-dark-theme) :host.loading .container .table-loader{background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.DelimeterComponent, selector: "sfc-delimeter", inputs: ["label", "direction"] }, { kind: "component", type: i3.TemplateContentComponent, selector: "sfc-template-content", inputs: ["contextData", "referenceContent", "templateType", "templatesContent", "defaultContent"] }, { kind: "component", type: i3.ToggleSwitcherComponent, selector: "sfc-toggle-switcher", inputs: ["active", "disabled", "leftModel", "rightModel"] }, { kind: "component", type: i3.LoadContainerComponent, selector: "sfc-load-container", inputs: ["id", "type", "open", "loadMore", "loadMoreLabel", "showEmpty", "emptyLabel", "model", "scrollTarget", "paginationCount", "paginationLimits", "showLoading"], outputs: ["handleError", "handleSuccess", "handleLoading"] }, { kind: "component", type: i5.DefaultTableColumnComponent, selector: "sfc-default-table-column", inputs: ["model"] }, { kind: "component", type: i6.SelectableTableColumnComponent, selector: "sfc-selectable-table-column", inputs: ["selected"] }, { kind: "component", type: i7.ColumnsToggleComponent, selector: "sfc-columns-toggle", inputs: ["showLabel", "hideLabel"] }, { kind: "component", type: i8.SortingColumnComponent, selector: "sfc-sorting-column", inputs: ["id", "model"] }, { kind: "component", type: i9.DefaultTableRowComponent, selector: "sfc-default-table-row" }, { kind: "component", type: i10.DefaultTableCardComponent, selector: "sfc-default-table-card" }] });
|
|
226
|
+
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TableComponent, selector: "sfc-table", inputs: { position: "position", delimeter: "delimeter", dataType: "dataType", dataToggle: "dataToggle", showColumns: "showColumns", columnsToggle: "columnsToggle", pagination: "pagination", sequence: "sequence", expanded: "expanded", notFoundLabel: "notFoundLabel", loadMoreLabel: "loadMoreLabel", showTotal: "showTotal", totalLabel: "totalLabel", paginationCount: "paginationCount", paginationLimits: "paginationLimits", showLoading: "showLoading", columnContent: "columnContent", rowContent: "rowContent", cardContent: "cardContent", data: "data", data$: "data$", columns: "columns", showColumnsLabel: "showColumnsLabel", hideColumnsLabel: "hideColumnsLabel", resize: "resize", loadType: "loadType", loader: "loader", filter: "filter", predicate$: "predicate$", selectable: "selectable", selectOnClick: "selectOnClick", dataListLabel: "dataListLabel", dataCardsLabel: "dataCardsLabel" }, outputs: { selected: "selected" }, host: { properties: { "class": "this.dataType", "class.loading": "this.loading" } }, providers: [SortingService, TableSelectService, ColumnsToggleService, ResizeService], queries: [{ propertyName: "templates", predicate: TemplateReferenceDirective, read: TemplateReferenceDirective }], ngImport: i0, template: "<div class=\"container\">\r\n <div *ngIf=\"showLoading\" class=\"table-loader\"></div>\r\n <div class=\"columns-container\">\r\n <div class=\"columns-actions\">\r\n <div class=\"left\">\r\n <sfc-columns-toggle *ngIf=\"columnsToggle\" [showLabel]=\"showColumnsLabel\" [hideLabel]=\"hideColumnsLabel\">\r\n </sfc-columns-toggle>\r\n </div>\r\n\r\n <div class=\"right\">\r\n <p *ngIf=\"showTotal\">{{totalLabel}}: <span>{{total}}</span></p>\r\n <sfc-toggle-switcher *ngIf=\"dataToggle\" [active]=\"dataType === TableDataType.Cards\"\r\n [leftModel]=\"toggleSwitcherLeftModel\" [rightModel]=\"toggleSwitcherRightModel\"\r\n (click)=\"onDataTypeToggle()\">\r\n </sfc-toggle-switcher>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showColumns && columnsToggleService.show\" class=\"columns\">\r\n <div class=\"column\" [style.justifyContent]=\"position\" [style.minWidth]=\"column.calculatedWidth\"\r\n *ngFor=\"let column of tableColumns\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <sfc-selectable-table-column *ngSwitchCase=\"TableColumnType.Selectable\"\r\n [selected]=\"allRowsSelected\">\r\n </sfc-selectable-table-column>\r\n\r\n <sfc-sorting-column *ngSwitchDefault [model]=\"column.sorting!\" [id]=\"column.field\">\r\n\r\n <sfc-template-content [referenceContent]=\"columnContent\" [templatesContent]=\"templates\"\r\n [templateType]=\"TableTemplate.Column\" [defaultContent]=\"defaultColumn\"\r\n [contextData]=\"column\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultColumn>\r\n <sfc-default-table-column [model]=\"column\"></sfc-default-table-column>\r\n </ng-template>\r\n\r\n </sfc-sorting-column>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <sfc-delimeter *ngIf=\"delimeter\" class=\"table-delimeter\"></sfc-delimeter>\r\n\r\n <div class=\"rows-container\">\r\n <sfc-load-container [id]=\"loadContainerId\" [type]=\"LoadContainerType.Table\" [model]=\"loadModel\"\r\n [paginationCount]=\"paginationCount\" [paginationLimits]=\"paginationLimits\" [showLoading]=\"showLoading\"\r\n (handleSuccess)=\"handleSuccess($event)\" (handleLoading)=\"loading = $event\" [emptyLabel]=\"notFoundLabel\" [loadMoreLabel]=\"loadMoreLabel\">\r\n <div class=\"row\" *ngFor=\"let item of items; index as i;\">\r\n <ng-container [ngSwitch]=\"dataType\">\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Rows\" [referenceContent]=\"rowContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Row\" [defaultContent]=\"defaultRow\"\r\n [contextData]=\"{model: item, columns: tableColumns, position: position}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultRow>\r\n <sfc-default-table-row [columns]=\"tableColumns\" [model]=\"item\" [position]=\"position\"\r\n [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-row>\r\n </ng-template>\r\n\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Cards\" [referenceContent]=\"cardContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Card\"\r\n [defaultContent]=\"defaultCard\" [contextData]=\"{model: item, columns: tableColumns}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultCard>\r\n <sfc-default-table-card [columns]=\"tableColumns\" [model]=\"item\" [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-card>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n\r\n </sfc-load-container>\r\n </div>\r\n</div>", styles: [":host .container{display:block;margin:2em auto;width:90%;position:relative}:host .container .columns-container{display:flex;flex-flow:row wrap;transition:.5s;justify-content:space-between}:host .container .columns-container .columns-actions{display:flex;align-items:center;width:100%}:host .container .columns-container .columns-actions .right{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;margin-left:auto}:host .container .columns-container .columns-actions .right>p{transition:color .5s ease;margin:0;font-size:.8em;padding-right:1em;font-weight:700;-webkit-user-select:none;user-select:none;text-align:center}:host .container .columns-container .columns-actions .right>p,:host-context(.sfc-default-theme) :host .container .columns-container .columns-actions .right>p{color:#545e61}:host-context(.sfc-dark-theme) :host .container .columns-container .columns-actions .right>p{color:#fff}:host .container .columns-container .columns-actions .right>p span{font-size:1.1em;color:#ffce54}:host .container .columns-container .columns{text-align:center;padding:.5em;width:100%;display:flex;flex-flow:row wrap}:host .container .columns-container .columns .column{text-align:center;padding:.5em;display:flex;align-items:center;justify-content:center;box-sizing:border-box}:host .container .rows-container{display:flex;flex-wrap:wrap;justify-content:center;transition:.5s;gap:1em;margin-block:1em 2em}:host .container .rows-container sfc-load-container ::ng-deep>.content{background:transparent}:host .container .rows-container sfc-load-container.loading{cursor:initial;z-index:9999}:host .container .rows-container sfc-load-container.loading .preloader{transition:background .5s ease}:host .container .rows-container sfc-load-container.loading .preloader,:host-context(.sfc-default-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:#fff}:host-context(.sfc-dark-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:transparent}:host .container .rows-container .row{display:contents}:host.loading .container .table-loader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;z-index:9998;position:absolute;transition:background-color .5s ease;opacity:.7}:host.loading .container .table-loader,:host-context(.sfc-default-theme) :host.loading .container .table-loader{background-color:#fff}:host-context(.sfc-dark-theme) :host.loading .container .table-loader{background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.DelimeterComponent, selector: "sfc-delimeter", inputs: ["label", "direction"] }, { kind: "component", type: i3.TemplateContentComponent, selector: "sfc-template-content", inputs: ["contextData", "referenceContent", "templateType", "templatesContent", "defaultContent"] }, { kind: "component", type: i3.ToggleSwitcherComponent, selector: "sfc-toggle-switcher", inputs: ["active", "disabled", "leftModel", "rightModel"] }, { kind: "component", type: i3.LoadContainerComponent, selector: "sfc-load-container", inputs: ["id", "type", "open", "loadMore", "loadMoreLabel", "showEmpty", "emptyLabel", "model", "scrollTarget", "paginationCount", "paginationLimits", "showLoading"], outputs: ["handleError", "handleSuccess", "handleLoading"] }, { kind: "component", type: i5.DefaultTableColumnComponent, selector: "sfc-default-table-column", inputs: ["model"] }, { kind: "component", type: i6.SelectableTableColumnComponent, selector: "sfc-selectable-table-column", inputs: ["selected"] }, { kind: "component", type: i7.ColumnsToggleComponent, selector: "sfc-columns-toggle", inputs: ["showLabel", "hideLabel"] }, { kind: "component", type: i8.SortingColumnComponent, selector: "sfc-sorting-column", inputs: ["id", "model"] }, { kind: "component", type: i9.DefaultTableRowComponent, selector: "sfc-default-table-row" }, { kind: "component", type: i10.DefaultTableCardComponent, selector: "sfc-default-table-card" }] });
|
|
226
227
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TableComponent, decorators: [{
|
|
227
228
|
type: Component,
|
|
228
|
-
args: [{ selector: 'sfc-table', providers: [SortingService, TableSelectService, ColumnsToggleService, ResizeService], template: "<div class=\"container\">\r\n <div *ngIf=\"showLoading\" class=\"table-loader\"></div>\r\n <div class=\"columns-container\">\r\n <div class=\"columns-actions\">\r\n <div class=\"left\">\r\n <sfc-columns-toggle *ngIf=\"columnsToggle\" [showLabel]=\"showColumnsLabel\" [hideLabel]=\"hideColumnsLabel\">\r\n </sfc-columns-toggle>\r\n </div>\r\n\r\n <div class=\"right\">\r\n <p *ngIf=\"showTotal\">{{totalLabel}}: <span>{{total}}</span></p>\r\n <sfc-toggle-switcher *ngIf=\"dataToggle\" [active]=\"dataType === TableDataType.Cards\"\r\n [leftModel]=\"toggleSwitcherLeftModel\" [rightModel]=\"toggleSwitcherRightModel\"\r\n (click)=\"onDataTypeToggle()\">\r\n </sfc-toggle-switcher>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showColumns && columnsToggleService.show\" class=\"columns\">\r\n <div class=\"column\" [style.justifyContent]=\"position\" [style.minWidth]=\"column.calculatedWidth\"\r\n *ngFor=\"let column of tableColumns\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <sfc-selectable-table-column *ngSwitchCase=\"TableColumnType.Selectable\"\r\n [selected]=\"allRowsSelected\">\r\n </sfc-selectable-table-column>\r\n\r\n <sfc-sorting-column *ngSwitchDefault [model]=\"column.sorting!\" [id]=\"column.field\">\r\n\r\n <sfc-template-content [referenceContent]=\"columnContent\" [templatesContent]=\"templates\"\r\n [templateType]=\"TableTemplate.Column\" [defaultContent]=\"defaultColumn\"\r\n [contextData]=\"column\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultColumn>\r\n <sfc-default-table-column [model]=\"column\"></sfc-default-table-column>\r\n </ng-template>\r\n\r\n </sfc-sorting-column>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <sfc-delimeter *ngIf=\"delimeter\" class=\"table-delimeter\"></sfc-delimeter>\r\n\r\n <div class=\"rows-container\">\r\n <sfc-load-container [id]=\"loadContainerId\" [type]=\"LoadContainerType.Table\" [model]=\"loadModel\"\r\n [paginationCount]=\"paginationCount\" [paginationLimits]=\"paginationLimits\" [showLoading]=\"showLoading\"\r\n (handleSuccess)=\"handleSuccess($event)\" (handleLoading)=\"loading = $event\" [emptyLabel]=\"notFoundLabel\">\r\n <div class=\"row\" *ngFor=\"let item of items; index as i;\">\r\n <ng-container [ngSwitch]=\"dataType\">\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Rows\" [referenceContent]=\"rowContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Row\" [defaultContent]=\"defaultRow\"\r\n [contextData]=\"{model: item, columns: tableColumns, position: position}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultRow>\r\n <sfc-default-table-row [columns]=\"tableColumns\" [model]=\"item\" [position]=\"position\"\r\n [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-row>\r\n </ng-template>\r\n\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Cards\" [referenceContent]=\"cardContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Card\"\r\n [defaultContent]=\"defaultCard\" [contextData]=\"{model: item, columns: tableColumns}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultCard>\r\n <sfc-default-table-card [columns]=\"tableColumns\" [model]=\"item\" [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-card>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n\r\n </sfc-load-container>\r\n </div>\r\n</div>", styles: [":host .container{display:block;margin:2em auto;width:90%;position:relative}:host .container .columns-container{display:flex;flex-flow:row wrap;transition:.5s;justify-content:space-between}:host .container .columns-container .columns-actions{display:flex;align-items:center;width:100%}:host .container .columns-container .columns-actions .right{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;margin-left:auto}:host .container .columns-container .columns-actions .right>p{transition:color .5s ease;margin:0;font-size:.8em;padding-right:1em;font-weight:700;-webkit-user-select:none;user-select:none;text-align:center}:host .container .columns-container .columns-actions .right>p,:host-context(.sfc-default-theme) :host .container .columns-container .columns-actions .right>p{color:#545e61}:host-context(.sfc-dark-theme) :host .container .columns-container .columns-actions .right>p{color:#fff}:host .container .columns-container .columns-actions .right>p span{font-size:1.1em;color:#ffce54}:host .container .columns-container .columns{text-align:center;padding:.5em;width:100%;display:flex;flex-flow:row wrap}:host .container .columns-container .columns .column{text-align:center;padding:.5em;display:flex;align-items:center;justify-content:center;box-sizing:border-box}:host .container .rows-container{display:flex;flex-wrap:wrap;justify-content:center;transition:.5s;gap:1em;margin-block:1em 2em}:host .container .rows-container sfc-load-container ::ng-deep>.content{background:transparent}:host .container .rows-container sfc-load-container.loading{cursor:initial;z-index:9999}:host .container .rows-container sfc-load-container.loading .preloader{transition:background .5s ease}:host .container .rows-container sfc-load-container.loading .preloader,:host-context(.sfc-default-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:#fff}:host-context(.sfc-dark-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:transparent}:host .container .rows-container .row{display:contents}:host.loading .container .table-loader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;z-index:9998;position:absolute;transition:background-color .5s ease;opacity:.7}:host.loading .container .table-loader,:host-context(.sfc-default-theme) :host.loading .container .table-loader{background-color:#fff}:host-context(.sfc-dark-theme) :host.loading .container .table-loader{background-color:transparent}\n"] }]
|
|
229
|
+
args: [{ selector: 'sfc-table', providers: [SortingService, TableSelectService, ColumnsToggleService, ResizeService], template: "<div class=\"container\">\r\n <div *ngIf=\"showLoading\" class=\"table-loader\"></div>\r\n <div class=\"columns-container\">\r\n <div class=\"columns-actions\">\r\n <div class=\"left\">\r\n <sfc-columns-toggle *ngIf=\"columnsToggle\" [showLabel]=\"showColumnsLabel\" [hideLabel]=\"hideColumnsLabel\">\r\n </sfc-columns-toggle>\r\n </div>\r\n\r\n <div class=\"right\">\r\n <p *ngIf=\"showTotal\">{{totalLabel}}: <span>{{total}}</span></p>\r\n <sfc-toggle-switcher *ngIf=\"dataToggle\" [active]=\"dataType === TableDataType.Cards\"\r\n [leftModel]=\"toggleSwitcherLeftModel\" [rightModel]=\"toggleSwitcherRightModel\"\r\n (click)=\"onDataTypeToggle()\">\r\n </sfc-toggle-switcher>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showColumns && columnsToggleService.show\" class=\"columns\">\r\n <div class=\"column\" [style.justifyContent]=\"position\" [style.minWidth]=\"column.calculatedWidth\"\r\n *ngFor=\"let column of tableColumns\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <sfc-selectable-table-column *ngSwitchCase=\"TableColumnType.Selectable\"\r\n [selected]=\"allRowsSelected\">\r\n </sfc-selectable-table-column>\r\n\r\n <sfc-sorting-column *ngSwitchDefault [model]=\"column.sorting!\" [id]=\"column.field\">\r\n\r\n <sfc-template-content [referenceContent]=\"columnContent\" [templatesContent]=\"templates\"\r\n [templateType]=\"TableTemplate.Column\" [defaultContent]=\"defaultColumn\"\r\n [contextData]=\"column\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultColumn>\r\n <sfc-default-table-column [model]=\"column\"></sfc-default-table-column>\r\n </ng-template>\r\n\r\n </sfc-sorting-column>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <sfc-delimeter *ngIf=\"delimeter\" class=\"table-delimeter\"></sfc-delimeter>\r\n\r\n <div class=\"rows-container\">\r\n <sfc-load-container [id]=\"loadContainerId\" [type]=\"LoadContainerType.Table\" [model]=\"loadModel\"\r\n [paginationCount]=\"paginationCount\" [paginationLimits]=\"paginationLimits\" [showLoading]=\"showLoading\"\r\n (handleSuccess)=\"handleSuccess($event)\" (handleLoading)=\"loading = $event\" [emptyLabel]=\"notFoundLabel\" [loadMoreLabel]=\"loadMoreLabel\">\r\n <div class=\"row\" *ngFor=\"let item of items; index as i;\">\r\n <ng-container [ngSwitch]=\"dataType\">\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Rows\" [referenceContent]=\"rowContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Row\" [defaultContent]=\"defaultRow\"\r\n [contextData]=\"{model: item, columns: tableColumns, position: position}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultRow>\r\n <sfc-default-table-row [columns]=\"tableColumns\" [model]=\"item\" [position]=\"position\"\r\n [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-row>\r\n </ng-template>\r\n\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Cards\" [referenceContent]=\"cardContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Card\"\r\n [defaultContent]=\"defaultCard\" [contextData]=\"{model: item, columns: tableColumns}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultCard>\r\n <sfc-default-table-card [columns]=\"tableColumns\" [model]=\"item\" [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-card>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n\r\n </sfc-load-container>\r\n </div>\r\n</div>", styles: [":host .container{display:block;margin:2em auto;width:90%;position:relative}:host .container .columns-container{display:flex;flex-flow:row wrap;transition:.5s;justify-content:space-between}:host .container .columns-container .columns-actions{display:flex;align-items:center;width:100%}:host .container .columns-container .columns-actions .right{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;margin-left:auto}:host .container .columns-container .columns-actions .right>p{transition:color .5s ease;margin:0;font-size:.8em;padding-right:1em;font-weight:700;-webkit-user-select:none;user-select:none;text-align:center}:host .container .columns-container .columns-actions .right>p,:host-context(.sfc-default-theme) :host .container .columns-container .columns-actions .right>p{color:#545e61}:host-context(.sfc-dark-theme) :host .container .columns-container .columns-actions .right>p{color:#fff}:host .container .columns-container .columns-actions .right>p span{font-size:1.1em;color:#ffce54}:host .container .columns-container .columns{text-align:center;padding:.5em;width:100%;display:flex;flex-flow:row wrap}:host .container .columns-container .columns .column{text-align:center;padding:.5em;display:flex;align-items:center;justify-content:center;box-sizing:border-box}:host .container .rows-container{display:flex;flex-wrap:wrap;justify-content:center;transition:.5s;gap:1em;margin-block:1em 2em}:host .container .rows-container sfc-load-container ::ng-deep>.content{background:transparent}:host .container .rows-container sfc-load-container.loading{cursor:initial;z-index:9999}:host .container .rows-container sfc-load-container.loading .preloader{transition:background .5s ease}:host .container .rows-container sfc-load-container.loading .preloader,:host-context(.sfc-default-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:#fff}:host-context(.sfc-dark-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:transparent}:host .container .rows-container .row{display:contents}:host.loading .container .table-loader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;z-index:9998;position:absolute;transition:background-color .5s ease;opacity:.7}:host.loading .container .table-loader,:host-context(.sfc-default-theme) :host.loading .container .table-loader{background-color:#fff}:host-context(.sfc-dark-theme) :host.loading .container .table-loader{background-color:transparent}\n"] }]
|
|
229
230
|
}], ctorParameters: function () { return [{ type: i1.ColumnsToggleService }, { type: Window, decorators: [{
|
|
230
231
|
type: Inject,
|
|
231
232
|
args: [WINDOW]
|
|
@@ -252,6 +253,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
252
253
|
type: Input
|
|
253
254
|
}], notFoundLabel: [{
|
|
254
255
|
type: Input
|
|
256
|
+
}], loadMoreLabel: [{
|
|
257
|
+
type: Input
|
|
255
258
|
}], showTotal: [{
|
|
256
259
|
type: Input
|
|
257
260
|
}], totalLabel: [{
|
|
@@ -305,4 +308,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
305
308
|
type: ContentChildren,
|
|
306
309
|
args: [TemplateReferenceDirective, { read: TemplateReferenceDirective }]
|
|
307
310
|
}] } });
|
|
308
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDcUQsU0FBUyxFQUFFLGVBQWUsRUFDM0UsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUN6QyxNQUFNLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLEdBQUcsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQzdELFdBQVcsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sRUFDMUYsV0FBVyxFQUFFLGlCQUFpQixFQUFrQixxQkFBcUIsRUFDeEIsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBb0UsT0FBTyxFQUNuRyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRXJGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0s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QUFVO3NCQURULEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQU1OLGFBQWE7c0JBRFosS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQVFOLElBQUk7c0JBREgsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBWU4sT0FBTztzQkFETixLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFjTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBY0MsT0FBTztzQkFEYixXQUFXO3VCQUFDLFNBQVMsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFRdkMsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixRQUFRO3NCQURQLE1BQU07Z0JBa0JQLGFBQWE7c0JBRFosS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBNkJOLFNBQVM7c0JBRFIsZUFBZTt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLElBQUksRUFBRSwwQkFBMEIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLFxyXG4gIERvQ2hlY2ssIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIEl0ZXJhYmxlRGlmZmVyLCBJdGVyYWJsZURpZmZlcnMsIE9uRGVzdHJveSxcclxuICBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIGFsbCwgZmlyc3RPckRlZmF1bHQsIGdldENhbGNWYWx1ZSwgZ2V0Q3NzTGlrZVZhbHVlLCBpc0RlZmluZWQsXHJcbiAgTWVkaWFMaW1pdHMsIFBvc2l0aW9uLCBSZXNpemVTZXJ2aWNlLCBTb3J0aW5nRGlyZWN0aW9uLCBUZW1wbGF0ZVJlZmVyZW5jZURpcmVjdGl2ZSwgV0lORE9XLFxyXG4gIFVJQ29uc3RhbnRzLCBMb2FkQ29udGFpbmVyVHlwZSwgTG9hZGVyRnVuY3Rpb24sIExvYWRDb250YWluZXJMb2FkVHlwZSwgSUxvYWRDb250YWluZXJNb2RlbCxcclxuICBJTG9hZENvbnRhaW5lclJlc3VsdE1vZGVsLCBJUGFnaW5hdGlvbk1vZGVsLCBQYWdpbmF0aW9uQ29uc3RhbnRzLCBnZW5lcmF0ZUd1aWQsIGFueSxcclxuICBoYXNJdGVtLCBTb3J0aW5nU2VydmljZSwgSVNvcnRpbmdNb2RlbCwgSUxvYWRDb250YWluZXJQcmVkaWNhdGVQYXJhbWV0ZXJzLCBGaWx0ZXJGdW5jdGlvbiwgVUlDbGFzcywgSVRvZ2dsZVN3aXRjaGVyTW9kZWxcclxufSBmcm9tICduZ3gtc2ZjLWNvbW1vbic7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUYWJsZUNvbHVtblR5cGUgfSBmcm9tICcuL3BhcnRzL2NvbHVtbnMvdGFibGUtY29sdW1uLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IElUYWJsZUNvbHVtbkV4dGVuZGVkTW9kZWwsIElUYWJsZUNvbHVtbk1vZGVsIH0gZnJvbSAnLi9wYXJ0cy9jb2x1bW5zL3RhYmxlLWNvbHVtbi5tb2RlbCc7XHJcbmltcG9ydCB7IENvbHVtbnNUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi9wYXJ0cy90b2dnbGUvc2VydmljZS9jb2x1bW5zLXRvZ2dsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSVRhYmxlU2VsZWN0RXZlbnQgfSBmcm9tICcuL3NlcnZpY2Uvc2VsZWN0L3RhYmxlLXNlbGVjdC5ldmVudCc7XHJcbmltcG9ydCB7IFRhYmxlU2VsZWN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZS9zZWxlY3QvdGFibGUtc2VsZWN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYWJsZURhdGFUeXBlIH0gZnJvbSAnLi9lbnVtcy90YWJsZS1kYXRhLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFRhYmxlQ29uc3RhbnRzIH0gZnJvbSAnLi90YWJsZS5jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBUYWJsZVRlbXBsYXRlIH0gZnJvbSAnLi9lbnVtcy90YWJsZS10ZW1wbGF0ZS5lbnVtJztcclxuaW1wb3J0IHsgSVRhYmxlTW9kZWwgfSBmcm9tICcuL21vZGVscy90YWJsZS5tb2RlbCc7XHJcbmltcG9ydCB7IGZhVGFibGVMaXN0LCBmYUJvcmRlckFsbCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NmYy10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1NvcnRpbmdTZXJ2aWNlLCBUYWJsZVNlbGVjdFNlcnZpY2UsIENvbHVtbnNUb2dnbGVTZXJ2aWNlLCBSZXNpemVTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyVmlld0NoZWNrZWQsIERvQ2hlY2ssIE9uRGVzdHJveSB7XHJcblxyXG4gIFRhYmxlRGF0YVR5cGUgPSBUYWJsZURhdGFUeXBlO1xyXG4gIFRhYmxlQ29sdW1uVHlwZSA9IFRhYmxlQ29sdW1uVHlwZTtcclxuICBUYWJsZVRlbXBsYXRlID0gVGFibGVUZW1wbGF0ZTtcclxuICBDb25zdGFudHMgPSBUYWJsZUNvbnN0YW50cztcclxuICBMb2FkQ29udGFpbmVyVHlwZSA9IExvYWRDb250YWluZXJUeXBlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHBvc2l0aW9uOiBQb3NpdGlvbiA9IFBvc2l0aW9uLkNlbnRlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBkZWxpbWV0ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBkYXRhVHlwZTogVGFibGVEYXRhVHlwZSA9IFRhYmxlRGF0YVR5cGUuUm93cztcclxuXHJcbiAgQElucHV0KClcclxuICBkYXRhVG9nZ2xlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBzaG93Q29sdW1uczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY29sdW1uc1RvZ2dsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHBhZ2luYXRpb246IElQYWdpbmF0aW9uTW9kZWwgPSBQYWdpbmF0aW9uQ29uc3RhbnRzLkRFRkFVTFRfUEFHSU5BVElPTjtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXF1ZW5jZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbm90Rm91bmRMYWJlbDogc3RyaW5nID0gdGhpcy5Db25zdGFudHMuTk9UX0ZPVU5EX0xBQkVMX0RFRkFVTFQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd1RvdGFsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdG90YWxMYWJlbDogc3RyaW5nID0gdGhpcy5Db25zdGFudHMuVE9UQUxfTEFCRUxfREVGQVVMVDtcclxuXHJcbiAgQElucHV0KClcclxuICBwYWdpbmF0aW9uQ291bnQ6IG51bWJlciA9IFBhZ2luYXRpb25Db25zdGFudHMuREVGQVVMVF9DT1VOVDtcclxuXHJcbiAgQElucHV0KClcclxuICBwYWdpbmF0aW9uTGltaXRzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvLyBUZW1wbGF0ZSByZWZlcmVuY2VzIFxyXG5cclxuICBASW5wdXQoKVxyXG4gIGNvbHVtbkNvbnRlbnQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJvd0NvbnRlbnQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNhcmRDb250ZW50PzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLy8gRW5kIFRlbXBsYXRlIHJlZmVyZW5jZXNcclxuXHJcbiAgLy9EYXRhXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF0YTogYW55W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBkYXRhJCE6IE9ic2VydmFibGU8YW55W10+O1xyXG5cclxuICBwcml2YXRlIGRhdGFEaWZmZXIhOiBJdGVyYWJsZURpZmZlcjxhbnk+O1xyXG5cclxuICBwcml2YXRlIGRhdGFTdWJqZWN0ITogQmVoYXZpb3JTdWJqZWN0PGFueVtdPjtcclxuXHJcbiAgLy8gRW5kIERhdGFcclxuXHJcbiAgLy8gQ29sdW1uc1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNvbHVtbnM6IElUYWJsZUNvbHVtbk1vZGVsW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBzaG93Q29sdW1uc0xhYmVsITogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGhpZGVDb2x1bW5zTGFiZWwhOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmVzaXplOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHJpdmF0ZSBjb2x1bW5zRGlmZmVyITogSXRlcmFibGVEaWZmZXI8SVRhYmxlQ29sdW1uTW9kZWw+O1xyXG5cclxuICBwcml2YXRlIGNvbHVtbnNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8SVRhYmxlQ29sdW1uTW9kZWxbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElUYWJsZUNvbHVtbk1vZGVsW10+KHRoaXMuY29sdW1ucyk7XHJcblxyXG4gIHB1YmxpYyB0YWJsZUNvbHVtbnM6IElUYWJsZUNvbHVtbkV4dGVuZGVkTW9kZWxbXSA9IFtdO1xyXG5cclxuICAvLyBFbmQgQ29sdW1ucyAgXHJcblxyXG4gIC8vIExvYWQgY29udGFpbmVyXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbG9hZFR5cGU6IExvYWRDb250YWluZXJMb2FkVHlwZSA9IExvYWRDb250YWluZXJMb2FkVHlwZS5QYWdpbmF0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGxvYWRlciE6IExvYWRlckZ1bmN0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGZpbHRlcj86IEZpbHRlckZ1bmN0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHByZWRpY2F0ZSQhOiBPYnNlcnZhYmxlPElMb2FkQ29udGFpbmVyUHJlZGljYXRlUGFyYW1ldGVycyB8IG51bGw+O1xyXG5cclxuICBwdWJsaWMgbG9hZE1vZGVsITogSUxvYWRDb250YWluZXJNb2RlbDtcclxuXHJcbiAgcHVibGljIGxvYWRDb250YWluZXJJZDogc3RyaW5nID0gZ2VuZXJhdGVHdWlkKCk7XHJcblxyXG4gIHB1YmxpYyBpdGVtczogSVRhYmxlTW9kZWxbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgdG90YWw6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgcGFnZTogbnVtYmVyID0gUGFnaW5hdGlvbkNvbnN0YW50cy5ERUZBVUxUX1BBR0U7XHJcblxyXG4gIEBIb3N0QmluZGluZyhgY2xhc3MuJHtVSUNsYXNzLkxvYWRpbmd9YClcclxuICBwdWJsaWMgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLyBFbmQgTG9hZCBjb250YWluZXJcclxuXHJcbiAgLy8gU2VsZWN0aW9uXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdE9uQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgc2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxJVGFibGVTZWxlY3RFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElUYWJsZVNlbGVjdEV2ZW50PigpO1xyXG5cclxuICBwdWJsaWMgZ2V0IGFsbFJvd3NTZWxlY3RlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAodGhpcy5hbGxTZWxlY3RlZCB8fCB0aGlzLnRvdGFsID09IHRoaXMuc2VsZWN0ZWRTZXJ2aWNlLnNlbGVjdGVkSXRlbXMubGVuZ3RoKVxyXG4gICAgICAmJiAhYW55KHRoaXMuc2VsZWN0ZWRTZXJ2aWNlLnVuc2VsZWN0ZWRJdGVtcylcclxuICAgICAgJiYgYW55KHRoaXMuaXRlbXMpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgYWxsU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfYWxsU2VsZWN0aW9uU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAvLyBFbmQgU2VsZWN0aW9uXHJcblxyXG4gIC8vIERhdGEgdG9nZ2xlXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF0YUxpc3RMYWJlbDogc3RyaW5nID0gdGhpcy5Db25zdGFudHMuREFUQV9MSVNUX0xBQkVMO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRhdGFDYXJkc0xhYmVsOiBzdHJpbmcgPSB0aGlzLkNvbnN0YW50cy5EQVRBX0NBUkRTX0xBQkVMO1xyXG5cclxuICBwdWJsaWMgdG9nZ2xlU3dpdGNoZXJMZWZ0TW9kZWwhOiBJVG9nZ2xlU3dpdGNoZXJNb2RlbDtcclxuXHJcbiAgcHVibGljIHRvZ2dsZVN3aXRjaGVyUmlnaHRNb2RlbCE6IElUb2dnbGVTd2l0Y2hlck1vZGVsO1xyXG5cclxuICAvLyBFbmQgZGF0YSB0b2dnbGVcclxuXHJcbiAgcHVibGljIHZtJCE6IE9ic2VydmFibGU8YW55PjtcclxuXHJcbiAgcHJpdmF0ZSBfY29sdW1uc1Jlc2l6ZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgcHJpdmF0ZSBfY29sdW1uc1N1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgcHJpdmF0ZSBfc29ydGluZ1N1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgcHJpdmF0ZSBnZXQgaW5pdGlhbFNvcnRpbmcoKTogSVNvcnRpbmdNb2RlbCB8IG51bGwge1xyXG4gICAgY29uc3QgYWN0aXZlU29ydGluZ0NvbHVtbiA9IGZpcnN0T3JEZWZhdWx0KHRoaXMuY29sdW1ucywgY29sdW1uID0+IGNvbHVtbi5zb3J0aW5nPy5hY3RpdmUhKTtcclxuXHJcbiAgICBpZiAoYWN0aXZlU29ydGluZ0NvbHVtbilcclxuICAgICAgcmV0dXJuIHsgaWQ6IGFjdGl2ZVNvcnRpbmdDb2x1bW4uZmllbGQsIGRpcmVjdGlvbjogYWN0aXZlU29ydGluZ0NvbHVtbi5zb3J0aW5nPy5kaXJlY3Rpb24hIH07XHJcblxyXG4gICAgY29uc3QgZW5hYmxlZFNvcnRpbmdDb2x1bW4gPSBmaXJzdE9yRGVmYXVsdCh0aGlzLmNvbHVtbnMsIGNvbHVtbiA9PiBjb2x1bW4uc29ydGluZz8uZW5hYmxlZCEpO1xyXG5cclxuICAgIHJldHVybiBlbmFibGVkU29ydGluZ0NvbHVtbiA/IHsgaWQ6IGVuYWJsZWRTb3J0aW5nQ29sdW1uLmZpZWxkLCBkaXJlY3Rpb246IGVuYWJsZWRTb3J0aW5nQ29sdW1uLnNvcnRpbmc/LmRpcmVjdGlvbiEgfSA6IG51bGw7XHJcbiAgfVxyXG5cclxuICBAQ29udGVudENoaWxkcmVuKFRlbXBsYXRlUmVmZXJlbmNlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmZXJlbmNlRGlyZWN0aXZlIH0pXHJcbiAgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWZlcmVuY2VEaXJlY3RpdmU+IHwgdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBjb2x1bW5zVG9nZ2xlU2VydmljZTogQ29sdW1uc1RvZ2dsZVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSB3aW5kb3c6IFdpbmRvdyxcclxuICAgIHByaXZhdGUgc2VsZWN0ZWRTZXJ2aWNlOiBUYWJsZVNlbGVjdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNvcnRpbmdTZXJ2aWNlOiBTb3J0aW5nU2VydmljZSxcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSByZXNpemVTZXJ2aWNlOiBSZXNpemVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBpdGVyYWJsZURpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycykge1xyXG4gICAgdGhpcy5kYXRhRGlmZmVyID0gaXRlcmFibGVEaWZmZXJzLmZpbmQoW10pLmNyZWF0ZTxJdGVyYWJsZURpZmZlcjxhbnk+Pih1bmRlZmluZWQpO1xyXG4gICAgdGhpcy5jb2x1bW5zRGlmZmVyID0gaXRlcmFibGVEaWZmZXJzLmZpbmQoW10pLmNyZWF0ZTxJVGFibGVDb2x1bW5Nb2RlbD4odW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gaWYgZGF0YSBpcyBzdGF0aWMsIG1ha2UgaXQgb2JzZXJ2YWJsZVxyXG4gICAgaWYgKCFpc0RlZmluZWQodGhpcy5kYXRhJCkpIHtcclxuICAgICAgdGhpcy5kYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5kYXRhKTtcclxuICAgICAgdGhpcy5kYXRhJCA9IHRoaXMuZGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc2VsZWN0YWJsZSlcclxuICAgICAgdGhpcy5zZWxlY3Rpb25TdWJzY3JpYmUoKTtcclxuXHJcbiAgICAvLyBzZXQgdXAgY29sdW1ucyAoY29uZGl0aW9uYWxseSBhZGQgc2VxdWVuY2UsIHNlbGVjdGFibGUgYW5kIGV4cGFuZCBjb2x1bW5zKVxyXG4gICAgdGhpcy5jb2x1bW5zU3Vic2NyaWJlKCk7XHJcblxyXG4gICAgaWYgKHRoaXMucmVzaXplKVxyXG4gICAgICB0aGlzLnJlc2l6ZVN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMuc29ydGluZ1N1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMubG9hZE1vZGVsID0ge1xyXG4gICAgICBwcmVkaWNhdGUkOiB0aGlzLnByZWRpY2F0ZSQsXHJcbiAgICAgIGRhdGEkOiB0aGlzLmRhdGEkLFxyXG4gICAgICBsb2FkZXI6IHRoaXMubG9hZGVyLFxyXG4gICAgICBmaWx0ZXI6IHRoaXMuZmlsdGVyLFxyXG4gICAgICBsb2FkVHlwZTogdGhpcy5sb2FkVHlwZSxcclxuICAgICAgcGFnaW5hdGlvbjogdGhpcy5wYWdpbmF0aW9uLFxyXG4gICAgICBzb3J0aW5nOiB0aGlzLmluaXRpYWxTb3J0aW5nXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMudG9nZ2xlU3dpdGNoZXJMZWZ0TW9kZWwgPSB7IGxhYmVsOiB0aGlzLmRhdGFMaXN0TGFiZWwsIGljb246IGZhVGFibGVMaXN0IH07XHJcbiAgICB0aGlzLnRvZ2dsZVN3aXRjaGVyUmlnaHRNb2RlbCA9IHsgbGFiZWw6IHRoaXMuZGF0YUNhcmRzTGFiZWwsIGljb246IGZhQm9yZGVyQWxsIH07XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRhdGFEaWZmZXIuZGlmZih0aGlzLmRhdGEpKSB7XHJcbiAgICAgIHRoaXMuZGF0YVN1YmplY3QubmV4dCh0aGlzLmRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmNvbHVtbnNEaWZmZXIuZGlmZih0aGlzLmNvbHVtbnMpKSB7XHJcbiAgICAgIHRoaXMuY29sdW1uc1N1YmplY3QubmV4dCh0aGlzLmNvbHVtbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2FsbFNlbGVjdGlvblN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX2NvbHVtbnNSZXNpemVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLl9jb2x1bW5zU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fc29ydGluZ1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkRhdGFUeXBlVG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhVHlwZSA9IHRoaXMuZGF0YVR5cGUgPT0gVGFibGVEYXRhVHlwZS5Sb3dzXHJcbiAgICAgID8gVGFibGVEYXRhVHlwZS5DYXJkc1xyXG4gICAgICA6IFRhYmxlRGF0YVR5cGUuUm93cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdWNjZXNzKHJlc3VsdDogSUxvYWRDb250YWluZXJSZXN1bHRNb2RlbDxhbnk+KTogdm9pZCB7XHJcbiAgICB0aGlzLnBhZ2UgPSByZXN1bHQucGFnZTtcclxuICAgIHRoaXMudG90YWwgPSByZXN1bHQudG90YWw7XHJcblxyXG4gICAgY29uc3QgaXRlbXM6IElUYWJsZU1vZGVsW10gPSByZXN1bHQuaXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICBjb25zdCBzZXF1ZW5jZSA9IChpbmRleCArIDEpICsgKCh0aGlzLnBhZ2UgKiB0aGlzLnBhZ2luYXRpb24uc2l6ZSkgLSB0aGlzLnBhZ2luYXRpb24uc2l6ZSk7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5kZXg6IGluZGV4LFxyXG4gICAgICAgIHNlcXVlbmNlOiBzZXF1ZW5jZSxcclxuICAgICAgICBzZWxlY3RlZDogdGhpcy5nZXRJdGVtU2VsZWN0ZWQoc2VxdWVuY2UpLFxyXG4gICAgICAgIGRhdGE6IGl0ZW1cclxuICAgICAgfTtcclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChyZXN1bHQucmVzZXQpXHJcbiAgICAgIHRoaXMuaXRlbXMgPSBpdGVtcztcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuY29uY2F0KGl0ZW1zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2VsZWN0aW9uU3Vic2NyaWJlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fYWxsU2VsZWN0aW9uU3Vic2NyaXB0aW9uID0gdGhpcy5zZWxlY3RlZFNlcnZpY2Uuc2VsZWN0JFxyXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogSVRhYmxlU2VsZWN0RXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQuaW5kZXggPT0gbnVsbCkge1xyXG4gICAgICAgICAgdGhpcy5hbGxTZWxlY3RlZCA9IGV2ZW50LnNlbGVjdGVkO1xyXG4gICAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCA9IGV2ZW50LnNlbGVjdGVkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdChldmVudCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNpemVTdWJzY3JpYmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb2x1bW5zUmVzaXplU3Vic2NyaXB0aW9uID0gdGhpcy5yZXNpemVTZXJ2aWNlLm9uUmVzaXplJFxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudGFibGVDb2x1bW5zLmZvckVhY2goY29sdW1uID0+XHJcbiAgICAgICAgY29sdW1uLmNhbGN1bGF0ZWRXaWR0aCA9IHRoaXMuY2FsY3VsYXRlQ29sdW1uV2lkdGgoY29sdW1uLCB0aGlzLnRhYmxlQ29sdW1ucy5sZW5ndGgpKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbHVtbnNTdWJzY3JpYmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb2x1bW5zU3Vic2NyaXB0aW9uID0gdGhpcy5jb2x1bW5zU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKFxyXG4gICAgICBmaWx0ZXIoY29sdW1ucyA9PiBhbnkoY29sdW1ucykpLFxyXG4gICAgICBtYXAoKGNvbHVtbnM6IElUYWJsZUNvbHVtbk1vZGVsW10pID0+IHtcclxuICAgICAgICBsZXQgdGFibGVDb2x1bW5zID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShjb2x1bW5zKSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNlcXVlbmNlKVxyXG4gICAgICAgICAgdGFibGVDb2x1bW5zLnVuc2hpZnQoVGFibGVDb25zdGFudHMuU0VRVUVOQ0VfQ09MVU1OKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0YWJsZSlcclxuICAgICAgICAgIHRhYmxlQ29sdW1ucy51bnNoaWZ0KFRhYmxlQ29uc3RhbnRzLlNFTEVDVEFCTEVfQ09MVU1OKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQpXHJcbiAgICAgICAgICB0YWJsZUNvbHVtbnMucHVzaChUYWJsZUNvbnN0YW50cy5FWFBBTkRFRF9DT0xVTU4pO1xyXG5cclxuICAgICAgICAvLyBjYWxjdWxhdGVkIHdpZHRoIG5vdCB3b3JrIHdpdGhvdXQgZGVlcCBjb3B5XHJcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGFibGVDb2x1bW5zKSk7XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZSgoY29sdW1uczogSVRhYmxlQ29sdW1uRXh0ZW5kZWRNb2RlbFtdKSA9PiB7XHJcbiAgICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sdW1uOiBJVGFibGVDb2x1bW5FeHRlbmRlZE1vZGVsKSA9PiB7XHJcbiAgICAgICAgY29sdW1uLmNhbGN1bGF0ZWRXaWR0aCA9IHRoaXMuY2FsY3VsYXRlQ29sdW1uV2lkdGgoY29sdW1uLCBjb2x1bW5zLmxlbmd0aCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHNvcnRpbmdDb2x1bW4gPSB0aGlzLmluaXRpYWxTb3J0aW5nO1xyXG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxTb3J0aW5nKSB7XHJcbiAgICAgICAgICB0aGlzLnNldENvbHVtblNvcnRpbmcoY29sdW1uLCBzb3J0aW5nQ29sdW1uPy5pZCEpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMudGFibGVDb2x1bW5zID0gY29sdW1ucztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzb3J0aW5nU3Vic2NyaWJlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc29ydGluZ1N1YnNjcmlwdGlvbiA9IHRoaXMuc29ydGluZ1NlcnZpY2Uuc29ydGluZyQuc3Vic2NyaWJlKChzb3J0aW5nRXZlbnQpID0+XHJcbiAgICAgIHRoaXMudGFibGVDb2x1bW5zLmZvckVhY2goKGNvbHVtbjogSVRhYmxlQ29sdW1uRXh0ZW5kZWRNb2RlbCkgPT4gdGhpcy5zZXRDb2x1bW5Tb3J0aW5nKGNvbHVtbiwgc29ydGluZ0V2ZW50Py5pZCkpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FsY3VsYXRlQ29sdW1uV2lkdGgoY29sdW1uOiBJVGFibGVDb2x1bW5FeHRlbmRlZE1vZGVsLCBjb2x1bW5zTGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgLy8gZGVmaW5lZCB3aWR0aCBmb3IgYWxsIGNvbHVtbnNcclxuICAgIGlmIChhbGwodGhpcy5jb2x1bW5zLCBjb2x1bW4gPT4gaXNEZWZpbmVkKGNvbHVtbi53aWR0aCkpKVxyXG4gICAgICByZXR1cm4gZ2V0Q3NzTGlrZVZhbHVlKGNvbHVtbi53aWR0aCEsIFVJQ29uc3RhbnRzLkNTU19QRVJDRU5UQUdFKTtcclxuXHJcbiAgICBsZXQgd2lkdGg6IG51bWJlciA9IGNvbHVtbnNMZW5ndGg7XHJcblxyXG4gICAgaWYgKHRoaXMud2luZG93LmlubmVyV2lkdGggPD0gTWVkaWFMaW1pdHMuTW9iaWxlTGFyZ2UpXHJcbiAgICAgIHdpZHRoID0gMTtcclxuICAgIGVsc2UgaWYgKHRoaXMud2luZG93LmlubmVyV2lkdGggPD0gTWVkaWFMaW1pdHMuVGFibGV0KVxyXG4gICAgICB3aWR0aCA9IE1hdGguY2VpbChjb2x1bW5zTGVuZ3RoIC8gMik7XHJcblxyXG4gICAgcmV0dXJuIGdldENhbGNWYWx1ZSh3aWR0aCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbHVtblNvcnRpbmcoY29sdW1uOiBJVGFibGVDb2x1bW5FeHRlbmRlZE1vZGVsLCBzb3J0aW5nSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKGNvbHVtbi5zb3J0aW5nPy5lbmFibGVkKSB7XHJcbiAgICAgIGNvbHVtbi5zb3J0aW5nLmFjdGl2ZSA9IGNvbHVtbi5maWVsZCA9PSBzb3J0aW5nSWQ7XHJcblxyXG4gICAgICBpZiAoIWNvbHVtbi5zb3J0aW5nLmFjdGl2ZSlcclxuICAgICAgICBjb2x1bW4uc29ydGluZy5kaXJlY3Rpb24gPSBTb3J0aW5nRGlyZWN0aW9uLkFzY2VuZGluZztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SXRlbVNlbGVjdGVkKHNlcXVlbmNlOiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmFsbFNlbGVjdGVkXHJcbiAgICAgID8gIWhhc0l0ZW0odGhpcy5zZWxlY3RlZFNlcnZpY2UudW5zZWxlY3RlZEl0ZW1zLCBzZXF1ZW5jZSlcclxuICAgICAgOiBoYXNJdGVtKHRoaXMuc2VsZWN0ZWRTZXJ2aWNlLnNlbGVjdGVkSXRlbXMsIHNlcXVlbmNlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dMb2FkaW5nXCIgY2xhc3M9XCJ0YWJsZS1sb2FkZXJcIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zLWFjdGlvbnNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgICAgIDxzZmMtY29sdW1ucy10b2dnbGUgKm5nSWY9XCJjb2x1bW5zVG9nZ2xlXCIgW3Nob3dMYWJlbF09XCJzaG93Q29sdW1uc0xhYmVsXCIgW2hpZGVMYWJlbF09XCJoaWRlQ29sdW1uc0xhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8L3NmYy1jb2x1bW5zLXRvZ2dsZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwic2hvd1RvdGFsXCI+e3t0b3RhbExhYmVsfX06IDxzcGFuPnt7dG90YWx9fTwvc3Bhbj48L3A+XHJcbiAgICAgICAgICAgICAgICA8c2ZjLXRvZ2dsZS1zd2l0Y2hlciAqbmdJZj1cImRhdGFUb2dnbGVcIiBbYWN0aXZlXT1cImRhdGFUeXBlID09PSBUYWJsZURhdGFUeXBlLkNhcmRzXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGVmdE1vZGVsXT1cInRvZ2dsZVN3aXRjaGVyTGVmdE1vZGVsXCIgW3JpZ2h0TW9kZWxdPVwidG9nZ2xlU3dpdGNoZXJSaWdodE1vZGVsXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EYXRhVHlwZVRvZ2dsZSgpXCI+XHJcbiAgICAgICAgICAgICAgICA8L3NmYy10b2dnbGUtc3dpdGNoZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0NvbHVtbnMgJiYgY29sdW1uc1RvZ2dsZVNlcnZpY2Uuc2hvd1wiIGNsYXNzPVwiY29sdW1uc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCIgW3N0eWxlLmp1c3RpZnlDb250ZW50XT1cInBvc2l0aW9uXCIgW3N0eWxlLm1pbldpZHRoXT1cImNvbHVtbi5jYWxjdWxhdGVkV2lkdGhcIlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiB0YWJsZUNvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbHVtbi50eXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNmYy1zZWxlY3RhYmxlLXRhYmxlLWNvbHVtbiAqbmdTd2l0Y2hDYXNlPVwiVGFibGVDb2x1bW5UeXBlLlNlbGVjdGFibGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwiYWxsUm93c1NlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zZmMtc2VsZWN0YWJsZS10YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxzZmMtc29ydGluZy1jb2x1bW4gKm5nU3dpdGNoRGVmYXVsdCBbbW9kZWxdPVwiY29sdW1uLnNvcnRpbmchXCIgW2lkXT1cImNvbHVtbi5maWVsZFwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNmYy10ZW1wbGF0ZS1jb250ZW50IFtyZWZlcmVuY2VDb250ZW50XT1cImNvbHVtbkNvbnRlbnRcIiBbdGVtcGxhdGVzQ29udGVudF09XCJ0ZW1wbGF0ZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlVHlwZV09XCJUYWJsZVRlbXBsYXRlLkNvbHVtblwiIFtkZWZhdWx0Q29udGVudF09XCJkZWZhdWx0Q29sdW1uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZXh0RGF0YV09XCJjb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zZmMtdGVtcGxhdGUtY29udGVudD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdENvbHVtbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZmMtZGVmYXVsdC10YWJsZS1jb2x1bW4gW21vZGVsXT1cImNvbHVtblwiPjwvc2ZjLWRlZmF1bHQtdGFibGUtY29sdW1uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8L3NmYy1zb3J0aW5nLWNvbHVtbj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxzZmMtZGVsaW1ldGVyICpuZ0lmPVwiZGVsaW1ldGVyXCIgY2xhc3M9XCJ0YWJsZS1kZWxpbWV0ZXJcIj48L3NmYy1kZWxpbWV0ZXI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInJvd3MtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPHNmYy1sb2FkLWNvbnRhaW5lciBbaWRdPVwibG9hZENvbnRhaW5lcklkXCIgW3R5cGVdPVwiTG9hZENvbnRhaW5lclR5cGUuVGFibGVcIiBbbW9kZWxdPVwibG9hZE1vZGVsXCJcclxuICAgICAgICAgICAgW3BhZ2luYXRpb25Db3VudF09XCJwYWdpbmF0aW9uQ291bnRcIiBbcGFnaW5hdGlvbkxpbWl0c109XCJwYWdpbmF0aW9uTGltaXRzXCIgW3Nob3dMb2FkaW5nXT1cInNob3dMb2FkaW5nXCJcclxuICAgICAgICAgICAgKGhhbmRsZVN1Y2Nlc3MpPVwiaGFuZGxlU3VjY2VzcygkZXZlbnQpXCIgKGhhbmRsZUxvYWRpbmcpPVwibG9hZGluZyA9ICRldmVudFwiIFtlbXB0eUxhYmVsXT1cIm5vdEZvdW5kTGFiZWxcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBpbmRleCBhcyBpO1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZGF0YVR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c2ZjLXRlbXBsYXRlLWNvbnRlbnQgKm5nU3dpdGNoQ2FzZT1cIlRhYmxlRGF0YVR5cGUuUm93c1wiIFtyZWZlcmVuY2VDb250ZW50XT1cInJvd0NvbnRlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVzQ29udGVudF09XCJ0ZW1wbGF0ZXNcIiBbdGVtcGxhdGVUeXBlXT1cIlRhYmxlVGVtcGxhdGUuUm93XCIgW2RlZmF1bHRDb250ZW50XT1cImRlZmF1bHRSb3dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29udGV4dERhdGFdPVwie21vZGVsOiBpdGVtLCBjb2x1bW5zOiB0YWJsZUNvbHVtbnMsIHBvc2l0aW9uOiBwb3NpdGlvbn1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NmYy10ZW1wbGF0ZS1jb250ZW50PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRSb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZmMtZGVmYXVsdC10YWJsZS1yb3cgW2NvbHVtbnNdPVwidGFibGVDb2x1bW5zXCIgW21vZGVsXT1cIml0ZW1cIiBbcG9zaXRpb25dPVwicG9zaXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdE9uQ2xpY2tdPVwic2VsZWN0T25DbGlja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NmYy1kZWZhdWx0LXRhYmxlLXJvdz5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8c2ZjLXRlbXBsYXRlLWNvbnRlbnQgKm5nU3dpdGNoQ2FzZT1cIlRhYmxlRGF0YVR5cGUuQ2FyZHNcIiBbcmVmZXJlbmNlQ29udGVudF09XCJjYXJkQ29udGVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZXNDb250ZW50XT1cInRlbXBsYXRlc1wiIFt0ZW1wbGF0ZVR5cGVdPVwiVGFibGVUZW1wbGF0ZS5DYXJkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRDb250ZW50XT1cImRlZmF1bHRDYXJkXCIgW2NvbnRleHREYXRhXT1cInttb2RlbDogaXRlbSwgY29sdW1uczogdGFibGVDb2x1bW5zfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc2ZjLXRlbXBsYXRlLWNvbnRlbnQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdENhcmQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZmMtZGVmYXVsdC10YWJsZS1jYXJkIFtjb2x1bW5zXT1cInRhYmxlQ29sdW1uc1wiIFttb2RlbF09XCJpdGVtXCIgW3NlbGVjdE9uQ2xpY2tdPVwic2VsZWN0T25DbGlja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NmYy1kZWZhdWx0LXRhYmxlLWNhcmQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9zZmMtbG9hZC1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
311
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDcUQsU0FBUyxFQUFFLGVBQWUsRUFDM0UsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUN6QyxNQUFNLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLEdBQUcsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQzdELFdBQVcsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sRUFDMUYsV0FBVyxFQUFFLGlCQUFpQixFQUFrQixxQkFBcUIsRUFDeEIsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBb0UsT0FBTyxFQUNuRyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRXJGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0s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QUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBTU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBUU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFZTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQWNOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFjQyxPQUFPO3NCQURiLFdBQVc7dUJBQUMsU0FBUyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQVF2QyxVQUFVO3NCQURULEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsTUFBTTtnQkFrQlAsYUFBYTtzQkFEWixLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkE2Qk4sU0FBUztzQkFEUixlQUFlO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRDaGVja2VkLCBBZnRlclZpZXdDaGVja2VkLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sXHJcbiAgRG9DaGVjaywgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgSXRlcmFibGVEaWZmZXIsIEl0ZXJhYmxlRGlmZmVycywgT25EZXN0cm95LFxyXG4gIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFRlbXBsYXRlUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgYWxsLCBmaXJzdE9yRGVmYXVsdCwgZ2V0Q2FsY1ZhbHVlLCBnZXRDc3NMaWtlVmFsdWUsIGlzRGVmaW5lZCxcclxuICBNZWRpYUxpbWl0cywgUG9zaXRpb24sIFJlc2l6ZVNlcnZpY2UsIFNvcnRpbmdEaXJlY3Rpb24sIFRlbXBsYXRlUmVmZXJlbmNlRGlyZWN0aXZlLCBXSU5ET1csXHJcbiAgVUlDb25zdGFudHMsIExvYWRDb250YWluZXJUeXBlLCBMb2FkZXJGdW5jdGlvbiwgTG9hZENvbnRhaW5lckxvYWRUeXBlLCBJTG9hZENvbnRhaW5lck1vZGVsLFxyXG4gIElMb2FkQ29udGFpbmVyUmVzdWx0TW9kZWwsIElQYWdpbmF0aW9uTW9kZWwsIFBhZ2luYXRpb25Db25zdGFudHMsIGdlbmVyYXRlR3VpZCwgYW55LFxyXG4gIGhhc0l0ZW0sIFNvcnRpbmdTZXJ2aWNlLCBJU29ydGluZ01vZGVsLCBJTG9hZENvbnRhaW5lclByZWRpY2F0ZVBhcmFtZXRlcnMsIEZpbHRlckZ1bmN0aW9uLCBVSUNsYXNzLCBJVG9nZ2xlU3dpdGNoZXJNb2RlbFxyXG59IGZyb20gJ25neC1zZmMtY29tbW9uJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRhYmxlQ29sdW1uVHlwZSB9IGZyb20gJy4vcGFydHMvY29sdW1ucy90YWJsZS1jb2x1bW4tdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgSVRhYmxlQ29sdW1uRXh0ZW5kZWRNb2RlbCwgSVRhYmxlQ29sdW1uTW9kZWwgfSBmcm9tICcuL3BhcnRzL2NvbHVtbnMvdGFibGUtY29sdW1uLm1vZGVsJztcclxuaW1wb3J0IHsgQ29sdW1uc1RvZ2dsZVNlcnZpY2UgfSBmcm9tICcuL3BhcnRzL3RvZ2dsZS9zZXJ2aWNlL2NvbHVtbnMtdG9nZ2xlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJVGFibGVTZWxlY3RFdmVudCB9IGZyb20gJy4vc2VydmljZS9zZWxlY3QvdGFibGUtc2VsZWN0LmV2ZW50JztcclxuaW1wb3J0IHsgVGFibGVTZWxlY3RTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlL3NlbGVjdC90YWJsZS1zZWxlY3Quc2VydmljZSc7XHJcbmltcG9ydCB7IFRhYmxlRGF0YVR5cGUgfSBmcm9tICcuL2VudW1zL3RhYmxlLWRhdGEtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgVGFibGVDb25zdGFudHMgfSBmcm9tICcuL3RhYmxlLmNvbnN0YW50cyc7XHJcbmltcG9ydCB7IFRhYmxlVGVtcGxhdGUgfSBmcm9tICcuL2VudW1zL3RhYmxlLXRlbXBsYXRlLmVudW0nO1xyXG5pbXBvcnQgeyBJVGFibGVNb2RlbCB9IGZyb20gJy4vbW9kZWxzL3RhYmxlLm1vZGVsJztcclxuaW1wb3J0IHsgZmFUYWJsZUxpc3QsIGZhQm9yZGVyQWxsIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ZjLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbU29ydGluZ1NlcnZpY2UsIFRhYmxlU2VsZWN0U2VydmljZSwgQ29sdW1uc1RvZ2dsZVNlcnZpY2UsIFJlc2l6ZVNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgRG9DaGVjaywgT25EZXN0cm95IHtcclxuXHJcbiAgVGFibGVEYXRhVHlwZSA9IFRhYmxlRGF0YVR5cGU7XHJcbiAgVGFibGVDb2x1bW5UeXBlID0gVGFibGVDb2x1bW5UeXBlO1xyXG4gIFRhYmxlVGVtcGxhdGUgPSBUYWJsZVRlbXBsYXRlO1xyXG4gIENvbnN0YW50cyA9IFRhYmxlQ29uc3RhbnRzO1xyXG4gIExvYWRDb250YWluZXJUeXBlID0gTG9hZENvbnRhaW5lclR5cGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcG9zaXRpb246IFBvc2l0aW9uID0gUG9zaXRpb24uQ2VudGVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRlbGltZXRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxyXG4gIGRhdGFUeXBlOiBUYWJsZURhdGFUeXBlID0gVGFibGVEYXRhVHlwZS5Sb3dzO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRhdGFUb2dnbGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dDb2x1bW5zOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBjb2x1bW5zVG9nZ2xlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcGFnaW5hdGlvbjogSVBhZ2luYXRpb25Nb2RlbCA9IFBhZ2luYXRpb25Db25zdGFudHMuREVGQVVMVF9QQUdJTkFUSU9OO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNlcXVlbmNlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBub3RGb3VuZExhYmVsOiBzdHJpbmcgPSB0aGlzLkNvbnN0YW50cy5OT1RfRk9VTkRfTEFCRUxfREVGQVVMVDtcclxuXHJcbiAgQElucHV0KClcclxuICBsb2FkTW9yZUxhYmVsOiBzdHJpbmcgPSB0aGlzLkNvbnN0YW50cy5MT0FEX01PUkVfTEFCRUxfREVGQVVMVDtcclxuXHJcbiAgQElucHV0KClcclxuICBzaG93VG90YWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICB0b3RhbExhYmVsOiBzdHJpbmcgPSB0aGlzLkNvbnN0YW50cy5UT1RBTF9MQUJFTF9ERUZBVUxUO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHBhZ2luYXRpb25Db3VudDogbnVtYmVyID0gUGFnaW5hdGlvbkNvbnN0YW50cy5ERUZBVUxUX0NPVU5UO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHBhZ2luYXRpb25MaW1pdHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBzaG93TG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8vIFRlbXBsYXRlIHJlZmVyZW5jZXMgXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY29sdW1uQ29udGVudD86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcm93Q29udGVudD86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY2FyZENvbnRlbnQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAvLyBFbmQgVGVtcGxhdGUgcmVmZXJlbmNlc1xyXG5cclxuICAvL0RhdGFcclxuXHJcbiAgQElucHV0KClcclxuICBkYXRhOiBhbnlbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRhdGEkITogT2JzZXJ2YWJsZTxhbnlbXT47XHJcblxyXG4gIHByaXZhdGUgZGF0YURpZmZlciE6IEl0ZXJhYmxlRGlmZmVyPGFueT47XHJcblxyXG4gIHByaXZhdGUgZGF0YVN1YmplY3QhOiBCZWhhdmlvclN1YmplY3Q8YW55W10+O1xyXG5cclxuICAvLyBFbmQgRGF0YVxyXG5cclxuICAvLyBDb2x1bW5zXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY29sdW1uczogSVRhYmxlQ29sdW1uTW9kZWxbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dDb2x1bW5zTGFiZWwhOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaGlkZUNvbHVtbnNMYWJlbCE6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICByZXNpemU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwcml2YXRlIGNvbHVtbnNEaWZmZXIhOiBJdGVyYWJsZURpZmZlcjxJVGFibGVDb2x1bW5Nb2RlbD47XHJcblxyXG4gIHByaXZhdGUgY29sdW1uc1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxJVGFibGVDb2x1bW5Nb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVRhYmxlQ29sdW1uTW9kZWxbXT4odGhpcy5jb2x1bW5zKTtcclxuXHJcbiAgcHVibGljIHRhYmxlQ29sdW1uczogSVRhYmxlQ29sdW1uRXh0ZW5kZWRNb2RlbFtdID0gW107XHJcblxyXG4gIC8vIEVuZCBDb2x1bW5zICBcclxuXHJcbiAgLy8gTG9hZCBjb250YWluZXJcclxuXHJcbiAgQElucHV0KClcclxuICBsb2FkVHlwZTogTG9hZENvbnRhaW5lckxvYWRUeXBlID0gTG9hZENvbnRhaW5lckxvYWRUeXBlLlBhZ2luYXRpb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbG9hZGVyITogTG9hZGVyRnVuY3Rpb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZmlsdGVyPzogRmlsdGVyRnVuY3Rpb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHJlZGljYXRlJCE6IE9ic2VydmFibGU8SUxvYWRDb250YWluZXJQcmVkaWNhdGVQYXJhbWV0ZXJzIHwgbnVsbD47XHJcblxyXG4gIHB1YmxpYyBsb2FkTW9kZWwhOiBJTG9hZENvbnRhaW5lck1vZGVsO1xyXG5cclxuICBwdWJsaWMgbG9hZENvbnRhaW5lcklkOiBzdHJpbmcgPSBnZW5lcmF0ZUd1aWQoKTtcclxuXHJcbiAgcHVibGljIGl0ZW1zOiBJVGFibGVNb2RlbFtdID0gW107XHJcblxyXG4gIHB1YmxpYyB0b3RhbDogbnVtYmVyID0gMDtcclxuXHJcbiAgcHJpdmF0ZSBwYWdlOiBudW1iZXIgPSBQYWdpbmF0aW9uQ29uc3RhbnRzLkRFRkFVTFRfUEFHRTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKGBjbGFzcy4ke1VJQ2xhc3MuTG9hZGluZ31gKVxyXG4gIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vIEVuZCBMb2FkIGNvbnRhaW5lclxyXG5cclxuICAvLyBTZWxlY3Rpb25cclxuXHJcbiAgQElucHV0KClcclxuICBzZWxlY3RhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0T25DbGljazogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBzZWxlY3RlZDogRXZlbnRFbWl0dGVyPElUYWJsZVNlbGVjdEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVRhYmxlU2VsZWN0RXZlbnQ+KCk7XHJcblxyXG4gIHB1YmxpYyBnZXQgYWxsUm93c1NlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICh0aGlzLmFsbFNlbGVjdGVkIHx8IHRoaXMudG90YWwgPT0gdGhpcy5zZWxlY3RlZFNlcnZpY2Uuc2VsZWN0ZWRJdGVtcy5sZW5ndGgpXHJcbiAgICAgICYmICFhbnkodGhpcy5zZWxlY3RlZFNlcnZpY2UudW5zZWxlY3RlZEl0ZW1zKVxyXG4gICAgICAmJiBhbnkodGhpcy5pdGVtcyk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBhbGxTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9hbGxTZWxlY3Rpb25TdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8vIEVuZCBTZWxlY3Rpb25cclxuXHJcbiAgLy8gRGF0YSB0b2dnbGVcclxuXHJcbiAgQElucHV0KClcclxuICBkYXRhTGlzdExhYmVsOiBzdHJpbmcgPSB0aGlzLkNvbnN0YW50cy5EQVRBX0xJU1RfTEFCRUw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF0YUNhcmRzTGFiZWw6IHN0cmluZyA9IHRoaXMuQ29uc3RhbnRzLkRBVEFfQ0FSRFNfTEFCRUw7XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVTd2l0Y2hlckxlZnRNb2RlbCE6IElUb2dnbGVTd2l0Y2hlck1vZGVsO1xyXG5cclxuICBwdWJsaWMgdG9nZ2xlU3dpdGNoZXJSaWdodE1vZGVsITogSVRvZ2dsZVN3aXRjaGVyTW9kZWw7XHJcblxyXG4gIC8vIEVuZCBkYXRhIHRvZ2dsZVxyXG5cclxuICBwdWJsaWMgdm0kITogT2JzZXJ2YWJsZTxhbnk+O1xyXG5cclxuICBwcml2YXRlIF9jb2x1bW5zUmVzaXplU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBwcml2YXRlIF9jb2x1bW5zU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBwcml2YXRlIF9zb3J0aW5nU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBwcml2YXRlIGdldCBpbml0aWFsU29ydGluZygpOiBJU29ydGluZ01vZGVsIHwgbnVsbCB7XHJcbiAgICBjb25zdCBhY3RpdmVTb3J0aW5nQ29sdW1uID0gZmlyc3RPckRlZmF1bHQodGhpcy5jb2x1bW5zLCBjb2x1bW4gPT4gY29sdW1uLnNvcnRpbmc/LmFjdGl2ZSEpO1xyXG5cclxuICAgIGlmIChhY3RpdmVTb3J0aW5nQ29sdW1uKVxyXG4gICAgICByZXR1cm4geyBpZDogYWN0aXZlU29ydGluZ0NvbHVtbi5maWVsZCwgZGlyZWN0aW9uOiBhY3RpdmVTb3J0aW5nQ29sdW1uLnNvcnRpbmc/LmRpcmVjdGlvbiEgfTtcclxuXHJcbiAgICBjb25zdCBlbmFibGVkU29ydGluZ0NvbHVtbiA9IGZpcnN0T3JEZWZhdWx0KHRoaXMuY29sdW1ucywgY29sdW1uID0+IGNvbHVtbi5zb3J0aW5nPy5lbmFibGVkISk7XHJcblxyXG4gICAgcmV0dXJuIGVuYWJsZWRTb3J0aW5nQ29sdW1uID8geyBpZDogZW5hYmxlZFNvcnRpbmdDb2x1bW4uZmllbGQsIGRpcmVjdGlvbjogZW5hYmxlZFNvcnRpbmdDb2x1bW4uc29ydGluZz8uZGlyZWN0aW9uISB9IDogbnVsbDtcclxuICB9XHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oVGVtcGxhdGVSZWZlcmVuY2VEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWZlcmVuY2VEaXJlY3RpdmUgfSlcclxuICB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZmVyZW5jZURpcmVjdGl2ZT4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGNvbHVtbnNUb2dnbGVTZXJ2aWNlOiBDb2x1bW5zVG9nZ2xlU2VydmljZSxcclxuICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHdpbmRvdzogV2luZG93LFxyXG4gICAgcHJpdmF0ZSBzZWxlY3RlZFNlcnZpY2U6IFRhYmxlU2VsZWN0U2VydmljZSxcclxuICAgIHByaXZhdGUgc29ydGluZ1NlcnZpY2U6IFNvcnRpbmdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHJlc2l6ZVNlcnZpY2U6IFJlc2l6ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGl0ZXJhYmxlRGlmZmVyczogSXRlcmFibGVEaWZmZXJzKSB7XHJcbiAgICB0aGlzLmRhdGFEaWZmZXIgPSBpdGVyYWJsZURpZmZlcnMuZmluZChbXSkuY3JlYXRlPEl0ZXJhYmxlRGlmZmVyPGFueT4+KHVuZGVmaW5lZCk7XHJcbiAgICB0aGlzLmNvbHVtbnNEaWZmZXIgPSBpdGVyYWJsZURpZmZlcnMuZmluZChbXSkuY3JlYXRlPElUYWJsZUNvbHVtbk1vZGVsPih1bmRlZmluZWQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBpZiBkYXRhIGlzIHN0YXRpYywgbWFrZSBpdCBvYnNlcnZhYmxlXHJcbiAgICBpZiAoIWlzRGVmaW5lZCh0aGlzLmRhdGEkKSkge1xyXG4gICAgICB0aGlzLmRhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLmRhdGEpO1xyXG4gICAgICB0aGlzLmRhdGEkID0gdGhpcy5kYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zZWxlY3RhYmxlKVxyXG4gICAgICB0aGlzLnNlbGVjdGlvblN1YnNjcmliZSgpO1xyXG5cclxuICAgIC8vIHNldCB1cCBjb2x1bW5zIChjb25kaXRpb25hbGx5IGFkZCBzZXF1ZW5jZSwgc2VsZWN0YWJsZSBhbmQgZXhwYW5kIGNvbHVtbnMpXHJcbiAgICB0aGlzLmNvbHVtbnNTdWJzY3JpYmUoKTtcclxuXHJcbiAgICBpZiAodGhpcy5yZXNpemUpXHJcbiAgICAgIHRoaXMucmVzaXplU3Vic2NyaWJlKCk7XHJcblxyXG4gICAgdGhpcy5zb3J0aW5nU3Vic2NyaWJlKCk7XHJcblxyXG4gICAgdGhpcy5sb2FkTW9kZWwgPSB7XHJcbiAgICAgIHByZWRpY2F0ZSQ6IHRoaXMucHJlZGljYXRlJCxcclxuICAgICAgZGF0YSQ6IHRoaXMuZGF0YSQsXHJcbiAgICAgIGxvYWRlcjogdGhpcy5sb2FkZXIsXHJcbiAgICAgIGZpbHRlcjogdGhpcy5maWx0ZXIsXHJcbiAgICAgIGxvYWRUeXBlOiB0aGlzLmxvYWRUeXBlLFxyXG4gICAgICBwYWdpbmF0aW9uOiB0aGlzLnBhZ2luYXRpb24sXHJcbiAgICAgIHNvcnRpbmc6IHRoaXMuaW5pdGlhbFNvcnRpbmdcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy50b2dnbGVTd2l0Y2hlckxlZnRNb2RlbCA9IHsgbGFiZWw6IHRoaXMuZGF0YUxpc3RMYWJlbCwgaWNvbjogZmFUYWJsZUxpc3QgfTtcclxuICAgIHRoaXMudG9nZ2xlU3dpdGNoZXJSaWdodE1vZGVsID0geyBsYWJlbDogdGhpcy5kYXRhQ2FyZHNMYWJlbCwgaWNvbjogZmFCb3JkZXJBbGwgfTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGF0YURpZmZlci5kaWZmKHRoaXMuZGF0YSkpIHtcclxuICAgICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KHRoaXMuZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29sdW1uc0RpZmZlci5kaWZmKHRoaXMuY29sdW1ucykpIHtcclxuICAgICAgdGhpcy5jb2x1bW5zU3ViamVjdC5uZXh0KHRoaXMuY29sdW1ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fYWxsU2VsZWN0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fY29sdW1uc1Jlc2l6ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX2NvbHVtbnNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLl9zb3J0aW5nU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRGF0YVR5cGVUb2dnbGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGFUeXBlID0gdGhpcy5kYXRhVHlwZSA9PSBUYWJsZURhdGFUeXBlLlJvd3NcclxuICAgICAgPyBUYWJsZURhdGFUeXBlLkNhcmRzXHJcbiAgICAgIDogVGFibGVEYXRhVHlwZS5Sb3dzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN1Y2Nlc3MocmVzdWx0OiBJTG9hZENvbnRhaW5lclJlc3VsdE1vZGVsPGFueT4pOiB2b2lkIHtcclxuICAgIHRoaXMucGFnZSA9IHJlc3VsdC5wYWdlO1xyXG4gICAgdGhpcy50b3RhbCA9IHJlc3VsdC50b3RhbDtcclxuXHJcbiAgICBjb25zdCBpdGVtczogSVRhYmxlTW9kZWxbXSA9IHJlc3VsdC5pdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIGNvbnN0IHNlcXVlbmNlID0gKGluZGV4ICsgMSkgKyAoKHRoaXMucGFnZSAqIHRoaXMucGFnaW5hdGlvbi5zaXplKSAtIHRoaXMucGFnaW5hdGlvbi5zaXplKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBpbmRleDogaW5kZXgsXHJcbiAgICAgICAgc2VxdWVuY2U6IHNlcXVlbmNlLFxyXG4gICAgICAgIHNlbGVjdGVkOiB0aGlzLmdldEl0ZW1TZWxlY3RlZChzZXF1ZW5jZSksXHJcbiAgICAgICAgZGF0YTogaXRlbVxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHJlc3VsdC5yZXNldClcclxuICAgICAgdGhpcy5pdGVtcyA9IGl0ZW1zO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLml0ZW1zID0gdGhpcy5pdGVtcy5jb25jYXQoaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZWxlY3Rpb25TdWJzY3JpYmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9hbGxTZWxlY3Rpb25TdWJzY3JpcHRpb24gPSB0aGlzLnNlbGVjdGVkU2VydmljZS5zZWxlY3QkXHJcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBJVGFibGVTZWxlY3RFdmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC5pbmRleCA9PSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmFsbFNlbGVjdGVkID0gZXZlbnQuc2VsZWN0ZWQ7XHJcbiAgICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiBpdGVtLnNlbGVjdGVkID0gZXZlbnQuc2VsZWN0ZWQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2l6ZVN1YnNjcmliZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NvbHVtbnNSZXNpemVTdWJzY3JpcHRpb24gPSB0aGlzLnJlc2l6ZVNlcnZpY2Uub25SZXNpemUkXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy50YWJsZUNvbHVtbnMuZm9yRWFjaChjb2x1bW4gPT5cclxuICAgICAgICBjb2x1bW4uY2FsY3VsYXRlZFdpZHRoID0gdGhpcy5jYWxjdWxhdGVDb2x1bW5XaWR0aChjb2x1bW4sIHRoaXMudGFibGVDb2x1bW5zLmxlbmd0aCkpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29sdW1uc1N1YnNjcmliZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NvbHVtbnNTdWJzY3JpcHRpb24gPSB0aGlzLmNvbHVtbnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoXHJcbiAgICAgIGZpbHRlcihjb2x1bW5zID0+IGFueShjb2x1bW5zKSksXHJcbiAgICAgIG1hcCgoY29sdW1uczogSVRhYmxlQ29sdW1uTW9kZWxbXSkgPT4ge1xyXG4gICAgICAgIGxldCB0YWJsZUNvbHVtbnMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGNvbHVtbnMpKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2VxdWVuY2UpXHJcbiAgICAgICAgICB0YWJsZUNvbHVtbnMudW5zaGlmdChUYWJsZUNvbnN0YW50cy5TRVFVRU5DRV9DT0xVTU4pO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RhYmxlKVxyXG4gICAgICAgICAgdGFibGVDb2x1bW5zLnVuc2hpZnQoVGFibGVDb25zdGFudHMuU0VMRUNUQUJMRV9DT0xVTU4pO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5leHBhbmRlZClcclxuICAgICAgICAgIHRhYmxlQ29sdW1ucy5wdXNoKFRhYmxlQ29uc3RhbnRzLkVYUEFOREVEX0NPTFVNTik7XHJcblxyXG4gICAgICAgIC8vIGNhbGN1bGF0ZWQgd2lkdGggbm90IHdvcmsgd2l0aG91dCBkZWVwIGNvcHlcclxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0YWJsZUNvbHVtbnMpKTtcclxuICAgICAgfSlcclxuICAgICkuc3Vic2NyaWJlKChjb2x1bW5zOiBJVGFibGVDb2x1bW5FeHRlbmRlZE1vZGVsW10pID0+IHtcclxuICAgICAgY29sdW1ucy5mb3JFYWNoKChjb2x1bW46IElUYWJsZUNvbHVtbkV4dGVuZGVkTW9kZWwpID0+IHtcclxuICAgICAgICBjb2x1bW4uY2FsY3VsYXRlZFdpZHRoID0gdGhpcy5jYWxjdWxhdGVDb2x1bW5XaWR0aChjb2x1bW4sIGNvbHVtbnMubGVuZ3RoKTtcclxuXHJcbiAgICAgICAgY29uc3Qgc29ydGluZ0NvbHVtbiA9IHRoaXMuaW5pdGlhbFNvcnRpbmc7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbFNvcnRpbmcpIHtcclxuICAgICAgICAgIHRoaXMuc2V0Q29sdW1uU29ydGluZyhjb2x1bW4sIHNvcnRpbmdDb2x1bW4/LmlkISlcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy50YWJsZUNvbHVtbnMgPSBjb2x1bW5zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNvcnRpbmdTdWJzY3JpYmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zb3J0aW5nU3Vic2NyaXB0aW9uID0gdGhpcy5zb3J0aW5nU2VydmljZS5zb3J0aW5nJC5zdWJzY3JpYmUoKHNvcnRpbmdFdmVudCkgPT5cclxuICAgICAgdGhpcy50YWJsZUNvbHVtbnMuZm9yRWFjaCgoY29sdW1uOiBJVGFibGVDb2x1bW5FeHRlbmRlZE1vZGVsKSA9PiB0aGlzLnNldENvbHVtblNvcnRpbmcoY29sdW1uLCBzb3J0aW5nRXZlbnQ/LmlkKSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYWxjdWxhdGVDb2x1bW5XaWR0aChjb2x1bW46IElUYWJsZUNvbHVtbkV4dGVuZGVkTW9kZWwsIGNvbHVtbnNMZW5ndGg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAvLyBkZWZpbmVkIHdpZHRoIGZvciBhbGwgY29sdW1uc1xyXG4gICAgaWYgKGFsbCh0aGlzLmNvbHVtbnMsIGNvbHVtbiA9PiBpc0RlZmluZWQoY29sdW1uLndpZHRoKSkpXHJcbiAgICAgIHJldHVybiBnZXRDc3NMaWtlVmFsdWUoY29sdW1uLndpZHRoISwgVUlDb25zdGFudHMuQ1NTX1BFUkNFTlRBR0UpO1xyXG5cclxuICAgIGxldCB3aWR0aDogbnVtYmVyID0gY29sdW1uc0xlbmd0aDtcclxuXHJcbiAgICBpZiAodGhpcy53aW5kb3cuaW5uZXJXaWR0aCA8PSBNZWRpYUxpbWl0cy5Nb2JpbGVMYXJnZSlcclxuICAgICAgd2lkdGggPSAxO1xyXG4gICAgZWxzZSBpZiAodGhpcy53aW5kb3cuaW5uZXJXaWR0aCA8PSBNZWRpYUxpbWl0cy5UYWJsZXQpXHJcbiAgICAgIHdpZHRoID0gTWF0aC5jZWlsKGNvbHVtbnNMZW5ndGggLyAyKTtcclxuXHJcbiAgICByZXR1cm4gZ2V0Q2FsY1ZhbHVlKHdpZHRoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29sdW1uU29ydGluZyhjb2x1bW46IElUYWJsZUNvbHVtbkV4dGVuZGVkTW9kZWwsIHNvcnRpbmdJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoY29sdW1uLnNvcnRpbmc/LmVuYWJsZWQpIHtcclxuICAgICAgY29sdW1uLnNvcnRpbmcuYWN0aXZlID0gY29sdW1uLmZpZWxkID09IHNvcnRpbmdJZDtcclxuXHJcbiAgICAgIGlmICghY29sdW1uLnNvcnRpbmcuYWN0aXZlKVxyXG4gICAgICAgIGNvbHVtbi5zb3J0aW5nLmRpcmVjdGlvbiA9IFNvcnRpbmdEaXJlY3Rpb24uQXNjZW5kaW5nO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRJdGVtU2VsZWN0ZWQoc2VxdWVuY2U6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWxsU2VsZWN0ZWRcclxuICAgICAgPyAhaGFzSXRlbSh0aGlzLnNlbGVjdGVkU2VydmljZS51bnNlbGVjdGVkSXRlbXMsIHNlcXVlbmNlKVxyXG4gICAgICA6IGhhc0l0ZW0odGhpcy5zZWxlY3RlZFNlcnZpY2Uuc2VsZWN0ZWRJdGVtcywgc2VxdWVuY2UpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0xvYWRpbmdcIiBjbGFzcz1cInRhYmxlLWxvYWRlclwiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbnMtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMtYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgPHNmYy1jb2x1bW5zLXRvZ2dsZSAqbmdJZj1cImNvbHVtbnNUb2dnbGVcIiBbc2hvd0xhYmVsXT1cInNob3dDb2x1bW5zTGFiZWxcIiBbaGlkZUxhYmVsXT1cImhpZGVDb2x1bW5zTGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDwvc2ZjLWNvbHVtbnMtdG9nZ2xlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJzaG93VG90YWxcIj57e3RvdGFsTGFiZWx9fTogPHNwYW4+e3t0b3RhbH19PC9zcGFuPjwvcD5cclxuICAgICAgICAgICAgICAgIDxzZmMtdG9nZ2xlLXN3aXRjaGVyICpuZ0lmPVwiZGF0YVRvZ2dsZVwiIFthY3RpdmVdPVwiZGF0YVR5cGUgPT09IFRhYmxlRGF0YVR5cGUuQ2FyZHNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsZWZ0TW9kZWxdPVwidG9nZ2xlU3dpdGNoZXJMZWZ0TW9kZWxcIiBbcmlnaHRNb2RlbF09XCJ0b2dnbGVTd2l0Y2hlclJpZ2h0TW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRhdGFUeXBlVG9nZ2xlKClcIj5cclxuICAgICAgICAgICAgICAgIDwvc2ZjLXRvZ2dsZS1zd2l0Y2hlcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJzaG93Q29sdW1ucyAmJiBjb2x1bW5zVG9nZ2xlU2VydmljZS5zaG93XCIgY2xhc3M9XCJjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIiBbc3R5bGUuanVzdGlmeUNvbnRlbnRdPVwicG9zaXRpb25cIiBbc3R5bGUubWluV2lkdGhdPVwiY29sdW1uLmNhbGN1bGF0ZWRXaWR0aFwiXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIHRhYmxlQ29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29sdW1uLnR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c2ZjLXNlbGVjdGFibGUtdGFibGUtY29sdW1uICpuZ1N3aXRjaENhc2U9XCJUYWJsZUNvbHVtblR5cGUuU2VsZWN0YWJsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJhbGxSb3dzU2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NmYy1zZWxlY3RhYmxlLXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPHNmYy1zb3J0aW5nLWNvbHVtbiAqbmdTd2l0Y2hEZWZhdWx0IFttb2RlbF09XCJjb2x1bW4uc29ydGluZyFcIiBbaWRdPVwiY29sdW1uLmZpZWxkXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2ZjLXRlbXBsYXRlLWNvbnRlbnQgW3JlZmVyZW5jZUNvbnRlbnRdPVwiY29sdW1uQ29udGVudFwiIFt0ZW1wbGF0ZXNDb250ZW50XT1cInRlbXBsYXRlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVUeXBlXT1cIlRhYmxlVGVtcGxhdGUuQ29sdW1uXCIgW2RlZmF1bHRDb250ZW50XT1cImRlZmF1bHRDb2x1bW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHREYXRhXT1cImNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NmYy10ZW1wbGF0ZS1jb250ZW50PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29sdW1uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNmYy1kZWZhdWx0LXRhYmxlLWNvbHVtbiBbbW9kZWxdPVwiY29sdW1uXCI+PC9zZmMtZGVmYXVsdC10YWJsZS1jb2x1bW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvc2ZjLXNvcnRpbmctY29sdW1uPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPHNmYy1kZWxpbWV0ZXIgKm5nSWY9XCJkZWxpbWV0ZXJcIiBjbGFzcz1cInRhYmxlLWRlbGltZXRlclwiPjwvc2ZjLWRlbGltZXRlcj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicm93cy1jb250YWluZXJcIj5cclxuICAgICAgICA8c2ZjLWxvYWQtY29udGFpbmVyIFtpZF09XCJsb2FkQ29udGFpbmVySWRcIiBbdHlwZV09XCJMb2FkQ29udGFpbmVyVHlwZS5UYWJsZVwiIFttb2RlbF09XCJsb2FkTW9kZWxcIlxyXG4gICAgICAgICAgICBbcGFnaW5hdGlvbkNvdW50XT1cInBhZ2luYXRpb25Db3VudFwiIFtwYWdpbmF0aW9uTGltaXRzXT1cInBhZ2luYXRpb25MaW1pdHNcIiBbc2hvd0xvYWRpbmddPVwic2hvd0xvYWRpbmdcIlxyXG4gICAgICAgICAgICAoaGFuZGxlU3VjY2Vzcyk9XCJoYW5kbGVTdWNjZXNzKCRldmVudClcIiAoaGFuZGxlTG9hZGluZyk9XCJsb2FkaW5nID0gJGV2ZW50XCIgW2VtcHR5TGFiZWxdPVwibm90Rm91bmRMYWJlbFwiIFtsb2FkTW9yZUxhYmVsXT1cImxvYWRNb3JlTGFiZWxcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBpbmRleCBhcyBpO1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZGF0YVR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c2ZjLXRlbXBsYXRlLWNvbnRlbnQgKm5nU3dpdGNoQ2FzZT1cIlRhYmxlRGF0YVR5cGUuUm93c1wiIFtyZWZlcmVuY2VDb250ZW50XT1cInJvd0NvbnRlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVzQ29udGVudF09XCJ0ZW1wbGF0ZXNcIiBbdGVtcGxhdGVUeXBlXT1cIlRhYmxlVGVtcGxhdGUuUm93XCIgW2RlZmF1bHRDb250ZW50XT1cImRlZmF1bHRSb3dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29udGV4dERhdGFdPVwie21vZGVsOiBpdGVtLCBjb2x1bW5zOiB0YWJsZUNvbHVtbnMsIHBvc2l0aW9uOiBwb3NpdGlvbn1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NmYy10ZW1wbGF0ZS1jb250ZW50PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRSb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZmMtZGVmYXVsdC10YWJsZS1yb3cgW2NvbHVtbnNdPVwidGFibGVDb2x1bW5zXCIgW21vZGVsXT1cIml0ZW1cIiBbcG9zaXRpb25dPVwicG9zaXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdE9uQ2xpY2tdPVwic2VsZWN0T25DbGlja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NmYy1kZWZhdWx0LXRhYmxlLXJvdz5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8c2ZjLXRlbXBsYXRlLWNvbnRlbnQgKm5nU3dpdGNoQ2FzZT1cIlRhYmxlRGF0YVR5cGUuQ2FyZHNcIiBbcmVmZXJlbmNlQ29udGVudF09XCJjYXJkQ29udGVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZXNDb250ZW50XT1cInRlbXBsYXRlc1wiIFt0ZW1wbGF0ZVR5cGVdPVwiVGFibGVUZW1wbGF0ZS5DYXJkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRDb250ZW50XT1cImRlZmF1bHRDYXJkXCIgW2NvbnRleHREYXRhXT1cInttb2RlbDogaXRlbSwgY29sdW1uczogdGFibGVDb2x1bW5zfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc2ZjLXRlbXBsYXRlLWNvbnRlbnQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdENhcmQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZmMtZGVmYXVsdC10YWJsZS1jYXJkIFtjb2x1bW5zXT1cInRhYmxlQ29sdW1uc1wiIFttb2RlbF09XCJpdGVtXCIgW3NlbGVjdE9uQ2xpY2tdPVwic2VsZWN0T25DbGlja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NmYy1kZWZhdWx0LXRhYmxlLWNhcmQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9zZmMtbG9hZC1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -5,7 +5,8 @@ TableConstants.SEQUENCE_COLUMN = { name: '№', field: '', type: TableColumnType
|
|
|
5
5
|
TableConstants.SELECTABLE_COLUMN = { name: '', field: '', type: TableColumnType.Selectable };
|
|
6
6
|
TableConstants.EXPANDED_COLUMN = { name: '', field: '', type: TableColumnType.Expanded };
|
|
7
7
|
TableConstants.NOT_FOUND_LABEL_DEFAULT = 'Not found';
|
|
8
|
+
TableConstants.LOAD_MORE_LABEL_DEFAULT = 'Show more';
|
|
8
9
|
TableConstants.TOTAL_LABEL_DEFAULT = 'Total';
|
|
9
10
|
TableConstants.DATA_LIST_LABEL = 'List';
|
|
10
11
|
TableConstants.DATA_CARDS_LABEL = 'Cards';
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXpFLE1BQU0sT0FBTyxjQUFjOztBQUNoQiw4QkFBZSxHQUE4QixFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3RHLGdDQUFpQixHQUE4QixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ3pHLDhCQUFlLEdBQThCLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDckcsc0NBQXVCLEdBQVcsV0FBVyxDQUFDO0FBQzlDLHNDQUF1QixHQUFXLFdBQVcsQ0FBQztBQUM5QyxrQ0FBbUIsR0FBVyxPQUFPLENBQUM7QUFDdEMsOEJBQWUsR0FBVyxNQUFNLENBQUM7QUFDakMsK0JBQWdCLEdBQVcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRhYmxlQ29sdW1uRXh0ZW5kZWRNb2RlbCB9IGZyb20gXCIuL3BhcnRzL2NvbHVtbnMvdGFibGUtY29sdW1uLm1vZGVsXCI7XHJcbmltcG9ydCB7IFRhYmxlQ29sdW1uVHlwZSB9IGZyb20gXCIuL3BhcnRzL2NvbHVtbnMvdGFibGUtY29sdW1uLXR5cGUuZW51bVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29uc3RhbnRzIHtcclxuICAgIHN0YXRpYyBTRVFVRU5DRV9DT0xVTU46IElUYWJsZUNvbHVtbkV4dGVuZGVkTW9kZWwgPSB7IG5hbWU6ICfihJYnLCBmaWVsZDogJycsIHR5cGU6IFRhYmxlQ29sdW1uVHlwZS5TZXF1ZW5jZSB9O1xyXG4gICAgc3RhdGljIFNFTEVDVEFCTEVfQ09MVU1OOiBJVGFibGVDb2x1bW5FeHRlbmRlZE1vZGVsID0geyBuYW1lOiAnJywgZmllbGQ6ICcnLCB0eXBlOiBUYWJsZUNvbHVtblR5cGUuU2VsZWN0YWJsZSB9O1xyXG4gICAgc3RhdGljIEVYUEFOREVEX0NPTFVNTjogSVRhYmxlQ29sdW1uRXh0ZW5kZWRNb2RlbCA9IHsgbmFtZTogJycsIGZpZWxkOiAnJywgdHlwZTogVGFibGVDb2x1bW5UeXBlLkV4cGFuZGVkIH07ICAgIFxyXG4gICAgc3RhdGljIE5PVF9GT1VORF9MQUJFTF9ERUZBVUxUOiBzdHJpbmcgPSAnTm90IGZvdW5kJztcclxuICAgIHN0YXRpYyBMT0FEX01PUkVfTEFCRUxfREVGQVVMVDogc3RyaW5nID0gJ1Nob3cgbW9yZSc7XHJcbiAgICBzdGF0aWMgVE9UQUxfTEFCRUxfREVGQVVMVDogc3RyaW5nID0gJ1RvdGFsJztcclxuICAgIHN0YXRpYyBEQVRBX0xJU1RfTEFCRUw6IHN0cmluZyA9ICdMaXN0JztcclxuICAgIHN0YXRpYyBEQVRBX0NBUkRTX0xBQkVMOiBzdHJpbmcgPSAnQ2FyZHMnO1xyXG59Il19
|