@igo2/context 1.15.4 → 16.0.0-rc.0

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 (167) hide show
  1. package/context-theme.scss +5 -0
  2. package/{esm2020 → esm2022}/igo2-context.mjs +4 -4
  3. package/esm2022/lib/context-import-export/context-import-export/context-import-export.component.mjs +258 -0
  4. package/esm2022/lib/context-import-export/context-import-export.module.mjs +81 -0
  5. package/{esm2020 → esm2022}/lib/context-import-export/index.mjs +3 -3
  6. package/{esm2020 → esm2022}/lib/context-import-export/shared/context-export.errors.mjs +15 -15
  7. package/{esm2020 → esm2022}/lib/context-import-export/shared/context-export.interface.mjs +2 -2
  8. package/esm2022/lib/context-import-export/shared/context-export.service.mjs +38 -0
  9. package/esm2022/lib/context-import-export/shared/context-export.utils.mjs +15 -0
  10. package/{esm2020 → esm2022}/lib/context-import-export/shared/context-import.errors.mjs +33 -33
  11. package/esm2022/lib/context-import-export/shared/context-import.service.mjs +82 -0
  12. package/esm2022/lib/context-import-export/shared/context-import.utils.mjs +148 -0
  13. package/{esm2020 → esm2022}/lib/context-import-export/shared/index.mjs +8 -8
  14. package/esm2022/lib/context-manager/context-edit/context-edit-binding.directive.mjs +57 -0
  15. package/esm2022/lib/context-manager/context-edit/context-edit.component.mjs +48 -0
  16. package/{esm2020 → esm2022}/lib/context-manager/context-edit/index.mjs +3 -3
  17. package/esm2022/lib/context-manager/context-form/context-form.component.mjs +151 -0
  18. package/{esm2020 → esm2022}/lib/context-manager/context-form/index.mjs +2 -2
  19. package/esm2022/lib/context-manager/context-item/context-item.component.mjs +251 -0
  20. package/{esm2020 → esm2022}/lib/context-manager/context-item/index.mjs +2 -2
  21. package/esm2022/lib/context-manager/context-list/context-list-binding.directive.mjs +259 -0
  22. package/esm2022/lib/context-manager/context-list/context-list.component.mjs +616 -0
  23. package/{esm2020 → esm2022}/lib/context-manager/context-list/context-list.enum.mjs +7 -7
  24. package/{esm2020 → esm2022}/lib/context-manager/context-list/index.mjs +3 -3
  25. package/esm2022/lib/context-manager/context-manager.module.mjs +157 -0
  26. package/esm2022/lib/context-manager/context-permissions/context-permissions-binding.directive.mjs +108 -0
  27. package/esm2022/lib/context-manager/context-permissions/context-permissions.component.mjs +331 -0
  28. package/{esm2020 → esm2022}/lib/context-manager/context-permissions/index.mjs +3 -3
  29. package/{esm2020 → esm2022}/lib/context-manager/index.mjs +7 -7
  30. package/{esm2020 → esm2022}/lib/context-manager/shared/context.enum.mjs +13 -13
  31. package/esm2022/lib/context-manager/shared/context.interface.mjs +2 -0
  32. package/esm2022/lib/context-manager/shared/context.service.mjs +662 -0
  33. package/{esm2020 → esm2022}/lib/context-manager/shared/index.mjs +6 -6
  34. package/esm2022/lib/context-manager/shared/layer-context.directive.mjs +172 -0
  35. package/esm2022/lib/context-manager/shared/map-context.directive.mjs +79 -0
  36. package/esm2022/lib/context-map-button/bookmark-button/bookmark-button.component.mjs +74 -0
  37. package/esm2022/lib/context-map-button/bookmark-button/bookmark-dialog.component.mjs +53 -0
  38. package/{esm2020 → esm2022}/lib/context-map-button/bookmark-button/index.mjs +3 -3
  39. package/esm2022/lib/context-map-button/context-map-button.module.mjs +104 -0
  40. package/{esm2020 → esm2022}/lib/context-map-button/index.mjs +4 -4
  41. package/{esm2020 → esm2022}/lib/context-map-button/poi-button/index.mjs +4 -4
  42. package/esm2022/lib/context-map-button/poi-button/poi-button.component.mjs +179 -0
  43. package/esm2022/lib/context-map-button/poi-button/poi-dialog.component.mjs +53 -0
  44. package/{esm2020 → esm2022}/lib/context-map-button/poi-button/shared/index.mjs +3 -3
  45. package/{esm2020 → esm2022}/lib/context-map-button/poi-button/shared/poi.interface.mjs +2 -2
  46. package/esm2022/lib/context-map-button/poi-button/shared/poi.service.mjs +38 -0
  47. package/{esm2020 → esm2022}/lib/context-map-button/user-button/index.mjs +3 -3
  48. package/{esm2020 → esm2022}/lib/context-map-button/user-button/user-button.animation.mjs +17 -17
  49. package/esm2022/lib/context-map-button/user-button/user-button.component.mjs +112 -0
  50. package/esm2022/lib/context-map-button/user-button/user-dialog.component.mjs +74 -0
  51. package/{esm2020 → esm2022}/lib/context.module.mjs +45 -45
  52. package/{esm2020 → esm2022}/lib/share-map/index.mjs +5 -5
  53. package/esm2022/lib/share-map/share-map/share-map-api.component.mjs +186 -0
  54. package/esm2022/lib/share-map/share-map/share-map-url.component.mjs +251 -0
  55. package/esm2022/lib/share-map/share-map/share-map.component.mjs +60 -0
  56. package/{esm2020 → esm2022}/lib/share-map/share-map.module.mjs +67 -67
  57. package/{esm2020 → esm2022}/lib/share-map/shared/index.mjs +2 -2
  58. package/esm2022/lib/share-map/shared/share-map.service.mjs +221 -0
  59. package/{esm2020 → esm2022}/lib/sidenav/index.mjs +2 -2
  60. package/esm2022/lib/sidenav/sidenav.component.mjs +178 -0
  61. package/{esm2020 → esm2022}/lib/sidenav/sidenav.module.mjs +61 -61
  62. package/{esm2020 → esm2022}/public_api.mjs +15 -15
  63. package/{fesm2020 → fesm2022}/igo2-context.mjs +4838 -4608
  64. package/fesm2022/igo2-context.mjs.map +1 -0
  65. package/index.d.ts +5 -5
  66. package/lib/context-import-export/context-import-export/context-import-export.component.d.ts +46 -44
  67. package/lib/context-import-export/context-import-export.module.d.ts +23 -23
  68. package/lib/context-import-export/index.d.ts +2 -2
  69. package/lib/context-import-export/shared/context-export.errors.d.ts +8 -8
  70. package/lib/context-import-export/shared/context-export.interface.d.ts +5 -5
  71. package/lib/context-import-export/shared/context-export.service.d.ts +10 -10
  72. package/lib/context-import-export/shared/context-export.utils.d.ts +4 -4
  73. package/lib/context-import-export/shared/context-import.errors.d.ts +17 -17
  74. package/lib/context-import-export/shared/context-import.service.d.ts +18 -18
  75. package/lib/context-import-export/shared/context-import.utils.d.ts +15 -17
  76. package/lib/context-import-export/shared/index.d.ts +7 -7
  77. package/lib/context-manager/context-edit/context-edit-binding.directive.d.ts +20 -20
  78. package/lib/context-manager/context-edit/context-edit.component.d.ts +14 -14
  79. package/lib/context-manager/context-edit/index.d.ts +2 -2
  80. package/lib/context-manager/context-form/context-form.component.d.ts +30 -30
  81. package/lib/context-manager/context-form/index.d.ts +1 -1
  82. package/lib/context-manager/context-item/context-item.component.d.ts +32 -32
  83. package/lib/context-manager/context-item/context-item.theming.scss +21 -0
  84. package/lib/context-manager/context-item/index.d.ts +1 -1
  85. package/lib/context-manager/context-list/context-list-binding.directive.d.ts +46 -46
  86. package/lib/context-manager/context-list/context-list.component.d.ts +93 -93
  87. package/lib/context-manager/context-list/context-list.enum.d.ts +5 -5
  88. package/lib/context-manager/context-list/context-list.theming.scss +23 -0
  89. package/lib/context-manager/context-list/index.d.ts +2 -2
  90. package/lib/context-manager/context-manager.module.d.ts +37 -37
  91. package/lib/context-manager/context-manager.theming.scss +7 -0
  92. package/lib/context-manager/context-permissions/context-permissions-binding.directive.d.ts +23 -23
  93. package/lib/context-manager/context-permissions/context-permissions.component.d.ts +40 -40
  94. package/lib/context-manager/context-permissions/index.d.ts +2 -2
  95. package/lib/context-manager/index.d.ts +6 -6
  96. package/lib/context-manager/shared/context.enum.d.ts +10 -10
  97. package/lib/context-manager/shared/context.interface.d.ts +81 -75
  98. package/lib/context-manager/shared/context.service.d.ts +76 -75
  99. package/lib/context-manager/shared/index.d.ts +5 -5
  100. package/lib/context-manager/shared/layer-context.directive.d.ts +28 -28
  101. package/lib/context-manager/shared/map-context.directive.d.ts +19 -19
  102. package/lib/context-map-button/bookmark-button/bookmark-button.component.d.ts +20 -20
  103. package/lib/context-map-button/bookmark-button/bookmark-dialog.component.d.ts +9 -9
  104. package/lib/context-map-button/bookmark-button/index.d.ts +2 -2
  105. package/lib/context-map-button/context-map-button.module.d.ts +27 -27
  106. package/lib/context-map-button/index.d.ts +3 -3
  107. package/lib/context-map-button/poi-button/index.d.ts +3 -3
  108. package/lib/context-map-button/poi-button/poi-button.component.d.ts +34 -34
  109. package/lib/context-map-button/poi-button/poi-dialog.component.d.ts +9 -9
  110. package/lib/context-map-button/poi-button/shared/index.d.ts +2 -2
  111. package/lib/context-map-button/poi-button/shared/poi.interface.d.ts +7 -7
  112. package/lib/context-map-button/poi-button/shared/poi.service.d.ts +16 -16
  113. package/lib/context-map-button/user-button/index.d.ts +2 -2
  114. package/lib/context-map-button/user-button/user-button.animation.d.ts +2 -2
  115. package/lib/context-map-button/user-button/user-button.component.d.ts +25 -25
  116. package/lib/context-map-button/user-button/user-dialog.component.d.ts +15 -15
  117. package/lib/context.module.d.ts +16 -16
  118. package/lib/share-map/index.d.ts +4 -4
  119. package/lib/share-map/share-map/share-map-api.component.d.ts +27 -27
  120. package/lib/share-map/share-map/share-map-url.component.d.ts +26 -26
  121. package/lib/share-map/share-map/share-map.component.d.ts +11 -11
  122. package/lib/share-map/share-map.module.d.ts +21 -21
  123. package/lib/share-map/shared/index.d.ts +1 -1
  124. package/lib/share-map/shared/share-map.service.d.ts +17 -17
  125. package/lib/sidenav/index.d.ts +1 -1
  126. package/lib/sidenav/sidenav.component.d.ts +35 -35
  127. package/lib/sidenav/sidenav.module.d.ts +18 -18
  128. package/locale/en.context.json +199 -0
  129. package/locale/fr.context.json +199 -0
  130. package/package.json +20 -26
  131. package/public_api.d.ts +11 -11
  132. package/esm2020/lib/context-import-export/context-import-export/context-import-export.component.mjs +0 -228
  133. package/esm2020/lib/context-import-export/context-import-export.module.mjs +0 -85
  134. package/esm2020/lib/context-import-export/shared/context-export.service.mjs +0 -38
  135. package/esm2020/lib/context-import-export/shared/context-export.utils.mjs +0 -15
  136. package/esm2020/lib/context-import-export/shared/context-import.service.mjs +0 -79
  137. package/esm2020/lib/context-import-export/shared/context-import.utils.mjs +0 -133
  138. package/esm2020/lib/context-manager/context-edit/context-edit-binding.directive.mjs +0 -50
  139. package/esm2020/lib/context-manager/context-edit/context-edit.component.mjs +0 -46
  140. package/esm2020/lib/context-manager/context-form/context-form.component.mjs +0 -143
  141. package/esm2020/lib/context-manager/context-item/context-item.component.mjs +0 -245
  142. package/esm2020/lib/context-manager/context-list/context-list-binding.directive.mjs +0 -240
  143. package/esm2020/lib/context-manager/context-list/context-list.component.mjs +0 -592
  144. package/esm2020/lib/context-manager/context-manager.module.mjs +0 -162
  145. package/esm2020/lib/context-manager/context-permissions/context-permissions-binding.directive.mjs +0 -99
  146. package/esm2020/lib/context-manager/context-permissions/context-permissions.component.mjs +0 -306
  147. package/esm2020/lib/context-manager/shared/context.interface.mjs +0 -2
  148. package/esm2020/lib/context-manager/shared/context.service.mjs +0 -632
  149. package/esm2020/lib/context-manager/shared/layer-context.directive.mjs +0 -162
  150. package/esm2020/lib/context-manager/shared/map-context.directive.mjs +0 -70
  151. package/esm2020/lib/context-map-button/bookmark-button/bookmark-button.component.mjs +0 -66
  152. package/esm2020/lib/context-map-button/bookmark-button/bookmark-dialog.component.mjs +0 -50
  153. package/esm2020/lib/context-map-button/context-map-button.module.mjs +0 -96
  154. package/esm2020/lib/context-map-button/poi-button/poi-button.component.mjs +0 -161
  155. package/esm2020/lib/context-map-button/poi-button/poi-dialog.component.mjs +0 -50
  156. package/esm2020/lib/context-map-button/poi-button/shared/poi.service.mjs +0 -33
  157. package/esm2020/lib/context-map-button/user-button/user-button.component.mjs +0 -104
  158. package/esm2020/lib/context-map-button/user-button/user-dialog.component.mjs +0 -66
  159. package/esm2020/lib/share-map/share-map/share-map-api.component.mjs +0 -170
  160. package/esm2020/lib/share-map/share-map/share-map-url.component.mjs +0 -243
  161. package/esm2020/lib/share-map/share-map/share-map.component.mjs +0 -57
  162. package/esm2020/lib/share-map/shared/share-map.service.mjs +0 -210
  163. package/esm2020/lib/sidenav/sidenav.component.mjs +0 -170
  164. package/fesm2015/igo2-context.mjs +0 -5094
  165. package/fesm2015/igo2-context.mjs.map +0 -1
  166. package/fesm2020/igo2-context.mjs.map +0 -1
  167. package/ngcc.config.js +0 -3
