@esfaenza/core 15.2.49 → 15.2.51

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.
Files changed (81) hide show
  1. package/components/error/404/pagenotfound.component.d.ts +3 -3
  2. package/components/error/500/servererror.component.d.ts +3 -1
  3. package/components/error/Angular/angularerror.component.d.ts +4 -3
  4. package/directives/draggable/draggable.directive.d.ts +3 -3
  5. package/directives/es-modal/es-modal.directive.d.ts +3 -3
  6. package/directives/es-routerLink/es-routerLink.directive.d.ts +3 -3
  7. package/esm2020/components/back-top/back-top.component.mjs +4 -4
  8. package/esm2020/components/base/base.component.mjs +7 -5
  9. package/esm2020/components/base/reactive.component.mjs +4 -4
  10. package/esm2020/components/breadcrumb/breadcrumb.component.mjs +4 -4
  11. package/esm2020/components/components.module.mjs +5 -5
  12. package/esm2020/components/error/404/pagenotfound.component.mjs +10 -10
  13. package/esm2020/components/error/500/servererror.component.mjs +11 -9
  14. package/esm2020/components/error/Angular/angularerror.component.mjs +10 -9
  15. package/esm2020/components/es-modal/es-modal-head/es-modal-head.component.mjs +4 -4
  16. package/esm2020/components/es-modal/es-modal.component.mjs +4 -4
  17. package/esm2020/components/external-page/external_pages.component.mjs +4 -4
  18. package/esm2020/components/jace-login/jace-login.component.mjs +4 -4
  19. package/esm2020/components/jace-resource/jace-resource.component.mjs +4 -4
  20. package/esm2020/components/navbar/modules-board/jace-modules-board.component.mjs +4 -4
  21. package/esm2020/components/navbar/navbar.component.loc.mjs +4 -4
  22. package/esm2020/components/navbar/navbar.component.mjs +7 -7
  23. package/esm2020/components/page/pages.component.mjs +4 -4
  24. package/esm2020/components/redirecter/redirecter.component.mjs +4 -4
  25. package/esm2020/components/sidebar/sidebar.component.mjs +4 -4
  26. package/esm2020/directives/componentHost/componentHost.directive.mjs +4 -4
  27. package/esm2020/directives/directives.module.mjs +5 -5
  28. package/esm2020/directives/draggable/draggable.directive.mjs +9 -9
  29. package/esm2020/directives/es-modal/es-modal.directive.mjs +13 -13
  30. package/esm2020/directives/es-routerLink/es-routerLink.directive.mjs +9 -9
  31. package/esm2020/directives/slim-scroll/slim-scroll.directive.mjs +4 -4
  32. package/esm2020/directives/widget/widget.directive.mjs +4 -4
  33. package/esm2020/lib/app.component.mjs +5 -5
  34. package/esm2020/lib/core.module.mjs +5 -5
  35. package/esm2020/modules/classes/_shared.module.mjs +5 -5
  36. package/esm2020/modules/classes/t_c.module.mjs +5 -5
  37. package/esm2020/pipes/classes/included_in.pipe.mjs +4 -4
  38. package/esm2020/pipes/classes/safe_html.pipe.mjs +4 -4
  39. package/esm2020/pipes/classes/safe_script.pipe.mjs +4 -4
  40. package/esm2020/pipes/classes/safe_style.pipe.mjs +4 -4
  41. package/esm2020/pipes/classes/safe_url.pipe.mjs +4 -4
  42. package/esm2020/pipes/pipes.module.mjs +5 -5
  43. package/esm2020/services/classes/app.accesstoken.mjs +4 -4
  44. package/esm2020/services/classes/app.completedjobredirection.mjs +4 -4
  45. package/esm2020/services/classes/app.errorhandler.mjs +4 -4
  46. package/esm2020/services/classes/app.event.mjs +4 -4
  47. package/esm2020/services/classes/app.globalsearch.mjs +4 -4
  48. package/esm2020/services/classes/app.httpextensions.loc.mjs +4 -4
  49. package/esm2020/services/classes/app.httpextensions.mjs +4 -4
  50. package/esm2020/services/classes/app.menufilter.mjs +4 -4
  51. package/esm2020/services/classes/app.routeguard.mjs +4 -4
  52. package/esm2020/services/classes/app.session.mjs +4 -4
  53. package/esm2020/services/classes/app.state.mjs +31 -19
  54. package/esm2020/services/classes/preferences/app.cache.persistor.mjs +4 -4
  55. package/esm2020/services/classes/preferences/app.preference.persistor.mjs +4 -4
  56. package/fesm2015/esfaenza-core-components.mjs +98 -95
  57. package/fesm2015/esfaenza-core-components.mjs.map +1 -1
  58. package/fesm2015/esfaenza-core-directives.mjs +39 -39
  59. package/fesm2015/esfaenza-core-directives.mjs.map +1 -1
  60. package/fesm2015/esfaenza-core-modules.mjs +8 -8
  61. package/fesm2015/esfaenza-core-modules.mjs.map +1 -1
  62. package/fesm2015/esfaenza-core-pipes.mjs +19 -19
  63. package/fesm2015/esfaenza-core-pipes.mjs.map +1 -1
  64. package/fesm2015/esfaenza-core-services.mjs +74 -62
  65. package/fesm2015/esfaenza-core-services.mjs.map +1 -1
  66. package/fesm2015/esfaenza-core.mjs +8 -8
  67. package/fesm2015/esfaenza-core.mjs.map +1 -1
  68. package/fesm2020/esfaenza-core-components.mjs +98 -95
  69. package/fesm2020/esfaenza-core-components.mjs.map +1 -1
  70. package/fesm2020/esfaenza-core-directives.mjs +39 -39
  71. package/fesm2020/esfaenza-core-directives.mjs.map +1 -1
  72. package/fesm2020/esfaenza-core-modules.mjs +8 -8
  73. package/fesm2020/esfaenza-core-modules.mjs.map +1 -1
  74. package/fesm2020/esfaenza-core-pipes.mjs +19 -19
  75. package/fesm2020/esfaenza-core-pipes.mjs.map +1 -1
  76. package/fesm2020/esfaenza-core-services.mjs +66 -54
  77. package/fesm2020/esfaenza-core-services.mjs.map +1 -1
  78. package/fesm2020/esfaenza-core.mjs +8 -8
  79. package/fesm2020/esfaenza-core.mjs.map +1 -1
  80. package/package.json +2 -2
  81. package/services/classes/app.state.d.ts +5 -5
@@ -82,9 +82,9 @@ export class HTTPServiceExtensions {
82
82
  }
83
83
  }
84
84
  }
85
- HTTPServiceExtensions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HTTPServiceExtensions, deps: [{ token: i1.LocalizationService }, { token: i2.TokenService }, { token: i3.AppState }, { token: i4.Router }, { token: i5.AccessControlService }, { token: i6.MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
86
- HTTPServiceExtensions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HTTPServiceExtensions });
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HTTPServiceExtensions, decorators: [{
85
+ HTTPServiceExtensions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HTTPServiceExtensions, deps: [{ token: i1.LocalizationService }, { token: i2.TokenService }, { token: i3.AppState }, { token: i4.Router }, { token: i5.AccessControlService }, { token: i6.MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
86
+ HTTPServiceExtensions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HTTPServiceExtensions });
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HTTPServiceExtensions, decorators: [{
88
88
  type: Injectable
89
89
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.TokenService }, { type: i3.AppState }, { type: i4.Router }, { type: i5.AccessControlService }, { type: i6.MessageService }]; } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmh0dHBleHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZXJ2aWNlcy9zcmMvY2xhc3Nlcy9hcHAuaHR0cGV4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTM0MsZUFBZTtBQUNmLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQVNwRSxNQUFNLE9BQU8scUJBQXFCO0lBRTlCLFlBQW9CLEVBQXVCLEVBQVUsR0FBaUIsRUFBVSxFQUFZLEVBQVUsTUFBYyxFQUFVLEVBQXdCLEVBQVUsSUFBb0I7UUFBaEssT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFjO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBVTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFzQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQWdCO1FBQ2hMLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO0lBQ2hFLENBQUM7SUFFRCxlQUFlO0lBQ2YsbUJBQW1CO1FBQ2YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxnQkFBZ0I7UUFDWixPQUFZLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELDhDQUE4QztJQUM5QyxzQkFBc0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO0lBQ3RDLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxNQUFlO1FBQ25DLElBQUksQ0FBQyxFQUFFLENB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YW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9hY2Nlc3MtY29udHJvbFwiO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZUV4dGVuc2lvbnMgfSBmcm9tIFwiQGVzZmFlbnphL2h0dHBzZXJ2aWNlXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2V4dGVuc2lvbnNcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBIVFRQU2VydmljZUV4dGVuc2lvbnNMb2MgfSBmcm9tIFwiLi9hcHAuaHR0cGV4dGVuc2lvbnMubG9jXCI7XHJcbmltcG9ydCB7IEFwcFN0YXRlIH0gZnJvbSBcIi4vYXBwLnN0YXRlXCI7XHJcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gXCIuL2FwcC5hY2Nlc3N0b2tlblwiO1xyXG5cclxuaW1wb3J0IHsgRW52T3B0aW9ucyB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9kb21haW5cIjtcclxuXHJcbmRlY2xhcmUgdmFyIG15Y29uZmlnOiBFbnZPcHRpb25zO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSFRUUFNlcnZpY2VFeHRlbnNpb25zIGltcGxlbWVudHMgSHR0cFNlcnZpY2VFeHRlbnNpb25zIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCBwcml2YXRlIHRrczogVG9rZW5TZXJ2aWNlLCBwcml2YXRlIGFzOiBBcHBTdGF0ZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UsIHByaXZhdGUgbXNnczogTWVzc2FnZVNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLmxjID0gdGhpcy5sYy5nZW5lcmF0ZUZyb21UeXBlKEhUVFBTZXJ2aWNlRXh0ZW5zaW9uc0xvYylcclxuICAgIH1cclxuXHJcbiAgICAvL0dlc3Rpb25lIEF1dGhcclxuICAgIHJldHJpZXZlQWNjZXNzVG9rZW4oKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50a3MuZ2V0QWNjZXNzVG9rZW4oKS50b1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHJpZXZlSWRlbnRpdHkoKTogeyBJZFVzZXI6IHN0cmluZzsgSWR0ZW5hbnQ6IHN0cmluZzsgfSB7XHJcbiAgICAgICAgcmV0dXJuIDxhbnk+dGhpcy50a3MuZ2V0SmFjZUlkZW50aXR5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy9HZXN0aW9uZSByaWRpcmV6aW9uZSBhbCBsb2dpbiAvIGFsdHJlIHBhZ2luZVxyXG4gICAgcmVhZFJlZGlyZWN0aW5nVG9Mb2dpbigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcy5yZWRpcmVjdGluZ1RvTG9naW47XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVSZWRpcmVjdGluZ1RvTG9naW4oc3RhdHVzOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5hcy5yZWRpcmVjdGluZ1RvTG9naW4gPSBzdGF0dXM7XHJcbiAgICB9XHJcblxyXG4gICAgcmVkaXJlY3RUb0xvZ2luKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiSFRUUFNlcnZpY2VFeHRlbnNpb25zIC0gcmVkaXJlY3RpbmcgdG8gbG9naW5cIik7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wibG9naW5cIiwgeyBmcm9tVXJsOiB0aGlzLnJvdXRlci51cmwgfV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlYWRSZWRpcmVjdGlvblN0YXR1cygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gbXljb25maWc/LnJlZGlyZWN0SW5Qcm9ncmVzcztcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVJlZGlyZWN0aW9uU3RhdHVzKHN0YXR1czogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIG15Y29uZmlnLnJlZGlyZWN0SW5Qcm9ncmVzcyA9IHN0YXR1cztcclxuICAgIH1cclxuXHJcbiAgICAvL0dlc3Rpb25lIGVycm9yIGhhbmRsaW5nIGZsYWdcclxuICAgIHJlYWRIYW5kbGluZ0Vycm9yU3RhdHVzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFzLmhhbmRsaW5nRXJyb3I7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVIYW5kbGluZ0Vycm9yU3RhdHVzKHN0YXR1czogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuYXMuaGFuZGxpbmdFcnJvciA9IHN0YXR1cztcclxuICAgIH1cclxuXHJcbiAgICAvLyA0NDQsIHNlIGZhbHNlIHBhc3NhIGEgaGFuZGxlQmxvY2tpbmdFeGNlcHRpb25cclxuICAgIGhhbmRsZU5vdENvbmZpZ3VyZWRFeGNlcHRpb24oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMuYWMuaGFzKFwiUDptZG1fY3VzdG9taXplXCIpKSB7XHJcbiAgICAgICAgICAgIG15Y29uZmlnLnJlZGlyZWN0SW5Qcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuYXMuaGFuZGxpbmdFcnJvciA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJwYWdlcy9hZG0vdGVuYW50Y29uZmlnXCJdKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gNDAwLCA0MDMsIDQwNCwgNDQ0XHJcbiAgICBoYW5kbGVCbG9ja2luZ0V4Y2VwdGlvbihzdGF0dXM6IG51bWJlciwgdGV4dDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5tc2dzLnNpbXBsZUVycm9yKHN0YXR1cyArIFwiOiBcIiArIHRleHQpXHJcbiAgICAgICAgdGhpcy5hcy5oYW5kbGluZ0Vycm9yID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVHV0dG8gcXVlbGxvIGNoZSBub24gw6ggZ2VzdGl0byBkYSBoYW5kbGVCbG9ja2luZ0V4Y2VwdGlvblxyXG4gICAgaGFuZGxlRXhjZXB0aW9uKHN0YXR1czogbnVtYmVyLCB0ZXh0OiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoc3RhdHVzID09IDUwMykge1xyXG4gICAgICAgICAgICB0aGlzLm1zZ3Muc2ltcGxlRXJyb3IodGhpcy5sYy5sb2MoXCJJbCBTZXJ2ZXIgc2VtYnJhIGVzc2VyZSBvZmZsaW5lLCBwcm92YSBhIHJpY2FyaWNhcmUgbGEgcGFnaW5hXCIpKTtcclxuICAgICAgICAgICAgdGhpcy5hcy5oYW5kbGluZ0Vycm9yID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHN0YXR1cyA9PSA1NDIpIHtcclxuICAgICAgICAgICAgdGhpcy5tc2dzLnNpbXBsZUVycm9yKHRleHQpO1xyXG4gICAgICAgICAgICB0aGlzLmFzLmhhbmRsaW5nRXJyb3IgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHZhciBzdCA9IGJ0b2EoZW5jb2RlVVJJQ29tcG9uZW50KHRleHQpLnJlcGxhY2UoLyUoWzAtOUEtRl17Mn0pL2csIChtYXRjaCwgcDEpID0+IFN0cmluZy5mcm9tQ2hhckNvZGUoPGFueT4oXCIweFwiICsgcDEpKSkpO1xyXG4gICAgICAgICAgICB2YXIgcGFycyA9IHsgc3RhdHVzQ29kZTogc3RhdHVzLCBzdGF0dXNUZXh0OiBzdCwgZnJvbVVybDogdGhpcy5yb3V0ZXIudXJsIH07XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImlzZXJyXCIsIHBhcnNdKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmh0dHBleHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZXJ2aWNlcy9zcmMvY2xhc3Nlcy9hcHAuaHR0cGV4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTM0MsZUFBZTtBQUNmLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQVNwRSxNQUFNLE9BQU8scUJBQXFCO0lBRTlCLFlBQW9CLEVBQXVCLEVBQVUsR0FBaUIsRUFBVSxFQUFZLEVBQVUsTUFBYyxFQUFVLEVBQXdCLEVBQVUsSUFBb0I7UUFBaEssT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFjO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBVTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFzQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQWdCO1FBQ2hMLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO0lBQ2hFLENBQUM7SUFFRCxlQUFlO0lBQ2YsbUJBQW1CO1FBQ2YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxnQkFBZ0I7UUFDWixPQUFZLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELDhDQUE4QztJQUM5QyxzQkFBc0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO0lBQ3RDLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxNQUFlO1FBQ25DLElBQUksQ0FBQyxFQUFFLENB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YW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9hY2Nlc3MtY29udHJvbFwiO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZUV4dGVuc2lvbnMgfSBmcm9tIFwiQGVzZmFlbnphL2h0dHBzZXJ2aWNlXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2V4dGVuc2lvbnNcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBIVFRQU2VydmljZUV4dGVuc2lvbnNMb2MgfSBmcm9tIFwiLi9hcHAuaHR0cGV4dGVuc2lvbnMubG9jXCI7XHJcbmltcG9ydCB7IEFwcFN0YXRlIH0gZnJvbSBcIi4vYXBwLnN0YXRlXCI7XHJcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gXCIuL2FwcC5hY2Nlc3N0b2tlblwiO1xyXG5cclxuaW1wb3J0IHsgRW52T3B0aW9ucyB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9kb21haW5cIjtcclxuXHJcbmRlY2xhcmUgdmFyIG15Y29uZmlnOiBFbnZPcHRpb25zO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSFRUUFNlcnZpY2VFeHRlbnNpb25zIGltcGxlbWVudHMgSHR0cFNlcnZpY2VFeHRlbnNpb25zIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCBwcml2YXRlIHRrczogVG9rZW5TZXJ2aWNlLCBwcml2YXRlIGFzOiBBcHBTdGF0ZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UsIHByaXZhdGUgbXNnczogTWVzc2FnZVNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLmxjID0gdGhpcy5sYy5nZW5lcmF0ZUZyb21UeXBlKEhUVFBTZXJ2aWNlRXh0ZW5zaW9uc0xvYylcclxuICAgIH1cclxuXHJcbiAgICAvL0dlc3Rpb25lIEF1dGhcclxuICAgIHJldHJpZXZlQWNjZXNzVG9rZW4oKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50a3MuZ2V0QWNjZXNzVG9rZW4oKS50b1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHJpZXZlSWRlbnRpdHkoKTogeyBJZFVzZXI6IHN0cmluZzsgSWR0ZW5hbnQ6IHN0cmluZzsgfSB7XHJcbiAgICAgICAgcmV0dXJuIDxhbnk+dGhpcy50a3MuZ2V0SmFjZUlkZW50aXR5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy9HZXN0aW9uZSByaWRpcmV6aW9uZSBhbCBsb2dpbiAvIGFsdHJlIHBhZ2luZVxyXG4gICAgcmVhZFJlZGlyZWN0aW5nVG9Mb2dpbigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcy5yZWRpcmVjdGluZ1RvTG9naW47XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVSZWRpcmVjdGluZ1RvTG9naW4oc3RhdHVzOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5hcy5yZWRpcmVjdGluZ1RvTG9naW4gPSBzdGF0dXM7XHJcbiAgICB9XHJcblxyXG4gICAgcmVkaXJlY3RUb0xvZ2luKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiSFRUUFNlcnZpY2VFeHRlbnNpb25zIC0gcmVkaXJlY3RpbmcgdG8gbG9naW5cIik7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wibG9naW5cIiwgeyBmcm9tVXJsOiB0aGlzLnJvdXRlci51cmwgfV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlYWRSZWRpcmVjdGlvblN0YXR1cygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gbXljb25maWc/LnJlZGlyZWN0SW5Qcm9ncmVzcztcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVJlZGlyZWN0aW9uU3RhdHVzKHN0YXR1czogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIG15Y29uZmlnLnJlZGlyZWN0SW5Qcm9ncmVzcyA9IHN0YXR1cztcclxuICAgIH1cclxuXHJcbiAgICAvL0dlc3Rpb25lIGVycm9yIGhhbmRsaW5nIGZsYWdcclxuICAgIHJlYWRIYW5kbGluZ0Vycm9yU3RhdHVzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFzLmhhbmRsaW5nRXJyb3I7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVIYW5kbGluZ0Vycm9yU3RhdHVzKHN0YXR1czogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuYXMuaGFuZGxpbmdFcnJvciA9IHN0YXR1cztcclxuICAgIH1cclxuXHJcbiAgICAvLyA0NDQsIHNlIGZhbHNlIHBhc3NhIGEgaGFuZGxlQmxvY2tpbmdFeGNlcHRpb25cclxuICAgIGhhbmRsZU5vdENvbmZpZ3VyZWRFeGNlcHRpb24oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMuYWMuaGFzKFwiUDptZG1fY3VzdG9taXplXCIpKSB7XHJcbiAgICAgICAgICAgIG15Y29uZmlnLnJlZGlyZWN0SW5Qcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuYXMuaGFuZGxpbmdFcnJvciA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJwYWdlcy9hZG0vdGVuYW50Y29uZmlnXCJdKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gNDAwLCA0MDMsIDQwNCwgNDQ0XHJcbiAgICBoYW5kbGVCbG9ja2luZ0V4Y2VwdGlvbihzdGF0dXM6IG51bWJlciwgdGV4dDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5tc2dzLnNpbXBsZUVycm9yKHN0YXR1cyArIFwiOiBcIiArIHRleHQpXHJcbiAgICAgICAgdGhpcy5hcy5oYW5kbGluZ0Vycm9yID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVHV0dG8gcXVlbGxvIGNoZSBub24gw6ggZ2VzdGl0byBkYSBoYW5kbGVCbG9ja2luZ0V4Y2VwdGlvblxyXG4gICAgaGFuZGxlRXhjZXB0aW9uKHN0YXR1czogbnVtYmVyLCB0ZXh0OiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoc3RhdHVzID09IDUwMykge1xyXG4gICAgICAgICAgICB0aGlzLm1zZ3Muc2ltcGxlRXJyb3IodGhpcy5sYy5sb2MoXCJJbCBTZXJ2ZXIgc2VtYnJhIGVzc2VyZSBvZmZsaW5lLCBwcm92YSBhIHJpY2FyaWNhcmUgbGEgcGFnaW5hXCIpKTtcclxuICAgICAgICAgICAgdGhpcy5hcy5oYW5kbGluZ0Vycm9yID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHN0YXR1cyA9PSA1NDIpIHtcclxuICAgICAgICAgICAgdGhpcy5tc2dzLnNpbXBsZUVycm9yKHRleHQpO1xyXG4gICAgICAgICAgICB0aGlzLmFzLmhhbmRsaW5nRXJyb3IgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHZhciBzdCA9IGJ0b2EoZW5jb2RlVVJJQ29tcG9uZW50KHRleHQpLnJlcGxhY2UoLyUoWzAtOUEtRl17Mn0pL2csIChtYXRjaCwgcDEpID0+IFN0cmluZy5mcm9tQ2hhckNvZGUoPGFueT4oXCIweFwiICsgcDEpKSkpO1xyXG4gICAgICAgICAgICB2YXIgcGFycyA9IHsgc3RhdHVzQ29kZTogc3RhdHVzLCBzdGF0dXNUZXh0OiBzdCwgZnJvbVVybDogdGhpcy5yb3V0ZXIudXJsIH07XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImlzZXJyXCIsIHBhcnNdKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
@@ -13,9 +13,9 @@ export class MenuFilteringService {
13
13
  return of(rawMenus);
14
14
  }
15
15
  }
