verben-ng-ui 1.2.11 → 1.2.13
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/data-import/data-import.service.mjs +5 -7
- package/esm2022/lib/components/pop-up/pop-up.component.mjs +38 -8
- package/esm2022/lib/components/table-filter/table-filter.component.mjs +83 -34
- package/fesm2022/verben-ng-ui.mjs +122 -46
- package/fesm2022/verben-ng-ui.mjs.map +1 -1
- package/lib/components/pop-up/pop-up.component.d.ts +10 -1
- package/package.json +1 -1
|
@@ -44,7 +44,7 @@ export class DataImportService {
|
|
|
44
44
|
// cellFormula: false,
|
|
45
45
|
// cellNF: false,
|
|
46
46
|
// });
|
|
47
|
-
console.time('Begin');
|
|
47
|
+
// console.time('Begin');
|
|
48
48
|
let imported = [];
|
|
49
49
|
const wb = read(event.target.result, { raw: true });
|
|
50
50
|
const sheets = wb.SheetNames;
|
|
@@ -55,18 +55,16 @@ export class DataImportService {
|
|
|
55
55
|
// rawNumbers: true,
|
|
56
56
|
// dateNF: 'dd/mm/yyyy',
|
|
57
57
|
});
|
|
58
|
+
imported = this.transformImportData(rows, columnDefinitions);
|
|
58
59
|
if (parseImport) {
|
|
59
60
|
imported = parseImport(rows);
|
|
60
61
|
}
|
|
61
|
-
else {
|
|
62
|
-
imported = rows;
|
|
63
|
-
}
|
|
64
62
|
// previewer(imported);
|
|
65
63
|
}
|
|
66
64
|
// console.log('Imported data:', JSON.stringify(imported, null, 2));
|
|
67
65
|
// console.time('Start Process');
|
|
68
|
-
this.importedData.set(
|
|
69
|
-
console.timeEnd('Begin');
|
|
66
|
+
this.importedData.set(imported);
|
|
67
|
+
// console.timeEnd('Begin');
|
|
70
68
|
return imported;
|
|
71
69
|
};
|
|
72
70
|
return reader.readAsArrayBuffer(file);
|
|
@@ -104,4 +102,4 @@ export class DataImportService {
|
|
|
104
102
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: DataImportService, decorators: [{
|
|
105
103
|
type: Injectable
|
|
106
104
|
}], ctorParameters: () => [] });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1pbXBvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1uZy11aS9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS1pbXBvcnQvZGF0YS1pbXBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUk5QyxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQVksR0FBd0IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRS9DLGdCQUFlLENBQUM7SUFFaEIsb0VBQW9FO0lBQ3BFLG1CQUFtQixDQUNqQixZQUFtQyxFQUNuQyxpQkFBd0M7UUFFeEMsNENBQTRDO1FBQzVDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7UUFFeEQsOEVBQThFO1FBQzlFLGlCQUFpQjthQUNkLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQzthQUM5QixPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNmLE1BQU0sTUFBTSxHQUNWLE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxRQUFRO2dCQUM1QixDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU07Z0JBQ1osQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsU0FBb0IsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO1FBRUwsMENBQTBDO1FBQzFDLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdB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QUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWdFO1FBQ3JFLHNCQUFzQjtRQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQy9CLDZEQUE2RDtZQUM3RCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDdEIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNqQyxDQUFDO2dCQUNELE9BQU8sQ0FBQyxDQUFDO1lBQ1gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILG9DQUFvQztJQUN0QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWlCLEVBQUUsS0FBbUIsRUFBRSxXQUFxQjtRQUN2RSxPQUFPLENBQ0wsS0FBSyxDQUFDLE1BQU0sQ0FDVixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ04sV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ3RCLFdBQVcsQ0FBQyxLQUFLLENBQ2YsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNiLEtBQUssQ0FBQyxVQUFxQixDQUFDO2dCQUM1QixLQUFLLENBQUMsVUFBcUIsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxVQUFxQixDQUFDLENBQzlELENBQ0osQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUNiLENBQUM7SUFDSixDQUFDO3dHQTNIVSxpQkFBaUI7NEdBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJlYWQsIHV0aWxzLCB3cml0ZUZpbGUgfSBmcm9tICd4bHN4JztcbmltcG9ydCB7IENvbHVtbkRlZmluaXRpb24gfSBmcm9tICcuLi9kYXRhLXRhYmxlL2RhdGEtdGFibGUudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGF0YUltcG9ydFNlcnZpY2U8VD4ge1xuICBpbXBvcnRlZERhdGE6IFdyaXRhYmxlU2lnbmFsPFRbXT4gPSBzaWduYWwoW10pO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvLyBGdW5jdGlvbiB0byB0cmFuc2Zvcm0gaW1wb3J0ZWQgZGF0YSB0byBtYXRjaCB5b3VyIG1vZGVsIHN0cnVjdHVyZVxuICB0cmFuc2Zvcm1JbXBvcnREYXRhPFQ+KFxuICAgIGltcG9ydGVkRGF0YTogUmVjb3JkPHN0cmluZywgYW55PltdLFxuICAgIGNvbHVtbkRlZmluaXRpb25zOiBDb2x1bW5EZWZpbml0aW9uPFQ+W11cbiAgKTogUGFydGlhbDxUPltdIHtcbiAgICAvLyBDcmVhdGUgYSBtYXBwaW5nIGZyb20gaGVhZGVyIHRvIGltcG9ydEtleVxuICAgIGNvbnN0IGhlYWRlclRvSW1wb3J0S2V5TWFwID0gbmV3IE1hcDxzdHJpbmcsIGtleW9mIFQ+KCk7XG5cbiAgICAvLyBGaWx0ZXIgY29sdW1uIGRlZmluaXRpb25zIHRvIG9ubHkgdGhvc2Ugd2l0aCBpbXBvcnRLZXkgYW5kIHBvcHVsYXRlIHRoZSBtYXBcbiAgICBjb2x1bW5EZWZpbml0aW9uc1xuICAgICAgLmZpbHRlcigoY29sKSA9PiBjb2wuaW1wb3J0S2V5KVxuICAgICAgLmZvckVhY2goKGNvbCkgPT4ge1xuICAgICAgICBjb25zdCBoZWFkZXIgPVxuICAgICAgICAgIHR5cGVvZiBjb2wuaGVhZGVyID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgPyBjb2wuaGVhZGVyXG4gICAgICAgICAgICA6IGNvbC5oZWFkZXIoe30pLnRvU3RyaW5nKCk7XG4gICAgICAgIGhlYWRlclRvSW1wb3J0S2V5TWFwLnNldChoZWFkZXIsIGNvbC5pbXBvcnRLZXkgYXMga2V5b2YgVCk7XG4gICAgICB9KTtcblxuICAgIC8vIFRyYW5zZm9ybSBlYWNoIHJvdyBpbiB0aGUgaW1wb3J0ZWQgZGF0YVxuICAgIHJldHVybiBpbXBvcnRlZERhdGEubWFwKChyb3cpID0+IHtcbiAgICAgIGNvbnN0IHRyYW5zZm9ybWVkUm93OiBQYXJ0aWFsPFQ+ID0ge307XG5cbiAgICAgIC8vIFByb2Nlc3MgZWFjaCBrZXkgaW4gdGhlIHJvd1xuICAgICAgT2JqZWN0LmVudHJpZXMocm93KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgLy8gRmluZCB0aGUgY29ycmVzcG9uZGluZyBpbXBvcnQga2V5IGZvciB0aGlzIGhlYWRlci9rZXlcbiAgICAgICAgY29uc3QgaW1wb3J0S2V5ID0gaGVhZGVyVG9JbXBvcnRLZXlNYXAuZ2V0KGtleSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIGZpZWxkIGlmIHRoZXJlJ3MgYSBtYXRjaGluZyBpbXBvcnQga2V5XG4gICAgICAgIGlmIChpbXBvcnRLZXkpIHtcbiAgICAgICAgICB0cmFuc2Zvcm1lZFJvd1tpbXBvcnRLZXldID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gdHJhbnNmb3JtZWRSb3c7XG4gICAgfSk7XG4gIH1cblxuICBoYW5kbGVJbXBvcnQoXG4gICAgZmlsZTogRmlsZSxcbiAgICAvLyBwcmV2aWV3ZXI/OiAoZGF0YTogYW55W10pID0+IHZvaWQsXG4gICAgY29sdW1uRGVmaW5pdGlvbnM6IENvbHVtbkRlZmluaXRpb248VD5bXSxcbiAgICBwYXJzZUltcG9ydD86IChkYXRhOiBhbnkpID0+IFBhcnRpYWw8VD5bXVxuICApIHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5vbmxvYWQgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgLy8gY29uc3Qgd2IgPSByZWFkKGV2ZW50LnRhcmdldC5yZXN1bHQsIHtcbiAgICAgIC8vICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAvLyAgIHJhdzogdHJ1ZSxcbiAgICAgIC8vICAgY2VsbFRleHQ6IHRydWUsXG4gICAgICAvLyAgIGNlbGxGb3JtdWxhOiBmYWxzZSxcbiAgICAgIC8vICAgY2VsbE5GOiBmYWxzZSxcbiAgICAgIC8vIH0pO1xuICAgICAgY29uc29sZS50aW1lKCdCZWdpbicpO1xuICAgICAgbGV0IGltcG9ydGVkOiBhbnlbXSA9IFtdO1xuICAgICAgY29uc3Qgd2IgPSByZWFkKGV2ZW50LnRhcmdldC5yZXN1bHQsIHsgcmF3OiB0cnVlIH0pO1xuICAgICAgY29uc3Qgc2hlZXRzID0gd2IuU2hlZXROYW1lcztcbiAgICAgIGlmIChzaGVldHMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IHJvd3MgPSB1dGlscy5zaGVldF90b19qc29uKHdiLlNoZWV0c1tzaGVldHNbMF1dLCB7XG4gICAgICAgICAgcmF3OiBmYWxzZSxcbiAgICAgICAgICAvLyBkZWZ2YWw6ICcnLFxuICAgICAgICAgIC8vIHJhd051bWJlcnM6IHRydWUsXG4gICAgICAgICAgLy8gZGF0ZU5GOiAnZGQvbW0veXl5eScsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAocGFyc2VJbXBvcnQpIHtcbiAgICAgICAgICBpbXBvcnRlZCA9IHBhcnNlSW1wb3J0KHJvd3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGltcG9ydGVkID0gcm93cyBhcyBhbnlbXTtcbiAgICAgICAgfVxuICAgICAgICAvLyBwcmV2aWV3ZXIoaW1wb3J0ZWQpO1xuICAgICAgfVxuICAgICAgLy8gY29uc29sZS5sb2coJ0ltcG9ydGVkIGRhdGE6JywgSlNPTi5zdHJpbmdpZnkoaW1wb3J0ZWQsIG51bGwsIDIpKTtcbiAgICAgIC8vIGNvbnNvbGUudGltZSgnU3RhcnQgUHJvY2VzcycpO1xuICAgICAgdGhpcy5pbXBvcnRlZERhdGEuc2V0KFxuICAgICAgICB0aGlzLnRyYW5zZm9ybUltcG9ydERhdGEoaW1wb3J0ZWQsIGNvbHVtbkRlZmluaXRpb25zKSBhcyBUW11cbiAgICAgICk7XG4gICAgICBjb25zb2xlLnRpbWVFbmQoJ0JlZ2luJyk7XG4gICAgICByZXR1cm4gaW1wb3J0ZWQ7XG4gICAgfTtcbiAgICByZXR1cm4gcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGZpbGUpO1xuICB9XG5cbiAgaGFuZGxlVGVtcGxhdGVFeHBvcnQoZmllbGRzOiBzdHJpbmdbXSwgdGl0bGU6IHN0cmluZykge1xuICAgIGNvbnNvbGUubG9nKGZpZWxkcyk7XG4gICAgY29uc3Qgd2IgPSB1dGlscy5ib29rX25ldygpO1xuICAgIGNvbnN0IHdzOiBhbnkgPSB1dGlscy5qc29uX3RvX3NoZWV0KFtdKTtcbiAgICB1dGlscy5zaGVldF9hZGRfYW9hKHdzLCBbZmllbGRzXSk7XG4gICAgLy8gdXRpbHMuc2hlZXRfYWRkX2pzb24od3MsIHRoaXMuX2RhdGEsIHsgb3JpZ2luOiAnQTInLCBza2lwSGVhZGVyOiB0cnVlIH0pO1xuICAgIHV0aWxzLmJvb2tfYXBwZW5kX3NoZWV0KHdiLCB3cywgdGl0bGUpO1xuICAgIHdyaXRlRmlsZSh3YiwgdGl0bGUgKyAnLXRlbXBsYXRlLicgKyAneGxzeCcpO1xuICB9XG5cbiAgYWRkUm93KGV2ZW50OiB7IGluZGV4OiBudW1iZXI7IGtleTogc3RyaW5nIHwgbnVtYmVyOyBkYXRhOiBQYXJ0aWFsPFQ+IH0pIHtcbiAgICAvLyBjb25zb2xlLmxvZyhldmVudCk7XG4gICAgdGhpcy5pbXBvcnRlZERhdGEudXBkYXRlKChkYXQpID0+IHtcbiAgICAgIC8vIGRhdFtldmVudC5pbmRleF0gPSB7IC4uLmRhdFtldmVudC5pbmRleF0sIC4uLmV2ZW50LmRhdGEgfTtcbiAgICAgIHJldHVybiBkYXQubWFwKChkLCBpKSA9PiB7XG4gICAgICAgIGlmIChpID09PSBldmVudC5pbmRleCkge1xuICAgICAgICAgIHJldHVybiB7IC4uLmQsIC4uLmV2ZW50LmRhdGEgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZDtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuaW1wb3J0ZWREYXRhKCkpO1xuICB9XG5cbiAgaXNEdXBsaWNhdGUoZGF0dW06IFBhcnRpYWw8VD4sIGFycmF5OiBQYXJ0aWFsPFQ+W10sIGlkZW50aWZpZXJzOiBzdHJpbmdbXSkge1xuICAgIHJldHVybiAoXG4gICAgICBhcnJheS5maWx0ZXIoXG4gICAgICAgIChkYXQpID0+XG4gICAgICAgICAgaWRlbnRpZmllcnMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgIGlkZW50aWZpZXJzLmV2ZXJ5KFxuICAgICAgICAgICAgKGlkZW50aWZpZXIpID0+XG4gICAgICAgICAgICAgIGRhdHVtW2lkZW50aWZpZXIgYXMga2V5b2YgVF0gJiZcbiAgICAgICAgICAgICAgZGF0dW1baWRlbnRpZmllciBhcyBrZXlvZiBUXSA9PT0gZGF0W2lkZW50aWZpZXIgYXMga2V5b2YgVF1cbiAgICAgICAgICApXG4gICAgICApLmxlbmd0aCA+IDFcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1pbXBvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1uZy11aS9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS1pbXBvcnQvZGF0YS1pbXBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUk5QyxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQVksR0FBd0IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRS9DLGdCQUFlLENBQUM7SUFFaEIsb0VBQW9FO0lBQ3BFLG1CQUFtQixDQUNqQixZQUFtQyxFQUNuQyxpQkFBd0M7UUFFeEMsNENBQTRDO1FBQzVDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7UUFFeEQsOEVBQThFO1FBQzlFLGlCQUFpQjthQUNkLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQzthQUM5QixPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNmLE1BQU0sTUFBTSxHQUNWLE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxRQUFRO2dCQUM1QixDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU07Z0JBQ1osQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsU0FBb0IsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO1FBRUwsMENBQTBDO1FBQzFDLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdB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QyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUMvQiw2REFBNkQ7WUFDN0QsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN0QixJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3RCLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDakMsQ0FBQztnQkFDRCxPQUFPLENBQUMsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxvQ0FBb0M7SUFDdEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFpQixFQUFFLEtBQW1CLEVBQUUsV0FBcUI7UUFDdkUsT0FBTyxDQUNMLEtBQUssQ0FBQyxNQUFNLENBQ1YsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNOLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUN0QixXQUFXLENBQUMsS0FBSyxDQUNmLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDYixLQUFLLENBQUMsVUFBcUIsQ0FBQztnQkFDNUIsS0FBSyxDQUFDLFVBQXFCLENBQUMsS0FBSyxHQUFHLENBQUMsVUFBcUIsQ0FBQyxDQUM5RCxDQUNKLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDYixDQUFDO0lBQ0osQ0FBQzt3R0F6SFUsaUJBQWlCOzRHQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyByZWFkLCB1dGlscywgd3JpdGVGaWxlIH0gZnJvbSAneGxzeCc7XG5pbXBvcnQgeyBDb2x1bW5EZWZpbml0aW9uIH0gZnJvbSAnLi4vZGF0YS10YWJsZS9kYXRhLXRhYmxlLnR5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERhdGFJbXBvcnRTZXJ2aWNlPFQ+IHtcbiAgaW1wb3J0ZWREYXRhOiBXcml0YWJsZVNpZ25hbDxUW10+ID0gc2lnbmFsKFtdKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgLy8gRnVuY3Rpb24gdG8gdHJhbnNmb3JtIGltcG9ydGVkIGRhdGEgdG8gbWF0Y2ggeW91ciBtb2RlbCBzdHJ1Y3R1cmVcbiAgdHJhbnNmb3JtSW1wb3J0RGF0YTxUPihcbiAgICBpbXBvcnRlZERhdGE6IFJlY29yZDxzdHJpbmcsIGFueT5bXSxcbiAgICBjb2x1bW5EZWZpbml0aW9uczogQ29sdW1uRGVmaW5pdGlvbjxUPltdXG4gICk6IFBhcnRpYWw8VD5bXSB7XG4gICAgLy8gQ3JlYXRlIGEgbWFwcGluZyBmcm9tIGhlYWRlciB0byBpbXBvcnRLZXlcbiAgICBjb25zdCBoZWFkZXJUb0ltcG9ydEtleU1hcCA9IG5ldyBNYXA8c3RyaW5nLCBrZXlvZiBUPigpO1xuXG4gICAgLy8gRmlsdGVyIGNvbHVtbiBkZWZpbml0aW9ucyB0byBvbmx5IHRob3NlIHdpdGggaW1wb3J0S2V5IGFuZCBwb3B1bGF0ZSB0aGUgbWFwXG4gICAgY29sdW1uRGVmaW5pdGlvbnNcbiAgICAgIC5maWx0ZXIoKGNvbCkgPT4gY29sLmltcG9ydEtleSlcbiAgICAgIC5mb3JFYWNoKChjb2wpID0+IHtcbiAgICAgICAgY29uc3QgaGVhZGVyID1cbiAgICAgICAgICB0eXBlb2YgY29sLmhlYWRlciA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgID8gY29sLmhlYWRlclxuICAgICAgICAgICAgOiBjb2wuaGVhZGVyKHt9KS50b1N0cmluZygpO1xuICAgICAgICBoZWFkZXJUb0ltcG9ydEtleU1hcC5zZXQoaGVhZGVyLCBjb2wuaW1wb3J0S2V5IGFzIGtleW9mIFQpO1xuICAgICAgfSk7XG5cbiAgICAvLyBUcmFuc2Zvcm0gZWFjaCByb3cgaW4gdGhlIGltcG9ydGVkIGRhdGFcbiAgICByZXR1cm4gaW1wb3J0ZWREYXRhLm1hcCgocm93KSA9PiB7XG4gICAgICBjb25zdCB0cmFuc2Zvcm1lZFJvdzogUGFydGlhbDxUPiA9IHt9O1xuXG4gICAgICAvLyBQcm9jZXNzIGVhY2gga2V5IGluIHRoZSByb3dcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJvdykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIC8vIEZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgaW1wb3J0IGtleSBmb3IgdGhpcyBoZWFkZXIva2V5XG4gICAgICAgIGNvbnN0IGltcG9ydEtleSA9IGhlYWRlclRvSW1wb3J0S2V5TWFwLmdldChrZXkpO1xuXG4gICAgICAgIC8vIE9ubHkgYWRkIHRoZSBmaWVsZCBpZiB0aGVyZSdzIGEgbWF0Y2hpbmcgaW1wb3J0IGtleVxuICAgICAgICBpZiAoaW1wb3J0S2V5KSB7XG4gICAgICAgICAgdHJhbnNmb3JtZWRSb3dbaW1wb3J0S2V5XSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkUm93O1xuICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlSW1wb3J0KFxuICAgIGZpbGU6IEZpbGUsXG4gICAgLy8gcHJldmlld2VyPzogKGRhdGE6IGFueVtdKSA9PiB2b2lkLFxuICAgIGNvbHVtbkRlZmluaXRpb25zOiBDb2x1bW5EZWZpbml0aW9uPFQ+W10sXG4gICAgcGFyc2VJbXBvcnQ/OiAoZGF0YTogYW55KSA9PiBQYXJ0aWFsPFQ+W11cbiAgKSB7XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZWFkZXIub25sb2FkID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgIC8vIGNvbnN0IHdiID0gcmVhZChldmVudC50YXJnZXQucmVzdWx0LCB7XG4gICAgICAvLyAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgLy8gICByYXc6IHRydWUsXG4gICAgICAvLyAgIGNlbGxUZXh0OiB0cnVlLFxuICAgICAgLy8gICBjZWxsRm9ybXVsYTogZmFsc2UsXG4gICAgICAvLyAgIGNlbGxORjogZmFsc2UsXG4gICAgICAvLyB9KTtcbiAgICAgIC8vIGNvbnNvbGUudGltZSgnQmVnaW4nKTtcbiAgICAgIGxldCBpbXBvcnRlZDogYW55W10gPSBbXTtcbiAgICAgIGNvbnN0IHdiID0gcmVhZChldmVudC50YXJnZXQucmVzdWx0LCB7IHJhdzogdHJ1ZSB9KTtcbiAgICAgIGNvbnN0IHNoZWV0cyA9IHdiLlNoZWV0TmFtZXM7XG4gICAgICBpZiAoc2hlZXRzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCByb3dzID0gdXRpbHMuc2hlZXRfdG9fanNvbih3Yi5TaGVldHNbc2hlZXRzWzBdXSwge1xuICAgICAgICAgIHJhdzogZmFsc2UsXG4gICAgICAgICAgLy8gZGVmdmFsOiAnJyxcbiAgICAgICAgICAvLyByYXdOdW1iZXJzOiB0cnVlLFxuICAgICAgICAgIC8vIGRhdGVORjogJ2RkL21tL3l5eXknLFxuICAgICAgICB9KSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+W107XG5cbiAgICAgICAgaW1wb3J0ZWQgPSB0aGlzLnRyYW5zZm9ybUltcG9ydERhdGEocm93cywgY29sdW1uRGVmaW5pdGlvbnMpIGFzIFRbXTtcbiAgICAgICAgaWYgKHBhcnNlSW1wb3J0KSB7XG4gICAgICAgICAgaW1wb3J0ZWQgPSBwYXJzZUltcG9ydChyb3dzKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBwcmV2aWV3ZXIoaW1wb3J0ZWQpO1xuICAgICAgfVxuICAgICAgLy8gY29uc29sZS5sb2coJ0ltcG9ydGVkIGRhdGE6JywgSlNPTi5zdHJpbmdpZnkoaW1wb3J0ZWQsIG51bGwsIDIpKTtcbiAgICAgIC8vIGNvbnNvbGUudGltZSgnU3RhcnQgUHJvY2VzcycpO1xuICAgICAgdGhpcy5pbXBvcnRlZERhdGEuc2V0KGltcG9ydGVkKTtcbiAgICAgIC8vIGNvbnNvbGUudGltZUVuZCgnQmVnaW4nKTtcbiAgICAgIHJldHVybiBpbXBvcnRlZDtcbiAgICB9O1xuICAgIHJldHVybiByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoZmlsZSk7XG4gIH1cblxuICBoYW5kbGVUZW1wbGF0ZUV4cG9ydChmaWVsZHM6IHN0cmluZ1tdLCB0aXRsZTogc3RyaW5nKSB7XG4gICAgY29uc29sZS5sb2coZmllbGRzKTtcbiAgICBjb25zdCB3YiA9IHV0aWxzLmJvb2tfbmV3KCk7XG4gICAgY29uc3Qgd3M6IGFueSA9IHV0aWxzLmpzb25fdG9fc2hlZXQoW10pO1xuICAgIHV0aWxzLnNoZWV0X2FkZF9hb2Eod3MsIFtmaWVsZHNdKTtcbiAgICAvLyB1dGlscy5zaGVldF9hZGRfanNvbih3cywgdGhpcy5fZGF0YSwgeyBvcmlnaW46ICdBMicsIHNraXBIZWFkZXI6IHRydWUgfSk7XG4gICAgdXRpbHMuYm9va19hcHBlbmRfc2hlZXQod2IsIHdzLCB0aXRsZSk7XG4gICAgd3JpdGVGaWxlKHdiLCB0aXRsZSArICctdGVtcGxhdGUuJyArICd4bHN4Jyk7XG4gIH1cblxuICBhZGRSb3coZXZlbnQ6IHsgaW5kZXg6IG51bWJlcjsga2V5OiBzdHJpbmcgfCBudW1iZXI7IGRhdGE6IFBhcnRpYWw8VD4gfSkge1xuICAgIC8vIGNvbnNvbGUubG9nKGV2ZW50KTtcbiAgICB0aGlzLmltcG9ydGVkRGF0YS51cGRhdGUoKGRhdCkgPT4ge1xuICAgICAgLy8gZGF0W2V2ZW50LmluZGV4XSA9IHsgLi4uZGF0W2V2ZW50LmluZGV4XSwgLi4uZXZlbnQuZGF0YSB9O1xuICAgICAgcmV0dXJuIGRhdC5tYXAoKGQsIGkpID0+IHtcbiAgICAgICAgaWYgKGkgPT09IGV2ZW50LmluZGV4KSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4uZCwgLi4uZXZlbnQuZGF0YSB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgLy8gY29uc29sZS5sb2codGhpcy5pbXBvcnRlZERhdGEoKSk7XG4gIH1cblxuICBpc0R1cGxpY2F0ZShkYXR1bTogUGFydGlhbDxUPiwgYXJyYXk6IFBhcnRpYWw8VD5bXSwgaWRlbnRpZmllcnM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGFycmF5LmZpbHRlcihcbiAgICAgICAgKGRhdCkgPT5cbiAgICAgICAgICBpZGVudGlmaWVycy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgaWRlbnRpZmllcnMuZXZlcnkoXG4gICAgICAgICAgICAoaWRlbnRpZmllcikgPT5cbiAgICAgICAgICAgICAgZGF0dW1baWRlbnRpZmllciBhcyBrZXlvZiBUXSAmJlxuICAgICAgICAgICAgICBkYXR1bVtpZGVudGlmaWVyIGFzIGtleW9mIFRdID09PSBkYXRbaWRlbnRpZmllciBhcyBrZXlvZiBUXVxuICAgICAgICAgIClcbiAgICAgICkubGVuZ3RoID4gMVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output, HostListener, ViewChild, } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/
|
|
4
|
-
import * as i2 from "@angular/
|
|
3
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
5
|
export class VerbenPopUpComponent {
|
|
6
6
|
elementRef;
|
|
7
7
|
renderer;
|
|
8
|
+
overlay;
|
|
8
9
|
dropdownOpen = false;
|
|
9
10
|
dropdownOpenChange = new EventEmitter();
|
|
10
11
|
dropdownWidth = '';
|
|
@@ -17,9 +18,38 @@ export class VerbenPopUpComponent {
|
|
|
17
18
|
cdkPosition = null;
|
|
18
19
|
close = new EventEmitter();
|
|
19
20
|
expansion;
|
|
20
|
-
|
|
21
|
+
scrollStrategy;
|
|
22
|
+
defaultPositions = [
|
|
23
|
+
{
|
|
24
|
+
originX: 'start',
|
|
25
|
+
originY: 'bottom',
|
|
26
|
+
overlayX: 'start',
|
|
27
|
+
overlayY: 'top',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
originX: 'end',
|
|
31
|
+
originY: 'bottom',
|
|
32
|
+
overlayX: 'end',
|
|
33
|
+
overlayY: 'top',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
originX: 'start',
|
|
37
|
+
originY: 'top',
|
|
38
|
+
overlayX: 'start',
|
|
39
|
+
overlayY: 'bottom',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
originX: 'end',
|
|
43
|
+
originY: 'top',
|
|
44
|
+
overlayX: 'end',
|
|
45
|
+
overlayY: 'bottom',
|
|
46
|
+
},
|
|
47
|
+
];
|
|
48
|
+
constructor(elementRef, renderer, overlay) {
|
|
21
49
|
this.elementRef = elementRef;
|
|
22
50
|
this.renderer = renderer;
|
|
51
|
+
this.overlay = overlay;
|
|
52
|
+
this.scrollStrategy = this.overlay.scrollStrategies.reposition();
|
|
23
53
|
}
|
|
24
54
|
toggleDropdown() {
|
|
25
55
|
this.dropdownOpen = !this.dropdownOpen;
|
|
@@ -146,13 +176,13 @@ export class VerbenPopUpComponent {
|
|
|
146
176
|
this.renderer.setStyle(dropdown, 'right', 'auto');
|
|
147
177
|
}
|
|
148
178
|
}
|
|
149
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VerbenPopUpComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
150
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: VerbenPopUpComponent, selector: "verben-pop-Up", inputs: { dropdownOpen: "dropdownOpen", dropdownWidth: "dropdownWidth", color: "color", customStyles: "customStyles", popUpClass: "popUpClass", border: "border", borderRadius: "borderRadius", enableMouseLeave: "enableMouseLeave", cdkPosition: "cdkPosition" }, outputs: { dropdownOpenChange: "dropdownOpenChange", close: "close" }, host: { listeners: { "document:click": "onClickOutside($event.target)" } }, viewQueries: [{ propertyName: "expansion", first: true, predicate: ["expansion"], descendants: true }], ngImport: i0, template: "<span class=\"relative dropdown-container\" [ngStyle]=\"dropdownStyles\">\n <span
|
|
179
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VerbenPopUpComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Component });
|
|
180
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: VerbenPopUpComponent, selector: "verben-pop-Up", inputs: { dropdownOpen: "dropdownOpen", dropdownWidth: "dropdownWidth", color: "color", customStyles: "customStyles", popUpClass: "popUpClass", border: "border", borderRadius: "borderRadius", enableMouseLeave: "enableMouseLeave", cdkPosition: "cdkPosition" }, outputs: { dropdownOpenChange: "dropdownOpenChange", close: "close" }, host: { listeners: { "document:click": "onClickOutside($event.target)" } }, viewQueries: [{ propertyName: "expansion", first: true, predicate: ["expansion"], descendants: true }], ngImport: i0, template: "<span class=\"relative dropdown-container\" [ngStyle]=\"dropdownStyles\">\n <span\n (click)=\"toggleDropdown()\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n class=\"dropdown-menu\"\n >\n <ng-content select=\"[dropdown-trigger]\"></ng-content>\n </span>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayLockPosition]=\"false\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayPositions]=\"\n cdkPosition ? cdkPosition : defaultPositions\n \"\n [cdkConnectedOverlayOpen]=\"dropdownOpen\"\n (detach)=\"dropdownOpen = false\"\n >\n <div\n #expansion\n (mouseleave)=\"onMouseOut()\"\n [attr.aria-hidden]=\"!dropdownOpen\"\n class=\"{{ popUpClass }}\"\n [ngStyle]=\"yourStyles\"\n >\n <ng-content select=\"[dropdown-content]\"></ng-content>\n </div>\n </ng-template>\n</span>\n", styles: [".boxShadow{box-shadow:4px 4px 4px #00000040}.dropdown-content{transition:transform .2s ease-in-out,opacity .2s ease-in-out;transform:scale(.95);opacity:0;width:max-content}.dropdown-content.open{transform:scale(1);opacity:1}\n"], dependencies: [{ kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }] });
|
|
151
181
|
}
|
|
152
182
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VerbenPopUpComponent, decorators: [{
|
|
153
183
|
type: Component,
|
|
154
|
-
args: [{ selector: 'verben-pop-Up', template: "<span class=\"relative dropdown-container\" [ngStyle]=\"dropdownStyles\">\n <span
|
|
155
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { dropdownOpen: [{
|
|
184
|
+
args: [{ selector: 'verben-pop-Up', template: "<span class=\"relative dropdown-container\" [ngStyle]=\"dropdownStyles\">\n <span\n (click)=\"toggleDropdown()\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n class=\"dropdown-menu\"\n >\n <ng-content select=\"[dropdown-trigger]\"></ng-content>\n </span>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayLockPosition]=\"false\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayPositions]=\"\n cdkPosition ? cdkPosition : defaultPositions\n \"\n [cdkConnectedOverlayOpen]=\"dropdownOpen\"\n (detach)=\"dropdownOpen = false\"\n >\n <div\n #expansion\n (mouseleave)=\"onMouseOut()\"\n [attr.aria-hidden]=\"!dropdownOpen\"\n class=\"{{ popUpClass }}\"\n [ngStyle]=\"yourStyles\"\n >\n <ng-content select=\"[dropdown-content]\"></ng-content>\n </div>\n </ng-template>\n</span>\n", styles: [".boxShadow{box-shadow:4px 4px 4px #00000040}.dropdown-content{transition:transform .2s ease-in-out,opacity .2s ease-in-out;transform:scale(.95);opacity:0;width:max-content}.dropdown-content.open{transform:scale(1);opacity:1}\n"] }]
|
|
185
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.Overlay }], propDecorators: { dropdownOpen: [{
|
|
156
186
|
type: Input
|
|
157
187
|
}], dropdownOpenChange: [{
|
|
158
188
|
type: Output
|
|
@@ -181,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
|
|
|
181
211
|
type: HostListener,
|
|
182
212
|
args: ['document:click', ['$event.target']]
|
|
183
213
|
}] } });
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wLXVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1uZy11aS9zcmMvbGliL2NvbXBvbmVudHMvcG9wLXVwL3BvcC11cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvcC11cC9wb3AtdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBSVosU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3ZCLE1BQU0sT0FBTyxvQkFBb0I7SUFnQlg7SUFBZ0M7SUFmM0MsWUFBWSxHQUFZLEtBQUssQ0FBQztJQUM3QixrQkFBa0IsR0FDMUIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUNyQixhQUFhLEdBQVcsRUFBRSxDQUFDO0lBQzNCLEtBQUssR0FBVyxPQUFPLENBQUM7SUFDeEIsWUFBWSxHQUE4QixFQUFFLENBQUM7SUFDN0MsVUFBVSxHQUFXLEVBQUUsQ0FBQztJQUN4QixNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQ3BCLFlBQVksR0FBVyxFQUFFLENBQUM7SUFDMUIsZ0JBQWdCLEdBQVksSUFBSSxDQUFDO0lBQ2pDLFdBQVcsR0FBaUIsSUFBSSxDQUFDO0lBQ2hDLEtBQUssR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUUxRCxTQUFTLENBQWM7SUFFdkIsWUFBb0IsVUFBc0IsRUFBVSxRQUFtQjtRQUFuRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUFHLENBQUM7SUFFM0UsY0FBYztRQUNaLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxrQkFB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LFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNO2dCQUVQLFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQXlDekMsY0FBYztzQkFEYixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEhvc3RMaXN0ZW5lcixcbiAgRWxlbWVudFJlZixcbiAgUmVuZGVyZXIyLFxuICBBZnRlclZpZXdDaGVja2VkLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZXJiZW4tcG9wLVVwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcC11cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BvcC11cC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFZlcmJlblBvcFVwQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gIEBJbnB1dCgpIGRyb3Bkb3duT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgZHJvcGRvd25PcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQElucHV0KCkgZHJvcGRvd25XaWR0aDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNvbG9yOiBzdHJpbmcgPSAnYmxhY2snO1xuICBASW5wdXQoKSBjdXN0b21TdHlsZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgQElucHV0KCkgcG9wVXBDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGJvcmRlcjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGJvcmRlclJhZGl1czogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGVuYWJsZU1vdXNlTGVhdmU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBjZGtQb3NpdGlvbjogYW55W10gfCBudWxsID0gbnVsbDtcbiAgQE91dHB1dCgpIGNsb3NlOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAVmlld0NoaWxkKCdleHBhbnNpb24nLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgZXhwYW5zaW9uITogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICB0b2dnbGVEcm9wZG93bigpIHtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9ICF0aGlzLmRyb3Bkb3duT3BlbjtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbkNoYW5nZS5lbWl0KHRoaXMuZHJvcGRvd25PcGVuKTtcblxuICAgIC8vIGlmICh0aGlzLmRyb3Bkb3duT3Blbikge1xuICAgIC8vICAgdGhpcy5zZXREcm9wZG93blBvc2l0aW9uKCk7XG4gICAgLy8gfVxuICB9XG5cbiAgb25Nb3VzZU91dCgpIHtcbiAgICBpZiAodGhpcy5lbmFibGVNb3VzZUxlYXZlKSB7XG4gICAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbkNoYW5nZS5lbWl0KHRoaXMuZHJvcGRvd25PcGVuKTtcbiAgICB9XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgZ2V0IGRyb3Bkb3duU3R5bGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICB3aWR0aDogdGhpcy5kcm9wZG93bldpZHRoLFxuICAgICAgYm9yZGVyOiB0aGlzLmJvcmRlcixcbiAgICAgIGJvcmRlclJhZGl1czogdGhpcy5ib3JkZXJSYWRpdXMsXG4gICAgfTtcbiAgfVxuXG4gIGdldCB5b3VyU3R5bGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmN1c3RvbVN0eWxlcyxcbiAgICB9O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcbiAgb25DbGlja091dHNpZGUodGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCk7XG4gICAgY29uc3QgaXNJbnNpZGVQYW5lID0gdGFyZ2V0RWxlbWVudC5jbG9zZXN0KCcuY2RrLW92ZXJsYXktcGFuZScpICE9PSBudWxsO1xuICAgIGlmIChcbiAgICAgICFjbGlja2VkSW5zaWRlICYmXG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbiAmJlxuICAgICAgdGhpcy5leHBhbnNpb24gJiZcbiAgICAgICF0aGlzLmV4cGFuc2lvbi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpICYmXG4gICAgICAhaXNJbnNpZGVQYW5lXG4gICAgKSB7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5kcm9wZG93bk9wZW5DaGFuZ2UuZW1pdCh0aGlzLmRyb3Bkb3duT3Blbik7XG4gICAgfVxuICB9XG5cbiAgLy8gcHJpdmF0ZSBzZXREcm9wZG93blBvc2l0aW9uKCk6IHZvaWQge1xuICAvLyAgIGNvbnN0IGRyb3Bkb3duID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLW1lbnUnKTtcbiAgLy8gICBjb25zdCBkcm9wZG93blJlY3QgPSBkcm9wZG93bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgLy8gICBjb25zdCBwYXJlbnRSZWN0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIC8vICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gIC8vICAgY29uc3Qgdmlld3BvcnRXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuXG4gIC8vICAgY29uc29sZS5sb2coJ0Ryb3Bkb3duIFJlY3Q6JywgZHJvcGRvd25SZWN0KTtcbiAgLy8gICBjb25zb2xlLmxvZygnUGFyZW50IFJlY3Q6JywgcGFyZW50UmVjdCk7XG4gIC8vICAgY29uc29sZS5sb2coJ1ZpZXdwb3J0OicsIHsgd2lkdGg6IHZpZXdwb3J0V2lkdGgsIGhlaWdodDogdmlld3BvcnRIZWlnaHQgfSk7XG5cbiAgLy8gICAvLyBDaGVjayB2ZXJ0aWNhbCBzcGFjZVxuICAvLyAgIGlmICh2aWV3cG9ydEhlaWdodCAtIHBhcmVudFJlY3QuYm90dG9tIDwgZHJvcGRvd25SZWN0LmhlaWdodCkge1xuICAvLyAgICAgLy8gUG9zaXRpb24gYWJvdmVcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICd0b3AnLCAnYXV0bycpO1xuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2JvdHRvbScsIGAke3BhcmVudFJlY3QuaGVpZ2h0fXB4YCk7XG4gIC8vICAgfSBlbHNlIHtcbiAgLy8gICAgIC8vIFBvc2l0aW9uIGJlbG93XG4gIC8vICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAndG9wJywgYCR7cGFyZW50UmVjdC5oZWlnaHR9cHhgKTtcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdib3R0b20nLCAnYXV0bycpO1xuICAvLyAgIH1cblxuICAvLyAgIC8vIENoZWNrIGhvcml6b250YWwgc3BhY2VcbiAgLy8gICBpZiAocGFyZW50UmVjdC5sZWZ0ICsgZHJvcGRvd25SZWN0LndpZHRoID4gdmlld3BvcnRXaWR0aCkge1xuICAvLyAgICAgLy8gUG9zaXRpb24gdG8gdGhlIGxlZnRcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdsZWZ0JywgJ2F1dG8nKTtcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdyaWdodCcsICcwJyk7XG4gIC8vICAgfSBlbHNlIGlmIChwYXJlbnRSZWN0LnJpZ2h0IC0gZHJvcGRvd25SZWN0LndpZHRoIDwgMCkge1xuICAvLyAgICAgLy8gUG9zaXRpb24gdG8gdGhlIHJpZ2h0XG4gIC8vICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnbGVmdCcsICcwJyk7XG4gIC8vICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAncmlnaHQnLCAnYXV0bycpO1xuICAvLyAgIH0gZWxzZSB7XG4gIC8vICAgICAvLyBEZWZhdWx0IGFsaWdubWVudFxuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2xlZnQnLCAnMCcpO1xuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ3JpZ2h0JywgJ2F1dG8nKTtcbiAgLy8gICB9XG4gIC8vIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgLy8gaWYgKHRoaXMuZHJvcGRvd25PcGVuKSB7XG4gICAgLy8gICB0aGlzLnNldERyb3Bkb3duUG9zaXRpb24oKTtcbiAgICAvLyB9XG4gIH1cblxuICBwcml2YXRlIHNldERyb3Bkb3duUG9zaXRpb24oKTogdm9pZCB7XG4gICAgY29uc3QgZHJvcGRvd24gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgJy5kcm9wZG93bi1jb250YWluZXIgPiBkaXYnXG4gICAgKTtcbiAgICAvLyBjb25zdCB0cmlnZ2VyRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Ryb3Bkb3duLW1lbnUnKVxuXG4gICAgaWYgKCFkcm9wZG93bikge1xuICAgICAgY29uc29sZS53YXJuKCdEcm9wZG93biBlbGVtZW50IG5vdCBmb3VuZC4nKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkcm9wZG93blJlY3QgPSBkcm9wZG93bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBwYXJlbnRSZWN0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgY29uc3Qgdmlld3BvcnRXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuXG4gICAgY29uc29sZS5sb2coJ0Ryb3Bkb3duIFJlY3Q6JywgZHJvcGRvd25SZWN0KTtcbiAgICBjb25zb2xlLmxvZygnUGFyZW50IFJlY3Q6JywgcGFyZW50UmVjdCk7XG4gICAgY29uc29sZS5sb2coJ1ZpZXdwb3J0OicsIHsgd2lkdGg6IHZpZXdwb3J0V2lkdGgsIGhlaWdodDogdmlld3BvcnRIZWlnaHQgfSk7XG5cbiAgICAvLyBWZXJ0aWNhbCBQb3NpdGlvbmluZ1xuICAgIGlmICh2aWV3cG9ydEhlaWdodCAtIHBhcmVudFJlY3QuYm90dG9tIDwgZHJvcGRvd25SZWN0LmhlaWdodCkge1xuICAgICAgLy8gTm90IGVub3VnaCBzcGFjZSBiZWxvdywgcG9zaXRpb24gYWJvdmVcbiAgICAgIGNvbnNvbGUubG9nKCdub3QgZW5vdWdoIHNwYWNlIGJlbG93Jyk7XG4gICAgICBjb25zdCB0b3BQb3NpdGlvbiA9IHBhcmVudFJlY3QudG9wIC0gZHJvcGRvd25SZWN0LmhlaWdodDtcbiAgICAgIGNvbnNvbGUubG9nKCd0b3AgcG9zOicsIHRvcFBvc2l0aW9uKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICd0b3AnLCBgYXV0b2ApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2JvdHRvbScsICcxNXB4Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEVub3VnaCBzcGFjZSBiZWxvdywgcG9zaXRpb24gYmVsb3dcbiAgICAgIGNvbnNvbGUubG9nKCdFbm91Z2ggc3BhY2UgYmVsb3cnKTtcbiAgICAgIGNvbnN0IHRvcFBvc2l0aW9uID0gcGFyZW50UmVjdC5ib3R0b207XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAndG9wJywgYDIwcHhgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdib3R0b20nLCAnYXV0bycpO1xuICAgIH1cblxuICAgIC8vIEhvcml6b250YWwgUG9zaXRpb25pbmdcbiAgICBpZiAocGFyZW50UmVjdC5sZWZ0ICsgZHJvcGRvd25SZWN0LndpZHRoID4gdmlld3BvcnRXaWR0aCkge1xuICAgICAgY29uc29sZS5sb2coJ25vdCBFbm91Z2ggc3BhY2UgcmlnaHQnKTtcbiAgICAgIGNvbnN0IGxlZnRQb3NpdGlvbiA9IHZpZXdwb3J0V2lkdGggLSBkcm9wZG93blJlY3Qud2lkdGggLSAxMDtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdsZWZ0JywgYGF1dG9gKTtcbiAgICAgIC8vIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdsZWZ0JywgYCR7TWF0aC5tYXgobGVmdFBvc2l0aW9uLCAwKX1weGApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ3JpZ2h0JywgJzEwcHgnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coJ0Vub3VnaCBzcGFjZSByaWdodCcpO1xuICAgICAgY29uc3QgbGVmdFBvc2l0aW9uID0gcGFyZW50UmVjdC5sZWZ0O1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2xlZnQnLCBgJHsxMH1weGApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ3JpZ2h0JywgJ2F1dG8nKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwicmVsYXRpdmUgZHJvcGRvd24tY29udGFpbmVyXCIgW25nU3R5bGVdPVwiZHJvcGRvd25TdHlsZXNcIj5cbiAgPHNwYW4gKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKClcIiBjZGtPdmVybGF5T3JpZ2luICN0cmlnZ2VyPVwiY2RrT3ZlcmxheU9yaWdpblwiIGNsYXNzPVwiZHJvcGRvd24tbWVudVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltkcm9wZG93bi10cmlnZ2VyXVwiPjwvbmctY29udGVudD5cbiAgPC9zcGFuPlxuXG4gIDxuZy10ZW1wbGF0ZSBjZGtDb25uZWN0ZWRPdmVybGF5IFtjZGtDb25uZWN0ZWRPdmVybGF5TG9ja1Bvc2l0aW9uXT1cImZhbHNlXCIgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlclwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnNdPVwiY2RrUG9zaXRpb24/IGNka1Bvc2l0aW9uOltcbiAge1xuICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgb3ZlcmxheVk6ICd0b3AnXG4gIH0sXG4gIHtcbiAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgb3ZlcmxheVk6ICd0b3AnXG4gIH0sXG4gIHtcbiAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgIG9yaWdpblk6ICd0b3AnLFxuICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICB9LFxuICB7XG4gICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICB9XG5dXCIgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cImRyb3Bkb3duT3BlblwiIChkZXRhY2gpPVwiZHJvcGRvd25PcGVuID0gZmFsc2VcIj5cbiAgICA8ZGl2ICNleHBhbnNpb24gKG1vdXNlbGVhdmUpPVwib25Nb3VzZU91dCgpXCIgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIWRyb3Bkb3duT3BlblwiIGNsYXNzPVwie3twb3BVcENsYXNzfX1cIlxuICAgICAgW25nU3R5bGVdPVwieW91clN0eWxlc1wiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Ryb3Bkb3duLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9zcGFuPlxuIl19
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wLXVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1uZy11aS9zcmMvbGliL2NvbXBvbmVudHMvcG9wLXVwL3BvcC11cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvcC11cC9wb3AtdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBSVosU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3ZCLE1BQU0sT0FBTyxvQkFBb0I7SUE0Q3JCO0lBQ0E7SUFDQTtJQTdDRCxZQUFZLEdBQVksS0FBSyxDQUFDO0lBQzdCLGtCQUFrQixHQUMxQixJQUFJLFlBQVksRUFBVyxDQUFDO0lBQ3JCLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFDM0IsS0FBSyxHQUFXLE9BQU8sQ0FBQztJQUN4QixZQUFZLEdBQThCLEVBQUUsQ0FBQztJQUM3QyxVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLE1BQU0sR0FBVyxFQUFFLENBQUM7SUFDcEIsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUMxQixnQkFBZ0IsR0FBWSxJQUFJLENBQUM7SUFDakMsV0FBVyxHQUFpQixJQUFJLENBQUM7SUFDaEMsS0FBSyxHQUF3QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTFELFNBQVMsQ0FBYztJQUN2QixjQUFjLENBQWlCO0lBQy9CLGdCQUFnQixHQUFHO1FBQ2pCO1lBQ0UsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLFFBQVE7WUFDakIsUUFBUSxFQUFFLE9BQU87WUFDakIsUUFBUSxFQUFFLEtBQUs7U0FDaEI7UUFDRDtZQUNFLE9BQU8sRUFBRSxLQUFLO1lBQ2QsT0FBTyxF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Q0FBQztRQUNwRCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNsQyxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7d0dBbk1VLG9CQUFvQjs0RkFBcEIsb0JBQW9CLG9qQkNsQmpDLCszQkErQkE7OzRGRGJhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxlQUFlOzZIQUtoQixZQUFZO3NCQUFwQixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFFRSxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNO2dCQUVQLFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQTBFekMsY0FBYztzQkFEYixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgSG9zdExpc3RlbmVyLFxuICBFbGVtZW50UmVmLFxuICBSZW5kZXJlcjIsXG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlcmJlbi1wb3AtVXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wLXVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9wLXVwLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVmVyYmVuUG9wVXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcbiAgQElucHV0KCkgZHJvcGRvd25PcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBkcm9wZG93bk9wZW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBASW5wdXQoKSBkcm9wZG93bldpZHRoOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY29sb3I6IHN0cmluZyA9ICdibGFjayc7XG4gIEBJbnB1dCgpIGN1c3RvbVN0eWxlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICBASW5wdXQoKSBwb3BVcENsYXNzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYm9yZGVyOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYm9yZGVyUmFkaXVzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgZW5hYmxlTW91c2VMZWF2ZTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGNka1Bvc2l0aW9uOiBhbnlbXSB8IG51bGwgPSBudWxsO1xuICBAT3V0cHV0KCkgY2xvc2U6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoJ2V4cGFuc2lvbicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBleHBhbnNpb24hOiBFbGVtZW50UmVmO1xuICBzY3JvbGxTdHJhdGVneTogU2Nyb2xsU3RyYXRlZ3k7XG4gIGRlZmF1bHRQb3NpdGlvbnMgPSBbXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgfSxcbiAgICB7XG4gICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXlcbiAgKSB7XG4gICAgdGhpcy5zY3JvbGxTdHJhdGVneSA9IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKTtcbiAgfVxuXG4gIHRvZ2dsZURyb3Bkb3duKCkge1xuICAgIHRoaXMuZHJvcGRvd25PcGVuID0gIXRoaXMuZHJvcGRvd25PcGVuO1xuICAgIHRoaXMuZHJvcGRvd25PcGVuQ2hhbmdlLmVtaXQodGhpcy5kcm9wZG93bk9wZW4pO1xuXG4gICAgLy8gaWYgKHRoaXMuZHJvcGRvd25PcGVuKSB7XG4gICAgLy8gICB0aGlzLnNldERyb3Bkb3duUG9zaXRpb24oKTtcbiAgICAvLyB9XG4gIH1cblxuICBvbk1vdXNlT3V0KCkge1xuICAgIGlmICh0aGlzLmVuYWJsZU1vdXNlTGVhdmUpIHtcbiAgICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICAgICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuQ2hhbmdlLmVtaXQodGhpcy5kcm9wZG93bk9wZW4pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gIH1cblxuICBnZXQgZHJvcGRvd25TdHlsZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiB0aGlzLmRyb3Bkb3duV2lkdGgsXG4gICAgICBib3JkZXI6IHRoaXMuYm9yZGVyLFxuICAgICAgYm9yZGVyUmFkaXVzOiB0aGlzLmJvcmRlclJhZGl1cyxcbiAgICB9O1xuICB9XG5cbiAgZ2V0IHlvdXJTdHlsZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuY3VzdG9tU3R5bGVzLFxuICAgIH07XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBvbkNsaWNrT3V0c2lkZSh0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KTtcbiAgICBjb25zdCBpc0luc2lkZVBhbmUgPSB0YXJnZXRFbGVtZW50LmNsb3Nlc3QoJy5jZGstb3ZlcmxheS1wYW5lJykgIT09IG51bGw7XG4gICAgaWYgKFxuICAgICAgIWNsaWNrZWRJbnNpZGUgJiZcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuICYmXG4gICAgICB0aGlzLmV4cGFuc2lvbiAmJlxuICAgICAgIXRoaXMuZXhwYW5zaW9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCkgJiZcbiAgICAgICFpc0luc2lkZVBhbmVcbiAgICApIHtcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbkNoYW5nZS5lbWl0KHRoaXMuZHJvcGRvd25PcGVuKTtcbiAgICB9XG4gIH1cblxuICAvLyBwcml2YXRlIHNldERyb3Bkb3duUG9zaXRpb24oKTogdm9pZCB7XG4gIC8vICAgY29uc3QgZHJvcGRvd24gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZHJvcGRvd24tbWVudScpO1xuICAvLyAgIGNvbnN0IGRyb3Bkb3duUmVjdCA9IGRyb3Bkb3duLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAvLyAgIGNvbnN0IHBhcmVudFJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgLy8gICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgLy8gICBjb25zdCB2aWV3cG9ydFdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG5cbiAgLy8gICBjb25zb2xlLmxvZygnRHJvcGRvd24gUmVjdDonLCBkcm9wZG93blJlY3QpO1xuICAvLyAgIGNvbnNvbGUubG9nKCdQYXJlbnQgUmVjdDonLCBwYXJlbnRSZWN0KTtcbiAgLy8gICBjb25zb2xlLmxvZygnVmlld3BvcnQ6JywgeyB3aWR0aDogdmlld3BvcnRXaWR0aCwgaGVpZ2h0OiB2aWV3cG9ydEhlaWdodCB9KTtcblxuICAvLyAgIC8vIENoZWNrIHZlcnRpY2FsIHNwYWNlXG4gIC8vICAgaWYgKHZpZXdwb3J0SGVpZ2h0IC0gcGFyZW50UmVjdC5ib3R0b20gPCBkcm9wZG93blJlY3QuaGVpZ2h0KSB7XG4gIC8vICAgICAvLyBQb3NpdGlvbiBhYm92ZVxuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ3RvcCcsICdhdXRvJyk7XG4gIC8vICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnYm90dG9tJywgYCR7cGFyZW50UmVjdC5oZWlnaHR9cHhgKTtcbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgLy8gUG9zaXRpb24gYmVsb3dcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICd0b3AnLCBgJHtwYXJlbnRSZWN0LmhlaWdodH1weGApO1xuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2JvdHRvbScsICdhdXRvJyk7XG4gIC8vICAgfVxuXG4gIC8vICAgLy8gQ2hlY2sgaG9yaXpvbnRhbCBzcGFjZVxuICAvLyAgIGlmIChwYXJlbnRSZWN0LmxlZnQgKyBkcm9wZG93blJlY3Qud2lkdGggPiB2aWV3cG9ydFdpZHRoKSB7XG4gIC8vICAgICAvLyBQb3NpdGlvbiB0byB0aGUgbGVmdFxuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2xlZnQnLCAnYXV0bycpO1xuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ3JpZ2h0JywgJzAnKTtcbiAgLy8gICB9IGVsc2UgaWYgKHBhcmVudFJlY3QucmlnaHQgLSBkcm9wZG93blJlY3Qud2lkdGggPCAwKSB7XG4gIC8vICAgICAvLyBQb3NpdGlvbiB0byB0aGUgcmlnaHRcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdsZWZ0JywgJzAnKTtcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdyaWdodCcsICdhdXRvJyk7XG4gIC8vICAgfSBlbHNlIHtcbiAgLy8gICAgIC8vIERlZmF1bHQgYWxpZ25tZW50XG4gIC8vICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnbGVmdCcsICcwJyk7XG4gIC8vICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAncmlnaHQnLCAnYXV0bycpO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAvLyBpZiAodGhpcy5kcm9wZG93bk9wZW4pIHtcbiAgICAvLyAgIHRoaXMuc2V0RHJvcGRvd25Qb3NpdGlvbigpO1xuICAgIC8vIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RHJvcGRvd25Qb3NpdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBkcm9wZG93biA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnLmRyb3Bkb3duLWNvbnRhaW5lciA+IGRpdidcbiAgICApO1xuICAgIC8vIGNvbnN0IHRyaWdnZXJFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignZHJvcGRvd24tbWVudScpXG5cbiAgICBpZiAoIWRyb3Bkb3duKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0Ryb3Bkb3duIGVsZW1lbnQgbm90IGZvdW5kLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRyb3Bkb3duUmVjdCA9IGRyb3Bkb3duLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHBhcmVudFJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICBjb25zdCB2aWV3cG9ydFdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG5cbiAgICBjb25zb2xlLmxvZygnRHJvcGRvd24gUmVjdDonLCBkcm9wZG93blJlY3QpO1xuICAgIGNvbnNvbGUubG9nKCdQYXJlbnQgUmVjdDonLCBwYXJlbnRSZWN0KTtcbiAgICBjb25zb2xlLmxvZygnVmlld3BvcnQ6JywgeyB3aWR0aDogdmlld3BvcnRXaWR0aCwgaGVpZ2h0OiB2aWV3cG9ydEhlaWdodCB9KTtcblxuICAgIC8vIFZlcnRpY2FsIFBvc2l0aW9uaW5nXG4gICAgaWYgKHZpZXdwb3J0SGVpZ2h0IC0gcGFyZW50UmVjdC5ib3R0b20gPCBkcm9wZG93blJlY3QuaGVpZ2h0KSB7XG4gICAgICAvLyBOb3QgZW5vdWdoIHNwYWNlIGJlbG93LCBwb3NpdGlvbiBhYm92ZVxuICAgICAgY29uc29sZS5sb2coJ25vdCBlbm91Z2ggc3BhY2UgYmVsb3cnKTtcbiAgICAgIGNvbnN0IHRvcFBvc2l0aW9uID0gcGFyZW50UmVjdC50b3AgLSBkcm9wZG93blJlY3QuaGVpZ2h0O1xuICAgICAgY29uc29sZS5sb2coJ3RvcCBwb3M6JywgdG9wUG9zaXRpb24pO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ3RvcCcsIGBhdXRvYCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnYm90dG9tJywgJzE1cHgnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRW5vdWdoIHNwYWNlIGJlbG93LCBwb3NpdGlvbiBiZWxvd1xuICAgICAgY29uc29sZS5sb2coJ0Vub3VnaCBzcGFjZSBiZWxvdycpO1xuICAgICAgY29uc3QgdG9wUG9zaXRpb24gPSBwYXJlbnRSZWN0LmJvdHRvbTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICd0b3AnLCBgMjBweGApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2JvdHRvbScsICdhdXRvJyk7XG4gICAgfVxuXG4gICAgLy8gSG9yaXpvbnRhbCBQb3NpdGlvbmluZ1xuICAgIGlmIChwYXJlbnRSZWN0LmxlZnQgKyBkcm9wZG93blJlY3Qud2lkdGggPiB2aWV3cG9ydFdpZHRoKSB7XG4gICAgICBjb25zb2xlLmxvZygnbm90IEVub3VnaCBzcGFjZSByaWdodCcpO1xuICAgICAgY29uc3QgbGVmdFBvc2l0aW9uID0gdmlld3BvcnRXaWR0aCAtIGRyb3Bkb3duUmVjdC53aWR0aCAtIDEwO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2xlZnQnLCBgYXV0b2ApO1xuICAgICAgLy8gdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2xlZnQnLCBgJHtNYXRoLm1heChsZWZ0UG9zaXRpb24sIDApfXB4YCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAncmlnaHQnLCAnMTBweCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZygnRW5vdWdoIHNwYWNlIHJpZ2h0Jyk7XG4gICAgICBjb25zdCBsZWZ0UG9zaXRpb24gPSBwYXJlbnRSZWN0LmxlZnQ7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnbGVmdCcsIGAkezEwfXB4YCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAncmlnaHQnLCAnYXV0bycpO1xuICAgIH1cbiAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJyZWxhdGl2ZSBkcm9wZG93bi1jb250YWluZXJcIiBbbmdTdHlsZV09XCJkcm9wZG93blN0eWxlc1wiPlxuICA8c3BhblxuICAgIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bigpXCJcbiAgICBjZGtPdmVybGF5T3JpZ2luXG4gICAgI3RyaWdnZXI9XCJjZGtPdmVybGF5T3JpZ2luXCJcbiAgICBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIlxuICA+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Ryb3Bkb3duLXRyaWdnZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L3NwYW4+XG5cbiAgPG5nLXRlbXBsYXRlXG4gICAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5TG9ja1Bvc2l0aW9uXT1cImZhbHNlXCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJ0cmlnZ2VyXCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJcbiAgICAgIGNka1Bvc2l0aW9uID8gY2RrUG9zaXRpb24gOiBkZWZhdWx0UG9zaXRpb25zXG4gICAgXCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwiZHJvcGRvd25PcGVuXCJcbiAgICAoZGV0YWNoKT1cImRyb3Bkb3duT3BlbiA9IGZhbHNlXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgICNleHBhbnNpb25cbiAgICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VPdXQoKVwiXG4gICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhZHJvcGRvd25PcGVuXCJcbiAgICAgIGNsYXNzPVwie3sgcG9wVXBDbGFzcyB9fVwiXG4gICAgICBbbmdTdHlsZV09XCJ5b3VyU3R5bGVzXCJcbiAgICA+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZHJvcGRvd24tY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L3NwYW4+XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { DataFilterType } from '../../models/table-filter';
|
|
2
3
|
import { Config } from '../../config';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/common";
|
|
@@ -49,13 +50,14 @@ export class TableFilterComponent {
|
|
|
49
50
|
this.configInstance = new Config();
|
|
50
51
|
}
|
|
51
52
|
ngOnInit() {
|
|
52
|
-
this.filterArray = this.filterOptions.map(item => item.name);
|
|
53
|
+
this.filterArray = this.filterOptions.map((item) => item.name);
|
|
53
54
|
}
|
|
54
55
|
onFilterNameChange(selectedFilterValue) {
|
|
55
|
-
const selectedFilter = this.filterOptions.find(option => option.name === selectedFilterValue);
|
|
56
|
+
const selectedFilter = this.filterOptions.find((option) => option.name === selectedFilterValue);
|
|
56
57
|
if (selectedFilter) {
|
|
57
58
|
this.selectedFilterType = selectedFilter.type;
|
|
58
|
-
this.conditionOptions =
|
|
59
|
+
this.conditionOptions =
|
|
60
|
+
this.configInstance.getConditionOptions(this.selectedFilterType) || [];
|
|
59
61
|
this.selectedCondition = '';
|
|
60
62
|
}
|
|
61
63
|
}
|
|
@@ -70,54 +72,97 @@ export class TableFilterComponent {
|
|
|
70
72
|
this.disableApplyFilterBtn = true;
|
|
71
73
|
this.duplicateMessage = '';
|
|
72
74
|
localStorage.removeItem(this.storageKey);
|
|
73
|
-
this.filterCount = this.savedFilters.filter(item => item.checked === true).length;
|
|
75
|
+
this.filterCount = this.savedFilters.filter((item) => item.checked === true).length;
|
|
74
76
|
this.resetSortData.emit();
|
|
75
77
|
}
|
|
76
78
|
addFilter() {
|
|
77
|
-
if (!this.selectedFilterValue ||
|
|
79
|
+
if (!this.selectedFilterValue ||
|
|
80
|
+
!this.selectedCondition ||
|
|
81
|
+
!this.inputValue) {
|
|
78
82
|
return;
|
|
79
83
|
}
|
|
80
84
|
if (this.editIndex === null && this.isDuplicateFilter) {
|
|
81
85
|
return;
|
|
82
86
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
87
|
+
// 00:00 23:59
|
|
88
|
+
if (this.selectedFilterType == DataFilterType.Date &&
|
|
89
|
+
this.selectedCondition == 'On') {
|
|
90
|
+
const leftFilter = {
|
|
91
|
+
name: this.selectedFilterValue,
|
|
92
|
+
type: this.selectedFilterType,
|
|
93
|
+
condition: 'After',
|
|
94
|
+
value: this.inputValue.concat(' 00:00'),
|
|
95
|
+
checked: true,
|
|
96
|
+
};
|
|
97
|
+
const rightFilter = {
|
|
98
|
+
name: this.selectedFilterValue,
|
|
99
|
+
type: this.selectedFilterType,
|
|
100
|
+
condition: 'Before',
|
|
101
|
+
value: this.inputValue.concat(' 23:59'),
|
|
102
|
+
checked: true,
|
|
103
|
+
};
|
|
104
|
+
const filters = [leftFilter, rightFilter];
|
|
105
|
+
for (let newFilter of filters) {
|
|
106
|
+
if (this.editIndex !== null) {
|
|
107
|
+
const isDuplicate = this.savedFilters.some((filter, index) => filter.name === newFilter.name &&
|
|
108
|
+
filter.condition === newFilter.condition &&
|
|
109
|
+
index !== this.editIndex);
|
|
110
|
+
if (isDuplicate) {
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
this.savedFilters[this.editIndex] = newFilter;
|
|
114
|
+
this.editIndex = null;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
if (this.savedFilters.some((filter) => filter.name === newFilter.name &&
|
|
118
|
+
filter.condition === newFilter.condition)) {
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
this.savedFilters.push(newFilter);
|
|
122
|
+
this.filterCount = this.savedFilters.filter((item) => item.checked === true).length;
|
|
123
|
+
}
|
|
96
124
|
}
|
|
97
|
-
this.savedFilters[this.editIndex] = newFilter;
|
|
98
|
-
this.editIndex = null;
|
|
99
125
|
}
|
|
100
126
|
else {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
127
|
+
const newFilter = {
|
|
128
|
+
name: this.selectedFilterValue,
|
|
129
|
+
type: this.selectedFilterType,
|
|
130
|
+
condition: this.selectedCondition,
|
|
131
|
+
value: this.inputValue,
|
|
132
|
+
checked: true,
|
|
133
|
+
};
|
|
134
|
+
if (this.editIndex !== null) {
|
|
135
|
+
const isDuplicate = this.savedFilters.some((filter, index) => filter.name === newFilter.name &&
|
|
136
|
+
filter.condition === newFilter.condition &&
|
|
137
|
+
index !== this.editIndex);
|
|
138
|
+
if (isDuplicate) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
this.savedFilters[this.editIndex] = newFilter;
|
|
142
|
+
this.editIndex = null;
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
if (this.savedFilters.some((filter) => filter.name === newFilter.name &&
|
|
146
|
+
filter.condition === newFilter.condition)) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
this.savedFilters.push(newFilter);
|
|
150
|
+
this.filterCount = this.savedFilters.filter((item) => item.checked === true).length;
|
|
104
151
|
}
|
|
105
|
-
this.savedFilters.push(newFilter);
|
|
106
|
-
this.filterCount = this.savedFilters.filter(item => item.checked === true).length;
|
|
107
152
|
}
|
|
108
153
|
this.clearOperationSection();
|
|
109
154
|
this.checkFilterButton();
|
|
110
155
|
}
|
|
111
156
|
toggleCheckbox(index) {
|
|
112
157
|
this.savedFilters[index].checked = !this.savedFilters[index].checked;
|
|
113
|
-
this.checkAll = this.savedFilters.every(item => item.checked);
|
|
114
|
-
this.filterCount = this.savedFilters.filter(item => item.checked === true).length;
|
|
158
|
+
this.checkAll = this.savedFilters.every((item) => item.checked);
|
|
159
|
+
this.filterCount = this.savedFilters.filter((item) => item.checked === true).length;
|
|
115
160
|
}
|
|
116
161
|
deleteFilter(index) {
|
|
117
162
|
this.savedFilters.splice(index, 1);
|
|
118
163
|
this.checkDuplicateFilter();
|
|
119
164
|
this.checkFilterButton();
|
|
120
|
-
this.filterCount = this.savedFilters.filter(item => item.checked === true).length;
|
|
165
|
+
this.filterCount = this.savedFilters.filter((item) => item.checked === true).length;
|
|
121
166
|
if (this.savedFilters.length === 0) {
|
|
122
167
|
this.checkAll = false;
|
|
123
168
|
}
|
|
@@ -132,7 +177,7 @@ export class TableFilterComponent {
|
|
|
132
177
|
this.editIndex = index;
|
|
133
178
|
}
|
|
134
179
|
applyFilters() {
|
|
135
|
-
this.selectedFilters = this.savedFilters.filter(filter => filter.checked);
|
|
180
|
+
this.selectedFilters = this.savedFilters.filter((filter) => filter.checked);
|
|
136
181
|
this.filtersApplied.emit(this.selectedFilters);
|
|
137
182
|
this.filtersApplied.emit(this.storageKey);
|
|
138
183
|
}
|
|
@@ -154,8 +199,8 @@ export class TableFilterComponent {
|
|
|
154
199
|
}
|
|
155
200
|
toggleSelectAll() {
|
|
156
201
|
this.checkAll = !this.checkAll;
|
|
157
|
-
this.savedFilters.forEach(filter => filter.checked = this.checkAll);
|
|
158
|
-
this.filterCount = this.savedFilters.filter(item => item.checked === true).length;
|
|
202
|
+
this.savedFilters.forEach((filter) => (filter.checked = this.checkAll));
|
|
203
|
+
this.filterCount = this.savedFilters.filter((item) => item.checked === true).length;
|
|
159
204
|
}
|
|
160
205
|
checkDuplicateFilter() {
|
|
161
206
|
if (this.editIndex !== null) {
|
|
@@ -164,14 +209,18 @@ export class TableFilterComponent {
|
|
|
164
209
|
index !== this.editIndex);
|
|
165
210
|
this.disableAddFilterBtn = exists;
|
|
166
211
|
this.isDuplicateFilter = exists;
|
|
167
|
-
this.duplicateMessage = exists
|
|
212
|
+
this.duplicateMessage = exists
|
|
213
|
+
? 'This entry is a duplicate and cannot be added.'
|
|
214
|
+
: '';
|
|
168
215
|
}
|
|
169
216
|
else {
|
|
170
217
|
const exists = this.savedFilters.some((filter) => filter.name === this.selectedFilterValue &&
|
|
171
218
|
filter.condition === this.selectedCondition);
|
|
172
219
|
this.disableAddFilterBtn = exists;
|
|
173
220
|
this.isDuplicateFilter = exists;
|
|
174
|
-
this.duplicateMessage = exists
|
|
221
|
+
this.duplicateMessage = exists
|
|
222
|
+
? 'This entry is a duplicate and cannot be added.'
|
|
223
|
+
: '';
|
|
175
224
|
}
|
|
176
225
|
}
|
|
177
226
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: TableFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -217,4 +266,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
|
|
|
217
266
|
}], resetSortData: [{
|
|
218
267
|
type: Output
|
|
219
268
|
}] } });
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1uZy11aS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtZmlsdGVyL3RhYmxlLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlLWZpbHRlci90YWJsZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7QUFRdEMsTUFBTSxPQUFPLG9CQUFvQjtJQUN0QixhQUFhLEdBQWtCLEVBQUUsQ0FBQztJQUNsQyxFQUFFLENBQVU7SUFDWixFQUFFLENBQVU7SUFDWixNQUFNLENBQVU7SUFDaEIsS0FBSyxDQUFVO0lBQ2YsT0FBTyxDQUFVO0lBQ2pCLFNBQVMsQ0FBVTtJQUNuQixTQUFTLENBQVU7SUFDbkIsWUFBWSxDQUFVO0lBQ3RCLGNBQWMsQ0FBVTtJQUN4QixhQUFhLENBQVU7SUFDdkIsTUFBTSxDQUFVO0lBQ2hCLFlBQVksQ0FBVTtJQUN0QixXQUFXLENBQVU7SUFDckIsZUFBZSxHQUFVLENBQUMsQ0FBQTtJQUMxQixPQUFPLEdBQVcsS0FBSyxDQUFBO0lBQ3RCLGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3pDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xELFdBQVcsR0FBWSxFQUFFLENBQUM7SUFDMUIsbUJBQW1CLEdBQVcsRUFBRSxDQUFDO0lBQ2pDLGtCQUFrQixDQUFNO0lBQ3hCLGdCQUFnQixHQUFhLEVBQUUsQ0FBQztJ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QUksQ0FBQyxpQkFBaUIsQ0FDbEQsQ0FBQztZQUNGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUM7WUFDbEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztZQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNGLENBQUM7SUFDRixDQUFDO3dHQW5NUyxvQkFBb0I7NEZBQXBCLG9CQUFvQixvaEJDVmpDLGk3UEFxU0E7OzRGRDNSYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UscUJBQXFCO3dEQUt0QixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSURhdGFGaWx0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFibGUtZmlsdGVyJztcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLXRhYmxlLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1maWx0ZXIuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZmlsdGVyT3B0aW9uczogSURhdGFGaWx0ZXJbXSA9IFtdO1xuICBASW5wdXQoKSBwZD86IHN0cmluZztcbiAgQElucHV0KCkgbWc/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhlaWdodD86IHN0cmluZztcbiAgQElucHV0KCkgd2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJnQ29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJveFNoYWRvdz86IHN0cmluZztcbiAgQElucHV0KCkgdGV4dENvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBwcmltYXJ5Q29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlY29uZGFyeUNvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXJ0aWFyeUNvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBib3JkZXI/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJvcmRlclJhZGl1cz86IHN0cmluZztcbiAgQElucHV0KCkgc2VsZWN0V2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heEZpbHRlckxlbmd0aDpudW1iZXIgPSAzXG4gIEBJbnB1dCgpIHRvb2x0aXA6Ym9vbGVhbiA9IGZhbHNlXG4gIEBPdXRwdXQoKSBmaWx0ZXJzQXBwbGllZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcmVzZXRTb3J0RGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBmaWx0ZXJBcnJheTpzdHJpbmdbXSA9IFtdO1xuICBzZWxlY3RlZEZpbHRlclZhbHVlOiBzdHJpbmcgPSAnJztcbiAgc2VsZWN0ZWRGaWx0ZXJUeXBlPzphbnk7XG4gIGNvbmRpdGlvbk9wdGlvbnM6IHN0cmluZ1tdID0gW107XG4gIHNlbGVjdGVkQ29uZGl0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcbiAgaW5wdXRWYWx1ZT86IHN0cmluZyB8IG51bWJlclxuICBzYXZlZEZpbHRlcnM6IElEYXRhRmlsdGVyW10gPSBbXTtcbiAgc2VsZWN0ZWRGaWx0ZXJzOiBJRGF0YUZpbHRlcltdID0gW107XG4gIHNob3dBbGxGaWx0ZXJzOiBib29sZWFuID0gZmFsc2U7XG4gIGVkaXRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIGNoZWNrQWxsOiBib29sZWFuID0gZmFsc2U7XG4gIGlzRHVwbGljYXRlRmlsdGVyOiBib29sZWFuID0gZmFsc2U7XG4gIGRpc2FibGVBZGRGaWx0ZXJCdG46IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGlzYWJsZUFwcGx5RmlsdGVyQnRuOiBib29sZWFuID0gdHJ1ZTtcbiAgZHVwbGljYXRlTWVzc2FnZT86c3RyaW5nID0gJyc7XG4gIGNvbmZpZ0luc3RhbmNlOiBDb25maWc7XG4gIHN0b3JhZ2VLZXk6IHN0cmluZyA9ICdzYXZlZEZpbHRlcnMnO1xuICBmaWx0ZXJDb3VudDpudW1iZXIgPSAwXG5cbiAgY29uc3RydWN0b3IoKXsgXG4gICAgdGhpcy5jb25maWdJbnN0YW5jZSA9IG5ldyBDb25maWcoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyQXJyYXkgPSB0aGlzLmZpbHRlck9wdGlvbnMubWFwKGl0ZW0gPT4gaXRlbS5uYW1lKTsgIFxuICB9XG4gIFxuXG4gIG9uRmlsdGVyTmFtZUNoYW5nZShzZWxlY3RlZEZpbHRlclZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RlZEZpbHRlciA9IHRoaXMuZmlsdGVyT3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24ubmFtZSA9PT0gc2VsZWN0ZWRGaWx0ZXJWYWx1ZSk7XG4gIFxuICAgIGlmIChzZWxlY3RlZEZpbHRlcikge1xuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsdGVyVHlwZSA9IHNlbGVjdGVkRmlsdGVyLnR5cGU7XG4gICAgICAgIHRoaXMuY29uZGl0aW9uT3B0aW9ucyA9IHRoaXMuY29uZmlnSW5zdGFuY2UuZ2V0Q29uZGl0aW9uT3B0aW9ucyh0aGlzLnNlbGVjdGVkRmlsdGVyVHlwZSkgfHwgW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb25kaXRpb24gPSAnJzsgXG4gICAgfVxufVxuXG4gIHJlc2V0RmlsdGVycygpIHtcbiAgICB0aGlzLnNlbGVjdGVkRmlsdGVyVHlwZSA9IG51bGw7XG4gICAgdGhpcy5zZWxlY3RlZENvbmRpdGlvbiA9ICcnO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9ICcnO1xuICAgIHRoaXMuc2F2ZWRGaWx0ZXJzID0gW107XG4gICAgdGhpcy5lZGl0SW5kZXggPSBudWxsO1xuICAgIHRoaXMuY2hlY2tBbGwgPSBmYWxzZTtcbiAgICB0aGlzLmlzRHVwbGljYXRlRmlsdGVyID0gZmFsc2U7XG4gICAgdGhpcy5kaXNhYmxlQXBwbHlGaWx0ZXJCdG4gPSB0cnVlO1xuICAgIHRoaXMuZHVwbGljYXRlTWVzc2FnZSA9ICcnXG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5zdG9yYWdlS2V5KTtcbiAgICB0aGlzLmZpbHRlckNvdW50ID0gdGhpcy5zYXZlZEZpbHRlcnMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5jaGVja2VkID09PSB0cnVlKS5sZW5ndGg7XG4gICAgdGhpcy5yZXNldFNvcnREYXRhLmVtaXQoKVxuICB9XG5cbiAgYWRkRmlsdGVyKCkge1xuICAgIGlmICghdGhpcy5zZWxlY3RlZEZpbHRlclZhbHVlIHx8ICF0aGlzLnNlbGVjdGVkQ29uZGl0aW9uIHx8ICF0aGlzLmlucHV0VmFsdWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmVkaXRJbmRleCA9PT0gbnVsbCAmJiB0aGlzLmlzRHVwbGljYXRlRmlsdGVyKSB7XG4gICAgICAgIHJldHVybjsgXG4gICAgfVxuXG4gICAgY29uc3QgbmV3RmlsdGVyOiBJRGF0YUZpbHRlciA9IHtcbiAgICAgICAgbmFtZTogdGhpcy5zZWxlY3RlZEZpbHRlclZhbHVlLFxuICAgICAgICB0eXBlOiB0aGlzLnNlbGVjdGVkRmlsdGVyVHlwZSxcbiAgICAgICAgY29uZGl0aW9uOiB0aGlzLnNlbGVjdGVkQ29uZGl0aW9uLFxuICAgICAgICB2YWx1ZTogdGhpcy5pbnB1dFZhbHVlLFxuICAgICAgICBjaGVja2VkOiB0cnVlXG4gICAgfTtcblxuICAgIGlmICh0aGlzLmVkaXRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBpc0R1cGxpY2F0ZSA9IHRoaXMuc2F2ZWRGaWx0ZXJzLnNvbWUoXG4gICAgICAgICAgICAoZmlsdGVyLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICBmaWx0ZXIubmFtZSA9PT0gbmV3RmlsdGVyLm5hbWUgJiZcbiAgICAgICAgICAgICAgICBmaWx0ZXIuY29uZGl0aW9uID09PSBuZXdGaWx0ZXIuY29uZGl0aW9uICYmXG4gICAgICAgICAgICAgICAgaW5kZXggIT09IHRoaXMuZWRpdEluZGV4XG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGlzRHVwbGljYXRlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zYXZlZEZpbHRlcnNbdGhpcy5lZGl0SW5kZXhdID0gbmV3RmlsdGVyO1xuICAgICAgICB0aGlzLmVkaXRJbmRleCA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuc2F2ZWRGaWx0ZXJzLnNvbWUoZmlsdGVyID0+IFxuICAgICAgICAgICAgZmlsdGVyLm5hbWUgPT09IG5ld0ZpbHRlci5uYW1lICYmIFxuICAgICAgICAgICAgZmlsdGVyLmNvbmRpdGlvbiA9PT0gbmV3RmlsdGVyLmNvbmRpdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNhdmVkRmlsdGVycy5wdXNoKG5ld0ZpbHRlcik7XG4gICAgICAgIHRoaXMuZmlsdGVyQ291bnQgPSB0aGlzLnNhdmVkRmlsdGVycy5maWx0ZXIoaXRlbSA9PiBpdGVtLmNoZWNrZWQgPT09IHRydWUpLmxlbmd0aDtcbiAgICB9XG4gICAgdGhpcy5jbGVhck9wZXJhdGlvblNlY3Rpb24oKTtcbiAgICB0aGlzLmNoZWNrRmlsdGVyQnV0dG9uKCk7IFxuICB9XG5cbiAgdG9nZ2xlQ2hlY2tib3goaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuc2F2ZWRGaWx0ZXJzW2luZGV4XS5jaGVja2VkID0gIXRoaXMuc2F2ZWRGaWx0ZXJzW2luZGV4XS5jaGVja2VkO1xuICAgIHRoaXMuY2hlY2tBbGwgPSB0aGlzLnNhdmVkRmlsdGVycy5ldmVyeShpdGVtID0+IGl0ZW0uY2hlY2tlZCk7XG4gICAgdGhpcy5maWx0ZXJDb3VudCA9IHRoaXMuc2F2ZWRGaWx0ZXJzLmZpbHRlcihpdGVtID0+IGl0ZW0uY2hlY2tlZCA9PT0gdHJ1ZSkubGVuZ3RoO1xuICB9XG5cbiAgZGVsZXRlRmlsdGVyKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnNhdmVkRmlsdGVycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuY2hlY2tEdXBsaWNhdGVGaWx0ZXIoKTtcbiAgICB0aGlzLmNoZWNrRmlsdGVyQnV0dG9uKCk7XG4gICAgdGhpcy5maWx0ZXJDb3VudCA9IHRoaXMuc2F2ZWRGaWx0ZXJzLmZpbHRlcihpdGVtID0+IGl0ZW0uY2hlY2tlZCA9PT0gdHJ1ZSkubGVuZ3RoO1xuICAgIGlmICh0aGlzLnNhdmVkRmlsdGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuY2hlY2tBbGwgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBlZGl0RmlsdGVyKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLnNhdmVkRmlsdGVyc1tpbmRleF07XG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlclR5cGUgPSBmaWx0ZXIudHlwZTtcbiAgICB0aGlzLnNlbGVjdGVkRmlsdGVyVmFsdWUgPSBmaWx0ZXIubmFtZTtcbiAgICB0aGlzLm9uRmlsdGVyTmFtZUNoYW5nZSh0aGlzLnNlbGVjdGVkRmlsdGVyVmFsdWUpIFxuICAgIHRoaXMuc2VsZWN0ZWRDb25kaXRpb24gPSBmaWx0ZXIuY29uZGl0aW9uO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IGZpbHRlci52YWx1ZTtcbiAgICB0aGlzLmVkaXRJbmRleCA9IGluZGV4O1xuICB9XG5cbiAgYXBwbHlGaWx0ZXJzKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzID0gdGhpcy5zYXZlZEZpbHRlcnMuZmlsdGVyKGZpbHRlciA9PiBmaWx0ZXIuY2hlY2tlZCk7XG4gICAgdGhpcy5maWx0ZXJzQXBwbGllZC5lbWl0KHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKTtcbiAgICB0aGlzLmZpbHRlcnNBcHBsaWVkLmVtaXQodGhpcy5zdG9yYWdlS2V5KTtcbiAgfVxuXG4gIHRvZ2dsZVNob3dNb3JlKCkge1xuICAgIHRoaXMuc2hvd0FsbEZpbHRlcnMgPSAhdGhpcy5zaG93QWxsRmlsdGVycztcbiAgfVxuXG4gIGdldCB2aXNpYmxlRmlsdGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5zaG93QWxsRmlsdGVyc1xuICAgICAgPyB0aGlzLnNhdmVkRmlsdGVyc1xuICAgICAgOiB0aGlzLnNhdmVkRmlsdGVycy5zbGljZSgwLCB0aGlzLm1heEZpbHRlckxlbmd0aCk7XG4gIH1cblxuICBjbGVhck9wZXJhdGlvblNlY3Rpb24oKSB7XG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlclZhbHVlID0gJyc7XG4gICAgdGhpcy5zZWxlY3RlZENvbmRpdGlvbiA9ICcnO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9ICcnO1xuICB9XG5cbiAgY2hlY2tGaWx0ZXJCdXR0b24oKSB7XG4gICAgdGhpcy5kaXNhYmxlQXBwbHlGaWx0ZXJCdG4gPSB0aGlzLnNhdmVkRmlsdGVycy5sZW5ndGggPT09IDA7XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja0FsbCA9ICF0aGlzLmNoZWNrQWxsO1xuICAgIHRoaXMuc2F2ZWRGaWx0ZXJzLmZvckVhY2goZmlsdGVyID0+IGZpbHRlci5jaGVja2VkID0gdGhpcy5jaGVja0FsbCk7XG4gICAgdGhpcy5maWx0ZXJDb3VudCA9IHRoaXMuc2F2ZWRGaWx0ZXJzLmZpbHRlcihpdGVtID0+IGl0ZW0uY2hlY2tlZCA9PT0gdHJ1ZSkubGVuZ3RoO1xuICB9XG5cbiAgY2hlY2tEdXBsaWNhdGVGaWx0ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZWRpdEluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGV4aXN0cyA9IHRoaXMuc2F2ZWRGaWx0ZXJzLnNvbWUoXG4gICAgICAgICAgICAoZmlsdGVyLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICBmaWx0ZXIubmFtZSA9PT0gdGhpcy5zZWxlY3RlZEZpbHRlclZhbHVlICYmXG4gICAgICAgICAgICAgICAgZmlsdGVyLmNvbmRpdGlvbiA9PT0gdGhpcy5zZWxlY3RlZENvbmRpdGlvbiAmJlxuICAgICAgICAgICAgICAgIGluZGV4ICE9PSB0aGlzLmVkaXRJbmRleCBcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kaXNhYmxlQWRkRmlsdGVyQnRuID0gZXhpc3RzO1xuICAgICAgICB0aGlzLmlzRHVwbGljYXRlRmlsdGVyID0gZXhpc3RzO1xuICAgICAgICB0aGlzLmR1cGxpY2F0ZU1lc3NhZ2UgPSBleGlzdHMgPyAnVGhpcyBlbnRyeSBpcyBhIGR1cGxpY2F0ZSBhbmQgY2Fubm90IGJlIGFkZGVkLicgOiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgICBcbiAgICAgICAgY29uc3QgZXhpc3RzID0gdGhpcy5zYXZlZEZpbHRlcnMuc29tZShcbiAgICAgICAgICAgIChmaWx0ZXIpID0+XG4gICAgICAgICAgICAgICAgZmlsdGVyLm5hbWUgPT09IHRoaXMuc2VsZWN0ZWRGaWx0ZXJWYWx1ZSAmJlxuICAgICAgICAgICAgICAgIGZpbHRlci5jb25kaXRpb24gPT09IHRoaXMuc2VsZWN0ZWRDb25kaXRpb25cbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kaXNhYmxlQWRkRmlsdGVyQnRuID0gZXhpc3RzO1xuICAgICAgICB0aGlzLmlzRHVwbGljYXRlRmlsdGVyID0gZXhpc3RzO1xuICAgICAgICB0aGlzLmR1cGxpY2F0ZU1lc3NhZ2UgPSBleGlzdHMgPyAnVGhpcyBlbnRyeSBpcyBhIGR1cGxpY2F0ZSBhbmQgY2Fubm90IGJlIGFkZGVkLicgOiAnJztcbiAgICB9XG4gICB9XG59XG5cbiIsIjxzZWN0aW9uXG4gIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImJnQ29sb3JcIlxuICBbc3R5bGUuYm94LXNoYWRvd109XCJib3hTaGFkb3dcIlxuICBbc3R5bGUuYm9yZGVyXT1cImJvcmRlclwiXG4gIFtzdHlsZS5ib3JkZXItcmFkaXVzXT1cImJvcmRlclJhZGl1c1wiXG4gIFtzdHlsZS5jb2xvcl09XCJ0ZXh0Q29sb3JcIlxuICBbc3R5bGUud2lkdGhdPVwid2lkdGhcIlxuICBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodFwiXG4gIFtzdHlsZS5wYWRkaW5nXT1cInBkXCJcbj5cbiAgPGRpdiBjbGFzcz1cInRvcFwiPlxuICAgIDxoMyBbc3R5bGUuY29sb3JdPVwidGVydGlhcnlDb2xvclwiIFtzdHlsZS5mb250LXNpemVdPVwiJzE0cHgnXCI+XG4gICAgICBGaWx0ZXJzXG4gICAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwic2Vjb25kYXJ5Q29sb3JcIlxuICAgICAgICA+PHN1cD4oe3sgZmlsdGVyQ291bnQgfX0pPC9zdXA+PC9zcGFuXG4gICAgICA+XG4gICAgPC9oMz5cbiAgICA8YnV0dG9uXG4gICAgICBbc3R5bGUuY29sb3JdPVwic2Vjb25kYXJ5Q29sb3JcIlxuICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYmdDb2xvclwiXG4gICAgICBbc3R5bGUuYm9yZGVyXT1cIidub25lJ1wiXG4gICAgICBbc3R5bGUuY3Vyc29yXT1cIidwb2ludGVyJ1wiXG4gICAgICBbc3R5bGUuZm9udC1zaXplXT1cIicxMnB4J1wiXG4gICAgICAoY2xpY2spPVwicmVzZXRGaWx0ZXJzKClcIlxuICAgID5cbiAgICAgIFJlc2V0XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8aHIgLz5cblxuICA8IS0tIFNhdmVkIEZpbHRlcnMgU2VjdGlvbiAtLT5cbiAgPGRpdiBjbGFzcz1cImNlbnRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzYXZlZFdyYXBwZXJcIj5cbiAgICAgIDxoMyBbc3R5bGUuZm9udC1zaXplXT1cIicxM3B4J1wiPlNhdmVkIEZpbHRlcnM8L2gzPlxuICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgaWNvbj1cImluZm9cIlxuICAgICAgICBbd2lkdGhdPVwiMTVcIlxuICAgICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgICAgZmlsbD1cImdyZXlcIlxuICAgICAgPjwvdmVyYmVuLXN2Zz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0QWxsV3JhcHBlclwiICpuZ0lmPVwic2F2ZWRGaWx0ZXJzLmxlbmd0aFwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIFtjaGVja2VkXT1cImNoZWNrQWxsXCJcbiAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVTZWxlY3RBbGwoKVwiXG4gICAgICAvPlxuICAgICAgPHAgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTNweCdcIiBbc3R5bGUuZm9udC13ZWlnaHRdPVwiJzUwMCdcIj5TZWxlY3QgQWxsPC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgdmlzaWJsZUZpbHRlcnM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgY2xhc3M9XCJjZW50ZXJJbm5lcldyYXBwZXJcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFdyYXBwZXJcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICA+PGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiZmlsdGVyLmNoZWNrZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNoZWNrYm94KGkpXCJcbiAgICAgICAgLz48L3NwYW4+XG4gICAgICAgIDxwXG4gICAgICAgICAgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTNweCdcIlxuICAgICAgICAgIFtzdHlsZS5mb250LXdlaWdodF09XCInNTAwJ1wiXG4gICAgICAgICAgW3N0eWxlLmNvbG9yXT1cInRlcnRpYXJ5Q29sb3JcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZmlsdGVyLm5hbWUgfX0ge3sgZmlsdGVyLmNvbmRpdGlvbiB9fSB7eyBmaWx0ZXIudmFsdWV9fVxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uV3JhcHBlclwiPlxuICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICAgIGljb249XCJwZW5jaWxcIlxuICAgICAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICAgICAgW2hlaWdodF09XCIxNVwiXG4gICAgICAgICAgc3Ryb2tlPVwiIzM0NzlFOVwiXG4gICAgICAgICAgZmlsbD1cIndoaXRlXCJcbiAgICAgICAgICAoY2xpY2spPVwiZWRpdEZpbHRlcihpKVwiXG4gICAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgICAgIDx2ZXJiZW4tc3ZnXG4gICAgICAgICAgaWNvbj1cInRyYXNoXCJcbiAgICAgICAgICBbd2lkdGhdPVwiMTVcIlxuICAgICAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgICAgIHN0cm9rZT1cIiNFMjAwMDBcIlxuICAgICAgICAgIChjbGljayk9XCJkZWxldGVGaWx0ZXIoaSlcIlxuICAgICAgICA+PC92ZXJiZW4tc3ZnPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cIm1vcmVXcmFwcGVyXCJcbiAgICAgICpuZ0lmPVwic2F2ZWRGaWx0ZXJzLmxlbmd0aCA+IG1heEZpbHRlckxlbmd0aFwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlU2hvd01vcmUoKVwiXG4gICAgPlxuICAgICAgPHBcbiAgICAgICAgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTJweCdcIlxuICAgICAgICBbc3R5bGUuZm9udC13ZWlnaHRdPVwiJzUwMCdcIlxuICAgICAgICBbc3R5bGUuY29sb3JdPVwidGVydGlhcnlDb2xvclwiXG4gICAgICA+XG4gICAgICAgIHt7IHNob3dBbGxGaWx0ZXJzID8gXCJTaG93IGxlc3NcIiA6IFwiU2hvdyBtb3JlXCIgfX1cbiAgICAgIDwvcD5cbiAgICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgaWNvbj1cImNoZXZyb25cIlxuICAgICAgICBbd2lkdGhdPVwiOFwiXG4gICAgICAgIFtoZWlnaHRdPVwiNlwiXG4gICAgICAgIGZpbGw9XCJibGFja1wiXG4gICAgICAgIHN0cm9rZT1cImJsYWNrXCJcbiAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8aHIgLz5cblxuICA8IS0tIE9wZXJhdGlvbiBTZWN0aW9uIC0tPlxuICA8ZGl2IGNsYXNzPVwiYm90dG9tXCI+XG4gICAgPGRpdiBjbGFzcz1cInNhdmVkV3JhcHBlclwiPlxuICAgICAgPGgzIFtzdHlsZS5mb250LXNpemVdPVwiJzEzcHgnXCI+T3BlcmF0aW9uPC9oMz5cbiAgICAgIDxkaXYgW25nU3R5bGVdPVwieydwb3NpdGlvbic6J3JlbGF0aXZlJ31cIj4gXG4gICAgICAgIFxuICAgICAgICA8dmVyYmVuLXRvb2x0aXAgXG4gICAgICAgIFt0b29sdGlwQ29udGVudF09XCJ0b29sdGlwVGVtcGxhdGVcIlxuICAgICAgICBbYmFja2dyb3VuZENvbG9yXT1cIidncmV5J1wiXG4gICAgICAgIHdpZHRoPVwiMjAwcHhcIiBcbiAgICAgICAgW3RvcF09XCInMjBweCdcIiAgICAgICAgICAgICAgICAgXG4gICAgICAgIFtyaWdodF09XCInMHB4J1wiICBcbiAgICAgICAgPlxuICAgICAgICA8dmVyYmVuLXN2ZyBcbiAgICAgICAgaWNvbj1cImluZm9cIiBcbiAgICAgICAgW3dpZHRoXT1cIjE1XCIgXG4gICAgICAgIFtoZWlnaHRdPVwiMTVcIiAgIFxuICAgICAgICAqbmdJZj1cImlzRHVwbGljYXRlRmlsdGVyXCJcbiAgICAgICAgZmlsbD1cInJlZFwiXG4gICAgICAgID5cbiAgICAgICAgPC92ZXJiZW4tc3ZnPlxuICAgICAgICA8L3ZlcmJlbi10b29sdGlwPlxuICAgICAgXG4gICAgICA8bmctdGVtcGxhdGUgI3Rvb2x0aXBUZW1wbGF0ZT5cbiAgICAgICB7e2R1cGxpY2F0ZU1lc3NhZ2V9fVxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPCEtLSA8dmVyYmVuLXRvb2x0aXBcbiAgICAgICAgIFtiYWNrZ3JvdW5kQ29sb3JdPVwiJ2dyZXknXCJcbiAgICAgICAgIFt0ZXh0Q29sb3JdPVwiJ3doaXRlJ1wiXG4gICAgICAgICBbcGFkZGluZ109XCInMTBweCdcIlxuICAgICAgICAgW2JvcmRlclJhZGl1c109XCInOHB4J1wiXG4gICAgICAgICBbdG9wXT1cIicyMHB4J1wiICAgICAgICAgICAgICAgICBcbiAgICAgICAgIFtyaWdodF09XCInMHB4J1wiICAgXG4gICAgICAgICB3aWR0aD1cIjI1MHB4XCIgXG4gICAgICAgICAjdG9vbHRpcCBcbiAgICAgICAgICpuZ0lmPVwidG9vbHRpcFwiXG4gICAgICAgICA+XG4gICAgICAgICA8aDM+e3tkdXBsaWNhdGVNZXNzYWdlfX08L2gzPlxuICAgICAgICA8L3ZlcmJlbi10b29sdGlwPiAtLT5cbiAgICAgIDwvZGl2PlxuICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgaWNvbj1cImluZm9cIlxuICAgICAgICBbd2lkdGhdPVwiMTVcIlxuICAgICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgICAgZmlsbD1cImdyZXlcIlxuICAgICAgICAqbmdJZj1cIiFpc0R1cGxpY2F0ZUZpbHRlclwiXG4gICAgICA+PC92ZXJiZW4tc3ZnPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImlucHV0c1dyYXBwZXJcIj5cbiAgICAgIDx2ZXJiZW4tZHJvcC1kb3duXG4gICAgICAgIHdpZHRoPVwiN3JlbVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IHZhbHVlXCJcbiAgICAgICAgW29wdGlvbnNdPVwiZmlsdGVyQXJyYXlcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRmlsdGVyVmFsdWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkZpbHRlck5hbWVDaGFuZ2Uoc2VsZWN0ZWRGaWx0ZXJWYWx1ZSlcIlxuICAgICAgPlxuICAgICAgPC92ZXJiZW4tZHJvcC1kb3duPlxuICAgICAgPHZlcmJlbi1kcm9wLWRvd25cbiAgICAgICAgd2lkdGg9XCI3cmVtXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgdmFsdWVcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCB2YWx1ZVwiXG4gICAgICAgIFtvcHRpb25zXT1cImNvbmRpdGlvbk9wdGlvbnNcIlxuICAgICAgICAob25DaGFuZ2UpPVwiY2hlY2tEdXBsaWNhdGVGaWx0ZXIoKVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRDb25kaXRpb25cIlxuICAgICAgPlxuICAgICAgPC92ZXJiZW4tZHJvcC1kb3duPlxuXG4gICAgICA8dmVyYmVuYS1pbnB1dFxuICAgICAgKm5nSWY9XCJzZWxlY3RlZEZpbHRlclR5cGUgPT09ICdEYXRlJ1wiXG4gICAgICBib3JkZXI9XCIxcHggc29saWQgI2NjY1wiXG4gICAgICBib3JkZXJSYWRpdXM9XCI1cHhcIlxuICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgd2lkdGg9XCI4MHB4XCJcbiAgICAgIGhlaWdodD1cIjI1cHhcIlxuICAgICAgcGQ9XCI2cHhcIlxuICAgICAgW3Nob3dCb3JkZXJdPVwidHJ1ZVwiXG4gICAgICBbc2hvd0Vycm9yTWVzc2FnZV09XCJ0cnVlXCJcbiAgICAgIFtlcnJvclBvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICAgIFt0eXBlXT1cIidkYXRlJ1wiXG4gICAgICBbKG5nTW9kZWwpXT1cImlucHV0VmFsdWVcIlxuICAgID48L3ZlcmJlbmEtaW5wdXQ+XG5cbiAgICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICAqbmdJZj1cInNlbGVjdGVkRmlsdGVyVHlwZSA9PT0gJ0NyZWRpdCcgfHwgc2VsZWN0ZWRGaWx0ZXJUeXBlID09PSAnSW50ZWdlcidcIlxuICAgICAgYm9yZGVyPVwiMXB4IHNvbGlkICNjY2NcIlxuICAgICAgYm9yZGVyUmFkaXVzPVwiNXB4XCJcbiAgICAgIHRleHRDb2xvcj1cImJsYWNrXCJcbiAgICAgIHdpZHRoPVwiMTAwcHhcIlxuICAgICAgaGVpZ2h0PVwiMjVweFwiXG4gICAgICBwZD1cIjZweFwiXG4gICAgICBwbGFjZUhvbGRlcj1cImlucHV0IGludGVnZXJcIlxuICAgICAgW3Nob3dCb3JkZXJdPVwidHJ1ZVwiXG5cbiAgICAgIFtzaG93RXJyb3JNZXNzYWdlXT1cInRydWVcIlxuICAgICAgW2Vycm9yUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxuXG4gICAgICBhcHBWYWxpZGF0ZT1cImludGVnZXJcIlxuICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFZhbHVlXCJcbiAgICA+PC92ZXJiZW5hLWlucHV0PlxuXG4gICAgICA8dmVyYmVuYS1pbnB1dFxuICAgICAgKm5nSWY9XCJzZWxlY3RlZEZpbHRlclR5cGUgPT09ICdEZWNpbWFsJ1wiXG4gICAgICBib3JkZXI9XCIxcHggc29saWQgI2NjY1wiXG4gICAgICBib3JkZXJSYWRpdXM9XCI1cHhcIlxuICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgd2lkdGg9XCIxMDBweFwiXG4gICAgICBoZWlnaHQ9XCIyNXB4XCJcbiAgICAgIHBkPVwiNnB4XCJcbiAgICAgIHBsYWNlSG9sZGVyPVwiaW5wdXQgYSBkZWNpbWFsXCJcbiAgICAgIFtzaG93Qm9yZGVyXT1cInRydWVcIlxuICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwiZmFsc2VcIlxuICAgICAgW2Vycm9yUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxuICAgICAgYXBwVmFsaWRhdGU9XCJkZWNpbWFsXCJcbiAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRWYWx1ZVwiXG4gICAgPjwvdmVyYmVuYS1pbnB1dD5cblxuICAgICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRGaWx0ZXJUeXBlICE9PSAnQ3JlZGl0JyAmJiBzZWxlY3RlZEZpbHRlclR5cGUgIT09ICdEYXRlJyAgJiYgc2VsZWN0ZWRGaWx0ZXJUeXBlICE9PSAnSW50ZWdlcicgICYmIHNlbGVjdGVkRmlsdGVyVHlwZSAhPT0gJ0RlY2ltYWwnXCJcbiAgICAgIGJvcmRlcj1cIjFweCBzb2xpZCAjY2NjXCJcbiAgICAgIHBsYWNlSG9sZGVyPVwiaW5wdXQgdmFsdWVcIlxuICAgICAgYm9yZGVyUmFkaXVzPVwiNXB4XCJcbiAgICAgIHRleHRDb2xvcj1cImJsYWNrXCJcbiAgICAgIHdpZHRoPVwiMTAwcHhcIlxuICAgICAgaGVpZ2h0PVwiMjVweFwiXG4gICAgICBwZD1cIjZweFwiXG4gICAgICBbc2hvd0JvcmRlcl09XCJ0cnVlXCJcblxuICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgICBbZXJyb3JQb3NpdGlvbl09XCInYm90dG9tJ1wiXG5cbiAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRWYWx1ZVwiXG4gICAgPjwvdmVyYmVuYS1pbnB1dD5cblxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImJ0bldyYXBwZXJcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgW3N0eWxlLm1hcmdpbi10b3BdPVwiJzAuNXJlbSdcIlxuICAgICAgICBbc3R5bGUub3V0bGluZV09XCInbm9uZSdcIlxuICAgICAgICBbc3R5bGUuYm9yZGVyXT1cIidub25lJ1wiXG4gICAgICAgIFtzdHlsZS5ib3JkZXItcmFkaXVzXT1cImJvcmRlclJhZGl1c1wiXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICBbc3R5bGUuY29sb3JdPVwic2Vjb25kYXJ5Q29sb3JcIlxuICAgICAgICBbc3R5bGUuZm9udC1zaXplXT1cIicxMnB4J1wiXG4gICAgICAgIFtzdHlsZS5mb250LXdlaWdodF09XCInNTAwJ1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQWRkRmlsdGVyQnRuXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgIGRpc2FibGVidG46IGRpc2FibGVBZGRGaWx0ZXJCdG4sXG4gICAgICAgICAgZW5hYmxlQnRuOiAhZGlzYWJsZUFkZEZpbHRlckJ0blxuICAgICAgICB9XCJcbiAgICAgICAgKGNsaWNrKT1cImFkZEZpbHRlcigpXCJcbiAgICAgID5cbiAgICAgICAgKyBBZGRcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxociAvPlxuXG4gICAgPGRpdiBjbGFzcz1cImJ0bldyYXBwZXJcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgW3N0eWxlLm1hcmdpbi10b3BdPVwiJzAuNXJlbSdcIlxuICAgICAgICBbc3R5bGUub3V0bGluZV09XCInbm9uZSdcIlxuICAgICAgICBbc3R5bGUuYm9yZGVyXT1cIidub25lJ1wiXG4gICAgICAgIFtzdHlsZS5wYWRkaW5nXT1cIicwLjJyZW0gMS42cmVtJ1wiXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cInByaW1hcnlDb2xvclwiXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCJ0ZXJ0aWFyeUNvbG9yXCJcbiAgICAgICAgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTJweCdcIlxuICAgICAgICBbc3R5bGUuZm9udC13ZWlnaHRdPVwiJzYwMCdcIlxuICAgICAgICAoY2xpY2spPVwiYXBwbHlGaWx0ZXJzKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUFwcGx5RmlsdGVyQnRuXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgIGRpc2FibGVidG46IGRpc2FibGVBcHBseUZpbHRlckJ0bixcbiAgICAgICAgICBlbmFibGVCdG46ICFkaXNhYmxlQXBwbHlGaWx0ZXJCdG5cbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICAgIEZpbHRlclxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cblxuICA8L2Rpdj5cblxuPC9zZWN0aW9uPlxuIl19
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1uZy11aS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtZmlsdGVyL3RhYmxlLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlLWZpbHRlci90YWJsZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFlLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7O0FBT3RDLE1BQU0sT0FBTyxvQkFBb0I7SUFDdEIsYUFBYSxHQUFrQixFQUFFLENBQUM7SUFDbEMsRUFBRSxDQUFVO0lBQ1osRUFBRSxDQUFVO0lBQ1osTUFBTSxDQUFVO0lBQ2hCLEtBQUssQ0FBVTtJQUNmLE9BQU8sQ0FBVTtJQUNqQixTQUFTLENBQVU7SUFDbkIsU0FBUyxDQUFVO0lBQ25CLFlBQVksQ0FBVTtJQUN0QixjQUFjLENBQVU7SUFDeEIsYUFBYSxDQUFVO0lBQ3ZCLE1BQU0sQ0FBVTtJQUNoQixZQUFZLENBQVU7SUFDdEIsV0FBVyxDQUFVO0lBQ3JCLGVBQWUsR0FBVyxDQUFDLENBQUM7SUFDNUIsT0FBTyxHQUFZLEtBQUssQ0FBQztJQUN4QixjQUFjLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUN6QyxhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUNsRCxXQUFXLEdBQWEsRUFBRSxDQUFDO0lBQzNCLG1CQUFtQixHQUFXLEVBQUUsQ0FBQztJQUNq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QW9CLG9oQkNUakMsaTdQQXFTQTs7NEZENVJhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxxQkFBcUI7d0RBS3RCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhRmlsdGVyVHlwZSwgSURhdGFGaWx0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFibGUtZmlsdGVyJztcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlcmJlbi10YWJsZS1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtZmlsdGVyLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBmaWx0ZXJPcHRpb25zOiBJRGF0YUZpbHRlcltdID0gW107XG4gIEBJbnB1dCgpIHBkPzogc3RyaW5nO1xuICBASW5wdXQoKSBtZz86IHN0cmluZztcbiAgQElucHV0KCkgaGVpZ2h0Pzogc3RyaW5nO1xuICBASW5wdXQoKSB3aWR0aD86IHN0cmluZztcbiAgQElucHV0KCkgYmdDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgYm94U2hhZG93Pzogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0Q29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByaW1hcnlDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgc2Vjb25kYXJ5Q29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRlcnRpYXJ5Q29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJvcmRlcj86IHN0cmluZztcbiAgQElucHV0KCkgYm9yZGVyUmFkaXVzPzogc3RyaW5nO1xuICBASW5wdXQoKSBzZWxlY3RXaWR0aD86IHN0cmluZztcbiAgQElucHV0KCkgbWF4RmlsdGVyTGVuZ3RoOiBudW1iZXIgPSAzO1xuICBASW5wdXQoKSB0b29sdGlwOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBmaWx0ZXJzQXBwbGllZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcmVzZXRTb3J0RGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBmaWx0ZXJBcnJheTogc3RyaW5nW10gPSBbXTtcbiAgc2VsZWN0ZWRGaWx0ZXJWYWx1ZTogc3RyaW5nID0gJyc7XG4gIHNlbGVjdGVkRmlsdGVyVHlwZT86IGFueTtcbiAgY29uZGl0aW9uT3B0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgc2VsZWN0ZWRDb25kaXRpb246IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnO1xuICBpbnB1dFZhbHVlPzogc3RyaW5nIHwgbnVtYmVyO1xuICBzYXZlZEZpbHRlcnM6IElEYXRhRmlsdGVyW10gPSBbXTtcbiAgc2VsZWN0ZWRGaWx0ZXJzOiBJRGF0YUZpbHRlcltdID0gW107XG4gIHNob3dBbGxGaWx0ZXJzOiBib29sZWFuID0gZmFsc2U7XG4gIGVkaXRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIGNoZWNrQWxsOiBib29sZWFuID0gZmFsc2U7XG4gIGlzRHVwbGljYXRlRmlsdGVyOiBib29sZWFuID0gZmFsc2U7XG4gIGRpc2FibGVBZGRGaWx0ZXJCdG46IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGlzYWJsZUFwcGx5RmlsdGVyQnRuOiBib29sZWFuID0gdHJ1ZTtcbiAgZHVwbGljYXRlTWVzc2FnZT86IHN0cmluZyA9ICcnO1xuICBjb25maWdJbnN0YW5jZTogQ29uZmlnO1xuICBzdG9yYWdlS2V5OiBzdHJpbmcgPSAnc2F2ZWRGaWx0ZXJzJztcbiAgZmlsdGVyQ291bnQ6IG51bWJlciA9IDA7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5jb25maWdJbnN0YW5jZSA9IG5ldyBDb25maWcoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyQXJyYXkgPSB0aGlzLmZpbHRlck9wdGlvbnMubWFwKChpdGVtKSA9PiBpdGVtLm5hbWUpO1xuICB9XG5cbiAgb25GaWx0ZXJOYW1lQ2hhbmdlKHNlbGVjdGVkRmlsdGVyVmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IHNlbGVjdGVkRmlsdGVyID0gdGhpcy5maWx0ZXJPcHRpb25zLmZpbmQoXG4gICAgICAob3B0aW9uKSA9PiBvcHRpb24ubmFtZSA9PT0gc2VsZWN0ZWRGaWx0ZXJWYWx1ZVxuICAgICk7XG5cbiAgICBpZiAoc2VsZWN0ZWRGaWx0ZXIpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJUeXBlID0gc2VsZWN0ZWRGaWx0ZXIudHlwZTtcbiAgICAgIHRoaXMuY29uZGl0aW9uT3B0aW9ucyA9XG4gICAgICAgIHRoaXMuY29uZmlnSW5zdGFuY2UuZ2V0Q29uZGl0aW9uT3B0aW9ucyh0aGlzLnNlbGVjdGVkRmlsdGVyVHlwZSkgfHwgW107XG4gICAgICB0aGlzLnNlbGVjdGVkQ29uZGl0aW9uID0gJyc7XG4gICAgfVxuICB9XG5cbiAgcmVzZXRGaWx0ZXJzKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJUeXBlID0gbnVsbDtcbiAgICB0aGlzLnNlbGVjdGVkQ29uZGl0aW9uID0gJyc7XG4gICAgdGhpcy5pbnB1dFZhbHVlID0gJyc7XG4gICAgdGhpcy5zYXZlZEZpbHRlcnMgPSBbXTtcbiAgICB0aGlzLmVkaXRJbmRleCA9IG51bGw7XG4gICAgdGhpcy5jaGVja0FsbCA9IGZhbHNlO1xuICAgIHRoaXMuaXNEdXBsaWNhdGVGaWx0ZXIgPSBmYWxzZTtcbiAgICB0aGlzLmRpc2FibGVBcHBseUZpbHRlckJ0biA9IHRydWU7XG4gICAgdGhpcy5kdXBsaWNhdGVNZXNzYWdlID0gJyc7XG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5zdG9yYWdlS2V5KTtcbiAgICB0aGlzLmZpbHRlckNvdW50ID0gdGhpcy5zYXZlZEZpbHRlcnMuZmlsdGVyKFxuICAgICAgKGl0ZW0pID0+IGl0ZW0uY2hlY2tlZCA9PT0gdHJ1ZVxuICAgICkubGVuZ3RoO1xuICAgIHRoaXMucmVzZXRTb3J0RGF0YS5lbWl0KCk7XG4gIH1cblxuICBhZGRGaWx0ZXIoKSB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuc2VsZWN0ZWRGaWx0ZXJWYWx1ZSB8fFxuICAgICAgIXRoaXMuc2VsZWN0ZWRDb25kaXRpb24gfHxcbiAgICAgICF0aGlzLmlucHV0VmFsdWVcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lZGl0SW5kZXggPT09IG51bGwgJiYgdGhpcy5pc0R1cGxpY2F0ZUZpbHRlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyAwMDowMCAyMzo1OVxuICAgIGlmIChcbiAgICAgICh0aGlzLnNlbGVjdGVkRmlsdGVyVHlwZSBhcyBEYXRhRmlsdGVyVHlwZSkgPT0gRGF0YUZpbHRlclR5cGUuRGF0ZSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZENvbmRpdGlvbiA9PSAnT24nXG4gICAgKSB7XG4gICAgICBjb25zdCBsZWZ0RmlsdGVyOiBJRGF0YUZpbHRlciA9IHtcbiAgICAgICAgbmFtZTogdGhpcy5zZWxlY3RlZEZpbHRlclZhbHVlLFxuICAgICAgICB0eXBlOiB0aGlzLnNlbGVjdGVkRmlsdGVyVHlwZSxcbiAgICAgICAgY29uZGl0aW9uOiAnQWZ0ZXInLFxuICAgICAgICB2YWx1ZTogKHRoaXMuaW5wdXRWYWx1ZSBhcyBzdHJpbmcpLmNvbmNhdCgnIDAwOjAwJyksXG4gICAgICAgIGNoZWNrZWQ6IHRydWUsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByaWdodEZpbHRlcjogSURhdGFGaWx0ZXIgPSB7XG4gICAgICAgIG5hbWU6IHRoaXMuc2VsZWN0ZWRGaWx0ZXJWYWx1ZSxcbiAgICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZEZpbHRlclR5cGUsXG4gICAgICAgIGNvbmRpdGlvbjogJ0JlZm9yZScsXG4gICAgICAgIHZhbHVlOiAodGhpcy5pbnB1dFZhbHVlIGFzIHN0cmluZykuY29uY2F0KCcgMjM6NTknKSxcbiAgICAgICAgY2hlY2tlZDogdHJ1ZSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGZpbHRlcnMgPSBbbGVmdEZpbHRlciwgcmlnaHRGaWx0ZXJdO1xuXG4gICAgICBmb3IgKGxldCBuZXdGaWx0ZXIgb2YgZmlsdGVycykge1xuICAgICAgICBpZiAodGhpcy5lZGl0SW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBpc0R1cGxpY2F0ZSA9IHRoaXMuc2F2ZWRGaWx0ZXJzLnNvbWUoXG4gICAgICAgICAgICAoZmlsdGVyLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgZmlsdGVyLm5hbWUgPT09IG5ld0ZpbHRlci5uYW1lICYmXG4gICAgICAgICAgICAgIGZpbHRlci5jb25kaXRpb24gPT09IG5ld0ZpbHRlci5jb25kaXRpb24gJiZcbiAgICAgICAgICAgICAgaW5kZXggIT09IHRoaXMuZWRpdEluZGV4XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChpc0R1cGxpY2F0ZSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuc2F2ZWRGaWx0ZXJzW3RoaXMuZWRpdEluZGV4XSA9IG5ld0ZpbHRlcjtcbiAgICAgICAgICB0aGlzLmVkaXRJbmRleCA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5zYXZlZEZpbHRlcnMuc29tZShcbiAgICAgICAgICAgICAgKGZpbHRlcikgPT5cbiAgICAgICAgICAgICAgICBmaWx0ZXIubmFtZSA9PT0gbmV3RmlsdGVyLm5hbWUgJiZcbiAgICAgICAgICAgICAgICBmaWx0ZXIuY29uZGl0aW9uID09PSBuZXdGaWx0ZXIuY29uZGl0aW9uXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5zYXZlZEZpbHRlcnMucHVzaChuZXdGaWx0ZXIpO1xuICAgICAgICAgIHRoaXMuZmlsdGVyQ291bnQgPSB0aGlzLnNhdmVkRmlsdGVycy5maWx0ZXIoXG4gICAgICAgICAgICAoaXRlbSkgPT4gaXRlbS5jaGVja2VkID09PSB0cnVlXG4gICAgICAgICAgKS5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbmV3RmlsdGVyOiBJRGF0YUZpbHRlciA9IHtcbiAgICAgICAgbmFtZTogdGhpcy5zZWxlY3RlZEZpbHRlclZhbHVlLFxuICAgICAgICB0eXBlOiB0aGlzLnNlbGVjdGVkRmlsdGVyVHlwZSxcbiAgICAgICAgY29uZGl0aW9uOiB0aGlzLnNlbGVjdGVkQ29uZGl0aW9uLFxuICAgICAgICB2YWx1ZTogdGhpcy5pbnB1dFZhbHVlLFxuICAgICAgICBjaGVja2VkOiB0cnVlLFxuICAgICAgfTtcblxuICAgICAgaWYgKHRoaXMuZWRpdEluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGlzRHVwbGljYXRlID0gdGhpcy5zYXZlZEZpbHRlcnMuc29tZShcbiAgICAgICAgICAoZmlsdGVyLCBpbmRleCkgPT5cbiAgICAgICAgICAgIGZpbHRlci5uYW1lID09PSBuZXdGaWx0ZXIubmFtZSAmJlxuICAgICAgICAgICAgZmlsdGVyLmNvbmRpdGlvbiA9PT0gbmV3RmlsdGVyLmNvbmRpdGlvbiAmJlxuICAgICAgICAgICAgaW5kZXggIT09IHRoaXMuZWRpdEluZGV4XG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGlzRHVwbGljYXRlKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2F2ZWRGaWx0ZXJzW3RoaXMuZWRpdEluZGV4XSA9IG5ld0ZpbHRlcjtcbiAgICAgICAgdGhpcy5lZGl0SW5kZXggPSBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuc2F2ZWRGaWx0ZXJzLnNvbWUoXG4gICAgICAgICAgICAoZmlsdGVyKSA9PlxuICAgICAgICAgICAgICBmaWx0ZXIubmFtZSA9PT0gbmV3RmlsdGVyLm5hbWUgJiZcbiAgICAgICAgICAgICAgZmlsdGVyLmNvbmRpdGlvbiA9PT0gbmV3RmlsdGVyLmNvbmRpdGlvblxuICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2F2ZWRGaWx0ZXJzLnB1c2gobmV3RmlsdGVyKTtcbiAgICAgICAgdGhpcy5maWx0ZXJDb3VudCA9IHRoaXMuc2F2ZWRGaWx0ZXJzLmZpbHRlcihcbiAgICAgICAgICAoaXRlbSkgPT4gaXRlbS5jaGVja2VkID09PSB0cnVlXG4gICAgICAgICkubGVuZ3RoO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuY2xlYXJPcGVyYXRpb25TZWN0aW9uKCk7XG4gICAgdGhpcy5jaGVja0ZpbHRlckJ1dHRvbigpO1xuICB9XG5cbiAgdG9nZ2xlQ2hlY2tib3goaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuc2F2ZWRGaWx0ZXJzW2luZGV4XS5jaGVja2VkID0gIXRoaXMuc2F2ZWRGaWx0ZXJzW2luZGV4XS5jaGVja2VkO1xuICAgIHRoaXMuY2hlY2tBbGwgPSB0aGlzLnNhdmVkRmlsdGVycy5ldmVyeSgoaXRlbSkgPT4gaXRlbS5jaGVja2VkKTtcbiAgICB0aGlzLmZpbHRlckNvdW50ID0gdGhpcy5zYXZlZEZpbHRlcnMuZmlsdGVyKFxuICAgICAgKGl0ZW0pID0+IGl0ZW0uY2hlY2tlZCA9PT0gdHJ1ZVxuICAgICkubGVuZ3RoO1xuICB9XG5cbiAgZGVsZXRlRmlsdGVyKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnNhdmVkRmlsdGVycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuY2hlY2tEdXBsaWNhdGVGaWx0ZXIoKTtcbiAgICB0aGlzLmNoZWNrRmlsdGVyQnV0dG9uKCk7XG4gICAgdGhpcy5maWx0ZXJDb3VudCA9IHRoaXMuc2F2ZWRGaWx0ZXJzLmZpbHRlcihcbiAgICAgIChpdGVtKSA9PiBpdGVtLmNoZWNrZWQgPT09IHRydWVcbiAgICApLmxlbmd0aDtcbiAgICBpZiAodGhpcy5zYXZlZEZpbHRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmNoZWNrQWxsID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgZWRpdEZpbHRlcihpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5zYXZlZEZpbHRlcnNbaW5kZXhdO1xuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJUeXBlID0gZmlsdGVyLnR5cGU7XG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlclZhbHVlID0gZmlsdGVyLm5hbWU7XG4gICAgdGhpcy5vbkZpbHRlck5hbWVDaGFuZ2UodGhpcy5zZWxlY3RlZEZpbHRlclZhbHVlKTtcbiAgICB0aGlzLnNlbGVjdGVkQ29uZGl0aW9uID0gZmlsdGVyLmNvbmRpdGlvbjtcbiAgICB0aGlzLmlucHV0VmFsdWUgPSBmaWx0ZXIudmFsdWU7XG4gICAgdGhpcy5lZGl0SW5kZXggPSBpbmRleDtcbiAgfVxuXG4gIGFwcGx5RmlsdGVycygpIHtcbiAgICB0aGlzLnNlbGVjdGVkRmlsdGVycyA9IHRoaXMuc2F2ZWRGaWx0ZXJzLmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIuY2hlY2tlZCk7XG4gICAgdGhpcy5maWx0ZXJzQXBwbGllZC5lbWl0KHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKTtcbiAgICB0aGlzLmZpbHRlcnNBcHBsaWVkLmVtaXQodGhpcy5zdG9yYWdlS2V5KTtcbiAgfVxuXG4gIHRvZ2dsZVNob3dNb3JlKCkge1xuICAgIHRoaXMuc2hvd0FsbEZpbHRlcnMgPSAhdGhpcy5zaG93QWxsRmlsdGVycztcbiAgfVxuXG4gIGdldCB2aXNpYmxlRmlsdGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5zaG93QWxsRmlsdGVyc1xuICAgICAgPyB0aGlzLnNhdmVkRmlsdGVyc1xuICAgICAgOiB0aGlzLnNhdmVkRmlsdGVycy5zbGljZSgwLCB0aGlzLm1heEZpbHRlckxlbmd0aCk7XG4gIH1cblxuICBjbGVhck9wZXJhdGlvblNlY3Rpb24oKSB7XG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlclZhbHVlID0gJyc7XG4gICAgdGhpcy5zZWxlY3RlZENvbmRpdGlvbiA9ICcnO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9ICcnO1xuICB9XG5cbiAgY2hlY2tGaWx0ZXJCdXR0b24oKSB7XG4gICAgdGhpcy5kaXNhYmxlQXBwbHlGaWx0ZXJCdG4gPSB0aGlzLnNhdmVkRmlsdGVycy5sZW5ndGggPT09IDA7XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja0FsbCA9ICF0aGlzLmNoZWNrQWxsO1xuICAgIHRoaXMuc2F2ZWRGaWx0ZXJzLmZvckVhY2goKGZpbHRlcikgPT4gKGZpbHRlci5jaGVja2VkID0gdGhpcy5jaGVja0FsbCkpO1xuICAgIHRoaXMuZmlsdGVyQ291bnQgPSB0aGlzLnNhdmVkRmlsdGVycy5maWx0ZXIoXG4gICAgICAoaXRlbSkgPT4gaXRlbS5jaGVja2VkID09PSB0cnVlXG4gICAgKS5sZW5ndGg7XG4gIH1cblxuICBjaGVja0R1cGxpY2F0ZUZpbHRlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lZGl0SW5kZXggIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGV4aXN0cyA9IHRoaXMuc2F2ZWRGaWx0ZXJzLnNvbWUoXG4gICAgICAgIChmaWx0ZXIsIGluZGV4KSA9PlxuICAgICAgICAgIGZpbHRlci5uYW1lID09PSB0aGlzLnNlbGVjdGVkRmlsdGVyVmFsdWUgJiZcbiAgICAgICAgICBmaWx0ZXIuY29uZGl0aW9uID09PSB0aGlzLnNlbGVjdGVkQ29uZGl0aW9uICYmXG4gICAgICAgICAgaW5kZXggIT09IHRoaXMuZWRpdEluZGV4XG4gICAgICApO1xuICAgICAgdGhpcy5kaXNhYmxlQWRkRmlsdGVyQnRuID0gZXhpc3RzO1xuICAgICAgdGhpcy5pc0R1cGxpY2F0ZUZpbHRlciA9IGV4aXN0cztcbiAgICAgIHRoaXMuZHVwbGljYXRlTWVzc2FnZSA9IGV4aXN0c1xuICAgICAgICA/ICdUaGlzIGVudHJ5IGlzIGEgZHVwbGljYXRlIGFuZCBjYW5ub3QgYmUgYWRkZWQuJ1xuICAgICAgICA6ICcnO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBleGlzdHMgPSB0aGlzLnNhdmVkRmlsdGVycy5zb21lKFxuICAgICAgICAoZmlsdGVyKSA9PlxuICAgICAgICAgIGZpbHRlci5uYW1lID09PSB0aGlzLnNlbGVjdGVkRmlsdGVyVmFsdWUgJiZcbiAgICAgICAgICBmaWx0ZXIuY29uZGl0aW9uID09PSB0aGlzLnNlbGVjdGVkQ29uZGl0aW9uXG4gICAgICApO1xuICAgICAgdGhpcy5kaXNhYmxlQWRkRmlsdGVyQnRuID0gZXhpc3RzO1xuICAgICAgdGhpcy5pc0R1cGxpY2F0ZUZpbHRlciA9IGV4aXN0cztcbiAgICAgIHRoaXMuZHVwbGljYXRlTWVzc2FnZSA9IGV4aXN0c1xuICAgICAgICA/ICdUaGlzIGVudHJ5IGlzIGEgZHVwbGljYXRlIGFuZCBjYW5ub3QgYmUgYWRkZWQuJ1xuICAgICAgICA6ICcnO1xuICAgIH1cbiAgfVxufVxuIiwiPHNlY3Rpb25cbiAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYmdDb2xvclwiXG4gIFtzdHlsZS5ib3gtc2hhZG93XT1cImJveFNoYWRvd1wiXG4gIFtzdHlsZS5ib3JkZXJdPVwiYm9yZGVyXCJcbiAgW3N0eWxlLmJvcmRlci1yYWRpdXNdPVwiYm9yZGVyUmFkaXVzXCJcbiAgW3N0eWxlLmNvbG9yXT1cInRleHRDb2xvclwiXG4gIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiXG4gIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0XCJcbiAgW3N0eWxlLnBhZGRpbmddPVwicGRcIlxuPlxuICA8ZGl2IGNsYXNzPVwidG9wXCI+XG4gICAgPGgzIFtzdHlsZS5jb2xvcl09XCJ0ZXJ0aWFyeUNvbG9yXCIgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTRweCdcIj5cbiAgICAgIEZpbHRlcnNcbiAgICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJzZWNvbmRhcnlDb2xvclwiXG4gICAgICAgID48c3VwPih7eyBmaWx0ZXJDb3VudCB9fSk8L3N1cD48L3NwYW5cbiAgICAgID5cbiAgICA8L2gzPlxuICAgIDxidXR0b25cbiAgICAgIFtzdHlsZS5jb2xvcl09XCJzZWNvbmRhcnlDb2xvclwiXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiZ0NvbG9yXCJcbiAgICAgIFtzdHlsZS5ib3JkZXJdPVwiJ25vbmUnXCJcbiAgICAgIFtzdHlsZS5jdXJzb3JdPVwiJ3BvaW50ZXInXCJcbiAgICAgIFtzdHlsZS5mb250LXNpemVdPVwiJzEycHgnXCJcbiAgICAgIChjbGljayk9XCJyZXNldEZpbHRlcnMoKVwiXG4gICAgPlxuICAgICAgUmVzZXRcbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxociAvPlxuXG4gIDwhLS0gU2F2ZWQgRmlsdGVycyBTZWN0aW9uIC0tPlxuICA8ZGl2IGNsYXNzPVwiY2VudGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInNhdmVkV3JhcHBlclwiPlxuICAgICAgPGgzIFtzdHlsZS5mb250LXNpemVdPVwiJzEzcHgnXCI+U2F2ZWQgRmlsdGVyczwvaDM+XG4gICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICBpY29uPVwiaW5mb1wiXG4gICAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgICBmaWxsPVwiZ3JleVwiXG4gICAgICA+PC92ZXJiZW4tc3ZnPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RBbGxXcmFwcGVyXCIgKm5nSWY9XCJzYXZlZEZpbHRlcnMubGVuZ3RoXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tBbGxcIlxuICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZVNlbGVjdEFsbCgpXCJcbiAgICAgIC8+XG4gICAgICA8cCBbc3R5bGUuZm9udC1zaXplXT1cIicxM3B4J1wiIFtzdHlsZS5mb250LXdlaWdodF09XCInNTAwJ1wiPlNlbGVjdCBBbGw8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nRm9yPVwibGV0IGZpbHRlciBvZiB2aXNpYmxlRmlsdGVyczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICBjbGFzcz1cImNlbnRlcklubmVyV3JhcHBlclwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94V3JhcHBlclwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgID48aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJmaWx0ZXIuY2hlY2tlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQ2hlY2tib3goaSlcIlxuICAgICAgICAvPjwvc3Bhbj5cbiAgICAgICAgPHBcbiAgICAgICAgICBbc3R5bGUuZm9udC1zaXplXT1cIicxM3B4J1wiXG4gICAgICAgICAgW3N0eWxlLmZvbnQtd2VpZ2h0XT1cIic1MDAnXCJcbiAgICAgICAgICBbc3R5bGUuY29sb3JdPVwidGVydGlhcnlDb2xvclwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBmaWx0ZXIubmFtZSB9fSB7eyBmaWx0ZXIuY29uZGl0aW9uIH19IHt7IGZpbHRlci52YWx1ZX19XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImljb25XcmFwcGVyXCI+XG4gICAgICAgIDx2ZXJiZW4tc3ZnXG4gICAgICAgICAgaWNvbj1cInBlbmNpbFwiXG4gICAgICAgICAgW3dpZHRoXT1cIjE1XCJcbiAgICAgICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgICAgICBzdHJva2U9XCIjMzQ3OUU5XCJcbiAgICAgICAgICBmaWxsPVwid2hpdGVcIlxuICAgICAgICAgIChjbGljayk9XCJlZGl0RmlsdGVyKGkpXCJcbiAgICAgICAgPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgICBpY29uPVwidHJhc2hcIlxuICAgICAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICAgICAgW2hlaWdodF09XCIxNVwiXG4gICAgICAgICAgc3Ryb2tlPVwiI0UyMDAwMFwiXG4gICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUZpbHRlcihpKVwiXG4gICAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibW9yZVdyYXBwZXJcIlxuICAgICAgKm5nSWY9XCJzYXZlZEZpbHRlcnMubGVuZ3RoID4gbWF4RmlsdGVyTGVuZ3RoXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVTaG93TW9yZSgpXCJcbiAgICA+XG4gICAgICA8cFxuICAgICAgICBbc3R5bGUuZm9udC1zaXplXT1cIicxMnB4J1wiXG4gICAgICAgIFtzdHlsZS5mb250LXdlaWdodF09XCInNTAwJ1wiXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCJ0ZXJ0aWFyeUNvbG9yXCJcbiAgICAgID5cbiAgICAgICAge3sgc2hvd0FsbEZpbHRlcnMgPyBcIlNob3cgbGVzc1wiIDogXCJTaG93IG1vcmVcIiB9fVxuICAgICAgPC9wPlxuICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICBpY29uPVwiY2hldnJvblwiXG4gICAgICAgIFt3aWR0aF09XCI4XCJcbiAgICAgICAgW2hlaWdodF09XCI2XCJcbiAgICAgICAgZmlsbD1cImJsYWNrXCJcbiAgICAgICAgc3Ryb2tlPVwiYmxhY2tcIlxuICAgICAgPjwvdmVyYmVuLXN2Zz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxociAvPlxuXG4gIDwhLS0gT3BlcmF0aW9uIFNlY3Rpb24gLS0+XG4gIDxkaXYgY2xhc3M9XCJib3R0b21cIj5cbiAgICA8ZGl2IGNsYXNzPVwic2F2ZWRXcmFwcGVyXCI+XG4gICAgICA8aDMgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTNweCdcIj5PcGVyYXRpb248L2gzPlxuICAgICAgPGRpdiBbbmdTdHlsZV09XCJ7J3Bvc2l0aW9uJzoncmVsYXRpdmUnfVwiPiBcbiAgICAgICAgXG4gICAgICAgIDx2ZXJiZW4tdG9vbHRpcCBcbiAgICAgICAgW3Rvb2x0aXBDb250ZW50XT1cInRvb2x0aXBUZW1wbGF0ZVwiXG4gICAgICAgIFtiYWNrZ3JvdW5kQ29sb3JdPVwiJ2dyZXknXCJcbiAgICAgICAgd2lkdGg9XCIyMDBweFwiIFxuICAgICAgICBbdG9wXT1cIicyMHB4J1wiICAgICAgICAgICAgICAgICBcbiAgICAgICAgW3JpZ2h0XT1cIicwcHgnXCIgIFxuICAgICAgICA+XG4gICAgICAgIDx2ZXJiZW4tc3ZnIFxuICAgICAgICBpY29uPVwiaW5mb1wiIFxuICAgICAgICBbd2lkdGhdPVwiMTVcIiBcbiAgICAgICAgW2hlaWdodF09XCIxNVwiICAgXG4gICAgICAgICpuZ0lmPVwiaXNEdXBsaWNhdGVGaWx0ZXJcIlxuICAgICAgICBmaWxsPVwicmVkXCJcbiAgICAgICAgPlxuICAgICAgICA8L3ZlcmJlbi1zdmc+XG4gICAgICAgIDwvdmVyYmVuLXRvb2x0aXA+XG4gICAgICBcbiAgICAgIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcFRlbXBsYXRlPlxuICAgICAgIHt7ZHVwbGljYXRlTWVzc2FnZX19XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8IS0tIDx2ZXJiZW4tdG9vbHRpcFxuICAgICAgICAgW2JhY2tncm91bmRDb2xvcl09XCInZ3JleSdcIlxuICAgICAgICAgW3RleHRDb2xvcl09XCInd2hpdGUnXCJcbiAgICAgICAgIFtwYWRkaW5nXT1cIicxMHB4J1wiXG4gICAgICAgICBbYm9yZGVyUmFkaXVzXT1cIic4cHgnXCJcbiAgICAgICAgIFt0b3BdPVwiJzIwcHgnXCIgICAgICAgICAgICAgICAgIFxuICAgICAgICAgW3JpZ2h0XT1cIicwcHgnXCIgICBcbiAgICAgICAgIHdpZHRoPVwiMjUwcHhcIiBcbiAgICAgICAgICN0b29sdGlwIFxuICAgICAgICAgKm5nSWY9XCJ0b29sdGlwXCJcbiAgICAgICAgID5cbiAgICAgICAgIDxoMz57e2R1cGxpY2F0ZU1lc3NhZ2V9fTwvaDM+XG4gICAgICAgIDwvdmVyYmVuLXRvb2x0aXA+IC0tPlxuICAgICAgPC9kaXY+XG4gICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICBpY29uPVwiaW5mb1wiXG4gICAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgICBmaWxsPVwiZ3JleVwiXG4gICAgICAgICpuZ0lmPVwiIWlzRHVwbGljYXRlRmlsdGVyXCJcbiAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXRzV3JhcHBlclwiPlxuICAgICAgPHZlcmJlbi1kcm9wLWRvd25cbiAgICAgICAgd2lkdGg9XCI3cmVtXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgdmFsdWVcIlxuICAgICAgICBbb3B0aW9uc109XCJmaWx0ZXJBcnJheVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRGaWx0ZXJWYWx1ZVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRmlsdGVyTmFtZUNoYW5nZShzZWxlY3RlZEZpbHRlclZhbHVlKVwiXG4gICAgICA+XG4gICAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG4gICAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgICB3aWR0aD1cIjdyZW1cIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCB2YWx1ZVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IHZhbHVlXCJcbiAgICAgICAgW29wdGlvbnNdPVwiY29uZGl0aW9uT3B0aW9uc1wiXG4gICAgICAgIChvbkNoYW5nZSk9XCJjaGVja0R1cGxpY2F0ZUZpbHRlcigpXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZENvbmRpdGlvblwiXG4gICAgICA+XG4gICAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG5cbiAgICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICAqbmdJZj1cInNlbGVjdGVkRmlsdGVyVHlwZSA9PT0gJ0RhdGUnXCJcbiAgICAgIGJvcmRlcj1cIjFweCBzb2xpZCAjY2NjXCJcbiAgICAgIGJvcmRlclJhZGl1cz1cIjVweFwiXG4gICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICB3aWR0aD1cIjgwcHhcIlxuICAgICAgaGVpZ2h0PVwiMjVweFwiXG4gICAgICBwZD1cIjZweFwiXG4gICAgICBbc2hvd0JvcmRlcl09XCJ0cnVlXCJcbiAgICAgIFtzaG93RXJyb3JNZXNzYWdlXT1cInRydWVcIlxuICAgICAgW2Vycm9yUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxuICAgICAgW3R5cGVdPVwiJ2RhdGUnXCJcbiAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRWYWx1ZVwiXG4gICAgPjwvdmVyYmVuYS1pbnB1dD5cblxuICAgICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRGaWx0ZXJUeXBlID09PSAnQ3JlZGl0JyB8fCBzZWxlY3RlZEZpbHRlclR5cGUgPT09ICdJbnRlZ2VyJ1wiXG4gICAgICBib3JkZXI9XCIxcHggc29saWQgI2NjY1wiXG4gICAgICBib3JkZXJSYWRpdXM9XCI1cHhcIlxuICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgd2lkdGg9XCIxMDBweFwiXG4gICAgICBoZWlnaHQ9XCIyNXB4XCJcbiAgICAgIHBkPVwiNnB4XCJcbiAgICAgIHBsYWNlSG9sZGVyPVwiaW5wdXQgaW50ZWdlclwiXG4gICAgICBbc2hvd0JvcmRlcl09XCJ0cnVlXCJcblxuICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgICBbZXJyb3JQb3NpdGlvbl09XCInYm90dG9tJ1wiXG5cbiAgICAgIGFwcFZhbGlkYXRlPVwiaW50ZWdlclwiXG4gICAgICBbKG5nTW9kZWwpXT1cImlucHV0VmFsdWVcIlxuICAgID48L3ZlcmJlbmEtaW5wdXQ+XG5cbiAgICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICAqbmdJZj1cInNlbGVjdGVkRmlsdGVyVHlwZSA9PT0gJ0RlY2ltYWwnXCJcbiAgICAgIGJvcmRlcj1cIjFweCBzb2xpZCAjY2NjXCJcbiAgICAgIGJvcmRlclJhZGl1cz1cIjVweFwiXG4gICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICB3aWR0aD1cIjEwMHB4XCJcbiAgICAgIGhlaWdodD1cIjI1cHhcIlxuICAgICAgcGQ9XCI2cHhcIlxuICAgICAgcGxhY2VIb2xkZXI9XCJpbnB1dCBhIGRlY2ltYWxcIlxuICAgICAgW3Nob3dCb3JkZXJdPVwidHJ1ZVwiXG4gICAgICBbc2hvd0Vycm9yTWVzc2FnZV09XCJmYWxzZVwiXG4gICAgICBbZXJyb3JQb3NpdGlvbl09XCInYm90dG9tJ1wiXG4gICAgICBhcHBWYWxpZGF0ZT1cImRlY2ltYWxcIlxuICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFZhbHVlXCJcbiAgICA+PC92ZXJiZW5hLWlucHV0PlxuXG4gICAgICA8dmVyYmVuYS1pbnB1dFxuICAgICAgKm5nSWY9XCJzZWxlY3RlZEZpbHRlclR5cGUgIT09ICdDcmVkaXQnICYmIHNlbGVjdGVkRmlsdGVyVHlwZSAhPT0gJ0RhdGUnICAmJiBzZWxlY3RlZEZpbHRlclR5cGUgIT09ICdJbnRlZ2VyJyAgJiYgc2VsZWN0ZWRGaWx0ZXJUeXBlICE9PSAnRGVjaW1hbCdcIlxuICAgICAgYm9yZGVyPVwiMXB4IHNvbGlkICNjY2NcIlxuICAgICAgcGxhY2VIb2xkZXI9XCJpbnB1dCB2YWx1ZVwiXG4gICAgICBib3JkZXJSYWRpdXM9XCI1cHhcIlxuICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgd2lkdGg9XCIxMDBweFwiXG4gICAgICBoZWlnaHQ9XCIyNXB4XCJcbiAgICAgIHBkPVwiNnB4XCJcbiAgICAgIFtzaG93Qm9yZGVyXT1cInRydWVcIlxuXG4gICAgICBbc2hvd0Vycm9yTWVzc2FnZV09XCJ0cnVlXCJcbiAgICAgIFtlcnJvclBvc2l0aW9uXT1cIidib3R0b20nXCJcblxuICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFZhbHVlXCJcbiAgICA+PC92ZXJiZW5hLWlucHV0PlxuXG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYnRuV3JhcHBlclwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBbc3R5bGUubWFyZ2luLXRvcF09XCInMC41cmVtJ1wiXG4gICAgICAgIFtzdHlsZS5vdXRsaW5lXT1cIidub25lJ1wiXG4gICAgICAgIFtzdHlsZS5ib3JkZXJdPVwiJ25vbmUnXCJcbiAgICAgICAgW3N0eWxlLmJvcmRlci1yYWRpdXNdPVwiYm9yZGVyUmFkaXVzXCJcbiAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCJzZWNvbmRhcnlDb2xvclwiXG4gICAgICAgIFtzdHlsZS5mb250LXNpemVdPVwiJzEycHgnXCJcbiAgICAgICAgW3N0eWxlLmZvbnQtd2VpZ2h0XT1cIic1MDAnXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVBZGRGaWx0ZXJCdG5cIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgZGlzYWJsZWJ0bjogZGlzYWJsZUFkZEZpbHRlckJ0bixcbiAgICAgICAgICBlbmFibGVCdG46ICFkaXNhYmxlQWRkRmlsdGVyQnRuXG4gICAgICAgIH1cIlxuICAgICAgICAoY2xpY2spPVwiYWRkRmlsdGVyKClcIlxuICAgICAgPlxuICAgICAgICArIEFkZFxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGhyIC8+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYnRuV3JhcHBlclwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBbc3R5bGUubWFyZ2luLXRvcF09XCInMC41cmVtJ1wiXG4gICAgICAgIFtzdHlsZS5vdXRsaW5lXT1cIidub25lJ1wiXG4gICAgICAgIFtzdHlsZS5ib3JkZXJdPVwiJ25vbmUnXCJcbiAgICAgICAgW3N0eWxlLnBhZGRpbmddPVwiJzAuMnJlbSAxLjZyZW0nXCJcbiAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwicHJpbWFyeUNvbG9yXCJcbiAgICAgICAgW3N0eWxlLmNvbG9yXT1cInRlcnRpYXJ5Q29sb3JcIlxuICAgICAgICBbc3R5bGUuZm9udC1zaXplXT1cIicxMnB4J1wiXG4gICAgICAgIFtzdHlsZS5mb250LXdlaWdodF09XCInNjAwJ1wiXG4gICAgICAgIChjbGljayk9XCJhcHBseUZpbHRlcnMoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQXBwbHlGaWx0ZXJCdG5cIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgZGlzYWJsZWJ0bjogZGlzYWJsZUFwcGx5RmlsdGVyQnRuLFxuICAgICAgICAgIGVuYWJsZUJ0bjogIWRpc2FibGVBcHBseUZpbHRlckJ0blxuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgRmlsdGVyXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuXG4gIDwvZGl2PlxuXG48L3NlY3Rpb24+XG4iXX0=
|