@sumaris-net/ngx-components 2.2.8-rc1 → 2.2.9

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 (215) hide show
  1. package/doc/changelog.md +3 -0
  2. package/esm2020/src/app/admin/admin-routing.module.mjs +5 -5
  3. package/esm2020/src/app/admin/admin.module.mjs +5 -5
  4. package/esm2020/src/app/admin/services/person.service.mjs +4 -4
  5. package/esm2020/src/app/admin/services/validator/person.validator.mjs +4 -4
  6. package/esm2020/src/app/admin/users/users.mjs +5 -5
  7. package/esm2020/src/app/admin/users/users.module.mjs +5 -5
  8. package/esm2020/src/app/core/about/about.modal.mjs +4 -4
  9. package/esm2020/src/app/core/about/about.module.mjs +5 -5
  10. package/esm2020/src/app/core/account/account.module.mjs +5 -5
  11. package/esm2020/src/app/core/account/account.page.mjs +4 -4
  12. package/esm2020/src/app/core/auth/auth.form.mjs +4 -4
  13. package/esm2020/src/app/core/auth/auth.modal.mjs +4 -4
  14. package/esm2020/src/app/core/auth/auth.module.mjs +5 -5
  15. package/esm2020/src/app/core/core.module.mjs +5 -5
  16. package/esm2020/src/app/core/core.testing.module.mjs +5 -5
  17. package/esm2020/src/app/core/form/buttons/form-buttons-bar.component.mjs +5 -5
  18. package/esm2020/src/app/core/form/buttons/form-buttons-bar.module.mjs +5 -5
  19. package/esm2020/src/app/core/form/entity/editor.class.mjs +7 -7
  20. package/esm2020/src/app/core/form/entity/entity-editor-modal.class.mjs +4 -4
  21. package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +4 -4
  22. package/esm2020/src/app/core/form/entity/entity-metadata.component.mjs +4 -4
  23. package/esm2020/src/app/core/form/entity/entity.module.mjs +5 -5
  24. package/esm2020/src/app/core/form/form.class.mjs +4 -4
  25. package/esm2020/src/app/core/form/form.module.mjs +5 -5
  26. package/esm2020/src/app/core/form/list/list.form.mjs +4 -4
  27. package/esm2020/src/app/core/form/list/list.module.mjs +5 -5
  28. package/esm2020/src/app/core/form/properties/properties.form.mjs +5 -5
  29. package/esm2020/src/app/core/form/properties/properties.module.mjs +5 -5
  30. package/esm2020/src/app/core/form/properties/property.validator.mjs +4 -4
  31. package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +4 -4
  32. package/esm2020/src/app/core/form/properties/testing/properties-form.testing.module.mjs +5 -5
  33. package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.mjs +4 -4
  34. package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +5 -5
  35. package/esm2020/src/app/core/form/text-popover/text-form.component.mjs +4 -4
  36. package/esm2020/src/app/core/form/text-popover/text-popover.component.mjs +4 -4
  37. package/esm2020/src/app/core/form/text-popover/text-popover.module.mjs +5 -5
  38. package/esm2020/src/app/core/graphql/graphql.module.mjs +5 -5
  39. package/esm2020/src/app/core/graphql/graphql.service.mjs +4 -4
  40. package/esm2020/src/app/core/home/home.mjs +4 -4
  41. package/esm2020/src/app/core/home/home.module.mjs +5 -5
  42. package/esm2020/src/app/core/icon/icon.component.mjs +4 -4
  43. package/esm2020/src/app/core/icon/icon.module.mjs +5 -5
  44. package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +4 -4
  45. package/esm2020/src/app/core/install/install-upgrade-card.module.mjs +5 -5
  46. package/esm2020/src/app/core/menu/menu.component.mjs +4 -4
  47. package/esm2020/src/app/core/menu/menu.module.mjs +5 -5
  48. package/esm2020/src/app/core/menu/menu.service.mjs +4 -4
  49. package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +4 -4
  50. package/esm2020/src/app/core/offline/update-offline-mode-card.module.mjs +5 -5
  51. package/esm2020/src/app/core/peer/select-peer.modal.mjs +4 -4
  52. package/esm2020/src/app/core/peer/select-peer.module.mjs +5 -5
  53. package/esm2020/src/app/core/register/register-confirm.page.mjs +4 -4
  54. package/esm2020/src/app/core/register/register.form.mjs +4 -4
  55. package/esm2020/src/app/core/register/register.modal.mjs +4 -4
  56. package/esm2020/src/app/core/register/register.module.mjs +5 -5
  57. package/esm2020/src/app/core/services/account.service.mjs +4 -4
  58. package/esm2020/src/app/core/services/auth-guard.service.mjs +4 -4
  59. package/esm2020/src/app/core/services/base-entity-service.class.mjs +4 -4
  60. package/esm2020/src/app/core/services/base-graphql-service.class.mjs +4 -4
  61. package/esm2020/src/app/core/services/config.service.mjs +4 -4
  62. package/esm2020/src/app/core/services/crypto.service.mjs +4 -4
  63. package/esm2020/src/app/core/services/local-settings.service.mjs +4 -4
  64. package/esm2020/src/app/core/services/network.service.mjs +4 -4
  65. package/esm2020/src/app/core/services/pipes/account.pipes.mjs +9 -9
  66. package/esm2020/src/app/core/services/pipes/department-to-string.pipe.mjs +5 -5
  67. package/esm2020/src/app/core/services/pipes/person-to-string.pipe.mjs +5 -5
  68. package/esm2020/src/app/core/services/pipes/usage-mode.pipes.mjs +9 -9
  69. package/esm2020/src/app/core/services/platform.service.mjs +4 -4
  70. package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +4 -4
  71. package/esm2020/src/app/core/services/testing/referential.validator.mjs +4 -4
  72. package/esm2020/src/app/core/services/validator/account.validator.mjs +4 -4
  73. package/esm2020/src/app/core/services/validator/base.validator.class.mjs +4 -4
  74. package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +4 -4
  75. package/esm2020/src/app/core/services/validator/user-settings.validator.mjs +4 -4
  76. package/esm2020/src/app/core/settings/settings.module.mjs +5 -5
  77. package/esm2020/src/app/core/settings/settings.page.mjs +5 -5
  78. package/esm2020/src/app/core/table/actions-column.component.mjs +4 -4
  79. package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +4 -4
  80. package/esm2020/src/app/core/table/memory-table.class.mjs +4 -4
  81. package/esm2020/src/app/core/table/table-select-columns.component.mjs +4 -4
  82. package/esm2020/src/app/core/table/table.class.mjs +4 -4
  83. package/esm2020/src/app/core/table/table.module.mjs +5 -5
  84. package/esm2020/src/app/core/table/testing/table.testing.mjs +5 -5
  85. package/esm2020/src/app/core/table/testing/table.testing.module.mjs +5 -5
  86. package/esm2020/src/app/shared/audio/audio.mjs +4 -4
  87. package/esm2020/src/app/shared/audio/audio.testing.mjs +4 -4
  88. package/esm2020/src/app/shared/audio/audio.testing.module.mjs +5 -5
  89. package/esm2020/src/app/shared/capacitor/keyboard.mjs +4 -4
  90. package/esm2020/src/app/shared/debug/debug.component.mjs +4 -4
  91. package/esm2020/src/app/shared/debug/debug.module.mjs +5 -5
  92. package/esm2020/src/app/shared/directives/autofocus.directive.mjs +4 -4
  93. package/esm2020/src/app/shared/directives/autotitle.directive.mjs +4 -4
  94. package/esm2020/src/app/shared/directives/directives.module.mjs +5 -5
  95. package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +4 -4
  96. package/esm2020/src/app/shared/directives/ng-var.directive.mjs +4 -4
  97. package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +4 -4
  98. package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +4 -4
  99. package/esm2020/src/app/shared/directives/resizable/resizable.module.mjs +5 -5
  100. package/esm2020/src/app/shared/file/file.service.mjs +4 -4
  101. package/esm2020/src/app/shared/form/field.component.mjs +4 -4
  102. package/esm2020/src/app/shared/form/loading-spinner.mjs +4 -4
  103. package/esm2020/src/app/shared/gesture/gesture-config.mjs +4 -4
  104. package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +4 -4
  105. package/esm2020/src/app/shared/help/help.modal.mjs +4 -4
  106. package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +4 -4
  107. package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +4 -4
  108. package/esm2020/src/app/shared/hotkeys/shared-hotkeys.module.mjs +5 -5
  109. package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +4 -4
  110. package/esm2020/src/app/shared/image/gallery/image-gallery.module.mjs +5 -5
  111. package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +4 -4
  112. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +4 -4
  113. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +5 -5
  114. package/esm2020/src/app/shared/image/image.module.mjs +5 -5
  115. package/esm2020/src/app/shared/image/image.service.mjs +4 -4
  116. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +4 -4
  117. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +5 -5
  118. package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +4 -4
  119. package/esm2020/src/app/shared/material/badge/badge.directive.mjs +4 -4
  120. package/esm2020/src/app/shared/material/badge/badge.module.mjs +5 -5
  121. package/esm2020/src/app/shared/material/badge/badge.test.mjs +4 -4
  122. package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +5 -5
  123. package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +5 -5
  124. package/esm2020/src/app/shared/material/chips/chips.module.mjs +5 -5
  125. package/esm2020/src/app/shared/material/chips/material.chips.mjs +4 -4
  126. package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +4 -4
  127. package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +5 -5
  128. package/esm2020/src/app/shared/material/datetime/material.date.mjs +5 -5
  129. package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +4 -4
  130. package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +5 -5
  131. package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +4 -4
  132. package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +4 -4
  133. package/esm2020/src/app/shared/material/duration/duration.module.mjs +5 -5
  134. package/esm2020/src/app/shared/material/duration/material.duration.mjs +4 -4
  135. package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +4 -4
  136. package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +5 -5
  137. package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +4 -4
  138. package/esm2020/src/app/shared/material/material.module.mjs +5 -5
  139. package/esm2020/src/app/shared/material/material.testing.module.mjs +5 -5
  140. package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +4 -4
  141. package/esm2020/src/app/shared/material/numpad/numpad.component.mjs +4 -4
  142. package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +4 -4
  143. package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +4 -4
  144. package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +4 -4
  145. package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +4 -4
  146. package/esm2020/src/app/shared/material/numpad/numpad.module.mjs +5 -5
  147. package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +4 -4
  148. package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +4 -4
  149. package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +4 -4
  150. package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +4 -4
  151. package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +5 -5
  152. package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +4 -4
  153. package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +25 -25
  154. package/esm2020/src/app/shared/pipes/colors.pipe.mjs +4 -4
  155. package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +5 -5
  156. package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +7 -7
  157. package/esm2020/src/app/shared/pipes/date-from-now.pipe.mjs +5 -5
  158. package/esm2020/src/app/shared/pipes/duration.pipe.mjs +5 -5
  159. package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +4 -4
  160. package/esm2020/src/app/shared/pipes/form.pipes.mjs +19 -19
  161. package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +5 -5
  162. package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +10 -10
  163. package/esm2020/src/app/shared/pipes/maps.pipe.mjs +13 -13
  164. package/esm2020/src/app/shared/pipes/math.pipes.mjs +13 -13
  165. package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +4 -4
  166. package/esm2020/src/app/shared/pipes/number-format.pipe.mjs +5 -5
  167. package/esm2020/src/app/shared/pipes/pipes.module.mjs +5 -5
  168. package/esm2020/src/app/shared/pipes/property.pipes.mjs +8 -8
  169. package/esm2020/src/app/shared/pipes/string.pipes.mjs +22 -22
  170. package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +9 -9
  171. package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +4 -4
  172. package/esm2020/src/app/shared/services/progress-bar.service.mjs +4 -4
  173. package/esm2020/src/app/shared/services/storage/storage.service.mjs +4 -4
  174. package/esm2020/src/app/shared/services/translate-context.service.mjs +4 -4
  175. package/esm2020/src/app/shared/shared-routing.module.mjs +8 -8
  176. package/esm2020/src/app/shared/shared.module.mjs +5 -5
  177. package/esm2020/src/app/shared/shared.testing.module.mjs +5 -5
  178. package/esm2020/src/app/shared/testing/observable.test.mjs +4 -4
  179. package/esm2020/src/app/shared/testing/tests.page.mjs +4 -4
  180. package/esm2020/src/app/shared/toast/toast.testing.mjs +4 -4
  181. package/esm2020/src/app/shared/toast/toast.testing.module.mjs +5 -5
  182. package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +4 -4
  183. package/esm2020/src/app/shared/toolbar/toolbar.mjs +5 -5
  184. package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +5 -5
  185. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +4 -4
  186. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +5 -5
  187. package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +4 -4
  188. package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +4 -4
  189. package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +4 -4
  190. package/esm2020/src/app/social/job/job.module.mjs +5 -5
  191. package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +4 -4
  192. package/esm2020/src/app/social/job/progression/job-progression.list.mjs +4 -4
  193. package/esm2020/src/app/social/job/progression/job-progression.service.mjs +4 -4
  194. package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +4 -4
  195. package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +4 -4
  196. package/esm2020/src/app/social/job/testing/job.testing.module.mjs +5 -5
  197. package/esm2020/src/app/social/message/message.form.mjs +4 -4
  198. package/esm2020/src/app/social/message/message.modal.mjs +4 -4
  199. package/esm2020/src/app/social/message/message.module.mjs +5 -5
  200. package/esm2020/src/app/social/message/message.service.mjs +4 -4
  201. package/esm2020/src/app/social/social.module.mjs +5 -5
  202. package/esm2020/src/app/social/social.testing.module.mjs +5 -5
  203. package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +4 -4
  204. package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +4 -4
  205. package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +4 -4
  206. package/esm2020/src/app/social/user-event/testing/user-event.testing.module.mjs +5 -5
  207. package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +4 -4
  208. package/esm2020/src/app/social/user-event/user-event.module.mjs +5 -5
  209. package/esm2020/src/app/social/user-event/user-event.service.mjs +4 -4
  210. package/fesm2015/sumaris-net.ngx-components.mjs +806 -806
  211. package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -1
  212. package/fesm2020/sumaris-net.ngx-components.mjs +806 -806
  213. package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -1
  214. package/package.json +3 -3
  215. package/src/theme/_ngx-components.scss +1 -1
@@ -402,9 +402,9 @@ export class EntitiesStorage extends StartableService {
402
402
  }
403
403
  EntitiesStorage.TRASH_PREFIX = 'Trash#';
404
404
  EntitiesStorage.REMOTE_PREFIX = 'Remote#';
405
- EntitiesStorage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: EntitiesStorage, deps: [{ token: i1.Platform }, { token: i2.ProgressBarService }, { token: APP_STORAGE }, { token: ENVIRONMENT }, { token: APP_LOCAL_STORAGE_TYPE_POLICIES, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
406
- EntitiesStorage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: EntitiesStorage, providedIn: 'root' });
407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: EntitiesStorage, decorators: [{
405
+ EntitiesStorage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EntitiesStorage, deps: [{ token: i1.Platform }, { token: i2.ProgressBarService }, { token: APP_STORAGE }, { token: ENVIRONMENT }, { token: APP_LOCAL_STORAGE_TYPE_POLICIES, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
406
+ EntitiesStorage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EntitiesStorage, providedIn: 'root' });
407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EntitiesStorage, decorators: [{
408
408
  type: Injectable,
409
409
  args: [{ providedIn: 'root' }]
410
410
  }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i2.ProgressBarService }, { type: undefined, decorators: [{
@@ -419,4 +419,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
419
419
  type: Inject,
420
420
  args: [APP_LOCAL_STORAGE_TYPE_POLICIES]
421
421
  }] }]; } });
