@sumaris-net/ngx-components 2.7.0-rc4 → 2.7.0-rc5

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 (184) hide show
  1. package/esm2022/src/app/admin/services/filter/person.filter.mjs +1 -1
  2. package/esm2022/src/app/admin/services/person.service.mjs +2 -2
  3. package/esm2022/src/app/admin/services/validator/person.validator.mjs +1 -1
  4. package/esm2022/src/app/admin/users/users.mjs +3 -3
  5. package/esm2022/src/app/core/about/about.modal.mjs +1 -1
  6. package/esm2022/src/app/core/account/account.page.mjs +1 -1
  7. package/esm2022/src/app/core/account/new-token.modal.mjs +1 -1
  8. package/esm2022/src/app/core/account/token.table.mjs +1 -1
  9. package/esm2022/src/app/core/auth/auth.form.mjs +1 -1
  10. package/esm2022/src/app/core/auth/auth.modal.mjs +1 -1
  11. package/esm2022/src/app/core/form/entity/editor.class.mjs +1 -1
  12. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +1 -1
  13. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +3 -3
  14. package/esm2022/src/app/core/form/form.class.mjs +1 -1
  15. package/esm2022/src/app/core/form/form.utils.mjs +1 -1
  16. package/esm2022/src/app/core/form/list/list.form.mjs +1 -1
  17. package/esm2022/src/app/core/form/properties/properties.form.mjs +1 -1
  18. package/esm2022/src/app/core/form/properties/properties.table.mjs +1 -1
  19. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +1 -1
  20. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +1 -1
  21. package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +1 -1
  22. package/esm2022/src/app/core/graphql/graphql.service.mjs +1 -1
  23. package/esm2022/src/app/core/graphql/graphql.utils.mjs +1 -1
  24. package/esm2022/src/app/core/home/home.mjs +3 -3
  25. package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +1 -1
  26. package/esm2022/src/app/core/menu/menu.component.mjs +3 -3
  27. package/esm2022/src/app/core/menu/menu.model.mjs +1 -1
  28. package/esm2022/src/app/core/menu/menu.service.mjs +1 -1
  29. package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +1 -1
  30. package/esm2022/src/app/core/peer/select-peer.modal.mjs +1 -1
  31. package/esm2022/src/app/core/register/register-confirm.page.mjs +3 -3
  32. package/esm2022/src/app/core/register/register.form.mjs +1 -1
  33. package/esm2022/src/app/core/register/register.modal.mjs +1 -1
  34. package/esm2022/src/app/core/services/account.service.mjs +1 -1
  35. package/esm2022/src/app/core/services/auth-guard.service.mjs +1 -1
  36. package/esm2022/src/app/core/services/base-entity-service.class.mjs +1 -1
  37. package/esm2022/src/app/core/services/base-graphql-service.class.mjs +1 -1
  38. package/esm2022/src/app/core/services/base58.mjs +1 -1
  39. package/esm2022/src/app/core/services/config.service.mjs +1 -1
  40. package/esm2022/src/app/core/services/errors.mjs +3 -3
  41. package/esm2022/src/app/core/services/local-settings.service.mjs +1 -1
  42. package/esm2022/src/app/core/services/model/account.model.mjs +1 -1
  43. package/esm2022/src/app/core/services/model/config.model.mjs +1 -1
  44. package/esm2022/src/app/core/services/model/entity.decorators.mjs +1 -1
  45. package/esm2022/src/app/core/services/model/entity.model.mjs +1 -1
  46. package/esm2022/src/app/core/services/model/filter.model.mjs +1 -1
  47. package/esm2022/src/app/core/services/model/person.model.mjs +1 -1
  48. package/esm2022/src/app/core/services/model/referential.model.mjs +3 -3
  49. package/esm2022/src/app/core/services/model/token.model.mjs +1 -1
  50. package/esm2022/src/app/core/services/model/tree-item-entity.model.mjs +1 -1
  51. package/esm2022/src/app/core/services/network.service.mjs +1 -1
  52. package/esm2022/src/app/core/services/network.types.mjs +1 -1
  53. package/esm2022/src/app/core/services/network.utils.mjs +1 -1
  54. package/esm2022/src/app/core/services/platform.service.mjs +2 -2
  55. package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +1 -1
  56. package/esm2022/src/app/core/services/storage/entity-store.class.mjs +1 -1
  57. package/esm2022/src/app/core/services/testing/referential.validator.mjs +1 -1
  58. package/esm2022/src/app/core/services/validator/account.validator.mjs +1 -1
  59. package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +1 -1
  60. package/esm2022/src/app/core/services/validator/user-token.validator.mjs +1 -1
  61. package/esm2022/src/app/core/settings/settings.page.mjs +2 -2
  62. package/esm2022/src/app/core/table/actions-column.component.mjs +1 -1
  63. package/esm2022/src/app/core/table/async-table.class.mjs +1 -1
  64. package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +1 -1
  65. package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +2 -2
  66. package/esm2022/src/app/core/table/memory-table.class.mjs +1 -1
  67. package/esm2022/src/app/core/table/table.class.mjs +1 -1
  68. package/esm2022/src/app/core/table/table.utils.mjs +1 -1
  69. package/esm2022/src/app/core/table/testing/table.testing.mjs +1 -1
  70. package/esm2022/src/app/core/table/testing/table2.testing.mjs +1 -1
  71. package/esm2022/src/app/shared/alerts.mjs +1 -1
  72. package/esm2022/src/app/shared/audio/audio.mjs +1 -1
  73. package/esm2022/src/app/shared/capacitor/keyboard.mjs +1 -1
  74. package/esm2022/src/app/shared/dates.mjs +1 -1
  75. package/esm2022/src/app/shared/directives/autofocus.directive.mjs +1 -1
  76. package/esm2022/src/app/shared/directives/autotitle.directive.mjs +1 -1
  77. package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +1 -1
  78. package/esm2022/src/app/shared/directives/ng-var.directive.mjs +1 -1
  79. package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +1 -1
  80. package/esm2022/src/app/shared/events.mjs +1 -1
  81. package/esm2022/src/app/shared/file/csv.utils.mjs +1 -1
  82. package/esm2022/src/app/shared/file/file.service.mjs +1 -1
  83. package/esm2022/src/app/shared/file/file.utils.mjs +1 -1
  84. package/esm2022/src/app/shared/file/images.utils.mjs +1 -1
  85. package/esm2022/src/app/shared/file/json.utils.mjs +1 -1
  86. package/esm2022/src/app/shared/file/uri.utils.mjs +1 -1
  87. package/esm2022/src/app/shared/form/field.component.mjs +1 -1
  88. package/esm2022/src/app/shared/forms.mjs +1 -1
  89. package/esm2022/src/app/shared/functions.mjs +1 -1
  90. package/esm2022/src/app/shared/geolocation/geolocation.utils.mjs +1 -1
  91. package/esm2022/src/app/shared/gesture/gesture-config.mjs +2 -2
  92. package/esm2022/src/app/shared/graph/colors.utils.mjs +1 -1
  93. package/esm2022/src/app/shared/graph/graph-colors.mjs +8 -8
  94. package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +1 -1
  95. package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +1 -1
  96. package/esm2022/src/app/shared/http/http.utils.mjs +1 -1
  97. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +1 -1
  98. package/esm2022/src/app/shared/image/image.service.mjs +1 -1
  99. package/esm2022/src/app/shared/inputs.mjs +1 -1
  100. package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +1 -1
  101. package/esm2022/src/app/shared/logging/logger.model.mjs +1 -1
  102. package/esm2022/src/app/shared/logging/logging-service.class.mjs +1 -1
  103. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +1 -1
  104. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +1 -1
  105. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +1 -1
  106. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +2 -2
  107. package/esm2022/src/app/shared/material/badge/badge.directive.mjs +1 -1
  108. package/esm2022/src/app/shared/material/boolean/material-boolean.mjs +1 -1
  109. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +1 -1
  110. package/esm2022/src/app/shared/material/chips/material.chips.mjs +1 -1
  111. package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +2 -2
  112. package/esm2022/src/app/shared/material/datetime/material.date.mjs +1 -1
  113. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +1 -1
  114. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +1 -1
  115. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +2 -2
  116. package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +2 -2
  117. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +2 -2
  118. package/esm2022/src/app/shared/material/duration/duration.utils.mjs +1 -1
  119. package/esm2022/src/app/shared/material/duration/material.duration.mjs +1 -1
  120. package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +2 -2
  121. package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +1 -1
  122. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +1 -1
  123. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +1 -1
  124. package/esm2022/src/app/shared/material/material.module.mjs +5 -5
  125. package/esm2022/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +1 -1
  126. package/esm2022/src/app/shared/material/numpad/numpad.component.mjs +1 -1
  127. package/esm2022/src/app/shared/material/numpad/numpad.container.mjs +1 -1
  128. package/esm2022/src/app/shared/material/numpad/numpad.directive.mjs +1 -1
  129. package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +1 -1
  130. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +1 -1
  131. package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +1 -1
  132. package/esm2022/src/app/shared/material/testing/common.test.mjs +2 -2
  133. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +1 -1
  134. package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +1 -1
  135. package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +1 -1
  136. package/esm2022/src/app/shared/observables.mjs +1 -1
  137. package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +1 -1
  138. package/esm2022/src/app/shared/pipes/colors.pipe.mjs +1 -1
  139. package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +1 -1
  140. package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +1 -1
  141. package/esm2022/src/app/shared/pipes/form.pipes.mjs +1 -1
  142. package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +1 -1
  143. package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +1 -1
  144. package/esm2022/src/app/shared/pipes/math.pipes.mjs +1 -1
  145. package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +1 -1
  146. package/esm2022/src/app/shared/pipes/property.pipes.mjs +1 -1
  147. package/esm2022/src/app/shared/platforms.mjs +1 -1
  148. package/esm2022/src/app/shared/services/job.utils.mjs +1 -1
  149. package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +3 -3
  150. package/esm2022/src/app/shared/services/progress-bar.service.mjs +1 -1
  151. package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +1 -1
  152. package/esm2022/src/app/shared/services/startable-service.class.mjs +1 -1
  153. package/esm2022/src/app/shared/services/translate-context.service.mjs +1 -1
  154. package/esm2022/src/app/shared/services.mjs +2 -2
  155. package/esm2022/src/app/shared/shared-routing.module.mjs +1 -1
  156. package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +1 -1
  157. package/esm2022/src/app/shared/storage/storage.service.mjs +1 -1
  158. package/esm2022/src/app/shared/testing/observable.test.mjs +1 -1
  159. package/esm2022/src/app/shared/toast/toast.testing.mjs +2 -2
  160. package/esm2022/src/app/shared/toast/toasts.mjs +1 -1
  161. package/esm2022/src/app/shared/toolbar/toolbar.mjs +1 -1
  162. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +1 -1
  163. package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +1 -1
  164. package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +1 -1
  165. package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +1 -1
  166. package/esm2022/src/app/shared/validator/validators.mjs +3 -3
  167. package/esm2022/src/app/shared/version/versions.mjs +1 -1
  168. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +1 -1
  169. package/esm2022/src/app/social/job/progression/job-progression.list.mjs +1 -1
  170. package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +1 -1
  171. package/esm2022/src/app/social/message/message.form.mjs +1 -1
  172. package/esm2022/src/app/social/message/message.modal.mjs +1 -1
  173. package/esm2022/src/app/social/message/message.service.mjs +1 -1
  174. package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +1 -1
  175. package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +1 -1
  176. package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +1 -1
  177. package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +1 -1
  178. package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +1 -1
  179. package/esm2022/src/app/social/user-event/user-event.service.mjs +1 -1
  180. package/esm2022/src/environments/environment.loader.mjs +1 -1
  181. package/esm2022/src/environments/environment.mjs +3 -3
  182. package/fesm2022/sumaris-net.ngx-components.mjs +45 -45
  183. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  184. package/package.json +6 -6
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
81
81
  type: Inject,
82
82
  args: [APP_ABOUT_PARTNERS]
83
83
  }] }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQubW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvYWJvdXQvYWJvdXQubW9kYWwudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvYWJvdXQvYWJvdXQubW9kYWwuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUs3RCxPQUFPLEVBQWEsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7QUFFbkUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQXdCLGlCQUFpQixDQUFDLENBQUM7QUFDakcsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQXdCLGVBQWUsQ0FBQyxDQUFDO0FBTzdGLE1BQU0sT0FBTyxVQUFVO0lBYVQ7SUFDQTtJQUNBO0lBQ2lDO0lBQ007SUFDRjtJQWhCeEMsSUFBSSxDQUFTO0lBQ2IsT0FBTyxDQUFTO0lBQ2hCLFNBQVMsQ0FBUztJQUNsQixjQUFjLENBQVM7SUFDdkIsT0FBTyxDQUE0QjtJQUM1QyxRQUFRLENBQVM7SUFDakIsT0FBTyxDQUFTO0lBRUMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFcEQsWUFDWSxTQUEyQixFQUMzQixlQUFnQyxFQUNoQyxhQUE0QixFQUNLLFdBQVcsRUFDTCxVQUFpQyxFQUNuQyxRQUErQjtRQUxwRSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDSyxnQkFBVyxHQUFYLFdBQVcsQ0FBQTtRQUNMLGVBQVUsR0FBVixVQUFVLENBQXVCO1FBQ25DLGFBQVEsR0FBUixRQUFRLENBQXVCO1FBRTlFLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO1lBQzVCLGtEQUFrRDtZQUNsRCxJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxJQUFJLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUM7U0FDckc7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQUM7UUFDdEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLElBQUksV0FBVyxDQUFDLGNBQWMsQ0FBQztRQUNoRSxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBRXBDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDekQsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUs7UUFDUCxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELCtCQUErQjtJQUVyQixTQUFTLENBQUMsTUFBc0I7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLEVBQUUsV0FBVyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO1FBQ2hHLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxFQUFFLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUMvRixDQUFDO3VHQWxEVSxVQUFVLDhHQWdCQyxXQUFXLDZCQUNYLG9CQUFvQiw2QkFDcEIsa0JBQWtCOzJGQWxCN0IsVUFBVSx1RENuQnZCLHk2SUE0SUE7OzJGRHpIYSxVQUFVO2tCQUx0QixTQUFTOytCQUNFLGlCQUFpQjs7MEJBb0J4QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFdBQVc7OzBCQUM5QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQ3ZDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIE9uRGVzdHJveSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNb2RhbENvbnRyb2xsZXJ9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7RU5WSVJPTk1FTlR9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudC5jbGFzcyc7XG5pbXBvcnQge2NhcGl0YWxpemVGaXJzdExldHRlcn0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQge0RlcGFydG1lbnR9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL2RlcGFydG1lbnQubW9kZWwnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9jb25maWcubW9kZWwnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDT1JFX0NPTkZJR19PUFRJT05TfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcvY29yZS5jb25maWcnO1xuXG5leHBvcnQgY29uc3QgQVBQX0FCT1VUX0RFVkVMT1BFUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48UGFydGlhbDxEZXBhcnRtZW50PltdPignYWJvdXREZXZlbG9wZXJzJyk7XG5leHBvcnQgY29uc3QgQVBQX0FCT1VUX1BBUlRORVJTID0gbmV3IEluamVjdGlvblRva2VuPFBhcnRpYWw8RGVwYXJ0bWVudD5bXT4oJ2Fib3V0UGFydG5lcnMnKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFib3V0LW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fib3V0Lm1vZGFsLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hYm91dC5tb2RhbC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWJvdXRNb2RhbCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNvdXJjZVVybDogc3RyaW5nO1xuICByZWFkb25seSByZXBvcnRJc3N1ZVVybDogc3RyaW5nO1xuICByZWFkb25seSBjb25maWckOiBPYnNlcnZhYmxlPENvbmZpZ3VyYXRpb24+O1xuICBmb3J1bVVybDogc3RyaW5nO1xuICBoZWxwVXJsOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIG1vZGFsQ29udHJvbGxlcjogTW9kYWxDb250cm9sbGVyLFxuICAgIHByb3RlY3RlZCBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRU5WSVJPTk1FTlQpIHByb3RlY3RlZCBlbnZpcm9ubWVudCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFQUF9BQk9VVF9ERVZFTE9QRVJTKSBwdWJsaWMgZGV2ZWxvcGVyczogUGFydGlhbDxEZXBhcnRtZW50PltdLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVBQX0FCT1VUX1BBUlRORVJTKSBwdWJsaWMgcGFydG5lcnM6IFBhcnRpYWw8RGVwYXJ0bWVudD5bXVxuICApIHtcbiAgICB0aGlzLm5hbWUgPSB0cmFuc2xhdGUuaW5zdGFudCgnQVBQX05BTUUnKTtcbiAgICBpZiAodGhpcy5uYW1lID09PSAnQVBQX05BTUUnKSB7XG4gICAgICAvLyBOb3QgdHJhbnNsYXRlZDogdXNlIG5hbWUgZnJvbSB0aGUgZW52aXJvbm5lbWVudFxuICAgICAgdGhpcy5uYW1lID0gZW52aXJvbm1lbnQgJiYgZW52aXJvbm1lbnQubmFtZSAmJiBjYXBpdGFsaXplRmlyc3RMZXR0ZXIoZW52aXJvbm1lbnQubmFtZSkgfHwgdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLnZlcnNpb24gPSBlbnZpcm9ubWVudCAmJiBlbnZpcm9ubWVudC52ZXJzaW9uO1xuICAgIHRoaXMuc291cmNlVXJsID0gZW52aXJvbm1lbnQgJiYgZW52aXJvbm1lbnQuc291cmNlVXJsO1xuICAgIHRoaXMucmVwb3J0SXNzdWVVcmwgPSBlbnZpcm9ubWVudCAmJiBlbnZpcm9ubWVudC5yZXBvcnRJc3N1ZVVybDtcbiAgICB0aGlzLmZvcnVtVXJsID0gZW52aXJvbm1lbnQgJiYgZW52aXJvbm1lbnQuZm9ydW1Vcmw7XG4gICAgdGhpcy5oZWxwVXJsID0gZW52aXJvbm1lbnQgJiYgZW52aXJvbm1lbnQuaGVscFVybDtcbiAgICB0aGlzLmNvbmZpZyQgPSBjb25maWdTZXJ2aWNlLmNvbmZpZztcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLmNvbmZpZyQuc3Vic2NyaWJlKGNvbmZpZyA9PiB0aGlzLnNldENvbmZpZyhjb25maWcpKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGFzeW5jIGNsb3NlKCkge1xuICAgICAgYXdhaXQgdGhpcy5tb2RhbENvbnRyb2xsZXIuZGlzbWlzcygpO1xuICB9XG5cbiAgLyogLS0gcHJvdGVjdGVkIGZ1bmN0aW9ucyAtLSAqL1xuXG4gIHByb3RlY3RlZCBzZXRDb25maWcoY29uZmlnPzogQ29uZmlndXJhdGlvbikge1xuICAgIHRoaXMuZm9ydW1VcmwgPSBjb25maWc/LmdldFByb3BlcnR5KENPUkVfQ09ORklHX09QVElPTlMuRk9SVU1fVVJMKSB8fCB0aGlzLmVudmlyb25tZW50LmZvcnVtVXJsO1xuICAgIHRoaXMuaGVscFVybCA9IGNvbmZpZz8uZ2V0UHJvcGVydHkoQ09SRV9DT05GSUdfT1BUSU9OUy5IRUxQX1VSTCkgfHwgdGhpcy5lbnZpcm9ubWVudC5oZWxwVXJsO1xuICB9XG59XG4iLCI8aW9uLWhlYWRlcj5cbiAgPGlvbi10b29sYmFyIGNvbG9yPVwibGlnaHRcIj5cblxuICAgIDxpb24tdGl0bGU+XG4gICAgICB7eydBQk9VVC5USVRMRSd8dHJhbnNsYXRlfX1cbiAgICA8L2lvbi10aXRsZT5cblxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoKVwiIHZpc2libGUteHMgdmlzaWJsZS1zbSB2aXNpYmxlLW1vYmlsZT5cbiAgICAgICAge3snQ09NTU9OLkJUTl9DTE9TRSd8dHJhbnNsYXRlfX1cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8L2lvbi1idXR0b25zPlxuICA8L2lvbi10b29sYmFyPlxuPC9pb24taGVhZGVyPlxuXG48aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuXG4gIDxpb24tbGlzdCBsaW5lcz1cIm5vbmVcIj5cblxuICAgIDwhLS0gUGVlciBpbmZvIC0tPlxuICAgIDxpb24taXRlbSAqbmdJZj1cImNvbmZpZyQgfCBhc3luYzsgbGV0IGNvbmZpZ1wiPlxuICAgICAgPHNwYW4gc2xvdD1cInN0YXJ0XCI+Jm5ic3A7PC9zcGFuPlxuICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImlvbi10ZXh0LXdyYXBcIiA+XG4gICAgICAgIDxoMj5cbiAgICAgICAgICA8Yj57e2NvbmZpZy5sYWJlbH19PC9iPiAtIDxzcGFuIFtpbm5lckhUTUxdPVwiY29uZmlnLm5hbWVcIj48L3NwYW4+XG4gICAgICAgIDwvaDI+XG4gICAgICAgIDxwICpuZ0lmPVwiY29uZmlnLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgPG1hcmtkb3duIFtkYXRhXT1cImNvbmZpZy5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIGVtb2ppPlxuICAgICAgICAgIDwvbWFya2Rvd24+XG4gICAgICAgIDwvcD5cbiAgICAgIDwvaW9uLWxhYmVsPlxuICAgIDwvaW9uLWl0ZW0+XG5cbiAgICA8IS0tIFZlcnNpb24gaW5mbyAtLT5cbiAgICA8aW9uLWl0ZW0+XG4gICAgICA8c3BhbiBzbG90PVwic3RhcnRcIj4mbmJzcDs8L3NwYW4+XG4gICAgICA8aW9uLWxhYmVsIGNsYXNzPVwiaW9uLXRleHQtd3JhcFwiPlxuICAgICAgICA8aDI+XG4gICAgICAgICAgPHNtYWxsICpuZ0lmPVwibmFtZVwiPnt7J0FCT1VULlBPV0VSRURfQlknfHRyYW5zbGF0ZX19PC9zbWFsbD4ge3tuYW1lfX1cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInZlcnNpb25cIiBbaW5uZXJIVE1MXT1cIidBQk9VVC5WRVJTSU9OJ3wgdHJhbnNsYXRlOiB7dmVyc2lvbjogdmVyc2lvbn1cIj48L3NwYW4+XG4gICAgICAgIDwvaDI+XG4gICAgICAgIDxwIFtpbm5lckhUTUxdPVwiJ0FCT1VULkxJQ0VOU0UnfCB0cmFuc2xhdGVcIj48L3A+XG4gICAgICA8L2lvbi1sYWJlbD5cbiAgICA8L2lvbi1pdGVtPlxuXG4gICAgPCEtLSBIZWxwIC0tPlxuICAgIDxpb24taXRlbSAqbmdJZj1cImZvcnVtVXJsIHx8IGhlbHBVcmxcIj5cbiAgICAgIDxtYXQtaWNvbiBzbG90PVwic3RhcnRcIj5oZWxwX291dGxpbmU8L21hdC1pY29uPlxuICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgPHA+XG4gICAgICAgICAge3snQUJPVVQuSEVMUCd8dHJhbnNsYXRlfX1cbiAgICAgICAgPC9wPlxuICAgICAgICA8cD5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwic29saWRcIiBjb2xvcj1cImFjY2VudFwiIGhyZWY9XCJ7e2hlbHBVcmx9fVwiIHRhcmdldD1cImhlbHBcIiBzaXplPVwiZGVmYXVsdFwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIHNsb3Q9XCJzdGFydFwiPmRlc2NyaXB0aW9uPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxpb24tdGV4dCB0cmFuc2xhdGU+QUJPVVQuVVNFUl9NQU5VQUw8L2lvbi10ZXh0PlxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwic29saWRcIiBjb2xvcj1cInNlY29uZGFyeVwiIGhyZWY9XCJ7e2ZvcnVtVXJsfX1cIiB0YXJnZXQ9XCJmb3J1bVwiIHNpemU9XCJkZWZhdWx0XCI+XG4gICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImNoYXRidWJibGVzXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDxpb24tdGV4dCB0cmFuc2xhdGU+QUJPVVQuRk9SVU08L2lvbi10ZXh0PlxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9wPlxuICAgICAgPC9pb24tbGFiZWw+XG4gICAgPC9pb24taXRlbT5cblxuICAgIDwhLS0gUmVwb3J0IGlzc3VlIC0tPlxuICAgIDxpb24taXRlbSAqbmdJZj1cInJlcG9ydElzc3VlVXJsXCI+XG4gICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImJ1Z1wiIGNvbG9yPVwiZGFya1wiPjwvaW9uLWljb24+XG4gICAgICA8aW9uLWxhYmVsPlxuICAgICAgICA8cD5cbiAgICAgICAgICB7eydBQk9VVC5SRVBPUlRfSVNTVUUnfHRyYW5zbGF0ZX19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPHA+XG4gICAgICAgICAgPGEgY29sb3I9XCJwcmltYXJ5XCIgaHJlZj1cInt7cmVwb3J0SXNzdWVVcmx9fVwiIHRhcmdldD1cIl9zeXN0ZW1cIiB0cmFuc2xhdGU+QUJPVVQuQlROX1JFUE9SVF9JU1NVRTwvYT5cbiAgICAgICAgPC9wPlxuICAgICAgPC9pb24tbGFiZWw+XG4gICAgPC9pb24taXRlbT5cblxuXG4gICAgPCEtLSBTb3VyY2UgY29kZSAtLT5cbiAgICA8aW9uLWl0ZW0gKm5nSWY9XCJzb3VyY2VVcmxcIj5cbiAgICAgIDxpb24taWNvbiBzbG90PVwic3RhcnRcIiBuYW1lPVwiY29kZVwiIGNvbG9yPVwiZGFya1wiPjwvaW9uLWljb24+XG4gICAgICA8aW9uLWxhYmVsPlxuICAgICAgICA8cD5cbiAgICAgICAgICB7eydBQk9VVC5TT1VSQ0VfQ09ERSd8dHJhbnNsYXRlfX1cbiAgICAgICAgPC9wPlxuICAgICAgICA8cD5cbiAgICAgICAgICA8YSBjb2xvcj1cInByaW1hcnlcIiBocmVmPVwie3tzb3VyY2VVcmx9fVwiIHRhcmdldD1cIl9zeXN0ZW1cIj57e3NvdXJjZVVybH19PC9hPlxuICAgICAgICA8L3A+XG4gICAgICA8L2lvbi1sYWJlbD5cbiAgICA8L2lvbi1pdGVtPlxuXG4gICAgPCEtLSBEZXZlbG9wZXJzIC0tPlxuICAgIDxpb24taXRlbSAqbmdJZj1cImRldmVsb3BlcnMgfCBpc05vdEVtcHR5QXJyYXlcIj5cbiAgICAgIDxpb24taWNvbiBzbG90PVwic3RhcnRcIiBuYW1lPVwicGVvcGxlXCIgY29sb3I9XCJkYXJrXCI+PC9pb24taWNvbj5cbiAgICAgIDxpb24tbGFiZWw+XG4gICAgICAgIDxwPlxuICAgICAgICAgIHt7J0FCT1VULkRFVkVMT1BFRF9CWSd8dHJhbnNsYXRlfX1cbiAgICAgICAgPC9wPlxuICAgICAgICA8aW9uLWxpc3QgbGluZXM9XCJub25lXCI+XG4gICAgICAgICAgPGlvbi1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRldmVsb3BlcnNcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCI+XG4gICAgICAgICAgICA8aW1nIHNsb3Q9XCJlbmRcIiBzcmM9XCJ7e2l0ZW0ubG9nb319XCI+XG4gICAgICAgICAgICA8aW9uLWxhYmVsPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICA8YSBjb2xvcj1cInByaW1hcnlcIiBocmVmPVwie3tpdGVtLnNpdGVVcmx9fVwiIHRhcmdldD1cIl9zeXN0ZW1cIj57e2l0ZW0ubmFtZXx8aXRlbS5sYWJlbH19PC9hPlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICA8L2lvbi1saXN0PlxuICAgICAgPC9pb24tbGFiZWw+XG4gICAgPC9pb24taXRlbT5cblxuICAgIDwhLS0gUGFydG5lcnMgLS0+XG4gICAgPGlvbi1pdGVtIGNsYXNzPVwiaXRlbS1wYXJ0bmVyc1wiICpuZ0lmPVwicGFydG5lcnMgfCBpc05vdEVtcHR5QXJyYXlcIj5cbiAgICAgIDxpb24taWNvbiBzbG90PVwic3RhcnRcIiBuYW1lPVwibWVnYXBob25lXCIgY29sb3I9XCJkYXJrXCI+PC9pb24taWNvbj5cbiAgICAgIDxpb24tdGV4dD5cbiAgICAgICAgPHA+e3snQUJPVVQuUEFSVE5FUlMnfHRyYW5zbGF0ZX19PC9wPlxuICAgICAgICA8cD5cbiAgICAgICAgICA8YSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwYXJ0bmVyc1wiIGhyZWY9XCJ7e2l0ZW0uc2l0ZVVybH19XCIgY2xhc3M9XCJwYXJ0bmVyc1wiIHRhcmdldD1cIl9zeXN0ZW1cIj5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwie3tpdGVtLmxvZ299fVwiPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9wPlxuICAgICAgPC9pb24tdGV4dD5cbiAgICA8L2lvbi1pdGVtPlxuICA8L2lvbi1saXN0PlxuXG48L2lvbi1jb250ZW50PlxuXG48aW9uLWZvb3RlciBoaWRkZW4teHMgaGlkZGVuLXNtIGhpZGRlbi1tb2JpbGU+XG4gIDxpb24tdG9vbGJhcj5cbiAgICA8aW9uLXJvdyBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCIgbm93cmFwPlxuICAgICAgPGlvbi1jb2w+PC9pb24tY29sPlxuICAgICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj5cbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cInNvbGlkXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiIChjbGljayk9XCJjbG9zZSgpXCI+e3snQ09NTU9OLkJUTl9DTE9TRSd8dHJhbnNsYXRlfX08L2lvbi1idXR0b24+XG4gICAgICA8L2lvbi1jb2w+XG4gICAgPC9pb24tcm93PlxuICA8L2lvbi10b29sYmFyPlxuPC9pb24tZm9vdGVyPlxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQubW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvYWJvdXQvYWJvdXQubW9kYWwudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvYWJvdXQvYWJvdXQubW9kYWwuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUs3RCxPQUFPLEVBQWEsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7QUFFbkUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQXdCLGlCQUFpQixDQUFDLENBQUM7QUFDakcsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQXdCLGVBQWUsQ0FBQyxDQUFDO0FBTzdGLE1BQU0sT0FBTyxVQUFVO0lBYVQ7SUFDQTtJQUNBO0lBQ2lDO0lBQ007SUFDRjtJQWhCeEMsSUFBSSxDQUFTO0lBQ2IsT0FBTyxDQUFTO0lBQ2hCLFNBQVMsQ0FBUztJQUNsQixjQUFjLENBQVM7SUFDdkIsT0FBTyxDQUE0QjtJQUM1QyxRQUFRLENBQVM7SUFDakIsT0FBTyxDQUFTO0lBRUMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFcEQsWUFDWSxTQUEyQixFQUMzQixlQUFnQyxFQUNoQyxhQUE0QixFQUNLLFdBQVcsRUFDTCxVQUFpQyxFQUNuQyxRQUErQjtRQUxwRSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDSyxnQkFBVyxHQUFYLFdBQVcsQ0FBQTtRQUNMLGVBQVUsR0FBVixVQUFVLENBQXVCO1FBQ25DLGFBQVEsR0FBUixRQUFRLENBQXVCO1FBRTlFLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDN0Isa0RBQWtEO1lBQ2xELElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxJQUFJLFdBQVcsQ0FBQyxJQUFJLElBQUkscUJBQXFCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUN0RyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxHQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDO1FBQ3RELElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUM7UUFDaEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUNwRCxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUVwQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQ3pELENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1AsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCwrQkFBK0I7SUFFckIsU0FBUyxDQUFDLE1BQXNCO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxFQUFFLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUNoRyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sRUFBRSxXQUFXLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDL0YsQ0FBQzt1R0FsRFUsVUFBVSw4R0FnQkMsV0FBVyw2QkFDWCxvQkFBb0IsNkJBQ3BCLGtCQUFrQjsyRkFsQjdCLFVBQVUsdURDbkJ2Qix5NklBNElBOzsyRkR6SGEsVUFBVTtrQkFMdEIsU0FBUzsrQkFDRSxpQkFBaUI7OzBCQW9CeEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxXQUFXOzswQkFDOUIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUN2QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIEluamVjdGlvblRva2VuLCBPbkRlc3Ryb3ksIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TW9kYWxDb250cm9sbGVyfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge0VOVklST05NRU5UfSBmcm9tICcuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQuY2xhc3MnO1xuaW1wb3J0IHtjYXBpdGFsaXplRmlyc3RMZXR0ZXJ9IGZyb20gJy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHtEZXBhcnRtZW50fSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9kZXBhcnRtZW50Lm1vZGVsJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7Q29uZmlndXJhdGlvbn0gZnJvbSAnLi4vc2VydmljZXMvbW9kZWwvY29uZmlnLm1vZGVsJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q09SRV9DT05GSUdfT1BUSU9OU30gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnL2NvcmUuY29uZmlnJztcblxuZXhwb3J0IGNvbnN0IEFQUF9BQk9VVF9ERVZFTE9QRVJTID0gbmV3IEluamVjdGlvblRva2VuPFBhcnRpYWw8RGVwYXJ0bWVudD5bXT4oJ2Fib3V0RGV2ZWxvcGVycycpO1xuZXhwb3J0IGNvbnN0IEFQUF9BQk9VVF9QQVJUTkVSUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQYXJ0aWFsPERlcGFydG1lbnQ+W10+KCdhYm91dFBhcnRuZXJzJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hYm91dC1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hYm91dC5tb2RhbC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWJvdXQubW9kYWwuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFib3V0TW9kYWwgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuICByZWFkb25seSBzb3VyY2VVcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgcmVwb3J0SXNzdWVVcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgY29uZmlnJDogT2JzZXJ2YWJsZTxDb25maWd1cmF0aW9uPjtcbiAgZm9ydW1Vcmw6IHN0cmluZztcbiAgaGVscFVybDogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBtb2RhbENvbnRyb2xsZXI6IE1vZGFsQ29udHJvbGxlcixcbiAgICBwcm90ZWN0ZWQgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEVOVklST05NRU5UKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBUFBfQUJPVVRfREVWRUxPUEVSUykgcHVibGljIGRldmVsb3BlcnM6IFBhcnRpYWw8RGVwYXJ0bWVudD5bXSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFQUF9BQk9VVF9QQVJUTkVSUykgcHVibGljIHBhcnRuZXJzOiBQYXJ0aWFsPERlcGFydG1lbnQ+W11cbiAgKSB7XG4gICAgdGhpcy5uYW1lID0gdHJhbnNsYXRlLmluc3RhbnQoJ0FQUF9OQU1FJyk7XG4gICAgaWYgKHRoaXMubmFtZSA9PT0gJ0FQUF9OQU1FJykge1xuICAgICAgLy8gTm90IHRyYW5zbGF0ZWQ6IHVzZSBuYW1lIGZyb20gdGhlIGVudmlyb25uZW1lbnRcbiAgICAgIHRoaXMubmFtZSA9IGVudmlyb25tZW50ICYmIGVudmlyb25tZW50Lm5hbWUgJiYgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGVudmlyb25tZW50Lm5hbWUpIHx8IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy52ZXJzaW9uID0gZW52aXJvbm1lbnQgJiYgZW52aXJvbm1lbnQudmVyc2lvbjtcbiAgICB0aGlzLnNvdXJjZVVybCA9IGVudmlyb25tZW50ICYmIGVudmlyb25tZW50LnNvdXJjZVVybDtcbiAgICB0aGlzLnJlcG9ydElzc3VlVXJsID0gZW52aXJvbm1lbnQgJiYgZW52aXJvbm1lbnQucmVwb3J0SXNzdWVVcmw7XG4gICAgdGhpcy5mb3J1bVVybCA9IGVudmlyb25tZW50ICYmIGVudmlyb25tZW50LmZvcnVtVXJsO1xuICAgIHRoaXMuaGVscFVybCA9IGVudmlyb25tZW50ICYmIGVudmlyb25tZW50LmhlbHBVcmw7XG4gICAgdGhpcy5jb25maWckID0gY29uZmlnU2VydmljZS5jb25maWc7XG5cbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5jb25maWckLnN1YnNjcmliZShjb25maWcgPT4gdGhpcy5zZXRDb25maWcoY29uZmlnKSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBhc3luYyBjbG9zZSgpIHtcbiAgICAgIGF3YWl0IHRoaXMubW9kYWxDb250cm9sbGVyLmRpc21pc3MoKTtcbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBmdW5jdGlvbnMgLS0gKi9cblxuICBwcm90ZWN0ZWQgc2V0Q29uZmlnKGNvbmZpZz86IENvbmZpZ3VyYXRpb24pIHtcbiAgICB0aGlzLmZvcnVtVXJsID0gY29uZmlnPy5nZXRQcm9wZXJ0eShDT1JFX0NPTkZJR19PUFRJT05TLkZPUlVNX1VSTCkgfHwgdGhpcy5lbnZpcm9ubWVudC5mb3J1bVVybDtcbiAgICB0aGlzLmhlbHBVcmwgPSBjb25maWc/LmdldFByb3BlcnR5KENPUkVfQ09ORklHX09QVElPTlMuSEVMUF9VUkwpIHx8IHRoaXMuZW52aXJvbm1lbnQuaGVscFVybDtcbiAgfVxufVxuIiwiPGlvbi1oZWFkZXI+XG4gIDxpb24tdG9vbGJhciBjb2xvcj1cImxpZ2h0XCI+XG5cbiAgICA8aW9uLXRpdGxlPlxuICAgICAge3snQUJPVVQuVElUTEUnfHRyYW5zbGF0ZX19XG4gICAgPC9pb24tdGl0bGU+XG5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImNsb3NlKClcIiB2aXNpYmxlLXhzIHZpc2libGUtc20gdmlzaWJsZS1tb2JpbGU+XG4gICAgICAgIHt7J0NPTU1PTi5CVE5fQ0xPU0UnfHRyYW5zbGF0ZX19XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgPC9pb24tYnV0dG9ucz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cblxuPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cblxuICA8aW9uLWxpc3QgbGluZXM9XCJub25lXCI+XG5cbiAgICA8IS0tIFBlZXIgaW5mbyAtLT5cbiAgICA8aW9uLWl0ZW0gKm5nSWY9XCJjb25maWckIHwgYXN5bmM7IGxldCBjb25maWdcIj5cbiAgICAgIDxzcGFuIHNsb3Q9XCJzdGFydFwiPiZuYnNwOzwvc3Bhbj5cbiAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC13cmFwXCIgPlxuICAgICAgICA8aDI+XG4gICAgICAgICAgPGI+e3tjb25maWcubGFiZWx9fTwvYj4gLSA8c3BhbiBbaW5uZXJIVE1MXT1cImNvbmZpZy5uYW1lXCI+PC9zcGFuPlxuICAgICAgICA8L2gyPlxuICAgICAgICA8cCAqbmdJZj1cImNvbmZpZy5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgIDxtYXJrZG93biBbZGF0YV09XCJjb25maWcuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICBlbW9qaT5cbiAgICAgICAgICA8L21hcmtkb3duPlxuICAgICAgICA8L3A+XG4gICAgICA8L2lvbi1sYWJlbD5cbiAgICA8L2lvbi1pdGVtPlxuXG4gICAgPCEtLSBWZXJzaW9uIGluZm8gLS0+XG4gICAgPGlvbi1pdGVtPlxuICAgICAgPHNwYW4gc2xvdD1cInN0YXJ0XCI+Jm5ic3A7PC9zcGFuPlxuICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImlvbi10ZXh0LXdyYXBcIj5cbiAgICAgICAgPGgyPlxuICAgICAgICAgIDxzbWFsbCAqbmdJZj1cIm5hbWVcIj57eydBQk9VVC5QT1dFUkVEX0JZJ3x0cmFuc2xhdGV9fTwvc21hbGw+IHt7bmFtZX19XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJ2ZXJzaW9uXCIgW2lubmVySFRNTF09XCInQUJPVVQuVkVSU0lPTid8IHRyYW5zbGF0ZToge3ZlcnNpb246IHZlcnNpb259XCI+PC9zcGFuPlxuICAgICAgICA8L2gyPlxuICAgICAgICA8cCBbaW5uZXJIVE1MXT1cIidBQk9VVC5MSUNFTlNFJ3wgdHJhbnNsYXRlXCI+PC9wPlxuICAgICAgPC9pb24tbGFiZWw+XG4gICAgPC9pb24taXRlbT5cblxuICAgIDwhLS0gSGVscCAtLT5cbiAgICA8aW9uLWl0ZW0gKm5nSWY9XCJmb3J1bVVybCB8fCBoZWxwVXJsXCI+XG4gICAgICA8bWF0LWljb24gc2xvdD1cInN0YXJ0XCI+aGVscF9vdXRsaW5lPC9tYXQtaWNvbj5cbiAgICAgIDxpb24tbGFiZWw+XG4gICAgICAgIDxwPlxuICAgICAgICAgIHt7J0FCT1VULkhFTFAnfHRyYW5zbGF0ZX19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPHA+XG4gICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cInNvbGlkXCIgY29sb3I9XCJhY2NlbnRcIiBocmVmPVwie3toZWxwVXJsfX1cIiB0YXJnZXQ9XCJoZWxwXCIgc2l6ZT1cImRlZmF1bHRcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBzbG90PVwic3RhcnRcIj5kZXNjcmlwdGlvbjwvbWF0LWljb24+XG4gICAgICAgICAgICA8aW9uLXRleHQgdHJhbnNsYXRlPkFCT1VULlVTRVJfTUFOVUFMPC9pb24tdGV4dD5cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cInNvbGlkXCIgY29sb3I9XCJzZWNvbmRhcnlcIiBocmVmPVwie3tmb3J1bVVybH19XCIgdGFyZ2V0PVwiZm9ydW1cIiBzaXplPVwiZGVmYXVsdFwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJjaGF0YnViYmxlc1wiPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8aW9uLXRleHQgdHJhbnNsYXRlPkFCT1VULkZPUlVNPC9pb24tdGV4dD5cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDwvcD5cbiAgICAgIDwvaW9uLWxhYmVsPlxuICAgIDwvaW9uLWl0ZW0+XG5cbiAgICA8IS0tIFJlcG9ydCBpc3N1ZSAtLT5cbiAgICA8aW9uLWl0ZW0gKm5nSWY9XCJyZXBvcnRJc3N1ZVVybFwiPlxuICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJidWdcIiBjb2xvcj1cImRhcmtcIj48L2lvbi1pY29uPlxuICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgPHA+XG4gICAgICAgICAge3snQUJPVVQuUkVQT1JUX0lTU1VFJ3x0cmFuc2xhdGV9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxwPlxuICAgICAgICAgIDxhIGNvbG9yPVwicHJpbWFyeVwiIGhyZWY9XCJ7e3JlcG9ydElzc3VlVXJsfX1cIiB0YXJnZXQ9XCJfc3lzdGVtXCIgdHJhbnNsYXRlPkFCT1VULkJUTl9SRVBPUlRfSVNTVUU8L2E+XG4gICAgICAgIDwvcD5cbiAgICAgIDwvaW9uLWxhYmVsPlxuICAgIDwvaW9uLWl0ZW0+XG5cblxuICAgIDwhLS0gU291cmNlIGNvZGUgLS0+XG4gICAgPGlvbi1pdGVtICpuZ0lmPVwic291cmNlVXJsXCI+XG4gICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImNvZGVcIiBjb2xvcj1cImRhcmtcIj48L2lvbi1pY29uPlxuICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgPHA+XG4gICAgICAgICAge3snQUJPVVQuU09VUkNFX0NPREUnfHRyYW5zbGF0ZX19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPHA+XG4gICAgICAgICAgPGEgY29sb3I9XCJwcmltYXJ5XCIgaHJlZj1cInt7c291cmNlVXJsfX1cIiB0YXJnZXQ9XCJfc3lzdGVtXCI+e3tzb3VyY2VVcmx9fTwvYT5cbiAgICAgICAgPC9wPlxuICAgICAgPC9pb24tbGFiZWw+XG4gICAgPC9pb24taXRlbT5cblxuICAgIDwhLS0gRGV2ZWxvcGVycyAtLT5cbiAgICA8aW9uLWl0ZW0gKm5nSWY9XCJkZXZlbG9wZXJzIHwgaXNOb3RFbXB0eUFycmF5XCI+XG4gICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cInBlb3BsZVwiIGNvbG9yPVwiZGFya1wiPjwvaW9uLWljb24+XG4gICAgICA8aW9uLWxhYmVsPlxuICAgICAgICA8cD5cbiAgICAgICAgICB7eydBQk9VVC5ERVZFTE9QRURfQlknfHRyYW5zbGF0ZX19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGlvbi1saXN0IGxpbmVzPVwibm9uZVwiPlxuICAgICAgICAgIDxpb24taXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkZXZlbG9wZXJzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgICAgICAgICAgPGltZyBzbG90PVwiZW5kXCIgc3JjPVwie3tpdGVtLmxvZ299fVwiPlxuICAgICAgICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgPGEgY29sb3I9XCJwcmltYXJ5XCIgaHJlZj1cInt7aXRlbS5zaXRlVXJsfX1cIiB0YXJnZXQ9XCJfc3lzdGVtXCI+e3tpdGVtLm5hbWV8fGl0ZW0ubGFiZWx9fTwvYT5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgPC9pb24tbGlzdD5cbiAgICAgIDwvaW9uLWxhYmVsPlxuICAgIDwvaW9uLWl0ZW0+XG5cbiAgICA8IS0tIFBhcnRuZXJzIC0tPlxuICAgIDxpb24taXRlbSBjbGFzcz1cIml0ZW0tcGFydG5lcnNcIiAqbmdJZj1cInBhcnRuZXJzIHwgaXNOb3RFbXB0eUFycmF5XCI+XG4gICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cIm1lZ2FwaG9uZVwiIGNvbG9yPVwiZGFya1wiPjwvaW9uLWljb24+XG4gICAgICA8aW9uLXRleHQ+XG4gICAgICAgIDxwPnt7J0FCT1VULlBBUlRORVJTJ3x0cmFuc2xhdGV9fTwvcD5cbiAgICAgICAgPHA+XG4gICAgICAgICAgPGEgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcGFydG5lcnNcIiBocmVmPVwie3tpdGVtLnNpdGVVcmx9fVwiIGNsYXNzPVwicGFydG5lcnNcIiB0YXJnZXQ9XCJfc3lzdGVtXCI+XG4gICAgICAgICAgICA8aW1nIHNyYz1cInt7aXRlbS5sb2dvfX1cIj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvcD5cbiAgICAgIDwvaW9uLXRleHQ+XG4gICAgPC9pb24taXRlbT5cbiAgPC9pb24tbGlzdD5cblxuPC9pb24tY29udGVudD5cblxuPGlvbi1mb290ZXIgaGlkZGVuLXhzIGhpZGRlbi1zbSBoaWRkZW4tbW9iaWxlPlxuICA8aW9uLXRvb2xiYXI+XG4gICAgPGlvbi1yb3cgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiIG5vd3JhcD5cbiAgICAgIDxpb24tY29sPjwvaW9uLWNvbD5cbiAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG4gICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJzb2xpZFwiIGNvbG9yPVwidGVydGlhcnlcIiAoY2xpY2spPVwiY2xvc2UoKVwiPnt7J0NPTU1PTi5CVE5fQ0xPU0UnfHRyYW5zbGF0ZX19PC9pb24tYnV0dG9uPlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWZvb3Rlcj5cbiJdfQ==
