@mediusinc/mng-commons 5.0.0-rc.2 → 5.0.0-rc.4

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 (204) hide show
  1. package/core/data-providers/base-data-provider.factory.d.ts +13 -0
  2. package/core/data-providers/base.data-provider.d.ts +2 -14
  3. package/core/descriptors/editor.descriptor.d.ts +1 -1
  4. package/core/descriptors/tableview.descriptor.d.ts +5 -5
  5. package/core/directives/component.directive.d.ts +2 -2
  6. package/core/index.d.ts +1 -0
  7. package/core/security/permission.service.d.ts +1 -0
  8. package/core/services/commons-router.service.d.ts +3 -3
  9. package/core/services/commons.service.d.ts +31 -42
  10. package/core/services/tokens/module-config.token.d.ts +2 -2
  11. package/esm2022/core/components/notification/notification-wrapper.component.mjs +3 -3
  12. package/esm2022/core/components/pages/error/error.page.component.mjs +3 -3
  13. package/esm2022/core/components/pages/not-found/not-found.page.component.mjs +3 -3
  14. package/esm2022/core/data-providers/base-data-provider.factory.mjs +28 -0
  15. package/esm2022/core/data-providers/base.data-provider.mjs +1 -31
  16. package/esm2022/core/descriptors/editor.descriptor.mjs +1 -1
  17. package/esm2022/core/descriptors/tableview.descriptor.mjs +1 -1
  18. package/esm2022/core/directives/component.directive.mjs +10 -7
  19. package/esm2022/core/index.mjs +2 -1
  20. package/esm2022/core/security/permission.service.mjs +4 -2
  21. package/esm2022/core/services/commons-init.service.mjs +2 -2
  22. package/esm2022/core/services/commons-router.service.mjs +16 -15
  23. package/esm2022/core/services/commons.service.mjs +109 -166
  24. package/esm2022/core/services/tokens/module-config.token.mjs +1 -1
  25. package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +4 -4
  26. package/esm2022/form/api/data-providers/lookup-data-provider.factory.mjs +31 -0
  27. package/esm2022/form/api/data-providers/lookup.data-provider.mjs +1 -31
  28. package/esm2022/form/api/index.mjs +2 -1
  29. package/esm2022/form/components/autocomplete/autocomplete.component.mjs +92 -83
  30. package/esm2022/form/components/dropdown/dropdown.component.mjs +145 -87
  31. package/esm2022/model/data-providers/base-from-type-data-provider.factory.mjs +8 -0
  32. package/esm2022/model/descriptors/enum.descriptor.mjs +3 -6
  33. package/esm2022/model/descriptors/model.descriptor.mjs +22 -9
  34. package/esm2022/model/descriptors/type.descriptor.mjs +3 -9
  35. package/esm2022/model/index.mjs +3 -1
  36. package/esm2022/table/api/data-providers/table-data-provider.factory.mjs +33 -0
  37. package/esm2022/table/api/data-providers/table.data-provider.mjs +1 -31
  38. package/esm2022/table/api/descriptors/sort.descriptor.mjs +2 -2
  39. package/esm2022/table/api/descriptors/table-descriptor.factory.mjs +89 -0
  40. package/esm2022/table/api/descriptors/table.descriptor.mjs +4 -139
  41. package/esm2022/table/api/helpers/table-descriptor-helpers.mjs +97 -0
  42. package/esm2022/table/api/index.mjs +4 -1
  43. package/esm2022/table/components/column-filter-full/column-filter-full.component.mjs +6 -7
  44. package/esm2022/table/components/column-value/column-value.component.mjs +2 -2
  45. package/esm2022/table/components/table/table.component.mjs +5 -5
  46. package/esm2022/table/pipes/locale-default-row-class.pipe.mjs +2 -2
  47. package/esm2022/table/services/data-list.service.mjs +1 -1
  48. package/esm2022/tableview/action/components/action/action.component.mjs +140 -188
  49. package/esm2022/tableview/action/components/editor/action-editor.component.mjs +56 -66
  50. package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +119 -141
  51. package/esm2022/tableview/action/components/localization/data-language-dropdown.component.mjs +21 -39
  52. package/esm2022/tableview/action/components/route/action-route.component.mjs +17 -23
  53. package/esm2022/tableview/action/components/table/action-table.component.mjs +1 -1
  54. package/esm2022/tableview/action/services/action-executor.service.mjs +9 -9
  55. package/esm2022/tableview/action/services/navigation.service.mjs +3 -2
  56. package/esm2022/tableview/action/services/view-container.service.mjs +5 -21
  57. package/esm2022/tableview/api/action/descriptors/action-descriptor.factory.mjs +119 -0
  58. package/esm2022/tableview/api/action/descriptors/action-editor-descriptor.factory.mjs +77 -0
  59. package/esm2022/tableview/api/action/descriptors/action-editor.descriptor.mjs +20 -80
  60. package/esm2022/tableview/api/action/descriptors/action-link-descriptor.factory.mjs +45 -0
  61. package/esm2022/tableview/api/action/descriptors/action-link.descriptor.mjs +1 -32
  62. package/esm2022/tableview/api/action/descriptors/action.descriptor.mjs +3 -69
  63. package/esm2022/tableview/api/action/models/action-component.model.mjs +1 -1
  64. package/esm2022/tableview/api/action/models/execution/view-container.model.mjs +1 -1
  65. package/esm2022/tableview/api/editor/data-providers/editor-data-provider.factory.mjs +33 -0
  66. package/esm2022/tableview/api/editor/data-providers/editor.data-provider.mjs +1 -31
  67. package/esm2022/tableview/api/editor/descriptors/editor-descriptor.factory.mjs +81 -0
  68. package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +7 -133
  69. package/esm2022/tableview/api/editor/descriptors/field-action.descriptor.mjs +1 -1
  70. package/esm2022/tableview/api/editor/descriptors/field-base.descriptor.mjs +13 -5
  71. package/esm2022/tableview/api/editor/descriptors/field-group.descriptor.mjs +1 -1
  72. package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +4 -4
  73. package/esm2022/tableview/api/editor/descriptors/field-many.descriptor.mjs +3 -3
  74. package/esm2022/tableview/api/editor/descriptors/field-validation.descriptor.mjs +1 -1
  75. package/esm2022/tableview/api/editor/descriptors/field.descriptor.mjs +1 -1
  76. package/esm2022/tableview/api/editor/helpers/editor-descriptor-helpers.mjs +95 -0
  77. package/esm2022/tableview/api/editor/helpers/field-validators.mjs +7 -7
  78. package/esm2022/tableview/api/editor/models/editor-fields.model.mjs +1 -1
  79. package/esm2022/tableview/api/editor/models/field-action-context.model.mjs +1 -1
  80. package/esm2022/tableview/api/editor/models/field-validation.model.mjs +2 -0
  81. package/esm2022/tableview/api/editor/models/field.model.mjs +1 -1
  82. package/esm2022/tableview/api/editor/models/form-editor.event.mjs +1 -1
  83. package/esm2022/tableview/api/editor/models/form-editor.interface.mjs +1 -1
  84. package/esm2022/tableview/api/editor/models/formly-field.model.mjs +1 -1
  85. package/esm2022/tableview/api/index.mjs +11 -1
  86. package/esm2022/tableview/api/tableview/data-providers/tableview-data-provider.factory.mjs +47 -0
  87. package/esm2022/tableview/api/tableview/data-providers/tableview.data-provider.mjs +5 -46
  88. package/esm2022/tableview/api/tableview/descriptors/tableview-descriptor.factory.mjs +111 -0
  89. package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +15 -168
  90. package/esm2022/tableview/api/tableview/helpers/files-export.mjs +2 -2
  91. package/esm2022/tableview/api/tableview/helpers/tableview-create.mjs +5 -5
  92. package/esm2022/tableview/api/tableview/helpers/tableview-default-actions.mjs +53 -18
  93. package/esm2022/tableview/api/tableview/helpers/tableview-descriptor-helpers.mjs +110 -0
  94. package/esm2022/tableview/api/tableview/helpers/tableview-input-builder.mjs +2 -2
  95. package/esm2022/tableview/editor/components/editor/form-editor.component.mjs +16 -11
  96. package/esm2022/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.mjs +6 -2
  97. package/esm2022/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +10 -11
  98. package/esm2022/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.mjs +1 -1
  99. package/esm2022/tableview/editor/components/formly/fields/formly-field-datepicker/formly-field-datepicker.component.mjs +4 -4
  100. package/esm2022/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +9 -11
  101. package/esm2022/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.mjs +4 -4
  102. package/esm2022/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +16 -18
  103. package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +20 -22
  104. package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +18 -20
  105. package/esm2022/tableview/editor/helpers/editor-formly.mjs +27 -6
  106. package/esm2022/tableview/editor/services/form-editor.service.mjs +96 -0
  107. package/esm2022/tableview/index.mjs +2 -1
  108. package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +3 -3
  109. package/fesm2022/mediusinc-mng-commons-core.mjs +155 -210
  110. package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
  111. package/fesm2022/mediusinc-mng-commons-filter.mjs +3 -3
  112. package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
  113. package/fesm2022/mediusinc-mng-commons-form-api.mjs +18 -18
  114. package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
  115. package/fesm2022/mediusinc-mng-commons-form.mjs +236 -169
  116. package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
  117. package/fesm2022/mediusinc-mng-commons-model.mjs +43 -33
  118. package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
  119. package/fesm2022/mediusinc-mng-commons-table-api.mjs +192 -146
  120. package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
  121. package/fesm2022/mediusinc-mng-commons-table.mjs +11 -12
  122. package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
  123. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +822 -590
  124. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
  125. package/fesm2022/mediusinc-mng-commons-tableview.mjs +564 -571
  126. package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
  127. package/form/api/data-providers/lookup-data-provider.factory.d.ts +18 -0
  128. package/form/api/data-providers/lookup.data-provider.d.ts +2 -14
  129. package/form/api/index.d.ts +1 -0
  130. package/form/components/autocomplete/autocomplete.component.d.ts +31 -23
  131. package/form/components/dropdown/dropdown.component.d.ts +38 -25
  132. package/model/data-providers/base-from-type-data-provider.factory.d.ts +8 -0
  133. package/model/descriptors/enum.descriptor.d.ts +1 -2
  134. package/model/descriptors/model.descriptor.d.ts +11 -4
  135. package/model/descriptors/type.descriptor.d.ts +2 -4
  136. package/model/index.d.ts +1 -0
  137. package/package.json +7 -7
  138. package/table/api/data-providers/table-data-provider.factory.d.ts +18 -0
  139. package/table/api/data-providers/table.data-provider.d.ts +2 -14
  140. package/table/api/descriptors/table-descriptor.factory.d.ts +44 -0
  141. package/table/api/descriptors/table.descriptor.d.ts +4 -65
  142. package/table/api/helpers/table-descriptor-helpers.d.ts +44 -0
  143. package/table/api/index.d.ts +3 -0
  144. package/table/components/column-filter-full/column-filter-full.component.d.ts +5 -4
  145. package/table/components/table/table.component.d.ts +11 -11
  146. package/table/services/data-list.service.d.ts +9 -10
  147. package/tableview/action/components/action/action.component.d.ts +37 -44
  148. package/tableview/action/components/editor/action-editor.component.d.ts +20 -18
  149. package/tableview/action/components/editor/injector-context/action-editor-injector-context.component.d.ts +23 -23
  150. package/tableview/action/components/localization/data-language-dropdown.component.d.ts +11 -14
  151. package/tableview/action/components/route/action-route.component.d.ts +6 -11
  152. package/tableview/action/components/table/action-table.component.d.ts +3 -3
  153. package/tableview/action/services/view-container.service.d.ts +3 -9
  154. package/tableview/api/action/descriptors/action-descriptor.factory.d.ts +36 -0
  155. package/tableview/api/action/descriptors/action-editor-descriptor.factory.d.ts +31 -0
  156. package/tableview/api/action/descriptors/action-editor.descriptor.d.ts +17 -37
  157. package/tableview/api/action/descriptors/action-link-descriptor.factory.d.ts +15 -0
  158. package/tableview/api/action/descriptors/action-link.descriptor.d.ts +1 -9
  159. package/tableview/api/action/descriptors/action.descriptor.d.ts +4 -27
  160. package/tableview/api/action/models/action-component.model.d.ts +8 -8
  161. package/tableview/api/action/models/execution/view-container.model.d.ts +4 -3
  162. package/tableview/api/editor/data-providers/editor-data-provider.factory.d.ts +18 -0
  163. package/tableview/api/editor/data-providers/editor.data-provider.d.ts +2 -14
  164. package/tableview/api/editor/descriptors/editor-descriptor.factory.d.ts +44 -0
  165. package/tableview/api/editor/descriptors/editor.descriptor.d.ts +34 -90
  166. package/tableview/api/editor/descriptors/field-action.descriptor.d.ts +3 -3
  167. package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +15 -13
  168. package/tableview/api/editor/descriptors/field-group.descriptor.d.ts +7 -6
  169. package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +2 -2
  170. package/tableview/api/editor/descriptors/field-many.descriptor.d.ts +8 -8
  171. package/tableview/api/editor/descriptors/field-validation.descriptor.d.ts +6 -6
  172. package/tableview/api/editor/descriptors/field.descriptor.d.ts +1 -1
  173. package/tableview/api/editor/helpers/editor-descriptor-helpers.d.ts +43 -0
  174. package/tableview/api/editor/helpers/field-validators.d.ts +1 -1
  175. package/tableview/api/editor/models/editor-fields.model.d.ts +24 -22
  176. package/tableview/api/editor/models/field-action-context.model.d.ts +10 -8
  177. package/tableview/api/editor/models/field-validation.model.d.ts +26 -0
  178. package/tableview/api/editor/models/field.model.d.ts +0 -19
  179. package/tableview/api/editor/models/form-editor.event.d.ts +24 -16
  180. package/tableview/api/editor/models/form-editor.interface.d.ts +2 -1
  181. package/tableview/api/editor/models/formly-custom-field.model.d.ts +1 -1
  182. package/tableview/api/editor/models/formly-field.model.d.ts +4 -4
  183. package/tableview/api/index.d.ts +10 -0
  184. package/tableview/api/tableview/data-providers/tableview-data-provider.factory.d.ts +25 -0
  185. package/tableview/api/tableview/data-providers/tableview.data-provider.d.ts +3 -20
  186. package/tableview/api/tableview/descriptors/tableview-descriptor.factory.d.ts +49 -0
  187. package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +40 -100
  188. package/tableview/api/tableview/helpers/tableview-create.d.ts +2 -2
  189. package/tableview/api/tableview/helpers/tableview-default-actions.d.ts +4 -2
  190. package/tableview/api/tableview/helpers/tableview-descriptor-helpers.d.ts +42 -0
  191. package/tableview/api/tableview/helpers/tableview-input-builder.d.ts +1 -1
  192. package/tableview/editor/components/editor/form-editor.component.d.ts +6 -4
  193. package/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.d.ts +5 -3
  194. package/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +1 -0
  195. package/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +1 -1
  196. package/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +1 -1
  197. package/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +3 -4
  198. package/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +3 -4
  199. package/tableview/editor/helpers/editor-formly.d.ts +1 -1
  200. package/tableview/editor/services/form-editor.service.d.ts +39 -0
  201. package/tableview/index.d.ts +1 -0
  202. package/tableview/tableview/components/route/tableview-route.component.d.ts +1 -1
  203. package/tableview/tableview/components/tableview/tableview.component.d.ts +1 -1
  204. package/version-info.json +7 -7
