valtech-components 4.0.961 → 4.0.963

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 (155) hide show
  1. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +3 -3
  2. package/esm2022/lib/components/atoms/box/box.component.mjs +3 -3
  3. package/esm2022/lib/components/atoms/button/button.component.mjs +3 -3
  4. package/esm2022/lib/components/atoms/countdown/countdown.component.mjs +3 -3
  5. package/esm2022/lib/components/atoms/display/display.component.mjs +3 -3
  6. package/esm2022/lib/components/atoms/divider/divider.component.mjs +3 -3
  7. package/esm2022/lib/components/atoms/href/href.component.mjs +3 -3
  8. package/esm2022/lib/components/atoms/icon/icon.component.mjs +3 -3
  9. package/esm2022/lib/components/atoms/image/image.component.mjs +3 -3
  10. package/esm2022/lib/components/atoms/notice/notice.component.mjs +7 -3
  11. package/esm2022/lib/components/atoms/notice/types.mjs +1 -1
  12. package/esm2022/lib/components/atoms/price-tag/price-tag.component.mjs +3 -3
  13. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +3 -3
  14. package/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +3 -3
  15. package/esm2022/lib/components/atoms/text/text.component.mjs +3 -3
  16. package/esm2022/lib/components/atoms/title/title.component.mjs +3 -3
  17. package/esm2022/lib/components/atoms/user-avatar/user-avatar.component.mjs +3 -3
  18. package/esm2022/lib/components/molecules/action-card/action-card.component.mjs +3 -3
  19. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +3 -3
  20. package/esm2022/lib/components/molecules/animal-card/animal-card.component.mjs +3 -3
  21. package/esm2022/lib/components/molecules/article-card/article-card.component.mjs +3 -3
  22. package/esm2022/lib/components/molecules/breadcrumb/breadcrumb.component.mjs +3 -3
  23. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +3 -3
  24. package/esm2022/lib/components/molecules/card/card.component.mjs +3 -3
  25. package/esm2022/lib/components/molecules/chat-composer/chat-composer.component.mjs +3 -3
  26. package/esm2022/lib/components/molecules/chat-input/chat-input.component.mjs +3 -3
  27. package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +3 -3
  28. package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +3 -3
  29. package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +3 -3
  30. package/esm2022/lib/components/molecules/comment/comment.component.mjs +4 -4
  31. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +3 -3
  32. package/esm2022/lib/components/molecules/content-reaction/content-reaction.component.mjs +3 -3
  33. package/esm2022/lib/components/molecules/conversation-list-item/conversation-list-item.component.mjs +3 -3
  34. package/esm2022/lib/components/molecules/currency-input/currency-input.component.mjs +3 -3
  35. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +3 -3
  36. package/esm2022/lib/components/molecules/date-picker/date-picker.component.mjs +3 -3
  37. package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +3 -3
  38. package/esm2022/lib/components/molecules/docs-breadcrumb/docs-breadcrumb.component.mjs +3 -3
  39. package/esm2022/lib/components/molecules/docs-code-example/docs-code-example.component.mjs +3 -3
  40. package/esm2022/lib/components/molecules/docs-nav-links/docs-nav-links.component.mjs +3 -3
  41. package/esm2022/lib/components/molecules/docs-search/docs-search.component.mjs +3 -3
  42. package/esm2022/lib/components/molecules/docs-section/docs-section.component.mjs +3 -3
  43. package/esm2022/lib/components/molecules/empty-state/empty-state.component.mjs +3 -3
  44. package/esm2022/lib/components/molecules/entity-card/entity-card.component.mjs +3 -3
  45. package/esm2022/lib/components/molecules/features-list/features-list.component.mjs +3 -3
  46. package/esm2022/lib/components/molecules/field-options-editor/field-options-editor.component.mjs +3 -3
  47. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +3 -3
  48. package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +4 -4
  49. package/esm2022/lib/components/molecules/hint/hint.component.mjs +3 -3
  50. package/esm2022/lib/components/molecules/layered-card/layered-card.component.mjs +3 -3
  51. package/esm2022/lib/components/molecules/link/link.component.mjs +3 -3
  52. package/esm2022/lib/components/molecules/linked-providers/linked-providers.component.mjs +3 -3
  53. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +3 -3
  54. package/esm2022/lib/components/molecules/media-object/media-object.component.mjs +3 -3
  55. package/esm2022/lib/components/molecules/message-bubble/message-bubble.component.mjs +3 -3
  56. package/esm2022/lib/components/molecules/metadata-list/metadata-list.component.mjs +3 -3
  57. package/esm2022/lib/components/molecules/metric-card/metric-card.component.mjs +3 -3
  58. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +3 -3
  59. package/esm2022/lib/components/molecules/number-stepper/number-stepper.component.mjs +3 -3
  60. package/esm2022/lib/components/molecules/operation-reference/operation-reference.component.mjs +3 -3
  61. package/esm2022/lib/components/molecules/option-cards/option-cards.component.mjs +3 -3
  62. package/esm2022/lib/components/molecules/page-links/page-links.component.mjs +3 -3
  63. package/esm2022/lib/components/molecules/pagination/pagination.component.mjs +3 -3
  64. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +3 -3
  65. package/esm2022/lib/components/molecules/permission-selector/permission-selector.component.mjs +3 -3
  66. package/esm2022/lib/components/molecules/phone-input/phone-input.component.mjs +3 -3
  67. package/esm2022/lib/components/molecules/pill/pill.component.mjs +3 -3
  68. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +3 -3
  69. package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +3 -3
  70. package/esm2022/lib/components/molecules/profile-card/profile-card.component.mjs +3 -3
  71. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +3 -3
  72. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +3 -3
  73. package/esm2022/lib/components/molecules/quote-box/quote-box.component.mjs +3 -3
  74. package/esm2022/lib/components/molecules/rating/rating.component.mjs +3 -3
  75. package/esm2022/lib/components/molecules/reaction-bar/reaction-bar.component.mjs +3 -3
  76. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +3 -3
  77. package/esm2022/lib/components/molecules/section-header/section-header.component.mjs +3 -3
  78. package/esm2022/lib/components/molecules/segment-control/segment-control.component.mjs +3 -3
  79. package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +3 -3
  80. package/esm2022/lib/components/molecules/select-search/select-search-picker-modal.component.mjs +3 -3
  81. package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +3 -3
  82. package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +4 -4
  83. package/esm2022/lib/components/molecules/swipe-carousel/swipe-carousel.component.mjs +3 -3
  84. package/esm2022/lib/components/molecules/tabs/tabs.component.mjs +3 -3
  85. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +3 -3
  86. package/esm2022/lib/components/molecules/textarea-input/textarea-input.component.mjs +3 -3
  87. package/esm2022/lib/components/molecules/ticket-card/ticket-card.component.mjs +3 -3
  88. package/esm2022/lib/components/molecules/timeline/timeline.component.mjs +3 -3
  89. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +3 -3
  90. package/esm2022/lib/components/molecules/typing-indicator/typing-indicator.component.mjs +3 -3
  91. package/esm2022/lib/components/molecules/usage-meters/usage-meters.component.mjs +3 -3
  92. package/esm2022/lib/components/molecules/username-input/username-input.component.mjs +3 -3
  93. package/esm2022/lib/components/organisms/about-view/about-view.component.mjs +3 -3
  94. package/esm2022/lib/components/organisms/access-request-view/access-request-view.component.mjs +3 -3
  95. package/esm2022/lib/components/organisms/api-keys-modal/api-keys-modal.component.mjs +3 -3
  96. package/esm2022/lib/components/organisms/api-keys-view/api-keys-view.component.mjs +3 -3
  97. package/esm2022/lib/components/organisms/article/article.component.mjs +3 -3
  98. package/esm2022/lib/components/organisms/attachment-uploader/attachment-uploader.component.mjs +3 -3
  99. package/esm2022/lib/components/organisms/auth-cta/auth-cta.component.mjs +3 -3
  100. package/esm2022/lib/components/organisms/banner/banner.component.mjs +3 -3
  101. package/esm2022/lib/components/organisms/bottom-nav/bottom-nav.component.mjs +3 -3
  102. package/esm2022/lib/components/organisms/chat-window/chat-window.component.mjs +3 -3
  103. package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +3 -3
  104. package/esm2022/lib/components/organisms/confirmation-dialog-v2/confirmation-dialog-v2.component.mjs +3 -3
  105. package/esm2022/lib/components/organisms/cookie-banner/cookie-banner.component.mjs +3 -3
  106. package/esm2022/lib/components/organisms/cookie-settings/cookie-settings.component.mjs +3 -3
  107. package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +3 -3
  108. package/esm2022/lib/components/organisms/docs-sidebar/docs-sidebar.component.mjs +3 -3
  109. package/esm2022/lib/components/organisms/docs-toc/docs-toc.component.mjs +3 -3
  110. package/esm2022/lib/components/organisms/faq/faq.component.mjs +3 -3
  111. package/esm2022/lib/components/organisms/field-list/field-list.component.mjs +3 -3
  112. package/esm2022/lib/components/organisms/folder-tabs/folder-tabs.component.mjs +3 -3
  113. package/esm2022/lib/components/organisms/form/form.component.mjs +3 -3
  114. package/esm2022/lib/components/organisms/fun-header/fun-header.component.mjs +3 -3
  115. package/esm2022/lib/components/organisms/group-members/group-members.component.mjs +3 -3
  116. package/esm2022/lib/components/organisms/header/header.component.mjs +3 -3
  117. package/esm2022/lib/components/organisms/infinite-list/infinite-list.component.mjs +3 -3
  118. package/esm2022/lib/components/organisms/invite-member-modal/invite-member-modal.component.mjs +3 -3
  119. package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +3 -3
  120. package/esm2022/lib/components/organisms/login/login.component.mjs +3 -3
  121. package/esm2022/lib/components/organisms/member-detail-modal/member-detail-modal.component.mjs +3 -3
  122. package/esm2022/lib/components/organisms/member-import-modal/member-import-modal.component.mjs +3 -3
  123. package/esm2022/lib/components/organisms/mfa-modal/mfa-modal.component.mjs +3 -3
  124. package/esm2022/lib/components/organisms/mini-games/bubble-blitz-game.component.mjs +3 -3
  125. package/esm2022/lib/components/organisms/mini-games/memory-game.component.mjs +3 -3
  126. package/esm2022/lib/components/organisms/mini-games/simon-game.component.mjs +3 -3
  127. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +3 -3
  128. package/esm2022/lib/components/organisms/notification-preferences-view/notification-preferences-view.component.mjs +3 -3
  129. package/esm2022/lib/components/organisms/notifications-view/notifications-view.component.mjs +3 -3
  130. package/esm2022/lib/components/organisms/option-sheet/option-sheet.component.mjs +3 -3
  131. package/esm2022/lib/components/organisms/org-info-sheet/org-info-sheet.component.mjs +3 -3
  132. package/esm2022/lib/components/organisms/organization-view/organization-view.component.mjs +3 -3
  133. package/esm2022/lib/components/organisms/permissions-view/permissions-view.component.mjs +3 -3
  134. package/esm2022/lib/components/organisms/qr-scanner/qr-scanner.component.mjs +3 -3
  135. package/esm2022/lib/components/organisms/request-review-panel/request-review-panel.component.mjs +5 -5
  136. package/esm2022/lib/components/organisms/role-manager/role-manager.component.mjs +3 -3
  137. package/esm2022/lib/components/organisms/rotating-text/rotating-text.component.mjs +3 -3
  138. package/esm2022/lib/components/organisms/share-profile-modal/share-profile-modal.component.mjs +3 -3
  139. package/esm2022/lib/components/organisms/thread-panel/thread-panel.component.mjs +3 -3
  140. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +3 -3
  141. package/esm2022/lib/components/organisms/verify-view/verify-view.component.mjs +3 -3
  142. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +3 -3
  143. package/esm2022/lib/components/templates/docs-layout/docs-layout.component.mjs +3 -3
  144. package/esm2022/lib/components/templates/docs-page/docs-page.component.mjs +3 -3
  145. package/esm2022/lib/components/templates/maintenance-page/maintenance-page.component.mjs +3 -3
  146. package/esm2022/lib/components/templates/simple/simple.component.mjs +3 -3
  147. package/esm2022/lib/version.mjs +2 -2
  148. package/fesm2022/valtech-components.mjs +300 -296
  149. package/fesm2022/valtech-components.mjs.map +1 -1
  150. package/lib/components/atoms/notice/types.d.ts +8 -5
  151. package/lib/version.d.ts +1 -1
  152. package/package.json +1 -1
  153. package/src/lib/components/styles/_docs-page.scss +1 -1
  154. package/src/lib/components/styles/overrides.scss +4 -4
  155. package/src/lib/components/styles/variables.scss +7 -7
@@ -218,7 +218,7 @@ export class PaginationComponent {
218
218
  <span class="page-info">{{ pageInfo() }}</span>
219
219
  }
220
220
  </nav>
221
- `, isInline: true, styles: [":host{display:block}.pagination-container{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.pagination-container.disabled{opacity:.5;pointer-events:none}ion-button{--padding-start: 8px;--padding-end: 8px;min-width:36px;font-weight:500}ion-button[size=small]{--padding-start: 6px;--padding-end: 6px;min-width:28px;font-size:.75rem}ion-button[size=large]{--padding-start: 12px;--padding-end: 12px;min-width:44px;font-size:1rem}.ellipsis{padding:0 8px;color:var(--ion-color-medium);font-size:.875rem}.page-info{margin-left:16px;color:var(--ion-color-medium);font-size:.875rem;white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
221
+ `, isInline: true, styles: [":host{display:block}.pagination-container{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.pagination-container.disabled{opacity:.5;pointer-events:none}ion-button{--padding-start: 8px;--padding-end: 8px;min-width:36px;font-weight:500}ion-button[size=small]{--padding-start: 6px;--padding-end: 6px;min-width:28px;font-size:.75rem}ion-button[size=large]{--padding-start: 12px;--padding-end: 12px;min-width:44px;font-size:1rem}.ellipsis{padding:0 8px;color:var(--ion-color-dark);font-size:.875rem}.page-info{margin-left:16px;color:var(--ion-color-dark);font-size:.875rem;white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
222
222
  }
