@dsivd/prestations-ng 16.4.4-beta.5 → 16.4.5-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/UPGRADING_V16.md +9 -0
  3. package/dsivd-prestations-ng-v16.4.5-beta.1.tgz +0 -0
  4. package/esm2020/abstract-page-component.mjs +4 -4
  5. package/esm2020/directives/currency-formatter.directive.mjs +4 -4
  6. package/esm2020/directives/formatter.module.mjs +5 -5
  7. package/esm2020/directives/iban-formatter.directive.mjs +4 -4
  8. package/esm2020/directives/ide-formatter.directive.mjs +4 -4
  9. package/esm2020/directives/ndc-formatter.directive.mjs +4 -4
  10. package/esm2020/foehn-address/foehn-address.module.mjs +5 -5
  11. package/esm2020/foehn-address/foehn-display-address.component.mjs +4 -4
  12. package/esm2020/foehn-address/foehn-input-address.component.mjs +6 -6
  13. package/esm2020/foehn-address/foehn-input-foreign-locality.component.mjs +4 -4
  14. package/esm2020/foehn-address/foehn-input-foreign-street.component.mjs +4 -4
  15. package/esm2020/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.mjs +4 -4
  16. package/esm2020/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.mjs +4 -4
  17. package/esm2020/foehn-agenda/foehn-agenda.component.mjs +4 -4
  18. package/esm2020/foehn-agenda/foehn-agenda.module.mjs +5 -5
  19. package/esm2020/foehn-autocomplete/foehn-autocomplete.component.mjs +4 -4
  20. package/esm2020/foehn-autocomplete/foehn-autocomplete.module.mjs +5 -5
  21. package/esm2020/foehn-boolean/foehn-boolean-checkbox.component.mjs +4 -4
  22. package/esm2020/foehn-boolean/foehn-boolean-radio.component.mjs +4 -4
  23. package/esm2020/foehn-boolean/foehn-boolean.module.mjs +5 -5
  24. package/esm2020/foehn-breadcrumb/breadcrumb-event.service.mjs +4 -4
  25. package/esm2020/foehn-breadcrumb/foehn-breadcrumb.component.mjs +4 -4
  26. package/esm2020/foehn-breadcrumb/foehn-breadcrumb.module.mjs +5 -5
  27. package/esm2020/foehn-checkables/foehn-checkable-group.component.mjs +4 -4
  28. package/esm2020/foehn-checkables/foehn-checkables.module.mjs +5 -5
  29. package/esm2020/foehn-checkables/foehn-checkbox.component.mjs +4 -4
  30. package/esm2020/foehn-checkables/foehn-radio.component.mjs +4 -4
  31. package/esm2020/foehn-checkables/foehn-select.component.mjs +4 -4
  32. package/esm2020/foehn-confirm-modal/foehn-confirm-modal.component.mjs +4 -4
  33. package/esm2020/foehn-confirm-modal/foehn-confirm-modal.module.mjs +5 -5
  34. package/esm2020/foehn-confirm-modal/foehn-confirm-modal.service.mjs +4 -4
  35. package/esm2020/foehn-date-picker/foehn-date-picker.component.mjs +4 -4
  36. package/esm2020/foehn-date-picker/foehn-date-picker.module.mjs +5 -5
  37. package/esm2020/foehn-date-picker-button/foehn-date-picker-button.component.mjs +4 -4
  38. package/esm2020/foehn-date-picker-button/foehn-date-picker-button.module.mjs +5 -5
  39. package/esm2020/foehn-debug-summary/foehn-debug-summary.component.mjs +4 -4
  40. package/esm2020/foehn-debug-summary/foehn-debug-summary.component.module.mjs +5 -5
  41. package/esm2020/foehn-decision-electronique/foehn-decision-electronique.component.mjs +4 -4
  42. package/esm2020/foehn-decision-electronique/foehn-decision-electronique.module.mjs +5 -5
  43. package/esm2020/foehn-dropdown-menu/foehn-dropdown-menu.component.mjs +4 -4
  44. package/esm2020/foehn-dropdown-menu/foehn-dropdown-menu.module.mjs +5 -5
  45. package/esm2020/foehn-footer/foehn-footer.component.mjs +4 -4
  46. package/esm2020/foehn-footer/foehn-footer.module.mjs +5 -5
  47. package/esm2020/foehn-form/foehn-form.component.mjs +4 -4
  48. package/esm2020/foehn-form/foehn-form.module.mjs +5 -5
  49. package/esm2020/foehn-form/register-ng-model.service.mjs +4 -4
  50. package/esm2020/foehn-growl/foehn-growl.component.mjs +4 -4
  51. package/esm2020/foehn-growl/foehn-growl.module.mjs +5 -5
  52. package/esm2020/foehn-growl/growl-broker.service.mjs +4 -4
  53. package/esm2020/foehn-header/foehn-header.component.mjs +4 -4
  54. package/esm2020/foehn-header/foehn-header.module.mjs +5 -5
  55. package/esm2020/foehn-header/foehn-skip-link.component.mjs +4 -4
  56. package/esm2020/foehn-help-modal/foehn-help-modal.component.mjs +4 -4
  57. package/esm2020/foehn-help-modal/foehn-help-modal.module.mjs +5 -5
  58. package/esm2020/foehn-icons/abstract-icon-component.mjs +4 -4
  59. package/esm2020/foehn-icons/foehn-icon-calendar.component.mjs +4 -4
  60. package/esm2020/foehn-icons/foehn-icon-check-square-o.component.mjs +4 -4
  61. package/esm2020/foehn-icons/foehn-icon-check.component.mjs +4 -4
  62. package/esm2020/foehn-icons/foehn-icon-chevron-down.component.mjs +4 -4
  63. package/esm2020/foehn-icons/foehn-icon-chevron-left.component.mjs +4 -4
  64. package/esm2020/foehn-icons/foehn-icon-chevron-right.component.mjs +4 -4
  65. package/esm2020/foehn-icons/foehn-icon-chevron-up.component.mjs +4 -4
  66. package/esm2020/foehn-icons/foehn-icon-clock.component.mjs +4 -4
  67. package/esm2020/foehn-icons/foehn-icon-comment-dots.component.mjs +4 -4
  68. package/esm2020/foehn-icons/foehn-icon-edit.component.mjs +4 -4
  69. package/esm2020/foehn-icons/foehn-icon-external-link-alt.component.mjs +4 -4
  70. package/esm2020/foehn-icons/foehn-icon-file-pdf.component.mjs +4 -4
  71. package/esm2020/foehn-icons/foehn-icon-info-circle.component.mjs +4 -4
  72. package/esm2020/foehn-icons/foehn-icon-lock.component.mjs +4 -4
  73. package/esm2020/foehn-icons/foehn-icon-map-marker.component.mjs +4 -4
  74. package/esm2020/foehn-icons/foehn-icon-minus-circle.component.mjs +4 -4
  75. package/esm2020/foehn-icons/foehn-icon-pencil.component.mjs +4 -4
  76. package/esm2020/foehn-icons/foehn-icon-plus-circle.component.mjs +4 -4
  77. package/esm2020/foehn-icons/foehn-icon-plus-square.component.mjs +4 -4
  78. package/esm2020/foehn-icons/foehn-icon-search.component.mjs +4 -4
  79. package/esm2020/foehn-icons/foehn-icon-times.component.mjs +4 -4
  80. package/esm2020/foehn-icons/foehn-icon-trash-alt.component.mjs +4 -4
  81. package/esm2020/foehn-icons/foehn-icon-unlock-alt.component.mjs +4 -4
  82. package/esm2020/foehn-icons/foehn-icon-user.component.mjs +4 -4
  83. package/esm2020/foehn-icons/foehn-icons.module.mjs +5 -5
  84. package/esm2020/foehn-input/foehn-input-email.component.mjs +4 -4
  85. package/esm2020/foehn-input/foehn-input-hidden.component.mjs +4 -4
  86. package/esm2020/foehn-input/foehn-input-number.component.mjs +4 -4
  87. package/esm2020/foehn-input/foehn-input-password.component.mjs +4 -4
  88. package/esm2020/foehn-input/foehn-input-phone.component.mjs +4 -4
  89. package/esm2020/foehn-input/foehn-input-prefixed-text.component.mjs +4 -4
  90. package/esm2020/foehn-input/foehn-input-string.component.mjs +4 -4
  91. package/esm2020/foehn-input/foehn-input-text.component.mjs +4 -4
  92. package/esm2020/foehn-input/foehn-input-textarea.component.mjs +8 -20
  93. package/esm2020/foehn-input/foehn-input.component.mjs +4 -4
  94. package/esm2020/foehn-input/foehn-input.module.mjs +5 -5
  95. package/esm2020/foehn-input-date/foehn-input-date.component.mjs +4 -4
  96. package/esm2020/foehn-input-date-time/foehn-input-date-time.component.mjs +4 -4
  97. package/esm2020/foehn-input-time/foehn-input-time.component.mjs +4 -4
  98. package/esm2020/foehn-list/foehn-list.component.mjs +4 -4
  99. package/esm2020/foehn-list/foehn-list.module.mjs +5 -5
  100. package/esm2020/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +4 -4
  101. package/esm2020/foehn-menu-prestation/abstract-menu-page.component.mjs +4 -4
  102. package/esm2020/foehn-menu-prestation/abstract-page-from-menu.component.mjs +4 -4
  103. package/esm2020/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs +4 -4
  104. package/esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +4 -4
  105. package/esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +4 -4
  106. package/esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs +4 -4
  107. package/esm2020/foehn-menu-prestation/foehn-menu-prestation.module.mjs +5 -5
  108. package/esm2020/foehn-misc/foehn-abbr.component.mjs +4 -4
  109. package/esm2020/foehn-misc/foehn-misc.module.mjs +5 -5
  110. package/esm2020/foehn-modal/foehn-modal.component.mjs +4 -4
  111. package/esm2020/foehn-modal/foehn-modal.module.mjs +5 -5
  112. package/esm2020/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.mjs +4 -4
  113. package/esm2020/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.mjs +5 -5
  114. package/esm2020/foehn-nav13/foehn-input-nav13.component.mjs +4 -4
  115. package/esm2020/foehn-nav13/foehn-input-nav13.module.mjs +5 -5
  116. package/esm2020/foehn-navigation/abstract-foehn-navigation.component.mjs +4 -4
  117. package/esm2020/foehn-navigation/foehn-navigation/foehn-navigation.component.mjs +4 -4
  118. package/esm2020/foehn-navigation/foehn-navigation.module.mjs +5 -5
  119. package/esm2020/foehn-navigation/foehn-navigation.service.mjs +4 -4
  120. package/esm2020/foehn-navigation/foehn-simple-navigation/foehn-simple-navigation.component.mjs +4 -4
  121. package/esm2020/foehn-notfound/foehn-notfound.component.mjs +4 -4
  122. package/esm2020/foehn-notfound/foehn-notfound.module.mjs +5 -5
  123. package/esm2020/foehn-page/foehn-page-counter.component.mjs +4 -4
  124. package/esm2020/foehn-page/foehn-page-expiration-timer/demande-expiration-interceptor.mjs +4 -4
  125. package/esm2020/foehn-page/foehn-page-expiration-timer/demande-expiration.service.mjs +4 -4
  126. package/esm2020/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.mjs +4 -4
  127. package/esm2020/foehn-page/foehn-page-modal.component.mjs +4 -4
  128. package/esm2020/foehn-page/foehn-page-modal.service.mjs +4 -4
  129. package/esm2020/foehn-page/foehn-page.component.mjs +4 -4
  130. package/esm2020/foehn-page/foehn-page.module.mjs +5 -5
  131. package/esm2020/foehn-page/foehn-page.service.mjs +4 -4
  132. package/esm2020/foehn-recap-section/foehn-recap-section.component.mjs +4 -4
  133. package/esm2020/foehn-recap-section/foehn-recap-section.module.mjs +5 -5
  134. package/esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs +4 -4
  135. package/esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs +5 -5
  136. package/esm2020/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +4 -4
  137. package/esm2020/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs +5 -5
  138. package/esm2020/foehn-table/foehn-table.component.mjs +4 -4
  139. package/esm2020/foehn-table/foehn-table.module.mjs +5 -5
  140. package/esm2020/foehn-upload/abstract-foehn-uploader.component.mjs +4 -4
  141. package/esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs +4 -4
  142. package/esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +4 -4
  143. package/esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs +5 -5
  144. package/esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +4 -4
  145. package/esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs +5 -5
  146. package/esm2020/foehn-upload/foehn-multi-upload/multi-upload.service.mjs +4 -4
  147. package/esm2020/foehn-upload/foehn-multi-upload/pending-upload.service.mjs +4 -4
  148. package/esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +4 -4
  149. package/esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs +5 -5
  150. package/esm2020/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.mjs +4 -4
  151. package/esm2020/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.mjs +5 -5
  152. package/esm2020/foehn-upload/foehn-upload-progress-bar/upload-progress.service.mjs +4 -4
  153. package/esm2020/foehn-user-connected-as/foehn-user-connected-as.component.mjs +4 -4
  154. package/esm2020/foehn-user-connected-as/foehn-user-connected-as.module.mjs +5 -5
  155. package/esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs +4 -4
  156. package/esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs +5 -5
  157. package/esm2020/foehn-validation-alerts/foehn-validation-alerts.component.mjs +4 -4
  158. package/esm2020/foehn-validation-alerts/foehn-validation-alerts.module.mjs +5 -5
  159. package/esm2020/gesdem/gesdem-error-handler.service.mjs +4 -4
  160. package/esm2020/gesdem/gesdem-event.service.mjs +4 -4
  161. package/esm2020/gesdem/gesdem-handler.service.mjs +4 -4
  162. package/esm2020/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs +4 -4
  163. package/esm2020/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +4 -4
  164. package/esm2020/gesdem-action-recovery/gesdem-action-recovery.module.mjs +5 -5
  165. package/esm2020/gesdem-action-recovery/gesdem-action-recovery.service.mjs +4 -4
  166. package/esm2020/gesdem-confirmation/gesdem-confirmation.component.mjs +4 -4
  167. package/esm2020/gesdem-confirmation/gesdem-confirmation.module.mjs +5 -5
  168. package/esm2020/gesdem-error/gesdem-error.component.mjs +4 -4
  169. package/esm2020/gesdem-error/gesdem-error.module.mjs +5 -5
  170. package/esm2020/pipes/currency.pipe.mjs +4 -4
  171. package/esm2020/pipes/date.pipe.mjs +4 -4
  172. package/esm2020/pipes/formatIde.pipe.mjs +4 -4
  173. package/esm2020/pipes/pipes.module.mjs +5 -5
  174. package/esm2020/prestations-ng-core.module.mjs +5 -5
  175. package/esm2020/sdk-appinfo/application-info.service.mjs +4 -4
  176. package/esm2020/sdk-currency/currency.helper.mjs +4 -4
  177. package/esm2020/sdk-date/date.helper.mjs +4 -4
  178. package/esm2020/sdk-dictionary/sdk-dictionary.module.mjs +5 -5
  179. package/esm2020/sdk-dictionary/sdk-dictionary.pipe.mjs +4 -4
  180. package/esm2020/sdk-dictionary/sdk-dictionary.service.mjs +4 -4
  181. package/esm2020/sdk-drafts/drafts-container.component.mjs +4 -4
  182. package/esm2020/sdk-drafts/drafts.module.mjs +5 -5
  183. package/esm2020/sdk-drafts/drafts.service.mjs +4 -4
  184. package/esm2020/sdk-epayment/sdk-epayment.component.mjs +4 -4
  185. package/esm2020/sdk-epayment/sdk-epayment.module.mjs +5 -5
  186. package/esm2020/sdk-epayment/sdk-epayment.service.mjs +4 -4
  187. package/esm2020/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs +4 -4
  188. package/esm2020/sdk-recaptcha/recaptcha.service.mjs +4 -4
  189. package/esm2020/sdk-recaptcha/sdk-recaptcha.component.mjs +4 -4
  190. package/esm2020/sdk-recaptcha/sdk-recaptcha.module.mjs +5 -5
  191. package/esm2020/sdk-redirect/iam-expired-interceptor.service.mjs +4 -4
  192. package/esm2020/sdk-redirect/redirect.component.mjs +4 -4
  193. package/esm2020/sdk-redirect/sdk-redirect.module.mjs +5 -5
  194. package/esm2020/sdk-session-info/session-info-with-application.service.mjs +4 -4
  195. package/esm2020/sdk-session-info/session-info.service.mjs +4 -4
  196. package/esm2020/sdk-statistics/sdk-statistics.service.mjs +4 -4
  197. package/esm2020/sdk-support-alert/support-alert-container.component.mjs +4 -4
  198. package/esm2020/sdk-support-alert/support-alert.component.mjs +4 -4
  199. package/esm2020/sdk-support-alert/support-alert.module.mjs +5 -5
  200. package/esm2020/sdk-support-alert/support-alert.service.mjs +4 -4
  201. package/esm2020/supported-browser.mjs +2 -2
  202. package/esm2020/validation/validation-handler.service.mjs +4 -4
  203. package/fesm2015/dsivd-prestations-ng.mjs +652 -663
  204. package/fesm2015/dsivd-prestations-ng.mjs.map +1 -1
  205. package/fesm2020/dsivd-prestations-ng.mjs +652 -663
  206. package/fesm2020/dsivd-prestations-ng.mjs.map +1 -1
  207. package/package.json +1 -1
  208. package/dsivd-prestations-ng-v16.4.4-beta.5.tgz +0 -0
@@ -225,15 +225,15 @@ export class FoehnMultiselectAutocompleteComponent extends FoehnAutocompleteComp
225
225
  }, this.SR_ANNOUNCEMENT_CLEAR_TIMEOUT_INTERVAL_MS);
226
226
  }
227
227
  }