@@ -1,306 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import { UntypedFormControl } from '@angular/forms';
3
- import { TypePermission } from '../shared/context.enum';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- import * as i2 from "@angular/common/http";
7
- import * as i3 from "@igo2/auth";
8
- import * as i4 from "@igo2/core";
9
- import * as i5 from "@angular/common";
10
- import * as i6 from "@angular/material/form-field";
11
- import * as i7 from "@angular/material/input";
12
- import * as i8 from "@angular/material/icon";
13
- import * as i9 from "@angular/material/button";
14
- import * as i10 from "@angular/material/tooltip";
15
- import * as i11 from "@angular/material/list";
16
- import * as i12 from "@angular/material/core";
17
- import * as i13 from "@angular/material/radio";
18
- import * as i14 from "@angular/material/autocomplete";
19
- import * as i15 from "@igo2/common";
20
- import * as i16 from "@ngx-translate/core";
21
- function ContextPermissionsComponent_div_0_div_1_Template(rf, ctx) { if (rf & 1) {
22
- i0.ɵɵelementStart(0, "div", 3)(1, "h4");
23
- i0.ɵɵtext(2);
24
- i0.ɵɵpipe(3, "translate");
25
- i0.ɵɵelementEnd();
26
- i0.ɵɵelementStart(4, "p");
27
- i0.ɵɵtext(5);
28
- i0.ɵɵpipe(6, "translate");
29
- i0.ɵɵelementEnd()();
30
- } if (rf & 2) {
31
- i0.ɵɵadvance(2);
32
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "igo.context.permission.readOnlyTitle"));
33
- i0.ɵɵadvance(3);
34
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, "igo.context.permission.readOnlyMsg"));
35
- } }
36
- function ContextPermissionsComponent_div_0_div_2_mat_radio_button_8_Template(rf, ctx) { if (rf & 1) {
37
- i0.ɵɵelementStart(0, "mat-radio-button", 8);
38
- i0.ɵɵtext(1);
39
- i0.ɵɵpipe(2, "translate");
40
- i0.ɵɵelementEnd();
41
- } if (rf & 2) {
42
- i0.ɵɵadvance(1);
43
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "igo.context.permission.scope.public"), " ");
44
- } }
45
- function ContextPermissionsComponent_div_0_div_2_Template(rf, ctx) { if (rf & 1) {
46
- const _r7 = i0.ɵɵgetCurrentView();
47
- i0.ɵɵelementStart(0, "div", 3)(1, "mat-radio-group", 4);
48
- i0.ɵɵlistener("ngModelChange", function ContextPermissionsComponent_div_0_div_2_Template_mat_radio_group_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r6.context.scope = $event); })("change", function ContextPermissionsComponent_div_0_div_2_Template_mat_radio_group_change_1_listener() { i0.ɵɵrestoreView(_r7); const ctx_r8 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r8.scopeChanged.emit(ctx_r8.context)); });
49
- i0.ɵɵelementStart(2, "mat-radio-button", 5);
50
- i0.ɵɵtext(3);
51
- i0.ɵɵpipe(4, "translate");
52
- i0.ɵɵelementEnd();
53
- i0.ɵɵelementStart(5, "mat-radio-button", 6);
54
- i0.ɵɵtext(6);
55
- i0.ɵɵpipe(7, "translate");
56
- i0.ɵɵelementEnd();
57
- i0.ɵɵtemplate(8, ContextPermissionsComponent_div_0_div_2_mat_radio_button_8_Template, 3, 3, "mat-radio-button", 7);
58
- i0.ɵɵelementEnd()();
59
- } if (rf & 2) {
60
- const ctx_r2 = i0.ɵɵnextContext(2);
61
- i0.ɵɵadvance(1);
62
- i0.ɵɵproperty("ngModel", ctx_r2.context.scope);
63
- i0.ɵɵadvance(2);
64
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 4, "igo.context.permission.scope.private"), " ");
65
- i0.ɵɵadvance(3);
66
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 6, "igo.context.permission.scope.shared"), " ");
67
- i0.ɵɵadvance(2);
68
- i0.ɵɵproperty("ngIf", ctx_r2.authService.isAdmin);
69
- } }
70
- function ContextPermissionsComponent_div_0_form_3_mat_option_6_Template(rf, ctx) { if (rf & 1) {
71
- i0.ɵɵelementStart(0, "mat-option", 20);
72
- i0.ɵɵtext(1);
73
- i0.ɵɵelement(2, "br");
74
- i0.ɵɵelementStart(3, "small", 21);
75
- i0.ɵɵtext(4);
76
- i0.ɵɵelementEnd()();
77
- } if (rf & 2) {
78
- const profil_r11 = ctx.$implicit;
79
- i0.ɵɵproperty("value", profil_r11);
80
- i0.ɵɵadvance(1);
81
- i0.ɵɵtextInterpolate1(" ", profil_r11.title, "");
82
- i0.ɵɵadvance(3);
83
- i0.ɵɵtextInterpolate(profil_r11.name);
84
- } }
85
- function ContextPermissionsComponent_div_0_form_3_Template(rf, ctx) { if (rf & 1) {
86
- const _r13 = i0.ɵɵgetCurrentView();
87
- i0.ɵɵelementStart(0, "form", 9);
88
- i0.ɵɵlistener("ngSubmit", function ContextPermissionsComponent_div_0_form_3_Template_form_ngSubmit_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r12.handleFormSubmit(ctx_r12.form.value)); });
89
- i0.ɵɵelementStart(1, "mat-form-field", 10);
90
- i0.ɵɵelement(2, "input", 11);
91
- i0.ɵɵpipe(3, "translate");
92
- i0.ɵɵelementStart(4, "mat-autocomplete", 12, 13);
93
- i0.ɵɵlistener("optionSelected", function ContextPermissionsComponent_div_0_form_3_Template_mat_autocomplete_optionSelected_4_listener($event) { i0.ɵɵrestoreView(_r13); const ctx_r14 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r14.onProfilSelected($event.option.value)); });
94
- i0.ɵɵtemplate(6, ContextPermissionsComponent_div_0_form_3_mat_option_6_Template, 5, 3, "mat-option", 14);
95
- i0.ɵɵelementEnd();
96
- i0.ɵɵelementStart(7, "mat-error");
97
- i0.ɵɵtext(8);
98
- i0.ɵɵpipe(9, "translate");
99
- i0.ɵɵelementEnd()();
100
- i0.ɵɵelementStart(10, "mat-radio-group", 15)(11, "mat-radio-button", 16);
101
- i0.ɵɵtext(12);
102
- i0.ɵɵpipe(13, "translate");
103
- i0.ɵɵelementEnd();
104
- i0.ɵɵelementStart(14, "mat-radio-button", 17);
105
- i0.ɵɵtext(15);
106
- i0.ɵɵpipe(16, "translate");
107
- i0.ɵɵelementEnd()();
108
- i0.ɵɵelementStart(17, "div", 18)(18, "button", 19);
109
- i0.ɵɵtext(19);
110
- i0.ɵɵpipe(20, "translate");
111
- i0.ɵɵelementEnd()()();
112
- } if (rf & 2) {
113
- const _r9 = i0.ɵɵreference(5);
114
- const ctx_r3 = i0.ɵɵnextContext(2);
115
- i0.ɵɵproperty("formGroup", ctx_r3.form);
116
- i0.ɵɵadvance(2);
117
- i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 11, "igo.context.permission.user"))("formControl", ctx_r3.formControl)("matAutocomplete", _r9);
118
- i0.ɵɵadvance(2);
119
- i0.ɵɵproperty("displayWith", ctx_r3.displayFn);
120
- i0.ɵɵadvance(2);
121
- i0.ɵɵproperty("ngForOf", ctx_r3.profils);
122
- i0.ɵɵadvance(2);
123
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 13, "igo.context.permission.profilRequired"), " ");
124
- i0.ɵɵadvance(4);
125
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(13, 15, "igo.context.permission.read"), " ");
126
- i0.ɵɵadvance(3);
127
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(16, 17, "igo.context.permission.write"), " ");
128
- i0.ɵɵadvance(3);
129
- i0.ɵɵproperty("disabled", !ctx_r3.form.valid);
130
- i0.ɵɵadvance(1);
131
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(20, 19, "igo.context.permission.addBtn"), " ");
132
- } }
133
- function ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_igo_collapsible_0_ng_template_2_button_7_Template(rf, ctx) { if (rf & 1) {
134
- const _r23 = i0.ɵɵgetCurrentView();
135
- i0.ɵɵelementStart(0, "button", 29);
136
- i0.ɵɵlistener("click", function ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_igo_collapsible_0_ng_template_2_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r23); const permission_r19 = i0.ɵɵnextContext().$implicit; const ctx_r21 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r21.removePermission.emit(permission_r19)); });
137
- i0.ɵɵpipe(1, "translate");
138
- i0.ɵɵelement(2, "mat-icon", 30);
139
- i0.ɵɵelementEnd();
140
- } if (rf & 2) {
141
- i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 1, "igo.context.permission.delete"));
142
- } }
143
- function ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_igo_collapsible_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
144
- i0.ɵɵelementStart(0, "mat-list-item");
145
- i0.ɵɵelement(1, "mat-icon", 25);
146
- i0.ɵɵelementStart(2, "h4", 26);
147
- i0.ɵɵtext(3);
148
- i0.ɵɵelementStart(4, "small", 21);
149
- i0.ɵɵtext(5);
150
- i0.ɵɵelementEnd()();
151
- i0.ɵɵelementStart(6, "div", 27);
152
- i0.ɵɵtemplate(7, ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_igo_collapsible_0_ng_template_2_button_7_Template, 3, 3, "button", 28);
153
- i0.ɵɵelementEnd()();
154
- } if (rf & 2) {
155
- const permission_r19 = ctx.$implicit;
156
- const ctx_r18 = i0.ɵɵnextContext(5);
157
- i0.ɵɵadvance(3);
158
- i0.ɵɵtextInterpolate1("", permission_r19.profilTitle, " ");
159
- i0.ɵɵadvance(2);
160
- i0.ɵɵtextInterpolate(permission_r19.profil);
161
- i0.ɵɵadvance(2);
162
- i0.ɵɵproperty("ngIf", ctx_r18.canWrite || permission_r19.profil === ctx_r18.authService.decodeToken().user.sourceId);
163
- } }
164
- function ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_igo_collapsible_0_Template(rf, ctx) { if (rf & 1) {
165
- i0.ɵɵelementStart(0, "igo-collapsible", 24);
166
- i0.ɵɵpipe(1, "translate");
167
- i0.ɵɵtemplate(2, ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_igo_collapsible_0_ng_template_2_Template, 8, 3, "ng-template", 22);
168
- i0.ɵɵelementEnd();
169
- } if (rf & 2) {
170
- const groupPermissions_r16 = i0.ɵɵnextContext().$implicit;
171
- i0.ɵɵproperty("title", i0.ɵɵpipeBind1(1, 2, "igo.context.permission." + groupPermissions_r16.key));
172
- i0.ɵɵadvance(2);
173
- i0.ɵɵproperty("ngForOf", groupPermissions_r16.value);
174
- } }
175
- function ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_Template(rf, ctx) { if (rf & 1) {
176
- i0.ɵɵtemplate(0, ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_igo_collapsible_0_Template, 3, 4, "igo-collapsible", 23);
177
- } if (rf & 2) {
178
- const groupPermissions_r16 = ctx.$implicit;
179
- i0.ɵɵproperty("ngIf", groupPermissions_r16.value.length);
180
- } }
181
- function ContextPermissionsComponent_div_0_igo_list_4_Template(rf, ctx) { if (rf & 1) {
182
- i0.ɵɵelementStart(0, "igo-list");
183
- i0.ɵɵtemplate(1, ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_Template, 1, 1, "ng-template", 22);
184
- i0.ɵɵpipe(2, "keyvalue");
185
- i0.ɵɵelementEnd();
186
- } if (rf & 2) {
187
- const ctx_r4 = i0.ɵɵnextContext(2);
188
- i0.ɵɵadvance(1);
189
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 1, ctx_r4.permissions));
190
- } }
191
- function ContextPermissionsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
192
- i0.ɵɵelementStart(0, "div");
193
- i0.ɵɵtemplate(1, ContextPermissionsComponent_div_0_div_1_Template, 7, 6, "div", 1);
194
- i0.ɵɵtemplate(2, ContextPermissionsComponent_div_0_div_2_Template, 9, 8, "div", 1);
195
- i0.ɵɵtemplate(3, ContextPermissionsComponent_div_0_form_3_Template, 21, 21, "form", 2);
196
- i0.ɵɵtemplate(4, ContextPermissionsComponent_div_0_igo_list_4_Template, 3, 3, "igo-list", 0);
197
- i0.ɵɵelementEnd();
198
- } if (rf & 2) {
199
- const ctx_r0 = i0.ɵɵnextContext();
200
- i0.ɵɵadvance(1);
201
- i0.ɵɵproperty("ngIf", !ctx_r0.canWrite);
202
- i0.ɵɵadvance(1);
203
- i0.ɵɵproperty("ngIf", ctx_r0.canWrite);
204
- i0.ɵɵadvance(1);
205
- i0.ɵɵproperty("ngIf", ctx_r0.context.scope !== "private" && ctx_r0.canWrite);
206
- i0.ɵɵadvance(1);
207
- i0.ɵɵproperty("ngIf", ctx_r0.permissions && ctx_r0.context.scope !== "private");
208
- } }
209
- export class ContextPermissionsComponent {
210
- constructor(formBuilder, cd, http, authService, config) {
211
- this.formBuilder = formBuilder;
212
- this.cd = cd;
213
- this.http = http;
214
- this.authService = authService;
215
- this.config = config;
216
- this._profils = [];
217
- this.formControl = new UntypedFormControl();
218
- this.addPermission = new EventEmitter();
219
- this.removePermission = new EventEmitter();
220
- this.scopeChanged = new EventEmitter();
221
- }
222
- get context() {
223
- return this._context;
224
- }
225
- set context(value) {
226
- this._context = value;
227
- this.cd.detectChanges();
228
- }
229
- get permissions() {
230
- return this._permissions;
231
- }
232
- set permissions(value) {
233
- this._permissions = value;
234
- this.cd.detectChanges();
235
- }
236
- get profils() {
237
- return this._profils;
238
- }
239
- set profils(value) {
240
- this._profils = value;
241
- this.cd.detectChanges();
242
- }
243
- get canWrite() {
244
- return this.context.permission === TypePermission[TypePermission.write];
245
- }
246
- ngOnInit() {
247
- this.buildForm();
248
- this.baseUrlProfils = this.config.getConfig('context.url') + '/profils-users?';
249
- this.formValueChanges$$ = this.formControl.valueChanges.subscribe((value) => {
250
- if (value.length) {
251
- this.http.get(this.baseUrlProfils + 'q=' + value).subscribe(profils => {
252
- this.profils = profils;
253
- });
254
- this.profils.filter((profil) => {
255
- const filterNormalized = value.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
256
- const profilTitleNormalized = profil.title.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
257
- const profilNameNormalized = profil.name.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
258
- const profilNormalized = profilNameNormalized + profilTitleNormalized;
259
- return profilNormalized.includes(filterNormalized);
260
- });
261
- }
262
- else {
263
- this.profils = [];
264
- }
265
- });
266
- }
267
- displayFn(profil) {
268
- return profil ? profil.title : undefined;
269
- }
270
- handleFormSubmit(value) {
271
- this.addPermission.emit(value);
272
- }
273
- buildForm() {
274
- this.form = this.formBuilder.group({
275
- profil: [],
276
- typePermission: ['read']
277
- });
278
- }
279
- onProfilSelected(value) {
280
- this.form.setValue({
281
- profil: value.name,
282
- typePermission: this.form.value.typePermission
283
- });
284
- }
285
- }
286
- ContextPermissionsComponent.ɵfac = function ContextPermissionsComponent_Factory(t) { return new (t || ContextPermissionsComponent)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.HttpClient), i0.ɵɵdirectiveInject(i3.AuthService), i0.ɵɵdirectiveInject(i4.ConfigService)); };
287
- ContextPermissionsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContextPermissionsComponent, selectors: [["igo-context-permissions"]], inputs: { context: "context", permissions: "permissions" }, outputs: { addPermission: "addPermission", removePermission: "removePermission", scopeChanged: "scopeChanged" }, decls: 1, vars: 1, consts: [[4, "ngIf"], ["class", "scopeForm", 4, "ngIf"], [3, "formGroup", "ngSubmit", 4, "ngIf"], [1, "scopeForm"], [3, "ngModel", "ngModelChange", "change"], ["value", "private"], ["value", "protected"], ["value", "public", 4, "ngIf"], ["value", "public"], [3, "formGroup", "ngSubmit"], [1, "full-width"], ["matInput", "", "required", "", 3, "placeholder", "formControl", "matAutocomplete"], [3, "displayWith", "optionSelected"], ["auto", "matAutocomplete"], [3, "value", 4, "ngFor", "ngForOf"], ["formControlName", "typePermission"], ["value", "read"], ["value", "write"], [1, "igo-form-button-group"], ["mat-raised-button", "", "type", "submit", 3, "disabled"], [3, "value"], [1, "mat-typography"], ["ngFor", "", 3, "ngForOf"], [3, "title", 4, "ngIf"], [3, "title"], ["mat-list-avatar", "", "svgIcon", "account-outline"], ["mat-line", ""], ["igoStopPropagation", "", 1, "igo-actions-container"], ["mat-icon-button", "", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "click", 4, "ngIf"], ["mat-icon-button", "", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "click"], ["svgIcon", "delete"]], template: function ContextPermissionsComponent_Template(rf, ctx) { if (rf & 1) {
288
- i0.ɵɵtemplate(0, ContextPermissionsComponent_div_0_Template, 5, 4, "div", 0);
289
- } if (rf & 2) {
290
- i0.ɵɵproperty("ngIf", ctx.context);
291
- } }, dependencies: [i5.NgForOf, i5.NgIf, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.RequiredValidator, i1.NgModel, i1.FormControlDirective, i1.FormGroupDirective, i1.FormControlName, i6.MatError, i6.MatFormField, i7.MatInput, i8.MatIcon, i9.MatButton, i10.MatTooltip, i11.MatListItem, i11.MatListAvatarCssMatStyler, i12.MatLine, i13.MatRadioGroup, i13.MatRadioButton, i12.MatOption, i14.MatAutocomplete, i14.MatAutocompleteTrigger, i15.ListComponent, i15.CollapsibleComponent, i15.StopPropagationDirective, i15.KeyValuePipe, i16.TranslatePipe], styles: ["[_nghost-%COMP%]{margin:10px}.full-width[_ngcontent-%COMP%]{width:100%}mat-radio-button[_ngcontent-%COMP%]{padding:14px 14px 14px 0}.scopeForm[_ngcontent-%COMP%], form[_ngcontent-%COMP%]{padding:5px}mat-option[_ngcontent-%COMP%] .mat-option-text{line-height:normal;line-height:initial}"] });
292
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextPermissionsComponent, [{
293
- type: Component,
294
- args: [{ selector: 'igo-context-permissions', template: "<div *ngIf=\"context\">\r\n\r\n <div *ngIf=\"!canWrite\" class=\"scopeForm\">\r\n <h4>{{ 'igo.context.permission.readOnlyTitle' | translate }}</h4>\r\n <p>{{ 'igo.context.permission.readOnlyMsg' | translate }}</p>\r\n </div>\r\n\r\n <div *ngIf=\"canWrite\" class=\"scopeForm\">\r\n <mat-radio-group [(ngModel)]=\"context.scope\"\r\n (change)=\"scopeChanged.emit(context)\">\r\n <mat-radio-button value=\"private\">\r\n {{ 'igo.context.permission.scope.private' | translate }}\r\n </mat-radio-button>\r\n <mat-radio-button value=\"protected\">\r\n {{ 'igo.context.permission.scope.shared' | translate }}\r\n </mat-radio-button>\r\n <mat-radio-button *ngIf=\"authService.isAdmin\" value=\"public\">\r\n {{ 'igo.context.permission.scope.public' | translate }}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n\r\n <form *ngIf=\"context.scope !== 'private' && canWrite\" [formGroup]=\"form\"\r\n (ngSubmit)=\"handleFormSubmit(form.value)\">\r\n\r\n <mat-form-field class=\"full-width\">\r\n <input matInput required\r\n [placeholder]=\"'igo.context.permission.user' | translate\"\r\n [formControl]=\"formControl\"\r\n [matAutocomplete]=\"auto\">\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onProfilSelected($event.option.value)\"\r\n [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let profil of this.profils\" [value]=\"profil\">\r\n {{profil.title}}<br>\r\n <small class=\"mat-typography\">{{profil.name}}</small>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-error>\r\n {{ 'igo.context.permission.profilRequired' | translate }}\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n\r\n <mat-radio-group formControlName=\"typePermission\">\r\n <mat-radio-button value=\"read\">\r\n {{ 'igo.context.permission.read' | translate }}\r\n </mat-radio-button>\r\n <mat-radio-button value=\"write\">\r\n {{ 'igo.context.permission.write' | translate }}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n\r\n\r\n <div class=\"igo-form-button-group\">\r\n <button\r\n mat-raised-button\r\n type=\"submit\"\r\n [disabled]=\"!form.valid\">\r\n {{ 'igo.context.permission.addBtn' | translate }}\r\n </button>\r\n </div>\r\n\r\n </form>\r\n\r\n <igo-list *ngIf=\"permissions && context.scope !== 'private'\">\r\n <ng-template ngFor let-groupPermissions [ngForOf]=\"permissions | keyvalue\">\r\n <igo-collapsible\r\n *ngIf=\"groupPermissions.value.length\"\r\n [title]=\"'igo.context.permission.' + groupPermissions.key | translate\">\r\n\r\n <ng-template ngFor let-permission [ngForOf]=\"groupPermissions.value\">\r\n <mat-list-item>\r\n <mat-icon mat-list-avatar svgIcon=\"account-outline\"></mat-icon>\r\n <h4 mat-line>{{permission.profilTitle}} <small class=\"mat-typography\">{{permission.profil}}</small></h4>\r\n\r\n <div igoStopPropagation\r\n class=\"igo-actions-container\">\r\n\r\n <button *ngIf=\"canWrite || permission.profil === authService.decodeToken().user.sourceId\"\r\n mat-icon-button\r\n [matTooltip]=\"'igo.context.permission.delete' | translate\"\r\n matTooltipShowDelay=\"500\"\r\n color=\"warn\"\r\n (click)=\"removePermission.emit(permission)\">\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n </div>\r\n\r\n </mat-list-item>\r\n </ng-template>\r\n </igo-collapsible>\r\n </ng-template>\r\n </igo-list>\r\n\r\n</div>\r\n", styles: [":host{margin:10px}.full-width{width:100%}mat-radio-button{padding:14px 14px 14px 0}.scopeForm,form{padding:5px}mat-option ::ng-deep .mat-option-text{line-height:normal;line-height:initial}\n"] }]
295
- }], function () { return [{ type: i1.UntypedFormBuilder }, { type: i0.ChangeDetectorRef }, { type: i2.HttpClient }, { type: i3.AuthService }, { type: i4.ConfigService }]; }, { context: [{
296
- type: Input
297
- }], permissions: [{
298
- type: Input
299
- }], addPermission: [{
300
- type: Output
301
- }], removePermission: [{
302
- type: Output
303
- }], scopeChanged: [{
304
- type: Output
305
- }] }); })();
306
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1wZXJtaXNzaW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL2NvbnRleHQtcGVybWlzc2lvbnMvY29udGV4dC1wZXJtaXNzaW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL2NvbnRleHQtcGVybWlzc2lvbnMvY29udGV4dC1wZXJtaXNzaW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQXdDLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFRMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDUHRELDhCQUF5QyxTQUFBO0lBQ25DLFlBQXdEOztJQUFBLGlCQUFLO0lBQ2pFLHlCQUFHO0lBQUEsWUFBc0Q7O0lBQUEsaUJBQUksRUFBQTs7SUFEekQsZUFBd0Q7SUFBeEQsa0ZBQXdEO0lBQ3pELGVBQXNEO0lBQXRELGdGQUFzRDs7O0lBWXZELDJDQUE2RDtJQUMzRCxZQUNGOztJQUFBLGlCQUFtQjs7SUFEakIsZUFDRjtJQURFLDRGQUNGOzs7O0lBWEosOEJBQXdDLHlCQUFBO0lBQ3JCLDhNQUFhLDZDQUM3QixJQUQyQyw2S0FDbEIsZUFBQSx3Q0FBMEIsQ0FBQSxJQURSO0lBRTFDLDJDQUFrQztJQUNoQyxZQUNGOztJQUFBLGlCQUFtQjtJQUNuQiwyQ0FBb0M7SUFDbEMsWUFDRjs7SUFBQSxpQkFBbUI7SUFDbkIsa0hBRW1CO0lBQ3JCLGlCQUFrQixFQUFBOzs7SUFYRCxlQUEy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YSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDakMsTUFBTSxFQUFFLEVBQUU7WUFDVixjQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUM7U0FDekIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQUs7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDakIsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2xCLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjO1NBQy9DLENBQUMsQ0FBQztJQUNMLENBQUM7O3NHQTlGVSwyQkFBMkI7OEVBQTNCLDJCQUEyQjtRQ3RCeEMsNEVBOEZNOztRQTlGQSxrQ0FBYTs7dUZEc0JOLDJCQUEyQjtjQUx2QyxTQUFTOzJCQUNFLHlCQUF5QjtvTEFRL0IsT0FBTztrQkFEVixLQUFLO1lBV0YsV0FBVztrQkFEZCxLQUFLO1lBNEJJLGFBQWE7a0JBQXRCLE1BQU07WUFDRyxnQkFBZ0I7a0JBQXpCLE1BQU07WUFDRyxZQUFZO2tCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQge1xyXG4gIENvbnRleHQsXHJcbiAgQ29udGV4dFBlcm1pc3Npb24sXHJcbiAgQ29udGV4dFBlcm1pc3Npb25zTGlzdCxcclxuICBDb250ZXh0UHJvZmlsc1xyXG59IGZyb20gJy4uL3NoYXJlZC9jb250ZXh0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFR5cGVQZXJtaXNzaW9uIH0gZnJvbSAnLi4vc2hhcmVkL2NvbnRleHQuZW51bSc7XHJcblxyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvYXV0aCc7XHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWNvbnRleHQtcGVybWlzc2lvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZXh0LXBlcm1pc3Npb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb250ZXh0LXBlcm1pc3Npb25zLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRleHRQZXJtaXNzaW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGNvbnRleHQoKTogQ29udGV4dCB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29udGV4dDtcclxuICB9XHJcbiAgc2V0IGNvbnRleHQodmFsdWU6IENvbnRleHQpIHtcclxuICAgIHRoaXMuX2NvbnRleHQgPSB2YWx1ZTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb250ZXh0OiBDb250ZXh0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBwZXJtaXNzaW9ucygpOiBDb250ZXh0UGVybWlzc2lvbnNMaXN0IHtcclxuICAgIHJldHVybiB0aGlzLl9wZXJtaXNzaW9ucztcclxuICB9XHJcbiAgc2V0IHBlcm1pc3Npb25zKHZhbHVlOiBDb250ZXh0UGVybWlzc2lvbnNMaXN0KSB7XHJcbiAgICB0aGlzLl9wZXJtaXNzaW9ucyA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3Blcm1pc3Npb25zOiBDb250ZXh0UGVybWlzc2lvbnNMaXN0O1xyXG5cclxuICBnZXQgcHJvZmlscygpOiBDb250ZXh0UHJvZmlsc1tdIHtcclxuICAgIHJldHVybiB0aGlzLl9wcm9maWxzO1xyXG4gIH1cclxuICBzZXQgcHJvZmlscyh2YWx1ZTogQ29udGV4dFByb2ZpbHNbXSkge1xyXG4gICAgdGhpcy5fcHJvZmlscyA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3Byb2ZpbHM6IENvbnRleHRQcm9maWxzW10gPSBbXTtcclxuXHJcbiAgZ2V0IGNhbldyaXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5wZXJtaXNzaW9uID09PSBUeXBlUGVybWlzc2lvbltUeXBlUGVybWlzc2lvbi53cml0ZV07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJhc2VVcmxQcm9maWxzO1xyXG5cclxuICBwdWJsaWMgZm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XHJcbiAgZm9ybVZhbHVlQ2hhbmdlcyQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIEBPdXRwdXQoKSBhZGRQZXJtaXNzaW9uOiBFdmVudEVtaXR0ZXI8Q29udGV4dFBlcm1pc3Npb24+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSByZW1vdmVQZXJtaXNzaW9uOiBFdmVudEVtaXR0ZXI8Q29udGV4dFBlcm1pc3Npb24+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBzY29wZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDb250ZXh0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICAgICAgICBwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYnVpbGRGb3JtKCk7XHJcblxyXG4gICAgdGhpcy5iYXNlVXJsUHJvZmlscyA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnY29udGV4dC51cmwnKSArICcvcHJvZmlscy11c2Vycz8nO1xyXG5cclxuICAgIHRoaXMuZm9ybVZhbHVlQ2hhbmdlcyQkID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICBpZiAodmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5odHRwLmdldCh0aGlzLmJhc2VVcmxQcm9maWxzICsgJ3E9JyArIHZhbHVlKS5zdWJzY3JpYmUocHJvZmlscyA9PiB7XHJcbiAgICAgICAgICB0aGlzLnByb2ZpbHMgPSBwcm9maWxzIGFzIENvbnRleHRQcm9maWxzW107XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5wcm9maWxzLmZpbHRlcigocHJvZmlsKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBmaWx0ZXJOb3JtYWxpemVkID0gdmFsdWUudG9Mb3dlckNhc2UoKS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKTtcclxuICAgICAgICAgIGNvbnN0IHByb2ZpbFRpdGxlTm9ybWFsaXplZCA9IHByb2ZpbC50aXRsZS50b0xvd2VyQ2FzZSgpLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xyXG4gICAgICAgICAgY29uc3QgcHJvZmlsTmFtZU5vcm1hbGl6ZWQgPSBwcm9maWwubmFtZS50b0xvd2VyQ2FzZSgpLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xyXG4gICAgICAgICAgY29uc3QgcHJvZmlsTm9ybWFsaXplZCA9IHByb2ZpbE5hbWVOb3JtYWxpemVkICsgcHJvZmlsVGl0bGVOb3JtYWxpemVkO1xyXG4gICAgICAgICAgcmV0dXJuIHByb2ZpbE5vcm1hbGl6ZWQuaW5jbHVkZXMoZmlsdGVyTm9ybWFsaXplZCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wcm9maWxzID0gW107XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGlzcGxheUZuKHByb2ZpbD86IENvbnRleHRQcm9maWxzKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiBwcm9maWwgPyBwcm9maWwudGl0bGUgOiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRm9ybVN1Ym1pdCh2YWx1ZSkge1xyXG4gICAgdGhpcy5hZGRQZXJtaXNzaW9uLmVtaXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEZvcm0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgcHJvZmlsOiBbXSxcclxuICAgICAgdHlwZVBlcm1pc3Npb246IFsncmVhZCddXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uUHJvZmlsU2VsZWN0ZWQodmFsdWUpIHtcclxuICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7XHJcbiAgICAgIHByb2ZpbDogdmFsdWUubmFtZSxcclxuICAgICAgdHlwZVBlcm1pc3Npb246IHRoaXMuZm9ybS52YWx1ZS50eXBlUGVybWlzc2lvblxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJjb250ZXh0XCI+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCIhY2FuV3JpdGVcIiBjbGFzcz1cInNjb3BlRm9ybVwiPlxyXG4gICAgPGg0Pnt7ICdpZ28uY29udGV4dC5wZXJtaXNzaW9uLnJlYWRPbmx5VGl0bGUnIHwgdHJhbnNsYXRlIH19PC9oND5cclxuICAgIDxwPnt7ICdpZ28uY29udGV4dC5wZXJtaXNzaW9uLnJlYWRPbmx5TXNnJyB8IHRyYW5zbGF0ZSB9fTwvcD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cImNhbldyaXRlXCIgY2xhc3M9XCJzY29wZUZvcm1cIj5cclxuICAgIDxtYXQtcmFkaW8tZ3JvdXAgWyhuZ01vZGVsKV09XCJjb250ZXh0LnNjb3BlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNjb3BlQ2hhbmdlZC5lbWl0KGNvbnRleHQpXCI+XHJcbiAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIHZhbHVlPVwicHJpdmF0ZVwiPlxyXG4gICAgICAgIHt7ICdpZ28uY29udGV4dC5wZXJtaXNzaW9uLnNjb3BlLnByaXZhdGUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJwcm90ZWN0ZWRcIj5cclxuICAgICAgICB7eyAnaWdvLmNvbnRleHQucGVybWlzc2lvbi5zY29wZS5zaGFyZWQnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgICAgPG1hdC1yYWRpby1idXR0b24gKm5nSWY9XCJhdXRoU2VydmljZS5pc0FkbWluXCIgdmFsdWU9XCJwdWJsaWNcIj5cclxuICAgICAgICB7eyAnaWdvLmNvbnRleHQucGVybWlzc2lvbi5zY29wZS5wdWJsaWMnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8Zm9ybSAqbmdJZj1cImNvbnRleHQuc2NvcGUgIT09ICdwcml2YXRlJyAmJiBjYW5Xcml0ZVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiXHJcbiAgICAobmdTdWJtaXQpPVwiaGFuZGxlRm9ybVN1Ym1pdChmb3JtLnZhbHVlKVwiPlxyXG5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkXHJcbiAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5jb250ZXh0LnBlcm1pc3Npb24udXNlcicgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiPlxyXG4gICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJvblByb2ZpbFNlbGVjdGVkKCRldmVudC5vcHRpb24udmFsdWUpXCJcclxuICAgICAgICBbZGlzcGxheVdpdGhdPVwiZGlzcGxheUZuXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgcHJvZmlsIG9mIHRoaXMucHJvZmlsc1wiIFt2YWx1ZV09XCJwcm9maWxcIj5cclxuICAgICAgICAgICAgICB7e3Byb2ZpbC50aXRsZX19PGJyPlxyXG4gICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+e3twcm9maWwubmFtZX19PC9zbWFsbD5cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICB7eyAnaWdvLmNvbnRleHQucGVybWlzc2lvbi5wcm9maWxSZXF1aXJlZCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICA8L21hdC1lcnJvcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG5cclxuICAgIDxtYXQtcmFkaW8tZ3JvdXAgZm9ybUNvbnRyb2xOYW1lPVwidHlwZVBlcm1pc3Npb25cIj5cclxuICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJyZWFkXCI+XHJcbiAgICAgICAge3sgJ2lnby5jb250ZXh0LnBlcm1pc3Npb24ucmVhZCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cIndyaXRlXCI+XHJcbiAgICAgICAge3sgJ2lnby5jb250ZXh0LnBlcm1pc3Npb24ud3JpdGUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiaWdvLWZvcm0tYnV0dG9uLWdyb3VwXCI+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxyXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZFwiPlxyXG4gICAgICAgIHt7ICdpZ28uY29udGV4dC5wZXJtaXNzaW9uLmFkZEJ0bicgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9mb3JtPlxyXG5cclxuICA8aWdvLWxpc3QgKm5nSWY9XCJwZXJtaXNzaW9ucyAmJiBjb250ZXh0LnNjb3BlICE9PSAncHJpdmF0ZSdcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtZ3JvdXBQZXJtaXNzaW9ucyBbbmdGb3JPZl09XCJwZXJtaXNzaW9ucyB8IGtleXZhbHVlXCI+XHJcbiAgICAgIDxpZ28tY29sbGFwc2libGVcclxuICAgICAgICAqbmdJZj1cImdyb3VwUGVybWlzc2lvbnMudmFsdWUubGVuZ3RoXCJcclxuICAgICAgICBbdGl0bGVdPVwiJ2lnby5jb250ZXh0LnBlcm1pc3Npb24uJyArIGdyb3VwUGVybWlzc2lvbnMua2V5IHwgdHJhbnNsYXRlXCI+XHJcblxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtcGVybWlzc2lvbiBbbmdGb3JPZl09XCJncm91cFBlcm1pc3Npb25zLnZhbHVlXCI+XHJcbiAgICAgICAgICA8bWF0LWxpc3QtaXRlbT5cclxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdC1saXN0LWF2YXRhciBzdmdJY29uPVwiYWNjb3VudC1vdXRsaW5lXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPGg0IG1hdC1saW5lPnt7cGVybWlzc2lvbi5wcm9maWxUaXRsZX19IDxzbWFsbCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+e3twZXJtaXNzaW9uLnByb2ZpbH19PC9zbWFsbD48L2g0PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBpZ29TdG9wUHJvcGFnYXRpb25cclxuICAgICAgICAgICAgICAgICBjbGFzcz1cImlnby1hY3Rpb25zLWNvbnRhaW5lclwiPlxyXG5cclxuICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImNhbldyaXRlIHx8IHBlcm1pc3Npb24ucHJvZmlsID09PSBhdXRoU2VydmljZS5kZWNvZGVUb2tlbigpLnVzZXIuc291cmNlSWRcIlxyXG4gICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uY29udGV4dC5wZXJtaXNzaW9uLmRlbGV0ZScgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXHJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZVBlcm1pc3Npb24uZW1pdChwZXJtaXNzaW9uKVwiPlxyXG4gICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZGVsZXRlXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2lnby1jb2xsYXBzaWJsZT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9pZ28tbGlzdD5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL3NoYXJlZC9jb250ZXh0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBUb29sIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgTWFwVmlld09wdGlvbnMsIExheWVyT3B0aW9ucywgTWFwU2NhbGVMaW5lT3B0aW9ucywgTWFwQXR0cmlidXRpb25PcHRpb25zLCBNYXBFeHRlbnQgfSBmcm9tICdAaWdvMi9nZW8nO1xyXG5cclxuaW1wb3J0IHsgVHlwZVBlcm1pc3Npb24gfSBmcm9tICcuL2NvbnRleHQuZW51bSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHQge1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHVyaT86IHN0cmluZztcclxuICBzY29wZT86IHN0cmluZzsgLy8gU2NvcGU6ICdwdWJsaWMnIHwgJ3Byb3RlY3RlZCcgfCAncHJpdmF0ZSc7XHJcbiAgcGVybWlzc2lvbj86IHN0cmluZzsgLy8gVHlwZVBlcm1pc3Npb246ICdyZWFkJyB8ICd3cml0ZSdcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGljb25JbWFnZT86IHN0cmluZztcclxuICBoaWRkZW4/OiBib29sZWFuO1xyXG4gIGltcG9ydGVkPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb250ZXh0c0xpc3Qge1xyXG4gIG91cnM6IENvbnRleHRbXTtcclxuICBzaGFyZWQ/OiBDb250ZXh0W107XHJcbiAgcHVibGljPzogQ29udGV4dFtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERldGFpbGVkQ29udGV4dCBleHRlbmRzIENvbnRleHQge1xyXG4gIGJhc2U/OiBzdHJpbmc7XHJcbiAgbWFwPzogQ29udGV4dE1hcDtcclxuICBsYXllcnM/OiBMYXllck9wdGlvbnNbXTtcclxuICB0b29scz86IFRvb2xbXTtcclxuICB0b29sYmFyPzogc3RyaW5nW107XHJcbiAgbWVzc2FnZT86IE1lc3NhZ2U7XHJcbiAgbWVzc2FnZXM/OiBNZXNzYWdlW107XHJcbiAgcmVtb3ZlTGF5ZXJzT25Db250ZXh0Q2hhbmdlPzogYm9vbGVhbjtcclxuICBleHRyYUZlYXR1cmVzPzogYW55W107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dE1hcFZpZXcgZXh0ZW5kcyBNYXBWaWV3T3B0aW9ucyB7XHJcbiAga2VlcEN1cnJlbnRWaWV3PzogYm9vbGVhbjtcclxuICBob21lRXh0ZW50PzogQ29udGV4dEhvbWVFeHRlbnRcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb250ZXh0SG9tZUV4dGVudCB7XHJcbiAgZXh0ZW50PzogTWFwRXh0ZW50XHJcbiAgY2VudGVyPzogW251bWJlciwgbnVtYmVyXTtcclxuICB6b29tPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHRNYXAge1xyXG4gIHZpZXc6IENvbnRleHRNYXBWaWV3O1xyXG4gIGNvbnRyb2xzPzoge1xyXG4gICAgc2NhbGVMaW5lPzogYm9vbGVhbiB8IE1hcFNjYWxlTGluZU9wdGlvbnM7XHJcbiAgICBhdHRyaWJ1dGlvbj86IGJvb2xlYW4gfCBNYXBBdHRyaWJ1dGlvbk9wdGlvbnM7XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb250ZXh0U2VydmljZU9wdGlvbnMge1xyXG4gIHVybD86IHN0cmluZztcclxuICBiYXNlUGF0aD86IHN0cmluZztcclxuICBjb250ZXh0TGlzdEZpbGU/OiBzdHJpbmc7XHJcbiAgZGVmYXVsdENvbnRleHRVcmk/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dFBlcm1pc3Npb24ge1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIGNvbnRleHRJZD86IHN0cmluZztcclxuICBwcm9maWw6IHN0cmluZztcclxuICBwcm9maWxUaXRsZT86IHN0cmluZztcclxuICB0eXBlUGVybWlzc2lvbjogVHlwZVBlcm1pc3Npb247XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dFBlcm1pc3Npb25zTGlzdCB7XHJcbiAgcmVhZDogQ29udGV4dFBlcm1pc3Npb25bXTtcclxuICB3cml0ZTogQ29udGV4dFBlcm1pc3Npb25bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb250ZXh0VXNlclBlcm1pc3Npb24ge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBjaGVja2VkOiBib29sZWFuO1xyXG4gIGluZGV0ZXJtaW5hdGU/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHRQcm9maWxzIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBjaGlsZHM/OiBDb250ZXh0UHJvZmlsc1tdO1xyXG59XHJcbiJdfQ==