@ieeesa-npm/presentation 0.19.4 → 0.19.5

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.
@@ -566,7 +566,10 @@
566
566
  "2026": "Invalid file format. Please upload SVG, PNG and JPG file format only.",
567
567
  "2059": "Application Details not found.",
568
568
  "2060": "Invalid file format.",
569
- "2061": "Unable to establish connection. Please try again later."
569
+ "2061": "Unable to establish connection. Please try again later.",
570
+ "2062": "File not found.",
571
+ "2063": "File Name is required.",
572
+ "2064": "Application Id or Domain is required."
570
573
  }
571
574
  }
572
575
  },
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtcHJlc2lnbmVkLXVybC1yZXMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9tb2RlbHMvZmlsZS11cGxvYWQtcHJlc2lnbmVkLXVybC1yZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsZVVwbG9hZFByZXNpZ25lZFVybCB7XHJcbiAgc3RhdHVzOiBib29sZWFuO1xyXG4gIGJvZHk6IHN0cmluZztcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2V0RmlsZURvd25sb2FkUHJlc2lnbmVkVXJsUGF5bG9hZCB7XHJcbiAgcGF5bG9hZDoge1xyXG4gICAgZmlsZU5hbWU6IHN0cmluZztcclxuICAgIGRvbWFpbjogc3RyaW5nO1xyXG4gIH07XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtcHJlc2lnbmVkLXVybC1yZXMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9tb2RlbHMvZmlsZS11cGxvYWQtcHJlc2lnbmVkLXVybC1yZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsZVVwbG9hZFByZXNpZ25lZFVybCB7XHJcbiAgc3RhdHVzOiBib29sZWFuO1xyXG4gIGJvZHk6IHN0cmluZztcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2V0RmlsZURvd25sb2FkUHJlc2lnbmVkVXJsUGF5bG9hZCB7XHJcbiAgcGF5bG9hZDoge1xyXG4gICAgZmlsZU5hbWU6IHN0cmluZztcclxuICAgIGRvbWFpbjogc3RyaW5nO1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2V0RmlsZVVwbG9hZFByZXNpZ25lZFVybFBheWxvYWQge1xyXG4gIHBheWxvYWQ6IHtcclxuICAgIGZpbGVOYW1lOiBzdHJpbmc7XHJcbiAgICB0ZW5hbnRBcHBJZDogc3RyaW5nO1xyXG4gIH07XHJcbn1cclxuIl19
@@ -40,14 +40,20 @@ export class FileUploadService {
40
40
  * @return {Observable<FileUploadPresignedUrl>}
41
41
  * @memberof FileUploadService
42
42
  */
43
- getFileUploadPresignedUrl(file) {
43
+ getFileUploadPresignedUrl(file, appId) {
44
44
  let fileName = '';
45
45
  if (Object.values(file).length)
46
46
  fileName = Object.values(file)[0].name;
47
47
  else
48
48
  fileName = file.name;
49
+ const fileUploadPresignedUrlPayload = {
50
+ payload: {
51
+ fileName: fileName,
52
+ tenantAppId: appId,
53
+ },
54
+ };
49
55
  return this.httpService
50
- .getData(`${this.apiBaseUrl}/configurations/s3/uploadFileUrl/${fileName}`)
56
+ .postData(`${this.apiBaseUrl}/configurations/s3/uploadFileUrl`, fileUploadPresignedUrlPayload)
51
57
  .pipe(map((response) => {
52
58
  return response;
53
59
  }), catchError((errorRes) => {
@@ -295,4 +301,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
295
301
  providedIn: 'root',
296
302
  }]
297
303
  }], ctorParameters: function () { return [{ type: i1.HttpService }, { type: i2.HttpBackend }, { type: i1.AlertsService }, { type: i1.LoaderNotificationService }]; } });
