@arsedizioni/ars-utils 18.1.17 → 18.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/clipper.common/common/interceptors/auth.interceptor.mjs +1 -2
- package/esm2022/clipper.ui/ui/document/document.component.mjs +2 -3
- package/esm2022/support.common/common/interceptors/auth.interceptor.mjs +1 -2
- package/esm2022/ui/ui/dialogs/info/info-dialog.component.mjs +3 -3
- package/esm2022/ui/ui/services/dialog.service.mjs +10 -8
- package/esm2022/ui.application/ui/services/applicationDialog.service.mjs +1 -1
- package/esm2022/ui.oauth/ui/components/login/loginOAuth.component.mjs +2 -3
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs +0 -1
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +1 -2
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs +0 -1
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.mjs +11 -9
- package/fesm2022/arsedizioni-ars-utils-ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs +1 -2
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs.map +1 -1
- package/package.json +7 -7
- package/ui/ui/dialogs/info/info-dialog.component.d.ts +1 -1
- package/ui/ui/services/dialog.service.d.ts +13 -12
- package/ui.application/ui/services/applicationDialog.service.d.ts +5 -5
|
@@ -268,12 +268,13 @@ export class DialogService extends UIService {
|
|
|
268
268
|
/**
|
|
269
269
|
* Display an information dialog
|
|
270
270
|
* @param message : message
|
|
271
|
-
* @param title :
|
|
271
|
+
* @param title : dialog title
|
|
272
272
|
* @param okCaption : ok button caption
|
|
273
273
|
* @param width: the preferred width
|
|
274
|
-
* @param dismissAfter:
|
|
274
|
+
* @param dismissAfter: if specified, the dialog will be closed after dismissAfter milliseconds
|
|
275
|
+
* @param details: if specified, the details info
|
|
275
276
|
*/
|
|
276
|
-
info(message, title = 'Informazioni', okCaption = 'Ok', width = 500, dismissAfter = null) {
|
|
277
|
+
info(message, title = 'Informazioni', okCaption = 'Ok', width = 500, dismissAfter = null, details = null) {
|
|
277
278
|
return this.open(InfoDialogComponent, {
|
|
278
279
|
ariaLabel: 'informazioni',
|
|
279
280
|
autoFocus: true,
|
|
@@ -283,6 +284,7 @@ export class DialogService extends UIService {
|
|
|
283
284
|
title: title,
|
|
284
285
|
okCaption: okCaption,
|
|
285
286
|
dismissAfter: dismissAfter,
|
|
287
|
+
details: details,
|
|
286
288
|
appearance: 'fill'
|
|
287
289
|
},
|
|
288
290
|
closeOnNavigation: false,
|
|
@@ -295,10 +297,10 @@ export class DialogService extends UIService {
|
|
|
295
297
|
* Display an error dialog
|
|
296
298
|
* @param message : message
|
|
297
299
|
* @param log : the error log
|
|
298
|
-
* @param title :
|
|
300
|
+
* @param title : dialog title
|
|
299
301
|
* @param okCaption : ok button caption
|
|
300
302
|
* @param width: the preferred width
|
|
301
|
-
* @param dismissAfter:
|
|
303
|
+
* @param dismissAfter: if specified, the dialog will be closed after dismissAfter milliseconds
|
|
302
304
|
*/
|
|
303
305
|
error(message, log = null, title = 'Errore', okCaption = 'Ok', width = 500, dismissAfter = null) {
|
|
304
306
|
if (this.errorDialogRef) {
|
|
@@ -306,7 +308,7 @@ export class DialogService extends UIService {
|
|
|
306
308
|
this.errorDialogRef.componentInstance.data = {
|
|
307
309
|
message: message,
|
|
308
310
|
title: title,
|
|
309
|
-
|
|
311
|
+
details: log,
|
|
310
312
|
okCaption: okCaption,
|
|
311
313
|
dismissAfter: dismissAfter
|
|
312
314
|
};
|
|
@@ -319,7 +321,7 @@ export class DialogService extends UIService {
|
|
|
319
321
|
data: {
|
|
320
322
|
message: message,
|
|
321
323
|
title: title,
|
|
322
|
-
|
|
324
|
+
details: log,
|
|
323
325
|
okCaption: okCaption,
|
|
324
326
|
dismissAfter: dismissAfter,
|
|
325
327
|
appearance: 'fill'
|
|
@@ -395,4 +397,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
395
397
|
providedIn: 'root'
|
|
396
398
|
}]
|
|
397
399
|
}], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.Overlay }, { type: i3.MatSnackBar }, { type: i4.PlatformLocation }] });
|
|
398
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkvdWkvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUNMLG1CQUFtQixFQUNwQixNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFDTCxzQkFBc0IsRUFFdkIsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsbUJBQW1CLEVBRXBCLE1BQU0sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBYSxNQUFNLGtDQUFrQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7OztBQU96QyxNQUFNLE9BQU8sYUFBYyxTQUFRLFNBQVM7SUFTMUMsWUFDUyxNQUFpQixFQUNqQixPQUFnQixFQUNoQixRQUFxQixFQUNyQixRQUEwQjtRQUVqQyxLQUFLLEVBQUUsQ0FBQztRQUxELFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBUjNCLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFDckIsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQVVwQyxrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FB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WUFBWSxFQUFFLEtBQUs7WUFDbkIsSUFBSSxFQUFFO2dCQUNKLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixLQUFLLEVBQUUsS0FBSztnQkFDWixTQUFTLEVBQUUsU0FBUztnQkFDcEIsYUFBYSxFQUFFLGFBQWE7Z0JBQzVCLFlBQVksRUFBRSxZQUFZO2dCQUMxQixPQUFPLEVBQUUsT0FBTztnQkFDaEIsVUFBVSxFQUFFLE1BQU07YUFDRTtZQUN0QixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRSxLQUFLLEdBQUcsSUFBSTtZQUN0QixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBOWFVLGFBQWE7a0hBQWIsYUFBYSxjQUZaLE1BQU07OzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IFBsYXRmb3JtTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnRSZWYsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRTbmFja0JhciwgTWF0U25hY2tCYXJSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBTeXN0ZW1VdGlscyB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcbiAgQnVzeURpYWxvZ0NvbXBvbmVudFxyXG59IGZyb20gJy4uL2RpYWxvZ3MvYnVzeS9idXN5LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIENvbmZpcm1EaWFsb2dDb21wb25lbnQsXHJcbiAgQ29uZmlybURpYWxvZ0RhdGFcclxufSBmcm9tICcuLi9kaWFsb2dzL2NvbmZpcm0vY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBJbmZvRGlhbG9nQ29tcG9uZW50LFxyXG4gIEluZm9EaWFsb2dEYXRhXHJcbn0gZnJvbSAnLi4vZGlhbG9ncy9pbmZvL2luZm8tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvYXN0Q29tcG9uZW50LCBUb2FzdERhdGEgfSBmcm9tICcuLi9kaWFsb2dzL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVJU2VydmljZSB9IGZyb20gJy4vdWkuc2VydmljZSc7XHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2UgZXh0ZW5kcyBVSVNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIGJ1c3lEaWFsb2dSZWY6IE92ZXJsYXlSZWY7XHJcbiAgcHJpdmF0ZSBidXN5Q29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8QnVzeURpYWxvZ0NvbXBvbmVudD47XHJcbiAgcHJpdmF0ZSBlcnJvckRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEluZm9EaWFsb2dDb21wb25lbnQ+O1xyXG4gIHByaXZhdGUgcG9wSGlzdG9yeTogYW55ID0gW107XHJcbiAgcHJpdmF0ZSBwb3BTdGF0ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHJpdmF0ZSBwb3BwaW5nU3RhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwdWJsaWMgb3ZlcmxheTogT3ZlcmxheSxcclxuICAgIHB1YmxpYyBzbmFja0JhcjogTWF0U25hY2tCYXIsXHJcbiAgICBwdWJsaWMgbG9jYXRpb246IFBsYXRmb3JtTG9jYXRpb24sXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG5cclxuICAgIC8vIEhhbmRsZSBkaWFsb2cgY2xvc2Ugd2hlbiBiYWNrIGJ1dHRvbiBpcyBjbGlja2VkXHJcbiAgICB0aGlzLmxvY2F0aW9uLm9uUG9wU3RhdGUoKCkgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMucG9wcGluZ1N0YXRlKSB7XHJcbiAgICAgICAgY29uc3QgY291bnQgPSB0aGlzLmRpYWxvZy5vcGVuRGlhbG9ncy5sZW5ndGg7XHJcbiAgICAgICAgaWYgKGNvdW50ID4gMCkge1xyXG4gICAgICAgICAgLy8gRGlzYWJsZSBwb3Agc2F0ZSBpZiBjYXNlXHJcbiAgICAgICAgICB0aGlzLnBvcFN0YXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAvLyBDbG9zZSBkaWFsb2dcclxuICAgICAgICAgIHRoaXMuZGlhbG9nLm9wZW5EaWFsb2dzW2NvdW50IC0gMV0uY2xvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB0aGlzLnBvcHBpbmdTdGF0ZSA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhciB1cmwgZnJvbSAjIGluIGNhc2Ugb2YgcGFnZSByZWxvYWRcclxuICAgKiBAcGFyYW0gcmVzZXRQb3BwaW5nU3RhdGU6IHRydWUgaWYgcG9wcGluZyBzdGF0ZSBzaG91bGQgYmUgc2V0IHRvIGZhbHNlXHJcbiAgICovXHJcbiAgY2xlYXJVcmwocmVzZXRQb3BwaW5nU3RhdGU6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgY29uc3QgdXJsID0gbG9jYXRpb24uaHJlZjtcclxuICAgIGxldCBsID0gdXJsLmxlbmd0aDtcclxuICAgIHdoaWxlIChsID49IDAgJiYgdXJsW2wgLSAxXSA9PT0gJyMnKSBsLS07XHJcbiAgICBpZiAobCA8IHVybC5sZW5ndGgpXHJcbiAgICAgIGhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCAnJywgdXJsLnN1YnN0cmluZygwLCBsKSk7XHJcbiAgICBpZiAocmVzZXRQb3BwaW5nU3RhdGUpXHJcbiAgICAgIHRoaXMucG9wcGluZ1N0YXRlID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbG9zZSBhbGwgZGlhbG9nc1xyXG4gICAqL1xyXG4gIGNsb3NlQWxsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2cub3BlbkRpYWxvZ3MuZm9yRWFjaChuID0+IHtcclxuICAgICAgbi5jbG9zZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogT3BlbiBhIGRpYWxvZ1xyXG4gICAqIEBwYXJhbSBjb21wb25lbnQgOiB0aGUgY29tcG9uZW50XHJcbiAgICogQHBhcmFtIGNvbmZpZyA6IHRoZSBjb25maWdcclxuICAgKiBAcmV0dXJuczogdGhlIGRpYWxvZyBvYmplY3RcclxuICAgKi9cclxuICBvcGVuKGNvbXBvbmVudDogYW55LCBjb25maWc6IGFueSk6IE1hdERpYWxvZ1JlZjxhbnk+IHtcclxuICAgIGlmICghU3lzdGVtVXRpbHMuaXNCcm93c2VyKCkpIHJldHVybiBudWxsO1xyXG4gICAgdGhpcy5jbGVhckJ1c3koKTtcclxuICAgIHJldHVybiB0aGlzLm9wZW5EaWFsb2coY29tcG9uZW50LCBjb25maWcpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gKiBPcGVuIGEgZGlhbG9nXHJcbiAqIEBwYXJhbSBjb21wb25lbnQgOiB0aGUgY29tcG9uZW50XHJcbiAqIEBwYXJhbSBjb25maWcgOiB0aGUgY29uZmlnXHJcbiAqIEByZXR1cm5zIDogdGhlIGRpYWxvZyBvYmplY3RcclxuICovXHJcbiAgcHJpdmF0ZSBvcGVuRGlhbG9nKGNvbXBvbmVudDogYW55LCBjb25maWc6IGFueSk6IE1hdERpYWxvZ1JlZjxhbnk+IHtcclxuICAgIC8vIFdlIHdpbGwgdGFrZSBjYXJlIG9mIG5hdmlnYXRpb25cclxuICAgIGNvbmZpZy5jbG9zZU9uTmF2aWdhdGlvbiA9IGZhbHNlO1xyXG4gICAgbGV0IGQgPSB0aGlzLmRpYWxvZy5vcGVuKGNvbXBvbmVudCwgY29uZmlnKTtcclxuICAgIGQuYWZ0ZXJPcGVuZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnB1c2hEaWFsb2coZC5pZCk7XHJcbiAgICB9KTtcclxuICAgIGQuYmVmb3JlQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5wb3BEaWFsb2coZC5pZCk7ICAgICAgIFxyXG4gICAgfSk7XHJcbiAgICBkLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgLy8gRmluYWwgY2xlYW51cCBvZiBtaWRkbGUgb2JqZWN0c1xyXG4gICAgICB0aGlzLmVycm9yRGlhbG9nUmVmID0gbnVsbDtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBlbGVtZW50IGhlaWdodCBpbmNsdWRpbmcgbWFyZ2luc1xyXG4gICAqIEBwYXJhbSBlbGVtZW50IC0gZWxlbWVudFxyXG4gICAqIEByZXR1cm5zIHRoZSBoZWlnaHRcclxuICAgKi9cclxuICBwcml2YXRlIG91dGVySGVpZ2h0KGVsZW1lbnQ6IGFueSk6IG51bWJlciB7XHJcbiAgICBpZiAoIVN5c3RlbVV0aWxzLmlzQnJvd3NlcigpKSByZXR1cm4gMDtcclxuICAgIGNvbnN0IGhlaWdodCA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0LFxyXG4gICAgICBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xyXG4gICAgbGV0IGggPSBbJ3RvcCcsICdib3R0b20nXVxyXG4gICAgICAubWFwKHNpZGUgPT4gcGFyc2VJbnQoc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnbWFyZ2luLScgKyBzaWRlKSkpXHJcbiAgICAgIC5yZWR1Y2UoKHRvdGFsLCBzaWRlKSA9PiB0b3RhbCArIHNpZGUsIGhlaWdodCk7XHJcbiAgICByZXR1cm4gaDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiBjdXJyZW50IGRpYWxvZyBoZWlnaHRcclxuICAgKi9cclxuICBnZXRDdXJyZW50RGlhbG9nSGVpZ2h0KCk6IG51bWJlciB7XHJcbiAgICBpZiAoIVN5c3RlbVV0aWxzLmlzQnJvd3NlcigpKSByZXR1cm4gMDtcclxuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5wb3BIaXN0b3J5Lmxlbmd0aDtcclxuICAgIGlmIChjb3VudCA+IDApIHtcclxuICAgICAgbGV0IGlkID0gdGhpcy5wb3BIaXN0b3J5W2NvdW50IC0gMV0uaWQ7XHJcbiAgICAgIGxldCBlbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xyXG4gICAgICBpZiAoZWxlbSAmJiBlbGVtLmNsaWVudEhlaWdodCA+IDApIHJldHVybiBlbGVtLmNsaWVudEhlaWdodDtcclxuICAgIH1cclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIGN1cnJlbnQgZGlhbG9nIHNjcm9sbGFibGUgaGVpZ2h0XHJcbiAgICovXHJcbiAgZ2V0Q3VycmVudERpYWxvZ1Njcm9sbGFibGVIZWlnaHQoXHJcbiAgICBmaXhlZFBhcnRzQ2xhc3NOYW1lOiBzdHJpbmdbXSxcclxuICAgIG1pbmltYWxIZWlnaHQ6IG51bWJlclxyXG4gICk6IG51bWJlciB7XHJcbiAgICBpZiAoIVN5c3RlbVV0aWxzLmlzQnJvd3NlcigpKSByZXR1cm4gMDtcclxuICAgIGxldCBoID0gdGhpcy5nZXRDdXJyZW50RGlhbG9nSGVpZ2h0KCk7XHJcbiAgICBpZiAoZml4ZWRQYXJ0c0NsYXNzTmFtZSkge1xyXG4gICAgICBmaXhlZFBhcnRzQ2xhc3NOYW1lLmZvckVhY2gobiA9PiB7XHJcbiAgICAgICAgY29uc3QgZWxlbXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKG4pO1xyXG4gICAgICAgIGlmIChlbGVtcykge1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBoIC09IHRoaXMub3V0ZXJIZWlnaHQoZWxlbXNbaV0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoaCA8IG1pbmltYWxIZWlnaHQpIGggPSBtaW5pbWFsSGVpZ2h0O1xyXG4gICAgcmV0dXJuIGg7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQdXNoIGEgZGlhbG9nIGluZm8gdGhlIGhpc3RvcnlcclxuICAgKi9cclxuICBwcml2YXRlIHB1c2hEaWFsb2coaWQ6IHN0cmluZykge1xyXG4gICAgaWYgKCFTeXN0ZW1VdGlscy5pc0Jyb3dzZXIoKSkgcmV0dXJuO1xyXG4gICAgbGV0IGluZGV4ID0gaGlzdG9yeS5sZW5ndGg7XHJcbiAgICBoaXN0b3J5LnB1c2hTdGF0ZSh7IGluZGV4OiBpbmRleCB9LCBudWxsLCBsb2NhdGlvbi5ocmVmICsgJyMnKTtcclxuICAgIHRoaXMucG9wSGlzdG9yeS5wdXNoKHsgaWQ6IGlkLCB2YWx1ZTogaW5kZXggfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQb3AgYSBkaWFsb2cgZnJvbSB0aGUgaGlzdG9yeVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcG9wRGlhbG9nKGlkOiBzdHJpbmcgPSBudWxsKSB7XHJcbiAgICBpZiAoIVN5c3RlbVV0aWxzLmlzQnJvd3NlcigpKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5wb3BTdGF0ZSkge1xyXG4gICAgICB0aGlzLnBvcHBpbmdTdGF0ZSA9IHRydWU7XHJcbiAgICAgIGxldCBwb3BwZWQgPSAxO1xyXG4gICAgICBpZiAoaWQpIHtcclxuICAgICAgICBjb25zdCBwID0gU3lzdGVtVXRpbHMuYXJyYXlGaW5kSW5kZXhCeUtleSh0aGlzLnBvcEhpc3RvcnksICdpZCcsIGlkKTtcclxuICAgICAgICBpZiAocCAhPSAtMSkge1xyXG4gICAgICAgICAgcG9wcGVkID0gdGhpcy5wb3BIaXN0b3J5W3BdLnZhbHVlIC0gaGlzdG9yeS5zdGF0ZS5pbmRleDtcclxuICAgICAgICAgIGlmIChwb3BwZWQpIHBvcHBlZCsrO1xyXG4gICAgICAgICAgZWxzZSBwb3BwZWQgPSAxO1xyXG4gICAgICAgICAgdGhpcy5wb3BIaXN0b3J5LnNwbGljZShwLCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdXJsID0gbG9jYXRpb24uaHJlZjtcclxuICAgICAgICBsZXQgbCA9IHVybC5sZW5ndGg7XHJcbiAgICAgICAgd2hpbGUgKGwgPj0gMCAmJiB1cmxbbCAtIDFdID09PSAnIycgJiYgcG9wcGVkID4gMCkge1xyXG4gICAgICAgICAgbC0tO1xyXG4gICAgICAgICAgcG9wcGVkLS07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChsIDwgdXJsLmxlbmd0aClcclxuICAgICAgICAgIGhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCAnJywgdXJsLnN1YnN0cmluZygwLCBsKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMucG9wU3RhdGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIHRoZSBidXN5IG92ZXJsYXlcclxuICAgKiBAcGFyYW0gdHlwZTogdGhlIHR5cGUgb2Ygc3Bpbm5lciB0byBjcmVhdGVcclxuICAgKiBAcmV0dXJuczogdGhlIG5ldyBvdmVybGF5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVCdXN5KCk6IE92ZXJsYXlSZWYge1xyXG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgYmFja2Ryb3BDbGFzczonYnVzeS1iYWNrZHJvcCcsXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpXHJcbiAgICAgICAgLmdsb2JhbCgpXHJcbiAgICAgICAgLmNlbnRlckhvcml6b250YWxseSgpXHJcbiAgICAgICAgLmNlbnRlclZlcnRpY2FsbHkoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhciBidXN5IGRpYWxvZ1xyXG4gICAqL1xyXG4gIGNsZWFyQnVzeSgpIHtcclxuICAgIHRoaXMuYnVzeURpYWxvZ1JlZj8uZGV0YWNoKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgYnVzeSBkaWFsb2dcclxuICAgKiBAcGFyYW0gbWVzc2FnZSA6IG5ldyBtZXNzYWdlXHJcbiAgICogQHBhcmFtIHByb2dyZXNzIDogbmV3IHByb2dyZXNzXHJcbiAgICogQHBhcmFtIHByb2dyZXNzTW9kZSA6IG5ldyBtb2RlIChkZWZhdWx0ID0gJ2luZGV0ZXJtaW5hdGUnKVxyXG4gICAqIEBwYXJhbSB0eXBlOiBuZXcgdHlwZSAoZGVmYXVsdCA9ICdiYXInKVxyXG4gICAqIEBwYXJhbSBhY3Rpb24gOiBhY3Rpb24gdG8gZG8gZHVyaW5nIHRoZSBleGVjdXRpb24gKG9wdGlvbmFsKVxyXG4gICAqIEByZXR1cm5zIHRydWUgaWYgYSBuZXcgcG9wdXAgaGFzIGJlZW4gb3BlbmVkXHJcbiAgICovXHJcbiAgc2V0QnVzeShcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHByb2dyZXNzOiBudW1iZXIgPSAtMSxcclxuICAgIHByb2dyZXNzTW9kZTogJ2RldGVybWluYXRlJyB8ICdpbmRldGVybWluYXRlJyA9ICdpbmRldGVybWluYXRlJyxcclxuICAgIHR5cGU6ICdiYXInIHwgJ3NwaW5uZXInIHwgJ3dhaXQnID0gJ2JhcicsXHJcbiAgICBhY3Rpb246IE9ic2VydmFibGU8T2JqZWN0PiA9IG51bGxcclxuICApOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGV4aXN0cyA9IHRoaXMuYnVzeURpYWxvZ1JlZiAmJiB0aGlzLmJ1c3lEaWFsb2dSZWYuaGFzQXR0YWNoZWQoKTtcclxuICAgIGlmIChleGlzdHMpIHtcclxuICAgICAgdGhpcy5idXN5Q29tcG9uZW50UmVmLmluc3RhbmNlLnNldChtZXNzYWdlLCBwcm9ncmVzcywgcHJvZ3Jlc3NNb2RlLCB0eXBlKTsgLy8gVXNlIHRoZSBzYW1lICAgICAgXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBPcGVuIG5ld1xyXG4gICAgICBpZiAoIXRoaXMuYnVzeURpYWxvZ1JlZilcclxuICAgICAgICB0aGlzLmJ1c3lEaWFsb2dSZWYgPSB0aGlzLmNyZWF0ZUJ1c3koKTtcclxuICAgICAgdGhpcy5idXN5Q29tcG9uZW50UmVmID0gdGhpcy5idXN5RGlhbG9nUmVmLmF0dGFjaChuZXcgQ29tcG9uZW50UG9ydGFsKEJ1c3lEaWFsb2dDb21wb25lbnQpKTtcclxuICAgICAgdGhpcy5idXN5Q29tcG9uZW50UmVmLmluc3RhbmNlLnNldChtZXNzYWdlLCBwcm9ncmVzcywgcHJvZ3Jlc3NNb2RlLCB0eXBlKTtcclxuICAgICAgaWYgKGFjdGlvbikge1xyXG4gICAgICAgIGFjdGlvblxyXG4gICAgICAgICAgLnBpcGUoZmlyc3QoKSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsZWFyQnVzeSgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiAhZXhpc3RzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGxheSBhIGJ1c3kgZGlhbG9nXHJcbiAgICogQHBhcmFtIG1lc3NhZ2UgOiBuZXcgbWVzc2FnZVxyXG4gICAqIEBwYXJhbSBwcm9ncmVzcyA6IG5ldyBwcm9ncmVzc1xyXG4gICAqIEBwYXJhbSBwcm9ncmVzc01vZGUgOiBuZXcgbW9kZSAoZGVmYXVsdCA9ICdpbmRldGVybWluYXRlJylcclxuICAgKiBAcGFyYW0gYWN0aW9uIDogYWN0aW9uIHRvIGRvIGR1cmluZyB0aGUgZXhlY3V0aW9uIChvcHRpb25hbClcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGEgbmV3IHBvcHVwIGhhcyBiZWVuIG9wZW5lZFxyXG4gICAqL1xyXG4gIGJ1c3kobWVzc2FnZTogc3RyaW5nLFxyXG4gICAgcHJvZ3Jlc3M6IG51bWJlciA9IC0xLFxyXG4gICAgcHJvZ3Jlc3NNb2RlOiAnZGV0ZXJtaW5hdGUnIHwgJ2luZGV0ZXJtaW5hdGUnID0gJ2luZGV0ZXJtaW5hdGUnLFxyXG4gICAgYWN0aW9uOiBPYnNlcnZhYmxlPE9iamVjdD4gPSBudWxsKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXRCdXN5KG1lc3NhZ2UsIHByb2dyZXNzLCBwcm9ncmVzc01vZGUsICdiYXInLCBhY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIERpc3BsYXkgYSBidXN5IHNwaW5uZXIgZGlhbG9nXHJcbiAqIEBwYXJhbSBtZXNzYWdlIDogbmV3IG1lc3NhZ2VcclxuICogQHBhcmFtIHByb2dyZXNzIDogbmV3IHByb2dyZXNzXHJcbiAqIEBwYXJhbSBwcm9ncmVzc01vZGUgOiBuZXcgbW9kZSAoZGVmYXVsdCA9ICdpbmRldGVybWluYXRlJylcclxuICogQHBhcmFtIGFjdGlvbiA6IGFjdGlvbiB0byBkbyBkdXJpbmcgdGhlIGV4ZWN1dGlvbiAob3B0aW9uYWwpXHJcbiAqIEByZXR1cm5zIHRydWUgaWYgYSBuZXcgcG9wdXAgaGFzIGJlZW4gb3BlbmVkXHJcbiAqL1xyXG4gIGJ1c3lTcGlubmVyKG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHByb2dyZXNzOiBudW1iZXIgPSAtMSxcclxuICAgIHByb2dyZXNzTW9kZTogJ2RldGVybWluYXRlJyB8ICdpbmRldGVybWluYXRlJyA9ICdpbmRldGVybWluYXRlJyxcclxuICAgIGFjdGlvbjogT2JzZXJ2YWJsZTxPYmplY3Q+ID0gbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0QnVzeShtZXNzYWdlLCBwcm9ncmVzcywgcHJvZ3Jlc3NNb2RlLCAnc3Bpbm5lcicsIGFjdGlvbik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIERpc3BsYXkgYSB3YWl0IHNwaW5uZXIgXHJcbiAgKiBAcGFyYW0gYWN0aW9uIDogYWN0aW9uIHRvIGRvIGR1cmluZyB0aGUgZXhlY3V0aW9uIChvcHRpb25hbClcclxuICAqIEByZXR1cm5zIHRydWUgaWYgYSBuZXcgcG9wdXAgaGFzIGJlZW4gb3BlbmVkXHJcbiAgKi9cclxuICB3YWl0KFxyXG4gICAgYWN0aW9uOiBPYnNlcnZhYmxlPE9iamVjdD4gPSBudWxsKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXRCdXN5KG51bGwsIG51bGwsIG51bGwsICd3YWl0JywgYWN0aW9uKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBEaXNwbGF5IGFuIGluZm9ybWF0aW9uIGRpYWxvZ1xyXG4gICAqIEBwYXJhbSBtZXNzYWdlIDogbWVzc2FnZVxyXG4gICAqIEBwYXJhbSB0aXRsZSA6IGRpbG9nIHRpdGxlXHJcbiAgICogQHBhcmFtIG9rQ2FwdGlvbiA6IG9rIGJ1dHRvbiBjYXB0aW9uXHJcbiAgICogQHBhcmFtIHdpZHRoOiB0aGUgcHJlZmVycmVkIHdpZHRoXHJcbiAgICogQHBhcmFtIGRpc21pc3NBZnRlcjogaXMgc3BlY2lmaWVkLCB0aGUgZGlhbG9nIHdpbGwgYmUgY2xvc2VkIGFmdGVyIGRpc21pc3NBZnRlciBtaWxsaXNlY29uZHNcclxuICAgKi9cclxuICBpbmZvKFxyXG4gICAgbWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdGl0bGU6IHN0cmluZyA9ICdJbmZvcm1hemlvbmknLFxyXG4gICAgb2tDYXB0aW9uOiBzdHJpbmcgPSAnT2snLFxyXG4gICAgd2lkdGg6IG51bWJlciA9IDUwMCxcclxuICAgIGRpc21pc3NBZnRlcjogbnVtYmVyID0gbnVsbFxyXG4gICk6IE1hdERpYWxvZ1JlZjxJbmZvRGlhbG9nQ29tcG9uZW50PiB7XHJcbiAgICByZXR1cm4gdGhpcy5vcGVuKEluZm9EaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgYXJpYUxhYmVsOiAnaW5mb3JtYXppb25pJyxcclxuICAgICAgYXV0b0ZvY3VzOiB0cnVlLFxyXG4gICAgICByZXN0b3JlRm9jdXM6IGZhbHNlLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSxcclxuICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgb2tDYXB0aW9uOiBva0NhcHRpb24sXHJcbiAgICAgICAgZGlzbWlzc0FmdGVyOiBkaXNtaXNzQWZ0ZXIsXHJcbiAgICAgICAgYXBwZWFyYW5jZTogJ2ZpbGwnXHJcbiAgICAgIH0gYXMgSW5mb0RpYWxvZ0RhdGEsXHJcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgbWluV2lkdGg6ICczNzVweCcsXHJcbiAgICAgIG1heFdpZHRoOiB3aWR0aCArICdweCcsXHJcbiAgICAgIHdpZHRoOiAnOTklJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwbGF5IGFuIGVycm9yIGRpYWxvZ1xyXG4gICAqIEBwYXJhbSBtZXNzYWdlIDogbWVzc2FnZVxyXG4gICAqIEBwYXJhbSBsb2cgOiB0aGUgZXJyb3IgbG9nXHJcbiAgICogQHBhcmFtIHRpdGxlIDogZGlsb2cgdGl0bGVcclxuICAgKiBAcGFyYW0gb2tDYXB0aW9uIDogb2sgYnV0dG9uIGNhcHRpb25cclxuICAgKiBAcGFyYW0gd2lkdGg6IHRoZSBwcmVmZXJyZWQgd2lkdGhcclxuICAgKiBAcGFyYW0gZGlzbWlzc0FmdGVyOiBpcyBzcGVjaWZpZWQsIHRoZSBkaWFsb2cgd2lsbCBiZSBjbG9zZWQgYWZ0ZXIgZGlzbWlzc0FmdGVyIG1pbGxpc2Vjb25kcyAgIFxyXG4gICAqL1xyXG4gIGVycm9yKFxyXG4gICAgbWVzc2FnZTogc3RyaW5nLFxyXG4gICAgbG9nOiBzdHJpbmcgPSBudWxsLFxyXG4gICAgdGl0bGU6IHN0cmluZyA9ICdFcnJvcmUnLFxyXG4gICAgb2tDYXB0aW9uOiBzdHJpbmcgPSAnT2snLFxyXG4gICAgd2lkdGg6IG51bWJlciA9IDUwMCxcclxuICAgIGRpc21pc3NBZnRlcjogbnVtYmVyID0gbnVsbFxyXG4gICk6IE1hdERpYWxvZ1JlZjxJbmZvRGlhbG9nQ29tcG9uZW50PiB7XHJcbiAgICBpZiAodGhpcy5lcnJvckRpYWxvZ1JlZikge1xyXG4gICAgICAvLyBKdXN0IGNoYW5nZSBjdXJyZW50IGVycm9yXHJcbiAgICAgIHRoaXMuZXJyb3JEaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UuZGF0YSA9IHtcclxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBsb2c6IGxvZyxcclxuICAgICAgICBva0NhcHRpb246IG9rQ2FwdGlvbixcclxuICAgICAgICBkaXNtaXNzQWZ0ZXI6IGRpc21pc3NBZnRlclxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4gdGhpcy5lcnJvckRpYWxvZ1JlZjtcclxuICAgIH1cclxuICAgIHRoaXMuZXJyb3JEaWFsb2dSZWYgPSB0aGlzLm9wZW4oSW5mb0RpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBhcmlhTGFiZWw6ICdlcnJvcmUnLFxyXG4gICAgICBhdXRvRm9jdXM6IHRydWUsXHJcbiAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBsb2c6IGxvZyxcclxuICAgICAgICBva0NhcHRpb246IG9rQ2FwdGlvbixcclxuICAgICAgICBkaXNtaXNzQWZ0ZXI6IGRpc21pc3NBZnRlcixcclxuICAgICAgICBhcHBlYXJhbmNlOiAnZmlsbCdcclxuICAgICAgfSBhcyBJbmZvRGlhbG9nRGF0YSxcclxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxyXG4gICAgICBtaW5XaWR0aDogJzM3NXB4JyxcclxuICAgICAgbWF4V2lkdGg6IHdpZHRoICsgJ3B4JyxcclxuICAgICAgd2lkdGg6ICc5OSUnXHJcbiAgICB9KTtcclxuICAgIHJldHVybiB0aGlzLmVycm9yRGlhbG9nUmVmO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGxheSB0b2FzdFxyXG4gICAqIEBwYXJhbSBtZXNzYWdlIDogbWVzc2FnZSB0byBkaXNwbGF5XHJcbiAgICogQHBhcmFtIGR1cmF0aW9uIDogZHVyYXRpb24gaW4gbXNlY1xyXG4gICAqIEBwYXJhbSBpY29uIDogdGhlIG1hdC1pY29uIHRvIGRpc3BsYXlcclxuICAgKiBAcGFyYW0gYWN0aW9uQ2FwdGlvbiBhY3Rpb24gYnV0dG9uIGNhcHRpb25cclxuICAgKi9cclxuICB0b2FzdChcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIGR1cmF0aW9uOiBudW1iZXIgPSAyMDAwLFxyXG4gICAgaWNvbjogc3RyaW5nID0gJ2NoZWNrJyxcclxuICAgIGFjdGlvbkNhcHRpb246IHN0cmluZyA9IG51bGxcclxuICApOiBNYXRTbmFja0JhclJlZjxUb2FzdENvbXBvbmVudD4ge1xyXG4gICAgdGhpcy5jbGVhckJ1c3koKTtcclxuICAgIGlmIChkdXJhdGlvbiA9PT0gLTEpIGR1cmF0aW9uID0gMjAwMDsgLy8gZGVmYXVsdFxyXG4gICAgbGV0IHRvYXN0UmVmID0gdGhpcy5zbmFja0Jhci5vcGVuRnJvbUNvbXBvbmVudChUb2FzdENvbXBvbmVudCwge1xyXG4gICAgICBkdXJhdGlvbjogZHVyYXRpb24sXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxyXG4gICAgICAgIGljb246IGljb24sXHJcbiAgICAgICAgYWN0aW9uQ2FwdGlvbjogYWN0aW9uQ2FwdGlvblxyXG4gICAgICB9IGFzIFRvYXN0RGF0YVxyXG4gICAgfSk7XHJcbiAgICB0b2FzdFJlZi5pbnN0YW5jZS5hY3Rpb24uc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdG9hc3RSZWYuZGlzbWlzcygpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gdG9hc3RSZWY7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwbGF5IGEgY29uZmlybSBkaWFsb2dcclxuICAgKiBAcGFyYW0gbWVzc2FnZSA6IGh0bWwgbWVzc2FnZVxyXG4gICAqIEBwYXJhbSB0aXRsZSA6IGRpYWxvZyB0aXRsZVxyXG4gICAqIEBwYXJhbSBva0NhcHRpb24gOiBvayBidXR0b24gY2FwdGlvblxyXG4gICAqIEBwYXJhbSBjYW5jZWxDYXB0aW9uIDogY2FuY2VsIGJ1dHRvbiBjYXB0aW9uXHJcbiAgICogQHBhcmFtIG90aGVyQ2FwdGlvbiA6IG90aGVyIGJ1dHRvbiBjYXB0aW9uXHJcbiAgICogQHBhcmFtIG9wdGlvbnM6IGNoZWNrIGJveCBvcHRpb25zXHJcbiAgICogQHBhcmFtIHdpZHRoOiB0aGUgcHJlZmVycmVkIHdpZHRoXHJcbiAgICovXHJcbiAgY29uZmlybShcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHRpdGxlOiBzdHJpbmcgPSAnQ29uZmVybWEnLFxyXG4gICAgb2tDYXB0aW9uOiBzdHJpbmcgPSAnU2knLFxyXG4gICAgY2FuY2VsQ2FwdGlvbjogc3RyaW5nID0gJ05vJyxcclxuICAgIG90aGVyQ2FwdGlvbjogc3RyaW5nID0gbnVsbCxcclxuICAgIG9wdGlvbnM6IGFueSA9IG51bGwsXHJcbiAgICB3aWR0aDogbnVtYmVyID0gNTAwXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vcGVuKENvbmZpcm1EaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgYXJpYUxhYmVsOiAnY29uZmVybWEnLFxyXG4gICAgICBhdXRvRm9jdXM6IHRydWUsXHJcbiAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBva0NhcHRpb246IG9rQ2FwdGlvbixcclxuICAgICAgICBjYW5jZWxDYXB0aW9uOiBjYW5jZWxDYXB0aW9uLFxyXG4gICAgICAgIG90aGVyQ2FwdGlvbjogb3RoZXJDYXB0aW9uLFxyXG4gICAgICAgIG9wdGlvbnM6IG9wdGlvbnMsXHJcbiAgICAgICAgYXBwZWFyYW5jZTogJ2ZpbGwnXHJcbiAgICAgIH0gYXMgQ29uZmlybURpYWxvZ0RhdGEsXHJcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLCAgIFxyXG4gICAgICBtaW5XaWR0aDogJzM3NXB4JyxcclxuICAgICAgbWF4V2lkdGg6IHdpZHRoICsgJ3B4JyxcclxuICAgICAgd2lkdGg6ICc5OSUnXHJcbiAgICB9KTtcclxuICB9XHJcbiAgXHJcbn1cclxuXHJcbiJdfQ==
|
|
400
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkvdWkvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUNMLG1CQUFtQixFQUNwQixNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFDTCxzQkFBc0IsRUFFdkIsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsbUJBQW1CLEVBRXBCLE1BQU0sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBYSxNQUFNLGtDQUFrQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7OztBQU96QyxNQUFNLE9BQU8sYUFBYyxTQUFRLFNBQVM7SUFTMUMsWUFDUyxNQUFpQixFQUNqQixPQUFnQixFQUNoQixRQUFxQixFQUNyQixRQUEwQjtRQUVqQyxLQUFLLEVBQUUsQ0FBQztRQUxELFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBUjNCLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFDckIsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQVVwQyxrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FB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QyxTQUFTLEVBQUUsVUFBVTtZQUNyQixTQUFTLEVBQUUsSUFBSTtZQUNmLFlBQVksRUFBRSxLQUFLO1lBQ25CLElBQUksRUFBRTtnQkFDSixPQUFPLEVBQUUsT0FBTztnQkFDaEIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixZQUFZLEVBQUUsWUFBWTtnQkFDMUIsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLFVBQVUsRUFBRSxNQUFNO2FBQ0U7WUFDdEIsaUJBQWlCLEVBQUUsS0FBSztZQUN4QixZQUFZLEVBQUUsSUFBSTtZQUNsQixRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUUsS0FBSyxHQUFHLElBQUk7WUFDdEIsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQWpiVSxhQUFhO2tIQUFiLGFBQWEsY0FGWixNQUFNOzsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBQbGF0Zm9ybUxvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIsIE1hdFNuYWNrQmFyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgU3lzdGVtVXRpbHMgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1xyXG4gIEJ1c3lEaWFsb2dDb21wb25lbnRcclxufSBmcm9tICcuLi9kaWFsb2dzL2J1c3kvYnVzeS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBDb25maXJtRGlhbG9nQ29tcG9uZW50LFxyXG4gIENvbmZpcm1EaWFsb2dEYXRhXHJcbn0gZnJvbSAnLi4vZGlhbG9ncy9jb25maXJtL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgSW5mb0RpYWxvZ0NvbXBvbmVudCxcclxuICBJbmZvRGlhbG9nRGF0YVxyXG59IGZyb20gJy4uL2RpYWxvZ3MvaW5mby9pbmZvLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdENvbXBvbmVudCwgVG9hc3REYXRhIH0gZnJvbSAnLi4vZGlhbG9ncy90b2FzdC90b2FzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVSVNlcnZpY2UgfSBmcm9tICcuL3VpLnNlcnZpY2UnO1xyXG5cclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaWFsb2dTZXJ2aWNlIGV4dGVuZHMgVUlTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBidXN5RGlhbG9nUmVmOiBPdmVybGF5UmVmO1xyXG4gIHByaXZhdGUgYnVzeUNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEJ1c3lEaWFsb2dDb21wb25lbnQ+O1xyXG4gIHByaXZhdGUgZXJyb3JEaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxJbmZvRGlhbG9nQ29tcG9uZW50PjtcclxuICBwcml2YXRlIHBvcEhpc3Rvcnk6IGFueSA9IFtdO1xyXG4gIHByaXZhdGUgcG9wU3RhdGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHByaXZhdGUgcG9wcGluZ1N0YXRlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHVibGljIG92ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwdWJsaWMgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxyXG4gICAgcHVibGljIGxvY2F0aW9uOiBQbGF0Zm9ybUxvY2F0aW9uLFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuXHJcbiAgICAvLyBIYW5kbGUgZGlhbG9nIGNsb3NlIHdoZW4gYmFjayBidXR0b24gaXMgY2xpY2tlZFxyXG4gICAgdGhpcy5sb2NhdGlvbi5vblBvcFN0YXRlKCgpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLnBvcHBpbmdTdGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IGNvdW50ID0gdGhpcy5kaWFsb2cub3BlbkRpYWxvZ3MubGVuZ3RoO1xyXG4gICAgICAgIGlmIChjb3VudCA+IDApIHtcclxuICAgICAgICAgIC8vIERpc2FibGUgcG9wIHNhdGUgaWYgY2FzZVxyXG4gICAgICAgICAgdGhpcy5wb3BTdGF0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgLy8gQ2xvc2UgZGlhbG9nXHJcbiAgICAgICAgICB0aGlzLmRpYWxvZy5vcGVuRGlhbG9nc1tjb3VudCAtIDFdLmNsb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgdGhpcy5wb3BwaW5nU3RhdGUgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgdXJsIGZyb20gIyBpbiBjYXNlIG9mIHBhZ2UgcmVsb2FkXHJcbiAgICogQHBhcmFtIHJlc2V0UG9wcGluZ1N0YXRlOiB0cnVlIGlmIHBvcHBpbmcgc3RhdGUgc2hvdWxkIGJlIHNldCB0byBmYWxzZVxyXG4gICAqL1xyXG4gIGNsZWFyVXJsKHJlc2V0UG9wcGluZ1N0YXRlOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcclxuICAgIGNvbnN0IHVybCA9IGxvY2F0aW9uLmhyZWY7XHJcbiAgICBsZXQgbCA9IHVybC5sZW5ndGg7XHJcbiAgICB3aGlsZSAobCA+PSAwICYmIHVybFtsIC0gMV0gPT09ICcjJykgbC0tO1xyXG4gICAgaWYgKGwgPCB1cmwubGVuZ3RoKVxyXG4gICAgICBoaXN0b3J5LnJlcGxhY2VTdGF0ZSh7fSwgJycsIHVybC5zdWJzdHJpbmcoMCwgbCkpO1xyXG4gICAgaWYgKHJlc2V0UG9wcGluZ1N0YXRlKVxyXG4gICAgICB0aGlzLnBvcHBpbmdTdGF0ZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xvc2UgYWxsIGRpYWxvZ3NcclxuICAgKi9cclxuICBjbG9zZUFsbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nLm9wZW5EaWFsb2dzLmZvckVhY2gobiA9PiB7XHJcbiAgICAgIG4uY2xvc2UoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIE9wZW4gYSBkaWFsb2dcclxuICAgKiBAcGFyYW0gY29tcG9uZW50IDogdGhlIGNvbXBvbmVudFxyXG4gICAqIEBwYXJhbSBjb25maWcgOiB0aGUgY29uZmlnXHJcbiAgICogQHJldHVybnM6IHRoZSBkaWFsb2cgb2JqZWN0XHJcbiAgICovXHJcbiAgb3Blbihjb21wb25lbnQ6IGFueSwgY29uZmlnOiBhbnkpOiBNYXREaWFsb2dSZWY8YW55PiB7XHJcbiAgICBpZiAoIVN5c3RlbVV0aWxzLmlzQnJvd3NlcigpKSByZXR1cm4gbnVsbDtcclxuICAgIHRoaXMuY2xlYXJCdXN5KCk7XHJcbiAgICByZXR1cm4gdGhpcy5vcGVuRGlhbG9nKGNvbXBvbmVudCwgY29uZmlnKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICogT3BlbiBhIGRpYWxvZ1xyXG4gKiBAcGFyYW0gY29tcG9uZW50IDogdGhlIGNvbXBvbmVudFxyXG4gKiBAcGFyYW0gY29uZmlnIDogdGhlIGNvbmZpZ1xyXG4gKiBAcmV0dXJucyA6IHRoZSBkaWFsb2cgb2JqZWN0XHJcbiAqL1xyXG4gIHByaXZhdGUgb3BlbkRpYWxvZyhjb21wb25lbnQ6IGFueSwgY29uZmlnOiBhbnkpOiBNYXREaWFsb2dSZWY8YW55PiB7XHJcbiAgICAvLyBXZSB3aWxsIHRha2UgY2FyZSBvZiBuYXZpZ2F0aW9uXHJcbiAgICBjb25maWcuY2xvc2VPbk5hdmlnYXRpb24gPSBmYWxzZTtcclxuICAgIGxldCBkID0gdGhpcy5kaWFsb2cub3Blbihjb21wb25lbnQsIGNvbmZpZyk7XHJcbiAgICBkLmFmdGVyT3BlbmVkKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5wdXNoRGlhbG9nKGQuaWQpO1xyXG4gICAgfSk7XHJcbiAgICBkLmJlZm9yZUNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucG9wRGlhbG9nKGQuaWQpOyAgICAgICBcclxuICAgIH0pO1xyXG4gICAgZC5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIC8vIEZpbmFsIGNsZWFudXAgb2YgbWlkZGxlIG9iamVjdHNcclxuICAgICAgdGhpcy5lcnJvckRpYWxvZ1JlZiA9IG51bGw7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgZWxlbWVudCBoZWlnaHQgaW5jbHVkaW5nIG1hcmdpbnNcclxuICAgKiBAcGFyYW0gZWxlbWVudCAtIGVsZW1lbnRcclxuICAgKiBAcmV0dXJucyB0aGUgaGVpZ2h0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvdXRlckhlaWdodChlbGVtZW50OiBhbnkpOiBudW1iZXIge1xyXG4gICAgaWYgKCFTeXN0ZW1VdGlscy5pc0Jyb3dzZXIoKSkgcmV0dXJuIDA7XHJcbiAgICBjb25zdCBoZWlnaHQgPSBlbGVtZW50Lm9mZnNldEhlaWdodCxcclxuICAgICAgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcclxuICAgIGxldCBoID0gWyd0b3AnLCAnYm90dG9tJ11cclxuICAgICAgLm1hcChzaWRlID0+IHBhcnNlSW50KHN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ21hcmdpbi0nICsgc2lkZSkpKVxyXG4gICAgICAucmVkdWNlKCh0b3RhbCwgc2lkZSkgPT4gdG90YWwgKyBzaWRlLCBoZWlnaHQpO1xyXG4gICAgcmV0dXJuIGg7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gY3VycmVudCBkaWFsb2cgaGVpZ2h0XHJcbiAgICovXHJcbiAgZ2V0Q3VycmVudERpYWxvZ0hlaWdodCgpOiBudW1iZXIge1xyXG4gICAgaWYgKCFTeXN0ZW1VdGlscy5pc0Jyb3dzZXIoKSkgcmV0dXJuIDA7XHJcbiAgICBjb25zdCBjb3VudCA9IHRoaXMucG9wSGlzdG9yeS5sZW5ndGg7XHJcbiAgICBpZiAoY291bnQgPiAwKSB7XHJcbiAgICAgIGxldCBpZCA9IHRoaXMucG9wSGlzdG9yeVtjb3VudCAtIDFdLmlkO1xyXG4gICAgICBsZXQgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcclxuICAgICAgaWYgKGVsZW0gJiYgZWxlbS5jbGllbnRIZWlnaHQgPiAwKSByZXR1cm4gZWxlbS5jbGllbnRIZWlnaHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiBjdXJyZW50IGRpYWxvZyBzY3JvbGxhYmxlIGhlaWdodFxyXG4gICAqL1xyXG4gIGdldEN1cnJlbnREaWFsb2dTY3JvbGxhYmxlSGVpZ2h0KFxyXG4gICAgZml4ZWRQYXJ0c0NsYXNzTmFtZTogc3RyaW5nW10sXHJcbiAgICBtaW5pbWFsSGVpZ2h0OiBudW1iZXJcclxuICApOiBudW1iZXIge1xyXG4gICAgaWYgKCFTeXN0ZW1VdGlscy5pc0Jyb3dzZXIoKSkgcmV0dXJuIDA7XHJcbiAgICBsZXQgaCA9IHRoaXMuZ2V0Q3VycmVudERpYWxvZ0hlaWdodCgpO1xyXG4gICAgaWYgKGZpeGVkUGFydHNDbGFzc05hbWUpIHtcclxuICAgICAgZml4ZWRQYXJ0c0NsYXNzTmFtZS5mb3JFYWNoKG4gPT4ge1xyXG4gICAgICAgIGNvbnN0IGVsZW1zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShuKTtcclxuICAgICAgICBpZiAoZWxlbXMpIHtcclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaCAtPSB0aGlzLm91dGVySGVpZ2h0KGVsZW1zW2ldKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKGggPCBtaW5pbWFsSGVpZ2h0KSBoID0gbWluaW1hbEhlaWdodDtcclxuICAgIHJldHVybiBoO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHVzaCBhIGRpYWxvZyBpbmZvIHRoZSBoaXN0b3J5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwdXNoRGlhbG9nKGlkOiBzdHJpbmcpIHtcclxuICAgIGlmICghU3lzdGVtVXRpbHMuaXNCcm93c2VyKCkpIHJldHVybjtcclxuICAgIGxldCBpbmRleCA9IGhpc3RvcnkubGVuZ3RoO1xyXG4gICAgaGlzdG9yeS5wdXNoU3RhdGUoeyBpbmRleDogaW5kZXggfSwgbnVsbCwgbG9jYXRpb24uaHJlZiArICcjJyk7XHJcbiAgICB0aGlzLnBvcEhpc3RvcnkucHVzaCh7IGlkOiBpZCwgdmFsdWU6IGluZGV4IH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUG9wIGEgZGlhbG9nIGZyb20gdGhlIGhpc3RvcnlcclxuICAgKi9cclxuICBwcml2YXRlIHBvcERpYWxvZyhpZDogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcclxuICAgIGlmICghU3lzdGVtVXRpbHMuaXNCcm93c2VyKCkpIHJldHVybjtcclxuICAgIGlmICh0aGlzLnBvcFN0YXRlKSB7XHJcbiAgICAgIHRoaXMucG9wcGluZ1N0YXRlID0gdHJ1ZTtcclxuICAgICAgbGV0IHBvcHBlZCA9IDE7XHJcbiAgICAgIGlmIChpZCkge1xyXG4gICAgICAgIGNvbnN0IHAgPSBTeXN0ZW1VdGlscy5hcnJheUZpbmRJbmRleEJ5S2V5KHRoaXMucG9wSGlzdG9yeSwgJ2lkJywgaWQpO1xyXG4gICAgICAgIGlmIChwICE9IC0xKSB7XHJcbiAgICAgICAgICBwb3BwZWQgPSB0aGlzLnBvcEhpc3RvcnlbcF0udmFsdWUgLSBoaXN0b3J5LnN0YXRlLmluZGV4O1xyXG4gICAgICAgICAgaWYgKHBvcHBlZCkgcG9wcGVkKys7XHJcbiAgICAgICAgICBlbHNlIHBvcHBlZCA9IDE7XHJcbiAgICAgICAgICB0aGlzLnBvcEhpc3Rvcnkuc3BsaWNlKHAsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB1cmwgPSBsb2NhdGlvbi5ocmVmO1xyXG4gICAgICAgIGxldCBsID0gdXJsLmxlbmd0aDtcclxuICAgICAgICB3aGlsZSAobCA+PSAwICYmIHVybFtsIC0gMV0gPT09ICcjJyAmJiBwb3BwZWQgPiAwKSB7XHJcbiAgICAgICAgICBsLS07XHJcbiAgICAgICAgICBwb3BwZWQtLTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGwgPCB1cmwubGVuZ3RoKVxyXG4gICAgICAgICAgaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sICcnLCB1cmwuc3Vic3RyaW5nKDAsIGwpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5wb3BTdGF0ZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgdGhlIGJ1c3kgb3ZlcmxheVxyXG4gICAqIEBwYXJhbSB0eXBlOiB0aGUgdHlwZSBvZiBzcGlubmVyIHRvIGNyZWF0ZVxyXG4gICAqIEByZXR1cm5zOiB0aGUgbmV3IG92ZXJsYXlcclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZUJ1c3koKTogT3ZlcmxheVJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOididXN5LWJhY2tkcm9wJyxcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKClcclxuICAgICAgICAuZ2xvYmFsKClcclxuICAgICAgICAuY2VudGVySG9yaXpvbnRhbGx5KClcclxuICAgICAgICAuY2VudGVyVmVydGljYWxseSgpXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFyIGJ1c3kgZGlhbG9nXHJcbiAgICovXHJcbiAgY2xlYXJCdXN5KCkge1xyXG4gICAgdGhpcy5idXN5RGlhbG9nUmVmPy5kZXRhY2goKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBidXN5IGRpYWxvZ1xyXG4gICAqIEBwYXJhbSBtZXNzYWdlIDogbmV3IG1lc3NhZ2VcclxuICAgKiBAcGFyYW0gcHJvZ3Jlc3MgOiBuZXcgcHJvZ3Jlc3NcclxuICAgKiBAcGFyYW0gcHJvZ3Jlc3NNb2RlIDogbmV3IG1vZGUgKGRlZmF1bHQgPSAnaW5kZXRlcm1pbmF0ZScpXHJcbiAgICogQHBhcmFtIHR5cGU6IG5ldyB0eXBlIChkZWZhdWx0ID0gJ2JhcicpXHJcbiAgICogQHBhcmFtIGFjdGlvbiA6IGFjdGlvbiB0byBkbyBkdXJpbmcgdGhlIGV4ZWN1dGlvbiAob3B0aW9uYWwpXHJcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBhIG5ldyBwb3B1cCBoYXMgYmVlbiBvcGVuZWRcclxuICAgKi9cclxuICBzZXRCdXN5KFxyXG4gICAgbWVzc2FnZTogc3RyaW5nLFxyXG4gICAgcHJvZ3Jlc3M6IG51bWJlciA9IC0xLFxyXG4gICAgcHJvZ3Jlc3NNb2RlOiAnZGV0ZXJtaW5hdGUnIHwgJ2luZGV0ZXJtaW5hdGUnID0gJ2luZGV0ZXJtaW5hdGUnLFxyXG4gICAgdHlwZTogJ2JhcicgfCAnc3Bpbm5lcicgfCAnd2FpdCcgPSAnYmFyJyxcclxuICAgIGFjdGlvbjogT2JzZXJ2YWJsZTxPYmplY3Q+IHwgbnVsbCA9IG51bGxcclxuICApOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGV4aXN0cyA9IHRoaXMuYnVzeURpYWxvZ1JlZiAmJiB0aGlzLmJ1c3lEaWFsb2dSZWYuaGFzQXR0YWNoZWQoKTtcclxuICAgIGlmIChleGlzdHMpIHtcclxuICAgICAgdGhpcy5idXN5Q29tcG9uZW50UmVmLmluc3RhbmNlLnNldChtZXNzYWdlLCBwcm9ncmVzcywgcHJvZ3Jlc3NNb2RlLCB0eXBlKTsgLy8gVXNlIHRoZSBzYW1lICAgICAgXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBPcGVuIG5ld1xyXG4gICAgICBpZiAoIXRoaXMuYnVzeURpYWxvZ1JlZilcclxuICAgICAgICB0aGlzLmJ1c3lEaWFsb2dSZWYgPSB0aGlzLmNyZWF0ZUJ1c3koKTtcclxuICAgICAgdGhpcy5idXN5Q29tcG9uZW50UmVmID0gdGhpcy5idXN5RGlhbG9nUmVmLmF0dGFjaChuZXcgQ29tcG9uZW50UG9ydGFsKEJ1c3lEaWFsb2dDb21wb25lbnQpKTtcclxuICAgICAgdGhpcy5idXN5Q29tcG9uZW50UmVmLmluc3RhbmNlLnNldChtZXNzYWdlLCBwcm9ncmVzcywgcHJvZ3Jlc3NNb2RlLCB0eXBlKTtcclxuICAgICAgaWYgKGFjdGlvbikge1xyXG4gICAgICAgIGFjdGlvblxyXG4gICAgICAgICAgLnBpcGUoZmlyc3QoKSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsZWFyQnVzeSgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiAhZXhpc3RzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGxheSBhIGJ1c3kgZGlhbG9nXHJcbiAgICogQHBhcmFtIG1lc3NhZ2UgOiBuZXcgbWVzc2FnZVxyXG4gICAqIEBwYXJhbSBwcm9ncmVzcyA6IG5ldyBwcm9ncmVzc1xyXG4gICAqIEBwYXJhbSBwcm9ncmVzc01vZGUgOiBuZXcgbW9kZSAoZGVmYXVsdCA9ICdpbmRldGVybWluYXRlJylcclxuICAgKiBAcGFyYW0gYWN0aW9uIDogYWN0aW9uIHRvIGRvIGR1cmluZyB0aGUgZXhlY3V0aW9uIChvcHRpb25hbClcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGEgbmV3IHBvcHVwIGhhcyBiZWVuIG9wZW5lZFxyXG4gICAqL1xyXG4gIGJ1c3kobWVzc2FnZTogc3RyaW5nLFxyXG4gICAgcHJvZ3Jlc3M6IG51bWJlciA9IC0xLFxyXG4gICAgcHJvZ3Jlc3NNb2RlOiAnZGV0ZXJtaW5hdGUnIHwgJ2luZGV0ZXJtaW5hdGUnID0gJ2luZGV0ZXJtaW5hdGUnLFxyXG4gICAgYWN0aW9uOiBPYnNlcnZhYmxlPE9iamVjdD4gfCBudWxsID0gbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0QnVzeShtZXNzYWdlLCBwcm9ncmVzcywgcHJvZ3Jlc3NNb2RlLCAnYmFyJywgYWN0aW9uKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBEaXNwbGF5IGEgYnVzeSBzcGlubmVyIGRpYWxvZ1xyXG4gKiBAcGFyYW0gbWVzc2FnZSA6IG5ldyBtZXNzYWdlXHJcbiAqIEBwYXJhbSBwcm9ncmVzcyA6IG5ldyBwcm9ncmVzc1xyXG4gKiBAcGFyYW0gcHJvZ3Jlc3NNb2RlIDogbmV3IG1vZGUgKGRlZmF1bHQgPSAnaW5kZXRlcm1pbmF0ZScpXHJcbiAqIEBwYXJhbSBhY3Rpb24gOiBhY3Rpb24gdG8gZG8gZHVyaW5nIHRoZSBleGVjdXRpb24gKG9wdGlvbmFsKVxyXG4gKiBAcmV0dXJucyB0cnVlIGlmIGEgbmV3IHBvcHVwIGhhcyBiZWVuIG9wZW5lZFxyXG4gKi9cclxuICBidXN5U3Bpbm5lcihtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICBwcm9ncmVzczogbnVtYmVyID0gLTEsXHJcbiAgICBwcm9ncmVzc01vZGU6ICdkZXRlcm1pbmF0ZScgfCAnaW5kZXRlcm1pbmF0ZScgPSAnaW5kZXRlcm1pbmF0ZScsXHJcbiAgICBhY3Rpb246IE9ic2VydmFibGU8T2JqZWN0PiB8IG51bGwgPSBudWxsKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXRCdXN5KG1lc3NhZ2UsIHByb2dyZXNzLCBwcm9ncmVzc01vZGUsICdzcGlubmVyJywgYWN0aW9uKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogRGlzcGxheSBhIHdhaXQgc3Bpbm5lciBcclxuICAqIEBwYXJhbSBhY3Rpb24gOiBhY3Rpb24gdG8gZG8gZHVyaW5nIHRoZSBleGVjdXRpb24gKG9wdGlvbmFsKVxyXG4gICogQHJldHVybnMgdHJ1ZSBpZiBhIG5ldyBwb3B1cCBoYXMgYmVlbiBvcGVuZWRcclxuICAqL1xyXG4gIHdhaXQoXHJcbiAgICBhY3Rpb246IE9ic2VydmFibGU8T2JqZWN0PiB8IG51bGwgPSBudWxsKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXRCdXN5KG51bGwsIG51bGwsIG51bGwsICd3YWl0JywgYWN0aW9uKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBEaXNwbGF5IGFuIGluZm9ybWF0aW9uIGRpYWxvZ1xyXG4gICAqIEBwYXJhbSBtZXNzYWdlIDogbWVzc2FnZVxyXG4gICAqIEBwYXJhbSB0aXRsZSA6IGRpYWxvZyB0aXRsZVxyXG4gICAqIEBwYXJhbSBva0NhcHRpb24gOiBvayBidXR0b24gY2FwdGlvblxyXG4gICAqIEBwYXJhbSB3aWR0aDogdGhlIHByZWZlcnJlZCB3aWR0aFxyXG4gICAqIEBwYXJhbSBkaXNtaXNzQWZ0ZXI6IGlmIHNwZWNpZmllZCwgdGhlIGRpYWxvZyB3aWxsIGJlIGNsb3NlZCBhZnRlciBkaXNtaXNzQWZ0ZXIgbWlsbGlzZWNvbmRzXHJcbiAgICogQHBhcmFtIGRldGFpbHM6IGlmIHNwZWNpZmllZCwgdGhlIGRldGFpbHMgaW5mb1xyXG4gICAqL1xyXG4gIGluZm8oXHJcbiAgICBtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB0aXRsZTogc3RyaW5nID0gJ0luZm9ybWF6aW9uaScsXHJcbiAgICBva0NhcHRpb246IHN0cmluZyA9ICdPaycsXHJcbiAgICB3aWR0aDogbnVtYmVyID0gNTAwLFxyXG4gICAgZGlzbWlzc0FmdGVyOiBudW1iZXIgfCBudWxsID0gbnVsbCxcclxuICAgIGRldGFpbHM6IHN0cmluZyB8IG51bGwgPSBudWxsXHJcbiAgKTogTWF0RGlhbG9nUmVmPEluZm9EaWFsb2dDb21wb25lbnQ+IHtcclxuICAgIHJldHVybiB0aGlzLm9wZW4oSW5mb0RpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBhcmlhTGFiZWw6ICdpbmZvcm1hemlvbmknLFxyXG4gICAgICBhdXRvRm9jdXM6IHRydWUsXHJcbiAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBva0NhcHRpb246IG9rQ2FwdGlvbixcclxuICAgICAgICBkaXNtaXNzQWZ0ZXI6IGRpc21pc3NBZnRlcixcclxuICAgICAgICBkZXRhaWxzOiBkZXRhaWxzLFxyXG4gICAgICAgIGFwcGVhcmFuY2U6ICdmaWxsJ1xyXG4gICAgICB9IGFzIEluZm9EaWFsb2dEYXRhLFxyXG4gICAgICBjbG9zZU9uTmF2aWdhdGlvbjogZmFsc2UsXHJcbiAgICAgIG1pbldpZHRoOiAnMzc1cHgnLFxyXG4gICAgICBtYXhXaWR0aDogd2lkdGggKyAncHgnLFxyXG4gICAgICB3aWR0aDogJzk5JSdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGxheSBhbiBlcnJvciBkaWFsb2dcclxuICAgKiBAcGFyYW0gbWVzc2FnZSA6IG1lc3NhZ2VcclxuICAgKiBAcGFyYW0gbG9nIDogdGhlIGVycm9yIGxvZ1xyXG4gICAqIEBwYXJhbSB0aXRsZSA6IGRpYWxvZyB0aXRsZVxyXG4gICAqIEBwYXJhbSBva0NhcHRpb24gOiBvayBidXR0b24gY2FwdGlvblxyXG4gICAqIEBwYXJhbSB3aWR0aDogdGhlIHByZWZlcnJlZCB3aWR0aFxyXG4gICAqIEBwYXJhbSBkaXNtaXNzQWZ0ZXI6IGlmIHNwZWNpZmllZCwgdGhlIGRpYWxvZyB3aWxsIGJlIGNsb3NlZCBhZnRlciBkaXNtaXNzQWZ0ZXIgbWlsbGlzZWNvbmRzICAgXHJcbiAgICovXHJcbiAgZXJyb3IoXHJcbiAgICBtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICBsb2c6IHN0cmluZyB8IG51bGwgPSBudWxsLFxyXG4gICAgdGl0bGU6IHN0cmluZyA9ICdFcnJvcmUnLFxyXG4gICAgb2tDYXB0aW9uOiBzdHJpbmcgPSAnT2snLFxyXG4gICAgd2lkdGg6IG51bWJlciA9IDUwMCxcclxuICAgIGRpc21pc3NBZnRlcjogbnVtYmVyIHwgbnVsbCA9IG51bGxcclxuICApOiBNYXREaWFsb2dSZWY8SW5mb0RpYWxvZ0NvbXBvbmVudD4ge1xyXG4gICAgaWYgKHRoaXMuZXJyb3JEaWFsb2dSZWYpIHtcclxuICAgICAgLy8gSnVzdCBjaGFuZ2UgY3VycmVudCBlcnJvclxyXG4gICAgICB0aGlzLmVycm9yRGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmRhdGEgPSB7XHJcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSxcclxuICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgZGV0YWlsczogbG9nLFxyXG4gICAgICAgIG9rQ2FwdGlvbjogb2tDYXB0aW9uLFxyXG4gICAgICAgIGRpc21pc3NBZnRlcjogZGlzbWlzc0FmdGVyXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB0aGlzLmVycm9yRGlhbG9nUmVmO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lcnJvckRpYWxvZ1JlZiA9IHRoaXMub3BlbihJbmZvRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIGFyaWFMYWJlbDogJ2Vycm9yZScsXHJcbiAgICAgIGF1dG9Gb2N1czogdHJ1ZSxcclxuICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXHJcbiAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgIGRldGFpbHM6IGxvZyxcclxuICAgICAgICBva0NhcHRpb246IG9rQ2FwdGlvbixcclxuICAgICAgICBkaXNtaXNzQWZ0ZXI6IGRpc21pc3NBZnRlcixcclxuICAgICAgICBhcHBlYXJhbmNlOiAnZmlsbCdcclxuICAgICAgfSBhcyBJbmZvRGlhbG9nRGF0YSxcclxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxyXG4gICAgICBtaW5XaWR0aDogJzM3NXB4JyxcclxuICAgICAgbWF4V2lkdGg6IHdpZHRoICsgJ3B4JyxcclxuICAgICAgd2lkdGg6ICc5OSUnXHJcbiAgICB9KTtcclxuICAgIHJldHVybiB0aGlzLmVycm9yRGlhbG9nUmVmO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGxheSB0b2FzdFxyXG4gICAqIEBwYXJhbSBtZXNzYWdlIDogbWVzc2FnZSB0byBkaXNwbGF5XHJcbiAgICogQHBhcmFtIGR1cmF0aW9uIDogZHVyYXRpb24gaW4gbXNlY1xyXG4gICAqIEBwYXJhbSBpY29uIDogdGhlIG1hdC1pY29uIHRvIGRpc3BsYXlcclxuICAgKiBAcGFyYW0gYWN0aW9uQ2FwdGlvbiBhY3Rpb24gYnV0dG9uIGNhcHRpb25cclxuICAgKi9cclxuICB0b2FzdChcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIGR1cmF0aW9uOiBudW1iZXIgPSAyMDAwLFxyXG4gICAgaWNvbjogc3RyaW5nID0gJ2NoZWNrJyxcclxuICAgIGFjdGlvbkNhcHRpb246IHN0cmluZyB8IG51bGwgPSBudWxsXHJcbiAgKTogTWF0U25hY2tCYXJSZWY8VG9hc3RDb21wb25lbnQ+IHtcclxuICAgIHRoaXMuY2xlYXJCdXN5KCk7XHJcbiAgICBpZiAoZHVyYXRpb24gPT09IC0xKSBkdXJhdGlvbiA9IDIwMDA7IC8vIGRlZmF1bHRcclxuICAgIGxldCB0b2FzdFJlZiA9IHRoaXMuc25hY2tCYXIub3BlbkZyb21Db21wb25lbnQoVG9hc3RDb21wb25lbnQsIHtcclxuICAgICAgZHVyYXRpb246IGR1cmF0aW9uLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSxcclxuICAgICAgICBpY29uOiBpY29uLFxyXG4gICAgICAgIGFjdGlvbkNhcHRpb246IGFjdGlvbkNhcHRpb25cclxuICAgICAgfSBhcyBUb2FzdERhdGFcclxuICAgIH0pO1xyXG4gICAgdG9hc3RSZWYuaW5zdGFuY2UuYWN0aW9uLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRvYXN0UmVmLmRpc21pc3MoKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHRvYXN0UmVmO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGxheSBhIGNvbmZpcm0gZGlhbG9nXHJcbiAgICogQHBhcmFtIG1lc3NhZ2UgOiBodG1sIG1lc3NhZ2VcclxuICAgKiBAcGFyYW0gdGl0bGUgOiBkaWFsb2cgdGl0bGVcclxuICAgKiBAcGFyYW0gb2tDYXB0aW9uIDogb2sgYnV0dG9uIGNhcHRpb25cclxuICAgKiBAcGFyYW0gY2FuY2VsQ2FwdGlvbiA6IGNhbmNlbCBidXR0b24gY2FwdGlvblxyXG4gICAqIEBwYXJhbSBvdGhlckNhcHRpb24gOiBvdGhlciBidXR0b24gY2FwdGlvblxyXG4gICAqIEBwYXJhbSBvcHRpb25zOiBjaGVjayBib3ggb3B0aW9uc1xyXG4gICAqIEBwYXJhbSB3aWR0aDogdGhlIHByZWZlcnJlZCB3aWR0aFxyXG4gICAqL1xyXG4gIGNvbmZpcm0oXHJcbiAgICBtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB0aXRsZTogc3RyaW5nID0gJ0NvbmZlcm1hJyxcclxuICAgIG9rQ2FwdGlvbjogc3RyaW5nID0gJ1NpJyxcclxuICAgIGNhbmNlbENhcHRpb246IHN0cmluZyA9ICdObycsXHJcbiAgICBvdGhlckNhcHRpb246IHN0cmluZyB8IG51bGwgPSBudWxsLFxyXG4gICAgb3B0aW9uczogYW55IHwgbnVsbCA9IG51bGwsXHJcbiAgICB3aWR0aDogbnVtYmVyID0gNTAwXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vcGVuKENvbmZpcm1EaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgYXJpYUxhYmVsOiAnY29uZmVybWEnLFxyXG4gICAgICBhdXRvRm9jdXM6IHRydWUsXHJcbiAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBva0NhcHRpb246IG9rQ2FwdGlvbixcclxuICAgICAgICBjYW5jZWxDYXB0aW9uOiBjYW5jZWxDYXB0aW9uLFxyXG4gICAgICAgIG90aGVyQ2FwdGlvbjogb3RoZXJDYXB0aW9uLFxyXG4gICAgICAgIG9wdGlvbnM6IG9wdGlvbnMsXHJcbiAgICAgICAgYXBwZWFyYW5jZTogJ2ZpbGwnXHJcbiAgICAgIH0gYXMgQ29uZmlybURpYWxvZ0RhdGEsXHJcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLCAgIFxyXG4gICAgICBtaW5XaWR0aDogJzM3NXB4JyxcclxuICAgICAgbWF4V2lkdGg6IHdpZHRoICsgJ3B4JyxcclxuICAgICAgd2lkdGg6ICc5OSUnXHJcbiAgICB9KTtcclxuICB9XHJcbiAgXHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -192,4 +192,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
192
192
|
providedIn: 'root',
|
|
193
193
|
}]
|
|
194
194
|
}], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.Overlay }, { type: i3.MatSnackBar }, { type: i4.PlatformLocation }] });
|
|
195
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25EaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbi91aS9zZXJ2aWNlcy9hcHBsaWNhdGlvbkRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRWhHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7QUFLbEYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQWE7SUFDdkQsWUFDVyxNQUFpQixFQUNqQixPQUFnQixFQUNoQixRQUFxQixFQUNyQixRQUEwQjtRQUVqQyxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFMcEMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFHckMsQ0FBQztJQUVEOzs7Ozs7O0VBT0Y7SUFDRSxNQUFNLENBQ0YsUUFBZ0IsaUJBQWlCLEVBQ2pDLGdCQUF5QixLQUFLLEVBQzlCLFFBQWdCLElBQUksRUFD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QUNWLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixZQUFZLEVBQUUsWUFBWTtnQkFDMUIsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixVQUFVLEVBQUUsTUFBTTtnQkFDbEIsT0FBTyxFQUFFLE9BQU87YUFDQztZQUNyQixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRSxLQUFLLEdBQUcsSUFBSTtZQUN0QixLQUFLLEVBQUUsS0FBSztTQUNmLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBcE5RLHdCQUF3QjtrSEFBeEIsd0JBQXdCLGNBRnJCLE1BQU07OzJGQUVULHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBQbGF0Zm9ybUxvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvdWknO1xyXG5pbXBvcnQgeyBTZW5kVG9EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2dzL3NlbmQtdG8vc2VuZC10by1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0VHJlZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZ3Mvc2VsZWN0LXRyZWUvc2VsZWN0LXRyZWUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb21wdERpYWxvZ0RhdGEsIFNlbGVjdERpYWxvZ0RhdGEsIFNlbGVjdEZpbGVEaWFsb2dEYXRhLCBTZWxlY3RUcmVlRGlhbG9nRGF0YSB9IGZyb20gJy4uL2RlZmluaXRpb25zJztcclxuaW1wb3J0IHsgU2VsZWN0UGljdHVyZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZ3Mvc2VsZWN0LXBpY3R1cmUvc2VsZWN0LXBpY3R1cmUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdEZpbGVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2dzL3NlbGVjdC1maWxlL3NlbGVjdC1maWxlLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9tcHREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2dzL3Byb21wdC9wcm9tcHQtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZ3Mvc2VsZWN0L3NlbGVjdC1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uRGlhbG9nU2VydmljZSBleHRlbmRzIERpYWxvZ1NlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgICAgIHB1YmxpYyBvdmVybGF5OiBPdmVybGF5LFxyXG4gICAgICAgIHB1YmxpYyBzbmFja0JhcjogTWF0U25hY2tCYXIsXHJcbiAgICAgICAgcHVibGljIGxvY2F0aW9uOiBQbGF0Zm9ybUxvY2F0aW9uLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoZGlhbG9nLCBvdmVybGF5LCBzbmFja0JhciwgbG9jYXRpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4qIFNlbnQgdG9cclxuKiBAcGFyYW0gdGl0bGUgOiB0aXRsZVxyXG4qIEBwYXJhbSBhbGxvd1BvcHVsYXRlOiB0cnVlIGlmIHRoZSBwb3B1bGF0ZSBmdWN0aW9uIGlzIGFsbG93ZWRcclxuKiBAcGFyYW0gY291bnQgOiBlbGVtZW50cyB0byBzZW5kIG9yIG51bGxcclxuKiBAcGFyYW0gb3B0aW9ucyA6IGNoZWNrYWJsZSBvcHRpb24gbGlzdFxyXG4qIEBwYXJhbSB3aWR0aDogdGhlIHByZWZlcnJlZCB3aWR0aFxyXG4qL1xyXG4gICAgc2VuZFRvKFxyXG4gICAgICAgIHRpdGxlOiBzdHJpbmcgPSAnSW52aWEgcGVyIGVtYWlsJyxcclxuICAgICAgICBhbGxvd1BvcHVsYXRlOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICAgICAgY291bnQ6IG51bWJlciA9IG51bGwsXHJcbiAgICAgICAgb3B0aW9uczogYW55ID0gbnVsbCxcclxuICAgICAgICB3aWR0aDogbnVtYmVyID0gNTAwXHJcbiAgICApOiBNYXREaWFsb2dSZWY8U2VuZFRvRGlhbG9nQ29tcG9uZW50LCBhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKFNlbmRUb0RpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBhcmlhTGFiZWw6ICdpbnZpYSBwZXIgZW1haWwnLFxyXG4gICAgICAgICAgICBhdXRvRm9jdXM6IHRydWUsXHJcbiAgICAgICAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICAgICAgICAgIGNvdW50OiBjb3VudCxcclxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6ICdmaWxsJyxcclxuICAgICAgICAgICAgICAgIGFsbG93UG9wdWxhdGU6IGFsbG93UG9wdWxhdGUsXHJcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBvcHRpb25zXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgbWluV2lkdGg6ICczNzVweCcsXHJcbiAgICAgICAgICAgIG1heFdpZHRoOiB3aWR0aCArICdweCcsXHJcbiAgICAgICAgICAgIHdpZHRoOiAnOTklJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAqIFNlbGVjdCBhIHRyZWUgbm9kZVxyXG4gICAqIEBwYXJhbSBub2RlcyA6IHRyZWUgbm9kZXNcclxuICAgKiBAcGFyYW0gdGl0bGUgOiB0aXRsZVxyXG4gICAqIEBwYXJhbSBkZXNjcmlwdGlvbiA6IGRlc2NyaXB0aW9uXHJcbiAgICogQHBhcmFtIGluaXRpYWxGaWx0ZXIgOiBpbml0aWFsIGZpbHRlclxyXG4gICAqIEBwYXJhbSB3aWR0aDogdGhlIHByZWZlcnJlZCB3aWR0aFxyXG4gICAqIEBwYXJhbSBva0NhcHRpb24gOiBvayBjYXRwaW9uIGJ1dHRvblxyXG4gICAqL1xyXG4gICAgc2VsZWN0VHJlZShcclxuICAgICAgICBub2RlczogYW55LFxyXG4gICAgICAgIHRpdGxlOiBzdHJpbmcgPSAnU2VsZXppb25hIHVuIGVsZW1lbnRvJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nID0gbnVsbCxcclxuICAgICAgICBpbml0aWFsRmlsdGVyOiBzdHJpbmcgPSBudWxsLFxyXG4gICAgICAgIHdpZHRoOiBudW1iZXIgPSA4MDAsXHJcbiAgICAgICAgb2tDYXB0aW9uOiBzdHJpbmcgPSAnT2snXHJcbiAgICApOiBNYXREaWFsb2dSZWY8U2VsZWN0VHJlZURpYWxvZ0NvbXBvbmVudCwgYW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbihTZWxlY3RUcmVlRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIGFyaWFMYWJlbDogJ3NlbGV6aW9uYSB1biBlbGVtZW50bycsXHJcbiAgICAgICAgICAgIGF1dG9Gb2N1czogdHJ1ZSxcclxuICAgICAgICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZSxcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgaW5pdGlhbEZpbHRlcjogaW5pdGlhbEZpbHRlcixcclxuICAgICAgICAgICAgICAgIG9rQ2FwdGlvbjogb2tDYXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgbm9kZXM6IG5vZGVzLFxyXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogJ291dGxpbmUnXHJcbiAgICAgICAgICAgIH0gYXMgU2VsZWN0VHJlZURpYWxvZ0RhdGEsXHJcbiAgICAgICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgbWluV2lkdGg6ICczNzVweCcsXHJcbiAgICAgICAgICAgIG1heFdpZHRoOiB3aWR0aCArICdweCcsXHJcbiAgICAgICAgICAgIHdpZHRoOiAnOTklJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAqIERpc3BsYXkgYSBzZWxlY3QgYSBwaWN0dXJlIGRpYWxvZ1xyXG4gKiBAcGFyYW0gdGl0bGUgOiBkaWFsb2cgdGl0bGVcclxuICogQHBhcmFtIGRlc2NyaXRwaW9uIDogYnJpZWYgZGVzY3JpcHRpb25cclxuICogQHBhcmFtIG9rQ2FwdGlvbiA6IG9rIGJ1dHRvbiBjYXB0aW9uXHJcbiAqIEBwYXJhbSBvcHRpb25zIDogY2hlY2thYmxlIG9wdGlvbiBsaXN0XHJcbiAqIEBwYXJhbSB3aWR0aDogdGhlIHByZWZlcnJlZCB3aWR0aFxyXG4gKi9cclxuICAgIHNlbGVjdFBpY3R1cmUoXHJcbiAgICAgICAgdGl0bGU6IHN0cmluZyA9ICdTZWxlemlvbmEgaW1tYWdpbmUnLFxyXG4gICAgICAgIGRlc2NyaXRwaW9uOiBzdHJpbmcgPSBudWxsLFxyXG4gICAgICAgIG9rQ2FwdGlvbjogc3RyaW5nID0gJ09rJyxcclxuICAgICAgICBvcHRpb25zOiBhbnkgPSBudWxsLFxyXG4gICAgICAgIHdpZHRoOiBudW1iZXIgPSA2MDBcclxuICAgICk6IE1hdERpYWxvZ1JlZjxTZWxlY3RQaWN0dXJlRGlhbG9nQ29tcG9uZW50LCBhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKFNlbGVjdFBpY3R1cmVEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgYXJpYUxhYmVsOiAnc2VsZXppb25hIGltbWFnaW5lJyxcclxuICAgICAgICAgICAgYXV0b0ZvY3VzOiB0cnVlLFxyXG4gICAgICAgICAgICByZXN0b3JlRm9jdXM6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogZGVzY3JpdHBpb24sXHJcbiAgICAgICAgICAgICAgICBva0NhcHRpb246IG9rQ2FwdGlvbixcclxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IG9wdGlvbnMsXHJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiAnZmlsbCdcclxuICAgICAgICAgICAgfSBhcyBTZWxlY3RGaWxlRGlhbG9nRGF0YSxcclxuICAgICAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxyXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsICAgXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMzc1cHgnLFxyXG4gICAgICAgICAgICBtYXhXaWR0aDogd2lkdGggKyAncHgnLFxyXG4gICAgICAgICAgICB3aWR0aDogJzk5JSdcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICogRGlzcGxheSBhIHNlbGVjdCBhIGZpbGUgZGlhbG9nXHJcbiAgICAqIEBwYXJhbSB0aXRsZSA6IGRpYWxvZyB0aXRsZVxyXG4gICAgKiBAcGFyYW0gZGVzY3JpdHBpb24gOiBicmllZiBkZXNjcmlwdGlvblxyXG4gICAgKiBAcGFyYW0gb2tDYXB0aW9uIDogb2sgYnV0dG9uIGNhcHRpb25cclxuICAgICogQHBhcmFtIGhlbHBMaW5rIDogaGVscCBsaW5rIHVybFxyXG4gICAgKiBAcGFyYW0gaGVscENhcHRpb24gOiBoZWxwIGxpbmsgY2FwdGlvblxyXG4gICAgKiBAcGFyYW0gb3B0aW9ucyA6IGNoZWNrYWJsZSBvcHRpb24gbGlzdFxyXG4gICAgKiBAcGFyYW0gd2lkdGg6IHRoZSBwcmVmZXJyZWQgd2lkdGhcclxuICAgICovXHJcbiAgICBzZWxlY3RGaWxlKFxyXG4gICAgICAgIHRpdGxlOiBzdHJpbmcgPSAnU2VsZXppb25hIGZpbGUnLFxyXG4gICAgICAgIGRlc2NyaXRwaW9uOiBzdHJpbmcgPSBudWxsLFxyXG4gICAgICAgIG9rQ2FwdGlvbjogc3RyaW5nID0gJ09rJyxcclxuICAgICAgICBoZWxwTGluazogc3RyaW5nID0gbnVsbCxcclxuICAgICAgICBoZWxwQ2FwdGlvbjogc3RyaW5nID0gbnVsbCxcclxuICAgICAgICBvcHRpb25zOiBhbnkgPSBudWxsLFxyXG4gICAgICAgIHdpZHRoOiBudW1iZXIgPSA2MDBcclxuICAgICk6IE1hdERpYWxvZ1JlZjxTZWxlY3RGaWxlRGlhbG9nQ29tcG9uZW50LCBhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKFNlbGVjdEZpbGVEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgYXJpYUxhYmVsOiAnc2VsZXppb25hIGZpbGUnLFxyXG4gICAgICAgICAgICBhdXRvRm9jdXM6IHRydWUsXHJcbiAgICAgICAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBkZXNjcml0cGlvbixcclxuICAgICAgICAgICAgICAgIG9rQ2FwdGlvbjogb2tDYXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgaGVscExpbms6IGhlbHBMaW5rLFxyXG4gICAgICAgICAgICAgICAgaGVscENhcHRpb246IGhlbHBDYXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgb3B0aW9uczogb3B0aW9ucyxcclxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6ICdmaWxsJ1xyXG4gICAgICAgICAgICB9IGFzIFNlbGVjdEZpbGVEaWFsb2dEYXRhLFxyXG4gICAgICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogZmFsc2UsXHJcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSwgICBcclxuICAgICAgICAgICAgbWluV2lkdGg6ICczNzVweCcsXHJcbiAgICAgICAgICAgIG1heFdpZHRoOiB3aWR0aCArICdweCcsXHJcbiAgICAgICAgICAgIHdpZHRoOiAnOTklJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAqIERpc3BsYXkgYSBtdWx0aXBvdXJwb3NlIHNlbGVjdGlvbiBhbmQgQ1JVRCBkaWFsb2dcclxuICAgKiBAcGFyYW0gZGF0YSA6IHRoZSBkaWFsb2cgY29uZmlndXJhdGlvbiBtb2RlbFxyXG4gICAqL1xyXG4gICAgc2VsZWN0KGRhdGE6IFNlbGVjdERpYWxvZ0RhdGEpOiBNYXREaWFsb2dSZWY8U2VsZWN0RGlhbG9nQ29tcG9uZW50LCBhbnk+IHtcclxuICAgICAgICBpZiAoIWRhdGEuYXBwZWFyYW5jZSkgZGF0YS5hcHBlYXJhbmNlID0gJ291dGxpbmUnO1xyXG4gICAgICAgIHJldHVybiB0aGlzLm9wZW4oU2VsZWN0RGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIGFyaWFMYWJlbDogJ3NlbGV6aW9uYScsXHJcbiAgICAgICAgICAgIGF1dG9Gb2N1czogdHJ1ZSxcclxuICAgICAgICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZSxcclxuICAgICAgICAgICAgZGF0YTogZGF0YSxcclxuICAgICAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxyXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMzc1cHgnLFxyXG4gICAgICAgICAgICBtYXhXaWR0aDogKGRhdGEud2lkdGggPyBkYXRhLndpZHRoIDogODAwKSArICdweCcsXHJcbiAgICAgICAgICAgIHdpZHRoOiAnOTklJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAqIFByb21wdCB1c2VyIHRvIGluc2VydCBhIHZhbHVlXHJcbiAgICogQHBhcmFtIHRpdGxlIDogdGhlIGRpYWxvZyB0aXRsZVxyXG4gICAqIEBwYXJhbSB0eXBlIDogdGhlIGlucHV0IHR5cGU6IDAgPSB0ZXh0LCAxID0gZGF0ZSwgMiA9IG51bWJlclxyXG4gICAqIEBwYXJhbSBkZXNjcmlwdGlvbiA6IHRoZSBwbGFjZWhvbGRlciBkZXNjcmlwdGlvblxyXG4gICAqIEBwYXJhbSBpbml0aWFsVmFsdWUgOiB0aGUgaW5pdGlhbCB2YWx1ZVxyXG4gICAqIEBwYXJhbSBva0NhcHRpb24gOiBvayBidXR0b24gY2FwdGlvblxyXG4gICAqIEBwYXJhbSBjYW5jZWxDYXB0aW9uIDogY2FuY2VsIGJ1dHRvbiBjYXB0aW9uXHJcbiAgICogQHBhcmFtIG9wdGlvbnMgOiBjaGVja2FibGUgb3B0aW9uIGxpc3RcclxuICAgKiBAcGFyYW0gd2lkdGg6IHRoZSBwcmVmZXJyZWQgd2lkdGhcclxuICAgKi9cclxuICAgIHByb21wdChcclxuICAgICAgICB0aXRsZTogc3RyaW5nLFxyXG4gICAgICAgIHR5cGU6IG51bWJlciA9IDAsXHJcbiAgICAgICAgZGVzY3JpcHRpb246IHN0cmluZyxcclxuICAgICAgICBpbml0aWFsVmFsdWU6IGFueSA9IG51bGwsXHJcbiAgICAgICAgb2tDYXB0aW9uOiBzdHJpbmcgPSAnT2snLFxyXG4gICAgICAgIGNhbmNlbENhcHRpb246IHN0cmluZyA9ICdBbm51bGxhJyxcclxuICAgICAgICBvcHRpb25zOiBhbnkgPSBudWxsLFxyXG4gICAgICAgIHdpZHRoOiBudW1iZXIgPSA1MDBcclxuICAgICk6IE1hdERpYWxvZ1JlZjxQcm9tcHREaWFsb2dDb21wb25lbnQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKFByb21wdERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBhcmlhTGFiZWw6ICdpbnNlcmlzY2kgdmFsb3JlJyxcclxuICAgICAgICAgICAgYXV0b0ZvY3VzOiB0cnVlLFxyXG4gICAgICAgICAgICByZXN0b3JlRm9jdXM6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsXHJcbiAgICAgICAgICAgICAgICBva0NhcHRpb246IG9rQ2FwdGlvbixcclxuICAgICAgICAgICAgICAgIGNhbmNlbENhcHRpb246IGNhbmNlbENhcHRpb24sXHJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiAnZmlsbCcsXHJcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBvcHRpb25zXHJcbiAgICAgICAgICAgIH0gYXMgUHJvbXB0RGlhbG9nRGF0YSxcclxuICAgICAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLCAgICAgIFxyXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsICAgICAgXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMzc1cHgnLFxyXG4gICAgICAgICAgICBtYXhXaWR0aDogd2lkdGggKyAncHgnLFxyXG4gICAgICAgICAgICB3aWR0aDogJzk5JSdcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSJdfQ==
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25EaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbi91aS9zZXJ2aWNlcy9hcHBsaWNhdGlvbkRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRWhHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7QUFLbEYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQWE7SUFDdkQsWUFDVyxNQUFpQixFQUNqQixPQUFnQixFQUNoQixRQUFxQixFQUNyQixRQUEwQjtRQUVqQyxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFMcEMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFHckMsQ0FBQztJQUVEOzs7Ozs7O0VBT0Y7SUFDRSxNQUFNLENBQ0YsUUFBZ0IsaUJBQWlCLEVBQ2pDLGdCQUF5QixLQUFLLEVBQzlCLFFBQXVCLElBQUksRUFD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STtnQkFDVixXQUFXLEVBQUUsV0FBVztnQkFDeEIsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixhQUFhLEVBQUUsYUFBYTtnQkFDNUIsVUFBVSxFQUFFLE1BQU07Z0JBQ2xCLE9BQU8sRUFBRSxPQUFPO2FBQ0M7WUFDckIsaUJBQWlCLEVBQUUsS0FBSztZQUN4QixZQUFZLEVBQUUsSUFBSTtZQUNsQixRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUUsS0FBSyxHQUFHLElBQUk7WUFDdEIsS0FBSyxFQUFFLEtBQUs7U0FDZixDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXBOUSx3QkFBd0I7a0hBQXhCLHdCQUF3QixjQUZyQixNQUFNOzsyRkFFVCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgUGxhdGZvcm1Mb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL3VpJztcclxuaW1wb3J0IHsgU2VuZFRvRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vZGlhbG9ncy9zZW5kLXRvL3NlbmQtdG8tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdFRyZWVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2dzL3NlbGVjdC10cmVlL3NlbGVjdC10cmVlLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9tcHREaWFsb2dEYXRhLCBTZWxlY3REaWFsb2dEYXRhLCBTZWxlY3RGaWxlRGlhbG9nRGF0YSwgU2VsZWN0VHJlZURpYWxvZ0RhdGEgfSBmcm9tICcuLi9kZWZpbml0aW9ucyc7XHJcbmltcG9ydCB7IFNlbGVjdFBpY3R1cmVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2dzL3NlbGVjdC1waWN0dXJlL3NlbGVjdC1waWN0dXJlLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RGaWxlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vZGlhbG9ncy9zZWxlY3QtZmlsZS9zZWxlY3QtZmlsZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvbXB0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vZGlhbG9ncy9wcm9tcHQvcHJvbXB0LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3REaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2dzL3NlbGVjdC9zZWxlY3QtZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkRpYWxvZ1NlcnZpY2UgZXh0ZW5kcyBEaWFsb2dTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgICAgICBwdWJsaWMgb3ZlcmxheTogT3ZlcmxheSxcclxuICAgICAgICBwdWJsaWMgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxyXG4gICAgICAgIHB1YmxpYyBsb2NhdGlvbjogUGxhdGZvcm1Mb2NhdGlvbixcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGRpYWxvZywgb3ZlcmxheSwgc25hY2tCYXIsIGxvY2F0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuKiBTZW50IHRvXHJcbiogQHBhcmFtIHRpdGxlIDogdGl0bGVcclxuKiBAcGFyYW0gYWxsb3dQb3B1bGF0ZTogdHJ1ZSBpZiB0aGUgcG9wdWxhdGUgZnVjdGlvbiBpcyBhbGxvd2VkXHJcbiogQHBhcmFtIGNvdW50IDogZWxlbWVudHMgdG8gc2VuZCBvciBudWxsXHJcbiogQHBhcmFtIG9wdGlvbnMgOiBjaGVja2FibGUgb3B0aW9uIGxpc3RcclxuKiBAcGFyYW0gd2lkdGg6IHRoZSBwcmVmZXJyZWQgd2lkdGhcclxuKi9cclxuICAgIHNlbmRUbyhcclxuICAgICAgICB0aXRsZTogc3RyaW5nID0gJ0ludmlhIHBlciBlbWFpbCcsXHJcbiAgICAgICAgYWxsb3dQb3B1bGF0ZTogYm9vbGVhbiA9IGZhbHNlLFxyXG4gICAgICAgIGNvdW50OiBudW1iZXIgfCBudWxsID0gbnVsbCxcclxuICAgICAgICBvcHRpb25zOiBhbnkgfCBudWxsID0gbnVsbCxcclxuICAgICAgICB3aWR0aDogbnVtYmVyID0gNTAwXHJcbiAgICApOiBNYXREaWFsb2dSZWY8U2VuZFRvRGlhbG9nQ29tcG9uZW50LCBhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKFNlbmRUb0RpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBhcmlhTGFiZWw6ICdpbnZpYSBwZXIgZW1haWwnLFxyXG4gICAgICAgICAgICBhdXRvRm9jdXM6IHRydWUsXHJcbiAgICAgICAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICAgICAgICAgIGNvdW50OiBjb3VudCxcclxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6ICdmaWxsJyxcclxuICAgICAgICAgICAgICAgIGFsbG93UG9wdWxhdGU6IGFsbG93UG9wdWxhdGUsXHJcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBvcHRpb25zXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgbWluV2lkdGg6ICczNzVweCcsXHJcbiAgICAgICAgICAgIG1heFdpZHRoOiB3aWR0aCArICdweCcsXHJcbiAgICAgICAgICAgIHdpZHRoOiAnOTklJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAqIFNlbGVjdCBhIHRyZWUgbm9kZVxyXG4gICAqIEBwYXJhbSBub2RlcyA6IHRyZWUgbm9kZXNcclxuICAgKiBAcGFyYW0gdGl0bGUgOiB0aXRsZVxyXG4gICAqIEBwYXJhbSBkZXNjcmlwdGlvbiA6IGRlc2NyaXB0aW9uXHJcbiAgICogQHBhcmFtIGluaXRpYWxGaWx0ZXIgOiBpbml0aWFsIGZpbHRlclxyXG4gICAqIEBwYXJhbSB3aWR0aDogdGhlIHByZWZlcnJlZCB3aWR0aFxyXG4gICAqIEBwYXJhbSBva0NhcHRpb24gOiBvayBjYXRwaW9uIGJ1dHRvblxyXG4gICAqL1xyXG4gICAgc2VsZWN0VHJlZShcclxuICAgICAgICBub2RlczogYW55LFxyXG4gICAgICAgIHRpdGxlOiBzdHJpbmcgPSAnU2VsZXppb25hIHVuIGVsZW1lbnRvJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbCA9IG51bGwsXHJcbiAgICAgICAgaW5pdGlhbEZpbHRlcjogc3RyaW5nIHwgbnVsbCA9IG51bGwsXHJcbiAgICAgICAgd2lkdGg6IG51bWJlciA9IDgwMCxcclxuICAgICAgICBva0NhcHRpb246IHN0cmluZyA9ICdPaydcclxuICAgICk6IE1hdERpYWxvZ1JlZjxTZWxlY3RUcmVlRGlhbG9nQ29tcG9uZW50LCBhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKFNlbGVjdFRyZWVEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgYXJpYUxhYmVsOiAnc2VsZXppb25hIHVuIGVsZW1lbnRvJyxcclxuICAgICAgICAgICAgYXV0b0ZvY3VzOiB0cnVlLFxyXG4gICAgICAgICAgICByZXN0b3JlRm9jdXM6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICBpbml0aWFsRmlsdGVyOiBpbml0aWFsRmlsdGVyLFxyXG4gICAgICAgICAgICAgICAgb2tDYXB0aW9uOiBva0NhcHRpb24sXHJcbiAgICAgICAgICAgICAgICBub2Rlczogbm9kZXMsXHJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiAnb3V0bGluZSdcclxuICAgICAgICAgICAgfSBhcyBTZWxlY3RUcmVlRGlhbG9nRGF0YSxcclxuICAgICAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxyXG4gICAgICAgICAgICBtaW5XaWR0aDogJzM3NXB4JyxcclxuICAgICAgICAgICAgbWF4V2lkdGg6IHdpZHRoICsgJ3B4JyxcclxuICAgICAgICAgICAgd2lkdGg6ICc5OSUnXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICogRGlzcGxheSBhIHNlbGVjdCBhIHBpY3R1cmUgZGlhbG9nXHJcbiAqIEBwYXJhbSB0aXRsZSA6IGRpYWxvZyB0aXRsZVxyXG4gKiBAcGFyYW0gZGVzY3JpdHBpb24gOiBicmllZiBkZXNjcmlwdGlvblxyXG4gKiBAcGFyYW0gb2tDYXB0aW9uIDogb2sgYnV0dG9uIGNhcHRpb25cclxuICogQHBhcmFtIG9wdGlvbnMgOiBjaGVja2FibGUgb3B0aW9uIGxpc3RcclxuICogQHBhcmFtIHdpZHRoOiB0aGUgcHJlZmVycmVkIHdpZHRoXHJcbiAqL1xyXG4gICAgc2VsZWN0UGljdHVyZShcclxuICAgICAgICB0aXRsZTogc3RyaW5nID0gJ1NlbGV6aW9uYSBpbW1hZ2luZScsXHJcbiAgICAgICAgZGVzY3JpdHBpb246IHN0cmluZyB8IG51bGwgPSBudWxsLFxyXG4gICAgICAgIG9rQ2FwdGlvbjogc3RyaW5nID0gJ09rJyxcclxuICAgICAgICBvcHRpb25zOiBhbnkgfCBudWxsID0gbnVsbCxcclxuICAgICAgICB3aWR0aDogbnVtYmVyID0gNjAwXHJcbiAgICApOiBNYXREaWFsb2dSZWY8U2VsZWN0UGljdHVyZURpYWxvZ0NvbXBvbmVudCwgYW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbihTZWxlY3RQaWN0dXJlRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIGFyaWFMYWJlbDogJ3NlbGV6aW9uYSBpbW1hZ2luZScsXHJcbiAgICAgICAgICAgIGF1dG9Gb2N1czogdHJ1ZSxcclxuICAgICAgICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZSxcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRlc2NyaXRwaW9uLFxyXG4gICAgICAgICAgICAgICAgb2tDYXB0aW9uOiBva0NhcHRpb24sXHJcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBvcHRpb25zLFxyXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogJ2ZpbGwnXHJcbiAgICAgICAgICAgIH0gYXMgU2VsZWN0RmlsZURpYWxvZ0RhdGEsXHJcbiAgICAgICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLCAgIFxyXG4gICAgICAgICAgICBtaW5XaWR0aDogJzM3NXB4JyxcclxuICAgICAgICAgICAgbWF4V2lkdGg6IHdpZHRoICsgJ3B4JyxcclxuICAgICAgICAgICAgd2lkdGg6ICc5OSUnXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIERpc3BsYXkgYSBzZWxlY3QgYSBmaWxlIGRpYWxvZ1xyXG4gICAgKiBAcGFyYW0gdGl0bGUgOiBkaWFsb2cgdGl0bGVcclxuICAgICogQHBhcmFtIGRlc2NyaXRwaW9uIDogYnJpZWYgZGVzY3JpcHRpb25cclxuICAgICogQHBhcmFtIG9rQ2FwdGlvbiA6IG9rIGJ1dHRvbiBjYXB0aW9uXHJcbiAgICAqIEBwYXJhbSBoZWxwTGluayA6IGhlbHAgbGluayB1cmxcclxuICAgICogQHBhcmFtIGhlbHBDYXB0aW9uIDogaGVscCBsaW5rIGNhcHRpb25cclxuICAgICogQHBhcmFtIG9wdGlvbnMgOiBjaGVja2FibGUgb3B0aW9uIGxpc3RcclxuICAgICogQHBhcmFtIHdpZHRoOiB0aGUgcHJlZmVycmVkIHdpZHRoXHJcbiAgICAqL1xyXG4gICAgc2VsZWN0RmlsZShcclxuICAgICAgICB0aXRsZTogc3RyaW5nID0gJ1NlbGV6aW9uYSBmaWxlJyxcclxuICAgICAgICBkZXNjcml0cGlvbjogc3RyaW5nIHwgbnVsbCA9IG51bGwsXHJcbiAgICAgICAgb2tDYXB0aW9uOiBzdHJpbmcgPSAnT2snLFxyXG4gICAgICAgIGhlbHBMaW5rOiBzdHJpbmcgfCBudWxsID0gbnVsbCxcclxuICAgICAgICBoZWxwQ2FwdGlvbjogc3RyaW5nIHwgbnVsbCA9IG51bGwsXHJcbiAgICAgICAgb3B0aW9uczogYW55IHwgbnVsbCA9IG51bGwsXHJcbiAgICAgICAgd2lkdGg6IG51bWJlciA9IDYwMFxyXG4gICAgKTogTWF0RGlhbG9nUmVmPFNlbGVjdEZpbGVEaWFsb2dDb21wb25lbnQsIGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm9wZW4oU2VsZWN0RmlsZURpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBhcmlhTGFiZWw6ICdzZWxlemlvbmEgZmlsZScsXHJcbiAgICAgICAgICAgIGF1dG9Gb2N1czogdHJ1ZSxcclxuICAgICAgICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZSxcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRlc2NyaXRwaW9uLFxyXG4gICAgICAgICAgICAgICAgb2tDYXB0aW9uOiBva0NhcHRpb24sXHJcbiAgICAgICAgICAgICAgICBoZWxwTGluazogaGVscExpbmssXHJcbiAgICAgICAgICAgICAgICBoZWxwQ2FwdGlvbjogaGVscENhcHRpb24sXHJcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBvcHRpb25zLFxyXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogJ2ZpbGwnXHJcbiAgICAgICAgICAgIH0gYXMgU2VsZWN0RmlsZURpYWxvZ0RhdGEsXHJcbiAgICAgICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLCAgIFxyXG4gICAgICAgICAgICBtaW5XaWR0aDogJzM3NXB4JyxcclxuICAgICAgICAgICAgbWF4V2lkdGg6IHdpZHRoICsgJ3B4JyxcclxuICAgICAgICAgICAgd2lkdGg6ICc5OSUnXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICogRGlzcGxheSBhIG11bHRpcG91cnBvc2Ugc2VsZWN0aW9uIGFuZCBDUlVEIGRpYWxvZ1xyXG4gICAqIEBwYXJhbSBkYXRhIDogdGhlIGRpYWxvZyBjb25maWd1cmF0aW9uIG1vZGVsXHJcbiAgICovXHJcbiAgICBzZWxlY3QoZGF0YTogU2VsZWN0RGlhbG9nRGF0YSk6IE1hdERpYWxvZ1JlZjxTZWxlY3REaWFsb2dDb21wb25lbnQsIGFueT4ge1xyXG4gICAgICAgIGlmICghZGF0YS5hcHBlYXJhbmNlKSBkYXRhLmFwcGVhcmFuY2UgPSAnb3V0bGluZSc7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbihTZWxlY3REaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgYXJpYUxhYmVsOiAnc2VsZXppb25hJyxcclxuICAgICAgICAgICAgYXV0b0ZvY3VzOiB0cnVlLFxyXG4gICAgICAgICAgICByZXN0b3JlRm9jdXM6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiBkYXRhLFxyXG4gICAgICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogZmFsc2UsXHJcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICAgICAgbWluV2lkdGg6ICczNzVweCcsXHJcbiAgICAgICAgICAgIG1heFdpZHRoOiAoZGF0YS53aWR0aCA/IGRhdGEud2lkdGggOiA4MDApICsgJ3B4JyxcclxuICAgICAgICAgICAgd2lkdGg6ICc5OSUnXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICogUHJvbXB0IHVzZXIgdG8gaW5zZXJ0IGEgdmFsdWVcclxuICAgKiBAcGFyYW0gdGl0bGUgOiB0aGUgZGlhbG9nIHRpdGxlXHJcbiAgICogQHBhcmFtIHR5cGUgOiB0aGUgaW5wdXQgdHlwZTogMCA9IHRleHQsIDEgPSBkYXRlLCAyID0gbnVtYmVyXHJcbiAgICogQHBhcmFtIGRlc2NyaXB0aW9uIDogdGhlIHBsYWNlaG9sZGVyIGRlc2NyaXB0aW9uXHJcbiAgICogQHBhcmFtIGluaXRpYWxWYWx1ZSA6IHRoZSBpbml0aWFsIHZhbHVlXHJcbiAgICogQHBhcmFtIG9rQ2FwdGlvbiA6IG9rIGJ1dHRvbiBjYXB0aW9uXHJcbiAgICogQHBhcmFtIGNhbmNlbENhcHRpb24gOiBjYW5jZWwgYnV0dG9uIGNhcHRpb25cclxuICAgKiBAcGFyYW0gb3B0aW9ucyA6IGNoZWNrYWJsZSBvcHRpb24gbGlzdFxyXG4gICAqIEBwYXJhbSB3aWR0aDogdGhlIHByZWZlcnJlZCB3aWR0aFxyXG4gICAqL1xyXG4gICAgcHJvbXB0KFxyXG4gICAgICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICAgICAgdHlwZTogbnVtYmVyID0gMCxcclxuICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nLFxyXG4gICAgICAgIGluaXRpYWxWYWx1ZTogYW55IHwgbnVsbCA9IG51bGwsXHJcbiAgICAgICAgb2tDYXB0aW9uOiBzdHJpbmcgPSAnT2snLFxyXG4gICAgICAgIGNhbmNlbENhcHRpb246IHN0cmluZyA9ICdBbm51bGxhJyxcclxuICAgICAgICBvcHRpb25zOiBhbnkgfCBudWxsID0gbnVsbCxcclxuICAgICAgICB3aWR0aDogbnVtYmVyID0gNTAwXHJcbiAgICApOiBNYXREaWFsb2dSZWY8UHJvbXB0RGlhbG9nQ29tcG9uZW50PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbihQcm9tcHREaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgYXJpYUxhYmVsOiAnaW5zZXJpc2NpIHZhbG9yZScsXHJcbiAgICAgICAgICAgIGF1dG9Gb2N1czogdHJ1ZSxcclxuICAgICAgICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZSxcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogdHlwZSxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZTogaW5pdGlhbFZhbHVlLFxyXG4gICAgICAgICAgICAgICAgb2tDYXB0aW9uOiBva0NhcHRpb24sXHJcbiAgICAgICAgICAgICAgICBjYW5jZWxDYXB0aW9uOiBjYW5jZWxDYXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogJ2ZpbGwnLFxyXG4gICAgICAgICAgICAgICAgb3B0aW9uczogb3B0aW9uc1xyXG4gICAgICAgICAgICB9IGFzIFByb21wdERpYWxvZ0RhdGEsXHJcbiAgICAgICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSwgICAgICBcclxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLCAgICAgIFxyXG4gICAgICAgICAgICBtaW5XaWR0aDogJzM3NXB4JyxcclxuICAgICAgICAgICAgbWF4V2lkdGg6IHdpZHRoICsgJ3B4JyxcclxuICAgICAgICAgICAgd2lkdGg6ICc5OSUnXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -117,8 +117,7 @@ export class LoginOAuthComponent {
|
|
|
117
117
|
],
|
|
118
118
|
account: r.account
|
|
119
119
|
});
|
|
120
|
-
}
|
|
121
|
-
error: (error) => console.log(error)
|
|
120
|
+
}
|
|
122
121
|
});
|
|
123
122
|
}
|
|
124
123
|
/**
|
|
@@ -196,4 +195,4 @@ const createFakeGoogleWrapper = () => {
|
|
|
196
195
|
};
|
|
197
196
|
};
|
|
198
197
|
var googleButtonWrapper = null;
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW5PQXV0aC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkub2F1dGgvdWkvY29tcG9uZW50cy9sb2dpbi9sb2dpbk9BdXRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy91aS5vYXV0aC91aS9jb21wb25lbnRzL2xvZ2luL2xvZ2luT0F1dGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUE2QixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSx1QkFBdUIsRUFBRSxvQkFBb0IsRUFBd0QsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekwsT0FBTyxFQUF3QixvQkFBb0IsRUFBZ0IsU0FBUyxFQUE0QixlQUFlLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5SyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBRWpFLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxXQUErQjtJQUNqRSxPQUFPLElBQUksdUJBQXVCLENBQUM7UUFDakMsSUFBSSxFQUFFO1lBQ0osUUFBUSxFQUFFLHNDQUFzQztZQUNoRCxTQUFTLEVBQUUsMENBQTBDO1lBQ3JELFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFLHFCQUFxQjtTQUN2RDtRQUNELEtBQUssRUFBRTtZQUNMLGFBQWEsRUFBRSxvQkFBb0IsQ0FBQyxZQUFZ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QWhCLE1BQU07Z0JBRUUsT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7O0FBK0dSLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxFQUFFO0lBQ25DLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RCxpRUFBaUU7SUFDakUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDMUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBRXpELDBCQUEwQjtJQUMxQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRTlDLGlFQUFpRTtJQUNqRSxvRUFBb0U7SUFDcEUsYUFBYTtJQUNiLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUU7UUFDekQsSUFBSSxFQUFFLE1BQU07UUFDWixLQUFLLEVBQUUsS0FBSztLQUNiLENBQUMsQ0FBQztJQUVILE1BQU0sd0JBQXdCLEdBQzVCLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRXZELE9BQU87UUFDTCxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQ1YsYUFBYTtZQUNiLHdCQUF3QixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25DLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBQ0YsSUFBSSxtQkFBbUIsR0FBUSxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNU0FMX0dVQVJEX0NPTkZJRywgTVNBTF9JTlNUQU5DRSwgTVNBTF9JTlRFUkNFUFRPUl9DT05GSUcsIE1zYWxCcm9hZGNhc3RTZXJ2aWNlLCBNc2FsR3VhcmRDb25maWd1cmF0aW9uLCBNc2FsSW50ZXJjZXB0b3JDb25maWd1cmF0aW9uLCBNc2FsU2VydmljZSB9IGZyb20gJ0BhenVyZS9tc2FsLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblJlc3VsdCwgQnJvd3NlckNhY2hlTG9jYXRpb24sIEV2ZW50TWVzc2FnZSwgRXZlbnRUeXBlLCBJUHVibGljQ2xpZW50QXBwbGljYXRpb24sIEludGVyYWN0aW9uVHlwZSwgUHVibGljQ2xpZW50QXBwbGljYXRpb24gfSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcclxuaW1wb3J0IHsgU3ViamVjdCwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTG9naW5PQXV0aFJlc3VsdCB9IGZyb20gJy4uLy4uL2RlZmluaXRpb25zJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBNU0FMSW5zdGFuY2VGYWN0b3J5KGVudmlyb25tZW50OiBFbnZpcm9ubWVudFNlcnZpY2UpOiBJUHVibGljQ2xpZW50QXBwbGljYXRpb24ge1xyXG4gIHJldHVybiBuZXcgUHVibGljQ2xpZW50QXBwbGljYXRpb24oe1xyXG4gICAgYXV0aDoge1xyXG4gICAgICBjbGllbnRJZDogXCI2YjJjMDgwZi02YWIwLTQ1MTEtYTlkZi0wYmNlNjlkYjU4MzNcIixcclxuICAgICAgYXV0aG9yaXR5OiBcImh0dHBzOi8vbG9naW4ubWljcm9zb2Z0b25saW5lLmNvbS9jb21tb25cIixcclxuICAgICAgcmVkaXJlY3RVcmk6IGVudmlyb25tZW50LmFwcFVyaSwgLy8gVGhpcyBpcyB5b3VyIHJlZGlyXHJcbiAgICB9LFxyXG4gICAgY2FjaGU6IHtcclxuICAgICAgY2FjaGVMb2NhdGlvbjogQnJvd3NlckNhY2hlTG9jYXRpb24uTG9jYWxTdG9yYWdlXHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBNU0FMSW50ZXJjZXB0b3JDb25maWdGYWN0b3J5KGVudmlyb25tZW50OiBFbnZpcm9ubWVudFNlcnZpY2UpOiBNc2FsSW50ZXJjZXB0b3JDb25maWd1cmF0aW9uIHtcclxuICBcclxuICByZXR1cm4ge1xyXG4gICAgaW50ZXJhY3Rpb25UeXBlOiBJbnRlcmFjdGlvblR5cGUuUG9wdXAsXHJcbiAgICBwcm90ZWN0ZWRSZXNvdXJjZU1hcDogbmV3IE1hcChbXHJcbiAgICAgIFtlbnZpcm9ubWVudC5hcHBTZXJ2aWNlVXJpICsgJy9sb2dpbicsIFtcImFwaTovLzZiMmMwODBmLTZhYjAtNDUxMS1hOWRmLTBiY2U2OWRiNTgzMy9Bbmd1bGFyU1BBQXV0aFNjb3BlXCJdXSxcclxuICAgICAgW1wiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YyLjAvbWVcIiwgW1widXNlci5yZWFkXCJdXSxcclxuICAgIF0pXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIE1TQUxHdWFyZENvbmZpZ0ZhY3RvcnkoKTogTXNhbEd1YXJkQ29uZmlndXJhdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIGludGVyYWN0aW9uVHlwZTogSW50ZXJhY3Rpb25UeXBlLlBvcHVwLFxyXG4gICAgYXV0aFJlcXVlc3Q6IHtcclxuICAgICAgc2NvcGVzOiBbXCJ1c2VyLnJlYWRcIl1cclxuICAgIH1cclxuICB9O1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xvZ2luLW9hdXRoJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbG9naW5PQXV0aC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbG9naW5PQXV0aC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTVNBTF9JTlNUQU5DRSxcclxuICAgIGRlcHM6W0Vudmlyb25tZW50U2VydmljZV0sXHJcbiAgICB1c2VGYWN0b3J5OiBNU0FMSW5zdGFuY2VGYWN0b3J5XHJcbiAgfSxcclxuICB7XHJcbiAgICBwcm92aWRlOiBNU0FMX0dVQVJEX0NPTkZJRyxcclxuICAgIHVzZUZhY3Rvcnk6IE1TQUxHdWFyZENvbmZpZ0ZhY3RvcnlcclxuICB9LFxyXG4gIHtcclxuICAgIHByb3ZpZGU6IE1TQUxfSU5URVJDRVBUT1JfQ09ORklHLFxyXG4gICAgZGVwczpbRW52aXJvbm1lbnRTZXJ2aWNlXSxcclxuICAgIHVzZUZhY3Rvcnk6IE1TQUxJbnRlcmNlcHRvckNvbmZpZ0ZhY3RvcnlcclxuICB9LFxyXG4gICAgTXNhbFNlcnZpY2UsXHJcbiAgICBNc2FsQnJvYWRjYXN0U2VydmljZV0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0QnV0dG9uTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5PQXV0aENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9fZCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KCkgc3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8TG9naW5PQXV0aFJlc3VsdD4oKTtcclxuXHJcbiAgQElucHV0KCkgYXBwTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgYXV0b0luaXRpYWxpemU6IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XHJcblxyXG5cclxuICBPQVVUSFJlYWR5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgT0FVVEhNaWNyb3NvZnRSZWFkeTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIE9BVVRIR29vZ2xlUmVhZHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSAkYnJvYWRjYXN0TVNBTDogTXNhbEJyb2FkY2FzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlICRsb2dpbk1TQUw6IE1zYWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5hdXRvSW5pdGlhbGl6ZSkge1xyXG4gICAgICB0aGlzLmluaXRpYWxpemUoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLiRicm9hZGNhc3RNU0FMLm1zYWxTdWJqZWN0JFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaWx0ZXIoKG1zZzogRXZlbnRNZXNzYWdlKSA9PiBtc2cuZXZlbnRUeXBlID09PSBFdmVudFR5cGUuQUNRVUlSRV9UT0tFTl9TVUNDRVNTKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5fX2QkKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHI6IGFueSkgPT4geyAgICAgICAgXHJcbiAgICAgICAgaWYgKHIpIHtcclxuICAgICAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHsgdHlwZTogMSwgdG9rZW46IHIucGF5bG9hZC5hY2Nlc3NUb2tlbiB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fX2QkLm5leHQoKTtcclxuICAgIHRoaXMuX19kJC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZSBvcGVuIGF1dGhlbnRpY2F0aW9uICAgXHJcbiAgICovXHJcbiAgaW5pdGlhbGl6ZSgpIHtcclxuICAgIGlmICh0aGlzLk9BVVRIUmVhZHkpIHtcclxuICAgICAgcmV0dXJuOyAvLyBBbHJlYWR5IGRvbmVcclxuICAgIH1cclxuICAgIHRoaXMuT0FVVEhSZWFkeSA9IHRydWU7XHJcblxyXG4gICAgLy8gTG9hZCBNUyBzdGFja1xyXG4gICAgdGhpcy4kbG9naW5NU0FMLmluaXRpYWxpemUoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fX2QkKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5PQVVUSE1pY3Jvc29mdFJlYWR5ID0gdHJ1ZTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgLy8gTG9hZCBnb29nbGUgbWFwcyBzY3JpcHQgYWZ0ZXIgdmlldyBpbml0XHJcbiAgICBjb25zdCBEU0xTY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgIERTTFNjcmlwdC5zcmMgPSAnaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL2dzaS9jbGllbnQnO1xyXG4gICAgRFNMU2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoRFNMU2NyaXB0KTtcclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoRFNMU2NyaXB0KTtcclxuXHJcbiAgICAvLyBAdHMtaWdub3JlXHJcbiAgICB3aW5kb3cub25Hb29nbGVMaWJyYXJ5TG9hZCA9ICgpID0+IHtcclxuICAgICAgLy8gaW5pdGlhbGl6ZSBnb29nbGUgYWNjb3VudFxyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIGdvb2dsZS5hY2NvdW50cy5pZC5pbml0aWFsaXplKHtcclxuICAgICAgICBjbGllbnRfaWQ6ICc3MTIwNDk4MzA3Ny1hZzMxaDNiZ3QydWRjYmZyOW5uODRyOXJuaTJrM3NucC5hcHBzLmdvb2dsZXVzZXJjb250ZW50LmNvbScsXHJcbiAgICAgICAgY2FuY2VsX29uX3RhcF9vdXRzaWRlOiB0cnVlLFxyXG4gICAgICAgIGF1dG9fc2VsZWN0OiBmYWxzZSxcclxuICAgICAgICBjYWxsYmFjazogKHI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zdWNjZXNzLmVtaXQoeyB0eXBlOiAyLCB0b2tlbjogci5jcmVkZW50aWFsIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGdvb2dsZUJ1dHRvbldyYXBwZXIgPSBjcmVhdGVGYWtlR29vZ2xlV3JhcHBlcigpO1xyXG5cclxuICAgICAgdGhpcy5PQVVUSEdvb2dsZVJlYWR5ID0gdHJ1ZTtcclxuICAgIH07XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBQZXJmb3JtIGxvZ2luIHVzaW5nIE1TQUxcclxuICAqL1xyXG4gIGxvZ2luTVNBTCgpIHtcclxuICAgIHRoaXMuJGxvZ2luTVNBTC5sb2dpblBvcHVwKClcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHI6IEF1dGhlbnRpY2F0aW9uUmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLiRsb2dpbk1TQUwuaW5zdGFuY2Uuc2V0QWN0aXZlQWNjb3VudChyLmFjY291bnQpO1xyXG4gICAgICAgICAgdGhpcy4kbG9naW5NU0FMLmFjcXVpcmVUb2tlblNpbGVudCh7XHJcbiAgICAgICAgICAgIHNjb3BlczogW1xyXG4gICAgICAgICAgICAgIFwiYXBpOi8vNmIyYzA4MGYtNmFiMC00NTExLWE5ZGYtMGJjZTY5ZGI1ODMzL0FuZ3VsYXJTUEFBdXRoU2NvcGVcIlxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICBhY2NvdW50OiByLmFjY291bnRcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycm9yOiBzdHJpbmcpID0+IGNvbnNvbGUubG9nKGVycm9yKVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4qIFBlcmZvcm0gbG9naW4gdXNpbmcgR29vZ2xlXHJcbiovXHJcbiAgbG9naW5Hb29nbGUoKSB7XHJcbiAgICAvLyBVc2Ugd3JhcHBlciBjbGljayB0byBwcmV2ZW50IElsbGVnYWwgaW52b2NhdGlvbiBleGNlcHRpb25cclxuICAgIGdvb2dsZUJ1dHRvbldyYXBwZXIuY2xpY2soKTtcclxuICB9XHJcbn1cclxuXHJcbmNvbnN0IGNyZWF0ZUZha2VHb29nbGVXcmFwcGVyID0gKCkgPT4ge1xyXG4gIGNvbnN0IGdvb2dsZUxvZ2luV3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcbiAgLy8gT3IgeW91IGNhbiBzaW1wbGUgaGlkZSBpdCBpbiBDU1MgcnVsZSBmb3IgY3VzdG9tLWdvb2dsZS1idXR0b25cclxuICBnb29nbGVMb2dpbldyYXBwZXIuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xyXG4gIGdvb2dsZUxvZ2luV3JhcHBlci5jbGFzc0xpc3QuYWRkKFwiY3VzdG9tLWdvb2dsZS1idXR0b25cIik7XHJcblxyXG4gIC8vIEFkZCB0aGUgd3JhcHBlciB0byBib2R5XHJcbiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChnb29nbGVMb2dpbldyYXBwZXIpO1xyXG5cclxuICAvLyBVc2UgR1NJIGphdmFzY3JpcHQgYXBpIHRvIHJlbmRlciB0aGUgYnV0dG9uIGluc2lkZSBvdXIgd3JhcHBlclxyXG4gIC8vIFlvdSBjYW4gaWdub3JlIHRoZSBwcm9wZXJ0aWVzIGJlY2F1c2UgdGhpcyBidXR0b24gd2lsbCBub3QgYXBwZWFyXHJcbiAgLy8gQHRzLWlnbm9yZVxyXG4gIHdpbmRvdy5nb29nbGUuYWNjb3VudHMuaWQucmVuZGVyQnV0dG9uKGdvb2dsZUxvZ2luV3JhcHBlciwge1xyXG4gICAgdHlwZTogXCJpY29uXCIsXHJcbiAgICB3aWR0aDogXCIyMDBcIixcclxuICB9KTtcclxuXHJcbiAgY29uc3QgZ29vZ2xlTG9naW5XcmFwcGVyQnV0dG9uID1cclxuICAgIGdvb2dsZUxvZ2luV3JhcHBlci5xdWVyeVNlbGVjdG9yKFwiZGl2W3JvbGU9YnV0dG9uXVwiKTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGNsaWNrOiAoKSA9PiB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgZ29vZ2xlTG9naW5XcmFwcGVyQnV0dG9uLmNsaWNrKCk7XHJcbiAgICB9LFxyXG4gIH07XHJcbn07XHJcbnZhciBnb29nbGVCdXR0b25XcmFwcGVyOiBhbnkgPSBudWxsO1xyXG5cclxuIiwiPGRpdiBhbGlnbj1cImNlbnRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNwYWNlZC1ib3R0b20tMjBcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OjE1MCVcIj5cclxuICAgICAgPHA+UXVlc3RhIHNlemlvbmUgY29uc2VudGUgZGkgYWNjZWRlcmU8YnI+YWwgc2Vydml6aW8gdXRpbGl6emFuZG8gdW4gcHJvdmlkZXIgT0F1dGgyLjwvcD5cclxuICAgICAgPHA+TGEgZW1haWwgdXRpbGl6emF0YSBkZXZlIGVzc2VyZSBjb2xsZWdhdGE8YnI+YWQgdW4gdXRlbnRlIHZhbGlkbyBkaSB7e2FwcE5hbWV9fSBlIGRlaSBzZXJ2aXppIGFkIGVzc28gY29ubmVzc2kuXHJcbiAgICAgIDwvcD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNwYWNlZC1ib3R0b20tMjBcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImxvZ2luTVNBTCgpXCIgc3R5bGU9XCJ3aWR0aDo4MCVcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0VmZmV0dHVhIGFjY2Vzc28nXCIgW2Rpc2FibGVkXT1cIiFPQVVUSE1pY3Jvc29mdFJlYWR5XCI+XHJcbiAgICAgICAgQWNjZWRpIGNvbiBNaWNyb3NvZnQ8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNwYWNlZC1ib3R0b20tMjBcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImxvZ2luR29vZ2xlKClcIiBzdHlsZT1cIndpZHRoOjgwJVwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInRWZmZXR0dWEgYWNjZXNzbydcIiBbZGlzYWJsZWRdPVwiIU9BVVRIR29vZ2xlUmVhZHlcIj5cclxuICAgICAgICBBY2NlZGkgY29uIEdvb2dsZTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+Il19
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW5PQXV0aC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkub2F1dGgvdWkvY29tcG9uZW50cy9sb2dpbi9sb2dpbk9BdXRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy91aS5vYXV0aC91aS9jb21wb25lbnRzL2xvZ2luL2xvZ2luT0F1dGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUE2QixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSx1QkFBdUIsRUFBRSxvQkFBb0IsRUFBd0QsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekwsT0FBTyxFQUF3QixvQkFBb0IsRUFBZ0IsU0FBUyxFQUE0QixlQUFlLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5SyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBRWpFLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxXQUErQjtJQUNqRSxPQUFPLElBQUksdUJBQXVCLENBQUM7UUFDakMsSUFBSSxFQUFFO1lBQ0osUUFBUSxFQUFFLHNDQUFzQztZQUNoRCxTQUFTLEVBQUUsMENBQTBDO1lBQ3JELFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFLHFCQUFxQjtTQUN2RDtRQUNELEtBQUssRUFBRTtZQUNMLGFBQWEsRUFBRSxvQkFBb0IsQ0FBQyxZQUFZ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QixHQUFHLEdBQUcsRUFBRTtJQUNuQyxNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsaUVBQWlFO0lBQ2pFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQzFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUV6RCwwQkFBMEI7SUFDMUIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUU5QyxpRUFBaUU7SUFDakUsb0VBQW9FO0lBQ3BFLGFBQWE7SUFDYixNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFO1FBQ3pELElBQUksRUFBRSxNQUFNO1FBQ1osS0FBSyxFQUFFLEtBQUs7S0FDYixDQUFDLENBQUM7SUFFSCxNQUFNLHdCQUF3QixHQUM1QixrQkFBa0IsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUV2RCxPQUFPO1FBQ0wsS0FBSyxFQUFFLEdBQUcsRUFBRTtZQUNWLGFBQWE7WUFDYix3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUNGLElBQUksbUJBQW1CLEdBQVEsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTVNBTF9HVUFSRF9DT05GSUcsIE1TQUxfSU5TVEFOQ0UsIE1TQUxfSU5URVJDRVBUT1JfQ09ORklHLCBNc2FsQnJvYWRjYXN0U2VydmljZSwgTXNhbEd1YXJkQ29uZmlndXJhdGlvbiwgTXNhbEludGVyY2VwdG9yQ29uZmlndXJhdGlvbiwgTXNhbFNlcnZpY2UgfSBmcm9tICdAYXp1cmUvbXNhbC1hbmd1bGFyJztcclxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25SZXN1bHQsIEJyb3dzZXJDYWNoZUxvY2F0aW9uLCBFdmVudE1lc3NhZ2UsIEV2ZW50VHlwZSwgSVB1YmxpY0NsaWVudEFwcGxpY2F0aW9uLCBJbnRlcmFjdGlvblR5cGUsIFB1YmxpY0NsaWVudEFwcGxpY2F0aW9uIH0gZnJvbSAnQGF6dXJlL21zYWwtYnJvd3Nlcic7XHJcbmltcG9ydCB7IFN1YmplY3QsIGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IExvZ2luT0F1dGhSZXN1bHQgfSBmcm9tICcuLi8uLi9kZWZpbml0aW9ucyc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY29yZSc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gTVNBTEluc3RhbmNlRmFjdG9yeShlbnZpcm9ubWVudDogRW52aXJvbm1lbnRTZXJ2aWNlKTogSVB1YmxpY0NsaWVudEFwcGxpY2F0aW9uIHtcclxuICByZXR1cm4gbmV3IFB1YmxpY0NsaWVudEFwcGxpY2F0aW9uKHtcclxuICAgIGF1dGg6IHtcclxuICAgICAgY2xpZW50SWQ6IFwiNmIyYzA4MGYtNmFiMC00NTExLWE5ZGYtMGJjZTY5ZGI1ODMzXCIsXHJcbiAgICAgIGF1dGhvcml0eTogXCJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vY29tbW9uXCIsXHJcbiAgICAgIHJlZGlyZWN0VXJpOiBlbnZpcm9ubWVudC5hcHBVcmksIC8vIFRoaXMgaXMgeW91ciByZWRpclxyXG4gICAgfSxcclxuICAgIGNhY2hlOiB7XHJcbiAgICAgIGNhY2hlTG9jYXRpb246IEJyb3dzZXJDYWNoZUxvY2F0aW9uLkxvY2FsU3RvcmFnZVxyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gTVNBTEludGVyY2VwdG9yQ29uZmlnRmFjdG9yeShlbnZpcm9ubWVudDogRW52aXJvbm1lbnRTZXJ2aWNlKTogTXNhbEludGVyY2VwdG9yQ29uZmlndXJhdGlvbiB7XHJcbiAgXHJcbiAgcmV0dXJuIHtcclxuICAgIGludGVyYWN0aW9uVHlwZTogSW50ZXJhY3Rpb25UeXBlLlBvcHVwLFxyXG4gICAgcHJvdGVjdGVkUmVzb3VyY2VNYXA6IG5ldyBNYXAoW1xyXG4gICAgICBbZW52aXJvbm1lbnQuYXBwU2VydmljZVVyaSArICcvbG9naW4nLCBbXCJhcGk6Ly82YjJjMDgwZi02YWIwLTQ1MTEtYTlkZi0wYmNlNjlkYjU4MzMvQW5ndWxhclNQQUF1dGhTY29wZVwiXV0sXHJcbiAgICAgIFtcImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92Mi4wL21lXCIsIFtcInVzZXIucmVhZFwiXV0sXHJcbiAgICBdKVxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBNU0FMR3VhcmRDb25maWdGYWN0b3J5KCk6IE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICBpbnRlcmFjdGlvblR5cGU6IEludGVyYWN0aW9uVHlwZS5Qb3B1cCxcclxuICAgIGF1dGhSZXF1ZXN0OiB7XHJcbiAgICAgIHNjb3BlczogW1widXNlci5yZWFkXCJdXHJcbiAgICB9XHJcbiAgfTtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsb2dpbi1vYXV0aCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luT0F1dGguY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xvZ2luT0F1dGguY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IE1TQUxfSU5TVEFOQ0UsXHJcbiAgICBkZXBzOltFbnZpcm9ubWVudFNlcnZpY2VdLFxyXG4gICAgdXNlRmFjdG9yeTogTVNBTEluc3RhbmNlRmFjdG9yeVxyXG4gIH0sXHJcbiAge1xyXG4gICAgcHJvdmlkZTogTVNBTF9HVUFSRF9DT05GSUcsXHJcbiAgICB1c2VGYWN0b3J5OiBNU0FMR3VhcmRDb25maWdGYWN0b3J5XHJcbiAgfSxcclxuICB7XHJcbiAgICBwcm92aWRlOiBNU0FMX0lOVEVSQ0VQVE9SX0NPTkZJRyxcclxuICAgIGRlcHM6W0Vudmlyb25tZW50U2VydmljZV0sXHJcbiAgICB1c2VGYWN0b3J5OiBNU0FMSW50ZXJjZXB0b3JDb25maWdGYWN0b3J5XHJcbiAgfSxcclxuICAgIE1zYWxTZXJ2aWNlLFxyXG4gICAgTXNhbEJyb2FkY2FzdFNlcnZpY2VdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEJ1dHRvbk1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2luT0F1dGhDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfX2QkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpIHN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPExvZ2luT0F1dGhSZXN1bHQ+KCk7XHJcblxyXG4gIEBJbnB1dCgpIGFwcE5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGF1dG9Jbml0aWFsaXplOiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xyXG5cclxuXHJcbiAgT0FVVEhSZWFkeTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIE9BVVRITWljcm9zb2Z0UmVhZHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBPQVVUSEdvb2dsZVJlYWR5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgJGJyb2FkY2FzdE1TQUw6IE1zYWxCcm9hZGNhc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSAkbG9naW5NU0FMOiBNc2FsU2VydmljZSxcclxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmVcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuYXV0b0luaXRpYWxpemUpIHtcclxuICAgICAgdGhpcy5pbml0aWFsaXplKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy4kYnJvYWRjYXN0TVNBTC5tc2FsU3ViamVjdCRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKChtc2c6IEV2ZW50TWVzc2FnZSkgPT4gbXNnLmV2ZW50VHlwZSA9PT0gRXZlbnRUeXBlLkFDUVVJUkVfVE9LRU5fU1VDQ0VTUyksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX19kJClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChyOiBhbnkpID0+IHsgICAgICAgIFxyXG4gICAgICAgIGlmIChyKSB7XHJcbiAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh7IHR5cGU6IDEsIHRva2VuOiByLnBheWxvYWQuYWNjZXNzVG9rZW4gfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX19kJC5uZXh0KCk7XHJcbiAgICB0aGlzLl9fZCQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgb3BlbiBhdXRoZW50aWNhdGlvbiAgIFxyXG4gICAqL1xyXG4gIGluaXRpYWxpemUoKSB7XHJcbiAgICBpZiAodGhpcy5PQVVUSFJlYWR5KSB7XHJcbiAgICAgIHJldHVybjsgLy8gQWxyZWFkeSBkb25lXHJcbiAgICB9XHJcbiAgICB0aGlzLk9BVVRIUmVhZHkgPSB0cnVlO1xyXG5cclxuICAgIC8vIExvYWQgTVMgc3RhY2tcclxuICAgIHRoaXMuJGxvZ2luTVNBTC5pbml0aWFsaXplKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX19kJCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuT0FVVEhNaWNyb3NvZnRSZWFkeSA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIC8vIExvYWQgZ29vZ2xlIG1hcHMgc2NyaXB0IGFmdGVyIHZpZXcgaW5pdFxyXG4gICAgY29uc3QgRFNMU2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICBEU0xTY3JpcHQuc3JjID0gJ2h0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9nc2kvY2xpZW50JztcclxuICAgIERTTFNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKERTTFNjcmlwdCk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKERTTFNjcmlwdCk7XHJcblxyXG4gICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgd2luZG93Lm9uR29vZ2xlTGlicmFyeUxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIC8vIGluaXRpYWxpemUgZ29vZ2xlIGFjY291bnRcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICBnb29nbGUuYWNjb3VudHMuaWQuaW5pdGlhbGl6ZSh7XHJcbiAgICAgICAgY2xpZW50X2lkOiAnNzEyMDQ5ODMwNzctYWczMWgzYmd0MnVkY2Jmcjlubjg0cjlybmkyazNzbnAuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20nLFxyXG4gICAgICAgIGNhbmNlbF9vbl90YXBfb3V0c2lkZTogdHJ1ZSxcclxuICAgICAgICBhdXRvX3NlbGVjdDogZmFsc2UsXHJcbiAgICAgICAgY2FsbGJhY2s6IChyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHsgdHlwZTogMiwgdG9rZW46IHIuY3JlZGVudGlhbCB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICBnb29nbGVCdXR0b25XcmFwcGVyID0gY3JlYXRlRmFrZUdvb2dsZVdyYXBwZXIoKTtcclxuXHJcbiAgICAgIHRoaXMuT0FVVEhHb29nbGVSZWFkeSA9IHRydWU7XHJcbiAgICB9O1xyXG5cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogUGVyZm9ybSBsb2dpbiB1c2luZyBNU0FMXHJcbiAgKi9cclxuICBsb2dpbk1TQUwoKSB7XHJcbiAgICB0aGlzLiRsb2dpbk1TQUwubG9naW5Qb3B1cCgpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyOiBBdXRoZW50aWNhdGlvblJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy4kbG9naW5NU0FMLmluc3RhbmNlLnNldEFjdGl2ZUFjY291bnQoci5hY2NvdW50KTtcclxuICAgICAgICAgIHRoaXMuJGxvZ2luTVNBTC5hY3F1aXJlVG9rZW5TaWxlbnQoe1xyXG4gICAgICAgICAgICBzY29wZXM6IFtcclxuICAgICAgICAgICAgICBcImFwaTovLzZiMmMwODBmLTZhYjAtNDUxMS1hOWRmLTBiY2U2OWRiNTgzMy9Bbmd1bGFyU1BBQXV0aFNjb3BlXCJcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgYWNjb3VudDogci5hY2NvdW50XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuKiBQZXJmb3JtIGxvZ2luIHVzaW5nIEdvb2dsZVxyXG4qL1xyXG4gIGxvZ2luR29vZ2xlKCkge1xyXG4gICAgLy8gVXNlIHdyYXBwZXIgY2xpY2sgdG8gcHJldmVudCBJbGxlZ2FsIGludm9jYXRpb24gZXhjZXB0aW9uXHJcbiAgICBnb29nbGVCdXR0b25XcmFwcGVyLmNsaWNrKCk7XHJcbiAgfVxyXG59XHJcblxyXG5jb25zdCBjcmVhdGVGYWtlR29vZ2xlV3JhcHBlciA9ICgpID0+IHtcclxuICBjb25zdCBnb29nbGVMb2dpbldyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gIC8vIE9yIHlvdSBjYW4gc2ltcGxlIGhpZGUgaXQgaW4gQ1NTIHJ1bGUgZm9yIGN1c3RvbS1nb29nbGUtYnV0dG9uXHJcbiAgZ29vZ2xlTG9naW5XcmFwcGVyLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcclxuICBnb29nbGVMb2dpbldyYXBwZXIuY2xhc3NMaXN0LmFkZChcImN1c3RvbS1nb29nbGUtYnV0dG9uXCIpO1xyXG5cclxuICAvLyBBZGQgdGhlIHdyYXBwZXIgdG8gYm9keVxyXG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZ29vZ2xlTG9naW5XcmFwcGVyKTtcclxuXHJcbiAgLy8gVXNlIEdTSSBqYXZhc2NyaXB0IGFwaSB0byByZW5kZXIgdGhlIGJ1dHRvbiBpbnNpZGUgb3VyIHdyYXBwZXJcclxuICAvLyBZb3UgY2FuIGlnbm9yZSB0aGUgcHJvcGVydGllcyBiZWNhdXNlIHRoaXMgYnV0dG9uIHdpbGwgbm90IGFwcGVhclxyXG4gIC8vIEB0cy1pZ25vcmVcclxuICB3aW5kb3cuZ29vZ2xlLmFjY291bnRzLmlkLnJlbmRlckJ1dHRvbihnb29nbGVMb2dpbldyYXBwZXIsIHtcclxuICAgIHR5cGU6IFwiaWNvblwiLFxyXG4gICAgd2lkdGg6IFwiMjAwXCIsXHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0IGdvb2dsZUxvZ2luV3JhcHBlckJ1dHRvbiA9XHJcbiAgICBnb29nbGVMb2dpbldyYXBwZXIucXVlcnlTZWxlY3RvcihcImRpdltyb2xlPWJ1dHRvbl1cIik7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBjbGljazogKCkgPT4ge1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIGdvb2dsZUxvZ2luV3JhcHBlckJ1dHRvbi5jbGljaygpO1xyXG4gICAgfSxcclxuICB9O1xyXG59O1xyXG52YXIgZ29vZ2xlQnV0dG9uV3JhcHBlcjogYW55ID0gbnVsbDtcclxuXHJcbiIsIjxkaXYgYWxpZ249XCJjZW50ZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzcGFjZWQtYm90dG9tLTIwXCIgc3R5bGU9XCJsaW5lLWhlaWdodDoxNTAlXCI+XHJcbiAgICAgIDxwPlF1ZXN0YSBzZXppb25lIGNvbnNlbnRlIGRpIGFjY2VkZXJlPGJyPmFsIHNlcnZpemlvIHV0aWxpenphbmRvIHVuIHByb3ZpZGVyIE9BdXRoMi48L3A+XHJcbiAgICAgIDxwPkxhIGVtYWlsIHV0aWxpenphdGEgZGV2ZSBlc3NlcmUgY29sbGVnYXRhPGJyPmFkIHVuIHV0ZW50ZSB2YWxpZG8gZGkge3thcHBOYW1lfX0gZSBkZWkgc2Vydml6aSBhZCBlc3NvIGNvbm5lc3NpLlxyXG4gICAgICA8L3A+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzcGFjZWQtYm90dG9tLTIwXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJsb2dpbk1TQUwoKVwiIHN0eWxlPVwid2lkdGg6ODAlXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidFZmZldHR1YSBhY2Nlc3NvJ1wiIFtkaXNhYmxlZF09XCIhT0FVVEhNaWNyb3NvZnRSZWFkeVwiPlxyXG4gICAgICAgIEFjY2VkaSBjb24gTWljcm9zb2Z0PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzcGFjZWQtYm90dG9tLTIwXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJsb2dpbkdvb2dsZSgpXCIgc3R5bGU9XCJ3aWR0aDo4MCVcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0VmZmV0dHVhIGFjY2Vzc28nXCIgW2Rpc2FibGVkXT1cIiFPQVVUSEdvb2dsZVJlYWR5XCI+XHJcbiAgICAgICAgQWNjZWRpIGNvbiBHb29nbGU8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PiJdfQ==
|