16
- MenuFilteringService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuFilteringService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
17
- MenuFilteringService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuFilteringService });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuFilteringService, decorators: [{
16
+ MenuFilteringService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MenuFilteringService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
17
+ MenuFilteringService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MenuFilteringService });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MenuFilteringService, decorators: [{
19
19
  type: Injectable
20
20
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1lbnVmaWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlcnZpY2VzL3NyYy9jbGFzc2VzL2FwcC5tZW51ZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR3RDLE1BQU0sT0FBTyxvQkFBb0I7SUFDN0I7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsUUFBMkI7UUFDckMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7a0hBVFEsb0JBQW9CO3NIQUFwQixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb3JlXHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uTWVudSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9kb21haW5cIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTWVudUZpbHRlcmluZ1NlcnZpY2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBBcHBsaWNhIHVuIGZpbHRybyBhZ2xpIGVsZW1lbnRpIGRpIG1lbsO5IGluIG1vZG8gZGEgcG90ZXJsaSBmaWx0cmFyZSBpbiBiYXNlIGEgY29uZGl6aW9uaSBhcmJpdHJhcmllIChpbmNsdXNpIGNoZWNrIGxhdG8gQkUpXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSByYXdNZW51cyBNZW7DuSBvcmlnaW5hbGksIG5vbiBmaWx0cmF0aVxyXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8QXBwbGljYXRpb25NZW51W10+fSBNZW7DuSBmaWx0cmF0aVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZmlsdGVyKHJhd01lbnVzOiBBcHBsaWNhdGlvbk1lbnVbXSk6IE9ic2VydmFibGU8QXBwbGljYXRpb25NZW51W10+IHtcclxuICAgICAgICByZXR1cm4gb2YocmF3TWVudXMpO1xyXG4gICAgfVxyXG59Il19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1lbnVmaWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlcnZpY2VzL3NyYy9jbGFzc2VzL2FwcC5tZW51ZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR3RDLE1BQU0sT0FBTyxvQkFBb0I7SUFDN0I7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsUUFBMkI7UUFDckMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7aUhBVFEsb0JBQW9CO3FIQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb3JlXHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uTWVudSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9kb21haW5cIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTWVudUZpbHRlcmluZ1NlcnZpY2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBBcHBsaWNhIHVuIGZpbHRybyBhZ2xpIGVsZW1lbnRpIGRpIG1lbsO5IGluIG1vZG8gZGEgcG90ZXJsaSBmaWx0cmFyZSBpbiBiYXNlIGEgY29uZGl6aW9uaSBhcmJpdHJhcmllIChpbmNsdXNpIGNoZWNrIGxhdG8gQkUpXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSByYXdNZW51cyBNZW7DuSBvcmlnaW5hbGksIG5vbiBmaWx0cmF0aVxyXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8QXBwbGljYXRpb25NZW51W10+fSBNZW7DuSBmaWx0cmF0aVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZmlsdGVyKHJhd01lbnVzOiBBcHBsaWNhdGlvbk1lbnVbXSk6IE9ic2VydmFibGU8QXBwbGljYXRpb25NZW51W10+IHtcclxuICAgICAgICByZXR1cm4gb2YocmF3TWVudXMpO1xyXG4gICAgfVxyXG59Il19
@@ -14,9 +14,9 @@ export class BaseRouterGuard extends AccessControlRouteGuard {
14
14
  acc.initializeIdentity(ts.getJaceIdentity());
15
15
  }
16
16
  }
17
- BaseRouterGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseRouterGuard, deps: [{ token: i1.MessageService }, { token: i2.AccessControlService }, { token: i3.Router }, { token: i4.TokenService }], target: i0.ɵɵFactoryTarget.Injectable });
18
- BaseRouterGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseRouterGuard });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseRouterGuard, decorators: [{
17
+ BaseRouterGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseRouterGuard, deps: [{ token: i1.MessageService }, { token: i2.AccessControlService }, { token: i3.Router }, { token: i4.TokenService }], target: i0.ɵɵFactoryTarget.Injectable });
18
+ BaseRouterGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseRouterGuard });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseRouterGuard, decorators: [{
20
20
  type: Injectable
21
21
  }], ctorParameters: function () { return [{ type: i1.MessageService }, { type: i2.AccessControlService }, { type: i3.Router }, { type: i4.TokenService }]; } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnJvdXRlZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlcnZpY2VzL3NyYy9jbGFzc2VzL2FwcC5yb3V0ZWd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsdUJBQXVCLEVBQXdCLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQU16RixNQUFNLE9BQU8sZUFBZ0IsU0FBUSx1QkFBdUI7SUFDeEQsWUFBWSxFQUFrQixFQUFFLEdBQXlCLEVBQUUsTUFBYyxFQUFFLEVBQWdCO1FBQ3ZGLEtBQUssQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXZCLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVztZQUNoQixHQUFHLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQzs7NkdBTlEsZUFBZTtpSEFBZixlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sUm91dGVHdWFyZCwgQWNjZXNzQ29udHJvbFNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2FjY2Vzcy1jb250cm9sXCI7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcblxyXG5pbXBvcnQgeyBUb2tlblNlcnZpY2UgfSBmcm9tIFwiLi9hcHAuYWNjZXNzdG9rZW5cIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEJhc2VSb3V0ZXJHdWFyZCBleHRlbmRzIEFjY2Vzc0NvbnRyb2xSb3V0ZUd1YXJkIHtcclxuICAgIGNvbnN0cnVjdG9yKG1zOiBNZXNzYWdlU2VydmljZSwgYWNjOiBBY2Nlc3NDb250cm9sU2VydmljZSwgcm91dGVyOiBSb3V0ZXIsIHRzOiBUb2tlblNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcihtcywgYWNjLCByb3V0ZXIpO1xyXG5cclxuICAgICAgICBpZiAoIWFjYy5Jbml0aWFsaXplZClcclxuICAgICAgICAgICAgYWNjLmluaXRpYWxpemVJZGVudGl0eSh0cy5nZXRKYWNlSWRlbnRpdHkoKSk7XHJcbiAgICB9XHJcbn0iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnJvdXRlZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlcnZpY2VzL3NyYy9jbGFzc2VzL2FwcC5yb3V0ZWd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsdUJBQXVCLEVBQXdCLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQU16RixNQUFNLE9BQU8sZUFBZ0IsU0FBUSx1QkFBdUI7SUFDeEQsWUFBWSxFQUFrQixFQUFFLEdBQXlCLEVBQUUsTUFBYyxFQUFFLEVBQWdCO1FBQ3ZGLEtBQUssQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXZCLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVztZQUNoQixHQUFHLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQzs7NEdBTlEsZUFBZTtnSEFBZixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sUm91dGVHdWFyZCwgQWNjZXNzQ29udHJvbFNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2FjY2Vzcy1jb250cm9sXCI7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcblxyXG5pbXBvcnQgeyBUb2tlblNlcnZpY2UgfSBmcm9tIFwiLi9hcHAuYWNjZXNzdG9rZW5cIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEJhc2VSb3V0ZXJHdWFyZCBleHRlbmRzIEFjY2Vzc0NvbnRyb2xSb3V0ZUd1YXJkIHtcclxuICAgIGNvbnN0cnVjdG9yKG1zOiBNZXNzYWdlU2VydmljZSwgYWNjOiBBY2Nlc3NDb250cm9sU2VydmljZSwgcm91dGVyOiBSb3V0ZXIsIHRzOiBUb2tlblNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcihtcywgYWNjLCByb3V0ZXIpO1xyXG5cclxuICAgICAgICBpZiAoIWFjYy5Jbml0aWFsaXplZClcclxuICAgICAgICAgICAgYWNjLmluaXRpYWxpemVJZGVudGl0eSh0cy5nZXRKYWNlSWRlbnRpdHkoKSk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -23,10 +23,10 @@ export class SessionRetriever {
23
23
  return this.SessionIdentity;
24
24
  }
25
25
  }