422
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRpZXMtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL3N0b3JhZ2UvZW50aXRpZXMtc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFjLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6RixPQUFPLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5RCxPQUFPLEVBQUMsWUFBWSxFQUFFLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXJFLE9BQU8sRUFBQywyQkFBMkIsRUFBNEIsV0FBVyxFQUF3QixNQUFNLHNCQUFzQixDQUFDO0FBRS9ILE9BQU8sRUFBYyxXQUFXLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUNsRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFXLFdBQVcsRUFBQyxNQUFNLGdEQUFnRCxDQUFDOzs7OztBQU9yRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLGNBQWMsQ0FBOEIsMEJBQTBCLENBQUMsQ0FBQztBQUszSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxnQkFBa0M7SUFnQnJFLFlBQ1UsUUFBa0IsRUFDbEIsa0JBQXNDLEVBQ2pCLE9BQWlCLEVBQ2YsV0FBd0IsRUFDRixZQUF5QztRQUU5RixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFOUCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xC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LENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkMsSUFBSSxpQkFBaUIsRUFBRTtnQkFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQyw2Q0FBNkMsaUJBQWlCLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUN0RjtpQkFBTTtnQkFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLDhDQUE4QyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUMvRjtZQUNELE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztBQWhnQmUsNEJBQVksR0FBRyxRQUFTLENBQUE7QUFDeEIsNkJBQWEsR0FBRyxTQUFVLENBQUE7NEdBSC9CLGVBQWUsNEVBbUJoQixXQUFXLGFBQ1gsV0FBVyxhQUNDLCtCQUErQjtnSEFyQjFDLGVBQWUsY0FESCxNQUFNOzJGQUNsQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7MEJBb0IzQixNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGVmZXIsIG1lcmdlLCBPYnNlcnZhYmxlLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0V2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQbGF0Zm9ybX0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHtmaXJzdCwgc3dpdGNoTWFwLCB0aHJvdHRsZVRpbWV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RW50aXR5LCBJRW50aXR5fSBmcm9tICcuLi9tb2RlbC9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHtpc0VtcHR5QXJyYXksIGlzTmlsT3JCbGFua30gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQge0xvYWRSZXN1bHR9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQge0VOVElUSUVTX1NUT1JBR0VfS0VZX1BSRUZJWCwgRW50aXR5U3RvcmFnZUxvYWRPcHRpb25zLCBFbnRpdHlTdG9yZSwgRW50aXR5U3RvcmVUeXBlUG9saWN5fSBmcm9tICcuL2VudGl0eS1zdG9yZS5jbGFzcyc7XG5pbXBvcnQge1Byb2dyZXNzQmFyU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3NlcnZpY2VzL3Byb2dyZXNzLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7RW52aXJvbm1lbnQsIEVOVklST05NRU5UfSBmcm9tICcuLi8uLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQuY2xhc3MnO1xuaW1wb3J0IHtTdGFydGFibGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvc3RhcnRhYmxlLXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHtjaGFpblByb21pc2VzfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtJU3RvcmFnZSwgQVBQX1NUT1JBR0V9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9zdG9yYWdlL3N0b3JhZ2UudXRpbHMnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXRpZXNTdG9yYWdlVHlwZVBvbGljaWVzIHtcbiAgW19fdHlwZW5hbWU6IHN0cmluZ106IEVudGl0eVN0b3JlVHlwZVBvbGljeTtcbn1cblxuZXhwb3J0IGNvbnN0IEFQUF9MT0NBTF9TVE9SQUdFX1RZUEVfUE9MSUNJRVMgPSBuZXcgSW5qZWN0aW9uVG9rZW48RW50aXRpZXNTdG9yYWdlVHlwZVBvbGljaWVzPignbG9jYWxTdG9yYWdlVHlwZVBvbGljaWVzJyk7XG5cbmRlY2xhcmUgaW50ZXJmYWNlIEVudGl0eVN0b3JhZ2VNYXAgeyBba2V5OiBzdHJpbmddOiBFbnRpdHlTdG9yZTxhbnksIGFueT4gfVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBFbnRpdGllc1N0b3JhZ2UgZXh0ZW5kcyBTdGFydGFibGVTZXJ2aWNlPEVudGl0eVN0b3JhZ2VNYXA+IHtcblxuICBzdGF0aWMgcmVhZG9ubHkgVFJBU0hfUFJFRklYID0gJ1RyYXNoIyc7XG4gIHN0YXRpYyByZWFkb25seSBSRU1PVEVfUFJFRklYID0gJ1JlbW90ZSMnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3R5cGVQb2xpY2llczogRW50aXRpZXNTdG9yYWdlVHlwZVBvbGljaWVzO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zYXZlVGltZXJQZXJpb2Q7XG5cbiAgcHJpdmF0ZSBfJHNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyKHRydWUpO1xuICBwcml2YXRlIF9kaXJ0eSA9IGZhbHNlO1xuICBwcml2YXRlIF9zYXZpbmcgPSBmYWxzZTtcblxuICBnZXQgZGlydHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RpcnR5IHx8IE9iamVjdC52YWx1ZXModGhpcy5fZGF0YSkuc29tZShzdG9yZSA9PiBzdG9yZS5kaXJ0eSk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgcHJpdmF0ZSBwcm9ncmVzc0JhclNlcnZpY2U6IFByb2dyZXNzQmFyU2VydmljZSxcbiAgICBASW5qZWN0KEFQUF9TVE9SQUdFKSBwcml2YXRlIHN0b3JhZ2U6IElTdG9yYWdlLFxuICAgIEBJbmplY3QoRU5WSVJPTk1FTlQpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBUFBfTE9DQUxfU1RPUkFHRV9UWVBFX1BPTElDSUVTKSB0eXBlUG9saWNpZXM6IEVudGl0aWVzU3RvcmFnZVR5cGVQb2xpY2llc1xuICApIHtcbiAgICBzdXBlcihzdG9yYWdlKTtcbiAgICB0aGlzLl90eXBlUG9saWNpZXMgPSB0eXBlUG9saWNpZXMgfHwge307XG4gICAgdGhpcy5fc2F2ZVRpbWVyUGVyaW9kID0gZW52aXJvbm1lbnQuc3RvcmFnZVNhdmVQZXJpb2RNcyB8fCAxMDAwMCAvKiA9IDEwcyAqLztcbiAgICB0aGlzLl9kYXRhID0ge307XG5cbiAgICAvLyBGb3IgREVWIG9ubHlcbiAgICB0aGlzLl9kZWJ1ZyA9ICFlbnZpcm9ubWVudC5wcm9kdWN0aW9uO1xuICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1ZygnW2VudGl0aWVzLXN0b3JhZ2VdIENyZWF0aW5nIHNlcnZpY2UnKTtcbiAgfVxuXG5cbiAgYXN5bmMgbmdPblN0YXJ0KCk6IFByb21pc2U8RW50aXR5U3RvcmFnZU1hcD4ge1xuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgY29uc29sZS5pbmZvKGBbZW50aXRpZXMtc3RvcmFnZV0gU3RhcnRpbmcgZW50aXR5IHN0b3JhZ2UuLi5gKTtcblxuICAgIC8vIFJlc3RvcmUgc3RvcmVzXG4gICAgYXdhaXQgdGhpcy5yZXN0b3JlTG9jYWxseSgpO1xuXG4gICAgLy8gU3RhcnQgYSBzYXZlIHRpbWVyXG4gICAgdGhpcy5yZWdpc3RlclN1YnNjcmlwdGlvbihcbiAgICAgIG1lcmdlKFxuICAgICAgICB0aGlzLl8kc2F2ZSxcbiAgICAgICAgdGltZXIodGhpcy5fc2F2ZVRpbWVyUGVyaW9kLCB0aGlzLl9zYXZlVGltZXJQZXJpb2QpXG4gICAgICApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIC8vIEF2b2lkIHRvIG1hbnkgY2FsbCAoZS5nLiB3aGVuICRzYXZlIEFORCB0aW1lciBhcmUgdHJpZ2dlcmVkXG4gICAgICAgICAgdGhyb3R0bGVUaW1lKHRoaXMuX3NhdmVUaW1lclBlcmlvZClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc3RvcmVMb2NhbGx5KHtza2lwSWZQcmlzdGluZTogdHJ1ZX0pKVxuICAgICk7XG5cbiAgICAvLyBTYXZlLCB3aGVuIHBsYXRmb3JtIGlzIGluIHBhdXNlXG4gICAgdGhpcy5yZWdpc3RlclN1YnNjcmlwdGlvbihcbiAgICAgIHRoaXMucGxhdGZvcm0ucGF1c2Uuc3Vic2NyaWJlKGFzeW5jICgpICA9PiB7XG4gICAgICAgIGNvbnNvbGUud2FybihgW2VudGl0aWVzLXN0b3JhZ2VdIFBsYXRmb3JtIHdpbGwgcGF1c2U6IHNhdmluZy4uLmApO1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JlTG9jYWxseSh7c2tpcElmUHJpc3RpbmU6IHRydWV9KTtcbiAgICAgICAgY29uc29sZS53YXJuKGBbZW50aXRpZXMtc3RvcmFnZV0gUGxhdGZvcm0gd2lsbCBwYXVzZTogc2F2aW5nIFtPS11gKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGNvbnNvbGUuaW5mbyhgW2VudGl0aWVzLXN0b3JhZ2VdIFN0YXJ0aW5nIFtPS10gaW4gJHtEYXRlLm5vdygpIC0gbm93fW1zYCk7XG5cbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBuZ09uU3RvcCgpIHtcbiAgICBhd2FpdCB0aGlzLnN0b3JlTG9jYWxseSh7c2tpcElmUHJpc3RpbmU6IHRydWV9KTtcbiAgfVxuXG4gIHdhdGNoQWxsPFQgZXh0ZW5kcyBFbnRpdHk8VD4+KGVudGl0eU5hbWU6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0PzogbnVtYmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU/OiBudW1iZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ydEJ5Pzogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvcnREaXJlY3Rpb24/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhc2g/OiBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcj86IChUKSA9PiBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRzPzogRW50aXR5U3RvcmFnZUxvYWRPcHRpb25zKTogT2JzZXJ2YWJsZTxMb2FkUmVzdWx0PFQ+PiB7XG4gICAgLy8gTWFrZSBzdXJlIHN0b3JlIGlzIHJlYWR5XG4gICAgaWYgKCF0aGlzLnN0YXJ0ZWQpIHtcbiAgICAgIHJldHVybiBkZWZlcigoKSA9PiB0aGlzLnJlYWR5KCkpXG4gICAgICAgIC5waXBlKHN3aXRjaE1hcCgoKSA9PiB0aGlzLndhdGNoQWxsPFQ+KGVudGl0eU5hbWUsIHZhcmlhYmxlcywgb3B0cykpKTsgLy8gTG9vcFxuICAgIH1cblxuICAgIHRoaXMucHJvZ3Jlc3NCYXJTZXJ2aWNlLmluY3JlYXNlKCk7XG4gICAgY29uc3Qgc3RvcmVOYW1lID0gdmFyaWFibGVzICYmIHZhcmlhYmxlcy50cmFzaCA/IChFbnRpdGllc1N0b3JhZ2UuVFJBU0hfUFJFRklYICsgZW50aXR5TmFtZSkgOiBlbnRpdHlOYW1lO1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZ2V0RW50aXR5U3RvcmU8VD4oc3RvcmVOYW1lLCB7Y3JlYXRlOiB0cnVlfSlcbiAgICAgIC53YXRjaEFsbCh2YXJpYWJsZXMsIG9wdHMpO1xuXG4gICAgcmVzdWx0LnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMucHJvZ3Jlc3NCYXJTZXJ2aWNlLmRlY3JlYXNlKCkpO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGFzeW5jIGxvYWRBbGw8VCBleHRlbmRzIEVudGl0eTxUPj4oZW50aXR5TmFtZTogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlcz86IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldD86IG51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU/OiBudW1iZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3J0Qnk/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3J0RGlyZWN0aW9uPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyPzogKFQpID0+IGJvb2xlYW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRzPzogRW50aXR5U3RvcmFnZUxvYWRPcHRpb25zKTogUHJvbWlzZTxMb2FkUmVzdWx0PFQ+PiB7XG5cbiAgICAvLyBNYWtlIHN1cmUgc3RvcmUgaXMgcmVhZHlcbiAgICBpZiAoIXRoaXMuc3RhcnRlZCkgYXdhaXQgdGhpcy5yZWFkeSgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMucHJvZ3Jlc3NCYXJTZXJ2aWNlLmluY3JlYXNlKCk7XG4gICAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoYFtlbnRpdGllcy1zdG9yYWdlXSBMb2FkaW5nICR7ZW50aXR5TmFtZX0uLi5gKTtcblxuICAgICAgY29uc3QgZW50aXR5U3RvcmUgPSB0aGlzLmdldEVudGl0eVN0b3JlPFQ+KGVudGl0eU5hbWUsIHtjcmVhdGU6IGZhbHNlfSk7XG4gICAgICBpZiAoIWVudGl0eVN0b3JlKSByZXR1cm4ge2RhdGE6IFtdLCB0b3RhbDogMH07IC8vIE5vIHN0b3JlIGZvciB0aGlzIGVudGl0eSBuYW1lXG5cbiAgICAgIHJldHVybiBlbnRpdHlTdG9yZS5sb2FkQWxsKHZhcmlhYmxlcywgb3B0cyk7XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgdGhpcy5wcm9ncmVzc0JhclNlcnZpY2UuZGVjcmVhc2UoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkPFQgZXh0ZW5kcyBFbnRpdHk8VD4+KGlkOiBudW1iZXIsIGVudGl0eU5hbWU6IHN0cmluZywgb3B0cz86IEVudGl0eVN0b3JhZ2VMb2FkT3B0aW9ucyk6IFByb21pc2U8VD4ge1xuICAgIGF3YWl0IHRoaXMucmVhZHkoKTtcblxuICAgIHRyeSB7XG4gICAgICB0aGlzLnByb2dyZXNzQmFyU2VydmljZS5pbmNyZWFzZSgpO1xuXG4gICAgICBjb25zdCBlbnRpdHlTdG9yZSA9IHRoaXMuZ2V0RW50aXR5U3RvcmU8VD4oZW50aXR5TmFtZSwge2NyZWF0ZTogZmFsc2V9KTtcbiAgICAgIGlmICghZW50aXR5U3RvcmUpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gYXdhaXQgZW50aXR5U3RvcmUubG9hZChpZCwgb3B0cyk7XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgdGhpcy5wcm9ncmVzc0JhclNlcnZpY2UuZGVjcmVhc2UoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBuZXh0VmFsdWUoZW50aXR5T3JOYW1lOiBzdHJpbmcgfCBhbnkpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGF3YWl0IHRoaXMucmVhZHkoKTtcbiAgICB0aGlzLl9kaXJ0eSA9IHRydWU7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RW50aXR5U3RvcmUodGhpcy5kZXRlY3RFbnRpdHlOYW1lKGVudGl0eU9yTmFtZSkpLm5leHRWYWx1ZSgpO1xuICB9XG5cbiAgYXN5bmMgbmV4dFZhbHVlcyhlbnRpdHlPck5hbWU6IHN0cmluZyB8IGFueSwgZW50aXR5Q291bnQ6IG51bWJlcik6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgYXdhaXQgdGhpcy5yZWFkeSgpO1xuICAgIHRoaXMuX2RpcnR5ID0gdHJ1ZTtcbiAgICBjb25zdCBlbnRpdHlOYW1lID0gdGhpcy5kZXRlY3RFbnRpdHlOYW1lKGVudGl0eU9yTmFtZSk7XG4gICAgY29uc3Qgc3RvcmUgPSB0aGlzLmdldEVudGl0eVN0b3JlKGVudGl0eU5hbWUpO1xuICAgIGNvbnN0IGZpcnN0VmFsdWUgPSBzdG9yZS5uZXh0VmFsdWUoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVudGl0eUNvdW50IC0gMTsgaSsrKSB7XG4gICAgICBzdG9yZS5uZXh0VmFsdWUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLmRlYnVnKGBbZW50aXRpZXMtc3RvcmFnZV0gUmVzZXJ2aW5nIHJhbmdlIFske2ZpcnN0VmFsdWV9LCR7c3RvcmUuY3VycmVudFZhbHVlKCl9XSBmb3IgJHtlbnRpdHlOYW1lfSdzIHNlcXVlbmNlYCk7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWU7XG4gIH1cblxuICBhc3luYyBjdXJyZW50VmFsdWUoZW50aXR5T3JOYW1lOiBzdHJpbmcgfCBhbnkpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGF3YWl0IHRoaXMucmVhZHkoKTtcbiAgICByZXR1cm4gdGhpcy5nZXRFbnRpdHlTdG9yZSh0aGlzLmRldGVjdEVudGl0eU5hbWUoZW50aXR5T3JOYW1lKSkuY3VycmVudFZhbHVlKCk7XG4gIH1cblxuICBhc3luYyBzYXZlPFQgZXh0ZW5kcyBFbnRpdHk8VD4+KGVudGl0eTogVCwgb3B0cz86IHtcbiAgICBlbnRpdHlOYW1lPzogc3RyaW5nO1xuICAgIGVtaXRFdmVudD86IGJvb2xlYW47XG4gIH0pOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAoIWVudGl0eSkgcmV0dXJuOyAvLyBza2lwXG5cbiAgICBpZiAoIXRoaXMuc3RhcnRlZCkgYXdhaXQgdGhpcy5yZWFkeSgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMucHJvZ3Jlc3NCYXJTZXJ2aWNlLmluY3JlYXNlKCk7XG5cbiAgICAgIHRoaXMuX2RpcnR5ID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHN0b3JlTmFtZSA9IG9wdHMgJiYgb3B0cy5lbnRpdHlOYW1lIHx8IHRoaXMuZGV0ZWN0RW50aXR5TmFtZShlbnRpdHkpO1xuICAgICAgdGhpcy5nZXRFbnRpdHlTdG9yZTxUPihzdG9yZU5hbWUpXG4gICAgICAgIC5zYXZlKGVudGl0eSwgb3B0cyk7XG5cbiAgICAgIC8vIEFzayB0byBzYXZlXG4gICAgICB0aGlzLl8kc2F2ZS5lbWl0KCk7XG5cbiAgICAgIHJldHVybiBlbnRpdHk7XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgdGhpcy5wcm9ncmVzc0JhclNlcnZpY2UuZGVjcmVhc2UoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzYXZlQWxsPFQgZXh0ZW5kcyBFbnRpdHk8VD4+KGVudGl0aWVzOiBUW10sIG9wdHM/OiB7XG4gICAgZW50aXR5TmFtZT86IHN0cmluZztcbiAgICByZXNldD86IGJvb2xlYW47XG4gICAgZW1pdEV2ZW50PzogYm9vbGVhbjtcbiAgfSk6IFByb21pc2U8VFtdPiB7XG4gICAgaWYgKGlzRW1wdHlBcnJheShlbnRpdGllcykgJiYgKCFvcHRzIHx8IG9wdHMucmVzZXQgIT09IHRydWUpKSByZXR1cm4gZW50aXRpZXM7IC8vIFNraXAgKG5vdGhpbmcgdG8gc2F2ZSlcblxuICAgIGlmICghdGhpcy5zdGFydGVkKSBhd2FpdCB0aGlzLnJlYWR5KCk7XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5wcm9ncmVzc0JhclNlcnZpY2UuaW5jcmVhc2UoKTtcblxuICAgICAgdGhpcy5fZGlydHkgPSB0cnVlO1xuICAgICAgY29uc3QgZW50aXR5TmFtZSA9IG9wdHMgJiYgb3B0cy5lbnRpdHlOYW1lIHx8IHRoaXMuZGV0ZWN0RW50aXR5TmFtZShlbnRpdGllc1swXSk7XG4gICAgICByZXR1cm4gdGhpcy5nZXRFbnRpdHlTdG9yZTxUPihlbnRpdHlOYW1lKS5zYXZlQWxsKGVudGl0aWVzLCBvcHRzKTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICB0aGlzLnByb2dyZXNzQmFyU2VydmljZS5kZWNyZWFzZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZTxUIGV4dGVuZHMgRW50aXR5PFQsIElEPiwgSUQgPSBudW1iZXI+KGVudGl0eTogVCwgb3B0cz86IHtcbiAgICBlbnRpdHlOYW1lPzogc3RyaW5nO1xuICB9KTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKCFlbnRpdHkpIHJldHVybiB1bmRlZmluZWQ7IC8vIHNraXBcblxuICAgIGlmICghdGhpcy5zdGFydGVkKSBhd2FpdCB0aGlzLnJlYWR5KCk7XG5cbiAgICByZXR1cm4gdGhpcy5kZWxldGVCeUlkKGVudGl0eS5pZCwge1xuICAgICAgLi4ub3B0cyxcbiAgICAgIGVudGl0eU5hbWU6IG9wdHMgJiYgb3B0cy5lbnRpdHlOYW1lIHx8IHRoaXMuZGV0ZWN0RW50aXR5TmFtZShlbnRpdHkpXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkZWxldGVCeUlkPFQgZXh0ZW5kcyBJRW50aXR5PFQsIElEPiwgSUQgPSBudW1iZXI+KGlkOiBJRCwgb3B0czoge1xuICAgIGVudGl0eU5hbWU6IHN0cmluZztcbiAgICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICB9KTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKCF0aGlzLnN0YXJ0ZWQpIGF3YWl0IHRoaXMucmVhZHkoKTtcblxuICAgIGlmICghb3B0cyB8fCBpc05pbE9yQmxhbmsob3B0cy5lbnRpdHlOYW1lKSkgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGFyZ3VtZW50IFxcJ29wdHNcXCcgb3IgXFwnZW50aXR5TmFtZVxcJycpO1xuICAgIC8vaWYgKGlkID49IDApIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBpZCBhIGxvY2FsIGVudGl0eSAobm90IGEgbmVnYXRpdmUgbnVtYmVyKTogJyArIGlkKTtcblxuICAgIHRyeSB7XG4gICAgICB0aGlzLnByb2dyZXNzQmFyU2VydmljZS5pbmNyZWFzZSgpO1xuICAgICAgY29uc3QgZW50aXR5U3RvcmUgPSB0aGlzLmdldEVudGl0eVN0b3JlPFQsIElEPihvcHRzLmVudGl0eU5hbWUsIHtjcmVhdGU6IGZhbHNlfSk7XG4gICAgICBpZiAoIWVudGl0eVN0b3JlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgICBjb25zdCBkZWxldGVkRW50aXR5ID0gZW50aXR5U3RvcmUuZGVsZXRlKGlkLCBvcHRzKTtcblxuICAgICAgLy8gSWYgc29tZXRoaW5nIGRlbGV0ZWRcbiAgICAgIGlmIChkZWxldGVkRW50aXR5KSB7XG5cbiAgICAgICAgLy8gTWFyayBhcyBkaXJ0eVxuICAgICAgICB0aGlzLl9kaXJ0eSA9IHRydWU7XG5cbiAgICAgICAgLy8gQXNrIHRvIHNhdmVcbiAgICAgICAgdGhpcy5fJHNhdmUuZW1pdCgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZGVsZXRlZEVudGl0eTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICB0aGlzLnByb2dyZXNzQmFyU2VydmljZS5kZWNyZWFzZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZU1hbnk8VCBleHRlbmRzIEVudGl0eTxUPj4oaWRzOiBudW1iZXJbXSwgb3B0czoge1xuICAgIGVudGl0eU5hbWU6IHN0cmluZztcbiAgICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICB9KTogUHJvbWlzZTxUW10+IHtcbiAgICBpZiAoIXRoaXMuc3RhcnRlZCkgYXdhaXQgdGhpcy5yZWFkeSgpO1xuXG4gICAgaWYgKCFvcHRzIHx8IGlzTmlsT3JCbGFuayhvcHRzLmVudGl0eU5hbWUpKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgYXJndW1lbnQgXFwnb3B0c1xcJyBvciBcXCdvcHRzLmVudGl0eU5hbWVcXCcnKTtcblxuICAgIHRyeSB7XG4gICAgICB0aGlzLnByb2dyZXNzQmFyU2VydmljZS5pbmNyZWFzZSgpO1xuICAgICAgY29uc3QgZW50aXR5U3RvcmUgPSB0aGlzLmdldEVudGl0eVN0b3JlPFQ+KG9wdHMuZW50aXR5TmFtZSwge2NyZWF0ZTogZmFsc2V9KTtcbiAgICAgIGlmICghZW50aXR5U3RvcmUpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAgIC8vIERvIGRlbGV0aW9uXG4gICAgICBjb25zdCBkZWxldGVkRW50aXRpZXMgPSBlbnRpdHlTdG9yZS5kZWxldGVNYW55KGlkcywgb3B0cyk7XG5cbiAgICAgIC8vIElmIHNvbWV0aGluZyBkZWxldGVkXG4gICAgICBpZiAoZGVsZXRlZEVudGl0aWVzLmxlbmd0aCA+IDApIHtcblxuICAgICAgICAvLyBNYXJrIGFzIGRpcnR5XG4gICAgICAgIHRoaXMuX2RpcnR5ID0gdHJ1ZTtcblxuICAgICAgICAvLyBNYXJrIGFzIHNhdmVkIG5lZWRcbiAgICAgICAgdGhpcy5fJHNhdmUuZW1pdCgpO1xuXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkZWxldGVkRW50aXRpZXM7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgICB0aGlzLnByb2dyZXNzQmFyU2VydmljZS5kZWNyZWFzZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUZyb21UcmFzaDxUIGV4dGVuZHMgRW50aXR5PFQ+PihlbnRpdHk6IFQsIG9wdHM/OiB7XG4gICAgZW50aXR5TmFtZT86IHN0cmluZztcbiAgfSk6IFByb21pc2U8VD4ge1xuICAgIGlmICghZW50aXR5KSByZXR1cm4gdW5kZWZpbmVkOyAvLyBza2lwXG5cbiAgICBpZiAoIXRoaXMuc3RhcnRlZCkgYXdhaXQgdGhpcy5yZWFkeSgpO1xuXG4gICAgcmV0dXJuIHRoaXMuZGVsZXRlRnJvbVRyYXNoQnlJZChlbnRpdHkuaWQsIHtcbiAgICAgIC4uLm9wdHMsXG4gICAgICBlbnRpdHlOYW1lOiBvcHRzICYmIG9wdHMuZW50aXR5TmFtZSB8fCB0aGlzLmRldGVjdEVudGl0eU5hbWUoZW50aXR5KVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlRnJvbVRyYXNoQnlJZDxUIGV4dGVuZHMgRW50aXR5PFQ+PihpZDogbnVtYmVyLCBvcHRzOiB7XG4gICAgZW50aXR5TmFtZTogc3RyaW5nO1xuICAgIGVtaXRFdmVudD86IGJvb2xlYW47XG4gIH0pOiBQcm9taXNlPFQ+IHtcbiAgICBhd2FpdCB0aGlzLnJlYWR5KCk7XG5cbiAgICBpZiAoIW9wdHMgfHwgaXNOaWxPckJsYW5rKG9wdHMuZW50aXR5TmFtZSkpIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBhcmd1bWVudCBcXCdvcHRzXFwnIG9yIFxcJ2VudGl0eU5hbWVcXCcnKTtcblxuICAgIHJldHVybiB0aGlzLmRlbGV0ZUJ5SWQoaWQsIHtcbiAgICAgIC4uLm9wdHMsXG4gICAgICBlbnRpdHlOYW1lOiBFbnRpdGllc1N0b3JhZ2UuVFJBU0hfUFJFRklYICsgb3B0cy5lbnRpdHlOYW1lXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBtb3ZlVG9UcmFzaDxUIGV4dGVuZHMgRW50aXR5PFQ+PihlbnRpdHk6IFQsIG9wdHM/OiB7XG4gICAgZW50aXR5TmFtZT86IHN0cmluZztcbiAgICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICB9KTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKCFlbnRpdHkpIHJldHVybiB1bmRlZmluZWQ7IC8vIHNraXBcblxuICAgIGlmICghdGhpcy5zdGFydGVkKSBhd2FpdCB0aGlzLnJlYWR5KCk7XG5cbiAgICBjb25zdCBlbnRpdHlOYW1lID0gb3B0cyAmJiBvcHRzLmVudGl0eU5hbWUgfHwgdGhpcy5kZXRlY3RFbnRpdHlOYW1lKGVudGl0eSk7XG5cbiAgICAvLyBEZWxldGUgZW50aXR5IGJ5IGlkLCBpZiBleGlzdHNcbiAgICBjb25zdCBlbnRpdHlTdG9yZSA9IHRoaXMuZ2V0RW50aXR5U3RvcmU8VD4oZW50aXR5TmFtZSk7XG4gICAgaWYgKGVudGl0eVN0b3JlKSBlbnRpdHlTdG9yZS5kZWxldGUoZW50aXR5LmlkLCBvcHRzKTtcblxuICAgIC8vIENsZWFuIGlkIChhIG5ldyBpZCB3aWxsIGJlIHNldCBieSB0aGUgdHJhc2ggc3RvcmUpXG4gICAgZW50aXR5LmlkID0gdW5kZWZpbmVkO1xuXG4gICAgLy8gQWRkIHRvIHRyYXNoXG4gICAgY29uc3QgdHJhc2hOYW1lID0gRW50aXRpZXNTdG9yYWdlLlRSQVNIX1BSRUZJWCArIGVudGl0eU5hbWU7XG4gICAgdGhpcy5nZXRFbnRpdHlTdG9yZTxUPih0cmFzaE5hbWUpLnNhdmUoZW50aXR5LCBvcHRzKTtcblxuICAgIHRoaXMuXyRzYXZlLmVtaXQoKTtcblxuICAgIHJldHVybiBlbnRpdHk7XG4gIH1cblxuICBhc3luYyBtb3ZlTWFueVRvVHJhc2g8VCBleHRlbmRzIEVudGl0eTxUPj4oaWRzOiBudW1iZXJbXSwgb3B0czoge1xuICAgIGVudGl0eU5hbWU6IHN0cmluZztcbiAgICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICB9KTogUHJvbWlzZTxUW10+IHtcbiAgICBpZiAoIXRoaXMuc3RhcnRlZCkgYXdhaXQgdGhpcy5yZWFkeSgpO1xuXG4gICAgaWYgKCFvcHRzIHx8IGlzTmlsT3JCbGFuayhvcHRzLmVudGl0eU5hbWUpKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgYXJndW1lbnQgXFwnb3B0cy5lbnRpdHlOYW1lXFwnJyk7XG5cbiAgICBjb25zdCBlbnRpdHlTdG9yZSA9IHRoaXMuZ2V0RW50aXR5U3RvcmU8VD4ob3B0cy5lbnRpdHlOYW1lLCB7Y3JlYXRlOiBmYWxzZX0pO1xuICAgIGlmICghZW50aXR5U3RvcmUpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAvLyBEbyBkZWxldGlvblxuICAgIGNvbnN0IGRlbGV0ZWRFbnRpdGllcyA9IGVudGl0eVN0b3JlLmRlbGV0ZU1hbnkoaWRzLCBvcHRzKTtcblxuICAgIC8vIElmIHNvbWV0aGluZyBkZWxldGVkXG4gICAgaWYgKGRlbGV0ZWRFbnRpdGllcy5sZW5ndGggPiAwKSB7XG5cbiAgICAgIC8vIENsZWFuIGlkcyAobmV3IGlkcyB3aWxsIGJlIHNldCBieSB0aGUgdHJhc2ggc3RvcmUpXG4gICAgICBkZWxldGVkRW50aXRpZXMuZm9yRWFjaChlID0+IGUuaWQgPSB1bmRlZmluZWQpO1xuXG4gICAgICBjb25zdCB0cmFzaE5hbWUgPSBFbnRpdGllc1N0b3JhZ2UuVFJBU0hfUFJFRklYICsgb3B0cy5lbnRpdHlOYW1lO1xuICAgICAgdGhpcy5nZXRFbnRpdHlTdG9yZTxUPih0cmFzaE5hbWUsIHtjcmVhdGU6IHRydWV9KVxuICAgICAgICAuc2F2ZUFsbChkZWxldGVkRW50aXRpZXMsIG9wdHMpO1xuXG4gICAgICAvLyBNYXJrIGFzIGRpcnR5XG4gICAgICB0aGlzLl9kaXJ0eSA9IHRydWU7XG5cbiAgICAgIC8vIE1hcmsgYXMgc2F2ZSBuZWVkXG4gICAgICB0aGlzLl8kc2F2ZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlbGV0ZWRFbnRpdGllcztcbiAgfVxuXG4gIGFzeW5jIHNhdmVUb1RyYXNoPFQgZXh0ZW5kcyBFbnRpdHk8VD4+KGVudGl0eTogVCwgb3B0cz86IHtcbiAgICBlbnRpdHlOYW1lPzogc3RyaW5nO1xuICAgIGVtaXRFdmVudD86IGJvb2xlYW47XG4gIH0pOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAoIWVudGl0eSkgcmV0dXJuIHVuZGVmaW5lZDsgLy8gc2tpcFxuXG4gICAgaWYgKCF0aGlzLnN0YXJ0ZWQpIGF3YWl0IHRoaXMucmVhZHkoKTtcblxuICAgIGNvbnN0IGVudGl0eU5hbWUgPSBvcHRzICYmIG9wdHMuZW50aXR5TmFtZSB8fCB0aGlzLmRldGVjdEVudGl0eU5hbWUoZW50aXR5KTtcbiAgICBjb25zdCB0cmFzaE5hbWUgPSBFbnRpdGllc1N0b3JhZ2UuVFJBU0hfUFJFRklYICsgZW50aXR5TmFtZTtcbiAgICB0aGlzLmdldEVudGl0eVN0b3JlPFQ+KHRyYXNoTmFtZSkuc2F2ZShlbnRpdHksIG9wdHMpO1xuXG4gICAgdGhpcy5fJHNhdmUuZW1pdCgpO1xuXG4gICAgcmV0dXJuIGVudGl0eTtcbiAgfVxuXG4gIGFzeW5jIGNsZWFyVHJhc2goZW50aXR5TmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLnN0YXJ0ZWQpIGF3YWl0IHRoaXMucmVhZHkoKTtcblxuICAgIGNvbnN0IHRyYXNoTmFtZSA9IEVudGl0aWVzU3RvcmFnZS5UUkFTSF9QUkVGSVggKyBlbnRpdHlOYW1lO1xuICAgIGNvbnN0IGVudGl0eVN0b3JlID0gdGhpcy5nZXRFbnRpdHlTdG9yZSh0cmFzaE5hbWUsIHtjcmVhdGU6IGZhbHNlfSk7XG4gICAgaWYgKCFlbnRpdHlTdG9yZSkgcmV0dXJuOyAvLyBTa2lwXG5cbiAgICBlbnRpdHlTdG9yZS5yZXNldCgpO1xuICAgIHRoaXMuX2RpcnR5ID0gdHJ1ZTtcblxuICAgIHRoaXMuXyRzYXZlLmVtaXQoKTtcbiAgfVxuXG4gIHBlcnNpc3Qob3B0cyA9IHtza2lwSWZQcmlzdGluZTogdHJ1ZX0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZUxvY2FsbHkob3B0cyk7XG4gIH1cblxuICAvKiAtLSBwcm90ZWN0ZWQgbWV0aG9kcyAtLSAqL1xuXG4gIHByb3RlY3RlZCBnZXRFbnRpdHlTdG9yZTxUIGV4dGVuZHMgSUVudGl0eTxULCBJRD4sIElEID0gbnVtYmVyPihuYW1lOiBzdHJpbmcsIG9wdHM/OiB7XG4gICAgY3JlYXRlPzogYm9vbGVhbjtcbiAgfSk6IEVudGl0eVN0b3JlPFQsIElEPiB7XG4gICAgbGV0IHN0b3JlID0gdGhpcy5fZGF0YVtuYW1lXTtcbiAgICBpZiAoIXN0b3JlICYmICghb3B0cyB8fCBvcHRzLmNyZWF0ZSAhPT0gZmFsc2UpKSB7XG4gICAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoYFtlbnRpdGllcy1zdG9yYWdlXSBDcmVhdGluZyBzdG9yZSAke25hbWV9YCk7XG4gICAgICBjb25zdCB0eXBlUG9saWN5ID0gdGhpcy5fdHlwZVBvbGljaWVzW25hbWVdO1xuICAgICAgc3RvcmUgPSBuZXcgRW50aXR5U3RvcmU8VCwgSUQ+KG5hbWUsIHRoaXMuc3RvcmFnZSwgdHlwZVBvbGljeSk7XG4gICAgICB0aGlzLl9kYXRhW25hbWVdID0gc3RvcmU7XG4gICAgfVxuICAgIHJldHVybiBzdG9yZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZXRlY3RFbnRpdHlOYW1lKGVudGl0eU9yTmFtZTogc3RyaW5nIHwgRW50aXR5PGFueSwgYW55Pik6IHN0cmluZyB7XG4gICAgaWYgKCFlbnRpdHlPck5hbWUpIHRocm93IEVycm9yKCdVbmFibGUgdG8gZGV0ZWN0IGVudGl0eU5hbWUgb2Ygb2JqZWN0OiAnICsgZW50aXR5T3JOYW1lKTtcbiAgICBpZiAodHlwZW9mIGVudGl0eU9yTmFtZSA9PT0gJ3N0cmluZycpIHJldHVybiBlbnRpdHlPck5hbWU7XG4gICAgaWYgKGVudGl0eU9yTmFtZS5fX3R5cGVuYW1lKSB7XG4gICAgICByZXR1cm4gZW50aXR5T3JOYW1lLl9fdHlwZW5hbWU7XG4gICAgfVxuICAgIHJldHVybiBlbnRpdHlPck5hbWUuY29uc3RydWN0b3IubmFtZSArICdWTyc7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgcmVzdG9yZUxvY2FsbHkoKSB7XG5cbiAgICBjb25zdCBlbnRpdHlOYW1lcyA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoRU5USVRJRVNfU1RPUkFHRV9LRVlfUFJFRklYKTtcbiAgICBpZiAoIWVudGl0eU5hbWVzKSByZXR1cm47XG5cbiAgICBjb25zdCBub3cgPSB0aGlzLl9kZWJ1ZyAmJiBEYXRlLm5vdygpO1xuICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5pbmZvKCdbZW50aXRpZXMtc3RvcmFnZV0gUmVzdG9yaW5nIGVudGl0aWVzLi4uJyk7XG4gICAgY29uc3QgZW50aXRpZXNDb3VudCA9IChhd2FpdCBQcm9taXNlLmFsbDxudW1iZXI+KFxuICAgICAgZW50aXR5TmFtZXNcbiAgICAgICAgLm1hcChuYW1lID0+IHRoaXMuZ2V0RW50aXR5U3RvcmU8YW55PihuYW1lKSlcbiAgICAgICAgLm1hcCgoc3RvcmU6IEVudGl0eVN0b3JlPGFueT4pID0+IHN0b3JlLnJlc3RvcmUoKSkpXG4gICAgKS5yZWR1Y2UoKHJlcywgY291bnQpID0+IChyZXMgKyBjb3VudCksIDApO1xuXG4gICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLmRlYnVnKGBbZW50aXRpZXMtc3RvcmFnZV0gUmVzdG9yaW5nIGVudGl0aWVzIFtPS10gJHtlbnRpdGllc0NvdW50fSBlbnRpdGllcyBmb3VuZCBpbiAke0RhdGUubm93KCkgLSBub3d9bXNgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBzdG9yZUxvY2FsbHkob3B0cyA9IHtza2lwSWZQcmlzdGluZTogdHJ1ZX0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAob3B0cy5za2lwSWZQcmlzdGluZSAmJiAhdGhpcy5kaXJ0eSkgcmV0dXJuOyAvLyBza2lwXG5cbiAgICAvLyBTYXZpbmcgcHJvZ3Jlc3M6IHJlcG9ydCB0aGlzIHNhdmUgbGF0ZXJcbiAgICBpZiAodGhpcy5fc2F2aW5nKSB7XG4gICAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoJ1tlbnRpdGllcy1zdG9yYWdlXSBQcmV2aW91cyBwZXJzaXN0IG5vdCBmaW5pc2hlZC4gV2FpdGluZy4uLicpO1xuICAgICAgdGhpcy5fJHNhdmUuZW1pdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3NhdmluZyA9IHRydWU7XG4gICAgdGhpcy5fZGlydHkgPSBmYWxzZTtcbiAgICB0aGlzLnByb2dyZXNzQmFyU2VydmljZS5pbmNyZWFzZSgpO1xuICAgIGNvbnN0IGVudGl0eU5hbWVzID0gdGhpcy5fZGF0YSAmJiBPYmplY3Qua2V5cyh0aGlzLl9kYXRhKSB8fCBbXTtcblxuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLmRlYnVnKCdbZW50aXRpZXMtc3RvcmFnZV0gUGVyc2lzdGluZy4uLicpO1xuXG4gICAgbGV0IGN1cnJlbnRFbnRpdHlOYW1lO1xuICAgIHJldHVybiBjaGFpblByb21pc2VzKFxuICAgICAgZW50aXR5TmFtZXMubWFwKGVudGl0eU5hbWUgPT4gKCkgPT4ge1xuICAgICAgICAgIGN1cnJlbnRFbnRpdHlOYW1lID0gZW50aXR5TmFtZTtcbiAgICAgICAgICBjb25zdCBlbnRpdHlTdG9yZSA9IHRoaXMuZ2V0RW50aXR5U3RvcmUoZW50aXR5TmFtZSwge2NyZWF0ZTogZmFsc2V9KTtcblxuICAgICAgICAgIGlmICghZW50aXR5U3RvcmUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgW2VudGl0aWVzLXN0b3JhZ2VdIFBlcnNpc3RpbmcgJHtlbnRpdHlOYW1lfTogc3RvcmUgbm90IGZvdW5kIWApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFNLaXAgc3RvcmUgaWYgcHJpc3RpbmVcbiAgICAgICAgICBpZiAob3B0cy5za2lwSWZQcmlzdGluZSAmJiAhZW50aXR5U3RvcmUuZGlydHkpIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblxuICAgICAgICAgIC8vIFBlcnNpc3Qgc3RvcmVcbiAgICAgICAgICByZXR1cm4gZW50aXR5U3RvcmUucGVyc2lzdChvcHRzKVxuICAgICAgICAgICAgLnRoZW4oY291bnQgPT4ge1xuICAgICAgICAgICAgICAvLyBJZiBubyBlbnRpdHkgZm91bmQsIHJlbW92ZSBmcm9tIHRoZSBlbnRpdHkgbmFtZXMgYXJyYXlcbiAgICAgICAgICAgICAgaWYgKCFjb3VudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVudGl0eU5hbWVJbmRleCA9IGVudGl0eU5hbWVzLmZpbmRJbmRleChlID0+IGUgPT09IGVudGl0eU5hbWUpO1xuICAgICAgICAgICAgICAgIGlmIChlbnRpdHlOYW1lSW5kZXggIT09IC0xKSBlbnRpdHlOYW1lcy5zcGxpY2UoZW50aXR5TmFtZUluZGV4LCAxKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIGN1cnJlbnRFbnRpdHlOYW1lID0gdW5kZWZpbmVkO1xuICAgICAgICAgIHJldHVybiBpc0VtcHR5QXJyYXkoZW50aXR5TmFtZXMpID9cbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRU5USVRJRVNfU1RPUkFHRV9LRVlfUFJFRklYKSA6XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2Uuc2V0KEVOVElUSUVTX1NUT1JBR0VfS0VZX1BSRUZJWCwgZW50aXR5TmFtZXMpO1xuICAgICAgfSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLmRlYnVnKGBbZW50aXRpZXMtc3RvcmFnZV0gUGVyc2lzdGluZyBbT0tdICR7ZW50aXR5TmFtZXMubGVuZ3RofSBzdG9yZXMgc2F2ZWQgaW4gJHtEYXRlLm5vdygpIC0gbm93fW1zLi4uYCk7XG4gICAgICAgIHRoaXMuX3NhdmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnByb2dyZXNzQmFyU2VydmljZS5kZWNyZWFzZSgpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICB0aGlzLl9zYXZpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wcm9ncmVzc0JhclNlcnZpY2UuZGVjcmVhc2UoKTtcbiAgICAgICAgaWYgKGN1cnJlbnRFbnRpdHlOYW1lKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgW2VudGl0aWVzLXN0b3JhZ2VdIEVycm9yIHdoaWxlIHBlcnNpc3RpbmcgJHtjdXJyZW50RW50aXR5TmFtZX1gLCBlcnIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFtlbnRpdGllcy1zdG9yYWdlXSBFcnJvciB3aGlsZSBwZXJzaXN0aW5nOiAke2VyciAmJiBlcnIubWVzc2FnZSB8fCBlcnJ9YCwgZXJyKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9KTtcbiAgfVxuXG59XG4iXX0=
422
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRpZXMtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL3N0b3JhZ2UvZW50aXRpZXMtc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFjLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6RixPQUFPLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5RCxPQUFPLEVBQUMsWUFBWSxFQUFFLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXJFLE9BQU8sRUFBQywyQkFBMkIsRUFBNEIsV0FBVyxFQUF3QixNQUFNLHNCQUFzQixDQUFDO0FBRS9ILE9BQU8sRUFBYyxXQUFXLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUNsRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFXLFdBQVcsRUFBQyxNQUFNLGdEQUFnRCxDQUFDOzs7OztBQU9yRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLGNBQWMsQ0FBOEIsMEJBQTBCLENBQUMsQ0FBQztBQUszSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxnQkFBa0M7SUFnQnJFLFlBQ1UsUUFBa0IsRUFDbEIsa0JBQXNDLEVBQ2pCLE9BQWlCLEVBQ2YsV0FBd0IsRUFDRixZQUF5QztRQUU5RixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFOUCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xC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LENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkMsSUFBSSxpQkFBaUIsRUFBRTtnQkFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQyw2Q0FBNkMsaUJBQWlCLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUN0RjtpQkFBTTtnQkFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLDhDQUE4QyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUMvRjtZQUNELE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztBQWhnQmUsNEJBQVksR0FBRyxRQUFTLENBQUE7QUFDeEIsNkJBQWEsR0FBRyxTQUFVLENBQUE7NkdBSC9CLGVBQWUsNEVBbUJoQixXQUFXLGFBQ1gsV0FBVyxhQUNDLCtCQUErQjtpSEFyQjFDLGVBQWUsY0FESCxNQUFNOzRGQUNsQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7MEJBb0IzQixNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGVmZXIsIG1lcmdlLCBPYnNlcnZhYmxlLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0V2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQbGF0Zm9ybX0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHtmaXJzdCwgc3dpdGNoTWFwLCB0aHJvdHRsZVRpbWV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RW50aXR5LCBJRW50aXR5fSBmcm9tICcuLi9tb2RlbC9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHtpc0VtcHR5QXJyYXksIGlzTmlsT3JCbGFua30gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQge0xvYWRSZXN1bHR9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQge0VOVElUSUVTX1NUT1JBR0VfS0VZX1BSRUZJWCwgRW50aXR5U3RvcmFnZUxvYWRPcHRpb25zLCBFbnRpdHlTdG9yZSwgRW50aXR5U3RvcmVUeXBlUG9saWN5fSBmcm9tICcuL2VudGl0eS1zdG9yZS5jbGFzcyc7XG5pbXBvcnQge1Byb2dyZXNzQmFyU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3NlcnZpY2VzL3Byb2dyZXNzLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7RW52aXJvbm1lbnQsIEVOVklST05NRU5UfSBmcm9tICcuLi8uLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQuY2xhc3MnO1xuaW1wb3J0IHtTdGFydGFibGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvc3RhcnRhYmxlLXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHtjaGFpblByb21pc2VzfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtJU3RvcmFnZSwgQVBQX1NUT1JBR0V9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9zdG9yYWdlL3N0b3JhZ2UudXRpbHMnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXRpZXNTdG9yYWdlVHlwZVBvbGljaWVzIHtcbiAgW19fdHlwZW5hbWU6IHN0cmluZ106IEVudGl0eVN0b3JlVHlwZVBvbGljeTtcbn1cblxuZXhwb3J0IGNvbnN0IEFQUF9MT0NBTF9TVE9SQUdFX1RZUEVfUE9MSUNJRVMgPSBuZXcgSW5qZWN0aW9uVG9rZW48RW50aXRpZXNTdG9yYWdlVHlwZVBvbGljaWVzPignbG9jYWxTdG9yYWdlVHlwZVBvbGljaWVzJyk7XG5cbmRlY2xhcmUgaW50ZXJmYWNlIEVudGl0eVN0b3JhZ2VNYXAgeyBba2V5OiBzdHJpbmddOiBFbnRpdHlTdG9yZTxhbnksIGFueT4gfVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBFbnRpdGllc1N0b3JhZ2UgZXh0ZW5kcyBTdGFydGFibGVTZXJ2aWNlPEVudGl0eVN0b3JhZ2VNYXA+IHtcblxuICBzdGF0aWMgcmVhZG9ubHkgVFJBU0hfUFJFRklYID0gJ1RyYXNoIyc7XG4gIHN0YXRpYyByZWFkb25seSBSRU1PVEVfUFJFRklYID0gJ1JlbW90ZSMnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3R5cGVQb2xpY2llczogRW50aXRpZXNTdG9yYWdlVHlwZVBvbGljaWVzO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zYXZlVGltZXJQZXJpb2Q7XG5cbiAgcHJpdmF0ZSBfJHNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyKHRydWUpO1xuICBwcml2YXRlIF9kaXJ0eSA9IGZhbHNlO1xuICBwcml2YXRlIF9zYXZpbmcgPSBmYWxzZTtcblxuICBnZXQgZGlydHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RpcnR5IHx8IE9iamVjdC52YWx1ZXModGhpcy5fZGF0YSkuc29tZShzdG9yZSA9PiBzdG9yZS5kaXJ0eSk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgcHJpdmF0ZSBwcm9ncmVzc0JhclNlcnZpY2U6IFByb2dyZXNzQmFyU2VydmljZSxcbiAgICBASW5qZWN0KEFQUF9TVE9SQUdFKSBwcml2YXRlIHN0b3JhZ2U6IElTdG9yYWdlLFxuICAgIEBJbmplY3QoRU5WSVJPTk1FTlQpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBUFBfTE9DQUxfU1RPUkFHRV9UWVBFX1BPTElDSUVTKSB0eXBlUG9saWNpZXM6IEVudGl0aWVzU3RvcmFnZVR5cGVQb2xpY2llc1xuICApIHtcbiAgICBzdXBlcihzdG9yYWdlKTtcbiAgICB0aGlzLl90eXBlUG9saWNpZXMgPSB0eXBlUG9saWNpZXMgfHwge307XG4gICAgdGhpcy5fc2F2ZVRpbWVyUGVyaW9kID0gZW52aXJvbm1lbnQuc3RvcmFnZVNhdmVQZXJpb2RNcyB8fCAxMDAwMCAvKiA9IDEwcyAqLztcbiAgICB0aGlzLl9kYXRhID0ge307XG5cbiAgICAvLyBGb3IgREVWIG9ubHlcbiAgICB0aGlzLl9kZWJ1ZyA9ICFlbnZpcm9ubWVudC5wcm9kdWN0aW9uO1xuICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1ZygnW2VudGl0aWVzLXN0b3JhZ2VdIENyZWF0aW5nIHNlcnZpY2UnKTtcbiAgfVxuXG5cbiAgYXN5bmMgbmdPblN0YXJ0KCk6IFByb21pc2U8RW50aXR5U3RvcmFnZU1hcD4ge1xuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgY29uc29sZS5pbmZvKGBbZW50aXRpZXMtc3RvcmFnZV0gU3RhcnRpbmcgZW50aXR5IHN0b3JhZ2UuLi5gKTtcblxuICAgIC8vIFJlc3RvcmUgc3RvcmVzXG4gICAgYXdhaXQgdGhpcy5yZXN0b3JlTG9jYWxseSgpO1xuXG4gICAgLy8gU3RhcnQgYSBzYXZlIHRpbWVyXG4gICAgdGhpcy5yZWdpc3RlclN1YnNjcmlwdGlvbihcbiAgICAgIG1lcmdlKFxuICAgICAgICB0aGlzLl8kc2F2ZSxcbiAgICAgICAgdGltZXIodGhpcy5fc2F2ZVRpbWVyUGVyaW9kLCB0aGlzLl9zYXZlVGltZXJQZXJpb2QpXG4gICAgICApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIC8vIEF2b2lkIHRvIG1hbnkgY2FsbCAoZS5nLiB3aGVuICRzYXZlIEFORCB0aW1lciBhcmUgdHJpZ2dlcmVkXG4gICAgICAgICAgdGhyb3R0bGVUaW1lKHRoaXMuX3NhdmVUaW1lclBlcmlvZClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc3RvcmVMb2NhbGx5KHtza2lwSWZQcmlzdGluZTogdHJ1ZX0pKVxuICAgICk7XG5cbiAgICAvLyBTYXZlLCB3aGVuIHBsYXRmb3JtIGlzIGluIHBhdXNlXG4gICAgdGhpcy5yZWdpc3RlclN1YnNjcmlwdGlvbihcbiAgICAgIHRoaXMucGxhdGZvcm0ucGF1c2Uuc3Vic2NyaWJlKGFzeW5jICgpICA9PiB7XG4gICAgICAgIGNvbnNvbGUud2FybihgW2VudGl0aWVzLXN0b3JhZ2VdIFBsYXRmb3JtIHdpbGwgcGF1c2U6IHNhdmluZy4uLmApO1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JlTG9jYWxseSh7c2tpcElmUHJpc3RpbmU6IHRydWV9KTtcbiAgICAgICAgY29uc29sZS53YXJuKGBbZW50aXRpZXMtc3RvcmFnZV0gUGxhdGZvcm0gd2lsbCBwYXVzZTogc2F2aW5nIFtPS11gKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGNvbnNvbGUuaW5mbyhgW2VudGl0aWVzLXN0b3JhZ2VdIFN0YXJ0aW5nIFtPS10gaW4gJHtEYXRlLm5vdygpIC0gbm93fW1zYCk7XG5cbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBuZ09uU3RvcCgpIHtcbiAgICBhd2FpdCB0aGlzLnN0b3JlTG9jYWxseSh7c2tpcElmUHJpc3RpbmU6IHRydWV9KTtcbiAgfVxuXG4gIHdhdGNoQWxsPFQgZXh0ZW5kcyBFbnRpdHk8VD4+KGVudGl0eU5hbWU6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0PzogbnVtYmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU/OiBudW1iZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ydEJ5Pzogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvcnREaXJlY3Rpb24/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhc2g/OiBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcj86IChUKSA9PiBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRzPzogRW50aXR5U3RvcmFnZUxvYWRPcHRpb25zKTogT2JzZXJ2YWJsZTxMb2FkUmVzdWx0PFQ+PiB7XG4gICAgLy8gTWFrZSBzdXJlIHN0b3JlIGlzIHJlYWR5XG4gICAgaWYgKCF0aGlzLnN0YXJ0ZWQpIHtcbiAgICAgIHJldHVybiBkZWZlcigoKSA9PiB0aGlzLnJlYWR5KCkpXG4gICAgICAgIC5waXBlKHN3aXRjaE1hcCgoKSA9PiB0aGlzLndhdGNoQWxsPFQ+KGVudGl0eU5hbWUsIHZhcmlhYmxlcywgb3B0cykpKTsgLy8gTG9vcFxuICAgIH1cblxuICAgIHRoaXMucHJvZ3Jlc3NCYXJTZXJ2aWNlLmluY3JlYXNlKCk7XG4gICAgY29uc3Qgc3RvcmVOYW1lID0gdmFyaWFibGVzICYmIHZhcmlhYmxlcy50cmFzaCA/IChFbnRpdGllc1N0b3JhZ2UuVFJBU0hfUFJFRklYICsgZW50aXR5TmFtZSkgOiBlbnRpdHlOYW1lO1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZ2V0RW50aXR5U3RvcmU8VD4oc3RvcmVOYW1lLCB7Y3JlYXRlOiB0cnVlfSlcbiAgICAgIC53YXRjaEFsbCh2YXJpYWJsZXMsIG9wdHMpO1xuXG4gICAgcmVzdWx0LnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMucHJvZ3Jlc3NCYXJTZXJ2aWNlLmRlY3JlYXNlKCkpO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGFzeW5jIGxvYWRBbGw8VCBleHRlbmRzIEVudGl0eTxUPj4oZW50aXR5TmFtZTogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlcz86IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldD86IG51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU/OiBudW1iZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3J0Qnk/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3J0RGlyZWN0aW9uPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyPzogKFQpID0+IGJvb2xlYW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRzPzogRW50aXR5U3RvcmFnZUxvYWRPcHRpb25zKTogUHJvbWlzZTxMb2FkUmVzdWx0PFQ+PiB7XG5cbiAgICAvLyBNYWtlIHN1cmUgc3RvcmUgaXMgcmVhZHlcbiAgICBpZiAoIXRoaXMuc3RhcnRlZCkgYXdhaXQgdGhpcy5yZWFkeSgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMucHJvZ3Jlc3NCYXJTZXJ2aWNlLmluY3JlYXNlKCk7XG4gICAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoYFtlbnRpdGllcy1zdG9yYWdlXSBMb2FkaW5nICR7ZW50aXR5TmFtZX0uLi5gKTtcblxuICAgICAgY29uc3QgZW50aXR5U3RvcmUgPSB0aGlzLmdldEVudGl0eVN0b3JlPFQ+KGVudGl0eU5hbWUsIHtjcmVhdGU6IGZhbHNlfSk7XG4gICAgICBpZiAoIWVudGl0eVN0b3JlKSByZXR1cm4ge2RhdGE6IFtdLCB0b3RhbDogMH07IC8vIE5vIHN0b3JlIGZvciB0aGlzIGVudGl0eSBuYW1lXG5cbiAgICAgIHJldHVybiBlbnRpdHlTdG9yZS5sb2FkQWxsKHZhcmlhYmxlcywgb3B0cyk7XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgdGhpcy5wcm9ncmVzc0JhclNlcnZpY2UuZGVjcmVhc2UoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkPFQgZXh0ZW5kcyBFbnRpdHk8VD4+KGlkOiBudW1iZXIsIGVudGl0eU5hbWU6IHN0cmluZywgb3B0cz86IEVudGl0eVN0b3JhZ2VMb2FkT3B0aW9ucyk6IFByb21pc2U8VD4ge1xuICAgIGF3YWl0IHRoaXMucmVhZHkoKTtcblxuICAgIHRyeSB7XG4gICAgICB0aGlzLnByb2dyZXNzQmFyU2VydmljZS5pbmNyZWFzZSgpO1xuXG4gICAgICBjb25zdCBlbnRpdHlTdG9yZSA9IHRoaXMuZ2V0RW50aXR5U3RvcmU8VD4oZW50aXR5TmFtZSwge2NyZWF0ZTogZmFsc2V9KTtcbiAgICAgIGlmICghZW50aXR5U3RvcmUpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gYXdhaXQgZW50aXR5U3RvcmUubG9hZChpZCwgb3B0cyk7XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgdGhpcy5wcm9ncmVzc0JhclNlcnZpY2UuZGVjcmVhc2UoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBuZXh0VmFsdWUoZW50aXR5T3JOYW1lOiBzdHJpbmcgfCBhbnkpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGF3YWl0IHRoaXMucmVhZHkoKTtcbiAgICB0aGlzLl9kaXJ0eSA9IHRydWU7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RW50aXR5U3RvcmUodGhpcy5kZXRlY3RFbnRpdHlOYW1lKGVudGl0eU9yTmFtZSkpLm5leHRWYWx1ZSgpO1xuICB9XG5cbiAgYXN5bmMgbmV4dFZhbHVlcyhlbnRpdHlPck5hbWU6IHN0cmluZyB8IGFueSwgZW50aXR5Q291bnQ6IG51bWJlcik6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgYXdhaXQgdGhpcy5yZWFkeSgpO1xuICAgIHRoaXMuX2RpcnR5ID0gdHJ1ZTtcbiAgICBjb25zdCBlbnRpdHlOYW1lID0gdGhpcy5kZXRlY3RFbnRpdHlOYW1lKGVudGl0eU9yTmFtZSk7XG4gICAgY29uc3Qgc3RvcmUgPSB0aGlzLmdldEVudGl0eVN0b3JlKGVudGl0eU5hbWUpO1xuICAgIGNvbnN0IGZpcnN0VmFsdWUgPSBzdG9yZS5uZXh0VmFsdWUoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVudGl0eUNvdW50IC0gMTsgaSsrKSB7XG4gICAgICBzdG9yZS5uZXh0VmFsdWUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLmRlYnVnKGBbZW50aXRpZXMtc3RvcmFnZV0gUmVzZXJ2aW5nIHJhbmdlIFske2ZpcnN0VmFsdWV9LCR7c3RvcmUuY3VycmVudFZhbHVlKCl9XSBmb3IgJHtlbnRpdHlOYW1lfSdzIHNlcXVlbmNlYCk7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWU7XG4gIH1cblxuICBhc3luYyBjdXJyZW50VmFsdWUoZW50aXR5T3JOYW1lOiBzdHJpbmcgfCBhbnkpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGF3YWl0IHRoaXMucmVhZHkoKTtcbiAgICByZXR1cm4gdGhpcy5nZXRFbnRpdHlTdG9yZSh0aGlzLmRldGVjdEVudGl0eU5hbWUoZW50aXR5T3JOYW1lKSkuY3VycmVudFZhbHVlKCk7XG4gIH1cblxuICBhc3luYyBzYXZlPFQgZXh0ZW5kcyBFbnRpdHk8VD4+KGVudGl0eTogVCwgb3B0cz86IHtcbiAgICBlbnRpdHlOYW1lPzogc3RyaW5nO1xuICAgIGVtaXRFdmVudD86IGJvb2xlYW47XG4gIH0pOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAoIWVudGl0eSkgcmV0dXJuOyAvLyBza2lwXG5cbiAgICBpZiAoIXRoaXMuc3RhcnRlZCkgYXdhaXQgdGhpcy5yZWFkeSgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMucHJvZ3Jlc3NCYXJTZXJ2aWNlLmluY3JlYXNlKCk7XG5cbiAgICAgIHRoaXMuX2RpcnR5ID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHN0b3JlTmFtZSA9IG9wdHMgJiYgb3B0cy5lbnRpdHlOYW1lIHx8IHRoaXMuZGV0ZWN0RW50aXR5TmFtZShlbnRpdHkpO1xuICAgICAgdGhpcy5nZXRFbnRpdHlTdG9yZTxUPihzdG9yZU5hbWUpXG4gICAgICAgIC5zYXZlKGVudGl0eSwgb3B0cyk7XG5cbiAgICAgIC8vIEFzayB0byBzYXZlXG4gICAgICB0aGlzLl8kc2F2ZS5lbWl0KCk7XG5cbiAgICAgIHJldHVybiBlbnRpdHk7XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgdGhpcy5wcm9ncmVzc0JhclNlcnZpY2UuZGVjcmVhc2UoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzYXZlQWxsPFQgZXh0ZW5kcyBFbnRpdHk8VD4+KGVudGl0aWVzOiBUW10sIG9wdHM/OiB7XG4gICAgZW50aXR5TmFtZT86IHN0cmluZztcbiAgICByZXNldD86IGJvb2xlYW47XG4gICAgZW1pdEV2ZW50PzogYm9vbGVhbjtcbiAgfSk6IFByb21pc2U8VFtdPiB7XG4gICAgaWYgKGlzRW1wdHlBcnJheShlbnRpdGllcykgJiYgKCFvcHRzIHx8IG9wdHMucmVzZXQgIT09IHRydWUpKSByZXR1cm4gZW50aXRpZXM7IC8vIFNraXAgKG5vdGhpbmcgdG8gc2F2ZSlcblxuICAgIGlmICghdGhpcy5zdGFydGVkKSBhd2FpdCB0aGlzLnJlYWR5KCk7XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5wcm9ncmVzc0JhclNlcnZpY2UuaW5jcmVhc2UoKTtcblxuICAgICAgdGhpcy5fZGlydHkgPSB0cnVlO1xuICAgICAgY29uc3QgZW50aXR5TmFtZSA9IG9wdHMgJiYgb3B0cy5lbnRpdHlOYW1lIHx8IHRoaXMuZGV0ZWN0RW50aXR5TmFtZShlbnRpdGllc1swXSk7XG4gICAgICByZXR1cm4gdGhpcy5nZXRFbnRpdHlTdG9yZTxUPihlbnRpdHlOYW1lKS5zYXZlQWxsKGVudGl0aWVzLCBvcHRzKTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICB0aGlzLnByb2dyZXNzQmFyU2VydmljZS5kZWNyZWFzZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZTxUIGV4dGVuZHMgRW50aXR5PFQsIElEPiwgSUQgPSBudW1iZXI+KGVudGl0eTogVCwgb3B0cz86IHtcbiAgICBlbnRpdHlOYW1lPzogc3RyaW5nO1xuICB9KTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKCFlbnRpdHkpIHJldHVybiB1bmRlZmluZWQ7IC8vIHNraXBcblxuICAgIGlmICghdGhpcy5zdGFydGVkKSBhd2FpdCB0aGlzLnJlYWR5KCk7XG5cbiAgICByZXR1cm4gdGhpcy5kZWxldGVCeUlkKGVudGl0eS5pZCwge1xuICAgICAgLi4ub3B0cyxcbiAgICAgIGVudGl0eU5hbWU6IG9wdHMgJiYgb3B0cy5lbnRpdHlOYW1lIHx8IHRoaXMuZGV0ZWN0RW50aXR5TmFtZShlbnRpdHkpXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkZWxldGVCeUlkPFQgZXh0ZW5kcyBJRW50aXR5PFQsIElEPiwgSUQgPSBudW1iZXI+KGlkOiBJRCwgb3B0czoge1xuICAgIGVudGl0eU5hbWU6IHN0cmluZztcbiAgICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICB9KTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKCF0aGlzLnN0YXJ0ZWQpIGF3YWl0IHRoaXMucmVhZHkoKTtcblxuICAgIGlmICghb3B0cyB8fCBpc05pbE9yQmxhbmsob3B0cy5lbnRpdHlOYW1lKSkgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGFyZ3VtZW50IFxcJ29wdHNcXCcgb3IgXFwnZW50aXR5TmFtZVxcJycpO1xuICAgIC8vaWYgKGlkID49IDApIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBpZCBhIGxvY2FsIGVudGl0eSAobm90IGEgbmVnYXRpdmUgbnVtYmVyKTogJyArIGlkKTtcblxuICAgIHRyeSB7XG4gICAgICB0aGlzLnByb2dyZXNzQmFyU2VydmljZS5pbmNyZWFzZSgpO1xuICAgICAgY29uc3QgZW50aXR5U3RvcmUgPSB0aGlzLmdldEVudGl0eVN0b3JlPFQsIElEPihvcHRzLmVudGl0eU5hbWUsIHtjcmVhdGU6IGZhbHNlfSk7XG4gICAgICBpZiAoIWVudGl0eVN0b3JlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgICBjb25zdCBkZWxldGVkRW50aXR5ID0gZW50aXR5U3RvcmUuZGVsZXRlKGlkLCBvcHRzKTtcblxuICAgICAgLy8gSWYgc29tZXRoaW5nIGRlbGV0ZWRcbiAgICAgIGlmIChkZWxldGVkRW50aXR5KSB7XG5cbiAgICAgICAgLy8gTWFyayBhcyBkaXJ0eVxuICAgICAgICB0aGlzLl9kaXJ0eSA9IHRydWU7XG5cbiAgICAgICAgLy8gQXNrIHRvIHNhdmVcbiAgICAgICAgdGhpcy5fJHNhdmUuZW1pdCgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZGVsZXRlZEVudGl0eTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICB0aGlzLnByb2dyZXNzQmFyU2VydmljZS5kZWNyZWFzZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZU1hbnk8VCBleHRlbmRzIEVudGl0eTxUPj4oaWRzOiBudW1iZXJbXSwgb3B0czoge1xuICAgIGVudGl0eU5hbWU6IHN0cmluZztcbiAgICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICB9KTogUHJvbWlzZTxUW10+IHtcbiAgICBpZiAoIXRoaXMuc3RhcnRlZCkgYXdhaXQgdGhpcy5yZWFkeSgpO1xuXG4gICAgaWYgKCFvcHRzIHx8IGlzTmlsT3JCbGFuayhvcHRzLmVudGl0eU5hbWUpKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgYXJndW1lbnQgXFwnb3B0c1xcJyBvciBcXCdvcHRzLmVudGl0eU5hbWVcXCcnKTtcblxuICAgIHRyeSB7XG4gICAgICB0aGlzLnByb2dyZXNzQmFyU2VydmljZS5pbmNyZWFzZSgpO1xuICAgICAgY29uc3QgZW50aXR5U3RvcmUgPSB0aGlzLmdldEVudGl0eVN0b3JlPFQ+KG9wdHMuZW50aXR5TmFtZSwge2NyZWF0ZTogZmFsc2V9KTtcbiAgICAgIGlmICghZW50aXR5U3RvcmUpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAgIC8vIERvIGRlbGV0aW9uXG4gICAgICBjb25zdCBkZWxldGVkRW50aXRpZXMgPSBlbnRpdHlTdG9yZS5kZWxldGVNYW55KGlkcywgb3B0cyk7XG5cbiAgICAgIC8vIElmIHNvbWV0aGluZyBkZWxldGVkXG4gICAgICBpZiAoZGVsZXRlZEVudGl0aWVzLmxlbmd0aCA+IDApIHtcblxuICAgICAgICAvLyBNYXJrIGFzIGRpcnR5XG4gICAgICAgIHRoaXMuX2RpcnR5ID0gdHJ1ZTtcblxuICAgICAgICAvLyBNYXJrIGFzIHNhdmVkIG5lZWRcbiAgICAgICAgdGhpcy5fJHNhdmUuZW1pdCgpO1xuXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkZWxldGVkRW50aXRpZXM7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgICB0aGlzLnByb2dyZXNzQmFyU2VydmljZS5kZWNyZWFzZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUZyb21UcmFzaDxUIGV4dGVuZHMgRW50aXR5PFQ+PihlbnRpdHk6IFQsIG9wdHM/OiB7XG4gICAgZW50aXR5TmFtZT86IHN0cmluZztcbiAgfSk6IFByb21pc2U8VD4ge1xuICAgIGlmICghZW50aXR5KSByZXR1cm4gdW5kZWZpbmVkOyAvLyBza2lwXG5cbiAgICBpZiAoIXRoaXMuc3RhcnRlZCkgYXdhaXQgdGhpcy5yZWFkeSgpO1xuXG4gICAgcmV0dXJuIHRoaXMuZGVsZXRlRnJvbVRyYXNoQnlJZChlbnRpdHkuaWQsIHtcbiAgICAgIC4uLm9wdHMsXG4gICAgICBlbnRpdHlOYW1lOiBvcHRzICYmIG9wdHMuZW50aXR5TmFtZSB8fCB0aGlzLmRldGVjdEVudGl0eU5hbWUoZW50aXR5KVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlRnJvbVRyYXNoQnlJZDxUIGV4dGVuZHMgRW50aXR5PFQ+PihpZDogbnVtYmVyLCBvcHRzOiB7XG4gICAgZW50aXR5TmFtZTogc3RyaW5nO1xuICAgIGVtaXRFdmVudD86IGJvb2xlYW47XG4gIH0pOiBQcm9taXNlPFQ+IHtcbiAgICBhd2FpdCB0aGlzLnJlYWR5KCk7XG5cbiAgICBpZiAoIW9wdHMgfHwgaXNOaWxPckJsYW5rKG9wdHMuZW50aXR5TmFtZSkpIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBhcmd1bWVudCBcXCdvcHRzXFwnIG9yIFxcJ2VudGl0eU5hbWVcXCcnKTtcblxuICAgIHJldHVybiB0aGlzLmRlbGV0ZUJ5SWQoaWQsIHtcbiAgICAgIC4uLm9wdHMsXG4gICAgICBlbnRpdHlOYW1lOiBFbnRpdGllc1N0b3JhZ2UuVFJBU0hfUFJFRklYICsgb3B0cy5lbnRpdHlOYW1lXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBtb3ZlVG9UcmFzaDxUIGV4dGVuZHMgRW50aXR5PFQ+PihlbnRpdHk6IFQsIG9wdHM/OiB7XG4gICAgZW50aXR5TmFtZT86IHN0cmluZztcbiAgICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICB9KTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKCFlbnRpdHkpIHJldHVybiB1bmRlZmluZWQ7IC8vIHNraXBcblxuICAgIGlmICghdGhpcy5zdGFydGVkKSBhd2FpdCB0aGlzLnJlYWR5KCk7XG5cbiAgICBjb25zdCBlbnRpdHlOYW1lID0gb3B0cyAmJiBvcHRzLmVudGl0eU5hbWUgfHwgdGhpcy5kZXRlY3RFbnRpdHlOYW1lKGVudGl0eSk7XG5cbiAgICAvLyBEZWxldGUgZW50aXR5IGJ5IGlkLCBpZiBleGlzdHNcbiAgICBjb25zdCBlbnRpdHlTdG9yZSA9IHRoaXMuZ2V0RW50aXR5U3RvcmU8VD4oZW50aXR5TmFtZSk7XG4gICAgaWYgKGVudGl0eVN0b3JlKSBlbnRpdHlTdG9yZS5kZWxldGUoZW50aXR5LmlkLCBvcHRzKTtcblxuICAgIC8vIENsZWFuIGlkIChhIG5ldyBpZCB3aWxsIGJlIHNldCBieSB0aGUgdHJhc2ggc3RvcmUpXG4gICAgZW50aXR5LmlkID0gdW5kZWZpbmVkO1xuXG4gICAgLy8gQWRkIHRvIHRyYXNoXG4gICAgY29uc3QgdHJhc2hOYW1lID0gRW50aXRpZXNTdG9yYWdlLlRSQVNIX1BSRUZJWCArIGVudGl0eU5hbWU7XG4gICAgdGhpcy5nZXRFbnRpdHlTdG9yZTxUPih0cmFzaE5hbWUpLnNhdmUoZW50aXR5LCBvcHRzKTtcblxuICAgIHRoaXMuXyRzYXZlLmVtaXQoKTtcblxuICAgIHJldHVybiBlbnRpdHk7XG4gIH1cblxuICBhc3luYyBtb3ZlTWFueVRvVHJhc2g8VCBleHRlbmRzIEVudGl0eTxUPj4oaWRzOiBudW1iZXJbXSwgb3B0czoge1xuICAgIGVudGl0eU5hbWU6IHN0cmluZztcbiAgICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICB9KTogUHJvbWlzZTxUW10+IHtcbiAgICBpZiAoIXRoaXMuc3RhcnRlZCkgYXdhaXQgdGhpcy5yZWFkeSgpO1xuXG4gICAgaWYgKCFvcHRzIHx8IGlzTmlsT3JCbGFuayhvcHRzLmVudGl0eU5hbWUpKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgYXJndW1lbnQgXFwnb3B0cy5lbnRpdHlOYW1lXFwnJyk7XG5cbiAgICBjb25zdCBlbnRpdHlTdG9yZSA9IHRoaXMuZ2V0RW50aXR5U3RvcmU8VD4ob3B0cy5lbnRpdHlOYW1lLCB7Y3JlYXRlOiBmYWxzZX0pO1xuICAgIGlmICghZW50aXR5U3RvcmUpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAvLyBEbyBkZWxldGlvblxuICAgIGNvbnN0IGRlbGV0ZWRFbnRpdGllcyA9IGVudGl0eVN0b3JlLmRlbGV0ZU1hbnkoaWRzLCBvcHRzKTtcblxuICAgIC8vIElmIHNvbWV0aGluZyBkZWxldGVkXG4gICAgaWYgKGRlbGV0ZWRFbnRpdGllcy5sZW5ndGggPiAwKSB7XG5cbiAgICAgIC8vIENsZWFuIGlkcyAobmV3IGlkcyB3aWxsIGJlIHNldCBieSB0aGUgdHJhc2ggc3RvcmUpXG4gICAgICBkZWxldGVkRW50aXRpZXMuZm9yRWFjaChlID0+IGUuaWQgPSB1bmRlZmluZWQpO1xuXG4gICAgICBjb25zdCB0cmFzaE5hbWUgPSBFbnRpdGllc1N0b3JhZ2UuVFJBU0hfUFJFRklYICsgb3B0cy5lbnRpdHlOYW1lO1xuICAgICAgdGhpcy5nZXRFbnRpdHlTdG9yZTxUPih0cmFzaE5hbWUsIHtjcmVhdGU6IHRydWV9KVxuICAgICAgICAuc2F2ZUFsbChkZWxldGVkRW50aXRpZXMsIG9wdHMpO1xuXG4gICAgICAvLyBNYXJrIGFzIGRpcnR5XG4gICAgICB0aGlzLl9kaXJ0eSA9IHRydWU7XG5cbiAgICAgIC8vIE1hcmsgYXMgc2F2ZSBuZWVkXG4gICAgICB0aGlzLl8kc2F2ZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlbGV0ZWRFbnRpdGllcztcbiAgfVxuXG4gIGFzeW5jIHNhdmVUb1RyYXNoPFQgZXh0ZW5kcyBFbnRpdHk8VD4+KGVudGl0eTogVCwgb3B0cz86IHtcbiAgICBlbnRpdHlOYW1lPzogc3RyaW5nO1xuICAgIGVtaXRFdmVudD86IGJvb2xlYW47XG4gIH0pOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAoIWVudGl0eSkgcmV0dXJuIHVuZGVmaW5lZDsgLy8gc2tpcFxuXG4gICAgaWYgKCF0aGlzLnN0YXJ0ZWQpIGF3YWl0IHRoaXMucmVhZHkoKTtcblxuICAgIGNvbnN0IGVudGl0eU5hbWUgPSBvcHRzICYmIG9wdHMuZW50aXR5TmFtZSB8fCB0aGlzLmRldGVjdEVudGl0eU5hbWUoZW50aXR5KTtcbiAgICBjb25zdCB0cmFzaE5hbWUgPSBFbnRpdGllc1N0b3JhZ2UuVFJBU0hfUFJFRklYICsgZW50aXR5TmFtZTtcbiAgICB0aGlzLmdldEVudGl0eVN0b3JlPFQ+KHRyYXNoTmFtZSkuc2F2ZShlbnRpdHksIG9wdHMpO1xuXG4gICAgdGhpcy5fJHNhdmUuZW1pdCgpO1xuXG4gICAgcmV0dXJuIGVudGl0eTtcbiAgfVxuXG4gIGFzeW5jIGNsZWFyVHJhc2goZW50aXR5TmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLnN0YXJ0ZWQpIGF3YWl0IHRoaXMucmVhZHkoKTtcblxuICAgIGNvbnN0IHRyYXNoTmFtZSA9IEVudGl0aWVzU3RvcmFnZS5UUkFTSF9QUkVGSVggKyBlbnRpdHlOYW1lO1xuICAgIGNvbnN0IGVudGl0eVN0b3JlID0gdGhpcy5nZXRFbnRpdHlTdG9yZSh0cmFzaE5hbWUsIHtjcmVhdGU6IGZhbHNlfSk7XG4gICAgaWYgKCFlbnRpdHlTdG9yZSkgcmV0dXJuOyAvLyBTa2lwXG5cbiAgICBlbnRpdHlTdG9yZS5yZXNldCgpO1xuICAgIHRoaXMuX2RpcnR5ID0gdHJ1ZTtcblxuICAgIHRoaXMuXyRzYXZlLmVtaXQoKTtcbiAgfVxuXG4gIHBlcnNpc3Qob3B0cyA9IHtza2lwSWZQcmlzdGluZTogdHJ1ZX0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZUxvY2FsbHkob3B0cyk7XG4gIH1cblxuICAvKiAtLSBwcm90ZWN0ZWQgbWV0aG9kcyAtLSAqL1xuXG4gIHByb3RlY3RlZCBnZXRFbnRpdHlTdG9yZTxUIGV4dGVuZHMgSUVudGl0eTxULCBJRD4sIElEID0gbnVtYmVyPihuYW1lOiBzdHJpbmcsIG9wdHM/OiB7XG4gICAgY3JlYXRlPzogYm9vbGVhbjtcbiAgfSk6IEVudGl0eVN0b3JlPFQsIElEPiB7XG4gICAgbGV0IHN0b3JlID0gdGhpcy5fZGF0YVtuYW1lXTtcbiAgICBpZiAoIXN0b3JlICYmICghb3B0cyB8fCBvcHRzLmNyZWF0ZSAhPT0gZmFsc2UpKSB7XG4gICAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoYFtlbnRpdGllcy1zdG9yYWdlXSBDcmVhdGluZyBzdG9yZSAke25hbWV9YCk7XG4gICAgICBjb25zdCB0eXBlUG9saWN5ID0gdGhpcy5fdHlwZVBvbGljaWVzW25hbWVdO1xuICAgICAgc3RvcmUgPSBuZXcgRW50aXR5U3RvcmU8VCwgSUQ+KG5hbWUsIHRoaXMuc3RvcmFnZSwgdHlwZVBvbGljeSk7XG4gICAgICB0aGlzLl9kYXRhW25hbWVdID0gc3RvcmU7XG4gICAgfVxuICAgIHJldHVybiBzdG9yZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZXRlY3RFbnRpdHlOYW1lKGVudGl0eU9yTmFtZTogc3RyaW5nIHwgRW50aXR5PGFueSwgYW55Pik6IHN0cmluZyB7XG4gICAgaWYgKCFlbnRpdHlPck5hbWUpIHRocm93IEVycm9yKCdVbmFibGUgdG8gZGV0ZWN0IGVudGl0eU5hbWUgb2Ygb2JqZWN0OiAnICsgZW50aXR5T3JOYW1lKTtcbiAgICBpZiAodHlwZW9mIGVudGl0eU9yTmFtZSA9PT0gJ3N0cmluZycpIHJldHVybiBlbnRpdHlPck5hbWU7XG4gICAgaWYgKGVudGl0eU9yTmFtZS5fX3R5cGVuYW1lKSB7XG4gICAgICByZXR1cm4gZW50aXR5T3JOYW1lLl9fdHlwZW5hbWU7XG4gICAgfVxuICAgIHJldHVybiBlbnRpdHlPck5hbWUuY29uc3RydWN0b3IubmFtZSArICdWTyc7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgcmVzdG9yZUxvY2FsbHkoKSB7XG5cbiAgICBjb25zdCBlbnRpdHlOYW1lcyA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoRU5USVRJRVNfU1RPUkFHRV9LRVlfUFJFRklYKTtcbiAgICBpZiAoIWVudGl0eU5hbWVzKSByZXR1cm47XG5cbiAgICBjb25zdCBub3cgPSB0aGlzLl9kZWJ1ZyAmJiBEYXRlLm5vdygpO1xuICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5pbmZvKCdbZW50aXRpZXMtc3RvcmFnZV0gUmVzdG9yaW5nIGVudGl0aWVzLi4uJyk7XG4gICAgY29uc3QgZW50aXRpZXNDb3VudCA9IChhd2FpdCBQcm9taXNlLmFsbDxudW1iZXI+KFxuICAgICAgZW50aXR5TmFtZXNcbiAgICAgICAgLm1hcChuYW1lID0+IHRoaXMuZ2V0RW50aXR5U3RvcmU8YW55PihuYW1lKSlcbiAgICAgICAgLm1hcCgoc3RvcmU6IEVudGl0eVN0b3JlPGFueT4pID0+IHN0b3JlLnJlc3RvcmUoKSkpXG4gICAgKS5yZWR1Y2UoKHJlcywgY291bnQpID0+IChyZXMgKyBjb3VudCksIDApO1xuXG4gICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLmRlYnVnKGBbZW50aXRpZXMtc3RvcmFnZV0gUmVzdG9yaW5nIGVudGl0aWVzIFtPS10gJHtlbnRpdGllc0NvdW50fSBlbnRpdGllcyBmb3VuZCBpbiAke0RhdGUubm93KCkgLSBub3d9bXNgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBzdG9yZUxvY2FsbHkob3B0cyA9IHtza2lwSWZQcmlzdGluZTogdHJ1ZX0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAob3B0cy5za2lwSWZQcmlzdGluZSAmJiAhdGhpcy5kaXJ0eSkgcmV0dXJuOyAvLyBza2lwXG5cbiAgICAvLyBTYXZpbmcgcHJvZ3Jlc3M6IHJlcG9ydCB0aGlzIHNhdmUgbGF0ZXJcbiAgICBpZiAodGhpcy5fc2F2aW5nKSB7XG4gICAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoJ1tlbnRpdGllcy1zdG9yYWdlXSBQcmV2aW91cyBwZXJzaXN0IG5vdCBmaW5pc2hlZC4gV2FpdGluZy4uLicpO1xuICAgICAgdGhpcy5fJHNhdmUuZW1pdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3NhdmluZyA9IHRydWU7XG4gICAgdGhpcy5fZGlydHkgPSBmYWxzZTtcbiAgICB0aGlzLnByb2dyZXNzQmFyU2VydmljZS5pbmNyZWFzZSgpO1xuICAgIGNvbnN0IGVudGl0eU5hbWVzID0gdGhpcy5fZGF0YSAmJiBPYmplY3Qua2V5cyh0aGlzLl9kYXRhKSB8fCBbXTtcblxuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLmRlYnVnKCdbZW50aXRpZXMtc3RvcmFnZV0gUGVyc2lzdGluZy4uLicpO1xuXG4gICAgbGV0IGN1cnJlbnRFbnRpdHlOYW1lO1xuICAgIHJldHVybiBjaGFpblByb21pc2VzKFxuICAgICAgZW50aXR5TmFtZXMubWFwKGVudGl0eU5hbWUgPT4gKCkgPT4ge1xuICAgICAgICAgIGN1cnJlbnRFbnRpdHlOYW1lID0gZW50aXR5TmFtZTtcbiAgICAgICAgICBjb25zdCBlbnRpdHlTdG9yZSA9IHRoaXMuZ2V0RW50aXR5U3RvcmUoZW50aXR5TmFtZSwge2NyZWF0ZTogZmFsc2V9KTtcblxuICAgICAgICAgIGlmICghZW50aXR5U3RvcmUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgW2VudGl0aWVzLXN0b3JhZ2VdIFBlcnNpc3RpbmcgJHtlbnRpdHlOYW1lfTogc3RvcmUgbm90IGZvdW5kIWApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFNLaXAgc3RvcmUgaWYgcHJpc3RpbmVcbiAgICAgICAgICBpZiAob3B0cy5za2lwSWZQcmlzdGluZSAmJiAhZW50aXR5U3RvcmUuZGlydHkpIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblxuICAgICAgICAgIC8vIFBlcnNpc3Qgc3RvcmVcbiAgICAgICAgICByZXR1cm4gZW50aXR5U3RvcmUucGVyc2lzdChvcHRzKVxuICAgICAgICAgICAgLnRoZW4oY291bnQgPT4ge1xuICAgICAgICAgICAgICAvLyBJZiBubyBlbnRpdHkgZm91bmQsIHJlbW92ZSBmcm9tIHRoZSBlbnRpdHkgbmFtZXMgYXJyYXlcbiAgICAgICAgICAgICAgaWYgKCFjb3VudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVudGl0eU5hbWVJbmRleCA9IGVudGl0eU5hbWVzLmZpbmRJbmRleChlID0+IGUgPT09IGVudGl0eU5hbWUpO1xuICAgICAgICAgICAgICAgIGlmIChlbnRpdHlOYW1lSW5kZXggIT09IC0xKSBlbnRpdHlOYW1lcy5zcGxpY2UoZW50aXR5TmFtZUluZGV4LCAxKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIGN1cnJlbnRFbnRpdHlOYW1lID0gdW5kZWZpbmVkO1xuICAgICAgICAgIHJldHVybiBpc0VtcHR5QXJyYXkoZW50aXR5TmFtZXMpID9cbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRU5USVRJRVNfU1RPUkFHRV9LRVlfUFJFRklYKSA6XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2Uuc2V0KEVOVElUSUVTX1NUT1JBR0VfS0VZX1BSRUZJWCwgZW50aXR5TmFtZXMpO1xuICAgICAgfSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLmRlYnVnKGBbZW50aXRpZXMtc3RvcmFnZV0gUGVyc2lzdGluZyBbT0tdICR7ZW50aXR5TmFtZXMubGVuZ3RofSBzdG9yZXMgc2F2ZWQgaW4gJHtEYXRlLm5vdygpIC0gbm93fW1zLi4uYCk7XG4gICAgICAgIHRoaXMuX3NhdmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnByb2dyZXNzQmFyU2VydmljZS5kZWNyZWFzZSgpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICB0aGlzLl9zYXZpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wcm9ncmVzc0JhclNlcnZpY2UuZGVjcmVhc2UoKTtcbiAgICAgICAgaWYgKGN1cnJlbnRFbnRpdHlOYW1lKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgW2VudGl0aWVzLXN0b3JhZ2VdIEVycm9yIHdoaWxlIHBlcnNpc3RpbmcgJHtjdXJyZW50RW50aXR5TmFtZX1gLCBlcnIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFtlbnRpdGllcy1zdG9yYWdlXSBFcnJvciB3aGlsZSBwZXJzaXN0aW5nOiAke2VyciAmJiBlcnIubWVzc2FnZSB8fCBlcnJ9YCwgZXJyKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9KTtcbiAgfVxuXG59XG4iXX0=
@@ -37,9 +37,9 @@ export class ReferentialValidatorService extends AppValidatorService {
37
37
  return null;
38
38
  }