223
223
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PaginationComponent, decorators: [{
224
224
  type: Component,
@@ -298,10 +298,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
298
298
  <span class="page-info">{{ pageInfo() }}</span>
299
299
  }
300
300
  </nav>
301
- `, styles: [":host{display:block}.pagination-container{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.pagination-container.disabled{opacity:.5;pointer-events:none}ion-button{--padding-start: 8px;--padding-end: 8px;min-width:36px;font-weight:500}ion-button[size=small]{--padding-start: 6px;--padding-end: 6px;min-width:28px;font-size:.75rem}ion-button[size=large]{--padding-start: 12px;--padding-end: 12px;min-width:44px;font-size:1rem}.ellipsis{padding:0 8px;color:var(--ion-color-medium);font-size:.875rem}.page-info{margin-left:16px;color:var(--ion-color-medium);font-size:.875rem;white-space:nowrap}\n"] }]
301
+ `, styles: [":host{display:block}.pagination-container{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.pagination-container.disabled{opacity:.5;pointer-events:none}ion-button{--padding-start: 8px;--padding-end: 8px;min-width:36px;font-weight:500}ion-button[size=small]{--padding-start: 6px;--padding-end: 6px;min-width:28px;font-size:.75rem}ion-button[size=large]{--padding-start: 12px;--padding-end: 12px;min-width:44px;font-size:1rem}.ellipsis{padding:0 8px;color:var(--ion-color-dark);font-size:.875rem}.page-info{margin-left:16px;color:var(--ion-color-dark);font-size:.875rem;white-space:nowrap}\n"] }]
302
302
  }], ctorParameters: () => [], propDecorators: { props: [{
303
303
  type: Input
304
304
  }], pageChange: [{
305
305
  type: Output
306
306
  }] } });
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxZQUFZLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFcEYsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUVqRTs7O0dBR0c7QUFDSCxNQUFNLGVBQWUsR0FBRztJQUN0QixFQUFFLEVBQUU7UUFDRixHQUFHLEVBQUUsWUFBWTtRQUNqQixLQUFLLEVBQUUsZ0JBQWdCO1FBQ3ZCLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixJQUFJLEVBQUUsZUFBZTtRQUNyQixJQUFJLEVBQUUsZUFBZTtRQUNyQixRQUFRLEVBQUUsNkJBQTZCO0tBQ3hDO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsR0FBRyxFQUFFLFlBQVk7UUFDakIsS0FBSyxFQUFFLFlBQVk7UUFDbkIsUUFBUSxFQUFFLGVBQWU7UUFDekIsSUFBSSxFQUFFLFdBQVc7UUFD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dCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTWV0YWRhdGEsIFBhZ2VDaGFuZ2VFdmVudCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBjaGV2cm9uQmFjaywgY2hldnJvbkZvcndhcmQsIHBsYXlCYWNrLCBwbGF5Rm9yd2FyZCB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuYWRkSWNvbnMoeyBjaGV2cm9uQmFjaywgY2hldnJvbkZvcndhcmQsIHBsYXlCYWNrLCBwbGF5Rm9yd2FyZCB9KTtcblxuLyoqXG4gKiBEZWZhdWx0cyBpMThuIChlcy9lbikg4oCUIGF1dG8tcmVnaXN0cmFkb3Mgc2kgZWwgY29uc3VtZXIgbm8gcHJvdmV5w7MgZWxcbiAqIG5hbWVzcGFjZSBgUGFnaW5hdGlvbmAuIEN1YnJlIGxvcyBhcmlhLWxhYmVsIGRlIGxhIG5hdmVnYWNpw7NuIHkgc3VzIGJvdG9uZXMuXG4gKi9cbmNvbnN0IFBBR0lOQVRJT05fSTE4TiA9IHtcbiAgZXM6IHtcbiAgICBuYXY6ICdQYWdpbmFjacOzbicsXG4gICAgZmlyc3Q6ICdQcmltZXJhIHDDoWdpbmEnLFxuICAgIHByZXZpb3VzOiAnUMOhZ2luYSBhbnRlcmlvcicsXG4gICAgbmV4dDogJ1DDoWdpbmEgc2lndWllbnRlJyxcbiAgICBsYXN0OiAnw5psdGltYSBww6FnaW5hJyxcbiAgICBwYWdlOiAnUMOhZ2luYSB7cGFnZX0nLFxuICAgIHBhZ2VJbmZvOiAnUMOhZ2luYSB7Y3VycmVudH0gZGUge3RvdGFsfScsXG4gIH0sXG4gIGVuOiB7XG4gICAgbmF2OiAnUGFnaW5hdGlvbicsXG4gICAgZmlyc3Q6ICdGaXJzdCBwYWdlJyxcbiAgICBwcmV2aW91czogJ1ByZXZpb3VzIHBhZ2UnLFxuICAgIG5leHQ6ICdOZXh0IHBhZ2UnLFxuICAgIGxhc3Q6ICdMYXN0IHBhZ2UnLFxuICAgIHBhZ2U6ICdQYWdlIHtwYWdlfScsXG4gICAgcGFnZUluZm86ICdQYWdlIHtjdXJyZW50fSBvZiB7dG90YWx9JyxcbiAgfSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1wYWdpbmF0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uQnV0dG9uLCBJb25JY29uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmF2IGNsYXNzPVwicGFnaW5hdGlvbi1jb250YWluZXJcIiBbY2xhc3MuZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInQoJ25hdicpXCI+XG4gICAgICBAaWYgKHByb3BzLnNob3dGaXJzdExhc3QgIT09IGZhbHNlKSB7XG4gICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICBbc2l6ZV09XCJwcm9wcy5zaXplIHx8ICdkZWZhdWx0J1wiXG4gICAgICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkIHx8IHByb3BzLmN1cnJlbnRQYWdlIDw9IDFcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidCgnZmlyc3QnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImdvVG9QYWdlKDEpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cInBsYXktYmFja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIH1cblxuICAgICAgQGlmIChwcm9wcy5zaG93UHJldk5leHQgIT09IGZhbHNlKSB7XG4gICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICBbc2l6ZV09XCJwcm9wcy5zaXplIHx8ICdkZWZhdWx0J1wiXG4gICAgICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkIHx8IHByb3BzLmN1cnJlbnRQYWdlIDw9IDFcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidCgncHJldmlvdXMnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImdvVG9QYWdlKHByb3BzLmN1cnJlbnRQYWdlIC0gMSlcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2hldnJvbi1iYWNrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgfVxuXG4gICAgICBAZm9yIChwYWdlIG9mIHZpc2libGVQYWdlczsgdHJhY2sgcGFnZSkge1xuICAgICAgICBAaWYgKHBhZ2UgPT09IC0xKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbGxpcHNpc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPi4uLjwvc3Bhbj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgIFtmaWxsXT1cInBhZ2UgPT09IHByb3BzLmN1cnJlbnRQYWdlID8gJ3NvbGlkJyA6ICdjbGVhcidcIlxuICAgICAgICAgICAgW3NpemVdPVwicHJvcHMuc2l6ZSB8fCAnZGVmYXVsdCdcIlxuICAgICAgICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJwYWdlTGFiZWwocGFnZSlcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cInBhZ2UgPT09IHByb3BzLmN1cnJlbnRQYWdlID8gJ3BhZ2UnIDogbnVsbFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZ29Ub1BhZ2UocGFnZSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHBhZ2UgfX1cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmIChwcm9wcy5zaG93UHJldk5leHQgIT09IGZhbHNlKSB7XG4gICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICBbc2l6ZV09XCJwcm9wcy5zaXplIHx8ICdkZWZhdWx0J1wiXG4gICAgICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkIHx8IHByb3BzLmN1cnJlbnRQYWdlID49IHRvdGFsUGFnZXNcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidCgnbmV4dCcpXCJcbiAgICAgICAgICAoY2xpY2spPVwiZ29Ub1BhZ2UocHJvcHMuY3VycmVudFBhZ2UgKyAxKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjaGV2cm9uLWZvcndhcmRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICB9XG5cbiAgICAgIEBpZiAocHJvcHMuc2hvd0ZpcnN0TGFzdCAhPT0gZmFsc2UpIHtcbiAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgIFtzaXplXT1cInByb3BzLnNpemUgfHwgJ2RlZmF1bHQnXCJcbiAgICAgICAgICBbY29sb3JdPVwicHJvcHMuY29sb3IgfHwgJ3ByaW1hcnknXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWQgfHwgcHJvcHMuY3VycmVudFBhZ2UgPj0gdG90YWxQYWdlc1wiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0KCdsYXN0JylcIlxuICAgICAgICAgIChjbGljayk9XCJnb1RvUGFnZSh0b3RhbFBhZ2VzKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJwbGF5LWZvcndhcmRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICB9XG5cbiAgICAgIEBpZiAocHJvcHMuc2hvd1BhZ2VJbmZvKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicGFnZS1pbmZvXCI+e3sgcGFnZUluZm8oKSB9fTwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L25hdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLXBhZ2luYXRpb25cbiAqXG4gKiBBIHBhZ2luYXRpb24gY29tcG9uZW50IGZvciBuYXZpZ2F0aW5nIHRocm91Z2ggcGFnZWQgY29udGVudC5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogPHZhbC1wYWdpbmF0aW9uIFtwcm9wc109XCJ7XG4gKiAgIGN1cnJlbnRQYWdlOiAxLFxuICogICB0b3RhbFBhZ2VzOiAxMCxcbiAqICAgc2hvd1BhZ2VJbmZvOiB0cnVlXG4gKiB9XCIgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIj48L3ZhbC1wYWdpbmF0aW9uPlxuICpcbiAqIEBleGFtcGxlIFdpdGggdG90YWwgaXRlbXNcbiAqIDx2YWwtcGFnaW5hdGlvbiBbcHJvcHNdPVwie1xuICogICBjdXJyZW50UGFnZTogMSxcbiAqICAgdG90YWxJdGVtczogMTAwLFxuICogICBwYWdlU2l6ZTogMTAsXG4gKiAgIG1heFZpc2libGVQYWdlczogNVxuICogfVwiPjwvdmFsLXBhZ2luYXRpb24+XG4gKlxuICogQGlucHV0IHByb3BzOiBQYWdpbmF0aW9uTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciBwYWdpbmF0aW9uXG4gKiBAb3V0cHV0IHBhZ2VDaGFuZ2U6IFBhZ2VDaGFuZ2VFdmVudCAtIEVtaXRzIHdoZW4gcGFnZSBjaGFuZ2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICBASW5wdXQoKSBwcm9wczogUGFnaW5hdGlvbk1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQYWdlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgdmlzaWJsZVBhZ2VzOiBudW1iZXJbXSA9IFtdO1xuICB0b3RhbFBhZ2VzOiBudW1iZXIgPSAxO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKCdQYWdpbmF0aW9uJywgUEFHSU5BVElPTl9JMThOKTtcbiAgfVxuXG4gIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgJ1BhZ2luYXRpb24nKTtcbiAgfVxuXG4gIHBhZ2VMYWJlbChwYWdlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdwYWdlJywgJ1BhZ2luYXRpb24nLCB7IHBhZ2U6IHBhZ2UudG9TdHJpbmcoKSB9KTtcbiAgfVxuXG4gIHBhZ2VJbmZvKCk6IHN0cmluZyB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoJ3BhZ2VJbmZvJywgJ1BhZ2luYXRpb24nLCB7XG4gICAgICBjdXJyZW50OiB0aGlzLnByb3BzLmN1cnJlbnRQYWdlLnRvU3RyaW5nKCksXG4gICAgICB0b3RhbDogdGhpcy50b3RhbFBhZ2VzLnRvU3RyaW5nKCksXG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3Byb3BzJ10pIHtcbiAgICAgIHRoaXMuY2FsY3VsYXRlVG90YWxQYWdlcygpO1xuICAgICAgdGhpcy5jYWxjdWxhdGVWaXNpYmxlUGFnZXMoKTtcbiAgICB9XG4gIH1cblxuICBnb1RvUGFnZShwYWdlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAocGFnZSA8IDEgfHwgcGFnZSA+IHRoaXMudG90YWxQYWdlcyB8fCBwYWdlID09PSB0aGlzLnByb3BzLmN1cnJlbnRQYWdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZXZlbnQ6IFBhZ2VDaGFuZ2VFdmVudCA9IHtcbiAgICAgIHBhZ2UsXG4gICAgICBwcmV2aW91c1BhZ2U6IHRoaXMucHJvcHMuY3VycmVudFBhZ2UsXG4gICAgICBwYWdlU2l6ZTogdGhpcy5wcm9wcy5wYWdlU2l6ZSB8fCAxMCxcbiAgICB9O1xuXG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVUb3RhbFBhZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLnRvdGFsUGFnZXMpIHtcbiAgICAgIHRoaXMudG90YWxQYWdlcyA9IHRoaXMucHJvcHMudG90YWxQYWdlcztcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvcHMudG90YWxJdGVtcyAmJiB0aGlzLnByb3BzLnBhZ2VTaXplKSB7XG4gICAgICB0aGlzLnRvdGFsUGFnZXMgPSBNYXRoLmNlaWwodGhpcy5wcm9wcy50b3RhbEl0ZW1zIC8gdGhpcy5wcm9wcy5wYWdlU2l6ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudG90YWxQYWdlcyA9IDE7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVWaXNpYmxlUGFnZXMoKTogdm9pZCB7XG4gICAgY29uc3QgbWF4VmlzaWJsZSA9IHRoaXMucHJvcHMubWF4VmlzaWJsZVBhZ2VzIHx8IDU7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMucHJvcHMuY3VycmVudFBhZ2U7XG4gICAgY29uc3QgdG90YWwgPSB0aGlzLnRvdGFsUGFnZXM7XG5cbiAgICBpZiAodG90YWwgPD0gbWF4VmlzaWJsZSkge1xuICAgICAgdGhpcy52aXNpYmxlUGFnZXMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0b3RhbCB9LCAoXywgaSkgPT4gaSArIDEpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBhZ2VzOiBudW1iZXJbXSA9IFtdO1xuICAgIGNvbnN0IGhhbGYgPSBNYXRoLmZsb29yKG1heFZpc2libGUgLyAyKTtcblxuICAgIGxldCBzdGFydCA9IE1hdGgubWF4KDEsIGN1cnJlbnQgLSBoYWxmKTtcbiAgICBsZXQgZW5kID0gTWF0aC5taW4odG90YWwsIHN0YXJ0ICsgbWF4VmlzaWJsZSAtIDEpO1xuXG4gICAgaWYgKGVuZCAtIHN0YXJ0IDwgbWF4VmlzaWJsZSAtIDEpIHtcbiAgICAgIHN0YXJ0ID0gTWF0aC5tYXgoMSwgZW5kIC0gbWF4VmlzaWJsZSArIDEpO1xuICAgIH1cblxuICAgIC8vIEFsd2F5cyBzaG93IGZpcnN0IHBhZ2VcbiAgICBpZiAoc3RhcnQgPiAxKSB7XG4gICAgICBwYWdlcy5wdXNoKDEpO1xuICAgICAgaWYgKHN0YXJ0ID4gMikge1xuICAgICAgICBwYWdlcy5wdXNoKC0xKTsgLy8gRWxsaXBzaXNcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNaWRkbGUgcGFnZXNcbiAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHtcbiAgICAgIGlmICghcGFnZXMuaW5jbHVkZXMoaSkpIHtcbiAgICAgICAgcGFnZXMucHVzaChpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbHdheXMgc2hvdyBsYXN0IHBhZ2VcbiAgICBpZiAoZW5kIDwgdG90YWwpIHtcbiAgICAgIGlmIChlbmQgPCB0b3RhbCAtIDEpIHtcbiAgICAgICAgcGFnZXMucHVzaCgtMSk7IC8vIEVsbGlwc2lzXG4gICAgICB9XG4gICAgICBwYWdlcy5wdXNoKHRvdGFsKTtcbiAgICB9XG5cbiAgICB0aGlzLnZpc2libGVQYWdlcyA9IHBhZ2VzO1xuICB9XG59XG4iXX0=
307
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxZQUFZLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFcEYsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUVqRTs7O0dBR0c7QUFDSCxNQUFNLGVBQWUsR0FBRztJQUN0QixFQUFFLEVBQUU7UUFDRixHQUFHLEVBQUUsWUFBWTtRQUNqQixLQUFLLEVBQUUsZ0JBQWdCO1FBQ3ZCLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixJQUFJLEVBQUUsZUFBZTtRQUNyQixJQUFJLEVBQUUsZUFBZTtRQUNyQixRQUFRLEVBQUUsNkJBQTZCO0tBQ3hDO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsR0FBRyxFQUFFLFlBQVk7UUFDakIsS0FBSyxFQUFFLFlBQVk7UUFDbkIsUUFBUSxFQUFFLGVBQWU7UUFDekIsSUFBSSxFQUFFLFdBQVc7UUFD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dCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTWV0YWRhdGEsIFBhZ2VDaGFuZ2VFdmVudCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBjaGV2cm9uQmFjaywgY2hldnJvbkZvcndhcmQsIHBsYXlCYWNrLCBwbGF5Rm9yd2FyZCB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuYWRkSWNvbnMoeyBjaGV2cm9uQmFjaywgY2hldnJvbkZvcndhcmQsIHBsYXlCYWNrLCBwbGF5Rm9yd2FyZCB9KTtcblxuLyoqXG4gKiBEZWZhdWx0cyBpMThuIChlcy9lbikg4oCUIGF1dG8tcmVnaXN0cmFkb3Mgc2kgZWwgY29uc3VtZXIgbm8gcHJvdmV5w7MgZWxcbiAqIG5hbWVzcGFjZSBgUGFnaW5hdGlvbmAuIEN1YnJlIGxvcyBhcmlhLWxhYmVsIGRlIGxhIG5hdmVnYWNpw7NuIHkgc3VzIGJvdG9uZXMuXG4gKi9cbmNvbnN0IFBBR0lOQVRJT05fSTE4TiA9IHtcbiAgZXM6IHtcbiAgICBuYXY6ICdQYWdpbmFjacOzbicsXG4gICAgZmlyc3Q6ICdQcmltZXJhIHDDoWdpbmEnLFxuICAgIHByZXZpb3VzOiAnUMOhZ2luYSBhbnRlcmlvcicsXG4gICAgbmV4dDogJ1DDoWdpbmEgc2lndWllbnRlJyxcbiAgICBsYXN0OiAnw5psdGltYSBww6FnaW5hJyxcbiAgICBwYWdlOiAnUMOhZ2luYSB7cGFnZX0nLFxuICAgIHBhZ2VJbmZvOiAnUMOhZ2luYSB7Y3VycmVudH0gZGUge3RvdGFsfScsXG4gIH0sXG4gIGVuOiB7XG4gICAgbmF2OiAnUGFnaW5hdGlvbicsXG4gICAgZmlyc3Q6ICdGaXJzdCBwYWdlJyxcbiAgICBwcmV2aW91czogJ1ByZXZpb3VzIHBhZ2UnLFxuICAgIG5leHQ6ICdOZXh0IHBhZ2UnLFxuICAgIGxhc3Q6ICdMYXN0IHBhZ2UnLFxuICAgIHBhZ2U6ICdQYWdlIHtwYWdlfScsXG4gICAgcGFnZUluZm86ICdQYWdlIHtjdXJyZW50fSBvZiB7dG90YWx9JyxcbiAgfSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1wYWdpbmF0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uQnV0dG9uLCBJb25JY29uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmF2IGNsYXNzPVwicGFnaW5hdGlvbi1jb250YWluZXJcIiBbY2xhc3MuZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInQoJ25hdicpXCI+XG4gICAgICBAaWYgKHByb3BzLnNob3dGaXJzdExhc3QgIT09IGZhbHNlKSB7XG4gICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICBbc2l6ZV09XCJwcm9wcy5zaXplIHx8ICdkZWZhdWx0J1wiXG4gICAgICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkIHx8IHByb3BzLmN1cnJlbnRQYWdlIDw9IDFcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidCgnZmlyc3QnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImdvVG9QYWdlKDEpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cInBsYXktYmFja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIH1cblxuICAgICAgQGlmIChwcm9wcy5zaG93UHJldk5leHQgIT09IGZhbHNlKSB7XG4gICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICBbc2l6ZV09XCJwcm9wcy5zaXplIHx8ICdkZWZhdWx0J1wiXG4gICAgICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkIHx8IHByb3BzLmN1cnJlbnRQYWdlIDw9IDFcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidCgncHJldmlvdXMnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImdvVG9QYWdlKHByb3BzLmN1cnJlbnRQYWdlIC0gMSlcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2hldnJvbi1iYWNrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgfVxuXG4gICAgICBAZm9yIChwYWdlIG9mIHZpc2libGVQYWdlczsgdHJhY2sgcGFnZSkge1xuICAgICAgICBAaWYgKHBhZ2UgPT09IC0xKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbGxpcHNpc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPi4uLjwvc3Bhbj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgIFtmaWxsXT1cInBhZ2UgPT09IHByb3BzLmN1cnJlbnRQYWdlID8gJ3NvbGlkJyA6ICdjbGVhcidcIlxuICAgICAgICAgICAgW3NpemVdPVwicHJvcHMuc2l6ZSB8fCAnZGVmYXVsdCdcIlxuICAgICAgICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJwYWdlTGFiZWwocGFnZSlcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cInBhZ2UgPT09IHByb3BzLmN1cnJlbnRQYWdlID8gJ3BhZ2UnIDogbnVsbFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZ29Ub1BhZ2UocGFnZSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHBhZ2UgfX1cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmIChwcm9wcy5zaG93UHJldk5leHQgIT09IGZhbHNlKSB7XG4gICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICBbc2l6ZV09XCJwcm9wcy5zaXplIHx8ICdkZWZhdWx0J1wiXG4gICAgICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkIHx8IHByb3BzLmN1cnJlbnRQYWdlID49IHRvdGFsUGFnZXNcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidCgnbmV4dCcpXCJcbiAgICAgICAgICAoY2xpY2spPVwiZ29Ub1BhZ2UocHJvcHMuY3VycmVudFBhZ2UgKyAxKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjaGV2cm9uLWZvcndhcmRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICB9XG5cbiAgICAgIEBpZiAocHJvcHMuc2hvd0ZpcnN0TGFzdCAhPT0gZmFsc2UpIHtcbiAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgIFtzaXplXT1cInByb3BzLnNpemUgfHwgJ2RlZmF1bHQnXCJcbiAgICAgICAgICBbY29sb3JdPVwicHJvcHMuY29sb3IgfHwgJ3ByaW1hcnknXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWQgfHwgcHJvcHMuY3VycmVudFBhZ2UgPj0gdG90YWxQYWdlc1wiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0KCdsYXN0JylcIlxuICAgICAgICAgIChjbGljayk9XCJnb1RvUGFnZSh0b3RhbFBhZ2VzKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJwbGF5LWZvcndhcmRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICB9XG5cbiAgICAgIEBpZiAocHJvcHMuc2hvd1BhZ2VJbmZvKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicGFnZS1pbmZvXCI+e3sgcGFnZUluZm8oKSB9fTwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L25hdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLXBhZ2luYXRpb25cbiAqXG4gKiBBIHBhZ2luYXRpb24gY29tcG9uZW50IGZvciBuYXZpZ2F0aW5nIHRocm91Z2ggcGFnZWQgY29udGVudC5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogPHZhbC1wYWdpbmF0aW9uIFtwcm9wc109XCJ7XG4gKiAgIGN1cnJlbnRQYWdlOiAxLFxuICogICB0b3RhbFBhZ2VzOiAxMCxcbiAqICAgc2hvd1BhZ2VJbmZvOiB0cnVlXG4gKiB9XCIgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIj48L3ZhbC1wYWdpbmF0aW9uPlxuICpcbiAqIEBleGFtcGxlIFdpdGggdG90YWwgaXRlbXNcbiAqIDx2YWwtcGFnaW5hdGlvbiBbcHJvcHNdPVwie1xuICogICBjdXJyZW50UGFnZTogMSxcbiAqICAgdG90YWxJdGVtczogMTAwLFxuICogICBwYWdlU2l6ZTogMTAsXG4gKiAgIG1heFZpc2libGVQYWdlczogNVxuICogfVwiPjwvdmFsLXBhZ2luYXRpb24+XG4gKlxuICogQGlucHV0IHByb3BzOiBQYWdpbmF0aW9uTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciBwYWdpbmF0aW9uXG4gKiBAb3V0cHV0IHBhZ2VDaGFuZ2U6IFBhZ2VDaGFuZ2VFdmVudCAtIEVtaXRzIHdoZW4gcGFnZSBjaGFuZ2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICBASW5wdXQoKSBwcm9wczogUGFnaW5hdGlvbk1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQYWdlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgdmlzaWJsZVBhZ2VzOiBudW1iZXJbXSA9IFtdO1xuICB0b3RhbFBhZ2VzOiBudW1iZXIgPSAxO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKCdQYWdpbmF0aW9uJywgUEFHSU5BVElPTl9JMThOKTtcbiAgfVxuXG4gIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgJ1BhZ2luYXRpb24nKTtcbiAgfVxuXG4gIHBhZ2VMYWJlbChwYWdlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdwYWdlJywgJ1BhZ2luYXRpb24nLCB7IHBhZ2U6IHBhZ2UudG9TdHJpbmcoKSB9KTtcbiAgfVxuXG4gIHBhZ2VJbmZvKCk6IHN0cmluZyB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoJ3BhZ2VJbmZvJywgJ1BhZ2luYXRpb24nLCB7XG4gICAgICBjdXJyZW50OiB0aGlzLnByb3BzLmN1cnJlbnRQYWdlLnRvU3RyaW5nKCksXG4gICAgICB0b3RhbDogdGhpcy50b3RhbFBhZ2VzLnRvU3RyaW5nKCksXG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3Byb3BzJ10pIHtcbiAgICAgIHRoaXMuY2FsY3VsYXRlVG90YWxQYWdlcygpO1xuICAgICAgdGhpcy5jYWxjdWxhdGVWaXNpYmxlUGFnZXMoKTtcbiAgICB9XG4gIH1cblxuICBnb1RvUGFnZShwYWdlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAocGFnZSA8IDEgfHwgcGFnZSA+IHRoaXMudG90YWxQYWdlcyB8fCBwYWdlID09PSB0aGlzLnByb3BzLmN1cnJlbnRQYWdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZXZlbnQ6IFBhZ2VDaGFuZ2VFdmVudCA9IHtcbiAgICAgIHBhZ2UsXG4gICAgICBwcmV2aW91c1BhZ2U6IHRoaXMucHJvcHMuY3VycmVudFBhZ2UsXG4gICAgICBwYWdlU2l6ZTogdGhpcy5wcm9wcy5wYWdlU2l6ZSB8fCAxMCxcbiAgICB9O1xuXG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVUb3RhbFBhZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLnRvdGFsUGFnZXMpIHtcbiAgICAgIHRoaXMudG90YWxQYWdlcyA9IHRoaXMucHJvcHMudG90YWxQYWdlcztcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvcHMudG90YWxJdGVtcyAmJiB0aGlzLnByb3BzLnBhZ2VTaXplKSB7XG4gICAgICB0aGlzLnRvdGFsUGFnZXMgPSBNYXRoLmNlaWwodGhpcy5wcm9wcy50b3RhbEl0ZW1zIC8gdGhpcy5wcm9wcy5wYWdlU2l6ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudG90YWxQYWdlcyA9IDE7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVWaXNpYmxlUGFnZXMoKTogdm9pZCB7XG4gICAgY29uc3QgbWF4VmlzaWJsZSA9IHRoaXMucHJvcHMubWF4VmlzaWJsZVBhZ2VzIHx8IDU7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMucHJvcHMuY3VycmVudFBhZ2U7XG4gICAgY29uc3QgdG90YWwgPSB0aGlzLnRvdGFsUGFnZXM7XG5cbiAgICBpZiAodG90YWwgPD0gbWF4VmlzaWJsZSkge1xuICAgICAgdGhpcy52aXNpYmxlUGFnZXMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0b3RhbCB9LCAoXywgaSkgPT4gaSArIDEpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBhZ2VzOiBudW1iZXJbXSA9IFtdO1xuICAgIGNvbnN0IGhhbGYgPSBNYXRoLmZsb29yKG1heFZpc2libGUgLyAyKTtcblxuICAgIGxldCBzdGFydCA9IE1hdGgubWF4KDEsIGN1cnJlbnQgLSBoYWxmKTtcbiAgICBsZXQgZW5kID0gTWF0aC5taW4odG90YWwsIHN0YXJ0ICsgbWF4VmlzaWJsZSAtIDEpO1xuXG4gICAgaWYgKGVuZCAtIHN0YXJ0IDwgbWF4VmlzaWJsZSAtIDEpIHtcbiAgICAgIHN0YXJ0ID0gTWF0aC5tYXgoMSwgZW5kIC0gbWF4VmlzaWJsZSArIDEpO1xuICAgIH1cblxuICAgIC8vIEFsd2F5cyBzaG93IGZpcnN0IHBhZ2VcbiAgICBpZiAoc3RhcnQgPiAxKSB7XG4gICAgICBwYWdlcy5wdXNoKDEpO1xuICAgICAgaWYgKHN0YXJ0ID4gMikge1xuICAgICAgICBwYWdlcy5wdXNoKC0xKTsgLy8gRWxsaXBzaXNcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNaWRkbGUgcGFnZXNcbiAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHtcbiAgICAgIGlmICghcGFnZXMuaW5jbHVkZXMoaSkpIHtcbiAgICAgICAgcGFnZXMucHVzaChpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbHdheXMgc2hvdyBsYXN0IHBhZ2VcbiAgICBpZiAoZW5kIDwgdG90YWwpIHtcbiAgICAgIGlmIChlbmQgPCB0b3RhbCAtIDEpIHtcbiAgICAgICAgcGFnZXMucHVzaCgtMSk7IC8vIEVsbGlwc2lzXG4gICAgICB9XG4gICAgICBwYWdlcy5wdXNoKHRvdGFsKTtcbiAgICB9XG5cbiAgICB0aGlzLnZpc2libGVQYWdlcyA9IHBhZ2VzO1xuICB9XG59XG4iXX0=
@@ -96,7 +96,7 @@ export class PasswordInputComponent {
96
96
  ></ion-icon>
97
97
  </ion-button>
98
98
  </div>
99
- `, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.container--sticky-footer{--val-form-sticky-footer-space: 7rem;padding-bottom:calc(var(--val-form-sticky-footer-space) + env(safe-area-inset-bottom))}.section{margin-top:1rem}.input{margin:var(--val-form-field-gap, .5rem) 0}@media (min-width: 768px){.input{margin:var(--val-form-field-gap, .75rem) 0}}.submit-actions{display:block;width:100%;box-sizing:border-box}.submit-actions--sticky{position:sticky;bottom:0;z-index:20;width:calc(100% + var(--val-form-sticky-footer-bleed, 0px) * 2);margin-inline:calc(var(--val-form-sticky-footer-bleed, 0px) * -1);background:var(--ion-card-background, var(--ion-background-color, #ffffff));border-top:1px solid var(--ion-color-step-150, rgba(0, 0, 0, .08));box-shadow:0 -.25rem 1rem rgba(var(--ion-text-color-rgb, 0, 0, 0),.08);padding:.75rem var(--val-form-sticky-footer-inline-padding, var(--val-form-sticky-footer-bleed, 0px)) max(.75rem,env(safe-area-inset-bottom));isolation:isolate;transform:translateZ(0)}.field-description{display:block;font-size:.75rem;color:var(--ion-color-dark);margin-bottom:.25rem;line-height:1.4}.email-suggestion{margin:6px 0 0;font-size:.875rem;color:var(--ion-text-color, #000)}.email-suggestion__apply{padding:0;margin-left:4px;background:none;border:none;font:inherit;font-weight:700;color:var(--ion-color-primary);text-decoration:underline;cursor:pointer}.input-container{display:flex;align-items:center;flex-direction:row}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
99
+ `, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-dark: #9e9e9e;--ion-color-dark-rgb: 158, 158, 158;--ion-color-dark-contrast: #000000;--ion-color-dark-contrast-rgb: 0, 0, 0;--ion-color-dark-shade: #8b8b8b;--ion-color-dark-tint: #a8a8a8;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.container--sticky-footer{--val-form-sticky-footer-space: 7rem;padding-bottom:calc(var(--val-form-sticky-footer-space) + env(safe-area-inset-bottom))}.section{margin-top:1rem}.input{margin:var(--val-form-field-gap, .5rem) 0}@media (min-width: 768px){.input{margin:var(--val-form-field-gap, .75rem) 0}}.submit-actions{display:block;width:100%;box-sizing:border-box}.submit-actions--sticky{position:sticky;bottom:0;z-index:20;width:calc(100% + var(--val-form-sticky-footer-bleed, 0px) * 2);margin-inline:calc(var(--val-form-sticky-footer-bleed, 0px) * -1);background:var(--ion-card-background, var(--ion-background-color, #ffffff));border-top:1px solid var(--ion-color-step-150, rgba(0, 0, 0, .08));box-shadow:0 -.25rem 1rem rgba(var(--ion-text-color-rgb, 0, 0, 0),.08);padding:.75rem var(--val-form-sticky-footer-inline-padding, var(--val-form-sticky-footer-bleed, 0px)) max(.75rem,env(safe-area-inset-bottom));isolation:isolate;transform:translateZ(0)}.field-description{display:block;font-size:.75rem;color:var(--ion-color-dark);margin-bottom:.25rem;line-height:1.4}.email-suggestion{margin:6px 0 0;font-size:.875rem;color:var(--ion-text-color, #000)}.email-suggestion__apply{padding:0;margin-left:4px;background:none;border:none;font:inherit;font-weight:700;color:var(--ion-color-primary);text-decoration:underline;cursor:pointer}.input-container{display:flex;align-items:center;flex-direction:row}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
100
100
  }
