@sumaris-net/ngx-components 18.17.7-rc3 → 18.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/doc/changelog.md +6 -1
  2. package/esm2022/src/app/admin/users/users-select.modal.mjs +1 -1
  3. package/esm2022/src/app/admin/users/users.mjs +1 -1
  4. package/esm2022/src/app/core/about/about.modal.mjs +1 -1
  5. package/esm2022/src/app/core/account/account.page.mjs +1 -1
  6. package/esm2022/src/app/core/account/new-token.form.mjs +1 -1
  7. package/esm2022/src/app/core/account/new-token.modal.mjs +1 -1
  8. package/esm2022/src/app/core/account/password/change-password.form.mjs +1 -1
  9. package/esm2022/src/app/core/account/password/change-password.page.mjs +1 -1
  10. package/esm2022/src/app/core/account/token.table.mjs +1 -1
  11. package/esm2022/src/app/core/auth/auth.form.mjs +1 -1
  12. package/esm2022/src/app/core/auth/auth.modal.mjs +1 -1
  13. package/esm2022/src/app/core/auth/reset-password.modal.mjs +1 -1
  14. package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +1 -1
  15. package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +1 -1
  16. package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +1 -1
  17. package/esm2022/src/app/core/form/list/list.form.mjs +1 -1
  18. package/esm2022/src/app/core/form/properties/properties-file.service.mjs +133 -0
  19. package/esm2022/src/app/core/form/properties/properties.form.mjs +97 -19
  20. package/esm2022/src/app/core/form/properties/properties.module.mjs +53 -5
  21. package/esm2022/src/app/core/form/properties/properties.table.mjs +1 -1
  22. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +4 -5
  23. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +1 -1
  24. package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +1 -1
  25. package/esm2022/src/app/core/form/username/username.form.mjs +1 -1
  26. package/esm2022/src/app/core/home/home.mjs +1 -1
  27. package/esm2022/src/app/core/icon/icon.component.mjs +1 -1
  28. package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +1 -1
  29. package/esm2022/src/app/core/menu/menu.component.mjs +1 -1
  30. package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +1 -1
  31. package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +1 -1
  32. package/esm2022/src/app/core/menu/testing/menu.testing.mjs +1 -1
  33. package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +1 -1
  34. package/esm2022/src/app/core/peer/select-peer.modal.mjs +1 -1
  35. package/esm2022/src/app/core/register/register-confirm.page.mjs +1 -1
  36. package/esm2022/src/app/core/register/register.form.mjs +1 -1
  37. package/esm2022/src/app/core/register/register.modal.mjs +1 -1
  38. package/esm2022/src/app/core/services/account.service.mjs +2 -2
  39. package/esm2022/src/app/core/services/local-settings.service.mjs +43 -42
  40. package/esm2022/src/app/core/services/model/config.model.mjs +1 -1
  41. package/esm2022/src/app/core/services/pipes/account.pipes.mjs +1 -1
  42. package/esm2022/src/app/core/services/pipes/department-to-string.pipe.mjs +1 -1
  43. package/esm2022/src/app/core/services/pipes/person-to-string.pipe.mjs +1 -1
  44. package/esm2022/src/app/core/services/pipes/referential-to-string.pipe.mjs +1 -1
  45. package/esm2022/src/app/core/services/pipes/usage-mode.pipes.mjs +1 -1
  46. package/esm2022/src/app/core/settings/settings.page.mjs +2 -2
  47. package/esm2022/src/app/core/table/async-table.class.mjs +3 -3
  48. package/esm2022/src/app/core/table/column/actions-column.component.mjs +1 -1
  49. package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +1 -1
  50. package/esm2022/src/app/core/table/column/row-field.component.mjs +1 -1
  51. package/esm2022/src/app/core/table/table-select-columns.component.mjs +1 -1
  52. package/esm2022/src/app/core/table/table.class.mjs +3 -3
  53. package/esm2022/src/app/core/table/table.pipes.mjs +1 -1
  54. package/esm2022/src/app/core/table/table.utils.mjs +1 -1
  55. package/esm2022/src/app/core/table/testing/table.testing.mjs +1 -1
  56. package/esm2022/src/app/core/table/testing/table2.testing.mjs +1 -1
  57. package/esm2022/src/app/shared/audio/audio.testing.mjs +1 -1
  58. package/esm2022/src/app/shared/debug/debug.component.mjs +1 -1
  59. package/esm2022/src/app/shared/directives/autofocus.directive.mjs +1 -1
  60. package/esm2022/src/app/shared/directives/autoresize.directive.mjs +1 -1
  61. package/esm2022/src/app/shared/directives/autotitle.directive.mjs +1 -1
  62. package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +1 -1
  63. package/esm2022/src/app/shared/directives/ng-var.directive.mjs +1 -1
  64. package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +1 -1
  65. package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +1 -1
  66. package/esm2022/src/app/shared/directives/throttled-click.directive.mjs +1 -1
  67. package/esm2022/src/app/shared/form/field.component.mjs +1 -1
  68. package/esm2022/src/app/shared/form/loading-spinner.mjs +11 -11
  69. package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +1 -1
  70. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +3 -3
  71. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +1 -1
  72. package/esm2022/src/app/shared/markdown/markdown.component.mjs +17 -17
  73. package/esm2022/src/app/shared/markdown/markdown.directive.mjs +1 -1
  74. package/esm2022/src/app/shared/markdown/markdown.modal.mjs +1 -1
  75. package/esm2022/src/app/shared/markdown/markdown.service.mjs +1 -1
  76. package/esm2022/src/app/shared/markdown/testing/markdown.test.mjs +1 -1
  77. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +1 -1
  78. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +1 -1
  79. package/esm2022/src/app/shared/material/badge/badge.directive.mjs +1 -1
  80. package/esm2022/src/app/shared/material/badge/badge.test.mjs +3 -3
  81. package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +1 -1
  82. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +1 -1
  83. package/esm2022/src/app/shared/material/chips/material.chips.mjs +1 -1
  84. package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +1 -1
  85. package/esm2022/src/app/shared/material/datetime/material.date.mjs +1 -1
  86. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +1 -1
  87. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +3 -3
  88. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +1 -1
  89. package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +1 -1
  90. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +1 -1
  91. package/esm2022/src/app/shared/material/duration/material.duration.mjs +1 -1
  92. package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +1 -1
  93. package/esm2022/src/app/shared/material/latlong/material.latlong-input.mjs +1 -1
  94. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +1 -1
  95. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +1 -1
  96. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +1 -1
  97. package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +1 -1
  98. package/esm2022/src/app/shared/material/test/test-component.mjs +43 -43
  99. package/esm2022/src/app/shared/material/testing/common.test.mjs +1 -1
  100. package/esm2022/src/app/shared/material/text/testing/text-form.testing.mjs +1 -1
  101. package/esm2022/src/app/shared/material/text/text-form.component.mjs +1 -1
  102. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +1 -1
  103. package/esm2022/src/app/shared/named-filter/testing/named-filter-selector.testing.mjs +1 -1
  104. package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +1 -1
  105. package/esm2022/src/app/shared/pipes/badge.pipes.mjs +1 -1
  106. package/esm2022/src/app/shared/pipes/colors.pipe.mjs +1 -1
  107. package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +1 -1
  108. package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +1 -1
  109. package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +1 -1
  110. package/esm2022/src/app/shared/pipes/dates.pipe.mjs +1 -1
  111. package/esm2022/src/app/shared/pipes/display-with.pipe.mjs +1 -1
  112. package/esm2022/src/app/shared/pipes/duration.pipe.mjs +1 -1
  113. package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +1 -1
  114. package/esm2022/src/app/shared/pipes/form.pipes.mjs +1 -1
  115. package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +1 -1
  116. package/esm2022/src/app/shared/pipes/html.pipes.mjs +1 -1
  117. package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +1 -1
  118. package/esm2022/src/app/shared/pipes/maps.pipe.mjs +1 -1
  119. package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +1 -1
  120. package/esm2022/src/app/shared/pipes/math.pipes.mjs +1 -1
  121. package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +1 -1
  122. package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +1 -1
  123. package/esm2022/src/app/shared/pipes/observable.pipes.mjs +1 -1
  124. package/esm2022/src/app/shared/pipes/property.pipes.mjs +1 -1
  125. package/esm2022/src/app/shared/pipes/selection.pipes.mjs +1 -1
  126. package/esm2022/src/app/shared/pipes/string.pipes.mjs +1 -1
  127. package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +1 -1
  128. package/esm2022/src/app/shared/pipes/types.pipes.mjs +1 -1
  129. package/esm2022/src/app/shared/pipes/url.pipes.mjs +1 -1
  130. package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +1 -1
  131. package/esm2022/src/app/shared/testing/maskito.test.mjs +1 -1
  132. package/esm2022/src/app/shared/testing/observable.test.mjs +1 -1
  133. package/esm2022/src/app/shared/testing/tests.page.mjs +1 -1
  134. package/esm2022/src/app/shared/toast/toast.testing.mjs +1 -1
  135. package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +1 -1
  136. package/esm2022/src/app/shared/toolbar/toolbar.mjs +1 -1
  137. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +1 -1
  138. package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +1 -1
  139. package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +1 -1
  140. package/esm2022/src/app/social/feed/feed.component.mjs +3 -3
  141. package/esm2022/src/app/social/feed/feed.directive.mjs +1 -1
  142. package/esm2022/src/app/social/feed/feed.page.mjs +1 -1
  143. package/esm2022/src/app/social/feed/testing/feed.testing.mjs +1 -1
  144. package/esm2022/src/app/social/job/progression/job-progression.component.mjs +1 -1
  145. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +1 -1
  146. package/esm2022/src/app/social/job/progression/job-progression.list.mjs +1 -1
  147. package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +1 -1
  148. package/esm2022/src/app/social/message/message.form.mjs +1 -1
  149. package/esm2022/src/app/social/message/message.modal.mjs +1 -1
  150. package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +1 -1
  151. package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +1 -1
  152. package/esm2022/src/app/social/user-event/notification/user-event-notification.modal.mjs +1 -1
  153. package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +1 -1
  154. package/fesm2022/sumaris-net.ngx-components.mjs +422 -184
  155. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  156. package/package.json +1 -1
  157. package/src/app/core/form/properties/properties-file.service.d.ts +26 -0
  158. package/src/app/core/form/properties/properties.form.d.ts +18 -2
  159. package/src/app/core/form/properties/properties.module.d.ts +8 -1
  160. package/src/app/core/services/local-settings.service.d.ts +9 -8
  161. package/src/app/core/table/async-table.class.d.ts +3 -1
  162. package/src/app/core/table/table.class.d.ts +3 -1
  163. package/src/assets/i18n/en-US.json +32 -3
  164. package/src/assets/i18n/en.json +32 -3
  165. package/src/assets/i18n/fr.json +34 -4
  166. package/src/assets/manifest.json +1 -1
  167. package/src/theme/_ngx-components.scss +1009 -1009
@@ -255,4 +255,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
255
255
  type: ViewChild,
256
256
  args: ['splitPane', { static: true }]