39
39
  }
40
- ReferentialValidatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ReferentialValidatorService, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Injectable });
41
- ReferentialValidatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ReferentialValidatorService });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ReferentialValidatorService, decorators: [{
40
+ ReferentialValidatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReferentialValidatorService, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ ReferentialValidatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReferentialValidatorService });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReferentialValidatorService, decorators: [{
43
43
  type: Injectable
44
44
  }], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }]; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbnRpYWwudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL3Rlc3RpbmcvcmVmZXJlbnRpYWwudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUErRCxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBSXRFLE1BQU0sT0FBTywyQkFDWCxTQUFRLG1CQUFzQjtJQUU5QixZQUFzQixXQUErQjtRQUNuRCxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFEQyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7SUFFckQsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVEsRUFBRSxJQUd0QjtRQUNDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQ3JDLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBUSxFQUFFLElBRzVCO1FBQ0MsTUFBTSxjQUFjLEdBQXlCO1lBQzNDLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQztZQUM3QixVQUFVLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUM7WUFDN0MsWUFBWSxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDO1lBQ2pELFFBQVEsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzlELE9BQU8sRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQztZQUN2QyxLQUFLLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN4RCxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN0RCxVQUFVLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNuRSxDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLEtBQUssRUFBRTtZQUMzQyxjQUFjLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM1RjtRQUNELElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLEVBQUU7WUFDeEMsY0FBYyxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDdkY7UUFFRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBUSxFQUFFLElBQVU7UUFDdEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzt3SEFoRFUsMkJBQTJCOzRIQUEzQiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbE9wdGlvbnMsIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtSZWZlcmVudGlhbH0gZnJvbSAnLi4vbW9kZWwvcmVmZXJlbnRpYWwubW9kZWwnO1xuaW1wb3J0IHtBcHBWYWxpZGF0b3JTZXJ2aWNlfSBmcm9tICcuLi92YWxpZGF0b3IvYmFzZS52YWxpZGF0b3IuY2xhc3MnO1xuaW1wb3J0IHtTdGF0dXNJZHN9IGZyb20gJy4uL21vZGVsL21vZGVsLmVudW0nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVmZXJlbnRpYWxWYWxpZGF0b3JTZXJ2aWNlPFQgZXh0ZW5kcyBSZWZlcmVudGlhbCA9IFJlZmVyZW50aWFsPlxuICBleHRlbmRzIEFwcFZhbGlkYXRvclNlcnZpY2U8VD4ge1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyKSB7XG4gICAgc3VwZXIoZm9ybUJ1aWxkZXIpO1xuICB9XG5cbiAgZ2V0Um93VmFsaWRhdG9yKCk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmdldEZvcm1Hcm91cCgpO1xuICB9XG5cbiAgZ2V0Rm9ybUdyb3VwKGRhdGE/OiBULCBvcHRzPzoge1xuICAgIHdpdGhEZXNjcmlwdGlvbj86IGJvb2xlYW47XG4gICAgd2l0aENvbW1lbnRzPzogYm9vbGVhbjtcbiAgfSk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKFxuICAgICAgdGhpcy5nZXRGb3JtR3JvdXBDb25maWcoZGF0YSwgb3B0cyksXG4gICAgICB0aGlzLmdldEZvcm1Hcm91cE9wdGlvbnMoZGF0YSwgb3B0cylcbiAgICApO1xuICB9XG5cbiAgZ2V0Rm9ybUdyb3VwQ29uZmlnKGRhdGE/OiBULCBvcHRzPzoge1xuICAgIHdpdGhEZXNjcmlwdGlvbj86IGJvb2xlYW47XG4gICAgd2l0aENvbW1lbnRzPzogYm9vbGVhbjtcbiAgfSk6IHtba2V5OiBzdHJpbmddOiBhbnl9IHtcbiAgICBjb25zdCBjb250cm9sc0NvbmZpZzoge1trZXk6IHN0cmluZ106IGFueX0gPSB7XG4gICAgICBpZDogW2RhdGEgJiYgZGF0YS5pZCB8fCBudWxsXSxcbiAgICAgIHVwZGF0ZURhdGU6IFtkYXRhICYmIGRhdGEudXBkYXRlRGF0ZSB8fCBudWxsXSxcbiAgICAgIGNyZWF0aW9uRGF0ZTogW2RhdGEgJiYgZGF0YS5jcmVhdGlvbkRhdGUgfHwgbnVsbF0sXG4gICAgICBzdGF0dXNJZDogW2RhdGEgJiYgZGF0YS5zdGF0dXNJZCB8fCBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIGxldmVsSWQ6IFtkYXRhICYmIGRhdGEubGV2ZWxJZCB8fCBudWxsXSxcbiAgICAgIGxhYmVsOiBbZGF0YSAmJiBkYXRhLmxhYmVsIHx8IG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgbmFtZTogW2RhdGEgJiYgZGF0YS5uYW1lIHx8IG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgZW50aXR5TmFtZTogW2RhdGEgJiYgZGF0YS5lbnRpdHlOYW1lIHx8IG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgfTtcblxuICAgIGlmICghb3B0cyB8fCBvcHRzLndpdGhEZXNjcmlwdGlvbiAhPT0gZmFsc2UpIHtcbiAgICAgIGNvbnRyb2xzQ29uZmlnLmRlc2NyaXB0aW9uID0gW2RhdGEgJiYgZGF0YS5kZXNjcmlwdGlvbiB8fCBudWxsLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTUpXTtcbiAgICB9XG4gICAgaWYgKCFvcHRzIHx8IG9wdHMud2l0aENvbW1lbnRzICE9PSBmYWxzZSkge1xuICAgICAgY29udHJvbHNDb25maWcuY29tbWVudHMgPSBbZGF0YSAmJiBkYXRhLmNvbW1lbnRzIHx8IG51bGwsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwMDApXTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29udHJvbHNDb25maWc7XG4gIH1cblxuICBnZXRGb3JtR3JvdXBPcHRpb25zKGRhdGE/OiBULCBvcHRzPzogYW55KTogQWJzdHJhY3RDb250cm9sT3B0aW9ucyB8IG51bGwge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbnRpYWwudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL3Rlc3RpbmcvcmVmZXJlbnRpYWwudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUErRCxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBSXRFLE1BQU0sT0FBTywyQkFDWCxTQUFRLG1CQUFzQjtJQUU5QixZQUFzQixXQUErQjtRQUNuRCxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFEQyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7SUFFckQsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVEsRUFBRSxJQUd0QjtRQUNDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQ3JDLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBUSxFQUFFLElBRzVCO1FBQ0MsTUFBTSxjQUFjLEdBQXlCO1lBQzNDLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQztZQUM3QixVQUFVLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUM7WUFDN0MsWUFBWSxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDO1lBQ2pELFFBQVEsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzlELE9BQU8sRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQztZQUN2QyxLQUFLLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN4RCxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN0RCxVQUFVLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNuRSxDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLEtBQUssRUFBRTtZQUMzQyxjQUFjLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM1RjtRQUNELElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLEVBQUU7WUFDeEMsY0FBYyxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDdkY7UUFFRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBUSxFQUFFLElBQVU7UUFDdEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzt5SEFoRFUsMkJBQTJCOzZIQUEzQiwyQkFBMkI7NEZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbE9wdGlvbnMsIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtSZWZlcmVudGlhbH0gZnJvbSAnLi4vbW9kZWwvcmVmZXJlbnRpYWwubW9kZWwnO1xuaW1wb3J0IHtBcHBWYWxpZGF0b3JTZXJ2aWNlfSBmcm9tICcuLi92YWxpZGF0b3IvYmFzZS52YWxpZGF0b3IuY2xhc3MnO1xuaW1wb3J0IHtTdGF0dXNJZHN9IGZyb20gJy4uL21vZGVsL21vZGVsLmVudW0nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVmZXJlbnRpYWxWYWxpZGF0b3JTZXJ2aWNlPFQgZXh0ZW5kcyBSZWZlcmVudGlhbCA9IFJlZmVyZW50aWFsPlxuICBleHRlbmRzIEFwcFZhbGlkYXRvclNlcnZpY2U8VD4ge1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyKSB7XG4gICAgc3VwZXIoZm9ybUJ1aWxkZXIpO1xuICB9XG5cbiAgZ2V0Um93VmFsaWRhdG9yKCk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmdldEZvcm1Hcm91cCgpO1xuICB9XG5cbiAgZ2V0Rm9ybUdyb3VwKGRhdGE/OiBULCBvcHRzPzoge1xuICAgIHdpdGhEZXNjcmlwdGlvbj86IGJvb2xlYW47XG4gICAgd2l0aENvbW1lbnRzPzogYm9vbGVhbjtcbiAgfSk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKFxuICAgICAgdGhpcy5nZXRGb3JtR3JvdXBDb25maWcoZGF0YSwgb3B0cyksXG4gICAgICB0aGlzLmdldEZvcm1Hcm91cE9wdGlvbnMoZGF0YSwgb3B0cylcbiAgICApO1xuICB9XG5cbiAgZ2V0Rm9ybUdyb3VwQ29uZmlnKGRhdGE/OiBULCBvcHRzPzoge1xuICAgIHdpdGhEZXNjcmlwdGlvbj86IGJvb2xlYW47XG4gICAgd2l0aENvbW1lbnRzPzogYm9vbGVhbjtcbiAgfSk6IHtba2V5OiBzdHJpbmddOiBhbnl9IHtcbiAgICBjb25zdCBjb250cm9sc0NvbmZpZzoge1trZXk6IHN0cmluZ106IGFueX0gPSB7XG4gICAgICBpZDogW2RhdGEgJiYgZGF0YS5pZCB8fCBudWxsXSxcbiAgICAgIHVwZGF0ZURhdGU6IFtkYXRhICYmIGRhdGEudXBkYXRlRGF0ZSB8fCBudWxsXSxcbiAgICAgIGNyZWF0aW9uRGF0ZTogW2RhdGEgJiYgZGF0YS5jcmVhdGlvbkRhdGUgfHwgbnVsbF0sXG4gICAgICBzdGF0dXNJZDogW2RhdGEgJiYgZGF0YS5zdGF0dXNJZCB8fCBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIGxldmVsSWQ6IFtkYXRhICYmIGRhdGEubGV2ZWxJZCB8fCBudWxsXSxcbiAgICAgIGxhYmVsOiBbZGF0YSAmJiBkYXRhLmxhYmVsIHx8IG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgbmFtZTogW2RhdGEgJiYgZGF0YS5uYW1lIHx8IG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgZW50aXR5TmFtZTogW2RhdGEgJiYgZGF0YS5lbnRpdHlOYW1lIHx8IG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgfTtcblxuICAgIGlmICghb3B0cyB8fCBvcHRzLndpdGhEZXNjcmlwdGlvbiAhPT0gZmFsc2UpIHtcbiAgICAgIGNvbnRyb2xzQ29uZmlnLmRlc2NyaXB0aW9uID0gW2RhdGEgJiYgZGF0YS5kZXNjcmlwdGlvbiB8fCBudWxsLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTUpXTtcbiAgICB9XG4gICAgaWYgKCFvcHRzIHx8IG9wdHMud2l0aENvbW1lbnRzICE9PSBmYWxzZSkge1xuICAgICAgY29udHJvbHNDb25maWcuY29tbWVudHMgPSBbZGF0YSAmJiBkYXRhLmNvbW1lbnRzIHx8IG51bGwsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwMDApXTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29udHJvbHNDb25maWc7XG4gIH1cblxuICBnZXRGb3JtR3JvdXBPcHRpb25zKGRhdGE/OiBULCBvcHRzPzogYW55KTogQWJzdHJhY3RDb250cm9sT3B0aW9ucyB8IG51bGwge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=
