@tsi-developpement/tsi-shared-ui 1.11.1 → 1.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/end-points/reporting-endpoints.mjs +3 -1
- package/esm2022/lib/models/reporting/report-template-response.mjs +1 -1
- package/esm2022/lib/services/reporting/reporting.service.mjs +4 -1
- package/esm2022/lib/tsi-components/manage-reporting/add-report-popup/add-report-popup.component.mjs +15 -3
- package/esm2022/lib/tsi-components/manage-reporting/manage-reporting.component.mjs +55 -3
- package/fesm2022/tsi-developpement-tsi-shared-ui.mjs +73 -4
- package/fesm2022/tsi-developpement-tsi-shared-ui.mjs.map +1 -1
- package/lib/end-points/reporting-endpoints.d.ts +2 -0
- package/lib/models/reporting/report-template-response.d.ts +1 -0
- package/lib/services/reporting/reporting.service.d.ts +1 -0
- package/lib/tsi-components/manage-reporting/add-report-popup/add-report-popup.component.d.ts +3 -0
- package/lib/tsi-components/manage-reporting/manage-reporting.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -27,6 +27,7 @@ export const ReportingSegments = {
|
|
|
27
27
|
deleteDefaultReportTemplateFile: 'delete-default-report-template-file',
|
|
28
28
|
dashboardModule: 'dashboardmodule',
|
|
29
29
|
toggleSeedOnStartup: 'toggle-seed-on-startup',
|
|
30
|
+
duplicateReport: 'duplicate',
|
|
30
31
|
};
|
|
31
32
|
export const ReportingEndpoints = {
|
|
32
33
|
addToBuiltInTemplate: (reportUid) => `${Segment.base}/${ReportingSegments.reporting}/${ReportingSegments.addReportToBuiltIn}/${reportUid}`,
|
|
@@ -53,5 +54,6 @@ export const ReportingEndpoints = {
|
|
|
53
54
|
getReportDescriminator: (entityName, propertyName, propertyValue) => `${Segment.base}/${ReportingSegments.reporting}/${ReportingSegments.getReportDescriminator}/${entityName}/${propertyName}/${propertyValue}`,
|
|
54
55
|
getReportTemplateByModuleCode: (moduleCode) => `${Segment.reportingServiceBase}/api/${ReportingSegments.dashboardModule}/${moduleCode}`,
|
|
55
56
|
toggleSeedOnStartup: (formName, templateName) => `${Segment.base}/${ReportingSegments.reporting}/${ReportingSegments.toggleSeedOnStartup}/${formName}/${templateName}`,
|
|
57
|
+
duplicateReport: (uid) => `${Segment.reportingServiceBase}/api/${ReportingSegments.report}/${ReportingSegments.duplicateReport}/${uid}`,
|
|
56
58
|
};
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0aW5nLWVuZHBvaW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi9lbmQtcG9pbnRzL3JlcG9ydGluZy1lbmRwb2ludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUVuQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUMvQixTQUFTLEVBQUcsY0FBYztJQUMxQixrQkFBa0IsRUFBQyxpQkFBaUI7SUFDcEMsd0JBQXdCLEVBQUUsa0JBQWtCO0lBQzVDLE1BQU0sRUFBQyxRQUFRO0lBQ2YsUUFBUSxFQUFFLFVBQVU7SUFDcEIsb0JBQW9CLEVBQUUsc0JBQXNCO0lBQzVDLHVCQUF1QixFQUFFLEtBQUs7SUFDOUIsd0JBQXdCLEVBQUUsTUFBTTtJQUNoQyxhQUFhLEVBQUUsZUFBZTtJQUM5QixnQkFBZ0IsRUFBRSxrQkFBa0I7SUFDcEMsVUFBVSxFQUFFLFlBQVk7SUFDeEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsV0FBVyxFQUFFLGFBQWE7SUFDMUIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsV0FBVyxFQUFFLGFBQWE7SUFDMUIsV0FBVyxFQUFFLGFBQWE7SUFDMUIsWUFBWSxFQUFFLGNBQWM7SUFDNUIscUJBQXFCLEVBQUUsa0JBQWtCO0lBQ3pDLHNCQUFzQixFQUFFLDhCQUE4QjtJQUN0RCxvQkFBb0IsRUFBRSw0QkFBNEI7SUFDbEQsaUNBQWlDLEVBQUUsNENBQTRDO0lBQy9FLHNCQUFzQixFQUFFLDBCQUEwQjtJQUNsRCwrQkFBK0IsRUFBRyxxQ0FBcUM7SUFDdkUsZUFBZSxFQUFFLGlCQUFpQjtJQUNsQyxtQkFBbUIsRUFBRSx3QkFBd0I7Q0FDOUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGtC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QUMsVUFBa0IsRUFBRSxZQUFvQixFQUFFLGFBQXFCLEVBQUUsRUFBRSxDQUMxRixHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksaUJBQWlCLENBQUMsU0FBUyxJQUFJLGlCQUFpQixDQUFDLHNCQUFzQixJQUFJLFVBQVUsSUFBSSxZQUFZLElBQUksYUFBYSxFQUFFO0lBRTdJLDZCQUE2QixFQUFFLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsb0JBQW9CLFFBQVEsaUJBQWlCLENBQUMsZUFBZSxJQUFJLFVBQVUsRUFBRTtJQUUvSSxtQkFBbUIsRUFBRSxDQUFDLFFBQWdCLEVBQUUsWUFBb0IsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLGlCQUFpQixDQUFDLFNBQVMsSUFBSSxpQkFBaUIsQ0FBQyxtQkFBbUIsSUFBSSxRQUFRLElBQUksWUFBWSxFQUFFO0NBRXZMLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWdtZW50IH0gZnJvbSBcIi4vYmFzZXVyaVwiXHJcblxyXG5leHBvcnQgY29uc3QgUmVwb3J0aW5nU2VnbWVudHMgPSB7XHJcbiAgcmVwb3J0aW5nIDogJ1JlcG9ydGluZ0FwcCcsXHJcbiAgYWRkUmVwb3J0VG9CdWlsdEluOidhZGQtdG8tYnVpbGQtaW4nLFxyXG4gIGdldERlZmF1bHRSZXBvcnRUZW1wbGF0ZSA6J2RlZmF1bHQtdGVtcGxhdGUnLFxyXG4gIHJlcG9ydDonUmVwb3J0JyxcclxuICBmb3JtbmFtZTogJ2Zvcm1uYW1lJyxcclxuICByZXBvcnRUb0VkaXRUZW1wbGF0ZTogJ1JlcG9ydFRvRWRpdFRlbXBsYXRlJyxcclxuICBhZGRSZXBvcnRUb0VkaXRUZW1wbGF0ZTogJ2FkZCcsXHJcbiAgZWRpdFJlcG9ydFRvRWRpdFRlbXBsYXRlOiAnZWRpdCcsXHJcbiAgcmVwb3J0VG9QcmludDogJ1JlcG9ydFRvUHJpbnQnLFxyXG4gIHJlcG9ydFRvVGVtcGxhdGU6ICdSZXBvcnRUb1RlbXBsYXRlJyxcclxuICB1cGxvYWRmaWxlOiAndXBsb2FkZmlsZScsXHJcbiAgZXhwb3J0OiAnZXhwb3J0JyxcclxuICBleHBvcnRUb1BkZjogJ2V4cG9ydFRvUGRmJyxcclxuICBkZWZhdWx0OiAnZGVmYXVsdCcsXHJcbiAgbXVsdGlwbGU6ICdtdWx0aXBsZScsXHJcbiAgYnlmb3JtOiAnYnlmb3JtJyxcclxuICB3aXRob3V0Rm9ybTogJ3dpdGhvdXRmb3JtJyxcclxuICBhbGxmb3JtbmFtZTogJ2FsbGZvcm1uYW1lJyxcclxuICB1cGRhdGVsYXlvdXQ6ICd1cGRhdGVsYXlvdXQnLFxyXG4gIGRlZmF1bHRSZXBvcnRUZW1wbGF0ZTogJ2RlZmF1bHQtdGVtcGxhdGUnLFxyXG4gIGFkZEZyb21CdWlsdEluVGVtcGxhdGU6ICd1cHNlcnQtZnJvbS1idWlsdGluLXRlbXBsYXRlJyxcclxuICBhZGRUb0J1aWx0SW5UZW1wbGF0ZTogJ3Vwc2VydC10by1idWlsdGluLXRlbXBsYXRlJyxcclxuICBtYWtlUmVwb3J0VGVtcGxhdGVMYXlvdXRBc0RlZmF1bHQgOidtYWtlLXJlcG9ydC1sYXlvdXQtYXMtZGVmYXVsdC1sYXlvdXQtc3R5bGUnLFxyXG4gIGdldFJlcG9ydERlc2NyaW1pbmF0b3IgOidnZXQtcmVwb3J0LWRlc2NyaW1pbmF0b3InLFxyXG4gIGRlbGV0ZURlZmF1bHRSZXBvcnRUZW1wbGF0ZUZpbGUgOiAnZGVsZXRlLWRlZmF1bHQtcmVwb3J0LXRlbXBsYXRlLWZpbGUnLFxyXG4gIGRhc2hib2FyZE1vZHVsZTogJ2Rhc2hib2FyZG1vZHVsZScsXHJcbiAgdG9nZ2xlU2VlZE9uU3RhcnR1cDogJ3RvZ2dsZS1zZWVkLW9uLXN0YXJ0dXAnLFxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgUmVwb3J0aW5nRW5kcG9pbnRzID0ge1xyXG5cclxuICBhZGRUb0J1aWx0SW5UZW1wbGF0ZTogKHJlcG9ydFVpZCA6IHN0cmluZyk9PmAke1NlZ21lbnQuYmFzZX0vJHtSZXBvcnRpbmdTZWdtZW50cy5yZXBvcnRpbmd9LyR7UmVwb3J0aW5nU2VnbWVudHMuYWRkUmVwb3J0VG9CdWlsdElufS8ke3JlcG9ydFVpZH1gLFxyXG5cclxuICBnZXREZWZhdWx0UmVwb3J0VGVtcGxhdGU6IChmb3JtTmFtZTogc3RyaW5nKT0+YCR7U2VnbWVudC5iYXNlfS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydGluZ30vJHtSZXBvcnRpbmdTZWdtZW50cy5nZXREZWZhdWx0UmVwb3J0VGVtcGxhdGV9LyR7Zm9ybU5hbWV9YCxcclxuXHJcbmdldFJlcG9ydHM6IChrZXk6IHN0cmluZywgZGVzY3JpbWluYXRvclZhbHVlPzogc3RyaW5nKSA9PlxyXG4gIGAke1NlZ21lbnQucmVwb3J0aW5nU2VydmljZUJhc2V9L2FwaS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydH0vJHtSZXBvcnRpbmdTZWdtZW50cy5ieWZvcm19LyR7a2V5fSR7ZGVzY3JpbWluYXRvclZhbHVlID8gJy8nICsgZGVzY3JpbWluYXRvclZhbHVlIDogJyd9YCxcclxuICBcclxuICBnZXRFZGl0aW9uUGVyc29SZXBvcnRzOiAoKT0+YCR7U2VnbWVudC5yZXBvcnRpbmdTZXJ2aWNlQmFzZX0vYXBpLyR7UmVwb3J0aW5nU2VnbWVudHMucmVwb3J0fS8ke1JlcG9ydGluZ1NlZ21lbnRzLndpdGhvdXRGb3JtfWAsXHJcblxyXG4gIGdldFJlcG9ydFRlbXBsYXRlQnlJZDogKGtleTogc3RyaW5nKT0+YCR7U2VnbWVudC5yZXBvcnRpbmdTZXJ2aWNlQmFzZX0vYXBpLyR7UmVwb3J0aW5nU2VnbWVudHMucmVwb3J0fS8ke2tleX1gLFxyXG5cclxuICBhZGRGcm9tQnVpbHRJblRlbXBsYXRlOiAoZm9ybU5hbWU6IHN0cmluZyx0ZW1wbGF0ZU5hbWUgOiBzdHJpbmcsIGRlc2NyaW1pbmF0b3JWYWx1ZSA/OiBzdHJpbmcpPT5gJHtTZWdtZW50LnJlcG9ydGluZ1NlcnZpY2VCYXNlfS9hcGkvJHtSZXBvcnRpbmdTZWdtZW50cy5yZXBvcnR9LyR7UmVwb3J0aW5nU2VnbWVudHMuYWRkRnJvbUJ1aWx0SW5UZW1wbGF0ZX0vJHtmb3JtTmFtZX0vJHt0ZW1wbGF0ZU5hbWV9JHtkZXNjcmltaW5hdG9yVmFsdWUgPyAnLycgKyBkZXNjcmltaW5hdG9yVmFsdWUgOiAnJ31gLFxyXG4gIFxyXG4gIGRlbGV0ZURlZmF1bHRSZXBvcnRUZW1wbGF0ZTogKGZvcm1OYW1lOiBzdHJpbmcsdGVtcGxhdGVOYW1lIDogc3RyaW5nKT0+YCR7U2VnbWVudC5iYXNlfS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydGluZ30vJHtSZXBvcnRpbmdTZWdtZW50cy5kZWxldGVEZWZhdWx0UmVwb3J0VGVtcGxhdGVGaWxlfS8ke2Zvcm1OYW1lfS8ke3RlbXBsYXRlTmFtZX1gLFxyXG5cclxuXHJcbiAgYWRkUmVwb3J0VG9Nb2RlbDooKSA9PmAke1NlZ21lbnQucmVwb3J0aW5nU2VydmljZUJhc2V9L2FwaS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydFRvVGVtcGxhdGV9YCxcclxuXHJcbiAgYWRkUmVwb3J0VG9QcmludDogKCkgPT5gJHtTZWdtZW50LnJlcG9ydGluZ1NlcnZpY2VCYXNlfS9hcGkvJHtSZXBvcnRpbmdTZWdtZW50cy5yZXBvcnRUb1ByaW50fWAsXHJcblxyXG4gIGFkZFJlcG9ydFRvRWRpdFRlbXBsYXRlOiAoKSA9PiBgJHtTZWdtZW50LnJlcG9ydGluZ1NlcnZpY2VCYXNlfS9hcGkvJHtSZXBvcnRpbmdTZWdtZW50cy5yZXBvcnRUb0VkaXRUZW1wbGF0ZX0vJHtSZXBvcnRpbmdTZWdtZW50cy5hZGRSZXBvcnRUb0VkaXRUZW1wbGF0ZX1gLFxyXG4gIFxyXG4gIGVkaXRSZXBvcnRUb0VkaXRUZW1wbGF0ZTogKCkgPT4gYCR7U2VnbWVudC5yZXBvcnRpbmdTZXJ2aWNlQmFzZX0vYXBpLyR7UmVwb3J0aW5nU2VnbWVudHMucmVwb3J0VG9FZGl0VGVtcGxhdGV9LyR7UmVwb3J0aW5nU2VnbWVudHMuZWRpdFJlcG9ydFRvRWRpdFRlbXBsYXRlfWAsXHJcblxyXG4gIGdldEF2YWlsYWJsZUZvcm1OYW1lczogKCkgPT4gYCR7U2VnbWVudC5yZXBvcnRpbmdTZXJ2aWNlQmFzZX0vYXBpLyR7UmVwb3J0aW5nU2VnbWVudHMucmVwb3J0fS8ke1JlcG9ydGluZ1NlZ21lbnRzLmFsbGZvcm1uYW1lfWAsXHJcblxyXG4gIGV4cG9ydFJlcG9ydEZpbGU6IChyZXBvcnRUZW1wbGF0ZVVpZDogc3RyaW5nKSA9PiBgJHtTZWdtZW50LnJlcG9ydGluZ1NlcnZpY2VCYXNlfS9hcGkvJHtSZXBvcnRpbmdTZWdtZW50cy5yZXBvcnR9LyR7UmVwb3J0aW5nU2VnbWVudHMuZXhwb3J0fS8ke3JlcG9ydFRlbXBsYXRlVWlkfWAsXHJcblxyXG4gIGV4cG9ydFJlcG9ydEZpbGVUb1BkZjogKCkgPT4gYCR7U2VnbWVudC5yZXBvcnRpbmdTZXJ2aWNlQmFzZX0vYXBpLyR7UmVwb3J0aW5nU2VnbWVudHMucmVwb3J0fS8ke1JlcG9ydGluZ1NlZ21lbnRzLmV4cG9ydFRvUGRmfWAsXHJcblxyXG51cGxvYWRSZXBvcnRGaWxlOiAoZGlzY3JpbWluYXRvclZhbHVlPzogc3RyaW5nKSA9PlxyXG4gIGAke1NlZ21lbnQucmVwb3J0aW5nU2VydmljZUJhc2V9L2FwaS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydH0vJHtSZXBvcnRpbmdTZWdtZW50cy51cGxvYWRmaWxlfSR7ZGlzY3JpbWluYXRvclZhbHVlID8gYC8ke2Rpc2NyaW1pbmF0b3JWYWx1ZX1gIDogJyd9YCxcclxuXHJcbiAgZGVsZXRlUmVwb3J0OiAodWlkOiBzdHJpbmcpPT5gJHtTZWdtZW50LnJlcG9ydGluZ1NlcnZpY2VCYXNlfS9hcGkvJHtSZXBvcnRpbmdTZWdtZW50cy5yZXBvcnR9LyR7dWlkfWAsXHJcblxyXG5zZXREZWZhdWx0UmVwb3J0OiAoaWQ6IG51bWJlciwgZGVzY3JpbWluYXRvclZhbHVlPzogc3RyaW5nKSA9PiBgJHtTZWdtZW50LnJlcG9ydGluZ1NlcnZpY2VCYXNlfS9hcGkvJHtSZXBvcnRpbmdTZWdtZW50cy5yZXBvcnR9LyR7UmVwb3J0aW5nU2VnbWVudHMuZGVmYXVsdH0vJHtpZH0ke2Rlc2NyaW1pbmF0b3JWYWx1ZSAhPT0gdW5kZWZpbmVkID8gYC8ke2Rlc2NyaW1pbmF0b3JWYWx1ZX1gIDogJyd9YCxcclxuICBnZXREZWZhdWx0UmVwb3J0OiAoKT0+YCR7U2VnbWVudC5yZXBvcnRpbmdTZXJ2aWNlQmFzZX0vYXBpLyR7UmVwb3J0aW5nU2VnbWVudHMucmVwb3J0fS8ke1JlcG9ydGluZ1NlZ21lbnRzLmRlZmF1bHR9YCxcclxuXHJcbiAgZGVsZXRlTXVsdGlwbGVSZXBvcnRzOiAoKT0+YCR7U2VnbWVudC5yZXBvcnRpbmdTZXJ2aWNlQmFzZX0vYXBpLyR7UmVwb3J0aW5nU2VnbWVudHMucmVwb3J0fS8ke1JlcG9ydGluZ1NlZ21lbnRzLm11bHRpcGxlfWAsXHJcblxyXG4gIHVwZGF0ZVJlcG9ydExheW91dDogKGlkOiBudW1iZXIpID0+IGAke1NlZ21lbnQucmVwb3J0aW5nU2VydmljZUJhc2V9L2FwaS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydH0vJHtSZXBvcnRpbmdTZWdtZW50cy51cGRhdGVsYXlvdXR9LyR7aWR9YCxcclxuICBcclxuICBcclxuICBtYWtlUmVwb3J0TGF5b3V0QXNEZWZhdWx0TGF5b3V0OiAoKSA9PiBgJHtTZWdtZW50LmJhc2V9LyR7UmVwb3J0aW5nU2VnbWVudHMucmVwb3J0aW5nfS8ke1JlcG9ydGluZ1NlZ21lbnRzLm1ha2VSZXBvcnRUZW1wbGF0ZUxheW91dEFzRGVmYXVsdH1gLFxyXG4gIFxyXG4gIGdldFJlcG9ydERlc2NyaW1pbmF0b3I6IChlbnRpdHlOYW1lOiBzdHJpbmcsIHByb3BlcnR5TmFtZTogc3RyaW5nLCBwcm9wZXJ0eVZhbHVlOiBzdHJpbmcpID0+IFxyXG4gICAgYCR7U2VnbWVudC5iYXNlfS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydGluZ30vJHtSZXBvcnRpbmdTZWdtZW50cy5nZXRSZXBvcnREZXNjcmltaW5hdG9yfS8ke2VudGl0eU5hbWV9LyR7cHJvcGVydHlOYW1lfS8ke3Byb3BlcnR5VmFsdWV9YCxcclxuXHJcbiAgZ2V0UmVwb3J0VGVtcGxhdGVCeU1vZHVsZUNvZGU6IChtb2R1bGVDb2RlOiBzdHJpbmcpID0+IGAke1NlZ21lbnQucmVwb3J0aW5nU2VydmljZUJhc2V9L2FwaS8ke1JlcG9ydGluZ1NlZ21lbnRzLmRhc2hib2FyZE1vZHVsZX0vJHttb2R1bGVDb2RlfWAsXHJcblxyXG4gIHRvZ2dsZVNlZWRPblN0YXJ0dXA6IChmb3JtTmFtZTogc3RyaW5nLCB0ZW1wbGF0ZU5hbWU6IHN0cmluZykgPT4gYCR7U2VnbWVudC5iYXNlfS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydGluZ30vJHtSZXBvcnRpbmdTZWdtZW50cy50b2dnbGVTZWVkT25TdGFydHVwfS8ke2Zvcm1OYW1lfS8ke3RlbXBsYXRlTmFtZX1gLFxyXG5cclxufVxyXG5cclxuIl19
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0aW5nLWVuZHBvaW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi9lbmQtcG9pbnRzL3JlcG9ydGluZy1lbmRwb2ludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUVuQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUMvQixTQUFTLEVBQUcsY0FBYztJQUMxQixrQkFBa0IsRUFBQyxpQkFBaUI7SUFDcEMsd0JBQXdCLEVBQUUsa0JBQWtCO0lBQzVDLE1BQU0sRUFBQyxRQUFRO0lBQ2YsUUFBUSxFQUFFLFVBQVU7SUFDcEIsb0JBQW9CLEVBQUUsc0JBQXNCO0lBQzVDLHVCQUF1QixFQUFFLEtBQUs7SUFDOUIsd0JBQXdCLEVBQUUsTUFBTTtJQUNoQyxhQUFhLEVBQUUsZUFBZTtJQUM5QixnQkFBZ0IsRUFBRSxrQkFBa0I7SUFDcEMsVUFBVSxFQUFFLFlBQVk7SUFDeEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsV0FBVyxFQUFFLGFBQWE7SUFDMUIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsV0FBVyxFQUFFLGFBQWE7SUFDMUIsV0FBVyxFQUFFLGFBQWE7SUFDMUIsWUFBWSxFQUFFLGNBQWM7SUFDNUIscUJBQXFCLEVBQUUsa0JBQWtCO0lBQ3pDLHNCQUFzQixFQUFFLDhCQUE4QjtJQUN0RCxvQkFBb0IsRUFBRSw0QkFBNEI7SUFDbEQsaUNBQWlDLEVBQUUsNENBQTRDO0lBQy9FLHNCQUFzQixFQUFFLDBCQUEwQjtJQUNsRCwrQkFBK0IsRUFBRyxxQ0FBcUM7SUFDdkUsZUFBZSxFQUFFLGlCQUFpQjtJQUNsQyxtQkFBbUIsRUFBRSx3QkFBd0I7SUFDN0MsZUFBZSxFQUFFLFdBQVc7Q0FDN0IsQ0FBQTtB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O0lBRTlJLHNCQUFzQixFQUFFLENBQUMsVUFBa0IsRUFBRSxZQUFvQixFQUFFLGFBQXFCLEVBQUUsRUFBRSxDQUMxRixHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksaUJBQWlCLENBQUMsU0FBUyxJQUFJLGlCQUFpQixDQUFDLHNCQUFzQixJQUFJLFVBQVUsSUFBSSxZQUFZLElBQUksYUFBYSxFQUFFO0lBRTdJLDZCQUE2QixFQUFFLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsb0JBQW9CLFFBQVEsaUJBQWlCLENBQUMsZUFBZSxJQUFJLFVBQVUsRUFBRTtJQUUvSSxtQkFBbUIsRUFBRSxDQUFDLFFBQWdCLEVBQUUsWUFBb0IsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLGlCQUFpQixDQUFDLFNBQVMsSUFBSSxpQkFBaUIsQ0FBQyxtQkFBbUIsSUFBSSxRQUFRLElBQUksWUFBWSxFQUFFO0lBRXRMLGVBQWUsRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsb0JBQW9CLFFBQVEsaUJBQWlCLENBQUMsTUFBTSxJQUFJLGlCQUFpQixDQUFDLGVBQWUsSUFBSSxHQUFHLEVBQUU7Q0FFaEosQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlZ21lbnQgfSBmcm9tIFwiLi9iYXNldXJpXCJcclxuXHJcbmV4cG9ydCBjb25zdCBSZXBvcnRpbmdTZWdtZW50cyA9IHtcclxuICByZXBvcnRpbmcgOiAnUmVwb3J0aW5nQXBwJyxcclxuICBhZGRSZXBvcnRUb0J1aWx0SW46J2FkZC10by1idWlsZC1pbicsXHJcbiAgZ2V0RGVmYXVsdFJlcG9ydFRlbXBsYXRlIDonZGVmYXVsdC10ZW1wbGF0ZScsXHJcbiAgcmVwb3J0OidSZXBvcnQnLFxyXG4gIGZvcm1uYW1lOiAnZm9ybW5hbWUnLFxyXG4gIHJlcG9ydFRvRWRpdFRlbXBsYXRlOiAnUmVwb3J0VG9FZGl0VGVtcGxhdGUnLFxyXG4gIGFkZFJlcG9ydFRvRWRpdFRlbXBsYXRlOiAnYWRkJyxcclxuICBlZGl0UmVwb3J0VG9FZGl0VGVtcGxhdGU6ICdlZGl0JyxcclxuICByZXBvcnRUb1ByaW50OiAnUmVwb3J0VG9QcmludCcsXHJcbiAgcmVwb3J0VG9UZW1wbGF0ZTogJ1JlcG9ydFRvVGVtcGxhdGUnLFxyXG4gIHVwbG9hZGZpbGU6ICd1cGxvYWRmaWxlJyxcclxuICBleHBvcnQ6ICdleHBvcnQnLFxyXG4gIGV4cG9ydFRvUGRmOiAnZXhwb3J0VG9QZGYnLFxyXG4gIGRlZmF1bHQ6ICdkZWZhdWx0JyxcclxuICBtdWx0aXBsZTogJ211bHRpcGxlJyxcclxuICBieWZvcm06ICdieWZvcm0nLFxyXG4gIHdpdGhvdXRGb3JtOiAnd2l0aG91dGZvcm0nLFxyXG4gIGFsbGZvcm1uYW1lOiAnYWxsZm9ybW5hbWUnLFxyXG4gIHVwZGF0ZWxheW91dDogJ3VwZGF0ZWxheW91dCcsXHJcbiAgZGVmYXVsdFJlcG9ydFRlbXBsYXRlOiAnZGVmYXVsdC10ZW1wbGF0ZScsXHJcbiAgYWRkRnJvbUJ1aWx0SW5UZW1wbGF0ZTogJ3Vwc2VydC1mcm9tLWJ1aWx0aW4tdGVtcGxhdGUnLFxyXG4gIGFkZFRvQnVpbHRJblRlbXBsYXRlOiAndXBzZXJ0LXRvLWJ1aWx0aW4tdGVtcGxhdGUnLFxyXG4gIG1ha2VSZXBvcnRUZW1wbGF0ZUxheW91dEFzRGVmYXVsdCA6J21ha2UtcmVwb3J0LWxheW91dC1hcy1kZWZhdWx0LWxheW91dC1zdHlsZScsXHJcbiAgZ2V0UmVwb3J0RGVzY3JpbWluYXRvciA6J2dldC1yZXBvcnQtZGVzY3JpbWluYXRvcicsXHJcbiAgZGVsZXRlRGVmYXVsdFJlcG9ydFRlbXBsYXRlRmlsZSA6ICdkZWxldGUtZGVmYXVsdC1yZXBvcnQtdGVtcGxhdGUtZmlsZScsXHJcbiAgZGFzaGJvYXJkTW9kdWxlOiAnZGFzaGJvYXJkbW9kdWxlJyxcclxuICB0b2dnbGVTZWVkT25TdGFydHVwOiAndG9nZ2xlLXNlZWQtb24tc3RhcnR1cCcsXHJcbiAgZHVwbGljYXRlUmVwb3J0OiAnZHVwbGljYXRlJyxcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IFJlcG9ydGluZ0VuZHBvaW50cyA9IHtcclxuXHJcbiAgYWRkVG9CdWlsdEluVGVtcGxhdGU6IChyZXBvcnRVaWQgOiBzdHJpbmcpPT5gJHtTZWdtZW50LmJhc2V9LyR7UmVwb3J0aW5nU2VnbWVudHMucmVwb3J0aW5nfS8ke1JlcG9ydGluZ1NlZ21lbnRzLmFkZFJlcG9ydFRvQnVpbHRJbn0vJHtyZXBvcnRVaWR9YCxcclxuXHJcbiAgZ2V0RGVmYXVsdFJlcG9ydFRlbXBsYXRlOiAoZm9ybU5hbWU6IHN0cmluZyk9PmAke1NlZ21lbnQuYmFzZX0vJHtSZXBvcnRpbmdTZWdtZW50cy5yZXBvcnRpbmd9LyR7UmVwb3J0aW5nU2VnbWVudHMuZ2V0RGVmYXVsdFJlcG9ydFRlbXBsYXRlfS8ke2Zvcm1OYW1lfWAsXHJcblxyXG5nZXRSZXBvcnRzOiAoa2V5OiBzdHJpbmcsIGRlc2NyaW1pbmF0b3JWYWx1ZT86IHN0cmluZykgPT5cclxuICBgJHtTZWdtZW50LnJlcG9ydGluZ1NlcnZpY2VCYXNlfS9hcGkvJHtSZXBvcnRpbmdTZWdtZW50cy5yZXBvcnR9LyR7UmVwb3J0aW5nU2VnbWVudHMuYnlmb3JtfS8ke2tleX0ke2Rlc2NyaW1pbmF0b3JWYWx1ZSA/ICcvJyArIGRlc2NyaW1pbmF0b3JWYWx1ZSA6ICcnfWAsXHJcbiAgXHJcbiAgZ2V0RWRpdGlvblBlcnNvUmVwb3J0czogKCk9PmAke1NlZ21lbnQucmVwb3J0aW5nU2VydmljZUJhc2V9L2FwaS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydH0vJHtSZXBvcnRpbmdTZWdtZW50cy53aXRob3V0Rm9ybX1gLFxyXG5cclxuICBnZXRSZXBvcnRUZW1wbGF0ZUJ5SWQ6IChrZXk6IHN0cmluZyk9PmAke1NlZ21lbnQucmVwb3J0aW5nU2VydmljZUJhc2V9L2FwaS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydH0vJHtrZXl9YCxcclxuXHJcbiAgYWRkRnJvbUJ1aWx0SW5UZW1wbGF0ZTogKGZvcm1OYW1lOiBzdHJpbmcsdGVtcGxhdGVOYW1lIDogc3RyaW5nLCBkZXNjcmltaW5hdG9yVmFsdWUgPzogc3RyaW5nKT0+YCR7U2VnbWVudC5yZXBvcnRpbmdTZXJ2aWNlQmFzZX0vYXBpLyR7UmVwb3J0aW5nU2VnbWVudHMucmVwb3J0fS8ke1JlcG9ydGluZ1NlZ21lbnRzLmFkZEZyb21CdWlsdEluVGVtcGxhdGV9LyR7Zm9ybU5hbWV9LyR7dGVtcGxhdGVOYW1lfSR7ZGVzY3JpbWluYXRvclZhbHVlID8gJy8nICsgZGVzY3JpbWluYXRvclZhbHVlIDogJyd9YCxcclxuICBcclxuICBkZWxldGVEZWZhdWx0UmVwb3J0VGVtcGxhdGU6IChmb3JtTmFtZTogc3RyaW5nLHRlbXBsYXRlTmFtZSA6IHN0cmluZyk9PmAke1NlZ21lbnQuYmFzZX0vJHtSZXBvcnRpbmdTZWdtZW50cy5yZXBvcnRpbmd9LyR7UmVwb3J0aW5nU2VnbWVudHMuZGVsZXRlRGVmYXVsdFJlcG9ydFRlbXBsYXRlRmlsZX0vJHtmb3JtTmFtZX0vJHt0ZW1wbGF0ZU5hbWV9YCxcclxuXHJcblxyXG4gIGFkZFJlcG9ydFRvTW9kZWw6KCkgPT5gJHtTZWdtZW50LnJlcG9ydGluZ1NlcnZpY2VCYXNlfS9hcGkvJHtSZXBvcnRpbmdTZWdtZW50cy5yZXBvcnRUb1RlbXBsYXRlfWAsXHJcblxyXG4gIGFkZFJlcG9ydFRvUHJpbnQ6ICgpID0+YCR7U2VnbWVudC5yZXBvcnRpbmdTZXJ2aWNlQmFzZX0vYXBpLyR7UmVwb3J0aW5nU2VnbWVudHMucmVwb3J0VG9QcmludH1gLFxyXG5cclxuICBhZGRSZXBvcnRUb0VkaXRUZW1wbGF0ZTogKCkgPT4gYCR7U2VnbWVudC5yZXBvcnRpbmdTZXJ2aWNlQmFzZX0vYXBpLyR7UmVwb3J0aW5nU2VnbWVudHMucmVwb3J0VG9FZGl0VGVtcGxhdGV9LyR7UmVwb3J0aW5nU2VnbWVudHMuYWRkUmVwb3J0VG9FZGl0VGVtcGxhdGV9YCxcclxuICBcclxuICBlZGl0UmVwb3J0VG9FZGl0VGVtcGxhdGU6ICgpID0+IGAke1NlZ21lbnQucmVwb3J0aW5nU2VydmljZUJhc2V9L2FwaS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydFRvRWRpdFRlbXBsYXRlfS8ke1JlcG9ydGluZ1NlZ21lbnRzLmVkaXRSZXBvcnRUb0VkaXRUZW1wbGF0ZX1gLFxyXG5cclxuICBnZXRBdmFpbGFibGVGb3JtTmFtZXM6ICgpID0+IGAke1NlZ21lbnQucmVwb3J0aW5nU2VydmljZUJhc2V9L2FwaS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydH0vJHtSZXBvcnRpbmdTZWdtZW50cy5hbGxmb3JtbmFtZX1gLFxyXG5cclxuICBleHBvcnRSZXBvcnRGaWxlOiAocmVwb3J0VGVtcGxhdGVVaWQ6IHN0cmluZykgPT4gYCR7U2VnbWVudC5yZXBvcnRpbmdTZXJ2aWNlQmFzZX0vYXBpLyR7UmVwb3J0aW5nU2VnbWVudHMucmVwb3J0fS8ke1JlcG9ydGluZ1NlZ21lbnRzLmV4cG9ydH0vJHtyZXBvcnRUZW1wbGF0ZVVpZH1gLFxyXG5cclxuICBleHBvcnRSZXBvcnRGaWxlVG9QZGY6ICgpID0+IGAke1NlZ21lbnQucmVwb3J0aW5nU2VydmljZUJhc2V9L2FwaS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydH0vJHtSZXBvcnRpbmdTZWdtZW50cy5leHBvcnRUb1BkZn1gLFxyXG5cclxudXBsb2FkUmVwb3J0RmlsZTogKGRpc2NyaW1pbmF0b3JWYWx1ZT86IHN0cmluZykgPT5cclxuICBgJHtTZWdtZW50LnJlcG9ydGluZ1NlcnZpY2VCYXNlfS9hcGkvJHtSZXBvcnRpbmdTZWdtZW50cy5yZXBvcnR9LyR7UmVwb3J0aW5nU2VnbWVudHMudXBsb2FkZmlsZX0ke2Rpc2NyaW1pbmF0b3JWYWx1ZSA/IGAvJHtkaXNjcmltaW5hdG9yVmFsdWV9YCA6ICcnfWAsXHJcblxyXG4gIGRlbGV0ZVJlcG9ydDogKHVpZDogc3RyaW5nKT0+YCR7U2VnbWVudC5yZXBvcnRpbmdTZXJ2aWNlQmFzZX0vYXBpLyR7UmVwb3J0aW5nU2VnbWVudHMucmVwb3J0fS8ke3VpZH1gLFxyXG5cclxuc2V0RGVmYXVsdFJlcG9ydDogKGlkOiBudW1iZXIsIGRlc2NyaW1pbmF0b3JWYWx1ZT86IHN0cmluZykgPT4gYCR7U2VnbWVudC5yZXBvcnRpbmdTZXJ2aWNlQmFzZX0vYXBpLyR7UmVwb3J0aW5nU2VnbWVudHMucmVwb3J0fS8ke1JlcG9ydGluZ1NlZ21lbnRzLmRlZmF1bHR9LyR7aWR9JHtkZXNjcmltaW5hdG9yVmFsdWUgIT09IHVuZGVmaW5lZCA/IGAvJHtkZXNjcmltaW5hdG9yVmFsdWV9YCA6ICcnfWAsXHJcbiAgZ2V0RGVmYXVsdFJlcG9ydDogKCk9PmAke1NlZ21lbnQucmVwb3J0aW5nU2VydmljZUJhc2V9L2FwaS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydH0vJHtSZXBvcnRpbmdTZWdtZW50cy5kZWZhdWx0fWAsXHJcblxyXG4gIGRlbGV0ZU11bHRpcGxlUmVwb3J0czogKCk9PmAke1NlZ21lbnQucmVwb3J0aW5nU2VydmljZUJhc2V9L2FwaS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydH0vJHtSZXBvcnRpbmdTZWdtZW50cy5tdWx0aXBsZX1gLFxyXG5cclxuICB1cGRhdGVSZXBvcnRMYXlvdXQ6IChpZDogbnVtYmVyKSA9PiBgJHtTZWdtZW50LnJlcG9ydGluZ1NlcnZpY2VCYXNlfS9hcGkvJHtSZXBvcnRpbmdTZWdtZW50cy5yZXBvcnR9LyR7UmVwb3J0aW5nU2VnbWVudHMudXBkYXRlbGF5b3V0fS8ke2lkfWAsXHJcbiAgXHJcbiAgXHJcbiAgbWFrZVJlcG9ydExheW91dEFzRGVmYXVsdExheW91dDogKCkgPT4gYCR7U2VnbWVudC5iYXNlfS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydGluZ30vJHtSZXBvcnRpbmdTZWdtZW50cy5tYWtlUmVwb3J0VGVtcGxhdGVMYXlvdXRBc0RlZmF1bHR9YCxcclxuICBcclxuICBnZXRSZXBvcnREZXNjcmltaW5hdG9yOiAoZW50aXR5TmFtZTogc3RyaW5nLCBwcm9wZXJ0eU5hbWU6IHN0cmluZywgcHJvcGVydHlWYWx1ZTogc3RyaW5nKSA9PiBcclxuICAgIGAke1NlZ21lbnQuYmFzZX0vJHtSZXBvcnRpbmdTZWdtZW50cy5yZXBvcnRpbmd9LyR7UmVwb3J0aW5nU2VnbWVudHMuZ2V0UmVwb3J0RGVzY3JpbWluYXRvcn0vJHtlbnRpdHlOYW1lfS8ke3Byb3BlcnR5TmFtZX0vJHtwcm9wZXJ0eVZhbHVlfWAsXHJcblxyXG4gIGdldFJlcG9ydFRlbXBsYXRlQnlNb2R1bGVDb2RlOiAobW9kdWxlQ29kZTogc3RyaW5nKSA9PiBgJHtTZWdtZW50LnJlcG9ydGluZ1NlcnZpY2VCYXNlfS9hcGkvJHtSZXBvcnRpbmdTZWdtZW50cy5kYXNoYm9hcmRNb2R1bGV9LyR7bW9kdWxlQ29kZX1gLFxyXG5cclxuICB0b2dnbGVTZWVkT25TdGFydHVwOiAoZm9ybU5hbWU6IHN0cmluZywgdGVtcGxhdGVOYW1lOiBzdHJpbmcpID0+IGAke1NlZ21lbnQuYmFzZX0vJHtSZXBvcnRpbmdTZWdtZW50cy5yZXBvcnRpbmd9LyR7UmVwb3J0aW5nU2VnbWVudHMudG9nZ2xlU2VlZE9uU3RhcnR1cH0vJHtmb3JtTmFtZX0vJHt0ZW1wbGF0ZU5hbWV9YCxcclxuXHJcbiAgZHVwbGljYXRlUmVwb3J0OiAodWlkOiBzdHJpbmcpID0+IGAke1NlZ21lbnQucmVwb3J0aW5nU2VydmljZUJhc2V9L2FwaS8ke1JlcG9ydGluZ1NlZ21lbnRzLnJlcG9ydH0vJHtSZXBvcnRpbmdTZWdtZW50cy5kdXBsaWNhdGVSZXBvcnR9LyR7dWlkfWAsXHJcblxyXG59XHJcblxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXRlbXBsYXRlLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHNpLXNoYXJlZC11aS9zcmMvbGliL21vZGVscy9yZXBvcnRpbmcvcmVwb3J0LXRlbXBsYXRlLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFJlcG9ydFRlbXBsYXRlUmVzcG9uc2Uge1xyXG4gIHVpZDogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICByZXN0RW5kcG9pbnQ6IHN0cmluZztcclxuICByZXBvcnRUeXBlOiBudW1iZXI7XHJcbiAgcmVwb3J0VHlwZU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBpc0RlZmF1bHQ6IGJvb2xlYW47XHJcbiAgbW9kdWxlOiBzdHJpbmc7XHJcbiAgb3JkZXI6IG51bWJlcjtcclxuICByZXBvcnROYW1lPzogc3RyaW5nO1xyXG4gIHNob3J0TmFtZT86IHN0cmluZztcclxuICBkaXNwbGF5OiBib29sZWFuO1xyXG4gIGlzUmVhZE9ubHk6IGJvb2xlYW47XHJcbn1cclxuIl19
|
|
@@ -102,6 +102,9 @@ export class ReportingService {
|
|
|
102
102
|
toggleSeedOnStartup(formName, templateName) {
|
|
103
103
|
return this.httpClient.post(ReportingEndpoints.toggleSeedOnStartup(formName, templateName), {});
|
|
104
104
|
}
|
|
105
|
+
duplicateReport(uid, newName) {
|
|
106
|
+
return this.httpClient.post(ReportingEndpoints.duplicateReport(uid), { newName });
|
|
107
|
+
}
|
|
105
108
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReportingService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
106
109
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReportingService, providedIn: 'root' }); }
|
|
107
110
|
}
|
|
@@ -111,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
111
114
|
providedIn: 'root'
|
|
112
115
|
}]
|
|
113
116
|
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0aW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90c2ktc2hhcmVkLXVpL3NyYy9saWIvc2VydmljZXMvcmVwb3J0aW5nL3JlcG9ydGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFNL0UsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUksQ0FBQztJQUUvQyxVQUFVLENBQUMsR0FBVyxFQUFFLGtCQUEyQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUEyQixrQkFBa0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBQ0QsNkJBQTZCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQTJCLGtCQUFrQixDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQscUJBQXFCLENBQUMsR0FBVztRQUMvQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFNLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQXVCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQU0sa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBb0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBTSxrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxLQUEyQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFNLGtCQUFrQixDQUFDLHVCQUF1QixFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQWtDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQU0sa0JBQWtCLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBVztRQUMxQixNQUFNLFdBQVcsR0FBRztZQUNsQixjQUFjLEVBQUUsYUFBdUI7U0FDeEMsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELHFCQUFxQixDQUFDLGFBQTRCO1FBQ2hELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLEVBQUUsRUFBRSxhQUFhLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNuSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBVSxFQUFFLGtCQUE0QjtRQUN2RCxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbkQsUUFBUSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVc7UUFDdEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBUyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUUsQ0FBQztJQUMvRSxDQUFDO0lBRUQscUJBQXFCLENBQUMsR0FBYTtRQUNqQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFTLGtCQUFrQixDQUFDLHFCQUFxQixFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVUsRUFBRSxrQkFBNEI7UUFDdkQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBTSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsa0JBQWtCLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBZ0IsRUFBRSxrQkFBMkI7UUFDNUQsYUFBYTtRQUNiLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDOUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRTdDLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUN2QixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUF5QixrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVELGtCQUFrQixDQUFDLEVBQVUsRUFBRSxJQUFVO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNuRCxRQUFRLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsd0JBQXdCLENBQUMsUUFBZ0I7UUFDdkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBTSxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxRQUFnQixFQUFFLFlBQW9CLEVBQUUsa0JBQTRCO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQU0sa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDekgsQ0FBQztJQUVELG9CQUFvQixDQUFDLFFBQWdCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQU0sa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDekYsQ0FBQztJQUVELCtCQUErQixDQUFDLE9BQVk7UUFDMUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBTSxrQkFBa0IsQ0FBQywrQkFBK0IsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ2pHLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxPQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQU0sdUJBQXVCLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxVQUFVLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ25ILENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsZ0tBQWdLO0lBQ2hLLElBQUk7SUFFSiwwQkFBMEIsQ0FBQyxZQUFxQixFQUFFLE1BQWU7UUFDL0QsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUM7UUFDdEMsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUM7UUFFbkMsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO2dCQUMxQyxPQUFPLFlBQVksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsTUFBTyxDQUFDLENBQUM7WUFDOUQsQ0FBQztZQUVELE9BQU8sWUFBWSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUVELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCwrQkFBK0IsQ0FBQyxRQUFnQixFQUFFLFlBQW9CO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUE7SUFDdkcsQ0FBQztJQUVELG1CQUFtQixDQUFDLFFBQWdCLEVBQUUsWUFBb0I7UUFDeEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBTSxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkcsQ0FBQzsrR0E5SFUsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFkbWluaXN0cmF0aW9uRW5kcG9pbnRzLCBSZXBvcnRpbmdFbmRwb2ludHMgfSBmcm9tICcuLi8uLi9lbmQtcG9pbnRzJztcclxuaW1wb3J0IHsgUmVwb3J0VGVtcGxhdGVSZXNwb25zZSwgUmVwb3J0VG9UZW1wbGF0ZSwgUmVwb3J0VG9QcmludCwgUmVwb3J0VG9FZGl0VGVtcGxhdGUsIFJlcG9ydFRvRWRpdFRlbXBsYXRlUGF5bG9hZCB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRpbmdTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgZ2V0UmVwb3J0cyhrZXk6IHN0cmluZywgZGVzY3JpbWluYXRvclZhbHVlPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZXBvcnRUZW1wbGF0ZVJlc3BvbnNlW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFJlcG9ydFRlbXBsYXRlUmVzcG9uc2VbXT4oUmVwb3J0aW5nRW5kcG9pbnRzLmdldFJlcG9ydHMoa2V5LCBkZXNjcmltaW5hdG9yVmFsdWUpKTtcclxuICB9XHJcbiAgZ2V0RWRpdGlvblBlcnNvbm5hbGlzZVJlcG9ydHMoKTogT2JzZXJ2YWJsZTxSZXBvcnRUZW1wbGF0ZVJlc3BvbnNlW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFJlcG9ydFRlbXBsYXRlUmVzcG9uc2VbXT4oUmVwb3J0aW5nRW5kcG9pbnRzLmdldEVkaXRpb25QZXJzb1JlcG9ydHMoKSk7XHJcbiAgfVxyXG4gIFxyXG4gIGdldFJlcG9ydFRlbXBsYXRlQnlJZChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PGFueT4oUmVwb3J0aW5nRW5kcG9pbnRzLmdldFJlcG9ydFRlbXBsYXRlQnlJZChrZXkpKTtcclxuICB9XHJcblxyXG4gIGFkZFJlcG9ydFRvTW9kZWwobW9kZWw6IFJlcG9ydFRvVGVtcGxhdGUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PGFueT4oUmVwb3J0aW5nRW5kcG9pbnRzLmFkZFJlcG9ydFRvTW9kZWwoKSwgbW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgYWRkUmVwb3J0VG9QcmludChtb2RlbDogUmVwb3J0VG9QcmludCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8YW55PihSZXBvcnRpbmdFbmRwb2ludHMuYWRkUmVwb3J0VG9QcmludCgpLCBtb2RlbCk7XHJcbiAgfVxyXG5cclxuICBhZGRSZXBvcnRUb0VkaXRUZW1wbGF0ZShtb2RlbDogUmVwb3J0VG9FZGl0VGVtcGxhdGUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PGFueT4oUmVwb3J0aW5nRW5kcG9pbnRzLmFkZFJlcG9ydFRvRWRpdFRlbXBsYXRlKCksIG1vZGVsKTtcclxuICB9XHJcblxyXG4gIGVkaXRSZXBvcnRUb0VkaXRUZW1wbGF0ZShtb2RlbDogUmVwb3J0VG9FZGl0VGVtcGxhdGVQYXlsb2FkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxhbnk+KFJlcG9ydGluZ0VuZHBvaW50cy5lZGl0UmVwb3J0VG9FZGl0VGVtcGxhdGUoKSwgbW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0UmVwb3J0RmlsZShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBodHRwT3B0aW9ucyA9IHtcclxuICAgICAgJ3Jlc3BvbnNlVHlwZSc6ICdhcnJheWJ1ZmZlcicgYXMgJ2pzb24nXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KFJlcG9ydGluZ0VuZHBvaW50cy5leHBvcnRSZXBvcnRGaWxlKGtleSksIGh0dHBPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIGV4cG9ydFJlcG9ydEZpbGVUb1BkZihyZXBvcnRUb1ByaW50OiBSZXBvcnRUb1ByaW50KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChSZXBvcnRpbmdFbmRwb2ludHMuZXhwb3J0UmVwb3J0RmlsZVRvUGRmKCksIHJlcG9ydFRvUHJpbnQsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSk7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRSZXBvcnRGaWxlKGZpbGU6IEZpbGUsIGRpc2NyaW1pbmF0b3JWYWx1ZSA/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbZmlsZV0sIHsgdHlwZTogZmlsZS50eXBlIH0pO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKCdqc29uUmVwb3J0RmlsZScsIGJsb2IsIGZpbGUubmFtZSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoUmVwb3J0aW5nRW5kcG9pbnRzLnVwbG9hZFJlcG9ydEZpbGUoZGlzY3JpbWluYXRvclZhbHVlKSwgZm9ybURhdGEpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlUmVwb3J0KHVpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPG51bWJlcj4oUmVwb3J0aW5nRW5kcG9pbnRzLmRlbGV0ZVJlcG9ydCh1aWQpLCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVNdWx0aXBsZVJlcG9ydHMoaWRzOiBudW1iZXJbXSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8bnVtYmVyPihSZXBvcnRpbmdFbmRwb2ludHMuZGVsZXRlTXVsdGlwbGVSZXBvcnRzKCksIGlkcyk7XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0UmVwb3J0KGlkOiBudW1iZXIsIGRlc2NyaW1pbmF0b3JWYWx1ZSA/OiBzdHJpbmcgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0PGFueT4oUmVwb3J0aW5nRW5kcG9pbnRzLnNldERlZmF1bHRSZXBvcnQoaWQsIGRlc2NyaW1pbmF0b3JWYWx1ZSksIHVuZGVmaW5lZCk7XHJcbiAgfVxyXG5cclxuICBnZXREZWZhdWx0UmVwb3J0KGZvcm1OYW1lOiBzdHJpbmcsIGRlc2NyaW1pbmF0b3JWYWx1ZT86IHN0cmluZyk6IE9ic2VydmFibGU8UmVwb3J0VGVtcGxhdGVSZXNwb25zZT4ge1xyXG4gICAgLy9pbml0IHBhcmFtc1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdmb3JtTmFtZScsIGZvcm1OYW1lKTtcclxuICAgIFxyXG4gICAgaWYgKGRlc2NyaW1pbmF0b3JWYWx1ZSkge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdkZXNjcmltaW5hdG9yVmFsdWUnLCBkZXNjcmltaW5hdG9yVmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFJlcG9ydFRlbXBsYXRlUmVzcG9uc2U+KFJlcG9ydGluZ0VuZHBvaW50cy5nZXREZWZhdWx0UmVwb3J0KCksIHsgcGFyYW1zOiBwYXJhbXMgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVSZXBvcnRMYXlvdXQoaWQ6IG51bWJlciwgZmlsZTogRmlsZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtmaWxlXSwgeyB0eXBlOiBmaWxlLnR5cGUgfSk7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2pzb25SZXBvcnRGaWxlJywgYmxvYiwgZmlsZS5uYW1lKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChSZXBvcnRpbmdFbmRwb2ludHMudXBkYXRlUmVwb3J0TGF5b3V0KGlkKSwgZm9ybURhdGEpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVmYXVsdFJlcG9ydFRlbXBsYXRlKGZvcm1OYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PGFueT4oUmVwb3J0aW5nRW5kcG9pbnRzLmdldERlZmF1bHRSZXBvcnRUZW1wbGF0ZShmb3JtTmFtZSkpO1xyXG4gIH1cclxuXHJcbiAgYWRkRnJvbUJ1aWx0SW5UZW1wbGF0ZShmb3JtTmFtZTogc3RyaW5nLCB0ZW1wbGF0ZU5hbWU6IHN0cmluZywgZGVzY3JpbWluYXRvclZhbHVlID86IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8YW55PihSZXBvcnRpbmdFbmRwb2ludHMuYWRkRnJvbUJ1aWx0SW5UZW1wbGF0ZShmb3JtTmFtZSwgdGVtcGxhdGVOYW1lLCBkZXNjcmltaW5hdG9yVmFsdWUpKTtcclxuICB9XHJcblxyXG4gIGFkZFRvQnVpbHRJblRlbXBsYXRlKHJlcG9ydElkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxhbnk+KFJlcG9ydGluZ0VuZHBvaW50cy5hZGRUb0J1aWx0SW5UZW1wbGF0ZShyZXBvcnRJZCksIHt9KVxyXG4gIH1cclxuXHJcbiAgbWFrZVJlcG9ydExheW91dEFzRGVmYXVsdExheW91dChyZXF1ZXN0OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxhbnk+KFJlcG9ydGluZ0VuZHBvaW50cy5tYWtlUmVwb3J0TGF5b3V0QXNEZWZhdWx0TGF5b3V0KCksIHJlcXVlc3QpXHJcbiAgfVxyXG5cclxuICBnZXRBcGlBc0tleVZhbHVlQnlWYWx1ZShyZXF1ZXN0OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PGFueT4oQWRtaW5pc3RyYXRpb25FbmRwb2ludHMuZ2V0QWxsQXBpQXNLZXlWYWx1ZVBhaXIoKSArIGA/dmFsdWU9JHtyZXF1ZXN0fWAsIHJlcXVlc3QpXHJcbiAgfVxyXG5cclxuICAvLyBnZXRSZXBvcnREZWNyaW1pbmF0b3IocmVxdWVzdDogUmVwb3J0RGVzY3JpbWluYXRvcikge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8UmVwb3J0RGVzY3JpbWluYXRvcj4oUmVwb3J0aW5nRW5kcG9pbnRzLmdldFJlcG9ydERlc2NyaW1pbmF0b3IocmVxdWVzdC5lbnRpdHlOYW1lLCByZXF1ZXN0LnByb3BlcnR5TmFtZSwgcmVxdWVzdC5wcm9wZXJ0eVZhbHVlKSlcclxuICAvLyB9XHJcblxyXG4gIGluc2VydE5ld1VpZEluUmVzdEVuZFBvaW50KHJlc3RFbmRQb2ludD86IHN0cmluZywgbmV3VWlkPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBndWlkUmVnZXggPSAvWzAtOWEtZkEtRi1dezM2fS9nO1xyXG4gICAgY29uc3QgaWRQbGFjZWhvbGRlclJlZ2V4ID0gL3tpZH0vZztcclxuXHJcbiAgICBpZiAocmVzdEVuZFBvaW50KSB7XHJcbiAgICAgIGlmIChpZFBsYWNlaG9sZGVyUmVnZXgudGVzdChyZXN0RW5kUG9pbnQpKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlc3RFbmRQb2ludC5yZXBsYWNlQWxsKGlkUGxhY2Vob2xkZXJSZWdleCwgbmV3VWlkISk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiByZXN0RW5kUG9pbnQucmVwbGFjZUFsbChndWlkUmVnZXgsIG5ld1VpZCEpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN0RW5kUG9pbnQ7XHJcbiAgfVxyXG5cclxuICBkZWxldGVEZWZhdWx0UmVwb3J0VGVtcGxhdGVGaWxlKGZvcm1OYW1lOiBzdHJpbmcsIHRlbXBsYXRlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlKFJlcG9ydGluZ0VuZHBvaW50cy5kZWxldGVEZWZhdWx0UmVwb3J0VGVtcGxhdGUoZm9ybU5hbWUsIHRlbXBsYXRlTmFtZSkpXHJcbiAgfVxyXG5cclxuICB0b2dnbGVTZWVkT25TdGFydHVwKGZvcm1OYW1lOiBzdHJpbmcsIHRlbXBsYXRlTmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8YW55PihSZXBvcnRpbmdFbmRwb2ludHMudG9nZ2xlU2VlZE9uU3RhcnR1cChmb3JtTmFtZSwgdGVtcGxhdGVOYW1lKSwge30pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0aW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90c2ktc2hhcmVkLXVpL3NyYy9saWIvc2VydmljZXMvcmVwb3J0aW5nL3JlcG9ydGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFNL0UsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUksQ0FBQztJQUUvQyxVQUFVLENBQUMsR0FBVyxFQUFFLGtCQUEyQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUEyQixrQkFBa0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBQ0QsNkJBQTZCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQTJCLGtCQUFrQixDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQscUJBQXFCLENBQUMsR0FBVztRQUMvQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFNLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQXVCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQU0sa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FB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SUFDekYsQ0FBQzsrR0FsSVUsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFkbWluaXN0cmF0aW9uRW5kcG9pbnRzLCBSZXBvcnRpbmdFbmRwb2ludHMgfSBmcm9tICcuLi8uLi9lbmQtcG9pbnRzJztcclxuaW1wb3J0IHsgUmVwb3J0VGVtcGxhdGVSZXNwb25zZSwgUmVwb3J0VG9UZW1wbGF0ZSwgUmVwb3J0VG9QcmludCwgUmVwb3J0VG9FZGl0VGVtcGxhdGUsIFJlcG9ydFRvRWRpdFRlbXBsYXRlUGF5bG9hZCB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRpbmdTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgZ2V0UmVwb3J0cyhrZXk6IHN0cmluZywgZGVzY3JpbWluYXRvclZhbHVlPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZXBvcnRUZW1wbGF0ZVJlc3BvbnNlW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFJlcG9ydFRlbXBsYXRlUmVzcG9uc2VbXT4oUmVwb3J0aW5nRW5kcG9pbnRzLmdldFJlcG9ydHMoa2V5LCBkZXNjcmltaW5hdG9yVmFsdWUpKTtcclxuICB9XHJcbiAgZ2V0RWRpdGlvblBlcnNvbm5hbGlzZVJlcG9ydHMoKTogT2JzZXJ2YWJsZTxSZXBvcnRUZW1wbGF0ZVJlc3BvbnNlW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFJlcG9ydFRlbXBsYXRlUmVzcG9uc2VbXT4oUmVwb3J0aW5nRW5kcG9pbnRzLmdldEVkaXRpb25QZXJzb1JlcG9ydHMoKSk7XHJcbiAgfVxyXG4gIFxyXG4gIGdldFJlcG9ydFRlbXBsYXRlQnlJZChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PGFueT4oUmVwb3J0aW5nRW5kcG9pbnRzLmdldFJlcG9ydFRlbXBsYXRlQnlJZChrZXkpKTtcclxuICB9XHJcblxyXG4gIGFkZFJlcG9ydFRvTW9kZWwobW9kZWw6IFJlcG9ydFRvVGVtcGxhdGUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PGFueT4oUmVwb3J0aW5nRW5kcG9pbnRzLmFkZFJlcG9ydFRvTW9kZWwoKSwgbW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgYWRkUmVwb3J0VG9QcmludChtb2RlbDogUmVwb3J0VG9QcmludCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8YW55PihSZXBvcnRpbmdFbmRwb2ludHMuYWRkUmVwb3J0VG9QcmludCgpLCBtb2RlbCk7XHJcbiAgfVxyXG5cclxuICBhZGRSZXBvcnRUb0VkaXRUZW1wbGF0ZShtb2RlbDogUmVwb3J0VG9FZGl0VGVtcGxhdGUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PGFueT4oUmVwb3J0aW5nRW5kcG9pbnRzLmFkZFJlcG9ydFRvRWRpdFRlbXBsYXRlKCksIG1vZGVsKTtcclxuICB9XHJcblxyXG4gIGVkaXRSZXBvcnRUb0VkaXRUZW1wbGF0ZShtb2RlbDogUmVwb3J0VG9FZGl0VGVtcGxhdGVQYXlsb2FkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxhbnk+KFJlcG9ydGluZ0VuZHBvaW50cy5lZGl0UmVwb3J0VG9FZGl0VGVtcGxhdGUoKSwgbW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0UmVwb3J0RmlsZShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBodHRwT3B0aW9ucyA9IHtcclxuICAgICAgJ3Jlc3BvbnNlVHlwZSc6ICdhcnJheWJ1ZmZlcicgYXMgJ2pzb24nXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KFJlcG9ydGluZ0VuZHBvaW50cy5leHBvcnRSZXBvcnRGaWxlKGtleSksIGh0dHBPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIGV4cG9ydFJlcG9ydEZpbGVUb1BkZihyZXBvcnRUb1ByaW50OiBSZXBvcnRUb1ByaW50KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChSZXBvcnRpbmdFbmRwb2ludHMuZXhwb3J0UmVwb3J0RmlsZVRvUGRmKCksIHJlcG9ydFRvUHJpbnQsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSk7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRSZXBvcnRGaWxlKGZpbGU6IEZpbGUsIGRpc2NyaW1pbmF0b3JWYWx1ZSA/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbZmlsZV0sIHsgdHlwZTogZmlsZS50eXBlIH0pO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKCdqc29uUmVwb3J0RmlsZScsIGJsb2IsIGZpbGUubmFtZSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoUmVwb3J0aW5nRW5kcG9pbnRzLnVwbG9hZFJlcG9ydEZpbGUoZGlzY3JpbWluYXRvclZhbHVlKSwgZm9ybURhdGEpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlUmVwb3J0KHVpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPG51bWJlcj4oUmVwb3J0aW5nRW5kcG9pbnRzLmRlbGV0ZVJlcG9ydCh1aWQpLCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVNdWx0aXBsZVJlcG9ydHMoaWRzOiBudW1iZXJbXSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8bnVtYmVyPihSZXBvcnRpbmdFbmRwb2ludHMuZGVsZXRlTXVsdGlwbGVSZXBvcnRzKCksIGlkcyk7XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0UmVwb3J0KGlkOiBudW1iZXIsIGRlc2NyaW1pbmF0b3JWYWx1ZSA/OiBzdHJpbmcgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0PGFueT4oUmVwb3J0aW5nRW5kcG9pbnRzLnNldERlZmF1bHRSZXBvcnQoaWQsIGRlc2NyaW1pbmF0b3JWYWx1ZSksIHVuZGVmaW5lZCk7XHJcbiAgfVxyXG5cclxuICBnZXREZWZhdWx0UmVwb3J0KGZvcm1OYW1lOiBzdHJpbmcsIGRlc2NyaW1pbmF0b3JWYWx1ZT86IHN0cmluZyk6IE9ic2VydmFibGU8UmVwb3J0VGVtcGxhdGVSZXNwb25zZT4ge1xyXG4gICAgLy9pbml0IHBhcmFtc1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdmb3JtTmFtZScsIGZvcm1OYW1lKTtcclxuICAgIFxyXG4gICAgaWYgKGRlc2NyaW1pbmF0b3JWYWx1ZSkge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdkZXNjcmltaW5hdG9yVmFsdWUnLCBkZXNjcmltaW5hdG9yVmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFJlcG9ydFRlbXBsYXRlUmVzcG9uc2U+KFJlcG9ydGluZ0VuZHBvaW50cy5nZXREZWZhdWx0UmVwb3J0KCksIHsgcGFyYW1zOiBwYXJhbXMgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVSZXBvcnRMYXlvdXQoaWQ6IG51bWJlciwgZmlsZTogRmlsZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtmaWxlXSwgeyB0eXBlOiBmaWxlLnR5cGUgfSk7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2pzb25SZXBvcnRGaWxlJywgYmxvYiwgZmlsZS5uYW1lKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChSZXBvcnRpbmdFbmRwb2ludHMudXBkYXRlUmVwb3J0TGF5b3V0KGlkKSwgZm9ybURhdGEpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVmYXVsdFJlcG9ydFRlbXBsYXRlKGZvcm1OYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PGFueT4oUmVwb3J0aW5nRW5kcG9pbnRzLmdldERlZmF1bHRSZXBvcnRUZW1wbGF0ZShmb3JtTmFtZSkpO1xyXG4gIH1cclxuXHJcbiAgYWRkRnJvbUJ1aWx0SW5UZW1wbGF0ZShmb3JtTmFtZTogc3RyaW5nLCB0ZW1wbGF0ZU5hbWU6IHN0cmluZywgZGVzY3JpbWluYXRvclZhbHVlID86IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8YW55PihSZXBvcnRpbmdFbmRwb2ludHMuYWRkRnJvbUJ1aWx0SW5UZW1wbGF0ZShmb3JtTmFtZSwgdGVtcGxhdGVOYW1lLCBkZXNjcmltaW5hdG9yVmFsdWUpKTtcclxuICB9XHJcblxyXG4gIGFkZFRvQnVpbHRJblRlbXBsYXRlKHJlcG9ydElkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxhbnk+KFJlcG9ydGluZ0VuZHBvaW50cy5hZGRUb0J1aWx0SW5UZW1wbGF0ZShyZXBvcnRJZCksIHt9KVxyXG4gIH1cclxuXHJcbiAgbWFrZVJlcG9ydExheW91dEFzRGVmYXVsdExheW91dChyZXF1ZXN0OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxhbnk+KFJlcG9ydGluZ0VuZHBvaW50cy5tYWtlUmVwb3J0TGF5b3V0QXNEZWZhdWx0TGF5b3V0KCksIHJlcXVlc3QpXHJcbiAgfVxyXG5cclxuICBnZXRBcGlBc0tleVZhbHVlQnlWYWx1ZShyZXF1ZXN0OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PGFueT4oQWRtaW5pc3RyYXRpb25FbmRwb2ludHMuZ2V0QWxsQXBpQXNLZXlWYWx1ZVBhaXIoKSArIGA/dmFsdWU9JHtyZXF1ZXN0fWAsIHJlcXVlc3QpXHJcbiAgfVxyXG5cclxuICAvLyBnZXRSZXBvcnREZWNyaW1pbmF0b3IocmVxdWVzdDogUmVwb3J0RGVzY3JpbWluYXRvcikge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8UmVwb3J0RGVzY3JpbWluYXRvcj4oUmVwb3J0aW5nRW5kcG9pbnRzLmdldFJlcG9ydERlc2NyaW1pbmF0b3IocmVxdWVzdC5lbnRpdHlOYW1lLCByZXF1ZXN0LnByb3BlcnR5TmFtZSwgcmVxdWVzdC5wcm9wZXJ0eVZhbHVlKSlcclxuICAvLyB9XHJcblxyXG4gIGluc2VydE5ld1VpZEluUmVzdEVuZFBvaW50KHJlc3RFbmRQb2ludD86IHN0cmluZywgbmV3VWlkPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBndWlkUmVnZXggPSAvWzAtOWEtZkEtRi1dezM2fS9nO1xyXG4gICAgY29uc3QgaWRQbGFjZWhvbGRlclJlZ2V4ID0gL3tpZH0vZztcclxuXHJcbiAgICBpZiAocmVzdEVuZFBvaW50KSB7XHJcbiAgICAgIGlmIChpZFBsYWNlaG9sZGVyUmVnZXgudGVzdChyZXN0RW5kUG9pbnQpKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlc3RFbmRQb2ludC5yZXBsYWNlQWxsKGlkUGxhY2Vob2xkZXJSZWdleCwgbmV3VWlkISk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiByZXN0RW5kUG9pbnQucmVwbGFjZUFsbChndWlkUmVnZXgsIG5ld1VpZCEpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN0RW5kUG9pbnQ7XHJcbiAgfVxyXG5cclxuICBkZWxldGVEZWZhdWx0UmVwb3J0VGVtcGxhdGVGaWxlKGZvcm1OYW1lOiBzdHJpbmcsIHRlbXBsYXRlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlKFJlcG9ydGluZ0VuZHBvaW50cy5kZWxldGVEZWZhdWx0UmVwb3J0VGVtcGxhdGUoZm9ybU5hbWUsIHRlbXBsYXRlTmFtZSkpXHJcbiAgfVxyXG5cclxuICB0b2dnbGVTZWVkT25TdGFydHVwKGZvcm1OYW1lOiBzdHJpbmcsIHRlbXBsYXRlTmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8YW55PihSZXBvcnRpbmdFbmRwb2ludHMudG9nZ2xlU2VlZE9uU3RhcnR1cChmb3JtTmFtZSwgdGVtcGxhdGVOYW1lKSwge30pO1xyXG4gIH1cclxuXHJcbiAgZHVwbGljYXRlUmVwb3J0KHVpZDogc3RyaW5nLCBuZXdOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PGFueT4oUmVwb3J0aW5nRW5kcG9pbnRzLmR1cGxpY2F0ZVJlcG9ydCh1aWQpLCB7IG5ld05hbWUgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/esm2022/lib/tsi-components/manage-reporting/add-report-popup/add-report-popup.component.mjs
CHANGED
|
@@ -33,6 +33,12 @@ export class AddReportPopupComponent extends TsiFormComponentBaseComponent {
|
|
|
33
33
|
&& !this.config.data?.fromEndpoint?.includes("getallpaged")
|
|
34
34
|
&& this.config.data?.fromEndpoint != undefined;
|
|
35
35
|
}
|
|
36
|
+
get lockAllButName() {
|
|
37
|
+
return this.mode === this.modes.duplicate;
|
|
38
|
+
}
|
|
39
|
+
get lockAllButDisplay() {
|
|
40
|
+
return this.mode === this.modes.edit && this.isReadOnlySource;
|
|
41
|
+
}
|
|
36
42
|
constructor(ref, reportingService, config, notificationService, dashboardModuleService, _confirm, _httpClient, _router) {
|
|
37
43
|
super(ref, config);
|
|
38
44
|
this.ref = ref;
|
|
@@ -51,6 +57,7 @@ export class AddReportPopupComponent extends TsiFormComponentBaseComponent {
|
|
|
51
57
|
this.isGetByIdRequest = false;
|
|
52
58
|
this.modes = Modes;
|
|
53
59
|
this.isEditionPersonnalise = false;
|
|
60
|
+
this.isReadOnlySource = false;
|
|
54
61
|
this.administrationEndpoints = AdministrationEndpoints;
|
|
55
62
|
this.selectedEndpoints = [];
|
|
56
63
|
this.endpointsOptions = [];
|
|
@@ -85,6 +92,7 @@ export class AddReportPopupComponent extends TsiFormComponentBaseComponent {
|
|
|
85
92
|
this.report.formName = this.config.data.value.formName;
|
|
86
93
|
this.report.reportNameAbrege = this.config.data.value.shortName;
|
|
87
94
|
this.report.display = this.config.data.value.display;
|
|
95
|
+
this.isReadOnlySource = this.config.data.value.isReadOnly === true;
|
|
88
96
|
if (this.enableMultiSelectEndpoints) {
|
|
89
97
|
this.endpointsOptions = this.report.endPointKey
|
|
90
98
|
? this.report.endPointKey.split(';').map(x => ({ label: x, value: x }))
|
|
@@ -170,6 +178,10 @@ export class AddReportPopupComponent extends TsiFormComponentBaseComponent {
|
|
|
170
178
|
this.notificationService.warn("shared_reporting_report_endpoint_required");
|
|
171
179
|
return;
|
|
172
180
|
}
|
|
181
|
+
if (this.mode === this.modes.duplicate || this.lockAllButDisplay) {
|
|
182
|
+
this.hide(this.report);
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
173
185
|
this._confirm
|
|
174
186
|
.confirm(this.l('shared_reporting_report_confirmRedirection'), undefined, (result) => {
|
|
175
187
|
if (result) {
|
|
@@ -199,10 +211,10 @@ export class AddReportPopupComponent extends TsiFormComponentBaseComponent {
|
|
|
199
211
|
});
|
|
200
212
|
}
|
|
201
213
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddReportPopupComponent, deps: [{ token: i1.DynamicDialogRef }, { token: i2.ReportingService }, { token: i1.DynamicDialogConfig }, { token: i3.TsiNotificationService }, { token: i4.DashboardModuleService }, { token: i5.TsiConfirmationService }, { token: i6.HttpClient }, { token: i7.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
202
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AddReportPopupComponent, selector: "app-add-report-popup", providers: [...appProviders], usesInheritance: true, ngImport: i0, template: "<tsi-form class=\"form-horizontal\" autocomplete=\"off\" (onSubmit)=\"save()\">\r\n <h4>\r\n <Tsi-Label [labelValue]=\"'Nouveau Rapport'\"></Tsi-Label>\r\n </h4>\r\n <p-panel header=\"Informations\">\r\n <div class=\"grid \">\r\n <!-- Type -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_type\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Search-Combo [disabled]=\"this.mode !== modes.create\" id-field=\"key\" label-field=\"value\"\r\n [(bind)]=\"report.reportType\" [datasource]=\"dataSource\">\r\n </Tsi-Search-Combo>\r\n </div>\r\n <!-- Nom du rapport -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_reportName\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Text-Box [inputName]=\"'reportName'\" [(inputField)]=\"report.reportName\"></Tsi-Text-Box>\r\n </div>\r\n <!-- Nom abr\u00E9g\u00E9 -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_reportNameAbrege\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-3\">\r\n <Tsi-Text-Box [inputName]=\"'reportNameAbrege'\" [(inputField)]=\"report.reportNameAbrege\"></Tsi-Text-Box>\r\n </div>\r\n <div class=\"flex col-6\">\r\n <!-- Ordre de tri -->\r\n <div class=\"flex gap-4 w-6\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_triOrdre\"></Tsi-Label>\r\n <Tsi-Integer [inputName]=\"'triOrdre'\" [(inputField)]=\"report.triOrdre\"></Tsi-Integer>\r\n </div>\r\n <!-- Afficher dashboard -->\r\n <div class=\"flex gap-4 w-6\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_display\"></Tsi-Label>\r\n <Tsi-CheckBox [inputName]=\"'display'\" [(inputField)]=\"report.display\"></Tsi-CheckBox>\r\n </div>\r\n </div>\r\n <!-- Module -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_Module\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Search-Combo id-field=\"code\" label-field=\"libelle\" [multiple]=\"false\" [(bind)]=\"report.module\"\r\n [datasource]=\"modules\" [isFiltered]=\"false\">\r\n </Tsi-Search-Combo>\r\n </div>\r\n <!-- Deuxi\u00E9me Impress -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_imppress\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-5\">\r\n <Tsi-Text-Box [disabled]=\"true\" [inputName]=\"'imppress'\" [(inputField)]=\"report.impress\"></Tsi-Text-Box>\r\n </div>\r\n <!-- Edition unique -->\r\n <div class=\"col-4 col-form-label flx\">\r\n <Tsi-CheckBox [inputName]=\"'EditionUnique'\" [(inputField)]=\"report.editionUnique\"></Tsi-CheckBox> \r\n <Tsi-Label labelValue=\"administration_edition_personnalise_EditionUnique\"></Tsi-Label>\r\n </div>\r\n <!-- Endpoint -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_endpoint\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Search-Combo *ngIf=\"!isReportForFiche && !enableMultiSelectEndpoints\" id-field=\"key\" label-field=\"value\"\r\n [disabled]=\"modes.edit === mode || isEditionPersonnalise === false\"\r\n (selectedLabelChange)=\"selectedEndpointChange($event)\" [(bind)]=\"report.endPointKey\"\r\n [elementSourceUrl]=\"administrationEndpoints.getApiAsKeyValuePair()\"\r\n [listSourceUrl]=\"administrationEndpoints.getAllApiAsKeyValuePair()\" [isFiltered]=\"true\">\r\n </Tsi-Search-Combo>\r\n\r\n <Tsi-Search-Combo *ngIf=\"customReportingMode && !enableMultiSelectEndpoints \" id-field=\"value\" label-field=\"value\"\r\n (selectedLabelChange)=\"selectedEndpointChange($event)\" [(bind)]=\"report.endPointKey\"\r\n [listSourceUrl]=\"administrationEndpoints.getAllApiAsKeyValuePairByBusinessClassName(this.reportBusinessClass)\"\r\n [isFiltered]=\"false\">\r\n </Tsi-Search-Combo>\r\n\r\n <Tsi-Search-Combo *ngIf=\"isReportForFiche\"\r\n id-field=\"value\"\r\n label-field=\"value\"\r\n [(bind)]=\"selectedEndpoints\"\r\n [listSourceUrl]=\"administrationEndpoints.getAllApiAsKeyValuePairByBusinessClassName(this.reportBusinessClass)\"\r\n [isFiltered]=\"false\"\r\n [multiple]=\"true\"\r\n (selectedLabelChange)=\"selectedEndpointChange($event)\">\r\n </Tsi-Search-Combo>\r\n\r\n <p-multiSelect *ngIf=\"!isReportForFiche && enableMultiSelectEndpoints\" [options]=\"endpointsOptions\" [(ngModel)]=\"selectedEndpoints\"\r\n selectedItemsLabel=\"{0} {{ 'endpoint_selected' | localize }}\" optionLabel=\"value\"\r\n optionValue=\"value\"\r\n [style]=\"{'min-width': '180px'}\" placeholder=\"{{ 'shared_reporting_choose_endpoints' | localize }}\"\r\n (onPanelShow)=\"handleOpen()\"\r\n [filter]=\"true\"\r\n (onFilter)=\"onFilter($event)\"\r\n display=\"chip\"\r\n class=\"rounded-multiselect\">\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"flex items-center gap-2\">\r\n <span>{{ option.value}}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiSelect>\r\n </div>\r\n\r\n\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_formName\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-6\">\r\n <Tsi-Text-Box [disabled]=\"true\" [inputName]=\"'formName'\"\r\n [(inputField)]=\"report.formName\"></Tsi-Text-Box>\r\n </div>\r\n <!-- Param -->\r\n <div *ngIf=\"isGetByIdRequest\" class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_param\"></Tsi-Label>\r\n </div>\r\n <div *ngIf=\"isGetByIdRequest\" class=\"col-9\">\r\n <Tsi-Text-Box [inputName]=\"'param'\" [(inputField)]=\"report.param\"></Tsi-Text-Box>\r\n </div>\r\n </div>\r\n </p-panel>\r\n <br />\r\n <p-panel header=\"Configuration Pivot Grid\">\r\n <div class=\"grid \">\r\n <!-- Class or view -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label [labelValue]=\"'Class or view'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Text-Box [inputName]=\"'dddd'\"></Tsi-Text-Box>\r\n </div>\r\n <!-- Query -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label [labelValue]=\"'Query'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9 col-form-label\">\r\n <Tsi-Text-Area [rows]=\"2\"></Tsi-Text-Area>\r\n </div>\r\n </div>\r\n </p-panel>\r\n\r\n <Tsi-Modal-Footer [cancelDisabled]=\"saving\" [saveDisabled]=\"saving\" (onCancelClick)=\"hide()\" \r\n [showSaveAndCloseButton]=\"false\"></Tsi-Modal-Footer>\r\n</tsi-form>", styles: [".flx{display:flex;justify-content:center;align-items:center}::ng-deep .rounded-multiselect .p-multiselect{border-radius:12px!important}::ng-deep .rounded-multiselect .p-multiselect-label{border-radius:12px!important}\n"], dependencies: [{ kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i10.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i11.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: i12.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "component", type: i13.TsiSearchComboComponent, selector: "Tsi-Search-Combo", inputs: ["elementSourceUrl", "listSourceUrl", "listSourceParams", "id-field", "label-field", "multiple", "sort", "showClear", "reloadDataSource", "isFiltered", "selectedLabel", "maxWidth", "businessClass", "searchDebounceTime", "comboType", "statusMetadata", "currentRowItem", "datasource", "bind", "maxSelectedLabels", "tooltipMaxDisplayedItems", "bindMode", "showSearchButton", "showAddButton", "showConsultButton", "showUpdateButton"], outputs: ["bindChange", "datasource-loaded", "init", "isLoaded", "selectedLabelChange", "onClick", "onSearchButtonClick", "selectionChange"] }, { kind: "component", type: i14.TsiCheckboxComponent, selector: "Tsi-CheckBox", inputs: ["class", "isBinary", "checked", "tooltipText", "tooltipPosition"], outputs: ["inputFieldChange", "checkedChange"] }, { kind: "component", type: i15.TsiIntegerComponent, selector: "Tsi-Integer", inputs: ["class", "minValue", "maxValue", "delayChangeTime"], outputs: ["newItemEvent", "inputFieldChange"] }, { kind: "component", type: i16.TsiTextAreaComponent, selector: "Tsi-Text-Area", inputs: ["rows", "cols"], outputs: ["newItemEvent", "inputFieldChange"] }, { kind: "component", type: i17.TsiTextBoxComponent, selector: "Tsi-Text-Box", inputs: ["textBoxType", "autocomplete"], outputs: ["newItemEvent", "inputFieldChange"] }, { kind: "component", type: i18.TsiLabelComponent, selector: "Tsi-Label", inputs: ["labelValue", "styleClass", "infoText"] }, { kind: "component", type: i19.TsiModalFooterComponent, selector: "Tsi-Modal-Footer", inputs: ["cancelDisabled", "saveDisabled", "cancelLabel", "saveLabel", "isConsult", "isDuplicate", "isOnlyCreate", "additionalButtonLabel", "additionalButtonIcon", "additionalButtonDisabled", "showAdditionalButton", "showSaveAndCloseButton", "mode"], outputs: ["onCancelClick", "onSaveClick", "onAdditionalButtonClick"] }, { kind: "component", type: i20.TsiFormComponent, selector: "tsi-form", inputs: ["class", "autocomplete", "optionalEndpoints", "disabled", "isLoading", "modalSize", "showManageWorkflowButton", "formEndpoint", "formName", "isReportingToolbarDisabled", "isCreateOnly", "statusInputDisabled"], outputs: ["onSave", "openWorkflow", "onSubmit", "onSubmitFormWorkflowConfiguration", "formRefChange", "onStatusChange"] }, { kind: "pipe", type: i21.LocalizePipe, name: "localize" }] }); }
|
|
214
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AddReportPopupComponent, selector: "app-add-report-popup", providers: [...appProviders], usesInheritance: true, ngImport: i0, template: "<tsi-form class=\"form-horizontal\" autocomplete=\"off\" (onSubmit)=\"save()\">\r\n <h4>\r\n <Tsi-Label [labelValue]=\"config.data?.title ?? 'Nouveau Rapport'\"></Tsi-Label>\r\n </h4>\r\n <p-panel header=\"Informations\">\r\n <div class=\"grid \">\r\n <!-- Type -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_type\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Search-Combo [disabled]=\"this.mode !== modes.create\" id-field=\"key\" label-field=\"value\"\r\n [(bind)]=\"report.reportType\" [datasource]=\"dataSource\">\r\n </Tsi-Search-Combo>\r\n </div>\r\n <!-- Nom du rapport -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_reportName\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Text-Box [disabled]=\"lockAllButDisplay\" [inputName]=\"'reportName'\" [(inputField)]=\"report.reportName\"></Tsi-Text-Box>\r\n </div>\r\n <!-- Nom abr\u00E9g\u00E9 -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_reportNameAbrege\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-3\">\r\n <Tsi-Text-Box [disabled]=\"lockAllButName || lockAllButDisplay\" [inputName]=\"'reportNameAbrege'\" [(inputField)]=\"report.reportNameAbrege\"></Tsi-Text-Box>\r\n </div>\r\n <div class=\"flex col-6\">\r\n <!-- Ordre de tri -->\r\n <div class=\"flex gap-4 w-6\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_triOrdre\"></Tsi-Label>\r\n <Tsi-Integer [disabled]=\"lockAllButName || lockAllButDisplay\" [inputName]=\"'triOrdre'\" [(inputField)]=\"report.triOrdre\"></Tsi-Integer>\r\n </div>\r\n <!-- Afficher dashboard -->\r\n <div class=\"flex gap-4 w-6\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_display\"></Tsi-Label>\r\n <Tsi-CheckBox [disabled]=\"lockAllButName\" [inputName]=\"'display'\" [(inputField)]=\"report.display\"></Tsi-CheckBox>\r\n </div>\r\n </div>\r\n <!-- Module -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_Module\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Search-Combo [disabled]=\"lockAllButName || lockAllButDisplay\" id-field=\"code\" label-field=\"libelle\" [multiple]=\"false\" [(bind)]=\"report.module\"\r\n [datasource]=\"modules\" [isFiltered]=\"false\">\r\n </Tsi-Search-Combo>\r\n </div>\r\n <!-- Deuxi\u00E9me Impress -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_imppress\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-5\">\r\n <Tsi-Text-Box [disabled]=\"true\" [inputName]=\"'imppress'\" [(inputField)]=\"report.impress\"></Tsi-Text-Box>\r\n </div>\r\n <!-- Edition unique -->\r\n <div class=\"col-4 col-form-label flx\">\r\n <Tsi-CheckBox [disabled]=\"lockAllButName || lockAllButDisplay\" [inputName]=\"'EditionUnique'\" [(inputField)]=\"report.editionUnique\"></Tsi-CheckBox> \r\n <Tsi-Label labelValue=\"administration_edition_personnalise_EditionUnique\"></Tsi-Label>\r\n </div>\r\n <!-- Endpoint -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_endpoint\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Search-Combo *ngIf=\"!isReportForFiche && !enableMultiSelectEndpoints\" id-field=\"key\" label-field=\"value\"\r\n [disabled]=\"modes.edit === mode || isEditionPersonnalise === false || lockAllButName || lockAllButDisplay\"\r\n (selectedLabelChange)=\"selectedEndpointChange($event)\" [(bind)]=\"report.endPointKey\"\r\n [elementSourceUrl]=\"administrationEndpoints.getApiAsKeyValuePair()\"\r\n [listSourceUrl]=\"administrationEndpoints.getAllApiAsKeyValuePair()\" [isFiltered]=\"true\">\r\n </Tsi-Search-Combo>\r\n\r\n <Tsi-Search-Combo *ngIf=\"customReportingMode && !enableMultiSelectEndpoints \" id-field=\"value\" label-field=\"value\"\r\n [disabled]=\"lockAllButName || lockAllButDisplay\"\r\n (selectedLabelChange)=\"selectedEndpointChange($event)\" [(bind)]=\"report.endPointKey\"\r\n [listSourceUrl]=\"administrationEndpoints.getAllApiAsKeyValuePairByBusinessClassName(this.reportBusinessClass)\"\r\n [isFiltered]=\"false\">\r\n </Tsi-Search-Combo>\r\n\r\n <Tsi-Search-Combo *ngIf=\"isReportForFiche\"\r\n id-field=\"value\"\r\n label-field=\"value\"\r\n [disabled]=\"lockAllButName || lockAllButDisplay\"\r\n [(bind)]=\"selectedEndpoints\"\r\n [listSourceUrl]=\"administrationEndpoints.getAllApiAsKeyValuePairByBusinessClassName(this.reportBusinessClass)\"\r\n [isFiltered]=\"false\"\r\n [multiple]=\"true\"\r\n (selectedLabelChange)=\"selectedEndpointChange($event)\">\r\n </Tsi-Search-Combo>\r\n\r\n <p-multiSelect *ngIf=\"!isReportForFiche && enableMultiSelectEndpoints\" [options]=\"endpointsOptions\" [(ngModel)]=\"selectedEndpoints\"\r\n [disabled]=\"lockAllButName || lockAllButDisplay\"\r\n selectedItemsLabel=\"{0} {{ 'endpoint_selected' | localize }}\" optionLabel=\"value\"\r\n optionValue=\"value\"\r\n [style]=\"{'min-width': '180px'}\" placeholder=\"{{ 'shared_reporting_choose_endpoints' | localize }}\"\r\n (onPanelShow)=\"handleOpen()\"\r\n [filter]=\"true\"\r\n (onFilter)=\"onFilter($event)\"\r\n display=\"chip\"\r\n class=\"rounded-multiselect\">\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"flex items-center gap-2\">\r\n <span>{{ option.value}}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiSelect>\r\n </div>\r\n\r\n\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_formName\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-6\">\r\n <Tsi-Text-Box [disabled]=\"true\" [inputName]=\"'formName'\"\r\n [(inputField)]=\"report.formName\"></Tsi-Text-Box>\r\n </div>\r\n <!-- Param -->\r\n <div *ngIf=\"isGetByIdRequest\" class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_param\"></Tsi-Label>\r\n </div>\r\n <div *ngIf=\"isGetByIdRequest\" class=\"col-9\">\r\n <Tsi-Text-Box [disabled]=\"lockAllButName || lockAllButDisplay\" [inputName]=\"'param'\" [(inputField)]=\"report.param\"></Tsi-Text-Box>\r\n </div>\r\n </div>\r\n </p-panel>\r\n <br />\r\n <p-panel header=\"Configuration Pivot Grid\">\r\n <div class=\"grid \">\r\n <!-- Class or view -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label [labelValue]=\"'Class or view'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Text-Box [inputName]=\"'dddd'\"></Tsi-Text-Box>\r\n </div>\r\n <!-- Query -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label [labelValue]=\"'Query'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9 col-form-label\">\r\n <Tsi-Text-Area [rows]=\"2\"></Tsi-Text-Area>\r\n </div>\r\n </div>\r\n </p-panel>\r\n\r\n <Tsi-Modal-Footer [cancelDisabled]=\"saving\" [saveDisabled]=\"saving\" (onCancelClick)=\"hide()\" \r\n [showSaveAndCloseButton]=\"false\"></Tsi-Modal-Footer>\r\n</tsi-form>", styles: [".flx{display:flex;justify-content:center;align-items:center}::ng-deep .rounded-multiselect .p-multiselect{border-radius:12px!important}::ng-deep .rounded-multiselect .p-multiselect-label{border-radius:12px!important}\n"], dependencies: [{ kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i10.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i11.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: i12.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "component", type: i13.TsiSearchComboComponent, selector: "Tsi-Search-Combo", inputs: ["elementSourceUrl", "listSourceUrl", "listSourceParams", "id-field", "label-field", "multiple", "sort", "showClear", "reloadDataSource", "isFiltered", "selectedLabel", "maxWidth", "businessClass", "searchDebounceTime", "comboType", "statusMetadata", "currentRowItem", "datasource", "bind", "maxSelectedLabels", "tooltipMaxDisplayedItems", "bindMode", "showSearchButton", "showAddButton", "showConsultButton", "showUpdateButton"], outputs: ["bindChange", "datasource-loaded", "init", "isLoaded", "selectedLabelChange", "onClick", "onSearchButtonClick", "selectionChange"] }, { kind: "component", type: i14.TsiCheckboxComponent, selector: "Tsi-CheckBox", inputs: ["class", "isBinary", "checked", "tooltipText", "tooltipPosition"], outputs: ["inputFieldChange", "checkedChange"] }, { kind: "component", type: i15.TsiIntegerComponent, selector: "Tsi-Integer", inputs: ["class", "minValue", "maxValue", "delayChangeTime"], outputs: ["newItemEvent", "inputFieldChange"] }, { kind: "component", type: i16.TsiTextAreaComponent, selector: "Tsi-Text-Area", inputs: ["rows", "cols"], outputs: ["newItemEvent", "inputFieldChange"] }, { kind: "component", type: i17.TsiTextBoxComponent, selector: "Tsi-Text-Box", inputs: ["textBoxType", "autocomplete"], outputs: ["newItemEvent", "inputFieldChange"] }, { kind: "component", type: i18.TsiLabelComponent, selector: "Tsi-Label", inputs: ["labelValue", "styleClass", "infoText"] }, { kind: "component", type: i19.TsiModalFooterComponent, selector: "Tsi-Modal-Footer", inputs: ["cancelDisabled", "saveDisabled", "cancelLabel", "saveLabel", "isConsult", "isDuplicate", "isOnlyCreate", "additionalButtonLabel", "additionalButtonIcon", "additionalButtonDisabled", "showAdditionalButton", "showSaveAndCloseButton", "mode"], outputs: ["onCancelClick", "onSaveClick", "onAdditionalButtonClick"] }, { kind: "component", type: i20.TsiFormComponent, selector: "tsi-form", inputs: ["class", "autocomplete", "optionalEndpoints", "disabled", "isLoading", "modalSize", "showManageWorkflowButton", "formEndpoint", "formName", "isReportingToolbarDisabled", "isCreateOnly", "statusInputDisabled"], outputs: ["onSave", "openWorkflow", "onSubmit", "onSubmitFormWorkflowConfiguration", "formRefChange", "onStatusChange"] }, { kind: "pipe", type: i21.LocalizePipe, name: "localize" }] }); }
|
|
203
215
|
}
|
|
204
216
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddReportPopupComponent, decorators: [{
|
|
205
217
|
type: Component,
|
|
206
|
-
args: [{ selector: 'app-add-report-popup', providers: [...appProviders], template: "<tsi-form class=\"form-horizontal\" autocomplete=\"off\" (onSubmit)=\"save()\">\r\n <h4>\r\n <Tsi-Label [labelValue]=\"'Nouveau Rapport'\"></Tsi-Label>\r\n </h4>\r\n <p-panel header=\"Informations\">\r\n <div class=\"grid \">\r\n <!-- Type -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_type\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Search-Combo [disabled]=\"this.mode !== modes.create\" id-field=\"key\" label-field=\"value\"\r\n [(bind)]=\"report.reportType\" [datasource]=\"dataSource\">\r\n </Tsi-Search-Combo>\r\n </div>\r\n <!-- Nom du rapport -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_reportName\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Text-Box [inputName]=\"'reportName'\" [(inputField)]=\"report.reportName\"></Tsi-Text-Box>\r\n </div>\r\n <!-- Nom abr\u00E9g\u00E9 -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_reportNameAbrege\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-3\">\r\n <Tsi-Text-Box [inputName]=\"'reportNameAbrege'\" [(inputField)]=\"report.reportNameAbrege\"></Tsi-Text-Box>\r\n </div>\r\n <div class=\"flex col-6\">\r\n <!-- Ordre de tri -->\r\n <div class=\"flex gap-4 w-6\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_triOrdre\"></Tsi-Label>\r\n <Tsi-Integer [inputName]=\"'triOrdre'\" [(inputField)]=\"report.triOrdre\"></Tsi-Integer>\r\n </div>\r\n <!-- Afficher dashboard -->\r\n <div class=\"flex gap-4 w-6\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_display\"></Tsi-Label>\r\n <Tsi-CheckBox [inputName]=\"'display'\" [(inputField)]=\"report.display\"></Tsi-CheckBox>\r\n </div>\r\n </div>\r\n <!-- Module -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_Module\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Search-Combo id-field=\"code\" label-field=\"libelle\" [multiple]=\"false\" [(bind)]=\"report.module\"\r\n [datasource]=\"modules\" [isFiltered]=\"false\">\r\n </Tsi-Search-Combo>\r\n </div>\r\n <!-- Deuxi\u00E9me Impress -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_imppress\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-5\">\r\n <Tsi-Text-Box [disabled]=\"true\" [inputName]=\"'imppress'\" [(inputField)]=\"report.impress\"></Tsi-Text-Box>\r\n </div>\r\n <!-- Edition unique -->\r\n <div class=\"col-4 col-form-label flx\">\r\n <Tsi-CheckBox [inputName]=\"'EditionUnique'\" [(inputField)]=\"report.editionUnique\"></Tsi-CheckBox> \r\n <Tsi-Label labelValue=\"administration_edition_personnalise_EditionUnique\"></Tsi-Label>\r\n </div>\r\n <!-- Endpoint -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_endpoint\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Search-Combo *ngIf=\"!isReportForFiche && !enableMultiSelectEndpoints\" id-field=\"key\" label-field=\"value\"\r\n [disabled]=\"modes.edit === mode || isEditionPersonnalise === false\"\r\n (selectedLabelChange)=\"selectedEndpointChange($event)\" [(bind)]=\"report.endPointKey\"\r\n [elementSourceUrl]=\"administrationEndpoints.getApiAsKeyValuePair()\"\r\n [listSourceUrl]=\"administrationEndpoints.getAllApiAsKeyValuePair()\" [isFiltered]=\"true\">\r\n </Tsi-Search-Combo>\r\n\r\n <Tsi-Search-Combo *ngIf=\"customReportingMode && !enableMultiSelectEndpoints \" id-field=\"value\" label-field=\"value\"\r\n (selectedLabelChange)=\"selectedEndpointChange($event)\" [(bind)]=\"report.endPointKey\"\r\n [listSourceUrl]=\"administrationEndpoints.getAllApiAsKeyValuePairByBusinessClassName(this.reportBusinessClass)\"\r\n [isFiltered]=\"false\">\r\n </Tsi-Search-Combo>\r\n\r\n <Tsi-Search-Combo *ngIf=\"isReportForFiche\"\r\n id-field=\"value\"\r\n label-field=\"value\"\r\n [(bind)]=\"selectedEndpoints\"\r\n [listSourceUrl]=\"administrationEndpoints.getAllApiAsKeyValuePairByBusinessClassName(this.reportBusinessClass)\"\r\n [isFiltered]=\"false\"\r\n [multiple]=\"true\"\r\n (selectedLabelChange)=\"selectedEndpointChange($event)\">\r\n </Tsi-Search-Combo>\r\n\r\n <p-multiSelect *ngIf=\"!isReportForFiche && enableMultiSelectEndpoints\" [options]=\"endpointsOptions\" [(ngModel)]=\"selectedEndpoints\"\r\n selectedItemsLabel=\"{0} {{ 'endpoint_selected' | localize }}\" optionLabel=\"value\"\r\n optionValue=\"value\"\r\n [style]=\"{'min-width': '180px'}\" placeholder=\"{{ 'shared_reporting_choose_endpoints' | localize }}\"\r\n (onPanelShow)=\"handleOpen()\"\r\n [filter]=\"true\"\r\n (onFilter)=\"onFilter($event)\"\r\n display=\"chip\"\r\n class=\"rounded-multiselect\">\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"flex items-center gap-2\">\r\n <span>{{ option.value}}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiSelect>\r\n </div>\r\n\r\n\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_formName\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-6\">\r\n <Tsi-Text-Box [disabled]=\"true\" [inputName]=\"'formName'\"\r\n [(inputField)]=\"report.formName\"></Tsi-Text-Box>\r\n </div>\r\n <!-- Param -->\r\n <div *ngIf=\"isGetByIdRequest\" class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_param\"></Tsi-Label>\r\n </div>\r\n <div *ngIf=\"isGetByIdRequest\" class=\"col-9\">\r\n <Tsi-Text-Box [inputName]=\"'param'\" [(inputField)]=\"report.param\"></Tsi-Text-Box>\r\n </div>\r\n </div>\r\n </p-panel>\r\n <br />\r\n <p-panel header=\"Configuration Pivot Grid\">\r\n <div class=\"grid \">\r\n <!-- Class or view -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label [labelValue]=\"'Class or view'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Text-Box [inputName]=\"'dddd'\"></Tsi-Text-Box>\r\n </div>\r\n <!-- Query -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label [labelValue]=\"'Query'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9 col-form-label\">\r\n <Tsi-Text-Area [rows]=\"2\"></Tsi-Text-Area>\r\n </div>\r\n </div>\r\n </p-panel>\r\n\r\n <Tsi-Modal-Footer [cancelDisabled]=\"saving\" [saveDisabled]=\"saving\" (onCancelClick)=\"hide()\" \r\n [showSaveAndCloseButton]=\"false\"></Tsi-Modal-Footer>\r\n</tsi-form>", styles: [".flx{display:flex;justify-content:center;align-items:center}::ng-deep .rounded-multiselect .p-multiselect{border-radius:12px!important}::ng-deep .rounded-multiselect .p-multiselect-label{border-radius:12px!important}\n"] }]
|
|
218
|
+
args: [{ selector: 'app-add-report-popup', providers: [...appProviders], template: "<tsi-form class=\"form-horizontal\" autocomplete=\"off\" (onSubmit)=\"save()\">\r\n <h4>\r\n <Tsi-Label [labelValue]=\"config.data?.title ?? 'Nouveau Rapport'\"></Tsi-Label>\r\n </h4>\r\n <p-panel header=\"Informations\">\r\n <div class=\"grid \">\r\n <!-- Type -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_type\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Search-Combo [disabled]=\"this.mode !== modes.create\" id-field=\"key\" label-field=\"value\"\r\n [(bind)]=\"report.reportType\" [datasource]=\"dataSource\">\r\n </Tsi-Search-Combo>\r\n </div>\r\n <!-- Nom du rapport -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_reportName\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Text-Box [disabled]=\"lockAllButDisplay\" [inputName]=\"'reportName'\" [(inputField)]=\"report.reportName\"></Tsi-Text-Box>\r\n </div>\r\n <!-- Nom abr\u00E9g\u00E9 -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_reportNameAbrege\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-3\">\r\n <Tsi-Text-Box [disabled]=\"lockAllButName || lockAllButDisplay\" [inputName]=\"'reportNameAbrege'\" [(inputField)]=\"report.reportNameAbrege\"></Tsi-Text-Box>\r\n </div>\r\n <div class=\"flex col-6\">\r\n <!-- Ordre de tri -->\r\n <div class=\"flex gap-4 w-6\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_triOrdre\"></Tsi-Label>\r\n <Tsi-Integer [disabled]=\"lockAllButName || lockAllButDisplay\" [inputName]=\"'triOrdre'\" [(inputField)]=\"report.triOrdre\"></Tsi-Integer>\r\n </div>\r\n <!-- Afficher dashboard -->\r\n <div class=\"flex gap-4 w-6\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_display\"></Tsi-Label>\r\n <Tsi-CheckBox [disabled]=\"lockAllButName\" [inputName]=\"'display'\" [(inputField)]=\"report.display\"></Tsi-CheckBox>\r\n </div>\r\n </div>\r\n <!-- Module -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_Module\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Search-Combo [disabled]=\"lockAllButName || lockAllButDisplay\" id-field=\"code\" label-field=\"libelle\" [multiple]=\"false\" [(bind)]=\"report.module\"\r\n [datasource]=\"modules\" [isFiltered]=\"false\">\r\n </Tsi-Search-Combo>\r\n </div>\r\n <!-- Deuxi\u00E9me Impress -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_imppress\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-5\">\r\n <Tsi-Text-Box [disabled]=\"true\" [inputName]=\"'imppress'\" [(inputField)]=\"report.impress\"></Tsi-Text-Box>\r\n </div>\r\n <!-- Edition unique -->\r\n <div class=\"col-4 col-form-label flx\">\r\n <Tsi-CheckBox [disabled]=\"lockAllButName || lockAllButDisplay\" [inputName]=\"'EditionUnique'\" [(inputField)]=\"report.editionUnique\"></Tsi-CheckBox> \r\n <Tsi-Label labelValue=\"administration_edition_personnalise_EditionUnique\"></Tsi-Label>\r\n </div>\r\n <!-- Endpoint -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_endpoint\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Search-Combo *ngIf=\"!isReportForFiche && !enableMultiSelectEndpoints\" id-field=\"key\" label-field=\"value\"\r\n [disabled]=\"modes.edit === mode || isEditionPersonnalise === false || lockAllButName || lockAllButDisplay\"\r\n (selectedLabelChange)=\"selectedEndpointChange($event)\" [(bind)]=\"report.endPointKey\"\r\n [elementSourceUrl]=\"administrationEndpoints.getApiAsKeyValuePair()\"\r\n [listSourceUrl]=\"administrationEndpoints.getAllApiAsKeyValuePair()\" [isFiltered]=\"true\">\r\n </Tsi-Search-Combo>\r\n\r\n <Tsi-Search-Combo *ngIf=\"customReportingMode && !enableMultiSelectEndpoints \" id-field=\"value\" label-field=\"value\"\r\n [disabled]=\"lockAllButName || lockAllButDisplay\"\r\n (selectedLabelChange)=\"selectedEndpointChange($event)\" [(bind)]=\"report.endPointKey\"\r\n [listSourceUrl]=\"administrationEndpoints.getAllApiAsKeyValuePairByBusinessClassName(this.reportBusinessClass)\"\r\n [isFiltered]=\"false\">\r\n </Tsi-Search-Combo>\r\n\r\n <Tsi-Search-Combo *ngIf=\"isReportForFiche\"\r\n id-field=\"value\"\r\n label-field=\"value\"\r\n [disabled]=\"lockAllButName || lockAllButDisplay\"\r\n [(bind)]=\"selectedEndpoints\"\r\n [listSourceUrl]=\"administrationEndpoints.getAllApiAsKeyValuePairByBusinessClassName(this.reportBusinessClass)\"\r\n [isFiltered]=\"false\"\r\n [multiple]=\"true\"\r\n (selectedLabelChange)=\"selectedEndpointChange($event)\">\r\n </Tsi-Search-Combo>\r\n\r\n <p-multiSelect *ngIf=\"!isReportForFiche && enableMultiSelectEndpoints\" [options]=\"endpointsOptions\" [(ngModel)]=\"selectedEndpoints\"\r\n [disabled]=\"lockAllButName || lockAllButDisplay\"\r\n selectedItemsLabel=\"{0} {{ 'endpoint_selected' | localize }}\" optionLabel=\"value\"\r\n optionValue=\"value\"\r\n [style]=\"{'min-width': '180px'}\" placeholder=\"{{ 'shared_reporting_choose_endpoints' | localize }}\"\r\n (onPanelShow)=\"handleOpen()\"\r\n [filter]=\"true\"\r\n (onFilter)=\"onFilter($event)\"\r\n display=\"chip\"\r\n class=\"rounded-multiselect\">\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"flex items-center gap-2\">\r\n <span>{{ option.value}}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiSelect>\r\n </div>\r\n\r\n\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_formName\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-6\">\r\n <Tsi-Text-Box [disabled]=\"true\" [inputName]=\"'formName'\"\r\n [(inputField)]=\"report.formName\"></Tsi-Text-Box>\r\n </div>\r\n <!-- Param -->\r\n <div *ngIf=\"isGetByIdRequest\" class=\"col-3 col-form-label\">\r\n <Tsi-Label labelValue=\"administration_edition_personnalise_param\"></Tsi-Label>\r\n </div>\r\n <div *ngIf=\"isGetByIdRequest\" class=\"col-9\">\r\n <Tsi-Text-Box [disabled]=\"lockAllButName || lockAllButDisplay\" [inputName]=\"'param'\" [(inputField)]=\"report.param\"></Tsi-Text-Box>\r\n </div>\r\n </div>\r\n </p-panel>\r\n <br />\r\n <p-panel header=\"Configuration Pivot Grid\">\r\n <div class=\"grid \">\r\n <!-- Class or view -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label [labelValue]=\"'Class or view'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9\">\r\n <Tsi-Text-Box [inputName]=\"'dddd'\"></Tsi-Text-Box>\r\n </div>\r\n <!-- Query -->\r\n <div class=\"col-3 col-form-label\">\r\n <Tsi-Label [labelValue]=\"'Query'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-9 col-form-label\">\r\n <Tsi-Text-Area [rows]=\"2\"></Tsi-Text-Area>\r\n </div>\r\n </div>\r\n </p-panel>\r\n\r\n <Tsi-Modal-Footer [cancelDisabled]=\"saving\" [saveDisabled]=\"saving\" (onCancelClick)=\"hide()\" \r\n [showSaveAndCloseButton]=\"false\"></Tsi-Modal-Footer>\r\n</tsi-form>", styles: [".flx{display:flex;justify-content:center;align-items:center}::ng-deep .rounded-multiselect .p-multiselect{border-radius:12px!important}::ng-deep .rounded-multiselect .p-multiselect-label{border-radius:12px!important}\n"] }]
|
|
207
219
|
}], ctorParameters: () => [{ type: i1.DynamicDialogRef }, { type: i2.ReportingService }, { type: i1.DynamicDialogConfig }, { type: i3.TsiNotificationService }, { type: i4.DashboardModuleService }, { type: i5.TsiConfirmationService }, { type: i6.HttpClient }, { type: i7.Router }] });
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlcG9ydC1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90c2ktc2hhcmVkLXVpL3NyYy9saWIvdHNpLWNvbXBvbmVudHMvbWFuYWdlLXJlcG9ydGluZy9hZGQtcmVwb3J0LXBvcHVwL2FkZC1yZXBvcnQtcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHNpLXNoYXJlZC11aS9zcmMvbGliL3RzaS1jb21wb25lbnRzL21hbmFnZS1yZXBvcnRpbmcvYWRkLXJlcG9ydC1wb3B1cC9hZGQtcmVwb3J0LXBvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUVuSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUzlELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSw2QkFBNkI7SUFxQnhFLElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUM7ZUFDcEQsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQztlQUN4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SSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUN4QixDQUFDO1FBQ0gsQ0FBQyxDQUNBLENBQUM7SUFFTixDQUFDO0lBRUQsc0JBQXNCLENBQUMsYUFBa0I7UUFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQzFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxzQkFBc0I7YUFDeEIsYUFBYSxFQUFFO2FBQ2YsU0FBUyxDQUNSO1lBQ0UsSUFBSSxFQUFFLENBQUMsTUFBYSxFQUFFLEVBQUU7Z0JBQ3RCLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDekQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FDRixDQUFBO0lBQ0wsQ0FBQzsrR0F4TlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsK0NBRnZCLENBQUMsR0FBRyxZQUFZLENBQUMsaURDbEI5Qixpa1FBa0pXOzs0RkQ5SEUsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHNCQUFzQixhQUdyQixDQUFDLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ0NvbmZpZywgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IEFkbWluaXN0cmF0aW9uRW5kcG9pbnRzIH0gZnJvbSAnLi4vLi4vLi4vZW5kLXBvaW50cyc7XHJcbmltcG9ydCB7IFRzaVJlcG9ydFR5cGUsIE1vZGVzIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMnO1xyXG5pbXBvcnQgeyBUc2lGb3JtQ29tcG9uZW50QmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3RzaS1iYXNlL2NvbXBvbmVudHMvdHNpLWZvcm0tYmFzZS90c2ktZm9ybS1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhc2hib2FyZE1vZHVsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXBvcnRpbmcvZGFzaGJvYXJkLW1vZHVsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgYXBwUHJvdmlkZXJzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RzL2FwcC1wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBSZXBvcnRpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmVwb3J0aW5nL3JlcG9ydGluZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHNpTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi90c2ktbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUc2lDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbm90aWZpY2F0aW9uL3RzaS1jb25maXJtYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hZGQtcmVwb3J0LXBvcHVwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLXJlcG9ydC1wb3B1cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLXJlcG9ydC1wb3B1cC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogWy4uLmFwcFByb3ZpZGVyc11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZFJlcG9ydFBvcHVwQ29tcG9uZW50IGV4dGVuZHMgVHNpRm9ybUNvbXBvbmVudEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBkYXRhU291cmNlOiB7IGtleTogVHNpUmVwb3J0VHlwZSwgdmFsdWU6IHN0cmluZyB9W10gPSBbXHJcbiAgICB7IGtleTogVHNpUmVwb3J0VHlwZS5MaXN0LCB2YWx1ZTogXCJFbmQgdXNlciByZXBvcnRcIiB9LFxyXG4gICAgeyBrZXk6IFRzaVJlcG9ydFR5cGUuRGFzaGJvYXJkLCB2YWx1ZTogXCJEYXNoYm9hcmRcIiB9LFxyXG4gICAgeyBrZXk6IFRzaVJlcG9ydFR5cGUuUlRGLCB2YWx1ZTogXCJSVEZcIiB9XHJcbiAgXTtcclxuXHJcbiAgaXNHZXRCeUlkUmVxdWVzdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG1vZGVzID0gTW9kZXM7XHJcbiAgaXNFZGl0aW9uUGVyc29ubmFsaXNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgYWRtaW5pc3RyYXRpb25FbmRwb2ludHMgPSBBZG1pbmlzdHJhdGlvbkVuZHBvaW50cztcclxuICByZXBvcnRCdXNpbmVzc0NsYXNzPzogc3RyaW5nXHJcbiAgY3VzdG9tUmVwb3J0aW5nTW9kZT86IGJvb2xlYW5cclxuXHJcbiAgc2VsZWN0ZWRFbmRwb2ludHM6IGFueVtdID0gW11cclxuICBlbmRwb2ludHNPcHRpb25zOiBhbnlbXSA9IFtdXHJcbiAgZW5hYmxlTXVsdGlTZWxlY3RFbmRwb2ludHM6IGJvb2xlYW4gPSBmYWxzZVxyXG5cclxuICBwcml2YXRlIF9pc1JlcG9ydEZvckZpY2hlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGdldCBpc1JlcG9ydEZvckZpY2hlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICF0aGlzLl9yb3V0ZXIudXJsLmluY2x1ZGVzKCdlZGl0aW9uLXBlcnNvbmFsaXNlZScpXHJcbiAgICAgICYmICF0aGlzLmNvbmZpZy5kYXRhPy5mcm9tRW5kcG9pbnQ/LmluY2x1ZGVzKFwiZ2V0YWxscGFnZWRcIilcclxuICAgICAgJiYgdGhpcy5jb25maWcuZGF0YT8uZnJvbUVuZHBvaW50ICE9IHVuZGVmaW5lZFxyXG4gIH1cclxuXHJcbiAgcmVwb3J0ID0ge1xyXG4gICAgcmVwb3J0VHlwZTogJycsXHJcbiAgICByZXBvcnROYW1lOiAnJyxcclxuICAgIHJlcG9ydE5hbWVBYnJlZ2U6ICcnLFxyXG4gICAgdHJpT3JkcmU6IDAsXHJcbiAgICBtb2R1bGU6ICcnLFxyXG4gICAgaW1wcmVzczogJycsXHJcbiAgICBlZGl0aW9uVW5pcXVlOiBmYWxzZSxcclxuICAgIGVuZFBvaW50S2V5OiAnJyxcclxuICAgIGVuZFBvaW50VmFsdWU6ICcnLFxyXG4gICAgcGFyYW06ICcnLFxyXG4gICAgZm9ybU5hbWU6ICcnLFxyXG4gICAgZGlzcGxheTogZmFsc2UsXHJcbiAgfVxyXG5cclxuICBtb2R1bGVzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBvdmVycmlkZSByZWY6IER5bmFtaWNEaWFsb2dSZWYsXHJcbiAgICBwdWJsaWMgcmVwb3J0aW5nU2VydmljZTogUmVwb3J0aW5nU2VydmljZSxcclxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsXHJcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IFRzaU5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRhc2hib2FyZE1vZHVsZVNlcnZpY2U6IERhc2hib2FyZE1vZHVsZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jb25maXJtOiBUc2lDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyXHJcbiAgKSB7XHJcbiAgICBzdXBlcihyZWYsIGNvbmZpZyk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICB0aGlzLmVuYWJsZU11bHRpU2VsZWN0RW5kcG9pbnRzID0gdGhpcy5fcm91dGVyLnVybC5pbmNsdWRlcygnZWRpdGlvbi1wZXJzb25hbGlzZWUnKSB8fCB0aGlzLmlzUmVwb3J0Rm9yRmljaGU7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLmRhdGEudmFsdWUpIHtcclxuICAgICAgY29uc29sZS5sb2coXCI+Pj4gdGhpcy5jb25maWcuZGF0YTogXCIsIHRoaXMuY29uZmlnLmRhdGEpO1xyXG4gICAgICB0aGlzLnJlcG9ydC5yZXBvcnRUeXBlID0gdGhpcy5jb25maWcuZGF0YS52YWx1ZS5yZXBvcnRUeXBlO1xyXG4gICAgICB0aGlzLnJlcG9ydC5yZXBvcnROYW1lID0gdGhpcy5jb25maWcuZGF0YS52YWx1ZS5uYW1lO1xyXG4gICAgICB0aGlzLnJlcG9ydC5lbmRQb2ludEtleSA9IHRoaXMuY29uZmlnLmRhdGEudmFsdWU/LnJlc3RFbmRwb2ludDtcclxuICAgICAgdGhpcy5yZXBvcnQuZW5kUG9pbnRWYWx1ZSA9IHRoaXMuY29uZmlnLmRhdGEudmFsdWU/LnJlc3RFbmRwb2ludDtcclxuICAgICAgdGhpcy5yZXBvcnQubW9kdWxlID0gdGhpcy5jb25maWcuZGF0YS52YWx1ZS5tb2R1bGU7XHJcbiAgICAgIHRoaXMucmVwb3J0LnRyaU9yZHJlID0gdGhpcy5jb25maWcuZGF0YS52YWx1ZS5vcmRlcjtcclxuICAgICAgdGhpcy5yZXBvcnQuZm9ybU5hbWUgPSB0aGlzLmNvbmZpZy5kYXRhLnZhbHVlLmZvcm1OYW1lO1xyXG4gICAgICB0aGlzLnJlcG9ydC5yZXBvcnROYW1lQWJyZWdlID0gdGhpcy5jb25maWcuZGF0YS52YWx1ZS5zaG9ydE5hbWU7XHJcbiAgICAgIHRoaXMucmVwb3J0LmRpc3BsYXkgPSB0aGlzLmNvbmZpZy5kYXRhLnZhbHVlLmRpc3BsYXk7XHJcblxyXG4gICAgICBpZiAodGhpcy5lbmFibGVNdWx0aVNlbGVjdEVuZHBvaW50cykge1xyXG4gICAgICAgIHRoaXMuZW5kcG9pbnRzT3B0aW9ucyA9IHRoaXMucmVwb3J0LmVuZFBvaW50S2V5XHJcbiAgICAgICAgICA/IHRoaXMucmVwb3J0LmVuZFBvaW50S2V5LnNwbGl0KCc7JykubWFwKHggPT4gKHsgbGFiZWw6IHgsIHZhbHVlOiB4IH0pKVxyXG4gICAgICAgICAgOiBbXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRW5kcG9pbnRzID0gdGhpcy5yZXBvcnQuZW5kUG9pbnRLZXlcclxuICAgICAgICAgID8gdGhpcy5yZXBvcnQuZW5kUG9pbnRLZXkuc3BsaXQoJzsnKVxyXG4gICAgICAgICAgOiBbXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVwb3J0QnVzaW5lc3NDbGFzcyA9IHRoaXMuY29uZmlnLmRhdGE/LnJlcG9ydEJ1c2luZXNzQ2xhc3NcclxuICAgIHRoaXMuY3VzdG9tUmVwb3J0aW5nTW9kZSA9IHRoaXMuY29uZmlnLmRhdGE/LmN1c3RvbVJlcG9ydGluZ01vZGVcclxuXHJcbiAgICBpZiAodGhpcy5jdXN0b21SZXBvcnRpbmdNb2RlKSB7XHJcbiAgICAgIHRoaXMucmVwb3J0LmVuZFBvaW50S2V5ID0gdGhpcy5jb25maWcuZGF0YT8uZnJvbUVuZHBvaW50XHJcbiAgICAgIHRoaXMucmVwb3J0LmVuZFBvaW50VmFsdWUgPSB0aGlzLmNvbmZpZy5kYXRhPy5mcm9tRW5kcG9pbnRcclxuICAgIH1cclxuXHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLmRhdGE/LmZyb21FbmRwb2ludCAmJiAhdGhpcy5pc1JlcG9ydEZvckZpY2hlICYmICF0aGlzLmN1c3RvbVJlcG9ydGluZ01vZGUgJiYgIXRoaXMuZW5hYmxlTXVsdGlTZWxlY3RFbmRwb2ludHMpIHtcclxuICAgICAgdGhpcy5yZXBvcnRpbmdTZXJ2aWNlLmdldEFwaUFzS2V5VmFsdWVCeVZhbHVlKGVuY29kZVVSSUNvbXBvbmVudCh0aGlzLmNvbmZpZy5kYXRhLmZyb21FbmRwb2ludCkpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhyZXMpXHJcbiAgICAgICAgICB0aGlzLnJlcG9ydC5lbmRQb2ludEtleSA9IHJlc1swXT8ua2V5O1xyXG4gICAgICAgICAgdGhpcy5yZXBvcnQuZW5kUG9pbnRWYWx1ZSA9IHJlc1swXT8udmFsdWU7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm1vZGUgPSB0aGlzLmNvbmZpZy5kYXRhLm1vZGVcclxuICAgIHRoaXMuaXNFZGl0aW9uUGVyc29ubmFsaXNlID0gdGhpcy5jb25maWcuZGF0YS5pc0VkaXRpb25QZXJzb25uYWxpc2VcclxuICAgIGNvbnNvbGUubG9nKHRoaXMubW9kZSlcclxuXHJcbiAgICB0aGlzLmFsbG93U2F2ZVdpdGhvdXRDaGFuZ2VzID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmdldEFsbE1vZHVsZXMoKTtcclxuICB9XHJcblxyXG4gIHJlcG9ydFR5cGVDaGFuZ2UoZXZ0OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKGV2dClcclxuICB9XHJcblxyXG4gIGFzeW5jIGhhbmRsZU9wZW4oKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXHJcbiAgICAgICAgdGhpcy5faHR0cENsaWVudC5nZXQ8YW55W10+KFxyXG4gICAgICAgICAgZW5jb2RlVVJJKHRoaXMuYWRtaW5pc3RyYXRpb25FbmRwb2ludHMuZ2V0QWxsQXBpQXNLZXlWYWx1ZVBhaXIoKSlcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB0aGlzLmVuZHBvaW50c09wdGlvbnMgPSBkYXRhIHx8IFtdO1xyXG4gICAgICB0aGlzLmVuZHBvaW50c09wdGlvbnMgPSBbLi4uIHRoaXMuc2VsZWN0ZWRFbmRwb2ludHMubWFwKHggPT4gKHsgbGFiZWw6IHgsIHZhbHVlOiB4IH0pKSxcclxuICAgICAgLi4udGhpcy5lbmRwb2ludHNPcHRpb25zXVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbG9hZGluZyBlbmRwb2ludHM6JywgZXJyb3IpO1xyXG4gICAgICB0aGlzLmVuZHBvaW50c09wdGlvbnMgPSBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIG9uRmlsdGVyKGV2ZW50OiBhbnkpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuX2dlbmVyYXRlSHR0cFBhcmFtcyhldmVudD8uZmlsdGVyKTtcclxuXHJcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcclxuICAgICAgICB0aGlzLl9odHRwQ2xpZW50LmdldDxhbnlbXT4oXHJcbiAgICAgICAgICBlbmNvZGVVUkkodGhpcy5hZG1pbmlzdHJhdGlvbkVuZHBvaW50cy5nZXRBbGxBcGlBc0tleVZhbHVlUGFpcigpKSxcclxuICAgICAgICAgIHsgcGFyYW1zIH1cclxuICAgICAgICApXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB0aGlzLmVuZHBvaW50c09wdGlvbnMgPSBkYXRhIHx8IFtdO1xyXG4gICAgICB0aGlzLmVuZHBvaW50c09wdGlvbnMgPSBbLi4udGhpcy5zZWxlY3RlZEVuZHBvaW50cy5tYXAoeCA9PiAoeyBsYWJlbDogeCwgdmFsdWU6IHggfSkpLCAuLi50aGlzLmVuZHBvaW50c09wdGlvbnNdXHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIGVuZHBvaW50czonLCBlcnJvcik7XHJcbiAgICAgIHRoaXMuZW5kcG9pbnRzT3B0aW9ucyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2dlbmVyYXRlSHR0cFBhcmFtcyhmaWx0ZXI/OiBzdHJpbmcpOiBIdHRwUGFyYW1zIHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgaWYgKGZpbHRlcikge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd2YWx1ZScsIGZpbHRlcik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFyYW1zO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgc2F2ZSgpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodGhpcy5lbmFibGVNdWx0aVNlbGVjdEVuZHBvaW50cykge1xyXG4gICAgICB0aGlzLnJlcG9ydC5lbmRQb2ludEtleSA9IHRoaXMuc2VsZWN0ZWRFbmRwb2ludHMuam9pbignOycpO1xyXG4gICAgICB0aGlzLnJlcG9ydC5lbmRQb2ludFZhbHVlID0gdGhpcy5zZWxlY3RlZEVuZHBvaW50cy5qb2luKCc7Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgc3VwZXIuc2F2ZSgpXHJcbiAgICBcclxuICAgIGlmICh0aGlzLnJlcG9ydC5yZXBvcnRUeXBlID09PSAnJykge1xyXG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uud2FybihcInNoYXJlZF9yZXBvcnRpbmdfcmVwb3J0X3R5cGVfcmVxdWlyZWRcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMucmVwb3J0LnJlcG9ydE5hbWUgPT09ICcnKSB7XHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS53YXJuKFwic2hhcmVkX3JlcG9ydGluZ19yZXBvcnRfbmFtZV9yZXF1aXJlZFwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5pc0VkaXRpb25QZXJzb25uYWxpc2UgJiYgdGhpcy5yZXBvcnQuZW5kUG9pbnRLZXkgPT09ICcnKSB7XHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS53YXJuKFwic2hhcmVkX3JlcG9ydGluZ19yZXBvcnRfZW5kcG9pbnRfcmVxdWlyZWRcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9jb25maXJtXHJcbiAgICAgIC5jb25maXJtKHRoaXMubCgnc2hhcmVkX3JlcG9ydGluZ19yZXBvcnRfY29uZmlybVJlZGlyZWN0aW9uJyksIHVuZGVmaW5lZCwgKHJlc3VsdDogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjYW5SZWRpcmVjdCcsIEpTT04uc3RyaW5naWZ5KHRydWUpKTtcclxuICAgICAgICAgIHRoaXMuaGlkZSh0aGlzLnJlcG9ydCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjYW5SZWRpcmVjdCcsIEpTT04uc3RyaW5naWZ5KGZhbHNlKSk7XHJcbiAgICAgICAgICB0aGlzLmhpZGUodGhpcy5yZXBvcnQpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICk7XHJcblxyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRFbmRwb2ludENoYW5nZShlbmRwb2ludFZhbHVlOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMucmVwb3J0KVxyXG4gICAgdGhpcy5yZXBvcnQuZW5kUG9pbnRWYWx1ZSA9IGVuZHBvaW50VmFsdWU7XHJcbiAgICB0aGlzLmlzR2V0QnlJZFJlcXVlc3QgPSBlbmRwb2ludFZhbHVlLmluY2x1ZGVzKFwie2lkfVwiKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0QWxsTW9kdWxlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuZGFzaGJvYXJkTW9kdWxlU2VydmljZVxyXG4gICAgICAuZ2V0QWxsTW9kdWxlcygpXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmV4dDogKHZhbHVlczogYW55W10pID0+IHtcclxuICAgICAgICAgICAgaWYgKHZhbHVlcyAmJiBBcnJheS5pc0FycmF5KHZhbHVlcykgJiYgdmFsdWVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICB0aGlzLm1vZHVsZXMgPSB2YWx1ZXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICB9XHJcbn1cclxuIiwiPHRzaS1mb3JtIGNsYXNzPVwiZm9ybS1ob3Jpem9udGFsXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgKG9uU3VibWl0KT1cInNhdmUoKVwiPlxyXG4gICAgPGg0PlxyXG4gICAgICAgIDxUc2ktTGFiZWwgW2xhYmVsVmFsdWVdPVwiJ05vdXZlYXUgUmFwcG9ydCdcIj48L1RzaS1MYWJlbD5cclxuICAgIDwvaDQ+XHJcbiAgICA8cC1wYW5lbCBoZWFkZXI9XCJJbmZvcm1hdGlvbnNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBcIj5cclxuICAgICAgICAgICAgPCEtLSBUeXBlIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTMgY29sLWZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxUc2ktTGFiZWwgbGFiZWxWYWx1ZT1cImFkbWluaXN0cmF0aW9uX2VkaXRpb25fcGVyc29ubmFsaXNlX3R5cGVcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOVwiPlxyXG4gICAgICAgICAgICAgICAgPFRzaS1TZWFyY2gtQ29tYm8gW2Rpc2FibGVkXT1cInRoaXMubW9kZSAhPT0gbW9kZXMuY3JlYXRlXCIgaWQtZmllbGQ9XCJrZXlcIiBsYWJlbC1maWVsZD1cInZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbKGJpbmQpXT1cInJlcG9ydC5yZXBvcnRUeXBlXCIgW2RhdGFzb3VyY2VdPVwiZGF0YVNvdXJjZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9Uc2ktU2VhcmNoLUNvbWJvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSBOb20gZHUgcmFwcG9ydCAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zIGNvbC1mb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8VHNpLUxhYmVsIGxhYmVsVmFsdWU9XCJhZG1pbmlzdHJhdGlvbl9lZGl0aW9uX3BlcnNvbm5hbGlzZV9yZXBvcnROYW1lXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTlcIj5cclxuICAgICAgICAgICAgICAgIDxUc2ktVGV4dC1Cb3ggW2lucHV0TmFtZV09XCIncmVwb3J0TmFtZSdcIiBbKGlucHV0RmllbGQpXT1cInJlcG9ydC5yZXBvcnROYW1lXCI+PC9Uc2ktVGV4dC1Cb3g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIE5vbSBhYnLDqWfDqSAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zIGNvbC1mb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8VHNpLUxhYmVsIGxhYmVsVmFsdWU9XCJhZG1pbmlzdHJhdGlvbl9lZGl0aW9uX3BlcnNvbm5hbGlzZV9yZXBvcnROYW1lQWJyZWdlXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTNcIj5cclxuICAgICAgICAgICAgICAgIDxUc2ktVGV4dC1Cb3ggW2lucHV0TmFtZV09XCIncmVwb3J0TmFtZUFicmVnZSdcIiBbKGlucHV0RmllbGQpXT1cInJlcG9ydC5yZXBvcnROYW1lQWJyZWdlXCI+PC9Uc2ktVGV4dC1Cb3g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBjb2wtNlwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBPcmRyZSBkZSB0cmkgLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtNCB3LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8VHNpLUxhYmVsIGxhYmVsVmFsdWU9XCJhZG1pbmlzdHJhdGlvbl9lZGl0aW9uX3BlcnNvbm5hbGlzZV90cmlPcmRyZVwiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxUc2ktSW50ZWdlciBbaW5wdXROYW1lXT1cIid0cmlPcmRyZSdcIiBbKGlucHV0RmllbGQpXT1cInJlcG9ydC50cmlPcmRyZVwiPjwvVHNpLUludGVnZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gQWZmaWNoZXIgZGFzaGJvYXJkIC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTQgdy02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFRzaS1MYWJlbCBsYWJlbFZhbHVlPVwiYWRtaW5pc3RyYXRpb25fZWRpdGlvbl9wZXJzb25uYWxpc2VfZGlzcGxheVwiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxUc2ktQ2hlY2tCb3ggW2lucHV0TmFtZV09XCInZGlzcGxheSdcIiBbKGlucHV0RmllbGQpXT1cInJlcG9ydC5kaXNwbGF5XCI+PC9Uc2ktQ2hlY2tCb3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gTW9kdWxlIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTMgY29sLWZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxUc2ktTGFiZWwgbGFiZWxWYWx1ZT1cImFkbWluaXN0cmF0aW9uX2VkaXRpb25fcGVyc29ubmFsaXNlX01vZHVsZVwiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC05XCI+XHJcbiAgICAgICAgICAgICAgICA8VHNpLVNlYXJjaC1Db21ibyBpZC1maWVsZD1cImNvZGVcIiBsYWJlbC1maWVsZD1cImxpYmVsbGVcIiBbbXVsdGlwbGVdPVwiZmFsc2VcIiBbKGJpbmQpXT1cInJlcG9ydC5tb2R1bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkYXRhc291cmNlXT1cIm1vZHVsZXNcIiBbaXNGaWx0ZXJlZF09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9Uc2ktU2VhcmNoLUNvbWJvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSBEZXV4acOpbWUgSW1wcmVzcyAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zIGNvbC1mb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8VHNpLUxhYmVsIGxhYmVsVmFsdWU9XCJhZG1pbmlzdHJhdGlvbl9lZGl0aW9uX3BlcnNvbm5hbGlzZV9pbXBwcmVzc1wiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC01XCI+XHJcbiAgICAgICAgICAgICAgICA8VHNpLVRleHQtQm94IFtkaXNhYmxlZF09XCJ0cnVlXCIgW2lucHV0TmFtZV09XCInaW1wcHJlc3MnXCIgWyhpbnB1dEZpZWxkKV09XCJyZXBvcnQuaW1wcmVzc1wiPjwvVHNpLVRleHQtQm94PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSBFZGl0aW9uIHVuaXF1ZSAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC00IGNvbC1mb3JtLWxhYmVsIGZseFwiPlxyXG4gICAgICAgICAgICAgICAgPFRzaS1DaGVja0JveCBbaW5wdXROYW1lXT1cIidFZGl0aW9uVW5pcXVlJ1wiIFsoaW5wdXRGaWVsZCldPVwicmVwb3J0LmVkaXRpb25VbmlxdWVcIj48L1RzaS1DaGVja0JveD4mbmJzcDtcclxuICAgICAgICAgICAgICAgIDxUc2ktTGFiZWwgbGFiZWxWYWx1ZT1cImFkbWluaXN0cmF0aW9uX2VkaXRpb25fcGVyc29ubmFsaXNlX0VkaXRpb25VbmlxdWVcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gRW5kcG9pbnQgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMyBjb2wtZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgPFRzaS1MYWJlbCBsYWJlbFZhbHVlPVwiYWRtaW5pc3RyYXRpb25fZWRpdGlvbl9wZXJzb25uYWxpc2VfZW5kcG9pbnRcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOVwiPlxyXG4gICAgICAgICAgICAgICAgPFRzaS1TZWFyY2gtQ29tYm8gKm5nSWY9XCIhaXNSZXBvcnRGb3JGaWNoZSAmJiAhZW5hYmxlTXVsdGlTZWxlY3RFbmRwb2ludHNcIiBpZC1maWVsZD1cImtleVwiIGxhYmVsLWZpZWxkPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJtb2Rlcy5lZGl0ID09PSBtb2RlIHx8IGlzRWRpdGlvblBlcnNvbm5hbGlzZSA9PT0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZExhYmVsQ2hhbmdlKT1cInNlbGVjdGVkRW5kcG9pbnRDaGFuZ2UoJGV2ZW50KVwiIFsoYmluZCldPVwicmVwb3J0LmVuZFBvaW50S2V5XCJcclxuICAgICAgICAgICAgICAgICAgICBbZWxlbWVudFNvdXJjZVVybF09XCJhZG1pbmlzdHJhdGlvbkVuZHBvaW50cy5nZXRBcGlBc0tleVZhbHVlUGFpcigpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGlzdFNvdXJjZVVybF09XCJhZG1pbmlzdHJhdGlvbkVuZHBvaW50cy5nZXRBbGxBcGlBc0tleVZhbHVlUGFpcigpXCIgW2lzRmlsdGVyZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9Uc2ktU2VhcmNoLUNvbWJvPlxyXG5cclxuICAgICAgICAgICAgICAgIDxUc2ktU2VhcmNoLUNvbWJvICpuZ0lmPVwiY3VzdG9tUmVwb3J0aW5nTW9kZSAmJiAhZW5hYmxlTXVsdGlTZWxlY3RFbmRwb2ludHMgXCIgaWQtZmllbGQ9XCJ2YWx1ZVwiIGxhYmVsLWZpZWxkPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZExhYmVsQ2hhbmdlKT1cInNlbGVjdGVkRW5kcG9pbnRDaGFuZ2UoJGV2ZW50KVwiIFsoYmluZCldPVwicmVwb3J0LmVuZFBvaW50S2V5XCJcclxuICAgICAgICAgICAgICAgICAgICBbbGlzdFNvdXJjZVVybF09XCJhZG1pbmlzdHJhdGlvbkVuZHBvaW50cy5nZXRBbGxBcGlBc0tleVZhbHVlUGFpckJ5QnVzaW5lc3NDbGFzc05hbWUodGhpcy5yZXBvcnRCdXNpbmVzc0NsYXNzKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2lzRmlsdGVyZWRdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgIDwvVHNpLVNlYXJjaC1Db21ibz5cclxuXHJcbiAgICAgICAgICAgICAgICA8VHNpLVNlYXJjaC1Db21ibyAqbmdJZj1cImlzUmVwb3J0Rm9yRmljaGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGlkLWZpZWxkPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsLWZpZWxkPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFsoYmluZCldPVwic2VsZWN0ZWRFbmRwb2ludHNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsaXN0U291cmNlVXJsXT1cImFkbWluaXN0cmF0aW9uRW5kcG9pbnRzLmdldEFsbEFwaUFzS2V5VmFsdWVQYWlyQnlCdXNpbmVzc0NsYXNzTmFtZSh0aGlzLnJlcG9ydEJ1c2luZXNzQ2xhc3MpXCJcclxuICAgICAgICAgICAgICAgICAgICBbaXNGaWx0ZXJlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW211bHRpcGxlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZExhYmVsQ2hhbmdlKT1cInNlbGVjdGVkRW5kcG9pbnRDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9Uc2ktU2VhcmNoLUNvbWJvPlxyXG5cclxuICAgICAgICAgICAgICAgIDxwLW11bHRpU2VsZWN0ICpuZ0lmPVwiIWlzUmVwb3J0Rm9yRmljaGUgJiYgZW5hYmxlTXVsdGlTZWxlY3RFbmRwb2ludHNcIiBbb3B0aW9uc109XCJlbmRwb2ludHNPcHRpb25zXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEVuZHBvaW50c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtc0xhYmVsPVwiezB9IHt7ICdlbmRwb2ludF9zZWxlY3RlZCcgfCBsb2NhbGl6ZSB9fVwiIG9wdGlvbkxhYmVsPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJ7J21pbi13aWR0aCc6ICcxODBweCd9XCIgcGxhY2Vob2xkZXI9XCJ7eyAnc2hhcmVkX3JlcG9ydGluZ19jaG9vc2VfZW5kcG9pbnRzJyB8IGxvY2FsaXplIH19XCJcclxuICAgICAgICAgICAgICAgICAgICAob25QYW5lbFNob3cpPVwiaGFuZGxlT3BlbigpXCJcclxuICAgICAgICAgICAgICAgICAgICBbZmlsdGVyXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbkZpbHRlcik9XCJvbkZpbHRlcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5PVwiY2hpcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJyb3VuZGVkLW11bHRpc2VsZWN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1vcHRpb24gcFRlbXBsYXRlPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IG9wdGlvbi52YWx1ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC9wLW11bHRpU2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTMgY29sLWZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxUc2ktTGFiZWwgbGFiZWxWYWx1ZT1cImFkbWluaXN0cmF0aW9uX2VkaXRpb25fcGVyc29ubmFsaXNlX2Zvcm1OYW1lXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIj5cclxuICAgICAgICAgICAgICAgIDxUc2ktVGV4dC1Cb3ggW2Rpc2FibGVkXT1cInRydWVcIiBbaW5wdXROYW1lXT1cIidmb3JtTmFtZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgIFsoaW5wdXRGaWVsZCldPVwicmVwb3J0LmZvcm1OYW1lXCI+PC9Uc2ktVGV4dC1Cb3g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIFBhcmFtIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNHZXRCeUlkUmVxdWVzdFwiIGNsYXNzPVwiY29sLTMgY29sLWZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxUc2ktTGFiZWwgbGFiZWxWYWx1ZT1cImFkbWluaXN0cmF0aW9uX2VkaXRpb25fcGVyc29ubmFsaXNlX3BhcmFtXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNHZXRCeUlkUmVxdWVzdFwiIGNsYXNzPVwiY29sLTlcIj5cclxuICAgICAgICAgICAgICAgIDxUc2ktVGV4dC1Cb3ggW2lucHV0TmFtZV09XCIncGFyYW0nXCIgWyhpbnB1dEZpZWxkKV09XCJyZXBvcnQucGFyYW1cIj48L1RzaS1UZXh0LUJveD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L3AtcGFuZWw+XHJcbiAgICA8YnIgLz5cclxuICAgIDxwLXBhbmVsIGhlYWRlcj1cIkNvbmZpZ3VyYXRpb24gUGl2b3QgR3JpZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIFwiPlxyXG4gICAgICAgICAgICA8IS0tIENsYXNzIG9yIHZpZXcgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMyBjb2wtZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgPFRzaS1MYWJlbCBbbGFiZWxWYWx1ZV09XCInQ2xhc3Mgb3IgdmlldydcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOVwiPlxyXG4gICAgICAgICAgICAgICAgPFRzaS1UZXh0LUJveCBbaW5wdXROYW1lXT1cIidkZGRkJ1wiPjwvVHNpLVRleHQtQm94PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSBRdWVyeSAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zIGNvbC1mb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8VHNpLUxhYmVsIFtsYWJlbFZhbHVlXT1cIidRdWVyeSdcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOSBjb2wtZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgPFRzaS1UZXh0LUFyZWEgW3Jvd3NdPVwiMlwiPjwvVHNpLVRleHQtQXJlYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L3AtcGFuZWw+XHJcblxyXG4gICAgPFRzaS1Nb2RhbC1Gb290ZXIgW2NhbmNlbERpc2FibGVkXT1cInNhdmluZ1wiIFtzYXZlRGlzYWJsZWRdPVwic2F2aW5nXCIgKG9uQ2FuY2VsQ2xpY2spPVwiaGlkZSgpXCIgXHJcbiAgICBbc2hvd1NhdmVBbmRDbG9zZUJ1dHRvbl09XCJmYWxzZVwiPjwvVHNpLU1vZGFsLUZvb3Rlcj5cclxuPC90c2ktZm9ybT4iXX0=
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlcG9ydC1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90c2ktc2hhcmVkLXVpL3NyYy9saWIvdHNpLWNvbXBvbmVudHMvbWFuYWdlLXJlcG9ydGluZy9hZGQtcmVwb3J0LXBvcHVwL2FkZC1yZXBvcnQtcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHNpLXNoYXJlZC11aS9zcmMvbGliL3RzaS1jb21wb25lbnRzL21hbmFnZS1yZXBvcnRpbmcvYWRkLXJlcG9ydC1wb3B1cC9hZGQtcmVwb3J0LXBvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUVuSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUzlELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSw2QkFBNkI7SUFzQnhFLElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUM7ZUFDcEQsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQztlQUN4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Q3RCLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDekQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FDRixDQUFBO0lBQ0wsQ0FBQzsrR0F2T1UsdUJBQXVCO21HQUF2Qix1QkFBdUIsK0NBRnZCLENBQUMsR0FBRyxZQUFZLENBQUMsaURDbEI5QiwwcFJBcUpXOzs0RkRqSUUsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHNCQUFzQixhQUdyQixDQUFDLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ0NvbmZpZywgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IEFkbWluaXN0cmF0aW9uRW5kcG9pbnRzIH0gZnJvbSAnLi4vLi4vLi4vZW5kLXBvaW50cyc7XHJcbmltcG9ydCB7IFRzaVJlcG9ydFR5cGUsIE1vZGVzIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMnO1xyXG5pbXBvcnQgeyBUc2lGb3JtQ29tcG9uZW50QmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3RzaS1iYXNlL2NvbXBvbmVudHMvdHNpLWZvcm0tYmFzZS90c2ktZm9ybS1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhc2hib2FyZE1vZHVsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXBvcnRpbmcvZGFzaGJvYXJkLW1vZHVsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgYXBwUHJvdmlkZXJzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RzL2FwcC1wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBSZXBvcnRpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmVwb3J0aW5nL3JlcG9ydGluZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHNpTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi90c2ktbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUc2lDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbm90aWZpY2F0aW9uL3RzaS1jb25maXJtYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hZGQtcmVwb3J0LXBvcHVwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLXJlcG9ydC1wb3B1cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLXJlcG9ydC1wb3B1cC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogWy4uLmFwcFByb3ZpZGVyc11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZFJlcG9ydFBvcHVwQ29tcG9uZW50IGV4dGVuZHMgVHNpRm9ybUNvbXBvbmVudEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBkYXRhU291cmNlOiB7IGtleTogVHNpUmVwb3J0VHlwZSwgdmFsdWU6IHN0cmluZyB9W10gPSBbXHJcbiAgICB7IGtleTogVHNpUmVwb3J0VHlwZS5MaXN0LCB2YWx1ZTogXCJFbmQgdXNlciByZXBvcnRcIiB9LFxyXG4gICAgeyBrZXk6IFRzaVJlcG9ydFR5cGUuRGFzaGJvYXJkLCB2YWx1ZTogXCJEYXNoYm9hcmRcIiB9LFxyXG4gICAgeyBrZXk6IFRzaVJlcG9ydFR5cGUuUlRGLCB2YWx1ZTogXCJSVEZcIiB9XHJcbiAgXTtcclxuXHJcbiAgaXNHZXRCeUlkUmVxdWVzdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG1vZGVzID0gTW9kZXM7XHJcbiAgaXNFZGl0aW9uUGVyc29ubmFsaXNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNSZWFkT25seVNvdXJjZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFkbWluaXN0cmF0aW9uRW5kcG9pbnRzID0gQWRtaW5pc3RyYXRpb25FbmRwb2ludHM7XHJcbiAgcmVwb3J0QnVzaW5lc3NDbGFzcz86IHN0cmluZ1xyXG4gIGN1c3RvbVJlcG9ydGluZ01vZGU/OiBib29sZWFuXHJcblxyXG4gIHNlbGVjdGVkRW5kcG9pbnRzOiBhbnlbXSA9IFtdXHJcbiAgZW5kcG9pbnRzT3B0aW9uczogYW55W10gPSBbXVxyXG4gIGVuYWJsZU11bHRpU2VsZWN0RW5kcG9pbnRzOiBib29sZWFuID0gZmFsc2VcclxuXHJcbiAgcHJpdmF0ZSBfaXNSZXBvcnRGb3JGaWNoZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBnZXQgaXNSZXBvcnRGb3JGaWNoZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdGhpcy5fcm91dGVyLnVybC5pbmNsdWRlcygnZWRpdGlvbi1wZXJzb25hbGlzZWUnKVxyXG4gICAgICAmJiAhdGhpcy5jb25maWcuZGF0YT8uZnJvbUVuZHBvaW50Py5pbmNsdWRlcyhcImdldGFsbHBhZ2VkXCIpXHJcbiAgICAgICYmIHRoaXMuY29uZmlnLmRhdGE/LmZyb21FbmRwb2ludCAhPSB1bmRlZmluZWRcclxuICB9XHJcblxyXG4gIGdldCBsb2NrQWxsQnV0TmFtZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm1vZGUgPT09IHRoaXMubW9kZXMuZHVwbGljYXRlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxvY2tBbGxCdXREaXNwbGF5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubW9kZSA9PT0gdGhpcy5tb2Rlcy5lZGl0ICYmIHRoaXMuaXNSZWFkT25seVNvdXJjZTtcclxuICB9XHJcblxyXG4gIHJlcG9ydCA9IHtcclxuICAgIHJlcG9ydFR5cGU6ICcnLFxyXG4gICAgcmVwb3J0TmFtZTogJycsXHJcbiAgICByZXBvcnROYW1lQWJyZWdlOiAnJyxcclxuICAgIHRyaU9yZHJlOiAwLFxyXG4gICAgbW9kdWxlOiAnJyxcclxuICAgIGltcHJlc3M6ICcnLFxyXG4gICAgZWRpdGlvblVuaXF1ZTogZmFsc2UsXHJcbiAgICBlbmRQb2ludEtleTogJycsXHJcbiAgICBlbmRQb2ludFZhbHVlOiAnJyxcclxuICAgIHBhcmFtOiAnJyxcclxuICAgIGZvcm1OYW1lOiAnJyxcclxuICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gIH1cclxuXHJcbiAgbW9kdWxlczogYW55W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgcmVmOiBEeW5hbWljRGlhbG9nUmVmLFxyXG4gICAgcHVibGljIHJlcG9ydGluZ1NlcnZpY2U6IFJlcG9ydGluZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgY29uZmlnOiBEeW5hbWljRGlhbG9nQ29uZmlnLFxyXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBUc2lOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkYXNoYm9hcmRNb2R1bGVTZXJ2aWNlOiBEYXNoYm9hcmRNb2R1bGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY29uZmlybTogVHNpQ29uZmlybWF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2h0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlclxyXG4gICkge1xyXG4gICAgc3VwZXIocmVmLCBjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcblxyXG4gICAgdGhpcy5lbmFibGVNdWx0aVNlbGVjdEVuZHBvaW50cyA9IHRoaXMuX3JvdXRlci51cmwuaW5jbHVkZXMoJ2VkaXRpb24tcGVyc29uYWxpc2VlJykgfHwgdGhpcy5pc1JlcG9ydEZvckZpY2hlO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy5kYXRhLnZhbHVlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiPj4+IHRoaXMuY29uZmlnLmRhdGE6IFwiLCB0aGlzLmNvbmZpZy5kYXRhKTtcclxuICAgICAgdGhpcy5yZXBvcnQucmVwb3J0VHlwZSA9IHRoaXMuY29uZmlnLmRhdGEudmFsdWUucmVwb3J0VHlwZTtcclxuICAgICAgdGhpcy5yZXBvcnQucmVwb3J0TmFtZSA9IHRoaXMuY29uZmlnLmRhdGEudmFsdWUubmFtZTtcclxuICAgICAgdGhpcy5yZXBvcnQuZW5kUG9pbnRLZXkgPSB0aGlzLmNvbmZpZy5kYXRhLnZhbHVlPy5yZXN0RW5kcG9pbnQ7XHJcbiAgICAgIHRoaXMucmVwb3J0LmVuZFBvaW50VmFsdWUgPSB0aGlzLmNvbmZpZy5kYXRhLnZhbHVlPy5yZXN0RW5kcG9pbnQ7XHJcbiAgICAgIHRoaXMucmVwb3J0Lm1vZHVsZSA9IHRoaXMuY29uZmlnLmRhdGEudmFsdWUubW9kdWxlO1xyXG4gICAgICB0aGlzLnJlcG9ydC50cmlPcmRyZSA9IHRoaXMuY29uZmlnLmRhdGEudmFsdWUub3JkZXI7XHJcbiAgICAgIHRoaXMucmVwb3J0LmZvcm1OYW1lID0gdGhpcy5jb25maWcuZGF0YS52YWx1ZS5mb3JtTmFtZTtcclxuICAgICAgdGhpcy5yZXBvcnQucmVwb3J0TmFtZUFicmVnZSA9IHRoaXMuY29uZmlnLmRhdGEudmFsdWUuc2hvcnROYW1lO1xyXG4gICAgICB0aGlzLnJlcG9ydC5kaXNwbGF5ID0gdGhpcy5jb25maWcuZGF0YS52YWx1ZS5kaXNwbGF5O1xyXG4gICAgICB0aGlzLmlzUmVhZE9ubHlTb3VyY2UgPSB0aGlzLmNvbmZpZy5kYXRhLnZhbHVlLmlzUmVhZE9ubHkgPT09IHRydWU7XHJcblxyXG4gICAgICBpZiAodGhpcy5lbmFibGVNdWx0aVNlbGVjdEVuZHBvaW50cykge1xyXG4gICAgICAgIHRoaXMuZW5kcG9pbnRzT3B0aW9ucyA9IHRoaXMucmVwb3J0LmVuZFBvaW50S2V5XHJcbiAgICAgICAgICA/IHRoaXMucmVwb3J0LmVuZFBvaW50S2V5LnNwbGl0KCc7JykubWFwKHggPT4gKHsgbGFiZWw6IHgsIHZhbHVlOiB4IH0pKVxyXG4gICAgICAgICAgOiBbXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRW5kcG9pbnRzID0gdGhpcy5yZXBvcnQuZW5kUG9pbnRLZXlcclxuICAgICAgICAgID8gdGhpcy5yZXBvcnQuZW5kUG9pbnRLZXkuc3BsaXQoJzsnKVxyXG4gICAgICAgICAgOiBbXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVwb3J0QnVzaW5lc3NDbGFzcyA9IHRoaXMuY29uZmlnLmRhdGE/LnJlcG9ydEJ1c2luZXNzQ2xhc3NcclxuICAgIHRoaXMuY3VzdG9tUmVwb3J0aW5nTW9kZSA9IHRoaXMuY29uZmlnLmRhdGE/LmN1c3RvbVJlcG9ydGluZ01vZGVcclxuXHJcbiAgICBpZiAodGhpcy5jdXN0b21SZXBvcnRpbmdNb2RlKSB7XHJcbiAgICAgIHRoaXMucmVwb3J0LmVuZFBvaW50S2V5ID0gdGhpcy5jb25maWcuZGF0YT8uZnJvbUVuZHBvaW50XHJcbiAgICAgIHRoaXMucmVwb3J0LmVuZFBvaW50VmFsdWUgPSB0aGlzLmNvbmZpZy5kYXRhPy5mcm9tRW5kcG9pbnRcclxuICAgIH1cclxuXHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLmRhdGE/LmZyb21FbmRwb2ludCAmJiAhdGhpcy5pc1JlcG9ydEZvckZpY2hlICYmICF0aGlzLmN1c3RvbVJlcG9ydGluZ01vZGUgJiYgIXRoaXMuZW5hYmxlTXVsdGlTZWxlY3RFbmRwb2ludHMpIHtcclxuICAgICAgdGhpcy5yZXBvcnRpbmdTZXJ2aWNlLmdldEFwaUFzS2V5VmFsdWVCeVZhbHVlKGVuY29kZVVSSUNvbXBvbmVudCh0aGlzLmNvbmZpZy5kYXRhLmZyb21FbmRwb2ludCkpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhyZXMpXHJcbiAgICAgICAgICB0aGlzLnJlcG9ydC5lbmRQb2ludEtleSA9IHJlc1swXT8ua2V5O1xyXG4gICAgICAgICAgdGhpcy5yZXBvcnQuZW5kUG9pbnRWYWx1ZSA9IHJlc1swXT8udmFsdWU7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm1vZGUgPSB0aGlzLmNvbmZpZy5kYXRhLm1vZGVcclxuICAgIHRoaXMuaXNFZGl0aW9uUGVyc29ubmFsaXNlID0gdGhpcy5jb25maWcuZGF0YS5pc0VkaXRpb25QZXJzb25uYWxpc2VcclxuICAgIGNvbnNvbGUubG9nKHRoaXMubW9kZSlcclxuXHJcbiAgICB0aGlzLmFsbG93U2F2ZVdpdGhvdXRDaGFuZ2VzID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmdldEFsbE1vZHVsZXMoKTtcclxuICB9XHJcblxyXG4gIHJlcG9ydFR5cGVDaGFuZ2UoZXZ0OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKGV2dClcclxuICB9XHJcblxyXG4gIGFzeW5jIGhhbmRsZU9wZW4oKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXHJcbiAgICAgICAgdGhpcy5faHR0cENsaWVudC5nZXQ8YW55W10+KFxyXG4gICAgICAgICAgZW5jb2RlVVJJKHRoaXMuYWRtaW5pc3RyYXRpb25FbmRwb2ludHMuZ2V0QWxsQXBpQXNLZXlWYWx1ZVBhaXIoKSlcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB0aGlzLmVuZHBvaW50c09wdGlvbnMgPSBkYXRhIHx8IFtdO1xyXG4gICAgICB0aGlzLmVuZHBvaW50c09wdGlvbnMgPSBbLi4uIHRoaXMuc2VsZWN0ZWRFbmRwb2ludHMubWFwKHggPT4gKHsgbGFiZWw6IHgsIHZhbHVlOiB4IH0pKSxcclxuICAgICAgLi4udGhpcy5lbmRwb2ludHNPcHRpb25zXVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbG9hZGluZyBlbmRwb2ludHM6JywgZXJyb3IpO1xyXG4gICAgICB0aGlzLmVuZHBvaW50c09wdGlvbnMgPSBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIG9uRmlsdGVyKGV2ZW50OiBhbnkpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuX2dlbmVyYXRlSHR0cFBhcmFtcyhldmVudD8uZmlsdGVyKTtcclxuXHJcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcclxuICAgICAgICB0aGlzLl9odHRwQ2xpZW50LmdldDxhbnlbXT4oXHJcbiAgICAgICAgICBlbmNvZGVVUkkodGhpcy5hZG1pbmlzdHJhdGlvbkVuZHBvaW50cy5nZXRBbGxBcGlBc0tleVZhbHVlUGFpcigpKSxcclxuICAgICAgICAgIHsgcGFyYW1zIH1cclxuICAgICAgICApXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB0aGlzLmVuZHBvaW50c09wdGlvbnMgPSBkYXRhIHx8IFtdO1xyXG4gICAgICB0aGlzLmVuZHBvaW50c09wdGlvbnMgPSBbLi4udGhpcy5zZWxlY3RlZEVuZHBvaW50cy5tYXAoeCA9PiAoeyBsYWJlbDogeCwgdmFsdWU6IHggfSkpLCAuLi50aGlzLmVuZHBvaW50c09wdGlvbnNdXHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIGVuZHBvaW50czonLCBlcnJvcik7XHJcbiAgICAgIHRoaXMuZW5kcG9pbnRzT3B0aW9ucyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2dlbmVyYXRlSHR0cFBhcmFtcyhmaWx0ZXI/OiBzdHJpbmcpOiBIdHRwUGFyYW1zIHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgaWYgKGZpbHRlcikge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd2YWx1ZScsIGZpbHRlcik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFyYW1zO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgc2F2ZSgpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodGhpcy5lbmFibGVNdWx0aVNlbGVjdEVuZHBvaW50cykge1xyXG4gICAgICB0aGlzLnJlcG9ydC5lbmRQb2ludEtleSA9IHRoaXMuc2VsZWN0ZWRFbmRwb2ludHMuam9pbignOycpO1xyXG4gICAgICB0aGlzLnJlcG9ydC5lbmRQb2ludFZhbHVlID0gdGhpcy5zZWxlY3RlZEVuZHBvaW50cy5qb2luKCc7Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgc3VwZXIuc2F2ZSgpXHJcbiAgICBcclxuICAgIGlmICh0aGlzLnJlcG9ydC5yZXBvcnRUeXBlID09PSAnJykge1xyXG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uud2FybihcInNoYXJlZF9yZXBvcnRpbmdfcmVwb3J0X3R5cGVfcmVxdWlyZWRcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMucmVwb3J0LnJlcG9ydE5hbWUgPT09ICcnKSB7XHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS53YXJuKFwic2hhcmVkX3JlcG9ydGluZ19yZXBvcnRfbmFtZV9yZXF1aXJlZFwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5pc0VkaXRpb25QZXJzb25uYWxpc2UgJiYgdGhpcy5yZXBvcnQuZW5kUG9pbnRLZXkgPT09ICcnKSB7XHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS53YXJuKFwic2hhcmVkX3JlcG9ydGluZ19yZXBvcnRfZW5kcG9pbnRfcmVxdWlyZWRcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5tb2RlID09PSB0aGlzLm1vZGVzLmR1cGxpY2F0ZSB8fCB0aGlzLmxvY2tBbGxCdXREaXNwbGF5KSB7XHJcbiAgICAgIHRoaXMuaGlkZSh0aGlzLnJlcG9ydCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9jb25maXJtXHJcbiAgICAgIC5jb25maXJtKHRoaXMubCgnc2hhcmVkX3JlcG9ydGluZ19yZXBvcnRfY29uZmlybVJlZGlyZWN0aW9uJyksIHVuZGVmaW5lZCwgKHJlc3VsdDogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjYW5SZWRpcmVjdCcsIEpTT04uc3RyaW5naWZ5KHRydWUpKTtcclxuICAgICAgICAgIHRoaXMuaGlkZSh0aGlzLnJlcG9ydCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjYW5SZWRpcmVjdCcsIEpTT04uc3RyaW5naWZ5KGZhbHNlKSk7XHJcbiAgICAgICAgICB0aGlzLmhpZGUodGhpcy5yZXBvcnQpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICk7XHJcblxyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRFbmRwb2ludENoYW5nZShlbmRwb2ludFZhbHVlOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMucmVwb3J0KVxyXG4gICAgdGhpcy5yZXBvcnQuZW5kUG9pbnRWYWx1ZSA9IGVuZHBvaW50VmFsdWU7XHJcbiAgICB0aGlzLmlzR2V0QnlJZFJlcXVlc3QgPSBlbmRwb2ludFZhbHVlLmluY2x1ZGVzKFwie2lkfVwiKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0QWxsTW9kdWxlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuZGFzaGJvYXJkTW9kdWxlU2VydmljZVxyXG4gICAgICAuZ2V0QWxsTW9kdWxlcygpXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmV4dDogKHZhbHVlczogYW55W10pID0+IHtcclxuICAgICAgICAgICAgaWYgKHZhbHVlcyAmJiBBcnJheS5pc0FycmF5KHZhbHVlcykgJiYgdmFsdWVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICB0aGlzLm1vZHVsZXMgPSB2YWx1ZXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICB9XHJcbn1cclxuIiwiPHRzaS1mb3JtIGNsYXNzPVwiZm9ybS1ob3Jpem9udGFsXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgKG9uU3VibWl0KT1cInNhdmUoKVwiPlxyXG4gICAgPGg0PlxyXG4gICAgICAgIDxUc2ktTGFiZWwgW2xhYmVsVmFsdWVdPVwiY29uZmlnLmRhdGE/LnRpdGxlID8/ICdOb3V2ZWF1IFJhcHBvcnQnXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICA8L2g0PlxyXG4gICAgPHAtcGFuZWwgaGVhZGVyPVwiSW5mb3JtYXRpb25zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgXCI+XHJcbiAgICAgICAgICAgIDwhLS0gVHlwZSAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zIGNvbC1mb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8VHNpLUxhYmVsIGxhYmVsVmFsdWU9XCJhZG1pbmlzdHJhdGlvbl9lZGl0aW9uX3BlcnNvbm5hbGlzZV90eXBlXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTlcIj5cclxuICAgICAgICAgICAgICAgIDxUc2ktU2VhcmNoLUNvbWJvIFtkaXNhYmxlZF09XCJ0aGlzLm1vZGUgIT09IG1vZGVzLmNyZWF0ZVwiIGlkLWZpZWxkPVwia2V5XCIgbGFiZWwtZmllbGQ9XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgWyhiaW5kKV09XCJyZXBvcnQucmVwb3J0VHlwZVwiIFtkYXRhc291cmNlXT1cImRhdGFTb3VyY2VcIj5cclxuICAgICAgICAgICAgICAgIDwvVHNpLVNlYXJjaC1Db21ibz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gTm9tIGR1IHJhcHBvcnQgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMyBjb2wtZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgPFRzaS1MYWJlbCBsYWJlbFZhbHVlPVwiYWRtaW5pc3RyYXRpb25fZWRpdGlvbl9wZXJzb25uYWxpc2VfcmVwb3J0TmFtZVwiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC05XCI+XHJcbiAgICAgICAgICAgICAgICA8VHNpLVRleHQtQm94IFtkaXNhYmxlZF09XCJsb2NrQWxsQnV0RGlzcGxheVwiIFtpbnB1dE5hbWVdPVwiJ3JlcG9ydE5hbWUnXCIgWyhpbnB1dEZpZWxkKV09XCJyZXBvcnQucmVwb3J0TmFtZVwiPjwvVHNpLVRleHQtQm94PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSBOb20gYWJyw6lnw6kgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMyBjb2wtZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgPFRzaS1MYWJlbCBsYWJlbFZhbHVlPVwiYWRtaW5pc3RyYXRpb25fZWRpdGlvbl9wZXJzb25uYWxpc2VfcmVwb3J0TmFtZUFicmVnZVwiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8VHNpLVRleHQtQm94IFtkaXNhYmxlZF09XCJsb2NrQWxsQnV0TmFtZSB8fCBsb2NrQWxsQnV0RGlzcGxheVwiIFtpbnB1dE5hbWVdPVwiJ3JlcG9ydE5hbWVBYnJlZ2UnXCIgWyhpbnB1dEZpZWxkKV09XCJyZXBvcnQucmVwb3J0TmFtZUFicmVnZVwiPjwvVHNpLVRleHQtQm94PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggY29sLTZcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gT3JkcmUgZGUgdHJpIC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTQgdy02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFRzaS1MYWJlbCBsYWJlbFZhbHVlPVwiYWRtaW5pc3RyYXRpb25fZWRpdGlvbl9wZXJzb25uYWxpc2VfdHJpT3JkcmVcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8VHNpLUludGVnZXIgW2Rpc2FibGVkXT1cImxvY2tBbGxCdXROYW1lIHx8IGxvY2tBbGxCdXREaXNwbGF5XCIgW2lucHV0TmFtZV09XCIndHJpT3JkcmUnXCIgWyhpbnB1dEZpZWxkKV09XCJyZXBvcnQudHJpT3JkcmVcIj48L1RzaS1JbnRlZ2VyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIEFmZmljaGVyIGRhc2hib2FyZCAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC00IHctNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxUc2ktTGFiZWwgbGFiZWxWYWx1ZT1cImFkbWluaXN0cmF0aW9uX2VkaXRpb25fcGVyc29ubmFsaXNlX2Rpc3BsYXlcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8VHNpLUNoZWNrQm94IFtkaXNhYmxlZF09XCJsb2NrQWxsQnV0TmFtZVwiIFtpbnB1dE5hbWVdPVwiJ2Rpc3BsYXknXCIgWyhpbnB1dEZpZWxkKV09XCJyZXBvcnQuZGlzcGxheVwiPjwvVHNpLUNoZWNrQm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIE1vZHVsZSAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zIGNvbC1mb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8VHNpLUxhYmVsIGxhYmVsVmFsdWU9XCJhZG1pbmlzdHJhdGlvbl9lZGl0aW9uX3BlcnNvbm5hbGlzZV9Nb2R1bGVcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOVwiPlxyXG4gICAgICAgICAgICAgICAgPFRzaS1TZWFyY2gtQ29tYm8gW2Rpc2FibGVkXT1cImxvY2tBbGxCdXROYW1lIHx8IGxvY2tBbGxCdXREaXNwbGF5XCIgaWQtZmllbGQ9XCJjb2RlXCIgbGFiZWwtZmllbGQ9XCJsaWJlbGxlXCIgW211bHRpcGxlXT1cImZhbHNlXCIgWyhiaW5kKV09XCJyZXBvcnQubW9kdWxlXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGF0YXNvdXJjZV09XCJtb2R1bGVzXCIgW2lzRmlsdGVyZWRdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgIDwvVHNpLVNlYXJjaC1Db21ibz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gRGV1eGnDqW1lIEltcHJlc3MgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMyBjb2wtZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgPFRzaS1MYWJlbCBsYWJlbFZhbHVlPVwiYWRtaW5pc3RyYXRpb25fZWRpdGlvbl9wZXJzb25uYWxpc2VfaW1wcHJlc3NcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNVwiPlxyXG4gICAgICAgICAgICAgICAgPFRzaS1UZXh0LUJveCBbZGlzYWJsZWRdPVwidHJ1ZVwiIFtpbnB1dE5hbWVdPVwiJ2ltcHByZXNzJ1wiIFsoaW5wdXRGaWVsZCldPVwicmVwb3J0LmltcHJlc3NcIj48L1RzaS1UZXh0LUJveD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gRWRpdGlvbiB1bmlxdWUgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNCBjb2wtZm9ybS1sYWJlbCBmbHhcIj5cclxuICAgICAgICAgICAgICAgIDxUc2ktQ2hlY2tCb3ggW2Rpc2FibGVkXT1cImxvY2tBbGxCdXROYW1lIHx8IGxvY2tBbGxCdXREaXNwbGF5XCIgW2lucHV0TmFtZV09XCInRWRpdGlvblVuaXF1ZSdcIiBbKGlucHV0RmllbGQpXT1cInJlcG9ydC5lZGl0aW9uVW5pcXVlXCI+PC9Uc2ktQ2hlY2tCb3g+Jm5ic3A7XHJcbiAgICAgICAgICAgICAgICA8VHNpLUxhYmVsIGxhYmVsVmFsdWU9XCJhZG1pbmlzdHJhdGlvbl9lZGl0aW9uX3BlcnNvbm5hbGlzZV9FZGl0aW9uVW5pcXVlXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIEVuZHBvaW50IC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTMgY29sLWZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxUc2ktTGFiZWwgbGFiZWxWYWx1ZT1cImFkbWluaXN0cmF0aW9uX2VkaXRpb25fcGVyc29ubmFsaXNlX2VuZHBvaW50XCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTlcIj5cclxuICAgICAgICAgICAgICAgIDxUc2ktU2VhcmNoLUNvbWJvICpuZ0lmPVwiIWlzUmVwb3J0Rm9yRmljaGUgJiYgIWVuYWJsZU11bHRpU2VsZWN0RW5kcG9pbnRzXCIgaWQtZmllbGQ9XCJrZXlcIiBsYWJlbC1maWVsZD1cInZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibW9kZXMuZWRpdCA9PT0gbW9kZSB8fCBpc0VkaXRpb25QZXJzb25uYWxpc2UgPT09IGZhbHNlIHx8IGxvY2tBbGxCdXROYW1lIHx8IGxvY2tBbGxCdXREaXNwbGF5XCJcclxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0ZWRMYWJlbENoYW5nZSk9XCJzZWxlY3RlZEVuZHBvaW50Q2hhbmdlKCRldmVudClcIiBbKGJpbmQpXT1cInJlcG9ydC5lbmRQb2ludEtleVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2VsZW1lbnRTb3VyY2VVcmxdPVwiYWRtaW5pc3RyYXRpb25FbmRwb2ludHMuZ2V0QXBpQXNLZXlWYWx1ZVBhaXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xpc3RTb3VyY2VVcmxdPVwiYWRtaW5pc3RyYXRpb25FbmRwb2ludHMuZ2V0QWxsQXBpQXNLZXlWYWx1ZVBhaXIoKVwiIFtpc0ZpbHRlcmVkXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDwvVHNpLVNlYXJjaC1Db21ibz5cclxuXHJcbiAgICAgICAgICAgICAgICA8VHNpLVNlYXJjaC1Db21ibyAqbmdJZj1cImN1c3RvbVJlcG9ydGluZ01vZGUgJiYgIWVuYWJsZU11bHRpU2VsZWN0RW5kcG9pbnRzIFwiIGlkLWZpZWxkPVwidmFsdWVcIiBsYWJlbC1maWVsZD1cInZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9ja0FsbEJ1dE5hbWUgfHwgbG9ja0FsbEJ1dERpc3BsYXlcIlxyXG4gICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZExhYmVsQ2hhbmdlKT1cInNlbGVjdGVkRW5kcG9pbnRDaGFuZ2UoJGV2ZW50KVwiIFsoYmluZCldPVwicmVwb3J0LmVuZFBvaW50S2V5XCJcclxuICAgICAgICAgICAgICAgICAgICBbbGlzdFNvdXJjZVVybF09XCJhZG1pbmlzdHJhdGlvbkVuZHBvaW50cy5nZXRBbGxBcGlBc0tleVZhbHVlUGFpckJ5QnVzaW5lc3NDbGFzc05hbWUodGhpcy5yZXBvcnRCdXNpbmVzc0NsYXNzKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2lzRmlsdGVyZWRdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgIDwvVHNpLVNlYXJjaC1Db21ibz5cclxuXHJcbiAgICAgICAgICAgICAgICA8VHNpLVNlYXJjaC1Db21ibyAqbmdJZj1cImlzUmVwb3J0Rm9yRmljaGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGlkLWZpZWxkPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsLWZpZWxkPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2NrQWxsQnV0TmFtZSB8fCBsb2NrQWxsQnV0RGlzcGxheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgWyhiaW5kKV09XCJzZWxlY3RlZEVuZHBvaW50c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xpc3RTb3VyY2VVcmxdPVwiYWRtaW5pc3RyYXRpb25FbmRwb2ludHMuZ2V0QWxsQXBpQXNLZXlWYWx1ZVBhaXJCeUJ1c2luZXNzQ2xhc3NOYW1lKHRoaXMucmVwb3J0QnVzaW5lc3NDbGFzcylcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpc0ZpbHRlcmVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkTGFiZWxDaGFuZ2UpPVwic2VsZWN0ZWRFbmRwb2ludENoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L1RzaS1TZWFyY2gtQ29tYm8+XHJcblxyXG4gICAgICAgICAgICAgICAgPHAtbXVsdGlTZWxlY3QgKm5nSWY9XCIhaXNSZXBvcnRGb3JGaWNoZSAmJiBlbmFibGVNdWx0aVNlbGVjdEVuZHBvaW50c1wiIFtvcHRpb25zXT1cImVuZHBvaW50c09wdGlvbnNcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRW5kcG9pbnRzXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9ja0FsbEJ1dE5hbWUgfHwgbG9ja0FsbEJ1dERpc3BsYXlcIlxyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbXNMYWJlbD1cInswfSB7eyAnZW5kcG9pbnRfc2VsZWN0ZWQnIHwgbG9jYWxpemUgfX1cIiBvcHRpb25MYWJlbD1cInZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwieydtaW4td2lkdGgnOiAnMTgwcHgnfVwiIHBsYWNlaG9sZGVyPVwie3sgJ3NoYXJlZF9yZXBvcnRpbmdfY2hvb3NlX2VuZHBvaW50cycgfCBsb2NhbGl6ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uUGFuZWxTaG93KT1cImhhbmRsZU9wZW4oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2ZpbHRlcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAob25GaWx0ZXIpPVwib25GaWx0ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheT1cImNoaXBcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicm91bmRlZC1tdWx0aXNlbGVjdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtb3B0aW9uIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBvcHRpb24udmFsdWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvcC1tdWx0aVNlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zIGNvbC1mb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8VHNpLUxhYmVsIGxhYmVsVmFsdWU9XCJhZG1pbmlzdHJhdGlvbl9lZGl0aW9uX3BlcnNvbm5hbGlzZV9mb3JtTmFtZVwiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICA8VHNpLVRleHQtQm94IFtkaXNhYmxlZF09XCJ0cnVlXCIgW2lucHV0TmFtZV09XCInZm9ybU5hbWUnXCJcclxuICAgICAgICAgICAgICAgICAgICBbKGlucHV0RmllbGQpXT1cInJlcG9ydC5mb3JtTmFtZVwiPjwvVHNpLVRleHQtQm94PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSBQYXJhbSAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzR2V0QnlJZFJlcXVlc3RcIiBjbGFzcz1cImNvbC0zIGNvbC1mb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8VHNpLUxhYmVsIGxhYmVsVmFsdWU9XCJhZG1pbmlzdHJhdGlvbl9lZGl0aW9uX3BlcnNvbm5hbGlzZV9wYXJhbVwiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzR2V0QnlJZFJlcXVlc3RcIiBjbGFzcz1cImNvbC05XCI+XHJcbiAgICAgICAgICAgICAgICA8VHNpLVRleHQtQm94IFtkaXNhYmxlZF09XCJsb2NrQWxsQnV0TmFtZSB8fCBsb2NrQWxsQnV0RGlzcGxheVwiIFtpbnB1dE5hbWVdPVwiJ3BhcmFtJ1wiIFsoaW5wdXRGaWVsZCldPVwicmVwb3J0LnBhcmFtXCI+PC9Uc2ktVGV4dC1Cb3g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9wLXBhbmVsPlxyXG4gICAgPGJyIC8+XHJcbiAgICA8cC1wYW5lbCBoZWFkZXI9XCJDb25maWd1cmF0aW9uIFBpdm90IEdyaWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBcIj5cclxuICAgICAgICAgICAgPCEtLSBDbGFzcyBvciB2aWV3IC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTMgY29sLWZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxUc2ktTGFiZWwgW2xhYmVsVmFsdWVdPVwiJ0NsYXNzIG9yIHZpZXcnXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTlcIj5cclxuICAgICAgICAgICAgICAgIDxUc2ktVGV4dC1Cb3ggW2lucHV0TmFtZV09XCInZGRkZCdcIj48L1RzaS1UZXh0LUJveD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gUXVlcnkgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMyBjb2wtZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgPFRzaS1MYWJlbCBbbGFiZWxWYWx1ZV09XCInUXVlcnknXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTkgY29sLWZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxUc2ktVGV4dC1BcmVhIFtyb3dzXT1cIjJcIj48L1RzaS1UZXh0LUFyZWE+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9wLXBhbmVsPlxyXG5cclxuICAgIDxUc2ktTW9kYWwtRm9vdGVyIFtjYW5jZWxEaXNhYmxlZF09XCJzYXZpbmdcIiBbc2F2ZURpc2FibGVkXT1cInNhdmluZ1wiIChvbkNhbmNlbENsaWNrKT1cImhpZGUoKVwiIFxyXG4gICAgW3Nob3dTYXZlQW5kQ2xvc2VCdXR0b25dPVwiZmFsc2VcIj48L1RzaS1Nb2RhbC1Gb290ZXI+XHJcbjwvdHNpLWZvcm0+Il19
|