mis-crystal-design-system 18.1.4-test-1 → 18.1.4-test-2
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.
|
@@ -14,12 +14,13 @@ export class SortIconsDirective {
|
|
|
14
14
|
this.multiSortChange = output();
|
|
15
15
|
// Internal state as signals
|
|
16
16
|
this.currentDirection = signal('');
|
|
17
|
-
// Watch for changes in activeSort and
|
|
17
|
+
// Watch for changes in activeSort, activeSorts, and currentDirection signals
|
|
18
18
|
// Signal inputs don't trigger ngOnChanges, so we need to use effect()
|
|
19
19
|
effect(() => {
|
|
20
20
|
// Access the signals to create a dependency (we don't need to store the values)
|
|
21
21
|
this.activeSort();
|
|
22
22
|
this.activeSorts();
|
|
23
|
+
this.currentDirection(); // Also watch internal direction changes
|
|
23
24
|
// Update icon styles when signals change (only after icons are created)
|
|
24
25
|
if (this.upIcon && this.downIcon) {
|
|
25
26
|
this.updateIconStyles();
|
|
@@ -120,10 +121,17 @@ export class SortIconsDirective {
|
|
|
120
121
|
}
|
|
121
122
|
}
|
|
122
123
|
updateSingleColumnIconStyles() {
|
|
123
|
-
|
|
124
|
+
// Check both parent's activeSort AND internal currentDirection
|
|
125
|
+
// Parent's activeSort may not be updated immediately, so we also check internal state
|
|
126
|
+
const parentActiveSort = this.activeSort();
|
|
127
|
+
const isActiveColumnFromParent = parentActiveSort?.column === this.column()?.data;
|
|
128
|
+
const internalDirection = this.currentDirection();
|
|
129
|
+
const isActiveColumn = isActiveColumnFromParent || (internalDirection !== '');
|
|
124
130
|
setTimeout(() => {
|
|
125
|
-
|
|
126
|
-
|
|
131
|
+
// Use parent's direction if available, otherwise use internal direction
|
|
132
|
+
const activeDirection = parentActiveSort?.direction || internalDirection;
|
|
133
|
+
this.renderer?.setStyle(this.upIcon, 'opacity', isActiveColumn && activeDirection === 'ASC' ? '1' : '0.5');
|
|
134
|
+
this.renderer?.setStyle(this.downIcon, 'opacity', isActiveColumn && activeDirection === 'DESC' ? '1' : '0.5');
|
|
127
135
|
}, 0);
|
|
128
136
|
}
|
|
129
137
|
updateMultiColumnIconStyles() {
|
|
@@ -155,4 +163,4 @@ export class SortIconsDirective {
|
|
|
155
163
|
selector: '[appSortIcons]',
|
|
156
164
|
}]
|
|
157
165
|
}], () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], null); })();
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1pY29ucy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90YWJsZS9zb3J0LWljb25zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQU1ULEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7QUFnQnZCLE1BQU0sT0FBTyxrQkFBa0I7SUFtQjdCLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQWxCL0QsNEJBQTRCO1FBQzVCLFdBQU0sR0FBRyxLQUFLLEVBQWMsQ0FBQztRQUM3QixlQUFVLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxLQUFLLEVBQWUsQ0FBQztRQUNuQyxvQkFBZSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUV4QywyQkFBMkI7UUFDM0IsZUFBVSxHQUFHLE1BQU0sRUFBYSxDQUFDO1FBQ2pDLG9CQUFlLEdBQUcsTUFBTSxFQUFlLENBQUM7UUFFeEMsNEJBQTRCO1FBQzVCLHFCQUFnQixHQUFHLE1BQU0sQ0FBc0IsRUFBRSxDQUFDLENBQUM7UUFRakQsMERBQTBEO1FBQzFELHNFQUFzRTtRQUN0RSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsZ0ZBQWdGO1lBQ2hGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsd0VBQXdFO1lBQ3hFLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENB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LENBQUMsRUFBRSxDQUFDO29CQUNyQixJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQy9GLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN2RSxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7bUhBekxVLGtCQUFrQjtvRUFBbEIsa0JBQWtCOztpRkFBbEIsa0JBQWtCO2NBSDlCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2FBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIGVmZmVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydFN0YXRlIHtcbiAgY29sdW1uOiBzdHJpbmc7XG4gIGRpcmVjdGlvbjogJ0FTQycgfCAnREVTQycgfCAnJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3J0Q29sdW1uIHtcbiAgZGF0YTogc3RyaW5nO1xuICBzb3J0QXNjSWNvbj86IHN0cmluZztcbiAgc29ydERlc2NJY29uPzogc3RyaW5nO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXBwU29ydEljb25zXScsXG59KVxuZXhwb3J0IGNsYXNzIFNvcnRJY29uc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgLy8gQ29udmVydCBpbnB1dHMgdG8gc2lnbmFsc1xuICBjb2x1bW4gPSBpbnB1dDxTb3J0Q29sdW1uPigpO1xuICBhY3RpdmVTb3J0ID0gaW5wdXQ8U29ydFN0YXRlPigpO1xuICBhY3RpdmVTb3J0cyA9IGlucHV0PFNvcnRTdGF0ZVtdPigpO1xuICBtdWx0aUNvbHVtblNvcnQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIFxuICAvLyBDb252ZXJ0IG91dHB1dCB0byBzaWduYWxcbiAgc29ydENoYW5nZSA9IG91dHB1dDxTb3J0U3RhdGU+KCk7XG4gIG11bHRpU29ydENoYW5nZSA9IG91dHB1dDxTb3J0U3RhdGVbXT4oKTtcblxuICAvLyBJbnRlcm5hbCBzdGF0ZSBhcyBzaWduYWxzXG4gIGN1cnJlbnREaXJlY3Rpb24gPSBzaWduYWw8J0FTQycgfCAnREVTQycgfCAnJz4oJycpO1xuXG4gIC8vIEFzc2V0c1xuICBwcml2YXRlIHVwSWNvbiE6IEhUTUxJbWFnZUVsZW1lbnQ7XG4gIHByaXZhdGUgZG93bkljb24hOiBIVE1MSW1hZ2VFbGVtZW50O1xuICBwcml2YXRlIHNvcnRPcmRlckVsZW1lbnQ/OiBIVE1MU3BhbkVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgLy8gV2F0Y2ggZm9yIGNoYW5nZXMgaW4gYWN0aXZlU29ydCBhbmQgYWN0aXZlU29ydHMgc2lnbmFsc1xuICAgIC8vIFNpZ25hbCBpbnB1dHMgZG9uJ3QgdHJpZ2dlciBuZ09uQ2hhbmdlcywgc28gd2UgbmVlZCB0byB1c2UgZWZmZWN0KClcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgLy8gQWNjZXNzIHRoZSBzaWduYWxzIHRvIGNyZWF0ZSBhIGRlcGVuZGVuY3kgKHdlIGRvbid0IG5lZWQgdG8gc3RvcmUgdGhlIHZhbHVlcylcbiAgICAgIHRoaXMuYWN0aXZlU29ydCgpO1xuICAgICAgdGhpcy5hY3RpdmVTb3J0cygpO1xuICAgICAgLy8gVXBkYXRlIGljb24gc3R5bGVzIHdoZW4gc2lnbmFscyBjaGFuZ2UgKG9ubHkgYWZ0ZXIgaWNvbnMgYXJlIGNyZWF0ZWQpXG4gICAgICBpZiAodGhpcy51cEljb24gJiYgdGhpcy5kb3duSWNvbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUljb25TdHlsZXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIFxuICAgIC8vIENyZWF0ZSBhIGNvbnRhaW5lciBmb3IgdGhlIGljb25zXG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZShjb250YWluZXIsICdkaXNwbGF5JywgJ2lubGluZS1mbGV4Jyk7XG4gICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUoY29udGFpbmVyLCAnYWxpZ24taXRlbXMnLCAnY2VudGVyJyk7XG5cbiAgICBjb25zdCBpY29uQ29udGFpbmVyID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZShpY29uQ29udGFpbmVyLCAnZGlzcGxheScsICdpbmxpbmUtZmxleCcpO1xuICAgIHRoaXMucmVuZGVyZXI/LnNldFN0eWxlKGljb25Db250YWluZXIsICdmbGV4LWRpcmVjdGlvbicsICdjb2x1bW4nKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZShpY29uQ29udGFpbmVyLCAnYWxpZ24taXRlbXMnLCAnY2VudGVyJyk7XG5cbiAgICB0aGlzLnVwSWNvbiA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnaW1nJyk7XG4gICAgdGhpcy5yZW5kZXJlcj8uc2V0QXR0cmlidXRlKHRoaXMudXBJY29uLCAnc3JjJywgdGhpcy5jb2x1bW4oKT8uc29ydEFzY0ljb24pO1xuICAgIHRoaXMucmVuZGVyZXI/LnNldFN0eWxlKHRoaXMudXBJY29uLCAnb3BhY2l0eScsICcwLjUnKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZSh0aGlzLnVwSWNvbiwgJ3RyYW5zaXRpb24nLCAnb3BhY2l0eSAwLjNzIGVhc2UnKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZSh0aGlzLnVwSWNvbiwgJ3dpZHRoJywgJzlweCcpO1xuICAgIHRoaXMucmVuZGVyZXI/LnNldFN0eWxlKHRoaXMudXBJY29uLCAnY3Vyc29yJywgJ3BvaW50ZXInKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5saXN0ZW4odGhpcy51cEljb24sICdjbGljaycsICgpID0+IHRoaXMuc2V0U29ydERpcmVjdGlvbignQVNDJykpO1xuXG4gICAgdGhpcy5kb3duSWNvbiA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnaW1nJyk7XG4gICAgdGhpcy5yZW5kZXJlcj8uc2V0QXR0cmlidXRlKHRoaXMuZG93bkljb24sICdzcmMnLCB0aGlzLmNvbHVtbigpPy5zb3J0RGVzY0ljb24pO1xuICAgIHRoaXMucmVuZGVyZXI/LnNldFN0eWxlKHRoaXMuZG93bkljb24sICdvcGFjaXR5JywgJzAuNScpO1xuICAgIHRoaXMucmVuZGVyZXI/LnNldFN0eWxlKHRoaXMuZG93bkljb24sICd0cmFuc2l0aW9uJywgJ29wYWNpdHkgMC4zcyBlYXNlJyk7XG4gICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUodGhpcy5kb3duSWNvbiwgJ3dpZHRoJywgJzlweCcpO1xuICAgIHRoaXMucmVuZGVyZXI/LnNldFN0eWxlKHRoaXMuZG93bkljb24sICdjdXJzb3InLCAncG9pbnRlcicpO1xuICAgIHRoaXMucmVuZGVyZXI/Lmxpc3Rlbih0aGlzLmRvd25JY29uLCAnY2xpY2snLCAoKSA9PiB0aGlzLnNldFNvcnREaXJlY3Rpb24oJ0RFU0MnKSk7XG5cbiAgICB0aGlzLnJlbmRlcmVyPy5hcHBlbmRDaGlsZChpY29uQ29udGFpbmVyLCB0aGlzLnVwSWNvbik7XG4gICAgdGhpcy5yZW5kZXJlcj8uYXBwZW5kQ2hpbGQoaWNvbkNvbnRhaW5lciwgdGhpcy5kb3duSWNvbik7XG4gICAgdGhpcy5yZW5kZXJlcj8uYXBwZW5kQ2hpbGQoY29udGFpbmVyLCBpY29uQ29udGFpbmVyKTtcblxuICAgIGlmICh0aGlzLm11bHRpQ29sdW1uU29ydCgpKSB7XG4gICAgICB0aGlzLnNvcnRPcmRlckVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgIHRoaXMucmVuZGVyZXI/LnNldFN0eWxlKHRoaXMuc29ydE9yZGVyRWxlbWVudCwgJ2ZvbnQtc2l6ZScsICcxMnB4Jyk7XG4gICAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZSh0aGlzLnNvcnRPcmRlckVsZW1lbnQsICdmb250LXdlaWdodCcsICdib2xkJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZSh0aGlzLnNvcnRPcmRlckVsZW1lbnQsICdjb2xvcicsICcjMDAwJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyPy5hcHBlbmRDaGlsZChjb250YWluZXIsIHRoaXMuc29ydE9yZGVyRWxlbWVudCk7XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJlcj8uYXBwZW5kQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCBjb250YWluZXIpO1xuICAgIHRoaXMudXBkYXRlSWNvblN0eWxlcygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydhY3RpdmVTb3J0J10gfHwgY2hhbmdlc1snYWN0aXZlU29ydHMnXSkge1xuICAgICAgdGhpcy51cGRhdGVJY29uU3R5bGVzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRTb3J0RGlyZWN0aW9uKGRpcmVjdGlvbjogJ0FTQycgfCAnREVTQycpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tdWx0aUNvbHVtblNvcnQoKSkge1xuICAgICAgdGhpcy5oYW5kbGVNdWx0aUNvbHVtblNvcnQoZGlyZWN0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oYW5kbGVTaW5nbGVDb2x1bW5Tb3J0KGRpcmVjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTaW5nbGVDb2x1bW5Tb3J0KGRpcmVjdGlvbjogJ0FTQycgfCAnREVTQycpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50RGlyZWN0aW9uKCkgPT09IGRpcmVjdGlvbikge1xuICAgICAgdGhpcy5jdXJyZW50RGlyZWN0aW9uLnNldCgnJyk7IC8vIFJlc2V0IHNvcnRpbmcgaWYgdGhlIHNhbWUgZGlyZWN0aW9uIGlzIGNsaWNrZWRcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jdXJyZW50RGlyZWN0aW9uLnNldChkaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHsgXG4gICAgICBjb2x1bW46IHRoaXMuY29sdW1uKCk/LmRhdGEgfHwgJycsIFxuICAgICAgZGlyZWN0aW9uOiB0aGlzLmN1cnJlbnREaXJlY3Rpb24oKVxuICAgIH0pO1xuICAgIHRoaXMudXBkYXRlSWNvblN0eWxlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVNdWx0aUNvbHVtblNvcnQoZGlyZWN0aW9uOiAnQVNDJyB8ICdERVNDJyk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZVNvcnRzID0gdGhpcy5hY3RpdmVTb3J0cygpO1xuICAgIFxuICAgIGlmICghQXJyYXkuaXNBcnJheShhY3RpdmVTb3J0cykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgZXhpc3RpbmdTb3J0SW5kZXggPSBhY3RpdmVTb3J0cy5maW5kSW5kZXgoc29ydCA9PiBzb3J0LmNvbHVtbiA9PT0gdGhpcy5jb2x1bW4oKT8uZGF0YSk7XG4gICAgXG4gICAgaWYgKGV4aXN0aW5nU29ydEluZGV4ICE9PSAtMSkge1xuICAgICAgaWYgKGFjdGl2ZVNvcnRzW2V4aXN0aW5nU29ydEluZGV4XS5kaXJlY3Rpb24gIT09IGRpcmVjdGlvbikge1xuICAgICAgICBhY3RpdmVTb3J0c1tleGlzdGluZ1NvcnRJbmRleF0uZGlyZWN0aW9uID0gZGlyZWN0aW9uO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBhY3RpdmVTb3J0cy5wdXNoKHsgXG4gICAgICAgIGNvbHVtbjogdGhpcy5jb2x1bW4oKT8uZGF0YSB8fCAnJywgXG4gICAgICAgIGRpcmVjdGlvblxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMubXVsdGlTb3J0Q2hhbmdlLmVtaXQoWy4uLmFjdGl2ZVNvcnRzXSk7XG4gICAgdGhpcy51cGRhdGVJY29uU3R5bGVzKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUljb25TdHlsZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubXVsdGlDb2x1bW5Tb3J0KCkpIHtcbiAgICAgIHRoaXMudXBkYXRlTXVsdGlDb2x1bW5JY29uU3R5bGVzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlU2luZ2xlQ29sdW1uSWNvblN0eWxlcygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2luZ2xlQ29sdW1uSWNvblN0eWxlcygpOiB2b2lkIHtcbiAgICBjb25zdCBpc0FjdGl2ZUNvbHVtbiA9IHRoaXMuYWN0aXZlU29ydCgpPy5jb2x1bW4gPT09IHRoaXMuY29sdW1uKCk/LmRhdGE7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucmVuZGVyZXI/LnNldFN0eWxlKFxuICAgICAgICB0aGlzLnVwSWNvbixcbiAgICAgICAgJ29wYWNpdHknLFxuICAgICAgICBpc0FjdGl2ZUNvbHVtbiAmJiB0aGlzLmN1cnJlbnREaXJlY3Rpb24oKSA9PT0gJ0FTQycgPyAnMScgOiAnMC41J1xuICAgICAgKTtcbiAgICAgIHRoaXMucmVuZGVyZXI/LnNldFN0eWxlKFxuICAgICAgICB0aGlzLmRvd25JY29uLFxuICAgICAgICAnb3BhY2l0eScsXG4gICAgICAgIGlzQWN0aXZlQ29sdW1uICYmIHRoaXMuY3VycmVudERpcmVjdGlvbigpID09PSAnREVTQycgPyAnMScgOiAnMC41J1xuICAgICAgKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTXVsdGlDb2x1bW5JY29uU3R5bGVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZVNvcnRzID0gdGhpcy5hY3RpdmVTb3J0cygpO1xuICAgIFxuICAgIGlmICghQXJyYXkuaXNBcnJheShhY3RpdmVTb3J0cykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgY29sdW1uU29ydCA9IGFjdGl2ZVNvcnRzLmZpbmQoc29ydCA9PiBzb3J0LmNvbHVtbiA9PT0gdGhpcy5jb2x1bW4oKT8uZGF0YSk7XG4gICAgXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZShcbiAgICAgICAgdGhpcy51cEljb24sXG4gICAgICAgICdvcGFjaXR5JyxcbiAgICAgICAgY29sdW1uU29ydD8uZGlyZWN0aW9uID09PSAnQVNDJyA/ICcxJyA6ICcwLjUnXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZG93bkljb24sXG4gICAgICAgICdvcGFjaXR5JyxcbiAgICAgICAgY29sdW1uU29ydD8uZGlyZWN0aW9uID09PSAnREVTQycgPyAnMScgOiAnMC41J1xuICAgICAgKTtcblxuICAgICAgaWYgKHRoaXMuc29ydE9yZGVyRWxlbWVudCkge1xuICAgICAgICBjb25zdCBzb3J0SW5kZXggPSBhY3RpdmVTb3J0cy5maW5kSW5kZXgoc29ydCA9PiBzb3J0LmNvbHVtbiA9PT0gdGhpcy5jb2x1bW4oKT8uZGF0YSk7XG4gICAgICAgIGlmIChzb3J0SW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlcj8uc2V0UHJvcGVydHkodGhpcy5zb3J0T3JkZXJFbGVtZW50LCAndGV4dENvbnRlbnQnLCAoc29ydEluZGV4ICsgMSkudG9TdHJpbmcoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlcj8uc2V0UHJvcGVydHkodGhpcy5zb3J0T3JkZXJFbGVtZW50LCAndGV4dENvbnRlbnQnLCAnJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxufSJdfQ==
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1pY29ucy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90YWJsZS9zb3J0LWljb25zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQU1ULEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7QUFnQnZCLE1BQU0sT0FBTyxrQkFBa0I7SUFtQjdCLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQWxCL0QsNEJBQTRCO1FBQzVCLFdBQU0sR0FBRyxLQUFLLEVBQWMsQ0FBQztRQUM3QixlQUFVLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxLQUFLLEVBQWUsQ0FBQztRQUNuQyxvQkFBZSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUV4QywyQkFBMkI7UUFDM0IsZUFBVSxHQUFHLE1BQU0sRUFBYSxDQUFDO1FBQ2pDLG9CQUFlLEdBQUcsTUFBTSxFQUFlLENBQUM7UUFFeEMsNEJBQTRCO1FBQzVCLHFCQUFnQixHQUFHLE1BQU0sQ0FBc0IsRUFBRSxDQUFDLENBQUM7UUFRakQsNkVBQTZFO1FBQzdFLHNFQUFzRTtRQUN0RSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsZ0ZBQWdGO1lBQ2hGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyx3Q0FBd0M7WUFDakUsd0VBQXdFO1lBQ3hFLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsRUFB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LEVBQUUsU0FBUyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQy9DLENBQUM7WUFFRixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUMxQixNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3JGLElBQUksU0FBUyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDL0YsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZFLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzttSEFsTVUsa0JBQWtCO29FQUFsQixrQkFBa0I7O2lGQUFsQixrQkFBa0I7Y0FIOUIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7YUFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgZWZmZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBTb3J0U3RhdGUge1xuICBjb2x1bW46IHN0cmluZztcbiAgZGlyZWN0aW9uOiAnQVNDJyB8ICdERVNDJyB8ICcnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRDb2x1bW4ge1xuICBkYXRhOiBzdHJpbmc7XG4gIHNvcnRBc2NJY29uPzogc3RyaW5nO1xuICBzb3J0RGVzY0ljb24/OiBzdHJpbmc7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thcHBTb3J0SWNvbnNdJyxcbn0pXG5leHBvcnQgY2xhc3MgU29ydEljb25zRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAvLyBDb252ZXJ0IGlucHV0cyB0byBzaWduYWxzXG4gIGNvbHVtbiA9IGlucHV0PFNvcnRDb2x1bW4+KCk7XG4gIGFjdGl2ZVNvcnQgPSBpbnB1dDxTb3J0U3RhdGU+KCk7XG4gIGFjdGl2ZVNvcnRzID0gaW5wdXQ8U29ydFN0YXRlW10+KCk7XG4gIG11bHRpQ29sdW1uU29ydCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgXG4gIC8vIENvbnZlcnQgb3V0cHV0IHRvIHNpZ25hbFxuICBzb3J0Q2hhbmdlID0gb3V0cHV0PFNvcnRTdGF0ZT4oKTtcbiAgbXVsdGlTb3J0Q2hhbmdlID0gb3V0cHV0PFNvcnRTdGF0ZVtdPigpO1xuXG4gIC8vIEludGVybmFsIHN0YXRlIGFzIHNpZ25hbHNcbiAgY3VycmVudERpcmVjdGlvbiA9IHNpZ25hbDwnQVNDJyB8ICdERVNDJyB8ICcnPignJyk7XG5cbiAgLy8gQXNzZXRzXG4gIHByaXZhdGUgdXBJY29uITogSFRNTEltYWdlRWxlbWVudDtcbiAgcHJpdmF0ZSBkb3duSWNvbiE6IEhUTUxJbWFnZUVsZW1lbnQ7XG4gIHByaXZhdGUgc29ydE9yZGVyRWxlbWVudD86IEhUTUxTcGFuRWxlbWVudDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICAvLyBXYXRjaCBmb3IgY2hhbmdlcyBpbiBhY3RpdmVTb3J0LCBhY3RpdmVTb3J0cywgYW5kIGN1cnJlbnREaXJlY3Rpb24gc2lnbmFsc1xuICAgIC8vIFNpZ25hbCBpbnB1dHMgZG9uJ3QgdHJpZ2dlciBuZ09uQ2hhbmdlcywgc28gd2UgbmVlZCB0byB1c2UgZWZmZWN0KClcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgLy8gQWNjZXNzIHRoZSBzaWduYWxzIHRvIGNyZWF0ZSBhIGRlcGVuZGVuY3kgKHdlIGRvbid0IG5lZWQgdG8gc3RvcmUgdGhlIHZhbHVlcylcbiAgICAgIHRoaXMuYWN0aXZlU29ydCgpO1xuICAgICAgdGhpcy5hY3RpdmVTb3J0cygpO1xuICAgICAgdGhpcy5jdXJyZW50RGlyZWN0aW9uKCk7IC8vIEFsc28gd2F0Y2ggaW50ZXJuYWwgZGlyZWN0aW9uIGNoYW5nZXNcbiAgICAgIC8vIFVwZGF0ZSBpY29uIHN0eWxlcyB3aGVuIHNpZ25hbHMgY2hhbmdlIChvbmx5IGFmdGVyIGljb25zIGFyZSBjcmVhdGVkKVxuICAgICAgaWYgKHRoaXMudXBJY29uICYmIHRoaXMuZG93bkljb24pIHtcbiAgICAgICAgdGhpcy51cGRhdGVJY29uU3R5bGVzKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBcbiAgICAvLyBDcmVhdGUgYSBjb250YWluZXIgZm9yIHRoZSBpY29uc1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUoY29udGFpbmVyLCAnZGlzcGxheScsICdpbmxpbmUtZmxleCcpO1xuICAgIHRoaXMucmVuZGVyZXI/LnNldFN0eWxlKGNvbnRhaW5lciwgJ2FsaWduLWl0ZW1zJywgJ2NlbnRlcicpO1xuXG4gICAgY29uc3QgaWNvbkNvbnRhaW5lciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUoaWNvbkNvbnRhaW5lciwgJ2Rpc3BsYXknLCAnaW5saW5lLWZsZXgnKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZShpY29uQ29udGFpbmVyLCAnZmxleC1kaXJlY3Rpb24nLCAnY29sdW1uJyk7XG4gICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUoaWNvbkNvbnRhaW5lciwgJ2FsaWduLWl0ZW1zJywgJ2NlbnRlcicpO1xuXG4gICAgdGhpcy51cEljb24gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xuICAgIHRoaXMucmVuZGVyZXI/LnNldEF0dHJpYnV0ZSh0aGlzLnVwSWNvbiwgJ3NyYycsIHRoaXMuY29sdW1uKCk/LnNvcnRBc2NJY29uKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZSh0aGlzLnVwSWNvbiwgJ29wYWNpdHknLCAnMC41Jyk7XG4gICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUodGhpcy51cEljb24sICd0cmFuc2l0aW9uJywgJ29wYWNpdHkgMC4zcyBlYXNlJyk7XG4gICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUodGhpcy51cEljb24sICd3aWR0aCcsICc5cHgnKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZSh0aGlzLnVwSWNvbiwgJ2N1cnNvcicsICdwb2ludGVyJyk7XG4gICAgdGhpcy5yZW5kZXJlcj8ubGlzdGVuKHRoaXMudXBJY29uLCAnY2xpY2snLCAoKSA9PiB0aGlzLnNldFNvcnREaXJlY3Rpb24oJ0FTQycpKTtcblxuICAgIHRoaXMuZG93bkljb24gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xuICAgIHRoaXMucmVuZGVyZXI/LnNldEF0dHJpYnV0ZSh0aGlzLmRvd25JY29uLCAnc3JjJywgdGhpcy5jb2x1bW4oKT8uc29ydERlc2NJY29uKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZSh0aGlzLmRvd25JY29uLCAnb3BhY2l0eScsICcwLjUnKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZSh0aGlzLmRvd25JY29uLCAndHJhbnNpdGlvbicsICdvcGFjaXR5IDAuM3MgZWFzZScpO1xuICAgIHRoaXMucmVuZGVyZXI/LnNldFN0eWxlKHRoaXMuZG93bkljb24sICd3aWR0aCcsICc5cHgnKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZSh0aGlzLmRvd25JY29uLCAnY3Vyc29yJywgJ3BvaW50ZXInKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5saXN0ZW4odGhpcy5kb3duSWNvbiwgJ2NsaWNrJywgKCkgPT4gdGhpcy5zZXRTb3J0RGlyZWN0aW9uKCdERVNDJykpO1xuXG4gICAgdGhpcy5yZW5kZXJlcj8uYXBwZW5kQ2hpbGQoaWNvbkNvbnRhaW5lciwgdGhpcy51cEljb24pO1xuICAgIHRoaXMucmVuZGVyZXI/LmFwcGVuZENoaWxkKGljb25Db250YWluZXIsIHRoaXMuZG93bkljb24pO1xuICAgIHRoaXMucmVuZGVyZXI/LmFwcGVuZENoaWxkKGNvbnRhaW5lciwgaWNvbkNvbnRhaW5lcik7XG5cbiAgICBpZiAodGhpcy5tdWx0aUNvbHVtblNvcnQoKSkge1xuICAgICAgdGhpcy5zb3J0T3JkZXJFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZSh0aGlzLnNvcnRPcmRlckVsZW1lbnQsICdmb250LXNpemUnLCAnMTJweCcpO1xuICAgICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUodGhpcy5zb3J0T3JkZXJFbGVtZW50LCAnZm9udC13ZWlnaHQnLCAnYm9sZCcpO1xuICAgICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUodGhpcy5zb3J0T3JkZXJFbGVtZW50LCAnY29sb3InLCAnIzAwMCcpO1xuICAgICAgdGhpcy5yZW5kZXJlcj8uYXBwZW5kQ2hpbGQoY29udGFpbmVyLCB0aGlzLnNvcnRPcmRlckVsZW1lbnQpO1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyZXI/LmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY29udGFpbmVyKTtcbiAgICB0aGlzLnVwZGF0ZUljb25TdHlsZXMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snYWN0aXZlU29ydCddIHx8IGNoYW5nZXNbJ2FjdGl2ZVNvcnRzJ10pIHtcbiAgICAgIHRoaXMudXBkYXRlSWNvblN0eWxlcygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0U29ydERpcmVjdGlvbihkaXJlY3Rpb246ICdBU0MnIHwgJ0RFU0MnKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubXVsdGlDb2x1bW5Tb3J0KCkpIHtcbiAgICAgIHRoaXMuaGFuZGxlTXVsdGlDb2x1bW5Tb3J0KGRpcmVjdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGFuZGxlU2luZ2xlQ29sdW1uU29ydChkaXJlY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU2luZ2xlQ29sdW1uU29ydChkaXJlY3Rpb246ICdBU0MnIHwgJ0RFU0MnKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudERpcmVjdGlvbigpID09PSBkaXJlY3Rpb24pIHtcbiAgICAgIHRoaXMuY3VycmVudERpcmVjdGlvbi5zZXQoJycpOyAvLyBSZXNldCBzb3J0aW5nIGlmIHRoZSBzYW1lIGRpcmVjdGlvbiBpcyBjbGlja2VkXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VycmVudERpcmVjdGlvbi5zZXQoZGlyZWN0aW9uKTtcbiAgICB9XG5cbiAgICB0aGlzLnNvcnRDaGFuZ2UuZW1pdCh7IFxuICAgICAgY29sdW1uOiB0aGlzLmNvbHVtbigpPy5kYXRhIHx8ICcnLCBcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5jdXJyZW50RGlyZWN0aW9uKClcbiAgICB9KTtcbiAgICB0aGlzLnVwZGF0ZUljb25TdHlsZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTXVsdGlDb2x1bW5Tb3J0KGRpcmVjdGlvbjogJ0FTQycgfCAnREVTQycpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVTb3J0cyA9IHRoaXMuYWN0aXZlU29ydHMoKTtcbiAgICBcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWN0aXZlU29ydHMpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIFxuICAgIGNvbnN0IGV4aXN0aW5nU29ydEluZGV4ID0gYWN0aXZlU29ydHMuZmluZEluZGV4KHNvcnQgPT4gc29ydC5jb2x1bW4gPT09IHRoaXMuY29sdW1uKCk/LmRhdGEpO1xuICAgIFxuICAgIGlmIChleGlzdGluZ1NvcnRJbmRleCAhPT0gLTEpIHtcbiAgICAgIGlmIChhY3RpdmVTb3J0c1tleGlzdGluZ1NvcnRJbmRleF0uZGlyZWN0aW9uICE9PSBkaXJlY3Rpb24pIHtcbiAgICAgICAgYWN0aXZlU29ydHNbZXhpc3RpbmdTb3J0SW5kZXhdLmRpcmVjdGlvbiA9IGRpcmVjdGlvbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgYWN0aXZlU29ydHMucHVzaCh7IFxuICAgICAgICBjb2x1bW46IHRoaXMuY29sdW1uKCk/LmRhdGEgfHwgJycsIFxuICAgICAgICBkaXJlY3Rpb25cbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLm11bHRpU29ydENoYW5nZS5lbWl0KFsuLi5hY3RpdmVTb3J0c10pO1xuICAgIHRoaXMudXBkYXRlSWNvblN0eWxlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVJY29uU3R5bGVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm11bHRpQ29sdW1uU29ydCgpKSB7XG4gICAgICB0aGlzLnVwZGF0ZU11bHRpQ29sdW1uSWNvblN0eWxlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZVNpbmdsZUNvbHVtbkljb25TdHlsZXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVNpbmdsZUNvbHVtbkljb25TdHlsZXMoKTogdm9pZCB7XG4gICAgLy8gQ2hlY2sgYm90aCBwYXJlbnQncyBhY3RpdmVTb3J0IEFORCBpbnRlcm5hbCBjdXJyZW50RGlyZWN0aW9uXG4gICAgLy8gUGFyZW50J3MgYWN0aXZlU29ydCBtYXkgbm90IGJlIHVwZGF0ZWQgaW1tZWRpYXRlbHksIHNvIHdlIGFsc28gY2hlY2sgaW50ZXJuYWwgc3RhdGVcbiAgICBjb25zdCBwYXJlbnRBY3RpdmVTb3J0ID0gdGhpcy5hY3RpdmVTb3J0KCk7XG4gICAgY29uc3QgaXNBY3RpdmVDb2x1bW5Gcm9tUGFyZW50ID0gcGFyZW50QWN0aXZlU29ydD8uY29sdW1uID09PSB0aGlzLmNvbHVtbigpPy5kYXRhO1xuICAgIGNvbnN0IGludGVybmFsRGlyZWN0aW9uID0gdGhpcy5jdXJyZW50RGlyZWN0aW9uKCk7XG4gICAgY29uc3QgaXNBY3RpdmVDb2x1bW4gPSBpc0FjdGl2ZUNvbHVtbkZyb21QYXJlbnQgfHwgKGludGVybmFsRGlyZWN0aW9uICE9PSAnJyk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIC8vIFVzZSBwYXJlbnQncyBkaXJlY3Rpb24gaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgdXNlIGludGVybmFsIGRpcmVjdGlvblxuICAgICAgY29uc3QgYWN0aXZlRGlyZWN0aW9uID0gcGFyZW50QWN0aXZlU29ydD8uZGlyZWN0aW9uIHx8IGludGVybmFsRGlyZWN0aW9uO1xuICAgICAgXG4gICAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZShcbiAgICAgICAgdGhpcy51cEljb24sXG4gICAgICAgICdvcGFjaXR5JyxcbiAgICAgICAgaXNBY3RpdmVDb2x1bW4gJiYgYWN0aXZlRGlyZWN0aW9uID09PSAnQVNDJyA/ICcxJyA6ICcwLjUnXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZG93bkljb24sXG4gICAgICAgICdvcGFjaXR5JyxcbiAgICAgICAgaXNBY3RpdmVDb2x1bW4gJiYgYWN0aXZlRGlyZWN0aW9uID09PSAnREVTQycgPyAnMScgOiAnMC41J1xuICAgICAgKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTXVsdGlDb2x1bW5JY29uU3R5bGVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZVNvcnRzID0gdGhpcy5hY3RpdmVTb3J0cygpO1xuICAgIFxuICAgIGlmICghQXJyYXkuaXNBcnJheShhY3RpdmVTb3J0cykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgY29sdW1uU29ydCA9IGFjdGl2ZVNvcnRzLmZpbmQoc29ydCA9PiBzb3J0LmNvbHVtbiA9PT0gdGhpcy5jb2x1bW4oKT8uZGF0YSk7XG4gICAgXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZShcbiAgICAgICAgdGhpcy51cEljb24sXG4gICAgICAgICdvcGFjaXR5JyxcbiAgICAgICAgY29sdW1uU29ydD8uZGlyZWN0aW9uID09PSAnQVNDJyA/ICcxJyA6ICcwLjUnXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZG93bkljb24sXG4gICAgICAgICdvcGFjaXR5JyxcbiAgICAgICAgY29sdW1uU29ydD8uZGlyZWN0aW9uID09PSAnREVTQycgPyAnMScgOiAnMC41J1xuICAgICAgKTtcblxuICAgICAgaWYgKHRoaXMuc29ydE9yZGVyRWxlbWVudCkge1xuICAgICAgICBjb25zdCBzb3J0SW5kZXggPSBhY3RpdmVTb3J0cy5maW5kSW5kZXgoc29ydCA9PiBzb3J0LmNvbHVtbiA9PT0gdGhpcy5jb2x1bW4oKT8uZGF0YSk7XG4gICAgICAgIGlmIChzb3J0SW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlcj8uc2V0UHJvcGVydHkodGhpcy5zb3J0T3JkZXJFbGVtZW50LCAndGV4dENvbnRlbnQnLCAoc29ydEluZGV4ICsgMSkudG9TdHJpbmcoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlcj8uc2V0UHJvcGVydHkodGhpcy5zb3J0T3JkZXJFbGVtZW50LCAndGV4dENvbnRlbnQnLCAnJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxufSJdfQ==
|