@@ -43,10 +43,10 @@ export class AccountValidatorService extends AppValidatorService {
43
43
  return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
44
44
  }
45
45
  }
46
- AccountValidatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AccountValidatorService, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.AccountService }], target: i0.ɵɵFactoryTarget.Injectable });
47
- AccountValidatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AccountValidatorService, providedIn: 'root' });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AccountValidatorService, decorators: [{
46
+ AccountValidatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AccountValidatorService, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.AccountService }], target: i0.ɵɵFactoryTarget.Injectable });
47
+ AccountValidatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AccountValidatorService, providedIn: 'root' });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AccountValidatorService, decorators: [{
49
49
  type: Injectable,
50
50
  args: [{ providedIn: 'root' }]
51
51
  }], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.AccountService }]; } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvdmFsaWRhdG9yL2FjY291bnQudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFrQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTlDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBRXRFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7O0FBRzNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxtQkFBNEI7SUFFdkUsWUFDWSxXQUErQixFQUMvQixjQUE4QjtRQUV4QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFIVCxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBRzFDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFjO1FBQy9CLE1BQU0sT0FBTyxHQUFHO1lBQ2QsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ1IsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hCLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNsQixRQUFRLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0csU0FBUyxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9HLEtBQUssRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNoRyxXQUFXLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDdEgsUUFBUSxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzdFLE1BQU0sRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQzFHLENBQUM7UUFFRix3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkQsNEZBQTRGO1lBQzVGLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUEwQjtRQUN0QyxNQUFNLFlBQVksR0FBa0IsRUFBRSxDQUFDO1FBQ3ZDLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDdEUsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDeEM7UUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzNCLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDNUM7UUFFRCxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMxSCxDQUFDOztvSEF6Q1UsdUJBQXVCO3dIQUF2Qix1QkFBdUIsY0FEWCxNQUFNOzJGQUNsQix1QkFBdUI7a0JBRG5DLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtBY2NvdW50fSBmcm9tICcuLi9tb2RlbC9hY2NvdW50Lm1vZGVsJztcbmltcG9ydCB7UGVyc29uVXRpbHN9IGZyb20gJy4uL21vZGVsL3BlcnNvbi5tb2RlbCc7XG5pbXBvcnQge1N0YXR1c0lkc30gZnJvbSAnLi4vbW9kZWwvbW9kZWwuZW51bSc7XG5pbXBvcnQge0FjY291bnRTZXJ2aWNlfSBmcm9tICcuLi9hY2NvdW50LnNlcnZpY2UnO1xuaW1wb3J0IHtTaGFyZWRWYWxpZGF0b3JzfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdmFsaWRhdG9yL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHtGb3JtRmllbGREZWZpbml0aW9ufSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZm9ybS9maWVsZC5tb2RlbCc7XG5pbXBvcnQge0FwcFZhbGlkYXRvclNlcnZpY2V9IGZyb20gJy4vYmFzZS52YWxpZGF0b3IuY2xhc3MnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50VmFsaWRhdG9yU2VydmljZSBleHRlbmRzIEFwcFZhbGlkYXRvclNlcnZpY2U8QWNjb3VudD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByb3RlY3RlZCBhY2NvdW50U2VydmljZTogQWNjb3VudFNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoZm9ybUJ1aWxkZXIpO1xuICB9XG5cbiAgZ2V0Rm9ybUdyb3VwQ29uZmlnKGRhdGE/OiBBY2NvdW50KTogYW55IHtcbiAgICBjb25zdCBmb3JtRGVmID0ge1xuICAgICAgaWQ6IFsnJ10sXG4gICAgICB1cGRhdGVEYXRlOiBbJyddLFxuICAgICAgY3JlYXRpb25EYXRlOiBbJyddLFxuICAgICAgbGFzdE5hbWU6IFtkYXRhICYmIGRhdGEubGFzdE5hbWUgfHwgbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgyKV0pXSxcbiAgICAgIGZpcnN0TmFtZTogW2RhdGEgJiYgZGF0YS5maXJzdE5hbWUgfHwgbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgyKV0pXSxcbiAgICAgIGVtYWlsOiBbZGF0YSAmJiBkYXRhLmVtYWlsIHx8IG51bGwsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0pXSxcbiAgICAgIG1haW5Qcm9maWxlOiBbZGF0YSAmJiAoZGF0YS5tYWluUHJvZmlsZSB8fCBQZXJzb25VdGlscy5nZXRNYWluUHJvZmlsZShkYXRhLnByb2ZpbGVzKSkgfHwgJ0dVRVNUJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBzdGF0dXNJZDogW2RhdGEgJiYgZGF0YS5zdGF0dXNJZCB8fCBTdGF0dXNJZHMuVEVNUE9SQVJZLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHB1YmtleTogW2RhdGEgJiYgZGF0YS5wdWJrZXkgfHwgbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBTaGFyZWRWYWxpZGF0b3JzLnB1YmtleV0pXVxuICAgIH07XG5cbiAgICAvLyBBZGQgYWRkaXRpb25hbCBmaWVsZHNcbiAgICB0aGlzLmFjY291bnRTZXJ2aWNlLmFkZGl0aW9uYWxGaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAvL2NvbnNvbGUuZGVidWcoXCJbcmVnaXN0ZXItZm9ybV0gQWRkIGFkZGl0aW9uYWwgZmllbGQge1wiICsgZmllbGQubmFtZSArIFwifSB0byBmb3JtXCIsIGZpZWxkKTtcbiAgICAgIGZvcm1EZWZbZmllbGQua2V5XSA9IFtkYXRhICYmIGRhdGFbZmllbGQua2V5XSB8fCBudWxsLCB0aGlzLmdldFZhbGlkYXRvcnMoZmllbGQpXTtcbiAgICB9KTtcblxuICAgIHJldHVybiBmb3JtRGVmO1xuICB9XG5cbiAgZ2V0VmFsaWRhdG9ycyhmaWVsZDogRm9ybUZpZWxkRGVmaW5pdGlvbik6IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdmFsaWRhdG9yRm5zOiBWYWxpZGF0b3JGbltdID0gW107XG4gICAgaWYgKGZpZWxkLmV4dHJhICYmIGZpZWxkLmV4dHJhLmFjY291bnQgJiYgZmllbGQuZXh0cmEuYWNjb3VudC5yZXF1aXJlZCkge1xuICAgICAgdmFsaWRhdG9yRm5zLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfVxuICAgIGlmIChmaWVsZC50eXBlID09PSAnZW50aXR5Jykge1xuICAgICAgdmFsaWRhdG9yRm5zLnB1c2goU2hhcmVkVmFsaWRhdG9ycy5lbnRpdHkpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0b3JGbnMubGVuZ3RoID8gVmFsaWRhdG9ycy5jb21wb3NlKHZhbGlkYXRvckZucykgOiB2YWxpZGF0b3JGbnMubGVuZ3RoID09PSAxID8gdmFsaWRhdG9yRm5zWzBdIDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvdmFsaWRhdG9yL2FjY291bnQudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFrQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTlDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBRXRFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7O0FBRzNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxtQkFBNEI7SUFFdkUsWUFDWSxXQUErQixFQUMvQixjQUE4QjtRQUV4QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFIVCxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBRzFDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFjO1FBQy9CLE1BQU0sT0FBTyxHQUFHO1lBQ2QsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ1IsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hCLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNsQixRQUFRLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0csU0FBUyxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9HLEtBQUssRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNoRyxXQUFXLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDdEgsUUFBUSxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzdFLE1BQU0sRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQzFHLENBQUM7UUFFRix3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkQsNEZBQTRGO1lBQzVGLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUEwQjtRQUN0QyxNQUFNLFlBQVksR0FBa0IsRUFBRSxDQUFDO1FBQ3ZDLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDdEUsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDeEM7UUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzNCLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDNUM7UUFFRCxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMxSCxDQUFDOztxSEF6Q1UsdUJBQXVCO3lIQUF2Qix1QkFBdUIsY0FEWCxNQUFNOzRGQUNsQix1QkFBdUI7a0JBRG5DLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtBY2NvdW50fSBmcm9tICcuLi9tb2RlbC9hY2NvdW50Lm1vZGVsJztcbmltcG9ydCB7UGVyc29uVXRpbHN9IGZyb20gJy4uL21vZGVsL3BlcnNvbi5tb2RlbCc7XG5pbXBvcnQge1N0YXR1c0lkc30gZnJvbSAnLi4vbW9kZWwvbW9kZWwuZW51bSc7XG5pbXBvcnQge0FjY291bnRTZXJ2aWNlfSBmcm9tICcuLi9hY2NvdW50LnNlcnZpY2UnO1xuaW1wb3J0IHtTaGFyZWRWYWxpZGF0b3JzfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdmFsaWRhdG9yL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHtGb3JtRmllbGREZWZpbml0aW9ufSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZm9ybS9maWVsZC5tb2RlbCc7XG5pbXBvcnQge0FwcFZhbGlkYXRvclNlcnZpY2V9IGZyb20gJy4vYmFzZS52YWxpZGF0b3IuY2xhc3MnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50VmFsaWRhdG9yU2VydmljZSBleHRlbmRzIEFwcFZhbGlkYXRvclNlcnZpY2U8QWNjb3VudD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByb3RlY3RlZCBhY2NvdW50U2VydmljZTogQWNjb3VudFNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoZm9ybUJ1aWxkZXIpO1xuICB9XG5cbiAgZ2V0Rm9ybUdyb3VwQ29uZmlnKGRhdGE/OiBBY2NvdW50KTogYW55IHtcbiAgICBjb25zdCBmb3JtRGVmID0ge1xuICAgICAgaWQ6IFsnJ10sXG4gICAgICB1cGRhdGVEYXRlOiBbJyddLFxuICAgICAgY3JlYXRpb25EYXRlOiBbJyddLFxuICAgICAgbGFzdE5hbWU6IFtkYXRhICYmIGRhdGEubGFzdE5hbWUgfHwgbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgyKV0pXSxcbiAgICAgIGZpcnN0TmFtZTogW2RhdGEgJiYgZGF0YS5maXJzdE5hbWUgfHwgbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgyKV0pXSxcbiAgICAgIGVtYWlsOiBbZGF0YSAmJiBkYXRhLmVtYWlsIHx8IG51bGwsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0pXSxcbiAgICAgIG1haW5Qcm9maWxlOiBbZGF0YSAmJiAoZGF0YS5tYWluUHJvZmlsZSB8fCBQZXJzb25VdGlscy5nZXRNYWluUHJvZmlsZShkYXRhLnByb2ZpbGVzKSkgfHwgJ0dVRVNUJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBzdGF0dXNJZDogW2RhdGEgJiYgZGF0YS5zdGF0dXNJZCB8fCBTdGF0dXNJZHMuVEVNUE9SQVJZLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHB1YmtleTogW2RhdGEgJiYgZGF0YS5wdWJrZXkgfHwgbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBTaGFyZWRWYWxpZGF0b3JzLnB1YmtleV0pXVxuICAgIH07XG5cbiAgICAvLyBBZGQgYWRkaXRpb25hbCBmaWVsZHNcbiAgICB0aGlzLmFjY291bnRTZXJ2aWNlLmFkZGl0aW9uYWxGaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAvL2NvbnNvbGUuZGVidWcoXCJbcmVnaXN0ZXItZm9ybV0gQWRkIGFkZGl0aW9uYWwgZmllbGQge1wiICsgZmllbGQubmFtZSArIFwifSB0byBmb3JtXCIsIGZpZWxkKTtcbiAgICAgIGZvcm1EZWZbZmllbGQua2V5XSA9IFtkYXRhICYmIGRhdGFbZmllbGQua2V5XSB8fCBudWxsLCB0aGlzLmdldFZhbGlkYXRvcnMoZmllbGQpXTtcbiAgICB9KTtcblxuICAgIHJldHVybiBmb3JtRGVmO1xuICB9XG5cbiAgZ2V0VmFsaWRhdG9ycyhmaWVsZDogRm9ybUZpZWxkRGVmaW5pdGlvbik6IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdmFsaWRhdG9yRm5zOiBWYWxpZGF0b3JGbltdID0gW107XG4gICAgaWYgKGZpZWxkLmV4dHJhICYmIGZpZWxkLmV4dHJhLmFjY291bnQgJiYgZmllbGQuZXh0cmEuYWNjb3VudC5yZXF1aXJlZCkge1xuICAgICAgdmFsaWRhdG9yRm5zLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfVxuICAgIGlmIChmaWVsZC50eXBlID09PSAnZW50aXR5Jykge1xuICAgICAgdmFsaWRhdG9yRm5zLnB1c2goU2hhcmVkVmFsaWRhdG9ycy5lbnRpdHkpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0b3JGbnMubGVuZ3RoID8gVmFsaWRhdG9ycy5jb21wb3NlKHZhbGlkYXRvckZucykgOiB2YWxpZGF0b3JGbnMubGVuZ3RoID09PSAxID8gdmFsaWRhdG9yRm5zWzBdIDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
