@abp/ng.theme.shared 5.0.1 → 5.1.3

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 (159) hide show
  1. package/{esm2015/abp-ng.theme.shared.js → esm2020/abp-ng.theme.shared.mjs} +0 -0
  2. package/{esm2015/extensions/abp-ng.theme.shared-extensions.js → esm2020/extensions/abp-ng.theme.shared-extensions.mjs} +0 -0
  3. package/esm2020/extensions/lib/adapters/date-time.adapter.mjs +44 -0
  4. package/{esm2015/extensions/lib/adapters/date.adapter.js → esm2020/extensions/lib/adapters/date.adapter.mjs} +4 -4
  5. package/{esm2015/extensions/lib/adapters/time.adapter.js → esm2020/extensions/lib/adapters/time.adapter.mjs} +4 -4
  6. package/{esm2015/extensions/lib/components/abstract-actions/abstract-actions.component.js → esm2020/extensions/lib/components/abstract-actions/abstract-actions.component.mjs} +4 -4
  7. package/{esm2015/extensions/lib/components/date-time-picker/date-time-picker.component.js → esm2020/extensions/lib/components/date-time-picker/date-time-picker.component.mjs} +5 -5
  8. package/esm2020/extensions/lib/components/extensible-form/extensible-form-prop.component.mjs +159 -0
  9. package/esm2020/extensions/lib/components/extensible-form/extensible-form.component.mjs +64 -0
  10. package/esm2020/extensions/lib/components/extensible-table/extensible-table.component.mjs +128 -0
  11. package/esm2020/extensions/lib/components/grid-actions/grid-actions.component.mjs +39 -0
  12. package/esm2020/extensions/lib/components/page-toolbar/page-toolbar.component.mjs +40 -0
  13. package/{esm2015/extensions/lib/constants/extra-properties.js → esm2020/extensions/lib/constants/extra-properties.mjs} +0 -0
  14. package/{esm2015/extensions/lib/directives/disabled.directive.js → esm2020/extensions/lib/directives/disabled.directive.mjs} +4 -4
  15. package/{esm2015/extensions/lib/directives/prop-data.directive.js → esm2020/extensions/lib/directives/prop-data.directive.mjs} +4 -4
  16. package/{esm2015/extensions/lib/enums/props.enum.js → esm2020/extensions/lib/enums/props.enum.mjs} +0 -0
  17. package/{esm2015/extensions/lib/models/actions.js → esm2020/extensions/lib/models/actions.mjs} +0 -0
  18. package/{esm2015/extensions/lib/models/entity-actions.js → esm2020/extensions/lib/models/entity-actions.mjs} +0 -0
  19. package/esm2020/extensions/lib/models/entity-props.mjs +36 -0
  20. package/{esm2015/extensions/lib/models/form-props.js → esm2020/extensions/lib/models/form-props.mjs} +0 -0
  21. package/{esm2015/extensions/lib/models/internal/object-extensions.js → esm2020/extensions/lib/models/internal/object-extensions.mjs} +0 -0
  22. package/{esm2015/extensions/lib/models/object-extensions.js → esm2020/extensions/lib/models/object-extensions.mjs} +0 -0
  23. package/{esm2015/extensions/lib/models/props.js → esm2020/extensions/lib/models/props.mjs} +0 -0
  24. package/{esm2015/extensions/lib/models/toolbar-actions.js → esm2020/extensions/lib/models/toolbar-actions.mjs} +0 -0
  25. package/{esm2015/extensions/lib/services/extensions.service.js → esm2020/extensions/lib/services/extensions.service.mjs} +4 -4
  26. package/{esm2015/extensions/lib/tokens/extensions.token.js → esm2020/extensions/lib/tokens/extensions.token.mjs} +0 -0
  27. package/{esm2015/extensions/lib/ui-extensions.module.js → esm2020/extensions/lib/ui-extensions.module.mjs} +9 -9
  28. package/{esm2015/extensions/lib/utils/actions.util.js → esm2020/extensions/lib/utils/actions.util.mjs} +0 -0
  29. package/{esm2015/extensions/lib/utils/enum.util.js → esm2020/extensions/lib/utils/enum.util.mjs} +0 -0
  30. package/{esm2015/extensions/lib/utils/factory.util.js → esm2020/extensions/lib/utils/factory.util.mjs} +0 -0
  31. package/{esm2015/extensions/lib/utils/form-props.util.js → esm2020/extensions/lib/utils/form-props.util.mjs} +0 -0
  32. package/{esm2015/extensions/lib/utils/localization.util.js → esm2020/extensions/lib/utils/localization.util.mjs} +0 -0
  33. package/{esm2015/extensions/lib/utils/props.util.js → esm2020/extensions/lib/utils/props.util.mjs} +0 -0
  34. package/{esm2015/extensions/lib/utils/state.util.js → esm2020/extensions/lib/utils/state.util.mjs} +2 -3
  35. package/{esm2015/extensions/lib/utils/typeahead.util.js → esm2020/extensions/lib/utils/typeahead.util.mjs} +0 -0
  36. package/{esm2015/extensions/lib/utils/validation.util.js → esm2020/extensions/lib/utils/validation.util.mjs} +0 -0
  37. package/{esm2015/extensions/public-api.js → esm2020/extensions/public-api.mjs} +0 -0
  38. package/{esm2015/lib/animations/bounce.animations.js → esm2020/lib/animations/bounce.animations.mjs} +0 -0
  39. package/{esm2015/lib/animations/collapse.animations.js → esm2020/lib/animations/collapse.animations.mjs} +0 -0
  40. package/{esm2015/lib/animations/fade.animations.js → esm2020/lib/animations/fade.animations.mjs} +0 -0
  41. package/{esm2015/lib/animations/index.js → esm2020/lib/animations/index.mjs} +0 -0
  42. package/{esm2015/lib/animations/modal.animations.js → esm2020/lib/animations/modal.animations.mjs} +0 -0
  43. package/{esm2015/lib/animations/slide.animations.js → esm2020/lib/animations/slide.animations.mjs} +0 -0
  44. package/{esm2015/lib/animations/toast.animations.js → esm2020/lib/animations/toast.animations.mjs} +0 -0
  45. package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +43 -0
  46. package/esm2020/lib/components/breadcrumb-items/breadcrumb-items.component.mjs +19 -0
  47. package/esm2020/lib/components/button/button.component.mjs +97 -0
  48. package/esm2020/lib/components/confirmation/confirmation.component.mjs +36 -0
  49. package/esm2020/lib/components/http-error-wrapper/http-error-wrapper.component.mjs +59 -0
  50. package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
  51. package/{esm2015/lib/components/loader-bar/loader-bar.component.js → esm2020/lib/components/loader-bar/loader-bar.component.mjs} +6 -11
  52. package/{esm2015/lib/components/loading/loading.component.js → esm2020/lib/components/loading/loading.component.mjs} +5 -5
  53. package/{esm2015/lib/components/modal/modal-close.directive.js → esm2020/lib/components/modal/modal-close.directive.mjs} +5 -6
  54. package/{esm2015/lib/components/modal/modal-ref.service.js → esm2020/lib/components/modal/modal-ref.service.mjs} +4 -4
  55. package/esm2020/lib/components/modal/modal.component.mjs +189 -0
  56. package/esm2020/lib/components/toast/toast.component.mjs +55 -0
  57. package/esm2020/lib/components/toast-container/toast-container.component.mjs +43 -0
  58. package/{esm2015/lib/constants/styles.js → esm2020/lib/constants/styles.mjs} +0 -0
  59. package/{esm2015/lib/constants/validation.js → esm2020/lib/constants/validation.mjs} +0 -0
  60. package/{esm2015/lib/directives/ellipsis.directive.js → esm2020/lib/directives/ellipsis.directive.mjs} +8 -8
  61. package/{esm2015/lib/directives/index.js → esm2020/lib/directives/index.mjs} +0 -0
  62. package/esm2020/lib/directives/loading.directive.mjs +89 -0
  63. package/{esm2015/lib/directives/ngx-datatable-default.directive.js → esm2020/lib/directives/ngx-datatable-default.directive.mjs} +4 -4
  64. package/{esm2015/lib/directives/ngx-datatable-list.directive.js → esm2020/lib/directives/ngx-datatable-list.directive.mjs} +4 -4
  65. package/{esm2015/lib/enums/index.js → esm2020/lib/enums/index.mjs} +0 -0
  66. package/{esm2015/lib/enums/route-names.js → esm2020/lib/enums/route-names.mjs} +0 -0
  67. package/esm2020/lib/handlers/document-dir.handler.mjs +31 -0
  68. package/esm2020/lib/handlers/error.handler.mjs +286 -0
  69. package/{esm2015/lib/handlers/index.js → esm2020/lib/handlers/index.mjs} +0 -0
  70. package/{esm2015/lib/models/common.js → esm2020/lib/models/common.mjs} +0 -0
  71. package/{esm2015/lib/models/confirmation.js → esm2020/lib/models/confirmation.mjs} +0 -0
  72. package/esm2020/lib/models/index.mjs +7 -0
  73. package/esm2020/lib/models/nav-item.mjs +7 -0
  74. package/{esm2015/lib/models/statistics.js → esm2020/lib/models/statistics.mjs} +0 -0
  75. package/{esm2015/lib/models/toaster.js → esm2020/lib/models/toaster.mjs} +0 -0
  76. package/esm2020/lib/models/user-menu.mjs +4 -0
  77. package/{esm2015/lib/providers/index.js → esm2020/lib/providers/index.mjs} +0 -0
  78. package/{esm2015/lib/providers/ng-bootstrap-config.provider.js → esm2020/lib/providers/ng-bootstrap-config.provider.mjs} +0 -0
  79. package/{esm2015/lib/providers/route.provider.js → esm2020/lib/providers/route.provider.mjs} +0 -0
  80. package/esm2020/lib/services/abstract-menu.service.mjs +50 -0
  81. package/{esm2015/lib/services/confirmation.service.js → esm2020/lib/services/confirmation.service.mjs} +4 -4
  82. package/{esm2015/lib/services/index.js → esm2020/lib/services/index.mjs} +2 -1
  83. package/esm2020/lib/services/nav-items.service.mjs +17 -0
  84. package/esm2020/lib/services/page-alert.service.mjs +28 -0
  85. package/esm2020/lib/services/toaster.service.mjs +103 -0
  86. package/esm2020/lib/services/user-menu.service.mjs +17 -0
  87. package/esm2020/lib/theme-shared.module.mjs +162 -0
  88. package/{esm2015/lib/tokens/append-content.token.js → esm2020/lib/tokens/append-content.token.mjs} +0 -0
  89. package/esm2020/lib/tokens/http-error.token.mjs +14 -0
  90. package/{esm2015/lib/tokens/index.js → esm2020/lib/tokens/index.mjs} +0 -0
  91. package/{esm2015/lib/tokens/ngx-datatable-messages.token.js → esm2020/lib/tokens/ngx-datatable-messages.token.mjs} +0 -0
  92. package/{esm2015/lib/tokens/suppress-unsaved-changes-warning.token.js → esm2020/lib/tokens/suppress-unsaved-changes-warning.token.mjs} +0 -0
  93. package/{esm2015/lib/utils/date-parser-formatter.js → esm2020/lib/utils/date-parser-formatter.mjs} +5 -6
  94. package/{esm2015/lib/utils/index.js → esm2020/lib/utils/index.mjs} +0 -0
  95. package/{esm2015/lib/utils/validation-utils.js → esm2020/lib/utils/validation-utils.mjs} +0 -0
  96. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  97. package/{esm2015/testing/abp-ng.theme.shared-testing.js → esm2020/testing/abp-ng.theme.shared-testing.mjs} +0 -0
  98. package/{esm2015/testing/lib/models/config.js → esm2020/testing/lib/models/config.mjs} +0 -0
  99. package/{esm2015/testing/lib/models/index.js → esm2020/testing/lib/models/index.mjs} +0 -0
  100. package/esm2020/testing/lib/theme-shared-testing.module.mjs +46 -0
  101. package/{esm2015/testing/public-api.js → esm2020/testing/public-api.mjs} +0 -0
  102. package/extensions/lib/models/entity-props.d.ts +1 -1
  103. package/extensions/lib/tokens/extensions.token.d.ts +1 -1
  104. package/extensions/package.json +5 -5
  105. package/fesm2015/abp-ng.theme.shared-extensions.mjs +1329 -0
  106. package/fesm2015/abp-ng.theme.shared-extensions.mjs.map +1 -0
  107. package/fesm2015/{abp-ng.theme.shared-testing.js → abp-ng.theme.shared-testing.mjs} +5 -5
  108. package/fesm2015/abp-ng.theme.shared-testing.mjs.map +1 -0
  109. package/fesm2015/{abp-ng.theme.shared.js → abp-ng.theme.shared.mjs} +175 -178
  110. package/fesm2015/abp-ng.theme.shared.mjs.map +1 -0
  111. package/{fesm2015/abp-ng.theme.shared-extensions.js → fesm2020/abp-ng.theme.shared-extensions.mjs} +80 -99
  112. package/fesm2020/abp-ng.theme.shared-extensions.mjs.map +1 -0
  113. package/fesm2020/abp-ng.theme.shared-testing.mjs +57 -0
  114. package/fesm2020/abp-ng.theme.shared-testing.mjs.map +1 -0
  115. package/fesm2020/abp-ng.theme.shared.mjs +2200 -0
  116. package/fesm2020/abp-ng.theme.shared.mjs.map +1 -0
  117. package/lib/models/index.d.ts +2 -1
  118. package/lib/models/user-menu.d.ts +8 -0
  119. package/lib/services/abstract-menu.service.d.ts +12 -0
  120. package/lib/services/index.d.ts +1 -0
  121. package/lib/services/nav-items.service.d.ts +3 -8
  122. package/lib/services/user-menu.service.d.ts +8 -0
  123. package/package.json +38 -8
  124. package/testing/package.json +5 -5
  125. package/bundles/abp-ng.theme.shared-extensions.umd.js +0 -1904
  126. package/bundles/abp-ng.theme.shared-extensions.umd.js.map +0 -1
  127. package/bundles/abp-ng.theme.shared-testing.umd.js +0 -82
  128. package/bundles/abp-ng.theme.shared-testing.umd.js.map +0 -1
  129. package/bundles/abp-ng.theme.shared.umd.js +0 -2506
  130. package/bundles/abp-ng.theme.shared.umd.js.map +0 -1
  131. package/esm2015/extensions/lib/adapters/date-time.adapter.js +0 -34
  132. package/esm2015/extensions/lib/components/extensible-form/extensible-form-prop.component.js +0 -164
  133. package/esm2015/extensions/lib/components/extensible-form/extensible-form.component.js +0 -70
  134. package/esm2015/extensions/lib/components/extensible-table/extensible-table.component.js +0 -134
  135. package/esm2015/extensions/lib/components/grid-actions/grid-actions.component.js +0 -45
  136. package/esm2015/extensions/lib/components/page-toolbar/page-toolbar.component.js +0 -46
  137. package/esm2015/extensions/lib/models/entity-props.js +0 -34
  138. package/esm2015/lib/components/breadcrumb/breadcrumb.component.js +0 -49
  139. package/esm2015/lib/components/breadcrumb-items/breadcrumb-items.component.js +0 -22
  140. package/esm2015/lib/components/button/button.component.js +0 -98
  141. package/esm2015/lib/components/confirmation/confirmation.component.js +0 -40
  142. package/esm2015/lib/components/http-error-wrapper/http-error-wrapper.component.js +0 -65
  143. package/esm2015/lib/components/modal/modal.component.js +0 -188
  144. package/esm2015/lib/components/toast/toast.component.js +0 -61
  145. package/esm2015/lib/components/toast-container/toast-container.component.js +0 -49
  146. package/esm2015/lib/directives/loading.directive.js +0 -90
  147. package/esm2015/lib/handlers/document-dir.handler.js +0 -33
  148. package/esm2015/lib/handlers/error.handler.js +0 -292
  149. package/esm2015/lib/models/index.js +0 -6
  150. package/esm2015/lib/models/nav-item.js +0 -7
  151. package/esm2015/lib/services/nav-items.service.js +0 -51
  152. package/esm2015/lib/services/page-alert.service.js +0 -26
  153. package/esm2015/lib/services/toaster.service.js +0 -103
  154. package/esm2015/lib/theme-shared.module.js +0 -165
  155. package/esm2015/lib/tokens/http-error.token.js +0 -10
  156. package/esm2015/testing/lib/theme-shared-testing.module.js +0 -43
  157. package/fesm2015/abp-ng.theme.shared-extensions.js.map +0 -1
  158. package/fesm2015/abp-ng.theme.shared-testing.js.map +0 -1
  159. package/fesm2015/abp-ng.theme.shared.js.map +0 -1