257
257
  }] } });
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvbWVudS9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9tZW51L21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTWxJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFlLFdBQVcsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBa0MsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBVzlELE1BQU0sT0FBTyxhQUFhO0lBc0JaO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDcUI7SUFDVDtJQTlCZixFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQ1osTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUNoQixJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ2QsU0FBUyxHQUFHLGNBQWMsQ0FBQztJQUMzQixJQUFJLENBQVM7SUFDYixPQUFPLENBQVM7SUFDaEIsVUFBVSxHQUFvQixRQUFRLENBQUM7SUFDdkMsVUFBVSxDQUFTO0lBRWMsU0FBUyxDQUFlO0lBRWxFLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDZixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLFdB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QUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVvQyxTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElvblNwbGl0UGFuZSwgTWVudUNvbnRyb2xsZXIsIE1vZGFsQ29udHJvbGxlciwgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuXHJcbmltcG9ydCB7IEFjY291bnQgfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9hY2NvdW50Lm1vZGVsJztcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgZmFkZUluU2xvd0FuaW1hdGlvbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9tYXRlcmlhbC9tYXRlcmlhbC5hbmltYXRpb25zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50LCBFTlZJUk9OTUVOVCB9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudC5jbGFzcyc7XHJcbmltcG9ydCB7IERFRkFVTFRfTUVOVV9TSE9XX1dIRU4sIE1lbnVTZXJ2aWNlLCBTcGxpdFBhbmVTaG93V2hlbiB9IGZyb20gJy4vbWVudS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSU1lbnVJdGVtLCBNZW51SXRlbSB9IGZyb20gJy4vbWVudS5tb2RlbCc7XHJcbmltcG9ydCB7IGZpcnN0Tm90TmlsUHJvbWlzZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9vYnNlcnZhYmxlcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBSeFN0cmF0ZWd5TmFtZXMgfSBmcm9tICdAcngtYW5ndWxhci9jZGsvcmVuZGVyLXN0cmF0ZWdpZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICdtZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW2ZhZGVJblNsb3dBbmltYXRpb25dLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgaWQgPSAnbWVudSc7XHJcbiAgQElucHV0KCkgbWVudUlkID0gJ2xlZnQnO1xyXG4gIEBJbnB1dCgpIHNpZGUgPSAnbGVmdCc7XHJcbiAgQElucHV0KCkgY29udGVudElkID0gJ21lbnUtY29udGVudCc7XHJcbiAgQElucHV0KCkgbG9nbzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFwcE5hbWU6IHN0cmluZztcclxuICBASW5wdXQoKSByeFN0cmF0ZWd5OiBSeFN0cmF0ZWd5TmFtZXMgPSAnbm9ybWFsJztcclxuICBASW5wdXQoKSBhcHBWZXJzaW9uOiBzdHJpbmc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3NwbGl0UGFuZScsIHsgc3RhdGljOiB0cnVlIH0pIHNwbGl0UGFuZTogSW9uU3BsaXRQYW5lO1xyXG5cclxuICBsb2FkaW5nID0gdHJ1ZTtcclxuICBpc0xvZ2luID0gZmFsc2U7XHJcbiAgYWNjb3VudE5hbWU6IHN0cmluZztcclxuICBhY2NvdW50QXZhdGFyOiBzdHJpbmc7XHJcbiAgYWNjb3VudEVtYWlsOiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlYnVnOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIG5hdkNvbnRyb2xsZXI6IE5hdkNvbnRyb2xsZXIsXHJcbiAgICBwcm90ZWN0ZWQgbWVudTogTWVudUNvbnRyb2xsZXIsXHJcbiAgICBwcm90ZWN0ZWQgbW9kYWxDdHJsOiBNb2RhbENvbnRyb2xsZXIsXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByb3RlY3RlZCBtZW51U2VydmljZTogTWVudVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBASW5qZWN0KEVOVklST05NRU5UKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50LFxyXG4gICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSAvLyBNb2RhbCBlZGl0b3IgZ2l2ZSAnbnVsbCdcclxuICApIHtcclxuICAgIGNvbnNvbGUuZGVidWcoJ1ttZW51LWNvbXBvbmVudF0gQ3JlYXRlJyk7XHJcbiAgICB0aGlzLmFwcFZlcnNpb24gPSBlbnZpcm9ubWVudC52ZXJzaW9uO1xyXG4gICAgdGhpcy5fZGVidWcgPSAhZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zcGxpdFBhbmUud2hlbiA9IGF3YWl0IGZpcnN0Tm90TmlsUHJvbWlzZSh0aGlzLm1lbnVTZXJ2aWNlLnNwbGl0UGFuZVdoZW4pO1xyXG5cclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMubWVudVNlcnZpY2UuYWNjb3VudENoYW5nZXMuc3Vic2NyaWJlKChhY2NvdW50KSA9PiB7XHJcbiAgICAgICAgaWYgKGFjY291bnQpIHRoaXMub25Mb2dpbihhY2NvdW50KTtcclxuICAgICAgICBlbHNlIHRoaXMub25Mb2dvdXQodHJ1ZSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIC8vIExpc3RlbiB0byBtZW51IHNlcnZpY2UgZXZlbnRcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQodGhpcy5tZW51U2VydmljZS5zcGxpdFBhbmVXaGVuLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMuc2V0U3BsaXRQYW5lV2hlbih2YWx1ZSkpKTtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQodGhpcy5tZW51U2VydmljZS5lbmFibGVkLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMuZW5hYmxlKHZhbHVlKSkpO1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgdGhpcy5tZW51U2VydmljZS5vcGVuZWRcclxuICAgICAgICAvLyBBdm9pZCBkdXBsaWNhdGVkIGV2ZW50c1xyXG4gICAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+ICh2YWx1ZSA/IHRoaXMub3Blbih7IGVtaXRFdmVudDogZmFsc2UgfSkgOiB0aGlzLmNsb3NlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KSkpXHJcbiAgICApO1xyXG5cclxuICAgIC8vIFRPRE8gOiBGaW5kIGEgbW9yZSByZWxpYWJsZSB3YXkgdG8gZG8gdGhpcyA6XHJcbiAgICAvLyAgICBNdXN0IGJlIGRvbm5lIGFmdGVyIG1lbnVTZXJ2aWNlIHN1YnNjcmlwdGlvbiA6XHJcbiAgICAvLyAgICAtIEluIE1lbnVTZXJ2aWNlLm5nT25TdGFydCBhY2NvdW50Q2hhbmdlcyBjaGFuZ2Ugd2lsbCBiZSBlbWl0dGVkIGJlZm9yZSB0aGUgc2VydmljZSBpcyByZWFkeVxyXG4gICAgLy8gICAgLSBUaGlzIGlzIHJlcXVpcmVkIGJlY2F1c2Ugc3ViamVjdERhdGEgYmUgZmlsbGVkIGFmdGVyIGdldCBhY2NvdW50IGNoYW5nZVxyXG4gICAgLy8gICAgICBhbmQgTWVudVNlcnZpY2UgYXdhaXQgZm9yIHN1YmplY3REYXRhIGJlIGZpbGxlZCB0byBiZSByZWFkeVxyXG4gICAgYXdhaXQgdGhpcy5tZW51U2VydmljZS5yZWFkeSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25Mb2dpbihhY2NvdW50OiBBY2NvdW50KSB7XHJcbiAgICBjb25zb2xlLmluZm8oJ1ttZW51XSBVcGRhdGUgKG9uIGxvZ2luKScpO1xyXG4gICAgdGhpcy5hY2NvdW50QXZhdGFyID0gYWNjb3VudC5hdmF0YXI7XHJcbiAgICB0aGlzLmFjY291bnROYW1lID0gYWNjb3VudC5kaXNwbGF5TmFtZTtcclxuICAgIHRoaXMuYWNjb3VudEVtYWlsID0gYWNjb3VudC5lbWFpbDtcclxuICAgIHRoaXMuaXNMb2dpbiA9IHRydWU7XHJcbiAgICB0aGlzLm1hcmtBc0xvYWRlZCh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25Mb2dvdXQoc2tpcFJlZGlyZWN0PzogYm9vbGVhbikge1xyXG4gICAgaWYgKCF0aGlzLmlzTG9naW4pIHtcclxuICAgICAgdGhpcy5tYXJrQXNMb2FkZWQoKTtcclxuICAgICAgcmV0dXJuOyAvLyBTa2lwIGlmIGFscmVhZHkgbG9nb3V0XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFza2lwUmVkaXJlY3QpIHtcclxuICAgICAgY29uc29sZS5kZWJ1ZygnW21lbnVdIExvZ291dCcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5kZWJ1ZygnW21lbnVdIFVwZGF0ZSAob24gbG9nb3V0KScpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY2NvdW50QXZhdGFyID0gbnVsbDtcclxuICAgIHRoaXMuYWNjb3VudEVtYWlsID0gbnVsbDtcclxuICAgIHRoaXMuYWNjb3VudE5hbWUgPSBudWxsO1xyXG5cclxuICAgIC8vIFdhaXQgdGhlIGVuZCBvZiBmYWRlb3V0LCB0byByZXNldCB0aGUgYWNjb3VudFxyXG4gICAgaWYgKCFza2lwUmVkaXJlY3QpIHtcclxuICAgICAgYXdhaXQgdGhpcy5uYXZDb250cm9sbGVyLm5hdmlnYXRlUm9vdCgnLycpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaXNMb2dpbiA9IGZhbHNlO1xyXG4gICAgdGhpcy5tYXJrQXNMb2FkZWQoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBJTWVudUl0ZW0pIHtcclxuICAgIHJldHVybiBpdGVtLmlkLnRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBlbmFibGUodmFsdWU6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IGVuYWJsZWQgPSBhd2FpdCB0aGlzLm1lbnUuaXNFbmFibGVkKHRoaXMubWVudUlkKTtcclxuICAgIGlmIChlbmFibGVkICE9PSB2YWx1ZSkge1xyXG4gICAgICBhd2FpdCB0aGlzLm1lbnUuZW5hYmxlKHZhbHVlLCB0aGlzLm1lbnVJZCk7XHJcbiAgICAgIGlmICghdmFsdWUpIGF3YWl0IHRoaXMuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIG9wZW4ob3B0cz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBjb25zb2xlLmRlYnVnKCdbbWVudV0gQ2hlY2tpbmcgb3BlbiBldmVudC4uLicpO1xyXG4gICAgY29uc3Qgb3BlbmVkID0gYXdhaXQgdGhpcy5tZW51LmlzT3Blbih0aGlzLm1lbnVJZCk7XHJcbiAgICBpZiAoIW9wZW5lZCkge1xyXG4gICAgICBjb25zb2xlLmRlYnVnKCdbbWVudV0gT3BlbmluZyBtZW51Jyk7XHJcbiAgICAgIGF3YWl0IHRoaXMubWVudS5vcGVuKHRoaXMubWVudUlkKTtcclxuXHJcbiAgICAgIC8vIFByb3BhZ2F0ZSB0byBzZXJ2aWNlXHJcbiAgICAgIGlmICghb3B0cyB8fCBvcHRzLmVtaXRFdmVudCAhPT0gZmFsc2UpIHtcclxuICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLl9tYXJrQXNPcGVuZWQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBhc3luYyBjbG9zZShvcHRzPzogeyBlbWl0RXZlbnQ/OiBib29sZWFuIH0pOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGNvbnNvbGUuZGVidWcoJ1ttZW51XSBDaGVja2luZyBjbG9zZSBldmVudC4uLicpO1xyXG4gICAgY29uc3Qgb3BlbmVkID0gYXdhaXQgdGhpcy5tZW51LmlzT3Blbih0aGlzLm1lbnVJZCk7XHJcbiAgICBpZiAob3BlbmVkKSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoJ1ttZW51XSBDbG9zaW5nIG1lbnUnKTtcclxuICAgICAgYXdhaXQgdGhpcy5tZW51LmNsb3NlKHRoaXMubWVudUlkKTtcclxuXHJcbiAgICAgIC8vIFByb3BhZ2F0ZSB0byBzZXJ2aWNlXHJcbiAgICAgIGlmICghb3B0cyB8fCBvcHRzLmVtaXRFdmVudCAhPT0gZmFsc2UpIHtcclxuICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLl9tYXJrQXNDbG9zZWQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzZXRTcGxpdFBhbmVXaGVuKHZhbHVlOiBTcGxpdFBhbmVTaG93V2hlbikge1xyXG4gICAgY29uc29sZS5kZWJ1ZygnW21lbnVdIENoZWNraW5nIHNwbGl0UGFuZSB3aGVuLi4uJyk7XHJcbiAgICBpZiAodGhpcy5zcGxpdFBhbmUud2hlbiAhPT0gdmFsdWUpIHtcclxuICAgICAgY29uc29sZS5kZWJ1ZygnW21lbnVdIFNldCBzcGxpdFBhbmUgd2hlbiB0byAnICsgdmFsdWUpO1xyXG4gICAgICB0aGlzLnNwbGl0UGFuZS53aGVuID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgLy8gUHJvcGFnYXRlIHRvIHRoZSBtZW51IHNlcnZpY2VcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm1lbnVTZXJ2aWNlLnNldFNwbGl0UGFuZVNob3dXaGVuKHZhbHVlKSwgMjAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZVNwbGl0UGFuZVNob3coZXZlbnQ/OiBFdmVudCkge1xyXG4gICAgaWYgKGV2ZW50ICYmIGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHJldHVybjtcclxuICAgIGlmIChldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICBpZiAodGhpcy5zcGxpdFBhbmUud2hlbiA9PT0gZmFsc2UpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2V0U3BsaXRQYW5lV2hlbihERUZBVUxUX01FTlVfU0hPV19XSEVOKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNldFNwbGl0UGFuZVdoZW4oZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhlY3V0ZUFjdGlvbihldmVudDogRXZlbnQsIGl0ZW06IE1lbnVJdGVtKSB7XHJcbiAgICB0aGlzLmNsb3NlKCk7XHJcblxyXG4gICAgLy8gRGVsZWdhdGUgZXhlY3V0aW9uIHRvIHNlcnZpY2VcclxuICAgIHJldHVybiB0aGlzLm1lbnVTZXJ2aWNlLmV4ZWN1dGVBY3Rpb24oZXZlbnQsIGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgb25Td2lwZVJpZ2h0KGV2ZW50KSB7XHJcbiAgICAvLyBTa2lwLCBpZiBub3QgYSB2YWxpZCBzd2lwZSBldmVudFxyXG4gICAgaWYgKCFldmVudCB8fCBldmVudC5wb2ludGVyVHlwZSAhPT0gJ3RvdWNoJyB8fCBldmVudC52ZWxvY2l0eSA8IDAuNCkge1xyXG4gICAgICAvL2V2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBXaWxsIG9wZW4gdGhlIGxlZnQgbWVudSwgc28gY2FuY2VsbGVkIHRoaXMgc3dpcGUgZXZlbnRcclxuICAgIGNvbnN0IHN0YXJ0WCA9IGV2ZW50LmNlbnRlci54IC0gZXZlbnQuZGlzdGFuY2U7XHJcbiAgICBpZiAoc3RhcnRYIDw9IDUwKSB7XHJcbiAgICAgIC8vIERFQlVHXHJcbiAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIlttZW51XSBDYW5jZWwgc3dpcGUgcmlnaHQsIGJlY2F1c2UgbmVhciB0aGUgbGVmdCBtZW51IHt4OiBcIiArIHN0YXJ0WCArIFwiLCB2ZWxvY2l0eTogXCIgKyBldmVudC52ZWxvY2l0eSArIFwifVwiKTtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIE9LOiBjb250aW51ZVxyXG5cclxuICAgIC8vIERFQlVHXHJcbiAgICAvL2NvbnNvbGUuZGVidWcoXCJbbWVudV0gUmVjZWl2ZWQgc3dpcGUgcmlnaHQge3g6IFwiICsgc3RhcnRYICsgXCIsIHZlbG9jaXR5OiBcIiArIGV2ZW50LnZlbG9jaXR5ICsgXCJ9XCIpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG1hcmtBc0xvYWRlZChvcHRzPzogeyBlbWl0RXZlbnQ/OiBib29sZWFuIH0pIHtcclxuICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgIGlmICghb3B0cyB8fCBvcHRzLmVtaXRFdmVudCAhPT0gZmFsc2UpIHRoaXMubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0sIDQ1MCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgbWFya0FzTG9hZGluZyhvcHRzPzogeyBlbWl0RXZlbnQ/OiBib29sZWFuIH0pIHtcclxuICAgIGlmICghdGhpcy5sb2FkaW5nKSB7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgICBpZiAoIW9wdHMgfHwgb3B0cy5lbWl0RXZlbnQgIT09IGZhbHNlKSB0aGlzLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGRldGVjdENoYW5nZXMoKSB7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBtYXJrRm9yQ2hlY2soKSB7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCB0b2dnbGVQaW5uZWQoZXZlbnQ6IEV2ZW50LCBpdGVtOiBJTWVudUl0ZW0pIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMubWVudVNlcnZpY2UudG9nZ2xlUGlubmVkKGl0ZW0pO1xyXG4gIH1cclxufVxyXG4iLCI8aW9uLXNwbGl0LXBhbmUgI3NwbGl0UGFuZSBbY29udGVudElkXT1cImNvbnRlbnRJZFwiIChzd2lwZXJpZ2h0KT1cIm9uU3dpcGVSaWdodCgkZXZlbnQpXCI+XG4gIDxpb24tbWVudSBbaWRdPVwiaWRcIiBbbWVudUlkXT1cIm1lbnVJZFwiIFtjb250ZW50SWRdPVwiY29udGVudElkXCI+XG4gICAgPGlvbi1oZWFkZXI+XG4gICAgICA8aW9uLXRvb2xiYXIgKm5nSWY9XCIhbG9hZGluZyAmJiBpc0xvZ2luOyBlbHNlIG5vdExvZ2luXCIgQGZhZGVJblNsb3dBbmltYXRpb24gY2xhc3M9XCJ1c2VyLXRvb2xiYXJcIj5cbiAgICAgICAgPGlvbi1ncmlkPlxuICAgICAgICAgIDxpb24tcm93PlxuICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjRcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwidXNlci1hdmF0YXJcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5wcmltYXJ5XT1cIiFhY2NvdW50QXZhdGFyXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCIndXJsKCcgKyAoYWNjb3VudEF2YXRhciB8fCAnLi9hc3NldHMvaW1nL3BlcnNvbi5wbmcnKSArICcpJ1wiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvYWNjb3VudCddXCJcbiAgICAgICAgICAgICAgICByb3V0ZXJEaXJlY3Rpb249XCJyb290XCJcbiAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiaW9uLWNvbG9yLXByaW1hcnlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ01FTlUuQlROX01ZX0FDQ09VTlQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjhcIiBjbGFzcz1cInVzZXItbG9nb1wiPlxuICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJsb2dvOyBlbHNlIG5vTG9nb1wiXG4gICAgICAgICAgICAgICAgW2F0dHIuc3JjXT1cImxvZ29cIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQVBQX05BTUUnIHwgdHJhbnNsYXRlOiB7IGFwcE5hbWU6IGFwcE5hbWUgfVwiXG4gICAgICAgICAgICAgICAgYWx0PVwiTG9nb1wiXG4gICAgICAgICAgICAgICAgd2lkdGg9XCIxMDhweFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9Mb2dvPlxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwid2lkdGg6IDEwOHB4XCI+e3sgYXBwTmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICA8L2lvbi1yb3c+XG4gICAgICAgICAgPGlvbi1yb3cgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgICAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvYWNjb3VudCddXCJcbiAgICAgICAgICAgICAgICByb3V0ZXJEaXJlY3Rpb249XCJyb290XCJcbiAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwic2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ01FTlUuQlROX01ZX0FDQ09VTlQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC13cmFwIGlvbi10ZXh0LXN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJuby1tYXJnaW4gdXNlcm5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGI+e3sgYWNjb3VudE5hbWUgfX08L2I+XG4gICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgPGg0Pnt7IGFjY291bnRFbWFpbCB9fTwvaDQ+XG4gICAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9pb24tY29sPlxuXG4gICAgICAgICAgICA8IS0tIEluc2VydGlvbiBoZWFkZXJCb3R0b21SaWdodCAtLT5cbiAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJCb3R0b21SaWdodFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgIDwvaW9uLXJvdz5cbiAgICAgICAgPC9pb24tZ3JpZD5cbiAgICAgIDwvaW9uLXRvb2xiYXI+XG5cbiAgICAgIDwhLS0gVXNlciBub3QgbG9nZ2VkIC0tPlxuICAgICAgPG5nLXRlbXBsYXRlICNub3RMb2dpbj5cbiAgICAgICAgPG1hdC10b29sYmFyXG4gICAgICAgICAgY2xhc3M9XCJpb24tcGFkZGluZ1wiXG4gICAgICAgICAgKm5nSWY9XCIhbG9hZGluZ1wiXG4gICAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IHVuc2V0OyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiBhdXRvOyB0ZXh0LWFsaWduOiBjZW50ZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgKm5nSWY9XCJsb2dvXCJcbiAgICAgICAgICAgIFthdHRyLnNyY109XCJsb2dvXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCInQVBQX05BTUUnIHwgdHJhbnNsYXRlOiB7IGFwcE5hbWU6IGFwcE5hbWUgfVwiXG4gICAgICAgICAgICB3aWR0aD1cIjE1MHB4O1wiXG4gICAgICAgICAgICBhbHQ9XCJsb2dvXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxvZ29cIiBzdHlsZT1cIndpZHRoOiAxNTBweFwiPnt7IGFwcE5hbWUgfX08L3NwYW4+XG4gICAgICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvaW9uLWhlYWRlcj5cblxuICAgIDxpb24tY29udGVudCBbY2xhc3MuaGFzLXVzZXItaGVhZGVyXT1cImlzTG9naW5cIj5cbiAgICAgIDwhLS0gd2lsbCBjbG9zZSB0aGUgbWVudSwgYWZ0ZXIgYSBjbGljaywgaW4gbW9iaWxlIC0tPlxuICAgICAgPGlvbi1tZW51LXRvZ2dsZSBhdXRvLWhpZGU9XCJmYWxzZVwiPlxuICAgICAgICA8aW9uLWxpc3QgbGluZXM9XCJub25lXCIgKm5nSWY9XCIhbG9hZGluZ1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKnJ4Rm9yPVwibGV0IGl0ZW0gb2YgbWVudVNlcnZpY2UuZGF0YVN1YmplY3Q7IHN0cmF0ZWd5OiByeFN0cmF0ZWd5OyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51SXRlbTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIGxldmVsOiAwIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9pb24tbGlzdD5cbiAgICAgIDwvaW9uLW1lbnUtdG9nZ2xlPlxuICAgIDwvaW9uLWNvbnRlbnQ+XG5cbiAgICA8aW9uLWZvb3RlciBjbGFzcz1cImhpZGRlbi14cyBoaWRkZW4tc21cIj5cbiAgICAgIDxpb24tdG9vbGJhcj5cbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiPlxuICAgICAgICAgIDxpb24tYnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJtZW51U2VydmljZS5vcGVuQWJvdXRNb2RhbCgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gc2xvdD1cImljb24tb25seVwiPmhlbHBfb3V0bGluZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuXG4gICAgICAgIDxpb24tdGl0bGUgKGNsaWNrKT1cIm1lbnVTZXJ2aWNlLm9wZW5BYm91dE1vZGFsKClcIiBjb2xvcj1cIm1lZGl1bVwiPlxuICAgICAgICAgIHt7ICdNRU5VLkZPT1RFUl9WRVJTSU9OX0FCT1VUJyB8IHRyYW5zbGF0ZTogeyB2ZXJzaW9uOiBhcHBWZXJzaW9uIH0gfX1cbiAgICAgICAgPC9pb24tdGl0bGU+XG5cbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTcGxpdFBhbmVTaG93KCRldmVudClcIlxuICAgICAgICAgICAgY2xhc3M9XCJoaWRkZW4teHMgaGlkZGVuLXNtIGhpZGRlbi1tZFwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiKHNwbGl0UGFuZS53aGVuID8gJ0NPTU1PTi5CVE5fSElERV9NRU5VJyA6ICdDT01NT04uQlROX1NIT1dfTUVOVScpIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IHNwbGl0UGFuZS53aGVuID8gJyYjeGFiOycgOiAnJiN4YmI7JyB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgICA8L2lvbi10b29sYmFyPlxuICAgIDwvaW9uLWZvb3Rlcj5cbiAgPC9pb24tbWVudT5cblxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2lvbi1zcGxpdC1wYW5lPlxuXG48bmctdGVtcGxhdGUgI2hlYWRlckJvdHRvbVJpZ2h0PlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbaGVhZGVyQm90dG9tUmlnaHRdXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNtZW51SXRlbSBsZXQtaXRlbSBsZXQtbGV2ZWw9XCJsZXZlbFwiPlxuICBAaWYgKGl0ZW0uZGl2aWRlcikge1xuICAgIDwhLS0gZGl2aWRlciAtLT5cbiAgICA8aW9uLWl0ZW0tZGl2aWRlciBjbGFzcz1cInt7IGl0ZW0uY3NzQ2xhc3MgfX0ge3sgaXRlbS5jb2xvciB9fVwiIEBmYWRlSW5TbG93QW5pbWF0aW9uPlxuICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiICpuZ0lmPVwiaXRlbS5pY29uXCIgW25hbWVdPVwiaXRlbS5pY29uXCI+PC9pb24taWNvbj5cbiAgICAgIDxtYXQtaWNvbiBzbG90PVwic3RhcnRcIiAqbmdJZj1cIml0ZW0ubWF0SWNvblwiPnt7IGl0ZW0ubWF0SWNvbiB9fTwvbWF0LWljb24+XG4gICAgICA8aW9uLWxhYmVsICpuZ0lmPVwiaXRlbS5jc3NDbGFzcyAhPT0gJ2ZsZXgtc3BhY2VyJ1wiPlxuICAgICAgICA8c3BhbiAqcnhJZj1cIml0ZW0uJHRpdGxlOyBsZXQgdGl0bGU7IGVsc2U6IHNrZWxldG9uVGV4dFwiIFtpbm5lckhUTUxdPVwidGl0bGUgfCB0cmFuc2xhdGVcIj48L3NwYW4+XG4gICAgICA8L2lvbi1sYWJlbD5cbiAgICA8L2lvbi1pdGVtLWRpdmlkZXI+XG4gIH0gQGVsc2UgaWYgKGl0ZW0ucGF0aCAmJiAhaXRlbS5hY3Rpb24pIHtcbiAgICA8IS0tIHRhcHBhYmxlIGxpbmsgLS0+XG4gICAgPGlvbi1pdGVtXG4gICAgICBAZmFkZUluU2xvd0FuaW1hdGlvblxuICAgICAgY2xhc3M9XCJ7eyBpdGVtLmNzc0NsYXNzIH19IHt7IGl0ZW0uY29sb3IgfX1cIlxuICAgICAgW2NsYXNzLm1lbnUtaXRlbS1zdWJdPVwibGV2ZWwgIT09IDBcIlxuICAgICAgdGFwcGFibGVcbiAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucGF0aFwiXG4gICAgICBbcXVlcnlQYXJhbXNdPVwiaXRlbS5wYXRoUGFyYW1zXCJcbiAgICAgIHJvdXRlckRpcmVjdGlvbj1cInJvb3RcIlxuICAgICAgcm91dGVyTGlua0FjdGl2ZT1cInNlbGVjdGVkXCJcbiAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7XG4gICAgICAgIHBhdGhzOiBpdGVtLnBhdGggPT09ICcvJyB8fCBsZXZlbCAhPT0gMCA/ICdleGFjdCcgOiAnc3Vic2V0JyxcbiAgICAgICAgcXVlcnlQYXJhbXM6IGl0ZW0ucGF0aFBhcmFtcz8udGFiIHx8IGxldmVsID09PSAwID8gJ3N1YnNldCcgOiAnZXhhY3QnLFxuICAgICAgICBtYXRyaXhQYXJhbXM6ICdleGFjdCcsXG4gICAgICAgIGZyYWdtZW50OiAnaWdub3JlZCcsXG4gICAgICB9XCJcbiAgICA+XG4gICAgICBAaWYgKGl0ZW0uaWNvbikge1xuICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgW25hbWVdPVwiaXRlbS5pY29uXCI+PC9pb24taWNvbj5cbiAgICAgIH0gQGVsc2UgaWYgKGl0ZW0ubWF0SWNvbikge1xuICAgICAgICA8bWF0LWljb24gc2xvdD1cInN0YXJ0XCI+e3sgaXRlbS5tYXRJY29uIH19PC9tYXQtaWNvbj5cbiAgICAgIH1cbiAgICAgIDxpb24tbGFiZWwgKnJ4TGV0PVwiaXRlbS4kdGl0bGU7IGxldCB0aXRsZVwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInRpdGxlOyBlbHNlIHNrZWxldG9uVGV4dFwiIFtpbm5lckhUTUxdPVwidGl0bGUgfCB0cmFuc2xhdGVcIj48L3NwYW4+XG4gICAgICAgIDwhLS08c3BhbiAqbmdJZj1cIl9kZWJ1Z1wiPiB7e2l0ZW0uaWR9fTwvc3Bhbj4tLT5cbiAgICAgIDwvaW9uLWxhYmVsPlxuXG4gICAgICA8IS0tIHBpbiBidXR0b24gLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGluQnV0dG9uOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSwgbGV2ZWw6IGxldmVsIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2lvbi1pdGVtPlxuICB9IEBlbHNlIGlmIChpdGVtLmFjdGlvbikge1xuICAgIDwhLS0gYWN0aW9uIC0tPlxuICAgIDxpb24taXRlbVxuICAgICAgQGZhZGVJblNsb3dBbmltYXRpb25cbiAgICAgIGNsYXNzPVwie3sgaXRlbS5jc3NDbGFzcyB9fSB7eyBpdGVtLmNvbG9yIH19IHRleHQtMXhcIlxuICAgICAgW2NsYXNzLm1lbnUtaXRlbS1zdWJdPVwibGV2ZWwgIT09IDBcIlxuICAgICAgdGFwcGFibGVcbiAgICAgIChjbGljayk9XCJleGVjdXRlQWN0aW9uKCRldmVudCwgaXRlbSlcIlxuICAgID5cbiAgICAgIDxpb24taWNvbiBzbG90PVwic3RhcnRcIiAqbmdJZj1cIml0ZW0uaWNvblwiIFtuYW1lXT1cIml0ZW0uaWNvblwiPjwvaW9uLWljb24+XG4gICAgICA8bWF0LWljb24gc2xvdD1cInN0YXJ0XCIgKm5nSWY9XCJpdGVtLm1hdEljb25cIj57eyBpdGVtLm1hdEljb24gfX08L21hdC1pY29uPlxuICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgPHNwYW4gKnJ4SWY9XCJpdGVtLiR0aXRsZTsgbGV0IHRpdGxlOyBlbHNlOiBza2VsZXRvblRleHRcIiBbaW5uZXJIVE1MXT1cInRpdGxlIHwgdHJhbnNsYXRlXCI+PC9zcGFuPlxuICAgICAgICA8IS0tPHNwYW4gKm5nSWY9XCJfZGVidWdcIj4ge3tpdGVtLmlkfX08L3NwYW4+LS0+XG4gICAgICA8L2lvbi1sYWJlbD5cblxuICAgICAgPCEtLSBwaW4gYnV0dG9uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBpbkJ1dHRvbjsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIGxldmVsOiBsZXZlbCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9pb24taXRlbT5cbiAgfVxuXG4gIDwhLS0gY2hpbGRyZW4gLS0+XG4gIEBpZiAoaXRlbS4kY2hpbGRyZW4pIHtcbiAgICA8ZGl2IGNsYXNzPVwic3ViLW1lbnUtY29udGFpbmVyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpyeEZvcj1cImxldCBjaGlsZCBvZiBpdGVtLiRjaGlsZHJlbjsgc3RyYXRlZ3k6IHJ4U3RyYXRlZ3k7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWVudUl0ZW07IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjaGlsZCwgbGV2ZWw6IGxldmVsICsgMSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwaW5CdXR0b24gbGV0LWl0ZW0gbGV0LWxldmVsPVwibGV2ZWxcIj5cbiAgPCEtLSBwaW4gYnV0dG9uIC0tPlxuICBAaWYgKGxldmVsICYmIGl0ZW0ucGlubmFibGUpIHtcbiAgICA8aW9uLWJ1dHRvblxuICAgICAgc2xvdD1cImVuZFwiXG4gICAgICBzaGFwZT1cInJvdW5kXCJcbiAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICBzaXplPVwic21hbGxcIlxuICAgICAgW2NsYXNzLnZpc2libGUtaG92ZXJdPVwiIWl0ZW0ucGlubmVkXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVQaW5uZWQoJGV2ZW50LCBpdGVtKVwiXG4gICAgPlxuICAgICAgPCEtLTxtYXQtaWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgW2NvbG9yXT1cIml0ZW0ucGlubmVkID8gJ3ByaW1hcnknIDogdW5kZWZpbmVkXCI+cHVzaF9waW48L21hdC1pY29uPi0tPlxuICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBbbmFtZV09XCJpdGVtLnBpbm5lZCA/ICdwaW4nIDogJ3Bpbi1vdXRsaW5lJ1wiPjwvaW9uLWljb24+XG4gICAgPC9pb24tYnV0dG9uPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NrZWxldG9uVGV4dCBsZXQtd2lkdGggbGV0LWFuaW1hdGVkPlxuICA8aW9uLXNrZWxldG9uLXRleHQgW2FuaW1hdGVkXT1cImFuaW1hdGVkXCIgW3N0eWxlLndpZHRoLiVdPVwid2lkdGggfHwgNjBcIj48L2lvbi1za2VsZXRvbi10ZXh0PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvbWVudS9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9tZW51L21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTWxJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFlLFdBQVcsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBa0MsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBVzlELE1BQU0sT0FBTyxhQUFhO0lBc0JaO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDcUI7SUFDVDtJQTlCZixFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQ1osTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUNoQixJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ2QsU0FBUyxHQUFHLGNBQWMsQ0FBQztJQUMzQixJQUFJLENBQVM7SUFDYixPQUFPLENBQVM7SUFDaEIsVUFBVSxHQUFvQixRQUFRLENBQUM7SUFDdkMsVUFBVSxDQUFTO0lBRWMsU0FBUyxDQUFlO0lBRWxFLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDZixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLFdB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QUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVvQyxTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25TcGxpdFBhbmUsIE1lbnVDb250cm9sbGVyLCBNb2RhbENvbnRyb2xsZXIsIE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5cbmltcG9ydCB7IEFjY291bnQgfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9hY2NvdW50Lm1vZGVsJztcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYWNjb3VudC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgZmFkZUluU2xvd0FuaW1hdGlvbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9tYXRlcmlhbC9tYXRlcmlhbC5hbmltYXRpb25zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCwgRU5WSVJPTk1FTlQgfSBmcm9tICcuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQuY2xhc3MnO1xuaW1wb3J0IHsgREVGQVVMVF9NRU5VX1NIT1dfV0hFTiwgTWVudVNlcnZpY2UsIFNwbGl0UGFuZVNob3dXaGVuIH0gZnJvbSAnLi9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgSU1lbnVJdGVtLCBNZW51SXRlbSB9IGZyb20gJy4vbWVudS5tb2RlbCc7XG5pbXBvcnQgeyBmaXJzdE5vdE5pbFByb21pc2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBSeFN0cmF0ZWd5TmFtZXMgfSBmcm9tICdAcngtYW5ndWxhci9jZGsvcmVuZGVyLXN0cmF0ZWdpZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW2ZhZGVJblNsb3dBbmltYXRpb25dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGlkID0gJ21lbnUnO1xuICBASW5wdXQoKSBtZW51SWQgPSAnbGVmdCc7XG4gIEBJbnB1dCgpIHNpZGUgPSAnbGVmdCc7XG4gIEBJbnB1dCgpIGNvbnRlbnRJZCA9ICdtZW51LWNvbnRlbnQnO1xuICBASW5wdXQoKSBsb2dvOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFwcE5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgcnhTdHJhdGVneTogUnhTdHJhdGVneU5hbWVzID0gJ25vcm1hbCc7XG4gIEBJbnB1dCgpIGFwcFZlcnNpb246IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdzcGxpdFBhbmUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBzcGxpdFBhbmU6IElvblNwbGl0UGFuZTtcblxuICBsb2FkaW5nID0gdHJ1ZTtcbiAgaXNMb2dpbiA9IGZhbHNlO1xuICBhY2NvdW50TmFtZTogc3RyaW5nO1xuICBhY2NvdW50QXZhdGFyOiBzdHJpbmc7XG4gIGFjY291bnRFbWFpbDogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlYnVnOiBib29sZWFuO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgbmF2Q29udHJvbGxlcjogTmF2Q29udHJvbGxlcixcbiAgICBwcm90ZWN0ZWQgbWVudTogTWVudUNvbnRyb2xsZXIsXG4gICAgcHJvdGVjdGVkIG1vZGFsQ3RybDogTW9kYWxDb250cm9sbGVyLFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcm90ZWN0ZWQgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcbiAgICBASW5qZWN0KEVOVklST05NRU5UKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50LFxuICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUgLy8gTW9kYWwgZWRpdG9yIGdpdmUgJ251bGwnXG4gICkge1xuICAgIGNvbnNvbGUuZGVidWcoJ1ttZW51LWNvbXBvbmVudF0gQ3JlYXRlJyk7XG4gICAgdGhpcy5hcHBWZXJzaW9uID0gZW52aXJvbm1lbnQudmVyc2lvbjtcbiAgICB0aGlzLl9kZWJ1ZyA9ICFlbnZpcm9ubWVudC5wcm9kdWN0aW9uO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zcGxpdFBhbmUud2hlbiA9IGF3YWl0IGZpcnN0Tm90TmlsUHJvbWlzZSh0aGlzLm1lbnVTZXJ2aWNlLnNwbGl0UGFuZVdoZW4pO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMubWVudVNlcnZpY2UuYWNjb3VudENoYW5nZXMuc3Vic2NyaWJlKChhY2NvdW50KSA9PiB7XG4gICAgICAgIGlmIChhY2NvdW50KSB0aGlzLm9uTG9naW4oYWNjb3VudCk7XG4gICAgICAgIGVsc2UgdGhpcy5vbkxvZ291dCh0cnVlKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIC8vIExpc3RlbiB0byBtZW51IHNlcnZpY2UgZXZlbnRcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHRoaXMubWVudVNlcnZpY2Uuc3BsaXRQYW5lV2hlbi5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLnNldFNwbGl0UGFuZVdoZW4odmFsdWUpKSk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZCh0aGlzLm1lbnVTZXJ2aWNlLmVuYWJsZWQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5lbmFibGUodmFsdWUpKSk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMubWVudVNlcnZpY2Uub3BlbmVkXG4gICAgICAgIC8vIEF2b2lkIGR1cGxpY2F0ZWQgZXZlbnRzXG4gICAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiAodmFsdWUgPyB0aGlzLm9wZW4oeyBlbWl0RXZlbnQ6IGZhbHNlIH0pIDogdGhpcy5jbG9zZSh7IGVtaXRFdmVudDogZmFsc2UgfSkpKVxuICAgICk7XG5cbiAgICAvLyBUT0RPIDogRmluZCBhIG1vcmUgcmVsaWFibGUgd2F5IHRvIGRvIHRoaXMgOlxuICAgIC8vICAgIE11c3QgYmUgZG9ubmUgYWZ0ZXIgbWVudVNlcnZpY2Ugc3Vic2NyaXB0aW9uIDpcbiAgICAvLyAgICAtIEluIE1lbnVTZXJ2aWNlLm5nT25TdGFydCBhY2NvdW50Q2hhbmdlcyBjaGFuZ2Ugd2lsbCBiZSBlbWl0dGVkIGJlZm9yZSB0aGUgc2VydmljZSBpcyByZWFkeVxuICAgIC8vICAgIC0gVGhpcyBpcyByZXF1aXJlZCBiZWNhdXNlIHN1YmplY3REYXRhIGJlIGZpbGxlZCBhZnRlciBnZXQgYWNjb3VudCBjaGFuZ2VcbiAgICAvLyAgICAgIGFuZCBNZW51U2VydmljZSBhd2FpdCBmb3Igc3ViamVjdERhdGEgYmUgZmlsbGVkIHRvIGJlIHJlYWR5XG4gICAgYXdhaXQgdGhpcy5tZW51U2VydmljZS5yZWFkeSgpO1xuICB9XG5cbiAgYXN5bmMgb25Mb2dpbihhY2NvdW50OiBBY2NvdW50KSB7XG4gICAgY29uc29sZS5pbmZvKCdbbWVudV0gVXBkYXRlIChvbiBsb2dpbiknKTtcbiAgICB0aGlzLmFjY291bnRBdmF0YXIgPSBhY2NvdW50LmF2YXRhcjtcbiAgICB0aGlzLmFjY291bnROYW1lID0gYWNjb3VudC5kaXNwbGF5TmFtZTtcbiAgICB0aGlzLmFjY291bnRFbWFpbCA9IGFjY291bnQuZW1haWw7XG4gICAgdGhpcy5pc0xvZ2luID0gdHJ1ZTtcbiAgICB0aGlzLm1hcmtBc0xvYWRlZCh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGFzeW5jIG9uTG9nb3V0KHNraXBSZWRpcmVjdD86IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuaXNMb2dpbikge1xuICAgICAgdGhpcy5tYXJrQXNMb2FkZWQoKTtcbiAgICAgIHJldHVybjsgLy8gU2tpcCBpZiBhbHJlYWR5IGxvZ291dFxuICAgIH1cblxuICAgIGlmICghc2tpcFJlZGlyZWN0KSB7XG4gICAgICBjb25zb2xlLmRlYnVnKCdbbWVudV0gTG9nb3V0Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoJ1ttZW51XSBVcGRhdGUgKG9uIGxvZ291dCknKTtcbiAgICB9XG4gICAgdGhpcy5hY2NvdW50QXZhdGFyID0gbnVsbDtcbiAgICB0aGlzLmFjY291bnRFbWFpbCA9IG51bGw7XG4gICAgdGhpcy5hY2NvdW50TmFtZSA9IG51bGw7XG5cbiAgICAvLyBXYWl0IHRoZSBlbmQgb2YgZmFkZW91dCwgdG8gcmVzZXQgdGhlIGFjY291bnRcbiAgICBpZiAoIXNraXBSZWRpcmVjdCkge1xuICAgICAgYXdhaXQgdGhpcy5uYXZDb250cm9sbGVyLm5hdmlnYXRlUm9vdCgnLycpO1xuICAgIH1cblxuICAgIHRoaXMuaXNMb2dpbiA9IGZhbHNlO1xuICAgIHRoaXMubWFya0FzTG9hZGVkKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IElNZW51SXRlbSkge1xuICAgIHJldHVybiBpdGVtLmlkLnRvU3RyaW5nKCk7XG4gIH1cblxuICBhc3luYyBlbmFibGUodmFsdWU6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBlbmFibGVkID0gYXdhaXQgdGhpcy5tZW51LmlzRW5hYmxlZCh0aGlzLm1lbnVJZCk7XG4gICAgaWYgKGVuYWJsZWQgIT09IHZhbHVlKSB7XG4gICAgICBhd2FpdCB0aGlzLm1lbnUuZW5hYmxlKHZhbHVlLCB0aGlzLm1lbnVJZCk7XG4gICAgICBpZiAoIXZhbHVlKSBhd2FpdCB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgb3BlbihvcHRzPzogeyBlbWl0RXZlbnQ/OiBib29sZWFuIH0pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zb2xlLmRlYnVnKCdbbWVudV0gQ2hlY2tpbmcgb3BlbiBldmVudC4uLicpO1xuICAgIGNvbnN0IG9wZW5lZCA9IGF3YWl0IHRoaXMubWVudS5pc09wZW4odGhpcy5tZW51SWQpO1xuICAgIGlmICghb3BlbmVkKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKCdbbWVudV0gT3BlbmluZyBtZW51Jyk7XG4gICAgICBhd2FpdCB0aGlzLm1lbnUub3Blbih0aGlzLm1lbnVJZCk7XG5cbiAgICAgIC8vIFByb3BhZ2F0ZSB0byBzZXJ2aWNlXG4gICAgICBpZiAoIW9wdHMgfHwgb3B0cy5lbWl0RXZlbnQgIT09IGZhbHNlKSB7XG4gICAgICAgIHRoaXMubWVudVNlcnZpY2UuX21hcmtBc09wZW5lZCgpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIGNsb3NlKG9wdHM/OiB7IGVtaXRFdmVudD86IGJvb2xlYW4gfSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnNvbGUuZGVidWcoJ1ttZW51XSBDaGVja2luZyBjbG9zZSBldmVudC4uLicpO1xuICAgIGNvbnN0IG9wZW5lZCA9IGF3YWl0IHRoaXMubWVudS5pc09wZW4odGhpcy5tZW51SWQpO1xuICAgIGlmIChvcGVuZWQpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoJ1ttZW51XSBDbG9zaW5nIG1lbnUnKTtcbiAgICAgIGF3YWl0IHRoaXMubWVudS5jbG9zZSh0aGlzLm1lbnVJZCk7XG5cbiAgICAgIC8vIFByb3BhZ2F0ZSB0byBzZXJ2aWNlXG4gICAgICBpZiAoIW9wdHMgfHwgb3B0cy5lbWl0RXZlbnQgIT09IGZhbHNlKSB7XG4gICAgICAgIHRoaXMubWVudVNlcnZpY2UuX21hcmtBc0Nsb3NlZCgpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIHNldFNwbGl0UGFuZVdoZW4odmFsdWU6IFNwbGl0UGFuZVNob3dXaGVuKSB7XG4gICAgY29uc29sZS5kZWJ1ZygnW21lbnVdIENoZWNraW5nIHNwbGl0UGFuZSB3aGVuLi4uJyk7XG4gICAgaWYgKHRoaXMuc3BsaXRQYW5lLndoZW4gIT09IHZhbHVlKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKCdbbWVudV0gU2V0IHNwbGl0UGFuZSB3aGVuIHRvICcgKyB2YWx1ZSk7XG4gICAgICB0aGlzLnNwbGl0UGFuZS53aGVuID0gdmFsdWU7XG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgLy8gUHJvcGFnYXRlIHRvIHRoZSBtZW51IHNlcnZpY2VcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5tZW51U2VydmljZS5zZXRTcGxpdFBhbmVTaG93V2hlbih2YWx1ZSksIDIwMCk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU3BsaXRQYW5lU2hvdyhldmVudD86IEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50ICYmIGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHJldHVybjtcbiAgICBpZiAoZXZlbnQpIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBpZiAodGhpcy5zcGxpdFBhbmUud2hlbiA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiB0aGlzLnNldFNwbGl0UGFuZVdoZW4oREVGQVVMVF9NRU5VX1NIT1dfV0hFTik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnNldFNwbGl0UGFuZVdoZW4oZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGV4ZWN1dGVBY3Rpb24oZXZlbnQ6IEV2ZW50LCBpdGVtOiBNZW51SXRlbSkge1xuICAgIHRoaXMuY2xvc2UoKTtcblxuICAgIC8vIERlbGVnYXRlIGV4ZWN1dGlvbiB0byBzZXJ2aWNlXG4gICAgcmV0dXJuIHRoaXMubWVudVNlcnZpY2UuZXhlY3V0ZUFjdGlvbihldmVudCwgaXRlbSk7XG4gIH1cblxuICBvblN3aXBlUmlnaHQoZXZlbnQpIHtcbiAgICAvLyBTa2lwLCBpZiBub3QgYSB2YWxpZCBzd2lwZSBldmVudFxuICAgIGlmICghZXZlbnQgfHwgZXZlbnQucG9pbnRlclR5cGUgIT09ICd0b3VjaCcgfHwgZXZlbnQudmVsb2NpdHkgPCAwLjQpIHtcbiAgICAgIC8vZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBXaWxsIG9wZW4gdGhlIGxlZnQgbWVudSwgc28gY2FuY2VsbGVkIHRoaXMgc3dpcGUgZXZlbnRcbiAgICBjb25zdCBzdGFydFggPSBldmVudC5jZW50ZXIueCAtIGV2ZW50LmRpc3RhbmNlO1xuICAgIGlmIChzdGFydFggPD0gNTApIHtcbiAgICAgIC8vIERFQlVHXG4gICAgICAvL2NvbnNvbGUuZGVidWcoXCJbbWVudV0gQ2FuY2VsIHN3aXBlIHJpZ2h0LCBiZWNhdXNlIG5lYXIgdGhlIGxlZnQgbWVudSB7eDogXCIgKyBzdGFydFggKyBcIiwgdmVsb2NpdHk6IFwiICsgZXZlbnQudmVsb2NpdHkgKyBcIn1cIik7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIE9LOiBjb250aW51ZVxuXG4gICAgLy8gREVCVUdcbiAgICAvL2NvbnNvbGUuZGVidWcoXCJbbWVudV0gUmVjZWl2ZWQgc3dpcGUgcmlnaHQge3g6IFwiICsgc3RhcnRYICsgXCIsIHZlbG9jaXR5OiBcIiArIGV2ZW50LnZlbG9jaXR5ICsgXCJ9XCIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG1hcmtBc0xvYWRlZChvcHRzPzogeyBlbWl0RXZlbnQ/OiBib29sZWFuIH0pIHtcbiAgICBpZiAodGhpcy5sb2FkaW5nKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKCFvcHRzIHx8IG9wdHMuZW1pdEV2ZW50ICE9PSBmYWxzZSkgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0sIDQ1MCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG1hcmtBc0xvYWRpbmcob3B0cz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KSB7XG4gICAgaWYgKCF0aGlzLmxvYWRpbmcpIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG5cbiAgICAgIGlmICghb3B0cyB8fCBvcHRzLmVtaXRFdmVudCAhPT0gZmFsc2UpIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGRldGVjdENoYW5nZXMoKSB7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0ZvckNoZWNrKCkge1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRvZ2dsZVBpbm5lZChldmVudDogRXZlbnQsIGl0ZW06IElNZW51SXRlbSkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5tZW51U2VydmljZS50b2dnbGVQaW5uZWQoaXRlbSk7XG4gIH1cbn1cbiIsIjxpb24tc3BsaXQtcGFuZSAjc3BsaXRQYW5lIFtjb250ZW50SWRdPVwiY29udGVudElkXCIgKHN3aXBlcmlnaHQpPVwib25Td2lwZVJpZ2h0KCRldmVudClcIj5cbiAgPGlvbi1tZW51IFtpZF09XCJpZFwiIFttZW51SWRdPVwibWVudUlkXCIgW2NvbnRlbnRJZF09XCJjb250ZW50SWRcIj5cbiAgICA8aW9uLWhlYWRlcj5cbiAgICAgIDxpb24tdG9vbGJhciAqbmdJZj1cIiFsb2FkaW5nICYmIGlzTG9naW47IGVsc2Ugbm90TG9naW5cIiBAZmFkZUluU2xvd0FuaW1hdGlvbiBjbGFzcz1cInVzZXItdG9vbGJhclwiPlxuICAgICAgICA8aW9uLWdyaWQ+XG4gICAgICAgICAgPGlvbi1yb3c+XG4gICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiNFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgbWF0LWZsYXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ1c2VyLWF2YXRhclwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnByaW1hcnldPVwiIWFjY291bnRBdmF0YXJcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cIid1cmwoJyArIChhY2NvdW50QXZhdGFyIHx8ICcuL2Fzc2V0cy9pbWcvcGVyc29uLnBuZycpICsgJyknXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9hY2NvdW50J11cIlxuICAgICAgICAgICAgICAgIHJvdXRlckRpcmVjdGlvbj1cInJvb3RcIlxuICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJpb24tY29sb3ItcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInTUVOVS5CVE5fTVlfQUNDT1VOVCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiOFwiIGNsYXNzPVwidXNlci1sb2dvXCI+XG4gICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAqbmdJZj1cImxvZ287IGVsc2Ugbm9Mb2dvXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5zcmNdPVwibG9nb1wiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBUFBfTkFNRScgfCB0cmFuc2xhdGU6IHsgYXBwTmFtZTogYXBwTmFtZSB9XCJcbiAgICAgICAgICAgICAgICBhbHQ9XCJMb2dvXCJcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjEwOHB4XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub0xvZ28+XG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJ3aWR0aDogMTA4cHhcIj57eyBhcHBOYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgIDwvaW9uLXJvdz5cbiAgICAgICAgICA8aW9uLXJvdyBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCI+XG4gICAgICAgICAgICA8aW9uLWNvbD5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9hY2NvdW50J11cIlxuICAgICAgICAgICAgICAgIHJvdXRlckRpcmVjdGlvbj1cInJvb3RcIlxuICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJzZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInTUVOVS5CVE5fTVlfQUNDT1VOVCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImlvbi10ZXh0LXdyYXAgaW9uLXRleHQtc3RhcnRcIj5cbiAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm5vLW1hcmdpbiB1c2VybmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICA8Yj57eyBhY2NvdW50TmFtZSB9fTwvYj5cbiAgICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgICA8aDQ+e3sgYWNjb3VudEVtYWlsIH19PC9oND5cbiAgICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2lvbi1jb2w+XG5cbiAgICAgICAgICAgIDwhLS0gSW5zZXJ0aW9uIGhlYWRlckJvdHRvbVJpZ2h0IC0tPlxuICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlckJvdHRvbVJpZ2h0XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgPC9pb24tcm93PlxuICAgICAgICA8L2lvbi1ncmlkPlxuICAgICAgPC9pb24tdG9vbGJhcj5cblxuICAgICAgPCEtLSBVc2VyIG5vdCBsb2dnZWQgLS0+XG4gICAgICA8bmctdGVtcGxhdGUgI25vdExvZ2luPlxuICAgICAgICA8bWF0LXRvb2xiYXJcbiAgICAgICAgICBjbGFzcz1cImlvbi1wYWRkaW5nXCJcbiAgICAgICAgICAqbmdJZj1cIiFsb2FkaW5nXCJcbiAgICAgICAgICBzdHlsZT1cImhlaWdodDogdW5zZXQ7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IGF1dG87IHRleHQtYWxpZ246IGNlbnRlclwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAqbmdJZj1cImxvZ29cIlxuICAgICAgICAgICAgW2F0dHIuc3JjXT1cImxvZ29cIlxuICAgICAgICAgICAgW3RpdGxlXT1cIidBUFBfTkFNRScgfCB0cmFuc2xhdGU6IHsgYXBwTmFtZTogYXBwTmFtZSB9XCJcbiAgICAgICAgICAgIHdpZHRoPVwiMTUwcHg7XCJcbiAgICAgICAgICAgIGFsdD1cImxvZ29cIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbG9nb1wiIHN0eWxlPVwid2lkdGg6IDE1MHB4XCI+e3sgYXBwTmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9tYXQtdG9vbGJhcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9pb24taGVhZGVyPlxuXG4gICAgPGlvbi1jb250ZW50IFtjbGFzcy5oYXMtdXNlci1oZWFkZXJdPVwiaXNMb2dpblwiPlxuICAgICAgPCEtLSB3aWxsIGNsb3NlIHRoZSBtZW51LCBhZnRlciBhIGNsaWNrLCBpbiBtb2JpbGUgLS0+XG4gICAgICA8aW9uLW1lbnUtdG9nZ2xlIGF1dG8taGlkZT1cImZhbHNlXCI+XG4gICAgICAgIDxpb24tbGlzdCBsaW5lcz1cIm5vbmVcIiAqbmdJZj1cIiFsb2FkaW5nXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqcnhGb3I9XCJsZXQgaXRlbSBvZiBtZW51U2VydmljZS5kYXRhU3ViamVjdDsgc3RyYXRlZ3k6IHJ4U3RyYXRlZ3k7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1lbnVJdGVtOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSwgbGV2ZWw6IDAgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2lvbi1saXN0PlxuICAgICAgPC9pb24tbWVudS10b2dnbGU+XG4gICAgPC9pb24tY29udGVudD5cblxuICAgIDxpb24tZm9vdGVyIGNsYXNzPVwiaGlkZGVuLXhzIGhpZGRlbi1zbVwiPlxuICAgICAgPGlvbi10b29sYmFyPlxuICAgICAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XG4gICAgICAgICAgPGlvbi1idXR0b24gbWF0LWljb24tYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cIm1lbnVTZXJ2aWNlLm9wZW5BYm91dE1vZGFsKClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBzbG90PVwiaWNvbi1vbmx5XCI+aGVscF9vdXRsaW5lPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbnM+XG5cbiAgICAgICAgPGlvbi10aXRsZSAoY2xpY2spPVwibWVudVNlcnZpY2Uub3BlbkFib3V0TW9kYWwoKVwiIGNvbG9yPVwibWVkaXVtXCI+XG4gICAgICAgICAge3sgJ01FTlUuRk9PVEVSX1ZFUlNJT05fQUJPVVQnIHwgdHJhbnNsYXRlOiB7IHZlcnNpb246IGFwcFZlcnNpb24gfSB9fVxuICAgICAgICA8L2lvbi10aXRsZT5cblxuICAgICAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNwbGl0UGFuZVNob3coJGV2ZW50KVwiXG4gICAgICAgICAgICBjbGFzcz1cImhpZGRlbi14cyBoaWRkZW4tc20gaGlkZGVuLW1kXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCIoc3BsaXRQYW5lLndoZW4gPyAnQ09NTU9OLkJUTl9ISURFX01FTlUnIDogJ0NPTU1PTi5CVE5fU0hPV19NRU5VJykgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgc3BsaXRQYW5lLndoZW4gPyAnJiN4YWI7JyA6ICcmI3hiYjsnIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgIDwvaW9uLXRvb2xiYXI+XG4gICAgPC9pb24tZm9vdGVyPlxuICA8L2lvbi1tZW51PlxuXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvaW9uLXNwbGl0LXBhbmU+XG5cbjxuZy10ZW1wbGF0ZSAjaGVhZGVyQm90dG9tUmlnaHQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltoZWFkZXJCb3R0b21SaWdodF1cIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI21lbnVJdGVtIGxldC1pdGVtIGxldC1sZXZlbD1cImxldmVsXCI+XG4gIEBpZiAoaXRlbS5kaXZpZGVyKSB7XG4gICAgPCEtLSBkaXZpZGVyIC0tPlxuICAgIDxpb24taXRlbS1kaXZpZGVyIGNsYXNzPVwie3sgaXRlbS5jc3NDbGFzcyB9fSB7eyBpdGVtLmNvbG9yIH19XCIgQGZhZGVJblNsb3dBbmltYXRpb24+XG4gICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgKm5nSWY9XCJpdGVtLmljb25cIiBbbmFtZV09XCJpdGVtLmljb25cIj48L2lvbi1pY29uPlxuICAgICAgPG1hdC1pY29uIHNsb3Q9XCJzdGFydFwiICpuZ0lmPVwiaXRlbS5tYXRJY29uXCI+e3sgaXRlbS5tYXRJY29uIH19PC9tYXQtaWNvbj5cbiAgICAgIDxpb24tbGFiZWwgKm5nSWY9XCJpdGVtLmNzc0NsYXNzICE9PSAnZmxleC1zcGFjZXInXCI+XG4gICAgICAgIDxzcGFuICpyeElmPVwiaXRlbS4kdGl0bGU7IGxldCB0aXRsZTsgZWxzZTogc2tlbGV0b25UZXh0XCIgW2lubmVySFRNTF09XCJ0aXRsZSB8IHRyYW5zbGF0ZVwiPjwvc3Bhbj5cbiAgICAgIDwvaW9uLWxhYmVsPlxuICAgIDwvaW9uLWl0ZW0tZGl2aWRlcj5cbiAgfSBAZWxzZSBpZiAoaXRlbS5wYXRoICYmICFpdGVtLmFjdGlvbikge1xuICAgIDwhLS0gdGFwcGFibGUgbGluayAtLT5cbiAgICA8aW9uLWl0ZW1cbiAgICAgIEBmYWRlSW5TbG93QW5pbWF0aW9uXG4gICAgICBjbGFzcz1cInt7IGl0ZW0uY3NzQ2xhc3MgfX0ge3sgaXRlbS5jb2xvciB9fVwiXG4gICAgICBbY2xhc3MubWVudS1pdGVtLXN1Yl09XCJsZXZlbCAhPT0gMFwiXG4gICAgICB0YXBwYWJsZVxuICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5wYXRoXCJcbiAgICAgIFtxdWVyeVBhcmFtc109XCJpdGVtLnBhdGhQYXJhbXNcIlxuICAgICAgcm91dGVyRGlyZWN0aW9uPVwicm9vdFwiXG4gICAgICByb3V0ZXJMaW5rQWN0aXZlPVwic2VsZWN0ZWRcIlxuICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntcbiAgICAgICAgcGF0aHM6IGl0ZW0ucGF0aCA9PT0gJy8nIHx8IGxldmVsICE9PSAwID8gJ2V4YWN0JyA6ICdzdWJzZXQnLFxuICAgICAgICBxdWVyeVBhcmFtczogaXRlbS5wYXRoUGFyYW1zPy50YWIgfHwgbGV2ZWwgPT09IDAgPyAnc3Vic2V0JyA6ICdleGFjdCcsXG4gICAgICAgIG1hdHJpeFBhcmFtczogJ2V4YWN0JyxcbiAgICAgICAgZnJhZ21lbnQ6ICdpZ25vcmVkJyxcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgIDxpb24taWNvbiBzbG90PVwic3RhcnRcIiBbbmFtZV09XCJpdGVtLmljb25cIj48L2lvbi1pY29uPlxuICAgICAgfSBAZWxzZSBpZiAoaXRlbS5tYXRJY29uKSB7XG4gICAgICAgIDxtYXQtaWNvbiBzbG90PVwic3RhcnRcIj57eyBpdGVtLm1hdEljb24gfX08L21hdC1pY29uPlxuICAgICAgfVxuICAgICAgPGlvbi1sYWJlbCAqcnhMZXQ9XCJpdGVtLiR0aXRsZTsgbGV0IHRpdGxlXCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidGl0bGU7IGVsc2Ugc2tlbGV0b25UZXh0XCIgW2lubmVySFRNTF09XCJ0aXRsZSB8IHRyYW5zbGF0ZVwiPjwvc3Bhbj5cbiAgICAgICAgPCEtLTxzcGFuICpuZ0lmPVwiX2RlYnVnXCI+IHt7aXRlbS5pZH19PC9zcGFuPi0tPlxuICAgICAgPC9pb24tbGFiZWw+XG5cbiAgICAgIDwhLS0gcGluIGJ1dHRvbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwaW5CdXR0b247IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLCBsZXZlbDogbGV2ZWwgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvaW9uLWl0ZW0+XG4gIH0gQGVsc2UgaWYgKGl0ZW0uYWN0aW9uKSB7XG4gICAgPCEtLSBhY3Rpb24gLS0+XG4gICAgPGlvbi1pdGVtXG4gICAgICBAZmFkZUluU2xvd0FuaW1hdGlvblxuICAgICAgY2xhc3M9XCJ7eyBpdGVtLmNzc0NsYXNzIH19IHt7IGl0ZW0uY29sb3IgfX0gdGV4dC0xeFwiXG4gICAgICBbY2xhc3MubWVudS1pdGVtLXN1Yl09XCJsZXZlbCAhPT0gMFwiXG4gICAgICB0YXBwYWJsZVxuICAgICAgKGNsaWNrKT1cImV4ZWN1dGVBY3Rpb24oJGV2ZW50LCBpdGVtKVwiXG4gICAgPlxuICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiICpuZ0lmPVwiaXRlbS5pY29uXCIgW25hbWVdPVwiaXRlbS5pY29uXCI+PC9pb24taWNvbj5cbiAgICAgIDxtYXQtaWNvbiBzbG90PVwic3RhcnRcIiAqbmdJZj1cIml0ZW0ubWF0SWNvblwiPnt7IGl0ZW0ubWF0SWNvbiB9fTwvbWF0LWljb24+XG4gICAgICA8aW9uLWxhYmVsPlxuICAgICAgICA8c3BhbiAqcnhJZj1cIml0ZW0uJHRpdGxlOyBsZXQgdGl0bGU7IGVsc2U6IHNrZWxldG9uVGV4dFwiIFtpbm5lckhUTUxdPVwidGl0bGUgfCB0cmFuc2xhdGVcIj48L3NwYW4+XG4gICAgICAgIDwhLS08c3BhbiAqbmdJZj1cIl9kZWJ1Z1wiPiB7e2l0ZW0uaWR9fTwvc3Bhbj4tLT5cbiAgICAgIDwvaW9uLWxhYmVsPlxuXG4gICAgICA8IS0tIHBpbiBidXR0b24gLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGluQnV0dG9uOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSwgbGV2ZWw6IGxldmVsIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2lvbi1pdGVtPlxuICB9XG5cbiAgPCEtLSBjaGlsZHJlbiAtLT5cbiAgQGlmIChpdGVtLiRjaGlsZHJlbikge1xuICAgIDxkaXYgY2xhc3M9XCJzdWItbWVudS1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKnJ4Rm9yPVwibGV0IGNoaWxkIG9mIGl0ZW0uJGNoaWxkcmVuOyBzdHJhdGVneTogcnhTdHJhdGVneTsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51SXRlbTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGNoaWxkLCBsZXZlbDogbGV2ZWwgKyAxIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3BpbkJ1dHRvbiBsZXQtaXRlbSBsZXQtbGV2ZWw9XCJsZXZlbFwiPlxuICA8IS0tIHBpbiBidXR0b24gLS0+XG4gIEBpZiAobGV2ZWwgJiYgaXRlbS5waW5uYWJsZSkge1xuICAgIDxpb24tYnV0dG9uXG4gICAgICBzbG90PVwiZW5kXCJcbiAgICAgIHNoYXBlPVwicm91bmRcIlxuICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICBbY2xhc3MudmlzaWJsZS1ob3Zlcl09XCIhaXRlbS5waW5uZWRcIlxuICAgICAgKGNsaWNrKT1cInRvZ2dsZVBpbm5lZCgkZXZlbnQsIGl0ZW0pXCJcbiAgICA+XG4gICAgICA8IS0tPG1hdC1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBbY29sb3JdPVwiaXRlbS5waW5uZWQgPyAncHJpbWFyeScgOiB1bmRlZmluZWRcIj5wdXNoX3BpbjwvbWF0LWljb24+LS0+XG4gICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIFtuYW1lXT1cIml0ZW0ucGlubmVkID8gJ3BpbicgOiAncGluLW91dGxpbmUnXCI+PC9pb24taWNvbj5cbiAgICA8L2lvbi1idXR0b24+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2tlbGV0b25UZXh0IGxldC13aWR0aCBsZXQtYW5pbWF0ZWQ+XG4gIDxpb24tc2tlbGV0b24tdGV4dCBbYW5pbWF0ZWRdPVwiYW5pbWF0ZWRcIiBbc3R5bGUud2lkdGguJV09XCJ3aWR0aCB8fCA2MFwiPjwvaW9uLXNrZWxldG9uLXRleHQ+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -106,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
106
106
  }], subMenuIcon: [{
107
107
  type: Input
108
108
  }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLW1lbnUtdGFiLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9tZW51L3N1Yi1tZW51LXRhYi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUkxRixPQUFPLEVBQVksU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFNbEQsTUFBTSxPQUFPLG1CQUFtQjtJQVlwQjtJQUNBO0lBQ0E7SUFDQTtJQWRELEtBQUssQ0FBUztJQUNkLFFBQVEsQ0FBVTtJQUNsQixVQUFVLENBQVM7SUFDbkIsSUFBSSxDQUFTO0lBQ2IsWUFBWSxDQUFTO0lBQ3JCLFdBQVcsR0FBWSxJQUFJLENBQUMsQ0FBQyxvQkFBb0I7SUFFbEQsU0FBUyxDQUFXO0lBQ1gsT0FBTyxDQUFVO0lBRWxDLFlBQ1UsV0FBd0IsRUFDeEIsUUFBcUIsRUFDckIsR0FBVyxFQUNYLE1BQWM7UUFIZCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDWCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRXRCLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdEYsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENB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SSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0RSxDQUFDO3dHQXRGVSxtQkFBbUI7NEZBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM1QjtvSkFFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0VGFiLCBNYXRUYWJHcm91cCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBNZW51U2VydmljZSB9IGZyb20gJy4vbWVudS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVudUl0ZW0sIE1lbnVJdGVtcyB9IGZyb20gJy4vbWVudS5tb2RlbCc7XHJcbmltcG9ydCB7IGlzTm90TmlsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEljb25SZWYgfSBmcm9tICcuLi8uLi9zaGFyZWQvdHlwZXMnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYXBwU3ViTWVudVRhYl0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3ViTWVudVRhYkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBwYXJlbnRQYXRoOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGF0aDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHN1Yk1lbnVUaXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHN1Yk1lbnVJY29uOiBJY29uUmVmID0gbnVsbDsgLy8geyBpY29uOiAnbm9uZScgfTtcclxuXHJcbiAgcHJpdmF0ZSBfbWVudUl0ZW06IE1lbnVJdGVtO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2VuYWJsZTogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1lbnVTZXJ2aWNlOiBNZW51U2VydmljZSxcclxuICAgIHByaXZhdGUgdGFiR3JvdXA6IE1hdFRhYkdyb3VwLFxyXG4gICAgcHJpdmF0ZSB0YWI6IE1hdFRhYixcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHRoaXMucGF0aCA9IE1lbnVJdGVtcy5wYXJzZVBhdGhXaXRoUXVlcnkodGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QudXJsKS5wYXRoO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLnRhYi5kaXNhYmxlZCkgdGhpcy5fYWRkVG9NZW51KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlcy5kaXNhYmxlZCB8fCBjaGFuZ2VzLmxhYmVsIHx8IGNoYW5nZXMuc3ViTWVudVRpdGxlIHx8IGNoYW5nZXMucGFyZW50UGF0aCB8fCBjaGFuZ2VzLnBhdGgpIHtcclxuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgICB0aGlzLl9yZW1vdmVUb01lbnUoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9hZGRUb01lbnUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfcmVtb3ZlVG9NZW51KCkge1xyXG4gICAgY29uc3QgbWVudUl0ZW0gPSB0aGlzLm1lbnVJdGVtO1xyXG4gICAgaWYgKG1lbnVJdGVtKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMubWVudVNlcnZpY2UucmVtb3ZlU3ViTWVudUl0ZW0obWVudUl0ZW0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfYWRkVG9NZW51KCkge1xyXG4gICAgY29uc3QgbWVudUl0ZW0gPSB0aGlzLm1lbnVJdGVtO1xyXG4gICAgaWYgKCFtZW51SXRlbT8ucGFyZW50UGF0aCkgcmV0dXJuO1xyXG5cclxuICAgIC8vIERFQlVHXHJcbiAgICAvL2lmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgW3N1Yi1tZW51LXRhYl0gUmVmcmVzaGluZyBzdWIgbWVudSB7JHttZW51SXRlbS5wYXRofT90YWI9JHttZW51SXRlbS5wYXRoUGFyYW1zPy50YWIgfHwgMH0gb24gcGFyZW50IHske21lbnVJdGVtLnBhcmVudFBhdGh9fWApO1xyXG5cclxuICAgIHRoaXMuX21lbnVJdGVtID0gYXdhaXQgdGhpcy5tZW51U2VydmljZS5hZGRTdWJNZW51SXRlbShtZW51SXRlbSwgeyBza2lwSWZFeGlzdHM6IGZhbHNlIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgbWVudUl0ZW0oKTogTWVudUl0ZW0ge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggKyB0aGlzLnRhYi5wb3NpdGlvbjtcclxuICAgIGNvbnN0IHBhcmVudFBhdGggPSBpbmRleCA9PT0gMCA/IHRoaXMucGFyZW50UGF0aCA6IHRoaXMucGF0aDtcclxuICAgIGlmICghcGFyZW50UGF0aCkgcmV0dXJuIG51bGw7XHJcbiAgICBjb25zdCB0YWJQYXJhbXMgPSBpbmRleCA9PT0gMCA/IHt9IDogeyB0YWI6IGluZGV4LnRvU3RyaW5nKCkgfTtcclxuXHJcbiAgICAvLyBDcmVhdGUgb3IgbG9hZFxyXG4gICAgaWYgKCF0aGlzLl9tZW51SXRlbSkge1xyXG4gICAgICB0aGlzLl9tZW51SXRlbSA9IHRoaXMubWVudVNlcnZpY2UuY3JlYXRlU3ViTWVudSh7XHJcbiAgICAgICAgcGF0aDogdGhpcy5wYXRoLFxyXG4gICAgICAgIHBhdGhQYXJhbXM6IHRhYlBhcmFtcyxcclxuICAgICAgICBwYXJlbnRQYXRoLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBVcGRhdGUgZXhpc3RpbmdcclxuICAgIGVsc2Uge1xyXG4gICAgICBjb25zdCB7IHBhdGgsIHBhcmFtcyB9ID0gTWVudUl0ZW1zLnBhcnNlUGF0aFdpdGhRdWVyeSh0aGlzLnBhdGgpO1xyXG4gICAgICB0aGlzLl9tZW51SXRlbS5wYXRoID0gcGF0aDtcclxuICAgICAgdGhpcy5fbWVudUl0ZW0ucGF0aFBhcmFtcyA9IHsgLi4ucGFyYW1zLCAuLi50YWJQYXJhbXMgfTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBVcGRhdGUgaXRlbSAodGl0bGUgYW5kIGljb24pXHJcbiAgICBpZiAodGhpcy5fbWVudUl0ZW0pIHtcclxuICAgICAgdGhpcy5fbWVudUl0ZW0udGl0bGUgPSB0aGlzLnRpdGxlO1xyXG4gICAgICBpZiAodGhpcy5zdWJNZW51SWNvbikge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5fbWVudUl0ZW0sIHRoaXMuc3ViTWVudUljb24pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX21lbnVJdGVtO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgdGl0bGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBpc05vdE5pbCh0aGlzLnN1Yk1lbnVUaXRsZSkgPyB0aGlzLnN1Yk1lbnVUaXRsZSA6IHRoaXMubGFiZWw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLW1lbnUtdGFiLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9tZW51L3N1Yi1tZW51LXRhYi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUkxRixPQUFPLEVBQVksU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFNbEQsTUFBTSxPQUFPLG1CQUFtQjtJQVlwQjtJQUNBO0lBQ0E7SUFDQTtJQWRELEtBQUssQ0FBUztJQUNkLFFBQVEsQ0FBVTtJQUNsQixVQUFVLENBQVM7SUFDbkIsSUFBSSxDQUFTO0lBQ2IsWUFBWSxDQUFTO0lBQ3JCLFdBQVcsR0FBWSxJQUFJLENBQUMsQ0FBQyxvQkFBb0I7SUFFbEQsU0FBUyxDQUFXO0lBQ1gsT0FBTyxDQUFVO0lBRWxDLFlBQ1UsV0FBd0IsRUFDeEIsUUFBcUIsRUFDckIsR0FBVyxFQUNYLE1BQWM7UUFIZCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDWCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRXRCLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdEYsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLFlBQVksSUFBSSxPQUFPLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLGFBQWE7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELENBQUM7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLFVBQVU7UUFDdEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVU7WUFBRSxPQUFPO1FBRWxDLFFBQVE7UUFDUixpS0FBaUs7UUFFakssSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRCxJQUFZLFFBQVE7UUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDOUQsTUFBTSxVQUFVLEdBQUcsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM3RCxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzdCLE1BQU0sU0FBUyxHQUFHLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFFL0QsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztnQkFDOUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFVBQVUsRUFBRSxTQUFTO2dCQUNyQixVQUFVO2FBQ1gsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELGtCQUFrQjthQUNiLENBQUM7WUFDSixNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLEVBQUUsR0FBRyxNQUFNLEVBQUUsR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUMxRCxDQUFDO1FBRUQsK0JBQStCO1FBQy9CLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDbEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3JCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbEQsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVksS0FBSztRQUNmLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0RSxDQUFDO3dHQXRGVSxtQkFBbUI7NEZBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM1QjtvSkFFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFRhYiwgTWF0VGFiR3JvdXAgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNZW51U2VydmljZSB9IGZyb20gJy4vbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7IE1lbnVJdGVtLCBNZW51SXRlbXMgfSBmcm9tICcuL21lbnUubW9kZWwnO1xuaW1wb3J0IHsgaXNOb3ROaWwgfSBmcm9tICcuLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcbmltcG9ydCB7IEljb25SZWYgfSBmcm9tICcuLi8uLi9zaGFyZWQvdHlwZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXBwU3ViTWVudVRhYl0nLFxufSlcbmV4cG9ydCBjbGFzcyBTdWJNZW51VGFiRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHBhcmVudFBhdGg6IHN0cmluZztcbiAgQElucHV0KCkgcGF0aDogc3RyaW5nO1xuICBASW5wdXQoKSBzdWJNZW51VGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgc3ViTWVudUljb246IEljb25SZWYgPSBudWxsOyAvLyB7IGljb246ICdub25lJyB9O1xuXG4gIHByaXZhdGUgX21lbnVJdGVtOiBNZW51SXRlbTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZW5hYmxlOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGFiR3JvdXA6IE1hdFRhYkdyb3VwLFxuICAgIHByaXZhdGUgdGFiOiBNYXRUYWIsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHtcbiAgICB0aGlzLnBhdGggPSBNZW51SXRlbXMucGFyc2VQYXRoV2l0aFF1ZXJ5KHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnVybCkucGF0aDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMudGFiLmRpc2FibGVkKSB0aGlzLl9hZGRUb01lbnUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5kaXNhYmxlZCB8fCBjaGFuZ2VzLmxhYmVsIHx8IGNoYW5nZXMuc3ViTWVudVRpdGxlIHx8IGNoYW5nZXMucGFyZW50UGF0aCB8fCBjaGFuZ2VzLnBhdGgpIHtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIHRoaXMuX3JlbW92ZVRvTWVudSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fYWRkVG9NZW51KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfcmVtb3ZlVG9NZW51KCkge1xuICAgIGNvbnN0IG1lbnVJdGVtID0gdGhpcy5tZW51SXRlbTtcbiAgICBpZiAobWVudUl0ZW0pIHtcbiAgICAgIGF3YWl0IHRoaXMubWVudVNlcnZpY2UucmVtb3ZlU3ViTWVudUl0ZW0obWVudUl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2FkZFRvTWVudSgpIHtcbiAgICBjb25zdCBtZW51SXRlbSA9IHRoaXMubWVudUl0ZW07XG4gICAgaWYgKCFtZW51SXRlbT8ucGFyZW50UGF0aCkgcmV0dXJuO1xuXG4gICAgLy8gREVCVUdcbiAgICAvL2lmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgW3N1Yi1tZW51LXRhYl0gUmVmcmVzaGluZyBzdWIgbWVudSB7JHttZW51SXRlbS5wYXRofT90YWI9JHttZW51SXRlbS5wYXRoUGFyYW1zPy50YWIgfHwgMH0gb24gcGFyZW50IHske21lbnVJdGVtLnBhcmVudFBhdGh9fWApO1xuXG4gICAgdGhpcy5fbWVudUl0ZW0gPSBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLmFkZFN1Yk1lbnVJdGVtKG1lbnVJdGVtLCB7IHNraXBJZkV4aXN0czogZmFsc2UgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldCBtZW51SXRlbSgpOiBNZW51SXRlbSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggKyB0aGlzLnRhYi5wb3NpdGlvbjtcbiAgICBjb25zdCBwYXJlbnRQYXRoID0gaW5kZXggPT09IDAgPyB0aGlzLnBhcmVudFBhdGggOiB0aGlzLnBhdGg7XG4gICAgaWYgKCFwYXJlbnRQYXRoKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCB0YWJQYXJhbXMgPSBpbmRleCA9PT0gMCA/IHt9IDogeyB0YWI6IGluZGV4LnRvU3RyaW5nKCkgfTtcblxuICAgIC8vIENyZWF0ZSBvciBsb2FkXG4gICAgaWYgKCF0aGlzLl9tZW51SXRlbSkge1xuICAgICAgdGhpcy5fbWVudUl0ZW0gPSB0aGlzLm1lbnVTZXJ2aWNlLmNyZWF0ZVN1Yk1lbnUoe1xuICAgICAgICBwYXRoOiB0aGlzLnBhdGgsXG4gICAgICAgIHBhdGhQYXJhbXM6IHRhYlBhcmFtcyxcbiAgICAgICAgcGFyZW50UGF0aCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFVwZGF0ZSBleGlzdGluZ1xuICAgIGVsc2Uge1xuICAgICAgY29uc3QgeyBwYXRoLCBwYXJhbXMgfSA9IE1lbnVJdGVtcy5wYXJzZVBhdGhXaXRoUXVlcnkodGhpcy5wYXRoKTtcbiAgICAgIHRoaXMuX21lbnVJdGVtLnBhdGggPSBwYXRoO1xuICAgICAgdGhpcy5fbWVudUl0ZW0ucGF0aFBhcmFtcyA9IHsgLi4ucGFyYW1zLCAuLi50YWJQYXJhbXMgfTtcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgaXRlbSAodGl0bGUgYW5kIGljb24pXG4gICAgaWYgKHRoaXMuX21lbnVJdGVtKSB7XG4gICAgICB0aGlzLl9tZW51SXRlbS50aXRsZSA9IHRoaXMudGl0bGU7XG4gICAgICBpZiAodGhpcy5zdWJNZW51SWNvbikge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuX21lbnVJdGVtLCB0aGlzLnN1Yk1lbnVJY29uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fbWVudUl0ZW07XG4gIH1cblxuICBwcml2YXRlIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBpc05vdE5pbCh0aGlzLnN1Yk1lbnVUaXRsZSkgPyB0aGlzLnN1Yk1lbnVUaXRsZSA6IHRoaXMubGFiZWw7XG4gIH1cbn1cbiJdfQ==
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
47
47
  type: Component,
48
48
  args: [{ selector: 'app-testing-menu-other', template: "<app-toolbar [defaultBackHref]=\"parentPath\">\n <ion-title [innerHTML]=\"$title | async\"></ion-title>\n</app-toolbar>\n\n<ion-content>\n <mat-tab-group\n #tabGroup\n [(selectedIndex)]=\"selectedTabIndex\"\n (selectedTabChange)=\"onTabChange($event)\"\n class=\"mat-mdc-tab-disabled-hidden\"\n dynamicHeight\n [mat-stretch-tabs]=\"toggleStretchTab.checked\"\n >\n <!-- TAB: 1 -->\n <mat-tab\n label=\"Details\"\n class=\"ion-padding\"\n appSubMenuTab\n [subMenuTitle]=\"($title | async) || ''\"\n [parentPath]=\"parentPath\"\n >\n <ng-template mat-tab-label>\n <ion-label>Details</ion-label>\n </ng-template>\n\n <div class=\"ion-padding\">\n <p>A first tab</p>\n\n <p [class.cdk-visually-hidden]=\"showThirdTab\">\n <ion-toggle #toggleThird>Toggle Third Tab</ion-toggle>\n </p>\n\n <p>\n <ion-toggle #toggleStretchTab>Stretch Tabs</ion-toggle>\n </p>\n\n <p>\n <ion-button (click)=\"changeTitle($event)\">Change page title</ion-button>\n\n <ion-button (click)=\"addSubMenuItem($event)\">Add sub menu other 3</ion-button>\n\n <ion-button (click)=\"addOutsideRouteSubMenuItem($event, true)\">\n Add sub menu (outside route) - pinned\n </ion-button>\n\n <ion-button (click)=\"addOutsideRouteSubMenuItem($event, false)\">\n Add sub menu (outside route) - not pinned\n </ion-button>\n </p>\n\n <p>\n &nbsp;&nbsp;\n <ion-button (click)=\"enableMenu(false)\" *ngIf=\"menuService.enabled | async\">Disable menu</ion-button>\n <ion-button (click)=\"enableMenu(true)\" *ngIf=\"(menuService.enabled | async) !== true\">Enable menu</ion-button>\n <ion-button (click)=\"toggleSplitPaneWhen()\" [disabled]=\"(menuService.enabled | async) !== true\">\n Toggle split pane\n </ion-button>\n </p>\n </div>\n </mat-tab>\n\n <!-- TAB: 2 -->\n <mat-tab\n label=\"Second\"\n class=\"ion-padding\"\n appSubMenuTab\n [subMenuIcon]=\"{ icon: 'settings' }\"\n [subMenuTitle]=\"$secondTabTitle | async\"\n >\n <ng-template mat-tab-label>\n <ion-label [innerHTML]=\"$secondTabTitle | async\"></ion-label>\n </ng-template>\n\n <div class=\"ion-padding\">\n <p>A second tab</p>\n\n <p *ngIf=\"showOtherLinks\">\n Navigate to :\n <a [routerLink]=\"childPath + '/1'\">{{ childPath }}/1</a>\n <br />\n Navigate to :\n <a [routerLink]=\"childPath + '/2'\">{{ childPath }}/2</a>\n </p>\n\n <p>\n <ion-button (click)=\"changeSecondTabTitle($event)\">Change tab label</ion-button>\n </p>\n </div>\n </mat-tab>\n\n <!-- TAB: 3 -->\n <mat-tab\n [label]=\"thirdTabTitle\"\n class=\"ion-padding\"\n [disabled]=\"!showThirdTab && !toggleThird.checked\"\n appSubMenuTab\n [subMenuIcon]=\"{ icon: 'none' }\"\n >\n <ng-template mat-tab-label>\n <ion-label matBadge=\"1\" matBadgeColor=\"primary\" matBadgeOverlap=\"false\" matBadgeSize=\"small\">\n {{ thirdTabTitle }}\n </ion-label>\n </ng-template>\n\n <div class=\"ion-padding\">A third tab</div>\n </mat-tab>\n\n <!-- TAB: 4 -->\n <mat-tab appSubMenuTab [subMenuIcon]=\"{ icon: 'person' }\" label=\"Sub Tab\" class=\"ion-padding\">\n <ng-template mat-tab-label>\n <ion-label>Sub Tab</ion-label>\n </ng-template>\n\n <mat-tab-group\n #subTabGroup\n [(selectedIndex)]=\"subSelectedTabIndex\"\n (selectedTabChange)=\"onTabChange($event, 'subtab')\"\n class=\"mat-mdc-tab-disabled-hidden\"\n dynamicHeight\n >\n <mat-tab label=\"Sub1\" class=\"ion-padding\">\n <ng-template mat-tab-label>\n <ion-label>Sub1</ion-label>\n </ng-template>\n\n <div class=\"ion-padding\">\n <p>First SubTab</p>\n </div>\n </mat-tab>\n\n <mat-tab label=\"Sub2\" class=\"ion-padding\">\n <ng-template mat-tab-label>\n <ion-label>Sub2</ion-label>\n </ng-template>\n\n <div class=\"ion-padding\">\n <p>Second SubTab</p>\n </div>\n </mat-tab>\n </mat-tab-group>\n </mat-tab>\n </mat-tab-group>\n</ion-content>\n", styles: [".menu-item{padding-left:0 px}\n"] }]
49
49
  }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.NavController }, { type: i2.AlertController }, { type: i3.TranslateService }, { type: i4.MenuService }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1vdGhlci50ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL21lbnUvdGVzdGluZy9tZW51LW90aGVyLnRlc3RpbmcudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvbWVudS90ZXN0aW5nL21lbnUudGVzdGluZy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJeEMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRWhELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFPL0MsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGVBQWU7SUFDdkQsWUFDRSxLQUFxQixFQUFFLDJCQUEyQjtJQUNsRCxNQUFjLEVBRWQsYUFBNEIsRUFDNUIsU0FBMEIsRUFDMUIsU0FBMkIsRUFDM0IsV0FBd0I7UUFFeEIsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQztRQUN6QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVc7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLDRCQUE0QixDQUFDO1FBQy9DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsOEJBQThCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2hHLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRVMsZUFBZTtRQUN2QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRVMsS0FBSyxDQUFDLFlBQVk7UUFDMUIsb0RBQW9EO1FBQ3BELE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWxCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFNUQsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQztJQUNoRCxDQUFDO3dHQXpDVSxvQkFBb0I7NEZBQXBCLG9CQUFvQixxRkNiakMseTFJQStJQTs7NEZEbElhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtBbGVydENvbnRyb2xsZXIsIE5hdkNvbnRyb2xsZXJ9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHtzbGVlcH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7TWVudVNlcnZpY2V9IGZyb20gJy4uL21lbnUuc2VydmljZSc7XHJcbmltcG9ydCB7TWVudVRlc3RpbmdQYWdlfSBmcm9tICcuL21lbnUudGVzdGluZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC10ZXN0aW5nLW1lbnUtb3RoZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LnRlc3RpbmcuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS50ZXN0aW5nLnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE90aGVyTWVudVRlc3RpbmdQYWdlIGV4dGVuZHMgTWVudVRlc3RpbmdQYWdlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgLy8gTW9kYWwgZWRpdG9yIGdpdmUgJ251bGwnXHJcbiAgICByb3V0ZXI6IFJvdXRlcixcclxuXHJcbiAgICBuYXZDb250cm9sbGVyOiBOYXZDb250cm9sbGVyLFxyXG4gICAgYWxlcnRDdHJsOiBBbGVydENvbnRyb2xsZXIsXHJcbiAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBtZW51U2VydmljZTogTWVudVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKHJvdXRlLCByb3V0ZXIsIG5hdkNvbnRyb2xsZXIsIGFsZXJ0Q3RybCwgdHJhbnNsYXRlLCBtZW51U2VydmljZSk7XHJcbiAgICB0aGlzLmxvZ1ByZWZpeCA9ICdbbWVudS10ZXN0aW5nLW90aGVyXSAnO1xyXG4gICAgdGhpcy5zaG93T3RoZXJMaW5rcyA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93VGhpcmRUYWIgPSB0cnVlO1xyXG4gICAgdGhpcy5zdWJUYWJDb3VudCA9IDI7XHJcbiAgfVxyXG5cclxuICBhc3luYyBpbml0U3ViTWVudSgpIHtcclxuICAgIHRoaXMuc2Vjb25kVGFiVGl0bGUgPSAnU2Vjb25kJztcclxuICAgIHRoaXMucGFyZW50UGF0aCA9ICcvdGVzdGluZy9zaGFyZWQvbWVudT90YWI9MSc7XHJcbiAgICB0aGlzLmNoaWxkUGF0aCA9ICcnO1xyXG4gICAgdGhpcy5wYXRoID0gJy90ZXN0aW5nL3NoYXJlZC9tZW51L290aGVycy8nICsgdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ290aGVySWQnKTtcclxuICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5sb2dQcmVmaXh9IFNldHVwIHdpdGhgLCB7IHBhdGg6IHRoaXMucGF0aCwgcGFyZW50UGF0aDogdGhpcy5wYXJlbnRQYXRoIH0pO1xyXG4gICAgdGhpcy50aGlyZFRhYlRpdGxlID0gJ1RoaXJkJztcclxuICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XHJcblxyXG4gICAgdGhpcy50aXRsZSA9IGF3YWl0IHRoaXMuY29tcHV0ZVRpdGxlKCk7XHJcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldERlZmF1bHRUaXRsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICdPdGhlcic7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgY29tcHV0ZVRpdGxlKCk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAvLyBMb2FkIHRpdGxlICh3aXRoIGEgZGVsYXkgKGUuZy4gd2hlbiBsb2FkaW5nIGRhdGEpXHJcbiAgICBhd2FpdCBzbGVlcCgyMDAwKTtcclxuXHJcbiAgICBjb25zdCBvdGhlcklkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ290aGVySWQnKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5nZXREZWZhdWx0VGl0bGUoKSArICcgJyArIG90aGVySWQ7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8YXBwLXRvb2xiYXIgW2RlZmF1bHRCYWNrSHJlZl09XCJwYXJlbnRQYXRoXCI+XG4gIDxpb24tdGl0bGUgW2lubmVySFRNTF09XCIkdGl0bGUgfCBhc3luY1wiPjwvaW9uLXRpdGxlPlxuPC9hcHAtdG9vbGJhcj5cblxuPGlvbi1jb250ZW50PlxuICA8bWF0LXRhYi1ncm91cFxuICAgICN0YWJHcm91cFxuICAgIFsoc2VsZWN0ZWRJbmRleCldPVwic2VsZWN0ZWRUYWJJbmRleFwiXG4gICAgKHNlbGVjdGVkVGFiQ2hhbmdlKT1cIm9uVGFiQ2hhbmdlKCRldmVudClcIlxuICAgIGNsYXNzPVwibWF0LW1kYy10YWItZGlzYWJsZWQtaGlkZGVuXCJcbiAgICBkeW5hbWljSGVpZ2h0XG4gICAgW21hdC1zdHJldGNoLXRhYnNdPVwidG9nZ2xlU3RyZXRjaFRhYi5jaGVja2VkXCJcbiAgPlxuICAgIDwhLS0gVEFCOiAxIC0tPlxuICAgIDxtYXQtdGFiXG4gICAgICBsYWJlbD1cIkRldGFpbHNcIlxuICAgICAgY2xhc3M9XCJpb24tcGFkZGluZ1wiXG4gICAgICBhcHBTdWJNZW51VGFiXG4gICAgICBbc3ViTWVudVRpdGxlXT1cIigkdGl0bGUgfCBhc3luYykgfHwgJydcIlxuICAgICAgW3BhcmVudFBhdGhdPVwicGFyZW50UGF0aFwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICAgIDxpb24tbGFiZWw+RGV0YWlsczwvaW9uLWxhYmVsPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPGRpdiBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gICAgICAgIDxwPkEgZmlyc3QgdGFiPC9wPlxuXG4gICAgICAgIDxwIFtjbGFzcy5jZGstdmlzdWFsbHktaGlkZGVuXT1cInNob3dUaGlyZFRhYlwiPlxuICAgICAgICAgIDxpb24tdG9nZ2xlICN0b2dnbGVUaGlyZD5Ub2dnbGUgVGhpcmQgVGFiPC9pb24tdG9nZ2xlPlxuICAgICAgICA8L3A+XG5cbiAgICAgICAgPHA+XG4gICAgICAgICAgPGlvbi10b2dnbGUgI3RvZ2dsZVN0cmV0Y2hUYWI+U3RyZXRjaCBUYWJzPC9pb24tdG9nZ2xlPlxuICAgICAgICA8L3A+XG5cbiAgICAgICAgPHA+XG4gICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImNoYW5nZVRpdGxlKCRldmVudClcIj5DaGFuZ2UgcGFnZSB0aXRsZTwvaW9uLWJ1dHRvbj5cblxuICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJhZGRTdWJNZW51SXRlbSgkZXZlbnQpXCI+QWRkIHN1YiBtZW51IG90aGVyIDM8L2lvbi1idXR0b24+XG5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiYWRkT3V0c2lkZVJvdXRlU3ViTWVudUl0ZW0oJGV2ZW50LCB0cnVlKVwiPlxuICAgICAgICAgICAgQWRkIHN1YiBtZW51IChvdXRzaWRlIHJvdXRlKSAtIHBpbm5lZFxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJhZGRPdXRzaWRlUm91dGVTdWJNZW51SXRlbSgkZXZlbnQsIGZhbHNlKVwiPlxuICAgICAgICAgICAgQWRkIHN1YiBtZW51IChvdXRzaWRlIHJvdXRlKSAtIG5vdCBwaW5uZWRcbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDwvcD5cblxuICAgICAgICA8cD5cbiAgICAgICAgICAmbmJzcDsmbmJzcDtcbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiZW5hYmxlTWVudShmYWxzZSlcIiAqbmdJZj1cIm1lbnVTZXJ2aWNlLmVuYWJsZWQgfCBhc3luY1wiPkRpc2FibGUgbWVudTwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiZW5hYmxlTWVudSh0cnVlKVwiICpuZ0lmPVwiKG1lbnVTZXJ2aWNlLmVuYWJsZWQgfCBhc3luYykgIT09IHRydWVcIj5FbmFibGUgbWVudTwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlU3BsaXRQYW5lV2hlbigpXCIgW2Rpc2FibGVkXT1cIihtZW51U2VydmljZS5lbmFibGVkIHwgYXN5bmMpICE9PSB0cnVlXCI+XG4gICAgICAgICAgICBUb2dnbGUgc3BsaXQgcGFuZVxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdGFiPlxuXG4gICAgPCEtLSBUQUI6IDIgLS0+XG4gICAgPG1hdC10YWJcbiAgICAgIGxhYmVsPVwiU2Vjb25kXCJcbiAgICAgIGNsYXNzPVwiaW9uLXBhZGRpbmdcIlxuICAgICAgYXBwU3ViTWVudVRhYlxuICAgICAgW3N1Yk1lbnVJY29uXT1cInsgaWNvbjogJ3NldHRpbmdzJyB9XCJcbiAgICAgIFtzdWJNZW51VGl0bGVdPVwiJHNlY29uZFRhYlRpdGxlIHwgYXN5bmNcIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICA8aW9uLWxhYmVsIFtpbm5lckhUTUxdPVwiJHNlY29uZFRhYlRpdGxlIHwgYXN5bmNcIj48L2lvbi1sYWJlbD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICA8cD5BIHNlY29uZCB0YWI8L3A+XG5cbiAgICAgICAgPHAgKm5nSWY9XCJzaG93T3RoZXJMaW5rc1wiPlxuICAgICAgICAgIE5hdmlnYXRlIHRvIDpcbiAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJjaGlsZFBhdGggKyAnLzEnXCI+e3sgY2hpbGRQYXRoIH19LzE8L2E+XG4gICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgTmF2aWdhdGUgdG8gOlxuICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cImNoaWxkUGF0aCArICcvMidcIj57eyBjaGlsZFBhdGggfX0vMjwvYT5cbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxwPlxuICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJjaGFuZ2VTZWNvbmRUYWJUaXRsZSgkZXZlbnQpXCI+Q2hhbmdlIHRhYiBsYWJlbDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdGFiPlxuXG4gICAgPCEtLSBUQUI6IDMgLS0+XG4gICAgPG1hdC10YWJcbiAgICAgIFtsYWJlbF09XCJ0aGlyZFRhYlRpdGxlXCJcbiAgICAgIGNsYXNzPVwiaW9uLXBhZGRpbmdcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFzaG93VGhpcmRUYWIgJiYgIXRvZ2dsZVRoaXJkLmNoZWNrZWRcIlxuICAgICAgYXBwU3ViTWVudVRhYlxuICAgICAgW3N1Yk1lbnVJY29uXT1cInsgaWNvbjogJ25vbmUnIH1cIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICA8aW9uLWxhYmVsIG1hdEJhZGdlPVwiMVwiIG1hdEJhZGdlQ29sb3I9XCJwcmltYXJ5XCIgbWF0QmFkZ2VPdmVybGFwPVwiZmFsc2VcIiBtYXRCYWRnZVNpemU9XCJzbWFsbFwiPlxuICAgICAgICAgIHt7IHRoaXJkVGFiVGl0bGUgfX1cbiAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5BIHRoaXJkIHRhYjwvZGl2PlxuICAgIDwvbWF0LXRhYj5cblxuICAgIDwhLS0gVEFCOiA0IC0tPlxuICAgIDxtYXQtdGFiIGFwcFN1Yk1lbnVUYWIgW3N1Yk1lbnVJY29uXT1cInsgaWNvbjogJ3BlcnNvbicgfVwiIGxhYmVsPVwiU3ViIFRhYlwiIGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICA8aW9uLWxhYmVsPlN1YiBUYWI8L2lvbi1sYWJlbD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxtYXQtdGFiLWdyb3VwXG4gICAgICAgICNzdWJUYWJHcm91cFxuICAgICAgICBbKHNlbGVjdGVkSW5kZXgpXT1cInN1YlNlbGVjdGVkVGFiSW5kZXhcIlxuICAgICAgICAoc2VsZWN0ZWRUYWJDaGFuZ2UpPVwib25UYWJDaGFuZ2UoJGV2ZW50LCAnc3VidGFiJylcIlxuICAgICAgICBjbGFzcz1cIm1hdC1tZGMtdGFiLWRpc2FibGVkLWhpZGRlblwiXG4gICAgICAgIGR5bmFtaWNIZWlnaHRcbiAgICAgID5cbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJTdWIxXCIgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICAgICAgPGlvbi1sYWJlbD5TdWIxPC9pb24tbGFiZWw+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICAgICAgPHA+Rmlyc3QgU3ViVGFiPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC10YWI+XG5cbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJTdWIyXCIgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICAgICAgPGlvbi1sYWJlbD5TdWIyPC9pb24tbGFiZWw+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICAgICAgPHA+U2Vjb25kIFN1YlRhYjwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgPC9tYXQtdGFiLWdyb3VwPlxuICAgIDwvbWF0LXRhYj5cbiAgPC9tYXQtdGFiLWdyb3VwPlxuPC9pb24tY29udGVudD5cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1vdGhlci50ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL21lbnUvdGVzdGluZy9tZW51LW90aGVyLnRlc3RpbmcudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvbWVudS90ZXN0aW5nL21lbnUudGVzdGluZy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJeEMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRWhELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFPL0MsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGVBQWU7SUFDdkQsWUFDRSxLQUFxQixFQUFFLDJCQUEyQjtJQUNsRCxNQUFjLEVBRWQsYUFBNEIsRUFDNUIsU0FBMEIsRUFDMUIsU0FBMkIsRUFDM0IsV0FBd0I7UUFFeEIsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQztRQUN6QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVc7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLDRCQUE0QixDQUFDO1FBQy9DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsOEJBQThCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2hHLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRVMsZUFBZTtRQUN2QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRVMsS0FBSyxDQUFDLFlBQVk7UUFDMUIsb0RBQW9EO1FBQ3BELE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWxCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFNUQsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQztJQUNoRCxDQUFDO3dHQXpDVSxvQkFBb0I7NEZBQXBCLG9CQUFvQixxRkNiakMseTFJQStJQTs7NEZEbElhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0FsZXJ0Q29udHJvbGxlciwgTmF2Q29udHJvbGxlcn0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7c2xlZXB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHtNZW51U2VydmljZX0gZnJvbSAnLi4vbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7TWVudVRlc3RpbmdQYWdlfSBmcm9tICcuL21lbnUudGVzdGluZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10ZXN0aW5nLW1lbnUtb3RoZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS50ZXN0aW5nLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LnRlc3Rpbmcuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBPdGhlck1lbnVUZXN0aW5nUGFnZSBleHRlbmRzIE1lbnVUZXN0aW5nUGFnZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgLy8gTW9kYWwgZWRpdG9yIGdpdmUgJ251bGwnXG4gICAgcm91dGVyOiBSb3V0ZXIsXG5cbiAgICBuYXZDb250cm9sbGVyOiBOYXZDb250cm9sbGVyLFxuICAgIGFsZXJ0Q3RybDogQWxlcnRDb250cm9sbGVyLFxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBtZW51U2VydmljZTogTWVudVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIocm91dGUsIHJvdXRlciwgbmF2Q29udHJvbGxlciwgYWxlcnRDdHJsLCB0cmFuc2xhdGUsIG1lbnVTZXJ2aWNlKTtcbiAgICB0aGlzLmxvZ1ByZWZpeCA9ICdbbWVudS10ZXN0aW5nLW90aGVyXSAnO1xuICAgIHRoaXMuc2hvd090aGVyTGlua3MgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dUaGlyZFRhYiA9IHRydWU7XG4gICAgdGhpcy5zdWJUYWJDb3VudCA9IDI7XG4gIH1cblxuICBhc3luYyBpbml0U3ViTWVudSgpIHtcbiAgICB0aGlzLnNlY29uZFRhYlRpdGxlID0gJ1NlY29uZCc7XG4gICAgdGhpcy5wYXJlbnRQYXRoID0gJy90ZXN0aW5nL3NoYXJlZC9tZW51P3RhYj0xJztcbiAgICB0aGlzLmNoaWxkUGF0aCA9ICcnO1xuICAgIHRoaXMucGF0aCA9ICcvdGVzdGluZy9zaGFyZWQvbWVudS9vdGhlcnMvJyArIHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdvdGhlcklkJyk7XG4gICAgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLmxvZ1ByZWZpeH0gU2V0dXAgd2l0aGAsIHsgcGF0aDogdGhpcy5wYXRoLCBwYXJlbnRQYXRoOiB0aGlzLnBhcmVudFBhdGggfSk7XG4gICAgdGhpcy50aGlyZFRhYlRpdGxlID0gJ1RoaXJkJztcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgdGhpcy50aXRsZSA9IGF3YWl0IHRoaXMuY29tcHV0ZVRpdGxlKCk7XG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0VGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ090aGVyJztcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBjb21wdXRlVGl0bGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAvLyBMb2FkIHRpdGxlICh3aXRoIGEgZGVsYXkgKGUuZy4gd2hlbiBsb2FkaW5nIGRhdGEpXG4gICAgYXdhaXQgc2xlZXAoMjAwMCk7XG5cbiAgICBjb25zdCBvdGhlcklkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ290aGVySWQnKTtcblxuICAgIHJldHVybiB0aGlzLmdldERlZmF1bHRUaXRsZSgpICsgJyAnICsgb3RoZXJJZDtcbiAgfVxuXG59XG4iLCI8YXBwLXRvb2xiYXIgW2RlZmF1bHRCYWNrSHJlZl09XCJwYXJlbnRQYXRoXCI+XG4gIDxpb24tdGl0bGUgW2lubmVySFRNTF09XCIkdGl0bGUgfCBhc3luY1wiPjwvaW9uLXRpdGxlPlxuPC9hcHAtdG9vbGJhcj5cblxuPGlvbi1jb250ZW50PlxuICA8bWF0LXRhYi1ncm91cFxuICAgICN0YWJHcm91cFxuICAgIFsoc2VsZWN0ZWRJbmRleCldPVwic2VsZWN0ZWRUYWJJbmRleFwiXG4gICAgKHNlbGVjdGVkVGFiQ2hhbmdlKT1cIm9uVGFiQ2hhbmdlKCRldmVudClcIlxuICAgIGNsYXNzPVwibWF0LW1kYy10YWItZGlzYWJsZWQtaGlkZGVuXCJcbiAgICBkeW5hbWljSGVpZ2h0XG4gICAgW21hdC1zdHJldGNoLXRhYnNdPVwidG9nZ2xlU3RyZXRjaFRhYi5jaGVja2VkXCJcbiAgPlxuICAgIDwhLS0gVEFCOiAxIC0tPlxuICAgIDxtYXQtdGFiXG4gICAgICBsYWJlbD1cIkRldGFpbHNcIlxuICAgICAgY2xhc3M9XCJpb24tcGFkZGluZ1wiXG4gICAgICBhcHBTdWJNZW51VGFiXG4gICAgICBbc3ViTWVudVRpdGxlXT1cIigkdGl0bGUgfCBhc3luYykgfHwgJydcIlxuICAgICAgW3BhcmVudFBhdGhdPVwicGFyZW50UGF0aFwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICAgIDxpb24tbGFiZWw+RGV0YWlsczwvaW9uLWxhYmVsPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPGRpdiBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gICAgICAgIDxwPkEgZmlyc3QgdGFiPC9wPlxuXG4gICAgICAgIDxwIFtjbGFzcy5jZGstdmlzdWFsbHktaGlkZGVuXT1cInNob3dUaGlyZFRhYlwiPlxuICAgICAgICAgIDxpb24tdG9nZ2xlICN0b2dnbGVUaGlyZD5Ub2dnbGUgVGhpcmQgVGFiPC9pb24tdG9nZ2xlPlxuICAgICAgICA8L3A+XG5cbiAgICAgICAgPHA+XG4gICAgICAgICAgPGlvbi10b2dnbGUgI3RvZ2dsZVN0cmV0Y2hUYWI+U3RyZXRjaCBUYWJzPC9pb24tdG9nZ2xlPlxuICAgICAgICA8L3A+XG5cbiAgICAgICAgPHA+XG4gICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImNoYW5nZVRpdGxlKCRldmVudClcIj5DaGFuZ2UgcGFnZSB0aXRsZTwvaW9uLWJ1dHRvbj5cblxuICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJhZGRTdWJNZW51SXRlbSgkZXZlbnQpXCI+QWRkIHN1YiBtZW51IG90aGVyIDM8L2lvbi1idXR0b24+XG5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiYWRkT3V0c2lkZVJvdXRlU3ViTWVudUl0ZW0oJGV2ZW50LCB0cnVlKVwiPlxuICAgICAgICAgICAgQWRkIHN1YiBtZW51IChvdXRzaWRlIHJvdXRlKSAtIHBpbm5lZFxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJhZGRPdXRzaWRlUm91dGVTdWJNZW51SXRlbSgkZXZlbnQsIGZhbHNlKVwiPlxuICAgICAgICAgICAgQWRkIHN1YiBtZW51IChvdXRzaWRlIHJvdXRlKSAtIG5vdCBwaW5uZWRcbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDwvcD5cblxuICAgICAgICA8cD5cbiAgICAgICAgICAmbmJzcDsmbmJzcDtcbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiZW5hYmxlTWVudShmYWxzZSlcIiAqbmdJZj1cIm1lbnVTZXJ2aWNlLmVuYWJsZWQgfCBhc3luY1wiPkRpc2FibGUgbWVudTwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiZW5hYmxlTWVudSh0cnVlKVwiICpuZ0lmPVwiKG1lbnVTZXJ2aWNlLmVuYWJsZWQgfCBhc3luYykgIT09IHRydWVcIj5FbmFibGUgbWVudTwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlU3BsaXRQYW5lV2hlbigpXCIgW2Rpc2FibGVkXT1cIihtZW51U2VydmljZS5lbmFibGVkIHwgYXN5bmMpICE9PSB0cnVlXCI+XG4gICAgICAgICAgICBUb2dnbGUgc3BsaXQgcGFuZVxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdGFiPlxuXG4gICAgPCEtLSBUQUI6IDIgLS0+XG4gICAgPG1hdC10YWJcbiAgICAgIGxhYmVsPVwiU2Vjb25kXCJcbiAgICAgIGNsYXNzPVwiaW9uLXBhZGRpbmdcIlxuICAgICAgYXBwU3ViTWVudVRhYlxuICAgICAgW3N1Yk1lbnVJY29uXT1cInsgaWNvbjogJ3NldHRpbmdzJyB9XCJcbiAgICAgIFtzdWJNZW51VGl0bGVdPVwiJHNlY29uZFRhYlRpdGxlIHwgYXN5bmNcIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICA8aW9uLWxhYmVsIFtpbm5lckhUTUxdPVwiJHNlY29uZFRhYlRpdGxlIHwgYXN5bmNcIj48L2lvbi1sYWJlbD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICA8cD5BIHNlY29uZCB0YWI8L3A+XG5cbiAgICAgICAgPHAgKm5nSWY9XCJzaG93T3RoZXJMaW5rc1wiPlxuICAgICAgICAgIE5hdmlnYXRlIHRvIDpcbiAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJjaGlsZFBhdGggKyAnLzEnXCI+e3sgY2hpbGRQYXRoIH19LzE8L2E+XG4gICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgTmF2aWdhdGUgdG8gOlxuICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cImNoaWxkUGF0aCArICcvMidcIj57eyBjaGlsZFBhdGggfX0vMjwvYT5cbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxwPlxuICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJjaGFuZ2VTZWNvbmRUYWJUaXRsZSgkZXZlbnQpXCI+Q2hhbmdlIHRhYiBsYWJlbDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdGFiPlxuXG4gICAgPCEtLSBUQUI6IDMgLS0+XG4gICAgPG1hdC10YWJcbiAgICAgIFtsYWJlbF09XCJ0aGlyZFRhYlRpdGxlXCJcbiAgICAgIGNsYXNzPVwiaW9uLXBhZGRpbmdcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFzaG93VGhpcmRUYWIgJiYgIXRvZ2dsZVRoaXJkLmNoZWNrZWRcIlxuICAgICAgYXBwU3ViTWVudVRhYlxuICAgICAgW3N1Yk1lbnVJY29uXT1cInsgaWNvbjogJ25vbmUnIH1cIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICA8aW9uLWxhYmVsIG1hdEJhZGdlPVwiMVwiIG1hdEJhZGdlQ29sb3I9XCJwcmltYXJ5XCIgbWF0QmFkZ2VPdmVybGFwPVwiZmFsc2VcIiBtYXRCYWRnZVNpemU9XCJzbWFsbFwiPlxuICAgICAgICAgIHt7IHRoaXJkVGFiVGl0bGUgfX1cbiAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5BIHRoaXJkIHRhYjwvZGl2PlxuICAgIDwvbWF0LXRhYj5cblxuICAgIDwhLS0gVEFCOiA0IC0tPlxuICAgIDxtYXQtdGFiIGFwcFN1Yk1lbnVUYWIgW3N1Yk1lbnVJY29uXT1cInsgaWNvbjogJ3BlcnNvbicgfVwiIGxhYmVsPVwiU3ViIFRhYlwiIGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICA8aW9uLWxhYmVsPlN1YiBUYWI8L2lvbi1sYWJlbD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxtYXQtdGFiLWdyb3VwXG4gICAgICAgICNzdWJUYWJHcm91cFxuICAgICAgICBbKHNlbGVjdGVkSW5kZXgpXT1cInN1YlNlbGVjdGVkVGFiSW5kZXhcIlxuICAgICAgICAoc2VsZWN0ZWRUYWJDaGFuZ2UpPVwib25UYWJDaGFuZ2UoJGV2ZW50LCAnc3VidGFiJylcIlxuICAgICAgICBjbGFzcz1cIm1hdC1tZGMtdGFiLWRpc2FibGVkLWhpZGRlblwiXG4gICAgICAgIGR5bmFtaWNIZWlnaHRcbiAgICAgID5cbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJTdWIxXCIgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICAgICAgPGlvbi1sYWJlbD5TdWIxPC9pb24tbGFiZWw+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICAgICAgPHA+Rmlyc3QgU3ViVGFiPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC10YWI+XG5cbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJTdWIyXCIgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICAgICAgPGlvbi1sYWJlbD5TdWIyPC9pb24tbGFiZWw+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICAgICAgPHA+U2Vjb25kIFN1YlRhYjwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgPC9tYXQtdGFiLWdyb3VwPlxuICAgIDwvbWF0LXRhYj5cbiAgPC9tYXQtdGFiLWdyb3VwPlxuPC9pb24tY29udGVudD5cbiJdfQ==