@@ -39,9 +39,9 @@ export class AppValidatorService extends ValidatorService {
39
39
  return changeCaseToUnderscore(errorKey);
40
40
  }
41
41
  }
42
- AppValidatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AppValidatorService, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
43
- AppValidatorService.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.8", type: AppValidatorService, usesInheritance: true, ngImport: i0 });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AppValidatorService, decorators: [{
42
+ AppValidatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AppValidatorService, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
43
+ AppValidatorService.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: AppValidatorService, usesInheritance: true, ngImport: i0 });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AppValidatorService, decorators: [{
45
45
  type: Directive
46
46
  }], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.TranslateService }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS52YWxpZGF0b3IuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvdmFsaWRhdG9yL2Jhc2UudmFsaWRhdG9yLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRzFELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDOzs7O0FBS2pFLE1BQU0sT0FBZ0IsbUJBQ3BCLFNBQVEsZ0JBQWdCO0lBR3hCLFlBQ1ksV0FBK0IsRUFDL0IsU0FBNEI7UUFFdEMsS0FBSyxFQUFFLENBQUM7UUFIRSxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsY0FBUyxHQUFULFNBQVMsQ0FBbUI7SUFHeEMsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVE7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBUTtRQUN6QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxPQUF3QjtRQUN4QyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQWtCO1FBQzlCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRVMsWUFBWSxDQUFDLFFBQWdCLEVBQUUsWUFBa0I7UUFDekQsTUFBTSxPQUFPLEdBQUcsY0FBYyxHQUFHLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hGLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNsRSxJQUFJLE9BQU8sS0FBSyxXQUFXO1lBQUUsT0FBTyxXQUFXLENBQUM7UUFDaEQsSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRO1lBQUUsT0FBTyxZQUFZLENBQUM7UUFFMUQsNkJBQTZCO1FBQzdCLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkNBQTJDLFFBQVEsdURBQXVELENBQUMsQ0FBQztRQUUxSCxPQUFPLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7O2dIQTFDbUIsbUJBQW1CO29HQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEeEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VmFsaWRhdG9yU2VydmljZX0gZnJvbSAnQGUtaXMvbmd4LW1hdGVyaWFsLXRhYmxlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7SVZhbGlkYXRvclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy92YWxpZGF0b3Itc2VydmljZS5jbGFzcyc7XG5pbXBvcnQge0RpcmVjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FwcEZvcm1VdGlsc30gZnJvbSAnLi4vLi4vZm9ybS9mb3JtLnV0aWxzJztcbmltcG9ydCB7Y2hhbmdlQ2FzZVRvVW5kZXJzY29yZX0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtGb3JtRXJyb3JzfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZm9ybXMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBcHBWYWxpZGF0b3JTZXJ2aWNlPFQgPSBhbnk+XG4gIGV4dGVuZHMgVmFsaWRhdG9yU2VydmljZVxuICBpbXBsZW1lbnRzIElWYWxpZGF0b3JTZXJ2aWNlPFQ+IHtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZT86IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldFJvd1ZhbGlkYXRvcigpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGb3JtR3JvdXAoKTtcbiAgfVxuXG4gIGdldEZvcm1Hcm91cChkYXRhPzogVCk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHRoaXMuZ2V0Rm9ybUdyb3VwQ29uZmlnKGRhdGEpKTtcbiAgfVxuXG4gIGdldEZvcm1Hcm91cENvbmZpZyhkYXRhPzogVCk6IHsgW2tleTogc3RyaW5nXTogYW55fSAge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGdldEkxOG5Gb3JtRXJyb3JzKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBlcnJvcnMgPSBBcHBGb3JtVXRpbHMuZ2V0Rm9ybUVycm9ycyhjb250cm9sKTtcbiAgICByZXR1cm4gdGhpcy5nZXRJMThuRXJyb3JzKGVycm9ycyk7XG4gIH1cblxuICBnZXRJMThuRXJyb3JzKGVycm9yczogRm9ybUVycm9ycyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZXJyb3JzIHx8IHt9KS5tYXAoZXJyb3JLZXkgPT4gdGhpcy5nZXRJMThuRXJyb3IoZXJyb3JLZXksIGVycm9yc1tlcnJvcktleV0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRJMThuRXJyb3IoZXJyb3JLZXk6IHN0cmluZywgZXJyb3JDb250ZW50PzogYW55KTogc3RyaW5nIHtcbiAgICBjb25zdCBpMThuS2V5ID0gJ0VSUk9SLkZJRUxEXycgKyBjaGFuZ2VDYXNlVG9VbmRlcnNjb3JlKGVycm9yS2V5KS50b1VwcGVyQ2FzZSgpO1xuICAgIGNvbnN0IGkxOG5NZXNzYWdlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChpMThuS2V5LCBlcnJvckNvbnRlbnQpO1xuICAgIGlmIChpMThuS2V5ICE9PSBpMThuTWVzc2FnZSkgcmV0dXJuIGkxOG5NZXNzYWdlO1xuICAgIGlmICh0eXBlb2YgZXJyb3JDb250ZW50ID09PSAnc3RyaW5nJykgcmV0dXJuIGVycm9yQ29udGVudDtcblxuICAgIC8vIE5vdCB0cmFuc2xhdGVkOiBzaG93IGVycm9yXG4gICAgY29uc29sZS5lcnJvcihgW3ZhbGlkYXRvcl0gQ2Fubm90IHRyYW5zbGF0ZSBlcnJvciBrZXkgJyR7ZXJyb3JLZXl9Jy4gUGxlYXNlIG92ZXJyaWRlIHRyYW5zbGF0ZUVycm9yKCkgaW4geW91ciB2YWxpZGF0b3JgKTtcblxuICAgIHJldHVybiBjaGFuZ2VDYXNlVG9VbmRlcnNjb3JlKGVycm9yS2V5KTtcbiAgfVxufVxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS52YWxpZGF0b3IuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvdmFsaWRhdG9yL2Jhc2UudmFsaWRhdG9yLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRzFELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDOzs7O0FBS2pFLE1BQU0sT0FBZ0IsbUJBQ3BCLFNBQVEsZ0JBQWdCO0lBR3hCLFlBQ1ksV0FBK0IsRUFDL0IsU0FBNEI7UUFFdEMsS0FBSyxFQUFFLENBQUM7UUFIRSxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsY0FBUyxHQUFULFNBQVMsQ0FBbUI7SUFHeEMsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVE7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBUTtRQUN6QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxPQUF3QjtRQUN4QyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQWtCO1FBQzlCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRVMsWUFBWSxDQUFDLFFBQWdCLEVBQUUsWUFBa0I7UUFDekQsTUFBTSxPQUFPLEdBQUcsY0FBYyxHQUFHLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hGLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNsRSxJQUFJLE9BQU8sS0FBSyxXQUFXO1lBQUUsT0FBTyxXQUFXLENBQUM7UUFDaEQsSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRO1lBQUUsT0FBTyxZQUFZLENBQUM7UUFFMUQsNkJBQTZCO1FBQzdCLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkNBQTJDLFFBQVEsdURBQXVELENBQUMsQ0FBQztRQUUxSCxPQUFPLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7O2lIQTFDbUIsbUJBQW1CO3FHQUFuQixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFEeEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VmFsaWRhdG9yU2VydmljZX0gZnJvbSAnQGUtaXMvbmd4LW1hdGVyaWFsLXRhYmxlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7SVZhbGlkYXRvclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy92YWxpZGF0b3Itc2VydmljZS5jbGFzcyc7XG5pbXBvcnQge0RpcmVjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FwcEZvcm1VdGlsc30gZnJvbSAnLi4vLi4vZm9ybS9mb3JtLnV0aWxzJztcbmltcG9ydCB7Y2hhbmdlQ2FzZVRvVW5kZXJzY29yZX0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtGb3JtRXJyb3JzfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZm9ybXMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBcHBWYWxpZGF0b3JTZXJ2aWNlPFQgPSBhbnk+XG4gIGV4dGVuZHMgVmFsaWRhdG9yU2VydmljZVxuICBpbXBsZW1lbnRzIElWYWxpZGF0b3JTZXJ2aWNlPFQ+IHtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZT86IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldFJvd1ZhbGlkYXRvcigpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGb3JtR3JvdXAoKTtcbiAgfVxuXG4gIGdldEZvcm1Hcm91cChkYXRhPzogVCk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHRoaXMuZ2V0Rm9ybUdyb3VwQ29uZmlnKGRhdGEpKTtcbiAgfVxuXG4gIGdldEZvcm1Hcm91cENvbmZpZyhkYXRhPzogVCk6IHsgW2tleTogc3RyaW5nXTogYW55fSAge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGdldEkxOG5Gb3JtRXJyb3JzKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBlcnJvcnMgPSBBcHBGb3JtVXRpbHMuZ2V0Rm9ybUVycm9ycyhjb250cm9sKTtcbiAgICByZXR1cm4gdGhpcy5nZXRJMThuRXJyb3JzKGVycm9ycyk7XG4gIH1cblxuICBnZXRJMThuRXJyb3JzKGVycm9yczogRm9ybUVycm9ycyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZXJyb3JzIHx8IHt9KS5tYXAoZXJyb3JLZXkgPT4gdGhpcy5nZXRJMThuRXJyb3IoZXJyb3JLZXksIGVycm9yc1tlcnJvcktleV0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRJMThuRXJyb3IoZXJyb3JLZXk6IHN0cmluZywgZXJyb3JDb250ZW50PzogYW55KTogc3RyaW5nIHtcbiAgICBjb25zdCBpMThuS2V5ID0gJ0VSUk9SLkZJRUxEXycgKyBjaGFuZ2VDYXNlVG9VbmRlcnNjb3JlKGVycm9yS2V5KS50b1VwcGVyQ2FzZSgpO1xuICAgIGNvbnN0IGkxOG5NZXNzYWdlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChpMThuS2V5LCBlcnJvckNvbnRlbnQpO1xuICAgIGlmIChpMThuS2V5ICE9PSBpMThuTWVzc2FnZSkgcmV0dXJuIGkxOG5NZXNzYWdlO1xuICAgIGlmICh0eXBlb2YgZXJyb3JDb250ZW50ID09PSAnc3RyaW5nJykgcmV0dXJuIGVycm9yQ29udGVudDtcblxuICAgIC8vIE5vdCB0cmFuc2xhdGVkOiBzaG93IGVycm9yXG4gICAgY29uc29sZS5lcnJvcihgW3ZhbGlkYXRvcl0gQ2Fubm90IHRyYW5zbGF0ZSBlcnJvciBrZXkgJyR7ZXJyb3JLZXl9Jy4gUGxlYXNlIG92ZXJyaWRlIHRyYW5zbGF0ZUVycm9yKCkgaW4geW91ciB2YWxpZGF0b3JgKTtcblxuICAgIHJldHVybiBjaGFuZ2VDYXNlVG9VbmRlcnNjb3JlKGVycm9yS2V5KTtcbiAgfVxufVxuIl19