@@ -0,0 +1,13 @@
1
+ import { ClassType, ServiceClassType } from '../models/class-service.model';
2
+ import { DataProviderInst } from './base.data-provider';
3
+ export declare class DataProvider extends DataProviderInst<any> {
4
+ protected constructor();
5
+ static create<Model>(): DataProviderInst<Model>;
6
+ static fromClass<Model>(type: ClassType<Model>): DataProviderInst<Model, undefined, ClassType<Model>, undefined>;
7
+ static fromClassWithService<Model, Service>(type: ClassType<Model>, serviceType: ServiceClassType<Service>): DataProviderInst<Model, Service, ClassType<Model>, ServiceClassType<Service>>;
8
+ static fromService<Service, Model>(serviceType: ServiceClassType<Service>): DataProviderInst<Model, Service, undefined, ServiceClassType<Service>>;
9
+ }
10
+ export declare function dataProviderBase<Model>(): DataProviderInst<Model, undefined, undefined, undefined>;
11
+ export declare function dataProviderWithService<Service, Model>(serviceType: ServiceClassType<Service>): DataProviderInst<Model, Service, undefined, ServiceClassType<Service>>;
12
+ export declare function dataProviderFromClass<Model>(type: ClassType<Model>): DataProviderInst<Model, undefined, ClassType<Model>, undefined>;
13
+ export declare function dataProviderFromClass<Model, Service = any>(type: ClassType<Model>, serviceType: ServiceClassType<Service>): DataProviderInst<Model, Service, ClassType<Model>, ServiceClassType<Service>>;
@@ -1,4 +1,4 @@
1
- import { ClassOptType, ClassType, ServiceClassOptType, ServiceClassType } from '../models/class-service.model';
1
+ import { ClassOptType, ServiceClassOptType } from '../models/class-service.model';
2
2
  export type IDataProvider<ModelType = any, ServiceType = any, CT = ClassOptType<ModelType>, ST = ServiceClassOptType<ServiceType>> = {
3
3
  classType: CT;
4
4
  serviceType: ST;
@@ -15,18 +15,6 @@ export type IDataProvider<ModelType = any, ServiceType = any, CT = ClassOptType<
15
15
  export declare class DataProviderInst<Model, Service = any, ModelClass = ClassOptType<Model>, ServiceClass = ServiceClassOptType<Service>> implements IDataProvider<Model, Service, ModelClass, ServiceClass> {
16
16
  readonly classType: ModelClass;
17
17
  readonly serviceType: ServiceClass;
18
- protected constructor(classType: ModelClass, serviceType: ServiceClass);
18
+ constructor(classType: ModelClass, serviceType: ServiceClass);
19
19
  get isDataProvider(): boolean;
20
20
  }
21
- export declare class DataProvider extends DataProviderInst<any> {
22
- protected constructor();
23
- static create<Model>(): DataProviderInst<Model, undefined, undefined, undefined>;
24
- static fromClass<Model>(type: ClassType<Model>): DataProviderInst<Model, undefined, ClassType<Model>, undefined>;
25
- static fromClassWithService<Model, Service>(type: ClassType<Model>, serviceType: ServiceClassType<Service>): DataProviderInst<Model, Service, ClassType<Model>, ServiceClassType<Service>>;
26
- static fromService<Service, Model>(serviceType: ServiceClassType<Service>): DataProviderInst<Model, Service, undefined, ServiceClassType<Service>>;
27
- static fromAnyParam<Model>(): DataProviderInst<Model, undefined, undefined, undefined>;
28
- static fromAnyParam<Model>(type: ClassType<Model>): DataProviderInst<Model, undefined, ClassType<Model>, undefined>;
29
- static fromAnyParam<Model, Service = any>(type: undefined, serviceType: ServiceClassType<Service>): DataProviderInst<Model, Service, undefined, ServiceClassType<Service>>;
30
- static fromAnyParam<Model, Service = any>(type: ClassType<Model>, serviceType: ServiceClassType<Service>): DataProviderInst<Model, Service, ClassType<Model>, ServiceClassType<Service>>;
31
- static fromAnyParam<Model, Service, ModelClass = ClassType<Model>, ServiceClass = ServiceClassType<Service>>(type?: ModelClass, serviceType?: ServiceClass): DataProviderInst<Model, Service, ModelClass, ServiceClass>;
32
- }
@@ -1,6 +1,6 @@
1
1
  import { ArrayItemType } from '../helpers/type-helpers';
2
2
  import { IModelDescriptor } from './model.descriptor';
3
- export interface IEditorDescriptor<EditorModel> {
3
+ export interface IEditorDescriptor<EditorModel, ParentEditorModel = undefined> {
4
4
  model: IModelDescriptor<EditorModel>;
5
5
  isLocalized: boolean;
6
6
  localizationLocaleProperty?: string;
@@ -1,11 +1,11 @@
1
1
  import { IEditorDescriptor } from './editor.descriptor';
2
2
  import { IModelDescriptor } from './model.descriptor';
3
3
  import { ITableDescriptor } from './table.descriptor';
4
- export interface ITableviewDescriptor<TableviewModel, SortProperty, FilterProperty> {
4
+ export interface ITableviewDescriptor<TableviewModel, SortProperty, FilterProperty, ParentEditorModel = undefined> {
5
5
  model: IModelDescriptor<TableviewModel>;
6
6
  table: ITableDescriptor<TableviewModel, SortProperty, FilterProperty>;
7
- detailsEditor: IEditorDescriptor<TableviewModel>;
8
- addEditor: IEditorDescriptor<TableviewModel>;
9
- editEditor: IEditorDescriptor<TableviewModel>;
10
- copy(): ITableviewDescriptor<TableviewModel, SortProperty, FilterProperty>;
7
+ detailsEditor: IEditorDescriptor<TableviewModel, ParentEditorModel>;
8
+ addEditor: IEditorDescriptor<TableviewModel, ParentEditorModel>;
9
+ editEditor: IEditorDescriptor<TableviewModel, ParentEditorModel>;
10
+ copy(): ITableviewDescriptor<TableviewModel, SortProperty, FilterProperty, ParentEditorModel>;
11
11
  }
@@ -11,10 +11,10 @@ export declare class ComponentDirective<C> implements OnInit {
11
11
  [key: string]: any;
12
12
  };
13
13
  attachToHost: boolean;
14
- nodeInjector?: Injector;
14
+ parentInjector?: Injector;
15
15
  private componentInstanceEventEmitter;
16
16
  componentRef: ComponentRef<C>;
17
17
  ngOnInit(): void;
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<ComponentDirective<any>, never>;
19
- static ɵdir: i0.ɵɵDirectiveDeclaration<ComponentDirective<any>, "[mngComponent]", never, { "component": { "alias": "mngComponent"; "required": false; }; "componentIt": { "alias": "injectionToken"; "required": false; }; "inputs": { "alias": "inputs"; "required": false; }; "attachToHost": { "alias": "attachToHost"; "required": false; }; "nodeInjector": { "alias": "nodeInjector"; "required": false; }; }, { "componentInstanceEventEmitter": "instanceCreated"; }, never, never, true, never>;
19
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ComponentDirective<any>, "[mngComponent]", never, { "component": { "alias": "mngComponent"; "required": false; }; "componentIt": { "alias": "injectionToken"; "required": false; }; "inputs": { "alias": "inputs"; "required": false; }; "attachToHost": { "alias": "attachToHost"; "required": false; }; "parentInjector": { "alias": "parentInjector"; "required": false; }; }, { "componentInstanceEventEmitter": "instanceCreated"; }, never, never, true, never>;
20
20
  }
package/core/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export * from './data-list/data-list.model';
7
7
  export * from './data-list/data-list-params-helpers';
8
8
  export * from './data-list/filter-match.model';
9
9
  export * from './data-providers/base.data-provider';
10
+ export * from './data-providers/base-data-provider.factory';
10
11
  export * from './data-providers/lookup.data-provider';
11
12
  export * from './descriptors/action.descriptor';
12
13
  export * from './descriptors/column.descriptor';
@@ -7,6 +7,7 @@ export declare class PermissionService {
7
7
  private readonly injector;
8
8
  private readonly commons;
9
9
  private readonly logger;
10
+ private userRoles$;
10
11
  isPermitted(permissions: APermissions, route?: ActivatedRouteSnapshot, actionCtx?: IActionContextValidation<unknown, unknown>): Observable<boolean>;
11
12
  private isPermittedAll;
12
13
  private isPermittedAny;
@@ -1,14 +1,14 @@
1
- import { Router, Routes } from '@angular/router';
1
+ import { Routes } from '@angular/router';
2
2
  import { Observable } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class CommonsRouterService {
5
- private router;
5
+ private readonly router;
6
6
  private readonly logger;
7
7
  private readonly routesLoadedPropKey;
8
8
  private currentNavigationPath?;
9
9
  private currentNavigationModuleKeys;
10
10
  private lazyLoadedRoutesConfig;
11
- constructor(router: Router);
11
+ constructor();
12
12
  getRouteLoadedChildren(path: string | Array<string>): Routes | undefined;
13
13
  getRouteLoadedChildren$(path: string | Array<string>): Observable<Routes>;
14
14
  initialize(): void;
@@ -7,52 +7,41 @@ export declare class CommonsService {
7
7
  private readonly primengConfig;
8
8
  private readonly translate;
9
9
  private readonly titleService;
10
- private readonly filterService;
11
10
  private readonly moduleConfig;
12
11
  private readonly localStorage;
13
- private routerEventsSubscription?;
14
- private translateLangChangeSubscription?;
15
- private readonly breadcrumbHomeSubject;
16
- private readonly breadcrumbsSubject;
12
+ private readonly destroyRef;
13
+ readonly breadcrumbHome: import("@angular/core").WritableSignal<CommonsMenuItem | null>;
14
+ readonly breadcrumbs: import("@angular/core").WritableSignal<CommonsMenuItem[]>;
17
15
  private breadcrumbsTranslateSubscription?;
18
16
  private breadcrumbHomeTranslateSubscription?;
19
- private _colorScheme;
20
- private _user?;
21
- private userSubject;
22
- private _userRoles;
23
- private userRolesSubject;
24
- private languageSubject;
25
- private dataLanguageSubject;
26
- get appName(): string;
27
- get appOwner(): string;
28
- get appLogoLight(): string;
29
- get appLogoDark(): string;
30
- get appLogoNameLight(): string;
31
- get appLogoNameDark(): string;
32
- get appLanguages(): string[];
33
- get appLanguage(): string | null;
34
- set appLanguage(language: string | null);
35
- get appLanguage$(): import("rxjs").Observable<string | null>;
36
- initLanguage(): string;
37
- getOrInitLanguage(): string;
38
- get appDataLanguages(): string[];
39
- get appDataLanguageDefault(): string;
40
- get appDataLanguage(): string | null;
41
- set appDataLanguage(dataLanguage: string | null);
42
- get appDataLanguage$(): import("rxjs").Observable<string | null>;
43
- get defaultDataLanguage(): string;
44
- get appVersion(): import("@mediusinc/mng-commons/core").VersionConfigType;
45
- get breadcrumbHome$(): import("rxjs").Observable<CommonsMenuItem | null>;
46
- get breadcrumbs$(): import("rxjs").Observable<CommonsMenuItem[]>;
47
- get colorSchemeIsLight(): boolean;
48
- get colorSchemeIsDark(): boolean;
49
- get user(): IUser | undefined;
50
- set user(user: IUser | undefined);
51
- get user$(): import("rxjs").Observable<IUser | undefined>;
52
- get userRoles(): Array<string>;
53
- set userRoles(roles: Array<string>);
54
- get userRoles$(): import("rxjs").Observable<string[]>;
55
- reset(): void;
17
+ colorScheme: import("@angular/core").WritableSignal<import("./tokens/module-config.token").ColorScheme>;
18
+ colorSchemeIsLight: import("@angular/core").Signal<boolean>;
19
+ user: import("@angular/core").WritableSignal<IUser | undefined>;
20
+ userRoles: import("@angular/core").WritableSignal<string[]>;
21
+ appName: import("@angular/core").WritableSignal<string>;
22
+ appOwner: import("@angular/core").WritableSignal<string>;
23
+ private appLogoLight;
24
+ private appLogoDark;
25
+ appLogo: import("@angular/core").Signal<string>;
26
+ private appLogoNameLight;
27
+ private appLogoNameDark;
28
+ appLogoName: import("@angular/core").Signal<string>;
29
+ getDefaultLocale(): string;
30
+ appLocales: import("@angular/core").WritableSignal<string[]>;
31
+ private _appLocale;
32
+ appLocale: import("@angular/core").Signal<string>;
33
+ private initAppLocale;
34
+ setAppLocale(language: string): void;
35
+ clearAppLocale(): void;
36
+ appDataLocales: import("@angular/core").WritableSignal<string[]>;
37
+ private _appDataLocale;
38
+ appDataLocale: import("@angular/core").Signal<string>;
39
+ private initAppDataLocale;
40
+ setAppDataLocale(dataLocale: string): void;
41
+ clearAppDataLocale(): void;
42
+ appVersion: import("@angular/core").WritableSignal<import("@mediusinc/mng-commons/core").VersionConfigType>;
43
+ constructor();
44
+ initialize(): void;
56
45
  findBreadcrumbItem(item: CommonsMenuItem): CommonsMenuItem | null;
57
46
  updateBreadcrumbItem(item: CommonsMenuItem): boolean;
58
47
  private updateBreadcrumbs;
@@ -12,8 +12,8 @@ export interface CommonsModuleConfig {
12
12
  logoNamePath?: string;
13
13
  logoNamePathLight?: string;
14
14
  logoNamePathDark?: string;
15
- languages?: string[];
16
- dataLanguages?: string[];
15
+ locales?: string[];
16
+ dataLocales?: string[];
17
17
  version?: VersionConfigType;
18
18
  colorScheme: ColorScheme;
19
19
  };
@@ -41,10 +41,10 @@ export class NotificationWrapperComponent {
41
41
  }
42
42
  }
43
43
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: NotificationWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: NotificationWrapperComponent, isStandalone: true, selector: "mng-notification-wrapper", ngImport: i0, template: "<ng-content></ng-content>\n<p-confirmDialog appendTo=\"body\" [baseZIndex]=\"50\"></p-confirmDialog>\n\n<p-toast [baseZIndex]=\"50\">\n <ng-template let-message pTemplate=\"message\">\n <span [class]=\"'p-toast-message-icon pi ' + getNotificationIconClass(message)\"></span>\n <div class=\"p-toast-message-text\">\n <div class=\"p-toast-summary\">{{ message.summary }}</div>\n <div class=\"p-toast-detail\">{{ message.detail.slice(0, notificationCutoff) + (message.detail.length > notificationCutoff ? '...' : '') }}</div>\n @if (message.detail.length > notificationCutoff) {\n <div (click)=\"onShowNotificationInDialog(message)\" class=\"p-link font-semibold text-sm mt-2 flex align-items-center\">\n <i class=\"pi pi-chevron-down mr-1\"></i>{{ 'notification.details' | translate }}\n </div>\n }\n </div>\n </ng-template>\n</p-toast>\n\n<p-dialog\n [visible]=\"isDialogNotificationVisible()\"\n (visibleChange)=\"onDialogNotificationVisibilityChange($event)\"\n [styleClass]=\"'p-fluid mng-dialog mng-dialog-xs ' + 'mng-message-detail-dialog mng-message-detail-dialog-' + (dialogNotification()?.severity ?? '')\">\n <ng-template pTemplate=\"header\" mngDialogKeydownHandler>\n <span class=\"p-dialog-title font-bold mng-dialog-success\">\n <span [class]=\"'mr-2 pi ' + getNotificationIconClass(dialogNotification())\"></span>\n {{ dialogNotification()?.summary ?? '' }}\n </span>\n </ng-template>\n <div>\n {{ dialogNotification()?.detail ?? '' }}\n </div>\n</p-dialog>\n", dependencies: [{ kind: "ngmodule", type: ToastModule }, { kind: "component", type: i1.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i3.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i5.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: DialogKeydownHandlerDirective, selector: "[mngDialogKeydownHandler]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: NotificationWrapperComponent, isStandalone: true, selector: "mng-notification-wrapper", ngImport: i0, template: "<ng-content></ng-content>\n<p-confirmDialog appendTo=\"body\" [baseZIndex]=\"50\"></p-confirmDialog>\n\n<p-toast [baseZIndex]=\"50\">\n <ng-template let-message pTemplate=\"message\">\n <span [class]=\"'p-toast-message-icon pi ' + getNotificationIconClass(message)\"></span>\n <div class=\"p-toast-message-text\">\n <div class=\"p-toast-summary\">{{ message.summary }}</div>\n @if (message.detail) {\n <div class=\"p-toast-detail\">{{ message.detail.slice(0, notificationCutoff) + (message.detail.length > notificationCutoff ? '...' : '') }}</div>\n @if (message.detail.length > notificationCutoff) {\n <div (click)=\"onShowNotificationInDialog(message)\" class=\"p-link font-semibold text-sm mt-2 flex align-items-center\">\n <i class=\"pi pi-chevron-down mr-1\"></i>{{ 'notification.details' | translate }}\n </div>\n }\n }\n </div>\n </ng-template>\n</p-toast>\n\n<p-dialog\n [visible]=\"isDialogNotificationVisible()\"\n (visibleChange)=\"onDialogNotificationVisibilityChange($event)\"\n [styleClass]=\"'p-fluid mng-dialog mng-dialog-xs ' + 'mng-message-detail-dialog mng-message-detail-dialog-' + (dialogNotification()?.severity ?? '')\">\n <ng-template pTemplate=\"header\" mngDialogKeydownHandler>\n <span class=\"p-dialog-title font-bold mng-dialog-success\">\n <span [class]=\"'mr-2 pi ' + getNotificationIconClass(dialogNotification())\"></span>\n {{ dialogNotification()?.summary ?? '' }}\n </span>\n </ng-template>\n <div>\n {{ dialogNotification()?.detail ?? '' }}\n </div>\n</p-dialog>\n", dependencies: [{ kind: "ngmodule", type: ToastModule }, { kind: "component", type: i1.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i3.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i5.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: DialogKeydownHandlerDirective, selector: "[mngDialogKeydownHandler]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45
45
  }
46
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: NotificationWrapperComponent, decorators: [{
47
47
  type: Component,
48
- args: [{ selector: 'mng-notification-wrapper', standalone: true, imports: [ToastModule, ConfirmDialogModule, TranslateModule, DialogModule, DialogKeydownHandlerDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<p-confirmDialog appendTo=\"body\" [baseZIndex]=\"50\"></p-confirmDialog>\n\n<p-toast [baseZIndex]=\"50\">\n <ng-template let-message pTemplate=\"message\">\n <span [class]=\"'p-toast-message-icon pi ' + getNotificationIconClass(message)\"></span>\n <div class=\"p-toast-message-text\">\n <div class=\"p-toast-summary\">{{ message.summary }}</div>\n <div class=\"p-toast-detail\">{{ message.detail.slice(0, notificationCutoff) + (message.detail.length > notificationCutoff ? '...' : '') }}</div>\n @if (message.detail.length > notificationCutoff) {\n <div (click)=\"onShowNotificationInDialog(message)\" class=\"p-link font-semibold text-sm mt-2 flex align-items-center\">\n <i class=\"pi pi-chevron-down mr-1\"></i>{{ 'notification.details' | translate }}\n </div>\n }\n </div>\n </ng-template>\n</p-toast>\n\n<p-dialog\n [visible]=\"isDialogNotificationVisible()\"\n (visibleChange)=\"onDialogNotificationVisibilityChange($event)\"\n [styleClass]=\"'p-fluid mng-dialog mng-dialog-xs ' + 'mng-message-detail-dialog mng-message-detail-dialog-' + (dialogNotification()?.severity ?? '')\">\n <ng-template pTemplate=\"header\" mngDialogKeydownHandler>\n <span class=\"p-dialog-title font-bold mng-dialog-success\">\n <span [class]=\"'mr-2 pi ' + getNotificationIconClass(dialogNotification())\"></span>\n {{ dialogNotification()?.summary ?? '' }}\n </span>\n </ng-template>\n <div>\n {{ dialogNotification()?.detail ?? '' }}\n </div>\n</p-dialog>\n" }]
48
+ args: [{ selector: 'mng-notification-wrapper', standalone: true, imports: [ToastModule, ConfirmDialogModule, TranslateModule, DialogModule, DialogKeydownHandlerDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<p-confirmDialog appendTo=\"body\" [baseZIndex]=\"50\"></p-confirmDialog>\n\n<p-toast [baseZIndex]=\"50\">\n <ng-template let-message pTemplate=\"message\">\n <span [class]=\"'p-toast-message-icon pi ' + getNotificationIconClass(message)\"></span>\n <div class=\"p-toast-message-text\">\n <div class=\"p-toast-summary\">{{ message.summary }}</div>\n @if (message.detail) {\n <div class=\"p-toast-detail\">{{ message.detail.slice(0, notificationCutoff) + (message.detail.length > notificationCutoff ? '...' : '') }}</div>\n @if (message.detail.length > notificationCutoff) {\n <div (click)=\"onShowNotificationInDialog(message)\" class=\"p-link font-semibold text-sm mt-2 flex align-items-center\">\n <i class=\"pi pi-chevron-down mr-1\"></i>{{ 'notification.details' | translate }}\n </div>\n }\n }\n </div>\n </ng-template>\n</p-toast>\n\n<p-dialog\n [visible]=\"isDialogNotificationVisible()\"\n (visibleChange)=\"onDialogNotificationVisibilityChange($event)\"\n [styleClass]=\"'p-fluid mng-dialog mng-dialog-xs ' + 'mng-message-detail-dialog mng-message-detail-dialog-' + (dialogNotification()?.severity ?? '')\">\n <ng-template pTemplate=\"header\" mngDialogKeydownHandler>\n <span class=\"p-dialog-title font-bold mng-dialog-success\">\n <span [class]=\"'mr-2 pi ' + getNotificationIconClass(dialogNotification())\"></span>\n {{ dialogNotification()?.summary ?? '' }}\n </span>\n </ng-template>\n <div>\n {{ dialogNotification()?.detail ?? '' }}\n </div>\n</p-dialog>\n" }]
49
49
  }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29yZS9zcmMvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vY29yZS9zcmMvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRW5GLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQzs7Ozs7OztBQVNoRyxNQUFNLE9BQU8sNEJBQTRCO0lBUHpDO1FBUW9CLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUNqQyxnQ0FBMkIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDakYsdUJBQWtCLEdBQUcsTUFBTSxDQUFpQixJQUFJLENBQUMsQ0FBQztLQTRCNUQ7SUExQlUsd0JBQXdCLENBQUMsT0FBdUI7UUFDbkQsSUFBSSxPQUFPLEVBQUUsSUFBSTtZQUFFLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQztRQUV2QyxRQUFRLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUN4QixLQUFLLE1BQU07Z0JBQ1AsT0FBTyxnQkFBZ0IsQ0FBQztZQUM1QixLQUFLLFNBQVM7Z0JBQ1YsT0FBTyx5QkFBeUIsQ0FBQztZQUNyQyxLQUFLLE9BQU87Z0JBQ1IsT0FBTyxpQkFBaUIsQ0FBQztZQUM3QixLQUFLLFNBQVM7Z0JBQ1YsT0FBTyxVQUFVLENBQUM7WUFDdEI7Z0JBQ0ksT0FBTyxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNMLENBQUM7SUFFTSwwQkFBMEIsQ0FBQyxPQUFnQjtRQUM5QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxvQ0FBb0MsQ0FBQyxPQUFnQjtRQUN4RCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLENBQUM7SUFDTCxDQUFDOzhHQTlCUSw0QkFBNEI7a0dBQTVCLDRCQUE0QixvRkNqQnpDLDBuREFnQ0EsMkNEbEJjLFdBQVcsOGNBQUUsbUJBQW1CLG9tQkFBRSxlQUFlLDJGQUFFLFlBQVksd3VCQUFFLDZCQUE2Qjs7MkZBRy9GLDRCQUE0QjtrQkFQeEMsU0FBUzsrQkFDSSwwQkFBMEIsY0FDeEIsSUFBSSxXQUVQLENBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsNkJBQTZCLENBQUMsbUJBQ3hGLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge01lc3NhZ2V9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7Q29uZmlybURpYWxvZ01vZHVsZX0gZnJvbSAncHJpbWVuZy9jb25maXJtZGlhbG9nJztcbmltcG9ydCB7RGlhbG9nTW9kdWxlfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XG5pbXBvcnQge1RvYXN0TW9kdWxlfSBmcm9tICdwcmltZW5nL3RvYXN0JztcblxuaW1wb3J0IHtEaWFsb2dLZXlkb3duSGFuZGxlckRpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9kaWFsb2cta2V5ZG93bi1oYW5kbGVyLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLW5vdGlmaWNhdGlvbi13cmFwcGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnbm90aWZpY2F0aW9uLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtUb2FzdE1vZHVsZSwgQ29uZmlybURpYWxvZ01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBEaWFsb2dNb2R1bGUsIERpYWxvZ0tleWRvd25IYW5kbGVyRGlyZWN0aXZlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25XcmFwcGVyQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbm90aWZpY2F0aW9uQ3V0b2ZmID0gNzA7XG4gICAgcHVibGljIGlzRGlhbG9nTm90aWZpY2F0aW9uVmlzaWJsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZGlhbG9nTm90aWZpY2F0aW9uKCkgIT09IG51bGwpO1xuICAgIHB1YmxpYyBkaWFsb2dOb3RpZmljYXRpb24gPSBzaWduYWw8TWVzc2FnZSB8IG51bGw+KG51bGwpO1xuXG4gICAgcHVibGljIGdldE5vdGlmaWNhdGlvbkljb25DbGFzcyhtZXNzYWdlOiBNZXNzYWdlIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIGlmIChtZXNzYWdlPy5pY29uKSByZXR1cm4gbWVzc2FnZS5pY29uO1xuXG4gICAgICAgIHN3aXRjaCAobWVzc2FnZT8uc2V2ZXJpdHkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2luZm8nOlxuICAgICAgICAgICAgICAgIHJldHVybiAncGktaW5mby1jaXJjbGUnO1xuICAgICAgICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdwaS1leGNsYW1hdGlvbi10cmlhbmdsZSc7XG4gICAgICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdwaS10aW1lcy1jaXJjbGUnO1xuICAgICAgICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdwaS1jaGVjayc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblNob3dOb3RpZmljYXRpb25JbkRpYWxvZyhtZXNzYWdlOiBNZXNzYWdlKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nTm90aWZpY2F0aW9uLnNldChtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25EaWFsb2dOb3RpZmljYXRpb25WaXNpYmlsaXR5Q2hhbmdlKHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKCF2aXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ05vdGlmaWNhdGlvbi5zZXQobnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48cC1jb25maXJtRGlhbG9nIGFwcGVuZFRvPVwiYm9keVwiIFtiYXNlWkluZGV4XT1cIjUwXCI+PC9wLWNvbmZpcm1EaWFsb2c+XG5cbjxwLXRvYXN0IFtiYXNlWkluZGV4XT1cIjUwXCI+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1tZXNzYWdlIHBUZW1wbGF0ZT1cIm1lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gW2NsYXNzXT1cIidwLXRvYXN0LW1lc3NhZ2UtaWNvbiBwaSAnICsgZ2V0Tm90aWZpY2F0aW9uSWNvbkNsYXNzKG1lc3NhZ2UpXCI+PC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicC10b2FzdC1tZXNzYWdlLXRleHRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLXRvYXN0LXN1bW1hcnlcIj57eyBtZXNzYWdlLnN1bW1hcnkgfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLXRvYXN0LWRldGFpbFwiPnt7IG1lc3NhZ2UuZGV0YWlsLnNsaWNlKDAsIG5vdGlmaWNhdGlvbkN1dG9mZikgKyAobWVzc2FnZS5kZXRhaWwubGVuZ3RoID4gbm90aWZpY2F0aW9uQ3V0b2ZmID8gJy4uLicgOiAnJykgfX08L2Rpdj5cbiAgICAgICAgICAgIEBpZiAobWVzc2FnZS5kZXRhaWwubGVuZ3RoID4gbm90aWZpY2F0aW9uQ3V0b2ZmKSB7XG4gICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwib25TaG93Tm90aWZpY2F0aW9uSW5EaWFsb2cobWVzc2FnZSlcIiBjbGFzcz1cInAtbGluayBmb250LXNlbWlib2xkIHRleHQtc20gbXQtMiBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWNoZXZyb24tZG93biBtci0xXCI+PC9pPnt7ICdub3RpZmljYXRpb24uZGV0YWlscycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvcC10b2FzdD5cblxuPHAtZGlhbG9nXG4gICAgW3Zpc2libGVdPVwiaXNEaWFsb2dOb3RpZmljYXRpb25WaXNpYmxlKClcIlxuICAgICh2aXNpYmxlQ2hhbmdlKT1cIm9uRGlhbG9nTm90aWZpY2F0aW9uVmlzaWJpbGl0eUNoYW5nZSgkZXZlbnQpXCJcbiAgICBbc3R5bGVDbGFzc109XCIncC1mbHVpZCBtbmctZGlhbG9nIG1uZy1kaWFsb2cteHMgJyArICdtbmctbWVzc2FnZS1kZXRhaWwtZGlhbG9nIG1uZy1tZXNzYWdlLWRldGFpbC1kaWFsb2ctJyArIChkaWFsb2dOb3RpZmljYXRpb24oKT8uc2V2ZXJpdHkgPz8gJycpXCI+XG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIG1uZ0RpYWxvZ0tleWRvd25IYW5kbGVyPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInAtZGlhbG9nLXRpdGxlIGZvbnQtYm9sZCBtbmctZGlhbG9nLXN1Y2Nlc3NcIj5cbiAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCInbXItMiBwaSAnICsgZ2V0Tm90aWZpY2F0aW9uSWNvbkNsYXNzKGRpYWxvZ05vdGlmaWNhdGlvbigpKVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIHt7IGRpYWxvZ05vdGlmaWNhdGlvbigpPy5zdW1tYXJ5ID8/ICcnIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxkaXY+XG4gICAgICAgIHt7IGRpYWxvZ05vdGlmaWNhdGlvbigpPy5kZXRhaWwgPz8gJycgfX1cbiAgICA8L2Rpdj5cbjwvcC1kaWFsb2c+XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29yZS9zcmMvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vY29yZS9zcmMvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRW5GLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQzs7Ozs7OztBQVNoRyxNQUFNLE9BQU8sNEJBQTRCO0lBUHpDO1FBUW9CLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUNqQyxnQ0FBMkIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDakYsdUJBQWtCLEdBQUcsTUFBTSxDQUFpQixJQUFJLENBQUMsQ0FBQztLQTRCNUQ7SUExQlUsd0JBQXdCLENBQUMsT0FBdUI7UUFDbkQsSUFBSSxPQUFPLEVBQUUsSUFBSTtZQUFFLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQztRQUV2QyxRQUFRLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUN4QixLQUFLLE1BQU07Z0JBQ1AsT0FBTyxnQkFBZ0IsQ0FBQztZQUM1QixLQUFLLFNBQVM7Z0JBQ1YsT0FBTyx5QkFBeUIsQ0FBQztZQUNyQyxLQUFLLE9BQU87Z0JBQ1IsT0FBTyxpQkFBaUIsQ0FBQztZQUM3QixLQUFLLFNBQVM7Z0JBQ1YsT0FBTyxVQUFVLENBQUM7WUFDdEI7Z0JBQ0ksT0FBTyxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNMLENBQUM7SUFFTSwwQkFBMEIsQ0FBQyxPQUFnQjtRQUM5QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxvQ0FBb0MsQ0FBQyxPQUFnQjtRQUN4RCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLENBQUM7SUFDTCxDQUFDOzhHQTlCUSw0QkFBNEI7a0dBQTVCLDRCQUE0QixvRkNqQnpDLHFzREFrQ0EsMkNEcEJjLFdBQVcsOGNBQUUsbUJBQW1CLG9tQkFBRSxlQUFlLDJGQUFFLFlBQVksd3VCQUFFLDZCQUE2Qjs7MkZBRy9GLDRCQUE0QjtrQkFQeEMsU0FBUzsrQkFDSSwwQkFBMEIsY0FDeEIsSUFBSSxXQUVQLENBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsNkJBQTZCLENBQUMsbUJBQ3hGLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge01lc3NhZ2V9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7Q29uZmlybURpYWxvZ01vZHVsZX0gZnJvbSAncHJpbWVuZy9jb25maXJtZGlhbG9nJztcbmltcG9ydCB7RGlhbG9nTW9kdWxlfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XG5pbXBvcnQge1RvYXN0TW9kdWxlfSBmcm9tICdwcmltZW5nL3RvYXN0JztcblxuaW1wb3J0IHtEaWFsb2dLZXlkb3duSGFuZGxlckRpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9kaWFsb2cta2V5ZG93bi1oYW5kbGVyLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLW5vdGlmaWNhdGlvbi13cmFwcGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnbm90aWZpY2F0aW9uLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtUb2FzdE1vZHVsZSwgQ29uZmlybURpYWxvZ01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBEaWFsb2dNb2R1bGUsIERpYWxvZ0tleWRvd25IYW5kbGVyRGlyZWN0aXZlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25XcmFwcGVyQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbm90aWZpY2F0aW9uQ3V0b2ZmID0gNzA7XG4gICAgcHVibGljIGlzRGlhbG9nTm90aWZpY2F0aW9uVmlzaWJsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZGlhbG9nTm90aWZpY2F0aW9uKCkgIT09IG51bGwpO1xuICAgIHB1YmxpYyBkaWFsb2dOb3RpZmljYXRpb24gPSBzaWduYWw8TWVzc2FnZSB8IG51bGw+KG51bGwpO1xuXG4gICAgcHVibGljIGdldE5vdGlmaWNhdGlvbkljb25DbGFzcyhtZXNzYWdlOiBNZXNzYWdlIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIGlmIChtZXNzYWdlPy5pY29uKSByZXR1cm4gbWVzc2FnZS5pY29uO1xuXG4gICAgICAgIHN3aXRjaCAobWVzc2FnZT8uc2V2ZXJpdHkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2luZm8nOlxuICAgICAgICAgICAgICAgIHJldHVybiAncGktaW5mby1jaXJjbGUnO1xuICAgICAgICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdwaS1leGNsYW1hdGlvbi10cmlhbmdsZSc7XG4gICAgICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdwaS10aW1lcy1jaXJjbGUnO1xuICAgICAgICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdwaS1jaGVjayc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblNob3dOb3RpZmljYXRpb25JbkRpYWxvZyhtZXNzYWdlOiBNZXNzYWdlKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nTm90aWZpY2F0aW9uLnNldChtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25EaWFsb2dOb3RpZmljYXRpb25WaXNpYmlsaXR5Q2hhbmdlKHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKCF2aXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ05vdGlmaWNhdGlvbi5zZXQobnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48cC1jb25maXJtRGlhbG9nIGFwcGVuZFRvPVwiYm9keVwiIFtiYXNlWkluZGV4XT1cIjUwXCI+PC9wLWNvbmZpcm1EaWFsb2c+XG5cbjxwLXRvYXN0IFtiYXNlWkluZGV4XT1cIjUwXCI+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1tZXNzYWdlIHBUZW1wbGF0ZT1cIm1lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gW2NsYXNzXT1cIidwLXRvYXN0LW1lc3NhZ2UtaWNvbiBwaSAnICsgZ2V0Tm90aWZpY2F0aW9uSWNvbkNsYXNzKG1lc3NhZ2UpXCI+PC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicC10b2FzdC1tZXNzYWdlLXRleHRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLXRvYXN0LXN1bW1hcnlcIj57eyBtZXNzYWdlLnN1bW1hcnkgfX08L2Rpdj5cbiAgICAgICAgICAgIEBpZiAobWVzc2FnZS5kZXRhaWwpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC10b2FzdC1kZXRhaWxcIj57eyBtZXNzYWdlLmRldGFpbC5zbGljZSgwLCBub3RpZmljYXRpb25DdXRvZmYpICsgKG1lc3NhZ2UuZGV0YWlsLmxlbmd0aCA+IG5vdGlmaWNhdGlvbkN1dG9mZiA/ICcuLi4nIDogJycpIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgQGlmIChtZXNzYWdlLmRldGFpbC5sZW5ndGggPiBub3RpZmljYXRpb25DdXRvZmYpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwib25TaG93Tm90aWZpY2F0aW9uSW5EaWFsb2cobWVzc2FnZSlcIiBjbGFzcz1cInAtbGluayBmb250LXNlbWlib2xkIHRleHQtc20gbXQtMiBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1jaGV2cm9uLWRvd24gbXItMVwiPjwvaT57eyAnbm90aWZpY2F0aW9uLmRldGFpbHMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvcC10b2FzdD5cblxuPHAtZGlhbG9nXG4gICAgW3Zpc2libGVdPVwiaXNEaWFsb2dOb3RpZmljYXRpb25WaXNpYmxlKClcIlxuICAgICh2aXNpYmxlQ2hhbmdlKT1cIm9uRGlhbG9nTm90aWZpY2F0aW9uVmlzaWJpbGl0eUNoYW5nZSgkZXZlbnQpXCJcbiAgICBbc3R5bGVDbGFzc109XCIncC1mbHVpZCBtbmctZGlhbG9nIG1uZy1kaWFsb2cteHMgJyArICdtbmctbWVzc2FnZS1kZXRhaWwtZGlhbG9nIG1uZy1tZXNzYWdlLWRldGFpbC1kaWFsb2ctJyArIChkaWFsb2dOb3RpZmljYXRpb24oKT8uc2V2ZXJpdHkgPz8gJycpXCI+XG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIG1uZ0RpYWxvZ0tleWRvd25IYW5kbGVyPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInAtZGlhbG9nLXRpdGxlIGZvbnQtYm9sZCBtbmctZGlhbG9nLXN1Y2Nlc3NcIj5cbiAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCInbXItMiBwaSAnICsgZ2V0Tm90aWZpY2F0aW9uSWNvbkNsYXNzKGRpYWxvZ05vdGlmaWNhdGlvbigpKVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIHt7IGRpYWxvZ05vdGlmaWNhdGlvbigpPy5zdW1tYXJ5ID8/ICcnIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxkaXY+XG4gICAgICAgIHt7IGRpYWxvZ05vdGlmaWNhdGlvbigpPy5kZXRhaWwgPz8gJycgfX1cbiAgICA8L2Rpdj5cbjwvcC1kaWFsb2c+XG4iXX0=
@@ -12,10 +12,10 @@ export class ErrorPageComponent {
12
12
  this.commons = commons;
13
13
  }
14
14
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ErrorPageComponent, deps: [{ token: i1.CommonsService }], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ErrorPageComponent, isStandalone: true, selector: "mng-error-page", ngImport: i0, template: "<div [class]=\"'exception-body min-h-screen ' + (commons.colorSchemeIsLight ? 'layout-light' : 'layout-dark')\">\n <div class=\"exception-container min-h-screen flex align-items-center justify-content-center flex-column bg-auto md:bg-contain bg-no-repeat\">\n <div class=\"exception-panel text-center flex align-items-center justify-content-center flex-column\">\n <h1 class=\"text-red-400 mb-0\">{{ 'pages.notFound.title' | translate }}</h1>\n <h3 class=\"text-red-300\">{{ 'pages.notFound.subtitle' | translate }}</h3>\n <button type=\"button\" pButton [label]=\"'general.returnHome' | translate\" [routerLink]=\"['/']\"></button>\n </div>\n <div class=\"exception-footer align-items-center flex\">\n <img [src]=\"commons.colorSchemeIsLight ? commons.appLogoDark : commons.appLogoLight\" class=\"exception-logo\" alt=\"App logo\" />\n <img [src]=\"commons.colorSchemeIsLight ? commons.appLogoNameDark : commons.appLogoNameLight\" class=\"exception-appname ml-3\" alt=\"App name\" />\n </div>\n </div>\n</div>\n", styles: [".exception-body{background:var(--surface-ground)}.exception-body .exception-container{background:var(--exception-pages-image);background-repeat:no-repeat;background-size:contain;box-sizing:border-box}.exception-body .exception-container .exception-panel{box-sizing:border-box;flex-grow:1;margin-top:3rem;margin-bottom:3rem}.exception-body .exception-container .exception-panel h1{font-size:140px;font-weight:900;text-shadow:0 0 50px rgba(252,97,97,.2)}.exception-body .exception-container .exception-panel h3{font-size:80px;font-weight:900;margin-top:-90px;margin-bottom:50px}.exception-body .exception-container .exception-panel button{margin-top:50px}.exception-body .exception-container .exception-footer{margin-bottom:2rem}.exception-body .exception-container .exception-footer .exception-logo{width:34px}.exception-body .exception-container .exception-footer .exception-appname{width:72px}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ErrorPageComponent, isStandalone: true, selector: "mng-error-page", ngImport: i0, template: "<div [class]=\"'exception-body min-h-screen ' + (commons.colorSchemeIsLight() ? 'layout-light' : 'layout-dark')\">\n <div class=\"exception-container min-h-screen flex align-items-center justify-content-center flex-column bg-auto md:bg-contain bg-no-repeat\">\n <div class=\"exception-panel text-center flex align-items-center justify-content-center flex-column\">\n <h1 class=\"text-red-400 mb-0\">{{ 'pages.notFound.title' | translate }}</h1>\n <h3 class=\"text-red-300\">{{ 'pages.notFound.subtitle' | translate }}</h3>\n <button type=\"button\" pButton [label]=\"'general.returnHome' | translate\" [routerLink]=\"['/']\"></button>\n </div>\n <div class=\"exception-footer align-items-center flex\">\n <img [src]=\"commons.appLogo()\" class=\"exception-logo\" alt=\"App logo\" />\n <img [src]=\"commons.appLogoName()\" class=\"exception-appname ml-3\" alt=\"App name\" />\n </div>\n </div>\n</div>\n", styles: [".exception-body{background:var(--surface-ground)}.exception-body .exception-container{background:var(--exception-pages-image);background-repeat:no-repeat;background-size:contain;box-sizing:border-box}.exception-body .exception-container .exception-panel{box-sizing:border-box;flex-grow:1;margin-top:3rem;margin-bottom:3rem}.exception-body .exception-container .exception-panel h1{font-size:140px;font-weight:900;text-shadow:0 0 50px rgba(252,97,97,.2)}.exception-body .exception-container .exception-panel h3{font-size:80px;font-weight:900;margin-top:-90px;margin-bottom:50px}.exception-body .exception-container .exception-panel button{margin-top:50px}.exception-body .exception-container .exception-footer{margin-bottom:2rem}.exception-body .exception-container .exception-footer .exception-logo{width:34px}.exception-body .exception-container .exception-footer .exception-appname{width:72px}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
16
  }
17
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ErrorPageComponent, decorators: [{
18
18
  type: Component,
19
- args: [{ standalone: true, selector: 'mng-error-page', imports: [ButtonModule, TranslateModule, RouterLink], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"'exception-body min-h-screen ' + (commons.colorSchemeIsLight ? 'layout-light' : 'layout-dark')\">\n <div class=\"exception-container min-h-screen flex align-items-center justify-content-center flex-column bg-auto md:bg-contain bg-no-repeat\">\n <div class=\"exception-panel text-center flex align-items-center justify-content-center flex-column\">\n <h1 class=\"text-red-400 mb-0\">{{ 'pages.notFound.title' | translate }}</h1>\n <h3 class=\"text-red-300\">{{ 'pages.notFound.subtitle' | translate }}</h3>\n <button type=\"button\" pButton [label]=\"'general.returnHome' | translate\" [routerLink]=\"['/']\"></button>\n </div>\n <div class=\"exception-footer align-items-center flex\">\n <img [src]=\"commons.colorSchemeIsLight ? commons.appLogoDark : commons.appLogoLight\" class=\"exception-logo\" alt=\"App logo\" />\n <img [src]=\"commons.colorSchemeIsLight ? commons.appLogoNameDark : commons.appLogoNameLight\" class=\"exception-appname ml-3\" alt=\"App name\" />\n </div>\n </div>\n</div>\n", styles: [".exception-body{background:var(--surface-ground)}.exception-body .exception-container{background:var(--exception-pages-image);background-repeat:no-repeat;background-size:contain;box-sizing:border-box}.exception-body .exception-container .exception-panel{box-sizing:border-box;flex-grow:1;margin-top:3rem;margin-bottom:3rem}.exception-body .exception-container .exception-panel h1{font-size:140px;font-weight:900;text-shadow:0 0 50px rgba(252,97,97,.2)}.exception-body .exception-container .exception-panel h3{font-size:80px;font-weight:900;margin-top:-90px;margin-bottom:50px}.exception-body .exception-container .exception-panel button{margin-top:50px}.exception-body .exception-container .exception-footer{margin-bottom:2rem}.exception-body .exception-container .exception-footer .exception-logo{width:34px}.exception-body .exception-container .exception-footer .exception-appname{width:72px}\n"] }]
19
+ args: [{ standalone: true, selector: 'mng-error-page', imports: [ButtonModule, TranslateModule, RouterLink], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"'exception-body min-h-screen ' + (commons.colorSchemeIsLight() ? 'layout-light' : 'layout-dark')\">\n <div class=\"exception-container min-h-screen flex align-items-center justify-content-center flex-column bg-auto md:bg-contain bg-no-repeat\">\n <div class=\"exception-panel text-center flex align-items-center justify-content-center flex-column\">\n <h1 class=\"text-red-400 mb-0\">{{ 'pages.notFound.title' | translate }}</h1>\n <h3 class=\"text-red-300\">{{ 'pages.notFound.subtitle' | translate }}</h3>\n <button type=\"button\" pButton [label]=\"'general.returnHome' | translate\" [routerLink]=\"['/']\"></button>\n </div>\n <div class=\"exception-footer align-items-center flex\">\n <img [src]=\"commons.appLogo()\" class=\"exception-logo\" alt=\"App logo\" />\n <img [src]=\"commons.appLogoName()\" class=\"exception-appname ml-3\" alt=\"App name\" />\n </div>\n </div>\n</div>\n", styles: [".exception-body{background:var(--surface-ground)}.exception-body .exception-container{background:var(--exception-pages-image);background-repeat:no-repeat;background-size:contain;box-sizing:border-box}.exception-body .exception-container .exception-panel{box-sizing:border-box;flex-grow:1;margin-top:3rem;margin-bottom:3rem}.exception-body .exception-container .exception-panel h1{font-size:140px;font-weight:900;text-shadow:0 0 50px rgba(252,97,97,.2)}.exception-body .exception-container .exception-panel h3{font-size:80px;font-weight:900;margin-top:-90px;margin-bottom:50px}.exception-body .exception-container .exception-panel button{margin-top:50px}.exception-body .exception-container .exception-footer{margin-bottom:2rem}.exception-body .exception-container .exception-footer .exception-logo{width:34px}.exception-body .exception-container .exception-footer .exception-appname{width:72px}\n"] }]
20
20
  }], ctorParameters: () => [{ type: i1.CommonsService }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IucGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9jb3JlL3NyYy9jb21wb25lbnRzL3BhZ2VzL2Vycm9yL2Vycm9yLnBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY29yZS9zcmMvY29tcG9uZW50cy9wYWdlcy9lcnJvci9lcnJvci5wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7OztBQVVqRSxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLFlBQW1CLE9BQXVCO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBQUcsQ0FBQzs4R0FEckMsa0JBQWtCO2tHQUFsQixrQkFBa0IsMEVDaEIvQiwra0NBYUEseTdCREZjLFlBQVksc0tBQUUsZUFBZSw0RkFBRSxVQUFVOzsyRkFLMUMsa0JBQWtCO2tCQVI5QixTQUFTO2lDQUNNLElBQUksWUFDTixnQkFBZ0IsV0FDakIsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxtQkFHbkMsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlckxpbmt9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5cbmltcG9ydCB7Q29tbW9uc1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbnMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctZXJyb3ItcGFnZScsXG4gICAgaW1wb3J0czogW0J1dHRvbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBSb3V0ZXJMaW5rXSxcbiAgICBzdHlsZVVybHM6IFsnZXJyb3IucGFnZS5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lcnJvci5wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFcnJvclBhZ2VDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjb21tb25zOiBDb21tb25zU2VydmljZSkge31cbn1cbiIsIjxkaXYgW2NsYXNzXT1cIidleGNlcHRpb24tYm9keSBtaW4taC1zY3JlZW4gJyArIChjb21tb25zLmNvbG9yU2NoZW1lSXNMaWdodCA/ICdsYXlvdXQtbGlnaHQnIDogJ2xheW91dC1kYXJrJylcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXhjZXB0aW9uLWNvbnRhaW5lciBtaW4taC1zY3JlZW4gZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtbiBiZy1hdXRvIG1kOmJnLWNvbnRhaW4gYmctbm8tcmVwZWF0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJleGNlcHRpb24tcGFuZWwgdGV4dC1jZW50ZXIgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgPGgxIGNsYXNzPVwidGV4dC1yZWQtNDAwIG1iLTBcIj57eyAncGFnZXMubm90Rm91bmQudGl0bGUnIHwgdHJhbnNsYXRlIH19PC9oMT5cbiAgICAgICAgICAgIDxoMyBjbGFzcz1cInRleHQtcmVkLTMwMFwiPnt7ICdwYWdlcy5ub3RGb3VuZC5zdWJ0aXRsZScgfCB0cmFuc2xhdGUgfX08L2gzPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgcEJ1dHRvbiBbbGFiZWxdPVwiJ2dlbmVyYWwucmV0dXJuSG9tZScgfCB0cmFuc2xhdGVcIiBbcm91dGVyTGlua109XCJbJy8nXVwiPjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4Y2VwdGlvbi1mb290ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXhcIj5cbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJjb21tb25zLmNvbG9yU2NoZW1lSXNMaWdodCA/IGNvbW1vbnMuYXBwTG9nb0RhcmsgOiBjb21tb25zLmFwcExvZ29MaWdodFwiIGNsYXNzPVwiZXhjZXB0aW9uLWxvZ29cIiBhbHQ9XCJBcHAgbG9nb1wiIC8+XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwiY29tbW9ucy5jb2xvclNjaGVtZUlzTGlnaHQgPyBjb21tb25zLmFwcExvZ29OYW1lRGFyayA6IGNvbW1vbnMuYXBwTG9nb05hbWVMaWdodFwiIGNsYXNzPVwiZXhjZXB0aW9uLWFwcG5hbWUgbWwtM1wiIGFsdD1cIkFwcCBuYW1lXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IucGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9jb3JlL3NyYy9jb21wb25lbnRzL3BhZ2VzL2Vycm9yL2Vycm9yLnBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY29yZS9zcmMvY29tcG9uZW50cy9wYWdlcy9lcnJvci9lcnJvci5wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7OztBQVVqRSxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLFlBQW1CLE9BQXVCO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBQUcsQ0FBQzs4R0FEckMsa0JBQWtCO2tHQUFsQixrQkFBa0IsMEVDaEIvQixpK0JBYUEseTdCREZjLFlBQVksc0tBQUUsZUFBZSw0RkFBRSxVQUFVOzsyRkFLMUMsa0JBQWtCO2tCQVI5QixTQUFTO2lDQUNNLElBQUksWUFDTixnQkFBZ0IsV0FDakIsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxtQkFHbkMsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlckxpbmt9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5cbmltcG9ydCB7Q29tbW9uc1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbnMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctZXJyb3ItcGFnZScsXG4gICAgaW1wb3J0czogW0J1dHRvbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBSb3V0ZXJMaW5rXSxcbiAgICBzdHlsZVVybHM6IFsnZXJyb3IucGFnZS5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lcnJvci5wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFcnJvclBhZ2VDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjb21tb25zOiBDb21tb25zU2VydmljZSkge31cbn1cbiIsIjxkaXYgW2NsYXNzXT1cIidleGNlcHRpb24tYm9keSBtaW4taC1zY3JlZW4gJyArIChjb21tb25zLmNvbG9yU2NoZW1lSXNMaWdodCgpID8gJ2xheW91dC1saWdodCcgOiAnbGF5b3V0LWRhcmsnKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJleGNlcHRpb24tY29udGFpbmVyIG1pbi1oLXNjcmVlbiBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uIGJnLWF1dG8gbWQ6YmctY29udGFpbiBiZy1uby1yZXBlYXRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4Y2VwdGlvbi1wYW5lbCB0ZXh0LWNlbnRlciBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3M9XCJ0ZXh0LXJlZC00MDAgbWItMFwiPnt7ICdwYWdlcy5ub3RGb3VuZC50aXRsZScgfCB0cmFuc2xhdGUgfX08L2gxPlxuICAgICAgICAgICAgPGgzIGNsYXNzPVwidGV4dC1yZWQtMzAwXCI+e3sgJ3BhZ2VzLm5vdEZvdW5kLnN1YnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDM+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBwQnV0dG9uIFtsYWJlbF09XCInZ2VuZXJhbC5yZXR1cm5Ib21lJyB8IHRyYW5zbGF0ZVwiIFtyb3V0ZXJMaW5rXT1cIlsnLyddXCI+PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXhjZXB0aW9uLWZvb3RlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleFwiPlxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImNvbW1vbnMuYXBwTG9nbygpXCIgY2xhc3M9XCJleGNlcHRpb24tbG9nb1wiIGFsdD1cIkFwcCBsb2dvXCIgLz5cbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJjb21tb25zLmFwcExvZ29OYW1lKClcIiBjbGFzcz1cImV4Y2VwdGlvbi1hcHBuYW1lIG1sLTNcIiBhbHQ9XCJBcHAgbmFtZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -12,10 +12,10 @@ export class NotFoundPageComponent {
12
12
  this.commons = commons;
13
13
  }
14
14
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: NotFoundPageComponent, deps: [{ token: i1.CommonsService }], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: NotFoundPageComponent, isStandalone: true, selector: "mng-not-found-page", ngImport: i0, template: "<div [class]=\"'exception-body min-h-screen ' + (commons.colorSchemeIsLight ? 'layout-light' : 'layout-dark')\">\n <div class=\"exception-container min-h-screen flex align-items-center justify-content-center flex-column bg-auto md:bg-contain bg-no-repeat\">\n <div class=\"exception-panel text-center flex align-items-center justify-content-center flex-column\">\n <h1 class=\"text-red-400 mb-0\">{{ 'pages.notFound.title' | translate }}</h1>\n <h3 class=\"text-red-300\">{{ 'pages.notFound.subtitle' | translate }}</h3>\n <p>{{ 'pages.notFound.message' | translate }}</p>\n <button type=\"button\" pButton [label]=\"'general.returnHome' | translate\" [routerLink]=\"['/']\"></button>\n </div>\n <div class=\"exception-footer align-items-center flex\">\n <img [src]=\"commons.colorSchemeIsLight ? commons.appLogoDark : commons.appLogoLight\" class=\"exception-logo\" alt=\"App logo\" />\n <img [src]=\"commons.colorSchemeIsLight ? commons.appLogoNameDark : commons.appLogoNameLight\" class=\"exception-appname ml-3\" alt=\"App name\" />\n </div>\n </div>\n</div>\n", styles: [".exception-body{background:var(--surface-ground)}.exception-body .exception-container{background:var(--exception-pages-image);background-repeat:no-repeat;background-size:contain;box-sizing:border-box}.exception-body .exception-container .exception-panel{box-sizing:border-box;flex-grow:1;margin-top:3rem;margin-bottom:3rem}.exception-body .exception-container .exception-panel h1{font-size:140px;font-weight:900;text-shadow:0 0 50px rgba(252,97,97,.2)}.exception-body .exception-container .exception-panel h3{font-size:80px;font-weight:900;margin-top:-90px;margin-bottom:50px}.exception-body .exception-container .exception-panel p{font-size:24px;font-weight:400;max-width:320px}.exception-body .exception-container .exception-panel button{margin-top:50px}.exception-body .exception-container .exception-footer{margin-bottom:2rem}.exception-body .exception-container .exception-footer .exception-logo{width:34px}.exception-body .exception-container .exception-footer .exception-appname{width:72px}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: NotFoundPageComponent, isStandalone: true, selector: "mng-not-found-page", ngImport: i0, template: "<div [class]=\"'exception-body min-h-screen ' + (commons.colorSchemeIsLight() ? 'layout-light' : 'layout-dark')\">\n <div class=\"exception-container min-h-screen flex align-items-center justify-content-center flex-column bg-auto md:bg-contain bg-no-repeat\">\n <div class=\"exception-panel text-center flex align-items-center justify-content-center flex-column\">\n <h1 class=\"text-red-400 mb-0\">{{ 'pages.notFound.title' | translate }}</h1>\n <h3 class=\"text-red-300\">{{ 'pages.notFound.subtitle' | translate }}</h3>\n <p>{{ 'pages.notFound.message' | translate }}</p>\n <button type=\"button\" pButton [label]=\"'general.returnHome' | translate\" [routerLink]=\"['/']\"></button>\n </div>\n <div class=\"exception-footer align-items-center flex\">\n <img [src]=\"commons.appLogo()\" class=\"exception-logo\" alt=\"App logo\" />\n <img [src]=\"commons.appLogoName()\" class=\"exception-appname ml-3\" alt=\"App name\" />\n </div>\n </div>\n</div>\n", styles: [".exception-body{background:var(--surface-ground)}.exception-body .exception-container{background:var(--exception-pages-image);background-repeat:no-repeat;background-size:contain;box-sizing:border-box}.exception-body .exception-container .exception-panel{box-sizing:border-box;flex-grow:1;margin-top:3rem;margin-bottom:3rem}.exception-body .exception-container .exception-panel h1{font-size:140px;font-weight:900;text-shadow:0 0 50px rgba(252,97,97,.2)}.exception-body .exception-container .exception-panel h3{font-size:80px;font-weight:900;margin-top:-90px;margin-bottom:50px}.exception-body .exception-container .exception-panel p{font-size:24px;font-weight:400;max-width:320px}.exception-body .exception-container .exception-panel button{margin-top:50px}.exception-body .exception-container .exception-footer{margin-bottom:2rem}.exception-body .exception-container .exception-footer .exception-logo{width:34px}.exception-body .exception-container .exception-footer .exception-appname{width:72px}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
16
  }
17
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: NotFoundPageComponent, decorators: [{
18
18
  type: Component,
19
- args: [{ standalone: true, selector: 'mng-not-found-page', imports: [ButtonModule, RouterLink, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"'exception-body min-h-screen ' + (commons.colorSchemeIsLight ? 'layout-light' : 'layout-dark')\">\n <div class=\"exception-container min-h-screen flex align-items-center justify-content-center flex-column bg-auto md:bg-contain bg-no-repeat\">\n <div class=\"exception-panel text-center flex align-items-center justify-content-center flex-column\">\n <h1 class=\"text-red-400 mb-0\">{{ 'pages.notFound.title' | translate }}</h1>\n <h3 class=\"text-red-300\">{{ 'pages.notFound.subtitle' | translate }}</h3>\n <p>{{ 'pages.notFound.message' | translate }}</p>\n <button type=\"button\" pButton [label]=\"'general.returnHome' | translate\" [routerLink]=\"['/']\"></button>\n </div>\n <div class=\"exception-footer align-items-center flex\">\n <img [src]=\"commons.colorSchemeIsLight ? commons.appLogoDark : commons.appLogoLight\" class=\"exception-logo\" alt=\"App logo\" />\n <img [src]=\"commons.colorSchemeIsLight ? commons.appLogoNameDark : commons.appLogoNameLight\" class=\"exception-appname ml-3\" alt=\"App name\" />\n </div>\n </div>\n</div>\n", styles: [".exception-body{background:var(--surface-ground)}.exception-body .exception-container{background:var(--exception-pages-image);background-repeat:no-repeat;background-size:contain;box-sizing:border-box}.exception-body .exception-container .exception-panel{box-sizing:border-box;flex-grow:1;margin-top:3rem;margin-bottom:3rem}.exception-body .exception-container .exception-panel h1{font-size:140px;font-weight:900;text-shadow:0 0 50px rgba(252,97,97,.2)}.exception-body .exception-container .exception-panel h3{font-size:80px;font-weight:900;margin-top:-90px;margin-bottom:50px}.exception-body .exception-container .exception-panel p{font-size:24px;font-weight:400;max-width:320px}.exception-body .exception-container .exception-panel button{margin-top:50px}.exception-body .exception-container .exception-footer{margin-bottom:2rem}.exception-body .exception-container .exception-footer .exception-logo{width:34px}.exception-body .exception-container .exception-footer .exception-appname{width:72px}\n"] }]
19
+ args: [{ standalone: true, selector: 'mng-not-found-page', imports: [ButtonModule, RouterLink, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"'exception-body min-h-screen ' + (commons.colorSchemeIsLight() ? 'layout-light' : 'layout-dark')\">\n <div class=\"exception-container min-h-screen flex align-items-center justify-content-center flex-column bg-auto md:bg-contain bg-no-repeat\">\n <div class=\"exception-panel text-center flex align-items-center justify-content-center flex-column\">\n <h1 class=\"text-red-400 mb-0\">{{ 'pages.notFound.title' | translate }}</h1>\n <h3 class=\"text-red-300\">{{ 'pages.notFound.subtitle' | translate }}</h3>\n <p>{{ 'pages.notFound.message' | translate }}</p>\n <button type=\"button\" pButton [label]=\"'general.returnHome' | translate\" [routerLink]=\"['/']\"></button>\n </div>\n <div class=\"exception-footer align-items-center flex\">\n <img [src]=\"commons.appLogo()\" class=\"exception-logo\" alt=\"App logo\" />\n <img [src]=\"commons.appLogoName()\" class=\"exception-appname ml-3\" alt=\"App name\" />\n </div>\n </div>\n</div>\n", styles: [".exception-body{background:var(--surface-ground)}.exception-body .exception-container{background:var(--exception-pages-image);background-repeat:no-repeat;background-size:contain;box-sizing:border-box}.exception-body .exception-container .exception-panel{box-sizing:border-box;flex-grow:1;margin-top:3rem;margin-bottom:3rem}.exception-body .exception-container .exception-panel h1{font-size:140px;font-weight:900;text-shadow:0 0 50px rgba(252,97,97,.2)}.exception-body .exception-container .exception-panel h3{font-size:80px;font-weight:900;margin-top:-90px;margin-bottom:50px}.exception-body .exception-container .exception-panel p{font-size:24px;font-weight:400;max-width:320px}.exception-body .exception-container .exception-panel button{margin-top:50px}.exception-body .exception-container .exception-footer{margin-bottom:2rem}.exception-body .exception-container .exception-footer .exception-logo{width:34px}.exception-body .exception-container .exception-footer .exception-appname{width:72px}\n"] }]
20
20
  }], ctorParameters: () => [{ type: i1.CommonsService }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LWZvdW5kLnBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vY29yZS9zcmMvY29tcG9uZW50cy9wYWdlcy9ub3QtZm91bmQvbm90LWZvdW5kLnBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY29yZS9zcmMvY29tcG9uZW50cy9wYWdlcy9ub3QtZm91bmQvbm90LWZvdW5kLnBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7Ozs7O0FBVWpFLE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsWUFBbUIsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7SUFBRyxDQUFDOzhHQURyQyxxQkFBcUI7a0dBQXJCLHFCQUFxQiw4RUNoQmxDLDhvQ0FjQSxnaUNESGMsWUFBWSx1S0FBRSxVQUFVLG1PQUFFLGVBQWU7OzJGQUsxQyxxQkFBcUI7a0JBUmpDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLG9CQUFvQixXQUNyQixDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDLG1CQUduQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyTGlua30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtCdXR0b25Nb2R1bGV9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcblxuaW1wb3J0IHtDb21tb25zU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29tbW9ucy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy1ub3QtZm91bmQtcGFnZScsXG4gICAgaW1wb3J0czogW0J1dHRvbk1vZHVsZSwgUm91dGVyTGluaywgVHJhbnNsYXRlTW9kdWxlXSxcbiAgICBzdHlsZVVybHM6IFsnbm90LWZvdW5kLnBhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbm90LWZvdW5kLnBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5vdEZvdW5kUGFnZUNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGNvbW1vbnM6IENvbW1vbnNTZXJ2aWNlKSB7fVxufVxuIiwiPGRpdiBbY2xhc3NdPVwiJ2V4Y2VwdGlvbi1ib2R5IG1pbi1oLXNjcmVlbiAnICsgKGNvbW1vbnMuY29sb3JTY2hlbWVJc0xpZ2h0ID8gJ2xheW91dC1saWdodCcgOiAnbGF5b3V0LWRhcmsnKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJleGNlcHRpb24tY29udGFpbmVyIG1pbi1oLXNjcmVlbiBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uIGJnLWF1dG8gbWQ6YmctY29udGFpbiBiZy1uby1yZXBlYXRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4Y2VwdGlvbi1wYW5lbCB0ZXh0LWNlbnRlciBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3M9XCJ0ZXh0LXJlZC00MDAgbWItMFwiPnt7ICdwYWdlcy5ub3RGb3VuZC50aXRsZScgfCB0cmFuc2xhdGUgfX08L2gxPlxuICAgICAgICAgICAgPGgzIGNsYXNzPVwidGV4dC1yZWQtMzAwXCI+e3sgJ3BhZ2VzLm5vdEZvdW5kLnN1YnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDM+XG4gICAgICAgICAgICA8cD57eyAncGFnZXMubm90Rm91bmQubWVzc2FnZScgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBwQnV0dG9uIFtsYWJlbF09XCInZ2VuZXJhbC5yZXR1cm5Ib21lJyB8IHRyYW5zbGF0ZVwiIFtyb3V0ZXJMaW5rXT1cIlsnLyddXCI+PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXhjZXB0aW9uLWZvb3RlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleFwiPlxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImNvbW1vbnMuY29sb3JTY2hlbWVJc0xpZ2h0ID8gY29tbW9ucy5hcHBMb2dvRGFyayA6IGNvbW1vbnMuYXBwTG9nb0xpZ2h0XCIgY2xhc3M9XCJleGNlcHRpb24tbG9nb1wiIGFsdD1cIkFwcCBsb2dvXCIgLz5cbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJjb21tb25zLmNvbG9yU2NoZW1lSXNMaWdodCA/IGNvbW1vbnMuYXBwTG9nb05hbWVEYXJrIDogY29tbW9ucy5hcHBMb2dvTmFtZUxpZ2h0XCIgY2xhc3M9XCJleGNlcHRpb24tYXBwbmFtZSBtbC0zXCIgYWx0PVwiQXBwIG5hbWVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LWZvdW5kLnBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vY29yZS9zcmMvY29tcG9uZW50cy9wYWdlcy9ub3QtZm91bmQvbm90LWZvdW5kLnBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY29yZS9zcmMvY29tcG9uZW50cy9wYWdlcy9ub3QtZm91bmQvbm90LWZvdW5kLnBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7Ozs7O0FBVWpFLE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsWUFBbUIsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7SUFBRyxDQUFDOzhHQURyQyxxQkFBcUI7a0dBQXJCLHFCQUFxQiw4RUNoQmxDLGdpQ0FjQSxnaUNESGMsWUFBWSx1S0FBRSxVQUFVLG1PQUFFLGVBQWU7OzJGQUsxQyxxQkFBcUI7a0JBUmpDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLG9CQUFvQixXQUNyQixDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDLG1CQUduQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyTGlua30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtCdXR0b25Nb2R1bGV9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcblxuaW1wb3J0IHtDb21tb25zU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29tbW9ucy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy1ub3QtZm91bmQtcGFnZScsXG4gICAgaW1wb3J0czogW0J1dHRvbk1vZHVsZSwgUm91dGVyTGluaywgVHJhbnNsYXRlTW9kdWxlXSxcbiAgICBzdHlsZVVybHM6IFsnbm90LWZvdW5kLnBhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbm90LWZvdW5kLnBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5vdEZvdW5kUGFnZUNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGNvbW1vbnM6IENvbW1vbnNTZXJ2aWNlKSB7fVxufVxuIiwiPGRpdiBbY2xhc3NdPVwiJ2V4Y2VwdGlvbi1ib2R5IG1pbi1oLXNjcmVlbiAnICsgKGNvbW1vbnMuY29sb3JTY2hlbWVJc0xpZ2h0KCkgPyAnbGF5b3V0LWxpZ2h0JyA6ICdsYXlvdXQtZGFyaycpXCI+XG4gICAgPGRpdiBjbGFzcz1cImV4Y2VwdGlvbi1jb250YWluZXIgbWluLWgtc2NyZWVuIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW4gYmctYXV0byBtZDpiZy1jb250YWluIGJnLW5vLXJlcGVhdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXhjZXB0aW9uLXBhbmVsIHRleHQtY2VudGVyIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxoMSBjbGFzcz1cInRleHQtcmVkLTQwMCBtYi0wXCI+e3sgJ3BhZ2VzLm5vdEZvdW5kLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDE+XG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LXJlZC0zMDBcIj57eyAncGFnZXMubm90Rm91bmQuc3VidGl0bGUnIHwgdHJhbnNsYXRlIH19PC9oMz5cbiAgICAgICAgICAgIDxwPnt7ICdwYWdlcy5ub3RGb3VuZC5tZXNzYWdlJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIHBCdXR0b24gW2xhYmVsXT1cIidnZW5lcmFsLnJldHVybkhvbWUnIHwgdHJhbnNsYXRlXCIgW3JvdXRlckxpbmtdPVwiWycvJ11cIj48L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJleGNlcHRpb24tZm9vdGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4XCI+XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwiY29tbW9ucy5hcHBMb2dvKClcIiBjbGFzcz1cImV4Y2VwdGlvbi1sb2dvXCIgYWx0PVwiQXBwIGxvZ29cIiAvPlxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImNvbW1vbnMuYXBwTG9nb05hbWUoKVwiIGNsYXNzPVwiZXhjZXB0aW9uLWFwcG5hbWUgbWwtM1wiIGFsdD1cIkFwcCBuYW1lXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { DataProviderInst } from './base.data-provider';
2
+ export class DataProvider extends DataProviderInst {
3
+ constructor() {
4
+ super(undefined, undefined);
5
+ }
6
+ static create() {
7
+ return dataProviderBase();
8
+ }
9
+ static fromClass(type) {
10
+ return dataProviderFromClass(type);
11
+ }
12
+ static fromClassWithService(type, serviceType) {
13
+ return dataProviderFromClass(type, serviceType);
14
+ }
15
+ static fromService(serviceType) {
16
+ return dataProviderWithService(serviceType);
17
+ }
18
+ }
19
+ export function dataProviderBase() {
20
+ return new DataProviderInst(undefined, undefined);
21
+ }
22
+ export function dataProviderWithService(serviceType) {
23
+ return new DataProviderInst(undefined, serviceType);
24
+ }
25
+ export function dataProviderFromClass(type, serviceType) {
26
+ return new DataProviderInst(type, serviceType);
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhLXByb3ZpZGVyLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3NyYy9kYXRhLXByb3ZpZGVycy9iYXNlLWRhdGEtcHJvdmlkZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxNQUFNLE9BQU8sWUFBYSxTQUFRLGdCQUFxQjtJQUNuRDtRQUNJLEtBQUssQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNO1FBQ2hCLE9BQU8sZ0JBQWdCLEVBQVMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBUSxJQUFzQjtRQUNqRCxPQUFPLHFCQUFxQixDQUFRLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxNQUFNLENBQUMsb0JBQW9CLENBQzlCLElBQXNCLEVBQ3RCLFdBQXNDO1FBRXRDLE9BQU8scUJBQXFCLENBQWlCLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBaUIsV0FBc0M7UUFDNUUsT0FBTyx1QkFBdUIsQ0FBaUIsV0FBVyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNKO0FBRUQsTUFBTSxVQUFVLGdCQUFnQjtJQUM1QixPQUFPLElBQUksZ0JBQWdCLENBQXlDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM5RixDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFpQixXQUFzQztJQUMxRixPQUFPLElBQUksZ0JBQWdCLENBQXVELFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUM5RyxDQUFDO0FBT0QsTUFBTSxVQUFVLHFCQUFxQixDQUFpRSxJQUFzQixFQUFFLFdBQTBCO0lBQ3BKLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBaUQsSUFBSSxFQUFFLFdBQTJCLENBQUMsQ0FBQztBQUNuSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGFzc1R5cGUsIFNlcnZpY2VDbGFzc1R5cGV9IGZyb20gJy4uL21vZGVscy9jbGFzcy1zZXJ2aWNlLm1vZGVsJztcbmltcG9ydCB7RGF0YVByb3ZpZGVySW5zdH0gZnJvbSAnLi9iYXNlLmRhdGEtcHJvdmlkZXInO1xuXG5leHBvcnQgY2xhc3MgRGF0YVByb3ZpZGVyIGV4dGVuZHMgRGF0YVByb3ZpZGVySW5zdDxhbnk+IHtcbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZTxNb2RlbD4oKTogRGF0YVByb3ZpZGVySW5zdDxNb2RlbD4ge1xuICAgICAgICByZXR1cm4gZGF0YVByb3ZpZGVyQmFzZTxNb2RlbD4oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZyb21DbGFzczxNb2RlbD4odHlwZTogQ2xhc3NUeXBlPE1vZGVsPik6IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIHVuZGVmaW5lZCwgQ2xhc3NUeXBlPE1vZGVsPiwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiBkYXRhUHJvdmlkZXJGcm9tQ2xhc3M8TW9kZWw+KHR5cGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZnJvbUNsYXNzV2l0aFNlcnZpY2U8TW9kZWwsIFNlcnZpY2U+KFxuICAgICAgICB0eXBlOiBDbGFzc1R5cGU8TW9kZWw+LFxuICAgICAgICBzZXJ2aWNlVHlwZTogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPlxuICAgICk6IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIENsYXNzVHlwZTxNb2RlbD4sIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+IHtcbiAgICAgICAgcmV0dXJuIGRhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbCwgU2VydmljZT4odHlwZSwgc2VydmljZVR5cGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZnJvbVNlcnZpY2U8U2VydmljZSwgTW9kZWw+KHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+KTogRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgdW5kZWZpbmVkLCBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+PiB7XG4gICAgICAgIHJldHVybiBkYXRhUHJvdmlkZXJXaXRoU2VydmljZTxTZXJ2aWNlLCBNb2RlbD4oc2VydmljZVR5cGUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGFQcm92aWRlckJhc2U8TW9kZWw+KCk6IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gbmV3IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQ+KHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGFQcm92aWRlcldpdGhTZXJ2aWNlPFNlcnZpY2UsIE1vZGVsPihzZXJ2aWNlVHlwZTogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPik6IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIHVuZGVmaW5lZCwgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj4ge1xuICAgIHJldHVybiBuZXcgRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgdW5kZWZpbmVkLCBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+Pih1bmRlZmluZWQsIHNlcnZpY2VUeXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbD4odHlwZTogQ2xhc3NUeXBlPE1vZGVsPik6IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIHVuZGVmaW5lZCwgQ2xhc3NUeXBlPE1vZGVsPiwgdW5kZWZpbmVkPjtcbmV4cG9ydCBmdW5jdGlvbiBkYXRhUHJvdmlkZXJGcm9tQ2xhc3M8TW9kZWwsIFNlcnZpY2UgPSBhbnk+KFxuICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD4sXG4gICAgc2VydmljZVR5cGU6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT5cbik6IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIENsYXNzVHlwZTxNb2RlbD4sIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+O1xuZXhwb3J0IGZ1bmN0aW9uIGRhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbCwgU2VydmljZSA9IGFueSwgU2VydmljZUNsYXNzID0gU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj4odHlwZTogQ2xhc3NUeXBlPE1vZGVsPiwgc2VydmljZVR5cGU/OiBTZXJ2aWNlQ2xhc3MpIHtcbiAgICByZXR1cm4gbmV3IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIENsYXNzVHlwZTxNb2RlbD4sIFNlcnZpY2VDbGFzcz4odHlwZSwgc2VydmljZVR5cGUgYXMgU2VydmljZUNsYXNzKTtcbn1cbiJdfQ==
@@ -15,34 +15,4 @@ export class DataProviderInst {
15
15
  return true;
16
16
  }
17
17
  }
18
- export class DataProvider extends DataProviderInst {
19
- constructor() {
20
- super(undefined, undefined);
21
- }
22
- static create() {
23
- return new DataProviderInst(undefined, undefined);
24
- }
25
- static fromClass(type) {
26
- return new DataProviderInst(type, undefined);
27
- }
28
- static fromClassWithService(type, serviceType) {
29
- return new DataProviderInst(type, serviceType);
30
- }
31
- static fromService(serviceType) {
32
- return new DataProviderInst(undefined, serviceType);
33
- }
34
- static fromAnyParam(type, serviceType) {
35
- if (typeof type !== 'undefined') {
36
- return typeof serviceType !== 'undefined'
37
- ? DataProvider.fromClassWithService(type, serviceType)
38
- : DataProvider.fromClass(type);
39
- }
40
- else if (typeof serviceType !== 'undefined') {
41
- return DataProvider.fromService(serviceType);
42
- }
43
- else {
44
- return DataProvider.create();
45
- }
46
- }
47
- }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5kYXRhLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9zcmMvZGF0YS1wcm92aWRlcnMvYmFzZS5kYXRhLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBR3pCLFlBQ29CLFNBQXFCLEVBQ3JCLFdBQXlCO1FBRHpCLGNBQVMsR0FBVCxTQUFTLENBQVk7UUFDckIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7SUFDMUMsQ0FBQztJQUVKLElBQVcsY0FBYztRQUNyQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sWUFBYSxTQUFRLGdCQUFxQjtJQUNuRDtRQUNJLEtBQUssQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBeUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFRLElBQXNCO1FBQ2pELE9BQU8sSUFBSSxnQkFBZ0IsQ0FBZ0QsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFTSxNQUFNLENBQUMsb0JBQW9CLENBQWlCLElBQXNCLEVBQUUsV0FBc0M7UUFDN0csT0FBTyxJQUFJLGdCQUFnQixDQUE4RCxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQWlCLFdBQXNDO1FBQzVFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBdUQsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFnQk0sTUFBTSxDQUFDLFlBQVksQ0FBZ0csSUFBaUIsRUFBRSxXQUEwQjtRQUNuSyxJQUFJLE9BQU8sSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQzlCLE9BQU8sT0FBTyxXQUFXLEtBQUssV0FBVztnQkFDckMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxJQUF3QixFQUFFLFdBQXdDLENBQUM7Z0JBQ3ZHLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQXdCLENBQUMsQ0FBQztRQUMzRCxDQUFDO2FBQU0sSUFBSSxPQUFPLFdBQVcsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUM1QyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBd0MsQ0FBQyxDQUFDO1FBQzlFLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxZQUFZLENBQUMsTUFBTSxFQUFTLENBQUM7UUFDeEMsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xhc3NPcHRUeXBlLCBDbGFzc1R5cGUsIFNlcnZpY2VDbGFzc09wdFR5cGUsIFNlcnZpY2VDbGFzc1R5cGV9IGZyb20gJy4uL21vZGVscy9jbGFzcy1zZXJ2aWNlLm1vZGVsJztcblxuZXhwb3J0IHR5cGUgSURhdGFQcm92aWRlcjxNb2RlbFR5cGUgPSBhbnksIFNlcnZpY2VUeXBlID0gYW55LCBDVCA9IENsYXNzT3B0VHlwZTxNb2RlbFR5cGU+LCBTVCA9IFNlcnZpY2VDbGFzc09wdFR5cGU8U2VydmljZVR5cGU+PiA9IHtcbiAgICBjbGFzc1R5cGU6IENUO1xuICAgIHNlcnZpY2VUeXBlOiBTVDtcbiAgICBpc0RhdGFQcm92aWRlcjogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQSBiYXNlIGRhdGEgcHJvdmlkZXIgY2xhc3MgdXNlZCBmb3IgaGFuZGxpbmcgZGF0YSBvcGVyYXRpb25zLlxuICpcbiAqIEB0cGFyYW0gTW9kZWwgLSBUaGUgdHlwZSBvZiBkYXRhIHRoaXMgZGF0YSBwcm92aWRlciB3aWxsIGhhbmRsZS5cbiAqIEB0cGFyYW0gU2VydmljZSAtIFRoZSB0eXBlIG9mIHNlcnZpY2UgdXNlZCBieSB0aGlzIGRhdGEgcHJvdmlkZXIgKG9wdGlvbmFsKS5cbiAqIEB0cGFyYW0gTW9kZWxDbGFzcyAtIFRoZSBtb2RlbCB0eXBlIGZvciB0aGUgZGF0YSBwcm92aWRlciAgKG9wdGlvbmFsKS5cbiAqIEB0cGFyYW0gU2VydmljZUNsYXNzIC0gVGhlIHNlcnZpY2UgdHlwZSBmb3IgdGhlIGRhdGEgcHJvdmlkZXIgIChvcHRpb25hbCkuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlID0gYW55LCBNb2RlbENsYXNzID0gQ2xhc3NPcHRUeXBlPE1vZGVsPiwgU2VydmljZUNsYXNzID0gU2VydmljZUNsYXNzT3B0VHlwZTxTZXJ2aWNlPj5cbiAgICBpbXBsZW1lbnRzIElEYXRhUHJvdmlkZXI8TW9kZWwsIFNlcnZpY2UsIE1vZGVsQ2xhc3MsIFNlcnZpY2VDbGFzcz5cbntcbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBjbGFzc1R5cGU6IE1vZGVsQ2xhc3MsXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBzZXJ2aWNlVHlwZTogU2VydmljZUNsYXNzXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGdldCBpc0RhdGFQcm92aWRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGF0YVByb3ZpZGVyIGV4dGVuZHMgRGF0YVByb3ZpZGVySW5zdDxhbnk+IHtcbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZTxNb2RlbD4oKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZD4odW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZnJvbUNsYXNzPE1vZGVsPih0eXBlOiBDbGFzc1R5cGU8TW9kZWw+KSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgdW5kZWZpbmVkLCBDbGFzc1R5cGU8TW9kZWw+LCB1bmRlZmluZWQ+KHR5cGUsIHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmcm9tQ2xhc3NXaXRoU2VydmljZTxNb2RlbCwgU2VydmljZT4odHlwZTogQ2xhc3NUeXBlPE1vZGVsPiwgc2VydmljZVR5cGU6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4pIHtcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBDbGFzc1R5cGU8TW9kZWw+LCBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+Pih0eXBlLCBzZXJ2aWNlVHlwZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmcm9tU2VydmljZTxTZXJ2aWNlLCBNb2RlbD4oc2VydmljZVR5cGU6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4pOiBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCB1bmRlZmluZWQsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCB1bmRlZmluZWQsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+KHVuZGVmaW5lZCwgc2VydmljZVR5cGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZnJvbUFueVBhcmFtPE1vZGVsPigpOiBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkPjtcbiAgICBwdWJsaWMgc3RhdGljIGZyb21BbnlQYXJhbTxNb2RlbD4odHlwZTogQ2xhc3NUeXBlPE1vZGVsPik6IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIHVuZGVmaW5lZCwgQ2xhc3NUeXBlPE1vZGVsPiwgdW5kZWZpbmVkPjtcbiAgICBwdWJsaWMgc3RhdGljIGZyb21BbnlQYXJhbTxNb2RlbCwgU2VydmljZSA9IGFueT4oXG4gICAgICAgIHR5cGU6IHVuZGVmaW5lZCxcbiAgICAgICAgc2VydmljZVR5cGU6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT5cbiAgICApOiBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCB1bmRlZmluZWQsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+O1xuICAgIHB1YmxpYyBzdGF0aWMgZnJvbUFueVBhcmFtPE1vZGVsLCBTZXJ2aWNlID0gYW55PihcbiAgICAgICAgdHlwZTogQ2xhc3NUeXBlPE1vZGVsPixcbiAgICAgICAgc2VydmljZVR5cGU6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT5cbiAgICApOiBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBDbGFzc1R5cGU8TW9kZWw+LCBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+PjtcbiAgICBwdWJsaWMgc3RhdGljIGZyb21BbnlQYXJhbTxNb2RlbCwgU2VydmljZSwgTW9kZWxDbGFzcyA9IENsYXNzVHlwZTxNb2RlbD4sIFNlcnZpY2VDbGFzcyA9IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+KFxuICAgICAgICB0eXBlPzogTW9kZWxDbGFzcyxcbiAgICAgICAgc2VydmljZVR5cGU/OiBTZXJ2aWNlQ2xhc3NcbiAgICApOiBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBNb2RlbENsYXNzLCBTZXJ2aWNlQ2xhc3M+O1xuICAgIHB1YmxpYyBzdGF0aWMgZnJvbUFueVBhcmFtPE1vZGVsLCBTZXJ2aWNlID0gYW55LCBNb2RlbENsYXNzID0gQ2xhc3NUeXBlPE1vZGVsPiwgU2VydmljZUNsYXNzID0gU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj4odHlwZT86IE1vZGVsQ2xhc3MsIHNlcnZpY2VUeXBlPzogU2VydmljZUNsYXNzKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2Ygc2VydmljZVR5cGUgIT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgICAgICAgPyBEYXRhUHJvdmlkZXIuZnJvbUNsYXNzV2l0aFNlcnZpY2UodHlwZSBhcyBDbGFzc1R5cGU8TW9kZWw+LCBzZXJ2aWNlVHlwZSBhcyBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+KVxuICAgICAgICAgICAgICAgIDogRGF0YVByb3ZpZGVyLmZyb21DbGFzcyh0eXBlIGFzIENsYXNzVHlwZTxNb2RlbD4pO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBzZXJ2aWNlVHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJldHVybiBEYXRhUHJvdmlkZXIuZnJvbVNlcnZpY2Uoc2VydmljZVR5cGUgYXMgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gRGF0YVByb3ZpZGVyLmNyZWF0ZTxNb2RlbD4oKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5kYXRhLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9zcmMvZGF0YS1wcm92aWRlcnMvYmFzZS5kYXRhLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBR3pCLFlBQ29CLFNBQXFCLEVBQ3JCLFdBQXlCO1FBRHpCLGNBQVMsR0FBVCxTQUFTLENBQVk7UUFDckIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7SUFDMUMsQ0FBQztJQUVKLElBQVcsY0FBYztRQUNyQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsYXNzT3B0VHlwZSwgU2VydmljZUNsYXNzT3B0VHlwZX0gZnJvbSAnLi4vbW9kZWxzL2NsYXNzLXNlcnZpY2UubW9kZWwnO1xuXG5leHBvcnQgdHlwZSBJRGF0YVByb3ZpZGVyPE1vZGVsVHlwZSA9IGFueSwgU2VydmljZVR5cGUgPSBhbnksIENUID0gQ2xhc3NPcHRUeXBlPE1vZGVsVHlwZT4sIFNUID0gU2VydmljZUNsYXNzT3B0VHlwZTxTZXJ2aWNlVHlwZT4+ID0ge1xuICAgIGNsYXNzVHlwZTogQ1Q7XG4gICAgc2VydmljZVR5cGU6IFNUO1xuICAgIGlzRGF0YVByb3ZpZGVyOiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBBIGJhc2UgZGF0YSBwcm92aWRlciBjbGFzcyB1c2VkIGZvciBoYW5kbGluZyBkYXRhIG9wZXJhdGlvbnMuXG4gKlxuICogQHRwYXJhbSBNb2RlbCAtIFRoZSB0eXBlIG9mIGRhdGEgdGhpcyBkYXRhIHByb3ZpZGVyIHdpbGwgaGFuZGxlLlxuICogQHRwYXJhbSBTZXJ2aWNlIC0gVGhlIHR5cGUgb2Ygc2VydmljZSB1c2VkIGJ5IHRoaXMgZGF0YSBwcm92aWRlciAob3B0aW9uYWwpLlxuICogQHRwYXJhbSBNb2RlbENsYXNzIC0gVGhlIG1vZGVsIHR5cGUgZm9yIHRoZSBkYXRhIHByb3ZpZGVyICAob3B0aW9uYWwpLlxuICogQHRwYXJhbSBTZXJ2aWNlQ2xhc3MgLSBUaGUgc2VydmljZSB0eXBlIGZvciB0aGUgZGF0YSBwcm92aWRlciAgKG9wdGlvbmFsKS5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UgPSBhbnksIE1vZGVsQ2xhc3MgPSBDbGFzc09wdFR5cGU8TW9kZWw+LCBTZXJ2aWNlQ2xhc3MgPSBTZXJ2aWNlQ2xhc3NPcHRUeXBlPFNlcnZpY2U+PlxuICAgIGltcGxlbWVudHMgSURhdGFQcm92aWRlcjxNb2RlbCwgU2VydmljZSwgTW9kZWxDbGFzcywgU2VydmljZUNsYXNzPlxue1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IGNsYXNzVHlwZTogTW9kZWxDbGFzcyxcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3NcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgZ2V0IGlzRGF0YVByb3ZpZGVyKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3NyYy9kZXNjcmlwdG9ycy9lZGl0b3IuZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcnJheUl0ZW1UeXBlfSBmcm9tICcuLi9oZWxwZXJzL3R5cGUtaGVscGVycyc7XG5pbXBvcnQge0lNb2RlbERlc2NyaXB0b3J9IGZyb20gJy4vbW9kZWwuZGVzY3JpcHRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVkaXRvckRlc2NyaXB0b3I8RWRpdG9yTW9kZWw+IHtcbiAgICBtb2RlbDogSU1vZGVsRGVzY3JpcHRvcjxFZGl0b3JNb2RlbD47XG5cbiAgICBpc0xvY2FsaXplZDogYm9vbGVhbjtcbiAgICBsb2NhbGl6YXRpb25Mb2NhbGVQcm9wZXJ0eT86IHN0cmluZztcbiAgICBsb2NhbGl6YXRpb25Nb2RlbD86IElNb2RlbERlc2NyaXB0b3I8YW55PjtcbiAgICBsb2NhbGl6YXRpb25Mb2NhbGl6YXRpb25Qcm9wZXJ0eT86IHN0cmluZztcblxuICAgIGxvY2FsaXplZDxLIGV4dGVuZHMga2V5b2YgRWRpdG9yTW9kZWwsIExvY2FsaXphdGlvbk1vZGVsID0gQXJyYXlJdGVtVHlwZTxFZGl0b3JNb2RlbFtLXT4+KFxuICAgICAgICBwcm9wZXJ0eTogSyxcbiAgICAgICAgbW9kZWw6IElNb2RlbERlc2NyaXB0b3I8TG9jYWxpemF0aW9uTW9kZWw+LFxuICAgICAgICBsb2NhbGVQcm9wZXJ0eToga2V5b2YgTG9jYWxpemF0aW9uTW9kZWxcbiAgICApOiB0aGlzO1xuXG4gICAgbG9jYWxpemVkVW5zYWZlPExvY2FsaXphdGlvbk1vZGVsPihwcm9wZXJ0eTogc3RyaW5nLCBtb2RlbDogSU1vZGVsRGVzY3JpcHRvcjxMb2NhbGl6YXRpb25Nb2RlbD4sIGxvY2FsZVByb3BlcnR5OiBzdHJpbmcpOiB0aGlzO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3NyYy9kZXNjcmlwdG9ycy9lZGl0b3IuZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcnJheUl0ZW1UeXBlfSBmcm9tICcuLi9oZWxwZXJzL3R5cGUtaGVscGVycyc7XG5pbXBvcnQge0lNb2RlbERlc2NyaXB0b3J9IGZyb20gJy4vbW9kZWwuZGVzY3JpcHRvcic7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmV4cG9ydCBpbnRlcmZhY2UgSUVkaXRvckRlc2NyaXB0b3I8RWRpdG9yTW9kZWwsIFBhcmVudEVkaXRvck1vZGVsID0gdW5kZWZpbmVkPiB7XG4gICAgbW9kZWw6IElNb2RlbERlc2NyaXB0b3I8RWRpdG9yTW9kZWw+O1xuXG4gICAgaXNMb2NhbGl6ZWQ6IGJvb2xlYW47XG4gICAgbG9jYWxpemF0aW9uTG9jYWxlUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgbG9jYWxpemF0aW9uTW9kZWw/OiBJTW9kZWxEZXNjcmlwdG9yPGFueT47XG4gICAgbG9jYWxpemF0aW9uTG9jYWxpemF0aW9uUHJvcGVydHk/OiBzdHJpbmc7XG5cbiAgICBsb2NhbGl6ZWQ8SyBleHRlbmRzIGtleW9mIEVkaXRvck1vZGVsLCBMb2NhbGl6YXRpb25Nb2RlbCA9IEFycmF5SXRlbVR5cGU8RWRpdG9yTW9kZWxbS10+PihcbiAgICAgICAgcHJvcGVydHk6IEssXG4gICAgICAgIG1vZGVsOiBJTW9kZWxEZXNjcmlwdG9yPExvY2FsaXphdGlvbk1vZGVsPixcbiAgICAgICAgbG9jYWxlUHJvcGVydHk6IGtleW9mIExvY2FsaXphdGlvbk1vZGVsXG4gICAgKTogdGhpcztcblxuICAgIGxvY2FsaXplZFVuc2FmZTxMb2NhbGl6YXRpb25Nb2RlbD4ocHJvcGVydHk6IHN0cmluZywgbW9kZWw6IElNb2RlbERlc2NyaXB0b3I8TG9jYWxpemF0aW9uTW9kZWw+LCBsb2NhbGVQcm9wZXJ0eTogc3RyaW5nKTogdGhpcztcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LmRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3NyYy9kZXNjcmlwdG9ycy90YWJsZXZpZXcuZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJRWRpdG9yRGVzY3JpcHRvcn0gZnJvbSAnLi9lZGl0b3IuZGVzY3JpcHRvcic7XG5pbXBvcnQge0lNb2RlbERlc2NyaXB0b3J9IGZyb20gJy4vbW9kZWwuZGVzY3JpcHRvcic7XG5pbXBvcnQge0lUYWJsZURlc2NyaXB0b3J9IGZyb20gJy4vdGFibGUuZGVzY3JpcHRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxldmlld0Rlc2NyaXB0b3I8VGFibGV2aWV3TW9kZWwsIFNvcnRQcm9wZXJ0eSwgRmlsdGVyUHJvcGVydHk+IHtcbiAgICBtb2RlbDogSU1vZGVsRGVzY3JpcHRvcjxUYWJsZXZpZXdNb2RlbD47XG5cbiAgICB0YWJsZTogSVRhYmxlRGVzY3JpcHRvcjxUYWJsZXZpZXdNb2RlbCwgU29ydFByb3BlcnR5LCBGaWx0ZXJQcm9wZXJ0eT47XG4gICAgZGV0YWlsc0VkaXRvcjogSUVkaXRvckRlc2NyaXB0b3I8VGFibGV2aWV3TW9kZWw+O1xuICAgIGFkZEVkaXRvcjogSUVkaXRvckRlc2NyaXB0b3I8VGFibGV2aWV3TW9kZWw+O1xuICAgIGVkaXRFZGl0b3I6IElFZGl0b3JEZXNjcmlwdG9yPFRhYmxldmlld01vZGVsPjtcblxuICAgIGNvcHkoKTogSVRhYmxldmlld0Rlc2NyaXB0b3I8VGFibGV2aWV3TW9kZWwsIFNvcnRQcm9wZXJ0eSwgRmlsdGVyUHJvcGVydHk+O1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LmRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3NyYy9kZXNjcmlwdG9ycy90YWJsZXZpZXcuZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJRWRpdG9yRGVzY3JpcHRvcn0gZnJvbSAnLi9lZGl0b3IuZGVzY3JpcHRvcic7XG5pbXBvcnQge0lNb2RlbERlc2NyaXB0b3J9IGZyb20gJy4vbW9kZWwuZGVzY3JpcHRvcic7XG5pbXBvcnQge0lUYWJsZURlc2NyaXB0b3J9IGZyb20gJy4vdGFibGUuZGVzY3JpcHRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxldmlld0Rlc2NyaXB0b3I8VGFibGV2aWV3TW9kZWwsIFNvcnRQcm9wZXJ0eSwgRmlsdGVyUHJvcGVydHksIFBhcmVudEVkaXRvck1vZGVsID0gdW5kZWZpbmVkPiB7XG4gICAgbW9kZWw6IElNb2RlbERlc2NyaXB0b3I8VGFibGV2aWV3TW9kZWw+O1xuXG4gICAgdGFibGU6IElUYWJsZURlc2NyaXB0b3I8VGFibGV2aWV3TW9kZWwsIFNvcnRQcm9wZXJ0eSwgRmlsdGVyUHJvcGVydHk+O1xuICAgIGRldGFpbHNFZGl0b3I6IElFZGl0b3JEZXNjcmlwdG9yPFRhYmxldmlld01vZGVsLCBQYXJlbnRFZGl0b3JNb2RlbD47XG4gICAgYWRkRWRpdG9yOiBJRWRpdG9yRGVzY3JpcHRvcjxUYWJsZXZpZXdNb2RlbCwgUGFyZW50RWRpdG9yTW9kZWw+O1xuICAgIGVkaXRFZGl0b3I6IElFZGl0b3JEZXNjcmlwdG9yPFRhYmxldmlld01vZGVsLCBQYXJlbnRFZGl0b3JNb2RlbD47XG5cbiAgICBjb3B5KCk6IElUYWJsZXZpZXdEZXNjcmlwdG9yPFRhYmxldmlld01vZGVsLCBTb3J0UHJvcGVydHksIEZpbHRlclByb3BlcnR5LCBQYXJlbnRFZGl0b3JNb2RlbD47XG59XG4iXX0=