101
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordInputComponent, decorators: [{
102
102
  type: Component,
@@ -123,10 +123,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
123
123
  ></ion-icon>
124
124
  </ion-button>
125
125
  </div>
126
- `, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.container--sticky-footer{--val-form-sticky-footer-space: 7rem;padding-bottom:calc(var(--val-form-sticky-footer-space) + env(safe-area-inset-bottom))}.section{margin-top:1rem}.input{margin:var(--val-form-field-gap, .5rem) 0}@media (min-width: 768px){.input{margin:var(--val-form-field-gap, .75rem) 0}}.submit-actions{display:block;width:100%;box-sizing:border-box}.submit-actions--sticky{position:sticky;bottom:0;z-index:20;width:calc(100% + var(--val-form-sticky-footer-bleed, 0px) * 2);margin-inline:calc(var(--val-form-sticky-footer-bleed, 0px) * -1);background:var(--ion-card-background, var(--ion-background-color, #ffffff));border-top:1px solid var(--ion-color-step-150, rgba(0, 0, 0, .08));box-shadow:0 -.25rem 1rem rgba(var(--ion-text-color-rgb, 0, 0, 0),.08);padding:.75rem var(--val-form-sticky-footer-inline-padding, var(--val-form-sticky-footer-bleed, 0px)) max(.75rem,env(safe-area-inset-bottom));isolation:isolate;transform:translateZ(0)}.field-description{display:block;font-size:.75rem;color:var(--ion-color-dark);margin-bottom:.25rem;line-height:1.4}.email-suggestion{margin:6px 0 0;font-size:.875rem;color:var(--ion-text-color, #000)}.email-suggestion__apply{padding:0;margin-left:4px;background:none;border:none;font:inherit;font-weight:700;color:var(--ion-color-primary);text-decoration:underline;cursor:pointer}.input-container{display:flex;align-items:center;flex-direction:row}\n"] }]
126
+ `, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-dark: #9e9e9e;--ion-color-dark-rgb: 158, 158, 158;--ion-color-dark-contrast: #000000;--ion-color-dark-contrast-rgb: 0, 0, 0;--ion-color-dark-shade: #8b8b8b;--ion-color-dark-tint: #a8a8a8;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.container--sticky-footer{--val-form-sticky-footer-space: 7rem;padding-bottom:calc(var(--val-form-sticky-footer-space) + env(safe-area-inset-bottom))}.section{margin-top:1rem}.input{margin:var(--val-form-field-gap, .5rem) 0}@media (min-width: 768px){.input{margin:var(--val-form-field-gap, .75rem) 0}}.submit-actions{display:block;width:100%;box-sizing:border-box}.submit-actions--sticky{position:sticky;bottom:0;z-index:20;width:calc(100% + var(--val-form-sticky-footer-bleed, 0px) * 2);margin-inline:calc(var(--val-form-sticky-footer-bleed, 0px) * -1);background:var(--ion-card-background, var(--ion-background-color, #ffffff));border-top:1px solid var(--ion-color-step-150, rgba(0, 0, 0, .08));box-shadow:0 -.25rem 1rem rgba(var(--ion-text-color-rgb, 0, 0, 0),.08);padding:.75rem var(--val-form-sticky-footer-inline-padding, var(--val-form-sticky-footer-bleed, 0px)) max(.75rem,env(safe-area-inset-bottom));isolation:isolate;transform:translateZ(0)}.field-description{display:block;font-size:.75rem;color:var(--ion-color-dark);margin-bottom:.25rem;line-height:1.4}.email-suggestion{margin:6px 0 0;font-size:.875rem;color:var(--ion-text-color, #000)}.email-suggestion__apply{padding:0;margin-left:4px;background:none;border:none;font:inherit;font-weight:700;color:var(--ion-color-primary);text-decoration:underline;cursor:pointer}.input-container{display:flex;align-items:center;flex-direction:row}\n"] }]
127
127
  }], ctorParameters: () => [], propDecorators: { preset: [{
128
128
  type: Input
129
129
  }], props: [{
130
130
  type: Input
131
131
  }] } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wYXNzd29yZC1pbnB1dC9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFHMUQ7OztHQUdHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBRztJQUMxQixFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFO0lBQzlFLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRTtDQUNyRSxDQUFDO0FBZ0NGOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQztRQUhRLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQWVuQzs7Ozs7V0FLRztRQUNNLFVBQUssR0FBMkIsRUFBRSxDQUFDO1FBRTVDOztXQUVHO1FBQ0gsa0JBQWEsR0FBa0IsRUFBbUIsQ0FBQztRQUVuRCxpQkFBWSxHQUFHLElBQUksQ0FBQztRQXpCbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBMEJELDJFQUEyRTtJQUMzRSxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZO1lBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDO1lBQzlDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxZQUFZO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUE0QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFbEgsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixHQUFHLFdBQVc7WUFDZCxHQUFHLElBQUksQ0FBQyxLQUFLO1NBQ0csQ0FBQztJQUNyQixDQUFDOytHQTdEVSxzQkFBc0I7bUdBQXRCLHNCQUFzQixpSkF6Q3ZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVCw4NUlBeEJTLG1CQUFtQiwwVEFBRSxRQUFRLDhlQUFFLFNBQVMsb1BBQUUsT0FBTzs7NEZBMENoRCxzQkFBc0I7a0JBN0NsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxZQUNsRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1QlQ7d0RBaUNRLE1BQU07c0JBQWQsS0FBSztnQkFRRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25JY29uLCBJb25JbnB1dCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVzZXRzJztcbmltcG9ydCB7IElucHV0TWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbi8qKlxuICogRGVmYXVsdHMgaTE4biAoZXMvZW4pIOKAlCBhdXRvLXJlZ2lzdHJhZG9zIHNpIGVsIGNvbnN1bWVyIG5vIHByb3ZlecOzIGVsXG4gKiBuYW1lc3BhY2UgYFBhc3N3b3JkSW5wdXRgLiBDdWJyZSBlbCBhcmlhLWxhYmVsIGRlbCB0b2dnbGUgbW9zdHJhci9vY3VsdGFyLlxuICovXG5jb25zdCBQQVNTV09SRF9JTlBVVF9JMThOID0ge1xuICBlczogeyBzaG93UGFzc3dvcmQ6ICdNb3N0cmFyIGNvbnRyYXNlw7FhJywgaGlkZVBhc3N3b3JkOiAnT2N1bHRhciBjb250cmFzZcOxYScgfSxcbiAgZW46IHsgc2hvd1Bhc3N3b3JkOiAnU2hvdyBwYXNzd29yZCcsIGhpZGVQYXNzd29yZDogJ0hpZGUgcGFzc3dvcmQnIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcGFzc3dvcmQtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgSW9uSW5wdXQsIElvbkJ1dHRvbiwgSW9uSWNvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgPGlvbi1pbnB1dFxuICAgICAgICBjbGFzcz1cInNpZ24taW5fX2lucHV0LXBhc3N3b3JkXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cInJlc29sdmVkUHJvcHMuY29udHJvbFwiXG4gICAgICAgIFt0eXBlXT1cImhpZGVQYXNzd29yZCA/ICdwYXNzd29yZCcgOiAndGV4dCdcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicmVzb2x2ZWRQcm9wcy5wbGFjZWhvbGRlclwiXG4gICAgICA+PC9pb24taW5wdXQ+XG4gICAgICA8aW9uLWJ1dHRvblxuICAgICAgICBjb2xvcj1cImRhcmtcIlxuICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAoY2xpY2spPVwiaGlkZVBhc3N3b3JkID0gIWhpZGVQYXNzd29yZFwiXG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9nZ2xlTGFiZWwoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCIhaGlkZVBhc3N3b3JkXCJcbiAgICAgID5cbiAgICAgICAgPGlvbi1pY29uXG4gICAgICAgICAgc2xvdD1cImljb24tb25seVwiXG4gICAgICAgICAgW25hbWVdPVwiaGlkZVBhc3N3b3JkID8gJ2V5ZS1vZmYtb3V0bGluZScgOiAnZXllLW91dGxpbmUnXCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+PC9pb24taWNvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1wYXNzd29yZC1pbnB1dFxuICpcbiAqIEEgcGFzc3dvcmQgaW5wdXQgZmllbGQgd2l0aCBzaG93L2hpZGUgdG9nZ2xlLCBpbnRlZ3JhdGVkIHdpdGggQW5ndWxhciBmb3Jtcy5cbiAqIFN1cHBvcnRzIHByZXNldHMgZm9yIHJldXNhYmxlIGNvbmZpZ3VyYXRpb25zLlxuICpcbiAqIEBleGFtcGxlIFdpdGggcHJlc2V0IChyZWNvbW1lbmRlZCk6XG4gKiA8dmFsLXBhc3N3b3JkLWlucHV0IHByZXNldD1cImZvcm0tZmllbGRcIiBbcHJvcHNdPVwieyBjb250cm9sOiBteUNvbnRyb2wsIHBsYWNlaG9sZGVyOiAnUGFzc3dvcmQnIH1cIj48L3ZhbC1wYXNzd29yZC1pbnB1dD5cbiAqXG4gKiBAZXhhbXBsZSBTdGF0aWMgKGJhY2t3YXJkcyBjb21wYXRpYmxlKTpcbiAqIDx2YWwtcGFzc3dvcmQtaW5wdXQgW3Byb3BzXT1cInsgY29udHJvbDogbXlDb250cm9sLCBwbGFjZWhvbGRlcjogJ0VudGVyIHBhc3N3b3JkJyB9XCI+PC92YWwtcGFzc3dvcmQtaW5wdXQ+XG4gKlxuICogQGlucHV0IHByZXNldDogc3RyaW5nIC0gTmFtZSBvZiBwcmVzZXQgdG8gYXBwbHkgKGUuZy4sICdmb3JtLWZpZWxkJywgJ2xvZ2luJylcbiAqIEBpbnB1dCBwcm9wczogSW5wdXRNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBpbnB1dCAob3ZlcnJpZGVzIHByZXNldCB2YWx1ZXMpXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXNzd29yZElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIHByZXNldHMgPSBpbmplY3QoUHJlc2V0U2VydmljZSk7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMoJ1Bhc3N3b3JkSW5wdXQnLCBQQVNTV09SRF9JTlBVVF9JMThOKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmVzZXQgbmFtZSB0byBhcHBseS4gUHJlc2V0cyBkZWZpbmUgcmV1c2FibGUgaW5wdXQgY29uZmlndXJhdGlvbnNcbiAgICogdGhhdCBjYW4gYmUgcmVnaXN0ZXJlZCBhdCBhcHAgbGV2ZWwgdmlhIHByb3ZpZGVWYWx0ZWNoUHJlc2V0cygpLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiA8dmFsLXBhc3N3b3JkLWlucHV0IHByZXNldD1cImxvZ2luXCIgW3Byb3BzXT1cInsgY29udHJvbDogY3RybCB9XCI+PC92YWwtcGFzc3dvcmQtaW5wdXQ+XG4gICAqL1xuICBASW5wdXQoKSBwcmVzZXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LiBWYWx1ZXMgaGVyZSBvdmVycmlkZSBwcmVzZXQgdmFsdWVzLlxuICAgKiBAdHlwZSB7SW5wdXRNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRyb2wgLSBUaGUgQW5ndWxhciBGb3JtQ29udHJvbCBmb3IgdGhlIGlucHV0LlxuICAgKiBAcHJvcGVydHkgcGxhY2Vob2xkZXIgLSBUaGUgcGxhY2Vob2xkZXIgdGV4dC5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBQYXJ0aWFsPElucHV0TWV0YWRhdGE+ID0ge307XG5cbiAgLyoqXG4gICAqIFJlc29sdmVkIHByb3BzIGFmdGVyIG1lcmdpbmcgcHJlc2V0ICsgZXhwbGljaXQgcHJvcHMuXG4gICAqL1xuICByZXNvbHZlZFByb3BzOiBJbnB1dE1ldGFkYXRhID0ge30gYXMgSW5wdXRNZXRhZGF0YTtcblxuICBoaWRlUGFzc3dvcmQgPSB0cnVlO1xuXG4gIC8qKiBBcmlhLWxhYmVsIGRlbCBib3TDs24gbW9zdHJhci9vY3VsdGFyIHNlZ8O6biBlbCBlc3RhZG8gZGUgdmlzaWJpbGlkYWQuICovXG4gIHRvZ2dsZUxhYmVsKCk6IHN0cmluZyB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5oaWRlUGFzc3dvcmRcbiAgICAgID8gdGhpcy5pMThuLnQoJ3Nob3dQYXNzd29yZCcsICdQYXNzd29yZElucHV0JylcbiAgICAgIDogdGhpcy5pMThuLnQoJ2hpZGVQYXNzd29yZCcsICdQYXNzd29yZElucHV0Jyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydwcmVzZXQnXSB8fCBjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZSBwcmVzZXQgY29uZmlndXJhdGlvbiB3aXRoIGV4cGxpY2l0IHByb3BzLlxuICAgKiBFeHBsaWNpdCBwcm9wcyB0YWtlIHByZWNlZGVuY2Ugb3ZlciBwcmVzZXQgdmFsdWVzLlxuICAgKi9cbiAgcHJpdmF0ZSByZXNvbHZlUHJvcHMoKTogdm9pZCB7XG4gICAgY29uc3QgcHJlc2V0UHJvcHMgPSB0aGlzLnByZXNldCA/ICh0aGlzLnByZXNldHMuZ2V0KCdwYXNzd29yZElucHV0JywgdGhpcy5wcmVzZXQpIGFzIFBhcnRpYWw8SW5wdXRNZXRhZGF0YT4pIDoge307XG5cbiAgICB0aGlzLnJlc29sdmVkUHJvcHMgPSB7XG4gICAgICAuLi5wcmVzZXRQcm9wcyxcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgfSBhcyBJbnB1dE1ldGFkYXRhO1xuICB9XG59XG4iXX0=
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wYXNzd29yZC1pbnB1dC9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFHMUQ7OztHQUdHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBRztJQUMxQixFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFO0lBQzlFLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRTtDQUNyRSxDQUFDO0FBZ0NGOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQztRQUhRLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQWVuQzs7Ozs7V0FLRztRQUNNLFVBQUssR0FBMkIsRUFBRSxDQUFDO1FBRTVDOztXQUVHO1FBQ0gsa0JBQWEsR0FBa0IsRUFBbUIsQ0FBQztRQUVuRCxpQkFBWSxHQUFHLElBQUksQ0FBQztRQXpCbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBMEJELDJFQUEyRTtJQUMzRSxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZO1lBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDO1lBQzlDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxZQUFZO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUE0QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFbEgsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixHQUFHLFdBQVc7WUFDZCxHQUFHLElBQUksQ0FBQyxLQUFLO1NBQ0csQ0FBQztJQUNyQixDQUFDOytHQTdEVSxzQkFBc0I7bUdBQXRCLHNCQUFzQixpSkF6Q3ZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVCxnNUlBeEJTLG1CQUFtQiwwVEFBRSxRQUFRLDhlQUFFLFNBQVMsb1BBQUUsT0FBTzs7NEZBMENoRCxzQkFBc0I7a0JBN0NsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxZQUNsRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1QlQ7d0RBaUNRLE1BQU07c0JBQWQsS0FBSztnQkFRRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25JY29uLCBJb25JbnB1dCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVzZXRzJztcbmltcG9ydCB7IElucHV0TWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbi8qKlxuICogRGVmYXVsdHMgaTE4biAoZXMvZW4pIOKAlCBhdXRvLXJlZ2lzdHJhZG9zIHNpIGVsIGNvbnN1bWVyIG5vIHByb3ZlecOzIGVsXG4gKiBuYW1lc3BhY2UgYFBhc3N3b3JkSW5wdXRgLiBDdWJyZSBlbCBhcmlhLWxhYmVsIGRlbCB0b2dnbGUgbW9zdHJhci9vY3VsdGFyLlxuICovXG5jb25zdCBQQVNTV09SRF9JTlBVVF9JMThOID0ge1xuICBlczogeyBzaG93UGFzc3dvcmQ6ICdNb3N0cmFyIGNvbnRyYXNlw7FhJywgaGlkZVBhc3N3b3JkOiAnT2N1bHRhciBjb250cmFzZcOxYScgfSxcbiAgZW46IHsgc2hvd1Bhc3N3b3JkOiAnU2hvdyBwYXNzd29yZCcsIGhpZGVQYXNzd29yZDogJ0hpZGUgcGFzc3dvcmQnIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcGFzc3dvcmQtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgSW9uSW5wdXQsIElvbkJ1dHRvbiwgSW9uSWNvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgPGlvbi1pbnB1dFxuICAgICAgICBjbGFzcz1cInNpZ24taW5fX2lucHV0LXBhc3N3b3JkXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cInJlc29sdmVkUHJvcHMuY29udHJvbFwiXG4gICAgICAgIFt0eXBlXT1cImhpZGVQYXNzd29yZCA/ICdwYXNzd29yZCcgOiAndGV4dCdcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicmVzb2x2ZWRQcm9wcy5wbGFjZWhvbGRlclwiXG4gICAgICA+PC9pb24taW5wdXQ+XG4gICAgICA8aW9uLWJ1dHRvblxuICAgICAgICBjb2xvcj1cImRhcmtcIlxuICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAoY2xpY2spPVwiaGlkZVBhc3N3b3JkID0gIWhpZGVQYXNzd29yZFwiXG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9nZ2xlTGFiZWwoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCIhaGlkZVBhc3N3b3JkXCJcbiAgICAgID5cbiAgICAgICAgPGlvbi1pY29uXG4gICAgICAgICAgc2xvdD1cImljb24tb25seVwiXG4gICAgICAgICAgW25hbWVdPVwiaGlkZVBhc3N3b3JkID8gJ2V5ZS1vZmYtb3V0bGluZScgOiAnZXllLW91dGxpbmUnXCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+PC9pb24taWNvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1wYXNzd29yZC1pbnB1dFxuICpcbiAqIEEgcGFzc3dvcmQgaW5wdXQgZmllbGQgd2l0aCBzaG93L2hpZGUgdG9nZ2xlLCBpbnRlZ3JhdGVkIHdpdGggQW5ndWxhciBmb3Jtcy5cbiAqIFN1cHBvcnRzIHByZXNldHMgZm9yIHJldXNhYmxlIGNvbmZpZ3VyYXRpb25zLlxuICpcbiAqIEBleGFtcGxlIFdpdGggcHJlc2V0IChyZWNvbW1lbmRlZCk6XG4gKiA8dmFsLXBhc3N3b3JkLWlucHV0IHByZXNldD1cImZvcm0tZmllbGRcIiBbcHJvcHNdPVwieyBjb250cm9sOiBteUNvbnRyb2wsIHBsYWNlaG9sZGVyOiAnUGFzc3dvcmQnIH1cIj48L3ZhbC1wYXNzd29yZC1pbnB1dD5cbiAqXG4gKiBAZXhhbXBsZSBTdGF0aWMgKGJhY2t3YXJkcyBjb21wYXRpYmxlKTpcbiAqIDx2YWwtcGFzc3dvcmQtaW5wdXQgW3Byb3BzXT1cInsgY29udHJvbDogbXlDb250cm9sLCBwbGFjZWhvbGRlcjogJ0VudGVyIHBhc3N3b3JkJyB9XCI+PC92YWwtcGFzc3dvcmQtaW5wdXQ+XG4gKlxuICogQGlucHV0IHByZXNldDogc3RyaW5nIC0gTmFtZSBvZiBwcmVzZXQgdG8gYXBwbHkgKGUuZy4sICdmb3JtLWZpZWxkJywgJ2xvZ2luJylcbiAqIEBpbnB1dCBwcm9wczogSW5wdXRNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBpbnB1dCAob3ZlcnJpZGVzIHByZXNldCB2YWx1ZXMpXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXNzd29yZElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIHByZXNldHMgPSBpbmplY3QoUHJlc2V0U2VydmljZSk7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMoJ1Bhc3N3b3JkSW5wdXQnLCBQQVNTV09SRF9JTlBVVF9JMThOKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmVzZXQgbmFtZSB0byBhcHBseS4gUHJlc2V0cyBkZWZpbmUgcmV1c2FibGUgaW5wdXQgY29uZmlndXJhdGlvbnNcbiAgICogdGhhdCBjYW4gYmUgcmVnaXN0ZXJlZCBhdCBhcHAgbGV2ZWwgdmlhIHByb3ZpZGVWYWx0ZWNoUHJlc2V0cygpLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiA8dmFsLXBhc3N3b3JkLWlucHV0IHByZXNldD1cImxvZ2luXCIgW3Byb3BzXT1cInsgY29udHJvbDogY3RybCB9XCI+PC92YWwtcGFzc3dvcmQtaW5wdXQ+XG4gICAqL1xuICBASW5wdXQoKSBwcmVzZXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LiBWYWx1ZXMgaGVyZSBvdmVycmlkZSBwcmVzZXQgdmFsdWVzLlxuICAgKiBAdHlwZSB7SW5wdXRNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRyb2wgLSBUaGUgQW5ndWxhciBGb3JtQ29udHJvbCBmb3IgdGhlIGlucHV0LlxuICAgKiBAcHJvcGVydHkgcGxhY2Vob2xkZXIgLSBUaGUgcGxhY2Vob2xkZXIgdGV4dC5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBQYXJ0aWFsPElucHV0TWV0YWRhdGE+ID0ge307XG5cbiAgLyoqXG4gICAqIFJlc29sdmVkIHByb3BzIGFmdGVyIG1lcmdpbmcgcHJlc2V0ICsgZXhwbGljaXQgcHJvcHMuXG4gICAqL1xuICByZXNvbHZlZFByb3BzOiBJbnB1dE1ldGFkYXRhID0ge30gYXMgSW5wdXRNZXRhZGF0YTtcblxuICBoaWRlUGFzc3dvcmQgPSB0cnVlO1xuXG4gIC8qKiBBcmlhLWxhYmVsIGRlbCBib3TDs24gbW9zdHJhci9vY3VsdGFyIHNlZ8O6biBlbCBlc3RhZG8gZGUgdmlzaWJpbGlkYWQuICovXG4gIHRvZ2dsZUxhYmVsKCk6IHN0cmluZyB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5oaWRlUGFzc3dvcmRcbiAgICAgID8gdGhpcy5pMThuLnQoJ3Nob3dQYXNzd29yZCcsICdQYXNzd29yZElucHV0JylcbiAgICAgIDogdGhpcy5pMThuLnQoJ2hpZGVQYXNzd29yZCcsICdQYXNzd29yZElucHV0Jyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydwcmVzZXQnXSB8fCBjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZSBwcmVzZXQgY29uZmlndXJhdGlvbiB3aXRoIGV4cGxpY2l0IHByb3BzLlxuICAgKiBFeHBsaWNpdCBwcm9wcyB0YWtlIHByZWNlZGVuY2Ugb3ZlciBwcmVzZXQgdmFsdWVzLlxuICAgKi9cbiAgcHJpdmF0ZSByZXNvbHZlUHJvcHMoKTogdm9pZCB7XG4gICAgY29uc3QgcHJlc2V0UHJvcHMgPSB0aGlzLnByZXNldCA/ICh0aGlzLnByZXNldHMuZ2V0KCdwYXNzd29yZElucHV0JywgdGhpcy5wcmVzZXQpIGFzIFBhcnRpYWw8SW5wdXRNZXRhZGF0YT4pIDoge307XG5cbiAgICB0aGlzLnJlc29sdmVkUHJvcHMgPSB7XG4gICAgICAuLi5wcmVzZXRQcm9wcyxcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgfSBhcyBJbnB1dE1ldGFkYXRhO1xuICB9XG59XG4iXX0=
@@ -145,7 +145,7 @@ export class PermissionSelectorComponent {
145
145
  }