298
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL3NlcnZpY2VzL2ZpbGUtdXBsb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFVBQVUsRUFFVixhQUFhLEVBQ2IsV0FBVyxHQUNaLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBRUwsU0FBUyxHQUdWLE1BQU0scUJBQXFCLENBQUM7QUFLN0IsT0FBTyxFQUNMLFVBQVUsRUFDVixJQUFJLEVBQ0osR0FBRyxFQUVILE9BQU8sRUFDUCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxLQUFLLFNBQVMsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUV0RDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBTzVCO0lBQ0UsMENBQTBDO0lBQ25DLFdBQXdCLEVBQy9CLE9BQW9CO0lBQ3BCLDBDQUEwQztJQUNuQyxZQUEyQjtJQUNsQywwQ0FBMEM7SUFDbkMseUJBQW9EO1FBTHBELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBR3hCLGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBRTNCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFiN0QsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3BELGNBQVMsR0FBRyxTQUFTLENBQUM7UUFJdEIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFVdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWEsQ0FBQyxVQUFrQjtRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixD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LEtBQUssQ0FBQztpQkFDdkI7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sYUFBYSxDQUFDO1NBQ3RCO1FBQ0QsT0FBTyxrQkFBa0IsQ0FBQyxLQUFhLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssZ0JBQWdCLENBQUMsUUFBZ0I7UUFDdkMsb0VBQW9FO1FBQ3BFLE9BQU8sUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUIsQ0FBQzsrR0E5VFUsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgSHR0cEJhY2tlbmQsXHJcbiAgSHR0cENsaWVudCxcclxuICBIdHRwRXZlbnQsXHJcbiAgSHR0cEV2ZW50VHlwZSxcclxuICBIdHRwSGVhZGVycyxcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFsZXJ0c1NlcnZpY2UsXHJcbiAgQWxlcnRUeXBlLFxyXG4gIEh0dHBTZXJ2aWNlLFxyXG4gIExvYWRlck5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbn0gZnJvbSAnQGllZWVzYS1ucG0vdXRpbGl0eSc7XHJcbmltcG9ydCB7XHJcbiAgRmlsZVVwbG9hZFByZXNpZ25lZFVybCxcclxuICBHZXRGaWxlRG93bmxvYWRQcmVzaWduZWRVcmxQYXlsb2FkLFxyXG59IGZyb20gJy4uL21vZGVscy9maWxlLXVwbG9hZC1wcmVzaWduZWQtdXJsLXJlcy5tb2RlbCc7XHJcbmltcG9ydCB7XHJcbiAgY2F0Y2hFcnJvcixcclxuICBsYXN0LFxyXG4gIG1hcCxcclxuICBPYnNlcnZhYmxlLFxyXG4gIFN1YmplY3QsXHJcbiAgdGFrZVVudGlsLFxyXG4gIHRhcCxcclxufSBmcm9tICdyeGpzJztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcblxyXG4vKipcclxuICogVGhpcyBzZXJ2aWNlIGludGVyYWN0cyB3aXRoIHRoZSBzZXJ2ZXIgdG8gb2J0YWluIHByZS1zaWduZWQgVVJMcyBmb3IgZmlsZSB1cGxvYWQgYW5kIHVwbG9hZHMgZmlsZXMgdG8gQW1hem9uIFMzLlxyXG4gKiBAY2xhc3MgRmlsZVVwbG9hZFNlcnZpY2VcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIGNvbnN0YW50cyA9IGNvbnN0YW50cztcclxuICBhcGlCYXNlVXJsITogc3RyaW5nO1xyXG4gIGZpbGVCeXRlQXJyYXk6IFVpbnQ4QXJyYXkgfCB1bmRlZmluZWQ7XHJcbiAgaHR0cENsaWVudDogSHR0cENsaWVudDtcclxuICBpc0ZpbGVVcGxvYWRpbmcgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSxcclxuICAgIGhhbmRsZXI6IEh0dHBCYWNrZW5kLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgYWxlcnRTZXJ2aWNlOiBBbGVydHNTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgbG9hZGVyTm90aWZpY2F0aW9uU2VydmljZTogTG9hZGVyTm90aWZpY2F0aW9uU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5odHRwQ2xpZW50ID0gbmV3IEh0dHBDbGllbnQoaGFuZGxlcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBiYXNlIFVSTCBmb3IgQVBJIHJlcXVlc3RzLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcGlCYXNlVXJsIC1BUEkgYmFzZSBVUkwuXHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgc2V0QXBpQmFzZVVybChhcGlCYXNlVXJsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuYXBpQmFzZVVybCA9IGFwaUJhc2VVcmw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgcHJlc2lnbmVkIFVSTCBmb3IgdXBsb2FkaW5nIGZpbGVzIHRvIEFtYXpvbiBTMyBidWNrZXQuXHJcbiAgICogQHBhcmFtIHsoRmlsZSB8IEZpbGVMaXN0KX0gZmlsZVxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8RmlsZVVwbG9hZFByZXNpZ25lZFVybD59XHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgZ2V0RmlsZVVwbG9hZFByZXNpZ25lZFVybChcclxuICAgIGZpbGU6IEZpbGUgfCBGaWxlTGlzdFxyXG4gICk6IE9ic2VydmFibGU8RmlsZVVwbG9hZFByZXNpZ25lZFVybD4ge1xyXG4gICAgbGV0IGZpbGVOYW1lID0gJyc7XHJcbiAgICBpZiAoT2JqZWN0LnZhbHVlcyhmaWxlKS5sZW5ndGgpIGZpbGVOYW1lID0gT2JqZWN0LnZhbHVlcyhmaWxlKVswXS5uYW1lO1xyXG4gICAgZWxzZSBmaWxlTmFtZSA9IChmaWxlIGFzIEZpbGUpLm5hbWU7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxyXG4gICAgICAuZ2V0RGF0YShgJHt0aGlzLmFwaUJhc2VVcmx9L2NvbmZpZ3VyYXRpb25zL3MzL3VwbG9hZEZpbGVVcmwvJHtmaWxlTmFtZX1gKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXMpID0+IHtcclxuICAgICAgICAgIHRocm93IGVycm9yUmVzO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFVwbG9hZHMgZmlsZSB0byBBV1MgUzMgdXNpbmcgYSBwcmVzaWduZWQgVVJMLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwcmVzaWduZWRVcmxcclxuICAgKiBAcGFyYW0geyhGaWxlIHwgRmlsZUxpc3QpfSBmaWxlXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxhbnk+fSAtUmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3BvbnNlIGFmdGVyIHVwbG9hZGluZyB0aGUgZmlsZSB0byBTMy5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHVwbG9hZEZpbGVUb1MzKHByZXNpZ25lZFVybDogc3RyaW5nLCBmaWxlOiBGaWxlIHwgRmlsZUxpc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5sb2FkZXJOb3RpZmljYXRpb25TZXJ2aWNlLnNob3coKTtcclxuICAgIGxldCBmaWxlVHlwZSA9ICcnO1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgIGxldCBmaWxlU2l6ZTogYW55O1xyXG4gICAgbGV0IGZpbGVPYmo6IEZpbGU7XHJcbiAgICBpZiAoT2JqZWN0LnZhbHVlcyhmaWxlKS5sZW5ndGgpIHtcclxuICAgICAgZmlsZVR5cGUgPSBPYmplY3QudmFsdWVzKGZpbGUpWzBdLnR5cGU7XHJcbiAgICAgIGZpbGVTaXplID0gT2JqZWN0LnZhbHVlcyhmaWxlKVswXS5zaXplO1xyXG4gICAgICBmaWxlT2JqID0gT2JqZWN0LnZhbHVlcyhmaWxlKVswXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZpbGVUeXBlID0gKGZpbGUgYXMgRmlsZSkudHlwZTtcclxuICAgICAgZmlsZVNpemUgPSAoZmlsZSBhcyBGaWxlKS5zaXplO1xyXG4gICAgICBmaWxlT2JqID0gZmlsZSBhcyBGaWxlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgaGVhZGVycy5hcHBlbmQoJ0NvbnRlbnQtVHlwZScsIGZpbGVUeXBlKTtcclxuICAgIGhlYWRlcnMuYXBwZW5kKCdDb250ZW50LUxlbmd0aCcsIGZpbGVTaXplKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcclxuICAgICAgLnB1dChwcmVzaWduZWRVcmwsIGZpbGVPYmosIHtcclxuICAgICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcclxuICAgICAgICBvYnNlcnZlOiAnZXZlbnRzJyxcclxuICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxyXG4gICAgICB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXHJcbiAgICAgICAgbWFwKChldmVudCkgPT4gdGhpcy5nZXRFdmVudE1lc3NhZ2UoZXZlbnQsIGZpbGUpKSxcclxuICAgICAgICB0YXAoKG1lc3NhZ2UpID0+IHRoaXMuc2hvd1Byb2dyZXNzKG1lc3NhZ2UpKSxcclxuICAgICAgICBsYXN0KCksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXMpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGVyTm90aWZpY2F0aW9uU2VydmljZS5oaWRlKCk7XHJcbiAgICAgICAgICB0aHJvdyBlcnJvclJlcztcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyBmaWxlIHVwbG9hZCBwcm9ncmVzcy5cclxuICAgKiBAcGFyYW0geyp9IG1lc3NhZ2VcclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBuby11bnVzZWQtdmFycywgbm8tZW1wdHktZnVuY3Rpb24sIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxyXG4gIHNob3dQcm9ncmVzcyhtZXNzYWdlOiBhbnkpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiBkaXN0aW5jdCBtZXNzYWdlIGZvciBzZW50LCB1cGxvYWQgcHJvZ3Jlc3MsICYgcmVzcG9uc2UgZXZlbnRzLlxyXG4gICAqIEBwYXJhbSB7SHR0cEV2ZW50PGFueT59IGV2ZW50XHJcbiAgICogQHBhcmFtIHsoRmlsZSB8IEZpbGVMaXN0KX0gZmlsZVxyXG4gICAqIEByZXR1cm4geyp9XHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBnZXRFdmVudE1lc3NhZ2UoZXZlbnQ6IEh0dHBFdmVudDxhbnk+LCBmaWxlOiBGaWxlIHwgRmlsZUxpc3QpIHtcclxuICAgIGxldCBmaWxlTmFtZSA9ICcnO1xyXG4gICAgbGV0IGZpbGVTaXplOiBudW1iZXIgfCBzdHJpbmcgPSAwO1xyXG4gICAgaWYgKE9iamVjdC52YWx1ZXMoZmlsZSkubGVuZ3RoKSB7XHJcbiAgICAgIGZpbGVOYW1lID0gT2JqZWN0LnZhbHVlcyhmaWxlKVswXS5uYW1lO1xyXG4gICAgICBmaWxlU2l6ZSA9IE9iamVjdC52YWx1ZXMoZmlsZSlbMF0uc2l6ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZpbGVOYW1lID0gKGZpbGUgYXMgRmlsZSkubmFtZTtcclxuICAgICAgZmlsZVNpemUgPSAoZmlsZSBhcyBGaWxlKS5zaXplO1xyXG4gICAgfVxyXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5TZW50OlxyXG4gICAgICAgIHJldHVybiBgVXBsb2FkaW5nIGZpbGUgXCIke2ZpbGVOYW1lfVwiIG9mIHNpemUgJHtmaWxlU2l6ZX0uYDtcclxuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzOlxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jYXNlLWRlY2xhcmF0aW9uc1xyXG4gICAgICAgIGNvbnN0IHBlcmNlbnREb25lID0gZXZlbnQ/LnRvdGFsXHJcbiAgICAgICAgICA/IE1hdGgucm91bmQoKDEwMCAqIGV2ZW50LmxvYWRlZCkgLyBldmVudC50b3RhbClcclxuICAgICAgICAgIDogMDtcclxuICAgICAgICByZXR1cm4gYEZpbGUgXCIke2ZpbGVOYW1lfVwiIGlzICR7cGVyY2VudERvbmV9JSB1cGxvYWRlZC5gO1xyXG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuUmVzcG9uc2U6XHJcbiAgICAgICAgdGhpcy5sb2FkZXJOb3RpZmljYXRpb25TZXJ2aWNlLmhpZGUoKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gYEZpbGUgXCIke2ZpbGVOYW1lfVwiIHN1cnByaXNpbmcgdXBsb2FkIGV2ZW50OiAke2V2ZW50LnR5cGV9LmA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZXJ0cyBmaWxlIHRvIGJ5dGUgYXJyYXkuXHJcbiAgICogQHBhcmFtIHtGaWxlfSBmaWxlXHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgY29udmVydEZpbGVUb0J5dGVBcnJheShmaWxlOiBGaWxlKTogdm9pZCB7XHJcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpID0+IHtcclxuICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSByZWFkZXI/LnJlc3VsdCBhcyBBcnJheUJ1ZmZlcjtcclxuICAgICAgdGhpcy5maWxlQnl0ZUFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlCdWZmZXIpO1xyXG4gICAgfTtcclxuICAgIHJlYWRlci5vbmVycm9yID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmFsZXJ0U2VydmljZT8uc2hvd01lc3NhZ2Uoe1xyXG4gICAgICAgIHN0YXR1czogJ2N1c3RvbScsXHJcbiAgICAgICAgbWVzc2FnZTogdGhpcy5jb25zdGFudHM/LmZpbGVVcGxvYWQ/Lm1lc3NhZ2U/LmVycm9yPy5lcnJvclJlYWRpbmdGaWxlLFxyXG4gICAgICAgIGFsZXJ0VHlwZTogQWxlcnRUeXBlPy5FUlJPUixcclxuICAgICAgICBpc0Nsb3NlTmVlZGVkOiB0cnVlLFxyXG4gICAgICB9KTtcclxuICAgIH07XHJcbiAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoZmlsZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXNldHMgZmlsZSBieXRlIGFycmF5IGZvcm1hdCB0byB1bmRlZmluZWQuXHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgY2xlYXJGaWxlQnl0ZUFycmF5KCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlQnl0ZUFycmF5ID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyBmaWxlIHVwbG9hZCBzdGF0dXMuXHJcbiAgICogQHBhcmFtIHtib29sZWFufSBzdGF0dXNcclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICBzZXRGaWxlVXBsb2FkU3RhdHVzKHN0YXR1czogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pc0ZpbGVVcGxvYWRpbmcgPSBzdGF0dXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGZpbGUgdXBsb2FkIHN0YXR1cy5cclxuICAgKiBAcmV0dXJuIHtib29sZWFufVxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEZpbGVVcGxvYWRTdGF0dXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0ZpbGVVcGxvYWRpbmc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgcHJlc2lnbmVkIFVSTCBmb3IgZG93bmxvYWRpbmcgZmlsZXMgdG8gQW1hem9uIFMzIGJ1Y2tldC5cclxuICAgKiBAcGFyYW0geyhGaWxlIHwgRmlsZUxpc3QpfSBmaWxlXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxzdHJpbmc+fVxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEZpbGVEb3dubG9hZFByZXNpZ25lZFVybHMoXHJcbiAgICBmaWxlOiBGaWxlIHwgRmlsZUxpc3QgfCBzdHJpbmcsXHJcbiAgICBpc1B1YmxpY0FQST86IGJvb2xlYW4sXHJcbiAgICBkb21haW5Vcmw/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgbGV0IGZpbGVOYW1lID0gJyc7XHJcbiAgICBpZiAodHlwZW9mIGZpbGUgPT09ICdzdHJpbmcnKSBmaWxlTmFtZSA9IGZpbGU7XHJcbiAgICBlbHNlIGlmIChPYmplY3QudmFsdWVzKGZpbGUpLmxlbmd0aCkgZmlsZU5hbWUgPSBPYmplY3QudmFsdWVzKGZpbGUpWzBdLm5hbWU7XHJcbiAgICBlbHNlIGZpbGVOYW1lID0gKGZpbGUgYXMgRmlsZSkubmFtZTtcclxuICAgIGxldCBodHRwUmVxdWVzdCE6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIGlmIChpc1B1YmxpY0FQSSkge1xyXG4gICAgICBjb25zdCBmaWxlRG93bmxvYWRQcmVzaWduZWRVcmxQYXlsb2FkOiBHZXRGaWxlRG93bmxvYWRQcmVzaWduZWRVcmxQYXlsb2FkID1cclxuICAgICAgICB7XHJcbiAgICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICAgIGZpbGVOYW1lOiBmaWxlTmFtZSxcclxuICAgICAgICAgICAgZG9tYWluOiBkb21haW5VcmwgYXMgc3RyaW5nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9O1xyXG4gICAgICBodHRwUmVxdWVzdCA9IHRoaXMuaHR0cFNlcnZpY2UucG9zdERhdGEoXHJcbiAgICAgICAgYCR7dGhpcy5hcGlCYXNlVXJsfS9jb25maWd1cmF0aW9ucy9wdWJsaWMvZG93bmxvYWRGaWxlVXJsYCxcclxuICAgICAgICBmaWxlRG93bmxvYWRQcmVzaWduZWRVcmxQYXlsb2FkXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBodHRwUmVxdWVzdCA9IHRoaXMuaHR0cFNlcnZpY2UuZ2V0RGF0YShcclxuICAgICAgICBgJHt0aGlzLmFwaUJhc2VVcmx9L2NvbmZpZ3VyYXRpb25zL3MzL2Rvd25sb2FkRmlsZVVybC8ke2ZpbGVOYW1lfWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBodHRwUmVxdWVzdC5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXMpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnJvclJlcztcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEb3dubG9hZHMgZmlsZSB0byBBV1MgUzMgdXNpbmcgYSBwcmVzaWduZWQgVVJMLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8YW55Pn1cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGRvd25sb2FkRmlsZShmaWxlRG93bmxvYWRQcmVzaWduZWRVcmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChmaWxlRG93bmxvYWRQcmVzaWduZWRVcmwpLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvclJlcykgPT4ge1xyXG4gICAgICAgIHRocm93IGVycm9yUmVzO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRlcyB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgZmlsZXMgdXBsb2FkZWQuXHJcbiAgICogQHBhcmFtIHsoRmlsZSB8IEZpbGVMaXN0KX0gZmlsZXMgLVRoZSBmaWxlcyB0byBiZSB2YWxpZGF0ZWQuXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IG1heEZpbGVTaXplXHJcbiAgICogQHBhcmFtIHtib29sZWFufSBpc011bHRpRmlsZVVwbG9hZFxyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IC1SZXR1cm5zIHRydWUgaWYgdGhlIHRvdGFsIHNpemUgb2YgZmlsZXMgaXMgd2l0aGluIHRoZSBzcGVjaWZpZWQgbGltaXQsIG90aGVyd2lzZSBmYWxzZS5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICB2YWxpZGF0ZUZpbGVTaXplKFxyXG4gICAgZmlsZXM6IEZpbGUgfCBGaWxlTGlzdCxcclxuICAgIG1heEZpbGVTaXplOiBudW1iZXIsXHJcbiAgICBpc011bHRpRmlsZVVwbG9hZDogYm9vbGVhblxyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGlzTXVsdGlGaWxlVXBsb2FkKSB7XHJcbiAgICAgIGxldCB0b3RhbFNpemUgPSAwO1xyXG4gICAgICBPYmplY3QudmFsdWVzKGZpbGVzKS5mb3JFYWNoKChmaWxlOiBGaWxlKSA9PiB7XHJcbiAgICAgICAgdG90YWxTaXplICs9IGZpbGUuc2l6ZTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB0b3RhbFNpemUgLyAoMTAyNCAqIDEwMjQpIDw9IG1heEZpbGVTaXplO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChmaWxlcyBhcyBGaWxlKS5zaXplIC8gKDEwMjQgKiAxMDI0KSA8PSBtYXhGaWxlU2l6ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRlcyB0aGUgZmlsZSB0eXBlcyBvZiB0aGUgdXBsb2FkZWQgZmlsZXMuXHJcbiAgICogQHBhcmFtIHsoRmlsZSB8IEZpbGVMaXN0KX0gZmlsZXNcclxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBhbGxvd2VkRmlsZVR5cGVzXHJcbiAgICogQHBhcmFtIHtib29sZWFufSBpc011bHRpRmlsZVVwbG9hZFxyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IC1SZXR1cm5zIHRydWUgaWYgYWxsIGZpbGVzIGhhdmUgdmFsaWQgZXh0ZW5zaW9ucywgb3RoZXJ3aXNlIGZhbHNlLlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIHZhbGlkYXRlRmlsZVR5cGVzKFxyXG4gICAgZmlsZXM6IEZpbGUgfCBGaWxlTGlzdCxcclxuICAgIGFsbG93ZWRGaWxlVHlwZXM6IHN0cmluZ1tdLFxyXG4gICAgaXNNdWx0aUZpbGVVcGxvYWQ6IGJvb2xlYW5cclxuICApOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHZhbGlkYXRlU2luZ2xlRmlsZSA9IChmaWxlOiBGaWxlKTogYm9vbGVhbiA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSB0aGlzLmdldEZpbGVFeHRlbnNpb24oZmlsZS5uYW1lKTtcclxuICAgICAgcmV0dXJuIGFsbG93ZWRGaWxlVHlwZXM/LmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pO1xyXG4gICAgfTtcclxuICAgIGlmIChpc011bHRpRmlsZVVwbG9hZCkge1xyXG4gICAgICBsZXQgYWxsRmlsZXNWYWxpZCA9IHRydWU7XHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgIE9iamVjdC52YWx1ZXMoZmlsZXMpPy5mb3JFYWNoKChmaWxlSXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKCF2YWxpZGF0ZVNpbmdsZUZpbGUoZmlsZUl0ZW0pKSB7XHJcbiAgICAgICAgICBhbGxGaWxlc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGFsbEZpbGVzVmFsaWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsaWRhdGVTaW5nbGVGaWxlKGZpbGVzIGFzIEZpbGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXh0cmFjdHMgYW5kIHJldHVybnMgdGhlIGV4dGVuc2lvbiBvZiBhIGZpbGUgZnJvbSBpdHMgbmFtZS5cclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlTmFtZVxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gLVRoZSBmaWxlIGV4dGVuc2lvbiBpbiBsb3dlcmNhc2UuXHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRGaWxlRXh0ZW5zaW9uKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cclxuICAgIHJldHVybiBmaWxlTmFtZT8uc3BsaXQoJy4nKS5wb3AoKSEudG9Mb3dlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcGxlbWVudGF0aW9uIG9mIG5nT25EZXN0cm95IGxpZmVjeWNsZSBob29rIG1ldGhvZCB0byB1bnN1YnNjcmliZSB0aGUgb3BlbiBvYnNlcnZhYmxlIHN1YnNjcmlwdGlvbnMuXHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL3NlcnZpY2VzL2ZpbGUtdXBsb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFVBQVUsRUFFVixhQUFhLEVBQ2IsV0FBVyxHQUNaLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBRUwsU0FBUyxHQUdWLE1BQU0scUJBQXFCLENBQUM7QUFNN0IsT0FBTyxFQUNMLFVBQVUsRUFDVixJQUFJLEVBQ0osR0FBRyxFQUVILE9BQU8sRUFDUCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxLQUFLLFNBQVMsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUV0RDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBTzVCO0lBQ0UsMENBQTBDO0lBQ25DLFdBQXdCLEVBQy9CLE9BQW9CO0lBQ3BCLDBDQUEwQztJQUNuQyxZQUEyQjtJQUNsQywwQ0FBMEM7SUFDbkMseUJBQW9EO1FBTHBELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBR3hCLGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBRTNCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFiN0QsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3BELGNBQVMsR0FBRyxTQUFTLENBQUM7UUFJdEIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFVdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWEsQ0FBQyxVQUFrQjtRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixD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LENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDakMsYUFBYSxHQUFHLEtBQUssQ0FBQztpQkFDdkI7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sYUFBYSxDQUFDO1NBQ3RCO1FBQ0QsT0FBTyxrQkFBa0IsQ0FBQyxLQUFhLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssZ0JBQWdCLENBQUMsUUFBZ0I7UUFDdkMsb0VBQW9FO1FBQ3BFLE9BQU8sUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUIsQ0FBQzsrR0F4VVUsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgSHR0cEJhY2tlbmQsXHJcbiAgSHR0cENsaWVudCxcclxuICBIdHRwRXZlbnQsXHJcbiAgSHR0cEV2ZW50VHlwZSxcclxuICBIdHRwSGVhZGVycyxcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFsZXJ0c1NlcnZpY2UsXHJcbiAgQWxlcnRUeXBlLFxyXG4gIEh0dHBTZXJ2aWNlLFxyXG4gIExvYWRlck5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbn0gZnJvbSAnQGllZWVzYS1ucG0vdXRpbGl0eSc7XHJcbmltcG9ydCB7XHJcbiAgRmlsZVVwbG9hZFByZXNpZ25lZFVybCxcclxuICBHZXRGaWxlRG93bmxvYWRQcmVzaWduZWRVcmxQYXlsb2FkLFxyXG4gIEdldEZpbGVVcGxvYWRQcmVzaWduZWRVcmxQYXlsb2FkLFxyXG59IGZyb20gJy4uL21vZGVscy9maWxlLXVwbG9hZC1wcmVzaWduZWQtdXJsLXJlcy5tb2RlbCc7XHJcbmltcG9ydCB7XHJcbiAgY2F0Y2hFcnJvcixcclxuICBsYXN0LFxyXG4gIG1hcCxcclxuICBPYnNlcnZhYmxlLFxyXG4gIFN1YmplY3QsXHJcbiAgdGFrZVVudGlsLFxyXG4gIHRhcCxcclxufSBmcm9tICdyeGpzJztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcblxyXG4vKipcclxuICogVGhpcyBzZXJ2aWNlIGludGVyYWN0cyB3aXRoIHRoZSBzZXJ2ZXIgdG8gb2J0YWluIHByZS1zaWduZWQgVVJMcyBmb3IgZmlsZSB1cGxvYWQgYW5kIHVwbG9hZHMgZmlsZXMgdG8gQW1hem9uIFMzLlxyXG4gKiBAY2xhc3MgRmlsZVVwbG9hZFNlcnZpY2VcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIGNvbnN0YW50cyA9IGNvbnN0YW50cztcclxuICBhcGlCYXNlVXJsITogc3RyaW5nO1xyXG4gIGZpbGVCeXRlQXJyYXk6IFVpbnQ4QXJyYXkgfCB1bmRlZmluZWQ7XHJcbiAgaHR0cENsaWVudDogSHR0cENsaWVudDtcclxuICBpc0ZpbGVVcGxvYWRpbmcgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSxcclxuICAgIGhhbmRsZXI6IEh0dHBCYWNrZW5kLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgYWxlcnRTZXJ2aWNlOiBBbGVydHNTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgbG9hZGVyTm90aWZpY2F0aW9uU2VydmljZTogTG9hZGVyTm90aWZpY2F0aW9uU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5odHRwQ2xpZW50ID0gbmV3IEh0dHBDbGllbnQoaGFuZGxlcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBiYXNlIFVSTCBmb3IgQVBJIHJlcXVlc3RzLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcGlCYXNlVXJsIC1BUEkgYmFzZSBVUkwuXHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgc2V0QXBpQmFzZVVybChhcGlCYXNlVXJsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuYXBpQmFzZVVybCA9IGFwaUJhc2VVcmw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgcHJlc2lnbmVkIFVSTCBmb3IgdXBsb2FkaW5nIGZpbGVzIHRvIEFtYXpvbiBTMyBidWNrZXQuXHJcbiAgICogQHBhcmFtIHsoRmlsZSB8IEZpbGVMaXN0KX0gZmlsZVxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8RmlsZVVwbG9hZFByZXNpZ25lZFVybD59XHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgZ2V0RmlsZVVwbG9hZFByZXNpZ25lZFVybChcclxuICAgIGZpbGU6IEZpbGUgfCBGaWxlTGlzdCxcclxuICAgIGFwcElkOiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPEZpbGVVcGxvYWRQcmVzaWduZWRVcmw+IHtcclxuICAgIGxldCBmaWxlTmFtZSA9ICcnO1xyXG4gICAgaWYgKE9iamVjdC52YWx1ZXMoZmlsZSkubGVuZ3RoKSBmaWxlTmFtZSA9IE9iamVjdC52YWx1ZXMoZmlsZSlbMF0ubmFtZTtcclxuICAgIGVsc2UgZmlsZU5hbWUgPSAoZmlsZSBhcyBGaWxlKS5uYW1lO1xyXG4gICAgY29uc3QgZmlsZVVwbG9hZFByZXNpZ25lZFVybFBheWxvYWQ6IEdldEZpbGVVcGxvYWRQcmVzaWduZWRVcmxQYXlsb2FkID0ge1xyXG4gICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgZmlsZU5hbWU6IGZpbGVOYW1lLFxyXG4gICAgICAgIHRlbmFudEFwcElkOiBhcHBJZCBhcyBzdHJpbmcsXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcclxuICAgICAgLnBvc3REYXRhKFxyXG4gICAgICAgIGAke3RoaXMuYXBpQmFzZVVybH0vY29uZmlndXJhdGlvbnMvczMvdXBsb2FkRmlsZVVybGAsXHJcbiAgICAgICAgZmlsZVVwbG9hZFByZXNpZ25lZFVybFBheWxvYWRcclxuICAgICAgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXMpID0+IHtcclxuICAgICAgICAgIHRocm93IGVycm9yUmVzO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFVwbG9hZHMgZmlsZSB0byBBV1MgUzMgdXNpbmcgYSBwcmVzaWduZWQgVVJMLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwcmVzaWduZWRVcmxcclxuICAgKiBAcGFyYW0geyhGaWxlIHwgRmlsZUxpc3QpfSBmaWxlXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxhbnk+fSAtUmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3BvbnNlIGFmdGVyIHVwbG9hZGluZyB0aGUgZmlsZSB0byBTMy5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHVwbG9hZEZpbGVUb1MzKHByZXNpZ25lZFVybDogc3RyaW5nLCBmaWxlOiBGaWxlIHwgRmlsZUxpc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5sb2FkZXJOb3RpZmljYXRpb25TZXJ2aWNlLnNob3coKTtcclxuICAgIGxldCBmaWxlVHlwZSA9ICcnO1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgIGxldCBmaWxlU2l6ZTogYW55O1xyXG4gICAgbGV0IGZpbGVPYmo6IEZpbGU7XHJcbiAgICBpZiAoT2JqZWN0LnZhbHVlcyhmaWxlKS5sZW5ndGgpIHtcclxuICAgICAgZmlsZVR5cGUgPSBPYmplY3QudmFsdWVzKGZpbGUpWzBdLnR5cGU7XHJcbiAgICAgIGZpbGVTaXplID0gT2JqZWN0LnZhbHVlcyhmaWxlKVswXS5zaXplO1xyXG4gICAgICBmaWxlT2JqID0gT2JqZWN0LnZhbHVlcyhmaWxlKVswXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZpbGVUeXBlID0gKGZpbGUgYXMgRmlsZSkudHlwZTtcclxuICAgICAgZmlsZVNpemUgPSAoZmlsZSBhcyBGaWxlKS5zaXplO1xyXG4gICAgICBmaWxlT2JqID0gZmlsZSBhcyBGaWxlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgaGVhZGVycy5hcHBlbmQoJ0NvbnRlbnQtVHlwZScsIGZpbGVUeXBlKTtcclxuICAgIGhlYWRlcnMuYXBwZW5kKCdDb250ZW50LUxlbmd0aCcsIGZpbGVTaXplKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcclxuICAgICAgLnB1dChwcmVzaWduZWRVcmwsIGZpbGVPYmosIHtcclxuICAgICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcclxuICAgICAgICBvYnNlcnZlOiAnZXZlbnRzJyxcclxuICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxyXG4gICAgICB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXHJcbiAgICAgICAgbWFwKChldmVudCkgPT4gdGhpcy5nZXRFdmVudE1lc3NhZ2UoZXZlbnQsIGZpbGUpKSxcclxuICAgICAgICB0YXAoKG1lc3NhZ2UpID0+IHRoaXMuc2hvd1Byb2dyZXNzKG1lc3NhZ2UpKSxcclxuICAgICAgICBsYXN0KCksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXMpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGVyTm90aWZpY2F0aW9uU2VydmljZS5oaWRlKCk7XHJcbiAgICAgICAgICB0aHJvdyBlcnJvclJlcztcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyBmaWxlIHVwbG9hZCBwcm9ncmVzcy5cclxuICAgKiBAcGFyYW0geyp9IG1lc3NhZ2VcclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBuby11bnVzZWQtdmFycywgbm8tZW1wdHktZnVuY3Rpb24sIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxyXG4gIHNob3dQcm9ncmVzcyhtZXNzYWdlOiBhbnkpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiBkaXN0aW5jdCBtZXNzYWdlIGZvciBzZW50LCB1cGxvYWQgcHJvZ3Jlc3MsICYgcmVzcG9uc2UgZXZlbnRzLlxyXG4gICAqIEBwYXJhbSB7SHR0cEV2ZW50PGFueT59IGV2ZW50XHJcbiAgICogQHBhcmFtIHsoRmlsZSB8IEZpbGVMaXN0KX0gZmlsZVxyXG4gICAqIEByZXR1cm4geyp9XHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBnZXRFdmVudE1lc3NhZ2UoZXZlbnQ6IEh0dHBFdmVudDxhbnk+LCBmaWxlOiBGaWxlIHwgRmlsZUxpc3QpIHtcclxuICAgIGxldCBmaWxlTmFtZSA9ICcnO1xyXG4gICAgbGV0IGZpbGVTaXplOiBudW1iZXIgfCBzdHJpbmcgPSAwO1xyXG4gICAgaWYgKE9iamVjdC52YWx1ZXMoZmlsZSkubGVuZ3RoKSB7XHJcbiAgICAgIGZpbGVOYW1lID0gT2JqZWN0LnZhbHVlcyhmaWxlKVswXS5uYW1lO1xyXG4gICAgICBmaWxlU2l6ZSA9IE9iamVjdC52YWx1ZXMoZmlsZSlbMF0uc2l6ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZpbGVOYW1lID0gKGZpbGUgYXMgRmlsZSkubmFtZTtcclxuICAgICAgZmlsZVNpemUgPSAoZmlsZSBhcyBGaWxlKS5zaXplO1xyXG4gICAgfVxyXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5TZW50OlxyXG4gICAgICAgIHJldHVybiBgVXBsb2FkaW5nIGZpbGUgXCIke2ZpbGVOYW1lfVwiIG9mIHNpemUgJHtmaWxlU2l6ZX0uYDtcclxuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzOlxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jYXNlLWRlY2xhcmF0aW9uc1xyXG4gICAgICAgIGNvbnN0IHBlcmNlbnREb25lID0gZXZlbnQ/LnRvdGFsXHJcbiAgICAgICAgICA/IE1hdGgucm91bmQoKDEwMCAqIGV2ZW50LmxvYWRlZCkgLyBldmVudC50b3RhbClcclxuICAgICAgICAgIDogMDtcclxuICAgICAgICByZXR1cm4gYEZpbGUgXCIke2ZpbGVOYW1lfVwiIGlzICR7cGVyY2VudERvbmV9JSB1cGxvYWRlZC5gO1xyXG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuUmVzcG9uc2U6XHJcbiAgICAgICAgdGhpcy5sb2FkZXJOb3RpZmljYXRpb25TZXJ2aWNlLmhpZGUoKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gYEZpbGUgXCIke2ZpbGVOYW1lfVwiIHN1cnByaXNpbmcgdXBsb2FkIGV2ZW50OiAke2V2ZW50LnR5cGV9LmA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZXJ0cyBmaWxlIHRvIGJ5dGUgYXJyYXkuXHJcbiAgICogQHBhcmFtIHtGaWxlfSBmaWxlXHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgY29udmVydEZpbGVUb0J5dGVBcnJheShmaWxlOiBGaWxlKTogdm9pZCB7XHJcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpID0+IHtcclxuICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSByZWFkZXI/LnJlc3VsdCBhcyBBcnJheUJ1ZmZlcjtcclxuICAgICAgdGhpcy5maWxlQnl0ZUFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlCdWZmZXIpO1xyXG4gICAgfTtcclxuICAgIHJlYWRlci5vbmVycm9yID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmFsZXJ0U2VydmljZT8uc2hvd01lc3NhZ2Uoe1xyXG4gICAgICAgIHN0YXR1czogJ2N1c3RvbScsXHJcbiAgICAgICAgbWVzc2FnZTogdGhpcy5jb25zdGFudHM/LmZpbGVVcGxvYWQ/Lm1lc3NhZ2U/LmVycm9yPy5lcnJvclJlYWRpbmdGaWxlLFxyXG4gICAgICAgIGFsZXJ0VHlwZTogQWxlcnRUeXBlPy5FUlJPUixcclxuICAgICAgICBpc0Nsb3NlTmVlZGVkOiB0cnVlLFxyXG4gICAgICB9KTtcclxuICAgIH07XHJcbiAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoZmlsZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXNldHMgZmlsZSBieXRlIGFycmF5IGZvcm1hdCB0byB1bmRlZmluZWQuXHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgY2xlYXJGaWxlQnl0ZUFycmF5KCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlQnl0ZUFycmF5ID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyBmaWxlIHVwbG9hZCBzdGF0dXMuXHJcbiAgICogQHBhcmFtIHtib29sZWFufSBzdGF0dXNcclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICBzZXRGaWxlVXBsb2FkU3RhdHVzKHN0YXR1czogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pc0ZpbGVVcGxvYWRpbmcgPSBzdGF0dXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGZpbGUgdXBsb2FkIHN0YXR1cy5cclxuICAgKiBAcmV0dXJuIHtib29sZWFufVxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEZpbGVVcGxvYWRTdGF0dXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0ZpbGVVcGxvYWRpbmc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgcHJlc2lnbmVkIFVSTCBmb3IgZG93bmxvYWRpbmcgZmlsZXMgdG8gQW1hem9uIFMzIGJ1Y2tldC5cclxuICAgKiBAcGFyYW0geyhGaWxlIHwgRmlsZUxpc3QpfSBmaWxlXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxzdHJpbmc+fVxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEZpbGVEb3dubG9hZFByZXNpZ25lZFVybHMoXHJcbiAgICBmaWxlOiBGaWxlIHwgRmlsZUxpc3QgfCBzdHJpbmcsXHJcbiAgICBpc1B1YmxpY0FQST86IGJvb2xlYW4sXHJcbiAgICBkb21haW5Vcmw/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgbGV0IGZpbGVOYW1lID0gJyc7XHJcbiAgICBpZiAodHlwZW9mIGZpbGUgPT09ICdzdHJpbmcnKSBmaWxlTmFtZSA9IGZpbGU7XHJcbiAgICBlbHNlIGlmIChPYmplY3QudmFsdWVzKGZpbGUpLmxlbmd0aCkgZmlsZU5hbWUgPSBPYmplY3QudmFsdWVzKGZpbGUpWzBdLm5hbWU7XHJcbiAgICBlbHNlIGZpbGVOYW1lID0gKGZpbGUgYXMgRmlsZSkubmFtZTtcclxuICAgIGxldCBodHRwUmVxdWVzdCE6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIGlmIChpc1B1YmxpY0FQSSkge1xyXG4gICAgICBjb25zdCBmaWxlRG93bmxvYWRQcmVzaWduZWRVcmxQYXlsb2FkOiBHZXRGaWxlRG93bmxvYWRQcmVzaWduZWRVcmxQYXlsb2FkID1cclxuICAgICAgICB7XHJcbiAgICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICAgIGZpbGVOYW1lOiBmaWxlTmFtZSxcclxuICAgICAgICAgICAgZG9tYWluOiBkb21haW5VcmwgYXMgc3RyaW5nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9O1xyXG4gICAgICBodHRwUmVxdWVzdCA9IHRoaXMuaHR0cFNlcnZpY2UucG9zdERhdGEoXHJcbiAgICAgICAgYCR7dGhpcy5hcGlCYXNlVXJsfS9jb25maWd1cmF0aW9ucy9wdWJsaWMvZG93bmxvYWRGaWxlVXJsYCxcclxuICAgICAgICBmaWxlRG93bmxvYWRQcmVzaWduZWRVcmxQYXlsb2FkXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBodHRwUmVxdWVzdCA9IHRoaXMuaHR0cFNlcnZpY2UuZ2V0RGF0YShcclxuICAgICAgICBgJHt0aGlzLmFwaUJhc2VVcmx9L2NvbmZpZ3VyYXRpb25zL3MzL2Rvd25sb2FkRmlsZVVybC8ke2ZpbGVOYW1lfWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBodHRwUmVxdWVzdC5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXMpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnJvclJlcztcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEb3dubG9hZHMgZmlsZSB0byBBV1MgUzMgdXNpbmcgYSBwcmVzaWduZWQgVVJMLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8YW55Pn1cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGRvd25sb2FkRmlsZShmaWxlRG93bmxvYWRQcmVzaWduZWRVcmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChmaWxlRG93bmxvYWRQcmVzaWduZWRVcmwpLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvclJlcykgPT4ge1xyXG4gICAgICAgIHRocm93IGVycm9yUmVzO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRlcyB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgZmlsZXMgdXBsb2FkZWQuXHJcbiAgICogQHBhcmFtIHsoRmlsZSB8IEZpbGVMaXN0KX0gZmlsZXMgLVRoZSBmaWxlcyB0byBiZSB2YWxpZGF0ZWQuXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IG1heEZpbGVTaXplXHJcbiAgICogQHBhcmFtIHtib29sZWFufSBpc011bHRpRmlsZVVwbG9hZFxyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IC1SZXR1cm5zIHRydWUgaWYgdGhlIHRvdGFsIHNpemUgb2YgZmlsZXMgaXMgd2l0aGluIHRoZSBzcGVjaWZpZWQgbGltaXQsIG90aGVyd2lzZSBmYWxzZS5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICB2YWxpZGF0ZUZpbGVTaXplKFxyXG4gICAgZmlsZXM6IEZpbGUgfCBGaWxlTGlzdCxcclxuICAgIG1heEZpbGVTaXplOiBudW1iZXIsXHJcbiAgICBpc011bHRpRmlsZVVwbG9hZDogYm9vbGVhblxyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGlzTXVsdGlGaWxlVXBsb2FkKSB7XHJcbiAgICAgIGxldCB0b3RhbFNpemUgPSAwO1xyXG4gICAgICBPYmplY3QudmFsdWVzKGZpbGVzKS5mb3JFYWNoKChmaWxlOiBGaWxlKSA9PiB7XHJcbiAgICAgICAgdG90YWxTaXplICs9IGZpbGUuc2l6ZTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB0b3RhbFNpemUgLyAoMTAyNCAqIDEwMjQpIDw9IG1heEZpbGVTaXplO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChmaWxlcyBhcyBGaWxlKS5zaXplIC8gKDEwMjQgKiAxMDI0KSA8PSBtYXhGaWxlU2l6ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRlcyB0aGUgZmlsZSB0eXBlcyBvZiB0aGUgdXBsb2FkZWQgZmlsZXMuXHJcbiAgICogQHBhcmFtIHsoRmlsZSB8IEZpbGVMaXN0KX0gZmlsZXNcclxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBhbGxvd2VkRmlsZVR5cGVzXHJcbiAgICogQHBhcmFtIHtib29sZWFufSBpc011bHRpRmlsZVVwbG9hZFxyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IC1SZXR1cm5zIHRydWUgaWYgYWxsIGZpbGVzIGhhdmUgdmFsaWQgZXh0ZW5zaW9ucywgb3RoZXJ3aXNlIGZhbHNlLlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIHZhbGlkYXRlRmlsZVR5cGVzKFxyXG4gICAgZmlsZXM6IEZpbGUgfCBGaWxlTGlzdCxcclxuICAgIGFsbG93ZWRGaWxlVHlwZXM6IHN0cmluZ1tdLFxyXG4gICAgaXNNdWx0aUZpbGVVcGxvYWQ6IGJvb2xlYW5cclxuICApOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHZhbGlkYXRlU2luZ2xlRmlsZSA9IChmaWxlOiBGaWxlKTogYm9vbGVhbiA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSB0aGlzLmdldEZpbGVFeHRlbnNpb24oZmlsZS5uYW1lKTtcclxuICAgICAgcmV0dXJuIGFsbG93ZWRGaWxlVHlwZXM/LmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pO1xyXG4gICAgfTtcclxuICAgIGlmIChpc011bHRpRmlsZVVwbG9hZCkge1xyXG4gICAgICBsZXQgYWxsRmlsZXNWYWxpZCA9IHRydWU7XHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgIE9iamVjdC52YWx1ZXMoZmlsZXMpPy5mb3JFYWNoKChmaWxlSXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKCF2YWxpZGF0ZVNpbmdsZUZpbGUoZmlsZUl0ZW0pKSB7XHJcbiAgICAgICAgICBhbGxGaWxlc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGFsbEZpbGVzVmFsaWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsaWRhdGVTaW5nbGVGaWxlKGZpbGVzIGFzIEZpbGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXh0cmFjdHMgYW5kIHJldHVybnMgdGhlIGV4dGVuc2lvbiBvZiBhIGZpbGUgZnJvbSBpdHMgbmFtZS5cclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlTmFtZVxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gLVRoZSBmaWxlIGV4dGVuc2lvbiBpbiBsb3dlcmNhc2UuXHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRGaWxlRXh0ZW5zaW9uKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cclxuICAgIHJldHVybiBmaWxlTmFtZT8uc3BsaXQoJy4nKS5wb3AoKSEudG9Mb3dlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcGxlbWVudGF0aW9uIG9mIG5nT25EZXN0cm95IGxpZmVjeWNsZSBob29rIG1ldGhvZCB0byB1bnN1YnNjcmliZSB0aGUgb3BlbiBvYnNlcnZhYmxlIHN1YnNjcmlwdGlvbnMuXHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -665,6 +665,9 @@ var fileUpload = {
665
665
  "2059": "Application Details not found.",
666
666
  "2060": "Invalid file format.",
667
667
  "2061": "Unable to establish connection. Please try again later.",
668
+ "2062": "File not found.",
669
+ "2063": "File Name is required.",
670
+ "2064": "Application Id or Domain is required.",
668
671
  errorReadingFile: "File is damaged or unreadable.",
669
672
  invalidFileFormat: "Invalid file format. Please upload SVG, PNG and JPG file format only.",
670
673
  invalidFileSize: "File size exceeds the maximum limit."
@@ -2637,14 +2640,20 @@ class FileUploadService {
2637
2640
  * @return {Observable<FileUploadPresignedUrl>}
2638
2641
  * @memberof FileUploadService
2639
2642
  */
2640
- getFileUploadPresignedUrl(file) {
2643
+ getFileUploadPresignedUrl(file, appId) {
2641
2644
  let fileName = '';
2642
2645
  if (Object.values(file).length)
2643
2646
  fileName = Object.values(file)[0].name;
2644
2647
  else
2645
2648
  fileName = file.name;
2649
+ const fileUploadPresignedUrlPayload = {
2650
+ payload: {
2651
+ fileName: fileName,
2652
+ tenantAppId: appId,
2653
+ },
2654
+ };
2646
2655
  return this.httpService
2647
- .getData(`${this.apiBaseUrl}/configurations/s3/uploadFileUrl/${fileName}`)
2656
+ .postData(`${this.apiBaseUrl}/configurations/s3/uploadFileUrl`, fileUploadPresignedUrlPayload)
2648
2657
  .pipe(map((response) => {
2649
2658
  return response;
2650
2659
  }), catchError((errorRes) => {