nuxeo-development-framework 3.5.5 → 3.5.7
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/bundles/nuxeo-development-framework.umd.js +81 -78
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +2 -2
- package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +6 -6
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +7 -7
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.js +5 -2
- package/esm2015/lib/components/dynamic-view/boolean-viewer/boolean-viewer.component.js +4 -3
- package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +6 -5
- package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +4 -3
- package/esm2015/lib/components/dynamic-view/dropdown-viewer/dropdown-viewer.component.js +4 -3
- package/fesm2015/nuxeo-development-framework.js +38 -35
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.d.ts +2 -1
- package/package.json +1 -1
package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js
CHANGED
|
@@ -83,7 +83,7 @@ export class CorrespondenceRelationService {
|
|
|
83
83
|
search(val, query = '', type) {
|
|
84
84
|
let params = Object.assign({ pageProvider: type == 'relationFile' ? 'PP_Correspondence_RelationSeach' : 'PP_Correspondences_Elastic', currentPageIndex: 0, offset: 0, pageSize: 20, system_fulltext: val + '*' }, query);
|
|
85
85
|
if (this.nuxeoService.nuxeoClient.user.properties.tenantId) {
|
|
86
|
-
params['queryParams'] =
|
|
86
|
+
params['queryParams'] = `${this.nuxeoService.nuxeoClient.user.properties.tenantId}`;
|
|
87
87
|
}
|
|
88
88
|
return this.callApi
|
|
89
89
|
.query(params, {
|
|
@@ -154,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
154
154
|
type: Inject,
|
|
155
155
|
args: ['environment']
|
|
156
156
|
}] }]; } });
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycmVzcG9uZGVuY2UtcmVhbGF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uL3NlcnZpY2VzL2NvcnJlc3BvbmRlbmNlLXJlYWxhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBU2pELE1BQU0sT0FBTyw2QkFBNkI7SUFJeEMsWUFDVSxZQUEwQixFQUMxQixhQUErQixFQUMvQixPQUF1QixFQUFpQyxXQUFXO1FBRm5FLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFpQyxnQkFBVyxHQUFYLFdBQVcsQ0FBQTtRQUx0RSx1QkFBa0IsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBTzlDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQy9GLElBQUksQ0FBQyxnQkFBZ0I7WUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztJQUMvRCxDQUFDO0lBRUQsMkJBQTJCLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEdBQUcsRUFBRTtRQUM3RCxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMs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QUNQLE9BQU8sRUFBRTtnQkFDUCxVQUFVLEVBQUUsR0FBRzthQUNoQjtTQUNGLENBQUMsQ0FDTCxDQUFDLElBQUksQ0FDSixVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFQSw0Q0FBNEM7SUFDNUMsOEJBQThCLENBQUMsRUFBRTtRQUNoQyxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVc7YUFDMUIsU0FBUyxDQUFDLHlDQUF5QyxFQUFFO1lBQ3BELEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUU7U0FDckUsQ0FBQzthQUNELE9BQU8sQ0FBQztZQUNQLGNBQWMsRUFBRyxPQUFPO1NBQ3pCLENBQUM7YUFDRCxLQUFLLENBQUMsRUFBRSxDQUFDO2FBQ1QsT0FBTyxDQUFDO1lBQ1AsT0FBTyxFQUFFO2dCQUNQLFVBQVUsRUFBRSxHQUFHO2FBQ2hCO1NBQ0YsQ0FBQyxDQUNMLENBQUMsSUFBSSxDQUNKLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakIsTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7MEhBdkxVLDZCQUE2Qiw0R0FPRyxhQUFhOzhIQVA3Qyw2QkFBNkIsY0FGNUIsTUFBTTsyRkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRcUMsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbi9hcHAtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL0NvcmUvYWRhcHRlcnMvYWRhcHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FsbEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL2NhbGxBcGkvY2FsbC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL0NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29ycmVzcG9uZGVuY2VSZWxhdGlvblNlcnZpY2Uge1xyXG4gIHJlbGF0aW9uQ29uc3RhbnRzOiBhbnk7XHJcbiAgcHVibGljIGdldFVwZGF0ZWRSZWxhdGlvbiA9IG5ldyBSZXBsYXlTdWJqZWN0KCk7XHJcbiAgaW5jb21pbmdDb25zdGFudDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IEFwcENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNhbGxBcGk6IENhbGxBcGlTZXJ2aWNlLCBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnRcclxuICApIHtcclxuICAgIHRoaXMucmVsYXRpb25Db25zdGFudHMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UubXlDb25maWd1cmF0aW9uWydmaWxlcyddWydjb3JyZXNwb25kZW5jZVJlbGF0aW9uJ107XHJcbiAgICB0aGlzLmluY29taW5nQ29uc3RhbnQgPVxyXG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UubXlDb25maWd1cmF0aW9uLmNvcnJlc3BvbmRhbmNlLmluY29taW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0X0NvcnJlc3BvbmRlbmNlX1JlbGF0aW9uKGNvcnJfaWQsIHBhZ2Vwcm92aWRlciwgY29udGV4dCA9IHt9KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKHBhZ2Vwcm92aWRlciwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY29udGV4dChjb250ZXh0KVxyXG4gICAgICAgIC5pbnB1dChjb3JyX2lkKVxyXG4gICAgICAgIC5leGVjdXRlKHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgcHJvcGVydGllczogJyonLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRfQ29ycmVzcG9uZGVuY2VfUmVwbHlfUmVsYXRpb24oY29ycl9pZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRfQ29ycmVzcG9uZGVuY2VfUmVsYXRpb24oY29ycl9pZCwgdGhpcy5yZWxhdGlvbkNvbnN0YW50c1snT3BlcmF0aW9ucyddWydnZXRfcmVwbHlfcmVsYXRpb24nXSwgeyBcInJlbGF0aW9uTmFtZVwiOiBcInJlcGx5XCIgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRfQ29ycmVzcG9uZGVuY2VfUmVwbHlfUmVsYXRpb25fUmV2ZXJzZShjb3JyX2lkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmdldF9Db3JyZXNwb25kZW5jZV9SZWxhdGlvbihjb3JyX2lkLCB0aGlzLnJlbGF0aW9uQ29uc3RhbnRzWydPcGVyYXRpb25zJ11bJ2dldF9yZXBseV9yZWxhdGlvbl9yZXZlcnNlJ10pO1xyXG4gIH1cclxuXHJcbiAgZ2V0X0NvcnJlc3BvbmRlbmNlX1JlbGF0aW9uX1dpdGhvdXRSZXBseShjb3JyX2lkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24odGhpcy5yZWxhdGlvbkNvbnN0YW50c1snT3BlcmF0aW9ucyddWydnZXRfd2l0aG91dF9yZXBseV9ib3RoX2RpcmVjdGlvbiddLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHt9KVxyXG4gICAgICAgIC5pbnB1dChjb3JyX2lkKVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlX05hbWVkX1JlbGF0aW9uKGNvcnJfaWQ6IHN0cmluZywgcmVsYXRpb25uYW1lOiBzdHJpbmcsIHRhcmdldHM6IFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24odGhpcy5yZWxhdGlvbkNvbnN0YW50c1snT3BlcmF0aW9ucyddWydjcmVhdGVfbmFtZWRfcmVsYXRpb24nXSwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY29udGV4dCh7XHJcbiAgICAgICAgICByZWxhdGlvbk5hbWU6IHJlbGF0aW9ubmFtZSxcclxuICAgICAgICAgIHRhcmdldHM6IHRhcmdldHNcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dChjb3JyX2lkKVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgRGVsZXRlX05hbWVkX1JlbGF0aW9uKGNvcnJfaWQ6IHN0cmluZywgcmVsYXRpb25uYW1lOiBzdHJpbmcsIHRhcmdldDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24odGhpcy5yZWxhdGlvbkNvbnN0YW50c1snT3BlcmF0aW9ucyddWydkZWxldGVfbmFtZWRfcmVsYXRpb24nXSwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY29udGV4dCh7XHJcbiAgICAgICAgICByZWxhdGlvbk5hbWU6IHJlbGF0aW9ubmFtZSxcclxuICAgICAgICAgIHRhcmdldDogdGFyZ2V0XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQoY29ycl9pZClcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaCh2YWw6IHN0cmluZywgcXVlcnk6IGFueSA9ICcnLHR5cGU/KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIHBhZ2VQcm92aWRlcjogdHlwZT09J3JlbGF0aW9uRmlsZSc/ICdQUF9Db3JyZXNwb25kZW5jZV9SZWxhdGlvblNlYWNoJzonUFBfQ29ycmVzcG9uZGVuY2VzX0VsYXN0aWMnLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgIHBhZ2VTaXplOiAyMCxcclxuICAgICAgc3lzdGVtX2Z1bGx0ZXh0OiB2YWwrJyonLFxyXG4gICAgICAuLi5xdWVyeVxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkKXtcclxuICAgICAgcGFyYW1zWydxdWVyeVBhcmFtcyddID0gYC8ke3RoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZH0vYFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY2FsbEFwaVxyXG4gICAgICAucXVlcnkoXHJcbiAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhlYWRlcnM6IHsgJ1gtTlhwcm9wZXJ0aWVzJzogJ0NvcnJlc3BvbmRlbmNlJyB9LFxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKGRhdGEpID0+IHtcclxuICAgICAgICAgIGxldCByZXN1bHRzID0gW107XHJcbiAgICAgICAgICBkYXRhLmVudHJpZXMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaCh7XHJcbiAgICAgICAgICAgICAgLy8gIHRpdGxlOiBpdGVtLnRpdGxlLFxyXG4gICAgICAgICAgICAgIHRpdGxlOiBpdGVtLnByb3BlcnRpZXNbXCJjb3JyOnJlZmVyZW5jZU51bWJlclwiXSAhPT0gbnVsbCA/IGl0ZW0ucHJvcGVydGllc1tcImNvcnI6cmVmZXJlbmNlTnVtYmVyXCJdICsgXCIgLSBcIiArIGl0ZW0ucHJvcGVydGllc1tcImNvcnI6c3ViamVjdFwiXSA6IGl0ZW0ucHJvcGVydGllc1tcImNvcnI6c3ViamVjdFwiXSxcclxuICAgICAgICAgICAgICBpZDogaXRlbS51aWQsXHJcbiAgICAgICAgICAgICAgZmlsdGVyOiBpdGVtLnRpdGxlLFxyXG4gICAgICAgICAgICAgIG51bWJlcjogaXRlbS5wcm9wZXJ0aWVzW1wiY29ycjpyZWZlcmVuY2VOdW1iZXJcIl0sXHJcbiAgICAgICAgICAgICAgc3ViamVjdDogaXRlbS5wcm9wZXJ0aWVzW1wiY29ycjpzdWJqZWN0XCJdXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByZXR1cm4gcmVzdWx0cztcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gZ2V0IHJlbGF0aW9ucyB3aXRoIHRoZSB1cGRhdGVkIGFwaVxyXG4gIGdldENvcnJlc3BvbmRlY2VSZWxhdGlvbihpZCl7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKCdBQ19VQV9Db3JyZXNwb25kZW5jZVJlbGF0aW9uX0dldCcsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNvbnRleHQoe1xyXG4gICAgICAgICAgXCJyZWxhdGlvbk5hbWVcIiA6IFwicmVwbHlcIlxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KGlkKVxyXG4gICAgICAgIC5leGVjdXRlKHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgcHJvcGVydGllczogJyonLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAgLy8gZ2V0IHJldmVycyByZWxhdGlvbnMgd2l0aCB0aGUgdXBkYXRlZCBhcGlcclxuICAgZ2V0Q29ycmVzcG9uZGVjZVJlbGF0aW9uUmV2ZXJzKGlkKXtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oJ0FDX1VBX0NvcnJlc3BvbmRlbmNlUmVsYXRpb25fR2V0UmV2ZXJzZScsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNvbnRleHQoe1xyXG4gICAgICAgICAgXCJyZWxhdGlvbk5hbWVcIiA6IFwicmVwbHlcIlxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KGlkKVxyXG4gICAgICAgIC5leGVjdXRlKHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgcHJvcGVydGllczogJyonLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59Il19
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycmVzcG9uZGVuY2UtcmVhbGF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uL3NlcnZpY2VzL2NvcnJlc3BvbmRlbmNlLXJlYWxhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBU2pELE1BQU0sT0FBTyw2QkFBNkI7SUFJeEMsWUFDVSxZQUEwQixFQUMxQixhQUErQixFQUMvQixPQUF1QixFQUFpQyxXQUFXO1FBRm5FLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFpQyxnQkFBVyxHQUFYLFdBQVcsQ0FBQTtRQUx0RSx1QkFBa0IsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBTzlDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQy9GLElBQUksQ0FBQyxnQkFBZ0I7WUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztJQUMvRCxDQUFDO0lBRUQsMkJBQTJCLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEdBQUcsRUFBRTtRQUM3RCxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMs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QUNQLE9BQU8sRUFBRTtnQkFDUCxVQUFVLEVBQUUsR0FBRzthQUNoQjtTQUNGLENBQUMsQ0FDTCxDQUFDLElBQUksQ0FDSixVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFQSw0Q0FBNEM7SUFDNUMsOEJBQThCLENBQUMsRUFBRTtRQUNoQyxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVc7YUFDMUIsU0FBUyxDQUFDLHlDQUF5QyxFQUFFO1lBQ3BELEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUU7U0FDckUsQ0FBQzthQUNELE9BQU8sQ0FBQztZQUNQLGNBQWMsRUFBRyxPQUFPO1NBQ3pCLENBQUM7YUFDRCxLQUFLLENBQUMsRUFBRSxDQUFDO2FBQ1QsT0FBTyxDQUFDO1lBQ1AsT0FBTyxFQUFFO2dCQUNQLFVBQVUsRUFBRSxHQUFHO2FBQ2hCO1NBQ0YsQ0FBQyxDQUNMLENBQUMsSUFBSSxDQUNKLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakIsTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7MEhBdkxVLDZCQUE2Qiw0R0FPRyxhQUFhOzhIQVA3Qyw2QkFBNkIsY0FGNUIsTUFBTTsyRkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRcUMsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbi9hcHAtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL0NvcmUvYWRhcHRlcnMvYWRhcHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FsbEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL2NhbGxBcGkvY2FsbC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL0NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29ycmVzcG9uZGVuY2VSZWxhdGlvblNlcnZpY2Uge1xyXG4gIHJlbGF0aW9uQ29uc3RhbnRzOiBhbnk7XHJcbiAgcHVibGljIGdldFVwZGF0ZWRSZWxhdGlvbiA9IG5ldyBSZXBsYXlTdWJqZWN0KCk7XHJcbiAgaW5jb21pbmdDb25zdGFudDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IEFwcENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNhbGxBcGk6IENhbGxBcGlTZXJ2aWNlLCBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnRcclxuICApIHtcclxuICAgIHRoaXMucmVsYXRpb25Db25zdGFudHMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UubXlDb25maWd1cmF0aW9uWydmaWxlcyddWydjb3JyZXNwb25kZW5jZVJlbGF0aW9uJ107XHJcbiAgICB0aGlzLmluY29taW5nQ29uc3RhbnQgPVxyXG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UubXlDb25maWd1cmF0aW9uLmNvcnJlc3BvbmRhbmNlLmluY29taW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0X0NvcnJlc3BvbmRlbmNlX1JlbGF0aW9uKGNvcnJfaWQsIHBhZ2Vwcm92aWRlciwgY29udGV4dCA9IHt9KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKHBhZ2Vwcm92aWRlciwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY29udGV4dChjb250ZXh0KVxyXG4gICAgICAgIC5pbnB1dChjb3JyX2lkKVxyXG4gICAgICAgIC5leGVjdXRlKHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgcHJvcGVydGllczogJyonLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRfQ29ycmVzcG9uZGVuY2VfUmVwbHlfUmVsYXRpb24oY29ycl9pZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRfQ29ycmVzcG9uZGVuY2VfUmVsYXRpb24oY29ycl9pZCwgdGhpcy5yZWxhdGlvbkNvbnN0YW50c1snT3BlcmF0aW9ucyddWydnZXRfcmVwbHlfcmVsYXRpb24nXSwgeyBcInJlbGF0aW9uTmFtZVwiOiBcInJlcGx5XCIgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRfQ29ycmVzcG9uZGVuY2VfUmVwbHlfUmVsYXRpb25fUmV2ZXJzZShjb3JyX2lkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmdldF9Db3JyZXNwb25kZW5jZV9SZWxhdGlvbihjb3JyX2lkLCB0aGlzLnJlbGF0aW9uQ29uc3RhbnRzWydPcGVyYXRpb25zJ11bJ2dldF9yZXBseV9yZWxhdGlvbl9yZXZlcnNlJ10pO1xyXG4gIH1cclxuXHJcbiAgZ2V0X0NvcnJlc3BvbmRlbmNlX1JlbGF0aW9uX1dpdGhvdXRSZXBseShjb3JyX2lkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24odGhpcy5yZWxhdGlvbkNvbnN0YW50c1snT3BlcmF0aW9ucyddWydnZXRfd2l0aG91dF9yZXBseV9ib3RoX2RpcmVjdGlvbiddLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHt9KVxyXG4gICAgICAgIC5pbnB1dChjb3JyX2lkKVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlX05hbWVkX1JlbGF0aW9uKGNvcnJfaWQ6IHN0cmluZywgcmVsYXRpb25uYW1lOiBzdHJpbmcsIHRhcmdldHM6IFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24odGhpcy5yZWxhdGlvbkNvbnN0YW50c1snT3BlcmF0aW9ucyddWydjcmVhdGVfbmFtZWRfcmVsYXRpb24nXSwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY29udGV4dCh7XHJcbiAgICAgICAgICByZWxhdGlvbk5hbWU6IHJlbGF0aW9ubmFtZSxcclxuICAgICAgICAgIHRhcmdldHM6IHRhcmdldHNcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dChjb3JyX2lkKVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgRGVsZXRlX05hbWVkX1JlbGF0aW9uKGNvcnJfaWQ6IHN0cmluZywgcmVsYXRpb25uYW1lOiBzdHJpbmcsIHRhcmdldDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24odGhpcy5yZWxhdGlvbkNvbnN0YW50c1snT3BlcmF0aW9ucyddWydkZWxldGVfbmFtZWRfcmVsYXRpb24nXSwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY29udGV4dCh7XHJcbiAgICAgICAgICByZWxhdGlvbk5hbWU6IHJlbGF0aW9ubmFtZSxcclxuICAgICAgICAgIHRhcmdldDogdGFyZ2V0XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQoY29ycl9pZClcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaCh2YWw6IHN0cmluZywgcXVlcnk6IGFueSA9ICcnLHR5cGU/KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIHBhZ2VQcm92aWRlcjogdHlwZT09J3JlbGF0aW9uRmlsZSc/ICdQUF9Db3JyZXNwb25kZW5jZV9SZWxhdGlvblNlYWNoJzonUFBfQ29ycmVzcG9uZGVuY2VzX0VsYXN0aWMnLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgIHBhZ2VTaXplOiAyMCxcclxuICAgICAgc3lzdGVtX2Z1bGx0ZXh0OiB2YWwrJyonLFxyXG4gICAgICAuLi5xdWVyeVxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkKXtcclxuICAgICAgcGFyYW1zWydxdWVyeVBhcmFtcyddID0gYCR7dGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkfWBcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmNhbGxBcGlcclxuICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgIHBhcmFtcyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBoZWFkZXJzOiB7ICdYLU5YcHJvcGVydGllcyc6ICdDb3JyZXNwb25kZW5jZScgfSxcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBsZXQgcmVzdWx0cyA9IFtdO1xyXG4gICAgICAgICAgZGF0YS5lbnRyaWVzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICByZXN1bHRzLnB1c2goe1xyXG4gICAgICAgICAgICAgIC8vICB0aXRsZTogaXRlbS50aXRsZSxcclxuICAgICAgICAgICAgICB0aXRsZTogaXRlbS5wcm9wZXJ0aWVzW1wiY29ycjpyZWZlcmVuY2VOdW1iZXJcIl0gIT09IG51bGwgPyBpdGVtLnByb3BlcnRpZXNbXCJjb3JyOnJlZmVyZW5jZU51bWJlclwiXSArIFwiIC0gXCIgKyBpdGVtLnByb3BlcnRpZXNbXCJjb3JyOnN1YmplY3RcIl0gOiBpdGVtLnByb3BlcnRpZXNbXCJjb3JyOnN1YmplY3RcIl0sXHJcbiAgICAgICAgICAgICAgaWQ6IGl0ZW0udWlkLFxyXG4gICAgICAgICAgICAgIGZpbHRlcjogaXRlbS50aXRsZSxcclxuICAgICAgICAgICAgICBudW1iZXI6IGl0ZW0ucHJvcGVydGllc1tcImNvcnI6cmVmZXJlbmNlTnVtYmVyXCJdLFxyXG4gICAgICAgICAgICAgIHN1YmplY3Q6IGl0ZW0ucHJvcGVydGllc1tcImNvcnI6c3ViamVjdFwiXVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8vIGdldCByZWxhdGlvbnMgd2l0aCB0aGUgdXBkYXRlZCBhcGlcclxuICBnZXRDb3JyZXNwb25kZWNlUmVsYXRpb24oaWQpe1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbignQUNfVUFfQ29ycmVzcG9uZGVuY2VSZWxhdGlvbl9HZXQnLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHtcclxuICAgICAgICAgIFwicmVsYXRpb25OYW1lXCIgOiBcInJlcGx5XCJcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dChpZClcclxuICAgICAgICAuZXhlY3V0ZSh7XHJcbiAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIHByb3BlcnRpZXM6ICcqJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgIC8vIGdldCByZXZlcnMgcmVsYXRpb25zIHdpdGggdGhlIHVwZGF0ZWQgYXBpXHJcbiAgIGdldENvcnJlc3BvbmRlY2VSZWxhdGlvblJldmVycyhpZCl7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKCdBQ19VQV9Db3JyZXNwb25kZW5jZVJlbGF0aW9uX0dldFJldmVyc2UnLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHtcclxuICAgICAgICAgIFwicmVsYXRpb25OYW1lXCIgOiBcInJlcGx5XCJcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dChpZClcclxuICAgICAgICAuZXhlY3V0ZSh7XHJcbiAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIHByb3BlcnRpZXM6ICcqJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufSJdfQ==
|
|
@@ -143,7 +143,7 @@ export class DynamicChartComponent {
|
|
|
143
143
|
};
|
|
144
144
|
// if there tenant id sent from outside then add it to the params
|
|
145
145
|
if (this.tenantId) {
|
|
146
|
-
params['queryParams'] =
|
|
146
|
+
params['queryParams'] = `${this.tenantId}`;
|
|
147
147
|
}
|
|
148
148
|
return this.callApi
|
|
149
149
|
.query(params, {
|
|
@@ -180,7 +180,7 @@ export class DynamicChartComponent {
|
|
|
180
180
|
};
|
|
181
181
|
// if there tenant id sent from outside then add it to the params
|
|
182
182
|
if (this.tenantId) {
|
|
183
|
-
outgoingParams['queryParams'] =
|
|
183
|
+
outgoingParams['queryParams'] = `${this.tenantId}`;
|
|
184
184
|
}
|
|
185
185
|
const getOutgoing$ = this.callApi
|
|
186
186
|
.query(outgoingParams, {
|
|
@@ -216,7 +216,7 @@ export class DynamicChartComponent {
|
|
|
216
216
|
};
|
|
217
217
|
// if there tenant id sent from outside then add it to the params
|
|
218
218
|
if (this.tenantId) {
|
|
219
|
-
incomingParams['queryParams'] =
|
|
219
|
+
incomingParams['queryParams'] = `${this.tenantId}`;
|
|
220
220
|
}
|
|
221
221
|
const getIncoming$ = this.callApi
|
|
222
222
|
.query(incomingParams, {
|
|
@@ -252,7 +252,7 @@ export class DynamicChartComponent {
|
|
|
252
252
|
};
|
|
253
253
|
// if there tenant id sent from outside then add it to the params
|
|
254
254
|
if (this.tenantId) {
|
|
255
|
-
internalParams['queryParams'] =
|
|
255
|
+
internalParams['queryParams'] = `${this.tenantId}`;
|
|
256
256
|
}
|
|
257
257
|
const getInternal$ = this.callApi
|
|
258
258
|
.query(internalParams, {
|
|
@@ -326,7 +326,7 @@ export class DynamicChartComponent {
|
|
|
326
326
|
}
|
|
327
327
|
// if there tenant id sent from outside then add it to the params
|
|
328
328
|
if (this.tenantId) {
|
|
329
|
-
queryParams['queryParams'] =
|
|
329
|
+
queryParams['queryParams'] = `${this.tenantId}`;
|
|
330
330
|
}
|
|
331
331
|
this.router.navigate(['report', 'chart-details'], {
|
|
332
332
|
queryParams: queryParams,
|
|
@@ -414,4 +414,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
414
414
|
}], isInternalActive: [{
|
|
415
415
|
type: Input
|
|
416
416
|
}] } });
|
|
417
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtY2hhcnQvZHluYW1pYy1jaGFydC9keW5hbWljLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1jaGFydC9keW5hbWljLWNoYXJ0L2R5bmFtaWMtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUtMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBYyxPQUFPLEVBQWdCLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc5RCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sdUJBQXVCLENBQUM7Ozs7Ozs7O0FBQy9CLGNBQWM7QUFNZCxNQUFNLE9BQU8scUJBQXFCO0lBbUVoQyxZQUNTLFNBQTJCLEVBQzNCLGNBQWlDLEVBQ2hDLE9BQXVCLEVBQVUsTUFBYyxFQUNoRCxTQUEyQjtRQUgzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDaEMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2hELGNBQVMsR0FBVCxTQUFT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QUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFTixhQUFhO3NCQURaLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBY04sV0FBVztzQkFEVixLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixlQUFlO3NCQURkLEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUdOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsS0FBSztnQkFHTixHQUFHO3NCQURGLEtBQUs7Z0JBR04sR0FBRztzQkFERixLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQgeyBDaGFydCB9IGZyb20gXCJjaGFydC5qc1wiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGZvcmtKb2luIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwsIGRlYm91bmNlVGltZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBDYWxsQXBpU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL2NhbGxBcGkvY2FsbC1hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDaGFydERhdGFTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2NoYXJ0LWRhdGEuc2VydmljZVwiO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCAnY2hhcnRqcy1wbHVnaW4tcGllY2hhcnQtb3V0bGFiZWxzJztcclxuaW1wb3J0ICdjaGFydGpzLXBsdWdpbi1sYWJlbHMnO1xyXG4vKiogQGlnbm9yZSAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjdHMtZHluYW1pYy1jaGFydFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHluYW1pYy1jaGFydC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9keW5hbWljLWNoYXJ0LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0NoYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZCgncmV2ZW51ZUxpbmVDaGFydCcsIHsgc3RhdGljOiBmYWxzZSB9KSBjaGFydDogRWxlbWVudFJlZjtcclxuICBASW5wdXQoKVxyXG4gIHByZWZpeCA9ICdTVEFUUy4nOyAvLyBmb3IgdHJhbnNsYXRpb25cclxuICBASW5wdXQoKVxyXG4gIGNoYXJ0VHlwZTsgLy8gZnVuY3Rpb25zIGV4aXN0IGluc2lkZSBDaGFydERhdGFTZXJ2aWNlXHJcbiAgQElucHV0KCkgcmFuZG9tQ29sb3JzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBjaGFydE9iajtcclxuICBwcml2YXRlIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIGNyZWF0Q2hhcnQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgQElucHV0KCkgcGFnZVByb3ZpZGVyOyAvLyBkZWZpbmUgYXBpIHRvIGdldCB0aGUgZGF0YSBmcm9tXHJcbiAgQElucHV0KCkgaGVhZGVycyA9IHt9OyAvLyBoZWFkZXJzIGluIGNvbnN0YW50c1xyXG4gIEBJbnB1dCgpIG9ic2VydmFibGU7IC8vIG9ic2VydmFibGUgaW4gY2FzZSBvZiBjYWxsIGFwaSBpcyBjYWxsZWQgZnJvbSBvdXRzaWRlIHRoZSBjb21wb25lbnRcclxuICBASW5wdXQoKSBhZ2dyZWdhdGlvbnM7XHJcbiAgQElucHV0KCkgcXVpY2tGaWx0ZXJzO1xyXG4gIEBJbnB1dCgpIHN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZTtcclxuICBASW5wdXQoKSByYW5nZSA9ICdbXCJmcm9tX25vdy03ZF90b19ub3dcIl0nO1xyXG4gIEBJbnB1dCgpIGxhYmVsO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0ZWRSYW5nZSA9IFwid2Vla1wiOyAvLyByYW5nZSB0byBiZSBmaWx0ZXJkIG9uXHJcbiAgQElucHV0KCkgdGVuYW50SWQ7IC8vIHdpbGwgYmUgc2VudCBvbmx5IGluIGNhc2Ugb2YgbXVsdGkgdGVuYW50XHJcbiAgQElucHV0KCkgY29sb3JzOiBhbnkgPSB7XHJcbiAgICBpblByb2dyZXNzOiAnIzNjM2NmMCcsXHJcbiAgICByZWdpc3RlcmVkOiAnIzVhMTQ5NicsXHJcbiAgICBkcmFmdDogJyM1OTY5NzMnLFxyXG4gICAgYXJjaGl2ZWQ6ICcjZmJiNjJjJyxcclxuICAgIGNsb3NlZDogJyMwMGRjYTUnLFxyXG4gICAgYXNzaWduZWQ6ICcjZmQ2NjcwJyxcclxuICAgIHVuZGVmaW5lZDogJyNmN2Y4ZjknLFxyXG4gICAgb3RoZXI6ICcjZjE3MjA1JyxcclxuICB9O1xyXG4gIGRhdGE6IGFueSA9IFtdO1xyXG4gIGlzRmV0Y2hpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjaGFydHM6IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgcmFuZG9tQ29sb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGZldGNoZWRLZXk7XHJcbiAgQElucHV0KClcclxuICBwYWdlUHJvdmlkZXJUd287XHJcbiAgQElucHV0KClcclxuICBxdWlja0ZpbHRlclR3bztcclxuICBASW5wdXQoKVxyXG4gIHF1aWNrRmlsdGVyVGhyZWU7XHJcbiAgQElucHV0KClcclxuICBjb21iaW5lZERhdGEgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHN0YXR1c09uZTtcclxuICBASW5wdXQoKVxyXG4gIHN0YXR1c1R3bztcclxuICBASW5wdXQoKVxyXG4gIHN0YXR1c1RocmVlO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWluO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWF4O1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg7XHJcbiAgQElucHV0KClcclxuICBoZWlnaHQ7XHJcbiAgQElucHV0KClcclxuICBjYXJkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBjYXJkVGl0bGUgPSAnJztcclxuXHJcbiAgQElucHV0KCkgaXNJbnRlcm5hbEFjdGl2ZSA9IGZhbHNlOyAvLyB1c2VkIHRvIGNvbnRyb2wgb24gc2hvd2luZyByZXN1bHRzIG9mIGludGVybmFsIGNvcmVzcCByZXN1bHRzIGluIGNoYXJ0c1xyXG4gIG15RGF0YVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGNhbGxBcGk6IENhbGxBcGlTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHVibGljIGNoYXJ0RGF0YTogQ2hhcnREYXRhU2VydmljZVxyXG4gICkge1xyXG4gICAgQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250RmFtaWx5ID0gXCJGUyBBbGJlcnQgQXJhYmljIFdlYlwiO1xyXG4gICAgQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250U2l6ZSA9IDEzO1xyXG4gICAgdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jcmVhdENoYXJ0Lm5leHQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGNyZWF0ZUNoYXJ0KCkge1xyXG4gICAgdGhpcy5jcmVhdENoYXJ0LnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSgpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgbGV0IHJhbmRvbUNvbG9ycyA9IHt9O1xyXG4gICAgICAgIGlmICh0aGlzLnJhbmRvbUNvbG9ycykge1xyXG4gICAgICAgICAgZGF0YS5kYXRhLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgcmFuZG9tQ29sb3JzW2l0ZW0ubGFiZWxdID0gdGhpcy5zdHJpbmdUb0hzbENvbG9yKFxyXG4gICAgICAgICAgICAgIGAke2l0ZW0ubGFiZWx9YCxcclxuICAgICAgICAgICAgICA0MCxcclxuICAgICAgICAgICAgICA3MFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29sb3JzID0gdGhpcy5yYW5kb21Db2xvcnMgPyByYW5kb21Db2xvcnMgOiB0aGlzLmNvbG9ycztcclxuICAgICAgICBjb25zdCB7IG9wdGlvbnMsIGNoYXJ0RGF0YSB9ID0gdGhpcy5jaGFydERhdGFbdGhpcy5jaGFydFR5cGVdKHtcclxuICAgICAgICAgIGRhdGE6IGRhdGEsXHJcbiAgICAgICAgICBjb2xvcnM6IHRoaXMuY29sb3JzLFxyXG4gICAgICAgICAgcHJlZml4OiB0aGlzLnByZWZpeCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoZGF0YS5kYXRhPy5sZW5ndGggfHwgZGF0YS5sZW5ndGgpIHtcclxuICAgICAgICAgIGlmICghdGhpcy5jaGFydE9iaikge1xyXG4gICAgICAgICAgICBjb25zdCBjdHggPSB0aGlzLmNoYXJ0Lm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE9iaiA9IG5ldyBDaGFydChjdHgsIG9wdGlvbnMpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE9iai5jaGFydC5kYXRhID0gY2hhcnREYXRhO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0T2JqLnVwZGF0ZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBjb25zdCBjdHggPSB0aGlzLmNoYXJ0Lm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICAgIC8vIGxldCBub09wdGlvbnMgPSB7XHJcbiAgICAgICAgICAvLyAgIHR5cGU6IG9wdGlvbnMudHlwZSxcclxuICAgICAgICAgIC8vICAgZGF0YToge1xyXG4gICAgICAgICAgLy8gICAgIGRhdGFzZXRzOiBbXSxcclxuICAgICAgICAgIC8vICAgfSxcclxuICAgICAgICAgIC8vICAgb3B0aW9uczoge30sXHJcbiAgICAgICAgICAvLyB9O1xyXG4gICAgICAgICAgLy8gdGhpcy5jaGFydE9iaiA9IG5ldyBDaGFydChjdHgsIG5vT3B0aW9ucyk7XHJcbiAgICAgICAgICAvLyB0aGlzLmNoYXJ0T2JqLmNoYXJ0LmRhdGEgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVTdGF0cygpIHtcclxuICAgIHRoaXMuY3JlYXRlQ2hhcnQoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY3JlYXRlQ2hhcnQoKTtcclxuICAgICAgdGhpcy5jcmVhdENoYXJ0Lm5leHQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCBtaW5DaGFuZ2VkID0gY2hhbmdlcy5taW4gJiYgIWNoYW5nZXMubWluPy5maXJzdENoYW5nZTtcclxuICAgIGNvbnN0IG1heENoYW5nZWQgPSBjaGFuZ2VzLm1heCAmJiAhY2hhbmdlcy5tYXg/LmZpcnN0Q2hhbmdlO1xyXG4gICAgY29uc3QgcmFuZ2VDaGFuZ2VkID0gY2hhbmdlcy5yYW5nZSAmJiAhY2hhbmdlcy5yYW5nZT8uZmlyc3RDaGFuZ2U7XHJcbiAgICBpZiAobWluQ2hhbmdlZCB8fCBtYXhDaGFuZ2VkIHx8IHJhbmdlQ2hhbmdlZCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNyZWF0Q2hhcnQubmV4dCgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLm15RGF0YVN1YnNjcmlwdGlvbiA/IHRoaXMubXlEYXRhU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkgOiAnJztcclxuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLmNyZWF0Q2hhcnQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbiAgZ2V0RGF0YSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5pc0ZldGNoaW5nID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmNvbWJpbmVkRGF0YSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXRDb21iaW5lZERhdGEoXHJcbiAgICAgICAgdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgdGhpcy5xdWlja0ZpbHRlcnMsXHJcbiAgICAgICAgdGhpcy5yYW5nZSxcclxuICAgICAgICB0aGlzLnBhZ2VQcm92aWRlclR3byxcclxuICAgICAgICB0aGlzLnF1aWNrRmlsdGVyVHdvLFxyXG4gICAgICAgIHRoaXMucXVpY2tGaWx0ZXJUaHJlZSxcclxuICAgICAgICB0aGlzLnN0YXR1c09uZSxcclxuICAgICAgICB0aGlzLnN0YXR1c1R3byxcclxuICAgICAgICB0aGlzLnN0YXR1c1RocmVlXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICAgIHBhZ2VQcm92aWRlcjogdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgY3VycmVudFBhZ2VJbmRleDogMCxcclxuICAgICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgICAgcGFnZVNpemU6IDEsXHJcbiAgICAgICAgZHVibGluY29yZV9jcmVhdGVkX2FnZzogdGhpcy5yYW5nZSxcclxuICAgICAgICBxdWlja0ZpbHRlcnM6IHRoaXMucXVpY2tGaWx0ZXJzLFxyXG4gICAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9taW46IHRoaXMubWluLFxyXG4gICAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9tYXg6IHRoaXMubWF4LFxyXG4gICAgICAgIHN5c3RlbV9jdXJyZW50TGlmZUN5Y2xlU3RhdGVfMzogSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAgICB0aGlzLnN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZVxyXG4gICAgICAgICksXHJcbiAgICAgIH1cclxuICAgICAgLy8gaWYgdGhlcmUgdGVuYW50IGlkIHNlbnQgZnJvbSBvdXRzaWRlIHRoZW4gYWRkIGl0IHRvIHRoZSBwYXJhbXNcclxuICAgICAgaWYgKHRoaXMudGVuYW50SWQpIHtcclxuICAgICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSBgLyR7dGhpcy50ZW5hbnRJZH0vYFxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlcclxuICAgICAgICAucXVlcnkoXHJcbiAgICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVycyxcclxuICAgICAgICAgIH1cclxuICAgICAgICApXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBtYXAoKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBkYXRhLmFnZ3JlZ2F0aW9uc1t0aGlzLmFnZ3JlZ2F0aW9uc10uYnVja2V0c1xyXG4gICAgICAgICAgICAgID8gZGF0YS5hZ2dyZWdhdGlvbnNbdGhpcy5hZ2dyZWdhdGlvbnNdLmJ1Y2tldHMubWFwKChpdGVtKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuZmV0Y2hlZEtleVxyXG4gICAgICAgICAgICAgICAgICA/IF8uZ2V0KGl0ZW0sIHRoaXMuZmV0Y2hlZEtleSlcclxuICAgICAgICAgICAgICAgICAgOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICAgIGNvdW50OiBpdGVtLmRvY0NvdW50LFxyXG4gICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICAgIDogW107XHJcbiAgICAgICAgICAgIHRoaXMuaXNGZXRjaGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIGRhdGE6IGl0ZW1zLFxyXG4gICAgICAgICAgICAgIHRvdGFsSXRlbXM6IGRhdGEudG90YWxTaXplLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q29tYmluZWREYXRhKFxyXG4gICAgcGFnZVByb3ZpZGVyT25lLFxyXG4gICAgcXVpY2tGaWx0ZXJPbmUsXHJcbiAgICBzZWxlY3RlZFJhbmdlLFxyXG4gICAgcGFnZVByb3ZpZGVyVHdvLFxyXG4gICAgcXVpY2tGaWx0ZXJUd28sXHJcbiAgICBxdWlja0ZpbHRlclRocmVlLFxyXG4gICAgc3RhdHVzT25lLFxyXG4gICAgc3RhdHVzVHdvLFxyXG4gICAgc3RhdHVzVGhyZWVcclxuICApIHtcclxuICAgIGxldCBvdXRnb2luZ1BhcmFtcyA9IHtcclxuICAgICAgcGFnZVByb3ZpZGVyOiBwYWdlUHJvdmlkZXJPbmUsXHJcbiAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgIG9mZnNldDogMCxcclxuICAgICAgcGFnZVNpemU6IDEsXHJcbiAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9hZ2c6IHNlbGVjdGVkUmFuZ2UsXHJcbiAgICAgIHF1aWNrRmlsdGVyczogcXVpY2tGaWx0ZXJPbmUsXHJcbiAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9taW46IHRoaXMubWluLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWF4OiB0aGlzLm1heCxcclxuICAgICAgc3lzdGVtX2N1cnJlbnRMaWZlQ3ljbGVTdGF0ZV8zOiBKU09OLnN0cmluZ2lmeShcclxuICAgICAgICB0aGlzLnN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZVxyXG4gICAgICApLFxyXG4gICAgfVxyXG4gICAgLy8gaWYgdGhlcmUgdGVuYW50IGlkIHNlbnQgZnJvbSBvdXRzaWRlIHRoZW4gYWRkIGl0IHRvIHRoZSBwYXJhbXNcclxuICAgIGlmICh0aGlzLnRlbmFudElkKSB7XHJcbiAgICAgIG91dGdvaW5nUGFyYW1zWydxdWVyeVBhcmFtcyddID0gYC8ke3RoaXMudGVuYW50SWR9L2BcclxuICAgIH1cclxuICAgIGNvbnN0IGdldE91dGdvaW5nJCA9IHRoaXMuY2FsbEFwaVxyXG4gICAgICAucXVlcnkoXHJcbiAgICAgICAgb3V0Z29pbmdQYXJhbXMsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzLFxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKGRhdGEpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGl0ZW1zID0gZGF0YS5hZ2dyZWdhdGlvbnNbdGhpcy5hZ2dyZWdhdGlvbnNdLmJ1Y2tldHNcclxuICAgICAgICAgICAgPyBkYXRhLmFnZ3JlZ2F0aW9uc1t0aGlzLmFnZ3JlZ2F0aW9uc10uYnVja2V0cy5tYXAoKGl0ZW0pID0+ICh7XHJcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuZmV0Y2hlZEtleVxyXG4gICAgICAgICAgICAgICAgPyBfLmdldChpdGVtLCB0aGlzLmZldGNoZWRLZXkpXHJcbiAgICAgICAgICAgICAgICA6IGl0ZW0ua2V5LFxyXG4gICAgICAgICAgICAgIGNvdW50OiBpdGVtLmRvY0NvdW50LFxyXG4gICAgICAgICAgICAgIGlkOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICBzdGF0dXM6IHN0YXR1c09uZSxcclxuICAgICAgICAgICAgICB0b3RhbEl0ZW1zOiBkYXRhLnRvdGFsU2l6ZSxcclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIDogW107XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBkYXRhOiBpdGVtcyxcclxuICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICBsZXQgaW5jb21pbmdQYXJhbXMgPSB7XHJcbiAgICAgIHBhZ2VQcm92aWRlcjogcGFnZVByb3ZpZGVyVHdvLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgIHBhZ2VTaXplOiAxLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfYWdnOiBzZWxlY3RlZFJhbmdlLFxyXG4gICAgICBxdWlja0ZpbHRlcnM6IHF1aWNrRmlsdGVyVHdvLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWluOiB0aGlzLm1pbixcclxuICAgICAgZHVibGluY29yZV9jcmVhdGVkX21heDogdGhpcy5tYXgsXHJcbiAgICAgIHN5c3RlbV9jdXJyZW50TGlmZUN5Y2xlU3RhdGVfMzogSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAgdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGVcclxuICAgICAgKSxcclxuICAgIH1cclxuICAgIC8vIGlmIHRoZXJlIHRlbmFudCBpZCBzZW50IGZyb20gb3V0c2lkZSB0aGVuIGFkZCBpdCB0byB0aGUgcGFyYW1zXHJcbiAgICBpZiAodGhpcy50ZW5hbnRJZCkge1xyXG4gICAgICBpbmNvbWluZ1BhcmFtc1sncXVlcnlQYXJhbXMnXSA9IGAvJHt0aGlzLnRlbmFudElkfS9gXHJcbiAgICB9XHJcbiAgICBjb25zdCBnZXRJbmNvbWluZyQgPSB0aGlzLmNhbGxBcGlcclxuICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgIGluY29taW5nUGFyYW1zLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVycyxcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtcyA9IGRhdGEuYWdncmVnYXRpb25zW3RoaXMuYWdncmVnYXRpb25zXS5idWNrZXRzXHJcbiAgICAgICAgICAgID8gZGF0YS5hZ2dyZWdhdGlvbnNbdGhpcy5hZ2dyZWdhdGlvbnNdLmJ1Y2tldHMubWFwKChpdGVtKSA9PiAoe1xyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmZldGNoZWRLZXlcclxuICAgICAgICAgICAgICAgID8gXy5nZXQoaXRlbSwgdGhpcy5mZXRjaGVkS2V5KVxyXG4gICAgICAgICAgICAgICAgOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICBjb3VudDogaXRlbS5kb2NDb3VudCxcclxuICAgICAgICAgICAgICBpZDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXNUd28sXHJcbiAgICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICA6IFtdO1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgZGF0YTogaXRlbXMsXHJcbiAgICAgICAgICAgIHRvdGFsSXRlbXM6IGRhdGEudG90YWxTaXplLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgbGV0IGludGVybmFsUGFyYW1zID0ge1xyXG4gICAgICBwYWdlUHJvdmlkZXI6IHBhZ2VQcm92aWRlclR3byxcclxuICAgICAgY3VycmVudFBhZ2VJbmRleDogMCxcclxuICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICBwYWdlU2l6ZTogMSxcclxuICAgICAgZHVibGluY29yZV9jcmVhdGVkX2FnZzogc2VsZWN0ZWRSYW5nZSxcclxuICAgICAgcXVpY2tGaWx0ZXJzOiBxdWlja0ZpbHRlclRocmVlLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWluOiB0aGlzLm1pbixcclxuICAgICAgZHVibGluY29yZV9jcmVhdGVkX21heDogdGhpcy5tYXgsXHJcbiAgICAgIHN5c3RlbV9jdXJyZW50TGlmZUN5Y2xlU3RhdGVfMzogSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAgdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGVcclxuICAgICAgKSxcclxuICAgIH1cclxuICAgIC8vIGlmIHRoZXJlIHRlbmFudCBpZCBzZW50IGZyb20gb3V0c2lkZSB0aGVuIGFkZCBpdCB0byB0aGUgcGFyYW1zXHJcbiAgICBpZiAodGhpcy50ZW5hbnRJZCkge1xyXG4gICAgICBpbnRlcm5hbFBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IGAvJHt0aGlzLnRlbmFudElkfS9gXHJcbiAgICB9XHJcbiAgICBjb25zdCBnZXRJbnRlcm5hbCQgPSB0aGlzLmNhbGxBcGlcclxuICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgIGludGVybmFsUGFyYW1zLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVycyxcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtcyA9IGRhdGEuYWdncmVnYXRpb25zW3RoaXMuYWdncmVnYXRpb25zXS5idWNrZXRzXHJcbiAgICAgICAgICAgID8gZGF0YS5hZ2dyZWdhdGlvbnNbdGhpcy5hZ2dyZWdhdGlvbnNdLmJ1Y2tldHMubWFwKChpdGVtKSA9PiAoe1xyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmZldGNoZWRLZXlcclxuICAgICAgICAgICAgICAgID8gXy5nZXQoaXRlbSwgdGhpcy5mZXRjaGVkS2V5KVxyXG4gICAgICAgICAgICAgICAgOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICBjb3VudDogaXRlbS5kb2NDb3VudCxcclxuICAgICAgICAgICAgICBpZDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXNUaHJlZSxcclxuICAgICAgICAgICAgICB0b3RhbEl0ZW1zOiBkYXRhLnRvdGFsU2l6ZSxcclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIDogW107XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBkYXRhOiBpdGVtcyxcclxuICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICBpZiAodGhpcy5pc0ludGVybmFsQWN0aXZlKSB7XHJcbiAgICAgIHJldHVybiBmb3JrSm9pbihbZ2V0T3V0Z29pbmckLCBnZXRJbmNvbWluZyQsIGdldEludGVybmFsJF0pLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBsZXQgY29tYmluZWREYXRhID0gWy4uLmRhdGFbMF0uZGF0YSwgLi4uZGF0YVsxXS5kYXRhLCAuLi5kYXRhWzJdLmRhdGFdO1xyXG4gICAgICAgICAgdGhpcy5pc0ZldGNoaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm4gY29tYmluZWREYXRhO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZm9ya0pvaW4oW2dldE91dGdvaW5nJCwgZ2V0SW5jb21pbmckXSkucGlwZShcclxuICAgICAgICBtYXAoKGRhdGEpID0+IHtcclxuICAgICAgICAgIGxldCBjb21iaW5lZERhdGEgPSBbLi4uZGF0YVswXS5kYXRhLCAuLi5kYXRhWzFdLmRhdGFdO1xyXG4gICAgICAgICAgdGhpcy5pc0ZldGNoaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm4gY29tYmluZWREYXRhO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcmV2aWV3Q29ycmVzcG9uZGVuY2VzKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJwYXJhbXNcIiwgdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGUpXHJcbiAgICBsZXQgcXVlcnlQYXJhbXM7XHJcbiAgICBpZiAodGhpcy5jb21iaW5lZERhdGEpIHtcclxuICAgICAgcXVlcnlQYXJhbXMgPSB7XHJcbiAgICAgICAgY29tYmluZWREYXRhOiB0aGlzLmNvbWJpbmVkRGF0YSxcclxuICAgICAgICBwYWdlUHJvdmlkZXI6IHRoaXMucGFnZVByb3ZpZGVyLFxyXG4gICAgICAgIGhlYWRlcnM6IEpTT04uc3RyaW5naWZ5KHRoaXMuaGVhZGVycyksXHJcbiAgICAgICAgcmFuZ2U6IHRoaXMucmFuZ2UsXHJcbiAgICAgICAgYWdncmVnYXRpb25zOiB0aGlzLmFnZ3JlZ2F0aW9ucyxcclxuICAgICAgICBxdWlja0ZpbHRlck9uZTogdGhpcy5xdWlja0ZpbHRlcnMsXHJcbiAgICAgICAgcXVpY2tGaWx0ZXJUd286IHRoaXMucXVpY2tGaWx0ZXJUd28sXHJcbiAgICAgICAgcXVpY2tGaWx0ZXJUaHJlZTogdGhpcy5xdWlja0ZpbHRlclRocmVlLFxyXG4gICAgICAgIHN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZTogdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGUsXHJcbiAgICAgICAgc3RhdHVzT25lOiB0aGlzLnN0YXR1c09uZSxcclxuICAgICAgICBzdGF0dXNUd286IHRoaXMuc3RhdHVzVHdvLFxyXG4gICAgICAgIHN0YXR1c1RocmVlOiB0aGlzLnN0YXR1c1RocmVlLFxyXG4gICAgICAgIG1pbjogdGhpcy5taW4sXHJcbiAgICAgICAgbWF4OiB0aGlzLm1heCxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zID0ge1xyXG4gICAgICAgIGNvbWJpbmVkRGF0YTogdGhpcy5jb21iaW5lZERhdGEsXHJcbiAgICAgICAgcGFnZVByb3ZpZGVyOiB0aGlzLnBhZ2VQcm92aWRlcixcclxuICAgICAgICBxdWlja0ZpbHRlck9uZTogdGhpcy5xdWlja0ZpbHRlcnMsXHJcbiAgICAgICAgaGVhZGVyczogSlNPTi5zdHJpbmdpZnkodGhpcy5oZWFkZXJzKSxcclxuICAgICAgICByYW5nZTogdGhpcy5yYW5nZSxcclxuICAgICAgICBhZ2dyZWdhdGlvbnM6IHRoaXMuYWdncmVnYXRpb25zLFxyXG4gICAgICAgIHN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZTogdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGUsXHJcbiAgICAgICAgbWluOiB0aGlzLm1pbixcclxuICAgICAgICBtYXg6IHRoaXMubWF4LFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgLy8gaWYgdGhlcmUgdGVuYW50IGlkIHNlbnQgZnJvbSBvdXRzaWRlIHRoZW4gYWRkIGl0IHRvIHRoZSBwYXJhbXNcclxuICAgIGlmICh0aGlzLnRlbmFudElkKSB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zWydxdWVyeVBhcmFtcyddID0gYC8ke3RoaXMudGVuYW50SWR9L2BcclxuICAgIH1cclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsncmVwb3J0JywgJ2NoYXJ0LWRldGFpbHMnXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogcXVlcnlQYXJhbXMsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0cmluZ1RvSHNsQ29sb3Ioc3RyLCBzLCBsKSB7XHJcbiAgICB2YXIgaGFzaCA9IDA7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xyXG4gICAgICBoYXNoID0gc3RyLmNoYXJDb2RlQXQoaSkgKyAoKGhhc2ggPDwgNSkgLSBoYXNoKTtcclxuICAgIH1cclxuICAgIHZhciBoID0gaGFzaCAlIDM2MDtcclxuICAgIHJldHVybiAnaHNsKCcgKyBoICsgJywgJyArIHMgKyAnJSwgJyArIGwgKyAnJSknO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZC1jb250aW5lclwiICpuZ0lmPVwiY2FyZDsgZWxzZSB0ZXN0XCI+XHJcbiAgPGRpdiBjbGFzcz1cImNoYXJ0LWNhcmQtaGVhZGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtY2FyZC10aXRsZVwiPnt7IGNhcmRUaXRsZSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImNoYXJ0LWNhcmQtYnV0dG9uXCIgKGNsaWNrKT1cInByZXZpZXdDb3JyZXNwb25kZW5jZXMoKVwiPlxyXG4gICAgICB7eyBcInJlcG9ydC5QcmV2aWV3XCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ZldGNoaW5nXCI+XHJcbiAgICA8Y3RzLXNwaW5uZXI+PC9jdHMtc3Bpbm5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8ZGl2IGNsYXNzPVwic3RhdFwiIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCI+XHJcbiAgICA8ZGl2IFtoaWRkZW5dPVwiZGF0YS5kYXRhPy5sZW5ndGggPT0gMCB8fCBkYXRhLmxlbmd0aCA9PSAwXCI+XHJcbiAgICAgIDxjYW52YXMgI3JldmVudWVMaW5lQ2hhcnQgW2hlaWdodF09XCJoZWlnaHRcIiBbd2lkdGhdPVwid2lkdGhcIj48L2NhbnZhcz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm5vLXN0YXRzXCIgKm5nSWY9XCJkYXRhLmRhdGE/Lmxlbmd0aCA9PSAwIHx8IGRhdGEubGVuZ3RoID09IDBcIj5cclxuICAgICAgPHNwYW4+e3sgXCJTVEFUUy5ub0RhdGFcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdGVzdD5cclxuICA8ZGl2IGNsYXNzPVwic3RhdFwiPlxyXG4gICAgPGNhbnZhcyAjcmV2ZW51ZUxpbmVDaGFydCBbaGVpZ2h0XT1cImhlaWdodFwiIFt3aWR0aF09XCJ3aWR0aFwiPjwvY2FudmFzPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuIl19
|
|
417
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtY2hhcnQvZHluYW1pYy1jaGFydC9keW5hbWljLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1jaGFydC9keW5hbWljLWNoYXJ0L2R5bmFtaWMtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUtMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBYyxPQUFPLEVBQWdCLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc5RCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sdUJBQXVCLENBQUM7Ozs7Ozs7O0FBQy9CLGNBQWM7QUFNZCxNQUFNLE9BQU8scUJBQXFCO0lBbUVoQyxZQUNTLFNBQTJCLEVBQzNCLGNBQWlDLEVBQ2hDLE9BQXVCLEVBQVUsTUFBYyxFQUNoRCxTQUEyQjtRQUgzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDaEMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2hELGNBQVMsR0FBVCxTQUFT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QUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFTixhQUFhO3NCQURaLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBY04sV0FBVztzQkFEVixLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixlQUFlO3NCQURkLEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUdOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsS0FBSztnQkFHTixHQUFHO3NCQURGLEtBQUs7Z0JBR04sR0FBRztzQkFERixLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQgeyBDaGFydCB9IGZyb20gXCJjaGFydC5qc1wiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGZvcmtKb2luIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwsIGRlYm91bmNlVGltZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBDYWxsQXBpU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL2NhbGxBcGkvY2FsbC1hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDaGFydERhdGFTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2NoYXJ0LWRhdGEuc2VydmljZVwiO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCAnY2hhcnRqcy1wbHVnaW4tcGllY2hhcnQtb3V0bGFiZWxzJztcclxuaW1wb3J0ICdjaGFydGpzLXBsdWdpbi1sYWJlbHMnO1xyXG4vKiogQGlnbm9yZSAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjdHMtZHluYW1pYy1jaGFydFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHluYW1pYy1jaGFydC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9keW5hbWljLWNoYXJ0LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0NoYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZCgncmV2ZW51ZUxpbmVDaGFydCcsIHsgc3RhdGljOiBmYWxzZSB9KSBjaGFydDogRWxlbWVudFJlZjtcclxuICBASW5wdXQoKVxyXG4gIHByZWZpeCA9ICdTVEFUUy4nOyAvLyBmb3IgdHJhbnNsYXRpb25cclxuICBASW5wdXQoKVxyXG4gIGNoYXJ0VHlwZTsgLy8gZnVuY3Rpb25zIGV4aXN0IGluc2lkZSBDaGFydERhdGFTZXJ2aWNlXHJcbiAgQElucHV0KCkgcmFuZG9tQ29sb3JzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBjaGFydE9iajtcclxuICBwcml2YXRlIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIGNyZWF0Q2hhcnQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgQElucHV0KCkgcGFnZVByb3ZpZGVyOyAvLyBkZWZpbmUgYXBpIHRvIGdldCB0aGUgZGF0YSBmcm9tXHJcbiAgQElucHV0KCkgaGVhZGVycyA9IHt9OyAvLyBoZWFkZXJzIGluIGNvbnN0YW50c1xyXG4gIEBJbnB1dCgpIG9ic2VydmFibGU7IC8vIG9ic2VydmFibGUgaW4gY2FzZSBvZiBjYWxsIGFwaSBpcyBjYWxsZWQgZnJvbSBvdXRzaWRlIHRoZSBjb21wb25lbnRcclxuICBASW5wdXQoKSBhZ2dyZWdhdGlvbnM7XHJcbiAgQElucHV0KCkgcXVpY2tGaWx0ZXJzO1xyXG4gIEBJbnB1dCgpIHN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZTtcclxuICBASW5wdXQoKSByYW5nZSA9ICdbXCJmcm9tX25vdy03ZF90b19ub3dcIl0nO1xyXG4gIEBJbnB1dCgpIGxhYmVsO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0ZWRSYW5nZSA9IFwid2Vla1wiOyAvLyByYW5nZSB0byBiZSBmaWx0ZXJkIG9uXHJcbiAgQElucHV0KCkgdGVuYW50SWQ7IC8vIHdpbGwgYmUgc2VudCBvbmx5IGluIGNhc2Ugb2YgbXVsdGkgdGVuYW50XHJcbiAgQElucHV0KCkgY29sb3JzOiBhbnkgPSB7XHJcbiAgICBpblByb2dyZXNzOiAnIzNjM2NmMCcsXHJcbiAgICByZWdpc3RlcmVkOiAnIzVhMTQ5NicsXHJcbiAgICBkcmFmdDogJyM1OTY5NzMnLFxyXG4gICAgYXJjaGl2ZWQ6ICcjZmJiNjJjJyxcclxuICAgIGNsb3NlZDogJyMwMGRjYTUnLFxyXG4gICAgYXNzaWduZWQ6ICcjZmQ2NjcwJyxcclxuICAgIHVuZGVmaW5lZDogJyNmN2Y4ZjknLFxyXG4gICAgb3RoZXI6ICcjZjE3MjA1JyxcclxuICB9O1xyXG4gIGRhdGE6IGFueSA9IFtdO1xyXG4gIGlzRmV0Y2hpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjaGFydHM6IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgcmFuZG9tQ29sb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGZldGNoZWRLZXk7XHJcbiAgQElucHV0KClcclxuICBwYWdlUHJvdmlkZXJUd287XHJcbiAgQElucHV0KClcclxuICBxdWlja0ZpbHRlclR3bztcclxuICBASW5wdXQoKVxyXG4gIHF1aWNrRmlsdGVyVGhyZWU7XHJcbiAgQElucHV0KClcclxuICBjb21iaW5lZERhdGEgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHN0YXR1c09uZTtcclxuICBASW5wdXQoKVxyXG4gIHN0YXR1c1R3bztcclxuICBASW5wdXQoKVxyXG4gIHN0YXR1c1RocmVlO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWluO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWF4O1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg7XHJcbiAgQElucHV0KClcclxuICBoZWlnaHQ7XHJcbiAgQElucHV0KClcclxuICBjYXJkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBjYXJkVGl0bGUgPSAnJztcclxuXHJcbiAgQElucHV0KCkgaXNJbnRlcm5hbEFjdGl2ZSA9IGZhbHNlOyAvLyB1c2VkIHRvIGNvbnRyb2wgb24gc2hvd2luZyByZXN1bHRzIG9mIGludGVybmFsIGNvcmVzcCByZXN1bHRzIGluIGNoYXJ0c1xyXG4gIG15RGF0YVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGNhbGxBcGk6IENhbGxBcGlTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHVibGljIGNoYXJ0RGF0YTogQ2hhcnREYXRhU2VydmljZVxyXG4gICkge1xyXG4gICAgQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250RmFtaWx5ID0gXCJGUyBBbGJlcnQgQXJhYmljIFdlYlwiO1xyXG4gICAgQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250U2l6ZSA9IDEzO1xyXG4gICAgdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jcmVhdENoYXJ0Lm5leHQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGNyZWF0ZUNoYXJ0KCkge1xyXG4gICAgdGhpcy5jcmVhdENoYXJ0LnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSgpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgbGV0IHJhbmRvbUNvbG9ycyA9IHt9O1xyXG4gICAgICAgIGlmICh0aGlzLnJhbmRvbUNvbG9ycykge1xyXG4gICAgICAgICAgZGF0YS5kYXRhLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgcmFuZG9tQ29sb3JzW2l0ZW0ubGFiZWxdID0gdGhpcy5zdHJpbmdUb0hzbENvbG9yKFxyXG4gICAgICAgICAgICAgIGAke2l0ZW0ubGFiZWx9YCxcclxuICAgICAgICAgICAgICA0MCxcclxuICAgICAgICAgICAgICA3MFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29sb3JzID0gdGhpcy5yYW5kb21Db2xvcnMgPyByYW5kb21Db2xvcnMgOiB0aGlzLmNvbG9ycztcclxuICAgICAgICBjb25zdCB7IG9wdGlvbnMsIGNoYXJ0RGF0YSB9ID0gdGhpcy5jaGFydERhdGFbdGhpcy5jaGFydFR5cGVdKHtcclxuICAgICAgICAgIGRhdGE6IGRhdGEsXHJcbiAgICAgICAgICBjb2xvcnM6IHRoaXMuY29sb3JzLFxyXG4gICAgICAgICAgcHJlZml4OiB0aGlzLnByZWZpeCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoZGF0YS5kYXRhPy5sZW5ndGggfHwgZGF0YS5sZW5ndGgpIHtcclxuICAgICAgICAgIGlmICghdGhpcy5jaGFydE9iaikge1xyXG4gICAgICAgICAgICBjb25zdCBjdHggPSB0aGlzLmNoYXJ0Lm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE9iaiA9IG5ldyBDaGFydChjdHgsIG9wdGlvbnMpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE9iai5jaGFydC5kYXRhID0gY2hhcnREYXRhO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0T2JqLnVwZGF0ZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBjb25zdCBjdHggPSB0aGlzLmNoYXJ0Lm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICAgIC8vIGxldCBub09wdGlvbnMgPSB7XHJcbiAgICAgICAgICAvLyAgIHR5cGU6IG9wdGlvbnMudHlwZSxcclxuICAgICAgICAgIC8vICAgZGF0YToge1xyXG4gICAgICAgICAgLy8gICAgIGRhdGFzZXRzOiBbXSxcclxuICAgICAgICAgIC8vICAgfSxcclxuICAgICAgICAgIC8vICAgb3B0aW9uczoge30sXHJcbiAgICAgICAgICAvLyB9O1xyXG4gICAgICAgICAgLy8gdGhpcy5jaGFydE9iaiA9IG5ldyBDaGFydChjdHgsIG5vT3B0aW9ucyk7XHJcbiAgICAgICAgICAvLyB0aGlzLmNoYXJ0T2JqLmNoYXJ0LmRhdGEgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVTdGF0cygpIHtcclxuICAgIHRoaXMuY3JlYXRlQ2hhcnQoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY3JlYXRlQ2hhcnQoKTtcclxuICAgICAgdGhpcy5jcmVhdENoYXJ0Lm5leHQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCBtaW5DaGFuZ2VkID0gY2hhbmdlcy5taW4gJiYgIWNoYW5nZXMubWluPy5maXJzdENoYW5nZTtcclxuICAgIGNvbnN0IG1heENoYW5nZWQgPSBjaGFuZ2VzLm1heCAmJiAhY2hhbmdlcy5tYXg/LmZpcnN0Q2hhbmdlO1xyXG4gICAgY29uc3QgcmFuZ2VDaGFuZ2VkID0gY2hhbmdlcy5yYW5nZSAmJiAhY2hhbmdlcy5yYW5nZT8uZmlyc3RDaGFuZ2U7XHJcbiAgICBpZiAobWluQ2hhbmdlZCB8fCBtYXhDaGFuZ2VkIHx8IHJhbmdlQ2hhbmdlZCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNyZWF0Q2hhcnQubmV4dCgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLm15RGF0YVN1YnNjcmlwdGlvbiA/IHRoaXMubXlEYXRhU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkgOiAnJztcclxuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLmNyZWF0Q2hhcnQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbiAgZ2V0RGF0YSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5pc0ZldGNoaW5nID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmNvbWJpbmVkRGF0YSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXRDb21iaW5lZERhdGEoXHJcbiAgICAgICAgdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgdGhpcy5xdWlja0ZpbHRlcnMsXHJcbiAgICAgICAgdGhpcy5yYW5nZSxcclxuICAgICAgICB0aGlzLnBhZ2VQcm92aWRlclR3byxcclxuICAgICAgICB0aGlzLnF1aWNrRmlsdGVyVHdvLFxyXG4gICAgICAgIHRoaXMucXVpY2tGaWx0ZXJUaHJlZSxcclxuICAgICAgICB0aGlzLnN0YXR1c09uZSxcclxuICAgICAgICB0aGlzLnN0YXR1c1R3byxcclxuICAgICAgICB0aGlzLnN0YXR1c1RocmVlXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICAgIHBhZ2VQcm92aWRlcjogdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgY3VycmVudFBhZ2VJbmRleDogMCxcclxuICAgICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgICAgcGFnZVNpemU6IDEsXHJcbiAgICAgICAgZHVibGluY29yZV9jcmVhdGVkX2FnZzogdGhpcy5yYW5nZSxcclxuICAgICAgICBxdWlja0ZpbHRlcnM6IHRoaXMucXVpY2tGaWx0ZXJzLFxyXG4gICAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9taW46IHRoaXMubWluLFxyXG4gICAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9tYXg6IHRoaXMubWF4LFxyXG4gICAgICAgIHN5c3RlbV9jdXJyZW50TGlmZUN5Y2xlU3RhdGVfMzogSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAgICB0aGlzLnN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZVxyXG4gICAgICAgICksXHJcbiAgICAgIH1cclxuICAgICAgLy8gaWYgdGhlcmUgdGVuYW50IGlkIHNlbnQgZnJvbSBvdXRzaWRlIHRoZW4gYWRkIGl0IHRvIHRoZSBwYXJhbXNcclxuICAgICAgaWYgKHRoaXMudGVuYW50SWQpIHtcclxuICAgICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSBgJHt0aGlzLnRlbmFudElkfWBcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdGhpcy5jYWxsQXBpXHJcbiAgICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gZGF0YS5hZ2dyZWdhdGlvbnNbdGhpcy5hZ2dyZWdhdGlvbnNdLmJ1Y2tldHNcclxuICAgICAgICAgICAgICA/IGRhdGEuYWdncmVnYXRpb25zW3RoaXMuYWdncmVnYXRpb25zXS5idWNrZXRzLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmZldGNoZWRLZXlcclxuICAgICAgICAgICAgICAgICAgPyBfLmdldChpdGVtLCB0aGlzLmZldGNoZWRLZXkpXHJcbiAgICAgICAgICAgICAgICAgIDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgICBjb3VudDogaXRlbS5kb2NDb3VudCxcclxuICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgICAgICA6IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmlzRmV0Y2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICBkYXRhOiBpdGVtcyxcclxuICAgICAgICAgICAgICB0b3RhbEl0ZW1zOiBkYXRhLnRvdGFsU2l6ZSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENvbWJpbmVkRGF0YShcclxuICAgIHBhZ2VQcm92aWRlck9uZSxcclxuICAgIHF1aWNrRmlsdGVyT25lLFxyXG4gICAgc2VsZWN0ZWRSYW5nZSxcclxuICAgIHBhZ2VQcm92aWRlclR3byxcclxuICAgIHF1aWNrRmlsdGVyVHdvLFxyXG4gICAgcXVpY2tGaWx0ZXJUaHJlZSxcclxuICAgIHN0YXR1c09uZSxcclxuICAgIHN0YXR1c1R3byxcclxuICAgIHN0YXR1c1RocmVlXHJcbiAgKSB7XHJcbiAgICBsZXQgb3V0Z29pbmdQYXJhbXMgPSB7XHJcbiAgICAgIHBhZ2VQcm92aWRlcjogcGFnZVByb3ZpZGVyT25lLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgIHBhZ2VTaXplOiAxLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfYWdnOiBzZWxlY3RlZFJhbmdlLFxyXG4gICAgICBxdWlja0ZpbHRlcnM6IHF1aWNrRmlsdGVyT25lLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWluOiB0aGlzLm1pbixcclxuICAgICAgZHVibGluY29yZV9jcmVhdGVkX21heDogdGhpcy5tYXgsXHJcbiAgICAgIHN5c3RlbV9jdXJyZW50TGlmZUN5Y2xlU3RhdGVfMzogSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAgdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGVcclxuICAgICAgKSxcclxuICAgIH1cclxuICAgIC8vIGlmIHRoZXJlIHRlbmFudCBpZCBzZW50IGZyb20gb3V0c2lkZSB0aGVuIGFkZCBpdCB0byB0aGUgcGFyYW1zXHJcbiAgICBpZiAodGhpcy50ZW5hbnRJZCkge1xyXG4gICAgICBvdXRnb2luZ1BhcmFtc1sncXVlcnlQYXJhbXMnXSA9IGAke3RoaXMudGVuYW50SWR9YFxyXG4gICAgfVxyXG4gICAgY29uc3QgZ2V0T3V0Z29pbmckID0gdGhpcy5jYWxsQXBpXHJcbiAgICAgIC5xdWVyeShcclxuICAgICAgICBvdXRnb2luZ1BhcmFtcyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMsXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaXRlbXMgPSBkYXRhLmFnZ3JlZ2F0aW9uc1t0aGlzLmFnZ3JlZ2F0aW9uc10uYnVja2V0c1xyXG4gICAgICAgICAgICA/IGRhdGEuYWdncmVnYXRpb25zW3RoaXMuYWdncmVnYXRpb25zXS5idWNrZXRzLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5mZXRjaGVkS2V5XHJcbiAgICAgICAgICAgICAgICA/IF8uZ2V0KGl0ZW0sIHRoaXMuZmV0Y2hlZEtleSlcclxuICAgICAgICAgICAgICAgIDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgY291bnQ6IGl0ZW0uZG9jQ291bnQsXHJcbiAgICAgICAgICAgICAgaWQ6IGl0ZW0ua2V5LFxyXG4gICAgICAgICAgICAgIHN0YXR1czogc3RhdHVzT25lLFxyXG4gICAgICAgICAgICAgIHRvdGFsSXRlbXM6IGRhdGEudG90YWxTaXplLFxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICAgICAgOiBbXTtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGRhdGE6IGl0ZW1zLFxyXG4gICAgICAgICAgICB0b3RhbEl0ZW1zOiBkYXRhLnRvdGFsU2l6ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIGxldCBpbmNvbWluZ1BhcmFtcyA9IHtcclxuICAgICAgcGFnZVByb3ZpZGVyOiBwYWdlUHJvdmlkZXJUd28sXHJcbiAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgIG9mZnNldDogMCxcclxuICAgICAgcGFnZVNpemU6IDEsXHJcbiAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9hZ2c6IHNlbGVjdGVkUmFuZ2UsXHJcbiAgICAgIHF1aWNrRmlsdGVyczogcXVpY2tGaWx0ZXJUd28sXHJcbiAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9taW46IHRoaXMubWluLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWF4OiB0aGlzLm1heCxcclxuICAgICAgc3lzdGVtX2N1cnJlbnRMaWZlQ3ljbGVTdGF0ZV8zOiBKU09OLnN0cmluZ2lmeShcclxuICAgICAgICB0aGlzLnN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZVxyXG4gICAgICApLFxyXG4gICAgfVxyXG4gICAgLy8gaWYgdGhlcmUgdGVuYW50IGlkIHNlbnQgZnJvbSBvdXRzaWRlIHRoZW4gYWRkIGl0IHRvIHRoZSBwYXJhbXNcclxuICAgIGlmICh0aGlzLnRlbmFudElkKSB7XHJcbiAgICAgIGluY29taW5nUGFyYW1zWydxdWVyeVBhcmFtcyddID0gYCR7dGhpcy50ZW5hbnRJZH1gXHJcbiAgICB9XHJcbiAgICBjb25zdCBnZXRJbmNvbWluZyQgPSB0aGlzLmNhbGxBcGlcclxuICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgIGluY29taW5nUGFyYW1zLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVycyxcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtcyA9IGRhdGEuYWdncmVnYXRpb25zW3RoaXMuYWdncmVnYXRpb25zXS5idWNrZXRzXHJcbiAgICAgICAgICAgID8gZGF0YS5hZ2dyZWdhdGlvbnNbdGhpcy5hZ2dyZWdhdGlvbnNdLmJ1Y2tldHMubWFwKChpdGVtKSA9PiAoe1xyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmZldGNoZWRLZXlcclxuICAgICAgICAgICAgICAgID8gXy5nZXQoaXRlbSwgdGhpcy5mZXRjaGVkS2V5KVxyXG4gICAgICAgICAgICAgICAgOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICBjb3VudDogaXRlbS5kb2NDb3VudCxcclxuICAgICAgICAgICAgICBpZDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXNUd28sXHJcbiAgICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICA6IFtdO1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgZGF0YTogaXRlbXMsXHJcbiAgICAgICAgICAgIHRvdGFsSXRlbXM6IGRhdGEudG90YWxTaXplLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgbGV0IGludGVybmFsUGFyYW1zID0ge1xyXG4gICAgICBwYWdlUHJvdmlkZXI6IHBhZ2VQcm92aWRlclR3byxcclxuICAgICAgY3VycmVudFBhZ2VJbmRleDogMCxcclxuICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICBwYWdlU2l6ZTogMSxcclxuICAgICAgZHVibGluY29yZV9jcmVhdGVkX2FnZzogc2VsZWN0ZWRSYW5nZSxcclxuICAgICAgcXVpY2tGaWx0ZXJzOiBxdWlja0ZpbHRlclRocmVlLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWluOiB0aGlzLm1pbixcclxuICAgICAgZHVibGluY29yZV9jcmVhdGVkX21heDogdGhpcy5tYXgsXHJcbiAgICAgIHN5c3RlbV9jdXJyZW50TGlmZUN5Y2xlU3RhdGVfMzogSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAgdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGVcclxuICAgICAgKSxcclxuICAgIH1cclxuICAgIC8vIGlmIHRoZXJlIHRlbmFudCBpZCBzZW50IGZyb20gb3V0c2lkZSB0aGVuIGFkZCBpdCB0byB0aGUgcGFyYW1zXHJcbiAgICBpZiAodGhpcy50ZW5hbnRJZCkge1xyXG4gICAgICBpbnRlcm5hbFBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IGAke3RoaXMudGVuYW50SWR9YFxyXG4gICAgfVxyXG4gICAgY29uc3QgZ2V0SW50ZXJuYWwkID0gdGhpcy5jYWxsQXBpXHJcbiAgICAgIC5xdWVyeShcclxuICAgICAgICBpbnRlcm5hbFBhcmFtcyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMsXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaXRlbXMgPSBkYXRhLmFnZ3JlZ2F0aW9uc1t0aGlzLmFnZ3JlZ2F0aW9uc10uYnVja2V0c1xyXG4gICAgICAgICAgICA/IGRhdGEuYWdncmVnYXRpb25zW3RoaXMuYWdncmVnYXRpb25zXS5idWNrZXRzLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5mZXRjaGVkS2V5XHJcbiAgICAgICAgICAgICAgICA/IF8uZ2V0KGl0ZW0sIHRoaXMuZmV0Y2hlZEtleSlcclxuICAgICAgICAgICAgICAgIDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgY291bnQ6IGl0ZW0uZG9jQ291bnQsXHJcbiAgICAgICAgICAgICAgaWQ6IGl0ZW0ua2V5LFxyXG4gICAgICAgICAgICAgIHN0YXR1czogc3RhdHVzVGhyZWUsXHJcbiAgICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICA6IFtdO1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgZGF0YTogaXRlbXMsXHJcbiAgICAgICAgICAgIHRvdGFsSXRlbXM6IGRhdGEudG90YWxTaXplLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgaWYgKHRoaXMuaXNJbnRlcm5hbEFjdGl2ZSkge1xyXG4gICAgICByZXR1cm4gZm9ya0pvaW4oW2dldE91dGdvaW5nJCwgZ2V0SW5jb21pbmckLCBnZXRJbnRlcm5hbCRdKS5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgbGV0IGNvbWJpbmVkRGF0YSA9IFsuLi5kYXRhWzBdLmRhdGEsIC4uLmRhdGFbMV0uZGF0YSwgLi4uZGF0YVsyXS5kYXRhXTtcclxuICAgICAgICAgIHRoaXMuaXNGZXRjaGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgcmV0dXJuIGNvbWJpbmVkRGF0YTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZvcmtKb2luKFtnZXRPdXRnb2luZyQsIGdldEluY29taW5nJF0pLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBsZXQgY29tYmluZWREYXRhID0gWy4uLmRhdGFbMF0uZGF0YSwgLi4uZGF0YVsxXS5kYXRhXTtcclxuICAgICAgICAgIHRoaXMuaXNGZXRjaGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgcmV0dXJuIGNvbWJpbmVkRGF0YTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJldmlld0NvcnJlc3BvbmRlbmNlcygpIHtcclxuICAgIGNvbnNvbGUubG9nKFwicGFyYW1zXCIsIHRoaXMuc3lzdGVtQ3VycmVudExpZmVDeWNsZVN0YXRlKVxyXG4gICAgbGV0IHF1ZXJ5UGFyYW1zO1xyXG4gICAgaWYgKHRoaXMuY29tYmluZWREYXRhKSB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zID0ge1xyXG4gICAgICAgIGNvbWJpbmVkRGF0YTogdGhpcy5jb21iaW5lZERhdGEsXHJcbiAgICAgICAgcGFnZVByb3ZpZGVyOiB0aGlzLnBhZ2VQcm92aWRlcixcclxuICAgICAgICBoZWFkZXJzOiBKU09OLnN0cmluZ2lmeSh0aGlzLmhlYWRlcnMpLFxyXG4gICAgICAgIHJhbmdlOiB0aGlzLnJhbmdlLFxyXG4gICAgICAgIGFnZ3JlZ2F0aW9uczogdGhpcy5hZ2dyZWdhdGlvbnMsXHJcbiAgICAgICAgcXVpY2tGaWx0ZXJPbmU6IHRoaXMucXVpY2tGaWx0ZXJzLFxyXG4gICAgICAgIHF1aWNrRmlsdGVyVHdvOiB0aGlzLnF1aWNrRmlsdGVyVHdvLFxyXG4gICAgICAgIHF1aWNrRmlsdGVyVGhyZWU6IHRoaXMucXVpY2tGaWx0ZXJUaHJlZSxcclxuICAgICAgICBzeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGU6IHRoaXMuc3lzdGVtQ3VycmVudExpZmVDeWNsZVN0YXRlLFxyXG4gICAgICAgIHN0YXR1c09uZTogdGhpcy5zdGF0dXNPbmUsXHJcbiAgICAgICAgc3RhdHVzVHdvOiB0aGlzLnN0YXR1c1R3byxcclxuICAgICAgICBzdGF0dXNUaHJlZTogdGhpcy5zdGF0dXNUaHJlZSxcclxuICAgICAgICBtaW46IHRoaXMubWluLFxyXG4gICAgICAgIG1heDogdGhpcy5tYXgsXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBxdWVyeVBhcmFtcyA9IHtcclxuICAgICAgICBjb21iaW5lZERhdGE6IHRoaXMuY29tYmluZWREYXRhLFxyXG4gICAgICAgIHBhZ2VQcm92aWRlcjogdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgcXVpY2tGaWx0ZXJPbmU6IHRoaXMucXVpY2tGaWx0ZXJzLFxyXG4gICAgICAgIGhlYWRlcnM6IEpTT04uc3RyaW5naWZ5KHRoaXMuaGVhZGVycyksXHJcbiAgICAgICAgcmFuZ2U6IHRoaXMucmFuZ2UsXHJcbiAgICAgICAgYWdncmVnYXRpb25zOiB0aGlzLmFnZ3JlZ2F0aW9ucyxcclxuICAgICAgICBzeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGU6IHRoaXMuc3lzdGVtQ3VycmVudExpZmVDeWNsZVN0YXRlLFxyXG4gICAgICAgIG1pbjogdGhpcy5taW4sXHJcbiAgICAgICAgbWF4OiB0aGlzLm1heCxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIC8vIGlmIHRoZXJlIHRlbmFudCBpZCBzZW50IGZyb20gb3V0c2lkZSB0aGVuIGFkZCBpdCB0byB0aGUgcGFyYW1zXHJcbiAgICBpZiAodGhpcy50ZW5hbnRJZCkge1xyXG4gICAgICBxdWVyeVBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IGAke3RoaXMudGVuYW50SWR9YFxyXG4gICAgfVxyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydyZXBvcnQnLCAnY2hhcnQtZGV0YWlscyddLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zOiBxdWVyeVBhcmFtcyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RyaW5nVG9Ic2xDb2xvcihzdHIsIHMsIGwpIHtcclxuICAgIHZhciBoYXNoID0gMDtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGhhc2ggPSBzdHIuY2hhckNvZGVBdChpKSArICgoaGFzaCA8PCA1KSAtIGhhc2gpO1xyXG4gICAgfVxyXG4gICAgdmFyIGggPSBoYXNoICUgMzYwO1xyXG4gICAgcmV0dXJuICdoc2woJyArIGggKyAnLCAnICsgcyArICclLCAnICsgbCArICclKSc7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkLWNvbnRpbmVyXCIgKm5nSWY9XCJjYXJkOyBlbHNlIHRlc3RcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2hhcnQtY2FyZC1oZWFkZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjaGFydC1jYXJkLXRpdGxlXCI+e3sgY2FyZFRpdGxlIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiY2hhcnQtY2FyZC1idXR0b25cIiAoY2xpY2spPVwicHJldmlld0NvcnJlc3BvbmRlbmNlcygpXCI+XHJcbiAgICAgIHt7IFwicmVwb3J0LlByZXZpZXdcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRmV0Y2hpbmdcIj5cclxuICAgIDxjdHMtc3Bpbm5lcj48L2N0cy1zcGlubmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgY2xhc3M9XCJzdGF0XCIgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIj5cclxuICAgIDxkaXYgW2hpZGRlbl09XCJkYXRhLmRhdGE/Lmxlbmd0aCA9PSAwIHx8IGRhdGEubGVuZ3RoID09IDBcIj5cclxuICAgICAgPGNhbnZhcyAjcmV2ZW51ZUxpbmVDaGFydCBbaGVpZ2h0XT1cImhlaWdodFwiIFt3aWR0aF09XCJ3aWR0aFwiPjwvY2FudmFzPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibm8tc3RhdHNcIiAqbmdJZj1cImRhdGEuZGF0YT8ubGVuZ3RoID09IDAgfHwgZGF0YS5sZW5ndGggPT0gMFwiPlxyXG4gICAgICA8c3Bhbj57eyBcIlNUQVRTLm5vRGF0YVwiIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICN0ZXN0PlxyXG4gIDxkaXYgY2xhc3M9XCJzdGF0XCI+XHJcbiAgICA8Y2FudmFzICNyZXZlbnVlTGluZUNoYXJ0IFtoZWlnaHRdPVwiaGVpZ2h0XCIgW3dpZHRoXT1cIndpZHRoXCI+PC9jYW52YXM+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG4iXX0=
|
|
@@ -164,7 +164,7 @@ export class DynamicFormDateItemComponent {
|
|
|
164
164
|
DynamicFormDateItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormDateItemComponent, deps: [{ token: i1.DynamicFormUpdateService }, { token: i2.DateAdapter }, { token: i3.UserPreferencesService }, { token: i4.TranslateService }, { token: i5.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
165
165
|
DynamicFormDateItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFormDateItemComponent, selector: "app-dynamic-form-dateitem", inputs: { label: "label", disabled: "disabled", property: "property", editable: "editable", displayEmpty: "displayEmpty", min: "min", max: "max", startAt: "startAt", displayClearAction: "displayClearAction", pickerType: "pickerType", selectMode: "selectMode", isfilter: "isfilter", placeholder: "placeholder" }, providers: [
|
|
166
166
|
{ provide: OWL_DATE_TIME_FORMATS, useValue: MY_MOMENT_FORMATS }
|
|
167
|
-
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datetimePicker"], descendants: true }], ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <ng-container *ngIf=\"label\">\r\n <label class=\"\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span>\r\n </label>\r\n </ng-container>\r\n <div class=\"input-container\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n\r\n <button *ngIf=\"!isfilter && pickerType !== 'timer'\" type=\"button\" class=\"claendar-icon\" [owlDateTimeTrigger]=\"dt3\">\r\n <i class=\"bi bi-calendar-week icon\"></i> </button>\r\n\r\n <button *ngIf=\"!isfilter && pickerType === 'timer'\" type=\"button\" class=\"claendar-icon\" [owlDateTimeTrigger]=\"dt3\">\r\n <i class=\"bi bi-clock icon\"></i> </button>\r\n <input\r\n class=\"form-control date\"\r\n [disabled]=\"isDisabled() || null\"\r\n (blur)=\"onTouched($event)\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [selectMode]=\"selectMode\"\r\n [required]=\"isRequired\"\r\n [(ngModel)]=\"valueDate\"\r\n (ngModelChange)=\"onDateChanged($event)\"\r\n autocomplete=\"false\"\r\n [owlDateTimeTrigger]=\"dt3\"\r\n [owlDateTime]=\"dt3\"\r\n placeholder=\"{{ placeholder }}\"\r\n />\r\n <input\r\n class=\"form-control timer\"\r\n [disabled]=\"true\"\r\n [
|
|
167
|
+
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datetimePicker"], descendants: true }], ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <ng-container *ngIf=\"label\">\r\n <label class=\"\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span>\r\n </label>\r\n </ng-container>\r\n <div class=\"input-container\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n\r\n <button *ngIf=\"!isfilter && pickerType !== 'timer'\" type=\"button\" class=\"claendar-icon\" [owlDateTimeTrigger]=\"dt3\">\r\n <i class=\"bi bi-calendar-week icon\"></i> </button>\r\n\r\n <button *ngIf=\"!isfilter && pickerType === 'timer'\" type=\"button\" class=\"claendar-icon\" [owlDateTimeTrigger]=\"dt3\">\r\n <i class=\"bi bi-clock icon\"></i> </button>\r\n <input\r\n class=\"form-control date\"\r\n [disabled]=\"isDisabled() || null\"\r\n (blur)=\"onTouched($event)\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [selectMode]=\"selectMode\"\r\n [required]=\"isRequired\"\r\n [(ngModel)]=\"valueDate\"\r\n (ngModelChange)=\"onDateChanged($event)\"\r\n autocomplete=\"false\"\r\n [owlDateTimeTrigger]=\"dt3\"\r\n [owlDateTime]=\"dt3\"\r\n placeholder=\"{{ placeholder }}\"\r\n />\r\n <input\r\n class=\"form-control timer\"\r\n [disabled]=\"true\"\r\n [required]=\"isRequired\"\r\n [(ngModel)]=\"displayedTime\"\r\n placeholder=\"{{ placeholder }}\"\r\n />\r\n\r\n <button type=\"button\" *ngIf=\"valueDate\" (click)=\"onDateClear()\" class=\"relative mx-1 clear-date-btn\"\r\n [ngClass]=\"{'d-none': isDisabled()}\">\r\n <i class=\"clear-date-icon material-icons flex mr-1\"></i>\r\n </button>\r\n <owl-date-time\r\n [startAt]=\"startAt\"\r\n [pickerType]=\"pickerType\"\r\n #dt3\r\n ></owl-date-time>\r\n\r\n <mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n >\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n <span *ngIf=\"label\" class=\"mx-1\">{{ label | translate}}</span> {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ valueDate | date }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".clear-date-icon{color:#999;font-size:15px}.input-container{position:relative}.input-container .form-control{padding:0 35px}.clear-date-btn{align-items:center;background:transparent;border:0px;position:absolute;right:10px;left:auto;top:50%;margin-top:-9px}.claendar-icon{border:none;background-color:transparent;position:absolute;display:flex;justify-content:flex-start;padding-inline-end:45px;width:100%;height:40px;align-items:center}.claendar-icon .icon{font-size:20px;color:#495057}.claendar-icon:focus{outline:none}.rtl .clear-date-btn{left:10px;right:auto}.rtl .owl-dt-container-info{direction:rtl}\n"], components: [{ type: i6.OwlDateTimeComponent, selector: "owl-date-time", inputs: ["backdropClass", "panelClass", "startAt", "pickerType", "pickerMode", "disabled", "opened", "scrollStrategy"], outputs: ["afterPickerClosed", "afterPickerOpen", "yearSelected", "monthSelected"], exportAs: ["owlDateTime"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.OwlDateTimeTriggerDirective, selector: "[owlDateTimeTrigger]", inputs: ["disabled", "owlDateTimeTrigger"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.OwlDateTimeInputDirective, selector: "input[owlDateTime]", inputs: ["rangeSeparator", "value", "owlDateTime", "owlDateTimeFilter", "_disabled", "min", "max", "selectMode", "values"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i4.TranslatePipe, "date": i7.DatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
168
168
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormDateItemComponent, decorators: [{
|
|
169
169
|
type: Component,
|
|
170
170
|
args: [{
|
|
@@ -210,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
210
210
|
}], placeholder: [{
|
|
211
211
|
type: Input
|
|
212
212
|
}] } });
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWRhdGVpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLWRhdGVpdGVtL2R5bmFtaWMtZm9ybS1kYXRlaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1kYXRlaXRlbS9keW5hbWljLWZvcm0tZGF0ZWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2xILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSWxFLE9BQU8sTUFBTSxNQUFNLFlBQVksQ0FBQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQTBCLG9CQUFvQixFQUFFLE1BQU0seURBQXlELENBQUM7Ozs7Ozs7Ozs7QUFLdkgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsVUFBVSxFQUFFLE1BQU07SUFDbEIsZUFBZSxFQUFFLE1BQU07SUFDdkIsZUFBZSxFQUFFLEdBQUc7SUFDcEIsZUFBZSxFQUFFLElBQUk7SUFDckIsY0FBYyxFQUFFLFVBQVU7SUFDMUIsYUFBYSxFQUFFLElB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QUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgU2VsZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE9XTF9EQVRFX1RJTUVfRk9STUFUUyB9IGZyb20gJ0BidXNhY2NhL25nLXBpY2stZGF0ZXRpbWUnO1xyXG5pbXBvcnQgeyBNYXREYXRldGltZXBpY2tlciB9IGZyb20gJ0BtYXQtZGF0ZXRpbWVwaWNrZXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQtZXM2JztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsIFVzZXJQcmVmZXJlbmNlVmFsdWVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy91c2VyL3VzZXItcHJlZmVyZW5jZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbWVudERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vQ29yZS91dGlsaXRpZXMvbW9tZW50LWRhdGUtYWRhcHRlcic7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtRGF0ZUl0ZW1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9keW5hbWljLWZvcm0ubW9kZWxzJztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZHluYW1pYy1mb3JtLXVwZGF0ZS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjb25zdCBNWV9NT01FTlRfRk9STUFUUyA9IHtcclxuICBwYXJzZUlucHV0OiAnbCBMVCcsXHJcbiAgZnVsbFBpY2tlcklucHV0OiAnbCBMVCcsXHJcbiAgZGF0ZVBpY2tlcklucHV0OiAnbCcsXHJcbiAgdGltZVBpY2tlcklucHV0OiAnTFQnLFxyXG4gIG1vbnRoWWVhckxhYmVsOiAnTU1NIFlZWVknLFxyXG4gIGRhdGVBMTF5TGFiZWw6ICdMTCcsXHJcbiAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJyxcclxufTtcclxuLyoqIEBpZ25vcmUgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IE9XTF9EQVRFX1RJTUVfRk9STUFUUywgdXNlVmFsdWU6IE1ZX01PTUVOVF9GT1JNQVRTIH1cclxuICBdLFxyXG4gIHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtZm9ybS1kYXRlaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1kYXRlaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLWRhdGVpdGVtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtRGF0ZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBsYWJlbDtcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBpbkVkaXQgPSBmYWxzZTtcclxuICBlZGl0ZWRWYWx1ZTogc3RyaW5nO1xyXG4gIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdO1xyXG4gIHZhbHVlU2VwYXJhdG9yOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBwcm9wZXJ0eTogRHluYW1pY0Zvcm1EYXRlSXRlbU1vZGVsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGVkaXRhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNwbGF5RW1wdHk6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1pbiA9IG51bGw7XHJcbiAgQElucHV0KClcclxuICBtYXggPSBudWxsO1xyXG4gIEBJbnB1dCgpXHJcbiAgc3RhcnRBdCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzcGxheUNsZWFyQWN0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwaWNrZXJUeXBlOiBzdHJpbmcgPSAnYm90aCc7XHJcbiAgQElucHV0KCkgc2VsZWN0TW9kZTogc3RyaW5nID0gJ3NpbmdsZSc7XHJcbiAgQFZpZXdDaGlsZCgnZGF0ZXRpbWVQaWNrZXInKVxyXG4gIHB1YmxpYyBkYXRlcGlja2VyOiBNYXREYXRldGltZXBpY2tlcjxhbnk+O1xyXG5cclxuICB2YWx1ZURhdGU7XHJcbiAgZGF0ZUZvcm1hdDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlzZmlsdGVyPSBmYWxzZTsgLy8gc2hvd2VkIGVycm9yIHdoZW4gYnVpbGRpbmcgbGliIHRoYXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZXhpc3QgXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI9ICcnOyAvLyBzaG93ZWQgZXJyb3Igd2hlbiBidWlsZGluZyBsaWIgdGhhdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBleGlzdCBcclxuXHJcbiAgZGlzcGxheWVkVGltZSA9ICcnO1xyXG4gIHByaXZhdGUgb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkeW5hbWljRm9ybVVwZGF0ZVNlcnZpY2U6IER5bmFtaWNGb3JtVXBkYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPE1vbWVudD4sXHJcbiAgICBwcml2YXRlIHVzZXJQcmVmZXJlbmNlc1NlcnZpY2U6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcblxyXG4gICkge1xyXG4gICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgdGhpcy5kYXRlRm9ybWF0ID0gJ21lZGl1bURhdGUnO1xyXG4gIH1cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG4gIG9uVG91Y2hlZDogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICBpc1JlcXVpcmVkKCkge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3IpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZhbGlkYXRvciA9IHRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcih7fSBhcyBBYnN0cmFjdENvbnRyb2wpO1xyXG4gICAgcmV0dXJuICh2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkKTtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0TW9kZSA9PT0gJ3NpbmdsZScpIHtcclxuICAgICAgaWYob2JqKXtcclxuICAgICAgICBtb21lbnQubG9jYWxlKCdlbi1hdScpO1xyXG4gICAgICB0aGlzLnZhbHVlRGF0ZSA9IG9iajtcclxuICAgICAgICB0aGlzLmRpc3BsYXllZFRpbWUgPSBtb21lbnQob2JqKS5mb3JtYXQoXCJISDptbVwiKTtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRUaW1lID0gJyc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmFsdWVEYXRlID0gb2JqO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRoaXMucHJvcGVydHkudmFsdWUgPSBvYmo7XHJcblxyXG4gICAgLy8gIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcclxuICB9XHJcbiAgcHVibGljIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB7IGRpcnR5LCB0b3VjaGVkIH0gPSB0aGlzLmNvbnRyb2w7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IChkaXJ0eSB8fCB0b3VjaGVkKSA6IGZhbHNlO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Vycm9yO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnVzZXJQcmVmZXJlbmNlc1NlcnZpY2VcclxuICAgICAgLnNlbGVjdChVc2VyUHJlZmVyZW5jZVZhbHVlcy5Mb2NhbGUpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKGxvY2FsZSA9PiB7XHJcbiAgICAgICAgLy8gdGhpcy5kYXRlQWRhcHRlci5zZXRMb2NhbGUobG9jYWxlKTtcclxuICAgICAgICAvLyB0aGlzLnByb3BlcnR5LmxvY2FsZSA9IGxvY2FsZTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgKDxNb21lbnREYXRlQWRhcHRlcj50aGlzLmRhdGVBZGFwdGVyKS5vdmVycmlkZURpc3BsYXlGb3JtYXQgPSAnREQvTU0vWVlZWSc7XHJcblxyXG4gICAgLyogaWYgKHRoaXMucHJvcGVydHkudmFsdWUpIHtcclxuICAgICAgIHRoaXMudmFsdWVEYXRlID0gbW9tZW50KHRoaXMucHJvcGVydHkudmFsdWUpO1xyXG4gICAgIH0gKi9cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNob3dQcm9wZXJ0eSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc3BsYXlFbXB0eSB8fCAhdGhpcy5wcm9wZXJ0eS5pc0VtcHR5KCk7XHJcbiAgfVxyXG5cclxuICBzaG93Q2xlYXJBY3Rpb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmRpc3BsYXlDbGVhckFjdGlvbiAmJlxyXG4gICAgICAoIXRoaXMucHJvcGVydHkuaXNFbXB0eSgpIHx8ICEhdGhpcy5wcm9wZXJ0eS5kZWZhdWx0KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzRWRpdGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5lZGl0YWJsZTtcclxuICB9XHJcbiAgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xyXG4gIH1cclxuICBzaG93RGF0ZVBpY2tlcigpIHtcclxuICAgIHRoaXMuZGF0ZXBpY2tlci5vcGVuKCk7XHJcbiAgfVxyXG5cclxuICBvbkRhdGVDaGFuZ2VkKG5ld0RhdGVWYWx1ZSkge1xyXG4gICAgaWYgKHRoaXMudmFsdWVEYXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdE1vZGUgPT09ICdzaW5nbGUnKSB7XHJcbiAgICAgICAgbW9tZW50LmxvY2FsZSgnZW4tYXUnKTtcclxuICAgICAgICBjb25zdCBtb21lbnREYXRlID0gbW9tZW50KHRoaXMudmFsdWVEYXRlLCB0aGlzLmRhdGVGb3JtYXQsIHRydWUpO1xyXG4gICAgICAgIGlmIChtb21lbnREYXRlLmlzVmFsaWQoKSkge1xyXG4gICAgICAgICAgLy90aGlzLnByb3BlcnR5LnZhbHVlID0gbW9tZW50RGF0ZS50b0RhdGUoKTtcclxuICAgICAgICAgIHRoaXMub25DaGFuZ2UobW9tZW50RGF0ZS50b0RhdGUoKSk7XHJcbiAgICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgICAgICAgLy8gdGhpcy5keW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UudXBkYXRlKHRoaXMucHJvcGVydHksIG1vbWVudERhdGUudG9EYXRlKCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRpc3BsYXllZFRpbWUgPSBtb21lbnQodGhpcy52YWx1ZURhdGUpLmZvcm1hdChcIkhIOm1tXCIpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZURhdGUpO1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xyXG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25EYXRlQ2xlYXIoKSB7XHJcbiAgICB0aGlzLnZhbHVlRGF0ZSA9IG51bGw7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWVEYXRlKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgICB0aGlzLmRpc3BsYXllZFRpbWUgPSAnJztcclxuICAgIC8vIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLnVwZGF0ZSh0aGlzLnByb3BlcnR5LCBudWxsKTtcclxuICAgIC8vdGhpcy5wcm9wZXJ0eS52YWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLnByb3BlcnR5ID8gdGhpcy5wcm9wZXJ0eS5kZWZhdWx0ID0gbnVsbCA6ICcnO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXBwLXByb3BlcnR5LXZhbHVlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFwcC1pbnB1dC13cmFwcGVyXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwiXCIgZm9yPVwiZm9ybUdyb3VwSW5wdXRTbWFsbFwiXHJcbiAgICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbS0xXCI+Kjwvc3Bhbj5cclxuICAgICAgPC9sYWJlbD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFZGl0YWJsZSgpOyBlbHNlIHJlYWRPbmx5XCI+XHJcblxyXG4gICAgICAgIDxidXR0b24gKm5nSWY9XCIhaXNmaWx0ZXIgJiYgcGlja2VyVHlwZSAhPT0gJ3RpbWVyJ1wiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNsYWVuZGFyLWljb25cIiBbb3dsRGF0ZVRpbWVUcmlnZ2VyXT1cImR0M1wiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1jYWxlbmRhci13ZWVrIGljb25cIj48L2k+ICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWlzZmlsdGVyICYmIHBpY2tlclR5cGUgPT09ICd0aW1lcidcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbGFlbmRhci1pY29uXCIgW293bERhdGVUaW1lVHJpZ2dlcl09XCJkdDNcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1jbG9jayBpY29uXCI+PC9pPiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBkYXRlXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkKCkgfHwgbnVsbFwiXHJcbiAgICAgICAgICAoYmx1cik9XCJvblRvdWNoZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbbWluXT1cIm1pblwiXHJcbiAgICAgICAgICBbbWF4XT1cIm1heFwiXHJcbiAgICAgICAgICBbc2VsZWN0TW9kZV09XCJzZWxlY3RNb2RlXCJcclxuICAgICAgICAgIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVEYXRlXCJcclxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRGF0ZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBhdXRvY29tcGxldGU9XCJmYWxzZVwiXHJcbiAgICAgICAgICBbb3dsRGF0ZVRpbWVUcmlnZ2VyXT1cImR0M1wiXHJcbiAgICAgICAgICBbb3dsRGF0ZVRpbWVdPVwiZHQzXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdGltZXJcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICBbb3dsRGF0ZVRpbWVUcmlnZ2VyXT1cImR0M1wiXHJcbiAgICAgICAgW293bERhdGVUaW1lXT1cImR0M1wiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cImlzUmVxdWlyZWRcIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwiZGlzcGxheWVkVGltZVwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB9fVwiXHJcbiAgICAgIC8+XHJcblxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwidmFsdWVEYXRlXCIgKGNsaWNrKT1cIm9uRGF0ZUNsZWFyKClcIiBjbGFzcz1cInJlbGF0aXZlIG14LTEgY2xlYXItZGF0ZS1idG5cIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnZC1ub25lJzogaXNEaXNhYmxlZCgpfVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJjbGVhci1kYXRlLWljb24gbWF0ZXJpYWwtaWNvbnMgIGZsZXggbXItMVwiPiYjeEUxNEM7PC9pPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxvd2wtZGF0ZS10aW1lXHJcbiAgICAgICAgICBbc3RhcnRBdF09XCJzdGFydEF0XCJcclxuICAgICAgICAgIFtwaWNrZXJUeXBlXT1cInBpY2tlclR5cGVcIlxyXG4gICAgICAgICAgI2R0M1xyXG4gICAgICAgID48L293bC1kYXRlLXRpbWU+XHJcblxyXG4gICAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC10ZXh0aXRlbS1lcnJvci0nXCJcclxuICAgICAgICAgIGNsYXNzPVwiYXBwLXRleHRpdGVtLWVkaXRhYmxlLWVycm9yXCJcclxuICAgICAgICAgICpuZ0lmPVwiaGFzRXJyb3JzKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cclxuICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cIm14LTFcIj57eyBsYWJlbCB8IHRyYW5zbGF0ZX19PC9zcGFuPiB7eyBcIlZBTElEQVRPUlMuUkVRVUlSRURcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgPC91bD5cclxuICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjcmVhZE9ubHk+XHJcbiAgICAgICAge3sgdmFsdWVEYXRlIHwgZGF0ZSB9fVxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWRhdGVpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLWRhdGVpdGVtL2R5bmFtaWMtZm9ybS1kYXRlaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1kYXRlaXRlbS9keW5hbWljLWZvcm0tZGF0ZWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2xILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSWxFLE9BQU8sTUFBTSxNQUFNLFlBQVksQ0FBQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQTBCLG9CQUFvQixFQUFFLE1BQU0seURBQXlELENBQUM7Ozs7Ozs7Ozs7QUFLdkgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsVUFBVSxFQUFFLE1BQU07SUFDbEIsZUFBZSxFQUFFLE1BQU07SUFDdkIsZUFBZSxFQUFFLEdBQUc7SUFDcEIsZUFBZSxFQUFFLElBQUk7SUFDckIsY0FBYyxFQUFFLFVBQVU7SUFDMUIsYUFBYSxFQUFFLElB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QUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgU2VsZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE9XTF9EQVRFX1RJTUVfRk9STUFUUyB9IGZyb20gJ0BidXNhY2NhL25nLXBpY2stZGF0ZXRpbWUnO1xyXG5pbXBvcnQgeyBNYXREYXRldGltZXBpY2tlciB9IGZyb20gJ0BtYXQtZGF0ZXRpbWVwaWNrZXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQtZXM2JztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsIFVzZXJQcmVmZXJlbmNlVmFsdWVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy91c2VyL3VzZXItcHJlZmVyZW5jZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbWVudERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vQ29yZS91dGlsaXRpZXMvbW9tZW50LWRhdGUtYWRhcHRlcic7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtRGF0ZUl0ZW1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9keW5hbWljLWZvcm0ubW9kZWxzJztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZHluYW1pYy1mb3JtLXVwZGF0ZS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjb25zdCBNWV9NT01FTlRfRk9STUFUUyA9IHtcclxuICBwYXJzZUlucHV0OiAnbCBMVCcsXHJcbiAgZnVsbFBpY2tlcklucHV0OiAnbCBMVCcsXHJcbiAgZGF0ZVBpY2tlcklucHV0OiAnbCcsXHJcbiAgdGltZVBpY2tlcklucHV0OiAnTFQnLFxyXG4gIG1vbnRoWWVhckxhYmVsOiAnTU1NIFlZWVknLFxyXG4gIGRhdGVBMTF5TGFiZWw6ICdMTCcsXHJcbiAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJyxcclxufTtcclxuLyoqIEBpZ25vcmUgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IE9XTF9EQVRFX1RJTUVfRk9STUFUUywgdXNlVmFsdWU6IE1ZX01PTUVOVF9GT1JNQVRTIH1cclxuICBdLFxyXG4gIHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtZm9ybS1kYXRlaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1kYXRlaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLWRhdGVpdGVtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtRGF0ZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBsYWJlbDtcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBpbkVkaXQgPSBmYWxzZTtcclxuICBlZGl0ZWRWYWx1ZTogc3RyaW5nO1xyXG4gIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdO1xyXG4gIHZhbHVlU2VwYXJhdG9yOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBwcm9wZXJ0eTogRHluYW1pY0Zvcm1EYXRlSXRlbU1vZGVsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGVkaXRhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNwbGF5RW1wdHk6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1pbiA9IG51bGw7XHJcbiAgQElucHV0KClcclxuICBtYXggPSBudWxsO1xyXG4gIEBJbnB1dCgpXHJcbiAgc3RhcnRBdCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzcGxheUNsZWFyQWN0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwaWNrZXJUeXBlOiBzdHJpbmcgPSAnYm90aCc7XHJcbiAgQElucHV0KCkgc2VsZWN0TW9kZTogc3RyaW5nID0gJ3NpbmdsZSc7XHJcbiAgQFZpZXdDaGlsZCgnZGF0ZXRpbWVQaWNrZXInKVxyXG4gIHB1YmxpYyBkYXRlcGlja2VyOiBNYXREYXRldGltZXBpY2tlcjxhbnk+O1xyXG5cclxuICB2YWx1ZURhdGU7XHJcbiAgZGF0ZUZvcm1hdDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlzZmlsdGVyPSBmYWxzZTsgLy8gc2hvd2VkIGVycm9yIHdoZW4gYnVpbGRpbmcgbGliIHRoYXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZXhpc3QgXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI9ICcnOyAvLyBzaG93ZWQgZXJyb3Igd2hlbiBidWlsZGluZyBsaWIgdGhhdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBleGlzdCBcclxuXHJcbiAgZGlzcGxheWVkVGltZSA9ICcnO1xyXG4gIHByaXZhdGUgb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkeW5hbWljRm9ybVVwZGF0ZVNlcnZpY2U6IER5bmFtaWNGb3JtVXBkYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPE1vbWVudD4sXHJcbiAgICBwcml2YXRlIHVzZXJQcmVmZXJlbmNlc1NlcnZpY2U6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcblxyXG4gICkge1xyXG4gICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgdGhpcy5kYXRlRm9ybWF0ID0gJ21lZGl1bURhdGUnO1xyXG4gIH1cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG4gIG9uVG91Y2hlZDogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICBpc1JlcXVpcmVkKCkge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3IpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZhbGlkYXRvciA9IHRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcih7fSBhcyBBYnN0cmFjdENvbnRyb2wpO1xyXG4gICAgcmV0dXJuICh2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkKTtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0TW9kZSA9PT0gJ3NpbmdsZScpIHtcclxuICAgICAgaWYob2JqKXtcclxuICAgICAgICBtb21lbnQubG9jYWxlKCdlbi1hdScpO1xyXG4gICAgICB0aGlzLnZhbHVlRGF0ZSA9IG9iajtcclxuICAgICAgICB0aGlzLmRpc3BsYXllZFRpbWUgPSBtb21lbnQob2JqKS5mb3JtYXQoXCJISDptbVwiKTtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRUaW1lID0gJyc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmFsdWVEYXRlID0gb2JqO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRoaXMucHJvcGVydHkudmFsdWUgPSBvYmo7XHJcblxyXG4gICAgLy8gIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcclxuICB9XHJcbiAgcHVibGljIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB7IGRpcnR5LCB0b3VjaGVkIH0gPSB0aGlzLmNvbnRyb2w7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IChkaXJ0eSB8fCB0b3VjaGVkKSA6IGZhbHNlO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Vycm9yO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnVzZXJQcmVmZXJlbmNlc1NlcnZpY2VcclxuICAgICAgLnNlbGVjdChVc2VyUHJlZmVyZW5jZVZhbHVlcy5Mb2NhbGUpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKGxvY2FsZSA9PiB7XHJcbiAgICAgICAgLy8gdGhpcy5kYXRlQWRhcHRlci5zZXRMb2NhbGUobG9jYWxlKTtcclxuICAgICAgICAvLyB0aGlzLnByb3BlcnR5LmxvY2FsZSA9IGxvY2FsZTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgKDxNb21lbnREYXRlQWRhcHRlcj50aGlzLmRhdGVBZGFwdGVyKS5vdmVycmlkZURpc3BsYXlGb3JtYXQgPSAnREQvTU0vWVlZWSc7XHJcblxyXG4gICAgLyogaWYgKHRoaXMucHJvcGVydHkudmFsdWUpIHtcclxuICAgICAgIHRoaXMudmFsdWVEYXRlID0gbW9tZW50KHRoaXMucHJvcGVydHkudmFsdWUpO1xyXG4gICAgIH0gKi9cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNob3dQcm9wZXJ0eSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc3BsYXlFbXB0eSB8fCAhdGhpcy5wcm9wZXJ0eS5pc0VtcHR5KCk7XHJcbiAgfVxyXG5cclxuICBzaG93Q2xlYXJBY3Rpb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmRpc3BsYXlDbGVhckFjdGlvbiAmJlxyXG4gICAgICAoIXRoaXMucHJvcGVydHkuaXNFbXB0eSgpIHx8ICEhdGhpcy5wcm9wZXJ0eS5kZWZhdWx0KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzRWRpdGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5lZGl0YWJsZTtcclxuICB9XHJcbiAgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xyXG4gIH1cclxuICBzaG93RGF0ZVBpY2tlcigpIHtcclxuICAgIHRoaXMuZGF0ZXBpY2tlci5vcGVuKCk7XHJcbiAgfVxyXG5cclxuICBvbkRhdGVDaGFuZ2VkKG5ld0RhdGVWYWx1ZSkge1xyXG4gICAgaWYgKHRoaXMudmFsdWVEYXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdE1vZGUgPT09ICdzaW5nbGUnKSB7XHJcbiAgICAgICAgbW9tZW50LmxvY2FsZSgnZW4tYXUnKTtcclxuICAgICAgICBjb25zdCBtb21lbnREYXRlID0gbW9tZW50KHRoaXMudmFsdWVEYXRlLCB0aGlzLmRhdGVGb3JtYXQsIHRydWUpO1xyXG4gICAgICAgIGlmIChtb21lbnREYXRlLmlzVmFsaWQoKSkge1xyXG4gICAgICAgICAgLy90aGlzLnByb3BlcnR5LnZhbHVlID0gbW9tZW50RGF0ZS50b0RhdGUoKTtcclxuICAgICAgICAgIHRoaXMub25DaGFuZ2UobW9tZW50RGF0ZS50b0RhdGUoKSk7XHJcbiAgICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgICAgICAgLy8gdGhpcy5keW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UudXBkYXRlKHRoaXMucHJvcGVydHksIG1vbWVudERhdGUudG9EYXRlKCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRpc3BsYXllZFRpbWUgPSBtb21lbnQodGhpcy52YWx1ZURhdGUpLmZvcm1hdChcIkhIOm1tXCIpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZURhdGUpO1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xyXG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25EYXRlQ2xlYXIoKSB7XHJcbiAgICB0aGlzLnZhbHVlRGF0ZSA9IG51bGw7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWVEYXRlKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgICB0aGlzLmRpc3BsYXllZFRpbWUgPSAnJztcclxuICAgIC8vIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLnVwZGF0ZSh0aGlzLnByb3BlcnR5LCBudWxsKTtcclxuICAgIC8vdGhpcy5wcm9wZXJ0eS52YWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLnByb3BlcnR5ID8gdGhpcy5wcm9wZXJ0eS5kZWZhdWx0ID0gbnVsbCA6ICcnO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXBwLXByb3BlcnR5LXZhbHVlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFwcC1pbnB1dC13cmFwcGVyXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwiXCIgZm9yPVwiZm9ybUdyb3VwSW5wdXRTbWFsbFwiXHJcbiAgICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbS0xXCI+Kjwvc3Bhbj5cclxuICAgICAgPC9sYWJlbD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFZGl0YWJsZSgpOyBlbHNlIHJlYWRPbmx5XCI+XHJcblxyXG4gICAgICAgIDxidXR0b24gKm5nSWY9XCIhaXNmaWx0ZXIgJiYgcGlja2VyVHlwZSAhPT0gJ3RpbWVyJ1wiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNsYWVuZGFyLWljb25cIiBbb3dsRGF0ZVRpbWVUcmlnZ2VyXT1cImR0M1wiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1jYWxlbmRhci13ZWVrIGljb25cIj48L2k+ICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWlzZmlsdGVyICYmIHBpY2tlclR5cGUgPT09ICd0aW1lcidcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbGFlbmRhci1pY29uXCIgW293bERhdGVUaW1lVHJpZ2dlcl09XCJkdDNcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1jbG9jayBpY29uXCI+PC9pPiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBkYXRlXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkKCkgfHwgbnVsbFwiXHJcbiAgICAgICAgICAoYmx1cik9XCJvblRvdWNoZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbbWluXT1cIm1pblwiXHJcbiAgICAgICAgICBbbWF4XT1cIm1heFwiXHJcbiAgICAgICAgICBbc2VsZWN0TW9kZV09XCJzZWxlY3RNb2RlXCJcclxuICAgICAgICAgIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVEYXRlXCJcclxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRGF0ZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBhdXRvY29tcGxldGU9XCJmYWxzZVwiXHJcbiAgICAgICAgICBbb3dsRGF0ZVRpbWVUcmlnZ2VyXT1cImR0M1wiXHJcbiAgICAgICAgICBbb3dsRGF0ZVRpbWVdPVwiZHQzXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdGltZXJcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICBbcmVxdWlyZWRdPVwiaXNSZXF1aXJlZFwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJkaXNwbGF5ZWRUaW1lXCJcclxuICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCJcclxuICAgICAgLz5cclxuXHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJ2YWx1ZURhdGVcIiAoY2xpY2spPVwib25EYXRlQ2xlYXIoKVwiIGNsYXNzPVwicmVsYXRpdmUgbXgtMSBjbGVhci1kYXRlLWJ0blwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieydkLW5vbmUnOiBpc0Rpc2FibGVkKCl9XCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImNsZWFyLWRhdGUtaWNvbiBtYXRlcmlhbC1pY29ucyAgZmxleCBtci0xXCI+JiN4RTE0Qzs8L2k+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPG93bC1kYXRlLXRpbWVcclxuICAgICAgICAgIFtzdGFydEF0XT1cInN0YXJ0QXRcIlxyXG4gICAgICAgICAgW3BpY2tlclR5cGVdPVwicGlja2VyVHlwZVwiXHJcbiAgICAgICAgICAjZHQzXHJcbiAgICAgICAgPjwvb3dsLWRhdGUtdGltZT5cclxuXHJcbiAgICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLXRleHRpdGVtLWVycm9yLSdcIlxyXG4gICAgICAgICAgY2xhc3M9XCJhcHAtdGV4dGl0ZW0tZWRpdGFibGUtZXJyb3JcIlxyXG4gICAgICAgICAgKm5nSWY9XCJoYXNFcnJvcnMoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5yZXF1aXJlZFwiPlxyXG4gICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsYWJlbFwiIGNsYXNzPVwibXgtMVwiPnt7IGxhYmVsIHwgdHJhbnNsYXRlfX08L3NwYW4+IHt7IFwiVkFMSURBVE9SUy5SRVFVSVJFRFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNyZWFkT25seT5cclxuICAgICAgICB7eyB2YWx1ZURhdGUgfCBkYXRlIH19XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -30,10 +30,10 @@ export class DepartmentApiService {
|
|
|
30
30
|
let obj = customParams ? customParams : {};
|
|
31
31
|
let params = Object.assign({ pageProvider: customPageProvider ? customPageProvider : 'PP_Department', currentPageIndex: 0, offset: 0, pageSize: 40, quickFilters: 'Parent Dept' }, obj);
|
|
32
32
|
if (this.globalAdminService.isGlobalAdmin) {
|
|
33
|
-
params['queryParams'] =
|
|
33
|
+
params['queryParams'] = this.globalAdminService.activeTenant;
|
|
34
34
|
}
|
|
35
35
|
else if (!this.globalAdminService.isGlobalAdmin && this.nuxeoService.nuxeoClient.user.properties.tenantId) {
|
|
36
|
-
params['queryParams'] =
|
|
36
|
+
params['queryParams'] = this.nuxeoService.nuxeoClient.user.properties.tenantId;
|
|
37
37
|
}
|
|
38
38
|
return this.CallApiService.query(Object.assign({}, params), {
|
|
39
39
|
headers: {
|
|
@@ -52,10 +52,10 @@ export class DepartmentApiService {
|
|
|
52
52
|
dublincore_title: code,
|
|
53
53
|
};
|
|
54
54
|
if (this.globalAdminService.isGlobalAdmin) {
|
|
55
|
-
params['queryParams'] =
|
|
55
|
+
params['queryParams'] = this.globalAdminService.activeTenant;
|
|
56
56
|
}
|
|
57
57
|
else if (!this.globalAdminService.isGlobalAdmin && this.nuxeoService.nuxeoClient.user.properties.tenantId) {
|
|
58
|
-
params['queryParams'] =
|
|
58
|
+
params['queryParams'] = this.nuxeoService.nuxeoClient.user.properties.tenantId;
|
|
59
59
|
}
|
|
60
60
|
return this.CallApiService.query(Object.assign({}, params), {
|
|
61
61
|
headers: {
|
|
@@ -69,10 +69,10 @@ export class DepartmentApiService {
|
|
|
69
69
|
let params = {};
|
|
70
70
|
customParentCodeProperty ? (params[customParentCodeProperty] = code) : (params = { 'department_parentDepartmentCode': code });
|
|
71
71
|
if (this.globalAdminService.isGlobalAdmin) {
|
|
72
|
-
params['queryParams'] =
|
|
72
|
+
params['queryParams'] = this.globalAdminService.activeTenant;
|
|
73
73
|
}
|
|
74
74
|
else if (!this.globalAdminService.isGlobalAdmin && this.nuxeoService.nuxeoClient.user.properties.tenantId) {
|
|
75
|
-
params['queryParams'] =
|
|
75
|
+
params['queryParams'] = this.nuxeoService.nuxeoClient.user.properties.tenantId;
|
|
76
76
|
}
|
|
77
77
|
return this.CallApiService.query(Object.assign({ pageProvider: customPageProvider ? customPageProvider : 'PP_Department', currentPageIndex: 0, offset: 0, pageSize: 40 }, params), {
|
|
78
78
|
headers: {
|
|
@@ -227,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
227
227
|
type: Inject,
|
|
228
228
|
args: ['environment']
|
|
229
229
|
}] }]; }, propDecorators: { getDepartmentTree: [], getDepartmentDetails: [], getDepartmentNestedTree: [], createDepartment: [], createDepartmentInRoot: [], updateDepartment: [] } });
|
|
230
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLWRlcGFydG1lbnQvc2VydmljZXMvZGVwYXJ0bWVudC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUtqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7OztBQUU1RSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0FBQzFELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUM7QUFDNUIsY0FBYztBQUtkLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFDVSxjQUE4QixFQUM5QixXQUErQixFQUMvQixZQUEwQixFQUMxQixPQUF1QixFQUN2QixrQkFBdUMsRUFDaEIsV0FBVztRQUxsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLHVC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Q0FBQzs0REEyQkQ7MkZBL05VLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLE1BQU07MkJBQUMsYUFBYTs0Q0FhdkIsaUJBQWlCLE1BbUNqQixvQkFBb0IsTUFpQ3BCLHVCQUF1QixNQWdEdkIsZ0JBQWdCLE1BOEJoQixzQkFBc0IsTUE4QnRCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgVHJlZXZpZXdJdGVtIH0gZnJvbSAnbmd4LXRyZWV2aWV3JztcclxuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vQ29yZS9hZGFwdGVycy9hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYWxsQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL0NvcmUvc2VydmljZXMvY2FsbEFwaS9jYWxsLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudENvbnN0YW50cyB9IGZyb20gJy4uL2NvbnN0YW50cy9kZXBhcnRtZW50JztcclxuaW1wb3J0IHsgQ2FjaGVhYmxlLCBDYWNoZUJ1c3RlciwgTG9jYWxTdG9yYWdlU3RyYXRlZ3kgfSBmcm9tICd0cy1jYWNoZWFibGUnO1xyXG5pbXBvcnQgeyBHbG9iYWxBZG1pblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZ2xvYmFsLWFkbWluLnNlcnZpY2UnO1xyXG5leHBvcnQgY29uc3QgZGVwYXJ0bWVudENhY2hlQnVzdGVyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbmV4cG9ydCBjb25zdCBtaW51dGUgPSA2MDAwMDtcclxuLyoqIEBpZ25vcmUgKi9cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXBhcnRtZW50QXBpU2VydmljZSB7XHJcbiAgYXJhYmljO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBDYWxsQXBpU2VydmljZTogQ2FsbEFwaVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhZGFwdGVyOiBBZGFwdGVyU2VydmljZSwgXHJcbiAgICBwcml2YXRlIGdsb2JhbEFkbWluU2VydmljZSA6IEdsb2JhbEFkbWluU2VydmljZSxcclxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudFxyXG4gICkge1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbi5pc0FyYWJpYy5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLmFyYWJpYyA9IHJlcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQENhY2hlYWJsZSh7XHJcbiAgICBjYWNoZUJ1c3Rlck9ic2VydmVyOiBkZXBhcnRtZW50Q2FjaGVCdXN0ZXIkLFxyXG4gICAgc3RvcmFnZVN0cmF0ZWd5OiBMb2NhbFN0b3JhZ2VTdHJhdGVneSxcclxuICAgIG1heEFnZTogNjAgKiBtaW51dGUsXHJcbiAgfSlcclxuICBcclxuICBnZXREZXBhcnRtZW50VHJlZShjdXN0b21QYWdlUHJvdmlkZXI/LGN1c3RvbVBhcmFtcz8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IG9iaiA9IGN1c3RvbVBhcmFtcyA/IGN1c3RvbVBhcmFtcyA6IHt9O1xyXG4gICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgcGFnZVByb3ZpZGVyOiBjdXN0b21QYWdlUHJvdmlkZXIgPyBjdXN0b21QYWdlUHJvdmlkZXIgOiAnUFBfRGVwYXJ0bWVudCcsXHJcbiAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgIG9mZnNldDogMCxcclxuICAgICAgcGFnZVNpemU6IDQwLFxyXG4gICAgICBxdWlja0ZpbHRlcnM6ICdQYXJlbnQgRGVwdCcsXHJcbiAgICAgIC4uLm9ialxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbil7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9ICcvJyArIHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudCArICcvJ1xyXG4gICAgfWVsc2UgaWYoIXRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4gJiYgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkKXtcclxuICAgICAgcGFyYW1zWydxdWVyeVBhcmFtcyddID0gJy8nICsgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkICsgJy8nXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5DYWxsQXBpU2VydmljZS5xdWVyeShcclxuICAgICAge1xyXG4gICAgICAgIC4uLnBhcmFtc1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgJ1gtTlhwcm9wZXJ0aWVzJzogJyonLFxyXG4gICAgICAgICAgJ2VucmljaGVycy1kb2N1bWVudCc6ICdjaGlsZHJlbicsXHJcbiAgICAgICAgICBkZXB0aDogJ21heCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEBDYWNoZWFibGUoe1xyXG4gICAgbWF4Q2FjaGVDb3VudDogMjAwLFxyXG4gICAgc3RvcmFnZVN0cmF0ZWd5OiBMb2NhbFN0b3JhZ2VTdHJhdGVneSxcclxuICAgIGNhY2hlQnVzdGVyT2JzZXJ2ZXI6IGRlcGFydG1lbnRDYWNoZUJ1c3RlciQsXHJcbiAgICBtYXhBZ2U6IDEyMCAqIG1pbnV0ZSxcclxuICB9KVxyXG4gIGdldERlcGFydG1lbnREZXRhaWxzKGNvZGUgLCBjdXN0b21QYWdlUHJvdmlkZXI/KXtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIHBhZ2VQcm92aWRlcjogY3VzdG9tUGFnZVByb3ZpZGVyID8gY3VzdG9tUGFnZVByb3ZpZGVyOiAnUFBfRGVwYXJ0bWVudF9XaXRoX0VsYXN0aWNTZWFyY2gnLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgIHBhZ2VTaXplOiA0MCxcclxuICAgICAgZHVibGluY29yZV90aXRsZTogY29kZSxcclxuICAgIH1cclxuICAgIGlmKHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4pe1xyXG4gICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSAnLycgKyB0aGlzLmdsb2JhbEFkbWluU2VydmljZS5hY3RpdmVUZW5hbnQgKyAnLydcclxuICAgIH1lbHNlIGlmKCF0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluICYmIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZCl7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9ICcvJyArIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZCArICcvJ1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuQ2FsbEFwaVNlcnZpY2UucXVlcnkoXHJcbiAgICAgIHtcclxuICAgICAgICAuLi5wYXJhbXNcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICdYLU5YcHJvcGVydGllcyc6ICcqJyxcclxuICAgICAgICAgICdlbnJpY2hlcnMtZG9jdW1lbnQnOiAnY2hpbGRyZW4nLFxyXG4gICAgICAgICAgZGVwdGg6ICdtYXgnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAQ2FjaGVhYmxlKHtcclxuICAgIG1heENhY2hlQ291bnQ6IDIwMCxcclxuICAgIGNhY2hlQnVzdGVyT2JzZXJ2ZXI6IGRlcGFydG1lbnRDYWNoZUJ1c3RlciQsXHJcbiAgICBzdG9yYWdlU3RyYXRlZ3k6IExvY2FsU3RvcmFnZVN0cmF0ZWd5LFxyXG4gICAgbWF4QWdlOiA2MCAqIG1pbnV0ZSxcclxuICB9KVxyXG4gIGdldERlcGFydG1lbnROZXN0ZWRUcmVlKGNvZGUgLCBjdXN0b21QYWdlUHJvdmlkZXI/ICwgY3VzdG9tUGFyZW50Q29kZVByb3BlcnR5Pyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgcGFyYW1zID0ge307XHJcbiAgICAgY3VzdG9tUGFyZW50Q29kZVByb3BlcnR5ID8gKHBhcmFtc1tjdXN0b21QYXJlbnRDb2RlUHJvcGVydHldID0gY29kZSkgIDogKHBhcmFtcyA9IHsnZGVwYXJ0bWVudF9wYXJlbnREZXBhcnRtZW50Q29kZSc6IGNvZGV9KVxyXG4gICAgIGlmKHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4pe1xyXG4gICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSAnLycgKyB0aGlzLmdsb2JhbEFkbWluU2VydmljZS5hY3RpdmVUZW5hbnQgKyAnLydcclxuICAgIH1lbHNlIGlmKCF0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluICYmIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZCl7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9ICcvJyArIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZCArICcvJ1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuQ2FsbEFwaVNlcnZpY2UucXVlcnkoXHJcbiAgICAgIHtcclxuICAgICAgICBwYWdlUHJvdmlkZXI6IGN1c3RvbVBhZ2VQcm92aWRlciA/IGN1c3RvbVBhZ2VQcm92aWRlciA6ICdQUF9EZXBhcnRtZW50JyxcclxuICAgICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICBwYWdlU2l6ZTogNDAsXHJcbiAgICAgICAgLi4ucGFyYW1zXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAnWC1OWHByb3BlcnRpZXMnOiAnKicsXHJcbiAgICAgICAgICAnZW5yaWNoZXJzLWRvY3VtZW50JzogJ2NoaWxkcmVuJyxcclxuICAgICAgICAgIGRlcHRoOiAnbWF4JyxcclxuICAgICAgICB9LFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVwYXJ0bWVudCh1aWQgLCBmaWVsZHM/KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAucmVwb3NpdG9yeSgpXHJcbiAgICAgICAgLmhlYWRlcnMoe1xyXG4gICAgICAgICAgJ1gtTlhwcm9wZXJ0aWVzJzogJyonLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZldGNoKHVpZClcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hZGFwdGVyLmFkYXB0SW4oZGF0YSwgZmllbGRzID8gZmllbGRzIDogRGVwYXJ0bWVudENvbnN0YW50cy5maWVsZHMpO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIHRlc3RpbmdcclxuICBAQ2FjaGVCdXN0ZXIoe1xyXG4gICAgY2FjaGVCdXN0ZXJOb3RpZmllcjogZGVwYXJ0bWVudENhY2hlQnVzdGVyJCxcclxuICB9KVxyXG4gIGNyZWF0ZURlcGFydG1lbnQoRGVwYXJ0bWVudCwgcGFyZW50SWQgLCBjdXN0b21PcGVyYXRpb24/ICwgZmllbGRzPykge1xyXG4gICAgbGV0IGNvbnRleHQgPXsgZGVwYXJ0bWVudDogdGhpcy5hZGFwdGVyLmFkYXB0T3V0KFxyXG4gICAgICBEZXBhcnRtZW50LFxyXG4gICAgICBmaWVsZHMgPyBmaWVsZHMgOiBEZXBhcnRtZW50Q29uc3RhbnRzLmZpZWxkc1xyXG4gICAgKX07XHJcbiAgICBpZih0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluKXtcclxuICAgICAgY29udGV4dFsndGVuYW50SWQnXSA9IHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oIGN1c3RvbU9wZXJhdGlvbiA/IGN1c3RvbU9wZXJhdGlvbjogJ0FDX1VBX0RlcGF0cm1lbnRfQ3JlYXRlJyAsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KHBhcmVudElkKVxyXG4gICAgICAgIC5jb250ZXh0KHtcclxuICAgICAgICAgIC4uLmNvbnRleHRcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQENhY2hlQnVzdGVyKHtcclxuICAgIGNhY2hlQnVzdGVyTm90aWZpZXI6IGRlcGFydG1lbnRDYWNoZUJ1c3RlciQsXHJcbiAgfSlcclxuICBjcmVhdGVEZXBhcnRtZW50SW5Sb290KERlcGFydG1lbnQgLCBjdXN0b21PcGVyYXRpb24/KSB7XHJcbiAgICBsZXQgY29udGV4dCA9IHtcclxuICAgICAgZGVwYXJ0bWVudDogdGhpcy5hZGFwdGVyLmFkYXB0T3V0KFxyXG4gICAgICAgIERlcGFydG1lbnQsXHJcbiAgICAgICAgRGVwYXJ0bWVudENvbnN0YW50cy5maWVsZHNcclxuICAgICAgKVxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbil7XHJcbiAgICAgIGNvbnRleHRbJ3RlbmFudElkJ10gPSB0aGlzLmdsb2JhbEFkbWluU2VydmljZS5hY3RpdmVUZW5hbnRcclxuICAgIH1cclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oY3VzdG9tT3BlcmF0aW9uID8gY3VzdG9tT3BlcmF0aW9uIDogJ0FDX1VBX0RlcGF0cm1lbnRfQ3JlYXRlX0luUm9vdCcsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNvbnRleHQoe1xyXG4gICAgICAgICAgLi4uY29udGV4dFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAQ2FjaGVCdXN0ZXIoe1xyXG4gICAgY2FjaGVCdXN0ZXJOb3RpZmllcjogZGVwYXJ0bWVudENhY2hlQnVzdGVyJCxcclxuICB9KVxyXG4gIHVwZGF0ZURlcGFydG1lbnQoRGVwYXJ0bWVudCwgZGVwYXJ0bWVudElkICwgY3VzdG9tT3BlcmF0aW9uPyAsIGZpZWxkcz8pIHtcclxuICAgIGxldCBjb250ZXh0ID0ge1xyXG4gICAgICBkZXBhcnRtZW50OiB0aGlzLmFkYXB0ZXIuYWRhcHRPdXQoXHJcbiAgICAgICAgRGVwYXJ0bWVudCxcclxuICAgICAgICBmaWVsZHMgPyBmaWVsZHMgOiBEZXBhcnRtZW50Q29uc3RhbnRzLmZpZWxkc1xyXG4gICAgICApXHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluKXtcclxuICAgICAgY29udGV4dFsndGVuYW50SWQnXSA9IHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbiggY3VzdG9tT3BlcmF0aW9uID8gY3VzdG9tT3BlcmF0aW9uIDogJ0FDX1VBX0RlcGFydG1lbnRfVXBkYXRlJyAsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KGRlcGFydG1lbnRJZClcclxuICAgICAgICAuY29udGV4dCh7XHJcbiAgICAgICAgICAuLi5jb250ZXh0XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlY3Vyc2l2ZUZpbGwoXHJcbiAgICBlbnRyaWVzLFxyXG4gICAgbGV2ZWwgPSAwLFxyXG4gICAgdHJlZXZpZXcgPSB0cnVlLFxyXG4gICAgY29sbGFwc2VkID0gdHJ1ZSxcclxuICAgIGN1c3RvbVByZWZpeD9cclxuICApOiBUcmVldmlld0l0ZW1bXSB7XHJcbiAgICByZXR1cm4gZW50cmllcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IHRyZWVWaWV3T2JqID0gdHJlZXZpZXdcclxuICAgICAgICA/IHtcclxuICAgICAgICAgICAgdGV4dDogdGhpcy5hcmFiaWNcclxuICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1xyXG4gICAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNbY3VzdG9tUHJlZml4ID8gKGN1c3RvbVByZWZpeCArICc6YXJhYmljTmFtZScpIDogJ2RlcHQ6YXJhYmljTmFtZSddXHJcbiAgICAgICAgICAgICAgICA6ICctLSdcclxuICAgICAgICAgICAgICA6IGl0ZW0ucHJvcGVydGllc1xyXG4gICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzW2N1c3RvbVByZWZpeCA/IChjdXN0b21QcmVmaXggKyAnOmVuZ2xpc2hOYW1lJykgOiAnZGVwdDplbmdsaXNoTmFtZSddXHJcbiAgICAgICAgICAgICAgOiAnLS0nLFxyXG4gICAgICAgICAgICB2YWx1ZTogeyAuLi5pdGVtLCBsZXZlbCB9LFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDoge1xyXG4gICAgICAgICAgICB0ZXh0OiB0aGlzLmFyYWJpY1xyXG4gICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1tjdXN0b21QcmVmaXggPyAoY3VzdG9tUHJlZml4ICsgJzphcmFiaWNOYW1lJykgOiAnZGVwdDphcmFiaWNOYW1lJ11cclxuICAgICAgICAgICAgICAgIDogJy0tJ1xyXG4gICAgICAgICAgICAgIDogaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNbY3VzdG9tUHJlZml4ID8gKGN1c3RvbVByZWZpeCArICc6ZW5nbGlzaE5hbWUnKSA6ICdkZXB0OmVuZ2xpc2hOYW1lJ11cclxuICAgICAgICAgICAgICA6ICctLScsXHJcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLnRpdGxlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgY29uc3QgdHJlZUl0ZW0gPSBuZXcgVHJlZXZpZXdJdGVtKHtcclxuICAgICAgICAuLi50cmVlVmlld09iaixcclxuICAgICAgICBjb2xsYXBzZWQ6IGxldmVsID49IDIgJiYgY29sbGFwc2VkID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGl0ZW0uY29udGV4dFBhcmFtZXRlcnMgJiZcclxuICAgICAgICBpdGVtLmNvbnRleHRQYXJhbWV0ZXJzLmNoaWxkcmVuLmVudHJpZXMubGVuZ3RoXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRyZWVJdGVtLmNoaWxkcmVuID0gdGhpcy5yZWN1cnNpdmVGaWxsKFxyXG4gICAgICAgICAgaXRlbS5jb250ZXh0UGFyYW1ldGVycy5jaGlsZHJlbi5lbnRyaWVzLFxyXG4gICAgICAgICAgbGV2ZWwgKyAxLFxyXG4gICAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgICAgY3VzdG9tUHJlZml4XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdHJlZUl0ZW07XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLWRlcGFydG1lbnQvc2VydmljZXMvZGVwYXJ0bWVudC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUtqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7OztBQUU1RSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0FBQzFELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUM7QUFDNUIsY0FBYztBQUtkLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFDVSxjQUE4QixFQUM5QixXQUErQixFQUMvQixZQUEwQixFQUMxQixPQUF1QixFQUN2QixrQkFBdUMsRUFDaEIsV0FBVztRQUxsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLHVC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b0IsTUFpQ3BCLHVCQUF1QixNQWdEdkIsZ0JBQWdCLE1BOEJoQixzQkFBc0IsTUE4QnRCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgVHJlZXZpZXdJdGVtIH0gZnJvbSAnbmd4LXRyZWV2aWV3JztcclxuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vQ29yZS9hZGFwdGVycy9hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYWxsQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL0NvcmUvc2VydmljZXMvY2FsbEFwaS9jYWxsLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudENvbnN0YW50cyB9IGZyb20gJy4uL2NvbnN0YW50cy9kZXBhcnRtZW50JztcclxuaW1wb3J0IHsgQ2FjaGVhYmxlLCBDYWNoZUJ1c3RlciwgTG9jYWxTdG9yYWdlU3RyYXRlZ3kgfSBmcm9tICd0cy1jYWNoZWFibGUnO1xyXG5pbXBvcnQgeyBHbG9iYWxBZG1pblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZ2xvYmFsLWFkbWluLnNlcnZpY2UnO1xyXG5leHBvcnQgY29uc3QgZGVwYXJ0bWVudENhY2hlQnVzdGVyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbmV4cG9ydCBjb25zdCBtaW51dGUgPSA2MDAwMDtcclxuLyoqIEBpZ25vcmUgKi9cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXBhcnRtZW50QXBpU2VydmljZSB7XHJcbiAgYXJhYmljO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBDYWxsQXBpU2VydmljZTogQ2FsbEFwaVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhZGFwdGVyOiBBZGFwdGVyU2VydmljZSwgXHJcbiAgICBwcml2YXRlIGdsb2JhbEFkbWluU2VydmljZSA6IEdsb2JhbEFkbWluU2VydmljZSxcclxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudFxyXG4gICkge1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbi5pc0FyYWJpYy5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLmFyYWJpYyA9IHJlcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQENhY2hlYWJsZSh7XHJcbiAgICBjYWNoZUJ1c3Rlck9ic2VydmVyOiBkZXBhcnRtZW50Q2FjaGVCdXN0ZXIkLFxyXG4gICAgc3RvcmFnZVN0cmF0ZWd5OiBMb2NhbFN0b3JhZ2VTdHJhdGVneSxcclxuICAgIG1heEFnZTogNjAgKiBtaW51dGUsXHJcbiAgfSlcclxuICBcclxuICBnZXREZXBhcnRtZW50VHJlZShjdXN0b21QYWdlUHJvdmlkZXI/LGN1c3RvbVBhcmFtcz8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IG9iaiA9IGN1c3RvbVBhcmFtcyA/IGN1c3RvbVBhcmFtcyA6IHt9O1xyXG4gICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgcGFnZVByb3ZpZGVyOiBjdXN0b21QYWdlUHJvdmlkZXIgPyBjdXN0b21QYWdlUHJvdmlkZXIgOiAnUFBfRGVwYXJ0bWVudCcsXHJcbiAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgIG9mZnNldDogMCxcclxuICAgICAgcGFnZVNpemU6IDQwLFxyXG4gICAgICBxdWlja0ZpbHRlcnM6ICdQYXJlbnQgRGVwdCcsXHJcbiAgICAgIC4uLm9ialxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbil7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudFxyXG4gICAgfWVsc2UgaWYoIXRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4gJiYgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkKXtcclxuICAgICAgcGFyYW1zWydxdWVyeVBhcmFtcyddID0gdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5DYWxsQXBpU2VydmljZS5xdWVyeShcclxuICAgICAge1xyXG4gICAgICAgIC4uLnBhcmFtc1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgJ1gtTlhwcm9wZXJ0aWVzJzogJyonLFxyXG4gICAgICAgICAgJ2VucmljaGVycy1kb2N1bWVudCc6ICdjaGlsZHJlbicsXHJcbiAgICAgICAgICBkZXB0aDogJ21heCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEBDYWNoZWFibGUoe1xyXG4gICAgbWF4Q2FjaGVDb3VudDogMjAwLFxyXG4gICAgc3RvcmFnZVN0cmF0ZWd5OiBMb2NhbFN0b3JhZ2VTdHJhdGVneSxcclxuICAgIGNhY2hlQnVzdGVyT2JzZXJ2ZXI6IGRlcGFydG1lbnRDYWNoZUJ1c3RlciQsXHJcbiAgICBtYXhBZ2U6IDEyMCAqIG1pbnV0ZSxcclxuICB9KVxyXG4gIGdldERlcGFydG1lbnREZXRhaWxzKGNvZGUgLCBjdXN0b21QYWdlUHJvdmlkZXI/KXtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIHBhZ2VQcm92aWRlcjogY3VzdG9tUGFnZVByb3ZpZGVyID8gY3VzdG9tUGFnZVByb3ZpZGVyOiAnUFBfRGVwYXJ0bWVudF9XaXRoX0VsYXN0aWNTZWFyY2gnLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgIHBhZ2VTaXplOiA0MCxcclxuICAgICAgZHVibGluY29yZV90aXRsZTogY29kZSxcclxuICAgIH1cclxuICAgIGlmKHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4pe1xyXG4gICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSB0aGlzLmdsb2JhbEFkbWluU2VydmljZS5hY3RpdmVUZW5hbnRcclxuICAgIH1lbHNlIGlmKCF0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluICYmIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZCl7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuQ2FsbEFwaVNlcnZpY2UucXVlcnkoXHJcbiAgICAgIHtcclxuICAgICAgICAuLi5wYXJhbXNcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICdYLU5YcHJvcGVydGllcyc6ICcqJyxcclxuICAgICAgICAgICdlbnJpY2hlcnMtZG9jdW1lbnQnOiAnY2hpbGRyZW4nLFxyXG4gICAgICAgICAgZGVwdGg6ICdtYXgnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAQ2FjaGVhYmxlKHtcclxuICAgIG1heENhY2hlQ291bnQ6IDIwMCxcclxuICAgIGNhY2hlQnVzdGVyT2JzZXJ2ZXI6IGRlcGFydG1lbnRDYWNoZUJ1c3RlciQsXHJcbiAgICBzdG9yYWdlU3RyYXRlZ3k6IExvY2FsU3RvcmFnZVN0cmF0ZWd5LFxyXG4gICAgbWF4QWdlOiA2MCAqIG1pbnV0ZSxcclxuICB9KVxyXG4gIGdldERlcGFydG1lbnROZXN0ZWRUcmVlKGNvZGUgLCBjdXN0b21QYWdlUHJvdmlkZXI/ICwgY3VzdG9tUGFyZW50Q29kZVByb3BlcnR5Pyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgcGFyYW1zID0ge307XHJcbiAgICAgY3VzdG9tUGFyZW50Q29kZVByb3BlcnR5ID8gKHBhcmFtc1tjdXN0b21QYXJlbnRDb2RlUHJvcGVydHldID0gY29kZSkgIDogKHBhcmFtcyA9IHsnZGVwYXJ0bWVudF9wYXJlbnREZXBhcnRtZW50Q29kZSc6IGNvZGV9KVxyXG4gICAgIGlmKHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4pe1xyXG4gICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSB0aGlzLmdsb2JhbEFkbWluU2VydmljZS5hY3RpdmVUZW5hbnRcclxuICAgIH1lbHNlIGlmKCF0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluICYmIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZCl7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuQ2FsbEFwaVNlcnZpY2UucXVlcnkoXHJcbiAgICAgIHtcclxuICAgICAgICBwYWdlUHJvdmlkZXI6IGN1c3RvbVBhZ2VQcm92aWRlciA/IGN1c3RvbVBhZ2VQcm92aWRlciA6ICdQUF9EZXBhcnRtZW50JyxcclxuICAgICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICBwYWdlU2l6ZTogNDAsXHJcbiAgICAgICAgLi4ucGFyYW1zXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAnWC1OWHByb3BlcnRpZXMnOiAnKicsXHJcbiAgICAgICAgICAnZW5yaWNoZXJzLWRvY3VtZW50JzogJ2NoaWxkcmVuJyxcclxuICAgICAgICAgIGRlcHRoOiAnbWF4JyxcclxuICAgICAgICB9LFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVwYXJ0bWVudCh1aWQgLCBmaWVsZHM/KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAucmVwb3NpdG9yeSgpXHJcbiAgICAgICAgLmhlYWRlcnMoe1xyXG4gICAgICAgICAgJ1gtTlhwcm9wZXJ0aWVzJzogJyonLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZldGNoKHVpZClcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hZGFwdGVyLmFkYXB0SW4oZGF0YSwgZmllbGRzID8gZmllbGRzIDogRGVwYXJ0bWVudENvbnN0YW50cy5maWVsZHMpO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIHRlc3RpbmdcclxuICBAQ2FjaGVCdXN0ZXIoe1xyXG4gICAgY2FjaGVCdXN0ZXJOb3RpZmllcjogZGVwYXJ0bWVudENhY2hlQnVzdGVyJCxcclxuICB9KVxyXG4gIGNyZWF0ZURlcGFydG1lbnQoRGVwYXJ0bWVudCwgcGFyZW50SWQgLCBjdXN0b21PcGVyYXRpb24/ICwgZmllbGRzPykge1xyXG4gICAgbGV0IGNvbnRleHQgPXsgZGVwYXJ0bWVudDogdGhpcy5hZGFwdGVyLmFkYXB0T3V0KFxyXG4gICAgICBEZXBhcnRtZW50LFxyXG4gICAgICBmaWVsZHMgPyBmaWVsZHMgOiBEZXBhcnRtZW50Q29uc3RhbnRzLmZpZWxkc1xyXG4gICAgKX07XHJcbiAgICBpZih0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluKXtcclxuICAgICAgY29udGV4dFsndGVuYW50SWQnXSA9IHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oIGN1c3RvbU9wZXJhdGlvbiA/IGN1c3RvbU9wZXJhdGlvbjogJ0FDX1VBX0RlcGF0cm1lbnRfQ3JlYXRlJyAsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KHBhcmVudElkKVxyXG4gICAgICAgIC5jb250ZXh0KHtcclxuICAgICAgICAgIC4uLmNvbnRleHRcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQENhY2hlQnVzdGVyKHtcclxuICAgIGNhY2hlQnVzdGVyTm90aWZpZXI6IGRlcGFydG1lbnRDYWNoZUJ1c3RlciQsXHJcbiAgfSlcclxuICBjcmVhdGVEZXBhcnRtZW50SW5Sb290KERlcGFydG1lbnQgLCBjdXN0b21PcGVyYXRpb24/KSB7XHJcbiAgICBsZXQgY29udGV4dCA9IHtcclxuICAgICAgZGVwYXJ0bWVudDogdGhpcy5hZGFwdGVyLmFkYXB0T3V0KFxyXG4gICAgICAgIERlcGFydG1lbnQsXHJcbiAgICAgICAgRGVwYXJ0bWVudENvbnN0YW50cy5maWVsZHNcclxuICAgICAgKVxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbil7XHJcbiAgICAgIGNvbnRleHRbJ3RlbmFudElkJ10gPSB0aGlzLmdsb2JhbEFkbWluU2VydmljZS5hY3RpdmVUZW5hbnRcclxuICAgIH1cclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oY3VzdG9tT3BlcmF0aW9uID8gY3VzdG9tT3BlcmF0aW9uIDogJ0FDX1VBX0RlcGF0cm1lbnRfQ3JlYXRlX0luUm9vdCcsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNvbnRleHQoe1xyXG4gICAgICAgICAgLi4uY29udGV4dFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAQ2FjaGVCdXN0ZXIoe1xyXG4gICAgY2FjaGVCdXN0ZXJOb3RpZmllcjogZGVwYXJ0bWVudENhY2hlQnVzdGVyJCxcclxuICB9KVxyXG4gIHVwZGF0ZURlcGFydG1lbnQoRGVwYXJ0bWVudCwgZGVwYXJ0bWVudElkICwgY3VzdG9tT3BlcmF0aW9uPyAsIGZpZWxkcz8pIHtcclxuICAgIGxldCBjb250ZXh0ID0ge1xyXG4gICAgICBkZXBhcnRtZW50OiB0aGlzLmFkYXB0ZXIuYWRhcHRPdXQoXHJcbiAgICAgICAgRGVwYXJ0bWVudCxcclxuICAgICAgICBmaWVsZHMgPyBmaWVsZHMgOiBEZXBhcnRtZW50Q29uc3RhbnRzLmZpZWxkc1xyXG4gICAgICApXHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluKXtcclxuICAgICAgY29udGV4dFsndGVuYW50SWQnXSA9IHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbiggY3VzdG9tT3BlcmF0aW9uID8gY3VzdG9tT3BlcmF0aW9uIDogJ0FDX1VBX0RlcGFydG1lbnRfVXBkYXRlJyAsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KGRlcGFydG1lbnRJZClcclxuICAgICAgICAuY29udGV4dCh7XHJcbiAgICAgICAgICAuLi5jb250ZXh0XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlY3Vyc2l2ZUZpbGwoXHJcbiAgICBlbnRyaWVzLFxyXG4gICAgbGV2ZWwgPSAwLFxyXG4gICAgdHJlZXZpZXcgPSB0cnVlLFxyXG4gICAgY29sbGFwc2VkID0gdHJ1ZSxcclxuICAgIGN1c3RvbVByZWZpeD9cclxuICApOiBUcmVldmlld0l0ZW1bXSB7XHJcbiAgICByZXR1cm4gZW50cmllcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IHRyZWVWaWV3T2JqID0gdHJlZXZpZXdcclxuICAgICAgICA/IHtcclxuICAgICAgICAgICAgdGV4dDogdGhpcy5hcmFiaWNcclxuICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1xyXG4gICAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNbY3VzdG9tUHJlZml4ID8gKGN1c3RvbVByZWZpeCArICc6YXJhYmljTmFtZScpIDogJ2RlcHQ6YXJhYmljTmFtZSddXHJcbiAgICAgICAgICAgICAgICA6ICctLSdcclxuICAgICAgICAgICAgICA6IGl0ZW0ucHJvcGVydGllc1xyXG4gICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzW2N1c3RvbVByZWZpeCA/IChjdXN0b21QcmVmaXggKyAnOmVuZ2xpc2hOYW1lJykgOiAnZGVwdDplbmdsaXNoTmFtZSddXHJcbiAgICAgICAgICAgICAgOiAnLS0nLFxyXG4gICAgICAgICAgICB2YWx1ZTogeyAuLi5pdGVtLCBsZXZlbCB9LFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDoge1xyXG4gICAgICAgICAgICB0ZXh0OiB0aGlzLmFyYWJpY1xyXG4gICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1tjdXN0b21QcmVmaXggPyAoY3VzdG9tUHJlZml4ICsgJzphcmFiaWNOYW1lJykgOiAnZGVwdDphcmFiaWNOYW1lJ11cclxuICAgICAgICAgICAgICAgIDogJy0tJ1xyXG4gICAgICAgICAgICAgIDogaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNbY3VzdG9tUHJlZml4ID8gKGN1c3RvbVByZWZpeCArICc6ZW5nbGlzaE5hbWUnKSA6ICdkZXB0OmVuZ2xpc2hOYW1lJ11cclxuICAgICAgICAgICAgICA6ICctLScsXHJcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLnRpdGxlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgY29uc3QgdHJlZUl0ZW0gPSBuZXcgVHJlZXZpZXdJdGVtKHtcclxuICAgICAgICAuLi50cmVlVmlld09iaixcclxuICAgICAgICBjb2xsYXBzZWQ6IGxldmVsID49IDIgJiYgY29sbGFwc2VkID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGl0ZW0uY29udGV4dFBhcmFtZXRlcnMgJiZcclxuICAgICAgICBpdGVtLmNvbnRleHRQYXJhbWV0ZXJzLmNoaWxkcmVuLmVudHJpZXMubGVuZ3RoXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRyZWVJdGVtLmNoaWxkcmVuID0gdGhpcy5yZWN1cnNpdmVGaWxsKFxyXG4gICAgICAgICAgaXRlbS5jb250ZXh0UGFyYW1ldGVycy5jaGlsZHJlbi5lbnRyaWVzLFxyXG4gICAgICAgICAgbGV2ZWwgKyAxLFxyXG4gICAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgICAgY3VzdG9tUHJlZml4XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdHJlZUl0ZW07XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|