228
- FoehnMultiselectAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnMultiselectAutocompleteComponent, deps: [{ token: i0.NgZone }, { token: i1.SdkDictionaryService }], target: i0.ɵɵFactoryTarget.Component });
229
- FoehnMultiselectAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FoehnMultiselectAutocompleteComponent, selector: "foehn-multiselect-autocomplete", inputs: { elementBadgeLabel: "elementBadgeLabel", selectedItemsListLegend: "selectedItemsListLegend", noElementsSelectedLabel: "noElementsSelectedLabel", defaultElementValues: "defaultElementValues", defaultElementValue: "defaultElementValue" }, host: { properties: { "attr.name": "this.hostName" } }, providers: [
228
+ FoehnMultiselectAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FoehnMultiselectAutocompleteComponent, deps: [{ token: i0.NgZone }, { token: i1.SdkDictionaryService }], target: i0.ɵɵFactoryTarget.Component });
229
+ FoehnMultiselectAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FoehnMultiselectAutocompleteComponent, selector: "foehn-multiselect-autocomplete", inputs: { elementBadgeLabel: "elementBadgeLabel", selectedItemsListLegend: "selectedItemsListLegend", noElementsSelectedLabel: "noElementsSelectedLabel", defaultElementValues: "defaultElementValues", defaultElementValue: "defaultElementValue" }, host: { properties: { "attr.name": "this.hostName" } }, providers: [
230
230
  {
231
231
  provide: FoehnInputComponent,
232
232
  useExisting: forwardRef(() => FoehnMultiselectAutocompleteComponent),
233
233
  multi: true
234
234
  }
235
235
  ], viewQueries: [{ propertyName: "autocompleteComponent", first: true, predicate: ["autocompleteComponent"], descendants: true }, { propertyName: "alertMessageContainer", first: true, predicate: ["alertMessageContainer"], descendants: true }, { propertyName: "defaultDeleteFocusArea", first: true, predicate: ["defaultDeleteFocusArea"], descendants: true }, { propertyName: "selectedElemRef", predicate: ["selectedElemRef"], descendants: true }, { propertyName: "defaultElemRef", predicate: ["defaultElemRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<foehn-autocomplete\n #autocompleteComponent\n [name]=\"name\"\n [label]=\"label\"\n [elements]=\"elements\"\n [elementsUrl]=\"elementsUrl\"\n [elementValue]=\"elementValue\"\n [elementLabel]=\"elementLabel\"\n [elementSuggestionLabel]=\"elementSuggestionLabel\"\n [elementValueIdentity]=\"elementValueIdentity\"\n [elementDisabled]=\"elementDisabled\"\n [elementGroup]=\"elementGroup\"\n [allowCustomValue]=\"false\"\n [searchValueMinCharsCount]=\"searchValueMinCharsCount\"\n [customValueModelGenerator]=\"customValueModelGenerator\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n (userInput)=\"addItem($event)\"\n [(model)]=\"autocompleteInputValue\"\n (elementsLoaded)=\"onAutocompleteElementsLoaded($event)\"\n [showErrorWhenDisabled]=\"showErrorWhenDisabled\"\n [hideNotRequiredExtraLabel]=\"hideNotRequiredExtraLabel\"\n [itemHeightInSuggestionListInPx]=\"itemHeightInSuggestionListInPx\"\n [caseSensitiveSearch]=\"caseSensitiveSearch\"\n>\n <small\n *ngIf=\"!showEmptyListMessage\"\n [attr.id]=\"buildChildId('Help')\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"\n helpText\n ? helpText\n : ('foehn-multiselect-autocomplete.autocomplete.screen-reader.label'\n | fromDictionary)\n \"\n ></small>\n\n <ng-content></ng-content>\n\n <div\n [id]=\"buildChildId('AlertMessageContainer')\"\n role=\"status\"\n #alertMessageContainer\n >\n <p\n *ngIf=\"showEmptyListMessage\"\n class=\"alert alert-info mb-0\"\n tabindex=\"0\"\n >\n {{\n 'foehn-multiselect-autocomplete.autocomplete.empty-message'\n | fromDictionary\n }}\n </p>\n </div>\n</foehn-autocomplete>\n\n<div\n class=\"selected-list-container pt-2\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n tabindex=\"-1\"\n>\n <p\n *ngIf=\"hasDefaultDeleteFocusArea()\"\n class=\"vd-p\"\n [tabindex]=\"0\"\n [innerHTML]=\"noElementsSelectedLabel | fromDictionary\"\n #defaultDeleteFocusArea\n ></p>\n\n <p\n [id]=\"buildChildId('srOnlyAnnouncements')\"\n class=\"sr-only\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n {{ srAnnouncements }}\n </p>\n\n <fieldset\n *ngIf=\"!!model?.length\"\n class=\"form-group\"\n [attr.aria-describedby]=\"buildChildId('Label')\"\n >\n <legend\n [id]=\"buildChildId('Legend')\"\n class=\"vd-p\"\n [innerHTML]=\"selectedItemsListLegend | fromDictionary\"\n ></legend>\n\n <div class=\"selected-list d-flex align-content-stretch flex-wrap\">\n <ng-container\n *ngFor=\"\n let element of model;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <span\n *ngIf=\"!canBeDeleted(index)\"\n class=\"badge badge-pill badge-secondary mr-1 mb-1 py-2 px-3 d-flex align-items-center\"\n [tabindex]=\"disabled ? -1 : 0\"\n [attr.aria-describedby]=\"buildChildId('Legend')\"\n #defaultElemRef\n >\n {{ getBadgeLabel(element) }}\n <span class=\"sr-only\">\n {{\n 'foehn-multiselect-autocomplete.sr-default-selected-element'\n | fromDictionary\n }}\n </span>\n </span>\n <button\n *ngIf=\"canBeDeleted(index)\"\n class=\"btn btn-primary badge badge-pill mr-1 mb-1 py-2 px-3 d-flex align-items-center\"\n [tabindex]=\"0\"\n [attr.aria-label]=\"getDeleteButtonAriaLabel(element)\"\n [attr.aria-describedby]=\"buildChildId('Legend')\"\n [title]=\"getDeleteButtonAriaLabel(element)\"\n (click)=\"removeItem(element, index)\"\n #selectedElemRef\n >\n {{ getBadgeLabel(element) }}\n <foehn-icon-times\n aria-hidden=\"true\"\n class=\"ml-2\"\n [title]=\"getDeleteButtonAriaLabel(element)\"\n ></foehn-icon-times>\n </button>\n </ng-container>\n </div>\n </fieldset>\n</div>\n", styles: ["foehn-autocomplete p.alert:focus{outline:0;box-shadow:inset 0 1px 1px #00000013,0 0 0 .2rem var(--vd-focus)}:host ::ng-deep foehn-autocomplete .form-group{margin-bottom:0!important}.selected-list-container button>.btn,.btn-link{line-height:inherit;padding:0}.selected-list-container .btn{text-transform:none}:host ::ng-deep .btn .svg-inline--fa{color:#fff!important}.selected-list-container span.badge-pill:focus{outline:0;box-shadow:inset 0 1px 1px #00000013,0 0 0 .2rem var(--vd-focus)}\n"], dependencies: [{ kind: "component", type: i2.FoehnAutocompleteComponent, selector: "foehn-autocomplete", inputs: ["searchValueMinCharsCount", "allowCustomValue", "isSuggestionListDynamic", "customValueModelGenerator", "itemHeightInSuggestionListInPx", "elementSuggestionLabel", "caseSensitiveSearch", "disabled"], outputs: ["userSearchInput"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FoehnIconTimesComponent, selector: "foehn-icon-times" }, { kind: "pipe", type: i5.SdkDictionaryPipe, name: "fromDictionary" }] });
236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnMultiselectAutocompleteComponent, decorators: [{
236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FoehnMultiselectAutocompleteComponent, decorators: [{
237
237
  type: Component,
238
238
  args: [{ selector: 'foehn-multiselect-autocomplete', providers: [
239
239
  {
@@ -271,4 +271,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
271
271
  }], defaultElementValue: [{
272
272
  type: Input
273
273
  }] } });
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUvZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUvZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQ0gsU0FBUyxFQUVULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUlMLFNBQVMsRUFDVCxZQUFZLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQWlCeEQsTUFBTSxPQUFPLHFDQUNULFNBQVEsMEJBQTBCO0lBMkNsQyxZQUNJLE1BQWMsRUFDTixpQkFBdUM7UUFFL0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRk4sc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQXpCbkQ7OztXQUdHO1FBRUgsc0JBQWlCLEdBQVEsT0FBTyxDQUFDO1FBR2pDLDRCQUF1QixHQUNuQiwyREFBMkQsQ0FBQztRQUdoRSw0QkFBdUIsR0FDbkIsc0VBQXNFLENBQUM7UUFHM0UseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBSUosOENBQXlDLEdBQUcsSUFBSSxDQUFDO0lBT2xFLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUNwQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFDSSxvQkFBb0IsQ0FBQyxLQUFnQjtRQUNyQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRTtZQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUVELElBQ0ksbUJBQW1CLENBQUMsSUFBWTtRQUNoQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQiwrRUFBK0U7UUFDL0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzVCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUVELGtCQUFrQjtRQUNkLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUI7WUFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsRUFBRTtZQUNqRCxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hCLENBQUM7SUFFRCw2QkFBNkI7UUFDekIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3hDLElBQUksT0FBTyxVQUFVLEtBQUssV0FBVyxFQUFFO1lBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbEM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4QyxJQUFJLE9BQU8sVUFBVSxLQUFLLFdBQVcsRUFBRTtZQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2pDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFhO1FBQ2pCLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2FBQ25CO1lBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyw2Q0FBNkMsRUFBRSxDQUFDO2dCQUNyRCxJQUFJLENBQUMsOEJBQThCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3BEO1NBQ0o7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQWEsRUFBRSxLQUFhO1FBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLCtDQUErQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVU7UUFDZixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN0QixPQUFPLENBQ0gsQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CO2dCQUN2QixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQzlELENBQUM7SUFDTixDQUFDO0lBRUQsNEJBQTRCLENBQUMsUUFBWTtRQUNyQywwQ0FBMEM7UUFDMUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQ2pFLFFBQVEsQ0FDWCxDQUFDO2dCQUNGLElBQ0ksQ0FBQyxJQUFJLENBQUMsUUFBUTtvQkFDZCxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUM3QztvQkFDRSxJQUFJLENBQUMsbUNBQW1DLEVBQUUsQ0FBQztpQkFDOUM7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELHdCQUF3QixDQUFDLE9BQWdCO1FBQ3JDLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUN2QyxnREFBZ0QsRUFDaEQsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUMzQyxFQUFFLENBQUM7SUFDUixDQUFDO0lBRUQseUJBQXlCO1FBQ3JCLE9BQU8sQ0FDSCxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQ2QsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsTUFBTTtZQUNsQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUN0QixDQUFDO0lBQ04sQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFZO1FBQ3RCLElBQUksT0FBTyxJQUFJLENBQUMsaUJBQWlCLEtBQUssUUFBUSxFQUFFO1lBQzVDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNqQztRQUNELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxJQUFhO1FBQ3hDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQzNDLE1BQU0sU0FBUyxHQUNYLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUMzQixDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssU0FBUyxDQUM3RCxDQUFDO1lBQ0YsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFO2dCQUNSLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDbkMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtnQkFDM0IsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUVELE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxZQUFvQjtRQUNqRCxvRUFBb0U7UUFDcEUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdCLFlBQVksSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO1NBQ3BEO1FBQ0QsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLHNDQUFzQztRQUN0QyxJQUFJLFlBQVksS0FBSyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUU7WUFDbEQsSUFBSSxDQUFDLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFO2dCQUNuQyxPQUFPLHdCQUF3QixDQUMzQixZQUFZLEdBQUcsQ0FBQyxDQUNuQixDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUMzQjtZQUNELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUU7Z0JBQzlCLE9BQU8sbUJBQW1CLENBQ3RCLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQ2pDLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzNCO1lBQ0QsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzVEO1FBQ0QsNkNBQTZDO0lBQ2pELENBQUM7SUFFTywwQkFBMEIsQ0FBQyxRQUFZO1FBQzNDLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQWlCLEVBQUUsRUFBRTtnQkFDckMsS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUNyRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ25ELElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUU7d0JBQ25DLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7d0JBQ2xDLE1BQU07cUJBQ1Q7aUJBQ0o7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBQ0QsT0FBTyxnQkFBZ0IsQ0FBQztJQUM1QixDQUFDO0lBRU8sNkNBQTZDO1FBQ2pELDJCQUEyQjtRQUMzQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1FBQ25DLHlEQUF5RDtRQUN6RCxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FDakUsSUFBSSxDQUFDLFFBQVEsQ0FDaEIsQ0FBQztRQUNGLGdEQUFnRDtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDN0MsSUFBSSxDQUFDLG1DQUFtQyxFQUFFLENBQUM7WUFDM0MsNkVBQTZFO1lBQzdFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osTUFBTSxZQUFZLEdBQWdCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUNwRixHQUFHLENBQ04sQ0FBQztnQkFDRixJQUFJLFlBQVksRUFBRTtvQkFDZCxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ3hCO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTywrQ0FBK0MsQ0FDbkQsWUFBb0I7UUFFcEIscURBQXFEO1FBQ3JELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDbEMsa0ZBQWtGO1FBQ2xGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDckUseURBQXlEO1FBQ3pELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUNqRSxJQUFJLENBQUMsUUFBUSxDQUNoQixDQUFDO1FBQ0YsMkZBQTJGO1FBQzNGLDBEQUEwRDtRQUMxRCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxtQ0FBbUM7UUFDdkMsNEVBQTRFO1FBQzVFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDakMsdUZBQXVGO1FBQ3ZGLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUN4RSxDQUFDO0lBRU8sOEJBQThCLENBQ2xDLE9BQWdCLEVBQ2hCLFFBQWlCO1FBRWpCLFlBQVksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM1QyxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksQ0FBQyxlQUFlLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUN4RCx3REFBd0QsRUFDeEQsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUMzQyxFQUFFLENBQUM7U0FDUDthQUFNO1lBQ0gsSUFBSSxDQUFDLGVBQWUsSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQ3hELHNEQUFzRCxFQUN0RCxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQzNDLEVBQUUsQ0FBQztTQUNQO1FBQ0QsSUFBSSxDQUFDLHdCQUF3QixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDOUIsQ0FBQyxFQUFFLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O2tJQXRUUSxxQ0FBcUM7c0hBQXJDLHFDQUFxQyx1V0FWbkM7UUFDUDtZQUNJLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FDbkIsR0FBRyxFQUFFLENBQUMscUNBQXFDLENBQzlDO1lBQ0QsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLG1rQkNoQ0wsNnBKQXVJQTsyRkRyR2EscUNBQXFDO2tCQWRqRCxTQUFTOytCQUNJLGdDQUFnQyxhQUcvQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixXQUFXLEVBQUUsVUFBVSxDQUNuQixHQUFHLEVBQUUsc0NBQXNDLENBQzlDOzRCQUNELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO2dJQU1ELFFBQVE7c0JBRFAsV0FBVzt1QkFBQyxXQUFXO2dCQUl4QixxQkFBcUI7c0JBRHBCLFNBQVM7dUJBQUMsdUJBQXVCO2dCQUlsQyxxQkFBcUI7c0JBRHBCLFNBQVM7dUJBQUMsdUJBQXVCO2dCQUlsQyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUkvQixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUk5QixzQkFBc0I7c0JBRHJCLFNBQVM7dUJBQUMsd0JBQXdCO2dCQVFuQyxpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sdUJBQXVCO3NCQUR0QixLQUFLO2dCQUtOLHVCQUF1QjtzQkFEdEIsS0FBSztnQkF3QkYsb0JBQW9CO3NCQUR2QixLQUFLO2dCQVNGLG1CQUFtQjtzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZvZWhuQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4tYXV0b2NvbXBsZXRlL2ZvZWhuLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYmplY3RIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL29iamVjdC5oZWxwZXInO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeVNlcnZpY2UgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZvZWhuSW5wdXRDb21wb25lbnQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZihcbiAgICAgICAgICAgICAgICAoKSA9PiBGb2Vobk11bHRpc2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5NdWx0aXNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgRm9laG5BdXRvY29tcGxldGVDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLm5hbWUnKVxuICAgIGhvc3ROYW1lOiBzdHJpbmc7XG5cbiAgICBAVmlld0NoaWxkKCdhdXRvY29tcGxldGVDb21wb25lbnQnKVxuICAgIGF1dG9jb21wbGV0ZUNvbXBvbmVudDogRm9laG5BdXRvY29tcGxldGVDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdhbGVydE1lc3NhZ2VDb250YWluZXInKVxuICAgIGFsZXJ0TWVzc2FnZUNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGRyZW4oJ3NlbGVjdGVkRWxlbVJlZicpXG4gICAgc2VsZWN0ZWRFbGVtUmVmOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG5cbiAgICBAVmlld0NoaWxkcmVuKCdkZWZhdWx0RWxlbVJlZicpXG4gICAgZGVmYXVsdEVsZW1SZWY6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICAgIEBWaWV3Q2hpbGQoJ2RlZmF1bHREZWxldGVGb2N1c0FyZWEnKVxuICAgIGRlZmF1bHREZWxldGVGb2N1c0FyZWE6IEVsZW1lbnRSZWY7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbGFiZWwgaW4gdGhlIG9iamVjdC4gQ2FuIGJlIGEgc3RyaW5nIG9yIGEgZnVuY3Rpb25cbiAgICAgKiBEZWZhdWx0cyB0byBgbGFiZWxgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBlbGVtZW50QmFkZ2VMYWJlbDogYW55ID0gJ2xhYmVsJztcblxuICAgIEBJbnB1dCgpXG4gICAgc2VsZWN0ZWRJdGVtc0xpc3RMZWdlbmQgPVxuICAgICAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNlbGVjdGVkLWl0ZW1zLWxpc3QtbGVnZW5kJztcblxuICAgIEBJbnB1dCgpXG4gICAgbm9FbGVtZW50c1NlbGVjdGVkTGFiZWwgPVxuICAgICAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNyLWRlZmF1bHQtZm9jdXMubm8tZWxlbWVudC10by1kZWxldGUnO1xuXG4gICAgYXV0b2NvbXBsZXRlSW5wdXRWYWx1ZTogc3RyaW5nO1xuICAgIHNob3dFbXB0eUxpc3RNZXNzYWdlID0gZmFsc2U7XG4gICAgc3JBbm5vdW5jZW1lbnRzID0gJyc7XG5cbiAgICBwcml2YXRlIGRlZmF1bHRFbGVtZW50VmFsdWVzXzogdW5rbm93bltdO1xuICAgIHByaXZhdGUgc3JBbm5vdW5jZW1lbnRDbGVhclRpbWVyOiBhbnk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBTUl9BTk5PVU5DRU1FTlRfQ0xFQVJfVElNRU9VVF9JTlRFUlZBTF9NUyA9IDIwMDA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgZGljdGlvbmFyeVNlcnZpY2U6IFNka0RpY3Rpb25hcnlTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKG5nWm9uZSk7XG4gICAgfVxuXG4gICAgZ2V0IGRlZmF1bHRFbGVtZW50VmFsdWVzKCk6IHVua25vd25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRFbGVtZW50VmFsdWVzXztcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBkZWZhdWx0RWxlbWVudFZhbHVlcyhpdGVtczogdW5rbm93bltdKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdEVsZW1lbnRWYWx1ZXNfID0gWy4uLml0ZW1zXTtcbiAgICAgICAgaWYgKCghdGhpcy5tb2RlbCB8fCAhdGhpcy5tb2RlbC5sZW5ndGgpICYmIGl0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU5nTW9kZWwoaXRlbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgZGVmYXVsdEVsZW1lbnRWYWx1ZShpdGVtOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0RWxlbWVudFZhbHVlcyA9IFtpdGVtXTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgLy8gVGhlIGhvc3QgaXMgbm90IHJlbGF0ZWQgdG8gZm9laG4gZXJyb3IgbWFuYWdlbWVudCBidXQgZm9laG4tYXV0b2NvbXBsZXRlIGlzLlxuICAgICAgICB0aGlzLmhvc3RJZCA9IHRoaXMuYnVpbGRJZCgnUGFyZW50Q29udGFpbmVyJyk7XG4gICAgICAgIHRoaXMuaG9zdE5hbWUgPSB0aGlzLmhvc3RJZDtcbiAgICAgICAgdGhpcy5leGNsdWRlRnJvbUVycm9yU3VtbWFyeSA9IHRydWU7XG4gICAgfVxuXG4gICAgaGFzRXJyb3JzVG9EaXNwbGF5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudFxuICAgICAgICAgICAgPyB0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudC5oYXNFcnJvcnNUb0Rpc3BsYXkoKVxuICAgICAgICAgICAgOiBmYWxzZTtcbiAgICB9XG5cbiAgICB1cGRhdGVNdWx0aXNlbGVjdEF1dG9jb21wbGV0ZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsaWRWYWx1ZSA9IHRoaXMuZ2V0VmFsaWRWYWx1ZSgpO1xuICAgICAgICBpZiAodHlwZW9mIHZhbGlkVmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU5nTW9kZWwodmFsaWRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVVc2VySW5wdXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbGlkVmFsdWUgPSB0aGlzLmdldFZhbGlkVmFsdWUoKTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWxpZFZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVDaGFuZ2UodmFsaWRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZGRJdGVtKGl0ZW06IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgaWYgKCEhaXRlbSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLm1vZGVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbCA9IFtdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubW9kZWwuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVNdWx0aXNlbGVjdEF1dG9jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlVXNlcklucHV0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5tYW5hZ2VTdWdnZXN0aW9uTGlzdEFuZEZvY3VzQWZ0ZXJBZGRpbmdBbkl0ZW0oKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1hbmFnZVNjcmVlblJlYWRlckFubm91bmNlbWVudChpdGVtLCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW1vdmVJdGVtKGl0ZW06IHVua25vd24sIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb2RlbC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB0aGlzLnVwZGF0ZU11bHRpc2VsZWN0QXV0b2NvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlVXNlcklucHV0KCk7XG4gICAgICAgIHRoaXMubWFuYWdlU3VnZ2VzdGlvbkxpc3RBbmRGb2N1c0FmdGVyUmVtb3ZpbmdBbkl0ZW0oaW5kZXgpO1xuICAgICAgICB0aGlzLm1hbmFnZVNjcmVlblJlYWRlckFubm91bmNlbWVudChpdGVtLCB0cnVlKTtcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb21wb25lbnQubWFya0FzRGlydHkoKTtcbiAgICB9XG5cbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICBnZXRMYWJlbCh2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZWxlbSA9IHRoaXMuZmluZEVsZW1lbnRCeU1vZGVsSXRlbSh2YWx1ZSk7XG4gICAgICAgIHJldHVybiBzdXBlci5nZXRMYWJlbChlbGVtKTtcbiAgICB9XG5cbiAgICBjYW5CZURlbGV0ZWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXRoaXMuZGlzYWJsZWQgJiZcbiAgICAgICAgICAgICghdGhpcy5kZWZhdWx0RWxlbWVudFZhbHVlcyB8fFxuICAgICAgICAgICAgICAgICF0aGlzLmRlZmF1bHRFbGVtZW50VmFsdWVzLmluY2x1ZGVzKHRoaXMubW9kZWxbaW5kZXhdKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkF1dG9jb21wbGV0ZUVsZW1lbnRzTG9hZGVkKGVsZW1lbnRzOiBbXSk6IHZvaWQge1xuICAgICAgICAvLyBOZWVkIHRvIHdhaXQgZm9yIGNoaWxkVmlldyB0byBiZSBsb2FkZWRcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoISF0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50LmVsZW1lbnRzID0gdGhpcy5maWx0ZXJBdXRvY29tcGxldGVFbGVtZW50cyhcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudHNcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgIXRoaXMuZGlzYWJsZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgIXRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50LmVsZW1lbnRzLmxlbmd0aFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dBbGVydE1lc3NhZ2VBbmRIaWRlQXV0b2NvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXREZWxldGVCdXR0b25BcmlhTGFiZWwoZWxlbWVudDogdW5rbm93bik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNlbGVjdGVkLmRlbGV0ZScsXG4gICAgICAgICAgICB7IGVsZW1lbnRMYWJlbDogdGhpcy5nZXRMYWJlbChlbGVtZW50KSB9XG4gICAgICAgICl9YDtcbiAgICB9XG5cbiAgICBoYXNEZWZhdWx0RGVsZXRlRm9jdXNBcmVhKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXRoaXMuZGlzYWJsZWQgJiZcbiAgICAgICAgICAgICF0aGlzLmRlZmF1bHRFbGVtZW50VmFsdWVzPy5sZW5ndGggJiZcbiAgICAgICAgICAgICF0aGlzLm1vZGVsPy5sZW5ndGhcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRCYWRnZUxhYmVsKGVsZW1lbnQ6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5lbGVtZW50QmFkZ2VMYWJlbCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldExhYmVsKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRCYWRnZUxhYmVsKGVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZEVsZW1lbnRCeU1vZGVsSXRlbShpdGVtOiB1bmtub3duKTogdW5rbm93biB7XG4gICAgICAgIGlmICghIXRoaXMuZWxlbWVudHMgJiYgISF0aGlzLmVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgaXRlbVZhbHVlOiB1bmtub3duID1cbiAgICAgICAgICAgICAgICB0eXBlb2YgaXRlbSAhPT0gJ29iamVjdCcgPyBpdGVtIDogdGhpcy5nZXRWYWx1ZShpdGVtKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmVsZW1lbnRzLmZpbmQoXG4gICAgICAgICAgICAgICAgKGVsZW1lbnQ6IHVua25vd24pID0+IHRoaXMuZ2V0VmFsdWUoZWxlbWVudCkgPT09IGl0ZW1WYWx1ZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmICghIWVsZW0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZWxlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFZhbGlkVmFsdWUoKTogbnVtYmVyW10gfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKCF0aGlzLm1vZGVsIHx8ICF0aGlzLm1vZGVsLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWxfICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzTmV4dEFyZWFBZnRlckRlbGV0ZShyZW1vdmVkSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICAvLyBBZGp1c3QgaW5kZXggZGVwZW5kaW5nIG9uIGRlZmF1bHQgZWxlbWVudHMgdGhhdCBhcmUgbm90IGRlbGV0YWJsZVxuICAgICAgICBpZiAoISF0aGlzLmRlZmF1bHRFbGVtZW50VmFsdWVzKSB7XG4gICAgICAgICAgICByZW1vdmVkSW5kZXggLT0gdGhpcy5kZWZhdWx0RWxlbWVudFZhbHVlcy5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2xvc2VCdXR0b25zRWxlbVJlZkFycmF5ID0gWy4uLnRoaXMuc2VsZWN0ZWRFbGVtUmVmLnRvQXJyYXkoKV07XG4gICAgICAgIC8vIE5lZWQgdG8gZmluZCBhbiBlbGVtZW50IHRvIGZvY3VzIG9uXG4gICAgICAgIGlmIChyZW1vdmVkSW5kZXggPT09IGNsb3NlQnV0dG9uc0VsZW1SZWZBcnJheS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICghIWNsb3NlQnV0dG9uc0VsZW1SZWZBcnJheS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2xvc2VCdXR0b25zRWxlbVJlZkFycmF5W1xuICAgICAgICAgICAgICAgICAgICByZW1vdmVkSW5kZXggLSAxXG4gICAgICAgICAgICAgICAgXS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0RWxlbVJlZkFycmF5ID0gWy4uLnRoaXMuZGVmYXVsdEVsZW1SZWYudG9BcnJheSgpXTtcbiAgICAgICAgICAgIGlmICghIWRlZmF1bHRFbGVtUmVmQXJyYXkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRFbGVtUmVmQXJyYXlbXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRFbGVtUmVmQXJyYXkubGVuZ3RoIC0gMVxuICAgICAgICAgICAgICAgIF0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdERlbGV0ZUZvY3VzQXJlYS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gT3RoZXJ3aXNlIGZvY3VzIGVsZW1lbnQgYnkgRE9NIHJlcGxhY2VtZW50XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJBdXRvY29tcGxldGVFbGVtZW50cyhlbGVtZW50czogW10pOiB1bmtub3duIHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWRFbGVtZW50cyA9IE9iamVjdEhlbHBlci5kZWVwQ29weShlbGVtZW50cyk7XG4gICAgICAgIGlmICghIXRoaXMubW9kZWwgJiYgISF0aGlzLm1vZGVsLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5tb2RlbC5mb3JFYWNoKChzZWxlY3RlZDogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgW2luZGV4LCB2YWx1ZV0gb2YgZmlsdGVyZWRFbGVtZW50cy5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbSA9IHRoaXMuZmluZEVsZW1lbnRCeU1vZGVsSXRlbShzZWxlY3RlZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChPYmplY3RIZWxwZXIuaXNFcXVhbChlbGVtLCB2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcmVkRWxlbWVudHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbHRlcmVkRWxlbWVudHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYW5hZ2VTdWdnZXN0aW9uTGlzdEFuZEZvY3VzQWZ0ZXJBZGRpbmdBbkl0ZW0oKTogdm9pZCB7XG4gICAgICAgIC8vIEVtcHR5IGF1dG9jb21wbGV0ZSBpbnB1dFxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUlucHV0VmFsdWUgPSBudWxsO1xuICAgICAgICAvLyBSZW1vdmUgc2VsZWN0ZWQgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBzdWdnZXN0aW9uIGxpc3RcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb21wb25lbnQuZWxlbWVudHMgPSB0aGlzLmZpbHRlckF1dG9jb21wbGV0ZUVsZW1lbnRzKFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50c1xuICAgICAgICApO1xuICAgICAgICAvLyBDaGVjayBpZiB3ZSBzdGlsbCBoYXZlIHN1Z2dlc3Rpb25zIHRvIGRpc3BsYXlcbiAgICAgICAgaWYgKCF0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudC5lbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0FsZXJ0TWVzc2FnZUFuZEhpZGVBdXRvY29tcGxldGUoKTtcbiAgICAgICAgICAgIC8vIE5lZWQgc2V0VGltZW91dCB0byBlbnN1cmUgYWxlcnQgbWVzc2FnZSBpcyBvbiB0aGUgRE9NIGFuZCBjYW4gYmUgZm9jdXNhYmxlXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhbGVydE1lc3NhZ2U6IEhUTUxFbGVtZW50ID0gdGhpcy5hbGVydE1lc3NhZ2VDb250YWluZXIubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICAgICAgICAgICAncCdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChhbGVydE1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgYWxlcnRNZXNzYWdlLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1hbmFnZVN1Z2dlc3Rpb25MaXN0QW5kRm9jdXNBZnRlclJlbW92aW5nQW5JdGVtKFxuICAgICAgICByZW1vdmVkSW5kZXg6IG51bWJlclxuICAgICk6IHZvaWQge1xuICAgICAgICAvLyBIaWRlIG1lc3NhZ2Ugc2F5aW5nIG5vIG1vcmUgc3VnZ2VzdGlvbnMgdG8gZGlzcGxheVxuICAgICAgICB0aGlzLnNob3dFbXB0eUxpc3RNZXNzYWdlID0gZmFsc2U7XG4gICAgICAgIC8vIE1hbnVhbGx5IHNob3cgYXV0b2NvbXBsZXRlIGJlY2F1c2UgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIHN1Z2dlc3Rpb25zIHRvIGRpc3BsYXlcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb21wb25lbnQuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaGlkZGVuID0gZmFsc2U7XG4gICAgICAgIC8vIEFkZCBiYWNrIHNlbGVjdGVkIGl0ZW0gdG8gYXV0b2NvbXBsZXRlIHN1Z2dlc3Rpb24gbGlzdFxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudC5lbGVtZW50cyA9IHRoaXMuZmlsdGVyQXV0b2NvbXBsZXRlRWxlbWVudHMoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRzXG4gICAgICAgICk7XG4gICAgICAgIC8vIFdoZW4gZGVsZXRpbmcgYSBzZWxlY3RlZCBpdGVtLCBjaGVjayB3ZXJlIHRvIHNldCBmb2N1cyBiYWNrIHdoZW4gbm8gbW9yZSBpdGVtcyB0byBkZWxldGVcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICB0aGlzLnNlbGVjdGVkRWxlbVJlZi5jaGFuZ2VzLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNOZXh0QXJlYUFmdGVyRGVsZXRlKHJlbW92ZWRJbmRleCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd0FsZXJ0TWVzc2FnZUFuZEhpZGVBdXRvY29tcGxldGUoKTogdm9pZCB7XG4gICAgICAgIC8vIFNob3cgYSBtZXNzYWdlIHRvIHVzZXIgaW5kaWNhdGluZyB0aGVyZSBpcyBubyBtb3JlIHN1Z2dlc3Rpb25zIHRvIGRpc3BsYXlcbiAgICAgICAgdGhpcy5zaG93RW1wdHlMaXN0TWVzc2FnZSA9IHRydWU7XG4gICAgICAgIC8vIE1hbnVhbGx5IHJlc2V0IGFuZCBoaWRlIGF1dG9jb21wbGV0ZSBiZWNhdXNlIHRoZXJlIGlzIG5vIG1vcmUgc3VnZ2VzdGlvbnMgdG8gZGlzcGxheVxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUlucHV0VmFsdWUgPSBudWxsO1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudC5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5oaWRkZW4gPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgbWFuYWdlU2NyZWVuUmVhZGVyQW5ub3VuY2VtZW50KFxuICAgICAgICBlbGVtZW50OiB1bmtub3duLFxuICAgICAgICBpc0RlbGV0ZTogYm9vbGVhblxuICAgICk6IHZvaWQge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5zckFubm91bmNlbWVudENsZWFyVGltZXIpO1xuICAgICAgICBpZiAoaXNEZWxldGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3JBbm5vdW5jZW1lbnRzICs9IGAke3RoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNyLWFubm91bmNlbWVudC5kZWxldGVkJyxcbiAgICAgICAgICAgICAgICB7IGVsZW1lbnRMYWJlbDogdGhpcy5nZXRMYWJlbChlbGVtZW50KSB9XG4gICAgICAgICAgICApfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNyQW5ub3VuY2VtZW50cyArPSBgJHt0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAgICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1hbm5vdW5jZW1lbnQuYWRkZWQnLFxuICAgICAgICAgICAgICAgIHsgZWxlbWVudExhYmVsOiB0aGlzLmdldExhYmVsKGVsZW1lbnQpIH1cbiAgICAgICAgICAgICl9YDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNyQW5ub3VuY2VtZW50Q2xlYXJUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zckFubm91bmNlbWVudHMgPSAnJztcbiAgICAgICAgfSwgdGhpcy5TUl9BTk5PVU5DRU1FTlRfQ0xFQVJfVElNRU9VVF9JTlRFUlZBTF9NUyk7XG4gICAgfVxufVxuIiwiPGZvZWhuLWF1dG9jb21wbGV0ZVxuICAgICNhdXRvY29tcGxldGVDb21wb25lbnRcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgIFtlbGVtZW50c109XCJlbGVtZW50c1wiXG4gICAgW2VsZW1lbnRzVXJsXT1cImVsZW1lbnRzVXJsXCJcbiAgICBbZWxlbWVudFZhbHVlXT1cImVsZW1lbnRWYWx1ZVwiXG4gICAgW2VsZW1lbnRMYWJlbF09XCJlbGVtZW50TGFiZWxcIlxuICAgIFtlbGVtZW50U3VnZ2VzdGlvbkxhYmVsXT1cImVsZW1lbnRTdWdnZXN0aW9uTGFiZWxcIlxuICAgIFtlbGVtZW50VmFsdWVJZGVudGl0eV09XCJlbGVtZW50VmFsdWVJZGVudGl0eVwiXG4gICAgW2VsZW1lbnREaXNhYmxlZF09XCJlbGVtZW50RGlzYWJsZWRcIlxuICAgIFtlbGVtZW50R3JvdXBdPVwiZWxlbWVudEdyb3VwXCJcbiAgICBbYWxsb3dDdXN0b21WYWx1ZV09XCJmYWxzZVwiXG4gICAgW3NlYXJjaFZhbHVlTWluQ2hhcnNDb3VudF09XCJzZWFyY2hWYWx1ZU1pbkNoYXJzQ291bnRcIlxuICAgIFtjdXN0b21WYWx1ZU1vZGVsR2VuZXJhdG9yXT1cImN1c3RvbVZhbHVlTW9kZWxHZW5lcmF0b3JcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAodXNlcklucHV0KT1cImFkZEl0ZW0oJGV2ZW50KVwiXG4gICAgWyhtb2RlbCldPVwiYXV0b2NvbXBsZXRlSW5wdXRWYWx1ZVwiXG4gICAgKGVsZW1lbnRzTG9hZGVkKT1cIm9uQXV0b2NvbXBsZXRlRWxlbWVudHNMb2FkZWQoJGV2ZW50KVwiXG4gICAgW3Nob3dFcnJvcldoZW5EaXNhYmxlZF09XCJzaG93RXJyb3JXaGVuRGlzYWJsZWRcIlxuICAgIFtoaWRlTm90UmVxdWlyZWRFeHRyYUxhYmVsXT1cImhpZGVOb3RSZXF1aXJlZEV4dHJhTGFiZWxcIlxuICAgIFtpdGVtSGVpZ2h0SW5TdWdnZXN0aW9uTGlzdEluUHhdPVwiaXRlbUhlaWdodEluU3VnZ2VzdGlvbkxpc3RJblB4XCJcbiAgICBbY2FzZVNlbnNpdGl2ZVNlYXJjaF09XCJjYXNlU2Vuc2l0aXZlU2VhcmNoXCJcbj5cbiAgICA8c21hbGxcbiAgICAgICAgKm5nSWY9XCIhc2hvd0VtcHR5TGlzdE1lc3NhZ2VcIlxuICAgICAgICBbYXR0ci5pZF09XCJidWlsZENoaWxkSWQoJ0hlbHAnKVwiXG4gICAgICAgIGNsYXNzPVwiZm9ybS10ZXh0IHRleHQtc2Vjb25kYXJ5XCJcbiAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgIGhlbHBUZXh0XG4gICAgICAgICAgICAgICAgPyBoZWxwVGV4dFxuICAgICAgICAgICAgICAgIDogKCdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuYXV0b2NvbXBsZXRlLnNjcmVlbi1yZWFkZXIubGFiZWwnXG4gICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5KVxuICAgICAgICBcIlxuICAgID48L3NtYWxsPlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdlxuICAgICAgICBbaWRdPVwiYnVpbGRDaGlsZElkKCdBbGVydE1lc3NhZ2VDb250YWluZXInKVwiXG4gICAgICAgIHJvbGU9XCJzdGF0dXNcIlxuICAgICAgICAjYWxlcnRNZXNzYWdlQ29udGFpbmVyXG4gICAgPlxuICAgICAgICA8cFxuICAgICAgICAgICAgKm5nSWY9XCJzaG93RW1wdHlMaXN0TWVzc2FnZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm8gbWItMFwiXG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuYXV0b2NvbXBsZXRlLmVtcHR5LW1lc3NhZ2UnXG4gICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgIH19XG4gICAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbjwvZm9laG4tYXV0b2NvbXBsZXRlPlxuXG48ZGl2XG4gICAgY2xhc3M9XCJzZWxlY3RlZC1saXN0LWNvbnRhaW5lciBwdC0yXCJcbiAgICBbY2xhc3MuaGFzLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgW2NsYXNzLnZkLWZvcm0tZ3JvdXAtZGFuZ2VyXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbj5cbiAgICA8cFxuICAgICAgICAqbmdJZj1cImhhc0RlZmF1bHREZWxldGVGb2N1c0FyZWEoKVwiXG4gICAgICAgIGNsYXNzPVwidmQtcFwiXG4gICAgICAgIFt0YWJpbmRleF09XCIwXCJcbiAgICAgICAgW2lubmVySFRNTF09XCJub0VsZW1lbnRzU2VsZWN0ZWRMYWJlbCB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICAgICAgI2RlZmF1bHREZWxldGVGb2N1c0FyZWFcbiAgICA+PC9wPlxuXG4gICAgPHBcbiAgICAgICAgW2lkXT1cImJ1aWxkQ2hpbGRJZCgnc3JPbmx5QW5ub3VuY2VtZW50cycpXCJcbiAgICAgICAgY2xhc3M9XCJzci1vbmx5XCJcbiAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgYXJpYS1hdG9taWM9XCJ0cnVlXCJcbiAgICA+XG4gICAgICAgIHt7IHNyQW5ub3VuY2VtZW50cyB9fVxuICAgIDwvcD5cblxuICAgIDxmaWVsZHNldFxuICAgICAgICAqbmdJZj1cIiEhbW9kZWw/Lmxlbmd0aFwiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1ncm91cFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYnVpbGRDaGlsZElkKCdMYWJlbCcpXCJcbiAgICA+XG4gICAgICAgIDxsZWdlbmRcbiAgICAgICAgICAgIFtpZF09XCJidWlsZENoaWxkSWQoJ0xlZ2VuZCcpXCJcbiAgICAgICAgICAgIGNsYXNzPVwidmQtcFwiXG4gICAgICAgICAgICBbaW5uZXJIVE1MXT1cInNlbGVjdGVkSXRlbXNMaXN0TGVnZW5kIHwgZnJvbURpY3Rpb25hcnlcIlxuICAgICAgICA+PC9sZWdlbmQ+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWxpc3QgZC1mbGV4IGFsaWduLWNvbnRlbnQtc3RyZXRjaCBmbGV4LXdyYXBcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGVsZW1lbnQgb2YgbW9kZWw7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5Rm5cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWNhbkJlRGVsZXRlZChpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJhZGdlIGJhZGdlLXBpbGwgYmFkZ2Utc2Vjb25kYXJ5IG1yLTEgbWItMSBweS0yIHB4LTMgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJkaXNhYmxlZCA/IC0xIDogMFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYnVpbGRDaGlsZElkKCdMZWdlbmQnKVwiXG4gICAgICAgICAgICAgICAgICAgICNkZWZhdWx0RWxlbVJlZlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0QmFkZ2VMYWJlbChlbGVtZW50KSB9fVxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1kZWZhdWx0LXNlbGVjdGVkLWVsZW1lbnQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNhbkJlRGVsZXRlZChpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBiYWRnZSBiYWRnZS1waWxsIG1yLTEgbWItMSBweS0yIHB4LTMgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJnZXREZWxldGVCdXR0b25BcmlhTGFiZWwoZWxlbWVudClcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImJ1aWxkQ2hpbGRJZCgnTGVnZW5kJylcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZ2V0RGVsZXRlQnV0dG9uQXJpYUxhYmVsKGVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUl0ZW0oZWxlbWVudCwgaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgI3NlbGVjdGVkRWxlbVJlZlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0QmFkZ2VMYWJlbChlbGVtZW50KSB9fVxuICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi10aW1lc1xuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZ2V0RGVsZXRlQnV0dG9uQXJpYUxhYmVsKGVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZm9laG4taWNvbi10aW1lcz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=
274
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUvZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUvZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQ0gsU0FBUyxFQUVULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUlMLFNBQVMsRUFDVCxZQUFZLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQWlCeEQsTUFBTSxPQUFPLHFDQUNULFNBQVEsMEJBQTBCO0lBMkNsQyxZQUNJLE1BQWMsRUFDTixpQkFBdUM7UUFFL0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRk4sc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQXpCbkQ7OztXQUdHO1FBRUgsc0JBQWlCLEdBQVEsT0FBTyxDQUFDO1FBR2pDLDRCQUF1QixHQUNuQiwyREFBMkQsQ0FBQztRQUdoRSw0QkFBdUIsR0FDbkIsc0VBQXNFLENBQUM7UUFHM0UseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBSUosOENBQXlDLEdBQUcsSUFBSSxDQUFDO0lBT2xFLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUNwQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFDSSxvQkFBb0IsQ0FBQyxLQUFnQjtRQUNyQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRTtZQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUVELElBQ0ksbUJBQW1CLENBQUMsSUFBWTtRQUNoQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQiwrRUFBK0U7UUFDL0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzVCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUVELGtCQUFrQjtRQUNkLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUI7WUFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsRUFBRTtZQUNqRCxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hCLENBQUM7SUFFRCw2QkFBNkI7UUFDekIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3hDLElBQUksT0FBTyxVQUFVLEtBQUssV0FBVyxFQUFFO1lBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbEM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4QyxJQUFJLE9BQU8sVUFBVSxLQUFLLFdBQVcsRUFBRTtZQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2pDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFhO1FBQ2pCLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2FBQ25CO1lBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyw2Q0FBNkMsRUFBRSxDQUFDO2dCQUNyRCxJQUFJLENBQUMsOEJBQThCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3BEO1NBQ0o7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQWEsRUFBRSxLQUFhO1FBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLCtDQUErQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVU7UUFDZixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN0QixPQUFPLENBQ0gsQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CO2dCQUN2QixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQzlELENBQUM7SUFDTixDQUFDO0lBRUQsNEJBQTRCLENBQUMsUUFBWTtRQUNyQywwQ0FBMEM7UUFDMUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQ2pFLFFBQVEsQ0FDWCxDQUFDO2dCQUNGLElBQ0ksQ0FBQyxJQUFJLENBQUMsUUFBUTtvQkFDZCxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUM3QztvQkFDRSxJQUFJLENBQUMsbUNBQW1DLEVBQUUsQ0FBQztpQkFDOUM7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELHdCQUF3QixDQUFDLE9BQWdCO1FBQ3JDLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUN2QyxnREFBZ0QsRUFDaEQsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUMzQyxFQUFFLENBQUM7SUFDUixDQUFDO0lBRUQseUJBQXlCO1FBQ3JCLE9BQU8sQ0FDSCxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQ2QsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsTUFBTTtZQUNsQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUN0QixDQUFDO0lBQ04sQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFZO1FBQ3RCLElBQUksT0FBTyxJQUFJLENBQUMsaUJBQWlCLEtBQUssUUFBUSxFQUFFO1lBQzVDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNqQztRQUNELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxJQUFhO1FBQ3hDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQzNDLE1BQU0sU0FBUyxHQUNYLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUMzQixDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssU0FBUyxDQUM3RCxDQUFDO1lBQ0YsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFO2dCQUNSLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDbkMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtnQkFDM0IsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUVELE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxZQUFvQjtRQUNqRCxvRUFBb0U7UUFDcEUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdCLFlBQVksSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO1NBQ3BEO1FBQ0QsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLHNDQUFzQztRQUN0QyxJQUFJLFlBQVksS0FBSyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUU7WUFDbEQsSUFBSSxDQUFDLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFO2dCQUNuQyxPQUFPLHdCQUF3QixDQUMzQixZQUFZLEdBQUcsQ0FBQyxDQUNuQixDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUMzQjtZQUNELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUU7Z0JBQzlCLE9BQU8sbUJBQW1CLENBQ3RCLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQ2pDLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzNCO1lBQ0QsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzVEO1FBQ0QsNkNBQTZDO0lBQ2pELENBQUM7SUFFTywwQkFBMEIsQ0FBQyxRQUFZO1FBQzNDLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQWlCLEVBQUUsRUFBRTtnQkFDckMsS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUNyRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ25ELElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUU7d0JBQ25DLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7d0JBQ2xDLE1BQU07cUJBQ1Q7aUJBQ0o7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBQ0QsT0FBTyxnQkFBZ0IsQ0FBQztJQUM1QixDQUFDO0lBRU8sNkNBQTZDO1FBQ2pELDJCQUEyQjtRQUMzQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1FBQ25DLHlEQUF5RDtRQUN6RCxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FDakUsSUFBSSxDQUFDLFFBQVEsQ0FDaEIsQ0FBQztRQUNGLGdEQUFnRDtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDN0MsSUFBSSxDQUFDLG1DQUFtQyxFQUFFLENBQUM7WUFDM0MsNkVBQTZFO1lBQzdFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osTUFBTSxZQUFZLEdBQWdCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUNwRixHQUFHLENBQ04sQ0FBQztnQkFDRixJQUFJLFlBQVksRUFBRTtvQkFDZCxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ3hCO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTywrQ0FBK0MsQ0FDbkQsWUFBb0I7UUFFcEIscURBQXFEO1FBQ3JELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDbEMsa0ZBQWtGO1FBQ2xGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDckUseURBQXlEO1FBQ3pELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUNqRSxJQUFJLENBQUMsUUFBUSxDQUNoQixDQUFDO1FBQ0YsMkZBQTJGO1FBQzNGLDBEQUEwRDtRQUMxRCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxtQ0FBbUM7UUFDdkMsNEVBQTRFO1FBQzVFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDakMsdUZBQXVGO1FBQ3ZGLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUN4RSxDQUFDO0lBRU8sOEJBQThCLENBQ2xDLE9BQWdCLEVBQ2hCLFFBQWlCO1FBRWpCLFlBQVksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM1QyxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksQ0FBQyxlQUFlLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUN4RCx3REFBd0QsRUFDeEQsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUMzQyxFQUFFLENBQUM7U0FDUDthQUFNO1lBQ0gsSUFBSSxDQUFDLGVBQWUsSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQ3hELHNEQUFzRCxFQUN0RCxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQzNDLEVBQUUsQ0FBQztTQUNQO1FBQ0QsSUFBSSxDQUFDLHdCQUF3QixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDOUIsQ0FBQyxFQUFFLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O21JQXRUUSxxQ0FBcUM7dUhBQXJDLHFDQUFxQyx1V0FWbkM7UUFDUDtZQUNJLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FDbkIsR0FBRyxFQUFFLENBQUMscUNBQXFDLENBQzlDO1lBQ0QsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLG1rQkNoQ0wsNnBKQXVJQTs0RkRyR2EscUNBQXFDO2tCQWRqRCxTQUFTOytCQUNJLGdDQUFnQyxhQUcvQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixXQUFXLEVBQUUsVUFBVSxDQUNuQixHQUFHLEVBQUUsc0NBQXNDLENBQzlDOzRCQUNELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO2dJQU1ELFFBQVE7c0JBRFAsV0FBVzt1QkFBQyxXQUFXO2dCQUl4QixxQkFBcUI7c0JBRHBCLFNBQVM7dUJBQUMsdUJBQXVCO2dCQUlsQyxxQkFBcUI7c0JBRHBCLFNBQVM7dUJBQUMsdUJBQXVCO2dCQUlsQyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUkvQixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUk5QixzQkFBc0I7c0JBRHJCLFNBQVM7dUJBQUMsd0JBQXdCO2dCQVFuQyxpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sdUJBQXVCO3NCQUR0QixLQUFLO2dCQUtOLHVCQUF1QjtzQkFEdEIsS0FBSztnQkF3QkYsb0JBQW9CO3NCQUR2QixLQUFLO2dCQVNGLG1CQUFtQjtzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZvZWhuQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4tYXV0b2NvbXBsZXRlL2ZvZWhuLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYmplY3RIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL29iamVjdC5oZWxwZXInO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeVNlcnZpY2UgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZvZWhuSW5wdXRDb21wb25lbnQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZihcbiAgICAgICAgICAgICAgICAoKSA9PiBGb2Vobk11bHRpc2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5NdWx0aXNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgRm9laG5BdXRvY29tcGxldGVDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLm5hbWUnKVxuICAgIGhvc3ROYW1lOiBzdHJpbmc7XG5cbiAgICBAVmlld0NoaWxkKCdhdXRvY29tcGxldGVDb21wb25lbnQnKVxuICAgIGF1dG9jb21wbGV0ZUNvbXBvbmVudDogRm9laG5BdXRvY29tcGxldGVDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdhbGVydE1lc3NhZ2VDb250YWluZXInKVxuICAgIGFsZXJ0TWVzc2FnZUNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGRyZW4oJ3NlbGVjdGVkRWxlbVJlZicpXG4gICAgc2VsZWN0ZWRFbGVtUmVmOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG5cbiAgICBAVmlld0NoaWxkcmVuKCdkZWZhdWx0RWxlbVJlZicpXG4gICAgZGVmYXVsdEVsZW1SZWY6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICAgIEBWaWV3Q2hpbGQoJ2RlZmF1bHREZWxldGVGb2N1c0FyZWEnKVxuICAgIGRlZmF1bHREZWxldGVGb2N1c0FyZWE6IEVsZW1lbnRSZWY7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbGFiZWwgaW4gdGhlIG9iamVjdC4gQ2FuIGJlIGEgc3RyaW5nIG9yIGEgZnVuY3Rpb25cbiAgICAgKiBEZWZhdWx0cyB0byBgbGFiZWxgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBlbGVtZW50QmFkZ2VMYWJlbDogYW55ID0gJ2xhYmVsJztcblxuICAgIEBJbnB1dCgpXG4gICAgc2VsZWN0ZWRJdGVtc0xpc3RMZWdlbmQgPVxuICAgICAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNlbGVjdGVkLWl0ZW1zLWxpc3QtbGVnZW5kJztcblxuICAgIEBJbnB1dCgpXG4gICAgbm9FbGVtZW50c1NlbGVjdGVkTGFiZWwgPVxuICAgICAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNyLWRlZmF1bHQtZm9jdXMubm8tZWxlbWVudC10by1kZWxldGUnO1xuXG4gICAgYXV0b2NvbXBsZXRlSW5wdXRWYWx1ZTogc3RyaW5nO1xuICAgIHNob3dFbXB0eUxpc3RNZXNzYWdlID0gZmFsc2U7XG4gICAgc3JBbm5vdW5jZW1lbnRzID0gJyc7XG5cbiAgICBwcml2YXRlIGRlZmF1bHRFbGVtZW50VmFsdWVzXzogdW5rbm93bltdO1xuICAgIHByaXZhdGUgc3JBbm5vdW5jZW1lbnRDbGVhclRpbWVyOiBhbnk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBTUl9BTk5PVU5DRU1FTlRfQ0xFQVJfVElNRU9VVF9JTlRFUlZBTF9NUyA9IDIwMDA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgZGljdGlvbmFyeVNlcnZpY2U6IFNka0RpY3Rpb25hcnlTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKG5nWm9uZSk7XG4gICAgfVxuXG4gICAgZ2V0IGRlZmF1bHRFbGVtZW50VmFsdWVzKCk6IHVua25vd25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRFbGVtZW50VmFsdWVzXztcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBkZWZhdWx0RWxlbWVudFZhbHVlcyhpdGVtczogdW5rbm93bltdKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdEVsZW1lbnRWYWx1ZXNfID0gWy4uLml0ZW1zXTtcbiAgICAgICAgaWYgKCghdGhpcy5tb2RlbCB8fCAhdGhpcy5tb2RlbC5sZW5ndGgpICYmIGl0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU5nTW9kZWwoaXRlbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgZGVmYXVsdEVsZW1lbnRWYWx1ZShpdGVtOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0RWxlbWVudFZhbHVlcyA9IFtpdGVtXTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgLy8gVGhlIGhvc3QgaXMgbm90IHJlbGF0ZWQgdG8gZm9laG4gZXJyb3IgbWFuYWdlbWVudCBidXQgZm9laG4tYXV0b2NvbXBsZXRlIGlzLlxuICAgICAgICB0aGlzLmhvc3RJZCA9IHRoaXMuYnVpbGRJZCgnUGFyZW50Q29udGFpbmVyJyk7XG4gICAgICAgIHRoaXMuaG9zdE5hbWUgPSB0aGlzLmhvc3RJZDtcbiAgICAgICAgdGhpcy5leGNsdWRlRnJvbUVycm9yU3VtbWFyeSA9IHRydWU7XG4gICAgfVxuXG4gICAgaGFzRXJyb3JzVG9EaXNwbGF5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudFxuICAgICAgICAgICAgPyB0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudC5oYXNFcnJvcnNUb0Rpc3BsYXkoKVxuICAgICAgICAgICAgOiBmYWxzZTtcbiAgICB9XG5cbiAgICB1cGRhdGVNdWx0aXNlbGVjdEF1dG9jb21wbGV0ZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsaWRWYWx1ZSA9IHRoaXMuZ2V0VmFsaWRWYWx1ZSgpO1xuICAgICAgICBpZiAodHlwZW9mIHZhbGlkVmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU5nTW9kZWwodmFsaWRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVVc2VySW5wdXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbGlkVmFsdWUgPSB0aGlzLmdldFZhbGlkVmFsdWUoKTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWxpZFZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVDaGFuZ2UodmFsaWRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZGRJdGVtKGl0ZW06IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgaWYgKCEhaXRlbSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLm1vZGVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbCA9IFtdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubW9kZWwuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVNdWx0aXNlbGVjdEF1dG9jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlVXNlcklucHV0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5tYW5hZ2VTdWdnZXN0aW9uTGlzdEFuZEZvY3VzQWZ0ZXJBZGRpbmdBbkl0ZW0oKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1hbmFnZVNjcmVlblJlYWRlckFubm91bmNlbWVudChpdGVtLCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW1vdmVJdGVtKGl0ZW06IHVua25vd24sIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb2RlbC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB0aGlzLnVwZGF0ZU11bHRpc2VsZWN0QXV0b2NvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlVXNlcklucHV0KCk7XG4gICAgICAgIHRoaXMubWFuYWdlU3VnZ2VzdGlvbkxpc3RBbmRGb2N1c0FmdGVyUmVtb3ZpbmdBbkl0ZW0oaW5kZXgpO1xuICAgICAgICB0aGlzLm1hbmFnZVNjcmVlblJlYWRlckFubm91bmNlbWVudChpdGVtLCB0cnVlKTtcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb21wb25lbnQubWFya0FzRGlydHkoKTtcbiAgICB9XG5cbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICBnZXRMYWJlbCh2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZWxlbSA9IHRoaXMuZmluZEVsZW1lbnRCeU1vZGVsSXRlbSh2YWx1ZSk7XG4gICAgICAgIHJldHVybiBzdXBlci5nZXRMYWJlbChlbGVtKTtcbiAgICB9XG5cbiAgICBjYW5CZURlbGV0ZWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXRoaXMuZGlzYWJsZWQgJiZcbiAgICAgICAgICAgICghdGhpcy5kZWZhdWx0RWxlbWVudFZhbHVlcyB8fFxuICAgICAgICAgICAgICAgICF0aGlzLmRlZmF1bHRFbGVtZW50VmFsdWVzLmluY2x1ZGVzKHRoaXMubW9kZWxbaW5kZXhdKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkF1dG9jb21wbGV0ZUVsZW1lbnRzTG9hZGVkKGVsZW1lbnRzOiBbXSk6IHZvaWQge1xuICAgICAgICAvLyBOZWVkIHRvIHdhaXQgZm9yIGNoaWxkVmlldyB0byBiZSBsb2FkZWRcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoISF0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50LmVsZW1lbnRzID0gdGhpcy5maWx0ZXJBdXRvY29tcGxldGVFbGVtZW50cyhcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudHNcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgIXRoaXMuZGlzYWJsZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgIXRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50LmVsZW1lbnRzLmxlbmd0aFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dBbGVydE1lc3NhZ2VBbmRIaWRlQXV0b2NvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXREZWxldGVCdXR0b25BcmlhTGFiZWwoZWxlbWVudDogdW5rbm93bik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNlbGVjdGVkLmRlbGV0ZScsXG4gICAgICAgICAgICB7IGVsZW1lbnRMYWJlbDogdGhpcy5nZXRMYWJlbChlbGVtZW50KSB9XG4gICAgICAgICl9YDtcbiAgICB9XG5cbiAgICBoYXNEZWZhdWx0RGVsZXRlRm9jdXNBcmVhKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXRoaXMuZGlzYWJsZWQgJiZcbiAgICAgICAgICAgICF0aGlzLmRlZmF1bHRFbGVtZW50VmFsdWVzPy5sZW5ndGggJiZcbiAgICAgICAgICAgICF0aGlzLm1vZGVsPy5sZW5ndGhcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRCYWRnZUxhYmVsKGVsZW1lbnQ6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5lbGVtZW50QmFkZ2VMYWJlbCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldExhYmVsKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRCYWRnZUxhYmVsKGVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZEVsZW1lbnRCeU1vZGVsSXRlbShpdGVtOiB1bmtub3duKTogdW5rbm93biB7XG4gICAgICAgIGlmICghIXRoaXMuZWxlbWVudHMgJiYgISF0aGlzLmVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgaXRlbVZhbHVlOiB1bmtub3duID1cbiAgICAgICAgICAgICAgICB0eXBlb2YgaXRlbSAhPT0gJ29iamVjdCcgPyBpdGVtIDogdGhpcy5nZXRWYWx1ZShpdGVtKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmVsZW1lbnRzLmZpbmQoXG4gICAgICAgICAgICAgICAgKGVsZW1lbnQ6IHVua25vd24pID0+IHRoaXMuZ2V0VmFsdWUoZWxlbWVudCkgPT09IGl0ZW1WYWx1ZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmICghIWVsZW0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZWxlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFZhbGlkVmFsdWUoKTogbnVtYmVyW10gfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKCF0aGlzLm1vZGVsIHx8ICF0aGlzLm1vZGVsLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWxfICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzTmV4dEFyZWFBZnRlckRlbGV0ZShyZW1vdmVkSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICAvLyBBZGp1c3QgaW5kZXggZGVwZW5kaW5nIG9uIGRlZmF1bHQgZWxlbWVudHMgdGhhdCBhcmUgbm90IGRlbGV0YWJsZVxuICAgICAgICBpZiAoISF0aGlzLmRlZmF1bHRFbGVtZW50VmFsdWVzKSB7XG4gICAgICAgICAgICByZW1vdmVkSW5kZXggLT0gdGhpcy5kZWZhdWx0RWxlbWVudFZhbHVlcy5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2xvc2VCdXR0b25zRWxlbVJlZkFycmF5ID0gWy4uLnRoaXMuc2VsZWN0ZWRFbGVtUmVmLnRvQXJyYXkoKV07XG4gICAgICAgIC8vIE5lZWQgdG8gZmluZCBhbiBlbGVtZW50IHRvIGZvY3VzIG9uXG4gICAgICAgIGlmIChyZW1vdmVkSW5kZXggPT09IGNsb3NlQnV0dG9uc0VsZW1SZWZBcnJheS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICghIWNsb3NlQnV0dG9uc0VsZW1SZWZBcnJheS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2xvc2VCdXR0b25zRWxlbVJlZkFycmF5W1xuICAgICAgICAgICAgICAgICAgICByZW1vdmVkSW5kZXggLSAxXG4gICAgICAgICAgICAgICAgXS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0RWxlbVJlZkFycmF5ID0gWy4uLnRoaXMuZGVmYXVsdEVsZW1SZWYudG9BcnJheSgpXTtcbiAgICAgICAgICAgIGlmICghIWRlZmF1bHRFbGVtUmVmQXJyYXkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRFbGVtUmVmQXJyYXlbXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRFbGVtUmVmQXJyYXkubGVuZ3RoIC0gMVxuICAgICAgICAgICAgICAgIF0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdERlbGV0ZUZvY3VzQXJlYS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gT3RoZXJ3aXNlIGZvY3VzIGVsZW1lbnQgYnkgRE9NIHJlcGxhY2VtZW50XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJBdXRvY29tcGxldGVFbGVtZW50cyhlbGVtZW50czogW10pOiB1bmtub3duIHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWRFbGVtZW50cyA9IE9iamVjdEhlbHBlci5kZWVwQ29weShlbGVtZW50cyk7XG4gICAgICAgIGlmICghIXRoaXMubW9kZWwgJiYgISF0aGlzLm1vZGVsLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5tb2RlbC5mb3JFYWNoKChzZWxlY3RlZDogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgW2luZGV4LCB2YWx1ZV0gb2YgZmlsdGVyZWRFbGVtZW50cy5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbSA9IHRoaXMuZmluZEVsZW1lbnRCeU1vZGVsSXRlbShzZWxlY3RlZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChPYmplY3RIZWxwZXIuaXNFcXVhbChlbGVtLCB2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcmVkRWxlbWVudHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbHRlcmVkRWxlbWVudHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYW5hZ2VTdWdnZXN0aW9uTGlzdEFuZEZvY3VzQWZ0ZXJBZGRpbmdBbkl0ZW0oKTogdm9pZCB7XG4gICAgICAgIC8vIEVtcHR5IGF1dG9jb21wbGV0ZSBpbnB1dFxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUlucHV0VmFsdWUgPSBudWxsO1xuICAgICAgICAvLyBSZW1vdmUgc2VsZWN0ZWQgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBzdWdnZXN0aW9uIGxpc3RcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb21wb25lbnQuZWxlbWVudHMgPSB0aGlzLmZpbHRlckF1dG9jb21wbGV0ZUVsZW1lbnRzKFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50c1xuICAgICAgICApO1xuICAgICAgICAvLyBDaGVjayBpZiB3ZSBzdGlsbCBoYXZlIHN1Z2dlc3Rpb25zIHRvIGRpc3BsYXlcbiAgICAgICAgaWYgKCF0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudC5lbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0FsZXJ0TWVzc2FnZUFuZEhpZGVBdXRvY29tcGxldGUoKTtcbiAgICAgICAgICAgIC8vIE5lZWQgc2V0VGltZW91dCB0byBlbnN1cmUgYWxlcnQgbWVzc2FnZSBpcyBvbiB0aGUgRE9NIGFuZCBjYW4gYmUgZm9jdXNhYmxlXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhbGVydE1lc3NhZ2U6IEhUTUxFbGVtZW50ID0gdGhpcy5hbGVydE1lc3NhZ2VDb250YWluZXIubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICAgICAgICAgICAncCdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChhbGVydE1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgYWxlcnRNZXNzYWdlLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1hbmFnZVN1Z2dlc3Rpb25MaXN0QW5kRm9jdXNBZnRlclJlbW92aW5nQW5JdGVtKFxuICAgICAgICByZW1vdmVkSW5kZXg6IG51bWJlclxuICAgICk6IHZvaWQge1xuICAgICAgICAvLyBIaWRlIG1lc3NhZ2Ugc2F5aW5nIG5vIG1vcmUgc3VnZ2VzdGlvbnMgdG8gZGlzcGxheVxuICAgICAgICB0aGlzLnNob3dFbXB0eUxpc3RNZXNzYWdlID0gZmFsc2U7XG4gICAgICAgIC8vIE1hbnVhbGx5IHNob3cgYXV0b2NvbXBsZXRlIGJlY2F1c2UgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIHN1Z2dlc3Rpb25zIHRvIGRpc3BsYXlcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb21wb25lbnQuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaGlkZGVuID0gZmFsc2U7XG4gICAgICAgIC8vIEFkZCBiYWNrIHNlbGVjdGVkIGl0ZW0gdG8gYXV0b2NvbXBsZXRlIHN1Z2dlc3Rpb24gbGlzdFxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudC5lbGVtZW50cyA9IHRoaXMuZmlsdGVyQXV0b2NvbXBsZXRlRWxlbWVudHMoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRzXG4gICAgICAgICk7XG4gICAgICAgIC8vIFdoZW4gZGVsZXRpbmcgYSBzZWxlY3RlZCBpdGVtLCBjaGVjayB3ZXJlIHRvIHNldCBmb2N1cyBiYWNrIHdoZW4gbm8gbW9yZSBpdGVtcyB0byBkZWxldGVcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICB0aGlzLnNlbGVjdGVkRWxlbVJlZi5jaGFuZ2VzLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNOZXh0QXJlYUFmdGVyRGVsZXRlKHJlbW92ZWRJbmRleCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd0FsZXJ0TWVzc2FnZUFuZEhpZGVBdXRvY29tcGxldGUoKTogdm9pZCB7XG4gICAgICAgIC8vIFNob3cgYSBtZXNzYWdlIHRvIHVzZXIgaW5kaWNhdGluZyB0aGVyZSBpcyBubyBtb3JlIHN1Z2dlc3Rpb25zIHRvIGRpc3BsYXlcbiAgICAgICAgdGhpcy5zaG93RW1wdHlMaXN0TWVzc2FnZSA9IHRydWU7XG4gICAgICAgIC8vIE1hbnVhbGx5IHJlc2V0IGFuZCBoaWRlIGF1dG9jb21wbGV0ZSBiZWNhdXNlIHRoZXJlIGlzIG5vIG1vcmUgc3VnZ2VzdGlvbnMgdG8gZGlzcGxheVxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUlucHV0VmFsdWUgPSBudWxsO1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudC5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5oaWRkZW4gPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgbWFuYWdlU2NyZWVuUmVhZGVyQW5ub3VuY2VtZW50KFxuICAgICAgICBlbGVtZW50OiB1bmtub3duLFxuICAgICAgICBpc0RlbGV0ZTogYm9vbGVhblxuICAgICk6IHZvaWQge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5zckFubm91bmNlbWVudENsZWFyVGltZXIpO1xuICAgICAgICBpZiAoaXNEZWxldGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3JBbm5vdW5jZW1lbnRzICs9IGAke3RoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNyLWFubm91bmNlbWVudC5kZWxldGVkJyxcbiAgICAgICAgICAgICAgICB7IGVsZW1lbnRMYWJlbDogdGhpcy5nZXRMYWJlbChlbGVtZW50KSB9XG4gICAgICAgICAgICApfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNyQW5ub3VuY2VtZW50cyArPSBgJHt0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAgICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1hbm5vdW5jZW1lbnQuYWRkZWQnLFxuICAgICAgICAgICAgICAgIHsgZWxlbWVudExhYmVsOiB0aGlzLmdldExhYmVsKGVsZW1lbnQpIH1cbiAgICAgICAgICAgICl9YDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNyQW5ub3VuY2VtZW50Q2xlYXJUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zckFubm91bmNlbWVudHMgPSAnJztcbiAgICAgICAgfSwgdGhpcy5TUl9BTk5PVU5DRU1FTlRfQ0xFQVJfVElNRU9VVF9JTlRFUlZBTF9NUyk7XG4gICAgfVxufVxuIiwiPGZvZWhuLWF1dG9jb21wbGV0ZVxuICAgICNhdXRvY29tcGxldGVDb21wb25lbnRcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgIFtlbGVtZW50c109XCJlbGVtZW50c1wiXG4gICAgW2VsZW1lbnRzVXJsXT1cImVsZW1lbnRzVXJsXCJcbiAgICBbZWxlbWVudFZhbHVlXT1cImVsZW1lbnRWYWx1ZVwiXG4gICAgW2VsZW1lbnRMYWJlbF09XCJlbGVtZW50TGFiZWxcIlxuICAgIFtlbGVtZW50U3VnZ2VzdGlvbkxhYmVsXT1cImVsZW1lbnRTdWdnZXN0aW9uTGFiZWxcIlxuICAgIFtlbGVtZW50VmFsdWVJZGVudGl0eV09XCJlbGVtZW50VmFsdWVJZGVudGl0eVwiXG4gICAgW2VsZW1lbnREaXNhYmxlZF09XCJlbGVtZW50RGlzYWJsZWRcIlxuICAgIFtlbGVtZW50R3JvdXBdPVwiZWxlbWVudEdyb3VwXCJcbiAgICBbYWxsb3dDdXN0b21WYWx1ZV09XCJmYWxzZVwiXG4gICAgW3NlYXJjaFZhbHVlTWluQ2hhcnNDb3VudF09XCJzZWFyY2hWYWx1ZU1pbkNoYXJzQ291bnRcIlxuICAgIFtjdXN0b21WYWx1ZU1vZGVsR2VuZXJhdG9yXT1cImN1c3RvbVZhbHVlTW9kZWxHZW5lcmF0b3JcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAodXNlcklucHV0KT1cImFkZEl0ZW0oJGV2ZW50KVwiXG4gICAgWyhtb2RlbCldPVwiYXV0b2NvbXBsZXRlSW5wdXRWYWx1ZVwiXG4gICAgKGVsZW1lbnRzTG9hZGVkKT1cIm9uQXV0b2NvbXBsZXRlRWxlbWVudHNMb2FkZWQoJGV2ZW50KVwiXG4gICAgW3Nob3dFcnJvcldoZW5EaXNhYmxlZF09XCJzaG93RXJyb3JXaGVuRGlzYWJsZWRcIlxuICAgIFtoaWRlTm90UmVxdWlyZWRFeHRyYUxhYmVsXT1cImhpZGVOb3RSZXF1aXJlZEV4dHJhTGFiZWxcIlxuICAgIFtpdGVtSGVpZ2h0SW5TdWdnZXN0aW9uTGlzdEluUHhdPVwiaXRlbUhlaWdodEluU3VnZ2VzdGlvbkxpc3RJblB4XCJcbiAgICBbY2FzZVNlbnNpdGl2ZVNlYXJjaF09XCJjYXNlU2Vuc2l0aXZlU2VhcmNoXCJcbj5cbiAgICA8c21hbGxcbiAgICAgICAgKm5nSWY9XCIhc2hvd0VtcHR5TGlzdE1lc3NhZ2VcIlxuICAgICAgICBbYXR0ci5pZF09XCJidWlsZENoaWxkSWQoJ0hlbHAnKVwiXG4gICAgICAgIGNsYXNzPVwiZm9ybS10ZXh0IHRleHQtc2Vjb25kYXJ5XCJcbiAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgIGhlbHBUZXh0XG4gICAgICAgICAgICAgICAgPyBoZWxwVGV4dFxuICAgICAgICAgICAgICAgIDogKCdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuYXV0b2NvbXBsZXRlLnNjcmVlbi1yZWFkZXIubGFiZWwnXG4gICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5KVxuICAgICAgICBcIlxuICAgID48L3NtYWxsPlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdlxuICAgICAgICBbaWRdPVwiYnVpbGRDaGlsZElkKCdBbGVydE1lc3NhZ2VDb250YWluZXInKVwiXG4gICAgICAgIHJvbGU9XCJzdGF0dXNcIlxuICAgICAgICAjYWxlcnRNZXNzYWdlQ29udGFpbmVyXG4gICAgPlxuICAgICAgICA8cFxuICAgICAgICAgICAgKm5nSWY9XCJzaG93RW1wdHlMaXN0TWVzc2FnZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm8gbWItMFwiXG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuYXV0b2NvbXBsZXRlLmVtcHR5LW1lc3NhZ2UnXG4gICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgIH19XG4gICAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbjwvZm9laG4tYXV0b2NvbXBsZXRlPlxuXG48ZGl2XG4gICAgY2xhc3M9XCJzZWxlY3RlZC1saXN0LWNvbnRhaW5lciBwdC0yXCJcbiAgICBbY2xhc3MuaGFzLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgW2NsYXNzLnZkLWZvcm0tZ3JvdXAtZGFuZ2VyXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbj5cbiAgICA8cFxuICAgICAgICAqbmdJZj1cImhhc0RlZmF1bHREZWxldGVGb2N1c0FyZWEoKVwiXG4gICAgICAgIGNsYXNzPVwidmQtcFwiXG4gICAgICAgIFt0YWJpbmRleF09XCIwXCJcbiAgICAgICAgW2lubmVySFRNTF09XCJub0VsZW1lbnRzU2VsZWN0ZWRMYWJlbCB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICAgICAgI2RlZmF1bHREZWxldGVGb2N1c0FyZWFcbiAgICA+PC9wPlxuXG4gICAgPHBcbiAgICAgICAgW2lkXT1cImJ1aWxkQ2hpbGRJZCgnc3JPbmx5QW5ub3VuY2VtZW50cycpXCJcbiAgICAgICAgY2xhc3M9XCJzci1vbmx5XCJcbiAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgYXJpYS1hdG9taWM9XCJ0cnVlXCJcbiAgICA+XG4gICAgICAgIHt7IHNyQW5ub3VuY2VtZW50cyB9fVxuICAgIDwvcD5cblxuICAgIDxmaWVsZHNldFxuICAgICAgICAqbmdJZj1cIiEhbW9kZWw/Lmxlbmd0aFwiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1ncm91cFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYnVpbGRDaGlsZElkKCdMYWJlbCcpXCJcbiAgICA+XG4gICAgICAgIDxsZWdlbmRcbiAgICAgICAgICAgIFtpZF09XCJidWlsZENoaWxkSWQoJ0xlZ2VuZCcpXCJcbiAgICAgICAgICAgIGNsYXNzPVwidmQtcFwiXG4gICAgICAgICAgICBbaW5uZXJIVE1MXT1cInNlbGVjdGVkSXRlbXNMaXN0TGVnZW5kIHwgZnJvbURpY3Rpb25hcnlcIlxuICAgICAgICA+PC9sZWdlbmQ+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWxpc3QgZC1mbGV4IGFsaWduLWNvbnRlbnQtc3RyZXRjaCBmbGV4LXdyYXBcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGVsZW1lbnQgb2YgbW9kZWw7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5Rm5cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWNhbkJlRGVsZXRlZChpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJhZGdlIGJhZGdlLXBpbGwgYmFkZ2Utc2Vjb25kYXJ5IG1yLTEgbWItMSBweS0yIHB4LTMgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJkaXNhYmxlZCA/IC0xIDogMFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYnVpbGRDaGlsZElkKCdMZWdlbmQnKVwiXG4gICAgICAgICAgICAgICAgICAgICNkZWZhdWx0RWxlbVJlZlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0QmFkZ2VMYWJlbChlbGVtZW50KSB9fVxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1kZWZhdWx0LXNlbGVjdGVkLWVsZW1lbnQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNhbkJlRGVsZXRlZChpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBiYWRnZSBiYWRnZS1waWxsIG1yLTEgbWItMSBweS0yIHB4LTMgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJnZXREZWxldGVCdXR0b25BcmlhTGFiZWwoZWxlbWVudClcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImJ1aWxkQ2hpbGRJZCgnTGVnZW5kJylcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZ2V0RGVsZXRlQnV0dG9uQXJpYUxhYmVsKGVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUl0ZW0oZWxlbWVudCwgaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgI3NlbGVjdGVkRWxlbVJlZlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0QmFkZ2VMYWJlbChlbGVtZW50KSB9fVxuICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi10aW1lc1xuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZ2V0RGVsZXRlQnV0dG9uQXJpYUxhYmVsKGVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZm9laG4taWNvbi10aW1lcz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=
@@ -9,20 +9,20 @@ import { FoehnMultiselectAutocompleteComponent } from './foehn-multiselect-autoc
9
9
  import * as i0 from "@angular/core";
10
10
  export class FoehnMultiselectAutocompleteModule {
11
11
  }
12
- FoehnMultiselectAutocompleteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnMultiselectAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- FoehnMultiselectAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: FoehnMultiselectAutocompleteModule, declarations: [FoehnMultiselectAutocompleteComponent], imports: [FoehnAutocompleteModule,
12
+ FoehnMultiselectAutocompleteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FoehnMultiselectAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ FoehnMultiselectAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: FoehnMultiselectAutocompleteModule, declarations: [FoehnMultiselectAutocompleteComponent], imports: [FoehnAutocompleteModule,
14
14
  SdkDictionaryModule,
15
15
  FoehnValidationAlertsModule,
16
16
  CommonModule,
17
17
  FoehnIconsModule,
18
18
  FormsModule], exports: [FoehnMultiselectAutocompleteComponent] });
19
- FoehnMultiselectAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnMultiselectAutocompleteModule, imports: [FoehnAutocompleteModule,
19
+ FoehnMultiselectAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FoehnMultiselectAutocompleteModule, imports: [FoehnAutocompleteModule,
20
20
  SdkDictionaryModule,
21
21
  FoehnValidationAlertsModule,
22
22
  CommonModule,
23
23
  FoehnIconsModule,
24
24
  FormsModule] });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnMultiselectAutocompleteModule, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FoehnMultiselectAutocompleteModule, decorators: [{
26
26
  type: NgModule,
27
27
  args: [{
28
28
  imports: [
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
37
37
  exports: [FoehnMultiselectAutocompleteComponent]
38
38
  }]
39
39
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUvZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDeEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBY25HLE1BQU0sT0FBTyxrQ0FBa0M7OytIQUFsQyxrQ0FBa0M7Z0lBQWxDLGtDQUFrQyxpQkFINUIscUNBQXFDLGFBUGhELHVCQUF1QjtRQUN2QixtQkFBbUI7UUFDbkIsMkJBQTJCO1FBQzNCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsV0FBVyxhQUdMLHFDQUFxQztnSUFFdEMsa0NBQWtDLFlBVnZDLHVCQUF1QjtRQUN2QixtQkFBbUI7UUFDbkIsMkJBQTJCO1FBQzNCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsV0FBVzsyRkFLTixrQ0FBa0M7a0JBWjlDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixXQUFXO3FCQUNkO29CQUNELFlBQVksRUFBRSxDQUFDLHFDQUFxQyxDQUFDO29CQUNyRCxPQUFPLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQztpQkFDbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGb2VobkF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWF1dG9jb21wbGV0ZS9mb2Vobi1hdXRvY29tcGxldGUubW9kdWxlJztcbmltcG9ydCB7IEZvZWhuSWNvbnNNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi1pY29ucy9mb2Vobi1pY29ucy5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5WYWxpZGF0aW9uQWxlcnRzTW9kdWxlIH0gZnJvbSAnLi4vZm9laG4tdmFsaWRhdGlvbi1hbGVydHMvZm9laG4tdmFsaWRhdGlvbi1hbGVydHMubW9kdWxlJztcbmltcG9ydCB7IFNka0RpY3Rpb25hcnlNb2R1bGUgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5NdWx0aXNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBGb2VobkF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICAgICAgU2RrRGljdGlvbmFyeU1vZHVsZSxcbiAgICAgICAgRm9laG5WYWxpZGF0aW9uQWxlcnRzTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvZWhuSWNvbnNNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtGb2Vobk11bHRpc2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbRm9laG5NdWx0aXNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5NdWx0aXNlbGVjdEF1dG9jb21wbGV0ZU1vZHVsZSB7fVxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUvZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDeEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBY25HLE1BQU0sT0FBTyxrQ0FBa0M7O2dJQUFsQyxrQ0FBa0M7aUlBQWxDLGtDQUFrQyxpQkFINUIscUNBQXFDLGFBUGhELHVCQUF1QjtRQUN2QixtQkFBbUI7UUFDbkIsMkJBQTJCO1FBQzNCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsV0FBVyxhQUdMLHFDQUFxQztpSUFFdEMsa0NBQWtDLFlBVnZDLHVCQUF1QjtRQUN2QixtQkFBbUI7UUFDbkIsMkJBQTJCO1FBQzNCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsV0FBVzs0RkFLTixrQ0FBa0M7a0JBWjlDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixXQUFXO3FCQUNkO29CQUNELFlBQVksRUFBRSxDQUFDLHFDQUFxQyxDQUFDO29CQUNyRCxPQUFPLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQztpQkFDbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGb2VobkF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWF1dG9jb21wbGV0ZS9mb2Vobi1hdXRvY29tcGxldGUubW9kdWxlJztcbmltcG9ydCB7IEZvZWhuSWNvbnNNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi1pY29ucy9mb2Vobi1pY29ucy5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5WYWxpZGF0aW9uQWxlcnRzTW9kdWxlIH0gZnJvbSAnLi4vZm9laG4tdmFsaWRhdGlvbi1hbGVydHMvZm9laG4tdmFsaWRhdGlvbi1hbGVydHMubW9kdWxlJztcbmltcG9ydCB7IFNka0RpY3Rpb25hcnlNb2R1bGUgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5NdWx0aXNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBGb2VobkF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICAgICAgU2RrRGljdGlvbmFyeU1vZHVsZSxcbiAgICAgICAgRm9laG5WYWxpZGF0aW9uQWxlcnRzTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvZWhuSWNvbnNNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtGb2Vobk11bHRpc2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbRm9laG5NdWx0aXNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5NdWx0aXNlbGVjdEF1dG9jb21wbGV0ZU1vZHVsZSB7fVxuIl19
@@ -93,15 +93,15 @@ export class FoehnInputNav13Component extends FoehnInputStringComponent {
93
93
  return `${this.PREFIX_NAVS}.${this.part2}.${this.part3}.${this.part4}`;
94
94
  }
95
95
  }
96
- FoehnInputNav13Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnInputNav13Component, deps: null, target: i0.ɵɵFactoryTarget.Component });
97
- FoehnInputNav13Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FoehnInputNav13Component, selector: "foehn-input-nav13", providers: [
96
+ FoehnInputNav13Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FoehnInputNav13Component, deps: null, target: i0.ɵɵFactoryTarget.Component });
97
+ FoehnInputNav13Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FoehnInputNav13Component, selector: "foehn-input-nav13", providers: [
98
98
  {
99
99
  provide: FoehnInputComponent,
100
100
  useExisting: forwardRef(() => FoehnInputNav13Component),
101
101
  multi: true
102
102
  }
103
103
  ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group mb-0\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <fieldset\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n >\n <legend\n [attr.for]=\"buildChildId()\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : 'vd-p'\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </legend>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <div class=\"vd-form-flex\">\n <div\n [ngClass]=\"{\n 'vd-form-flex__item--4-char-width':\n displayClearButton() | async,\n 'vd-form-flex__item--3-char-width': !(\n displayClearButton() | async\n )\n }\"\n class=\"vd-form-flex__item\"\n >\n <div class=\"form-group\">\n <label\n [attr.for]=\"buildId() + '_part1Child'\"\n class=\"sr-only\"\n >\n Code du pays\n </label>\n <small\n [id]=\"buildId() + '_part1ChildHelp'\"\n class=\"form-text text-secondary\"\n >\n <span class=\"sr-only\">\n Etant obligatoirement un num\u00E9ro AVS suisse, ce\n champs est pr\u00E9rempli\n </span>\n </small>\n\n <foehn-input-number\n [name]=\"name + '_part1'\"\n [id]=\"buildId() + '_part1'\"\n [model]=\"PREFIX_NAVS\"\n [maxlength]=\"3\"\n [autocomplete]=\"'off'\"\n [clearButton]=\"displayClearButton() | async\"\n [disabled]=\"true\"\n [hideStandardHelpText]=\"true\"\n [allowLeadingZero]=\"true\"\n ></foehn-input-number>\n </div>\n </div>\n\n <div class=\"vd-form-flex__item vd-form-flex__item--4-char-width\">\n <div class=\"form-group\">\n <label\n [attr.for]=\"buildId() + '_part2Child'\"\n class=\"sr-only\"\n >\n Premiers chiffres al\u00E9atoires et anonymes\n </label>\n <small\n [id]=\"buildId() + '_part2ChildHelp'\"\n class=\"form-text text-secondary\"\n >\n <span class=\"sr-only\">\n Saisir quatres chiffres :\n <abbr title=\"Exemple\">Ex.</abbr>\n : 1234\n </span>\n </small>\n\n <foehn-input-number\n [name]=\"name + '_part2'\"\n [id]=\"buildId() + '_part2'\"\n [(model)]=\"part2\"\n (modelChange)=\"updateNavs()\"\n [maxlength]=\"4\"\n [autocomplete]=\"'off'\"\n [clearButton]=\"displayClearButton() | async\"\n (userInput)=\"handleUserInput()\"\n [isErrorInherited]=\"hasErrorsToDisplay()\"\n [disabled]=\"disabled\"\n (paste)=\"onPaste($event)\"\n [hideStandardHelpText]=\"true\"\n [allowLeadingZero]=\"true\"\n ></foehn-input-number>\n </div>\n </div>\n\n <div class=\"vd-form-flex__item vd-form-flex__item--4-char-width\">\n <div class=\"form-group\">\n <label\n [attr.for]=\"buildId() + '_part3Child'\"\n class=\"sr-only\"\n >\n Deuxi\u00E8mes chiffres al\u00E9atoires et anonymes\n </label>\n <small\n [id]=\"buildId() + '_part3ChildHelp'\"\n class=\"form-text text-secondary\"\n >\n <span class=\"sr-only\">\n Saisir quatres chiffres :\n <abbr title=\"Exemple\">Ex.</abbr>\n : 5678\n </span>\n </small>\n\n <foehn-input-number\n [name]=\"name + '_part3'\"\n [id]=\"buildId() + '_part3'\"\n [(model)]=\"part3\"\n (modelChange)=\"updateNavs()\"\n [maxlength]=\"4\"\n [autocomplete]=\"'off'\"\n [clearButton]=\"displayClearButton() | async\"\n (userInput)=\"handleUserInput()\"\n [isErrorInherited]=\"hasErrorsToDisplay()\"\n [disabled]=\"disabled\"\n [hideStandardHelpText]=\"true\"\n [allowLeadingZero]=\"true\"\n ></foehn-input-number>\n </div>\n </div>\n\n <div\n [ngClass]=\"{\n 'vd-form-flex__item--3-char-width':\n displayClearButton() | async,\n 'vd-form-flex__item--2-char-width': !(\n displayClearButton() | async\n )\n }\"\n class=\"vd-form-flex__item vd-form-flex__item--3-char-width\"\n >\n <div class=\"form-group\">\n <label\n [attr.for]=\"buildId() + '_part4Child'\"\n class=\"sr-only\"\n >\n Chiffre al\u00E9atoire et anonyme et num\u00E9ro de contr\u00F4le\n </label>\n <small\n [id]=\"buildId() + '_part4ChildHelp'\"\n class=\"form-text text-secondary\"\n >\n <span class=\"sr-only\">\n Saisir deux chiffres :\n <abbr title=\"Exemple\">Ex.</abbr>\n : 97\n </span>\n </small>\n\n <foehn-input-number\n [name]=\"name + '_part4'\"\n [id]=\"buildId() + '_part4'\"\n [(model)]=\"part4\"\n (modelChange)=\"updateNavs()\"\n [maxlength]=\"2\"\n [autocomplete]=\"'off'\"\n [clearButton]=\"displayClearButton() | async\"\n (userInput)=\"handleUserInput()\"\n [isErrorInherited]=\"hasErrorsToDisplay()\"\n [disabled]=\"disabled\"\n [hideStandardHelpText]=\"true\"\n [allowLeadingZero]=\"true\"\n ></foehn-input-number>\n </div>\n </div>\n </div>\n </fieldset>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "component", type: i3.FoehnInputNumberComponent, selector: "foehn-input-number", inputs: ["hideStandardHelpText", "allowDecimal", "allowNegative", "maxDecimalCount", "allowFreeInput", "allowLeadingZero", "model"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SdkDictionaryPipe, name: "fromDictionary" }] });
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnInputNav13Component, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FoehnInputNav13Component, decorators: [{
105
105
  type: Component,
106
106
  args: [{ selector: 'foehn-input-nav13', providers: [
107
107
  {
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
111
111
  }
112
112
  ], template: "<div\n class=\"form-group mb-0\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <fieldset\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n >\n <legend\n [attr.for]=\"buildChildId()\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : 'vd-p'\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </legend>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <div class=\"vd-form-flex\">\n <div\n [ngClass]=\"{\n 'vd-form-flex__item--4-char-width':\n displayClearButton() | async,\n 'vd-form-flex__item--3-char-width': !(\n displayClearButton() | async\n )\n }\"\n class=\"vd-form-flex__item\"\n >\n <div class=\"form-group\">\n <label\n [attr.for]=\"buildId() + '_part1Child'\"\n class=\"sr-only\"\n >\n Code du pays\n </label>\n <small\n [id]=\"buildId() + '_part1ChildHelp'\"\n class=\"form-text text-secondary\"\n >\n <span class=\"sr-only\">\n Etant obligatoirement un num\u00E9ro AVS suisse, ce\n champs est pr\u00E9rempli\n </span>\n </small>\n\n <foehn-input-number\n [name]=\"name + '_part1'\"\n [id]=\"buildId() + '_part1'\"\n [model]=\"PREFIX_NAVS\"\n [maxlength]=\"3\"\n [autocomplete]=\"'off'\"\n [clearButton]=\"displayClearButton() | async\"\n [disabled]=\"true\"\n [hideStandardHelpText]=\"true\"\n [allowLeadingZero]=\"true\"\n ></foehn-input-number>\n </div>\n </div>\n\n <div class=\"vd-form-flex__item vd-form-flex__item--4-char-width\">\n <div class=\"form-group\">\n <label\n [attr.for]=\"buildId() + '_part2Child'\"\n class=\"sr-only\"\n >\n Premiers chiffres al\u00E9atoires et anonymes\n </label>\n <small\n [id]=\"buildId() + '_part2ChildHelp'\"\n class=\"form-text text-secondary\"\n >\n <span class=\"sr-only\">\n Saisir quatres chiffres :\n <abbr title=\"Exemple\">Ex.</abbr>\n : 1234\n </span>\n </small>\n\n <foehn-input-number\n [name]=\"name + '_part2'\"\n [id]=\"buildId() + '_part2'\"\n [(model)]=\"part2\"\n (modelChange)=\"updateNavs()\"\n [maxlength]=\"4\"\n [autocomplete]=\"'off'\"\n [clearButton]=\"displayClearButton() | async\"\n (userInput)=\"handleUserInput()\"\n [isErrorInherited]=\"hasErrorsToDisplay()\"\n [disabled]=\"disabled\"\n (paste)=\"onPaste($event)\"\n [hideStandardHelpText]=\"true\"\n [allowLeadingZero]=\"true\"\n ></foehn-input-number>\n </div>\n </div>\n\n <div class=\"vd-form-flex__item vd-form-flex__item--4-char-width\">\n <div class=\"form-group\">\n <label\n [attr.for]=\"buildId() + '_part3Child'\"\n class=\"sr-only\"\n >\n Deuxi\u00E8mes chiffres al\u00E9atoires et anonymes\n </label>\n <small\n [id]=\"buildId() + '_part3ChildHelp'\"\n class=\"form-text text-secondary\"\n >\n <span class=\"sr-only\">\n Saisir quatres chiffres :\n <abbr title=\"Exemple\">Ex.</abbr>\n : 5678\n </span>\n </small>\n\n <foehn-input-number\n [name]=\"name + '_part3'\"\n [id]=\"buildId() + '_part3'\"\n [(model)]=\"part3\"\n (modelChange)=\"updateNavs()\"\n [maxlength]=\"4\"\n [autocomplete]=\"'off'\"\n [clearButton]=\"displayClearButton() | async\"\n (userInput)=\"handleUserInput()\"\n [isErrorInherited]=\"hasErrorsToDisplay()\"\n [disabled]=\"disabled\"\n [hideStandardHelpText]=\"true\"\n [allowLeadingZero]=\"true\"\n ></foehn-input-number>\n </div>\n </div>\n\n <div\n [ngClass]=\"{\n 'vd-form-flex__item--3-char-width':\n displayClearButton() | async,\n 'vd-form-flex__item--2-char-width': !(\n displayClearButton() | async\n )\n }\"\n class=\"vd-form-flex__item vd-form-flex__item--3-char-width\"\n >\n <div class=\"form-group\">\n <label\n [attr.for]=\"buildId() + '_part4Child'\"\n class=\"sr-only\"\n >\n Chiffre al\u00E9atoire et anonyme et num\u00E9ro de contr\u00F4le\n </label>\n <small\n [id]=\"buildId() + '_part4ChildHelp'\"\n class=\"form-text text-secondary\"\n >\n <span class=\"sr-only\">\n Saisir deux chiffres :\n <abbr title=\"Exemple\">Ex.</abbr>\n : 97\n </span>\n </small>\n\n <foehn-input-number\n [name]=\"name + '_part4'\"\n [id]=\"buildId() + '_part4'\"\n [(model)]=\"part4\"\n (modelChange)=\"updateNavs()\"\n [maxlength]=\"2\"\n [autocomplete]=\"'off'\"\n [clearButton]=\"displayClearButton() | async\"\n (userInput)=\"handleUserInput()\"\n [isErrorInherited]=\"hasErrorsToDisplay()\"\n [disabled]=\"disabled\"\n [hideStandardHelpText]=\"true\"\n [allowLeadingZero]=\"true\"\n ></foehn-input-number>\n </div>\n </div>\n </div>\n </fieldset>\n</div>\n" }]
113
113
  }] });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtbmF2MTMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdjEzL2ZvZWhuLWlucHV0LW5hdjEzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1uYXYxMy9mb2Vobi1pbnB1dC1uYXYxMy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7Ozs7QUFheEYsTUFBTSxPQUFPLHdCQUNULFNBQVEseUJBQXlCO0lBWnJDOztRQWNJLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBK0Z2QjtJQTFGRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsK0JBQStCLENBQUM7U0FDbkQ7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsa0RBQWtELENBQUM7U0FDbkU7SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNOLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4QyxJQUFJLE9BQU8sVUFBVSxLQUFLLFdBQVcsRUFBRTtZQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQztJQUVELGVB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QUNmO1lBRUQsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM5QixPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNFLENBQUM7O3FIQWpHUSx3QkFBd0I7eUdBQXhCLHdCQUF3Qiw0Q0FSdEI7UUFDUDtZQUNJLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztZQUN2RCxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0osaURDZkwsbThQQXFNQTsyRkRwTGEsd0JBQXdCO2tCQVhwQyxTQUFTOytCQUNJLG1CQUFtQixhQUVsQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRm9laG5JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2VobklucHV0U3RyaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQtc3RyaW5nLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4taW5wdXQtbmF2MTMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1pbnB1dC1uYXYxMy5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZvZWhuSW5wdXRDb21wb25lbnQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGb2VobklucHV0TmF2MTNDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5JbnB1dE5hdjEzQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBGb2VobklucHV0U3RyaW5nQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIFBSRUZJWF9OQVZTID0gJzc1Nic7XG4gICAgcGFydDI6IHN0cmluZztcbiAgICBwYXJ0Mzogc3RyaW5nO1xuICAgIHBhcnQ0OiBzdHJpbmc7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgaWYgKCF0aGlzLmhlbHBUZXh0KSB7XG4gICAgICAgICAgICB0aGlzLmhlbHBUZXh0ID0gJ1BhciBleGVtcGxlLCA3NTYgMTIzNCA1Njc4IDk3JztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMubGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMubGFiZWwgPSAnVm90cmUgbnVtw6lybyA8YWJiciB0aXRsZT1cIk51bcOpcm8gQVZTXCI+QVZTPC9hYmJyPic7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVOYXZzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWxpZFZhbHVlID0gdGhpcy5nZXRWYWxpZFZhbHVlKCk7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsaWRWYWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTmdNb2RlbCh2YWxpZFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZVVzZXJJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsaWRWYWx1ZSA9IHRoaXMuZ2V0VmFsaWRWYWx1ZSgpO1xuICAgICAgICBpZiAodHlwZW9mIHZhbGlkVmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZSh2YWxpZFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTW9kZWxDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoISF2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zcGxpdFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGFydDIgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5wYXJ0MyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnBhcnQ0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRpc3BsYXlDbGVhckJ1dHRvbigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIGNsZWFyIGJ1dHRvbiBmb25jdGlvbiBub3Qgd29ycnkgYWJvdXQgdGhlIG1vZGVsIGF0IHRoaXMgc3RhZ2UuXG4gICAgICAgIHJldHVybiBvZih0aGlzLmNsZWFyQnV0dG9uKTtcbiAgICB9XG5cbiAgICBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wcmV2ZW50UGFzdGUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXN0ZWRWYWx1ZSA9IGV2ZW50LmNsaXBib2FyZERhdGFcbiAgICAgICAgICAgIC5nZXREYXRhKCd0ZXh0JylcbiAgICAgICAgICAgID8ucmVwbGFjZSgvXFxEL2csICcnKTtcblxuICAgICAgICBjb25zdCBpc1Bhc3RlZFZhbHVlTW9yZVRoYW5PbmVBdnNCbG9jayA9IHBhc3RlZFZhbHVlPy5sZW5ndGggPiA0O1xuXG4gICAgICAgIGlmIChpc1Bhc3RlZFZhbHVlTW9yZVRoYW5PbmVBdnNCbG9jaykge1xuICAgICAgICAgICAgbGV0IHZhbHVlVG9QYXN0ZSA9IHBhc3RlZFZhbHVlO1xuICAgICAgICAgICAgaWYgKCFwYXN0ZWRWYWx1ZS5zdGFydHNXaXRoKHRoaXMuUFJFRklYX05BVlMpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWVUb1Bhc3RlID0gcGFzdGVkVmFsdWUuaW5jbHVkZXMoJy4nKVxuICAgICAgICAgICAgICAgICAgICA/IGAke3RoaXMuUFJFRklYX05BVlN9LiR7cGFzdGVkVmFsdWV9YFxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuUFJFRklYX05BVlMgKyBwYXN0ZWRWYWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHZhbHVlVG9QYXN0ZSk7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVzZXJJbnB1dCgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3BsaXRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDEzICYmICF2YWx1ZS5pbmNsdWRlcygnLicpKSB7XG4gICAgICAgICAgICB0aGlzLnBhcnQyID0gdmFsdWUuc3Vic3RyaW5nKDMsIDcpO1xuICAgICAgICAgICAgdGhpcy5wYXJ0MyA9IHZhbHVlLnN1YnN0cmluZyg3LCAxMSk7XG4gICAgICAgICAgICB0aGlzLnBhcnQ0ID0gdmFsdWUuc3Vic3RyaW5nKDExLCAxMyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBzcGxpdHRlZCA9IHZhbHVlLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICB0aGlzLnBhcnQyID0gc3BsaXR0ZWRbMV07XG4gICAgICAgICAgICB0aGlzLnBhcnQzID0gc3BsaXR0ZWRbMl07XG4gICAgICAgICAgICB0aGlzLnBhcnQ0ID0gc3BsaXR0ZWRbM107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFZhbGlkVmFsdWUoKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghdGhpcy5wYXJ0MiAmJiAhdGhpcy5wYXJ0MyAmJiAhdGhpcy5wYXJ0NCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWxfICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnBhcnQyID0gdGhpcy5wYXJ0MiB8fCAnJztcbiAgICAgICAgdGhpcy5wYXJ0MyA9IHRoaXMucGFydDMgfHwgJyc7XG4gICAgICAgIHRoaXMucGFydDQgPSB0aGlzLnBhcnQ0IHx8ICcnO1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5QUkVGSVhfTkFWU30uJHt0aGlzLnBhcnQyfS4ke3RoaXMucGFydDN9LiR7dGhpcy5wYXJ0NH1gO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZvcm0tZ3JvdXAgbWItMFwiXG4gICAgW2NsYXNzLmhhcy1kYW5nZXJdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgIFtjbGFzcy52ZC1mb3JtLWdyb3VwLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgW2F0dHIuaWRdPVwiYnVpbGRJZCgnQ29udGFpbmVyJylcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuPlxuICAgIDxmaWVsZHNldFxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImdldERlc2NyaWJlZEJ5KClcIlxuICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KCkgfHwgbnVsbFwiXG4gICAgPlxuICAgICAgICA8bGVnZW5kXG4gICAgICAgICAgICBbYXR0ci5mb3JdPVwiYnVpbGRDaGlsZElkKClcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXNMYWJlbFNyT25seSA/ICdzci1vbmx5JyA6ICd2ZC1wJ1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwibGFiZWxcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXJlcXVpcmVkICYmICFoaWRlTm90UmVxdWlyZWRFeHRyYUxhYmVsXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7ICdmb2Vobi1pbnB1dC5vcHRpb25hbCcgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2xlZ2VuZD5cblxuICAgICAgICA8Zm9laG4tdmFsaWRhdGlvbi1hbGVydHMgW2NvbXBvbmVudF09XCJ0aGlzXCI+PC9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cz5cblxuICAgICAgICA8c21hbGxcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscFRleHRcIlxuICAgICAgICAgICAgW2F0dHIuaWRdPVwiYnVpbGRJZCgpICsgJ0hlbHAnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS10ZXh0IHRleHQtc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiaGVscFRleHRcIlxuICAgICAgICA+PC9zbWFsbD5cblxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZkLWZvcm0tZmxleFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ3ZkLWZvcm0tZmxleF9faXRlbS0tNC1jaGFyLXdpZHRoJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmMsXG4gICAgICAgICAgICAgICAgICAgICd2ZC1mb3JtLWZsZXhfX2l0ZW0tLTMtY2hhci13aWR0aCc6ICEoXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZkLWZvcm0tZmxleF9faXRlbVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5mb3JdPVwiYnVpbGRJZCgpICsgJ19wYXJ0MUNoaWxkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNyLW9ubHlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBDb2RlIGR1IHBheXNcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPHNtYWxsXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZCgpICsgJ19wYXJ0MUNoaWxkSGVscCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdGFudCBvYmxpZ2F0b2lyZW1lbnQgdW4gbnVtw6lybyBBVlMgc3Vpc3NlLCBjZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW1wcyBlc3QgcHLDqXJlbXBsaVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxuXG4gICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pbnB1dC1udW1iZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWUgKyAnX3BhcnQxJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZCgpICsgJ19wYXJ0MSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cIlBSRUZJWF9OQVZTXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIidvZmYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGVhckJ1dHRvbl09XCJkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlU3RhbmRhcmRIZWxwVGV4dF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd0xlYWRpbmdaZXJvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mb2Vobi1pbnB1dC1udW1iZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZkLWZvcm0tZmxleF9faXRlbSB2ZC1mb3JtLWZsZXhfX2l0ZW0tLTQtY2hhci13aWR0aFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZm9yXT1cImJ1aWxkSWQoKSArICdfcGFydDJDaGlsZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzci1vbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgUHJlbWllcnMgY2hpZmZyZXMgYWzDqWF0b2lyZXMgZXQgYW5vbnltZXNcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPHNtYWxsXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZCgpICsgJ19wYXJ0MkNoaWxkSGVscCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTYWlzaXIgcXVhdHJlcyBjaGlmZnJlcyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFiYnIgdGl0bGU9XCJFeGVtcGxlXCI+RXguPC9hYmJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTIzNFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxuXG4gICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pbnB1dC1udW1iZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWUgKyAnX3BhcnQyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZCgpICsgJ19wYXJ0MidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwicGFydDJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cInVwZGF0ZU5hdnMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF4bGVuZ3RoXT1cIjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCInb2ZmJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xlYXJCdXR0b25dPVwiZGlzcGxheUNsZWFyQnV0dG9uKCkgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAodXNlcklucHV0KT1cImhhbmRsZVVzZXJJbnB1dCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpc0Vycm9ySW5oZXJpdGVkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAocGFzdGUpPVwib25QYXN0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlU3RhbmRhcmRIZWxwVGV4dF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd0xlYWRpbmdaZXJvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mb2Vobi1pbnB1dC1udW1iZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZkLWZvcm0tZmxleF9faXRlbSB2ZC1mb3JtLWZsZXhfX2l0ZW0tLTQtY2hhci13aWR0aFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZm9yXT1cImJ1aWxkSWQoKSArICdfcGFydDNDaGlsZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzci1vbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgRGV1eGnDqG1lcyBjaGlmZnJlcyBhbMOpYXRvaXJlcyBldCBhbm9ueW1lc1xuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8c21hbGxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZElkKCkgKyAnX3BhcnQzQ2hpbGRIZWxwJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhaXNpciBxdWF0cmVzIGNoaWZmcmVzIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWJiciB0aXRsZT1cIkV4ZW1wbGVcIj5FeC48L2FiYnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA1Njc4XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XG5cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWlucHV0LW51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZSArICdfcGFydDMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZElkKCkgKyAnX3BhcnQzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJwYXJ0M1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwidXBkYXRlTmF2cygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIidvZmYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGVhckJ1dHRvbl09XCJkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICh1c2VySW5wdXQpPVwiaGFuZGxlVXNlcklucHV0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzRXJyb3JJbmhlcml0ZWRdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlU3RhbmRhcmRIZWxwVGV4dF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd0xlYWRpbmdaZXJvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mb2Vobi1pbnB1dC1udW1iZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ3ZkLWZvcm0tZmxleF9faXRlbS0tMy1jaGFyLXdpZHRoJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmMsXG4gICAgICAgICAgICAgICAgICAgICd2ZC1mb3JtLWZsZXhfX2l0ZW0tLTItY2hhci13aWR0aCc6ICEoXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZkLWZvcm0tZmxleF9faXRlbSB2ZC1mb3JtLWZsZXhfX2l0ZW0tLTMtY2hhci13aWR0aFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5mb3JdPVwiYnVpbGRJZCgpICsgJ19wYXJ0NENoaWxkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNyLW9ubHlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBDaGlmZnJlIGFsw6lhdG9pcmUgZXQgYW5vbnltZSBldCBudW3DqXJvIGRlIGNvbnRyw7RsZVxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8c21hbGxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZElkKCkgKyAnX3BhcnQ0Q2hpbGRIZWxwJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhaXNpciBkZXV4IGNoaWZmcmVzIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWJiciB0aXRsZT1cIkV4ZW1wbGVcIj5FeC48L2FiYnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA5N1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxuXG4gICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pbnB1dC1udW1iZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWUgKyAnX3BhcnQ0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZCgpICsgJ19wYXJ0NCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwicGFydDRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cInVwZGF0ZU5hdnMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF4bGVuZ3RoXT1cIjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCInb2ZmJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xlYXJCdXR0b25dPVwiZGlzcGxheUNsZWFyQnV0dG9uKCkgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAodXNlcklucHV0KT1cImhhbmRsZVVzZXJJbnB1dCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpc0Vycm9ySW5oZXJpdGVkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaGlkZVN0YW5kYXJkSGVscFRleHRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dMZWFkaW5nWmVyb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZm9laG4taW5wdXQtbnVtYmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG48L2Rpdj5cbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtbmF2MTMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdjEzL2ZvZWhuLWlucHV0LW5hdjEzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1uYXYxMy9mb2Vobi1pbnB1dC1uYXYxMy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7Ozs7QUFheEYsTUFBTSxPQUFPLHdCQUNULFNBQVEseUJBQXlCO0lBWnJDOztRQWNJLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBK0Z2QjtJQTFGRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsK0JBQStCLENBQUM7U0FDbkQ7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsa0RBQWtELENBQUM7U0FDbkU7SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNOLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4QyxJQUFJLE9BQU8sVUFBVSxLQUFLLFdBQVcsRUFBRTtZQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQztJQUVELGVB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QUNmO1lBRUQsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM5QixPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNFLENBQUM7O3NIQWpHUSx3QkFBd0I7MEdBQXhCLHdCQUF3Qiw0Q0FSdEI7UUFDUDtZQUNJLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztZQUN2RCxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0osaURDZkwsbThQQXFNQTs0RkRwTGEsd0JBQXdCO2tCQVhwQyxTQUFTOytCQUNJLG1CQUFtQixhQUVsQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRm9laG5JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2VobklucHV0U3RyaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQtc3RyaW5nLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4taW5wdXQtbmF2MTMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1pbnB1dC1uYXYxMy5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZvZWhuSW5wdXRDb21wb25lbnQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGb2VobklucHV0TmF2MTNDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5JbnB1dE5hdjEzQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBGb2VobklucHV0U3RyaW5nQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIFBSRUZJWF9OQVZTID0gJzc1Nic7XG4gICAgcGFydDI6IHN0cmluZztcbiAgICBwYXJ0Mzogc3RyaW5nO1xuICAgIHBhcnQ0OiBzdHJpbmc7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgaWYgKCF0aGlzLmhlbHBUZXh0KSB7XG4gICAgICAgICAgICB0aGlzLmhlbHBUZXh0ID0gJ1BhciBleGVtcGxlLCA3NTYgMTIzNCA1Njc4IDk3JztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMubGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMubGFiZWwgPSAnVm90cmUgbnVtw6lybyA8YWJiciB0aXRsZT1cIk51bcOpcm8gQVZTXCI+QVZTPC9hYmJyPic7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVOYXZzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWxpZFZhbHVlID0gdGhpcy5nZXRWYWxpZFZhbHVlKCk7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsaWRWYWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTmdNb2RlbCh2YWxpZFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZVVzZXJJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsaWRWYWx1ZSA9IHRoaXMuZ2V0VmFsaWRWYWx1ZSgpO1xuICAgICAgICBpZiAodHlwZW9mIHZhbGlkVmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZSh2YWxpZFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTW9kZWxDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoISF2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zcGxpdFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGFydDIgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5wYXJ0MyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnBhcnQ0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRpc3BsYXlDbGVhckJ1dHRvbigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIGNsZWFyIGJ1dHRvbiBmb25jdGlvbiBub3Qgd29ycnkgYWJvdXQgdGhlIG1vZGVsIGF0IHRoaXMgc3RhZ2UuXG4gICAgICAgIHJldHVybiBvZih0aGlzLmNsZWFyQnV0dG9uKTtcbiAgICB9XG5cbiAgICBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wcmV2ZW50UGFzdGUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXN0ZWRWYWx1ZSA9IGV2ZW50LmNsaXBib2FyZERhdGFcbiAgICAgICAgICAgIC5nZXREYXRhKCd0ZXh0JylcbiAgICAgICAgICAgID8ucmVwbGFjZSgvXFxEL2csICcnKTtcblxuICAgICAgICBjb25zdCBpc1Bhc3RlZFZhbHVlTW9yZVRoYW5PbmVBdnNCbG9jayA9IHBhc3RlZFZhbHVlPy5sZW5ndGggPiA0O1xuXG4gICAgICAgIGlmIChpc1Bhc3RlZFZhbHVlTW9yZVRoYW5PbmVBdnNCbG9jaykge1xuICAgICAgICAgICAgbGV0IHZhbHVlVG9QYXN0ZSA9IHBhc3RlZFZhbHVlO1xuICAgICAgICAgICAgaWYgKCFwYXN0ZWRWYWx1ZS5zdGFydHNXaXRoKHRoaXMuUFJFRklYX05BVlMpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWVUb1Bhc3RlID0gcGFzdGVkVmFsdWUuaW5jbHVkZXMoJy4nKVxuICAgICAgICAgICAgICAgICAgICA/IGAke3RoaXMuUFJFRklYX05BVlN9LiR7cGFzdGVkVmFsdWV9YFxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuUFJFRklYX05BVlMgKyBwYXN0ZWRWYWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHZhbHVlVG9QYXN0ZSk7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVzZXJJbnB1dCgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3BsaXRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDEzICYmICF2YWx1ZS5pbmNsdWRlcygnLicpKSB7XG4gICAgICAgICAgICB0aGlzLnBhcnQyID0gdmFsdWUuc3Vic3RyaW5nKDMsIDcpO1xuICAgICAgICAgICAgdGhpcy5wYXJ0MyA9IHZhbHVlLnN1YnN0cmluZyg3LCAxMSk7XG4gICAgICAgICAgICB0aGlzLnBhcnQ0ID0gdmFsdWUuc3Vic3RyaW5nKDExLCAxMyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBzcGxpdHRlZCA9IHZhbHVlLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICB0aGlzLnBhcnQyID0gc3BsaXR0ZWRbMV07XG4gICAgICAgICAgICB0aGlzLnBhcnQzID0gc3BsaXR0ZWRbMl07XG4gICAgICAgICAgICB0aGlzLnBhcnQ0ID0gc3BsaXR0ZWRbM107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFZhbGlkVmFsdWUoKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghdGhpcy5wYXJ0MiAmJiAhdGhpcy5wYXJ0MyAmJiAhdGhpcy5wYXJ0NCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWxfICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnBhcnQyID0gdGhpcy5wYXJ0MiB8fCAnJztcbiAgICAgICAgdGhpcy5wYXJ0MyA9IHRoaXMucGFydDMgfHwgJyc7XG4gICAgICAgIHRoaXMucGFydDQgPSB0aGlzLnBhcnQ0IHx8ICcnO1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5QUkVGSVhfTkFWU30uJHt0aGlzLnBhcnQyfS4ke3RoaXMucGFydDN9LiR7dGhpcy5wYXJ0NH1gO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZvcm0tZ3JvdXAgbWItMFwiXG4gICAgW2NsYXNzLmhhcy1kYW5nZXJdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgIFtjbGFzcy52ZC1mb3JtLWdyb3VwLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgW2F0dHIuaWRdPVwiYnVpbGRJZCgnQ29udGFpbmVyJylcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuPlxuICAgIDxmaWVsZHNldFxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImdldERlc2NyaWJlZEJ5KClcIlxuICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KCkgfHwgbnVsbFwiXG4gICAgPlxuICAgICAgICA8bGVnZW5kXG4gICAgICAgICAgICBbYXR0ci5mb3JdPVwiYnVpbGRDaGlsZElkKClcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXNMYWJlbFNyT25seSA/ICdzci1vbmx5JyA6ICd2ZC1wJ1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwibGFiZWxcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXJlcXVpcmVkICYmICFoaWRlTm90UmVxdWlyZWRFeHRyYUxhYmVsXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7ICdmb2Vobi1pbnB1dC5vcHRpb25hbCcgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2xlZ2VuZD5cblxuICAgICAgICA8Zm9laG4tdmFsaWRhdGlvbi1hbGVydHMgW2NvbXBvbmVudF09XCJ0aGlzXCI+PC9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cz5cblxuICAgICAgICA8c21hbGxcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscFRleHRcIlxuICAgICAgICAgICAgW2F0dHIuaWRdPVwiYnVpbGRJZCgpICsgJ0hlbHAnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS10ZXh0IHRleHQtc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiaGVscFRleHRcIlxuICAgICAgICA+PC9zbWFsbD5cblxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZkLWZvcm0tZmxleFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ3ZkLWZvcm0tZmxleF9faXRlbS0tNC1jaGFyLXdpZHRoJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmMsXG4gICAgICAgICAgICAgICAgICAgICd2ZC1mb3JtLWZsZXhfX2l0ZW0tLTMtY2hhci13aWR0aCc6ICEoXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZkLWZvcm0tZmxleF9faXRlbVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5mb3JdPVwiYnVpbGRJZCgpICsgJ19wYXJ0MUNoaWxkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNyLW9ubHlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBDb2RlIGR1IHBheXNcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPHNtYWxsXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZCgpICsgJ19wYXJ0MUNoaWxkSGVscCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdGFudCBvYmxpZ2F0b2lyZW1lbnQgdW4gbnVtw6lybyBBVlMgc3Vpc3NlLCBjZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW1wcyBlc3QgcHLDqXJlbXBsaVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxuXG4gICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pbnB1dC1udW1iZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWUgKyAnX3BhcnQxJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZCgpICsgJ19wYXJ0MSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cIlBSRUZJWF9OQVZTXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIidvZmYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGVhckJ1dHRvbl09XCJkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlU3RhbmRhcmRIZWxwVGV4dF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd0xlYWRpbmdaZXJvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mb2Vobi1pbnB1dC1udW1iZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZkLWZvcm0tZmxleF9faXRlbSB2ZC1mb3JtLWZsZXhfX2l0ZW0tLTQtY2hhci13aWR0aFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZm9yXT1cImJ1aWxkSWQoKSArICdfcGFydDJDaGlsZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzci1vbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgUHJlbWllcnMgY2hpZmZyZXMgYWzDqWF0b2lyZXMgZXQgYW5vbnltZXNcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPHNtYWxsXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZCgpICsgJ19wYXJ0MkNoaWxkSGVscCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTYWlzaXIgcXVhdHJlcyBjaGlmZnJlcyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFiYnIgdGl0bGU9XCJFeGVtcGxlXCI+RXguPC9hYmJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTIzNFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxuXG4gICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pbnB1dC1udW1iZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWUgKyAnX3BhcnQyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZCgpICsgJ19wYXJ0MidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwicGFydDJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cInVwZGF0ZU5hdnMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF4bGVuZ3RoXT1cIjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCInb2ZmJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xlYXJCdXR0b25dPVwiZGlzcGxheUNsZWFyQnV0dG9uKCkgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAodXNlcklucHV0KT1cImhhbmRsZVVzZXJJbnB1dCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpc0Vycm9ySW5oZXJpdGVkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAocGFzdGUpPVwib25QYXN0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlU3RhbmRhcmRIZWxwVGV4dF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd0xlYWRpbmdaZXJvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mb2Vobi1pbnB1dC1udW1iZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZkLWZvcm0tZmxleF9faXRlbSB2ZC1mb3JtLWZsZXhfX2l0ZW0tLTQtY2hhci13aWR0aFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZm9yXT1cImJ1aWxkSWQoKSArICdfcGFydDNDaGlsZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzci1vbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgRGV1eGnDqG1lcyBjaGlmZnJlcyBhbMOpYXRvaXJlcyBldCBhbm9ueW1lc1xuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8c21hbGxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZElkKCkgKyAnX3BhcnQzQ2hpbGRIZWxwJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhaXNpciBxdWF0cmVzIGNoaWZmcmVzIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWJiciB0aXRsZT1cIkV4ZW1wbGVcIj5FeC48L2FiYnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA1Njc4XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XG5cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWlucHV0LW51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZSArICdfcGFydDMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZElkKCkgKyAnX3BhcnQzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJwYXJ0M1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwidXBkYXRlTmF2cygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIidvZmYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGVhckJ1dHRvbl09XCJkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICh1c2VySW5wdXQpPVwiaGFuZGxlVXNlcklucHV0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzRXJyb3JJbmhlcml0ZWRdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlU3RhbmRhcmRIZWxwVGV4dF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd0xlYWRpbmdaZXJvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mb2Vobi1pbnB1dC1udW1iZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ3ZkLWZvcm0tZmxleF9faXRlbS0tMy1jaGFyLXdpZHRoJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmMsXG4gICAgICAgICAgICAgICAgICAgICd2ZC1mb3JtLWZsZXhfX2l0ZW0tLTItY2hhci13aWR0aCc6ICEoXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZkLWZvcm0tZmxleF9faXRlbSB2ZC1mb3JtLWZsZXhfX2l0ZW0tLTMtY2hhci13aWR0aFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5mb3JdPVwiYnVpbGRJZCgpICsgJ19wYXJ0NENoaWxkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNyLW9ubHlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBDaGlmZnJlIGFsw6lhdG9pcmUgZXQgYW5vbnltZSBldCBudW3DqXJvIGRlIGNvbnRyw7RsZVxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8c21hbGxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZElkKCkgKyAnX3BhcnQ0Q2hpbGRIZWxwJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhaXNpciBkZXV4IGNoaWZmcmVzIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWJiciB0aXRsZT1cIkV4ZW1wbGVcIj5FeC48L2FiYnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA5N1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxuXG4gICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pbnB1dC1udW1iZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWUgKyAnX3BhcnQ0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZCgpICsgJ19wYXJ0NCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwicGFydDRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cInVwZGF0ZU5hdnMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF4bGVuZ3RoXT1cIjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCInb2ZmJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xlYXJCdXR0b25dPVwiZGlzcGxheUNsZWFyQnV0dG9uKCkgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAodXNlcklucHV0KT1cImhhbmRsZVVzZXJJbnB1dCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpc0Vycm9ySW5oZXJpdGVkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaGlkZVN0YW5kYXJkSGVscFRleHRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dMZWFkaW5nWmVyb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZm9laG4taW5wdXQtbnVtYmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG48L2Rpdj5cbiJdfQ==
@@ -7,16 +7,16 @@ import { FoehnInputNav13Component } from './foehn-input-nav13.component';
7
7
  import * as i0 from "@angular/core";
8
8
  export class FoehnInputNav13Module {
9
9
  }
10
- FoehnInputNav13Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnInputNav13Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- FoehnInputNav13Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: FoehnInputNav13Module, declarations: [FoehnInputNav13Component], imports: [CommonModule,
10
+ FoehnInputNav13Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FoehnInputNav13Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ FoehnInputNav13Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: FoehnInputNav13Module, declarations: [FoehnInputNav13Component], imports: [CommonModule,
12
12
  FoehnValidationAlertsModule,
13
13
  FoehnInputModule,
14
14
  SdkDictionaryModule], exports: [FoehnInputNav13Component] });
