cilog-lib 1.9.4 → 1.9.6
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.
|
@@ -63,6 +63,9 @@ export class ExportService {
|
|
|
63
63
|
return ctx.fillStyle.replace('#', '');
|
|
64
64
|
}
|
|
65
65
|
setStyleGlobalGrille(ws) {
|
|
66
|
+
ws.views = [
|
|
67
|
+
{ state: 'frozen', ySplit: 1 }
|
|
68
|
+
];
|
|
66
69
|
ws.eachRow((row, rowNumber) => {
|
|
67
70
|
row.eachCell({ includeEmpty: true }, (cell, number) => {
|
|
68
71
|
if (rowNumber == 1) {
|
|
@@ -158,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
158
161
|
providedIn: 'root'
|
|
159
162
|
}]
|
|
160
163
|
}], ctorParameters: () => [] });
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NpbG9nLWxpYi9zcmMvbGliL3NlcnZpY2VzL2V4Y2VsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxLQUFLLEtBQUssTUFBTSxTQUFTLENBQUM7QUFDakMsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7O0FBS3hDLE1BQU0sT0FBTyxhQUFhO0lBRXRCLGdCQUFnQixDQUFDO0lBRWpCLFdBQVcsQ0FBQyxNQUFjLEVBQUUsT0FBa0I7UUFFMUMsV0FBVztRQUNYLElBQUksRUFBRSxHQUFtQixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUU5QyxZQUFZO1FBQ1osSUFBSSxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQ2hELFVBQVUsRUFBRSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7U0FDdEMsQ0FBQyxDQUFDO1FBRUgsV0FBVztRQUNYLElBQUksSUFBSSxHQUE0QixFQUFFLENBQUM7UUFFdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVoRCxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLElBQUksUUFBUSxHQUEwQjtnQkFDbEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxPQUFPO2dCQUNuQixHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ1gsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQzthQUN2QyxDQUFBO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBRWxCLFNBQVM7UUFDVCxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLElBQUksUUFBUSxHQUFXLEVBQUUsQ0FBQztZQUMxQixPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNsQixRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM3RCxDQUFDLENBQUMsQ0FBQztZQUVILHlDQUF5QztZQUN6QyxJQUFJLE1BQU0sR0FBYyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7b0JBQ25HLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUc7d0JBQ25DLElBQUksRUFBRSxTQUFTO3dCQUNmLE9BQU8sRUFBRSxPQUFPO3dCQUNoQixPQUFPLEVBQUU7NEJBQ0wsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7eUJBQ3hHO3dCQUNELE9BQU8sRUFBRTs0QkFDTCxJQUFJLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQzt5QkFDeEc7cUJBQ0osQ0FBQTtnQkFDTCxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVE7UUFDUixJQUFJLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFOUIsYUFBYTtRQUNiLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsTUFBTTtZQUN2QyxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNsQyxJQUFJLEVBQUUsbUVBQW1FO2FBQzVFLENBQUMsQ0FBQztZQUNILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxHQUFHLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsR0FBRyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdEIsT0FBZ0IsR0FBRyxDQUFDLFNBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxFQUFtQjtRQUNwQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQzFCLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ2xELElBQUksU0FBUyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHO3dCQUNSLE9BQU8sRUFBRSxPQUFPO3dCQUNoQixJQUFJLEVBQUUsU0FBUzt3QkFDZixPQUFPLEVBQUU7NEJBQ0wsSUFBSSxFQUFFLFFBQVE7eUJBQ2pCO3FCQUNKLENBQUM7b0JBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQztvQkFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO29CQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHO3dCQUNSLElBQUksRUFBRSxPQUFPO3dCQUNiLElBQUksRUFBRSxFQUFFO3dCQUNSLElBQUksRUFBRSxJQUFJO3FCQUNiLENBQUM7b0JBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRzt3QkFDVixNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO3dCQUN6QixHQUFHLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO3dCQUN0QixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO3dCQUN2QixLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO3FCQUMzQixDQUFDO2dCQUNOLENBQUM7cUJBQU0sQ0FBQztvQkFDSixJQUFJLENBQUMsTUFBTSxHQUFHO3dCQUNWLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7d0JBQ3pCLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7d0JBQ3RCLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7d0JBQ3ZCLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7cUJBQzNCLENBQUM7Z0JBQ04sQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsVUFBVSxHQUFHO1lBQ1osSUFBSSxFQUFFLElBQUk7WUFDVixFQUFFLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxHQUFHO1NBQ3RFLENBQUM7SUFDTixDQUFDO0lBRUQseUJBQXlCLENBQUMsTUFBYztRQUNwQyxJQUFJLElBQUksRUFDSixNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hCLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDekIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQztZQUNqRCxNQUFNLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFXLEVBQUUsR0FBWTtRQUNwQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNmLEtBQUssT0FBTyxDQUFDLFdBQVc7Z0JBQ3BCLElBQUksZ0JBQWdCLEdBQVcsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLElBQTBCLElBQUksQ0FBQyxPQUFRLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQXVCLElBQUksQ0FBQyxPQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBTyxHQUFHLENBQUMsT0FBUSxDQUFDLFdBQVcsQ0FBQztnQkFDbE0sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25FLEtBQUssT0FBTyxDQUFDLFlBQVksQ0FBQztZQUMxQixLQUFLLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDdEIsS0FBSyxPQUFPLENBQUMsS0FBSztnQkFDZCxJQUFJLFdBQVcsR0FBVyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksSUFBVSxJQUFJLENBQUMsT0FBUSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFPLElBQUksQ0FBQyxPQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBTyxHQUFHLENBQUMsT0FBUSxDQUFDLFdBQVcsQ0FBQztnQkFDN0osT0FBTyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQy9ELEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNuQixLQUFLLE9BQU8sQ0FBQyxNQUFNO2dCQUNmLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLEtBQUssT0FBTyxDQUFDLE1BQU07Z0JBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDOUMsS0FBSyxPQUFPLENBQUMsSUFBSTtnQkFDYixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQ3JCLElBQUksT0FBTyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7b0JBQ3ZRLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzdCLENBQUM7cUJBQU0sQ0FBQztvQkFDSixPQUFPLElBQUksQ0FBQztnQkFDaEIsQ0FBQztZQUNMO2dCQUNJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFhO1FBQ3hCLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDWCxLQUFLLE9BQU8sQ0FBQyxJQUFJO2dCQUNiLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDcEMsS0FBSyxPQUFPLENBQUMsV0FBVyxDQUFDO1lBQ3pCLEtBQUssT0FBTyxDQUFDLE1BQU07Z0JBQ2YsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUNsQztnQkFDSSxPQUFPLElBQUksQ0FBQztRQUNwQixDQUFDO0lBQ0wsQ0FBQzs4R0FoS1EsYUFBYTtrSEFBYixhQUFhLGNBRlYsTUFBTTs7MkZBRVQsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSUNlbGwsIElDb2x1bW4sIElPcHRpb25zTXVsdGlTZWxlY3QsIElSb3cgfSBmcm9tIFwiLi4vaGVscGVycy9pbnRlcmZhY2VzL2dyaWxsZS5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHsgQ29sVHlwZSB9IGZyb20gXCIuLi9oZWxwZXJzL2VudW1zL2dyaWxsZS5lbnVtXCI7XHJcbmltcG9ydCAqIGFzIEV4Y2VsIGZyb20gJ2V4Y2VsanMnO1xyXG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEV4cG9ydFNlcnZpY2Uge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gICAgZXhwb3J0RXhjZWwodmFsdWVzOiBJUm93W10sIGNvbHVtbnM6IElDb2x1bW5bXSkge1xyXG5cclxuICAgICAgICAvLyBXb3JrYm9va1xyXG4gICAgICAgIGxldCB3YjogRXhjZWwuV29ya2Jvb2sgPSBuZXcgRXhjZWwuV29ya2Jvb2soKTtcclxuXHJcbiAgICAgICAgLy8gV29ya3NoZWV0XHJcbiAgICAgICAgbGV0IHdzOiBFeGNlbC5Xb3Jrc2hlZXQgPSB3Yi5hZGRXb3Jrc2hlZXQoJ0V4cG9ydCcsIHtcclxuICAgICAgICAgICAgcHJvcGVydGllczogeyBkZWZhdWx0Q29sV2lkdGg6IDIwIH0sXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIENvbG9ubmVzXHJcbiAgICAgICAgbGV0IGNvbHM6IFBhcnRpYWw8RXhjZWwuQ29sdW1uPltdID0gW107XHJcblxyXG4gICAgICAgIGNvbHVtbnMgPSBjb2x1bW5zLmZpbHRlcihjb2wgPT4gIWNvbC5pbnZpc2libGUpO1xyXG5cclxuICAgICAgICBjb2x1bW5zLmZvckVhY2goY29sID0+IHtcclxuICAgICAgICAgICAgbGV0IGNvbEV4Y2VsOiBQYXJ0aWFsPEV4Y2VsLkNvbHVtbj4gPSB7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXI6IGNvbC5saWJlbGxlLFxyXG4gICAgICAgICAgICAgICAga2V5OiBjb2wuaWQsXHJcbiAgICAgICAgICAgICAgICBzdHlsZTogdGhpcy5nZXRTdHlsZUJ5VHlwZShjb2wudHlwZSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb2xzLnB1c2goY29sRXhjZWwpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHdzLmNvbHVtbnMgPSBjb2xzO1xyXG5cclxuICAgICAgICAvLyBMaWduZXNcclxuICAgICAgICB2YWx1ZXMuZm9yRWFjaChyb3cgPT4ge1xyXG4gICAgICAgICAgICBsZXQgcm93RXhjZWw6IE9iamVjdCA9IHt9O1xyXG4gICAgICAgICAgICBjb2x1bW5zLmZvckVhY2goY29sID0+IHtcclxuICAgICAgICAgICAgICAgIHJvd0V4Y2VsW2NvbC5pZF0gPSB0aGlzLmdldFZhbHVlQnlUeXBlKHJvd1tjb2wuaWRdLCBjb2wpO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIC8vIEFwcGxpY2F0aW9uIGR1IHN0eWxlIGRlIGNoYXF1ZSBjZWxsdWxlXHJcbiAgICAgICAgICAgIGxldCByZXN1bHQ6IEV4Y2VsLlJvdyA9IHdzLmFkZFJvdyhyb3dFeGNlbCk7XHJcbiAgICAgICAgICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKChyb3cuY29sb3IgIT0gbnVsbCAmJiByb3cuY29sb3IgIT0gJycpIHx8IChyb3dbY29sLmlkXS5jb2xvciAhPSBudWxsICYmIHJvd1tjb2wuaWRdLmNvbG9yICE9ICcnKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5nZXRDZWxsKGluZGV4ICsgMSkuc3R5bGUuZmlsbCA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJwYXR0ZXJuXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm46IFwic29saWRcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmdDb2xvcjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnYjogcm93W2NvbC5pZF0uY29sb3IgIT0gbnVsbCA/IHRoaXMuZ2V0SGV4YUNvbG9yKHJvd1tjb2wuaWRdLmNvbG9yKSA6IHRoaXMuZ2V0SGV4YUNvbG9yKHJvdy5jb2xvcilcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmdDb2xvcjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnYjogcm93W2NvbC5pZF0uY29sb3IgIT0gbnVsbCA/IHRoaXMuZ2V0SGV4YUNvbG9yKHJvd1tjb2wuaWRdLmNvbG9yKSA6IHRoaXMuZ2V0SGV4YUNvbG9yKHJvdy5jb2xvcilcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIFN0eWxlXHJcbiAgICAgICAgdGhpcy5zZXRTdHlsZUdsb2JhbEdyaWxsZSh3cyk7XHJcblxyXG4gICAgICAgIC8vIFNhdXZlZ2FyZGVcclxuICAgICAgICB3Yi54bHN4LndyaXRlQnVmZmVyKCkudGhlbihmdW5jdGlvbiAoYnVmZmVyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgXCJFeHBvcnQgRXhjZWwueGxzeFwiKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRIZXhhQ29sb3IoY29sb3I6IHN0cmluZykge1xyXG4gICAgICAgIHZhciBjdHggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKS5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgICAgIGN0eC5maWxsU3R5bGUgPSBjb2xvcjtcclxuICAgICAgICByZXR1cm4gKDxzdHJpbmc+Y3R4LmZpbGxTdHlsZSkucmVwbGFjZSgnIycsICcnKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRTdHlsZUdsb2JhbEdyaWxsZSh3czogRXhjZWwuV29ya3NoZWV0KSB7XHJcbiAgICAgICAgd3MuZWFjaFJvdygocm93LCByb3dOdW1iZXIpID0+IHtcclxuICAgICAgICAgICAgcm93LmVhY2hDZWxsKHsgaW5jbHVkZUVtcHR5OiB0cnVlIH0sIChjZWxsLCBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyb3dOdW1iZXIgPT0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNlbGwuZmlsbCA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybjogJ3NvbGlkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3BhdHRlcm4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmZ0NvbG9yOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdiOiAnMmZhYjQ5JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIGNlbGwuYWxpZ25tZW50ID0geyBob3Jpem9udGFsOiAnY2VudGVyJyB9O1xyXG4gICAgICAgICAgICAgICAgICAgIGNlbGwuYWxpZ25tZW50LnZlcnRpY2FsID0gJ21pZGRsZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgY2VsbC5mb250ID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnQXJpYWwnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAxMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9sZDogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgY2VsbC5ib3JkZXIgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogeyBzdHlsZTogJ3RoaW4nIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogeyBzdHlsZTogJ3RoaW4nIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHsgc3R5bGU6ICd0aGluJyB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogeyBzdHlsZTogJ3RoaW4nIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2VsbC5ib3JkZXIgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogeyBzdHlsZTogJ3RoaW4nIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogeyBzdHlsZTogJ3RoaW4nIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHsgc3R5bGU6ICd0aGluJyB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogeyBzdHlsZTogJ3RoaW4nIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgd3MuYXV0b0ZpbHRlciA9IHtcclxuICAgICAgICAgICAgZnJvbTogJ0ExJyxcclxuICAgICAgICAgICAgdG86IHRoaXMuY29sdW1uSW5kZXhUb0NvbHVtbkxldHRlcih3cy5jb2x1bW5Db3VudCkudG9TdHJpbmcoKSArICcxJyxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbHVtbkluZGV4VG9Db2x1bW5MZXR0ZXIoY29sdW1uOiBudW1iZXIpIHtcclxuICAgICAgICB2YXIgdGVtcCxcclxuICAgICAgICAgICAgbGV0dGVyID0gJyc7XHJcbiAgICAgICAgd2hpbGUgKGNvbHVtbiA+IDApIHtcclxuICAgICAgICAgICAgdGVtcCA9IChjb2x1bW4gLSAxKSAlIDI2O1xyXG4gICAgICAgICAgICBsZXR0ZXIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKHRlbXAgKyA2NSkgKyBsZXR0ZXI7XHJcbiAgICAgICAgICAgIGNvbHVtbiA9IChjb2x1bW4gLSB0ZW1wIC0gMSkgLyAyNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGxldHRlcjtcclxuICAgIH1cclxuXHJcbiAgICBnZXRWYWx1ZUJ5VHlwZShjZWxsOiBJQ2VsbCwgY29sOiBJQ29sdW1uKTogT2JqZWN0IHtcclxuICAgICAgICBzd2l0Y2ggKGNvbC50eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgQ29sVHlwZS5NdWx0aVNlbGVjdDpcclxuICAgICAgICAgICAgICAgIGxldCBvcHRpb25MYWJlbE11bHRpOiBzdHJpbmcgPSBjZWxsLm9wdGlvbnMgIT0gbnVsbCAmJiAoPElPcHRpb25zTXVsdGlTZWxlY3Q+Y2VsbC5vcHRpb25zKS5vcHRpb25MYWJlbCAhPSBudWxsID8gKDxJT3B0aW9uc011bHRpU2VsZWN0PmNlbGwub3B0aW9ucykub3B0aW9uTGFiZWwgOiAoPGFueT5jb2wub3B0aW9ucykub3B0aW9uTGFiZWw7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbC52YWx1ZS5tYXAodmFsID0+IHZhbFtvcHRpb25MYWJlbE11bHRpXSkuam9pbignLCAnKTtcclxuICAgICAgICAgICAgY2FzZSBDb2xUeXBlLlNlbGVjdEJ1dHRvbjpcclxuICAgICAgICAgICAgY2FzZSBDb2xUeXBlLkRyb3Bkb3duOlxyXG4gICAgICAgICAgICBjYXNlIENvbFR5cGUuU3RhdGU6XHJcbiAgICAgICAgICAgICAgICBsZXQgb3B0aW9uTGFiZWw6IHN0cmluZyA9IGNlbGwub3B0aW9ucyAhPSBudWxsICYmICg8YW55PmNlbGwub3B0aW9ucykub3B0aW9uTGFiZWwgIT0gbnVsbCA/ICg8YW55PmNlbGwub3B0aW9ucykub3B0aW9uTGFiZWwgOiAoPGFueT5jb2wub3B0aW9ucykub3B0aW9uTGFiZWw7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbC52YWx1ZSAhPSBudWxsID8gY2VsbC52YWx1ZVtvcHRpb25MYWJlbF0gOiBudWxsO1xyXG4gICAgICAgICAgICBjYXNlIENvbFR5cGUuSW1hZ2U6XHJcbiAgICAgICAgICAgIGNhc2UgQ29sVHlwZS5CdXR0b246XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgY2FzZSBDb2xUeXBlLlN3aXRjaDpcclxuICAgICAgICAgICAgICAgIHJldHVybiBjZWxsLnZhbHVlID09IHRydWUgPyAnT3VpJyA6ICdOb24nO1xyXG4gICAgICAgICAgICBjYXNlIENvbFR5cGUuRGF0ZTpcclxuICAgICAgICAgICAgICAgIGlmIChjZWxsLnZhbHVlICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZGF0ZVN0cjogc3RyaW5nID0gY2VsbC52YWx1ZS5nZXRGdWxsWWVhcigpICsgJy0nICsgKChjZWxsLnZhbHVlLmdldE1vbnRoKCkgKyAxIDwgMTApID8gJzAnICsgKGNlbGwudmFsdWUuZ2V0TW9udGgoKSArIDEpIDogKGNlbGwudmFsdWUuZ2V0TW9udGgoKSArIDEpKSArICctJyArIChjZWxsLnZhbHVlLmdldERhdGUoKSA8IDEwID8gJzAnICsgY2VsbC52YWx1ZS5nZXREYXRlKCkgOiBjZWxsLnZhbHVlLmdldERhdGUoKSkgKyAnVDAwOjAwOjAwLjAwMFonO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlU3RyKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbC52YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U3R5bGVCeVR5cGUodHlwZTogQ29sVHlwZSk6IFBhcnRpYWw8RXhjZWwuU3R5bGU+IHtcclxuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBDb2xUeXBlLkRhdGU6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBudW1GbXQ6ICdkZC9tbS95eXl5JyB9O1xyXG4gICAgICAgICAgICBjYXNlIENvbFR5cGUuQ2lsb2dOdW1iZXI6XHJcbiAgICAgICAgICAgIGNhc2UgQ29sVHlwZS5OdW1iZXI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBudW1GbXQ6ICcjLCMjMC4wMCcgfTtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NpbG9nLWxpYi9zcmMvbGliL3NlcnZpY2VzL2V4Y2VsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxLQUFLLEtBQUssTUFBTSxTQUFTLENBQUM7QUFDakMsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7O0FBS3hDLE1BQU0sT0FBTyxhQUFhO0lBRXRCLGdCQUFnQixDQUFDO0lBRWpCLFdBQVcsQ0FBQyxNQUFjLEVBQUUsT0FBa0I7UUFFMUMsV0FBVztRQUNYLElBQUksRUFBRSxHQUFtQixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUU5QyxZQUFZO1FBQ1osSUFBSSxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQ2hELFVBQVUsRUFBRSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7U0FDdEMsQ0FBQyxDQUFDO1FBRUgsV0FBVztRQUNYLElBQUksSUFBSSxHQUE0QixFQUFFLENBQUM7UUFFdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVoRCxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLElBQUksUUFBUSxHQUEwQjtnQkFDbEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxPQUFPO2dCQUNuQixHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ1gsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQzthQUN2QyxDQUFBO1lBQ0QsSUFBSSxD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amVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBJQ2VsbCwgSUNvbHVtbiwgSU9wdGlvbnNNdWx0aVNlbGVjdCwgSVJvdyB9IGZyb20gXCIuLi9oZWxwZXJzL2ludGVyZmFjZXMvZ3JpbGxlLmludGVyZmFjZVwiO1xyXG5pbXBvcnQgeyBDb2xUeXBlIH0gZnJvbSBcIi4uL2hlbHBlcnMvZW51bXMvZ3JpbGxlLmVudW1cIjtcclxuaW1wb3J0ICogYXMgRXhjZWwgZnJvbSAnZXhjZWxqcyc7XHJcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXhwb3J0U2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgICBleHBvcnRFeGNlbCh2YWx1ZXM6IElSb3dbXSwgY29sdW1uczogSUNvbHVtbltdKSB7XHJcblxyXG4gICAgICAgIC8vIFdvcmtib29rXHJcbiAgICAgICAgbGV0IHdiOiBFeGNlbC5Xb3JrYm9vayA9IG5ldyBFeGNlbC5Xb3JrYm9vaygpO1xyXG5cclxuICAgICAgICAvLyBXb3Jrc2hlZXRcclxuICAgICAgICBsZXQgd3M6IEV4Y2VsLldvcmtzaGVldCA9IHdiLmFkZFdvcmtzaGVldCgnRXhwb3J0Jywge1xyXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7IGRlZmF1bHRDb2xXaWR0aDogMjAgfSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8gQ29sb25uZXNcclxuICAgICAgICBsZXQgY29sczogUGFydGlhbDxFeGNlbC5Db2x1bW4+W10gPSBbXTtcclxuXHJcbiAgICAgICAgY29sdW1ucyA9IGNvbHVtbnMuZmlsdGVyKGNvbCA9PiAhY29sLmludmlzaWJsZSk7XHJcblxyXG4gICAgICAgIGNvbHVtbnMuZm9yRWFjaChjb2wgPT4ge1xyXG4gICAgICAgICAgICBsZXQgY29sRXhjZWw6IFBhcnRpYWw8RXhjZWwuQ29sdW1uPiA9IHtcclxuICAgICAgICAgICAgICAgIGhlYWRlcjogY29sLmxpYmVsbGUsXHJcbiAgICAgICAgICAgICAgICBrZXk6IGNvbC5pZCxcclxuICAgICAgICAgICAgICAgIHN0eWxlOiB0aGlzLmdldFN0eWxlQnlUeXBlKGNvbC50eXBlKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbHMucHVzaChjb2xFeGNlbCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgd3MuY29sdW1ucyA9IGNvbHM7XHJcblxyXG4gICAgICAgIC8vIExpZ25lc1xyXG4gICAgICAgIHZhbHVlcy5mb3JFYWNoKHJvdyA9PiB7XHJcbiAgICAgICAgICAgIGxldCByb3dFeGNlbDogT2JqZWN0ID0ge307XHJcbiAgICAgICAgICAgIGNvbHVtbnMuZm9yRWFjaChjb2wgPT4ge1xyXG4gICAgICAgICAgICAgICAgcm93RXhjZWxbY29sLmlkXSA9IHRoaXMuZ2V0VmFsdWVCeVR5cGUocm93W2NvbC5pZF0sIGNvbCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgLy8gQXBwbGljYXRpb24gZHUgc3R5bGUgZGUgY2hhcXVlIGNlbGx1bGVcclxuICAgICAgICAgICAgbGV0IHJlc3VsdDogRXhjZWwuUm93ID0gd3MuYWRkUm93KHJvd0V4Y2VsKTtcclxuICAgICAgICAgICAgY29sdW1ucy5mb3JFYWNoKChjb2wsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoKHJvdy5jb2xvciAhPSBudWxsICYmIHJvdy5jb2xvciAhPSAnJykgfHwgKHJvd1tjb2wuaWRdLmNvbG9yICE9IG51bGwgJiYgcm93W2NvbC5pZF0uY29sb3IgIT0gJycpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmdldENlbGwoaW5kZXggKyAxKS5zdHlsZS5maWxsID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInBhdHRlcm5cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybjogXCJzb2xpZFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmZ0NvbG9yOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdiOiByb3dbY29sLmlkXS5jb2xvciAhPSBudWxsID8gdGhpcy5nZXRIZXhhQ29sb3Iocm93W2NvbC5pZF0uY29sb3IpIDogdGhpcy5nZXRIZXhhQ29sb3Iocm93LmNvbG9yKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiZ0NvbG9yOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdiOiByb3dbY29sLmlkXS5jb2xvciAhPSBudWxsID8gdGhpcy5nZXRIZXhhQ29sb3Iocm93W2NvbC5pZF0uY29sb3IpIDogdGhpcy5nZXRIZXhhQ29sb3Iocm93LmNvbG9yKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8gU3R5bGVcclxuICAgICAgICB0aGlzLnNldFN0eWxlR2xvYmFsR3JpbGxlKHdzKTtcclxuXHJcbiAgICAgICAgLy8gU2F1dmVnYXJkZVxyXG4gICAgICAgIHdiLnhsc3gud3JpdGVCdWZmZXIoKS50aGVuKGZ1bmN0aW9uIChidWZmZXIpIHtcclxuICAgICAgICAgICAgY29uc3QgZGF0YTogQmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgRmlsZVNhdmVyLnNhdmVBcyhkYXRhLCBcIkV4cG9ydCBFeGNlbC54bHN4XCIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEhleGFDb2xvcihjb2xvcjogc3RyaW5nKSB7XHJcbiAgICAgICAgdmFyIGN0eCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpLmdldENvbnRleHQoJzJkJyk7XHJcbiAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGNvbG9yO1xyXG4gICAgICAgIHJldHVybiAoPHN0cmluZz5jdHguZmlsbFN0eWxlKS5yZXBsYWNlKCcjJywgJycpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFN0eWxlR2xvYmFsR3JpbGxlKHdzOiBFeGNlbC5Xb3Jrc2hlZXQpIHtcclxuICAgICAgICB3cy52aWV3cyA9IFtcclxuICAgICAgICAgICAgeyBzdGF0ZTogJ2Zyb3plbicsIHlTcGxpdDogMSB9XHJcbiAgICAgICAgXTtcclxuICAgICAgICB3cy5lYWNoUm93KChyb3csIHJvd051bWJlcikgPT4ge1xyXG4gICAgICAgICAgICByb3cuZWFjaENlbGwoeyBpbmNsdWRlRW1wdHk6IHRydWUgfSwgKGNlbGwsIG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJvd051bWJlciA9PSAxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2VsbC5maWxsID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuOiAnc29saWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAncGF0dGVybicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZnQ29sb3I6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ2I6ICcyZmFiNDknLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgY2VsbC5hbGlnbm1lbnQgPSB7IGhvcml6b250YWw6ICdjZW50ZXInIH07XHJcbiAgICAgICAgICAgICAgICAgICAgY2VsbC5hbGlnbm1lbnQudmVydGljYWwgPSAnbWlkZGxlJztcclxuICAgICAgICAgICAgICAgICAgICBjZWxsLmZvbnQgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdBcmlhbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IDEwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib2xkOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICBjZWxsLmJvcmRlciA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogeyBzdHlsZTogJ3RoaW4nIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjZWxsLmJvcmRlciA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogeyBzdHlsZTogJ3RoaW4nIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB3cy5hdXRvRmlsdGVyID0ge1xyXG4gICAgICAgICAgICBmcm9tOiAnQTEnLFxyXG4gICAgICAgICAgICB0bzogdGhpcy5jb2x1bW5JbmRleFRvQ29sdW1uTGV0dGVyKHdzLmNvbHVtbkNvdW50KS50b1N0cmluZygpICsgJzEnLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgY29sdW1uSW5kZXhUb0NvbHVtbkxldHRlcihjb2x1bW46IG51bWJlcikge1xyXG4gICAgICAgIHZhciB0ZW1wLFxyXG4gICAgICAgICAgICBsZXR0ZXIgPSAnJztcclxuICAgICAgICB3aGlsZSAoY29sdW1uID4gMCkge1xyXG4gICAgICAgICAgICB0ZW1wID0gKGNvbHVtbiAtIDEpICUgMjY7XHJcbiAgICAgICAgICAgIGxldHRlciA9IFN0cmluZy5mcm9tQ2hhckNvZGUodGVtcCArIDY1KSArIGxldHRlcjtcclxuICAgICAgICAgICAgY29sdW1uID0gKGNvbHVtbiAtIHRlbXAgLSAxKSAvIDI2O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbGV0dGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFZhbHVlQnlUeXBlKGNlbGw6IElDZWxsLCBjb2w6IElDb2x1bW4pOiBPYmplY3Qge1xyXG4gICAgICAgIHN3aXRjaCAoY29sLnR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBDb2xUeXBlLk11bHRpU2VsZWN0OlxyXG4gICAgICAgICAgICAgICAgbGV0IG9wdGlvbkxhYmVsTXVsdGk6IHN0cmluZyA9IGNlbGwub3B0aW9ucyAhPSBudWxsICYmICg8SU9wdGlvbnNNdWx0aVNlbGVjdD5jZWxsLm9wdGlvbnMpLm9wdGlvbkxhYmVsICE9IG51bGwgPyAoPElPcHRpb25zTXVsdGlTZWxlY3Q+Y2VsbC5vcHRpb25zKS5vcHRpb25MYWJlbCA6ICg8YW55PmNvbC5vcHRpb25zKS5vcHRpb25MYWJlbDtcclxuICAgICAgICAgICAgICAgIHJldHVybiBjZWxsLnZhbHVlLm1hcCh2YWwgPT4gdmFsW29wdGlvbkxhYmVsTXVsdGldKS5qb2luKCcsICcpO1xyXG4gICAgICAgICAgICBjYXNlIENvbFR5cGUuU2VsZWN0QnV0dG9uOlxyXG4gICAgICAgICAgICBjYXNlIENvbFR5cGUuRHJvcGRvd246XHJcbiAgICAgICAgICAgIGNhc2UgQ29sVHlwZS5TdGF0ZTpcclxuICAgICAgICAgICAgICAgIGxldCBvcHRpb25MYWJlbDogc3RyaW5nID0gY2VsbC5vcHRpb25zICE9IG51bGwgJiYgKDxhbnk+Y2VsbC5vcHRpb25zKS5vcHRpb25MYWJlbCAhPSBudWxsID8gKDxhbnk+Y2VsbC5vcHRpb25zKS5vcHRpb25MYWJlbCA6ICg8YW55PmNvbC5vcHRpb25zKS5vcHRpb25MYWJlbDtcclxuICAgICAgICAgICAgICAgIHJldHVybiBjZWxsLnZhbHVlICE9IG51bGwgPyBjZWxsLnZhbHVlW29wdGlvbkxhYmVsXSA6IG51bGw7XHJcbiAgICAgICAgICAgIGNhc2UgQ29sVHlwZS5JbWFnZTpcclxuICAgICAgICAgICAgY2FzZSBDb2xUeXBlLkJ1dHRvbjpcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICBjYXNlIENvbFR5cGUuU3dpdGNoOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNlbGwudmFsdWUgPT0gdHJ1ZSA/ICdPdWknIDogJ05vbic7XHJcbiAgICAgICAgICAgIGNhc2UgQ29sVHlwZS5EYXRlOlxyXG4gICAgICAgICAgICAgICAgaWYgKGNlbGwudmFsdWUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBkYXRlU3RyOiBzdHJpbmcgPSBjZWxsLnZhbHVlLmdldEZ1bGxZZWFyKCkgKyAnLScgKyAoKGNlbGwudmFsdWUuZ2V0TW9udGgoKSArIDEgPCAxMCkgPyAnMCcgKyAoY2VsbC52YWx1ZS5nZXRNb250aCgpICsgMSkgOiAoY2VsbC52YWx1ZS5nZXRNb250aCgpICsgMSkpICsgJy0nICsgKGNlbGwudmFsdWUuZ2V0RGF0ZSgpIDwgMTAgPyAnMCcgKyBjZWxsLnZhbHVlLmdldERhdGUoKSA6IGNlbGwudmFsdWUuZ2V0RGF0ZSgpKSArICdUMDA6MDA6MDAuMDAwWic7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKGRhdGVTdHIpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiBjZWxsLnZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRTdHlsZUJ5VHlwZSh0eXBlOiBDb2xUeXBlKTogUGFydGlhbDxFeGNlbC5TdHlsZT4ge1xyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIENvbFR5cGUuRGF0ZTpcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IG51bUZtdDogJ2RkL21tL3l5eXknIH07XHJcbiAgICAgICAgICAgIGNhc2UgQ29sVHlwZS5DaWxvZ051bWJlcjpcclxuICAgICAgICAgICAgY2FzZSBDb2xUeXBlLk51bWJlcjpcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IG51bUZtdDogJyMsIyMwLjAwJyB9O1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|