@@ -74,9 +74,9 @@ export class NgxDatatableListDirective {
74
74
  this.subscribeToSort();
75
75
  }
76
76
  }
77
- NgxDatatableListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NgxDatatableListDirective, deps: [{ token: i1.DatatableComponent }, { token: i0.ChangeDetectorRef }, { token: i2.LocalizationService }, { token: NGX_DATATABLE_MESSAGES, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
78
- NgxDatatableListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: { list: "list" }, exportAs: ["ngxDatatableList"], usesOnChanges: true, ngImport: i0 });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NgxDatatableListDirective, decorators: [{
77
+ NgxDatatableListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxDatatableListDirective, deps: [{ token: i1.DatatableComponent }, { token: i0.ChangeDetectorRef }, { token: i2.LocalizationService }, { token: NGX_DATATABLE_MESSAGES, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
78
+ NgxDatatableListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: { list: "list" }, exportAs: ["ngxDatatableList"], usesOnChanges: true, ngImport: i0 });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxDatatableListDirective, decorators: [{
80
80
  type: Directive,
81
81
  args: [{
82
82
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -91,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
91
91
  }] }]; }, propDecorators: { list: [{
92
92
  type: Input
93
93
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRhdGF0YWJsZS1saXN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2RpcmVjdGl2ZXMvbmd4LWRhdGF0YWJsZS1saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBSUwsUUFBUSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixzQkFBc0IsR0FDdkIsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQU9oRCxNQUFNLE9BQU8seUJBQXlCO0lBTXBDLFlBQ1UsS0FBeUIsRUFDekIsS0FBd0IsRUFDeEIsbUJBQXdDLEVBQ0ksb0JBQTBDO1FBSHRGLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBQ3pCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDSSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBVHhGLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBVTdDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztR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Q0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDOzt1SEEvRVUseUJBQXlCLHdIQVVkLHNCQUFzQjsyR0FWakMseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBTHJDLFNBQVM7bUJBQUM7b0JBQ1QsOERBQThEO29CQUM5RCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsa0JBQWtCO2lCQUM3Qjs7MEJBV0ksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQkFBc0I7NENBTm5DLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RTZXJ2aWNlLCBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBEaXJlY3RpdmUsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGF0YWJsZUNvbXBvbmVudCB9IGZyb20gJ0Bzd2ltbGFuZS9uZ3gtZGF0YXRhYmxlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgZGVmYXVsdE5neERhdGF0YWJsZU1lc3NhZ2VzLFxyXG4gIE5neERhdGF0YWJsZU1lc3NhZ2VzLFxyXG4gIE5HWF9EQVRBVEFCTEVfTUVTU0FHRVMsXHJcbn0gZnJvbSAnLi4vdG9rZW5zL25neC1kYXRhdGFibGUtbWVzc2FnZXMudG9rZW4nO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ25neC1kYXRhdGFibGVbbGlzdF0nLFxyXG4gIGV4cG9ydEFzOiAnbmd4RGF0YXRhYmxlTGlzdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3hEYXRhdGFibGVMaXN0RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgcHJpdmF0ZSBxdWVyeVN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgQElucHV0KCkgbGlzdCE6IExpc3RTZXJ2aWNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdGFibGU6IERhdGF0YWJsZUNvbXBvbmVudCxcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBsb2NhbGl6YXRpb25TZXJ2aWNlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChOR1hfREFUQVRBQkxFX01FU1NBR0VTKSBwcml2YXRlIG5neERhdGF0YWJsZU1lc3NhZ2VzOiBOZ3hEYXRhdGFibGVNZXNzYWdlcyxcclxuICApIHtcclxuICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRJbml0aWFsVmFsdWVzKCkge1xyXG4gICAgdGhpcy50YWJsZS5leHRlcm5hbFBhZ2luZyA9IHRydWU7XHJcbiAgICB0aGlzLnRhYmxlLmV4dGVybmFsU29ydGluZyA9IHRydWU7XHJcblxyXG4gICAgY29uc3QgeyBlbXB0eU1lc3NhZ2UsIHNlbGVjdGVkTWVzc2FnZSwgdG90YWxNZXNzYWdlIH0gPVxyXG4gICAgICB0aGlzLm5neERhdGF0YWJsZU1lc3NhZ2VzIHx8IGRlZmF1bHROZ3hEYXRhdGFibGVNZXNzYWdlcztcclxuXHJcbiAgICB0aGlzLnRhYmxlLm1lc3NhZ2VzID0ge1xyXG4gICAgICBlbXB0eU1lc3NhZ2U6IHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KGVtcHR5TWVzc2FnZSksXHJcbiAgICAgIHRvdGFsTWVzc2FnZTogdGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLmluc3RhbnQodG90YWxNZXNzYWdlKSxcclxuICAgICAgc2VsZWN0ZWRNZXNzYWdlOiB0aGlzLmxvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChzZWxlY3RlZE1lc3NhZ2UpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9QYWdlKCkge1xyXG4gICAgY29uc3Qgc3ViID0gdGhpcy50YWJsZS5wYWdlLnN1YnNjcmliZSgoeyBvZmZzZXQgfSkgPT4ge1xyXG4gICAgICB0aGlzLmxpc3QucGFnZSA9IG9mZnNldDtcclxuICAgICAgdGhpcy50YWJsZS5vZmZzZXQgPSBvZmZzZXQ7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChzdWIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb1NvcnQoKSB7XHJcbiAgICBjb25zdCBzdWIgPSB0aGlzLnRhYmxlLnNvcnQuc3Vic2NyaWJlKCh7IHNvcnRzOiBbeyBwcm9wLCBkaXIgfV0gfSkgPT4ge1xyXG4gICAgICBpZiAocHJvcCA9PT0gdGhpcy5saXN0LnNvcnRLZXkgJiYgdGhpcy5saXN0LnNvcnRPcmRlciA9PT0gJ2Rlc2MnKSB7XHJcbiAgICAgICAgdGhpcy5saXN0LnNvcnRLZXkgPSAnJztcclxuICAgICAgICB0aGlzLmxpc3Quc29ydE9yZGVyID0gJyc7XHJcbiAgICAgICAgdGhpcy50YWJsZS5zb3J0cyA9IFtdO1xyXG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubGlzdC5zb3J0S2V5ID0gcHJvcDtcclxuICAgICAgICB0aGlzLmxpc3Quc29ydE9yZGVyID0gZGlyO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChzdWIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb1F1ZXJ5KCkge1xyXG4gICAgaWYgKCF0aGlzLnF1ZXJ5U3Vic2NyaXB0aW9uLmNsb3NlZCkgdGhpcy5xdWVyeVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMucXVlcnlTdWJzY3JpcHRpb24gPSB0aGlzLmxpc3QucXVlcnkkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMubGlzdC5wYWdlO1xyXG4gICAgICBpZiAodGhpcy50YWJsZS5vZmZzZXQgIT09IG9mZnNldCkgdGhpcy50YWJsZS5vZmZzZXQgPSBvZmZzZXQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKHsgbGlzdCB9OiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICB0aGlzLnN1YnNjcmliZVRvUXVlcnkoKTtcclxuXHJcbiAgICBpZiAoIWxpc3QuZmlyc3RDaGFuZ2UpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB7IG1heFJlc3VsdENvdW50LCBwYWdlIH0gPSBsaXN0LmN1cnJlbnRWYWx1ZTtcclxuICAgIHRoaXMudGFibGUubGltaXQgPSBtYXhSZXN1bHRDb3VudDtcclxuICAgIHRoaXMudGFibGUub2Zmc2V0ID0gcGFnZTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMucXVlcnlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpYmVUb1BhZ2UoKTtcclxuICAgIHRoaXMuc3Vic2NyaWJlVG9Tb3J0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRhdGF0YWJsZS1saXN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2RpcmVjdGl2ZXMvbmd4LWRhdGF0YWJsZS1saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBSUwsUUFBUSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixzQkFBc0IsR0FDdkIsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQU9oRCxNQUFNLE9BQU8seUJBQXlCO0lBTXBDLFlBQ1UsS0FBeUIsRUFDekIsS0FBd0IsRUFDeEIsbUJBQXdDLEVBQ0ksb0JBQTBDO1FBSHRGLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBQ3pCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDSSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBVHhGLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBVTdDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztR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Q0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDOztzSEEvRVUseUJBQXlCLHdIQVVkLHNCQUFzQjswR0FWakMseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBTHJDLFNBQVM7bUJBQUM7b0JBQ1QsOERBQThEO29CQUM5RCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsa0JBQWtCO2lCQUM3Qjs7MEJBV0ksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQkFBc0I7NENBTm5DLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RTZXJ2aWNlLCBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBEaXJlY3RpdmUsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGF0YWJsZUNvbXBvbmVudCB9IGZyb20gJ0Bzd2ltbGFuZS9uZ3gtZGF0YXRhYmxlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgZGVmYXVsdE5neERhdGF0YWJsZU1lc3NhZ2VzLFxyXG4gIE5neERhdGF0YWJsZU1lc3NhZ2VzLFxyXG4gIE5HWF9EQVRBVEFCTEVfTUVTU0FHRVMsXHJcbn0gZnJvbSAnLi4vdG9rZW5zL25neC1kYXRhdGFibGUtbWVzc2FnZXMudG9rZW4nO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ25neC1kYXRhdGFibGVbbGlzdF0nLFxyXG4gIGV4cG9ydEFzOiAnbmd4RGF0YXRhYmxlTGlzdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3hEYXRhdGFibGVMaXN0RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgcHJpdmF0ZSBxdWVyeVN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgQElucHV0KCkgbGlzdCE6IExpc3RTZXJ2aWNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdGFibGU6IERhdGF0YWJsZUNvbXBvbmVudCxcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBsb2NhbGl6YXRpb25TZXJ2aWNlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChOR1hfREFUQVRBQkxFX01FU1NBR0VTKSBwcml2YXRlIG5neERhdGF0YWJsZU1lc3NhZ2VzOiBOZ3hEYXRhdGFibGVNZXNzYWdlcyxcclxuICApIHtcclxuICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRJbml0aWFsVmFsdWVzKCkge1xyXG4gICAgdGhpcy50YWJsZS5leHRlcm5hbFBhZ2luZyA9IHRydWU7XHJcbiAgICB0aGlzLnRhYmxlLmV4dGVybmFsU29ydGluZyA9IHRydWU7XHJcblxyXG4gICAgY29uc3QgeyBlbXB0eU1lc3NhZ2UsIHNlbGVjdGVkTWVzc2FnZSwgdG90YWxNZXNzYWdlIH0gPVxyXG4gICAgICB0aGlzLm5neERhdGF0YWJsZU1lc3NhZ2VzIHx8IGRlZmF1bHROZ3hEYXRhdGFibGVNZXNzYWdlcztcclxuXHJcbiAgICB0aGlzLnRhYmxlLm1lc3NhZ2VzID0ge1xyXG4gICAgICBlbXB0eU1lc3NhZ2U6IHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KGVtcHR5TWVzc2FnZSksXHJcbiAgICAgIHRvdGFsTWVzc2FnZTogdGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLmluc3RhbnQodG90YWxNZXNzYWdlKSxcclxuICAgICAgc2VsZWN0ZWRNZXNzYWdlOiB0aGlzLmxvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChzZWxlY3RlZE1lc3NhZ2UpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9QYWdlKCkge1xyXG4gICAgY29uc3Qgc3ViID0gdGhpcy50YWJsZS5wYWdlLnN1YnNjcmliZSgoeyBvZmZzZXQgfSkgPT4ge1xyXG4gICAgICB0aGlzLmxpc3QucGFnZSA9IG9mZnNldDtcclxuICAgICAgdGhpcy50YWJsZS5vZmZzZXQgPSBvZmZzZXQ7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChzdWIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb1NvcnQoKSB7XHJcbiAgICBjb25zdCBzdWIgPSB0aGlzLnRhYmxlLnNvcnQuc3Vic2NyaWJlKCh7IHNvcnRzOiBbeyBwcm9wLCBkaXIgfV0gfSkgPT4ge1xyXG4gICAgICBpZiAocHJvcCA9PT0gdGhpcy5saXN0LnNvcnRLZXkgJiYgdGhpcy5saXN0LnNvcnRPcmRlciA9PT0gJ2Rlc2MnKSB7XHJcbiAgICAgICAgdGhpcy5saXN0LnNvcnRLZXkgPSAnJztcclxuICAgICAgICB0aGlzLmxpc3Quc29ydE9yZGVyID0gJyc7XHJcbiAgICAgICAgdGhpcy50YWJsZS5zb3J0cyA9IFtdO1xyXG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubGlzdC5zb3J0S2V5ID0gcHJvcDtcclxuICAgICAgICB0aGlzLmxpc3Quc29ydE9yZGVyID0gZGlyO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChzdWIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb1F1ZXJ5KCkge1xyXG4gICAgaWYgKCF0aGlzLnF1ZXJ5U3Vic2NyaXB0aW9uLmNsb3NlZCkgdGhpcy5xdWVyeVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMucXVlcnlTdWJzY3JpcHRpb24gPSB0aGlzLmxpc3QucXVlcnkkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMubGlzdC5wYWdlO1xyXG4gICAgICBpZiAodGhpcy50YWJsZS5vZmZzZXQgIT09IG9mZnNldCkgdGhpcy50YWJsZS5vZmZzZXQgPSBvZmZzZXQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKHsgbGlzdCB9OiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICB0aGlzLnN1YnNjcmliZVRvUXVlcnkoKTtcclxuXHJcbiAgICBpZiAoIWxpc3QuZmlyc3RDaGFuZ2UpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB7IG1heFJlc3VsdENvdW50LCBwYWdlIH0gPSBsaXN0LmN1cnJlbnRWYWx1ZTtcclxuICAgIHRoaXMudGFibGUubGltaXQgPSBtYXhSZXN1bHRDb3VudDtcclxuICAgIHRoaXMudGFibGUub2Zmc2V0ID0gcGFnZTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMucXVlcnlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpYmVUb1BhZ2UoKTtcclxuICAgIHRoaXMuc3Vic2NyaWJlVG9Tb3J0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { getLocaleDirection, LocalizationService } from '@abp/ng.core';
2
+ import { Injectable, Injector } from '@angular/core';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { map } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ export class DocumentDirHandlerService {
7
+ constructor(injector) {
8
+ this.injector = injector;
9
+ this.dir = new BehaviorSubject('ltr');
10
+ this.dir$ = this.dir.asObservable();
11
+ this.listenToLanguageChanges();
12
+ }
13
+ listenToLanguageChanges() {
14
+ const l10n = this.injector.get(LocalizationService);
15
+ // will always listen, no need to unsubscribe
16
+ l10n.currentLang$.pipe(map(locale => getLocaleDirection(locale))).subscribe(dir => {
17
+ this.dir.next(dir);
18
+ this.setBodyDir(dir);
19
+ });
20
+ }
21
+ setBodyDir(dir) {
22
+ document.body.dir = dir;
23
+ document.dir = dir;
24
+ }
25
+ }
26
+ DocumentDirHandlerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DocumentDirHandlerService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
27
+ DocumentDirHandlerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DocumentDirHandlerService });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DocumentDirHandlerService, decorators: [{
29
+ type: Injectable
30
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZGlyLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9oYW5kbGVycy9kb2N1bWVudC1kaXIuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSXJDLE1BQU0sT0FBTyx5QkFBeUI7SUFHcEMsWUFBc0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUZoQyxRQUFHLEdBQUcsSUFBSSxlQUFlLENBQWtCLEtBQUssQ0FBQyxDQUFDO1FBQzFELFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTdCLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNwRCw2Q0FBNkM7UUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoRixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFVBQVUsQ0FBQyxHQUFvQjtRQUNyQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDeEIsUUFBUSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDckIsQ0FBQzs7c0hBbkJVLHlCQUF5QjswSEFBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRMb2NhbGVEaXJlY3Rpb24sIExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBMb2NhbGVEaXJlY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMvY29tbW9uJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERvY3VtZW50RGlySGFuZGxlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgZGlyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMb2NhbGVEaXJlY3Rpb24+KCdsdHInKTtcclxuICBkaXIkID0gdGhpcy5kaXIuYXNPYnNlcnZhYmxlKCk7XHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgdGhpcy5saXN0ZW5Ub0xhbmd1YWdlQ2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsaXN0ZW5Ub0xhbmd1YWdlQ2hhbmdlcygpIHtcclxuICAgIGNvbnN0IGwxMG4gPSB0aGlzLmluamVjdG9yLmdldChMb2NhbGl6YXRpb25TZXJ2aWNlKTtcclxuICAgIC8vIHdpbGwgYWx3YXlzIGxpc3Rlbiwgbm8gbmVlZCB0byB1bnN1YnNjcmliZVxyXG4gICAgbDEwbi5jdXJyZW50TGFuZyQucGlwZShtYXAobG9jYWxlID0+IGdldExvY2FsZURpcmVjdGlvbihsb2NhbGUpKSkuc3Vic2NyaWJlKGRpciA9PiB7XHJcbiAgICAgIHRoaXMuZGlyLm5leHQoZGlyKTtcclxuICAgICAgdGhpcy5zZXRCb2R5RGlyKGRpcik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Qm9keURpcihkaXI6IExvY2FsZURpcmVjdGlvbikge1xyXG4gICAgZG9jdW1lbnQuYm9keS5kaXIgPSBkaXI7XHJcbiAgICBkb2N1bWVudC5kaXIgPSBkaXI7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,286 @@
1
+ import { AuthService, HttpErrorReporterService, RouterEvents, } from '@abp/ng.core';
2
+ import { HttpErrorResponse } from '@angular/common/http';
3
+ import { ApplicationRef, ComponentFactoryResolver, Injectable, Injector, RendererFactory2, } from '@angular/core';
4
+ import { ResolveEnd } from '@angular/router';
5
+ import { Observable, of, Subject, throwError } from 'rxjs';
6
+ import { catchError, filter, switchMap } from 'rxjs/operators';
7
+ import { HttpErrorWrapperComponent } from '../components/http-error-wrapper/http-error-wrapper.component';
8
+ import { ConfirmationService } from '../services/confirmation.service';
9
+ import { HTTP_ERROR_HANDLER } from '../tokens/http-error.token';
10
+ import * as i0 from "@angular/core";
11
+ export const DEFAULT_ERROR_MESSAGES = {
12
+ defaultError: {
13
+ title: 'An error has occurred!',
14
+ details: 'Error detail not sent by server.',
15
+ },
16
+ defaultError401: {
17
+ title: 'You are not authenticated!',
18
+ details: 'You should be authenticated (sign in) in order to perform this operation.',
19
+ },
20
+ defaultError403: {
21
+ title: 'You are not authorized!',
22
+ details: 'You are not allowed to perform this operation.',
23
+ },
24
+ defaultError404: {
25
+ title: 'Resource not found!',
26
+ details: 'The resource requested could not found on the server.',
27
+ },
28
+ defaultError500: {
29
+ title: 'Internal server error',
30
+ details: 'Error detail not sent by server.',
31
+ },
32
+ };
33
+ export const DEFAULT_ERROR_LOCALIZATIONS = {
34
+ defaultError: {
35
+ title: 'AbpUi::DefaultErrorMessage',
36
+ details: 'AbpUi::DefaultErrorMessageDetail',
37
+ },
38
+ defaultError401: {
39
+ title: 'AbpUi::DefaultErrorMessage401',
40
+ details: 'AbpUi::DefaultErrorMessage401Detail',
41
+ },
42
+ defaultError403: {
43
+ title: 'AbpUi::DefaultErrorMessage403',
44
+ details: 'AbpUi::DefaultErrorMessage403Detail',
45
+ },
46
+ defaultError404: {
47
+ title: 'AbpUi::DefaultErrorMessage404',
48
+ details: 'AbpUi::DefaultErrorMessage404Detail',
49
+ },
50
+ defaultError500: {
51
+ title: 'AbpUi::500Message',
52
+ details: 'AbpUi::DefaultErrorMessage',
53
+ },
54
+ };
55
+ export class ErrorHandler {
56
+ constructor(injector) {
57
+ this.injector = injector;
58
+ this.componentRef = null;
59
+ this.httpErrorHandler = this.injector.get(HTTP_ERROR_HANDLER, (_, err) => throwError(err));
60
+ this.executeErrorHandler = (error) => {
61
+ const returnValue = this.httpErrorHandler(this.injector, error);
62
+ return (returnValue instanceof Observable ? returnValue : of(null)).pipe(catchError(err => {
63
+ this.handleError(err);
64
+ return of(null);
65
+ }));
66
+ };
67
+ this.filterRestErrors = ({ status }) => {
68
+ if (typeof status !== 'number')
69
+ return false;
70
+ return (!!this.httpErrorConfig.skipHandledErrorCodes &&
71
+ this.httpErrorConfig.skipHandledErrorCodes.findIndex(code => code === status) < 0);
72
+ };
73
+ this.filterRouteErrors = (navigationError) => {
74
+ return (navigationError.error?.message?.indexOf('Cannot match') > -1 &&
75
+ !!this.httpErrorConfig.skipHandledErrorCodes &&
76
+ this.httpErrorConfig.skipHandledErrorCodes.findIndex(code => code === 404) < 0);
77
+ };
78
+ this.httpErrorReporter = injector.get(HttpErrorReporterService);
79
+ this.routerEvents = injector.get(RouterEvents);
80
+ this.confirmationService = injector.get(ConfirmationService);
81
+ this.cfRes = injector.get(ComponentFactoryResolver);
82
+ this.rendererFactory = injector.get(RendererFactory2);
83
+ this.httpErrorConfig = injector.get('HTTP_ERROR_CONFIG');
84
+ this.listenToRestError();
85
+ this.listenToRouterError();
86
+ this.listenToRouterDataResolved();
87
+ }
88
+ listenToRouterError() {
89
+ this.routerEvents
90
+ .getNavigationEvents('Error')
91
+ .pipe(filter(this.filterRouteErrors))
92
+ .subscribe(() => this.show404Page());
93
+ }
94
+ listenToRouterDataResolved() {
95
+ this.routerEvents
96
+ .getEvents(ResolveEnd)
97
+ .pipe(filter(() => !!this.componentRef))
98
+ .subscribe(() => {
99
+ this.componentRef?.destroy();
100
+ this.componentRef = null;
101
+ });
102
+ }
103
+ listenToRestError() {
104
+ this.httpErrorReporter.reporter$
105
+ .pipe(filter(this.filterRestErrors), switchMap(this.executeErrorHandler))
106
+ .subscribe();
107
+ }
108
+ handleError(err) {
109
+ const body = err?.error?.error || {
110
+ key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title,
111
+ defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title,
112
+ };
113
+ if (err instanceof HttpErrorResponse && err.headers.get('_AbpErrorFormat')) {
114
+ const confirmation$ = this.showErrorWithRequestBody(body);
115
+ if (err.status === 401) {
116
+ confirmation$.subscribe(() => {
117
+ this.navigateToLogin();
118
+ });
119
+ }
120
+ }
121
+ else {
122
+ switch (err.status) {
123
+ case 401:
124
+ this.canCreateCustomError(401)
125
+ ? this.show401Page()
126
+ : this.showError({
127
+ key: DEFAULT_ERROR_LOCALIZATIONS.defaultError401.title,
128
+ defaultValue: DEFAULT_ERROR_MESSAGES.defaultError401.title,
129
+ }, {
130
+ key: DEFAULT_ERROR_LOCALIZATIONS.defaultError401.details,
131
+ defaultValue: DEFAULT_ERROR_MESSAGES.defaultError401.details,
132
+ }).subscribe(() => this.navigateToLogin());
133
+ break;
134
+ case 403:
135
+ this.createErrorComponent({
136
+ title: {
137
+ key: DEFAULT_ERROR_LOCALIZATIONS.defaultError403.title,
138
+ defaultValue: DEFAULT_ERROR_MESSAGES.defaultError403.title,
139
+ },
140
+ details: {
141
+ key: DEFAULT_ERROR_LOCALIZATIONS.defaultError403.details,
142
+ defaultValue: DEFAULT_ERROR_MESSAGES.defaultError403.details,
143
+ },
144
+ status: 403,
145
+ });
146
+ break;
147
+ case 404:
148
+ this.canCreateCustomError(404)
149
+ ? this.show404Page()
150
+ : this.showError({
151
+ key: DEFAULT_ERROR_LOCALIZATIONS.defaultError404.details,
152
+ defaultValue: DEFAULT_ERROR_MESSAGES.defaultError404.details,
153
+ }, {
154
+ key: DEFAULT_ERROR_LOCALIZATIONS.defaultError404.title,
155
+ defaultValue: DEFAULT_ERROR_MESSAGES.defaultError404.title,
156
+ });
157
+ break;
158
+ case 500:
159
+ this.createErrorComponent({
160
+ title: {
161
+ key: DEFAULT_ERROR_LOCALIZATIONS.defaultError500.title,
162
+ defaultValue: DEFAULT_ERROR_MESSAGES.defaultError500.title,
163
+ },
164
+ details: {
165
+ key: DEFAULT_ERROR_LOCALIZATIONS.defaultError500.details,
166
+ defaultValue: DEFAULT_ERROR_MESSAGES.defaultError500.details,
167
+ },
168
+ status: 500,
169
+ });
170
+ break;
171
+ case 0:
172
+ if (err.statusText === 'Unknown Error') {
173
+ this.createErrorComponent({
174
+ title: {
175
+ key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title,
176
+ defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title,
177
+ },
178
+ details: err.message,
179
+ isHomeShow: false,
180
+ });
181
+ }
182
+ break;
183
+ default:
184
+ this.showError({
185
+ key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.details,
186
+ defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.details,
187
+ }, {
188
+ key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title,
189
+ defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title,
190
+ });
191
+ break;
192
+ }
193
+ }
194
+ }
195
+ show401Page() {
196
+ this.createErrorComponent({
197
+ title: {
198
+ key: DEFAULT_ERROR_LOCALIZATIONS.defaultError401.title,
199
+ defaultValue: DEFAULT_ERROR_MESSAGES.defaultError401.title,
200
+ },
201
+ status: 401,
202
+ });
203
+ }
204
+ show404Page() {
205
+ this.createErrorComponent({
206
+ title: {
207
+ key: DEFAULT_ERROR_LOCALIZATIONS.defaultError404.title,
208
+ defaultValue: DEFAULT_ERROR_MESSAGES.defaultError404.title,
209
+ },
210
+ status: 404,
211
+ });
212
+ }
213
+ showErrorWithRequestBody(body) {
214
+ let message;
215
+ let title;
216
+ if (body.details) {
217
+ message = body.details;
218
+ title = body.message;
219
+ }
220
+ else if (body.message) {
221
+ title = {
222
+ key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title,
223
+ defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title,
224
+ };
225
+ message = body.message;
226
+ }
227
+ else {
228
+ message = body.message || {
229
+ key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title,
230
+ defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title,
231
+ };
232
+ title = '';
233
+ }
234
+ return this.showError(message, title);
235
+ }
236
+ showError(message, title) {
237
+ return this.confirmationService.error(message, title, {
238
+ hideCancelBtn: true,
239
+ yesText: 'AbpAccount::Close',
240
+ });
241
+ }
242
+ navigateToLogin() {
243
+ this.injector.get(AuthService).navigateToLogin();
244
+ }
245
+ createErrorComponent(instance) {
246
+ const renderer = this.rendererFactory.createRenderer(null, null);
247
+ const host = renderer.selectRootElement(document.body, true);
248
+ this.componentRef = this.cfRes
249
+ .resolveComponentFactory(HttpErrorWrapperComponent)
250
+ .create(this.injector);
251
+ for (const key in instance) {
252
+ /* istanbul ignore else */
253
+ if (Object.prototype.hasOwnProperty.call(this.componentRef.instance, key)) {
254
+ this.componentRef.instance[key] = instance[key];
255
+ }
256
+ }
257
+ this.componentRef.instance.hideCloseIcon = !!this.httpErrorConfig.errorScreen?.hideCloseIcon;
258
+ const appRef = this.injector.get(ApplicationRef);
259
+ if (this.canCreateCustomError(instance.status)) {
260
+ this.componentRef.instance.cfRes = this.cfRes;
261
+ this.componentRef.instance.appRef = appRef;
262
+ this.componentRef.instance.injector = this.injector;
263
+ this.componentRef.instance.customComponent = this.httpErrorConfig.errorScreen?.component;
264
+ }
265
+ appRef.attachView(this.componentRef.hostView);
266
+ renderer.appendChild(host, this.componentRef.hostView.rootNodes[0]);
267
+ const destroy$ = new Subject();
268
+ this.componentRef.instance.destroy$ = destroy$;
269
+ destroy$.subscribe(() => {
270
+ this.componentRef?.destroy();
271
+ this.componentRef = null;
272
+ });
273
+ }
274
+ canCreateCustomError(status) {
275
+ return !!(this.httpErrorConfig?.errorScreen?.component &&
276
+ this.httpErrorConfig?.errorScreen?.forWhichErrors &&
277
+ this.httpErrorConfig?.errorScreen?.forWhichErrors.indexOf(status) > -1);
278
+ }
279
+ }
280
+ ErrorHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ErrorHandler, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
281
+ ErrorHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ErrorHandler, providedIn: 'root' });
282
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ErrorHandler, decorators: [{
283
+ type: Injectable,
284
+ args: [{ providedIn: 'root' }]
285
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2hhbmRsZXJzL2Vycm9yLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCx3QkFBd0IsRUFFeEIsWUFBWSxHQUNiLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFDTCxjQUFjLEVBQ2Qsd0JBQXdCLEVBR3hCLFVBQVUsRUFDVixRQUFRLEVBQ1IsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBbUIsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUcxRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFaEUsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsWUFBWSxFQUFFO1FBQ1osS0FBSyxFQUFFLHdCQUF3QjtRQUMvQixPQUFPLEVBQUUsa0NBQWtDO0tBQzVDO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsS0FBSyxFQUFFLDRCQUE0QjtRQUNuQyxPQUFPLEVBQUUsMkVBQTJFO0tBQ3JGO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsS0FBSyxFQUFFLHlCQUF5QjtRQUNoQyxPQUFPLEVBQUUsZ0RBQWdEO0tBQzFEO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsS0FBSyxFQUFFLHFCQUFxQjtRQUM1QixPQUFPLEVBQUUsdURBQXVEO0tBQ2pFO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsS0FBSyxFQUFFLHVCQUF1QjtRQUM5QixPQUFPLEVBQUUsa0NBQWtDO0tBQzVDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHO0lBQ3pDLFlBQVksRUFBRTtRQUNaLEtBQUssRUFBRSw0QkFBNEI7UUFDbkMsT0FBTyxFQUFFLGtDQUFrQztLQUM1QztJQUNELGVBQWUsRUFBRTtRQUNmLEtBQUssRUFBRSwrQkFBK0I7UUFDdEMsT0FBTyxFQUFFLHFDQUFxQztLQUMvQztJQUNELGVBQWUsRUFBRTtRQUNmLEtBQUssRUFBRSwrQkFBK0I7UUFDdEMsT0FBTyxFQUFFLHFDQUFxQztLQUMvQztJQUNELGVBQWUsRUFBRTtRQUNmLEtBQUssRUFBRSwrQkFBK0I7UUFDdEMsT0FBTyxFQUFFLHFDQUFxQztLQUMvQztJQUNELGVBQWUsRUFBRTtRQUNmLEtBQUssRUFBRSxtQkFBbUI7UUFDMUIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztDQUNGLENBQUM7QUFHRixNQUFNLE9BQU8sWUFBWTtJQWN2QixZQUFzQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBYnhDLGlCQUFZLEdBQW1ELElBQUksQ0FBQztRQUUxRCxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFzQixFQUFFLEVBQUUsQ0FDL0YsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUNoQixDQUFDO1FBNkNNLHdCQUFtQixHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDM0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFaEUsT0FBTyxDQUFDLFdBQVcsWUFBWSxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN0RSxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdEIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQztRQTBNUSxxQkFBZ0IsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFxQixFQUFXLEVBQUU7WUFDdEUsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRO2dCQUFFLE9BQU8sS0FBSyxDQUFDO1lBRTdDLE9BQU8sQ0FDTCxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUI7Z0JBQzVDLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FDbEYsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUVRLHNCQUFpQixHQUFHLENBQUMsZUFBZ0MsRUFBVyxFQUFFO1lBQzFFLE9BQU8sQ0FDTCxlQUFlLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1RCxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUI7Z0JBQzVDLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FDL0UsQ0FBQztRQUNKLENBQUMsQ0FBQztRQXJRQSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRXpELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsSUFBSSxDQUFDLFlBQVk7YUFDZCxtQkFBbUIsQ0FBQyxPQUFPLENBQUM7YUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVTLDBCQUEwQjtRQUNsQyxJQUFJLENBQUMsWUFBWTthQUNkLFNBQVMsQ0FBQyxVQUFVLENBQUM7YUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3ZDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVTLGlCQUFpQjtRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUzthQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUN4RSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBYU8sV0FBVyxDQUFDLEdBQVE7UUFDMUIsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLElBQUk7WUFDaEMsR0FBRyxFQUFFLDJCQUEyQixDQUFDLFlBQVksQ0FBQyxLQUFLO1lBQ25ELFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsS0FBSztTQUN4RCxDQUFDO1FBRUYsSUFBSSxHQUFHLFlBQVksaUJBQWlCLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUMxRSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFMUQsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDdEIsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQzNCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDekIsQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUNGO2FBQU07WUFDTCxRQUFRLEdBQUcsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2xCLEtBQUssR0FBRztvQkFDTixJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDO3dCQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTt3QkFDcEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQ1o7NEJBQ0UsR0FBRyxFQUFFLDJCQUEyQixDQUFDLGVBQWUsQ0FBQyxLQUFLOzRCQUN0RCxZQUFZLEVBQUUsc0JBQXNCLENBQUMsZUFBZSxDQUFDLEtBQUs7eUJBQzNELEVBQ0Q7NEJBQ0UsR0FBRyxFQUFFLDJCQUEyQixDQUFDLGVBQWUsQ0FBQyxPQUFPOzRCQUN4RCxZQUFZLEVBQUUsc0JBQXNCLENBQUMsZUFBZSxDQUFDLE9BQU87eUJBQzdELENBQ0YsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7b0JBQzlDLE1BQU07Z0JBQ1IsS0FBSyxHQUFHO29CQUNOLElBQUksQ0FBQyxvQkFBb0IsQ0FBQzt3QkFDeEIsS0FBSyxFQUFFOzRCQUNMLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxlQUFlLENBQUMsS0FBSzs0QkFDdEQsWUFBWSxFQUFFLHNCQUFzQixDQUFDLGVBQWUsQ0FBQyxLQUFLO3lCQUMzRDt3QkFDRCxPQUFPLEVBQUU7NEJBQ1AsR0FBRyxFQUFFLDJCQUEyQixDQUFDLGVBQWUsQ0FBQyxPQUFPOzRCQUN4RCxZQUFZLEVBQUUsc0JBQXNCLENBQUMsZUFBZSxDQUFDLE9BQU87eUJBQzdEO3dCQUNELE1BQU0sRUFBRSxHQUFHO3FCQUNaLENBQUMsQ0FBQztvQkFDSCxNQUFNO2dCQUNSLEtBQUssR0FBRztvQkFDTixJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDO3dCQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTt3QkFDcEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQ1o7NEJBQ0UsR0FBRyxFQUFFLDJCQUEyQixDQUFDLGVBQWUsQ0FBQyxPQUFPOzRCQUN4RCxZQUFZLEVBQUUsc0JBQXNCLENBQUMsZUFBZSxDQUFDLE9BQU87eUJBQzdELEVBQ0Q7NEJBQ0UsR0FBRyxFQUFFLDJCQUEyQixDQUFDLGVBQWUsQ0FBQyxLQUFLOzRCQUN0RCxZQUFZLEVBQUUsc0JBQXNCLENBQUMsZUFBZSxDQUFDLEtBQUs7eUJBQzNELENBQ0YsQ0FBQztvQkFDTixNQUFNO2dCQUNSLEtBQUssR0FBRztvQkFDTixJQUFJLENBQUMsb0JBQW9CLENBQUM7d0JBQ3hCLEtBQUssRUFBRTs0QkFDTCxHQUFHLEVBQUUsMkJBQTJCLENBQUMsZUFBZSxDQUFDLEtBQUs7NEJBQ3RELFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsS0FBSzt5QkFDM0Q7d0JBQ0QsT0FBTyxFQUFFOzRCQUNQLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxlQUFlLENBQUMsT0FBTzs0QkFDeEQsWUFBWSxFQUFFLHNCQUFzQixDQUFDLGVBQWUsQ0FBQyxPQUFPO3lCQUM3RDt3QkFDRCxNQUFNLEVBQUUsR0FBRztxQkFDWixDQUFDLENBQUM7b0JBQ0gsTUFBTTtnQkFDUixLQUFLLENBQUM7b0JBQ0osSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLGVBQWUsRUFBRTt3QkFDdEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDOzRCQUN4QixLQUFLLEVBQUU7Z0NBQ0wsR0FBRyxFQUFFLDJCQUEyQixDQUFDLFlBQVksQ0FBQyxLQUFLO2dDQUNuRCxZQUFZLEVBQUUsc0JBQXNCLENBQUMsWUFBWSxDQUFDLEtBQUs7NkJBQ3hEOzRCQUNELE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTzs0QkFDcEIsVUFBVSxFQUFFLEtBQUs7eUJBQ2xCLENBQUMsQ0FBQztxQkFDSjtvQkFDRCxNQUFNO2dCQUNSO29CQUNFLElBQUksQ0FBQyxTQUFTLENBQ1o7d0JBQ0UsR0FBRyxFQUFFLDJCQUEyQixDQUFDLFlBQVksQ0FBQyxPQUFPO3dCQUNyRCxZQUFZLEVBQUUsc0JBQXNCLENBQUMsWUFBWSxDQUFDLE9BQU87cUJBQzFELEVBQ0Q7d0JBQ0UsR0FBRyxFQUFFLDJCQUEyQixDQUFDLFlBQVksQ0FBQyxLQUFLO3dCQUNuRCxZQUFZLEVBQUUsc0JBQXNCLENBQUMsWUFBWSxDQUFDLEtBQUs7cUJBQ3hELENBQ0YsQ0FBQztvQkFDRixNQUFNO2FBQ1Q7U0FDRjtJQUNILENBQUM7SUFFUyxXQUFXO1FBQ25CLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztZQUN4QixLQUFLLEVBQUU7Z0JBQ0wsR0FBRyxFQUFFLDJCQUEyQixDQUFDLGVBQWUsQ0FBQyxLQUFLO2dCQUN0RCxZQUFZLEVBQUUsc0JBQXNCLENBQUMsZUFBZSxDQUFDLEtBQUs7YUFDM0Q7WUFDRCxNQUFNLEVBQUUsR0FBRztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxXQUFXO1FBQ25CLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztZQUN4QixLQUFLLEVBQUU7Z0JBQ0wsR0FBRyxFQUFFLDJCQUEyQixDQUFDLGVBQWUsQ0FBQyxLQUFLO2dCQUN0RCxZQUFZLEVBQUUsc0JBQXNCLENBQUMsZUFBZSxDQUFDLEtBQUs7YUFDM0Q7WUFDRCxNQUFNLEVBQUUsR0FBRztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyx3QkFBd0IsQ0FBQyxJQUFTO1FBQzFDLElBQUksT0FBMEIsQ0FBQztRQUMvQixJQUFJLEtBQXdCLENBQUM7UUFFN0IsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ3ZCLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ3RCO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLEtBQUssR0FBRztnQkFDTixHQUFHLEVBQUUsMkJBQTJCLENBQUMsWUFBWSxDQUFDLEtBQUs7Z0JBQ25ELFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsS0FBSzthQUN4RCxDQUFDO1lBQ0YsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDeEI7YUFBTTtZQUNMLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJO2dCQUN4QixHQUFHLEVBQUUsMkJBQTJCLENBQUMsWUFBWSxDQUFDLEtBQUs7Z0JBQ25ELFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsS0FBSzthQUN4RCxDQUFDO1lBQ0YsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUNaO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRVMsU0FBUyxDQUNqQixPQUEwQixFQUMxQixLQUF3QjtRQUV4QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRTtZQUNwRCxhQUFhLEVBQUUsSUFBSTtZQUNuQixPQUFPLEVBQUUsbUJBQW1CO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxRQUE0QztRQUMvRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakUsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFN0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSzthQUMzQix1QkFBdUIsQ0FBQyx5QkFBeUIsQ0FBQzthQUNsRCxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXpCLEtBQUssTUFBTSxHQUFHLElBQUksUUFBUSxFQUFFO1lBQzFCLDBCQUEwQjtZQUMxQixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDeEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFJLFFBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDbkU7U0FDRjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDO1FBQzdGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRWpELElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxNQUErQixDQUFDLEVBQUU7WUFDdkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUMzQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNwRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO1NBQzFGO1FBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBaUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5RixNQUFNLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDL0MsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUE2QjtRQUNoRCxPQUFPLENBQUMsQ0FBQyxDQUNQLElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLFNBQVM7WUFDNUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsY0FBYztZQUNqRCxJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUN2RSxDQUFDO0lBQ0osQ0FBQzs7eUdBblFVLFlBQVk7NkdBQVosWUFBWSxjQURDLE1BQU07MkZBQ25CLFlBQVk7a0JBRHhCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBdXRoU2VydmljZSxcclxuICBIdHRwRXJyb3JSZXBvcnRlclNlcnZpY2UsXHJcbiAgTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgUm91dGVyRXZlbnRzLFxyXG59IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge1xyXG4gIEFwcGxpY2F0aW9uUmVmLFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBDb21wb25lbnRSZWYsXHJcbiAgRW1iZWRkZWRWaWV3UmVmLFxyXG4gIEluamVjdGFibGUsXHJcbiAgSW5qZWN0b3IsXHJcbiAgUmVuZGVyZXJGYWN0b3J5MixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVycm9yLCBSZXNvbHZlRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEh0dHBFcnJvcldyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2h0dHAtZXJyb3Itd3JhcHBlci9odHRwLWVycm9yLXdyYXBwZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXJyb3JTY3JlZW5FcnJvckNvZGVzLCBIdHRwRXJyb3JDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29tbW9uJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpcm1hdGlvbic7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEhUVFBfRVJST1JfSEFORExFUiB9IGZyb20gJy4uL3Rva2Vucy9odHRwLWVycm9yLnRva2VuJztcclxuXHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX0VSUk9SX01FU1NBR0VTID0ge1xyXG4gIGRlZmF1bHRFcnJvcjoge1xyXG4gICAgdGl0bGU6ICdBbiBlcnJvciBoYXMgb2NjdXJyZWQhJyxcclxuICAgIGRldGFpbHM6ICdFcnJvciBkZXRhaWwgbm90IHNlbnQgYnkgc2VydmVyLicsXHJcbiAgfSxcclxuICBkZWZhdWx0RXJyb3I0MDE6IHtcclxuICAgIHRpdGxlOiAnWW91IGFyZSBub3QgYXV0aGVudGljYXRlZCEnLFxyXG4gICAgZGV0YWlsczogJ1lvdSBzaG91bGQgYmUgYXV0aGVudGljYXRlZCAoc2lnbiBpbikgaW4gb3JkZXIgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbi4nLFxyXG4gIH0sXHJcbiAgZGVmYXVsdEVycm9yNDAzOiB7XHJcbiAgICB0aXRsZTogJ1lvdSBhcmUgbm90IGF1dGhvcml6ZWQhJyxcclxuICAgIGRldGFpbHM6ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIHBlcmZvcm0gdGhpcyBvcGVyYXRpb24uJyxcclxuICB9LFxyXG4gIGRlZmF1bHRFcnJvcjQwNDoge1xyXG4gICAgdGl0bGU6ICdSZXNvdXJjZSBub3QgZm91bmQhJyxcclxuICAgIGRldGFpbHM6ICdUaGUgcmVzb3VyY2UgcmVxdWVzdGVkIGNvdWxkIG5vdCBmb3VuZCBvbiB0aGUgc2VydmVyLicsXHJcbiAgfSxcclxuICBkZWZhdWx0RXJyb3I1MDA6IHtcclxuICAgIHRpdGxlOiAnSW50ZXJuYWwgc2VydmVyIGVycm9yJyxcclxuICAgIGRldGFpbHM6ICdFcnJvciBkZXRhaWwgbm90IHNlbnQgYnkgc2VydmVyLicsXHJcbiAgfSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlMgPSB7XHJcbiAgZGVmYXVsdEVycm9yOiB7XHJcbiAgICB0aXRsZTogJ0FicFVpOjpEZWZhdWx0RXJyb3JNZXNzYWdlJyxcclxuICAgIGRldGFpbHM6ICdBYnBVaTo6RGVmYXVsdEVycm9yTWVzc2FnZURldGFpbCcsXHJcbiAgfSxcclxuICBkZWZhdWx0RXJyb3I0MDE6IHtcclxuICAgIHRpdGxlOiAnQWJwVWk6OkRlZmF1bHRFcnJvck1lc3NhZ2U0MDEnLFxyXG4gICAgZGV0YWlsczogJ0FicFVpOjpEZWZhdWx0RXJyb3JNZXNzYWdlNDAxRGV0YWlsJyxcclxuICB9LFxyXG4gIGRlZmF1bHRFcnJvcjQwMzoge1xyXG4gICAgdGl0bGU6ICdBYnBVaTo6RGVmYXVsdEVycm9yTWVzc2FnZTQwMycsXHJcbiAgICBkZXRhaWxzOiAnQWJwVWk6OkRlZmF1bHRFcnJvck1lc3NhZ2U0MDNEZXRhaWwnLFxyXG4gIH0sXHJcbiAgZGVmYXVsdEVycm9yNDA0OiB7XHJcbiAgICB0aXRsZTogJ0FicFVpOjpEZWZhdWx0RXJyb3JNZXNzYWdlNDA0JyxcclxuICAgIGRldGFpbHM6ICdBYnBVaTo6RGVmYXVsdEVycm9yTWVzc2FnZTQwNERldGFpbCcsXHJcbiAgfSxcclxuICBkZWZhdWx0RXJyb3I1MDA6IHtcclxuICAgIHRpdGxlOiAnQWJwVWk6OjUwME1lc3NhZ2UnLFxyXG4gICAgZGV0YWlsczogJ0FicFVpOjpEZWZhdWx0RXJyb3JNZXNzYWdlJyxcclxuICB9LFxyXG59O1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEVycm9ySGFuZGxlciB7XHJcbiAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8SHR0cEVycm9yV3JhcHBlckNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHJvdGVjdGVkIGh0dHBFcnJvckhhbmRsZXIgPSB0aGlzLmluamVjdG9yLmdldChIVFRQX0VSUk9SX0hBTkRMRVIsIChfLCBlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PlxyXG4gICAgdGhyb3dFcnJvcihlcnIpLFxyXG4gICk7XHJcblxyXG4gIHByb3RlY3RlZCBodHRwRXJyb3JSZXBvcnRlcjogSHR0cEVycm9yUmVwb3J0ZXJTZXJ2aWNlO1xyXG4gIHByb3RlY3RlZCByb3V0ZXJFdmVudHM6IFJvdXRlckV2ZW50cztcclxuICBwcm90ZWN0ZWQgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZTtcclxuICBwcm90ZWN0ZWQgY2ZSZXM6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjtcclxuICBwcm90ZWN0ZWQgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyO1xyXG4gIHByb3RlY3RlZCBodHRwRXJyb3JDb25maWc6IEh0dHBFcnJvckNvbmZpZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgdGhpcy5odHRwRXJyb3JSZXBvcnRlciA9IGluamVjdG9yLmdldChIdHRwRXJyb3JSZXBvcnRlclNlcnZpY2UpO1xyXG4gICAgdGhpcy5yb3V0ZXJFdmVudHMgPSBpbmplY3Rvci5nZXQoUm91dGVyRXZlbnRzKTtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZSA9IGluamVjdG9yLmdldChDb25maXJtYXRpb25TZXJ2aWNlKTtcclxuICAgIHRoaXMuY2ZSZXMgPSBpbmplY3Rvci5nZXQoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKTtcclxuICAgIHRoaXMucmVuZGVyZXJGYWN0b3J5ID0gaW5qZWN0b3IuZ2V0KFJlbmRlcmVyRmFjdG9yeTIpO1xyXG4gICAgdGhpcy5odHRwRXJyb3JDb25maWcgPSBpbmplY3Rvci5nZXQoJ0hUVFBfRVJST1JfQ09ORklHJyk7XHJcblxyXG4gICAgdGhpcy5saXN0ZW5Ub1Jlc3RFcnJvcigpO1xyXG4gICAgdGhpcy5saXN0ZW5Ub1JvdXRlckVycm9yKCk7XHJcbiAgICB0aGlzLmxpc3RlblRvUm91dGVyRGF0YVJlc29sdmVkKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgbGlzdGVuVG9Sb3V0ZXJFcnJvcigpIHtcclxuICAgIHRoaXMucm91dGVyRXZlbnRzXHJcbiAgICAgIC5nZXROYXZpZ2F0aW9uRXZlbnRzKCdFcnJvcicpXHJcbiAgICAgIC5waXBlKGZpbHRlcih0aGlzLmZpbHRlclJvdXRlRXJyb3JzKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNob3c0MDRQYWdlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGxpc3RlblRvUm91dGVyRGF0YVJlc29sdmVkKCkge1xyXG4gICAgdGhpcy5yb3V0ZXJFdmVudHNcclxuICAgICAgLmdldEV2ZW50cyhSZXNvbHZlRW5kKVxyXG4gICAgICAucGlwZShmaWx0ZXIoKCkgPT4gISF0aGlzLmNvbXBvbmVudFJlZikpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmPy5kZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBudWxsO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBsaXN0ZW5Ub1Jlc3RFcnJvcigpIHtcclxuICAgIHRoaXMuaHR0cEVycm9yUmVwb3J0ZXIucmVwb3J0ZXIkXHJcbiAgICAgIC5waXBlKGZpbHRlcih0aGlzLmZpbHRlclJlc3RFcnJvcnMpLCBzd2l0Y2hNYXAodGhpcy5leGVjdXRlRXJyb3JIYW5kbGVyKSlcclxuICAgICAgLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleGVjdXRlRXJyb3JIYW5kbGVyID0gKGVycm9yOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IHJldHVyblZhbHVlID0gdGhpcy5odHRwRXJyb3JIYW5kbGVyKHRoaXMuaW5qZWN0b3IsIGVycm9yKTtcclxuXHJcbiAgICByZXR1cm4gKHJldHVyblZhbHVlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSA/IHJldHVyblZhbHVlIDogb2YobnVsbCkpLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcclxuICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycik7XHJcbiAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xyXG4gICAgICB9KSxcclxuICAgICk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnI6IGFueSkge1xyXG4gICAgY29uc3QgYm9keSA9IGVycj8uZXJyb3I/LmVycm9yIHx8IHtcclxuICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlMuZGVmYXVsdEVycm9yLnRpdGxlLFxyXG4gICAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuZGVmYXVsdEVycm9yLnRpdGxlLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoZXJyIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgJiYgZXJyLmhlYWRlcnMuZ2V0KCdfQWJwRXJyb3JGb3JtYXQnKSkge1xyXG4gICAgICBjb25zdCBjb25maXJtYXRpb24kID0gdGhpcy5zaG93RXJyb3JXaXRoUmVxdWVzdEJvZHkoYm9keSk7XHJcblxyXG4gICAgICBpZiAoZXJyLnN0YXR1cyA9PT0gNDAxKSB7XHJcbiAgICAgICAgY29uZmlybWF0aW9uJC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvTG9naW4oKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3dpdGNoIChlcnIuc3RhdHVzKSB7XHJcbiAgICAgICAgY2FzZSA0MDE6XHJcbiAgICAgICAgICB0aGlzLmNhbkNyZWF0ZUN1c3RvbUVycm9yKDQwMSlcclxuICAgICAgICAgICAgPyB0aGlzLnNob3c0MDFQYWdlKClcclxuICAgICAgICAgICAgOiB0aGlzLnNob3dFcnJvcihcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlMuZGVmYXVsdEVycm9yNDAxLnRpdGxlLFxyXG4gICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuZGVmYXVsdEVycm9yNDAxLnRpdGxlLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlMuZGVmYXVsdEVycm9yNDAxLmRldGFpbHMsXHJcbiAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5kZWZhdWx0RXJyb3I0MDEuZGV0YWlscyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5uYXZpZ2F0ZVRvTG9naW4oKSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIDQwMzpcclxuICAgICAgICAgIHRoaXMuY3JlYXRlRXJyb3JDb21wb25lbnQoe1xyXG4gICAgICAgICAgICB0aXRsZToge1xyXG4gICAgICAgICAgICAgIGtleTogREVGQVVMVF9FUlJPUl9MT0NBTElaQVRJT05TLmRlZmF1bHRFcnJvcjQwMy50aXRsZSxcclxuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuZGVmYXVsdEVycm9yNDAzLnRpdGxlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBkZXRhaWxzOiB7XHJcbiAgICAgICAgICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlMuZGVmYXVsdEVycm9yNDAzLmRldGFpbHMsXHJcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0VSUk9SX01FU1NBR0VTLmRlZmF1bHRFcnJvcjQwMy5kZXRhaWxzLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBzdGF0dXM6IDQwMyxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSA0MDQ6XHJcbiAgICAgICAgICB0aGlzLmNhbkNyZWF0ZUN1c3RvbUVycm9yKDQwNClcclxuICAgICAgICAgICAgPyB0aGlzLnNob3c0MDRQYWdlKClcclxuICAgICAgICAgICAgOiB0aGlzLnNob3dFcnJvcihcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlMuZGVmYXVsdEVycm9yNDA0LmRldGFpbHMsXHJcbiAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5kZWZhdWx0RXJyb3I0MDQuZGV0YWlscyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIGtleTogREVGQVVMVF9FUlJPUl9MT0NBTElaQVRJT05TLmRlZmF1bHRFcnJvcjQwNC50aXRsZSxcclxuICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0VSUk9SX01FU1NBR0VTLmRlZmF1bHRFcnJvcjQwNC50aXRsZSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgNTAwOlxyXG4gICAgICAgICAgdGhpcy5jcmVhdGVFcnJvckNvbXBvbmVudCh7XHJcbiAgICAgICAgICAgIHRpdGxlOiB7XHJcbiAgICAgICAgICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlMuZGVmYXVsdEVycm9yNTAwLnRpdGxlLFxyXG4gICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5kZWZhdWx0RXJyb3I1MDAudGl0bGUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGRldGFpbHM6IHtcclxuICAgICAgICAgICAgICBrZXk6IERFRkFVTFRfRVJST1JfTE9DQUxJWkFUSU9OUy5kZWZhdWx0RXJyb3I1MDAuZGV0YWlscyxcclxuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuZGVmYXVsdEVycm9yNTAwLmRldGFpbHMsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHN0YXR1czogNTAwLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIDA6XHJcbiAgICAgICAgICBpZiAoZXJyLnN0YXR1c1RleHQgPT09ICdVbmtub3duIEVycm9yJykge1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUVycm9yQ29tcG9uZW50KHtcclxuICAgICAgICAgICAgICB0aXRsZToge1xyXG4gICAgICAgICAgICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlMuZGVmYXVsdEVycm9yLnRpdGxlLFxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0VSUk9SX01FU1NBR0VTLmRlZmF1bHRFcnJvci50aXRsZSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIGRldGFpbHM6IGVyci5tZXNzYWdlLFxyXG4gICAgICAgICAgICAgIGlzSG9tZVNob3c6IGZhbHNlLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0aGlzLnNob3dFcnJvcihcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGtleTogREVGQVVMVF9FUlJPUl9MT0NBTElaQVRJT05TLmRlZmF1bHRFcnJvci5kZXRhaWxzLFxyXG4gICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5kZWZhdWx0RXJyb3IuZGV0YWlscyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGtleTogREVGQVVMVF9FUlJPUl9MT0NBTElaQVRJT05TLmRlZmF1bHRFcnJvci50aXRsZSxcclxuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuZGVmYXVsdEVycm9yLnRpdGxlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2hvdzQwMVBhZ2UoKSB7XHJcbiAgICB0aGlzLmNyZWF0ZUVycm9yQ29tcG9uZW50KHtcclxuICAgICAgdGl0bGU6IHtcclxuICAgICAgICBrZXk6IERFRkFVTFRfRVJST1JfTE9DQUxJWkFUSU9OUy5kZWZhdWx0RXJyb3I0MDEudGl0bGUsXHJcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0VSUk9SX01FU1NBR0VTLmRlZmF1bHRFcnJvcjQwMS50aXRsZSxcclxuICAgICAgfSxcclxuICAgICAgc3RhdHVzOiA0MDEsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBzaG93NDA0UGFnZSgpIHtcclxuICAgIHRoaXMuY3JlYXRlRXJyb3JDb21wb25lbnQoe1xyXG4gICAgICB0aXRsZToge1xyXG4gICAgICAgIGtleTogREVGQVVMVF9FUlJPUl9MT0NBTElaQVRJT05TLmRlZmF1bHRFcnJvcjQwNC50aXRsZSxcclxuICAgICAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuZGVmYXVsdEVycm9yNDA0LnRpdGxlLFxyXG4gICAgICB9LFxyXG4gICAgICBzdGF0dXM6IDQwNCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHNob3dFcnJvcldpdGhSZXF1ZXN0Qm9keShib2R5OiBhbnkpIHtcclxuICAgIGxldCBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbTtcclxuICAgIGxldCB0aXRsZTogTG9jYWxpemF0aW9uUGFyYW07XHJcblxyXG4gICAgaWYgKGJvZHkuZGV0YWlscykge1xyXG4gICAgICBtZXNzYWdlID0gYm9keS5kZXRhaWxzO1xyXG4gICAgICB0aXRsZSA9IGJvZHkubWVzc2FnZTtcclxuICAgIH0gZWxzZSBpZiAoYm9keS5tZXNzYWdlKSB7XHJcbiAgICAgIHRpdGxlID0ge1xyXG4gICAgICAgIGtleTogREVGQVVMVF9FUlJPUl9MT0NBTElaQVRJT05TLmRlZmF1bHRFcnJvci50aXRsZSxcclxuICAgICAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuZGVmYXVsdEVycm9yLnRpdGxlLFxyXG4gICAgICB9O1xyXG4gICAgICBtZXNzYWdlID0gYm9keS5tZXNzYWdlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbWVzc2FnZSA9IGJvZHkubWVzc2FnZSB8fCB7XHJcbiAgICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlMuZGVmYXVsdEVycm9yLnRpdGxlLFxyXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5kZWZhdWx0RXJyb3IudGl0bGUsXHJcbiAgICAgIH07XHJcbiAgICAgIHRpdGxlID0gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Vycm9yKG1lc3NhZ2UsIHRpdGxlKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBzaG93RXJyb3IoXHJcbiAgICBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIHRpdGxlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICApOiBPYnNlcnZhYmxlPENvbmZpcm1hdGlvbi5TdGF0dXM+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuZXJyb3IobWVzc2FnZSwgdGl0bGUsIHtcclxuICAgICAgaGlkZUNhbmNlbEJ0bjogdHJ1ZSxcclxuICAgICAgeWVzVGV4dDogJ0FicEFjY291bnQ6OkNsb3NlJyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBuYXZpZ2F0ZVRvTG9naW4oKSB7XHJcbiAgICB0aGlzLmluamVjdG9yLmdldChBdXRoU2VydmljZSkubmF2aWdhdGVUb0xvZ2luKCk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVFcnJvckNvbXBvbmVudChpbnN0YW5jZTogUGFydGlhbDxIdHRwRXJyb3JXcmFwcGVyQ29tcG9uZW50Pikge1xyXG4gICAgY29uc3QgcmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcclxuICAgIGNvbnN0IGhvc3QgPSByZW5kZXJlci5zZWxlY3RSb290RWxlbWVudChkb2N1bWVudC5ib2R5LCB0cnVlKTtcclxuXHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY2ZSZXNcclxuICAgICAgLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KEh0dHBFcnJvcldyYXBwZXJDb21wb25lbnQpXHJcbiAgICAgIC5jcmVhdGUodGhpcy5pbmplY3Rvcik7XHJcblxyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gaW5zdGFuY2UpIHtcclxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cclxuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSwga2V5KSkge1xyXG4gICAgICAgICh0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBhbnkpW2tleV0gPSAoaW5zdGFuY2UgYXMgYW55KVtrZXldO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuaGlkZUNsb3NlSWNvbiA9ICEhdGhpcy5odHRwRXJyb3JDb25maWcuZXJyb3JTY3JlZW4/LmhpZGVDbG9zZUljb247XHJcbiAgICBjb25zdCBhcHBSZWYgPSB0aGlzLmluamVjdG9yLmdldChBcHBsaWNhdGlvblJlZik7XHJcblxyXG4gICAgaWYgKHRoaXMuY2FuQ3JlYXRlQ3VzdG9tRXJyb3IoaW5zdGFuY2Uuc3RhdHVzIGFzIEVycm9yU2NyZWVuRXJyb3JDb2RlcykpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuY2ZSZXMgPSB0aGlzLmNmUmVzO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5hcHBSZWYgPSBhcHBSZWY7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmluamVjdG9yID0gdGhpcy5pbmplY3RvcjtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuY3VzdG9tQ29tcG9uZW50ID0gdGhpcy5odHRwRXJyb3JDb25maWcuZXJyb3JTY3JlZW4/LmNvbXBvbmVudDtcclxuICAgIH1cclxuXHJcbiAgICBhcHBSZWYuYXR0YWNoVmlldyh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XHJcbiAgICByZW5kZXJlci5hcHBlbmRDaGlsZChob3N0LCAodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSk7XHJcblxyXG4gICAgY29uc3QgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuZGVzdHJveSQgPSBkZXN0cm95JDtcclxuICAgIGRlc3Ryb3kkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmPy5kZXN0cm95KCk7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gbnVsbDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2FuQ3JlYXRlQ3VzdG9tRXJyb3Ioc3RhdHVzOiBFcnJvclNjcmVlbkVycm9yQ29kZXMpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIShcclxuICAgICAgdGhpcy5odHRwRXJyb3JDb25maWc/LmVycm9yU2NyZWVuPy5jb21wb25lbnQgJiZcclxuICAgICAgdGhpcy5odHRwRXJyb3JDb25maWc/LmVycm9yU2NyZWVuPy5mb3JXaGljaEVycm9ycyAmJlxyXG4gICAgICB0aGlzLmh0dHBFcnJvckNvbmZpZz8uZXJyb3JTY3JlZW4/LmZvcldoaWNoRXJyb3JzLmluZGV4T2Yoc3RhdHVzKSA+IC0xXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGZpbHRlclJlc3RFcnJvcnMgPSAoeyBzdGF0dXMgfTogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuID0+IHtcclxuICAgIGlmICh0eXBlb2Ygc3RhdHVzICE9PSAnbnVtYmVyJykgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICEhdGhpcy5odHRwRXJyb3JDb25maWcuc2tpcEhhbmRsZWRFcnJvckNvZGVzICYmXHJcbiAgICAgIHRoaXMuaHR0cEVycm9yQ29uZmlnLnNraXBIYW5kbGVkRXJyb3JDb2Rlcy5maW5kSW5kZXgoY29kZSA9PiBjb2RlID09PSBzdGF0dXMpIDwgMFxyXG4gICAgKTtcclxuICB9O1xyXG5cclxuICBwcm90ZWN0ZWQgZmlsdGVyUm91dGVFcnJvcnMgPSAobmF2aWdhdGlvbkVycm9yOiBOYXZpZ2F0aW9uRXJyb3IpOiBib29sZWFuID0+IHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIG5hdmlnYXRpb25FcnJvci5lcnJvcj8ubWVzc2FnZT8uaW5kZXhPZignQ2Fubm90IG1hdGNoJykgPiAtMSAmJlxyXG4gICAgICAhIXRoaXMuaHR0cEVycm9yQ29uZmlnLnNraXBIYW5kbGVkRXJyb3JDb2RlcyAmJlxyXG4gICAgICB0aGlzLmh0dHBFcnJvckNvbmZpZy5za2lwSGFuZGxlZEVycm9yQ29kZXMuZmluZEluZGV4KGNvZGUgPT4gY29kZSA9PT0gNDA0KSA8IDBcclxuICAgICk7XHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -0,0 +1,7 @@
1
+ export * from './common';
2
+ export * from './confirmation';
3
+ export * from './nav-item';
4
+ export * from './statistics';
5
+ export * from './toaster';
6
+ export * from './user-menu';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tbW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb25maXJtYXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL25hdi1pdGVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdGF0aXN0aWNzJztcclxuZXhwb3J0ICogZnJvbSAnLi90b2FzdGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi91c2VyLW1lbnUnO1xyXG4iXX0=
@@ -0,0 +1,7 @@
1
+ export class NavItem {
2
+ constructor(props) {
3
+ props = { ...props, visible: props.visible || (() => true) };
4
+ Object.assign(this, props);
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9tb2RlbHMvbmF2LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLE9BQU87SUFRbEIsWUFBWSxLQUF1QjtRQUNqQyxLQUFLLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDN0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGNsYXNzIE5hdkl0ZW0ge1xyXG4gIGlkPzogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIGNvbXBvbmVudD86IFR5cGU8YW55PjtcclxuICBodG1sPzogc3RyaW5nO1xyXG4gIGFjdGlvbj86ICgpID0+IHZvaWQ7XHJcbiAgb3JkZXI/OiBudW1iZXI7XHJcbiAgcmVxdWlyZWRQb2xpY3k/OiBzdHJpbmc7XHJcbiAgdmlzaWJsZT86ICgpID0+IGJvb2xlYW47XHJcbiAgY29uc3RydWN0b3IocHJvcHM6IFBhcnRpYWw8TmF2SXRlbT4pIHtcclxuICAgIHByb3BzID0geyAuLi5wcm9wcywgdmlzaWJsZTogcHJvcHMudmlzaWJsZSB8fCAoKCkgPT4gdHJ1ZSkgfTtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcywgcHJvcHMpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,4 @@
1
+ import { NavItem } from './nav-item';
2
+ export class UserMenu extends NavItem {
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvbW9kZWxzL3VzZXItbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJDLE1BQU0sT0FBTyxRQUFTLFNBQVEsT0FBTztDQUVwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5hdkl0ZW0gfSBmcm9tICcuL25hdi1pdGVtJztcclxuXHJcbmV4cG9ydCBjbGFzcyBVc2VyTWVudSBleHRlbmRzIE5hdkl0ZW0ge1xyXG4gIHRleHRUZW1wbGF0ZT86IFVzZXJNZW51VGV4dFRlbXBsYXRlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJNZW51VGV4dFRlbXBsYXRlIHtcclxuICB0ZXh0OiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxufVxyXG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ export class AbstractMenuService {
3
+ constructor() {
4
+ this._items$ = new BehaviorSubject([]);
5
+ }
6
+ get items() {
7
+ return this._items$.value;
8
+ }
9
+ get items$() {
10
+ return this._items$.asObservable();
11
+ }
12
+ addItems(newItems) {
13
+ const items = [...this.items];
14
+ newItems.forEach(item => {
15
+ const index = items.findIndex(i => i.id === item.id);
16
+ const data = new this.baseClass(item);
17
+ if (index > -1) {
18
+ items[index] = data;
19
+ return;
20
+ }
21
+ items.push(data);
22
+ });
23
+ items.sort(this.sortItems);
24
+ this._items$.next(items);
25
+ }
26
+ removeItem(id) {
27
+ const index = this.items.findIndex(item => item.id === id);
28
+ if (index < 0)
29
+ return;
30
+ const items = [...this.items.slice(0, index), ...this.items.slice(index + 1)];
31
+ this._items$.next(items);
32
+ }
33
+ patchItem(id, item) {
34
+ const index = this.items.findIndex(i => i.id === id);
35
+ if (index < 0)
36
+ return;
37
+ const items = [...this.items];
38
+ items[index] = new this.baseClass({ ...items[index], ...item });
39
+ items.sort(this.sortItems);
40
+ this._items$.next(items);
41
+ }
42
+ sortItems(a, b) {
43
+ if (!a.order)
44
+ return 1;
45
+ if (!b.order)
46
+ return -1;
47
+ return a.order - b.order;
48
+ }
49
+ }
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvc2VydmljZXMvYWJzdHJhY3QtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFHbkQsTUFBTSxPQUFnQixtQkFBbUI7SUFBekM7UUFHWSxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7SUFxRG5ELENBQUM7SUFuREMsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBYTtRQUNwQixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUV0QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDZCxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixPQUFPO2FBQ1I7WUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUFtQjtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFM0QsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE9BQU87UUFFdEIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxTQUFTLENBQUMsRUFBbUIsRUFBRSxJQUE0QjtRQUN6RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFckQsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE9BQU87UUFFdEIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTyxTQUFTLENBQUMsQ0FBSSxFQUFFLENBQUk7UUFDMUIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUV4QixPQUFPLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTmF2SXRlbSB9IGZyb20gJy4uL21vZGVscy9uYXYtaXRlbSc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RNZW51U2VydmljZTxUIGV4dGVuZHMgTmF2SXRlbT4ge1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBiYXNlQ2xhc3M7XHJcblxyXG4gIHByb3RlY3RlZCBfaXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUW10+KFtdKTtcclxuXHJcbiAgZ2V0IGl0ZW1zKCk6IFRbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXRlbXMkLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGl0ZW1zJCgpOiBPYnNlcnZhYmxlPFRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zJC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGFkZEl0ZW1zKG5ld0l0ZW1zOiBUW10pIHtcclxuICAgIGNvbnN0IGl0ZW1zID0gWy4uLnRoaXMuaXRlbXNdO1xyXG4gICAgbmV3SXRlbXMuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgY29uc3QgaW5kZXggPSBpdGVtcy5maW5kSW5kZXgoaSA9PiBpLmlkID09PSBpdGVtLmlkKTtcclxuICAgICAgY29uc3QgZGF0YSA9IG5ldyB0aGlzLmJhc2VDbGFzcyhpdGVtKTtcclxuXHJcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgaXRlbXNbaW5kZXhdID0gZGF0YTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGl0ZW1zLnB1c2goZGF0YSk7XHJcbiAgICB9KTtcclxuICAgIGl0ZW1zLnNvcnQodGhpcy5zb3J0SXRlbXMpO1xyXG4gICAgdGhpcy5faXRlbXMkLm5leHQoaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlSXRlbShpZDogc3RyaW5nIHwgbnVtYmVyKSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuaXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gaWQpO1xyXG5cclxuICAgIGlmIChpbmRleCA8IDApIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBpdGVtcyA9IFsuLi50aGlzLml0ZW1zLnNsaWNlKDAsIGluZGV4KSwgLi4udGhpcy5pdGVtcy5zbGljZShpbmRleCArIDEpXTtcclxuICAgIHRoaXMuX2l0ZW1zJC5uZXh0KGl0ZW1zKTtcclxuICB9XHJcblxyXG4gIHBhdGNoSXRlbShpZDogc3RyaW5nIHwgbnVtYmVyLCBpdGVtOiBQYXJ0aWFsPE9taXQ8VCwgJ2lkJz4+KSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuaXRlbXMuZmluZEluZGV4KGkgPT4gaS5pZCA9PT0gaWQpO1xyXG5cclxuICAgIGlmIChpbmRleCA8IDApIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBpdGVtcyA9IFsuLi50aGlzLml0ZW1zXTtcclxuICAgIGl0ZW1zW2luZGV4XSA9IG5ldyB0aGlzLmJhc2VDbGFzcyh7IC4uLml0ZW1zW2luZGV4XSwgLi4uaXRlbSB9KTtcclxuICAgIGl0ZW1zLnNvcnQodGhpcy5zb3J0SXRlbXMpO1xyXG4gICAgdGhpcy5faXRlbXMkLm5leHQoaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzb3J0SXRlbXMoYTogVCwgYjogVCkge1xyXG4gICAgaWYgKCFhLm9yZGVyKSByZXR1cm4gMTtcclxuICAgIGlmICghYi5vcmRlcikgcmV0dXJuIC0xO1xyXG5cclxuICAgIHJldHVybiBhLm9yZGVyIC0gYi5vcmRlcjtcclxuICB9XHJcbn1cclxuIl19
@@ -59,10 +59,10 @@ export class ConfirmationService {
59
59
  });
60
60
  }
61
61
  }
62
- ConfirmationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ConfirmationService, deps: [{ token: i1.ContentProjectionService }], target: i0.ɵɵFactoryTarget.Injectable });
63
- ConfirmationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ConfirmationService, decorators: [{
62
+ ConfirmationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ConfirmationService, deps: [{ token: i1.ContentProjectionService }], target: i0.ɵɵFactoryTarget.Injectable });
63
+ ConfirmationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ConfirmationService, decorators: [{
65
65
  type: Injectable,
66
66
  args: [{ providedIn: 'root' }]
67
67
  }], ctorParameters: function () { return [{ type: i1.ContentProjectionService }]; } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQXFCLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hHLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQWMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUd0RCxNQUFNLE9BQU8sbUJBQW1CO0lBVzlCLFlBQW9CLHdCQUFrRDtRQUFsRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBVHRFLGtCQUFhLEdBQUcsSUFBSSxhQUFhLENBQTBCLENBQUMsQ0FBQyxDQUFDO1FBSTlELFVBQUssR0FBRyxDQUFDLFNBQThCLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUM7SUFFdUUsQ0FBQztJQUVsRSxZQUFZO1FBQ2xCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsY0FBYyxDQUN2RSxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsRUFBRTtZQUMvRCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2xCLENBQUMsQ0FDSCxDQUFDO1FBRUYsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMvRCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQsSUFBSSxDQUNGLE9BQTBCLEVBQzFCLEtBQXdCLEVBQ3hCLE9BQXVDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsT0FBTyxDQUNMLE9BQTBCLEVBQzFCLEtBQXdCLEVBQ3hCLE9BQXVDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxDQUNGLE9BQTBCLEVBQzFCLEtBQXdCLEVBQ3hCLE9BQXVDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsS0FBSyxDQUNILE9BQTBCLEVBQzFCLEtBQXdCLEVBQ3hCLE9BQXVDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBSSxDQUNGLE9BQTBCLEVBQzFCLEtBQXdCLEVBQ3hCLFFBQWdDLEVBQ2hDLFVBQVUsRUFBbUM7UUFFN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUI7WUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFckQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDdEIsT0FBTztZQUNQLEtBQUs7WUFDTCxRQUFRLEVBQUUsUUFBUSxJQUFJLFNBQVM7WUFDL0IsT0FBTztTQUNSLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM3QixNQUFNLEVBQUUsV0FBVyxHQUFHLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUN2QyxJQUFJLFdBQVc7WUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLFNBQVMsQ0FBZ0IsUUFBUSxFQUFFLE9BQU8sQ0FBQzthQUN4QyxJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFDdkIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixNQUFNLENBQUMsQ0FBQyxHQUFrQixFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FDNUQ7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2lIQTFGVSxtQkFBbUI7cUhBQW5CLG1CQUFtQixjQUROLE1BQU07NEZBQ25CLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50UHJvamVjdGlvblNlcnZpY2UsIExvY2FsaXphdGlvblBhcmFtLCBQUk9KRUNUSU9OX1NUUkFURUdZIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpcm1hdGlvbic7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlybWF0aW9uU2VydmljZSB7XHJcbiAgc3RhdHVzJCE6IFN1YmplY3Q8Q29uZmlybWF0aW9uLlN0YXR1cz47XHJcbiAgY29uZmlybWF0aW9uJCA9IG5ldyBSZXBsYXlTdWJqZWN0PENvbmZpcm1hdGlvbi5EaWFsb2dEYXRhPigxKTtcclxuXHJcbiAgcHJpdmF0ZSBjb250YWluZXJDb21wb25lbnRSZWYhOiBDb21wb25lbnRSZWY8Q29uZmlybWF0aW9uQ29tcG9uZW50PjtcclxuXHJcbiAgY2xlYXIgPSAoc3RhdHVzOiBDb25maXJtYXRpb24uU3RhdHVzID0gQ29uZmlybWF0aW9uLlN0YXR1cy5kaXNtaXNzKSA9PiB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbiQubmV4dCgpO1xyXG4gICAgdGhpcy5zdGF0dXMkLm5leHQoc3RhdHVzKTtcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRlbnRQcm9qZWN0aW9uU2VydmljZTogQ29udGVudFByb2plY3Rpb25TZXJ2aWNlKSB7fVxyXG5cclxuICBwcml2YXRlIHNldENvbnRhaW5lcigpIHtcclxuICAgIHRoaXMuY29udGFpbmVyQ29tcG9uZW50UmVmID0gdGhpcy5jb250ZW50UHJvamVjdGlvblNlcnZpY2UucHJvamVjdENvbnRlbnQoXHJcbiAgICAgIFBST0pFQ1RJT05fU1RSQVRFR1kuQXBwZW5kQ29tcG9uZW50VG9Cb2R5KENvbmZpcm1hdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICAgIGNvbmZpcm1hdGlvbiQ6IHRoaXMuY29uZmlybWF0aW9uJCxcclxuICAgICAgICBjbGVhcjogdGhpcy5jbGVhcixcclxuICAgICAgfSksXHJcbiAgICApO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmNvbnRhaW5lckNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIGluZm8oXHJcbiAgICBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIHRpdGxlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPENvbmZpcm1hdGlvbi5PcHRpb25zPixcclxuICApOiBPYnNlcnZhYmxlPENvbmZpcm1hdGlvbi5TdGF0dXM+IHtcclxuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICdpbmZvJywgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBzdWNjZXNzKFxyXG4gICAgbWVzc2FnZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICB0aXRsZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICBvcHRpb25zPzogUGFydGlhbDxDb25maXJtYXRpb24uT3B0aW9ucz4sXHJcbiAgKTogT2JzZXJ2YWJsZTxDb25maXJtYXRpb24uU3RhdHVzPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnc3VjY2VzcycsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgd2FybihcclxuICAgIG1lc3NhZ2U6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgdGl0bGU6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8Q29uZmlybWF0aW9uLk9wdGlvbnM+LFxyXG4gICk6IE9ic2VydmFibGU8Q29uZmlybWF0aW9uLlN0YXR1cz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ3dhcm5pbmcnLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIGVycm9yKFxyXG4gICAgbWVzc2FnZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICB0aXRsZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICBvcHRpb25zPzogUGFydGlhbDxDb25maXJtYXRpb24uT3B0aW9ucz4sXHJcbiAgKTogT2JzZXJ2YWJsZTxDb25maXJtYXRpb24uU3RhdHVzPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnZXJyb3InLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNob3coXHJcbiAgICBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIHRpdGxlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIHNldmVyaXR5PzogQ29uZmlybWF0aW9uLlNldmVyaXR5LFxyXG4gICAgb3B0aW9ucyA9IHt9IGFzIFBhcnRpYWw8Q29uZmlybWF0aW9uLk9wdGlvbnM+LFxyXG4gICk6IE9ic2VydmFibGU8Q29uZmlybWF0aW9uLlN0YXR1cz4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRhaW5lckNvbXBvbmVudFJlZikgdGhpcy5zZXRDb250YWluZXIoKTtcclxuXHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbiQubmV4dCh7XHJcbiAgICAgIG1lc3NhZ2UsXHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICBzZXZlcml0eTogc2V2ZXJpdHkgfHwgJ25ldXRyYWwnLFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5zdGF0dXMkID0gbmV3IFN1YmplY3QoKTtcclxuICAgIGNvbnN0IHsgZGlzbWlzc2libGUgPSB0cnVlIH0gPSBvcHRpb25zO1xyXG4gICAgaWYgKGRpc21pc3NpYmxlKSB0aGlzLmxpc3RlblRvRXNjYXBlKCk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzJDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbGlzdGVuVG9Fc2NhcGUoKSB7XHJcbiAgICBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oZG9jdW1lbnQsICdrZXl1cCcpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnN0YXR1cyQpLFxyXG4gICAgICAgIGRlYm91bmNlVGltZSgxNTApLFxyXG4gICAgICAgIGZpbHRlcigoa2V5OiBLZXlib2FyZEV2ZW50KSA9PiBrZXkgJiYga2V5LmtleSA9PT0gJ0VzY2FwZScpLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgICAgdGhpcy5jbGVhcigpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQXFCLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hHLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQWMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUd0RCxNQUFNLE9BQU8sbUJBQW1CO0lBVzlCLFlBQW9CLHdCQUFrRDtRQUFsRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBVHRFLGtCQUFhLEdBQUcsSUFBSSxhQUFhLENBQTBCLENBQUMsQ0FBQyxDQUFDO1FBSTlELFVBQUssR0FBRyxDQUFDLFNBQThCLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUM7SUFFdUUsQ0FBQztJQUVsRSxZQUFZO1FBQ2xCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsY0FBYyxDQUN2RSxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsRUFBRTtZQUMvRCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2xCLENBQUMsQ0FDSCxDQUFDO1FBRUYsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMvRCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQsSUFBSSxDQUNGLE9BQTBCLEVBQzFCLEtBQXdCLEVBQ3hCLE9BQXVDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsT0FBTyxDQUNMLE9BQTBCLEVBQzFCLEtBQXdCLEVBQ3hCLE9BQXVDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxDQUNGLE9BQTBCLEVBQzFCLEtBQXdCLEVBQ3hCLE9BQXVDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsS0FBSyxDQUNILE9BQTBCLEVBQzFCLEtBQXdCLEVBQ3hCLE9BQXVDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBSSxDQUNGLE9BQTBCLEVBQzFCLEtBQXdCLEVBQ3hCLFFBQWdDLEVBQ2hDLFVBQVUsRUFBbUM7UUFFN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUI7WUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFckQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDdEIsT0FBTztZQUNQLEtBQUs7WUFDTCxRQUFRLEVBQUUsUUFBUSxJQUFJLFNBQVM7WUFDL0IsT0FBTztTQUNSLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM3QixNQUFNLEVBQUUsV0FBVyxHQUFHLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUN2QyxJQUFJLFdBQVc7WUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLFNBQVMsQ0FBZ0IsUUFBUSxFQUFFLE9BQU8sQ0FBQzthQUN4QyxJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFDdkIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixNQUFNLENBQUMsQ0FBQyxHQUFrQixFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FDNUQ7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2dIQTFGVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUROLE1BQU07MkZBQ25CLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50UHJvamVjdGlvblNlcnZpY2UsIExvY2FsaXphdGlvblBhcmFtLCBQUk9KRUNUSU9OX1NUUkFURUdZIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpcm1hdGlvbic7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlybWF0aW9uU2VydmljZSB7XHJcbiAgc3RhdHVzJCE6IFN1YmplY3Q8Q29uZmlybWF0aW9uLlN0YXR1cz47XHJcbiAgY29uZmlybWF0aW9uJCA9IG5ldyBSZXBsYXlTdWJqZWN0PENvbmZpcm1hdGlvbi5EaWFsb2dEYXRhPigxKTtcclxuXHJcbiAgcHJpdmF0ZSBjb250YWluZXJDb21wb25lbnRSZWYhOiBDb21wb25lbnRSZWY8Q29uZmlybWF0aW9uQ29tcG9uZW50PjtcclxuXHJcbiAgY2xlYXIgPSAoc3RhdHVzOiBDb25maXJtYXRpb24uU3RhdHVzID0gQ29uZmlybWF0aW9uLlN0YXR1cy5kaXNtaXNzKSA9PiB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbiQubmV4dCgpO1xyXG4gICAgdGhpcy5zdGF0dXMkLm5leHQoc3RhdHVzKTtcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRlbnRQcm9qZWN0aW9uU2VydmljZTogQ29udGVudFByb2plY3Rpb25TZXJ2aWNlKSB7fVxyXG5cclxuICBwcml2YXRlIHNldENvbnRhaW5lcigpIHtcclxuICAgIHRoaXMuY29udGFpbmVyQ29tcG9uZW50UmVmID0gdGhpcy5jb250ZW50UHJvamVjdGlvblNlcnZpY2UucHJvamVjdENvbnRlbnQoXHJcbiAgICAgIFBST0pFQ1RJT05fU1RSQVRFR1kuQXBwZW5kQ29tcG9uZW50VG9Cb2R5KENvbmZpcm1hdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICAgIGNvbmZpcm1hdGlvbiQ6IHRoaXMuY29uZmlybWF0aW9uJCxcclxuICAgICAgICBjbGVhcjogdGhpcy5jbGVhcixcclxuICAgICAgfSksXHJcbiAgICApO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmNvbnRhaW5lckNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIGluZm8oXHJcbiAgICBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIHRpdGxlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPENvbmZpcm1hdGlvbi5PcHRpb25zPixcclxuICApOiBPYnNlcnZhYmxlPENvbmZpcm1hdGlvbi5TdGF0dXM+IHtcclxuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICdpbmZvJywgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBzdWNjZXNzKFxyXG4gICAgbWVzc2FnZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICB0aXRsZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICBvcHRpb25zPzogUGFydGlhbDxDb25maXJtYXRpb24uT3B0aW9ucz4sXHJcbiAgKTogT2JzZXJ2YWJsZTxDb25maXJtYXRpb24uU3RhdHVzPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnc3VjY2VzcycsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgd2FybihcclxuICAgIG1lc3NhZ2U6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgdGl0bGU6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8Q29uZmlybWF0aW9uLk9wdGlvbnM+LFxyXG4gICk6IE9ic2VydmFibGU8Q29uZmlybWF0aW9uLlN0YXR1cz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ3dhcm5pbmcnLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIGVycm9yKFxyXG4gICAgbWVzc2FnZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICB0aXRsZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICBvcHRpb25zPzogUGFydGlhbDxDb25maXJtYXRpb24uT3B0aW9ucz4sXHJcbiAgKTogT2JzZXJ2YWJsZTxDb25maXJtYXRpb24uU3RhdHVzPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnZXJyb3InLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNob3coXHJcbiAgICBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIHRpdGxlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIHNldmVyaXR5PzogQ29uZmlybWF0aW9uLlNldmVyaXR5LFxyXG4gICAgb3B0aW9ucyA9IHt9IGFzIFBhcnRpYWw8Q29uZmlybWF0aW9uLk9wdGlvbnM+LFxyXG4gICk6IE9ic2VydmFibGU8Q29uZmlybWF0aW9uLlN0YXR1cz4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRhaW5lckNvbXBvbmVudFJlZikgdGhpcy5zZXRDb250YWluZXIoKTtcclxuXHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbiQubmV4dCh7XHJcbiAgICAgIG1lc3NhZ2UsXHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICBzZXZlcml0eTogc2V2ZXJpdHkgfHwgJ25ldXRyYWwnLFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5zdGF0dXMkID0gbmV3IFN1YmplY3QoKTtcclxuICAgIGNvbnN0IHsgZGlzbWlzc2libGUgPSB0cnVlIH0gPSBvcHRpb25zO1xyXG4gICAgaWYgKGRpc21pc3NpYmxlKSB0aGlzLmxpc3RlblRvRXNjYXBlKCk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzJDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbGlzdGVuVG9Fc2NhcGUoKSB7XHJcbiAgICBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oZG9jdW1lbnQsICdrZXl1cCcpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnN0YXR1cyQpLFxyXG4gICAgICAgIGRlYm91bmNlVGltZSgxNTApLFxyXG4gICAgICAgIGZpbHRlcigoa2V5OiBLZXlib2FyZEV2ZW50KSA9PiBrZXkgJiYga2V5LmtleSA9PT0gJ0VzY2FwZScpLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgICAgdGhpcy5jbGVhcigpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -2,4 +2,5 @@ export * from './confirmation.service';
2
2
  export * from './nav-items.service';
3
3
  export * from './page-alert.service';
4
4
  export * from './toaster.service';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25maXJtYXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbmF2LWl0ZW1zLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BhZ2UtYWxlcnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9hc3Rlci5zZXJ2aWNlJztcclxuIl19
5
+ export * from './user-menu.service';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpcm1hdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9uYXYtaXRlbXMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1hbGVydC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi90b2FzdGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3VzZXItbWVudS5zZXJ2aWNlJztcclxuIl19