15
- FoehnInputNav13Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnInputNav13Module, imports: [CommonModule,
15
+ FoehnInputNav13Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FoehnInputNav13Module, imports: [CommonModule,
16
16
  FoehnValidationAlertsModule,
17
17
  FoehnInputModule,
18
18
  SdkDictionaryModule] });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnInputNav13Module, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FoehnInputNav13Module, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  imports: [
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
29
29
  exports: [FoehnInputNav13Component]
30
30
  }]
31
31
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtbmF2MTMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdjEzL2ZvZWhuLWlucHV0LW5hdjEzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFZekUsTUFBTSxPQUFPLHFCQUFxQjs7a0hBQXJCLHFCQUFxQjttSEFBckIscUJBQXFCLGlCQUhmLHdCQUF3QixhQUxuQyxZQUFZO1FBQ1osMkJBQTJCO1FBQzNCLGdCQUFnQjtRQUNoQixtQkFBbUIsYUFHYix3QkFBd0I7bUhBRXpCLHFCQUFxQixZQVIxQixZQUFZO1FBQ1osMkJBQTJCO1FBQzNCLGdCQUFnQjtRQUNoQixtQkFBbUI7MkZBS2QscUJBQXFCO2tCQVZqQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLDJCQUEyQjt3QkFDM0IsZ0JBQWdCO3dCQUNoQixtQkFBbUI7cUJBQ3RCO29CQUNELFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9laG5JbnB1dE1vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VoblZhbGlkYXRpb25BbGVydHNNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy5tb2R1bGUnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeU1vZHVsZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VobklucHV0TmF2MTNDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LW5hdjEzLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvZWhuVmFsaWRhdGlvbkFsZXJ0c01vZHVsZSxcbiAgICAgICAgRm9laG5JbnB1dE1vZHVsZSxcbiAgICAgICAgU2RrRGljdGlvbmFyeU1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbRm9laG5JbnB1dE5hdjEzQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbRm9laG5JbnB1dE5hdjEzQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobklucHV0TmF2MTNNb2R1bGUge31cbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtbmF2MTMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdjEzL2ZvZWhuLWlucHV0LW5hdjEzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFZekUsTUFBTSxPQUFPLHFCQUFxQjs7bUhBQXJCLHFCQUFxQjtvSEFBckIscUJBQXFCLGlCQUhmLHdCQUF3QixhQUxuQyxZQUFZO1FBQ1osMkJBQTJCO1FBQzNCLGdCQUFnQjtRQUNoQixtQkFBbUIsYUFHYix3QkFBd0I7b0hBRXpCLHFCQUFxQixZQVIxQixZQUFZO1FBQ1osMkJBQTJCO1FBQzNCLGdCQUFnQjtRQUNoQixtQkFBbUI7NEZBS2QscUJBQXFCO2tCQVZqQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLDJCQUEyQjt3QkFDM0IsZ0JBQWdCO3dCQUNoQixtQkFBbUI7cUJBQ3RCO29CQUNELFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9laG5JbnB1dE1vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VoblZhbGlkYXRpb25BbGVydHNNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy5tb2R1bGUnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeU1vZHVsZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VobklucHV0TmF2MTNDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LW5hdjEzLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvZWhuVmFsaWRhdGlvbkFsZXJ0c01vZHVsZSxcbiAgICAgICAgRm9laG5JbnB1dE1vZHVsZSxcbiAgICAgICAgU2RrRGljdGlvbmFyeU1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbRm9laG5JbnB1dE5hdjEzQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbRm9laG5JbnB1dE5hdjEzQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobklucHV0TmF2MTNNb2R1bGUge31cbiJdfQ==
@@ -25,9 +25,9 @@ export class AbstractFoehnNavigationComponent {
25
25
  return this.showNextButton;
26
26
  }
