@lowcodeunit/applications-flow-common 1.33.89-lets-get-social-ish → 1.33.91-angular-13

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 (229) hide show
  1. package/esm2020/lcu.api.mjs +53 -0
  2. package/esm2020/lib/applications-flow.module.mjs +248 -0
  3. package/esm2020/lib/elements/analytics-card/analytics-card.component.mjs +28 -0
  4. package/esm2020/lib/elements/base-form/base-form.component.mjs +57 -0
  5. package/esm2020/lib/elements/column-info-card/column-info-card.component.mjs +50 -0
  6. package/esm2020/lib/elements/dynamic-tabs/dynamic-tabs.component.mjs +74 -0
  7. package/esm2020/lib/elements/feed-card-sm/feed-card-sm.component.mjs +40 -0
  8. package/esm2020/lib/elements/flow-tool/flow-tool.component.mjs +73 -0
  9. package/esm2020/lib/elements/form-card/form-card.component.mjs +33 -0
  10. package/esm2020/lib/elements/gh-control/gh-control.component.mjs +78 -0
  11. package/esm2020/lib/elements/main-feed-card/main-feed-card.component.mjs +34 -0
  12. package/esm2020/lib/elements/project-info-card/project-info-card.component.mjs +46 -0
  13. package/esm2020/lib/elements/projects/controls/builds/builds.component.mjs +35 -0
  14. package/esm2020/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.mjs +145 -0
  15. package/esm2020/lib/elements/projects/controls/forms/source-control/source-control.component.mjs +287 -0
  16. package/esm2020/lib/elements/projects/controls/git-auth/git-auth.component.mjs +26 -0
  17. package/esm2020/lib/elements/projects/controls/header/header.component.mjs +83 -0
  18. package/esm2020/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.mjs +118 -0
  19. package/esm2020/lib/elements/projects/controls/project-items/project-items.component.mjs +54 -0
  20. package/esm2020/lib/elements/projects/controls/project-tabs/project-tabs.component.mjs +103 -0
  21. package/esm2020/lib/elements/projects/controls/recent-activities/recent-activities.component.mjs +14 -0
  22. package/esm2020/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.mjs +563 -0
  23. package/esm2020/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.mjs +72 -0
  24. package/esm2020/lib/elements/projects/controls/tabs/devops/devops.component.mjs +242 -0
  25. package/esm2020/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.mjs +179 -0
  26. package/esm2020/lib/elements/projects/controls/tabs/domains/domains.component.mjs +137 -0
  27. package/esm2020/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.mjs +90 -0
  28. package/esm2020/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.mjs +142 -0
  29. package/esm2020/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.mjs +124 -0
  30. package/esm2020/lib/elements/projects/controls/tabs/general/general.component.mjs +40 -0
  31. package/esm2020/lib/elements/projects/projects.component.mjs +218 -0
  32. package/esm2020/lib/elements/slotted-card/slotted-card.component.mjs +40 -0
  33. package/esm2020/lib/elements/three-column/three-column.component.mjs +30 -0
  34. package/esm2020/lib/elements/two-column-header/two-column-header.component.mjs +15 -0
  35. package/esm2020/lib/models/actions.model.mjs +3 -0
  36. package/esm2020/lib/models/base-form-config.model.mjs +6 -0
  37. package/esm2020/lib/models/card-form-config.model.mjs +6 -0
  38. package/esm2020/lib/models/card-slot.model.mjs +3 -0
  39. package/esm2020/lib/models/dev-settings-preset.model.mjs +3 -0
  40. package/esm2020/lib/models/domain.model.mjs +3 -0
  41. package/esm2020/lib/models/dynamic-tabs.model.mjs +6 -0
  42. package/esm2020/lib/models/form-actions.model.mjs +3 -0
  43. package/esm2020/lib/models/form.model.mjs +6 -0
  44. package/esm2020/lib/models/form.values.model.mjs +11 -0
  45. package/esm2020/lib/models/project-actions.model.mjs +6 -0
  46. package/esm2020/lib/models/slot-action.model.mjs +3 -0
  47. package/esm2020/lib/services/applications-flow-events.service.mjs +84 -0
  48. package/esm2020/lib/services/applications-flow.service.mjs +132 -0
  49. package/esm2020/lib/services/forms.service.mjs +132 -0
  50. package/esm2020/lib/services/npm.service.mjs +77 -0
  51. package/esm2020/lib/services/project.service.mjs +303 -0
  52. package/esm2020/lib/state/applications-flow-state.context.mjs +36 -0
  53. package/esm2020/lib/state/applications-flow.state.mjs +72 -0
  54. package/esm2020/lowcodeunit-applications-flow-common.mjs +5 -0
  55. package/fesm2015/lowcodeunit-applications-flow-common.mjs +4104 -0
  56. package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +1 -0
  57. package/fesm2020/lowcodeunit-applications-flow-common.mjs +4048 -0
  58. package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +1 -0
  59. package/lcu.api.d.ts +28 -2
  60. package/lib/applications-flow.module.d.ts +39 -1
  61. package/lib/elements/analytics-card/analytics-card.component.d.ts +3 -1
  62. package/lib/elements/base-form/base-form.component.d.ts +3 -1
  63. package/lib/elements/column-info-card/column-info-card.component.d.ts +3 -1
  64. package/lib/elements/dynamic-tabs/dynamic-tabs.component.d.ts +3 -1
  65. package/lib/elements/feed-card-sm/feed-card-sm.component.d.ts +3 -1
  66. package/lib/elements/flow-tool/flow-tool.component.d.ts +32 -0
  67. package/lib/elements/form-card/form-card.component.d.ts +3 -1
  68. package/lib/elements/gh-control/gh-control.component.d.ts +3 -1
  69. package/lib/elements/main-feed-card/main-feed-card.component.d.ts +3 -1
  70. package/lib/elements/project-info-card/project-info-card.component.d.ts +3 -1
  71. package/lib/elements/projects/controls/builds/builds.component.d.ts +3 -1
  72. package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts +3 -1
  73. package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts +3 -1
  74. package/lib/elements/projects/controls/git-auth/git-auth.component.d.ts +3 -1
  75. package/lib/elements/projects/controls/header/header.component.d.ts +3 -1
  76. package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts +3 -1
  77. package/lib/elements/projects/controls/project-items/project-items.component.d.ts +3 -1
  78. package/lib/elements/projects/controls/project-tabs/project-tabs.component.d.ts +3 -1
  79. package/lib/elements/projects/controls/recent-activities/recent-activities.component.d.ts +3 -1
  80. package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts +3 -1
  81. package/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.d.ts +3 -1
  82. package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts +3 -1
  83. package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts +3 -1
  84. package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts +3 -1
  85. package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts +3 -1
  86. package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts +3 -1
  87. package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts +3 -1
  88. package/lib/elements/projects/controls/tabs/general/general.component.d.ts +3 -1
  89. package/lib/elements/projects/projects.component.d.ts +3 -1
  90. package/lib/elements/slotted-card/slotted-card.component.d.ts +3 -1
  91. package/lib/elements/three-column/three-column.component.d.ts +3 -1
  92. package/lib/elements/two-column-header/two-column-header.component.d.ts +3 -1
  93. package/lib/models/actions.model.d.ts +0 -1
  94. package/lib/models/base-form-config.model.d.ts +0 -1
  95. package/lib/models/card-form-config.model.d.ts +0 -1
  96. package/lib/models/card-slot.model.d.ts +0 -1
  97. package/lib/models/dev-settings-preset.model.d.ts +0 -1
  98. package/lib/models/domain.model.d.ts +0 -1
  99. package/lib/models/dynamic-tabs.model.d.ts +0 -1
  100. package/lib/models/form-actions.model.d.ts +0 -1
  101. package/lib/models/form.model.d.ts +0 -1
  102. package/lib/models/form.values.model.d.ts +0 -1
  103. package/lib/models/project-actions.model.d.ts +0 -1
  104. package/lib/models/slot-action.model.d.ts +0 -1
  105. package/lib/services/applications-flow-events.service.d.ts +3 -1
  106. package/lib/services/applications-flow.service.d.ts +3 -1
  107. package/lib/services/forms.service.d.ts +3 -1
  108. package/lib/services/npm.service.d.ts +3 -1
  109. package/lib/services/project.service.d.ts +3 -1
  110. package/lib/state/applications-flow-state.context.d.ts +3 -1
  111. package/lib/state/applications-flow.state.d.ts +0 -1
  112. package/lowcodeunit-applications-flow-common.d.ts +1 -26
  113. package/package.json +20 -12
  114. package/bundles/lowcodeunit-applications-flow-common.umd.js +0 -5238
  115. package/bundles/lowcodeunit-applications-flow-common.umd.js.map +0 -1
  116. package/bundles/lowcodeunit-applications-flow-common.umd.min.js +0 -16
  117. package/bundles/lowcodeunit-applications-flow-common.umd.min.js.map +0 -1
  118. package/esm2015/lcu.api.js +0 -26
  119. package/esm2015/lib/applications-flow.module.js +0 -171
  120. package/esm2015/lib/elements/analytics-card/analytics-card.component.js +0 -21
  121. package/esm2015/lib/elements/base-form/base-form.component.js +0 -61
  122. package/esm2015/lib/elements/card-carousel/card-carousel.component.js +0 -67
  123. package/esm2015/lib/elements/column-info-card/column-info-card.component.js +0 -31
  124. package/esm2015/lib/elements/dynamic-tabs/dynamic-tabs.component.js +0 -69
  125. package/esm2015/lib/elements/feed-card-sm/feed-card-sm.component.js +0 -31
  126. package/esm2015/lib/elements/form-card/form-card.component.js +0 -22
  127. package/esm2015/lib/elements/gh-control/gh-control.component.js +0 -72
  128. package/esm2015/lib/elements/main-feed-card/main-feed-card.component.js +0 -24
  129. package/esm2015/lib/elements/project-info-card/project-info-card.component.js +0 -32
  130. package/esm2015/lib/elements/projects/controls/builds/builds.component.js +0 -31
  131. package/esm2015/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.js +0 -145
  132. package/esm2015/lib/elements/projects/controls/forms/source-control/source-control.component.js +0 -265
  133. package/esm2015/lib/elements/projects/controls/git-auth/git-auth.component.js +0 -25
  134. package/esm2015/lib/elements/projects/controls/header/header.component.js +0 -75
  135. package/esm2015/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.js +0 -102
  136. package/esm2015/lib/elements/projects/controls/project-items/project-items.component.js +0 -49
  137. package/esm2015/lib/elements/projects/controls/project-tabs/project-tabs.component.js +0 -91
  138. package/esm2015/lib/elements/projects/controls/recent-activities/recent-activities.component.js +0 -15
  139. package/esm2015/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.js +0 -592
  140. package/esm2015/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.js +0 -62
  141. package/esm2015/lib/elements/projects/controls/tabs/devops/devops.component.js +0 -202
  142. package/esm2015/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.js +0 -178
  143. package/esm2015/lib/elements/projects/controls/tabs/domains/domains.component.js +0 -133
  144. package/esm2015/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.js +0 -86
  145. package/esm2015/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.js +0 -129
  146. package/esm2015/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.js +0 -113
  147. package/esm2015/lib/elements/projects/controls/tabs/general/general.component.js +0 -46
  148. package/esm2015/lib/elements/projects/projects.component.js +0 -226
  149. package/esm2015/lib/elements/slotted-card/slotted-card.component.js +0 -26
  150. package/esm2015/lib/elements/three-column/three-column.component.js +0 -32
  151. package/esm2015/lib/elements/two-column-header/two-column-header.component.js +0 -15
  152. package/esm2015/lib/models/actions.model.js +0 -3
  153. package/esm2015/lib/models/base-form-config.model.js +0 -6
  154. package/esm2015/lib/models/card-form-config.model.js +0 -6
  155. package/esm2015/lib/models/card-slot.model.js +0 -3
  156. package/esm2015/lib/models/dev-settings-preset.model.js +0 -3
  157. package/esm2015/lib/models/domain.model.js +0 -3
  158. package/esm2015/lib/models/dynamic-tabs.model.js +0 -6
  159. package/esm2015/lib/models/form-actions.model.js +0 -3
  160. package/esm2015/lib/models/form.model.js +0 -6
  161. package/esm2015/lib/models/form.values.model.js +0 -11
  162. package/esm2015/lib/models/project-actions.model.js +0 -6
  163. package/esm2015/lib/models/slot-action.model.js +0 -3
  164. package/esm2015/lib/services/applications-flow-events.service.js +0 -83
  165. package/esm2015/lib/services/applications-flow.service.js +0 -136
  166. package/esm2015/lib/services/forms.service.js +0 -131
  167. package/esm2015/lib/services/npm.service.js +0 -79
  168. package/esm2015/lib/services/project.service.js +0 -318
  169. package/esm2015/lib/state/applications-flow-state.context.js +0 -37
  170. package/esm2015/lib/state/applications-flow.state.js +0 -72
  171. package/esm2015/lowcodeunit-applications-flow-common.js +0 -30
  172. package/fesm2015/lowcodeunit-applications-flow-common.js +0 -3993
  173. package/fesm2015/lowcodeunit-applications-flow-common.js.map +0 -1
  174. package/lcu.api.d.ts.map +0 -1
  175. package/lib/applications-flow.module.d.ts.map +0 -1
  176. package/lib/elements/analytics-card/analytics-card.component.d.ts.map +0 -1
  177. package/lib/elements/base-form/base-form.component.d.ts.map +0 -1
  178. package/lib/elements/card-carousel/card-carousel.component.d.ts +0 -14
  179. package/lib/elements/card-carousel/card-carousel.component.d.ts.map +0 -1
  180. package/lib/elements/column-info-card/column-info-card.component.d.ts.map +0 -1
  181. package/lib/elements/dynamic-tabs/dynamic-tabs.component.d.ts.map +0 -1
  182. package/lib/elements/feed-card-sm/feed-card-sm.component.d.ts.map +0 -1
  183. package/lib/elements/form-card/form-card.component.d.ts.map +0 -1
  184. package/lib/elements/gh-control/gh-control.component.d.ts.map +0 -1
  185. package/lib/elements/main-feed-card/main-feed-card.component.d.ts.map +0 -1
  186. package/lib/elements/project-info-card/project-info-card.component.d.ts.map +0 -1
  187. package/lib/elements/projects/controls/builds/builds.component.d.ts.map +0 -1
  188. package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts.map +0 -1
  189. package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts.map +0 -1
  190. package/lib/elements/projects/controls/git-auth/git-auth.component.d.ts.map +0 -1
  191. package/lib/elements/projects/controls/header/header.component.d.ts.map +0 -1
  192. package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts.map +0 -1
  193. package/lib/elements/projects/controls/project-items/project-items.component.d.ts.map +0 -1
  194. package/lib/elements/projects/controls/project-tabs/project-tabs.component.d.ts.map +0 -1
  195. package/lib/elements/projects/controls/recent-activities/recent-activities.component.d.ts.map +0 -1
  196. package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts.map +0 -1
  197. package/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.d.ts.map +0 -1
  198. package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts.map +0 -1
  199. package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts.map +0 -1
  200. package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts.map +0 -1
  201. package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts.map +0 -1
  202. package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts.map +0 -1
  203. package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts.map +0 -1
  204. package/lib/elements/projects/controls/tabs/general/general.component.d.ts.map +0 -1
  205. package/lib/elements/projects/projects.component.d.ts.map +0 -1
  206. package/lib/elements/slotted-card/slotted-card.component.d.ts.map +0 -1
  207. package/lib/elements/three-column/three-column.component.d.ts.map +0 -1
  208. package/lib/elements/two-column-header/two-column-header.component.d.ts.map +0 -1
  209. package/lib/models/actions.model.d.ts.map +0 -1
  210. package/lib/models/base-form-config.model.d.ts.map +0 -1
  211. package/lib/models/card-form-config.model.d.ts.map +0 -1
  212. package/lib/models/card-slot.model.d.ts.map +0 -1
  213. package/lib/models/dev-settings-preset.model.d.ts.map +0 -1
  214. package/lib/models/domain.model.d.ts.map +0 -1
  215. package/lib/models/dynamic-tabs.model.d.ts.map +0 -1
  216. package/lib/models/form-actions.model.d.ts.map +0 -1
  217. package/lib/models/form.model.d.ts.map +0 -1
  218. package/lib/models/form.values.model.d.ts.map +0 -1
  219. package/lib/models/project-actions.model.d.ts.map +0 -1
  220. package/lib/models/slot-action.model.d.ts.map +0 -1
  221. package/lib/services/applications-flow-events.service.d.ts.map +0 -1
  222. package/lib/services/applications-flow.service.d.ts.map +0 -1
  223. package/lib/services/forms.service.d.ts.map +0 -1
  224. package/lib/services/npm.service.d.ts.map +0 -1
  225. package/lib/services/project.service.d.ts.map +0 -1
  226. package/lib/state/applications-flow-state.context.d.ts.map +0 -1
  227. package/lib/state/applications-flow.state.d.ts.map +0 -1
  228. package/lowcodeunit-applications-flow-common.d.ts.map +0 -1
  229. package/lowcodeunit-applications-flow-common.metadata.json +0 -1