146
146
  </div>
147
147
  }
148
- `, isInline: true, styles: [":host{display:block}.perm-selector__bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.perm-selector__title{font-size:.8125rem;font-weight:600;color:var(--ion-color-dark)}.perm-selector__toggle{appearance:none;background:transparent;border:none;padding:4px 2px;font-size:.8125rem;font-weight:600;color:var(--ion-color-secondary-shade, var(--ion-color-secondary));cursor:pointer}.perm-selector__toggle:hover{text-decoration:underline}.perm-selector{display:flex;flex-direction:column;gap:10px}.perm-group{border:1.5px solid var(--ion-color-light, #e7e4ea);border-radius:12px;padding:12px 14px;transition:border-color .15s ease}.perm-group--active{border-color:var(--ion-color-secondary, #c090ff)}.perm-group__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.perm-group__all{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;color:var(--ion-color-dark)}.perm-group__all input{width:18px;height:18px;accent-color:var(--ion-color-secondary, #c090ff);cursor:pointer}.perm-group__title{font-size:.95rem}.perm-group__count{font-size:.75rem;color:var(--ion-color-medium, #6b6675);flex-shrink:0}.perm-group__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.perm-chip{appearance:none;border:1.5px solid var(--ion-color-medium, #6b6675);background:transparent;color:var(--ion-color-dark);border-radius:999px;padding:5px 14px;font-size:.8125rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.perm-chip:hover{border-color:var(--ion-color-secondary, #c090ff)}.perm-chip--on{background:var(--ion-color-secondary, #c090ff);border-color:var(--ion-color-secondary, #c090ff);color:var(--ion-color-secondary-contrast, #2f2a36)}:host-context(body.dark) .perm-group,:host-context(html.ion-palette-dark) .perm-group{border-color:#ffffff1f}\n"], dependencies: [{ kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }] }); }
148
+ `, isInline: true, styles: [":host{display:block}.perm-selector__bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.perm-selector__title{font-size:.8125rem;font-weight:600;color:var(--ion-color-dark)}.perm-selector__toggle{appearance:none;background:transparent;border:none;padding:4px 2px;font-size:.8125rem;font-weight:600;color:var(--ion-color-secondary-shade, var(--ion-color-secondary));cursor:pointer}.perm-selector__toggle:hover{text-decoration:underline}.perm-selector{display:flex;flex-direction:column;gap:10px}.perm-group{border:1.5px solid var(--ion-color-light, #e7e4ea);border-radius:12px;padding:12px 14px;transition:border-color .15s ease}.perm-group--active{border-color:var(--ion-color-secondary, #c090ff)}.perm-group__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.perm-group__all{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;color:var(--ion-color-dark)}.perm-group__all input{width:18px;height:18px;accent-color:var(--ion-color-secondary, #c090ff);cursor:pointer}.perm-group__title{font-size:.95rem}.perm-group__count{font-size:.75rem;color:var(--ion-color-dark, #6b6675);flex-shrink:0}.perm-group__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.perm-chip{appearance:none;border:1.5px solid var(--ion-color-dark, #6b6675);background:transparent;color:var(--ion-color-dark);border-radius:999px;padding:5px 14px;font-size:.8125rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.perm-chip:hover{border-color:var(--ion-color-secondary, #c090ff)}.perm-chip--on{background:var(--ion-color-secondary, #c090ff);border-color:var(--ion-color-secondary, #c090ff);color:var(--ion-color-secondary-contrast, #2f2a36)}:host-context(body.dark) .perm-group,:host-context(html.ion-palette-dark) .perm-group{border-color:#ffffff1f}\n"], dependencies: [{ kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }] }); }
149
149
  }
150
150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PermissionSelectorComponent, decorators: [{
151
151
  type: Component,
@@ -194,6 +194,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
194
194
  }
195
195
  </div>
196
196
  }