@@ -334,4 +334,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
334
334
  type: ViewChild,
335
335
  args: ['tokensTable', { static: true }]
336
336
  }] } });
337
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2FjY291bnQvYWNjb3VudC5wYWdlLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2FjY291bnQvYWNjb3VudC5wYWdlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsTUFBTSxFQUErQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUFFLGFBQWEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFELE9BQU8sRUFBd0MsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBK0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUc1RixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBc0IsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUzlELE1BQU0sT0FBTyxXQUFZLFNB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QyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekIsQ0FBQzt1R0F0VVUsV0FBVywwUUE4Q1osV0FBVzsyRkE5Q1YsV0FBVyxpYUNoQ3hCLHVqVkF3UEE7OzJGRHhOYSxXQUFXO2tCQU52QixTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNOzswQkFnRDVDLE1BQU07MkJBQUMsV0FBVzt5Q0E3Q29CLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDUyxlQUFlO3NCQUE5RCxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRixXQUFXO3NCQUF0RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FjY291bnQuc2VydmljZSc7XG5pbXBvcnQgeyBBY2NvdW50IH0gZnJvbSAnLi4vc2VydmljZXMvbW9kZWwvYWNjb3VudC5tb2RlbCc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY2NvdW50VmFsaWRhdG9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3ZhbGlkYXRvci9hY2NvdW50LnZhbGlkYXRvcic7XG5pbXBvcnQgeyBBcHBGb3JtIH0gZnJvbSAnLi4vZm9ybS9mb3JtLmNsYXNzJztcbmltcG9ydCB7IEFwcEZvcm1VdGlscyB9IGZyb20gJy4uL2Zvcm0vZm9ybS51dGlscyc7XG5pbXBvcnQgeyBGb3JtRmllbGREZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Zvcm0vZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgTEFUX0xPTkdfUEFUVEVSTlMgfSBmcm9tICcuLi8uLi9zaGFyZWQvbWF0ZXJpYWwvbGF0bG9uZy9sYXRsb25nLnV0aWxzJztcbmltcG9ydCB7IFN0YXR1c0lkcyB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL21vZGVsLmVudW0nO1xuaW1wb3J0IHsgQVBQX0xPQ0FMRVMsIExvY2FsZUNvbmZpZywgTG9jYWxTZXR0aW5ncyB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL3NldHRpbmdzLm1vZGVsJztcbmltcG9ydCB7IENhbkxlYXZlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2d1YXJkL2NvbXBvbmVudC1kaXJ0eS5ndWFyZCc7XG5pbXBvcnQgeyBOZXR3b3JrU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25ldHdvcmsuc2VydmljZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1hdFRhYkdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ09SRV9DT05GSUdfT1BUSU9OUyB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy9jb3JlLmNvbmZpZyc7XG5pbXBvcnQgeyBBcHBQcm9wZXJ0aWVzVGFibGUsIFByb3BlcnR5RW50aXR5IH0gZnJvbSAnLi4vZm9ybS9wcm9wZXJ0aWVzL3Byb3BlcnRpZXMudGFibGUnO1xuaW1wb3J0IHsgUHJvcGVydGllc01hcCB9IGZyb20gJy4uLy4uL3NoYXJlZC90eXBlcyc7XG5pbXBvcnQgeyBpc05vdE5pbCB9IGZyb20gJy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgVXNlclRva2VuVGFibGUgfSBmcm9tICcuL3Rva2VuLnRhYmxlJztcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge2Vudmlyb25tZW50fSBmcm9tICcuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL2NvbmZpZy5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hY2NvdW50LXBhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJ2FjY291bnQucGFnZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWNjb3VudC5wYWdlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRQYWdlIGV4dGVuZHMgQXBwRm9ybTxBY2NvdW50PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDYW5MZWF2ZSB7XG4gIEBWaWV3Q2hpbGQoJ3RhYkdyb3VwJywgeyBzdGF0aWM6IHRydWUgfSkgdGFiR3JvdXA6IE1hdFRhYkdyb3VwO1xuICBAVmlld0NoaWxkKCdwcm9wZXJ0aWVzVGFibGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwcm9wZXJ0aWVzVGFibGU6IEFwcFByb3BlcnRpZXNUYWJsZTtcbiAgQFZpZXdDaGlsZCgndG9rZW5zVGFibGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSB0b2tlbnNUYWJsZTogVXNlclRva2VuVGFibGU7XG5cbiAgc2VsZWN0ZWRUYWJJbmRleCA9IDA7XG4gIGlzTG9naW46IGJvb2xlYW47XG4gIGNoYW5nZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgbmV0d29ya1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBlbWFpbDogYW55ID0ge1xuICAgIGNvbmZpcm1lZDogZmFsc2UsXG4gICAgbm90Q29uZmlybWVkOiBmYWxzZSxcbiAgICBzZW5kaW5nOiBmYWxzZSxcbiAgICBlcnJvcjogdW5kZWZpbmVkLFxuICB9O1xuICBhZGRpdGlvbmFsRmllbGRzOiBGb3JtRmllbGREZWZpbml0aW9uW107XG4gIG9wdGlvbkRlZmluaXRpb25zOiBGb3JtRmllbGREZWZpbml0aW9uW107XG5cbiAgZ2V0IHNldHRpbmdzRm9ybSgpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgnc2V0dGluZ3MnKSBhcyBVbnR5cGVkRm9ybUdyb3VwO1xuICB9XG5cbiAgLy8gc2V0dGluZ3NDb250ZW50Rm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgbG9jYWxlczogTG9jYWxlQ29uZmlnW107XG4gIGxhdExvbmdGb3JtYXRzID0gTEFUX0xPTkdfUEFUVEVSTlM7XG4gIHNhdmluZyA9IGZhbHNlO1xuICBzdWJtaXR0ZWQgPSBmYWxzZTtcbiAgYWNjb3VudFJlYWRPbmx5ID0gZmFsc2U7XG4gIHJlYWRvbmx5IG1vYmlsZTogYm9vbGVhbjtcblxuICBnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLnZhbGlkICYmICh0aGlzLnByb3BlcnRpZXNUYWJsZT8udmFsaWQgfHwgdHJ1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2hvd0FwaVRva2VucyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwdWJsaWMgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwdWJsaWMgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlLFxuICAgIHB1YmxpYyBuZXR3b3JrOiBOZXR3b3JrU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgbmF2Q29udHJvbGxlcjogTmF2Q29udHJvbGxlcixcbiAgICBwcm90ZWN0ZWQgdmFsaWRhdG9yU2VydmljZTogQWNjb3VudFZhbGlkYXRvclNlcnZpY2UsXG4gICAgLy8gcHJvdGVjdGVkIHNldHRpbmdzVmFsaWRhdG9yU2VydmljZTogVXNlclNldHRpbmdzVmFsaWRhdG9yU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBJbmplY3QoQVBQX0xPQ0FMRVMpIGxvY2FsZXM6IExvY2FsZUNvbmZpZ1tdXG4gICkge1xuICAgIHN1cGVyKGluamVjdG9yLCB2YWxpZGF0b3JTZXJ2aWNlLmdldEZvcm1Hcm91cChhY2NvdW50U2VydmljZS5hY2NvdW50KSk7XG5cbiAgICB0aGlzLmxvY2FsZXMgPSBsb2NhbGVzO1xuXG4gICAgLy8gQWRkIHNldHRpbmdzIGZvIGZvcm1cbiAgICAvLyB0aGlzLnNldHRpbmdzRm9ybSA9IHNldHRpbmdzVmFsaWRhdG9yU2VydmljZS5nZXRGb3JtR3JvdXAoYWNjb3VudFNlcnZpY2UuYWNjb3VudCAmJiBhY2NvdW50U2VydmljZS5hY2NvdW50LnNldHRpbmdzKTtcbiAgICAvLyB0aGlzLnNldHRpbmdzQ29udGVudEZvcm0gPSAodGhpcy5zZXR0aW5nc0Zvcm0uY29udHJvbHNbJ2NvbnRlbnQnXSBhcyBVbnR5cGVkRm9ybUdyb3VwKTtcbiAgICAvLyB0aGlzLmZvcm0uYWRkQ29udHJvbCgnc2V0dGluZ3MnLCB0aGlzLnNldHRpbmdzRm9ybSk7XG5cbiAgICB0aGlzLm1vYmlsZSA9IHRoaXMuc2V0dGluZ3MubW9iaWxlO1xuICAgIHRoaXMuZGVidWcgPSAhZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcblxuICAgIC8vIEJ5IGRlZmF1bHQsIGRpc2FibGUgdGhlIGZvcm1cbiAgICB0aGlzLmRpc2FibGUoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAvLyBHZXQgdXNlciBvcHRpb25zXG4gICAgdGhpcy5vcHRpb25EZWZpbml0aW9ucyA9IHRoaXMuYWNjb3VudFNlcnZpY2Uub3B0aW9uRGVmc1xuICAgICAgLnNsaWNlKClcbiAgICAgIC5maWx0ZXIoKGRlZmluaXRpb24pID0+ICFkZWZpbml0aW9uLmRpc2FibGVkICYmICghZGVmaW5pdGlvbi5taW5Qcm9maWxlIHx8IHRoaXMuYWNjb3VudFNlcnZpY2UuaGFzTWluUHJvZmlsZShkZWZpbml0aW9uLm1pblByb2ZpbGUpKSk7XG5cbiAgICAvLyBPYnNlcnZlZCBzb21lIGV2ZW50c1xuICAgIHRoaXMucmVnaXN0ZXJTdWJzY3JpcHRpb24odGhpcy5hY2NvdW50U2VydmljZS5vbkxvZ2luLnBpcGUoZmlsdGVyKCgpID0+ICF0aGlzLnNhdmluZykpLnN1YnNjcmliZSgoYWNjb3VudCkgPT4gdGhpcy5vbkxvZ2luKGFjY291bnQpKSk7XG4gICAgdGhpcy5yZWdpc3RlclN1YnNjcmlwdGlvbih0aGlzLmFjY291bnRTZXJ2aWNlLm9uTG9nb3V0LnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uTG9nb3V0KCkpKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3Vic2NyaXB0aW9uKFxuICAgICAgdGhpcy5vbkNhbmNlbC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNldFZhbHVlKHRoaXMuYWNjb3VudFNlcnZpY2UuYWNjb3VudCk7XG4gICAgICAgIHRoaXMubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMucmVnaXN0ZXJTdWJzY3JpcHRpb24oXG4gICAgICB0aGlzLmFjY291bnRTZXJ2aWNlLiRhZGRpdGlvbmFsRmllbGRzLnN1YnNjcmliZSgoYWRkaXRpb25hbEZpZWxkcykgPT4ge1xuICAgICAgICB0aGlzLmFkZGl0aW9uYWxGaWVsZHMgPSBhZGRpdGlvbmFsRmllbGRzLnNsaWNlKCk7IC8vIENvcHlcbiAgICAgICAgaWYgKHRoaXMuYWNjb3VudFNlcnZpY2UuaXNMb2dpbigpKSB7XG4gICAgICAgICAgdGhpcy5vbkxvZ2luKHRoaXMuYWNjb3VudFNlcnZpY2UuYWNjb3VudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5tYXJrQXNMb2FkZWQoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5yZWdpc3RlclN1YnNjcmlwdGlvbih0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLnN1YnNjcmliZSgoY29uZmlnKSA9PiB0aGlzLm9uQ29uZmlnTG9hZGVkKGNvbmZpZykpKTtcblxuICAgIC8vIFJlYWxpZ24gdGFiLCBhZnRlciBhIGRlbGF5IGJlY2F1c2UgdGhlIHRhYiBjYW4gYmUgZGlzYWJsZWQgd2hlbiBjb21wb25lbnQgaXMgY3JlYXRlZFxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy50YWJHcm91cC5yZWFsaWduSW5rQmFyKCksIDUwMCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuc3RvcExpc3RlbkNoYW5nZXMoKTtcbiAgICB0aGlzLm5ldHdvcmtTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvbkxvZ2luKGFjY291bnQ6IEFjY291bnQpIHtcbiAgICBjb25zb2xlLmRlYnVnKCdbYWNjb3VudF0gTG9nZ2VkIGFjY291bnQ6ICcsIGFjY291bnQpO1xuICAgIHRoaXMuaXNMb2dpbiA9IHRydWU7XG5cbiAgICB0aGlzLnNldFZhbHVlKGFjY291bnQpO1xuXG4gICAgdGhpcy5lbWFpbC5jb25maXJtZWQgPSBhY2NvdW50ICYmIGFjY291bnQuZW1haWwgJiYgYWNjb3VudC5zdGF0dXNJZCAhPT0gU3RhdHVzSWRzLlRFTVBPUkFSWTtcbiAgICB0aGlzLmVtYWlsLm5vdENvbmZpcm1lZCA9IGFjY291bnQgJiYgYWNjb3VudC5lbWFpbCAmJiAoIWFjY291bnQuc3RhdHVzSWQgfHwgYWNjb3VudC5zdGF0dXNJZCA9PT0gU3RhdHVzSWRzLlRFTVBPUkFSWSk7XG5cbiAgICB0aGlzLm5ldHdvcmtTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5uZXR3b3JrU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLFxuICAgICAgdGhpcy5uZXR3b3JrLm9uTmV0d29ya1N0YXR1c0NoYW5nZXMucGlwZShtYXAoKGNvbm5lY3Rpb25UeXBlKSA9PiBjb25uZWN0aW9uVHlwZSAhPT0gJ25vbmUnKSksXG4gICAgXSkuc3Vic2NyaWJlKChbY29uZmlnLCBvbmxpbmVdKSA9PiB7XG4gICAgICB0aGlzLm9uQ29uZmlnTG9hZGVkKGNvbmZpZyk7XG5cbiAgICAgIGlmIChvbmxpbmUpIHtcbiAgICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICAgICAgdGhpcy5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgICB0aGlzLnN0YXJ0TGlzdGVuQ2hhbmdlcygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgICAgdGhpcy5zdG9wTGlzdGVuQ2hhbmdlcygpO1xuICAgICAgfVxuICAgICAgdGhpcy5tYXJrQXNMb2FkZWQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkxvZ291dCgpIHtcbiAgICB0aGlzLmlzTG9naW4gPSBmYWxzZTtcbiAgICB0aGlzLmVtYWlsLmNvbmZpcm1lZCA9IGZhbHNlO1xuICAgIHRoaXMuZW1haWwubm90Q29uZmlybWVkID0gZmFsc2U7XG4gICAgdGhpcy5lbWFpbC5zZW5kaW5nID0gZmFsc2U7XG4gICAgdGhpcy5lbWFpbC5lcnJvciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICB0aGlzLmRpc2FibGUoKTtcblxuICAgIHRoaXMubmV0d29ya1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuc3RvcExpc3RlbkNoYW5nZXMoKTtcblxuICAgIC8vIEJhY2sgdG8gaG9tZVxuICAgIHRoaXMubmF2Q29udHJvbGxlci5uYXZpZ2F0ZVJvb3QoJy8nKTtcbiAgfVxuXG4gIGFzeW5jIHNldFZhbHVlKGRhdGE6IEFjY291bnQsIG9wdHM/OiB7IGVtaXRFdmVudD86IGJvb2xlYW47IG9ubHlTZWxmPzogYm9vbGVhbiB9KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3VwZXIuc2V0VmFsdWUoZGF0YSwgb3B0cyk7XG5cbiAgICAvLyBTZXQgb3B0aW9uc1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBkYXRhPy5zZXR0aW5ncz8uYXNMb2NhbFNldHRpbmdzKCk/LnByb3BlcnRpZXMgfHwge307XG4gICAgY29uc3QgcHJvcGVydGllc0VudGl0aWVzOiBQcm9wZXJ0eUVudGl0eVtdID0gW107XG4gICAgdGhpcy5vcHRpb25EZWZpbml0aW9uc1xuICAgICAgLm1hcCgoZGVmaW5pdGlvbikgPT4gZGVmaW5pdGlvbi5rZXkpXG4gICAgICAuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGlmIChpc05vdE5pbChwcm9wZXJ0aWVzW2tleV0pKSB7XG4gICAgICAgICAgcHJvcGVydGllc0VudGl0aWVzLnB1c2goUHJvcGVydHlFbnRpdHkuZnJvbU9iamVjdCh7IGlkOiBrZXksIHZhbHVlOiBwcm9wZXJ0aWVzW2tleV0gfSkpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLnByb3BlcnRpZXNUYWJsZSkge1xuICAgICAgYXdhaXQgdGhpcy5wcm9wZXJ0aWVzVGFibGUucmVhZHkoKTtcbiAgICAgIHRoaXMucHJvcGVydGllc1RhYmxlLnZhbHVlID0gcHJvcGVydGllc0VudGl0aWVzO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRva2Vuc1RhYmxlKSB7XG4gICAgICBhd2FpdCB0aGlzLnRva2Vuc1RhYmxlLnJlYWR5KCk7XG4gICAgICB0aGlzLnRva2Vuc1RhYmxlLnZhbHVlID0gZGF0YS50b2tlbnM7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmVmcmVzaChfPzogRXZlbnQpIHtcbiAgICB0aGlzLmRpc2FibGUoKTtcbiAgICB0aGlzLm1hcmtBc0xvYWRpbmcoKTtcblxuICAgIHJldHVybiB0aGlzLmFjY291bnRTZXJ2aWNlLnJlbG9hZCgpO1xuICB9XG5cbiAgc3RhcnRMaXN0ZW5DaGFuZ2VzKCkge1xuICAgIGlmICh0aGlzLmNoYW5nZXNTdWJzY3JpcHRpb24pIHJldHVybjsgLy8gYWxyZWFkeSBzdGFydGVkXG4gICAgdGhpcy5jaGFuZ2VzU3Vic2NyaXB0aW9uID0gdGhpcy5hY2NvdW50U2VydmljZS5saXN0ZW5DaGFuZ2VzKCk7XG4gIH1cblxuICBzdG9wTGlzdGVuQ2hhbmdlcygpIHtcbiAgICBpZiAoIXRoaXMuY2hhbmdlc1N1YnNjcmlwdGlvbikgcmV0dXJuO1xuICAgIHRoaXMuY2hhbmdlc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuY2hhbmdlc1N1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGFzeW5jIHNlbmRDb25maXJtYXRpb25FbWFpbChldmVudDogTW91c2VFdmVudCkge1xuICAgIGNvbnN0IGpzb24gPSB0aGlzLmZvcm0udmFsdWU7XG4gICAganNvbi5lbWFpbCA9IHRoaXMuZm9ybS5jb250cm9sc1snZW1haWwnXS52YWx1ZTtcbiAgICBpZiAoIWpzb24uZW1haWwgfHwgIXRoaXMuZW1haWwubm90Q29uZmlybWVkKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuZW1haWwuc2VuZGluZyA9IHRydWU7XG4gICAgY29uc29sZS5kZWJ1ZygnW2FjY291bnRdIFNlbmRpbmcgY29uZmlybWF0aW9uIGVtYWlsLi4uJyk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuYWNjb3VudFNlcnZpY2Uuc2VuZENvbmZpcm1hdGlvbkVtYWlsKGpzb24uZW1haWwsIChqc29uLnNldHRpbmdzICYmIGpzb24uc2V0dGluZ3MubG9jYWxlKSB8fCB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZyk7XG4gICAgICBjb25zb2xlLmRlYnVnKCdbYWNjb3VudF0gQ29uZmlybWF0aW9uIGVtYWlsIHNlbnQuJyk7XG4gICAgICB0aGlzLmVtYWlsLnNlbmRpbmcgPSBmYWxzZTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZW1haWwuc2VuZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5lbWFpbC5lcnJvciA9IChlcnIgJiYgZXJyLm1lc3NhZ2UpIHx8IGVycjtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzYXZlKGV2ZW50KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgaWYgKHRoaXMuc2F2aW5nKSByZXR1cm4gZmFsc2U7XG5cbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgYXdhaXQgQXBwRm9ybVV0aWxzLndhaXRXaGlsZVBlbmRpbmcodGhpcy5mb3JtKTtcblxuICAgICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XG4gICAgICAgIEFwcEZvcm1VdGlscy5sb2dGb3JtRXJyb3JzKHRoaXMuZm9ybSk7XG4gICAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgdGhpcy5zYXZpbmcgPSB0cnVlO1xuICAgIHRoaXMuZXJyb3IgPSB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBuZXdBY2NvdW50ID0gQWNjb3VudC5mcm9tT2JqZWN0KHtcbiAgICAgIC4uLnRoaXMuYWNjb3VudFNlcnZpY2UuYWNjb3VudC5hc09iamVjdCgpLFxuICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMucHJvcGVydGllc1RhYmxlKSB7XG4gICAgICAvLyBtZXJnZSBwcm9wZXJ0aWVzXG4gICAgICBhd2FpdCB0aGlzLnByb3BlcnRpZXNUYWJsZS5zYXZlKCk7XG4gICAgICBjb25zdCBwcm9wZXJ0eUVudGl0aWVzID0gdGhpcy5wcm9wZXJ0aWVzVGFibGUudmFsdWUgfHwgW107XG4gICAgICBjb25zdCBwcm9wZXJ0aWVzOiBQcm9wZXJ0aWVzTWFwID0gcHJvcGVydHlFbnRpdGllcy5yZWR1Y2UoKHJlcywgaXRlbSkgPT4ge1xuICAgICAgICByZXNbaXRlbS5pZF0gPSBpdGVtLnZhbHVlO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfSwge30pO1xuICAgICAgY29uc3QgbmV3UHJvcGVydGllcyA9IHsgLi4ubmV3QWNjb3VudC5zZXR0aW5ncy5jb250ZW50Wydwcm9wZXJ0aWVzJ10sIC4uLnByb3BlcnRpZXMgfTtcbiAgICAgIG5ld0FjY291bnQuc2V0dGluZ3MubWVyZ2UoPExvY2FsU2V0dGluZ3M+eyBwcm9wZXJ0aWVzOiBuZXdQcm9wZXJ0aWVzIH0sIFsncHJvcGVydGllcyddKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50b2tlbnNUYWJsZSkge1xuICAgICAgYXdhaXQgdGhpcy50b2tlbnNUYWJsZS5zYXZlKCk7XG4gICAgICBuZXdBY2NvdW50LnRva2VucyA9IHRoaXMudG9rZW5zVGFibGUudmFsdWU7XG4gICAgfVxuXG4gICAgY29uc29sZS5kZWJ1ZygnW2FjY291bnRdIFNhdmluZyBhY2NvdW50Li4uJywgbmV3QWNjb3VudCk7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuZGlzYWJsZSgpO1xuXG4gICAgICBhd2FpdCB0aGlzLmFjY291bnRTZXJ2aWNlLnNhdmUobmV3QWNjb3VudCk7XG5cbiAgICAgIC8vIFJlbG9hZFxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm9uTG9naW4odGhpcy5hY2NvdW50U2VydmljZS5hY2NvdW50KSwgMTAwKTtcblxuICAgICAgdGhpcy5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICB0aGlzLmVycm9yID0gKGVyciAmJiBlcnIubWVzc2FnZSkgfHwgZXJyO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICB9XG4gIH1cblxuICBlbmFibGUob3B0cz86IHsgb25seVNlbGY/OiBib29sZWFuOyBlbWl0RXZlbnQ/OiBib29sZWFuIH0pIHtcbiAgICBzdXBlci5lbmFibGUob3B0cyk7XG5cbiAgICAvLyBTb21lIGZpZWxkcyBhcmUgYWx3YXlzIGRpc2FibGVcbiAgICB0aGlzLmZvcm0uY29udHJvbHMuZW1haWwuZGlzYWJsZSgpO1xuICAgIHRoaXMuZm9ybS5jb250cm9scy5tYWluUHJvZmlsZS5kaXNhYmxlKCk7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnB1YmtleS5kaXNhYmxlKCk7XG5cbiAgICAvLyBEaXNhYmxlIGFjY291bnQgZmllbGRzIGlmIHJlYWRvbmx5IGJ5IGNvbmZpZ3VyYXRpb25cbiAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuYWNjb3VudFJlYWRPbmx5O1xuICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmxhc3ROYW1lLmRpc2FibGUoKTtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5maXJzdE5hbWUuZGlzYWJsZSgpO1xuICAgIH1cblxuICAgIC8vIEFsd2F5cyBkaXNhYmxlIHNvbWUgYWRkaXRpb25hbCBmaWVsZHNcbiAgICB0aGlzLmFkZGl0aW9uYWxGaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uY29udHJvbHNbZmllbGQua2V5XTtcbiAgICAgIGlmICghY29udHJvbCkgcmV0dXJuOyAvLyBTa2lwXG5cbiAgICAgIGNvbnN0IGZpZWxkRGlzYWJsZWQgPSBkaXNhYmxlZCB8fCAoZmllbGQuZXh0cmE/LmFjY291bnQgJiYgZmllbGQuZXh0cmEuYWNjb3VudC5kaXNhYmxlZCkgfHwgZmFsc2U7XG4gICAgICBpZiAoZmllbGREaXNhYmxlZCAmJiBjb250cm9sLmVuYWJsZWQpIHtcbiAgICAgICAgY29udHJvbC5kaXNhYmxlKCk7XG4gICAgICB9XG4gICAgICBjb25zdCByZXF1aXJlZCA9IChmaWVsZC5leHRyYT8uYWNjb3VudCAmJiBmaWVsZC5leHRyYS5hY2NvdW50LnJlcXVpcmVkKSB8fCBmYWxzZTtcbiAgICAgIGlmICghZmllbGQucmVxdWlyZWQgJiYgcmVxdWlyZWQpIHtcbiAgICAgICAgY29udHJvbC5zZXRWYWxpZGF0b3JzKGNvbnRyb2wudmFsaWRhdG9yID8gVmFsaWRhdG9ycy5jb21wb3NlKFtjb250cm9sLnZhbGlkYXRvciwgVmFsaWRhdG9ycy5yZXF1aXJlZF0pIDogVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGFzeW5jIGNhbmNlbCgpIHtcbiAgICBhd2FpdCBzdXBlci5jYW5jZWwoKTtcbiAgfVxuXG4gIGFzeW5jIGNsb3NlKF8/OiBFdmVudCkge1xuICAgIGlmICh0aGlzLnNhdmluZykgcmV0dXJuO1xuXG4gICAgLy8gQmFjayB0byBob21lXG4gICAgcmV0dXJuIHRoaXMubmF2Q29udHJvbGxlci5uYXZpZ2F0ZVJvb3QoJy8nKTsgLy8gYmFjayB0byBob21lXG4gIH1cblxuICBwcm90ZWN0ZWQgb25Db25maWdMb2FkZWQoY29uZmlnOiBDb25maWd1cmF0aW9uKSB7XG4gICAgdGhpcy5hY2NvdW50UmVhZE9ubHkgPSBjb25maWcuZ2V0UHJvcGVydHlBc0Jvb2xlYW4oQ09SRV9DT05GSUdfT1BUSU9OUy5BQ0NPVU5UX1JFQURPTkxZKTtcbiAgICB0aGlzLnNob3dBcGlUb2tlbnMgPSBjb25maWcuZ2V0UHJvcGVydHlBc0Jvb2xlYW4oQ09SRV9DT05GSUdfT1BUSU9OUy5BVVRIX0FQSV9UT0tFTl9FTkFCTEVEKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPGFwcC10b29sYmFyIFt0aXRsZV09XCInQUNDT1VOVC5USVRMRSd8dHJhbnNsYXRlXCIgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICBbaGFzVmFsaWRhdGVdPVwiZGlydHkgJiYgIXNhdmluZ1wiXG4gICAgICAgICAgICAgW2hhc0Nsb3NlXT1cIiFkaXJ0eSAmJiAhc2F2aW5nXCJcbiAgICAgICAgICAgICAob25WYWxpZGF0ZSk9XCJzYXZlKCRldmVudClcIlxuICAgICAgICAgICAgIFtjYW5Hb0JhY2tdPVwiZmFsc2VcIlxuICAgICAgICAgICAgIChvbkNsb3NlKT1cImNsb3NlKCRldmVudClcIj5cblxuICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgIDwhLS0gbG9hZGVyIC0tPlxuICAgIDxpb24tc3Bpbm5lciAqbmdJZj1cImxvYWRpbmcgfHwgc2F2aW5nOyBlbHNlIGVuZEJ1dHRvbnNcIj48L2lvbi1zcGlubmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNlbmRCdXR0b25zPlxuICAgICAgPCEtLSByZWZyZXNoIGJ1dHRvbiAoaWYgb25saW5lKSAtLT5cbiAgICAgIDxpb24tYnV0dG9uIFttYXRUb29sdGlwXT1cIidDT01NT04uQlROX1JFRlJFU0gnfHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIm5ldHdvcmsub25saW5lXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZWZyZXNoKCRldmVudClcIj5cbiAgICAgICAgPG1hdC1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIj5yZWZyZXNoPC9tYXQtaWNvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2lvbi1idXR0b25zPlxuPC9hcHAtdG9vbGJhcj5cblxuPGlvbi1jb250ZW50PlxuXG4gIDwhLS0gZXJyb3IgLS0+XG4gIDxpb24taXRlbSAqbmdJZj1cImVycm9yICYmIG1vYmlsZVwiIGxpbmVzPVwibm9uZVwiPlxuICAgIDxpb24taWNvbiBjb2xvcj1cImRhbmdlclwiIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJhbGVydC1jaXJjbGVcIj48L2lvbi1pY29uPlxuICAgIDxpb24tbGFiZWwgY29sb3I9XCJkYW5nZXJcIiBjbGFzcz1cImVycm9yXCIgW2lubmVySFRNTF09XCJlcnJvcnx0cmFuc2xhdGVcIj48L2lvbi1sYWJlbD5cbiAgPC9pb24taXRlbT5cblxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBub3ZhbGlkYXRlIGNsYXNzPVwiZm9ybS1jb250YWluZXJcIj5cblxuICAgIDxtYXQtdGFiLWdyb3VwICN0YWJHcm91cCBbKHNlbGVjdGVkSW5kZXgpXT1cInNlbGVjdGVkVGFiSW5kZXhcIiBkeW5hbWljSGVpZ2h0PlxuXG4gICAgICA8IS0tIFRBQjogdXNlciBkZXRhaWxzIC0tPlxuICAgICAgPG1hdC10YWIgbGFiZWw9XCJ7eydBQ0NPVU5ULlVTRVJfREVUQUlMUy5USVRMRSd8dHJhbnNsYXRlfX1cIiBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgIDxpb24taWNvbiBtYXRQcmVmaXggc2xvdD1cInN0YXJ0XCIgbmFtZT1cInBlcnNvbi1jaXJjbGVcIj48L2lvbi1pY29uPlxuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPGlvbi1sYWJlbD57eydBQ0NPVU5ULlVTRVJfREVUQUlMUy5USVRMRSd8dHJhbnNsYXRlfX08L2lvbi1sYWJlbD5cbiAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImVuZFwiIG5hbWU9XCJhbGVydC1jaXJjbGVcIiBjb2xvcj1cImRhbmdlclwiICpuZ0lmPVwic3VibWl0dGVkICYmIGZvcm0uaW52YWxpZFwiPjwvaW9uLWljb24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG5cbiAgICAgICAgICA8cCBbaW5uZXJIVE1MXT1cIidBQ0NPVU5ULlVTRVJfREVUQUlMUy5ERVNDUklQVElPTid8dHJhbnNsYXRlXCI+PC9wPlxuXG4gICAgICAgICAgPCEtLWgxPklkZW50aXTDqTwvaDEtLT5cblxuICAgICAgICAgIDwhLS0gRW1haWwgLS0+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eydVU0VSLkVNQUlMJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgYXV0b2NvbXBsZXRlPVwic2VjdGlvbi1yZWQgZW1haWxcIj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLmVtYWlsLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGZvcm0uY29udHJvbHMuZW1haWwuZGlydHlcIiB0cmFuc2xhdGU+RVJST1IuRklFTERfUkVRVUlSRUQ8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLmVtYWlsLmhhc0Vycm9yKCdlbWFpbCcpICYmIGZvcm0uY29udHJvbHMuZW1haWwuZGlydHlcIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3snRVJST1IuRklFTERfTk9UX1ZBTElEX0VNQUlMJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8aW9uLWdyaWQgKm5nSWY9XCJlbWFpbC5ub3RDb25maXJtZWRcIiBjbGFzcz1cImlvbi1uby1wYWRkaW5nIGlvbi1wYWRkaW5nLWJvdHRvbVwiPlxuICAgICAgICAgICAgPGlvbi1yb3c+XG4gICAgICAgICAgICAgIDxpb24tY29sIGNvbG9yPVwiZGFuZ2VyXCI+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIGNvbG9yPVwiZGFuZ2VyXCIgbmFtZT1cImFsZXJ0LWNpcmNsZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgICAgPGlvbi10ZXh0IFtpbm5lckhUTUxdPVwiJ0FDQ09VTlQuRU1BSUxfTk9UX0NPTkZJUk1FRF9MQUJFTCd8dHJhbnNsYXRlXCI+PC9pb24tdGV4dD5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgPC9pb24tcm93PlxuXG4gICAgICAgICAgICA8aW9uLXJvdyBzdHlsZT1cImhlaWdodDogNTFweDtcIj5cbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJ0ZXh0LWFsaWduOiByaWdodDtcIj5cbiAgICAgICAgICAgICAgICA8aW9uLXRleHQ+XG4gICAgICAgICAgICAgICAgICA8c21hbGwgW2lubmVySFRNTF09XCInQUNDT1VOVC5FTUFJTF9OT1RfUkVDRUlWRURfUVVFU1RJT04nfHRyYW5zbGF0ZVwiPjwvc21hbGw+XG4gICAgICAgICAgICAgICAgPC9pb24tdGV4dD5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPlxuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJzb2xpZFwiIGNvbG9yPVwic2Vjb25kYXJ5XCIgKm5nSWY9XCIhZW1haWwuc2VuZGluZ1wiIChjbGljayk9XCJzZW5kQ29uZmlybWF0aW9uRW1haWwoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAge3snQUNDT1VOVC5CVE5fUkVTRU5EJ3x0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8aW9uLXNwaW5uZXIgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiICpuZ0lmPVwiZW1haWwuc2VuZGluZ1wiPjwvaW9uLXNwaW5uZXI+XG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgIDwvaW9uLXJvdz5cblxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbWFpbC5lcnJvciAmJiAhZW1haWwuc2VuZGluZ1wiPlxuICAgICAgICAgICAgICA8aW9uLWNvbD5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImVtYWlsLmVycm9yICYmICFlbWFpbC5zZW5kaW5nXCIgW2lubmVySFRNTF09XCJlbWFpbC5lcnJvcnx0cmFuc2xhdGVcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgIDwvaW9uLXJvdz5cbiAgICAgICAgICA8L2lvbi1ncmlkPlxuXG4gICAgICAgICAgPCEtLSBMYXN0IG5hbWUgLS0+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eydVU0VSLkxBU1RfTkFNRSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbYXBwQXV0b2ZvY3VzXT1cInRydWVcIiBbYXV0b2ZvY3VzRGVsYXldPVwiNTAwXCJcbiAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJsYXN0TmFtZVwiXG4gICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwic2VjdGlvbi1ibHVlIGZhbWlseS1uYW1lXCJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZD5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLmxhc3ROYW1lLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGZvcm0uY29udHJvbHMubGFzdE5hbWUuZGlydHlcIlxuICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU+RVJST1IuRklFTERfUkVRVUlSRURcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMubGFzdE5hbWUuaGFzRXJyb3IoJ21pbmxlbmd0aCcpICYmIGZvcm0uY29udHJvbHMubGFzdE5hbWUuZGlydHlcIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3snRVJST1IuRklFTERfTUlOX0xFTkdUSCcgfCB0cmFuc2xhdGU6IHttaW5MZW5ndGg6IDJ9IH19PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDwhLS0gRmlyc3QgbmFtZSAtLT5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7J1VTRVIuRklSU1RfTkFNRSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJmaXJzdE5hbWVcIiBhdXRvY29tcGxldGU9XCJzZWN0aW9uLWJsdWUgZ2l2ZW4tbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy5maXJzdE5hbWUuaGFzRXJyb3IoJ3JlcXVpcmVkJykgJiYgZm9ybS5jb250cm9scy5maXJzdE5hbWUuZGlydHlcIlxuICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU+RVJST1IuRklFTERfUkVRVUlSRURcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMuZmlyc3ROYW1lLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSAmJiBmb3JtLmNvbnRyb2xzLmZpcnN0TmFtZS5kaXJ0eVwiPlxuICAgICAgICAgICAgICA8c3Bhbj57eydFUlJPUi5GSUVMRF9NSU5fTEVOR1RIJyB8IHRyYW5zbGF0ZToge21pbkxlbmd0aDogMn0gfX08L3NwYW4+XG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG5cbiAgICAgICAgICA8IS0tIEFkZGl0aW9uYWwgZmllbGRzIC0tPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGRlZmluaXRpb24gb2YgYWRkaXRpb25hbEZpZWxkc1wiPlxuICAgICAgICAgICAgPGFwcC1mb3JtLWZpZWxkIFtkZWZpbml0aW9uXT1cImRlZmluaXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZGVmaW5pdGlvbi5rZXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJkZWZpbml0aW9uLmV4dHJhICYmIGRlZmluaXRpb24uZXh0cmEuYWNjb3VudCAmJiBkZWZpbml0aW9uLmV4dHJhLmFjY291bnQucmVxdWlyZWQgfHwgZmFsc2VcIj5cbiAgICAgICAgICAgIDwvYXBwLWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8aDMgdHJhbnNsYXRlPkFDQ09VTlQuVVNFUl9ERVRBSUxTLlRFQ0hOSUNBTF9ESVZJREVSPC9oMz5cblxuICAgICAgICAgIDwhLS0gcHJvZmlsZSAtLT5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7J0FDQ09VTlQuVVNFUl9ERVRBSUxTLlBST0ZJTEUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgaGlkZGVuIHJlYWRvbmx5PVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWFpblByb2ZpbGVcIiByZXF1aXJlZD5cbiAgICAgICAgICAgIDxzcGFuPnt7J1VTRVIuUFJPRklMRV9FTlVNLicgKyBmb3JtLmNvbnRyb2xzLm1haW5Qcm9maWxlLnZhbHVlIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy5maXJzdE5hbWUuaGFzRXJyb3IoJ21haW5Qcm9maWxlJykgJiYgZm9ybS5jb250cm9scy5tYWluUHJvZmlsZS5kaXJ0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT5FUlJPUi5GSUVMRF9SRVFVSVJFRFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDwhLS0gcHVia2V5IC0tPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3snQUNDT1VOVC5VU0VSX0RFVEFJTFMuUFVCS0VZJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlYWRvbmx5PVwidHJ1ZVwiIGZvcm1Db250cm9sTmFtZT1cInB1YmtleVwiXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy5maXJzdE5hbWUuaGFzRXJyb3IoJ3B1YmtleScpICYmIGZvcm0uY29udHJvbHMuZmlyc3ROYW1lLmRpcnR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlPkVSUk9SLkZJRUxEX1JFUVVJUkVEXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLmZpcnN0TmFtZS5oYXNFcnJvcigncHVia2V5JykgJiYgZm9ybS5jb250cm9scy5maXJzdE5hbWUuZGlydHlcIj5cbiAgICAgICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPkVSUk9SLkZJRUxEX05PVF9WQUxJRF9QVUJLRVk8L3NwYW4+XG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYXQtdGFiPlxuXG4gICAgICA8IS0tIFRBQjogc2V0dGluZ3MgLS0+XG4gICAgICA8bWF0LXRhYiBsYWJlbD1cInt7J0FDQ09VTlQuU0VUVElOR1MuVElUTEUnfHRyYW5zbGF0ZX19XCIgZm9ybUdyb3VwTmFtZT1cInNldHRpbmdzXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgIDxpb24taWNvbiBtYXRQcmVmaXggc2xvdD1cInN0YXJ0XCIgbmFtZT1cInNldHRpbmdzXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPkFDQ09VTlQuU0VUVElOR1MuVElUTEU8L2lvbi1sYWJlbD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cblxuICAgICAgICAgIDxwIFtpbm5lckhUTUxdPVwiJ0FDQ09VTlQuU0VUVElOR1MuREVTQ1JJUFRJT04nfHRyYW5zbGF0ZVwiPjwvcD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3snQUNDT1VOVC5TRVRUSU5HUy5MT0NBTEUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJsb2NhbGVcIiByZXF1aXJlZD5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbG9jYWxlc1wiIFt2YWx1ZV09XCJpdGVtLmtleVwiPlxuICAgICAgICAgICAgICAgIHt7aXRlbS52YWx1ZX19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJzZXR0aW5nc0Zvcm0/LmNvbnRyb2xzLmxvY2FsZS5oYXNFcnJvcigncmVxdWlyZWQnKSAmJiBzZXR0aW5nc0Zvcm0/LmNvbnRyb2xzLmxvY2FsZS5kaXJ0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT5FUlJPUi5GSUVMRF9SRVFVSVJFRFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDwhLS0gbGF0L2xvbmcgZm9ybWF0LS0+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eydBQ0NPVU5ULlNFVFRJTkdTLkxBVF9MT05HX0ZPUk1BVCd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImxhdExvbmdGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxhdExvbmdGb3JtYXRzXCIgW3ZhbHVlXT1cIml0ZW1cIj5cbiAgICAgICAgICAgICAgICB7eydDT01NT04uTEFUX0xPTkcuJyArIGl0ZW0gKyAnX1BMQUNFSE9MREVSJ3x0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwic2V0dGluZ3NGb3JtPy5jb250cm9scy5sYXRMb25nRm9ybWF0Lmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIHNldHRpbmdzRm9ybT8uY29udHJvbHMubGF0TG9uZ0Zvcm1hdC5kaXJ0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT5FUlJPUi5GSUVMRF9SRVFVSVJFRFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIE9wdGlvbnMgdGFibGUgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb25zLXRhYmxlXCIgW2NsYXNzLmNkay12aXN1YWxseS1oaWRkZW5dPVwib3B0aW9uRGVmaW5pdGlvbnMgfCBpc0VtcHR5QXJyYXlcIj5cbiAgICAgICAgICA8YXBwLXByb3BlcnRpZXMtdGFibGVcbiAgICAgICAgICAgICNwcm9wZXJ0aWVzVGFibGVcbiAgICAgICAgICAgIGkxOG5Db2x1bW5QcmVmaXg9XCJBQ0NPVU5ULlNFVFRJTkdTLk9QVElPTlMuXCJcbiAgICAgICAgICAgIFtkZWZpbml0aW9uc109XCJvcHRpb25EZWZpbml0aW9uc1wiXG4gICAgICAgICAgICBbZGVidWddPVwiZGVidWdcIlxuICAgICAgICAgICAgW2NhbkVkaXRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAob25EaXJ0eSk9XCIkZXZlbnQgPyBtYXJrQXNEaXJ0eSgpIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICA+PC9hcHAtcHJvcGVydGllcy10YWJsZT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvbWF0LXRhYj5cblxuICAgICAgPCEtLSBUQUI6IHRva2VucyAtLT5cbiAgICAgIDxtYXQtdGFiIGxhYmVsPVwie3snQUNDT1VOVC5UT0tFTlMuVElUTEUnfHRyYW5zbGF0ZX19XCIgZm9ybUdyb3VwTmFtZT1cInRva2Vuc1wiIFtjbGFzcy5jZGstdmlzdWFsbHktaGlkZGVuXT1cIiFzaG93QXBpVG9rZW5zXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgIDxpb24taWNvbiBtYXRQcmVmaXggc2xvdD1cInN0YXJ0XCIgbmFtZT1cInRpY2tldFwiPjwvaW9uLWljb24+XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8aW9uLWxhYmVsIHRyYW5zbGF0ZT5BQ0NPVU5ULlRPS0VOUy5USVRMRTwvaW9uLWxhYmVsPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICAgIDxwIFtpbm5lckhUTUxdPVwiJ0FDQ09VTlQuVE9LRU5TLkRFU0NSSVBUSU9OJ3x0cmFuc2xhdGVcIj48L3A+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gVG9rZW5zIHRhYmxlIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9rZW5zLXRhYmxlXCI+XG4gICAgICAgICAgPGFwcC11c2VyLXRva2VuLXRhYmxlXG4gICAgICAgICAgICAjdG9rZW5zVGFibGVcbiAgICAgICAgICAgIFtjYW5FZGl0XT1cInRydWVcIlxuICAgICAgICAgICAgKG9uRGlydHkpPVwiJGV2ZW50ID8gbWFya0FzRGlydHkoKSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgPjwvYXBwLXVzZXItdG9rZW4tdGFibGU+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L21hdC10YWI+XG4gICAgPC9tYXQtdGFiLWdyb3VwPlxuXG5cbiAgPC9mb3JtPlxuPC9pb24tY29udGVudD5cblxuPGlvbi1mb290ZXIgaGlkZGVuLXhzIGhpZGRlbi1zbSBoaWRkZW4tbW9iaWxlPlxuICA8YXBwLWZvcm0tYnV0dG9ucy1iYXIgKG9uQ2FuY2VsKT1cImNhbmNlbCgpXCIgKG9uU2F2ZSk9XCJzYXZlKCRldmVudClcIiBbZGlzYWJsZWRdPVwiIWZvcm0uZGlydHkgfHwgIXZhbGlkIHx8IHNhdmluZ1wiPlxuICAgIDwhLS0gZXJyb3IgLS0+XG4gICAgPGlvbi1pdGVtICpuZ0lmPVwiZXJyb3IgJiYgIW1vYmlsZVwiIGxpbmVzPVwibm9uZVwiPlxuICAgICAgPGlvbi1pY29uIGNvbG9yPVwiZGFuZ2VyXCIgc2xvdD1cInN0YXJ0XCIgbmFtZT1cImFsZXJ0LWNpcmNsZVwiPjwvaW9uLWljb24+XG4gICAgICA8aW9uLWxhYmVsIGNvbG9yPVwiZGFuZ2VyXCIgY2xhc3M9XCJlcnJvclwiIFtpbm5lckhUTUxdPVwiZXJyb3J8dHJhbnNsYXRlXCI+PC9pb24tbGFiZWw+XG4gICAgPC9pb24taXRlbT5cbiAgPC9hcHAtZm9ybS1idXR0b25zLWJhcj5cbjwvaW9uLWZvb3Rlcj5cbiJdfQ==
337
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2FjY291bnQvYWNjb3VudC5wYWdlLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2FjY291bnQvYWNjb3VudC5wYWdlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsTUFBTSxFQUErQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUFFLGFBQWEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFELE9BQU8sRUFBd0MsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBK0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUc1RixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBc0IsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUzlELE1BQU0sT0FBTyxXQUFZLFNB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LENBQUMsTUFBcUI7UUFDNUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxtQkFBbUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFUyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekIsQ0FBQzt1R0F0VVUsV0FBVywwUUE4Q1osV0FBVzsyRkE5Q1YsV0FBVyxpYUNoQ3hCLHVqVkF3UEE7OzJGRHhOYSxXQUFXO2tCQU52QixTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNOzswQkFnRDVDLE1BQU07MkJBQUMsV0FBVzt5Q0E3Q29CLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDUyxlQUFlO3NCQUE5RCxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRixXQUFXO3NCQUF0RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FjY291bnQuc2VydmljZSc7XG5pbXBvcnQgeyBBY2NvdW50IH0gZnJvbSAnLi4vc2VydmljZXMvbW9kZWwvYWNjb3VudC5tb2RlbCc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY2NvdW50VmFsaWRhdG9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3ZhbGlkYXRvci9hY2NvdW50LnZhbGlkYXRvcic7XG5pbXBvcnQgeyBBcHBGb3JtIH0gZnJvbSAnLi4vZm9ybS9mb3JtLmNsYXNzJztcbmltcG9ydCB7IEFwcEZvcm1VdGlscyB9IGZyb20gJy4uL2Zvcm0vZm9ybS51dGlscyc7XG5pbXBvcnQgeyBGb3JtRmllbGREZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Zvcm0vZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgTEFUX0xPTkdfUEFUVEVSTlMgfSBmcm9tICcuLi8uLi9zaGFyZWQvbWF0ZXJpYWwvbGF0bG9uZy9sYXRsb25nLnV0aWxzJztcbmltcG9ydCB7IFN0YXR1c0lkcyB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL21vZGVsLmVudW0nO1xuaW1wb3J0IHsgQVBQX0xPQ0FMRVMsIExvY2FsZUNvbmZpZywgTG9jYWxTZXR0aW5ncyB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL3NldHRpbmdzLm1vZGVsJztcbmltcG9ydCB7IENhbkxlYXZlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2d1YXJkL2NvbXBvbmVudC1kaXJ0eS5ndWFyZCc7XG5pbXBvcnQgeyBOZXR3b3JrU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25ldHdvcmsuc2VydmljZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1hdFRhYkdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ09SRV9DT05GSUdfT1BUSU9OUyB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy9jb3JlLmNvbmZpZyc7XG5pbXBvcnQgeyBBcHBQcm9wZXJ0aWVzVGFibGUsIFByb3BlcnR5RW50aXR5IH0gZnJvbSAnLi4vZm9ybS9wcm9wZXJ0aWVzL3Byb3BlcnRpZXMudGFibGUnO1xuaW1wb3J0IHsgUHJvcGVydGllc01hcCB9IGZyb20gJy4uLy4uL3NoYXJlZC90eXBlcyc7XG5pbXBvcnQgeyBpc05vdE5pbCB9IGZyb20gJy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgVXNlclRva2VuVGFibGUgfSBmcm9tICcuL3Rva2VuLnRhYmxlJztcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge2Vudmlyb25tZW50fSBmcm9tICcuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL2NvbmZpZy5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hY2NvdW50LXBhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJ2FjY291bnQucGFnZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWNjb3VudC5wYWdlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRQYWdlIGV4dGVuZHMgQXBwRm9ybTxBY2NvdW50PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDYW5MZWF2ZSB7XG4gIEBWaWV3Q2hpbGQoJ3RhYkdyb3VwJywgeyBzdGF0aWM6IHRydWUgfSkgdGFiR3JvdXA6IE1hdFRhYkdyb3VwO1xuICBAVmlld0NoaWxkKCdwcm9wZXJ0aWVzVGFibGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwcm9wZXJ0aWVzVGFibGU6IEFwcFByb3BlcnRpZXNUYWJsZTtcbiAgQFZpZXdDaGlsZCgndG9rZW5zVGFibGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSB0b2tlbnNUYWJsZTogVXNlclRva2VuVGFibGU7XG5cbiAgc2VsZWN0ZWRUYWJJbmRleCA9IDA7XG4gIGlzTG9naW46IGJvb2xlYW47XG4gIGNoYW5nZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgbmV0d29ya1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBlbWFpbDogYW55ID0ge1xuICAgIGNvbmZpcm1lZDogZmFsc2UsXG4gICAgbm90Q29uZmlybWVkOiBmYWxzZSxcbiAgICBzZW5kaW5nOiBmYWxzZSxcbiAgICBlcnJvcjogdW5kZWZpbmVkLFxuICB9O1xuICBhZGRpdGlvbmFsRmllbGRzOiBGb3JtRmllbGREZWZpbml0aW9uW107XG4gIG9wdGlvbkRlZmluaXRpb25zOiBGb3JtRmllbGREZWZpbml0aW9uW107XG5cbiAgZ2V0IHNldHRpbmdzRm9ybSgpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgnc2V0dGluZ3MnKSBhcyBVbnR5cGVkRm9ybUdyb3VwO1xuICB9XG5cbiAgLy8gc2V0dGluZ3NDb250ZW50Rm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgbG9jYWxlczogTG9jYWxlQ29uZmlnW107XG4gIGxhdExvbmdGb3JtYXRzID0gTEFUX0xPTkdfUEFUVEVSTlM7XG4gIHNhdmluZyA9IGZhbHNlO1xuICBzdWJtaXR0ZWQgPSBmYWxzZTtcbiAgYWNjb3VudFJlYWRPbmx5ID0gZmFsc2U7XG4gIHJlYWRvbmx5IG1vYmlsZTogYm9vbGVhbjtcblxuICBnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLnZhbGlkICYmICh0aGlzLnByb3BlcnRpZXNUYWJsZT8udmFsaWQgfHwgdHJ1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2hvd0FwaVRva2VucyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwdWJsaWMgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwdWJsaWMgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlLFxuICAgIHB1YmxpYyBuZXR3b3JrOiBOZXR3b3JrU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgbmF2Q29udHJvbGxlcjogTmF2Q29udHJvbGxlcixcbiAgICBwcm90ZWN0ZWQgdmFsaWRhdG9yU2VydmljZTogQWNjb3VudFZhbGlkYXRvclNlcnZpY2UsXG4gICAgLy8gcHJvdGVjdGVkIHNldHRpbmdzVmFsaWRhdG9yU2VydmljZTogVXNlclNldHRpbmdzVmFsaWRhdG9yU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBJbmplY3QoQVBQX0xPQ0FMRVMpIGxvY2FsZXM6IExvY2FsZUNvbmZpZ1tdXG4gICkge1xuICAgIHN1cGVyKGluamVjdG9yLCB2YWxpZGF0b3JTZXJ2aWNlLmdldEZvcm1Hcm91cChhY2NvdW50U2VydmljZS5hY2NvdW50KSk7XG5cbiAgICB0aGlzLmxvY2FsZXMgPSBsb2NhbGVzO1xuXG4gICAgLy8gQWRkIHNldHRpbmdzIGZvIGZvcm1cbiAgICAvLyB0aGlzLnNldHRpbmdzRm9ybSA9IHNldHRpbmdzVmFsaWRhdG9yU2VydmljZS5nZXRGb3JtR3JvdXAoYWNjb3VudFNlcnZpY2UuYWNjb3VudCAmJiBhY2NvdW50U2VydmljZS5hY2NvdW50LnNldHRpbmdzKTtcbiAgICAvLyB0aGlzLnNldHRpbmdzQ29udGVudEZvcm0gPSAodGhpcy5zZXR0aW5nc0Zvcm0uY29udHJvbHNbJ2NvbnRlbnQnXSBhcyBVbnR5cGVkRm9ybUdyb3VwKTtcbiAgICAvLyB0aGlzLmZvcm0uYWRkQ29udHJvbCgnc2V0dGluZ3MnLCB0aGlzLnNldHRpbmdzRm9ybSk7XG5cbiAgICB0aGlzLm1vYmlsZSA9IHRoaXMuc2V0dGluZ3MubW9iaWxlO1xuICAgIHRoaXMuZGVidWcgPSAhZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcblxuICAgIC8vIEJ5IGRlZmF1bHQsIGRpc2FibGUgdGhlIGZvcm1cbiAgICB0aGlzLmRpc2FibGUoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAvLyBHZXQgdXNlciBvcHRpb25zXG4gICAgdGhpcy5vcHRpb25EZWZpbml0aW9ucyA9IHRoaXMuYWNjb3VudFNlcnZpY2Uub3B0aW9uRGVmc1xuICAgICAgLnNsaWNlKClcbiAgICAgIC5maWx0ZXIoKGRlZmluaXRpb24pID0+ICFkZWZpbml0aW9uLmRpc2FibGVkICYmICghZGVmaW5pdGlvbi5taW5Qcm9maWxlIHx8IHRoaXMuYWNjb3VudFNlcnZpY2UuaGFzTWluUHJvZmlsZShkZWZpbml0aW9uLm1pblByb2ZpbGUpKSk7XG5cbiAgICAvLyBPYnNlcnZlZCBzb21lIGV2ZW50c1xuICAgIHRoaXMucmVnaXN0ZXJTdWJzY3JpcHRpb24odGhpcy5hY2NvdW50U2VydmljZS5vbkxvZ2luLnBpcGUoZmlsdGVyKCgpID0+ICF0aGlzLnNhdmluZykpLnN1YnNjcmliZSgoYWNjb3VudCkgPT4gdGhpcy5vbkxvZ2luKGFjY291bnQpKSk7XG4gICAgdGhpcy5yZWdpc3RlclN1YnNjcmlwdGlvbih0aGlzLmFjY291bnRTZXJ2aWNlLm9uTG9nb3V0LnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uTG9nb3V0KCkpKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3Vic2NyaXB0aW9uKFxuICAgICAgdGhpcy5vbkNhbmNlbC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNldFZhbHVlKHRoaXMuYWNjb3VudFNlcnZpY2UuYWNjb3VudCk7XG4gICAgICAgIHRoaXMubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMucmVnaXN0ZXJTdWJzY3JpcHRpb24oXG4gICAgICB0aGlzLmFjY291bnRTZXJ2aWNlLiRhZGRpdGlvbmFsRmllbGRzLnN1YnNjcmliZSgoYWRkaXRpb25hbEZpZWxkcykgPT4ge1xuICAgICAgICB0aGlzLmFkZGl0aW9uYWxGaWVsZHMgPSBhZGRpdGlvbmFsRmllbGRzLnNsaWNlKCk7IC8vIENvcHlcbiAgICAgICAgaWYgKHRoaXMuYWNjb3VudFNlcnZpY2UuaXNMb2dpbigpKSB7XG4gICAgICAgICAgdGhpcy5vbkxvZ2luKHRoaXMuYWNjb3VudFNlcnZpY2UuYWNjb3VudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5tYXJrQXNMb2FkZWQoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5yZWdpc3RlclN1YnNjcmlwdGlvbih0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLnN1YnNjcmliZSgoY29uZmlnKSA9PiB0aGlzLm9uQ29uZmlnTG9hZGVkKGNvbmZpZykpKTtcblxuICAgIC8vIFJlYWxpZ24gdGFiLCBhZnRlciBhIGRlbGF5IGJlY2F1c2UgdGhlIHRhYiBjYW4gYmUgZGlzYWJsZWQgd2hlbiBjb21wb25lbnQgaXMgY3JlYXRlZFxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy50YWJHcm91cC5yZWFsaWduSW5rQmFyKCksIDUwMCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuc3RvcExpc3RlbkNoYW5nZXMoKTtcbiAgICB0aGlzLm5ldHdvcmtTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvbkxvZ2luKGFjY291bnQ6IEFjY291bnQpIHtcbiAgICBjb25zb2xlLmRlYnVnKCdbYWNjb3VudF0gTG9nZ2VkIGFjY291bnQ6ICcsIGFjY291bnQpO1xuICAgIHRoaXMuaXNMb2dpbiA9IHRydWU7XG5cbiAgICB0aGlzLnNldFZhbHVlKGFjY291bnQpO1xuXG4gICAgdGhpcy5lbWFpbC5jb25maXJtZWQgPSBhY2NvdW50ICYmIGFjY291bnQuZW1haWwgJiYgYWNjb3VudC5zdGF0dXNJZCAhPT0gU3RhdHVzSWRzLlRFTVBPUkFSWTtcbiAgICB0aGlzLmVtYWlsLm5vdENvbmZpcm1lZCA9IGFjY291bnQgJiYgYWNjb3VudC5lbWFpbCAmJiAoIWFjY291bnQuc3RhdHVzSWQgfHwgYWNjb3VudC5zdGF0dXNJZCA9PT0gU3RhdHVzSWRzLlRFTVBPUkFSWSk7XG5cbiAgICB0aGlzLm5ldHdvcmtTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5uZXR3b3JrU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLFxuICAgICAgdGhpcy5uZXR3b3JrLm9uTmV0d29ya1N0YXR1c0NoYW5nZXMucGlwZShtYXAoKGNvbm5lY3Rpb25UeXBlKSA9PiBjb25uZWN0aW9uVHlwZSAhPT0gJ25vbmUnKSksXG4gICAgXSkuc3Vic2NyaWJlKChbY29uZmlnLCBvbmxpbmVdKSA9PiB7XG4gICAgICB0aGlzLm9uQ29uZmlnTG9hZGVkKGNvbmZpZyk7XG5cbiAgICAgIGlmIChvbmxpbmUpIHtcbiAgICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICAgICAgdGhpcy5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgICB0aGlzLnN0YXJ0TGlzdGVuQ2hhbmdlcygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgICAgdGhpcy5zdG9wTGlzdGVuQ2hhbmdlcygpO1xuICAgICAgfVxuICAgICAgdGhpcy5tYXJrQXNMb2FkZWQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkxvZ291dCgpIHtcbiAgICB0aGlzLmlzTG9naW4gPSBmYWxzZTtcbiAgICB0aGlzLmVtYWlsLmNvbmZpcm1lZCA9IGZhbHNlO1xuICAgIHRoaXMuZW1haWwubm90Q29uZmlybWVkID0gZmFsc2U7XG4gICAgdGhpcy5lbWFpbC5zZW5kaW5nID0gZmFsc2U7XG4gICAgdGhpcy5lbWFpbC5lcnJvciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICB0aGlzLmRpc2FibGUoKTtcblxuICAgIHRoaXMubmV0d29ya1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuc3RvcExpc3RlbkNoYW5nZXMoKTtcblxuICAgIC8vIEJhY2sgdG8gaG9tZVxuICAgIHRoaXMubmF2Q29udHJvbGxlci5uYXZpZ2F0ZVJvb3QoJy8nKTtcbiAgfVxuXG4gIGFzeW5jIHNldFZhbHVlKGRhdGE6IEFjY291bnQsIG9wdHM/OiB7IGVtaXRFdmVudD86IGJvb2xlYW47IG9ubHlTZWxmPzogYm9vbGVhbiB9KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3VwZXIuc2V0VmFsdWUoZGF0YSwgb3B0cyk7XG5cbiAgICAvLyBTZXQgb3B0aW9uc1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBkYXRhPy5zZXR0aW5ncz8uYXNMb2NhbFNldHRpbmdzKCk/LnByb3BlcnRpZXMgfHwge307XG4gICAgY29uc3QgcHJvcGVydGllc0VudGl0aWVzOiBQcm9wZXJ0eUVudGl0eVtdID0gW107XG4gICAgdGhpcy5vcHRpb25EZWZpbml0aW9uc1xuICAgICAgLm1hcCgoZGVmaW5pdGlvbikgPT4gZGVmaW5pdGlvbi5rZXkpXG4gICAgICAuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGlmIChpc05vdE5pbChwcm9wZXJ0aWVzW2tleV0pKSB7XG4gICAgICAgICAgcHJvcGVydGllc0VudGl0aWVzLnB1c2goUHJvcGVydHlFbnRpdHkuZnJvbU9iamVjdCh7IGlkOiBrZXksIHZhbHVlOiBwcm9wZXJ0aWVzW2tleV0gfSkpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLnByb3BlcnRpZXNUYWJsZSkge1xuICAgICAgYXdhaXQgdGhpcy5wcm9wZXJ0aWVzVGFibGUucmVhZHkoKTtcbiAgICAgIHRoaXMucHJvcGVydGllc1RhYmxlLnZhbHVlID0gcHJvcGVydGllc0VudGl0aWVzO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRva2Vuc1RhYmxlKSB7XG4gICAgICBhd2FpdCB0aGlzLnRva2Vuc1RhYmxlLnJlYWR5KCk7XG4gICAgICB0aGlzLnRva2Vuc1RhYmxlLnZhbHVlID0gZGF0YS50b2tlbnM7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmVmcmVzaChfPzogRXZlbnQpIHtcbiAgICB0aGlzLmRpc2FibGUoKTtcbiAgICB0aGlzLm1hcmtBc0xvYWRpbmcoKTtcblxuICAgIHJldHVybiB0aGlzLmFjY291bnRTZXJ2aWNlLnJlbG9hZCgpO1xuICB9XG5cbiAgc3RhcnRMaXN0ZW5DaGFuZ2VzKCkge1xuICAgIGlmICh0aGlzLmNoYW5nZXNTdWJzY3JpcHRpb24pIHJldHVybjsgLy8gYWxyZWFkeSBzdGFydGVkXG4gICAgdGhpcy5jaGFuZ2VzU3Vic2NyaXB0aW9uID0gdGhpcy5hY2NvdW50U2VydmljZS5saXN0ZW5DaGFuZ2VzKCk7XG4gIH1cblxuICBzdG9wTGlzdGVuQ2hhbmdlcygpIHtcbiAgICBpZiAoIXRoaXMuY2hhbmdlc1N1YnNjcmlwdGlvbikgcmV0dXJuO1xuICAgIHRoaXMuY2hhbmdlc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuY2hhbmdlc1N1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGFzeW5jIHNlbmRDb25maXJtYXRpb25FbWFpbChldmVudDogTW91c2VFdmVudCkge1xuICAgIGNvbnN0IGpzb24gPSB0aGlzLmZvcm0udmFsdWU7XG4gICAganNvbi5lbWFpbCA9IHRoaXMuZm9ybS5jb250cm9sc1snZW1haWwnXS52YWx1ZTtcbiAgICBpZiAoIWpzb24uZW1haWwgfHwgIXRoaXMuZW1haWwubm90Q29uZmlybWVkKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuZW1haWwuc2VuZGluZyA9IHRydWU7XG4gICAgY29uc29sZS5kZWJ1ZygnW2FjY291bnRdIFNlbmRpbmcgY29uZmlybWF0aW9uIGVtYWlsLi4uJyk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuYWNjb3VudFNlcnZpY2Uuc2VuZENvbmZpcm1hdGlvbkVtYWlsKGpzb24uZW1haWwsIChqc29uLnNldHRpbmdzICYmIGpzb24uc2V0dGluZ3MubG9jYWxlKSB8fCB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZyk7XG4gICAgICBjb25zb2xlLmRlYnVnKCdbYWNjb3VudF0gQ29uZmlybWF0aW9uIGVtYWlsIHNlbnQuJyk7XG4gICAgICB0aGlzLmVtYWlsLnNlbmRpbmcgPSBmYWxzZTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZW1haWwuc2VuZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5lbWFpbC5lcnJvciA9IChlcnIgJiYgZXJyLm1lc3NhZ2UpIHx8IGVycjtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzYXZlKGV2ZW50KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgaWYgKHRoaXMuc2F2aW5nKSByZXR1cm4gZmFsc2U7XG5cbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgYXdhaXQgQXBwRm9ybVV0aWxzLndhaXRXaGlsZVBlbmRpbmcodGhpcy5mb3JtKTtcblxuICAgICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XG4gICAgICAgIEFwcEZvcm1VdGlscy5sb2dGb3JtRXJyb3JzKHRoaXMuZm9ybSk7XG4gICAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgdGhpcy5zYXZpbmcgPSB0cnVlO1xuICAgIHRoaXMuZXJyb3IgPSB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBuZXdBY2NvdW50ID0gQWNjb3VudC5mcm9tT2JqZWN0KHtcbiAgICAgIC4uLnRoaXMuYWNjb3VudFNlcnZpY2UuYWNjb3VudC5hc09iamVjdCgpLFxuICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMucHJvcGVydGllc1RhYmxlKSB7XG4gICAgICAvLyBtZXJnZSBwcm9wZXJ0aWVzXG4gICAgICBhd2FpdCB0aGlzLnByb3BlcnRpZXNUYWJsZS5zYXZlKCk7XG4gICAgICBjb25zdCBwcm9wZXJ0eUVudGl0aWVzID0gdGhpcy5wcm9wZXJ0aWVzVGFibGUudmFsdWUgfHwgW107XG4gICAgICBjb25zdCBwcm9wZXJ0aWVzOiBQcm9wZXJ0aWVzTWFwID0gcHJvcGVydHlFbnRpdGllcy5yZWR1Y2UoKHJlcywgaXRlbSkgPT4ge1xuICAgICAgICByZXNbaXRlbS5pZF0gPSBpdGVtLnZhbHVlO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfSwge30pO1xuICAgICAgY29uc3QgbmV3UHJvcGVydGllcyA9IHsgLi4ubmV3QWNjb3VudC5zZXR0aW5ncy5jb250ZW50Wydwcm9wZXJ0aWVzJ10sIC4uLnByb3BlcnRpZXMgfTtcbiAgICAgIG5ld0FjY291bnQuc2V0dGluZ3MubWVyZ2UoPExvY2FsU2V0dGluZ3M+eyBwcm9wZXJ0aWVzOiBuZXdQcm9wZXJ0aWVzIH0sIFsncHJvcGVydGllcyddKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50b2tlbnNUYWJsZSkge1xuICAgICAgYXdhaXQgdGhpcy50b2tlbnNUYWJsZS5zYXZlKCk7XG4gICAgICBuZXdBY2NvdW50LnRva2VucyA9IHRoaXMudG9rZW5zVGFibGUudmFsdWU7XG4gICAgfVxuXG4gICAgY29uc29sZS5kZWJ1ZygnW2FjY291bnRdIFNhdmluZyBhY2NvdW50Li4uJywgbmV3QWNjb3VudCk7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuZGlzYWJsZSgpO1xuXG4gICAgICBhd2FpdCB0aGlzLmFjY291bnRTZXJ2aWNlLnNhdmUobmV3QWNjb3VudCk7XG5cbiAgICAgIC8vIFJlbG9hZFxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm9uTG9naW4odGhpcy5hY2NvdW50U2VydmljZS5hY2NvdW50KSwgMTAwKTtcblxuICAgICAgdGhpcy5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICB0aGlzLmVycm9yID0gKGVyciAmJiBlcnIubWVzc2FnZSkgfHwgZXJyO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICB9XG4gIH1cblxuICBlbmFibGUob3B0cz86IHsgb25seVNlbGY/OiBib29sZWFuOyBlbWl0RXZlbnQ/OiBib29sZWFuIH0pIHtcbiAgICBzdXBlci5lbmFibGUob3B0cyk7XG5cbiAgICAvLyBTb21lIGZpZWxkcyBhcmUgYWx3YXlzIGRpc2FibGVcbiAgICB0aGlzLmZvcm0uY29udHJvbHMuZW1haWwuZGlzYWJsZSgpO1xuICAgIHRoaXMuZm9ybS5jb250cm9scy5tYWluUHJvZmlsZS5kaXNhYmxlKCk7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnB1YmtleS5kaXNhYmxlKCk7XG5cbiAgICAvLyBEaXNhYmxlIGFjY291bnQgZmllbGRzIGlmIHJlYWRvbmx5IGJ5IGNvbmZpZ3VyYXRpb25cbiAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuYWNjb3VudFJlYWRPbmx5O1xuICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmxhc3ROYW1lLmRpc2FibGUoKTtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5maXJzdE5hbWUuZGlzYWJsZSgpO1xuICAgIH1cblxuICAgIC8vIEFsd2F5cyBkaXNhYmxlIHNvbWUgYWRkaXRpb25hbCBmaWVsZHNcbiAgICB0aGlzLmFkZGl0aW9uYWxGaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uY29udHJvbHNbZmllbGQua2V5XTtcbiAgICAgIGlmICghY29udHJvbCkgcmV0dXJuOyAvLyBTa2lwXG5cbiAgICAgIGNvbnN0IGZpZWxkRGlzYWJsZWQgPSBkaXNhYmxlZCB8fCAoZmllbGQuZXh0cmE/LmFjY291bnQgJiYgZmllbGQuZXh0cmEuYWNjb3VudC5kaXNhYmxlZCkgfHwgZmFsc2U7XG4gICAgICBpZiAoZmllbGREaXNhYmxlZCAmJiBjb250cm9sLmVuYWJsZWQpIHtcbiAgICAgICAgY29udHJvbC5kaXNhYmxlKCk7XG4gICAgICB9XG4gICAgICBjb25zdCByZXF1aXJlZCA9IChmaWVsZC5leHRyYT8uYWNjb3VudCAmJiBmaWVsZC5leHRyYS5hY2NvdW50LnJlcXVpcmVkKSB8fCBmYWxzZTtcbiAgICAgIGlmICghZmllbGQucmVxdWlyZWQgJiYgcmVxdWlyZWQpIHtcbiAgICAgICAgY29udHJvbC5zZXRWYWxpZGF0b3JzKGNvbnRyb2wudmFsaWRhdG9yID8gVmFsaWRhdG9ycy5jb21wb3NlKFtjb250cm9sLnZhbGlkYXRvciwgVmFsaWRhdG9ycy5yZXF1aXJlZF0pIDogVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGFzeW5jIGNhbmNlbCgpIHtcbiAgICBhd2FpdCBzdXBlci5jYW5jZWwoKTtcbiAgfVxuXG4gIGFzeW5jIGNsb3NlKF8/OiBFdmVudCkge1xuICAgIGlmICh0aGlzLnNhdmluZykgcmV0dXJuO1xuXG4gICAgLy8gQmFjayB0byBob21lXG4gICAgcmV0dXJuIHRoaXMubmF2Q29udHJvbGxlci5uYXZpZ2F0ZVJvb3QoJy8nKTsgLy8gYmFjayB0byBob21lXG4gIH1cblxuICBwcm90ZWN0ZWQgb25Db25maWdMb2FkZWQoY29uZmlnOiBDb25maWd1cmF0aW9uKSB7XG4gICAgdGhpcy5hY2NvdW50UmVhZE9ubHkgPSBjb25maWcuZ2V0UHJvcGVydHlBc0Jvb2xlYW4oQ09SRV9DT05GSUdfT1BUSU9OUy5BQ0NPVU5UX1JFQURPTkxZKTtcbiAgICB0aGlzLnNob3dBcGlUb2tlbnMgPSBjb25maWcuZ2V0UHJvcGVydHlBc0Jvb2xlYW4oQ09SRV9DT05GSUdfT1BUSU9OUy5BVVRIX0FQSV9UT0tFTl9FTkFCTEVEKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPGFwcC10b29sYmFyIFt0aXRsZV09XCInQUNDT1VOVC5USVRMRSd8dHJhbnNsYXRlXCIgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICBbaGFzVmFsaWRhdGVdPVwiZGlydHkgJiYgIXNhdmluZ1wiXG4gICAgICAgICAgICAgW2hhc0Nsb3NlXT1cIiFkaXJ0eSAmJiAhc2F2aW5nXCJcbiAgICAgICAgICAgICAob25WYWxpZGF0ZSk9XCJzYXZlKCRldmVudClcIlxuICAgICAgICAgICAgIFtjYW5Hb0JhY2tdPVwiZmFsc2VcIlxuICAgICAgICAgICAgIChvbkNsb3NlKT1cImNsb3NlKCRldmVudClcIj5cblxuICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgIDwhLS0gbG9hZGVyIC0tPlxuICAgIDxpb24tc3Bpbm5lciAqbmdJZj1cImxvYWRpbmcgfHwgc2F2aW5nOyBlbHNlIGVuZEJ1dHRvbnNcIj48L2lvbi1zcGlubmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNlbmRCdXR0b25zPlxuICAgICAgPCEtLSByZWZyZXNoIGJ1dHRvbiAoaWYgb25saW5lKSAtLT5cbiAgICAgIDxpb24tYnV0dG9uIFttYXRUb29sdGlwXT1cIidDT01NT04uQlROX1JFRlJFU0gnfHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIm5ldHdvcmsub25saW5lXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZWZyZXNoKCRldmVudClcIj5cbiAgICAgICAgPG1hdC1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIj5yZWZyZXNoPC9tYXQtaWNvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2lvbi1idXR0b25zPlxuPC9hcHAtdG9vbGJhcj5cblxuPGlvbi1jb250ZW50PlxuXG4gIDwhLS0gZXJyb3IgLS0+XG4gIDxpb24taXRlbSAqbmdJZj1cImVycm9yICYmIG1vYmlsZVwiIGxpbmVzPVwibm9uZVwiPlxuICAgIDxpb24taWNvbiBjb2xvcj1cImRhbmdlclwiIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJhbGVydC1jaXJjbGVcIj48L2lvbi1pY29uPlxuICAgIDxpb24tbGFiZWwgY29sb3I9XCJkYW5nZXJcIiBjbGFzcz1cImVycm9yXCIgW2lubmVySFRNTF09XCJlcnJvcnx0cmFuc2xhdGVcIj48L2lvbi1sYWJlbD5cbiAgPC9pb24taXRlbT5cblxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBub3ZhbGlkYXRlIGNsYXNzPVwiZm9ybS1jb250YWluZXJcIj5cblxuICAgIDxtYXQtdGFiLWdyb3VwICN0YWJHcm91cCBbKHNlbGVjdGVkSW5kZXgpXT1cInNlbGVjdGVkVGFiSW5kZXhcIiBkeW5hbWljSGVpZ2h0PlxuXG4gICAgICA8IS0tIFRBQjogdXNlciBkZXRhaWxzIC0tPlxuICAgICAgPG1hdC10YWIgbGFiZWw9XCJ7eydBQ0NPVU5ULlVTRVJfREVUQUlMUy5USVRMRSd8dHJhbnNsYXRlfX1cIiBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgIDxpb24taWNvbiBtYXRQcmVmaXggc2xvdD1cInN0YXJ0XCIgbmFtZT1cInBlcnNvbi1jaXJjbGVcIj48L2lvbi1pY29uPlxuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPGlvbi1sYWJlbD57eydBQ0NPVU5ULlVTRVJfREVUQUlMUy5USVRMRSd8dHJhbnNsYXRlfX08L2lvbi1sYWJlbD5cbiAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImVuZFwiIG5hbWU9XCJhbGVydC1jaXJjbGVcIiBjb2xvcj1cImRhbmdlclwiICpuZ0lmPVwic3VibWl0dGVkICYmIGZvcm0uaW52YWxpZFwiPjwvaW9uLWljb24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG5cbiAgICAgICAgICA8cCBbaW5uZXJIVE1MXT1cIidBQ0NPVU5ULlVTRVJfREVUQUlMUy5ERVNDUklQVElPTid8dHJhbnNsYXRlXCI+PC9wPlxuXG4gICAgICAgICAgPCEtLWgxPklkZW50aXTDqTwvaDEtLT5cblxuICAgICAgICAgIDwhLS0gRW1haWwgLS0+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eydVU0VSLkVNQUlMJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgYXV0b2NvbXBsZXRlPVwic2VjdGlvbi1yZWQgZW1haWxcIj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLmVtYWlsLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGZvcm0uY29udHJvbHMuZW1haWwuZGlydHlcIiB0cmFuc2xhdGU+RVJST1IuRklFTERfUkVRVUlSRUQ8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLmVtYWlsLmhhc0Vycm9yKCdlbWFpbCcpICYmIGZvcm0uY29udHJvbHMuZW1haWwuZGlydHlcIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3snRVJST1IuRklFTERfTk9UX1ZBTElEX0VNQUlMJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8aW9uLWdyaWQgKm5nSWY9XCJlbWFpbC5ub3RDb25maXJtZWRcIiBjbGFzcz1cImlvbi1uby1wYWRkaW5nIGlvbi1wYWRkaW5nLWJvdHRvbVwiPlxuICAgICAgICAgICAgPGlvbi1yb3c+XG4gICAgICAgICAgICAgIDxpb24tY29sIGNvbG9yPVwiZGFuZ2VyXCI+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIGNvbG9yPVwiZGFuZ2VyXCIgbmFtZT1cImFsZXJ0LWNpcmNsZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgICAgPGlvbi10ZXh0IFtpbm5lckhUTUxdPVwiJ0FDQ09VTlQuRU1BSUxfTk9UX0NPTkZJUk1FRF9MQUJFTCd8dHJhbnNsYXRlXCI+PC9pb24tdGV4dD5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgPC9pb24tcm93PlxuXG4gICAgICAgICAgICA8aW9uLXJvdyBzdHlsZT1cImhlaWdodDogNTFweDtcIj5cbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJ0ZXh0LWFsaWduOiByaWdodDtcIj5cbiAgICAgICAgICAgICAgICA8aW9uLXRleHQ+XG4gICAgICAgICAgICAgICAgICA8c21hbGwgW2lubmVySFRNTF09XCInQUNDT1VOVC5FTUFJTF9OT1RfUkVDRUlWRURfUVVFU1RJT04nfHRyYW5zbGF0ZVwiPjwvc21hbGw+XG4gICAgICAgICAgICAgICAgPC9pb24tdGV4dD5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPlxuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJzb2xpZFwiIGNvbG9yPVwic2Vjb25kYXJ5XCIgKm5nSWY9XCIhZW1haWwuc2VuZGluZ1wiIChjbGljayk9XCJzZW5kQ29uZmlybWF0aW9uRW1haWwoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAge3snQUNDT1VOVC5CVE5fUkVTRU5EJ3x0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8aW9uLXNwaW5uZXIgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiICpuZ0lmPVwiZW1haWwuc2VuZGluZ1wiPjwvaW9uLXNwaW5uZXI+XG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgIDwvaW9uLXJvdz5cblxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbWFpbC5lcnJvciAmJiAhZW1haWwuc2VuZGluZ1wiPlxuICAgICAgICAgICAgICA8aW9uLWNvbD5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImVtYWlsLmVycm9yICYmICFlbWFpbC5zZW5kaW5nXCIgW2lubmVySFRNTF09XCJlbWFpbC5lcnJvcnx0cmFuc2xhdGVcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgIDwvaW9uLXJvdz5cbiAgICAgICAgICA8L2lvbi1ncmlkPlxuXG4gICAgICAgICAgPCEtLSBMYXN0IG5hbWUgLS0+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eydVU0VSLkxBU1RfTkFNRSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbYXBwQXV0b2ZvY3VzXT1cInRydWVcIiBbYXV0b2ZvY3VzRGVsYXldPVwiNTAwXCJcbiAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJsYXN0TmFtZVwiXG4gICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwic2VjdGlvbi1ibHVlIGZhbWlseS1uYW1lXCJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZD5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLmxhc3ROYW1lLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGZvcm0uY29udHJvbHMubGFzdE5hbWUuZGlydHlcIlxuICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU+RVJST1IuRklFTERfUkVRVUlSRURcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMubGFzdE5hbWUuaGFzRXJyb3IoJ21pbmxlbmd0aCcpICYmIGZvcm0uY29udHJvbHMubGFzdE5hbWUuZGlydHlcIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3snRVJST1IuRklFTERfTUlOX0xFTkdUSCcgfCB0cmFuc2xhdGU6IHttaW5MZW5ndGg6IDJ9IH19PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDwhLS0gRmlyc3QgbmFtZSAtLT5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7J1VTRVIuRklSU1RfTkFNRSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJmaXJzdE5hbWVcIiBhdXRvY29tcGxldGU9XCJzZWN0aW9uLWJsdWUgZ2l2ZW4tbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy5maXJzdE5hbWUuaGFzRXJyb3IoJ3JlcXVpcmVkJykgJiYgZm9ybS5jb250cm9scy5maXJzdE5hbWUuZGlydHlcIlxuICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU+RVJST1IuRklFTERfUkVRVUlSRURcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMuZmlyc3ROYW1lLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSAmJiBmb3JtLmNvbnRyb2xzLmZpcnN0TmFtZS5kaXJ0eVwiPlxuICAgICAgICAgICAgICA8c3Bhbj57eydFUlJPUi5GSUVMRF9NSU5fTEVOR1RIJyB8IHRyYW5zbGF0ZToge21pbkxlbmd0aDogMn0gfX08L3NwYW4+XG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG5cbiAgICAgICAgICA8IS0tIEFkZGl0aW9uYWwgZmllbGRzIC0tPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGRlZmluaXRpb24gb2YgYWRkaXRpb25hbEZpZWxkc1wiPlxuICAgICAgICAgICAgPGFwcC1mb3JtLWZpZWxkIFtkZWZpbml0aW9uXT1cImRlZmluaXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZGVmaW5pdGlvbi5rZXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJkZWZpbml0aW9uLmV4dHJhICYmIGRlZmluaXRpb24uZXh0cmEuYWNjb3VudCAmJiBkZWZpbml0aW9uLmV4dHJhLmFjY291bnQucmVxdWlyZWQgfHwgZmFsc2VcIj5cbiAgICAgICAgICAgIDwvYXBwLWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8aDMgdHJhbnNsYXRlPkFDQ09VTlQuVVNFUl9ERVRBSUxTLlRFQ0hOSUNBTF9ESVZJREVSPC9oMz5cblxuICAgICAgICAgIDwhLS0gcHJvZmlsZSAtLT5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7J0FDQ09VTlQuVVNFUl9ERVRBSUxTLlBST0ZJTEUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgaGlkZGVuIHJlYWRvbmx5PVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWFpblByb2ZpbGVcIiByZXF1aXJlZD5cbiAgICAgICAgICAgIDxzcGFuPnt7J1VTRVIuUFJPRklMRV9FTlVNLicgKyBmb3JtLmNvbnRyb2xzLm1haW5Qcm9maWxlLnZhbHVlIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy5maXJzdE5hbWUuaGFzRXJyb3IoJ21haW5Qcm9maWxlJykgJiYgZm9ybS5jb250cm9scy5tYWluUHJvZmlsZS5kaXJ0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT5FUlJPUi5GSUVMRF9SRVFVSVJFRFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDwhLS0gcHVia2V5IC0tPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3snQUNDT1VOVC5VU0VSX0RFVEFJTFMuUFVCS0VZJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlYWRvbmx5PVwidHJ1ZVwiIGZvcm1Db250cm9sTmFtZT1cInB1YmtleVwiXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy5maXJzdE5hbWUuaGFzRXJyb3IoJ3B1YmtleScpICYmIGZvcm0uY29udHJvbHMuZmlyc3ROYW1lLmRpcnR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlPkVSUk9SLkZJRUxEX1JFUVVJUkVEXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLmZpcnN0TmFtZS5oYXNFcnJvcigncHVia2V5JykgJiYgZm9ybS5jb250cm9scy5maXJzdE5hbWUuZGlydHlcIj5cbiAgICAgICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPkVSUk9SLkZJRUxEX05PVF9WQUxJRF9QVUJLRVk8L3NwYW4+XG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYXQtdGFiPlxuXG4gICAgICA8IS0tIFRBQjogc2V0dGluZ3MgLS0+XG4gICAgICA8bWF0LXRhYiBsYWJlbD1cInt7J0FDQ09VTlQuU0VUVElOR1MuVElUTEUnfHRyYW5zbGF0ZX19XCIgZm9ybUdyb3VwTmFtZT1cInNldHRpbmdzXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgIDxpb24taWNvbiBtYXRQcmVmaXggc2xvdD1cInN0YXJ0XCIgbmFtZT1cInNldHRpbmdzXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPkFDQ09VTlQuU0VUVElOR1MuVElUTEU8L2lvbi1sYWJlbD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cblxuICAgICAgICAgIDxwIFtpbm5lckhUTUxdPVwiJ0FDQ09VTlQuU0VUVElOR1MuREVTQ1JJUFRJT04nfHRyYW5zbGF0ZVwiPjwvcD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3snQUNDT1VOVC5TRVRUSU5HUy5MT0NBTEUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJsb2NhbGVcIiByZXF1aXJlZD5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbG9jYWxlc1wiIFt2YWx1ZV09XCJpdGVtLmtleVwiPlxuICAgICAgICAgICAgICAgIHt7aXRlbS52YWx1ZX19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJzZXR0aW5nc0Zvcm0/LmNvbnRyb2xzLmxvY2FsZS5oYXNFcnJvcigncmVxdWlyZWQnKSAmJiBzZXR0aW5nc0Zvcm0/LmNvbnRyb2xzLmxvY2FsZS5kaXJ0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT5FUlJPUi5GSUVMRF9SRVFVSVJFRFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDwhLS0gbGF0L2xvbmcgZm9ybWF0LS0+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eydBQ0NPVU5ULlNFVFRJTkdTLkxBVF9MT05HX0ZPUk1BVCd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImxhdExvbmdGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxhdExvbmdGb3JtYXRzXCIgW3ZhbHVlXT1cIml0ZW1cIj5cbiAgICAgICAgICAgICAgICB7eydDT01NT04uTEFUX0xPTkcuJyArIGl0ZW0gKyAnX1BMQUNFSE9MREVSJ3x0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwic2V0dGluZ3NGb3JtPy5jb250cm9scy5sYXRMb25nRm9ybWF0Lmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIHNldHRpbmdzRm9ybT8uY29udHJvbHMubGF0TG9uZ0Zvcm1hdC5kaXJ0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT5FUlJPUi5GSUVMRF9SRVFVSVJFRFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIE9wdGlvbnMgdGFibGUgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb25zLXRhYmxlXCIgW2NsYXNzLmNkay12aXN1YWxseS1oaWRkZW5dPVwib3B0aW9uRGVmaW5pdGlvbnMgfCBpc0VtcHR5QXJyYXlcIj5cbiAgICAgICAgICA8YXBwLXByb3BlcnRpZXMtdGFibGVcbiAgICAgICAgICAgICNwcm9wZXJ0aWVzVGFibGVcbiAgICAgICAgICAgIGkxOG5Db2x1bW5QcmVmaXg9XCJBQ0NPVU5ULlNFVFRJTkdTLk9QVElPTlMuXCJcbiAgICAgICAgICAgIFtkZWZpbml0aW9uc109XCJvcHRpb25EZWZpbml0aW9uc1wiXG4gICAgICAgICAgICBbZGVidWddPVwiZGVidWdcIlxuICAgICAgICAgICAgW2NhbkVkaXRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAob25EaXJ0eSk9XCIkZXZlbnQgPyBtYXJrQXNEaXJ0eSgpIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICA+PC9hcHAtcHJvcGVydGllcy10YWJsZT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvbWF0LXRhYj5cblxuICAgICAgPCEtLSBUQUI6IHRva2VucyAtLT5cbiAgICAgIDxtYXQtdGFiIGxhYmVsPVwie3snQUNDT1VOVC5UT0tFTlMuVElUTEUnfHRyYW5zbGF0ZX19XCIgZm9ybUdyb3VwTmFtZT1cInRva2Vuc1wiIFtjbGFzcy5jZGstdmlzdWFsbHktaGlkZGVuXT1cIiFzaG93QXBpVG9rZW5zXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgIDxpb24taWNvbiBtYXRQcmVmaXggc2xvdD1cInN0YXJ0XCIgbmFtZT1cInRpY2tldFwiPjwvaW9uLWljb24+XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8aW9uLWxhYmVsIHRyYW5zbGF0ZT5BQ0NPVU5ULlRPS0VOUy5USVRMRTwvaW9uLWxhYmVsPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICAgIDxwIFtpbm5lckhUTUxdPVwiJ0FDQ09VTlQuVE9LRU5TLkRFU0NSSVBUSU9OJ3x0cmFuc2xhdGVcIj48L3A+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gVG9rZW5zIHRhYmxlIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9rZW5zLXRhYmxlXCI+XG4gICAgICAgICAgPGFwcC11c2VyLXRva2VuLXRhYmxlXG4gICAgICAgICAgICAjdG9rZW5zVGFibGVcbiAgICAgICAgICAgIFtjYW5FZGl0XT1cInRydWVcIlxuICAgICAgICAgICAgKG9uRGlydHkpPVwiJGV2ZW50ID8gbWFya0FzRGlydHkoKSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgPjwvYXBwLXVzZXItdG9rZW4tdGFibGU+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L21hdC10YWI+XG4gICAgPC9tYXQtdGFiLWdyb3VwPlxuXG5cbiAgPC9mb3JtPlxuPC9pb24tY29udGVudD5cblxuPGlvbi1mb290ZXIgaGlkZGVuLXhzIGhpZGRlbi1zbSBoaWRkZW4tbW9iaWxlPlxuICA8YXBwLWZvcm0tYnV0dG9ucy1iYXIgKG9uQ2FuY2VsKT1cImNhbmNlbCgpXCIgKG9uU2F2ZSk9XCJzYXZlKCRldmVudClcIiBbZGlzYWJsZWRdPVwiIWZvcm0uZGlydHkgfHwgIXZhbGlkIHx8IHNhdmluZ1wiPlxuICAgIDwhLS0gZXJyb3IgLS0+XG4gICAgPGlvbi1pdGVtICpuZ0lmPVwiZXJyb3IgJiYgIW1vYmlsZVwiIGxpbmVzPVwibm9uZVwiPlxuICAgICAgPGlvbi1pY29uIGNvbG9yPVwiZGFuZ2VyXCIgc2xvdD1cInN0YXJ0XCIgbmFtZT1cImFsZXJ0LWNpcmNsZVwiPjwvaW9uLWljb24+XG4gICAgICA8aW9uLWxhYmVsIGNvbG9yPVwiZGFuZ2VyXCIgY2xhc3M9XCJlcnJvclwiIFtpbm5lckhUTUxdPVwiZXJyb3J8dHJhbnNsYXRlXCI+PC9pb24tbGFiZWw+XG4gICAgPC9pb24taXRlbT5cbiAgPC9hcHAtZm9ybS1idXR0b25zLWJhcj5cbjwvaW9uLWZvb3Rlcj5cbiJdfQ==
@@ -127,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
127
127
  }], existingNames: [{
128
128
  type: Input
129
129
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LXRva2VuLm1vZGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2FjY291bnQvbmV3LXRva2VuLm1vZGFsLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2FjY291bnQvbmV3LXRva2VuLm1vZGFsLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUE2QixNQUFNLDBDQUEwQyxDQUFDO0FBQzNHLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsU0FBUyxFQUFZLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUd2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXakQsTUFBTSxPQUFPLGFBQWMsU0FBUSxvQkFBK0I7SUFVdEQ7SUFDRTtJQUNBO0lBVlosU0FBUyxDQUFtQjtJQUM1QixZQUFZLENBQVc7SUFDdkIsV0FBVyxDQUE2QjtJQUN4QyxXQUFXLENBQVM7SUFDWCxXQUFXLENBQWU7SUFDMUIsYUFBYSxDQUFXO0lBRWpDLFlBQ1UsUUFBa0IsRUFDaEIsU0FBb0Ms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O3VHQWhIVSxhQUFhOzJGQUFiLGFBQWEsMEpDMUIxQiw4b0pBMkhBOzsyRkRqR2EsYUFBYTtrQkFKekIsU0FBUzsrQkFDRSxxQkFBcUI7a0pBU3RCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcEVudGl0eUVkaXRvck1vZGFsLCBJRW50aXR5RWRpdG9yTW9kYWxPcHRpb25zIH0gZnJvbSAnLi4vZm9ybS9lbnRpdHkvZW50aXR5LWVkaXRvci1tb2RhbC5jbGFzcyc7XG5pbXBvcnQgeyBUb2tlblNjb3BlLCBVc2VyVG9rZW4gfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC90b2tlbi5tb2RlbCc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXNlclRva2VuVmFsaWRhdG9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3ZhbGlkYXRvci91c2VyLXRva2VuLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL3NoYXJlZC9tYXRlcmlhbC9hdXRvY29tcGxldGUvbWF0ZXJpYWwuYXV0b2NvbXBsZXRlLmNvbmZpZyc7XG5pbXBvcnQgeyBJQXBwRm9ybSB9IGZyb20gJy4uL2Zvcm0vZm9ybS51dGlscyc7XG5pbXBvcnQgeyBBcHBGb3JtIH0gZnJvbSAnLi4vZm9ybS9mb3JtLmNsYXNzJztcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYWNjb3VudC5zZXJ2aWNlJztcbmltcG9ydCB7IGlzTmlsT3JCbGFuaywgaXNOb3ROaWxPckJsYW5rIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBub3cgfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGNhcGFjaXRvci9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgZnJvbVVuaXhNc1RpbWVzdGFtcCB9IGZyb20gJy4uLy4uL3NoYXJlZC9kYXRlcyc7XG5pbXBvcnQgeyBUb2FzdHMgfSBmcm9tICcuLi8uLi9zaGFyZWQvdG9hc3QvdG9hc3RzJztcbmltcG9ydCB7IFRvYXN0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuZXhwb3J0IGludGVyZmFjZSBJTmV3VG9rZW5Nb2RhbE9wdGlvbnMgZXh0ZW5kcyBJRW50aXR5RWRpdG9yTW9kYWxPcHRpb25zPFVzZXJUb2tlbj4ge1xuICB0b2tlblNjb3BlczogVG9rZW5TY29wZVtdO1xuICBleGlzdGluZ05hbWVzOiBzdHJpbmdbXTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW5ldy10b2tlbi1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9uZXctdG9rZW4ubW9kYWwuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTmV3VG9rZW5Nb2RhbCBleHRlbmRzIEFwcEVudGl0eUVkaXRvck1vZGFsPFVzZXJUb2tlbj4gaW1wbGVtZW50cyBPbkluaXQsIElOZXdUb2tlbk1vZGFsT3B0aW9ucyB7XG5cbiAgdG9rZW5Gb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICB0b2tlbkFwcEZvcm06IElBcHBGb3JtO1xuICB0b2tlbkNvbmZpZzogTWF0QXV0b2NvbXBsZXRlRmllbGRDb25maWc7XG4gIGNvcGllZExhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRva2VuU2NvcGVzOiBUb2tlblNjb3BlW107XG4gIEBJbnB1dCgpIGV4aXN0aW5nTmFtZXM6IHN0cmluZ1tdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByb3RlY3RlZCB2YWxpZGF0b3I6IFVzZXJUb2tlblZhbGlkYXRvclNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZVxuICApIHtcbiAgICBzdXBlcihpbmplY3RvciwgVXNlclRva2VuLCB7dGFiQ291bnQ6IDF9KTtcbiAgICB0aGlzLnRyYW5zbGF0ZSA9IGluamVjdG9yLmdldChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLnRvYXN0Q29udHJvbGxlciA9IGluamVjdG9yLmdldChUb2FzdENvbnRyb2xsZXIpO1xuICAgIHRoaXMudG9rZW5Gb3JtID0gdmFsaWRhdG9yLmdldEZvcm1Hcm91cCgpO1xuICAgIHRoaXMudG9rZW5BcHBGb3JtID0gbmV3IEFwcEZvcm0odGhpcy5pbmplY3RvciwgdGhpcy50b2tlbkZvcm0pO1xuICB9XG5cbiAgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci52YWxpZCAmJiBpc05vdE5pbE9yQmxhbmsodGhpcy5mb3JtLnZhbHVlLnRva2VuKTtcbiAgfVxuXG4gIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5pbnZhbGlkIHx8IGlzTmlsT3JCbGFuayh0aGlzLmZvcm0udmFsdWUudG9rZW4pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIHRoaXMudG9rZW5Db25maWcgPSB7XG4gICAgICBpdGVtczogdGhpcy50b2tlblNjb3Blcy5zbGljZSgpLm1hcCh2YWx1ZSA9PiB7XG4gICAgICAgIHZhbHVlLm5hbWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHZhbHVlLm5hbWUpO1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9KSxcbiAgICAgIGF0dHJpYnV0ZXM6IFsnbmFtZSddLFxuICAgIH07XG5cbiAgICB0aGlzLnZhbGlkYXRvci51cGRhdGVGb3JtR3JvdXAodGhpcy5mb3JtLCB0aGlzLmV4aXN0aW5nTmFtZXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbXB1dGVUaXRsZShkYXRhOiBVc2VyVG9rZW4pOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdBQ0NPVU5ULlRPS0VOUy5DUkVBVEUuVElUTEUnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZm9ybSgpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkZvcm07XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Rmlyc3RJbnZhbGlkVGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWdpc3RlckZvcm1zKCkge1xuICAgIHRoaXMuYWRkQ2hpbGRGb3JtKHRoaXMudG9rZW5BcHBGb3JtKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRWYWx1ZShkYXRhOiBVc2VyVG9rZW4pOiBQcm9taXNlPHZvaWQ+IHwgdm9pZCB7XG5cbiAgICAvLyBBZmZlY3QgcHVia2V5IGZyb20gY3VycmVudCBhY2NvdW50XG4gICAgZGF0YS5wdWJrZXkgPSB0aGlzLmFjY291bnRTZXJ2aWNlLmFjY291bnQucHVia2V5O1xuXG4gICAgLy8gRGVmYXVsdCBleHBpcmF0aW9uIGRhdGVcbiAgICBkYXRhLmV4cGlyYXRpb25EYXRlID0gZnJvbVVuaXhNc1RpbWVzdGFtcChub3coKSkuYWRkKDEsICdtb250aCcpO1xuXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoZGF0YS5hc09iamVjdCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBnZXRWYWx1ZSgpOiBQcm9taXNlPFVzZXJUb2tlbj4ge1xuICAgIGNvbnN0IHZhbHVlID0gYXdhaXQgc3VwZXIuZ2V0VmFsdWUoKTtcblxuICAgIC8vIFNldCBmbGFncyBmcm9tIHNjb3Blc1xuICAgIHZhbHVlLmZsYWdzID0gdGhpcy5nZXRGbGFncyh2YWx1ZS5zY29wZXMpO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgYXN5bmMgZ2VuZXJhdGUoZXZlbnQ6IFVJRXZlbnQpIHtcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgdG9rZW4gPSBhd2FpdCB0aGlzLmFjY291bnRTZXJ2aWNlLmdlbmVyYXRlVG9rZW4odGhpcy5nZXRGbGFncyh0aGlzLmZvcm0udmFsdWUuc2NvcGVzKSk7XG4gICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgIHRoaXMuc2V0RXJyb3IoJ05vIHRva2VuIGdlbmVyYXRlZCAhJyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHt0b2tlbn0pO1xuXG4gICAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5zZXRFcnJvcihlKTtcbiAgICB9XG5cbiAgfVxuXG4gIGFzeW5jIGNvcHkoZXZlbnQ6IFVJRXZlbnQpIHtcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgYXdhaXQgQ2xpcGJvYXJkLndyaXRlKHtzdHJpbmc6IHRoaXMuZm9ybS52YWx1ZS50b2tlbn0pO1xuICAgIGF3YWl0IFRvYXN0cy5zaG93KHRoaXMudG9hc3RDb250cm9sbGVyLCB0aGlzLnRyYW5zbGF0ZSwge1xuICAgICAgdHlwZTogJ2luZm8nLCBtZXNzYWdlOiAnQUNDT1VOVC5UT0tFTlMuQ1JFQVRFLkNPUElFRCdcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRGbGFncyhzY29wZXM6IFRva2VuU2NvcGVbXSk6IG51bWJlciB7XG4gICAgbGV0IGZsYWdzID0gMDtcbiAgICBzY29wZXMuZm9yRWFjaChzY29wZSA9PiB7XG4gICAgICBmbGFncyArPSBzY29wZS5mbGFnO1xuICAgIH0pO1xuICAgIHJldHVybiBmbGFncztcbiAgfVxuXG59XG4iLCI8YXBwLW1vZGFsLXRvb2xiYXIgbW9kYWxOYW1lPVwiTmV3VG9rZW5Nb2RhbFwiXG4gICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIiR0aXRsZSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiJ3NlY29uZGFyeSdcIlxuICAgICAgICAgICAgICAgICAgIFtzaG93U3Bpbm5lcl09XCJsb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICBbY2FuVmFsaWRhdGVdPVwiIWxvYWRpbmcgJiYgdmFsaWRcIlxuICAgICAgICAgICAgICAgICAgIChjYW5jZWwpPVwiY2xvc2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgKHZhbGlkYXRlKT1cInNhdmVBbmRDbG9zZSgkZXZlbnQpXCJcbj48L2FwcC1tb2RhbC10b29sYmFyPlxuXG48aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuXG4gIDwhLS0gZXJyb3IgLS0+XG4gIDxpb24taXRlbSAqbmdJZj1cImVycm9yXCIgbGluZXM9XCJub25lXCI+XG4gICAgPGlvbi1pY29uIGNvbG9yPVwiZGFuZ2VyXCIgc2xvdD1cInN0YXJ0XCIgbmFtZT1cImFsZXJ0LWNpcmNsZVwiPjwvaW9uLWljb24+XG4gICAgPGlvbi1sYWJlbCBjb2xvcj1cImRhbmdlclwiIGNsYXNzPVwiZXJyb3JcIiBbaW5uZXJIVE1MXT1cImVycm9yIHwgdHJhbnNsYXRlXCI+PC9pb24tbGFiZWw+XG4gIDwvaW9uLWl0ZW0+XG5cbiAgPHA+PGIgdHJhbnNsYXRlPkFDQ09VTlQuVE9LRU5TLkNSRUFURS5ERVNDUklQVElPTjwvYj48L3A+XG5cbiAgPGZvcm0gY2xhc3M9XCJmb3JtLWNvbnRhaW5lclwiIFtmb3JtR3JvdXBdPVwidG9rZW5Gb3JtXCI+XG4gICAgPGlvbi1ncmlkIGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIj5cbiAgICAgIDxpb24tcm93PlxuICAgICAgICA8aW9uLWNvbD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7J0FDQ09VTlQuVE9LRU5TLkNSRUFURS5OQU1FJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgW2FwcEF1dG9mb2N1c109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICBbYXV0b2ZvY3VzRGVsYXldPVwiNTAwXCJcbiAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRva2VuRm9ybSB8IGZvcm1HZXRWYWx1ZTogJ3Rva2VuJyB8IGlzTm90TmlsT3JCbGFua1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy5uYW1lLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGZvcm0uY29udHJvbHMubmFtZS50b3VjaGVkXCIgdHJhbnNsYXRlPkVSUk9SLkZJRUxEX1JFUVVJUkVEPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy5uYW1lLmhhc0Vycm9yKCdub3RBbHJlYWR5RXhpc3RzJykgJiYgZm9ybS5jb250cm9scy5uYW1lLnRvdWNoZWRcIiB0cmFuc2xhdGU+QUNDT1VOVC5UT0tFTlMuQ1JFQVRFLk5BTUVfQUxSRUFEWV9FWElTVFM8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2lvbi1jb2w+XG4gICAgICA8L2lvbi1yb3c+XG4gICAgICA8aW9uLXJvdz5cbiAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgPG1hdC1jaGlwcy1maWVsZFxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2NvcGVzXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmaWxsXCJcbiAgICAgICAgICAgIGNoaXBDb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBQ0NPVU5ULlRPS0VOUy5DUkVBVEUuU0NPUEVTJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbY29uZmlnXT1cInRva2VuQ29uZmlnXCJcbiAgICAgICAgICAgIFttb2JpbGVdPVwibW9iaWxlXCJcbiAgICAgICAgICAgIFtkZWJ1Z109XCJmYWxzZVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwidG9rZW5Gb3JtIHwgZm9ybUdldFZhbHVlOiAndG9rZW4nIHwgaXNOb3ROaWxPckJsYW5rXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy5uYW1lLmhhc0Vycm9yKCdub3RFbXB0eUFycmF5JykgJiYgZm9ybS5jb250cm9scy5uYW1lLnRvdWNoZWRcIiB0cmFuc2xhdGU+RVJST1IuRklFTERfUkVRVUlSRUQ8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1jaGlwcy1maWVsZD5cbiAgICAgICAgPC9pb24tY29sPlxuICAgICAgPC9pb24tcm93PlxuICAgICAgPGlvbi1yb3c+XG4gICAgICAgIDxpb24tY29sPlxuICAgICAgICAgIDxtYXQtZGF0ZS1maWVsZFxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZXhwaXJhdGlvbkRhdGVcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBQ0NPVU5ULlRPS0VOUy5DUkVBVEUuRVhQSVJBVElPTl9EQVRFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbbW9iaWxlXT1cIm1vYmlsZVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwidG9rZW5Gb3JtIHwgZm9ybUdldFZhbHVlOiAndG9rZW4nIHwgaXNOb3ROaWxPckJsYW5rXCJcbiAgICAgICAgICA+PC9tYXQtZGF0ZS1maWVsZD5cbiAgICAgICAgPC9pb24tY29sPlxuICAgICAgPC9pb24tcm93PlxuICAgICAgPGlvbi1yb3c+XG4gICAgICAgIDxpb24tY29sPlxuICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cInRva2VuRm9ybSB8IGZvcm1HZXRWYWx1ZTogJ3Rva2VuJyB8IGlzTmlsT3JCbGFuazsgZWxzZSBzaG93VG9rZW5cIlxuICAgICAgICAgICAgW3RpdGxlXT1cIidBQ0NPVU5ULlRPS0VOUy5DUkVBVEUuQlROX0dFTkVSQVRFX1RJVExFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZ2VuZXJhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwidG9rZW5Gb3JtLmludmFsaWRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7ICdBQ0NPVU5ULlRPS0VOUy5DUkVBVEUuQlROX0dFTkVSQVRFJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2hvd1Rva2VuPlxuICAgICAgICAgICAgPHA+PGIgdHJhbnNsYXRlPkFDQ09VTlQuVE9LRU5TLkNSRUFURS5DT1BZX0hFTFA8L2I+PC9wPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidG9rZW5cIiByZWFkb25seSBzdHlsZT1cImhlaWdodDogYXV0bzsgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmF5O1wiIHJvd3M9XCI0XCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FDQ09VTlQuVE9LRU5TLkNSRUFURS5CVE5fQ09QWV9USVRMRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjb3B5KCRldmVudClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmNvbnRlbnRfY29weTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2lvbi1jb2w+XG4gICAgICA8L2lvbi1yb3c+XG4gICAgPC9pb24tZ3JpZD5cblxuICA8L2Zvcm0+XG5cbjwvaW9uLWNvbnRlbnQ+XG5cbjxpb24tZm9vdGVyIGhpZGRlbi14cyBoaWRkZW4tc20gaGlkZGVuLW1vYmlsZT5cblxuICA8aW9uLXRvb2xiYXI+XG4gICAgPGlvbi1yb3cgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiIG5vd3JhcD5cbiAgICAgIDxpb24tY29sPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2lvbi1jb2w+XG5cbiAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG5cbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgY29sb3I9XCJkYXJrXCIgKGNsaWNrKT1cImNsb3NlKCRldmVudClcIj5cbiAgICAgICAgICA8aW9uLWxhYmVsIHRyYW5zbGF0ZT5DT01NT04uQlROX0NBTkNFTDwvaW9uLWxhYmVsPlxuICAgICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgICAgPGlvbi1idXR0b24gW2ZpbGxdPVwiaW52YWxpZCA/ICdjbGVhcicgOiAnc29saWQnXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvYWRpbmcgfHwgaW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzYXZlQW5kQ2xvc2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJzYXZlQW5kQ2xvc2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICAgICAgICA8aW9uLWxhYmVsIHRyYW5zbGF0ZT5DT01NT04uQlROX1ZBTElEQVRFPC9pb24tbGFiZWw+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvaW9uLWNvbD5cbiAgICA8L2lvbi1yb3c+XG4gIDwvaW9uLXRvb2xiYXI+XG5cbjwvaW9uLWZvb3Rlcj5cbiJdfQ==
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LXRva2VuLm1vZGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2FjY291bnQvbmV3LXRva2VuLm1vZGFsLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2FjY291bnQvbmV3LXRva2VuLm1vZGFsLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUE2QixNQUFNLDBDQUEwQyxDQUFDO0FBQzNHLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsU0FBUyxFQUFZLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUd2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXakQsTUFBTSxPQUFPLGFBQWMsU0FBUSxvQkFBK0I7SUFVdEQ7SUFDRTtJQUNBO0lBVlosU0FBUyxDQUFtQjtJQUM1QixZQUFZLENBQVc7SUFDdkIsV0FBVyxDQUE2QjtJQUN4QyxXQUFXLENBQVM7SUFDWCxXQUFXLENBQWU7SUFDMUIsYUFBYSxDQUFXO0lBRWpDLFlBQ1UsUUFBa0IsRUFDaEIsU0FBb0Ms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O1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO3VHQWhIVSxhQUFhOzJGQUFiLGFBQWEsMEpDMUIxQiw4b0pBMkhBOzsyRkRqR2EsYUFBYTtrQkFKekIsU0FBUzsrQkFDRSxxQkFBcUI7a0pBU3RCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcEVudGl0eUVkaXRvck1vZGFsLCBJRW50aXR5RWRpdG9yTW9kYWxPcHRpb25zIH0gZnJvbSAnLi4vZm9ybS9lbnRpdHkvZW50aXR5LWVkaXRvci1tb2RhbC5jbGFzcyc7XG5pbXBvcnQgeyBUb2tlblNjb3BlLCBVc2VyVG9rZW4gfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC90b2tlbi5tb2RlbCc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXNlclRva2VuVmFsaWRhdG9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3ZhbGlkYXRvci91c2VyLXRva2VuLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL3NoYXJlZC9tYXRlcmlhbC9hdXRvY29tcGxldGUvbWF0ZXJpYWwuYXV0b2NvbXBsZXRlLmNvbmZpZyc7XG5pbXBvcnQgeyBJQXBwRm9ybSB9IGZyb20gJy4uL2Zvcm0vZm9ybS51dGlscyc7XG5pbXBvcnQgeyBBcHBGb3JtIH0gZnJvbSAnLi4vZm9ybS9mb3JtLmNsYXNzJztcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYWNjb3VudC5zZXJ2aWNlJztcbmltcG9ydCB7IGlzTmlsT3JCbGFuaywgaXNOb3ROaWxPckJsYW5rIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBub3cgfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGNhcGFjaXRvci9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgZnJvbVVuaXhNc1RpbWVzdGFtcCB9IGZyb20gJy4uLy4uL3NoYXJlZC9kYXRlcyc7XG5pbXBvcnQgeyBUb2FzdHMgfSBmcm9tICcuLi8uLi9zaGFyZWQvdG9hc3QvdG9hc3RzJztcbmltcG9ydCB7IFRvYXN0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuZXhwb3J0IGludGVyZmFjZSBJTmV3VG9rZW5Nb2RhbE9wdGlvbnMgZXh0ZW5kcyBJRW50aXR5RWRpdG9yTW9kYWxPcHRpb25zPFVzZXJUb2tlbj4ge1xuICB0b2tlblNjb3BlczogVG9rZW5TY29wZVtdO1xuICBleGlzdGluZ05hbWVzOiBzdHJpbmdbXTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW5ldy10b2tlbi1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9uZXctdG9rZW4ubW9kYWwuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTmV3VG9rZW5Nb2RhbCBleHRlbmRzIEFwcEVudGl0eUVkaXRvck1vZGFsPFVzZXJUb2tlbj4gaW1wbGVtZW50cyBPbkluaXQsIElOZXdUb2tlbk1vZGFsT3B0aW9ucyB7XG5cbiAgdG9rZW5Gb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICB0b2tlbkFwcEZvcm06IElBcHBGb3JtO1xuICB0b2tlbkNvbmZpZzogTWF0QXV0b2NvbXBsZXRlRmllbGRDb25maWc7XG4gIGNvcGllZExhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRva2VuU2NvcGVzOiBUb2tlblNjb3BlW107XG4gIEBJbnB1dCgpIGV4aXN0aW5nTmFtZXM6IHN0cmluZ1tdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByb3RlY3RlZCB2YWxpZGF0b3I6IFVzZXJUb2tlblZhbGlkYXRvclNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZVxuICApIHtcbiAgICBzdXBlcihpbmplY3RvciwgVXNlclRva2VuLCB7dGFiQ291bnQ6IDF9KTtcbiAgICB0aGlzLnRyYW5zbGF0ZSA9IGluamVjdG9yLmdldChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLnRvYXN0Q29udHJvbGxlciA9IGluamVjdG9yLmdldChUb2FzdENvbnRyb2xsZXIpO1xuICAgIHRoaXMudG9rZW5Gb3JtID0gdmFsaWRhdG9yLmdldEZvcm1Hcm91cCgpO1xuICAgIHRoaXMudG9rZW5BcHBGb3JtID0gbmV3IEFwcEZvcm0odGhpcy5pbmplY3RvciwgdGhpcy50b2tlbkZvcm0pO1xuICB9XG5cbiAgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci52YWxpZCAmJiBpc05vdE5pbE9yQmxhbmsodGhpcy5mb3JtLnZhbHVlLnRva2VuKTtcbiAgfVxuXG4gIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5pbnZhbGlkIHx8IGlzTmlsT3JCbGFuayh0aGlzLmZvcm0udmFsdWUudG9rZW4pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIHRoaXMudG9rZW5Db25maWcgPSB7XG4gICAgICBpdGVtczogdGhpcy50b2tlblNjb3Blcy5zbGljZSgpLm1hcCh2YWx1ZSA9PiB7XG4gICAgICAgIHZhbHVlLm5hbWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHZhbHVlLm5hbWUpO1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9KSxcbiAgICAgIGF0dHJpYnV0ZXM6IFsnbmFtZSddLFxuICAgIH07XG5cbiAgICB0aGlzLnZhbGlkYXRvci51cGRhdGVGb3JtR3JvdXAodGhpcy5mb3JtLCB0aGlzLmV4aXN0aW5nTmFtZXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbXB1dGVUaXRsZShkYXRhOiBVc2VyVG9rZW4pOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdBQ0NPVU5ULlRPS0VOUy5DUkVBVEUuVElUTEUnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZm9ybSgpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkZvcm07XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Rmlyc3RJbnZhbGlkVGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWdpc3RlckZvcm1zKCkge1xuICAgIHRoaXMuYWRkQ2hpbGRGb3JtKHRoaXMudG9rZW5BcHBGb3JtKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRWYWx1ZShkYXRhOiBVc2VyVG9rZW4pOiBQcm9taXNlPHZvaWQ+IHwgdm9pZCB7XG5cbiAgICAvLyBBZmZlY3QgcHVia2V5IGZyb20gY3VycmVudCBhY2NvdW50XG4gICAgZGF0YS5wdWJrZXkgPSB0aGlzLmFjY291bnRTZXJ2aWNlLmFjY291bnQucHVia2V5O1xuXG4gICAgLy8gRGVmYXVsdCBleHBpcmF0aW9uIGRhdGVcbiAgICBkYXRhLmV4cGlyYXRpb25EYXRlID0gZnJvbVVuaXhNc1RpbWVzdGFtcChub3coKSkuYWRkKDEsICdtb250aCcpO1xuXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoZGF0YS5hc09iamVjdCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBnZXRWYWx1ZSgpOiBQcm9taXNlPFVzZXJUb2tlbj4ge1xuICAgIGNvbnN0IHZhbHVlID0gYXdhaXQgc3VwZXIuZ2V0VmFsdWUoKTtcblxuICAgIC8vIFNldCBmbGFncyBmcm9tIHNjb3Blc1xuICAgIHZhbHVlLmZsYWdzID0gdGhpcy5nZXRGbGFncyh2YWx1ZS5zY29wZXMpO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgYXN5bmMgZ2VuZXJhdGUoZXZlbnQ6IFVJRXZlbnQpIHtcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgdG9rZW4gPSBhd2FpdCB0aGlzLmFjY291bnRTZXJ2aWNlLmdlbmVyYXRlVG9rZW4odGhpcy5nZXRGbGFncyh0aGlzLmZvcm0udmFsdWUuc2NvcGVzKSk7XG4gICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgIHRoaXMuc2V0RXJyb3IoJ05vIHRva2VuIGdlbmVyYXRlZCAhJyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHt0b2tlbn0pO1xuXG4gICAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5zZXRFcnJvcihlKTtcbiAgICB9XG5cbiAgfVxuXG4gIGFzeW5jIGNvcHkoZXZlbnQ6IFVJRXZlbnQpIHtcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgYXdhaXQgQ2xpcGJvYXJkLndyaXRlKHtzdHJpbmc6IHRoaXMuZm9ybS52YWx1ZS50b2tlbn0pO1xuICAgIGF3YWl0IFRvYXN0cy5zaG93KHRoaXMudG9hc3RDb250cm9sbGVyLCB0aGlzLnRyYW5zbGF0ZSwge1xuICAgICAgdHlwZTogJ2luZm8nLCBtZXNzYWdlOiAnQUNDT1VOVC5UT0tFTlMuQ1JFQVRFLkNPUElFRCdcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRGbGFncyhzY29wZXM6IFRva2VuU2NvcGVbXSk6IG51bWJlciB7XG4gICAgbGV0IGZsYWdzID0gMDtcbiAgICBzY29wZXMuZm9yRWFjaChzY29wZSA9PiB7XG4gICAgICBmbGFncyArPSBzY29wZS5mbGFnO1xuICAgIH0pO1xuICAgIHJldHVybiBmbGFncztcbiAgfVxuXG59XG4iLCI8YXBwLW1vZGFsLXRvb2xiYXIgbW9kYWxOYW1lPVwiTmV3VG9rZW5Nb2RhbFwiXG4gICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIiR0aXRsZSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiJ3NlY29uZGFyeSdcIlxuICAgICAgICAgICAgICAgICAgIFtzaG93U3Bpbm5lcl09XCJsb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICBbY2FuVmFsaWRhdGVdPVwiIWxvYWRpbmcgJiYgdmFsaWRcIlxuICAgICAgICAgICAgICAgICAgIChjYW5jZWwpPVwiY2xvc2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgKHZhbGlkYXRlKT1cInNhdmVBbmRDbG9zZSgkZXZlbnQpXCJcbj48L2FwcC1tb2RhbC10b29sYmFyPlxuXG48aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuXG4gIDwhLS0gZXJyb3IgLS0+XG4gIDxpb24taXRlbSAqbmdJZj1cImVycm9yXCIgbGluZXM9XCJub25lXCI+XG4gICAgPGlvbi1pY29uIGNvbG9yPVwiZGFuZ2VyXCIgc2xvdD1cInN0YXJ0XCIgbmFtZT1cImFsZXJ0LWNpcmNsZVwiPjwvaW9uLWljb24+XG4gICAgPGlvbi1sYWJlbCBjb2xvcj1cImRhbmdlclwiIGNsYXNzPVwiZXJyb3JcIiBbaW5uZXJIVE1MXT1cImVycm9yIHwgdHJhbnNsYXRlXCI+PC9pb24tbGFiZWw+XG4gIDwvaW9uLWl0ZW0+XG5cbiAgPHA+PGIgdHJhbnNsYXRlPkFDQ09VTlQuVE9LRU5TLkNSRUFURS5ERVNDUklQVElPTjwvYj48L3A+XG5cbiAgPGZvcm0gY2xhc3M9XCJmb3JtLWNvbnRhaW5lclwiIFtmb3JtR3JvdXBdPVwidG9rZW5Gb3JtXCI+XG4gICAgPGlvbi1ncmlkIGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIj5cbiAgICAgIDxpb24tcm93PlxuICAgICAgICA8aW9uLWNvbD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7J0FDQ09VTlQuVE9LRU5TLkNSRUFURS5OQU1FJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgW2FwcEF1dG9mb2N1c109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICBbYXV0b2ZvY3VzRGVsYXldPVwiNTAwXCJcbiAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRva2VuRm9ybSB8IGZvcm1HZXRWYWx1ZTogJ3Rva2VuJyB8IGlzTm90TmlsT3JCbGFua1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy5uYW1lLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGZvcm0uY29udHJvbHMubmFtZS50b3VjaGVkXCIgdHJhbnNsYXRlPkVSUk9SLkZJRUxEX1JFUVVJUkVEPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy5uYW1lLmhhc0Vycm9yKCdub3RBbHJlYWR5RXhpc3RzJykgJiYgZm9ybS5jb250cm9scy5uYW1lLnRvdWNoZWRcIiB0cmFuc2xhdGU+QUNDT1VOVC5UT0tFTlMuQ1JFQVRFLk5BTUVfQUxSRUFEWV9FWElTVFM8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2lvbi1jb2w+XG4gICAgICA8L2lvbi1yb3c+XG4gICAgICA8aW9uLXJvdz5cbiAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgPG1hdC1jaGlwcy1maWVsZFxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2NvcGVzXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmaWxsXCJcbiAgICAgICAgICAgIGNoaXBDb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBQ0NPVU5ULlRPS0VOUy5DUkVBVEUuU0NPUEVTJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbY29uZmlnXT1cInRva2VuQ29uZmlnXCJcbiAgICAgICAgICAgIFttb2JpbGVdPVwibW9iaWxlXCJcbiAgICAgICAgICAgIFtkZWJ1Z109XCJmYWxzZVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwidG9rZW5Gb3JtIHwgZm9ybUdldFZhbHVlOiAndG9rZW4nIHwgaXNOb3ROaWxPckJsYW5rXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy5uYW1lLmhhc0Vycm9yKCdub3RFbXB0eUFycmF5JykgJiYgZm9ybS5jb250cm9scy5uYW1lLnRvdWNoZWRcIiB0cmFuc2xhdGU+RVJST1IuRklFTERfUkVRVUlSRUQ8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1jaGlwcy1maWVsZD5cbiAgICAgICAgPC9pb24tY29sPlxuICAgICAgPC9pb24tcm93PlxuICAgICAgPGlvbi1yb3c+XG4gICAgICAgIDxpb24tY29sPlxuICAgICAgICAgIDxtYXQtZGF0ZS1maWVsZFxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZXhwaXJhdGlvbkRhdGVcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBQ0NPVU5ULlRPS0VOUy5DUkVBVEUuRVhQSVJBVElPTl9EQVRFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbbW9iaWxlXT1cIm1vYmlsZVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwidG9rZW5Gb3JtIHwgZm9ybUdldFZhbHVlOiAndG9rZW4nIHwgaXNOb3ROaWxPckJsYW5rXCJcbiAgICAgICAgICA+PC9tYXQtZGF0ZS1maWVsZD5cbiAgICAgICAgPC9pb24tY29sPlxuICAgICAgPC9pb24tcm93PlxuICAgICAgPGlvbi1yb3c+XG4gICAgICAgIDxpb24tY29sPlxuICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cInRva2VuRm9ybSB8IGZvcm1HZXRWYWx1ZTogJ3Rva2VuJyB8IGlzTmlsT3JCbGFuazsgZWxzZSBzaG93VG9rZW5cIlxuICAgICAgICAgICAgW3RpdGxlXT1cIidBQ0NPVU5ULlRPS0VOUy5DUkVBVEUuQlROX0dFTkVSQVRFX1RJVExFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZ2VuZXJhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwidG9rZW5Gb3JtLmludmFsaWRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7ICdBQ0NPVU5ULlRPS0VOUy5DUkVBVEUuQlROX0dFTkVSQVRFJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2hvd1Rva2VuPlxuICAgICAgICAgICAgPHA+PGIgdHJhbnNsYXRlPkFDQ09VTlQuVE9LRU5TLkNSRUFURS5DT1BZX0hFTFA8L2I+PC9wPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidG9rZW5cIiByZWFkb25seSBzdHlsZT1cImhlaWdodDogYXV0bzsgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmF5O1wiIHJvd3M9XCI0XCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FDQ09VTlQuVE9LRU5TLkNSRUFURS5CVE5fQ09QWV9USVRMRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjb3B5KCRldmVudClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmNvbnRlbnRfY29weTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2lvbi1jb2w+XG4gICAgICA8L2lvbi1yb3c+XG4gICAgPC9pb24tZ3JpZD5cblxuICA8L2Zvcm0+XG5cbjwvaW9uLWNvbnRlbnQ+XG5cbjxpb24tZm9vdGVyIGhpZGRlbi14cyBoaWRkZW4tc20gaGlkZGVuLW1vYmlsZT5cblxuICA8aW9uLXRvb2xiYXI+XG4gICAgPGlvbi1yb3cgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiIG5vd3JhcD5cbiAgICAgIDxpb24tY29sPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2lvbi1jb2w+XG5cbiAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG5cbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgY29sb3I9XCJkYXJrXCIgKGNsaWNrKT1cImNsb3NlKCRldmVudClcIj5cbiAgICAgICAgICA8aW9uLWxhYmVsIHRyYW5zbGF0ZT5DT01NT04uQlROX0NBTkNFTDwvaW9uLWxhYmVsPlxuICAgICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgICAgPGlvbi1idXR0b24gW2ZpbGxdPVwiaW52YWxpZCA/ICdjbGVhcicgOiAnc29saWQnXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvYWRpbmcgfHwgaW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzYXZlQW5kQ2xvc2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJzYXZlQW5kQ2xvc2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICAgICAgICA8aW9uLWxhYmVsIHRyYW5zbGF0ZT5DT01NT04uQlROX1ZBTElEQVRFPC9pb24tbGFiZWw+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvaW9uLWNvbD5cbiAgICA8L2lvbi1yb3c+XG4gIDwvaW9uLXRvb2xiYXI+XG5cbjwvaW9uLWZvb3Rlcj5cbiJdfQ==
@@ -143,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
143
143
  }] }], propDecorators: { useSticky: [{
144
144
  type: Input
145
145
  }] } });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4udGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvYWNjb3VudC90b2tlbi50YWJsZS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9hY2NvdW50L3Rva2VuLnRhYmxlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsTUFBTSxFQUFZLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFjLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBZSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRSxPQUFPLEVBQXlCLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTekUsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBMkI7SUFJakQ7SUFDQTtJQUNBO0lBQ0E7SUFFMkM7SUFSOUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUUzQixZQUNZLFFBQWtCLEVBQ2xCLFdBQStCLEVBQy9CLGdCQUFrQyxFQUNsQyxFQUFxQixFQUNWLFdBQXdCLEVBQ1EsV0FBeUI7UUFFOUUsS0FBSyxDQUNILFFBQVEsRUFD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QTFIVSxjQUFjLDZJQVFmLFdBQVcsYUFDQyxxQkFBcUI7MkZBVGhDLGNBQWMsbUZBSGQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxpRENoQmpGLDg2TUErSkE7OzJGRDVJYSxjQUFjO2tCQVAxQixTQUFTOytCQUNFLHNCQUFzQixhQUdyQixDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSx5QkFBeUIsRUFBRSxDQUFDLG1CQUM5RCx1QkFBdUIsQ0FBQyxNQUFNOzswQkFVNUMsTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxxQkFBcUI7eUNBUmxDLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFZhbGlkYXRvclNlcnZpY2UgfSBmcm9tICdAZS1pcy9uZ3gtbWF0ZXJpYWwtdGFibGUnO1xuaW1wb3J0IHsgVXNlclRva2VuVmFsaWRhdG9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3ZhbGlkYXRvci91c2VyLXRva2VuLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBUb2tlblNjb3BlLCBVc2VyVG9rZW4gfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC90b2tlbi5tb2RlbCc7XG5pbXBvcnQgeyBBcHBJbk1lbW9yeVRhYmxlIH0gZnJvbSAnLi4vdGFibGUvbWVtb3J5LXRhYmxlLmNsYXNzJztcbmltcG9ydCB7IFJFU0VSVkVEX0VORF9DT0xVTU5TLCBSRVNFUlZFRF9TVEFSVF9DT0xVTU5TIH0gZnJvbSAnLi4vdGFibGUvdGFibGUubW9kZWwnO1xuaW1wb3J0IHsgSW5NZW1vcnlFbnRpdGllc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2VydmljZXMvbWVtb3J5LWVudGl0eS1zZXJ2aWNlLmNsYXNzJztcbmltcG9ydCB7IEVudmlyb25tZW50LCBFTlZJUk9OTUVOVCB9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudC5jbGFzcyc7XG5pbXBvcnQgeyBBUFBfVVNFUl9UT0tFTl9TQ09QRVMgfSBmcm9tICcuLi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgSU5ld1Rva2VuTW9kYWxPcHRpb25zLCBOZXdUb2tlbk1vZGFsIH0gZnJvbSAnLi9uZXctdG9rZW4ubW9kYWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdXNlci10b2tlbi10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAndG9rZW4udGFibGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWyd0b2tlbi50YWJsZS5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVmFsaWRhdG9yU2VydmljZSwgdXNlQ2xhc3M6IFVzZXJUb2tlblZhbGlkYXRvclNlcnZpY2UgfV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBVc2VyVG9rZW5UYWJsZSBleHRlbmRzIEFwcEluTWVtb3J5VGFibGU8VXNlclRva2VuPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHVzZVN0aWNreSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRvclNlcnZpY2U6IFZhbGlkYXRvclNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBASW5qZWN0KEVOVklST05NRU5UKSBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBUFBfVVNFUl9UT0tFTl9TQ09QRVMpIHByb3RlY3RlZCB0b2tlblNjb3BlczogVG9rZW5TY29wZVtdXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgaW5qZWN0b3IsXG4gICAgICBbLi4uUkVTRVJWRURfU1RBUlRfQ09MVU1OUywgJ25hbWUnLCAnc2NvcGVzJywgJ2xhc3RVc2VkRGF0ZScsICdleHBpcmF0aW9uRGF0ZScsICdjcmVhdGlvbkRhdGUnLCAuLi5SRVNFUlZFRF9FTkRfQ09MVU1OU10sXG4gICAgICBVc2VyVG9rZW4sXG4gICAgICBuZXcgSW5NZW1vcnlFbnRpdGllc1NlcnZpY2UoVXNlclRva2VuLCB1bmRlZmluZWQsIHtcbiAgICAgICAgZmlsdGVyRm5GYWN0b3J5OiAoKSA9PiAoKSA9PiB0cnVlLFxuICAgICAgICBlcXVhbHM6IFVzZXJUb2tlbi5lcXVhbHMsXG4gICAgICB9KSxcbiAgICAgIHZhbGlkYXRvclNlcnZpY2VcbiAgICApO1xuXG4gICAgLy8gdGhpcy5yZWFkT25seSA9IHRydWU7XG4gICAgdGhpcy5pbmxpbmVFZGl0aW9uID0gZmFsc2U7XG4gICAgdGhpcy5kZWZhdWx0U29ydEJ5ID0gJ2NyZWF0aW9uRGF0ZSc7XG4gICAgdGhpcy5kZWZhdWx0U29ydERpcmVjdGlvbiA9ICdhc2MnO1xuICAgIHRoaXMuaTE4bkNvbHVtblByZWZpeCA9ICdBQ0NPVU5ULlRPS0VOUy5UQUJMRS4nO1xuICAgIHRoaXMuZGVidWcgPSAhZW52aXJvbm1lbnQ/LnByb2R1Y3Rpb247XG5cbiAgICB0aGlzLmF1dG9Mb2FkID0gZmFsc2U7XG5cbiAgICBpZiAoIXRva2VuU2NvcGVzKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ05vIFRva2VuU2NvcGVzIHByb3ZpZGVkLiBQbGVhc2UgcHJvdmlkZSB0aGUgdG9rZW4gQVBQX1VTRVJfVE9LRU5fU0NPUEVTIHdpdGggdmFsaWQgVG9rZW5TY29wZSBhcnJheScpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICB0aGlzLm1hcmtBc1JlYWR5KCk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogVXNlclRva2VuW10ge1xuICAgIGNvbnN0IHZhbHVlcyA9IHN1cGVyLnZhbHVlIHx8IFtdO1xuXG4gICAgcmV0dXJuIHZhbHVlcztcbiAgfVxuXG4gIHNldCB2YWx1ZShkYXRhOiBVc2VyVG9rZW5bXSkge1xuICAgIHN1cGVyLnZhbHVlID0gZGF0YTtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlOiBVc2VyVG9rZW5bXSwgb3B0cz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KSB7XG4gICAgLy8gU2V0IHNjb3BlcyBmcm9tIGZsYWdzXG4gICAgdmFsdWU/LmZvckVhY2goKHVzZXJUb2tlbikgPT4ge1xuICAgICAgY29uc3Qgc2NvcGVzOiBUb2tlblNjb3BlW10gPSBbXTtcbiAgICAgIGlmICh1c2VyVG9rZW4uZmxhZ3MpIHtcbiAgICAgICAgdGhpcy50b2tlblNjb3Blcy5mb3JFYWNoKChzY29wZSkgPT4ge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1iaXR3aXNlXG4gICAgICAgICAgaWYgKHVzZXJUb2tlbi5mbGFncyAmIHNjb3BlLmZsYWcpIHtcbiAgICAgICAgICAgIHNjb3Blcy5wdXNoKHNjb3BlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdXNlclRva2VuLnNjb3BlcyA9IHNjb3BlcztcbiAgICB9KTtcblxuICAgIHN1cGVyLnNldFZhbHVlKHZhbHVlLCBvcHRzKTtcbiAgfVxuXG4gIGFzeW5jIGFkZFRva2VuKGV2ZW50OiBVSUV2ZW50KSB7XG4gICAgaWYgKGV2ZW50Py5kZWZhdWx0UHJldmVudGVkKSByZXR1cm47IC8vIEF2b2lkIG11bHRpcGxlIGNhbGxcblxuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGNvbnN0IG1vZGFsID0gYXdhaXQgdGhpcy5tb2RhbEN0cmwuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogTmV3VG9rZW5Nb2RhbCxcbiAgICAgIGNvbXBvbmVudFByb3BzOiA8SU5ld1Rva2VuTW9kYWxPcHRpb25zPntcbiAgICAgICAgbW9iaWxlOiB0aGlzLm1vYmlsZSxcbiAgICAgICAgaXNOZXc6IHRydWUsXG4gICAgICAgIGRhdGE6IG5ldyBVc2VyVG9rZW4oKSxcbiAgICAgICAgdG9rZW5TY29wZXM6IHRoaXMudG9rZW5TY29wZXMgfHwgW10sXG4gICAgICAgIGV4aXN0aW5nTmFtZXM6IHRoaXMudmFsdWU/Lm1hcCgodikgPT4gdi5uYW1lKSxcbiAgICAgIH0sXG4gICAgICBiYWNrZHJvcERpc21pc3M6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgYXdhaXQgbW9kYWwucHJlc2VudCgpO1xuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgbW9kYWwub25EaWREaXNtaXNzKCk7XG5cbiAgICBpZiAoZGF0YT8ubmFtZSkge1xuICAgICAgLy8gQWRkIHRoaXMgdG9rZW4gaW4gdGhlIGxpc3RcbiAgICAgIGNvbnN0IHJvdyA9IGF3YWl0IHRoaXMuYWRkUm93VG9UYWJsZSh1bmRlZmluZWQsIHsgZWRpdGluZzogZmFsc2UgfSk7XG4gICAgICByb3cudmFsaWRhdG9yLnBhdGNoVmFsdWUoZGF0YSk7XG5cbiAgICAgIHRoaXMubWFya0FzRGlydHkoKTtcbiAgICB9XG4gIH1cblxuICAvLyBhc3luYyByZXZvY2F0ZShldmVudDogVUlFdmVudCkge1xuICAvLyAgIGlmICh0aGlzLnNlbGVjdGlvbi5pc0VtcHR5KCkpIHJldHVybjtcbiAgLy9cbiAgLy8gICBjb25zdCBjb25maXJtZWQgPSBhd2FpdCBBbGVydHMuYXNrQ29uZmlybWF0aW9uKHRoaXMuaTE4bkNvbHVtblByZWZpeCArICdDT05GSVJNLlJFVk9DQVRFJywgdGhpcy5hbGVydEN0cmwsIHRoaXMudHJhbnNsYXRlKTtcbiAgLy8gICBpZiAoIWNvbmZpcm1lZCkgcmV0dXJuO1xuICAvL1xuICAvLyAgIGNvbnN0IG5vdyA9IG1vbWVudCgpO1xuICAvLyAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmZvckVhY2gocm93ID0+IHtcbiAgLy8gICAgIHJvdy52YWxpZGF0b3IucGF0Y2hWYWx1ZSh7cmV2b2NhdGlvbkRhdGU6IG5vd30sIHtlbWl0RXZlbnQ6dHJ1ZX0pO1xuICAvLyAgICAgLy8gcm93LnZhbGlkYXRvci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIC8vICAgfSk7XG4gIC8vXG4gIC8vICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgLy8gICAvLyB0aGlzLm1hcmtBc0RpcnR5KCk7XG4gIC8vIH1cblxuICBkaXNwbGF5KHNjb3BlczogVG9rZW5TY29wZVtdKSB7XG4gICAgcmV0dXJuIHNjb3Blcz8ubWFwKCh2YWx1ZSkgPT4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh2YWx1ZS5uYW1lKSkuam9pbignLCAnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPG1hdC10b29sYmFyPlxuXG4gIDwhLS0gUmVmcmVzaCAtLT5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCIhbW9iaWxlXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ0NPTU1PTi5CVE5fUkVGUkVTSCd8dHJhbnNsYXRlXCJcbiAgICAgICAgICAoY2xpY2spPVwib25SZWZyZXNoLmVtaXQoKVwiPlxuICAgIDxtYXQtaWNvbj5yZWZyZXNoPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPGlvbi1pdGVtICpuZ0lmPVwiIW1vYmlsZSAmJiBlcnJvcjsgbGV0IGVycm9yXCIgbGluZXM9XCJub25lXCI+XG4gICAgPGlvbi1pY29uIGNvbG9yPVwiZGFuZ2VyXCIgc2xvdD1cInN0YXJ0XCIgbmFtZT1cImFsZXJ0LWNpcmNsZVwiPjwvaW9uLWljb24+XG4gICAgPGlvbi1sYWJlbCBjb2xvcj1cImRhbmdlclwiIFtpbm5lckhUTUxdPVwiZXJyb3J8dHJhbnNsYXRlXCI+PC9pb24tbGFiZWw+XG4gIDwvaW9uLWl0ZW0+XG5cbiAgPGRpdiBjbGFzcz1cInRvb2xiYXItc3BhY2VyXCI+PC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGlvbi5pc0VtcHR5KCk7IGVsc2UgaGFzU2VsZWN0aW9uXCI+XG5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJjYW5FZGl0ICYmICFtb2JpbGVcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIidDT01NT04uQlROX0FERCd8dHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJhZGRUb2tlbigkZXZlbnQpXCI+XG4gICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgI2hhc1NlbGVjdGlvbj5cblxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICBbdGl0bGVdPVwiJ0NPTU1PTi5CVE5fREVMRVRFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlU2VsZWN0aW9uKCRldmVudClcIj5cbiAgICAgIDxtYXQtaWNvbj5kZWxldGVfb3V0bGluZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuPC9tYXQtdG9vbGJhcj5cblxuPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIj5cblxuICA8aW9uLXJlZnJlc2hlciBzbG90PVwiZml4ZWRcIiAqbmdJZj1cIm1vYmlsZVwiIChpb25SZWZyZXNoKT1cImRvUmVmcmVzaCgkZXZlbnQpXCI+XG4gICAgPGlvbi1yZWZyZXNoZXItY29udGVudD48L2lvbi1yZWZyZXNoZXItY29udGVudD5cbiAgPC9pb24tcmVmcmVzaGVyPlxuXG4gIDwhLS0gdGFibGUgLS0+XG4gIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb250YWluZXJcIj5cbiAgICA8dGFibGUgI3RhYmxlIG1hdC10YWJsZSBtYXRTb3J0IG1hdFNvcnREaXNhYmxlQ2xlYXJcbiAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4gICAgICAgICAgIFttYXRTb3J0QWN0aXZlXT1cImRlZmF1bHRTb3J0QnlcIlxuICAgICAgICAgICBbbWF0U29ydERpcmVjdGlvbl09XCJkZWZhdWx0U29ydERpcmVjdGlvblwiXG4gICAgICAgICAgIFt0cmFja0J5XT1cInRyYWNrQnlGblwiPlxuXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInNlbGVjdFwiIFtzdGlja3ldPVwidXNlU3RpY2t5XCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgW2NsYXNzLmNkay12aXN1YWxseS1oaWRkZW5dPVwiIWNhbkVkaXRcIj5cbiAgICAgICAgICA8bWF0LWNoZWNrYm94IChjaGFuZ2UpPVwiJGV2ZW50ID8gbWFzdGVyVG9nZ2xlKCkgOiBudWxsXCIgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgaXNBbGxTZWxlY3RlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cInNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmICFpc0FsbFNlbGVjdGVkKClcIj5cbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiIFtjbGFzcy5jZGstdmlzdWFsbHktaGlkZGVuXT1cIiFjYW5FZGl0XCI+XG4gICAgICAgICAgPG1hdC1jaGVja2JveCAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgKGNoYW5nZSk9XCIkZXZlbnQgPyBzZWxlY3Rpb24udG9nZ2xlKHJvdykgOiBudWxsXCIgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KVwiPlxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gSWQgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJpZFwiIFtzdGlja3ldPVwidXNlU3RpY2t5XCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiPlxuICAgICAgICAgIDxpb24tbGFiZWw+IzwvaW9uLWxhYmVsPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgcm93LmN1cnJlbnREYXRhLmlkIH19PC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIG5hbWUgY29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJuYW1lXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPlxuICAgICAgICAgIDxpb24tbGFiZWw+e3sgaTE4bkNvbHVtblByZWZpeCArICdOQU1FJyB8IHRyYW5zbGF0ZSB9fTwvaW9uLWxhYmVsPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCI+XG4gICAgICAgICAge3sgKHJvdy5jdXJyZW50RGF0YSB8IHByb3BlcnR5R2V0IDogJ25hbWUnKSB8fCAoaTE4bkNvbHVtblByZWZpeCArICdVTktOT1dOJyB8IHRyYW5zbGF0ZSkgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInNjb3Blc1wiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj5cbiAgICAgICAgICA8aW9uLWxhYmVsPnt7IGkxOG5Db2x1bW5QcmVmaXggKyAnU0NPUEVTJyB8IHRyYW5zbGF0ZSB9fTwvaW9uLWxhYmVsPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCI+XG4gICAgICAgICAge3sgZGlzcGxheShyb3cuY3VycmVudERhdGEgfCBwcm9wZXJ0eUdldCA6ICdzY29wZXMnKSB9fVxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY3JlYXRpb25EYXRlXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIGNsYXNzPVwibWF0LWNlbGwtZGF0ZS10aW1lXCI+XG4gICAgICAgICAgPGlvbi1sYWJlbD57eyBpMThuQ29sdW1uUHJlZml4ICsgJ0NSRUFUSU9OX0RBVEUnIHwgdHJhbnNsYXRlIH19PC9pb24tbGFiZWw+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBjbGFzcz1cIm1hdC1jZWxsLWRhdGUtdGltZVwiPlxuICAgICAgICAgIHt7IHJvdy5jdXJyZW50RGF0YSB8IHByb3BlcnR5R2V0IDogJ2NyZWF0aW9uRGF0ZScgfCBkYXRlRm9ybWF0IDoge3RpbWU6IHRydWV9IH19XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJleHBpcmF0aW9uRGF0ZVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBjbGFzcz1cIm1hdC1jZWxsLWRhdGUtdGltZVwiPlxuICAgICAgICAgIDxpb24tbGFiZWw+e3sgaTE4bkNvbHVtblByZWZpeCArICdFWFBJUkFUSU9OX0RBVEUnIHwgdHJhbnNsYXRlIH19PC9pb24tbGFiZWw+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBjbGFzcz1cIm1hdC1jZWxsLWRhdGUtdGltZVwiPlxuICAgICAgICAgIHt7IHJvdy5jdXJyZW50RGF0YSB8IHByb3BlcnR5R2V0IDogJ2V4cGlyYXRpb25EYXRlJyB8IGRhdGVGb3JtYXQgOiB7dGltZTogdHJ1ZX0gfX1cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImxhc3RVc2VkRGF0ZVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBjbGFzcz1cIm1hdC1jZWxsLWRhdGUtdGltZVwiPlxuICAgICAgICAgIDxpb24tbGFiZWw+e3sgaTE4bkNvbHVtblByZWZpeCArICdMQVNUX1VTRURfREFURScgfCB0cmFuc2xhdGUgfX08L2lvbi1sYWJlbD5cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiIGNsYXNzPVwibWF0LWNlbGwtZGF0ZS10aW1lXCI+XG4gICAgICAgICAge3sgcm93LmN1cnJlbnREYXRhIHwgcHJvcGVydHlHZXQgOiAnbGFzdFVzZWREYXRlJyB8IGRhdGVGb3JtYXQgOiB7dGltZTogdHJ1ZX0gfX1cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIEFjdGlvbnMgYnV0dG9ucyBjb2x1bW4gLS0+XG4gICAgICA8YXBwLWFjdGlvbnMtY29sdW1uIFtzdGlja3lFbmRdPVwidXNlU3RpY2t5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvbnNDbGljayk9XCJvcGVuU2VsZWN0Q29sdW1uc01vZGFsKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FuY2VsT3JEZWxldGVDbGljayk9XCJjYW5jZWxPckRlbGV0ZSgkZXZlbnQuZXZlbnQsICRldmVudC5yb3cpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbmZpcm1BbmRBZGRDbGljayk9XCJjb25maXJtQW5kQWRkKCRldmVudC5ldmVudCwgJGV2ZW50LnJvdylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoYmFja3dhcmQpPVwiY29uZmlybUFuZEJhY2t3YXJkKCRldmVudC5ldmVudCwgJGV2ZW50LnJvdylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9yd2FyZCk9XCJjb25maXJtQW5kRm9yd2FyZCgkZXZlbnQuZXZlbnQsICRldmVudC5yb3cpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhbkNhbmNlbF09XCJmYWxzZVwiPlxuICAgICAgPC9hcHAtYWN0aW9ucy1jb2x1bW4+XG5cbiAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uczsgc3RpY2t5OiB0cnVlXCI+PC90cj5cbiAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiXG4gICAgICAgICAgW2NsYXNzLm1hdC1yb3ctc2VsZWN0ZWRdPVwicm93LmVkaXRpbmdcIlxuICAgICAgICAgIFtjbGFzcy5tYXQtcm93LWVycm9yXT1cInJvdy52YWxpZGF0b3I/LmludmFsaWRcIlxuICAgICAgICAgIFtjbGFzcy5tYXQtcm93LWRpcnR5XT1cInJvdy52YWxpZGF0b3I/LmRpcnR5XCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xpY2tSb3coJGV2ZW50LCByb3cpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lc2NhcGUpPVwiZXNjYXBlRWRpdGluZ1JvdygkZXZlbnQpXCJcbiAgICAgICAgICBbY2RrVHJhcEZvY3VzXT1cInJvdy52YWxpZGF0b3I/LmludmFsaWRcIj48L3RyPlxuICAgIDwvdGFibGU+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1N1YmplY3R8YXN5bmM7IGVsc2Ugbm9SZXN1bHRcIj5cbiAgICAgIDxpb24taXRlbT5cbiAgICAgICAgPGlvbi1za2VsZXRvbi10ZXh0IGFuaW1hdGVkPjwvaW9uLXNrZWxldG9uLXRleHQ+XG4gICAgICA8L2lvbi1pdGVtPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNub1Jlc3VsdD5cbiAgICAgIDxpb24taXRlbSAqbmdJZj1cInRvdGFsUm93Q291bnQgPT09IDBcIj5cbiAgICAgICAgPGlvbi10ZXh0IGNvbG9yPVwiZGFuZ2VyXCIgY2xhc3M9XCJ0ZXh0LWl0YWxpY1wiIHRyYW5zbGF0ZT5DT01NT04uTk9fUkVTVUxUPC9pb24tdGV4dD5cbiAgICAgIDwvaW9uLWl0ZW0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICA8L2Rpdj5cbjwvaW9uLWNvbnRlbnQ+XG5cbjxpb24tZmFiIHNsb3Q9XCJmaXhlZFwiIHZlcnRpY2FsPVwiYm90dG9tXCIgaG9yaXpvbnRhbD1cImVuZFwiICpuZ0lmPVwibW9iaWxlXCI+XG4gIDxpb24tZmFiLWJ1dHRvbiBjb2xvcj1cInRlcnRpYXJ5XCIgKGNsaWNrKT1cImFkZFRva2VuKCRldmVudClcIj5cbiAgICA8aW9uLWljb24gbmFtZT1cImFkZFwiPjwvaW9uLWljb24+XG4gIDwvaW9uLWZhYi1idXR0b24+XG48L2lvbi1mYWI+XG4iXX0=
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4udGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvYWNjb3VudC90b2tlbi50YWJsZS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9hY2NvdW50L3Rva2VuLnRhYmxlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsTUFBTSxFQUFZLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFjLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBZSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRSxPQUFPLEVBQXlCLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTekUsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBMkI7SUFJakQ7SUFDQTtJQUNBO0lBQ0E7SUFFMkM7SUFSOUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUUzQixZQUNZLFFBQWtCLEVBQ2xCLFdBQStCLEVBQy9CLGdCQUFrQyxFQUNsQyxFQUFxQixFQUNWLFdBQXdCLEVBQ1EsV0FBeUI7UUFFOUUsS0FBSyxDQUNILFFBQVEsRUFD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QyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekIsQ0FBQzt1R0ExSFUsY0FBYyw2SUFRZixXQUFXLGFBQ0MscUJBQXFCOzJGQVRoQyxjQUFjLG1GQUhkLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLHlCQUF5QixFQUFFLENBQUMsaURDaEJqRiw4Nk1BK0pBOzsyRkQ1SWEsY0FBYztrQkFQMUIsU0FBUzsrQkFDRSxzQkFBc0IsYUFHckIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxtQkFDOUQsdUJBQXVCLENBQUMsTUFBTTs7MEJBVTVDLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCO3lDQVJsQyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBWYWxpZGF0b3JTZXJ2aWNlIH0gZnJvbSAnQGUtaXMvbmd4LW1hdGVyaWFsLXRhYmxlJztcbmltcG9ydCB7IFVzZXJUb2tlblZhbGlkYXRvclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy92YWxpZGF0b3IvdXNlci10b2tlbi52YWxpZGF0b3InO1xuaW1wb3J0IHsgVG9rZW5TY29wZSwgVXNlclRva2VuIH0gZnJvbSAnLi4vc2VydmljZXMvbW9kZWwvdG9rZW4ubW9kZWwnO1xuaW1wb3J0IHsgQXBwSW5NZW1vcnlUYWJsZSB9IGZyb20gJy4uL3RhYmxlL21lbW9yeS10YWJsZS5jbGFzcyc7XG5pbXBvcnQgeyBSRVNFUlZFRF9FTkRfQ09MVU1OUywgUkVTRVJWRURfU1RBUlRfQ09MVU1OUyB9IGZyb20gJy4uL3RhYmxlL3RhYmxlLm1vZGVsJztcbmltcG9ydCB7IEluTWVtb3J5RW50aXRpZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NlcnZpY2VzL21lbW9yeS1lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCwgRU5WSVJPTk1FTlQgfSBmcm9tICcuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQuY2xhc3MnO1xuaW1wb3J0IHsgQVBQX1VTRVJfVE9LRU5fU0NPUEVTIH0gZnJvbSAnLi4vc2VydmljZXMvYWNjb3VudC5zZXJ2aWNlJztcbmltcG9ydCB7IElOZXdUb2tlbk1vZGFsT3B0aW9ucywgTmV3VG9rZW5Nb2RhbCB9IGZyb20gJy4vbmV3LXRva2VuLm1vZGFsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXVzZXItdG9rZW4tdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJ3Rva2VuLnRhYmxlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsndG9rZW4udGFibGUuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFZhbGlkYXRvclNlcnZpY2UsIHVzZUNsYXNzOiBVc2VyVG9rZW5WYWxpZGF0b3JTZXJ2aWNlIH1dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVXNlclRva2VuVGFibGUgZXh0ZW5kcyBBcHBJbk1lbW9yeVRhYmxlPFVzZXJUb2tlbj4gaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB1c2VTdGlja3kgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByb3RlY3RlZCBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByb3RlY3RlZCB2YWxpZGF0b3JTZXJ2aWNlOiBWYWxpZGF0b3JTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEluamVjdChFTlZJUk9OTUVOVCkgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVBQX1VTRVJfVE9LRU5fU0NPUEVTKSBwcm90ZWN0ZWQgdG9rZW5TY29wZXM6IFRva2VuU2NvcGVbXVxuICApIHtcbiAgICBzdXBlcihcbiAgICAgIGluamVjdG9yLFxuICAgICAgWy4uLlJFU0VSVkVEX1NUQVJUX0NPTFVNTlMsICduYW1lJywgJ3Njb3BlcycsICdsYXN0VXNlZERhdGUnLCAnZXhwaXJhdGlvbkRhdGUnLCAnY3JlYXRpb25EYXRlJywgLi4uUkVTRVJWRURfRU5EX0NPTFVNTlNdLFxuICAgICAgVXNlclRva2VuLFxuICAgICAgbmV3IEluTWVtb3J5RW50aXRpZXNTZXJ2aWNlKFVzZXJUb2tlbiwgdW5kZWZpbmVkLCB7XG4gICAgICAgIGZpbHRlckZuRmFjdG9yeTogKCkgPT4gKCkgPT4gdHJ1ZSxcbiAgICAgICAgZXF1YWxzOiBVc2VyVG9rZW4uZXF1YWxzLFxuICAgICAgfSksXG4gICAgICB2YWxpZGF0b3JTZXJ2aWNlXG4gICAgKTtcblxuICAgIC8vIHRoaXMucmVhZE9ubHkgPSB0cnVlO1xuICAgIHRoaXMuaW5saW5lRWRpdGlvbiA9IGZhbHNlO1xuICAgIHRoaXMuZGVmYXVsdFNvcnRCeSA9ICdjcmVhdGlvbkRhdGUnO1xuICAgIHRoaXMuZGVmYXVsdFNvcnREaXJlY3Rpb24gPSAnYXNjJztcbiAgICB0aGlzLmkxOG5Db2x1bW5QcmVmaXggPSAnQUNDT1VOVC5UT0tFTlMuVEFCTEUuJztcbiAgICB0aGlzLmRlYnVnID0gIWVudmlyb25tZW50Py5wcm9kdWN0aW9uO1xuXG4gICAgdGhpcy5hdXRvTG9hZCA9IGZhbHNlO1xuXG4gICAgaWYgKCF0b2tlblNjb3Blcykge1xuICAgICAgY29uc29sZS53YXJuKCdObyBUb2tlblNjb3BlcyBwcm92aWRlZC4gUGxlYXNlIHByb3ZpZGUgdGhlIHRva2VuIEFQUF9VU0VSX1RPS0VOX1NDT1BFUyB3aXRoIHZhbGlkIFRva2VuU2NvcGUgYXJyYXknKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgdGhpcy5tYXJrQXNSZWFkeSgpO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IFVzZXJUb2tlbltdIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBzdXBlci52YWx1ZSB8fCBbXTtcblxuICAgIHJldHVybiB2YWx1ZXM7XG4gIH1cblxuICBzZXQgdmFsdWUoZGF0YTogVXNlclRva2VuW10pIHtcbiAgICBzdXBlci52YWx1ZSA9IGRhdGE7XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZTogVXNlclRva2VuW10sIG9wdHM/OiB7IGVtaXRFdmVudD86IGJvb2xlYW4gfSkge1xuICAgIC8vIFNldCBzY29wZXMgZnJvbSBmbGFnc1xuICAgIHZhbHVlPy5mb3JFYWNoKCh1c2VyVG9rZW4pID0+IHtcbiAgICAgIGNvbnN0IHNjb3BlczogVG9rZW5TY29wZVtdID0gW107XG4gICAgICBpZiAodXNlclRva2VuLmZsYWdzKSB7XG4gICAgICAgIHRoaXMudG9rZW5TY29wZXMuZm9yRWFjaCgoc2NvcGUpID0+IHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYml0d2lzZVxuICAgICAgICAgIGlmICh1c2VyVG9rZW4uZmxhZ3MgJiBzY29wZS5mbGFnKSB7XG4gICAgICAgICAgICBzY29wZXMucHVzaChzY29wZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHVzZXJUb2tlbi5zY29wZXMgPSBzY29wZXM7XG4gICAgfSk7XG5cbiAgICBzdXBlci5zZXRWYWx1ZSh2YWx1ZSwgb3B0cyk7XG4gIH1cblxuICBhc3luYyBhZGRUb2tlbihldmVudDogVUlFdmVudCkge1xuICAgIGlmIChldmVudD8uZGVmYXVsdFByZXZlbnRlZCkgcmV0dXJuOyAvLyBBdm9pZCBtdWx0aXBsZSBjYWxsXG5cbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBjb25zdCBtb2RhbCA9IGF3YWl0IHRoaXMubW9kYWxDdHJsLmNyZWF0ZSh7XG4gICAgICBjb21wb25lbnQ6IE5ld1Rva2VuTW9kYWwsXG4gICAgICBjb21wb25lbnRQcm9wczogPElOZXdUb2tlbk1vZGFsT3B0aW9ucz57XG4gICAgICAgIG1vYmlsZTogdGhpcy5tb2JpbGUsXG4gICAgICAgIGlzTmV3OiB0cnVlLFxuICAgICAgICBkYXRhOiBuZXcgVXNlclRva2VuKCksXG4gICAgICAgIHRva2VuU2NvcGVzOiB0aGlzLnRva2VuU2NvcGVzIHx8IFtdLFxuICAgICAgICBleGlzdGluZ05hbWVzOiB0aGlzLnZhbHVlPy5tYXAoKHYpID0+IHYubmFtZSksXG4gICAgICB9LFxuICAgICAgYmFja2Ryb3BEaXNtaXNzOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIGF3YWl0IG1vZGFsLnByZXNlbnQoKTtcbiAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IG1vZGFsLm9uRGlkRGlzbWlzcygpO1xuXG4gICAgaWYgKGRhdGE/Lm5hbWUpIHtcbiAgICAgIC8vIEFkZCB0aGlzIHRva2VuIGluIHRoZSBsaXN0XG4gICAgICBjb25zdCByb3cgPSBhd2FpdCB0aGlzLmFkZFJvd1RvVGFibGUodW5kZWZpbmVkLCB7IGVkaXRpbmc6IGZhbHNlIH0pO1xuICAgICAgcm93LnZhbGlkYXRvci5wYXRjaFZhbHVlKGRhdGEpO1xuXG4gICAgICB0aGlzLm1hcmtBc0RpcnR5KCk7XG4gICAgfVxuICB9XG5cbiAgLy8gYXN5bmMgcmV2b2NhdGUoZXZlbnQ6IFVJRXZlbnQpIHtcbiAgLy8gICBpZiAodGhpcy5zZWxlY3Rpb24uaXNFbXB0eSgpKSByZXR1cm47XG4gIC8vXG4gIC8vICAgY29uc3QgY29uZmlybWVkID0gYXdhaXQgQWxlcnRzLmFza0NvbmZpcm1hdGlvbih0aGlzLmkxOG5Db2x1bW5QcmVmaXggKyAnQ09ORklSTS5SRVZPQ0FURScsIHRoaXMuYWxlcnRDdHJsLCB0aGlzLnRyYW5zbGF0ZSk7XG4gIC8vICAgaWYgKCFjb25maXJtZWQpIHJldHVybjtcbiAgLy9cbiAgLy8gICBjb25zdCBub3cgPSBtb21lbnQoKTtcbiAgLy8gICB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5mb3JFYWNoKHJvdyA9PiB7XG4gIC8vICAgICByb3cudmFsaWRhdG9yLnBhdGNoVmFsdWUoe3Jldm9jYXRpb25EYXRlOiBub3d9LCB7ZW1pdEV2ZW50OnRydWV9KTtcbiAgLy8gICAgIC8vIHJvdy52YWxpZGF0b3IudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAvLyAgIH0pO1xuICAvL1xuICAvLyAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gIC8vICAgLy8gdGhpcy5tYXJrQXNEaXJ0eSgpO1xuICAvLyB9XG5cbiAgZGlzcGxheShzY29wZXM6IFRva2VuU2NvcGVbXSkge1xuICAgIHJldHVybiBzY29wZXM/Lm1hcCgodmFsdWUpID0+IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodmFsdWUubmFtZSkpLmpvaW4oJywgJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0ZvckNoZWNrKCkge1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxtYXQtdG9vbGJhcj5cblxuICA8IS0tIFJlZnJlc2ggLS0+XG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwiIW1vYmlsZVwiXG4gICAgICAgICAgW3RpdGxlXT1cIidDT01NT04uQlROX1JFRlJFU0gnfHRyYW5zbGF0ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uUmVmcmVzaC5lbWl0KClcIj5cbiAgICA8bWF0LWljb24+cmVmcmVzaDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxpb24taXRlbSAqbmdJZj1cIiFtb2JpbGUgJiYgZXJyb3I7IGxldCBlcnJvclwiIGxpbmVzPVwibm9uZVwiPlxuICAgIDxpb24taWNvbiBjb2xvcj1cImRhbmdlclwiIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJhbGVydC1jaXJjbGVcIj48L2lvbi1pY29uPlxuICAgIDxpb24tbGFiZWwgY29sb3I9XCJkYW5nZXJcIiBbaW5uZXJIVE1MXT1cImVycm9yfHRyYW5zbGF0ZVwiPjwvaW9uLWxhYmVsPlxuICA8L2lvbi1pdGVtPlxuXG4gIDxkaXYgY2xhc3M9XCJ0b29sYmFyLXNwYWNlclwiPjwvZGl2PlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3Rpb24uaXNFbXB0eSgpOyBlbHNlIGhhc1NlbGVjdGlvblwiPlxuXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiY2FuRWRpdCAmJiAhbW9iaWxlXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCInQ09NTU9OLkJUTl9BREQnfHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiYWRkVG9rZW4oJGV2ZW50KVwiPlxuICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLXRlbXBsYXRlICNoYXNTZWxlY3Rpb24+XG5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgW3RpdGxlXT1cIidDT01NT04uQlROX0RFTEVURScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZVNlbGVjdGlvbigkZXZlbnQpXCI+XG4gICAgICA8bWF0LWljb24+ZGVsZXRlX291dGxpbmU8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gIDwvbmctdGVtcGxhdGU+XG5cbjwvbWF0LXRvb2xiYXI+XG5cbjxpb24tY29udGVudCBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCI+XG5cbiAgPGlvbi1yZWZyZXNoZXIgc2xvdD1cImZpeGVkXCIgKm5nSWY9XCJtb2JpbGVcIiAoaW9uUmVmcmVzaCk9XCJkb1JlZnJlc2goJGV2ZW50KVwiPlxuICAgIDxpb24tcmVmcmVzaGVyLWNvbnRlbnQ+PC9pb24tcmVmcmVzaGVyLWNvbnRlbnQ+XG4gIDwvaW9uLXJlZnJlc2hlcj5cblxuICA8IS0tIHRhYmxlIC0tPlxuICA8ZGl2IGNsYXNzPVwidGFibGUtY29udGFpbmVyXCI+XG4gICAgPHRhYmxlICN0YWJsZSBtYXQtdGFibGUgbWF0U29ydCBtYXRTb3J0RGlzYWJsZUNsZWFyXG4gICAgICAgICAgIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIlxuICAgICAgICAgICBbbWF0U29ydEFjdGl2ZV09XCJkZWZhdWx0U29ydEJ5XCJcbiAgICAgICAgICAgW21hdFNvcnREaXJlY3Rpb25dPVwiZGVmYXVsdFNvcnREaXJlY3Rpb25cIlxuICAgICAgICAgICBbdHJhY2tCeV09XCJ0cmFja0J5Rm5cIj5cblxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzZWxlY3RcIiBbc3RpY2t5XT1cInVzZVN0aWNreVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIFtjbGFzcy5jZGstdmlzdWFsbHktaGlkZGVuXT1cIiFjYW5FZGl0XCI+XG4gICAgICAgICAgPG1hdC1jaGVja2JveCAoY2hhbmdlKT1cIiRldmVudCA/IG1hc3RlclRvZ2dsZSgpIDogbnVsbFwiIFtjaGVja2VkXT1cInNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmIGlzQWxsU2VsZWN0ZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJzZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiAhaXNBbGxTZWxlY3RlZCgpXCI+XG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBbY2xhc3MuY2RrLXZpc3VhbGx5LWhpZGRlbl09XCIhY2FuRWRpdFwiPlxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIChjaGFuZ2UpPVwiJGV2ZW50ID8gc2VsZWN0aW9uLnRvZ2dsZShyb3cpIDogbnVsbFwiIFtjaGVja2VkXT1cInNlbGVjdGlvbi5pc1NlbGVjdGVkKHJvdylcIj5cbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIElkIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaWRcIiBbc3RpY2t5XT1cInVzZVN0aWNreVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIj5cbiAgICAgICAgICA8aW9uLWxhYmVsPiM8L2lvbi1sYWJlbD5cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiPnt7IHJvdy5jdXJyZW50RGF0YS5pZCB9fTwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBuYW1lIGNvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibmFtZVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj5cbiAgICAgICAgICA8aW9uLWxhYmVsPnt7IGkxOG5Db2x1bW5QcmVmaXggKyAnTkFNRScgfCB0cmFuc2xhdGUgfX08L2lvbi1sYWJlbD5cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiPlxuICAgICAgICAgIHt7IChyb3cuY3VycmVudERhdGEgfCBwcm9wZXJ0eUdldCA6ICduYW1lJykgfHwgKGkxOG5Db2x1bW5QcmVmaXggKyAnVU5LTk9XTicgfCB0cmFuc2xhdGUpIH19XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzY29wZXNcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+XG4gICAgICAgICAgPGlvbi1sYWJlbD57eyBpMThuQ29sdW1uUHJlZml4ICsgJ1NDT1BFUycgfCB0cmFuc2xhdGUgfX08L2lvbi1sYWJlbD5cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiPlxuICAgICAgICAgIHt7IGRpc3BsYXkocm93LmN1cnJlbnREYXRhIHwgcHJvcGVydHlHZXQgOiAnc2NvcGVzJykgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNyZWF0aW9uRGF0ZVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBjbGFzcz1cIm1hdC1jZWxsLWRhdGUtdGltZVwiPlxuICAgICAgICAgIDxpb24tbGFiZWw+e3sgaTE4bkNvbHVtblByZWZpeCArICdDUkVBVElPTl9EQVRFJyB8IHRyYW5zbGF0ZSB9fTwvaW9uLWxhYmVsPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgY2xhc3M9XCJtYXQtY2VsbC1kYXRlLXRpbWVcIj5cbiAgICAgICAgICB7eyByb3cuY3VycmVudERhdGEgfCBwcm9wZXJ0eUdldCA6ICdjcmVhdGlvbkRhdGUnIHwgZGF0ZUZvcm1hdCA6IHt0aW1lOiB0cnVlfSB9fVxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZXhwaXJhdGlvbkRhdGVcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgY2xhc3M9XCJtYXQtY2VsbC1kYXRlLXRpbWVcIj5cbiAgICAgICAgICA8aW9uLWxhYmVsPnt7IGkxOG5Db2x1bW5QcmVmaXggKyAnRVhQSVJBVElPTl9EQVRFJyB8IHRyYW5zbGF0ZSB9fTwvaW9uLWxhYmVsPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgY2xhc3M9XCJtYXQtY2VsbC1kYXRlLXRpbWVcIj5cbiAgICAgICAgICB7eyByb3cuY3VycmVudERhdGEgfCBwcm9wZXJ0eUdldCA6ICdleHBpcmF0aW9uRGF0ZScgfCBkYXRlRm9ybWF0IDoge3RpbWU6IHRydWV9IH19XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJsYXN0VXNlZERhdGVcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgY2xhc3M9XCJtYXQtY2VsbC1kYXRlLXRpbWVcIj5cbiAgICAgICAgICA8aW9uLWxhYmVsPnt7IGkxOG5Db2x1bW5QcmVmaXggKyAnTEFTVF9VU0VEX0RBVEUnIHwgdHJhbnNsYXRlIH19PC9pb24tbGFiZWw+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBjbGFzcz1cIm1hdC1jZWxsLWRhdGUtdGltZVwiPlxuICAgICAgICAgIHt7IHJvdy5jdXJyZW50RGF0YSB8IHByb3BlcnR5R2V0IDogJ2xhc3RVc2VkRGF0ZScgfCBkYXRlRm9ybWF0IDoge3RpbWU6IHRydWV9IH19XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBBY3Rpb25zIGJ1dHRvbnMgY29sdW1uIC0tPlxuICAgICAgPGFwcC1hY3Rpb25zLWNvbHVtbiBbc3RpY2t5RW5kXT1cInVzZVN0aWNreVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChvcHRpb25zQ2xpY2spPVwib3BlblNlbGVjdENvbHVtbnNNb2RhbCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGNhbmNlbE9yRGVsZXRlQ2xpY2spPVwiY2FuY2VsT3JEZWxldGUoJGV2ZW50LmV2ZW50LCAkZXZlbnQucm93KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjb25maXJtQW5kQWRkQ2xpY2spPVwiY29uZmlybUFuZEFkZCgkZXZlbnQuZXZlbnQsICRldmVudC5yb3cpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhY2t3YXJkKT1cImNvbmZpcm1BbmRCYWNrd2FyZCgkZXZlbnQuZXZlbnQsICRldmVudC5yb3cpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcndhcmQpPVwiY29uZmlybUFuZEZvcndhcmQoJGV2ZW50LmV2ZW50LCAkZXZlbnQucm93KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtjYW5DYW5jZWxdPVwiZmFsc2VcIj5cbiAgICAgIDwvYXBwLWFjdGlvbnMtY29sdW1uPlxuXG4gICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZVwiPjwvdHI+XG4gICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIlxuICAgICAgICAgIFtjbGFzcy5tYXQtcm93LXNlbGVjdGVkXT1cInJvdy5lZGl0aW5nXCJcbiAgICAgICAgICBbY2xhc3MubWF0LXJvdy1lcnJvcl09XCJyb3cudmFsaWRhdG9yPy5pbnZhbGlkXCJcbiAgICAgICAgICBbY2xhc3MubWF0LXJvdy1kaXJ0eV09XCJyb3cudmFsaWRhdG9yPy5kaXJ0eVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsaWNrUm93KCRldmVudCwgcm93KVwiXG4gICAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cImVzY2FwZUVkaXRpbmdSb3coJGV2ZW50KVwiXG4gICAgICAgICAgW2Nka1RyYXBGb2N1c109XCJyb3cudmFsaWRhdG9yPy5pbnZhbGlkXCI+PC90cj5cbiAgICA8L3RhYmxlPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdTdWJqZWN0fGFzeW5jOyBlbHNlIG5vUmVzdWx0XCI+XG4gICAgICA8aW9uLWl0ZW0+XG4gICAgICAgIDxpb24tc2tlbGV0b24tdGV4dCBhbmltYXRlZD48L2lvbi1za2VsZXRvbi10ZXh0PlxuICAgICAgPC9pb24taXRlbT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbm9SZXN1bHQ+XG4gICAgICA8aW9uLWl0ZW0gKm5nSWY9XCJ0b3RhbFJvd0NvdW50ID09PSAwXCI+XG4gICAgICAgIDxpb24tdGV4dCBjb2xvcj1cImRhbmdlclwiIGNsYXNzPVwidGV4dC1pdGFsaWNcIiB0cmFuc2xhdGU+Q09NTU9OLk5PX1JFU1VMVDwvaW9uLXRleHQ+XG4gICAgICA8L2lvbi1pdGVtPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgPC9kaXY+XG48L2lvbi1jb250ZW50PlxuXG48aW9uLWZhYiBzbG90PVwiZml4ZWRcIiB2ZXJ0aWNhbD1cImJvdHRvbVwiIGhvcml6b250YWw9XCJlbmRcIiAqbmdJZj1cIm1vYmlsZVwiPlxuICA8aW9uLWZhYi1idXR0b24gY29sb3I9XCJ0ZXJ0aWFyeVwiIChjbGljayk9XCJhZGRUb2tlbigkZXZlbnQpXCI+XG4gICAgPGlvbi1pY29uIG5hbWU9XCJhZGRcIj48L2lvbi1pY29uPlxuICA8L2lvbi1mYWItYnV0dG9uPlxuPC9pb24tZmFiPlxuIl19
@@ -137,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
137
137
  }], onSubmit: [{
138
138
  type: Output
139
139
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2F1dGgvYXV0aC5mb3JtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2F1dGgvYXV0aC5mb3JtLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBb0IsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5SSxPQUFPLEVBQXFCLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUt6RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUUvRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDM0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBRW5FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVWhELE1BQU0sT0FBTyxXQUFZLFNBQVEsT0FBaUI7SUFxQnRDO0lBQ0E7SUFDRDtJQUNDO0lBQ21DO0lBdkJwQyxNQUFNLENBQVU7SUFDekIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLFdBQVcsQ0FBVTtJQUNyQixtQkFBbUIsQ0FBUztJQUVsQixRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUNuQyxRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztJQUVsRCxPQUFPLENBQUMsSUFBa0Q7UUFDeEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMs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QUNWLENBQUM7SUFFRCwrQkFBK0I7SUFFckIsWUFBWTtRQUNwQixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7dUdBdkhVLFdBQVcsMFFBeUJBLFdBQVc7MkZBekJ0QixXQUFXLHFJQ3hCeEIsdXdHQThFQSxxL0hEekRjLENBQUMsb0JBQW9CLENBQUM7OzJGQUd2QixXQUFXO2tCQVB2QixTQUFTOytCQUNFLGVBQWUsY0FHYixDQUFDLG9CQUFvQixDQUFDLG1CQUNqQix1QkFBdUIsQ0FBQyxNQUFNOzswQkEyQjVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsV0FBVzt5Q0FqQnZCLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RvciwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01vZGFsQ29udHJvbGxlcn0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHtSZWdpc3Rlck1vZGFsfSBmcm9tICcuLi9yZWdpc3Rlci9yZWdpc3Rlci5tb2RhbCc7XG5pbXBvcnQge0F1dGhEYXRhfSBmcm9tICcuLi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuaW1wb3J0IHtOZXR3b3JrU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvbmV0d29yay5zZXJ2aWNlJztcbmltcG9ydCB7QXV0aFRva2VuVHlwZX0gZnJvbSAnLi4vc2VydmljZXMvbmV0d29yay50eXBlcyc7XG5pbXBvcnQge0xvY2FsU2V0dGluZ3NTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9sb2NhbC1zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7c2xpZGVVcERvd25BbmltYXRpb259IGZyb20gJy4uLy4uL3NoYXJlZC9tYXRlcmlhbC9tYXRlcmlhbC5hbmltYXRpb25zJztcbmltcG9ydCB7UGxhdGZvcm1TZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9wbGF0Zm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7QXBwRm9ybX0gZnJvbSAnLi4vZm9ybS9mb3JtLmNsYXNzJztcbmltcG9ydCB7RU5WSVJPTk1FTlR9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudC5jbGFzcyc7XG5pbXBvcnQge0NPUkVfQ09ORklHX09QVElPTlN9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy9jb3JlLmNvbmZpZyc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7QXBwRm9ybVV0aWxzfSBmcm9tICcuLi9mb3JtL2Zvcm0udXRpbHMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hdXRoLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJ2F1dGguZm9ybS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0aC5mb3JtLnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW3NsaWRlVXBEb3duQW5pbWF0aW9uXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQXBwQXV0aEZvcm0gZXh0ZW5kcyBBcHBGb3JtPEF1dGhEYXRhPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcmVhZG9ubHkgbW9iaWxlOiBib29sZWFuO1xuICBjYW5Xb3JrT2ZmbGluZSA9IGZhbHNlO1xuICBzaG93UHdkID0gZmFsc2U7XG4gIGNhblJlZ2lzdGVyOiBib29sZWFuO1xuICB1c2VybmFtZVBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIG9uQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvblN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8QXV0aERhdGE+KCk7XG5cbiAgZGlzYWJsZShvcHRzPzogeyBvbmx5U2VsZj86IGJvb2xlYW47IGVtaXRFdmVudD86IGJvb2xlYW4gfSkge1xuICAgIHN1cGVyLmRpc2FibGUob3B0cyk7XG4gICAgdGhpcy5zaG93UHdkID0gZmFsc2U7IC8vIEhpZGUgcHdkIHdoZW4gZGlzYWJsZSAoZS5nLiB3aGVuIHN1Ym1pdHRlZClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwbGF0Zm9ybTogUGxhdGZvcm1TZXJ2aWNlLFxuICAgIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgc2V0dGluZ3M6IExvY2FsU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIG1vZGFsQ3RybDogTW9kYWxDb250cm9sbGVyLFxuICAgIHB1YmxpYyBuZXR3b3JrOiBOZXR3b3JrU2VydmljZSxcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEVOVklST05NRU5UKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnRcbiAgKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IsXG4gICAgICBmb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICB1c2VybmFtZTogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgcGFzc3dvcmQ6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIG9mZmxpbmU6IFtuZXR3b3JrLm9mZmxpbmVdXG4gICAgfSkpO1xuXG4gICAgdGhpcy5tb2JpbGUgPSBzZXR0aW5ncy5tb2JpbGU7XG4gICAgdGhpcy5jYW5Xb3JrT2ZmbGluZSA9IHRoaXMuc2V0dGluZ3MuaGFzT2ZmbGluZUZlYXR1cmUoKTtcbiAgICB0aGlzLl9lbmFibGUgPSB0cnVlO1xuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgLy8gTG9hZCBjb25maWcsIHRvIHNldCB1c2VybmFtZSdzIGxhYmVsIGFuZCB2YWxpZGF0b3JcbiAgICB0aGlzLnJlZ2lzdGVyU3Vic2NyaXB0aW9uKFxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZy5zdWJzY3JpYmUoY29uZmlnID0+IHtcbiAgICAgICAgLy8gU2V0IHRoZSB1c2VybmFtZSBwbGFjZWhvbGRlciwgd2l0aCBlbWFpbCBvciB1c2VybmFtZVxuICAgICAgICBjb25zdCB0b2tlblR5cGUgPSBjb25maWcuZ2V0UHJvcGVydHkoQ09SRV9DT05GSUdfT1BUSU9OUy5BVVRIX1RPS0VOX1RZUEUpIGFzIEF1dGhUb2tlblR5cGU7XG4gICAgICAgIGlmICh0b2tlblR5cGUgPT09ICd0b2tlbicpIHtcbiAgICAgICAgICB0aGlzLnVzZXJuYW1lUGxhY2Vob2xkZXIgPSAnVVNFUi5FTUFJTCc7XG4gICAgICAgICAgdGhpcy5mb3JtLmdldCgndXNlcm5hbWUnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0pKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB0aGlzLnVzZXJuYW1lUGxhY2Vob2xkZXIgPSAnVVNFUi5VU0VSTkFNRSc7XG4gICAgICAgICAgdGhpcy5mb3JtLmdldCgndXNlcm5hbWUnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRW5hYmxlL2Rpc2FibGUgcmVnaXN0cmF0aW9uIGxpbmtcbiAgICAgICAgdGhpcy5jYW5SZWdpc3RlciA9IGNvbmZpZy5nZXRQcm9wZXJ0eUFzQm9vbGVhbihDT1JFX0NPTkZJR19PUFRJT05TLlJFR0lTVFJBVElPTl9FTkFCTEUpO1xuXG4gICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICAvLyBGb3IgREVWIG9ubHlcbiAgICBpZiAodGhpcy5lbnZpcm9ubWVudCAmJiB0aGlzLmVudmlyb25tZW50LnByb2R1Y3Rpb24gPT09IGZhbHNlICYmIHRoaXMuZW52aXJvbm1lbnQuZGVmYXVsdEF1dGhWYWx1ZXMpIHtcbiAgICAgIC8vIFNldCB0aGUgZGVmYXVsdCB1c2VyLCBmb3IgdGVzdGluZy5cbiAgICAgIC8vIE92ZXJyaWRlIHVzaW5nIGVudmlyb25tZW50LCBpZiBhbnlcbiAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHRoaXMuZW52aXJvbm1lbnQuZGVmYXVsdEF1dGhWYWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNhbmNlbCgpIHtcbiAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoKTtcbiAgfVxuXG4gIGFzeW5jIGRvU3VibWl0KGV2ZW50PzogRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sb2FkaW5nKSByZXR1cm47XG5cbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgYXdhaXQgQXBwRm9ybVV0aWxzLndhaXRXaGlsZVBlbmRpbmcodGhpcy5mb3JtKTtcbiAgICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xuICAgICAgICBBcHBGb3JtVXRpbHMubG9nRm9ybUVycm9ycyh0aGlzLmZvcm0pO1xuICAgICAgICByZXR1cm47IC8vIFNraXAgaWYgaW52YWxpZFxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubWFya0FzTG9hZGluZygpO1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmZvcm0udmFsdWU7XG4gICAgdGhpcy5zaG93UHdkID0gZmFsc2U7IC8vIEhpZGUgcGFzc3dvcmRcbiAgICB0aGlzLmVycm9yID0gbnVsbDsgLy8gUmVzZXQgZXJyb3JcblxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vblN1Ym1pdC5lbWl0KHtcbiAgICAgIHVzZXJuYW1lOiBkYXRhLnVzZXJuYW1lLFxuICAgICAgcGFzc3dvcmQ6IGRhdGEucGFzc3dvcmQsXG4gICAgICBvZmZsaW5lOiBkYXRhLm9mZmxpbmVcbiAgICB9KSk7XG4gIH1cblxuICByZWdpc3RlcigpIHtcbiAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoKTtcbiAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1vZGFsID0gYXdhaXQgdGhpcy5tb2RhbEN0cmwuY3JlYXRlKHtcbiAgICAgICAgY29tcG9uZW50OiBSZWdpc3Rlck1vZGFsLFxuICAgICAgICBiYWNrZHJvcERpc21pc3M6IGZhbHNlXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBtb2RhbC5wcmVzZW50KCk7XG4gICAgfSwgMjAwKTtcbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBmdW5jdGlvbnMgLS0gKi9cblxuICBwcm90ZWN0ZWQgbWFya0ZvckNoZWNrKCkge1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIG5vdmFsaWRhdGUgKG5nU3VibWl0KT1cImRvU3VibWl0KCRldmVudClcIiBjbGFzcz1cImZvcm0tY29udGFpbmVyIGlvbi1wYWRkaW5nXCIgKGtleXVwLmVudGVyKT1cImRvU3VibWl0KCRldmVudClcIj5cblxuICA8IS0tIGVycm9yIC0tPlxuICA8aW9uLWl0ZW0gbGluZXM9XCJub25lXCIgKm5nSWY9XCJlcnJvciAmJiAhbG9hZGluZ1wiIEBzbGlkZVVwRG93bkFuaW1hdGlvbj5cbiAgICA8aW9uLWljb24gY29sb3I9XCJkYW5nZXJcIiBzbG90PVwic3RhcnRcIiBuYW1lPVwiYWxlcnQtY2lyY2xlXCI+PC9pb24taWNvbj5cbiAgICA8aW9uLWxhYmVsIGNvbG9yPVwiZGFuZ2VyXCIgY2xhc3M9XCJlcnJvclwiIFtpbm5lckhUTUxdPVwiZXJyb3J8dHJhbnNsYXRlXCI+PC9pb24tbGFiZWw+XG4gIDwvaW9uLWl0ZW0+XG5cbiAgPCEtLSBVc2VybmFtZSAtLT5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3t1c2VybmFtZVBsYWNlaG9sZGVyfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IFthcHBBdXRvZm9jdXNdPVwidHJ1ZVwiIFthdXRvZm9jdXNEZWxheV09XCI1MDBcIlxuICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgIHJlcXVpcmVkPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLnVzZXJuYW1lLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGZvcm0uY29udHJvbHMudXNlcm5hbWUuZGlydHlcIiB0cmFuc2xhdGU+RVJST1IuRklFTERfUkVRVUlSRUQ8L21hdC1lcnJvcj5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy51c2VybmFtZS5oYXNFcnJvcignZW1haWwnKSAmJiBmb3JtLmNvbnRyb2xzLnVzZXJuYW1lLmRpcnR5XCI+XG4gICAgICA8c3Bhbj57eydFUlJPUi5GSUVMRF9OT1RfVkFMSURfRU1BSUwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvbWF0LWVycm9yPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDwhLS0gUGFzc3dvcmQgLS0+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7J1VTRVIuUEFTU1dPUkQnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0XG4gICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwic2VjdGlvbi1yZWQgbmV3LXBhc3N3b3JkXCJcbiAgICAgICAgICAgW3R5cGVdPVwic2hvd1B3ZCA/ICd0ZXh0JyA6ICdwYXNzd29yZCdcIlxuICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiZG9TdWJtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgIHJlcXVpcmVkPlxuXG4gICAgPCEtLSBTaG93IHB3ZCBidXR0b24gLS0+XG4gICAgPGJ1dHRvbiBtYXRTdWZmaXggdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJzaG93UHdkID0gIXNob3dQd2RcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgPG1hdC1pY29uPnt7c2hvd1B3ZCA/ICd2aXNpYmlsaXR5X29mZicgOiAndmlzaWJpbGl0eSd9fTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMucGFzc3dvcmQuaGFzRXJyb3IoJ3JlcXVpcmVkJykgJiYgZm9ybS5jb250cm9scy5wYXNzd29yZC50b3VjaGVkXCIgdHJhbnNsYXRlPkVSUk9SLkZJRUxEX1JFUVVJUkVEPC9tYXQtZXJyb3I+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhbldvcmtPZmZsaW5lXCI+XG4gICAgPCEtLSBGb3JjZSBvZmZsaW5lIChkZXNrdG9wKSAtLT5cbiAgICA8bWF0LWZvcm0tZmllbGQgaGlkZGVuLXhzIGhpZGRlbi1zbSBoaWRkZW4tbW9iaWxlIFtjb2xvcl09XCInbWVkaXVtJyB8IG1hdENvbG9yXCI+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgaGlkZGVuIGZvcm1Db250cm9sTmFtZT1cIm9mZmxpbmVcIiB0eXBlPVwidGV4dFwiPlxuXG4gICAgICA8IS0tIGNoZWNrIGJveCAgLS0+XG4gICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgIFtkaXNhYmxlZF09XCJuZXR3b3JrLm9mZmxpbmVcIlxuICAgICAgICAoY2hhbmdlKT1cImZvcm0uY29udHJvbHMub2ZmbGluZS5zZXRWYWx1ZSgkZXZlbnQuY2hlY2tlZClcIlxuICAgICAgICBbY2hlY2tlZF09XCJmb3JtLmNvbnRyb2xzLm9mZmxpbmUudmFsdWVcIj5cbiAgICAgICAgPGlvbi10ZXh0IGNvbG9yPVwibWVkaXVtXCIgdHJhbnNsYXRlPkFVVEguT0ZGTElORV9NT0RFPC9pb24tdGV4dD5cbiAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8IS0tIEZvcmNlIG9mZmxpbmUgKG1vYmlsZSkgLS0+XG4gICAgPG1hdC1mb3JtLWZpZWxkIHZpc2libGUteHMgdmlzaWJsZS1zbSB2aXNpYmxlLW1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiJ21lZGl1bScgfCBtYXRDb2xvclwiPlxuICAgICAgPGlucHV0IG1hdElucHV0IGhpZGRlbiBmb3JtQ29udHJvbE5hbWU9XCJvZmZsaW5lXCIgdHlwZT1cInRleHRcIj5cbiAgICAgIDwhLS0gc2xpZGUgdG9nZ2xlICAtLT5cbiAgICAgIDxpb24tdGV4dCBjb2xvcj1cIm1lZGl1bVwiIHRyYW5zbGF0ZT5BVVRILk9GRkxJTkVfTU9ERTwvaW9uLXRleHQ+XG4gICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJuZXR3b3JrLm9mZmxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJmb3JtLmNvbnRyb2xzLm9mZmxpbmUuc2V0VmFsdWUoJGV2ZW50LmNoZWNrZWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImZvcm0uY29udHJvbHMub2ZmbGluZS52YWx1ZVwiPlxuICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gTm90IHJlZ2lzdGVyIHlldCA/IC0tPlxuICA8cCAqbmdJZj1cImNhblJlZ2lzdGVyXCIgY2xhc3M9XCJwYWRkaW5nXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+XG4gICAgPHNwYW4gdHJhbnNsYXRlPkFVVEguTk9fQUNDT1VOVF9RVUVTVElPTjwvc3Bhbj5cbiAgICA8YnIvPlxuICAgIDxhIGhyZWY9XCIjXCIgKGNsaWNrKT1cInJlZ2lzdGVyKClcIj5cbiAgICAgIDxzcGFuIHRyYW5zbGF0ZT5BVVRILkJUTl9SRUdJU1RFUjwvc3Bhbj5cbiAgICA8L2E+XG4gIDwvcD5cbjwvZm9ybT5cbiJdfQ==
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2F1dGgvYXV0aC5mb3JtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2F1dGgvYXV0aC5mb3JtLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBb0IsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5SSxPQUFPLEVBQXFCLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUt6RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUUvRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDM0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBRW5FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVWhELE1BQU0sT0FBTyxXQUFZLFNBQVEsT0FBaUI7SUFxQnRDO0lBQ0E7SUFDRDtJQUNDO0lBQ21DO0lBdkJwQyxNQUFNLENBQVU7SUFDekIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLFdBQVcsQ0FBVTtJQUNyQixtQkFBbUIsQ0FBUztJQUVsQixRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUNuQyxRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztJQUVsRCxPQUFPLENBQUMsSUFBa0Q7UUFDeEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMs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QU8sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCwrQkFBK0I7SUFFckIsWUFBWTtRQUNwQixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7dUdBdkhVLFdBQVcsMFFBeUJBLFdBQVc7MkZBekJ0QixXQUFXLHFJQ3hCeEIsdXdHQThFQSxxL0hEekRjLENBQUMsb0JBQW9CLENBQUM7OzJGQUd2QixXQUFXO2tCQVB2QixTQUFTOytCQUNFLGVBQWUsY0FHYixDQUFDLG9CQUFvQixDQUFDLG1CQUNqQix1QkFBdUIsQ0FBQyxNQUFNOzswQkEyQjVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsV0FBVzt5Q0FqQnZCLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RvciwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01vZGFsQ29udHJvbGxlcn0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHtSZWdpc3Rlck1vZGFsfSBmcm9tICcuLi9yZWdpc3Rlci9yZWdpc3Rlci5tb2RhbCc7XG5pbXBvcnQge0F1dGhEYXRhfSBmcm9tICcuLi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuaW1wb3J0IHtOZXR3b3JrU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvbmV0d29yay5zZXJ2aWNlJztcbmltcG9ydCB7QXV0aFRva2VuVHlwZX0gZnJvbSAnLi4vc2VydmljZXMvbmV0d29yay50eXBlcyc7XG5pbXBvcnQge0xvY2FsU2V0dGluZ3NTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9sb2NhbC1zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7c2xpZGVVcERvd25BbmltYXRpb259IGZyb20gJy4uLy4uL3NoYXJlZC9tYXRlcmlhbC9tYXRlcmlhbC5hbmltYXRpb25zJztcbmltcG9ydCB7UGxhdGZvcm1TZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9wbGF0Zm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7QXBwRm9ybX0gZnJvbSAnLi4vZm9ybS9mb3JtLmNsYXNzJztcbmltcG9ydCB7RU5WSVJPTk1FTlR9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudC5jbGFzcyc7XG5pbXBvcnQge0NPUkVfQ09ORklHX09QVElPTlN9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy9jb3JlLmNvbmZpZyc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7QXBwRm9ybVV0aWxzfSBmcm9tICcuLi9mb3JtL2Zvcm0udXRpbHMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hdXRoLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJ2F1dGguZm9ybS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0aC5mb3JtLnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW3NsaWRlVXBEb3duQW5pbWF0aW9uXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQXBwQXV0aEZvcm0gZXh0ZW5kcyBBcHBGb3JtPEF1dGhEYXRhPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcmVhZG9ubHkgbW9iaWxlOiBib29sZWFuO1xuICBjYW5Xb3JrT2ZmbGluZSA9IGZhbHNlO1xuICBzaG93UHdkID0gZmFsc2U7XG4gIGNhblJlZ2lzdGVyOiBib29sZWFuO1xuICB1c2VybmFtZVBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIG9uQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvblN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8QXV0aERhdGE+KCk7XG5cbiAgZGlzYWJsZShvcHRzPzogeyBvbmx5U2VsZj86IGJvb2xlYW47IGVtaXRFdmVudD86IGJvb2xlYW4gfSkge1xuICAgIHN1cGVyLmRpc2FibGUob3B0cyk7XG4gICAgdGhpcy5zaG93UHdkID0gZmFsc2U7IC8vIEhpZGUgcHdkIHdoZW4gZGlzYWJsZSAoZS5nLiB3aGVuIHN1Ym1pdHRlZClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwbGF0Zm9ybTogUGxhdGZvcm1TZXJ2aWNlLFxuICAgIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgc2V0dGluZ3M6IExvY2FsU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIG1vZGFsQ3RybDogTW9kYWxDb250cm9sbGVyLFxuICAgIHB1YmxpYyBuZXR3b3JrOiBOZXR3b3JrU2VydmljZSxcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEVOVklST05NRU5UKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnRcbiAgKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IsXG4gICAgICBmb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICB1c2VybmFtZTogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgcGFzc3dvcmQ6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIG9mZmxpbmU6IFtuZXR3b3JrLm9mZmxpbmVdXG4gICAgfSkpO1xuXG4gICAgdGhpcy5tb2JpbGUgPSBzZXR0aW5ncy5tb2JpbGU7XG4gICAgdGhpcy5jYW5Xb3JrT2ZmbGluZSA9IHRoaXMuc2V0dGluZ3MuaGFzT2ZmbGluZUZlYXR1cmUoKTtcbiAgICB0aGlzLl9lbmFibGUgPSB0cnVlO1xuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgLy8gTG9hZCBjb25maWcsIHRvIHNldCB1c2VybmFtZSdzIGxhYmVsIGFuZCB2YWxpZGF0b3JcbiAgICB0aGlzLnJlZ2lzdGVyU3Vic2NyaXB0aW9uKFxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZy5zdWJzY3JpYmUoY29uZmlnID0+IHtcbiAgICAgICAgLy8gU2V0IHRoZSB1c2VybmFtZSBwbGFjZWhvbGRlciwgd2l0aCBlbWFpbCBvciB1c2VybmFtZVxuICAgICAgICBjb25zdCB0b2tlblR5cGUgPSBjb25maWcuZ2V0UHJvcGVydHkoQ09SRV9DT05GSUdfT1BUSU9OUy5BVVRIX1RPS0VOX1RZUEUpIGFzIEF1dGhUb2tlblR5cGU7XG4gICAgICAgIGlmICh0b2tlblR5cGUgPT09ICd0b2tlbicpIHtcbiAgICAgICAgICB0aGlzLnVzZXJuYW1lUGxhY2Vob2xkZXIgPSAnVVNFUi5FTUFJTCc7XG4gICAgICAgICAgdGhpcy5mb3JtLmdldCgndXNlcm5hbWUnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0pKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB0aGlzLnVzZXJuYW1lUGxhY2Vob2xkZXIgPSAnVVNFUi5VU0VSTkFNRSc7XG4gICAgICAgICAgdGhpcy5mb3JtLmdldCgndXNlcm5hbWUnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRW5hYmxlL2Rpc2FibGUgcmVnaXN0cmF0aW9uIGxpbmtcbiAgICAgICAgdGhpcy5jYW5SZWdpc3RlciA9IGNvbmZpZy5nZXRQcm9wZXJ0eUFzQm9vbGVhbihDT1JFX0NPTkZJR19PUFRJT05TLlJFR0lTVFJBVElPTl9FTkFCTEUpO1xuXG4gICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICAvLyBGb3IgREVWIG9ubHlcbiAgICBpZiAodGhpcy5lbnZpcm9ubWVudCAmJiB0aGlzLmVudmlyb25tZW50LnByb2R1Y3Rpb24gPT09IGZhbHNlICYmIHRoaXMuZW52aXJvbm1lbnQuZGVmYXVsdEF1dGhWYWx1ZXMpIHtcbiAgICAgIC8vIFNldCB0aGUgZGVmYXVsdCB1c2VyLCBmb3IgdGVzdGluZy5cbiAgICAgIC8vIE92ZXJyaWRlIHVzaW5nIGVudmlyb25tZW50LCBpZiBhbnlcbiAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHRoaXMuZW52aXJvbm1lbnQuZGVmYXVsdEF1dGhWYWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNhbmNlbCgpIHtcbiAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoKTtcbiAgfVxuXG4gIGFzeW5jIGRvU3VibWl0KGV2ZW50PzogRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sb2FkaW5nKSByZXR1cm47XG5cbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgYXdhaXQgQXBwRm9ybVV0aWxzLndhaXRXaGlsZVBlbmRpbmcodGhpcy5mb3JtKTtcbiAgICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xuICAgICAgICBBcHBGb3JtVXRpbHMubG9nRm9ybUVycm9ycyh0aGlzLmZvcm0pO1xuICAgICAgICByZXR1cm47IC8vIFNraXAgaWYgaW52YWxpZFxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubWFya0FzTG9hZGluZygpO1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmZvcm0udmFsdWU7XG4gICAgdGhpcy5zaG93UHdkID0gZmFsc2U7IC8vIEhpZGUgcGFzc3dvcmRcbiAgICB0aGlzLmVycm9yID0gbnVsbDsgLy8gUmVzZXQgZXJyb3JcblxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vblN1Ym1pdC5lbWl0KHtcbiAgICAgIHVzZXJuYW1lOiBkYXRhLnVzZXJuYW1lLFxuICAgICAgcGFzc3dvcmQ6IGRhdGEucGFzc3dvcmQsXG4gICAgICBvZmZsaW5lOiBkYXRhLm9mZmxpbmVcbiAgICB9KSk7XG4gIH1cblxuICByZWdpc3RlcigpIHtcbiAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoKTtcbiAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1vZGFsID0gYXdhaXQgdGhpcy5tb2RhbEN0cmwuY3JlYXRlKHtcbiAgICAgICAgY29tcG9uZW50OiBSZWdpc3Rlck1vZGFsLFxuICAgICAgICBiYWNrZHJvcERpc21pc3M6IGZhbHNlXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBtb2RhbC5wcmVzZW50KCk7XG4gICAgfSwgMjAwKTtcbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBmdW5jdGlvbnMgLS0gKi9cblxuICBwcm90ZWN0ZWQgbWFya0ZvckNoZWNrKCkge1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIG5vdmFsaWRhdGUgKG5nU3VibWl0KT1cImRvU3VibWl0KCRldmVudClcIiBjbGFzcz1cImZvcm0tY29udGFpbmVyIGlvbi1wYWRkaW5nXCIgKGtleXVwLmVudGVyKT1cImRvU3VibWl0KCRldmVudClcIj5cblxuICA8IS0tIGVycm9yIC0tPlxuICA8aW9uLWl0ZW0gbGluZXM9XCJub25lXCIgKm5nSWY9XCJlcnJvciAmJiAhbG9hZGluZ1wiIEBzbGlkZVVwRG93bkFuaW1hdGlvbj5cbiAgICA8aW9uLWljb24gY29sb3I9XCJkYW5nZXJcIiBzbG90PVwic3RhcnRcIiBuYW1lPVwiYWxlcnQtY2lyY2xlXCI+PC9pb24taWNvbj5cbiAgICA8aW9uLWxhYmVsIGNvbG9yPVwiZGFuZ2VyXCIgY2xhc3M9XCJlcnJvclwiIFtpbm5lckhUTUxdPVwiZXJyb3J8dHJhbnNsYXRlXCI+PC9pb24tbGFiZWw+XG4gIDwvaW9uLWl0ZW0+XG5cbiAgPCEtLSBVc2VybmFtZSAtLT5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3t1c2VybmFtZVBsYWNlaG9sZGVyfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IFthcHBBdXRvZm9jdXNdPVwidHJ1ZVwiIFthdXRvZm9jdXNEZWxheV09XCI1MDBcIlxuICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgIHJlcXVpcmVkPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLnVzZXJuYW1lLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGZvcm0uY29udHJvbHMudXNlcm5hbWUuZGlydHlcIiB0cmFuc2xhdGU+RVJST1IuRklFTERfUkVRVUlSRUQ8L21hdC1lcnJvcj5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy51c2VybmFtZS5oYXNFcnJvcignZW1haWwnKSAmJiBmb3JtLmNvbnRyb2xzLnVzZXJuYW1lLmRpcnR5XCI+XG4gICAgICA8c3Bhbj57eydFUlJPUi5GSUVMRF9OT1RfVkFMSURfRU1BSUwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvbWF0LWVycm9yPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDwhLS0gUGFzc3dvcmQgLS0+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7J1VTRVIuUEFTU1dPUkQnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0XG4gICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwic2VjdGlvbi1yZWQgbmV3LXBhc3N3b3JkXCJcbiAgICAgICAgICAgW3R5cGVdPVwic2hvd1B3ZCA/ICd0ZXh0JyA6ICdwYXNzd29yZCdcIlxuICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiZG9TdWJtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgIHJlcXVpcmVkPlxuXG4gICAgPCEtLSBTaG93IHB3ZCBidXR0b24gLS0+XG4gICAgPGJ1dHRvbiBtYXRTdWZmaXggdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJzaG93UHdkID0gIXNob3dQd2RcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgPG1hdC1pY29uPnt7c2hvd1B3ZCA/ICd2aXNpYmlsaXR5X29mZicgOiAndmlzaWJpbGl0eSd9fTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMucGFzc3dvcmQuaGFzRXJyb3IoJ3JlcXVpcmVkJykgJiYgZm9ybS5jb250cm9scy5wYXNzd29yZC50b3VjaGVkXCIgdHJhbnNsYXRlPkVSUk9SLkZJRUxEX1JFUVVJUkVEPC9tYXQtZXJyb3I+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhbldvcmtPZmZsaW5lXCI+XG4gICAgPCEtLSBGb3JjZSBvZmZsaW5lIChkZXNrdG9wKSAtLT5cbiAgICA8bWF0LWZvcm0tZmllbGQgaGlkZGVuLXhzIGhpZGRlbi1zbSBoaWRkZW4tbW9iaWxlIFtjb2xvcl09XCInbWVkaXVtJyB8IG1hdENvbG9yXCI+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgaGlkZGVuIGZvcm1Db250cm9sTmFtZT1cIm9mZmxpbmVcIiB0eXBlPVwidGV4dFwiPlxuXG4gICAgICA8IS0tIGNoZWNrIGJveCAgLS0+XG4gICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgIFtkaXNhYmxlZF09XCJuZXR3b3JrLm9mZmxpbmVcIlxuICAgICAgICAoY2hhbmdlKT1cImZvcm0uY29udHJvbHMub2ZmbGluZS5zZXRWYWx1ZSgkZXZlbnQuY2hlY2tlZClcIlxuICAgICAgICBbY2hlY2tlZF09XCJmb3JtLmNvbnRyb2xzLm9mZmxpbmUudmFsdWVcIj5cbiAgICAgICAgPGlvbi10ZXh0IGNvbG9yPVwibWVkaXVtXCIgdHJhbnNsYXRlPkFVVEguT0ZGTElORV9NT0RFPC9pb24tdGV4dD5cbiAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8IS0tIEZvcmNlIG9mZmxpbmUgKG1vYmlsZSkgLS0+XG4gICAgPG1hdC1mb3JtLWZpZWxkIHZpc2libGUteHMgdmlzaWJsZS1zbSB2aXNpYmxlLW1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiJ21lZGl1bScgfCBtYXRDb2xvclwiPlxuICAgICAgPGlucHV0IG1hdElucHV0IGhpZGRlbiBmb3JtQ29udHJvbE5hbWU9XCJvZmZsaW5lXCIgdHlwZT1cInRleHRcIj5cbiAgICAgIDwhLS0gc2xpZGUgdG9nZ2xlICAtLT5cbiAgICAgIDxpb24tdGV4dCBjb2xvcj1cIm1lZGl1bVwiIHRyYW5zbGF0ZT5BVVRILk9GRkxJTkVfTU9ERTwvaW9uLXRleHQ+XG4gICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJuZXR3b3JrLm9mZmxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJmb3JtLmNvbnRyb2xzLm9mZmxpbmUuc2V0VmFsdWUoJGV2ZW50LmNoZWNrZWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImZvcm0uY29udHJvbHMub2ZmbGluZS52YWx1ZVwiPlxuICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gTm90IHJlZ2lzdGVyIHlldCA/IC0tPlxuICA8cCAqbmdJZj1cImNhblJlZ2lzdGVyXCIgY2xhc3M9XCJwYWRkaW5nXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+XG4gICAgPHNwYW4gdHJhbnNsYXRlPkFVVEguTk9fQUNDT1VOVF9RVUVTVElPTjwvc3Bhbj5cbiAgICA8YnIvPlxuICAgIDxhIGhyZWY9XCIjXCIgKGNsaWNrKT1cInJlZ2lzdGVyKClcIj5cbiAgICAgIDxzcGFuIHRyYW5zbGF0ZT5BVVRILkJUTl9SRUdJU1RFUjwvc3Bhbj5cbiAgICA8L2E+XG4gIDwvcD5cbjwvZm9ybT5cbiJdfQ==
@@ -73,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
73
73
  type: ViewChild,
74
74
  args: ['form', { static: true }]
75
75
  }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2RhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9hdXRoL2F1dGgubW9kYWwudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvYXV0aC9hdXRoLm1vZGFsLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFxQixTQUFTLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3ZHLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBUTVELE1BQU0sT0FBTyxZQUFZO0lBUUg7SUFDQTtJQUNBO0lBUnBCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7SUFDNUIsQ0FBQztJQUU0QyxJQUFJLENBQWM7SUFFL0QsWUFBb0IsY0FBOEIsRUFDOUIsUUFBeUIsRUFDekIsRUFBcUI7UUFGckIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLE9BQUUsR0FBRixFQUFFLENBQW1CO0lBRXpDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM3QixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFckIsSUFBSTtZQUNGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBRTdCLG1CQUFtQjtZQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRXBCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN2QztRQUNELE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDO1lBQzVDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUVwQixrQkFBa0I7WUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUVuQixtQ0FBbUM7WUFDbkMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPO1NBQ1I7SUFDSCxDQUFDO0lBRVMsWUFBWTtRQUNwQixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFUyxhQUFhLENBQUMsSUFBNEI7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVTLFlBQVksQ0FBQyxJQUE0QjtRQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO3VHQW5FVSxZQUFZOzJGQUFaLFlBQVksZ0tDWHpCLGdtREF5REE7OzJGRDlDYSxZQUFZO2tCQUx4QixTQUFTO3NDQUdTLHVCQUF1QixDQUFDLE1BQU07aUpBUUYsSUFBSTtzQkFBaEQsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNb2RhbENvbnRyb2xsZXJ9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7QWNjb3VudFNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2FjY291bnQuc2VydmljZSc7XG5pbXBvcnQge2ZpcnN0Tm90TmlsUHJvbWlzZX0gZnJvbSAnLi4vLi4vc2hhcmVkL29ic2VydmFibGVzJztcbmltcG9ydCB7QXBwQXV0aEZvcm19IGZyb20gJy4vYXV0aC5mb3JtJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnYXV0aC5tb2RhbC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0aC5tb2RhbC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFwcEF1dGhNb2RhbCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgZ2V0IGxvYWRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybT8ubG9hZGluZztcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2Zvcm0nLCB7IHN0YXRpYzogdHJ1ZSB9KSBwcml2YXRlIGZvcm06IEFwcEF1dGhGb3JtO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHZpZXdDdHJsOiBNb2RhbENvbnRyb2xsZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICAgICAgICAgICAgICkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb3JtLm1hcmtBc1JlYWR5KHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgdGhpcy5mb3JtLm1hcmtBc0xvYWRlZCgpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMudmlld0N0cmwuZGlzbWlzcygpO1xuICB9XG5cbiAgYXN5bmMgZG9TdWJtaXQoKTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAodGhpcy5mb3JtLmRpc2FibGVkKSByZXR1cm47XG4gICAgaWYgKCF0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubWFya0FzTG9hZGluZygpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmZvcm0udmFsdWU7XG5cbiAgICAgIC8vIERpc2FibGUgdGhlIGZvcm1cbiAgICAgIHRoaXMuZm9ybS5kaXNhYmxlKCk7XG5cbiAgICAgIGNvbnN0IGFjY291bnQgPSBhd2FpdCB0aGlzLmFjY291bnRTZXJ2aWNlLmxvZ2luKGRhdGEpO1xuICAgICAgcmV0dXJuIHRoaXMudmlld0N0cmwuZGlzbWlzcyhhY2NvdW50KTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5mb3JtLmVycm9yID0gZXJyICYmIGVyci5tZXNzYWdlIHx8IGVycjtcbiAgICAgIHRoaXMubWFya0FzTG9hZGVkKCk7XG5cbiAgICAgIC8vIEVuYWJsZSB0aGUgZm9ybVxuICAgICAgdGhpcy5mb3JtLmVuYWJsZSgpO1xuXG4gICAgICAvLyBSZXNldCBmb3JtIGVycm9yIG9uIG5leHQgY2hhbmdlc1xuICAgICAgZmlyc3ROb3ROaWxQcm9taXNlKHRoaXMuZm9ybS5mb3JtLnZhbHVlQ2hhbmdlcykudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybS5lcnJvciA9IG51bGw7XG4gICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBtYXJrQXNMb2FkaW5nKG9wdHM/OiB7ZW1pdEV2ZW50PzogYm9vbGVhbn0pIHtcbiAgICB0aGlzLmZvcm0ubWFya0FzTG9hZGluZyhvcHRzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBtYXJrQXNMb2FkZWQob3B0cz86IHtlbWl0RXZlbnQ/OiBib29sZWFufSkge1xuICAgIHRoaXMuZm9ybS5tYXJrQXNMb2FkZWQob3B0cyk7XG4gIH1cbn1cbiIsIjxpb24taGVhZGVyPlxuICA8aW9uLXRvb2xiYXIgY29sb3I9XCJhY2NlbnRcIj5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XG4gICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsKClcIiB2aXNpYmxlLXhzIHZpc2libGUtc20gdmlzaWJsZS1tb2JpbGU+XG4gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImFycm93LWJhY2tcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG5cbiAgICA8aW9uLXRpdGxlPlxuICAgICAge3snQVVUSC5USVRMRSd8dHJhbnNsYXRlfX1cbiAgICA8L2lvbi10aXRsZT5cblxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICA8aW9uLXNwaW5uZXIgKm5nSWY9XCJsb2FkaW5nXCI+PC9pb24tc3Bpbm5lcj5cblxuICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgKGNsaWNrKT1cImRvU3VibWl0KClcIiAqbmdJZj1cIiFsb2FkaW5nXCJcbiAgICAgICAgdmlzaWJsZS14cyB2aXNpYmxlLXNtIHZpc2libGUtbW9iaWxlPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjaGVja21hcmtcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG4gIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1oZWFkZXI+XG5cbjxpb24tY29udGVudD5cbiAgPGFwcC1hdXRoLWZvcm0gI2Zvcm1cbiAgICAgICAgICAgICAgICAgKG9uU3VibWl0KT1cImRvU3VibWl0KClcIlxuICAgICAgICAgICAgICAgICAob25DYW5jZWwpPVwiY2FuY2VsKClcIj5cbiAgPC9hcHAtYXV0aC1mb3JtPlxuPC9pb24tY29udGVudD5cblxuPGlvbi1mb290ZXIgaGlkZGVuLXhzIGhpZGRlbi1zbSBoaWRkZW4tbW9iaWxlPlxuXG4gIDxpb24tdG9vbGJhcj5cblxuICAgIDxpb24tcm93IGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIiBub3dyYXA+XG4gICAgICA8aW9uLWNvbD48L2lvbi1jb2w+XG5cbiAgICAgIDwhLS0gYnV0dG9ucyAtLT5cbiAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG4gICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwiZGFya1wiIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPkNPTU1PTi5CVE5fQ0FOQ0VMPC9pb24tbGFiZWw+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICA8aW9uLWJ1dHRvbiBbZmlsbF09XCJmb3JtLmludmFsaWQgPyAnY2xlYXInIDogJ3NvbGlkJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nIHx8IGZvcm0uaW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkb1N1Ym1pdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImRvU3VibWl0KClcIlxuICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInRlcnRpYXJ5XCI+XG4gICAgICAgICAgPGlvbi1sYWJlbCB0cmFuc2xhdGU+QVVUSC5CVE5fTE9HSU48L2lvbi1sYWJlbD5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cblxuXG4gIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1mb290ZXI+XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2RhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9hdXRoL2F1dGgubW9kYWwudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvYXV0aC9hdXRoLm1vZGFsLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFxQixTQUFTLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3ZHLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBUTVELE1BQU0sT0FBTyxZQUFZO0lBUUg7SUFDQTtJQUNBO0lBUnBCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7SUFDNUIsQ0FBQztJQUU0QyxJQUFJLENBQWM7SUFFL0QsWUFBb0IsY0FBOEIsRUFDOUIsUUFBeUIsRUFDekIsRUFBcUI7UUFGckIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLE9BQUUsR0FBRixFQUFFLENBQW1CO0lBRXpDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzdCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJCLElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBRTdCLG1CQUFtQjtZQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRXBCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQztZQUM1QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFcEIsa0JBQWtCO1lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFbkIsbUNBQW1DO1lBQ25DLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTztRQUNULENBQUM7SUFDSCxDQUFDO0lBRVMsWUFBWTtRQUNwQixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFUyxhQUFhLENBQUMsSUFBNEI7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVTLFlBQVksQ0FBQyxJQUE0QjtRQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO3VHQW5FVSxZQUFZOzJGQUFaLFlBQVksZ0tDWHpCLGdtREF5REE7OzJGRDlDYSxZQUFZO2tCQUx4QixTQUFTO3NDQUdTLHVCQUF1QixDQUFDLE1BQU07aUpBUUYsSUFBSTtzQkFBaEQsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNb2RhbENvbnRyb2xsZXJ9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7QWNjb3VudFNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2FjY291bnQuc2VydmljZSc7XG5pbXBvcnQge2ZpcnN0Tm90TmlsUHJvbWlzZX0gZnJvbSAnLi4vLi4vc2hhcmVkL29ic2VydmFibGVzJztcbmltcG9ydCB7QXBwQXV0aEZvcm19IGZyb20gJy4vYXV0aC5mb3JtJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnYXV0aC5tb2RhbC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0aC5tb2RhbC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFwcEF1dGhNb2RhbCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgZ2V0IGxvYWRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybT8ubG9hZGluZztcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2Zvcm0nLCB7IHN0YXRpYzogdHJ1ZSB9KSBwcml2YXRlIGZvcm06IEFwcEF1dGhGb3JtO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHZpZXdDdHJsOiBNb2RhbENvbnRyb2xsZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICAgICAgICAgICAgICkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb3JtLm1hcmtBc1JlYWR5KHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgdGhpcy5mb3JtLm1hcmtBc0xvYWRlZCgpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMudmlld0N0cmwuZGlzbWlzcygpO1xuICB9XG5cbiAgYXN5bmMgZG9TdWJtaXQoKTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAodGhpcy5mb3JtLmRpc2FibGVkKSByZXR1cm47XG4gICAgaWYgKCF0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubWFya0FzTG9hZGluZygpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmZvcm0udmFsdWU7XG5cbiAgICAgIC8vIERpc2FibGUgdGhlIGZvcm1cbiAgICAgIHRoaXMuZm9ybS5kaXNhYmxlKCk7XG5cbiAgICAgIGNvbnN0IGFjY291bnQgPSBhd2FpdCB0aGlzLmFjY291bnRTZXJ2aWNlLmxvZ2luKGRhdGEpO1xuICAgICAgcmV0dXJuIHRoaXMudmlld0N0cmwuZGlzbWlzcyhhY2NvdW50KTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5mb3JtLmVycm9yID0gZXJyICYmIGVyci5tZXNzYWdlIHx8IGVycjtcbiAgICAgIHRoaXMubWFya0FzTG9hZGVkKCk7XG5cbiAgICAgIC8vIEVuYWJsZSB0aGUgZm9ybVxuICAgICAgdGhpcy5mb3JtLmVuYWJsZSgpO1xuXG4gICAgICAvLyBSZXNldCBmb3JtIGVycm9yIG9uIG5leHQgY2hhbmdlc1xuICAgICAgZmlyc3ROb3ROaWxQcm9taXNlKHRoaXMuZm9ybS5mb3JtLnZhbHVlQ2hhbmdlcykudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybS5lcnJvciA9IG51bGw7XG4gICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBtYXJrQXNMb2FkaW5nKG9wdHM/OiB7ZW1pdEV2ZW50PzogYm9vbGVhbn0pIHtcbiAgICB0aGlzLmZvcm0ubWFya0FzTG9hZGluZyhvcHRzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBtYXJrQXNMb2FkZWQob3B0cz86IHtlbWl0RXZlbnQ/OiBib29sZWFufSkge1xuICAgIHRoaXMuZm9ybS5tYXJrQXNMb2FkZWQob3B0cyk7XG4gIH1cbn1cbiIsIjxpb24taGVhZGVyPlxuICA8aW9uLXRvb2xiYXIgY29sb3I9XCJhY2NlbnRcIj5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XG4gICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsKClcIiB2aXNpYmxlLXhzIHZpc2libGUtc20gdmlzaWJsZS1tb2JpbGU+XG4gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImFycm93LWJhY2tcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG5cbiAgICA8aW9uLXRpdGxlPlxuICAgICAge3snQVVUSC5USVRMRSd8dHJhbnNsYXRlfX1cbiAgICA8L2lvbi10aXRsZT5cblxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICA8aW9uLXNwaW5uZXIgKm5nSWY9XCJsb2FkaW5nXCI+PC9pb24tc3Bpbm5lcj5cblxuICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgKGNsaWNrKT1cImRvU3VibWl0KClcIiAqbmdJZj1cIiFsb2FkaW5nXCJcbiAgICAgICAgdmlzaWJsZS14cyB2aXNpYmxlLXNtIHZpc2libGUtbW9iaWxlPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjaGVja21hcmtcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG4gIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1oZWFkZXI+XG5cbjxpb24tY29udGVudD5cbiAgPGFwcC1hdXRoLWZvcm0gI2Zvcm1cbiAgICAgICAgICAgICAgICAgKG9uU3VibWl0KT1cImRvU3VibWl0KClcIlxuICAgICAgICAgICAgICAgICAob25DYW5jZWwpPVwiY2FuY2VsKClcIj5cbiAgPC9hcHAtYXV0aC1mb3JtPlxuPC9pb24tY29udGVudD5cblxuPGlvbi1mb290ZXIgaGlkZGVuLXhzIGhpZGRlbi1zbSBoaWRkZW4tbW9iaWxlPlxuXG4gIDxpb24tdG9vbGJhcj5cblxuICAgIDxpb24tcm93IGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIiBub3dyYXA+XG4gICAgICA8aW9uLWNvbD48L2lvbi1jb2w+XG5cbiAgICAgIDwhLS0gYnV0dG9ucyAtLT5cbiAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG4gICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwiZGFya1wiIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPkNPTU1PTi5CVE5fQ0FOQ0VMPC9pb24tbGFiZWw+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICA8aW9uLWJ1dHRvbiBbZmlsbF09XCJmb3JtLmludmFsaWQgPyAnY2xlYXInIDogJ3NvbGlkJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nIHx8IGZvcm0uaW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkb1N1Ym1pdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImRvU3VibWl0KClcIlxuICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInRlcnRpYXJ5XCI+XG4gICAgICAgICAgPGlvbi1sYWJlbCB0cmFuc2xhdGU+QVVUSC5CVE5fTE9HSU48L2lvbi1sYWJlbD5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cblxuXG4gIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1mb290ZXI+XG4iXX0=