@one-grid-core/angular 0.5.3 → 0.5.4
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/README.md +1 -1
- package/esm2022/lib/components/one-grid-row-action/one-grid-row-action.component.mjs +14 -8
- package/esm2022/lib/core/models/one-column-def-types.model.mjs +1 -1
- package/fesm2022/one-grid-core-angular.mjs +13 -7
- package/fesm2022/one-grid-core-angular.mjs.map +1 -1
- package/lib/components/one-grid-row-action/one-grid-row-action.component.d.ts +1 -0
- package/lib/core/models/one-column-def-types.model.d.ts +1 -0
- package/package.json +1 -1
- package/scss/_one-grid.scss +27 -13
package/README.md
CHANGED
|
@@ -158,7 +158,7 @@ Legacy `@import` with pre-defined variables also still works.
|
|
|
158
158
|
| `cell-line-height` | `1.2` | Text line height |
|
|
159
159
|
| `row-drag-handle-color` | `var(--bs-secondary-color, #6c757d)` | Row drag handle at rest |
|
|
160
160
|
| `row-drag-indicator-size` | `2px` | Thickness of the drop indicator line |
|
|
161
|
-
| `detail-padding` | `
|
|
161
|
+
| `detail-padding` | `8px` | Inset around a master/detail row's nested grid. It is height the virtual scroller cannot account for; set it to `0` for a flush detail area. |
|
|
162
162
|
| `action-btn-size` | `20px` | Row action buttons, checkboxes, icons |
|
|
163
163
|
| `action-btn-radius` | `4px` | Small control corner radius |
|
|
164
164
|
| `border-radius` | `0` | Outer grid corner radius |
|
|
@@ -77,6 +77,7 @@ export class OneGridRowActionComponent {
|
|
|
77
77
|
this.detailActiveExcludeLevels = new Set(this.column.cellRendererParams?.detailActiveExcludeLevels ?? []);
|
|
78
78
|
this.gotoDetailExcludeLevels = new Set(this.column.cellRendererParams?.gotoDetailExcludeLevels ?? []);
|
|
79
79
|
this.addNewExcludeLevels = new Set(this.column.cellRendererParams?.addNewExcludeLevels ?? []);
|
|
80
|
+
this.gotoListExcludeLevels = new Set(this.column.cellRendererParams?.gotoListExcludeLevels ?? []);
|
|
80
81
|
}
|
|
81
82
|
/**
|
|
82
83
|
* Trigger Invoke Click Event
|
|
@@ -183,11 +184,11 @@ export class OneGridRowActionComponent {
|
|
|
183
184
|
this.onRowCellOption.emit(data);
|
|
184
185
|
}
|
|
185
186
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridRowActionComponent, deps: [{ token: i1.OneGridCellService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
186
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: OneGridRowActionComponent, isStandalone: true, selector: "one-grid-row-action", inputs: { column: "column", node: "node", allowedEdit: "allowedEdit", masterDetail: "masterDetail", masterNode: "masterNode", cellRendererParams: "cellRendererParams", gridType: "gridType", context: "context" }, outputs: { onRowGotoDetail: "onRowGotoDetail", onRowAddNew: "onRowAddNew", onRowView: "onRowView", onRowLocation: "onRowLocation", onRowDocument: "onRowDocument", onRowCopy: "onRowCopy", onRowDelete: "onRowDelete", onRowGotoList: "onRowGotoList", onRowEdit: "onRowEdit", onRowPrint: "onRowPrint", onRowHistory: "onRowHistory", onRowOption: "onRowOption", onRowLanguage: "onRowLanguage", onRowCellOption: "onRowCellOption" }, ngImport: i0, template: "@if ((cellRendererParams && node?.leaf && !column?.autoGroupField && !(node.group && node.leafGroup)) || (column?.rowActionLevels?.includes(node.level) && column?.autoGroupField)) {\n <div class=\"btn-action-container\">\n\n <!-- Expansion Button Status -->\n @if ((cellRendererParams?.detailActiveButtonStatus == 1 && !(detailActiveExcludeLevels?.has(node.level)))) {\n <!-- A button, not an <a> with a click handler: it has no href, so\n it was neither focusable nor operable from the keyboard. -->\n <button\n type=\"button\"\n class=\"btn-action btn-action-plain me-2\"\n [attr.aria-expanded]=\"node.detailActive\"\n [attr.aria-label]=\"node.detailActive ? 'Collapse row' : 'Expand row'\"\n [title]=\"node.detailActive ? 'Collapse' : 'Expand'\"\n (click)=\"invokeRowToggleDetailActiveExpand(node)\">\n\n <i class=\"bi\" [ngClass]=\"{ 'bi-chevron-down': node.detailActive, 'bi-chevron-right': !node.detailActive }\"></i>\n </button>\n }\n\n <!-- Goto Detail Button Status -->\n @if ((cellRendererParams?.gotoDetailButtonStatus == 1 && !(gotoDetailExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.gotoDetail\"\n [title]=\"labels.gotoDetail\"\n (click)=\"invokeRowActionGotoDetail(node, column)\">\n\n <i class=\"bi bi-list-task\"></i>\n </button>\n }\n\n <!-- Add New Button Status -->\n @if ((cellRendererParams?.addNewButtonStatus == 1 && !(addNewExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.addNew\"\n [title]=\"labels.addNew\"\n (click)=\"invokeRowActionAddNew(node, column)\">\n\n <i class=\"bi bi-plus\"></i>\n </button>\n }\n\n <!-- View Button Status -->\n @if (cellRendererParams?.viewButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.view\"\n [title]=\"labels.view\"\n (click)=\"invokeRowActionView(node, column)\">\n\n <i class=\"bi bi-eye\"></i>\n </button>\n }\n @if (cellRendererParams?.locationButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.location\"\n [title]=\"labels.location\"\n (click)=\"invokeRowActionLocation(node, column)\">\n\n <i class=\"bi bi-geo-alt\"></i>\n </button>\n }\n\n <!-- Document Button Status -->\n @if (cellRendererParams?.documentButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.document\"\n [title]=\"labels.document\"\n (click)=\"invokeRowActionDocument(node, column)\">\n\n <i class=\"bi bi-file-earmark-text\"></i>\n </button>\n }\n\n <!-- Copy Button Status -->\n @if (cellRendererParams?.copyButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.copy\"\n [title]=\"labels.copy\"\n (click)=\"invokeRowActionCopy(node, column)\">\n\n <i class=\"bi bi-files\"></i>\n </button>\n }\n\n\n <!-- Delete Button Status -->\n @if (cellRendererParams?.deleteButtonStatus == 1 && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-danger\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.delete\"\n [title]=\"labels.delete\"\n (click)=\"invokeRowActionDelete(node, column)\">\n\n <i class=\"bi bi-trash3\"></i>\n </button>\n }\n\n <!-- Goto List Button Status -->\n @if (cellRendererParams?.gotoListButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-success\"\n [attr.aria-label]=\"labels.gotoList\"\n [title]=\"labels.gotoList\"\n (click)=\"invokeRowActionGotoList(node, column)\">\n\n <i class=\"bi bi-list-ul\"></i>\n </button>\n }\n\n <!-- Edit Button Status -->\n @if (cellRendererParams?.editButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.edit\"\n [title]=\"labels.edit\"\n (click)=\"invokeRowActionEdit(node, column)\">\n\n <i class=\"bi bi-pencil\"></i>\n </button>\n }\n\n <!-- Print Button Status -->\n @if (cellRendererParams?.printButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.print\"\n [title]=\"labels.print\"\n (click)=\"invokeRowActionPrint(node, column)\">\n\n <i class=\"bi bi-printer\"></i>\n </button>\n }\n\n <!-- History Button Status -->\n @if (cellRendererParams?.historyButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.history\"\n [title]=\"labels.history\"\n (click)=\"invokeRowActionHistory(node, column)\">\n\n <i class=\"bi bi-clock-history\"></i>\n </button>\n }\n\n <!-- Option Button Status -->\n @if (cellRendererParams?.optionButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.option\"\n [title]=\"labels.option\"\n (click)=\"invokeRowActionOption(node, column)\">\n\n <i class=\"bi bi-three-dots-vertical\"></i>\n </button>\n }\n\n <!-- Language Button Status -->\n @if (cellRendererParams?.languageButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.language\"\n [title]=\"labels.language\"\n (click)=\"invokeRowActionLanguage(node, column)\">\n\n <i class=\"bi bi-translate\"></i>\n </button>\n }\n\n <!-- Cell
|
|
187
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: OneGridRowActionComponent, isStandalone: true, selector: "one-grid-row-action", inputs: { column: "column", node: "node", allowedEdit: "allowedEdit", masterDetail: "masterDetail", masterNode: "masterNode", cellRendererParams: "cellRendererParams", gridType: "gridType", context: "context" }, outputs: { onRowGotoDetail: "onRowGotoDetail", onRowAddNew: "onRowAddNew", onRowView: "onRowView", onRowLocation: "onRowLocation", onRowDocument: "onRowDocument", onRowCopy: "onRowCopy", onRowDelete: "onRowDelete", onRowGotoList: "onRowGotoList", onRowEdit: "onRowEdit", onRowPrint: "onRowPrint", onRowHistory: "onRowHistory", onRowOption: "onRowOption", onRowLanguage: "onRowLanguage", onRowCellOption: "onRowCellOption" }, ngImport: i0, template: "@if ((cellRendererParams && node?.leaf && !column?.autoGroupField && !(node.group && node.leafGroup)) || (column?.rowActionLevels?.includes(node.level) && column?.autoGroupField)) {\n <div class=\"btn-action-container\">\n\n <!-- Expansion Button Status -->\n @if ((cellRendererParams?.detailActiveButtonStatus == 1 && !(detailActiveExcludeLevels?.has(node.level)))) {\n <!-- A button, not an <a> with a click handler: it has no href, so\n it was neither focusable nor operable from the keyboard. -->\n <button\n type=\"button\"\n class=\"btn-action btn-action-plain me-2\"\n [attr.aria-expanded]=\"node.detailActive\"\n [attr.aria-label]=\"node.detailActive ? 'Collapse row' : 'Expand row'\"\n [title]=\"node.detailActive ? 'Collapse' : 'Expand'\"\n (click)=\"invokeRowToggleDetailActiveExpand(node)\">\n\n <i class=\"bi\" [ngClass]=\"{ 'bi-chevron-down': node.detailActive, 'bi-chevron-right': !node.detailActive }\"></i>\n </button>\n }\n\n <!-- Goto Detail Button Status -->\n @if ((cellRendererParams?.gotoDetailButtonStatus == 1 && !(gotoDetailExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.gotoDetail\"\n [title]=\"labels.gotoDetail\"\n (click)=\"invokeRowActionGotoDetail(node, column)\">\n\n <i class=\"bi bi-list-task\"></i>\n </button>\n }\n\n <!-- Add New Button Status -->\n @if ((cellRendererParams?.addNewButtonStatus == 1 && !(addNewExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.addNew\"\n [title]=\"labels.addNew\"\n (click)=\"invokeRowActionAddNew(node, column)\">\n\n <i class=\"bi bi-plus\"></i>\n </button>\n }\n\n <!-- View Button Status -->\n @if (cellRendererParams?.viewButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.view\"\n [title]=\"labels.view\"\n (click)=\"invokeRowActionView(node, column)\">\n\n <i class=\"bi bi-eye\"></i>\n </button>\n }\n @if (cellRendererParams?.locationButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.location\"\n [title]=\"labels.location\"\n (click)=\"invokeRowActionLocation(node, column)\">\n\n <i class=\"bi bi-geo-alt\"></i>\n </button>\n }\n\n <!-- Document Button Status -->\n @if (cellRendererParams?.documentButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.document\"\n [title]=\"labels.document\"\n (click)=\"invokeRowActionDocument(node, column)\">\n\n <i class=\"bi bi-file-earmark-text\"></i>\n </button>\n }\n\n <!-- Copy Button Status -->\n @if (cellRendererParams?.copyButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.copy\"\n [title]=\"labels.copy\"\n (click)=\"invokeRowActionCopy(node, column)\">\n\n <i class=\"bi bi-files\"></i>\n </button>\n }\n\n\n <!-- Delete Button Status -->\n @if (cellRendererParams?.deleteButtonStatus == 1 && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-danger\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.delete\"\n [title]=\"labels.delete\"\n (click)=\"invokeRowActionDelete(node, column)\">\n\n <i class=\"bi bi-trash3\"></i>\n </button>\n }\n\n <!-- Goto List Button Status -->\n @if ((cellRendererParams?.gotoListButtonStatus === 1 && !(gotoListExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-success\"\n [attr.aria-label]=\"labels.gotoList\"\n [title]=\"labels.gotoList\"\n (click)=\"invokeRowActionGotoList(node, column)\">\n\n <i class=\"bi bi-list-ul\"></i>\n </button>\n }\n\n <!-- Edit Button Status -->\n @if (cellRendererParams?.editButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.edit\"\n [title]=\"labels.edit\"\n (click)=\"invokeRowActionEdit(node, column)\">\n\n <i class=\"bi bi-pencil\"></i>\n </button>\n }\n\n <!-- Print Button Status -->\n @if (cellRendererParams?.printButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.print\"\n [title]=\"labels.print\"\n (click)=\"invokeRowActionPrint(node, column)\">\n\n <i class=\"bi bi-printer\"></i>\n </button>\n }\n\n <!-- History Button Status -->\n @if (cellRendererParams?.historyButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.history\"\n [title]=\"labels.history\"\n (click)=\"invokeRowActionHistory(node, column)\">\n\n <i class=\"bi bi-clock-history\"></i>\n </button>\n }\n\n <!-- Option Button Status -->\n @if (cellRendererParams?.optionButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.option\"\n [title]=\"labels.option\"\n (click)=\"invokeRowActionOption(node, column)\">\n\n <i class=\"bi bi-three-dots-vertical\"></i>\n </button>\n }\n\n <!-- Language Button Status -->\n @if (cellRendererParams?.languageButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.language\"\n [title]=\"labels.language\"\n (click)=\"invokeRowActionLanguage(node, column)\">\n\n <i class=\"bi bi-translate\"></i>\n </button>\n }\n\n <!-- Cell Option Button Status (Context Menu) -->\n @if (cellRendererParams?.cellOptionButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary border-0 text-body\"\n [style.background]=\"'transparent'\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.cellOption\"\n [title]=\"labels.cellOption\"\n (click)=\"invokeRowActionCellOption(node, column)\">\n\n <i class=\"bi bi-three-dots-vertical\"></i>\n </button>\n }\n </div>\n}", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
187
188
|
}
|
|
188
189
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridRowActionComponent, decorators: [{
|
|
189
190
|
type: Component,
|
|
190
|
-
args: [{ standalone: true, imports: [NgClass], selector: 'one-grid-row-action', template: "@if ((cellRendererParams && node?.leaf && !column?.autoGroupField && !(node.group && node.leafGroup)) || (column?.rowActionLevels?.includes(node.level) && column?.autoGroupField)) {\n <div class=\"btn-action-container\">\n\n <!-- Expansion Button Status -->\n @if ((cellRendererParams?.detailActiveButtonStatus == 1 && !(detailActiveExcludeLevels?.has(node.level)))) {\n <!-- A button, not an <a> with a click handler: it has no href, so\n it was neither focusable nor operable from the keyboard. -->\n <button\n type=\"button\"\n class=\"btn-action btn-action-plain me-2\"\n [attr.aria-expanded]=\"node.detailActive\"\n [attr.aria-label]=\"node.detailActive ? 'Collapse row' : 'Expand row'\"\n [title]=\"node.detailActive ? 'Collapse' : 'Expand'\"\n (click)=\"invokeRowToggleDetailActiveExpand(node)\">\n\n <i class=\"bi\" [ngClass]=\"{ 'bi-chevron-down': node.detailActive, 'bi-chevron-right': !node.detailActive }\"></i>\n </button>\n }\n\n <!-- Goto Detail Button Status -->\n @if ((cellRendererParams?.gotoDetailButtonStatus == 1 && !(gotoDetailExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.gotoDetail\"\n [title]=\"labels.gotoDetail\"\n (click)=\"invokeRowActionGotoDetail(node, column)\">\n\n <i class=\"bi bi-list-task\"></i>\n </button>\n }\n\n <!-- Add New Button Status -->\n @if ((cellRendererParams?.addNewButtonStatus == 1 && !(addNewExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.addNew\"\n [title]=\"labels.addNew\"\n (click)=\"invokeRowActionAddNew(node, column)\">\n\n <i class=\"bi bi-plus\"></i>\n </button>\n }\n\n <!-- View Button Status -->\n @if (cellRendererParams?.viewButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.view\"\n [title]=\"labels.view\"\n (click)=\"invokeRowActionView(node, column)\">\n\n <i class=\"bi bi-eye\"></i>\n </button>\n }\n @if (cellRendererParams?.locationButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.location\"\n [title]=\"labels.location\"\n (click)=\"invokeRowActionLocation(node, column)\">\n\n <i class=\"bi bi-geo-alt\"></i>\n </button>\n }\n\n <!-- Document Button Status -->\n @if (cellRendererParams?.documentButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.document\"\n [title]=\"labels.document\"\n (click)=\"invokeRowActionDocument(node, column)\">\n\n <i class=\"bi bi-file-earmark-text\"></i>\n </button>\n }\n\n <!-- Copy Button Status -->\n @if (cellRendererParams?.copyButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.copy\"\n [title]=\"labels.copy\"\n (click)=\"invokeRowActionCopy(node, column)\">\n\n <i class=\"bi bi-files\"></i>\n </button>\n }\n\n\n <!-- Delete Button Status -->\n @if (cellRendererParams?.deleteButtonStatus == 1 && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-danger\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.delete\"\n [title]=\"labels.delete\"\n (click)=\"invokeRowActionDelete(node, column)\">\n\n <i class=\"bi bi-trash3\"></i>\n </button>\n }\n\n <!-- Goto List Button Status -->\n @if (cellRendererParams?.gotoListButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-success\"\n [attr.aria-label]=\"labels.gotoList\"\n [title]=\"labels.gotoList\"\n (click)=\"invokeRowActionGotoList(node, column)\">\n\n <i class=\"bi bi-list-ul\"></i>\n </button>\n }\n\n <!-- Edit Button Status -->\n @if (cellRendererParams?.editButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.edit\"\n [title]=\"labels.edit\"\n (click)=\"invokeRowActionEdit(node, column)\">\n\n <i class=\"bi bi-pencil\"></i>\n </button>\n }\n\n <!-- Print Button Status -->\n @if (cellRendererParams?.printButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.print\"\n [title]=\"labels.print\"\n (click)=\"invokeRowActionPrint(node, column)\">\n\n <i class=\"bi bi-printer\"></i>\n </button>\n }\n\n <!-- History Button Status -->\n @if (cellRendererParams?.historyButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.history\"\n [title]=\"labels.history\"\n (click)=\"invokeRowActionHistory(node, column)\">\n\n <i class=\"bi bi-clock-history\"></i>\n </button>\n }\n\n <!-- Option Button Status -->\n @if (cellRendererParams?.optionButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.option\"\n [title]=\"labels.option\"\n (click)=\"invokeRowActionOption(node, column)\">\n\n <i class=\"bi bi-three-dots-vertical\"></i>\n </button>\n }\n\n <!-- Language Button Status -->\n @if (cellRendererParams?.languageButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.language\"\n [title]=\"labels.language\"\n (click)=\"invokeRowActionLanguage(node, column)\">\n\n <i class=\"bi bi-translate\"></i>\n </button>\n }\n\n <!-- Cell
|
|
191
|
+
args: [{ standalone: true, imports: [NgClass], selector: 'one-grid-row-action', template: "@if ((cellRendererParams && node?.leaf && !column?.autoGroupField && !(node.group && node.leafGroup)) || (column?.rowActionLevels?.includes(node.level) && column?.autoGroupField)) {\n <div class=\"btn-action-container\">\n\n <!-- Expansion Button Status -->\n @if ((cellRendererParams?.detailActiveButtonStatus == 1 && !(detailActiveExcludeLevels?.has(node.level)))) {\n <!-- A button, not an <a> with a click handler: it has no href, so\n it was neither focusable nor operable from the keyboard. -->\n <button\n type=\"button\"\n class=\"btn-action btn-action-plain me-2\"\n [attr.aria-expanded]=\"node.detailActive\"\n [attr.aria-label]=\"node.detailActive ? 'Collapse row' : 'Expand row'\"\n [title]=\"node.detailActive ? 'Collapse' : 'Expand'\"\n (click)=\"invokeRowToggleDetailActiveExpand(node)\">\n\n <i class=\"bi\" [ngClass]=\"{ 'bi-chevron-down': node.detailActive, 'bi-chevron-right': !node.detailActive }\"></i>\n </button>\n }\n\n <!-- Goto Detail Button Status -->\n @if ((cellRendererParams?.gotoDetailButtonStatus == 1 && !(gotoDetailExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.gotoDetail\"\n [title]=\"labels.gotoDetail\"\n (click)=\"invokeRowActionGotoDetail(node, column)\">\n\n <i class=\"bi bi-list-task\"></i>\n </button>\n }\n\n <!-- Add New Button Status -->\n @if ((cellRendererParams?.addNewButtonStatus == 1 && !(addNewExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.addNew\"\n [title]=\"labels.addNew\"\n (click)=\"invokeRowActionAddNew(node, column)\">\n\n <i class=\"bi bi-plus\"></i>\n </button>\n }\n\n <!-- View Button Status -->\n @if (cellRendererParams?.viewButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.view\"\n [title]=\"labels.view\"\n (click)=\"invokeRowActionView(node, column)\">\n\n <i class=\"bi bi-eye\"></i>\n </button>\n }\n @if (cellRendererParams?.locationButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.location\"\n [title]=\"labels.location\"\n (click)=\"invokeRowActionLocation(node, column)\">\n\n <i class=\"bi bi-geo-alt\"></i>\n </button>\n }\n\n <!-- Document Button Status -->\n @if (cellRendererParams?.documentButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.document\"\n [title]=\"labels.document\"\n (click)=\"invokeRowActionDocument(node, column)\">\n\n <i class=\"bi bi-file-earmark-text\"></i>\n </button>\n }\n\n <!-- Copy Button Status -->\n @if (cellRendererParams?.copyButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.copy\"\n [title]=\"labels.copy\"\n (click)=\"invokeRowActionCopy(node, column)\">\n\n <i class=\"bi bi-files\"></i>\n </button>\n }\n\n\n <!-- Delete Button Status -->\n @if (cellRendererParams?.deleteButtonStatus == 1 && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-danger\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.delete\"\n [title]=\"labels.delete\"\n (click)=\"invokeRowActionDelete(node, column)\">\n\n <i class=\"bi bi-trash3\"></i>\n </button>\n }\n\n <!-- Goto List Button Status -->\n @if ((cellRendererParams?.gotoListButtonStatus === 1 && !(gotoListExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-success\"\n [attr.aria-label]=\"labels.gotoList\"\n [title]=\"labels.gotoList\"\n (click)=\"invokeRowActionGotoList(node, column)\">\n\n <i class=\"bi bi-list-ul\"></i>\n </button>\n }\n\n <!-- Edit Button Status -->\n @if (cellRendererParams?.editButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.edit\"\n [title]=\"labels.edit\"\n (click)=\"invokeRowActionEdit(node, column)\">\n\n <i class=\"bi bi-pencil\"></i>\n </button>\n }\n\n <!-- Print Button Status -->\n @if (cellRendererParams?.printButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.print\"\n [title]=\"labels.print\"\n (click)=\"invokeRowActionPrint(node, column)\">\n\n <i class=\"bi bi-printer\"></i>\n </button>\n }\n\n <!-- History Button Status -->\n @if (cellRendererParams?.historyButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.history\"\n [title]=\"labels.history\"\n (click)=\"invokeRowActionHistory(node, column)\">\n\n <i class=\"bi bi-clock-history\"></i>\n </button>\n }\n\n <!-- Option Button Status -->\n @if (cellRendererParams?.optionButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.option\"\n [title]=\"labels.option\"\n (click)=\"invokeRowActionOption(node, column)\">\n\n <i class=\"bi bi-three-dots-vertical\"></i>\n </button>\n }\n\n <!-- Language Button Status -->\n @if (cellRendererParams?.languageButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.language\"\n [title]=\"labels.language\"\n (click)=\"invokeRowActionLanguage(node, column)\">\n\n <i class=\"bi bi-translate\"></i>\n </button>\n }\n\n <!-- Cell Option Button Status (Context Menu) -->\n @if (cellRendererParams?.cellOptionButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary border-0 text-body\"\n [style.background]=\"'transparent'\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.cellOption\"\n [title]=\"labels.cellOption\"\n (click)=\"invokeRowActionCellOption(node, column)\">\n\n <i class=\"bi bi-three-dots-vertical\"></i>\n </button>\n }\n </div>\n}" }]
|
|
191
192
|
}], ctorParameters: () => [{ type: i1.OneGridCellService }], propDecorators: { column: [{
|
|
192
193
|
type: Input,
|
|
193
194
|
args: [{ required: true }]
|
|
@@ -198,15 +199,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
198
199
|
type: Input,
|
|
199
200
|
args: [{ required: true }]
|
|
200
201
|
}], masterDetail: [{
|
|
201
|
-
type: Input
|
|
202
|
+
type: Input,
|
|
203
|
+
args: [{ required: false }]
|
|
202
204
|
}], masterNode: [{
|
|
203
|
-
type: Input
|
|
205
|
+
type: Input,
|
|
206
|
+
args: [{ required: false }]
|
|
204
207
|
}], cellRendererParams: [{
|
|
205
|
-
type: Input
|
|
208
|
+
type: Input,
|
|
209
|
+
args: [{ required: false }]
|
|
206
210
|
}], gridType: [{
|
|
207
|
-
type: Input
|
|
211
|
+
type: Input,
|
|
212
|
+
args: [{ required: false }]
|
|
208
213
|
}], context: [{
|
|
209
|
-
type: Input
|
|
214
|
+
type: Input,
|
|
215
|
+
args: [{ required: false }]
|
|
210
216
|
}], onRowGotoDetail: [{
|
|
211
217
|
type: Output
|
|
212
218
|
}], onRowAddNew: [{
|
|
@@ -236,4 +242,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
236
242
|
}], onRowCellOption: [{
|
|
237
243
|
type: Output
|
|
238
244
|
}] } });
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLWdyaWQtcm93LWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmUtZ3JpZC9zcmMvbGliL2NvbXBvbmVudHMvb25lLWdyaWQtcm93LWFjdGlvbi9vbmUtZ3JpZC1yb3ctYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZS1ncmlkL3NyYy9saWIvY29tcG9uZW50cy9vbmUtZ3JpZC1yb3ctYWN0aW9uL29uZS1ncmlkLXJvdy1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVMxQyxNQUFNLE9BQU8seUJBQXlCO0lBNERwQyxZQUE2QixXQUErQjtRQUEvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFyRGpDLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQy9DLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBRWpDLGFBQVEsR0FBZ0IsSUFBSSxDQUFDO1FBQzdCLFlBQU8sR0FBUSxJQUFJLENBQUM7UUFFN0I7O1dBRUc7UUFDTyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBQy9ELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDM0QsY0FBUyxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBQ3pELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDN0Qsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUM3RCxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDekQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUMzRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBQzdELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUN6RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDMUQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUM1RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBQzNELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDN0Qsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQU16RTs7Ozs7O1dBTUc7UUFDZ0IsV0FBTSxHQUFHO1lBQzFCLFVBQVUsRUFBRSxhQUFhO1lBQ3pCLE1BQU0sRUFBRSxhQUFhO1lBQ3JCLElBQUksRUFBRSxVQUFVO1lBQ2hCLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLElBQUksRUFBRSxVQUFVO1lBQ2hCLE1BQU0sRUFBRSxZQUFZO1lBQ3BCLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLElBQUksRUFBRSxVQUFVO1lBQ2hCLEtBQUssRUFBRSxXQUFXO1lBQ2xCLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLE1BQU0sRUFBRSxhQUFhO1lBQ3JCLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsVUFBVSxFQUFFLGNBQWM7U0FDbEIsQ0FBQztJQUVvRCxDQUFDO0lBRWhFOzs7Ozs7O09BT0c7SUFDSCxJQUFjLGdCQUFnQjtRQUU1QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQXNCLEVBQUUsSUFBSSxDQUFDLElBQWtCLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILElBQWMsY0FBYztRQUUxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFzQixFQUFFLElBQUksQ0FBQyxJQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQy9HLENBQUM7SUFFRCxRQUFRO1FBRU4sSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUseUJBQXlCLElBQUksRUFBRSxDQUFDLENBQUE7UUFDekcsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsdUJBQXVCLElBQUksRUFBRSxDQUFDLENBQUE7UUFDckcsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsbUJBQW1CLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUNBQWlDLENBQUMsSUFBZ0I7UUFFaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDekMsQ0FBQztJQUVELHlCQUF5QixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFcEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELHFCQUFxQixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFaEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFOUQsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELHVCQUF1QixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFbEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELHVCQUF1QixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFbEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFOUQsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELHFCQUFxQixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFaEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELHVCQUF1QixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFbEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFOUQsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFL0QsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELHNCQUFzQixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFakUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELHFCQUFxQixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFaEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELHVCQUF1QixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFbEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELHlCQUF5QixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFcEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzsrR0E3UVUseUJBQXlCO21HQUF6Qix5QkFBeUIsNHNCQ2R0QyxxaFJBeU5DLDBERGhOVyxPQUFPOzs0RkFLTix5QkFBeUI7a0JBUHJDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsT0FBTyxDQUFDLFlBQ1IscUJBQXFCO3VGQVNKLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLElBQUk7c0JBQTlCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFdBQVc7c0JBQXJDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUtJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9uZVJvd05vZGUgfSBmcm9tICcuLi8uLi9jb3JlL2luc3RhbnRzL29uZS1yb3ctbm9kZS5jbGFzcyc7XG5pbXBvcnQgeyBPbmVHcmlkUm93QWN0aW9uRXZlbnQsIE9uZUdyaWRUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMvb25lLWdyaWQtdHlwZXMubW9kZWwnO1xuaW1wb3J0IHsgT25lQ2VsbFJlbmRlcmVyUGFyYW1zLCBPbmVDb2x1bW5EZWYgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscy9vbmUtY29sdW1uLWRlZi10eXBlcy5tb2RlbCc7XG5pbXBvcnQgeyBPbmVHcmlkQ2VsbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL29uZS1ncmlkLWNlbGwuc2VydmljZSc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0NsYXNzXSxcbiAgc2VsZWN0b3I6ICdvbmUtZ3JpZC1yb3ctYWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29uZS1ncmlkLXJvdy1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vb25lLWdyaWQtcm93LWFjdGlvbi5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgT25lR3JpZFJvd0FjdGlvbkNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqXG4gICAqIEdldCBOb2RlICYgQ2VsbCBSZW5kZXJlciBGcm9tIFBhcmVudCBDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbHVtbjogT25lQ29sdW1uRGVmPFQ+O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBub2RlOiBPbmVSb3dOb2RlPFQ+O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBhbGxvd2VkRWRpdDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtYXN0ZXJEZXRhaWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbWFzdGVyTm9kZTogT25lUm93Tm9kZTxUPiA9IG51bGw7XG4gIEBJbnB1dCgpIGNlbGxSZW5kZXJlclBhcmFtczogT25lQ2VsbFJlbmRlcmVyUGFyYW1zPFQ+O1xuICBASW5wdXQoKSBncmlkVHlwZTogT25lR3JpZFR5cGUgPSBudWxsO1xuICBASW5wdXQoKSBjb250ZXh0OiBhbnkgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBCaW5kIEV2ZW50IHRvIFBhcmVudCBDb21wb25lbnRcbiAgICovXG4gIEBPdXRwdXQoKSBvblJvd0dvdG9EZXRhaWwgPSBuZXcgRXZlbnRFbWl0dGVyPE9uZUdyaWRSb3dBY3Rpb25FdmVudDxUPj4oKTtcbiAgQE91dHB1dCgpIG9uUm93QWRkTmV3ID0gbmV3IEV2ZW50RW1pdHRlcjxPbmVHcmlkUm93QWN0aW9uRXZlbnQ8VD4+KCk7XG4gIEBPdXRwdXQoKSBvblJvd1ZpZXcgPSBuZXcgRXZlbnRFbWl0dGVyPE9uZUdyaWRSb3dBY3Rpb25FdmVudDxUPj4oKTtcbiAgQE91dHB1dCgpIG9uUm93TG9jYXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPE9uZUdyaWRSb3dBY3Rpb25FdmVudDxUPj4oKTtcbiAgQE91dHB1dCgpIG9uUm93RG9jdW1lbnQgPSBuZXcgRXZlbnRFbWl0dGVyPE9uZUdyaWRSb3dBY3Rpb25FdmVudDxUPj4oKTtcbiAgQE91dHB1dCgpIG9uUm93Q29weSA9IG5ldyBFdmVudEVtaXR0ZXI8T25lR3JpZFJvd0FjdGlvbkV2ZW50PFQ+PigpO1xuICBAT3V0cHV0KCkgb25Sb3dEZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPE9uZUdyaWRSb3dBY3Rpb25FdmVudDxUPj4oKTtcbiAgQE91dHB1dCgpIG9uUm93R290b0xpc3QgPSBuZXcgRXZlbnRFbWl0dGVyPE9uZUdyaWRSb3dBY3Rpb25FdmVudDxUPj4oKTtcbiAgQE91dHB1dCgpIG9uUm93RWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8T25lR3JpZFJvd0FjdGlvbkV2ZW50PFQ+PigpO1xuICBAT3V0cHV0KCkgb25Sb3dQcmludCA9IG5ldyBFdmVudEVtaXR0ZXI8T25lR3JpZFJvd0FjdGlvbkV2ZW50PFQ+PigpO1xuICBAT3V0cHV0KCkgb25Sb3dIaXN0b3J5ID0gbmV3IEV2ZW50RW1pdHRlcjxPbmVHcmlkUm93QWN0aW9uRXZlbnQ8VD4+KCk7XG4gIEBPdXRwdXQoKSBvblJvd09wdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8T25lR3JpZFJvd0FjdGlvbkV2ZW50PFQ+PigpO1xuICBAT3V0cHV0KCkgb25Sb3dMYW5ndWFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8T25lR3JpZFJvd0FjdGlvbkV2ZW50PFQ+PigpO1xuICBAT3V0cHV0KCkgb25Sb3dDZWxsT3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxPbmVHcmlkUm93QWN0aW9uRXZlbnQ8VD4+KCk7XG5cbiAgcHJvdGVjdGVkIGRldGFpbEFjdGl2ZUV4Y2x1ZGVMZXZlbHM6IFNldDxudW1iZXI+O1xuICBwcm90ZWN0ZWQgZ290b0RldGFpbEV4Y2x1ZGVMZXZlbHM6IFNldDxudW1iZXI+O1xuICBwcm90ZWN0ZWQgYWRkTmV3RXhjbHVkZUxldmVsczogU2V0PG51bWJlcj47XG5cbiAgLyoqXG4gICAqIEFjY2Vzc2libGUgbmFtZXMgZm9yIHRoZSBhY3Rpb24gYnV0dG9ucy5cbiAgICpcbiAgICogRXZlcnkgb25lIG9mIHRoZW0gaXMgYW4gaWNvbiB3aXRoIG5vIHRleHQsIGFuZCBub25lIGNhcnJpZWQgYSBsYWJlbCDigJQgYVxuICAgKiBzY3JlZW4gcmVhZGVyIGFubm91bmNlZCBcImJ1dHRvblwiIGFuZCBub3RoaW5nIG1vcmUsIGZvdXJ0ZWVuIHRpbWVzIHBlciByb3cuXG4gICAqIFRoZXNlIGFyZSBhbHNvIHRoZSBgdGl0bGVgLCBzbyB0aGUgaWNvbnMgYXJlIGlkZW50aWZpYWJsZSBieSBwb2ludGVyIHRvby5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBsYWJlbHMgPSB7XG4gICAgZ290b0RldGFpbDogJ09wZW4gZGV0YWlsJyxcbiAgICBhZGROZXc6ICdBZGQgbmV3IHJvdycsXG4gICAgdmlldzogJ1ZpZXcgcm93JyxcbiAgICBsb2NhdGlvbjogJ1Nob3cgbG9jYXRpb24nLFxuICAgIGRvY3VtZW50OiAnT3BlbiBkb2N1bWVudCcsXG4gICAgY29weTogJ0NvcHkgcm93JyxcbiAgICBkZWxldGU6ICdEZWxldGUgcm93JyxcbiAgICBnb3RvTGlzdDogJ09wZW4gbGlzdCcsXG4gICAgZWRpdDogJ0VkaXQgcm93JyxcbiAgICBwcmludDogJ1ByaW50IHJvdycsXG4gICAgaGlzdG9yeTogJ1ZpZXcgaGlzdG9yeScsXG4gICAgb3B0aW9uOiAnUm93IG9wdGlvbnMnLFxuICAgIGxhbmd1YWdlOiAnQ2hhbmdlIGxhbmd1YWdlJyxcbiAgICBjZWxsT3B0aW9uOiAnQ2VsbCBvcHRpb25zJyxcbiAgfSBhcyBjb25zdDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNlbGxTZXJ2aWNlOiBPbmVHcmlkQ2VsbFNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBjb2x1bW4ncyBhY3Rpb24gYnV0dG9ucyBhcmUgaGlkZGVuIGZvciB0aGlzIHJvdy5cbiAgICpcbiAgICogVGhlIHRlbXBsYXRlcyByZWFkIGBjb2x1bW4/LmhpZGVBY3Rpb25CdXR0b25gIGRpcmVjdGx5LCB3aGljaCBpcyB0cnV0aHkgZm9yXG4gICAqIGFueSBmdW5jdGlvbiDigJQgc28gYSBwcmVkaWNhdGUgYXNraW5nIHRvIGhpZGUgdGhlIGJ1dHRvbnMgc2hvd2VkIHRoZW0sIGFuZFxuICAgKiBvbmUgYXNraW5nIHRvIHNob3cgdGhlbSBzaG93ZWQgdGhlbSB0b28uIFJlc29sdmVkIGhlcmUgaW5zdGVhZCwgd2l0aCB0aGVcbiAgICogc2FtZSBwYXJhbXMgZXZlcnkgb3RoZXIgcm93LXNjb3BlZCBwcmVkaWNhdGUgZ2V0cy5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgaGlkZUFjdGlvbkJ1dHRvbigpOiBib29sZWFuIHtcblxuICAgIHJldHVybiB0aGlzLmNlbGxTZXJ2aWNlLmhpZGVBY3Rpb25CdXR0b25Gbih0aGlzLmNvbHVtbiBhcyBPbmVDb2x1bW5EZWYsIHRoaXMubm9kZSBhcyBPbmVSb3dOb2RlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgY29sdW1uJ3MgYWN0aW9uIGJ1dHRvbnMgYXJlIGRpc2FibGVkIGZvciB0aGlzIHJvdy5cbiAgICpcbiAgICogYGRpc2FibGVgIHVzZWQgdG8gYmUgcmVzb2x2ZWQgYnkgYENlbGxEaXNhYmxlUmVzb2x2ZXJQaXBlYCwgd2hpY2ggYnVpbHQgaXRzXG4gICAqIG93biBwYXJhbXMg4oCUIGEgZGlmZmVyZW50IHNldCBmcm9tIGV2ZXJ5IG90aGVyIHJvdy1zY29wZWQgcHJlZGljYXRlLiBJdCBnb2VzXG4gICAqIHRocm91Z2ggdGhlIHNoYXJlZCBidWlsZGVyIG5vdywgc28gYGRpc2FibGVgIHNlZXMgZXhhY3RseSB3aGF0IGBlZGl0YWJsZWBcbiAgICogYW5kIGBoaWRlQWN0aW9uQnV0dG9uYCBzZWUuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGFjdGlvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuXG4gICAgcmV0dXJuIHRoaXMuY2VsbFNlcnZpY2UuZGlzYWJsZUZuKHRoaXMuY29sdW1uIGFzIE9uZUNvbHVtbkRlZiwgdGhpcy5ub2RlIGFzIE9uZVJvd05vZGUpIHx8ICF0aGlzLmFsbG93ZWRFZGl0O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICB0aGlzLmRldGFpbEFjdGl2ZUV4Y2x1ZGVMZXZlbHMgPSBuZXcgU2V0KHRoaXMuY29sdW1uLmNlbGxSZW5kZXJlclBhcmFtcz8uZGV0YWlsQWN0aXZlRXhjbHVkZUxldmVscyA/PyBbXSlcbiAgICB0aGlzLmdvdG9EZXRhaWxFeGNsdWRlTGV2ZWxzID0gbmV3IFNldCh0aGlzLmNvbHVtbi5jZWxsUmVuZGVyZXJQYXJhbXM/LmdvdG9EZXRhaWxFeGNsdWRlTGV2ZWxzID8/IFtdKVxuICAgIHRoaXMuYWRkTmV3RXhjbHVkZUxldmVscyA9IG5ldyBTZXQodGhpcy5jb2x1bW4uY2VsbFJlbmRlcmVyUGFyYW1zPy5hZGROZXdFeGNsdWRlTGV2ZWxzID8/IFtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyIEludm9rZSBDbGljayBFdmVudFxuICAgKi9cbiAgaW52b2tlUm93VG9nZ2xlRGV0YWlsQWN0aXZlRXhwYW5kKG5vZGU6IE9uZVJvd05vZGUpOiB2b2lkIHtcblxuICAgIG5vZGUuZGV0YWlsQWN0aXZlID0gIW5vZGUuZGV0YWlsQWN0aXZlO1xuICB9XG5cbiAgaW52b2tlUm93QWN0aW9uR290b0RldGFpbChub2RlOiBPbmVSb3dOb2RlPFQ+LCBjb2x1bW46IE9uZUNvbHVtbkRlZjxUPikge1xuXG4gICAgbGV0IGRhdGE6IE9uZUdyaWRSb3dBY3Rpb25FdmVudCA9IHsgbm9kZSwgY29sdW1uLCBkYXRhOiBub2RlLmRhdGEsIHJvd0luZGV4OiBub2RlLnJvd0luZGV4LCBncmlkVHlwZTogbnVsbCB9O1xuXG4gICAgaWYgKHRoaXMubWFzdGVyRGV0YWlsKSB7XG5cbiAgICAgIGRhdGEgPSB7IC4uLmRhdGEsIGdyaWRUeXBlOiB0aGlzLmdyaWRUeXBlLCBtYXN0ZXJOb2RlOiB0aGlzLm1hc3Rlck5vZGUgfTtcbiAgICB9XG5cbiAgICB0aGlzLm9uUm93R290b0RldGFpbC5lbWl0KGRhdGEpO1xuICB9XG5cbiAgaW52b2tlUm93QWN0aW9uQWRkTmV3KG5vZGU6IE9uZVJvd05vZGU8VD4sIGNvbHVtbjogT25lQ29sdW1uRGVmPFQ+KSB7XG5cbiAgICBsZXQgZGF0YTogT25lR3JpZFJvd0FjdGlvbkV2ZW50ID0geyBub2RlLCBjb2x1bW4sIGRhdGE6IG5vZGUuZGF0YSwgcm93SW5kZXg6IG5vZGUucm93SW5kZXgsIGdyaWRUeXBlOiBudWxsIH07XG5cbiAgICBpZiAodGhpcy5tYXN0ZXJEZXRhaWwpIHtcblxuICAgICAgZGF0YSA9IHsgLi4uZGF0YSwgZ3JpZFR5cGU6IHRoaXMuZ3JpZFR5cGUsIG1hc3Rlck5vZGU6IHRoaXMubWFzdGVyTm9kZSB9O1xuICAgIH1cblxuICAgIHRoaXMub25Sb3dBZGROZXcuZW1pdChkYXRhKTtcbiAgfVxuXG4gIGludm9rZVJvd0FjdGlvblZpZXcobm9kZTogT25lUm93Tm9kZTxUPiwgY29sdW1uOiBPbmVDb2x1bW5EZWY8VD4pIHtcblxuICAgIGxldCBkYXRhOiBPbmVHcmlkUm93QWN0aW9uRXZlbnQgPSB7IG5vZGUsIGNvbHVtbiwgZGF0YTogbm9kZS5kYXRhLCByb3dJbmRleDogbm9kZS5yb3dJbmRleCwgZ3JpZFR5cGU6IG51bGwgfTtcblxuICAgIGlmICh0aGlzLm1hc3RlckRldGFpbCkge1xuXG4gICAgICBkYXRhID0geyAuLi5kYXRhLCBncmlkVHlwZTogdGhpcy5ncmlkVHlwZSwgbWFzdGVyTm9kZTogdGhpcy5tYXN0ZXJOb2RlIH07XG4gICAgfVxuXG4gICAgdGhpcy5vblJvd1ZpZXcuZW1pdChkYXRhKTtcbiAgfVxuXG4gIGludm9rZVJvd0FjdGlvbkxvY2F0aW9uKG5vZGU6IE9uZVJvd05vZGU8VD4sIGNvbHVtbjogT25lQ29sdW1uRGVmPFQ+KSB7XG5cbiAgICBsZXQgZGF0YTogT25lR3JpZFJvd0FjdGlvbkV2ZW50ID0geyBub2RlLCBjb2x1bW4sIGRhdGE6IG5vZGUuZGF0YSwgcm93SW5kZXg6IG5vZGUucm93SW5kZXgsIGdyaWRUeXBlOiBudWxsIH07XG5cbiAgICBpZiAodGhpcy5tYXN0ZXJEZXRhaWwpIHtcblxuICAgICAgZGF0YSA9IHsgLi4uZGF0YSwgZ3JpZFR5cGU6IHRoaXMuZ3JpZFR5cGUsIG1hc3Rlck5vZGU6IHRoaXMubWFzdGVyTm9kZSB9O1xuICAgIH1cblxuICAgIHRoaXMub25Sb3dMb2NhdGlvbi5lbWl0KGRhdGEpO1xuICB9XG5cbiAgaW52b2tlUm93QWN0aW9uRG9jdW1lbnQobm9kZTogT25lUm93Tm9kZTxUPiwgY29sdW1uOiBPbmVDb2x1bW5EZWY8VD4pIHtcblxuICAgIGxldCBkYXRhOiBPbmVHcmlkUm93QWN0aW9uRXZlbnQgPSB7IG5vZGUsIGNvbHVtbiwgZGF0YTogbm9kZS5kYXRhLCByb3dJbmRleDogbm9kZS5yb3dJbmRleCwgZ3JpZFR5cGU6IG51bGwgfTtcblxuICAgIGlmICh0aGlzLm1hc3RlckRldGFpbCkge1xuXG4gICAgICBkYXRhID0geyAuLi5kYXRhLCBncmlkVHlwZTogdGhpcy5ncmlkVHlwZSwgbWFzdGVyTm9kZTogdGhpcy5tYXN0ZXJOb2RlIH07XG4gICAgfVxuXG4gICAgdGhpcy5vblJvd0RvY3VtZW50LmVtaXQoZGF0YSk7XG4gIH1cblxuICBpbnZva2VSb3dBY3Rpb25Db3B5KG5vZGU6IE9uZVJvd05vZGU8VD4sIGNvbHVtbjogT25lQ29sdW1uRGVmPFQ+KSB7XG5cbiAgICBsZXQgZGF0YTogT25lR3JpZFJvd0FjdGlvbkV2ZW50ID0geyBub2RlLCBjb2x1bW4sIGRhdGE6IG5vZGUuZGF0YSwgcm93SW5kZXg6IG5vZGUucm93SW5kZXgsIGdyaWRUeXBlOiBudWxsIH07XG5cbiAgICBpZiAodGhpcy5tYXN0ZXJEZXRhaWwpIHtcblxuICAgICAgZGF0YSA9IHsgLi4uZGF0YSwgZ3JpZFR5cGU6IHRoaXMuZ3JpZFR5cGUsIG1hc3Rlck5vZGU6IHRoaXMubWFzdGVyTm9kZSB9O1xuICAgIH1cblxuICAgIHRoaXMub25Sb3dDb3B5LmVtaXQoZGF0YSk7XG4gIH1cblxuICBpbnZva2VSb3dBY3Rpb25EZWxldGUobm9kZTogT25lUm93Tm9kZTxUPiwgY29sdW1uOiBPbmVDb2x1bW5EZWY8VD4pIHtcblxuICAgIGxldCBkYXRhOiBPbmVHcmlkUm93QWN0aW9uRXZlbnQgPSB7IG5vZGUsIGNvbHVtbiwgZGF0YTogbm9kZS5kYXRhLCByb3dJbmRleDogbm9kZS5yb3dJbmRleCwgZ3JpZFR5cGU6IG51bGwgfTtcblxuICAgIGlmICh0aGlzLm1hc3RlckRldGFpbCkge1xuXG4gICAgICBkYXRhID0geyAuLi5kYXRhLCBncmlkVHlwZTogdGhpcy5ncmlkVHlwZSwgbWFzdGVyTm9kZTogdGhpcy5tYXN0ZXJOb2RlIH07XG4gICAgfVxuXG4gICAgdGhpcy5vblJvd0RlbGV0ZS5lbWl0KGRhdGEpO1xuICB9XG5cbiAgaW52b2tlUm93QWN0aW9uR290b0xpc3Qobm9kZTogT25lUm93Tm9kZTxUPiwgY29sdW1uOiBPbmVDb2x1bW5EZWY8VD4pIHtcblxuICAgIGxldCBkYXRhOiBPbmVHcmlkUm93QWN0aW9uRXZlbnQgPSB7IG5vZGUsIGNvbHVtbiwgZGF0YTogbm9kZS5kYXRhLCByb3dJbmRleDogbm9kZS5yb3dJbmRleCwgZ3JpZFR5cGU6IG51bGwgfTtcblxuICAgIGlmICh0aGlzLm1hc3RlckRldGFpbCkge1xuXG4gICAgICBkYXRhID0geyAuLi5kYXRhLCBncmlkVHlwZTogdGhpcy5ncmlkVHlwZSwgbWFzdGVyTm9kZTogdGhpcy5tYXN0ZXJOb2RlIH07XG4gICAgfVxuXG4gICAgdGhpcy5vblJvd0dvdG9MaXN0LmVtaXQoZGF0YSk7XG4gIH1cblxuICBpbnZva2VSb3dBY3Rpb25FZGl0KG5vZGU6IE9uZVJvd05vZGU8VD4sIGNvbHVtbjogT25lQ29sdW1uRGVmPFQ+KSB7XG5cbiAgICBsZXQgZGF0YTogT25lR3JpZFJvd0FjdGlvbkV2ZW50ID0geyBub2RlLCBjb2x1bW4sIGRhdGE6IG5vZGUuZGF0YSwgcm93SW5kZXg6IG5vZGUucm93SW5kZXgsIGdyaWRUeXBlOiBudWxsIH07XG5cbiAgICBpZiAodGhpcy5tYXN0ZXJEZXRhaWwpIHtcblxuICAgICAgZGF0YSA9IHsgLi4uZGF0YSwgZ3JpZFR5cGU6IHRoaXMuZ3JpZFR5cGUsIG1hc3Rlck5vZGU6IHRoaXMubWFzdGVyTm9kZSB9O1xuICAgIH1cblxuICAgIHRoaXMub25Sb3dFZGl0LmVtaXQoZGF0YSk7XG4gIH1cblxuICBpbnZva2VSb3dBY3Rpb25QcmludChub2RlOiBPbmVSb3dOb2RlPFQ+LCBjb2x1bW46IE9uZUNvbHVtbkRlZjxUPikge1xuXG4gICAgbGV0IGRhdGE6IE9uZUdyaWRSb3dBY3Rpb25FdmVudCA9IHsgbm9kZSwgY29sdW1uLCBkYXRhOiBub2RlLmRhdGEsIHJvd0luZGV4OiBub2RlLnJvd0luZGV4LCBncmlkVHlwZTogbnVsbCB9O1xuXG4gICAgaWYgKHRoaXMubWFzdGVyRGV0YWlsKSB7XG5cbiAgICAgIGRhdGEgPSB7IC4uLmRhdGEsIGdyaWRUeXBlOiB0aGlzLmdyaWRUeXBlLCBtYXN0ZXJOb2RlOiB0aGlzLm1hc3Rlck5vZGUgfTtcbiAgICB9XG5cbiAgICB0aGlzLm9uUm93UHJpbnQuZW1pdChkYXRhKTtcbiAgfVxuXG4gIGludm9rZVJvd0FjdGlvbkhpc3Rvcnkobm9kZTogT25lUm93Tm9kZTxUPiwgY29sdW1uOiBPbmVDb2x1bW5EZWY8VD4pIHtcblxuICAgIGxldCBkYXRhOiBPbmVHcmlkUm93QWN0aW9uRXZlbnQgPSB7IG5vZGUsIGNvbHVtbiwgZGF0YTogbm9kZS5kYXRhLCByb3dJbmRleDogbm9kZS5yb3dJbmRleCwgZ3JpZFR5cGU6IG51bGwgfTtcblxuICAgIGlmICh0aGlzLm1hc3RlckRldGFpbCkge1xuXG4gICAgICBkYXRhID0geyAuLi5kYXRhLCBncmlkVHlwZTogdGhpcy5ncmlkVHlwZSwgbWFzdGVyTm9kZTogdGhpcy5tYXN0ZXJOb2RlIH07XG4gICAgfVxuXG4gICAgdGhpcy5vblJvd0hpc3RvcnkuZW1pdChkYXRhKTtcbiAgfVxuXG4gIGludm9rZVJvd0FjdGlvbk9wdGlvbihub2RlOiBPbmVSb3dOb2RlPFQ+LCBjb2x1bW46IE9uZUNvbHVtbkRlZjxUPikge1xuXG4gICAgbGV0IGRhdGE6IE9uZUdyaWRSb3dBY3Rpb25FdmVudCA9IHsgbm9kZSwgY29sdW1uLCBkYXRhOiBub2RlLmRhdGEsIHJvd0luZGV4OiBub2RlLnJvd0luZGV4LCBncmlkVHlwZTogbnVsbCB9O1xuXG4gICAgaWYgKHRoaXMubWFzdGVyRGV0YWlsKSB7XG5cbiAgICAgIGRhdGEgPSB7IC4uLmRhdGEsIGdyaWRUeXBlOiB0aGlzLmdyaWRUeXBlLCBtYXN0ZXJOb2RlOiB0aGlzLm1hc3Rlck5vZGUgfTtcbiAgICB9XG5cbiAgICB0aGlzLm9uUm93T3B0aW9uLmVtaXQoZGF0YSk7XG4gIH1cblxuICBpbnZva2VSb3dBY3Rpb25MYW5ndWFnZShub2RlOiBPbmVSb3dOb2RlPFQ+LCBjb2x1bW46IE9uZUNvbHVtbkRlZjxUPikge1xuXG4gICAgbGV0IGRhdGE6IE9uZUdyaWRSb3dBY3Rpb25FdmVudCA9IHsgbm9kZSwgY29sdW1uLCBkYXRhOiBub2RlLmRhdGEsIHJvd0luZGV4OiBub2RlLnJvd0luZGV4LCBncmlkVHlwZTogbnVsbCB9O1xuXG4gICAgaWYgKHRoaXMubWFzdGVyRGV0YWlsKSB7XG5cbiAgICAgIGRhdGEgPSB7IC4uLmRhdGEsIGdyaWRUeXBlOiB0aGlzLmdyaWRUeXBlLCBtYXN0ZXJOb2RlOiB0aGlzLm1hc3Rlck5vZGUgfTtcbiAgICB9XG5cbiAgICB0aGlzLm9uUm93TGFuZ3VhZ2UuZW1pdChkYXRhKTtcbiAgfVxuXG4gIGludm9rZVJvd0FjdGlvbkNlbGxPcHRpb24obm9kZTogT25lUm93Tm9kZTxUPiwgY29sdW1uOiBPbmVDb2x1bW5EZWY8VD4pIHtcblxuICAgIGxldCBkYXRhOiBPbmVHcmlkUm93QWN0aW9uRXZlbnQgPSB7IG5vZGUsIGNvbHVtbiwgZGF0YTogbm9kZS5kYXRhLCByb3dJbmRleDogbm9kZS5yb3dJbmRleCwgZ3JpZFR5cGU6IG51bGwgfTtcblxuICAgIGlmICh0aGlzLm1hc3RlckRldGFpbCkge1xuXG4gICAgICBkYXRhID0geyAuLi5kYXRhLCBncmlkVHlwZTogdGhpcy5ncmlkVHlwZSwgbWFzdGVyTm9kZTogdGhpcy5tYXN0ZXJOb2RlIH07XG4gICAgfVxuXG4gICAgdGhpcy5vblJvd0NlbGxPcHRpb24uZW1pdChkYXRhKTtcbiAgfVxufVxuIiwiQGlmICgoY2VsbFJlbmRlcmVyUGFyYW1zICYmIG5vZGU/LmxlYWYgJiYgIWNvbHVtbj8uYXV0b0dyb3VwRmllbGQgJiYgIShub2RlLmdyb3VwICYmIG5vZGUubGVhZkdyb3VwKSkgfHwgKGNvbHVtbj8ucm93QWN0aW9uTGV2ZWxzPy5pbmNsdWRlcyhub2RlLmxldmVsKSAmJiBjb2x1bW4/LmF1dG9Hcm91cEZpZWxkKSkge1xuICAgIDxkaXYgY2xhc3M9XCJidG4tYWN0aW9uLWNvbnRhaW5lclwiPlxuXG4gICAgICAgIDwhLS0gRXhwYW5zaW9uIEJ1dHRvbiBTdGF0dXMgLS0+XG4gICAgICAgICBAaWYgKChjZWxsUmVuZGVyZXJQYXJhbXM/LmRldGFpbEFjdGl2ZUJ1dHRvblN0YXR1cyA9PSAxICYmICEoZGV0YWlsQWN0aXZlRXhjbHVkZUxldmVscz8uaGFzKG5vZGUubGV2ZWwpKSkpIHtcbiAgICAgICAgICAgIDwhLS0gQSBidXR0b24sIG5vdCBhbiA8YT4gd2l0aCBhIGNsaWNrIGhhbmRsZXI6IGl0IGhhcyBubyBocmVmLCBzb1xuICAgICAgICAgICAgICAgICBpdCB3YXMgbmVpdGhlciBmb2N1c2FibGUgbm9yIG9wZXJhYmxlIGZyb20gdGhlIGtleWJvYXJkLiAtLT5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1hY3Rpb24gYnRuLWFjdGlvbi1wbGFpbiBtZS0yXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm5vZGUuZGV0YWlsQWN0aXZlXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm5vZGUuZGV0YWlsQWN0aXZlID8gJ0NvbGxhcHNlIHJvdycgOiAnRXhwYW5kIHJvdydcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJub2RlLmRldGFpbEFjdGl2ZSA/ICdDb2xsYXBzZScgOiAnRXhwYW5kJ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImludm9rZVJvd1RvZ2dsZURldGFpbEFjdGl2ZUV4cGFuZChub2RlKVwiPlxuXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiaVwiIFtuZ0NsYXNzXT1cInsgJ2JpLWNoZXZyb24tZG93bic6IG5vZGUuZGV0YWlsQWN0aXZlLCAnYmktY2hldnJvbi1yaWdodCc6ICFub2RlLmRldGFpbEFjdGl2ZSB9XCI+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEdvdG8gRGV0YWlsIEJ1dHRvbiBTdGF0dXMgLS0+XG4gICAgICAgIEBpZiAoKGNlbGxSZW5kZXJlclBhcmFtcz8uZ290b0RldGFpbEJ1dHRvblN0YXR1cyA9PSAxICYmICEoZ290b0RldGFpbEV4Y2x1ZGVMZXZlbHM/Lmhhcyhub2RlLmxldmVsKSkpICYmICghaGlkZUFjdGlvbkJ1dHRvbiB8fCBhbGxvd2VkRWRpdCkpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1hY3Rpb24gYnRuLWFjdGlvbi1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVscy5nb3RvRGV0YWlsXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwibGFiZWxzLmdvdG9EZXRhaWxcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpbnZva2VSb3dBY3Rpb25Hb3RvRGV0YWlsKG5vZGUsIGNvbHVtbilcIj5cblxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktbGlzdC10YXNrXCI+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEFkZCBOZXcgQnV0dG9uIFN0YXR1cyAtLT5cbiAgICAgICAgQGlmICgoY2VsbFJlbmRlcmVyUGFyYW1zPy5hZGROZXdCdXR0b25TdGF0dXMgPT0gMSAmJiAhKGFkZE5ld0V4Y2x1ZGVMZXZlbHM/Lmhhcyhub2RlLmxldmVsKSkpICYmICghaGlkZUFjdGlvbkJ1dHRvbiB8fCBhbGxvd2VkRWRpdCkpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1hY3Rpb24gYnRuLWFjdGlvbi1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiYWN0aW9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbHMuYWRkTmV3XCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwibGFiZWxzLmFkZE5ld1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImludm9rZVJvd0FjdGlvbkFkZE5ldyhub2RlLCBjb2x1bW4pXCI+XG5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXBsdXNcIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gVmlldyBCdXR0b24gU3RhdHVzIC0tPlxuICAgICAgICBAaWYgKGNlbGxSZW5kZXJlclBhcmFtcz8udmlld0J1dHRvblN0YXR1cyA9PSAxKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tYWN0aW9uIGJ0bi1hY3Rpb24tcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbHMudmlld1wiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImxhYmVscy52aWV3XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW52b2tlUm93QWN0aW9uVmlldyhub2RlLCBjb2x1bW4pXCI+XG5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLWV5ZVwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoY2VsbFJlbmRlcmVyUGFyYW1zPy5sb2NhdGlvbkJ1dHRvblN0YXR1cyA9PSAxKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tYWN0aW9uIGJ0bi1hY3Rpb24tcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbHMubG9jYXRpb25cIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJsYWJlbHMubG9jYXRpb25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpbnZva2VSb3dBY3Rpb25Mb2NhdGlvbihub2RlLCBjb2x1bW4pXCI+XG5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLWdlby1hbHRcIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gRG9jdW1lbnQgQnV0dG9uIFN0YXR1cyAtLT5cbiAgICAgICAgQGlmIChjZWxsUmVuZGVyZXJQYXJhbXM/LmRvY3VtZW50QnV0dG9uU3RhdHVzID09IDEpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1hY3Rpb24gYnRuLWFjdGlvbi1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVscy5kb2N1bWVudFwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImxhYmVscy5kb2N1bWVudFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImludm9rZVJvd0FjdGlvbkRvY3VtZW50KG5vZGUsIGNvbHVtbilcIj5cblxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktZmlsZS1lYXJtYXJrLXRleHRcIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gQ29weSBCdXR0b24gU3RhdHVzIC0tPlxuICAgICAgICBAaWYgKGNlbGxSZW5kZXJlclBhcmFtcz8uY29weUJ1dHRvblN0YXR1cyA9PSAxKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tYWN0aW9uIGJ0bi1hY3Rpb24tcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbHMuY29weVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImxhYmVscy5jb3B5XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW52b2tlUm93QWN0aW9uQ29weShub2RlLCBjb2x1bW4pXCI+XG5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLWZpbGVzXCI+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cblxuXG4gICAgICAgIDwhLS0gRGVsZXRlIEJ1dHRvbiBTdGF0dXMgLS0+XG4gICAgICAgICBAaWYgKGNlbGxSZW5kZXJlclBhcmFtcz8uZGVsZXRlQnV0dG9uU3RhdHVzID09IDEgJiYgKCFoaWRlQWN0aW9uQnV0dG9uIHx8IGFsbG93ZWRFZGl0KSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWFjdGlvbiBidG4tYWN0aW9uLWRhbmdlclwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImFjdGlvbkRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxzLmRlbGV0ZVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImxhYmVscy5kZWxldGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpbnZva2VSb3dBY3Rpb25EZWxldGUobm9kZSwgY29sdW1uKVwiPlxuXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS10cmFzaDNcIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gR290byBMaXN0IEJ1dHRvbiBTdGF0dXMgLS0+XG4gICAgICAgIEBpZiAoY2VsbFJlbmRlcmVyUGFyYW1zPy5nb3RvTGlzdEJ1dHRvblN0YXR1cyA9PT0gMSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWFjdGlvbiBidG4tYWN0aW9uLXN1Y2Nlc3NcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxzLmdvdG9MaXN0XCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwibGFiZWxzLmdvdG9MaXN0XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW52b2tlUm93QWN0aW9uR290b0xpc3Qobm9kZSwgY29sdW1uKVwiPlxuXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1saXN0LXVsXCI+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEVkaXQgQnV0dG9uIFN0YXR1cyAtLT5cbiAgICAgICAgQGlmIChjZWxsUmVuZGVyZXJQYXJhbXM/LmVkaXRCdXR0b25TdGF0dXMgPT09IDEpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1hY3Rpb24gYnRuLWFjdGlvbi1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiYWN0aW9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbHMuZWRpdFwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImxhYmVscy5lZGl0XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW52b2tlUm93QWN0aW9uRWRpdChub2RlLCBjb2x1bW4pXCI+XG5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXBlbmNpbFwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBQcmludCBCdXR0b24gU3RhdHVzIC0tPlxuICAgICAgICBAaWYgKGNlbGxSZW5kZXJlclBhcmFtcz8ucHJpbnRCdXR0b25TdGF0dXMgPT09IDEpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1hY3Rpb24gYnRuLWFjdGlvbi1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiYWN0aW9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbHMucHJpbnRcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJsYWJlbHMucHJpbnRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpbnZva2VSb3dBY3Rpb25QcmludChub2RlLCBjb2x1bW4pXCI+XG5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXByaW50ZXJcIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gSGlzdG9yeSBCdXR0b24gU3RhdHVzIC0tPlxuICAgICAgICBAaWYgKGNlbGxSZW5kZXJlclBhcmFtcz8uaGlzdG9yeUJ1dHRvblN0YXR1cyA9PT0gMSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWFjdGlvbiBidG4tYWN0aW9uLXByaW1hcnlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJhY3Rpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbkRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVscy5oaXN0b3J5XCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwibGFiZWxzLmhpc3RvcnlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpbnZva2VSb3dBY3Rpb25IaXN0b3J5KG5vZGUsIGNvbHVtbilcIj5cblxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktY2xvY2staGlzdG9yeVwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBPcHRpb24gQnV0dG9uIFN0YXR1cyAtLT5cbiAgICAgICAgQGlmIChjZWxsUmVuZGVyZXJQYXJhbXM/Lm9wdGlvbkJ1dHRvblN0YXR1cyA9PT0gMSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWFjdGlvbiBidG4tYWN0aW9uLXByaW1hcnlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJhY3Rpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbkRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVscy5vcHRpb25cIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJsYWJlbHMub3B0aW9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW52b2tlUm93QWN0aW9uT3B0aW9uKG5vZGUsIGNvbHVtbilcIj5cblxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktdGhyZWUtZG90cy12ZXJ0aWNhbFwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBMYW5ndWFnZSBCdXR0b24gU3RhdHVzIC0tPlxuICAgICAgICBAaWYgKGNlbGxSZW5kZXJlclBhcmFtcz8ubGFuZ3VhZ2VCdXR0b25TdGF0dXMgPT09IDEpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1hY3Rpb24gYnRuLWFjdGlvbi1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiYWN0aW9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbHMubGFuZ3VhZ2VcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJsYWJlbHMubGFuZ3VhZ2VcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpbnZva2VSb3dBY3Rpb25MYW5ndWFnZShub2RlLCBjb2x1bW4pXCI+XG5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXRyYW5zbGF0ZVwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBDZWxsIE9wdG9pb24gQnV0dG9uIFN0YXR1cyAoQ29udGV4dCBNZW51KSAtLT5cbiAgICAgICAgQGlmIChjZWxsUmVuZGVyZXJQYXJhbXM/LmNlbGxPcHRpb25CdXR0b25TdGF0dXMgPT09IDEpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1hY3Rpb24gYnRuLWFjdGlvbi1wcmltYXJ5IGJvcmRlci0wIHRleHQtYm9keVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImFjdGlvbkRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxzLmNlbGxPcHRpb25cIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJsYWJlbHMuY2VsbE9wdGlvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImludm9rZVJvd0FjdGlvbkNlbGxPcHRpb24obm9kZSwgY29sdW1uKVwiPlxuXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS10aHJlZS1kb3RzLXZlcnRpY2FsXCI+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbn0iXX0=
|
|
245
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLWdyaWQtcm93LWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmUtZ3JpZC9zcmMvbGliL2NvbXBvbmVudHMvb25lLWdyaWQtcm93LWFjdGlvbi9vbmUtZ3JpZC1yb3ctYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZS1ncmlkL3NyYy9saWIvY29tcG9uZW50cy9vbmUtZ3JpZC1yb3ctYWN0aW9uL29uZS1ncmlkLXJvdy1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVMxQyxNQUFNLE9BQU8seUJBQXlCO0lBNkRwQyxZQUE2QixXQUErQjtRQUEvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUF0RGpDLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzVCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBRWpDLGFBQVEsR0FBZ0IsSUFBSSxDQUFDO1FBQzdCLFlBQU8sR0FBUSxJQUFJLENBQUM7UUFFaEQ7O1dBRUc7UUFDTyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBQy9ELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDM0QsY0FBUyxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBQ3pELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDN0Qsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUM3RCxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDekQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUMzRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBQzdELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUN6RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDMUQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUM1RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBQzNELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDN0Qsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQU96RTs7Ozs7O1dBTUc7UUFDZ0IsV0FBTSxHQUFHO1lBQzFCLFVBQVUsRUFBRSxhQUFhO1lBQ3pCLE1BQU0sRUFBRSxhQUFhO1lBQ3JCLElBQUksRUFBRSxVQUFVO1lBQ2hCLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLElBQUksRUFBRSxVQUFVO1lBQ2hCLE1BQU0sRUFBRSxZQUFZO1lBQ3BCLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLElBQUksRUFBRSxVQUFVO1lBQ2hCLEtBQUssRUFBRSxXQUFXO1lBQ2xCLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLE1BQU0sRUFBRSxhQUFhO1lBQ3JCLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsVUFBVSxFQUFFLGNBQWM7U0FDbEIsQ0FBQztJQUVvRCxDQUFDO0lBRWhFOzs7Ozs7O09BT0c7SUFDSCxJQUFjLGdCQUFnQjtRQUU1QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQXNCLEVBQUUsSUFBSSxDQUFDLElBQWtCLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILElBQWMsY0FBYztRQUUxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFzQixFQUFFLElBQUksQ0FBQyxJQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQy9HLENBQUM7SUFFRCxRQUFRO1FBRU4sSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUseUJBQXlCLElBQUksRUFBRSxDQUFDLENBQUE7UUFDekcsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsdUJBQXVCLElBQUksRUFBRSxDQUFDLENBQUE7UUFDckcsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsbUJBQW1CLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUscUJBQXFCLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUNBQWlDLENBQUMsSUFBZ0I7UUFFaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDekMsQ0FBQztJQUVELHlCQUF5QixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFcEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELHFCQUFxQixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFaEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFOUQsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELHVCQUF1QixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFbEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELHVCQUF1QixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFbEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFOUQsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELHFCQUFxQixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFaEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELHVCQUF1QixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFbEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFOUQsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFL0QsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELHNCQUFzQixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFakUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELHFCQUFxQixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFaEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELHVCQUF1QixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFbEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELHlCQUF5QixDQUFDLElBQW1CLEVBQUUsTUFBdUI7UUFFcEUsSUFBSSxJQUFJLEdBQTBCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0csSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzsrR0EvUVUseUJBQXlCO21HQUF6Qix5QkFBeUIsNHNCQ2R0Qyx5bVJBeU5DLDBERGhOVyxPQUFPOzs0RkFLTix5QkFBeUI7a0JBUHJDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsT0FBTyxDQUFDLFlBQ1IscUJBQXFCO3VGQVNKLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLElBQUk7c0JBQTlCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFdBQVc7c0JBQXJDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNHLFlBQVk7c0JBQXZDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO2dCQUNFLFVBQVU7c0JBQXJDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO2dCQUNFLGtCQUFrQjtzQkFBN0MsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7Z0JBQ0UsUUFBUTtzQkFBbkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7Z0JBQ0UsT0FBTztzQkFBbEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7Z0JBS2hCLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9uZVJvd05vZGUgfSBmcm9tICcuLi8uLi9jb3JlL2luc3RhbnRzL29uZS1yb3ctbm9kZS5jbGFzcyc7XG5pbXBvcnQgeyBPbmVHcmlkUm93QWN0aW9uRXZlbnQsIE9uZUdyaWRUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMvb25lLWdyaWQtdHlwZXMubW9kZWwnO1xuaW1wb3J0IHsgT25lQ2VsbFJlbmRlcmVyUGFyYW1zLCBPbmVDb2x1bW5EZWYgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscy9vbmUtY29sdW1uLWRlZi10eXBlcy5tb2RlbCc7XG5pbXBvcnQgeyBPbmVHcmlkQ2VsbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL29uZS1ncmlkLWNlbGwuc2VydmljZSc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0NsYXNzXSxcbiAgc2VsZWN0b3I6ICdvbmUtZ3JpZC1yb3ctYWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29uZS1ncmlkLXJvdy1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vb25lLWdyaWQtcm93LWFjdGlvbi5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgT25lR3JpZFJvd0FjdGlvbkNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqXG4gICAqIEdldCBOb2RlICYgQ2VsbCBSZW5kZXJlciBGcm9tIFBhcmVudCBDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbHVtbjogT25lQ29sdW1uRGVmPFQ+O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBub2RlOiBPbmVSb3dOb2RlPFQ+O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBhbGxvd2VkRWRpdDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgbWFzdGVyRGV0YWlsOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBtYXN0ZXJOb2RlOiBPbmVSb3dOb2RlPFQ+ID0gbnVsbDtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIGNlbGxSZW5kZXJlclBhcmFtczogT25lQ2VsbFJlbmRlcmVyUGFyYW1zPFQ+O1xuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgZ3JpZFR5cGU6IE9uZUdyaWRUeXBlID0gbnVsbDtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIGNvbnRleHQ6IGFueSA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEJpbmQgRXZlbnQgdG8gUGFyZW50IENvbXBvbmVudFxuICAgKi9cbiAgQE91dHB1dCgpIG9uUm93R290b0RldGFpbCA9IG5ldyBFdmVudEVtaXR0ZXI8T25lR3JpZFJvd0FjdGlvbkV2ZW50PFQ+PigpO1xuICBAT3V0cHV0KCkgb25Sb3dBZGROZXcgPSBuZXcgRXZlbnRFbWl0dGVyPE9uZUdyaWRSb3dBY3Rpb25FdmVudDxUPj4oKTtcbiAgQE91dHB1dCgpIG9uUm93VmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8T25lR3JpZFJvd0FjdGlvbkV2ZW50PFQ+PigpO1xuICBAT3V0cHV0KCkgb25Sb3dMb2NhdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8T25lR3JpZFJvd0FjdGlvbkV2ZW50PFQ+PigpO1xuICBAT3V0cHV0KCkgb25Sb3dEb2N1bWVudCA9IG5ldyBFdmVudEVtaXR0ZXI8T25lR3JpZFJvd0FjdGlvbkV2ZW50PFQ+PigpO1xuICBAT3V0cHV0KCkgb25Sb3dDb3B5ID0gbmV3IEV2ZW50RW1pdHRlcjxPbmVHcmlkUm93QWN0aW9uRXZlbnQ8VD4+KCk7XG4gIEBPdXRwdXQoKSBvblJvd0RlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8T25lR3JpZFJvd0FjdGlvbkV2ZW50PFQ+PigpO1xuICBAT3V0cHV0KCkgb25Sb3dHb3RvTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXI8T25lR3JpZFJvd0FjdGlvbkV2ZW50PFQ+PigpO1xuICBAT3V0cHV0KCkgb25Sb3dFZGl0ID0gbmV3IEV2ZW50RW1pdHRlcjxPbmVHcmlkUm93QWN0aW9uRXZlbnQ8VD4+KCk7XG4gIEBPdXRwdXQoKSBvblJvd1ByaW50ID0gbmV3IEV2ZW50RW1pdHRlcjxPbmVHcmlkUm93QWN0aW9uRXZlbnQ8VD4+KCk7XG4gIEBPdXRwdXQoKSBvblJvd0hpc3RvcnkgPSBuZXcgRXZlbnRFbWl0dGVyPE9uZUdyaWRSb3dBY3Rpb25FdmVudDxUPj4oKTtcbiAgQE91dHB1dCgpIG9uUm93T3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxPbmVHcmlkUm93QWN0aW9uRXZlbnQ8VD4+KCk7XG4gIEBPdXRwdXQoKSBvblJvd0xhbmd1YWdlID0gbmV3IEV2ZW50RW1pdHRlcjxPbmVHcmlkUm93QWN0aW9uRXZlbnQ8VD4+KCk7XG4gIEBPdXRwdXQoKSBvblJvd0NlbGxPcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPE9uZUdyaWRSb3dBY3Rpb25FdmVudDxUPj4oKTtcblxuICBwcm90ZWN0ZWQgZGV0YWlsQWN0aXZlRXhjbHVkZUxldmVsczogU2V0PG51bWJlcj47XG4gIHByb3RlY3RlZCBnb3RvRGV0YWlsRXhjbHVkZUxldmVsczogU2V0PG51bWJlcj47XG4gIHByb3RlY3RlZCBhZGROZXdFeGNsdWRlTGV2ZWxzOiBTZXQ8bnVtYmVyPjtcbiAgcHJvdGVjdGVkIGdvdG9MaXN0RXhjbHVkZUxldmVsczogU2V0PG51bWJlcj47XG5cbiAgLyoqXG4gICAqIEFjY2Vzc2libGUgbmFtZXMgZm9yIHRoZSBhY3Rpb24gYnV0dG9ucy5cbiAgICpcbiAgICogRXZlcnkgb25lIG9mIHRoZW0gaXMgYW4gaWNvbiB3aXRoIG5vIHRleHQsIGFuZCBub25lIGNhcnJpZWQgYSBsYWJlbCDigJQgYVxuICAgKiBzY3JlZW4gcmVhZGVyIGFubm91bmNlZCBcImJ1dHRvblwiIGFuZCBub3RoaW5nIG1vcmUsIGZvdXJ0ZWVuIHRpbWVzIHBlciByb3cuXG4gICAqIFRoZXNlIGFyZSBhbHNvIHRoZSBgdGl0bGVgLCBzbyB0aGUgaWNvbnMgYXJlIGlkZW50aWZpYWJsZSBieSBwb2ludGVyIHRvby5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBsYWJlbHMgPSB7XG4gICAgZ290b0RldGFpbDogJ09wZW4gZGV0YWlsJyxcbiAgICBhZGROZXc6ICdBZGQgbmV3IHJvdycsXG4gICAgdmlldzogJ1ZpZXcgcm93JyxcbiAgICBsb2NhdGlvbjogJ1Nob3cgbG9jYXRpb24nLFxuICAgIGRvY3VtZW50OiAnT3BlbiBkb2N1bWVudCcsXG4gICAgY29weTogJ0NvcHkgcm93JyxcbiAgICBkZWxldGU6ICdEZWxldGUgcm93JyxcbiAgICBnb3RvTGlzdDogJ09wZW4gbGlzdCcsXG4gICAgZWRpdDogJ0VkaXQgcm93JyxcbiAgICBwcmludDogJ1ByaW50IHJvdycsXG4gICAgaGlzdG9yeTogJ1ZpZXcgaGlzdG9yeScsXG4gICAgb3B0aW9uOiAnUm93IG9wdGlvbnMnLFxuICAgIGxhbmd1YWdlOiAnQ2hhbmdlIGxhbmd1YWdlJyxcbiAgICBjZWxsT3B0aW9uOiAnQ2VsbCBvcHRpb25zJyxcbiAgfSBhcyBjb25zdDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNlbGxTZXJ2aWNlOiBPbmVHcmlkQ2VsbFNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBjb2x1bW4ncyBhY3Rpb24gYnV0dG9ucyBhcmUgaGlkZGVuIGZvciB0aGlzIHJvdy5cbiAgICpcbiAgICogVGhlIHRlbXBsYXRlcyByZWFkIGBjb2x1bW4/LmhpZGVBY3Rpb25CdXR0b25gIGRpcmVjdGx5LCB3aGljaCBpcyB0cnV0aHkgZm9yXG4gICAqIGFueSBmdW5jdGlvbiDigJQgc28gYSBwcmVkaWNhdGUgYXNraW5nIHRvIGhpZGUgdGhlIGJ1dHRvbnMgc2hvd2VkIHRoZW0sIGFuZFxuICAgKiBvbmUgYXNraW5nIHRvIHNob3cgdGhlbSBzaG93ZWQgdGhlbSB0b28uIFJlc29sdmVkIGhlcmUgaW5zdGVhZCwgd2l0aCB0aGVcbiAgICogc2FtZSBwYXJhbXMgZXZlcnkgb3RoZXIgcm93LXNjb3BlZCBwcmVkaWNhdGUgZ2V0cy5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgaGlkZUFjdGlvbkJ1dHRvbigpOiBib29sZWFuIHtcblxuICAgIHJldHVybiB0aGlzLmNlbGxTZXJ2aWNlLmhpZGVBY3Rpb25CdXR0b25Gbih0aGlzLmNvbHVtbiBhcyBPbmVDb2x1bW5EZWYsIHRoaXMubm9kZSBhcyBPbmVSb3dOb2RlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgY29sdW1uJ3MgYWN0aW9uIGJ1dHRvbnMgYXJlIGRpc2FibGVkIGZvciB0aGlzIHJvdy5cbiAgICpcbiAgICogYGRpc2FibGVgIHVzZWQgdG8gYmUgcmVzb2x2ZWQgYnkgYENlbGxEaXNhYmxlUmVzb2x2ZXJQaXBlYCwgd2hpY2ggYnVpbHQgaXRzXG4gICAqIG93biBwYXJhbXMg4oCUIGEgZGlmZmVyZW50IHNldCBmcm9tIGV2ZXJ5IG90aGVyIHJvdy1zY29wZWQgcHJlZGljYXRlLiBJdCBnb2VzXG4gICAqIHRocm91Z2ggdGhlIHNoYXJlZCBidWlsZGVyIG5vdywgc28gYGRpc2FibGVgIHNlZXMgZXhhY3RseSB3aGF0IGBlZGl0YWJsZWBcbiAgICogYW5kIGBoaWRlQWN0aW9uQnV0dG9uYCBzZWUuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGFjdGlvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuXG4gICAgcmV0dXJuIHRoaXMuY2VsbFNlcnZpY2UuZGlzYWJsZUZuKHRoaXMuY29sdW1uIGFzIE9uZUNvbHVtbkRlZiwgdGhpcy5ub2RlIGFzIE9uZVJvd05vZGUpIHx8ICF0aGlzLmFsbG93ZWRFZGl0O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICB0aGlzLmRldGFpbEFjdGl2ZUV4Y2x1ZGVMZXZlbHMgPSBuZXcgU2V0KHRoaXMuY29sdW1uLmNlbGxSZW5kZXJlclBhcmFtcz8uZGV0YWlsQWN0aXZlRXhjbHVkZUxldmVscyA/PyBbXSlcbiAgICB0aGlzLmdvdG9EZXRhaWxFeGNsdWRlTGV2ZWxzID0gbmV3IFNldCh0aGlzLmNvbHVtbi5jZWxsUmVuZGVyZXJQYXJhbXM/LmdvdG9EZXRhaWxFeGNsdWRlTGV2ZWxzID8/IFtdKVxuICAgIHRoaXMuYWRkTmV3RXhjbHVkZUxldmVscyA9IG5ldyBTZXQodGhpcy5jb2x1bW4uY2VsbFJlbmRlcmVyUGFyYW1zPy5hZGROZXdFeGNsdWRlTGV2ZWxzID8/IFtdKTtcbiAgICB0aGlzLmdvdG9MaXN0RXhjbHVkZUxldmVscyA9IG5ldyBTZXQodGhpcy5jb2x1bW4uY2VsbFJlbmRlcmVyUGFyYW1zPy5nb3RvTGlzdEV4Y2x1ZGVMZXZlbHMgPz8gW10pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXIgSW52b2tlIENsaWNrIEV2ZW50XG4gICAqL1xuICBpbnZva2VSb3dUb2dnbGVEZXRhaWxBY3RpdmVFeHBhbmQobm9kZTogT25lUm93Tm9kZSk6IHZvaWQge1xuXG4gICAgbm9kZS5kZXRhaWxBY3RpdmUgPSAhbm9kZS5kZXRhaWxBY3RpdmU7XG4gIH1cblxuICBpbnZva2VSb3dBY3Rpb25Hb3RvRGV0YWlsKG5vZGU6IE9uZVJvd05vZGU8VD4sIGNvbHVtbjogT25lQ29sdW1uRGVmPFQ+KSB7XG5cbiAgICBsZXQgZGF0YTogT25lR3JpZFJvd0FjdGlvbkV2ZW50ID0geyBub2RlLCBjb2x1bW4sIGRhdGE6IG5vZGUuZGF0YSwgcm93SW5kZXg6IG5vZGUucm93SW5kZXgsIGdyaWRUeXBlOiBudWxsIH07XG5cbiAgICBpZiAodGhpcy5tYXN0ZXJEZXRhaWwpIHtcblxuICAgICAgZGF0YSA9IHsgLi4uZGF0YSwgZ3JpZFR5cGU6IHRoaXMuZ3JpZFR5cGUsIG1hc3Rlck5vZGU6IHRoaXMubWFzdGVyTm9kZSB9O1xuICAgIH1cblxuICAgIHRoaXMub25Sb3dHb3RvRGV0YWlsLmVtaXQoZGF0YSk7XG4gIH1cblxuICBpbnZva2VSb3dBY3Rpb25BZGROZXcobm9kZTogT25lUm93Tm9kZTxUPiwgY29sdW1uOiBPbmVDb2x1bW5EZWY8VD4pIHtcblxuICAgIGxldCBkYXRhOiBPbmVHcmlkUm93QWN0aW9uRXZlbnQgPSB7IG5vZGUsIGNvbHVtbiwgZGF0YTogbm9kZS5kYXRhLCByb3dJbmRleDogbm9kZS5yb3dJbmRleCwgZ3JpZFR5cGU6IG51bGwgfTtcblxuICAgIGlmICh0aGlzLm1hc3RlckRldGFpbCkge1xuXG4gICAgICBkYXRhID0geyAuLi5kYXRhLCBncmlkVHlwZTogdGhpcy5ncmlkVHlwZSwgbWFzdGVyTm9kZTogdGhpcy5tYXN0ZXJOb2RlIH07XG4gICAgfVxuXG4gICAgdGhpcy5vblJvd0FkZE5ldy5lbWl0KGRhdGEpO1xuICB9XG5cbiAgaW52b2tlUm93QWN0aW9uVmlldyhub2RlOiBPbmVSb3dOb2RlPFQ+LCBjb2x1bW46IE9uZUNvbHVtbkRlZjxUPikge1xuXG4gICAgbGV0IGRhdGE6IE9uZUdyaWRSb3dBY3Rpb25FdmVudCA9IHsgbm9kZSwgY29sdW1uLCBkYXRhOiBub2RlLmRhdGEsIHJvd0luZGV4OiBub2RlLnJvd0luZGV4LCBncmlkVHlwZTogbnVsbCB9O1xuXG4gICAgaWYgKHRoaXMubWFzdGVyRGV0YWlsKSB7XG5cbiAgICAgIGRhdGEgPSB7IC4uLmRhdGEsIGdyaWRUeXBlOiB0aGlzLmdyaWRUeXBlLCBtYXN0ZXJOb2RlOiB0aGlzLm1hc3Rlck5vZGUgfTtcbiAgICB9XG5cbiAgICB0aGlzLm9uUm93Vmlldy5lbWl0KGRhdGEpO1xuICB9XG5cbiAgaW52b2tlUm93QWN0aW9uTG9jYXRpb24obm9kZTogT25lUm93Tm9kZTxUPiwgY29sdW1uOiBPbmVDb2x1bW5EZWY8VD4pIHtcblxuICAgIGxldCBkYXRhOiBPbmVHcmlkUm93QWN0aW9uRXZlbnQgPSB7IG5vZGUsIGNvbHVtbiwgZGF0YTogbm9kZS5kYXRhLCByb3dJbmRleDogbm9kZS5yb3dJbmRleCwgZ3JpZFR5cGU6IG51bGwgfTtcblxuICAgIGlmICh0aGlzLm1hc3RlckRldGFpbCkge1xuXG4gICAgICBkYXRhID0geyAuLi5kYXRhLCBncmlkVHlwZTogdGhpcy5ncmlkVHlwZSwgbWFzdGVyTm9kZTogdGhpcy5tYXN0ZXJOb2RlIH07XG4gICAgfVxuXG4gICAgdGhpcy5vblJvd0xvY2F0aW9uLmVtaXQoZGF0YSk7XG4gIH1cblxuICBpbnZva2VSb3dBY3Rpb25Eb2N1bWVudChub2RlOiBPbmVSb3dOb2RlPFQ+LCBjb2x1bW46IE9uZUNvbHVtbkRlZjxUPikge1xuXG4gICAgbGV0IGRhdGE6IE9uZUdyaWRSb3dBY3Rpb25FdmVudCA9IHsgbm9kZSwgY29sdW1uLCBkYXRhOiBub2RlLmRhdGEsIHJvd0luZGV4OiBub2RlLnJvd0luZGV4LCBncmlkVHlwZTogbnVsbCB9O1xuXG4gICAgaWYgKHRoaXMubWFzdGVyRGV0YWlsKSB7XG5cbiAgICAgIGRhdGEgPSB7IC4uLmRhdGEsIGdyaWRUeXBlOiB0aGlzLmdyaWRUeXBlLCBtYXN0ZXJOb2RlOiB0aGlzLm1hc3Rlck5vZGUgfTtcbiAgICB9XG5cbiAgICB0aGlzLm9uUm93RG9jdW1lbnQuZW1pdChkYXRhKTtcbiAgfVxuXG4gIGludm9rZVJvd0FjdGlvbkNvcHkobm9kZTogT25lUm93Tm9kZTxUPiwgY29sdW1uOiBPbmVDb2x1bW5EZWY8VD4pIHtcblxuICAgIGxldCBkYXRhOiBPbmVHcmlkUm93QWN0aW9uRXZlbnQgPSB7IG5vZGUsIGNvbHVtbiwgZGF0YTogbm9kZS5kYXRhLCByb3dJbmRleDogbm9kZS5yb3dJbmRleCwgZ3JpZFR5cGU6IG51bGwgfTtcblxuICAgIGlmICh0aGlzLm1hc3RlckRldGFpbCkge1xuXG4gICAgICBkYXRhID0geyAuLi5kYXRhLCBncmlkVHlwZTogdGhpcy5ncmlkVHlwZSwgbWFzdGVyTm9kZTogdGhpcy5tYXN0ZXJOb2RlIH07XG4gICAgfVxuXG4gICAgdGhpcy5vblJvd0NvcHkuZW1pdChkYXRhKTtcbiAgfVxuXG4gIGludm9rZVJvd0FjdGlvbkRlbGV0ZShub2RlOiBPbmVSb3dOb2RlPFQ+LCBjb2x1bW46IE9uZUNvbHVtbkRlZjxUPikge1xuXG4gICAgbGV0IGRhdGE6IE9uZUdyaWRSb3dBY3Rpb25FdmVudCA9IHsgbm9kZSwgY29sdW1uLCBkYXRhOiBub2RlLmRhdGEsIHJvd0luZGV4OiBub2RlLnJvd0luZGV4LCBncmlkVHlwZTogbnVsbCB9O1xuXG4gICAgaWYgKHRoaXMubWFzdGVyRGV0YWlsKSB7XG5cbiAgICAgIGRhdGEgPSB7IC4uLmRhdGEsIGdyaWRUeXBlOiB0aGlzLmdyaWRUeXBlLCBtYXN0ZXJOb2RlOiB0aGlzLm1hc3Rlck5vZGUgfTtcbiAgICB9XG5cbiAgICB0aGlzLm9uUm93RGVsZXRlLmVtaXQoZGF0YSk7XG4gIH1cblxuICBpbnZva2VSb3dBY3Rpb25Hb3RvTGlzdChub2RlOiBPbmVSb3dOb2RlPFQ+LCBjb2x1bW46IE9uZUNvbHVtbkRlZjxUPikge1xuXG4gICAgbGV0IGRhdGE6IE9uZUdyaWRSb3dBY3Rpb25FdmVudCA9IHsgbm9kZSwgY29sdW1uLCBkYXRhOiBub2RlLmRhdGEsIHJvd0luZGV4OiBub2RlLnJvd0luZGV4LCBncmlkVHlwZTogbnVsbCB9O1xuXG4gICAgaWYgKHRoaXMubWFzdGVyRGV0YWlsKSB7XG5cbiAgICAgIGRhdGEgPSB7IC4uLmRhdGEsIGdyaWRUeXBlOiB0aGlzLmdyaWRUeXBlLCBtYXN0ZXJOb2RlOiB0aGlzLm1hc3Rlck5vZGUgfTtcbiAgICB9XG5cbiAgICB0aGlzLm9uUm93R290b0xpc3QuZW1pdChkYXRhKTtcbiAgfVxuXG4gIGludm9rZVJvd0FjdGlvbkVkaXQobm9kZTogT25lUm93Tm9kZTxUPiwgY29sdW1uOiBPbmVDb2x1bW5EZWY8VD4pIHtcblxuICAgIGxldCBkYXRhOiBPbmVHcmlkUm93QWN0aW9uRXZlbnQgPSB7IG5vZGUsIGNvbHVtbiwgZGF0YTogbm9kZS5kYXRhLCByb3dJbmRleDogbm9kZS5yb3dJbmRleCwgZ3JpZFR5cGU6IG51bGwgfTtcblxuICAgIGlmICh0aGlzLm1hc3RlckRldGFpbCkge1xuXG4gICAgICBkYXRhID0geyAuLi5kYXRhLCBncmlkVHlwZTogdGhpcy5ncmlkVHlwZSwgbWFzdGVyTm9kZTogdGhpcy5tYXN0ZXJOb2RlIH07XG4gICAgfVxuXG4gICAgdGhpcy5vblJvd0VkaXQuZW1pdChkYXRhKTtcbiAgfVxuXG4gIGludm9rZVJvd0FjdGlvblByaW50KG5vZGU6IE9uZVJvd05vZGU8VD4sIGNvbHVtbjogT25lQ29sdW1uRGVmPFQ+KSB7XG5cbiAgICBsZXQgZGF0YTogT25lR3JpZFJvd0FjdGlvbkV2ZW50ID0geyBub2RlLCBjb2x1bW4sIGRhdGE6IG5vZGUuZGF0YSwgcm93SW5kZXg6IG5vZGUucm93SW5kZXgsIGdyaWRUeXBlOiBudWxsIH07XG5cbiAgICBpZiAodGhpcy5tYXN0ZXJEZXRhaWwpIHtcblxuICAgICAgZGF0YSA9IHsgLi4uZGF0YSwgZ3JpZFR5cGU6IHRoaXMuZ3JpZFR5cGUsIG1hc3Rlck5vZGU6IHRoaXMubWFzdGVyTm9kZSB9O1xuICAgIH1cblxuICAgIHRoaXMub25Sb3dQcmludC5lbWl0KGRhdGEpO1xuICB9XG5cbiAgaW52b2tlUm93QWN0aW9uSGlzdG9yeShub2RlOiBPbmVSb3dOb2RlPFQ+LCBjb2x1bW46IE9uZUNvbHVtbkRlZjxUPikge1xuXG4gICAgbGV0IGRhdGE6IE9uZUdyaWRSb3dBY3Rpb25FdmVudCA9IHsgbm9kZSwgY29sdW1uLCBkYXRhOiBub2RlLmRhdGEsIHJvd0luZGV4OiBub2RlLnJvd0luZGV4LCBncmlkVHlwZTogbnVsbCB9O1xuXG4gICAgaWYgKHRoaXMubWFzdGVyRGV0YWlsKSB7XG5cbiAgICAgIGRhdGEgPSB7IC4uLmRhdGEsIGdyaWRUeXBlOiB0aGlzLmdyaWRUeXBlLCBtYXN0ZXJOb2RlOiB0aGlzLm1hc3Rlck5vZGUgfTtcbiAgICB9XG5cbiAgICB0aGlzLm9uUm93SGlzdG9yeS5lbWl0KGRhdGEpO1xuICB9XG5cbiAgaW52b2tlUm93QWN0aW9uT3B0aW9uKG5vZGU6IE9uZVJvd05vZGU8VD4sIGNvbHVtbjogT25lQ29sdW1uRGVmPFQ+KSB7XG5cbiAgICBsZXQgZGF0YTogT25lR3JpZFJvd0FjdGlvbkV2ZW50ID0geyBub2RlLCBjb2x1bW4sIGRhdGE6IG5vZGUuZGF0YSwgcm93SW5kZXg6IG5vZGUucm93SW5kZXgsIGdyaWRUeXBlOiBudWxsIH07XG5cbiAgICBpZiAodGhpcy5tYXN0ZXJEZXRhaWwpIHtcblxuICAgICAgZGF0YSA9IHsgLi4uZGF0YSwgZ3JpZFR5cGU6IHRoaXMuZ3JpZFR5cGUsIG1hc3Rlck5vZGU6IHRoaXMubWFzdGVyTm9kZSB9O1xuICAgIH1cblxuICAgIHRoaXMub25Sb3dPcHRpb24uZW1pdChkYXRhKTtcbiAgfVxuXG4gIGludm9rZVJvd0FjdGlvbkxhbmd1YWdlKG5vZGU6IE9uZVJvd05vZGU8VD4sIGNvbHVtbjogT25lQ29sdW1uRGVmPFQ+KSB7XG5cbiAgICBsZXQgZGF0YTogT25lR3JpZFJvd0FjdGlvbkV2ZW50ID0geyBub2RlLCBjb2x1bW4sIGRhdGE6IG5vZGUuZGF0YSwgcm93SW5kZXg6IG5vZGUucm93SW5kZXgsIGdyaWRUeXBlOiBudWxsIH07XG5cbiAgICBpZiAodGhpcy5tYXN0ZXJEZXRhaWwpIHtcblxuICAgICAgZGF0YSA9IHsgLi4uZGF0YSwgZ3JpZFR5cGU6IHRoaXMuZ3JpZFR5cGUsIG1hc3Rlck5vZGU6IHRoaXMubWFzdGVyTm9kZSB9O1xuICAgIH1cblxuICAgIHRoaXMub25Sb3dMYW5ndWFnZS5lbWl0KGRhdGEpO1xuICB9XG5cbiAgaW52b2tlUm93QWN0aW9uQ2VsbE9wdGlvbihub2RlOiBPbmVSb3dOb2RlPFQ+LCBjb2x1bW46IE9uZUNvbHVtbkRlZjxUPikge1xuXG4gICAgbGV0IGRhdGE6IE9uZUdyaWRSb3dBY3Rpb25FdmVudCA9IHsgbm9kZSwgY29sdW1uLCBkYXRhOiBub2RlLmRhdGEsIHJvd0luZGV4OiBub2RlLnJvd0luZGV4LCBncmlkVHlwZTogbnVsbCB9O1xuXG4gICAgaWYgKHRoaXMubWFzdGVyRGV0YWlsKSB7XG5cbiAgICAgIGRhdGEgPSB7IC4uLmRhdGEsIGdyaWRUeXBlOiB0aGlzLmdyaWRUeXBlLCBtYXN0ZXJOb2RlOiB0aGlzLm1hc3Rlck5vZGUgfTtcbiAgICB9XG5cbiAgICB0aGlzLm9uUm93Q2VsbE9wdGlvbi5lbWl0KGRhdGEpO1xuICB9XG59XG4iLCJAaWYgKChjZWxsUmVuZGVyZXJQYXJhbXMgJiYgbm9kZT8ubGVhZiAmJiAhY29sdW1uPy5hdXRvR3JvdXBGaWVsZCAmJiAhKG5vZGUuZ3JvdXAgJiYgbm9kZS5sZWFmR3JvdXApKSB8fCAoY29sdW1uPy5yb3dBY3Rpb25MZXZlbHM/LmluY2x1ZGVzKG5vZGUubGV2ZWwpICYmIGNvbHVtbj8uYXV0b0dyb3VwRmllbGQpKSB7XG4gICAgPGRpdiBjbGFzcz1cImJ0bi1hY3Rpb24tY29udGFpbmVyXCI+XG5cbiAgICAgICAgPCEtLSBFeHBhbnNpb24gQnV0dG9uIFN0YXR1cyAtLT5cbiAgICAgICAgIEBpZiAoKGNlbGxSZW5kZXJlclBhcmFtcz8uZGV0YWlsQWN0aXZlQnV0dG9uU3RhdHVzID09IDEgJiYgIShkZXRhaWxBY3RpdmVFeGNsdWRlTGV2ZWxzPy5oYXMobm9kZS5sZXZlbCkpKSkge1xuICAgICAgICAgICAgPCEtLSBBIGJ1dHRvbiwgbm90IGFuIDxhPiB3aXRoIGEgY2xpY2sgaGFuZGxlcjogaXQgaGFzIG5vIGhyZWYsIHNvXG4gICAgICAgICAgICAgICAgIGl0IHdhcyBuZWl0aGVyIGZvY3VzYWJsZSBub3Igb3BlcmFibGUgZnJvbSB0aGUga2V5Ym9hcmQuIC0tPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWFjdGlvbiBidG4tYWN0aW9uLXBsYWluIG1lLTJcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwibm9kZS5kZXRhaWxBY3RpdmVcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibm9kZS5kZXRhaWxBY3RpdmUgPyAnQ29sbGFwc2Ugcm93JyA6ICdFeHBhbmQgcm93J1wiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIm5vZGUuZGV0YWlsQWN0aXZlID8gJ0NvbGxhcHNlJyA6ICdFeHBhbmQnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW52b2tlUm93VG9nZ2xlRGV0YWlsQWN0aXZlRXhwYW5kKG5vZGUpXCI+XG5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpXCIgW25nQ2xhc3NdPVwieyAnYmktY2hldnJvbi1kb3duJzogbm9kZS5kZXRhaWxBY3RpdmUsICdiaS1jaGV2cm9uLXJpZ2h0JzogIW5vZGUuZGV0YWlsQWN0aXZlIH1cIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gR290byBEZXRhaWwgQnV0dG9uIFN0YXR1cyAtLT5cbiAgICAgICAgQGlmICgoY2VsbFJlbmRlcmVyUGFyYW1zPy5nb3RvRGV0YWlsQnV0dG9uU3RhdHVzID09IDEgJiYgIShnb3RvRGV0YWlsRXhjbHVkZUxldmVscz8uaGFzKG5vZGUubGV2ZWwpKSkgJiYgKCFoaWRlQWN0aW9uQnV0dG9uIHx8IGFsbG93ZWRFZGl0KSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWFjdGlvbiBidG4tYWN0aW9uLXByaW1hcnlcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxzLmdvdG9EZXRhaWxcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJsYWJlbHMuZ290b0RldGFpbFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImludm9rZVJvd0FjdGlvbkdvdG9EZXRhaWwobm9kZSwgY29sdW1uKVwiPlxuXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1saXN0LXRhc2tcIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gQWRkIE5ldyBCdXR0b24gU3RhdHVzIC0tPlxuICAgICAgICBAaWYgKChjZWxsUmVuZGVyZXJQYXJhbXM/LmFkZE5ld0J1dHRvblN0YXR1cyA9PSAxICYmICEoYWRkTmV3RXhjbHVkZUxldmVscz8uaGFzKG5vZGUubGV2ZWwpKSkgJiYgKCFoaWRlQWN0aW9uQnV0dG9uIHx8IGFsbG93ZWRFZGl0KSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWFjdGlvbiBidG4tYWN0aW9uLXByaW1hcnlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJhY3Rpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbkRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVscy5hZGROZXdcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJsYWJlbHMuYWRkTmV3XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW52b2tlUm93QWN0aW9uQWRkTmV3KG5vZGUsIGNvbHVtbilcIj5cblxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktcGx1c1wiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBWaWV3IEJ1dHRvbiBTdGF0dXMgLS0+XG4gICAgICAgIEBpZiAoY2VsbFJlbmRlcmVyUGFyYW1zPy52aWV3QnV0dG9uU3RhdHVzID09IDEpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1hY3Rpb24gYnRuLWFjdGlvbi1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVscy52aWV3XCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwibGFiZWxzLnZpZXdcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpbnZva2VSb3dBY3Rpb25WaWV3KG5vZGUsIGNvbHVtbilcIj5cblxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktZXllXCI+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChjZWxsUmVuZGVyZXJQYXJhbXM/LmxvY2F0aW9uQnV0dG9uU3RhdHVzID09IDEpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1hY3Rpb24gYnRuLWFjdGlvbi1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVscy5sb2NhdGlvblwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImxhYmVscy5sb2NhdGlvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImludm9rZVJvd0FjdGlvbkxvY2F0aW9uKG5vZGUsIGNvbHVtbilcIj5cblxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktZ2VvLWFsdFwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBEb2N1bWVudCBCdXR0b24gU3RhdHVzIC0tPlxuICAgICAgICBAaWYgKGNlbGxSZW5kZXJlclBhcmFtcz8uZG9jdW1lbnRCdXR0b25TdGF0dXMgPT0gMSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWFjdGlvbiBidG4tYWN0aW9uLXByaW1hcnlcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxzLmRvY3VtZW50XCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwibGFiZWxzLmRvY3VtZW50XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW52b2tlUm93QWN0aW9uRG9jdW1lbnQobm9kZSwgY29sdW1uKVwiPlxuXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1maWxlLWVhcm1hcmstdGV4dFwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBDb3B5IEJ1dHRvbiBTdGF0dXMgLS0+XG4gICAgICAgIEBpZiAoY2VsbFJlbmRlcmVyUGFyYW1zPy5jb3B5QnV0dG9uU3RhdHVzID09IDEpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1hY3Rpb24gYnRuLWFjdGlvbi1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVscy5jb3B5XCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwibGFiZWxzLmNvcHlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpbnZva2VSb3dBY3Rpb25Db3B5KG5vZGUsIGNvbHVtbilcIj5cblxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktZmlsZXNcIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuXG5cbiAgICAgICAgPCEtLSBEZWxldGUgQnV0dG9uIFN0YXR1cyAtLT5cbiAgICAgICAgIEBpZiAoY2VsbFJlbmRlcmVyUGFyYW1zPy5kZWxldGVCdXR0b25TdGF0dXMgPT0gMSAmJiAoIWhpZGVBY3Rpb25CdXR0b24gfHwgYWxsb3dlZEVkaXQpKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tYWN0aW9uIGJ0bi1hY3Rpb24tZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiYWN0aW9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbHMuZGVsZXRlXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwibGFiZWxzLmRlbGV0ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImludm9rZVJvd0FjdGlvbkRlbGV0ZShub2RlLCBjb2x1bW4pXCI+XG5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXRyYXNoM1wiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBHb3RvIExpc3QgQnV0dG9uIFN0YXR1cyAtLT5cbiAgICAgICAgQGlmICgoY2VsbFJlbmRlcmVyUGFyYW1zPy5nb3RvTGlzdEJ1dHRvblN0YXR1cyA9PT0gMSAmJiAhKGdvdG9MaXN0RXhjbHVkZUxldmVscz8uaGFzKG5vZGUubGV2ZWwpKSkgJiYgKCFoaWRlQWN0aW9uQnV0dG9uIHx8IGFsbG93ZWRFZGl0KSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWFjdGlvbiBidG4tYWN0aW9uLXN1Y2Nlc3NcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxzLmdvdG9MaXN0XCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwibGFiZWxzLmdvdG9MaXN0XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW52b2tlUm93QWN0aW9uR290b0xpc3Qobm9kZSwgY29sdW1uKVwiPlxuXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1saXN0LXVsXCI+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEVkaXQgQnV0dG9uIFN0YXR1cyAtLT5cbiAgICAgICAgQGlmIChjZWxsUmVuZGVyZXJQYXJhbXM/LmVkaXRCdXR0b25TdGF0dXMgPT09IDEpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1hY3Rpb24gYnRuLWFjdGlvbi1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiYWN0aW9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbHMuZWRpdFwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImxhYmVscy5lZGl0XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW52b2tlUm93QWN0aW9uRWRpdChub2RlLCBjb2x1bW4pXCI+XG5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXBlbmNpbFwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBQcmludCBCdXR0b24gU3RhdHVzIC0tPlxuICAgICAgICBAaWYgKGNlbGxSZW5kZXJlclBhcmFtcz8ucHJpbnRCdXR0b25TdGF0dXMgPT09IDEpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1hY3Rpb24gYnRuLWFjdGlvbi1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiYWN0aW9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbHMucHJpbnRcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJsYWJlbHMucHJpbnRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpbnZva2VSb3dBY3Rpb25QcmludChub2RlLCBjb2x1bW4pXCI+XG5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXByaW50ZXJcIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gSGlzdG9yeSBCdXR0b24gU3RhdHVzIC0tPlxuICAgICAgICBAaWYgKGNlbGxSZW5kZXJlclBhcmFtcz8uaGlzdG9yeUJ1dHRvblN0YXR1cyA9PT0gMSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWFjdGlvbiBidG4tYWN0aW9uLXByaW1hcnlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJhY3Rpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbkRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVscy5oaXN0b3J5XCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwibGFiZWxzLmhpc3RvcnlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpbnZva2VSb3dBY3Rpb25IaXN0b3J5KG5vZGUsIGNvbHVtbilcIj5cblxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktY2xvY2staGlzdG9yeVwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBPcHRpb24gQnV0dG9uIFN0YXR1cyAtLT5cbiAgICAgICAgQGlmIChjZWxsUmVuZGVyZXJQYXJhbXM/Lm9wdGlvbkJ1dHRvblN0YXR1cyA9PT0gMSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWFjdGlvbiBidG4tYWN0aW9uLXByaW1hcnlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJhY3Rpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbkRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVscy5vcHRpb25cIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJsYWJlbHMub3B0aW9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW52b2tlUm93QWN0aW9uT3B0aW9uKG5vZGUsIGNvbHVtbilcIj5cblxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktdGhyZWUtZG90cy12ZXJ0aWNhbFwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBMYW5ndWFnZSBCdXR0b24gU3RhdHVzIC0tPlxuICAgICAgICBAaWYgKGNlbGxSZW5kZXJlclBhcmFtcz8ubGFuZ3VhZ2VCdXR0b25TdGF0dXMgPT09IDEpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1hY3Rpb24gYnRuLWFjdGlvbi1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiYWN0aW9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbHMubGFuZ3VhZ2VcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJsYWJlbHMubGFuZ3VhZ2VcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpbnZva2VSb3dBY3Rpb25MYW5ndWFnZShub2RlLCBjb2x1bW4pXCI+XG5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXRyYW5zbGF0ZVwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBDZWxsIE9wdGlvbiBCdXR0b24gU3RhdHVzIChDb250ZXh0IE1lbnUpIC0tPlxuICAgICAgICBAaWYgKGNlbGxSZW5kZXJlclBhcmFtcz8uY2VsbE9wdGlvbkJ1dHRvblN0YXR1cyA9PT0gMSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWFjdGlvbiBidG4tYWN0aW9uLXByaW1hcnkgYm9yZGVyLTAgdGV4dC1ib2R5XCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiYWN0aW9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbHMuY2VsbE9wdGlvblwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImxhYmVscy5jZWxsT3B0aW9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW52b2tlUm93QWN0aW9uQ2VsbE9wdGlvbihub2RlLCBjb2x1bW4pXCI+XG5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXRocmVlLWRvdHMtdmVydGljYWxcIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufSJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLWNvbHVtbi1kZWYtdHlwZXMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmUtZ3JpZC9zcmMvbGliL2NvcmUvbW9kZWxzL29uZS1jb2x1bW4tZGVmLXR5cGVzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgT25lR3JpZEFwaSB9IGZyb20gXCIuLi9pbnN0YW50cy9vbmUtZ3JpZC1hcGkuY2xhc3NcIjtcbmltcG9ydCB0eXBlIHsgT25lUm93Tm9kZSB9IGZyb20gXCIuLi9pbnN0YW50cy9vbmUtcm93LW5vZGUuY2xhc3NcIjtcbmltcG9ydCB0eXBlIHsgT25lVmFsaWRhdG9yRm4gfSBmcm9tIFwiLi9vbmUtdmFsaWRhdGlvbi5tb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBPbmVDZWxsT3B0aW9uTWVudSB9IGZyb20gXCIuL29uZS1ldmVudC10eXBlcy5tb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBPbmVDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tIFwiLi9vbmUtdHJlZS1kYXRhLm1vZGVsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25lVmFsdWVHZXR0ZXJQYXJhbXM8VCA9IGFueT4ge1xuICBkYXRhOiBUO1xuICByb3dJbmRleD86IG51bWJlcjtcbiAgLyoqIEBkZXByZWNhdGVkIE5ldmVyIHBvcHVsYXRlZC4gVXNlIHtAbGluayBub2RlfS4gKi9cbiAgcm93Tm9kZT86IE9uZVJvd05vZGU7XG4gIG5vZGU/OiBPbmVSb3dOb2RlLFxuICAvKiogQGRlcHJlY2F0ZWQgTmV2ZXIgcG9wdWxhdGVkIOKAlCB0aGUgY2VsbCBzZXJ2aWNlIGhhcyBubyBhcGkgcmVmZXJlbmNlLiAqL1xuICBhcGk/OiBPbmVHcmlkQXBpO1xuICBjb250ZXh0PzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uZUNlbGxTdGF0ZSB7XG4gIHR5cGU6ICdwbGFjZWhvbGRlcicgfCAndGV4dCcgfCAnaHRtbCcgfCAnbm9uZSc7XG4gIHZhbHVlOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25lQ2VsbFN0YXRlcyB7IFxuICBbZmllbGQ6IHN0cmluZ106IE9uZUNlbGxTdGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbmVDZWxsT3B0aW9ucyB7XG4gIFtmaWVsZDogc3RyaW5nXTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgT25lQ2VsbFN0YXR1cyA9IDAgfCAxO1xuXG5leHBvcnQgdHlwZSBPbmVDZWxsQnV0dG9uSWNvblR5cGUgPSAnYWRkJyB8ICdvcHRpb24nIHwgJ2xhbmd1YWdlJztcblxuZXhwb3J0IHR5cGUgT25lQ2VsbElucHV0VHlwZSA9ICd0ZXh0JyB8ICdudW1iZXInIHwgJ2VtYWlsJyB8ICdkYXRlJyB8ICd0aW1lJyB8J2RhdGV0aW1lJyB8ICdkYXRldGltZS1sb2NhbCcgfCAnc2VsZWN0JztcblxuLyoqXG4gKiBPbmUgY2hvaWNlIGluIGEgYHNlbGVjdGAgY2VsbCBlZGl0b3IuIGB2YWx1ZWAgaXMgY29tbWl0dGVkIGFzLWlzIOKAlCBpdCBrZWVwc1xuICogaXRzIHR5cGUsIHVubGlrZSBhbiBpbnB1dCBlZGl0b3IncyBzdHJpbmcg4oCUIGFuZCBgbGFiZWxgIGlzIHdoYXQgdGhlIG9wdGlvblxuICogc2hvd3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT25lQ2VsbFNlbGVjdE9wdGlvbiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBhbnk7XG59XG5cbi8qKlxuICogV2hhdCBhIHBlci1jZWxsIHByZXNlbnRhdGlvbiBjYWxsYmFjayBpcyBoYW5kZWQuXG4gKlxuICogYE9uZUNlbGxSZW5kZXJlclBhcmFtc2AgaGFzIGV2ZXJ5IGZpZWxkIG9wdGlvbmFsLCBiZWNhdXNlIG9uZSB0eXBlIHNlcnZlc1xuICogcmVuZGVyZXJzLCBhY3Rpb24gYnV0dG9ucyBhbmQgaGVhZGVycyBhbGlrZS4gRm9yIGBjZWxsQ2xhc3NgIGFuZCBgY2VsbFN0eWxlYFxuICogdGhlIGdyaWQgZ3VhcmFudGVlcyBhbGwgb2YgdGhlc2UsIHNvIHRoZXkgYXJlIHJlcXVpcmVkIGhlcmUg4oCUIG90aGVyd2lzZSBhXG4gKiBjb25zdW1lciB1bmRlciBgc3RyaWN0YCBoYXMgdG8gd3JpdGUgYHBhcmFtcz8uZGF0YT8ueGAgZm9yIGEgdmFsdWUgdGhhdCBpc1xuICogYWx3YXlzIHByZXNlbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT25lQ2VsbFByZXNlbnRhdGlvblBhcmFtczxUID0gYW55PiBleHRlbmRzIE9uZUNlbGxSZW5kZXJlclBhcmFtczxUPiB7XG4gIHZhbHVlOiBhbnk7XG4gIGRhdGE6IFQ7XG4gIG5vZGU6IE9uZVJvd05vZGU8VD47XG4gIHJvd0luZGV4OiBudW1iZXI7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIGNvbHVtbkRlZjogT25lQ29sdW1uRGVmPFQ+O1xufVxuXG4vKipcbiAqIFdoYXQgYSBoZWFkZXIgcHJlc2VudGF0aW9uIGNhbGxiYWNrIGlzIGhhbmRlZC5cbiAqXG4gKiBEZWxpYmVyYXRlbHkgbm90IHRoZSBjZWxsIHBhcmFtczogYSBoZWFkZXIgaXMgb25lIGNlbGwgZm9yIHRoZSB3aG9sZSBjb2x1bW4sXG4gKiByZXNvbHZlZCBvbmNlIHdoZW4gdGhlIGNvbHVtbnMgYXJlIHJlZ2lzdGVyZWQuIFRoZXJlIGlzIG5vIHJvdywgc28gb2ZmZXJpbmdcbiAqIGBkYXRhYCBvciBgbm9kZWAgaGVyZSB3b3VsZCBiZSBvZmZlcmluZyBzb21ldGhpbmcgdGhhdCBpcyBhbHdheXMgdW5kZWZpbmVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9uZUhlYWRlclByZXNlbnRhdGlvblBhcmFtczxUID0gYW55PiB7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIGNvbHVtbkRlZjogT25lQ29sdW1uRGVmPFQ+O1xuICBjb250ZXh0PzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uZUNlbGxSZW5kZXJlclBhcmFtczxUID0gYW55PiB7XG5cbiAgLy8gQ29tbW9uIFBhcmFtc1xuICB2YWx1ZT86IGFueTtcbiAgcm93SW5kZXg/OiBudW1iZXI7XG4gIGRhdGE/OiBUO1xuICBmaWVsZD86IHN0cmluZztcbiAgY29sdW1uRGVmPzogT25lQ29sdW1uRGVmPFQ+O1xuICBhcGk/OiBPbmVHcmlkQXBpPFQ+O1xuICBub2RlPzogT25lUm93Tm9kZTxUPjtcbiAgY29udGV4dD86IGFueTtcbiAgbG9jYXRpb25TdGF0dXM/OiBudW1iZXI7XG4gIHN0YXR1cz86IG51bWJlcjtcbiAgZ3JpZFN0YXR1cz86IG51bWJlcjtcbiAgXG4gIC8vIElucHV0IHByb3BlcnRpZXNcbiAgaW5wdXRUeXBlPzogT25lQ2VsbElucHV0VHlwZTtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGNob2ljZXMgZm9yIGEgYHNlbGVjdGAgZWRpdG9yIChgaW5wdXRUeXBlOiAnc2VsZWN0J2ApLiBHaXZlIHRoZVxuICAgKiBjdXJyZW50IGNlbGwgdmFsdWUgYSBtYXRjaGluZyBvcHRpb246IHRoZSBicm93c2VyIHByZXNlbGVjdHMgdGhlIGZpcnN0XG4gICAqIG9wdGlvbiBvdGhlcndpc2UsIGFuZCBjbG9zaW5nIHRoZSBlZGl0b3IgdGhlbiBjb21taXRzIGl0LlxuICAgKi9cbiAgc2VsZWN0T3B0aW9ucz86IE9uZUNlbGxTZWxlY3RPcHRpb25bXTtcblxuICAvLyBDZWxsIGFjdGlvbiBidXR0b24gcHJvcGVydGllc1xuICBkZXRhaWxBY3RpdmVCdXR0b25TdGF0dXM/OiBPbmVDZWxsU3RhdHVzO1xuICBkZXRhaWxBY3RpdmVFeGNsdWRlTGV2ZWxzPzogbnVtYmVyW107XG4gIGdvdG9EZXRhaWxCdXR0b25TdGF0dXM/OiBPbmVDZWxsU3RhdHVzO1xuICBnb3RvRGV0YWlsRXhjbHVkZUxldmVscz86IG51bWJlcltdO1xuICBhZGROZXdCdXR0b25TdGF0dXM/OiBPbmVDZWxsU3RhdHVzO1xuICBhZGROZXdFeGNsdWRlTGV2ZWxzPzogbnVtYmVyW107XG4gIHZpZXdCdXR0b25TdGF0dXM/OiBPbmVDZWxsU3RhdHVzO1xuICBsb2NhdGlvbkJ1dHRvblN0YXR1cz86IE9uZUNlbGxTdGF0dXM7XG4gIGRvY3VtZW50QnV0dG9uU3RhdHVzPzogT25lQ2VsbFN0YXR1cztcbiAgY29weUJ1dHRvblN0YXR1cz86IE9uZUNlbGxTdGF0dXM7XG4gIGRlbGV0ZUJ1dHRvblN0YXR1cz86IE9uZUNlbGxTdGF0dXM7XG4gIGdvdG9MaXN0QnV0dG9uU3RhdHVzPzogT25lQ2VsbFN0YXR1cztcbiAgb3B0aW9uQnV0dG9uU3RhdHVzPzogT25lQ2VsbFN0YXR1cztcbiAgbGFuZ3VhZ2VCdXR0b25TdGF0dXM/OiBPbmVDZWxsU3RhdHVzO1xuICBlZGl0QnV0dG9uU3RhdHVzPzogT25lQ2VsbFN0YXR1cztcbiAgcHJpbnRCdXR0b25TdGF0dXM/OiBPbmVDZWxsU3RhdHVzO1xuICBoaXN0b3J5QnV0dG9uU3RhdHVzPzogT25lQ2VsbFN0YXR1cztcbiAgY2VsbE9wdGlvbkJ1dHRvblN0YXR1cz86IE9uZUNlbGxTdGF0dXM7XG5cbiAgLy8gSGVscGVyIFByb3BlcnRpZXNcbiAgdmFsaWRhdGVTZWxlY3RlZFJvd09ubHk/OiBib29sZWFuO1xuICBmb3JjZU1hcmtlZEFzQ2VsbFZhbHVlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBIZWFkZXIgR3JvdXAgQ29sdW1uIERlZlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9uZUdyb3VwQ29sdW1uRGVmIHtcbiAgaWQ6ICAgICAgICAgICAgc3RyaW5nO1xuICBoZWFkZXJOYW1lOiAgICBzdHJpbmc7XG4gIGNvbFNwYW4/OiAgICAgIG51bWJlcjtcbiAgd2lkdGg/OiAgICAgICAgbnVtYmVyO1xuICBncm91cFN0eWxlPzogICAgICAgICAgICAgICAgIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCAoKHJvdzogYW55KSA9PiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTtcbiAgZ3JvdXBDbGFzcz86ICAgICAgICAgICAgICAgICBzdHJpbmcgfCBzdHJpbmdbXSB8ICgocm93OiBhbnkpID0+IHN0cmluZyB8IHN0cmluZ1tdKTtcbiAgX3Jlc29sdmVkR3JvdXBDbGFzcz86ICAgICAgICBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgX3Jlc29sdmVkR3JvdXBTdHlsZT86ICAgICAgICBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG4vKipcbiAqIENlbGwgQ29sdW1uIERlZlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9uZUNvbHVtbkRlZjxUID0gYW55PiB7XG4gICAgaWQ/OiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBncm91cElkPzogICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGZpZWxkPzogICAgICAgICAgICAgICAgICAgICBrZXlvZiBUICYgc3RyaW5nO1xuICAgIG1hc3Rlckdyb3VwRmllbGQ/OiAgICAgICAgICBib29sZWFuOyAvLyAoTWFzdGVyIERldGFpbClcbiAgICBhdXRvR3JvdXBGaWVsZD86ICAgICAgICAgICAgYm9vbGVhbjsgLy8gKFRyZWUgRGF0YSlcbiAgICBlZGl0YWJsZUxldmVscz86ICAgICAgICAgICAgbnVtYmVyW107IC8vIChUcmVlIERhdGEpXG4gICAgcm93QWN0aW9uTGV2ZWxzPzogICAgICAgICAgIG51bWJlcltdOyAvLyAoVHJlZSBEYXRhKVxuICAgIGhlYWRlck5hbWU/OiAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgY2hlY2tib3hTZWxlY3Rpb24/OiAgICAgICAgIGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogUHV0IGEgcm93IGRyYWcgaGFuZGxlIGluIHRoaXMgY29sdW1uJ3MgY2VsbHMuIE9uZSBjb2x1bW4gY2FycmllcyBpdC5cbiAgICAgKlxuICAgICAqIEEgaGFuZGxlIHJhdGhlciB0aGFuIHRoZSB3aG9sZSByb3c6IHRoZSBib2R5IGFscmVhZHkgY2xhaW1zIGBtb3VzZWRvd25gXG4gICAgICogb24gYSBjZWxsIHRvIHN0YXJ0IGEgcmFuZ2Ugc2VsZWN0aW9uLCBzbyBhIHJvdy13aWRlIGRyYWcgd291bGQgaGF2ZSB0b1xuICAgICAqIGZpZ2h0IGl0IGZvciBldmVyeSBwcmVzcy5cbiAgICAgKi9cbiAgICByb3dEcmFnPzogICAgICAgICAgICAgICAgICAgYm9vbGVhbiB8ICgocGFyYW1zOiBPbmVDZWxsUHJlc2VudGF0aW9uUGFyYW1zPFQ+KSA9PiBib29sZWFuKTtcbiAgICBoZWFkZXJDaGVja2JveFNlbGVjdGlvbj86ICAgYm9vbGVhbjtcbiAgICBmbGV4PzogICAgICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIHdpZHRoPzogICAgICAgICAgICAgICAgICAgICBudW1iZXI7XG4gICAgbWluV2lkdGg/OiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICBtYXhXaWR0aD86ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIHZhbGlkYXRpb25SdWxlcz86ICAgICAgICAgICBPbmVWYWxpZGF0b3JGbltdOyAvLyBGb3IgdmFsaWRhdGlvbiB3aXRoIHN1Ym1pdHRlZCBwcm9wZXJ0eVxuICAgIC8vIFByZXNlbnRhdGlvbi4gU3RhdGljIHZhbHVlIG9yIGEgY2FsbGJhY2suIENlbGwgaG9va3MgcnVuIHBlciByb3cgb24gZXZlcnlcbiAgICAvLyBjaGFuZ2UgZGV0ZWN0aW9uIHBhc3M7IGhlYWRlciBob29rcyBydW4gb25jZSBwZXIgY29sdW1uLCB3aGVuIHRoZSBjb2x1bW5zXG4gICAgLy8gYXJlIHJlZ2lzdGVyZWQg4oCUIHNvIHRoZSB0d28gZ2V0IGRpZmZlcmVudCBwYXJhbXMuXG4gICAgaGVhZGVyU3R5bGU/OiAgICAgICAgICAgICAgIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCAoKHBhcmFtczogT25lSGVhZGVyUHJlc2VudGF0aW9uUGFyYW1zPFQ+KSA9PiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTtcbiAgICBjZWxsU3R5bGU/OiAgICAgICAgICAgICAgICAgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB8ICgocGFyYW1zOiBPbmVDZWxsUHJlc2VudGF0aW9uUGFyYW1zPFQ+KSA9PiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTtcbiAgICBoZWFkZXJDbGFzcz86ICAgICAgICAgICAgICAgc3RyaW5nIHwgc3RyaW5nW10gfCAoKHBhcmFtczogT25lSGVhZGVyUHJlc2VudGF0aW9uUGFyYW1zPFQ+KSA9PiBzdHJpbmcgfCBzdHJpbmdbXSk7XG4gICAgY2VsbENsYXNzPzogICAgICAgICAgICAgICAgIHN0cmluZyB8IHN0cmluZ1tdIHwgKChwYXJhbXM6IE9uZUNlbGxQcmVzZW50YXRpb25QYXJhbXM8VD4pID0+IHN0cmluZyB8IHN0cmluZ1tdKTtcbiAgICAvLyBIZWFkZXIgcHJlZGljYXRlcyByZXNvbHZlZCB0byBib29sZWFucywgb25jZSBwZXIgY29sdW1uLiBJbnRlcm5hbC5cbiAgICBfcmVzb2x2ZWRTb3J0YWJsZT86ICAgICAgICAgYm9vbGVhbjtcbiAgICBfcmVzb2x2ZWRSZXNpemFibGU/OiAgICAgICAgYm9vbGVhbjtcbiAgICBfcmVzb2x2ZWREcmFnYWJsZT86ICAgICAgICAgYm9vbGVhbjtcbiAgICBfcmVzb2x2ZWRGaWx0ZXJhYmxlPzogICAgICAgYm9vbGVhbjtcbiAgICBfcmVzb2x2ZWRTdXBwcmVzc0hlYWRlck1lbnVCdXR0b24/OiBib29sZWFuO1xuICAgIF9yZXNvbHZlZEhlYWRlckNsYXNzPzogICAgICBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICBfcmVzb2x2ZWRDZWxsQ2xhc3M/OiAgICAgICAgc3RyaW5nIHwgc3RyaW5nW107XG4gICAgX3Jlc29sdmVkSGVhZGVyU3R5bGU/OiAgICAgIFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgX3Jlc29sdmVkQ2VsbFN0eWxlPzogICAgICAgIFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgY2VsbFJlbmRlcmVyUGFyYW1zPzogICAgICAgIE9uZUNlbGxSZW5kZXJlclBhcmFtczxUPjtcbiAgICBjZWxsT3B0aW9uTWVudT86ICAgICAgICAgICAgT25lQ2VsbE9wdGlvbk1lbnVbXTtcbiAgICBhbGlnbkNvbnRlbnQ/OiAgICAgICAgICAgICAgJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuICAgIC8qKlxuICAgICAqIEZyZWV6ZSB0aGlzIGNvbHVtbiBhZ2FpbnN0IHRoZSBsZWZ0IG9yIHJpZ2h0IGVkZ2Ugd2hpbGUgdGhlIHJlc3Qgc2Nyb2xsLlxuICAgICAqXG4gICAgICogUGlubmVkIGNvbHVtbnMgYXJlIG1vdmVkIHRvIHRoZWlyIGVkZ2UgaW4gZGlzcGxheSBvcmRlciDigJQgbGVmdC1waW5uZWQgdG9cbiAgICAgKiB0aGUgZnJvbnQsIHJpZ2h0LXBpbm5lZCB0byB0aGUgYmFjayDigJQgZWFjaCBrZWVwaW5nIGl0cyBkZWNsYXJlZCBvcmRlclxuICAgICAqIHdpdGhpbiBpdHMgb3duIGdyb3VwLiBVbnBpbm5lZCBjb2x1bW5zIGFyZSB1bnRvdWNoZWQsIHNvIGEgZ3JpZCB3aXRoXG4gICAgICogbm90aGluZyBwaW5uZWQgcmVuZGVycyBleGFjdGx5IGFzIGJlZm9yZS5cbiAgICAgKi9cbiAgICBwaW5uZWQ/OiAgICAgICAgICAgICAgICAgICAgJ2xlZnQnIHwgJ3JpZ2h0JztcbiAgICAvKipcbiAgICAgKiBHcm91cCB0aGUgcm93cyBieSB0aGlzIGNvbHVtbidzIHZhbHVlLiBTZXZlcmFsIGByb3dHcm91cGAgY29sdW1ucyBuZXN0LFxuICAgICAqIGluIGNvbHVtbi1kZWZpbml0aW9uIG9yZGVyLiBUaGUgZ3JpZCB0aGVuIHJ1bnMgaXRzIHRyZWUgbWFjaGluZXJ5IG92ZXJcbiAgICAgKiBzeW50aGV0aWMgZ3JvdXAgcm93czogZXhwYW5kL2NvbGxhcHNlLCB0aGUgYXV0byBncm91cCBjb2x1bW4sXG4gICAgICogYGdyb3VwRGVmYXVsdEV4cGFuZGVkYCDigJQgYWxsIG9mIGl0IGFwcGxpZXMuIEdyb3VwZWQtYnkgY29sdW1ucyBhcmVcbiAgICAgKiBoaWRkZW4gYXV0b21hdGljYWxseSAodGhlaXIgdmFsdWUgc2hvd3Mgb24gdGhlIGdyb3VwIHJvdyk7IHVuLWhpZGUgdmlhXG4gICAgICogYGFwaS5zZXRDb2x1bW5WaXNpYmxlYCBpZiB5b3Ugd2FudCBib3RoLiBDbGllbnQtc2lkZSByb3dzIG9ubHksIGFuZFxuICAgICAqIGV4Y2x1c2l2ZSB3aXRoIGB0cmVlRGF0YWAgYW5kIGBtYXN0ZXJEZXRhaWxgLlxuICAgICAqXG4gICAgICogVGhpcyBpcyB0aGUgKmluaXRpYWwqIGdyb3VwaW5nLCByZWFkIHdoZW4gdGhlIGdyaWQgaW5pdGlhbGlzZXM7IG5lZWRzIGFcbiAgICAgKiBgZmllbGRgIHRvIGdyb3VwIG9uLiBgYXBpLnNldFJvd0dyb3VwaW5nKGZpZWxkcylgIGNoYW5nZXMgaXQgYWZ0ZXJ3YXJkc1xuICAgICAqIOKAlCBhbnkgY29sdW1ucywgaW4gYW55IG5lc3Rpbmcgb3JkZXIsIGBbXWAgdG8gdW5ncm91cC5cbiAgICAgKi9cbiAgICByb3dHcm91cD86ICAgICAgICAgICAgICAgICAgYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBBZ2dyZWdhdGUgdGhpcyBjb2x1bW4ncyBsZWFmIHZhbHVlcyBvbnRvIGV2ZXJ5IGdyb3VwIHJvdyB3aGVuIHJvd1xuICAgICAqIGdyb3VwaW5nIGlzIGFjdGl2ZTogYSBidWlsdC1pbiBuYW1lLCBvciBhIGZ1bmN0aW9uIG92ZXIgdGhlIGxlYXZlcy5cbiAgICAgKiBUaGUgcmVzdWx0IGxhbmRzIGluIHRoZSBncm91cCByb3cncyBvd24gYGRhdGFbZmllbGRdYCwgc28gZm9ybWF0dGVyc1xuICAgICAqIGFuZCByZW5kZXJlcnMgYXBwbHkgdG8gaXQgbGlrZSBhbnkgY2VsbCB2YWx1ZS5cbiAgICAgKi9cbiAgICBhZ2dGdW5jPzogICAgICAgICAgICAgICAgICAgT25lQWdnRnVuYzxUPjtcbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhpcyBjb2x1bW4gZnJvbSB0aGUgcmVuZGVyZWQgZ3JpZCB3aXRob3V0IGZvcmdldHRpbmcgaXQuXG4gICAgICpcbiAgICAgKiBBIGhpZGRlbiBjb2x1bW4ga2VlcHMgaXRzIHBsYWNlIGluIHRoZSBjb2x1bW4gb3JkZXIsIGl0cyB3aWR0aCBhbmQgaXRzXG4gICAgICogcGluLCBzbyBzaG93aW5nIGl0IGFnYWluIHJlc3RvcmVzIGl0IGV4YWN0bHkuIFRvZ2dsZSBhdCBydW50aW1lIHdpdGhcbiAgICAgKiBgYXBpLnNldENvbHVtblZpc2libGUoaWQsIHZpc2libGUpYC4gUGxhaW4gc3RhdGUsIG5vdCBhIHByZWRpY2F0ZSDigJRcbiAgICAgKiB2aXNpYmlsaXR5IGlzIHNvbWV0aGluZyBhIGhvc3QgY2hhbmdlcywgbm90IHNvbWV0aGluZyBhIHJvdyBkZWNpZGVzLlxuICAgICAqL1xuICAgIGhpZGU/OiAgICAgICAgICAgICAgICAgICAgICBib29sZWFuO1xuICAgIC8qKiBEaXN0YW5jZSBpbiBweCBmcm9tIHRoZSBwaW5uZWQgZWRnZS4gQ29tcHV0ZWQgYnkgdGhlIGdyaWQ7IGRvIG5vdCBzZXQuICovXG4gICAgX3Bpbm5lZE9mZnNldD86ICAgICAgICAgICAgIG51bWJlciB8IG51bGw7XG4gICAgLyoqIFRydWUgb24gdGhlIGlubmVybW9zdCBwaW5uZWQgY29sdW1uIG9mIGVhY2ggc2lkZSwgd2hpY2ggY2FycmllcyB0aGUgZGl2aWRlci4gKi9cbiAgICBfcGlubmVkRWRnZT86ICAgICAgICAgICAgICAgYm9vbGVhbjtcbiAgICAvLyBQcmVkaWNhdGVzIGNvbWUgaW4gdHdvIHNjb3BlcywgYW5kIHRoZSBwYXJhbXMgc2F5IHdoaWNoLlxuICAgIC8vXG4gICAgLy8gSGVhZGVyLXNjb3BlZCBvbmVzIGRlY2lkZSBzb21ldGhpbmcgYWJvdXQgdGhlIGNvbHVtbiBhbmQgYXJlIHJlc29sdmVkXG4gICAgLy8gb25jZSwgd2hlbiB0aGUgY29sdW1ucyBhcmUgcmVnaXN0ZXJlZCDigJQgdGhlcmUgaXMgbm8gcm93LCBzbyB0aGV5IGdldFxuICAgIC8vIGBjb2x1bW5EZWZgLCBgZmllbGRgIGFuZCBgY29udGV4dGAuXG4gICAgc29ydGFibGU/OiAgICAgICAgICAgICAgICAgIGJvb2xlYW4gfCAoKHBhcmFtczogT25lSGVhZGVyUHJlc2VudGF0aW9uUGFyYW1zPFQ+KSA9PiBib29sZWFuKTtcbiAgICByZXNpemFibGU/OiAgICAgICAgICAgICAgICAgYm9vbGVhbiB8ICgocGFyYW1zOiBPbmVIZWFkZXJQcmVzZW50YXRpb25QYXJhbXM8VD4pID0+IGJvb2xlYW4pO1xuICAgIGRyYWdhYmxlPzogICAgICAgICAgICAgICAgICBib29sZWFuIHwgKChwYXJhbXM6IE9uZUhlYWRlclByZXNlbnRhdGlvblBhcmFtczxUPikgPT4gYm9vbGVhbik7XG4gICAgc3VwcHJlc3NIZWFkZXJNZW51QnV0dG9uPzogIGJvb2xlYW4gfCAoKHBhcmFtczogT25lSGVhZGVyUHJlc2VudGF0aW9uUGFyYW1zPFQ+KSA9PiBib29sZWFuKTtcblxuICAgIC8vIENlbGwtc2NvcGVkIG9uZXMgZGVjaWRlIHNvbWV0aGluZyBhYm91dCBvbmUgY2VsbCwgYW5kIGdldCB0aGUgZnVsbCBjZWxsXG4gICAgLy8gcGFyYW1zIOKAlCB0aGUgc2FtZSBzZXQgYGNlbGxDbGFzc2AsIGBjZWxsUmVuZGVyZXJgIGFuZCBgdmFsdWVGb3JtYXR0ZXJgXG4gICAgLy8gcmVjZWl2ZSwgc28gdGhlcmUgaXMgbm90aGluZyB0byByZW1lbWJlciBwZXIgaG9vay5cbiAgICBlZGl0YWJsZT86ICAgICAgICAgICAgICAgICAgYm9vbGVhbiB8ICgocGFyYW1zOiBPbmVDZWxsUHJlc2VudGF0aW9uUGFyYW1zPFQ+KSA9PiBib29sZWFuKTtcbiAgICB1cGRhdGFibGU/OiAgICAgICAgICAgICAgICAgYm9vbGVhbiB8ICgocGFyYW1zOiBPbmVDZWxsUHJlc2VudGF0aW9uUGFyYW1zPFQ+KSA9PiBib29sZWFuKTtcbiAgICBkaXNhYmxlPzogICAgICAgICAgICAgICAgICAgYm9vbGVhbiB8ICgocGFyYW1zOiBPbmVDZWxsUHJlc2VudGF0aW9uUGFyYW1zPFQ+KSA9PiBib29sZWFuKTtcbiAgICBoaWRlQWN0aW9uQnV0dG9uPzogICAgICAgICAgYm9vbGVhbiB8ICgocGFyYW1zOiBPbmVDZWxsUHJlc2VudGF0aW9uUGFyYW1zPFQ+KSA9PiBib29sZWFuKTtcblxuICAgIC8qKlxuICAgICAqIEdpdmUgdGhpcyBjb2x1bW4gYW4gaW5wdXQgaW4gdGhlIGdyaWQncyBmaWx0ZXIgcm93IChgW2ZpbHRlclJvd11gKS5cbiAgICAgKlxuICAgICAqIEhlYWRlci1zY29wZWQgbGlrZSBgc29ydGFibGVgOiByZXNvbHZlZCBvbmNlIHBlciBjb2x1bW4sIHdoZW4gdGhlXG4gICAgICogY29sdW1ucyBhcmUgcmVnaXN0ZXJlZCwgYWdhaW5zdCBjb2x1bW5EZWYsIGZpZWxkIGFuZCBjb250ZXh0IOKAlCB0aGVyZSBpc1xuICAgICAqIG5vIHJvdy4gV2l0aG91dCB0aGUgZmlsdGVyIHJvdyB0aGlzIGNoYW5nZXMgbm90aGluZzsgZmlsdGVyaW5nIHN0YXlzXG4gICAgICogYXZhaWxhYmxlIHRocm91Z2ggYGFwaS5zZXRGaWx0ZXJNb2RlbGAgZWl0aGVyIHdheS5cbiAgICAgKi9cbiAgICBmaWx0ZXJhYmxlPzogICAgICAgICAgICAgICAgYm9vbGVhbiB8ICgocGFyYW1zOiBPbmVDZWxsUHJlc2VudGF0aW9uUGFyYW1zPFQ+KSA9PiBib29sZWFuKTtcbiAgICBjZWxsUmVuZGVyZXJDb21wb25lbnQ/OiAgICAgVHlwZTxPbmVDZWxsUmVuZGVyZXJDb21wb25lbnQ+OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQW5ndWxhciBjb21wb25lbnRcbiAgICAvLyBSZWNlaXZlcyB0aGUgZnVsbCBjZWxsIHBhcmFtcywgd2l0aCB0aGUgY29sdW1uJ3MgYGNlbGxSZW5kZXJlclBhcmFtc2BcbiAgICAvLyBtZXJnZWQgaW4g4oCUIGhlbmNlIHRoZSBwcmVzZW50YXRpb24gdHlwZSByYXRoZXIgdGhhbiB0aGUgYWxsLW9wdGlvbmFsIG9uZS5cbiAgICBjZWxsUmVuZGVyZXI/OiAgICAgICAgICAgICAgKHBhcmFtczogT25lQ2VsbFByZXNlbnRhdGlvblBhcmFtczxUPikgPT4gc3RyaW5nOyAgIC8vIEhUTUwgc3RyaW5nXG4gICAgLyoqXG4gICAgICogRGVyaXZlIHRoaXMgY2VsbCdzIHZhbHVlIGZyb20gdGhlIHdob2xlIHJvdy5cbiAgICAgKlxuICAgICAqIFRoZSB2YWx1ZSwgbm90IHRoZSBkaXNwbGF5IHRleHQg4oCUIHNvcnRpbmcgYW5kIGZpbHRlcmluZyByZWFkIHRoZSByYXcgcm93XG4gICAgICogZGF0YSwgc28gZm9ybWF0dGluZyBkb25lIGhlcmUgaXMgaW52aXNpYmxlIHRvIGJvdGguIFB1dCBwcmVzZW50YXRpb24gaW5cbiAgICAgKiBgdmFsdWVGb3JtYXR0ZXJgIGluc3RlYWQgYW5kIHRoaXMgc3RheXMgc29ydGFibGUuXG4gICAgICovXG4gICAgdmFsdWVHZXR0ZXI/OiAgICAgICAgICAgICAgIChwYXJhbXM6IE9uZVZhbHVlR2V0dGVyUGFyYW1zPFQ+KSA9PiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBGb3JtYXQgdGhlIHZhbHVlIGZvciBkaXNwbGF5LiBSdW5zIGFmdGVyIGB2YWx1ZUdldHRlcmAsIG9uIHRleHQgY2VsbHNcbiAgICAgKiBvbmx5IOKAlCBhbiBlbXB0eSBjZWxsIGZhbGxzIHRvIGBjZWxsUmVuZGVyZXJQYXJhbXMucGxhY2Vob2xkZXJgIGluc3RlYWQuXG4gICAgICovXG4gICAgdmFsdWVGb3JtYXR0ZXI/OiAgICAgICAgICAgIChwYXJhbXM6IE9uZUNlbGxQcmVzZW50YXRpb25QYXJhbXM8VD4pID0+IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIE5vdCBpbXBsZW1lbnRlZCDigJQgbm90aGluZyBpbiB0aGUgZ3JpZCBjYWxscyB0aGlzLCBhbmQgdGhlXG4gICAgICogc2lnbmF0dXJlIGNvdWxkIG5vdCB3b3JrIGlmIGl0IGRpZDogaXQgcmVjZWl2ZXMgbmVpdGhlciB0aGUgbm9kZSBub3IgdGhlXG4gICAgICogZmllbGQsIHNvIGl0IGNhbm5vdCB0ZWxsIHdoaWNoIGNlbGwgaXQgaXMgbWVhbnQgdG8gd3JpdGUuIENvbW1pdCBhbiBlZGl0XG4gICAgICogdGhyb3VnaCBgbm9kZS5zZXREYXRhVmFsdWUoZmllbGQsIHZhbHVlKWAgYW5kIHJlZnJlc2ggd2l0aFxuICAgICAqIGBhcGkudXBkYXRlQ2VsbFN0YXRlcyhub2RlKWAuXG4gICAgICovXG4gICAgdmFsdWVTZXR0ZXI/OiAgICAgICAgICAgICAgICh2YWx1ZTogYW55LCByb3dJbmRleDogbnVtYmVyKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBPbmVDZWxsVmFsaWRhdGlvblR5cGUgPSAnZGlzYWJsZWQnfCAnaW50ZWdlcicgfCAnbnVtYmVyJyB8ICdjb2RlJyB8ICd0aXRsZScgfCAncGhvbmUnIHwgJ2VtYWlsJyB8ICdkZXNjcmlwdGlvbicgfCAncmVnZXgnIHwgJ25vbmUnO1xuXG4vKiogVGhlIGJ1aWx0LWluIGFnZ3JlZ2F0aW9uIGZ1bmN0aW9ucyBmb3Igcm93IGdyb3VwaW5nLiAqL1xuZXhwb3J0IHR5cGUgT25lQWdnRnVuY05hbWUgPSAnc3VtJyB8ICdtaW4nIHwgJ21heCcgfCAnYXZnJyB8ICdjb3VudCcgfCAnZmlyc3QnIHwgJ2xhc3QnO1xuXG4vKiogV2hhdCBhIGN1c3RvbSBhZ2dyZWdhdGlvbiBmdW5jdGlvbiByZWNlaXZlczogb25lIGdyb3VwJ3MgbGVhdmVzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbmVBZ2dGdW5jUGFyYW1zPFQgPSBhbnk+IHtcbiAgLyoqIFRoZSBsZWFmIHZhbHVlcyBvZiB0aGlzIGNvbHVtbiwgbnVsbHMgYW5kIHVuZGVmaW5lZHMgYWxyZWFkeSByZW1vdmVkLiAqL1xuICB2YWx1ZXM6IGFueVtdO1xuICAvKiogVGhlIGxlYWYgcm93cyB0aGVtc2VsdmVzLCBmb3IgYWdncmVnYXRlcyB0aGF0IG5lZWQgbW9yZSB0aGFuIG9uZSBmaWVsZC4gKi9cbiAgcm93czogVFtdO1xuICBmaWVsZDogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBPbmVBZ2dGdW5jPFQgPSBhbnk+ID0gT25lQWdnRnVuY05hbWUgfCAoKHBhcmFtczogT25lQWdnRnVuY1BhcmFtczxUPikgPT4gYW55KTtcblxuLyoqXG4gKiBPbmUgY29sdW1uJ3MgcGVyc2lzdGFibGUgbGF5b3V0IHN0YXRlLlxuICpcbiAqIGBhcGkuZ2V0Q29sdW1uU3RhdGVTbmFwc2hvdCgpYCByZXR1cm5zIG9uZSBlbnRyeSBwZXIgY29sdW1uIOKAlCBoaWRkZW4gb25lc1xuICogaW5jbHVkZWQg4oCUIGluIGRpc3BsYXkgb3JkZXI7IGBhcGkuYXBwbHlDb2x1bW5TdGF0ZShlbnRyaWVzKWAgcmVzdG9yZXMgdGhlbS5cbiAqIFRoZSBzbmFwc2hvdCBpcyBwbGFpbiBKU09OLXNhZmUgZGF0YSwgc28gaXQgY2FuIGJlIHN0b3JlZCBhcy1pcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbmVDb2x1bW5TdGF0ZUVudHJ5IHtcbiAgaWQ6IHN0cmluZztcbiAgLyoqIE9taXR0ZWQgd2hlbiB0aGUgY29sdW1uIGhhcyBubyBleHBsaWNpdCB3aWR0aC4gKi9cbiAgd2lkdGg/OiBudW1iZXI7XG4gIC8qKiBgbnVsbGAgbWVhbnMgdW5waW5uZWQuIE9taXR0aW5nIHRoZSBwcm9wZXJ0eSBrZWVwcyB0aGUgY3VycmVudCBwaW4uICovXG4gIHBpbm5lZD86ICdsZWZ0JyB8ICdyaWdodCcgfCBudWxsO1xuICBoaWRlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZWxsU2VsZWN0aW9uIHtcbiAgcm93SWQ6IHN0cmluZztcbiAgZmllbGQ6IHN0cmluZztcbn0iXX0=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLWNvbHVtbi1kZWYtdHlwZXMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmUtZ3JpZC9zcmMvbGliL2NvcmUvbW9kZWxzL29uZS1jb2x1bW4tZGVmLXR5cGVzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgT25lR3JpZEFwaSB9IGZyb20gXCIuLi9pbnN0YW50cy9vbmUtZ3JpZC1hcGkuY2xhc3NcIjtcbmltcG9ydCB0eXBlIHsgT25lUm93Tm9kZSB9IGZyb20gXCIuLi9pbnN0YW50cy9vbmUtcm93LW5vZGUuY2xhc3NcIjtcbmltcG9ydCB0eXBlIHsgT25lVmFsaWRhdG9yRm4gfSBmcm9tIFwiLi9vbmUtdmFsaWRhdGlvbi5tb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBPbmVDZWxsT3B0aW9uTWVudSB9IGZyb20gXCIuL29uZS1ldmVudC10eXBlcy5tb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBPbmVDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tIFwiLi9vbmUtdHJlZS1kYXRhLm1vZGVsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25lVmFsdWVHZXR0ZXJQYXJhbXM8VCA9IGFueT4ge1xuICBkYXRhOiBUO1xuICByb3dJbmRleD86IG51bWJlcjtcbiAgLyoqIEBkZXByZWNhdGVkIE5ldmVyIHBvcHVsYXRlZC4gVXNlIHtAbGluayBub2RlfS4gKi9cbiAgcm93Tm9kZT86IE9uZVJvd05vZGU7XG4gIG5vZGU/OiBPbmVSb3dOb2RlLFxuICAvKiogQGRlcHJlY2F0ZWQgTmV2ZXIgcG9wdWxhdGVkIOKAlCB0aGUgY2VsbCBzZXJ2aWNlIGhhcyBubyBhcGkgcmVmZXJlbmNlLiAqL1xuICBhcGk/OiBPbmVHcmlkQXBpO1xuICBjb250ZXh0PzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uZUNlbGxTdGF0ZSB7XG4gIHR5cGU6ICdwbGFjZWhvbGRlcicgfCAndGV4dCcgfCAnaHRtbCcgfCAnbm9uZSc7XG4gIHZhbHVlOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25lQ2VsbFN0YXRlcyB7IFxuICBbZmllbGQ6IHN0cmluZ106IE9uZUNlbGxTdGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbmVDZWxsT3B0aW9ucyB7XG4gIFtmaWVsZDogc3RyaW5nXTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgT25lQ2VsbFN0YXR1cyA9IDAgfCAxO1xuXG5leHBvcnQgdHlwZSBPbmVDZWxsQnV0dG9uSWNvblR5cGUgPSAnYWRkJyB8ICdvcHRpb24nIHwgJ2xhbmd1YWdlJztcblxuZXhwb3J0IHR5cGUgT25lQ2VsbElucHV0VHlwZSA9ICd0ZXh0JyB8ICdudW1iZXInIHwgJ2VtYWlsJyB8ICdkYXRlJyB8ICd0aW1lJyB8J2RhdGV0aW1lJyB8ICdkYXRldGltZS1sb2NhbCcgfCAnc2VsZWN0JztcblxuLyoqXG4gKiBPbmUgY2hvaWNlIGluIGEgYHNlbGVjdGAgY2VsbCBlZGl0b3IuIGB2YWx1ZWAgaXMgY29tbWl0dGVkIGFzLWlzIOKAlCBpdCBrZWVwc1xuICogaXRzIHR5cGUsIHVubGlrZSBhbiBpbnB1dCBlZGl0b3IncyBzdHJpbmcg4oCUIGFuZCBgbGFiZWxgIGlzIHdoYXQgdGhlIG9wdGlvblxuICogc2hvd3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT25lQ2VsbFNlbGVjdE9wdGlvbiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBhbnk7XG59XG5cbi8qKlxuICogV2hhdCBhIHBlci1jZWxsIHByZXNlbnRhdGlvbiBjYWxsYmFjayBpcyBoYW5kZWQuXG4gKlxuICogYE9uZUNlbGxSZW5kZXJlclBhcmFtc2AgaGFzIGV2ZXJ5IGZpZWxkIG9wdGlvbmFsLCBiZWNhdXNlIG9uZSB0eXBlIHNlcnZlc1xuICogcmVuZGVyZXJzLCBhY3Rpb24gYnV0dG9ucyBhbmQgaGVhZGVycyBhbGlrZS4gRm9yIGBjZWxsQ2xhc3NgIGFuZCBgY2VsbFN0eWxlYFxuICogdGhlIGdyaWQgZ3VhcmFudGVlcyBhbGwgb2YgdGhlc2UsIHNvIHRoZXkgYXJlIHJlcXVpcmVkIGhlcmUg4oCUIG90aGVyd2lzZSBhXG4gKiBjb25zdW1lciB1bmRlciBgc3RyaWN0YCBoYXMgdG8gd3JpdGUgYHBhcmFtcz8uZGF0YT8ueGAgZm9yIGEgdmFsdWUgdGhhdCBpc1xuICogYWx3YXlzIHByZXNlbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT25lQ2VsbFByZXNlbnRhdGlvblBhcmFtczxUID0gYW55PiBleHRlbmRzIE9uZUNlbGxSZW5kZXJlclBhcmFtczxUPiB7XG4gIHZhbHVlOiBhbnk7XG4gIGRhdGE6IFQ7XG4gIG5vZGU6IE9uZVJvd05vZGU8VD47XG4gIHJvd0luZGV4OiBudW1iZXI7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIGNvbHVtbkRlZjogT25lQ29sdW1uRGVmPFQ+O1xufVxuXG4vKipcbiAqIFdoYXQgYSBoZWFkZXIgcHJlc2VudGF0aW9uIGNhbGxiYWNrIGlzIGhhbmRlZC5cbiAqXG4gKiBEZWxpYmVyYXRlbHkgbm90IHRoZSBjZWxsIHBhcmFtczogYSBoZWFkZXIgaXMgb25lIGNlbGwgZm9yIHRoZSB3aG9sZSBjb2x1bW4sXG4gKiByZXNvbHZlZCBvbmNlIHdoZW4gdGhlIGNvbHVtbnMgYXJlIHJlZ2lzdGVyZWQuIFRoZXJlIGlzIG5vIHJvdywgc28gb2ZmZXJpbmdcbiAqIGBkYXRhYCBvciBgbm9kZWAgaGVyZSB3b3VsZCBiZSBvZmZlcmluZyBzb21ldGhpbmcgdGhhdCBpcyBhbHdheXMgdW5kZWZpbmVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9uZUhlYWRlclByZXNlbnRhdGlvblBhcmFtczxUID0gYW55PiB7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIGNvbHVtbkRlZjogT25lQ29sdW1uRGVmPFQ+O1xuICBjb250ZXh0PzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uZUNlbGxSZW5kZXJlclBhcmFtczxUID0gYW55PiB7XG5cbiAgLy8gQ29tbW9uIFBhcmFtc1xuICB2YWx1ZT86IGFueTtcbiAgcm93SW5kZXg/OiBudW1iZXI7XG4gIGRhdGE/OiBUO1xuICBmaWVsZD86IHN0cmluZztcbiAgY29sdW1uRGVmPzogT25lQ29sdW1uRGVmPFQ+O1xuICBhcGk/OiBPbmVHcmlkQXBpPFQ+O1xuICBub2RlPzogT25lUm93Tm9kZTxUPjtcbiAgY29udGV4dD86IGFueTtcbiAgbG9jYXRpb25TdGF0dXM/OiBudW1iZXI7XG4gIHN0YXR1cz86IG51bWJlcjtcbiAgZ3JpZFN0YXR1cz86IG51bWJlcjtcbiAgXG4gIC8vIElucHV0IHByb3BlcnRpZXNcbiAgaW5wdXRUeXBlPzogT25lQ2VsbElucHV0VHlwZTtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGNob2ljZXMgZm9yIGEgYHNlbGVjdGAgZWRpdG9yIChgaW5wdXRUeXBlOiAnc2VsZWN0J2ApLiBHaXZlIHRoZVxuICAgKiBjdXJyZW50IGNlbGwgdmFsdWUgYSBtYXRjaGluZyBvcHRpb246IHRoZSBicm93c2VyIHByZXNlbGVjdHMgdGhlIGZpcnN0XG4gICAqIG9wdGlvbiBvdGhlcndpc2UsIGFuZCBjbG9zaW5nIHRoZSBlZGl0b3IgdGhlbiBjb21taXRzIGl0LlxuICAgKi9cbiAgc2VsZWN0T3B0aW9ucz86IE9uZUNlbGxTZWxlY3RPcHRpb25bXTtcblxuICAvLyBDZWxsIGFjdGlvbiBidXR0b24gcHJvcGVydGllc1xuICBkZXRhaWxBY3RpdmVCdXR0b25TdGF0dXM/OiBPbmVDZWxsU3RhdHVzO1xuICBkZXRhaWxBY3RpdmVFeGNsdWRlTGV2ZWxzPzogbnVtYmVyW107XG4gIGdvdG9EZXRhaWxCdXR0b25TdGF0dXM/OiBPbmVDZWxsU3RhdHVzO1xuICBnb3RvRGV0YWlsRXhjbHVkZUxldmVscz86IG51bWJlcltdO1xuICBhZGROZXdCdXR0b25TdGF0dXM/OiBPbmVDZWxsU3RhdHVzO1xuICBhZGROZXdFeGNsdWRlTGV2ZWxzPzogbnVtYmVyW107XG4gIHZpZXdCdXR0b25TdGF0dXM/OiBPbmVDZWxsU3RhdHVzO1xuICBsb2NhdGlvbkJ1dHRvblN0YXR1cz86IE9uZUNlbGxTdGF0dXM7XG4gIGRvY3VtZW50QnV0dG9uU3RhdHVzPzogT25lQ2VsbFN0YXR1cztcbiAgY29weUJ1dHRvblN0YXR1cz86IE9uZUNlbGxTdGF0dXM7XG4gIGRlbGV0ZUJ1dHRvblN0YXR1cz86IE9uZUNlbGxTdGF0dXM7XG4gIGdvdG9MaXN0QnV0dG9uU3RhdHVzPzogT25lQ2VsbFN0YXR1cztcbiAgZ290b0xpc3RFeGNsdWRlTGV2ZWxzPzogbnVtYmVyW107XG4gIG9wdGlvbkJ1dHRvblN0YXR1cz86IE9uZUNlbGxTdGF0dXM7XG4gIGxhbmd1YWdlQnV0dG9uU3RhdHVzPzogT25lQ2VsbFN0YXR1cztcbiAgZWRpdEJ1dHRvblN0YXR1cz86IE9uZUNlbGxTdGF0dXM7XG4gIHByaW50QnV0dG9uU3RhdHVzPzogT25lQ2VsbFN0YXR1cztcbiAgaGlzdG9yeUJ1dHRvblN0YXR1cz86IE9uZUNlbGxTdGF0dXM7XG4gIGNlbGxPcHRpb25CdXR0b25TdGF0dXM/OiBPbmVDZWxsU3RhdHVzO1xuXG4gIC8vIEhlbHBlciBQcm9wZXJ0aWVzXG4gIHZhbGlkYXRlU2VsZWN0ZWRSb3dPbmx5PzogYm9vbGVhbjtcbiAgZm9yY2VNYXJrZWRBc0NlbGxWYWx1ZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogSGVhZGVyIEdyb3VwIENvbHVtbiBEZWZcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbmVHcm91cENvbHVtbkRlZiB7XG4gIGlkOiAgICAgICAgICAgIHN0cmluZztcbiAgaGVhZGVyTmFtZTogICAgc3RyaW5nO1xuICBjb2xTcGFuPzogICAgICBudW1iZXI7XG4gIHdpZHRoPzogICAgICAgIG51bWJlcjtcbiAgZ3JvdXBTdHlsZT86ICAgICAgICAgICAgICAgICB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHwgKChyb3c6IGFueSkgPT4geyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk7XG4gIGdyb3VwQ2xhc3M/OiAgICAgICAgICAgICAgICAgc3RyaW5nIHwgc3RyaW5nW10gfCAoKHJvdzogYW55KSA9PiBzdHJpbmcgfCBzdHJpbmdbXSk7XG4gIF9yZXNvbHZlZEdyb3VwQ2xhc3M/OiAgICAgICAgc3RyaW5nIHwgc3RyaW5nW107XG4gIF9yZXNvbHZlZEdyb3VwU3R5bGU/OiAgICAgICAgUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuLyoqXG4gKiBDZWxsIENvbHVtbiBEZWZcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbmVDb2x1bW5EZWY8VCA9IGFueT4ge1xuICAgIGlkPzogICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgZ3JvdXBJZD86ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBmaWVsZD86ICAgICAgICAgICAgICAgICAgICAga2V5b2YgVCAmIHN0cmluZztcbiAgICBtYXN0ZXJHcm91cEZpZWxkPzogICAgICAgICAgYm9vbGVhbjsgLy8gKE1hc3RlciBEZXRhaWwpXG4gICAgYXV0b0dyb3VwRmllbGQ/OiAgICAgICAgICAgIGJvb2xlYW47IC8vIChUcmVlIERhdGEpXG4gICAgZWRpdGFibGVMZXZlbHM/OiAgICAgICAgICAgIG51bWJlcltdOyAvLyAoVHJlZSBEYXRhKVxuICAgIHJvd0FjdGlvbkxldmVscz86ICAgICAgICAgICBudW1iZXJbXTsgLy8gKFRyZWUgRGF0YSlcbiAgICBoZWFkZXJOYW1lPzogICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGNoZWNrYm94U2VsZWN0aW9uPzogICAgICAgICBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFB1dCBhIHJvdyBkcmFnIGhhbmRsZSBpbiB0aGlzIGNvbHVtbidzIGNlbGxzLiBPbmUgY29sdW1uIGNhcnJpZXMgaXQuXG4gICAgICpcbiAgICAgKiBBIGhhbmRsZSByYXRoZXIgdGhhbiB0aGUgd2hvbGUgcm93OiB0aGUgYm9keSBhbHJlYWR5IGNsYWltcyBgbW91c2Vkb3duYFxuICAgICAqIG9uIGEgY2VsbCB0byBzdGFydCBhIHJhbmdlIHNlbGVjdGlvbiwgc28gYSByb3ctd2lkZSBkcmFnIHdvdWxkIGhhdmUgdG9cbiAgICAgKiBmaWdodCBpdCBmb3IgZXZlcnkgcHJlc3MuXG4gICAgICovXG4gICAgcm93RHJhZz86ICAgICAgICAgICAgICAgICAgIGJvb2xlYW4gfCAoKHBhcmFtczogT25lQ2VsbFByZXNlbnRhdGlvblBhcmFtczxUPikgPT4gYm9vbGVhbik7XG4gICAgaGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24/OiAgIGJvb2xlYW47XG4gICAgZmxleD86ICAgICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICB3aWR0aD86ICAgICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIG1pbldpZHRoPzogICAgICAgICAgICAgICAgICBudW1iZXI7XG4gICAgbWF4V2lkdGg/OiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICB2YWxpZGF0aW9uUnVsZXM/OiAgICAgICAgICAgT25lVmFsaWRhdG9yRm5bXTsgLy8gRm9yIHZhbGlkYXRpb24gd2l0aCBzdWJtaXR0ZWQgcHJvcGVydHlcbiAgICAvLyBQcmVzZW50YXRpb24uIFN0YXRpYyB2YWx1ZSBvciBhIGNhbGxiYWNrLiBDZWxsIGhvb2tzIHJ1biBwZXIgcm93IG9uIGV2ZXJ5XG4gICAgLy8gY2hhbmdlIGRldGVjdGlvbiBwYXNzOyBoZWFkZXIgaG9va3MgcnVuIG9uY2UgcGVyIGNvbHVtbiwgd2hlbiB0aGUgY29sdW1uc1xuICAgIC8vIGFyZSByZWdpc3RlcmVkIOKAlCBzbyB0aGUgdHdvIGdldCBkaWZmZXJlbnQgcGFyYW1zLlxuICAgIGhlYWRlclN0eWxlPzogICAgICAgICAgICAgICB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHwgKChwYXJhbXM6IE9uZUhlYWRlclByZXNlbnRhdGlvblBhcmFtczxUPikgPT4geyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk7XG4gICAgY2VsbFN0eWxlPzogICAgICAgICAgICAgICAgIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCAoKHBhcmFtczogT25lQ2VsbFByZXNlbnRhdGlvblBhcmFtczxUPikgPT4geyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk7XG4gICAgaGVhZGVyQ2xhc3M/OiAgICAgICAgICAgICAgIHN0cmluZyB8IHN0cmluZ1tdIHwgKChwYXJhbXM6IE9uZUhlYWRlclByZXNlbnRhdGlvblBhcmFtczxUPikgPT4gc3RyaW5nIHwgc3RyaW5nW10pO1xuICAgIGNlbGxDbGFzcz86ICAgICAgICAgICAgICAgICBzdHJpbmcgfCBzdHJpbmdbXSB8ICgocGFyYW1zOiBPbmVDZWxsUHJlc2VudGF0aW9uUGFyYW1zPFQ+KSA9PiBzdHJpbmcgfCBzdHJpbmdbXSk7XG4gICAgLy8gSGVhZGVyIHByZWRpY2F0ZXMgcmVzb2x2ZWQgdG8gYm9vbGVhbnMsIG9uY2UgcGVyIGNvbHVtbi4gSW50ZXJuYWwuXG4gICAgX3Jlc29sdmVkU29ydGFibGU/OiAgICAgICAgIGJvb2xlYW47XG4gICAgX3Jlc29sdmVkUmVzaXphYmxlPzogICAgICAgIGJvb2xlYW47XG4gICAgX3Jlc29sdmVkRHJhZ2FibGU/OiAgICAgICAgIGJvb2xlYW47XG4gICAgX3Jlc29sdmVkRmlsdGVyYWJsZT86ICAgICAgIGJvb2xlYW47XG4gICAgX3Jlc29sdmVkU3VwcHJlc3NIZWFkZXJNZW51QnV0dG9uPzogYm9vbGVhbjtcbiAgICBfcmVzb2x2ZWRIZWFkZXJDbGFzcz86ICAgICAgc3RyaW5nIHwgc3RyaW5nW107XG4gICAgX3Jlc29sdmVkQ2VsbENsYXNzPzogICAgICAgIHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIF9yZXNvbHZlZEhlYWRlclN0eWxlPzogICAgICBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIF9yZXNvbHZlZENlbGxTdHlsZT86ICAgICAgICBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGNlbGxSZW5kZXJlclBhcmFtcz86ICAgICAgICBPbmVDZWxsUmVuZGVyZXJQYXJhbXM8VD47XG4gICAgY2VsbE9wdGlvbk1lbnU/OiAgICAgICAgICAgIE9uZUNlbGxPcHRpb25NZW51W107XG4gICAgYWxpZ25Db250ZW50PzogICAgICAgICAgICAgICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JztcbiAgICAvKipcbiAgICAgKiBGcmVlemUgdGhpcyBjb2x1bW4gYWdhaW5zdCB0aGUgbGVmdCBvciByaWdodCBlZGdlIHdoaWxlIHRoZSByZXN0IHNjcm9sbC5cbiAgICAgKlxuICAgICAqIFBpbm5lZCBjb2x1bW5zIGFyZSBtb3ZlZCB0byB0aGVpciBlZGdlIGluIGRpc3BsYXkgb3JkZXIg4oCUIGxlZnQtcGlubmVkIHRvXG4gICAgICogdGhlIGZyb250LCByaWdodC1waW5uZWQgdG8gdGhlIGJhY2sg4oCUIGVhY2gga2VlcGluZyBpdHMgZGVjbGFyZWQgb3JkZXJcbiAgICAgKiB3aXRoaW4gaXRzIG93biBncm91cC4gVW5waW5uZWQgY29sdW1ucyBhcmUgdW50b3VjaGVkLCBzbyBhIGdyaWQgd2l0aFxuICAgICAqIG5vdGhpbmcgcGlubmVkIHJlbmRlcnMgZXhhY3RseSBhcyBiZWZvcmUuXG4gICAgICovXG4gICAgcGlubmVkPzogICAgICAgICAgICAgICAgICAgICdsZWZ0JyB8ICdyaWdodCc7XG4gICAgLyoqXG4gICAgICogR3JvdXAgdGhlIHJvd3MgYnkgdGhpcyBjb2x1bW4ncyB2YWx1ZS4gU2V2ZXJhbCBgcm93R3JvdXBgIGNvbHVtbnMgbmVzdCxcbiAgICAgKiBpbiBjb2x1bW4tZGVmaW5pdGlvbiBvcmRlci4gVGhlIGdyaWQgdGhlbiBydW5zIGl0cyB0cmVlIG1hY2hpbmVyeSBvdmVyXG4gICAgICogc3ludGhldGljIGdyb3VwIHJvd3M6IGV4cGFuZC9jb2xsYXBzZSwgdGhlIGF1dG8gZ3JvdXAgY29sdW1uLFxuICAgICAqIGBncm91cERlZmF1bHRFeHBhbmRlZGAg4oCUIGFsbCBvZiBpdCBhcHBsaWVzLiBHcm91cGVkLWJ5IGNvbHVtbnMgYXJlXG4gICAgICogaGlkZGVuIGF1dG9tYXRpY2FsbHkgKHRoZWlyIHZhbHVlIHNob3dzIG9uIHRoZSBncm91cCByb3cpOyB1bi1oaWRlIHZpYVxuICAgICAqIGBhcGkuc2V0Q29sdW1uVmlzaWJsZWAgaWYgeW91IHdhbnQgYm90aC4gQ2xpZW50LXNpZGUgcm93cyBvbmx5LCBhbmRcbiAgICAgKiBleGNsdXNpdmUgd2l0aCBgdHJlZURhdGFgIGFuZCBgbWFzdGVyRGV0YWlsYC5cbiAgICAgKlxuICAgICAqIFRoaXMgaXMgdGhlICppbml0aWFsKiBncm91cGluZywgcmVhZCB3aGVuIHRoZSBncmlkIGluaXRpYWxpc2VzOyBuZWVkcyBhXG4gICAgICogYGZpZWxkYCB0byBncm91cCBvbi4gYGFwaS5zZXRSb3dHcm91cGluZyhmaWVsZHMpYCBjaGFuZ2VzIGl0IGFmdGVyd2FyZHNcbiAgICAgKiDigJQgYW55IGNvbHVtbnMsIGluIGFueSBuZXN0aW5nIG9yZGVyLCBgW11gIHRvIHVuZ3JvdXAuXG4gICAgICovXG4gICAgcm93R3JvdXA/OiAgICAgICAgICAgICAgICAgIGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQWdncmVnYXRlIHRoaXMgY29sdW1uJ3MgbGVhZiB2YWx1ZXMgb250byBldmVyeSBncm91cCByb3cgd2hlbiByb3dcbiAgICAgKiBncm91cGluZyBpcyBhY3RpdmU6IGEgYnVpbHQtaW4gbmFtZSwgb3IgYSBmdW5jdGlvbiBvdmVyIHRoZSBsZWF2ZXMuXG4gICAgICogVGhlIHJlc3VsdCBsYW5kcyBpbiB0aGUgZ3JvdXAgcm93J3Mgb3duIGBkYXRhW2ZpZWxkXWAsIHNvIGZvcm1hdHRlcnNcbiAgICAgKiBhbmQgcmVuZGVyZXJzIGFwcGx5IHRvIGl0IGxpa2UgYW55IGNlbGwgdmFsdWUuXG4gICAgICovXG4gICAgYWdnRnVuYz86ICAgICAgICAgICAgICAgICAgIE9uZUFnZ0Z1bmM8VD47XG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoaXMgY29sdW1uIGZyb20gdGhlIHJlbmRlcmVkIGdyaWQgd2l0aG91dCBmb3JnZXR0aW5nIGl0LlxuICAgICAqXG4gICAgICogQSBoaWRkZW4gY29sdW1uIGtlZXBzIGl0cyBwbGFjZSBpbiB0aGUgY29sdW1uIG9yZGVyLCBpdHMgd2lkdGggYW5kIGl0c1xuICAgICAqIHBpbiwgc28gc2hvd2luZyBpdCBhZ2FpbiByZXN0b3JlcyBpdCBleGFjdGx5LiBUb2dnbGUgYXQgcnVudGltZSB3aXRoXG4gICAgICogYGFwaS5zZXRDb2x1bW5WaXNpYmxlKGlkLCB2aXNpYmxlKWAuIFBsYWluIHN0YXRlLCBub3QgYSBwcmVkaWNhdGUg4oCUXG4gICAgICogdmlzaWJpbGl0eSBpcyBzb21ldGhpbmcgYSBob3N0IGNoYW5nZXMsIG5vdCBzb21ldGhpbmcgYSByb3cgZGVjaWRlcy5cbiAgICAgKi9cbiAgICBoaWRlPzogICAgICAgICAgICAgICAgICAgICAgYm9vbGVhbjtcbiAgICAvKiogRGlzdGFuY2UgaW4gcHggZnJvbSB0aGUgcGlubmVkIGVkZ2UuIENvbXB1dGVkIGJ5IHRoZSBncmlkOyBkbyBub3Qgc2V0LiAqL1xuICAgIF9waW5uZWRPZmZzZXQ/OiAgICAgICAgICAgICBudW1iZXIgfCBudWxsO1xuICAgIC8qKiBUcnVlIG9uIHRoZSBpbm5lcm1vc3QgcGlubmVkIGNvbHVtbiBvZiBlYWNoIHNpZGUsIHdoaWNoIGNhcnJpZXMgdGhlIGRpdmlkZXIuICovXG4gICAgX3Bpbm5lZEVkZ2U/OiAgICAgICAgICAgICAgIGJvb2xlYW47XG4gICAgLy8gUHJlZGljYXRlcyBjb21lIGluIHR3byBzY29wZXMsIGFuZCB0aGUgcGFyYW1zIHNheSB3aGljaC5cbiAgICAvL1xuICAgIC8vIEhlYWRlci1zY29wZWQgb25lcyBkZWNpZGUgc29tZXRoaW5nIGFib3V0IHRoZSBjb2x1bW4gYW5kIGFyZSByZXNvbHZlZFxuICAgIC8vIG9uY2UsIHdoZW4gdGhlIGNvbHVtbnMgYXJlIHJlZ2lzdGVyZWQg4oCUIHRoZXJlIGlzIG5vIHJvdywgc28gdGhleSBnZXRcbiAgICAvLyBgY29sdW1uRGVmYCwgYGZpZWxkYCBhbmQgYGNvbnRleHRgLlxuICAgIHNvcnRhYmxlPzogICAgICAgICAgICAgICAgICBib29sZWFuIHwgKChwYXJhbXM6IE9uZUhlYWRlclByZXNlbnRhdGlvblBhcmFtczxUPikgPT4gYm9vbGVhbik7XG4gICAgcmVzaXphYmxlPzogICAgICAgICAgICAgICAgIGJvb2xlYW4gfCAoKHBhcmFtczogT25lSGVhZGVyUHJlc2VudGF0aW9uUGFyYW1zPFQ+KSA9PiBib29sZWFuKTtcbiAgICBkcmFnYWJsZT86ICAgICAgICAgICAgICAgICAgYm9vbGVhbiB8ICgocGFyYW1zOiBPbmVIZWFkZXJQcmVzZW50YXRpb25QYXJhbXM8VD4pID0+IGJvb2xlYW4pO1xuICAgIHN1cHByZXNzSGVhZGVyTWVudUJ1dHRvbj86ICBib29sZWFuIHwgKChwYXJhbXM6IE9uZUhlYWRlclByZXNlbnRhdGlvblBhcmFtczxUPikgPT4gYm9vbGVhbik7XG5cbiAgICAvLyBDZWxsLXNjb3BlZCBvbmVzIGRlY2lkZSBzb21ldGhpbmcgYWJvdXQgb25lIGNlbGwsIGFuZCBnZXQgdGhlIGZ1bGwgY2VsbFxuICAgIC8vIHBhcmFtcyDigJQgdGhlIHNhbWUgc2V0IGBjZWxsQ2xhc3NgLCBgY2VsbFJlbmRlcmVyYCBhbmQgYHZhbHVlRm9ybWF0dGVyYFxuICAgIC8vIHJlY2VpdmUsIHNvIHRoZXJlIGlzIG5vdGhpbmcgdG8gcmVtZW1iZXIgcGVyIGhvb2suXG4gICAgZWRpdGFibGU/OiAgICAgICAgICAgICAgICAgIGJvb2xlYW4gfCAoKHBhcmFtczogT25lQ2VsbFByZXNlbnRhdGlvblBhcmFtczxUPikgPT4gYm9vbGVhbik7XG4gICAgdXBkYXRhYmxlPzogICAgICAgICAgICAgICAgIGJvb2xlYW4gfCAoKHBhcmFtczogT25lQ2VsbFByZXNlbnRhdGlvblBhcmFtczxUPikgPT4gYm9vbGVhbik7XG4gICAgZGlzYWJsZT86ICAgICAgICAgICAgICAgICAgIGJvb2xlYW4gfCAoKHBhcmFtczogT25lQ2VsbFByZXNlbnRhdGlvblBhcmFtczxUPikgPT4gYm9vbGVhbik7XG4gICAgaGlkZUFjdGlvbkJ1dHRvbj86ICAgICAgICAgIGJvb2xlYW4gfCAoKHBhcmFtczogT25lQ2VsbFByZXNlbnRhdGlvblBhcmFtczxUPikgPT4gYm9vbGVhbik7XG5cbiAgICAvKipcbiAgICAgKiBHaXZlIHRoaXMgY29sdW1uIGFuIGlucHV0IGluIHRoZSBncmlkJ3MgZmlsdGVyIHJvdyAoYFtmaWx0ZXJSb3ddYCkuXG4gICAgICpcbiAgICAgKiBIZWFkZXItc2NvcGVkIGxpa2UgYHNvcnRhYmxlYDogcmVzb2x2ZWQgb25jZSBwZXIgY29sdW1uLCB3aGVuIHRoZVxuICAgICAqIGNvbHVtbnMgYXJlIHJlZ2lzdGVyZWQsIGFnYWluc3QgY29sdW1uRGVmLCBmaWVsZCBhbmQgY29udGV4dCDigJQgdGhlcmUgaXNcbiAgICAgKiBubyByb3cuIFdpdGhvdXQgdGhlIGZpbHRlciByb3cgdGhpcyBjaGFuZ2VzIG5vdGhpbmc7IGZpbHRlcmluZyBzdGF5c1xuICAgICAqIGF2YWlsYWJsZSB0aHJvdWdoIGBhcGkuc2V0RmlsdGVyTW9kZWxgIGVpdGhlciB3YXkuXG4gICAgICovXG4gICAgZmlsdGVyYWJsZT86ICAgICAgICAgICAgICAgIGJvb2xlYW4gfCAoKHBhcmFtczogT25lQ2VsbFByZXNlbnRhdGlvblBhcmFtczxUPikgPT4gYm9vbGVhbik7XG4gICAgY2VsbFJlbmRlcmVyQ29tcG9uZW50PzogICAgIFR5cGU8T25lQ2VsbFJlbmRlcmVyQ29tcG9uZW50PjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFuZ3VsYXIgY29tcG9uZW50XG4gICAgLy8gUmVjZWl2ZXMgdGhlIGZ1bGwgY2VsbCBwYXJhbXMsIHdpdGggdGhlIGNvbHVtbidzIGBjZWxsUmVuZGVyZXJQYXJhbXNgXG4gICAgLy8gbWVyZ2VkIGluIOKAlCBoZW5jZSB0aGUgcHJlc2VudGF0aW9uIHR5cGUgcmF0aGVyIHRoYW4gdGhlIGFsbC1vcHRpb25hbCBvbmUuXG4gICAgY2VsbFJlbmRlcmVyPzogICAgICAgICAgICAgIChwYXJhbXM6IE9uZUNlbGxQcmVzZW50YXRpb25QYXJhbXM8VD4pID0+IHN0cmluZzsgICAvLyBIVE1MIHN0cmluZ1xuICAgIC8qKlxuICAgICAqIERlcml2ZSB0aGlzIGNlbGwncyB2YWx1ZSBmcm9tIHRoZSB3aG9sZSByb3cuXG4gICAgICpcbiAgICAgKiBUaGUgdmFsdWUsIG5vdCB0aGUgZGlzcGxheSB0ZXh0IOKAlCBzb3J0aW5nIGFuZCBmaWx0ZXJpbmcgcmVhZCB0aGUgcmF3IHJvd1xuICAgICAqIGRhdGEsIHNvIGZvcm1hdHRpbmcgZG9uZSBoZXJlIGlzIGludmlzaWJsZSB0byBib3RoLiBQdXQgcHJlc2VudGF0aW9uIGluXG4gICAgICogYHZhbHVlRm9ybWF0dGVyYCBpbnN0ZWFkIGFuZCB0aGlzIHN0YXlzIHNvcnRhYmxlLlxuICAgICAqL1xuICAgIHZhbHVlR2V0dGVyPzogICAgICAgICAgICAgICAocGFyYW1zOiBPbmVWYWx1ZUdldHRlclBhcmFtczxUPikgPT4gYW55O1xuXG4gICAgLyoqXG4gICAgICogRm9ybWF0IHRoZSB2YWx1ZSBmb3IgZGlzcGxheS4gUnVucyBhZnRlciBgdmFsdWVHZXR0ZXJgLCBvbiB0ZXh0IGNlbGxzXG4gICAgICogb25seSDigJQgYW4gZW1wdHkgY2VsbCBmYWxscyB0byBgY2VsbFJlbmRlcmVyUGFyYW1zLnBsYWNlaG9sZGVyYCBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHZhbHVlRm9ybWF0dGVyPzogICAgICAgICAgICAocGFyYW1zOiBPbmVDZWxsUHJlc2VudGF0aW9uUGFyYW1zPFQ+KSA9PiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBOb3QgaW1wbGVtZW50ZWQg4oCUIG5vdGhpbmcgaW4gdGhlIGdyaWQgY2FsbHMgdGhpcywgYW5kIHRoZVxuICAgICAqIHNpZ25hdHVyZSBjb3VsZCBub3Qgd29yayBpZiBpdCBkaWQ6IGl0IHJlY2VpdmVzIG5laXRoZXIgdGhlIG5vZGUgbm9yIHRoZVxuICAgICAqIGZpZWxkLCBzbyBpdCBjYW5ub3QgdGVsbCB3aGljaCBjZWxsIGl0IGlzIG1lYW50IHRvIHdyaXRlLiBDb21taXQgYW4gZWRpdFxuICAgICAqIHRocm91Z2ggYG5vZGUuc2V0RGF0YVZhbHVlKGZpZWxkLCB2YWx1ZSlgIGFuZCByZWZyZXNoIHdpdGhcbiAgICAgKiBgYXBpLnVwZGF0ZUNlbGxTdGF0ZXMobm9kZSlgLlxuICAgICAqL1xuICAgIHZhbHVlU2V0dGVyPzogICAgICAgICAgICAgICAodmFsdWU6IGFueSwgcm93SW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgT25lQ2VsbFZhbGlkYXRpb25UeXBlID0gJ2Rpc2FibGVkJ3wgJ2ludGVnZXInIHwgJ251bWJlcicgfCAnY29kZScgfCAndGl0bGUnIHwgJ3Bob25lJyB8ICdlbWFpbCcgfCAnZGVzY3JpcHRpb24nIHwgJ3JlZ2V4JyB8ICdub25lJztcblxuLyoqIFRoZSBidWlsdC1pbiBhZ2dyZWdhdGlvbiBmdW5jdGlvbnMgZm9yIHJvdyBncm91cGluZy4gKi9cbmV4cG9ydCB0eXBlIE9uZUFnZ0Z1bmNOYW1lID0gJ3N1bScgfCAnbWluJyB8ICdtYXgnIHwgJ2F2ZycgfCAnY291bnQnIHwgJ2ZpcnN0JyB8ICdsYXN0JztcblxuLyoqIFdoYXQgYSBjdXN0b20gYWdncmVnYXRpb24gZnVuY3Rpb24gcmVjZWl2ZXM6IG9uZSBncm91cCdzIGxlYXZlcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT25lQWdnRnVuY1BhcmFtczxUID0gYW55PiB7XG4gIC8qKiBUaGUgbGVhZiB2YWx1ZXMgb2YgdGhpcyBjb2x1bW4sIG51bGxzIGFuZCB1bmRlZmluZWRzIGFscmVhZHkgcmVtb3ZlZC4gKi9cbiAgdmFsdWVzOiBhbnlbXTtcbiAgLyoqIFRoZSBsZWFmIHJvd3MgdGhlbXNlbHZlcywgZm9yIGFnZ3JlZ2F0ZXMgdGhhdCBuZWVkIG1vcmUgdGhhbiBvbmUgZmllbGQuICovXG4gIHJvd3M6IFRbXTtcbiAgZmllbGQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgT25lQWdnRnVuYzxUID0gYW55PiA9IE9uZUFnZ0Z1bmNOYW1lIHwgKChwYXJhbXM6IE9uZUFnZ0Z1bmNQYXJhbXM8VD4pID0+IGFueSk7XG5cbi8qKlxuICogT25lIGNvbHVtbidzIHBlcnNpc3RhYmxlIGxheW91dCBzdGF0ZS5cbiAqXG4gKiBgYXBpLmdldENvbHVtblN0YXRlU25hcHNob3QoKWAgcmV0dXJucyBvbmUgZW50cnkgcGVyIGNvbHVtbiDigJQgaGlkZGVuIG9uZXNcbiAqIGluY2x1ZGVkIOKAlCBpbiBkaXNwbGF5IG9yZGVyOyBgYXBpLmFwcGx5Q29sdW1uU3RhdGUoZW50cmllcylgIHJlc3RvcmVzIHRoZW0uXG4gKiBUaGUgc25hcHNob3QgaXMgcGxhaW4gSlNPTi1zYWZlIGRhdGEsIHNvIGl0IGNhbiBiZSBzdG9yZWQgYXMtaXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT25lQ29sdW1uU3RhdGVFbnRyeSB7XG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBPbWl0dGVkIHdoZW4gdGhlIGNvbHVtbiBoYXMgbm8gZXhwbGljaXQgd2lkdGguICovXG4gIHdpZHRoPzogbnVtYmVyO1xuICAvKiogYG51bGxgIG1lYW5zIHVucGlubmVkLiBPbWl0dGluZyB0aGUgcHJvcGVydHkga2VlcHMgdGhlIGN1cnJlbnQgcGluLiAqL1xuICBwaW5uZWQ/OiAnbGVmdCcgfCAncmlnaHQnIHwgbnVsbDtcbiAgaGlkZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VsbFNlbGVjdGlvbiB7XG4gIHJvd0lkOiBzdHJpbmc7XG4gIGZpZWxkOiBzdHJpbmc7XG59Il19
|
|
@@ -4105,6 +4105,7 @@ class OneGridRowActionComponent {
|
|
|
4105
4105
|
this.detailActiveExcludeLevels = new Set(this.column.cellRendererParams?.detailActiveExcludeLevels ?? []);
|
|
4106
4106
|
this.gotoDetailExcludeLevels = new Set(this.column.cellRendererParams?.gotoDetailExcludeLevels ?? []);
|
|
4107
4107
|
this.addNewExcludeLevels = new Set(this.column.cellRendererParams?.addNewExcludeLevels ?? []);
|
|
4108
|
+
this.gotoListExcludeLevels = new Set(this.column.cellRendererParams?.gotoListExcludeLevels ?? []);
|
|
4108
4109
|
}
|
|
4109
4110
|
/**
|
|
4110
4111
|
* Trigger Invoke Click Event
|
|
@@ -4211,11 +4212,11 @@ class OneGridRowActionComponent {
|
|
|
4211
4212
|
this.onRowCellOption.emit(data);
|
|
4212
4213
|
}
|
|
4213
4214
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridRowActionComponent, deps: [{ token: OneGridCellService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4214
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: OneGridRowActionComponent, isStandalone: true, selector: "one-grid-row-action", inputs: { column: "column", node: "node", allowedEdit: "allowedEdit", masterDetail: "masterDetail", masterNode: "masterNode", cellRendererParams: "cellRendererParams", gridType: "gridType", context: "context" }, outputs: { onRowGotoDetail: "onRowGotoDetail", onRowAddNew: "onRowAddNew", onRowView: "onRowView", onRowLocation: "onRowLocation", onRowDocument: "onRowDocument", onRowCopy: "onRowCopy", onRowDelete: "onRowDelete", onRowGotoList: "onRowGotoList", onRowEdit: "onRowEdit", onRowPrint: "onRowPrint", onRowHistory: "onRowHistory", onRowOption: "onRowOption", onRowLanguage: "onRowLanguage", onRowCellOption: "onRowCellOption" }, ngImport: i0, template: "@if ((cellRendererParams && node?.leaf && !column?.autoGroupField && !(node.group && node.leafGroup)) || (column?.rowActionLevels?.includes(node.level) && column?.autoGroupField)) {\n <div class=\"btn-action-container\">\n\n <!-- Expansion Button Status -->\n @if ((cellRendererParams?.detailActiveButtonStatus == 1 && !(detailActiveExcludeLevels?.has(node.level)))) {\n <!-- A button, not an <a> with a click handler: it has no href, so\n it was neither focusable nor operable from the keyboard. -->\n <button\n type=\"button\"\n class=\"btn-action btn-action-plain me-2\"\n [attr.aria-expanded]=\"node.detailActive\"\n [attr.aria-label]=\"node.detailActive ? 'Collapse row' : 'Expand row'\"\n [title]=\"node.detailActive ? 'Collapse' : 'Expand'\"\n (click)=\"invokeRowToggleDetailActiveExpand(node)\">\n\n <i class=\"bi\" [ngClass]=\"{ 'bi-chevron-down': node.detailActive, 'bi-chevron-right': !node.detailActive }\"></i>\n </button>\n }\n\n <!-- Goto Detail Button Status -->\n @if ((cellRendererParams?.gotoDetailButtonStatus == 1 && !(gotoDetailExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.gotoDetail\"\n [title]=\"labels.gotoDetail\"\n (click)=\"invokeRowActionGotoDetail(node, column)\">\n\n <i class=\"bi bi-list-task\"></i>\n </button>\n }\n\n <!-- Add New Button Status -->\n @if ((cellRendererParams?.addNewButtonStatus == 1 && !(addNewExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.addNew\"\n [title]=\"labels.addNew\"\n (click)=\"invokeRowActionAddNew(node, column)\">\n\n <i class=\"bi bi-plus\"></i>\n </button>\n }\n\n <!-- View Button Status -->\n @if (cellRendererParams?.viewButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.view\"\n [title]=\"labels.view\"\n (click)=\"invokeRowActionView(node, column)\">\n\n <i class=\"bi bi-eye\"></i>\n </button>\n }\n @if (cellRendererParams?.locationButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.location\"\n [title]=\"labels.location\"\n (click)=\"invokeRowActionLocation(node, column)\">\n\n <i class=\"bi bi-geo-alt\"></i>\n </button>\n }\n\n <!-- Document Button Status -->\n @if (cellRendererParams?.documentButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.document\"\n [title]=\"labels.document\"\n (click)=\"invokeRowActionDocument(node, column)\">\n\n <i class=\"bi bi-file-earmark-text\"></i>\n </button>\n }\n\n <!-- Copy Button Status -->\n @if (cellRendererParams?.copyButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.copy\"\n [title]=\"labels.copy\"\n (click)=\"invokeRowActionCopy(node, column)\">\n\n <i class=\"bi bi-files\"></i>\n </button>\n }\n\n\n <!-- Delete Button Status -->\n @if (cellRendererParams?.deleteButtonStatus == 1 && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-danger\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.delete\"\n [title]=\"labels.delete\"\n (click)=\"invokeRowActionDelete(node, column)\">\n\n <i class=\"bi bi-trash3\"></i>\n </button>\n }\n\n <!-- Goto List Button Status -->\n @if (cellRendererParams?.gotoListButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-success\"\n [attr.aria-label]=\"labels.gotoList\"\n [title]=\"labels.gotoList\"\n (click)=\"invokeRowActionGotoList(node, column)\">\n\n <i class=\"bi bi-list-ul\"></i>\n </button>\n }\n\n <!-- Edit Button Status -->\n @if (cellRendererParams?.editButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.edit\"\n [title]=\"labels.edit\"\n (click)=\"invokeRowActionEdit(node, column)\">\n\n <i class=\"bi bi-pencil\"></i>\n </button>\n }\n\n <!-- Print Button Status -->\n @if (cellRendererParams?.printButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.print\"\n [title]=\"labels.print\"\n (click)=\"invokeRowActionPrint(node, column)\">\n\n <i class=\"bi bi-printer\"></i>\n </button>\n }\n\n <!-- History Button Status -->\n @if (cellRendererParams?.historyButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.history\"\n [title]=\"labels.history\"\n (click)=\"invokeRowActionHistory(node, column)\">\n\n <i class=\"bi bi-clock-history\"></i>\n </button>\n }\n\n <!-- Option Button Status -->\n @if (cellRendererParams?.optionButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.option\"\n [title]=\"labels.option\"\n (click)=\"invokeRowActionOption(node, column)\">\n\n <i class=\"bi bi-three-dots-vertical\"></i>\n </button>\n }\n\n <!-- Language Button Status -->\n @if (cellRendererParams?.languageButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.language\"\n [title]=\"labels.language\"\n (click)=\"invokeRowActionLanguage(node, column)\">\n\n <i class=\"bi bi-translate\"></i>\n </button>\n }\n\n <!-- Cell
|
|
4215
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: OneGridRowActionComponent, isStandalone: true, selector: "one-grid-row-action", inputs: { column: "column", node: "node", allowedEdit: "allowedEdit", masterDetail: "masterDetail", masterNode: "masterNode", cellRendererParams: "cellRendererParams", gridType: "gridType", context: "context" }, outputs: { onRowGotoDetail: "onRowGotoDetail", onRowAddNew: "onRowAddNew", onRowView: "onRowView", onRowLocation: "onRowLocation", onRowDocument: "onRowDocument", onRowCopy: "onRowCopy", onRowDelete: "onRowDelete", onRowGotoList: "onRowGotoList", onRowEdit: "onRowEdit", onRowPrint: "onRowPrint", onRowHistory: "onRowHistory", onRowOption: "onRowOption", onRowLanguage: "onRowLanguage", onRowCellOption: "onRowCellOption" }, ngImport: i0, template: "@if ((cellRendererParams && node?.leaf && !column?.autoGroupField && !(node.group && node.leafGroup)) || (column?.rowActionLevels?.includes(node.level) && column?.autoGroupField)) {\n <div class=\"btn-action-container\">\n\n <!-- Expansion Button Status -->\n @if ((cellRendererParams?.detailActiveButtonStatus == 1 && !(detailActiveExcludeLevels?.has(node.level)))) {\n <!-- A button, not an <a> with a click handler: it has no href, so\n it was neither focusable nor operable from the keyboard. -->\n <button\n type=\"button\"\n class=\"btn-action btn-action-plain me-2\"\n [attr.aria-expanded]=\"node.detailActive\"\n [attr.aria-label]=\"node.detailActive ? 'Collapse row' : 'Expand row'\"\n [title]=\"node.detailActive ? 'Collapse' : 'Expand'\"\n (click)=\"invokeRowToggleDetailActiveExpand(node)\">\n\n <i class=\"bi\" [ngClass]=\"{ 'bi-chevron-down': node.detailActive, 'bi-chevron-right': !node.detailActive }\"></i>\n </button>\n }\n\n <!-- Goto Detail Button Status -->\n @if ((cellRendererParams?.gotoDetailButtonStatus == 1 && !(gotoDetailExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.gotoDetail\"\n [title]=\"labels.gotoDetail\"\n (click)=\"invokeRowActionGotoDetail(node, column)\">\n\n <i class=\"bi bi-list-task\"></i>\n </button>\n }\n\n <!-- Add New Button Status -->\n @if ((cellRendererParams?.addNewButtonStatus == 1 && !(addNewExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.addNew\"\n [title]=\"labels.addNew\"\n (click)=\"invokeRowActionAddNew(node, column)\">\n\n <i class=\"bi bi-plus\"></i>\n </button>\n }\n\n <!-- View Button Status -->\n @if (cellRendererParams?.viewButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.view\"\n [title]=\"labels.view\"\n (click)=\"invokeRowActionView(node, column)\">\n\n <i class=\"bi bi-eye\"></i>\n </button>\n }\n @if (cellRendererParams?.locationButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.location\"\n [title]=\"labels.location\"\n (click)=\"invokeRowActionLocation(node, column)\">\n\n <i class=\"bi bi-geo-alt\"></i>\n </button>\n }\n\n <!-- Document Button Status -->\n @if (cellRendererParams?.documentButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.document\"\n [title]=\"labels.document\"\n (click)=\"invokeRowActionDocument(node, column)\">\n\n <i class=\"bi bi-file-earmark-text\"></i>\n </button>\n }\n\n <!-- Copy Button Status -->\n @if (cellRendererParams?.copyButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.copy\"\n [title]=\"labels.copy\"\n (click)=\"invokeRowActionCopy(node, column)\">\n\n <i class=\"bi bi-files\"></i>\n </button>\n }\n\n\n <!-- Delete Button Status -->\n @if (cellRendererParams?.deleteButtonStatus == 1 && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-danger\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.delete\"\n [title]=\"labels.delete\"\n (click)=\"invokeRowActionDelete(node, column)\">\n\n <i class=\"bi bi-trash3\"></i>\n </button>\n }\n\n <!-- Goto List Button Status -->\n @if ((cellRendererParams?.gotoListButtonStatus === 1 && !(gotoListExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-success\"\n [attr.aria-label]=\"labels.gotoList\"\n [title]=\"labels.gotoList\"\n (click)=\"invokeRowActionGotoList(node, column)\">\n\n <i class=\"bi bi-list-ul\"></i>\n </button>\n }\n\n <!-- Edit Button Status -->\n @if (cellRendererParams?.editButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.edit\"\n [title]=\"labels.edit\"\n (click)=\"invokeRowActionEdit(node, column)\">\n\n <i class=\"bi bi-pencil\"></i>\n </button>\n }\n\n <!-- Print Button Status -->\n @if (cellRendererParams?.printButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.print\"\n [title]=\"labels.print\"\n (click)=\"invokeRowActionPrint(node, column)\">\n\n <i class=\"bi bi-printer\"></i>\n </button>\n }\n\n <!-- History Button Status -->\n @if (cellRendererParams?.historyButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.history\"\n [title]=\"labels.history\"\n (click)=\"invokeRowActionHistory(node, column)\">\n\n <i class=\"bi bi-clock-history\"></i>\n </button>\n }\n\n <!-- Option Button Status -->\n @if (cellRendererParams?.optionButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.option\"\n [title]=\"labels.option\"\n (click)=\"invokeRowActionOption(node, column)\">\n\n <i class=\"bi bi-three-dots-vertical\"></i>\n </button>\n }\n\n <!-- Language Button Status -->\n @if (cellRendererParams?.languageButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.language\"\n [title]=\"labels.language\"\n (click)=\"invokeRowActionLanguage(node, column)\">\n\n <i class=\"bi bi-translate\"></i>\n </button>\n }\n\n <!-- Cell Option Button Status (Context Menu) -->\n @if (cellRendererParams?.cellOptionButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary border-0 text-body\"\n [style.background]=\"'transparent'\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.cellOption\"\n [title]=\"labels.cellOption\"\n (click)=\"invokeRowActionCellOption(node, column)\">\n\n <i class=\"bi bi-three-dots-vertical\"></i>\n </button>\n }\n </div>\n}", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
4215
4216
|
}
|
|
4216
4217
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridRowActionComponent, decorators: [{
|
|
4217
4218
|
type: Component,
|
|
4218
|
-
args: [{ standalone: true, imports: [NgClass], selector: 'one-grid-row-action', template: "@if ((cellRendererParams && node?.leaf && !column?.autoGroupField && !(node.group && node.leafGroup)) || (column?.rowActionLevels?.includes(node.level) && column?.autoGroupField)) {\n <div class=\"btn-action-container\">\n\n <!-- Expansion Button Status -->\n @if ((cellRendererParams?.detailActiveButtonStatus == 1 && !(detailActiveExcludeLevels?.has(node.level)))) {\n <!-- A button, not an <a> with a click handler: it has no href, so\n it was neither focusable nor operable from the keyboard. -->\n <button\n type=\"button\"\n class=\"btn-action btn-action-plain me-2\"\n [attr.aria-expanded]=\"node.detailActive\"\n [attr.aria-label]=\"node.detailActive ? 'Collapse row' : 'Expand row'\"\n [title]=\"node.detailActive ? 'Collapse' : 'Expand'\"\n (click)=\"invokeRowToggleDetailActiveExpand(node)\">\n\n <i class=\"bi\" [ngClass]=\"{ 'bi-chevron-down': node.detailActive, 'bi-chevron-right': !node.detailActive }\"></i>\n </button>\n }\n\n <!-- Goto Detail Button Status -->\n @if ((cellRendererParams?.gotoDetailButtonStatus == 1 && !(gotoDetailExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.gotoDetail\"\n [title]=\"labels.gotoDetail\"\n (click)=\"invokeRowActionGotoDetail(node, column)\">\n\n <i class=\"bi bi-list-task\"></i>\n </button>\n }\n\n <!-- Add New Button Status -->\n @if ((cellRendererParams?.addNewButtonStatus == 1 && !(addNewExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.addNew\"\n [title]=\"labels.addNew\"\n (click)=\"invokeRowActionAddNew(node, column)\">\n\n <i class=\"bi bi-plus\"></i>\n </button>\n }\n\n <!-- View Button Status -->\n @if (cellRendererParams?.viewButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.view\"\n [title]=\"labels.view\"\n (click)=\"invokeRowActionView(node, column)\">\n\n <i class=\"bi bi-eye\"></i>\n </button>\n }\n @if (cellRendererParams?.locationButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.location\"\n [title]=\"labels.location\"\n (click)=\"invokeRowActionLocation(node, column)\">\n\n <i class=\"bi bi-geo-alt\"></i>\n </button>\n }\n\n <!-- Document Button Status -->\n @if (cellRendererParams?.documentButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.document\"\n [title]=\"labels.document\"\n (click)=\"invokeRowActionDocument(node, column)\">\n\n <i class=\"bi bi-file-earmark-text\"></i>\n </button>\n }\n\n <!-- Copy Button Status -->\n @if (cellRendererParams?.copyButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.copy\"\n [title]=\"labels.copy\"\n (click)=\"invokeRowActionCopy(node, column)\">\n\n <i class=\"bi bi-files\"></i>\n </button>\n }\n\n\n <!-- Delete Button Status -->\n @if (cellRendererParams?.deleteButtonStatus == 1 && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-danger\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.delete\"\n [title]=\"labels.delete\"\n (click)=\"invokeRowActionDelete(node, column)\">\n\n <i class=\"bi bi-trash3\"></i>\n </button>\n }\n\n <!-- Goto List Button Status -->\n @if (cellRendererParams?.gotoListButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-success\"\n [attr.aria-label]=\"labels.gotoList\"\n [title]=\"labels.gotoList\"\n (click)=\"invokeRowActionGotoList(node, column)\">\n\n <i class=\"bi bi-list-ul\"></i>\n </button>\n }\n\n <!-- Edit Button Status -->\n @if (cellRendererParams?.editButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.edit\"\n [title]=\"labels.edit\"\n (click)=\"invokeRowActionEdit(node, column)\">\n\n <i class=\"bi bi-pencil\"></i>\n </button>\n }\n\n <!-- Print Button Status -->\n @if (cellRendererParams?.printButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.print\"\n [title]=\"labels.print\"\n (click)=\"invokeRowActionPrint(node, column)\">\n\n <i class=\"bi bi-printer\"></i>\n </button>\n }\n\n <!-- History Button Status -->\n @if (cellRendererParams?.historyButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.history\"\n [title]=\"labels.history\"\n (click)=\"invokeRowActionHistory(node, column)\">\n\n <i class=\"bi bi-clock-history\"></i>\n </button>\n }\n\n <!-- Option Button Status -->\n @if (cellRendererParams?.optionButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.option\"\n [title]=\"labels.option\"\n (click)=\"invokeRowActionOption(node, column)\">\n\n <i class=\"bi bi-three-dots-vertical\"></i>\n </button>\n }\n\n <!-- Language Button Status -->\n @if (cellRendererParams?.languageButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.language\"\n [title]=\"labels.language\"\n (click)=\"invokeRowActionLanguage(node, column)\">\n\n <i class=\"bi bi-translate\"></i>\n </button>\n }\n\n <!-- Cell
|
|
4219
|
+
args: [{ standalone: true, imports: [NgClass], selector: 'one-grid-row-action', template: "@if ((cellRendererParams && node?.leaf && !column?.autoGroupField && !(node.group && node.leafGroup)) || (column?.rowActionLevels?.includes(node.level) && column?.autoGroupField)) {\n <div class=\"btn-action-container\">\n\n <!-- Expansion Button Status -->\n @if ((cellRendererParams?.detailActiveButtonStatus == 1 && !(detailActiveExcludeLevels?.has(node.level)))) {\n <!-- A button, not an <a> with a click handler: it has no href, so\n it was neither focusable nor operable from the keyboard. -->\n <button\n type=\"button\"\n class=\"btn-action btn-action-plain me-2\"\n [attr.aria-expanded]=\"node.detailActive\"\n [attr.aria-label]=\"node.detailActive ? 'Collapse row' : 'Expand row'\"\n [title]=\"node.detailActive ? 'Collapse' : 'Expand'\"\n (click)=\"invokeRowToggleDetailActiveExpand(node)\">\n\n <i class=\"bi\" [ngClass]=\"{ 'bi-chevron-down': node.detailActive, 'bi-chevron-right': !node.detailActive }\"></i>\n </button>\n }\n\n <!-- Goto Detail Button Status -->\n @if ((cellRendererParams?.gotoDetailButtonStatus == 1 && !(gotoDetailExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.gotoDetail\"\n [title]=\"labels.gotoDetail\"\n (click)=\"invokeRowActionGotoDetail(node, column)\">\n\n <i class=\"bi bi-list-task\"></i>\n </button>\n }\n\n <!-- Add New Button Status -->\n @if ((cellRendererParams?.addNewButtonStatus == 1 && !(addNewExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.addNew\"\n [title]=\"labels.addNew\"\n (click)=\"invokeRowActionAddNew(node, column)\">\n\n <i class=\"bi bi-plus\"></i>\n </button>\n }\n\n <!-- View Button Status -->\n @if (cellRendererParams?.viewButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.view\"\n [title]=\"labels.view\"\n (click)=\"invokeRowActionView(node, column)\">\n\n <i class=\"bi bi-eye\"></i>\n </button>\n }\n @if (cellRendererParams?.locationButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.location\"\n [title]=\"labels.location\"\n (click)=\"invokeRowActionLocation(node, column)\">\n\n <i class=\"bi bi-geo-alt\"></i>\n </button>\n }\n\n <!-- Document Button Status -->\n @if (cellRendererParams?.documentButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.document\"\n [title]=\"labels.document\"\n (click)=\"invokeRowActionDocument(node, column)\">\n\n <i class=\"bi bi-file-earmark-text\"></i>\n </button>\n }\n\n <!-- Copy Button Status -->\n @if (cellRendererParams?.copyButtonStatus == 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [attr.aria-label]=\"labels.copy\"\n [title]=\"labels.copy\"\n (click)=\"invokeRowActionCopy(node, column)\">\n\n <i class=\"bi bi-files\"></i>\n </button>\n }\n\n\n <!-- Delete Button Status -->\n @if (cellRendererParams?.deleteButtonStatus == 1 && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-danger\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.delete\"\n [title]=\"labels.delete\"\n (click)=\"invokeRowActionDelete(node, column)\">\n\n <i class=\"bi bi-trash3\"></i>\n </button>\n }\n\n <!-- Goto List Button Status -->\n @if ((cellRendererParams?.gotoListButtonStatus === 1 && !(gotoListExcludeLevels?.has(node.level))) && (!hideActionButton || allowedEdit)) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-success\"\n [attr.aria-label]=\"labels.gotoList\"\n [title]=\"labels.gotoList\"\n (click)=\"invokeRowActionGotoList(node, column)\">\n\n <i class=\"bi bi-list-ul\"></i>\n </button>\n }\n\n <!-- Edit Button Status -->\n @if (cellRendererParams?.editButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.edit\"\n [title]=\"labels.edit\"\n (click)=\"invokeRowActionEdit(node, column)\">\n\n <i class=\"bi bi-pencil\"></i>\n </button>\n }\n\n <!-- Print Button Status -->\n @if (cellRendererParams?.printButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.print\"\n [title]=\"labels.print\"\n (click)=\"invokeRowActionPrint(node, column)\">\n\n <i class=\"bi bi-printer\"></i>\n </button>\n }\n\n <!-- History Button Status -->\n @if (cellRendererParams?.historyButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.history\"\n [title]=\"labels.history\"\n (click)=\"invokeRowActionHistory(node, column)\">\n\n <i class=\"bi bi-clock-history\"></i>\n </button>\n }\n\n <!-- Option Button Status -->\n @if (cellRendererParams?.optionButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.option\"\n [title]=\"labels.option\"\n (click)=\"invokeRowActionOption(node, column)\">\n\n <i class=\"bi bi-three-dots-vertical\"></i>\n </button>\n }\n\n <!-- Language Button Status -->\n @if (cellRendererParams?.languageButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.language\"\n [title]=\"labels.language\"\n (click)=\"invokeRowActionLanguage(node, column)\">\n\n <i class=\"bi bi-translate\"></i>\n </button>\n }\n\n <!-- Cell Option Button Status (Context Menu) -->\n @if (cellRendererParams?.cellOptionButtonStatus === 1) {\n <button\n type=\"button\"\n class=\"btn-action btn-action-primary border-0 text-body\"\n [style.background]=\"'transparent'\"\n [class.disabled]=\"actionDisabled\"\n [disabled]=\"actionDisabled\"\n [attr.aria-label]=\"labels.cellOption\"\n [title]=\"labels.cellOption\"\n (click)=\"invokeRowActionCellOption(node, column)\">\n\n <i class=\"bi bi-three-dots-vertical\"></i>\n </button>\n }\n </div>\n}" }]
|
|
4219
4220
|
}], ctorParameters: () => [{ type: OneGridCellService }], propDecorators: { column: [{
|
|
4220
4221
|
type: Input,
|
|
4221
4222
|
args: [{ required: true }]
|
|
@@ -4226,15 +4227,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
4226
4227
|
type: Input,
|
|
4227
4228
|
args: [{ required: true }]
|
|
4228
4229
|
}], masterDetail: [{
|
|
4229
|
-
type: Input
|
|
4230
|
+
type: Input,
|
|
4231
|
+
args: [{ required: false }]
|
|
4230
4232
|
}], masterNode: [{
|
|
4231
|
-
type: Input
|
|
4233
|
+
type: Input,
|
|
4234
|
+
args: [{ required: false }]
|
|
4232
4235
|
}], cellRendererParams: [{
|
|
4233
|
-
type: Input
|
|
4236
|
+
type: Input,
|
|
4237
|
+
args: [{ required: false }]
|
|
4234
4238
|
}], gridType: [{
|
|
4235
|
-
type: Input
|
|
4239
|
+
type: Input,
|
|
4240
|
+
args: [{ required: false }]
|
|
4236
4241
|
}], context: [{
|
|
4237
|
-
type: Input
|
|
4242
|
+
type: Input,
|
|
4243
|
+
args: [{ required: false }]
|
|
4238
4244
|
}], onRowGotoDetail: [{
|
|
4239
4245
|
type: Output
|
|
4240
4246
|
}], onRowAddNew: [{
|