26
- SessionRetriever.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SessionRetriever, deps: [{ token: i1.TokenService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
27
- SessionRetriever.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SessionRetriever, providedIn: "root" });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SessionRetriever, decorators: [{
26
+ SessionRetriever.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionRetriever, deps: [{ token: i1.TokenService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
27
+ SessionRetriever.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionRetriever, providedIn: "root" });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionRetriever, decorators: [{
29
29
  type: Injectable,
30
30
  args: [{ providedIn: "root" }]
31
31
  }], ctorParameters: function () { return [{ type: i1.TokenService }, { type: i2.Router }]; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnNlc3Npb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlcnZpY2VzL3NyYy9jbGFzc2VzL2FwcC5zZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBZTNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFJekIsWUFBb0IsR0FBaUIsRUFBVSxNQUFjO1FBQXpDLFFBQUcsR0FBSCxHQUFHLENBQWM7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUksQ0FBQztJQUVsRSxtQ0FBbUM7SUFDbkMsYUFBYTtRQUNULElBQUksSUFBSSxDQUFDLGVBQWU7WUFDcEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBRWhDLHVEQUF1RDtRQUN2RCxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUE7WUFDbkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLE9BQU8sRUFBRSxDQUFDO1NBQ2I7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsU0FBUyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQztRQUNuSCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQzs7OEdBckJRLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBREgsTUFBTTs0RkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IEJhc2VTZXNzaW9uUmV0cmlldmVyIH0gZnJvbSBcIkBlc2ZhZW56YS9wcmVmZXJlbmNlc1wiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gXCIuL2FwcC5hY2Nlc3N0b2tlblwiO1xyXG5cclxuLy8gQ29yZVxyXG5pbXBvcnQgeyBFbnZPcHRpb25zIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL2RvbWFpblwiO1xyXG5cclxuZGVjbGFyZSB2YXIgbXljb25maWc6IEVudk9wdGlvbnM7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46IFwicm9vdFwiIH0pXHJcbmV4cG9ydCBjbGFzcyBTZXNzaW9uUmV0cmlldmVyIGltcGxlbWVudHMgQmFzZVNlc3Npb25SZXRyaWV2ZXIge1xyXG5cclxuICAgIHByaXZhdGUgU2Vzc2lvbklkZW50aXR5OiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBidHM6IFRva2VuU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikgeyB9XHJcblxyXG4gICAgLyoqIFRlbmFudMKnQWNjb3VudMKnVXNlcsKnTW9kdWxlSWQgKi9cclxuICAgIGdldFNlc3Npb25LZXkoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5TZXNzaW9uSWRlbnRpdHkpXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLlNlc3Npb25JZGVudGl0eTtcclxuXHJcbiAgICAgICAgLy8gU2Ugbm9uIGhvIHVuIGlkIG1pIG1hbmNhIGlsIGxvZ2luLCBxdWluZGkgdmlhIGRpIHF1YVxyXG4gICAgICAgIHZhciBpZCA9IHRoaXMuYnRzLmdldEphY2VJZGVudGl0eSgpO1xyXG4gICAgICAgIGlmICghaWQpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJTZXNzaW9uUmV0cmlldmVyIC0gbm8gaWRlbnRpdHksIHJlZGlyZWN0aW5nIHRvIGxvZ2luXCIpXHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImxvZ2luXCJdKTtcclxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLlNlc3Npb25JZGVudGl0eSA9IFwiXCIgKyBpZC5JZHRlbmFudCArIFwiwqdcIiArIGlkLklkQWNjb3VudCArIFwiwqdcIiArIGlkLklkVXNlciArIFwiwqdcIiArIG15Y29uZmlnPy5BcHBEYXRhPy5Nb2R1bGVJZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5TZXNzaW9uSWRlbnRpdHk7XHJcbiAgICB9XHJcbn0iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnNlc3Npb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlcnZpY2VzL3NyYy9jbGFzc2VzL2FwcC5zZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBZTNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFJekIsWUFBb0IsR0FBaUIsRUFBVSxNQUFjO1FBQXpDLFFBQUcsR0FBSCxHQUFHLENBQWM7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUksQ0FBQztJQUVsRSxtQ0FBbUM7SUFDbkMsYUFBYTtRQUNULElBQUksSUFBSSxDQUFDLGVBQWU7WUFDcEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBRWhDLHVEQUF1RDtRQUN2RCxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUE7WUFDbkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLE9BQU8sRUFBRSxDQUFDO1NBQ2I7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsU0FBUyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQztRQUNuSCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQzs7NkdBckJRLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBREgsTUFBTTsyRkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IEJhc2VTZXNzaW9uUmV0cmlldmVyIH0gZnJvbSBcIkBlc2ZhZW56YS9wcmVmZXJlbmNlc1wiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gXCIuL2FwcC5hY2Nlc3N0b2tlblwiO1xyXG5cclxuLy8gQ29yZVxyXG5pbXBvcnQgeyBFbnZPcHRpb25zIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL2RvbWFpblwiO1xyXG5cclxuZGVjbGFyZSB2YXIgbXljb25maWc6IEVudk9wdGlvbnM7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46IFwicm9vdFwiIH0pXHJcbmV4cG9ydCBjbGFzcyBTZXNzaW9uUmV0cmlldmVyIGltcGxlbWVudHMgQmFzZVNlc3Npb25SZXRyaWV2ZXIge1xyXG5cclxuICAgIHByaXZhdGUgU2Vzc2lvbklkZW50aXR5OiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBidHM6IFRva2VuU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikgeyB9XHJcblxyXG4gICAgLyoqIFRlbmFudMKnQWNjb3VudMKnVXNlcsKnTW9kdWxlSWQgKi9cclxuICAgIGdldFNlc3Npb25LZXkoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5TZXNzaW9uSWRlbnRpdHkpXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLlNlc3Npb25JZGVudGl0eTtcclxuXHJcbiAgICAgICAgLy8gU2Ugbm9uIGhvIHVuIGlkIG1pIG1hbmNhIGlsIGxvZ2luLCBxdWluZGkgdmlhIGRpIHF1YVxyXG4gICAgICAgIHZhciBpZCA9IHRoaXMuYnRzLmdldEphY2VJZGVudGl0eSgpO1xyXG4gICAgICAgIGlmICghaWQpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJTZXNzaW9uUmV0cmlldmVyIC0gbm8gaWRlbnRpdHksIHJlZGlyZWN0aW5nIHRvIGxvZ2luXCIpXHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImxvZ2luXCJdKTtcclxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLlNlc3Npb25JZGVudGl0eSA9IFwiXCIgKyBpZC5JZHRlbmFudCArIFwiwqdcIiArIGlkLklkQWNjb3VudCArIFwiwqdcIiArIGlkLklkVXNlciArIFwiwqdcIiArIG15Y29uZmlnPy5BcHBEYXRhPy5Nb2R1bGVJZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5TZXNzaW9uSWRlbnRpdHk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -22,13 +22,15 @@ export class AppState {
22
22
  this.notifyDataChanged("modules.Retrieved", this._modules);
23
23
  }
24
24
  get Modules() { return this._modules; }
25
- constructor(lc, bts, notifications, MessageDef, intercom, router) {
25
+ constructor(lc, bts, notifications, MessageDef, intercom, router, msgService, emb) {
26
26
  this.lc = lc;
27
27
  this.bts = bts;
28
28
  this.notifications = notifications;
29
29
  this.MessageDef = MessageDef;
30
30
  this.intercom = intercom;
31
31
  this.router = router;
32
+ this.msgService = msgService;
33
+ this.emb = emb;
32
34
  this.redirectingToLogin = false;
33
35
  this.handlingError = false;
34
36
  this.christmasTime = false;
@@ -41,8 +43,6 @@ export class AppState {
41
43
  this._dataStream$ = this._data.asObservable();
42
44
  this._subscriptions = new Map();
43
45
  this.ModulesLocalizations = {};
44
- this.Embedded = false;
45
- this.EmbeddingLevel = 0;
46
46
  this.setupEmbeddability();
47
47
  this.setupDayjs();
48
48
  this.setupSignalRJobListening();
@@ -64,18 +64,36 @@ export class AppState {
64
64
  // Ignoro i miei messaggi dato che mi interessano solo quelli degli altri iframe
65
65
  if (event.source == window && event?.data?.type != "modal-open")
66
66
  return;
67
- if (event?.data?.type == "navigate") {
67
+ if (event?.data?.type == "alert") {
68
+ console.log(`Window message - alert -> Level: ${event?.data?.level}, Message: ${event?.data?.msg}`);
69
+ switch (event?.data?.level) {
70
+ case "success":
71
+ this.msgService.simpleSuccess(event?.data?.msg);
72
+ break;
73
+ case "warning":
74
+ this.msgService.simpleWarning(event?.data?.msg);
75
+ break;
76
+ case "error":
77
+ this.msgService.simpleError(event?.data?.msg);
78
+ break;
79
+ }
80
+ }
81
+ else if (event?.data?.type == "redirect") {
82
+ console.log(`Window message - redirect -> ${event?.data?.url}`);
83
+ window.location.href = event?.data?.url;
84
+ }
85
+ else if (event?.data?.type == "navigate") {
68
86
  console.log(`Window message - navigate -> ${event?.data?.url}`);
69
87
  this.router.navigate([event?.data?.url]);
70
88
  }
71
- if (event?.data?.type == "navigation") {
89
+ else if (event?.data?.type == "navigation") {
72
90
  console.log(`Window message - Navigation -> ${event?.data?.internalNavigation ? "[internal]" : ""} ${event?.data?.title}`);
73
91
  if (event?.data?.internalNavigation)
74
92
  this.notifyDataChanged("menu.adjustSubNavigationTo", event?.data?.title);
75
93
  else
76
94
  this.notifyDataChanged("menu.adjustNavigationTo", event?.data?.title);
77
95
  }
78
- if (event?.data?.type == "modal-open") {
96
+ else if (event?.data?.type == "modal-open") {
79
97
  const wrapper = document.body.getElementsByClassName("main-wrapper")[0];
80
98
  let wrapperStyles = window.getComputedStyle(wrapper);
81
99
  const wrapperPaddingLeft = parseInt(wrapperStyles.getPropertyValue("padding-left"));
@@ -102,7 +120,7 @@ export class AppState {
102
120
  document.body.appendChild(left);
103
121
  document.body.appendChild(right);
104
122
  }
105
- if (event?.data?.type == "modal-close") {
123
+ else if (event?.data?.type == "modal-close") {
106
124
  console.log(`Window message - Modal Close`);
107
125
  let wrapper = document.body.getElementsByClassName("main-wrapper")[0];
108
126
  wrapper.style.removeProperty("overflow");
@@ -131,13 +149,7 @@ export class AppState {
131
149
  if (left)
132
150
  left.style.setProperty("width", leftSpace + "px");
133
151
  });
134
- this.MainWindow = window;
135
- while (this.MainWindow.parent != this.MainWindow) {
136
- this.MainWindow = this.MainWindow.parent;
137
- this.EmbeddingLevel++;
138
- this.Embedded = true;
139
- }
140
- if (this.Embedded)
152
+ if (this.emb.Embedded)
141
153
  document.body.style.setProperty("overflow-y", "auto", "important");
142
154
  }
143
155
  registerNavigationIfMeaningful(route) {
@@ -261,10 +273,10 @@ export class AppState {
261
273
  this.headerHeight = height;
262
274
  }
263
275
  }
264
- AppState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppState, deps: [{ token: i1.LocalizationService }, { token: i2.TokenService }, { token: i3.NotificationsService }, { token: i3.BaseMessageService }, { token: i4.InterComService }, { token: i5.Router }], target: i0.ɵɵFactoryTarget.Injectable });
265
- AppState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppState, providedIn: "root" });
266
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppState, decorators: [{
276
+ AppState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AppState, deps: [{ token: i1.LocalizationService }, { token: i2.TokenService }, { token: i3.NotificationsService }, { token: i3.BaseMessageService }, { token: i4.InterComService }, { token: i5.Router }, { token: i4.MessageService }, { token: i4.AppEmbeddingExtensions }], target: i0.ɵɵFactoryTarget.Injectable });
277
+ AppState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AppState, providedIn: "root" });
278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AppState, decorators: [{
267
279
  type: Injectable,
268
280
  args: [{ providedIn: "root" }]
269
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.TokenService }, { type: i3.NotificationsService }, { type: i3.BaseMessageService }, { type: i4.InterComService }, { type: i5.Router }]; } });
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZXJ2aWNlcy9zcmMvY2xhc3Nlcy9hcHAuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQW9DLE1BQU0sc0JBQXNCLENBQUM7QUFDN0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU9qRSxrQ0FBa0M7QUFDbEMsT0FBTyxLQUFLLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sS0FBSyxjQUFjLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxLQUFLLGFBQWEsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEtBQUssU0FBUyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEtBQUssR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFLL0IsTUFBTSxPQUFPLFFBQVE7SUE0QmpCLElBQVcsT0FBTyxDQUFDLE9BQTJCO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELElBQVcsT0FBTyxLQUF5QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRWxFLFlBQW9CLEVBQXVCLEVBQVUsR0FBaUIsRUFBVSxhQUFtQyxFQUFVLFVBQThCLEVBQVUsUUFBeUIsRUFB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YyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFTO1FBQ2QsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRS9ELFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUM3QixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxlQUFlLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRU0sZUFBZSxDQUFDLE1BQWM7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7SUFDL0IsQ0FBQzs7c0dBNVNRLFFBQVE7MEdBQVIsUUFBUSxjQURLLE1BQU07NEZBQ25CLFFBQVE7a0JBRHBCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgQmFzZU1lc3NhZ2VTZXJ2aWNlLCBOb3RpZmljYXRpb25zU2VydmljZSwgSm9iUHJvZ3Jlc3NEdG8gfSBmcm9tIFwiQGVzZmFlbnphL3NpZ25hbHItbm90aWZpY2F0aW9uc1wiO1xyXG5pbXBvcnQgeyBJbmJvdW5kTWVzc2FnZVR5cGVzLCBJbnRlckNvbU1lc3NhZ2UsIEludGVyQ29tU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBBZG1NZXNzYWdlVHlwZXMsIE1LX0FETSB9IGZyb20gXCJAZXNmYWVuemEvYWRtaW4tbW9kdWxlXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgVG9rZW5TZXJ2aWNlIH0gZnJvbSBcIi4vYXBwLmFjY2Vzc3Rva2VuXCI7XHJcblxyXG4vLyBDb3JlXHJcbmltcG9ydCB7IEFjdGl2ZU1vZHVsZVZpZXcsIEFwcGxpY2F0aW9uSm9iLCBKYWNlSWRlbnRpdHkgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvZG9tYWluXCI7XHJcblxyXG4vLyBEaXJldHRpdmUsIENvbXBvbmVudGksIExpYnJlcmllXHJcbmltcG9ydCAqIGFzIGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9jdXN0b21QYXJzZUZvcm1hdCc7XHJcbmltcG9ydCAqIGFzIGlzU2FtZU9yQmVmb3JlIGZyb20gJ2RheWpzL3BsdWdpbi9pc1NhbWVPckJlZm9yZSc7XHJcbmltcG9ydCAqIGFzIGlzU2FtZU9yQWZ0ZXIgZnJvbSAnZGF5anMvcGx1Z2luL2lzU2FtZU9yQWZ0ZXInO1xyXG5pbXBvcnQgKiBhcyBpc0JldHdlZW4gZnJvbSAnZGF5anMvcGx1Z2luL2lzQmV0d2Vlbic7XHJcbmltcG9ydCAqIGFzIGR1cmF0aW9uIGZyb20gJ2RheWpzL3BsdWdpbi9kdXJhdGlvbic7XHJcbmltcG9ydCAqIGFzIG1pbk1heCBmcm9tICdkYXlqcy9wbHVnaW4vbWluTWF4JztcclxuaW1wb3J0ICogYXMgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbmRlY2xhcmUgdmFyIGRheWpzOiBhbnk7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46IFwicm9vdFwiIH0pXHJcbmV4cG9ydCBjbGFzcyBBcHBTdGF0ZSB7XHJcblxyXG4gICAgcHVibGljIHNpZGViYXJXaWR0aDogbnVtYmVyO1xyXG4gICAgcHVibGljIGhlYWRlckhlaWdodDogbnVtYmVyO1xyXG4gICAgcHVibGljIHJlZGlyZWN0aW5nVG9Mb2dpbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGhhbmRsaW5nRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBjaHJpc3RtYXNUaW1lOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaGFsbG93ZWVuVGltZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHByaXZhdGUgSmFjZUlkZW50aXR5OiBKYWNlSWRlbnRpdHk7XHJcblxyXG4gICAgcHVibGljIGpvYnNJblByb2dyZXNzOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGFsbEpvYnM6IEFwcGxpY2F0aW9uSm9iW10gPSBbXTtcclxuICAgIHByaXZhdGUgam9iV2l0aElkc0NhY2hlOiB7IFtpbmRleDogc3RyaW5nXTogQXBwbGljYXRpb25Kb2IgfSA9IHt9O1xyXG4gICAgcHVibGljIG5vdGlmeU9uQ29tcGxldGVkSm9iczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgcHJpdmF0ZSBfZGF0YSA9IG5ldyBTdWJqZWN0PE9iamVjdD4oKTtcclxuICAgIHByaXZhdGUgX2RhdGFTdHJlYW0kID0gdGhpcy5fZGF0YS5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBNYXA8c3RyaW5nLCBBcnJheTxGdW5jdGlvbj4+ID0gbmV3IE1hcDxzdHJpbmcsIEFycmF5PEZ1bmN0aW9uPj4oKTtcclxuXHJcbiAgICBwdWJsaWMgTW9kdWxlc0xvY2FsaXphdGlvbnM6IHsgW2lkOiBzdHJpbmddOiBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gPSB7fTtcclxuXHJcbiAgICBwdWJsaWMgRW1iZWRkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBFbWJlZGRpbmdMZXZlbDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBNYWluV2luZG93OiBhbnk7XHJcblxyXG4gICAgcHJpdmF0ZSBfbW9kdWxlczogQWN0aXZlTW9kdWxlVmlld1tdO1xyXG4gICAgcHVibGljIHNldCBNb2R1bGVzKG1vZHVsZXM6IEFjdGl2ZU1vZHVsZVZpZXdbXSkge1xyXG4gICAgICAgIHRoaXMuX21vZHVsZXMgPSBtb2R1bGVzO1xyXG4gICAgICAgIHRoaXMubm90aWZ5RGF0YUNoYW5nZWQoXCJtb2R1bGVzLlJldHJpZXZlZFwiLCB0aGlzLl9tb2R1bGVzKTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBnZXQgTW9kdWxlcygpOiBBY3RpdmVNb2R1bGVWaWV3W10geyByZXR1cm4gdGhpcy5fbW9kdWxlczsgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbGM6IExvY2FsaXphdGlvblNlcnZpY2UsIHByaXZhdGUgYnRzOiBUb2tlblNlcnZpY2UsIHByaXZhdGUgbm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uc1NlcnZpY2UsIHByaXZhdGUgTWVzc2FnZURlZjogQmFzZU1lc3NhZ2VTZXJ2aWNlLCBwcml2YXRlIGludGVyY29tOiBJbnRlckNvbVNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcclxuICAgICAgICB0aGlzLnNldHVwRW1iZWRkYWJpbGl0eSgpO1xyXG4gICAgICAgIHRoaXMuc2V0dXBEYXlqcygpO1xyXG4gICAgICAgIHRoaXMuc2V0dXBTaWduYWxSSm9iTGlzdGVuaW5nKCk7XHJcblxyXG4gICAgICAgIHRoaXMuSmFjZUlkZW50aXR5ID0gbnVsbDtcclxuICAgICAgICB0aGlzLl9kYXRhU3RyZWFtJC5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMuX29uRXZlbnQoZGF0YSkpO1xyXG5cclxuICAgICAgICAvL0RlY2lkZSBzZSBzaWFtbyBhdHRvcm5vIGEgbmF0YWxlXHJcbiAgICAgICAgdmFyIHRvZGF5ID0gZGF5anMoKTtcclxuICAgICAgICB2YXIgbG93ZXJCb3VuZCA9IGRheWpzKFwiMTgvMTIvXCIgKyB0b2RheS55ZWFyKCksIFwiREQvTU0vWVlZWVwiKTtcclxuICAgICAgICB2YXIgdXBwZXJCb3VuZCA9IGRheWpzKFwiMDcvMDEvXCIgKyAodG9kYXkueWVhcigpICsgMSksIFwiREQvTU0vWVlZWVwiKTtcclxuICAgICAgICB0aGlzLmNocmlzdG1hc1RpbWUgPSB0b2RheSA+IGxvd2VyQm91bmQgJiYgdG9kYXkgPCB1cHBlckJvdW5kO1xyXG5cclxuICAgICAgICAvL0RlY2lkZSBzZSBzaWFtbyBhdHRvcm5vIGFkIGhhbGxvd2VlblxyXG4gICAgICAgIHZhciBsb3dlckJvdW5kID0gZGF5anMoXCIyOC8xMC9cIiArIHRvZGF5LnllYXIoKSwgXCJERC9NTS9ZWVlZXCIpO1xyXG4gICAgICAgIHZhciB1cHBlckJvdW5kID0gZGF5anMoXCIwNS8xMS9cIiArIHRvZGF5LnllYXIoKSwgXCJERC9NTS9ZWVlZXCIpO1xyXG4gICAgICAgIHRoaXMuaGFsbG93ZWVuVGltZSA9IHRvZGF5ID4gbG93ZXJCb3VuZCAmJiB0b2RheSA8IHVwcGVyQm91bmQ7XHJcblxyXG4gICAgICAgIHRoaXMuaW50ZXJjb20uaW5ib3VuZHMuc3Vic2NyaWJlKCh0OiBJbnRlckNvbU1lc3NhZ2UpID0+IHsgdGhpcy5oYW5kbGVJbmJvdW5kTWVzc2FnZSh0KTsgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0dXBFbWJlZGRhYmlsaXR5KCkge1xyXG4gICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSAoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICAvLyBJZ25vcm8gaSBtaWVpIG1lc3NhZ2dpIGRhdG8gY2hlIG1pIGludGVyZXNzYW5vIHNvbG8gcXVlbGxpIGRlZ2xpIGFsdHJpIGlmcmFtZVxyXG4gICAgICAgICAgICBpZiAoZXZlbnQuc291cmNlID09IHdpbmRvdyAmJiBldmVudD8uZGF0YT8udHlwZSAhPSBcIm1vZGFsLW9wZW5cIilcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgIFxyXG4gICAgICAgICAgICBpZiAoZXZlbnQ/LmRhdGE/LnR5cGUgPT0gXCJuYXZpZ2F0ZVwiKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgV2luZG93IG1lc3NhZ2UgLSBuYXZpZ2F0ZSAtPiAke2V2ZW50Py5kYXRhPy51cmx9YCk7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtldmVudD8uZGF0YT8udXJsXSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChldmVudD8uZGF0YT8udHlwZSA9PSBcIm5hdmlnYXRpb25cIikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFdpbmRvdyBtZXNzYWdlIC0gTmF2aWdhdGlvbiAtPiAke2V2ZW50Py5kYXRhPy5pbnRlcm5hbE5hdmlnYXRpb24gPyBcIltpbnRlcm5hbF1cIiA6IFwiXCJ9ICR7ZXZlbnQ/LmRhdGE/LnRpdGxlfWApO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQ/LmRhdGE/LmludGVybmFsTmF2aWdhdGlvbilcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmeURhdGFDaGFuZ2VkKFwibWVudS5hZGp1c3RTdWJOYXZpZ2F0aW9uVG9cIiwgZXZlbnQ/LmRhdGE/LnRpdGxlKTtcclxuICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmeURhdGFDaGFuZ2VkKFwibWVudS5hZGp1c3ROYXZpZ2F0aW9uVG9cIiwgZXZlbnQ/LmRhdGE/LnRpdGxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgIGlmIChldmVudD8uZGF0YT8udHlwZSA9PSBcIm1vZGFsLW9wZW5cIikge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgd3JhcHBlciA9IGRvY3VtZW50LmJvZHkuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcIm1haW4td3JhcHBlclwiKVswXSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgICAgICAgIGxldCB3cmFwcGVyU3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUod3JhcHBlcik7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB3cmFwcGVyUGFkZGluZ0xlZnQgPSBwYXJzZUludCh3cmFwcGVyU3R5bGVzLmdldFByb3BlcnR5VmFsdWUoXCJwYWRkaW5nLWxlZnRcIikpO1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgd3JhcHBlclBhZGRpbmdSaWdodCA9IHBhcnNlSW50KHdyYXBwZXJTdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZShcInBhZGRpbmctcmlnaHRcIikpO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgV2luZG93IG1lc3NhZ2UgLSBNb2RhbCBPcGVuIC0+IEJhY2tkcm9wIEhlaWdodDogJHtldmVudD8uZGF0YT8uYmFja2Ryb3BIZWlnaHR9YCk7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIHZhciB0b3BIZWlnaHQ6IG51bWJlciA9IDExNjsgLy8gdmFsb3JlIGZpc3NvLCBkaXN0YW56YSBmcmEgaWwgdG9wIGUgbCdpbml6aW8gZGVsbCdpZnJhbWUsIG5vbiBzYXLDoCBtYWkgZGl2ZXJzb1xyXG4gICAgICAgICAgICAgICAgdmFyIHJpZ2h0U3BhY2U6IG51bWJlciA9IHdyYXBwZXJQYWRkaW5nUmlnaHQ7IC8vIHZhbG9yZSBmaXNzbywgZGlzdGFuemEgZnJhIGxhIGZpbmUgZGVsbCdpZnJhbWUgZSBpbCBsYXRvIHNpbmlzdHJvIGRlbGxvIHNjaGVybW8sIG5vbiBzYXLDoCBtYWkgZGl2ZXJzb1xyXG4gICAgICAgICAgICAgICAgdmFyIGxlZnRTcGFjZTogbnVtYmVyID0gdGhpcy5zaWRlYmFyV2lkdGggKyB3cmFwcGVyUGFkZGluZ0xlZnQ7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIGxldCBjb21tb25TdHlsZXMgPSBcInBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogOTk5OTsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgb3BhY2l0eTogMC41OyBcIjtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgd3JhcHBlci5zdHlsZS5zZXRQcm9wZXJ0eShcIm92ZXJmbG93XCIsIFwiaGlkZGVuXCIsIFwiaW1wb3J0YW50XCIpO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICBjb25zdCB0b3AgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgICAgICAgICAgICAgdG9wLmNsYXNzTmFtZSA9IFwiZW1iZWRkZWQtbW9kYWwtdG9wXCI7XHJcbiAgICAgICAgICAgICAgICB0b3Auc3R5bGUuY3NzVGV4dCA9IGNvbW1vblN0eWxlcyArIGBoZWlnaHQ6ICR7dG9wSGVpZ2h0fXB4OyB0b3A6IDA7IHdpZHRoOiBjYWxjKDEwMCUgLSAke2xlZnRTcGFjZX1weCk7IGxlZnQ6ICR7bGVmdFNwYWNlfXB4YDtcclxuICAgICAgICAgICAgICAgIHRvcC5pZCA9IFwidG9wXCI7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxlZnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgICAgICAgICAgICAgbGVmdC5jbGFzc05hbWUgPSBcImVtYmVkZGVkLW1vZGFsLWxlZnRcIjtcclxuICAgICAgICAgICAgICAgIGxlZnQuc3R5bGUuY3NzVGV4dCA9IGNvbW1vblN0eWxlcyArIGBoZWlnaHQ6IDEwMCU7IHRvcDogMDsgd2lkdGg6ICR7bGVmdFNwYWNlfXB4O2A7XHJcbiAgICAgICAgICAgICAgICBsZWZ0LmlkID0gXCJsZWZ0XCI7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJpZ2h0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0LmNsYXNzTmFtZSA9IFwiZW1iZWRkZWQtbW9kYWwtcmlnaHRcIjtcclxuICAgICAgICAgICAgICAgIHJpZ2h0LnN0eWxlLmNzc1RleHQgPSBjb21tb25TdHlsZXMgKyBgaGVpZ2h0OiBjYWxjKDEwMCUgLSAke3RvcEhlaWdodH1weCk7IHRvcDogJHt0b3BIZWlnaHR9cHg7IHJpZ2h0OiAwOyB3aWR0aDogJHtyaWdodFNwYWNlfXB4O2A7XHJcbiAgICAgICAgICAgICAgICByaWdodC5pZCA9IFwicmlnaHRcIjtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0b3ApO1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsZWZ0KTtcclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAgICAgaWYgKGV2ZW50Py5kYXRhPy50eXBlID09IFwibW9kYWwtY2xvc2VcIikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFdpbmRvdyBtZXNzYWdlIC0gTW9kYWwgQ2xvc2VgKTtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgbGV0IHdyYXBwZXIgPSBkb2N1bWVudC5ib2R5LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJtYWluLXdyYXBwZXJcIilbMF0gYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICB3cmFwcGVyLnN0eWxlLnJlbW92ZVByb3BlcnR5KFwib3ZlcmZsb3dcIik7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRvcCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwidG9wXCIpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbGVmdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwibGVmdFwiKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJpZ2h0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJyaWdodFwiKTtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgaWYgKHRvcClcclxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRvcCk7XHJcbiAgICAgICAgICAgICAgICBpZiAobGVmdClcclxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxlZnQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHJpZ2h0KVxyXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQocmlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIFxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlKFwibWVudS5pc0NvbGxhcHNlZFwiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXIgPSBkb2N1bWVudC5ib2R5LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJtYWluLXdyYXBwZXJcIilbMF0gYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGxldCB3cmFwcGVyU3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUod3JhcHBlcik7XHJcbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJQYWRkaW5nTGVmdCA9IHBhcnNlSW50KHdyYXBwZXJTdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZShcInBhZGRpbmctbGVmdFwiKSk7XHJcbiAgICAgICAgICAgIHZhciBsZWZ0U3BhY2U6IG51bWJlciA9IHRoaXMuc2lkZWJhcldpZHRoICsgd3JhcHBlclBhZGRpbmdMZWZ0O1xyXG4gICAgXHJcbiAgICAgICAgICAgIGNvbnN0IGxlZnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImxlZnRcIik7XHJcbiAgICAgICAgICAgIGNvbnN0IHRvcCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwidG9wXCIpO1xyXG4gICAgXHJcbiAgICAgICAgICAgIGlmICh0b3ApIHtcclxuICAgICAgICAgICAgICAgIHRvcC5zdHlsZS5zZXRQcm9wZXJ0eShcImxlZnRcIiwgKGxlZnRTcGFjZSkgKyBcInB4XCIpO1xyXG4gICAgICAgICAgICAgICAgdG9wLnN0eWxlLnNldFByb3BlcnR5KFwid2lkdGhcIiwgYGNhbGMoMTAwJSAtICR7bGVmdFNwYWNlfXB4KWApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAgICAgaWYgKGxlZnQpXHJcbiAgICAgICAgICAgICAgICBsZWZ0LnN0eWxlLnNldFByb3BlcnR5KFwid2lkdGhcIiwgbGVmdFNwYWNlICsgXCJweFwiKTtcclxuICAgICAgICB9KTtcclxuICAgIFxyXG4gICAgICAgIHRoaXMuTWFpbldpbmRvdyA9IDx7IHBhcmVudDogYW55LCBwb3N0TWVzc2FnZTogRnVuY3Rpb24gfT53aW5kb3c7XHJcbiAgICAgICAgd2hpbGUgKHRoaXMuTWFpbldpbmRvdy5wYXJlbnQgIT0gdGhpcy5NYWluV2luZG93KSB7XHJcbiAgICAgICAgICAgIHRoaXMuTWFpbldpbmRvdyA9IHRoaXMuTWFpbldpbmRvdy5wYXJlbnQ7XHJcbiAgICAgICAgICAgIHRoaXMuRW1iZWRkaW5nTGV2ZWwrKztcclxuICAgICAgICAgICAgdGhpcy5FbWJlZGRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgaWYgKHRoaXMuRW1iZWRkZWQpXHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuc2V0UHJvcGVydHkoXCJvdmVyZmxvdy15XCIsIFwiYXV0b1wiLCBcImltcG9ydGFudFwiKTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck5hdmlnYXRpb25JZk1lYW5pbmdmdWwocm91dGU/OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSB7XHJcbiAgICAgICAgbGV0IHRpdGxlID0gcm91dGUuZGF0YVtcInRpdGxlXCJdO1xyXG4gICAgICAgIGxldCBpbnRlcm5hbCA9IHJvdXRlLmRhdGFbXCJpbnRlcm5hbE5hdmlnYXRpb25cIl1cclxuXHJcbiAgICAgICAgLy8gUGVybWV0dGUgZGkgY2hpYW1hcmUgc3RvIHJlZ2lzdGVyTmF2aWdhdGlvbiBhIHByZXNjaW5kZXJlIGUgZmFyZSBvcHQgb3V0IHNlIG5vbiDDqCB1bmEgcm91dGUgbmF2aWdhYmlsZVxyXG4gICAgICAgIGlmKCF0aXRsZSkgcmV0dXJuO1xyXG5cclxuICAgICAgICAvKlxyXG4gICAgICAgICAqICBQYXJlbnQgKHt1cmw6IFt7cGF0aDogXCJ7bW9kdWxlfVwifV19KVxyXG4gICAgICAgICAqICAgICAgUGFyZW50ICh7dXJsOiBbe3BhdGg6IFwiXCJ9XX0pIChSb290IGRlbCBtb2R1bG8gbGF6eSlcclxuICAgICAgICAgKiAgICAgICAgICAtPiBOYXZpZ2F6aW9uZSBhdHR1YWxlIDwtXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgbGV0IG1vZHVsZSA9IHJvdXRlLnBhcmVudD8ucGFyZW50Py51cmxbMF0/LnBhdGg7XHJcbiAgICAgICAgbGV0IGxvYyA9IG1vZHVsZSA/IHRoaXMuTW9kdWxlc0xvY2FsaXphdGlvbnNbbW9kdWxlXSA6IG51bGw7XHJcblxyXG4gICAgICAgIGlmICghbW9kdWxlKVxyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiSW1wb3NzaWJpbGUgZXN0cmFwb2xhcmUgaWwgbW9kdWxvIGRhbGxhIG5hdmlnYXppb25lIChBdHRlc28gTW9kdWxvIGFsIHNlY29uZG8gbGl2ZWxsbyBkaSBwYXJlbnRlbGEgcGFydGVuZG8gZGFsIGNvbXBvbmVudGUgYXR0dWFsZSk6IFwiICsgcm91dGUucGF0aEZyb21Sb290Lm1hcCh2ID0+IHYudXJsLm1hcChzZWdtZW50ID0+IHNlZ21lbnQudG9TdHJpbmcoKSkuam9pbignLycpKS5qb2luKCcvJykpO1xyXG5cclxuICAgICAgICB0aGlzLm5vdGlmeURhdGFDaGFuZ2VkKGludGVybmFsID8gXCJtZW51LmFkanVzdFN1Yk5hdmlnYXRpb25Ub1wiIDogXCJtZW51LmFkanVzdE5hdmlnYXRpb25Ub1wiLCBsb2MgPyBsb2MubG9jKHRpdGxlKSA6IHRpdGxlKTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVJbmJvdW5kTWVzc2FnZSh0OiBJbnRlckNvbU1lc3NhZ2UpIHtcclxuICAgICAgICBzd2l0Y2ggKHQudHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIEluYm91bmRNZXNzYWdlVHlwZXMuTmF2aWdhdGlvbjpcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmeURhdGFDaGFuZ2VkKHQubWVzc2FnZS5zdWIgPyBcIm1lbnUuYWRqdXN0U3ViTmF2aWdhdGlvblRvXCIgOiBcIm1lbnUuYWRqdXN0TmF2aWdhdGlvblRvXCIsIHQubWVzc2FnZS5yb3V0ZVRpdGxlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmludGVyY29tLnNlbmQoQWRtTWVzc2FnZVR5cGVzLk1lc3NhZ2UsIFwiTmF2aWdhdGlvbiBNZXNzYWdlIFJlY2VpdmVkXCIsIE1LX0FETSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldHVwRGF5anMoKSB7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKCg8YW55PmN1c3RvbVBhcnNlRm9ybWF0KS5kZWZhdWx0IHx8IGN1c3RvbVBhcnNlRm9ybWF0KTtcclxuICAgICAgICBkYXlqcy5leHRlbmQoKDxhbnk+bWluTWF4KS5kZWZhdWx0IHx8IG1pbk1heCk7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKCg8YW55PmlzQmV0d2VlbikuZGVmYXVsdCB8fCBpc0JldHdlZW4pO1xyXG4gICAgICAgIGRheWpzLmV4dGVuZCgoPGFueT5pc1NhbWVPckJlZm9yZSkuZGVmYXVsdCB8fCBpc1NhbWVPckJlZm9yZSk7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKCg8YW55PmlzU2FtZU9yQWZ0ZXIpLmRlZmF1bHQgfHwgaXNTYW1lT3JBZnRlcik7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKCg8YW55PmR1cmF0aW9uKS5kZWZhdWx0IHx8IGR1cmF0aW9uKTtcclxuICAgICAgICBkYXlqcy5leHRlbmQoKDxhbnk+dXRjKS5kZWZhdWx0IHx8IHV0Yyk7XHJcblxyXG4gICAgICAgIC8vIFJlcXVpcmUgZSBjb2xsZWdhbWVudG8gY29uIGxhIGxvY2FsaXp6YXppb25lIHBlciBkYXlqc1xyXG4gICAgICAgIGltcG9ydChcImRheWpzL2xvY2FsZS9cIiArIHRoaXMubGMuU21hbGxMb2NhbGUgKyBcIi5qc1wiKS50aGVuKGxvY2FsZSA9PiB7IGRheWpzLmxvY2FsZShsb2NhbGUpOyB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXR1cFNpZ25hbFJKb2JMaXN0ZW5pbmcoKSB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zLm9ic2VydmUodGhpcy5NZXNzYWdlRGVmLklOX0pvYlByb2dyZXNzTm90aWZpY2F0aW9uKS5zdWJzY3JpYmUoKGV2OiBKb2JQcm9ncmVzc0R0bykgPT4ge1xyXG4gICAgICAgICAgICB2YXIgZGVzYyA9IGV2LmRlc2NyaXB0aW9uICsgXCIgKFwiICsgZXYudXNlciArIFwiKVwiO1xyXG4gICAgICAgICAgICBsZXQgam9iOiBBcHBsaWNhdGlvbkpvYiA9IHtcclxuICAgICAgICAgICAgICAgIGlkOiBldi5pbnN0YW5jZSxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBkZXNjLFxyXG4gICAgICAgICAgICAgICAgc21hbGxkZXNjcmlwdGlvbjogZGVzYy5sZW5ndGggPiAzNSA/IGRlc2Muc3Vic3RyaW5nKDAsIDMwKSArIFwiLi4uXCIgOiBkZXNjLFxyXG4gICAgICAgICAgICAgICAgcGVyY2VudGFnZTogdGhpcy5yb3VuZFRvVHdvKGV2LnByb2dyZXNzKSxcclxuICAgICAgICAgICAgICAgIGNvbXBsZXRlZDogZXYudHlwZSA9PSAnQ29tcGxldGVkJyxcclxuICAgICAgICAgICAgICAgIGZpbGVpZDogZXYucmVzdWx0ZmlsZSxcclxuICAgICAgICAgICAgICAgIHJlcG9ydGlkOiBldi5yZXN1bHRyZXBvcnQsXHJcbiAgICAgICAgICAgICAgICByZXBvcnRwYXJzOiBldi5yZXN1bHRyZXBvcnRwYXJhbXMsXHJcbiAgICAgICAgICAgICAgICBjb21wbGV4cmVwb3J0aWQ6IGV2LnJlc3VsdGNvbXBsZXhyZXBvcnRcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIHN3aXRjaCAoZXYudHlwZSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcIlN0YXJ0ZWRcIjpcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5qb2JXaXRoSWRzQ2FjaGVbZXYuaW5zdGFuY2VdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkpvYiBhbHJlYWR5IHJlZ2lzdGVyZWQgb24gdGhlICdTdGFydGVkJyBjYWxsYmFja1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmpvYldpdGhJZHNDYWNoZVtldi5pbnN0YW5jZV0gPSBqb2I7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGxKb2JzLnNwbGljZSgwLCAwLCBqb2IpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcIlByb2dyZXNzXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gU2UgbWkgYXJyaXZhIHVuIHByb2dyZXNzIGRpIHVuIGpvYiBjaGUgbm9uIGhvIHNpZ25pZmljYSBjaGUgbWkgc29ubyBsb2dnYXRvIG9yYSBjb24gZGVpIEpvYiBpbiBjb3Jzb1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHF1aW5kaSBwZXIgcHJpbWEgY29zYSBkZXZvIG1ldHRlcmxvIGluIGxpc3RhXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmpvYldpdGhJZHNDYWNoZVtldi5pbnN0YW5jZV0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5qb2JXaXRoSWRzQ2FjaGVbZXYuaW5zdGFuY2VdID0gam9iO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsbEpvYnMuc3BsaWNlKDAsIDAsIGpvYik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuam9iV2l0aElkc0NhY2hlW2V2Lmluc3RhbmNlXS5wZXJjZW50YWdlID0gdGhpcy5yb3VuZFRvVHdvKGV2LnByb2dyZXNzKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJDb21wbGV0ZWRcIjpcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuam9iV2l0aElkc0NhY2hlW2V2Lmluc3RhbmNlXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmpvYldpdGhJZHNDYWNoZVtldi5pbnN0YW5jZV0gPSBqb2I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWxsSm9icy5zcGxpY2UoMCwgMCwgam9iKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGpvYlRvVXBkYXRlID0gdGhpcy5qb2JXaXRoSWRzQ2FjaGVbZXYuaW5zdGFuY2VdO1xyXG4gICAgICAgICAgICAgICAgICAgIGpvYlRvVXBkYXRlLnBlcmNlbnRhZ2UgPSAxMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgam9iVG9VcGRhdGUuZmlsZWlkID0gZXYucmVzdWx0ZmlsZTtcclxuICAgICAgICAgICAgICAgICAgICBqb2JUb1VwZGF0ZS5yZXBvcnRpZCA9IGV2LnJlc3VsdHJlcG9ydDtcclxuICAgICAgICAgICAgICAgICAgICBqb2JUb1VwZGF0ZS5yZXBvcnRwYXJzID0gZXYucmVzdWx0cmVwb3J0cGFyYW1zO1xyXG4gICAgICAgICAgICAgICAgICAgIGpvYlRvVXBkYXRlLmNvbXBsZXRlZCA9IHRydWU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm5vdGlmeU9uQ29tcGxldGVkSm9icylcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZnlEYXRhQ2hhbmdlZChcImFwcC5jb21wbGV0ZWRKb2JcIiwgam9iVG9VcGRhdGUuZGVzY3JpcHRpb24pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5qb2JzSW5Qcm9ncmVzcyA9IHRoaXMuYWxsSm9icy5maWx0ZXIodCA9PiAhdC5jb21wbGV0ZWQpLmxlbmd0aDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByb3VuZFRvVHdvKG51bSkge1xyXG4gICAgICAgIHJldHVybiBNYXRoLnJvdW5kKG51bSAqIDEwMCkgLyAxMDA7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SmFjZUlEZW50aXR5KCk6IEphY2VJZGVudGl0eSB7XHJcbiAgICAgICAgaWYgKHRoaXMuSmFjZUlkZW50aXR5KVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5KYWNlSWRlbnRpdHk7XHJcbiAgICAgICAgdGhpcy5KYWNlSWRlbnRpdHkgPSB0aGlzLmJ0cy5nZXRKYWNlSWRlbnRpdHkoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5KYWNlSWRlbnRpdHk7XHJcbiAgICB9XHJcblxyXG4gICAgbm90aWZ5RGF0YUNoYW5nZWQoZXZlbnQsIHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5fZGF0YVtldmVudF0gPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLl9kYXRhLm5leHQoe1xyXG4gICAgICAgICAgICBldmVudDogZXZlbnQsXHJcbiAgICAgICAgICAgIGRhdGE6IHRoaXMuX2RhdGFbZXZlbnRdXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3Vic2NyaWJlKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbikge1xyXG4gICAgICAgIHZhciBzdWJzY3JpYmVycyA9IHRoaXMuX3N1YnNjcmlwdGlvbnMuZ2V0KGV2ZW50KSB8fCBbXTtcclxuICAgICAgICBzdWJzY3JpYmVycy5wdXNoKGNhbGxiYWNrKTtcclxuXHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5zZXQoZXZlbnQsIHN1YnNjcmliZXJzKTtcclxuICAgIH1cclxuXHJcbiAgICBfb25FdmVudChkYXRhOiBhbnkpIHtcclxuICAgICAgICB2YXIgc3Vic2NyaWJlcnMgPSB0aGlzLl9zdWJzY3JpcHRpb25zLmdldChkYXRhW1wiZXZlbnRcIl0pIHx8IFtdO1xyXG5cclxuICAgICAgICBzdWJzY3JpYmVycy5mb3JFYWNoKChjYWxsYmFjaykgPT4ge1xyXG4gICAgICAgICAgICBjYWxsYmFjay5jYWxsKG51bGwsIGRhdGFbXCJkYXRhXCJdKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0U2lkZWJhcldpZHRoKHdpZHRoOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLnNpZGViYXJXaWR0aCA9IHdpZHRoO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRIZWFkZXJIZWlnaHQoaGVpZ2h0OiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLmhlYWRlckhlaWdodCA9IGhlaWdodDtcclxuICAgIH1cclxufSJdfQ==
281
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.TokenService }, { type: i3.NotificationsService }, { type: i3.BaseMessageService }, { type: i4.InterComService }, { type: i5.Router }, { type: i4.MessageService }, { type: i4.AppEmbeddingExtensions }]; } });
282
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZXJ2aWNlcy9zcmMvY2xhc3Nlcy9hcHAuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQW9ELE1BQU0sc0JBQXNCLENBQUM7QUFDN0csT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVNqRSxrQ0FBa0M7QUFDbEMsT0FBTyxLQUFLLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sS0FBSyxjQUFjLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxLQUFLLGFBQWEsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEtBQUssU0FBUyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEtBQUssR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFLL0IsTUFBTSxPQUFPLFFBQVE7SUF3QmpCLElBQVcsT0FBTyxDQUFDLE9BQTJCO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELElBQVcsT0FBTyxLQUF5QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRWxFLFlBQW9CLEVBQXVCLEVBQVUsR0FBaUIsRUFBVSxhQUFtQyxFQUFVLFVBQThCLEVBQVUsUUFBeUIsRUFB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QUMsTUFBYztRQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztJQUMvQixDQUFDOztxR0FwVFEsUUFBUTt5R0FBUixRQUFRLGNBREssTUFBTTsyRkFDbkIsUUFBUTtrQkFEcEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBCYXNlTWVzc2FnZVNlcnZpY2UsIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLCBKb2JQcm9ncmVzc0R0byB9IGZyb20gXCJAZXNmYWVuemEvc2lnbmFsci1ub3RpZmljYXRpb25zXCI7XHJcbmltcG9ydCB7IEluYm91bmRNZXNzYWdlVHlwZXMsIEludGVyQ29tTWVzc2FnZSwgSW50ZXJDb21TZXJ2aWNlLCBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBBZG1NZXNzYWdlVHlwZXMsIE1LX0FETSB9IGZyb20gXCJAZXNmYWVuemEvYWRtaW4tbW9kdWxlXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgVG9rZW5TZXJ2aWNlIH0gZnJvbSBcIi4vYXBwLmFjY2Vzc3Rva2VuXCI7XHJcblxyXG5pbXBvcnQgeyBBcHBFbWJlZGRpbmdFeHRlbnNpb25zIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcblxyXG4vLyBDb3JlXHJcbmltcG9ydCB7IEFjdGl2ZU1vZHVsZVZpZXcsIEFwcGxpY2F0aW9uSm9iLCBKYWNlSWRlbnRpdHkgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvZG9tYWluXCI7XHJcblxyXG4vLyBEaXJldHRpdmUsIENvbXBvbmVudGksIExpYnJlcmllXHJcbmltcG9ydCAqIGFzIGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9jdXN0b21QYXJzZUZvcm1hdCc7XHJcbmltcG9ydCAqIGFzIGlzU2FtZU9yQmVmb3JlIGZyb20gJ2RheWpzL3BsdWdpbi9pc1NhbWVPckJlZm9yZSc7XHJcbmltcG9ydCAqIGFzIGlzU2FtZU9yQWZ0ZXIgZnJvbSAnZGF5anMvcGx1Z2luL2lzU2FtZU9yQWZ0ZXInO1xyXG5pbXBvcnQgKiBhcyBpc0JldHdlZW4gZnJvbSAnZGF5anMvcGx1Z2luL2lzQmV0d2Vlbic7XHJcbmltcG9ydCAqIGFzIGR1cmF0aW9uIGZyb20gJ2RheWpzL3BsdWdpbi9kdXJhdGlvbic7XHJcbmltcG9ydCAqIGFzIG1pbk1heCBmcm9tICdkYXlqcy9wbHVnaW4vbWluTWF4JztcclxuaW1wb3J0ICogYXMgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbmRlY2xhcmUgdmFyIGRheWpzOiBhbnk7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46IFwicm9vdFwiIH0pXHJcbmV4cG9ydCBjbGFzcyBBcHBTdGF0ZSB7XHJcblxyXG4gICAgcHVibGljIHNpZGViYXJXaWR0aDogbnVtYmVyO1xyXG4gICAgcHVibGljIGhlYWRlckhlaWdodDogbnVtYmVyO1xyXG4gICAgcHVibGljIHJlZGlyZWN0aW5nVG9Mb2dpbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGhhbmRsaW5nRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBjaHJpc3RtYXNUaW1lOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaGFsbG93ZWVuVGltZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHByaXZhdGUgSmFjZUlkZW50aXR5OiBKYWNlSWRlbnRpdHk7XHJcblxyXG4gICAgcHVibGljIGpvYnNJblByb2dyZXNzOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGFsbEpvYnM6IEFwcGxpY2F0aW9uSm9iW10gPSBbXTtcclxuICAgIHByaXZhdGUgam9iV2l0aElkc0NhY2hlOiB7IFtpbmRleDogc3RyaW5nXTogQXBwbGljYXRpb25Kb2IgfSA9IHt9O1xyXG4gICAgcHVibGljIG5vdGlmeU9uQ29tcGxldGVkSm9iczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgcHJpdmF0ZSBfZGF0YSA9IG5ldyBTdWJqZWN0PE9iamVjdD4oKTtcclxuICAgIHByaXZhdGUgX2RhdGFTdHJlYW0kID0gdGhpcy5fZGF0YS5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBNYXA8c3RyaW5nLCBBcnJheTxGdW5jdGlvbj4+ID0gbmV3IE1hcDxzdHJpbmcsIEFycmF5PEZ1bmN0aW9uPj4oKTtcclxuXHJcbiAgICBwdWJsaWMgTW9kdWxlc0xvY2FsaXphdGlvbnM6IHsgW2lkOiBzdHJpbmddOiBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gPSB7fTtcclxuXHJcbiAgICBwcml2YXRlIF9tb2R1bGVzOiBBY3RpdmVNb2R1bGVWaWV3W107XHJcbiAgICBwdWJsaWMgc2V0IE1vZHVsZXMobW9kdWxlczogQWN0aXZlTW9kdWxlVmlld1tdKSB7XHJcbiAgICAgICAgdGhpcy5fbW9kdWxlcyA9IG1vZHVsZXM7XHJcbiAgICAgICAgdGhpcy5ub3RpZnlEYXRhQ2hhbmdlZChcIm1vZHVsZXMuUmV0cmlldmVkXCIsIHRoaXMuX21vZHVsZXMpO1xyXG4gICAgfVxyXG4gICAgcHVibGljIGdldCBNb2R1bGVzKCk6IEFjdGl2ZU1vZHVsZVZpZXdbXSB7IHJldHVybiB0aGlzLl9tb2R1bGVzOyB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgcHJpdmF0ZSBidHM6IFRva2VuU2VydmljZSwgcHJpdmF0ZSBub3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25zU2VydmljZSwgcHJpdmF0ZSBNZXNzYWdlRGVmOiBCYXNlTWVzc2FnZVNlcnZpY2UsIHByaXZhdGUgaW50ZXJjb206IEludGVyQ29tU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgbXNnU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHByaXZhdGUgZW1iOiBBcHBFbWJlZGRpbmdFeHRlbnNpb25zKSB7XHJcblxyXG4gICAgICAgIHRoaXMuc2V0dXBFbWJlZGRhYmlsaXR5KCk7XHJcbiAgICAgICAgdGhpcy5zZXR1cERheWpzKCk7XHJcbiAgICAgICAgdGhpcy5zZXR1cFNpZ25hbFJKb2JMaXN0ZW5pbmcoKTtcclxuXHJcbiAgICAgICAgdGhpcy5KYWNlSWRlbnRpdHkgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuX2RhdGFTdHJlYW0kLnN1YnNjcmliZSgoZGF0YSkgPT4gdGhpcy5fb25FdmVudChkYXRhKSk7XHJcblxyXG4gICAgICAgIC8vRGVjaWRlIHNlIHNpYW1vIGF0dG9ybm8gYSBuYXRhbGVcclxuICAgICAgICB2YXIgdG9kYXkgPSBkYXlqcygpO1xyXG4gICAgICAgIHZhciBsb3dlckJvdW5kID0gZGF5anMoXCIxOC8xMi9cIiArIHRvZGF5LnllYXIoKSwgXCJERC9NTS9ZWVlZXCIpO1xyXG4gICAgICAgIHZhciB1cHBlckJvdW5kID0gZGF5anMoXCIwNy8wMS9cIiArICh0b2RheS55ZWFyKCkgKyAxKSwgXCJERC9NTS9ZWVlZXCIpO1xyXG4gICAgICAgIHRoaXMuY2hyaXN0bWFzVGltZSA9IHRvZGF5ID4gbG93ZXJCb3VuZCAmJiB0b2RheSA8IHVwcGVyQm91bmQ7XHJcblxyXG4gICAgICAgIC8vRGVjaWRlIHNlIHNpYW1vIGF0dG9ybm8gYWQgaGFsbG93ZWVuXHJcbiAgICAgICAgdmFyIGxvd2VyQm91bmQgPSBkYXlqcyhcIjI4LzEwL1wiICsgdG9kYXkueWVhcigpLCBcIkREL01NL1lZWVlcIik7XHJcbiAgICAgICAgdmFyIHVwcGVyQm91bmQgPSBkYXlqcyhcIjA1LzExL1wiICsgdG9kYXkueWVhcigpLCBcIkREL01NL1lZWVlcIik7XHJcbiAgICAgICAgdGhpcy5oYWxsb3dlZW5UaW1lID0gdG9kYXkgPiBsb3dlckJvdW5kICYmIHRvZGF5IDwgdXBwZXJCb3VuZDtcclxuXHJcbiAgICAgICAgdGhpcy5pbnRlcmNvbS5pbmJvdW5kcy5zdWJzY3JpYmUoKHQ6IEludGVyQ29tTWVzc2FnZSkgPT4geyB0aGlzLmhhbmRsZUluYm91bmRNZXNzYWdlKHQpOyB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXR1cEVtYmVkZGFiaWxpdHkoKSB7XHJcbiAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIC8vIElnbm9ybyBpIG1pZWkgbWVzc2FnZ2kgZGF0byBjaGUgbWkgaW50ZXJlc3Nhbm8gc29sbyBxdWVsbGkgZGVnbGkgYWx0cmkgaWZyYW1lXHJcbiAgICAgICAgICAgIGlmIChldmVudC5zb3VyY2UgPT0gd2luZG93ICYmIGV2ZW50Py5kYXRhPy50eXBlICE9IFwibW9kYWwtb3BlblwiKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICAgICAgaWYgKGV2ZW50Py5kYXRhPy50eXBlID09IFwiYWxlcnRcIikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFdpbmRvdyBtZXNzYWdlIC0gYWxlcnQgLT4gTGV2ZWw6ICR7ZXZlbnQ/LmRhdGE/LmxldmVsfSwgTWVzc2FnZTogJHtldmVudD8uZGF0YT8ubXNnfWApO1xyXG5cclxuICAgICAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQ/LmRhdGE/LmxldmVsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcInN1Y2Nlc3NcIjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tc2dTZXJ2aWNlLnNpbXBsZVN1Y2Nlc3MoZXZlbnQ/LmRhdGE/Lm1zZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJ3YXJuaW5nXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubXNnU2VydmljZS5zaW1wbGVXYXJuaW5nKGV2ZW50Py5kYXRhPy5tc2cpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIFwiZXJyb3JcIjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tc2dTZXJ2aWNlLnNpbXBsZUVycm9yKGV2ZW50Py5kYXRhPy5tc2cpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChldmVudD8uZGF0YT8udHlwZSA9PSBcInJlZGlyZWN0XCIpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBXaW5kb3cgbWVzc2FnZSAtIHJlZGlyZWN0IC0+ICR7ZXZlbnQ/LmRhdGE/LnVybH1gKTtcclxuICAgICAgIFxyXG4gICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBldmVudD8uZGF0YT8udXJsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGV2ZW50Py5kYXRhPy50eXBlID09IFwibmF2aWdhdGVcIikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFdpbmRvdyBtZXNzYWdlIC0gbmF2aWdhdGUgLT4gJHtldmVudD8uZGF0YT8udXJsfWApO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZXZlbnQ/LmRhdGE/LnVybF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGV2ZW50Py5kYXRhPy50eXBlID09IFwibmF2aWdhdGlvblwiKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgV2luZG93IG1lc3NhZ2UgLSBOYXZpZ2F0aW9uIC0+ICR7ZXZlbnQ/LmRhdGE/LmludGVybmFsTmF2aWdhdGlvbiA/IFwiW2ludGVybmFsXVwiIDogXCJcIn0gJHtldmVudD8uZGF0YT8udGl0bGV9YCk7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIGlmIChldmVudD8uZGF0YT8uaW50ZXJuYWxOYXZpZ2F0aW9uKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZ5RGF0YUNoYW5nZWQoXCJtZW51LmFkanVzdFN1Yk5hdmlnYXRpb25Ub1wiLCBldmVudD8uZGF0YT8udGl0bGUpO1xyXG4gICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZ5RGF0YUNoYW5nZWQoXCJtZW51LmFkanVzdE5hdmlnYXRpb25Ub1wiLCBldmVudD8uZGF0YT8udGl0bGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGV2ZW50Py5kYXRhPy50eXBlID09IFwibW9kYWwtb3BlblwiKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB3cmFwcGVyID0gZG9jdW1lbnQuYm9keS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwibWFpbi13cmFwcGVyXCIpWzBdIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgbGV0IHdyYXBwZXJTdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh3cmFwcGVyKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJQYWRkaW5nTGVmdCA9IHBhcnNlSW50KHdyYXBwZXJTdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZShcInBhZGRpbmctbGVmdFwiKSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB3cmFwcGVyUGFkZGluZ1JpZ2h0ID0gcGFyc2VJbnQod3JhcHBlclN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKFwicGFkZGluZy1yaWdodFwiKSk7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBXaW5kb3cgbWVzc2FnZSAtIE1vZGFsIE9wZW4gLT4gQmFja2Ryb3AgSGVpZ2h0OiAke2V2ZW50Py5kYXRhPy5iYWNrZHJvcEhlaWdodH1gKTtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgdmFyIHRvcEhlaWdodDogbnVtYmVyID0gMTE2OyAvLyB2YWxvcmUgZmlzc28sIGRpc3RhbnphIGZyYSBpbCB0b3AgZSBsJ2luaXppbyBkZWxsJ2lmcmFtZSwgbm9uIHNhcsOgIG1haSBkaXZlcnNvXHJcbiAgICAgICAgICAgICAgICB2YXIgcmlnaHRTcGFjZTogbnVtYmVyID0gd3JhcHBlclBhZGRpbmdSaWdodDsgLy8gdmFsb3JlIGZpc3NvLCBkaXN0YW56YSBmcmEgbGEgZmluZSBkZWxsJ2lmcmFtZSBlIGlsIGxhdG8gc2luaXN0cm8gZGVsbG8gc2NoZXJtbywgbm9uIHNhcsOgIG1haSBkaXZlcnNvXHJcbiAgICAgICAgICAgICAgICB2YXIgbGVmdFNwYWNlOiBudW1iZXIgPSB0aGlzLnNpZGViYXJXaWR0aCArIHdyYXBwZXJQYWRkaW5nTGVmdDtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgbGV0IGNvbW1vblN0eWxlcyA9IFwicG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiA5OTk5OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBvcGFjaXR5OiAwLjU7IFwiO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICB3cmFwcGVyLnN0eWxlLnNldFByb3BlcnR5KFwib3ZlcmZsb3dcIiwgXCJoaWRkZW5cIiwgXCJpbXBvcnRhbnRcIik7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRvcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcbiAgICAgICAgICAgICAgICB0b3AuY2xhc3NOYW1lID0gXCJlbWJlZGRlZC1tb2RhbC10b3BcIjtcclxuICAgICAgICAgICAgICAgIHRvcC5zdHlsZS5jc3NUZXh0ID0gY29tbW9uU3R5bGVzICsgYGhlaWdodDogJHt0b3BIZWlnaHR9cHg7IHRvcDogMDsgd2lkdGg6IGNhbGMoMTAwJSAtICR7bGVmdFNwYWNlfXB4KTsgbGVmdDogJHtsZWZ0U3BhY2V9cHhgO1xyXG4gICAgICAgICAgICAgICAgdG9wLmlkID0gXCJ0b3BcIjtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgY29uc3QgbGVmdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcbiAgICAgICAgICAgICAgICBsZWZ0LmNsYXNzTmFtZSA9IFwiZW1iZWRkZWQtbW9kYWwtbGVmdFwiO1xyXG4gICAgICAgICAgICAgICAgbGVmdC5zdHlsZS5jc3NUZXh0ID0gY29tbW9uU3R5bGVzICsgYGhlaWdodDogMTAwJTsgdG9wOiAwOyB3aWR0aDogJHtsZWZ0U3BhY2V9cHg7YDtcclxuICAgICAgICAgICAgICAgIGxlZnQuaWQgPSBcImxlZnRcIjtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgY29uc3QgcmlnaHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQuY2xhc3NOYW1lID0gXCJlbWJlZGRlZC1tb2RhbC1yaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQuc3R5bGUuY3NzVGV4dCA9IGNvbW1vblN0eWxlcyArIGBoZWlnaHQ6IGNhbGMoMTAwJSAtICR7dG9wSGVpZ2h0fXB4KTsgdG9wOiAke3RvcEhlaWdodH1weDsgcmlnaHQ6IDA7IHdpZHRoOiAke3JpZ2h0U3BhY2V9cHg7YDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0LmlkID0gXCJyaWdodFwiO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRvcCk7XHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxlZnQpO1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoZXZlbnQ/LmRhdGE/LnR5cGUgPT0gXCJtb2RhbC1jbG9zZVwiKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgV2luZG93IG1lc3NhZ2UgLSBNb2RhbCBDbG9zZWApO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICBsZXQgd3JhcHBlciA9IGRvY3VtZW50LmJvZHkuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcIm1haW4td3JhcHBlclwiKVswXSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgICAgICAgIHdyYXBwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoXCJvdmVyZmxvd1wiKTtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgY29uc3QgdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ0b3BcIik7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBsZWZ0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJsZWZ0XCIpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmlnaHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInJpZ2h0XCIpO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICBpZiAodG9wKVxyXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodG9wKTtcclxuICAgICAgICAgICAgICAgIGlmIChsZWZ0KVxyXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGVmdCk7XHJcbiAgICAgICAgICAgICAgICBpZiAocmlnaHQpXHJcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChyaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmUoXCJtZW51LmlzQ29sbGFwc2VkXCIsICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgd3JhcHBlciA9IGRvY3VtZW50LmJvZHkuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcIm1haW4td3JhcHBlclwiKVswXSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgICAgbGV0IHdyYXBwZXJTdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh3cmFwcGVyKTtcclxuICAgICAgICAgICAgY29uc3Qgd3JhcHBlclBhZGRpbmdMZWZ0ID0gcGFyc2VJbnQod3JhcHBlclN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKFwicGFkZGluZy1sZWZ0XCIpKTtcclxuICAgICAgICAgICAgdmFyIGxlZnRTcGFjZTogbnVtYmVyID0gdGhpcy5zaWRlYmFyV2lkdGggKyB3cmFwcGVyUGFkZGluZ0xlZnQ7XHJcbiAgICBcclxuICAgICAgICAgICAgY29uc3QgbGVmdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwibGVmdFwiKTtcclxuICAgICAgICAgICAgY29uc3QgdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ0b3BcIik7XHJcbiAgICBcclxuICAgICAgICAgICAgaWYgKHRvcCkge1xyXG4gICAgICAgICAgICAgICAgdG9wLnN0eWxlLnNldFByb3BlcnR5KFwibGVmdFwiLCAobGVmdFNwYWNlKSArIFwicHhcIik7XHJcbiAgICAgICAgICAgICAgICB0b3Auc3R5bGUuc2V0UHJvcGVydHkoXCJ3aWR0aFwiLCBgY2FsYygxMDAlIC0gJHtsZWZ0U3BhY2V9cHgpYCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICBpZiAobGVmdClcclxuICAgICAgICAgICAgICAgIGxlZnQuc3R5bGUuc2V0UHJvcGVydHkoXCJ3aWR0aFwiLCBsZWZ0U3BhY2UgKyBcInB4XCIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgXHJcbiAgICAgICAgaWYgKHRoaXMuZW1iLkVtYmVkZGVkKVxyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KFwib3ZlcmZsb3cteVwiLCBcImF1dG9cIiwgXCJpbXBvcnRhbnRcIik7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJOYXZpZ2F0aW9uSWZNZWFuaW5nZnVsKHJvdXRlPzogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkge1xyXG4gICAgICAgIGxldCB0aXRsZSA9IHJvdXRlLmRhdGFbXCJ0aXRsZVwiXTtcclxuICAgICAgICBsZXQgaW50ZXJuYWwgPSByb3V0ZS5kYXRhW1wiaW50ZXJuYWxOYXZpZ2F0aW9uXCJdXHJcblxyXG4gICAgICAgIC8vIFBlcm1ldHRlIGRpIGNoaWFtYXJlIHN0byByZWdpc3Rlck5hdmlnYXRpb24gYSBwcmVzY2luZGVyZSBlIGZhcmUgb3B0IG91dCBzZSBub24gw6ggdW5hIHJvdXRlIG5hdmlnYWJpbGVcclxuICAgICAgICBpZighdGl0bGUpIHJldHVybjtcclxuXHJcbiAgICAgICAgLypcclxuICAgICAgICAgKiAgUGFyZW50ICh7dXJsOiBbe3BhdGg6IFwie21vZHVsZX1cIn1dfSlcclxuICAgICAgICAgKiAgICAgIFBhcmVudCAoe3VybDogW3twYXRoOiBcIlwifV19KSAoUm9vdCBkZWwgbW9kdWxvIGxhenkpXHJcbiAgICAgICAgICogICAgICAgICAgLT4gTmF2aWdhemlvbmUgYXR0dWFsZSA8LVxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIGxldCBtb2R1bGUgPSByb3V0ZS5wYXJlbnQ/LnBhcmVudD8udXJsWzBdPy5wYXRoO1xyXG4gICAgICAgIGxldCBsb2MgPSBtb2R1bGUgPyB0aGlzLk1vZHVsZXNMb2NhbGl6YXRpb25zW21vZHVsZV0gOiBudWxsO1xyXG5cclxuICAgICAgICBpZiAoIW1vZHVsZSlcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkltcG9zc2liaWxlIGVzdHJhcG9sYXJlIGlsIG1vZHVsbyBkYWxsYSBuYXZpZ2F6aW9uZSAoQXR0ZXNvIE1vZHVsbyBhbCBzZWNvbmRvIGxpdmVsbG8gZGkgcGFyZW50ZWxhIHBhcnRlbmRvIGRhbCBjb21wb25lbnRlIGF0dHVhbGUpOiBcIiArIHJvdXRlLnBhdGhGcm9tUm9vdC5tYXAodiA9PiB2LnVybC5tYXAoc2VnbWVudCA9PiBzZWdtZW50LnRvU3RyaW5nKCkpLmpvaW4oJy8nKSkuam9pbignLycpKTtcclxuXHJcbiAgICAgICAgdGhpcy5ub3RpZnlEYXRhQ2hhbmdlZChpbnRlcm5hbCA/IFwibWVudS5hZGp1c3RTdWJOYXZpZ2F0aW9uVG9cIiA6IFwibWVudS5hZGp1c3ROYXZpZ2F0aW9uVG9cIiwgbG9jID8gbG9jLmxvYyh0aXRsZSkgOiB0aXRsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlSW5ib3VuZE1lc3NhZ2UodDogSW50ZXJDb21NZXNzYWdlKSB7XHJcbiAgICAgICAgc3dpdGNoICh0LnR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBJbmJvdW5kTWVzc2FnZVR5cGVzLk5hdmlnYXRpb246XHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZnlEYXRhQ2hhbmdlZCh0Lm1lc3NhZ2Uuc3ViID8gXCJtZW51LmFkanVzdFN1Yk5hdmlnYXRpb25Ub1wiIDogXCJtZW51LmFkanVzdE5hdmlnYXRpb25Ub1wiLCB0Lm1lc3NhZ2Uucm91dGVUaXRsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnRlcmNvbS5zZW5kKEFkbU1lc3NhZ2VUeXBlcy5NZXNzYWdlLCBcIk5hdmlnYXRpb24gTWVzc2FnZSBSZWNlaXZlZFwiLCBNS19BRE0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZXR1cERheWpzKCkge1xyXG4gICAgICAgIGRheWpzLmV4dGVuZCgoPGFueT5jdXN0b21QYXJzZUZvcm1hdCkuZGVmYXVsdCB8fCBjdXN0b21QYXJzZUZvcm1hdCk7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKCg8YW55Pm1pbk1heCkuZGVmYXVsdCB8fCBtaW5NYXgpO1xyXG4gICAgICAgIGRheWpzLmV4dGVuZCgoPGFueT5pc0JldHdlZW4pLmRlZmF1bHQgfHwgaXNCZXR3ZWVuKTtcclxuICAgICAgICBkYXlqcy5leHRlbmQoKDxhbnk+aXNTYW1lT3JCZWZvcmUpLmRlZmF1bHQgfHwgaXNTYW1lT3JCZWZvcmUpO1xyXG4gICAgICAgIGRheWpzLmV4dGVuZCgoPGFueT5pc1NhbWVPckFmdGVyKS5kZWZhdWx0IHx8IGlzU2FtZU9yQWZ0ZXIpO1xyXG4gICAgICAgIGRheWpzLmV4dGVuZCgoPGFueT5kdXJhdGlvbikuZGVmYXVsdCB8fCBkdXJhdGlvbik7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKCg8YW55PnV0YykuZGVmYXVsdCB8fCB1dGMpO1xyXG5cclxuICAgICAgICAvLyBSZXF1aXJlIGUgY29sbGVnYW1lbnRvIGNvbiBsYSBsb2NhbGl6emF6aW9uZSBwZXIgZGF5anNcclxuICAgICAgICBpbXBvcnQoXCJkYXlqcy9sb2NhbGUvXCIgKyB0aGlzLmxjLlNtYWxsTG9jYWxlICsgXCIuanNcIikudGhlbihsb2NhbGUgPT4geyBkYXlqcy5sb2NhbGUobG9jYWxlKTsgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0dXBTaWduYWxSSm9iTGlzdGVuaW5nKCkge1xyXG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9ucy5vYnNlcnZlKHRoaXMuTWVzc2FnZURlZi5JTl9Kb2JQcm9ncmVzc05vdGlmaWNhdGlvbikuc3Vic2NyaWJlKChldjogSm9iUHJvZ3Jlc3NEdG8pID0+IHtcclxuICAgICAgICAgICAgdmFyIGRlc2MgPSBldi5kZXNjcmlwdGlvbiArIFwiIChcIiArIGV2LnVzZXIgKyBcIilcIjtcclxuICAgICAgICAgICAgbGV0IGpvYjogQXBwbGljYXRpb25Kb2IgPSB7XHJcbiAgICAgICAgICAgICAgICBpZDogZXYuaW5zdGFuY2UsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogZGVzYyxcclxuICAgICAgICAgICAgICAgIHNtYWxsZGVzY3JpcHRpb246IGRlc2MubGVuZ3RoID4gMzUgPyBkZXNjLnN1YnN0cmluZygwLCAzMCkgKyBcIi4uLlwiIDogZGVzYyxcclxuICAgICAgICAgICAgICAgIHBlcmNlbnRhZ2U6IHRoaXMucm91bmRUb1R3byhldi5wcm9ncmVzcyksXHJcbiAgICAgICAgICAgICAgICBjb21wbGV0ZWQ6IGV2LnR5cGUgPT0gJ0NvbXBsZXRlZCcsXHJcbiAgICAgICAgICAgICAgICBmaWxlaWQ6IGV2LnJlc3VsdGZpbGUsXHJcbiAgICAgICAgICAgICAgICByZXBvcnRpZDogZXYucmVzdWx0cmVwb3J0LFxyXG4gICAgICAgICAgICAgICAgcmVwb3J0cGFyczogZXYucmVzdWx0cmVwb3J0cGFyYW1zLFxyXG4gICAgICAgICAgICAgICAgY29tcGxleHJlcG9ydGlkOiBldi5yZXN1bHRjb21wbGV4cmVwb3J0XHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBzd2l0Y2ggKGV2LnR5cGUpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJTdGFydGVkXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuam9iV2l0aElkc0NhY2hlW2V2Lmluc3RhbmNlXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJKb2IgYWxyZWFkeSByZWdpc3RlcmVkIG9uIHRoZSAnU3RhcnRlZCcgY2FsbGJhY2tcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5qb2JXaXRoSWRzQ2FjaGVbZXYuaW5zdGFuY2VdID0gam9iO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxsSm9icy5zcGxpY2UoMCwgMCwgam9iKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJQcm9ncmVzc1wiOlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIFNlIG1pIGFycml2YSB1biBwcm9ncmVzcyBkaSB1biBqb2IgY2hlIG5vbiBobyBzaWduaWZpY2EgY2hlIG1pIHNvbm8gbG9nZ2F0byBvcmEgY29uIGRlaSBKb2IgaW4gY29yc29cclxuICAgICAgICAgICAgICAgICAgICAvLyBxdWluZGkgcGVyIHByaW1hIGNvc2EgZGV2byBtZXR0ZXJsbyBpbiBsaXN0YVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5qb2JXaXRoSWRzQ2FjaGVbZXYuaW5zdGFuY2VdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuam9iV2l0aElkc0NhY2hlW2V2Lmluc3RhbmNlXSA9IGpvYjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGxKb2JzLnNwbGljZSgwLCAwLCBqb2IpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmpvYldpdGhJZHNDYWNoZVtldi5pbnN0YW5jZV0ucGVyY2VudGFnZSA9IHRoaXMucm91bmRUb1R3byhldi5wcm9ncmVzcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiQ29tcGxldGVkXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmpvYldpdGhJZHNDYWNoZVtldi5pbnN0YW5jZV0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5qb2JXaXRoSWRzQ2FjaGVbZXYuaW5zdGFuY2VdID0gam9iO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsbEpvYnMuc3BsaWNlKDAsIDAsIGpvYik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHZhciBqb2JUb1VwZGF0ZSA9IHRoaXMuam9iV2l0aElkc0NhY2hlW2V2Lmluc3RhbmNlXTtcclxuICAgICAgICAgICAgICAgICAgICBqb2JUb1VwZGF0ZS5wZXJjZW50YWdlID0gMTAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGpvYlRvVXBkYXRlLmZpbGVpZCA9IGV2LnJlc3VsdGZpbGU7XHJcbiAgICAgICAgICAgICAgICAgICAgam9iVG9VcGRhdGUucmVwb3J0aWQgPSBldi5yZXN1bHRyZXBvcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgam9iVG9VcGRhdGUucmVwb3J0cGFycyA9IGV2LnJlc3VsdHJlcG9ydHBhcmFtcztcclxuICAgICAgICAgICAgICAgICAgICBqb2JUb1VwZGF0ZS5jb21wbGV0ZWQgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5ub3RpZnlPbkNvbXBsZXRlZEpvYnMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZ5RGF0YUNoYW5nZWQoXCJhcHAuY29tcGxldGVkSm9iXCIsIGpvYlRvVXBkYXRlLmRlc2NyaXB0aW9uKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuam9ic0luUHJvZ3Jlc3MgPSB0aGlzLmFsbEpvYnMuZmlsdGVyKHQgPT4gIXQuY29tcGxldGVkKS5sZW5ndGg7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcm91bmRUb1R3byhudW0pIHtcclxuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZChudW0gKiAxMDApIC8gMTAwO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEphY2VJRGVudGl0eSgpOiBKYWNlSWRlbnRpdHkge1xyXG4gICAgICAgIGlmICh0aGlzLkphY2VJZGVudGl0eSlcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuSmFjZUlkZW50aXR5O1xyXG4gICAgICAgIHRoaXMuSmFjZUlkZW50aXR5ID0gdGhpcy5idHMuZ2V0SmFjZUlkZW50aXR5KCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuSmFjZUlkZW50aXR5O1xyXG4gICAgfVxyXG5cclxuICAgIG5vdGlmeURhdGFDaGFuZ2VkKGV2ZW50LCB2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuX2RhdGFbZXZlbnRdID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5fZGF0YS5uZXh0KHtcclxuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50LFxyXG4gICAgICAgICAgICBkYXRhOiB0aGlzLl9kYXRhW2V2ZW50XVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN1YnNjcmliZShldmVudDogc3RyaW5nLCBjYWxsYmFjazogRnVuY3Rpb24pIHtcclxuICAgICAgICB2YXIgc3Vic2NyaWJlcnMgPSB0aGlzLl9zdWJzY3JpcHRpb25zLmdldChldmVudCkgfHwgW107XHJcbiAgICAgICAgc3Vic2NyaWJlcnMucHVzaChjYWxsYmFjayk7XHJcblxyXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuc2V0KGV2ZW50LCBzdWJzY3JpYmVycyk7XHJcbiAgICB9XHJcblxyXG4gICAgX29uRXZlbnQoZGF0YTogYW55KSB7XHJcbiAgICAgICAgdmFyIHN1YnNjcmliZXJzID0gdGhpcy5fc3Vic2NyaXB0aW9ucy5nZXQoZGF0YVtcImV2ZW50XCJdKSB8fCBbXTtcclxuXHJcbiAgICAgICAgc3Vic2NyaWJlcnMuZm9yRWFjaCgoY2FsbGJhY2spID0+IHtcclxuICAgICAgICAgICAgY2FsbGJhY2suY2FsbChudWxsLCBkYXRhW1wiZGF0YVwiXSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldFNpZGViYXJXaWR0aCh3aWR0aDogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5zaWRlYmFyV2lkdGggPSB3aWR0aDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0SGVhZGVySGVpZ2h0KGhlaWdodDogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5oZWFkZXJIZWlnaHQgPSBoZWlnaHQ7XHJcbiAgICB9XHJcbn0iXX0=
@@ -86,9 +86,9 @@ export class ApplicationCachePersistor extends CachePersistor {
86
86
  return `${this.getItemsUrl(sessionKey)}/${itemKey}`;
87
87
  }
