@bravobit/bb-foundation 0.20.2 → 0.21.1

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 (259) hide show
  1. package/auth/{bravobit-bb-foundation-auth.d.ts → index.d.ts} +0 -0
  2. package/auth/lib/directives/authenticated.directive.d.ts +1 -1
  3. package/auth/lib/directives/permission.directive.d.ts +1 -1
  4. package/auth/lib/directives/role.directive.d.ts +1 -1
  5. package/collections/{bravobit-bb-foundation-collections.d.ts → index.d.ts} +0 -0
  6. package/collections/lib/collection.d.ts +6 -6
  7. package/collections/lib/components/collections-pager/collections-pager.component.d.ts +1 -1
  8. package/collections/lib/components/collections-viewer/collections-viewer.component.d.ts +1 -1
  9. package/collections/lib/components/collections.directive.d.ts +4 -4
  10. package/controls/{bravobit-bb-foundation-controls.d.ts → index.d.ts} +0 -0
  11. package/controls/lib/checkbox/checkbox/checkbox.component.d.ts +10 -10
  12. package/controls/lib/checkbox/checkbox-group/checkbox-group.component.d.ts +9 -5
  13. package/dashboard/{bravobit-bb-foundation-dashboard.d.ts → index.d.ts} +0 -0
  14. package/dashboard/lib/dashboard/dashboard.component.d.ts +1 -1
  15. package/dashboard/lib/dashboard-header/dashboard-header.component.d.ts +1 -1
  16. package/dashboard/lib/dashboard-menu/dashboard-menu.component.d.ts +1 -1
  17. package/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.d.ts +1 -1
  18. package/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.d.ts +1 -1
  19. package/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.d.ts +1 -1
  20. package/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.d.ts +1 -1
  21. package/dialog/{bravobit-bb-foundation-dialog.d.ts → index.d.ts} +0 -0
  22. package/dialog/lib/dialog-actions/dialog-actions.component.d.ts +1 -1
  23. package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +1 -1
  24. package/dialog/lib/dialog-container/dialog-container.component.d.ts +1 -1
  25. package/dialog/lib/dialog-header/dialog-header.component.d.ts +1 -1
  26. package/dialog/lib/dialog-link/dialog-link.component.d.ts +1 -1
  27. package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +1 -1
  28. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +1 -1
  29. package/dialog/lib/dialog.insertion.d.ts +1 -1
  30. package/elements/{bravobit-bb-foundation-elements.d.ts → index.d.ts} +0 -0
  31. package/elements/lib/avatar/avatar.component.d.ts +1 -1
  32. package/elements/lib/button/button.component.d.ts +2 -2
  33. package/elements/lib/checkbox/checkbox.component.d.ts +1 -1
  34. package/elements/lib/date-picker/date-picker.component.d.ts +2 -2
  35. package/elements/lib/directives/addon.directive.d.ts +2 -2
  36. package/elements/lib/directives/autosize.directive.d.ts +1 -1
  37. package/elements/lib/directives/focus-trap.directive.d.ts +1 -1
  38. package/elements/lib/directives/focus.directive.d.ts +1 -1
  39. package/elements/lib/directives/form-submit.directive.d.ts +1 -1
  40. package/elements/lib/directives/input.directive.d.ts +2 -2
  41. package/elements/lib/directives/template.directive.d.ts +1 -1
  42. package/elements/lib/dropdown/dropdown.component.d.ts +2 -2
  43. package/elements/lib/file-picker/file-picker.component.d.ts +2 -2
  44. package/elements/lib/form-control/form-control.component.d.ts +1 -1
  45. package/elements/lib/form-error/form-error.component.d.ts +1 -1
  46. package/elements/lib/form-group/form-group.component.d.ts +1 -1
  47. package/elements/lib/icon/icon.component.d.ts +1 -1
  48. package/elements/lib/image-picker/image-picker.component.d.ts +1 -1
  49. package/elements/lib/pipes/file-image.pipe.d.ts +1 -1
  50. package/elements/lib/pipes/file-size.pipe.d.ts +1 -1
  51. package/elements/lib/pipes/relative-time.pipe.d.ts +1 -1
  52. package/elements/lib/spinner/spinner.component.d.ts +1 -1
  53. package/elements/lib/tag/tag.component.d.ts +1 -1
  54. package/esm2020/auth/lib/auth.interceptor.mjs +3 -3
  55. package/esm2020/auth/lib/auth.module.mjs +6 -6
  56. package/esm2020/auth/lib/auth.service.mjs +5 -5
  57. package/esm2020/auth/lib/directives/authenticated.directive.mjs +3 -3
  58. package/esm2020/auth/lib/directives/permission.directive.mjs +3 -3
  59. package/esm2020/auth/lib/directives/role.directive.mjs +3 -3
  60. package/esm2020/auth/lib/guards/anonymous.guard.mjs +3 -3
  61. package/esm2020/auth/lib/guards/authenticated.guard.mjs +3 -3
  62. package/esm2020/auth/lib/helpers/mapper.helper.mjs +3 -3
  63. package/esm2020/auth/lib/permissions.service.mjs +3 -3
  64. package/esm2020/collections/lib/collection.mjs +5 -5
  65. package/esm2020/collections/lib/collections.module.mjs +5 -5
  66. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +3 -3
  67. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +3 -3
  68. package/esm2020/collections/lib/components/collections.directive.mjs +12 -12
  69. package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +6 -6
  70. package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +19 -6
  71. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +5 -5
  72. package/esm2020/controls/lib/controls.module.mjs +5 -5
  73. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +3 -3
  74. package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
  75. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
  76. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +3 -3
  77. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +3 -3
  78. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +5 -5
  79. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +3 -3
  80. package/esm2020/dashboard/lib/dashboard.module.mjs +5 -5
  81. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
  82. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +8 -8
  83. package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +4 -4
  84. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +3 -3
  85. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +3 -3
  86. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +3 -3
  87. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +3 -3
  88. package/esm2020/dialog/lib/dialog.insertion.mjs +3 -3
  89. package/esm2020/dialog/lib/dialog.module.mjs +7 -9
  90. package/esm2020/dialog/lib/dialog.service.mjs +3 -3
  91. package/esm2020/elements/lib/avatar/avatar.component.mjs +3 -3
  92. package/esm2020/elements/lib/button/button.component.mjs +6 -6
  93. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +5 -5
  94. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +12 -12
  95. package/esm2020/elements/lib/directives/addon.directive.mjs +6 -6
  96. package/esm2020/elements/lib/directives/autosize.directive.mjs +3 -3
  97. package/esm2020/elements/lib/directives/focus-trap.directive.mjs +3 -3
  98. package/esm2020/elements/lib/directives/focus.directive.mjs +3 -3
  99. package/esm2020/elements/lib/directives/form-submit.directive.mjs +3 -3
  100. package/esm2020/elements/lib/directives/input.directive.mjs +6 -6
  101. package/esm2020/elements/lib/directives/template.directive.mjs +3 -3
  102. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +7 -7
  103. package/esm2020/elements/lib/elements.module.mjs +5 -5
  104. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +10 -10
  105. package/esm2020/elements/lib/form-control/form-control.component.mjs +6 -6
  106. package/esm2020/elements/lib/form-error/form-error.component.mjs +3 -3
  107. package/esm2020/elements/lib/form-group/form-group.component.mjs +3 -3
  108. package/esm2020/elements/lib/icon/icon.component.mjs +3 -3
  109. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +5 -5
  110. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +3 -3
  111. package/esm2020/elements/lib/pipes/file-size.pipe.mjs +3 -3
  112. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +3 -3
  113. package/esm2020/elements/lib/spinner/spinner.component.mjs +3 -3
  114. package/esm2020/elements/lib/tag/tag.component.mjs +3 -3
  115. package/esm2020/http/lib/http.module.mjs +5 -5
  116. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +3 -3
  117. package/esm2020/http/lib/interceptors/error.interceptor.mjs +3 -3
  118. package/esm2020/lib/core/services/clipboard.service.mjs +3 -3
  119. package/esm2020/lib/core/services/exif.service.mjs +3 -3
  120. package/esm2020/lib/core/services/file-loader.service.mjs +3 -3
  121. package/esm2020/lib/core/services/image-converter.service.mjs +3 -3
  122. package/esm2020/lib/core/services/languages.service.mjs +3 -3
  123. package/esm2020/lib/core/services/network.service.mjs +3 -3
  124. package/esm2020/lib/core/services/patch.service.mjs +3 -3
  125. package/esm2020/lib/core/services/platform.service.mjs +3 -3
  126. package/esm2020/localize/lib/localize.module.mjs +5 -5
  127. package/esm2020/localize/lib/localize.pipe.mjs +3 -3
  128. package/esm2020/localize/lib/localize.service.mjs +9 -7
  129. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +3 -3
  130. package/esm2020/localize/lib/views/localize-template-or-string.directive.mjs +3 -3
  131. package/esm2020/localize/lib/views/localize-template.directive.mjs +3 -3
  132. package/esm2020/masking/bravobit-bb-foundation-masking.mjs +5 -0
  133. package/esm2020/masking/lib/input-mask.directive.mjs +110 -0
  134. package/esm2020/masking/lib/input-mask.interface.mjs +2 -0
  135. package/esm2020/masking/lib/masking.module.mjs +16 -0
  136. package/esm2020/masking/lib/masking.service.mjs +94 -0
  137. package/esm2020/masking/public_api.mjs +5 -0
  138. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +3 -3
  139. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +6 -6
  140. package/esm2020/notifications/lib/notifications.module.mjs +5 -5
  141. package/esm2020/notifications/lib/notifications.service.mjs +3 -3
  142. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +3 -3
  143. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +3 -3
  144. package/esm2020/recaptcha/lib/recaptcha.module.mjs +4 -4
  145. package/esm2020/storage/lib/storage.service.mjs +8 -8
  146. package/esm2020/table/lib/components/table/table.component.mjs +14 -14
  147. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +3 -3
  148. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +4 -4
  149. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +6 -6
  150. package/esm2020/table/lib/table.module.mjs +5 -5
  151. package/esm2020/theming/bravobit-bb-foundation-theming.mjs +5 -0
  152. package/esm2020/theming/lib/themes/checkbox-group.theme.mjs +2 -0
  153. package/esm2020/theming/lib/themes/checkbox.theme.mjs +2 -0
  154. package/esm2020/theming/lib/theming.interface.mjs +3 -0
  155. package/esm2020/theming/lib/theming.module.mjs +38 -0
  156. package/esm2020/theming/lib/theming.service.mjs +100 -0
  157. package/esm2020/theming/public_api.mjs +4 -0
  158. package/fesm2015/bravobit-bb-foundation-auth.mjs +33 -33
  159. package/fesm2015/bravobit-bb-foundation-auth.mjs.map +1 -1
  160. package/fesm2015/bravobit-bb-foundation-collections.mjs +26 -26
  161. package/fesm2015/bravobit-bb-foundation-collections.mjs.map +1 -1
  162. package/fesm2015/bravobit-bb-foundation-controls.mjs +31 -18
  163. package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -1
  164. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +26 -26
  165. package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  166. package/fesm2015/bravobit-bb-foundation-dialog.mjs +34 -36
  167. package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
  168. package/fesm2015/bravobit-bb-foundation-elements.mjs +143 -143
  169. package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -1
  170. package/fesm2015/bravobit-bb-foundation-http.mjs +10 -10
  171. package/fesm2015/bravobit-bb-foundation-http.mjs.map +1 -1
  172. package/fesm2015/bravobit-bb-foundation-localize.mjs +26 -24
  173. package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -1
  174. package/fesm2015/bravobit-bb-foundation-masking.mjs +235 -0
  175. package/fesm2015/bravobit-bb-foundation-masking.mjs.map +1 -0
  176. package/fesm2015/bravobit-bb-foundation-notifications.mjs +14 -14
  177. package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -1
  178. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +10 -10
  179. package/fesm2015/bravobit-bb-foundation-storage.mjs +7 -7
  180. package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -1
  181. package/fesm2015/bravobit-bb-foundation-table.mjs +27 -27
  182. package/fesm2015/bravobit-bb-foundation-table.mjs.map +1 -1
  183. package/fesm2015/bravobit-bb-foundation-theming.mjs +153 -0
  184. package/fesm2015/bravobit-bb-foundation-theming.mjs.map +1 -0
  185. package/fesm2015/bravobit-bb-foundation.mjs +24 -24
  186. package/fesm2020/bravobit-bb-foundation-auth.mjs +33 -33
  187. package/fesm2020/bravobit-bb-foundation-auth.mjs.map +1 -1
  188. package/fesm2020/bravobit-bb-foundation-collections.mjs +26 -26
  189. package/fesm2020/bravobit-bb-foundation-collections.mjs.map +1 -1
  190. package/fesm2020/bravobit-bb-foundation-controls.mjs +31 -18
  191. package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -1
  192. package/fesm2020/bravobit-bb-foundation-dashboard.mjs +26 -26
  193. package/fesm2020/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  194. package/fesm2020/bravobit-bb-foundation-dialog.mjs +34 -36
  195. package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
  196. package/fesm2020/bravobit-bb-foundation-elements.mjs +143 -143
  197. package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -1
  198. package/fesm2020/bravobit-bb-foundation-http.mjs +10 -10
  199. package/fesm2020/bravobit-bb-foundation-http.mjs.map +1 -1
  200. package/fesm2020/bravobit-bb-foundation-localize.mjs +24 -22
  201. package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -1
  202. package/fesm2020/bravobit-bb-foundation-masking.mjs +223 -0
  203. package/fesm2020/bravobit-bb-foundation-masking.mjs.map +1 -0
  204. package/fesm2020/bravobit-bb-foundation-notifications.mjs +14 -14
  205. package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -1
  206. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +10 -10
  207. package/fesm2020/bravobit-bb-foundation-storage.mjs +7 -7
  208. package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -1
  209. package/fesm2020/bravobit-bb-foundation-table.mjs +27 -27
  210. package/fesm2020/bravobit-bb-foundation-table.mjs.map +1 -1
  211. package/fesm2020/bravobit-bb-foundation-theming.mjs +143 -0
  212. package/fesm2020/bravobit-bb-foundation-theming.mjs.map +1 -0
  213. package/fesm2020/bravobit-bb-foundation.mjs +24 -24
  214. package/http/{bravobit-bb-foundation-http.d.ts → index.d.ts} +0 -0
  215. package/{bravobit-bb-foundation.d.ts → index.d.ts} +0 -0
  216. package/localize/{bravobit-bb-foundation-localize.d.ts → index.d.ts} +0 -0
  217. package/localize/lib/localize.pipe.d.ts +1 -1
  218. package/localize/lib/views/localize-string/localize-string.component.d.ts +1 -1
  219. package/localize/lib/views/localize-template-or-string.directive.d.ts +1 -1
  220. package/localize/lib/views/localize-template.directive.d.ts +1 -1
  221. package/masking/index.d.ts +5 -0
  222. package/masking/lib/input-mask.directive.d.ts +36 -0
  223. package/masking/lib/input-mask.interface.d.ts +20 -0
  224. package/masking/lib/masking.module.d.ts +7 -0
  225. package/masking/lib/masking.service.d.ts +12 -0
  226. package/masking/public_api.d.ts +4 -0
  227. package/notifications/{bravobit-bb-foundation-notifications.d.ts → index.d.ts} +0 -0
  228. package/notifications/lib/notifications-item/notifications-item.component.d.ts +1 -1
  229. package/notifications/lib/notifications-list/notifications-list.component.d.ts +1 -1
  230. package/package.json +36 -19
  231. package/recaptcha/{bravobit-bb-foundation-recaptcha.d.ts → index.d.ts} +0 -0
  232. package/recaptcha/lib/recaptcha/recaptcha.component.d.ts +1 -1
  233. package/rxjs/{bravobit-bb-foundation-rxjs.d.ts → index.d.ts} +0 -0
  234. package/storage/{bravobit-bb-foundation-storage.d.ts → index.d.ts} +0 -0
  235. package/table/{bravobit-bb-foundation-table.d.ts → index.d.ts} +0 -0
  236. package/table/lib/components/table/table.component.d.ts +7 -7
  237. package/table/lib/components/table-cell/table-cell.component.d.ts +1 -1
  238. package/table/lib/components/table-header-cell/table-header-cell.component.d.ts +1 -1
  239. package/table/lib/components/table-pager/table-pager.component.d.ts +1 -1
  240. package/theming/index.d.ts +5 -0
  241. package/theming/lib/themes/checkbox-group.theme.d.ts +5 -0
  242. package/theming/lib/themes/checkbox.theme.d.ts +19 -0
  243. package/theming/lib/theming.interface.d.ts +14 -0
  244. package/theming/lib/theming.module.d.ts +13 -0
  245. package/theming/lib/theming.service.d.ts +24 -0
  246. package/theming/public_api.d.ts +3 -0
  247. package/auth/package.json +0 -10
  248. package/collections/package.json +0 -10
  249. package/controls/package.json +0 -10
  250. package/dashboard/package.json +0 -10
  251. package/dialog/package.json +0 -10
  252. package/elements/package.json +0 -10
  253. package/http/package.json +0 -10
  254. package/localize/package.json +0 -10
  255. package/notifications/package.json +0 -10
  256. package/recaptcha/package.json +0 -10
  257. package/rxjs/package.json +0 -10
  258. package/storage/package.json +0 -10
  259. package/table/package.json +0 -10
@@ -28,16 +28,16 @@ export class AuthModule {
28
28
  };
29
29
  }
30
30
  }
31
- AuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
- AuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: AuthModule, declarations: [BbAuthenticated,
31
+ AuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
+ AuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: AuthModule, declarations: [BbAuthenticated,
33
33
  BbRole,
34
34
  BbPermission], imports: [HttpClientModule], exports: [BbAuthenticated,
35
35
  BbRole,
36
36
  BbPermission] });
