@pega/angular-sdk-components 0.242.10 → 0.242.11
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/_components/field/check-box/check-box.component.mjs +3 -3
- package/esm2022/lib/_components/field/date/date.component.mjs +3 -3
- package/esm2022/lib/_components/field/date-time/date-time.component.mjs +3 -3
- package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/lib/_components/field/phone/phone.component.mjs +3 -3
- package/esm2022/lib/_components/field/radio-buttons/radio-buttons.component.mjs +3 -3
- package/esm2022/lib/_components/template/field-group-template/field-group-template.component.mjs +2 -2
- package/esm2022/lib/_components/template/simple-table-manual/helpers.mjs +1 -17
- package/esm2022/lib/_components/template/simple-table-manual/simple-table-manual.component.mjs +3 -2
- package/esm2022/lib/_components/template/utils.mjs +17 -1
- package/esm2022/public-api.mjs +11 -11
- package/fesm2022/pega-angular-sdk-components.mjs +37 -48
- package/fesm2022/pega-angular-sdk-components.mjs.map +1 -1
- package/lib/_components/template/simple-table-manual/helpers.d.ts +0 -7
- package/lib/_components/template/utils.d.ts +7 -0
- package/package.json +1 -1
- package/public-api.d.ts +10 -10
- package/esm2022/lib/_components/template/field-group-template/utils.mjs +0 -11
- package/lib/_components/template/field-group-template/utils.d.ts +0 -1
package/esm2022/lib/_components/template/field-group-template/field-group-template.component.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import { MatButtonModule } from '@angular/material/button';
|
|
4
4
|
import { buildView, getReferenceList } from '../../../_helpers/field-group-utils';
|
|
5
5
|
import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component';
|
|
6
|
-
import { evaluateAllowRowAction } from '
|
|
6
|
+
import { evaluateAllowRowAction } from '../utils';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "../../../_bridge/angular-pconnect";
|
|
9
9
|
import * as i2 from "../../../_helpers/utils";
|
|
@@ -128,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
128
128
|
}], formGroup$: [{
|
|
129
129
|
type: Input
|
|
130
130
|
}] } });
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZ3JvdXAtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL3RlbXBsYXRlL2ZpZWxkLWdyb3VwLXRlbXBsYXRlL2ZpZWxkLWdyb3VwLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9maWVsZC1ncm91cC10ZW1wbGF0ZS9maWVsZC1ncm91cC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxVQUFVLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRWxGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7Ozs7O0FBMEJqRCxNQUFNLE9BQU8sMkJBQTJCO0lBcUJ0QyxZQUNVLGVBQXVDLEVBQ3ZDLEtBQVk7UUFEWixvQkFBZSxHQUFmLGVBQWUsQ0FBd0I7UUFDdkMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQWxCdEIsd0JBQW1CLEdBQXdCLEVBQUUsQ0FBQztRQUU5QyxlQUFVLEdBQWEsSUFBSSxDQUFDO1FBVTVCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQXdHbkIsb0JBQWUsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNuQyxPQUFPLEdBQUcsT0FBTyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNuQyxDQUFDLENBQUM7UUFFRixxQkFBZ0IsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNqQyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssYUFBYSxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDMUYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsT0FBTyxPQUFPLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUM7SUE1R0MsQ0FBQztJQUVKLFFBQVE7UUFDTiw4RkFBOEY7UUFDOUYsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsNkJBQTZCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQztRQUU5RixNQUFNLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBRTFFLElBQUksWUFBWSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pELElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQVEsSUFBSSxjQUFjLElBQUksSUFBSSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7WUFDaEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMsV0FBVyxJQUFJLGNBQWMsSUFBSSxJQUFJLENBQUM7UUFDeEUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLGNBQWMsSUFBSSxJQUFJLENBQUM7WUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLElBQUksSUFBSSxDQUFDO1FBQzVDLENBQUM7UUFFRCxJQUFJLGFBQWEsRUFBRSxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNyRSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVGLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxnRUFBZ0U7UUFDaEUsNEJBQTRCO1FBQzVCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckUsd0RBQXdEO1FBQ3hELElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQU87UUFDakIsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFDbkMsSUFBSSxLQUFLLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO2dCQUV2QyxJQUFJLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUM7Z0JBQzlDLENBQUM7Z0JBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsMkJBQTJCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLGNBQWMsR0FBUSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFNUQsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQzFJLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFcEIsZ0VBQWdFO1FBQ2hFLElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUM7UUFFNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLEVBQUUsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUU1RCxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsS0FBSyxVQUFVLElBQUksV0FBVyxLQUFLLGNBQWMsQ0FBQztRQUVoRixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFFL0IsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFM0MsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLG1CQUFtQixJQUFJLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN0RCxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ2pELE9BQU87b0JBQ0wsRUFBRSxFQUFFLEtBQUs7b0JBQ1QsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO29CQUN6SCxRQUFRLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixDQUFDO29CQUM3RCxjQUFjLEVBQUUsc0JBQXNCLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQztpQkFDN0QsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxhQUFhLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBYUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFLO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUMvQyxPQUFPLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNsRSxDQUFDOytHQWpKVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiwrTENsQ3hDLCtpREFpQ0Esb1FERFksWUFBWSw4VEFBRSxlQUFlLHdZQUFtQix3QkFBd0I7OzRGQUV2RSwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBR3hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7K0dBRzNFLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIGZvcndhcmRSZWYsIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEFuZ3VsYXJQQ29ubmVjdERhdGEsIEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2FuZ3VsYXItcGNvbm5lY3QnO1xuaW1wb3J0IHsgYnVpbGRWaWV3LCBnZXRSZWZlcmVuY2VMaXN0IH0gZnJvbSAnLi4vLi4vLi4vX2hlbHBlcnMvZmllbGQtZ3JvdXAtdXRpbHMnO1xuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9faGVscGVycy91dGlscyc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgZXZhbHVhdGVBbGxvd1Jvd0FjdGlvbiB9IGZyb20gJy4vdXRpbHMnO1xuXG5pbnRlcmZhY2UgRmllbGRHcm91cFRlbXBsYXRlUHJvcHMge1xuICAvLyBJZiBhbnksIGVudGVyIGFkZGl0aW9uYWwgcHJvcHMgdGhhdCBvbmx5IGV4aXN0IG9uIHRoaXMgY29tcG9uZW50XG4gIGxhYmVsPzogc3RyaW5nO1xuICBoaWRlTGFiZWw/OiBib29sZWFuO1xuICBhbGxvd0FjdGlvbnM/OiBhbnk7XG4gIGFsbG93Um93RGVsZXRlPzogYW55O1xuICByZWZlcmVuY2VMaXN0PzogYW55W107XG4gIGNvbnRleHRDbGFzczogc3RyaW5nO1xuICByZW5kZXJNb2RlPzogc3RyaW5nO1xuICBoZWFkaW5nPzogc3RyaW5nO1xuICBsb29rRm9yQ2hpbGRJbkNvbmZpZz86IGJvb2xlYW47XG4gIGRpc3BsYXlNb2RlPzogc3RyaW5nO1xuICBmaWVsZEhlYWRlcj86IHN0cmluZztcbiAgYWxsb3dUYWJsZUVkaXQ6IGJvb2xlYW47XG4gIHRhcmdldENsYXNzTGFiZWw/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1maWVsZC1ncm91cC10ZW1wbGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1ncm91cC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpZWxkLWdyb3VwLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXVxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZEdyb3VwVGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgY29uZmlnUHJvcHMkOiBGaWVsZEdyb3VwVGVtcGxhdGVQcm9wcztcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCQ6IEZvcm1Hcm91cDtcblxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG5cbiAgc2hvd0xhYmVsJD86IGJvb2xlYW4gPSB0cnVlO1xuICBsYWJlbCQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5TW9kZTogYm9vbGVhbjtcbiAgY29udGV4dENsYXNzOiBhbnk7XG4gIGhlYWRpbmc6IGFueTtcbiAgY2hpbGRyZW46IGFueTtcbiAgbWVudUljb25PdmVycmlkZSQ6IGFueTtcbiAgcmVmZXJlbmNlTGlzdExlbmd0aDogbnVtYmVyO1xuICBmaWVsZEhlYWRlcjogYW55O1xuXG4gIGFsbG93QWRkID0gdHJ1ZTtcbiAgYWxsb3dFZGl0ID0gdHJ1ZTtcbiAgYWxsb3dEZWxldGUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYW5ndWxhclBDb25uZWN0OiBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXRpbHM6IFV0aWxzXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBGaXJzdCB0aGluZyBpbiBpbml0aWFsaXphdGlvbiBpcyByZWdpc3RlcmluZyBhbmQgc3Vic2NyaWJpbmcgdG8gdGhlIEFuZ3VsYXJQQ29ubmVjdCBzZXJ2aWNlXG4gICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhID0gdGhpcy5hbmd1bGFyUENvbm5lY3QucmVnaXN0ZXJBbmRTdWJzY3JpYmVDb21wb25lbnQodGhpcywgdGhpcy5vblN0YXRlQ2hhbmdlKTtcbiAgICB0aGlzLnVwZGF0ZVNlbGYoKTtcblxuICAgIHRoaXMubWVudUljb25PdmVycmlkZSQgPSB0aGlzLnV0aWxzLmdldEltYWdlU3JjKCd0cmFzaCcsIHRoaXMudXRpbHMuZ2V0U0RLU3RhdGljQ29udGVudFVybCgpKTtcblxuICAgIGNvbnN0IHsgYWxsb3dBY3Rpb25zLCBhbGxvd1RhYmxlRWRpdCwgcmVmZXJlbmNlTGlzdCB9ID0gdGhpcy5jb25maWdQcm9wcyQ7XG5cbiAgICBpZiAoYWxsb3dBY3Rpb25zICYmIE9iamVjdC5rZXlzKGFsbG93QWN0aW9ucykubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5hbGxvd0FkZCA9IGFsbG93QWN0aW9ucy5hbGxvd0FkZCA/PyBhbGxvd1RhYmxlRWRpdCA/PyB0cnVlO1xuICAgICAgdGhpcy5hbGxvd0VkaXQgPSBhbGxvd0FjdGlvbnMuYWxsb3dFZGl0ID8/IHRydWU7XG4gICAgICB0aGlzLmFsbG93RGVsZXRlID0gYWxsb3dBY3Rpb25zLmFsbG93RGVsZXRlID8/IGFsbG93VGFibGVFZGl0ID8/IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWxsb3dBZGQgPSBhbGxvd1RhYmxlRWRpdCA/PyB0cnVlO1xuICAgICAgdGhpcy5hbGxvd0RlbGV0ZSA9IGFsbG93VGFibGVFZGl0ID8/IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHJlZmVyZW5jZUxpc3Q/Lmxlbmd0aCA9PT0gMCAmJiAodGhpcy5hbGxvd0FkZCB8fCB0aGlzLmFsbG93RWRpdCkpIHtcbiAgICAgIHRoaXMucENvbm4kLmdldExpc3RBY3Rpb25zKCkuaW5zZXJ0KHsgY2xhc3NJRDogdGhpcy5jb250ZXh0Q2xhc3MgfSwgcmVmZXJlbmNlTGlzdC5sZW5ndGgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICBvblN0YXRlQ2hhbmdlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGRcbiAgICAvLyB1cGRhdGUgaXRzZWxmIChyZS1yZW5kZXIpXG4gICAgY29uc3QgYlVwZGF0ZVNlbGYgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5zaG91bGRDb21wb25lbnRVcGRhdGUodGhpcyk7XG4gICAgLy8gT05MWSBjYWxsIHVwZGF0ZVNlbGYgd2hlbiB0aGUgY29tcG9uZW50IHNob3VsZCB1cGRhdGVcbiAgICBpZiAoYlVwZGF0ZVNlbGYpIHtcbiAgICAgIHRoaXMudXBkYXRlU2VsZigpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcyAmJiBjaGFuZ2VzLmNvbmZpZ1Byb3BzJCkge1xuICAgICAgY29uc3QgcHJvcHMgPSBjaGFuZ2VzLmNvbmZpZ1Byb3BzJDtcbiAgICAgIGlmIChwcm9wcy5jdXJyZW50VmFsdWUgIT09IHByb3BzLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgdGhpcy5jb25maWdQcm9wcyQgPSBwcm9wcy5jdXJyZW50VmFsdWU7XG5cbiAgICAgICAgaWYgKGNoYW5nZXM/LnBDb25uJD8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5wQ29ubiQgPSBjaGFuZ2VzPy5wQ29ubiQ/LmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlU2VsZigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCByZXNvbHZlZExpc3QgPSBnZXRSZWZlcmVuY2VMaXN0KHRoaXMucENvbm4kKTtcbiAgICAvLyBAdHMtaWdub3JlIC0gRXhwZWN0ZWQgMyBhcmd1bWVudHMsIGJ1dCBnb3QgMVxuICAgIHRoaXMucENvbm4kLmdldExpc3RBY3Rpb25zKCkuaW5pdERlZmF1bHRQYWdlSW5zdHJ1Y3Rpb25zKHJlc29sdmVkTGlzdCk7XG4gIH1cblxuICB1cGRhdGVTZWxmKCkge1xuICAgIGNvbnN0IGluaGVyaXRlZFByb3BzOiBhbnkgPSB0aGlzLnBDb25uJC5nZXRJbmhlcml0ZWRQcm9wcygpO1xuXG4gICAgY29uc3QgeyBsYWJlbCwgaGlkZUxhYmVsLCBhbGxvd1Jvd0RlbGV0ZSwgcmVmZXJlbmNlTGlzdCwgZmllbGRIZWFkZXIsIHJlbmRlck1vZGUsIGRpc3BsYXlNb2RlLCBoZWFkaW5nLCBjb250ZXh0Q2xhc3MsIGxvb2tGb3JDaGlsZEluQ29uZmlnIH0gPVxuICAgICAgdGhpcy5jb25maWdQcm9wcyQ7XG5cbiAgICAvLyBsYWJlbCB3aXRoaW4gaW5oZXJpdGVkUHJvcHMgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGNvbmZpZ1Byb3BzXG4gICAgdGhpcy5sYWJlbCQgPSBpbmhlcml0ZWRQcm9wcy5sYWJlbCB8fCBsYWJlbDtcblxuICAgIHRoaXMuc2hvd0xhYmVsJCA9IHJlZmVyZW5jZUxpc3Q/Lmxlbmd0aCA9PT0gMCB8fCAhaGlkZUxhYmVsO1xuXG4gICAgdGhpcy5yZWFkb25seU1vZGUgPSByZW5kZXJNb2RlID09PSAnUmVhZE9ubHknIHx8IGRpc3BsYXlNb2RlID09PSAnRElTUExBWV9PTkxZJztcblxuICAgIHRoaXMuY29udGV4dENsYXNzID0gY29udGV4dENsYXNzO1xuICAgIHRoaXMuaGVhZGluZyA9IGhlYWRpbmcgPz8gJ1Jvdyc7XG4gICAgdGhpcy5maWVsZEhlYWRlciA9IGZpZWxkSGVhZGVyO1xuXG4gICAgY29uc3QgcmVzb2x2ZWRMaXN0ID0gZ2V0UmVmZXJlbmNlTGlzdCh0aGlzLnBDb25uJCk7XG4gICAgdGhpcy5wQ29ubiQuc2V0UmVmZXJlbmNlTGlzdChyZXNvbHZlZExpc3QpO1xuXG4gICAgaWYgKHRoaXMucmVhZG9ubHlNb2RlKSB7XG4gICAgICB0aGlzLnBDb25uJC5zZXRJbmhlcml0ZWRQcm9wKCdkaXNwbGF5TW9kZScsICdESVNQTEFZX09OTFknKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZWZlcmVuY2VMaXN0TGVuZ3RoICE9IHJlZmVyZW5jZUxpc3Q/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5jaGlsZHJlbiA9IHJlZmVyZW5jZUxpc3Q/Lm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpZDogaW5kZXgsXG4gICAgICAgICAgbmFtZTogdGhpcy5maWVsZEhlYWRlciA9PT0gJ3Byb3BlcnR5UmVmJyA/IHRoaXMuZ2V0RHluYW1pY0hlYWRlcihpdGVtLCBpbmRleCkgOiB0aGlzLmdldFN0YXRpY0hlYWRlcih0aGlzLmhlYWRpbmcsIGluZGV4KSxcbiAgICAgICAgICBjaGlsZHJlbjogYnVpbGRWaWV3KHRoaXMucENvbm4kLCBpbmRleCwgbG9va0ZvckNoaWxkSW5Db25maWcpLFxuICAgICAgICAgIGFsbG93Um93RGVsZXRlOiBldmFsdWF0ZUFsbG93Um93QWN0aW9uKGFsbG93Um93RGVsZXRlLCBpdGVtKVxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMucmVmZXJlbmNlTGlzdExlbmd0aCA9IHJlZmVyZW5jZUxpc3Q/Lmxlbmd0aCB8fCAwO1xuICB9XG5cbiAgZ2V0U3RhdGljSGVhZGVyID0gKGhlYWRpbmcsIGluZGV4KSA9PiB7XG4gICAgcmV0dXJuIGAke2hlYWRpbmd9ICR7aW5kZXggKyAxfWA7XG4gIH07XG5cbiAgZ2V0RHluYW1pY0hlYWRlciA9IChpdGVtLCBpbmRleCkgPT4ge1xuICAgIGlmICh0aGlzLmZpZWxkSGVhZGVyID09PSAncHJvcGVydHlSZWYnICYmIHRoaXMuaGVhZGluZyAmJiBpdGVtW3RoaXMuaGVhZGluZy5zdWJzdHJpbmcoMSldKSB7XG4gICAgICByZXR1cm4gaXRlbVt0aGlzLmhlYWRpbmcuc3Vic3RyaW5nKDEpXTtcbiAgICB9XG4gICAgcmV0dXJuIGBSb3cgJHtpbmRleCArIDF9YDtcbiAgfTtcblxuICBhZGRGaWVsZEdyb3VwSXRlbSgpIHtcbiAgICB0aGlzLnBDb25uJC5nZXRMaXN0QWN0aW9ucygpLmluc2VydCh7IGNsYXNzSUQ6IHRoaXMuY29udGV4dENsYXNzIH0sIHRoaXMucmVmZXJlbmNlTGlzdExlbmd0aCk7XG4gIH1cblxuICBkZWxldGVGaWVsZEdyb3VwSXRlbShpbmRleCkge1xuICAgIHRoaXMucENvbm4kLmdldExpc3RBY3Rpb25zKCkuZGVsZXRlRW50cnkoaW5kZXgpO1xuICB9XG5cbiAgZ2V0QWRkQnRuTGFiZWwoKSB7XG4gICAgY29uc3QgeyB0YXJnZXRDbGFzc0xhYmVsIH0gPSB0aGlzLmNvbmZpZ1Byb3BzJDtcbiAgICByZXR1cm4gdGFyZ2V0Q2xhc3NMYWJlbCA/IGArIEFkZCAke3RhcmdldENsYXNzTGFiZWx9YCA6ICcrIEFkZCc7XG4gIH1cbn1cbiIsIjxkaXYgaWQ9XCJmaWVsZC1ncm91cFwiPlxuICA8aDMgKm5nSWY9XCJzaG93TGFiZWwkXCIgY2xhc3M9XCJmaWVsZC1ncm91cC10ZW1wbGF0ZS1oZWFkZXJcIiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkXCI+XG4gICAge3sgbGFiZWwkIH19XG4gIDwvaDM+XG4gIDxkaXYgKm5nSWY9XCJyZWFkb25seU1vZGU7IGVsc2UgZWRpdGFibGVcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiY2hpbGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoID4gMFwiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjaGlsZHJlbjsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8Y29tcG9uZW50LW1hcHBlciBuYW1lPVwiRmllbGRHcm91cExpc3RcIiBbcHJvcHNdPVwieyBoZWFkaW5nOiBpdGVtLm5hbWUsIGZvcm1Hcm91cCQsIGl0ZW0gfVwiPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICNlZGl0YWJsZT5cbiAgICA8ZGl2ICpuZ0lmPVwiY2hpbGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoID4gMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkLWdyb3VwLXRlbXBsYXRlLWl0ZW1cIiAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgY2hpbGRyZW47IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1kaXZcIj5cbiAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDgwJVwiPlxuICAgICAgICAgICAgPGI+e3sgY2hpbGQubmFtZSB9fTwvYj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYWxsb3dEZWxldGUgJiYgY2hpbGQuYWxsb3dSb3dEZWxldGVcIiBzdHlsZT1cIndpZHRoOiAyMCU7IHRleHQtYWxpZ246IHJpZ2h0XCI+XG4gICAgICAgICAgICA8YnV0dG9uIGlkPVwiZGVsZXRlLWJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlRmllbGRHcm91cEl0ZW0oaSlcIj5cbiAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInBzZGstdXRpbGl0eS1jYXJkLWFjdGlvbi1zdmctaWNvblwiIHNyYz1cInt7IG1lbnVJY29uT3ZlcnJpZGUkIH19XCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY2hpbGQuY2hpbGRyZW4uZ2V0UENvbm5lY3QoKS5nZXRSYXdNZXRhZGF0YSgpLnR5cGUudG9Mb3dlckNhc2UoKSA9PSAncmVnaW9uJ1wiPlxuICAgICAgICAgIDxjb21wb25lbnQtbWFwcGVyIG5hbWU9XCJSZWdpb25cIiBbcHJvcHNdPVwieyBwQ29ubiQ6IGNoaWxkLmNoaWxkcmVuLmdldFBDb25uZWN0KCksIGZvcm1Hcm91cCQgfVwiPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uICpuZ0lmPVwiYWxsb3dBZGRcIiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHN0eWxlPVwiZm9udC1zaXplOiAxNnB4XCIgKGNsaWNrKT1cImFkZEZpZWxkR3JvdXBJdGVtKClcIj57eyBnZXRBZGRCdG5MYWJlbCgpIH19PC9idXR0b24+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZ3JvdXAtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL3RlbXBsYXRlL2ZpZWxkLWdyb3VwLXRlbXBsYXRlL2ZpZWxkLWdyb3VwLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9maWVsZC1ncm91cC10ZW1wbGF0ZS9maWVsZC1ncm91cC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxVQUFVLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRWxGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7O0FBMEJsRCxNQUFNLE9BQU8sMkJBQTJCO0lBcUJ0QyxZQUNVLGVBQXVDLEVBQ3ZDLEtBQVk7UUFEWixvQkFBZSxHQUFmLGVBQWUsQ0FBd0I7UUFDdkMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQWxCdEIsd0JBQW1CLEdBQXdCLEVBQUUsQ0FBQztRQUU5QyxlQUFVLEdBQWEsSUFBSSxDQUFDO1FBVTVCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNq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O1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFLO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUMvQyxPQUFPLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNsRSxDQUFDOytHQWpKVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiwrTENsQ3hDLCtpREFpQ0Esb1FERFksWUFBWSw4VEFBRSxlQUFlLHdZQUFtQix3QkFBd0I7OzRGQUV2RSwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBR3hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7K0dBRzNFLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIGZvcndhcmRSZWYsIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEFuZ3VsYXJQQ29ubmVjdERhdGEsIEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2FuZ3VsYXItcGNvbm5lY3QnO1xuaW1wb3J0IHsgYnVpbGRWaWV3LCBnZXRSZWZlcmVuY2VMaXN0IH0gZnJvbSAnLi4vLi4vLi4vX2hlbHBlcnMvZmllbGQtZ3JvdXAtdXRpbHMnO1xuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9faGVscGVycy91dGlscyc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgZXZhbHVhdGVBbGxvd1Jvd0FjdGlvbiB9IGZyb20gJy4uL3V0aWxzJztcblxuaW50ZXJmYWNlIEZpZWxkR3JvdXBUZW1wbGF0ZVByb3BzIHtcbiAgLy8gSWYgYW55LCBlbnRlciBhZGRpdGlvbmFsIHByb3BzIHRoYXQgb25seSBleGlzdCBvbiB0aGlzIGNvbXBvbmVudFxuICBsYWJlbD86IHN0cmluZztcbiAgaGlkZUxhYmVsPzogYm9vbGVhbjtcbiAgYWxsb3dBY3Rpb25zPzogYW55O1xuICBhbGxvd1Jvd0RlbGV0ZT86IGFueTtcbiAgcmVmZXJlbmNlTGlzdD86IGFueVtdO1xuICBjb250ZXh0Q2xhc3M6IHN0cmluZztcbiAgcmVuZGVyTW9kZT86IHN0cmluZztcbiAgaGVhZGluZz86IHN0cmluZztcbiAgbG9va0ZvckNoaWxkSW5Db25maWc/OiBib29sZWFuO1xuICBkaXNwbGF5TW9kZT86IHN0cmluZztcbiAgZmllbGRIZWFkZXI/OiBzdHJpbmc7XG4gIGFsbG93VGFibGVFZGl0OiBib29sZWFuO1xuICB0YXJnZXRDbGFzc0xhYmVsPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZmllbGQtZ3JvdXAtdGVtcGxhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmllbGQtZ3JvdXAtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWVsZC1ncm91cC10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIGZvcndhcmRSZWYoKCkgPT4gQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50KV1cbn0pXG5leHBvcnQgY2xhc3MgRmllbGRHcm91cFRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGNvbmZpZ1Byb3BzJDogRmllbGRHcm91cFRlbXBsYXRlUHJvcHM7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBmb3JtR3JvdXAkOiBGb3JtR3JvdXA7XG5cbiAgYW5ndWxhclBDb25uZWN0RGF0YTogQW5ndWxhclBDb25uZWN0RGF0YSA9IHt9O1xuXG4gIHNob3dMYWJlbCQ/OiBib29sZWFuID0gdHJ1ZTtcbiAgbGFiZWwkPzogc3RyaW5nO1xuICByZWFkb25seU1vZGU6IGJvb2xlYW47XG4gIGNvbnRleHRDbGFzczogYW55O1xuICBoZWFkaW5nOiBhbnk7XG4gIGNoaWxkcmVuOiBhbnk7XG4gIG1lbnVJY29uT3ZlcnJpZGUkOiBhbnk7XG4gIHJlZmVyZW5jZUxpc3RMZW5ndGg6IG51bWJlcjtcbiAgZmllbGRIZWFkZXI6IGFueTtcblxuICBhbGxvd0FkZCA9IHRydWU7XG4gIGFsbG93RWRpdCA9IHRydWU7XG4gIGFsbG93RGVsZXRlID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFuZ3VsYXJQQ29ubmVjdDogQW5ndWxhclBDb25uZWN0U2VydmljZSxcbiAgICBwcml2YXRlIHV0aWxzOiBVdGlsc1xuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gRmlyc3QgdGhpbmcgaW4gaW5pdGlhbGl6YXRpb24gaXMgcmVnaXN0ZXJpbmcgYW5kIHN1YnNjcmliaW5nIHRvIHRoZSBBbmd1bGFyUENvbm5lY3Qgc2VydmljZVxuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG4gICAgdGhpcy51cGRhdGVTZWxmKCk7XG5cbiAgICB0aGlzLm1lbnVJY29uT3ZlcnJpZGUkID0gdGhpcy51dGlscy5nZXRJbWFnZVNyYygndHJhc2gnLCB0aGlzLnV0aWxzLmdldFNES1N0YXRpY0NvbnRlbnRVcmwoKSk7XG5cbiAgICBjb25zdCB7IGFsbG93QWN0aW9ucywgYWxsb3dUYWJsZUVkaXQsIHJlZmVyZW5jZUxpc3QgfSA9IHRoaXMuY29uZmlnUHJvcHMkO1xuXG4gICAgaWYgKGFsbG93QWN0aW9ucyAmJiBPYmplY3Qua2V5cyhhbGxvd0FjdGlvbnMpLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuYWxsb3dBZGQgPSBhbGxvd0FjdGlvbnMuYWxsb3dBZGQgPz8gYWxsb3dUYWJsZUVkaXQgPz8gdHJ1ZTtcbiAgICAgIHRoaXMuYWxsb3dFZGl0ID0gYWxsb3dBY3Rpb25zLmFsbG93RWRpdCA/PyB0cnVlO1xuICAgICAgdGhpcy5hbGxvd0RlbGV0ZSA9IGFsbG93QWN0aW9ucy5hbGxvd0RlbGV0ZSA/PyBhbGxvd1RhYmxlRWRpdCA/PyB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFsbG93QWRkID0gYWxsb3dUYWJsZUVkaXQgPz8gdHJ1ZTtcbiAgICAgIHRoaXMuYWxsb3dEZWxldGUgPSBhbGxvd1RhYmxlRWRpdCA/PyB0cnVlO1xuICAgIH1cblxuICAgIGlmIChyZWZlcmVuY2VMaXN0Py5sZW5ndGggPT09IDAgJiYgKHRoaXMuYWxsb3dBZGQgfHwgdGhpcy5hbGxvd0VkaXQpKSB7XG4gICAgICB0aGlzLnBDb25uJC5nZXRMaXN0QWN0aW9ucygpLmluc2VydCh7IGNsYXNzSUQ6IHRoaXMuY29udGV4dENsYXNzIH0sIHJlZmVyZW5jZUxpc3QubGVuZ3RoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4pIHtcbiAgICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKCk7XG4gICAgfVxuICB9XG5cbiAgb25TdGF0ZUNoYW5nZSgpIHtcbiAgICAvLyBTaG91bGQgYWx3YXlzIGNoZWNrIHRoZSBicmlkZ2UgdG8gc2VlIGlmIHRoZSBjb21wb25lbnQgc2hvdWxkXG4gICAgLy8gdXBkYXRlIGl0c2VsZiAocmUtcmVuZGVyKVxuICAgIGNvbnN0IGJVcGRhdGVTZWxmID0gdGhpcy5hbmd1bGFyUENvbm5lY3Quc2hvdWxkQ29tcG9uZW50VXBkYXRlKHRoaXMpO1xuICAgIC8vIE9OTFkgY2FsbCB1cGRhdGVTZWxmIHdoZW4gdGhlIGNvbXBvbmVudCBzaG91bGQgdXBkYXRlXG4gICAgaWYgKGJVcGRhdGVTZWxmKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGYoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMgJiYgY2hhbmdlcy5jb25maWdQcm9wcyQpIHtcbiAgICAgIGNvbnN0IHByb3BzID0gY2hhbmdlcy5jb25maWdQcm9wcyQ7XG4gICAgICBpZiAocHJvcHMuY3VycmVudFZhbHVlICE9PSBwcm9wcy5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICAgIHRoaXMuY29uZmlnUHJvcHMkID0gcHJvcHMuY3VycmVudFZhbHVlO1xuXG4gICAgICAgIGlmIChjaGFuZ2VzPy5wQ29ubiQ/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgIHRoaXMucENvbm4kID0gY2hhbmdlcz8ucENvbm4kPy5jdXJyZW50VmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVNlbGYoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgcmVzb2x2ZWRMaXN0ID0gZ2V0UmVmZXJlbmNlTGlzdCh0aGlzLnBDb25uJCk7XG4gICAgLy8gQHRzLWlnbm9yZSAtIEV4cGVjdGVkIDMgYXJndW1lbnRzLCBidXQgZ290IDFcbiAgICB0aGlzLnBDb25uJC5nZXRMaXN0QWN0aW9ucygpLmluaXREZWZhdWx0UGFnZUluc3RydWN0aW9ucyhyZXNvbHZlZExpc3QpO1xuICB9XG5cbiAgdXBkYXRlU2VsZigpIHtcbiAgICBjb25zdCBpbmhlcml0ZWRQcm9wczogYW55ID0gdGhpcy5wQ29ubiQuZ2V0SW5oZXJpdGVkUHJvcHMoKTtcblxuICAgIGNvbnN0IHsgbGFiZWwsIGhpZGVMYWJlbCwgYWxsb3dSb3dEZWxldGUsIHJlZmVyZW5jZUxpc3QsIGZpZWxkSGVhZGVyLCByZW5kZXJNb2RlLCBkaXNwbGF5TW9kZSwgaGVhZGluZywgY29udGV4dENsYXNzLCBsb29rRm9yQ2hpbGRJbkNvbmZpZyB9ID1cbiAgICAgIHRoaXMuY29uZmlnUHJvcHMkO1xuXG4gICAgLy8gbGFiZWwgd2l0aGluIGluaGVyaXRlZFByb3BzIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBjb25maWdQcm9wc1xuICAgIHRoaXMubGFiZWwkID0gaW5oZXJpdGVkUHJvcHMubGFiZWwgfHwgbGFiZWw7XG5cbiAgICB0aGlzLnNob3dMYWJlbCQgPSByZWZlcmVuY2VMaXN0Py5sZW5ndGggPT09IDAgfHwgIWhpZGVMYWJlbDtcblxuICAgIHRoaXMucmVhZG9ubHlNb2RlID0gcmVuZGVyTW9kZSA9PT0gJ1JlYWRPbmx5JyB8fCBkaXNwbGF5TW9kZSA9PT0gJ0RJU1BMQVlfT05MWSc7XG5cbiAgICB0aGlzLmNvbnRleHRDbGFzcyA9IGNvbnRleHRDbGFzcztcbiAgICB0aGlzLmhlYWRpbmcgPSBoZWFkaW5nID8/ICdSb3cnO1xuICAgIHRoaXMuZmllbGRIZWFkZXIgPSBmaWVsZEhlYWRlcjtcblxuICAgIGNvbnN0IHJlc29sdmVkTGlzdCA9IGdldFJlZmVyZW5jZUxpc3QodGhpcy5wQ29ubiQpO1xuICAgIHRoaXMucENvbm4kLnNldFJlZmVyZW5jZUxpc3QocmVzb2x2ZWRMaXN0KTtcblxuICAgIGlmICh0aGlzLnJlYWRvbmx5TW9kZSkge1xuICAgICAgdGhpcy5wQ29ubiQuc2V0SW5oZXJpdGVkUHJvcCgnZGlzcGxheU1vZGUnLCAnRElTUExBWV9PTkxZJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmVmZXJlbmNlTGlzdExlbmd0aCAhPSByZWZlcmVuY2VMaXN0Py5sZW5ndGgpIHtcbiAgICAgIHRoaXMuY2hpbGRyZW4gPSByZWZlcmVuY2VMaXN0Py5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaWQ6IGluZGV4LFxuICAgICAgICAgIG5hbWU6IHRoaXMuZmllbGRIZWFkZXIgPT09ICdwcm9wZXJ0eVJlZicgPyB0aGlzLmdldER5bmFtaWNIZWFkZXIoaXRlbSwgaW5kZXgpIDogdGhpcy5nZXRTdGF0aWNIZWFkZXIodGhpcy5oZWFkaW5nLCBpbmRleCksXG4gICAgICAgICAgY2hpbGRyZW46IGJ1aWxkVmlldyh0aGlzLnBDb25uJCwgaW5kZXgsIGxvb2tGb3JDaGlsZEluQ29uZmlnKSxcbiAgICAgICAgICBhbGxvd1Jvd0RlbGV0ZTogZXZhbHVhdGVBbGxvd1Jvd0FjdGlvbihhbGxvd1Jvd0RlbGV0ZSwgaXRlbSlcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnJlZmVyZW5jZUxpc3RMZW5ndGggPSByZWZlcmVuY2VMaXN0Py5sZW5ndGggfHwgMDtcbiAgfVxuXG4gIGdldFN0YXRpY0hlYWRlciA9IChoZWFkaW5nLCBpbmRleCkgPT4ge1xuICAgIHJldHVybiBgJHtoZWFkaW5nfSAke2luZGV4ICsgMX1gO1xuICB9O1xuXG4gIGdldER5bmFtaWNIZWFkZXIgPSAoaXRlbSwgaW5kZXgpID0+IHtcbiAgICBpZiAodGhpcy5maWVsZEhlYWRlciA9PT0gJ3Byb3BlcnR5UmVmJyAmJiB0aGlzLmhlYWRpbmcgJiYgaXRlbVt0aGlzLmhlYWRpbmcuc3Vic3RyaW5nKDEpXSkge1xuICAgICAgcmV0dXJuIGl0ZW1bdGhpcy5oZWFkaW5nLnN1YnN0cmluZygxKV07XG4gICAgfVxuICAgIHJldHVybiBgUm93ICR7aW5kZXggKyAxfWA7XG4gIH07XG5cbiAgYWRkRmllbGRHcm91cEl0ZW0oKSB7XG4gICAgdGhpcy5wQ29ubiQuZ2V0TGlzdEFjdGlvbnMoKS5pbnNlcnQoeyBjbGFzc0lEOiB0aGlzLmNvbnRleHRDbGFzcyB9LCB0aGlzLnJlZmVyZW5jZUxpc3RMZW5ndGgpO1xuICB9XG5cbiAgZGVsZXRlRmllbGRHcm91cEl0ZW0oaW5kZXgpIHtcbiAgICB0aGlzLnBDb25uJC5nZXRMaXN0QWN0aW9ucygpLmRlbGV0ZUVudHJ5KGluZGV4KTtcbiAgfVxuXG4gIGdldEFkZEJ0bkxhYmVsKCkge1xuICAgIGNvbnN0IHsgdGFyZ2V0Q2xhc3NMYWJlbCB9ID0gdGhpcy5jb25maWdQcm9wcyQ7XG4gICAgcmV0dXJuIHRhcmdldENsYXNzTGFiZWwgPyBgKyBBZGQgJHt0YXJnZXRDbGFzc0xhYmVsfWAgOiAnKyBBZGQnO1xuICB9XG59XG4iLCI8ZGl2IGlkPVwiZmllbGQtZ3JvdXBcIj5cbiAgPGgzICpuZ0lmPVwic2hvd0xhYmVsJFwiIGNsYXNzPVwiZmllbGQtZ3JvdXAtdGVtcGxhdGUtaGVhZGVyXCIgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZFwiPlxuICAgIHt7IGxhYmVsJCB9fVxuICA8L2gzPlxuICA8ZGl2ICpuZ0lmPVwicmVhZG9ubHlNb2RlOyBlbHNlIGVkaXRhYmxlXCI+XG4gICAgPGRpdiAqbmdJZj1cImNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY2hpbGRyZW47IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPGNvbXBvbmVudC1tYXBwZXIgbmFtZT1cIkZpZWxkR3JvdXBMaXN0XCIgW3Byb3BzXT1cInsgaGVhZGluZzogaXRlbS5uYW1lLCBmb3JtR3JvdXAkLCBpdGVtIH1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjZWRpdGFibGU+XG4gICAgPGRpdiAqbmdJZj1cImNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1ncm91cC10ZW1wbGF0ZS1pdGVtXCIgKm5nRm9yPVwibGV0IGNoaWxkIG9mIGNoaWxkcmVuOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItZGl2XCI+XG4gICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiA4MCVcIj5cbiAgICAgICAgICAgIDxiPnt7IGNoaWxkLm5hbWUgfX08L2I+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImFsbG93RGVsZXRlICYmIGNoaWxkLmFsbG93Um93RGVsZXRlXCIgc3R5bGU9XCJ3aWR0aDogMjAlOyB0ZXh0LWFsaWduOiByaWdodFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBpZD1cImRlbGV0ZS1idXR0b25cIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImRlbGV0ZUZpZWxkR3JvdXBJdGVtKGkpXCI+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJwc2RrLXV0aWxpdHktY2FyZC1hY3Rpb24tc3ZnLWljb25cIiBzcmM9XCJ7eyBtZW51SWNvbk92ZXJyaWRlJCB9fVwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cImNoaWxkLmNoaWxkcmVuLmdldFBDb25uZWN0KCkuZ2V0UmF3TWV0YWRhdGEoKS50eXBlLnRvTG93ZXJDYXNlKCkgPT0gJ3JlZ2lvbidcIj5cbiAgICAgICAgICA8Y29tcG9uZW50LW1hcHBlciBuYW1lPVwiUmVnaW9uXCIgW3Byb3BzXT1cInsgcENvbm4kOiBjaGlsZC5jaGlsZHJlbi5nZXRQQ29ubmVjdCgpLCBmb3JtR3JvdXAkIH1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImFsbG93QWRkXCIgbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTZweFwiIChjbGljayk9XCJhZGRGaWVsZEdyb3VwSXRlbSgpXCI+e3sgZ2V0QWRkQnRuTGFiZWwoKSB9fTwvYnV0dG9uPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -268,20 +268,4 @@ export const createPConnect = (contextName, referenceList, pageReference) => {
|
|
|
268
268
|
const { getPConnect } = PCore.createPConnect(config);
|
|
269
269
|
return getPConnect();
|
|
270
270
|
};
|
|
271
|
-
/**
|
|
272
|
-
* This method evaluates whether a row action is allowed based on the provided conditions.
|
|
273
|
-
* @param {string|boolean|undefined} allowRowDelete - The condition for allowing row deletion.
|
|
274
|
-
* @param {object} rowData - The data of the row being evaluated.
|
|
275
|
-
* @returns {boolean} - Returns true if the row action is allowed, false otherwise.
|
|
276
|
-
*/
|
|
277
|
-
export const evaluateAllowRowAction = (allowRowDelete, rowData) => {
|
|
278
|
-
if (allowRowDelete === undefined || allowRowDelete === true)
|
|
279
|
-
return true;
|
|
280
|
-
if (allowRowDelete.startsWith?.('@E ')) {
|
|
281
|
-
const expression = allowRowDelete.replace('@E ', '');
|
|
282
|
-
// @ts-ignore - Expected 3 arguments, but got 2
|
|
283
|
-
return PCore.getExpressionEngine().evaluate(expression, rowData);
|
|
284
|
-
}
|
|
285
|
-
return false;
|
|
286
|
-
};
|
|
287
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9zaW1wbGUtdGFibGUtbWFudWFsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQztBQUV4Qyw0RUFBNEU7QUFDNUUsMEJBQTBCO0FBQzFCLFNBQVMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLO0lBQ2pDLElBQUksS0FBSyxDQUFDO0lBQ1YsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsS0FBSyxNQUFNO1lBQ1QsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNaLE1BQU07UUFDUixLQUFLLE1BQU07WUFDVCxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ1osTUFBTTtRQUNSLEtBQUssVUFBVTtZQUNiLEtBQUssR0FBRyxHQUFHLENBQUM7WUFDWixNQUFNO1FBQ1IsS0FBSyxjQUFjLENBQUM7UUFDcEIsS0FBSyxVQUFVO1lBQ2IsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNaLE1BQU07UUFDUixLQUFLLFVBQVUsQ0FBQztRQUNoQixLQUFLLFdBQVc7WUFDZCxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ1osTUFBTTtRQUNSLEtBQUssVUFBVTtZQUNiLGdEQUFnRDtZQUNoRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxH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Q3JDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXJELE9BQU8sV0FBVyxFQUFFLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNoRSxJQUFJLGNBQWMsS0FBSyxTQUFTLElBQUksY0FBYyxLQUFLLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQztJQUN6RSxJQUFJLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELCtDQUErQztRQUMvQyxPQUFPLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0U2Vjb25kcyB9IGZyb20gJy4uLy4uLy4uL19oZWxwZXJzL2NvbW1vbic7XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9DRUxMID0gJ1Nka1JlbmRlcmVyJztcbmV4cG9ydCBjb25zdCBERUxFVEVfSUNPTiA9ICdEZWxldGVJY29uJztcblxuLy8gQlVHLTYxNTI1MzogV29ya2Fyb3VuZCBmb3IgYXV0b3NpemUgaW4gdGFibGUgd2l0aCBsYXp5IGxvYWRpbmcgY29tcG9uZW50c1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIGdldEZpZWxkV2lkdGgoZmllbGQsIGxhYmVsKSB7XG4gIGxldCB3aWR0aDtcbiAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgY2FzZSAnVGltZSc6XG4gICAgICB3aWR0aCA9IDE1MDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RhdGUnOlxuICAgICAgd2lkdGggPSAxNjA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRlVGltZSc6XG4gICAgICB3aWR0aCA9IDIwNTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0F1dG9Db21wbGV0ZSc6XG4gICAgY2FzZSAnVGV4dEFyZWEnOlxuICAgICAgd2lkdGggPSAxOTA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdDdXJyZW5jeSc6XG4gICAgY2FzZSAnVGV4dElucHV0JzpcbiAgICAgIHdpZHRoID0gMTgyO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnQ2hlY2tib3gnOlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNhc2UtZGVjbGFyYXRpb25zXG4gICAgICBjb25zdCB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0KTtcbiAgICAgIHRleHQuc3R5bGUuZm9udFNpemUgPSAnMTNweCc7XG4gICAgICB0ZXh0LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIHRleHQuaW5uZXJIVE1MID0gbGFiZWw7XG4gICAgICB3aWR0aCA9IE1hdGguY2VpbCh0ZXh0LmNsaWVudFdpZHRoKSArIDMwO1xuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXh0KTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICB3aWR0aCA9IDE4MDtcbiAgfVxuICByZXR1cm4gd2lkdGg7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRDb250ZXh0ID0gdGhlUENvbm4gPT4ge1xuICBjb25zdCBjb250ZXh0TmFtZSA9IHRoZVBDb25uLmdldENvbnRleHROYW1lKCk7XG4gIGNvbnN0IHBhZ2VSZWZlcmVuY2UgPSB0aGVQQ29ubi5nZXRQYWdlUmVmZXJlbmNlKCk7XG4gIGNvbnN0IHsgcmVhZG9ubHlDb250ZXh0TGlzdCwgcmVmZXJlbmNlTGlzdCA9IHJlYWRvbmx5Q29udGV4dExpc3QgfSA9IHRoZVBDb25uLmdldFN0YXRlUHJvcHMoKT8uY29uZmlnIHx8IHRoZVBDb25uLmdldFN0YXRlUHJvcHMoKTtcblxuICBjb25zdCBwYWdlUmVmZXJlbmNlRm9yUm93cyA9IHJlZmVyZW5jZUxpc3Quc3RhcnRzV2l0aCgnLicpID8gYCR7cGFnZVJlZmVyZW5jZX0uJHtyZWZlcmVuY2VMaXN0LnN1YnN0cmluZygxKX1gIDogcmVmZXJlbmNlTGlzdDtcbiAgY29uc3Qgdmlld05hbWUgPSB0aGVQQ29ubi52aWV3TmFtZTtcblxuICAvLyByZW1vdmluZyBcImNhc2VJbmZvLmNvbnRlbnRcIiBwcmVmaXggdG8gYXZvaWQgc2V0dGluZyBpdCBhcyBhIHRhcmdldCB3aGlsZSBwcmVwYXJpbmcgcGFnZUluc3RydWN0aW9uc1xuICAvLyBza2lwcGluZyB0aGUgcmVtb3ZhbCBhcyBTdGF0ZU1hY2hpbmUgaXRzZWxmIGlzIHJlbW92aW5nIHRoaXMgY2FzZSBpbmZvIHByZWZpeCB3aGlsZSBwcmVwYXJpbmcgcGFnZUluc3RydWN0aW9uc1xuICAvLyByZWZlcmVuY2VMaXN0ID0gcGFnZVJlZmVyZW5jZUZvclJvd3MucmVwbGFjZShQQ29yZS5nZXRDb25zdGFudHMoKS5DQVNFX0lORk8uQ0FTRV9JTkZPX0NPTlRFTlQsICcnKTtcblxuICByZXR1cm4ge1xuICAgIGNvbnRleHROYW1lLFxuICAgIHJlZmVyZW5jZUxpc3RTdHI6IHJlZmVyZW5jZUxpc3QsXG4gICAgcGFnZVJlZmVyZW5jZUZvclJvd3MsXG4gICAgdmlld05hbWVcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBwb3B1bGF0ZVJvd0tleSA9IHJhd0RhdGEgPT4ge1xuICByZXR1cm4gcmF3RGF0YS5tYXAoKHJvdywgaW5kZXgpID0+IHtcbiAgICByZXR1cm4geyAuLi5yb3csIGluZGV4IH07XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFwaUNvbnRleHQgPSAocHJvY2Vzc2VkRGF0YSwgcENvbm5lY3QsIHJlb3JkZXJDQikgPT4ge1xuICByZXR1cm4ge1xuICAgIGZldGNoRGF0YTogKCkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICBkYXRhOiBwcm9jZXNzZWREYXRhLFxuICAgICAgICAgIGZpbHRlcmVkUmVjb3JkQ291bnQ6IHByb2Nlc3NlZERhdGEubGVuZ3RoLFxuICAgICAgICAgIHRvdGFsUmVjb3JkQ291bnQ6IHByb2Nlc3NlZERhdGEubGVuZ3RoXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBmZXRjaFBlcnNvbmFsaXphdGlvbnM6ICgpID0+IHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe30pO1xuICAgIH0sXG4gICAgYXBwbHlSb3dSZW9yZGVyOiAoc291cmNlS2V5LCBkZXN0aW5hdGlvbktleSkgPT4ge1xuICAgICAgLy8gaW5kZXhlcyBhcmUga2V5cyBmb3Igc2ltcGxlIHRhYmxlIHNvLCBpdCBzaG91bGQgd29yay5cbiAgICAgIHJlb3JkZXJDQigpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShwQ29ubmVjdC5nZXRMaXN0QWN0aW9ucygpLnJlb3JkZXIocGFyc2VJbnQoc291cmNlS2V5LCAxMCksIHBhcnNlSW50KGRlc3RpbmF0aW9uS2V5LCAxMCkpKTtcbiAgICB9XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRNZXRhRm9yTGlzdFZpZXcgPSAoZmllbGRNZXRhZGF0YSwgZmllbGRzLCB0eXBlLCBydWxlQ2xhc3MsIG5hbWUsIHByb3BlcnR5TGFiZWwsIGlzRGF0YU9iamVjdCwgcGFyYW1ldGVycykgPT4ge1xuICByZXR1cm4ge1xuICAgIG5hbWUsXG4gICAgY29uZmlnOiB7XG4gICAgICB0eXBlLFxuICAgICAgcmVmZXJlbmNlTGlzdDogZmllbGRNZXRhZGF0YS5kYXRhc291cmNlLm5hbWUsXG4gICAgICBwYXJhbWV0ZXJzOiBwYXJhbWV0ZXJzID8/IGZpZWxkTWV0YWRhdGEuZGF0YXNvdXJjZS5wYXJhbWV0ZXJzLFxuICAgICAgcGVyc29uYWxpemF0aW9uOiBmYWxzZSxcbiAgICAgIGlzRGF0YU9iamVjdCxcbiAgICAgIGdyb3VwaW5nOiB0cnVlLFxuICAgICAgZ2xvYmFsU2VhcmNoOiB0cnVlLFxuICAgICAgcmVvcmRlckZpZWxkczogdHJ1ZSxcbiAgICAgIHRvZ2dsZUZpZWxkVmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgIHRpdGxlOiBwcm9wZXJ0eUxhYmVsLFxuICAgICAgcGVyc29uYWxpemF0aW9uSWQ6ICcnIC8qIFRPRE8gKi8sXG4gICAgICB0ZW1wbGF0ZTogJ0xpc3RWaWV3JyxcbiAgICAgIHByZXNldHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdwcmVzZXRzJyxcbiAgICAgICAgICB0ZW1wbGF0ZTogJ1RhYmxlJyxcbiAgICAgICAgICBjb25maWc6IHt9LFxuICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdDb2x1bW5zJyxcbiAgICAgICAgICAgICAgdHlwZTogJ1JlZ2lvbicsXG4gICAgICAgICAgICAgIGNoaWxkcmVuOiBmaWVsZHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIGxhYmVsOiBwcm9wZXJ0eUxhYmVsLFxuICAgICAgICAgIGlkOiAnUF8nIC8qIFRPRE8gKi9cbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIHJ1bGVDbGFzc1xuICAgIH1cbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZEZpZWxkc0ZvclRhYmxlID0gKGNvbmZpZ0ZpZWxkcywgZmllbGRzLCBzaG93RGVsZXRlQnV0dG9uKSA9PiB7XG4gIGNvbnN0IGZpZWxkRGVmcyA9IGNvbmZpZ0ZpZWxkcz8ubWFwKChmaWVsZCwgaW5kZXgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgbGFiZWw6IGZpZWxkc1tpbmRleF0uY29uZmlnLmxhYmVsIHx8IGZpZWxkc1tpbmRleF0uY29uZmlnLmNhcHRpb24sXG4gICAgICBmaWxsQXZhaWxhYmxlU3BhY2U6ICEhZmllbGQuY29uZmlnLmZpbGxBdmFpbGFibGVTcGFjZSxcbiAgICAgIGlkOiBgJHtpbmRleH1gLFxuICAgICAgbmFtZTogZmllbGQuY29uZmlnLnZhbHVlLnN1YnN0cig0KSxcbiAgICAgIGNlbGxSZW5kZXJlcjogVEFCTEVfQ0VMTCxcbiAgICAgIHNvcnQ6IGZhbHNlLFxuICAgICAgbm9Db250ZXh0TWVudTogdHJ1ZSxcbiAgICAgIHNob3dNZW51OiBmYWxzZSxcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgLi4uZmllbGRcbiAgICAgIH0sXG4gICAgICAvLyBCVUctNjE1MjUzOiBXb3JrYXJvdW5kIGZvciBhdXRvc2l6ZSBpbiB0YWJsZSB3aXRoIGxhenkgbG9hZGluZyBjb21wb25lbnRzXG4gICAgICB3aWR0aDogZ2V0RmllbGRXaWR0aChmaWVsZCwgZmllbGRzW2luZGV4XS5jb25maWcubGFiZWwpXG4gICAgfTtcbiAgfSk7XG5cbiAgLy8gT05MWSBhZGQgREVMRVRFX0lDT04gdG8gZmllbGRzIHdoZW4gdGhlIHRhYmxlIGlzIHJlcXVlc3RlZCBhcyBFRElUQUJMRVxuICBpZiAoc2hvd0RlbGV0ZUJ1dHRvbikge1xuICAgIGZpZWxkRGVmcy5wdXNoKHtcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGxhYmVsOiAnJyxcbiAgICAgIG5hbWU6IERFTEVURV9JQ09OLFxuICAgICAgaWQ6IGZpZWxkRGVmcy5sZW5ndGgsXG4gICAgICBjZWxsUmVuZGVyZXI6IERFTEVURV9JQ09OLFxuICAgICAgc29ydDogZmFsc2UsXG4gICAgICBub0NvbnRleHRNZW51OiB0cnVlLFxuICAgICAgc2hvd01lbnU6IGZhbHNlLFxuICAgICAgLy8gQlVHLTYxNTI1MzogV29ya2Fyb3VuZCBmb3IgYXV0b3NpemUgaW4gdGFibGUgd2l0aCBsYXp5IGxvYWRpbmcgY29tcG9uZW50c1xuICAgICAgd2lkdGg6IDQ2XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZmllbGREZWZzO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1ldGFGb3JUYWJsZSA9IChmaWVsZHMsIHJlbmRlck1vZGUpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBoZWlnaHQ6IHtcbiAgICAgIG1pbkhlaWdodDogJ2F1dG8nLFxuICAgICAgZml0SGVpZ2h0VG9FbGVtZW50OiAnZml0SGVpZ2h0VG9FbGVtZW50JyxcbiAgICAgIGRlbHRhQWRqdXN0bWVudDogJ2RlbHRhQWRqdXN0bWVudCcsXG4gICAgICBhdXRvU2l6ZTogdHJ1ZVxuICAgIH0sXG4gICAgZmllbGREZWZzOiBmaWVsZHMsXG4gICAgaXRlbUtleTogJ2luZGV4JyxcbiAgICBncm91cGluZzogZmFsc2UsXG4gICAgcmVvcmRlckZpZWxkczogZmFsc2UsXG4gICAgcmVvcmRlckl0ZW1zOiByZW5kZXJNb2RlID09PSAnRWRpdGFibGUnLFxuICAgIGRyYWdIYW5kbGU6IHJlbmRlck1vZGUgPT09ICdFZGl0YWJsZScsXG4gICAgZ2xvYmFsU2VhcmNoOiBmYWxzZSxcbiAgICBwZXJzb25hbGl6YXRpb246IGZhbHNlLFxuICAgIHRvZ2dsZUZpZWxkVmlzaWJpbGl0eTogZmFsc2UsXG4gICAgdG9vbGJhcjogZmFsc2UsXG4gICAgZm9vdGVyOiBmYWxzZSxcbiAgICBmaWx0ZXJFeHByZXNzaW9uOiBudWxsLFxuICAgIGVkaXRpbmc6IGZhbHNlLFxuICAgIHRpbWV6b25lOiBQQ29yZS5nZXRFbnZpcm9ubWVudEluZm8oKS5nZXRUaW1lWm9uZSgpXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZmlsdGVyRGF0YUJ5RGF0ZSA9IChpdGVtLCBmaWx0ZXJPYmopID0+IHtcbiAgbGV0IGJLZWVwID0gdHJ1ZTtcbiAgbGV0IHZhbHVlID0gaXRlbVtmaWx0ZXJPYmoucmVmXSAhPSBudWxsIHx8IGl0ZW1bZmlsdGVyT2JqLnJlZl0gIT0gJycgPyBnZXRTZWNvbmRzKGl0ZW1bZmlsdGVyT2JqLnJlZl0pIDogbnVsbDtcbiAgbGV0IGZpbHRlclZhbHVlID0gZmlsdGVyT2JqLmNvbnRhaW5zRmlsdGVyVmFsdWUgIT0gbnVsbCAmJiBmaWx0ZXJPYmouY29udGFpbnNGaWx0ZXJWYWx1ZSAhPSAnJyA/IGdldFNlY29uZHMoZmlsdGVyT2JqLmNvbnRhaW5zRmlsdGVyVmFsdWUpIDogbnVsbDtcblxuICBzd2l0Y2ggKGZpbHRlck9iai5jb250YWluc0ZpbHRlcikge1xuICAgIGNhc2UgJ25vdGVxdWFsJzpcbiAgICAgIC8vIGJlY2FzdWUgZmlsdGVyVmFsdWUgaXMgaW4gbWludXRlcywgbmVlZCB0byBoYXZlIGEgcmFuZ2Ugb2YgbGVzcyB0aGFuIDYwIHNlY29uc1xuXG4gICAgICBpZiAodmFsdWUgIT0gbnVsbCAmJiBmaWx0ZXJWYWx1ZSAhPSBudWxsKSB7XG4gICAgICAgIC8vIGdldCByaWQgb2YgbWlsbGlzZWNvbnNcbiAgICAgICAgdmFsdWUgLz0gMTAwMDtcbiAgICAgICAgZmlsdGVyVmFsdWUgLz0gMTAwMDtcblxuICAgICAgICBjb25zdCBkaWZmID0gdmFsdWUgLSBmaWx0ZXJWYWx1ZTtcbiAgICAgICAgaWYgKGRpZmYgPj0gMCAmJiBkaWZmIDwgNjApIHtcbiAgICAgICAgICBiS2VlcCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2FmdGVyJzpcbiAgICAgIGlmICh2YWx1ZSA8IGZpbHRlclZhbHVlKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdiZWZvcmUnOlxuICAgICAgaWYgKHZhbHVlID4gZmlsdGVyVmFsdWUpIHtcbiAgICAgICAgYktlZXAgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ251bGwnOlxuICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgYktlZXAgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ25vdG51bGwnOlxuICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgYktlZXAgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBiS2VlcDtcbn07XG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJEYXRhQnlDb21tb25GaWVsZHMgPSAoaXRlbSwgZmlsdGVyT2JqKSA9PiB7XG4gIGxldCBiS2VlcCA9IHRydWU7XG4gIGNvbnN0IHZhbHVlID0gaXRlbVtmaWx0ZXJPYmoucmVmXS50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBmaWx0ZXJWYWx1ZSA9IGZpbHRlck9iai5jb250YWluc0ZpbHRlclZhbHVlLnRvTG93ZXJDYXNlKCk7XG5cbiAgc3dpdGNoIChmaWx0ZXJPYmouY29udGFpbnNGaWx0ZXIpIHtcbiAgICBjYXNlICdjb250YWlucyc6XG4gICAgICBpZiAodmFsdWUuaW5kZXhPZihmaWx0ZXJWYWx1ZSkgPCAwKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdlcXVhbHMnOlxuICAgICAgaWYgKHZhbHVlICE9IGZpbHRlclZhbHVlKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdzdGFydHN3aXRoJzpcbiAgICAgIGlmICh2YWx1ZS5pbmRleE9mKGZpbHRlclZhbHVlKSAhPSAwKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gYktlZXA7XG59O1xuXG4vKipcbiAqIFRoaXMgbWV0aG9kIHJldHVybnMgYSBjYWxsQmFjayBmdW5jdGlvbiBmb3IgQWRkIGFjdGlvbi5cbiAqIEBwYXJhbSB7b2JqZWN0fSBwQ29ubmVjdCAtIFBDb25uZWN0IG9iamVjdFxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IC0gaW5kZXggb2YgdGhlIHBhZ2UgbGlzdCB0byBhZGRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFkZFJvd0NhbGxiYWNrID0gKHBDb25uZWN0LCBpbmRleCkgPT4ge1xuICByZXR1cm4gKCkgPT4gcENvbm5lY3QuZ2V0TGlzdEFjdGlvbnMoKS5pbnNlcnQoe30sIGluZGV4KTtcbn07XG5cbi8qKlxuICogVGhpcyBtZXRob2QgY3JlYXRlcyBhIFBDb25uZWN0IG9iamVjdCB3aXRoIHByb3BlciBvcHRpb25zIGZvciBBZGQgYW5kIERlbGV0ZSBhY3Rpb25zXG4gKiBAcGFyYW0ge3N0cmluZ30gY29udGV4dE5hbWUgLSBjb250ZXh0TmFtZVxuICogQHBhcmFtIHtzdHJpbmd9IHJlZmVyZW5jZUxpc3QgLSByZWZlcmVuY2VMaXN0XG4gKiBAcGFyYW0ge3N0cmluZ30gcGFnZVJlZmVyZW5jZSAtIHBhZ2VSZWZlcmVuY2VcbiAqL1xuZXhwb3J0IGNvbnN0IGNyZWF0ZVBDb25uZWN0ID0gKGNvbnRleHROYW1lLCByZWZlcmVuY2VMaXN0LCBwYWdlUmVmZXJlbmNlKSA9PiB7XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgY29udGV4dDogY29udGV4dE5hbWUsXG4gICAgcGFnZVJlZmVyZW5jZSxcbiAgICByZWZlcmVuY2VMaXN0XG4gIH07XG5cbiAgLy8gY3JlYXRlIFBDb25uZWN0IG9iamVjdFxuICBjb25zdCBjb25maWcgPSB7IG1ldGE6IHt9LCBvcHRpb25zIH07XG4gIGNvbnN0IHsgZ2V0UENvbm5lY3QgfSA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KGNvbmZpZyk7XG5cbiAgcmV0dXJuIGdldFBDb25uZWN0KCk7XG59O1xuXG4vKipcbiAqIFRoaXMgbWV0aG9kIGV2YWx1YXRlcyB3aGV0aGVyIGEgcm93IGFjdGlvbiBpcyBhbGxvd2VkIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBjb25kaXRpb25zLlxuICogQHBhcmFtIHtzdHJpbmd8Ym9vbGVhbnx1bmRlZmluZWR9IGFsbG93Um93RGVsZXRlIC0gVGhlIGNvbmRpdGlvbiBmb3IgYWxsb3dpbmcgcm93IGRlbGV0aW9uLlxuICogQHBhcmFtIHtvYmplY3R9IHJvd0RhdGEgLSBUaGUgZGF0YSBvZiB0aGUgcm93IGJlaW5nIGV2YWx1YXRlZC5cbiAqIEByZXR1cm5zIHtib29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgcm93IGFjdGlvbiBpcyBhbGxvd2VkLCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBjb25zdCBldmFsdWF0ZUFsbG93Um93QWN0aW9uID0gKGFsbG93Um93RGVsZXRlLCByb3dEYXRhKSA9PiB7XG4gIGlmIChhbGxvd1Jvd0RlbGV0ZSA9PT0gdW5kZWZpbmVkIHx8IGFsbG93Um93RGVsZXRlID09PSB0cnVlKSByZXR1cm4gdHJ1ZTtcbiAgaWYgKGFsbG93Um93RGVsZXRlLnN0YXJ0c1dpdGg/LignQEUgJykpIHtcbiAgICBjb25zdCBleHByZXNzaW9uID0gYWxsb3dSb3dEZWxldGUucmVwbGFjZSgnQEUgJywgJycpO1xuICAgIC8vIEB0cy1pZ25vcmUgLSBFeHBlY3RlZCAzIGFyZ3VtZW50cywgYnV0IGdvdCAyXG4gICAgcmV0dXJuIFBDb3JlLmdldEV4cHJlc3Npb25FbmdpbmUoKS5ldmFsdWF0ZShleHByZXNzaW9uLCByb3dEYXRhKTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59O1xuIl19
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9zaW1wbGUtdGFibGUtbWFudWFsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQztBQUV4Qyw0RUFBNEU7QUFDNUUsMEJBQTBCO0FBQzFCLFNBQVMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLO0lBQ2pDLElBQUksS0FBSyxDQUFDO0lBQ1YsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsS0FBSyxNQUFNO1lBQ1QsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNaLE1BQU07UUFDUixLQUFLLE1BQU07WUFDVCxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ1osTUFBTTtRQUNSLEtBQUssVUFBVTtZQUNiLEtBQUssR0FBRyxHQUFHLENBQUM7WUFDWixNQUFNO1FBQ1IsS0FBSyxjQUFjLENBQUM7UUFDcEIsS0FBSyxVQUFVO1lBQ2IsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNaLE1BQU07UUFDUixLQUFLLFVBQVUsQ0FBQztRQUNoQixLQUFLLFdBQVc7WUFDZCxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ1osTUFBTTtRQUNSLEtBQUssVUFBVTtZQUNiLGdEQUFnRDtZQUNoRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxH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Q3JDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXJELE9BQU8sV0FBVyxFQUFFLENBQUM7QUFDdkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0U2Vjb25kcyB9IGZyb20gJy4uLy4uLy4uL19oZWxwZXJzL2NvbW1vbic7XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9DRUxMID0gJ1Nka1JlbmRlcmVyJztcbmV4cG9ydCBjb25zdCBERUxFVEVfSUNPTiA9ICdEZWxldGVJY29uJztcblxuLy8gQlVHLTYxNTI1MzogV29ya2Fyb3VuZCBmb3IgYXV0b3NpemUgaW4gdGFibGUgd2l0aCBsYXp5IGxvYWRpbmcgY29tcG9uZW50c1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIGdldEZpZWxkV2lkdGgoZmllbGQsIGxhYmVsKSB7XG4gIGxldCB3aWR0aDtcbiAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgY2FzZSAnVGltZSc6XG4gICAgICB3aWR0aCA9IDE1MDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RhdGUnOlxuICAgICAgd2lkdGggPSAxNjA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRlVGltZSc6XG4gICAgICB3aWR0aCA9IDIwNTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0F1dG9Db21wbGV0ZSc6XG4gICAgY2FzZSAnVGV4dEFyZWEnOlxuICAgICAgd2lkdGggPSAxOTA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdDdXJyZW5jeSc6XG4gICAgY2FzZSAnVGV4dElucHV0JzpcbiAgICAgIHdpZHRoID0gMTgyO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnQ2hlY2tib3gnOlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNhc2UtZGVjbGFyYXRpb25zXG4gICAgICBjb25zdCB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0KTtcbiAgICAgIHRleHQuc3R5bGUuZm9udFNpemUgPSAnMTNweCc7XG4gICAgICB0ZXh0LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIHRleHQuaW5uZXJIVE1MID0gbGFiZWw7XG4gICAgICB3aWR0aCA9IE1hdGguY2VpbCh0ZXh0LmNsaWVudFdpZHRoKSArIDMwO1xuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXh0KTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICB3aWR0aCA9IDE4MDtcbiAgfVxuICByZXR1cm4gd2lkdGg7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRDb250ZXh0ID0gdGhlUENvbm4gPT4ge1xuICBjb25zdCBjb250ZXh0TmFtZSA9IHRoZVBDb25uLmdldENvbnRleHROYW1lKCk7XG4gIGNvbnN0IHBhZ2VSZWZlcmVuY2UgPSB0aGVQQ29ubi5nZXRQYWdlUmVmZXJlbmNlKCk7XG4gIGNvbnN0IHsgcmVhZG9ubHlDb250ZXh0TGlzdCwgcmVmZXJlbmNlTGlzdCA9IHJlYWRvbmx5Q29udGV4dExpc3QgfSA9IHRoZVBDb25uLmdldFN0YXRlUHJvcHMoKT8uY29uZmlnIHx8IHRoZVBDb25uLmdldFN0YXRlUHJvcHMoKTtcblxuICBjb25zdCBwYWdlUmVmZXJlbmNlRm9yUm93cyA9IHJlZmVyZW5jZUxpc3Quc3RhcnRzV2l0aCgnLicpID8gYCR7cGFnZVJlZmVyZW5jZX0uJHtyZWZlcmVuY2VMaXN0LnN1YnN0cmluZygxKX1gIDogcmVmZXJlbmNlTGlzdDtcbiAgY29uc3Qgdmlld05hbWUgPSB0aGVQQ29ubi52aWV3TmFtZTtcblxuICAvLyByZW1vdmluZyBcImNhc2VJbmZvLmNvbnRlbnRcIiBwcmVmaXggdG8gYXZvaWQgc2V0dGluZyBpdCBhcyBhIHRhcmdldCB3aGlsZSBwcmVwYXJpbmcgcGFnZUluc3RydWN0aW9uc1xuICAvLyBza2lwcGluZyB0aGUgcmVtb3ZhbCBhcyBTdGF0ZU1hY2hpbmUgaXRzZWxmIGlzIHJlbW92aW5nIHRoaXMgY2FzZSBpbmZvIHByZWZpeCB3aGlsZSBwcmVwYXJpbmcgcGFnZUluc3RydWN0aW9uc1xuICAvLyByZWZlcmVuY2VMaXN0ID0gcGFnZVJlZmVyZW5jZUZvclJvd3MucmVwbGFjZShQQ29yZS5nZXRDb25zdGFudHMoKS5DQVNFX0lORk8uQ0FTRV9JTkZPX0NPTlRFTlQsICcnKTtcblxuICByZXR1cm4ge1xuICAgIGNvbnRleHROYW1lLFxuICAgIHJlZmVyZW5jZUxpc3RTdHI6IHJlZmVyZW5jZUxpc3QsXG4gICAgcGFnZVJlZmVyZW5jZUZvclJvd3MsXG4gICAgdmlld05hbWVcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBwb3B1bGF0ZVJvd0tleSA9IHJhd0RhdGEgPT4ge1xuICByZXR1cm4gcmF3RGF0YS5tYXAoKHJvdywgaW5kZXgpID0+IHtcbiAgICByZXR1cm4geyAuLi5yb3csIGluZGV4IH07XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFwaUNvbnRleHQgPSAocHJvY2Vzc2VkRGF0YSwgcENvbm5lY3QsIHJlb3JkZXJDQikgPT4ge1xuICByZXR1cm4ge1xuICAgIGZldGNoRGF0YTogKCkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICBkYXRhOiBwcm9jZXNzZWREYXRhLFxuICAgICAgICAgIGZpbHRlcmVkUmVjb3JkQ291bnQ6IHByb2Nlc3NlZERhdGEubGVuZ3RoLFxuICAgICAgICAgIHRvdGFsUmVjb3JkQ291bnQ6IHByb2Nlc3NlZERhdGEubGVuZ3RoXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBmZXRjaFBlcnNvbmFsaXphdGlvbnM6ICgpID0+IHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe30pO1xuICAgIH0sXG4gICAgYXBwbHlSb3dSZW9yZGVyOiAoc291cmNlS2V5LCBkZXN0aW5hdGlvbktleSkgPT4ge1xuICAgICAgLy8gaW5kZXhlcyBhcmUga2V5cyBmb3Igc2ltcGxlIHRhYmxlIHNvLCBpdCBzaG91bGQgd29yay5cbiAgICAgIHJlb3JkZXJDQigpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShwQ29ubmVjdC5nZXRMaXN0QWN0aW9ucygpLnJlb3JkZXIocGFyc2VJbnQoc291cmNlS2V5LCAxMCksIHBhcnNlSW50KGRlc3RpbmF0aW9uS2V5LCAxMCkpKTtcbiAgICB9XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRNZXRhRm9yTGlzdFZpZXcgPSAoZmllbGRNZXRhZGF0YSwgZmllbGRzLCB0eXBlLCBydWxlQ2xhc3MsIG5hbWUsIHByb3BlcnR5TGFiZWwsIGlzRGF0YU9iamVjdCwgcGFyYW1ldGVycykgPT4ge1xuICByZXR1cm4ge1xuICAgIG5hbWUsXG4gICAgY29uZmlnOiB7XG4gICAgICB0eXBlLFxuICAgICAgcmVmZXJlbmNlTGlzdDogZmllbGRNZXRhZGF0YS5kYXRhc291cmNlLm5hbWUsXG4gICAgICBwYXJhbWV0ZXJzOiBwYXJhbWV0ZXJzID8/IGZpZWxkTWV0YWRhdGEuZGF0YXNvdXJjZS5wYXJhbWV0ZXJzLFxuICAgICAgcGVyc29uYWxpemF0aW9uOiBmYWxzZSxcbiAgICAgIGlzRGF0YU9iamVjdCxcbiAgICAgIGdyb3VwaW5nOiB0cnVlLFxuICAgICAgZ2xvYmFsU2VhcmNoOiB0cnVlLFxuICAgICAgcmVvcmRlckZpZWxkczogdHJ1ZSxcbiAgICAgIHRvZ2dsZUZpZWxkVmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgIHRpdGxlOiBwcm9wZXJ0eUxhYmVsLFxuICAgICAgcGVyc29uYWxpemF0aW9uSWQ6ICcnIC8qIFRPRE8gKi8sXG4gICAgICB0ZW1wbGF0ZTogJ0xpc3RWaWV3JyxcbiAgICAgIHByZXNldHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdwcmVzZXRzJyxcbiAgICAgICAgICB0ZW1wbGF0ZTogJ1RhYmxlJyxcbiAgICAgICAgICBjb25maWc6IHt9LFxuICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdDb2x1bW5zJyxcbiAgICAgICAgICAgICAgdHlwZTogJ1JlZ2lvbicsXG4gICAgICAgICAgICAgIGNoaWxkcmVuOiBmaWVsZHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIGxhYmVsOiBwcm9wZXJ0eUxhYmVsLFxuICAgICAgICAgIGlkOiAnUF8nIC8qIFRPRE8gKi9cbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIHJ1bGVDbGFzc1xuICAgIH1cbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZEZpZWxkc0ZvclRhYmxlID0gKGNvbmZpZ0ZpZWxkcywgZmllbGRzLCBzaG93RGVsZXRlQnV0dG9uKSA9PiB7XG4gIGNvbnN0IGZpZWxkRGVmcyA9IGNvbmZpZ0ZpZWxkcz8ubWFwKChmaWVsZCwgaW5kZXgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgbGFiZWw6IGZpZWxkc1tpbmRleF0uY29uZmlnLmxhYmVsIHx8IGZpZWxkc1tpbmRleF0uY29uZmlnLmNhcHRpb24sXG4gICAgICBmaWxsQXZhaWxhYmxlU3BhY2U6ICEhZmllbGQuY29uZmlnLmZpbGxBdmFpbGFibGVTcGFjZSxcbiAgICAgIGlkOiBgJHtpbmRleH1gLFxuICAgICAgbmFtZTogZmllbGQuY29uZmlnLnZhbHVlLnN1YnN0cig0KSxcbiAgICAgIGNlbGxSZW5kZXJlcjogVEFCTEVfQ0VMTCxcbiAgICAgIHNvcnQ6IGZhbHNlLFxuICAgICAgbm9Db250ZXh0TWVudTogdHJ1ZSxcbiAgICAgIHNob3dNZW51OiBmYWxzZSxcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgLi4uZmllbGRcbiAgICAgIH0sXG4gICAgICAvLyBCVUctNjE1MjUzOiBXb3JrYXJvdW5kIGZvciBhdXRvc2l6ZSBpbiB0YWJsZSB3aXRoIGxhenkgbG9hZGluZyBjb21wb25lbnRzXG4gICAgICB3aWR0aDogZ2V0RmllbGRXaWR0aChmaWVsZCwgZmllbGRzW2luZGV4XS5jb25maWcubGFiZWwpXG4gICAgfTtcbiAgfSk7XG5cbiAgLy8gT05MWSBhZGQgREVMRVRFX0lDT04gdG8gZmllbGRzIHdoZW4gdGhlIHRhYmxlIGlzIHJlcXVlc3RlZCBhcyBFRElUQUJMRVxuICBpZiAoc2hvd0RlbGV0ZUJ1dHRvbikge1xuICAgIGZpZWxkRGVmcy5wdXNoKHtcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGxhYmVsOiAnJyxcbiAgICAgIG5hbWU6IERFTEVURV9JQ09OLFxuICAgICAgaWQ6IGZpZWxkRGVmcy5sZW5ndGgsXG4gICAgICBjZWxsUmVuZGVyZXI6IERFTEVURV9JQ09OLFxuICAgICAgc29ydDogZmFsc2UsXG4gICAgICBub0NvbnRleHRNZW51OiB0cnVlLFxuICAgICAgc2hvd01lbnU6IGZhbHNlLFxuICAgICAgLy8gQlVHLTYxNTI1MzogV29ya2Fyb3VuZCBmb3IgYXV0b3NpemUgaW4gdGFibGUgd2l0aCBsYXp5IGxvYWRpbmcgY29tcG9uZW50c1xuICAgICAgd2lkdGg6IDQ2XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZmllbGREZWZzO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1ldGFGb3JUYWJsZSA9IChmaWVsZHMsIHJlbmRlck1vZGUpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBoZWlnaHQ6IHtcbiAgICAgIG1pbkhlaWdodDogJ2F1dG8nLFxuICAgICAgZml0SGVpZ2h0VG9FbGVtZW50OiAnZml0SGVpZ2h0VG9FbGVtZW50JyxcbiAgICAgIGRlbHRhQWRqdXN0bWVudDogJ2RlbHRhQWRqdXN0bWVudCcsXG4gICAgICBhdXRvU2l6ZTogdHJ1ZVxuICAgIH0sXG4gICAgZmllbGREZWZzOiBmaWVsZHMsXG4gICAgaXRlbUtleTogJ2luZGV4JyxcbiAgICBncm91cGluZzogZmFsc2UsXG4gICAgcmVvcmRlckZpZWxkczogZmFsc2UsXG4gICAgcmVvcmRlckl0ZW1zOiByZW5kZXJNb2RlID09PSAnRWRpdGFibGUnLFxuICAgIGRyYWdIYW5kbGU6IHJlbmRlck1vZGUgPT09ICdFZGl0YWJsZScsXG4gICAgZ2xvYmFsU2VhcmNoOiBmYWxzZSxcbiAgICBwZXJzb25hbGl6YXRpb246IGZhbHNlLFxuICAgIHRvZ2dsZUZpZWxkVmlzaWJpbGl0eTogZmFsc2UsXG4gICAgdG9vbGJhcjogZmFsc2UsXG4gICAgZm9vdGVyOiBmYWxzZSxcbiAgICBmaWx0ZXJFeHByZXNzaW9uOiBudWxsLFxuICAgIGVkaXRpbmc6IGZhbHNlLFxuICAgIHRpbWV6b25lOiBQQ29yZS5nZXRFbnZpcm9ubWVudEluZm8oKS5nZXRUaW1lWm9uZSgpXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZmlsdGVyRGF0YUJ5RGF0ZSA9IChpdGVtLCBmaWx0ZXJPYmopID0+IHtcbiAgbGV0IGJLZWVwID0gdHJ1ZTtcbiAgbGV0IHZhbHVlID0gaXRlbVtmaWx0ZXJPYmoucmVmXSAhPSBudWxsIHx8IGl0ZW1bZmlsdGVyT2JqLnJlZl0gIT0gJycgPyBnZXRTZWNvbmRzKGl0ZW1bZmlsdGVyT2JqLnJlZl0pIDogbnVsbDtcbiAgbGV0IGZpbHRlclZhbHVlID0gZmlsdGVyT2JqLmNvbnRhaW5zRmlsdGVyVmFsdWUgIT0gbnVsbCAmJiBmaWx0ZXJPYmouY29udGFpbnNGaWx0ZXJWYWx1ZSAhPSAnJyA/IGdldFNlY29uZHMoZmlsdGVyT2JqLmNvbnRhaW5zRmlsdGVyVmFsdWUpIDogbnVsbDtcblxuICBzd2l0Y2ggKGZpbHRlck9iai5jb250YWluc0ZpbHRlcikge1xuICAgIGNhc2UgJ25vdGVxdWFsJzpcbiAgICAgIC8vIGJlY2FzdWUgZmlsdGVyVmFsdWUgaXMgaW4gbWludXRlcywgbmVlZCB0byBoYXZlIGEgcmFuZ2Ugb2YgbGVzcyB0aGFuIDYwIHNlY29uc1xuXG4gICAgICBpZiAodmFsdWUgIT0gbnVsbCAmJiBmaWx0ZXJWYWx1ZSAhPSBudWxsKSB7XG4gICAgICAgIC8vIGdldCByaWQgb2YgbWlsbGlzZWNvbnNcbiAgICAgICAgdmFsdWUgLz0gMTAwMDtcbiAgICAgICAgZmlsdGVyVmFsdWUgLz0gMTAwMDtcblxuICAgICAgICBjb25zdCBkaWZmID0gdmFsdWUgLSBmaWx0ZXJWYWx1ZTtcbiAgICAgICAgaWYgKGRpZmYgPj0gMCAmJiBkaWZmIDwgNjApIHtcbiAgICAgICAgICBiS2VlcCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2FmdGVyJzpcbiAgICAgIGlmICh2YWx1ZSA8IGZpbHRlclZhbHVlKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdiZWZvcmUnOlxuICAgICAgaWYgKHZhbHVlID4gZmlsdGVyVmFsdWUpIHtcbiAgICAgICAgYktlZXAgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ251bGwnOlxuICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgYktlZXAgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ25vdG51bGwnOlxuICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgYktlZXAgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBiS2VlcDtcbn07XG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJEYXRhQnlDb21tb25GaWVsZHMgPSAoaXRlbSwgZmlsdGVyT2JqKSA9PiB7XG4gIGxldCBiS2VlcCA9IHRydWU7XG4gIGNvbnN0IHZhbHVlID0gaXRlbVtmaWx0ZXJPYmoucmVmXS50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBmaWx0ZXJWYWx1ZSA9IGZpbHRlck9iai5jb250YWluc0ZpbHRlclZhbHVlLnRvTG93ZXJDYXNlKCk7XG5cbiAgc3dpdGNoIChmaWx0ZXJPYmouY29udGFpbnNGaWx0ZXIpIHtcbiAgICBjYXNlICdjb250YWlucyc6XG4gICAgICBpZiAodmFsdWUuaW5kZXhPZihmaWx0ZXJWYWx1ZSkgPCAwKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdlcXVhbHMnOlxuICAgICAgaWYgKHZhbHVlICE9IGZpbHRlclZhbHVlKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdzdGFydHN3aXRoJzpcbiAgICAgIGlmICh2YWx1ZS5pbmRleE9mKGZpbHRlclZhbHVlKSAhPSAwKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gYktlZXA7XG59O1xuXG4vKipcbiAqIFRoaXMgbWV0aG9kIHJldHVybnMgYSBjYWxsQmFjayBmdW5jdGlvbiBmb3IgQWRkIGFjdGlvbi5cbiAqIEBwYXJhbSB7b2JqZWN0fSBwQ29ubmVjdCAtIFBDb25uZWN0IG9iamVjdFxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IC0gaW5kZXggb2YgdGhlIHBhZ2UgbGlzdCB0byBhZGRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFkZFJvd0NhbGxiYWNrID0gKHBDb25uZWN0LCBpbmRleCkgPT4ge1xuICByZXR1cm4gKCkgPT4gcENvbm5lY3QuZ2V0TGlzdEFjdGlvbnMoKS5pbnNlcnQoe30sIGluZGV4KTtcbn07XG5cbi8qKlxuICogVGhpcyBtZXRob2QgY3JlYXRlcyBhIFBDb25uZWN0IG9iamVjdCB3aXRoIHByb3BlciBvcHRpb25zIGZvciBBZGQgYW5kIERlbGV0ZSBhY3Rpb25zXG4gKiBAcGFyYW0ge3N0cmluZ30gY29udGV4dE5hbWUgLSBjb250ZXh0TmFtZVxuICogQHBhcmFtIHtzdHJpbmd9IHJlZmVyZW5jZUxpc3QgLSByZWZlcmVuY2VMaXN0XG4gKiBAcGFyYW0ge3N0cmluZ30gcGFnZVJlZmVyZW5jZSAtIHBhZ2VSZWZlcmVuY2VcbiAqL1xuZXhwb3J0IGNvbnN0IGNyZWF0ZVBDb25uZWN0ID0gKGNvbnRleHROYW1lLCByZWZlcmVuY2VMaXN0LCBwYWdlUmVmZXJlbmNlKSA9PiB7XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgY29udGV4dDogY29udGV4dE5hbWUsXG4gICAgcGFnZVJlZmVyZW5jZSxcbiAgICByZWZlcmVuY2VMaXN0XG4gIH07XG5cbiAgLy8gY3JlYXRlIFBDb25uZWN0IG9iamVjdFxuICBjb25zdCBjb25maWcgPSB7IG1ldGE6IHt9LCBvcHRpb25zIH07XG4gIGNvbnN0IHsgZ2V0UENvbm5lY3QgfSA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KGNvbmZpZyk7XG5cbiAgcmV0dXJuIGdldFBDb25uZWN0KCk7XG59O1xuIl19
|