@@ -57,10 +57,10 @@ export class LocalSettingsValidatorService extends AppValidatorService {
57
57
  }
58
58
  }
59
59
  }
60
- LocalSettingsValidatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: LocalSettingsValidatorService, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.NetworkService }], target: i0.ɵɵFactoryTarget.Injectable });
61
- LocalSettingsValidatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: LocalSettingsValidatorService, providedIn: 'root' });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: LocalSettingsValidatorService, decorators: [{
60
+ LocalSettingsValidatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LocalSettingsValidatorService, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.NetworkService }], target: i0.ɵɵFactoryTarget.Injectable });
61
+ LocalSettingsValidatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LocalSettingsValidatorService, providedIn: 'root' });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LocalSettingsValidatorService, decorators: [{
63
63
  type: Injectable,
64
64
  args: [{ providedIn: 'root' }]
65
65
  }], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.NetworkService }]; } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc2V0dGluZ3MudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL3ZhbGlkYXRvci9sb2NhbC1zZXR0aW5ncy52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQTBFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25ILE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV0RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUczRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsbUJBQWtDO0lBRW5GLFlBQ0UsV0FBK0IsRUFDdkIsY0FBOEI7UUFFdEMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRlgsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBR3hDLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBb0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM1QixrQkFBa0IsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbEYsTUFBTSxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDMUQsYUFBYSxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDeEUsU0FBUyxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbEUsT0FBTyxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNwRCxVQUFVLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQzdELEVBQUU7WUFDRCxlQUFlLEVBQUUsQ0FBQyxLQUF1QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDbkYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQVc7UUFDNUIsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FDM0IsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN4RCxDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQW9DO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDNUIsR0FBRyxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlGLEtBQUssRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwRyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsNkJBQTZCO0lBRW5CLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBK0I7UUFFdkQseUJBQXlCO1FBQ3pCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDL0IsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztTQUMxRDthQUNJO1lBQ0gsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0UsNkJBQTZCO1lBQzdCLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsTUFBTSxNQUFNLEdBQXFCLGNBQWMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO2dCQUM3RCxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUMzQixjQUFjLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNqQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7Z0JBQy9DLHdEQUF3RDtnQkFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQzthQUMzQjtZQUNELHFDQUFxQztpQkFDaEM7Z0JBQ0gsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQzthQUMxRDtTQUNGO0lBQ0gsQ0FBQzs7MEhBNURVLDZCQUE2Qjs4SEFBN0IsNkJBQTZCLGNBRGpCLE1BQU07MkZBQ2xCLDZCQUE2QjtrQkFEekMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtFbnRpdHlVdGlsc30gZnJvbSAnLi4vbW9kZWwvZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7TG9jYWxTZXR0aW5nc30gZnJvbSAnLi4vbW9kZWwvc2V0dGluZ3MubW9kZWwnO1xuaW1wb3J0IHtTaGFyZWRWYWxpZGF0b3JzfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdmFsaWRhdG9yL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHtOZXR3b3JrU2VydmljZX0gZnJvbSAnLi4vbmV0d29yay5zZXJ2aWNlJztcbmltcG9ydCB7QXBwVmFsaWRhdG9yU2VydmljZX0gZnJvbSAnLi9iYXNlLnZhbGlkYXRvci5jbGFzcyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIExvY2FsU2V0dGluZ3NWYWxpZGF0b3JTZXJ2aWNlIGV4dGVuZHMgQXBwVmFsaWRhdG9yU2VydmljZTxMb2NhbFNldHRpbmdzPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZVxuICApIHtcbiAgICBzdXBlcihmb3JtQnVpbGRlcik7XG4gIH1cblxuICBnZXRGb3JtR3JvdXAoZGF0YT86IExvY2FsU2V0dGluZ3MpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBhY2NvdW50SW5oZXJpdGFuY2U6IFtkYXRhICYmIGRhdGEuYWNjb3VudEluaGVyaXRhbmNlIHx8IHRydWUsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgbG9jYWxlOiBbZGF0YSAmJiBkYXRhLmxvY2FsZSB8fCBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIGxhdExvbmdGb3JtYXQ6IFtkYXRhICYmIGRhdGEubGF0TG9uZ0Zvcm1hdCB8fCBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHVzYWdlTW9kZTogW2RhdGEgJiYgZGF0YS51c2FnZU1vZGUgfHwgJ0RFU0snLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHBlZXJVcmw6IFtkYXRhICYmIGRhdGEucGVlclVybCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBwcm9wZXJ0aWVzOiB0aGlzLmdldFByb3BlcnRpZXNBcnJheShkYXRhICYmIGRhdGEucHJvcGVydGllcylcbiAgICB9LCB7XG4gICAgICBhc3luY1ZhbGlkYXRvcnM6IChncm91cDogVW50eXBlZEZvcm1Hcm91cCkgPT4gdGhpcy5wZWVyQWxpdmUoZ3JvdXAuZ2V0KCdwZWVyVXJsJykpXG4gICAgfSk7XG4gIH1cblxuICBnZXRQcm9wZXJ0aWVzQXJyYXkoYXJyYXk/OiBhbnkpIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gRW50aXR5VXRpbHMuZ2V0TWFwQXNBcnJheShhcnJheSB8fCB7fSk7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuYXJyYXkoXG4gICAgICBwcm9wZXJ0aWVzLm1hcChpdGVtID0+IHRoaXMuZ2V0UHJvcGVydHlGb3JtR3JvdXAoaXRlbSkpXG4gICAgKTtcbiAgfVxuXG4gIGdldFByb3BlcnR5Rm9ybUdyb3VwKGRhdGE/OiB7a2V5OiBzdHJpbmc7IHZhbHVlPzogc3RyaW5nfSk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGtleTogW2RhdGEgJiYgZGF0YS5rZXkgfHwgbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heCg1MCldKV0sXG4gICAgICB2YWx1ZTogW2RhdGEgJiYgZGF0YS52YWx1ZSB8fCBudWxsLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4KDEwMCldKV1cbiAgICB9KTtcbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBtZXRob2RzIC0tICovXG5cbiAgcHJvdGVjdGVkIGFzeW5jIHBlZXJBbGl2ZShwZWVyVXJsQ29udHJvbDogQWJzdHJhY3RDb250cm9sKTogUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4gIHtcblxuICAgIC8vIE9mZmxpbmUgbW9kZTogbm8gZXJyb3JcbiAgICBpZiAodGhpcy5uZXR3b3JrU2VydmljZS5vZmZsaW5lKSB7XG4gICAgICBTaGFyZWRWYWxpZGF0b3JzLmNsZWFyRXJyb3IocGVlclVybENvbnRyb2wsICdwZWVyQWxpdmUnKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBjb25zdCBhbGl2ZSA9IGF3YWl0IHRoaXMubmV0d29ya1NlcnZpY2UuY2hlY2tQZWVyQWxpdmUocGVlclVybENvbnRyb2wudmFsdWUpO1xuICAgICAgLy8gS086IGFkZCBhIHZhbGlkYXRpb24gZXJyb3JcbiAgICAgIGlmICghYWxpdmUpIHtcbiAgICAgICAgY29uc3QgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzID0gcGVlclVybENvbnRyb2wuZXJyb3JzIHx8IHt9O1xuICAgICAgICBlcnJvcnNbJ3BlZXJBbGl2ZSddID0gdHJ1ZTtcbiAgICAgICAgcGVlclVybENvbnRyb2wuc2V0RXJyb3JzKGVycm9ycyk7XG4gICAgICAgIHBlZXJVcmxDb250cm9sLm1hcmtBc1RvdWNoZWQoe29ubHlTZWxmOiB0cnVlfSk7XG4gICAgICAgIC8vIFJldHVybiB0aGUgZXJyb3IgKHNob3VsZCBiZSBhcHBseSB0byB0aGUgcGFyZW50IGZvcm0pXG4gICAgICAgIHJldHVybiB7IHBlZXJBbGl2ZTogdHJ1ZX07XG4gICAgICB9XG4gICAgICAvLyBPSzogcmVtb3ZlIHRoZSBleGlzdGluZyBvbiBjb250cm9sXG4gICAgICBlbHNlIHtcbiAgICAgICAgU2hhcmVkVmFsaWRhdG9ycy5jbGVhckVycm9yKHBlZXJVcmxDb250cm9sLCAncGVlckFsaXZlJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc2V0dGluZ3MudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL3ZhbGlkYXRvci9sb2NhbC1zZXR0aW5ncy52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQTBFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25ILE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV0RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUczRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsbUJBQWtDO0lBRW5GLFlBQ0UsV0FBK0IsRUFDdkIsY0FBOEI7UUFFdEMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRlgsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBR3hDLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBb0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM1QixrQkFBa0IsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbEYsTUFBTSxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDMUQsYUFBYSxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDeEUsU0FBUyxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbEUsT0FBTyxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNwRCxVQUFVLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQzdELEVBQUU7WUFDRCxlQUFlLEVBQUUsQ0FBQyxLQUF1QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDbkYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQVc7UUFDNUIsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FDM0IsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN4RCxDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQW9DO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDNUIsR0FBRyxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlGLEtBQUssRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwRyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsNkJBQTZCO0lBRW5CLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBK0I7UUFFdkQseUJBQXlCO1FBQ3pCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDL0IsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztTQUMxRDthQUNJO1lBQ0gsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0UsNkJBQTZCO1lBQzdCLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsTUFBTSxNQUFNLEdBQXFCLGNBQWMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO2dCQUM3RCxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUMzQixjQUFjLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNqQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7Z0JBQy9DLHdEQUF3RDtnQkFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQzthQUMzQjtZQUNELHFDQUFxQztpQkFDaEM7Z0JBQ0gsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQzthQUMxRDtTQUNGO0lBQ0gsQ0FBQzs7MkhBNURVLDZCQUE2QjsrSEFBN0IsNkJBQTZCLGNBRGpCLE1BQU07NEZBQ2xCLDZCQUE2QjtrQkFEekMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtFbnRpdHlVdGlsc30gZnJvbSAnLi4vbW9kZWwvZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7TG9jYWxTZXR0aW5nc30gZnJvbSAnLi4vbW9kZWwvc2V0dGluZ3MubW9kZWwnO1xuaW1wb3J0IHtTaGFyZWRWYWxpZGF0b3JzfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdmFsaWRhdG9yL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHtOZXR3b3JrU2VydmljZX0gZnJvbSAnLi4vbmV0d29yay5zZXJ2aWNlJztcbmltcG9ydCB7QXBwVmFsaWRhdG9yU2VydmljZX0gZnJvbSAnLi9iYXNlLnZhbGlkYXRvci5jbGFzcyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIExvY2FsU2V0dGluZ3NWYWxpZGF0b3JTZXJ2aWNlIGV4dGVuZHMgQXBwVmFsaWRhdG9yU2VydmljZTxMb2NhbFNldHRpbmdzPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZVxuICApIHtcbiAgICBzdXBlcihmb3JtQnVpbGRlcik7XG4gIH1cblxuICBnZXRGb3JtR3JvdXAoZGF0YT86IExvY2FsU2V0dGluZ3MpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBhY2NvdW50SW5oZXJpdGFuY2U6IFtkYXRhICYmIGRhdGEuYWNjb3VudEluaGVyaXRhbmNlIHx8IHRydWUsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgbG9jYWxlOiBbZGF0YSAmJiBkYXRhLmxvY2FsZSB8fCBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIGxhdExvbmdGb3JtYXQ6IFtkYXRhICYmIGRhdGEubGF0TG9uZ0Zvcm1hdCB8fCBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHVzYWdlTW9kZTogW2RhdGEgJiYgZGF0YS51c2FnZU1vZGUgfHwgJ0RFU0snLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHBlZXJVcmw6IFtkYXRhICYmIGRhdGEucGVlclVybCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBwcm9wZXJ0aWVzOiB0aGlzLmdldFByb3BlcnRpZXNBcnJheShkYXRhICYmIGRhdGEucHJvcGVydGllcylcbiAgICB9LCB7XG4gICAgICBhc3luY1ZhbGlkYXRvcnM6IChncm91cDogVW50eXBlZEZvcm1Hcm91cCkgPT4gdGhpcy5wZWVyQWxpdmUoZ3JvdXAuZ2V0KCdwZWVyVXJsJykpXG4gICAgfSk7XG4gIH1cblxuICBnZXRQcm9wZXJ0aWVzQXJyYXkoYXJyYXk/OiBhbnkpIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gRW50aXR5VXRpbHMuZ2V0TWFwQXNBcnJheShhcnJheSB8fCB7fSk7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuYXJyYXkoXG4gICAgICBwcm9wZXJ0aWVzLm1hcChpdGVtID0+IHRoaXMuZ2V0UHJvcGVydHlGb3JtR3JvdXAoaXRlbSkpXG4gICAgKTtcbiAgfVxuXG4gIGdldFByb3BlcnR5Rm9ybUdyb3VwKGRhdGE/OiB7a2V5OiBzdHJpbmc7IHZhbHVlPzogc3RyaW5nfSk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGtleTogW2RhdGEgJiYgZGF0YS5rZXkgfHwgbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heCg1MCldKV0sXG4gICAgICB2YWx1ZTogW2RhdGEgJiYgZGF0YS52YWx1ZSB8fCBudWxsLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4KDEwMCldKV1cbiAgICB9KTtcbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBtZXRob2RzIC0tICovXG5cbiAgcHJvdGVjdGVkIGFzeW5jIHBlZXJBbGl2ZShwZWVyVXJsQ29udHJvbDogQWJzdHJhY3RDb250cm9sKTogUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4gIHtcblxuICAgIC8vIE9mZmxpbmUgbW9kZTogbm8gZXJyb3JcbiAgICBpZiAodGhpcy5uZXR3b3JrU2VydmljZS5vZmZsaW5lKSB7XG4gICAgICBTaGFyZWRWYWxpZGF0b3JzLmNsZWFyRXJyb3IocGVlclVybENvbnRyb2wsICdwZWVyQWxpdmUnKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBjb25zdCBhbGl2ZSA9IGF3YWl0IHRoaXMubmV0d29ya1NlcnZpY2UuY2hlY2tQZWVyQWxpdmUocGVlclVybENvbnRyb2wudmFsdWUpO1xuICAgICAgLy8gS086IGFkZCBhIHZhbGlkYXRpb24gZXJyb3JcbiAgICAgIGlmICghYWxpdmUpIHtcbiAgICAgICAgY29uc3QgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzID0gcGVlclVybENvbnRyb2wuZXJyb3JzIHx8IHt9O1xuICAgICAgICBlcnJvcnNbJ3BlZXJBbGl2ZSddID0gdHJ1ZTtcbiAgICAgICAgcGVlclVybENvbnRyb2wuc2V0RXJyb3JzKGVycm9ycyk7XG4gICAgICAgIHBlZXJVcmxDb250cm9sLm1hcmtBc1RvdWNoZWQoe29ubHlTZWxmOiB0cnVlfSk7XG4gICAgICAgIC8vIFJldHVybiB0aGUgZXJyb3IgKHNob3VsZCBiZSBhcHBseSB0byB0aGUgcGFyZW50IGZvcm0pXG4gICAgICAgIHJldHVybiB7IHBlZXJBbGl2ZTogdHJ1ZX07XG4gICAgICB9XG4gICAgICAvLyBPSzogcmVtb3ZlIHRoZSBleGlzdGluZyBvbiBjb250cm9sXG4gICAgICBlbHNlIHtcbiAgICAgICAgU2hhcmVkVmFsaWRhdG9ycy5jbGVhckVycm9yKHBlZXJVcmxDb250cm9sLCAncGVlckFsaXZlJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -20,10 +20,10 @@ export class UserSettingsValidatorService extends AppValidatorService {
20
20
  });