@@ -155,4 +155,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
155
155
  type: ViewChild,
156
156
  args: ['subTabGroup', { static: true }]
157
157
  }] } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS50ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL21lbnUvdGVzdGluZy9tZW51LnRlc3RpbmcudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvbWVudS90ZXN0aW5nL21lbnUudGVzdGluZy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLcEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFPbEUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsWUFBWTtJQXdDbkM7SUF2Q0YsU0FBUyxHQUFHLGlCQUFpQixDQUFDO0lBQzlCLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDZixhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQ25CLFVBQVUsR0FBVyxJQUFJLENBQUM7SUFDMUIsSUFBSSxHQUFXLElBQUksQ0FBQztJQUNwQixjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLFlBQVksR0FBRyxLQUFLLENBQUM7SUFFckIsTUFBTSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7SUFDL0IsZUFBZSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7SUFDeEMsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO0lBRW5DLFdBQVcsQ0FBUztJQUVwQixJQUFhLG1CQUFtQixDQUFDLEtBQWE7UUFDNUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENB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LEtBQWE7UUFDbEMsWUFBWTtRQUNaLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2QsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNaLENBQUM7YUFBTSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0NBQWtDLEtBQUssa0JBQWtCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM5RixLQUFLLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0MsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixnREFBZ0Q7WUFDaEQsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNILENBQUM7d0dBN0pVLGVBQWU7NEZBQWYsZUFBZSxzVUNoQjVCLHkxSUErSUE7OzRGRC9IYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLGtCQUFrQjsyTkFtQmYsbUJBQW1CO3NCQUEvQixLQUFLO2dCQU9hLHlCQUF5QjtzQkFBM0MsTUFBTTtnQkFFcUMsV0FBVztzQkFBdEQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVudVNlcnZpY2UgfSBmcm9tICcuLi9tZW51LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQWxlcnRDb250cm9sbGVyLCBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRGF0ZVV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RhdGVzJztcclxuaW1wb3J0IHsgdG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IE1hdFRhYkdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XHJcbmltcG9ydCB7IEFwcFRhYkVkaXRvciB9IGZyb20gJy4uLy4uL2Zvcm0vZW50aXR5L3RhYi1lZGl0b3IuY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdGVzdGluZy1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS50ZXN0aW5nLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21lbnUudGVzdGluZy5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51VGVzdGluZ1BhZ2UgZXh0ZW5kcyBBcHBUYWJFZGl0b3IgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcHJvdGVjdGVkIGxvZ1ByZWZpeCA9ICdbbWVudS10ZXN0aW5nXSAnO1xyXG4gIHByb3RlY3RlZCBjaGlsZFBhdGggPSAnJztcclxuICBwcm90ZWN0ZWQgdGhpcmRUYWJUaXRsZSA9ICcnO1xyXG4gIHByb3RlY3RlZCBwYXJlbnRQYXRoOiBzdHJpbmcgPSBudWxsO1xyXG4gIHByb3RlY3RlZCBwYXRoOiBzdHJpbmcgPSBudWxsO1xyXG4gIHByb3RlY3RlZCBzaG93T3RoZXJMaW5rcyA9IHRydWU7XHJcbiAgcHJvdGVjdGVkIHNob3dUaGlyZFRhYiA9IGZhbHNlO1xyXG5cclxuICBwcm90ZWN0ZWQgJHRpdGxlID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIHByb3RlY3RlZCAkc2Vjb25kVGFiVGl0bGUgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgcHJvdGVjdGVkIF9zdWJTZWxlY3RlZFRhYkluZGV4ID0gMDtcclxuXHJcbiAgc3ViVGFiQ291bnQ6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgc2V0IHN1YlNlbGVjdGVkVGFiSW5kZXgodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5zZXRTdWJTZWxlY3RlZFRhYkluZGV4KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IHN1YlNlbGVjdGVkVGFiSW5kZXgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9zdWJTZWxlY3RlZFRhYkluZGV4O1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHN1YlNlbGVjdGVkVGFiSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc3ViVGFiR3JvdXAnLCB7IHN0YXRpYzogdHJ1ZSB9KSBzdWJUYWJHcm91cDogTWF0VGFiR3JvdXA7XHJcblxyXG4gIHByb3RlY3RlZCBzZXQgdGl0bGUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy4kdGl0bGUubmV4dCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2V0IHNlY29uZFRhYlRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuJHNlY29uZFRhYlRpdGxlLm5leHQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGUsIC8vIE1vZGFsIGVkaXRvciBnaXZlICdudWxsJ1xyXG4gICAgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBuYXZDb250cm9sbGVyOiBOYXZDb250cm9sbGVyLFxyXG4gICAgYWxlcnRDdHJsOiBBbGVydENvbnRyb2xsZXIsXHJcbiAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihyb3V0ZSwgcm91dGVyLCBuYXZDb250cm9sbGVyLCBhbGVydEN0cmwsIHRyYW5zbGF0ZSwge1xyXG4gICAgICB0YWJDb3VudDogNCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSBJbml0IHBhZ2UuLi5gKTtcclxuXHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICB0aGlzLmluaXRTdWJNZW51KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fURlc3Ryb3lpbmcuLi5gKTtcclxuICB9XHJcblxyXG4gIGxvYWQoaWQ/OiBudW1iZXIsIG9wdGlvbnM/OiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIGdldCBpc05ld0RhdGEoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICByZWxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHVuZGVmaW5lZCk7XHJcbiAgfVxyXG5cclxuICBzYXZlKGV2ZW50OiBFdmVudCB8IHVuZGVmaW5lZCwgb3B0aW9uczogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVRpdGxlKGV2ZW50PzogVUlFdmVudCkge1xyXG4gICAgdGhpcy50aXRsZSA9ICcnO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRpbWUgPSBEYXRlVXRpbHMubW9tZW50KCkuZm9ybWF0KCdISDptbTpzcycpO1xyXG4gICAgICB0aGlzLnRpdGxlID0gYCR7dGhpcy5nZXREZWZhdWx0VGl0bGUoKX0gPGI+JHt0aW1lfTwvYj5gO1xyXG4gICAgfSwgMjAwMCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTZWNvbmRUYWJUaXRsZShldmVudD86IFVJRXZlbnQpIHtcclxuICAgIGNvbnN0IHRpbWUgPSBEYXRlVXRpbHMubW9tZW50KCkuZm9ybWF0KCdISDptbTpzcycpO1xyXG4gICAgdGhpcy5zZWNvbmRUYWJUaXRsZSA9IGA8c21hbGw+JHt0aW1lfTxici8+PC9zbWFsbD5TZWNvbmRgO1xyXG4gIH1cclxuXHJcbiAgYWRkU3ViTWVudUl0ZW0oZXZlbnQ/OiBVSUV2ZW50KSB7XHJcbiAgICB0aGlzLm1lbnVTZXJ2aWNlLmFkZFN1Yk1lbnVJdGVtKHtcclxuICAgICAgdGl0bGU6ICdGYWtlJyxcclxuICAgICAgcGFyZW50UGF0aDogdGhpcy5wYXRoLFxyXG4gICAgICBwYXRoOiB0aGlzLnBhdGggKyAnL2Zha2UnLFxyXG4gICAgICAvL3Bpbm5lZDogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhZGRPdXRzaWRlUm91dGVTdWJNZW51SXRlbShldmVudD86IFVJRXZlbnQsIHBpbm5lZD86IGJvb2xlYW4pIHtcclxuICAgIHRoaXMubWVudVNlcnZpY2UuYWRkU3ViTWVudUl0ZW0oe1xyXG4gICAgICB0aXRsZTogJ0Zha2UnLFxyXG4gICAgICBwYXJlbnRQYXRoOiAnL2FkbWluL3VzZXJzJyxcclxuICAgICAgcGF0aDogJy9hZG1pbi91c2Vycy9mYWtlJyxcclxuICAgICAgcGlubmVkOiB0b0Jvb2xlYW4ocGlubmVkLCBmYWxzZSksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBlbmFibGVNZW51KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLm1lbnVTZXJ2aWNlLmVuYWJsZSh2YWx1ZSk7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCB0b2dnbGVTcGxpdFBhbmVXaGVuKCkge1xyXG4gICAgdGhpcy5tZW51U2VydmljZS50b2dnbGVTcGxpdFBhbmVXaGVuKCk7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBhc3luYyBpbml0U3ViTWVudSgpIHtcclxuICAgIHRoaXMudGl0bGUgPSBhd2FpdCB0aGlzLmNvbXB1dGVUaXRsZSgpO1xyXG4gICAgdGhpcy5zZWNvbmRUYWJUaXRsZSA9ICdPdGhlcnMnO1xyXG4gICAgdGhpcy50aGlyZFRhYlRpdGxlID0gJ1RoaXJkJztcclxuICAgIHRoaXMucGFyZW50UGF0aCA9ICcvdGVzdGluZyc7XHJcbiAgICB0aGlzLnBhdGggPSB0aGlzLnBhcmVudFBhdGggKyAnL3NoYXJlZC9tZW51JztcclxuICAgIHRoaXMuY2hpbGRQYXRoID0gdGhpcy5wYXRoICsgJy9vdGhlcnMnO1xyXG4gICAgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLmxvZ1ByZWZpeH0gU2V0dXAgd2l0aGAsIHsgcGF0aDogdGhpcy5wYXRoLCBwYXJlbnRQYXRoOiB0aGlzLnBhcmVudFBhdGggfSk7XHJcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldEZpcnN0SW52YWxpZFRhYkluZGV4KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gMDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0VGl0bGUoKSB7XHJcbiAgICByZXR1cm4gJ01lbnUnO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFzeW5jIGNvbXB1dGVUaXRsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmdldERlZmF1bHRUaXRsZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0U3ViU2VsZWN0ZWRUYWJJbmRleCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICAvLyBGaXggdmFsdWVcclxuICAgIGlmICh2YWx1ZSA8IDApIHtcclxuICAgICAgdmFsdWUgPSAwO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSA+IHRoaXMudGFiQ291bnQgLSAxKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybihgW21lbnUtb3RoZXJdIEludmFsaWQgdGFiIGluZGV4ICR7dmFsdWV9LiBNYXggdmFsdWUgaXMgJHt0aGlzLnN1YlRhYkNvdW50IC0gMX1gKTtcclxuICAgICAgdmFsdWUgPSB0aGlzLl9zdWJTZWxlY3RlZFRhYkluZGV4O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3N1YlNlbGVjdGVkVGFiSW5kZXggPSB2YWx1ZTtcclxuICAgIHRoaXMuc3ViU2VsZWN0ZWRUYWJJbmRleENoYW5nZS5uZXh0KHZhbHVlKTtcclxuXHJcbiAgICBpZiAodGhpcy5zdWJUYWJHcm91cCkge1xyXG4gICAgICB0aGlzLnN1YlRhYkdyb3VwLnNlbGVjdGVkSW5kZXggPSB2YWx1ZTtcclxuICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgLy8gV2FpdCB0YWIgY2hhbmdlIGluIFVJLCBiZWZvcmUgcmVhbGlnbiBpbmsgdGFiXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zdWJUYWJHcm91cC5yZWFsaWduSW5rQmFyKCksIDIwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtdG9vbGJhciBbZGVmYXVsdEJhY2tIcmVmXT1cInBhcmVudFBhdGhcIj5cbiAgPGlvbi10aXRsZSBbaW5uZXJIVE1MXT1cIiR0aXRsZSB8IGFzeW5jXCI+PC9pb24tdGl0bGU+XG48L2FwcC10b29sYmFyPlxuXG48aW9uLWNvbnRlbnQ+XG4gIDxtYXQtdGFiLWdyb3VwXG4gICAgI3RhYkdyb3VwXG4gICAgWyhzZWxlY3RlZEluZGV4KV09XCJzZWxlY3RlZFRhYkluZGV4XCJcbiAgICAoc2VsZWN0ZWRUYWJDaGFuZ2UpPVwib25UYWJDaGFuZ2UoJGV2ZW50KVwiXG4gICAgY2xhc3M9XCJtYXQtbWRjLXRhYi1kaXNhYmxlZC1oaWRkZW5cIlxuICAgIGR5bmFtaWNIZWlnaHRcbiAgICBbbWF0LXN0cmV0Y2gtdGFic109XCJ0b2dnbGVTdHJldGNoVGFiLmNoZWNrZWRcIlxuICA+XG4gICAgPCEtLSBUQUI6IDEgLS0+XG4gICAgPG1hdC10YWJcbiAgICAgIGxhYmVsPVwiRGV0YWlsc1wiXG4gICAgICBjbGFzcz1cImlvbi1wYWRkaW5nXCJcbiAgICAgIGFwcFN1Yk1lbnVUYWJcbiAgICAgIFtzdWJNZW51VGl0bGVdPVwiKCR0aXRsZSB8IGFzeW5jKSB8fCAnJ1wiXG4gICAgICBbcGFyZW50UGF0aF09XCJwYXJlbnRQYXRoXCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5cbiAgICAgICAgPGlvbi1sYWJlbD5EZXRhaWxzPC9pb24tbGFiZWw+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cbiAgICAgICAgPHA+QSBmaXJzdCB0YWI8L3A+XG5cbiAgICAgICAgPHAgW2NsYXNzLmNkay12aXN1YWxseS1oaWRkZW5dPVwic2hvd1RoaXJkVGFiXCI+XG4gICAgICAgICAgPGlvbi10b2dnbGUgI3RvZ2dsZVRoaXJkPlRvZ2dsZSBUaGlyZCBUYWI8L2lvbi10b2dnbGU+XG4gICAgICAgIDwvcD5cblxuICAgICAgICA8cD5cbiAgICAgICAgICA8aW9uLXRvZ2dsZSAjdG9nZ2xlU3RyZXRjaFRhYj5TdHJldGNoIFRhYnM8L2lvbi10b2dnbGU+XG4gICAgICAgIDwvcD5cblxuICAgICAgICA8cD5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiY2hhbmdlVGl0bGUoJGV2ZW50KVwiPkNoYW5nZSBwYWdlIHRpdGxlPC9pb24tYnV0dG9uPlxuXG4gICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImFkZFN1Yk1lbnVJdGVtKCRldmVudClcIj5BZGQgc3ViIG1lbnUgb3RoZXIgMzwvaW9uLWJ1dHRvbj5cblxuICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJhZGRPdXRzaWRlUm91dGVTdWJNZW51SXRlbSgkZXZlbnQsIHRydWUpXCI+XG4gICAgICAgICAgICBBZGQgc3ViIG1lbnUgKG91dHNpZGUgcm91dGUpIC0gcGlubmVkXG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImFkZE91dHNpZGVSb3V0ZVN1Yk1lbnVJdGVtKCRldmVudCwgZmFsc2UpXCI+XG4gICAgICAgICAgICBBZGQgc3ViIG1lbnUgKG91dHNpZGUgcm91dGUpIC0gbm90IHBpbm5lZFxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxwPlxuICAgICAgICAgICZuYnNwOyZuYnNwO1xuICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJlbmFibGVNZW51KGZhbHNlKVwiICpuZ0lmPVwibWVudVNlcnZpY2UuZW5hYmxlZCB8IGFzeW5jXCI+RGlzYWJsZSBtZW51PC9pb24tYnV0dG9uPlxuICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJlbmFibGVNZW51KHRydWUpXCIgKm5nSWY9XCIobWVudVNlcnZpY2UuZW5hYmxlZCB8IGFzeW5jKSAhPT0gdHJ1ZVwiPkVuYWJsZSBtZW51PC9pb24tYnV0dG9uPlxuICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVTcGxpdFBhbmVXaGVuKClcIiBbZGlzYWJsZWRdPVwiKG1lbnVTZXJ2aWNlLmVuYWJsZWQgfCBhc3luYykgIT09IHRydWVcIj5cbiAgICAgICAgICAgIFRvZ2dsZSBzcGxpdCBwYW5lXG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10YWI+XG5cbiAgICA8IS0tIFRBQjogMiAtLT5cbiAgICA8bWF0LXRhYlxuICAgICAgbGFiZWw9XCJTZWNvbmRcIlxuICAgICAgY2xhc3M9XCJpb24tcGFkZGluZ1wiXG4gICAgICBhcHBTdWJNZW51VGFiXG4gICAgICBbc3ViTWVudUljb25dPVwieyBpY29uOiAnc2V0dGluZ3MnIH1cIlxuICAgICAgW3N1Yk1lbnVUaXRsZV09XCIkc2Vjb25kVGFiVGl0bGUgfCBhc3luY1wiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICAgIDxpb24tbGFiZWwgW2lubmVySFRNTF09XCIkc2Vjb25kVGFiVGl0bGUgfCBhc3luY1wiPjwvaW9uLWxhYmVsPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPGRpdiBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gICAgICAgIDxwPkEgc2Vjb25kIHRhYjwvcD5cblxuICAgICAgICA8cCAqbmdJZj1cInNob3dPdGhlckxpbmtzXCI+XG4gICAgICAgICAgTmF2aWdhdGUgdG8gOlxuICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cImNoaWxkUGF0aCArICcvMSdcIj57eyBjaGlsZFBhdGggfX0vMTwvYT5cbiAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICBOYXZpZ2F0ZSB0byA6XG4gICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiY2hpbGRQYXRoICsgJy8yJ1wiPnt7IGNoaWxkUGF0aCB9fS8yPC9hPlxuICAgICAgICA8L3A+XG5cbiAgICAgICAgPHA+XG4gICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImNoYW5nZVNlY29uZFRhYlRpdGxlKCRldmVudClcIj5DaGFuZ2UgdGFiIGxhYmVsPC9pb24tYnV0dG9uPlxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10YWI+XG5cbiAgICA8IS0tIFRBQjogMyAtLT5cbiAgICA8bWF0LXRhYlxuICAgICAgW2xhYmVsXT1cInRoaXJkVGFiVGl0bGVcIlxuICAgICAgY2xhc3M9XCJpb24tcGFkZGluZ1wiXG4gICAgICBbZGlzYWJsZWRdPVwiIXNob3dUaGlyZFRhYiAmJiAhdG9nZ2xlVGhpcmQuY2hlY2tlZFwiXG4gICAgICBhcHBTdWJNZW51VGFiXG4gICAgICBbc3ViTWVudUljb25dPVwieyBpY29uOiAnbm9uZScgfVwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICAgIDxpb24tbGFiZWwgbWF0QmFkZ2U9XCIxXCIgbWF0QmFkZ2VDb2xvcj1cInByaW1hcnlcIiBtYXRCYWRnZU92ZXJsYXA9XCJmYWxzZVwiIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCI+XG4gICAgICAgICAge3sgdGhpcmRUYWJUaXRsZSB9fVxuICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZ1wiPkEgdGhpcmQgdGFiPC9kaXY+XG4gICAgPC9tYXQtdGFiPlxuXG4gICAgPCEtLSBUQUI6IDQgLS0+XG4gICAgPG1hdC10YWIgYXBwU3ViTWVudVRhYiBbc3ViTWVudUljb25dPVwieyBpY29uOiAncGVyc29uJyB9XCIgbGFiZWw9XCJTdWIgVGFiXCIgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICAgIDxpb24tbGFiZWw+U3ViIFRhYjwvaW9uLWxhYmVsPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPG1hdC10YWItZ3JvdXBcbiAgICAgICAgI3N1YlRhYkdyb3VwXG4gICAgICAgIFsoc2VsZWN0ZWRJbmRleCldPVwic3ViU2VsZWN0ZWRUYWJJbmRleFwiXG4gICAgICAgIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJvblRhYkNoYW5nZSgkZXZlbnQsICdzdWJ0YWInKVwiXG4gICAgICAgIGNsYXNzPVwibWF0LW1kYy10YWItZGlzYWJsZWQtaGlkZGVuXCJcbiAgICAgICAgZHluYW1pY0hlaWdodFxuICAgICAgPlxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIlN1YjFcIiBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICAgICAgICA8aW9uLWxhYmVsPlN1YjE8L2lvbi1sYWJlbD5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gICAgICAgICAgICA8cD5GaXJzdCBTdWJUYWI8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbWF0LXRhYj5cblxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIlN1YjJcIiBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICAgICAgICA8aW9uLWxhYmVsPlN1YjI8L2lvbi1sYWJlbD5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gICAgICAgICAgICA8cD5TZWNvbmQgU3ViVGFiPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC10YWI+XG4gICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgPC9tYXQtdGFiPlxuICA8L21hdC10YWItZ3JvdXA+XG48L2lvbi1jb250ZW50PlxuIl19
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS50ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL21lbnUvdGVzdGluZy9tZW51LnRlc3RpbmcudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvbWVudS90ZXN0aW5nL21lbnUudGVzdGluZy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLcEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFPbEUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsWUFBWTtJQXdDbkM7SUF2Q0YsU0FBUyxHQUFHLGlCQUFpQixDQUFDO0lBQzlCLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDZixhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQ25CLFVBQVUsR0FBVyxJQUFJLENBQUM7SUFDMUIsSUFBSSxHQUFXLElBQUksQ0FBQztJQUNwQixjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLFlBQVksR0FBRyxLQUFLLENBQUM7SUFFckIsTUFBTSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7SUFDL0IsZUFBZSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7SUFDeEMsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO0lBRW5DLFdBQVcsQ0FBUztJQUVwQixJQUFhLG1CQUFtQixDQUFDLEtBQWE7UUFDNUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBRWtCLHlCQUF5QixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFOUIsV0FBVyxDQUFjO0lBRXJFLElBQWMsS0FBSyxDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQWMsY0FBYyxDQUFDLEtBQWE7UUFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQ0UsS0FBcUIsRUFBRSwyQkFBMkI7SUFDbEQsTUFBYyxFQUNkLGFBQTRCLEVBQzVCLFNBQTBCLEVBQzFCLFNBQTJCLEVBQ2pCLFdBQXdCO1FBRWxDLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFO1lBQ3hELFFBQVEsRUFBRSxDQUFDO1NBQ1osQ0FBQyxDQUFDO1FBSk8sZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFLcEMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsZUFBZSxDQUFDLENBQUM7UUFFaEQsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxlQUFlO1FBQ2IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztRQUNULEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsZUFBZSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksQ0FBQyxFQUFXLEVBQUUsT0FBYTtRQUM3QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksQ0FBQyxLQUF3QixFQUFFLE9BQVk7UUFDekMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBZTtRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNoQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxPQUFPLElBQUksTUFBTSxDQUFDO1FBQzFELENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFlO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLElBQUkscUJBQXFCLENBQUM7SUFDNUQsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFlO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO1lBQzlCLEtBQUssRUFBRSxNQUFNO1lBQ2IsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU87WUFDekIsY0FBYztTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxLQUFlLEVBQUUsTUFBZ0I7UUFDMUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7WUFDOUIsS0FBSyxFQUFFLE1BQU07WUFDYixVQUFVLEVBQUUsY0FBYztZQUMxQixJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsVUFBVSxDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNTLG1CQUFtQjtRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUNTLEtBQUssQ0FBQyxXQUFXO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDaEcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFUyx1QkFBdUI7UUFDL0IsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRVMsZUFBZTtRQUN2QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRVMsS0FBSyxDQUFDLFlBQVk7UUFDMUIsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQWE7UUFDbEMsWUFBWTtRQUNaLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2QsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNaLENBQUM7YUFBTSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0NBQWtDLEtBQUssa0JBQWtCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM5RixLQUFLLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0MsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixnREFBZ0Q7WUFDaEQsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNILENBQUM7d0dBN0pVLGVBQWU7NEZBQWYsZUFBZSxzVUNoQjVCLHkxSUErSUE7OzRGRC9IYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLGtCQUFrQjsyTkFtQmYsbUJBQW1CO3NCQUEvQixLQUFLO2dCQU9hLHlCQUF5QjtzQkFBM0MsTUFBTTtnQkFFcUMsV0FBVztzQkFBdEQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQWxlcnRDb250cm9sbGVyLCBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0ZVV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RhdGVzJztcbmltcG9ydCB7IHRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgTWF0VGFiR3JvdXAgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IEFwcFRhYkVkaXRvciB9IGZyb20gJy4uLy4uL2Zvcm0vZW50aXR5L3RhYi1lZGl0b3IuY2xhc3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdGVzdGluZy1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUudGVzdGluZy5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS50ZXN0aW5nLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTWVudVRlc3RpbmdQYWdlIGV4dGVuZHMgQXBwVGFiRWRpdG9yIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICBwcm90ZWN0ZWQgbG9nUHJlZml4ID0gJ1ttZW51LXRlc3RpbmddICc7XG4gIHByb3RlY3RlZCBjaGlsZFBhdGggPSAnJztcbiAgcHJvdGVjdGVkIHRoaXJkVGFiVGl0bGUgPSAnJztcbiAgcHJvdGVjdGVkIHBhcmVudFBhdGg6IHN0cmluZyA9IG51bGw7XG4gIHByb3RlY3RlZCBwYXRoOiBzdHJpbmcgPSBudWxsO1xuICBwcm90ZWN0ZWQgc2hvd090aGVyTGlua3MgPSB0cnVlO1xuICBwcm90ZWN0ZWQgc2hvd1RoaXJkVGFiID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkICR0aXRsZSA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHJvdGVjdGVkICRzZWNvbmRUYWJUaXRsZSA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHJvdGVjdGVkIF9zdWJTZWxlY3RlZFRhYkluZGV4ID0gMDtcblxuICBzdWJUYWJDb3VudDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIHNldCBzdWJTZWxlY3RlZFRhYkluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLnNldFN1YlNlbGVjdGVkVGFiSW5kZXgodmFsdWUpO1xuICB9XG4gIGdldCBzdWJTZWxlY3RlZFRhYkluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3N1YlNlbGVjdGVkVGFiSW5kZXg7XG4gIH1cblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgc3ViU2VsZWN0ZWRUYWJJbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3N1YlRhYkdyb3VwJywgeyBzdGF0aWM6IHRydWUgfSkgc3ViVGFiR3JvdXA6IE1hdFRhYkdyb3VwO1xuXG4gIHByb3RlY3RlZCBzZXQgdGl0bGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuJHRpdGxlLm5leHQodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldCBzZWNvbmRUYWJUaXRsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy4kc2Vjb25kVGFiVGl0bGUubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGUsIC8vIE1vZGFsIGVkaXRvciBnaXZlICdudWxsJ1xuICAgIHJvdXRlcjogUm91dGVyLFxuICAgIG5hdkNvbnRyb2xsZXI6IE5hdkNvbnRyb2xsZXIsXG4gICAgYWxlcnRDdHJsOiBBbGVydENvbnRyb2xsZXIsXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBtZW51U2VydmljZTogTWVudVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIocm91dGUsIHJvdXRlciwgbmF2Q29udHJvbGxlciwgYWxlcnRDdHJsLCB0cmFuc2xhdGUsIHtcbiAgICAgIHRhYkNvdW50OiA0LFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLmxvZ1ByZWZpeH0gSW5pdCBwYWdlLi4uYCk7XG5cbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIHRoaXMuaW5pdFN1Yk1lbnUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLmxvZ1ByZWZpeH1EZXN0cm95aW5nLi4uYCk7XG4gIH1cblxuICBsb2FkKGlkPzogbnVtYmVyLCBvcHRpb25zPzogYW55KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpO1xuICB9XG5cbiAgZ2V0IGlzTmV3RGF0YSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZWxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpO1xuICB9XG5cbiAgc2F2ZShldmVudDogRXZlbnQgfCB1bmRlZmluZWQsIG9wdGlvbnM6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZmFsc2UpO1xuICB9XG5cbiAgY2hhbmdlVGl0bGUoZXZlbnQ/OiBVSUV2ZW50KSB7XG4gICAgdGhpcy50aXRsZSA9ICcnO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgdGltZSA9IERhdGVVdGlscy5tb21lbnQoKS5mb3JtYXQoJ0hIOm1tOnNzJyk7XG4gICAgICB0aGlzLnRpdGxlID0gYCR7dGhpcy5nZXREZWZhdWx0VGl0bGUoKX0gPGI+JHt0aW1lfTwvYj5gO1xuICAgIH0sIDIwMDApO1xuICB9XG5cbiAgY2hhbmdlU2Vjb25kVGFiVGl0bGUoZXZlbnQ/OiBVSUV2ZW50KSB7XG4gICAgY29uc3QgdGltZSA9IERhdGVVdGlscy5tb21lbnQoKS5mb3JtYXQoJ0hIOm1tOnNzJyk7XG4gICAgdGhpcy5zZWNvbmRUYWJUaXRsZSA9IGA8c21hbGw+JHt0aW1lfTxici8+PC9zbWFsbD5TZWNvbmRgO1xuICB9XG5cbiAgYWRkU3ViTWVudUl0ZW0oZXZlbnQ/OiBVSUV2ZW50KSB7XG4gICAgdGhpcy5tZW51U2VydmljZS5hZGRTdWJNZW51SXRlbSh7XG4gICAgICB0aXRsZTogJ0Zha2UnLFxuICAgICAgcGFyZW50UGF0aDogdGhpcy5wYXRoLFxuICAgICAgcGF0aDogdGhpcy5wYXRoICsgJy9mYWtlJyxcbiAgICAgIC8vcGlubmVkOiB0cnVlXG4gICAgfSk7XG4gIH1cblxuICBhZGRPdXRzaWRlUm91dGVTdWJNZW51SXRlbShldmVudD86IFVJRXZlbnQsIHBpbm5lZD86IGJvb2xlYW4pIHtcbiAgICB0aGlzLm1lbnVTZXJ2aWNlLmFkZFN1Yk1lbnVJdGVtKHtcbiAgICAgIHRpdGxlOiAnRmFrZScsXG4gICAgICBwYXJlbnRQYXRoOiAnL2FkbWluL3VzZXJzJyxcbiAgICAgIHBhdGg6ICcvYWRtaW4vdXNlcnMvZmFrZScsXG4gICAgICBwaW5uZWQ6IHRvQm9vbGVhbihwaW5uZWQsIGZhbHNlKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbmFibGVNZW51KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5tZW51U2VydmljZS5lbmFibGUodmFsdWUpO1xuICB9XG4gIHByb3RlY3RlZCB0b2dnbGVTcGxpdFBhbmVXaGVuKCkge1xuICAgIHRoaXMubWVudVNlcnZpY2UudG9nZ2xlU3BsaXRQYW5lV2hlbigpO1xuICB9XG4gIHByb3RlY3RlZCBhc3luYyBpbml0U3ViTWVudSgpIHtcbiAgICB0aGlzLnRpdGxlID0gYXdhaXQgdGhpcy5jb21wdXRlVGl0bGUoKTtcbiAgICB0aGlzLnNlY29uZFRhYlRpdGxlID0gJ090aGVycyc7XG4gICAgdGhpcy50aGlyZFRhYlRpdGxlID0gJ1RoaXJkJztcbiAgICB0aGlzLnBhcmVudFBhdGggPSAnL3Rlc3RpbmcnO1xuICAgIHRoaXMucGF0aCA9IHRoaXMucGFyZW50UGF0aCArICcvc2hhcmVkL21lbnUnO1xuICAgIHRoaXMuY2hpbGRQYXRoID0gdGhpcy5wYXRoICsgJy9vdGhlcnMnO1xuICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5sb2dQcmVmaXh9IFNldHVwIHdpdGhgLCB7IHBhdGg6IHRoaXMucGF0aCwgcGFyZW50UGF0aDogdGhpcy5wYXJlbnRQYXRoIH0pO1xuICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Rmlyc3RJbnZhbGlkVGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0VGl0bGUoKSB7XG4gICAgcmV0dXJuICdNZW51JztcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBjb21wdXRlVGl0bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RGVmYXVsdFRpdGxlKCk7XG4gIH1cblxuICBzZXRTdWJTZWxlY3RlZFRhYkluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICAvLyBGaXggdmFsdWVcbiAgICBpZiAodmFsdWUgPCAwKSB7XG4gICAgICB2YWx1ZSA9IDA7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSA+IHRoaXMudGFiQ291bnQgLSAxKSB7XG4gICAgICBjb25zb2xlLndhcm4oYFttZW51LW90aGVyXSBJbnZhbGlkIHRhYiBpbmRleCAke3ZhbHVlfS4gTWF4IHZhbHVlIGlzICR7dGhpcy5zdWJUYWJDb3VudCAtIDF9YCk7XG4gICAgICB2YWx1ZSA9IHRoaXMuX3N1YlNlbGVjdGVkVGFiSW5kZXg7XG4gICAgfVxuXG4gICAgdGhpcy5fc3ViU2VsZWN0ZWRUYWJJbmRleCA9IHZhbHVlO1xuICAgIHRoaXMuc3ViU2VsZWN0ZWRUYWJJbmRleENoYW5nZS5uZXh0KHZhbHVlKTtcblxuICAgIGlmICh0aGlzLnN1YlRhYkdyb3VwKSB7XG4gICAgICB0aGlzLnN1YlRhYkdyb3VwLnNlbGVjdGVkSW5kZXggPSB2YWx1ZTtcbiAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICAvLyBXYWl0IHRhYiBjaGFuZ2UgaW4gVUksIGJlZm9yZSByZWFsaWduIGluayB0YWJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zdWJUYWJHcm91cC5yZWFsaWduSW5rQmFyKCksIDIwMCk7XG4gICAgfVxuICB9XG59XG4iLCI8YXBwLXRvb2xiYXIgW2RlZmF1bHRCYWNrSHJlZl09XCJwYXJlbnRQYXRoXCI+XG4gIDxpb24tdGl0bGUgW2lubmVySFRNTF09XCIkdGl0bGUgfCBhc3luY1wiPjwvaW9uLXRpdGxlPlxuPC9hcHAtdG9vbGJhcj5cblxuPGlvbi1jb250ZW50PlxuICA8bWF0LXRhYi1ncm91cFxuICAgICN0YWJHcm91cFxuICAgIFsoc2VsZWN0ZWRJbmRleCldPVwic2VsZWN0ZWRUYWJJbmRleFwiXG4gICAgKHNlbGVjdGVkVGFiQ2hhbmdlKT1cIm9uVGFiQ2hhbmdlKCRldmVudClcIlxuICAgIGNsYXNzPVwibWF0LW1kYy10YWItZGlzYWJsZWQtaGlkZGVuXCJcbiAgICBkeW5hbWljSGVpZ2h0XG4gICAgW21hdC1zdHJldGNoLXRhYnNdPVwidG9nZ2xlU3RyZXRjaFRhYi5jaGVja2VkXCJcbiAgPlxuICAgIDwhLS0gVEFCOiAxIC0tPlxuICAgIDxtYXQtdGFiXG4gICAgICBsYWJlbD1cIkRldGFpbHNcIlxuICAgICAgY2xhc3M9XCJpb24tcGFkZGluZ1wiXG4gICAgICBhcHBTdWJNZW51VGFiXG4gICAgICBbc3ViTWVudVRpdGxlXT1cIigkdGl0bGUgfCBhc3luYykgfHwgJydcIlxuICAgICAgW3BhcmVudFBhdGhdPVwicGFyZW50UGF0aFwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICAgIDxpb24tbGFiZWw+RGV0YWlsczwvaW9uLWxhYmVsPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPGRpdiBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gICAgICAgIDxwPkEgZmlyc3QgdGFiPC9wPlxuXG4gICAgICAgIDxwIFtjbGFzcy5jZGstdmlzdWFsbHktaGlkZGVuXT1cInNob3dUaGlyZFRhYlwiPlxuICAgICAgICAgIDxpb24tdG9nZ2xlICN0b2dnbGVUaGlyZD5Ub2dnbGUgVGhpcmQgVGFiPC9pb24tdG9nZ2xlPlxuICAgICAgICA8L3A+XG5cbiAgICAgICAgPHA+XG4gICAgICAgICAgPGlvbi10b2dnbGUgI3RvZ2dsZVN0cmV0Y2hUYWI+U3RyZXRjaCBUYWJzPC9pb24tdG9nZ2xlPlxuICAgICAgICA8L3A+XG5cbiAgICAgICAgPHA+XG4gICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImNoYW5nZVRpdGxlKCRldmVudClcIj5DaGFuZ2UgcGFnZSB0aXRsZTwvaW9uLWJ1dHRvbj5cblxuICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJhZGRTdWJNZW51SXRlbSgkZXZlbnQpXCI+QWRkIHN1YiBtZW51IG90aGVyIDM8L2lvbi1idXR0b24+XG5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiYWRkT3V0c2lkZVJvdXRlU3ViTWVudUl0ZW0oJGV2ZW50LCB0cnVlKVwiPlxuICAgICAgICAgICAgQWRkIHN1YiBtZW51IChvdXRzaWRlIHJvdXRlKSAtIHBpbm5lZFxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJhZGRPdXRzaWRlUm91dGVTdWJNZW51SXRlbSgkZXZlbnQsIGZhbHNlKVwiPlxuICAgICAgICAgICAgQWRkIHN1YiBtZW51IChvdXRzaWRlIHJvdXRlKSAtIG5vdCBwaW5uZWRcbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDwvcD5cblxuICAgICAgICA8cD5cbiAgICAgICAgICAmbmJzcDsmbmJzcDtcbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiZW5hYmxlTWVudShmYWxzZSlcIiAqbmdJZj1cIm1lbnVTZXJ2aWNlLmVuYWJsZWQgfCBhc3luY1wiPkRpc2FibGUgbWVudTwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiZW5hYmxlTWVudSh0cnVlKVwiICpuZ0lmPVwiKG1lbnVTZXJ2aWNlLmVuYWJsZWQgfCBhc3luYykgIT09IHRydWVcIj5FbmFibGUgbWVudTwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlU3BsaXRQYW5lV2hlbigpXCIgW2Rpc2FibGVkXT1cIihtZW51U2VydmljZS5lbmFibGVkIHwgYXN5bmMpICE9PSB0cnVlXCI+XG4gICAgICAgICAgICBUb2dnbGUgc3BsaXQgcGFuZVxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdGFiPlxuXG4gICAgPCEtLSBUQUI6IDIgLS0+XG4gICAgPG1hdC10YWJcbiAgICAgIGxhYmVsPVwiU2Vjb25kXCJcbiAgICAgIGNsYXNzPVwiaW9uLXBhZGRpbmdcIlxuICAgICAgYXBwU3ViTWVudVRhYlxuICAgICAgW3N1Yk1lbnVJY29uXT1cInsgaWNvbjogJ3NldHRpbmdzJyB9XCJcbiAgICAgIFtzdWJNZW51VGl0bGVdPVwiJHNlY29uZFRhYlRpdGxlIHwgYXN5bmNcIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICA8aW9uLWxhYmVsIFtpbm5lckhUTUxdPVwiJHNlY29uZFRhYlRpdGxlIHwgYXN5bmNcIj48L2lvbi1sYWJlbD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICA8cD5BIHNlY29uZCB0YWI8L3A+XG5cbiAgICAgICAgPHAgKm5nSWY9XCJzaG93T3RoZXJMaW5rc1wiPlxuICAgICAgICAgIE5hdmlnYXRlIHRvIDpcbiAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJjaGlsZFBhdGggKyAnLzEnXCI+e3sgY2hpbGRQYXRoIH19LzE8L2E+XG4gICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgTmF2aWdhdGUgdG8gOlxuICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cImNoaWxkUGF0aCArICcvMidcIj57eyBjaGlsZFBhdGggfX0vMjwvYT5cbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxwPlxuICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJjaGFuZ2VTZWNvbmRUYWJUaXRsZSgkZXZlbnQpXCI+Q2hhbmdlIHRhYiBsYWJlbDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdGFiPlxuXG4gICAgPCEtLSBUQUI6IDMgLS0+XG4gICAgPG1hdC10YWJcbiAgICAgIFtsYWJlbF09XCJ0aGlyZFRhYlRpdGxlXCJcbiAgICAgIGNsYXNzPVwiaW9uLXBhZGRpbmdcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFzaG93VGhpcmRUYWIgJiYgIXRvZ2dsZVRoaXJkLmNoZWNrZWRcIlxuICAgICAgYXBwU3ViTWVudVRhYlxuICAgICAgW3N1Yk1lbnVJY29uXT1cInsgaWNvbjogJ25vbmUnIH1cIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICA8aW9uLWxhYmVsIG1hdEJhZGdlPVwiMVwiIG1hdEJhZGdlQ29sb3I9XCJwcmltYXJ5XCIgbWF0QmFkZ2VPdmVybGFwPVwiZmFsc2VcIiBtYXRCYWRnZVNpemU9XCJzbWFsbFwiPlxuICAgICAgICAgIHt7IHRoaXJkVGFiVGl0bGUgfX1cbiAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5BIHRoaXJkIHRhYjwvZGl2PlxuICAgIDwvbWF0LXRhYj5cblxuICAgIDwhLS0gVEFCOiA0IC0tPlxuICAgIDxtYXQtdGFiIGFwcFN1Yk1lbnVUYWIgW3N1Yk1lbnVJY29uXT1cInsgaWNvbjogJ3BlcnNvbicgfVwiIGxhYmVsPVwiU3ViIFRhYlwiIGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICA8aW9uLWxhYmVsPlN1YiBUYWI8L2lvbi1sYWJlbD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxtYXQtdGFiLWdyb3VwXG4gICAgICAgICNzdWJUYWJHcm91cFxuICAgICAgICBbKHNlbGVjdGVkSW5kZXgpXT1cInN1YlNlbGVjdGVkVGFiSW5kZXhcIlxuICAgICAgICAoc2VsZWN0ZWRUYWJDaGFuZ2UpPVwib25UYWJDaGFuZ2UoJGV2ZW50LCAnc3VidGFiJylcIlxuICAgICAgICBjbGFzcz1cIm1hdC1tZGMtdGFiLWRpc2FibGVkLWhpZGRlblwiXG4gICAgICAgIGR5bmFtaWNIZWlnaHRcbiAgICAgID5cbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJTdWIxXCIgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICAgICAgPGlvbi1sYWJlbD5TdWIxPC9pb24tbGFiZWw+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICAgICAgPHA+Rmlyc3QgU3ViVGFiPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC10YWI+XG5cbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJTdWIyXCIgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgICAgICAgPGlvbi1sYWJlbD5TdWIyPC9pb24tbGFiZWw+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICAgICAgPHA+U2Vjb25kIFN1YlRhYjwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgPC9tYXQtdGFiLWdyb3VwPlxuICAgIDwvbWF0LXRhYj5cbiAgPC9tYXQtdGFiLWdyb3VwPlxuPC9pb24tY29udGVudD5cbiJdfQ==
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
25
25
  }], onUpdateClick: [{
26
26
  type: Output
27
27
  }] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW9mZmxpbmUtbW9kZS1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9vZmZsaW5lL3VwZGF0ZS1vZmZsaW5lLW1vZGUtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvb2ZmbGluZS91cGRhdGUtb2ZmbGluZS1tb2RlLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7QUFTakYsTUFBTSxPQUFPLHdCQUF3QjtJQUMxQixrQkFBa0IsQ0FBUztJQUMzQixnQkFBZ0IsQ0FBUztJQUN4QixhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztJQUVwRCxnQkFBZSxDQUFDO0lBRWhCLFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7d0dBVFUsd0JBQXdCOzRGQUF4Qix3QkFBd0IsNk1DVnJDLDgwQ0F1Q0EsMGtERC9CYyxDQUFDLG9CQUFvQixDQUFDOzs0RkFFdkIsd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLG9CQUFvQixDQUFDO3dEQUd6QixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBzbGlkZVVwRG93bkFuaW1hdGlvbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9tYXRlcmlhbC9tYXRlcmlhbC5hbmltYXRpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXVwZGF0ZS1vZmZsaW5lLW1vZGUtY2FyZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICd1cGRhdGUtb2ZmbGluZS1tb2RlLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VwZGF0ZS1vZmZsaW5lLW1vZGUtY2FyZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGFuaW1hdGlvbnM6IFtzbGlkZVVwRG93bkFuaW1hdGlvbl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBVcGRhdGVPZmZsaW5lTW9kZUNhcmQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHByb2dyZXNzaW9uTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHByb2dyZXNzaW9uVmFsdWU6IG51bWJlcjtcclxuICBAT3V0cHV0KCkgb25VcGRhdGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLm9uVXBkYXRlQ2xpY2suY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIC8qIC0tIHByaXZhdGUgbWV0aG9kICAtLSAqL1xyXG59XHJcbiIsIjwhLS0gVXBkYXRlIG9mZmxpbmUgZmVhdHVyZSBjYXJkLS0+XG48aW9uLWNhcmQgY29sb3I9XCJhY2NlbnRcIiBjbGFzcz1cIm1haW4gaW9uLW5vLW1hcmdpblwiIEBzbGlkZVVwRG93bkFuaW1hdGlvbj5cbiAgPGlvbi1jYXJkLWNvbnRlbnQgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgIDxpb24tZ3JpZD5cbiAgICAgIDxpb24tcm93ICpuZ0lmPVwiIXByb2dyZXNzaW9uVmFsdWU7IGVsc2UgcHJvZ3Jlc3Npb25cIj5cbiAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgPGlvbi10ZXh0IGNsYXNzPVwiaW9uLXRleHQtd3JhcFwiPlxuICAgICAgICAgICAgPGg0PlxuICAgICAgICAgICAgICA8YiBbaW5uZXJIVE1MXT1cIidORVRXT1JLLklORk8uVVBEQVRFX09GRkxJTkVfTU9ERScgfCB0cmFuc2xhdGVcIj48L2I+XG4gICAgICAgICAgICA8L2g0PlxuICAgICAgICAgICAgPGgzPlxuICAgICAgICAgICAgICA8c21hbGwgW2lubmVySFRNTF09XCInTkVUV09SSy5JTkZPLlVQREFURV9PRkZMSU5FX01PREVfSEVMUCcgfCB0cmFuc2xhdGVcIj48L3NtYWxsPlxuICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICA8L2lvbi10ZXh0PlxuICAgICAgICA8L2lvbi1jb2w+XG5cbiAgICAgICAgPCEtLSBVcGRhdGUgYnV0dG9uIC0tPlxuICAgICAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPlxuICAgICAgICAgIDxpb24tYnV0dG9uIGNvbG9yPVwidGVydGlhcnlcIiBjbGFzcz1cImlvbi1mbG9hdC1lbmRcIiAoY2xpY2spPVwib25VcGRhdGVDbGljay5lbWl0KCRldmVudClcIj5cbiAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5ORVRXT1JLLkJUTl9VUERBVEU8L3NwYW4+XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8L2lvbi1jb2w+XG4gICAgICA8L2lvbi1yb3c+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjcHJvZ3Jlc3Npb24+XG4gICAgICAgIDxpb24tcm93PlxuICAgICAgICAgIDxpb24tY29sPlxuICAgICAgICAgICAgPGlvbi10ZXh0IGNsYXNzPVwiaW9uLXRleHQtd3JhcFwiIFtpbm5lckhUTUxdPVwicHJvZ3Jlc3Npb25NZXNzYWdlXCI+PC9pb24tdGV4dD5cbiAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgIDwvaW9uLXJvdz5cbiAgICAgICAgPGlvbi1yb3c+XG4gICAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgICA8aW9uLXByb2dyZXNzLWJhciBbdmFsdWVdPVwicHJvZ3Jlc3Npb25WYWx1ZSAvIDEwMFwiPjwvaW9uLXByb2dyZXNzLWJhcj5cbiAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgIDwvaW9uLXJvdz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9pb24tZ3JpZD5cbiAgPC9pb24tY2FyZC1jb250ZW50PlxuPC9pb24tY2FyZD5cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW9mZmxpbmUtbW9kZS1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9vZmZsaW5lL3VwZGF0ZS1vZmZsaW5lLW1vZGUtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvb2ZmbGluZS91cGRhdGUtb2ZmbGluZS1tb2RlLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7QUFTakYsTUFBTSxPQUFPLHdCQUF3QjtJQUMxQixrQkFBa0IsQ0FBUztJQUMzQixnQkFBZ0IsQ0FBUztJQUN4QixhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztJQUVwRCxnQkFBZSxDQUFDO0lBRWhCLFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7d0dBVFUsd0JBQXdCOzRGQUF4Qix3QkFBd0IsNk1DVnJDLDgwQ0F1Q0EsMGtERC9CYyxDQUFDLG9CQUFvQixDQUFDOzs0RkFFdkIsd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLG9CQUFvQixDQUFDO3dEQUd6QixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2xpZGVVcERvd25BbmltYXRpb24gfSBmcm9tICcuLi8uLi9zaGFyZWQvbWF0ZXJpYWwvbWF0ZXJpYWwuYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC11cGRhdGUtb2ZmbGluZS1tb2RlLWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJ3VwZGF0ZS1vZmZsaW5lLW1vZGUtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VwZGF0ZS1vZmZsaW5lLW1vZGUtY2FyZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW3NsaWRlVXBEb3duQW5pbWF0aW9uXSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwVXBkYXRlT2ZmbGluZU1vZGVDYXJkIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHJvZ3Jlc3Npb25NZXNzYWdlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByb2dyZXNzaW9uVmFsdWU6IG51bWJlcjtcbiAgQE91dHB1dCgpIG9uVXBkYXRlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uVXBkYXRlQ2xpY2suY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qIC0tIHByaXZhdGUgbWV0aG9kICAtLSAqL1xufVxuIiwiPCEtLSBVcGRhdGUgb2ZmbGluZSBmZWF0dXJlIGNhcmQtLT5cbjxpb24tY2FyZCBjb2xvcj1cImFjY2VudFwiIGNsYXNzPVwibWFpbiBpb24tbm8tbWFyZ2luXCIgQHNsaWRlVXBEb3duQW5pbWF0aW9uPlxuICA8aW9uLWNhcmQtY29udGVudCBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCI+XG4gICAgPGlvbi1ncmlkPlxuICAgICAgPGlvbi1yb3cgKm5nSWY9XCIhcHJvZ3Jlc3Npb25WYWx1ZTsgZWxzZSBwcm9ncmVzc2lvblwiPlxuICAgICAgICA8aW9uLWNvbD5cbiAgICAgICAgICA8aW9uLXRleHQgY2xhc3M9XCJpb24tdGV4dC13cmFwXCI+XG4gICAgICAgICAgICA8aDQ+XG4gICAgICAgICAgICAgIDxiIFtpbm5lckhUTUxdPVwiJ05FVFdPUksuSU5GTy5VUERBVEVfT0ZGTElORV9NT0RFJyB8IHRyYW5zbGF0ZVwiPjwvYj5cbiAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICA8aDM+XG4gICAgICAgICAgICAgIDxzbWFsbCBbaW5uZXJIVE1MXT1cIidORVRXT1JLLklORk8uVVBEQVRFX09GRkxJTkVfTU9ERV9IRUxQJyB8IHRyYW5zbGF0ZVwiPjwvc21hbGw+XG4gICAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDwvaW9uLXRleHQ+XG4gICAgICAgIDwvaW9uLWNvbD5cblxuICAgICAgICA8IS0tIFVwZGF0ZSBidXR0b24gLS0+XG4gICAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG4gICAgICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJ0ZXJ0aWFyeVwiIGNsYXNzPVwiaW9uLWZsb2F0LWVuZFwiIChjbGljayk9XCJvblVwZGF0ZUNsaWNrLmVtaXQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPk5FVFdPUksuQlROX1VQREFURTwvc3Bhbj5cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDwvaW9uLWNvbD5cbiAgICAgIDwvaW9uLXJvdz5cblxuICAgICAgPG5nLXRlbXBsYXRlICNwcm9ncmVzc2lvbj5cbiAgICAgICAgPGlvbi1yb3c+XG4gICAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgICA8aW9uLXRleHQgY2xhc3M9XCJpb24tdGV4dC13cmFwXCIgW2lubmVySFRNTF09XCJwcm9ncmVzc2lvbk1lc3NhZ2VcIj48L2lvbi10ZXh0PlxuICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgPC9pb24tcm93PlxuICAgICAgICA8aW9uLXJvdz5cbiAgICAgICAgICA8aW9uLWNvbD5cbiAgICAgICAgICAgIDxpb24tcHJvZ3Jlc3MtYmFyIFt2YWx1ZV09XCJwcm9ncmVzc2lvblZhbHVlIC8gMTAwXCI+PC9pb24tcHJvZ3Jlc3MtYmFyPlxuICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgPC9pb24tcm93PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2lvbi1ncmlkPlxuICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG48L2lvbi1jYXJkPlxuIl19