197
- `, styles: [":host{display:block}.perm-selector__bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.perm-selector__title{font-size:.8125rem;font-weight:600;color:var(--ion-color-dark)}.perm-selector__toggle{appearance:none;background:transparent;border:none;padding:4px 2px;font-size:.8125rem;font-weight:600;color:var(--ion-color-secondary-shade, var(--ion-color-secondary));cursor:pointer}.perm-selector__toggle:hover{text-decoration:underline}.perm-selector{display:flex;flex-direction:column;gap:10px}.perm-group{border:1.5px solid var(--ion-color-light, #e7e4ea);border-radius:12px;padding:12px 14px;transition:border-color .15s ease}.perm-group--active{border-color:var(--ion-color-secondary, #c090ff)}.perm-group__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.perm-group__all{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;color:var(--ion-color-dark)}.perm-group__all input{width:18px;height:18px;accent-color:var(--ion-color-secondary, #c090ff);cursor:pointer}.perm-group__title{font-size:.95rem}.perm-group__count{font-size:.75rem;color:var(--ion-color-medium, #6b6675);flex-shrink:0}.perm-group__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.perm-chip{appearance:none;border:1.5px solid var(--ion-color-medium, #6b6675);background:transparent;color:var(--ion-color-dark);border-radius:999px;padding:5px 14px;font-size:.8125rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.perm-chip:hover{border-color:var(--ion-color-secondary, #c090ff)}.perm-chip--on{background:var(--ion-color-secondary, #c090ff);border-color:var(--ion-color-secondary, #c090ff);color:var(--ion-color-secondary-contrast, #2f2a36)}:host-context(body.dark) .perm-group,:host-context(html.ion-palette-dark) .perm-group{border-color:#ffffff1f}\n"] }]
197
+ `, styles: [":host{display:block}.perm-selector__bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.perm-selector__title{font-size:.8125rem;font-weight:600;color:var(--ion-color-dark)}.perm-selector__toggle{appearance:none;background:transparent;border:none;padding:4px 2px;font-size:.8125rem;font-weight:600;color:var(--ion-color-secondary-shade, var(--ion-color-secondary));cursor:pointer}.perm-selector__toggle:hover{text-decoration:underline}.perm-selector{display:flex;flex-direction:column;gap:10px}.perm-group{border:1.5px solid var(--ion-color-light, #e7e4ea);border-radius:12px;padding:12px 14px;transition:border-color .15s ease}.perm-group--active{border-color:var(--ion-color-secondary, #c090ff)}.perm-group__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.perm-group__all{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;color:var(--ion-color-dark)}.perm-group__all input{width:18px;height:18px;accent-color:var(--ion-color-secondary, #c090ff);cursor:pointer}.perm-group__title{font-size:.95rem}.perm-group__count{font-size:.75rem;color:var(--ion-color-dark, #6b6675);flex-shrink:0}.perm-group__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.perm-chip{appearance:none;border:1.5px solid var(--ion-color-dark, #6b6675);background:transparent;color:var(--ion-color-dark);border-radius:999px;padding:5px 14px;font-size:.8125rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.perm-chip:hover{border-color:var(--ion-color-secondary, #c090ff)}.perm-chip--on{background:var(--ion-color-secondary, #c090ff);border-color:var(--ion-color-secondary, #c090ff);color:var(--ion-color-secondary-contrast, #2f2a36)}:host-context(body.dark) .perm-group,:host-context(html.ion-palette-dark) .perm-group{border-color:#ffffff1f}\n"] }]
198
198
  }], ctorParameters: () => [] });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3Blcm1pc3Npb24tc2VsZWN0b3IvcGVybWlzc2lvbi1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFHaEUsTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQztBQUUvQyxNQUFNLHdCQUF3QixHQUFHO0lBQy9CLEVBQUUsRUFBRTtRQUNGLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLEtBQUssRUFBRSwyQ0FBMkM7S0FDbkQ7SUFDRCxFQUFFLEVBQUU7UUFDRixTQUFTLEVBQUUsS0FBSztRQUNoQixRQUFRLEVBQUUsTUFBTTtRQUNoQixLQUFLLEVBQUUscUNBQXFDO0tBQzdDO0NBQ0YsQ0FBQztBQUVGOzs7Ozs7Ozs7OztHQVdHO0FBOEpILE1BQU0sT0FBTywyQkFBMkI7SUF3QnRDO1FBdkJRLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbkMsMkRBQTJEO1FBQ2xELGdCQUFXLEdBQUcsS0FBSyxDQUErQixFQUFFLENBQUMsQ0FBQztRQUMvRCxnRkFBZ0Y7UUFDdkUsaUJBQVksR0FBRyxLQUFLLENBQWlDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLHFFQUFxRTtRQUM1RCxXQUFNLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLDJFQUEyRTtRQUNsRSxXQUFNLEdB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TyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRVMsRUFBRSxDQUFDLEdBQVc7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7K0dBMUVVLDJCQUEyQjttR0FBM0IsMkJBQTJCLHN4QkF6SjVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Q1QsZzVEQTlDUyxhQUFhOzs0RkEwSlosMkJBQTJCO2tCQTdKdkMsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsSUFBSSxXQUNQLENBQUMsYUFBYSxDQUFDLFlBQ2Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZDVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIG1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBMb2NhbGl6ZWRMYWJlbCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL29yZy9wZXJtaXNzaW9uLWNhdGFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uU2VsZWN0b3JSZXNvdXJjZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBERUZBVUxUX05BTUVTUEFDRSA9ICdQZXJtaXNzaW9uU2VsZWN0b3InO1xuXG5jb25zdCBQRVJNSVNTSU9OX1NFTEVDVE9SX0kxOE4gPSB7XG4gIGVzOiB7XG4gICAgc2VsZWN0QWxsOiAnVG9kbycsXG4gICAgY2xlYXJBbGw6ICdOaW5ndW5vJyxcbiAgICBlbXB0eTogJ05vIGhheSBwZXJtaXNvcyBkaXNwb25pYmxlcyBwYXJhIGFzaWduYXIuJyxcbiAgfSxcbiAgZW46IHtcbiAgICBzZWxlY3RBbGw6ICdBbGwnLFxuICAgIGNsZWFyQWxsOiAnTm9uZScsXG4gICAgZW1wdHk6ICdObyBwZXJtaXNzaW9ucyBhdmFpbGFibGUgdG8gYXNzaWduLicsXG4gIH0sXG59O1xuXG4vKipcbiAqIGB2YWwtcGVybWlzc2lvbi1zZWxlY3RvcmAg4oCUIHNlbGVjdG9yIGRlIHBlcm1pc29zIGFncnVwYWRvIHBvciByZWN1cnNvLlxuICpcbiAqIFByZXNlbnRhY2lvbmFsOiByZWNpYmUgZWwgY2F0w6Fsb2dvIChZQSBmaWx0cmFkbyBwb3IgZWwgY29uc3VtZXIg4oCUIHNpbiBgaW50ZXJuYWxgLFxuICogc2luIG90cmFzIGFwcHMpIHkgZW1pdGUgbG9zIGPDs2RpZ29zIGByZXNvdXJjZTphY3Rpb25gIHNlbGVjY2lvbmFkb3MuIEFncnVwYSBwb3JcbiAqIHJlY3Vyc28gY29uIHN1IGxhYmVsIGxlZ2libGUgKGRlbCBiYWNrZW5kKSwgdW5hIGZpbGEgcG9yIHJlY3Vyc28gY29uIGNoZWNrYm94XG4gKiBcIlRvZG9zXCIgKHRyaS1lc3RhZG8pIHkgdW4gY2hpcCBwb3IgYWNjacOzbi4gQmlsaW5nw7xlIHbDrWEgYGxvY2FsZWAgKyBsb3MgbGFiZWxzIGRlbFxuICogY2F0w6Fsb2dvOyBsYXMgcG9jYXMgZXRpcXVldGFzIHByb3BpYXMgKFRvZG9zIC8gdmFjw61vKSBzZSBhdXRvLXJlZ2lzdHJhbiAoZXMvZW4pLlxuICpcbiAqIFBlbnNhZG8gcGFyYSBlbCBtb2RhbCBkZSBjcmVhY2nDs24gZGUgQVBJIEtleSAoYXNpZ25hciBwZXJtaXNvcyBhIGxhIGtleSkgeVxuICogcmV1c2FibGUgZW4gY3VhbHF1aWVyIFVJIHF1ZSBhc2lnbmUgcGVybWlzb3MgKHJvbGVzIGN1c3RvbSwgZXRjLikuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1wZXJtaXNzaW9uLXNlbGVjdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1RleHRDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAoaGVhZGVyKCkgfHwgYWxsQ29kZXMoKS5sZW5ndGggPiAwKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwicGVybS1zZWxlY3Rvcl9fYmFyXCI+XG4gICAgICAgIEBpZiAoaGVhZGVyKCkpIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInBlcm0tc2VsZWN0b3JfX3RpdGxlXCI+e3sgaGVhZGVyKCkgfX0gKHt7IHNlbGVjdGVkQ291bnQoKSB9fSk8L3NwYW4+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGFsbENvZGVzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwicGVybS1zZWxlY3Rvcl9fdG9nZ2xlXCIgKGNsaWNrKT1cInRvZ2dsZUFsbCgpXCI+XG4gICAgICAgICAgICB7eyBhbGxTZWxlY3RlZCgpID8gdHQoJ2NsZWFyQWxsJykgOiB0dCgnc2VsZWN0QWxsJykgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAoZ3JvdXBzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICA8dmFsLXRleHQgW3Byb3BzXT1cInsgY29udGVudDogdHQoJ2VtcHR5JyksIHNpemU6ICdtZWRpdW0nLCBjb2xvcjogJ21lZGl1bScsIGJvbGQ6IGZhbHNlIH1cIiAvPlxuICAgIH0gQGVsc2Uge1xuICAgICAgPGRpdiBjbGFzcz1cInBlcm0tc2VsZWN0b3JcIj5cbiAgICAgICAgQGZvciAoZyBvZiBncm91cHMoKTsgdHJhY2sgZy5yZXNvdXJjZSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLWdyb3VwXCIgW2NsYXNzLnBlcm0tZ3JvdXAtLWFjdGl2ZV09XCJnLmNoZWNrZWRDb3VudCA+IDBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLWdyb3VwX19oZWFkXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInBlcm0tZ3JvdXBfX2FsbFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJnLmFsbFwiIFtpbmRldGVybWluYXRlXT1cImcuc29tZVwiIChjaGFuZ2UpPVwidG9nZ2xlR3JvdXAoZy5yZXNvdXJjZSlcIiAvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVybS1ncm91cF9fdGl0bGVcIj57eyBnLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBlcm0tZ3JvdXBfX2NvdW50XCI+e3sgZy5jaGVja2VkQ291bnQgfX0ve3sgZy5hY3Rpb25zLmxlbmd0aCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcm0tZ3JvdXBfX2FjdGlvbnNcIj5cbiAgICAgICAgICAgICAgQGZvciAoYSBvZiBnLmFjdGlvbnM7IHRyYWNrIGEuY29kZSkge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwZXJtLWNoaXBcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLnBlcm0tY2hpcC0tb25dPVwiYS5jaGVja2VkXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCJhLmNoZWNrZWRcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUFjdGlvbihhLmNvZGUpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBhLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAucGVybS1zZWxlY3Rvcl9fYmFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICAgIC5wZXJtLXNlbGVjdG9yX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgfVxuICAgICAgLnBlcm0tc2VsZWN0b3JfX3RvZ2dsZSB7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDRweCAycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXNlY29uZGFyeS1zaGFkZSwgdmFyKC0taW9uLWNvbG9yLXNlY29uZGFyeSkpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgICAucGVybS1zZWxlY3Rvcl9fdG9nZ2xlOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgICAucGVybS1zZWxlY3RvciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgIH1cbiAgICAgIC5wZXJtLWdyb3VwIHtcbiAgICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1pb24tY29sb3ItbGlnaHQsICNlN2U0ZWEpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlO1xuICAgICAgfVxuICAgICAgLnBlcm0tZ3JvdXAtLWFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taW9uLWNvbG9yLXNlY29uZGFyeSwgI2MwOTBmZik7XG4gICAgICB9XG4gICAgICAucGVybS1ncm91cF9faGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICB9XG4gICAgICAucGVybS1ncm91cF9fYWxsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyayk7XG4gICAgICB9XG4gICAgICAucGVybS1ncm91cF9fYWxsIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYWNjZW50LWNvbG9yOiB2YXIoLS1pb24tY29sb3Itc2Vjb25kYXJ5LCAjYzA5MGZmKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgICAgLnBlcm0tZ3JvdXBfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgICAgfVxuICAgICAgLnBlcm0tZ3JvdXBfX2NvdW50IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzZiNjY3NSk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgICAgLnBlcm0tZ3JvdXBfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgfVxuICAgICAgLnBlcm0tY2hpcCB7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzZiNjY3NSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgcGFkZGluZzogNXB4IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgYmFja2dyb3VuZCAwLjE1cyBlYXNlLFxuICAgICAgICAgIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLFxuICAgICAgICAgIGNvbG9yIDAuMTVzIGVhc2U7XG4gICAgICB9XG4gICAgICAucGVybS1jaGlwOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pb24tY29sb3Itc2Vjb25kYXJ5LCAjYzA5MGZmKTtcbiAgICAgIH1cbiAgICAgIC5wZXJtLWNoaXAtLW9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLXNlY29uZGFyeSwgI2MwOTBmZik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taW9uLWNvbG9yLXNlY29uZGFyeSwgI2MwOTBmZik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0LCAjMmYyYTM2KTtcbiAgICAgIH1cbiAgICAgIDpob3N0LWNvbnRleHQoYm9keS5kYXJrKSAucGVybS1ncm91cCxcbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAucGVybS1ncm91cCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uU2VsZWN0b3JDb21wb25lbnQge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIC8qKiBDYXTDoWxvZ28gWUEgZmlsdHJhZG8gKHNpbiBpbnRlcm5hbCwgc2luIG90cmFzIGFwcHMpLiAqL1xuICByZWFkb25seSBwZXJtaXNzaW9ucyA9IGlucHV0PFBlcm1pc3Npb25TZWxlY3RvclJlc291cmNlW10+KFtdKTtcbiAgLyoqIExhYmVscyBkZSBhY2Npw7NuIChlcy9lbikgcG9yIGPDs2RpZ28gZGUgYWNjacOzbiDigJQgZGVsIGNhdMOhbG9nbyBkZWwgYmFja2VuZC4gKi9cbiAgcmVhZG9ubHkgYWN0aW9uTGFiZWxzID0gaW5wdXQ8UmVjb3JkPHN0cmluZywgTG9jYWxpemVkTGFiZWw+Pih7fSk7XG4gIC8qKiBJZGlvbWEgYWN0aXZvIChlcy9lbikuIFNpIG5vIHNlIHBhc2EsIHVzYSBlbCBkZSBgSTE4blNlcnZpY2VgLiAqL1xuICByZWFkb25seSBsb2NhbGUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgLyoqIFTDrXR1bG8gb3BjaW9uYWwgZGUgbGEgYmFycmEgc3VwZXJpb3IgKGNvbiBjb250YWRvciArIHRvZ2dsZSBcIlRvZG9cIikuICovXG4gIHJlYWRvbmx5IGhlYWRlciA9IGlucHV0PHN0cmluZz4oJycpO1xuICAvKiogUGVybWlzb3Mgc2VsZWNjaW9uYWRvcyAoYHJlc291cmNlOmFjdGlvbmApLiBUd28td2F5IChgbW9kZWxgKS4gKi9cbiAgcmVhZG9ubHkgc2VsZWN0ZWQgPSBtb2RlbDxzdHJpbmdbXT4oW10pO1xuXG4gIC8qKiBUb2RvcyBsb3MgY8OzZGlnb3Mgc2VsZWNjaW9uYWJsZXMgKGByZXNvdXJjZTphY3Rpb25gKSBkZWwgY2F0w6Fsb2dvIGFjdHVhbC4gKi9cbiAgcmVhZG9ubHkgYWxsQ29kZXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnBlcm1pc3Npb25zKCkuZmxhdE1hcChyID0+IHIuYWN0aW9ucy5tYXAoYSA9PiBgJHtyLnJlc291cmNlfToke2F9YCkpKTtcbiAgcmVhZG9ubHkgc2VsZWN0ZWRDb3VudCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2VsZWN0ZWQoKS5sZW5ndGgpO1xuICByZWFkb25seSBhbGxTZWxlY3RlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBhbGwgPSB0aGlzLmFsbENvZGVzKCk7XG4gICAgaWYgKGFsbC5sZW5ndGggPT09IDApIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBzZWwgPSBuZXcgU2V0KHRoaXMuc2VsZWN0ZWQoKSk7XG4gICAgcmV0dXJuIGFsbC5ldmVyeShjID0+IHNlbC5oYXMoYykpO1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmkxOG4ucmVnaXN0ZXJEZWZhdWx0cyhERUZBVUxUX05BTUVTUEFDRSwgUEVSTUlTU0lPTl9TRUxFQ1RPUl9JMThOKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZlTG9jYWxlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5sb2NhbGUoKSB8fCB0aGlzLmkxOG4ubGFuZygpKTtcblxuICByZWFkb25seSBncm91cHMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc2VsID0gbmV3IFNldCh0aGlzLnNlbGVjdGVkKCkpO1xuICAgIGNvbnN0IGxvYyA9IHRoaXMuYWN0aXZlTG9jYWxlKCk7XG4gICAgY29uc3QgYWN0aW9uTGFiZWxzID0gdGhpcy5hY3Rpb25MYWJlbHMoKTtcbiAgICByZXR1cm4gdGhpcy5wZXJtaXNzaW9ucygpLm1hcChyID0+IHtcbiAgICAgIGNvbnN0IGFjdGlvbnMgPSByLmFjdGlvbnMubWFwKGEgPT4ge1xuICAgICAgICBjb25zdCBjb2RlID0gYCR7ci5yZXNvdXJjZX06JHthfWA7XG4gICAgICAgIHJldHVybiB7IGFjdGlvbjogYSwgY29kZSwgbGFiZWw6IGFjdGlvbkxhYmVsc1thXT8uW2xvY10gPz8gYSwgY2hlY2tlZDogc2VsLmhhcyhjb2RlKSB9O1xuICAgICAgfSk7XG4gICAgICBjb25zdCBjaGVja2VkQ291bnQgPSBhY3Rpb25zLmZpbHRlcihhID0+IGEuY2hlY2tlZCkubGVuZ3RoO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcmVzb3VyY2U6IHIucmVzb3VyY2UsXG4gICAgICAgIGxhYmVsOiByLmxhYmVsPy5bbG9jXSA/PyByLnJlc291cmNlLFxuICAgICAgICBhY3Rpb25zLFxuICAgICAgICBjaGVja2VkQ291bnQsXG4gICAgICAgIGFsbDogYWN0aW9ucy5sZW5ndGggPiAwICYmIGNoZWNrZWRDb3VudCA9PT0gYWN0aW9ucy5sZW5ndGgsXG4gICAgICAgIHNvbWU6IGNoZWNrZWRDb3VudCA+IDAgJiYgY2hlY2tlZENvdW50IDwgYWN0aW9ucy5sZW5ndGgsXG4gICAgICB9O1xuICAgIH0pO1xuICB9KTtcblxuICB0b2dnbGVBY3Rpb24oY29kZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsID0gbmV3IFNldCh0aGlzLnNlbGVjdGVkKCkpO1xuICAgIGlmIChzZWwuaGFzKGNvZGUpKSBzZWwuZGVsZXRlKGNvZGUpO1xuICAgIGVsc2Ugc2VsLmFkZChjb2RlKTtcbiAgICB0aGlzLnNlbGVjdGVkLnNldChbLi4uc2VsXSk7XG4gIH1cblxuICB0b2dnbGVBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZC5zZXQodGhpcy5hbGxTZWxlY3RlZCgpID8gW10gOiBbLi4udGhpcy5hbGxDb2RlcygpXSk7XG4gIH1cblxuICB0b2dnbGVHcm91cChyZXNvdXJjZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZ3JvdXAgPSB0aGlzLmdyb3VwcygpLmZpbmQoZyA9PiBnLnJlc291cmNlID09PSByZXNvdXJjZSk7XG4gICAgaWYgKCFncm91cCkgcmV0dXJuO1xuICAgIGNvbnN0IHNlbCA9IG5ldyBTZXQodGhpcy5zZWxlY3RlZCgpKTtcbiAgICBpZiAoZ3JvdXAuYWxsKSBncm91cC5hY3Rpb25zLmZvckVhY2goYSA9PiBzZWwuZGVsZXRlKGEuY29kZSkpO1xuICAgIGVsc2UgZ3JvdXAuYWN0aW9ucy5mb3JFYWNoKGEgPT4gc2VsLmFkZChhLmNvZGUpKTtcbiAgICB0aGlzLnNlbGVjdGVkLnNldChbLi4uc2VsXSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgREVGQVVMVF9OQU1FU1BBQ0UpO1xuICB9XG59XG4iXX0=
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3Blcm1pc3Npb24tc2VsZWN0b3IvcGVybWlzc2lvbi1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFHaEUsTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQztBQUUvQyxNQUFNLHdCQUF3QixHQUFHO0lBQy9CLEVBQUUsRUFBRTtRQUNGLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLEtBQUssRUFBRSwyQ0FBMkM7S0FDbkQ7SUFDRCxFQUFFLEVBQUU7UUFDRixTQUFTLEVBQUUsS0FBSztRQUNoQixRQUFRLEVBQUUsTUFBTTtRQUNoQixLQUFLLEVBQUUscUNBQXFDO0tBQzdDO0NBQ0YsQ0FBQztBQUVGOzs7Ozs7Ozs7OztHQVdHO0FBOEpILE1BQU0sT0FBTywyQkFBMkI7SUF3QnRDO1FBdkJRLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbkMsMkRBQTJEO1FBQ2xELGdCQUFXLEdBQUcsS0FBSyxDQUErQixFQUFFLENBQUMsQ0FBQztRQUMvRCxnRkFBZ0Y7UUFDdkUsaUJBQVksR0FBRyxLQUFLLENBQWlDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLHFFQUFxRTtRQUM1RCxXQUFNLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLDJFQUEyRTtRQUNsRSxXQUFNLEdB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TyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRVMsRUFBRSxDQUFDLEdBQVc7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7K0dBMUVVLDJCQUEyQjttR0FBM0IsMkJBQTJCLHN4QkF6SjVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Q1QsNDREQTlDUyxhQUFhOzs0RkEwSlosMkJBQTJCO2tCQTdKdkMsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsSUFBSSxXQUNQLENBQUMsYUFBYSxDQUFDLFlBQ2Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZDVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIG1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBMb2NhbGl6ZWRMYWJlbCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL29yZy9wZXJtaXNzaW9uLWNhdGFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uU2VsZWN0b3JSZXNvdXJjZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBERUZBVUxUX05BTUVTUEFDRSA9ICdQZXJtaXNzaW9uU2VsZWN0b3InO1xuXG5jb25zdCBQRVJNSVNTSU9OX1NFTEVDVE9SX0kxOE4gPSB7XG4gIGVzOiB7XG4gICAgc2VsZWN0QWxsOiAnVG9kbycsXG4gICAgY2xlYXJBbGw6ICdOaW5ndW5vJyxcbiAgICBlbXB0eTogJ05vIGhheSBwZXJtaXNvcyBkaXNwb25pYmxlcyBwYXJhIGFzaWduYXIuJyxcbiAgfSxcbiAgZW46IHtcbiAgICBzZWxlY3RBbGw6ICdBbGwnLFxuICAgIGNsZWFyQWxsOiAnTm9uZScsXG4gICAgZW1wdHk6ICdObyBwZXJtaXNzaW9ucyBhdmFpbGFibGUgdG8gYXNzaWduLicsXG4gIH0sXG59O1xuXG4vKipcbiAqIGB2YWwtcGVybWlzc2lvbi1zZWxlY3RvcmAg4oCUIHNlbGVjdG9yIGRlIHBlcm1pc29zIGFncnVwYWRvIHBvciByZWN1cnNvLlxuICpcbiAqIFByZXNlbnRhY2lvbmFsOiByZWNpYmUgZWwgY2F0w6Fsb2dvIChZQSBmaWx0cmFkbyBwb3IgZWwgY29uc3VtZXIg4oCUIHNpbiBgaW50ZXJuYWxgLFxuICogc2luIG90cmFzIGFwcHMpIHkgZW1pdGUgbG9zIGPDs2RpZ29zIGByZXNvdXJjZTphY3Rpb25gIHNlbGVjY2lvbmFkb3MuIEFncnVwYSBwb3JcbiAqIHJlY3Vyc28gY29uIHN1IGxhYmVsIGxlZ2libGUgKGRlbCBiYWNrZW5kKSwgdW5hIGZpbGEgcG9yIHJlY3Vyc28gY29uIGNoZWNrYm94XG4gKiBcIlRvZG9zXCIgKHRyaS1lc3RhZG8pIHkgdW4gY2hpcCBwb3IgYWNjacOzbi4gQmlsaW5nw7xlIHbDrWEgYGxvY2FsZWAgKyBsb3MgbGFiZWxzIGRlbFxuICogY2F0w6Fsb2dvOyBsYXMgcG9jYXMgZXRpcXVldGFzIHByb3BpYXMgKFRvZG9zIC8gdmFjw61vKSBzZSBhdXRvLXJlZ2lzdHJhbiAoZXMvZW4pLlxuICpcbiAqIFBlbnNhZG8gcGFyYSBlbCBtb2RhbCBkZSBjcmVhY2nDs24gZGUgQVBJIEtleSAoYXNpZ25hciBwZXJtaXNvcyBhIGxhIGtleSkgeVxuICogcmV1c2FibGUgZW4gY3VhbHF1aWVyIFVJIHF1ZSBhc2lnbmUgcGVybWlzb3MgKHJvbGVzIGN1c3RvbSwgZXRjLikuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1wZXJtaXNzaW9uLXNlbGVjdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1RleHRDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAoaGVhZGVyKCkgfHwgYWxsQ29kZXMoKS5sZW5ndGggPiAwKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwicGVybS1zZWxlY3Rvcl9fYmFyXCI+XG4gICAgICAgIEBpZiAoaGVhZGVyKCkpIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInBlcm0tc2VsZWN0b3JfX3RpdGxlXCI+e3sgaGVhZGVyKCkgfX0gKHt7IHNlbGVjdGVkQ291bnQoKSB9fSk8L3NwYW4+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGFsbENvZGVzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwicGVybS1zZWxlY3Rvcl9fdG9nZ2xlXCIgKGNsaWNrKT1cInRvZ2dsZUFsbCgpXCI+XG4gICAgICAgICAgICB7eyBhbGxTZWxlY3RlZCgpID8gdHQoJ2NsZWFyQWxsJykgOiB0dCgnc2VsZWN0QWxsJykgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAoZ3JvdXBzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICA8dmFsLXRleHQgW3Byb3BzXT1cInsgY29udGVudDogdHQoJ2VtcHR5JyksIHNpemU6ICdtZWRpdW0nLCBjb2xvcjogJ21lZGl1bScsIGJvbGQ6IGZhbHNlIH1cIiAvPlxuICAgIH0gQGVsc2Uge1xuICAgICAgPGRpdiBjbGFzcz1cInBlcm0tc2VsZWN0b3JcIj5cbiAgICAgICAgQGZvciAoZyBvZiBncm91cHMoKTsgdHJhY2sgZy5yZXNvdXJjZSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLWdyb3VwXCIgW2NsYXNzLnBlcm0tZ3JvdXAtLWFjdGl2ZV09XCJnLmNoZWNrZWRDb3VudCA+IDBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLWdyb3VwX19oZWFkXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInBlcm0tZ3JvdXBfX2FsbFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJnLmFsbFwiIFtpbmRldGVybWluYXRlXT1cImcuc29tZVwiIChjaGFuZ2UpPVwidG9nZ2xlR3JvdXAoZy5yZXNvdXJjZSlcIiAvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVybS1ncm91cF9fdGl0bGVcIj57eyBnLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBlcm0tZ3JvdXBfX2NvdW50XCI+e3sgZy5jaGVja2VkQ291bnQgfX0ve3sgZy5hY3Rpb25zLmxlbmd0aCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcm0tZ3JvdXBfX2FjdGlvbnNcIj5cbiAgICAgICAgICAgICAgQGZvciAoYSBvZiBnLmFjdGlvbnM7IHRyYWNrIGEuY29kZSkge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwZXJtLWNoaXBcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLnBlcm0tY2hpcC0tb25dPVwiYS5jaGVja2VkXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCJhLmNoZWNrZWRcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUFjdGlvbihhLmNvZGUpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBhLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAucGVybS1zZWxlY3Rvcl9fYmFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICAgIC5wZXJtLXNlbGVjdG9yX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgfVxuICAgICAgLnBlcm0tc2VsZWN0b3JfX3RvZ2dsZSB7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDRweCAycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXNlY29uZGFyeS1zaGFkZSwgdmFyKC0taW9uLWNvbG9yLXNlY29uZGFyeSkpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgICAucGVybS1zZWxlY3Rvcl9fdG9nZ2xlOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgICAucGVybS1zZWxlY3RvciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgIH1cbiAgICAgIC5wZXJtLWdyb3VwIHtcbiAgICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1pb24tY29sb3ItbGlnaHQsICNlN2U0ZWEpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlO1xuICAgICAgfVxuICAgICAgLnBlcm0tZ3JvdXAtLWFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taW9uLWNvbG9yLXNlY29uZGFyeSwgI2MwOTBmZik7XG4gICAgICB9XG4gICAgICAucGVybS1ncm91cF9faGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICB9XG4gICAgICAucGVybS1ncm91cF9fYWxsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyayk7XG4gICAgICB9XG4gICAgICAucGVybS1ncm91cF9fYWxsIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYWNjZW50LWNvbG9yOiB2YXIoLS1pb24tY29sb3Itc2Vjb25kYXJ5LCAjYzA5MGZmKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgICAgLnBlcm0tZ3JvdXBfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgICAgfVxuICAgICAgLnBlcm0tZ3JvdXBfX2NvdW50IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmssICM2YjY2NzUpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICAgIC5wZXJtLWdyb3VwX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIH1cbiAgICAgIC5wZXJtLWNoaXAge1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWlvbi1jb2xvci1kYXJrLCAjNmI2Njc1KTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyayk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBwYWRkaW5nOiA1cHggMTRweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsXG4gICAgICAgICAgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsXG4gICAgICAgICAgY29sb3IgMC4xNXMgZWFzZTtcbiAgICAgIH1cbiAgICAgIC5wZXJtLWNoaXA6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlvbi1jb2xvci1zZWNvbmRhcnksICNjMDkwZmYpO1xuICAgICAgfVxuICAgICAgLnBlcm0tY2hpcC0tb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3Itc2Vjb25kYXJ5LCAjYzA5MGZmKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pb24tY29sb3Itc2Vjb25kYXJ5LCAjYzA5MGZmKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1zZWNvbmRhcnktY29udHJhc3QsICMyZjJhMzYpO1xuICAgICAgfVxuICAgICAgOmhvc3QtY29udGV4dChib2R5LmRhcmspIC5wZXJtLWdyb3VwLFxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspIC5wZXJtLWdyb3VwIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25TZWxlY3RvckNvbXBvbmVudCB7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgLyoqIENhdMOhbG9nbyBZQSBmaWx0cmFkbyAoc2luIGludGVybmFsLCBzaW4gb3RyYXMgYXBwcykuICovXG4gIHJlYWRvbmx5IHBlcm1pc3Npb25zID0gaW5wdXQ8UGVybWlzc2lvblNlbGVjdG9yUmVzb3VyY2VbXT4oW10pO1xuICAvKiogTGFiZWxzIGRlIGFjY2nDs24gKGVzL2VuKSBwb3IgY8OzZGlnbyBkZSBhY2Npw7NuIOKAlCBkZWwgY2F0w6Fsb2dvIGRlbCBiYWNrZW5kLiAqL1xuICByZWFkb25seSBhY3Rpb25MYWJlbHMgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBMb2NhbGl6ZWRMYWJlbD4+KHt9KTtcbiAgLyoqIElkaW9tYSBhY3Rpdm8gKGVzL2VuKS4gU2kgbm8gc2UgcGFzYSwgdXNhIGVsIGRlIGBJMThuU2VydmljZWAuICovXG4gIHJlYWRvbmx5IGxvY2FsZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICAvKiogVMOtdHVsbyBvcGNpb25hbCBkZSBsYSBiYXJyYSBzdXBlcmlvciAoY29uIGNvbnRhZG9yICsgdG9nZ2xlIFwiVG9kb1wiKS4gKi9cbiAgcmVhZG9ubHkgaGVhZGVyID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIC8qKiBQZXJtaXNvcyBzZWxlY2Npb25hZG9zIChgcmVzb3VyY2U6YWN0aW9uYCkuIFR3by13YXkgKGBtb2RlbGApLiAqL1xuICByZWFkb25seSBzZWxlY3RlZCA9IG1vZGVsPHN0cmluZ1tdPihbXSk7XG5cbiAgLyoqIFRvZG9zIGxvcyBjw7NkaWdvcyBzZWxlY2Npb25hYmxlcyAoYHJlc291cmNlOmFjdGlvbmApIGRlbCBjYXTDoWxvZ28gYWN0dWFsLiAqL1xuICByZWFkb25seSBhbGxDb2RlcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMucGVybWlzc2lvbnMoKS5mbGF0TWFwKHIgPT4gci5hY3Rpb25zLm1hcChhID0+IGAke3IucmVzb3VyY2V9OiR7YX1gKSkpO1xuICByZWFkb25seSBzZWxlY3RlZENvdW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZWxlY3RlZCgpLmxlbmd0aCk7XG4gIHJlYWRvbmx5IGFsbFNlbGVjdGVkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGFsbCA9IHRoaXMuYWxsQ29kZXMoKTtcbiAgICBpZiAoYWxsLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IHNlbCA9IG5ldyBTZXQodGhpcy5zZWxlY3RlZCgpKTtcbiAgICByZXR1cm4gYWxsLmV2ZXJ5KGMgPT4gc2VsLmhhcyhjKSk7XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKERFRkFVTFRfTkFNRVNQQUNFLCBQRVJNSVNTSU9OX1NFTEVDVE9SX0kxOE4pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmVMb2NhbGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxvY2FsZSgpIHx8IHRoaXMuaTE4bi5sYW5nKCkpO1xuXG4gIHJlYWRvbmx5IGdyb3VwcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzZWwgPSBuZXcgU2V0KHRoaXMuc2VsZWN0ZWQoKSk7XG4gICAgY29uc3QgbG9jID0gdGhpcy5hY3RpdmVMb2NhbGUoKTtcbiAgICBjb25zdCBhY3Rpb25MYWJlbHMgPSB0aGlzLmFjdGlvbkxhYmVscygpO1xuICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25zKCkubWFwKHIgPT4ge1xuICAgICAgY29uc3QgYWN0aW9ucyA9IHIuYWN0aW9ucy5tYXAoYSA9PiB7XG4gICAgICAgIGNvbnN0IGNvZGUgPSBgJHtyLnJlc291cmNlfToke2F9YDtcbiAgICAgICAgcmV0dXJuIHsgYWN0aW9uOiBhLCBjb2RlLCBsYWJlbDogYWN0aW9uTGFiZWxzW2FdPy5bbG9jXSA/PyBhLCBjaGVja2VkOiBzZWwuaGFzKGNvZGUpIH07XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGNoZWNrZWRDb3VudCA9IGFjdGlvbnMuZmlsdGVyKGEgPT4gYS5jaGVja2VkKS5sZW5ndGg7XG4gICAgICByZXR1cm4ge1xuICAgICAgICByZXNvdXJjZTogci5yZXNvdXJjZSxcbiAgICAgICAgbGFiZWw6IHIubGFiZWw/Lltsb2NdID8/IHIucmVzb3VyY2UsXG4gICAgICAgIGFjdGlvbnMsXG4gICAgICAgIGNoZWNrZWRDb3VudCxcbiAgICAgICAgYWxsOiBhY3Rpb25zLmxlbmd0aCA+IDAgJiYgY2hlY2tlZENvdW50ID09PSBhY3Rpb25zLmxlbmd0aCxcbiAgICAgICAgc29tZTogY2hlY2tlZENvdW50ID4gMCAmJiBjaGVja2VkQ291bnQgPCBhY3Rpb25zLmxlbmd0aCxcbiAgICAgIH07XG4gICAgfSk7XG4gIH0pO1xuXG4gIHRvZ2dsZUFjdGlvbihjb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzZWwgPSBuZXcgU2V0KHRoaXMuc2VsZWN0ZWQoKSk7XG4gICAgaWYgKHNlbC5oYXMoY29kZSkpIHNlbC5kZWxldGUoY29kZSk7XG4gICAgZWxzZSBzZWwuYWRkKGNvZGUpO1xuICAgIHRoaXMuc2VsZWN0ZWQuc2V0KFsuLi5zZWxdKTtcbiAgfVxuXG4gIHRvZ2dsZUFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkLnNldCh0aGlzLmFsbFNlbGVjdGVkKCkgPyBbXSA6IFsuLi50aGlzLmFsbENvZGVzKCldKTtcbiAgfVxuXG4gIHRvZ2dsZUdyb3VwKHJlc291cmNlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBncm91cCA9IHRoaXMuZ3JvdXBzKCkuZmluZChnID0+IGcucmVzb3VyY2UgPT09IHJlc291cmNlKTtcbiAgICBpZiAoIWdyb3VwKSByZXR1cm47XG4gICAgY29uc3Qgc2VsID0gbmV3IFNldCh0aGlzLnNlbGVjdGVkKCkpO1xuICAgIGlmIChncm91cC5hbGwpIGdyb3VwLmFjdGlvbnMuZm9yRWFjaChhID0+IHNlbC5kZWxldGUoYS5jb2RlKSk7XG4gICAgZWxzZSBncm91cC5hY3Rpb25zLmZvckVhY2goYSA9PiBzZWwuYWRkKGEuY29kZSkpO1xuICAgIHRoaXMuc2VsZWN0ZWQuc2V0KFsuLi5zZWxdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0dChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCBERUZBVUxUX05BTUVTUEFDRSk7XG4gIH1cbn1cbiJdfQ==
@@ -327,7 +327,7 @@ export class PhoneInputComponent {
327
327
  </ion-note>
328
328
  }