21
21
  }
22
22
  }
23
- UserSettingsValidatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: UserSettingsValidatorService, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Injectable });
24
- UserSettingsValidatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: UserSettingsValidatorService, providedIn: 'root' });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: UserSettingsValidatorService, decorators: [{
23
+ UserSettingsValidatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: UserSettingsValidatorService, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Injectable });
24
+ UserSettingsValidatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: UserSettingsValidatorService, providedIn: 'root' });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: UserSettingsValidatorService, decorators: [{
26
26
  type: Injectable,
27
27
  args: [{ providedIn: 'root' }]
28
28
  }], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }]; } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXR0aW5ncy52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvdmFsaWRhdG9yL3VzZXItc2V0dGluZ3MudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUF1QyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBRzNELE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxtQkFBaUM7SUFFakYsWUFDRSxXQUErQjtRQUUvQixLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFtQjtRQUM5QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQzVCLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQztZQUM3QixVQUFVLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUM7WUFDN0MsTUFBTSxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDMUQsYUFBYSxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDeEUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ2hDLDZGQUE2RjthQUM1RixDQUFDO1lBQ0YsS0FBSyxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO1NBQ3BDLENBQUMsQ0FBQztJQUNMLENBQUM7O3lIQW5CVSw0QkFBNEI7NkhBQTVCLDRCQUE0QixjQURoQixNQUFNOzJGQUNsQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1VzZXJTZXR0aW5nc30gZnJvbSAnLi4vbW9kZWwvc2V0dGluZ3MubW9kZWwnO1xuaW1wb3J0IHtBcHBWYWxpZGF0b3JTZXJ2aWNlfSBmcm9tICcuL2Jhc2UudmFsaWRhdG9yLmNsYXNzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgVXNlclNldHRpbmdzVmFsaWRhdG9yU2VydmljZSBleHRlbmRzIEFwcFZhbGlkYXRvclNlcnZpY2U8VXNlclNldHRpbmdzPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlclxuICApIHtcbiAgICBzdXBlcihmb3JtQnVpbGRlcik7XG4gIH1cblxuICBnZXRGb3JtR3JvdXAoZGF0YT86IFVzZXJTZXR0aW5ncyk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGlkOiBbZGF0YSAmJiBkYXRhLmlkIHx8IG51bGxdLFxuICAgICAgdXBkYXRlRGF0ZTogW2RhdGEgJiYgZGF0YS51cGRhdGVEYXRlIHx8IG51bGxdLFxuICAgICAgbG9jYWxlOiBbZGF0YSAmJiBkYXRhLmxvY2FsZSB8fCBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIGxhdExvbmdGb3JtYXQ6IFtkYXRhICYmIGRhdGEubGF0TG9uZ0Zvcm1hdCB8fCBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIGNvbnRlbnQ6IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgLy91c2FnZU1vZGU6IFtkYXRhICYmIGRhdGEuY29udGVudCAmJiBkYXRhLmNvbnRlbnQudXNhZ2VNb2RlIHx8ICdERVNLJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICB9KSxcbiAgICAgIG5vbmNlOiBbZGF0YSAmJiBkYXRhLm5vbmNlIHx8IG51bGxdXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXR0aW5ncy52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvdmFsaWRhdG9yL3VzZXItc2V0dGluZ3MudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUF1QyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBRzNELE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxtQkFBaUM7SUFFakYsWUFDRSxXQUErQjtRQUUvQixLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFtQjtRQUM5QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQzVCLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQztZQUM3QixVQUFVLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUM7WUFDN0MsTUFBTSxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDMUQsYUFBYSxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDeEUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ2hDLDZGQUE2RjthQUM1RixDQUFDO1lBQ0YsS0FBSyxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO1NBQ3BDLENBQUMsQ0FBQztJQUNMLENBQUM7OzBIQW5CVSw0QkFBNEI7OEhBQTVCLDRCQUE0QixjQURoQixNQUFNOzRGQUNsQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1VzZXJTZXR0aW5nc30gZnJvbSAnLi4vbW9kZWwvc2V0dGluZ3MubW9kZWwnO1xuaW1wb3J0IHtBcHBWYWxpZGF0b3JTZXJ2aWNlfSBmcm9tICcuL2Jhc2UudmFsaWRhdG9yLmNsYXNzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgVXNlclNldHRpbmdzVmFsaWRhdG9yU2VydmljZSBleHRlbmRzIEFwcFZhbGlkYXRvclNlcnZpY2U8VXNlclNldHRpbmdzPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlclxuICApIHtcbiAgICBzdXBlcihmb3JtQnVpbGRlcik7XG4gIH1cblxuICBnZXRGb3JtR3JvdXAoZGF0YT86IFVzZXJTZXR0aW5ncyk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGlkOiBbZGF0YSAmJiBkYXRhLmlkIHx8IG51bGxdLFxuICAgICAgdXBkYXRlRGF0ZTogW2RhdGEgJiYgZGF0YS51cGRhdGVEYXRlIHx8IG51bGxdLFxuICAgICAgbG9jYWxlOiBbZGF0YSAmJiBkYXRhLmxvY2FsZSB8fCBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIGxhdExvbmdGb3JtYXQ6IFtkYXRhICYmIGRhdGEubGF0TG9uZ0Zvcm1hdCB8fCBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIGNvbnRlbnQ6IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgLy91c2FnZU1vZGU6IFtkYXRhICYmIGRhdGEuY29udGVudCAmJiBkYXRhLmNvbnRlbnQudXNhZ2VNb2RlIHx8ICdERVNLJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICB9KSxcbiAgICAgIG5vbmNlOiBbZGF0YSAmJiBkYXRhLm5vbmNlIHx8IG51bGxdXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -7,14 +7,14 @@ import * as i0 from "@angular/core";