88
88
  }
89
- ApplicationCachePersistor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApplicationCachePersistor, deps: [{ token: i1.LocalizationService }, { token: i2.HttpClient }, { token: i3.TokenService }, { token: i4.BaseSessionRetriever }], target: i0.ɵɵFactoryTarget.Injectable });
90
- ApplicationCachePersistor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApplicationCachePersistor });
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApplicationCachePersistor, decorators: [{
89
+ ApplicationCachePersistor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApplicationCachePersistor, deps: [{ token: i1.LocalizationService }, { token: i2.HttpClient }, { token: i3.TokenService }, { token: i4.BaseSessionRetriever }], target: i0.ɵɵFactoryTarget.Injectable });
90
+ ApplicationCachePersistor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApplicationCachePersistor });
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApplicationCachePersistor, decorators: [{
92
92
  type: Injectable
93
93
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.HttpClient }, { type: i3.TokenService }, { type: i4.BaseSessionRetriever }]; } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNhY2hlLnBlcnNpc3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc2VydmljZXMvc3JjL2NsYXNzZXMvcHJlZmVyZW5jZXMvYXBwLmNhY2hlLnBlcnNpc3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBd0IsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJN0Usa0NBQWtDO0FBQ2xDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRWpELHlCQUF5QjtBQUN6QixNQUFNLG1CQUFtQixHQUFZLHFCQUFxQixDQUFDO0FBRzNELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxjQUFjO0lBRXpELG1HQUFtRztJQUNuRyxzR0FBc0c7SUFDdEcsWUFBb0IsRUFBdUIsRUFBVSxJQUFnQixFQUFVLEdBQWlCLEVBQUUsT0FBNkI7UUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFBOUgsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBYztJQUFtRCxDQUFDO0lBRTdJLE9BQU8sQ0FBSSxHQUFXLEVBQUUsSUFBTztRQUNsQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElB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clxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBCYXNlU2Vzc2lvblJldHJpZXZlciwgQ2FjaGVQZXJzaXN0b3IgfSBmcm9tIFwiQGVzZmFlbnphL3ByZWZlcmVuY2VzXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgVG9rZW5TZXJ2aWNlIH0gZnJvbSBcIi4uL2FwcC5hY2Nlc3N0b2tlblwiO1xyXG5cclxuLy8gRGlyZXR0aXZlLCBDb21wb25lbnRpLCBMaWJyZXJpZVxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLy8gQ2hpYW1hdGUgYWkgUmVwb3NpdG9yeVxyXG5jb25zdCBCQVNFX0NhY2hlX1Nlc3Npb25zOiBzdHJpbmcgPSAgXCIvYXBpL0NhY2hlL3Nlc3Npb25zXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlUGVyc2lzdG9yIGV4dGVuZHMgQ2FjaGVQZXJzaXN0b3Ige1xyXG5cclxuICAgIC8vIFBhc3NvIGRpcmV0dGFtZW50ZSBkYWxsJ0h0dHBDbGllbnQgbmF0aXZvIGluIHF1YW50byBub24gcG9zc28gcGFzc2FyZSBkYWxsJ0h0dHBTZXJ2aWNlIGRhdG8gY2hlIFxyXG4gICAgLy8gbHVpIHJpY2hpZWRlIGlsIFByZWZlcmVuY2VzU2VydmljZSBjaGUgcmljaGllZGUgcXVlc3RhIGNsYXNzZSBjaGUgcmljaGllZGUgbCdIdHRwU2VydmljZSBlY2MgZWNjLi4uXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgdGtzOiBUb2tlblNlcnZpY2UsIHNlc3Npb246IEJhc2VTZXNzaW9uUmV0cmlldmVyKSB7IHN1cGVyKHNlc3Npb24pOyB9XHJcblxyXG4gICAgcHVibGljIHBlcnNpc3Q8VD4oa2V5OiBzdHJpbmcsIGl0ZW06IFQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBsZXQgc2sgPSB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpO1xyXG4gICAgICAgIGlmICghc2spIHJldHVybiBvZihmYWxzZSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxib29sZWFuPih0aGlzLmdldEl0ZW1Vcmwoc2ssIGtleSksIEpTT04uc3RyaW5naWZ5KGl0ZW0pLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoY2F0Y2hFcnJvcihlID0+IG9mKGZhbHNlKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWNvdmVyPFQ+KGtleT86IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIGxldCBzayA9IHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCk7XHJcbiAgICAgICAgaWYgKCFzaykgcmV0dXJuIG9mKG51bGwpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxzdHJpbmc+KHRoaXMuZ2V0SXRlbVVybChzaywga2V5KSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KS5waXBlKFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKGUgPT4gb2YobnVsbCkpLFxyXG4gICAgICAgICAgICBtYXAoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgdmFyIHJlc1Byb3AgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgdHJ5IHsgcmVzUHJvcCA9IDxUPkpTT04ucGFyc2UocmVzKTsgfVxyXG4gICAgICAgICAgICAgICAgY2F0Y2ggeyB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzUHJvcDtcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWNvdmVyQWxsKCk6IE9ic2VydmFibGU8eyBbaW5kZXg6IHN0cmluZ106IGFueTsgfT4ge1xyXG4gICAgICAgIGxldCBzayA9IHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCk7XHJcbiAgICAgICAgaWYgKCFzaykgcmV0dXJuIG9mKG51bGwpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IFtpbmRleDogc3RyaW5nXTogYW55OyB9Pih0aGlzLmdldFNlc3Npb25Vcmwoc2spLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoXHJcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZSA9PiBvZihudWxsKSksXHJcbiAgICAgICAgICAgIG1hcCgocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciByZXNQcm9wID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICB0cnkgeyByZXNQcm9wID0gSlNPTi5wYXJzZShyZXNbcHJvcF0pOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2ggeyB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzW3Byb3BdID0gcmVzUHJvcDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiByZXNcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmUoa2V5Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgbGV0IHNrID0gdGhpcy5zZXNzaW9uLmdldFNlc3Npb25LZXkoKTtcclxuICAgICAgICBpZiAoIXNrKSByZXR1cm4gb2YoZmFsc2UpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxib29sZWFuPih0aGlzLmdldEl0ZW1Vcmwoc2ssIGtleSksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSkucGlwZShjYXRjaEVycm9yKGUgPT4gb2YoZmFsc2UpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsZWFyKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGxldCBzayA9IHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCk7XHJcbiAgICAgICAgaWYgKCFzaykgcmV0dXJuIG9mKGZhbHNlKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8Ym9vbGVhbj4odGhpcy5nZXRJdGVtc1VybChzayksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSkucGlwZShjYXRjaEVycm9yKGUgPT4gb2YoZmFsc2UpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRIZWFkZXJzKGNvbnRlbnRUeXBlOiBzdHJpbmcgPSAnYXBwbGljYXRpb24vanNvbicpOiBIdHRwSGVhZGVycyB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycygpXHJcbiAgICAgICAgICAgIC5hcHBlbmQoXCJDb250ZW50LVR5cGVcIiwgY29udGVudFR5cGUpXHJcbiAgICAgICAgICAgIC5hcHBlbmQoXCJBY2NlcHRcIiwgXCJhcHBsaWNhdGlvbi9qc29uXCIpXHJcbiAgICAgICAgICAgIC5hcHBlbmQoXCJBdXRob3JpemF0aW9uXCIsIFwiQmVhcmVyIFwiICsgdGhpcy50a3MuZ2V0QWNjZXNzVG9rZW4oKSlcclxuICAgICAgICAgICAgLmFwcGVuZChcIkFjY2VwdC1MYW5ndWFnZVwiLCB0aGlzLmxjLkxvY2FsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRTZXNzaW9uVXJsKHNlc3Npb25LZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGAke0JBU0VfQ2FjaGVfU2Vzc2lvbnN9LyR7c2Vzc2lvbktleX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SXRlbXNVcmwoc2Vzc2lvbktleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhpcy5nZXRTZXNzaW9uVXJsKHNlc3Npb25LZXkpfS9pdGVtc2A7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRJdGVtVXJsKHNlc3Npb25LZXk6IHN0cmluZywgaXRlbUtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhpcy5nZXRJdGVtc1VybChzZXNzaW9uS2V5KX0vJHtpdGVtS2V5fWA7XHJcbiAgICB9XHJcbn0iXX0=
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNhY2hlLnBlcnNpc3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc2VydmljZXMvc3JjL2NsYXNzZXMvcHJlZmVyZW5jZXMvYXBwLmNhY2hlLnBlcnNpc3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBd0IsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJN0Usa0NBQWtDO0FBQ2xDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRWpELHlCQUF5QjtBQUN6QixNQUFNLG1CQUFtQixHQUFZLHFCQUFxQixDQUFDO0FBRzNELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxjQUFjO0lBRXpELG1HQUFtRztJQUNuRyxzR0FBc0c7SUFDdEcsWUFBb0IsRUFBdUIsRUFBVSxJQUFnQixFQUFVLEdBQWlCLEVBQUUsT0FBNkI7UUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFBOUgsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBYztJQUFtRCxDQUFDO0lBRTdJLE9BQU8sQ0FBSSxHQUFXLEVBQUUsSUFBTztRQUNsQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBVSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEosQ0FBQztJQUVNLE9BQU8sQ0FBSSxHQUFZO1FBQzFCLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFTLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN2RixVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDekIsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDUixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDbkIsSUFBSTtnQkFBRSxPQUFPLEdBQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUFFO1lBQ3JDLE1BQU0sR0FBRztZQUNULE9BQU8sT0FBTyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRU0sVUFBVTtRQUNiLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUE0QixJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN4RyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDekIsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDUixLQUFLLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRTtnQkFDbEIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNuQixJQUFJO29CQUFFLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUFFO2dCQUN4QyxNQUFNLEdBQUc7Z0JBQ1QsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQzthQUN2QjtZQUNELE9BQU8sR0FBRyxDQUFBO1FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNaLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBWTtRQUN0QixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBVSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hJLENBQUM7SUFFTSxLQUFLO1FBQ1IsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQVUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVILENBQUM7SUFFTyxVQUFVLENBQUMsY0FBc0Isa0JBQWtCO1FBQ3ZELE9BQU8sSUFBSSxXQUFXLEVBQUU7YUFDbkIsTUFBTSxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUM7YUFDbkMsTUFBTSxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQzthQUNwQyxNQUFNLENBQUMsZUFBZSxFQUFFLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQzlELE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTyxhQUFhLENBQUMsVUFBa0I7UUFDcEMsT0FBTyxHQUFHLG1CQUFtQixJQUFJLFVBQVUsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFTyxXQUFXLENBQUMsVUFBa0I7UUFDbEMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztJQUNyRCxDQUFDO0lBRU8sVUFBVSxDQUFDLFVBQWtCLEVBQUUsT0FBZTtRQUNsRCxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUN4RCxDQUFDOztzSEE1RVEseUJBQXlCOzBIQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBCYXNlU2Vzc2lvblJldHJpZXZlciwgQ2FjaGVQZXJzaXN0b3IgfSBmcm9tIFwiQGVzZmFlbnphL3ByZWZlcmVuY2VzXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgVG9rZW5TZXJ2aWNlIH0gZnJvbSBcIi4uL2FwcC5hY2Nlc3N0b2tlblwiO1xyXG5cclxuLy8gRGlyZXR0aXZlLCBDb21wb25lbnRpLCBMaWJyZXJpZVxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLy8gQ2hpYW1hdGUgYWkgUmVwb3NpdG9yeVxyXG5jb25zdCBCQVNFX0NhY2hlX1Nlc3Npb25zOiBzdHJpbmcgPSAgXCIvYXBpL0NhY2hlL3Nlc3Npb25zXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlUGVyc2lzdG9yIGV4dGVuZHMgQ2FjaGVQZXJzaXN0b3Ige1xyXG5cclxuICAgIC8vIFBhc3NvIGRpcmV0dGFtZW50ZSBkYWxsJ0h0dHBDbGllbnQgbmF0aXZvIGluIHF1YW50byBub24gcG9zc28gcGFzc2FyZSBkYWxsJ0h0dHBTZXJ2aWNlIGRhdG8gY2hlIFxyXG4gICAgLy8gbHVpIHJpY2hpZWRlIGlsIFByZWZlcmVuY2VzU2VydmljZSBjaGUgcmljaGllZGUgcXVlc3RhIGNsYXNzZSBjaGUgcmljaGllZGUgbCdIdHRwU2VydmljZSBlY2MgZWNjLi4uXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgdGtzOiBUb2tlblNlcnZpY2UsIHNlc3Npb246IEJhc2VTZXNzaW9uUmV0cmlldmVyKSB7IHN1cGVyKHNlc3Npb24pOyB9XHJcblxyXG4gICAgcHVibGljIHBlcnNpc3Q8VD4oa2V5OiBzdHJpbmcsIGl0ZW06IFQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBsZXQgc2sgPSB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpO1xyXG4gICAgICAgIGlmICghc2spIHJldHVybiBvZihmYWxzZSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxib29sZWFuPih0aGlzLmdldEl0ZW1Vcmwoc2ssIGtleSksIEpTT04uc3RyaW5naWZ5KGl0ZW0pLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoY2F0Y2hFcnJvcihlID0+IG9mKGZhbHNlKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWNvdmVyPFQ+KGtleT86IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIGxldCBzayA9IHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCk7XHJcbiAgICAgICAgaWYgKCFzaykgcmV0dXJuIG9mKG51bGwpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxzdHJpbmc+KHRoaXMuZ2V0SXRlbVVybChzaywga2V5KSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KS5waXBlKFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKGUgPT4gb2YobnVsbCkpLFxyXG4gICAgICAgICAgICBtYXAoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgdmFyIHJlc1Byb3AgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgdHJ5IHsgcmVzUHJvcCA9IDxUPkpTT04ucGFyc2UocmVzKTsgfVxyXG4gICAgICAgICAgICAgICAgY2F0Y2ggeyB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzUHJvcDtcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWNvdmVyQWxsKCk6IE9ic2VydmFibGU8eyBbaW5kZXg6IHN0cmluZ106IGFueTsgfT4ge1xyXG4gICAgICAgIGxldCBzayA9IHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCk7XHJcbiAgICAgICAgaWYgKCFzaykgcmV0dXJuIG9mKG51bGwpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IFtpbmRleDogc3RyaW5nXTogYW55OyB9Pih0aGlzLmdldFNlc3Npb25Vcmwoc2spLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoXHJcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZSA9PiBvZihudWxsKSksXHJcbiAgICAgICAgICAgIG1hcCgocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciByZXNQcm9wID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICB0cnkgeyByZXNQcm9wID0gSlNPTi5wYXJzZShyZXNbcHJvcF0pOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2ggeyB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzW3Byb3BdID0gcmVzUHJvcDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiByZXNcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmUoa2V5Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgbGV0IHNrID0gdGhpcy5zZXNzaW9uLmdldFNlc3Npb25LZXkoKTtcclxuICAgICAgICBpZiAoIXNrKSByZXR1cm4gb2YoZmFsc2UpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxib29sZWFuPih0aGlzLmdldEl0ZW1Vcmwoc2ssIGtleSksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSkucGlwZShjYXRjaEVycm9yKGUgPT4gb2YoZmFsc2UpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsZWFyKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGxldCBzayA9IHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCk7XHJcbiAgICAgICAgaWYgKCFzaykgcmV0dXJuIG9mKGZhbHNlKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8Ym9vbGVhbj4odGhpcy5nZXRJdGVtc1VybChzayksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSkucGlwZShjYXRjaEVycm9yKGUgPT4gb2YoZmFsc2UpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRIZWFkZXJzKGNvbnRlbnRUeXBlOiBzdHJpbmcgPSAnYXBwbGljYXRpb24vanNvbicpOiBIdHRwSGVhZGVycyB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycygpXHJcbiAgICAgICAgICAgIC5hcHBlbmQoXCJDb250ZW50LVR5cGVcIiwgY29udGVudFR5cGUpXHJcbiAgICAgICAgICAgIC5hcHBlbmQoXCJBY2NlcHRcIiwgXCJhcHBsaWNhdGlvbi9qc29uXCIpXHJcbiAgICAgICAgICAgIC5hcHBlbmQoXCJBdXRob3JpemF0aW9uXCIsIFwiQmVhcmVyIFwiICsgdGhpcy50a3MuZ2V0QWNjZXNzVG9rZW4oKSlcclxuICAgICAgICAgICAgLmFwcGVuZChcIkFjY2VwdC1MYW5ndWFnZVwiLCB0aGlzLmxjLkxvY2FsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRTZXNzaW9uVXJsKHNlc3Npb25LZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGAke0JBU0VfQ2FjaGVfU2Vzc2lvbnN9LyR7c2Vzc2lvbktleX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SXRlbXNVcmwoc2Vzc2lvbktleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhpcy5nZXRTZXNzaW9uVXJsKHNlc3Npb25LZXkpfS9pdGVtc2A7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRJdGVtVXJsKHNlc3Npb25LZXk6IHN0cmluZywgaXRlbUtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhpcy5nZXRJdGVtc1VybChzZXNzaW9uS2V5KX0vJHtpdGVtS2V5fWA7XHJcbiAgICB9XHJcbn0iXX0=
@@ -86,9 +86,9 @@ export class ApplicationPreferencesPersistor extends PreferencesPersistor {
86
86
  return `${this.getItemsUrl(sessionKey)}/${itemKey}`;
87
87
  }