329
329
  </div>
330
- `, isInline: true, styles: ["@charset \"UTF-8\";:host{display:block;width:100%}.phone-input-container.has-error .phone-input-wrapper{border-color:var(--ion-color-danger)}.phone-label{display:block;font-size:1rem;line-height:24px;font-weight:700;color:var(--ion-color-dark);margin-bottom:8px}.phone-input-wrapper{display:flex;align-items:stretch;border:1px solid var(--ion-color-step-300, #aeb0b3);border-radius:28px;background:var(--ion-background-color, #fff);overflow:hidden;transition:border-color .2s;height:56px}.phone-input-wrapper:focus-within{border-color:var(--ion-color-primary)}.phone-input-wrapper.disabled{opacity:.5;pointer-events:none}.country-selector{flex-shrink:0;border-right:1px solid var(--ion-border-color, rgba(0, 0, 0, .08));background:transparent;display:flex;align-items:center;padding:0 4px 0 16px}.country-selector ion-select{--background: transparent;--border-style: none;--border-width: 0;--border-color: transparent;--border-radius: 0;--box-shadow: none;--padding-start: 4px;--padding-end: 4px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;width:128px;min-width:128px;max-width:144px}.country-selector ion-select::part(container){border:none;box-shadow:none}.country-selector ion-select::part(icon){opacity:.6}.country-selector ion-select::part(text),.country-selector ion-select::part(placeholder){min-width:0;overflow:hidden;text-overflow:ellipsis}.country-selector ion-select.select-expanded{border:none!important}.country-selector .flag{margin-right:4px}.dial-code-display{flex-shrink:0;padding:0 12px;font-weight:500;color:var(--ion-color-medium-shade);border-right:1px solid var(--ion-border-color, rgba(0, 0, 0, .08));background:transparent;display:flex;align-items:center}.number-input{flex:1;display:flex;align-items:center;background:transparent;padding:0 16px 0 12px}.number-input .phone-icon{color:var(--ion-color-medium);font-size:1.125rem;margin-right:10px;flex-shrink:0}.number-input .phone-native-input{flex:1;width:100%;height:100%;border:none;outline:none;background:transparent;font-size:1rem;font-family:inherit;color:var(--ion-text-color, #000)}.number-input .phone-native-input::placeholder{color:var(--ion-color-medium, #92949c)}.number-input .phone-native-input:focus{outline:none;border:none}.number-input .phone-native-input:disabled{opacity:.5;cursor:not-allowed}.hint{display:block;font-size:.75rem;color:var(--ion-color-dark);margin-top:6px;padding-left:4px;text-align:left}.error-message{display:block;font-size:.75rem;margin-top:4px;padding-left:4px}::ng-deep .country-select-popover{--width: 200px}::ng-deep .country-select-popover .flag{margin-right:8px}@media (max-width: 380px){.country-selector{padding-left:12px}.country-selector ion-select{width:112px;min-width:112px;max-width:120px}.number-input{padding-right:12px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "errorText", "expandedIcon", "fill", "helperText", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
330
+ `, isInline: true, styles: ["@charset \"UTF-8\";:host{display:block;width:100%}.phone-input-container.has-error .phone-input-wrapper{border-color:var(--ion-color-danger)}.phone-label{display:block;font-size:1rem;line-height:24px;font-weight:700;color:var(--ion-color-dark);margin-bottom:8px}.phone-input-wrapper{display:flex;align-items:stretch;border:1px solid var(--ion-color-step-300, #aeb0b3);border-radius:28px;background:var(--ion-background-color, #fff);overflow:hidden;transition:border-color .2s;height:56px}.phone-input-wrapper:focus-within{border-color:var(--ion-color-primary)}.phone-input-wrapper.disabled{opacity:.5;pointer-events:none}.country-selector{flex-shrink:0;border-right:1px solid var(--ion-border-color, rgba(0, 0, 0, .08));background:transparent;display:flex;align-items:center;padding:0 4px 0 16px}.country-selector ion-select{--background: transparent;--border-style: none;--border-width: 0;--border-color: transparent;--border-radius: 0;--box-shadow: none;--padding-start: 4px;--padding-end: 4px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;width:128px;min-width:128px;max-width:144px}.country-selector ion-select::part(container){border:none;box-shadow:none}.country-selector ion-select::part(icon){opacity:.6}.country-selector ion-select::part(text),.country-selector ion-select::part(placeholder){min-width:0;overflow:hidden;text-overflow:ellipsis}.country-selector ion-select.select-expanded{border:none!important}.country-selector .flag{margin-right:4px}.dial-code-display{flex-shrink:0;padding:0 12px;font-weight:500;color:var(--ion-color-dark-shade);border-right:1px solid var(--ion-border-color, rgba(0, 0, 0, .08));background:transparent;display:flex;align-items:center}.number-input{flex:1;display:flex;align-items:center;background:transparent;padding:0 16px 0 12px}.number-input .phone-icon{color:var(--ion-color-dark);font-size:1.125rem;margin-right:10px;flex-shrink:0}.number-input .phone-native-input{flex:1;width:100%;height:100%;border:none;outline:none;background:transparent;font-size:1rem;font-family:inherit;color:var(--ion-text-color, #000)}.number-input .phone-native-input::placeholder{color:var(--ion-color-dark, #92949c)}.number-input .phone-native-input:focus{outline:none;border:none}.number-input .phone-native-input:disabled{opacity:.5;cursor:not-allowed}.hint{display:block;font-size:.75rem;color:var(--ion-color-dark);margin-top:6px;padding-left:4px;text-align:left}.error-message{display:block;font-size:.75rem;margin-top:4px;padding-left:4px}::ng-deep .country-select-popover{--width: 200px}::ng-deep .country-select-popover .flag{margin-right:8px}@media (max-width: 380px){.country-selector{padding-left:12px}.country-selector ion-select{width:112px;min-width:112px;max-width:120px}.number-input{padding-right:12px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "errorText", "expandedIcon", "fill", "helperText", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
331
331
  }
332
332
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneInputComponent, decorators: [{
333
333
  type: Component,
@@ -390,7 +390,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
390
390
  </ion-note>
391
391
  }
392
392
  </div>
393
- `, styles: ["@charset \"UTF-8\";:host{display:block;width:100%}.phone-input-container.has-error .phone-input-wrapper{border-color:var(--ion-color-danger)}.phone-label{display:block;font-size:1rem;line-height:24px;font-weight:700;color:var(--ion-color-dark);margin-bottom:8px}.phone-input-wrapper{display:flex;align-items:stretch;border:1px solid var(--ion-color-step-300, #aeb0b3);border-radius:28px;background:var(--ion-background-color, #fff);overflow:hidden;transition:border-color .2s;height:56px}.phone-input-wrapper:focus-within{border-color:var(--ion-color-primary)}.phone-input-wrapper.disabled{opacity:.5;pointer-events:none}.country-selector{flex-shrink:0;border-right:1px solid var(--ion-border-color, rgba(0, 0, 0, .08));background:transparent;display:flex;align-items:center;padding:0 4px 0 16px}.country-selector ion-select{--background: transparent;--border-style: none;--border-width: 0;--border-color: transparent;--border-radius: 0;--box-shadow: none;--padding-start: 4px;--padding-end: 4px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;width:128px;min-width:128px;max-width:144px}.country-selector ion-select::part(container){border:none;box-shadow:none}.country-selector ion-select::part(icon){opacity:.6}.country-selector ion-select::part(text),.country-selector ion-select::part(placeholder){min-width:0;overflow:hidden;text-overflow:ellipsis}.country-selector ion-select.select-expanded{border:none!important}.country-selector .flag{margin-right:4px}.dial-code-display{flex-shrink:0;padding:0 12px;font-weight:500;color:var(--ion-color-medium-shade);border-right:1px solid var(--ion-border-color, rgba(0, 0, 0, .08));background:transparent;display:flex;align-items:center}.number-input{flex:1;display:flex;align-items:center;background:transparent;padding:0 16px 0 12px}.number-input .phone-icon{color:var(--ion-color-medium);font-size:1.125rem;margin-right:10px;flex-shrink:0}.number-input .phone-native-input{flex:1;width:100%;height:100%;border:none;outline:none;background:transparent;font-size:1rem;font-family:inherit;color:var(--ion-text-color, #000)}.number-input .phone-native-input::placeholder{color:var(--ion-color-medium, #92949c)}.number-input .phone-native-input:focus{outline:none;border:none}.number-input .phone-native-input:disabled{opacity:.5;cursor:not-allowed}.hint{display:block;font-size:.75rem;color:var(--ion-color-dark);margin-top:6px;padding-left:4px;text-align:left}.error-message{display:block;font-size:.75rem;margin-top:4px;padding-left:4px}::ng-deep .country-select-popover{--width: 200px}::ng-deep .country-select-popover .flag{margin-right:8px}@media (max-width: 380px){.country-selector{padding-left:12px}.country-selector ion-select{width:112px;min-width:112px;max-width:120px}.number-input{padding-right:12px}}\n"] }]
393
+ `, styles: ["@charset \"UTF-8\";:host{display:block;width:100%}.phone-input-container.has-error .phone-input-wrapper{border-color:var(--ion-color-danger)}.phone-label{display:block;font-size:1rem;line-height:24px;font-weight:700;color:var(--ion-color-dark);margin-bottom:8px}.phone-input-wrapper{display:flex;align-items:stretch;border:1px solid var(--ion-color-step-300, #aeb0b3);border-radius:28px;background:var(--ion-background-color, #fff);overflow:hidden;transition:border-color .2s;height:56px}.phone-input-wrapper:focus-within{border-color:var(--ion-color-primary)}.phone-input-wrapper.disabled{opacity:.5;pointer-events:none}.country-selector{flex-shrink:0;border-right:1px solid var(--ion-border-color, rgba(0, 0, 0, .08));background:transparent;display:flex;align-items:center;padding:0 4px 0 16px}.country-selector ion-select{--background: transparent;--border-style: none;--border-width: 0;--border-color: transparent;--border-radius: 0;--box-shadow: none;--padding-start: 4px;--padding-end: 4px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;width:128px;min-width:128px;max-width:144px}.country-selector ion-select::part(container){border:none;box-shadow:none}.country-selector ion-select::part(icon){opacity:.6}.country-selector ion-select::part(text),.country-selector ion-select::part(placeholder){min-width:0;overflow:hidden;text-overflow:ellipsis}.country-selector ion-select.select-expanded{border:none!important}.country-selector .flag{margin-right:4px}.dial-code-display{flex-shrink:0;padding:0 12px;font-weight:500;color:var(--ion-color-dark-shade);border-right:1px solid var(--ion-border-color, rgba(0, 0, 0, .08));background:transparent;display:flex;align-items:center}.number-input{flex:1;display:flex;align-items:center;background:transparent;padding:0 16px 0 12px}.number-input .phone-icon{color:var(--ion-color-dark);font-size:1.125rem;margin-right:10px;flex-shrink:0}.number-input .phone-native-input{flex:1;width:100%;height:100%;border:none;outline:none;background:transparent;font-size:1rem;font-family:inherit;color:var(--ion-text-color, #000)}.number-input .phone-native-input::placeholder{color:var(--ion-color-dark, #92949c)}.number-input .phone-native-input:focus{outline:none;border:none}.number-input .phone-native-input:disabled{opacity:.5;cursor:not-allowed}.hint{display:block;font-size:.75rem;color:var(--ion-color-dark);margin-top:6px;padding-left:4px;text-align:left}.error-message{display:block;font-size:.75rem;margin-top:4px;padding-left:4px}::ng-deep .country-select-popover{--width: 200px}::ng-deep .country-select-popover .flag{margin-right:8px}@media (max-width: 380px){.country-selector{padding-left:12px}.country-selector ion-select{width:112px;min-width:112px;max-width:120px}.number-input{padding-right:12px}}\n"] }]
394
394
  }], propDecorators: { preset: [{
395
395
  type: Input
396
396
  }], props: [{
@@ -398,4 +398,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
398
398
  }], phoneChange: [{
399
399
  type: Output
400
400
  }] } });
