nira-falcon 0.1.68 → 0.1.72
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/esm2022/lib/core-table/core-table/core-table.component.mjs +26 -6
- package/esm2022/lib/core-table/core-table/core-table.type.mjs +1 -1
- package/fesm2022/nira-falcon.mjs +25 -5
- package/fesm2022/nira-falcon.mjs.map +1 -1
- package/lib/core-table/core-table/core-table.type.d.ts +1 -0
- package/package.json +1 -1
|
@@ -82,15 +82,14 @@ export class CoreTableComponent {
|
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
84
|
handleEnter(event) {
|
|
85
|
-
const
|
|
85
|
+
const key = event;
|
|
86
86
|
if (document.activeElement === this.table.nativeElement) {
|
|
87
|
-
if (
|
|
87
|
+
if (key.key === 'ArrowDown') {
|
|
88
88
|
if (this.selectedItemIndex === this.sortedTableData.length - 1)
|
|
89
89
|
return;
|
|
90
90
|
if (this.selectedItemIndex < this.sortedTableData.length - 1) {
|
|
91
91
|
this.selectedItemIndex++;
|
|
92
92
|
this.selectedItem = this.sortedTableData[this.selectedItemIndex];
|
|
93
|
-
this.onItemSelected.emit(this.selectedItem);
|
|
94
93
|
document
|
|
95
94
|
.getElementById('tableRow_' + this.salt + '_' + this.selectedItemIndex)
|
|
96
95
|
?.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
@@ -98,13 +97,12 @@ export class CoreTableComponent {
|
|
|
98
97
|
event.preventDefault();
|
|
99
98
|
return;
|
|
100
99
|
}
|
|
101
|
-
else if (
|
|
100
|
+
else if (key.key === 'ArrowUp') {
|
|
102
101
|
if (this.selectedItemIndex === 0)
|
|
103
102
|
return;
|
|
104
103
|
if (this.selectedItemIndex > 0) {
|
|
105
104
|
this.selectedItemIndex--;
|
|
106
105
|
this.selectedItem = this.sortedTableData[this.selectedItemIndex];
|
|
107
|
-
this.onItemSelected.emit(this.selectedItem);
|
|
108
106
|
document
|
|
109
107
|
.getElementById('tableRow_' + this.salt + '_' + this.selectedItemIndex)
|
|
110
108
|
?.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
@@ -112,6 +110,28 @@ export class CoreTableComponent {
|
|
|
112
110
|
event.preventDefault();
|
|
113
111
|
return;
|
|
114
112
|
}
|
|
113
|
+
else if (key.key === 'Enter') {
|
|
114
|
+
this.onItemSelected.emit(this.selectedItem);
|
|
115
|
+
event.preventDefault();
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
else if (key.altKey) {
|
|
119
|
+
const actionButtons = this.columnsSchema.find((schema) => schema.type === COLUMNS_TYPES.ACTION_BUTTONS);
|
|
120
|
+
actionButtons.data.forEach((actionButton) => {
|
|
121
|
+
if (actionButton.keyboardShortcut) {
|
|
122
|
+
const regex = new RegExp('^(' + actionButton.keyboardShortcut + ')$', 'i');
|
|
123
|
+
if (regex.test(key.key)) {
|
|
124
|
+
this.columnClicked({
|
|
125
|
+
data: this.selectedItem,
|
|
126
|
+
key: actionButton.key,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
this.onItemSelected.emit(this.selectedItem);
|
|
132
|
+
event.preventDefault();
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
115
135
|
}
|
|
116
136
|
}
|
|
117
137
|
onItemSelect(data, index, event) {
|
|
@@ -261,4 +281,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
261
281
|
type: HostListener,
|
|
262
282
|
args: ['document:keydown', ['$event']]
|
|
263
283
|
}] } });
|
|
264
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbGliL3NyYy9saWIvY29yZS10YWJsZS9jb3JlLXRhYmxlL2NvcmUtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS9jb3JlLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3ZDLE9BQU8sRUFBUSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU9sRCxNQUFNLE9BQU8sa0JBQWtCO0lBeUI3QixJQUFJLFlBQVk7UUFDZCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsWUFBb0IsU0FBOEI7UUFBOUIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUE3QnZCLGtCQUFhLEdBQW9CLEVBQUUsQ0FBQztRQUNwQyxjQUFTLEdBQ2xDLElBQUksZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ0wsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQix1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LEtBQUs7Z0JBQ3NCLFdBQVc7c0JBQXRDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO2dCQUNFLFdBQVc7c0JBQXRDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO2dCQUVoQixlQUFlO3NCQUF4QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNhLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFnRWxCLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTmd4SW5kZXhlZERCU2VydmljZSB9IGZyb20gJ25neC1pbmRleGVkLWRiJztcclxuaW1wb3J0IHsgZmluZCwgb3JkZXJCeSB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IEFDVElWRV9PUFRJT05TLCBZRVNfTk9fT1BUSU9OUyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlsJztcclxuaW1wb3J0IHsgQ29sdW1uc1NjaGVtYSB9IGZyb20gJy4vY29yZS10YWJsZS50eXBlJztcclxuaW1wb3J0IHsgQ09MVU1OU19UWVBFUyB9IGZyb20gJy4uLy4uL2ZhbGNvblR5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29yZS10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvcmUtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvcmVUYWJsZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIGtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbHVtbnNTY2hlbWE6IENvbHVtbnNTY2hlbWFbXSA9IFtdO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRhYmxlRGF0YTogQmVoYXZpb3JTdWJqZWN0PGFueVtdPiA9XHJcbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihbXSk7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIHJlc3BvbnNpdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBjYW5TZWxlY3RGaXJzdEl0ZW06IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBsb2FkaW5nOiBhbnk7XHJcbiAgQElucHV0KCkgY2FuRmlsdGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIHN0eWxlRmlsdGVyOiAoKGRhdGE6IGFueSkgPT4gc3RyaW5nKSB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgcm93U2VsZWN0b3I6IEJlaGF2aW9yU3ViamVjdDxhbnk+IHwgdW5kZWZpbmVkID1cclxuICAgIHVuZGVmaW5lZDtcclxuICBAT3V0cHV0KCkgb25Db2x1bW5DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25Db2x1bW5WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkl0ZW1TZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQFZpZXdDaGlsZCgndGFibGUnKSB0YWJsZSE6IEVsZW1lbnRSZWY8SFRNTFRhYmxlRWxlbWVudD47XHJcbiAgQUNUSVZFX09QVElPTlMgPSBBQ1RJVkVfT1BUSU9OUztcclxuICBZRVNfTk9fT1BUSU9OUyA9IFlFU19OT19PUFRJT05TO1xyXG4gIHNvcnREZXRhaWw6IHsga2V5OiBzdHJpbmc7IHNvcnQ6ICdhc2MnIHwgJ2Rlc2MnIH0gfCB1bmRlZmluZWQ7XHJcbiAgc2VsZWN0ZWRJdGVtOiBhbnkgPSB1bmRlZmluZWQ7XHJcbiAgc29ydGVkVGFibGVEYXRhOiBhbnlbXSA9IFtdO1xyXG4gIGRiVGFibGVGaWx0ZXI6IGFueTtcclxuICBpbmRleCA9IDA7XHJcbiAgc2FsdCA9IHRoaXMucmFuZG9tU3RyaW5nKDUpO1xyXG4gIHNlbGVjdGVkSXRlbUluZGV4ID0gMDtcclxuICBnZXQgY29sdW1uc1R5cGVzKCkge1xyXG4gICAgcmV0dXJuIENPTFVNTlNfVFlQRVM7XHJcbiAgfVxyXG4gIGdldCBpc1J1bm5pbmdPblNtYWxsU2NyZWVuKCkge1xyXG4gICAgcmV0dXJuIFV0aWwuaXNSdW5uaW5nT25TbWFsbFNjcmVlbigpO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRiU2VydmljZTogTmd4SW5kZXhlZERCU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRhYmxlRGF0YS5zdWJzY3JpYmUoKHZhbDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuc29ydGVkVGFibGVEYXRhID0gdmFsO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5jYW5TZWxlY3RGaXJzdEl0ZW0gJiZcclxuICAgICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YS5sZW5ndGggPiAwICYmXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPT09IHVuZGVmaW5lZFxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuc29ydGVkVGFibGVEYXRhWzBdO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtSW5kZXggPSAwO1xyXG4gICAgICAgIHRoaXMudGFibGUubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLmtleSkge1xyXG4gICAgICB0aGlzLmRiU2VydmljZVxyXG4gICAgICAgIC5nZXRCeUluZGV4KCd0YWJsZUZpbHRlcicsICdrZXknLCB0aGlzLmtleSlcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGJUYWJsZUZpbHRlciA9IGRhdGE7XHJcbiAgICAgICAgICBpZiAodGhpcy5kYlRhYmxlRmlsdGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVGaWx0ZXIoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGFibGUubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgaWYgKHRoaXMuY2FuU2VsZWN0Rmlyc3RJdGVtICYmIHRoaXMuc29ydGVkVGFibGVEYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0aGlzLnNvcnRlZFRhYmxlRGF0YVswXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFRhYmxlRmlsdGVyKCkge1xyXG4gICAgdGhpcy5jb2x1bW5zU2NoZW1hLm1hcCgoY29sdW1uOiBhbnkpID0+IHtcclxuICAgICAgSlNPTi5wYXJzZSh0aGlzLmRiVGFibGVGaWx0ZXIuY29sdW1uc1NjaGVtYSkuZm9yRWFjaChcclxuICAgICAgICAoZGJDb2x1bW5zU2NoZW1hOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChkYkNvbHVtbnNTY2hlbWEua2V5ID09PSBjb2x1bW4ua2V5KSB7XHJcbiAgICAgICAgICAgIGNvbHVtbi5hY3RpdmUgPSBkYkNvbHVtbnNTY2hlbWEuYWN0aXZlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIGNvbHVtbjtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlRW50ZXIoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCBrZSA9IGV2ZW50IGFzIEtleWJvYXJkRXZlbnQ7XHJcbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy50YWJsZS5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIGlmIChrZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtSW5kZXggPT09IHRoaXMuc29ydGVkVGFibGVEYXRhLmxlbmd0aCAtIDEpIHJldHVybjtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1JbmRleCA8IHRoaXMuc29ydGVkVGFibGVEYXRhLmxlbmd0aCAtIDEpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtSW5kZXgrKztcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5zb3J0ZWRUYWJsZURhdGFbdGhpcy5zZWxlY3RlZEl0ZW1JbmRleF07XHJcbiAgICAgICAgICB0aGlzLm9uSXRlbVNlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW0pO1xyXG4gICAgICAgICAgZG9jdW1lbnRcclxuICAgICAgICAgICAgLmdldEVsZW1lbnRCeUlkKFxyXG4gICAgICAgICAgICAgICd0YWJsZVJvd18nICsgdGhpcy5zYWx0ICsgJ18nICsgdGhpcy5zZWxlY3RlZEl0ZW1JbmRleFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgID8uc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnY2VudGVyJyB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH0gZWxzZSBpZiAoa2Uua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1JbmRleCA9PT0gMCkgcmV0dXJuO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbUluZGV4ID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1JbmRleC0tO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0aGlzLnNvcnRlZFRhYmxlRGF0YVt0aGlzLnNlbGVjdGVkSXRlbUluZGV4XTtcclxuICAgICAgICAgIHRoaXMub25JdGVtU2VsZWN0ZWQuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbSk7XHJcbiAgICAgICAgICBkb2N1bWVudFxyXG4gICAgICAgICAgICAuZ2V0RWxlbWVudEJ5SWQoXHJcbiAgICAgICAgICAgICAgJ3RhYmxlUm93XycgKyB0aGlzLnNhbHQgKyAnXycgKyB0aGlzLnNlbGVjdGVkSXRlbUluZGV4XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgPy5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdjZW50ZXInIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBvbkl0ZW1TZWxlY3QoZGF0YTogYW55LCBpbmRleDogbnVtYmVyLCBldmVudDogRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbUluZGV4ID0gaW5kZXg7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGRhdGE7XHJcbiAgICB0aGlzLm9uSXRlbVNlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgY29sdW1uQ2xpY2tlZCh2YWw6IGFueSkge1xyXG4gICAgdGhpcy5vbkNvbHVtbkNsaWNrZWQuZW1pdCh2YWwpO1xyXG4gIH1cclxuICBjb2x1bW5WYWx1ZUNoYW5nZWQodmFsOiBhbnkpIHtcclxuICAgIHRoaXMub25Db2x1bW5WYWx1ZUNoYW5nZWQuZW1pdCh2YWwpO1xyXG4gIH1cclxuICBzb3J0QnlIZWFkZXIoY29sdW1uOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNvcnREZXRhaWwgJiYgdGhpcy5zb3J0RGV0YWlsLmtleSA9PSBjb2x1bW4ua2V5KSB7XHJcbiAgICAgIGlmICh0aGlzLnNvcnREZXRhaWwuc29ydCA9PSAnZGVzYycpIHtcclxuICAgICAgICB0aGlzLnNvcnREZXRhaWwgPSB7IGtleTogY29sdW1uLmtleSwgc29ydDogJ2FzYycgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNvcnREZXRhaWwgPSB7IGtleTogY29sdW1uLmtleSwgc29ydDogJ2Rlc2MnIH07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc29ydERldGFpbCA9IHsga2V5OiBjb2x1bW4ua2V5LCBzb3J0OiAnYXNjJyB9O1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBjb2x1bW4udHlwZSA9PSBDT0xVTU5TX1RZUEVTLlRFWFQgfHxcclxuICAgICAgY29sdW1uLnR5cGUgPT0gQ09MVU1OU19UWVBFUy5OVU1CRVJcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YSA9IG9yZGVyQnkoXHJcbiAgICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEsXHJcbiAgICAgICAgW2NvbHVtbi5rZXldLFxyXG4gICAgICAgIFt0aGlzLnNvcnREZXRhaWwuc29ydF1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSBpZiAoY29sdW1uLnR5cGUgPT0gQ09MVU1OU19UWVBFUy5TRUxFQ1RPUikge1xyXG4gICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YSA9IG9yZGVyQnkoXHJcbiAgICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEsXHJcbiAgICAgICAgWyhjKSA9PiBjW2NvbHVtbi5rZXldW2NvbHVtbi5kYXRhLmtleV1dLFxyXG4gICAgICAgIFt0aGlzLnNvcnREZXRhaWwuc29ydF1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSBpZiAoY29sdW1uLnR5cGUgPT0gQ09MVU1OU19UWVBFUy5TSEFNU0lfREFURSkge1xyXG4gICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YSA9IG9yZGVyQnkoXHJcbiAgICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEsXHJcbiAgICAgICAgWyhjKSA9PiBuZXcgRGF0ZShjW2NvbHVtbi5rZXldKS5nZXRUaW1lKCldLFxyXG4gICAgICAgIFt0aGlzLnNvcnREZXRhaWwuc29ydF1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFjdGl2ZUNvbHVtbnNTY2hlbWEoKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29sdW1uc1NjaGVtYS5maWx0ZXIoXHJcbiAgICAgIChjb2x1bW46IGFueSkgPT4gY29sdW1uLmFjdGl2ZSA9PT0gdW5kZWZpbmVkIHx8IGNvbHVtbi5hY3RpdmVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB0YWJsZURhdGFGaWx0ZXJlZCh0ZXh0OiBTdHJpbmcgfCBib29sZWFuLCBjb2x1bW46IGFueSkge1xyXG4gICAgdGhpcy5jb2x1bW5zU2NoZW1hLm1hcCgoY29sdW1uU2NoZW1hOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGNvbHVtblNjaGVtYS5rZXkgPT09IGNvbHVtbi5rZXkpIHtcclxuICAgICAgICBjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyID0gdGV4dDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gY29sdW1uU2NoZW1hO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnRhYmxlRGF0YS5zdWJzY3JpYmUoKHRhYmxlRGF0YSkgPT4ge1xyXG4gICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YSA9IHRhYmxlRGF0YS5maWx0ZXIoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY29sdW1uc1NjaGVtYS5mb3JFYWNoKChjb2x1bW5TY2hlbWE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBjb2x1bW5TY2hlbWEudHlwZSA9PT0gdGhpcy5jb2x1bW5zVHlwZXMuUk9XX1NFTEVDVE9SIHx8XHJcbiAgICAgICAgICAgIGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5BQ1RJT04gfHxcclxuICAgICAgICAgICAgY29sdW1uU2NoZW1hLnR5cGUgPT09IHRoaXMuY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TIHx8XHJcbiAgICAgICAgICAgIGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXIgPT09IHVuZGVmaW5lZCB8fFxyXG4gICAgICAgICAgICAhcmVzdWx0XHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5TRUxFQ1RPUikge1xyXG4gICAgICAgICAgICByZXN1bHQgPSBkYXRhW2NvbHVtblNjaGVtYS5rZXldW2NvbHVtblNjaGVtYS5kYXRhLmtleV1cclxuICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICAgICAgIC5pbmNsdWRlcyhjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5TSEFNU0lfREFURSkge1xyXG4gICAgICAgICAgICBpZiAoY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlciA9PT0gJycpIHtcclxuICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHJlc3VsdCA9IGRhdGFbY29sdW1uU2NoZW1hLmtleV1cclxuICAgICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgICAgICAgICAuaW5jbHVkZXMoXHJcbiAgICAgICAgICAgICAgICAgIFV0aWwuc2hhbXNpVG9NaWxhZGkoXHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlci50b1N0cmluZygpLFxyXG4gICAgICAgICAgICAgICAgICAgICdZWVlZLU1NLUREJ1xyXG4gICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5NVUxUSV9DT0xVTU4pIHtcclxuICAgICAgICAgICAgcmVzdWx0ID0gY29sdW1uU2NoZW1hLmNvbHVtbnMuc29tZSgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGRhdGFbaXRlbS5rZXldW2l0ZW0uZGF0YS5rZXldXHJcbiAgICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICAgICAgICAgLmluY2x1ZGVzKGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXI/LnRvU3RyaW5nKCk/LnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoY29sdW1uU2NoZW1hLnR5cGUgPT09IHRoaXMuY29sdW1uc1R5cGVzLlNUQVRVUykge1xyXG4gICAgICAgICAgICBpZiAoY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlciA9PT0gJycpIHtcclxuICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHJlc3VsdCA9IGRhdGFbY29sdW1uU2NoZW1hLmtleV0gPT09IGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGRhdGFbY29sdW1uU2NoZW1hLmtleV1cclxuICAgICAgICAgICAgICAudG9TdHJpbmcoKVxyXG4gICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgICAgICAgLmluY2x1ZGVzKGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXI/LnRvU3RyaW5nKCk/LnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByYW5kb21TdHJpbmcobGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIE1hdGgucmFuZG9tKClcclxuICAgICAgLnRvU3RyaW5nKDM2KVxyXG4gICAgICAuc3Vic3RyaW5nKDIsIDIgKyBsZW5ndGgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicC0yIG92ZXJmbG93LXgtYXV0b1wiPlxyXG4gIDx0YWJsZVxyXG4gICAgI3RhYmxlXHJcbiAgICB0YWJpbmRleD1cIjBcIlxyXG4gICAgKm5nSWY9XCIhaXNSdW5uaW5nT25TbWFsbFNjcmVlbiB8fCAhcmVzcG9uc2l2ZTsgZWxzZSBzbWFsbERldmljZUNhcmRcIlxyXG4gID5cclxuICAgIDx0cj5cclxuICAgICAgPHRoXHJcbiAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciB0ZXh0LWNlbnRlclwiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBhY3RpdmVDb2x1bW5zU2NoZW1hKClcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgd2lkdGg6IGNvbHVtbj8ud2lkdGggKyAncHgnIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJncmlkXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cIltjYW5GaWx0ZXIgPyAnZ3JpZC1yb3dzLTInIDogJ2dyaWQtcm93cy0xJ11cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicC0yIHJlbGF0aXZlXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNvcnRCeUhlYWRlcihjb2x1bW4pXCJcclxuICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgIG1pbldpZHRoOlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLnR5cGUgPT09IGNvbHVtbnNUeXBlcy5BQ1RJT05fQlVUVE9OU1xyXG4gICAgICAgICAgICAgICAgICA/IGNvbHVtbi5kYXRhLmxlbmd0aCAqIDMwICsgJ3B4J1xyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIGRpc3BsYXk6XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4udHlwZSA9PT0gY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TXHJcbiAgICAgICAgICAgICAgICAgID8gJ2lubGluZS1ibG9jaydcclxuICAgICAgICAgICAgICAgICAgOiAnJ1xyXG4gICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgPnt7IGNvbHVtbi5sYWJlbCB9fVxyXG4gICAgICAgICAgICA8YXBwLXNvcnQtZG93bi1pY29uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzb3J0LWljb24gdy0yIGgtMiBpbmxpbmUtYmxvY2sgYWJzb2x1dGUgdG9wLTMgcmlnaHQtWy0zcHhdXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgc29ydERldGFpbD8ua2V5ID09IGNvbHVtbi5rZXkgJiYgc29ydERldGFpbD8uc29ydCA9PT0gJ2FzYydcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICA+PC9hcHAtc29ydC1kb3duLWljb24+XHJcbiAgICAgICAgICAgIDxhcHAtc29ydC11cC1pY29uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzb3J0LWljb24gdy0yIGgtMiBpbmxpbmUtYmxvY2sgYWJzb2x1dGUgdG9wLTMgcmlnaHQtWy0zcHhdXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgc29ydERldGFpbD8ua2V5ID09IGNvbHVtbi5rZXkgJiYgc29ydERldGFpbD8uc29ydCA9PT0gJ2Rlc2MnXHJcbiAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgPjwvYXBwLXNvcnQtdXAtaWNvbj5cclxuICAgICAgICAgICAgPGFwcC1zb3J0LXNvbGlkLWljb25cclxuICAgICAgICAgICAgICBjbGFzcz1cInNvcnQtaWNvbiB3LTIgaC0yIGlubGluZS1ibG9jayBhYnNvbHV0ZSB0b3AtMyByaWdodC1bLTNweF1cIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwic29ydERldGFpbD8ua2V5ICE9PSBjb2x1bW4ua2V5XCJcclxuICAgICAgICAgICAgPjwvYXBwLXNvcnQtc29saWQtaWNvbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxjb3JlLWNvbHVtbi1kYXRlLXBpY2tlclxyXG4gICAgICAgICAgICAqbmdJZj1cImNhbkZpbHRlciAmJiBjb2x1bW4udHlwZSA9PSBjb2x1bW5zVHlwZXMuU0hBTVNJX0RBVEVcIlxyXG4gICAgICAgICAgICBbY2FuU2VsZWN0VG9kYXldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIChvbkNoYW5nZSk9XCJ0YWJsZURhdGFGaWx0ZXJlZCgkZXZlbnQsIGNvbHVtbilcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9jb3JlLWNvbHVtbi1kYXRlLXBpY2tlcj5cclxuICAgICAgICAgIDxjb3JlLWNvbHVtbi1pbnB1dFxyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgIGNhbkZpbHRlciAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuQUNUSU9OICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5DT0xPUiAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuU1RBVFVTICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5TSEFNU0lfREFURSAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuUk9XX1NFTEVDVE9SICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5TVEFUVVNfQUNUSVZFICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5BQ1RJT05fQlVUVE9OU1xyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAob25DaGFuZ2UpPVwidGFibGVEYXRhRmlsdGVyZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICAgID48L2NvcmUtY29sdW1uLWlucHV0PlxyXG4gICAgICAgICAgPGNvcmUtY29sdW1uLXNlbGVjdG9yXHJcbiAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgKGNhbkZpbHRlciAmJiBjb2x1bW4udHlwZSA9PSBjb2x1bW5zVHlwZXMuU1RBVFVTKSB8fFxyXG4gICAgICAgICAgICAgIChjYW5GaWx0ZXIgJiYgY29sdW1uLnR5cGUgPT0gY29sdW1uc1R5cGVzLlNUQVRVU19BQ1RJVkUpXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFt0aXRsZUtleV09XCIndGl0bGUnXCJcclxuICAgICAgICAgICAgW3ZhbHVlS2V5XT1cIid2YWx1ZSdcIlxyXG4gICAgICAgICAgICBbaXRlbXNdPVwiXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgPT0gY29sdW1uc1R5cGVzLlNUQVRVU1xyXG4gICAgICAgICAgICAgICAgPyBBQ1RJVkVfT1BUSU9OU1xyXG4gICAgICAgICAgICAgICAgOiBZRVNfTk9fT1BUSU9OU1xyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAob25JdGVtU2VsZWN0ZWQpPVwidGFibGVEYXRhRmlsdGVyZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICAgID48L2NvcmUtY29sdW1uLXNlbGVjdG9yPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3RoPlxyXG4gICAgPC90cj5cclxuICAgIDx0clxyXG4gICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBzb3J0ZWRUYWJsZURhdGE7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICBbaWRdPVwiJ3RhYmxlUm93XycgKyBzYWx0ICsgJ18nICsgaVwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdC1pdGVtJzogZGF0YS5pZCA9PT0gc2VsZWN0ZWRJdGVtPy5pZCB9XCJcclxuICAgICAgKGNsaWNrKT1cIm9uSXRlbVNlbGVjdChkYXRhLCBpLCAkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPHRkXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBhY3RpdmVDb2x1bW5zU2NoZW1hKClcIlxyXG4gICAgICAgIFtjbGFzc109XCJzdHlsZUZpbHRlciA/IHN0eWxlRmlsdGVyKGRhdGEpIDogJydcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGFwcC1jb3JlLXRhYmxlLWNvbHVtbi1tYW5hZ2VyXHJcbiAgICAgICAgICAqbmdJZj1cImNvbHVtbi50eXBlICE9IGNvbHVtbnNUeXBlcy5NVUxUSV9DT0xVTU47IGVsc2UgZWxzZUJsb2NrXCJcclxuICAgICAgICAgIFtyb3dTZWxlY3Rvcl09XCJyb3dTZWxlY3RvclwiXHJcbiAgICAgICAgICAob25Db2x1bW5DbGlja2VkKT1cImNvbHVtbkNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAob25Db2x1bW5WYWx1ZUNoYW5nZWQpPVwiY29sdW1uVmFsdWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgW2FsbFRhYmxlRGF0YV09XCJzb3J0ZWRUYWJsZURhdGFcIlxyXG4gICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgICAgICAgPjwvYXBwLWNvcmUtdGFibGUtY29sdW1uLW1hbmFnZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlQmxvY2s+XHJcbiAgICAgICAgICA8YXBwLWNvcmUtdGFibGUtY29sdW1uLW1hbmFnZXJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNoaWxkQ29sdW1uIG9mIGNvbHVtbi5jb2x1bW5zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgW3Jvd1NlbGVjdG9yXT1cInJvd1NlbGVjdG9yXCJcclxuICAgICAgICAgICAgKG9uQ29sdW1uQ2xpY2tlZCk9XCJjb2x1bW5DbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZGF0YV09XCJkYXRhXCJcclxuICAgICAgICAgICAgW2FsbFRhYmxlRGF0YV09XCJzb3J0ZWRUYWJsZURhdGFcIlxyXG4gICAgICAgICAgICBbY29sdW1uXT1cImNoaWxkQ29sdW1uXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpID4gMFwiPi08L3NwYW4+XHJcbiAgICAgICAgICA8L2FwcC1jb3JlLXRhYmxlLWNvbHVtbi1tYW5hZ2VyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L3RyPlxyXG4gIDwvdGFibGU+XHJcbiAgPG5nLXRlbXBsYXRlICNzbWFsbERldmljZUNhcmQ+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8Y29yZS1jYXJkXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGRhdGEgb2Ygc29ydGVkVGFibGVEYXRhXCJcclxuICAgICAgICBbY2FyZENsYXNzXT1cIidiYWNrZ3JvdW5kLWNhcmQgbS00IHAtNCByZWxhdGl2ZSdcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJsZWFkaW5nLThcIlxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBhY3RpdmVDb2x1bW5zU2NoZW1hKClcIlxyXG4gICAgICAgICAgW2NsYXNzXT1cIlxyXG4gICAgICAgICAgICBjb2x1bW4udHlwZSA9PT0gY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TXHJcbiAgICAgICAgICAgICAgPyAnYWN0aW9uQnV0dG9ucydcclxuICAgICAgICAgICAgICA6IGNvbHVtbi50eXBlID09PSBjb2x1bW5zVHlwZXMuUk9XX1NFTEVDVE9SXHJcbiAgICAgICAgICAgICAgPyAnc2VsZWN0Um93J1xyXG4gICAgICAgICAgICAgIDogJydcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgICBjb2x1bW4udHlwZSAhPT0gY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5ST1dfU0VMRUNUT1JcclxuICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJzZWNvbmRhcnktdGV4dC1jb2xvclwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IGNvbHVtbi5sYWJlbCB9fSA6XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW1hcnktdGV4dC1jb2xvciBmb250LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgIDxhcHAtY29yZS10YWJsZS1jYXJkLW1hbmFnZXJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT0gY29sdW1uc1R5cGVzLk1VTFRJX0NPTFVNTjtcclxuICAgICAgICAgICAgICAgIGVsc2UgY2FyZE1hbmFnZXJFbHNlQmxvY2tcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgIFtyb3dTZWxlY3Rvcl09XCJyb3dTZWxlY3RvclwiXHJcbiAgICAgICAgICAgICAgKG9uQ29sdW1uQ2xpY2tlZCk9XCJjb2x1bW5DbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgICAgICAgICAgIFthbGxUYWJsZURhdGFdPVwic29ydGVkVGFibGVEYXRhXCJcclxuICAgICAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9hcHAtY29yZS10YWJsZS1jYXJkLW1hbmFnZXI+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2NhcmRNYW5hZ2VyRWxzZUJsb2NrPlxyXG4gICAgICAgICAgICAgIDxhcHAtY29yZS10YWJsZS1jYXJkLW1hbmFnZXJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZENvbHVtbiBvZiBjb2x1bW4uY29sdW1uczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICBbcm93U2VsZWN0b3JdPVwicm93U2VsZWN0b3JcIlxyXG4gICAgICAgICAgICAgICAgKG9uQ29sdW1uQ2xpY2tlZCk9XCJjb2x1bW5DbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICAgICBbYWxsVGFibGVEYXRhXT1cInNvcnRlZFRhYmxlRGF0YVwiXHJcbiAgICAgICAgICAgICAgICBbY29sdW1uXT1cImNoaWxkQ29sdW1uXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImkgPiAwXCI+LTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2FwcC1jb3JlLXRhYmxlLWNhcmQtbWFuYWdlcj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9jb3JlLWNhcmQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxjb3JlLXRhYmxlLW5vLWNvbnRlbnRcclxuICAgICpuZ0lmPVwiIWxvYWRpbmdcIlxyXG4gICAgW3RhYmxlRGF0YV09XCJzb3J0ZWRUYWJsZURhdGFcIlxyXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgPjwvY29yZS10YWJsZS1uby1jb250ZW50PlxyXG48L2Rpdj5cclxuIl19
|
|
284
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbGliL3NyYy9saWIvY29yZS10YWJsZS9jb3JlLXRhYmxlL2NvcmUtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS9jb3JlLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3ZDLE9BQU8sRUFBUSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU9sRCxNQUFNLE9BQU8sa0JBQWtCO0lBeUI3QixJQUFJLFlBQVk7UUFDZCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsWUFBb0IsU0FBOEI7UUFBOUIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUE3QnZCLGtCQUFhLEdBQW9CLEVBQUUsQ0FBQztRQUNwQyxjQUFTLEdBQ2xDLElBQUksZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ0wsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQix1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QWdFbEIsV0FBVztzQkFEVixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRDaGVja2VkLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBOZ3hJbmRleGVkREJTZXJ2aWNlIH0gZnJvbSAnbmd4LWluZGV4ZWQtZGInO1xyXG5pbXBvcnQgeyBmaW5kLCBvcmRlckJ5IH0gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgQUNUSVZFX09QVElPTlMsIFlFU19OT19PUFRJT05TIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xyXG5pbXBvcnQgeyBDb2x1bW5zU2NoZW1hIH0gZnJvbSAnLi9jb3JlLXRhYmxlLnR5cGUnO1xyXG5pbXBvcnQgeyBDT0xVTU5TX1RZUEVTIH0gZnJvbSAnLi4vLi4vZmFsY29uVHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb3JlLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29yZS10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29yZS10YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZVRhYmxlQ29tcG9uZW50IHtcclxuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkga2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29sdW1uc1NjaGVtYTogQ29sdW1uc1NjaGVtYVtdID0gW107XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdGFibGVEYXRhOiBCZWhhdmlvclN1YmplY3Q8YW55W10+ID1cclxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcclxuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgcmVzcG9uc2l2ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIGNhblNlbGVjdEZpcnN0SXRlbTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGxvYWRpbmc6IGFueTtcclxuICBASW5wdXQoKSBjYW5GaWx0ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgc3R5bGVGaWx0ZXI6ICgoZGF0YTogYW55KSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSByb3dTZWxlY3RvcjogQmVoYXZpb3JTdWJqZWN0PGFueT4gfCB1bmRlZmluZWQgPVxyXG4gICAgdW5kZWZpbmVkO1xyXG4gIEBPdXRwdXQoKSBvbkNvbHVtbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkNvbHVtblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uSXRlbVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAVmlld0NoaWxkKCd0YWJsZScpIHRhYmxlITogRWxlbWVudFJlZjxIVE1MVGFibGVFbGVtZW50PjtcclxuICBBQ1RJVkVfT1BUSU9OUyA9IEFDVElWRV9PUFRJT05TO1xyXG4gIFlFU19OT19PUFRJT05TID0gWUVTX05PX09QVElPTlM7XHJcbiAgc29ydERldGFpbDogeyBrZXk6IHN0cmluZzsgc29ydDogJ2FzYycgfCAnZGVzYycgfSB8IHVuZGVmaW5lZDtcclxuICBzZWxlY3RlZEl0ZW06IGFueSA9IHVuZGVmaW5lZDtcclxuICBzb3J0ZWRUYWJsZURhdGE6IGFueVtdID0gW107XHJcbiAgZGJUYWJsZUZpbHRlcjogYW55O1xyXG4gIGluZGV4ID0gMDtcclxuICBzYWx0ID0gdGhpcy5yYW5kb21TdHJpbmcoNSk7XHJcbiAgc2VsZWN0ZWRJdGVtSW5kZXggPSAwO1xyXG4gIGdldCBjb2x1bW5zVHlwZXMoKSB7XHJcbiAgICByZXR1cm4gQ09MVU1OU19UWVBFUztcclxuICB9XHJcbiAgZ2V0IGlzUnVubmluZ09uU21hbGxTY3JlZW4oKSB7XHJcbiAgICByZXR1cm4gVXRpbC5pc1J1bm5pbmdPblNtYWxsU2NyZWVuKCk7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGJTZXJ2aWNlOiBOZ3hJbmRleGVkREJTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGFibGVEYXRhLnN1YnNjcmliZSgodmFsOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEgPSB2YWw7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLmNhblNlbGVjdEZpcnN0SXRlbSAmJlxyXG4gICAgICAgIHRoaXMuc29ydGVkVGFibGVEYXRhLmxlbmd0aCA+IDAgJiZcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9PT0gdW5kZWZpbmVkXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5zb3J0ZWRUYWJsZURhdGFbMF07XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1JbmRleCA9IDA7XHJcbiAgICAgICAgdGhpcy50YWJsZS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMua2V5KSB7XHJcbiAgICAgIHRoaXMuZGJTZXJ2aWNlXHJcbiAgICAgICAgLmdldEJ5SW5kZXgoJ3RhYmxlRmlsdGVyJywgJ2tleScsIHRoaXMua2V5KVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5kYlRhYmxlRmlsdGVyID0gZGF0YTtcclxuICAgICAgICAgIGlmICh0aGlzLmRiVGFibGVGaWx0ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRUYWJsZUZpbHRlcigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50YWJsZS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICBpZiAodGhpcy5jYW5TZWxlY3RGaXJzdEl0ZW0gJiYgdGhpcy5zb3J0ZWRUYWJsZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuc29ydGVkVGFibGVEYXRhWzBdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0VGFibGVGaWx0ZXIoKSB7XHJcbiAgICB0aGlzLmNvbHVtbnNTY2hlbWEubWFwKChjb2x1bW46IGFueSkgPT4ge1xyXG4gICAgICBKU09OLnBhcnNlKHRoaXMuZGJUYWJsZUZpbHRlci5jb2x1bW5zU2NoZW1hKS5mb3JFYWNoKFxyXG4gICAgICAgIChkYkNvbHVtbnNTY2hlbWE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGRiQ29sdW1uc1NjaGVtYS5rZXkgPT09IGNvbHVtbi5rZXkpIHtcclxuICAgICAgICAgICAgY29sdW1uLmFjdGl2ZSA9IGRiQ29sdW1uc1NjaGVtYS5hY3RpdmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm4gY29sdW1uO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVFbnRlcihldmVudDogRXZlbnQpIHtcclxuICAgIGNvbnN0IGtleSA9IGV2ZW50IGFzIEtleWJvYXJkRXZlbnQ7XHJcbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy50YWJsZS5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIGlmIChrZXkua2V5ID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbUluZGV4ID09PSB0aGlzLnNvcnRlZFRhYmxlRGF0YS5sZW5ndGggLSAxKSByZXR1cm47XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtSW5kZXggPCB0aGlzLnNvcnRlZFRhYmxlRGF0YS5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbUluZGV4Kys7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuc29ydGVkVGFibGVEYXRhW3RoaXMuc2VsZWN0ZWRJdGVtSW5kZXhdO1xyXG4gICAgICAgICAgZG9jdW1lbnRcclxuICAgICAgICAgICAgLmdldEVsZW1lbnRCeUlkKFxyXG4gICAgICAgICAgICAgICd0YWJsZVJvd18nICsgdGhpcy5zYWx0ICsgJ18nICsgdGhpcy5zZWxlY3RlZEl0ZW1JbmRleFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgID8uc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnY2VudGVyJyB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH0gZWxzZSBpZiAoa2V5LmtleSA9PT0gJ0Fycm93VXAnKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtSW5kZXggPT09IDApIHJldHVybjtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1JbmRleCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtSW5kZXgtLTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5zb3J0ZWRUYWJsZURhdGFbdGhpcy5zZWxlY3RlZEl0ZW1JbmRleF07XHJcbiAgICAgICAgICBkb2N1bWVudFxyXG4gICAgICAgICAgICAuZ2V0RWxlbWVudEJ5SWQoXHJcbiAgICAgICAgICAgICAgJ3RhYmxlUm93XycgKyB0aGlzLnNhbHQgKyAnXycgKyB0aGlzLnNlbGVjdGVkSXRlbUluZGV4XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgPy5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdjZW50ZXInIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfSBlbHNlIGlmIChrZXkua2V5ID09PSAnRW50ZXInKSB7XHJcbiAgICAgICAgdGhpcy5vbkl0ZW1TZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfSBlbHNlIGlmIChrZXkuYWx0S2V5KSB7XHJcbiAgICAgICAgY29uc3QgYWN0aW9uQnV0dG9uczogYW55ID0gdGhpcy5jb2x1bW5zU2NoZW1hLmZpbmQoXHJcbiAgICAgICAgICAoc2NoZW1hOiBhbnkpID0+IHNjaGVtYS50eXBlID09PSBDT0xVTU5TX1RZUEVTLkFDVElPTl9CVVRUT05TXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgYWN0aW9uQnV0dG9ucy5kYXRhLmZvckVhY2goKGFjdGlvbkJ1dHRvbjogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoYWN0aW9uQnV0dG9uLmtleWJvYXJkU2hvcnRjdXQpIHtcclxuICAgICAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKFxyXG4gICAgICAgICAgICAgICdeKCcgKyBhY3Rpb25CdXR0b24ua2V5Ym9hcmRTaG9ydGN1dCArICcpJCcsXHJcbiAgICAgICAgICAgICAgJ2knXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGlmIChyZWdleC50ZXN0KGtleS5rZXkpKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jb2x1bW5DbGlja2VkKHtcclxuICAgICAgICAgICAgICAgIGRhdGE6IHRoaXMuc2VsZWN0ZWRJdGVtLFxyXG4gICAgICAgICAgICAgICAga2V5OiBhY3Rpb25CdXR0b24ua2V5LFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5vbkl0ZW1TZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBvbkl0ZW1TZWxlY3QoZGF0YTogYW55LCBpbmRleDogbnVtYmVyLCBldmVudDogRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbUluZGV4ID0gaW5kZXg7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGRhdGE7XHJcbiAgICB0aGlzLm9uSXRlbVNlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgY29sdW1uQ2xpY2tlZCh2YWw6IGFueSkge1xyXG4gICAgdGhpcy5vbkNvbHVtbkNsaWNrZWQuZW1pdCh2YWwpO1xyXG4gIH1cclxuICBjb2x1bW5WYWx1ZUNoYW5nZWQodmFsOiBhbnkpIHtcclxuICAgIHRoaXMub25Db2x1bW5WYWx1ZUNoYW5nZWQuZW1pdCh2YWwpO1xyXG4gIH1cclxuICBzb3J0QnlIZWFkZXIoY29sdW1uOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNvcnREZXRhaWwgJiYgdGhpcy5zb3J0RGV0YWlsLmtleSA9PSBjb2x1bW4ua2V5KSB7XHJcbiAgICAgIGlmICh0aGlzLnNvcnREZXRhaWwuc29ydCA9PSAnZGVzYycpIHtcclxuICAgICAgICB0aGlzLnNvcnREZXRhaWwgPSB7IGtleTogY29sdW1uLmtleSwgc29ydDogJ2FzYycgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNvcnREZXRhaWwgPSB7IGtleTogY29sdW1uLmtleSwgc29ydDogJ2Rlc2MnIH07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc29ydERldGFpbCA9IHsga2V5OiBjb2x1bW4ua2V5LCBzb3J0OiAnYXNjJyB9O1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBjb2x1bW4udHlwZSA9PSBDT0xVTU5TX1RZUEVTLlRFWFQgfHxcclxuICAgICAgY29sdW1uLnR5cGUgPT0gQ09MVU1OU19UWVBFUy5OVU1CRVJcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YSA9IG9yZGVyQnkoXHJcbiAgICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEsXHJcbiAgICAgICAgW2NvbHVtbi5rZXldLFxyXG4gICAgICAgIFt0aGlzLnNvcnREZXRhaWwuc29ydF1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSBpZiAoY29sdW1uLnR5cGUgPT0gQ09MVU1OU19UWVBFUy5TRUxFQ1RPUikge1xyXG4gICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YSA9IG9yZGVyQnkoXHJcbiAgICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEsXHJcbiAgICAgICAgWyhjKSA9PiBjW2NvbHVtbi5rZXldW2NvbHVtbi5kYXRhLmtleV1dLFxyXG4gICAgICAgIFt0aGlzLnNvcnREZXRhaWwuc29ydF1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSBpZiAoY29sdW1uLnR5cGUgPT0gQ09MVU1OU19UWVBFUy5TSEFNU0lfREFURSkge1xyXG4gICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YSA9IG9yZGVyQnkoXHJcbiAgICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEsXHJcbiAgICAgICAgWyhjKSA9PiBuZXcgRGF0ZShjW2NvbHVtbi5rZXldKS5nZXRUaW1lKCldLFxyXG4gICAgICAgIFt0aGlzLnNvcnREZXRhaWwuc29ydF1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFjdGl2ZUNvbHVtbnNTY2hlbWEoKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29sdW1uc1NjaGVtYS5maWx0ZXIoXHJcbiAgICAgIChjb2x1bW46IGFueSkgPT4gY29sdW1uLmFjdGl2ZSA9PT0gdW5kZWZpbmVkIHx8IGNvbHVtbi5hY3RpdmVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB0YWJsZURhdGFGaWx0ZXJlZCh0ZXh0OiBTdHJpbmcgfCBib29sZWFuLCBjb2x1bW46IGFueSkge1xyXG4gICAgdGhpcy5jb2x1bW5zU2NoZW1hLm1hcCgoY29sdW1uU2NoZW1hOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGNvbHVtblNjaGVtYS5rZXkgPT09IGNvbHVtbi5rZXkpIHtcclxuICAgICAgICBjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyID0gdGV4dDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gY29sdW1uU2NoZW1hO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnRhYmxlRGF0YS5zdWJzY3JpYmUoKHRhYmxlRGF0YSkgPT4ge1xyXG4gICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YSA9IHRhYmxlRGF0YS5maWx0ZXIoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY29sdW1uc1NjaGVtYS5mb3JFYWNoKChjb2x1bW5TY2hlbWE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBjb2x1bW5TY2hlbWEudHlwZSA9PT0gdGhpcy5jb2x1bW5zVHlwZXMuUk9XX1NFTEVDVE9SIHx8XHJcbiAgICAgICAgICAgIGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5BQ1RJT04gfHxcclxuICAgICAgICAgICAgY29sdW1uU2NoZW1hLnR5cGUgPT09IHRoaXMuY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TIHx8XHJcbiAgICAgICAgICAgIGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXIgPT09IHVuZGVmaW5lZCB8fFxyXG4gICAgICAgICAgICAhcmVzdWx0XHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5TRUxFQ1RPUikge1xyXG4gICAgICAgICAgICByZXN1bHQgPSBkYXRhW2NvbHVtblNjaGVtYS5rZXldW2NvbHVtblNjaGVtYS5kYXRhLmtleV1cclxuICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICAgICAgIC5pbmNsdWRlcyhjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5TSEFNU0lfREFURSkge1xyXG4gICAgICAgICAgICBpZiAoY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlciA9PT0gJycpIHtcclxuICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHJlc3VsdCA9IGRhdGFbY29sdW1uU2NoZW1hLmtleV1cclxuICAgICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgICAgICAgICAuaW5jbHVkZXMoXHJcbiAgICAgICAgICAgICAgICAgIFV0aWwuc2hhbXNpVG9NaWxhZGkoXHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlci50b1N0cmluZygpLFxyXG4gICAgICAgICAgICAgICAgICAgICdZWVlZLU1NLUREJ1xyXG4gICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5NVUxUSV9DT0xVTU4pIHtcclxuICAgICAgICAgICAgcmVzdWx0ID0gY29sdW1uU2NoZW1hLmNvbHVtbnMuc29tZSgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGRhdGFbaXRlbS5rZXldW2l0ZW0uZGF0YS5rZXldXHJcbiAgICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICAgICAgICAgLmluY2x1ZGVzKGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXI/LnRvU3RyaW5nKCk/LnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoY29sdW1uU2NoZW1hLnR5cGUgPT09IHRoaXMuY29sdW1uc1R5cGVzLlNUQVRVUykge1xyXG4gICAgICAgICAgICBpZiAoY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlciA9PT0gJycpIHtcclxuICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHJlc3VsdCA9IGRhdGFbY29sdW1uU2NoZW1hLmtleV0gPT09IGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGRhdGFbY29sdW1uU2NoZW1hLmtleV1cclxuICAgICAgICAgICAgICAudG9TdHJpbmcoKVxyXG4gICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgICAgICAgLmluY2x1ZGVzKGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXI/LnRvU3RyaW5nKCk/LnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByYW5kb21TdHJpbmcobGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIE1hdGgucmFuZG9tKClcclxuICAgICAgLnRvU3RyaW5nKDM2KVxyXG4gICAgICAuc3Vic3RyaW5nKDIsIDIgKyBsZW5ndGgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicC0yIG92ZXJmbG93LXgtYXV0b1wiPlxyXG4gIDx0YWJsZVxyXG4gICAgI3RhYmxlXHJcbiAgICB0YWJpbmRleD1cIjBcIlxyXG4gICAgKm5nSWY9XCIhaXNSdW5uaW5nT25TbWFsbFNjcmVlbiB8fCAhcmVzcG9uc2l2ZTsgZWxzZSBzbWFsbERldmljZUNhcmRcIlxyXG4gID5cclxuICAgIDx0cj5cclxuICAgICAgPHRoXHJcbiAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciB0ZXh0LWNlbnRlclwiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBhY3RpdmVDb2x1bW5zU2NoZW1hKClcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgd2lkdGg6IGNvbHVtbj8ud2lkdGggKyAncHgnIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJncmlkXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cIltjYW5GaWx0ZXIgPyAnZ3JpZC1yb3dzLTInIDogJ2dyaWQtcm93cy0xJ11cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicC0yIHJlbGF0aXZlXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNvcnRCeUhlYWRlcihjb2x1bW4pXCJcclxuICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgIG1pbldpZHRoOlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLnR5cGUgPT09IGNvbHVtbnNUeXBlcy5BQ1RJT05fQlVUVE9OU1xyXG4gICAgICAgICAgICAgICAgICA/IGNvbHVtbi5kYXRhLmxlbmd0aCAqIDMwICsgJ3B4J1xyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIGRpc3BsYXk6XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4udHlwZSA9PT0gY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TXHJcbiAgICAgICAgICAgICAgICAgID8gJ2lubGluZS1ibG9jaydcclxuICAgICAgICAgICAgICAgICAgOiAnJ1xyXG4gICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgPnt7IGNvbHVtbi5sYWJlbCB9fVxyXG4gICAgICAgICAgICA8YXBwLXNvcnQtZG93bi1pY29uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzb3J0LWljb24gdy0yIGgtMiBpbmxpbmUtYmxvY2sgYWJzb2x1dGUgdG9wLTMgcmlnaHQtWy0zcHhdXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgc29ydERldGFpbD8ua2V5ID09IGNvbHVtbi5rZXkgJiYgc29ydERldGFpbD8uc29ydCA9PT0gJ2FzYydcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICA+PC9hcHAtc29ydC1kb3duLWljb24+XHJcbiAgICAgICAgICAgIDxhcHAtc29ydC11cC1pY29uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzb3J0LWljb24gdy0yIGgtMiBpbmxpbmUtYmxvY2sgYWJzb2x1dGUgdG9wLTMgcmlnaHQtWy0zcHhdXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgc29ydERldGFpbD8ua2V5ID09IGNvbHVtbi5rZXkgJiYgc29ydERldGFpbD8uc29ydCA9PT0gJ2Rlc2MnXHJcbiAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgPjwvYXBwLXNvcnQtdXAtaWNvbj5cclxuICAgICAgICAgICAgPGFwcC1zb3J0LXNvbGlkLWljb25cclxuICAgICAgICAgICAgICBjbGFzcz1cInNvcnQtaWNvbiB3LTIgaC0yIGlubGluZS1ibG9jayBhYnNvbHV0ZSB0b3AtMyByaWdodC1bLTNweF1cIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwic29ydERldGFpbD8ua2V5ICE9PSBjb2x1bW4ua2V5XCJcclxuICAgICAgICAgICAgPjwvYXBwLXNvcnQtc29saWQtaWNvbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxjb3JlLWNvbHVtbi1kYXRlLXBpY2tlclxyXG4gICAgICAgICAgICAqbmdJZj1cImNhbkZpbHRlciAmJiBjb2x1bW4udHlwZSA9PSBjb2x1bW5zVHlwZXMuU0hBTVNJX0RBVEVcIlxyXG4gICAgICAgICAgICBbY2FuU2VsZWN0VG9kYXldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIChvbkNoYW5nZSk9XCJ0YWJsZURhdGFGaWx0ZXJlZCgkZXZlbnQsIGNvbHVtbilcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9jb3JlLWNvbHVtbi1kYXRlLXBpY2tlcj5cclxuICAgICAgICAgIDxjb3JlLWNvbHVtbi1pbnB1dFxyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgIGNhbkZpbHRlciAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuQUNUSU9OICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5DT0xPUiAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuU1RBVFVTICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5TSEFNU0lfREFURSAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuUk9XX1NFTEVDVE9SICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5TVEFUVVNfQUNUSVZFICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5BQ1RJT05fQlVUVE9OU1xyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAob25DaGFuZ2UpPVwidGFibGVEYXRhRmlsdGVyZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICAgID48L2NvcmUtY29sdW1uLWlucHV0PlxyXG4gICAgICAgICAgPGNvcmUtY29sdW1uLXNlbGVjdG9yXHJcbiAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgKGNhbkZpbHRlciAmJiBjb2x1bW4udHlwZSA9PSBjb2x1bW5zVHlwZXMuU1RBVFVTKSB8fFxyXG4gICAgICAgICAgICAgIChjYW5GaWx0ZXIgJiYgY29sdW1uLnR5cGUgPT0gY29sdW1uc1R5cGVzLlNUQVRVU19BQ1RJVkUpXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFt0aXRsZUtleV09XCIndGl0bGUnXCJcclxuICAgICAgICAgICAgW3ZhbHVlS2V5XT1cIid2YWx1ZSdcIlxyXG4gICAgICAgICAgICBbaXRlbXNdPVwiXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgPT0gY29sdW1uc1R5cGVzLlNUQVRVU1xyXG4gICAgICAgICAgICAgICAgPyBBQ1RJVkVfT1BUSU9OU1xyXG4gICAgICAgICAgICAgICAgOiBZRVNfTk9fT1BUSU9OU1xyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAob25JdGVtU2VsZWN0ZWQpPVwidGFibGVEYXRhRmlsdGVyZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICAgID48L2NvcmUtY29sdW1uLXNlbGVjdG9yPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3RoPlxyXG4gICAgPC90cj5cclxuICAgIDx0clxyXG4gICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBzb3J0ZWRUYWJsZURhdGE7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICBbaWRdPVwiJ3RhYmxlUm93XycgKyBzYWx0ICsgJ18nICsgaVwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdC1pdGVtJzogZGF0YS5pZCA9PT0gc2VsZWN0ZWRJdGVtPy5pZCB9XCJcclxuICAgICAgKGNsaWNrKT1cIm9uSXRlbVNlbGVjdChkYXRhLCBpLCAkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPHRkXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBhY3RpdmVDb2x1bW5zU2NoZW1hKClcIlxyXG4gICAgICAgIFtjbGFzc109XCJzdHlsZUZpbHRlciA/IHN0eWxlRmlsdGVyKGRhdGEpIDogJydcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGFwcC1jb3JlLXRhYmxlLWNvbHVtbi1tYW5hZ2VyXHJcbiAgICAgICAgICAqbmdJZj1cImNvbHVtbi50eXBlICE9IGNvbHVtbnNUeXBlcy5NVUxUSV9DT0xVTU47IGVsc2UgZWxzZUJsb2NrXCJcclxuICAgICAgICAgIFtyb3dTZWxlY3Rvcl09XCJyb3dTZWxlY3RvclwiXHJcbiAgICAgICAgICAob25Db2x1bW5DbGlja2VkKT1cImNvbHVtbkNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAob25Db2x1bW5WYWx1ZUNoYW5nZWQpPVwiY29sdW1uVmFsdWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgW2FsbFRhYmxlRGF0YV09XCJzb3J0ZWRUYWJsZURhdGFcIlxyXG4gICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgICAgICAgPjwvYXBwLWNvcmUtdGFibGUtY29sdW1uLW1hbmFnZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlQmxvY2s+XHJcbiAgICAgICAgICA8YXBwLWNvcmUtdGFibGUtY29sdW1uLW1hbmFnZXJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNoaWxkQ29sdW1uIG9mIGNvbHVtbi5jb2x1bW5zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgW3Jvd1NlbGVjdG9yXT1cInJvd1NlbGVjdG9yXCJcclxuICAgICAgICAgICAgKG9uQ29sdW1uQ2xpY2tlZCk9XCJjb2x1bW5DbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZGF0YV09XCJkYXRhXCJcclxuICAgICAgICAgICAgW2FsbFRhYmxlRGF0YV09XCJzb3J0ZWRUYWJsZURhdGFcIlxyXG4gICAgICAgICAgICBbY29sdW1uXT1cImNoaWxkQ29sdW1uXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpID4gMFwiPi08L3NwYW4+XHJcbiAgICAgICAgICA8L2FwcC1jb3JlLXRhYmxlLWNvbHVtbi1tYW5hZ2VyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L3RyPlxyXG4gIDwvdGFibGU+XHJcbiAgPG5nLXRlbXBsYXRlICNzbWFsbERldmljZUNhcmQ+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8Y29yZS1jYXJkXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGRhdGEgb2Ygc29ydGVkVGFibGVEYXRhXCJcclxuICAgICAgICBbY2FyZENsYXNzXT1cIidiYWNrZ3JvdW5kLWNhcmQgbS00IHAtNCByZWxhdGl2ZSdcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJsZWFkaW5nLThcIlxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBhY3RpdmVDb2x1bW5zU2NoZW1hKClcIlxyXG4gICAgICAgICAgW2NsYXNzXT1cIlxyXG4gICAgICAgICAgICBjb2x1bW4udHlwZSA9PT0gY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TXHJcbiAgICAgICAgICAgICAgPyAnYWN0aW9uQnV0dG9ucydcclxuICAgICAgICAgICAgICA6IGNvbHVtbi50eXBlID09PSBjb2x1bW5zVHlwZXMuUk9XX1NFTEVDVE9SXHJcbiAgICAgICAgICAgICAgPyAnc2VsZWN0Um93J1xyXG4gICAgICAgICAgICAgIDogJydcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgICBjb2x1bW4udHlwZSAhPT0gY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5ST1dfU0VMRUNUT1JcclxuICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJzZWNvbmRhcnktdGV4dC1jb2xvclwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IGNvbHVtbi5sYWJlbCB9fSA6XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW1hcnktdGV4dC1jb2xvciBmb250LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgIDxhcHAtY29yZS10YWJsZS1jYXJkLW1hbmFnZXJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT0gY29sdW1uc1R5cGVzLk1VTFRJX0NPTFVNTjtcclxuICAgICAgICAgICAgICAgIGVsc2UgY2FyZE1hbmFnZXJFbHNlQmxvY2tcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgIFtyb3dTZWxlY3Rvcl09XCJyb3dTZWxlY3RvclwiXHJcbiAgICAgICAgICAgICAgKG9uQ29sdW1uQ2xpY2tlZCk9XCJjb2x1bW5DbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgICAgICAgICAgIFthbGxUYWJsZURhdGFdPVwic29ydGVkVGFibGVEYXRhXCJcclxuICAgICAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9hcHAtY29yZS10YWJsZS1jYXJkLW1hbmFnZXI+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2NhcmRNYW5hZ2VyRWxzZUJsb2NrPlxyXG4gICAgICAgICAgICAgIDxhcHAtY29yZS10YWJsZS1jYXJkLW1hbmFnZXJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZENvbHVtbiBvZiBjb2x1bW4uY29sdW1uczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICBbcm93U2VsZWN0b3JdPVwicm93U2VsZWN0b3JcIlxyXG4gICAgICAgICAgICAgICAgKG9uQ29sdW1uQ2xpY2tlZCk9XCJjb2x1bW5DbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICAgICBbYWxsVGFibGVEYXRhXT1cInNvcnRlZFRhYmxlRGF0YVwiXHJcbiAgICAgICAgICAgICAgICBbY29sdW1uXT1cImNoaWxkQ29sdW1uXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImkgPiAwXCI+LTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2FwcC1jb3JlLXRhYmxlLWNhcmQtbWFuYWdlcj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9jb3JlLWNhcmQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxjb3JlLXRhYmxlLW5vLWNvbnRlbnRcclxuICAgICpuZ0lmPVwiIWxvYWRpbmdcIlxyXG4gICAgW3RhYmxlRGF0YV09XCJzb3J0ZWRUYWJsZURhdGFcIlxyXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgPjwvY29yZS10YWJsZS1uby1jb250ZW50PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS9jb3JlLXRhYmxlLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDT0xVTU5TX1RZUEVTIH0gZnJvbSAnLi4vLi4vZmFsY29uVHlwZXMnO1xyXG5cclxudHlwZSBDb2x1bW5UeXBlVGV4dCA9IHtcclxuICBrZXk6IHN0cmluZztcclxuICB0eXBlOiBDT0xVTU5TX1RZUEVTLlRFWFQ7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB3aWR0aD86IG51bWJlcjtcclxuICBjb3B5VG9DbGlwYm9hcmQ/OiBib29sZWFuO1xyXG4gIGVkaXRhYmxlPzogYm9vbGVhbjtcclxuICBhY3RpdmU/OiBib29sZWFuO1xyXG4gIGRhdGE/OiB7XHJcbiAgICAvKiogZGVmYXVsdCB2YWx1ZSBpcyAgdHJ1ZSBhbmQgbnVtYmVycyB0dXJuIHRvIHBlcnNpYW4gRGlnaXRzICovXHJcbiAgICBlbkRpZ2l0c1RvRmE6IGJvb2xlYW47XHJcbiAgfTtcclxufTtcclxudHlwZSBDb2x1bW5UeXBlU2hhbXNpRGF0ZSA9IHtcclxuICBrZXk6IHN0cmluZztcclxuICB0eXBlOiBDT0xVTU5TX1RZUEVTLlNIQU1TSV9EQVRFO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbiAgY29weVRvQ2xpcGJvYXJkPzogYm9vbGVhbjtcclxuICBlZGl0YWJsZT86IGJvb2xlYW47XHJcbiAgYWN0aXZlPzogYm9vbGVhbjtcclxuICBkYXRhPzoge1xyXG4gICAgZGF0ZUZvcm1hdDogc3RyaW5nO1xyXG4gIH07XHJcbn07XHJcbnR5cGUgQ29sdW1uVHlwZURhdGUgPSB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdHlwZTogQ09MVU1OU19UWVBFUy5EQVRFO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbiAgY29weVRvQ2xpcGJvYXJkPzogYm9vbGVhbjtcclxuICBlZGl0YWJsZT86IGJvb2xlYW47XHJcbiAgYWN0aXZlPzogYm9vbGVhbjtcclxuICBkYXRhPzoge1xyXG4gICAgZGF0ZUZvcm1hdDogc3RyaW5nO1xyXG4gIH07XHJcbn07XHJcbnR5cGUgQ29sdW1uVHlwZVNlbGVjdG9yID0ge1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHR5cGU6IENPTFVNTlNfVFlQRVMuU0VMRUNUT1I7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB3aWR0aD86IG51bWJlcjtcclxuICBhY3RpdmU/OiBib29sZWFuO1xyXG4gIGRhdGE6IHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gIH07XHJcbiAgY29weVRvQ2xpcGJvYXJkPzogYm9vbGVhbjtcclxuICBlZGl0YWJsZT86IGZhbHNlO1xyXG59O1xyXG50eXBlIENvbHVtblR5cGVTZWxlY3RvckVkaXRhYmxlID0ge1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHR5cGU6IENPTFVNTlNfVFlQRVMuU0VMRUNUT1I7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB3aWR0aD86IG51bWJlcjtcclxuICBhY3RpdmU/OiBib29sZWFuO1xyXG4gIGRhdGE6IHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgdmFsdWU6IHN0cmluZztcclxuICAgIGVkaXRhYmxlRGF0YTogT2JzZXJ2YWJsZTxhbnlbXT47XHJcbiAgfTtcclxuICBjb3B5VG9DbGlwYm9hcmQ/OiBib29sZWFuO1xyXG4gIGVkaXRhYmxlOiB0cnVlO1xyXG59O1xyXG50eXBlIENvbHVtblR5cGVTdGF0dXMgPSB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdHlwZTogQ09MVU1OU19UWVBFUy5TVEFUVVMgfCBDT0xVTU5TX1RZUEVTLlNUQVRVU19BQ1RJVkU7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB3aWR0aD86IG51bWJlcjtcclxuICBhY3RpdmU/OiBib29sZWFuO1xyXG4gIGVkaXRhYmxlPzogYm9vbGVhbjtcclxufTtcclxudHlwZSBDb2x1bW5UeXBlQ29sb3IgPSB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdHlwZTogQ09MVU1OU19UWVBFUy5DT0xPUjtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHdpZHRoPzogbnVtYmVyO1xyXG4gIGFjdGl2ZT86IGJvb2xlYW47XHJcbiAgZWRpdGFibGU/OiBib29sZWFuO1xyXG59O1xyXG5leHBvcnQgdHlwZSBDb2x1bW5UeXBlQWN0aW9uID0ge1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHR5cGU6IENPTFVNTlNfVFlQRVMuQUNUSU9OO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbiAgYWN0aXZlPzogYm9vbGVhbjtcclxuICB0aXRsZTogc3RyaW5nO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29sdW1uVHlwZUFjdGlvbkJ1dHRvbnMgPSB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdHlwZTogQ09MVU1OU19UWVBFUy5BQ1RJT05fQlVUVE9OUztcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGFjdGl2ZT86IGJvb2xlYW47XHJcbiAgd2lkdGg/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS9jb3JlLXRhYmxlLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDT0xVTU5TX1RZUEVTIH0gZnJvbSAnLi4vLi4vZmFsY29uVHlwZXMnO1xyXG5cclxudHlwZSBDb2x1bW5UeXBlVGV4dCA9IHtcclxuICBrZXk6IHN0cmluZztcclxuICB0eXBlOiBDT0xVTU5TX1RZUEVTLlRFWFQ7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB3aWR0aD86IG51bWJlcjtcclxuICBjb3B5VG9DbGlwYm9hcmQ/OiBib29sZWFuO1xyXG4gIGVkaXRhYmxlPzogYm9vbGVhbjtcclxuICBhY3RpdmU/OiBib29sZWFuO1xyXG4gIGRhdGE/OiB7XHJcbiAgICAvKiogZGVmYXVsdCB2YWx1ZSBpcyAgdHJ1ZSBhbmQgbnVtYmVycyB0dXJuIHRvIHBlcnNpYW4gRGlnaXRzICovXHJcbiAgICBlbkRpZ2l0c1RvRmE6IGJvb2xlYW47XHJcbiAgfTtcclxufTtcclxudHlwZSBDb2x1bW5UeXBlU2hhbXNpRGF0ZSA9IHtcclxuICBrZXk6IHN0cmluZztcclxuICB0eXBlOiBDT0xVTU5TX1RZUEVTLlNIQU1TSV9EQVRFO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbiAgY29weVRvQ2xpcGJvYXJkPzogYm9vbGVhbjtcclxuICBlZGl0YWJsZT86IGJvb2xlYW47XHJcbiAgYWN0aXZlPzogYm9vbGVhbjtcclxuICBkYXRhPzoge1xyXG4gICAgZGF0ZUZvcm1hdDogc3RyaW5nO1xyXG4gIH07XHJcbn07XHJcbnR5cGUgQ29sdW1uVHlwZURhdGUgPSB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdHlwZTogQ09MVU1OU19UWVBFUy5EQVRFO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbiAgY29weVRvQ2xpcGJvYXJkPzogYm9vbGVhbjtcclxuICBlZGl0YWJsZT86IGJvb2xlYW47XHJcbiAgYWN0aXZlPzogYm9vbGVhbjtcclxuICBkYXRhPzoge1xyXG4gICAgZGF0ZUZvcm1hdDogc3RyaW5nO1xyXG4gIH07XHJcbn07XHJcbnR5cGUgQ29sdW1uVHlwZVNlbGVjdG9yID0ge1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHR5cGU6IENPTFVNTlNfVFlQRVMuU0VMRUNUT1I7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB3aWR0aD86IG51bWJlcjtcclxuICBhY3RpdmU/OiBib29sZWFuO1xyXG4gIGRhdGE6IHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gIH07XHJcbiAgY29weVRvQ2xpcGJvYXJkPzogYm9vbGVhbjtcclxuICBlZGl0YWJsZT86IGZhbHNlO1xyXG59O1xyXG50eXBlIENvbHVtblR5cGVTZWxlY3RvckVkaXRhYmxlID0ge1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHR5cGU6IENPTFVNTlNfVFlQRVMuU0VMRUNUT1I7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB3aWR0aD86IG51bWJlcjtcclxuICBhY3RpdmU/OiBib29sZWFuO1xyXG4gIGRhdGE6IHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgdmFsdWU6IHN0cmluZztcclxuICAgIGVkaXRhYmxlRGF0YTogT2JzZXJ2YWJsZTxhbnlbXT47XHJcbiAgfTtcclxuICBjb3B5VG9DbGlwYm9hcmQ/OiBib29sZWFuO1xyXG4gIGVkaXRhYmxlOiB0cnVlO1xyXG59O1xyXG50eXBlIENvbHVtblR5cGVTdGF0dXMgPSB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdHlwZTogQ09MVU1OU19UWVBFUy5TVEFUVVMgfCBDT0xVTU5TX1RZUEVTLlNUQVRVU19BQ1RJVkU7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB3aWR0aD86IG51bWJlcjtcclxuICBhY3RpdmU/OiBib29sZWFuO1xyXG4gIGVkaXRhYmxlPzogYm9vbGVhbjtcclxufTtcclxudHlwZSBDb2x1bW5UeXBlQ29sb3IgPSB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdHlwZTogQ09MVU1OU19UWVBFUy5DT0xPUjtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHdpZHRoPzogbnVtYmVyO1xyXG4gIGFjdGl2ZT86IGJvb2xlYW47XHJcbiAgZWRpdGFibGU/OiBib29sZWFuO1xyXG59O1xyXG5leHBvcnQgdHlwZSBDb2x1bW5UeXBlQWN0aW9uID0ge1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHR5cGU6IENPTFVNTlNfVFlQRVMuQUNUSU9OO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbiAgYWN0aXZlPzogYm9vbGVhbjtcclxuICB0aXRsZTogc3RyaW5nO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29sdW1uVHlwZUFjdGlvbkJ1dHRvbnMgPSB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdHlwZTogQ09MVU1OU19UWVBFUy5BQ1RJT05fQlVUVE9OUztcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGFjdGl2ZT86IGJvb2xlYW47XHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbiAgZGF0YToge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgY29tcG9uZW50OiBhbnk7XHJcbiAgICBrZXlib2FyZFNob3J0Y3V0Pzogc3RyaW5nO1xyXG4gIH1bXTtcclxufTtcclxuZXhwb3J0IHR5cGUgQ29sdW1uVHlwZU51bWJlciA9IHtcclxuICBrZXk6IHN0cmluZztcclxuICB0eXBlOiBDT0xVTU5TX1RZUEVTLk5VTUJFUjtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHdpZHRoPzogbnVtYmVyO1xyXG4gIGNvcHlUb0NsaXBib2FyZD86IGJvb2xlYW47XHJcbiAgZWRpdGFibGU/OiBib29sZWFuO1xyXG4gIGFjdGl2ZT86IGJvb2xlYW47XHJcbiAgY2FuQ29sb3JmdWxOdW1iZXI/OiBib29sZWFuO1xyXG4gIGRhdGE/OiB7XHJcbiAgICAvKiogZGVmYXVsdCB2YWx1ZSBpcyAgdHJ1ZSBhbmQgbnVtYmVycyB0dXJuIHRvIHBlcnNpYW4gRGlnaXRzICovXHJcbiAgICBlbkRpZ2l0c1RvRmE/OiBib29sZWFuO1xyXG4gICAgLyoqIGRlZmF1bHQgdmFsdWUgaXMgIHRydWUgICAqL1xyXG4gICAgY2FuU2hvd1RvbWFuSW5Ub29sVGlwPzogYm9vbGVhbjtcclxuICAgIC8qKiBkZWZhdWx0IHZhbHVlIGlzICBmYWxzZSAgKi9cclxuICAgIGNhblNob3dJUlI/OiBib29sZWFuO1xyXG4gICAgLyoqIGRlZmF1bHQgdmFsdWUgaXMgIHRydWUgICAqL1xyXG4gICAgY2FuU3BsaXROdW1iZXJzPzogYm9vbGVhbjtcclxuICAgIC8qKiBkZWZhdWx0IHZhbHVlIGlzICB0cnVlICAgKi9cclxuICAgIGNhblNob3dXb3JkSW5Ub29sVGlwPzogYm9vbGVhbjtcclxuICB9O1xyXG59O1xyXG5leHBvcnQgdHlwZSBDb2x1bW5UeXBlUGVsYWsgPSB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdHlwZTogQ09MVU1OU19UWVBFUy5QRUxBSztcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHdpZHRoPzogbnVtYmVyO1xyXG4gIGFjdGl2ZT86IGJvb2xlYW47XHJcbn07XHJcbmV4cG9ydCB0eXBlIENvbHVtblR5cGVEZXRhaWxWaWV3ZXJGb3JSZXBvcnQgPSB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdHlwZTogQ09MVU1OU19UWVBFUy5OVU1CRVI7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBhY3RpdmU/OiBib29sZWFuO1xyXG4gIHdpZHRoPzogbnVtYmVyO1xyXG4gIGRhdGE/OiB7XHJcbiAgICBkZXRhaWxWaWV3ZXJzOiBzdHJpbmdbXTtcclxuICAgIGtleVR5cGU6IHN0cmluZztcclxuICAgIG9uQ2xpY2s6IChkYXRhOiBhbnkpID0+IHZvaWQ7XHJcbiAgfTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbHVtblR5cGVSb3dTZWxlY3RvciA9IHtcclxuICBrZXk6IHN0cmluZztcclxuICB0eXBlOiBDT0xVTU5TX1RZUEVTLlJPV19TRUxFQ1RPUjtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGFjdGl2ZT86IGJvb2xlYW47XHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbiAgZGF0YToge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgfTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbHVtblR5cGVNdWx0aUNvbHVtbiA9IHtcclxuICBrZXk6IHN0cmluZztcclxuICB0eXBlOiBDT0xVTU5TX1RZUEVTLk1VTFRJX0NPTFVNTjtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHdpZHRoPzogbnVtYmVyO1xyXG4gIGFjdGl2ZT86IGJvb2xlYW47XHJcbiAgY29sdW1uczoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICB0eXBlOiBDT0xVTU5TX1RZUEVTLlNFTEVDVE9SO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIGRhdGE6IHtcclxuICAgICAga2V5OiBzdHJpbmc7XHJcbiAgICB9O1xyXG4gIH1bXTtcclxufTtcclxuZXhwb3J0IHR5cGUgQ29sdW1uc1NjaGVtYSA9XHJcbiAgfCBDb2x1bW5UeXBlVGV4dFxyXG4gIHwgQ29sdW1uVHlwZVNlbGVjdG9yXHJcbiAgfCBDb2x1bW5UeXBlU2VsZWN0b3JFZGl0YWJsZVxyXG4gIHwgQ29sdW1uVHlwZVN0YXR1c1xyXG4gIHwgQ29sdW1uVHlwZUNvbG9yXHJcbiAgfCBDb2x1bW5UeXBlQWN0aW9uXHJcbiAgfCBDb2x1bW5UeXBlQWN0aW9uQnV0dG9uc1xyXG4gIHwgQ29sdW1uVHlwZU51bWJlclxyXG4gIHwgQ29sdW1uVHlwZVJvd1NlbGVjdG9yXHJcbiAgfCBDb2x1bW5UeXBlTXVsdGlDb2x1bW5cclxuICB8IENvbHVtblR5cGVQZWxha1xyXG4gIHwgQ29sdW1uVHlwZVNoYW1zaURhdGVcclxuICB8IENvbHVtblR5cGVEYXRlO1xyXG4iXX0=
|
package/fesm2022/nira-falcon.mjs
CHANGED
|
@@ -2279,15 +2279,14 @@ class CoreTableComponent {
|
|
|
2279
2279
|
});
|
|
2280
2280
|
}
|
|
2281
2281
|
handleEnter(event) {
|
|
2282
|
-
const
|
|
2282
|
+
const key = event;
|
|
2283
2283
|
if (document.activeElement === this.table.nativeElement) {
|
|
2284
|
-
if (
|
|
2284
|
+
if (key.key === 'ArrowDown') {
|
|
2285
2285
|
if (this.selectedItemIndex === this.sortedTableData.length - 1)
|
|
2286
2286
|
return;
|
|
2287
2287
|
if (this.selectedItemIndex < this.sortedTableData.length - 1) {
|
|
2288
2288
|
this.selectedItemIndex++;
|
|
2289
2289
|
this.selectedItem = this.sortedTableData[this.selectedItemIndex];
|
|
2290
|
-
this.onItemSelected.emit(this.selectedItem);
|
|
2291
2290
|
document
|
|
2292
2291
|
.getElementById('tableRow_' + this.salt + '_' + this.selectedItemIndex)
|
|
2293
2292
|
?.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
@@ -2295,13 +2294,12 @@ class CoreTableComponent {
|
|
|
2295
2294
|
event.preventDefault();
|
|
2296
2295
|
return;
|
|
2297
2296
|
}
|
|
2298
|
-
else if (
|
|
2297
|
+
else if (key.key === 'ArrowUp') {
|
|
2299
2298
|
if (this.selectedItemIndex === 0)
|
|
2300
2299
|
return;
|
|
2301
2300
|
if (this.selectedItemIndex > 0) {
|
|
2302
2301
|
this.selectedItemIndex--;
|
|
2303
2302
|
this.selectedItem = this.sortedTableData[this.selectedItemIndex];
|
|
2304
|
-
this.onItemSelected.emit(this.selectedItem);
|
|
2305
2303
|
document
|
|
2306
2304
|
.getElementById('tableRow_' + this.salt + '_' + this.selectedItemIndex)
|
|
2307
2305
|
?.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
@@ -2309,6 +2307,28 @@ class CoreTableComponent {
|
|
|
2309
2307
|
event.preventDefault();
|
|
2310
2308
|
return;
|
|
2311
2309
|
}
|
|
2310
|
+
else if (key.key === 'Enter') {
|
|
2311
|
+
this.onItemSelected.emit(this.selectedItem);
|
|
2312
|
+
event.preventDefault();
|
|
2313
|
+
return;
|
|
2314
|
+
}
|
|
2315
|
+
else if (key.altKey) {
|
|
2316
|
+
const actionButtons = this.columnsSchema.find((schema) => schema.type === COLUMNS_TYPES.ACTION_BUTTONS);
|
|
2317
|
+
actionButtons.data.forEach((actionButton) => {
|
|
2318
|
+
if (actionButton.keyboardShortcut) {
|
|
2319
|
+
const regex = new RegExp('^(' + actionButton.keyboardShortcut + ')$', 'i');
|
|
2320
|
+
if (regex.test(key.key)) {
|
|
2321
|
+
this.columnClicked({
|
|
2322
|
+
data: this.selectedItem,
|
|
2323
|
+
key: actionButton.key,
|
|
2324
|
+
});
|
|
2325
|
+
}
|
|
2326
|
+
}
|
|
2327
|
+
});
|
|
2328
|
+
this.onItemSelected.emit(this.selectedItem);
|
|
2329
|
+
event.preventDefault();
|
|
2330
|
+
return;
|
|
2331
|
+
}
|
|
2312
2332
|
}
|
|
2313
2333
|
}
|
|
2314
2334
|
onItemSelect(data, index, event) {
|