27
27
  }
28
- AbstractFoehnNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AbstractFoehnNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
29
- AbstractFoehnNavigationComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: AbstractFoehnNavigationComponent, inputs: { nextLabel: "nextLabel", prevLabel: "prevLabel", continueLaterLabel: "continueLaterLabel", continueLaterAlreadyRegisteredLabel: "continueLaterAlreadyRegisteredLabel", continueLaterConnectedLabel: "continueLaterConnectedLabel", showContinueLaterButton: "showContinueLaterButton", showNextButton: "showNextButton", triggerRecoveryOnPageChange: "triggerRecoveryOnPageChange" }, outputs: { onNext: "onNext", onPrevious: "onPrevious" }, ngImport: i0 });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AbstractFoehnNavigationComponent, decorators: [{
28
+ AbstractFoehnNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AbstractFoehnNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
29
+ AbstractFoehnNavigationComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: AbstractFoehnNavigationComponent, inputs: { nextLabel: "nextLabel", prevLabel: "prevLabel", continueLaterLabel: "continueLaterLabel", continueLaterAlreadyRegisteredLabel: "continueLaterAlreadyRegisteredLabel", continueLaterConnectedLabel: "continueLaterConnectedLabel", showContinueLaterButton: "showContinueLaterButton", showNextButton: "showNextButton", triggerRecoveryOnPageChange: "triggerRecoveryOnPageChange" }, outputs: { onNext: "onNext", onPrevious: "onPrevious" }, ngImport: i0 });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AbstractFoehnNavigationComponent, decorators: [{
31
31
  type: Directive
32
32
  }], propDecorators: {
33
33
  // eslint-disable-next-line @angular-eslint/no-output-on-prefix
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
54
54
  }], triggerRecoveryOnPageChange: [{
55
55
  type: Input
56
56
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbmF2aWdhdGlvbi9hYnN0cmFjdC1mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd2RSxNQUFNLE9BQWdCLGdDQUFnQztJQUR0RDtRQUdJLCtEQUErRDtRQUMvRCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdsQywrREFBK0Q7UUFDL0QsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHdEMsY0FBUyxHQUFHLDZCQUE2QixDQUFDO1FBRzFDLGNBQVMsR0FBRyxpQ0FBaUMsQ0FBQztRQUc5Qyx1QkFBa0IsR0FBRyx1Q0FBdUMsQ0FBQztRQUc3RCx3Q0FBbUMsR0FDL0IsMERBQTBELENBQUM7UUFHL0QsZ0NBQTJCLEdBQ3ZCLGlEQUFpRCxDQUFDO1FBR3RELDRCQUF1QixHQUFHLElBQUksQ0FBQztRQUcvQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUd0QixnQ0FBMkIsR0FBRyxLQUFLLENBQUM7S0FhdkM7SUFYRyxRQUFRO1FBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGlCQUFpQjtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDOzs2SEE3Q2lCLGdDQUFnQztpSEFBaEMsZ0NBQWdDOzJGQUFoQyxnQ0FBZ0M7a0JBRHJELFNBQVM7O1FBR04sK0RBQStEO1FBQy9ELE1BQU07c0JBRkwsTUFBTTs7UUFLUCwrREFBK0Q7UUFDL0QsVUFBVTtzQkFGVCxNQUFNO2dCQUtQLFNBQVM7c0JBRFIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQUlOLG1DQUFtQztzQkFEbEMsS0FBSztnQkFLTiwyQkFBMkI7c0JBRDFCLEtBQUs7Z0JBS04sdUJBQXVCO3NCQUR0QixLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTiwyQkFBMkI7c0JBRDFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEZvZWhuTmF2aWdhdGlvbkNvbXBvbmVudCB7XG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgb25OZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgb25QcmV2aW91cyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgbmV4dExhYmVsID0gJ2ZvZWhuLW5hdmlnYXRpb24ubmV4dC5sYWJlbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIHByZXZMYWJlbCA9ICdmb2Vobi1uYXZpZ2F0aW9uLnByZXZpb3VzLmxhYmVsJztcblxuICAgIEBJbnB1dCgpXG4gICAgY29udGludWVMYXRlckxhYmVsID0gJ2ZvZWhuLW5hdmlnYXRpb24uY29udGludWUtbGF0ZXIubGFiZWwnO1xuXG4gICAgQElucHV0KClcbiAgICBjb250aW51ZUxhdGVyQWxyZWFkeVJlZ2lzdGVyZWRMYWJlbCA9XG4gICAgICAgICdmb2Vobi1uYXZpZ2F0aW9uLmNvbnRpbnVlLWxhdGVyLWFscmVhZHktcmVnaXN0ZXJlZC5sYWJlbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbnRpbnVlTGF0ZXJDb25uZWN0ZWRMYWJlbCA9XG4gICAgICAgICdmb2Vobi1uYXZpZ2F0aW9uLmNvbnRpbnVlLWxhdGVyLWNvbm5lY3RlZC5sYWJlbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dDb250aW51ZUxhdGVyQnV0dG9uID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvd05leHRCdXR0b24gPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICB0cmlnZ2VyUmVjb3ZlcnlPblBhZ2VDaGFuZ2UgPSBmYWxzZTtcblxuICAgIGdvVG9OZXh0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTmV4dC5lbWl0KCk7XG4gICAgfVxuXG4gICAgZ29Ub1ByZXZpb3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uUHJldmlvdXMuZW1pdCgpO1xuICAgIH1cblxuICAgIGNhblNob3dOZXh0QnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93TmV4dEJ1dHRvbjtcbiAgICB9XG59XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbmF2aWdhdGlvbi9hYnN0cmFjdC1mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd2RSxNQUFNLE9BQWdCLGdDQUFnQztJQUR0RDtRQUdJLCtEQUErRDtRQUMvRCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdsQywrREFBK0Q7UUFDL0QsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHdEMsY0FBUyxHQUFHLDZCQUE2QixDQUFDO1FBRzFDLGNBQVMsR0FBRyxpQ0FBaUMsQ0FBQztRQUc5Qyx1QkFBa0IsR0FBRyx1Q0FBdUMsQ0FBQztRQUc3RCx3Q0FBbUMsR0FDL0IsMERBQTBELENBQUM7UUFHL0QsZ0NBQTJCLEdBQ3ZCLGlEQUFpRCxDQUFDO1FBR3RELDRCQUF1QixHQUFHLElBQUksQ0FBQztRQUcvQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUd0QixnQ0FBMkIsR0FBRyxLQUFLLENBQUM7S0FhdkM7SUFYRyxRQUFRO1FBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGlCQUFpQjtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDOzs4SEE3Q2lCLGdDQUFnQztrSEFBaEMsZ0NBQWdDOzRGQUFoQyxnQ0FBZ0M7a0JBRHJELFNBQVM7O1FBR04sK0RBQStEO1FBQy9ELE1BQU07c0JBRkwsTUFBTTs7UUFLUCwrREFBK0Q7UUFDL0QsVUFBVTtzQkFGVCxNQUFNO2dCQUtQLFNBQVM7c0JBRFIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQUlOLG1DQUFtQztzQkFEbEMsS0FBSztnQkFLTiwyQkFBMkI7c0JBRDFCLEtBQUs7Z0JBS04sdUJBQXVCO3NCQUR0QixLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTiwyQkFBMkI7c0JBRDFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEZvZWhuTmF2aWdhdGlvbkNvbXBvbmVudCB7XG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgb25OZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgb25QcmV2aW91cyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgbmV4dExhYmVsID0gJ2ZvZWhuLW5hdmlnYXRpb24ubmV4dC5sYWJlbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIHByZXZMYWJlbCA9ICdmb2Vobi1uYXZpZ2F0aW9uLnByZXZpb3VzLmxhYmVsJztcblxuICAgIEBJbnB1dCgpXG4gICAgY29udGludWVMYXRlckxhYmVsID0gJ2ZvZWhuLW5hdmlnYXRpb24uY29udGludWUtbGF0ZXIubGFiZWwnO1xuXG4gICAgQElucHV0KClcbiAgICBjb250aW51ZUxhdGVyQWxyZWFkeVJlZ2lzdGVyZWRMYWJlbCA9XG4gICAgICAgICdmb2Vobi1uYXZpZ2F0aW9uLmNvbnRpbnVlLWxhdGVyLWFscmVhZHktcmVnaXN0ZXJlZC5sYWJlbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbnRpbnVlTGF0ZXJDb25uZWN0ZWRMYWJlbCA9XG4gICAgICAgICdmb2Vobi1uYXZpZ2F0aW9uLmNvbnRpbnVlLWxhdGVyLWNvbm5lY3RlZC5sYWJlbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dDb250aW51ZUxhdGVyQnV0dG9uID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvd05leHRCdXR0b24gPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICB0cmlnZ2VyUmVjb3ZlcnlPblBhZ2VDaGFuZ2UgPSBmYWxzZTtcblxuICAgIGdvVG9OZXh0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTmV4dC5lbWl0KCk7XG4gICAgfVxuXG4gICAgZ29Ub1ByZXZpb3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uUHJldmlvdXMuZW1pdCgpO1xuICAgIH1cblxuICAgIGNhblNob3dOZXh0QnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93TmV4dEJ1dHRvbjtcbiAgICB9XG59XG4iXX0=
@@ -52,12 +52,12 @@ export class FoehnNavigationComponent extends AbstractFoehnNavigationComponent {
52
52
  return this.navigationService.isLinearRouting();
53
53
  }
54
54
  }
55
- FoehnNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnNavigationComponent, deps: [{ token: i1.FoehnNavigationService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
56
- FoehnNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FoehnNavigationComponent, selector: "foehn-navigation", inputs: { transmitLabel: "transmitLabel" }, usesInheritance: true, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n [continueLaterAlreadyRegisteredLabel]=\"\n continueLaterAlreadyRegisteredLabel | fromDictionary\n \"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel | fromDictionary\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: i5.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "component", type: i6.GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["continueLaterLabel", "continueLaterAlreadyRegisteredLabel", "continueLaterConnectedLabel", "triggerOnPageChange"] }, { kind: "pipe", type: i7.SdkDictionaryPipe, name: "fromDictionary" }] });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnNavigationComponent, decorators: [{
55
+ FoehnNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FoehnNavigationComponent, deps: [{ token: i1.FoehnNavigationService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
56
+ FoehnNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FoehnNavigationComponent, selector: "foehn-navigation", inputs: { transmitLabel: "transmitLabel" }, usesInheritance: true, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n [continueLaterAlreadyRegisteredLabel]=\"\n continueLaterAlreadyRegisteredLabel | fromDictionary\n \"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel | fromDictionary\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: i5.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "component", type: i6.GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["continueLaterLabel", "continueLaterAlreadyRegisteredLabel", "continueLaterConnectedLabel", "triggerOnPageChange"] }, { kind: "pipe", type: i7.SdkDictionaryPipe, name: "fromDictionary" }] });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FoehnNavigationComponent, decorators: [{
58
58
  type: Component,
59
59
  args: [{ selector: 'foehn-navigation', template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n [continueLaterAlreadyRegisteredLabel]=\"\n continueLaterAlreadyRegisteredLabel | fromDictionary\n \"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel | fromDictionary\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"] }]
60
60
  }], ctorParameters: function () { return [{ type: i1.FoehnNavigationService }, { type: i2.ActivatedRoute }]; }, propDecorators: { transmitLabel: [{
61
61
  type: Input
62
62
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uL2ZvZWhuLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7QUFRMUYsTUFBTSxPQUFPLHdCQUNULFNBQVEsZ0NBQWdDO0lBS3hDLFlBQ1ksaUJBQXlDLEVBQ3pDLGNBQThCO1FBRXRDLEtBQUssRUFBRSxDQUFDO1FBSEEsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF3QjtRQUN6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFKMUMsa0JBQWEsR0FBRyxpQ0FBaUMsQ0FBQztJQU9sRCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM1RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdEIseUZBQXlGO1lBQ3pGLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDaEQsSUFBSSxjQUFjLEtBQUssSUFBSSxFQUFFO1lBQ3pCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQseUhBQXlIO1FBQ3pILHVEQUF1RDtRQUN2RCxPQUFPLGNBQWMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN4RSxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtRQUNkLHdGQUF3RjtRQUN4RixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3BELENBQUM7O3FIQXpEUSx3QkFBd0I7eUdBQXhCLHdCQUF3QiwySENYckMsaThHQW9GQTsyRkR6RWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLGtCQUFrQjswSUFRNUIsYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEFic3RyYWN0Rm9laG5OYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5OYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLW5hdmlnYXRpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tbmF2aWdhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuLi9mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb2Vobk5hdmlnYXRpb25Db21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0Rm9laG5OYXZpZ2F0aW9uQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgdHJhbnNtaXRMYWJlbCA9ICdmb2Vobi1uYXZpZ2F0aW9uLnRyYW5zbWl0LmxhYmVsJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG5hdmlnYXRpb25TZXJ2aWNlOiBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlLmFjdGl2YXRlZFJvdXRlID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZTtcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS51cGRhdGVSb3V0ZUluZm9ybWF0aW9ucygpO1xuICAgIH1cblxuICAgIGNhblNob3dOZXh0QnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuc2hvd05leHRCdXR0b24pIHtcbiAgICAgICAgICAgIC8vIEluIGNhc2UgdGhlIHVzZXIgZXhwbGljaXRseSBkaXNhYmxlIHRoZSBuZXh0IGJ1dHRvbiwgZm9yIHZhbGlkYXRpb24gb3IgZXJyb3IgcHVycG9zZXMuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXh0Um91dGVJbmRleCA9IHRoaXMuZ2V0TmV4dFJvdXRlSW5kZXgoKTtcbiAgICAgICAgaWYgKG5leHRSb3V0ZUluZGV4ID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGFzc3VtZXMgdGhhdCB0aGUgcm91dGUgb3JkZXJzIGFyZSBsb3dlciB0aGFuIHRoZSBsYXN0IG9uZS4gRm9yIGluc3RhbmNlIHRoZSBsYXN0IG9uZSBiZWluZyB0aGUgY29uZmlybWF0aW9uIHBhZ2UsXG4gICAgICAgIC8vIGl0cyBvcmRlciBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBhbGwgdGhlIG90aGVyIG9yZGVycy5cbiAgICAgICAgcmV0dXJuIG5leHRSb3V0ZUluZGV4IDw9IHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0TGFzdFJvdXRlT3JkZXIoKTtcbiAgICB9XG5cbiAgICBjYW5TaG93UHJldmlvdXNCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5pc0ZpcnN0Rm9ybVBhZ2UoKTtcbiAgICB9XG5cbiAgICBpc0xhc3RGb3JtUGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlcnZpY2UuaXNMYXN0Rm9ybVBhZ2UoKTtcbiAgICB9XG5cbiAgICBnZXROZXh0Um91dGVJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXROZXh0Um91dGVJbmRleCgpO1xuICAgIH1cblxuICAgIGdldFByZXZpb3VzUm91dGVJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRQcmV2aW91c1JvdXRlSW5kZXgoKTtcbiAgICB9XG5cbiAgICBnZXRUb3RhbFJvdXRlc1NpemUoKTogbnVtYmVyIHtcbiAgICAgICAgLy8gQXNzdW1lcyB0aGF0IGxhc3Qgcm91dGUgaXMgdGhlIGNvbmZpcm1hdGlvbiBwYWdlIGFuZCB0aHVzIGlzbid0IGNvbnNpZGVyZWQgYXMgYSBzdGVwLlxuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRUb3RhbFJvdXRlc1NpemUoKSAtIDE7XG4gICAgfVxuXG4gICAgaXNMaW5lYXJSb3V0aW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5pc0xpbmVhclJvdXRpbmcoKTtcbiAgICB9XG59XG4iLCI8Z2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb25cbiAgICAqbmdJZj1cInNob3dDb250aW51ZUxhdGVyQnV0dG9uXCJcbiAgICBbY29udGludWVMYXRlckxhYmVsXT1cImNvbnRpbnVlTGF0ZXJMYWJlbCB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICBbY29udGludWVMYXRlckFscmVhZHlSZWdpc3RlcmVkTGFiZWxdPVwiXG4gICAgICAgIGNvbnRpbnVlTGF0ZXJBbHJlYWR5UmVnaXN0ZXJlZExhYmVsIHwgZnJvbURpY3Rpb25hcnlcbiAgICBcIlxuICAgIFtjb250aW51ZUxhdGVyQ29ubmVjdGVkTGFiZWxdPVwiY29udGludWVMYXRlckNvbm5lY3RlZExhYmVsIHwgZnJvbURpY3Rpb25hcnlcIlxuICAgIFt0cmlnZ2VyT25QYWdlQ2hhbmdlXT1cInRyaWdnZXJSZWNvdmVyeU9uUGFnZUNoYW5nZVwiXG4+PC9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbj5cblxuPG5hdiBjbGFzcz1cInZkLXBhZ2luYXRpb25cIiBpZD1cImZvZWhuX25hdkNvbnRhaW5lclwiIGFyaWEtbGFiZWw9XCJQYWdpbmF0aW9uXCI+XG4gICAgPHVsIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGlzdFwiPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1wcmV2aW91c1wiXG4gICAgICAgICAgICAqbmdJZj1cImNhblNob3dQcmV2aW91c0J1dHRvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwicHJldkJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tbGluayB2ZC1wYWdpbmF0aW9uX19saW5rIHZkLXBhZ2luYXRpb25fX2xpbmstcmVzZXRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgZ29Ub1ByZXZpb3VzKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1sZWZ0XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1yLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZm9laG4taWNvbi1jaGV2cm9uLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgIHt7IHByZXZMYWJlbCB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiICpuZ0lmPVwiaXNMaW5lYXJSb3V0aW5nKClcIj46PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGFiZWxcIiAqbmdJZj1cImlzTGluZWFyUm91dGluZygpXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldFByZXZpb3VzUm91dGVJbmRleCgpIH19XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tbmF2aWdhdGlvbi5yb3V0ZS5pbmRleC5zZXBhcmF0b3InXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICB7eyBnZXRUb3RhbFJvdXRlc1NpemUoKSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1uZXh0XCJcbiAgICAgICAgICAgICpuZ0lmPVwiIWlzTGFzdEZvcm1QYWdlKCkgJiYgY2FuU2hvd05leHRCdXR0b24oKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBpZD1cIm5leHRCdXR0b25cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWxpbmsgdmQtcGFnaW5hdGlvbl9fbGluayB2ZC1wYWdpbmF0aW9uX19saW5rLXJlc2V0XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IGdvVG9OZXh0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbmV4dExhYmVsIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1yaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZvZWhuLWljb24tY2hldnJvbi1yaWdodD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCIgKm5nSWY9XCJpc0xpbmVhclJvdXRpbmcoKVwiPjo8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19sYWJlbFwiICpuZ0lmPVwiaXNMaW5lYXJSb3V0aW5nKClcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0TmV4dFJvdXRlSW5kZXgoKSB9fVxuICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLW5hdmlnYXRpb24ucm91dGUuaW5kZXguc2VwYXJhdG9yJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0VG90YWxSb3V0ZXNTaXplKCkgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpXG4gICAgICAgICAgICBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2l0ZW0gdmQtcGFnaW5hdGlvbl9faXRlbS0tbmV4dFwiXG4gICAgICAgICAgICAqbmdJZj1cImlzTGFzdEZvcm1QYWdlKCkgJiYgY2FuU2hvd05leHRCdXR0b24oKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImlzTGFzdEZvcm1QYWdlKCkgJiYgY2FuU2hvd05leHRCdXR0b24oKVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgaWQ9XCJ0cmFuc21pdEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9OZXh0KClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIHZkLWJ0bi1wYWdpbmF0aW9uLXN1Ym1pdFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdHJhbnNtaXRMYWJlbCB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuPC9uYXY+XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uL2ZvZWhuLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7QUFRMUYsTUFBTSxPQUFPLHdCQUNULFNBQVEsZ0NBQWdDO0lBS3hDLFlBQ1ksaUJBQXlDLEVBQ3pDLGNBQThCO1FBRXRDLEtBQUssRUFBRSxDQUFDO1FBSEEsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF3QjtRQUN6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFKMUMsa0JBQWEsR0FBRyxpQ0FBaUMsQ0FBQztJQU9sRCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM1RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdEIseUZBQXlGO1lBQ3pGLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDaEQsSUFBSSxjQUFjLEtBQUssSUFBSSxFQUFFO1lBQ3pCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQseUhBQXlIO1FBQ3pILHVEQUF1RDtRQUN2RCxPQUFPLGNBQWMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN4RSxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtRQUNkLHdGQUF3RjtRQUN4RixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3BELENBQUM7O3NIQXpEUSx3QkFBd0I7MEdBQXhCLHdCQUF3QiwySENYckMsaThHQW9GQTs0RkR6RWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLGtCQUFrQjswSUFRNUIsYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEFic3RyYWN0Rm9laG5OYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5OYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLW5hdmlnYXRpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tbmF2aWdhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuLi9mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb2Vobk5hdmlnYXRpb25Db21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0Rm9laG5OYXZpZ2F0aW9uQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgdHJhbnNtaXRMYWJlbCA9ICdmb2Vobi1uYXZpZ2F0aW9uLnRyYW5zbWl0LmxhYmVsJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG5hdmlnYXRpb25TZXJ2aWNlOiBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlLmFjdGl2YXRlZFJvdXRlID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZTtcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS51cGRhdGVSb3V0ZUluZm9ybWF0aW9ucygpO1xuICAgIH1cblxuICAgIGNhblNob3dOZXh0QnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuc2hvd05leHRCdXR0b24pIHtcbiAgICAgICAgICAgIC8vIEluIGNhc2UgdGhlIHVzZXIgZXhwbGljaXRseSBkaXNhYmxlIHRoZSBuZXh0IGJ1dHRvbiwgZm9yIHZhbGlkYXRpb24gb3IgZXJyb3IgcHVycG9zZXMuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXh0Um91dGVJbmRleCA9IHRoaXMuZ2V0TmV4dFJvdXRlSW5kZXgoKTtcbiAgICAgICAgaWYgKG5leHRSb3V0ZUluZGV4ID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGFzc3VtZXMgdGhhdCB0aGUgcm91dGUgb3JkZXJzIGFyZSBsb3dlciB0aGFuIHRoZSBsYXN0IG9uZS4gRm9yIGluc3RhbmNlIHRoZSBsYXN0IG9uZSBiZWluZyB0aGUgY29uZmlybWF0aW9uIHBhZ2UsXG4gICAgICAgIC8vIGl0cyBvcmRlciBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBhbGwgdGhlIG90aGVyIG9yZGVycy5cbiAgICAgICAgcmV0dXJuIG5leHRSb3V0ZUluZGV4IDw9IHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0TGFzdFJvdXRlT3JkZXIoKTtcbiAgICB9XG5cbiAgICBjYW5TaG93UHJldmlvdXNCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5pc0ZpcnN0Rm9ybVBhZ2UoKTtcbiAgICB9XG5cbiAgICBpc0xhc3RGb3JtUGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlcnZpY2UuaXNMYXN0Rm9ybVBhZ2UoKTtcbiAgICB9XG5cbiAgICBnZXROZXh0Um91dGVJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXROZXh0Um91dGVJbmRleCgpO1xuICAgIH1cblxuICAgIGdldFByZXZpb3VzUm91dGVJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRQcmV2aW91c1JvdXRlSW5kZXgoKTtcbiAgICB9XG5cbiAgICBnZXRUb3RhbFJvdXRlc1NpemUoKTogbnVtYmVyIHtcbiAgICAgICAgLy8gQXNzdW1lcyB0aGF0IGxhc3Qgcm91dGUgaXMgdGhlIGNvbmZpcm1hdGlvbiBwYWdlIGFuZCB0aHVzIGlzbid0IGNvbnNpZGVyZWQgYXMgYSBzdGVwLlxuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRUb3RhbFJvdXRlc1NpemUoKSAtIDE7XG4gICAgfVxuXG4gICAgaXNMaW5lYXJSb3V0aW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5pc0xpbmVhclJvdXRpbmcoKTtcbiAgICB9XG59XG4iLCI8Z2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb25cbiAgICAqbmdJZj1cInNob3dDb250aW51ZUxhdGVyQnV0dG9uXCJcbiAgICBbY29udGludWVMYXRlckxhYmVsXT1cImNvbnRpbnVlTGF0ZXJMYWJlbCB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICBbY29udGludWVMYXRlckFscmVhZHlSZWdpc3RlcmVkTGFiZWxdPVwiXG4gICAgICAgIGNvbnRpbnVlTGF0ZXJBbHJlYWR5UmVnaXN0ZXJlZExhYmVsIHwgZnJvbURpY3Rpb25hcnlcbiAgICBcIlxuICAgIFtjb250aW51ZUxhdGVyQ29ubmVjdGVkTGFiZWxdPVwiY29udGludWVMYXRlckNvbm5lY3RlZExhYmVsIHwgZnJvbURpY3Rpb25hcnlcIlxuICAgIFt0cmlnZ2VyT25QYWdlQ2hhbmdlXT1cInRyaWdnZXJSZWNvdmVyeU9uUGFnZUNoYW5nZVwiXG4+PC9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbj5cblxuPG5hdiBjbGFzcz1cInZkLXBhZ2luYXRpb25cIiBpZD1cImZvZWhuX25hdkNvbnRhaW5lclwiIGFyaWEtbGFiZWw9XCJQYWdpbmF0aW9uXCI+XG4gICAgPHVsIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGlzdFwiPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1wcmV2aW91c1wiXG4gICAgICAgICAgICAqbmdJZj1cImNhblNob3dQcmV2aW91c0J1dHRvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwicHJldkJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tbGluayB2ZC1wYWdpbmF0aW9uX19saW5rIHZkLXBhZ2luYXRpb25fX2xpbmstcmVzZXRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgZ29Ub1ByZXZpb3VzKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1sZWZ0XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1yLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZm9laG4taWNvbi1jaGV2cm9uLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgIHt7IHByZXZMYWJlbCB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiICpuZ0lmPVwiaXNMaW5lYXJSb3V0aW5nKClcIj46PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGFiZWxcIiAqbmdJZj1cImlzTGluZWFyUm91dGluZygpXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldFByZXZpb3VzUm91dGVJbmRleCgpIH19XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tbmF2aWdhdGlvbi5yb3V0ZS5pbmRleC5zZXBhcmF0b3InXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICB7eyBnZXRUb3RhbFJvdXRlc1NpemUoKSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1uZXh0XCJcbiAgICAgICAgICAgICpuZ0lmPVwiIWlzTGFzdEZvcm1QYWdlKCkgJiYgY2FuU2hvd05leHRCdXR0b24oKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBpZD1cIm5leHRCdXR0b25cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWxpbmsgdmQtcGFnaW5hdGlvbl9fbGluayB2ZC1wYWdpbmF0aW9uX19saW5rLXJlc2V0XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IGdvVG9OZXh0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbmV4dExhYmVsIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1yaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZvZWhuLWljb24tY2hldnJvbi1yaWdodD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCIgKm5nSWY9XCJpc0xpbmVhclJvdXRpbmcoKVwiPjo8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19sYWJlbFwiICpuZ0lmPVwiaXNMaW5lYXJSb3V0aW5nKClcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0TmV4dFJvdXRlSW5kZXgoKSB9fVxuICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLW5hdmlnYXRpb24ucm91dGUuaW5kZXguc2VwYXJhdG9yJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0VG90YWxSb3V0ZXNTaXplKCkgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpXG4gICAgICAgICAgICBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2l0ZW0gdmQtcGFnaW5hdGlvbl9faXRlbS0tbmV4dFwiXG4gICAgICAgICAgICAqbmdJZj1cImlzTGFzdEZvcm1QYWdlKCkgJiYgY2FuU2hvd05leHRCdXR0b24oKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImlzTGFzdEZvcm1QYWdlKCkgJiYgY2FuU2hvd05leHRCdXR0b24oKVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgaWQ9XCJ0cmFuc21pdEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9OZXh0KClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIHZkLWJ0bi1wYWdpbmF0aW9uLXN1Ym1pdFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdHJhbnNtaXRMYWJlbCB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuPC9uYXY+XG4iXX0=