401
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9waG9uZS1pbnB1dC9waG9uZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUtiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxFQUEwRCxvQkFBb0IsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBRXZHLFFBQVEsQ0FBQyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7QUFvRTlDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZCRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFoR2hDO1FBaUdVLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxNQUFNLENBQUMs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TSxhQUFhLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDM0MsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLFdBQVcsRUFBRSxHQUFHLGFBQWEsQ0FBQztRQUV2RCxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEUsT0FBTztRQUNULENBQUM7UUFFRCxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQzsrR0FuUlUsbUJBQW1CO21HQUFuQixtQkFBbUIsdUxBNUZwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyRFQsMjNGQTVEUyxZQUFZLDhCQUFFLG1CQUFtQiwwa0JBQUUsU0FBUyxrVkFBRSxlQUFlLDZGQUFFLE9BQU8sZ0ZBQUUsT0FBTzs7NEZBNkY5RSxtQkFBbUI7a0JBaEcvQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsWUFDaEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkRUOzhCQTRDUSxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQU9JLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25Jbml0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvblNlbGVjdCwgSW9uU2VsZWN0T3B0aW9uLCBJb25Ob3RlLCBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY2FsbE91dGxpbmUsIGNoZXZyb25Eb3duT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVzZXRzJztcbmltcG9ydCB7IFBob25lRm9ybWF0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3Bob25lLWZvcm1hdC9waG9uZS1mb3JtYXQuc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnRTdGF0ZXMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBQaG9uZUlucHV0TWV0YWRhdGEsIFBob25lSW5wdXRDaGFuZ2VFdmVudCwgQ291bnRyeUNvZGUsIENPTU1PTl9DT1VOVFJZX0NPREVTIH0gZnJvbSAnLi90eXBlcyc7XG5cbmFkZEljb25zKHsgY2FsbE91dGxpbmUsIGNoZXZyb25Eb3duT3V0bGluZSB9KTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXBob25lLWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgSW9uU2VsZWN0LCBJb25TZWxlY3RPcHRpb24sIElvbk5vdGUsIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJwaG9uZS1pbnB1dC1jb250YWluZXJcIiBbY2xhc3NdPVwicmVzb2x2ZWRQcm9wcy5jc3NDbGFzc1wiIFtjbGFzcy5oYXMtZXJyb3JdPVwiaGFzRXJyb3JcIj5cbiAgICAgIEBpZiAocmVzb2x2ZWRQcm9wcy5sYWJlbCkge1xuICAgICAgICA8bGFiZWwgY2xhc3M9XCJwaG9uZS1sYWJlbFwiPnt7IGdldExhYmVsKCkgfX08L2xhYmVsPlxuICAgICAgfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwicGhvbmUtaW5wdXQtd3JhcHBlclwiIFtjbGFzcy5kaXNhYmxlZF09XCJyZXNvbHZlZFByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIj5cbiAgICAgICAgQGlmIChyZXNvbHZlZFByb3BzLnNob3dDb3VudHJ5U2VsZWN0b3IgIT09IGZhbHNlKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50cnktc2VsZWN0b3JcIj5cbiAgICAgICAgICAgIDxpb24tc2VsZWN0XG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJpbnRlcm5hbENvdW50cnlDb250cm9sXCJcbiAgICAgICAgICAgICAgaW50ZXJmYWNlPVwicG9wb3ZlclwiXG4gICAgICAgICAgICAgIFtpbnRlcmZhY2VPcHRpb25zXT1cInsgY3NzQ2xhc3M6ICdjb3VudHJ5LXNlbGVjdC1wb3BvdmVyJyB9XCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlc29sdmVkUHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiXG4gICAgICAgICAgICAgIChpb25DaGFuZ2UpPVwib25Db3VudHJ5Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBAZm9yIChjb3VudHJ5IG9mIGdldENvdW50cnlMaXN0KCk7IHRyYWNrIGNvdW50cnkuY29kZSkge1xuICAgICAgICAgICAgICAgIDxpb24tc2VsZWN0LW9wdGlvbiBbdmFsdWVdPVwiY291bnRyeS5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICBAaWYgKHJlc29sdmVkUHJvcHMuc2hvd0ZsYWcgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxhZ1wiPnt7IGNvdW50cnkuZmxhZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHt7IGNvdW50cnkuZGlhbENvZGUgfX1cbiAgICAgICAgICAgICAgICA8L2lvbi1zZWxlY3Qtb3B0aW9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2lvbi1zZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsLWNvZGUtZGlzcGxheVwiPlxuICAgICAgICAgICAge3sgZ2V0U2VsZWN0ZWRDb3VudHJ5KCk/LmRpYWxDb2RlIHx8ICcrMScgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJudW1iZXItaW5wdXRcIj5cbiAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNhbGwtb3V0bGluZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwicGhvbmUtaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGVsXCJcbiAgICAgICAgICAgIGlucHV0bW9kZT1cInRlbFwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiaW50ZXJuYWxOdW1iZXJDb250cm9sXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cInJlc29sdmVkUHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRCA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLnJlYWRvbmx5XT1cInJlc29sdmVkUHJvcHMuc3RhdGUgPT09IHN0YXRlcy5XT1JLSU5HID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgICAgW21heExlbmd0aF09XCJnZXRJbnB1dE1heExlbmd0aCgpXCJcbiAgICAgICAgICAgIChpbnB1dCk9XCJvbk51bWJlcklucHV0TmF0aXZlKCRldmVudClcIlxuICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJwaG9uZS1uYXRpdmUtaW5wdXRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAocmVzb2x2ZWRQcm9wcy5oaW50ICYmICFoYXNFcnJvcikge1xuICAgICAgICA8aW9uLW5vdGUgY2xhc3M9XCJoaW50XCI+e3sgZ2V0SGludCgpIH19PC9pb24tbm90ZT5cbiAgICAgIH1cblxuICAgICAgQGlmIChoYXNFcnJvciAmJiByZXNvbHZlZFByb3BzLnNob3dFcnJvcnMpIHtcbiAgICAgICAgPGlvbi1ub3RlIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIGNvbG9yPVwiZGFuZ2VyXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKCkgfX1cbiAgICAgICAgPC9pb24tbm90ZT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcGhvbmUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1waG9uZS1pbnB1dFxuICpcbiAqIEEgcGhvbmUgbnVtYmVyIGlucHV0IHdpdGggY291bnRyeSBjb2RlIHNlbGVjdG9yLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiBgYGBodG1sXG4gKiA8dmFsLXBob25lLWlucHV0XG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgY29udHJvbDogcGhvbmVDb250cm9sLFxuICogICAgIHBsYWNlaG9sZGVyOiAnUGhvbmUgbnVtYmVyJyxcbiAqICAgICBkZWZhdWx0Q291bnRyeTogJ01YJ1xuICogICB9XCJcbiAqID48L3ZhbC1waG9uZS1pbnB1dD5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggY3VzdG9tIGNvdW50cmllc1xuICogYGBgaHRtbFxuICogPHZhbC1waG9uZS1pbnB1dFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNvbnRyb2w6IHBob25lQ29udHJvbCxcbiAqICAgICBsYWJlbDogJ1Bob25lJyxcbiAqICAgICBjb3VudHJ5Q29kZXM6IG15Q291bnRyeUNvZGVzLFxuICogICAgIHByZWZlcnJlZENvdW50cmllczogWydNWCcsICdVUycsICdFUyddLFxuICogICAgIHNob3dFcnJvcnM6IHRydWVcbiAqICAgfVwiXG4gKiAgIChwaG9uZUNoYW5nZSk9XCJvblBob25lQ2hhbmdlKCRldmVudClcIlxuICogPjwvdmFsLXBob25lLWlucHV0PlxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBQaG9uZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgRG9DaGVjayB7XG4gIHByaXZhdGUgcHJlc2V0cyA9IGluamVjdChQcmVzZXRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBwaG9uZUZvcm1hdCA9IGluamVjdChQaG9uZUZvcm1hdFNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBQcmVzZXQgbmFtZSB0byBhcHBseS4gUHJlc2V0cyBkZWZpbmUgcmV1c2FibGUgcGhvbmUgaW5wdXQgY29uZmlndXJhdGlvbnNcbiAgICogdGhhdCBjYW4gYmUgcmVnaXN0ZXJlZCBhdCBhcHAgbGV2ZWwgdmlhIHByb3ZpZGVWYWx0ZWNoUHJlc2V0cygpLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiA8dmFsLXBob25lLWlucHV0IHByZXNldD1cImZvcm0tZmllbGRcIiBbcHJvcHNdPVwieyBjb250cm9sOiBjdHJsIH1cIj48L3ZhbC1waG9uZS1pbnB1dD5cbiAgICovXG4gIEBJbnB1dCgpIHByZXNldD86IHN0cmluZztcblxuICAvKipcbiAgICogUGhvbmUgaW5wdXQgY29uZmlndXJhdGlvbiBvYmplY3QuIFZhbHVlcyBoZXJlIG92ZXJyaWRlIHByZXNldCB2YWx1ZXMuXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogUGFydGlhbDxQaG9uZUlucHV0TWV0YWRhdGE+ID0ge307XG5cbiAgLyoqXG4gICAqIFJlc29sdmVkIHByb3BzIGFmdGVyIG1lcmdpbmcgcHJlc2V0ICsgZXhwbGljaXQgcHJvcHMuXG4gICAqL1xuICByZXNvbHZlZFByb3BzOiBQaG9uZUlucHV0TWV0YWRhdGEgPSB7fSBhcyBQaG9uZUlucHV0TWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpIHBob25lQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQaG9uZUlucHV0Q2hhbmdlRXZlbnQ+KCk7XG5cbiAgc3RhdGVzID0gQ29tcG9uZW50U3RhdGVzO1xuXG4gIGludGVybmFsQ291bnRyeUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyk7XG4gIGludGVybmFsTnVtYmVyQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKTtcblxuICBwcml2YXRlIHZhbHVlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBpc0ludGVybmFsVXBkYXRlID0gZmFsc2U7XG4gIC8qKiDDmmx0aW1vIHZhbG9yIGRlbCBjb250cm9sIGV4dGVybm8geWEgcmVmbGVqYWRvIGVuIGVsIGlucHV0LiAqL1xuICBwcml2YXRlIGxhc3RTeW5jZWRWYWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgICB0aGlzLnNldHVwQ29tcG9uZW50KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3ByZXNldCddIHx8IGNoYW5nZXNbJ3Byb3BzJ10pIHtcbiAgICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gICAgICB0aGlzLnNldHVwQ29tcG9uZW50KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlZmxlamEgY2FtYmlvcyBkZWwgY29udHJvbCBleHRlcm5vIHF1ZSBOTyBlbWl0ZW4gYHZhbHVlQ2hhbmdlc2Ag4oCUIHAuIGVqLlxuICAgKiBgcGF0Y2hWYWx1ZSguLi4sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KWAgZW4gdW5hIGNhcmdhIHByb2dyYW3DoXRpY2EgZGUgZGF0b3MuXG4gICAqIFNpbiBlc3RvIGVsIGlucHV0IHF1ZWRhcsOtYSB2YWPDrW8gdHJhcyB1biBgcGF0Y2hWYWx1ZWAgc2lsZW5jaW9zby5cbiAgICovXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy52YWx1ZSA/PyBudWxsO1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5sYXN0U3luY2VkVmFsdWUgJiYgIXRoaXMuaXNJbnRlcm5hbFVwZGF0ZSkge1xuICAgICAgdGhpcy5sYXN0U3luY2VkVmFsdWUgPSB2YWx1ZTtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB0aGlzLnBhcnNlUGhvbmVOdW1iZXIodmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgcHJlc2V0IGNvbmZpZ3VyYXRpb24gd2l0aCBleHBsaWNpdCBwcm9wcy5cbiAgICogRXhwbGljaXQgcHJvcHMgdGFrZSBwcmVjZWRlbmNlIG92ZXIgcHJlc2V0IHZhbHVlcy5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZVByb3BzKCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXNldFByb3BzID0gdGhpcy5wcmVzZXQgPyAodGhpcy5wcmVzZXRzLmdldCgncGhvbmVJbnB1dCcsIHRoaXMucHJlc2V0KSBhcyBQYXJ0aWFsPFBob25lSW5wdXRNZXRhZGF0YT4pIDoge307XG5cbiAgICB0aGlzLnJlc29sdmVkUHJvcHMgPSB7XG4gICAgICAuLi5wcmVzZXRQcm9wcyxcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgfSBhcyBQaG9uZUlucHV0TWV0YWRhdGE7XG4gIH1cblxuICBwcml2YXRlIHNldHVwQ29tcG9uZW50KCk6IHZvaWQge1xuICAgIC8vIFNldCBkZWZhdWx0IGNvdW50cnkg4oCUIGZhbGxiYWNrIENoaWxlIChtZXJjYWRvIHByaW1hcmlvIGRlbCBmYWN0b3J5IFZhbHRlY2gpLlxuICAgIC8vIEN1YWxxdWllciBjb25zdW1lciBwdWVkZSBzb2JyZXNjcmliaXIgdmlhIGBwcm9wcy5kZWZhdWx0Q291bnRyeWAuXG4gICAgY29uc3QgZGVmYXVsdENvdW50cnkgPSB0aGlzLnJlc29sdmVkUHJvcHMuZGVmYXVsdENvdW50cnkgfHwgJ0NMJztcbiAgICB0aGlzLmludGVybmFsQ291bnRyeUNvbnRyb2wuc2V0VmFsdWUoZGVmYXVsdENvdW50cnkpO1xuXG4gICAgLy8gU3luYyB3aXRoIGV4dGVybmFsIGNvbnRyb2xzIGlmIHByb3ZpZGVkXG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5jb3VudHJ5Q29udHJvbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbENvdW50cnlDb250cm9sID0gdGhpcy5yZXNvbHZlZFByb3BzLmNvdW50cnlDb250cm9sO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLm51bWJlckNvbnRyb2wpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxOdW1iZXJDb250cm9sID0gdGhpcy5yZXNvbHZlZFByb3BzLm51bWJlckNvbnRyb2w7XG4gICAgfVxuXG4gICAgLy8gUGFyc2UgaW5pdGlhbCB2YWx1ZSBmcm9tIG1haW4gY29udHJvbFxuICAgIHRoaXMubGFzdFN5bmNlZFZhbHVlID0gdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2w/LnZhbHVlID8/IG51bGw7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy52YWx1ZSkge1xuICAgICAgdGhpcy5wYXJzZVBob25lTnVtYmVyKHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sLnZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gbWFpbiBjb250cm9sIGNoYW5nZXNcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMudmFsdWVTdWJzY3JpcHRpb24gPVxuICAgICAgdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICBpZiAodmFsdWUgJiYgIXRoaXMuaXNJbnRlcm5hbFVwZGF0ZSkge1xuICAgICAgICAgIHRoaXMucGFyc2VQaG9uZU51bWJlcih2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pIHx8IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlUGhvbmVOdW1iZXIodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcblxuICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMucGhvbmVGb3JtYXQucGFyc2UodmFsdWUsIHtcbiAgICAgIGNvdW50cmllczogdGhpcy5nZXRDb3VudHJ5TGlzdCgpLFxuICAgICAgZGVmYXVsdENvdW50cnk6IHRoaXMucmVzb2x2ZWRQcm9wcy5kZWZhdWx0Q291bnRyeSB8fCAnQ0wnLFxuICAgICAgY291bnRyeTogdGhpcy5nZXRTZWxlY3RlZENvdW50cnkoKSxcbiAgICAgIG1pbkRpZ2l0czogdGhpcy5yZXNvbHZlZFByb3BzLm1pbkRpZ2l0cyxcbiAgICAgIG1heERpZ2l0czogdGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cyxcbiAgICAgIHBhdHRlcm46IHRoaXMucmVzb2x2ZWRQcm9wcy5wYXR0ZXJuLFxuICAgIH0pO1xuICAgIGlmIChwYXJzZWQuY291bnRyeSkge1xuICAgICAgdGhpcy5pbnRlcm5hbENvdW50cnlDb250cm9sLnNldFZhbHVlKHBhcnNlZC5jb3VudHJ5LmNvZGUpO1xuICAgIH1cbiAgICB0aGlzLmludGVybmFsTnVtYmVyQ29udHJvbC5zZXRWYWx1ZShwYXJzZWQubmF0aW9uYWxOdW1iZXIpO1xuICB9XG5cbiAgZ2V0TGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzLmxhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0UGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICAvLyBVc2UgZm9ybWF0IGZyb20gc2VsZWN0ZWQgY291bnRyeSBpZiBhdmFpbGFibGVcbiAgICBjb25zdCBjb3VudHJ5ID0gdGhpcy5nZXRTZWxlY3RlZENvdW50cnkoKTtcbiAgICBpZiAoY291bnRyeT8uZm9ybWF0ICYmICF0aGlzLnJlc29sdmVkUHJvcHMucGxhY2Vob2xkZXIpIHtcbiAgICAgIHJldHVybiBjb3VudHJ5LmZvcm1hdDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcy5wbGFjZWhvbGRlciB8fCAnJztcbiAgfVxuXG4gIGdldEhpbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzLmhpbnQgfHwgJyc7XG4gIH1cblxuICBnZXRJbnB1dE1heExlbmd0aCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGNvdW50cnkgPSB0aGlzLmdldFNlbGVjdGVkQ291bnRyeSgpO1xuICAgIGNvbnN0IGZvcm1hdExlbmd0aCA9IGNvdW50cnk/LmZvcm1hdD8ubGVuZ3RoO1xuICAgIGlmIChmb3JtYXRMZW5ndGggJiYgdGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cykge1xuICAgICAgcmV0dXJuIE1hdGgubWF4KGZvcm1hdExlbmd0aCwgdGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cyk7XG4gICAgfVxuICAgIHJldHVybiBmb3JtYXRMZW5ndGggfHwgdGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cyB8fCAxNTtcbiAgfVxuXG4gIGdldENvdW50cnlMaXN0KCk6IENvdW50cnlDb2RlW10ge1xuICAgIGNvbnN0IGNvdW50cmllcyA9IHRoaXMucmVzb2x2ZWRQcm9wcy5jb3VudHJ5Q29kZXMgfHwgQ09NTU9OX0NPVU5UUllfQ09ERVM7XG5cbiAgICAvLyBTb3J0IGJ5IHByZWZlcnJlZCBjb3VudHJpZXMgZmlyc3RcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLnByZWZlcnJlZENvdW50cmllcz8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCBwcmVmZXJyZWQgPSB0aGlzLnJlc29sdmVkUHJvcHMucHJlZmVycmVkQ291bnRyaWVzO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4uY291bnRyaWVzLmZpbHRlcihjID0+IHByZWZlcnJlZC5pbmNsdWRlcyhjLmNvZGUpKSxcbiAgICAgICAgLi4uY291bnRyaWVzLmZpbHRlcihjID0+ICFwcmVmZXJyZWQuaW5jbHVkZXMoYy5jb2RlKSksXG4gICAgICBdO1xuICAgIH1cblxuICAgIHJldHVybiBjb3VudHJpZXM7XG4gIH1cblxuICBnZXRTZWxlY3RlZENvdW50cnkoKTogQ291bnRyeUNvZGUgfCBudWxsIHtcbiAgICBjb25zdCBjb2RlID0gdGhpcy5pbnRlcm5hbENvdW50cnlDb250cm9sLnZhbHVlO1xuICAgIHJldHVybiB0aGlzLmdldENvdW50cnlMaXN0KCkuZmluZChjID0+IGMuY29kZSA9PT0gY29kZSkgfHwgbnVsbDtcbiAgfVxuXG4gIGdldCBoYXNFcnJvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2w/LnRvdWNoZWQgJiYgdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2w/LmludmFsaWQpO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8uZXJyb3JzIHx8ICF0aGlzLnJlc29sdmVkUHJvcHMuZXJyb3JzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2w/LmVycm9ycz8uWydwaG9uZUludmFsaWQnXSA/ICdJbnZhbGlkIHBob25lIG51bWJlci4nIDogJyc7XG4gICAgfVxuXG4gICAgY29uc3QgZXJyb3JLZXlzID0gT2JqZWN0LmtleXModGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2wuZXJyb3JzKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBlcnJvcktleXMpIHtcbiAgICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMuZXJyb3JzW2tleV0pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcy5lcnJvcnNba2V5XTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBvbkNvdW50cnlDaGFuZ2UoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY291bnRyeSA9IHRoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5KCk7XG4gICAgdGhpcy5pbnRlcm5hbE51bWJlckNvbnRyb2wuc2V0VmFsdWUoXG4gICAgICB0aGlzLnBob25lRm9ybWF0LmZvcm1hdE5hdGlvbmFsKHRoaXMuaW50ZXJuYWxOdW1iZXJDb250cm9sLnZhbHVlLCBjb3VudHJ5LCB0aGlzLnJlc29sdmVkUHJvcHMubWF4RGlnaXRzKVxuICAgICk7XG4gICAgdGhpcy51cGRhdGVNYWluQ29udHJvbCgpO1xuICB9XG5cbiAgb25OdW1iZXJJbnB1dChldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2FuaXRpemVOdW1iZXJJbnB1dChldmVudC5kZXRhaWwudmFsdWUgfHwgJycpO1xuICAgIHRoaXMuaW50ZXJuYWxOdW1iZXJDb250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLnVwZGF0ZU1haW5Db250cm9sKCk7XG4gIH1cblxuICBvbk51bWJlcklucHV0TmF0aXZlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnNhbml0aXplTnVtYmVySW5wdXQoaW5wdXQudmFsdWUgfHwgJycpO1xuICAgIGlucHV0LnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5pbnRlcm5hbE51bWJlckNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgIHRoaXMudXBkYXRlTWFpbkNvbnRyb2woKTtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMuc3luY1Bob25lVmFsaWRhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVNYWluQ29udHJvbCgpOiB2b2lkIHtcbiAgICBjb25zdCBjb3VudHJ5ID0gdGhpcy5nZXRTZWxlY3RlZENvdW50cnkoKTtcbiAgICBjb25zdCBwYXJzZWQgPSB0aGlzLnBob25lRm9ybWF0Lm5vcm1hbGl6ZSh0aGlzLmludGVybmFsTnVtYmVyQ29udHJvbC52YWx1ZSB8fCAnJywge1xuICAgICAgY291bnRyaWVzOiB0aGlzLmdldENvdW50cnlMaXN0KCksXG4gICAgICBkZWZhdWx0Q291bnRyeTogdGhpcy5yZXNvbHZlZFByb3BzLmRlZmF1bHRDb3VudHJ5IHx8ICdDTCcsXG4gICAgICBjb3VudHJ5LFxuICAgICAgbWluRGlnaXRzOiB0aGlzLnJlc29sdmVkUHJvcHMubWluRGlnaXRzLFxuICAgICAgbWF4RGlnaXRzOiB0aGlzLnJlc29sdmVkUHJvcHMubWF4RGlnaXRzLFxuICAgICAgcGF0dGVybjogdGhpcy5yZXNvbHZlZFByb3BzLnBhdHRlcm4sXG4gICAgfSk7XG4gICAgY29uc3QgbnVtYmVyID0gcGFyc2VkLm5hdGlvbmFsTnVtYmVyO1xuICAgIGNvbnN0IGZ1bGxOdW1iZXIgPSBwYXJzZWQuZTE2NDtcblxuICAgIHRoaXMuaXNJbnRlcm5hbFVwZGF0ZSA9IHRydWU7XG4gICAgdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2w/LnNldFZhbHVlKGZ1bGxOdW1iZXIpO1xuICAgIHRoaXMuaXNJbnRlcm5hbFVwZGF0ZSA9IGZhbHNlO1xuICAgIC8vIEV2aXRhIHF1ZSBuZ0RvQ2hlY2sgcmUtcGFyc2VlIHVuIGNhbWJpbyBvcmlnaW5hZG8gYXF1w60gbWlzbW8uXG4gICAgdGhpcy5sYXN0U3luY2VkVmFsdWUgPSBmdWxsTnVtYmVyO1xuXG4gICAgLy8gRW1pdCBjaGFuZ2UgZXZlbnRcbiAgICB0aGlzLnBob25lQ2hhbmdlLmVtaXQoe1xuICAgICAgZnVsbE51bWJlcixcbiAgICAgIG51bWJlcixcbiAgICAgIGNvdW50cnk6IHBhcnNlZC5jb3VudHJ5LFxuICAgICAgaXNWYWxpZDogcGFyc2VkLmlzVmFsaWQsXG4gICAgfSk7XG4gICAgdGhpcy5zeW5jUGhvbmVWYWxpZGF0aW9uKHBhcnNlZC5pc1ZhbGlkLCBmdWxsTnVtYmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgc2FuaXRpemVOdW1iZXJJbnB1dCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5waG9uZUZvcm1hdC5mb3JtYXROYXRpb25hbCh2YWx1ZSwgdGhpcy5nZXRTZWxlY3RlZENvdW50cnkoKSwgdGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cyk7XG4gIH1cblxuICBwcml2YXRlIHN5bmNQaG9uZVZhbGlkYXRpb24oaXNWYWxpZD86IGJvb2xlYW4sIGZ1bGxOdW1iZXI/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLnZhbGlkYXRlRm9ybWF0ID09PSBmYWxzZSB8fCAhdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2wpIHJldHVybjtcblxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbDtcbiAgICBjb25zdCB2YWx1ZSA9IGZ1bGxOdW1iZXIgPz8gU3RyaW5nKGNvbnRyb2wudmFsdWUgPz8gJycpO1xuICAgIGNvbnN0IHZhbGlkID1cbiAgICAgIGlzVmFsaWQgPz9cbiAgICAgIHRoaXMucGhvbmVGb3JtYXQuaXNWYWxpZCh2YWx1ZSwge1xuICAgICAgICBjb3VudHJpZXM6IHRoaXMuZ2V0Q291bnRyeUxpc3QoKSxcbiAgICAgICAgZGVmYXVsdENvdW50cnk6IHRoaXMucmVzb2x2ZWRQcm9wcy5kZWZhdWx0Q291bnRyeSB8fCAnQ0wnLFxuICAgICAgICBjb3VudHJ5OiB0aGlzLmdldFNlbGVjdGVkQ291bnRyeSgpLFxuICAgICAgICBtaW5EaWdpdHM6IHRoaXMucmVzb2x2ZWRQcm9wcy5taW5EaWdpdHMsXG4gICAgICAgIG1heERpZ2l0czogdGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cyxcbiAgICAgICAgcGF0dGVybjogdGhpcy5yZXNvbHZlZFByb3BzLnBhdHRlcm4sXG4gICAgICB9KTtcbiAgICBjb25zdCBjdXJyZW50RXJyb3JzID0gY29udHJvbC5lcnJvcnMgPz8ge307XG4gICAgY29uc3QgeyBwaG9uZUludmFsaWQsIC4uLm90aGVyRXJyb3JzIH0gPSBjdXJyZW50RXJyb3JzO1xuXG4gICAgaWYgKCF2YWx1ZSB8fCB2YWxpZCkge1xuICAgICAgY29udHJvbC5zZXRFcnJvcnMoT2JqZWN0LmtleXMob3RoZXJFcnJvcnMpLmxlbmd0aCA/IG90aGVyRXJyb3JzIDogbnVsbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29udHJvbC5zZXRFcnJvcnMoeyAuLi5vdGhlckVycm9ycywgcGhvbmVJbnZhbGlkOiB0cnVlIH0pO1xuICB9XG59XG4iXX0=
401
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9waG9uZS1pbnB1dC9waG9uZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUtiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxFQUEwRCxvQkFBb0IsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBRXZHLFFBQVEsQ0FBQyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7QUFvRTlDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZCRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFoR2hDO1FBaUdVLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxNQUFNLENBQUMs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TSxhQUFhLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDM0MsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLFdBQVcsRUFBRSxHQUFHLGFBQWEsQ0FBQztRQUV2RCxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEUsT0FBTztRQUNULENBQUM7UUFFRCxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQzsrR0FuUlUsbUJBQW1CO21HQUFuQixtQkFBbUIsdUxBNUZwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyRFQscTNGQTVEUyxZQUFZLDhCQUFFLG1CQUFtQiwwa0JBQUUsU0FBUyxrVkFBRSxlQUFlLDZGQUFFLE9BQU8sZ0ZBQUUsT0FBTzs7NEZBNkY5RSxtQkFBbUI7a0JBaEcvQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsWUFDaEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkRUOzhCQTRDUSxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQU9JLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25Jbml0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvblNlbGVjdCwgSW9uU2VsZWN0T3B0aW9uLCBJb25Ob3RlLCBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY2FsbE91dGxpbmUsIGNoZXZyb25Eb3duT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVzZXRzJztcbmltcG9ydCB7IFBob25lRm9ybWF0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3Bob25lLWZvcm1hdC9waG9uZS1mb3JtYXQuc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnRTdGF0ZXMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBQaG9uZUlucHV0TWV0YWRhdGEsIFBob25lSW5wdXRDaGFuZ2VFdmVudCwgQ291bnRyeUNvZGUsIENPTU1PTl9DT1VOVFJZX0NPREVTIH0gZnJvbSAnLi90eXBlcyc7XG5cbmFkZEljb25zKHsgY2FsbE91dGxpbmUsIGNoZXZyb25Eb3duT3V0bGluZSB9KTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXBob25lLWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgSW9uU2VsZWN0LCBJb25TZWxlY3RPcHRpb24sIElvbk5vdGUsIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJwaG9uZS1pbnB1dC1jb250YWluZXJcIiBbY2xhc3NdPVwicmVzb2x2ZWRQcm9wcy5jc3NDbGFzc1wiIFtjbGFzcy5oYXMtZXJyb3JdPVwiaGFzRXJyb3JcIj5cbiAgICAgIEBpZiAocmVzb2x2ZWRQcm9wcy5sYWJlbCkge1xuICAgICAgICA8bGFiZWwgY2xhc3M9XCJwaG9uZS1sYWJlbFwiPnt7IGdldExhYmVsKCkgfX08L2xhYmVsPlxuICAgICAgfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwicGhvbmUtaW5wdXQtd3JhcHBlclwiIFtjbGFzcy5kaXNhYmxlZF09XCJyZXNvbHZlZFByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIj5cbiAgICAgICAgQGlmIChyZXNvbHZlZFByb3BzLnNob3dDb3VudHJ5U2VsZWN0b3IgIT09IGZhbHNlKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50cnktc2VsZWN0b3JcIj5cbiAgICAgICAgICAgIDxpb24tc2VsZWN0XG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJpbnRlcm5hbENvdW50cnlDb250cm9sXCJcbiAgICAgICAgICAgICAgaW50ZXJmYWNlPVwicG9wb3ZlclwiXG4gICAgICAgICAgICAgIFtpbnRlcmZhY2VPcHRpb25zXT1cInsgY3NzQ2xhc3M6ICdjb3VudHJ5LXNlbGVjdC1wb3BvdmVyJyB9XCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlc29sdmVkUHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiXG4gICAgICAgICAgICAgIChpb25DaGFuZ2UpPVwib25Db3VudHJ5Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBAZm9yIChjb3VudHJ5IG9mIGdldENvdW50cnlMaXN0KCk7IHRyYWNrIGNvdW50cnkuY29kZSkge1xuICAgICAgICAgICAgICAgIDxpb24tc2VsZWN0LW9wdGlvbiBbdmFsdWVdPVwiY291bnRyeS5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICBAaWYgKHJlc29sdmVkUHJvcHMuc2hvd0ZsYWcgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxhZ1wiPnt7IGNvdW50cnkuZmxhZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHt7IGNvdW50cnkuZGlhbENvZGUgfX1cbiAgICAgICAgICAgICAgICA8L2lvbi1zZWxlY3Qtb3B0aW9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2lvbi1zZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsLWNvZGUtZGlzcGxheVwiPlxuICAgICAgICAgICAge3sgZ2V0U2VsZWN0ZWRDb3VudHJ5KCk/LmRpYWxDb2RlIHx8ICcrMScgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJudW1iZXItaW5wdXRcIj5cbiAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNhbGwtb3V0bGluZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwicGhvbmUtaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGVsXCJcbiAgICAgICAgICAgIGlucHV0bW9kZT1cInRlbFwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiaW50ZXJuYWxOdW1iZXJDb250cm9sXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cInJlc29sdmVkUHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRCA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLnJlYWRvbmx5XT1cInJlc29sdmVkUHJvcHMuc3RhdGUgPT09IHN0YXRlcy5XT1JLSU5HID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgICAgW21heExlbmd0aF09XCJnZXRJbnB1dE1heExlbmd0aCgpXCJcbiAgICAgICAgICAgIChpbnB1dCk9XCJvbk51bWJlcklucHV0TmF0aXZlKCRldmVudClcIlxuICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJwaG9uZS1uYXRpdmUtaW5wdXRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAocmVzb2x2ZWRQcm9wcy5oaW50ICYmICFoYXNFcnJvcikge1xuICAgICAgICA8aW9uLW5vdGUgY2xhc3M9XCJoaW50XCI+e3sgZ2V0SGludCgpIH19PC9pb24tbm90ZT5cbiAgICAgIH1cblxuICAgICAgQGlmIChoYXNFcnJvciAmJiByZXNvbHZlZFByb3BzLnNob3dFcnJvcnMpIHtcbiAgICAgICAgPGlvbi1ub3RlIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIGNvbG9yPVwiZGFuZ2VyXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKCkgfX1cbiAgICAgICAgPC9pb24tbm90ZT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcGhvbmUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1waG9uZS1pbnB1dFxuICpcbiAqIEEgcGhvbmUgbnVtYmVyIGlucHV0IHdpdGggY291bnRyeSBjb2RlIHNlbGVjdG9yLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiBgYGBodG1sXG4gKiA8dmFsLXBob25lLWlucHV0XG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgY29udHJvbDogcGhvbmVDb250cm9sLFxuICogICAgIHBsYWNlaG9sZGVyOiAnUGhvbmUgbnVtYmVyJyxcbiAqICAgICBkZWZhdWx0Q291bnRyeTogJ01YJ1xuICogICB9XCJcbiAqID48L3ZhbC1waG9uZS1pbnB1dD5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggY3VzdG9tIGNvdW50cmllc1xuICogYGBgaHRtbFxuICogPHZhbC1waG9uZS1pbnB1dFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNvbnRyb2w6IHBob25lQ29udHJvbCxcbiAqICAgICBsYWJlbDogJ1Bob25lJyxcbiAqICAgICBjb3VudHJ5Q29kZXM6IG15Q291bnRyeUNvZGVzLFxuICogICAgIHByZWZlcnJlZENvdW50cmllczogWydNWCcsICdVUycsICdFUyddLFxuICogICAgIHNob3dFcnJvcnM6IHRydWVcbiAqICAgfVwiXG4gKiAgIChwaG9uZUNoYW5nZSk9XCJvblBob25lQ2hhbmdlKCRldmVudClcIlxuICogPjwvdmFsLXBob25lLWlucHV0PlxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBQaG9uZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgRG9DaGVjayB7XG4gIHByaXZhdGUgcHJlc2V0cyA9IGluamVjdChQcmVzZXRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBwaG9uZUZvcm1hdCA9IGluamVjdChQaG9uZUZvcm1hdFNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBQcmVzZXQgbmFtZSB0byBhcHBseS4gUHJlc2V0cyBkZWZpbmUgcmV1c2FibGUgcGhvbmUgaW5wdXQgY29uZmlndXJhdGlvbnNcbiAgICogdGhhdCBjYW4gYmUgcmVnaXN0ZXJlZCBhdCBhcHAgbGV2ZWwgdmlhIHByb3ZpZGVWYWx0ZWNoUHJlc2V0cygpLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiA8dmFsLXBob25lLWlucHV0IHByZXNldD1cImZvcm0tZmllbGRcIiBbcHJvcHNdPVwieyBjb250cm9sOiBjdHJsIH1cIj48L3ZhbC1waG9uZS1pbnB1dD5cbiAgICovXG4gIEBJbnB1dCgpIHByZXNldD86IHN0cmluZztcblxuICAvKipcbiAgICogUGhvbmUgaW5wdXQgY29uZmlndXJhdGlvbiBvYmplY3QuIFZhbHVlcyBoZXJlIG92ZXJyaWRlIHByZXNldCB2YWx1ZXMuXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogUGFydGlhbDxQaG9uZUlucHV0TWV0YWRhdGE+ID0ge307XG5cbiAgLyoqXG4gICAqIFJlc29sdmVkIHByb3BzIGFmdGVyIG1lcmdpbmcgcHJlc2V0ICsgZXhwbGljaXQgcHJvcHMuXG4gICAqL1xuICByZXNvbHZlZFByb3BzOiBQaG9uZUlucHV0TWV0YWRhdGEgPSB7fSBhcyBQaG9uZUlucHV0TWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpIHBob25lQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQaG9uZUlucHV0Q2hhbmdlRXZlbnQ+KCk7XG5cbiAgc3RhdGVzID0gQ29tcG9uZW50U3RhdGVzO1xuXG4gIGludGVybmFsQ291bnRyeUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyk7XG4gIGludGVybmFsTnVtYmVyQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKTtcblxuICBwcml2YXRlIHZhbHVlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBpc0ludGVybmFsVXBkYXRlID0gZmFsc2U7XG4gIC8qKiDDmmx0aW1vIHZhbG9yIGRlbCBjb250cm9sIGV4dGVybm8geWEgcmVmbGVqYWRvIGVuIGVsIGlucHV0LiAqL1xuICBwcml2YXRlIGxhc3RTeW5jZWRWYWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgICB0aGlzLnNldHVwQ29tcG9uZW50KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3ByZXNldCddIHx8IGNoYW5nZXNbJ3Byb3BzJ10pIHtcbiAgICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gICAgICB0aGlzLnNldHVwQ29tcG9uZW50KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlZmxlamEgY2FtYmlvcyBkZWwgY29udHJvbCBleHRlcm5vIHF1ZSBOTyBlbWl0ZW4gYHZhbHVlQ2hhbmdlc2Ag4oCUIHAuIGVqLlxuICAgKiBgcGF0Y2hWYWx1ZSguLi4sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KWAgZW4gdW5hIGNhcmdhIHByb2dyYW3DoXRpY2EgZGUgZGF0b3MuXG4gICAqIFNpbiBlc3RvIGVsIGlucHV0IHF1ZWRhcsOtYSB2YWPDrW8gdHJhcyB1biBgcGF0Y2hWYWx1ZWAgc2lsZW5jaW9zby5cbiAgICovXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy52YWx1ZSA/PyBudWxsO1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5sYXN0U3luY2VkVmFsdWUgJiYgIXRoaXMuaXNJbnRlcm5hbFVwZGF0ZSkge1xuICAgICAgdGhpcy5sYXN0U3luY2VkVmFsdWUgPSB2YWx1ZTtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB0aGlzLnBhcnNlUGhvbmVOdW1iZXIodmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgcHJlc2V0IGNvbmZpZ3VyYXRpb24gd2l0aCBleHBsaWNpdCBwcm9wcy5cbiAgICogRXhwbGljaXQgcHJvcHMgdGFrZSBwcmVjZWRlbmNlIG92ZXIgcHJlc2V0IHZhbHVlcy5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZVByb3BzKCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXNldFByb3BzID0gdGhpcy5wcmVzZXQgPyAodGhpcy5wcmVzZXRzLmdldCgncGhvbmVJbnB1dCcsIHRoaXMucHJlc2V0KSBhcyBQYXJ0aWFsPFBob25lSW5wdXRNZXRhZGF0YT4pIDoge307XG5cbiAgICB0aGlzLnJlc29sdmVkUHJvcHMgPSB7XG4gICAgICAuLi5wcmVzZXRQcm9wcyxcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgfSBhcyBQaG9uZUlucHV0TWV0YWRhdGE7XG4gIH1cblxuICBwcml2YXRlIHNldHVwQ29tcG9uZW50KCk6IHZvaWQge1xuICAgIC8vIFNldCBkZWZhdWx0IGNvdW50cnkg4oCUIGZhbGxiYWNrIENoaWxlIChtZXJjYWRvIHByaW1hcmlvIGRlbCBmYWN0b3J5IFZhbHRlY2gpLlxuICAgIC8vIEN1YWxxdWllciBjb25zdW1lciBwdWVkZSBzb2JyZXNjcmliaXIgdmlhIGBwcm9wcy5kZWZhdWx0Q291bnRyeWAuXG4gICAgY29uc3QgZGVmYXVsdENvdW50cnkgPSB0aGlzLnJlc29sdmVkUHJvcHMuZGVmYXVsdENvdW50cnkgfHwgJ0NMJztcbiAgICB0aGlzLmludGVybmFsQ291bnRyeUNvbnRyb2wuc2V0VmFsdWUoZGVmYXVsdENvdW50cnkpO1xuXG4gICAgLy8gU3luYyB3aXRoIGV4dGVybmFsIGNvbnRyb2xzIGlmIHByb3ZpZGVkXG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5jb3VudHJ5Q29udHJvbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbENvdW50cnlDb250cm9sID0gdGhpcy5yZXNvbHZlZFByb3BzLmNvdW50cnlDb250cm9sO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLm51bWJlckNvbnRyb2wpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxOdW1iZXJDb250cm9sID0gdGhpcy5yZXNvbHZlZFByb3BzLm51bWJlckNvbnRyb2w7XG4gICAgfVxuXG4gICAgLy8gUGFyc2UgaW5pdGlhbCB2YWx1ZSBmcm9tIG1haW4gY29udHJvbFxuICAgIHRoaXMubGFzdFN5bmNlZFZhbHVlID0gdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2w/LnZhbHVlID8/IG51bGw7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy52YWx1ZSkge1xuICAgICAgdGhpcy5wYXJzZVBob25lTnVtYmVyKHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sLnZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gbWFpbiBjb250cm9sIGNoYW5nZXNcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMudmFsdWVTdWJzY3JpcHRpb24gPVxuICAgICAgdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICBpZiAodmFsdWUgJiYgIXRoaXMuaXNJbnRlcm5hbFVwZGF0ZSkge1xuICAgICAgICAgIHRoaXMucGFyc2VQaG9uZU51bWJlcih2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pIHx8IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlUGhvbmVOdW1iZXIodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcblxuICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMucGhvbmVGb3JtYXQucGFyc2UodmFsdWUsIHtcbiAgICAgIGNvdW50cmllczogdGhpcy5nZXRDb3VudHJ5TGlzdCgpLFxuICAgICAgZGVmYXVsdENvdW50cnk6IHRoaXMucmVzb2x2ZWRQcm9wcy5kZWZhdWx0Q291bnRyeSB8fCAnQ0wnLFxuICAgICAgY291bnRyeTogdGhpcy5nZXRTZWxlY3RlZENvdW50cnkoKSxcbiAgICAgIG1pbkRpZ2l0czogdGhpcy5yZXNvbHZlZFByb3BzLm1pbkRpZ2l0cyxcbiAgICAgIG1heERpZ2l0czogdGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cyxcbiAgICAgIHBhdHRlcm46IHRoaXMucmVzb2x2ZWRQcm9wcy5wYXR0ZXJuLFxuICAgIH0pO1xuICAgIGlmIChwYXJzZWQuY291bnRyeSkge1xuICAgICAgdGhpcy5pbnRlcm5hbENvdW50cnlDb250cm9sLnNldFZhbHVlKHBhcnNlZC5jb3VudHJ5LmNvZGUpO1xuICAgIH1cbiAgICB0aGlzLmludGVybmFsTnVtYmVyQ29udHJvbC5zZXRWYWx1ZShwYXJzZWQubmF0aW9uYWxOdW1iZXIpO1xuICB9XG5cbiAgZ2V0TGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzLmxhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0UGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICAvLyBVc2UgZm9ybWF0IGZyb20gc2VsZWN0ZWQgY291bnRyeSBpZiBhdmFpbGFibGVcbiAgICBjb25zdCBjb3VudHJ5ID0gdGhpcy5nZXRTZWxlY3RlZENvdW50cnkoKTtcbiAgICBpZiAoY291bnRyeT8uZm9ybWF0ICYmICF0aGlzLnJlc29sdmVkUHJvcHMucGxhY2Vob2xkZXIpIHtcbiAgICAgIHJldHVybiBjb3VudHJ5LmZvcm1hdDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcy5wbGFjZWhvbGRlciB8fCAnJztcbiAgfVxuXG4gIGdldEhpbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzLmhpbnQgfHwgJyc7XG4gIH1cblxuICBnZXRJbnB1dE1heExlbmd0aCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGNvdW50cnkgPSB0aGlzLmdldFNlbGVjdGVkQ291bnRyeSgpO1xuICAgIGNvbnN0IGZvcm1hdExlbmd0aCA9IGNvdW50cnk/LmZvcm1hdD8ubGVuZ3RoO1xuICAgIGlmIChmb3JtYXRMZW5ndGggJiYgdGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cykge1xuICAgICAgcmV0dXJuIE1hdGgubWF4KGZvcm1hdExlbmd0aCwgdGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cyk7XG4gICAgfVxuICAgIHJldHVybiBmb3JtYXRMZW5ndGggfHwgdGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cyB8fCAxNTtcbiAgfVxuXG4gIGdldENvdW50cnlMaXN0KCk6IENvdW50cnlDb2RlW10ge1xuICAgIGNvbnN0IGNvdW50cmllcyA9IHRoaXMucmVzb2x2ZWRQcm9wcy5jb3VudHJ5Q29kZXMgfHwgQ09NTU9OX0NPVU5UUllfQ09ERVM7XG5cbiAgICAvLyBTb3J0IGJ5IHByZWZlcnJlZCBjb3VudHJpZXMgZmlyc3RcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLnByZWZlcnJlZENvdW50cmllcz8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCBwcmVmZXJyZWQgPSB0aGlzLnJlc29sdmVkUHJvcHMucHJlZmVycmVkQ291bnRyaWVzO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4uY291bnRyaWVzLmZpbHRlcihjID0+IHByZWZlcnJlZC5pbmNsdWRlcyhjLmNvZGUpKSxcbiAgICAgICAgLi4uY291bnRyaWVzLmZpbHRlcihjID0+ICFwcmVmZXJyZWQuaW5jbHVkZXMoYy5jb2RlKSksXG4gICAgICBdO1xuICAgIH1cblxuICAgIHJldHVybiBjb3VudHJpZXM7XG4gIH1cblxuICBnZXRTZWxlY3RlZENvdW50cnkoKTogQ291bnRyeUNvZGUgfCBudWxsIHtcbiAgICBjb25zdCBjb2RlID0gdGhpcy5pbnRlcm5hbENvdW50cnlDb250cm9sLnZhbHVlO1xuICAgIHJldHVybiB0aGlzLmdldENvdW50cnlMaXN0KCkuZmluZChjID0+IGMuY29kZSA9PT0gY29kZSkgfHwgbnVsbDtcbiAgfVxuXG4gIGdldCBoYXNFcnJvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2w/LnRvdWNoZWQgJiYgdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2w/LmludmFsaWQpO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8uZXJyb3JzIHx8ICF0aGlzLnJlc29sdmVkUHJvcHMuZXJyb3JzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2w/LmVycm9ycz8uWydwaG9uZUludmFsaWQnXSA/ICdJbnZhbGlkIHBob25lIG51bWJlci4nIDogJyc7XG4gICAgfVxuXG4gICAgY29uc3QgZXJyb3JLZXlzID0gT2JqZWN0LmtleXModGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2wuZXJyb3JzKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBlcnJvcktleXMpIHtcbiAgICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMuZXJyb3JzW2tleV0pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcy5lcnJvcnNba2V5XTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBvbkNvdW50cnlDaGFuZ2UoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY291bnRyeSA9IHRoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5KCk7XG4gICAgdGhpcy5pbnRlcm5hbE51bWJlckNvbnRyb2wuc2V0VmFsdWUoXG4gICAgICB0aGlzLnBob25lRm9ybWF0LmZvcm1hdE5hdGlvbmFsKHRoaXMuaW50ZXJuYWxOdW1iZXJDb250cm9sLnZhbHVlLCBjb3VudHJ5LCB0aGlzLnJlc29sdmVkUHJvcHMubWF4RGlnaXRzKVxuICAgICk7XG4gICAgdGhpcy51cGRhdGVNYWluQ29udHJvbCgpO1xuICB9XG5cbiAgb25OdW1iZXJJbnB1dChldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2FuaXRpemVOdW1iZXJJbnB1dChldmVudC5kZXRhaWwudmFsdWUgfHwgJycpO1xuICAgIHRoaXMuaW50ZXJuYWxOdW1iZXJDb250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLnVwZGF0ZU1haW5Db250cm9sKCk7XG4gIH1cblxuICBvbk51bWJlcklucHV0TmF0aXZlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnNhbml0aXplTnVtYmVySW5wdXQoaW5wdXQudmFsdWUgfHwgJycpO1xuICAgIGlucHV0LnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5pbnRlcm5hbE51bWJlckNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgIHRoaXMudXBkYXRlTWFpbkNvbnRyb2woKTtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMuc3luY1Bob25lVmFsaWRhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVNYWluQ29udHJvbCgpOiB2b2lkIHtcbiAgICBjb25zdCBjb3VudHJ5ID0gdGhpcy5nZXRTZWxlY3RlZENvdW50cnkoKTtcbiAgICBjb25zdCBwYXJzZWQgPSB0aGlzLnBob25lRm9ybWF0Lm5vcm1hbGl6ZSh0aGlzLmludGVybmFsTnVtYmVyQ29udHJvbC52YWx1ZSB8fCAnJywge1xuICAgICAgY291bnRyaWVzOiB0aGlzLmdldENvdW50cnlMaXN0KCksXG4gICAgICBkZWZhdWx0Q291bnRyeTogdGhpcy5yZXNvbHZlZFByb3BzLmRlZmF1bHRDb3VudHJ5IHx8ICdDTCcsXG4gICAgICBjb3VudHJ5LFxuICAgICAgbWluRGlnaXRzOiB0aGlzLnJlc29sdmVkUHJvcHMubWluRGlnaXRzLFxuICAgICAgbWF4RGlnaXRzOiB0aGlzLnJlc29sdmVkUHJvcHMubWF4RGlnaXRzLFxuICAgICAgcGF0dGVybjogdGhpcy5yZXNvbHZlZFByb3BzLnBhdHRlcm4sXG4gICAgfSk7XG4gICAgY29uc3QgbnVtYmVyID0gcGFyc2VkLm5hdGlvbmFsTnVtYmVyO1xuICAgIGNvbnN0IGZ1bGxOdW1iZXIgPSBwYXJzZWQuZTE2NDtcblxuICAgIHRoaXMuaXNJbnRlcm5hbFVwZGF0ZSA9IHRydWU7XG4gICAgdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2w/LnNldFZhbHVlKGZ1bGxOdW1iZXIpO1xuICAgIHRoaXMuaXNJbnRlcm5hbFVwZGF0ZSA9IGZhbHNlO1xuICAgIC8vIEV2aXRhIHF1ZSBuZ0RvQ2hlY2sgcmUtcGFyc2VlIHVuIGNhbWJpbyBvcmlnaW5hZG8gYXF1w60gbWlzbW8uXG4gICAgdGhpcy5sYXN0U3luY2VkVmFsdWUgPSBmdWxsTnVtYmVyO1xuXG4gICAgLy8gRW1pdCBjaGFuZ2UgZXZlbnRcbiAgICB0aGlzLnBob25lQ2hhbmdlLmVtaXQoe1xuICAgICAgZnVsbE51bWJlcixcbiAgICAgIG51bWJlcixcbiAgICAgIGNvdW50cnk6IHBhcnNlZC5jb3VudHJ5LFxuICAgICAgaXNWYWxpZDogcGFyc2VkLmlzVmFsaWQsXG4gICAgfSk7XG4gICAgdGhpcy5zeW5jUGhvbmVWYWxpZGF0aW9uKHBhcnNlZC5pc1ZhbGlkLCBmdWxsTnVtYmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgc2FuaXRpemVOdW1iZXJJbnB1dCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5waG9uZUZvcm1hdC5mb3JtYXROYXRpb25hbCh2YWx1ZSwgdGhpcy5nZXRTZWxlY3RlZENvdW50cnkoKSwgdGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cyk7XG4gIH1cblxuICBwcml2YXRlIHN5bmNQaG9uZVZhbGlkYXRpb24oaXNWYWxpZD86IGJvb2xlYW4sIGZ1bGxOdW1iZXI/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLnZhbGlkYXRlRm9ybWF0ID09PSBmYWxzZSB8fCAhdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2wpIHJldHVybjtcblxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbDtcbiAgICBjb25zdCB2YWx1ZSA9IGZ1bGxOdW1iZXIgPz8gU3RyaW5nKGNvbnRyb2wudmFsdWUgPz8gJycpO1xuICAgIGNvbnN0IHZhbGlkID1cbiAgICAgIGlzVmFsaWQgPz9cbiAgICAgIHRoaXMucGhvbmVGb3JtYXQuaXNWYWxpZCh2YWx1ZSwge1xuICAgICAgICBjb3VudHJpZXM6IHRoaXMuZ2V0Q291bnRyeUxpc3QoKSxcbiAgICAgICAgZGVmYXVsdENvdW50cnk6IHRoaXMucmVzb2x2ZWRQcm9wcy5kZWZhdWx0Q291bnRyeSB8fCAnQ0wnLFxuICAgICAgICBjb3VudHJ5OiB0aGlzLmdldFNlbGVjdGVkQ291bnRyeSgpLFxuICAgICAgICBtaW5EaWdpdHM6IHRoaXMucmVzb2x2ZWRQcm9wcy5taW5EaWdpdHMsXG4gICAgICAgIG1heERpZ2l0czogdGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cyxcbiAgICAgICAgcGF0dGVybjogdGhpcy5yZXNvbHZlZFByb3BzLnBhdHRlcm4sXG4gICAgICB9KTtcbiAgICBjb25zdCBjdXJyZW50RXJyb3JzID0gY29udHJvbC5lcnJvcnMgPz8ge307XG4gICAgY29uc3QgeyBwaG9uZUludmFsaWQsIC4uLm90aGVyRXJyb3JzIH0gPSBjdXJyZW50RXJyb3JzO1xuXG4gICAgaWYgKCF2YWx1ZSB8fCB2YWxpZCkge1xuICAgICAgY29udHJvbC5zZXRFcnJvcnMoT2JqZWN0LmtleXMob3RoZXJFcnJvcnMpLmxlbmd0aCA/IG90aGVyRXJyb3JzIDogbnVsbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29udHJvbC5zZXRFcnJvcnMoeyAuLi5vdGhlckVycm9ycywgcGhvbmVJbnZhbGlkOiB0cnVlIH0pO1xuICB9XG59XG4iXX0=