37
- AuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: AuthModule, providers: [
37
+ AuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AuthModule, providers: [
38
38
  { provide: AuthMapper, useClass: AuthMapper }
39
- ], imports: [[HttpClientModule]] });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: AuthModule, decorators: [{
39
+ ], imports: [HttpClientModule] });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AuthModule, decorators: [{
41
41
  type: NgModule,
42
42
  args: [{
43
43
  imports: [HttpClientModule],
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
51
51
  export function initializeAuth(auth) {
52
52
  return auth.initialize();
53
53
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2F1dGgvc3JjL2xpYi9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUF1QixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFcEMsTUFBTSxvQkFBb0IsR0FBRztJQUN6QixlQUFlO0lBQ2YsTUFBTTtJQUNOLFlBQVk7Q0FDZixDQUFDO0FBVUYsTUFBTSxPQUFPLFVBQVU7SUFFbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFtQjtRQUM5QixPQUFPO1lBQ0gsUUFBUSxFQUFFLFVBQVU7WUFDcEIsU0FBUyxFQUFFO2dCQUNQLElBQUk7Z0JBQ0osV0FBVztnQkFDWCxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQztnQkFDdkMsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO2dCQUNwRSxFQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO2FBQ3BGO1NBQ0osQ0FBQztJQUNOLENBQUM7O3VHQWJRLFVBQVU7d0dBQVYsVUFBVSxpQkFibkIsZUFBZTtRQUNmLE1BQU07UUFDTixZQUFZLGFBSUYsZ0JBQWdCLGFBTjFCLGVBQWU7UUFDZixNQUFNO1FBQ04sWUFBWTt3R0FXSCxVQUFVLGFBSlI7UUFDUCxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBQztLQUM5QyxZQUxRLENBQUMsZ0JBQWdCLENBQUM7MkZBT2xCLFVBQVU7a0JBUnRCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLFlBQVksRUFBRSxDQUFDLEdBQUcsb0JBQW9CLENBQUM7b0JBQ3ZDLE9BQU8sRUFBRSxDQUFDLEdBQUcsb0JBQW9CLENBQUM7b0JBQ2xDLFNBQVMsRUFBRTt3QkFDUCxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBQztxQkFDOUM7aUJBQ0o7O0FBa0JELE1BQU0sVUFBVSxjQUFjLENBQUMsSUFBVTtJQUNyQyxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBUFBfSU5JVElBTElaRVIsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtIVFRQX0lOVEVSQ0VQVE9SUywgSHR0cENsaWVudE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge0JiQXV0aGVudGljYXRlZH0gZnJvbSAnLi9kaXJlY3RpdmVzL2F1dGhlbnRpY2F0ZWQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHtCYlBlcm1pc3Npb259IGZyb20gJy4vZGlyZWN0aXZlcy9wZXJtaXNzaW9uLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7QXV0aENvbmZpZ30gZnJvbSAnLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0F1dGhJbnRlcmNlcHRvcn0gZnJvbSAnLi9hdXRoLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHtBdXRoTWFwcGVyfSBmcm9tICcuL2hlbHBlcnMvbWFwcGVyLmhlbHBlcic7XHJcbmltcG9ydCB7QmJSb2xlfSBmcm9tICcuL2RpcmVjdGl2ZXMvcm9sZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge1Blcm1pc3Npb25zfSBmcm9tICcuL3Blcm1pc3Npb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQge0F1dGh9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcclxuXHJcbmNvbnN0IERFQ0xBUkFUSU9OU19FWFBPUlRTID0gW1xyXG4gICAgQmJBdXRoZW50aWNhdGVkLFxyXG4gICAgQmJSb2xlLFxyXG4gICAgQmJQZXJtaXNzaW9uXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW0h0dHBDbGllbnRNb2R1bGVdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uREVDTEFSQVRJT05TX0VYUE9SVFNdLFxyXG4gICAgZXhwb3J0czogWy4uLkRFQ0xBUkFUSU9OU19FWFBPUlRTXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtwcm92aWRlOiBBdXRoTWFwcGVyLCB1c2VDbGFzczogQXV0aE1hcHBlcn1cclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhNb2R1bGUge1xyXG5cclxuICAgIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IEF1dGhDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEF1dGhNb2R1bGU+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBuZ01vZHVsZTogQXV0aE1vZHVsZSxcclxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgICAgICAgICBBdXRoLFxyXG4gICAgICAgICAgICAgICAgUGVybWlzc2lvbnMsXHJcbiAgICAgICAgICAgICAgICB7cHJvdmlkZTogQXV0aENvbmZpZywgdXNlVmFsdWU6IGNvbmZpZ30sXHJcbiAgICAgICAgICAgICAgICB7cHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBBdXRoSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlfSxcclxuICAgICAgICAgICAgICAgIHt1c2VGYWN0b3J5OiBpbml0aWFsaXplQXV0aCwgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLCBkZXBzOiBbQXV0aF0sIG11bHRpOiB0cnVlfVxyXG4gICAgICAgICAgICBdXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplQXV0aChhdXRoOiBBdXRoKSB7XHJcbiAgICByZXR1cm4gYXV0aC5pbml0aWFsaXplKCk7XHJcbn1cclxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2F1dGgvc3JjL2xpYi9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUF1QixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFcEMsTUFBTSxvQkFBb0IsR0FBRztJQUN6QixlQUFlO0lBQ2YsTUFBTTtJQUNOLFlBQVk7Q0FDZixDQUFDO0FBVUYsTUFBTSxPQUFPLFVBQVU7SUFFbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFtQjtRQUM5QixPQUFPO1lBQ0gsUUFBUSxFQUFFLFVBQVU7WUFDcEIsU0FBUyxFQUFFO2dCQUNQLElBQUk7Z0JBQ0osV0FBVztnQkFDWCxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQztnQkFDdkMsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO2dCQUNwRSxFQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO2FBQ3BGO1NBQ0osQ0FBQztJQUNOLENBQUM7O3VHQWJRLFVBQVU7d0dBQVYsVUFBVSxpQkFibkIsZUFBZTtRQUNmLE1BQU07UUFDTixZQUFZLGFBSUYsZ0JBQWdCLGFBTjFCLGVBQWU7UUFDZixNQUFNO1FBQ04sWUFBWTt3R0FXSCxVQUFVLGFBSlI7UUFDUCxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBQztLQUM5QyxZQUxTLGdCQUFnQjsyRkFPakIsVUFBVTtrQkFSdEIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDM0IsWUFBWSxFQUFFLENBQUMsR0FBRyxvQkFBb0IsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsR0FBRyxvQkFBb0IsQ0FBQztvQkFDbEMsU0FBUyxFQUFFO3dCQUNQLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFDO3FCQUM5QztpQkFDSjs7QUFrQkQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxJQUFVO0lBQ3JDLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0hUVFBfSU5URVJDRVBUT1JTLCBIdHRwQ2xpZW50TW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7QmJBdXRoZW50aWNhdGVkfSBmcm9tICcuL2RpcmVjdGl2ZXMvYXV0aGVudGljYXRlZC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge0JiUGVybWlzc2lvbn0gZnJvbSAnLi9kaXJlY3RpdmVzL3Blcm1pc3Npb24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHtBdXRoQ29uZmlnfSBmcm9tICcuL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XHJcbmltcG9ydCB7QXV0aEludGVyY2VwdG9yfSBmcm9tICcuL2F1dGguaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQge0F1dGhNYXBwZXJ9IGZyb20gJy4vaGVscGVycy9tYXBwZXIuaGVscGVyJztcclxuaW1wb3J0IHtCYlJvbGV9IGZyb20gJy4vZGlyZWN0aXZlcy9yb2xlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7UGVybWlzc2lvbnN9IGZyb20gJy4vcGVybWlzc2lvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7QXV0aH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xyXG5cclxuY29uc3QgREVDTEFSQVRJT05TX0VYUE9SVFMgPSBbXHJcbiAgICBCYkF1dGhlbnRpY2F0ZWQsXHJcbiAgICBCYlJvbGUsXHJcbiAgICBCYlBlcm1pc3Npb25cclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbSHR0cENsaWVudE1vZHVsZV0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5ERUNMQVJBVElPTlNfRVhQT1JUU10sXHJcbiAgICBleHBvcnRzOiBbLi4uREVDTEFSQVRJT05TX0VYUE9SVFNdLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge3Byb3ZpZGU6IEF1dGhNYXBwZXIsIHVzZUNsYXNzOiBBdXRoTWFwcGVyfVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aE1vZHVsZSB7XHJcblxyXG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogQXV0aENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QXV0aE1vZHVsZT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG5nTW9kdWxlOiBBdXRoTW9kdWxlLFxyXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICAgICAgICAgIEF1dGgsXHJcbiAgICAgICAgICAgICAgICBQZXJtaXNzaW9ucyxcclxuICAgICAgICAgICAgICAgIHtwcm92aWRlOiBBdXRoQ29uZmlnLCB1c2VWYWx1ZTogY29uZmlnfSxcclxuICAgICAgICAgICAgICAgIHtwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IEF1dGhJbnRlcmNlcHRvciwgbXVsdGk6IHRydWV9LFxyXG4gICAgICAgICAgICAgICAge3VzZUZhY3Rvcnk6IGluaXRpYWxpemVBdXRoLCBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsIGRlcHM6IFtBdXRoXSwgbXVsdGk6IHRydWV9XHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVBdXRoKGF1dGg6IEF1dGgpIHtcclxuICAgIHJldHVybiBhdXRoLmluaXRpYWxpemUoKTtcclxufVxyXG4iXX0=
@@ -33,7 +33,7 @@ export class Auth {
33
33
  // We select a storage strategy based on the server/browser.
34
34
  // Only cookies CAN work on the server.
35
35
  const storageStrategy = this._platform.isBrowser
36
- ? this._storage.select(["cookie" /* Cookie */, "local" /* Local */])
36
+ ? this._storage.select(["cookie" /* StorageOption.Cookie */, "local" /* StorageOption.Local */])
37
37
  : this._storage.cookie;
38
38
  // Starting the new session.
39
39
  this.session = new AuthSession({
@@ -267,9 +267,9 @@ export class Auth {
267
267
  .join('/');
268
268
  }
269
269
  }
270
- Auth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Auth, deps: [{ token: i1.Storage }, { token: i2.AuthMapper }, { token: i0.Injector }, { token: i3.Platform }, { token: i4.HttpClient }, { token: i5.AuthConfig, optional: true }, { token: i6.TransferState, optional: true }, { token: i7.HttpConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
271
- Auth.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Auth });
272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Auth, decorators: [{
270
+ Auth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: Auth, deps: [{ token: i1.Storage }, { token: i2.AuthMapper }, { token: i0.Injector }, { token: i3.Platform }, { token: i4.HttpClient }, { token: i5.AuthConfig, optional: true }, { token: i6.TransferState, optional: true }, { token: i7.HttpConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
271
+ Auth.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: Auth });
272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: Auth, decorators: [{
273
273
  type: Injectable
274
274
  }], ctorParameters: function () { return [{ type: i1.Storage }, { type: i2.AuthMapper }, { type: i0.Injector }, { type: i3.Platform }, { type: i4.HttpClient }, { type: i5.AuthConfig, decorators: [{
275
275
  type: Optional
@@ -278,4 +278,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
278
278
  }] }, { type: i7.HttpConfig, decorators: [{
279
279
  type: Optional
280
280
  }] }]; } });
281
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9hdXRoL3NyYy9saWIvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxXQUFXLEVBQTBCLE1BQU0sc0JBQXNCLENBQUM7QUFFdEYsT0FBTyxFQUFDLFlBQVksRUFBMEIsTUFBTSwyQkFBMkIsQ0FBQztBQUVoRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsVUFBVSxFQUFZLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUc3RCxPQUFPLEVBQUMsY0FBYyxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUdwRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7OztBQUd2QyxNQUFNLE9BQU8sSUFBSTtJQVdiLFlBQW9CLFFBQWlCLEVBQ2pCLE9BQW1CLEVBQ25CLFNBQW1CLEVBQ25CLFNBQW1CLEVBQ25CLFdBQXVCLEVBQ1gsT0FBb0IsRUFDcEIsTUFBc0IsRUFDdEIsV0FBd0I7UUFQcEMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUNYLFlBQU8sR0FBUCxPQUFP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MEJBQ1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SHR0cENsaWVudCwgSHR0cENvbnRleHQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7QXV0aFByb3ZpZGVyLCBBdXRoU2lnbkluUmVzcG9uc2V9IGZyb20gJy4vaW50ZXJmYWNlcy9wcm92aWRlci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge21ha2VTdGF0ZUtleSwgU3RhdGVLZXksIFRyYW5zZmVyU3RhdGV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQge1N0b3JhZ2UsIFN0b3JhZ2VPcHRpb259IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL3N0b3JhZ2UnO1xyXG5pbXBvcnQge1VTRV9BVVRIT1JJWkFUSU9OfSBmcm9tICcuL3Rva2Vucy91c2UtYXV0aG9yaXphdGlvbi50b2tlbic7XHJcbmltcG9ydCB7QXV0aFZlcmlmeVByb3ZpZGVyfSBmcm9tICcuL3Byb3ZpZGVycy92ZXJpZnkucHJvdmlkZXInO1xyXG5pbXBvcnQge0luamVjdGFibGUsIEluamVjdG9yLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QXV0aEVtYWlsUHJvdmlkZXJ9IGZyb20gJy4vcHJvdmlkZXJzL2VtYWlsLnByb3ZpZGVyJztcclxuaW1wb3J0IHtBdXRoQ29uZmlnfSBmcm9tICcuL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XHJcbmltcG9ydCB7SHR0cENvbmZpZ30gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vaHR0cCc7XHJcbmltcG9ydCB7Zmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtBdXRoTWFwcGVyfSBmcm9tICcuL2hlbHBlcnMvbWFwcGVyLmhlbHBlcic7XHJcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcclxuaW1wb3J0IHtBdXRoU2Vzc2lvbn0gZnJvbSAnLi9hdXRoLnNlc3Npb24nO1xyXG5pbXBvcnQge21hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXV0aCB7XHJcblxyXG4gICAgLy8gUmVhZG9ubHkgZGF0YS5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2F1dGhTdGF0ZUtleTogU3RhdGVLZXk8YW55IHwgbnVsbD4gPSBtYWtlU3RhdGVLZXkoYGJiQXV0aFN0YXRlS2V5YCk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9odHRwQWxpYXM6IHN0cmluZyB8IG51bGwgPSB0aGlzLl9odHRwQ29uZmlnPy5kZWZhdWx0QWxpYXMgPz8gbnVsbDtcclxuXHJcbiAgICByZWFkb25seSBzZXNzaW9uOiBBdXRoU2Vzc2lvbjtcclxuICAgIHJlYWRvbmx5IHVzZXI6IE9ic2VydmFibGU8YW55IHwgbnVsbD47XHJcblxyXG4gICAgcHJpdmF0ZSBfcmVmcmVzaEhhbmRsZXI6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3N0b3JhZ2U6IFN0b3JhZ2UsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9tYXBwZXI6IEF1dGhNYXBwZXIsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfY29uZmlnPzogQXV0aENvbmZpZyxcclxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3N0YXRlPzogVHJhbnNmZXJTdGF0ZSxcclxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2h0dHBDb25maWc/OiBIdHRwQ29uZmlnKSB7XHJcbiAgICAgICAgLy8gV2Ugc2VsZWN0IGEgc3RvcmFnZSBzdHJhdGVneSBiYXNlZCBvbiB0aGUgc2VydmVyL2Jyb3dzZXIuXHJcbiAgICAgICAgLy8gT25seSBjb29raWVzIENBTiB3b3JrIG9uIHRoZSBzZXJ2ZXIuXHJcbiAgICAgICAgY29uc3Qgc3RvcmFnZVN0cmF0ZWd5ID0gdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyXHJcbiAgICAgICAgICAgID8gdGhpcy5fc3RvcmFnZS5zZWxlY3QoW1N0b3JhZ2VPcHRpb24uQ29va2llLCBTdG9yYWdlT3B0aW9uLkxvY2FsXSlcclxuICAgICAgICAgICAgOiB0aGlzLl9zdG9yYWdlLmNvb2tpZTtcclxuXHJcbiAgICAgICAgLy8gU3RhcnRpbmcgdGhlIG5ldyBzZXNzaW9uLlxyXG4gICAgICAgIHRoaXMuc2Vzc2lvbiA9IG5ldyBBdXRoU2Vzc2lvbih7XHJcbiAgICAgICAgICAgIGlkOiB0aGlzLl9jb25maWc/LmFwcGxpY2F0aW9uSWQsXHJcbiAgICAgICAgICAgIHN0b3JhZ2U6IHN0b3JhZ2VTdHJhdGVneVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudXNlciA9IHRoaXMuc2Vzc2lvbi51c2VyO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRpYWxpemUoKSB7XHJcbiAgICAgICAgcmV0dXJuIGFzeW5jICgpID0+IHtcclxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGFwcCBzaG91bGQgYm9vdHN0cmFwIHRoZSBhdXRoZW50aWNhdGlvbi5cclxuICAgICAgICAgICAgY29uc3Qgc2hvdWxkQm9vdHN0cmFwID0gdGhpcy5fY29uZmlnPy5ib290c3RyYXAgPz8gdHJ1ZTtcclxuICAgICAgICAgICAgaWYgKCFzaG91bGRCb290c3RyYXApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUF1dG9SZWZyZXNoaW5nKCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIE9ubHkgcmV0cmlldmUgZnJvbSB0aGUgc2VydmVyIHdoZW4gd2UgYXJlIGFjdHVhbGx5IGF1dGhlbnRpY2F0ZWQuXHJcbiAgICAgICAgICAgIGlmICghdGhpcy5zZXNzaW9uLmF1dGhlbnRpY2F0ZWQoKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBHZXQgdGhlIGtleSBmcm9tIHRoZSBzZXJ2ZXIgc3RhdGUuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9zdGF0ZSAmJiB0aGlzLl9zdGF0ZT8uaGFzS2V5KHRoaXMuX2F1dGhTdGF0ZUtleSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLl9zdGF0ZT8uZ2V0KHRoaXMuX2F1dGhTdGF0ZUtleSwgbnVsbCkgPz8gbnVsbDtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uc2V0VXNlcih1c2VyKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gVHJ5IHRvIGZldGNoIHRoZSB1c2VyIGZyb20gdGhlIHNlcnZlci5cclxuICAgICAgICAgICAgY29uc3QgdXNlciQgPSB0aGlzLm1lKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHVzZXIgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh1c2VyJCwge2RlZmF1bHRWYWx1ZTogbnVsbH0pO1xyXG5cclxuICAgICAgICAgICAgLy8gU2V0IHRoZSBzdGF0ZSBpZiBleGlzdHMuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9zdGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc3RhdGU/LnNldDxhbnk+KHRoaXMuX2F1dGhTdGF0ZUtleSwgdXNlciA/PyBudWxsKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gU2F2ZSB0aGUgdXNlciBpbiB0aGUgc3RvcmFnZSBhbmQgaGFuZGxlIGF1dG8gcmVmcmVzaGluZy5cclxuICAgICAgICAgICAgdGhpcy5zZXNzaW9uLnNldFVzZXIodXNlcik7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQXV0b1JlZnJlc2hpbmcoKTtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIG1lPFQgPSBhbnk+KCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0VXJsKCdhdXRoL21lJyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnQuZ2V0PFQ+KHVybCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2lnbkluKHByb3ZpZGVyOiBBdXRoUHJvdmlkZXIsIGFzPzogc3RyaW5nW10pIHtcclxuICAgICAgICBjb25zdCB7YWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbiwgdXNlciwgLi4ucmVzdWx0fSA9IGF3YWl0IHByb3ZpZGVyLmF1dGhlbnRpY2F0ZSh0aGlzLl9odHRwQ2xpZW50KTtcclxuXHJcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHJvbGUgbWF0Y2hlcy5cclxuICAgICAgICBpZiAoYXMgJiYgIWFzLmluY2x1ZGVzKHRoaXMuX21hcHBlci5yb2xlKHVzZXIpKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcm9sZS4nKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFZhbGlkYXRlIGlmIHRoZSBwcm92aWRlciBpcyBvbmUgb2YgdGhlIGF2YWlsYWJsZVxyXG4gICAgICAgIC8vIHByb3ZpZGVycyB0aGVuIHJldHVybiB0aGUgdXNlciBvYmplY3QgYW5kIHRoZSBwcm92aWRlci5cclxuICAgICAgICBjb25zdCBhcGlQcm92aWRlciA9IHJlc3VsdD8ucHJvdmlkZXIgPz8gbnVsbDtcclxuICAgICAgICBjb25zdCBhcGlWZXJpZnlUb2tlbiA9IHJlc3VsdD8udmVyaWZ5VG9rZW4gPz8gbnVsbDtcclxuICAgICAgICBjb25zdCBhdmFpbGFibGVQcm92aWRlcnMgPSBbJ2VtYWlsJywgJ3NtcycsICd0b3RwJ107XHJcbiAgICAgICAgaWYgKGF2YWlsYWJsZVByb3ZpZGVycy5pbmNsdWRlcyhhcGlQcm92aWRlcikpIHtcclxuICAgICAgICAgICAgcmV0dXJuIDxBdXRoU2lnbkluUmVzcG9uc2U+e3VzZXIsIHByb3ZpZGVyOiBhcGlQcm92aWRlciwgdmVyaWZ5VG9rZW46IGFwaVZlcmlmeVRva2VufTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFNldCB0aGUgdG9rZW5zIGluIHN0b3JhZ2UuXHJcbiAgICAgICAgdGhpcy5zZXRUb2tlbnMoYWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbik7XHJcblxyXG4gICAgICAgIC8vIFNldCB0aGUgdXNlciBpbiBzdG9yYWdlLlxyXG4gICAgICAgIHRoaXMuc2Vzc2lvbi5zZXRVc2VyKHVzZXIpO1xyXG5cclxuICAgICAgICAvLyBSZXR1cm4gdGhlIHVzZXIuXHJcbiAgICAgICAgcmV0dXJuIDxBdXRoU2lnbkluUmVzcG9uc2U+e3VzZXJ9O1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNpZ25JbldpdGhFbWFpbChlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nLCBhcz86IHN0cmluZ1tdKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5nZXRVcmwoJ2F1dGgvbG9naW4nKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5zaWduSW4obmV3IEF1dGhFbWFpbFByb3ZpZGVyKGVtYWlsLCBwYXNzd29yZCwgdXJsKSwgYXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNpZ25JbldpdGhWZXJpZnlDb2RlKGNvZGU6IHN0cmluZywgdmVyaWZ5VG9rZW46IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0VXJsKCdhdXRoL3ZlcmlmeScpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNpZ25JbihuZXcgQXV0aFZlcmlmeVByb3ZpZGVyKGNvZGUsIHZlcmlmeVRva2VuLCB1cmwpKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZXNlbmRWZXJpZnlDb2RlKHZlcmlmeVRva2VuOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmdldFVybCgnYXV0aC9yZXNlbmQnKTtcclxuICAgICAgICBjb25zdCByZXN1bHQkID0gdGhpcy5faHR0cENsaWVudC5wb3N0KHVybCwge1xyXG4gICAgICAgICAgICB2ZXJpZnlfdG9rZW46IHZlcmlmeVRva2VuXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShyZXN1bHQkKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZWdpc3RlcjxUID0gYW55PihkYXRhOiBhbnksIG9wdGlvbnM/OiB7XHJcbiAgICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xyXG4gICAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XHJcbiAgICAgICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IFJlYWRvbmx5QXJyYXk8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj47XHJcbiAgICAgICAgfTtcclxuICAgIH0pIHtcclxuICAgICAgICAvLyBFeGVjdXRlIEFQSSBjYWxsLlxyXG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0VXJsKCdhdXRoL3JlZ2lzdGVyJyk7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0JCA9IHRoaXMuX2h0dHBDbGllbnQucG9zdCh1cmwsIGRhdGEsIG9wdGlvbnMpO1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHJlc3VsdCQpO1xyXG5cclxuICAgICAgICAvLyBNYXAgdG8gdGhlIGNvcnJlY3QgcmVzcG9uc2UuXHJcbiAgICAgICAgY29uc3Qge2FjY2Vzc1Rva2VuLCByZWZyZXNoVG9rZW4sIHVzZXJ9ID0gdGhpcy5fbWFwcGVyLnRvUmVnaXN0ZXIocmVzdWx0KTtcclxuXHJcbiAgICAgICAgLy8gU2V0IHRoZSB0b2tlbnMgaW4gc3RvcmFnZS5cclxuICAgICAgICB0aGlzLnNldFRva2VucyhhY2Nlc3NUb2tlbiwgcmVmcmVzaFRva2VuKTtcclxuXHJcbiAgICAgICAgLy8gU2V0IHRoZSB1c2VyIGluIHN0b3JhZ2UuXHJcbiAgICAgICAgdGhpcy5zZXNzaW9uLnNldFVzZXIodXNlcik7XHJcblxyXG4gICAgICAgIC8vIFJldHVybiB0aGUgdXNlci5cclxuICAgICAgICByZXR1cm4gPFQ+dXNlcjtcclxuICAgIH1cclxuXHJcbiAgICBsb2dvdXQoKSB7XHJcbiAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIHJlZnJlc2ggdG9rZW4ganVzdCBjbGVhciB0aGUgc2Vzc2lvbi5cclxuICAgICAgICAvLyBOb3RlOiBXZSBkbyB0aGlzIGJlY2F1c2UgZWxzZSB3ZSB0cnkgdG8gaW52YWxpZGF0ZVxyXG4gICAgICAgIC8vIGFuIFwidW5kZWZpbmVkXCIgcmVmcmVzaCB0b2tlbi5cclxuICAgICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSB0aGlzLnNlc3Npb24ucmVmcmVzaFRva2VuO1xyXG4gICAgICAgIGlmICghcmVmcmVzaFRva2VuKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uY2xlYXIoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFdlIGRvIGhhdmUgYSByZWZyZXNoIHRva2VuLCBzbyB0cnkgdG9cclxuICAgICAgICAvLyBpbnZhbGlkYXRlIGl0IGluIHRoZSBiYWNrZW5kLlxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0VXJsKCdhdXRoL2xvZ291dCcpO1xyXG4gICAgICAgICAgICBjb25zdCBvYnNlcnZhYmxlJCA9IHRoaXMuX2h0dHBDbGllbnQuZ2V0KHVybCwge1xyXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge0F1dGhvcml6YXRpb246IHJlZnJlc2hUb2tlbn1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGZpcnN0VmFsdWVGcm9tKG9ic2VydmFibGUkKS50aGVuKF8gPT4gXyk7XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICAgIC8vIERvIG5vdGhpbmcgYmVjYXVzZSB0aGUgdG9rZW5zIHdpbGwgYmUgZGVsZXRlZCBhbnl3YXlzIGZyb20gdGhlIHNlc3Npb24uXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBEZWxldGUgdGhlIHRva2VucyBmcm9tIHRoZSBzZXNzaW9uLlxyXG4gICAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uY2xlYXIoKTtcclxuICAgIH1cclxuXHJcbiAgICByZWZyZXNoKCkge1xyXG4gICAgICAgIC8vIElmIHRoZSByZWZyZXNoIHRva2VuIGRvZXNcclxuICAgICAgICAvLyBub3QgZXhpc3QganVzdCByZXR1cm4gYW4gb2JzZXJ2YWJsZSBvZiBudWxsLlxyXG4gICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IHRoaXMuc2Vzc2lvbi5yZWZyZXNoVG9rZW47XHJcbiAgICAgICAgaWYgKCFyZWZyZXNoVG9rZW4pIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gUGVyZm9ybSB0aGUgcmVmcmVzaCBjYWxsLlxyXG4gICAgICAgIGNvbnN0IHNjaGVtZSA9IHRoaXMuX2NvbmZpZz8uc2NoZW1lID8/ICdCZWFyZXInO1xyXG5cclxuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmdldFVybCgnYXV0aC9yZWZyZXNoJyk7XHJcbiAgICAgICAgY29uc3QgY29udGV4dCA9IG5ldyBIdHRwQ29udGV4dCgpXHJcbiAgICAgICAgICAgIC5zZXQoVVNFX0FVVEhPUklaQVRJT04sIGZhbHNlKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnQuZ2V0KHVybCwge1xyXG4gICAgICAgICAgICBoZWFkZXJzOiB7QXV0aG9yaXphdGlvbjogYCR7c2NoZW1lfSAke3JlZnJlc2hUb2tlbn1gfSxcclxuICAgICAgICAgICAgY29udGV4dDogY29udGV4dFxyXG4gICAgICAgIH0pLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChkYXRhID0+IHRoaXMuX21hcHBlci50b1JlZnJlc2goZGF0YSkpLFxyXG4gICAgICAgICAgICB0YXAoKHthY2Nlc3NUb2tlbiwgcmVmcmVzaFRva2VufSkgPT4gdGhpcy5zZXRUb2tlbnMoYWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbikpLFxyXG4gICAgICAgICAgICBtYXAoKHthY2Nlc3NUb2tlbn0pID0+IGFjY2Vzc1Rva2VuKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcmVxdWVzdFBhc3N3b3JkKGVtYWlsOiBzdHJpbmcsIGV4dHJhUGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge30pIHtcclxuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmdldFVybCgnYXV0aC9yZXNldCcpO1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmFibGUkID0gdGhpcy5faHR0cENsaWVudC5wb3N0KHVybCwgey4uLmV4dHJhUGFyYW1zLCBlbWFpbH0pO1xyXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShvYnNlcnZhYmxlJCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcmVzZXRQYXNzd29yZCh0b2tlbjogc3RyaW5nLCBuZXdQYXNzd29yZDogc3RyaW5nLCBleHRyYVBhcmFtczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9KSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5nZXRVcmwoJ2F1dGgvcmVzZXQtcGFzc3dvcmQnKTtcclxuICAgICAgICBjb25zdCBvYnNlcnZhYmxlJCA9IHRoaXMuX2h0dHBDbGllbnQucG9zdCh1cmwsIHsuLi5leHRyYVBhcmFtcywgdG9rZW4sIHBhc3N3b3JkOiBuZXdQYXNzd29yZH0pO1xyXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShvYnNlcnZhYmxlJCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ3VhcmQodHlwZTogc3RyaW5nLCByZWRpcmVjdFVybD86IHN0cmluZykge1xyXG4gICAgICAgIGxldCBuZXdVcmw6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gICAgICAgIC8vIEdldCB0aGUgY29ycmVjdCBuZXcgdXJsLlxyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlICdhdXRoZW50aWNhdGVkJzpcclxuICAgICAgICAgICAgICAgIG5ld1VybCA9IHRoaXMuX2NvbmZpZz8ubG9nZ2VkSW5VcmwgPz8gbnVsbDtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICd1bmF1dGhlbnRpY2F0ZWQnOlxyXG4gICAgICAgICAgICAgICAgbmV3VXJsID0gdGhpcy5fY29uZmlnPy5yZWRpcmVjdFVybCA/PyBudWxsO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBcHBlbmQgYSByZWRpcmVjdCB1cmwgaWYgdGhlIHVzZXIgaXMgZGVlbWVkXHJcbiAgICAgICAgLy8gdW5hdXRoZW50aWNhdGVkLlxyXG4gICAgICAgIGlmICh0eXBlID09PSAndW5hdXRoZW50aWNhdGVkJykge1xyXG4gICAgICAgICAgICBjb25zdCBzZXRSZWRpcmVjdE9uRmFpbGVkQXV0aCA9IHRoaXMuX2NvbmZpZz8uc2V0UmVkaXJlY3RPbkZhaWxlZEF1dGggPz8gdHJ1ZTtcclxuICAgICAgICAgICAgaWYgKHNldFJlZGlyZWN0T25GYWlsZWRBdXRoICYmIHJlZGlyZWN0VXJsICYmIG5ld1VybCkge1xyXG4gICAgICAgICAgICAgICAgbmV3VXJsICs9IGA/cmVkaXJlY3RVcmw9JHtyZWRpcmVjdFVybH1gO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBQYXJzZSB0aGUgdXJsIGlmIGl0IGV4aXN0cy5cclxuICAgICAgICBpZiAodGhpcy5yb3V0ZXIgJiYgbmV3VXJsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5wYXJzZVVybChuZXdVcmwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gUmV0dXJuIGZhbHNlIGlmIHRoZSB1c2VyIGlzIG5vdCBhbGxvd2VkLlxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjbGVhckFuZFJlZGlyZWN0KCkge1xyXG4gICAgICAgIC8vIDEuIERlbGV0ZSB0aGUgdG9rZW5zIGZyb20gdGhlIHNlc3Npb24uXHJcbiAgICAgICAgdGhpcy5zZXNzaW9uLmNsZWFyKCk7XHJcblxyXG4gICAgICAgIC8vIDIuIENvbXBvc2UgdGhlIHJvdXRlIHVybC5cclxuICAgICAgICBjb25zdCByZWRpcmVjdFVybCA9IHRoaXMuX2NvbmZpZz8ucmVkaXJlY3RVcmwgPz8gbnVsbDtcclxuXHJcbiAgICAgICAgLy8gMy4gUm91dGUgYmFjayBpZiB0aGUgdXNlciBwcm92aWRlZCBhIHJlZGlyZWN0IHVybC5cclxuICAgICAgICBpZiAodGhpcy5yb3V0ZXIgJiYgcmVkaXJlY3RVcmwpIHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3JlZGlyZWN0VXJsXSkudGhlbihfID0+IF8pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFRva2VucyhhY2Nlc3NUb2tlbjogc3RyaW5nLCByZWZyZXNoVG9rZW46IHN0cmluZykge1xyXG4gICAgICAgIC8vIFNldCB0aGUgdG9rZW5zIGluIG91ciBzZXNzaW9uLlxyXG4gICAgICAgIHRoaXMuc2Vzc2lvbi5zZXRUb2tlbnMoYWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbik7XHJcblxyXG4gICAgICAgIC8vIFdlIG5lZWQgdG8gdXBkYXRlIHRoZSBhdXRvIHJlZnJlc2ggb2YgdGhlIHJlZnJlc2ggdG9rZW4uXHJcbiAgICAgICAgdGhpcy5oYW5kbGVBdXRvUmVmcmVzaGluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlQXV0b1JlZnJlc2hpbmcoKSB7XHJcbiAgICAgICAgY29uc3Qgc2hvdWxkQXV0b1JlZnJlc2ggPSB0aGlzLl9jb25maWc/LmF1dG9SZWZyZXNoID8/IGZhbHNlO1xyXG4gICAgICAgIGlmICghc2hvdWxkQXV0b1JlZnJlc2gpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZXhwaXJlc0F0ID0gdGhpcy5zZXNzaW9uLnJlZnJlc2hUb2tlblBheWxvYWQ/LmV4cGlyZXNBdCA/PyBudWxsO1xyXG4gICAgICAgIGlmIChleHBpcmVzQXQgPT09IG51bGwgfHwgIXRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMgPSBleHBpcmVzQXQuZ2V0VGltZSgpIC0gRGF0ZS5ub3coKTtcclxuICAgICAgICBjb25zdCBvZmZzZXRJbk1pbGxpc2Vjb25kcyA9IDEwXzAwMDsgLy8gMTAgc2Vjb25kcy5cclxuXHJcbiAgICAgICAgLy8gV2Ugd2FudCB0byBzdGFydCB0aGUgcmVmcmVzaCAxMCBzZWNvbmRzIGJlZm9yZSBpdCBleHBpcmVzLlxyXG4gICAgICAgIGNvbnN0IGFjdHVhbFRpbWluZyA9IGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcyAtIG9mZnNldEluTWlsbGlzZWNvbmRzO1xyXG4gICAgICAgIGlmIChhY3R1YWxUaW1pbmcgPD0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBXZSBuZWVkIHRvIGNhcCB0aGUgdGltaW5ncyBiZWNhdXNlIGlmXHJcbiAgICAgICAgLy8gd2UgZ2V0IGxhcmdlIG51bWJlcnMgaXQgbWlnaHQgY2F1c2UgdW53YW50ZWQgcmVzdWx0cy5cclxuICAgICAgICBjb25zdCBtYXhUaW1pbmcgPSAxMDAwICogNjAgKiA2MCAqIDI0OyAvLyAyNCBob3Vycy5cclxuICAgICAgICBjb25zdCBjYXBwZWRUaW1pbmcgPSBNYXRoLm1heCgxLCBNYXRoLm1pbihhY3R1YWxUaW1pbmcsIG1heFRpbWluZykpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9yZWZyZXNoSGFuZGxlciAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0Py4odGhpcy5fcmVmcmVzaEhhbmRsZXIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVmcmVzaEhhbmRsZXIgPSBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hIYW5kbGVyID0gc2V0VGltZW91dD8uKCgpID0+IHRoaXMuYXV0b1JlZnJlc2goKSwgY2FwcGVkVGltaW5nKTtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgICAgLy8gSnVzdCBpZ25vcmUgaXQuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgYXV0b1JlZnJlc2goKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgLy8gV2UganVzdCBuZWVkIHRvIHdhaXQgZm9yIGl0IHRvIHJlZnJlc2guXHJcbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2gkID0gdGhpcy5yZWZyZXNoKCk7XHJcbiAgICAgICAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHJlZnJlc2gkKTtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgICAgLy8gU29tZXRoaW5nIHdlbnQgd3JvbmcgcmVmcmVzaGluZywgd2UgbmVlZCB0byBjbGVhci5cclxuICAgICAgICAgICAgdGhpcy5jbGVhckFuZFJlZGlyZWN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0IHJvdXRlcigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faW5qZWN0b3IuZ2V0KFJvdXRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRVcmwoZW5kcG9pbnQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiBbdGhpcy5faHR0cEFsaWFzLCBlbmRwb2ludF1cclxuICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+ICEhaXRlbSlcclxuICAgICAgICAgICAgLmpvaW4oJy8nKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
281
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9hdXRoL3NyYy9saWIvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxXQUFXLEVBQTBCLE1BQU0sc0JBQXNCLENBQUM7QUFFdEYsT0FBTyxFQUFDLFlBQVksRUFBMEIsTUFBTSwyQkFBMkIsQ0FBQztBQUVoRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsVUFBVSxFQUFZLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUc3RCxPQUFPLEVBQUMsY0FBYyxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUdwRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7OztBQUd2QyxNQUFNLE9BQU8sSUFBSTtJQVdiLFlBQW9CLFFBQWlCLEVBQ2pCLE9BQW1CLEVBQ25CLFNBQW1CLEVBQ25CLFNBQW1CLEVBQ25CLFdBQXVCLEVBQ1gsT0FBb0IsRUFDcEIsTUFBc0IsRUFDdEIsV0FBd0I7UUFQcEMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUNYLFlBQU8sR0FBUCxPQUFP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MEJBQ1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SHR0cENsaWVudCwgSHR0cENvbnRleHQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7QXV0aFByb3ZpZGVyLCBBdXRoU2lnbkluUmVzcG9uc2V9IGZyb20gJy4vaW50ZXJmYWNlcy9wcm92aWRlci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge21ha2VTdGF0ZUtleSwgU3RhdGVLZXksIFRyYW5zZmVyU3RhdGV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQge1N0b3JhZ2UsIFN0b3JhZ2VPcHRpb259IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL3N0b3JhZ2UnO1xyXG5pbXBvcnQge1VTRV9BVVRIT1JJWkFUSU9OfSBmcm9tICcuL3Rva2Vucy91c2UtYXV0aG9yaXphdGlvbi50b2tlbic7XHJcbmltcG9ydCB7QXV0aFZlcmlmeVByb3ZpZGVyfSBmcm9tICcuL3Byb3ZpZGVycy92ZXJpZnkucHJvdmlkZXInO1xyXG5pbXBvcnQge0luamVjdGFibGUsIEluamVjdG9yLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QXV0aEVtYWlsUHJvdmlkZXJ9IGZyb20gJy4vcHJvdmlkZXJzL2VtYWlsLnByb3ZpZGVyJztcclxuaW1wb3J0IHtBdXRoQ29uZmlnfSBmcm9tICcuL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XHJcbmltcG9ydCB7SHR0cENvbmZpZ30gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vaHR0cCc7XHJcbmltcG9ydCB7Zmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtBdXRoTWFwcGVyfSBmcm9tICcuL2hlbHBlcnMvbWFwcGVyLmhlbHBlcic7XHJcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcclxuaW1wb3J0IHtBdXRoU2Vzc2lvbn0gZnJvbSAnLi9hdXRoLnNlc3Npb24nO1xyXG5pbXBvcnQge21hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXV0aCB7XHJcblxyXG4gICAgLy8gUmVhZG9ubHkgZGF0YS5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2F1dGhTdGF0ZUtleTogU3RhdGVLZXk8YW55IHwgbnVsbD4gPSBtYWtlU3RhdGVLZXkoYGJiQXV0aFN0YXRlS2V5YCk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9odHRwQWxpYXM6IHN0cmluZyB8IG51bGwgPSB0aGlzLl9odHRwQ29uZmlnPy5kZWZhdWx0QWxpYXMgPz8gbnVsbDtcclxuXHJcbiAgICByZWFkb25seSBzZXNzaW9uOiBBdXRoU2Vzc2lvbjtcclxuICAgIHJlYWRvbmx5IHVzZXI6IE9ic2VydmFibGU8YW55IHwgbnVsbD47XHJcblxyXG4gICAgcHJpdmF0ZSBfcmVmcmVzaEhhbmRsZXI6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3N0b3JhZ2U6IFN0b3JhZ2UsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9tYXBwZXI6IEF1dGhNYXBwZXIsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfY29uZmlnPzogQXV0aENvbmZpZyxcclxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3N0YXRlPzogVHJhbnNmZXJTdGF0ZSxcclxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2h0dHBDb25maWc/OiBIdHRwQ29uZmlnKSB7XHJcbiAgICAgICAgLy8gV2Ugc2VsZWN0IGEgc3RvcmFnZSBzdHJhdGVneSBiYXNlZCBvbiB0aGUgc2VydmVyL2Jyb3dzZXIuXHJcbiAgICAgICAgLy8gT25seSBjb29raWVzIENBTiB3b3JrIG9uIHRoZSBzZXJ2ZXIuXHJcbiAgICAgICAgY29uc3Qgc3RvcmFnZVN0cmF0ZWd5ID0gdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyXHJcbiAgICAgICAgICAgID8gdGhpcy5fc3RvcmFnZS5zZWxlY3QoW1N0b3JhZ2VPcHRpb24uQ29va2llLCBTdG9yYWdlT3B0aW9uLkxvY2FsXSlcclxuICAgICAgICAgICAgOiB0aGlzLl9zdG9yYWdlLmNvb2tpZTtcclxuXHJcbiAgICAgICAgLy8gU3RhcnRpbmcgdGhlIG5ldyBzZXNzaW9uLlxyXG4gICAgICAgIHRoaXMuc2Vzc2lvbiA9IG5ldyBBdXRoU2Vzc2lvbih7XHJcbiAgICAgICAgICAgIGlkOiB0aGlzLl9jb25maWc/LmFwcGxpY2F0aW9uSWQsXHJcbiAgICAgICAgICAgIHN0b3JhZ2U6IHN0b3JhZ2VTdHJhdGVneVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudXNlciA9IHRoaXMuc2Vzc2lvbi51c2VyO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRpYWxpemUoKSB7XHJcbiAgICAgICAgcmV0dXJuIGFzeW5jICgpID0+IHtcclxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGFwcCBzaG91bGQgYm9vdHN0cmFwIHRoZSBhdXRoZW50aWNhdGlvbi5cclxuICAgICAgICAgICAgY29uc3Qgc2hvdWxkQm9vdHN0cmFwID0gdGhpcy5fY29uZmlnPy5ib290c3RyYXAgPz8gdHJ1ZTtcclxuICAgICAgICAgICAgaWYgKCFzaG91bGRCb290c3RyYXApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUF1dG9SZWZyZXNoaW5nKCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIE9ubHkgcmV0cmlldmUgZnJvbSB0aGUgc2VydmVyIHdoZW4gd2UgYXJlIGFjdHVhbGx5IGF1dGhlbnRpY2F0ZWQuXHJcbiAgICAgICAgICAgIGlmICghdGhpcy5zZXNzaW9uLmF1dGhlbnRpY2F0ZWQoKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBHZXQgdGhlIGtleSBmcm9tIHRoZSBzZXJ2ZXIgc3RhdGUuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9zdGF0ZSAmJiB0aGlzLl9zdGF0ZT8uaGFzS2V5KHRoaXMuX2F1dGhTdGF0ZUtleSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLl9zdGF0ZT8uZ2V0KHRoaXMuX2F1dGhTdGF0ZUtleSwgbnVsbCkgPz8gbnVsbDtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uc2V0VXNlcih1c2VyKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gVHJ5IHRvIGZldGNoIHRoZSB1c2VyIGZyb20gdGhlIHNlcnZlci5cclxuICAgICAgICAgICAgY29uc3QgdXNlciQgPSB0aGlzLm1lKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHVzZXIgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh1c2VyJCwge2RlZmF1bHRWYWx1ZTogbnVsbH0pO1xyXG5cclxuICAgICAgICAgICAgLy8gU2V0IHRoZSBzdGF0ZSBpZiBleGlzdHMuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9zdGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc3RhdGU/LnNldDxhbnk+KHRoaXMuX2F1dGhTdGF0ZUtleSwgdXNlciA/PyBudWxsKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gU2F2ZSB0aGUgdXNlciBpbiB0aGUgc3RvcmFnZSBhbmQgaGFuZGxlIGF1dG8gcmVmcmVzaGluZy5cclxuICAgICAgICAgICAgdGhpcy5zZXNzaW9uLnNldFVzZXIodXNlcik7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQXV0b1JlZnJlc2hpbmcoKTtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIG1lPFQgPSBhbnk+KCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0VXJsKCdhdXRoL21lJyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnQuZ2V0PFQ+KHVybCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2lnbkluKHByb3ZpZGVyOiBBdXRoUHJvdmlkZXIsIGFzPzogc3RyaW5nW10pIHtcclxuICAgICAgICBjb25zdCB7YWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbiwgdXNlciwgLi4ucmVzdWx0fSA9IGF3YWl0IHByb3ZpZGVyLmF1dGhlbnRpY2F0ZSh0aGlzLl9odHRwQ2xpZW50KTtcclxuXHJcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHJvbGUgbWF0Y2hlcy5cclxuICAgICAgICBpZiAoYXMgJiYgIWFzLmluY2x1ZGVzKHRoaXMuX21hcHBlci5yb2xlKHVzZXIpKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcm9sZS4nKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFZhbGlkYXRlIGlmIHRoZSBwcm92aWRlciBpcyBvbmUgb2YgdGhlIGF2YWlsYWJsZVxyXG4gICAgICAgIC8vIHByb3ZpZGVycyB0aGVuIHJldHVybiB0aGUgdXNlciBvYmplY3QgYW5kIHRoZSBwcm92aWRlci5cclxuICAgICAgICBjb25zdCBhcGlQcm92aWRlciA9IHJlc3VsdD8ucHJvdmlkZXIgPz8gbnVsbDtcclxuICAgICAgICBjb25zdCBhcGlWZXJpZnlUb2tlbiA9IHJlc3VsdD8udmVyaWZ5VG9rZW4gPz8gbnVsbDtcclxuICAgICAgICBjb25zdCBhdmFpbGFibGVQcm92aWRlcnMgPSBbJ2VtYWlsJywgJ3NtcycsICd0b3RwJ107XHJcbiAgICAgICAgaWYgKGF2YWlsYWJsZVByb3ZpZGVycy5pbmNsdWRlcyhhcGlQcm92aWRlcikpIHtcclxuICAgICAgICAgICAgcmV0dXJuIDxBdXRoU2lnbkluUmVzcG9uc2U+e3VzZXIsIHByb3ZpZGVyOiBhcGlQcm92aWRlciwgdmVyaWZ5VG9rZW46IGFwaVZlcmlmeVRva2VufTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFNldCB0aGUgdG9rZW5zIGluIHN0b3JhZ2UuXHJcbiAgICAgICAgdGhpcy5zZXRUb2tlbnMoYWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbik7XHJcblxyXG4gICAgICAgIC8vIFNldCB0aGUgdXNlciBpbiBzdG9yYWdlLlxyXG4gICAgICAgIHRoaXMuc2Vzc2lvbi5zZXRVc2VyKHVzZXIpO1xyXG5cclxuICAgICAgICAvLyBSZXR1cm4gdGhlIHVzZXIuXHJcbiAgICAgICAgcmV0dXJuIDxBdXRoU2lnbkluUmVzcG9uc2U+e3VzZXJ9O1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNpZ25JbldpdGhFbWFpbChlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nLCBhcz86IHN0cmluZ1tdKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5nZXRVcmwoJ2F1dGgvbG9naW4nKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5zaWduSW4obmV3IEF1dGhFbWFpbFByb3ZpZGVyKGVtYWlsLCBwYXNzd29yZCwgdXJsKSwgYXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNpZ25JbldpdGhWZXJpZnlDb2RlKGNvZGU6IHN0cmluZywgdmVyaWZ5VG9rZW46IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0VXJsKCdhdXRoL3ZlcmlmeScpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNpZ25JbihuZXcgQXV0aFZlcmlmeVByb3ZpZGVyKGNvZGUsIHZlcmlmeVRva2VuLCB1cmwpKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZXNlbmRWZXJpZnlDb2RlKHZlcmlmeVRva2VuOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmdldFVybCgnYXV0aC9yZXNlbmQnKTtcclxuICAgICAgICBjb25zdCByZXN1bHQkID0gdGhpcy5faHR0cENsaWVudC5wb3N0KHVybCwge1xyXG4gICAgICAgICAgICB2ZXJpZnlfdG9rZW46IHZlcmlmeVRva2VuXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShyZXN1bHQkKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZWdpc3RlcjxUID0gYW55PihkYXRhOiBhbnksIG9wdGlvbnM/OiB7XHJcbiAgICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xyXG4gICAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XHJcbiAgICAgICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IFJlYWRvbmx5QXJyYXk8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj47XHJcbiAgICAgICAgfTtcclxuICAgIH0pIHtcclxuICAgICAgICAvLyBFeGVjdXRlIEFQSSBjYWxsLlxyXG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0VXJsKCdhdXRoL3JlZ2lzdGVyJyk7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0JCA9IHRoaXMuX2h0dHBDbGllbnQucG9zdCh1cmwsIGRhdGEsIG9wdGlvbnMpO1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHJlc3VsdCQpO1xyXG5cclxuICAgICAgICAvLyBNYXAgdG8gdGhlIGNvcnJlY3QgcmVzcG9uc2UuXHJcbiAgICAgICAgY29uc3Qge2FjY2Vzc1Rva2VuLCByZWZyZXNoVG9rZW4sIHVzZXJ9ID0gdGhpcy5fbWFwcGVyLnRvUmVnaXN0ZXIocmVzdWx0KTtcclxuXHJcbiAgICAgICAgLy8gU2V0IHRoZSB0b2tlbnMgaW4gc3RvcmFnZS5cclxuICAgICAgICB0aGlzLnNldFRva2VucyhhY2Nlc3NUb2tlbiwgcmVmcmVzaFRva2VuKTtcclxuXHJcbiAgICAgICAgLy8gU2V0IHRoZSB1c2VyIGluIHN0b3JhZ2UuXHJcbiAgICAgICAgdGhpcy5zZXNzaW9uLnNldFVzZXIodXNlcik7XHJcblxyXG4gICAgICAgIC8vIFJldHVybiB0aGUgdXNlci5cclxuICAgICAgICByZXR1cm4gPFQ+dXNlcjtcclxuICAgIH1cclxuXHJcbiAgICBsb2dvdXQoKSB7XHJcbiAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIHJlZnJlc2ggdG9rZW4ganVzdCBjbGVhciB0aGUgc2Vzc2lvbi5cclxuICAgICAgICAvLyBOb3RlOiBXZSBkbyB0aGlzIGJlY2F1c2UgZWxzZSB3ZSB0cnkgdG8gaW52YWxpZGF0ZVxyXG4gICAgICAgIC8vIGFuIFwidW5kZWZpbmVkXCIgcmVmcmVzaCB0b2tlbi5cclxuICAgICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSB0aGlzLnNlc3Npb24ucmVmcmVzaFRva2VuO1xyXG4gICAgICAgIGlmICghcmVmcmVzaFRva2VuKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uY2xlYXIoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFdlIGRvIGhhdmUgYSByZWZyZXNoIHRva2VuLCBzbyB0cnkgdG9cclxuICAgICAgICAvLyBpbnZhbGlkYXRlIGl0IGluIHRoZSBiYWNrZW5kLlxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0VXJsKCdhdXRoL2xvZ291dCcpO1xyXG4gICAgICAgICAgICBjb25zdCBvYnNlcnZhYmxlJCA9IHRoaXMuX2h0dHBDbGllbnQuZ2V0KHVybCwge1xyXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge0F1dGhvcml6YXRpb246IHJlZnJlc2hUb2tlbn1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGZpcnN0VmFsdWVGcm9tKG9ic2VydmFibGUkKS50aGVuKF8gPT4gXyk7XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICAgIC8vIERvIG5vdGhpbmcgYmVjYXVzZSB0aGUgdG9rZW5zIHdpbGwgYmUgZGVsZXRlZCBhbnl3YXlzIGZyb20gdGhlIHNlc3Npb24uXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBEZWxldGUgdGhlIHRva2VucyBmcm9tIHRoZSBzZXNzaW9uLlxyXG4gICAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uY2xlYXIoKTtcclxuICAgIH1cclxuXHJcbiAgICByZWZyZXNoKCkge1xyXG4gICAgICAgIC8vIElmIHRoZSByZWZyZXNoIHRva2VuIGRvZXNcclxuICAgICAgICAvLyBub3QgZXhpc3QganVzdCByZXR1cm4gYW4gb2JzZXJ2YWJsZSBvZiBudWxsLlxyXG4gICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IHRoaXMuc2Vzc2lvbi5yZWZyZXNoVG9rZW47XHJcbiAgICAgICAgaWYgKCFyZWZyZXNoVG9rZW4pIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gUGVyZm9ybSB0aGUgcmVmcmVzaCBjYWxsLlxyXG4gICAgICAgIGNvbnN0IHNjaGVtZSA9IHRoaXMuX2NvbmZpZz8uc2NoZW1lID8/ICdCZWFyZXInO1xyXG5cclxuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmdldFVybCgnYXV0aC9yZWZyZXNoJyk7XHJcbiAgICAgICAgY29uc3QgY29udGV4dCA9IG5ldyBIdHRwQ29udGV4dCgpXHJcbiAgICAgICAgICAgIC5zZXQoVVNFX0FVVEhPUklaQVRJT04sIGZhbHNlKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnQuZ2V0KHVybCwge1xyXG4gICAgICAgICAgICBoZWFkZXJzOiB7QXV0aG9yaXphdGlvbjogYCR7c2NoZW1lfSAke3JlZnJlc2hUb2tlbn1gfSxcclxuICAgICAgICAgICAgY29udGV4dDogY29udGV4dFxyXG4gICAgICAgIH0pLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChkYXRhID0+IHRoaXMuX21hcHBlci50b1JlZnJlc2goZGF0YSkpLFxyXG4gICAgICAgICAgICB0YXAoKHthY2Nlc3NUb2tlbiwgcmVmcmVzaFRva2VufSkgPT4gdGhpcy5zZXRUb2tlbnMoYWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbikpLFxyXG4gICAgICAgICAgICBtYXAoKHthY2Nlc3NUb2tlbn0pID0+IGFjY2Vzc1Rva2VuKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcmVxdWVzdFBhc3N3b3JkKGVtYWlsOiBzdHJpbmcsIGV4dHJhUGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge30pIHtcclxuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmdldFVybCgnYXV0aC9yZXNldCcpO1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmFibGUkID0gdGhpcy5faHR0cENsaWVudC5wb3N0KHVybCwgey4uLmV4dHJhUGFyYW1zLCBlbWFpbH0pO1xyXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShvYnNlcnZhYmxlJCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcmVzZXRQYXNzd29yZCh0b2tlbjogc3RyaW5nLCBuZXdQYXNzd29yZDogc3RyaW5nLCBleHRyYVBhcmFtczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9KSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5nZXRVcmwoJ2F1dGgvcmVzZXQtcGFzc3dvcmQnKTtcclxuICAgICAgICBjb25zdCBvYnNlcnZhYmxlJCA9IHRoaXMuX2h0dHBDbGllbnQucG9zdCh1cmwsIHsuLi5leHRyYVBhcmFtcywgdG9rZW4sIHBhc3N3b3JkOiBuZXdQYXNzd29yZH0pO1xyXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShvYnNlcnZhYmxlJCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ3VhcmQodHlwZTogc3RyaW5nLCByZWRpcmVjdFVybD86IHN0cmluZykge1xyXG4gICAgICAgIGxldCBuZXdVcmw6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gICAgICAgIC8vIEdldCB0aGUgY29ycmVjdCBuZXcgdXJsLlxyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlICdhdXRoZW50aWNhdGVkJzpcclxuICAgICAgICAgICAgICAgIG5ld1VybCA9IHRoaXMuX2NvbmZpZz8ubG9nZ2VkSW5VcmwgPz8gbnVsbDtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICd1bmF1dGhlbnRpY2F0ZWQnOlxyXG4gICAgICAgICAgICAgICAgbmV3VXJsID0gdGhpcy5fY29uZmlnPy5yZWRpcmVjdFVybCA/PyBudWxsO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBcHBlbmQgYSByZWRpcmVjdCB1cmwgaWYgdGhlIHVzZXIgaXMgZGVlbWVkXHJcbiAgICAgICAgLy8gdW5hdXRoZW50aWNhdGVkLlxyXG4gICAgICAgIGlmICh0eXBlID09PSAndW5hdXRoZW50aWNhdGVkJykge1xyXG4gICAgICAgICAgICBjb25zdCBzZXRSZWRpcmVjdE9uRmFpbGVkQXV0aCA9IHRoaXMuX2NvbmZpZz8uc2V0UmVkaXJlY3RPbkZhaWxlZEF1dGggPz8gdHJ1ZTtcclxuICAgICAgICAgICAgaWYgKHNldFJlZGlyZWN0T25GYWlsZWRBdXRoICYmIHJlZGlyZWN0VXJsICYmIG5ld1VybCkge1xyXG4gICAgICAgICAgICAgICAgbmV3VXJsICs9IGA/cmVkaXJlY3RVcmw9JHtyZWRpcmVjdFVybH1gO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBQYXJzZSB0aGUgdXJsIGlmIGl0IGV4aXN0cy5cclxuICAgICAgICBpZiAodGhpcy5yb3V0ZXIgJiYgbmV3VXJsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5wYXJzZVVybChuZXdVcmwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gUmV0dXJuIGZhbHNlIGlmIHRoZSB1c2VyIGlzIG5vdCBhbGxvd2VkLlxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjbGVhckFuZFJlZGlyZWN0KCkge1xyXG4gICAgICAgIC8vIDEuIERlbGV0ZSB0aGUgdG9rZW5zIGZyb20gdGhlIHNlc3Npb24uXHJcbiAgICAgICAgdGhpcy5zZXNzaW9uLmNsZWFyKCk7XHJcblxyXG4gICAgICAgIC8vIDIuIENvbXBvc2UgdGhlIHJvdXRlIHVybC5cclxuICAgICAgICBjb25zdCByZWRpcmVjdFVybCA9IHRoaXMuX2NvbmZpZz8ucmVkaXJlY3RVcmwgPz8gbnVsbDtcclxuXHJcbiAgICAgICAgLy8gMy4gUm91dGUgYmFjayBpZiB0aGUgdXNlciBwcm92aWRlZCBhIHJlZGlyZWN0IHVybC5cclxuICAgICAgICBpZiAodGhpcy5yb3V0ZXIgJiYgcmVkaXJlY3RVcmwpIHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3JlZGlyZWN0VXJsXSkudGhlbihfID0+IF8pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFRva2VucyhhY2Nlc3NUb2tlbjogc3RyaW5nLCByZWZyZXNoVG9rZW46IHN0cmluZykge1xyXG4gICAgICAgIC8vIFNldCB0aGUgdG9rZW5zIGluIG91ciBzZXNzaW9uLlxyXG4gICAgICAgIHRoaXMuc2Vzc2lvbi5zZXRUb2tlbnMoYWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbik7XHJcblxyXG4gICAgICAgIC8vIFdlIG5lZWQgdG8gdXBkYXRlIHRoZSBhdXRvIHJlZnJlc2ggb2YgdGhlIHJlZnJlc2ggdG9rZW4uXHJcbiAgICAgICAgdGhpcy5oYW5kbGVBdXRvUmVmcmVzaGluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlQXV0b1JlZnJlc2hpbmcoKSB7XHJcbiAgICAgICAgY29uc3Qgc2hvdWxkQXV0b1JlZnJlc2ggPSB0aGlzLl9jb25maWc/LmF1dG9SZWZyZXNoID8/IGZhbHNlO1xyXG4gICAgICAgIGlmICghc2hvdWxkQXV0b1JlZnJlc2gpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZXhwaXJlc0F0ID0gdGhpcy5zZXNzaW9uLnJlZnJlc2hUb2tlblBheWxvYWQ/LmV4cGlyZXNBdCA/PyBudWxsO1xyXG4gICAgICAgIGlmIChleHBpcmVzQXQgPT09IG51bGwgfHwgIXRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMgPSBleHBpcmVzQXQuZ2V0VGltZSgpIC0gRGF0ZS5ub3coKTtcclxuICAgICAgICBjb25zdCBvZmZzZXRJbk1pbGxpc2Vjb25kcyA9IDEwXzAwMDsgLy8gMTAgc2Vjb25kcy5cclxuXHJcbiAgICAgICAgLy8gV2Ugd2FudCB0byBzdGFydCB0aGUgcmVmcmVzaCAxMCBzZWNvbmRzIGJlZm9yZSBpdCBleHBpcmVzLlxyXG4gICAgICAgIGNvbnN0IGFjdHVhbFRpbWluZyA9IGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcyAtIG9mZnNldEluTWlsbGlzZWNvbmRzO1xyXG4gICAgICAgIGlmIChhY3R1YWxUaW1pbmcgPD0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBXZSBuZWVkIHRvIGNhcCB0aGUgdGltaW5ncyBiZWNhdXNlIGlmXHJcbiAgICAgICAgLy8gd2UgZ2V0IGxhcmdlIG51bWJlcnMgaXQgbWlnaHQgY2F1c2UgdW53YW50ZWQgcmVzdWx0cy5cclxuICAgICAgICBjb25zdCBtYXhUaW1pbmcgPSAxMDAwICogNjAgKiA2MCAqIDI0OyAvLyAyNCBob3Vycy5cclxuICAgICAgICBjb25zdCBjYXBwZWRUaW1pbmcgPSBNYXRoLm1heCgxLCBNYXRoLm1pbihhY3R1YWxUaW1pbmcsIG1heFRpbWluZykpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9yZWZyZXNoSGFuZGxlciAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0Py4odGhpcy5fcmVmcmVzaEhhbmRsZXIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVmcmVzaEhhbmRsZXIgPSBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hIYW5kbGVyID0gc2V0VGltZW91dD8uKCgpID0+IHRoaXMuYXV0b1JlZnJlc2goKSwgY2FwcGVkVGltaW5nKTtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgICAgLy8gSnVzdCBpZ25vcmUgaXQuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgYXV0b1JlZnJlc2goKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgLy8gV2UganVzdCBuZWVkIHRvIHdhaXQgZm9yIGl0IHRvIHJlZnJlc2guXHJcbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2gkID0gdGhpcy5yZWZyZXNoKCk7XHJcbiAgICAgICAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHJlZnJlc2gkKTtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgICAgLy8gU29tZXRoaW5nIHdlbnQgd3JvbmcgcmVmcmVzaGluZywgd2UgbmVlZCB0byBjbGVhci5cclxuICAgICAgICAgICAgdGhpcy5jbGVhckFuZFJlZGlyZWN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0IHJvdXRlcigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faW5qZWN0b3IuZ2V0KFJvdXRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRVcmwoZW5kcG9pbnQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiBbdGhpcy5faHR0cEFsaWFzLCBlbmRwb2ludF1cclxuICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+ICEhaXRlbSlcclxuICAgICAgICAgICAgLmpvaW4oJy8nKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
@@ -20,9 +20,9 @@ export class BbAuthenticated {
20
20
  this._subscription?.unsubscribe();
21
21
  }
22
22
  }
23
- BbAuthenticated.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbAuthenticated, deps: [{ token: i1.Auth }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
24
- BbAuthenticated.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", type: BbAuthenticated, selector: "[bbAuthenticated]", ngImport: i0 });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbAuthenticated, decorators: [{
23
+ BbAuthenticated.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbAuthenticated, deps: [{ token: i1.Auth }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
24
+ BbAuthenticated.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: BbAuthenticated, selector: "[bbAuthenticated]", ngImport: i0 });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbAuthenticated, decorators: [{
26
26
  type: Directive,
27
27
  args: [{
28
28
  selector: '[bbAuthenticated]'
@@ -65,9 +65,9 @@ export class BbPermission {
65
65
  }
66
66
  }
67
67
  }
68
- BbPermission.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbPermission, deps: [{ token: i1.Permissions }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
69
- BbPermission.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", type: BbPermission, selector: "[bbPermission]", inputs: { bbPermission: "bbPermission", bbPermissionElse: "bbPermissionElse" }, ngImport: i0 });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbPermission, decorators: [{
68
+ BbPermission.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbPermission, deps: [{ token: i1.Permissions }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
69
+ BbPermission.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: BbPermission, selector: "[bbPermission]", inputs: { bbPermission: "bbPermission", bbPermissionElse: "bbPermissionElse" }, ngImport: i0 });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbPermission, decorators: [{
71
71
  type: Directive,
72
72
  args: [{
73
73
  selector: '[bbPermission]'
@@ -24,9 +24,9 @@ export class BbRole {
24
24
  this._subscription?.unsubscribe();
25
25
  }
26
26
  }
27
- BbRole.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbRole, deps: [{ token: i1.Auth }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
28
- BbRole.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", type: BbRole, selector: "[bbRole]", inputs: { bbRole: "bbRole" }, ngImport: i0 });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbRole, decorators: [{
27
+ BbRole.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbRole, deps: [{ token: i1.Auth }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
28
+ BbRole.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: BbRole, selector: "[bbRole]", inputs: { bbRole: "bbRole" }, ngImport: i0 });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbRole, decorators: [{
30
30
  type: Directive,
31
31
  args: [{
32
32
  selector: '[bbRole]'
@@ -23,9 +23,9 @@ export class BbAnonymousGuard {
23
23
  return this.canActivate(childRoute, state);
24
24
  }
25
25
  }
26
- BbAnonymousGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbAnonymousGuard, deps: [{ token: i1.Auth }], target: i0.ɵɵFactoryTarget.Injectable });
27
- BbAnonymousGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbAnonymousGuard, providedIn: 'root' });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbAnonymousGuard, decorators: [{
26
+ BbAnonymousGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbAnonymousGuard, deps: [{ token: i1.Auth }], target: i0.ɵɵFactoryTarget.Injectable });
27
+ BbAnonymousGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbAnonymousGuard, providedIn: 'root' });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbAnonymousGuard, decorators: [{
29
29
  type: Injectable,
30
30
  args: [{
31
31
  providedIn: 'root'
@@ -24,9 +24,9 @@ export class BbAuthenticatedGuard {
24
24
  return this.canActivate(childRoute, state);
25
25
  }
26
26
  }
27
- BbAuthenticatedGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbAuthenticatedGuard, deps: [{ token: i1.Auth }], target: i0.ɵɵFactoryTarget.Injectable });
28
- BbAuthenticatedGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbAuthenticatedGuard, providedIn: 'root' });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbAuthenticatedGuard, decorators: [{
27
+ BbAuthenticatedGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbAuthenticatedGuard, deps: [{ token: i1.Auth }], target: i0.ɵɵFactoryTarget.Injectable });
28
+ BbAuthenticatedGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbAuthenticatedGuard, providedIn: 'root' });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbAuthenticatedGuard, decorators: [{
30
30
  type: Injectable,
31
31
  args: [{
32
32
  providedIn: 'root'
@@ -27,9 +27,9 @@ export class AuthMapper {
27
27
  return { accessToken: token, refreshToken: refresh_token };
28
28
  }
29
29
  }
30
- AuthMapper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: AuthMapper, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
31
- AuthMapper.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: AuthMapper });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: AuthMapper, decorators: [{
30
+ AuthMapper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AuthMapper, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
31
+ AuthMapper.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AuthMapper });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AuthMapper, decorators: [{
33
33
  type: Injectable
34
34
  }] });
35
35
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGVyLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vYXV0aC9zcmMvbGliL2hlbHBlcnMvbWFwcGVyLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUd6QyxNQUFNLE9BQU8sVUFBVTtJQUR2QjtRQUdJLFVBQVU7UUFDVixPQUFFLEdBQVcsU0FBUyxDQUFDO1FBQ3ZCLGFBQVEsR0FBVyxlQUFlLENBQUM7UUFDbkMsZUFBVSxHQUFXLGFBQWEsQ0FBQztRQUNuQyxXQUFNLEdBQVcsYUFBYSxDQUFDO1FBQy9CLFlBQU8sR0FBVyxjQUFjLENBQUM7UUFDakMsb0JBQWUsR0FBVyxZQUFZLENBQUM7UUFDdkMsa0JBQWEsR0FBVyxxQkFBcUIsQ0FBQztLQXNCakQ7SUFwQkcsSUFBSSxDQUFDLElBQVM7UUFDVixPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFTO1FBQ2hCLHVCQUF1QjtRQUN2QixNQUFNLEVBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFFMUMsc0NBQXNDO1FBQ3RDLE9BQU8sRUFBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBUztRQUNmLHVCQUF1QjtRQUN2QixNQUFNLEVBQUMsS0FBSyxFQUFFLGFBQWEsRUFBQyxHQUFHLElBQUksQ0FBQztRQUVwQyxzQ0FBc0M7UUFDdEMsT0FBTyxFQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBQyxDQUFDO0lBQzdELENBQUM7O3VHQTdCUSxVQUFVOzJHQUFWLFVBQVU7MkZBQVYsVUFBVTtrQkFEdEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXV0aE1hcHBlclByb3RvY29sfSBmcm9tICcuLi9pbnRlcmZhY2VzL21hcHBlci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXV0aE1hcHBlciBpbXBsZW1lbnRzIEF1dGhNYXBwZXJQcm90b2NvbCB7XHJcblxyXG4gICAgLy8gUm91dGVzLlxyXG4gICAgbWU6IHN0cmluZyA9ICdhdXRoL21lJztcclxuICAgIHJlZ2lzdGVyOiBzdHJpbmcgPSAnYXV0aC9yZWdpc3Rlcic7XHJcbiAgICByZXNlbmRDb2RlOiBzdHJpbmcgPSAnYXV0aC9yZXNlbmQnO1xyXG4gICAgbG9nb3V0OiBzdHJpbmcgPSAnYXV0aC9sb2dvdXQnO1xyXG4gICAgcmVmcmVzaDogc3RyaW5nID0gJ2F1dGgvcmVmcmVzaCc7XHJcbiAgICByZXF1ZXN0UGFzc3dvcmQ6IHN0cmluZyA9ICdhdXRoL3Jlc2V0JztcclxuICAgIHJlc2V0UGFzc3dvcmQ6IHN0cmluZyA9ICdhdXRoL3Jlc2V0LXBhc3N3b3JkJztcclxuXHJcbiAgICByb2xlKGRhdGE6IGFueSkge1xyXG4gICAgICAgIHJldHVybiAoZGF0YSAmJiBkYXRhLnJvbGUpIHx8IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgdG9SZWdpc3RlcihkYXRhOiBhbnkpIHtcclxuICAgICAgICAvLyBSZXRyaWV2ZSB0aGUgcGFyYW1zLlxyXG4gICAgICAgIGNvbnN0IHt0b2tlbiwgcmVmcmVzaF90b2tlbiwgdXNlcn0gPSBkYXRhO1xyXG5cclxuICAgICAgICAvLyBNYXAgdGhlIGRhdGEgdG8gdGhlIGNvcnJlY3QgZm9ybWF0LlxyXG4gICAgICAgIHJldHVybiB7YWNjZXNzVG9rZW46IHRva2VuLCByZWZyZXNoVG9rZW46IHJlZnJlc2hfdG9rZW4sIHVzZXI6IHVzZXJ9O1xyXG4gICAgfVxyXG5cclxuICAgIHRvUmVmcmVzaChkYXRhOiBhbnkpIHtcclxuICAgICAgICAvLyBSZXRyaWV2ZSB0aGUgcGFyYW1zLlxyXG4gICAgICAgIGNvbnN0IHt0b2tlbiwgcmVmcmVzaF90b2tlbn0gPSBkYXRhO1xyXG5cclxuICAgICAgICAvLyBNYXAgdGhlIGRhdGEgdG8gdGhlIGNvcnJlY3QgZm9ybWF0LlxyXG4gICAgICAgIHJldHVybiB7YWNjZXNzVG9rZW46IHRva2VuLCByZWZyZXNoVG9rZW46IHJlZnJlc2hfdG9rZW59O1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
@@ -46,9 +46,9 @@ export class Permissions {
46
46
  return permission?.includes(role) ?? false;
47
47
  }
48
48
  }
49
- Permissions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Permissions, deps: [{ token: i1.Auth }, { token: i2.AuthConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
50
- Permissions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Permissions });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Permissions, decorators: [{
49
+ Permissions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: Permissions, deps: [{ token: i1.Auth }, { token: i2.AuthConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
50
+ Permissions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: Permissions });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: Permissions, decorators: [{
52
52
  type: Injectable
53
53
  }], ctorParameters: function () { return [{ type: i1.Auth }, { type: i2.AuthConfig, decorators: [{
54
54
  type: Optional
@@ -66,16 +66,16 @@ export class Collection {
66
66
  }
67
67
  getState(data) {
68
68
  if (!!data?.error) {
69
- return "error" /* Error */;
69
+ return "error" /* CollectionState.Error */;
70
70
  }
71
71
  if (!!data?.initial) {
72
- return "initial" /* Initial */;
72
+ return "initial" /* CollectionState.Initial */;
73
73
  }
74
74
  const count = data?.response?.data?.length ?? 0;
75
75
  if (count <= 0) {
76
- return "empty" /* Empty */;
76
+ return "empty" /* CollectionState.Empty */;
77
77
  }
78
- return "data" /* Data */;
78
+ return "data" /* CollectionState.Data */;
79
79
  }
80
80
  cacheCollectionData(data) {
81
81
  this.raw$.next(data);
@@ -99,4 +99,4 @@ export class Collection {
99
99
  return this.queryControl.valueChanges.pipe(debounceTime(400), distinctUntilChanged(), startWith(this.queryControl?.value));
100
100
  }
101
101
  }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29sbGVjdGlvbnMvc3JjL2xpYi9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlHLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBYyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFbEYsT0FBTyxFQUFrQixXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQVM1RCxNQUFNLE9BQU8sVUFBVTtJQTJCbkIsWUFBNkIsU0FBZ0MsRUFDaEMsaUJBQTZDLEVBQUU7UUFEL0MsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWlDO1FBVG5FLFNBQUksR0FBRyxJQUFJLGVBQWUsQ0FBMkIsSUFBSSxDQUFDLENBQUM7UUFDM0QsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBRXZELFNBQVM7UUFDRCxlQUFVLEdBQXlDLElBQUksQ0FBQztRQUN4RCxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDM0Msa0JBQWEsR0FBNkIsSUFBSSxDQUFDO1FBaUkvQyx3QkFBbUIsR0FBRyxDQUFjLE9BQXdCLEVBQUUsRUFBRTtZQUNwRSxPQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUM1QixvQkFBb0IsRUFBSyxFQUN6QixTQUFTLENBQUMsT0FBTyxFQUFFLEtBQVUsQ0FBQyxDQUNqQyxDQUFDO1FBQ04sQ0FBQyxDQUFDO1FBbElFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxXQUFXLENBQUMsY0FBYyxF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LENBQUMsQ0FDTixDQUFDO0lBQ04sQ0FBQztJQUVPLGtCQUFrQjtRQUN0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDdEMsWUFBWSxDQUFTLEdBQUcsQ0FBQyxFQUN6QixvQkFBb0IsRUFBVSxFQUM5QixTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFzQixDQUFDLENBQ3ZELENBQUM7SUFDTixDQUFDO0NBU0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NhdGNoRXJyb3IsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge0NvbGxlY3Rpb25EYXRhLCBDb2xsZWN0aW9uUmVxdWVzdCwgQ29sbGVjdGlvblJlcXVlc3RTb3J0fSBmcm9tICcuL2ludGVyZmFjZXMvY29sbGVjdGlvbi5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7Q29sbGVjdGlvblByb3ZpZGVyfSBmcm9tICcuL3Byb3ZpZGVycy9jb2xsZWN0aW9uLnByb3ZpZGVyJztcclxuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5leHBvcnQgY29uc3QgZW51bSBDb2xsZWN0aW9uU3RhdGUge1xyXG4gICAgSW5pdGlhbCA9ICdpbml0aWFsJyxcclxuICAgIEVycm9yID0gJ2Vycm9yJyxcclxuICAgIEVtcHR5ID0gJ2VtcHR5JyxcclxuICAgIERhdGEgPSAnZGF0YSdcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb248VD4ge1xyXG5cclxuICAgIC8vIENvbnRyb2xzLlxyXG4gICAgcmVhZG9ubHkgcXVlcnlDb250cm9sOiBGb3JtQ29udHJvbDtcclxuICAgIHJlYWRvbmx5IHF1ZXJ5RmllbGRzQ29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICByZWFkb25seSBwYWdlTnVtYmVyQ29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICByZWFkb25seSBwYWdlU2l6ZUNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG4gICAgcmVhZG9ubHkgc29ydENvbnRyb2w6IEZvcm1Db250cm9sO1xyXG5cclxuICAgIC8vIFJlcXVlc3QuXHJcbiAgICByZWFkb25seSBkYXRhJDogT2JzZXJ2YWJsZTx7XHJcbiAgICAgICAgcmVzcG9uc2U/OiBDb2xsZWN0aW9uRGF0YTxUPixcclxuICAgICAgICByZXF1ZXN0PzogQ29sbGVjdGlvblJlcXVlc3QsXHJcbiAgICAgICAgZXJyb3I/OiBFcnJvclxyXG4gICAgICAgIHN0YXRlOiBDb2xsZWN0aW9uU3RhdGUsXHJcbiAgICAgICAgbG9hZGluZzogYm9vbGVhbixcclxuICAgICAgICBpbml0aWFsOiBib29sZWFuXHJcbiAgICB9PjtcclxuXHJcbiAgICByZWFkb25seSByYXckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDb2xsZWN0aW9uRGF0YTxUPiB8IG51bGw+KG51bGwpO1xyXG4gICAgcmVhZG9ubHkgbG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xyXG5cclxuICAgIC8vIFN0YXRlLlxyXG4gICAgcHJpdmF0ZSBfZm9ybWF0dGVyOiAoaXRlbTogVFtdKSA9PiBUW10gfCBPYnNlcnZhYmxlPFRbXT4gPSBudWxsO1xyXG4gICAgcHJpdmF0ZSBfcmVmcmVzaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XHJcbiAgICBwcml2YXRlIF9yZXF1ZXN0Q2FjaGU6IENvbGxlY3Rpb25SZXF1ZXN0IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfcHJvdmlkZXI6IENvbGxlY3Rpb25Qcm92aWRlcjxUPixcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2luaXRpYWxWYWx1ZXM6IFBhcnRpYWw8Q29sbGVjdGlvblJlcXVlc3Q+ID0ge30pIHtcclxuICAgICAgICB0aGlzLnF1ZXJ5Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChfaW5pdGlhbFZhbHVlcz8ucXVlcnkgPz8gbnVsbCk7XHJcbiAgICAgICAgdGhpcy5xdWVyeUZpZWxkc0NvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woX2luaXRpYWxWYWx1ZXM/LnF1ZXJ5RmllbGRzID8/IFtdKTtcclxuICAgICAgICB0aGlzLnBhZ2VOdW1iZXJDb250cm9sID0gbmV3IEZvcm1Db250cm9sKF9pbml0aWFsVmFsdWVzPy5wYWdlTnVtYmVyID8/IDEpO1xyXG4gICAgICAgIHRoaXMucGFnZVNpemVDb250cm9sID0gbmV3IEZvcm1Db250cm9sKF9pbml0aWFsVmFsdWVzPy5wYWdlU2l6ZSA/PyAyNSk7XHJcbiAgICAgICAgdGhpcy5zb3J0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChfaW5pdGlhbFZhbHVlcz8uc29ydCA/PyBudWxsKTtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRhJCA9IHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZnJlc2goKSB7XHJcbiAgICAgICAgdGhpcy5fcmVmcmVzaCQubmV4dCgwKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRGb3JtYXR0ZXIoY2FsbGJhY2s6IChpdGVtczogVFtdKSA9PiBUW10gfCBPYnNlcnZhYmxlPFRbXT4pIHtcclxuICAgICAgICB0aGlzLl9mb3JtYXR0ZXIgPSBjYWxsYmFjaztcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldERhdGEoKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YSQgPSB0aGlzLnJlcXVlc3QucGlwZShcclxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMubG9hZGluZyQubmV4dCh0cnVlKSksXHJcbiAgICAgICAgICAgIG1hcChyZXF1ZXN0ID0+IHRoaXMudmFsaWRhdGVSZXF1ZXN0KHJlcXVlc3QpKSxcclxuICAgICAgICAgICAgc3dpdGNoTWFwKHJlcXVlc3QgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3ZpZGVyLnRyYW5zZm9ybShyZXF1ZXN0KS5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgIHRhcChyZXNwb25zZSA9PiB0aGlzLmNhY2hlQ29sbGVjdGlvbkRhdGEocmVzcG9uc2UpKSxcclxuICAgICAgICAgICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gKHtyZXNwb25zZSwgcmVxdWVzdCwgaW5pdGlhbDogZmFsc2V9KSksXHJcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZjx7IGVycm9yOiBFcnJvciwgcmVzcG9uc2U6IENvbGxlY3Rpb25EYXRhPFQ+IHwgbnVsbCwgcmVxdWVzdDogQ29sbGVjdGlvblJlcXVlc3QsIGluaXRpYWw6IGJvb2xlYW4gfT4oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2U6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgc3RhcnRXaXRoPHsgaW5pdGlhbDogYm9vbGVhbiwgcmVzcG9uc2U6IENvbGxlY3Rpb25EYXRhPFQ+IHwgbnVsbCB9Pih7aW5pdGlhbDogdHJ1ZSwgcmVzcG9uc2U6IG51bGx9KVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtkYXRhJCwgdGhpcy5sb2FkaW5nJC5hc09ic2VydmFibGUoKV0pLnBpcGUoXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoW2RhdGEsIGxvYWRpbmddKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjb21iaW5lZCA9IHsuLi5kYXRhLCBsb2FkaW5nfTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFJlc3BvbnNlKGRhdGE/LnJlc3BvbnNlKS5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5jb21iaW5lZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiB0aGlzLmdldFN0YXRlKGNvbWJpbmVkKVxyXG4gICAgICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZm9ybWF0UmVzcG9uc2UocmVzcG9uc2U6IENvbGxlY3Rpb25EYXRhPFQ+KSB7XHJcbiAgICAgICAgaWYgKCFyZXNwb25zZSB8fCAhdGhpcy5fZm9ybWF0dGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvZihyZXNwb25zZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBpdGVtcyA9IHJlc3BvbnNlPy5kYXRhID8/IFtdO1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9mb3JtYXR0ZXI/LihpdGVtcykgPz8gaXRlbXM7XHJcbiAgICAgICAgY29uc3QgZGF0YSQgPSBpc09ic2VydmFibGUoZGF0YSkgPyBkYXRhIDogb2YoZGF0YSk7XHJcblxyXG4gICAgICAgIHJldHVybiBkYXRhJC5waXBlKFxyXG4gICAgICAgICAgICBtYXAoZGF0YSA9PiAoey4uLnJlc3BvbnNlLCBkYXRhfSkpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHZhbGlkYXRlUmVxdWVzdChyZXF1ZXN0OiBDb2xsZWN0aW9uUmVxdWVzdCkge1xyXG4gICAgICAgIC8vIFdlIHNob3VsZCByZXNldCB0aGUgcGFnZSBudW1iZXIgd2hlbmV2ZXIgd2UgY2hhbmdlIHRoZSBxdWVyeSBvciB0aGUgcGFnZSBzaXplLlxyXG4gICAgICAgIGlmICh0aGlzLl9yZXF1ZXN0Q2FjaGUgJiYgcmVxdWVzdCAmJiAodGhpcy5fcmVxdWVzdENhY2hlPy5xdWVyeSAhPT0gcmVxdWVzdD8ucXVlcnkgfHwgdGhpcy5fcmVxdWVzdENhY2hlPy5wYWdlU2l6ZSAhPT0gcmVxdWVzdD8ucGFnZVNpemUpKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFnZU51bWJlckNvbnRyb2w/LnNldFZhbHVlKDEsIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XHJcbiAgICAgICAgICAgIHJlcXVlc3QucGFnZU51bWJlciA9IHRoaXMucGFnZU51bWJlckNvbnRyb2w/LnZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fcmVxdWVzdENhY2hlID0gey4uLnJlcXVlc3R9O1xyXG5cclxuICAgICAgICByZXR1cm4gcmVxdWVzdDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFN0YXRlKGRhdGE6IHsgcmVzcG9uc2U/OiBDb2xsZWN0aW9uRGF0YTxUPiwgcmVxdWVzdD86IENvbGxlY3Rpb25SZXF1ZXN0LCBlcnJvcj86IEVycm9yLCBsb2FkaW5nOiBib29sZWFuLCBpbml0aWFsOiBib29sZWFuIH0pIHtcclxuICAgICAgICBpZiAoISFkYXRhPy5lcnJvcikge1xyXG4gICAgICAgICAgICByZXR1cm4gQ29sbGVjdGlvblN0YXRlLkVycm9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCEhZGF0YT8uaW5pdGlhbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gQ29sbGVjdGlvblN0YXRlLkluaXRpYWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBjb3VudCA9IGRhdGE/LnJlc3BvbnNlPy5kYXRhPy5sZW5ndGggPz8gMDtcclxuICAgICAgICBpZiAoY291bnQgPD0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gQ29sbGVjdGlvblN0YXRlLkVtcHR5O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIENvbGxlY3Rpb25TdGF0ZS5EYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2FjaGVDb2xsZWN0aW9uRGF0YShkYXRhOiBDb2xsZWN0aW9uRGF0YTxUPikge1xyXG4gICAgICAgIHRoaXMucmF3JC5uZXh0KGRhdGEpO1xyXG4gICAgICAgIHRoaXMubG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXQgcmVxdWVzdCgpIHtcclxuICAgICAgICBjb25zdCBwYWdlTnVtYmVyJCA9IHRoaXMuY29udHJvbFRvT2JzZXJ2YWJsZTxudW1iZXI+KHRoaXMucGFnZU51bWJlckNvbnRyb2wpO1xyXG4gICAgICAgIGNvbnN0IHBhZ2VTaXplJCA9IHRoaXMuY29udHJvbFRvT2JzZXJ2YWJsZTxudW1iZXI+KHRoaXMucGFnZVNpemVDb250cm9sKTtcclxuICAgICAgICBjb25zdCBxdWVyeSQgPSB0aGlzLmdldFF1ZXJ5T2JzZXJ2YWJsZSgpO1xyXG4gICAgICAgIGNvbnN0IHF1ZXJ5RmllbGRzJCA9IHRoaXMuY29udHJvbFRvT2JzZXJ2YWJsZTxzdHJpbmdbXT4odGhpcy5xdWVyeUZpZWxkc0NvbnRyb2wpO1xyXG4gICAgICAgIGNvbnN0IHNvcnQkID0gdGhpcy5jb250cm9sVG9PYnNlcnZhYmxlPENvbGxlY3Rpb25SZXF1ZXN0U29ydCB8IENvbGxlY3Rpb25SZXF1ZXN0U29ydFtdPih0aGlzLnNvcnRDb250cm9sKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3BhZ2VOdW1iZXIkLCBwYWdlU2l6ZSQsIHF1ZXJ5JCwgcXVlcnlGaWVsZHMkLCBzb3J0JCwgdGhpcy5fcmVmcmVzaCQuYXNPYnNlcnZhYmxlKCldKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKFtwYWdlTnVtYmVyLCBwYWdlU2l6ZSwgcXVlcnksIHF1ZXJ5RmllbGRzLCBzb3J0XSkgPT4gKHtcclxuICAgICAgICAgICAgICAgIHBhZ2VOdW1iZXIsXHJcbiAgICAgICAgICAgICAgICBwYWdlU2l6ZSxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5LFxyXG4gICAgICAgICAgICAgICAgcXVlcnlGaWVsZHMsXHJcbiAgICAgICAgICAgICAgICBzb3J0XHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRRdWVyeU9ic2VydmFibGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucXVlcnlDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWU8c3RyaW5nPig0MDApLFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZDxzdHJpbmc+KCksXHJcbiAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLnF1ZXJ5Q29udHJvbD8udmFsdWUgYXMgc3RyaW5nIHwgbnVsbClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY29udHJvbFRvT2JzZXJ2YWJsZSA9IDxUID0gdW5rbm93bj4oY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkPFQ+KCksXHJcbiAgICAgICAgICAgIHN0YXJ0V2l0aChjb250cm9sPy52YWx1ZSBhcyBUKVxyXG4gICAgICAgICk7XHJcbiAgICB9O1xyXG5cclxufVxyXG5cclxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29sbGVjdGlvbnMvc3JjL2xpYi9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlHLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBYyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFbEYsT0FBTyxFQUFrQixXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQVM1RCxNQUFNLE9BQU8sVUFBVTtJQTJCbkIsWUFBNkIsU0FBZ0MsRUFDaEMsaUJBQTZDLEVBQUU7UUFEL0MsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWlDO1FBVG5FLFNBQUksR0FBRyxJQUFJLGVBQWUsQ0FBMkIsSUFBSSxDQUFDLENBQUM7UUFDM0QsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBRXZELFNBQVM7UUFDRCxlQUFVLEdBQXlDLElBQUksQ0FBQztRQUN4RCxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDM0Msa0JBQWEsR0FBNkIsSUFBSSxDQUFDO1FBaUkvQyx3QkFBbUIsR0FBRyxDQUFjLE9BQXdCLEVBQUUsRUFBRTtZQUNwRSxPQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUM1QixvQkFBb0IsRUFBSyxFQUN6QixTQUFTLENBQUMsT0FBTyxFQUFFLEtBQVUsQ0FBQyxDQUNqQyxDQUFDO1FBQ04sQ0FBQyxDQUFDO1FBbElFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxXQUFXLENBQWdCLGNBQWMs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QUMsQ0FBQyxDQUNOLENBQUM7SUFDTixDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN0QyxZQUFZLENBQVMsR0FBRyxDQUFDLEVBQ3pCLG9CQUFvQixFQUFVLEVBQzlCLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQXNCLENBQUMsQ0FDdkQsQ0FBQztJQUNOLENBQUM7Q0FTSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y2F0Y2hFcnJvciwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7Q29sbGVjdGlvbkRhdGEsIENvbGxlY3Rpb25SZXF1ZXN0LCBDb2xsZWN0aW9uUmVxdWVzdFNvcnR9IGZyb20gJy4vaW50ZXJmYWNlcy9jb2xsZWN0aW9uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBpc09ic2VydmFibGUsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtDb2xsZWN0aW9uUHJvdmlkZXJ9IGZyb20gJy4vcHJvdmlkZXJzL2NvbGxlY3Rpb24ucHJvdmlkZXInO1xyXG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmV4cG9ydCBjb25zdCBlbnVtIENvbGxlY3Rpb25TdGF0ZSB7XHJcbiAgICBJbml0aWFsID0gJ2luaXRpYWwnLFxyXG4gICAgRXJyb3IgPSAnZXJyb3InLFxyXG4gICAgRW1wdHkgPSAnZW1wdHknLFxyXG4gICAgRGF0YSA9ICdkYXRhJ1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ29sbGVjdGlvbjxUPiB7XHJcblxyXG4gICAgLy8gQ29udHJvbHMuXHJcbiAgICByZWFkb25seSBxdWVyeUNvbnRyb2w6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xyXG4gICAgcmVhZG9ubHkgcXVlcnlGaWVsZHNDb250cm9sOiBGb3JtQ29udHJvbDxzdHJpbmdbXT47XHJcbiAgICByZWFkb25seSBwYWdlTnVtYmVyQ29udHJvbDogRm9ybUNvbnRyb2w8bnVtYmVyPjtcclxuICAgIHJlYWRvbmx5IHBhZ2VTaXplQ29udHJvbDogRm9ybUNvbnRyb2w8bnVtYmVyPjtcclxuICAgIHJlYWRvbmx5IHNvcnRDb250cm9sOiBGb3JtQ29udHJvbDxDb2xsZWN0aW9uUmVxdWVzdFNvcnQgfCBDb2xsZWN0aW9uUmVxdWVzdFNvcnRbXT47XHJcblxyXG4gICAgLy8gUmVxdWVzdC5cclxuICAgIHJlYWRvbmx5IGRhdGEkOiBPYnNlcnZhYmxlPHtcclxuICAgICAgICByZXNwb25zZT86IENvbGxlY3Rpb25EYXRhPFQ+LFxyXG4gICAgICAgIHJlcXVlc3Q/OiBDb2xsZWN0aW9uUmVxdWVzdCxcclxuICAgICAgICBlcnJvcj86IEVycm9yXHJcbiAgICAgICAgc3RhdGU6IENvbGxlY3Rpb25TdGF0ZSxcclxuICAgICAgICBsb2FkaW5nOiBib29sZWFuLFxyXG4gICAgICAgIGluaXRpYWw6IGJvb2xlYW5cclxuICAgIH0+O1xyXG5cclxuICAgIHJlYWRvbmx5IHJhdyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENvbGxlY3Rpb25EYXRhPFQ+IHwgbnVsbD4obnVsbCk7XHJcbiAgICByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XHJcblxyXG4gICAgLy8gU3RhdGUuXHJcbiAgICBwcml2YXRlIF9mb3JtYXR0ZXI6IChpdGVtOiBUW10pID0+IFRbXSB8IE9ic2VydmFibGU8VFtdPiA9IG51bGw7XHJcbiAgICBwcml2YXRlIF9yZWZyZXNoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcclxuICAgIHByaXZhdGUgX3JlcXVlc3RDYWNoZTogQ29sbGVjdGlvblJlcXVlc3QgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9wcm92aWRlcjogQ29sbGVjdGlvblByb3ZpZGVyPFQ+LFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfaW5pdGlhbFZhbHVlczogUGFydGlhbDxDb2xsZWN0aW9uUmVxdWVzdD4gPSB7fSkge1xyXG4gICAgICAgIHRoaXMucXVlcnlDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KF9pbml0aWFsVmFsdWVzPy5xdWVyeSA/PyBudWxsKTtcclxuICAgICAgICB0aGlzLnF1ZXJ5RmllbGRzQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmdbXT4oX2luaXRpYWxWYWx1ZXM/LnF1ZXJ5RmllbGRzID8/IFtdKTtcclxuICAgICAgICB0aGlzLnBhZ2VOdW1iZXJDb250cm9sID0gbmV3IEZvcm1Db250cm9sPG51bWJlcj4oX2luaXRpYWxWYWx1ZXM/LnBhZ2VOdW1iZXIgPz8gMSk7XHJcbiAgICAgICAgdGhpcy5wYWdlU2l6ZUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyPihfaW5pdGlhbFZhbHVlcz8ucGFnZVNpemUgPz8gMjUpO1xyXG4gICAgICAgIHRoaXMuc29ydENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8Q29sbGVjdGlvblJlcXVlc3RTb3J0IHwgQ29sbGVjdGlvblJlcXVlc3RTb3J0W10gfCBudWxsPihfaW5pdGlhbFZhbHVlcz8uc29ydCA/PyBudWxsKTtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRhJCA9IHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZnJlc2goKSB7XHJcbiAgICAgICAgdGhpcy5fcmVmcmVzaCQubmV4dCgwKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRGb3JtYXR0ZXIoY2FsbGJhY2s6IChpdGVtczogVFtdKSA9PiBUW10gfCBPYnNlcnZhYmxlPFRbXT4pIHtcclxuICAgICAgICB0aGlzLl9mb3JtYXR0ZXIgPSBjYWxsYmFjaztcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldERhdGEoKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YSQgPSB0aGlzLnJlcXVlc3QucGlwZShcclxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMubG9hZGluZyQubmV4dCh0cnVlKSksXHJcbiAgICAgICAgICAgIG1hcChyZXF1ZXN0ID0+IHRoaXMudmFsaWRhdGVSZXF1ZXN0KHJlcXVlc3QpKSxcclxuICAgICAgICAgICAgc3dpdGNoTWFwKHJlcXVlc3QgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3ZpZGVyLnRyYW5zZm9ybShyZXF1ZXN0KS5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgIHRhcChyZXNwb25zZSA9PiB0aGlzLmNhY2hlQ29sbGVjdGlvbkRhdGEocmVzcG9uc2UpKSxcclxuICAgICAgICAgICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gKHtyZXNwb25zZSwgcmVxdWVzdCwgaW5pdGlhbDogZmFsc2V9KSksXHJcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZjx7IGVycm9yOiBFcnJvciwgcmVzcG9uc2U6IENvbGxlY3Rpb25EYXRhPFQ+IHwgbnVsbCwgcmVxdWVzdDogQ29sbGVjdGlvblJlcXVlc3QsIGluaXRpYWw6IGJvb2xlYW4gfT4oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2U6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgc3RhcnRXaXRoPHsgaW5pdGlhbDogYm9vbGVhbiwgcmVzcG9uc2U6IENvbGxlY3Rpb25EYXRhPFQ+IHwgbnVsbCB9Pih7aW5pdGlhbDogdHJ1ZSwgcmVzcG9uc2U6IG51bGx9KVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtkYXRhJCwgdGhpcy5sb2FkaW5nJC5hc09ic2VydmFibGUoKV0pLnBpcGUoXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoW2RhdGEsIGxvYWRpbmddKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjb21iaW5lZCA9IHsuLi5kYXRhLCBsb2FkaW5nfTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFJlc3BvbnNlKGRhdGE/LnJlc3BvbnNlKS5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5jb21iaW5lZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiB0aGlzLmdldFN0YXRlKGNvbWJpbmVkKVxyXG4gICAgICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZm9ybWF0UmVzcG9uc2UocmVzcG9uc2U6IENvbGxlY3Rpb25EYXRhPFQ+KSB7XHJcbiAgICAgICAgaWYgKCFyZXNwb25zZSB8fCAhdGhpcy5fZm9ybWF0dGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvZihyZXNwb25zZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBpdGVtcyA9IHJlc3BvbnNlPy5kYXRhID8/IFtdO1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9mb3JtYXR0ZXI/LihpdGVtcykgPz8gaXRlbXM7XHJcbiAgICAgICAgY29uc3QgZGF0YSQgPSBpc09ic2VydmFibGUoZGF0YSkgPyBkYXRhIDogb2YoZGF0YSk7XHJcblxyXG4gICAgICAgIHJldHVybiBkYXRhJC5waXBlKFxyXG4gICAgICAgICAgICBtYXAoZGF0YSA9PiAoey4uLnJlc3BvbnNlLCBkYXRhfSkpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHZhbGlkYXRlUmVxdWVzdChyZXF1ZXN0OiBDb2xsZWN0aW9uUmVxdWVzdCkge1xyXG4gICAgICAgIC8vIFdlIHNob3VsZCByZXNldCB0aGUgcGFnZSBudW1iZXIgd2hlbmV2ZXIgd2UgY2hhbmdlIHRoZSBxdWVyeSBvciB0aGUgcGFnZSBzaXplLlxyXG4gICAgICAgIGlmICh0aGlzLl9yZXF1ZXN0Q2FjaGUgJiYgcmVxdWVzdCAmJiAodGhpcy5fcmVxdWVzdENhY2hlPy5xdWVyeSAhPT0gcmVxdWVzdD8ucXVlcnkgfHwgdGhpcy5fcmVxdWVzdENhY2hlPy5wYWdlU2l6ZSAhPT0gcmVxdWVzdD8ucGFnZVNpemUpKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFnZU51bWJlckNvbnRyb2w/LnNldFZhbHVlKDEsIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XHJcbiAgICAgICAgICAgIHJlcXVlc3QucGFnZU51bWJlciA9IHRoaXMucGFnZU51bWJlckNvbnRyb2w/LnZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fcmVxdWVzdENhY2hlID0gey4uLnJlcXVlc3R9O1xyXG5cclxuICAgICAgICByZXR1cm4gcmVxdWVzdDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFN0YXRlKGRhdGE6IHsgcmVzcG9uc2U/OiBDb2xsZWN0aW9uRGF0YTxUPiwgcmVxdWVzdD86IENvbGxlY3Rpb25SZXF1ZXN0LCBlcnJvcj86IEVycm9yLCBsb2FkaW5nOiBib29sZWFuLCBpbml0aWFsOiBib29sZWFuIH0pIHtcclxuICAgICAgICBpZiAoISFkYXRhPy5lcnJvcikge1xyXG4gICAgICAgICAgICByZXR1cm4gQ29sbGVjdGlvblN0YXRlLkVycm9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCEhZGF0YT8uaW5pdGlhbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gQ29sbGVjdGlvblN0YXRlLkluaXRpYWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBjb3VudCA9IGRhdGE/LnJlc3BvbnNlPy5kYXRhPy5sZW5ndGggPz8gMDtcclxuICAgICAgICBpZiAoY291bnQgPD0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gQ29sbGVjdGlvblN0YXRlLkVtcHR5O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIENvbGxlY3Rpb25TdGF0ZS5EYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2FjaGVDb2xsZWN0aW9uRGF0YShkYXRhOiBDb2xsZWN0aW9uRGF0YTxUPikge1xyXG4gICAgICAgIHRoaXMucmF3JC5uZXh0KGRhdGEpO1xyXG4gICAgICAgIHRoaXMubG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXQgcmVxdWVzdCgpIHtcclxuICAgICAgICBjb25zdCBwYWdlTnVtYmVyJCA9IHRoaXMuY29udHJvbFRvT2JzZXJ2YWJsZTxudW1iZXI+KHRoaXMucGFnZU51bWJlckNvbnRyb2wpO1xyXG4gICAgICAgIGNvbnN0IHBhZ2VTaXplJCA9IHRoaXMuY29udHJvbFRvT2JzZXJ2YWJsZTxudW1iZXI+KHRoaXMucGFnZVNpemVDb250cm9sKTtcclxuICAgICAgICBjb25zdCBxdWVyeSQgPSB0aGlzLmdldFF1ZXJ5T2JzZXJ2YWJsZSgpO1xyXG4gICAgICAgIGNvbnN0IHF1ZXJ5RmllbGRzJCA9IHRoaXMuY29udHJvbFRvT2JzZXJ2YWJsZTxzdHJpbmdbXT4odGhpcy5xdWVyeUZpZWxkc0NvbnRyb2wpO1xyXG4gICAgICAgIGNvbnN0IHNvcnQkID0gdGhpcy5jb250cm9sVG9PYnNlcnZhYmxlPENvbGxlY3Rpb25SZXF1ZXN0U29ydCB8IENvbGxlY3Rpb25SZXF1ZXN0U29ydFtdPih0aGlzLnNvcnRDb250cm9sKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3BhZ2VOdW1iZXIkLCBwYWdlU2l6ZSQsIHF1ZXJ5JCwgcXVlcnlGaWVsZHMkLCBzb3J0JCwgdGhpcy5fcmVmcmVzaCQuYXNPYnNlcnZhYmxlKCldKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKFtwYWdlTnVtYmVyLCBwYWdlU2l6ZSwgcXVlcnksIHF1ZXJ5RmllbGRzLCBzb3J0XSkgPT4gKHtcclxuICAgICAgICAgICAgICAgIHBhZ2VOdW1iZXIsXHJcbiAgICAgICAgICAgICAgICBwYWdlU2l6ZSxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5LFxyXG4gICAgICAgICAgICAgICAgcXVlcnlGaWVsZHMsXHJcbiAgICAgICAgICAgICAgICBzb3J0XHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRRdWVyeU9ic2VydmFibGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucXVlcnlDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWU8c3RyaW5nPig0MDApLFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZDxzdHJpbmc+KCksXHJcbiAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLnF1ZXJ5Q29udHJvbD8udmFsdWUgYXMgc3RyaW5nIHwgbnVsbClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY29udHJvbFRvT2JzZXJ2YWJsZSA9IDxUID0gdW5rbm93bj4oY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkPFQ+KCksXHJcbiAgICAgICAgICAgIHN0YXJ0V2l0aChjb250cm9sPy52YWx1ZSBhcyBUKVxyXG4gICAgICAgICk7XHJcbiAgICB9O1xyXG5cclxufVxyXG5cclxuIl19
@@ -6,8 +6,8 @@ import { NgModule } from '@angular/core';
6
6
  import * as i0 from "@angular/core";
7
7
  export class CollectionsModule {
8
8
  }
9
- CollectionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: CollectionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- CollectionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: CollectionsModule, declarations: [
9
+ CollectionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: CollectionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ CollectionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: CollectionsModule, declarations: [
11
11
  // Components.
12
12
  BbCollectionsViewer,
13
13
  BbCollectionsPager,
@@ -24,8 +24,8 @@ CollectionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
24
24
  BbCollectionsEmpty,
25
25
  BbCollectionsError,
26
26
  BbCollectionsInitial] });
27
- CollectionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: CollectionsModule, imports: [[CommonModule]] });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: CollectionsModule, decorators: [{
27
+ CollectionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: CollectionsModule, imports: [CommonModule] });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: CollectionsModule, decorators: [{
29
29
  type: NgModule,
30
30
  args: [{
31
31
  imports: [CommonModule],
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
51
51
  ]
52
52
  }]
53
53
  }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb2xsZWN0aW9ucy9zcmMvbGliL2NvbGxlY3Rpb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3ZCLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFDakcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDOUYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBeUJ2QyxNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUI7UUFwQnRCLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixvQkFBb0IsYUFUZCxZQUFZO1FBWWxCLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixvQkFBb0I7K0dBR2YsaUJBQWlCLFlBdEJqQixDQUFDLFlBQVksQ0FBQzsyRkFzQmQsaUJBQWlCO2tCQXZCN0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRTt3QkFDVixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLG9CQUFvQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3FCQUN2QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBCYkNvbGxlY3Rpb25zRGF0YSxcclxuICAgIEJiQ29sbGVjdGlvbnNFbXB0eSxcclxuICAgIEJiQ29sbGVjdGlvbnNFcnJvcixcclxuICAgIEJiQ29sbGVjdGlvbnNJbml0aWFsXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL2NvbGxlY3Rpb25zLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7QmJDb2xsZWN0aW9uc1ZpZXdlcn0gZnJvbSAnLi9jb21wb25lbnRzL2NvbGxlY3Rpb25zLXZpZXdlci9jb2xsZWN0aW9ucy12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtCYkNvbGxlY3Rpb25zUGFnZXJ9IGZyb20gJy4vY29tcG9uZW50cy9jb2xsZWN0aW9ucy1wYWdlci9jb2xsZWN0aW9ucy1wYWdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICAvLyBDb21wb25lbnRzLlxyXG4gICAgICAgIEJiQ29sbGVjdGlvbnNWaWV3ZXIsXHJcbiAgICAgICAgQmJDb2xsZWN0aW9uc1BhZ2VyLFxyXG4gICAgICAgIC8vIERpcmVjdGl2ZXMuXHJcbiAgICAgICAgQmJDb2xsZWN0aW9uc0RhdGEsXHJcbiAgICAgICAgQmJDb2xsZWN0aW9uc0VtcHR5LFxyXG4gICAgICAgIEJiQ29sbGVjdGlvbnNFcnJvcixcclxuICAgICAgICBCYkNvbGxlY3Rpb25zSW5pdGlhbFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICAvLyBDb21wb25lbnRzLlxyXG4gICAgICAgIEJiQ29sbGVjdGlvbnNWaWV3ZXIsXHJcbiAgICAgICAgQmJDb2xsZWN0aW9uc1BhZ2VyLFxyXG4gICAgICAgIC8vIERpcmVjdGl2ZXMuXHJcbiAgICAgICAgQmJDb2xsZWN0aW9uc0RhdGEsXHJcbiAgICAgICAgQmJDb2xsZWN0aW9uc0VtcHR5LFxyXG4gICAgICAgIEJiQ29sbGVjdGlvbnNFcnJvcixcclxuICAgICAgICBCYkNvbGxlY3Rpb25zSW5pdGlhbFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29sbGVjdGlvbnNNb2R1bGUge1xyXG59XHJcbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb2xsZWN0aW9ucy9zcmMvbGliL2NvbGxlY3Rpb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3ZCLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFDakcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDOUYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBeUJ2QyxNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUI7UUFwQnRCLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixvQkFBb0IsYUFUZCxZQUFZO1FBWWxCLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixvQkFBb0I7K0dBR2YsaUJBQWlCLFlBdEJoQixZQUFZOzJGQXNCYixpQkFBaUI7a0JBdkI3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFO3dCQUNWLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixvQkFBb0I7cUJBQ3ZCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEJiQ29sbGVjdGlvbnNEYXRhLFxyXG4gICAgQmJDb2xsZWN0aW9uc0VtcHR5LFxyXG4gICAgQmJDb2xsZWN0aW9uc0Vycm9yLFxyXG4gICAgQmJDb2xsZWN0aW9uc0luaXRpYWxcclxufSBmcm9tICcuL2NvbXBvbmVudHMvY29sbGVjdGlvbnMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHtCYkNvbGxlY3Rpb25zVmlld2VyfSBmcm9tICcuL2NvbXBvbmVudHMvY29sbGVjdGlvbnMtdmlld2VyL2NvbGxlY3Rpb25zLXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge0JiQ29sbGVjdGlvbnNQYWdlcn0gZnJvbSAnLi9jb21wb25lbnRzL2NvbGxlY3Rpb25zLXBhZ2VyL2NvbGxlY3Rpb25zLXBhZ2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIC8vIENvbXBvbmVudHMuXHJcbiAgICAgICAgQmJDb2xsZWN0aW9uc1ZpZXdlcixcclxuICAgICAgICBCYkNvbGxlY3Rpb25zUGFnZXIsXHJcbiAgICAgICAgLy8gRGlyZWN0aXZlcy5cclxuICAgICAgICBCYkNvbGxlY3Rpb25zRGF0YSxcclxuICAgICAgICBCYkNvbGxlY3Rpb25zRW1wdHksXHJcbiAgICAgICAgQmJDb2xsZWN0aW9uc0Vycm9yLFxyXG4gICAgICAgIEJiQ29sbGVjdGlvbnNJbml0aWFsXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIC8vIENvbXBvbmVudHMuXHJcbiAgICAgICAgQmJDb2xsZWN0aW9uc1ZpZXdlcixcclxuICAgICAgICBCYkNvbGxlY3Rpb25zUGFnZXIsXHJcbiAgICAgICAgLy8gRGlyZWN0aXZlcy5cclxuICAgICAgICBCYkNvbGxlY3Rpb25zRGF0YSxcclxuICAgICAgICBCYkNvbGxlY3Rpb25zRW1wdHksXHJcbiAgICAgICAgQmJDb2xsZWN0aW9uc0Vycm9yLFxyXG4gICAgICAgIEJiQ29sbGVjdGlvbnNJbml0aWFsXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uc01vZHVsZSB7XHJcbn1cclxuIl19
@@ -110,9 +110,9 @@ export class BbCollectionsPager {
110
110
  .map(page => ({ page, active: pageNumber === page }));
111
111
  }
112
112
  }
113
- BbCollectionsPager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbCollectionsPager, deps: [], target: i0.ɵɵFactoryTarget.Component });
114
- BbCollectionsPager.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbCollectionsPager, selector: "bb-collections-pager", inputs: { label: "label", collection: "collection" }, host: { classAttribute: "bb-collections-pager" }, ngImport: i0, template: "<ng-container *ngIf=\"data$ | async as data\">\r\n <div [innerHTML]=\"data?.label\"\r\n class=\"bb-collections-pager-text\">\r\n </div>\r\n\r\n <div class=\"bb-collections-pager-container\">\r\n <ul class=\"bb-collections-pager-list\">\r\n <li class=\"bb-collections-pager-item\"\r\n title=\"Previous page\">\r\n <button [disabled]=\"!data?.allowPrevious\"\r\n (click)=\"setPage(data?.pageNumber - 1, data?.totalPages)\"\r\n class=\"bb-collections-pager-button arrow first\"\r\n type=\"button\">\r\n &#8592;\r\n </button>\r\n </li>\r\n <li *ngFor=\"let item of data?.pages\"\r\n [title]=\"'Page ' + item?.page\"\r\n class=\"bb-collections-pager-item\">\r\n <button [class.active]=\"item?.active\"\r\n (click)=\"setPage(item?.page, data?.totalPages)\"\r\n class=\"bb-collections-pager-button\"\r\n type=\"button\">\r\n {{ item?.page }}\r\n </button>\r\n </li>\r\n <li class=\"bb-collections-pager-item\"\r\n title=\"Next page\">\r\n <button [disabled]=\"!data?.allowNext\"\r\n (click)=\"setPage(data?.pageNumber + 1, data?.totalPages)\"\r\n class=\"bb-collections-pager-button arrow last\"\r\n type=\"button\">\r\n &#8594;\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n</ng-container>\r\n", styles: [".bb-collections-pager{display:flex;align-items:center;flex-direction:column-reverse}.bb-collections-pager-text{display:block;margin-top:10px}.bb-collections-pager-text>strong{font-weight:500}.bb-collections-pager-container{width:100%;display:flex;overflow-x:auto;align-items:center;justify-content:center}.bb-collections-pager-list{display:flex;border-radius:6px;align-items:center;background-color:#fff;border:1px solid rgba(67,90,111,.3);box-shadow:#435a6f24 0 1px 2px inset}.bb-collections-pager-item:not(:last-child){border-right:1px solid #cccccc}.bb-collections-pager-button{height:34px;border:none;display:flex;padding:0 4px;min-width:40px;-webkit-appearance:none;appearance:none;min-height:34px;-webkit-user-select:none;user-select:none;align-items:center;justify-content:center;background-color:transparent}.bb-collections-pager-button:hover,.bb-collections-pager-button:focus,.bb-collections-pager-button:active,.bb-collections-pager-button.active{color:#1565c0;font-weight:500}.bb-collections-pager-button:hover,.bb-collections-pager-button:focus{background-color:#1565c00d}.bb-collections-pager-button:active,.bb-collections-pager-button.active{background-color:#1565c033}.bb-collections-pager-button:not(.arrow):hover,.bb-collections-pager-button:not(.arrow):focus{outline:1px solid rgba(21,101,192,.5)}.bb-collections-pager-button:not(.arrow):focus,.bb-collections-pager-button:not(.arrow):active{outline:1px solid #1565c0;box-shadow:#1565c066 0 0 0 3px}.bb-collections-pager-button:not(.arrow).active{outline:1px solid #1565c0}.bb-collections-pager-button.arrow{font-weight:500}.bb-collections-pager-button.arrow.first{border-top-left-radius:2px;border-bottom-left-radius:2px}.bb-collections-pager-button.arrow.last{border-top-right-radius:2px;border-bottom-right-radius:2px}.bb-collections-pager-button:disabled{color:#000;outline:none;opacity:.25;cursor:default;pointer-events:none;background-color:transparent}@media only screen and (min-width: 768px){.bb-collections-pager{flex-wrap:wrap;align-items:center;flex-direction:row;justify-content:space-between}.bb-collections-pager-text{margin-top:0}.bb-collections-pager-container{width:auto;overflow-x:unset}}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbCollectionsPager, decorators: [{
113
+ BbCollectionsPager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbCollectionsPager, deps: [], target: i0.ɵɵFactoryTarget.Component });
114
+ BbCollectionsPager.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbCollectionsPager, selector: "bb-collections-pager", inputs: { label: "label", collection: "collection" }, host: { classAttribute: "bb-collections-pager" }, ngImport: i0, template: "<ng-container *ngIf=\"data$ | async as data\">\r\n <div [innerHTML]=\"data?.label\"\r\n class=\"bb-collections-pager-text\">\r\n </div>\r\n\r\n <div class=\"bb-collections-pager-container\">\r\n <ul class=\"bb-collections-pager-list\">\r\n <li class=\"bb-collections-pager-item\"\r\n title=\"Previous page\">\r\n <button [disabled]=\"!data?.allowPrevious\"\r\n (click)=\"setPage(data?.pageNumber - 1, data?.totalPages)\"\r\n class=\"bb-collections-pager-button arrow first\"\r\n type=\"button\">\r\n &#8592;\r\n </button>\r\n </li>\r\n <li *ngFor=\"let item of data?.pages\"\r\n [title]=\"'Page ' + item?.page\"\r\n class=\"bb-collections-pager-item\">\r\n <button [class.active]=\"item?.active\"\r\n (click)=\"setPage(item?.page, data?.totalPages)\"\r\n class=\"bb-collections-pager-button\"\r\n type=\"button\">\r\n {{ item?.page }}\r\n </button>\r\n </li>\r\n <li class=\"bb-collections-pager-item\"\r\n title=\"Next page\">\r\n <button [disabled]=\"!data?.allowNext\"\r\n (click)=\"setPage(data?.pageNumber + 1, data?.totalPages)\"\r\n class=\"bb-collections-pager-button arrow last\"\r\n type=\"button\">\r\n &#8594;\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n</ng-container>\r\n", styles: [".bb-collections-pager{display:flex;align-items:center;flex-direction:column-reverse}.bb-collections-pager-text{display:block;margin-top:10px}.bb-collections-pager-text>strong{font-weight:500}.bb-collections-pager-container{width:100%;display:flex;overflow-x:auto;align-items:center;justify-content:center}.bb-collections-pager-list{display:flex;border-radius:6px;align-items:center;background-color:#fff;border:1px solid rgba(67,90,111,.3);box-shadow:#435a6f24 0 1px 2px inset}.bb-collections-pager-item:not(:last-child){border-right:1px solid #cccccc}.bb-collections-pager-button{height:34px;border:none;display:flex;padding:0 4px;min-width:40px;-webkit-appearance:none;appearance:none;min-height:34px;-webkit-user-select:none;user-select:none;align-items:center;justify-content:center;background-color:transparent}.bb-collections-pager-button:hover,.bb-collections-pager-button:focus,.bb-collections-pager-button:active,.bb-collections-pager-button.active{color:#1565c0;font-weight:500}.bb-collections-pager-button:hover,.bb-collections-pager-button:focus{background-color:#1565c00d}.bb-collections-pager-button:active,.bb-collections-pager-button.active{background-color:#1565c033}.bb-collections-pager-button:not(.arrow):hover,.bb-collections-pager-button:not(.arrow):focus{outline:1px solid rgba(21,101,192,.5)}.bb-collections-pager-button:not(.arrow):focus,.bb-collections-pager-button:not(.arrow):active{outline:1px solid #1565c0;box-shadow:#1565c066 0 0 0 3px}.bb-collections-pager-button:not(.arrow).active{outline:1px solid #1565c0}.bb-collections-pager-button.arrow{font-weight:500}.bb-collections-pager-button.arrow.first{border-top-left-radius:2px;border-bottom-left-radius:2px}.bb-collections-pager-button.arrow.last{border-top-right-radius:2px;border-bottom-right-radius:2px}.bb-collections-pager-button:disabled{color:#000;outline:none;opacity:.25;cursor:default;pointer-events:none;background-color:transparent}@media only screen and (min-width: 768px){.bb-collections-pager{flex-wrap:wrap;align-items:center;flex-direction:row;justify-content:space-between}.bb-collections-pager-text{margin-top:0}.bb-collections-pager-container{width:auto;overflow-x:unset}}\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: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbCollectionsPager, decorators: [{
116
116
  type: Component,
117
117
  args: [{ selector: 'bb-collections-pager', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-collections-pager' }, preserveWhitespaces: false, template: "<ng-container *ngIf=\"data$ | async as data\">\r\n <div [innerHTML]=\"data?.label\"\r\n class=\"bb-collections-pager-text\">\r\n </div>\r\n\r\n <div class=\"bb-collections-pager-container\">\r\n <ul class=\"bb-collections-pager-list\">\r\n <li class=\"bb-collections-pager-item\"\r\n title=\"Previous page\">\r\n <button [disabled]=\"!data?.allowPrevious\"\r\n (click)=\"setPage(data?.pageNumber - 1, data?.totalPages)\"\r\n class=\"bb-collections-pager-button arrow first\"\r\n type=\"button\">\r\n &#8592;\r\n </button>\r\n </li>\r\n <li *ngFor=\"let item of data?.pages\"\r\n [title]=\"'Page ' + item?.page\"\r\n class=\"bb-collections-pager-item\">\r\n <button [class.active]=\"item?.active\"\r\n (click)=\"setPage(item?.page, data?.totalPages)\"\r\n class=\"bb-collections-pager-button\"\r\n type=\"button\">\r\n {{ item?.page }}\r\n </button>\r\n </li>\r\n <li class=\"bb-collections-pager-item\"\r\n title=\"Next page\">\r\n <button [disabled]=\"!data?.allowNext\"\r\n (click)=\"setPage(data?.pageNumber + 1, data?.totalPages)\"\r\n class=\"bb-collections-pager-button arrow last\"\r\n type=\"button\">\r\n &#8594;\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n</ng-container>\r\n", styles: [".bb-collections-pager{display:flex;align-items:center;flex-direction:column-reverse}.bb-collections-pager-text{display:block;margin-top:10px}.bb-collections-pager-text>strong{font-weight:500}.bb-collections-pager-container{width:100%;display:flex;overflow-x:auto;align-items:center;justify-content:center}.bb-collections-pager-list{display:flex;border-radius:6px;align-items:center;background-color:#fff;border:1px solid rgba(67,90,111,.3);box-shadow:#435a6f24 0 1px 2px inset}.bb-collections-pager-item:not(:last-child){border-right:1px solid #cccccc}.bb-collections-pager-button{height:34px;border:none;display:flex;padding:0 4px;min-width:40px;-webkit-appearance:none;appearance:none;min-height:34px;-webkit-user-select:none;user-select:none;align-items:center;justify-content:center;background-color:transparent}.bb-collections-pager-button:hover,.bb-collections-pager-button:focus,.bb-collections-pager-button:active,.bb-collections-pager-button.active{color:#1565c0;font-weight:500}.bb-collections-pager-button:hover,.bb-collections-pager-button:focus{background-color:#1565c00d}.bb-collections-pager-button:active,.bb-collections-pager-button.active{background-color:#1565c033}.bb-collections-pager-button:not(.arrow):hover,.bb-collections-pager-button:not(.arrow):focus{outline:1px solid rgba(21,101,192,.5)}.bb-collections-pager-button:not(.arrow):focus,.bb-collections-pager-button:not(.arrow):active{outline:1px solid #1565c0;box-shadow:#1565c066 0 0 0 3px}.bb-collections-pager-button:not(.arrow).active{outline:1px solid #1565c0}.bb-collections-pager-button.arrow{font-weight:500}.bb-collections-pager-button.arrow.first{border-top-left-radius:2px;border-bottom-left-radius:2px}.bb-collections-pager-button.arrow.last{border-top-right-radius:2px;border-bottom-right-radius:2px}.bb-collections-pager-button:disabled{color:#000;outline:none;opacity:.25;cursor:default;pointer-events:none;background-color:transparent}@media only screen and (min-width: 768px){.bb-collections-pager{flex-wrap:wrap;align-items:center;flex-direction:row;justify-content:space-between}.bb-collections-pager-text{margin-top:0}.bb-collections-pager-container{width:auto;overflow-x:unset}}\n"] }]
118
118
  }], propDecorators: { label: [{
@@ -8,9 +8,9 @@ export class BbCollectionsViewer {
8
8
  this.collection = null;
9
9
  }
10
10
  }
11
- BbCollectionsViewer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbCollectionsViewer, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- BbCollectionsViewer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbCollectionsViewer, selector: "[bb-collections-viewer]", inputs: { collection: "collection" }, host: { classAttribute: "bb-collections-viewer" }, queries: [{ propertyName: "dataTemplate", first: true, predicate: BbCollectionsData, descendants: true, read: TemplateRef }, { propertyName: "emptyTemplate", first: true, predicate: BbCollectionsEmpty, descendants: true, read: TemplateRef }, { propertyName: "errorTemplate", first: true, predicate: BbCollectionsError, descendants: true, read: TemplateRef }, { propertyName: "initialTemplate", first: true, predicate: BbCollectionsInitial, descendants: true, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"collection?.data$ | async as data\"\r\n [ngSwitch]=\"data?.state\">\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"dataTemplate; context: {items: data?.response?.data}\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'initial'\">\r\n <ng-container *ngTemplateOutlet=\"initialTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'empty'\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate; context: {query: data?.request?.query}\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'error'\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: {error: data?.error}\"></ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".bb-collections-viewer{display:block}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbCollectionsViewer, decorators: [{
11
+ BbCollectionsViewer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbCollectionsViewer, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ BbCollectionsViewer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbCollectionsViewer, selector: "[bb-collections-viewer]", inputs: { collection: "collection" }, host: { classAttribute: "bb-collections-viewer" }, queries: [{ propertyName: "dataTemplate", first: true, predicate: BbCollectionsData, descendants: true, read: TemplateRef }, { propertyName: "emptyTemplate", first: true, predicate: BbCollectionsEmpty, descendants: true, read: TemplateRef }, { propertyName: "errorTemplate", first: true, predicate: BbCollectionsError, descendants: true, read: TemplateRef }, { propertyName: "initialTemplate", first: true, predicate: BbCollectionsInitial, descendants: true, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"collection?.data$ | async as data\"\r\n [ngSwitch]=\"data?.state\">\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"dataTemplate; context: {items: data?.response?.data}\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'initial'\">\r\n <ng-container *ngTemplateOutlet=\"initialTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'empty'\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate; context: {query: data?.request?.query}\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'error'\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: {error: data?.error}\"></ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".bb-collections-viewer{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbCollectionsViewer, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: '[bb-collections-viewer]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-collections-viewer' }, preserveWhitespaces: false, template: "<ng-container *ngIf=\"collection?.data$ | async as data\"\r\n [ngSwitch]=\"data?.state\">\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"dataTemplate; context: {items: data?.response?.data}\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'initial'\">\r\n <ng-container *ngTemplateOutlet=\"initialTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'empty'\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate; context: {query: data?.request?.query}\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'error'\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: {error: data?.error}\"></ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".bb-collections-viewer{display:block}\n"] }]
16
16
  }], propDecorators: { dataTemplate: [{