88
88
  }
89
- ApplicationPreferencesPersistor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApplicationPreferencesPersistor, deps: [{ token: i1.LocalizationService }, { token: i2.HttpClient }, { token: i3.TokenService }, { token: i4.BaseSessionRetriever }], target: i0.ɵɵFactoryTarget.Injectable });
90
- ApplicationPreferencesPersistor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApplicationPreferencesPersistor });
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApplicationPreferencesPersistor, decorators: [{
89
+ ApplicationPreferencesPersistor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApplicationPreferencesPersistor, deps: [{ token: i1.LocalizationService }, { token: i2.HttpClient }, { token: i3.TokenService }, { token: i4.BaseSessionRetriever }], target: i0.ɵɵFactoryTarget.Injectable });
90
+ ApplicationPreferencesPersistor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApplicationPreferencesPersistor });
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApplicationPreferencesPersistor, decorators: [{
92
92
  type: Injectable
93
93
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.HttpClient }, { type: i3.TokenService }, { type: i4.BaseSessionRetriever }]; } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnByZWZlcmVuY2UucGVyc2lzdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZXJ2aWNlcy9zcmMvY2xhc3Nlcy9wcmVmZXJlbmNlcy9hcHAucHJlZmVyZW5jZS5wZXJzaXN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLGlCQUFpQjtBQUNqQixPQUFPLEVBQXdCLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJbkYsa0NBQWtDO0FBQ2xDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRWpELHlCQUF5QjtBQUN6QixNQUFNLHlCQUF5QixHQUFZLDJCQUEyQixDQUFDO0FBR3ZFLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxvQkFBb0I7SUFFckUsbUdBQW1HO0lBQ25HLHNHQUFzRztJQUN0RyxZQUFvQixFQUF1QixFQUFVLElBQWdCLEVBQVUsR0FBaUIsRUFBRSxPQUE2QjtRQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUE5SCxPQUFFLEdBQUYsRUFBRSxDQUFxQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFjO0lBQW1ELENBQUM7SUFFN0ksT0FBTyxDQUFJLEdBQVcsRUFBRSxJQUFPO1FBQ2xDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixPQUFPLElBQUksQ0FB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LENBQUMsQ0FBQztRQUUxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFVLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1SCxDQUFDO0lBRU8sVUFBVSxDQUFDLGNBQXNCLGtCQUFrQjtRQUN2RCxPQUFPLElBQUksV0FBVyxFQUFFO2FBQ25CLE1BQU0sQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDO2FBQ25DLE1BQU0sQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUM7YUFDcEMsTUFBTSxDQUFDLGVBQWUsRUFBRSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUM5RCxNQUFNLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sYUFBYSxDQUFDLFVBQWtCO1FBQ3BDLE9BQU8sR0FBRyx5QkFBeUIsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRU8sV0FBVyxDQUFDLFVBQWtCO1FBQ2xDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDckQsQ0FBQztJQUVPLFVBQVUsQ0FBQyxVQUFrQixFQUFFLE9BQWU7UUFDbEQsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7SUFDeEQsQ0FBQzs7NkhBMUVRLCtCQUErQjtpSUFBL0IsK0JBQStCOzRGQUEvQiwrQkFBK0I7a0JBRDNDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgQmFzZVNlc3Npb25SZXRyaWV2ZXIsIFByZWZlcmVuY2VzUGVyc2lzdG9yIH0gZnJvbSBcIkBlc2ZhZW56YS9wcmVmZXJlbmNlc1wiO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gXCIuLi9hcHAuYWNjZXNzdG9rZW5cIjtcclxuXHJcbi8vIERpcmV0dGl2ZSwgQ29tcG9uZW50aSwgTGlicmVyaWVcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuXHJcbi8vIENoaWFtYXRlIGFpIFJlcG9zaXRvcnlcclxuY29uc3QgQkFTRV9QcmVmZXJlbmNlc19TZXNzaW9uczogc3RyaW5nID0gIFwiL2FwaS9QcmVmZXJlbmNlcy9zZXNzaW9uc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25QcmVmZXJlbmNlc1BlcnNpc3RvciBleHRlbmRzIFByZWZlcmVuY2VzUGVyc2lzdG9yIHtcclxuXHJcbiAgICAvLyBQYXNzbyBkaXJldHRhbWVudGUgZGFsbCdIdHRwQ2xpZW50IG5hdGl2byBpbiBxdWFudG8gbm9uIHBvc3NvIHBhc3NhcmUgZGFsbCdIdHRwU2VydmljZSBkYXRvIGNoZSBcclxuICAgIC8vIGx1aSByaWNoaWVkZSBpbCBQcmVmZXJlbmNlc1NlcnZpY2UgY2hlIHJpY2hpZWRlIHF1ZXN0YSBjbGFzc2UgY2hlIHJpY2hpZWRlIGwnSHR0cFNlcnZpY2UgZWNjIGVjYy4uLlxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIHRrczogVG9rZW5TZXJ2aWNlLCBzZXNzaW9uOiBCYXNlU2Vzc2lvblJldHJpZXZlcikgeyBzdXBlcihzZXNzaW9uKTsgfVxyXG5cclxuICAgIHB1YmxpYyBwZXJzaXN0PFQ+KGtleTogc3RyaW5nLCBpdGVtOiBUKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgbGV0IHNrID0gdGhpcy5zZXNzaW9uLmdldFNlc3Npb25LZXkoKTtcclxuICAgICAgICBpZiAoIXNrKSByZXR1cm4gb2YoZmFsc2UpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Ym9vbGVhbj4odGhpcy5nZXRJdGVtVXJsKHNrLCBrZXkpLCBKU09OLnN0cmluZ2lmeShpdGVtKSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KS5waXBlKGNhdGNoRXJyb3IoZSA9PiBvZihmYWxzZSkpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVjb3ZlcjxUPihrZXk/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgICBsZXQgc2sgPSB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpO1xyXG4gICAgICAgIGlmICghc2spIHJldHVybiBvZihudWxsKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8c3RyaW5nPih0aGlzLmdldEl0ZW1Vcmwoc2ssIGtleSksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSkucGlwZShtYXAoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICB2YXIgcmVzUHJvcCA9IG51bGw7XHJcbiAgICAgICAgICAgIHRyeSB7IHJlc1Byb3AgPSA8VD5KU09OLnBhcnNlKHJlcyk7IH1cclxuICAgICAgICAgICAgY2F0Y2ggeyB9XHJcbiAgICAgICAgICAgIHJldHVybiByZXNQcm9wO1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVjb3ZlckFsbCgpOiBPYnNlcnZhYmxlPHsgW2luZGV4OiBzdHJpbmddOiBhbnk7IH0+IHtcclxuICAgICAgICBsZXQgc2sgPSB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpO1xyXG4gICAgICAgIGlmICghc2spIHJldHVybiBvZihudWxsKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8eyBbaW5kZXg6IHN0cmluZ106IGFueTsgfT4odGhpcy5nZXRTZXNzaW9uVXJsKHNrKSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KS5waXBlKFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKGUgPT4gb2YobnVsbCkpLFxyXG4gICAgICAgICAgICBtYXAoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiByZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzUHJvcCA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHsgcmVzUHJvcCA9IEpTT04ucGFyc2UocmVzW3Byb3BdKTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoIHsgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJlc1twcm9wXSA9IHJlc1Byb3A7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzXHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVtb3ZlKGtleT86IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGxldCBzayA9IHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCk7XHJcbiAgICAgICAgaWYgKCFzaykgcmV0dXJuIG9mKGZhbHNlKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8Ym9vbGVhbj4odGhpcy5nZXRJdGVtVXJsKHNrLCBrZXkpLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoY2F0Y2hFcnJvcihlID0+IG9mKGZhbHNlKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbGVhcigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBsZXQgc2sgPSB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpO1xyXG4gICAgICAgIGlmICghc2spIHJldHVybiBvZihmYWxzZSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGJvb2xlYW4+KHRoaXMuZ2V0SXRlbXNVcmwoc2spLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoY2F0Y2hFcnJvcihlID0+IG9mKGZhbHNlKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SGVhZGVycyhjb250ZW50VHlwZTogc3RyaW5nID0gJ2FwcGxpY2F0aW9uL2pzb24nKTogSHR0cEhlYWRlcnMge1xyXG4gICAgICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoKVxyXG4gICAgICAgICAgICAuYXBwZW5kKFwiQ29udGVudC1UeXBlXCIsIGNvbnRlbnRUeXBlKVxyXG4gICAgICAgICAgICAuYXBwZW5kKFwiQWNjZXB0XCIsIFwiYXBwbGljYXRpb24vanNvblwiKVxyXG4gICAgICAgICAgICAuYXBwZW5kKFwiQXV0aG9yaXphdGlvblwiLCBcIkJlYXJlciBcIiArIHRoaXMudGtzLmdldEFjY2Vzc1Rva2VuKCkpXHJcbiAgICAgICAgICAgIC5hcHBlbmQoXCJBY2NlcHQtTGFuZ3VhZ2VcIiwgdGhpcy5sYy5Mb2NhbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0U2Vzc2lvblVybChzZXNzaW9uS2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBgJHtCQVNFX1ByZWZlcmVuY2VzX1Nlc3Npb25zfS8ke3Nlc3Npb25LZXl9YDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEl0ZW1zVXJsKHNlc3Npb25LZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZ2V0U2Vzc2lvblVybChzZXNzaW9uS2V5KX0vaXRlbXNgO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SXRlbVVybChzZXNzaW9uS2V5OiBzdHJpbmcsIGl0ZW1LZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZ2V0SXRlbXNVcmwoc2Vzc2lvbktleSl9LyR7aXRlbUtleX1gO1xyXG4gICAgfVxyXG59Il19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnByZWZlcmVuY2UucGVyc2lzdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZXJ2aWNlcy9zcmMvY2xhc3Nlcy9wcmVmZXJlbmNlcy9hcHAucHJlZmVyZW5jZS5wZXJzaXN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLGlCQUFpQjtBQUNqQixPQUFPLEVBQXdCLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJbkYsa0NBQWtDO0FBQ2xDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRWpELHlCQUF5QjtBQUN6QixNQUFNLHlCQUF5QixHQUFZLDJCQUEyQixDQUFDO0FBR3ZFLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxvQkFBb0I7SUFFckUsbUdBQW1HO0lBQ25HLHNHQUFzRztJQUN0RyxZQUFvQixFQUF1QixFQUFVLElBQWdCLEVBQVUsR0FBaUIsRUFBRSxPQUE2QjtRQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUE5SCxPQUFFLEdBQUYsRUFBRSxDQUFxQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFjO0lBQW1ELENBQUM7SUFFN0ksT0FBTyxDQUFJLEdBQVcsRUFBRSxJQUFPO1FBQ2xDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixPQUFPLElBQUksQ0FB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LENBQUMsQ0FBQztRQUUxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFVLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1SCxDQUFDO0lBRU8sVUFBVSxDQUFDLGNBQXNCLGtCQUFrQjtRQUN2RCxPQUFPLElBQUksV0FBVyxFQUFFO2FBQ25CLE1BQU0sQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDO2FBQ25DLE1BQU0sQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUM7YUFDcEMsTUFBTSxDQUFDLGVBQWUsRUFBRSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUM5RCxNQUFNLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sYUFBYSxDQUFDLFVBQWtCO1FBQ3BDLE9BQU8sR0FBRyx5QkFBeUIsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRU8sV0FBVyxDQUFDLFVBQWtCO1FBQ2xDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDckQsQ0FBQztJQUVPLFVBQVUsQ0FBQyxVQUFrQixFQUFFLE9BQWU7UUFDbEQsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7SUFDeEQsQ0FBQzs7NEhBMUVRLCtCQUErQjtnSUFBL0IsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBRDNDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgQmFzZVNlc3Npb25SZXRyaWV2ZXIsIFByZWZlcmVuY2VzUGVyc2lzdG9yIH0gZnJvbSBcIkBlc2ZhZW56YS9wcmVmZXJlbmNlc1wiO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gXCIuLi9hcHAuYWNjZXNzdG9rZW5cIjtcclxuXHJcbi8vIERpcmV0dGl2ZSwgQ29tcG9uZW50aSwgTGlicmVyaWVcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuXHJcbi8vIENoaWFtYXRlIGFpIFJlcG9zaXRvcnlcclxuY29uc3QgQkFTRV9QcmVmZXJlbmNlc19TZXNzaW9uczogc3RyaW5nID0gIFwiL2FwaS9QcmVmZXJlbmNlcy9zZXNzaW9uc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25QcmVmZXJlbmNlc1BlcnNpc3RvciBleHRlbmRzIFByZWZlcmVuY2VzUGVyc2lzdG9yIHtcclxuXHJcbiAgICAvLyBQYXNzbyBkaXJldHRhbWVudGUgZGFsbCdIdHRwQ2xpZW50IG5hdGl2byBpbiBxdWFudG8gbm9uIHBvc3NvIHBhc3NhcmUgZGFsbCdIdHRwU2VydmljZSBkYXRvIGNoZSBcclxuICAgIC8vIGx1aSByaWNoaWVkZSBpbCBQcmVmZXJlbmNlc1NlcnZpY2UgY2hlIHJpY2hpZWRlIHF1ZXN0YSBjbGFzc2UgY2hlIHJpY2hpZWRlIGwnSHR0cFNlcnZpY2UgZWNjIGVjYy4uLlxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIHRrczogVG9rZW5TZXJ2aWNlLCBzZXNzaW9uOiBCYXNlU2Vzc2lvblJldHJpZXZlcikgeyBzdXBlcihzZXNzaW9uKTsgfVxyXG5cclxuICAgIHB1YmxpYyBwZXJzaXN0PFQ+KGtleTogc3RyaW5nLCBpdGVtOiBUKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgbGV0IHNrID0gdGhpcy5zZXNzaW9uLmdldFNlc3Npb25LZXkoKTtcclxuICAgICAgICBpZiAoIXNrKSByZXR1cm4gb2YoZmFsc2UpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Ym9vbGVhbj4odGhpcy5nZXRJdGVtVXJsKHNrLCBrZXkpLCBKU09OLnN0cmluZ2lmeShpdGVtKSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KS5waXBlKGNhdGNoRXJyb3IoZSA9PiBvZihmYWxzZSkpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVjb3ZlcjxUPihrZXk/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgICBsZXQgc2sgPSB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpO1xyXG4gICAgICAgIGlmICghc2spIHJldHVybiBvZihudWxsKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8c3RyaW5nPih0aGlzLmdldEl0ZW1Vcmwoc2ssIGtleSksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSkucGlwZShtYXAoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICB2YXIgcmVzUHJvcCA9IG51bGw7XHJcbiAgICAgICAgICAgIHRyeSB7IHJlc1Byb3AgPSA8VD5KU09OLnBhcnNlKHJlcyk7IH1cclxuICAgICAgICAgICAgY2F0Y2ggeyB9XHJcbiAgICAgICAgICAgIHJldHVybiByZXNQcm9wO1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVjb3ZlckFsbCgpOiBPYnNlcnZhYmxlPHsgW2luZGV4OiBzdHJpbmddOiBhbnk7IH0+IHtcclxuICAgICAgICBsZXQgc2sgPSB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpO1xyXG4gICAgICAgIGlmICghc2spIHJldHVybiBvZihudWxsKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8eyBbaW5kZXg6IHN0cmluZ106IGFueTsgfT4odGhpcy5nZXRTZXNzaW9uVXJsKHNrKSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KS5waXBlKFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKGUgPT4gb2YobnVsbCkpLFxyXG4gICAgICAgICAgICBtYXAoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiByZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzUHJvcCA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHsgcmVzUHJvcCA9IEpTT04ucGFyc2UocmVzW3Byb3BdKTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoIHsgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJlc1twcm9wXSA9IHJlc1Byb3A7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzXHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVtb3ZlKGtleT86IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGxldCBzayA9IHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCk7XHJcbiAgICAgICAgaWYgKCFzaykgcmV0dXJuIG9mKGZhbHNlKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8Ym9vbGVhbj4odGhpcy5nZXRJdGVtVXJsKHNrLCBrZXkpLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoY2F0Y2hFcnJvcihlID0+IG9mKGZhbHNlKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbGVhcigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBsZXQgc2sgPSB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpO1xyXG4gICAgICAgIGlmICghc2spIHJldHVybiBvZihmYWxzZSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGJvb2xlYW4+KHRoaXMuZ2V0SXRlbXNVcmwoc2spLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoY2F0Y2hFcnJvcihlID0+IG9mKGZhbHNlKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SGVhZGVycyhjb250ZW50VHlwZTogc3RyaW5nID0gJ2FwcGxpY2F0aW9uL2pzb24nKTogSHR0cEhlYWRlcnMge1xyXG4gICAgICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoKVxyXG4gICAgICAgICAgICAuYXBwZW5kKFwiQ29udGVudC1UeXBlXCIsIGNvbnRlbnRUeXBlKVxyXG4gICAgICAgICAgICAuYXBwZW5kKFwiQWNjZXB0XCIsIFwiYXBwbGljYXRpb24vanNvblwiKVxyXG4gICAgICAgICAgICAuYXBwZW5kKFwiQXV0aG9yaXphdGlvblwiLCBcIkJlYXJlciBcIiArIHRoaXMudGtzLmdldEFjY2Vzc1Rva2VuKCkpXHJcbiAgICAgICAgICAgIC5hcHBlbmQoXCJBY2NlcHQtTGFuZ3VhZ2VcIiwgdGhpcy5sYy5Mb2NhbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0U2Vzc2lvblVybChzZXNzaW9uS2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBgJHtCQVNFX1ByZWZlcmVuY2VzX1Nlc3Npb25zfS8ke3Nlc3Npb25LZXl9YDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEl0ZW1zVXJsKHNlc3Npb25LZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZ2V0U2Vzc2lvblVybChzZXNzaW9uS2V5KX0vaXRlbXNgO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SXRlbVVybChzZXNzaW9uS2V5OiBzdHJpbmcsIGl0ZW1LZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZ2V0SXRlbXNVcmwoc2Vzc2lvbktleSl9LyR7aXRlbUtleX1gO1xyXG4gICAgfVxyXG59Il19