tin-spa 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/README.md +2 -2
  2. package/{esm2015/lib/classes/Classes.js → esm2020/lib/classes/Classes.mjs} +15 -55
  3. package/esm2020/lib/classes/TinCore.mjs +148 -0
  4. package/esm2020/lib/components/activity/activity.component.mjs +24 -0
  5. package/esm2020/lib/components/attach/attach.component.mjs +105 -0
  6. package/esm2020/lib/components/change-password/change-password.component.mjs +92 -0
  7. package/esm2020/lib/components/check/check.component.mjs +56 -0
  8. package/esm2020/lib/components/chips/chips.component.mjs +58 -0
  9. package/esm2020/lib/components/create-account/create-account.component.mjs +72 -0
  10. package/esm2020/lib/components/date/date.component.mjs +64 -0
  11. package/esm2020/lib/components/datetime/datetime.component.mjs +39 -0
  12. package/esm2020/lib/components/filter/filter.component.mjs +46 -0
  13. package/esm2020/lib/components/form/form.component.mjs +63 -0
  14. package/esm2020/lib/components/label/label.component.mjs +25 -0
  15. package/esm2020/lib/components/loader/loader.component.mjs +24 -0
  16. package/esm2020/lib/components/login/login.component.mjs +113 -0
  17. package/esm2020/lib/components/logs/logs.component.mjs +37 -0
  18. package/esm2020/lib/components/message/messageDialog.component.mjs +32 -0
  19. package/esm2020/lib/components/money/currency-input-mask.directive.mjs +185 -0
  20. package/esm2020/lib/components/money/currency-input-mask.module.mjs +28 -0
  21. package/esm2020/lib/components/money/money.component.mjs +64 -0
  22. package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +49 -0
  23. package/esm2020/lib/components/number/number.component.mjs +86 -0
  24. package/esm2020/lib/components/option/option.component.mjs +59 -0
  25. package/esm2020/lib/components/profile/profile.component.mjs +93 -0
  26. package/esm2020/lib/components/recover-account/recover-account.component.mjs +46 -0
  27. package/esm2020/lib/components/roles/addRoleDialog.component.mjs +61 -0
  28. package/esm2020/lib/components/roles/roles.component.mjs +91 -0
  29. package/esm2020/lib/components/select/select.component.mjs +71 -0
  30. package/esm2020/lib/components/settings/settings.component.mjs +63 -0
  31. package/esm2020/lib/components/signup/signup.component.mjs +50 -0
  32. package/esm2020/lib/components/steps/steps.component.mjs +90 -0
  33. package/esm2020/lib/components/table/detailsDialog.component.mjs +149 -0
  34. package/esm2020/lib/components/table/table.component.mjs +341 -0
  35. package/esm2020/lib/components/text/text.component.mjs +166 -0
  36. package/esm2020/lib/components/tiles/tiles.component.mjs +41 -0
  37. package/esm2020/lib/components/tin-spa.component.mjs +19 -0
  38. package/esm2020/lib/components/users/users.component.mjs +119 -0
  39. package/esm2020/lib/modules/admin/admin-routing.module.mjs +29 -0
  40. package/esm2020/lib/modules/admin/admin.module.mjs +26 -0
  41. package/esm2020/lib/modules/index/index-routing.module.mjs +27 -0
  42. package/esm2020/lib/modules/index/index.module.mjs +26 -0
  43. package/esm2020/lib/modules/spa-admin.module.mjs +73 -0
  44. package/esm2020/lib/modules/spa-index.module.mjs +52 -0
  45. package/esm2020/lib/modules/spa-mat.module.mjs +67 -0
  46. package/esm2020/lib/modules/spa-user.module.mjs +49 -0
  47. package/esm2020/lib/modules/user/user-routing.module.mjs +23 -0
  48. package/esm2020/lib/modules/user/user.module.mjs +26 -0
  49. package/esm2020/lib/pipes/camelToWords.pipe.mjs +23 -0
  50. package/esm2020/lib/services/auth.service.mjs +142 -0
  51. package/esm2020/lib/services/data.service.mjs +125 -0
  52. package/esm2020/lib/services/export.service.mjs +16 -0
  53. package/esm2020/lib/services/http.service.mjs +79 -0
  54. package/esm2020/lib/services/loader-interceptor.service.mjs +77 -0
  55. package/esm2020/lib/services/loader.service.mjs +17 -0
  56. package/esm2020/lib/services/log.service.mjs +77 -0
  57. package/esm2020/lib/services/message.service.mjs +52 -0
  58. package/esm2020/lib/services/storage.service.mjs +34 -0
  59. package/esm2020/lib/services/tin-spa.service.mjs +14 -0
  60. package/esm2020/lib/tin-spa.module.mjs +114 -0
  61. package/esm2020/public-api.mjs +62 -0
  62. package/esm2020/tin-spa.mjs +5 -0
  63. package/fesm2015/tin-spa.mjs +3846 -0
  64. package/fesm2015/tin-spa.mjs.map +1 -0
  65. package/fesm2020/tin-spa.mjs +3829 -0
  66. package/fesm2020/tin-spa.mjs.map +1 -0
  67. package/index.d.ts +5 -0
  68. package/lib/classes/Classes.d.ts +58 -63
  69. package/lib/classes/TinCore.d.ts +1 -0
  70. package/lib/components/activity/activity.component.d.ts +3 -0
  71. package/lib/components/attach/attach.component.d.ts +4 -1
  72. package/lib/components/change-password/change-password.component.d.ts +3 -0
  73. package/lib/components/check/check.component.d.ts +3 -0
  74. package/lib/components/chips/chips.component.d.ts +3 -0
  75. package/lib/components/create-account/create-account.component.d.ts +3 -0
  76. package/lib/components/date/date.component.d.ts +14 -6
  77. package/lib/components/datetime/datetime.component.d.ts +3 -0
  78. package/lib/components/filter/filter.component.d.ts +4 -0
  79. package/lib/components/form/form.component.d.ts +16 -0
  80. package/lib/components/label/label.component.d.ts +3 -0
  81. package/lib/components/loader/loader.component.d.ts +3 -0
  82. package/lib/components/login/login.component.d.ts +6 -0
  83. package/lib/components/logs/logs.component.d.ts +3 -0
  84. package/lib/components/message/messageDialog.component.d.ts +3 -0
  85. package/lib/components/money/currency-input-mask.directive.d.ts +41 -0
  86. package/lib/components/money/currency-input-mask.module.d.ts +9 -0
  87. package/lib/components/money/money.component.d.ts +9 -1
  88. package/lib/components/nav-menu/nav-menu.component.d.ts +3 -0
  89. package/lib/components/number/number.component.d.ts +29 -0
  90. package/lib/components/option/option.component.d.ts +3 -0
  91. package/lib/components/profile/profile.component.d.ts +6 -2
  92. package/lib/components/recover-account/recover-account.component.d.ts +3 -0
  93. package/lib/components/roles/addRoleDialog.component.d.ts +3 -0
  94. package/lib/components/roles/roles.component.d.ts +3 -0
  95. package/lib/components/select/select.component.d.ts +5 -1
  96. package/lib/components/settings/settings.component.d.ts +3 -0
  97. package/lib/components/signup/signup.component.d.ts +3 -0
  98. package/lib/components/steps/steps.component.d.ts +3 -0
  99. package/lib/components/table/detailsDialog.component.d.ts +28 -0
  100. package/lib/components/table/table.component.d.ts +57 -17
  101. package/lib/components/text/text.component.d.ts +13 -9
  102. package/lib/components/tiles/tiles.component.d.ts +3 -0
  103. package/lib/components/tin-spa.component.d.ts +4 -4
  104. package/lib/components/users/users.component.d.ts +4 -0
  105. package/lib/modules/admin/admin-routing.module.d.ts +7 -0
  106. package/lib/modules/admin/admin.module.d.ts +9 -0
  107. package/lib/modules/index/index-routing.module.d.ts +7 -0
  108. package/lib/modules/index/index.module.d.ts +9 -0
  109. package/lib/modules/spa-admin.module.d.ts +13 -0
  110. package/lib/modules/spa-index.module.d.ts +10 -0
  111. package/lib/modules/spa-mat.module.d.ts +31 -0
  112. package/lib/modules/spa-user.module.d.ts +9 -0
  113. package/lib/modules/user/user-routing.module.d.ts +7 -0
  114. package/lib/modules/user/user.module.d.ts +9 -0
  115. package/lib/pipes/camelToWords.pipe.d.ts +7 -0
  116. package/lib/services/auth.service.d.ts +3 -0
  117. package/lib/services/data.service.d.ts +5 -1
  118. package/lib/services/export.service.d.ts +3 -4
  119. package/lib/services/http.service.d.ts +3 -0
  120. package/lib/services/loader-interceptor.service.d.ts +3 -0
  121. package/lib/services/loader.service.d.ts +3 -0
  122. package/lib/services/log.service.d.ts +3 -0
  123. package/lib/services/message.service.d.ts +3 -0
  124. package/lib/services/storage.service.d.ts +3 -0
  125. package/lib/services/tin-spa.service.d.ts +3 -0
  126. package/lib/tin-spa.module.d.ts +30 -0
  127. package/package.json +24 -23
  128. package/public-api.d.ts +7 -2
  129. package/bundles/tin-spa.umd.js +0 -3672
  130. package/bundles/tin-spa.umd.js.map +0 -1
  131. package/bundles/tin-spa.umd.min.js +0 -16
  132. package/bundles/tin-spa.umd.min.js.map +0 -1
  133. package/esm2015/lib/classes/TinCore.js +0 -139
  134. package/esm2015/lib/components/activity/activity.component.js +0 -26
  135. package/esm2015/lib/components/attach/attach.component.js +0 -107
  136. package/esm2015/lib/components/change-password/change-password.component.js +0 -102
  137. package/esm2015/lib/components/check/check.component.js +0 -63
  138. package/esm2015/lib/components/chips/chips.component.js +0 -66
  139. package/esm2015/lib/components/create-account/create-account.component.js +0 -78
  140. package/esm2015/lib/components/date/date.component.js +0 -45
  141. package/esm2015/lib/components/datetime/datetime.component.js +0 -44
  142. package/esm2015/lib/components/filter/filter.component.js +0 -40
  143. package/esm2015/lib/components/label/label.component.js +0 -29
  144. package/esm2015/lib/components/loader/loader.component.js +0 -29
  145. package/esm2015/lib/components/login/login.component.js +0 -114
  146. package/esm2015/lib/components/logs/logs.component.js +0 -39
  147. package/esm2015/lib/components/message/messageDialog.component.js +0 -31
  148. package/esm2015/lib/components/money/money.component.js +0 -52
  149. package/esm2015/lib/components/nav-menu/nav-menu.component.js +0 -51
  150. package/esm2015/lib/components/option/option.component.js +0 -63
  151. package/esm2015/lib/components/profile/profile.component.js +0 -98
  152. package/esm2015/lib/components/recover-account/recover-account.component.js +0 -53
  153. package/esm2015/lib/components/roles/addRoleDialog.component.js +0 -61
  154. package/esm2015/lib/components/roles/roles.component.js +0 -94
  155. package/esm2015/lib/components/select/select.component.js +0 -77
  156. package/esm2015/lib/components/settings/settings.component.js +0 -63
  157. package/esm2015/lib/components/signup/signup.component.js +0 -57
  158. package/esm2015/lib/components/steps/steps.component.js +0 -93
  159. package/esm2015/lib/components/table/table.component.js +0 -107
  160. package/esm2015/lib/components/text/text.component.js +0 -165
  161. package/esm2015/lib/components/tiles/tiles.component.js +0 -41
  162. package/esm2015/lib/components/timeout/timeout.component.js +0 -90
  163. package/esm2015/lib/components/tin-spa.component.js +0 -19
  164. package/esm2015/lib/components/users/users.component.js +0 -120
  165. package/esm2015/lib/dnd.directive.js +0 -51
  166. package/esm2015/lib/modules/spa-admin.module.js +0 -50
  167. package/esm2015/lib/modules/spa-index.module.js +0 -35
  168. package/esm2015/lib/modules/spa-mat.module.js +0 -53
  169. package/esm2015/lib/modules/spa-user.module.js +0 -33
  170. package/esm2015/lib/services/auth.service.js +0 -155
  171. package/esm2015/lib/services/data.service.js +0 -115
  172. package/esm2015/lib/services/export.service.js +0 -29
  173. package/esm2015/lib/services/http.service.js +0 -84
  174. package/esm2015/lib/services/loader-interceptor.service.js +0 -83
  175. package/esm2015/lib/services/loader.service.js +0 -17
  176. package/esm2015/lib/services/log.service.js +0 -76
  177. package/esm2015/lib/services/message.service.js +0 -58
  178. package/esm2015/lib/services/storage.service.js +0 -42
  179. package/esm2015/lib/services/tin-spa.service.js +0 -14
  180. package/esm2015/lib/tin-spa.module.js +0 -91
  181. package/esm2015/public-api.js +0 -56
  182. package/esm2015/tin-spa.js +0 -8
  183. package/esm5/lib/classes/Classes.js +0 -313
  184. package/esm5/lib/classes/TinCore.js +0 -166
  185. package/esm5/lib/components/activity/activity.component.js +0 -27
  186. package/esm5/lib/components/attach/attach.component.js +0 -119
  187. package/esm5/lib/components/change-password/change-password.component.js +0 -104
  188. package/esm5/lib/components/check/check.component.js +0 -64
  189. package/esm5/lib/components/chips/chips.component.js +0 -68
  190. package/esm5/lib/components/create-account/create-account.component.js +0 -80
  191. package/esm5/lib/components/date/date.component.js +0 -46
  192. package/esm5/lib/components/datetime/datetime.component.js +0 -45
  193. package/esm5/lib/components/filter/filter.component.js +0 -41
  194. package/esm5/lib/components/label/label.component.js +0 -30
  195. package/esm5/lib/components/loader/loader.component.js +0 -31
  196. package/esm5/lib/components/login/login.component.js +0 -117
  197. package/esm5/lib/components/logs/logs.component.js +0 -41
  198. package/esm5/lib/components/message/messageDialog.component.js +0 -32
  199. package/esm5/lib/components/money/money.component.js +0 -53
  200. package/esm5/lib/components/nav-menu/nav-menu.component.js +0 -53
  201. package/esm5/lib/components/option/option.component.js +0 -64
  202. package/esm5/lib/components/profile/profile.component.js +0 -102
  203. package/esm5/lib/components/recover-account/recover-account.component.js +0 -55
  204. package/esm5/lib/components/roles/addRoleDialog.component.js +0 -63
  205. package/esm5/lib/components/roles/roles.component.js +0 -100
  206. package/esm5/lib/components/select/select.component.js +0 -79
  207. package/esm5/lib/components/settings/settings.component.js +0 -66
  208. package/esm5/lib/components/signup/signup.component.js +0 -59
  209. package/esm5/lib/components/steps/steps.component.js +0 -105
  210. package/esm5/lib/components/table/table.component.js +0 -109
  211. package/esm5/lib/components/text/text.component.js +0 -168
  212. package/esm5/lib/components/tiles/tiles.component.js +0 -42
  213. package/esm5/lib/components/timeout/timeout.component.js +0 -92
  214. package/esm5/lib/components/tin-spa.component.js +0 -17
  215. package/esm5/lib/components/users/users.component.js +0 -126
  216. package/esm5/lib/dnd.directive.js +0 -52
  217. package/esm5/lib/modules/spa-admin.module.js +0 -53
  218. package/esm5/lib/modules/spa-index.module.js +0 -38
  219. package/esm5/lib/modules/spa-mat.module.js +0 -56
  220. package/esm5/lib/modules/spa-user.module.js +0 -36
  221. package/esm5/lib/services/auth.service.js +0 -157
  222. package/esm5/lib/services/data.service.js +0 -116
  223. package/esm5/lib/services/export.service.js +0 -30
  224. package/esm5/lib/services/http.service.js +0 -85
  225. package/esm5/lib/services/loader-interceptor.service.js +0 -85
  226. package/esm5/lib/services/loader.service.js +0 -18
  227. package/esm5/lib/services/log.service.js +0 -112
  228. package/esm5/lib/services/message.service.js +0 -59
  229. package/esm5/lib/services/storage.service.js +0 -74
  230. package/esm5/lib/services/tin-spa.service.js +0 -16
  231. package/esm5/lib/tin-spa.module.js +0 -94
  232. package/esm5/public-api.js +0 -56
  233. package/esm5/tin-spa.js +0 -8
  234. package/fesm2015/tin-spa.js +0 -3184
  235. package/fesm2015/tin-spa.js.map +0 -1
  236. package/fesm5/tin-spa.js +0 -3422
  237. package/fesm5/tin-spa.js.map +0 -1
  238. package/lib/components/timeout/timeout.component.d.ts +0 -21
  239. package/lib/dnd.directive.d.ts +0 -8
  240. package/tin-spa.d.ts +0 -7
  241. package/tin-spa.metadata.json +0 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # TinSpa