7
7
  import * as i1 from "@ngx-translate/core";
8
8
  export class AppSettingsPageModule {
9
9
  }
10
- AppSettingsPageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AppSettingsPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- AppSettingsPageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: AppSettingsPageModule, declarations: [SettingsPage], imports: [SharedModule,
10
+ AppSettingsPageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AppSettingsPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ AppSettingsPageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: AppSettingsPageModule, declarations: [SettingsPage], imports: [SharedModule,
12
12
  AppFormButtonsBarModule, i1.TranslateModule], exports: [TranslateModule,
13
13
  SettingsPage] });
14
- AppSettingsPageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AppSettingsPageModule, imports: [SharedModule,
14
+ AppSettingsPageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AppSettingsPageModule, imports: [SharedModule,
15
15
  AppFormButtonsBarModule,
16
16
  TranslateModule.forChild(), TranslateModule] });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AppSettingsPageModule, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AppSettingsPageModule, decorators: [{
18
18
  type: NgModule,
19
19
  args: [{
20
20
  imports: [
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
31
31
  ]
32
32
  }]
33
33
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NldHRpbmdzL3NldHRpbmdzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDOzs7QUFpQmhGLE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkFQOUIsWUFBWSxhQU5aLFlBQVk7UUFDWix1QkFBdUIsaUNBUXZCLGVBQWU7UUFDZixZQUFZO21IQUdILHFCQUFxQixZQWI5QixZQUFZO1FBQ1osdUJBQXVCO1FBQ3ZCLGVBQWUsQ0FBQyxRQUFRLEVBQUUsRUFPMUIsZUFBZTsyRkFJTixxQkFBcUI7a0JBZmpDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osdUJBQXVCO3dCQUN2QixlQUFlLENBQUMsUUFBUSxFQUFFO3FCQUMzQjtvQkFFRCxZQUFZLEVBQUU7d0JBQ1osWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NoYXJlZE1vZHVsZX0gZnJvbSAnLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHtTZXR0aW5nc1BhZ2V9IGZyb20gJy4vc2V0dGluZ3MucGFnZSc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0FwcEZvcm1CdXR0b25zQmFyTW9kdWxlfSBmcm9tICcuLi9mb3JtL2J1dHRvbnMvZm9ybS1idXR0b25zLWJhci5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgU2hhcmVkTW9kdWxlLFxuICAgIEFwcEZvcm1CdXR0b25zQmFyTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpXG4gIF0sXG5cbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2V0dGluZ3NQYWdlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgU2V0dGluZ3NQYWdlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwU2V0dGluZ3NQYWdlTW9kdWxlIHtcblxufVxuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NldHRpbmdzL3NldHRpbmdzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDOzs7QUFpQmhGLE1BQU0sT0FBTyxxQkFBcUI7O21IQUFyQixxQkFBcUI7b0hBQXJCLHFCQUFxQixpQkFQOUIsWUFBWSxhQU5aLFlBQVk7UUFDWix1QkFBdUIsaUNBUXZCLGVBQWU7UUFDZixZQUFZO29IQUdILHFCQUFxQixZQWI5QixZQUFZO1FBQ1osdUJBQXVCO1FBQ3ZCLGVBQWUsQ0FBQyxRQUFRLEVBQUUsRUFPMUIsZUFBZTs0RkFJTixxQkFBcUI7a0JBZmpDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osdUJBQXVCO3dCQUN2QixlQUFlLENBQUMsUUFBUSxFQUFFO3FCQUMzQjtvQkFFRCxZQUFZLEVBQUU7d0JBQ1osWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NoYXJlZE1vZHVsZX0gZnJvbSAnLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHtTZXR0aW5nc1BhZ2V9IGZyb20gJy4vc2V0dGluZ3MucGFnZSc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0FwcEZvcm1CdXR0b25zQmFyTW9kdWxlfSBmcm9tICcuLi9mb3JtL2J1dHRvbnMvZm9ybS1idXR0b25zLWJhci5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgU2hhcmVkTW9kdWxlLFxuICAgIEFwcEZvcm1CdXR0b25zQmFyTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpXG4gIF0sXG5cbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2V0dGluZ3NQYWdlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgU2V0dGluZ3NQYWdlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwU2V0dGluZ3NQYWdlTW9kdWxlIHtcblxufVxuIl19