@@ -0,0 +1,179 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { Validators, } from '@angular/forms';
3
+ import { Guid } from '@lcu/common';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ import * as i2 from "../../../../../services/applications-flow.service";
7
+ import * as i3 from "../../../../../services/applications-flow-events.service";
8
+ import * as i4 from "@angular/material/card";
9
+ import * as i5 from "@angular/material/icon";
10
+ import * as i6 from "@angular/material/form-field";
11
+ import * as i7 from "@angular/material/select";
12
+ import * as i8 from "@angular/material/core";
13
+ import * as i9 from "@angular/material/slide-toggle";
14
+ import * as i10 from "@angular/material/button";
15
+ import * as i11 from "@angular/common";
16
+ import * as i12 from "@angular/flex-layout/flex";
17
+ import * as i13 from "@angular/material/tooltip";
18
+ import * as i14 from "@angular/material/input";
19
+ export class DFSModifiersComponent {
20
+ // Constructors
21
+ constructor(formBldr, appsFlowSvc, appsFlowEventsSvc) {
22
+ this.formBldr = formBldr;
23
+ this.appsFlowSvc = appsFlowSvc;
24
+ this.appsFlowEventsSvc = appsFlowEventsSvc;
25
+ this.EditingModifierLookup = null;
26
+ }
27
+ get DetailsFormControl() {
28
+ return this.ModifierFormGroup?.controls.details;
29
+ }
30
+ get EditingModifier() {
31
+ let mdfr = this.Modifiers
32
+ ? this.Modifiers[this.EditingModifierLookup]
33
+ : null;
34
+ if (mdfr == null && this.EditingModifierLookup) {
35
+ mdfr = {};
36
+ }
37
+ return mdfr;
38
+ }
39
+ get EnabledFormControl() {
40
+ return this.ModifierFormGroup?.controls.enabled;
41
+ }
42
+ get LocationFormControl() {
43
+ return this.ModifierFormGroup?.controls.location;
44
+ }
45
+ get ModifierLookups() {
46
+ return Object.keys(this.Modifiers || {});
47
+ }
48
+ get Modifiers() {
49
+ return this.Data.Modifiers || {};
50
+ }
51
+ get NameFormControl() {
52
+ return this.ModifierFormGroup?.controls.name;
53
+ }
54
+ get PathFilterFormControl() {
55
+ return this.ModifierFormGroup?.controls.pathFilter;
56
+ }
57
+ get PriorityFormControl() {
58
+ return this.ModifierFormGroup?.controls.priority;
59
+ }
60
+ get Project() {
61
+ return this.Data.Project || {};
62
+ }
63
+ get ScriptFormControl() {
64
+ return this.ModifierFormGroup?.controls.script;
65
+ }
66
+ get ScriptIDFormControl() {
67
+ return this.ModifierFormGroup?.controls.scriptId;
68
+ }
69
+ get StateDataTokenFormControl() {
70
+ return this.ModifierFormGroup?.controls.stateDataToken;
71
+ }
72
+ get TypeFormControl() {
73
+ return this.ModifierFormGroup?.controls.type;
74
+ }
75
+ // Life Cycle
76
+ ngOnInit() {
77
+ if (this.ModifierLookups?.length <= 0) {
78
+ this.CreateNewModifier();
79
+ }
80
+ }
81
+ // API Methods
82
+ CreateNewModifier() {
83
+ this.SetEditingModifier(Guid.CreateRaw());
84
+ }
85
+ DeleteModifier(modifierLookup, modifierName) {
86
+ if (confirm(`Are you sure you want to delete modifier '${modifierName}'?`)) {
87
+ this.appsFlowEventsSvc.DeleteSourceControl(modifierLookup);
88
+ }
89
+ }
90
+ SaveModifier(projectLookup = null) {
91
+ const saveMdfrReq = {
92
+ Modifier: {
93
+ ...this.EditingModifier,
94
+ Name: this.NameFormControl.value,
95
+ Enabled: this.EnabledFormControl.value,
96
+ PathFilterRegex: this.PathFilterFormControl.value,
97
+ Priority: this.PriorityFormControl.value,
98
+ Type: this.CurrentType,
99
+ },
100
+ ModifierLookup: this.EditingModifierLookup,
101
+ ProjectLookup: projectLookup,
102
+ };
103
+ const details = {};
104
+ switch (this.CurrentType) {
105
+ case 'LCU.Runtime.Applications.Modifiers.HTMLBaseDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null':
106
+ break;
107
+ case 'LCU.Runtime.Applications.Modifiers.LCURegDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null':
108
+ details['StateDataToken'] = this.StateDataTokenFormControl.value;
109
+ break;
110
+ case 'LCU.Runtime.Applications.Modifiers.ThirdPartyLibraryDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null':
111
+ details['Location'] = this.LocationFormControl.value;
112
+ details['Script'] = this.ScriptFormControl.value;
113
+ details['ScriptID'] = this.ScriptIDFormControl.value;
114
+ break;
115
+ }
116
+ saveMdfrReq.Modifier.Details = JSON.stringify(details);
117
+ this.appsFlowEventsSvc.SaveDFSModifier(saveMdfrReq);
118
+ }
119
+ SetEditingModifier(modifierLookup) {
120
+ this.EditingModifierLookup = modifierLookup;
121
+ this.setupModifierForm();
122
+ }
123
+ SetUseForProject(modifierLookup, change) {
124
+ this.SetEditingModifier(modifierLookup);
125
+ this.SaveModifier(this.Data.ProjectLookup);
126
+ }
127
+ TypeChanged(event) {
128
+ this.CurrentType = event.value;
129
+ this.setupTypeForm();
130
+ }
131
+ // Helpers
132
+ setupModifierForm() {
133
+ if (this.EditingModifier != null) {
134
+ this.CurrentType = this.EditingModifier?.Type;
135
+ this.ModifierFormGroup = this.formBldr.group({
136
+ name: [this.EditingModifier?.Name, Validators.required],
137
+ type: [this.CurrentType, Validators.required],
138
+ priority: [this.EditingModifier?.Priority, Validators.required],
139
+ enabled: [this.EditingModifier?.Enabled, []],
140
+ pathFilter: [
141
+ this.EditingModifier?.PathFilterRegex,
142
+ Validators.required,
143
+ ],
144
+ });
145
+ this.setupTypeForm();
146
+ }
147
+ }
148
+ setupTypeForm() {
149
+ this.ModifierFormGroup.removeControl('stateDataToken');
150
+ this.ModifierFormGroup.removeControl('location');
151
+ this.ModifierFormGroup.removeControl('script');
152
+ this.ModifierFormGroup.removeControl('scriptId');
153
+ const details = JSON.parse(this.EditingModifier?.Details || '{}');
154
+ switch (this.CurrentType) {
155
+ case 'LCU.Runtime.Applications.Modifiers.HTMLBaseDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null':
156
+ break;
157
+ case 'LCU.Runtime.Applications.Modifiers.LCURegDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null':
158
+ this.ModifierFormGroup.addControl('stateDataToken', this.formBldr.control(details?.StateDataToken || '', [
159
+ Validators.required,
160
+ ]));
161
+ break;
162
+ case 'LCU.Runtime.Applications.Modifiers.ThirdPartyLibraryDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null':
163
+ this.ModifierFormGroup.addControl('location', this.formBldr.control(details?.Location || '', [Validators.required]));
164
+ this.ModifierFormGroup.addControl('script', this.formBldr.control(details?.Script || '', [Validators.required]));
165
+ this.ModifierFormGroup.addControl('scriptId', this.formBldr.control(details?.ScriptID || '', [Validators.required]));
166
+ break;
167
+ }
168
+ }
169
+ }
170
+ DFSModifiersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DFSModifiersComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ApplicationsFlowService }, { token: i3.ApplicationsFlowEventsService }], target: i0.ɵɵFactoryTarget.Component });
171
+ DFSModifiersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DFSModifiersComponent, selector: "lcu-dfs-modifiers", inputs: { Data: ["data", "Data"] }, ngImport: i0, template: "<div>\n <form\n [formGroup]=\"ModifierFormGroup\"\n (ngSubmit)=\"SaveModifier()\"\n *ngIf=\"EditingModifier\"\n >\n <div class=\"form-card\">\n <mat-card class=\"spread\">\n <mat-card-header>\n <mat-card-title> DFS Modifier </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-icon\n matSuffix\n matTooltip=\"Configure modifiers for your DFS files.\"\n >\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"name\"\n placeholder=\"Name\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"priority\"\n placeholder=\"Priority\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"pathFilter\"\n placeholder=\"Path Filter (regex)\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n formControlName=\"type\"\n placeholder=\"DFS Modifier Type\"\n (selectionChange)=\"TypeChanged($event)\"\n >\n <mat-option\n value=\"LCU.Runtime.Applications.Modifiers.HTMLBaseDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\"\n >\n HTML Base Modfier\n </mat-option>\n\n <mat-option\n value=\"LCU.Runtime.Applications.Modifiers.LCURegDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\"\n >\n LCU Reg Modfier\n </mat-option>\n\n <mat-option\n value=\"LCU.Runtime.Applications.Modifiers.ThirdPartyLibraryDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\"\n >\n Thrid Party Library Modifier\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <ng-container\n *ngIf=\"\n CurrentType ==\n 'LCU.Runtime.Applications.Modifiers.LCURegDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'\n \"\n >\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"stateDataToken\"\n placeholder=\"State Data Token\"\n required\n />\n </mat-form-field>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n CurrentType ==\n 'LCU.Runtime.Applications.Modifiers.ThirdPartyLibraryDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'\n \"\n >\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"location\"\n placeholder=\"Location\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"scriptId\"\n placeholder=\"Script ID\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <textarea\n matInput\n formControlName=\"script\"\n placeholder=\"Script\"\n required></textarea>\n </mat-form-field>\n </ng-container>\n\n <mat-slide-toggle class=\"spread\" formControlName=\"enabled\">\n Is Enabled?\n </mat-slide-toggle>\n </mat-card-content>\n </mat-card>\n </div>\n\n <div class=\"spread\">\n <div fxFlex></div>\n\n <button mat-button type=\"button\" (click)=\"SetEditingModifier(null)\">\n <mat-icon>cancel</mat-icon> Cancel\n </button>\n\n <div fxFlex></div>\n\n <button\n mat-raised-button\n type=\"submit\"\n color=\"primary\"\n [disabled]=\"!ModifierFormGroup.valid || !ModifierFormGroup.dirty\"\n >\n <mat-icon>save</mat-icon> Save DFS Modifier\n </button>\n\n <div fxFlex></div>\n </div>\n </form>\n\n <div class=\"spread\" *ngIf=\"!EditingModifier\">\n <span class=\"apps-actions\">\n <button mat-raised-button color=\"accent\" (click)=\"CreateNewModifier()\">\n <mat-icon color=\"primary\">add</mat-icon> Create New\n </button>\n </span>\n\n <div class=\"spread\">\n <div *ngIf=\"ModifierLookups?.length <= 0\">\n <h2>No DFS modifiers created, create your first DFS modifier.</h2>\n </div>\n\n <div *ngIf=\"ModifierLookups?.length > 0\">\n <h2>DFS Modifiers</h2>\n\n <div fxLayout=\"row wrap\" fxLayout.lt-md=\"column\">\n <div\n fxFlex=\"30%\"\n fxFlex.lt-md=\"100%\"\n *ngFor=\"let modifierLookup of ModifierLookups\"\n >\n <mat-card\n class=\"spread\"\n *ngIf=\"Modifiers[modifierLookup]; let modifier\"\n >\n <mat-card-header>\n <!-- <img mat-card-avatar=\"/assets/images/project-icon.png\" /> -->\n\n <mat-card-title\n class=\"mat-subheading-2\"\n [matTooltip]=\"modifier.Name\"\n >\n {{ modifier.Name || modifier.Lookup }}\n\n <div fxFlex></div>\n\n <mat-slide-toggle\n class=\"spread\"\n [checked]=\"\n Project?.ModifierLookups.indexOf(modifierLookup) >= 0\n \"\n (change)=\"SetUseForProject(modifierLookup, $event)\"\n matTooltip=\"Use for project?\"\n >\n </mat-slide-toggle>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <div class=\"spread\"></div>\n </mat-card-content>\n\n <mat-card-actions>\n <div class=\"data-app-actions\">\n <div fxFlex></div>\n\n <button\n mat-icon-button\n color=\"accent\"\n (click)=\"SetEditingModifier(modifierLookup)\"\n >\n <mat-icon matTooltip=\"Edit DFS Modifier\">\n settings\n </mat-icon>\n </button>\n\n <button\n mat-icon-button\n color=\"warn\"\n (click)=\"DeleteModifier(modifierLookup, modifier.Name)\"\n >\n <mat-icon matTooltip=\"Delete {{ modifier.Name }}\">\n delete_forever\n </mat-icon>\n </button>\n </div>\n\n <div class=\"data-app-fakes\">\n <div fxFlex></div>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n </div>\n </mat-card-actions>\n </mat-card>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/icon?family=Material+Icons\";@import\"https://fonts.googleapis.com/css?family=Encode+Sans+Condensed:400,900&display=swap\";@import\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&display=swap\";.disable-autofill-background-default input:-webkit-autofill,.disable-autofill-background-default input:-webkit-autofill:hover,.disable-autofill-background-default input:-webkit-autofill:focus,.disable-autofill-background-default textarea:-webkit-autofill,.disable-autofill-background-default textarea:-webkit-autofill:hover,.disable-autofill-background-default textarea:-webkit-autofill:focus,.disable-autofill-background-default select:-webkit-autofill,.disable-autofill-background-default select:-webkit-autofill:hover,.disable-autofill-background-default select:-webkit-autofill:focus{-webkit-transition:background-color 5000s!important;transition:background-color 5000s!important}.list-item-disabled{opacity:.5;filter:alpha(opacity=50);cursor:not-allowed!important}.filler{flex:1 1 auto;display:inline-block!important}.sticky{position:sticky;z-index:750;top:0}.inline{display:inline-block}.contents,.page-element{display:contents}.mat-spinner{margin:auto}.mat-full-width{width:100%}.spread{margin:2rem}.spread-thin{margin:1rem}.overlay{position:sticky!important}.overlay.top{top:0}.overlay.bottom{bottom:0}.margin-0{margin:0!important}.margin-top-0,.margin-y-0{margin-top:0!important}.margin-right-0,.margin-x-0{margin-right:0!important}.margin-bottom-0,.margin-y-0{margin-bottom:0!important}.margin-left-0,.margin-x-0{margin-left:0!important}.margin-1{margin:.25rem!important}.margin-top-1,.margin-y-1{margin-top:.25rem!important}.margin-right-1,.margin-x-1{margin-right:.25rem!important}.margin-bottom-1,.margin-y-1{margin-bottom:.25rem!important}.margin-left-1,.margin-x-1{margin-left:.25rem!important}.margin-2{margin:.5rem!important}.margin-top-2,.margin-y-2{margin-top:.5rem!important}.margin-right-2,.margin-x-2{margin-right:.5rem!important}.margin-bottom-2,.margin-y-2{margin-bottom:.5rem!important}.margin-left-2,.margin-x-2{margin-left:.5rem!important}.margin-3{margin:1rem!important}.margin-top-3,.margin-y-3{margin-top:1rem!important}.margin-top-bottom-3{margin:1rem 0!important}.margin-right-3,.margin-x-3{margin-right:1rem!important}.margin-bottom-3,.margin-y-3{margin-bottom:1rem!important}.margin-left-3,.margin-x-3{margin-left:1rem!important}.margin-4{margin:2rem!important}.margin-top-4,.margin-y-4{margin-top:2rem!important}.margin-right-4,.margin-x-4{margin-right:2rem!important}.margin-bottom-4,.margin-y-4{margin-bottom:2rem!important}.margin-left-4,.margin-x-4{margin-left:2rem!important}.margin-right-5,.margin-x-5{margin-right:4rem!important}.margin-bottom-5,.margin-y-5{margin-bottom:4rem!important}.margin-left-5,.margin-x-5{margin-left:4rem!important}.margin-5{margin:4rem!important}.margin-top-5,.margin-y-5{margin-top:4rem!important}.margin-right-6,.margin-x-6{margin-right:4.5rem!important}.margin-bottom-6,.margin-y-6{margin-bottom:4.5rem!important}.margin-left-6,.margin-x-6{margin-left:4.5rem!important}.margin-7{margin:6rem!important}.margin-top-7,.margin-y-7{margin-top:6rem!important}.margin-right-7,.margin-x-7{margin-right:6rem!important}.margin-bottom-7,.margin-y-7{margin-bottom:6rem!important}.margin-left-7,.margin-x-7{margin-left:6rem!important}.margin-8{margin:7.5rem!important}.margin-top-8,.margin-y-8{margin-top:7.5rem!important}.margin-right-8,.margin-x-8{margin-right:7.5rem!important}.margin-bottom-8,.margin-y-8{margin-bottom:7.5rem!important}.margin-left-8,.margin-x-8{margin-left:7.5rem!important}.margin-9{margin:9rem!important}.margin-top-9,.margin-y-9{margin-top:9rem!important}.margin-right-9,.margin-x-9{margin-right:9rem!important}.margin-bottom-9,.margin-y-9{margin-bottom:9rem!important}.margin-left-9,.margin-x-9{margin-left:9rem!important}.padding-0{padding:0!important}.padding-top-0,.padding-y-0{padding-top:0!important}.padding-right-0,.padding-x-0{padding-right:0!important}.padding-bottom-0,.padding-y-0{padding-bottom:0!important}.padding-left-0,.padding-x-0{padding-left:0!important}.padding-1{padding:.25rem!important}.padding-top-1,.padding-y-1{padding-top:.25rem!important}.padding-right-1,.padding-x-1{padding-right:.25rem!important}.padding-bottom-1,.padding-y-1{padding-bottom:.25rem!important}.padding-left-1,.padding-x-1{padding-left:.25rem!important}.padding-2{padding:.5rem!important}.padding-top-2,.padding-y-2{padding-top:.5rem!important}.padding-right-2,.padding-x-2{padding-right:.5rem!important}.padding-bottom-2,.padding-y-2{padding-bottom:.5rem!important}.padding-left-2,.padding-x-2{padding-left:.5rem!important}.padding-3{padding:1rem!important}.padding-top-3,.padding-y-3{padding-top:1rem!important}.padding-right-3,.padding-x-3{padding-right:1rem!important}.padding-bottom-3,.padding-y-3{padding-bottom:1rem!important}.padding-left-3,.padding-x-3{padding-left:1rem!important}.padding-4{padding:2rem!important}.padding-top-4,.padding-y-4{padding-top:2rem!important}.padding-right-4,.padding-x-4{padding-right:2rem!important}.padding-bottom-4,.padding-y-4{padding-bottom:2rem!important}.padding-left-4,.padding-x-4{padding-left:2rem!important}.padding-5{padding:4rem!important}.padding-top-5,.padding-y-5{padding-top:4rem!important}.padding-right-5,.padding-x-5{padding-right:4rem!important}.padding-bottom-5,.padding-y-5{padding-bottom:4rem!important}.padding-left-5,.padding-x-5{padding-left:4rem!important}.margin-n1{margin:-.25rem!important}.margin-top-n1,.margin-y-n1{margin-top:-.25rem!important}.margin-right-n1,.margin-x-n1{margin-right:-.25rem!important}.margin-bottom-n1,.margin-y-n1{margin-bottom:-.25rem!important}.margin-left-n1,.margin-x-n1{margin-left:-.25rem!important}.margin-n2{margin:-.5rem!important}.margin-top-n2,.margin-y-n2{margin-top:-.5rem!important}.margin-right-n2,.margin-x-n2{margin-right:-.5rem!important}.margin-bottom-n2,.margin-y-n2{margin-bottom:-.5rem!important}.margin-left-n2,.margin-x-n2{margin-left:-.5rem!important}.margin-n3{margin:-1rem!important}.margin-top-n3,.margin-y-n3{margin-top:-1rem!important}.margin-right-n3,.margin-x-n3{margin-right:-1rem!important}.margin-bottom-n3,.margin-y-n3{margin-bottom:-1rem!important}.margin-left-n3,.margin-x-n3{margin-left:-1rem!important}.margin-n4{margin:-2rem!important}.margin-top-n4,.margin-y-n4{margin-top:-2rem!important}.margin-right-n4,.margin-x-n4{margin-right:-2rem!important}.margin-bottom-n4,.margin-y-n4{margin-bottom:-2rem!important}.margin-left-n4,.margin-x-n4{margin-left:-2rem!important}.margin-n5{margin:-4rem!important}.margin-top-n5,.margin-y-n5{margin-top:-4rem!important}.margin-right-n5,.margin-x-n5{margin-right:-4rem!important}.margin-bottom-n5,.margin-y-n5{margin-bottom:-4rem!important}.margin-left-n5,.margin-x-n5{margin-left:-4rem!important}.margin-auto{margin:auto!important}.margin-top-auto,.margin-y-auto{margin-top:auto!important}.margin-right-auto,.margin-x-auto{margin-right:auto!important}.margin-bottom-auto,.margin-y-auto{margin-bottom:auto!important}.margin-left-auto,.margin-x-auto{margin-left:auto!important}@media (min-width: 576px){.margin-sm-0{margin:0!important}.margin-top-sm-0,.margin-y-sm-0{margin-top:0!important}.margin-right-sm-0,.margin-x-sm-0{margin-right:0!important}.margin-bottom-sm-0,.margin-y-sm-0{margin-bottom:0!important}.margin-left-sm-0,.margin-x-sm-0{margin-left:0!important}.margin-sm-1{margin:.25rem!important}.margin-top-sm-1,.margin-y-sm-1{margin-top:.25rem!important}.margin-right-sm-1,.margin-x-sm-1{margin-right:.25rem!important}.margin-bottom-sm-1,.margin-y-sm-1{margin-bottom:.25rem!important}.margin-left-sm-1,.margin-x-sm-1{margin-left:.25rem!important}.margin-sm-2{margin:.5rem!important}.margin-top-sm-2,.margin-y-sm-2{margin-top:.5rem!important}.margin-right-sm-2,.margin-x-sm-2{margin-right:.5rem!important}.margin-bottom-sm-2,.margin-y-sm-2{margin-bottom:.5rem!important}.margin-left-sm-2,.margin-x-sm-2{margin-left:.5rem!important}.margin-sm-3{margin:1rem!important}.margin-top-sm-3,.margin-y-sm-3{margin-top:1rem!important}.margin-right-sm-3,.margin-x-sm-3{margin-right:1rem!important}.margin-bottom-sm-3,.margin-y-sm-3{margin-bottom:1rem!important}.margin-left-sm-3,.margin-x-sm-3{margin-left:1rem!important}.margin-sm-4{margin:2rem!important}.margin-top-sm-4,.margin-y-sm-4{margin-top:2rem!important}.margin-right-sm-4,.margin-x-sm-4{margin-right:2rem!important}.margin-bottom-sm-4,.margin-y-sm-4{margin-bottom:2rem!important}.margin-left-sm-4,.margin-x-sm-4{margin-left:2rem!important}.margin-sm-5{margin:4rem!important}.margin-top-sm-5,.margin-y-sm-5{margin-top:4rem!important}.margin-right-sm-5,.margin-x-sm-5{margin-right:4rem!important}.margin-bottom-sm-5,.margin-y-sm-5{margin-bottom:4rem!important}.margin-left-sm-5,.margin-x-sm-5{margin-left:4rem!important}.padding-sm-0{padding:0!important}.padding-top-sm-0,.padding-y-sm-0{padding-top:0!important}.padding-right-sm-0,.padding-x-sm-0{padding-right:0!important}.padding-bottom-sm-0,.padding-y-sm-0{padding-bottom:0!important}.padding-left-sm-0,.padding-x-sm-0{padding-left:0!important}.padding-sm-1{padding:.25rem!important}.padding-top-sm-1,.padding-y-sm-1{padding-top:.25rem!important}.padding-right-sm-1,.padding-x-sm-1{padding-right:.25rem!important}.padding-bottom-sm-1,.padding-y-sm-1{padding-bottom:.25rem!important}.padding-left-sm-1,.padding-x-sm-1{padding-left:.25rem!important}.padding-sm-2{padding:.5rem!important}.padding-top-sm-2,.padding-y-sm-2{padding-top:.5rem!important}.padding-right-sm-2,.padding-x-sm-2{padding-right:.5rem!important}.padding-bottom-sm-2,.padding-y-sm-2{padding-bottom:.5rem!important}.padding-left-sm-2,.padding-x-sm-2{padding-left:.5rem!important}.padding-sm-3{padding:1rem!important}.padding-top-sm-3,.padding-y-sm-3{padding-top:1rem!important}.padding-right-sm-3,.padding-x-sm-3{padding-right:1rem!important}.padding-bottom-sm-3,.padding-y-sm-3{padding-bottom:1rem!important}.padding-left-sm-3,.padding-x-sm-3{padding-left:1rem!important}.padding-sm-4{padding:2rem!important}.padding-top-sm-4,.padding-y-sm-4{padding-top:2rem!important}.padding-right-sm-4,.padding-x-sm-4{padding-right:2rem!important}.padding-bottom-sm-4,.padding-y-sm-4{padding-bottom:2rem!important}.padding-left-sm-4,.padding-x-sm-4{padding-left:2rem!important}.padding-sm-5{padding:4rem!important}.padding-top-sm-5,.padding-y-sm-5{padding-top:4rem!important}.padding-right-sm-5,.padding-x-sm-5{padding-right:4rem!important}.padding-bottom-sm-5,.padding-y-sm-5{padding-bottom:4rem!important}.padding-left-sm-5,.padding-x-sm-5{padding-left:4rem!important}.margin-sm-n1{margin:-.25rem!important}.margin-top-sm-n1,.margin-y-sm-n1{margin-top:-.25rem!important}.margin-right-sm-n1,.margin-x-sm-n1{margin-right:-.25rem!important}.margin-bottom-sm-n1,.margin-y-sm-n1{margin-bottom:-.25rem!important}.margin-left-sm-n1,.margin-x-sm-n1{margin-left:-.25rem!important}.margin-sm-n2{margin:-.5rem!important}.margin-top-sm-n2,.margin-y-sm-n2{margin-top:-.5rem!important}.margin-right-sm-n2,.margin-x-sm-n2{margin-right:-.5rem!important}.margin-bottom-sm-n2,.margin-y-sm-n2{margin-bottom:-.5rem!important}.margin-left-sm-n2,.margin-x-sm-n2{margin-left:-.5rem!important}.margin-sm-n3{margin:-1rem!important}.margin-top-sm-n3,.margin-y-sm-n3{margin-top:-1rem!important}.margin-right-sm-n3,.margin-x-sm-n3{margin-right:-1rem!important}.margin-bottom-sm-n3,.margin-y-sm-n3{margin-bottom:-1rem!important}.margin-left-sm-n3,.margin-x-sm-n3{margin-left:-1rem!important}.margin-sm-n4{margin:-2rem!important}.margin-top-sm-n4,.margin-y-sm-n4{margin-top:-2rem!important}.margin-right-sm-n4,.margin-x-sm-n4{margin-right:-2rem!important}.margin-bottom-sm-n4,.margin-y-sm-n4{margin-bottom:-2rem!important}.margin-left-sm-n4,.margin-x-sm-n4{margin-left:-2rem!important}.margin-sm-n5{margin:-4rem!important}.margin-top-sm-n5,.margin-y-sm-n5{margin-top:-4rem!important}.margin-right-sm-n5,.margin-x-sm-n5{margin-right:-4rem!important}.margin-bottom-sm-n5,.margin-y-sm-n5{margin-bottom:-4rem!important}.margin-left-sm-n5,.margin-x-sm-n5{margin-left:-4rem!important}.margin-sm-auto{margin:auto!important}.margin-top-sm-auto,.margin-y-sm-auto{margin-top:auto!important}.margin-right-sm-auto,.margin-x-sm-auto{margin-right:auto!important}.margin-bottom-sm-auto,.margin-y-sm-auto{margin-bottom:auto!important}.margin-left-sm-auto,.margin-x-sm-auto{margin-left:auto!important}}@media (min-width: 768px){.margin-md-0{margin:0!important}.margin-top-md-0,.margin-y-md-0{margin-top:0!important}.margin-right-md-0,.margin-x-md-0{margin-right:0!important}.margin-bottom-md-0,.margin-y-md-0{margin-bottom:0!important}.margin-left-md-0,.margin-x-md-0{margin-left:0!important}.margin-md-1{margin:.25rem!important}.margin-top-md-1,.margin-y-md-1{margin-top:.25rem!important}.margin-right-md-1,.margin-x-md-1{margin-right:.25rem!important}.margin-bottom-md-1,.margin-y-md-1{margin-bottom:.25rem!important}.margin-left-md-1,.margin-x-md-1{margin-left:.25rem!important}.margin-md-2{margin:.5rem!important}.margin-top-md-2,.margin-y-md-2{margin-top:.5rem!important}.margin-right-md-2,.margin-x-md-2{margin-right:.5rem!important}.margin-bottom-md-2,.margin-y-md-2{margin-bottom:.5rem!important}.margin-left-md-2,.margin-x-md-2{margin-left:.5rem!important}.margin-md-3{margin:1rem!important}.margin-top-md-3,.margin-y-md-3{margin-top:1rem!important}.margin-right-md-3,.margin-x-md-3{margin-right:1rem!important}.margin-bottom-md-3,.margin-y-md-3{margin-bottom:1rem!important}.margin-left-md-3,.margin-x-md-3{margin-left:1rem!important}.margin-md-4{margin:2rem!important}.margin-top-md-4,.margin-y-md-4{margin-top:2rem!important}.margin-right-md-4,.margin-x-md-4{margin-right:2rem!important}.margin-bottom-md-4,.margin-y-md-4{margin-bottom:2rem!important}.margin-left-md-4,.margin-x-md-4{margin-left:2rem!important}.margin-md-5{margin:4rem!important}.margin-top-md-5,.margin-y-md-5{margin-top:4rem!important}.margin-right-md-5,.margin-x-md-5{margin-right:4rem!important}.margin-bottom-md-5,.margin-y-md-5{margin-bottom:4rem!important}.margin-left-md-5,.margin-x-md-5{margin-left:4rem!important}.padding-md-0{padding:0!important}.padding-top-md-0,.padding-y-md-0{padding-top:0!important}.padding-right-md-0,.padding-x-md-0{padding-right:0!important}.padding-bottom-md-0,.padding-y-md-0{padding-bottom:0!important}.padding-left-md-0,.padding-x-md-0{padding-left:0!important}.padding-md-1{padding:.25rem!important}.padding-top-md-1,.padding-y-md-1{padding-top:.25rem!important}.padding-right-md-1,.padding-x-md-1{padding-right:.25rem!important}.padding-bottom-md-1,.padding-y-md-1{padding-bottom:.25rem!important}.padding-left-md-1,.padding-x-md-1{padding-left:.25rem!important}.padding-md-2{padding:.5rem!important}.padding-top-md-2,.padding-y-md-2{padding-top:.5rem!important}.padding-right-md-2,.padding-x-md-2{padding-right:.5rem!important}.padding-bottom-md-2,.padding-y-md-2{padding-bottom:.5rem!important}.padding-left-md-2,.padding-x-md-2{padding-left:.5rem!important}.padding-md-3{padding:1rem!important}.padding-top-md-3,.padding-y-md-3{padding-top:1rem!important}.padding-right-md-3,.padding-x-md-3{padding-right:1rem!important}.padding-bottom-md-3,.padding-y-md-3{padding-bottom:1rem!important}.padding-left-md-3,.padding-x-md-3{padding-left:1rem!important}.padding-md-4{padding:2rem!important}.padding-top-md-4,.padding-y-md-4{padding-top:2rem!important}.padding-right-md-4,.padding-x-md-4{padding-right:2rem!important}.padding-bottom-md-4,.padding-y-md-4{padding-bottom:2rem!important}.padding-left-md-4,.padding-x-md-4{padding-left:2rem!important}.padding-md-5{padding:4rem!important}.padding-top-md-5,.padding-y-md-5{padding-top:4rem!important}.padding-right-md-5,.padding-x-md-5{padding-right:4rem!important}.padding-bottom-md-5,.padding-y-md-5{padding-bottom:4rem!important}.padding-left-md-5,.padding-x-md-5{padding-left:4rem!important}.margin-md-n1{margin:-.25rem!important}.margin-top-md-n1,.margin-y-md-n1{margin-top:-.25rem!important}.margin-right-md-n1,.margin-x-md-n1{margin-right:-.25rem!important}.margin-bottom-md-n1,.margin-y-md-n1{margin-bottom:-.25rem!important}.margin-left-md-n1,.margin-x-md-n1{margin-left:-.25rem!important}.margin-md-n2{margin:-.5rem!important}.margin-top-md-n2,.margin-y-md-n2{margin-top:-.5rem!important}.margin-right-md-n2,.margin-x-md-n2{margin-right:-.5rem!important}.margin-bottom-md-n2,.margin-y-md-n2{margin-bottom:-.5rem!important}.margin-left-md-n2,.margin-x-md-n2{margin-left:-.5rem!important}.margin-md-n3{margin:-1rem!important}.margin-top-md-n3,.margin-y-md-n3{margin-top:-1rem!important}.margin-right-md-n3,.margin-x-md-n3{margin-right:-1rem!important}.margin-bottom-md-n3,.margin-y-md-n3{margin-bottom:-1rem!important}.margin-left-md-n3,.margin-x-md-n3{margin-left:-1rem!important}.margin-md-n4{margin:-2rem!important}.margin-top-md-n4,.margin-y-md-n4{margin-top:-2rem!important}.margin-right-md-n4,.margin-x-md-n4{margin-right:-2rem!important}.margin-bottom-md-n4,.margin-y-md-n4{margin-bottom:-2rem!important}.margin-left-md-n4,.margin-x-md-n4{margin-left:-2rem!important}.margin-md-n5{margin:-4rem!important}.margin-top-md-n5,.margin-y-md-n5{margin-top:-4rem!important}.margin-right-md-n5,.margin-x-md-n5{margin-right:-4rem!important}.margin-bottom-md-n5,.margin-y-md-n5{margin-bottom:-4rem!important}.margin-left-md-n5,.margin-x-md-n5{margin-left:-4rem!important}.margin-md-auto{margin:auto!important}.margin-top-md-auto,.margin-y-md-auto{margin-top:auto!important}.margin-right-md-auto,.margin-x-md-auto{margin-right:auto!important}.margin-bottom-md-auto,.margin-y-md-auto{margin-bottom:auto!important}.margin-left-md-auto,.margin-x-md-auto{margin-left:auto!important}}@media (min-width: 992px){.margin-lg-0{margin:0!important}.margin-top-lg-0,.margin-y-lg-0{margin-top:0!important}.margin-right-lg-0,.margin-x-lg-0{margin-right:0!important}.margin-bottom-lg-0,.margin-y-lg-0{margin-bottom:0!important}.margin-left-lg-0,.margin-x-lg-0{margin-left:0!important}.margin-lg-1{margin:.25rem!important}.margin-top-lg-1,.margin-y-lg-1{margin-top:.25rem!important}.margin-right-lg-1,.margin-x-lg-1{margin-right:.25rem!important}.margin-bottom-lg-1,.margin-y-lg-1{margin-bottom:.25rem!important}.margin-left-lg-1,.margin-x-lg-1{margin-left:.25rem!important}.margin-lg-2{margin:.5rem!important}.margin-top-lg-2,.margin-y-lg-2{margin-top:.5rem!important}.margin-right-lg-2,.margin-x-lg-2{margin-right:.5rem!important}.margin-bottom-lg-2,.margin-y-lg-2{margin-bottom:.5rem!important}.margin-left-lg-2,.margin-x-lg-2{margin-left:.5rem!important}.margin-lg-3{margin:1rem!important}.margin-top-lg-3,.margin-y-lg-3{margin-top:1rem!important}.margin-right-lg-3,.margin-x-lg-3{margin-right:1rem!important}.margin-bottom-lg-3,.margin-y-lg-3{margin-bottom:1rem!important}.margin-left-lg-3,.margin-x-lg-3{margin-left:1rem!important}.margin-lg-4{margin:2rem!important}.margin-top-lg-4,.margin-y-lg-4{margin-top:2rem!important}.margin-right-lg-4,.margin-x-lg-4{margin-right:2rem!important}.margin-bottom-lg-4,.margin-y-lg-4{margin-bottom:2rem!important}.margin-left-lg-4,.margin-x-lg-4{margin-left:2rem!important}.margin-lg-5{margin:4rem!important}.margin-top-lg-5,.margin-y-lg-5{margin-top:4rem!important}.margin-right-lg-5,.margin-x-lg-5{margin-right:4rem!important}.margin-bottom-lg-5,.margin-y-lg-5{margin-bottom:4rem!important}.margin-left-lg-5,.margin-x-lg-5{margin-left:4rem!important}.padding-lg-0{padding:0!important}.padding-top-lg-0,.padding-y-lg-0{padding-top:0!important}.padding-right-lg-0,.padding-x-lg-0{padding-right:0!important}.padding-bottom-lg-0,.padding-y-lg-0{padding-bottom:0!important}.padding-left-lg-0,.padding-x-lg-0{padding-left:0!important}.padding-lg-1{padding:.25rem!important}.padding-top-lg-1,.padding-y-lg-1{padding-top:.25rem!important}.padding-right-lg-1,.padding-x-lg-1{padding-right:.25rem!important}.padding-bottom-lg-1,.padding-y-lg-1{padding-bottom:.25rem!important}.padding-left-lg-1,.padding-x-lg-1{padding-left:.25rem!important}.padding-lg-2{padding:.5rem!important}.padding-top-lg-2,.padding-y-lg-2{padding-top:.5rem!important}.padding-right-lg-2,.padding-x-lg-2{padding-right:.5rem!important}.padding-bottom-lg-2,.padding-y-lg-2{padding-bottom:.5rem!important}.padding-left-lg-2,.padding-x-lg-2{padding-left:.5rem!important}.padding-lg-3{padding:1rem!important}.padding-top-lg-3,.padding-y-lg-3{padding-top:1rem!important}.padding-right-lg-3,.padding-x-lg-3{padding-right:1rem!important}.padding-bottom-lg-3,.padding-y-lg-3{padding-bottom:1rem!important}.padding-left-lg-3,.padding-x-lg-3{padding-left:1rem!important}.padding-lg-4{padding:2rem!important}.padding-top-lg-4,.padding-y-lg-4{padding-top:2rem!important}.padding-right-lg-4,.padding-x-lg-4{padding-right:2rem!important}.padding-bottom-lg-4,.padding-y-lg-4{padding-bottom:2rem!important}.padding-left-lg-4,.padding-x-lg-4{padding-left:2rem!important}.padding-lg-5{padding:4rem!important}.padding-top-lg-5,.padding-y-lg-5{padding-top:4rem!important}.padding-right-lg-5,.padding-x-lg-5{padding-right:4rem!important}.padding-bottom-lg-5,.padding-y-lg-5{padding-bottom:4rem!important}.padding-left-lg-5,.padding-x-lg-5{padding-left:4rem!important}.margin-lg-n1{margin:-.25rem!important}.margin-top-lg-n1,.margin-y-lg-n1{margin-top:-.25rem!important}.margin-right-lg-n1,.margin-x-lg-n1{margin-right:-.25rem!important}.margin-bottom-lg-n1,.margin-y-lg-n1{margin-bottom:-.25rem!important}.margin-left-lg-n1,.margin-x-lg-n1{margin-left:-.25rem!important}.margin-lg-n2{margin:-.5rem!important}.margin-top-lg-n2,.margin-y-lg-n2{margin-top:-.5rem!important}.margin-right-lg-n2,.margin-x-lg-n2{margin-right:-.5rem!important}.margin-bottom-lg-n2,.margin-y-lg-n2{margin-bottom:-.5rem!important}.margin-left-lg-n2,.margin-x-lg-n2{margin-left:-.5rem!important}.margin-lg-n3{margin:-1rem!important}.margin-top-lg-n3,.margin-y-lg-n3{margin-top:-1rem!important}.margin-right-lg-n3,.margin-x-lg-n3{margin-right:-1rem!important}.margin-bottom-lg-n3,.margin-y-lg-n3{margin-bottom:-1rem!important}.margin-left-lg-n3,.margin-x-lg-n3{margin-left:-1rem!important}.margin-lg-n4{margin:-2rem!important}.margin-top-lg-n4,.margin-y-lg-n4{margin-top:-2rem!important}.margin-right-lg-n4,.margin-x-lg-n4{margin-right:-2rem!important}.margin-bottom-lg-n4,.margin-y-lg-n4{margin-bottom:-2rem!important}.margin-left-lg-n4,.margin-x-lg-n4{margin-left:-2rem!important}.margin-lg-n5{margin:-4rem!important}.margin-top-lg-n5,.margin-y-lg-n5{margin-top:-4rem!important}.margin-right-lg-n5,.margin-x-lg-n5{margin-right:-4rem!important}.margin-bottom-lg-n5,.margin-y-lg-n5{margin-bottom:-4rem!important}.margin-left-lg-n5,.margin-x-lg-n5{margin-left:-4rem!important}.margin-lg-auto{margin:auto!important}.margin-top-lg-auto,.margin-y-lg-auto{margin-top:auto!important}.margin-right-lg-auto,.margin-x-lg-auto{margin-right:auto!important}.margin-bottom-lg-auto,.margin-y-lg-auto{margin-bottom:auto!important}.margin-left-lg-auto,.margin-x-lg-auto{margin-left:auto!important}}@media (min-width: 1200px){.margin-xl-0{margin:0!important}.margin-top-xl-0,.margin-y-xl-0{margin-top:0!important}.margin-right-xl-0,.margin-x-xl-0{margin-right:0!important}.margin-bottom-xl-0,.margin-y-xl-0{margin-bottom:0!important}.margin-left-xl-0,.margin-x-xl-0{margin-left:0!important}.margin-xl-1{margin:.25rem!important}.margin-top-xl-1,.margin-y-xl-1{margin-top:.25rem!important}.margin-right-xl-1,.margin-x-xl-1{margin-right:.25rem!important}.margin-bottom-xl-1,.margin-y-xl-1{margin-bottom:.25rem!important}.margin-left-xl-1,.margin-x-xl-1{margin-left:.25rem!important}.margin-xl-2{margin:.5rem!important}.margin-top-xl-2,.margin-y-xl-2{margin-top:.5rem!important}.margin-right-xl-2,.margin-x-xl-2{margin-right:.5rem!important}.margin-bottom-xl-2,.margin-y-xl-2{margin-bottom:.5rem!important}.margin-left-xl-2,.margin-x-xl-2{margin-left:.5rem!important}.margin-xl-3{margin:1rem!important}.margin-top-xl-3,.margin-y-xl-3{margin-top:1rem!important}.margin-right-xl-3,.margin-x-xl-3{margin-right:1rem!important}.margin-bottom-xl-3,.margin-y-xl-3{margin-bottom:1rem!important}.margin-left-xl-3,.margin-x-xl-3{margin-left:1rem!important}.margin-xl-4{margin:2rem!important}.margin-top-xl-4,.margin-y-xl-4{margin-top:2rem!important}.margin-right-xl-4,.margin-x-xl-4{margin-right:2rem!important}.margin-bottom-xl-4,.margin-y-xl-4{margin-bottom:2rem!important}.margin-left-xl-4,.margin-x-xl-4{margin-left:2rem!important}.margin-xl-5{margin:4rem!important}.margin-top-xl-5,.margin-y-xl-5{margin-top:4rem!important}.margin-right-xl-5,.margin-x-xl-5{margin-right:4rem!important}.margin-bottom-xl-5,.margin-y-xl-5{margin-bottom:4rem!important}.margin-left-xl-5,.margin-x-xl-5{margin-left:4rem!important}.padding-xl-0{padding:0!important}.padding-top-xl-0,.padding-y-xl-0{padding-top:0!important}.padding-right-xl-0,.padding-x-xl-0{padding-right:0!important}.padding-bottom-xl-0,.padding-y-xl-0{padding-bottom:0!important}.padding-left-xl-0,.padding-x-xl-0{padding-left:0!important}.padding-xl-1{padding:.25rem!important}.padding-top-xl-1,.padding-y-xl-1{padding-top:.25rem!important}.padding-right-xl-1,.padding-x-xl-1{padding-right:.25rem!important}.padding-bottom-xl-1,.padding-y-xl-1{padding-bottom:.25rem!important}.padding-left-xl-1,.padding-x-xl-1{padding-left:.25rem!important}.padding-xl-2{padding:.5rem!important}.padding-top-xl-2,.padding-y-xl-2{padding-top:.5rem!important}.padding-right-xl-2,.padding-x-xl-2{padding-right:.5rem!important}.padding-bottom-xl-2,.padding-y-xl-2{padding-bottom:.5rem!important}.padding-left-xl-2,.padding-x-xl-2{padding-left:.5rem!important}.padding-xl-3{padding:1rem!important}.padding-top-xl-3,.padding-y-xl-3{padding-top:1rem!important}.padding-right-xl-3,.padding-x-xl-3{padding-right:1rem!important}.padding-bottom-xl-3,.padding-y-xl-3{padding-bottom:1rem!important}.padding-left-xl-3,.padding-x-xl-3{padding-left:1rem!important}.padding-xl-4{padding:2rem!important}.padding-top-xl-4,.padding-y-xl-4{padding-top:2rem!important}.padding-right-xl-4,.padding-x-xl-4{padding-right:2rem!important}.padding-bottom-xl-4,.padding-y-xl-4{padding-bottom:2rem!important}.padding-left-xl-4,.padding-x-xl-4{padding-left:2rem!important}.padding-xl-5{padding:4rem!important}.padding-top-xl-5,.padding-y-xl-5{padding-top:4rem!important}.padding-right-xl-5,.padding-x-xl-5{padding-right:4rem!important}.padding-bottom-xl-5,.padding-y-xl-5{padding-bottom:4rem!important}.padding-left-xl-5,.padding-x-xl-5{padding-left:4rem!important}.margin-xl-n1{margin:-.25rem!important}.margin-top-xl-n1,.margin-y-xl-n1{margin-top:-.25rem!important}.margin-right-xl-n1,.margin-x-xl-n1{margin-right:-.25rem!important}.margin-bottom-xl-n1,.margin-y-xl-n1{margin-bottom:-.25rem!important}.margin-left-xl-n1,.margin-x-xl-n1{margin-left:-.25rem!important}.margin-xl-n2{margin:-.5rem!important}.margin-top-xl-n2,.margin-y-xl-n2{margin-top:-.5rem!important}.margin-right-xl-n2,.margin-x-xl-n2{margin-right:-.5rem!important}.margin-bottom-xl-n2,.margin-y-xl-n2{margin-bottom:-.5rem!important}.margin-left-xl-n2,.margin-x-xl-n2{margin-left:-.5rem!important}.margin-xl-n3{margin:-1rem!important}.margin-top-xl-n3,.margin-y-xl-n3{margin-top:-1rem!important}.margin-right-xl-n3,.margin-x-xl-n3{margin-right:-1rem!important}.margin-bottom-xl-n3,.margin-y-xl-n3{margin-bottom:-1rem!important}.margin-left-xl-n3,.margin-x-xl-n3{margin-left:-1rem!important}.margin-xl-n4{margin:-2rem!important}.margin-top-xl-n4,.margin-y-xl-n4{margin-top:-2rem!important}.margin-right-xl-n4,.margin-x-xl-n4{margin-right:-2rem!important}.margin-bottom-xl-n4,.margin-y-xl-n4{margin-bottom:-2rem!important}.margin-left-xl-n4,.margin-x-xl-n4{margin-left:-2rem!important}.margin-xl-n5{margin:-4rem!important}.margin-top-xl-n5,.margin-y-xl-n5{margin-top:-4rem!important}.margin-right-xl-n5,.margin-x-xl-n5{margin-right:-4rem!important}.margin-bottom-xl-n5,.margin-y-xl-n5{margin-bottom:-4rem!important}.margin-left-xl-n5,.margin-x-xl-n5{margin-left:-4rem!important}.margin-xl-auto{margin:auto!important}.margin-top-xl-auto,.margin-y-xl-auto{margin-top:auto!important}.margin-right-xl-auto,.margin-x-xl-auto{margin-right:auto!important}.margin-bottom-xl-auto,.margin-y-xl-auto{margin-bottom:auto!important}.margin-left-xl-auto,.margin-x-xl-auto{margin-left:auto!important}}.h1{font-size:2em}.h2{font-size:1.5em}.h3{font-size:1.17em}.h4{font-size:1em}.h5{font-size:.83em}.h6{font-size:.67em}.cursor-alias{cursor:alias}.cursor-all-scroll{cursor:all-scroll}.cursor-auto{cursor:auto}.cursor-cell{cursor:cell}.cursor-context-menu{cursor:context-menu}.cursor-col-resize{cursor:col-resize}.cursor-copy{cursor:copy}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-e-resize{cursor:e-resize}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-n-resize{cursor:n-resize}.cursor-ne-resize{cursor:ne-resize}.cursor-nesw-resize{cursor:nesw-resize}.cursor-ns-resize{cursor:ns-resize}.cursor-nw-resize{cursor:nw-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-no-drop{cursor:no-drop}.cursor-none{cursor:none}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-progress{cursor:progress}.cursor-row-resize{cursor:row-resize}.cursor-s-resize{cursor:s-resize}.cursor-se-resize{cursor:se-resize}.cursor-sw-resize{cursor:sw-resize}.cursor-text{cursor:text}.cursor-w-resize{cursor:w-resize}.cursor-wait{cursor:wait}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.mat-tooltip{font-size:16px!important}html,body{height:100%}body{margin:0;padding:0;font-family:opens sans regular,sans-serif}iframe{border:none}.mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,Helvetica Neue,sans-serif}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-body-strong,.mat-body-2{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-button,.mat-raised-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button,.mat-fab,.mat-mini-fab{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-subtitle,.mat-card-content{font-size:14px}.mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-trailing-icon.mat-icon,.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.3333333333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.3333433333%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.6666666667em;top:calc(100% - 1.7916666667em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);width:133.3333333333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);width:133.3333433333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);width:133.3333533333%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.5416666667em;top:calc(100% - 1.6666666667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.3333433333%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.3333433333%}.mat-grid-tile-header,.mat-grid-tile-footer{font-size:14px}.mat-grid-tile-header .mat-line,.mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-header .mat-line:nth-child(n+2),.mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,Helvetica Neue,sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-stepper-vertical,.mat-stepper-horizontal{font-family:Roboto,Helvetica Neue,sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item,.mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tree-node,.mat-nested-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale(0)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator,.mat-mdc-focus-indicator{position:relative}.title,.header{font-family:Encode Sans Condensed,sans-serif;font-weight:900}.paragraph-title,.tagline{font-family:Open Sans,sans-serif;font-weight:400}.paragraph-title-bold .tagLine-bold{font-family:Open Sans,sans-serif;font-weight:700}.plain-text,.remarks{font-family:Open Sans,sans-serif;font-weight:300}.plain-text-bold{font-family:Open Sans,sans-serif;font-weight:700}.flex-column{box-sizing:border-box;display:flex;flex-direction:column}.flex-row{box-sizing:border-box;display:flex;flex-direction:row}.flex-row-center{align-items:center;justify-content:center}.mat-button-large{line-height:48px;font-size:18px;font-weight:700;padding:0 24px!important}.mat-round{border-radius:.5em}:root{--initial-primary: #4a918e;--initial-accent: #9cd8d7;--initial-warn: #ef4351;--initial-dark-background: #222222;--initial-light-background: #f2f2f2;--initial-light-background: white;--initial-light-text: rgba(0, 0, 0, .87);--initial-dark-text: rgba(255, 255, 255, .87);--background: #050505;--orange-accent: #ff9800;--green-accent: #00e676;--yellow-accent: #fdd835;--purple-accent: #9c27b0;--cyan-accent: rgba(132, 255, 255, .75);--pink-accent: #e91e63;--success: #00e676}body{background-color:var(--initial-dark-background)}::ng-deep .mat-tooltip{font-size:16px!important}:host .valid-control{color:var(--green-accent)}:host .invalid-control{color:var(--theme-warn-500)}:host .actions .item:not(:last-child){margin-right:0}:host .project-thumbnail img{height:50px;width:auto}:host .active{background-color:var(--theme-accent-400);transition:background-color 1s linear}:host .inactive{background-color:#f2f5a900;transition:background-color 1s linear}:host .expansion-panel{width:100%;margin-bottom:10px}:host .expansion-container{max-height:300px;overflow-y:auto}:host .divider-fill-vert{background-color:var(--theme-accent-500);min-height:100%;top:10%;bottom:10%;min-width:5px}:host .divider-fill-hor{background-color:var(--theme-accent-500);height:5px;width:100%}:host .form-disabled{background-color:#797979;opacity:.5;border-radius:4px}::ng-deep input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s;-webkit-text-fill-color:#FFFFFFDE}@media (max-width: 768px){.spread{margin:1em!important}}@media (max-width: 480px){.spread{margin:.5em!important}}.spinner-logo{display:none!important}:host ::ng-deep .apps-actions{float:right}:host ::ng-deep .mat-card .mat-card-content{text-align:center;overflow:hidden}:host ::ng-deep .mat-card .mat-card-actions .data-app-actions{display:none!important}:host ::ng-deep .mat-card .mat-card-actions .data-app-fakes{display:flex!important}:host ::ng-deep .mat-card .mat-card-actions .data-app-fakes .mat-icon{font-size:8px}:host ::ng-deep .mat-card:hover .mat-card-actions .data-app-actions{display:flex!important}:host ::ng-deep .mat-card:hover .mat-card-actions .data-app-fakes{display:none!important}:host ::ng-deep .mat-subtitle .mat-chip-list{display:inline-block}:host ::ng-deep .mat-form-field{margin-top:.5em;margin-bottom:.5em}:host ::ng-deep .mat-form-field.with-hint{margin-bottom:1em}@media (max-width: 768px){:host ::ng-deep .form-card{width:100%}:host ::ng-deep .mat-card .mat-card-actions .data-app-actions{display:flex!important}:host ::ng-deep .mat-card .mat-card-actions .data-app-fakes{display:none!important}}:host ::ng-deep .domain-item{border-radius:5;border:var(--theme-accent-500) solid 1px}\n"], components: [{ type: i4.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i4.MatCardHeader, selector: "mat-card-header" }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i9.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: i10.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i12.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i6.MatSuffix, selector: "[matSuffix]" }, { type: i13.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i14.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i12.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }] });
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DFSModifiersComponent, decorators: [{
173
+ type: Component,
174
+ args: [{ selector: 'lcu-dfs-modifiers', template: "<div>\n <form\n [formGroup]=\"ModifierFormGroup\"\n (ngSubmit)=\"SaveModifier()\"\n *ngIf=\"EditingModifier\"\n >\n <div class=\"form-card\">\n <mat-card class=\"spread\">\n <mat-card-header>\n <mat-card-title> DFS Modifier </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-icon\n matSuffix\n matTooltip=\"Configure modifiers for your DFS files.\"\n >\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"name\"\n placeholder=\"Name\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"priority\"\n placeholder=\"Priority\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"pathFilter\"\n placeholder=\"Path Filter (regex)\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n formControlName=\"type\"\n placeholder=\"DFS Modifier Type\"\n (selectionChange)=\"TypeChanged($event)\"\n >\n <mat-option\n value=\"LCU.Runtime.Applications.Modifiers.HTMLBaseDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\"\n >\n HTML Base Modfier\n </mat-option>\n\n <mat-option\n value=\"LCU.Runtime.Applications.Modifiers.LCURegDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\"\n >\n LCU Reg Modfier\n </mat-option>\n\n <mat-option\n value=\"LCU.Runtime.Applications.Modifiers.ThirdPartyLibraryDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\"\n >\n Thrid Party Library Modifier\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <ng-container\n *ngIf=\"\n CurrentType ==\n 'LCU.Runtime.Applications.Modifiers.LCURegDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'\n \"\n >\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"stateDataToken\"\n placeholder=\"State Data Token\"\n required\n />\n </mat-form-field>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n CurrentType ==\n 'LCU.Runtime.Applications.Modifiers.ThirdPartyLibraryDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'\n \"\n >\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"location\"\n placeholder=\"Location\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"scriptId\"\n placeholder=\"Script ID\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <textarea\n matInput\n formControlName=\"script\"\n placeholder=\"Script\"\n required></textarea>\n </mat-form-field>\n </ng-container>\n\n <mat-slide-toggle class=\"spread\" formControlName=\"enabled\">\n Is Enabled?\n </mat-slide-toggle>\n </mat-card-content>\n </mat-card>\n </div>\n\n <div class=\"spread\">\n <div fxFlex></div>\n\n <button mat-button type=\"button\" (click)=\"SetEditingModifier(null)\">\n <mat-icon>cancel</mat-icon> Cancel\n </button>\n\n <div fxFlex></div>\n\n <button\n mat-raised-button\n type=\"submit\"\n color=\"primary\"\n [disabled]=\"!ModifierFormGroup.valid || !ModifierFormGroup.dirty\"\n >\n <mat-icon>save</mat-icon> Save DFS Modifier\n </button>\n\n <div fxFlex></div>\n </div>\n </form>\n\n <div class=\"spread\" *ngIf=\"!EditingModifier\">\n <span class=\"apps-actions\">\n <button mat-raised-button color=\"accent\" (click)=\"CreateNewModifier()\">\n <mat-icon color=\"primary\">add</mat-icon> Create New\n </button>\n </span>\n\n <div class=\"spread\">\n <div *ngIf=\"ModifierLookups?.length <= 0\">\n <h2>No DFS modifiers created, create your first DFS modifier.</h2>\n </div>\n\n <div *ngIf=\"ModifierLookups?.length > 0\">\n <h2>DFS Modifiers</h2>\n\n <div fxLayout=\"row wrap\" fxLayout.lt-md=\"column\">\n <div\n fxFlex=\"30%\"\n fxFlex.lt-md=\"100%\"\n *ngFor=\"let modifierLookup of ModifierLookups\"\n >\n <mat-card\n class=\"spread\"\n *ngIf=\"Modifiers[modifierLookup]; let modifier\"\n >\n <mat-card-header>\n <!-- <img mat-card-avatar=\"/assets/images/project-icon.png\" /> -->\n\n <mat-card-title\n class=\"mat-subheading-2\"\n [matTooltip]=\"modifier.Name\"\n >\n {{ modifier.Name || modifier.Lookup }}\n\n <div fxFlex></div>\n\n <mat-slide-toggle\n class=\"spread\"\n [checked]=\"\n Project?.ModifierLookups.indexOf(modifierLookup) >= 0\n \"\n (change)=\"SetUseForProject(modifierLookup, $event)\"\n matTooltip=\"Use for project?\"\n >\n </mat-slide-toggle>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <div class=\"spread\"></div>\n </mat-card-content>\n\n <mat-card-actions>\n <div class=\"data-app-actions\">\n <div fxFlex></div>\n\n <button\n mat-icon-button\n color=\"accent\"\n (click)=\"SetEditingModifier(modifierLookup)\"\n >\n <mat-icon matTooltip=\"Edit DFS Modifier\">\n settings\n </mat-icon>\n </button>\n\n <button\n mat-icon-button\n color=\"warn\"\n (click)=\"DeleteModifier(modifierLookup, modifier.Name)\"\n >\n <mat-icon matTooltip=\"Delete {{ modifier.Name }}\">\n delete_forever\n </mat-icon>\n </button>\n </div>\n\n <div class=\"data-app-fakes\">\n <div fxFlex></div>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n </div>\n </mat-card-actions>\n </mat-card>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/icon?family=Material+Icons\";@import\"https://fonts.googleapis.com/css?family=Encode+Sans+Condensed:400,900&display=swap\";@import\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&display=swap\";.disable-autofill-background-default input:-webkit-autofill,.disable-autofill-background-default input:-webkit-autofill:hover,.disable-autofill-background-default input:-webkit-autofill:focus,.disable-autofill-background-default textarea:-webkit-autofill,.disable-autofill-background-default textarea:-webkit-autofill:hover,.disable-autofill-background-default textarea:-webkit-autofill:focus,.disable-autofill-background-default select:-webkit-autofill,.disable-autofill-background-default select:-webkit-autofill:hover,.disable-autofill-background-default select:-webkit-autofill:focus{-webkit-transition:background-color 5000s!important;transition:background-color 5000s!important}.list-item-disabled{opacity:.5;filter:alpha(opacity=50);cursor:not-allowed!important}.filler{flex:1 1 auto;display:inline-block!important}.sticky{position:sticky;z-index:750;top:0}.inline{display:inline-block}.contents,.page-element{display:contents}.mat-spinner{margin:auto}.mat-full-width{width:100%}.spread{margin:2rem}.spread-thin{margin:1rem}.overlay{position:sticky!important}.overlay.top{top:0}.overlay.bottom{bottom:0}.margin-0{margin:0!important}.margin-top-0,.margin-y-0{margin-top:0!important}.margin-right-0,.margin-x-0{margin-right:0!important}.margin-bottom-0,.margin-y-0{margin-bottom:0!important}.margin-left-0,.margin-x-0{margin-left:0!important}.margin-1{margin:.25rem!important}.margin-top-1,.margin-y-1{margin-top:.25rem!important}.margin-right-1,.margin-x-1{margin-right:.25rem!important}.margin-bottom-1,.margin-y-1{margin-bottom:.25rem!important}.margin-left-1,.margin-x-1{margin-left:.25rem!important}.margin-2{margin:.5rem!important}.margin-top-2,.margin-y-2{margin-top:.5rem!important}.margin-right-2,.margin-x-2{margin-right:.5rem!important}.margin-bottom-2,.margin-y-2{margin-bottom:.5rem!important}.margin-left-2,.margin-x-2{margin-left:.5rem!important}.margin-3{margin:1rem!important}.margin-top-3,.margin-y-3{margin-top:1rem!important}.margin-top-bottom-3{margin:1rem 0!important}.margin-right-3,.margin-x-3{margin-right:1rem!important}.margin-bottom-3,.margin-y-3{margin-bottom:1rem!important}.margin-left-3,.margin-x-3{margin-left:1rem!important}.margin-4{margin:2rem!important}.margin-top-4,.margin-y-4{margin-top:2rem!important}.margin-right-4,.margin-x-4{margin-right:2rem!important}.margin-bottom-4,.margin-y-4{margin-bottom:2rem!important}.margin-left-4,.margin-x-4{margin-left:2rem!important}.margin-right-5,.margin-x-5{margin-right:4rem!important}.margin-bottom-5,.margin-y-5{margin-bottom:4rem!important}.margin-left-5,.margin-x-5{margin-left:4rem!important}.margin-5{margin:4rem!important}.margin-top-5,.margin-y-5{margin-top:4rem!important}.margin-right-6,.margin-x-6{margin-right:4.5rem!important}.margin-bottom-6,.margin-y-6{margin-bottom:4.5rem!important}.margin-left-6,.margin-x-6{margin-left:4.5rem!important}.margin-7{margin:6rem!important}.margin-top-7,.margin-y-7{margin-top:6rem!important}.margin-right-7,.margin-x-7{margin-right:6rem!important}.margin-bottom-7,.margin-y-7{margin-bottom:6rem!important}.margin-left-7,.margin-x-7{margin-left:6rem!important}.margin-8{margin:7.5rem!important}.margin-top-8,.margin-y-8{margin-top:7.5rem!important}.margin-right-8,.margin-x-8{margin-right:7.5rem!important}.margin-bottom-8,.margin-y-8{margin-bottom:7.5rem!important}.margin-left-8,.margin-x-8{margin-left:7.5rem!important}.margin-9{margin:9rem!important}.margin-top-9,.margin-y-9{margin-top:9rem!important}.margin-right-9,.margin-x-9{margin-right:9rem!important}.margin-bottom-9,.margin-y-9{margin-bottom:9rem!important}.margin-left-9,.margin-x-9{margin-left:9rem!important}.padding-0{padding:0!important}.padding-top-0,.padding-y-0{padding-top:0!important}.padding-right-0,.padding-x-0{padding-right:0!important}.padding-bottom-0,.padding-y-0{padding-bottom:0!important}.padding-left-0,.padding-x-0{padding-left:0!important}.padding-1{padding:.25rem!important}.padding-top-1,.padding-y-1{padding-top:.25rem!important}.padding-right-1,.padding-x-1{padding-right:.25rem!important}.padding-bottom-1,.padding-y-1{padding-bottom:.25rem!important}.padding-left-1,.padding-x-1{padding-left:.25rem!important}.padding-2{padding:.5rem!important}.padding-top-2,.padding-y-2{padding-top:.5rem!important}.padding-right-2,.padding-x-2{padding-right:.5rem!important}.padding-bottom-2,.padding-y-2{padding-bottom:.5rem!important}.padding-left-2,.padding-x-2{padding-left:.5rem!important}.padding-3{padding:1rem!important}.padding-top-3,.padding-y-3{padding-top:1rem!important}.padding-right-3,.padding-x-3{padding-right:1rem!important}.padding-bottom-3,.padding-y-3{padding-bottom:1rem!important}.padding-left-3,.padding-x-3{padding-left:1rem!important}.padding-4{padding:2rem!important}.padding-top-4,.padding-y-4{padding-top:2rem!important}.padding-right-4,.padding-x-4{padding-right:2rem!important}.padding-bottom-4,.padding-y-4{padding-bottom:2rem!important}.padding-left-4,.padding-x-4{padding-left:2rem!important}.padding-5{padding:4rem!important}.padding-top-5,.padding-y-5{padding-top:4rem!important}.padding-right-5,.padding-x-5{padding-right:4rem!important}.padding-bottom-5,.padding-y-5{padding-bottom:4rem!important}.padding-left-5,.padding-x-5{padding-left:4rem!important}.margin-n1{margin:-.25rem!important}.margin-top-n1,.margin-y-n1{margin-top:-.25rem!important}.margin-right-n1,.margin-x-n1{margin-right:-.25rem!important}.margin-bottom-n1,.margin-y-n1{margin-bottom:-.25rem!important}.margin-left-n1,.margin-x-n1{margin-left:-.25rem!important}.margin-n2{margin:-.5rem!important}.margin-top-n2,.margin-y-n2{margin-top:-.5rem!important}.margin-right-n2,.margin-x-n2{margin-right:-.5rem!important}.margin-bottom-n2,.margin-y-n2{margin-bottom:-.5rem!important}.margin-left-n2,.margin-x-n2{margin-left:-.5rem!important}.margin-n3{margin:-1rem!important}.margin-top-n3,.margin-y-n3{margin-top:-1rem!important}.margin-right-n3,.margin-x-n3{margin-right:-1rem!important}.margin-bottom-n3,.margin-y-n3{margin-bottom:-1rem!important}.margin-left-n3,.margin-x-n3{margin-left:-1rem!important}.margin-n4{margin:-2rem!important}.margin-top-n4,.margin-y-n4{margin-top:-2rem!important}.margin-right-n4,.margin-x-n4{margin-right:-2rem!important}.margin-bottom-n4,.margin-y-n4{margin-bottom:-2rem!important}.margin-left-n4,.margin-x-n4{margin-left:-2rem!important}.margin-n5{margin:-4rem!important}.margin-top-n5,.margin-y-n5{margin-top:-4rem!important}.margin-right-n5,.margin-x-n5{margin-right:-4rem!important}.margin-bottom-n5,.margin-y-n5{margin-bottom:-4rem!important}.margin-left-n5,.margin-x-n5{margin-left:-4rem!important}.margin-auto{margin:auto!important}.margin-top-auto,.margin-y-auto{margin-top:auto!important}.margin-right-auto,.margin-x-auto{margin-right:auto!important}.margin-bottom-auto,.margin-y-auto{margin-bottom:auto!important}.margin-left-auto,.margin-x-auto{margin-left:auto!important}@media (min-width: 576px){.margin-sm-0{margin:0!important}.margin-top-sm-0,.margin-y-sm-0{margin-top:0!important}.margin-right-sm-0,.margin-x-sm-0{margin-right:0!important}.margin-bottom-sm-0,.margin-y-sm-0{margin-bottom:0!important}.margin-left-sm-0,.margin-x-sm-0{margin-left:0!important}.margin-sm-1{margin:.25rem!important}.margin-top-sm-1,.margin-y-sm-1{margin-top:.25rem!important}.margin-right-sm-1,.margin-x-sm-1{margin-right:.25rem!important}.margin-bottom-sm-1,.margin-y-sm-1{margin-bottom:.25rem!important}.margin-left-sm-1,.margin-x-sm-1{margin-left:.25rem!important}.margin-sm-2{margin:.5rem!important}.margin-top-sm-2,.margin-y-sm-2{margin-top:.5rem!important}.margin-right-sm-2,.margin-x-sm-2{margin-right:.5rem!important}.margin-bottom-sm-2,.margin-y-sm-2{margin-bottom:.5rem!important}.margin-left-sm-2,.margin-x-sm-2{margin-left:.5rem!important}.margin-sm-3{margin:1rem!important}.margin-top-sm-3,.margin-y-sm-3{margin-top:1rem!important}.margin-right-sm-3,.margin-x-sm-3{margin-right:1rem!important}.margin-bottom-sm-3,.margin-y-sm-3{margin-bottom:1rem!important}.margin-left-sm-3,.margin-x-sm-3{margin-left:1rem!important}.margin-sm-4{margin:2rem!important}.margin-top-sm-4,.margin-y-sm-4{margin-top:2rem!important}.margin-right-sm-4,.margin-x-sm-4{margin-right:2rem!important}.margin-bottom-sm-4,.margin-y-sm-4{margin-bottom:2rem!important}.margin-left-sm-4,.margin-x-sm-4{margin-left:2rem!important}.margin-sm-5{margin:4rem!important}.margin-top-sm-5,.margin-y-sm-5{margin-top:4rem!important}.margin-right-sm-5,.margin-x-sm-5{margin-right:4rem!important}.margin-bottom-sm-5,.margin-y-sm-5{margin-bottom:4rem!important}.margin-left-sm-5,.margin-x-sm-5{margin-left:4rem!important}.padding-sm-0{padding:0!important}.padding-top-sm-0,.padding-y-sm-0{padding-top:0!important}.padding-right-sm-0,.padding-x-sm-0{padding-right:0!important}.padding-bottom-sm-0,.padding-y-sm-0{padding-bottom:0!important}.padding-left-sm-0,.padding-x-sm-0{padding-left:0!important}.padding-sm-1{padding:.25rem!important}.padding-top-sm-1,.padding-y-sm-1{padding-top:.25rem!important}.padding-right-sm-1,.padding-x-sm-1{padding-right:.25rem!important}.padding-bottom-sm-1,.padding-y-sm-1{padding-bottom:.25rem!important}.padding-left-sm-1,.padding-x-sm-1{padding-left:.25rem!important}.padding-sm-2{padding:.5rem!important}.padding-top-sm-2,.padding-y-sm-2{padding-top:.5rem!important}.padding-right-sm-2,.padding-x-sm-2{padding-right:.5rem!important}.padding-bottom-sm-2,.padding-y-sm-2{padding-bottom:.5rem!important}.padding-left-sm-2,.padding-x-sm-2{padding-left:.5rem!important}.padding-sm-3{padding:1rem!important}.padding-top-sm-3,.padding-y-sm-3{padding-top:1rem!important}.padding-right-sm-3,.padding-x-sm-3{padding-right:1rem!important}.padding-bottom-sm-3,.padding-y-sm-3{padding-bottom:1rem!important}.padding-left-sm-3,.padding-x-sm-3{padding-left:1rem!important}.padding-sm-4{padding:2rem!important}.padding-top-sm-4,.padding-y-sm-4{padding-top:2rem!important}.padding-right-sm-4,.padding-x-sm-4{padding-right:2rem!important}.padding-bottom-sm-4,.padding-y-sm-4{padding-bottom:2rem!important}.padding-left-sm-4,.padding-x-sm-4{padding-left:2rem!important}.padding-sm-5{padding:4rem!important}.padding-top-sm-5,.padding-y-sm-5{padding-top:4rem!important}.padding-right-sm-5,.padding-x-sm-5{padding-right:4rem!important}.padding-bottom-sm-5,.padding-y-sm-5{padding-bottom:4rem!important}.padding-left-sm-5,.padding-x-sm-5{padding-left:4rem!important}.margin-sm-n1{margin:-.25rem!important}.margin-top-sm-n1,.margin-y-sm-n1{margin-top:-.25rem!important}.margin-right-sm-n1,.margin-x-sm-n1{margin-right:-.25rem!important}.margin-bottom-sm-n1,.margin-y-sm-n1{margin-bottom:-.25rem!important}.margin-left-sm-n1,.margin-x-sm-n1{margin-left:-.25rem!important}.margin-sm-n2{margin:-.5rem!important}.margin-top-sm-n2,.margin-y-sm-n2{margin-top:-.5rem!important}.margin-right-sm-n2,.margin-x-sm-n2{margin-right:-.5rem!important}.margin-bottom-sm-n2,.margin-y-sm-n2{margin-bottom:-.5rem!important}.margin-left-sm-n2,.margin-x-sm-n2{margin-left:-.5rem!important}.margin-sm-n3{margin:-1rem!important}.margin-top-sm-n3,.margin-y-sm-n3{margin-top:-1rem!important}.margin-right-sm-n3,.margin-x-sm-n3{margin-right:-1rem!important}.margin-bottom-sm-n3,.margin-y-sm-n3{margin-bottom:-1rem!important}.margin-left-sm-n3,.margin-x-sm-n3{margin-left:-1rem!important}.margin-sm-n4{margin:-2rem!important}.margin-top-sm-n4,.margin-y-sm-n4{margin-top:-2rem!important}.margin-right-sm-n4,.margin-x-sm-n4{margin-right:-2rem!important}.margin-bottom-sm-n4,.margin-y-sm-n4{margin-bottom:-2rem!important}.margin-left-sm-n4,.margin-x-sm-n4{margin-left:-2rem!important}.margin-sm-n5{margin:-4rem!important}.margin-top-sm-n5,.margin-y-sm-n5{margin-top:-4rem!important}.margin-right-sm-n5,.margin-x-sm-n5{margin-right:-4rem!important}.margin-bottom-sm-n5,.margin-y-sm-n5{margin-bottom:-4rem!important}.margin-left-sm-n5,.margin-x-sm-n5{margin-left:-4rem!important}.margin-sm-auto{margin:auto!important}.margin-top-sm-auto,.margin-y-sm-auto{margin-top:auto!important}.margin-right-sm-auto,.margin-x-sm-auto{margin-right:auto!important}.margin-bottom-sm-auto,.margin-y-sm-auto{margin-bottom:auto!important}.margin-left-sm-auto,.margin-x-sm-auto{margin-left:auto!important}}@media (min-width: 768px){.margin-md-0{margin:0!important}.margin-top-md-0,.margin-y-md-0{margin-top:0!important}.margin-right-md-0,.margin-x-md-0{margin-right:0!important}.margin-bottom-md-0,.margin-y-md-0{margin-bottom:0!important}.margin-left-md-0,.margin-x-md-0{margin-left:0!important}.margin-md-1{margin:.25rem!important}.margin-top-md-1,.margin-y-md-1{margin-top:.25rem!important}.margin-right-md-1,.margin-x-md-1{margin-right:.25rem!important}.margin-bottom-md-1,.margin-y-md-1{margin-bottom:.25rem!important}.margin-left-md-1,.margin-x-md-1{margin-left:.25rem!important}.margin-md-2{margin:.5rem!important}.margin-top-md-2,.margin-y-md-2{margin-top:.5rem!important}.margin-right-md-2,.margin-x-md-2{margin-right:.5rem!important}.margin-bottom-md-2,.margin-y-md-2{margin-bottom:.5rem!important}.margin-left-md-2,.margin-x-md-2{margin-left:.5rem!important}.margin-md-3{margin:1rem!important}.margin-top-md-3,.margin-y-md-3{margin-top:1rem!important}.margin-right-md-3,.margin-x-md-3{margin-right:1rem!important}.margin-bottom-md-3,.margin-y-md-3{margin-bottom:1rem!important}.margin-left-md-3,.margin-x-md-3{margin-left:1rem!important}.margin-md-4{margin:2rem!important}.margin-top-md-4,.margin-y-md-4{margin-top:2rem!important}.margin-right-md-4,.margin-x-md-4{margin-right:2rem!important}.margin-bottom-md-4,.margin-y-md-4{margin-bottom:2rem!important}.margin-left-md-4,.margin-x-md-4{margin-left:2rem!important}.margin-md-5{margin:4rem!important}.margin-top-md-5,.margin-y-md-5{margin-top:4rem!important}.margin-right-md-5,.margin-x-md-5{margin-right:4rem!important}.margin-bottom-md-5,.margin-y-md-5{margin-bottom:4rem!important}.margin-left-md-5,.margin-x-md-5{margin-left:4rem!important}.padding-md-0{padding:0!important}.padding-top-md-0,.padding-y-md-0{padding-top:0!important}.padding-right-md-0,.padding-x-md-0{padding-right:0!important}.padding-bottom-md-0,.padding-y-md-0{padding-bottom:0!important}.padding-left-md-0,.padding-x-md-0{padding-left:0!important}.padding-md-1{padding:.25rem!important}.padding-top-md-1,.padding-y-md-1{padding-top:.25rem!important}.padding-right-md-1,.padding-x-md-1{padding-right:.25rem!important}.padding-bottom-md-1,.padding-y-md-1{padding-bottom:.25rem!important}.padding-left-md-1,.padding-x-md-1{padding-left:.25rem!important}.padding-md-2{padding:.5rem!important}.padding-top-md-2,.padding-y-md-2{padding-top:.5rem!important}.padding-right-md-2,.padding-x-md-2{padding-right:.5rem!important}.padding-bottom-md-2,.padding-y-md-2{padding-bottom:.5rem!important}.padding-left-md-2,.padding-x-md-2{padding-left:.5rem!important}.padding-md-3{padding:1rem!important}.padding-top-md-3,.padding-y-md-3{padding-top:1rem!important}.padding-right-md-3,.padding-x-md-3{padding-right:1rem!important}.padding-bottom-md-3,.padding-y-md-3{padding-bottom:1rem!important}.padding-left-md-3,.padding-x-md-3{padding-left:1rem!important}.padding-md-4{padding:2rem!important}.padding-top-md-4,.padding-y-md-4{padding-top:2rem!important}.padding-right-md-4,.padding-x-md-4{padding-right:2rem!important}.padding-bottom-md-4,.padding-y-md-4{padding-bottom:2rem!important}.padding-left-md-4,.padding-x-md-4{padding-left:2rem!important}.padding-md-5{padding:4rem!important}.padding-top-md-5,.padding-y-md-5{padding-top:4rem!important}.padding-right-md-5,.padding-x-md-5{padding-right:4rem!important}.padding-bottom-md-5,.padding-y-md-5{padding-bottom:4rem!important}.padding-left-md-5,.padding-x-md-5{padding-left:4rem!important}.margin-md-n1{margin:-.25rem!important}.margin-top-md-n1,.margin-y-md-n1{margin-top:-.25rem!important}.margin-right-md-n1,.margin-x-md-n1{margin-right:-.25rem!important}.margin-bottom-md-n1,.margin-y-md-n1{margin-bottom:-.25rem!important}.margin-left-md-n1,.margin-x-md-n1{margin-left:-.25rem!important}.margin-md-n2{margin:-.5rem!important}.margin-top-md-n2,.margin-y-md-n2{margin-top:-.5rem!important}.margin-right-md-n2,.margin-x-md-n2{margin-right:-.5rem!important}.margin-bottom-md-n2,.margin-y-md-n2{margin-bottom:-.5rem!important}.margin-left-md-n2,.margin-x-md-n2{margin-left:-.5rem!important}.margin-md-n3{margin:-1rem!important}.margin-top-md-n3,.margin-y-md-n3{margin-top:-1rem!important}.margin-right-md-n3,.margin-x-md-n3{margin-right:-1rem!important}.margin-bottom-md-n3,.margin-y-md-n3{margin-bottom:-1rem!important}.margin-left-md-n3,.margin-x-md-n3{margin-left:-1rem!important}.margin-md-n4{margin:-2rem!important}.margin-top-md-n4,.margin-y-md-n4{margin-top:-2rem!important}.margin-right-md-n4,.margin-x-md-n4{margin-right:-2rem!important}.margin-bottom-md-n4,.margin-y-md-n4{margin-bottom:-2rem!important}.margin-left-md-n4,.margin-x-md-n4{margin-left:-2rem!important}.margin-md-n5{margin:-4rem!important}.margin-top-md-n5,.margin-y-md-n5{margin-top:-4rem!important}.margin-right-md-n5,.margin-x-md-n5{margin-right:-4rem!important}.margin-bottom-md-n5,.margin-y-md-n5{margin-bottom:-4rem!important}.margin-left-md-n5,.margin-x-md-n5{margin-left:-4rem!important}.margin-md-auto{margin:auto!important}.margin-top-md-auto,.margin-y-md-auto{margin-top:auto!important}.margin-right-md-auto,.margin-x-md-auto{margin-right:auto!important}.margin-bottom-md-auto,.margin-y-md-auto{margin-bottom:auto!important}.margin-left-md-auto,.margin-x-md-auto{margin-left:auto!important}}@media (min-width: 992px){.margin-lg-0{margin:0!important}.margin-top-lg-0,.margin-y-lg-0{margin-top:0!important}.margin-right-lg-0,.margin-x-lg-0{margin-right:0!important}.margin-bottom-lg-0,.margin-y-lg-0{margin-bottom:0!important}.margin-left-lg-0,.margin-x-lg-0{margin-left:0!important}.margin-lg-1{margin:.25rem!important}.margin-top-lg-1,.margin-y-lg-1{margin-top:.25rem!important}.margin-right-lg-1,.margin-x-lg-1{margin-right:.25rem!important}.margin-bottom-lg-1,.margin-y-lg-1{margin-bottom:.25rem!important}.margin-left-lg-1,.margin-x-lg-1{margin-left:.25rem!important}.margin-lg-2{margin:.5rem!important}.margin-top-lg-2,.margin-y-lg-2{margin-top:.5rem!important}.margin-right-lg-2,.margin-x-lg-2{margin-right:.5rem!important}.margin-bottom-lg-2,.margin-y-lg-2{margin-bottom:.5rem!important}.margin-left-lg-2,.margin-x-lg-2{margin-left:.5rem!important}.margin-lg-3{margin:1rem!important}.margin-top-lg-3,.margin-y-lg-3{margin-top:1rem!important}.margin-right-lg-3,.margin-x-lg-3{margin-right:1rem!important}.margin-bottom-lg-3,.margin-y-lg-3{margin-bottom:1rem!important}.margin-left-lg-3,.margin-x-lg-3{margin-left:1rem!important}.margin-lg-4{margin:2rem!important}.margin-top-lg-4,.margin-y-lg-4{margin-top:2rem!important}.margin-right-lg-4,.margin-x-lg-4{margin-right:2rem!important}.margin-bottom-lg-4,.margin-y-lg-4{margin-bottom:2rem!important}.margin-left-lg-4,.margin-x-lg-4{margin-left:2rem!important}.margin-lg-5{margin:4rem!important}.margin-top-lg-5,.margin-y-lg-5{margin-top:4rem!important}.margin-right-lg-5,.margin-x-lg-5{margin-right:4rem!important}.margin-bottom-lg-5,.margin-y-lg-5{margin-bottom:4rem!important}.margin-left-lg-5,.margin-x-lg-5{margin-left:4rem!important}.padding-lg-0{padding:0!important}.padding-top-lg-0,.padding-y-lg-0{padding-top:0!important}.padding-right-lg-0,.padding-x-lg-0{padding-right:0!important}.padding-bottom-lg-0,.padding-y-lg-0{padding-bottom:0!important}.padding-left-lg-0,.padding-x-lg-0{padding-left:0!important}.padding-lg-1{padding:.25rem!important}.padding-top-lg-1,.padding-y-lg-1{padding-top:.25rem!important}.padding-right-lg-1,.padding-x-lg-1{padding-right:.25rem!important}.padding-bottom-lg-1,.padding-y-lg-1{padding-bottom:.25rem!important}.padding-left-lg-1,.padding-x-lg-1{padding-left:.25rem!important}.padding-lg-2{padding:.5rem!important}.padding-top-lg-2,.padding-y-lg-2{padding-top:.5rem!important}.padding-right-lg-2,.padding-x-lg-2{padding-right:.5rem!important}.padding-bottom-lg-2,.padding-y-lg-2{padding-bottom:.5rem!important}.padding-left-lg-2,.padding-x-lg-2{padding-left:.5rem!important}.padding-lg-3{padding:1rem!important}.padding-top-lg-3,.padding-y-lg-3{padding-top:1rem!important}.padding-right-lg-3,.padding-x-lg-3{padding-right:1rem!important}.padding-bottom-lg-3,.padding-y-lg-3{padding-bottom:1rem!important}.padding-left-lg-3,.padding-x-lg-3{padding-left:1rem!important}.padding-lg-4{padding:2rem!important}.padding-top-lg-4,.padding-y-lg-4{padding-top:2rem!important}.padding-right-lg-4,.padding-x-lg-4{padding-right:2rem!important}.padding-bottom-lg-4,.padding-y-lg-4{padding-bottom:2rem!important}.padding-left-lg-4,.padding-x-lg-4{padding-left:2rem!important}.padding-lg-5{padding:4rem!important}.padding-top-lg-5,.padding-y-lg-5{padding-top:4rem!important}.padding-right-lg-5,.padding-x-lg-5{padding-right:4rem!important}.padding-bottom-lg-5,.padding-y-lg-5{padding-bottom:4rem!important}.padding-left-lg-5,.padding-x-lg-5{padding-left:4rem!important}.margin-lg-n1{margin:-.25rem!important}.margin-top-lg-n1,.margin-y-lg-n1{margin-top:-.25rem!important}.margin-right-lg-n1,.margin-x-lg-n1{margin-right:-.25rem!important}.margin-bottom-lg-n1,.margin-y-lg-n1{margin-bottom:-.25rem!important}.margin-left-lg-n1,.margin-x-lg-n1{margin-left:-.25rem!important}.margin-lg-n2{margin:-.5rem!important}.margin-top-lg-n2,.margin-y-lg-n2{margin-top:-.5rem!important}.margin-right-lg-n2,.margin-x-lg-n2{margin-right:-.5rem!important}.margin-bottom-lg-n2,.margin-y-lg-n2{margin-bottom:-.5rem!important}.margin-left-lg-n2,.margin-x-lg-n2{margin-left:-.5rem!important}.margin-lg-n3{margin:-1rem!important}.margin-top-lg-n3,.margin-y-lg-n3{margin-top:-1rem!important}.margin-right-lg-n3,.margin-x-lg-n3{margin-right:-1rem!important}.margin-bottom-lg-n3,.margin-y-lg-n3{margin-bottom:-1rem!important}.margin-left-lg-n3,.margin-x-lg-n3{margin-left:-1rem!important}.margin-lg-n4{margin:-2rem!important}.margin-top-lg-n4,.margin-y-lg-n4{margin-top:-2rem!important}.margin-right-lg-n4,.margin-x-lg-n4{margin-right:-2rem!important}.margin-bottom-lg-n4,.margin-y-lg-n4{margin-bottom:-2rem!important}.margin-left-lg-n4,.margin-x-lg-n4{margin-left:-2rem!important}.margin-lg-n5{margin:-4rem!important}.margin-top-lg-n5,.margin-y-lg-n5{margin-top:-4rem!important}.margin-right-lg-n5,.margin-x-lg-n5{margin-right:-4rem!important}.margin-bottom-lg-n5,.margin-y-lg-n5{margin-bottom:-4rem!important}.margin-left-lg-n5,.margin-x-lg-n5{margin-left:-4rem!important}.margin-lg-auto{margin:auto!important}.margin-top-lg-auto,.margin-y-lg-auto{margin-top:auto!important}.margin-right-lg-auto,.margin-x-lg-auto{margin-right:auto!important}.margin-bottom-lg-auto,.margin-y-lg-auto{margin-bottom:auto!important}.margin-left-lg-auto,.margin-x-lg-auto{margin-left:auto!important}}@media (min-width: 1200px){.margin-xl-0{margin:0!important}.margin-top-xl-0,.margin-y-xl-0{margin-top:0!important}.margin-right-xl-0,.margin-x-xl-0{margin-right:0!important}.margin-bottom-xl-0,.margin-y-xl-0{margin-bottom:0!important}.margin-left-xl-0,.margin-x-xl-0{margin-left:0!important}.margin-xl-1{margin:.25rem!important}.margin-top-xl-1,.margin-y-xl-1{margin-top:.25rem!important}.margin-right-xl-1,.margin-x-xl-1{margin-right:.25rem!important}.margin-bottom-xl-1,.margin-y-xl-1{margin-bottom:.25rem!important}.margin-left-xl-1,.margin-x-xl-1{margin-left:.25rem!important}.margin-xl-2{margin:.5rem!important}.margin-top-xl-2,.margin-y-xl-2{margin-top:.5rem!important}.margin-right-xl-2,.margin-x-xl-2{margin-right:.5rem!important}.margin-bottom-xl-2,.margin-y-xl-2{margin-bottom:.5rem!important}.margin-left-xl-2,.margin-x-xl-2{margin-left:.5rem!important}.margin-xl-3{margin:1rem!important}.margin-top-xl-3,.margin-y-xl-3{margin-top:1rem!important}.margin-right-xl-3,.margin-x-xl-3{margin-right:1rem!important}.margin-bottom-xl-3,.margin-y-xl-3{margin-bottom:1rem!important}.margin-left-xl-3,.margin-x-xl-3{margin-left:1rem!important}.margin-xl-4{margin:2rem!important}.margin-top-xl-4,.margin-y-xl-4{margin-top:2rem!important}.margin-right-xl-4,.margin-x-xl-4{margin-right:2rem!important}.margin-bottom-xl-4,.margin-y-xl-4{margin-bottom:2rem!important}.margin-left-xl-4,.margin-x-xl-4{margin-left:2rem!important}.margin-xl-5{margin:4rem!important}.margin-top-xl-5,.margin-y-xl-5{margin-top:4rem!important}.margin-right-xl-5,.margin-x-xl-5{margin-right:4rem!important}.margin-bottom-xl-5,.margin-y-xl-5{margin-bottom:4rem!important}.margin-left-xl-5,.margin-x-xl-5{margin-left:4rem!important}.padding-xl-0{padding:0!important}.padding-top-xl-0,.padding-y-xl-0{padding-top:0!important}.padding-right-xl-0,.padding-x-xl-0{padding-right:0!important}.padding-bottom-xl-0,.padding-y-xl-0{padding-bottom:0!important}.padding-left-xl-0,.padding-x-xl-0{padding-left:0!important}.padding-xl-1{padding:.25rem!important}.padding-top-xl-1,.padding-y-xl-1{padding-top:.25rem!important}.padding-right-xl-1,.padding-x-xl-1{padding-right:.25rem!important}.padding-bottom-xl-1,.padding-y-xl-1{padding-bottom:.25rem!important}.padding-left-xl-1,.padding-x-xl-1{padding-left:.25rem!important}.padding-xl-2{padding:.5rem!important}.padding-top-xl-2,.padding-y-xl-2{padding-top:.5rem!important}.padding-right-xl-2,.padding-x-xl-2{padding-right:.5rem!important}.padding-bottom-xl-2,.padding-y-xl-2{padding-bottom:.5rem!important}.padding-left-xl-2,.padding-x-xl-2{padding-left:.5rem!important}.padding-xl-3{padding:1rem!important}.padding-top-xl-3,.padding-y-xl-3{padding-top:1rem!important}.padding-right-xl-3,.padding-x-xl-3{padding-right:1rem!important}.padding-bottom-xl-3,.padding-y-xl-3{padding-bottom:1rem!important}.padding-left-xl-3,.padding-x-xl-3{padding-left:1rem!important}.padding-xl-4{padding:2rem!important}.padding-top-xl-4,.padding-y-xl-4{padding-top:2rem!important}.padding-right-xl-4,.padding-x-xl-4{padding-right:2rem!important}.padding-bottom-xl-4,.padding-y-xl-4{padding-bottom:2rem!important}.padding-left-xl-4,.padding-x-xl-4{padding-left:2rem!important}.padding-xl-5{padding:4rem!important}.padding-top-xl-5,.padding-y-xl-5{padding-top:4rem!important}.padding-right-xl-5,.padding-x-xl-5{padding-right:4rem!important}.padding-bottom-xl-5,.padding-y-xl-5{padding-bottom:4rem!important}.padding-left-xl-5,.padding-x-xl-5{padding-left:4rem!important}.margin-xl-n1{margin:-.25rem!important}.margin-top-xl-n1,.margin-y-xl-n1{margin-top:-.25rem!important}.margin-right-xl-n1,.margin-x-xl-n1{margin-right:-.25rem!important}.margin-bottom-xl-n1,.margin-y-xl-n1{margin-bottom:-.25rem!important}.margin-left-xl-n1,.margin-x-xl-n1{margin-left:-.25rem!important}.margin-xl-n2{margin:-.5rem!important}.margin-top-xl-n2,.margin-y-xl-n2{margin-top:-.5rem!important}.margin-right-xl-n2,.margin-x-xl-n2{margin-right:-.5rem!important}.margin-bottom-xl-n2,.margin-y-xl-n2{margin-bottom:-.5rem!important}.margin-left-xl-n2,.margin-x-xl-n2{margin-left:-.5rem!important}.margin-xl-n3{margin:-1rem!important}.margin-top-xl-n3,.margin-y-xl-n3{margin-top:-1rem!important}.margin-right-xl-n3,.margin-x-xl-n3{margin-right:-1rem!important}.margin-bottom-xl-n3,.margin-y-xl-n3{margin-bottom:-1rem!important}.margin-left-xl-n3,.margin-x-xl-n3{margin-left:-1rem!important}.margin-xl-n4{margin:-2rem!important}.margin-top-xl-n4,.margin-y-xl-n4{margin-top:-2rem!important}.margin-right-xl-n4,.margin-x-xl-n4{margin-right:-2rem!important}.margin-bottom-xl-n4,.margin-y-xl-n4{margin-bottom:-2rem!important}.margin-left-xl-n4,.margin-x-xl-n4{margin-left:-2rem!important}.margin-xl-n5{margin:-4rem!important}.margin-top-xl-n5,.margin-y-xl-n5{margin-top:-4rem!important}.margin-right-xl-n5,.margin-x-xl-n5{margin-right:-4rem!important}.margin-bottom-xl-n5,.margin-y-xl-n5{margin-bottom:-4rem!important}.margin-left-xl-n5,.margin-x-xl-n5{margin-left:-4rem!important}.margin-xl-auto{margin:auto!important}.margin-top-xl-auto,.margin-y-xl-auto{margin-top:auto!important}.margin-right-xl-auto,.margin-x-xl-auto{margin-right:auto!important}.margin-bottom-xl-auto,.margin-y-xl-auto{margin-bottom:auto!important}.margin-left-xl-auto,.margin-x-xl-auto{margin-left:auto!important}}.h1{font-size:2em}.h2{font-size:1.5em}.h3{font-size:1.17em}.h4{font-size:1em}.h5{font-size:.83em}.h6{font-size:.67em}.cursor-alias{cursor:alias}.cursor-all-scroll{cursor:all-scroll}.cursor-auto{cursor:auto}.cursor-cell{cursor:cell}.cursor-context-menu{cursor:context-menu}.cursor-col-resize{cursor:col-resize}.cursor-copy{cursor:copy}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-e-resize{cursor:e-resize}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-n-resize{cursor:n-resize}.cursor-ne-resize{cursor:ne-resize}.cursor-nesw-resize{cursor:nesw-resize}.cursor-ns-resize{cursor:ns-resize}.cursor-nw-resize{cursor:nw-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-no-drop{cursor:no-drop}.cursor-none{cursor:none}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-progress{cursor:progress}.cursor-row-resize{cursor:row-resize}.cursor-s-resize{cursor:s-resize}.cursor-se-resize{cursor:se-resize}.cursor-sw-resize{cursor:sw-resize}.cursor-text{cursor:text}.cursor-w-resize{cursor:w-resize}.cursor-wait{cursor:wait}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.mat-tooltip{font-size:16px!important}html,body{height:100%}body{margin:0;padding:0;font-family:opens sans regular,sans-serif}iframe{border:none}.mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,Helvetica Neue,sans-serif}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-body-strong,.mat-body-2{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-button,.mat-raised-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button,.mat-fab,.mat-mini-fab{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-subtitle,.mat-card-content{font-size:14px}.mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-trailing-icon.mat-icon,.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.3333333333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.3333433333%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.6666666667em;top:calc(100% - 1.7916666667em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);width:133.3333333333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);width:133.3333433333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);width:133.3333533333%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.5416666667em;top:calc(100% - 1.6666666667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.3333433333%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.3333433333%}.mat-grid-tile-header,.mat-grid-tile-footer{font-size:14px}.mat-grid-tile-header .mat-line,.mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-header .mat-line:nth-child(n+2),.mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,Helvetica Neue,sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-stepper-vertical,.mat-stepper-horizontal{font-family:Roboto,Helvetica Neue,sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item,.mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tree-node,.mat-nested-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale(0)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator,.mat-mdc-focus-indicator{position:relative}.title,.header{font-family:Encode Sans Condensed,sans-serif;font-weight:900}.paragraph-title,.tagline{font-family:Open Sans,sans-serif;font-weight:400}.paragraph-title-bold .tagLine-bold{font-family:Open Sans,sans-serif;font-weight:700}.plain-text,.remarks{font-family:Open Sans,sans-serif;font-weight:300}.plain-text-bold{font-family:Open Sans,sans-serif;font-weight:700}.flex-column{box-sizing:border-box;display:flex;flex-direction:column}.flex-row{box-sizing:border-box;display:flex;flex-direction:row}.flex-row-center{align-items:center;justify-content:center}.mat-button-large{line-height:48px;font-size:18px;font-weight:700;padding:0 24px!important}.mat-round{border-radius:.5em}:root{--initial-primary: #4a918e;--initial-accent: #9cd8d7;--initial-warn: #ef4351;--initial-dark-background: #222222;--initial-light-background: #f2f2f2;--initial-light-background: white;--initial-light-text: rgba(0, 0, 0, .87);--initial-dark-text: rgba(255, 255, 255, .87);--background: #050505;--orange-accent: #ff9800;--green-accent: #00e676;--yellow-accent: #fdd835;--purple-accent: #9c27b0;--cyan-accent: rgba(132, 255, 255, .75);--pink-accent: #e91e63;--success: #00e676}body{background-color:var(--initial-dark-background)}::ng-deep .mat-tooltip{font-size:16px!important}:host .valid-control{color:var(--green-accent)}:host .invalid-control{color:var(--theme-warn-500)}:host .actions .item:not(:last-child){margin-right:0}:host .project-thumbnail img{height:50px;width:auto}:host .active{background-color:var(--theme-accent-400);transition:background-color 1s linear}:host .inactive{background-color:#f2f5a900;transition:background-color 1s linear}:host .expansion-panel{width:100%;margin-bottom:10px}:host .expansion-container{max-height:300px;overflow-y:auto}:host .divider-fill-vert{background-color:var(--theme-accent-500);min-height:100%;top:10%;bottom:10%;min-width:5px}:host .divider-fill-hor{background-color:var(--theme-accent-500);height:5px;width:100%}:host .form-disabled{background-color:#797979;opacity:.5;border-radius:4px}::ng-deep input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s;-webkit-text-fill-color:#FFFFFFDE}@media (max-width: 768px){.spread{margin:1em!important}}@media (max-width: 480px){.spread{margin:.5em!important}}.spinner-logo{display:none!important}:host ::ng-deep .apps-actions{float:right}:host ::ng-deep .mat-card .mat-card-content{text-align:center;overflow:hidden}:host ::ng-deep .mat-card .mat-card-actions .data-app-actions{display:none!important}:host ::ng-deep .mat-card .mat-card-actions .data-app-fakes{display:flex!important}:host ::ng-deep .mat-card .mat-card-actions .data-app-fakes .mat-icon{font-size:8px}:host ::ng-deep .mat-card:hover .mat-card-actions .data-app-actions{display:flex!important}:host ::ng-deep .mat-card:hover .mat-card-actions .data-app-fakes{display:none!important}:host ::ng-deep .mat-subtitle .mat-chip-list{display:inline-block}:host ::ng-deep .mat-form-field{margin-top:.5em;margin-bottom:.5em}:host ::ng-deep .mat-form-field.with-hint{margin-bottom:1em}@media (max-width: 768px){:host ::ng-deep .form-card{width:100%}:host ::ng-deep .mat-card .mat-card-actions .data-app-actions{display:flex!important}:host ::ng-deep .mat-card .mat-card-actions .data-app-fakes{display:none!important}}:host ::ng-deep .domain-item{border-radius:5;border:var(--theme-accent-500) solid 1px}\n"] }]
175
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.ApplicationsFlowService }, { type: i3.ApplicationsFlowEventsService }]; }, propDecorators: { Data: [{
176
+ type: Input,
177
+ args: ['data']
178
+ }] } });
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGZzLW1vZGlmaWVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2Rmcy1tb2RpZmllcnMvZGZzLW1vZGlmaWVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2Rmcy1tb2RpZmllcnMvZGZzLW1vZGlmaWVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQU1MLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBZ0J4QixPQUFPLEVBQXVCLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVl4RCxNQUFNLE9BQU8scUJBQXFCO0lBaUZoQyxnQkFBZ0I7SUFDaEIsWUFDWSxRQUFxQixFQUNyQixXQUFvQyxFQUNwQyxpQkFBZ0Q7UUFGaEQsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUErQjtRQUUxRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUEzRUQsSUFBVyxrQkFBa0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTO1lBQ3ZCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztZQUM1QyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRVQsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QyxJQUFJLEdBQUcsRUFBRSxDQUFDO1NBQ1g7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFJRCxJQUFXLGtCQUFrQjtRQUMzQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQ25ELENBQUM7SUFJRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcscUJBQXFCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUM7SUFDckQsQ0FBQztJQUVELElBQVcsbUJBQW1CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBVyx5QkFBeUI7UUFDbEMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQVdELGNBQWM7SUFDUCxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDckMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQsZUFBZTtJQUNSLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxjQUFzQixFQUFFLFlBQW9CO1FBQ2hFLElBQ0UsT0FBTyxDQUFDLDZDQUE2QyxZQUFZLElBQUksQ0FBQyxFQUN0RTtZQUNBLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7SUFFTSxZQUFZLENBQUMsZ0JBQXdCLElBQUk7UUFDOUMsTUFBTSxXQUFXLEdBQWdDO1lBQy9DLFFBQVEsRUFBRTtnQkFDUixHQUFHLElBQUksQ0FBQyxlQUFlO2dCQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLO2dCQUNoQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUs7Z0JBQ3RDLGVBQWUsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSztnQkFDakQsUUFBUSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLO2dCQUN4QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVc7YUFDdkI7WUFDRCxjQUFjLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtZQUMxQyxhQUFhLEVBQUUsYUFBYTtTQUM3QixDQUFDO1FBRUYsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBRW5CLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN4QixLQUFLLG1JQUFtSTtnQkFDdEksTUFBTTtZQUVSLEtBQUssaUlBQWlJO2dCQUNwSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDO2dCQUNqRSxNQUFNO1lBRVIsS0FBSyw0SUFBNEk7Z0JBQy9JLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO2dCQUVyRCxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQztnQkFFakQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7Z0JBQ3JELE1BQU07U0FDVDtRQUVELFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsY0FBc0I7UUFDOUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGNBQWMsQ0FBQztRQUU1QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sZ0JBQWdCLENBQ3JCLGNBQXNCLEVBQ3RCLE1BQTRCO1FBRTVCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFzQjtRQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFFL0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXO0lBQ0QsaUJBQWlCO1FBQ3pCLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQztZQUU5QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQzNDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3ZELElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDN0MsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDL0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUM1QyxVQUFVLEVBQUU7b0JBQ1YsSUFBSSxDQUFDLGVBQWUsRUFBRSxlQUFlO29CQUNyQyxVQUFVLENBQUMsUUFBUTtpQkFDcEI7YUFDRixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRVMsYUFBYTtRQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFdkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQztRQUVsRSxRQUFRLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDeEIsS0FBSyxtSUFBbUk7Z0JBQ3RJLE1BQU07WUFFUixLQUFLLGlJQUFpSTtnQkFDcEksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FDL0IsZ0JBQWdCLEVBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxjQUFjLElBQUksRUFBRSxFQUFFO29CQUNuRCxVQUFVLENBQUMsUUFBUTtpQkFDcEIsQ0FBQyxDQUNILENBQUM7Z0JBQ0YsTUFBTTtZQUVSLEtBQUssNElBQTRJO2dCQUMvSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUMvQixVQUFVLEVBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDdEUsQ0FBQztnQkFFRixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUMvQixRQUFRLEVBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDcEUsQ0FBQztnQkFFRixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUMvQixVQUFVLEVBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDdEUsQ0FBQztnQkFDRixNQUFNO1NBQ1Q7SUFDSCxDQUFDOztrSEFwT1UscUJBQXFCO3NHQUFyQixxQkFBcUIsNkZDdkNsQywyMFBBd1BBOzJGRGpOYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CO29MQVd0QixJQUFJO3NCQURWLEtBQUs7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1zU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2Zvcm1zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FyZEZvcm1Db25maWdNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9jYXJkLWZvcm0tY29uZmlnLm1vZGVsJztcbmltcG9ydCB7IERvbWFpbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2RvbWFpbi5tb2RlbCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQnVpbGRlcixcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25zRmxvd0V2ZW50c1NlcnZpY2UsXG4gIFNhdmVERlNNb2RpZmllckV2ZW50UmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvYXBwbGljYXRpb25zLWZsb3ctZXZlbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgRWFDQXBwbGljYXRpb25Bc0NvZGUsXG4gIEVhQ0FydGlmYWN0LFxuICBFYUNEZXZPcHNBY3Rpb24sXG4gIEVhQ0RGU01vZGlmaWVyLFxuICBFYUNFbnZpcm9ubWVudEFzQ29kZSxcbiAgRWFDUHJvY2Vzc29yLFxuICBFYUNQcm9qZWN0QXNDb2RlLFxuICBFYUNTb3VyY2VDb250cm9sLFxufSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgQmFzZU1vZGVsZWRSZXNwb25zZSwgR3VpZCB9IGZyb20gJ0BsY3UvY29tbW9uJztcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBTb3VyY2VDb250cm9sRm9ybUNvbnRyb2xzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZm9ybXMvc291cmNlLWNvbnRyb2wvc291cmNlLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2plY3RIb3N0aW5nRGV0YWlscyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvYXBwbGljYXRpb25zLWZsb3cuc2VydmljZSc7XG5pbXBvcnQgeyBIb3N0aW5nRGV0YWlsc0Zvcm1Hcm91cENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2hvc3RpbmctZGV0YWlscy1mb3JtLWdyb3VwL2hvc3RpbmctZGV0YWlscy1mb3JtLWdyb3VwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1kZnMtbW9kaWZpZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rmcy1tb2RpZmllcnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kZnMtbW9kaWZpZXJzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERGU01vZGlmaWVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vICBGaWVsZHNcblxuICAvLyAgUHJvcGVydGllc1xuICBwdWJsaWMgQ3VycmVudFR5cGU6IHN0cmluZztcblxuICBASW5wdXQoJ2RhdGEnKVxuICBwdWJsaWMgRGF0YToge1xuICAgIE1vZGlmaWVyczogeyBbbG9va3VwOiBzdHJpbmddOiBFYUNERlNNb2RpZmllciB9O1xuICAgIFByb2plY3Q6IEVhQ1Byb2plY3RBc0NvZGU7XG4gICAgUHJvamVjdExvb2t1cDogc3RyaW5nO1xuICB9O1xuXG4gIHB1YmxpYyBnZXQgRGV0YWlsc0Zvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLmRldGFpbHM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IEVkaXRpbmdNb2RpZmllcigpOiBFYUNERlNNb2RpZmllciB7XG4gICAgbGV0IG1kZnIgPSB0aGlzLk1vZGlmaWVyc1xuICAgICAgPyB0aGlzLk1vZGlmaWVyc1t0aGlzLkVkaXRpbmdNb2RpZmllckxvb2t1cF1cbiAgICAgIDogbnVsbDtcblxuICAgIGlmIChtZGZyID09IG51bGwgJiYgdGhpcy5FZGl0aW5nTW9kaWZpZXJMb29rdXApIHtcbiAgICAgIG1kZnIgPSB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWRmcjtcbiAgfVxuXG4gIHB1YmxpYyBFZGl0aW5nTW9kaWZpZXJMb29rdXA6IHN0cmluZztcblxuICBwdWJsaWMgZ2V0IEVuYWJsZWRGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5lbmFibGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBMb2NhdGlvbkZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLmxvY2F0aW9uO1xuICB9XG5cbiAgcHVibGljIE1vZGlmaWVyRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgcHVibGljIGdldCBNb2RpZmllckxvb2t1cHMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuTW9kaWZpZXJzIHx8IHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgTW9kaWZpZXJzKCk6IHsgW2xvb2t1cDogc3RyaW5nXTogRWFDREZTTW9kaWZpZXIgfSB7XG4gICAgcmV0dXJuIHRoaXMuRGF0YS5Nb2RpZmllcnMgfHwge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IE5hbWVGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5uYW1lO1xuICB9XG5cbiAgcHVibGljIGdldCBQYXRoRmlsdGVyRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Nb2RpZmllckZvcm1Hcm91cD8uY29udHJvbHMucGF0aEZpbHRlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUHJpb3JpdHlGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5wcmlvcml0eTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUHJvamVjdCgpOiBFYUNQcm9qZWN0QXNDb2RlIHtcbiAgICByZXR1cm4gdGhpcy5EYXRhLlByb2plY3QgfHwge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IFNjcmlwdEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLnNjcmlwdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU2NyaXB0SURGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5zY3JpcHRJZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU3RhdGVEYXRhVG9rZW5Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5zdGF0ZURhdGFUb2tlbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgVHlwZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLnR5cGU7XG4gIH1cblxuICAvLyAgQ29uc3RydWN0b3JzXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmb3JtQmxkcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIGFwcHNGbG93U3ZjOiBBcHBsaWNhdGlvbnNGbG93U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgYXBwc0Zsb3dFdmVudHNTdmM6IEFwcGxpY2F0aW9uc0Zsb3dFdmVudHNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwID0gbnVsbDtcbiAgfVxuXG4gIC8vICBMaWZlIEN5Y2xlXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5Nb2RpZmllckxvb2t1cHM/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICB0aGlzLkNyZWF0ZU5ld01vZGlmaWVyKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gIEFQSSBNZXRob2RzXG4gIHB1YmxpYyBDcmVhdGVOZXdNb2RpZmllcigpOiB2b2lkIHtcbiAgICB0aGlzLlNldEVkaXRpbmdNb2RpZmllcihHdWlkLkNyZWF0ZVJhdygpKTtcbiAgfVxuXG4gIHB1YmxpYyBEZWxldGVNb2RpZmllcihtb2RpZmllckxvb2t1cDogc3RyaW5nLCBtb2RpZmllck5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGNvbmZpcm0oYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgbW9kaWZpZXIgJyR7bW9kaWZpZXJOYW1lfSc/YClcbiAgICApIHtcbiAgICAgIHRoaXMuYXBwc0Zsb3dFdmVudHNTdmMuRGVsZXRlU291cmNlQ29udHJvbChtb2RpZmllckxvb2t1cCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIFNhdmVNb2RpZmllcihwcm9qZWN0TG9va3VwOiBzdHJpbmcgPSBudWxsKTogdm9pZCB7XG4gICAgY29uc3Qgc2F2ZU1kZnJSZXE6IFNhdmVERlNNb2RpZmllckV2ZW50UmVxdWVzdCA9IHtcbiAgICAgIE1vZGlmaWVyOiB7XG4gICAgICAgIC4uLnRoaXMuRWRpdGluZ01vZGlmaWVyLFxuICAgICAgICBOYW1lOiB0aGlzLk5hbWVGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgRW5hYmxlZDogdGhpcy5FbmFibGVkRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgIFBhdGhGaWx0ZXJSZWdleDogdGhpcy5QYXRoRmlsdGVyRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgIFByaW9yaXR5OiB0aGlzLlByaW9yaXR5Rm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgIFR5cGU6IHRoaXMuQ3VycmVudFR5cGUsXG4gICAgICB9LFxuICAgICAgTW9kaWZpZXJMb29rdXA6IHRoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwLFxuICAgICAgUHJvamVjdExvb2t1cDogcHJvamVjdExvb2t1cCxcbiAgICB9O1xuXG4gICAgY29uc3QgZGV0YWlscyA9IHt9O1xuXG4gICAgc3dpdGNoICh0aGlzLkN1cnJlbnRUeXBlKSB7XG4gICAgICBjYXNlICdMQ1UuUnVudGltZS5BcHBsaWNhdGlvbnMuTW9kaWZpZXJzLkhUTUxCYXNlREZTTW9kaWZpZXJNYW5hZ2VyLCBMQ1UuUnVudGltZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwnOlxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5MQ1VSZWdERlNNb2RpZmllck1hbmFnZXIsIExDVS5SdW50aW1lLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbCc6XG4gICAgICAgIGRldGFpbHNbJ1N0YXRlRGF0YVRva2VuJ10gPSB0aGlzLlN0YXRlRGF0YVRva2VuRm9ybUNvbnRyb2wudmFsdWU7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdMQ1UuUnVudGltZS5BcHBsaWNhdGlvbnMuTW9kaWZpZXJzLlRoaXJkUGFydHlMaWJyYXJ5REZTTW9kaWZpZXJNYW5hZ2VyLCBMQ1UuUnVudGltZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwnOlxuICAgICAgICBkZXRhaWxzWydMb2NhdGlvbiddID0gdGhpcy5Mb2NhdGlvbkZvcm1Db250cm9sLnZhbHVlO1xuXG4gICAgICAgIGRldGFpbHNbJ1NjcmlwdCddID0gdGhpcy5TY3JpcHRGb3JtQ29udHJvbC52YWx1ZTtcblxuICAgICAgICBkZXRhaWxzWydTY3JpcHRJRCddID0gdGhpcy5TY3JpcHRJREZvcm1Db250cm9sLnZhbHVlO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBzYXZlTWRmclJlcS5Nb2RpZmllci5EZXRhaWxzID0gSlNPTi5zdHJpbmdpZnkoZGV0YWlscyk7XG5cbiAgICB0aGlzLmFwcHNGbG93RXZlbnRzU3ZjLlNhdmVERlNNb2RpZmllcihzYXZlTWRmclJlcSk7XG4gIH1cblxuICBwdWJsaWMgU2V0RWRpdGluZ01vZGlmaWVyKG1vZGlmaWVyTG9va3VwOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLkVkaXRpbmdNb2RpZmllckxvb2t1cCA9IG1vZGlmaWVyTG9va3VwO1xuXG4gICAgdGhpcy5zZXR1cE1vZGlmaWVyRm9ybSgpO1xuICB9XG5cbiAgcHVibGljIFNldFVzZUZvclByb2plY3QoXG4gICAgbW9kaWZpZXJMb29rdXA6IHN0cmluZyxcbiAgICBjaGFuZ2U6IE1hdFNsaWRlVG9nZ2xlQ2hhbmdlXG4gICk6IHZvaWQge1xuICAgIHRoaXMuU2V0RWRpdGluZ01vZGlmaWVyKG1vZGlmaWVyTG9va3VwKTtcblxuICAgIHRoaXMuU2F2ZU1vZGlmaWVyKHRoaXMuRGF0YS5Qcm9qZWN0TG9va3VwKTtcbiAgfVxuXG4gIHB1YmxpYyBUeXBlQ2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5DdXJyZW50VHlwZSA9IGV2ZW50LnZhbHVlO1xuXG4gICAgdGhpcy5zZXR1cFR5cGVGb3JtKCk7XG4gIH1cblxuICAvLyAgSGVscGVyc1xuICBwcm90ZWN0ZWQgc2V0dXBNb2RpZmllckZvcm0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuRWRpdGluZ01vZGlmaWVyICE9IG51bGwpIHtcbiAgICAgIHRoaXMuQ3VycmVudFR5cGUgPSB0aGlzLkVkaXRpbmdNb2RpZmllcj8uVHlwZTtcblxuICAgICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cCA9IHRoaXMuZm9ybUJsZHIuZ3JvdXAoe1xuICAgICAgICBuYW1lOiBbdGhpcy5FZGl0aW5nTW9kaWZpZXI/Lk5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICB0eXBlOiBbdGhpcy5DdXJyZW50VHlwZSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIHByaW9yaXR5OiBbdGhpcy5FZGl0aW5nTW9kaWZpZXI/LlByaW9yaXR5LCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgZW5hYmxlZDogW3RoaXMuRWRpdGluZ01vZGlmaWVyPy5FbmFibGVkLCBbXV0sXG4gICAgICAgIHBhdGhGaWx0ZXI6IFtcbiAgICAgICAgICB0aGlzLkVkaXRpbmdNb2RpZmllcj8uUGF0aEZpbHRlclJlZ2V4LFxuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5zZXR1cFR5cGVGb3JtKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwVHlwZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzdGF0ZURhdGFUb2tlbicpO1xuXG4gICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdsb2NhdGlvbicpO1xuICAgIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnc2NyaXB0Jyk7XG4gICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzY3JpcHRJZCcpO1xuXG4gICAgY29uc3QgZGV0YWlscyA9IEpTT04ucGFyc2UodGhpcy5FZGl0aW5nTW9kaWZpZXI/LkRldGFpbHMgfHwgJ3t9Jyk7XG5cbiAgICBzd2l0Y2ggKHRoaXMuQ3VycmVudFR5cGUpIHtcbiAgICAgIGNhc2UgJ0xDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuSFRNTEJhc2VERlNNb2RpZmllck1hbmFnZXIsIExDVS5SdW50aW1lLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbCc6XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdMQ1UuUnVudGltZS5BcHBsaWNhdGlvbnMuTW9kaWZpZXJzLkxDVVJlZ0RGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsJzpcbiAgICAgICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICdzdGF0ZURhdGFUb2tlbicsXG4gICAgICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKGRldGFpbHM/LlN0YXRlRGF0YVRva2VuIHx8ICcnLCBbXG4gICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgIF0pXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdMQ1UuUnVudGltZS5BcHBsaWNhdGlvbnMuTW9kaWZpZXJzLlRoaXJkUGFydHlMaWJyYXJ5REZTTW9kaWZpZXJNYW5hZ2VyLCBMQ1UuUnVudGltZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwnOlxuICAgICAgICB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAgICAgJ2xvY2F0aW9uJyxcbiAgICAgICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woZGV0YWlscz8uTG9jYXRpb24gfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAgICAgJ3NjcmlwdCcsXG4gICAgICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKGRldGFpbHM/LlNjcmlwdCB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICAnc2NyaXB0SWQnLFxuICAgICAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChkZXRhaWxzPy5TY3JpcHRJRCB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXY+XG4gIDxmb3JtXG4gICAgW2Zvcm1Hcm91cF09XCJNb2RpZmllckZvcm1Hcm91cFwiXG4gICAgKG5nU3VibWl0KT1cIlNhdmVNb2RpZmllcigpXCJcbiAgICAqbmdJZj1cIkVkaXRpbmdNb2RpZmllclwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jYXJkXCI+XG4gICAgICA8bWF0LWNhcmQgY2xhc3M9XCJzcHJlYWRcIj5cbiAgICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgICA8bWF0LWNhcmQtdGl0bGU+IERGUyBNb2RpZmllciA8L21hdC1jYXJkLXRpdGxlPlxuXG4gICAgICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkNvbmZpZ3VyZSBtb2RpZmllcnMgZm9yIHlvdXIgREZTIGZpbGVzLlwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgaW5mb19vdXRsaW5lXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XG5cbiAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJOYW1lXCJcbiAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicHJpb3JpdHlcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlByaW9yaXR5XCJcbiAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGF0aEZpbHRlclwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUGF0aCBGaWx0ZXIgKHJlZ2V4KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidHlwZVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiREZTIE1vZGlmaWVyIFR5cGVcIlxuICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIlR5cGVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAgIHZhbHVlPVwiTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5IVE1MQmFzZURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEhUTUwgQmFzZSBNb2RmaWVyXG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cblxuICAgICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAgIHZhbHVlPVwiTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5MQ1VSZWdERlNNb2RpZmllck1hbmFnZXIsIExDVS5SdW50aW1lLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMQ1UgUmVnIE1vZGZpZXJcbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAgICAgdmFsdWU9XCJMQ1UuUnVudGltZS5BcHBsaWNhdGlvbnMuTW9kaWZpZXJzLlRoaXJkUGFydHlMaWJyYXJ5REZTTW9kaWZpZXJNYW5hZ2VyLCBMQ1UuUnVudGltZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgVGhyaWQgUGFydHkgTGlicmFyeSBNb2RpZmllclxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgIEN1cnJlbnRUeXBlID09XG4gICAgICAgICAgICAgICdMQ1UuUnVudGltZS5BcHBsaWNhdGlvbnMuTW9kaWZpZXJzLkxDVVJlZ0RGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInN0YXRlRGF0YVRva2VuXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlN0YXRlIERhdGEgVG9rZW5cIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgQ3VycmVudFR5cGUgPT1cbiAgICAgICAgICAgICAgJ0xDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuVGhpcmRQYXJ0eUxpYnJhcnlERlNNb2RpZmllck1hbmFnZXIsIExDVS5SdW50aW1lLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbCdcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJsb2NhdGlvblwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJMb2NhdGlvblwiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2NyaXB0SWRcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2NyaXB0IElEXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzY3JpcHRcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2NyaXB0XCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZD48L3RleHRhcmVhPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPVwic3ByZWFkXCIgZm9ybUNvbnRyb2xOYW1lPVwiZW5hYmxlZFwiPlxuICAgICAgICAgICAgSXMgRW5hYmxlZD9cbiAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgIDwvbWF0LWNhcmQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic3ByZWFkXCI+XG4gICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cblxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiU2V0RWRpdGluZ01vZGlmaWVyKG51bGwpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPiBDYW5jZWxcbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cblxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFNb2RpZmllckZvcm1Hcm91cC52YWxpZCB8fCAhTW9kaWZpZXJGb3JtR3JvdXAuZGlydHlcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24+c2F2ZTwvbWF0LWljb24+IFNhdmUgREZTIE1vZGlmaWVyXG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cblxuICA8ZGl2IGNsYXNzPVwic3ByZWFkXCIgKm5nSWY9XCIhRWRpdGluZ01vZGlmaWVyXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJhcHBzLWFjdGlvbnNcIj5cbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwiQ3JlYXRlTmV3TW9kaWZpZXIoKVwiPlxuICAgICAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCI+YWRkPC9tYXQtaWNvbj4gQ3JlYXRlIE5ld1xuICAgICAgPC9idXR0b24+XG4gICAgPC9zcGFuPlxuXG4gICAgPGRpdiBjbGFzcz1cInNwcmVhZFwiPlxuICAgICAgPGRpdiAqbmdJZj1cIk1vZGlmaWVyTG9va3Vwcz8ubGVuZ3RoIDw9IDBcIj5cbiAgICAgICAgPGgyPk5vIERGUyBtb2RpZmllcnMgY3JlYXRlZCwgY3JlYXRlIHlvdXIgZmlyc3QgREZTIG1vZGlmaWVyLjwvaDI+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdJZj1cIk1vZGlmaWVyTG9va3Vwcz8ubGVuZ3RoID4gMFwiPlxuICAgICAgICA8aDI+REZTIE1vZGlmaWVyczwvaDI+XG5cbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvdyB3cmFwXCIgZnhMYXlvdXQubHQtbWQ9XCJjb2x1bW5cIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBmeEZsZXg9XCIzMCVcIlxuICAgICAgICAgICAgZnhGbGV4Lmx0LW1kPVwiMTAwJVwiXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgbW9kaWZpZXJMb29rdXAgb2YgTW9kaWZpZXJMb29rdXBzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWNhcmRcbiAgICAgICAgICAgICAgY2xhc3M9XCJzcHJlYWRcIlxuICAgICAgICAgICAgICAqbmdJZj1cIk1vZGlmaWVyc1ttb2RpZmllckxvb2t1cF07IGxldCBtb2RpZmllclwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgPCEtLSA8aW1nIG1hdC1jYXJkLWF2YXRhcj1cIi9hc3NldHMvaW1hZ2VzL3Byb2plY3QtaWNvbi5wbmdcIiAvPiAtLT5cblxuICAgICAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtc3ViaGVhZGluZy0yXCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIm1vZGlmaWVyLk5hbWVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IG1vZGlmaWVyLk5hbWUgfHwgbW9kaWZpZXIuTG9va3VwIH19XG5cbiAgICAgICAgICAgICAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNwcmVhZFwiXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgIFByb2plY3Q/Lk1vZGlmaWVyTG9va3Vwcy5pbmRleE9mKG1vZGlmaWVyTG9va3VwKSA+PSAwXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiU2V0VXNlRm9yUHJvamVjdChtb2RpZmllckxvb2t1cCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJVc2UgZm9yIHByb2plY3Q/XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICA8L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1jYXJkLWhlYWRlcj5cblxuICAgICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ByZWFkXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cblxuICAgICAgICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0YS1hcHAtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlNldEVkaXRpbmdNb2RpZmllcihtb2RpZmllckxvb2t1cClcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0VG9vbHRpcD1cIkVkaXQgREZTIE1vZGlmaWVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3NcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiRGVsZXRlTW9kaWZpZXIobW9kaWZpZXJMb29rdXAsIG1vZGlmaWVyLk5hbWUpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFRvb2x0aXA9XCJEZWxldGUge3sgbW9kaWZpZXIuTmFtZSB9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZV9mb3JldmVyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRhLWFwcC1mYWtlc1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRpc2FibGVkPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZmliZXJfbWFudWFsX3JlY29yZDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZWQ+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5maWJlcl9tYW51YWxfcmVjb3JkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1jYXJkLWFjdGlvbnM+XG4gICAgICAgICAgICA8L21hdC1jYXJkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19