2
2
 
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.13.
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.2.0.
4
4
 
5
5
  ## Code scaffolding
6
6
 
@@ -21,4 +21,4 @@ Run `ng test tin-spa` to execute the unit tests via [Karma](https://karma-runner
21
21
 
22
22
  ## Further help
23
23
 
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -1,63 +1,13 @@
1
1
  import { Core } from "./TinCore";
2
- export var LogLevel;
3
- (function (LogLevel) {
4
- LogLevel[LogLevel["All"] = 0] = "All";
5
- LogLevel[LogLevel["Debug"] = 1] = "Debug";
6
- LogLevel[LogLevel["Info"] = 2] = "Info";
7
- LogLevel[LogLevel["Warn"] = 3] = "Warn";
8
- LogLevel[LogLevel["Error"] = 4] = "Error";
9
- LogLevel[LogLevel["Fatal"] = 5] = "Fatal";
10
- LogLevel[LogLevel["Off"] = 6] = "Off";
11
- })(LogLevel || (LogLevel = {}));
12
- export class Tile {
2
+ export class Action {
13
3
  }
14
- export class Step {
4
+ export class FormConfig {
15
5
  }
16
6
  export class TableConfig {
17
- constructor() {
18
- this.enableFilter = false;
19
- this.create = new TableCreate();
20
- this.greyout = new Condition();
21
- }
22
- }
23
- export class TableCreate {
24
- }
25
- export class TableColumn {
26
- constructor() {
27
- this.name = "default";
28
- this.display = "default";
29
- this.type = TableColumnType.String;
30
- }
31
- }
32
- export var TableColumnType;
33
- (function (TableColumnType) {
34
- TableColumnType[TableColumnType["String"] = 0] = "String";
35
- TableColumnType[TableColumnType["Date"] = 1] = "Date";
36
- TableColumnType[TableColumnType["DateTime"] = 2] = "DateTime";
37
- TableColumnType[TableColumnType["Image"] = 3] = "Image";
38
- TableColumnType[TableColumnType["Icon"] = 4] = "Icon";
39
- TableColumnType[TableColumnType["TextIcon"] = 5] = "TextIcon";
40
- TableColumnType[TableColumnType["Chip"] = 6] = "Chip";
41
- })(TableColumnType || (TableColumnType = {}));
42
- export class Condition {
43
- constructor() {
44
- this.field = "";
45
- this.operator = Operator.Equal;
46
- this.value = "";
47
- }
48
- }
49
- export var Operator;
50
- (function (Operator) {
51
- Operator[Operator["Equal"] = 0] = "Equal";
52
- Operator[Operator["Less"] = 1] = "Less";
53
- Operator[Operator["Greater"] = 2] = "Greater";
54
- Operator[Operator["NotEqual"] = 3] = "NotEqual";
55
- })(Operator || (Operator = {}));
56
- export class Color extends Condition {
57
7
  }
58
- export class Icon extends Condition {
8
+ export class Tile {
59
9
  }
60
- export class TableAction {
10
+ export class Step {
61
11
  }
62
12
  export class ActionResponse {
63
13
  }
@@ -251,4 +201,14 @@ export class Role {
251
201
  this.cap100 = false;
252
202
  }
253
203
  }
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3Rpbi1zcGEvIiwic291cmNlcyI6WyJsaWIvY2xhc3Nlcy9DbGFzc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFakMsTUFBTSxDQUFOLElBQVksUUFRWDtBQVJELFdBQVksUUFBUTtJQUNsQixxQ0FBTyxDQUFBO0lBQ1AseUNBQVMsQ0FBQTtJQUNULHVDQUFRLENBQUE7SUFDUix1Q0FBUSxDQUFBO0lBQ1IseUNBQVMsQ0FBQTtJQUNULHlDQUFTLENBQUE7SUFDVCxxQ0FBTyxDQUFBO0FBQ1QsQ0FBQyxFQVJXLFFBQVEsS0FBUixRQUFRLFFBUW5CO0FBRUQsTUFBTSxPQUFPLElBQUk7Q0FRaEI7QUFFRCxNQUFNLE9BQU8sSUFBSTtDQUdoQjtBQUVELE1BQU0sT0FBTyxXQUFXO0lBQXhCO1FBRUUsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsV0FBTSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFLM0IsWUFBTyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7SUFFNUIsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLFdBQVc7Q0FHdkI7QUFFRCxNQUFNLE9BQU8sV0FBVztJQUV0QjtRQUNFLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFBO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFBO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQTtJQUVwQyxDQUFDO0NBT0Y7QUFFRCxNQUFNLENBQU4sSUFBWSxlQUVYO0FBRkQsV0FBWSxlQUFlO0lBQ3pCLHlEQUFNLENBQUE7SUFBRSxxREFBSSxDQUFBO0lBQUUsNkRBQVEsQ0FBQTtJQUFFLHVEQUFLLENBQUE7SUFBRSxxREFBSSxDQUFBO0lBQUUsNkRBQVEsQ0FBQTtJQUFFLHFEQUFJLENBQUE7QUFDckQsQ0FBQyxFQUZXLGVB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QyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7Q0F3R0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlIH0gZnJvbSBcIi4vVGluQ29yZVwiO1xyXG5cclxuZXhwb3J0IGVudW0gTG9nTGV2ZWwge1xyXG4gIEFsbCA9IDAsXHJcbiAgRGVidWcgPSAxLFxyXG4gIEluZm8gPSAyLFxyXG4gIFdhcm4gPSAzLFxyXG4gIEVycm9yID0gNCxcclxuICBGYXRhbCA9IDUsXHJcbiAgT2ZmID0gNixcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRpbGUge1xyXG5cclxuICB0aWxlTmFtZTogc3RyaW5nO1xyXG4gIHRpbGVWYWx1ZTogc3RyaW5nO1xyXG4gIHRpbGVDb2xvcjogc3RyaW5nO1xyXG4gIHNlbGVjdGVkOiBzdHJpbmc7XHJcbiAgdmlzaWJsZT86IGJvb2xlYW47XHJcbiAgaW5mbz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFN0ZXAge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGljb246IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29uZmlnIHtcclxuXHJcbiAgZW5hYmxlRmlsdGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY3JlYXRlID0gbmV3IFRhYmxlQ3JlYXRlKCk7XHJcblxyXG4gIGNvbHVtbnM6IFRhYmxlQ29sdW1uW107XHJcbiAgYWN0aW9uczogVGFibGVBY3Rpb25bXTtcclxuXHJcbiAgZ3JleW91dCA9IG5ldyBDb25kaXRpb24oKTtcclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNyZWF0ZSB7XHJcbiAgZW5hYmxlZDogYm9vbGVhblxyXG4gIGRpc3BsYXk6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29sdW1uIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLm5hbWUgPSBcImRlZmF1bHRcIlxyXG4gICAgdGhpcy5kaXNwbGF5ID0gXCJkZWZhdWx0XCJcclxuICAgIHRoaXMudHlwZSA9IFRhYmxlQ29sdW1uVHlwZS5TdHJpbmdcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBkaXNwbGF5OiBzdHJpbmc7XHJcbiAgcHVibGljIHR5cGU/OiBUYWJsZUNvbHVtblR5cGU7XHJcbiAgcHVibGljIGljb25zPzogSWNvbltdO1xyXG4gIHB1YmxpYyBjb2xvcj86IENvbG9yO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBUYWJsZUNvbHVtblR5cGUge1xyXG4gIFN0cmluZywgRGF0ZSwgRGF0ZVRpbWUsIEltYWdlLCBJY29uLCBUZXh0SWNvbiwgQ2hpcFxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIENvbmRpdGlvbiB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmZpZWxkID0gXCJcIjtcclxuICAgIHRoaXMub3BlcmF0b3IgPSBPcGVyYXRvci5FcXVhbDtcclxuICAgIHRoaXMudmFsdWUgPSBcIlwiO1xyXG4gIH1cclxuICBmaWVsZDogc3RyaW5nO1xyXG4gIG9wZXJhdG9yOiBPcGVyYXRvcjtcclxuICB2YWx1ZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBPcGVyYXRvciB7XHJcbiAgRXF1YWwsIExlc3MsIEdyZWF0ZXIsIE5vdEVxdWFsXHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIENvbG9yIGV4dGVuZHMgQ29uZGl0aW9uIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBJY29uIGV4dGVuZHMgQ29uZGl0aW9uIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgaGludD86IHN0cmluZztcclxuICBjb2xvcj86IHN0cmluZztcclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUFjdGlvbiB7XHJcblxyXG4gIG5hbWU6IHN0cmluZztcclxuICBzaG93PzogYm9vbGVhbjtcclxuICBpY29uOiBzdHJpbmc7XHJcbiAgY29sb3I/OiBzdHJpbmc7XHJcbiAgaGludD86IHN0cmluZztcclxuXHJcbiAgZGlzYXBwZWFyPzogQ29uZGl0aW9uO1xyXG4gIGRpc2FibGU/OiBDb25kaXRpb247XHJcblxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFjdGlvblJlc3BvbnNlIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWU7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgbG9naW5Db25maWcge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuYXBwTmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLnNlbGZTZXJ2aWNlID0gZmFsc2U7XHJcbiAgICB0aGlzLmxvZ28gPSBcIlwiO1xyXG4gICAgdGhpcy5sb2dvU2l6ZSA9IFwibm9ybWFsXCI7XHJcbiAgfVxyXG5cclxuICBhcHBOYW1lOiBzdHJpbmc7XHJcbiAgc2VsZlNlcnZpY2U6IGJvb2xlYW47XHJcbiAgbG9nbzogc3RyaW5nO1xyXG4gIGxvZ29TaXplOiBzdHJpbmc7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQXBwQ29uZmlnIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuYXBwTmFtZSA9IFwiQXBwIE5hbWVcIjtcclxuICAgIHRoaXMubG9nbyA9IFwiXCI7XHJcbiAgICB0aGlzLmxvZ29TaXplID0gXCJub3JtYWxcIjtcclxuICAgIHRoaXMuQURBdXRoID0gdHJ1ZTtcclxuICAgIHRoaXMubG9jYWxBdXRoID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VsZlNlcnZpY2UgPSBmYWxzZTtcclxuICB9XHJcbiAgYXBwTmFtZTogc3RyaW5nO1xyXG4gIGxvZ286IHN0cmluZztcclxuICBsb2dvU2l6ZTogc3RyaW5nO1xyXG4gIEFEQXV0aDogYm9vbGVhbjtcclxuICBsb2NhbEF1dGg6IGJvb2xlYW47XHJcbiAgc2VsZlNlcnZpY2U6IGJvb2xlYW47XHJcbiAgY2FwSXRlbXM6IENhcEl0ZW1bXTtcclxuXHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2FwSXRlbSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5uYW1lID0gXCJcIjtcclxuICAgIHRoaXMuZGlzcGxheSA9IFwiTmV3IENhcCBJdGVtXCI7XHJcbiAgICB0aGlzLmVuYWJsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMudHlwZSA9IFwiXCI7XHJcbiAgICB0aGlzLm5ld0xpbmUgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd01lbnUgPSB0cnVlO1xyXG4gICAgdGhpcy5pZ25vcmVTdWJzRGlzcGxheSA9IGZhbHNlO1xyXG4gICAgdGhpcy5saW5rID0gXCJcIjtcclxuICAgIHRoaXMuaWNvbiA9IFwibmF2aWdhdGVfbmV4dFwiO1xyXG5cclxuICB9XHJcblxyXG4gIG5hbWU6IHN0cmluZztcclxuICBkaXNwbGF5OiBzdHJpbmc7XHJcbiAgZW5hYmxlZDogYm9vbGVhbjtcclxuICBzaG93TWVudTogYm9vbGVhbjtcclxuXHJcbiAgaWdub3JlU3Vic0Rpc3BsYXk6IGJvb2xlYW47XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIG5ld0xpbmU6IGJvb2xlYW47XHJcbiAgbGluazogc3RyaW5nO1xyXG4gIGljb246IHN0cmluZztcclxuICBjYXBTdWJJdGVtczogQ2FwSXRlbVtdO1xyXG5cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBBY2NvdW50IHtcclxuICB1c2VyOiBVc2VyO1xyXG4gIHByb2ZpbGU6IFByb2ZpbGU7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBVc2VyIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcblxyXG5cclxuICAgIHRoaXMudXNlck5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5wYXNzd29yZCA9IFwiXCI7XHJcbiAgICB0aGlzLnRyaWVzID0gXCIwXCI7XHJcbiAgICB0aGlzLmxvY2tlZCA9IFwiMFwiO1xyXG4gICAgdGhpcy5sb2dnZWQgPSBcIjBcIjtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBcIjBcIjtcclxuICAgIHRoaXMuY2hhbmdlcGFzc3dvcmQgPSBcIjBcIjtcclxuICAgIHRoaXMuZGF0ZUNyZWF0ZWQgPSBDb3JlLm5vd0RhdGUoKTtcclxuICAgIHRoaXMuZGF0ZVVwZGF0ZWQgPSBDb3JlLm5vd0RhdGUoKTtcclxuICAgIHRoaXMudG9rZW4gPSBcIlwiO1xyXG4gICAgdGhpcy5kYXRlRXhwaXJlID0gQ29yZS5ub3dEYXRlKCk7XHJcbiAgICB0aGlzLnRva2VuRXhwaXJlID0gQ29yZS5ub3dEYXRlKCk7XHJcbiAgICB0aGlzLmF1dGhUeXBlID0gXCJcIjtcclxuICB9XHJcblxyXG4gIHVzZXJOYW1lOnN0cmluZztcclxuICBwYXNzd29yZDogc3RyaW5nO1xyXG4gIHRyaWVzOiBzdHJpbmc7XHJcbiAgbG9ja2VkOiBzdHJpbmc7XHJcbiAgbG9nZ2VkOiBzdHJpbmc7XHJcbiAgZGlzYWJsZWQ6IHN0cmluZztcclxuICBjaGFuZ2VwYXNzd29yZDogc3RyaW5nO1xyXG4gIGRhdGVDcmVhdGVkOiBzdHJpbmc7XHJcbiAgZGF0ZVVwZGF0ZWQ6IHN0cmluZztcclxuICBkYXRlRXhwaXJlOiBzdHJpbmc7XHJcbiAgdG9rZW46IHN0cmluZztcclxuICB0b2tlbkV4cGlyZTogc3RyaW5nO1xyXG5cclxuICBhdXRoVHlwZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2hhbmdlVXNlclBhc3N3b3JkIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLnVzZXJOYW1lID0gXCJcIjtcclxuICAgIHRoaXMuY3VycmVudFBhc3N3b3JkID0gXCJcIjtcclxuICAgIHRoaXMubmV3UGFzc3dvcmQgPSBcIlwiO1xyXG4gICAgdGhpcy5jb25maXJtUGFzc3dvcmQgPSBcIlwiO1xyXG4gIH1cclxuICB1c2VyTmFtZTogc3RyaW5nO1xyXG4gIGN1cnJlbnRQYXNzd29yZDogc3RyaW5nO1xyXG4gIG5ld1Bhc3N3b3JkOiBzdHJpbmc7XHJcbiAgY29uZmlybVBhc3N3b3JkOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSZWdpc3RlciB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy51c2VyTmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLnJvbGVJRCA9IDE7XHJcbiAgICB0aGlzLmZpcnN0TmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLmxhc3ROYW1lID0gXCJcIjtcclxuICAgIHRoaXMuZW1haWwgPSBcIlwiO1xyXG4gICAgdGhpcy5hdXRoVHlwZSA9IFwiXCI7XHJcbiAgICB0aGlzLnBhc3N3b3JkID0gXCJcIjtcclxuICB9XHJcblxyXG4gIHVzZXJOYW1lOiBzdHJpbmc7XHJcbiAgcm9sZUlEOiBudW1iZXI7XHJcbiAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgbGFzdE5hbWU6IHN0cmluZztcclxuICBlbWFpbDogc3RyaW5nO1xyXG4gIGF1dGhUeXBlOiBzdHJpbmc7XHJcbiAgcGFzc3dvcmQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFByb2ZpbGUge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMucHJvZmlsZUlEID0gXCJcIjtcclxuICAgIHRoaXMudXNlck5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5yb2xlSUQgPSAxO1xyXG4gICAgdGhpcy5maXJzdE5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5sYXN0TmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLmVtYWlsID0gXCJcIjtcclxuICAgIHRoaXMuZW1wSUQgPSBcIlwiO1xyXG4gICAgdGhpcy5hcklEID0gXCIwXCI7XHJcbiAgICB0aGlzLmF1dGhUeXBlID0gXCJcIjtcclxuICAgIHRoaXMucGFzc3dvcmQgPSBcIlwiO1xyXG4gICAgdGhpcy5yb2xlID0gbmV3IFJvbGUoKTtcclxuICB9XHJcblxyXG4gIHByb2ZpbGVJRDogc3RyaW5nO1xyXG4gIHVzZXJOYW1lOiBzdHJpbmc7XHJcbiAgcm9sZUlEOiBudW1iZXI7XHJcbiAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgbGFzdE5hbWU6IHN0cmluZztcclxuICBlbWFpbDogc3RyaW5nO1xyXG4gIGVtcElEOiBzdHJpbmc7XHJcbiAgYXJJRDogc3RyaW5nO1xyXG4gIGF1dGhUeXBlOiBzdHJpbmc7XHJcbiAgcGFzc3dvcmQ6IHN0cmluZztcclxuICByb2xlOiBSb2xlXHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgUm9sZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5yb2xlSUQgPSAwO1xyXG4gICAgdGhpcy5yb2xlTmFtZSA9IFwiTmV3IFJvbGVcIjtcclxuICAgIHRoaXMuY2FwMSA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXAyID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNCA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXA1ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNyA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXA4ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTAwID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICByb2xlSUQ6IG51bWJlcjtcclxuICByb2xlTmFtZTogc3RyaW5nO1xyXG4gIGNhcDE6IGJvb2xlYW47XHJcbiAgY2FwMjogYm9vbGVhbjtcclxuICBjYXAzOiBib29sZWFuO1xyXG4gIGNhcDQ6IGJvb2xlYW47XHJcbiAgY2FwNTogYm9vbGVhbjtcclxuICBjYXA2OiBib29sZWFuO1xyXG4gIGNhcDc6IGJvb2xlYW47XHJcbiAgY2FwODogYm9vbGVhbjtcclxuICBjYXA5OiBib29sZWFuO1xyXG4gIGNhcDEwOiBib29sZWFuO1xyXG4gIGNhcDExOiBib29sZWFuO1xyXG4gIGNhcDEyOiBib29sZWFuO1xyXG4gIGNhcDEzOiBib29sZWFuO1xyXG4gIGNhcDE0OiBib29sZWFuO1xyXG4gIGNhcDE1OiBib29sZWFuO1xyXG4gIGNhcDE2OiBib29sZWFuO1xyXG4gIGNhcDE3OiBib29sZWFuO1xyXG4gIGNhcDE4OiBib29sZWFuO1xyXG4gIGNhcDE5OiBib29sZWFuO1xyXG4gIGNhcDIwOiBib29sZWFuO1xyXG4gIGNhcDIxOiBib29sZWFuO1xyXG4gIGNhcDIyOiBib29sZWFuO1xyXG4gIGNhcDIzOiBib29sZWFuO1xyXG4gIGNhcDI0OiBib29sZWFuO1xyXG4gIGNhcDI1OiBib29sZWFuO1xyXG4gIGNhcDI2OiBib29sZWFuO1xyXG4gIGNhcDI3OiBib29sZWFuO1xyXG4gIGNhcDI4OiBib29sZWFuO1xyXG4gIGNhcDI5OiBib29sZWFuO1xyXG4gIGNhcDMwOiBib29sZWFuO1xyXG4gIGNhcDMxOiBib29sZWFuO1xyXG4gIGNhcDMyOiBib29sZWFuO1xyXG4gIGNhcDMzOiBib29sZWFuO1xyXG4gIGNhcDM0OiBib29sZWFuO1xyXG4gIGNhcDM1OiBib29sZWFuO1xyXG4gIGNhcDM2OiBib29sZWFuO1xyXG4gIGNhcDM3OiBib29sZWFuO1xyXG4gIGNhcDM4OiBib29sZWFuO1xyXG4gIGNhcDM5OiBib29sZWFuO1xyXG4gIGNhcDQwOiBib29sZWFuO1xyXG4gIGNhcDQxOiBib29sZWFuO1xyXG4gIGNhcDQyOiBib29sZWFuO1xyXG4gIGNhcDQzOiBib29sZWFuO1xyXG4gIGNhcDQ0OiBib29sZWFuO1xyXG4gIGNhcDQ1OiBib29sZWFuO1xyXG4gIGNhcDQ2OiBib29sZWFuO1xyXG4gIGNhcDQ3OiBib29sZWFuO1xyXG4gIGNhcDQ4OiBib29sZWFuO1xyXG4gIGNhcDQ5OiBib29sZWFuO1xyXG4gIGNhcDUwOiBib29sZWFuO1xyXG4gIGNhcDUxOiBib29sZWFuO1xyXG4gIGNhcDUyOiBib29sZWFuO1xyXG4gIGNhcDUzOiBib29sZWFuO1xyXG4gIGNhcDU0OiBib29sZWFuO1xyXG4gIGNhcDU1OiBib29sZWFuO1xyXG4gIGNhcDU2OiBib29sZWFuO1xyXG4gIGNhcDU3OiBib29sZWFuO1xyXG4gIGNhcDU4OiBib29sZWFuO1xyXG4gIGNhcDU5OiBib29sZWFuO1xyXG4gIGNhcDYwOiBib29sZWFuO1xyXG4gIGNhcDYxOiBib29sZWFuO1xyXG4gIGNhcDYyOiBib29sZWFuO1xyXG4gIGNhcDYzOiBib29sZWFuO1xyXG4gIGNhcDY0OiBib29sZWFuO1xyXG4gIGNhcDY1OiBib29sZWFuO1xyXG4gIGNhcDY2OiBib29sZWFuO1xyXG4gIGNhcDY3OiBib29sZWFuO1xyXG4gIGNhcDY4OiBib29sZWFuO1xyXG4gIGNhcDY5OiBib29sZWFuO1xyXG4gIGNhcDcwOiBib29sZWFuO1xyXG4gIGNhcDcxOiBib29sZWFuO1xyXG4gIGNhcDcyOiBib29sZWFuO1xyXG4gIGNhcDczOiBib29sZWFuO1xyXG4gIGNhcDc0OiBib29sZWFuO1xyXG4gIGNhcDc1OiBib29sZWFuO1xyXG4gIGNhcDc2OiBib29sZWFuO1xyXG4gIGNhcDc3OiBib29sZWFuO1xyXG4gIGNhcDc4OiBib29sZWFuO1xyXG4gIGNhcDc5OiBib29sZWFuO1xyXG4gIGNhcDgwOiBib29sZWFuO1xyXG4gIGNhcDgxOiBib29sZWFuO1xyXG4gIGNhcDgyOiBib29sZWFuO1xyXG4gIGNhcDgzOiBib29sZWFuO1xyXG4gIGNhcDg0OiBib29sZWFuO1xyXG4gIGNhcDg1OiBib29sZWFuO1xyXG4gIGNhcDg2OiBib29sZWFuO1xyXG4gIGNhcDg3OiBib29sZWFuO1xyXG4gIGNhcDg4OiBib29sZWFuO1xyXG4gIGNhcDg5OiBib29sZWFuO1xyXG4gIGNhcDkwOiBib29sZWFuO1xyXG4gIGNhcDkxOiBib29sZWFuO1xyXG4gIGNhcDkyOiBib29sZWFuO1xyXG4gIGNhcDkzOiBib29sZWFuO1xyXG4gIGNhcDk0OiBib29sZWFuO1xyXG4gIGNhcDk1OiBib29sZWFuO1xyXG4gIGNhcDk2OiBib29sZWFuO1xyXG4gIGNhcDk3OiBib29sZWFuO1xyXG4gIGNhcDk4OiBib29sZWFuO1xyXG4gIGNhcDk5OiBib29sZWFuO1xyXG4gIGNhcDEwMDogYm9vbGVhbjtcclxufVxyXG4iXX0=
204
+ export var LogLevel;
205
+ (function (LogLevel) {
206
+ LogLevel[LogLevel["All"] = 0] = "All";
207
+ LogLevel[LogLevel["Debug"] = 1] = "Debug";
208
+ LogLevel[LogLevel["Info"] = 2] = "Info";
209
+ LogLevel[LogLevel["Warn"] = 3] = "Warn";
210
+ LogLevel[LogLevel["Error"] = 4] = "Error";
211
+ LogLevel[LogLevel["Fatal"] = 5] = "Fatal";
212
+ LogLevel[LogLevel["Off"] = 6] = "Off";
213
+ })(LogLevel || (LogLevel = {}));
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jbGFzc2VzL0NsYXNzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqQyxNQUFNLE9BQU8sTUFBTTtDQUtsQjtBQUVELE1BQU0sT0FBTyxVQUFVO0NBSXRCO0FBMEJELE1BQU0sT0FBTyxXQUFXO0NBUXZCO0FBZUQsTUFBTSxPQUFPLElBQUk7Q0FRaEI7QUFFRCxNQUFNLE9BQU8sSUFBSTtDQUdoQjtBQUlELE1BQU0sT0FBTyxjQUFjO0NBRzFCO0FBR0QsTUFBTSxPQUFPLFdBQVc7SUFFdEI7UUFDRSxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7Q0FNRjtBQUdELE1BQU0sT0FBTyxTQUFTO0lBQ3BCO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0NBVUY7QUFFRCxNQUFNLE9BQU8sT0FBTztJQUVsQjtRQUNFLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8s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QUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0NBd0dGO0FBR0QsTUFBTSxDQUFOLElBQVksUUFRWDtBQVJELFdBQVksUUFBUTtJQUNsQixxQ0FBTyxDQUFBO0lBQ1AseUNBQVMsQ0FBQTtJQUNULHVDQUFRLENBQUE7SUFDUix1Q0FBUSxDQUFBO0lBQ1IseUNBQVMsQ0FBQTtJQUNULHlDQUFTLENBQUE7SUFDVCxxQ0FBTyxDQUFBO0FBQ1QsQ0FBQyxFQVJXLFFBQVEsS0FBUixRQUFRLFFBUW5CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZSB9IGZyb20gXCIuL1RpbkNvcmVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb257XHJcbiAgbWV0aG9kPzogJ2dldCcgfCAncG9zdCdcclxuICB1cmw6IHN0cmluZztcclxuICBwYXJhbXM/IDogYW55W11cclxuICBzdWNjZXNzTWVzc2FnZT86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRm9ybUNvbmZpZyB7XHJcbiAgZmllbGRzOiBGaWVsZFtdXHJcbiAgbW9kZT86IHN0cmluZ1xyXG4gIGJ1dHRvbj8gOiBCdXR0b25cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCdXR0b257XHJcbiAgbmFtZTogJ2NyZWF0ZScgfCAndmlldycgfCAnZWRpdCcgfCAnZGVsZXRlJyB8ICdjdXN0b20xJyB8ICdjdXN0b20yJyB8ICdjdXN0b20zJztcclxuICB2aXNpYmxlPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbiAgZGlzcGxheT86IHN0cmluZztcclxuICBpY29uPzogSWNvbjtcclxuICBkaXNhYmxlZD86ICh2YWx1ZTogYW55KSA9PiBib29sZWFuO1xyXG4gIGNvbG9yPzogc3RyaW5nO1xyXG4gIHRpcD86IHN0cmluZ1xyXG4gIGRpYWxvZz86IGJvb2xlYW5cclxuICBhY3Rpb24/OiBBY3Rpb25cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb25kaXRpb257XHJcbiAgY29uZGl0aW9uPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmllbGQge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0eXBlOiAndGV4dCcgfCAnZGF0ZScgfCAnY2hlY2tib3gnIHwgJ3NlbGVjdCcgfCAnbW9uZXknIHwgJ251bWJlcic7XHJcbiAgb3B0aW9ucz86IGFueVtdO1xyXG4gIG9wdGlvbkRpc3BsYXk/OiBzdHJpbmdcclxuICBvcHRpb25WYWx1ZT86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVDb25maWd7XHJcbiAgY29sdW1ucz8gOiBDb2x1bW5bXVxyXG4gIHNob3dGaWx0ZXI/OiBib29sZWFuXHJcbiAgLy8gbmV3VGV4dD86IHN0cmluZ1xyXG4gIGZvcm1Db25maWc/OiBGb3JtQ29uZmlnXHJcbiAgbWluQ29sdW1ucz86IHN0cmluZ1tdXHJcbiAgYnV0dG9ucz86IEJ1dHRvbltdXHJcbiAgbG9hZEFjdGlvbj86IEFjdGlvblxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdHlwZT86ICd0ZXh0JyB8ICdkYXRlJyB8ICdjaGVja2JveCcgfCAnc2VsZWN0JyB8ICdtb25leScgfCAnbnVtYmVyJztcclxuICBhbGlhcz86IHN0cmluZztcclxuICBpY29uPzogSWNvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJY29ue1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGNvbG9yPzogc3RyaW5nXHJcbiAgdGlwPzogc3RyaW5nXHJcbiAgY29uZGl0aW9uPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUaWxlIHtcclxuXHJcbiAgdGlsZU5hbWU6IHN0cmluZztcclxuICB0aWxlVmFsdWU6IHN0cmluZztcclxuICB0aWxlQ29sb3I6IHN0cmluZztcclxuICBzZWxlY3RlZDogc3RyaW5nO1xyXG4gIHZpc2libGU/OiBib29sZWFuO1xyXG4gIGluZm8/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTdGVwIHtcclxuICBuYW1lOiBzdHJpbmdcclxuICBpY29uOiBzdHJpbmc7XHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFjdGlvblJlc3BvbnNlIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWU7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgbG9naW5Db25maWcge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuYXBwTmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLnNlbGZTZXJ2aWNlID0gZmFsc2U7XHJcbiAgICB0aGlzLmxvZ28gPSBcIlwiO1xyXG4gICAgdGhpcy5sb2dvU2l6ZSA9IFwibm9ybWFsXCI7XHJcbiAgfVxyXG5cclxuICBhcHBOYW1lOiBzdHJpbmc7XHJcbiAgc2VsZlNlcnZpY2U6IGJvb2xlYW47XHJcbiAgbG9nbzogc3RyaW5nO1xyXG4gIGxvZ29TaXplOiBzdHJpbmc7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQXBwQ29uZmlnIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuYXBwTmFtZSA9IFwiQXBwIE5hbWVcIjtcclxuICAgIHRoaXMubG9nbyA9IFwiXCI7XHJcbiAgICB0aGlzLmxvZ29TaXplID0gXCJub3JtYWxcIjtcclxuICAgIHRoaXMuQURBdXRoID0gdHJ1ZTtcclxuICAgIHRoaXMubG9jYWxBdXRoID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VsZlNlcnZpY2UgPSBmYWxzZTtcclxuICB9XHJcbiAgYXBwTmFtZTogc3RyaW5nO1xyXG4gIGxvZ286IHN0cmluZztcclxuICBsb2dvU2l6ZTogc3RyaW5nO1xyXG4gIEFEQXV0aDogYm9vbGVhbjtcclxuICBsb2NhbEF1dGg6IGJvb2xlYW47XHJcbiAgc2VsZlNlcnZpY2U6IGJvb2xlYW47XHJcbiAgY2FwSXRlbXM6IENhcEl0ZW1bXTtcclxuXHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2FwSXRlbSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5uYW1lID0gXCJcIjtcclxuICAgIHRoaXMuZGlzcGxheSA9IFwiTmV3IENhcCBJdGVtXCI7XHJcbiAgICB0aGlzLmVuYWJsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMudHlwZSA9IFwiXCI7XHJcbiAgICB0aGlzLm5ld0xpbmUgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd01lbnUgPSB0cnVlO1xyXG4gICAgdGhpcy5pZ25vcmVTdWJzRGlzcGxheSA9IGZhbHNlO1xyXG4gICAgdGhpcy5saW5rID0gXCJcIjtcclxuICAgIHRoaXMuaWNvbiA9IFwibmF2aWdhdGVfbmV4dFwiO1xyXG5cclxuICB9XHJcblxyXG4gIG5hbWU6IHN0cmluZztcclxuICBkaXNwbGF5OiBzdHJpbmc7XHJcbiAgZW5hYmxlZDogYm9vbGVhbjtcclxuICBzaG93TWVudTogYm9vbGVhbjtcclxuXHJcbiAgaWdub3JlU3Vic0Rpc3BsYXk6IGJvb2xlYW47XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIG5ld0xpbmU6IGJvb2xlYW47XHJcbiAgbGluazogc3RyaW5nO1xyXG4gIGljb246IHN0cmluZztcclxuICBjYXBTdWJJdGVtczogQ2FwSXRlbVtdO1xyXG5cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBBY2NvdW50IHtcclxuICB1c2VyOiBVc2VyO1xyXG4gIHByb2ZpbGU6IFByb2ZpbGU7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBVc2VyIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcblxyXG5cclxuICAgIHRoaXMudXNlck5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5wYXNzd29yZCA9IFwiXCI7XHJcbiAgICB0aGlzLnRyaWVzID0gXCIwXCI7XHJcbiAgICB0aGlzLmxvY2tlZCA9IFwiMFwiO1xyXG4gICAgdGhpcy5sb2dnZWQgPSBcIjBcIjtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBcIjBcIjtcclxuICAgIHRoaXMuY2hhbmdlcGFzc3dvcmQgPSBcIjBcIjtcclxuICAgIHRoaXMuZGF0ZUNyZWF0ZWQgPSBDb3JlLm5vd0RhdGUoKTtcclxuICAgIHRoaXMuZGF0ZVVwZGF0ZWQgPSBDb3JlLm5vd0RhdGUoKTtcclxuICAgIHRoaXMudG9rZW4gPSBcIlwiO1xyXG4gICAgdGhpcy5kYXRlRXhwaXJlID0gQ29yZS5ub3dEYXRlKCk7XHJcbiAgICB0aGlzLnRva2VuRXhwaXJlID0gQ29yZS5ub3dEYXRlKCk7XHJcbiAgICB0aGlzLmF1dGhUeXBlID0gXCJcIjtcclxuICB9XHJcblxyXG4gIHVzZXJOYW1lOnN0cmluZztcclxuICBwYXNzd29yZDogc3RyaW5nO1xyXG4gIHRyaWVzOiBzdHJpbmc7XHJcbiAgbG9ja2VkOiBzdHJpbmc7XHJcbiAgbG9nZ2VkOiBzdHJpbmc7XHJcbiAgZGlzYWJsZWQ6IHN0cmluZztcclxuICBjaGFuZ2VwYXNzd29yZDogc3RyaW5nO1xyXG4gIGRhdGVDcmVhdGVkOiBzdHJpbmc7XHJcbiAgZGF0ZVVwZGF0ZWQ6IHN0cmluZztcclxuICBkYXRlRXhwaXJlOiBzdHJpbmc7XHJcbiAgdG9rZW46IHN0cmluZztcclxuICB0b2tlbkV4cGlyZTogc3RyaW5nO1xyXG5cclxuICBhdXRoVHlwZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2hhbmdlVXNlclBhc3N3b3JkIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLnVzZXJOYW1lID0gXCJcIjtcclxuICAgIHRoaXMuY3VycmVudFBhc3N3b3JkID0gXCJcIjtcclxuICAgIHRoaXMubmV3UGFzc3dvcmQgPSBcIlwiO1xyXG4gICAgdGhpcy5jb25maXJtUGFzc3dvcmQgPSBcIlwiO1xyXG4gIH1cclxuICB1c2VyTmFtZTogc3RyaW5nO1xyXG4gIGN1cnJlbnRQYXNzd29yZDogc3RyaW5nO1xyXG4gIG5ld1Bhc3N3b3JkOiBzdHJpbmc7XHJcbiAgY29uZmlybVBhc3N3b3JkOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSZWdpc3RlciB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy51c2VyTmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLnJvbGVJRCA9IDE7XHJcbiAgICB0aGlzLmZpcnN0TmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLmxhc3ROYW1lID0gXCJcIjtcclxuICAgIHRoaXMuZW1haWwgPSBcIlwiO1xyXG4gICAgdGhpcy5hdXRoVHlwZSA9IFwiXCI7XHJcbiAgICB0aGlzLnBhc3N3b3JkID0gXCJcIjtcclxuICB9XHJcblxyXG4gIHVzZXJOYW1lOiBzdHJpbmc7XHJcbiAgcm9sZUlEOiBudW1iZXI7XHJcbiAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgbGFzdE5hbWU6IHN0cmluZztcclxuICBlbWFpbDogc3RyaW5nO1xyXG4gIGF1dGhUeXBlOiBzdHJpbmc7XHJcbiAgcGFzc3dvcmQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFByb2ZpbGUge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMucHJvZmlsZUlEID0gXCJcIjtcclxuICAgIHRoaXMudXNlck5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5yb2xlSUQgPSAxO1xyXG4gICAgdGhpcy5maXJzdE5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5sYXN0TmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLmVtYWlsID0gXCJcIjtcclxuICAgIHRoaXMuZW1wSUQgPSBcIlwiO1xyXG4gICAgdGhpcy5hcklEID0gXCIwXCI7XHJcbiAgICB0aGlzLmF1dGhUeXBlID0gXCJcIjtcclxuICAgIHRoaXMucGFzc3dvcmQgPSBcIlwiO1xyXG4gICAgdGhpcy5yb2xlID0gbmV3IFJvbGUoKTtcclxuICB9XHJcblxyXG4gIHByb2ZpbGVJRDogc3RyaW5nO1xyXG4gIHVzZXJOYW1lOiBzdHJpbmc7XHJcbiAgcm9sZUlEOiBudW1iZXI7XHJcbiAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgbGFzdE5hbWU6IHN0cmluZztcclxuICBlbWFpbDogc3RyaW5nO1xyXG4gIGVtcElEOiBzdHJpbmc7XHJcbiAgYXJJRDogc3RyaW5nO1xyXG4gIGF1dGhUeXBlOiBzdHJpbmc7XHJcbiAgcGFzc3dvcmQ6IHN0cmluZztcclxuICByb2xlOiBSb2xlXHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgUm9sZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5yb2xlSUQgPSAwO1xyXG4gICAgdGhpcy5yb2xlTmFtZSA9IFwiTmV3IFJvbGVcIjtcclxuICAgIHRoaXMuY2FwMSA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXAyID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNCA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXA1ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNyA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXA4ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTAwID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICByb2xlSUQ6IG51bWJlcjtcclxuICByb2xlTmFtZTogc3RyaW5nO1xyXG4gIGNhcDE6IGJvb2xlYW47XHJcbiAgY2FwMjogYm9vbGVhbjtcclxuICBjYXAzOiBib29sZWFuO1xyXG4gIGNhcDQ6IGJvb2xlYW47XHJcbiAgY2FwNTogYm9vbGVhbjtcclxuICBjYXA2OiBib29sZWFuO1xyXG4gIGNhcDc6IGJvb2xlYW47XHJcbiAgY2FwODogYm9vbGVhbjtcclxuICBjYXA5OiBib29sZWFuO1xyXG4gIGNhcDEwOiBib29sZWFuO1xyXG4gIGNhcDExOiBib29sZWFuO1xyXG4gIGNhcDEyOiBib29sZWFuO1xyXG4gIGNhcDEzOiBib29sZWFuO1xyXG4gIGNhcDE0OiBib29sZWFuO1xyXG4gIGNhcDE1OiBib29sZWFuO1xyXG4gIGNhcDE2OiBib29sZWFuO1xyXG4gIGNhcDE3OiBib29sZWFuO1xyXG4gIGNhcDE4OiBib29sZWFuO1xyXG4gIGNhcDE5OiBib29sZWFuO1xyXG4gIGNhcDIwOiBib29sZWFuO1xyXG4gIGNhcDIxOiBib29sZWFuO1xyXG4gIGNhcDIyOiBib29sZWFuO1xyXG4gIGNhcDIzOiBib29sZWFuO1xyXG4gIGNhcDI0OiBib29sZWFuO1xyXG4gIGNhcDI1OiBib29sZWFuO1xyXG4gIGNhcDI2OiBib29sZWFuO1xyXG4gIGNhcDI3OiBib29sZWFuO1xyXG4gIGNhcDI4OiBib29sZWFuO1xyXG4gIGNhcDI5OiBib29sZWFuO1xyXG4gIGNhcDMwOiBib29sZWFuO1xyXG4gIGNhcDMxOiBib29sZWFuO1xyXG4gIGNhcDMyOiBib29sZWFuO1xyXG4gIGNhcDMzOiBib29sZWFuO1xyXG4gIGNhcDM0OiBib29sZWFuO1xyXG4gIGNhcDM1OiBib29sZWFuO1xyXG4gIGNhcDM2OiBib29sZWFuO1xyXG4gIGNhcDM3OiBib29sZWFuO1xyXG4gIGNhcDM4OiBib29sZWFuO1xyXG4gIGNhcDM5OiBib29sZWFuO1xyXG4gIGNhcDQwOiBib29sZWFuO1xyXG4gIGNhcDQxOiBib29sZWFuO1xyXG4gIGNhcDQyOiBib29sZWFuO1xyXG4gIGNhcDQzOiBib29sZWFuO1xyXG4gIGNhcDQ0OiBib29sZWFuO1xyXG4gIGNhcDQ1OiBib29sZWFuO1xyXG4gIGNhcDQ2OiBib29sZWFuO1xyXG4gIGNhcDQ3OiBib29sZWFuO1xyXG4gIGNhcDQ4OiBib29sZWFuO1xyXG4gIGNhcDQ5OiBib29sZWFuO1xyXG4gIGNhcDUwOiBib29sZWFuO1xyXG4gIGNhcDUxOiBib29sZWFuO1xyXG4gIGNhcDUyOiBib29sZWFuO1xyXG4gIGNhcDUzOiBib29sZWFuO1xyXG4gIGNhcDU0OiBib29sZWFuO1xyXG4gIGNhcDU1OiBib29sZWFuO1xyXG4gIGNhcDU2OiBib29sZWFuO1xyXG4gIGNhcDU3OiBib29sZWFuO1xyXG4gIGNhcDU4OiBib29sZWFuO1xyXG4gIGNhcDU5OiBib29sZWFuO1xyXG4gIGNhcDYwOiBib29sZWFuO1xyXG4gIGNhcDYxOiBib29sZWFuO1xyXG4gIGNhcDYyOiBib29sZWFuO1xyXG4gIGNhcDYzOiBib29sZWFuO1xyXG4gIGNhcDY0OiBib29sZWFuO1xyXG4gIGNhcDY1OiBib29sZWFuO1xyXG4gIGNhcDY2OiBib29sZWFuO1xyXG4gIGNhcDY3OiBib29sZWFuO1xyXG4gIGNhcDY4OiBib29sZWFuO1xyXG4gIGNhcDY5OiBib29sZWFuO1xyXG4gIGNhcDcwOiBib29sZWFuO1xyXG4gIGNhcDcxOiBib29sZWFuO1xyXG4gIGNhcDcyOiBib29sZWFuO1xyXG4gIGNhcDczOiBib29sZWFuO1xyXG4gIGNhcDc0OiBib29sZWFuO1xyXG4gIGNhcDc1OiBib29sZWFuO1xyXG4gIGNhcDc2OiBib29sZWFuO1xyXG4gIGNhcDc3OiBib29sZWFuO1xyXG4gIGNhcDc4OiBib29sZWFuO1xyXG4gIGNhcDc5OiBib29sZWFuO1xyXG4gIGNhcDgwOiBib29sZWFuO1xyXG4gIGNhcDgxOiBib29sZWFuO1xyXG4gIGNhcDgyOiBib29sZWFuO1xyXG4gIGNhcDgzOiBib29sZWFuO1xyXG4gIGNhcDg0OiBib29sZWFuO1xyXG4gIGNhcDg1OiBib29sZWFuO1xyXG4gIGNhcDg2OiBib29sZWFuO1xyXG4gIGNhcDg3OiBib29sZWFuO1xyXG4gIGNhcDg4OiBib29sZWFuO1xyXG4gIGNhcDg5OiBib29sZWFuO1xyXG4gIGNhcDkwOiBib29sZWFuO1xyXG4gIGNhcDkxOiBib29sZWFuO1xyXG4gIGNhcDkyOiBib29sZWFuO1xyXG4gIGNhcDkzOiBib29sZWFuO1xyXG4gIGNhcDk0OiBib29sZWFuO1xyXG4gIGNhcDk1OiBib29sZWFuO1xyXG4gIGNhcDk2OiBib29sZWFuO1xyXG4gIGNhcDk3OiBib29sZWFuO1xyXG4gIGNhcDk4OiBib29sZWFuO1xyXG4gIGNhcDk5OiBib29sZWFuO1xyXG4gIGNhcDEwMDogYm9vbGVhbjtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBlbnVtIExvZ0xldmVsIHtcclxuICBBbGwgPSAwLFxyXG4gIERlYnVnID0gMSxcclxuICBJbmZvID0gMixcclxuICBXYXJuID0gMyxcclxuICBFcnJvciA9IDQsXHJcbiAgRmF0YWwgPSA1LFxyXG4gIE9mZiA9IDYsXHJcbn1cclxuIl19
@@ -0,0 +1,148 @@
1
+ export class Core {
2
+ static getClone(x) {
3
+ return JSON.parse(JSON.stringify(x));
4
+ }
5
+ static getNumber(value) {
6
+ if (value == null || value == "") {
7
+ return 0;
8
+ }
9
+ const onlyNumbers = value.replace(/[^\d.-]/g, '');
10
+ return onlyNumbers;
11
+ }
12
+ static getFirstDayOfMonth() {
13
+ const date = new Date();
14
+ return new Date(date.getFullYear(), date.getMonth(), 1);
15
+ }
16
+ static emailIsValid(email) {
17
+ // return /\S+@\S+\.\S+/.test(email)
18
+ return false;
19
+ }
20
+ static isValidUNCPath(path) {
21
+ // return /\\\\([a-zA-Z0-9_.$●-]+)\\([a-zA-Z0-9_.$●-]+).*/.test(path)
22
+ return false;
23
+ }
24
+ static isValidDate(date) {
25
+ var parsedDate = Date.parse(date);
26
+ if (isNaN(date) && !isNaN(parsedDate)) {
27
+ return true;
28
+ }
29
+ else {
30
+ return false;
31
+ }
32
+ }
33
+ static isValidEmailList(list) {
34
+ if (list.includes(";")) {
35
+ let emails = list.split(";");
36
+ for (var email of emails) {
37
+ if (this.emailIsValid(email) == false) {
38
+ return false;
39
+ }
40
+ }
41
+ }
42
+ else {
43
+ if (this.emailIsValid(list) == false) {
44
+ return false;
45
+ }
46
+ }
47
+ return true;
48
+ }
49
+ static isNumber(value) {
50
+ return ((value != null) &&
51
+ (value !== '') &&
52
+ !isNaN(Number(value.toString())));
53
+ }
54
+ static getDiff(startDate, endDate = Date()) {
55
+ var eventStartTime = new Date(startDate);
56
+ var eventEndTime = new Date(endDate);
57
+ var milliseconds = eventEndTime.valueOf() - eventStartTime.valueOf();
58
+ function numberEnding(number) {
59
+ if (number.toFixed() == '1') {
60
+ return '';
61
+ }
62
+ else {
63
+ return 's';
64
+ }
65
+ }
66
+ var minutes = (milliseconds / (1000 * 60));
67
+ var hours = (milliseconds / (1000 * 60 * 60));
68
+ var days = (milliseconds / (1000 * 60 * 60 * 24));
69
+ var weeks = (milliseconds / (1000 * 60 * 60 * 24 * 7));
70
+ var months = (milliseconds / (1000 * 60 * 60 * 24 * 7 * 4));
71
+ var years = (milliseconds / (1000 * 60 * 60 * 24 * 365));
72
+ if (years >= 1) {
73
+ return years.toFixed() + ' year' + numberEnding(years);
74
+ }
75
+ else if (months >= 1) {
76
+ return months.toFixed() + ' month' + numberEnding(months);
77
+ }
78
+ else if (weeks >= 1) {
79
+ return weeks.toFixed() + ' week' + numberEnding(weeks);
80
+ }
81
+ else if (days >= 1) {
82
+ return days.toFixed() + ' day' + numberEnding(days);
83
+ }
84
+ else if (hours >= 1) {
85
+ return hours.toFixed() + ' hour' + numberEnding(hours);
86
+ }
87
+ else if (minutes >= 1) {
88
+ return minutes.toFixed() + ' minute' + numberEnding(minutes);
89
+ }
90
+ else if (milliseconds >= (-1000 * 60)) {
91
+ return 'a minute';
92
+ }
93
+ else {
94
+ return 'N/A';
95
+ }
96
+ }
97
+ static nowDate(NoTime = false) {
98
+ if (NoTime) {
99
+ return this.getFormatedDate(Date(), true);
100
+ }
101
+ else {
102
+ return this.getFormatedDate(Date());
103
+ }
104
+ }
105
+ static getFormatedDate(dateString, NoTime = false) {
106
+ let d = new Date(dateString);
107
+ d.setHours(d.getHours() + 2);
108
+ if (NoTime == true) {
109
+ return d.toISOString().split('T')[0];
110
+ }
111
+ else {
112
+ return d.toISOString().split('.')[0];
113
+ }
114
+ }
115
+ static getFormatedDate2(d, NoTime = false) {
116
+ d.setHours(d.getHours() + 2);
117
+ if (NoTime == true) {
118
+ return d.toISOString().split('T')[0];
119
+ }
120
+ else {
121
+ return d.toISOString().split('.')[0];
122
+ }
123
+ }
124
+ static getBusinessDatesCount(startDate, endDate) {
125
+ var count = 0;
126
+ var _startDate = new Date(startDate);
127
+ var _endDate = new Date(endDate);
128
+ var curDate = _startDate;
129
+ while (curDate < _endDate) {
130
+ var dayOfWeek = curDate.getDay();
131
+ if (!(dayOfWeek == 6 || dayOfWeek == 0))
132
+ count++;
133
+ curDate.setDate(curDate.getDate() + 1);
134
+ }
135
+ return count;
136
+ }
137
+ }
138
+ Core.nullDate = "01 Jan 1969";
139
+ export class ApiResponse {
140
+ }
141
+ export class Constants {
142
+ }
143
+ Constants.AUTH_USER = 'a';
144
+ Constants.AUTH_NAME = 'b';
145
+ Constants.AUTH_ROLES = 'c';
146
+ Constants.AUTH_TOKEN = 'd';
147
+ Constants.AUTH_TOKEN_EXPIRE = 'e';
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGluQ29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jbGFzc2VzL1RpbkNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLElBQUk7SUFFUixNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFhO1FBRW5DLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxFQUFFO1lBQ2hDLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNsRCxPQUFPLFdBQVcsQ0FBQTtJQUNwQixDQUFDO0lBRU0sTUFBTSxDQUFDLGtCQUFrQjtRQUM5QixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLO1FBQzlCLG9DQUFvQztRQUNwQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQVk7UUFDdkMscUVBQXFFO1FBQ3JFLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSTtRQUU1QixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBR2xDLElBQUksS0FBSyxDQUFD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Q0FBQztnQkFBRSxLQUFLLEVBQUUsQ0FBQztZQUNqRCxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN4QztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7QUExSGEsYUFBUSxHQUFHLGFBQWEsQ0FBQTtBQStIeEMsTUFBTSxPQUFPLFdBQVc7Q0FJdkI7QUFFRCxNQUFNLE9BQU8sU0FBUzs7QUFDRyxtQkFBUyxHQUFHLEdBQUcsQ0FBQztBQUNoQixtQkFBUyxHQUFHLEdBQUcsQ0FBQztBQUNoQixvQkFBVSxHQUFHLEdBQUcsQ0FBQztBQUNqQixvQkFBVSxHQUFHLEdBQUcsQ0FBQztBQUNqQiwyQkFBaUIsR0FBRyxHQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQ29yZSB7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0Q2xvbmUoeCkge1xyXG4gICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoeCkpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldE51bWJlcih2YWx1ZTogc3RyaW5nKSB7XHJcblxyXG4gICAgaWYgKHZhbHVlID09IG51bGwgfHwgdmFsdWUgPT0gXCJcIikge1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBvbmx5TnVtYmVycyA9IHZhbHVlLnJlcGxhY2UoL1teXFxkLi1dL2csICcnKTtcclxuICAgIHJldHVybiBvbmx5TnVtYmVyc1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXRGaXJzdERheU9mTW9udGgoKSB7XHJcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcclxuICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGVtYWlsSXNWYWxpZChlbWFpbCkge1xyXG4gICAgLy8gcmV0dXJuIC9cXFMrQFxcUytcXC5cXFMrLy50ZXN0KGVtYWlsKVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBpc1ZhbGlkVU5DUGF0aChwYXRoOiBzdHJpbmcpIHtcclxuICAgIC8vIHJldHVybiAvXFxcXFxcXFwoW2EtekEtWjAtOV8uJOKXjy1dKylcXFxcKFthLXpBLVowLTlfLiTil48tXSspLiovLnRlc3QocGF0aClcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNWYWxpZERhdGUoZGF0ZSkge1xyXG5cclxuICAgIHZhciBwYXJzZWREYXRlID0gRGF0ZS5wYXJzZShkYXRlKTtcclxuXHJcblxyXG4gICAgaWYgKGlzTmFOKGRhdGUpICYmICFpc05hTihwYXJzZWREYXRlKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGlzVmFsaWRFbWFpbExpc3QobGlzdDogc3RyaW5nKSB7XHJcblxyXG4gICAgaWYgKGxpc3QuaW5jbHVkZXMoXCI7XCIpKSB7XHJcblxyXG4gICAgICBsZXQgZW1haWxzID0gbGlzdC5zcGxpdChcIjtcIilcclxuXHJcbiAgICAgIGZvciAodmFyIGVtYWlsIG9mIGVtYWlscykge1xyXG4gICAgICAgIGlmICh0aGlzLmVtYWlsSXNWYWxpZChlbWFpbCkgPT0gZmFsc2UpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgfSBlbHNlIHtcclxuXHJcbiAgICAgIGlmICh0aGlzLmVtYWlsSXNWYWxpZChsaXN0KSA9PSBmYWxzZSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIG51bGxEYXRlID0gXCIwMSBKYW4gMTk2OVwiXHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNOdW1iZXIodmFsdWU6IHN0cmluZyB8IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICgodmFsdWUgIT0gbnVsbCkgJiZcclxuICAgICAgKHZhbHVlICE9PSAnJykgJiZcclxuICAgICAgIWlzTmFOKE51bWJlcih2YWx1ZS50b1N0cmluZygpKSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXREaWZmKHN0YXJ0RGF0ZSwgZW5kRGF0ZSA9IERhdGUoKSkge1xyXG5cclxuICAgIHZhciBldmVudFN0YXJ0VGltZSA9IG5ldyBEYXRlKHN0YXJ0RGF0ZSk7XHJcbiAgICB2YXIgZXZlbnRFbmRUaW1lID0gbmV3IERhdGUoZW5kRGF0ZSk7XHJcbiAgICB2YXIgbWlsbGlzZWNvbmRzID0gZXZlbnRFbmRUaW1lLnZhbHVlT2YoKSAtIGV2ZW50U3RhcnRUaW1lLnZhbHVlT2YoKTtcclxuXHJcbiAgICBmdW5jdGlvbiBudW1iZXJFbmRpbmcobnVtYmVyOiBudW1iZXIpIHtcclxuXHJcbiAgICAgIGlmIChudW1iZXIudG9GaXhlZCgpID09ICcxJykge1xyXG4gICAgICAgIHJldHVybiAnJ1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAncyc7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgdmFyIG1pbnV0ZXMgPSAobWlsbGlzZWNvbmRzIC8gKDEwMDAgKiA2MCkpO1xyXG5cclxuICAgIHZhciBob3VyczogbnVtYmVyID0gKG1pbGxpc2Vjb25kcyAvICgxMDAwICogNjAgKiA2MCkpO1xyXG5cclxuICAgIHZhciBkYXlzID0gKG1pbGxpc2Vjb25kcyAvICgxMDAwICogNjAgKiA2MCAqIDI0KSk7XHJcblxyXG4gICAgdmFyIHdlZWtzOiBudW1iZXIgPSAobWlsbGlzZWNvbmRzIC8gKDEwMDAgKiA2MCAqIDYwICogMjQgKiA3KSk7XHJcblxyXG4gICAgdmFyIG1vbnRocyA9IChtaWxsaXNlY29uZHMgLyAoMTAwMCAqIDYwICogNjAgKiAyNCAqIDcgKiA0KSk7XHJcblxyXG4gICAgdmFyIHllYXJzID0gKG1pbGxpc2Vjb25kcyAvICgxMDAwICogNjAgKiA2MCAqIDI0ICogMzY1KSk7XHJcblxyXG5cclxuICAgIGlmICh5ZWFycyA+PSAxKSB7XHJcblxyXG4gICAgICByZXR1cm4geWVhcnMudG9GaXhlZCgpICsgJyB5ZWFyJyArIG51bWJlckVuZGluZyh5ZWFycyk7XHJcblxyXG4gICAgfSBlbHNlIGlmIChtb250aHMgPj0gMSkge1xyXG5cclxuICAgICAgcmV0dXJuIG1vbnRocy50b0ZpeGVkKCkgKyAnIG1vbnRoJyArIG51bWJlckVuZGluZyhtb250aHMpO1xyXG5cclxuICAgIH0gZWxzZSBpZiAod2Vla3MgPj0gMSkge1xyXG5cclxuICAgICAgcmV0dXJuIHdlZWtzLnRvRml4ZWQoKSArICcgd2VlaycgKyBudW1iZXJFbmRpbmcod2Vla3MpO1xyXG5cclxuICAgIH0gZWxzZSBpZiAoZGF5cyA+PSAxKSB7XHJcblxyXG4gICAgICByZXR1cm4gZGF5cy50b0ZpeGVkKCkgKyAnIGRheScgKyBudW1iZXJFbmRpbmcoZGF5cyk7XHJcblxyXG4gICAgfSBlbHNlIGlmIChob3VycyA+PSAxKSB7XHJcblxyXG4gICAgICByZXR1cm4gaG91cnMudG9GaXhlZCgpICsgJyBob3VyJyArIG51bWJlckVuZGluZyhob3Vycyk7XHJcblxyXG4gICAgfSBlbHNlIGlmIChtaW51dGVzID49IDEpIHtcclxuXHJcbiAgICAgIHJldHVybiBtaW51dGVzLnRvRml4ZWQoKSArICcgbWludXRlJyArIG51bWJlckVuZGluZyhtaW51dGVzKTtcclxuXHJcbiAgICB9IGVsc2UgaWYgKG1pbGxpc2Vjb25kcyA+PSAoLTEwMDAgKiA2MCkpIHtcclxuXHJcbiAgICAgIHJldHVybiAnYSBtaW51dGUnO1xyXG5cclxuICAgIH0gZWxzZSB7XHJcblxyXG4gICAgICByZXR1cm4gJ04vQSc7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgbm93RGF0ZShOb1RpbWU6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG5cclxuICAgIGlmIChOb1RpbWUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0Rm9ybWF0ZWREYXRlKERhdGUoKSwgdHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXRlZERhdGUoRGF0ZSgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0Rm9ybWF0ZWREYXRlKGRhdGVTdHJpbmc6IHN0cmluZywgTm9UaW1lOiBib29sZWFuID0gZmFsc2UpIHtcclxuXHJcbiAgICBsZXQgZDogRGF0ZSA9IG5ldyBEYXRlKGRhdGVTdHJpbmcpO1xyXG4gICAgZC5zZXRIb3VycyhkLmdldEhvdXJzKCkgKyAyKTtcclxuXHJcbiAgICBpZiAoTm9UaW1lID09IHRydWUpIHtcclxuICAgICAgcmV0dXJuIGQudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGQudG9JU09TdHJpbmcoKS5zcGxpdCgnLicpWzBdO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0Rm9ybWF0ZWREYXRlMihkIDogRGF0ZSwgTm9UaW1lOiBib29sZWFuID0gZmFsc2UpIHtcclxuXHJcblxyXG4gICAgZC5zZXRIb3VycyhkLmdldEhvdXJzKCkgKyAyKTtcclxuXHJcbiAgICBpZiAoTm9UaW1lID09IHRydWUpIHtcclxuICAgICAgcmV0dXJuIGQudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGQudG9JU09TdHJpbmcoKS5zcGxpdCgnLicpWzBdO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0QnVzaW5lc3NEYXRlc0NvdW50KHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcpIHtcclxuICAgIHZhciBjb3VudCA9IDA7XHJcbiAgICB2YXIgX3N0YXJ0RGF0ZSA9IG5ldyBEYXRlKHN0YXJ0RGF0ZSk7XHJcbiAgICB2YXIgX2VuZERhdGUgPSBuZXcgRGF0ZShlbmREYXRlKTtcclxuXHJcbiAgICB2YXIgY3VyRGF0ZSA9IF9zdGFydERhdGU7XHJcblxyXG4gICAgd2hpbGUgKGN1ckRhdGUgPCBfZW5kRGF0ZSkge1xyXG4gICAgICB2YXIgZGF5T2ZXZWVrID0gY3VyRGF0ZS5nZXREYXkoKTtcclxuICAgICAgaWYgKCEoZGF5T2ZXZWVrID09IDYgfHwgZGF5T2ZXZWVrID09IDApKSBjb3VudCsrO1xyXG4gICAgICBjdXJEYXRlLnNldERhdGUoY3VyRGF0ZS5nZXREYXRlKCkgKyAxKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY291bnQ7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBBcGlSZXNwb25zZSB7XHJcbiAgc3VjY2VzczogYm9vbGVhbjtcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgZGF0YTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENvbnN0YW50cyB7XHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBVVRIX1VTRVIgPSAnYSc7XHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBVVRIX05BTUUgPSAnYic7XHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBVVRIX1JPTEVTID0gJ2MnO1xyXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQVVUSF9UT0tFTiA9ICdkJztcclxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFVVEhfVE9LRU5fRVhQSVJFID0gJ2UnO1xyXG59XHJcblxyXG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/material/form-field";
5
+ export class ActivityComponent {
6
+ constructor() {
7
+ this.notes = new Array();
8
+ this.notesMessage = "Empty";
9
+ this.title = "Notes";
10
+ }
11
+ ngOnInit() {
12
+ }
13
+ }
14
+ ActivityComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ActivityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
+ ActivityComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ActivityComponent, selector: "spa-activity", inputs: { notes: "notes", title: "title" }, ngImport: i0, template: "\r\n <div class=\"tin-input-row mt-3\" *ngIf=\"title != ''\">\r\n <mat-label style=\"font-size: 20px; font-weight: 300\" > {{title}}</mat-label >\r\n </div>\r\n\r\n <ul *ngIf=\"notes && notes.length>0\" class=\"list-group list-group-flush\" style=\"max-height:350px; margin-left:5px\">\r\n\r\n <li *ngFor=\"let note of notes\" class=\"list-group-item list-group-item-action flex-column align-items-start\">\r\n <div class=\"d-flex w-100 justify-content-between\">\r\n <div class=\"mb-0\">{{note.createdByName}}</div>\r\n <!-- <small class=\"text-muted\">{{note.expr1}} ago</small> -->\r\n </div>\r\n\r\n <small>{{note.details}} (<em>{{note.createdDate | date: 'dd MMM yyyy HH:mm'}}</em>) </small>\r\n </li>\r\n\r\n\r\n </ul>\r\n\r\n <div *ngIf=\"notes && notes.length==0\" class=\"d-flex justify-content-center row align-items-center\" style=\"max-height:200px\">\r\n\r\n No {{title.toLowerCase()}}\r\n\r\n </div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "pipe", type: i1.DatePipe, name: "date" }] });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ActivityComponent, decorators: [{
17
+ type: Component,
18
+ args: [{ selector: 'spa-activity', template: "\r\n <div class=\"tin-input-row mt-3\" *ngIf=\"title != ''\">\r\n <mat-label style=\"font-size: 20px; font-weight: 300\" > {{title}}</mat-label >\r\n </div>\r\n\r\n <ul *ngIf=\"notes && notes.length>0\" class=\"list-group list-group-flush\" style=\"max-height:350px; margin-left:5px\">\r\n\r\n <li *ngFor=\"let note of notes\" class=\"list-group-item list-group-item-action flex-column align-items-start\">\r\n <div class=\"d-flex w-100 justify-content-between\">\r\n <div class=\"mb-0\">{{note.createdByName}}</div>\r\n <!-- <small class=\"text-muted\">{{note.expr1}} ago</small> -->\r\n </div>\r\n\r\n <small>{{note.details}} (<em>{{note.createdDate | date: 'dd MMM yyyy HH:mm'}}</em>) </small>\r\n </li>\r\n\r\n\r\n </ul>\r\n\r\n <div *ngIf=\"notes && notes.length==0\" class=\"d-flex justify-content-center row align-items-center\" style=\"max-height:200px\">\r\n\r\n No {{title.toLowerCase()}}\r\n\r\n </div>\r\n" }]
19
+ }], ctorParameters: function () { return []; }, propDecorators: { notes: [{
20
+ type: Input
21
+ }], title: [{
22
+ type: Input
23
+ }] } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvYWN0aXZpdHkvYWN0aXZpdHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvYWN0aXZpdHkvYWN0aXZpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPekQsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QjtRQUtTLFVBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQzdCLGlCQUFZLEdBQVcsT0FBTyxDQUFDO1FBQ3RCLFVBQUssR0FBRyxPQUFPLENBQUE7SUFQUixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDOzs4R0FMVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixnR0NQOUIsb2dDQXdCQTsyRkRqQmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGNBQWM7MEVBV2YsS0FBSztzQkFBYixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcGEtYWN0aXZpdHknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpdml0eS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aXZpdHkuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpdml0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgbm90ZXMgPSBuZXcgQXJyYXkoKTtcclxuICBub3Rlc01lc3NhZ2U6IHN0cmluZyA9IFwiRW1wdHlcIjtcclxuICBASW5wdXQoKSB0aXRsZSA9IFwiTm90ZXNcIlxyXG5cclxufVxyXG4iLCJcclxuICAgICAgPGRpdiBjbGFzcz1cInRpbi1pbnB1dC1yb3cgbXQtM1wiICpuZ0lmPVwidGl0bGUgIT0gJydcIj5cclxuICAgICAgICA8bWF0LWxhYmVsIHN0eWxlPVwiZm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogMzAwXCIgPiAge3t0aXRsZX19PC9tYXQtbGFiZWwgPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDx1bCAqbmdJZj1cIm5vdGVzICYmIG5vdGVzLmxlbmd0aD4wXCIgY2xhc3M9XCJsaXN0LWdyb3VwIGxpc3QtZ3JvdXAtZmx1c2hcIiBzdHlsZT1cIm1heC1oZWlnaHQ6MzUwcHg7IG1hcmdpbi1sZWZ0OjVweFwiPlxyXG5cclxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IG5vdGUgb2Ygbm90ZXNcIiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbSAgbGlzdC1ncm91cC1pdGVtLWFjdGlvbiBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1zdGFydFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCB3LTEwMCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMFwiPnt7bm90ZS5jcmVhdGVkQnlOYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSA8c21hbGwgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+e3tub3RlLmV4cHIxfX0gYWdvPC9zbWFsbD4gLS0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8c21hbGw+e3tub3RlLmRldGFpbHN9fSAoPGVtPnt7bm90ZS5jcmVhdGVkRGF0ZSB8IGRhdGU6ICdkZCBNTU0geXl5eSBISDptbSd9fTwvZW0+KSA8L3NtYWxsPlxyXG4gICAgICAgIDwvbGk+XHJcblxyXG5cclxuICAgICAgPC91bD5cclxuXHJcbiAgICAgIDxkaXYgKm5nSWY9XCJub3RlcyAmJiBub3Rlcy5sZW5ndGg9PTBcIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT1cIm1heC1oZWlnaHQ6MjAwcHhcIj5cclxuXHJcbiAgICAgICAgTm8ge3t0aXRsZS50b0xvd2VyQ2FzZSgpfX1cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,105 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/material/button";
5
+ import * as i3 from "@angular/material/icon";
6
+ import * as i4 from "@angular/material/tooltip";
7
+ export class AttachComponent {
8
+ constructor() {
9
+ this.message = "Drag and drop files here";
10
+ this.files = [];
11
+ this.filesChange = new EventEmitter();
12
+ this.upload = new EventEmitter();
13
+ this.enableUpload = false;
14
+ }
15
+ ngOnInit() {
16
+ }
17
+ /**
18
+ * on file drop handler
19
+ */
20
+ onFileDropped($event) {
21
+ this.prepareFilesList($event);
22
+ }
23
+ /**
24
+ * handle file from browsing
25
+ */
26
+ fileBrowseHandler(event) {
27
+ let files = event.target.files;
28
+ this.prepareFilesList(files);
29
+ }
30
+ /**
31
+ * Delete file from files list
32
+ * @param index (File index)
33
+ */
34
+ deleteFile(index) {
35
+ this.files.splice(index, 1);
36
+ }
37
+ /**
38
+ * Simulate the upload process
39
+ */
40
+ // uploadFilesSimulator(index: number) {
41
+ // setTimeout(() => {
42
+ // if (index === this.files.length) {
43
+ // return;
44
+ // } else {
45
+ // const progressInterval = setInterval(() => {
46
+ // if (this.files[index].progress === 100) {
47
+ // clearInterval(progressInterval);
48
+ // this.uploadFilesSimulator(index + 1);
49
+ // } else {
50
+ // this.files[index].progress += 5;
51
+ // }
52
+ // }, 200);
53
+ // }
54
+ // }, 1000);
55
+ // }
56
+ /**
57
+ * Convert Files list to normal array list
58
+ * @param files (Files List)
59
+ */
60
+ prepareFilesList(files) {
61
+ for (const item of files) {
62
+ item.progress = 0;
63
+ this.files.push(item);
64
+ }
65
+ // this.uploadFilesSimulator(0);
66
+ }
67
+ /**
68
+ * format bytes
69
+ * @param bytes (File size in bytes)
70
+ * @param decimals (Decimals point)
71
+ */
72
+ formatBytes(bytes, decimals) {
73
+ if (bytes === 0) {
74
+ return '0 Bytes';
75
+ }
76
+ const k = 1024;
77
+ const dm = decimals <= 0 ? 0 : decimals || 2;
78
+ const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
79
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
80
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
81
+ }
82
+ uploaded() {
83
+ this.upload.emit();
84
+ }
85
+ filesChanged() {
86
+ this.filesChange.emit(this.files);
87
+ }
88
+ }
89
+ AttachComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AttachComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
90
+ AttachComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AttachComponent, selector: "spa-attach", inputs: { message: "message", files: "files", enableUpload: "enableUpload" }, outputs: { filesChange: "filesChange", upload: "upload" }, ngImport: i0, template: "<div class=\"tin-input-row\" style=\"width: 100%;\">\r\n\r\n <div class=\"col\">\r\n <div class=\"container\" appDnd (fileDropped)=\"onFileDropped($event)\">\r\n <input type=\"file\" #fileDropRef id=\"fileDropRef\" multiple (change)=\"fileBrowseHandler($event)\" />\r\n <h4>{{message}}</h4>\r\n <h4>or</h4>\r\n <label for=\"fileDropRef\">Click to Browse</label>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <div class=\"files-list \">\r\n <div class=\"single-file \" style=\"width: 100%;\" *ngFor=\"let file of files; let i = index\">\r\n\r\n <div class=\"tin-input-row info\" >\r\n <h4 class=\"name\">\r\n {{ file?.name }}\r\n </h4>\r\n <p class=\"size\">\r\n {{ formatBytes(file?.size, 2) }}\r\n </p>\r\n </div>\r\n\r\n <div class=\"delete\" (click)=\"deleteFile(i)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"18\" viewBox=\"0 0 14 18\">\r\n <path fill=\"#B1B1B1\" fill-rule=\"nonzero\"\r\n d=\"M1 16c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v10zm3.17-7.83a.996.996 0 0 1 1.41 0L7 9.59l1.42-1.42a.996.996 0 1 1 1.41 1.41L8.41 11l1.42 1.42a.996.996 0 1 1-1.41 1.41L7 12.41l-1.42 1.42a.996.996 0 1 1-1.41-1.41L5.59 11 4.17 9.58a.996.996 0 0 1 0-1.41zM10.5 1L9.79.29C9.61.11 9.35 0 9.09 0H4.91c-.26 0-.52.11-.7.29L3.5 1H1c-.55 0-1 .45-1 1s.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1h-2.5z\" />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"files.length > 0 && enableUpload\" class=\"tin-input-row d-flex justify-content-center\" style=\"width: 100%;\" >\r\n <button mat-button color=\"primary\" (click)=\"uploaded()\" matTooltip=\"Upload New Documents\" matTooltipPosition=\"above\" ><mat-icon>file_upload</mat-icon> Upload</button>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", styles: [".container{width:100%;height:200px;padding:2rem;text-align:center;border:dashed 2px #2a7b94;position:relative;margin:0 auto}.container input{opacity:0;position:absolute;z-index:2;width:100%;height:100%;top:0;left:0}.container label{color:#fff;width:183px;height:44px;border-radius:21.5px;background-color:#db202f;padding:8px 16px}.container h3{font-size:20px;font-weight:600;color:#38424c}.fileover{animation:shake 1s;animation-iteration-count:infinite}.files-list{margin-top:1.5rem}.files-list .single-file{padding:.5rem;justify-content:space-between;align-items:center;border:dashed 1px #1c824d;margin-bottom:1rem;margin-right:1rem;display:flex;flex-grow:1}.files-list .single-file .delete{display:flex;margin-left:.5rem;cursor:pointer;align-self:flex-end}.files-list .single-file .name{font-size:14px;font-weight:500;color:#353f4a;margin:0}.files-list .single-file .size{font-size:12px;font-weight:500;color:#a4a4a4;margin:0;margin-left:1rem}.files-list .single-file .info{width:100%}@keyframes shake{0%{transform:translate(1px,1px) rotate(0)}10%{transform:translate(-1px,-2px) rotate(-1deg)}20%{transform:translate(-3px) rotate(1deg)}30%{transform:translate(3px,2px) rotate(0)}40%{transform:translate(1px,-1px) rotate(1deg)}50%{transform:translate(-1px,2px) rotate(-1deg)}60%{transform:translate(-3px,1px) rotate(0)}70%{transform:translate(3px,1px) rotate(-1deg)}80%{transform:translate(-1px,-1px) rotate(1deg)}90%{transform:translate(1px,2px) rotate(0)}to{transform:translate(1px,-2px) rotate(-1deg)}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.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"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AttachComponent, decorators: [{
92
+ type: Component,
93
+ args: [{ selector: 'spa-attach', template: "<div class=\"tin-input-row\" style=\"width: 100%;\">\r\n\r\n <div class=\"col\">\r\n <div class=\"container\" appDnd (fileDropped)=\"onFileDropped($event)\">\r\n <input type=\"file\" #fileDropRef id=\"fileDropRef\" multiple (change)=\"fileBrowseHandler($event)\" />\r\n <h4>{{message}}</h4>\r\n <h4>or</h4>\r\n <label for=\"fileDropRef\">Click to Browse</label>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <div class=\"files-list \">\r\n <div class=\"single-file \" style=\"width: 100%;\" *ngFor=\"let file of files; let i = index\">\r\n\r\n <div class=\"tin-input-row info\" >\r\n <h4 class=\"name\">\r\n {{ file?.name }}\r\n </h4>\r\n <p class=\"size\">\r\n {{ formatBytes(file?.size, 2) }}\r\n </p>\r\n </div>\r\n\r\n <div class=\"delete\" (click)=\"deleteFile(i)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"18\" viewBox=\"0 0 14 18\">\r\n <path fill=\"#B1B1B1\" fill-rule=\"nonzero\"\r\n d=\"M1 16c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v10zm3.17-7.83a.996.996 0 0 1 1.41 0L7 9.59l1.42-1.42a.996.996 0 1 1 1.41 1.41L8.41 11l1.42 1.42a.996.996 0 1 1-1.41 1.41L7 12.41l-1.42 1.42a.996.996 0 1 1-1.41-1.41L5.59 11 4.17 9.58a.996.996 0 0 1 0-1.41zM10.5 1L9.79.29C9.61.11 9.35 0 9.09 0H4.91c-.26 0-.52.11-.7.29L3.5 1H1c-.55 0-1 .45-1 1s.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1h-2.5z\" />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"files.length > 0 && enableUpload\" class=\"tin-input-row d-flex justify-content-center\" style=\"width: 100%;\" >\r\n <button mat-button color=\"primary\" (click)=\"uploaded()\" matTooltip=\"Upload New Documents\" matTooltipPosition=\"above\" ><mat-icon>file_upload</mat-icon> Upload</button>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", styles: [".container{width:100%;height:200px;padding:2rem;text-align:center;border:dashed 2px #2a7b94;position:relative;margin:0 auto}.container input{opacity:0;position:absolute;z-index:2;width:100%;height:100%;top:0;left:0}.container label{color:#fff;width:183px;height:44px;border-radius:21.5px;background-color:#db202f;padding:8px 16px}.container h3{font-size:20px;font-weight:600;color:#38424c}.fileover{animation:shake 1s;animation-iteration-count:infinite}.files-list{margin-top:1.5rem}.files-list .single-file{padding:.5rem;justify-content:space-between;align-items:center;border:dashed 1px #1c824d;margin-bottom:1rem;margin-right:1rem;display:flex;flex-grow:1}.files-list .single-file .delete{display:flex;margin-left:.5rem;cursor:pointer;align-self:flex-end}.files-list .single-file .name{font-size:14px;font-weight:500;color:#353f4a;margin:0}.files-list .single-file .size{font-size:12px;font-weight:500;color:#a4a4a4;margin:0;margin-left:1rem}.files-list .single-file .info{width:100%}@keyframes shake{0%{transform:translate(1px,1px) rotate(0)}10%{transform:translate(-1px,-2px) rotate(-1deg)}20%{transform:translate(-3px) rotate(1deg)}30%{transform:translate(3px,2px) rotate(0)}40%{transform:translate(1px,-1px) rotate(1deg)}50%{transform:translate(-1px,2px) rotate(-1deg)}60%{transform:translate(-3px,1px) rotate(0)}70%{transform:translate(3px,1px) rotate(-1deg)}80%{transform:translate(-1px,-1px) rotate(1deg)}90%{transform:translate(1px,2px) rotate(0)}to{transform:translate(1px,-2px) rotate(-1deg)}}\n"] }]
94
+ }], ctorParameters: function () { return []; }, propDecorators: { message: [{
95
+ type: Input
96
+ }], files: [{
97
+ type: Input
98
+ }], filesChange: [{
99
+ type: Output
100
+ }], upload: [{
101
+ type: Output
102
+ }], enableUpload: [{
103
+ type: Input
104
+ }] } });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL2F0dGFjaC9hdHRhY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvYXR0YWNoL2F0dGFjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRL0UsTUFBTSxPQUFPLGVBQWU7SUFFMUI7UUFLUyxZQUFPLEdBQUcsMEJBQTBCLENBQUE7UUFDcEMsVUFBSyxHQUFVLEVBQUUsQ0FBQztRQUNqQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHN0IsaUJBQVksR0FBRyxLQUFLLENBQUM7SUFYZCxDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO0lBV0Q7O09BRUc7SUFDSCxhQUFhLENBQUMsTUFBTTtRQUNsQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLENBQUMsS0FBSztRQUNyQixJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCx3Q0FBd0M7SUFDeEMsdUJBQXVCO0lBQ3ZCLHlDQUF5QztJQUN6QyxnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLHFEQUFxRDtJQUNyRCxvREFBb0Q7SUFDcEQsNkNBQTZDO0lBQzdDLGtEQUFrRDtJQUNsRCxtQkFBbUI7SUFDbkIsNkNBQTZDO0lBQzdDLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsUUFBUTtJQUNSLGNBQWM7SUFDZCxJQUFJO0lBRUo7OztPQUdHO0lBQ0gsZ0JBQWdCLENBQUMsS0FBaUI7UUFDaEMsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkI7UUFDRCxnQ0FBZ0M7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsS0FBSyxFQUFFLFFBQVE7UUFDekIsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ2YsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDZixNQUFNLEVBQUUsR0FBRyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDN0MsTUFBTSxLQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEQsT0FBTyxVQUFVLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs0R0E3RlUsZUFBZTtnR0FBZixlQUFlLDJMQ1I1Qiw4NERBdUNBOzJGRC9CYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVk7MEVBV2IsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFHRSxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLWF0dGFjaCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2F0dGFjaC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXR0YWNoLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEF0dGFjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgbWVzc2FnZSA9IFwiRHJhZyBhbmQgZHJvcCBmaWxlcyBoZXJlXCJcclxuICBASW5wdXQoKSBmaWxlczogYW55W10gPSBbXTtcclxuICBAT3V0cHV0KCkgZmlsZXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHVwbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcblxyXG4gIEBJbnB1dCgpIGVuYWJsZVVwbG9hZCA9IGZhbHNlO1xyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogb24gZmlsZSBkcm9wIGhhbmRsZXJcclxuICAgKi9cclxuICBvbkZpbGVEcm9wcGVkKCRldmVudCkge1xyXG4gICAgdGhpcy5wcmVwYXJlRmlsZXNMaXN0KCRldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBoYW5kbGUgZmlsZSBmcm9tIGJyb3dzaW5nXHJcbiAgICovXHJcbiAgZmlsZUJyb3dzZUhhbmRsZXIoZXZlbnQpIHtcclxuICAgIGxldCBmaWxlcyA9IGV2ZW50LnRhcmdldC5maWxlcztcclxuICAgIHRoaXMucHJlcGFyZUZpbGVzTGlzdChmaWxlcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGUgZmlsZSBmcm9tIGZpbGVzIGxpc3RcclxuICAgKiBAcGFyYW0gaW5kZXggKEZpbGUgaW5kZXgpXHJcbiAgICovXHJcbiAgZGVsZXRlRmlsZShpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmZpbGVzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTaW11bGF0ZSB0aGUgdXBsb2FkIHByb2Nlc3NcclxuICAgKi9cclxuICAvLyB1cGxvYWRGaWxlc1NpbXVsYXRvcihpbmRleDogbnVtYmVyKSB7XHJcbiAgLy8gICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAvLyAgICAgaWYgKGluZGV4ID09PSB0aGlzLmZpbGVzLmxlbmd0aCkge1xyXG4gIC8vICAgICAgIHJldHVybjtcclxuICAvLyAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICBjb25zdCBwcm9ncmVzc0ludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gIC8vICAgICAgICAgaWYgKHRoaXMuZmlsZXNbaW5kZXhdLnByb2dyZXNzID09PSAxMDApIHtcclxuICAvLyAgICAgICAgICAgY2xlYXJJbnRlcnZhbChwcm9ncmVzc0ludGVydmFsKTtcclxuICAvLyAgICAgICAgICAgdGhpcy51cGxvYWRGaWxlc1NpbXVsYXRvcihpbmRleCArIDEpO1xyXG4gIC8vICAgICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgICAgdGhpcy5maWxlc1tpbmRleF0ucHJvZ3Jlc3MgKz0gNTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9LCAyMDApO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9LCAxMDAwKTtcclxuICAvLyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnQgRmlsZXMgbGlzdCB0byBub3JtYWwgYXJyYXkgbGlzdFxyXG4gICAqIEBwYXJhbSBmaWxlcyAoRmlsZXMgTGlzdClcclxuICAgKi9cclxuICBwcmVwYXJlRmlsZXNMaXN0KGZpbGVzOiBBcnJheTxhbnk+KSB7XHJcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgZmlsZXMpIHtcclxuICAgICAgaXRlbS5wcm9ncmVzcyA9IDA7XHJcbiAgICAgIHRoaXMuZmlsZXMucHVzaChpdGVtKTtcclxuICAgIH1cclxuICAgIC8vIHRoaXMudXBsb2FkRmlsZXNTaW11bGF0b3IoMCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBmb3JtYXQgYnl0ZXNcclxuICAgKiBAcGFyYW0gYnl0ZXMgKEZpbGUgc2l6ZSBpbiBieXRlcylcclxuICAgKiBAcGFyYW0gZGVjaW1hbHMgKERlY2ltYWxzIHBvaW50KVxyXG4gICAqL1xyXG4gIGZvcm1hdEJ5dGVzKGJ5dGVzLCBkZWNpbWFscykge1xyXG4gICAgaWYgKGJ5dGVzID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAnMCBCeXRlcyc7XHJcbiAgICB9XHJcbiAgICBjb25zdCBrID0gMTAyNDtcclxuICAgIGNvbnN0IGRtID0gZGVjaW1hbHMgPD0gMCA/IDAgOiBkZWNpbWFscyB8fCAyO1xyXG4gICAgY29uc3Qgc2l6ZXMgPSBbJ0J5dGVzJywgJ0tCJywgJ01CJywgJ0dCJywgJ1RCJywgJ1BCJywgJ0VCJywgJ1pCJywgJ1lCJ107XHJcbiAgICBjb25zdCBpID0gTWF0aC5mbG9vcihNYXRoLmxvZyhieXRlcykgLyBNYXRoLmxvZyhrKSk7XHJcbiAgICByZXR1cm4gcGFyc2VGbG9hdCgoYnl0ZXMgLyBNYXRoLnBvdyhrLCBpKSkudG9GaXhlZChkbSkpICsgJyAnICsgc2l6ZXNbaV07XHJcbiAgfVxyXG5cclxuICB1cGxvYWRlZCgpe1xyXG4gICAgdGhpcy51cGxvYWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgZmlsZXNDaGFuZ2VkKCl7XHJcbiAgICB0aGlzLmZpbGVzQ2hhbmdlLmVtaXQodGhpcy5maWxlcyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0aW4taW5wdXQtcm93XCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIGFwcERuZCAoZmlsZURyb3BwZWQpPVwib25GaWxlRHJvcHBlZCgkZXZlbnQpXCI+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlRHJvcFJlZiBpZD1cImZpbGVEcm9wUmVmXCIgbXVsdGlwbGUgKGNoYW5nZSk9XCJmaWxlQnJvd3NlSGFuZGxlcigkZXZlbnQpXCIgLz5cclxuICAgICAgPGg0Pnt7bWVzc2FnZX19PC9oND5cclxuICAgICAgPGg0Pm9yPC9oND5cclxuICAgICAgPGxhYmVsIGZvcj1cImZpbGVEcm9wUmVmXCI+Q2xpY2sgdG8gQnJvd3NlPC9sYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsZXMtbGlzdCBcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNpbmdsZS1maWxlIFwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgKm5nRm9yPVwibGV0IGZpbGUgb2YgZmlsZXM7IGxldCBpID0gaW5kZXhcIj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRpbi1pbnB1dC1yb3cgaW5mb1wiID5cclxuICAgICAgICAgIDxoNCBjbGFzcz1cIm5hbWVcIj5cclxuICAgICAgICAgICAge3sgZmlsZT8ubmFtZSB9fVxyXG4gICAgICAgICAgPC9oND5cclxuICAgICAgICAgIDxwIGNsYXNzPVwic2l6ZVwiPlxyXG4gICAgICAgICAgICB7eyBmb3JtYXRCeXRlcyhmaWxlPy5zaXplLCAyKSB9fVxyXG4gICAgICAgICAgPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVsZXRlXCIgKGNsaWNrKT1cImRlbGV0ZUZpbGUoaSlcIj5cclxuICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTQgMThcIj5cclxuICAgICAgICAgICAgPHBhdGggZmlsbD1cIiNCMUIxQjFcIiBmaWxsLXJ1bGU9XCJub256ZXJvXCJcclxuICAgICAgICAgICAgICBkPVwiTTEgMTZjMCAxLjEuOSAyIDIgMmg4YzEuMSAwIDItLjkgMi0yVjZjMC0xLjEtLjktMi0yLTJIM2MtMS4xIDAtMiAuOS0yIDJ2MTB6bTMuMTctNy44M2EuOTk2Ljk5NiAwIDAgMSAxLjQxIDBMNyA5LjU5bDEuNDItMS40MmEuOTk2Ljk5NiAwIDEgMSAxLjQxIDEuNDFMOC40MSAxMWwxLjQyIDEuNDJhLjk5Ni45OTYgMCAxIDEtMS40MSAxLjQxTDcgMTIuNDFsLTEuNDIgMS40MmEuOTk2Ljk5NiAwIDEgMS0xLjQxLTEuNDFMNS41OSAxMSA0LjE3IDkuNThhLjk5Ni45OTYgMCAwIDEgMC0xLjQxek0xMC41IDFMOS43OS4yOUM5LjYxLjExIDkuMzUgMCA5LjA5IDBINC45MWMtLjI2IDAtLjUyLjExLS43LjI5TDMuNSAxSDFjLS41NSAwLTEgLjQ1LTEgMXMuNDUgMSAxIDFoMTJjLjU1IDAgMS0uNDUgMS0xcy0uNDUtMS0xLTFoLTIuNXpcIiAvPlxyXG4gICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cImZpbGVzLmxlbmd0aCA+IDAgJiYgZW5hYmxlVXBsb2FkXCIgY2xhc3M9XCJ0aW4taW5wdXQtcm93IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiA+XHJcbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwidXBsb2FkZWQoKVwiIG1hdFRvb2x0aXA9XCJVcGxvYWQgTmV3IERvY3VtZW50c1wiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgID48bWF0LWljb24+ZmlsZV91cGxvYWQ8L21hdC1pY29uPiBVcGxvYWQ8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==