@omnitend/dashboard-for-laravel 0.4.7

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 (149) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +397 -0
  3. package/dist/components/base/DAccordion.vue.d.ts +12 -0
  4. package/dist/components/base/DAccordionItem.vue.d.ts +12 -0
  5. package/dist/components/base/DAlert.vue.d.ts +12 -0
  6. package/dist/components/base/DAvatar.vue.d.ts +12 -0
  7. package/dist/components/base/DBadge.vue.d.ts +12 -0
  8. package/dist/components/base/DBreadcrumb.vue.d.ts +12 -0
  9. package/dist/components/base/DButton.vue.d.ts +29 -0
  10. package/dist/components/base/DButtonGroup.vue.d.ts +12 -0
  11. package/dist/components/base/DButtonToolbar.vue.d.ts +12 -0
  12. package/dist/components/base/DCard.vue.d.ts +12 -0
  13. package/dist/components/base/DCarousel.vue.d.ts +12 -0
  14. package/dist/components/base/DCarouselSlide.vue.d.ts +12 -0
  15. package/dist/components/base/DCol.vue.d.ts +12 -0
  16. package/dist/components/base/DCollapse.vue.d.ts +12 -0
  17. package/dist/components/base/DContainer.vue.d.ts +12 -0
  18. package/dist/components/base/DDropdown.vue.d.ts +12 -0
  19. package/dist/components/base/DDropdownDivider.vue.d.ts +2 -0
  20. package/dist/components/base/DDropdownItem.vue.d.ts +12 -0
  21. package/dist/components/base/DForm.vue.d.ts +12 -0
  22. package/dist/components/base/DFormCheckbox.vue.d.ts +12 -0
  23. package/dist/components/base/DFormGroup.vue.d.ts +12 -0
  24. package/dist/components/base/DFormInput.vue.d.ts +2 -0
  25. package/dist/components/base/DFormInvalidFeedback.vue.d.ts +12 -0
  26. package/dist/components/base/DFormRadio.vue.d.ts +12 -0
  27. package/dist/components/base/DFormSelect.vue.d.ts +12 -0
  28. package/dist/components/base/DFormSpinbutton.vue.d.ts +12 -0
  29. package/dist/components/base/DFormTags.vue.d.ts +12 -0
  30. package/dist/components/base/DFormText.vue.d.ts +12 -0
  31. package/dist/components/base/DFormTextarea.vue.d.ts +2 -0
  32. package/dist/components/base/DImage.vue.d.ts +12 -0
  33. package/dist/components/base/DInputGroup.vue.d.ts +12 -0
  34. package/dist/components/base/DLink.vue.d.ts +12 -0
  35. package/dist/components/base/DListGroup.vue.d.ts +12 -0
  36. package/dist/components/base/DListGroupItem.vue.d.ts +12 -0
  37. package/dist/components/base/DModal.vue.d.ts +12 -0
  38. package/dist/components/base/DNav.vue.d.ts +12 -0
  39. package/dist/components/base/DNavItem.vue.d.ts +12 -0
  40. package/dist/components/base/DNavbar.vue.d.ts +12 -0
  41. package/dist/components/base/DNavbarBrand.vue.d.ts +12 -0
  42. package/dist/components/base/DNavbarNav.vue.d.ts +12 -0
  43. package/dist/components/base/DNavbarToggle.vue.d.ts +12 -0
  44. package/dist/components/base/DOffcanvas.vue.d.ts +12 -0
  45. package/dist/components/base/DOverlay.vue.d.ts +12 -0
  46. package/dist/components/base/DPagination.vue.d.ts +2 -0
  47. package/dist/components/base/DPlaceholder.vue.d.ts +12 -0
  48. package/dist/components/base/DPopover.vue.d.ts +12 -0
  49. package/dist/components/base/DProgress.vue.d.ts +12 -0
  50. package/dist/components/base/DRow.vue.d.ts +12 -0
  51. package/dist/components/base/DSpinner.vue.d.ts +2 -0
  52. package/dist/components/base/DTab.vue.d.ts +12 -0
  53. package/dist/components/base/DTable.vue.d.ts +26 -0
  54. package/dist/components/base/DTabs.vue.d.ts +12 -0
  55. package/dist/components/base/DToast.vue.d.ts +12 -0
  56. package/dist/components/base/DToaster.vue.d.ts +12 -0
  57. package/dist/components/base/DTooltip.vue.d.ts +12 -0
  58. package/dist/components/extended/DXBasicForm.vue.d.ts +39 -0
  59. package/dist/components/extended/DXDashboard.vue.d.ts +52 -0
  60. package/dist/components/extended/DXDashboardNavbar.vue.d.ts +53 -0
  61. package/dist/components/extended/DXDashboardSidebar.vue.d.ts +37 -0
  62. package/dist/components/extended/DXForm.vue.d.ts +31 -0
  63. package/dist/components/extended/DXTable.vue.d.ts +190 -0
  64. package/dist/composables/defineForm.d.ts +35 -0
  65. package/dist/composables/useForm.d.ts +46 -0
  66. package/dist/composables/useToast.d.ts +1 -0
  67. package/dist/dashboard-for-laravel.js +17748 -0
  68. package/dist/dashboard-for-laravel.js.map +1 -0
  69. package/dist/dashboard-for-laravel.umd.cjs +11 -0
  70. package/dist/dashboard-for-laravel.umd.cjs.map +1 -0
  71. package/dist/index.d.ts +73 -0
  72. package/dist/style.css +5 -0
  73. package/dist/types/index.d.ts +37 -0
  74. package/dist/types/navigation.d.ts +17 -0
  75. package/dist/utils/api.d.ts +30 -0
  76. package/docs/public/api-reference.json +1932 -0
  77. package/docs/public/docs-map.md +85 -0
  78. package/docs/public/llms.txt +110 -0
  79. package/package.json +116 -0
  80. package/resources/css/theme.scss +219 -0
  81. package/resources/js/components/base/DAccordion.vue +21 -0
  82. package/resources/js/components/base/DAccordionItem.vue +14 -0
  83. package/resources/js/components/base/DAlert.vue +14 -0
  84. package/resources/js/components/base/DAvatar.vue +21 -0
  85. package/resources/js/components/base/DBadge.vue +14 -0
  86. package/resources/js/components/base/DBreadcrumb.vue +21 -0
  87. package/resources/js/components/base/DButton.vue +58 -0
  88. package/resources/js/components/base/DButtonGroup.vue +21 -0
  89. package/resources/js/components/base/DButtonToolbar.vue +21 -0
  90. package/resources/js/components/base/DCard.vue +35 -0
  91. package/resources/js/components/base/DCarousel.vue +21 -0
  92. package/resources/js/components/base/DCarouselSlide.vue +14 -0
  93. package/resources/js/components/base/DCol.vue +14 -0
  94. package/resources/js/components/base/DCollapse.vue +34 -0
  95. package/resources/js/components/base/DContainer.vue +14 -0
  96. package/resources/js/components/base/DDropdown.vue +16 -0
  97. package/resources/js/components/base/DDropdownDivider.vue +7 -0
  98. package/resources/js/components/base/DDropdownItem.vue +14 -0
  99. package/resources/js/components/base/DForm.vue +21 -0
  100. package/resources/js/components/base/DFormCheckbox.vue +14 -0
  101. package/resources/js/components/base/DFormGroup.vue +11 -0
  102. package/resources/js/components/base/DFormInput.vue +7 -0
  103. package/resources/js/components/base/DFormInvalidFeedback.vue +16 -0
  104. package/resources/js/components/base/DFormRadio.vue +21 -0
  105. package/resources/js/components/base/DFormSelect.vue +14 -0
  106. package/resources/js/components/base/DFormSpinbutton.vue +21 -0
  107. package/resources/js/components/base/DFormTags.vue +21 -0
  108. package/resources/js/components/base/DFormText.vue +16 -0
  109. package/resources/js/components/base/DFormTextarea.vue +7 -0
  110. package/resources/js/components/base/DImage.vue +21 -0
  111. package/resources/js/components/base/DInputGroup.vue +21 -0
  112. package/resources/js/components/base/DLink.vue +21 -0
  113. package/resources/js/components/base/DListGroup.vue +21 -0
  114. package/resources/js/components/base/DListGroupItem.vue +14 -0
  115. package/resources/js/components/base/DModal.vue +11 -0
  116. package/resources/js/components/base/DNav.vue +14 -0
  117. package/resources/js/components/base/DNavItem.vue +14 -0
  118. package/resources/js/components/base/DNavbar.vue +21 -0
  119. package/resources/js/components/base/DNavbarBrand.vue +14 -0
  120. package/resources/js/components/base/DNavbarNav.vue +14 -0
  121. package/resources/js/components/base/DNavbarToggle.vue +14 -0
  122. package/resources/js/components/base/DOffcanvas.vue +11 -0
  123. package/resources/js/components/base/DOverlay.vue +21 -0
  124. package/resources/js/components/base/DPagination.vue +7 -0
  125. package/resources/js/components/base/DPlaceholder.vue +21 -0
  126. package/resources/js/components/base/DPopover.vue +21 -0
  127. package/resources/js/components/base/DProgress.vue +21 -0
  128. package/resources/js/components/base/DRow.vue +14 -0
  129. package/resources/js/components/base/DSpinner.vue +7 -0
  130. package/resources/js/components/base/DTab.vue +14 -0
  131. package/resources/js/components/base/DTable.vue +62 -0
  132. package/resources/js/components/base/DTabs.vue +21 -0
  133. package/resources/js/components/base/DToast.vue +16 -0
  134. package/resources/js/components/base/DToaster.vue +16 -0
  135. package/resources/js/components/base/DTooltip.vue +21 -0
  136. package/resources/js/components/extended/DXBasicForm.vue +177 -0
  137. package/resources/js/components/extended/DXDashboard.vue +208 -0
  138. package/resources/js/components/extended/DXDashboardNavbar.vue +112 -0
  139. package/resources/js/components/extended/DXDashboardSidebar.vue +233 -0
  140. package/resources/js/components/extended/DXForm.vue +44 -0
  141. package/resources/js/components/extended/DXTable.vue +1345 -0
  142. package/resources/js/composables/defineForm.ts +78 -0
  143. package/resources/js/composables/useForm.ts +272 -0
  144. package/resources/js/composables/useToast.ts +1 -0
  145. package/resources/js/index.ts +118 -0
  146. package/resources/js/types/index.ts +61 -0
  147. package/resources/js/types/navigation.ts +19 -0
  148. package/resources/js/utils/api.ts +182 -0
  149. package/scripts/mcp-server.mjs +359 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-for-laravel.umd.cjs","sources":["../node_modules/bootstrap-vue-next/dist/keys-BLeKMItg.mjs","../node_modules/bootstrap-vue-next/dist/src/composables/useBreadcrumb/index.mjs","../node_modules/bootstrap-vue-next/dist/index-KdB7ucR5.mjs","../node_modules/bootstrap-vue-next/dist/index-C0p9vHHI.mjs","../node_modules/bootstrap-vue-next/dist/src/composables/useColorMode/index.mjs","../node_modules/bootstrap-vue-next/dist/orchestratorShared-BTC5xO6k.mjs","../node_modules/bootstrap-vue-next/dist/BootstrapVueOptions-DSytNWdb.mjs","../node_modules/bootstrap-vue-next/dist/ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs","../node_modules/bootstrap-vue-next/dist/ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs","../node_modules/bootstrap-vue-next/dist/useSafeScrollLock-DhacR9hN.mjs","../node_modules/bootstrap-vue-next/dist/dom-DVb-f0ZG.mjs","../node_modules/bootstrap-vue-next/dist/useDefaults-DESCdb0p.mjs","../node_modules/bootstrap-vue-next/dist/useColorVariantClasses-ZDE19TZw.mjs","../node_modules/bootstrap-vue-next/dist/BSpinner.vue_vue_type_script_setup_true_lang-H1MzHypA.mjs","../node_modules/bootstrap-vue-next/dist/object-0ALvRU0O.mjs","../node_modules/bootstrap-vue-next/dist/constants-Cx335y3L.mjs","../node_modules/bootstrap-vue-next/dist/stringUtils-gJJ6T6UC.mjs","../node_modules/bootstrap-vue-next/dist/BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs","../node_modules/bootstrap-vue-next/dist/BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs","../node_modules/bootstrap-vue-next/dist/BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs","../node_modules/bootstrap-vue-next/dist/useId-t29UARy6.mjs","../node_modules/bootstrap-vue-next/dist/classes-BW_GpXTu.mjs","../node_modules/bootstrap-vue-next/dist/useShowHide-717t6y_D.mjs","../node_modules/bootstrap-vue-next/dist/getElement-DrDVR-jO.mjs","../node_modules/bootstrap-vue-next/dist/useTransitions-BAT154ve.mjs","../node_modules/bootstrap-vue-next/dist/tableUtils-Jp7dzXjS.mjs","../node_modules/bootstrap-vue-next/dist/index-BDkr-YqK.mjs","../node_modules/bootstrap-vue-next/dist/src/composables/useScrollspy/index.mjs","../node_modules/bootstrap-vue-next/dist/BProgress.vue_vue_type_script_setup_true_lang-CzGUiUCY.mjs","../node_modules/bootstrap-vue-next/dist/useCountdownHover-D79FUs67.mjs","../node_modules/bootstrap-vue-next/dist/index-7PG2ESMq.mjs","../node_modules/bootstrap-vue-next/dist/src/composables/useToggle/index.mjs","../node_modules/bootstrap-vue-next/dist/floatingUi-BBabBWxD.mjs","../node_modules/bootstrap-vue-next/dist/BTooltip.vue_vue_type_script_setup_true_lang-DwLY6gwe.mjs","../node_modules/bootstrap-vue-next/dist/src/composables/usePopover/index.mjs","../node_modules/bootstrap-vue-next/dist/src/composables/useRegistry/index.mjs","../node_modules/bootstrap-vue-next/dist/src/composables/useProvideDefaults/index.mjs","../node_modules/bootstrap-vue-next/dist/index-BuUXy1YJ.mjs","../node_modules/bootstrap-vue-next/dist/src/directives/BColorMode/index.mjs","../node_modules/bootstrap-vue-next/dist/utils-BYUyX1-A.mjs","../node_modules/bootstrap-vue-next/dist/src/directives/BToggle/index.mjs","../node_modules/bootstrap-vue-next/dist/src/directives/BPopover/index.mjs","../node_modules/bootstrap-vue-next/dist/src/directives/BScrollspy/index.mjs","../node_modules/bootstrap-vue-next/dist/src/directives/BTooltip/index.mjs","../node_modules/bootstrap-vue-next/dist/index-CXpBEYSc.mjs","../node_modules/bootstrap-vue-next/dist/index-D888h6zh.mjs","../node_modules/bootstrap-vue-next/dist/flattenFragments-BoFLyuna.mjs","../node_modules/bootstrap-vue-next/dist/BCollapse.vue_vue_type_script_setup_true_lang-B8TqF-kB.mjs","../node_modules/bootstrap-vue-next/dist/BAccordion.vue_vue_type_script_setup_true_lang-Bm1RghW9.mjs","../node_modules/bootstrap-vue-next/dist/BAlert.vue_vue_type_script_setup_true_lang-BEAKw4MY.mjs","../node_modules/bootstrap-vue-next/dist/BOrchestrator.vue_vue_type_script_setup_true_lang-Dz_rJ4Bq.mjs","../node_modules/bootstrap-vue-next/dist/BApp.vue_vue_type_script_setup_true_lang-CRI7YgFM.mjs","../node_modules/bootstrap-vue-next/dist/BBadge.vue_vue_type_script_setup_true_lang-D9DEOOtU.mjs","../node_modules/bootstrap-vue-next/dist/useNumberishToStyle-CdjRyAvX.mjs","../node_modules/bootstrap-vue-next/dist/useRadiusElementClasses-DtKYQuWz.mjs","../node_modules/bootstrap-vue-next/dist/BAvatarGroup.vue_vue_type_script_setup_true_lang-DGkjFwcd.mjs","../node_modules/bootstrap-vue-next/dist/BBreadcrumb.vue_vue_type_script_setup_true_lang-D6cRQgRH.mjs","../node_modules/bootstrap-vue-next/dist/event-a_bi5ysw.mjs","../node_modules/bootstrap-vue-next/dist/BButtonToolbar.vue_vue_type_script_setup_true_lang-CxCcFupr.mjs","../node_modules/bootstrap-vue-next/dist/BImg.vue_vue_type_script_setup_true_lang-DFoA1dqz.mjs","../node_modules/bootstrap-vue-next/dist/BCard.vue_vue_type_script_setup_true_lang-BjoxuViz.mjs","../node_modules/bootstrap-vue-next/dist/BCardText.vue_vue_type_script_setup_true_lang-SRGbviaO.mjs","../node_modules/bootstrap-vue-next/dist/BCarouselSlide.vue_vue_type_script_setup_true_lang-Cx8lSNLo.mjs","../node_modules/bootstrap-vue-next/dist/getClasses-CsgNQabU.mjs","../node_modules/bootstrap-vue-next/dist/BCol.vue_vue_type_script_setup_true_lang-D0xTJQ30.mjs","../node_modules/bootstrap-vue-next/dist/BContainer.vue_vue_type_script_setup_true_lang-Bi1hGl0B.mjs","../node_modules/bootstrap-vue-next/dist/useAlignment-Cw-9AVid.mjs","../node_modules/bootstrap-vue-next/dist/BRow.vue_vue_type_script_setup_true_lang-BDkBauhk.mjs","../node_modules/bootstrap-vue-next/dist/BDropdown.vue_vue_type_script_setup_true_lang-D1wLUc9_.mjs","../node_modules/bootstrap-vue-next/dist/BDropdownText.vue_vue_type_script_setup_true_lang-Cm6QYE9x.mjs","../node_modules/bootstrap-vue-next/dist/BForm.vue_vue_type_script_setup_true_lang-u44ElAm9.mjs","../node_modules/bootstrap-vue-next/dist/useFormSelect-DvaFh_iu.mjs","../node_modules/bootstrap-vue-next/dist/BFormFloatingLabel.vue_vue_type_script_setup_true_lang-Bnwbg5nF.mjs","../node_modules/bootstrap-vue-next/dist/BFormValidFeedback.vue_vue_type_script_setup_true_lang-D5WYd1j7.mjs","../node_modules/bootstrap-vue-next/dist/useAriaInvalid-BTUbGj3Y.mjs","../node_modules/bootstrap-vue-next/dist/useStateClass-BGbSLWFN.mjs","../node_modules/bootstrap-vue-next/dist/useFormCheck-Bcx8Ea7M.mjs","../node_modules/bootstrap-vue-next/dist/BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-CZ2qJTp0.mjs","../node_modules/bootstrap-vue-next/dist/BFormFile.vue_vue_type_script_setup_true_lang-BF3fBjJ3.mjs","../node_modules/bootstrap-vue-next/dist/BFormGroup.vue_vue_type_script_setup_true_lang-BmZN8qcE.mjs","../node_modules/bootstrap-vue-next/dist/debounce-BHqBzJ1a.mjs","../node_modules/bootstrap-vue-next/dist/useFormInput-BmMsEwZS.mjs","../node_modules/bootstrap-vue-next/dist/BFormInput.vue_vue_type_script_setup_true_lang-D3z3jxbI.mjs","../node_modules/bootstrap-vue-next/dist/BFormRadioGroup.vue_vue_type_script_setup_true_lang-LQBMttYK.mjs","../node_modules/bootstrap-vue-next/dist/BFormRating.vue_vue_type_script_setup_true_lang-DxkXJngG.mjs","../node_modules/bootstrap-vue-next/dist/BFormSelect.vue_vue_type_script_setup_true_lang-CkLgnxVA.mjs","../node_modules/bootstrap-vue-next/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-BZZ4vW74.mjs","../node_modules/bootstrap-vue-next/dist/BFormTags.vue_vue_type_script_setup_true_lang-C9rQBsnw.mjs","../node_modules/bootstrap-vue-next/dist/BFormTextarea.vue_vue_type_script_setup_true_lang-DB0GbEW7.mjs","../node_modules/bootstrap-vue-next/dist/BInputGroupText.vue_vue_type_script_setup_true_lang-BBN5F0A4.mjs","../node_modules/bootstrap-vue-next/dist/BListGroupItem.vue_vue_type_script_setup_true_lang-J0Ydbiva.mjs","../node_modules/bootstrap-vue-next/dist/BModalOrchestrator.vue_vue_type_script_setup_true_lang-Dlk0BK8D.mjs","../node_modules/bootstrap-vue-next/dist/BNavText.vue_vue_type_script_setup_true_lang-fCkr2EkB.mjs","../node_modules/bootstrap-vue-next/dist/BNavbarToggle.vue_vue_type_script_setup_true_lang-BOVCTLjN.mjs","../node_modules/bootstrap-vue-next/dist/BOffcanvas.vue_vue_type_script_setup_true_lang-B6EHNFA6.mjs","../node_modules/bootstrap-vue-next/dist/BOverlay.vue_vue_type_script_setup_true_lang-B5_buAVa.mjs","../node_modules/bootstrap-vue-next/dist/BPagination.vue_vue_type_script_setup_true_lang-C0Xo-KSI.mjs","../node_modules/bootstrap-vue-next/dist/BTableSimple.vue_vue_type_script_setup_true_lang-pOlbJbSz.mjs","../node_modules/bootstrap-vue-next/dist/BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BzabzEJo.mjs","../node_modules/bootstrap-vue-next/dist/BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-BME1-ILp.mjs","../node_modules/bootstrap-vue-next/dist/BTable.vue_vue_type_script_setup_true_lang-D-2ysMDQ.mjs","../node_modules/bootstrap-vue-next/dist/BTabs.vue_vue_type_script_setup_true_lang-DJniJmO4.mjs","../node_modules/bootstrap-vue-next/dist/BToastOrchestrator.vue_vue_type_script_setup_true_lang-Dg1phGTf.mjs","../node_modules/bootstrap-vue-next/dist/index-E0aMItoE.mjs","../node_modules/bootstrap-vue-next/dist/index-BSgsF2PB.mjs","../node_modules/bootstrap-vue-next/dist/src/plugins/rtl/index.mjs","../node_modules/bootstrap-vue-next/dist/src/plugins/registry/index.mjs","../node_modules/bootstrap-vue-next/dist/src/plugins/orchestrator/index.mjs","../node_modules/bootstrap-vue-next/dist/src/plugins/createBootstrap/index.mjs","../node_modules/bootstrap-vue-next/dist/index-D53v0rwX.mjs","../node_modules/bootstrap-vue-next/dist/bootstrap-vue-next.mjs","../resources/js/components/extended/DXDashboardSidebar.vue","../resources/js/components/base/DContainer.vue","../resources/js/components/base/DRow.vue","../resources/js/components/base/DCol.vue","../resources/js/components/base/DButton.vue","../resources/js/components/base/DDropdown.vue","../resources/js/components/extended/DXDashboardNavbar.vue","../resources/js/components/extended/DXDashboard.vue","../resources/js/components/base/DAlert.vue","../resources/js/components/base/DFormGroup.vue","../resources/js/components/base/DFormInput.vue","../resources/js/components/base/DFormTextarea.vue","../resources/js/components/base/DFormSelect.vue","../resources/js/components/base/DFormCheckbox.vue","../resources/js/components/base/DFormInvalidFeedback.vue","../resources/js/components/base/DFormText.vue","../resources/js/components/extended/DXBasicForm.vue","../resources/js/components/extended/DXForm.vue","../node_modules/pluralize/pluralize.js","../resources/js/components/base/DCard.vue","../resources/js/components/base/DSpinner.vue","../resources/js/components/base/DTable.vue","../resources/js/components/base/DPagination.vue","../resources/js/components/base/DModal.vue","../resources/js/components/base/DTabs.vue","../resources/js/components/base/DTab.vue","../resources/js/components/extended/DXTable.vue","../resources/js/components/base/DAccordion.vue","../resources/js/components/base/DAccordionItem.vue","../resources/js/components/base/DAvatar.vue","../resources/js/components/base/DBadge.vue","../resources/js/components/base/DBreadcrumb.vue","../resources/js/components/base/DButtonGroup.vue","../resources/js/components/base/DButtonToolbar.vue","../resources/js/components/base/DCarousel.vue","../resources/js/components/base/DCarouselSlide.vue","../resources/js/components/base/DCollapse.vue","../resources/js/components/base/DDropdownDivider.vue","../resources/js/components/base/DDropdownItem.vue","../resources/js/components/base/DForm.vue","../resources/js/components/base/DFormRadio.vue","../resources/js/components/base/DFormSpinbutton.vue","../resources/js/components/base/DFormTags.vue","../resources/js/components/base/DImage.vue","../resources/js/components/base/DInputGroup.vue","../resources/js/components/base/DLink.vue","../resources/js/components/base/DListGroup.vue","../resources/js/components/base/DListGroupItem.vue","../resources/js/components/base/DNav.vue","../resources/js/components/base/DNavbar.vue","../resources/js/components/base/DNavbarBrand.vue","../resources/js/components/base/DNavbarNav.vue","../resources/js/components/base/DNavbarToggle.vue","../resources/js/components/base/DNavItem.vue","../resources/js/components/base/DOffcanvas.vue","../resources/js/components/base/DOverlay.vue","../resources/js/components/base/DPlaceholder.vue","../resources/js/components/base/DPopover.vue","../resources/js/components/base/DProgress.vue","../resources/js/components/base/DToast.vue","../resources/js/components/base/DToaster.vue","../resources/js/components/base/DTooltip.vue","../resources/js/utils/api.ts","../resources/js/composables/useForm.ts","../resources/js/composables/defineForm.ts"],"sourcesContent":["const genericBvnPrefix = \"BootstrapVueNext__\";\nconst withBvnPrefix = (value, suffix = \"\") => {\n const suffixWithTrail = `${suffix}___`;\n return `${genericBvnPrefix}ID__${value}__${suffix ? suffixWithTrail : \"\"}`;\n};\nconst createBvnInjectionKey = (name) => withBvnPrefix(name);\nconst createBvnRegistryInjectionKey = (name) => withBvnPrefix(`${name}__registry`);\nconst carouselInjectionKey = createBvnInjectionKey(\"carousel\");\nconst tabsInjectionKey = createBvnInjectionKey(\"tabs\");\nconst progressInjectionKey = createBvnInjectionKey(\"progress\");\nconst listGroupInjectionKey = createBvnInjectionKey(\"listGroup\");\nconst avatarGroupInjectionKey = createBvnInjectionKey(\"avatarGroup\");\nconst accordionInjectionKey = createBvnInjectionKey(\"accordion\");\nconst checkboxGroupKey = createBvnInjectionKey(\"checkboxGroup\");\nconst radioGroupKey = createBvnInjectionKey(\"radioGroup\");\nconst collapseInjectionKey = createBvnInjectionKey(\"collapse\");\nconst showHideRegistryKey = createBvnRegistryInjectionKey(\"showHide\");\nconst dropdownInjectionKey = createBvnInjectionKey(\"dropdown\");\nconst navbarInjectionKey = createBvnInjectionKey(\"navbar\");\nconst rtlRegistryKey = createBvnRegistryInjectionKey(\"rtl\");\nconst breadcrumbGlobalIndexKey = `${genericBvnPrefix}global_breadcrumb`;\nconst breadcrumbRegistryKey = createBvnRegistryInjectionKey(\"breadcrumb\");\nconst modalManagerKey = createBvnRegistryInjectionKey(\"modalManager\");\nconst defaultsKey = createBvnRegistryInjectionKey(\"defaults\");\nconst inputGroupKey = createBvnInjectionKey(\"inputGroup\");\nconst buttonGroupKey = createBvnInjectionKey(\"buttonGroup\");\nconst orchestratorRegistryKey = createBvnRegistryInjectionKey(\"orchestrator\");\nconst formGroupKey = createBvnInjectionKey(\"formGroupPlugin\");\nconst formSelectKey = createBvnInjectionKey(\"formSelect\");\nconst tableKeyboardNavigationKey = createBvnInjectionKey(\"tableKeyboardNavigation\");\nexport {\n breadcrumbGlobalIndexKey as a,\n buttonGroupKey as b,\n collapseInjectionKey as c,\n dropdownInjectionKey as d,\n breadcrumbRegistryKey as e,\n defaultsKey as f,\n accordionInjectionKey as g,\n avatarGroupInjectionKey as h,\n inputGroupKey as i,\n checkboxGroupKey as j,\n formGroupKey as k,\n radioGroupKey as l,\n modalManagerKey as m,\n formSelectKey as n,\n orchestratorRegistryKey as o,\n listGroupInjectionKey as p,\n progressInjectionKey as q,\n rtlRegistryKey as r,\n showHideRegistryKey as s,\n tabsInjectionKey as t,\n carouselInjectionKey as u,\n navbarInjectionKey as v,\n withBvnPrefix as w,\n tableKeyboardNavigationKey as x\n};\n//# sourceMappingURL=keys-BLeKMItg.mjs.map\n","import { inject, computed, toValue, watch } from \"vue\";\nimport { a as breadcrumbGlobalIndexKey, e as breadcrumbRegistryKey } from \"../../../keys-BLeKMItg.mjs\";\nconst useBreadcrumb = (id = breadcrumbGlobalIndexKey) => {\n const parentData = inject(breadcrumbRegistryKey);\n const resolvedId = computed(() => {\n const v = toValue(id);\n if (!v) return breadcrumbGlobalIndexKey;\n return v;\n });\n watch(\n resolvedId,\n (newValue) => {\n if (!newValue || !parentData) return;\n parentData.items.value = {\n ...parentData.items.value,\n [newValue]: parentData.items.value[newValue] || []\n };\n },\n { immediate: true }\n );\n const items = computed({\n get: () => parentData?.items.value[resolvedId.value] || [],\n set(value) {\n if (!parentData) return;\n parentData.items.value[resolvedId.value] = value;\n }\n });\n return {\n items,\n reset() {\n if (!parentData) return;\n parentData.reset(resolvedId.value || void 0);\n }\n };\n};\nexport {\n useBreadcrumb\n};\n//# sourceMappingURL=index.mjs.map\n","import { effectScope, computed, toValue, shallowRef, isRef, watch, shallowReadonly, getCurrentScope, onScopeDispose, onMounted, nextTick, toRef as toRef$1, readonly, ref, customRef, getCurrentInstance, hasInjectionContext, inject } from \"vue\";\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\nconst injectLocal = /* @__NO_SIDE_EFFECTS__ */ (...args) => {\n var _a;\n const key = args[0];\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null && !hasInjectionContext())\n throw new Error(\"injectLocal must be called in setup\");\n if (instance && localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance))\n return localProvidedStateMap.get(instance)[key];\n return inject(...args);\n};\n// @__NO_SIDE_EFFECTS__\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!scope) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = { ...obj };\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\ntypeof WorkerGlobalScope !== \"undefined\" && globalThis instanceof WorkerGlobalScope;\nconst notNullish = (val) => val != null;\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst timestamp = () => +Date.now();\nconst noop = () => {\n};\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n var _a, _b;\n return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\nfunction toRef(...args) {\n if (args.length !== 1)\n return toRef$1(...args);\n const r = args[0];\n return typeof r === \"function\" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r);\n}\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction throttleFilter(...args) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n let ms;\n let trailing;\n let leading;\n let rejectOnCancel;\n if (!isRef(args[0]) && typeof args[0] === \"object\")\n ({ delay: ms, trailing = true, leading = true, rejectOnCancel = false } = args[0]);\n else\n [ms, trailing = true, leading = true, rejectOnCancel = false] = args;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = toValue(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter, options = {}) {\n const {\n initialState = \"active\"\n } = options;\n const isActive = toRef(initialState === \"active\");\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?\\d+\\.?\\d*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = Number.parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction pxValue(px) {\n return px.endsWith(\"rem\") ? Number.parseFloat(px) * 16 : Number.parseFloat(px);\n}\nfunction toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nfunction cacheStringFunction(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nfunction getLifeCycleTarget(target) {\n return getCurrentInstance();\n}\n// @__NO_SIDE_EFFECTS__\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(\n throttleFilter(ms, trailing, leading, rejectOnCancel),\n fn\n );\n}\nfunction watchWithFilter(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n return watch(\n source,\n createFilterWrapper(\n eventFilter,\n cb\n ),\n watchOptions\n );\n}\nfunction watchPausable(source, cb, options = {}) {\n const {\n eventFilter: filter,\n initialState = \"active\",\n ...watchOptions\n } = options;\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter, { initialState });\n const stop = watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter\n }\n );\n return { stop, pause, resume, isActive };\n}\nfunction syncRef(left, right, ...[options]) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options || {};\n const watchers = [];\n const transformLTR = \"ltr\" in transform && transform.ltr || ((v) => v);\n const transformRTL = \"rtl\" in transform && transform.rtl || ((v) => v);\n if (direction === \"both\" || direction === \"ltr\") {\n watchers.push(watchPausable(\n left,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n right.value = transformLTR(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchers.push(watchPausable(\n right,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n left.value = transformRTL(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n const stop = () => {\n watchers.forEach((w) => w.stop());\n };\n return stop;\n}\nfunction tryOnMounted(fn, sync = true, target) {\n const instance = getLifeCycleTarget();\n if (instance)\n onMounted(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = shallowRef(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = toValue(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n if (isActive.value)\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || typeof interval === \"function\") {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive: shallowReadonly(isActive),\n pause,\n resume\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = toValue(value);\n if (typeof method === \"function\")\n resolved = method(resolved);\n else if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && Number.isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\nfunction watchImmediate(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n immediate: true\n }\n );\n}\nexport {\n useThrottleFn as a,\n toRef as b,\n toArray as c,\n notNullish as d,\n tryOnScopeDispose as e,\n timestamp as f,\n useIntervalFn as g,\n isClient as h,\n isIOS as i,\n camelize as j,\n injectLocal as k,\n increaseWithUnit as l,\n makeDestructurable as m,\n noop as n,\n watchPausable as o,\n pxValue as p,\n isObject as q,\n createSharedComposable as r,\n syncRef as s,\n tryOnMounted as t,\n useToNumber as u,\n watchImmediate as w\n};\n//# sourceMappingURL=index-KdB7ucR5.mjs.map\n","import { m as makeDestructurable, n as noop, i as isIOS, t as tryOnMounted, b as toRef, c as toArray, d as notNullish, e as tryOnScopeDispose, w as watchImmediate, f as timestamp, g as useIntervalFn, h as isClient, j as camelize, k as injectLocal, p as pxValue, l as increaseWithUnit, o as watchPausable, q as isObject } from \"./index-KdB7ucR5.mjs\";\nimport { shallowRef, defineComponent, computed, reactive, watch, toValue, watchEffect, hasInjectionContext, ref, readonly, getCurrentInstance, onMounted, unref, nextTick } from \"vue\";\n// @__NO_SIDE_EFFECTS__\nfunction createReusableTemplate(options = {}) {\n const {\n inheritAttrs = true\n } = options;\n const render = shallowRef();\n const define = /* @__PURE__ */ defineComponent({\n setup(_, { slots }) {\n return () => {\n render.value = slots.default;\n };\n }\n });\n const reuse = /* @__PURE__ */ defineComponent({\n inheritAttrs,\n props: options.props,\n setup(props, { attrs, slots }) {\n return () => {\n var _a;\n if (!render.value && process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] Failed to find the definition of reusable template\");\n const vnode = (_a = render.value) == null ? void 0 : _a.call(render, {\n ...options.props == null ? keysToCamelKebabCase(attrs) : props,\n $slots: slots\n });\n return inheritAttrs && (vnode == null ? void 0 : vnode.length) === 1 ? vnode[0] : vnode;\n };\n }\n });\n return makeDestructurable(\n { define, reuse },\n [define, reuse]\n );\n}\nfunction keysToCamelKebabCase(obj) {\n const newObj = {};\n for (const key in obj)\n newObj[camelize(key)] = obj[key];\n return newObj;\n}\nconst defaultWindow = isClient ? window : void 0;\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\nfunction useEventListener(...args) {\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options) => {\n el.addEventListener(event, listener, options);\n return () => el.removeEventListener(event, listener, options);\n };\n const firstParamTargets = computed(() => {\n const test = toArray(toValue(args[0])).filter((e) => e != null);\n return test.every((e) => typeof e !== \"string\") ? test : void 0;\n });\n const stopWatch = watchImmediate(\n () => {\n var _a, _b;\n return [\n (_b = (_a = firstParamTargets.value) == null ? void 0 : _a.map((e) => unrefElement(e))) != null ? _b : [defaultWindow].filter((e) => e != null),\n toArray(toValue(firstParamTargets.value ? args[1] : args[0])),\n toArray(unref(firstParamTargets.value ? args[2] : args[1])),\n // @ts-expect-error - TypeScript gets the correct types, but somehow still complains\n toValue(firstParamTargets.value ? args[3] : args[2])\n ];\n },\n ([raw_targets, raw_events, raw_listeners, raw_options]) => {\n cleanup();\n if (!(raw_targets == null ? void 0 : raw_targets.length) || !(raw_events == null ? void 0 : raw_events.length) || !(raw_listeners == null ? void 0 : raw_listeners.length))\n return;\n const optionsClone = isObject(raw_options) ? { ...raw_options } : raw_options;\n cleanups.push(\n ...raw_targets.flatMap(\n (el) => raw_events.flatMap(\n (event) => raw_listeners.map((listener) => register(el, event, listener, optionsClone))\n )\n )\n );\n },\n { flush: \"post\" }\n );\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(cleanup);\n return stop;\n}\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window: window2 = defaultWindow, ignore = [], capture = true, detectIframe = false, controls = false } = options;\n if (!window2) {\n return controls ? { stop: noop, cancel: noop, trigger: noop } : noop;\n }\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n const listenerOptions = { passive: true };\n Array.from(window2.document.body.children).forEach((el) => el.addEventListener(\"click\", noop, listenerOptions));\n window2.document.documentElement.addEventListener(\"click\", noop, listenerOptions);\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return toValue(ignore).some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window2.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n function hasMultipleRoots(target2) {\n const vm = toValue(target2);\n return vm && vm.$.subTree.shapeFlag === 16;\n }\n function checkMultipleRoots(target2, event) {\n const vm = toValue(target2);\n const children = vm.$.subTree && vm.$.subTree.children;\n if (children == null || !Array.isArray(children))\n return false;\n return children.some((child) => child.el === event.target || event.composedPath().includes(child.el));\n }\n const listener = (event) => {\n const el = unrefElement(target);\n if (event.target == null)\n return;\n if (!(el instanceof Element) && hasMultipleRoots(target) && checkMultipleRoots(target, event))\n return;\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (\"detail\" in event && event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n let isProcessingClick = false;\n const cleanup = [\n useEventListener(window2, \"click\", (event) => {\n if (!isProcessingClick) {\n isProcessingClick = true;\n setTimeout(() => {\n isProcessingClick = false;\n }, 0);\n listener(event);\n }\n }, { passive: true, capture }),\n useEventListener(window2, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));\n }, { passive: true }),\n detectIframe && useEventListener(window2, \"blur\", (event) => {\n setTimeout(() => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window2.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window2.document.activeElement))) {\n handler(event);\n }\n }, 0);\n }, { passive: true })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n if (controls) {\n return {\n stop,\n cancel: () => {\n shouldListen = false;\n },\n trigger: (event) => {\n shouldListen = true;\n listener(event);\n shouldListen = false;\n }\n };\n }\n return stop;\n}\n// @__NO_SIDE_EFFECTS__\nfunction useMounted() {\n const isMounted = shallowRef(false);\n const instance = getCurrentInstance();\n if (instance) {\n onMounted(() => {\n isMounted.value = true;\n }, instance);\n }\n return isMounted;\n}\n// @__NO_SIDE_EFFECTS__\nfunction useSupported(callback) {\n const isMounted = /* @__PURE__ */ useMounted();\n return computed(() => {\n isMounted.value;\n return Boolean(callback());\n });\n}\nfunction useMutationObserver(target, callback, options = {}) {\n const { window: window2 = defaultWindow, ...mutationOptions } = options;\n let observer;\n const isSupported = /* @__PURE__ */ useSupported(() => window2 && \"MutationObserver\" in window2);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const value = toValue(target);\n const items = toArray(value).map(unrefElement).filter(notNullish);\n return new Set(items);\n });\n const stopWatch = watch(\n () => targets.value,\n (targets2) => {\n cleanup();\n if (isSupported.value && targets2.size) {\n observer = new MutationObserver(callback);\n targets2.forEach((el) => observer.observe(el, mutationOptions));\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const takeRecords = () => {\n return observer == null ? void 0 : observer.takeRecords();\n };\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop,\n takeRecords\n };\n}\nfunction onElementRemoval(target, callback, options = {}) {\n const {\n window: window2 = defaultWindow,\n document: document2 = window2 == null ? void 0 : window2.document,\n flush = \"sync\"\n } = options;\n if (!window2 || !document2)\n return noop;\n let stopFn;\n const cleanupAndUpdate = (fn) => {\n stopFn == null ? void 0 : stopFn();\n stopFn = fn;\n };\n const stopWatch = watchEffect(() => {\n const el = unrefElement(target);\n if (el) {\n const { stop } = useMutationObserver(\n document2,\n (mutationsList) => {\n const targetRemoved = mutationsList.map((mutation) => [...mutation.removedNodes]).flat().some((node) => node === el || node.contains(el));\n if (targetRemoved) {\n callback(mutationsList);\n }\n },\n {\n window: window2,\n childList: true,\n subtree: true\n }\n );\n cleanupAndUpdate(stop);\n }\n }, { flush });\n const stopHandle = () => {\n stopWatch();\n cleanupAndUpdate();\n };\n tryOnScopeDispose(stopHandle);\n return stopHandle;\n}\nfunction createKeyPredicate(keyFilter) {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n}\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false,\n dedupe = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (e.repeat && toValue(dedupe))\n return;\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\nfunction useRafFn(fn, options = {}) {\n const {\n immediate = true,\n fpsLimit = void 0,\n window: window2 = defaultWindow,\n once = false\n } = options;\n const isActive = shallowRef(false);\n const intervalLimit = computed(() => {\n return fpsLimit ? 1e3 / toValue(fpsLimit) : null;\n });\n let previousFrameTimestamp = 0;\n let rafId = null;\n function loop(timestamp2) {\n if (!isActive.value || !window2)\n return;\n if (!previousFrameTimestamp)\n previousFrameTimestamp = timestamp2;\n const delta = timestamp2 - previousFrameTimestamp;\n if (intervalLimit.value && delta < intervalLimit.value) {\n rafId = window2.requestAnimationFrame(loop);\n return;\n }\n previousFrameTimestamp = timestamp2;\n fn({ delta, timestamp: timestamp2 });\n if (once) {\n isActive.value = false;\n rafId = null;\n return;\n }\n rafId = window2.requestAnimationFrame(loop);\n }\n function resume() {\n if (!isActive.value && window2) {\n isActive.value = true;\n previousFrameTimestamp = 0;\n rafId = window2.requestAnimationFrame(loop);\n }\n }\n function pause() {\n isActive.value = false;\n if (rafId != null && window2) {\n window2.cancelAnimationFrame(rafId);\n rafId = null;\n }\n }\n if (immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive: readonly(isActive),\n pause,\n resume\n };\n}\nconst ssrWidthSymbol = Symbol(\"vueuse-ssr-width\");\n// @__NO_SIDE_EFFECTS__\nfunction useSSRWidth() {\n const ssrWidth = hasInjectionContext() ? injectLocal(ssrWidthSymbol, null) : null;\n return typeof ssrWidth === \"number\" ? ssrWidth : void 0;\n}\nfunction useMediaQuery(query, options = {}) {\n const { window: window2 = defaultWindow, ssrWidth = /* @__PURE__ */ useSSRWidth() } = options;\n const isSupported = /* @__PURE__ */ useSupported(() => window2 && \"matchMedia\" in window2 && typeof window2.matchMedia === \"function\");\n const ssrSupport = shallowRef(typeof ssrWidth === \"number\");\n const mediaQuery = shallowRef();\n const matches = shallowRef(false);\n const handler = (event) => {\n matches.value = event.matches;\n };\n watchEffect(() => {\n if (ssrSupport.value) {\n ssrSupport.value = !isSupported.value;\n const queryStrings = toValue(query).split(\",\");\n matches.value = queryStrings.some((queryString) => {\n const not = queryString.includes(\"not all\");\n const minWidth = queryString.match(/\\(\\s*min-width:\\s*(-?\\d+(?:\\.\\d*)?[a-z]+\\s*)\\)/);\n const maxWidth = queryString.match(/\\(\\s*max-width:\\s*(-?\\d+(?:\\.\\d*)?[a-z]+\\s*)\\)/);\n let res = Boolean(minWidth || maxWidth);\n if (minWidth && res) {\n res = ssrWidth >= pxValue(minWidth[1]);\n }\n if (maxWidth && res) {\n res = ssrWidth <= pxValue(maxWidth[1]);\n }\n return not ? !res : res;\n });\n return;\n }\n if (!isSupported.value)\n return;\n mediaQuery.value = window2.matchMedia(toValue(query));\n matches.value = mediaQuery.value.matches;\n });\n useEventListener(mediaQuery, \"change\", handler, { passive: true });\n return computed(() => matches.value);\n}\nconst breakpointsBootstrapV5 = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400\n};\n// @__NO_SIDE_EFFECTS__\nfunction useBreakpoints(breakpoints, options = {}) {\n function getValue(k, delta) {\n let v = toValue(breakpoints[toValue(k)]);\n if (delta != null)\n v = increaseWithUnit(v, delta);\n if (typeof v === \"number\")\n v = `${v}px`;\n return v;\n }\n const { window: window2 = defaultWindow, strategy = \"min-width\", ssrWidth = /* @__PURE__ */ useSSRWidth() } = options;\n const ssrSupport = typeof ssrWidth === \"number\";\n const mounted = ssrSupport ? shallowRef(false) : { value: true };\n if (ssrSupport) {\n tryOnMounted(() => mounted.value = !!window2);\n }\n function match(query, size) {\n if (!mounted.value && ssrSupport) {\n return query === \"min\" ? ssrWidth >= pxValue(size) : ssrWidth <= pxValue(size);\n }\n if (!window2)\n return false;\n return window2.matchMedia(`(${query}-width: ${size})`).matches;\n }\n const greaterOrEqual = (k) => {\n return useMediaQuery(() => `(min-width: ${getValue(k)})`, options);\n };\n const smallerOrEqual = (k) => {\n return useMediaQuery(() => `(max-width: ${getValue(k)})`, options);\n };\n const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {\n Object.defineProperty(shortcuts, k, {\n get: () => strategy === \"min-width\" ? greaterOrEqual(k) : smallerOrEqual(k),\n enumerable: true,\n configurable: true\n });\n return shortcuts;\n }, {});\n function current() {\n const points = Object.keys(breakpoints).map((k) => [k, shortcutMethods[k], pxValue(getValue(k))]).sort((a, b) => a[2] - b[2]);\n return computed(() => points.filter(([, v]) => v.value).map(([k]) => k));\n }\n return Object.assign(shortcutMethods, {\n greaterOrEqual,\n smallerOrEqual,\n greater(k) {\n return useMediaQuery(() => `(min-width: ${getValue(k, 0.1)})`, options);\n },\n smaller(k) {\n return useMediaQuery(() => `(max-width: ${getValue(k, -0.1)})`, options);\n },\n between(a, b) {\n return useMediaQuery(() => `(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`, options);\n },\n isGreater(k) {\n return match(\"min\", getValue(k, 0.1));\n },\n isGreaterOrEqual(k) {\n return match(\"min\", getValue(k));\n },\n isSmaller(k) {\n return match(\"max\", getValue(k, -0.1));\n },\n isSmallerOrEqual(k) {\n return match(\"max\", getValue(k));\n },\n isInBetween(a, b) {\n return match(\"min\", getValue(a)) && match(\"max\", getValue(b, -0.1));\n },\n current,\n active() {\n const bps = current();\n return computed(() => bps.value.length === 0 ? \"\" : bps.value.at(strategy === \"min-width\" ? -1 : 0));\n }\n });\n}\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n if (!(globalKey in _global))\n _global[globalKey] = _global[globalKey] || {};\n return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\n// @__NO_SIDE_EFFECTS__\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window: window2 = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n },\n initOnMounted\n } = options;\n const data = (shallow ? shallowRef : ref)(typeof defaults === \"function\" ? defaults() : defaults);\n const keyComputed = computed(() => toValue(key));\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = toValue(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = watchPausable(\n data,\n () => write(data.value),\n { flush, deep, eventFilter }\n );\n watch(keyComputed, () => update(), { flush });\n let firstMounted = false;\n const onStorageEvent = (ev) => {\n if (initOnMounted && !firstMounted) {\n return;\n }\n update(ev);\n };\n const onStorageCustomEvent = (ev) => {\n if (initOnMounted && !firstMounted) {\n return;\n }\n updateFromCustomEvent(ev);\n };\n if (window2 && listenToStorageChanges) {\n if (storage instanceof Storage)\n useEventListener(window2, \"storage\", onStorageEvent, { passive: true });\n else\n useEventListener(window2, customStorageEventName, onStorageCustomEvent);\n }\n if (initOnMounted) {\n tryOnMounted(() => {\n firstMounted = true;\n update();\n });\n } else {\n update();\n }\n function dispatchWriteEvent(oldValue, newValue) {\n if (window2) {\n const payload = {\n key: keyComputed.value,\n oldValue,\n newValue,\n storageArea: storage\n };\n window2.dispatchEvent(storage instanceof Storage ? new StorageEvent(\"storage\", payload) : new CustomEvent(customStorageEventName, {\n detail: payload\n }));\n }\n }\n function write(v) {\n try {\n const oldValue = storage.getItem(keyComputed.value);\n if (v == null) {\n dispatchWriteEvent(oldValue, null);\n storage.removeItem(keyComputed.value);\n } else {\n const serialized = serializer.write(v);\n if (oldValue !== serialized) {\n storage.setItem(keyComputed.value, serialized);\n dispatchWriteEvent(oldValue, serialized);\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(keyComputed.value);\n if (rawValue == null) {\n if (writeDefaults && rawInit != null)\n storage.setItem(keyComputed.value, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return { ...rawInit, ...value };\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== keyComputed.value)\n return;\n pauseWatch();\n try {\n if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n return data;\n}\nconst CSS_DISABLE_TRANS = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window: window2 = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto,\n disableTransition = true\n } = options;\n const modes = {\n auto: \"\",\n light: \"light\",\n dark: \"dark\",\n ...options.modes || {}\n };\n const preferredDark = /* @__PURE__ */ usePreferredDark({ window: window2 });\n const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window: window2, listenToStorageChanges }));\n const state = computed(() => store.value === \"auto\" ? system.value : store.value);\n const updateHTMLAttrs = getSSRHandler(\n \"updateHTMLAttrs\",\n (selector2, attribute2, value) => {\n const el = typeof selector2 === \"string\" ? window2 == null ? void 0 : window2.document.querySelector(selector2) : unrefElement(selector2);\n if (!el)\n return;\n const classesToAdd = /* @__PURE__ */ new Set();\n const classesToRemove = /* @__PURE__ */ new Set();\n let attributeToChange = null;\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n classesToAdd.add(v);\n else\n classesToRemove.add(v);\n });\n } else {\n attributeToChange = { key: attribute2, value };\n }\n if (classesToAdd.size === 0 && classesToRemove.size === 0 && attributeToChange === null)\n return;\n let style;\n if (disableTransition) {\n style = window2.document.createElement(\"style\");\n style.appendChild(document.createTextNode(CSS_DISABLE_TRANS));\n window2.document.head.appendChild(style);\n }\n for (const c of classesToAdd) {\n el.classList.add(c);\n }\n for (const c of classesToRemove) {\n el.classList.remove(c);\n }\n if (attributeToChange) {\n el.setAttribute(attributeToChange.key, attributeToChange.value);\n }\n if (disableTransition) {\n window2.getComputedStyle(style).opacity;\n document.head.removeChild(style);\n }\n }\n );\n function defaultOnChanged(mode) {\n var _a;\n updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n tryOnMounted(() => onChanged(state.value));\n const auto = computed({\n get() {\n return emitAuto ? store.value : state.value;\n },\n set(v) {\n store.value = v;\n }\n });\n return Object.assign(auto, { store, system, state });\n}\nfunction useElementHover(el, options = {}) {\n const {\n delayEnter = 0,\n delayLeave = 0,\n triggerOnRemoval = false,\n window: window2 = defaultWindow\n } = options;\n const isHovered = shallowRef(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window2)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n if (triggerOnRemoval) {\n onElementRemoval(\n computed(() => unrefElement(el)),\n () => toggle(false)\n );\n }\n return isHovered;\n}\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0,\n window: window2 = defaultWindow,\n immediate = true\n } = options;\n const isSupported = /* @__PURE__ */ useSupported(() => window2 && \"IntersectionObserver\" in window2);\n const targets = computed(() => {\n const _target = toValue(target);\n return toArray(_target).map(unrefElement).filter(notNullish);\n });\n let cleanup = noop;\n const isActive = shallowRef(immediate);\n const stopWatch = isSupported.value ? watch(\n () => [targets.value, unrefElement(root), isActive.value],\n ([targets2, root2]) => {\n cleanup();\n if (!isActive.value)\n return;\n if (!targets2.length)\n return;\n const observer = new IntersectionObserver(\n callback,\n {\n root: unrefElement(root2),\n rootMargin,\n threshold\n }\n );\n targets2.forEach((el) => el && observer.observe(el));\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n },\n { immediate, flush: \"post\" }\n ) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n isActive.value = false;\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n isActive,\n pause() {\n cleanup();\n isActive.value = false;\n },\n resume() {\n isActive.value = true;\n },\n stop\n };\n}\nfunction useFocus(target, options = {}) {\n const { initialValue = false, focusVisible = false, preventScroll = false } = options;\n const innerFocused = shallowRef(false);\n const targetElement = computed(() => unrefElement(target));\n const listenerOptions = { passive: true };\n useEventListener(targetElement, \"focus\", (event) => {\n var _a, _b;\n if (!focusVisible || ((_b = (_a = event.target).matches) == null ? void 0 : _b.call(_a, \":focus-visible\")))\n innerFocused.value = true;\n }, listenerOptions);\n useEventListener(targetElement, \"blur\", () => innerFocused.value = false, listenerOptions);\n const focused = computed({\n get: () => innerFocused.value,\n set(value) {\n var _a, _b;\n if (!value && innerFocused.value)\n (_a = targetElement.value) == null ? void 0 : _a.blur();\n else if (value && !innerFocused.value)\n (_b = targetElement.value) == null ? void 0 : _b.focus({ preventScroll });\n }\n });\n watch(\n targetElement,\n () => {\n focused.value = initialValue;\n },\n { immediate: true, flush: \"post\" }\n );\n return { focused };\n}\nfunction resolveElement(el) {\n if (typeof Window !== \"undefined\" && el instanceof Window)\n return el.document.documentElement;\n if (typeof Document !== \"undefined\" && el instanceof Document)\n return el.documentElement;\n return el;\n}\nconst UseMouseBuiltinExtractors = {\n page: (event) => [event.pageX, event.pageY],\n client: (event) => [event.clientX, event.clientY],\n screen: (event) => [event.screenX, event.screenY],\n movement: (event) => event instanceof MouseEvent ? [event.movementX, event.movementY] : null\n};\nfunction useMouse(options = {}) {\n const {\n type = \"page\",\n touch = true,\n resetOnTouchEnds = false,\n initialValue = { x: 0, y: 0 },\n window: window2 = defaultWindow,\n target = window2,\n scroll = true,\n eventFilter\n } = options;\n let _prevMouseEvent = null;\n let _prevScrollX = 0;\n let _prevScrollY = 0;\n const x = shallowRef(initialValue.x);\n const y = shallowRef(initialValue.y);\n const sourceType = shallowRef(null);\n const extractor = typeof type === \"function\" ? type : UseMouseBuiltinExtractors[type];\n const mouseHandler = (event) => {\n const result = extractor(event);\n _prevMouseEvent = event;\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"mouse\";\n }\n if (window2) {\n _prevScrollX = window2.scrollX;\n _prevScrollY = window2.scrollY;\n }\n };\n const touchHandler = (event) => {\n if (event.touches.length > 0) {\n const result = extractor(event.touches[0]);\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"touch\";\n }\n }\n };\n const scrollHandler = () => {\n if (!_prevMouseEvent || !window2)\n return;\n const pos = extractor(_prevMouseEvent);\n if (_prevMouseEvent instanceof MouseEvent && pos) {\n x.value = pos[0] + window2.scrollX - _prevScrollX;\n y.value = pos[1] + window2.scrollY - _prevScrollY;\n }\n };\n const reset = () => {\n x.value = initialValue.x;\n y.value = initialValue.y;\n };\n const mouseHandlerWrapper = eventFilter ? (event) => eventFilter(() => mouseHandler(event), {}) : (event) => mouseHandler(event);\n const touchHandlerWrapper = eventFilter ? (event) => eventFilter(() => touchHandler(event), {}) : (event) => touchHandler(event);\n const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler();\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"mousemove\", \"dragover\"], mouseHandlerWrapper, listenerOptions);\n if (touch && type !== \"movement\") {\n useEventListener(target, [\"touchstart\", \"touchmove\"], touchHandlerWrapper, listenerOptions);\n if (resetOnTouchEnds)\n useEventListener(target, \"touchend\", reset, listenerOptions);\n }\n if (scroll && type === \"page\")\n useEventListener(window2, \"scroll\", scrollHandlerWrapper, listenerOptions);\n }\n return {\n x,\n y,\n sourceType\n };\n}\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nconst elInitialOverflow = /* @__PURE__ */ new WeakMap();\nfunction useScrollLock(element, initialState = false) {\n const isLocked = shallowRef(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow = \"\";\n watch(toRef(element), (el) => {\n const target = resolveElement(toValue(el));\n if (target) {\n const ele = target;\n if (!elInitialOverflow.get(ele))\n elInitialOverflow.set(ele, ele.style.overflow);\n if (ele.style.overflow !== \"hidden\")\n initialOverflow = ele.style.overflow;\n if (ele.style.overflow === \"hidden\")\n return isLocked.value = true;\n if (isLocked.value)\n return ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const el = resolveElement(toValue(element));\n if (!el || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(\n el,\n \"touchmove\",\n (e) => {\n preventDefault(e);\n },\n { passive: false }\n );\n }\n el.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n const el = resolveElement(toValue(element));\n if (!el || !isLocked.value)\n return;\n if (isIOS)\n stopTouchMoveListener == null ? void 0 : stopTouchMoveListener();\n el.style.overflow = initialOverflow;\n elInitialOverflow.delete(el);\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else unlock();\n }\n });\n}\nfunction useSwipe(target, options = {}) {\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n passive = true\n } = options;\n const coordsStart = reactive({ x: 0, y: 0 });\n const coordsEnd = reactive({ x: 0, y: 0 });\n const diffX = computed(() => coordsStart.x - coordsEnd.x);\n const diffY = computed(() => coordsStart.y - coordsEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold);\n const isSwiping = shallowRef(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(diffX.value) > abs(diffY.value)) {\n return diffX.value > 0 ? \"left\" : \"right\";\n } else {\n return diffY.value > 0 ? \"up\" : \"down\";\n }\n });\n const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY];\n const updateCoordsStart = (x, y) => {\n coordsStart.x = x;\n coordsStart.y = y;\n };\n const updateCoordsEnd = (x, y) => {\n coordsEnd.x = x;\n coordsEnd.y = y;\n };\n const listenerOptions = { passive, capture: !passive };\n const onTouchEnd = (e) => {\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isSwiping.value = false;\n };\n const stops = [\n useEventListener(target, \"touchstart\", (e) => {\n if (e.touches.length !== 1)\n return;\n const [x, y] = getTouchEventCoords(e);\n updateCoordsStart(x, y);\n updateCoordsEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }, listenerOptions),\n useEventListener(target, \"touchmove\", (e) => {\n if (e.touches.length !== 1)\n return;\n const [x, y] = getTouchEventCoords(e);\n updateCoordsEnd(x, y);\n if (listenerOptions.capture && !listenerOptions.passive && Math.abs(diffX.value) > Math.abs(diffY.value))\n e.preventDefault();\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }, listenerOptions),\n useEventListener(target, [\"touchend\", \"touchcancel\"], onTouchEnd, listenerOptions)\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isSwiping,\n direction,\n coordsStart,\n coordsEnd,\n lengthX: diffX,\n lengthY: diffY,\n stop,\n // TODO: Remove in the next major version\n isPassiveEventSupported: true\n };\n}\nfunction useTimestamp(options = {}) {\n const {\n controls: exposeControls = false,\n offset = 0,\n immediate = true,\n interval = \"requestAnimationFrame\",\n callback\n } = options;\n const ts = shallowRef(timestamp() + offset);\n const update = () => ts.value = timestamp() + offset;\n const cb = callback ? () => {\n update();\n callback(ts.value);\n } : update;\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n if (exposeControls) {\n return {\n timestamp: ts,\n ...controls\n };\n } else {\n return ts;\n }\n}\nexport {\n onClickOutside as a,\n useBreakpoints as b,\n unrefElement as c,\n breakpointsBootstrapV5 as d,\n useColorMode as e,\n useIntersectionObserver as f,\n useMutationObserver as g,\n useEventListener as h,\n createReusableTemplate as i,\n useTimestamp as j,\n useElementHover as k,\n useSwipe as l,\n getSSRHandler as m,\n useScrollLock as n,\n onKeyStroke as o,\n useMouse as p,\n useFocus as u\n};\n//# sourceMappingURL=index-C0p9vHHI.mjs.map\n","import { e as useColorMode$1 } from \"../../../index-C0p9vHHI.mjs\";\nconst useColorMode = (opts = {}) => {\n const persist = opts.persist ?? false;\n const attribute = \"data-bs-theme\";\n const selector = \"html\";\n return useColorMode$1({\n attribute,\n selector,\n storageKey: persist === true ? `bv-color-${opts.attribute ?? attribute}-${opts.selector ?? selector}` : null,\n ...opts\n });\n};\nexport {\n useColorMode\n};\n//# sourceMappingURL=index.mjs.map\n","import { inject, ref, provide, nextTick, toValue } from \"vue\";\nimport { o as orchestratorRegistryKey } from \"./keys-BLeKMItg.mjs\";\nfunction buildPromise(_id, store) {\n let resolveFunc = () => {\n };\n const promise = new Promise((resolve) => {\n resolveFunc = resolve;\n });\n Object.assign(promise, {\n id: _id,\n ref: null,\n show() {\n const refWithMethods = this.ref;\n if (refWithMethods?.show) {\n refWithMethods.show();\n } else return this.set({ modelValue: true });\n return promise;\n },\n hide(trigger) {\n const refWithMethods = this.ref;\n if (refWithMethods?.hide) {\n refWithMethods.hide(trigger, true);\n } else return this.set({ modelValue: false });\n return promise;\n },\n toggle() {\n const currentItem = this.get();\n const refWithMethods = this.ref;\n if (refWithMethods?.toggle) {\n refWithMethods.toggle();\n } else return this.set({ modelValue: !currentItem?.modelValue });\n return promise;\n },\n get() {\n return store.value.find((el) => el._self === _id);\n },\n set(val) {\n const itemIndex = store.value.findIndex((el) => el._self === _id);\n const item = store.value[itemIndex];\n if (item) {\n const v = { ...toValue(item), ...toValue(val) };\n if (item.modelValue !== v.modelValue) {\n item[\"onUpdate:modelValue\"]?.(v.modelValue);\n }\n const updatedItem = {\n ...v,\n modelValue: toValue(v.modelValue)\n };\n const vRecord = v;\n if (\"title\" in vRecord && vRecord.title !== void 0) {\n updatedItem.title = toValue(vRecord.title);\n }\n if (\"body\" in vRecord && vRecord.body !== void 0) {\n updatedItem.body = toValue(vRecord.body);\n }\n store.value.splice(itemIndex, 1, updatedItem);\n }\n return promise;\n },\n async destroy() {\n const item = store.value.find((el) => el._self === _id);\n if (!item) return;\n item.promise.stop?.();\n if (item.modelValue) {\n await new Promise((resolve) => {\n const prev = item[\"onHidden\"];\n item[\"onHidden\"] = (e) => {\n prev?.(e);\n resolve(e);\n };\n nextTick(() => {\n this.hide(\"destroy\");\n });\n });\n }\n store.value.splice(\n store.value.findIndex((el) => el._self === _id),\n 1\n );\n },\n async [Symbol.asyncDispose]() {\n await this.destroy();\n }\n });\n return {\n value: promise,\n resolve: resolveFunc,\n stop: void 0\n };\n}\nconst _newOrchestratorRegistry = () => ({\n store: ref([]),\n _isOrchestratorInstalled: ref(false),\n _isToastAppend: ref(false)\n});\nconst useOrchestratorRegistry = () => {\n const orchestratorRegistry = inject(orchestratorRegistryKey, void 0);\n if (orchestratorRegistry) {\n return orchestratorRegistry;\n }\n const newOrchestratorRegistry = _newOrchestratorRegistry();\n provide(orchestratorRegistryKey, newOrchestratorRegistry);\n return newOrchestratorRegistry;\n};\nexport {\n _newOrchestratorRegistry as _,\n buildPromise as b,\n useOrchestratorRegistry as u\n};\n//# sourceMappingURL=orchestratorShared-BTC5xO6k.mjs.map\n","const componentsWithExternalPath = {\n BAccordion: \"/components/BAccordion\",\n BAccordionItem: \"/components/BAccordion\",\n BAlert: \"/components/BAlert\",\n BApp: \"/components/BApp\",\n BAvatar: \"/components/BAvatar\",\n BAvatarGroup: \"/components/BAvatar\",\n BBadge: \"/components/BBadge\",\n BBreadcrumb: \"/components/BBreadcrumb\",\n BBreadcrumbItem: \"/components/BBreadcrumb\",\n BButton: \"/components/BButton\",\n BButtonGroup: \"/components/BButton\",\n BButtonToolbar: \"/components/BButton\",\n BCloseButton: \"/components/BButton\",\n BCard: \"/components/BCard\",\n BCardBody: \"/components/BCard\",\n BCardFooter: \"/components/BCard\",\n BCardGroup: \"/components/BCard\",\n BCardHeader: \"/components/BCard\",\n BCardImg: \"/components/BCard\",\n BCardSubtitle: \"/components/BCard\",\n BCardText: \"/components/BCard\",\n BCardTitle: \"/components/BCard\",\n BCarousel: \"/components/BCarousel\",\n BCarouselSlide: \"/components/BCarousel\",\n BCol: \"/components/BContainer\",\n BCollapse: \"/components/BCollapse\",\n BContainer: \"/components/BContainer\",\n BDropdown: \"/components/BDropdown\",\n BDropdownDivider: \"/components/BDropdown\",\n BDropdownForm: \"/components/BDropdown\",\n BDropdownGroup: \"/components/BDropdown\",\n BDropdownHeader: \"/components/BDropdown\",\n BDropdownItem: \"/components/BDropdown\",\n BDropdownItemButton: \"/components/BDropdown\",\n BDropdownText: \"/components/BDropdown\",\n BForm: \"/components/BForm\",\n BFormCheckbox: \"/components/BFormCheckbox\",\n BFormCheckboxGroup: \"/components/BFormCheckbox\",\n BFormDatalist: \"/components/BForm\",\n BFormFile: \"/components/BFormFile\",\n BFormFloatingLabel: \"/components/BForm\",\n BFormGroup: \"/components/BFormGroup\",\n BFormInput: \"/components/BFormInput\",\n BFormInvalidFeedback: \"/components/BForm\",\n BFormRadio: \"/components/BFormRadio\",\n BFormRadioGroup: \"/components/BFormRadio\",\n BFormRating: \"/components/BFormRating\",\n BFormRow: \"/components/BForm\",\n BFormSelect: \"/components/BFormSelect\",\n BFormSelectOption: \"/components/BFormSelect\",\n BFormSelectOptionGroup: \"/components/BFormSelect\",\n BFormSpinbutton: \"/components/BFormSpinbutton\",\n BFormTag: \"/components/BFormTags\",\n BFormTags: \"/components/BFormTags\",\n BFormText: \"/components/BForm\",\n BFormTextarea: \"/components/BFormTextarea\",\n BFormValidFeedback: \"/components/BForm\",\n BImg: \"/components/BImg\",\n BInput: \"/components/BFormInput\",\n BInputGroup: \"/components/BInputGroup\",\n BInputGroupText: \"/components/BInputGroup\",\n BListGroup: \"/components/BListGroup\",\n BListGroupItem: \"/components/BListGroup\",\n BModal: \"/components/BModal\",\n BModalOrchestrator: \"/components/BModal\",\n BNav: \"/components/BNav\",\n BNavForm: \"/components/BNav\",\n BNavItem: \"/components/BNav\",\n BNavItemDropdown: \"/components/BNav\",\n BNavText: \"/components/BNav\",\n BNavbar: \"/components/BNavbar\",\n BNavbarBrand: \"/components/BNavbar\",\n BNavbarNav: \"/components/BNavbar\",\n BNavbarToggle: \"/components/BNavbar\",\n BOffcanvas: \"/components/BOffcanvas\",\n BOverlay: \"/components/BOverlay\",\n BOrchestrator: \"/components/BApp\",\n BPagination: \"/components/BPagination\",\n BPlaceholder: \"/components/BPlaceholder\",\n BPlaceholderButton: \"/components/BPlaceholder\",\n BPlaceholderCard: \"/components/BPlaceholder\",\n BPlaceholderTable: \"/components/BPlaceholder\",\n BPlaceholderWrapper: \"/components/BPlaceholder\",\n BPopover: \"/components/BPopover\",\n BProgress: \"/components/BProgress\",\n BRow: \"/components/BContainer\",\n BSpinner: \"/components/BSpinner\",\n BTab: \"/components/BTabs\",\n BTabs: \"/components/BTabs\",\n BToast: \"/components/BToast\",\n BToastOrchestrator: \"/components/BToast\",\n BTooltip: \"/components/BTooltip\",\n BLink: \"/components/BLink\",\n BProgressBar: \"/components/BProgress\",\n BTableSimple: \"/components/BTable\",\n BTableLite: \"/components/BTable\",\n BTable: \"/components/BTable\",\n BTbody: \"/components/BTable\",\n BTd: \"/components/BTable\",\n BTh: \"/components/BTable\",\n BThead: \"/components/BTable\",\n BTfoot: \"/components/BTable\",\n BTr: \"/components/BTable\",\n BPopoverOrchestrator: \"/components/BPopover\"\n};\nconst componentNames = Object.freeze(\n Object.keys(componentsWithExternalPath)\n);\nconst directivesWithExternalPath = {\n vBColorMode: \"/directives/BColorMode\",\n vBModal: \"/directives/BModal\",\n vBPopover: \"/directives/BPopover\",\n vBScrollspy: \"/directives/BScrollspy\",\n vBToggle: \"/directives/BToggle\",\n vBTooltip: \"/directives/BTooltip\"\n};\nconst directiveNames = Object.freeze(\n Object.keys(directivesWithExternalPath)\n);\nconst composablesWithExternalPath = {\n useBreadcrumb: \"/composables/useBreadcrumb\",\n useColorMode: \"/composables/useColorMode\",\n useModal: \"/composables/useModal\",\n useModalController: \"/composables/useModal\",\n useScrollLock: \"/composables/useScrollLock\",\n useScrollspy: \"/composables/useScrollspy\",\n useToast: \"/composables/useToast\",\n useToastController: \"/composables/useToast\",\n useToggle: \"/composables/useToggle\",\n usePopover: \"/composables/usePopover\",\n usePopoverController: \"/composables/usePopover\",\n useRegistry: \"/composables/useRegistry\",\n useProvideDefaults: \"/composables/useProvideDefaults\",\n useOrchestratorRegistry: \"/composables/orchestratorShared\"\n};\nconst composableNames = Object.freeze(\n Object.keys(composablesWithExternalPath)\n);\nexport {\n componentsWithExternalPath as a,\n composableNames as b,\n componentNames as c,\n composablesWithExternalPath as d,\n directiveNames as e,\n directivesWithExternalPath as f\n};\n//# sourceMappingURL=BootstrapVueOptions-DSytNWdb.mjs.map\n","import { defineComponent, h, Teleport } from \"vue\";\nconst _sfc_main = defineComponent({\n name: \"ConditionalTeleport\",\n inheritAttrs: false,\n props: {\n to: {\n type: [String, Object],\n default: null\n },\n disabled: {\n type: Boolean,\n required: true\n }\n },\n slots: Object,\n setup(props, { slots }) {\n return () => !props.to ? slots.default?.({}) : h(Teleport, { to: props.to, disabled: props.disabled || !props.to }, [slots.default?.({})]);\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs.map\n","import { defineComponent, h } from \"vue\";\nconst _sfc_main = defineComponent({\n name: \"ConditionalWrapper\",\n inheritAttrs: false,\n props: {\n tag: {\n type: String,\n default: \"div\"\n },\n skip: {\n type: Boolean,\n required: true\n }\n },\n slots: Object,\n setup(props, { slots, attrs }) {\n return () => props.skip ? slots.default?.({}) : h(props.tag, { ...attrs }, [slots.default?.({})]);\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs.map\n","import { shallowRef, computed, toValue, watch, readonly, toRef, ref, onMounted, useId, onUnmounted } from \"vue\";\nimport { c as unrefElement, g as useMutationObserver, n as useScrollLock$1 } from \"./index-C0p9vHHI.mjs\";\nimport { c as toArray, d as notNullish, e as tryOnScopeDispose, r as createSharedComposable } from \"./index-KdB7ucR5.mjs\";\n/*!\n* tabbable 6.2.0\n* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n*/\nvar candidateSelectors = [\"input:not([inert])\", \"select:not([inert])\", \"textarea:not([inert])\", \"a[href]:not([inert])\", \"button:not([inert])\", \"[tabindex]:not(slot):not([inert])\", \"audio[controls]:not([inert])\", \"video[controls]:not([inert])\", '[contenteditable]:not([contenteditable=\"false\"]):not([inert])', \"details>summary:first-of-type:not([inert])\", \"details:not([inert])\"];\nvar candidateSelector = /* @__PURE__ */ candidateSelectors.join(\",\");\nvar NoElement = typeof Element === \"undefined\";\nvar matches = NoElement ? function() {\n} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\nvar getRootNode = !NoElement && Element.prototype.getRootNode ? function(element) {\n var _element$getRootNode;\n return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element);\n} : function(element) {\n return element === null || element === void 0 ? void 0 : element.ownerDocument;\n};\nvar isInert = function isInert2(node, lookUp) {\n var _node$getAttribute;\n if (lookUp === void 0) {\n lookUp = true;\n }\n var inertAtt = node === null || node === void 0 ? void 0 : (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, \"inert\");\n var inert = inertAtt === \"\" || inertAtt === \"true\";\n var result = inert || lookUp && node && isInert2(node.parentNode);\n return result;\n};\nvar isContentEditable = function isContentEditable2(node) {\n var _node$getAttribute2;\n var attValue = node === null || node === void 0 ? void 0 : (_node$getAttribute2 = node.getAttribute) === null || _node$getAttribute2 === void 0 ? void 0 : _node$getAttribute2.call(node, \"contenteditable\");\n return attValue === \"\" || attValue === \"true\";\n};\nvar getCandidates = function getCandidates2(el, includeContainer, filter) {\n if (isInert(el)) {\n return [];\n }\n var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));\n if (includeContainer && matches.call(el, candidateSelector)) {\n candidates.unshift(el);\n }\n candidates = candidates.filter(filter);\n return candidates;\n};\nvar getCandidatesIteratively = function getCandidatesIteratively2(elements, includeContainer, options) {\n var candidates = [];\n var elementsToCheck = Array.from(elements);\n while (elementsToCheck.length) {\n var element = elementsToCheck.shift();\n if (isInert(element, false)) {\n continue;\n }\n if (element.tagName === \"SLOT\") {\n var assigned = element.assignedElements();\n var content = assigned.length ? assigned : element.children;\n var nestedCandidates = getCandidatesIteratively2(content, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: nestedCandidates\n });\n }\n } else {\n var validCandidate = matches.call(element, candidateSelector);\n if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) {\n candidates.push(element);\n }\n var shadowRoot = element.shadowRoot || // check for an undisclosed shadow\n typeof options.getShadowRoot === \"function\" && options.getShadowRoot(element);\n var validShadowRoot = !isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element));\n if (shadowRoot && validShadowRoot) {\n var _nestedCandidates = getCandidatesIteratively2(shadowRoot === true ? element.children : shadowRoot.children, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, _nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: _nestedCandidates\n });\n }\n } else {\n elementsToCheck.unshift.apply(elementsToCheck, element.children);\n }\n }\n }\n return candidates;\n};\nvar hasTabIndex = function hasTabIndex2(node) {\n return !isNaN(parseInt(node.getAttribute(\"tabindex\"), 10));\n};\nvar getTabIndex = function getTabIndex2(node) {\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (node.tabIndex < 0) {\n if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) {\n return 0;\n }\n }\n return node.tabIndex;\n};\nvar getSortOrderTabIndex = function getSortOrderTabIndex2(node, isScope) {\n var tabIndex = getTabIndex(node);\n if (tabIndex < 0 && isScope && !hasTabIndex(node)) {\n return 0;\n }\n return tabIndex;\n};\nvar sortOrderedTabbables = function sortOrderedTabbables2(a, b) {\n return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;\n};\nvar isInput = function isInput2(node) {\n return node.tagName === \"INPUT\";\n};\nvar isHiddenInput = function isHiddenInput2(node) {\n return isInput(node) && node.type === \"hidden\";\n};\nvar isDetailsWithSummary = function isDetailsWithSummary2(node) {\n var r = node.tagName === \"DETAILS\" && Array.prototype.slice.apply(node.children).some(function(child) {\n return child.tagName === \"SUMMARY\";\n });\n return r;\n};\nvar getCheckedRadio = function getCheckedRadio2(nodes, form) {\n for (var i = 0; i < nodes.length; i++) {\n if (nodes[i].checked && nodes[i].form === form) {\n return nodes[i];\n }\n }\n};\nvar isTabbableRadio = function isTabbableRadio2(node) {\n if (!node.name) {\n return true;\n }\n var radioScope = node.form || getRootNode(node);\n var queryRadios = function queryRadios2(name) {\n return radioScope.querySelectorAll('input[type=\"radio\"][name=\"' + name + '\"]');\n };\n var radioSet;\n if (typeof window !== \"undefined\" && typeof window.CSS !== \"undefined\" && typeof window.CSS.escape === \"function\") {\n radioSet = queryRadios(window.CSS.escape(node.name));\n } else {\n try {\n radioSet = queryRadios(node.name);\n } catch (err) {\n console.error(\"Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s\", err.message);\n return false;\n }\n }\n var checked = getCheckedRadio(radioSet, node.form);\n return !checked || checked === node;\n};\nvar isRadio = function isRadio2(node) {\n return isInput(node) && node.type === \"radio\";\n};\nvar isNonTabbableRadio = function isNonTabbableRadio2(node) {\n return isRadio(node) && !isTabbableRadio(node);\n};\nvar isNodeAttached = function isNodeAttached2(node) {\n var _nodeRoot;\n var nodeRoot = node && getRootNode(node);\n var nodeRootHost = (_nodeRoot = nodeRoot) === null || _nodeRoot === void 0 ? void 0 : _nodeRoot.host;\n var attached = false;\n if (nodeRoot && nodeRoot !== node) {\n var _nodeRootHost, _nodeRootHost$ownerDo, _node$ownerDocument;\n attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && (_nodeRootHost$ownerDo = _nodeRootHost.ownerDocument) !== null && _nodeRootHost$ownerDo !== void 0 && _nodeRootHost$ownerDo.contains(nodeRootHost) || node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.contains(node));\n while (!attached && nodeRootHost) {\n var _nodeRoot2, _nodeRootHost2, _nodeRootHost2$ownerD;\n nodeRoot = getRootNode(nodeRootHost);\n nodeRootHost = (_nodeRoot2 = nodeRoot) === null || _nodeRoot2 === void 0 ? void 0 : _nodeRoot2.host;\n attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && (_nodeRootHost2$ownerD = _nodeRootHost2.ownerDocument) !== null && _nodeRootHost2$ownerD !== void 0 && _nodeRootHost2$ownerD.contains(nodeRootHost));\n }\n }\n return attached;\n};\nvar isZeroArea = function isZeroArea2(node) {\n var _node$getBoundingClie = node.getBoundingClientRect(), width = _node$getBoundingClie.width, height = _node$getBoundingClie.height;\n return width === 0 && height === 0;\n};\nvar isHidden = function isHidden2(node, _ref) {\n var displayCheck = _ref.displayCheck, getShadowRoot = _ref.getShadowRoot;\n if (getComputedStyle(node).visibility === \"hidden\") {\n return true;\n }\n var isDirectSummary = matches.call(node, \"details>summary:first-of-type\");\n var nodeUnderDetails = isDirectSummary ? node.parentElement : node;\n if (matches.call(nodeUnderDetails, \"details:not([open]) *\")) {\n return true;\n }\n if (!displayCheck || displayCheck === \"full\" || displayCheck === \"legacy-full\") {\n if (typeof getShadowRoot === \"function\") {\n var originalNode = node;\n while (node) {\n var parentElement = node.parentElement;\n var rootNode = getRootNode(node);\n if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true) {\n return isZeroArea(node);\n } else if (node.assignedSlot) {\n node = node.assignedSlot;\n } else if (!parentElement && rootNode !== node.ownerDocument) {\n node = rootNode.host;\n } else {\n node = parentElement;\n }\n }\n node = originalNode;\n }\n if (isNodeAttached(node)) {\n return !node.getClientRects().length;\n }\n if (displayCheck !== \"legacy-full\") {\n return true;\n }\n } else if (displayCheck === \"non-zero-area\") {\n return isZeroArea(node);\n }\n return false;\n};\nvar isDisabledFromFieldset = function isDisabledFromFieldset2(node) {\n if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {\n var parentNode = node.parentElement;\n while (parentNode) {\n if (parentNode.tagName === \"FIELDSET\" && parentNode.disabled) {\n for (var i = 0; i < parentNode.children.length; i++) {\n var child = parentNode.children.item(i);\n if (child.tagName === \"LEGEND\") {\n return matches.call(parentNode, \"fieldset[disabled] *\") ? true : !child.contains(node);\n }\n }\n return true;\n }\n parentNode = parentNode.parentElement;\n }\n }\n return false;\n};\nvar isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable2(options, node) {\n if (node.disabled || // we must do an inert look up to filter out any elements inside an inert ancestor\n // because we're limited in the type of selectors we can use in JSDom (see related\n // note related to `candidateSelectors`)\n isInert(node) || isHiddenInput(node) || isHidden(node, options) || // For a details element with a summary, the summary element gets the focus\n isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {\n return false;\n }\n return true;\n};\nvar isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable2(options, node) {\n if (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {\n return false;\n }\n return true;\n};\nvar isValidShadowRootTabbable = function isValidShadowRootTabbable2(shadowHostNode) {\n var tabIndex = parseInt(shadowHostNode.getAttribute(\"tabindex\"), 10);\n if (isNaN(tabIndex) || tabIndex >= 0) {\n return true;\n }\n return false;\n};\nvar sortByOrder = function sortByOrder2(candidates) {\n var regularTabbables = [];\n var orderedTabbables = [];\n candidates.forEach(function(item, i) {\n var isScope = !!item.scopeParent;\n var element = isScope ? item.scopeParent : item;\n var candidateTabindex = getSortOrderTabIndex(element, isScope);\n var elements = isScope ? sortByOrder2(item.candidates) : element;\n if (candidateTabindex === 0) {\n isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);\n } else {\n orderedTabbables.push({\n documentOrder: i,\n tabIndex: candidateTabindex,\n item,\n isScope,\n content: elements\n });\n }\n });\n return orderedTabbables.sort(sortOrderedTabbables).reduce(function(acc, sortable) {\n sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content);\n return acc;\n }, []).concat(regularTabbables);\n};\nvar tabbable = function tabbable2(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorTabbable.bind(null, options),\n flatten: false,\n getShadowRoot: options.getShadowRoot,\n shadowRootFilter: isValidShadowRootTabbable\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));\n }\n return sortByOrder(candidates);\n};\nvar focusable = function focusable2(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorFocusable.bind(null, options),\n flatten: true,\n getShadowRoot: options.getShadowRoot\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));\n }\n return candidates;\n};\nvar isTabbable = function isTabbable2(node, options) {\n options = options || {};\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (matches.call(node, candidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorTabbable(options, node);\n};\nvar focusableCandidateSelector = /* @__PURE__ */ candidateSelectors.concat(\"iframe\").join(\",\");\nvar isFocusable = function isFocusable2(node, options) {\n options = options || {};\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (matches.call(node, focusableCandidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorFocusable(options, node);\n};\n/*!\n* focus-trap 7.6.5\n* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE\n*/\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return _arrayLikeToArray(r);\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: true,\n configurable: true,\n writable: true\n }) : e[r] = t, e;\n}\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function(r2) {\n return Object.getOwnPropertyDescriptor(e, r2).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {\n _defineProperty(e, r2, t[r2]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {\n Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));\n });\n }\n return e;\n}\nfunction _toConsumableArray(r) {\n return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r);\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\nvar activeFocusTraps = {\n activateTrap: function activateTrap(trapStack, trap) {\n if (trapStack.length > 0) {\n var activeTrap = trapStack[trapStack.length - 1];\n if (activeTrap !== trap) {\n activeTrap._setPausedState(true);\n }\n }\n var trapIndex = trapStack.indexOf(trap);\n if (trapIndex === -1) {\n trapStack.push(trap);\n } else {\n trapStack.splice(trapIndex, 1);\n trapStack.push(trap);\n }\n },\n deactivateTrap: function deactivateTrap(trapStack, trap) {\n var trapIndex = trapStack.indexOf(trap);\n if (trapIndex !== -1) {\n trapStack.splice(trapIndex, 1);\n }\n if (trapStack.length > 0 && !trapStack[trapStack.length - 1]._isManuallyPaused()) {\n trapStack[trapStack.length - 1]._setPausedState(false);\n }\n }\n};\nvar isSelectableInput = function isSelectableInput2(node) {\n return node.tagName && node.tagName.toLowerCase() === \"input\" && typeof node.select === \"function\";\n};\nvar isEscapeEvent = function isEscapeEvent2(e) {\n return (e === null || e === void 0 ? void 0 : e.key) === \"Escape\" || (e === null || e === void 0 ? void 0 : e.key) === \"Esc\" || (e === null || e === void 0 ? void 0 : e.keyCode) === 27;\n};\nvar isTabEvent = function isTabEvent2(e) {\n return (e === null || e === void 0 ? void 0 : e.key) === \"Tab\" || (e === null || e === void 0 ? void 0 : e.keyCode) === 9;\n};\nvar isKeyForward = function isKeyForward2(e) {\n return isTabEvent(e) && !e.shiftKey;\n};\nvar isKeyBackward = function isKeyBackward2(e) {\n return isTabEvent(e) && e.shiftKey;\n};\nvar delay = function delay2(fn) {\n return setTimeout(fn, 0);\n};\nvar valueOrHandler = function valueOrHandler2(value) {\n for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n params[_key - 1] = arguments[_key];\n }\n return typeof value === \"function\" ? value.apply(void 0, params) : value;\n};\nvar getActualTarget = function getActualTarget2(event) {\n return event.target.shadowRoot && typeof event.composedPath === \"function\" ? event.composedPath()[0] : event.target;\n};\nvar internalTrapStack = [];\nvar createFocusTrap = function createFocusTrap2(elements, userOptions) {\n var doc = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.document) || document;\n var trapStack = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.trapStack) || internalTrapStack;\n var config = _objectSpread2({\n returnFocusOnDeactivate: true,\n escapeDeactivates: true,\n delayInitialFocus: true,\n isKeyForward,\n isKeyBackward\n }, userOptions);\n var state = {\n // containers given to createFocusTrap()\n // @type {Array<HTMLElement>}\n containers: [],\n // list of objects identifying tabbable nodes in `containers` in the trap\n // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap\n // is active, but the trap should never get to a state where there isn't at least one group\n // with at least one tabbable node in it (that would lead to an error condition that would\n // result in an error being thrown)\n // @type {Array<{\n // container: HTMLElement,\n // tabbableNodes: Array<HTMLElement>, // empty if none\n // focusableNodes: Array<HTMLElement>, // empty if none\n // posTabIndexesFound: boolean,\n // firstTabbableNode: HTMLElement|undefined,\n // lastTabbableNode: HTMLElement|undefined,\n // firstDomTabbableNode: HTMLElement|undefined,\n // lastDomTabbableNode: HTMLElement|undefined,\n // nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined\n // }>}\n containerGroups: [],\n // same order/length as `containers` list\n // references to objects in `containerGroups`, but only those that actually have\n // tabbable nodes in them\n // NOTE: same order as `containers` and `containerGroups`, but __not necessarily__\n // the same length\n tabbableGroups: [],\n nodeFocusedBeforeActivation: null,\n mostRecentlyFocusedNode: null,\n active: false,\n paused: false,\n manuallyPaused: false,\n // timer ID for when delayInitialFocus is true and initial focus in this trap\n // has been delayed during activation\n delayInitialFocusTimer: void 0,\n // the most recent KeyboardEvent for the configured nav key (typically [SHIFT+]TAB), if any\n recentNavEvent: void 0\n };\n var trap;\n var getOption = function getOption2(configOverrideOptions, optionName, configOptionName) {\n return configOverrideOptions && configOverrideOptions[optionName] !== void 0 ? configOverrideOptions[optionName] : config[configOptionName || optionName];\n };\n var findContainerIndex = function findContainerIndex2(element, event) {\n var composedPath = typeof (event === null || event === void 0 ? void 0 : event.composedPath) === \"function\" ? event.composedPath() : void 0;\n return state.containerGroups.findIndex(function(_ref) {\n var container = _ref.container, tabbableNodes = _ref.tabbableNodes;\n return container.contains(element) || // fall back to explicit tabbable search which will take into consideration any\n // web components if the `tabbableOptions.getShadowRoot` option was used for\n // the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't\n // look inside web components even if open)\n (composedPath === null || composedPath === void 0 ? void 0 : composedPath.includes(container)) || tabbableNodes.find(function(node) {\n return node === element;\n });\n });\n };\n var getNodeForOption = function getNodeForOption2(optionName) {\n var _ref2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, _ref2$hasFallback = _ref2.hasFallback, hasFallback = _ref2$hasFallback === void 0 ? false : _ref2$hasFallback, _ref2$params = _ref2.params, params = _ref2$params === void 0 ? [] : _ref2$params;\n var optionValue = config[optionName];\n if (typeof optionValue === \"function\") {\n optionValue = optionValue.apply(void 0, _toConsumableArray(params));\n }\n if (optionValue === true) {\n optionValue = void 0;\n }\n if (!optionValue) {\n if (optionValue === void 0 || optionValue === false) {\n return optionValue;\n }\n throw new Error(\"`\".concat(optionName, \"` was specified but was not a node, or did not return a node\"));\n }\n var node = optionValue;\n if (typeof optionValue === \"string\") {\n try {\n node = doc.querySelector(optionValue);\n } catch (err) {\n throw new Error(\"`\".concat(optionName, '` appears to be an invalid selector; error=\"').concat(err.message, '\"'));\n }\n if (!node) {\n if (!hasFallback) {\n throw new Error(\"`\".concat(optionName, \"` as selector refers to no known node\"));\n }\n }\n }\n return node;\n };\n var getInitialFocusNode = function getInitialFocusNode2() {\n var node = getNodeForOption(\"initialFocus\", {\n hasFallback: true\n });\n if (node === false) {\n return false;\n }\n if (node === void 0 || node && !isFocusable(node, config.tabbableOptions)) {\n if (findContainerIndex(doc.activeElement) >= 0) {\n node = doc.activeElement;\n } else {\n var firstTabbableGroup = state.tabbableGroups[0];\n var firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode;\n node = firstTabbableNode || getNodeForOption(\"fallbackFocus\");\n }\n } else if (node === null) {\n node = getNodeForOption(\"fallbackFocus\");\n }\n if (!node) {\n throw new Error(\"Your focus-trap needs to have at least one focusable element\");\n }\n return node;\n };\n var updateTabbableNodes = function updateTabbableNodes2() {\n state.containerGroups = state.containers.map(function(container) {\n var tabbableNodes = tabbable(container, config.tabbableOptions);\n var focusableNodes = focusable(container, config.tabbableOptions);\n var firstTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[0] : void 0;\n var lastTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[tabbableNodes.length - 1] : void 0;\n var firstDomTabbableNode = focusableNodes.find(function(node) {\n return isTabbable(node);\n });\n var lastDomTabbableNode = focusableNodes.slice().reverse().find(function(node) {\n return isTabbable(node);\n });\n var posTabIndexesFound = !!tabbableNodes.find(function(node) {\n return getTabIndex(node) > 0;\n });\n return {\n container,\n tabbableNodes,\n focusableNodes,\n /** True if at least one node with positive `tabindex` was found in this container. */\n posTabIndexesFound,\n /** First tabbable node in container, __tabindex__ order; `undefined` if none. */\n firstTabbableNode,\n /** Last tabbable node in container, __tabindex__ order; `undefined` if none. */\n lastTabbableNode,\n // NOTE: DOM order is NOT NECESSARILY \"document position\" order, but figuring that out\n // would require more than just https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // because that API doesn't work with Shadow DOM as well as it should (@see\n // https://github.com/whatwg/dom/issues/320) and since this first/last is only needed, so far,\n // to address an edge case related to positive tabindex support, this seems like a much easier,\n // \"close enough most of the time\" alternative for positive tabindexes which should generally\n // be avoided anyway...\n /** First tabbable node in container, __DOM__ order; `undefined` if none. */\n firstDomTabbableNode,\n /** Last tabbable node in container, __DOM__ order; `undefined` if none. */\n lastDomTabbableNode,\n /**\n * Finds the __tabbable__ node that follows the given node in the specified direction,\n * in this container, if any.\n * @param {HTMLElement} node\n * @param {boolean} [forward] True if going in forward tab order; false if going\n * in reverse.\n * @returns {HTMLElement|undefined} The next tabbable node, if any.\n */\n nextTabbableNode: function nextTabbableNode(node) {\n var forward = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;\n var nodeIdx = tabbableNodes.indexOf(node);\n if (nodeIdx < 0) {\n if (forward) {\n return focusableNodes.slice(focusableNodes.indexOf(node) + 1).find(function(el) {\n return isTabbable(el);\n });\n }\n return focusableNodes.slice(0, focusableNodes.indexOf(node)).reverse().find(function(el) {\n return isTabbable(el);\n });\n }\n return tabbableNodes[nodeIdx + (forward ? 1 : -1)];\n }\n };\n });\n state.tabbableGroups = state.containerGroups.filter(function(group) {\n return group.tabbableNodes.length > 0;\n });\n if (state.tabbableGroups.length <= 0 && !getNodeForOption(\"fallbackFocus\")) {\n throw new Error(\"Your focus-trap must have at least one container with at least one tabbable node in it at all times\");\n }\n if (state.containerGroups.find(function(g) {\n return g.posTabIndexesFound;\n }) && state.containerGroups.length > 1) {\n throw new Error(\"At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.\");\n }\n };\n var _getActiveElement = function getActiveElement(el) {\n var activeElement = el.activeElement;\n if (!activeElement) {\n return;\n }\n if (activeElement.shadowRoot && activeElement.shadowRoot.activeElement !== null) {\n return _getActiveElement(activeElement.shadowRoot);\n }\n return activeElement;\n };\n var _tryFocus = function tryFocus(node) {\n if (node === false) {\n return;\n }\n if (node === _getActiveElement(document)) {\n return;\n }\n if (!node || !node.focus) {\n _tryFocus(getInitialFocusNode());\n return;\n }\n node.focus({\n preventScroll: !!config.preventScroll\n });\n state.mostRecentlyFocusedNode = node;\n if (isSelectableInput(node)) {\n node.select();\n }\n };\n var getReturnFocusNode = function getReturnFocusNode2(previousActiveElement) {\n var node = getNodeForOption(\"setReturnFocus\", {\n params: [previousActiveElement]\n });\n return node ? node : node === false ? false : previousActiveElement;\n };\n var findNextNavNode = function findNextNavNode2(_ref3) {\n var target = _ref3.target, event = _ref3.event, _ref3$isBackward = _ref3.isBackward, isBackward = _ref3$isBackward === void 0 ? false : _ref3$isBackward;\n target = target || getActualTarget(event);\n updateTabbableNodes();\n var destinationNode = null;\n if (state.tabbableGroups.length > 0) {\n var containerIndex = findContainerIndex(target, event);\n var containerGroup = containerIndex >= 0 ? state.containerGroups[containerIndex] : void 0;\n if (containerIndex < 0) {\n if (isBackward) {\n destinationNode = state.tabbableGroups[state.tabbableGroups.length - 1].lastTabbableNode;\n } else {\n destinationNode = state.tabbableGroups[0].firstTabbableNode;\n }\n } else if (isBackward) {\n var startOfGroupIndex = state.tabbableGroups.findIndex(function(_ref4) {\n var firstTabbableNode = _ref4.firstTabbableNode;\n return target === firstTabbableNode;\n });\n if (startOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target, false))) {\n startOfGroupIndex = containerIndex;\n }\n if (startOfGroupIndex >= 0) {\n var destinationGroupIndex = startOfGroupIndex === 0 ? state.tabbableGroups.length - 1 : startOfGroupIndex - 1;\n var destinationGroup = state.tabbableGroups[destinationGroupIndex];\n destinationNode = getTabIndex(target) >= 0 ? destinationGroup.lastTabbableNode : destinationGroup.lastDomTabbableNode;\n } else if (!isTabEvent(event)) {\n destinationNode = containerGroup.nextTabbableNode(target, false);\n }\n } else {\n var lastOfGroupIndex = state.tabbableGroups.findIndex(function(_ref5) {\n var lastTabbableNode = _ref5.lastTabbableNode;\n return target === lastTabbableNode;\n });\n if (lastOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target))) {\n lastOfGroupIndex = containerIndex;\n }\n if (lastOfGroupIndex >= 0) {\n var _destinationGroupIndex = lastOfGroupIndex === state.tabbableGroups.length - 1 ? 0 : lastOfGroupIndex + 1;\n var _destinationGroup = state.tabbableGroups[_destinationGroupIndex];\n destinationNode = getTabIndex(target) >= 0 ? _destinationGroup.firstTabbableNode : _destinationGroup.firstDomTabbableNode;\n } else if (!isTabEvent(event)) {\n destinationNode = containerGroup.nextTabbableNode(target);\n }\n }\n } else {\n destinationNode = getNodeForOption(\"fallbackFocus\");\n }\n return destinationNode;\n };\n var checkPointerDown = function checkPointerDown2(e) {\n var target = getActualTarget(e);\n if (findContainerIndex(target, e) >= 0) {\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n trap.deactivate({\n // NOTE: by setting `returnFocus: false`, deactivate() will do nothing,\n // which will result in the outside click setting focus to the node\n // that was clicked (and if not focusable, to \"nothing\"); by setting\n // `returnFocus: true`, we'll attempt to re-focus the node originally-focused\n // on activation (or the configured `setReturnFocus` node), whether the\n // outside click was on a focusable node or not\n returnFocus: config.returnFocusOnDeactivate\n });\n return;\n }\n if (valueOrHandler(config.allowOutsideClick, e)) {\n return;\n }\n e.preventDefault();\n };\n var checkFocusIn = function checkFocusIn2(event) {\n var target = getActualTarget(event);\n var targetContained = findContainerIndex(target, event) >= 0;\n if (targetContained || target instanceof Document) {\n if (targetContained) {\n state.mostRecentlyFocusedNode = target;\n }\n } else {\n event.stopImmediatePropagation();\n var nextNode;\n var navAcrossContainers = true;\n if (state.mostRecentlyFocusedNode) {\n if (getTabIndex(state.mostRecentlyFocusedNode) > 0) {\n var mruContainerIdx = findContainerIndex(state.mostRecentlyFocusedNode);\n var tabbableNodes = state.containerGroups[mruContainerIdx].tabbableNodes;\n if (tabbableNodes.length > 0) {\n var mruTabIdx = tabbableNodes.findIndex(function(node) {\n return node === state.mostRecentlyFocusedNode;\n });\n if (mruTabIdx >= 0) {\n if (config.isKeyForward(state.recentNavEvent)) {\n if (mruTabIdx + 1 < tabbableNodes.length) {\n nextNode = tabbableNodes[mruTabIdx + 1];\n navAcrossContainers = false;\n }\n } else {\n if (mruTabIdx - 1 >= 0) {\n nextNode = tabbableNodes[mruTabIdx - 1];\n navAcrossContainers = false;\n }\n }\n }\n }\n } else {\n if (!state.containerGroups.some(function(g) {\n return g.tabbableNodes.some(function(n) {\n return getTabIndex(n) > 0;\n });\n })) {\n navAcrossContainers = false;\n }\n }\n } else {\n navAcrossContainers = false;\n }\n if (navAcrossContainers) {\n nextNode = findNextNavNode({\n // move FROM the MRU node, not event-related node (which will be the node that is\n // outside the trap causing the focus escape we're trying to fix)\n target: state.mostRecentlyFocusedNode,\n isBackward: config.isKeyBackward(state.recentNavEvent)\n });\n }\n if (nextNode) {\n _tryFocus(nextNode);\n } else {\n _tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode());\n }\n }\n state.recentNavEvent = void 0;\n };\n var checkKeyNav = function checkKeyNav2(event) {\n var isBackward = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n state.recentNavEvent = event;\n var destinationNode = findNextNavNode({\n event,\n isBackward\n });\n if (destinationNode) {\n if (isTabEvent(event)) {\n event.preventDefault();\n }\n _tryFocus(destinationNode);\n }\n };\n var checkTabKey = function checkTabKey2(event) {\n if (config.isKeyForward(event) || config.isKeyBackward(event)) {\n checkKeyNav(event, config.isKeyBackward(event));\n }\n };\n var checkEscapeKey = function checkEscapeKey2(event) {\n if (isEscapeEvent(event) && valueOrHandler(config.escapeDeactivates, event) !== false) {\n event.preventDefault();\n trap.deactivate();\n }\n };\n var checkClick = function checkClick2(e) {\n var target = getActualTarget(e);\n if (findContainerIndex(target, e) >= 0) {\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n return;\n }\n if (valueOrHandler(config.allowOutsideClick, e)) {\n return;\n }\n e.preventDefault();\n e.stopImmediatePropagation();\n };\n var addListeners = function addListeners2() {\n if (!state.active) {\n return;\n }\n activeFocusTraps.activateTrap(trapStack, trap);\n state.delayInitialFocusTimer = config.delayInitialFocus ? delay(function() {\n _tryFocus(getInitialFocusNode());\n }) : _tryFocus(getInitialFocusNode());\n doc.addEventListener(\"focusin\", checkFocusIn, true);\n doc.addEventListener(\"mousedown\", checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener(\"touchstart\", checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener(\"click\", checkClick, {\n capture: true,\n passive: false\n });\n doc.addEventListener(\"keydown\", checkTabKey, {\n capture: true,\n passive: false\n });\n doc.addEventListener(\"keydown\", checkEscapeKey);\n return trap;\n };\n var removeListeners = function removeListeners2() {\n if (!state.active) {\n return;\n }\n doc.removeEventListener(\"focusin\", checkFocusIn, true);\n doc.removeEventListener(\"mousedown\", checkPointerDown, true);\n doc.removeEventListener(\"touchstart\", checkPointerDown, true);\n doc.removeEventListener(\"click\", checkClick, true);\n doc.removeEventListener(\"keydown\", checkTabKey, true);\n doc.removeEventListener(\"keydown\", checkEscapeKey);\n return trap;\n };\n var checkDomRemoval = function checkDomRemoval2(mutations) {\n var isFocusedNodeRemoved = mutations.some(function(mutation) {\n var removedNodes = Array.from(mutation.removedNodes);\n return removedNodes.some(function(node) {\n return node === state.mostRecentlyFocusedNode;\n });\n });\n if (isFocusedNodeRemoved) {\n _tryFocus(getInitialFocusNode());\n }\n };\n var mutationObserver = typeof window !== \"undefined\" && \"MutationObserver\" in window ? new MutationObserver(checkDomRemoval) : void 0;\n var updateObservedNodes = function updateObservedNodes2() {\n if (!mutationObserver) {\n return;\n }\n mutationObserver.disconnect();\n if (state.active && !state.paused) {\n state.containers.map(function(container) {\n mutationObserver.observe(container, {\n subtree: true,\n childList: true\n });\n });\n }\n };\n trap = {\n get active() {\n return state.active;\n },\n get paused() {\n return state.paused;\n },\n activate: function activate(activateOptions) {\n if (state.active) {\n return this;\n }\n var onActivate = getOption(activateOptions, \"onActivate\");\n var onPostActivate = getOption(activateOptions, \"onPostActivate\");\n var checkCanFocusTrap = getOption(activateOptions, \"checkCanFocusTrap\");\n if (!checkCanFocusTrap) {\n updateTabbableNodes();\n }\n state.active = true;\n state.paused = false;\n state.nodeFocusedBeforeActivation = _getActiveElement(doc);\n onActivate === null || onActivate === void 0 || onActivate();\n var finishActivation = function finishActivation2() {\n if (checkCanFocusTrap) {\n updateTabbableNodes();\n }\n addListeners();\n updateObservedNodes();\n onPostActivate === null || onPostActivate === void 0 || onPostActivate();\n };\n if (checkCanFocusTrap) {\n checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);\n return this;\n }\n finishActivation();\n return this;\n },\n deactivate: function deactivate(deactivateOptions) {\n if (!state.active) {\n return this;\n }\n var options = _objectSpread2({\n onDeactivate: config.onDeactivate,\n onPostDeactivate: config.onPostDeactivate,\n checkCanReturnFocus: config.checkCanReturnFocus\n }, deactivateOptions);\n clearTimeout(state.delayInitialFocusTimer);\n state.delayInitialFocusTimer = void 0;\n removeListeners();\n state.active = false;\n state.paused = false;\n updateObservedNodes();\n activeFocusTraps.deactivateTrap(trapStack, trap);\n var onDeactivate = getOption(options, \"onDeactivate\");\n var onPostDeactivate = getOption(options, \"onPostDeactivate\");\n var checkCanReturnFocus = getOption(options, \"checkCanReturnFocus\");\n var returnFocus = getOption(options, \"returnFocus\", \"returnFocusOnDeactivate\");\n onDeactivate === null || onDeactivate === void 0 || onDeactivate();\n var finishDeactivation = function finishDeactivation2() {\n delay(function() {\n if (returnFocus) {\n _tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));\n }\n onPostDeactivate === null || onPostDeactivate === void 0 || onPostDeactivate();\n });\n };\n if (returnFocus && checkCanReturnFocus) {\n checkCanReturnFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)).then(finishDeactivation, finishDeactivation);\n return this;\n }\n finishDeactivation();\n return this;\n },\n pause: function pause(pauseOptions) {\n if (!state.active) {\n return this;\n }\n state.manuallyPaused = true;\n return this._setPausedState(true, pauseOptions);\n },\n unpause: function unpause(unpauseOptions) {\n if (!state.active) {\n return this;\n }\n state.manuallyPaused = false;\n if (trapStack[trapStack.length - 1] !== this) {\n return this;\n }\n return this._setPausedState(false, unpauseOptions);\n },\n updateContainerElements: function updateContainerElements(containerElements) {\n var elementsAsArray = [].concat(containerElements).filter(Boolean);\n state.containers = elementsAsArray.map(function(element) {\n return typeof element === \"string\" ? doc.querySelector(element) : element;\n });\n if (state.active) {\n updateTabbableNodes();\n }\n updateObservedNodes();\n return this;\n }\n };\n Object.defineProperties(trap, {\n _isManuallyPaused: {\n value: function value() {\n return state.manuallyPaused;\n }\n },\n _setPausedState: {\n value: function value(paused, options) {\n if (state.paused === paused) {\n return this;\n }\n state.paused = paused;\n if (paused) {\n var onPause = getOption(options, \"onPause\");\n var onPostPause = getOption(options, \"onPostPause\");\n onPause === null || onPause === void 0 || onPause();\n removeListeners();\n updateObservedNodes();\n onPostPause === null || onPostPause === void 0 || onPostPause();\n } else {\n var onUnpause = getOption(options, \"onUnpause\");\n var onPostUnpause = getOption(options, \"onPostUnpause\");\n onUnpause === null || onUnpause === void 0 || onUnpause();\n updateTabbableNodes();\n addListeners();\n updateObservedNodes();\n onPostUnpause === null || onPostUnpause === void 0 || onPostUnpause();\n }\n return this;\n }\n }\n });\n trap.updateContainerElements(elements);\n return trap;\n};\nfunction useFocusTrap(target, options = {}) {\n let trap;\n const { immediate, ...focusTrapOptions } = options;\n const hasFocus = shallowRef(false);\n const isPaused = shallowRef(false);\n const activate = (opts) => trap && trap.activate(opts);\n const deactivate = (opts) => trap && trap.deactivate(opts);\n const pause = () => {\n if (trap) {\n trap.pause();\n isPaused.value = true;\n }\n };\n const unpause = () => {\n if (trap) {\n trap.unpause();\n isPaused.value = false;\n }\n };\n const targets = computed(() => {\n const _targets = toValue(target);\n return toArray(_targets).map((el) => {\n const _el = toValue(el);\n return typeof _el === \"string\" ? _el : unrefElement(_el);\n }).filter(notNullish);\n });\n watch(\n targets,\n (els) => {\n if (!els.length)\n return;\n if (!trap) {\n trap = createFocusTrap(els, {\n ...focusTrapOptions,\n onActivate() {\n hasFocus.value = true;\n if (options.onActivate)\n options.onActivate();\n },\n onDeactivate() {\n hasFocus.value = false;\n if (options.onDeactivate)\n options.onDeactivate();\n }\n });\n if (immediate)\n activate();\n } else {\n const isActive = trap == null ? void 0 : trap.active;\n trap == null ? void 0 : trap.updateContainerElements(els);\n if (!isActive && immediate) {\n activate();\n }\n }\n },\n { flush: \"post\" }\n );\n tryOnScopeDispose(() => deactivate());\n return {\n hasFocus,\n isPaused,\n activate,\n deactivate,\n pause,\n unpause\n };\n}\nconst useActivatedFocusTrap = ({\n element,\n isActive,\n noTrap,\n fallbackFocus,\n focus\n}, focusTrapOpts = {\n allowOutsideClick: true,\n fallbackFocus: fallbackFocus.ref.value ?? void 0,\n escapeDeactivates: false,\n clickOutsideDeactivates: false,\n initialFocus: focus\n}) => {\n const resolvedIsActive = readonly(toRef(isActive));\n const resolvedNoTrap = readonly(toRef(noTrap));\n const checkNeedsFallback = () => {\n const tabbableElements = element.value?.querySelectorAll(\n `a, button, input, select, textarea, [tabindex]:not([tabindex=\"-1\"]):not(.${fallbackFocus.classSelector})`\n );\n return !tabbableElements?.length;\n };\n const needsFallback = ref(false);\n onMounted(() => {\n needsFallback.value = checkNeedsFallback();\n useMutationObserver(\n element,\n () => {\n needsFallback.value = checkNeedsFallback();\n },\n { childList: true, subtree: true }\n );\n });\n const trap = useFocusTrap(element, focusTrapOpts);\n watch(resolvedIsActive, async (newValue) => {\n if (newValue && resolvedNoTrap.value === false) {\n trap.activate();\n } else {\n trap.deactivate();\n }\n });\n watch(resolvedNoTrap, (newValue) => {\n if (newValue === true) {\n trap.deactivate();\n }\n });\n return {\n needsFallback: readonly(needsFallback)\n };\n};\nconst useScrollLock = createSharedComposable(useScrollLock$1);\nlet prevousRightPadding = \"\";\nconst lockRegistry = /* @__PURE__ */ new Map();\nconst useSafeScrollLock = (isOpen, bodyScroll) => {\n const resolvedIsOpen = readonly(toRef(isOpen));\n const id = useId();\n const inverseBodyScrollingValue = computed(() => !toValue(bodyScroll));\n const isLocked = useScrollLock(\n typeof document !== \"undefined\" ? document.body : null,\n resolvedIsOpen.value && inverseBodyScrollingValue.value\n );\n onMounted(() => {\n if (typeof document === \"undefined\") return;\n lockRegistry.set(id, false);\n watch(\n [resolvedIsOpen, inverseBodyScrollingValue],\n ([modelVal, bodyVal]) => {\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n const hasLocked = Array.from(lockRegistry.values()).some((val) => val === true);\n const myLocked = modelVal && bodyVal;\n lockRegistry.set(id, myLocked);\n if (myLocked && !hasLocked && !isLocked.value) {\n isLocked.value = true;\n if (scrollBarGap > 0) {\n prevousRightPadding = document.body.style.paddingRight;\n document.body.style.paddingRight = `${scrollBarGap + prevousRightPadding}px`;\n }\n }\n const hasLockedAfter = Array.from(lockRegistry.values()).some((val) => val === true);\n if (hasLocked && !hasLockedAfter) {\n lockRegistry.set(id, false);\n isLocked.value = false;\n document.body.style.paddingRight = prevousRightPadding;\n }\n },\n { immediate: true }\n );\n });\n onUnmounted(() => {\n lockRegistry.delete(id);\n const hasLockedAfter = Array.from(lockRegistry.values()).some((val) => val === true);\n if (!hasLockedAfter) {\n document.body.style.paddingRight = prevousRightPadding;\n isLocked.value = false;\n }\n });\n};\nexport {\n useSafeScrollLock as a,\n useActivatedFocusTrap as b,\n useScrollLock as u\n};\n//# sourceMappingURL=useSafeScrollLock-DhacR9hN.mjs.map\n","const getActiveElement = (excludes = []) => {\n const { activeElement } = document;\n return activeElement && !excludes?.some((el) => el === activeElement) ? activeElement : null;\n};\nconst attemptFocus = (el, options = {}) => {\n const isActiveElement = (el2) => el2 === getActiveElement();\n try {\n el.focus(options);\n } catch (e) {\n console.error(e);\n }\n return isActiveElement(el);\n};\nconst isEmptySlot = (el) => (el?.() ?? []).length === 0;\nconst isVisible = (el) => {\n if (el.getAttribute(\"display\") === \"none\") {\n return false;\n }\n const bcr = el.getBoundingClientRect();\n return !!(bcr && bcr.height > 0 && bcr.width > 0);\n};\nconst sortSlotElementsByPosition = (a, b) => {\n if (typeof Node === \"undefined\" || !Node || !a || !b) return 0;\n const position = a.compareDocumentPosition(b);\n if (position & Node.DOCUMENT_POSITION_FOLLOWING) return -1;\n if (position & Node.DOCUMENT_POSITION_PRECEDING) return 1;\n return 0;\n};\nconst getModalZIndex = (element) => {\n if (typeof window === \"undefined\") return 1055;\n const target = element ?? document.body;\n const raw = window.getComputedStyle(target).getPropertyValue(\"--bs-modal-zindex\").trim();\n const parsed = Number.parseInt(raw, 10);\n return Number.isFinite(parsed) ? parsed : 1055;\n};\nexport {\n isVisible as a,\n attemptFocus as b,\n getModalZIndex as c,\n getActiveElement as g,\n isEmptySlot as i,\n sortSlotElementsByPosition as s\n};\n//# sourceMappingURL=dom-DVb-f0ZG.mjs.map\n","import { inject, ref, computed, shallowRef, watchEffect, getCurrentInstance as getCurrentInstance$1, provide } from \"vue\";\nimport { f as defaultsKey } from \"./keys-BLeKMItg.mjs\";\nfunction injectSelf(key, vm = getCurrentInstance(\"injectSelf\")) {\n const { provides } = vm;\n if (provides && key in provides) {\n return provides[key];\n }\n return void 0;\n}\nfunction getCurrentInstance(name, message) {\n const vm = getCurrentInstance$1();\n if (!vm) {\n throw new Error(`[Bvn] ${name} ${\"must be called from inside a setup function\"}`);\n }\n return vm;\n}\nconst toKebabCase = (str = \"\") => str.replace(/[^a-z]/gi, \"-\").replace(/\\B([A-Z])/g, \"-$1\").toLowerCase();\nconst isObject = (obj) => obj !== null && typeof obj === \"object\" && !Array.isArray(obj);\nfunction mergeDeep(source = {}, target = {}, arrayFn) {\n const out = {};\n for (const key in source) {\n out[key] = source[key];\n }\n for (const key in target) {\n const sourceProperty = source[key];\n const targetProperty = target[key];\n if (isObject(sourceProperty) && isObject(targetProperty)) {\n out[key] = mergeDeep(sourceProperty, targetProperty);\n continue;\n }\n out[key] = targetProperty;\n }\n return out;\n}\nconst propIsDefined = (vnode, prop) => typeof vnode.props?.[prop] !== \"undefined\" || typeof vnode.props?.[toKebabCase(prop)] !== \"undefined\";\nfunction internalUseDefaults(props = {}, name) {\n const defaults = inject(defaultsKey, ref({}));\n const vm = getCurrentInstance(\"useDefaults\");\n name = name ?? vm.type.name ?? vm.type.__name;\n if (!name) {\n throw new Error(\"[Bvn] Could not determine component name\");\n }\n const componentDefaults = computed(() => defaults.value?.[props._as ?? name]);\n const _props = new Proxy(props, {\n get(target, prop) {\n const propValue = Reflect.get(target, prop);\n if (prop === \"class\" || prop === \"style\") {\n return [componentDefaults.value?.[prop], propValue].filter((v) => v != null);\n } else if (typeof prop === \"string\" && !propIsDefined(vm.vnode, prop)) {\n return componentDefaults.value?.[prop] ?? defaults.value?.global?.[prop] ?? propValue;\n }\n return propValue;\n }\n });\n const _subcomponentDefaults = shallowRef();\n watchEffect(() => {\n if (componentDefaults.value) {\n const subComponents = Object.entries(componentDefaults.value).filter(\n ([key]) => key.startsWith(key[0].toUpperCase())\n );\n _subcomponentDefaults.value = subComponents.length ? Object.fromEntries(subComponents) : void 0;\n } else {\n _subcomponentDefaults.value = void 0;\n }\n });\n function provideSubDefaults() {\n const injected = injectSelf(defaultsKey, vm);\n provide(\n defaultsKey,\n computed(\n () => _subcomponentDefaults.value ? mergeDeep(injected?.value ?? {}, _subcomponentDefaults.value) : injected?.value\n )\n );\n }\n return { props: _props, provideSubDefaults };\n}\nfunction useDefaults(props, name) {\n const { props: _props, provideSubDefaults } = internalUseDefaults(props, name);\n provideSubDefaults();\n return _props;\n}\nexport {\n useDefaults as u\n};\n//# sourceMappingURL=useDefaults-DESCdb0p.mjs.map\n","import { computed, toValue } from \"vue\";\nconst useColorVariantClasses = (obj) => computed(() => {\n let props = toValue(obj);\n props = {\n variant: props.variant ?? null,\n bgVariant: props.bgVariant ?? null,\n textVariant: props.textVariant ?? null,\n borderVariant: props.borderVariant ?? null\n };\n return {\n [`text-bg-${props.variant}`]: props.variant !== null,\n [`text-${props.textVariant}`]: props.textVariant !== null,\n [`bg-${props.bgVariant}`]: props.bgVariant !== null,\n [`border-${props.borderVariant}`]: props.borderVariant !== null\n };\n});\nexport {\n useColorVariantClasses as u\n};\n//# sourceMappingURL=useColorVariantClasses-ZDE19TZw.mjs.map\n","import { defineComponent, useSlots, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, createElementBlock, createCommentVNode, renderSlot, createTextVNode, toDisplayString } from \"vue\";\nimport { i as isEmptySlot } from \"./dom-DVb-f0ZG.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nconst _hoisted_1 = {\n key: 0,\n class: \"visually-hidden\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BSpinner\",\n props: {\n label: { default: void 0 },\n role: { default: \"status\" },\n small: { type: Boolean, default: false },\n tag: { default: \"span\" },\n type: { default: \"border\" },\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BSpinner\");\n const slots = useSlots();\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant\n }))\n );\n const computedClasses = computed(() => [\n `spinner-${props.type}`,\n colorClasses.value,\n {\n [`spinner-${props.type}-sm`]: props.small\n }\n ]);\n const hasLabelSlot = computed(() => !isEmptySlot(slots.label));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(computedClasses.value),\n role: unref(props).label || hasLabelSlot.value ? unref(props).role : null,\n \"aria-hidden\": unref(props).label || hasLabelSlot.value ? null : true\n }, {\n default: withCtx(() => [\n unref(props).label || hasLabelSlot.value ? (openBlock(), createElementBlock(\"span\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"label\", {}, () => [\n createTextVNode(toDisplayString(unref(props).label), 1)\n ])\n ])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"class\", \"role\", \"aria-hidden\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BSpinner.vue_vue_type_script_setup_true_lang-H1MzHypA.mjs.map\n","const omit = (objToPluck, keysToPluck) => Object.keys(objToPluck).filter((key) => !keysToPluck.map((el) => el.toString()).includes(key)).reduce((result, key) => ({ ...result, [key]: objToPluck[key] }), {});\nconst pick = (objToPluck, keysToPluck) => [...keysToPluck].reduce(\n (memo, prop) => {\n memo[prop] = objToPluck[prop];\n return memo;\n },\n {}\n);\nconst get = (value, path, defaultValue) => {\n const segments = path.split(/[.[\\]]/g);\n let current = value;\n for (const key of segments) {\n if (current === null) return defaultValue;\n if (current === void 0) return defaultValue;\n if (key.trim() === \"\") continue;\n current = current[key];\n }\n if (current === void 0) return defaultValue;\n return current;\n};\nconst set = (initial, path, value) => {\n const clone = (obj) => {\n const isPrimitive = (value2) => value2 === void 0 || value2 === null || typeof value2 !== \"object\" && typeof value2 !== \"function\";\n if (isPrimitive(obj)) {\n return obj;\n }\n if (typeof obj === \"function\") {\n return obj.bind({});\n }\n const newObj = new obj.constructor();\n Object.getOwnPropertyNames(obj).forEach((prop) => {\n newObj[prop] = obj[prop];\n });\n return newObj;\n };\n const toInt = (value2, defaultValue) => {\n const def = defaultValue;\n if (value2 === null || value2 === void 0) {\n return def;\n }\n const result = Number.parseInt(value2);\n return Number.isNaN(result) ? def : result;\n };\n if (!initial) return {};\n if (!path || value === void 0) return initial;\n const segments = path.split(/[.[\\]]/g).filter((x) => !!x.trim());\n const _set = (node) => {\n if (segments.length > 1) {\n const key = segments.shift();\n const nextIsNum = toInt(segments[0], null) === null ? false : true;\n node[key] = node[key] === void 0 ? nextIsNum ? [] : {} : node[key];\n _set(node[key]);\n } else {\n node[segments[0]] = value;\n }\n };\n const cloned = clone(initial);\n _set(cloned);\n return cloned;\n};\nconst deepEqual = (a, b) => {\n if (a === b) {\n return true;\n }\n if (typeof a !== \"object\" || a === null || typeof b !== \"object\" || b === null) {\n return false;\n }\n const keysA = Object.keys(a), keysB = Object.keys(b);\n if (keysA.length !== keysB.length) {\n return false;\n }\n for (const key of keysA) {\n if (!keysB.includes(key) || !deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n};\nexport {\n deepEqual as d,\n get as g,\n omit as o,\n pick as p,\n set as s\n};\n//# sourceMappingURL=object-0ALvRU0O.mjs.map\n","const CODE_DOWN = \"ArrowDown\";\nconst CODE_END = \"End\";\nconst CODE_HOME = \"Home\";\nconst CODE_LEFT = \"ArrowLeft\";\nconst CODE_PAGEDOWN = \"PageDown\";\nconst CODE_PAGEUP = \"PageUp\";\nconst CODE_RIGHT = \"ArrowRight\";\nconst CODE_UP = \"ArrowUp\";\nconst RX_UNDERSCORE = /_/g;\nconst RX_LOWER_UPPER = /([a-z])([A-Z])/g;\nconst RX_NUMBER = /^[0-9]*\\.?[0-9]+$/;\nconst RX_START_SPACE_WORD = /(\\s|^)(\\w)/g;\nconst RX_FIRST_START_SPACE_WORD = /(\\s|^)(\\w)/;\nconst RX_SPACE_SPLIT = /\\s+/;\nconst RX_HASH = /^#/;\nconst RX_HASH_ID = /^#[A-Za-z]+[\\w\\-:.]*$/;\nconst RX_REGEXP_REPLACE = /[-/\\\\^$*+?.()|[\\]{}]/g;\nconst RX_SPACES = /[\\s\\uFEFF\\xA0]+/g;\nexport {\n CODE_LEFT as C,\n RX_SPACE_SPLIT as R,\n CODE_UP as a,\n CODE_RIGHT as b,\n CODE_DOWN as c,\n RX_HASH_ID as d,\n RX_HASH as e,\n RX_NUMBER as f,\n RX_SPACES as g,\n RX_REGEXP_REPLACE as h,\n RX_UNDERSCORE as i,\n RX_LOWER_UPPER as j,\n RX_FIRST_START_SPACE_WORD as k,\n RX_START_SPACE_WORD as l,\n CODE_HOME as m,\n CODE_END as n,\n CODE_PAGEUP as o,\n CODE_PAGEDOWN as p\n};\n//# sourceMappingURL=constants-Cx335y3L.mjs.map\n","import { g as RX_SPACES, h as RX_REGEXP_REPLACE, i as RX_UNDERSCORE, j as RX_LOWER_UPPER, k as RX_FIRST_START_SPACE_WORD, l as RX_START_SPACE_WORD } from \"./constants-Cx335y3L.mjs\";\nconst startCase = (str) => str.replace(RX_UNDERSCORE, \" \").replace(RX_LOWER_UPPER, (_, $1, $2) => `${$1} ${$2}`).replace(RX_FIRST_START_SPACE_WORD, (_, $1, $2) => $1 + $2.toUpperCase());\nconst titleCase = (str) => str.replace(RX_UNDERSCORE, \" \").replace(RX_LOWER_UPPER, (_, $1, $2) => `${$1} ${$2}`).replace(RX_START_SPACE_WORD, (_, $1, $2) => $1 + $2.toUpperCase());\nconst upperFirst = (str) => {\n const trim = str.trim();\n return trim.charAt(0).toUpperCase() + trim.slice(1);\n};\nconst escapeRegExp = (str) => str.replace(RX_REGEXP_REPLACE, \"\\\\$&\");\nconst escapeRegExpChars = (str) => escapeRegExp(str).replace(RX_SPACES, \"\\\\s\");\nconst toPascalCase = (str) => str.replace(/-./g, (match) => match.charAt(1).toUpperCase()).replace(/\\b\\w/g, (match) => match.toUpperCase()).replace(/\\s+/g, \"\");\nexport {\n toPascalCase as a,\n escapeRegExpChars as e,\n startCase as s,\n titleCase as t,\n upperFirst as u\n};\n//# sourceMappingURL=stringUtils-gJJ6T6UC.mjs.map\n","import { readonly, toRef, computed, getCurrentInstance, resolveDynamicComponent, toValue, defineComponent, useAttrs, inject, createBlock, openBlock, unref, mergeProps, withCtx, renderSlot } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { c as collapseInjectionKey, v as navbarInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { p as pick } from \"./object-0ALvRU0O.mjs\";\nimport { a as toPascalCase } from \"./stringUtils-gJJ6T6UC.mjs\";\nconst isLink = (props) => !!(props.href || props.to);\nconst useBLinkHelper = (props, pickProps) => {\n const pickPropsResolved = readonly(toRef(pickProps));\n const resolvedProps = readonly(toRef(props));\n const computedLink = computed(() => isLink(resolvedProps.value));\n const computedLinkProps = computed(\n () => computedLink.value ? pick(\n resolvedProps.value,\n pickPropsResolved.value ?? [\n \"active\",\n \"activeClass\",\n \"append\",\n \"exactActiveClass\",\n \"href\",\n \"rel\",\n \"replace\",\n \"routerComponentName\",\n \"target\",\n \"to\",\n \"variant\",\n \"opacity\",\n \"opacityHover\",\n \"underlineVariant\",\n \"underlineOffset\",\n \"underlineOffsetHover\",\n \"underlineOpacity\",\n \"underlineOpacityHover\"\n ]\n ) : {}\n );\n return { computedLink, computedLinkProps };\n};\nconst useBLinkTagResolver = ({\n to,\n disabled,\n href,\n replace,\n routerComponentName\n}) => {\n const instance = getCurrentInstance();\n const router = instance?.appContext?.app?.config?.globalProperties?.$router;\n const route = instance?.appContext?.app?.config?.globalProperties?.$route;\n const RouterLinkComponent = resolveDynamicComponent(\"RouterLink\");\n const useLink = !!RouterLinkComponent && typeof RouterLinkComponent !== \"string\" && \"useLink\" in RouterLinkComponent ? RouterLinkComponent.useLink : null;\n const resolvedTo = computed(() => toValue(to) || \"\");\n const resolvedReplace = readonly(toRef(replace));\n const routerName = computed(() => toPascalCase(toValue(routerComponentName)));\n const tag = computed(() => {\n const hasRouter = instance?.appContext?.app?.component(routerName.value) !== void 0;\n if (!hasRouter || toValue(disabled) || !resolvedTo.value) {\n return \"a\";\n }\n return routerName.value;\n });\n const isRouterLink = computed(() => tag.value === \"RouterLink\");\n const isNuxtLink = computed(\n // @ts-expect-error we're doing an explicit check for Nuxt, so we can safely ignore this\n () => isRouterLink.value && typeof instance?.appContext?.app?.$nuxt !== \"undefined\"\n );\n const isNonStandardTag = computed(\n () => tag.value !== \"a\" && !isRouterLink.value && !isNuxtLink.value\n );\n const isOfRouterType = computed(() => isRouterLink.value || isNuxtLink.value);\n const linkProps = computed(() => ({\n to: resolvedTo.value,\n replace: resolvedReplace.value\n }));\n const _link = useLink?.({\n to: resolvedTo,\n replace: resolvedReplace\n });\n const link = computed(() => isOfRouterType.value ? _link : null);\n const computedHref = computed(() => {\n if (link.value?.href.value) return link.value.href.value;\n const toFallback = \"#\";\n const resolvedHref = toValue(href);\n if (resolvedHref) return resolvedHref;\n if (typeof resolvedTo.value === \"string\") return resolvedTo.value || toFallback;\n const stableTo = resolvedTo.value;\n if (stableTo !== void 0 && \"path\" in stableTo) {\n const path = stableTo.path || \"\";\n const query = stableTo.query ? `?${Object.keys(stableTo.query).map((e) => `${e}=${stableTo.query?.[e]}`).join(\"=\")}` : \"\";\n const hash = !stableTo.hash || stableTo.hash.charAt(0) === \"#\" ? stableTo.hash || \"\" : `#${stableTo.hash}`;\n return `${path}${query}${hash}` || toFallback;\n }\n return toFallback;\n });\n return {\n isNonStandardTag,\n tag,\n isRouterLink,\n isNuxtLink,\n computedHref,\n routerName,\n router,\n route,\n link,\n linkProps\n };\n};\nconst useLinkClasses = (linkProps) => computed(() => {\n const props = toValue(linkProps);\n return {\n [`link-${props.variant}`]: props.variant !== null,\n [`link-opacity-${props.opacity}`]: props.opacity !== void 0,\n [`link-opacity-${props.opacityHover}-hover`]: props.opacityHover !== void 0,\n [`link-underline-${props.underlineVariant}`]: props.underlineVariant !== null,\n [`link-offset-${props.underlineOffset}`]: props.underlineOffset !== void 0,\n [`link-offset-${props.underlineOffsetHover}-hover`]: props.underlineOffsetHover !== void 0,\n [\"link-underline\"]: props.underlineVariant === null && (props.underlineOpacity !== void 0 || props.underlineOpacityHover !== void 0),\n [`link-underline-opacity-${props.underlineOpacity}`]: props.underlineOpacity !== void 0,\n [`link-underline-opacity-${props.underlineOpacityHover}-hover`]: props.underlineOpacityHover !== void 0,\n \"icon-link\": props.icon === true\n };\n});\nconst defaultActiveClass = \"active\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BLink\",\n props: {\n active: { type: Boolean, default: void 0 },\n activeClass: { default: \"router-link-active\" },\n disabled: { type: Boolean, default: false },\n exactActiveClass: { default: \"router-link-exact-active\" },\n href: { default: void 0 },\n icon: { type: Boolean, default: false },\n noRel: { type: Boolean, default: false },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean, default: void 0 },\n prefetchOn: { default: void 0 },\n noPrefetch: { type: Boolean, default: void 0 },\n prefetchedClass: { default: void 0 },\n rel: { default: void 0 },\n replace: { type: Boolean, default: false },\n routerComponentName: { default: \"router-link\" },\n routerTag: { default: \"a\" },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: null },\n variant: { default: null }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BLink\");\n const emit = __emit;\n const attrs = useAttrs();\n const { computedHref, tag, link, isNuxtLink, isRouterLink, linkProps, isNonStandardTag } = useBLinkTagResolver({\n routerComponentName: () => props.routerComponentName,\n disabled: () => props.disabled,\n to: () => props.to,\n replace: () => props.replace,\n href: () => props.href\n });\n const collapseData = inject(collapseInjectionKey, null);\n const navbarData = inject(navbarInjectionKey, null);\n const linkValueClasses = useLinkClasses(props);\n const computedClasses = computed(() => [\n linkValueClasses.value,\n attrs.class,\n computedLinkClasses.value,\n {\n [defaultActiveClass]: props.active,\n [props.activeClass]: link.value?.isActive.value || false,\n [props.exactActiveClass]: link.value?.isExactActive.value || false,\n \"stretched-link\": props.stretched === true\n }\n ]);\n const computedLinkClasses = computed(() => ({\n [defaultActiveClass]: props.active,\n disabled: props.disabled\n }));\n const clicked = (e) => {\n if (props.disabled) {\n e.preventDefault();\n e.stopImmediatePropagation();\n return;\n }\n if (collapseData?.isNav?.value === true && navbarData === null || navbarData !== null && navbarData.noAutoClose?.value !== true) {\n collapseData?.hide?.();\n }\n emit(\"click\", e);\n };\n const computedRel = computed(\n () => props.target === \"_blank\" ? !props.rel && props.noRel ? \"noopener\" : props.rel : void 0\n );\n const computedTabIndex = computed(\n () => props.disabled ? \"-1\" : typeof attrs.tabindex === \"undefined\" ? null : attrs.tabindex\n );\n const nuxtSpecificProps = computed(() => ({\n prefetch: props.prefetch,\n noPrefetch: props.noPrefetch,\n prefetchOn: props.prefetchOn,\n prefetchedClass: props.prefetchedClass,\n ...linkProps.value\n }));\n const computedSpecificProps = computed(() => ({\n ...isRouterLink.value ? linkProps.value : void 0,\n // In addition to being Nuxt specific, we add these values if it's some non-standard tag. We don't know what it is,\n // So we just add it anyways. It will be made as an attr if it's unused so it's fine\n ...isNuxtLink.value || isNonStandardTag.value ? nuxtSpecificProps.value : void 0\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(tag)), mergeProps({\n class: computedClasses.value,\n target: unref(props).target,\n href: unref(computedHref),\n rel: computedRel.value,\n tabindex: computedTabIndex.value,\n \"aria-disabled\": unref(props).disabled ? true : null\n }, computedSpecificProps.value, {\n onClick: _cache[0] || (_cache[0] = (e) => {\n clicked(e);\n unref(link)?.navigate(e);\n })\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"class\", \"target\", \"href\", \"rel\", \"tabindex\", \"aria-disabled\"]);\n };\n }\n});\nexport {\n _sfc_main as _,\n useLinkClasses as a,\n useBLinkHelper as u\n};\n//# sourceMappingURL=BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs.map\n","import { defineComponent, mergeModels, useTemplateRef, useModel, computed, createBlock, openBlock, resolveDynamicComponent, mergeProps, unref, withCtx, renderSlot, createElementBlock, createCommentVNode, Fragment, createTextVNode, toDisplayString, createVNode } from \"vue\";\nimport { _ as _sfc_main$2 } from \"./BSpinner.vue_vue_type_script_setup_true_lang-H1MzHypA.mjs\";\nimport { u as useBLinkHelper, a as useLinkClasses, _ as _sfc_main$1 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { o as onKeyStroke } from \"./index-C0p9vHHI.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport \"./BootstrapVueOptions-DSytNWdb.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BButton\",\n props: /* @__PURE__ */ mergeModels({\n loading: { type: Boolean, default: false },\n loadingFill: { type: Boolean, default: false },\n loadingText: { default: \"Loading...\" },\n pill: { type: Boolean, default: false },\n size: { default: \"md\" },\n squared: { type: Boolean, default: false },\n tag: { default: \"button\" },\n type: { default: \"button\" },\n variant: { default: \"secondary\" },\n active: { type: Boolean, default: false },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: false },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n routerTag: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: null }\n }, {\n \"pressed\": { type: Boolean, ...{ default: void 0 } },\n \"pressedModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"click\"], [\"update:pressed\"]),\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BButton\");\n const emit = __emit;\n const element = useTemplateRef(\"_element\");\n const pressedValue = useModel(__props, \"pressed\");\n const { computedLink, computedLinkProps } = useBLinkHelper(props, [\n \"active-class\",\n \"exact-active-class\",\n \"replace\",\n \"routerComponentName\",\n \"routerTag\"\n ]);\n const isToggle = computed(() => typeof pressedValue.value === \"boolean\");\n const isButton = computed(\n () => props.tag === \"button\" && props.href === void 0 && props.to === void 0\n );\n const isBLink = computed(() => props.to !== void 0);\n const nonStandardTag = computed(() => props.href !== void 0 ? false : !isButton.value);\n const linkProps = computed(() => isBLink.value ? computedLinkProps.value : []);\n const computedAriaDisabled = computed(() => {\n if (props.href === \"#\" && props.disabled) return true;\n return nonStandardTag.value ? props.disabled : null;\n });\n const variantIsLinkType = computed(() => props.variant?.startsWith(\"link\") || false);\n const variantIsLinkTypeSubset = computed(() => props.variant?.startsWith(\"link-\") || false);\n const linkValueClasses = useLinkClasses(\n computed(() => ({\n ...variantIsLinkType.value ? {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant: variantIsLinkTypeSubset.value === true ? props.variant?.slice(5) : null\n } : void 0\n }))\n );\n const computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false ? linkValueClasses.value : void 0,\n [`btn-${props.size}`],\n {\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n \"active\": props.active || pressedValue.value,\n \"rounded-pill\": props.pill,\n \"rounded-0\": props.squared,\n \"disabled\": props.disabled\n }\n ]);\n const computedTag = computed(() => isBLink.value ? _sfc_main$1 : props.href ? \"a\" : props.tag);\n const clicked = (e) => {\n if (props.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n emit(\"click\", e);\n if (isToggle.value) pressedValue.value = !pressedValue.value;\n };\n onKeyStroke(\n [\" \", \"enter\"],\n (e) => {\n if (props.href === \"#\") {\n e.preventDefault();\n element.value?.click();\n }\n },\n { target: element }\n );\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({\n ref: \"_element\",\n class: \"btn\"\n }, linkProps.value, {\n class: computedClasses.value,\n \"aria-disabled\": computedAriaDisabled.value,\n \"aria-pressed\": isToggle.value ? pressedValue.value : null,\n autocomplete: isToggle.value ? \"off\" : null,\n disabled: isButton.value ? unref(props).disabled : null,\n href: unref(props).href,\n rel: unref(computedLink) ? unref(props).rel : null,\n role: nonStandardTag.value || unref(computedLink) ? \"button\" : null,\n target: unref(computedLink) ? unref(props).target : null,\n type: isButton.value ? unref(props).type : null,\n to: !isButton.value ? unref(props).to : null,\n onClick: clicked\n }), {\n default: withCtx(() => [\n unref(props).loading ? renderSlot(_ctx.$slots, \"loading\", { key: 0 }, () => [\n !unref(props).loadingFill ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createTextVNode(toDisplayString(unref(props).loadingText), 1)\n ], 64)) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"loading-spinner\", {}, () => [\n createVNode(_sfc_main$2, {\n small: unref(props).size !== \"lg\",\n label: unref(props).loadingFill ? unref(props).loadingText : void 0\n }, null, 8, [\"small\", \"label\"])\n ])\n ]) : renderSlot(_ctx.$slots, \"default\", { key: 1 })\n ]),\n _: 3\n }, 16, [\"class\", \"aria-disabled\", \"aria-pressed\", \"autocomplete\", \"disabled\", \"href\", \"rel\", \"role\", \"target\", \"type\", \"to\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs.map\n","import { defineComponent, createElementBlock, openBlock, unref } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nconst _hoisted_1 = [\"type\", \"disabled\", \"aria-label\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BCloseButton\",\n props: {\n ariaLabel: { default: \"Close\" },\n disabled: { type: Boolean, default: false },\n type: { default: \"button\" }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BCloseButton\");\n const emit = __emit;\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"button\", {\n type: unref(props).type,\n class: \"btn-close\",\n disabled: unref(props).disabled,\n \"aria-label\": unref(props).ariaLabel,\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"click\", $event))\n }, null, 8, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs.map\n","import { w as withBvnPrefix } from \"./keys-BLeKMItg.mjs\";\nimport { useId as useId$1, computed, toValue } from \"vue\";\nconst useId = (id, suffix) => {\n const genId = useId$1();\n return computed(() => toValue(id) || withBvnPrefix(genId || \"\", suffix));\n};\nexport {\n useId as u\n};\n//# sourceMappingURL=useId-t29UARy6.mjs.map\n","class BvEvent {\n cancelable = true;\n componentId = null;\n _defaultPrevented = false;\n eventType = \"\";\n nativeEvent = null;\n _preventDefault;\n relatedTarget = null;\n target = null;\n // Readable by everyone,\n // But only overwritten by inherrited constructors\n get defaultPrevented() {\n return this._defaultPrevented;\n }\n set defaultPrevented(prop) {\n this._defaultPrevented = prop;\n }\n // I think this is right\n // We want to be able to have it callable to everyone,\n // But only overwritten by inherrited constructors\n get preventDefault() {\n return this._preventDefault;\n }\n // This may not be correct, because it doesn't get correct type inferences in children\n // Ex overwrite this.preventDefault = () => true is valid. Could be a TS issue\n set preventDefault(setter) {\n this._preventDefault = setter;\n }\n constructor(eventType, eventInit = {}) {\n if (!eventType) {\n throw new TypeError(\n `Failed to construct '${this.constructor.name}'. 1 argument required, ${arguments.length} given.`\n );\n }\n Object.assign(this, BvEvent.Defaults, eventInit, { eventType });\n this._preventDefault = function _preventDefault() {\n if (this.cancelable) {\n this.defaultPrevented = true;\n }\n };\n }\n static get Defaults() {\n return {\n cancelable: true,\n componentId: null,\n eventType: \"\",\n nativeEvent: null,\n relatedTarget: null,\n target: null\n };\n }\n}\nclass BvTriggerableEvent extends BvEvent {\n trigger = null;\n ok = void 0;\n constructor(eventType, eventInit = {}) {\n super(eventType, eventInit);\n Object.assign(this, BvEvent.Defaults, eventInit, { eventType });\n }\n static get Defaults() {\n return {\n ...super.Defaults,\n trigger: null,\n ok: void 0\n };\n }\n}\nclass BvCarouselEvent extends BvEvent {\n from;\n to;\n direction;\n constructor(eventType, eventInit) {\n super(eventType, eventInit);\n Object.assign(this, BvEvent.Defaults, eventInit, { eventType });\n const { from, direction, to } = eventInit;\n this.from = from;\n this.to = to;\n this.direction = direction;\n }\n static get Defaults() {\n return {\n ...super.Defaults\n };\n }\n}\nexport {\n BvEvent as B,\n BvTriggerableEvent as a,\n BvCarouselEvent as b\n};\n//# sourceMappingURL=classes-BW_GpXTu.mjs.map\n","import { ref, watch, computed, onMounted, nextTick, inject, getCurrentInstance, readonly, onBeforeUnmount, onUnmounted } from \"vue\";\nimport { s as showHideRegistryKey } from \"./keys-BLeKMItg.mjs\";\nimport { a as BvTriggerableEvent } from \"./classes-BW_GpXTu.mjs\";\nimport { h as useEventListener } from \"./index-C0p9vHHI.mjs\";\nimport { a as useThrottleFn } from \"./index-KdB7ucR5.mjs\";\nconst fadeBaseTransitionProps = {\n name: \"fade\",\n enterActiveClass: \"\",\n enterFromClass: \"showing\",\n enterToClass: \"\",\n leaveActiveClass: \"\",\n leaveFromClass: \"\",\n leaveToClass: \"showing\",\n css: true\n};\nconst useShowHide = (modelValue, props, emit, element, computedId, options = {\n transitionProps: {},\n showFn: () => {\n },\n hideFn: () => {\n }\n}) => {\n let noAction = false;\n const initialShow = !!modelValue.value && !props.initialAnimation || props.visible || false;\n const showRef = ref(initialShow);\n const renderRef = ref(initialShow);\n const renderBackdropRef = ref(initialShow);\n let isCountdown = typeof modelValue.value !== \"boolean\";\n watch(modelValue, () => {\n isCountdown = typeof modelValue.value !== \"boolean\";\n if (noAction) {\n noAction = false;\n return;\n }\n if (modelValue.value) {\n show();\n } else {\n hide(\"modelValue\", true);\n }\n });\n const localNoAnimation = ref(initialShow);\n const localTemporaryHide = ref(false);\n const computedNoAnimation = computed(\n () => props.noAnimation || props.noFade || localNoAnimation.value || false\n );\n let isMounted = false;\n onMounted(() => {\n isMounted = true;\n if (!props.show && initialShow) {\n const event = buildTriggerableEvent(\"show\", { cancelable: true });\n emit(\"show\", event);\n if (event.defaultPrevented) {\n emit(\"show-prevented\", buildTriggerableEvent(\"show-prevented\"));\n return;\n }\n localNoAnimation.value = true;\n if (!modelValue.value) {\n noAction = true;\n modelValue.value = true;\n }\n renderRef.value = true;\n renderBackdropRef.value = true;\n isVisible.value = true;\n backdropVisible.value = true;\n backdropReady.value = true;\n showRef.value = true;\n options.showFn?.();\n } else if (props.show || !!modelValue.value && props.initialAnimation) {\n show();\n }\n });\n watch(\n () => props.visible,\n (newval) => {\n localNoAnimation.value = true;\n nextTick(() => {\n if (newval) isVisible.value = true;\n if (newval) {\n show();\n } else {\n hide(\"visible-prop\", true);\n }\n });\n }\n );\n watch(\n () => props.show,\n (newval) => {\n if (newval) {\n show();\n } else {\n hide(\"show-prop\", true);\n }\n }\n );\n useEventListener(element, \"bv-toggle\", () => {\n modelValue.value = !modelValue.value;\n });\n const buildTriggerableEvent = (type, opts = {}) => new BvTriggerableEvent(type, {\n cancelable: false,\n target: element?.value || null,\n relatedTarget: null,\n trigger: null,\n ...opts,\n componentId: computedId?.value\n });\n let showTimeout;\n let hideTimeout;\n let _Resolve;\n let _Promise;\n let _resolveOnHide;\n const show = (resolveOnHide = false) => {\n if (showRef.value && !hideTimeout && !_Promise) return Promise.resolve(true);\n _resolveOnHide = resolveOnHide;\n if (showRef.value && !hideTimeout && _Promise) return _Promise;\n _Promise = new Promise((resolve) => {\n _Resolve = resolve;\n });\n const event = buildTriggerableEvent(\"show\", { cancelable: true });\n emit(\"show\", event);\n if (event.defaultPrevented) {\n emit(\"show-prevented\", buildTriggerableEvent(\"show-prevented\"));\n if (isVisible.value) {\n isVisible.value = false;\n }\n if (modelValue.value && !isCountdown) {\n noAction = true;\n nextTick(() => {\n modelValue.value = false;\n });\n }\n _Resolve?.(\"show-prevented\");\n return _Promise;\n }\n if (hideTimeout) {\n clearTimeout(hideTimeout);\n hideTimeout = void 0;\n }\n renderRef.value = true;\n renderBackdropRef.value = true;\n requestAnimationFrame(() => {\n if (localNoAnimation.value || props.delay === void 0) {\n if (!isMounted) return;\n showTimeout = void 0;\n showRef.value = true;\n options.showFn?.();\n if (!modelValue.value) {\n noAction = true;\n nextTick(() => {\n modelValue.value = true;\n });\n }\n return;\n }\n showTimeout = setTimeout(\n () => {\n if (!isMounted) return;\n showTimeout = void 0;\n showRef.value = true;\n options.showFn?.();\n if (!modelValue.value) {\n noAction = true;\n nextTick(() => {\n modelValue.value = true;\n });\n }\n },\n typeof props.delay === \"number\" ? props.delay : props.delay?.show || 0\n );\n });\n return _Promise;\n };\n let leaveTrigger;\n const hide = (trigger, noTriggerEmit) => {\n if (!showRef.value && !showTimeout) return Promise.resolve(\"\");\n if (!_Promise)\n _Promise = new Promise((resolve) => {\n _Resolve = resolve;\n });\n if (typeof trigger !== \"string\") trigger = void 0;\n leaveTrigger = trigger;\n const event = buildTriggerableEvent(\"hide\", { cancelable: true, trigger });\n const event2 = buildTriggerableEvent(trigger || \"ignore\", { cancelable: true, trigger });\n if (trigger === \"backdrop\" && props.noCloseOnBackdrop || trigger === \"esc\" && props.noCloseOnEsc) {\n emit(\"hide-prevented\", buildTriggerableEvent(\"hide-prevented\", { trigger }));\n _Resolve?.(\"hide-prevented\");\n return _Promise;\n }\n if (showTimeout) {\n clearTimeout(showTimeout);\n showTimeout = void 0;\n }\n if (trigger && !noTriggerEmit) {\n emit(trigger, event2);\n }\n emit(\"hide\", event);\n if (event.defaultPrevented || event2.defaultPrevented) {\n emit(\"hide-prevented\", buildTriggerableEvent(\"hide-prevented\", { trigger }));\n if (!modelValue.value) {\n nextTick(() => {\n noAction = true;\n modelValue.value = true;\n });\n }\n _Resolve?.(\"hide-prevented\");\n return _Promise;\n }\n trapActive.value = false;\n if (showTimeout) {\n clearTimeout(showTimeout);\n showTimeout = void 0;\n if (!localTemporaryHide.value) renderRef.value = false;\n renderBackdropRef.value = false;\n }\n hideTimeout = setTimeout(\n () => {\n if (!isMounted) return;\n hideTimeout = void 0;\n isLeaving.value = true;\n showRef.value = false;\n options.hideFn?.();\n if (modelValue.value) {\n noAction = true;\n modelValue.value = isCountdown ? 0 : false;\n }\n },\n localNoAnimation.value ? 0 : typeof props.delay === \"number\" ? props.delay : props.delay?.hide || 0\n );\n return _Promise;\n };\n const throttleHide = useThrottleFn((a) => hide(a), 500);\n const throttleShow = useThrottleFn(() => show(), 500);\n const toggle = (resolveOnHide = false) => {\n const e = buildTriggerableEvent(\"toggle\", { cancelable: true });\n emit(\"toggle\", e);\n if (e.defaultPrevented) {\n emit(\"toggle-prevented\", buildTriggerableEvent(\"toggle-prevented\"));\n return Promise.resolve(\"toggle-prevented\");\n }\n if (showRef.value) {\n return hide(\"toggle-function\", true);\n }\n return show(resolveOnHide);\n };\n const triggerToggle = () => {\n const e = buildTriggerableEvent(\"toggle\", { cancelable: true });\n emit(\"toggle\", e);\n if (e.defaultPrevented) {\n emit(\"toggle-prevented\", buildTriggerableEvent(\"toggle-prevented\"));\n return;\n }\n if (showRef.value) {\n hide(\"toggle-trigger\", true);\n } else {\n show();\n }\n };\n const triggerRegistry = [];\n const registerTrigger = (trigger, el) => {\n triggerRegistry.push({ trigger, el });\n el.addEventListener(trigger, triggerToggle);\n checkVisibility(el);\n };\n const unregisterTrigger = (trigger, el, clean = true) => {\n const idx = triggerRegistry.findIndex((t) => t?.trigger === trigger && t.el === el);\n if (idx > -1) {\n triggerRegistry.splice(idx, 1);\n el.removeEventListener(trigger, triggerToggle);\n if (clean) {\n el.removeAttribute(\"aria-expanded\");\n el.classList.remove(\"collapsed\");\n el.classList.remove(\"not-collapsed\");\n }\n }\n };\n const appRegistry = inject(showHideRegistryKey, void 0)?.register({\n id: computedId.value,\n toggle,\n show,\n hide,\n value: readonly(showRef),\n registerTrigger,\n unregisterTrigger,\n component: getCurrentInstance()\n });\n const checkVisibility = (el) => {\n el.setAttribute(\"aria-expanded\", modelValue.value ? \"true\" : \"false\");\n el.classList.toggle(\"collapsed\", !modelValue.value);\n el.classList.toggle(\"not-collapsed\", !!modelValue.value);\n };\n watch(modelValue, () => {\n triggerRegistry.forEach((t) => {\n checkVisibility(t.el);\n });\n });\n watch(computedId, (newId, oldId) => {\n appRegistry?.updateId(newId, oldId);\n });\n onBeforeUnmount(() => {\n appRegistry?.unregister();\n triggerRegistry.forEach((t) => {\n t.el.removeEventListener(t.trigger, triggerToggle);\n });\n });\n onUnmounted(() => {\n isMounted = false;\n clearTimeout(showTimeout);\n clearTimeout(hideTimeout);\n showTimeout = void 0;\n hideTimeout = void 0;\n });\n const lazyLoadCompleted = ref(false);\n const markLazyLoadCompleted = () => {\n if (props.lazy === true) lazyLoadCompleted.value = true;\n };\n const isLeaving = ref(false);\n const isActive = ref(initialShow);\n const isVisible = ref(initialShow);\n const onBeforeEnter = (el) => {\n options.transitionProps?.onBeforeEnter?.(el);\n props.transitionProps?.onBeforeEnter?.(el);\n isActive.value = true;\n };\n const onEnter = (el) => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isVisible.value = true;\n });\n });\n options.transitionProps?.onEnter?.(el);\n props.transitionProps?.onEnter?.(el);\n };\n const onAfterEnter = (el) => {\n markLazyLoadCompleted();\n options.transitionProps?.onAfterEnter?.(el);\n props.transitionProps?.onAfterEnter?.(el);\n if (localNoAnimation.value) {\n requestAnimationFrame(() => {\n localNoAnimation.value = false;\n });\n }\n if (localTemporaryHide.value) {\n localTemporaryHide.value = false;\n }\n requestAnimationFrame(() => {\n trapActive.value = true;\n nextTick(() => {\n emit(\"shown\", buildTriggerableEvent(\"shown\", { cancelable: false }));\n });\n });\n if (!_resolveOnHide) {\n _Resolve?.(true);\n _Promise = void 0;\n _Resolve = void 0;\n }\n };\n const onBeforeLeave = (el) => {\n if (!isLeaving.value) isLeaving.value = true;\n options.transitionProps?.onBeforeLeave?.(el);\n props.transitionProps?.onBeforeLeave?.(el);\n trapActive.value = false;\n };\n const onLeave = (el) => {\n isVisible.value = false;\n options.transitionProps?.onLeave?.(el);\n props.transitionProps?.onLeave?.(el);\n };\n const onAfterLeave = (el) => {\n emit(\"hidden\", buildTriggerableEvent(\"hidden\", { trigger: leaveTrigger, cancelable: false }));\n options.transitionProps?.onAfterLeave?.(el);\n props.transitionProps?.onAfterLeave?.(el);\n isLeaving.value = false;\n isActive.value = false;\n if (localNoAnimation.value) {\n requestAnimationFrame(() => {\n localNoAnimation.value = false;\n });\n }\n requestAnimationFrame(() => {\n if (!localTemporaryHide.value) renderRef.value = false;\n });\n _Resolve?.(leaveTrigger || \"\");\n _Promise = void 0;\n _Resolve = void 0;\n leaveTrigger = void 0;\n };\n const contentShowing = computed(\n () => localTemporaryHide.value === true || isActive.value === true || props.lazy === false || props.lazy === true && lazyLoadCompleted.value === true && props.unmountLazy === false\n );\n const trapActive = ref(false);\n const backdropVisible = ref(false);\n const backdropReady = ref(false);\n const transitionFunctions = {\n ...options.transitionProps,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onBeforeLeave,\n onLeave,\n onAfterLeave\n };\n return {\n showRef,\n renderRef,\n renderBackdropRef,\n isVisible,\n isActive,\n trapActive,\n show,\n hide,\n toggle,\n throttleHide,\n throttleShow,\n buildTriggerableEvent,\n computedNoAnimation,\n localNoAnimation,\n localTemporaryHide,\n isLeaving,\n transitionProps: {\n ...fadeBaseTransitionProps,\n ...props.transitionProps,\n ...transitionFunctions\n },\n lazyLoadCompleted,\n markLazyLoadCompleted,\n contentShowing,\n backdropReady,\n backdropVisible,\n backdropTransitionProps: {\n ...fadeBaseTransitionProps,\n onBeforeEnter: () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n backdropVisible.value = true;\n });\n });\n backdropReady.value = false;\n },\n onAfterEnter: () => {\n backdropReady.value = true;\n },\n onBeforeLeave: () => {\n backdropVisible.value = false;\n },\n onAfterLeave: () => {\n backdropReady.value = false;\n requestAnimationFrame(() => {\n renderBackdropRef.value = false;\n });\n }\n }\n };\n};\nexport {\n useShowHide as u\n};\n//# sourceMappingURL=useShowHide-717t6y_D.mjs.map\n","const getElement = (element, root = typeof document !== \"undefined\" ? document : void 0) => {\n if (!element) return void 0;\n if (typeof element === \"string\") {\n if (typeof root === \"undefined\" || typeof document === \"undefined\") return void 0;\n const idElement = document.getElementById(element);\n return idElement ?? root.querySelector(element) ?? void 0;\n }\n return element.$el ?? element;\n};\nexport {\n getElement as g\n};\n//# sourceMappingURL=getElement-DrDVR-jO.mjs.map\n","import { computed, toValue } from \"vue\";\nconst NO_FADE_PROPS = {\n name: \"\",\n enterActiveClass: \"\",\n enterToClass: \"\",\n leaveActiveClass: \"\",\n leaveToClass: \"showing\",\n enterFromClass: \"showing\",\n leaveFromClass: \"\"\n};\nconst FADE_PROPS = {\n ...NO_FADE_PROPS,\n enterActiveClass: \"fade showing\",\n leaveActiveClass: \"fade showing\"\n};\nconst useFadeTransition = (fade) => computed(() => toValue(fade) ? FADE_PROPS : NO_FADE_PROPS);\nexport {\n useFadeTransition as u\n};\n//# sourceMappingURL=useTransitions-BAT154ve.mjs.map\n","import { t as titleCase } from \"./stringUtils-gJJ6T6UC.mjs\";\nconst getTableFieldHeadLabel = (field) => typeof field === \"string\" ? titleCase(field) : field.label !== void 0 ? field.label : typeof field.key === \"string\" ? titleCase(field.key) : field.key;\nconst btableSimpleProps = Object.freeze(\n Object.keys({\n bordered: 0,\n borderless: 0,\n borderVariant: 0,\n captionTop: 0,\n dark: 0,\n fixed: 0,\n hover: 0,\n id: 0,\n noBorderCollapse: 0,\n outlined: 0,\n responsive: 0,\n small: 0,\n stacked: 0,\n stickyHeader: 0,\n striped: 0,\n stripedColumns: 0,\n variant: 0,\n tableAttrs: 0,\n tableClass: 0\n })\n);\nconst btableLiteProps = Object.freeze(\n Object.keys({\n align: 0,\n caption: 0,\n detailsTdClass: 0,\n fieldColumnClass: 0,\n fields: 0,\n footClone: 0,\n footRowVariant: 0,\n footVariant: 0,\n headRowVariant: 0,\n headVariant: 0,\n items: 0,\n labelStacked: 0,\n modelValue: 0,\n primaryKey: 0,\n tbodyClass: 0,\n tbodyTrAttrs: 0,\n tbodyTrClass: 0,\n tfootClass: 0,\n tfootTrClass: 0,\n theadClass: 0,\n theadTrClass: 0\n })\n);\nconst getDataLabelAttr = (props, label) => props.stacked && props.labelStacked !== true ? { \"data-label\": label } : void 0;\nexport {\n getTableFieldHeadLabel as a,\n btableSimpleProps as b,\n btableLiteProps as c,\n getDataLabelAttr as g\n};\n//# sourceMappingURL=tableUtils-Jp7dzXjS.mjs.map\n","import { getCurrentInstance, watch, computed, toValue, inject, defineComponent, mergeModels, useSlots, useModel, useTemplateRef, ref, onMounted, nextTick, createBlock, openBlock, unref, withCtx, createCommentVNode, renderSlot, Transition, mergeProps, withDirectives, createElementVNode, withModifiers, createElementBlock, normalizeClass, normalizeProps, guardReactiveProps, resolveDynamicComponent, createTextVNode, toDisplayString, Fragment, createVNode, vShow, normalizeStyle, toRef, markRaw, onScopeDispose, isRef, isReadonly } from \"vue\";\nimport { m as getSSRHandler, c as unrefElement, o as onKeyStroke } from \"./index-C0p9vHHI.mjs\";\nimport { m as modalManagerKey, o as orchestratorRegistryKey } from \"./keys-BLeKMItg.mjs\";\nimport { e as tryOnScopeDispose } from \"./index-KdB7ucR5.mjs\";\nimport { b as buildPromise } from \"./orchestratorShared-BTC5xO6k.mjs\";\nimport \"./BootstrapVueOptions-DSytNWdb.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport \"./ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nimport { b as useActivatedFocusTrap, a as useSafeScrollLock } from \"./useSafeScrollLock-DhacR9hN.mjs\";\nimport { _ as _sfc_main$2 } from \"./BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs\";\nimport { _ as _sfc_main$3 } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { i as isEmptySlot, c as getModalZIndex } from \"./dom-DVb-f0ZG.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useShowHide } from \"./useShowHide-717t6y_D.mjs\";\nimport { g as getElement } from \"./getElement-DrDVR-jO.mjs\";\nimport \"./useTransitions-BAT154ve.mjs\";\nimport \"./tableUtils-Jp7dzXjS.mjs\";\nconst modalOpenClassName = \"modal-open\";\nconst useSharedModalStack = () => {\n const modalManagerPlugin = inject(modalManagerKey);\n const dispose = (modal) => {\n modalManagerPlugin?.removeStack(modal);\n modalManagerPlugin?.removeRegistry(modal);\n };\n const updateHTMLAttrs = getSSRHandler(\"updateHTMLAttrs\", (selector, attribute, value) => {\n const el = typeof selector === \"string\" ? window?.document.querySelector(selector) : unrefElement(selector);\n if (!el) return;\n if (attribute === \"class\") {\n el.classList.toggle(modalOpenClassName, value === modalOpenClassName);\n } else {\n el.setAttribute(attribute, value);\n }\n });\n tryOnScopeDispose(() => {\n if (modalManagerPlugin?.countStack.value === 0) {\n updateHTMLAttrs(\"body\", \"class\", \"\");\n }\n });\n watch(\n () => modalManagerPlugin?.countStack.value,\n (newValue) => {\n if (newValue === void 0) return;\n updateHTMLAttrs(\"body\", \"class\", newValue > 0 ? modalOpenClassName : \"\");\n }\n );\n return {\n ...modalManagerPlugin,\n dispose\n };\n};\nconst useModalManager = (modalOpen, initialValue) => {\n const { pushRegistry, pushStack, removeStack, stack, dispose, countStack } = useSharedModalStack();\n const currentModal = getCurrentInstance();\n if (!currentModal || currentModal.type.__name !== \"BModal\") {\n throw new Error(\"useModalManager must only use in BModal component\");\n }\n pushRegistry?.(currentModal);\n tryOnScopeDispose(() => {\n dispose(currentModal);\n });\n const setInStack = (newValue, oldValue) => {\n if (newValue) {\n pushStack?.(currentModal);\n } else if (oldValue && !newValue) {\n removeStack?.(currentModal);\n }\n };\n setInStack(initialValue, initialValue);\n watch(modalOpen, setInStack);\n return {\n activePosition: computed(\n () => stack?.value.findIndex((el) => toValue(el.exposed?.id) === toValue(currentModal.exposed?.id))\n ),\n activeModalCount: countStack,\n stackWithoutSelf: computed(\n () => stack?.value.filter(\n (el) => toValue(el.exposed?.id) !== toValue(currentModal.exposed?.id)\n ) ?? []\n )\n };\n};\nconst _hoisted_1 = [\"id\", \"aria-labelledby\", \"aria-describedby\"];\nconst _hoisted_2 = [\"id\"];\nconst fallbackClassSelector = \"modal-fallback-focus\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BModal\",\n props: /* @__PURE__ */ mergeModels({\n focus: { type: [String, Boolean, Object, null], default: void 0 },\n backdropFirst: { type: Boolean, default: false },\n body: { default: void 0 },\n bodyAttrs: { default: void 0 },\n bodyBgVariant: { default: null },\n bodyClass: { default: null },\n bodyScrolling: { type: Boolean, default: false },\n bodyTextVariant: { default: null },\n bodyVariant: { default: null },\n busy: { type: Boolean, default: false },\n buttonSize: { default: \"md\" },\n cancelClass: { default: void 0 },\n cancelDisabled: { type: Boolean, default: false },\n cancelTitle: { default: \"Cancel\" },\n cancelVariant: { default: \"secondary\" },\n centered: { type: Boolean, default: false },\n contentClass: { default: void 0 },\n dialogClass: { default: void 0 },\n footerBgVariant: { default: null },\n footerBorderVariant: { default: null },\n footerClass: { default: void 0 },\n footerTextVariant: { default: null },\n footerVariant: { default: null },\n fullscreen: { type: [Boolean, String], default: false },\n headerAttrs: { default: void 0 },\n headerBgVariant: { default: null },\n headerBorderVariant: { default: null },\n headerClass: { default: void 0 },\n headerCloseClass: { default: void 0 },\n headerCloseLabel: { default: \"Close\" },\n headerCloseVariant: { default: \"secondary\" },\n headerTextVariant: { default: null },\n headerVariant: { default: null },\n noBackdrop: { type: Boolean, default: false },\n noFooter: { type: Boolean, default: false },\n noHeader: { type: Boolean, default: false },\n noHeaderClose: { type: Boolean, default: false },\n id: { default: void 0 },\n modalClass: { default: void 0 },\n noCloseOnBackdrop: { type: Boolean, default: false },\n noCloseOnEsc: { type: Boolean, default: false },\n noTrap: { type: Boolean, default: false },\n noStacking: { type: Boolean },\n okClass: { default: void 0 },\n okDisabled: { type: Boolean, default: false },\n okOnly: { type: Boolean, default: false },\n okTitle: { default: \"OK\" },\n okVariant: { default: \"primary\" },\n scrollable: { type: Boolean, default: false },\n size: { default: \"md\" },\n title: { default: void 0 },\n titleClass: { default: void 0 },\n titleVisuallyHidden: { type: Boolean, default: false },\n titleTag: { default: \"h5\" },\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: \"body\" },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean, default: false },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n show: { type: Boolean, default: false },\n transProps: { default: void 0 },\n visible: { type: Boolean, default: false }\n }, {\n \"modelValue\": { type: Boolean, ...{ default: false } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"backdrop\", \"close\", \"esc\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BModal\");\n const emit = __emit;\n const slots = useSlots();\n const computedId = useId(() => props.id, \"modal\");\n const modelValue = useModel(__props, \"modelValue\");\n const element = useTemplateRef(\"_element\");\n const fallbackFocusElement = useTemplateRef(\"_fallbackFocusElement\");\n const okButton = useTemplateRef(\"_okButton\");\n const cancelButton = useTemplateRef(\"_cancelButton\");\n const closeButton = useTemplateRef(\"_closeButton\");\n const pickFocusItem = () => {\n if (props.focus && typeof props.focus !== \"boolean\") {\n if (props.focus === \"ok\") {\n return okButton;\n } else if (props.focus === \"close\") {\n return closeButton;\n } else if (props.focus === \"cancel\") {\n return cancelButton;\n }\n return getElement(props.focus, element.value ?? void 0) ?? element.value;\n }\n return element;\n };\n let activeElement = null;\n const onAfterEnter = () => {\n if (props.noTrap && props.focus !== false) {\n activeElement = document.activeElement;\n if (activeElement === element.value) {\n activeElement = null;\n }\n const el = unrefElement(pickFocusItem());\n if (!el) return;\n el?.focus();\n if (el.tagName && el.tagName.toLowerCase() === \"input\" && typeof el.select === \"function\") {\n el.select();\n }\n }\n };\n const onAfterLeave = () => {\n if (props.noTrap && props.focus !== false && activeElement) {\n activeElement?.focus();\n activeElement = null;\n }\n };\n const {\n showRef,\n renderRef,\n renderBackdropRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n transitionProps,\n backdropTransitionProps,\n isLeaving,\n isVisible,\n trapActive,\n contentShowing,\n backdropReady,\n backdropVisible\n } = useShowHide(modelValue, props, emit, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onAfterEnter,\n onAfterLeave\n }\n });\n const { needsFallback } = useActivatedFocusTrap({\n element,\n isActive: trapActive,\n noTrap: () => props.noTrap,\n fallbackFocus: {\n ref: fallbackFocusElement,\n classSelector: fallbackClassSelector\n },\n focus: () => props.focus === false ? false : unrefElement(pickFocusItem()) ?? void 0\n // () => (typeof focus === 'boolean' ? focus : (unrefElement(focus) ?? undefined)),\n });\n onKeyStroke(\n \"Escape\",\n () => {\n hide(\"esc\");\n },\n { target: element }\n );\n useSafeScrollLock(showRef, () => props.bodyScrolling);\n const hasHeaderCloseSlot = computed(() => !isEmptySlot(slots[\"header-close\"]));\n const modalDialogClasses = computed(() => [\n props.dialogClass,\n {\n \"modal-fullscreen\": props.fullscreen === true,\n [`modal-fullscreen-${props.fullscreen}-down`]: typeof props.fullscreen === \"string\",\n [`modal-${props.size}`]: props.size !== \"md\",\n \"modal-dialog-centered\": props.centered,\n \"modal-dialog-scrollable\": props.scrollable\n }\n ]);\n const bodyColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.bodyBgVariant,\n textVariant: props.bodyTextVariant,\n variant: props.bodyVariant\n }));\n const bodyClasses = computed(() => [props.bodyClass, bodyColorClasses.value]);\n const headerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.headerBgVariant,\n textVariant: props.headerTextVariant,\n variant: props.headerVariant,\n borderVariant: props.headerBorderVariant\n }));\n const headerClasses = computed(() => [props.headerClass, headerColorClasses.value]);\n const headerCloseAttrs = computed(() => ({\n variant: hasHeaderCloseSlot.value ? props.headerCloseVariant : void 0,\n class: props.headerCloseClass\n }));\n const footerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.footerBgVariant,\n textVariant: props.footerTextVariant,\n variant: props.footerVariant,\n borderVariant: props.footerBorderVariant\n }));\n const footerClasses = computed(() => [props.footerClass, footerColorClasses.value]);\n const titleClasses = computed(() => [\n props.titleClass,\n {\n [\"visually-hidden\"]: props.titleVisuallyHidden\n }\n ]);\n const disableCancel = computed(() => props.cancelDisabled || props.busy);\n const disableOk = computed(() => props.okDisabled || props.busy);\n const { activePosition, activeModalCount, stackWithoutSelf } = useModalManager(\n showRef,\n modelValue.value\n );\n const sharedClasses = computed(() => ({\n [`stack-position-${activePosition?.value ?? 0}`]: true,\n [`stack-inverse-position-${(activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0)}`]: true\n }));\n watch(stackWithoutSelf, (newValue, oldValue) => {\n if (newValue.length > oldValue.length && showRef.value === true && props.noStacking === true)\n hide();\n });\n const defaultModalDialogZIndex = ref(\n getModalZIndex(element.value ?? (typeof document !== \"undefined\" ? document.body : void 0))\n );\n onMounted(() => {\n watch(\n renderRef,\n (v) => {\n if (!v) return;\n nextTick(() => {\n if (!element.value) return;\n defaultModalDialogZIndex.value = getModalZIndex(element.value);\n });\n },\n { immediate: true }\n );\n });\n const computedZIndexNumber = computed(\n () => (\n // Make sure that newly opened modals have a higher z-index than currently active ones.\n // All active modals have a z-index of ('defaultZIndex' - 'stackSize' - 'positionInStack').\n //\n // This means inactive modals will already be higher than active ones when opened.\n showRef.value || isLeaving.value ? (\n // Just for reference there is a single frame in which the modal is not active but still has a higher z-index than the active ones due to _when_ it calculates its position. It's a small visual effect\n defaultModalDialogZIndex.value - ((activeModalCount?.value ?? 0) * 2 - (activePosition?.value ?? 0) * 2)\n ) : defaultModalDialogZIndex.value\n )\n );\n const computedZIndex = computed(() => ({\n \"z-index\": computedZIndexNumber.value,\n \"--b-position\": activePosition?.value ?? 0,\n \"--b-inverse-position\": (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n \"--b-count\": activeModalCount?.value ?? 0\n }));\n const computedZIndexBackdrop = computed(() => ({\n \"z-index\": computedZIndexNumber.value - 1,\n \"--b-position\": activePosition?.value ?? 0,\n \"--b-inverse-position\": (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n \"--b-count\": activeModalCount?.value ?? 0\n }));\n const sharedSlots = computed(() => ({\n id: computedId.value,\n cancel: () => {\n hide(\"cancel\");\n },\n close: () => {\n hide(\"close\");\n },\n hide,\n show,\n toggle,\n ok: () => {\n hide(\"ok\");\n },\n active: showRef.value,\n visible: showRef.value\n }));\n __expose({\n hide,\n id: computedId,\n show,\n toggle,\n visible: showRef\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, {\n to: unref(props).teleportTo,\n disabled: unref(props).teleportDisabled\n }, {\n default: withCtx(() => [\n unref(renderRef) || unref(contentShowing) ? (openBlock(), createBlock(Transition, mergeProps({ key: 0 }, unref(transitionProps), {\n appear: modelValue.value || unref(props).visible\n }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", mergeProps({\n id: unref(computedId),\n ref: \"_element\",\n class: [\"modal\", [\n unref(props).modalClass,\n {\n fade: !unref(computedNoAnimation),\n show: unref(isVisible),\n ...sharedClasses.value\n }\n ]],\n role: \"dialog\",\n \"aria-labelledby\": !unref(props).noHeader ? `${unref(computedId)}-label` : void 0,\n \"aria-describedby\": `${unref(computedId)}-body`,\n tabindex: \"-1\"\n }, _ctx.$attrs, {\n style: [computedZIndex.value, { \"display\": \"block\" }],\n onMousedown: _cache[4] || (_cache[4] = withModifiers(($event) => unref(hide)(\"backdrop\"), [\"left\", \"self\"]))\n }), [\n createElementVNode(\"div\", {\n class: normalizeClass([\"modal-dialog\", modalDialogClasses.value])\n }, [\n unref(contentShowing) ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"modal-content\", unref(props).contentClass])\n }, [\n !unref(props).noHeader ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n class: [\"modal-header\", headerClasses.value]\n }, unref(props).headerAttrs), [\n renderSlot(_ctx.$slots, \"header\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n (openBlock(), createBlock(resolveDynamicComponent(unref(props).titleTag), {\n id: `${unref(computedId)}-label`,\n class: normalizeClass([\"modal-title\", titleClasses.value])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"title\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).title), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"class\"])),\n !unref(props).noHeaderClose ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n hasHeaderCloseSlot.value ? (openBlock(), createBlock(_sfc_main$2, mergeProps({\n key: 0,\n ref: \"_closeButton\"\n }, headerCloseAttrs.value, {\n onClick: _cache[0] || (_cache[0] = ($event) => unref(hide)(\"close\"))\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"header-close\", normalizeProps(guardReactiveProps(sharedSlots.value)))\n ]),\n _: 3\n }, 16)) : (openBlock(), createBlock(_sfc_main$3, mergeProps({\n key: 1,\n ref: \"_closeButton\",\n \"aria-label\": unref(props).headerCloseLabel\n }, headerCloseAttrs.value, {\n onClick: _cache[1] || (_cache[1] = ($event) => unref(hide)(\"close\"))\n }), null, 16, [\"aria-label\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ])\n ], 16)) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", mergeProps({\n id: `${unref(computedId)}-body`,\n class: [\"modal-body\", bodyClasses.value]\n }, unref(props).bodyAttrs), [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).body), 1)\n ])\n ], 16, _hoisted_2),\n !unref(props).noFooter ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass([\"modal-footer\", footerClasses.value])\n }, [\n renderSlot(_ctx.$slots, \"footer\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n renderSlot(_ctx.$slots, \"cancel\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n !unref(props).okOnly ? (openBlock(), createBlock(_sfc_main$2, {\n key: 0,\n ref: \"_cancelButton\",\n disabled: disableCancel.value,\n size: unref(props).buttonSize,\n variant: unref(props).cancelVariant,\n class: normalizeClass(unref(props).cancelClass),\n onClick: _cache[2] || (_cache[2] = ($event) => unref(hide)(\"cancel\"))\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(props).cancelTitle), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"size\", \"variant\", \"class\"])) : createCommentVNode(\"\", true)\n ]),\n renderSlot(_ctx.$slots, \"ok\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createVNode(_sfc_main$2, {\n ref: \"_okButton\",\n disabled: disableOk.value,\n size: unref(props).buttonSize,\n variant: unref(props).okVariant,\n class: normalizeClass(unref(props).okClass),\n onClick: _cache[3] || (_cache[3] = ($event) => unref(hide)(\"ok\"))\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(props).okTitle), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"size\", \"variant\", \"class\"])\n ])\n ])\n ], 2)) : createCommentVNode(\"\", true)\n ], 2)) : createCommentVNode(\"\", true)\n ], 2),\n unref(needsFallback) ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n ref: \"_fallbackFocusElement\",\n class: normalizeClass(fallbackClassSelector),\n tabindex: \"0\",\n style: { \"width\": \"0\", \"height\": \"0\", \"overflow\": \"hidden\" }\n }, null, 512)) : createCommentVNode(\"\", true)\n ], 16, _hoisted_1), [\n [vShow, unref(showRef) && (unref(backdropReady) && unref(props).backdropFirst || !unref(props).backdropFirst)]\n ])\n ]),\n _: 3\n }, 16, [\"appear\"])) : createCommentVNode(\"\", true),\n !unref(props).noBackdrop ? renderSlot(_ctx.$slots, \"backdrop\", normalizeProps(mergeProps({ key: 1 }, sharedSlots.value)), () => [\n unref(renderBackdropRef) ? (openBlock(), createBlock(Transition, normalizeProps(mergeProps({ key: 0 }, unref(backdropTransitionProps))), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n class: normalizeClass([\"modal-backdrop\", {\n fade: !unref(computedNoAnimation),\n show: unref(backdropVisible) || unref(computedNoAnimation),\n ...sharedClasses.value\n }]),\n style: normalizeStyle(computedZIndexBackdrop.value),\n onClick: _cache[5] || (_cache[5] = ($event) => unref(hide)(\"backdrop\"))\n }, null, 6), [\n [vShow, unref(showRef) || unref(isLeaving) && unref(props).backdropFirst && !unref(computedNoAnimation)]\n ])\n ]),\n _: 1\n }, 16)) : createCommentVNode(\"\", true)\n ]) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nconst useModal = () => {\n const orchestratorRegistry = inject(orchestratorRegistryKey);\n if (!orchestratorRegistry) {\n throw Error(\n \"useModal() must be called within setup(), and BApp, useRegistry or plugin must be installed/provided.\"\n );\n }\n const { store, _isOrchestratorInstalled } = orchestratorRegistry;\n const create = (obj = {}, options = {}) => {\n if (!_isOrchestratorInstalled.value) {\n throw new Error(\"BApp or BOrchestrator component must be mounted to use the modal controller\");\n }\n const resolvedProps = toRef(obj);\n const _self = resolvedProps.value?.id || Symbol(\"Modals controller\");\n const promise = buildPromise(_self, store);\n promise.stop = watch(\n resolvedProps,\n (_newValue) => {\n const newValue = { ...toValue(_newValue) };\n const previousIndex = store.value.findIndex((el) => el._self === _self);\n const previous = previousIndex === -1 ? { _component: markRaw(_sfc_main) } : store.value[previousIndex];\n const v = {\n type: \"modal\",\n _self,\n position: \"modal\",\n ...previous,\n options,\n promise\n };\n for (const key in newValue) {\n if (key.startsWith(\"on\")) {\n v[key] = newValue[key];\n } else if (key === \"component\" && newValue.component) {\n v._component = markRaw(newValue.component);\n } else if (key === \"slots\" && newValue.slots) {\n v.slots = markRaw(newValue.slots);\n } else {\n v[key] = toValue(\n newValue[key]\n );\n }\n }\n v.modelValue = v.modelValue ?? false;\n v[\"onUpdate:modelValue\"] = (val) => {\n newValue[\"onUpdate:modelValue\"]?.(val);\n const { modelValue } = toValue(obj);\n if (isRef(obj) && !isRef(modelValue)) obj.value.modelValue = val;\n if (isRef(modelValue) && !isReadonly(modelValue)) {\n modelValue.value = val;\n }\n const modal = store.value.find((el) => el._self === _self);\n if (modal) {\n modal.modelValue = val;\n }\n };\n if (previousIndex === -1) {\n store.value.push(v);\n } else {\n store.value.splice(previousIndex, 1, v);\n }\n },\n {\n immediate: true,\n deep: true\n }\n );\n onScopeDispose(() => {\n const modal = store.value.find((el) => el._self === _self);\n if (modal) {\n modal.promise.value.destroy?.();\n }\n }, true);\n return promise.value;\n };\n const { lastStack, stack, registry } = useSharedModalStack();\n const show = (id) => {\n if (id === void 0) {\n if (lastStack?.value) {\n lastStack?.value.exposed?.show();\n }\n } else {\n const stackModal = stack?.value.find((modal2) => modal2.exposed?.id === id);\n if (stackModal) {\n stackModal.exposed?.show();\n return;\n }\n const modal = store.value.find((el) => el._self === id);\n if (modal) {\n modal.modelValue = true;\n modal[\"onUpdate:modelValue\"]?.(true);\n } else {\n stack?.value.forEach((modal2) => {\n if (modal2.exposed?.id === id) {\n modal2.exposed?.show();\n }\n });\n }\n }\n };\n const hide = (trigger, id) => {\n if (id === void 0) {\n if (lastStack?.value) {\n lastStack?.value.exposed?.hide(trigger);\n }\n } else {\n const stackModal = stack?.value.find((modal2) => modal2.exposed?.id === id);\n if (stackModal) {\n stackModal.exposed?.hide(trigger);\n return;\n }\n const modal = store.value.find((el) => el._self === id);\n if (modal) {\n modal.modelValue = false;\n modal[\"onUpdate:modelValue\"]?.(false);\n } else {\n stack?.value.forEach((modal2) => {\n if (modal2.exposed?.id === id) {\n modal2.exposed?.hide(trigger, true);\n }\n });\n }\n }\n };\n const hideAll = (trigger) => {\n stack?.value.forEach((modal) => {\n modal.exposed?.hide(trigger, true);\n });\n };\n const get = (id) => {\n const modal = store.value.find((el) => el._self === id);\n if (modal) {\n return {\n modal,\n show() {\n modal?.promise.value.show();\n },\n hide(trigger) {\n modal?.promise.value.hide(trigger);\n }\n };\n }\n if (registry?.value) {\n for (const [, modal2] of registry?.value.entries() ?? []) {\n if (toValue(modal2.exposed?.id) === id) {\n return {\n modal: modal2,\n show() {\n modal2.exposed?.show();\n },\n hide(trigger) {\n modal2.exposed?.hide(trigger, true);\n }\n };\n }\n }\n }\n return null;\n };\n const instance = getCurrentInstance();\n const current = () => {\n const findBModal = (component) => {\n if (!component.parent) {\n return null;\n }\n if (component.parent.type === _sfc_main) {\n return component.parent;\n }\n return findBModal(component.parent);\n };\n if (!instance) {\n return null;\n }\n const modalComponent = computed(() => findBModal(instance));\n const modal = computed(() => modalComponent.value?.proxy);\n return {\n show() {\n modalComponent.value?.exposed?.show();\n },\n hide(trigger) {\n modalComponent.value?.exposed?.hide(trigger, true);\n },\n modal\n };\n };\n return {\n show,\n hide,\n hideAll,\n get,\n current,\n create,\n _isOrchestratorInstalled,\n store\n // Todo: Supports listening events globally in the future\n };\n};\nconst useModalController = useModal;\nexport {\n _sfc_main as _,\n useModalController as a,\n useModal as u\n};\n//# sourceMappingURL=index-BDkr-YqK.mjs.map\n","import { f as useIntersectionObserver, g as useMutationObserver } from \"../../../index-C0p9vHHI.mjs\";\nimport { toRef, ref, watch, getCurrentInstance, nextTick, onMounted, computed, readonly } from \"vue\";\nimport { g as getElement } from \"../../../getElement-DrDVR-jO.mjs\";\nimport { s as syncRef } from \"../../../index-KdB7ucR5.mjs\";\nconst useScrollspy = (content, target, options = {}) => {\n const cont = toRef(content);\n const tar = toRef(target);\n const resolvedContent = ref(getElement(cont.value));\n const resolvedTarget = ref(getElement(tar.value));\n watch([cont, tar], () => {\n updateList();\n });\n const {\n contentQuery = \":scope > [id]\",\n targetQuery = \"[href]\",\n manual = false,\n root,\n rootMargin = \"0px 0px -25%\",\n threshold = [0.1, 0.5, 1],\n watchChanges = true\n } = options;\n const current = ref(null);\n const list = ref([]);\n const nodeList = ref([]);\n const ctx = getCurrentInstance();\n if (!ctx) {\n nextTick(() => {\n updateList();\n });\n } else {\n onMounted(() => {\n syncRef(cont, resolvedContent, {\n transform: {\n ltr: (v) => getElement(v)\n },\n direction: \"ltr\",\n immediate: true\n });\n syncRef(tar, resolvedTarget, {\n transform: {\n ltr: (v) => getElement(v)\n },\n direction: \"ltr\",\n immediate: true\n });\n updateList();\n });\n }\n const updateList = () => {\n nodeList.value = resolvedContent.value ? Array.from(resolvedContent.value.querySelectorAll(contentQuery)) : [];\n list.value = nodeList.value.map((el) => ({\n id: el.id,\n el,\n visible: false,\n text: el.textContent\n }));\n };\n let isScrollingDown = true;\n let previousScrollTop = 0;\n const scrollRoot = computed(\n () => resolvedContent.value && getComputedStyle(resolvedContent.value).overflowY === \"visible\" ? null : resolvedContent.value\n );\n const iobs = useIntersectionObserver(\n nodeList,\n (entries) => {\n const scrollTop = (scrollRoot.value || document?.documentElement)?.scrollTop;\n isScrollingDown = scrollTop > previousScrollTop;\n previousScrollTop = scrollTop;\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n list.value.forEach((node) => {\n if (node.el === entry.target) {\n node.visible = true;\n }\n });\n return;\n }\n list.value.forEach((node) => {\n if (node.el === entry.target) {\n node.visible = false;\n }\n });\n });\n let newId = null;\n if (isScrollingDown) {\n newId = [...list.value].reverse().find((node) => node.visible)?.id || null;\n } else {\n newId = list.value.find((node) => node.visible)?.id || null;\n }\n if (newId !== null) {\n current.value = newId;\n }\n if (!current.value) {\n current.value = list.value[0]?.id || null;\n }\n },\n {\n root: root ? getElement(root) : scrollRoot,\n rootMargin,\n threshold\n }\n );\n watch(current, (newId) => {\n if (manual) return;\n const nodes = resolvedTarget.value?.querySelectorAll(targetQuery);\n if (nodes === void 0) return;\n let foundParent = false;\n let activeElement = null;\n nodes.forEach((node) => {\n const parentDropdown = node.closest(\".dropdown\");\n if (node.getAttribute(\"href\")?.includes(`#${newId}`)) {\n activeElement = node;\n node.classList.add(\"active\");\n if (parentDropdown) {\n parentDropdown?.querySelector(\".dropdown-toggle\")?.classList.add(\"active\");\n foundParent = true;\n }\n let parentNav = node.closest(\".nav\")?.previousSibling;\n while (parentNav?.classList?.contains(\"nav-item\")) {\n foundParent = true;\n parentNav.querySelector(\".nav-link\")?.classList.add(\"active\");\n parentNav = parentNav.closest(\".nav\")?.previousSibling;\n }\n } else {\n node.classList.remove(\"active\");\n if (parentDropdown && !foundParent) {\n parentDropdown?.querySelector(\".dropdown-toggle\")?.classList.remove(\"active\");\n }\n if (!foundParent) {\n let parentNav = node.closest(\".nav\")?.previousSibling;\n while (parentNav?.classList?.contains(\"nav-item\")) {\n foundParent = true;\n if (parentNav.querySelector(\".nav-link\") !== activeElement) {\n parentNav.querySelector(\".nav-link\")?.classList.remove(\"active\");\n }\n parentNav = parentNav.closest(\".nav\")?.previousSibling;\n }\n }\n }\n });\n });\n const mobs = !watchChanges ? { stop: () => {\n } } : useMutationObserver(\n resolvedContent,\n () => {\n updateList();\n },\n {\n childList: true\n }\n );\n const scrollIntoView = (event, smooth = false) => {\n event.preventDefault();\n const href = event.target?.getAttribute?.(\"href\");\n const el = href ? document?.querySelector(href) : null;\n if (el && resolvedContent.value) {\n if (resolvedContent.value.scrollTo) {\n resolvedContent.value.scrollTo({ top: el.offsetTop, behavior: smooth ? \"smooth\" : \"auto\" });\n } else {\n resolvedContent.value.scrollTop = el.offsetTop;\n }\n }\n };\n const cleanup = () => {\n iobs.stop();\n mobs.stop();\n };\n return {\n current: readonly(current),\n list,\n content: resolvedContent,\n target: resolvedTarget,\n scrollIntoView,\n updateList,\n cleanup\n };\n};\nexport {\n useScrollspy\n};\n//# sourceMappingURL=index.mjs.map\n","import { defineComponent, inject, computed, createElementBlock, openBlock, normalizeStyle, normalizeClass, renderSlot, createTextVNode, toDisplayString, provide, toRef, unref, createVNode } from \"vue\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { q as progressInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BProgressBar\",\n props: {\n animated: { type: Boolean, default: false },\n label: { default: void 0 },\n max: { default: void 0 },\n precision: { default: 0 },\n showProgress: { type: Boolean, default: false },\n showValue: { type: Boolean, default: false },\n striped: { type: Boolean, default: false },\n value: { default: 0 },\n variant: { default: null },\n bgVariant: { default: null },\n textVariant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BProgressBar\");\n const parentData = inject(progressInjectionKey, null);\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n \"progress-bar-animated\": props.animated || parentData?.animated.value,\n \"progress-bar-striped\": props.striped || parentData?.striped.value || props.animated || parentData?.animated.value\n }\n ]);\n const numberPrecision = useToNumber(() => props.precision);\n const numberValue = useToNumber(() => props.value);\n const numberMax = useToNumber(() => props.max ?? Number.NaN);\n const parentMaxNumber = useToNumber(() => parentData?.max.value ?? Number.NaN);\n const computedLabel = computed(\n () => props.showValue || parentData?.showValue.value ? numberValue.value.toFixed(numberPrecision.value) : props.showProgress || parentData?.showProgress.value ? (numberValue.value * 100 / (numberMax.value || 100)).toFixed(numberPrecision.value) : props.label !== void 0 ? props.label : \"\"\n );\n const computedWidth = computed(\n () => parentMaxNumber.value ? `${numberValue.value * 100 / parentMaxNumber.value}%` : numberMax.value ? `${numberValue.value * 100 / numberMax.value}%` : typeof props.value === \"string\" ? props.value : `${props.value}%`\n );\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"progress-bar\", computedClasses.value]),\n style: normalizeStyle({ width: computedWidth.value })\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(computedLabel.value), 1)\n ])\n ], 6);\n };\n }\n});\nconst _hoisted_1 = [\"aria-valuenow\", \"aria-valuemax\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BProgress\",\n props: {\n height: { default: void 0 },\n animated: { type: Boolean, default: void 0 },\n max: { default: 100 },\n precision: { default: void 0 },\n showProgress: { type: Boolean, default: void 0 },\n showValue: { type: Boolean, default: void 0 },\n striped: { type: Boolean, default: void 0 },\n value: { default: void 0 },\n variant: { default: void 0 },\n bgVariant: { default: void 0 },\n textVariant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BProgress\");\n provide(progressInjectionKey, {\n animated: toRef(() => props.animated),\n max: toRef(() => props.max),\n showProgress: toRef(() => props.showProgress),\n showValue: toRef(() => props.showValue),\n striped: toRef(() => props.striped)\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: \"progress\",\n role: \"progressbar\",\n style: normalizeStyle({ height: unref(props).height }),\n \"aria-valuenow\": unref(props).value,\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": unref(props).max\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createVNode(_sfc_main$1, {\n animated: unref(props).animated,\n max: unref(props).max,\n precision: unref(props).precision,\n \"show-progress\": unref(props).showProgress,\n \"show-value\": unref(props).showValue,\n striped: unref(props).striped,\n value: unref(props).value,\n variant: unref(props).variant,\n \"text-variant\": unref(props).textVariant,\n \"bg-variant\": unref(props).bgVariant\n }, null, 8, [\"animated\", \"max\", \"precision\", \"show-progress\", \"show-value\", \"striped\", \"value\", \"variant\", \"text-variant\", \"bg-variant\"])\n ])\n ], 12, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$1 as a\n};\n//# sourceMappingURL=BProgress.vue_vue_type_script_setup_true_lang-CzGUiUCY.mjs.map\n","import { j as useTimestamp, k as useElementHover } from \"./index-C0p9vHHI.mjs\";\nimport { readonly, toRef, ref, computed, watch, toValue } from \"vue\";\nconst useCountdown = (length, interval, timestampOpts = {}) => {\n const resolvedLength = readonly(toRef(length));\n const isPaused = ref(false);\n const target = ref(Date.now() + resolvedLength.value);\n const { isActive, pause, resume, timestamp } = useTimestamp({\n interval,\n controls: true,\n callback: (v) => {\n if (v >= target.value) {\n isPaused.value = false;\n pause();\n }\n },\n ...timestampOpts\n });\n const value = computed(() => target.value - timestamp.value);\n const restart = () => {\n target.value = Date.now() + resolvedLength.value;\n resume();\n };\n watch(resolvedLength, () => {\n if (resolvedLength.value > 0) {\n restart();\n }\n });\n const myPause = () => {\n isPaused.value = true;\n pause();\n };\n const myResume = () => {\n isPaused.value = false;\n const remainingTime = target.value - timestamp.value;\n target.value = Date.now() + remainingTime;\n resume();\n };\n const stop = () => {\n pause();\n timestamp.value = target.value;\n isPaused.value = false;\n };\n return {\n isActive: readonly(isActive),\n isPaused: readonly(isPaused),\n stop,\n pause: myPause,\n resume: myResume,\n restart,\n value\n };\n};\nconst useCountdownHover = (element, {\n modelValueIgnoresHover,\n noHoverPause,\n noResumeOnHoverLeave\n}, actions) => {\n const isHovering = useElementHover(element);\n const onMouseEnter = () => {\n if (toValue(noHoverPause)) return;\n actions.pause();\n };\n const onMouseLeave = () => {\n if (toValue(noResumeOnHoverLeave)) return;\n actions.resume();\n };\n watch(isHovering, (newValue) => {\n if (toValue(modelValueIgnoresHover)) return;\n if (newValue) {\n onMouseEnter();\n return;\n }\n onMouseLeave();\n });\n return {\n isHovering\n };\n};\nexport {\n useCountdownHover as a,\n useCountdown as u\n};\n//# sourceMappingURL=useCountdownHover-D79FUs67.mjs.map\n","import { defineComponent, mergeModels, useSlots, useTemplateRef, useModel, computed, watchEffect, watch, createBlock, createCommentVNode, unref, openBlock, Transition, mergeProps, withCtx, withDirectives, createElementVNode, normalizeClass, createElementBlock, resolveDynamicComponent, renderSlot, normalizeProps, guardReactiveProps, toDisplayString, Fragment, withModifiers, createTextVNode, vShow, inject, toRef, toValue, markRaw, isRef, isReadonly, onScopeDispose } from \"vue\";\nimport { o as orchestratorRegistryKey } from \"./keys-BLeKMItg.mjs\";\nimport { b as buildPromise } from \"./orchestratorShared-BTC5xO6k.mjs\";\nimport \"./BootstrapVueOptions-DSytNWdb.mjs\";\nimport \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport \"./ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nimport \"./useTransitions-BAT154ve.mjs\";\nimport \"./tableUtils-Jp7dzXjS.mjs\";\nimport { _ as _sfc_main$2 } from \"./BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs\";\nimport { u as useBLinkHelper, _ as _sfc_main$1 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { _ as _sfc_main$3 } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs\";\nimport { _ as _sfc_main$4 } from \"./BProgress.vue_vue_type_script_setup_true_lang-CzGUiUCY.mjs\";\nimport { u as useCountdown, a as useCountdownHover } from \"./useCountdownHover-D79FUs67.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { u as useShowHide } from \"./useShowHide-717t6y_D.mjs\";\nconst _hoisted_1 = [\"id\", \"role\", \"aria-live\", \"aria-atomic\"];\nconst _hoisted_2 = {\n key: 1,\n class: \"d-flex\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BToast\",\n props: /* @__PURE__ */ mergeModels({\n body: { default: void 0 },\n bodyClass: { default: void 0 },\n closeClass: { default: void 0 },\n closeContent: { default: void 0 },\n closeLabel: { default: \"Close\" },\n closeVariant: { default: \"secondary\" },\n headerClass: { default: void 0 },\n headerTag: { default: \"div\" },\n id: { default: void 0 },\n interval: { default: \"requestAnimationFrame\" },\n isStatus: { type: Boolean, default: false },\n noCloseButton: { type: Boolean, default: false },\n noHoverPause: { type: Boolean, default: false },\n noProgress: { type: Boolean, default: false },\n noResumeOnHoverLeave: { type: Boolean, default: false },\n progressProps: { default: void 0 },\n showOnPause: { type: Boolean, default: true },\n solid: { type: Boolean, default: false },\n title: { default: void 0 },\n toastClass: { default: void 0 },\n variant: { default: void 0 },\n bgVariant: { default: null },\n textVariant: { default: null },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean, default: void 0 },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean, default: false },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n show: { type: Boolean, default: false },\n transProps: { default: void 0 },\n visible: { type: Boolean, default: false }\n }, {\n \"modelValue\": { type: [Boolean, Number], ...{ default: false } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"close\", \"close-countdown\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BToast\");\n const emit = __emit;\n const slots = useSlots();\n const element = useTemplateRef(\"_element\");\n const modelValue = useModel(__props, \"modelValue\");\n const { computedLink, computedLinkProps } = useBLinkHelper(props);\n const computedId = useId(() => props.id, \"toast\");\n const {\n showRef,\n renderRef,\n hide,\n toggle,\n show,\n buildTriggerableEvent,\n computedNoAnimation,\n isVisible,\n transitionProps,\n contentShowing\n } = useShowHide(modelValue, props, emit, element, computedId);\n const countdownLength = computed(\n () => typeof modelValue.value === \"boolean\" ? 0 : modelValue.value\n );\n const {\n isActive,\n pause,\n restart,\n resume,\n stop,\n isPaused,\n value: remainingMs\n } = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === \"number\" && !!modelValue.value\n });\n useCountdownHover(\n element,\n {\n noHoverPause: () => props.noHoverPause || typeof modelValue.value !== \"number\",\n noResumeOnHoverLeave: () => props.noResumeOnHoverLeave || typeof modelValue.value !== \"number\",\n modelValueIgnoresHover: () => typeof modelValue.value === \"boolean\"\n },\n { pause, resume }\n );\n watchEffect(() => {\n emit(\"close-countdown\", remainingMs.value);\n });\n const computedTag = computed(() => computedLink.value ? _sfc_main$1 : \"div\");\n const isToastVisible = computed(\n () => showRef.value || isActive.value || props.showOnPause && isPaused.value\n );\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n show: isVisible.value,\n fade: !computedNoAnimation.value\n }\n ]);\n watch(modelValue, (newValue, oldValue) => {\n if (typeof newValue === \"number\" && newValue > 0) {\n const event = buildTriggerableEvent(\"show\", { cancelable: true, trigger: \"model\" });\n emit(\"show\", event);\n if (event.defaultPrevented) {\n emit(\"show-prevented\", buildTriggerableEvent(\"show-prevented\"));\n } else {\n restart();\n }\n }\n if (typeof newValue === \"number\" && newValue === 0) {\n stop();\n }\n if (newValue === false && typeof oldValue === \"number\" && oldValue > 0) {\n stop();\n }\n });\n watch(isActive, (newValue) => {\n if (newValue === false && isPaused.value === false) {\n hide();\n modelValue.value = 0;\n stop();\n }\n });\n const sharedSlots = computed(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value\n }));\n __expose({\n show,\n hide,\n toggle,\n pause,\n restart,\n resume,\n stop\n });\n return (_ctx, _cache) => {\n const _component_BButton = _sfc_main$2;\n return unref(renderRef) || unref(contentShowing) ? (openBlock(), createBlock(Transition, mergeProps({ key: 0 }, unref(transitionProps), {\n appear: !!modelValue.value || unref(props).visible\n }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n id: unref(props).id,\n ref: \"_element\",\n class: normalizeClass([\"toast\", [unref(props).toastClass, computedClasses.value]]),\n tabindex: \"0\",\n style: { \"display\": \"block\" },\n role: !isToastVisible.value ? void 0 : unref(props).isStatus ? \"status\" : \"alert\",\n \"aria-live\": !isToastVisible.value ? void 0 : unref(props).isStatus ? \"polite\" : \"assertive\",\n \"aria-atomic\": !isToastVisible.value ? void 0 : true\n }, [\n unref(contentShowing) && (slots.title || unref(props).title) ? (openBlock(), createBlock(resolveDynamicComponent(unref(props).headerTag), {\n key: 0,\n class: normalizeClass([\"toast-header\", unref(props).headerClass])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"title\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createElementVNode(\"strong\", null, toDisplayString(unref(props).title), 1)\n ]),\n !unref(props).noCloseButton ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n slots.close || unref(props).closeContent ? (openBlock(), createBlock(_component_BButton, {\n key: 0,\n class: normalizeClass([[unref(props).closeClass], \"ms-auto\"]),\n variant: unref(props).closeVariant,\n onClick: _cache[0] || (_cache[0] = withModifiers(($event) => unref(hide)(\"close\"), [\"stop\", \"prevent\"]))\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"close\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).closeContent), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\", \"variant\"])) : (openBlock(), createBlock(_sfc_main$3, {\n key: 1,\n \"aria-label\": unref(props).closeLabel,\n class: normalizeClass([\"ms-auto\", [unref(props).closeClass]]),\n onClick: _cache[1] || (_cache[1] = withModifiers(($event) => unref(hide)(\"close\"), [\"stop\", \"prevent\"]))\n }, null, 8, [\"aria-label\", \"class\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"class\"])) : createCommentVNode(\"\", true),\n unref(contentShowing) && (slots.default || unref(props).body) ? (openBlock(), createElementBlock(\"div\", _hoisted_2, [\n (openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({\n class: [\"toast-body\", unref(props).bodyClass]\n }, unref(computedLinkProps), {\n onClick: _cache[2] || (_cache[2] = ($event) => unref(computedLink) ? unref(hide)() : () => {\n })\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).body), 1)\n ])\n ]),\n _: 3\n }, 16, [\"class\"])),\n !unref(props).noCloseButton && !(slots.title || unref(props).title) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n slots.close || unref(props).closeContent ? (openBlock(), createBlock(_component_BButton, {\n key: 0,\n class: normalizeClass([[unref(props).closeClass], \"ms-auto btn-close-custom\"]),\n variant: unref(props).closeVariant,\n onClick: _cache[3] || (_cache[3] = withModifiers(($event) => unref(hide)(\"close\"), [\"stop\", \"prevent\"]))\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"close\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).closeContent), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\", \"variant\"])) : (openBlock(), createBlock(_sfc_main$3, {\n key: 1,\n \"aria-label\": unref(props).closeLabel,\n class: normalizeClass([\"ms-auto btn-close-custom\", [unref(props).closeClass]]),\n onClick: _cache[4] || (_cache[4] = withModifiers(($event) => unref(hide)(\"close\"), [\"stop\", \"prevent\"]))\n }, null, 8, [\"aria-label\", \"class\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ])) : createCommentVNode(\"\", true),\n typeof modelValue.value === \"number\" && !unref(props).noProgress ? (openBlock(), createBlock(_sfc_main$4, {\n key: 2,\n animated: unref(props).progressProps?.animated,\n precision: unref(props).progressProps?.precision,\n \"show-progress\": unref(props).progressProps?.showProgress,\n \"show-value\": unref(props).progressProps?.showValue,\n striped: unref(props).progressProps?.striped,\n variant: unref(props).progressProps?.variant,\n max: modelValue.value,\n value: unref(remainingMs),\n height: \"4px\"\n }, null, 8, [\"animated\", \"precision\", \"show-progress\", \"show-value\", \"striped\", \"variant\", \"max\", \"value\"])) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1), [\n [vShow, isToastVisible.value]\n ])\n ]),\n _: 3\n }, 16, [\"appear\"])) : createCommentVNode(\"\", true);\n };\n }\n});\nconst posDefault = \"top-end\";\nconst useToast = () => {\n const orchestratorRegistry = inject(orchestratorRegistryKey);\n if (!orchestratorRegistry) {\n throw new Error(\n \"useToast() must be called within setup(), and BApp, useRegistry or plugin must be installed/provided.\"\n );\n }\n const { store, _isToastAppend, _isOrchestratorInstalled } = orchestratorRegistry;\n const create = (obj = {}, options = {}) => {\n if (!_isOrchestratorInstalled.value) {\n throw new Error(\n \"The BApp or BOrchestrator component must be mounted to use the toast composable\"\n );\n }\n const resolvedProps = toRef(obj);\n const _self = resolvedProps.value?.id || Symbol(\"Toast controller\");\n const promise = buildPromise(_self, store);\n promise.stop = watch(\n resolvedProps,\n (_newValue) => {\n const newValue = { ...toValue(_newValue) };\n const previousIndex = store.value.findIndex((el) => el._self === _self);\n const previous = previousIndex === -1 ? { _component: markRaw(_sfc_main) } : store.value[previousIndex];\n const v = {\n ...previous,\n type: \"toast\",\n _self,\n promise,\n options\n };\n if (newValue.props) {\n Object.assign(v, newValue.props);\n newValue.props = void 0;\n }\n if (newValue.pos) {\n v.position = newValue.pos;\n newValue.pos = void 0;\n }\n for (const key in newValue) {\n if (key.startsWith(\"on\")) {\n v[key] = newValue[key];\n } else if (key === \"component\" && newValue.component) {\n v._component = markRaw(newValue.component);\n } else if (key === \"slots\" && newValue.slots) {\n v.slots = markRaw(newValue.slots);\n } else {\n v[key] = toValue(\n newValue[key]\n );\n }\n }\n v.position = v.position || posDefault;\n v.modelValue = v.modelValue ?? 5e3;\n v[\"onUpdate:modelValue\"] = (val) => {\n newValue[\"onUpdate:modelValue\"]?.(val);\n const { modelValue } = toValue(obj);\n if (isRef(obj) && !isRef(modelValue)) obj.value.modelValue = val;\n if (isRef(modelValue) && !isReadonly(modelValue)) {\n modelValue.value = val;\n }\n if (v.modelValue !== val) {\n const toast = store.value.find((el) => el._self === _self);\n if (toast) {\n toast.modelValue = val;\n }\n }\n };\n if (previousIndex === -1) {\n if (resolvedProps.value?.appendToast !== void 0 ? resolvedProps.value.appendToast : _isToastAppend.value) {\n store.value.push(v);\n } else {\n store.value.unshift(v);\n }\n } else {\n store.value.splice(previousIndex, 1, v);\n }\n },\n {\n deep: true,\n immediate: true\n }\n );\n onScopeDispose(() => {\n const toast = store.value.find((el) => el._self === _self);\n if (toast) {\n toast.promise.value.destroy?.();\n }\n }, true);\n return promise.value;\n };\n const show = (obj = {}) => {\n console.warn(\n \"[BootstrapVueNext] useToast: The `show` method is deprecated. Use the `create` method instead.\"\n );\n return create(obj);\n };\n return {\n _isToastAppend,\n _isOrchestratorInstalled,\n store,\n create,\n show\n };\n};\nconst useToastController = useToast;\nexport {\n _sfc_main as _,\n useToastController as a,\n useToast as u\n};\n//# sourceMappingURL=index-7PG2ESMq.mjs.map\n","import { getCurrentInstance, inject, computed, toValue } from \"vue\";\nimport { s as showHideRegistryKey } from \"../../../keys-BLeKMItg.mjs\";\nconst useToggle = (id = void 0) => {\n const instance = getCurrentInstance();\n const storage = inject(showHideRegistryKey, null);\n if (!storage) {\n throw new Error(\n \"useToggle() must be called within setup(), and BApp, useRegistry or plugin must be installed/provided.\"\n );\n }\n const registry = storage.values;\n const findComponent = (component) => {\n if (!component.parent) {\n return null;\n }\n if (component.parent.exposed?.[\"id\"] && registry.value.get(toValue(component.parent.exposed.id))) {\n return component.parent;\n }\n return findComponent(component.parent);\n };\n const myComponent = computed(() => {\n const resolvedId = toValue(id);\n if (!registry) return null;\n if (resolvedId) {\n const value = registry.value.get(resolvedId);\n return toValue(value) || null;\n }\n if (!instance) {\n return null;\n }\n const component = findComponent(instance);\n return toValue(registry.value.get(toValue(component?.exposed?.id))) || null;\n });\n return {\n value: computed(() => myComponent.value?.value),\n show: (resolveOnHide) => myComponent.value?.show(resolveOnHide) || Promise.reject(\"not found\"),\n hide: (trigger) => myComponent.value?.hide(trigger, true) || Promise.reject(\"not found\"),\n toggle: (resolveOnHide) => myComponent.value?.toggle(resolveOnHide) || Promise.reject(\"not found\"),\n component: computed(() => myComponent.value?.component)\n };\n};\nexport {\n useToggle\n};\n//# sourceMappingURL=index.mjs.map\n","import { computed, ref, shallowRef, watch, getCurrentScope, onScopeDispose, shallowReadonly, unref, defineComponent, mergeModels, useSlots, useAttrs, useModel, useTemplateRef, toRef, onMounted, nextTick, onBeforeUnmount, createElementBlock, openBlock, Fragment, createElementVNode, renderSlot, createVNode, normalizeProps, guardReactiveProps, withCtx, createBlock, createCommentVNode, Transition, mergeProps, withDirectives, normalizeStyle, normalizeClass, createTextVNode, toDisplayString, vShow, toValue as toValue$1, render, h } from \"vue\";\nimport { p as useMouse$1, a as onClickOutside } from \"./index-C0p9vHHI.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { r as createSharedComposable, u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { g as getElement } from \"./getElement-DrDVR-jO.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport { u as useShowHide } from \"./useShowHide-717t6y_D.mjs\";\nconst sides = [\"top\", \"right\", \"bottom\", \"left\"];\nconst alignments = [\"start\", \"end\"];\nconst placements = /* @__PURE__ */ sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = (v) => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: \"right\",\n right: \"left\",\n bottom: \"top\",\n top: \"bottom\"\n};\nconst oppositeAlignmentMap = {\n start: \"end\",\n end: \"start\"\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === \"function\" ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split(\"-\")[0];\n}\nfunction getAlignment(placement) {\n return placement.split(\"-\")[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === \"x\" ? \"y\" : \"x\";\n}\nfunction getAxisLength(axis) {\n return axis === \"y\" ? \"height\" : \"width\";\n}\nconst yAxisSides = /* @__PURE__ */ new Set([\"top\", \"bottom\"]);\nfunction getSideAxis(placement) {\n return yAxisSides.has(getSide(placement)) ? \"y\" : \"x\";\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === \"x\" ? alignment === (rtl ? \"end\" : \"start\") ? \"right\" : \"left\" : alignment === \"start\" ? \"bottom\" : \"top\";\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, (alignment) => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = [\"left\", \"right\"];\nconst rlPlacement = [\"right\", \"left\"];\nconst tbPlacement = [\"top\", \"bottom\"];\nconst btPlacement = [\"bottom\", \"top\"];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case \"top\":\n case \"bottom\":\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case \"left\":\n case \"right\":\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === \"start\", rtl);\n if (alignment) {\n list = list.map((side) => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, (side) => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== \"number\" ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === \"y\";\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case \"top\":\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case \"bottom\":\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case \"right\":\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case \"left\":\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case \"start\":\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case \"end\":\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\nconst computePosition$1 = async (reference, floating, config) => {\n const {\n placement = \"bottom\",\n strategy = \"absolute\",\n middleware = [],\n platform: platform2\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(floating));\n let rects = await platform2.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: platform2,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === \"object\") {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform2.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform: platform2,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = \"clippingAncestors\",\n rootBoundary = \"viewport\",\n elementContext = \"floating\",\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === \"floating\" ? \"reference\" : \"floating\";\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform2.getClippingRect({\n element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === \"floating\" ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating));\n const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) ? await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\nconst arrow$2 = (options) => ({\n name: \"arrow\",\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform: platform2,\n elements,\n middlewareData\n } = state;\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform2.getDimensions(element);\n const isYAxis = axis === \"y\";\n const minProp = isYAxis ? \"top\" : \"left\";\n const maxProp = isYAxis ? \"bottom\" : \"right\";\n const clientProp = isYAxis ? \"clientHeight\" : \"clientWidth\";\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n if (!clientSize || !await (platform2.isElement == null ? void 0 : platform2.isElement(arrowOffsetParent))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n const min$1 = minPadding;\n const max2 = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset2 = clamp(min$1, center, max2);\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset2 && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max2 : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset2,\n centerOffset: center - offset2 - alignmentOffset,\n ...shouldAddOffset && {\n alignmentOffset\n }\n },\n reset: shouldAddOffset\n };\n }\n});\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter((placement) => getAlignment(placement) === alignment), ...allowedPlacements.filter((placement) => getAlignment(placement) !== alignment)] : allowedPlacements.filter((placement) => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter((placement) => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\nconst autoPlacement$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"autoPlacement\",\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform: platform2,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== void 0 || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)));\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || [], {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map((d) => {\n const alignment2 = getAlignment(d.placement);\n return [d.placement, alignment2 && crossAxis ? (\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0)\n ) : (\n // Check only the mainAxis.\n d.overflows[0]\n ), d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter((d) => d[2].slice(\n 0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3\n ).every((v) => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\nconst flip$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"flip\",\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform: platform2,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = \"bestFit\",\n fallbackAxisSideDirection = \"none\",\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== \"none\";\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements2 = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides2 = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides2[0]], overflow[sides2[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n if (!overflows.every((side2) => side2 <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements2[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === \"alignment\" ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every((d) => d.overflows[0] > 0 && getSideAxis(d.placement) === initialSideAxis)) {\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case \"bestFit\": {\n var _overflowsData$filter2;\n const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === \"y\";\n }\n return true;\n }).map((d) => [d.placement, d.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement2) {\n resetPlacement = placement2;\n }\n break;\n }\n case \"initialPlacement\":\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some((side) => overflow[side] >= 0);\n}\nconst hide$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"hide\",\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = \"referenceHidden\",\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case \"referenceHidden\": {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: \"reference\"\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case \"escaped\": {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default: {\n return {};\n }\n }\n }\n };\n};\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map((rect) => rect.left));\n const minY = min(...rects.map((rect) => rect.top));\n const maxX = max(...rects.map((rect) => rect.right));\n const maxY = max(...rects.map((rect) => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map((rect) => rectToClientRect(getBoundingRect(rect)));\n}\nconst inline$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"inline\",\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform: platform2,\n strategy\n } = state;\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from(await (platform2.getClientRects == null ? void 0 : platform2.getClientRects(elements.reference)) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect2() {\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n return clientRects.find((rect) => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === \"y\") {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === \"top\";\n const top2 = firstRect.top;\n const bottom2 = lastRect.bottom;\n const left2 = isTop ? firstRect.left : lastRect.left;\n const right2 = isTop ? firstRect.right : lastRect.right;\n const width2 = right2 - left2;\n const height2 = bottom2 - top2;\n return {\n top: top2,\n bottom: bottom2,\n left: left2,\n right: right2,\n width: width2,\n height: height2,\n x: left2,\n y: top2\n };\n }\n const isLeftSide = getSide(placement) === \"left\";\n const maxRight = max(...clientRects.map((rect) => rect.right));\n const minLeft = min(...clientRects.map((rect) => rect.left));\n const measureRects = clientRects.filter((rect) => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform2.getElementRects({\n reference: {\n getBoundingClientRect: getBoundingClientRect2\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\nconst originSides = /* @__PURE__ */ new Set([\"left\", \"top\"]);\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform: platform2,\n elements\n } = state;\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === \"y\";\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === \"number\" ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === \"number\") {\n crossAxis = alignment === \"end\" ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\nconst offset$1 = function(options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: \"offset\",\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\nconst shift$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"shift\",\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: (_ref) => {\n let {\n x: x2,\n y: y2\n } = _ref;\n return {\n x: x2,\n y: y2\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === \"y\" ? \"top\" : \"left\";\n const maxSide = mainAxis === \"y\" ? \"bottom\" : \"right\";\n const min2 = mainAxisCoord + overflow[minSide];\n const max2 = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min2, mainAxisCoord, max2);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === \"y\" ? \"top\" : \"left\";\n const maxSide = crossAxis === \"y\" ? \"bottom\" : \"right\";\n const min2 = crossAxisCoord + overflow[minSide];\n const max2 = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min2, crossAxisCoord, max2);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\nconst size$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"size\",\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform: platform2,\n elements\n } = state;\n const {\n apply = () => {\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === \"y\";\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === \"top\" || side === \"bottom\") {\n heightSide = side;\n widthSide = alignment === (await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)) ? \"start\" : \"end\") ? \"left\" : \"right\";\n } else {\n widthSide = side;\n heightSide = alignment === \"end\" ? \"top\" : \"bottom\";\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform2.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\nfunction hasWindow() {\n return typeof window !== \"undefined\";\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || \"\").toLowerCase();\n }\n return \"#document\";\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === \"undefined\") {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /* @__PURE__ */ new Set([\"inline\", \"contents\"]);\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /* @__PURE__ */ new Set([\"table\", \"td\", \"th\"]);\nfunction isTableElement(element) {\n return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [\":popover-open\", \":modal\"];\nfunction isTopLayer(element) {\n return topLayerSelectors.some((selector) => {\n try {\n return element.matches(selector);\n } catch (_e) {\n return false;\n }\n });\n}\nconst transformProperties = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\"];\nconst willChangeValues = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\", \"filter\"];\nconst containValues = [\"paint\", \"layout\", \"strict\", \"content\"];\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n return transformProperties.some((value) => css[value] ? css[value] !== \"none\" : false) || (css.containerType ? css.containerType !== \"normal\" : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== \"none\" : false) || !webkit && (css.filter ? css.filter !== \"none\" : false) || willChangeValues.some((value) => (css.willChange || \"\").includes(value)) || containValues.some((value) => (css.contain || \"\").includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === \"undefined\" || !CSS.supports) return false;\n return CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n}\nconst lastTraversableNodeNames = /* @__PURE__ */ new Set([\"html\", \"body\", \"#document\"]);\nfunction isLastTraversableNode(node) {\n return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === \"html\") {\n return node;\n }\n const result = (\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot || // DOM Element detected.\n node.parentNode || // ShadowRoot detected.\n isShadowRoot(node) && node.host || // Fallback.\n getDocumentElement(node)\n );\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\nfunction unwrapElement$1(element) {\n return !isElement(element) ? element.contextElement : element;\n}\nfunction getScale(element) {\n const domElement = unwrapElement$1(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\nconst noOffsets = /* @__PURE__ */ createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement$1(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 : (\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect)\n ));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === \"fixed\";\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === \"rtl\") {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === \"fixed\") {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\nconst absoluteOrFixed = /* @__PURE__ */ new Set([\"absolute\", \"fixed\"]);\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === \"fixed\");\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === \"viewport\") {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === \"document\") {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === \"fixed\" || hasFixedPositionAncestor(parentNode, stopNode);\n}\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== \"body\");\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === \"fixed\";\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === \"fixed\") {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === \"static\" && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n result = result.filter((ancestor) => ancestor !== currentNode);\n } else {\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === \"clippingAncestors\" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === \"fixed\";\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === \"static\";\n}\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === \"fixed\") {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\nconst getElementRects = async function(data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\nfunction isRTL(element) {\n return getComputedStyle(element).direction === \"rtl\";\n}\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1e3);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n refresh();\n }\n isFirstUpdate = false;\n }\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === \"function\",\n layoutShift = typeof IntersectionObserver === \"function\",\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement$1(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...getOverflowAncestors(floating)] : [];\n ancestors.forEach((ancestor) => {\n ancestorScroll && ancestor.addEventListener(\"scroll\", update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener(\"resize\", update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver((_ref) => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach((ancestor) => {\n ancestorScroll && ancestor.removeEventListener(\"scroll\", update);\n ancestorResize && ancestor.removeEventListener(\"resize\", update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\nconst offset = offset$1;\nconst autoPlacement = autoPlacement$1;\nconst shift = shift$1;\nconst flip = flip$1;\nconst size = size$1;\nconst hide = hide$1;\nconst arrow$1 = arrow$2;\nconst inline = inline$1;\nconst computePosition = (reference, floating, options) => {\n const cache = /* @__PURE__ */ new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\nfunction isComponentPublicInstance(target) {\n return target != null && typeof target === \"object\" && \"$el\" in target;\n}\nfunction unwrapElement(target) {\n if (isComponentPublicInstance(target)) {\n const element = target.$el;\n return isNode(element) && getNodeName(element) === \"#comment\" ? null : element;\n }\n return target;\n}\nfunction toValue(source) {\n return typeof source === \"function\" ? source() : unref(source);\n}\nfunction arrow(options) {\n return {\n name: \"arrow\",\n options,\n fn(args) {\n const element = unwrapElement(toValue(options.element));\n if (element == null) {\n return {};\n }\n return arrow$1({\n element,\n padding: options.padding\n }).fn(args);\n }\n };\n}\nfunction getDPR(element) {\n if (typeof window === \"undefined\") {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\nfunction roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\nfunction useFloating(reference, floating, options) {\n if (options === void 0) {\n options = {};\n }\n const whileElementsMountedOption = options.whileElementsMounted;\n const openOption = computed(() => {\n var _toValue;\n return (_toValue = toValue(options.open)) != null ? _toValue : true;\n });\n const middlewareOption = computed(() => toValue(options.middleware));\n const placementOption = computed(() => {\n var _toValue2;\n return (_toValue2 = toValue(options.placement)) != null ? _toValue2 : \"bottom\";\n });\n const strategyOption = computed(() => {\n var _toValue3;\n return (_toValue3 = toValue(options.strategy)) != null ? _toValue3 : \"absolute\";\n });\n const transformOption = computed(() => {\n var _toValue4;\n return (_toValue4 = toValue(options.transform)) != null ? _toValue4 : true;\n });\n const referenceElement = computed(() => unwrapElement(reference.value));\n const floatingElement = computed(() => unwrapElement(floating.value));\n const x = ref(0);\n const y = ref(0);\n const strategy = ref(strategyOption.value);\n const placement = ref(placementOption.value);\n const middlewareData = shallowRef({});\n const isPositioned = ref(false);\n const floatingStyles = computed(() => {\n const initialStyles = {\n position: strategy.value,\n left: \"0\",\n top: \"0\"\n };\n if (!floatingElement.value) {\n return initialStyles;\n }\n const xVal = roundByDPR(floatingElement.value, x.value);\n const yVal = roundByDPR(floatingElement.value, y.value);\n if (transformOption.value) {\n return {\n ...initialStyles,\n transform: \"translate(\" + xVal + \"px, \" + yVal + \"px)\",\n ...getDPR(floatingElement.value) >= 1.5 && {\n willChange: \"transform\"\n }\n };\n }\n return {\n position: strategy.value,\n left: xVal + \"px\",\n top: yVal + \"px\"\n };\n });\n let whileElementsMountedCleanup;\n function update() {\n if (referenceElement.value == null || floatingElement.value == null) {\n return;\n }\n const open = openOption.value;\n computePosition(referenceElement.value, floatingElement.value, {\n middleware: middlewareOption.value,\n placement: placementOption.value,\n strategy: strategyOption.value\n }).then((position) => {\n x.value = position.x;\n y.value = position.y;\n strategy.value = position.strategy;\n placement.value = position.placement;\n middlewareData.value = position.middlewareData;\n isPositioned.value = open !== false;\n });\n }\n function cleanup() {\n if (typeof whileElementsMountedCleanup === \"function\") {\n whileElementsMountedCleanup();\n whileElementsMountedCleanup = void 0;\n }\n }\n function attach() {\n cleanup();\n if (whileElementsMountedOption === void 0) {\n update();\n return;\n }\n if (referenceElement.value != null && floatingElement.value != null) {\n whileElementsMountedCleanup = whileElementsMountedOption(referenceElement.value, floatingElement.value, update);\n return;\n }\n }\n function reset() {\n if (!openOption.value) {\n isPositioned.value = false;\n }\n }\n watch([middlewareOption, placementOption, strategyOption, openOption], update, {\n flush: \"sync\"\n });\n watch([referenceElement, floatingElement], attach, {\n flush: \"sync\"\n });\n watch(openOption, reset, {\n flush: \"sync\"\n });\n if (getCurrentScope()) {\n onScopeDispose(cleanup);\n }\n return {\n x: shallowReadonly(x),\n y: shallowReadonly(y),\n strategy: shallowReadonly(strategy),\n placement: shallowReadonly(placement),\n middlewareData: shallowReadonly(middlewareData),\n isPositioned: shallowReadonly(isPositioned),\n floatingStyles,\n update\n };\n}\nconst useMouse = createSharedComposable(useMouse$1);\nconst _hoisted_1 = [\"id\"];\nconst _hoisted_2 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BPopover\",\n props: /* @__PURE__ */ mergeModels({\n body: { default: void 0 },\n bodyClass: { default: void 0 },\n boundary: { default: \"clippingAncestors\" },\n boundaryPadding: { default: void 0 },\n click: { type: Boolean, default: void 0 },\n closeOnHide: { type: Boolean, default: false },\n focus: { type: Boolean, default: void 0 },\n hover: { type: Boolean, default: void 0 },\n delay: { default: () => ({ show: 100, hide: 300 }) },\n floatingMiddleware: { default: void 0 },\n hideMargin: { default: 2 },\n id: { default: void 0 },\n inline: { type: Boolean, default: false },\n manual: { type: Boolean, default: false },\n noAutoClose: { type: Boolean, default: false },\n noFlip: { type: Boolean, default: false },\n noHide: { type: Boolean, default: false },\n noShift: { type: Boolean, default: false },\n noSize: { type: Boolean, default: false },\n noninteractive: { type: Boolean, default: false },\n offset: { default: null },\n placement: { default: \"top\" },\n realtime: { type: Boolean, default: false },\n reference: { default: null },\n strategy: { default: \"absolute\" },\n target: { default: null },\n title: { default: void 0 },\n titleClass: { default: void 0 },\n tooltip: { type: Boolean, default: false },\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: void 0 },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean, default: false },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n show: { type: Boolean, default: false },\n transProps: {},\n visible: { type: Boolean, default: false }\n }, {\n \"modelValue\": { type: Boolean, ...{\n default: false\n } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"pointerleave\", \"blur\", \"click-outside\", \"close-on-hide\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BPopover\");\n const emit = __emit;\n const slots = useSlots();\n const attrs = useAttrs();\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"popover\");\n const hidden = ref(false);\n const floatingElement = useTemplateRef(\"_element\");\n const content = useTemplateRef(\"_content\");\n const arrow$12 = useTemplateRef(\"_arrow\");\n const placeholder = useTemplateRef(\"_placeholder\");\n const referenceElement = ref(null);\n const triggerElement = ref(null);\n const isAutoPlacement = computed(() => props.placement.startsWith(\"auto\"));\n const offsetNumber = useToNumber(() => props.offset ?? Number.NaN);\n const boundary = computed(\n () => isBoundary(props.boundary) ? props.boundary : void 0\n );\n const rootBoundary = computed(\n () => isRootBoundary(props.boundary) ? props.boundary : void 0\n );\n const sizeStyles = ref({});\n const floatingMiddleware = computed(() => {\n if (props.floatingMiddleware !== void 0) {\n return props.floatingMiddleware;\n }\n const off = props.offset !== null ? offsetNumber.value : props.tooltip ? 6 : 8;\n const arr = [offset(off)];\n if (props.noFlip === false && !isAutoPlacement.value) {\n arr.push(\n flip({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding\n })\n );\n }\n if (isAutoPlacement.value) {\n arr.push(\n autoPlacement({\n alignment: props.placement.split(\"-\")[1] || void 0,\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding\n })\n );\n }\n if (props.noShift === false) {\n arr.push(\n shift({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding\n })\n );\n }\n if (props.noHide === false) {\n arr.push(\n hide({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding\n })\n );\n }\n if (props.inline === true) {\n arr.push(inline());\n }\n arr.push(arrow({ element: arrow$12, padding: 10 }));\n if (props.noSize === false) {\n arr.push(\n size({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n apply({ availableWidth, availableHeight }) {\n sizeStyles.value = {\n maxHeight: availableHeight >= (content.value?.scrollHeight ?? 0) ? void 0 : availableHeight ? `${Math.max(0, availableHeight)}px` : void 0,\n maxWidth: availableWidth >= (content.value?.scrollWidth ?? 0) ? void 0 : availableWidth ? `${Math.max(0, availableWidth)}px` : void 0\n };\n }\n })\n );\n }\n return arr;\n });\n const placementRef = computed(\n () => isAutoPlacement.value ? void 0 : props.placement\n );\n const { floatingStyles, middlewareData, placement, update } = useFloating(\n referenceElement,\n floatingElement,\n {\n placement: placementRef,\n middleware: floatingMiddleware,\n strategy: toRef(() => props.strategy)\n }\n );\n const arrowStyle = ref({ position: \"absolute\" });\n watch(middlewareData, (newValue) => {\n if (props.noHide === false) {\n if (newValue.hide?.referenceHidden && !hidden.value && showRef.value) {\n if (props.closeOnHide && !props.noAutoClose && !props.manual) {\n throttleHide(\"close-on-hide\");\n } else {\n localTemporaryHide.value = true;\n hidden.value = true;\n }\n } else if (localTemporaryHide.value && !newValue.hide?.referenceHidden) {\n localTemporaryHide.value = false;\n hidden.value = false;\n }\n }\n if (newValue.arrow) {\n const { x: x2, y: y2 } = newValue.arrow;\n arrowStyle.value = {\n position: \"absolute\",\n top: y2 ? `${y2}px` : \"\",\n left: x2 ? `${x2}px` : \"\"\n };\n }\n });\n let cleanup;\n const {\n showRef,\n hide: hide$12,\n show,\n toggle,\n throttleHide,\n computedNoAnimation,\n transitionProps,\n contentShowing,\n isVisible,\n isActive,\n renderRef,\n localTemporaryHide\n } = useShowHide(modelValue, props, emit, floatingElement, computedId, {\n showFn: () => {\n update();\n nextTick(() => {\n cleanup = autoUpdate(\n referenceElement.value,\n floatingElement.value,\n update,\n { animationFrame: props.realtime }\n );\n });\n },\n hideFn: () => {\n if (cleanup) {\n cleanup();\n cleanup = void 0;\n }\n }\n });\n const computedClasses = computed(() => {\n const type = props.tooltip ? \"tooltip\" : \"popover\";\n return [\n type,\n `b-${type}`,\n {\n show: isVisible.value && !hidden.value,\n fade: !computedNoAnimation.value,\n [`bs-${type}-${resolveBootstrapPlacement(placement.value)}`]: placement.value !== void 0\n }\n ];\n });\n const { x, y } = useMouse();\n const isElementAndTriggerOutside = () => {\n const triggerRect = triggerElement.value?.getBoundingClientRect();\n const elementRect = floatingElement.value?.getBoundingClientRect();\n const margin = parseInt(props.hideMargin, 10) || 0;\n const offsetX = window?.scrollX || 0;\n const offsetY = window?.scrollY || 0;\n const triggerIsOutside = !triggerRect || x.value < triggerRect.left + offsetX - margin || x.value > triggerRect.right + offsetX + margin || y.value < triggerRect.top + offsetY - margin || y.value > triggerRect.bottom + offsetY + margin;\n const isOutside = !elementRect || x.value < elementRect.left + offsetX - margin || x.value > elementRect.right + offsetX + margin || y.value < elementRect.top + offsetY - margin || y.value > elementRect.bottom + offsetY + margin;\n return { triggerIsOutside, isOutside };\n };\n let looptimeout;\n const tryHide = (e) => {\n const { triggerIsOutside, isOutside } = isElementAndTriggerOutside();\n if (!props.noninteractive && isOutside && triggerIsOutside && !floatingElement.value?.contains(document?.activeElement) && !triggerElement.value?.contains(document?.activeElement) || props.noninteractive && triggerIsOutside) {\n hide$12(e?.type);\n } else {\n if (looptimeout) clearTimeout(looptimeout);\n looptimeout = setTimeout(() => {\n tryHide(e);\n }, 50);\n }\n };\n watch(isVisible, () => {\n update();\n });\n __expose({\n hide: hide$12,\n show,\n toggle\n });\n const localToggle = (e) => {\n if (showRef.value) {\n hide$12(e.type === \"click\" ? \"click\" : \"toggle\");\n } else {\n show();\n }\n };\n const localShow = () => {\n show();\n };\n const computedTriggers = computed(() => {\n if (props.manual) {\n return { hover: false, focus: false, click: false };\n }\n if (props.hover !== void 0 || props.focus !== void 0 || props.click !== void 0) {\n return {\n hover: props.hover ?? false,\n focus: props.focus ?? false,\n click: props.click ?? false\n };\n }\n return { hover: true, focus: true, click: false };\n });\n const bind2 = () => {\n if (props.target) {\n const elem = getElement(toValue$1(props.target));\n if (elem) {\n triggerElement.value = elem;\n } else {\n console.warn(\"Target element not found\", props.target);\n }\n } else {\n triggerElement.value = placeholder.value?.nextElementSibling;\n }\n if (props.reference) {\n const elem = getElement(toValue$1(props.reference));\n if (elem) {\n referenceElement.value = elem;\n } else {\n console.warn(\"Reference element not found\", props.reference);\n }\n } else {\n referenceElement.value = triggerElement.value;\n }\n if (!triggerElement.value || props.manual) {\n return;\n }\n const triggers = computedTriggers.value;\n if (triggers.click) {\n triggerElement.value.addEventListener(\"click\", localToggle);\n }\n if (triggers.hover) {\n triggerElement.value.addEventListener(\"pointerenter\", localShow);\n triggerElement.value.addEventListener(\"pointerleave\", tryHide);\n }\n if (triggers.focus) {\n triggerElement.value.addEventListener(\"focus\", localShow);\n triggerElement.value.addEventListener(\"blur\", tryHide);\n }\n };\n const unbind2 = () => {\n if (triggerElement.value) {\n triggerElement.value.removeEventListener(\"click\", localToggle);\n triggerElement.value.removeEventListener(\"pointerenter\", localShow);\n triggerElement.value.removeEventListener(\"pointerleave\", tryHide);\n triggerElement.value.removeEventListener(\"focus\", localShow);\n triggerElement.value.removeEventListener(\"blur\", tryHide);\n }\n };\n onClickOutside(\n floatingElement,\n () => {\n if (showRef.value && computedTriggers.value.click && !props.noAutoClose && !props.manual)\n hide$12(\"click-outside\");\n },\n { ignore: [triggerElement] }\n );\n watch(\n [\n () => props.click,\n () => props.hover,\n () => props.focus,\n () => props.manual,\n () => props.target,\n () => props.reference\n ],\n () => {\n unbind2();\n bind2();\n }\n );\n const sharedSlots = computed(() => ({\n toggle,\n show,\n hide: hide$12,\n id: computedId.value,\n visible: isVisible.value,\n active: isActive.value\n }));\n onMounted(() => {\n bind2();\n nextTick(() => {\n update();\n });\n });\n onBeforeUnmount(unbind2);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(Fragment, null, [\n createElementVNode(\"span\", {\n id: unref(computedId) + \"_placeholder\",\n ref: \"_placeholder\",\n style: { \"display\": \"none\" }\n }, null, 8, _hoisted_1),\n renderSlot(_ctx.$slots, \"target\", normalizeProps(guardReactiveProps(sharedSlots.value))),\n createVNode(_sfc_main$1, {\n to: unref(props).teleportTo,\n disabled: !unref(props).teleportTo || unref(props).teleportDisabled\n }, {\n default: withCtx(() => [\n unref(renderRef) || unref(contentShowing) ? (openBlock(), createBlock(Transition, mergeProps({ key: 0 }, unref(transitionProps), {\n appear: modelValue.value || unref(props).visible\n }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", mergeProps({ id: unref(computedId) }, unref(attrs), {\n ref: \"_element\",\n class: computedClasses.value,\n role: \"tooltip\",\n tabindex: \"-1\",\n style: unref(floatingStyles)\n }), [\n createElementVNode(\"div\", {\n ref: \"_arrow\",\n class: normalizeClass(`${unref(props).tooltip ? \"tooltip\" : \"popover\"}-arrow`),\n style: normalizeStyle(arrowStyle.value),\n \"data-popper-arrow\": \"\"\n }, null, 6),\n createElementVNode(\"div\", {\n ref: \"_content\",\n class: \"overflow-auto\",\n style: normalizeStyle(sizeStyles.value)\n }, [\n unref(props).title || slots.title ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"position-sticky top-0\", [unref(props).tooltip ? \"tooltip-inner\" : \"popover-header\", unref(props).titleClass]])\n }, [\n renderSlot(_ctx.$slots, \"title\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).title), 1)\n ])\n ], 2)) : createCommentVNode(\"\", true),\n unref(props).tooltip && !slots.title && !unref(props).title || !unref(props).tooltip ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass([unref(props).tooltip ? \"tooltip-inner\" : \"popover-body\", unref(props).bodyClass])\n }, [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).body) + toDisplayString(unref(attrs).content), 1)\n ])\n ], 2)) : createCommentVNode(\"\", true)\n ], 4)\n ], 16, _hoisted_2), [\n [vShow, unref(showRef) && !hidden.value]\n ])\n ]),\n _: 3\n }, 16, [\"appear\"])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ], 64);\n };\n }\n});\nconst resolveBootstrapPlacement = (placement) => {\n const [_placement] = placement.split(\"-\");\n switch (_placement) {\n case \"left\":\n return \"start\";\n case \"right\":\n return \"end\";\n default:\n return _placement;\n }\n};\nconst resolveBootstrapCaret = (placement) => {\n const [_placement] = placement.split(\"-\");\n switch (_placement) {\n case \"left\":\n return \"start\";\n case \"right\":\n return \"end\";\n case \"top\":\n return \"up\";\n case \"bottom\":\n return \"down\";\n default:\n return _placement;\n }\n};\nconst resolveActiveStatus = (values) => typeof values !== \"object\" || values.active !== false;\nconst resolveContent = (values, el) => {\n const isActive = resolveActiveStatus(values);\n if (!isActive) return {};\n const missingBindingValue = typeof values === \"undefined\" || typeof values === \"object\" && !values.title && !values.content && !values.body;\n if (typeof document !== \"undefined\") {\n const title = el.getAttribute(\"title\") || el.getAttribute(\"data-original-title\");\n if (missingBindingValue) {\n if (title) {\n el.removeAttribute(\"title\");\n el.setAttribute(\"data-original-title\", title);\n return {\n body: title\n };\n }\n return {};\n }\n } else {\n if (missingBindingValue) return {};\n }\n if (typeof values === \"string\") {\n return {\n body: values\n };\n }\n if (values?.content)\n console.warn(\"v-b-popover/v-b-tooltip: `content` is deprecated, use `body` instead\");\n return {\n title: values?.title ? values?.title : void 0,\n body: values?.body ? values?.body : values?.content ? values?.content : void 0\n };\n};\nconst resolveDirectiveProps = (binding, el) => ({\n target: el,\n modelValue: binding.modifiers.show,\n inline: binding.modifiers.inline,\n click: binding.modifiers.click,\n realtime: binding.modifiers.realtime,\n lazy: binding.modifiers.lazy,\n placement: binding.modifiers.left ? \"left\" : binding.modifiers.right ? \"right\" : binding.modifiers.bottom ? \"bottom\" : binding.modifiers.top ? \"top\" : void 0,\n ...typeof binding.value === \"object\" ? binding.value : void 0,\n ...binding.modifiers.interactive ? { noninteractive: false } : void 0,\n title: null,\n body: null\n});\nconst bind = (el, binding, props) => {\n if (typeof document === \"undefined\") return;\n const div = document.createElement(\"span\");\n if (binding.modifiers.body) document.body.appendChild(div);\n else if (binding.modifiers.child) el.appendChild(div);\n else el.parentNode?.insertBefore(div, el.nextSibling);\n render(h(_sfc_main, props), div);\n el.$__element = div;\n};\nconst unbind = (el) => {\n const div = el.$__element;\n if (!div) return;\n render(null, div);\n if (typeof document === \"undefined\") {\n delete el.$__element;\n return;\n }\n queueMicrotask(() => {\n div.remove();\n if (el.$__element === div) {\n delete el.$__element;\n }\n });\n};\nconst isBoundary = (input) => input === \"clippingAncestors\" || input instanceof Element || Array.isArray(input);\nconst isRootBoundary = (input) => !isBoundary(input);\nexport {\n _sfc_main as _,\n isRootBoundary as a,\n size as b,\n autoUpdate as c,\n resolveDirectiveProps as d,\n unbind as e,\n flip as f,\n resolveActiveStatus as g,\n resolveContent as h,\n isBoundary as i,\n bind as j,\n offset as o,\n resolveBootstrapCaret as r,\n shift as s,\n useFloating as u\n};\n//# sourceMappingURL=floatingUi-BBabBWxD.mjs.map\n","import { defineComponent, mergeModels, useSlots, useModel, computed, useTemplateRef, createBlock, openBlock, mergeProps, createSlots, withCtx, renderSlot, normalizeProps, guardReactiveProps } from \"vue\";\nimport { _ as _sfc_main$1 } from \"./floatingUi-BBabBWxD.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BTooltip\",\n props: /* @__PURE__ */ mergeModels({\n interactive: { type: Boolean, default: void 0 },\n body: {},\n bodyClass: { default: void 0 },\n boundary: {},\n boundaryPadding: {},\n click: { type: Boolean, default: void 0 },\n closeOnHide: { type: Boolean },\n focus: { type: Boolean, default: void 0 },\n hover: { type: Boolean, default: void 0 },\n delay: { default: 0 },\n floatingMiddleware: { default: void 0 },\n hideMargin: { default: 0 },\n id: { default: void 0 },\n inline: { type: Boolean, default: void 0 },\n manual: { type: Boolean, default: void 0 },\n noAutoClose: { type: Boolean, default: void 0 },\n noFlip: { type: Boolean, default: void 0 },\n noHide: { type: Boolean, default: void 0 },\n noShift: { type: Boolean, default: void 0 },\n noSize: { type: Boolean },\n noninteractive: { type: Boolean, default: void 0 },\n offset: { default: void 0 },\n placement: { default: void 0 },\n realtime: { type: Boolean, default: void 0 },\n reference: { default: void 0 },\n strategy: { default: void 0 },\n target: { default: void 0 },\n title: { default: void 0 },\n titleClass: { default: void 0 },\n teleportDisabled: { type: Boolean, default: void 0 },\n teleportTo: { default: void 0 },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean, default: void 0 },\n lazy: { type: Boolean, default: void 0 },\n unmountLazy: { type: Boolean, default: void 0 },\n show: { type: Boolean, default: void 0 },\n transProps: {},\n visible: { type: Boolean, default: void 0 }\n }, {\n \"modelValue\": { type: Boolean, ...{\n default: false\n } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"pointerleave\", \"blur\", \"click-outside\", \"close-on-hide\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BTooltip\");\n const emit = __emit;\n const slots = useSlots();\n const modelValue = useModel(__props, \"modelValue\");\n const computedProps = computed(() => {\n const { interactive, noninteractive, ...rest } = props;\n return { noninteractive: noninteractive !== void 0 ? noninteractive : !interactive, ...rest };\n });\n const popover = useTemplateRef(\"_popover\");\n __expose({\n hide: () => {\n popover.value?.hide();\n },\n show: () => {\n popover.value?.show();\n },\n toggle: () => {\n popover.value?.toggle();\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, mergeProps({ ref: \"_popover\" }, computedProps.value, {\n modelValue: modelValue.value,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),\n tooltip: \"\",\n onShow: _cache[1] || (_cache[1] = ($event) => emit(\"show\", $event)),\n onShown: _cache[2] || (_cache[2] = ($event) => emit(\"shown\", $event)),\n onHide: _cache[3] || (_cache[3] = ($event) => emit(\"hide\", $event)),\n onHidden: _cache[4] || (_cache[4] = ($event) => emit(\"hidden\", $event)),\n onHidePrevented: _cache[5] || (_cache[5] = ($event) => emit(\"hide-prevented\", $event)),\n onShowPrevented: _cache[6] || (_cache[6] = ($event) => emit(\"show-prevented\", $event)),\n onTogglePrevented: _cache[7] || (_cache[7] = ($event) => emit(\"toggle-prevented\", $event)),\n onToggle: _cache[8] || (_cache[8] = ($event) => emit(\"toggle\", $event)),\n onPointerleave: _cache[9] || (_cache[9] = ($event) => emit(\"pointerleave\", $event)),\n onBlur: _cache[10] || (_cache[10] = ($event) => emit(\"blur\", $event)),\n onClickOutside: _cache[11] || (_cache[11] = ($event) => emit(\"click-outside\", $event)),\n onCloseOnHide: _cache[12] || (_cache[12] = ($event) => emit(\"close-on-hide\", $event))\n }), createSlots({ _: 2 }, [\n slots.default ? {\n name: \"default\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(scope)))\n ]),\n key: \"0\"\n } : void 0,\n slots.target ? {\n name: \"target\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"target\", normalizeProps(guardReactiveProps(scope)))\n ]),\n key: \"1\"\n } : void 0,\n slots.title ? {\n name: \"title\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"title\", normalizeProps(guardReactiveProps(scope)))\n ]),\n key: \"2\"\n } : void 0\n ]), 1040, [\"modelValue\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BTooltip.vue_vue_type_script_setup_true_lang-DwLY6gwe.mjs.map\n","import { inject, toRef, watch, toValue, markRaw, onScopeDispose, isRef, isReadonly } from \"vue\";\nimport { o as orchestratorRegistryKey } from \"../../../keys-BLeKMItg.mjs\";\nimport \"../../../BootstrapVueOptions-DSytNWdb.mjs\";\nimport \"../../../ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport { b as buildPromise } from \"../../../orchestratorShared-BTC5xO6k.mjs\";\nimport \"../../../ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nimport { _ as _sfc_main$1 } from \"../../../floatingUi-BBabBWxD.mjs\";\nimport \"../../../useTransitions-BAT154ve.mjs\";\nimport \"../../../tableUtils-Jp7dzXjS.mjs\";\nimport { _ as _sfc_main } from \"../../../BTooltip.vue_vue_type_script_setup_true_lang-DwLY6gwe.mjs\";\nconst usePopover = () => {\n const orchestratorRegistry = inject(orchestratorRegistryKey);\n if (!orchestratorRegistry) {\n throw new Error(\n \"usePopover() must be called within setup(), and BApp, useRegistry or plugin must be installed/provided.\"\n );\n }\n const { store, _isOrchestratorInstalled } = orchestratorRegistry;\n const create = (obj, tooltip2, options = { keep: true }) => {\n if (!_isOrchestratorInstalled.value) {\n throw new Error(\n \"The BPopoverOrchestrator component must be mounted to use the popover controller\"\n );\n }\n const resolvedProps = toRef(obj);\n const _self = resolvedProps.value?.id || Symbol(\"Popover controller\");\n const promise = buildPromise(_self, store);\n promise.stop = watch(\n resolvedProps,\n (_newValue) => {\n const newValue = { ...toValue(_newValue) };\n const previousIndex = store.value.findIndex((el) => el._self === _self);\n const previous = previousIndex === -1 ? { _component: tooltip2 ? markRaw(_sfc_main) : markRaw(_sfc_main$1) } : store.value[previousIndex];\n const v = tooltip2 ? {\n ...previous,\n type: \"tooltip\",\n _self,\n position: \"popover\",\n promise,\n options\n } : {\n ...previous,\n type: \"popover\",\n _self,\n position: \"popover\",\n promise,\n options\n };\n for (const key in newValue) {\n if (key.startsWith(\"on\")) {\n v[key] = newValue[key];\n } else if (key === \"component\" && newValue.component) {\n v._component = markRaw(newValue.component);\n } else if (key === \"slots\" && newValue.slots) {\n v.slots = markRaw(newValue.slots);\n } else {\n v[key] = toValue(\n newValue[key]\n );\n }\n }\n v.modelValue = v.modelValue ?? false;\n v[\"onUpdate:modelValue\"] = (val) => {\n newValue[\"onUpdate:modelValue\"]?.(val);\n const { modelValue } = toValue(obj);\n if (isRef(obj) && !isRef(modelValue)) obj.value.modelValue = val;\n if (isRef(modelValue) && !isReadonly(modelValue)) {\n modelValue.value = val;\n }\n if (v.modelValue !== val) {\n const popover2 = store.value.find((el) => el._self === _self);\n if (popover2) {\n popover2.modelValue = val;\n }\n }\n };\n if (previousIndex === -1) {\n store.value.push(v);\n } else {\n store.value.splice(previousIndex, 1, v);\n }\n },\n {\n immediate: true,\n deep: true\n }\n );\n onScopeDispose(() => {\n const popover2 = store.value.find((el) => el._self === _self);\n if (popover2) {\n popover2.promise.value.destroy?.();\n }\n }, true);\n return promise.value;\n };\n const tooltip = (obj, options = { keep: true }) => create(obj, true, options);\n const popover = (obj, options = { keep: true }) => create(obj, false, options);\n return {\n _isOrchestratorInstalled,\n create,\n popover,\n tooltip,\n store\n };\n};\nconst usePopoverController = usePopover;\nexport {\n usePopover,\n usePopoverController\n};\n//# sourceMappingURL=index.mjs.map\n","import { inject, provide, ref, computed, readonly } from \"vue\";\nimport { s as showHideRegistryKey, m as modalManagerKey, e as breadcrumbRegistryKey, a as breadcrumbGlobalIndexKey, r as rtlRegistryKey } from \"../../../keys-BLeKMItg.mjs\";\nconst useRegistry = (rtl = false) => {\n const showHideStorage = inject(showHideRegistryKey, void 0);\n if (!showHideStorage) {\n const { register, values } = _newShowHideRegistry();\n provide(showHideRegistryKey, { register, values });\n }\n const modalManager = inject(modalManagerKey, void 0);\n if (!modalManager) {\n const stack = ref(/* @__PURE__ */ new Map());\n const countStack = computed(() => stack.value.size);\n const valuesStack = computed(() => [...stack.value.values()]);\n const lastStack = computed(() => valuesStack.value[valuesStack.value.length - 1]);\n const pushStack = (modal) => {\n stack.value.set(modal.uid, modal);\n };\n const removeStack = (modal) => {\n stack.value.delete(modal.uid);\n };\n const registry = ref(/* @__PURE__ */ new Map());\n const pushRegistry = (modal) => {\n registry.value.set(modal.uid, modal);\n };\n const removeRegistry = (modal) => {\n registry.value.delete(modal.uid);\n };\n provide(modalManagerKey, {\n countStack,\n lastStack,\n registry: computed(() => registry.value),\n stack: valuesStack,\n pushStack,\n removeStack,\n pushRegistry,\n removeRegistry\n });\n }\n const breadcrumb = inject(breadcrumbRegistryKey, void 0);\n if (!breadcrumb) {\n const items = ref({\n [breadcrumbGlobalIndexKey]: []\n });\n const reset = (key = breadcrumbGlobalIndexKey) => {\n items.value[key] = [];\n };\n provide(breadcrumbRegistryKey, { items, reset });\n }\n const rtlRegistry = inject(rtlRegistryKey, void 0);\n if (!rtlRegistry) {\n const rtlDefault = false;\n const localeDefault = void 0;\n const rtlInitial = typeof rtl === \"boolean\" ? rtlDefault : rtl?.rtlInitial ?? rtlDefault;\n const localeInitial = typeof rtl === \"boolean\" ? localeDefault : rtl?.localeInitial ?? localeDefault;\n const isRtl = ref(rtlInitial);\n const locale = ref(localeInitial);\n provide(rtlRegistryKey, { isRtl, locale });\n }\n};\nconst _newShowHideRegistry = () => {\n const values = ref(/* @__PURE__ */ new Map());\n const register = ({\n id,\n component,\n value,\n toggle,\n show,\n hide,\n registerTrigger,\n unregisterTrigger\n }) => {\n values.value.set(id, {\n id,\n component,\n value: readonly(value),\n toggle,\n show,\n hide,\n registerTrigger,\n unregisterTrigger\n });\n return {\n unregister() {\n values.value.delete(id);\n },\n updateId(newId, oldId) {\n const existingValue = values.value.get(oldId);\n if (existingValue) {\n values.value.set(newId, { ...existingValue, id: newId });\n values.value.delete(oldId);\n }\n }\n };\n };\n return {\n register,\n values\n };\n};\nexport {\n _newShowHideRegistry,\n useRegistry\n};\n//# sourceMappingURL=index.mjs.map\n","import { inject, computed, unref, provide } from \"vue\";\nimport { f as defaultsKey } from \"../../../keys-BLeKMItg.mjs\";\nconst useProvideDefaults = (defaults, mergeDefaults) => {\n const injectedDefaults = inject(defaultsKey, void 0);\n const mergedDefaults = computed(() => {\n const _defaults = unref(defaults);\n if (!injectedDefaults) {\n return _defaults ?? {};\n }\n const merged = { ...injectedDefaults.value };\n if (_defaults) {\n if (mergeDefaults) {\n if (typeof mergeDefaults === \"function\") {\n return mergeDefaults(merged, _defaults);\n } else if (mergeDefaults === true) {\n return deepMerge(merged, _defaults);\n }\n return Object.assign(merged, _defaults);\n }\n return _defaults;\n }\n return merged;\n });\n provide(defaultsKey, mergedDefaults);\n};\nfunction isPlainObject(value) {\n return value !== null && typeof value === \"object\" && value.constructor === Object && Object.prototype.toString.call(value) === \"[object Object]\";\n}\nfunction deepMerge(target, source, visited = /* @__PURE__ */ new WeakSet()) {\n if (visited.has(source)) {\n return target;\n }\n visited.add(source);\n const result = { ...target };\n for (const key in source) {\n const sourceValue = source[key];\n const targetValue = target[key];\n if (isPlainObject(sourceValue) && isPlainObject(targetValue)) {\n result[key] = deepMerge(\n targetValue,\n sourceValue,\n visited\n );\n } else if (Array.isArray(sourceValue)) {\n result[key] = [...sourceValue];\n } else {\n result[key] = sourceValue;\n }\n }\n return result;\n}\nexport {\n useProvideDefaults\n};\n//# sourceMappingURL=index.mjs.map\n","import { useBreadcrumb } from \"./src/composables/useBreadcrumb/index.mjs\";\nimport { useColorMode } from \"./src/composables/useColorMode/index.mjs\";\nimport { u as useModal, a as useModalController } from \"./index-BDkr-YqK.mjs\";\nimport { u as useScrollLock } from \"./useSafeScrollLock-DhacR9hN.mjs\";\nimport { useScrollspy } from \"./src/composables/useScrollspy/index.mjs\";\nimport { u as useToast, a as useToastController } from \"./index-7PG2ESMq.mjs\";\nimport { useToggle } from \"./src/composables/useToggle/index.mjs\";\nimport { usePopover, usePopoverController } from \"./src/composables/usePopover/index.mjs\";\nimport { useRegistry } from \"./src/composables/useRegistry/index.mjs\";\nimport { useProvideDefaults } from \"./src/composables/useProvideDefaults/index.mjs\";\nimport { u as useOrchestratorRegistry } from \"./orchestratorShared-BTC5xO6k.mjs\";\nconst index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n useBreadcrumb,\n useColorMode,\n useModal,\n useModalController,\n useOrchestratorRegistry,\n usePopover,\n usePopoverController,\n useProvideDefaults,\n useRegistry,\n useScrollLock,\n useScrollspy,\n useToast,\n useToastController,\n useToggle\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n index as i\n};\n//# sourceMappingURL=index-BuUXy1YJ.mjs.map\n","const setTheme = (el, value) => el.setAttribute(\"data-bs-theme\", value);\nconst vBColorMode = {\n mounted(el, binding) {\n setTheme(el, binding.value);\n },\n updated(el, binding) {\n setTheme(el, binding.value);\n }\n};\nexport {\n vBColorMode\n};\n//# sourceMappingURL=index.mjs.map\n","import { e as unbind, g as resolveActiveStatus, h as resolveContent, d as resolveDirectiveProps, j as bind } from \"./floatingUi-BBabBWxD.mjs\";\nimport { f as defaultsKey } from \"./keys-BLeKMItg.mjs\";\nfunction getDirectiveUid(binding) {\n if (!binding.instance) {\n throw new Error(\"[Bootstrap-Vue-Next] Directive binding.instance is not available\");\n }\n return binding.instance.$.uid;\n}\nfunction initDirectiveInstance(el, propertyName, uid, binding) {\n const elWithProps = el;\n elWithProps[propertyName] = elWithProps[propertyName] ?? /* @__PURE__ */ Object.create(null);\n const state = {\n binding: JSON.stringify([binding.modifiers, binding.value]),\n destroying: false\n };\n elWithProps[propertyName][uid] = state;\n return state;\n}\nfunction getDirectiveInstance(el, propertyName, uid) {\n const elWithProps = el;\n return elWithProps[propertyName]?.[uid];\n}\nfunction hasBindingChanged(instance, binding) {\n const newBinding = JSON.stringify([binding.modifiers, binding.value]);\n return instance.binding !== newBinding;\n}\nfunction updateBindingCache(instance, binding) {\n instance.binding = JSON.stringify([binding.modifiers, binding.value]);\n}\nfunction cleanupDirectiveInstance(el, propertyName, uid) {\n const elWithProps = el;\n const instance = elWithProps[propertyName]?.[uid];\n if (instance) {\n instance.destroying = true;\n delete elWithProps[propertyName][uid];\n }\n}\nfunction findProvides(binding, vnode) {\n const provides = (vnode.ctx === binding.instance.$ ? findComponentParent(vnode, binding.instance.$)?.provides : vnode.ctx?.provides) ?? binding.instance.$.provides;\n return provides;\n}\nfunction findComponentParent(vnode, root) {\n const stack = /* @__PURE__ */ new Set();\n const walk = (children) => {\n for (const child of children) {\n if (!child) continue;\n if (child === vnode || child.el && vnode.el && child.el === vnode.el) {\n return true;\n }\n stack.add(child);\n let result2;\n if (child.suspense) {\n result2 = walk([child.ssContent]);\n } else if (Array.isArray(child.children)) {\n result2 = walk(child.children);\n } else if (child.component?.vnode) {\n result2 = walk([child.component?.subTree]);\n }\n if (result2) {\n return result2;\n }\n stack.delete(child);\n }\n return false;\n };\n if (!walk([root.subTree])) {\n console.error(\"Could not find original vnode, will not inherit provides\");\n return root;\n }\n const result = Array.from(stack).reverse();\n for (const child of result) {\n if (child.component) {\n return child.component;\n }\n }\n return root;\n}\nfunction createFloatingDirective(propertyName, componentDefaultsKey, buildProps) {\n return {\n mounted(el, binding, vnode) {\n const uid = getDirectiveUid(binding);\n const defaultsMap = findProvides(binding, vnode)[defaultsKey]?.value;\n const isActive = resolveActiveStatus(binding.value);\n if (!isActive) return;\n const text = resolveContent(binding.value, el);\n if (!text.body && !text.title) return;\n initDirectiveInstance(el, propertyName, uid, binding);\n const props = buildProps ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el) : {\n ...defaultsMap?.[componentDefaultsKey] || void 0,\n ...resolveDirectiveProps(binding, el),\n ...text\n };\n bind(el, binding, props);\n },\n updated(el, binding, vnode) {\n const uid = getDirectiveUid(binding);\n let instance = getDirectiveInstance(el, propertyName, uid);\n const defaultsMap = findProvides(binding, vnode)[defaultsKey]?.value;\n const isActive = resolveActiveStatus(binding.value);\n if (!isActive) {\n if (instance && el.$__element) {\n unbind(el);\n cleanupDirectiveInstance(el, propertyName, uid);\n }\n return;\n }\n const text = resolveContent(binding.value, el);\n if (!text.body && !text.title) {\n if (instance && el.$__element) {\n unbind(el);\n cleanupDirectiveInstance(el, propertyName, uid);\n }\n return;\n }\n if (!instance) {\n instance = initDirectiveInstance(el, propertyName, uid, binding);\n const props2 = buildProps ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el) : {\n ...defaultsMap?.[componentDefaultsKey] || void 0,\n ...resolveDirectiveProps(binding, el),\n ...text\n };\n bind(el, binding, props2);\n return;\n }\n if (!hasBindingChanged(instance, binding)) return;\n if (instance.destroying) return;\n unbind(el);\n const props = buildProps ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el) : {\n ...defaultsMap?.[componentDefaultsKey] || void 0,\n ...resolveDirectiveProps(binding, el),\n ...text\n };\n bind(el, binding, props);\n updateBindingCache(instance, binding);\n },\n beforeUnmount(el, binding) {\n const uid = getDirectiveUid(binding);\n const instance = getDirectiveInstance(el, propertyName, uid);\n if (!instance) return;\n unbind(el);\n cleanupDirectiveInstance(el, propertyName, uid);\n }\n };\n}\nexport {\n createFloatingDirective as c,\n findProvides as f,\n getDirectiveUid as g\n};\n//# sourceMappingURL=utils-BYUyX1-A.mjs.map\n","import { R as RX_SPACE_SPLIT, d as RX_HASH_ID, e as RX_HASH } from \"../../../constants-Cx335y3L.mjs\";\nimport { toValue } from \"vue\";\nimport { f as findProvides } from \"../../../utils-BYUyX1-A.mjs\";\nimport { s as showHideRegistryKey } from \"../../../keys-BLeKMItg.mjs\";\nconst getTargets = (binding, el) => {\n const { modifiers, arg, value } = binding;\n const targets = Object.keys(modifiers || {});\n const localValue = typeof value === \"string\" ? value.split(RX_SPACE_SPLIT) : value;\n if (el.tagName.toLowerCase() === \"a\") {\n const href = el.getAttribute(\"href\") || \"\";\n if (RX_HASH_ID.test(href)) {\n targets.push(href.replace(RX_HASH, \"\"));\n }\n }\n Array.prototype.concat.apply([], [arg, localValue]).forEach((t) => typeof t === \"string\" && targets.push(t));\n return targets.filter((t, index, arr) => t && arr.indexOf(t) === index);\n};\nconst handleUpdate = (el, binding, vnode) => {\n const targets = getTargets(binding, el);\n if (targets.length === 0) return;\n const provides = findProvides(binding, vnode);\n const showHideMap = provides[showHideRegistryKey]?.values;\n if (el.dataset.bvtoggle) {\n const oldTargets = (el.dataset.bvtoggle || \"\").split(\" \");\n if (oldTargets.length === 0) return;\n for (const targetId of oldTargets) {\n const showHide = showHideMap?.value.get(targetId);\n if (!showHide) {\n continue;\n }\n if (!targets.includes(targetId)) {\n toValue(showHide).unregisterTrigger(\"click\", el, false);\n }\n }\n }\n el.dataset.bvtoggle = targets.join(\" \");\n targets.forEach(async (targetId) => {\n let count = 0;\n const maxAttempts = 5;\n const delayMs = 100;\n while (count < maxAttempts) {\n if (!el.dataset.bvtoggle) {\n return;\n }\n const showHide = showHideMap?.value.get(targetId);\n if (!showHide) {\n count++;\n if (count < maxAttempts) {\n await new Promise((resolve) => setTimeout(resolve, delayMs));\n continue;\n }\n if (el.dataset.bvtoggle) {\n console.warn(\n `[v-b-toggle] Target with ID ${targetId} not found after ${maxAttempts * delayMs}ms`\n );\n }\n break;\n }\n if (!el.dataset.bvtoggle) return;\n toValue(showHide).unregisterTrigger(\"click\", el, false);\n toValue(showHide).registerTrigger(\"click\", el);\n break;\n }\n });\n el.setAttribute(\"aria-controls\", targets.join(\" \"));\n};\nconst handleUnmount = (el, binding, vnode) => {\n const targets = getTargets(binding, el);\n if (targets.length === 0) return;\n const provides = findProvides(binding, vnode);\n const showHideMap = provides[showHideRegistryKey]?.values;\n targets.forEach((targetId) => {\n const showHide = showHideMap?.value.get(targetId);\n if (!showHide) {\n return;\n }\n toValue(showHide).unregisterTrigger(\"click\", el, false);\n });\n el.removeAttribute(\"aria-controls\");\n el.removeAttribute(\"aria-expanded\");\n el.classList.remove(\"collapsed\");\n el.classList.remove(\"not-collapsed\");\n delete el.dataset.bvtoggle;\n};\nconst vBToggle = {\n mounted: handleUpdate,\n updated: handleUpdate,\n unmounted: handleUnmount\n};\nexport {\n vBToggle\n};\n//# sourceMappingURL=index.mjs.map\n","import \"vue\";\nimport { d as resolveDirectiveProps } from \"../../../floatingUi-BBabBWxD.mjs\";\nimport { c as createFloatingDirective } from \"../../../utils-BYUyX1-A.mjs\";\nconst vBPopover = createFloatingDirective(\n \"$__popover\",\n \"BPopover\",\n (text, defaults, binding, el) => ({\n ...defaults || void 0,\n ...resolveDirectiveProps(binding, el),\n ...text\n })\n);\nexport {\n vBPopover\n};\n//# sourceMappingURL=index.mjs.map\n","import \"vue\";\nimport { useScrollspy } from \"../../composables/useScrollspy/index.mjs\";\nimport { o as omit } from \"../../../object-0ALvRU0O.mjs\";\nimport { g as getDirectiveUid } from \"../../../utils-BYUyX1-A.mjs\";\nconst bind = (el, binding) => {\n if (typeof document === \"undefined\") return;\n const uid = getDirectiveUid(binding);\n const elWithScrollspy = el;\n elWithScrollspy.$__scrollspy = elWithScrollspy.$__scrollspy ?? /* @__PURE__ */ Object.create(null);\n const existingInstance = elWithScrollspy.$__scrollspy[uid];\n if (existingInstance) {\n existingInstance.cleanup();\n }\n const { arg, value } = binding;\n const isObject = typeof value === \"object\" && value !== null;\n const content = arg ? arg : typeof value === \"string\" ? value : isObject ? value.content || value.element : null;\n elWithScrollspy.$__scrollspy[uid] = useScrollspy(\n content,\n el,\n isObject ? omit(value, [\"content\", \"element\"]) : {}\n );\n};\nconst vBScrollspy = {\n mounted: bind,\n updated: bind,\n beforeUnmount(el, binding) {\n const uid = getDirectiveUid(binding);\n const elWithScrollspy = el;\n const instance = elWithScrollspy.$__scrollspy?.[uid];\n if (!instance) return;\n instance.cleanup();\n delete elWithScrollspy.$__scrollspy[uid];\n }\n};\nexport {\n vBScrollspy\n};\n//# sourceMappingURL=index.mjs.map\n","import \"vue\";\nimport { d as resolveDirectiveProps } from \"../../../floatingUi-BBabBWxD.mjs\";\nimport { c as createFloatingDirective } from \"../../../utils-BYUyX1-A.mjs\";\nconst vBTooltip = createFloatingDirective(\n \"$__tooltip\",\n \"BTooltip\",\n (text, defaults, binding, el) => ({\n noninteractive: true,\n ...defaults || void 0,\n ...resolveDirectiveProps(binding, el),\n title: text.title ?? text.body ?? \"\",\n tooltip: true\n })\n);\nexport {\n vBTooltip\n};\n//# sourceMappingURL=index.mjs.map\n","import { vBColorMode } from \"./src/directives/BColorMode/index.mjs\";\nimport { vBToggle } from \"./src/directives/BToggle/index.mjs\";\nimport { vBPopover } from \"./src/directives/BPopover/index.mjs\";\nimport { vBScrollspy } from \"./src/directives/BScrollspy/index.mjs\";\nimport { vBTooltip } from \"./src/directives/BTooltip/index.mjs\";\nconst index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n vBColorMode,\n vBModal: vBToggle,\n vBPopover,\n vBScrollspy,\n vBToggle,\n vBTooltip\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n index as i\n};\n//# sourceMappingURL=index-CXpBEYSc.mjs.map\n","import { b as BvCarouselEvent, B as BvEvent, a as BvTriggerableEvent } from \"./classes-BW_GpXTu.mjs\";\nconst index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n BvCarouselEvent,\n BvEvent,\n BvTriggerableEvent\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n index as i\n};\n//# sourceMappingURL=index-D888h6zh.mjs.map\n","import { Fragment } from \"vue\";\nfunction flattenFragments(nodes) {\n return nodes.map((node) => {\n if (node.type === Fragment) {\n return flattenFragments(node.children);\n }\n return node;\n }).flat();\n}\nexport {\n flattenFragments as f\n};\n//# sourceMappingURL=flattenFragments-BoFLyuna.mjs.map\n","import { defineComponent, mergeModels, useModel, useTemplateRef, computed, readonly, provide, toRef, createElementBlock, openBlock, Fragment, renderSlot, createBlock, createCommentVNode, normalizeProps, guardReactiveProps, unref, Transition, mergeProps, withCtx, withDirectives, resolveDynamicComponent, vShow } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { c as collapseInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useShowHide } from \"./useShowHide-717t6y_D.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BCollapse\",\n props: /* @__PURE__ */ mergeModels({\n horizontal: { type: Boolean, default: false },\n id: { default: void 0 },\n isNav: { type: Boolean, default: false },\n tag: { default: \"div\" },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean, default: false },\n noFade: { type: Boolean },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n show: { type: Boolean, default: false },\n transProps: {},\n visible: { type: Boolean, default: false }\n }, {\n \"modelValue\": { type: Boolean, ...{\n default: false\n } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BCollapse\");\n const emit = __emit;\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"collapse\");\n const element = useTemplateRef(\"_element\");\n let inCollapse = false;\n const onEnter = (el) => {\n inCollapse = true;\n requestAnimationFrame(() => {\n if (props.horizontal) {\n el.style.width = `${el.scrollWidth}px`;\n } else {\n el.style.height = `${el.scrollHeight}px`;\n }\n });\n };\n const onBeforeLeave = (el) => {\n if (inCollapse) {\n return;\n }\n if (props.horizontal) {\n el.style.width = `${el.scrollWidth}px`;\n } else {\n el.style.height = `${el.scrollHeight}px`;\n }\n el.offsetHeight;\n };\n const onLeave = (el) => {\n requestAnimationFrame(() => {\n if (props.horizontal) {\n el.style.width = ``;\n } else {\n el.style.height = ``;\n }\n });\n };\n const onAfterEnter = (el) => {\n el.style.height = ``;\n el.style.width = ``;\n inCollapse = false;\n };\n const onAfterLeave = (el) => {\n el.style.height = ``;\n el.style.width = ``;\n inCollapse = false;\n };\n const {\n showRef,\n renderRef,\n hide,\n show,\n toggle,\n isActive,\n computedNoAnimation,\n contentShowing,\n transitionProps\n } = useShowHide(modelValue, props, emit, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onBeforeLeave,\n onEnter,\n onLeave,\n onAfterEnter,\n onAfterLeave,\n enterToClass: \"\",\n leaveToClass: \"\",\n enterFromClass: \"\",\n leaveFromClass: \"\",\n enterActiveClass: \"\",\n leaveActiveClass: \"\"\n }\n });\n const computedClasses = computed(() => ({\n \"show\": isActive.value,\n \"navbar-collapse\": props.isNav,\n \"collapse-horizontal\": props.horizontal\n }));\n const sharedSlots = computed(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value\n }));\n __expose({\n hide,\n isNav: props.isNav,\n show,\n toggle,\n visible: readonly(showRef)\n });\n provide(collapseInjectionKey, {\n id: computedId,\n hide,\n show,\n toggle,\n visible: readonly(showRef),\n isNav: toRef(() => props.isNav)\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(Fragment, null, [\n renderSlot(_ctx.$slots, \"header\", normalizeProps(guardReactiveProps(sharedSlots.value))),\n unref(renderRef) || unref(contentShowing) ? (openBlock(), createBlock(Transition, mergeProps({ key: 0 }, unref(transitionProps), {\n \"enter-active-class\": unref(computedNoAnimation) ? \"\" : \"collapsing\",\n \"leave-active-class\": unref(computedNoAnimation) ? \"\" : \"collapsing\",\n appear: modelValue.value || unref(props).visible\n }), {\n default: withCtx(() => [\n withDirectives((openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), mergeProps({\n id: unref(computedId),\n ref: \"_element\",\n class: [\"collapse\", computedClasses.value],\n \"is-nav\": unref(props).isNav\n }, _ctx.$attrs), {\n default: withCtx(() => [\n unref(contentShowing) ? renderSlot(_ctx.$slots, \"default\", normalizeProps(mergeProps({ key: 0 }, sharedSlots.value))) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 16, [\"id\", \"class\", \"is-nav\"])), [\n [vShow, unref(showRef)]\n ])\n ]),\n _: 3\n }, 16, [\"enter-active-class\", \"leave-active-class\", \"appear\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"footer\", normalizeProps(guardReactiveProps(sharedSlots.value)))\n ], 64);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BCollapse.vue_vue_type_script_setup_true_lang-B8TqF-kB.mjs.map\n","import { defineComponent, mergeModels, useAttrs, computed, inject, useModel, useTemplateRef, onUnmounted, onMounted, nextTick, watch, createElementBlock, openBlock, mergeProps, unref, createVNode, withCtx, createElementVNode, renderSlot, createBlock, resolveDynamicComponent, createTextVNode, toDisplayString, useSlots, ref, shallowRef, provide, toRef, normalizeClass } from \"vue\";\nimport { g as accordionInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { f as flattenFragments } from \"./flattenFragments-BoFLyuna.mjs\";\nimport { _ as _sfc_main$2 } from \"./BCollapse.vue_vue_type_script_setup_true_lang-B8TqF-kB.mjs\";\nimport { s as sortSlotElementsByPosition } from \"./dom-DVb-f0ZG.mjs\";\nconst _hoisted_1$1 = [\"aria-expanded\", \"aria-controls\", \"onClick\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BAccordionItem\",\n props: /* @__PURE__ */ mergeModels({\n bodyAttrs: { default: void 0 },\n bodyClass: { default: void 0 },\n buttonAttrs: { default: void 0 },\n buttonClass: { default: void 0 },\n collapseClass: { default: void 0 },\n headerAttrs: { default: void 0 },\n headerClass: { default: void 0 },\n headerTag: { default: \"h2\" },\n horizontal: { type: Boolean, default: void 0 },\n id: { default: void 0 },\n isNav: { type: Boolean, default: void 0 },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n tag: { default: void 0 },\n title: { default: void 0 },\n show: { type: Boolean, default: void 0 },\n visible: { type: Boolean, default: false },\n wrapperAttrs: { default: void 0 }\n }, {\n \"modelValue\": { type: Boolean, ...{\n default: false\n } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BAccordionItem\");\n const emit = __emit;\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...collapseAttrs } = attrs;\n return { wrapperClass, collapseAttrs };\n });\n const parentData = inject(accordionInjectionKey, null);\n const computedId = useId(() => props.id, \"accordion_item\");\n const modelValue = useModel(__props, \"modelValue\");\n if (modelValue.value) {\n parentData?.setOpenItem(computedId.value);\n } else {\n modelValue.value = (Array.isArray(parentData?.openItem.value) ? parentData?.openItem.value.includes(computedId.value) : parentData?.openItem.value === computedId.value) && !parentData?.initialAnimation.value;\n }\n const el = useTemplateRef(\"_el\");\n parentData?.registerAccordionItem(computedId.value, el);\n onUnmounted(() => {\n parentData?.unregisterAccordionItem(computedId.value);\n });\n onMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true;\n });\n }\n });\n const openInParent = computed(\n () => Array.isArray(parentData?.openItem.value) ? parentData?.openItem.value.includes(computedId.value) : parentData?.openItem.value === computedId.value\n );\n watch(\n () => parentData?.openItem.value,\n () => modelValue.value = openInParent.value\n );\n watch(modelValue, () => {\n if (modelValue.value && !openInParent.value) {\n parentData?.setOpenItem(computedId.value);\n } else if (!modelValue.value && openInParent.value) {\n parentData?.setCloseItem(computedId.value);\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n ref: \"_el\",\n class: \"accordion-item\"\n }, unref(props).wrapperAttrs, {\n class: processedAttrs.value.wrapperClass\n }), [\n createVNode(_sfc_main$2, mergeProps({\n id: unref(computedId),\n modelValue: modelValue.value,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),\n class: [\"accordion-collapse\", unref(props).collapseClass],\n \"aria-labelledby\": `${unref(computedId)}-heading`\n }, processedAttrs.value.collapseAttrs, {\n tag: unref(props).tag,\n show: unref(props).show,\n horizontal: unref(props).horizontal,\n visible: unref(props).visible,\n \"is-nav\": unref(props).isNav,\n lazy: unref(props).lazy || unref(parentData)?.lazy.value,\n \"unmount-lazy\": unref(props).unmountLazy || unref(parentData)?.unmountLazy.value,\n onShow: _cache[1] || (_cache[1] = ($event) => emit(\"show\", $event)),\n onShown: _cache[2] || (_cache[2] = ($event) => emit(\"shown\", $event)),\n onHide: _cache[3] || (_cache[3] = ($event) => emit(\"hide\", $event)),\n onHidden: _cache[4] || (_cache[4] = ($event) => emit(\"hidden\", $event)),\n onHidePrevented: _cache[5] || (_cache[5] = ($event) => emit(\"hide-prevented\", $event)),\n onShowPrevented: _cache[6] || (_cache[6] = ($event) => emit(\"show-prevented\", $event)),\n onTogglePrevented: _cache[7] || (_cache[7] = ($event) => emit(\"toggle-prevented\", $event)),\n onToggle: _cache[8] || (_cache[8] = ($event) => emit(\"toggle\", $event))\n }), {\n header: withCtx(({ visible: toggleVisible, toggle: slotToggle }) => [\n (openBlock(), createBlock(resolveDynamicComponent(unref(props).headerTag), mergeProps({\n id: `${unref(computedId)}-heading`,\n class: [\"accordion-header\", unref(props).headerClass]\n }, unref(props).headerAttrs), {\n default: withCtx(() => [\n createElementVNode(\"button\", mergeProps({ class: \"accordion-button\" }, unref(props).buttonAttrs, {\n class: [{ collapsed: !toggleVisible }, unref(props).buttonClass],\n type: \"button\",\n \"aria-expanded\": toggleVisible ? \"true\" : \"false\",\n \"aria-controls\": unref(computedId),\n onClick: slotToggle\n }), [\n renderSlot(_ctx.$slots, \"title\", {}, () => [\n createTextVNode(toDisplayString(unref(props).title), 1)\n ])\n ], 16, _hoisted_1$1)\n ]),\n _: 2\n }, 1040, [\"id\", \"class\"]))\n ]),\n default: withCtx(() => [\n createElementVNode(\"div\", mergeProps({ class: \"accordion-body\" }, unref(props).bodyAttrs, {\n class: unref(props).bodyClass\n }), [\n renderSlot(_ctx.$slots, \"default\")\n ], 16)\n ]),\n _: 3\n }, 16, [\"id\", \"modelValue\", \"class\", \"aria-labelledby\", \"tag\", \"show\", \"horizontal\", \"visible\", \"is-nav\", \"lazy\", \"unmount-lazy\"])\n ], 16);\n };\n }\n});\nconst _hoisted_1 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BAccordion\",\n props: /* @__PURE__ */ mergeModels({\n flush: { type: Boolean, default: false },\n free: { type: Boolean, default: false },\n id: { default: void 0 },\n initialAnimation: { type: Boolean, default: false },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false }\n }, {\n \"modelValue\": {\n default: void 0\n },\n \"modelModifiers\": {},\n \"index\": {\n default: void 0\n },\n \"indexModifiers\": {}\n }),\n emits: [\"update:modelValue\", \"update:index\"],\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BAccordion\");\n const slots = useSlots();\n const modelValue = useModel(__props, \"modelValue\");\n const index = useModel(__props, \"index\");\n const itemElementsArray = ref([]);\n const updateItemElementsArray = () => {\n const itemElements = flattenFragments(slots.default?.({}) ?? []);\n itemElementsArray.value = (Array.isArray(itemElements) ? itemElements : [itemElements]).filter(\n (item) => item.type === _sfc_main$1\n );\n };\n updateItemElementsArray();\n watch(\n () => slots.default?.({}),\n () => {\n updateItemElementsArray();\n nextTick(() => {\n sortAccordionItems();\n });\n }\n );\n const accordionItems = shallowRef([]);\n const sortAccordionItems = () => {\n accordionItems.value = accordionItems.value.sort(\n (a, b) => sortSlotElementsByPosition(unref(a.el), unref(b.el))\n );\n if (modelValue.value) {\n if (Array.isArray(modelValue.value)) {\n const next = modelValue.value.map((id) => accordionItems.value.findIndex((item) => item.id === id)).filter((i) => i !== -1);\n if (next.length !== modelValue.value.length) {\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\"[BAccordion] Unknown item id in v-model:\", modelValue.value);\n }\n }\n index.value = next;\n } else {\n const idx = accordionItems.value.findIndex((item) => item.id === modelValue.value);\n if (idx !== -1) index.value = idx;\n }\n } else if (index.value !== void 0) {\n modelValue.value = Array.isArray(index.value) ? index.value.map((idx) => accordionItems.value[idx]?.id) : accordionItems.value[index.value]?.id;\n }\n };\n const computedId = useId(() => props.id, \"accordion\");\n const computedClasses = computed(() => ({\n \"accordion-flush\": props.flush\n }));\n const areEqual = (a, b) => {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((item, index2) => item === b[index2]);\n }\n return a === b;\n };\n watch(\n () => index.value,\n (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return;\n if (index.value === void 0) {\n modelValue.value = void 0;\n return;\n }\n if (!props.free) {\n const idx = !Array.isArray(index.value) ? index.value : index.value?.[0];\n if (accordionItems.value[idx]?.id) {\n if (modelValue.value !== accordionItems.value[idx]?.id) {\n modelValue.value = accordionItems.value[idx]?.id;\n }\n } else {\n nextTick(() => {\n index.value = void 0;\n });\n }\n } else {\n if (Array.isArray(index.value)) {\n const newValue2 = index.value.map((item) => accordionItems.value[item]?.id);\n if (!areEqual(newValue2, modelValue.value)) {\n modelValue.value = newValue2;\n }\n } else {\n const newValue2 = accordionItems.value[index.value]?.id;\n if (newValue2 === void 0) {\n nextTick(() => {\n index.value = void 0;\n });\n return;\n }\n if (!areEqual(newValue2, modelValue.value)) {\n modelValue.value = newValue2;\n }\n }\n }\n }\n );\n watch(\n () => modelValue.value,\n (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return;\n if (modelValue.value === void 0) {\n index.value = void 0;\n return;\n }\n if (!props.free) {\n const idx = !Array.isArray(modelValue.value) ? accordionItems.value.findIndex((item) => item.id === modelValue.value) : accordionItems.value.findIndex((item) => item.id === modelValue.value?.[0]);\n if (idx !== -1) {\n if (index.value !== idx) {\n index.value = idx;\n }\n } else {\n nextTick(() => {\n modelValue.value = void 0;\n });\n }\n } else if (props.free) {\n if (Array.isArray(modelValue.value)) {\n const idxes = modelValue.value.map((value) => accordionItems.value.findIndex((item) => item.id === value)).filter((index2) => index2 !== -1);\n if (idxes.length > 0) {\n if (!areEqual(idxes, index.value)) {\n index.value = idxes;\n }\n } else {\n nextTick(() => {\n modelValue.value = void 0;\n });\n }\n } else {\n const newValue2 = accordionItems.value.findIndex((item) => item.id === modelValue.value);\n if (!areEqual(newValue2, index.value)) {\n index.value = newValue2;\n }\n }\n }\n },\n { deep: true }\n );\n watch(\n () => props.free,\n (free) => {\n if (modelValue.value) {\n if (!free && Array.isArray(modelValue.value)) {\n modelValue.value = modelValue.value[0];\n } else if (free && !Array.isArray(modelValue.value)) {\n modelValue.value = [modelValue.value];\n }\n }\n }\n );\n provide(accordionInjectionKey, {\n openItem: toRef(() => modelValue.value),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id) => {\n if (props.free && !Array.isArray(modelValue.value)) {\n if (modelValue.value !== void 0) {\n modelValue.value = [modelValue.value, id];\n } else {\n modelValue.value = [id];\n }\n return;\n }\n if (!props.free && Array.isArray(modelValue.value)) {\n modelValue.value = id;\n return;\n }\n if (Array.isArray(modelValue.value)) {\n if (!modelValue.value.includes(id)) {\n modelValue.value = [...modelValue.value, id];\n }\n } else {\n modelValue.value = id;\n }\n },\n setCloseItem: (id) => {\n if (!props.free && Array.isArray(modelValue.value)) {\n modelValue.value = void 0;\n return;\n }\n if (Array.isArray(modelValue.value)) {\n const next = modelValue.value.filter((item) => item !== id);\n modelValue.value = next.length ? next : void 0;\n } else {\n if (modelValue.value === id) {\n modelValue.value = void 0;\n }\n }\n },\n registerAccordionItem: (id, el) => {\n accordionItems.value = [...accordionItems.value, { id, el }];\n if (accordionItems.value.length === itemElementsArray.value.length) {\n sortAccordionItems();\n }\n },\n unregisterAccordionItem: (id) => {\n accordionItems.value = accordionItems.value.filter((item) => item.id !== id);\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: unref(computedId),\n class: normalizeClass([\"accordion\", computedClasses.value])\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$1 as a\n};\n//# sourceMappingURL=BAccordion.vue_vue_type_script_setup_true_lang-Bm1RghW9.mjs.map\n","import { _ as _sfc_main$2 } from \"./BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs\";\nimport { defineComponent, mergeModels, useSlots, useTemplateRef, useModel, computed, watchEffect, watch, createBlock, createCommentVNode, unref, openBlock, Transition, mergeProps, withCtx, withDirectives, createElementVNode, normalizeClass, createElementBlock, resolveDynamicComponent, renderSlot, normalizeProps, guardReactiveProps, toDisplayString, Fragment, withModifiers, createTextVNode, vShow } from \"vue\";\nimport { u as useBLinkHelper, _ as _sfc_main$1 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { _ as _sfc_main$3 } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs\";\nimport { _ as _sfc_main$4 } from \"./BProgress.vue_vue_type_script_setup_true_lang-CzGUiUCY.mjs\";\nimport { u as useCountdown, a as useCountdownHover } from \"./useCountdownHover-D79FUs67.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { u as useShowHide } from \"./useShowHide-717t6y_D.mjs\";\nconst _hoisted_1 = [\"id\", \"role\", \"aria-live\", \"aria-atomic\"];\nconst _hoisted_2 = {\n key: 1,\n class: \"d-flex gap-2\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BAlert\",\n props: /* @__PURE__ */ mergeModels({\n alertClass: { default: void 0 },\n body: { default: void 0 },\n bodyClass: { default: void 0 },\n closeClass: { default: void 0 },\n closeContent: { default: void 0 },\n closeLabel: { default: \"Close\" },\n closeVariant: { default: \"secondary\" },\n dismissible: { type: Boolean, default: false },\n headerClass: { default: void 0 },\n headerTag: { default: \"div\" },\n id: { default: void 0 },\n interval: { default: \"requestAnimationFrame\" },\n isStatus: { type: Boolean, default: false },\n noHoverPause: { type: Boolean, default: false },\n noResumeOnHoverLeave: { type: Boolean, default: false },\n progressProps: { default: void 0 },\n showOnPause: { type: Boolean, default: true },\n title: { default: void 0 },\n variant: { default: \"info\" },\n bgVariant: { default: null },\n textVariant: { default: null },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean, default: void 0 },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean, default: false },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n show: { type: Boolean, default: false },\n transProps: { default: void 0 },\n visible: { type: Boolean, default: false }\n }, {\n \"modelValue\": { type: [Boolean, Number], ...{ default: false } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"close\", \"close-countdown\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BAlert\");\n const emit = __emit;\n const slots = useSlots();\n const element = useTemplateRef(\"_element\");\n const modelValue = useModel(__props, \"modelValue\");\n const { computedLink, computedLinkProps } = useBLinkHelper(props);\n const computedId = useId(() => props.id, \"alert\");\n const {\n showRef,\n renderRef,\n hide,\n toggle,\n show,\n buildTriggerableEvent,\n computedNoAnimation,\n isVisible,\n transitionProps,\n contentShowing\n } = useShowHide(modelValue, props, emit, element, computedId);\n const countdownLength = computed(\n () => typeof modelValue.value === \"boolean\" ? 0 : modelValue.value\n );\n const {\n isActive,\n pause,\n restart,\n resume,\n stop,\n isPaused,\n value: remainingMs\n } = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === \"number\" && !!modelValue.value\n });\n useCountdownHover(\n element,\n {\n noHoverPause: () => props.noHoverPause || typeof modelValue.value !== \"number\",\n noResumeOnHoverLeave: () => props.noResumeOnHoverLeave || typeof modelValue.value !== \"number\",\n modelValueIgnoresHover: () => typeof modelValue.value === \"boolean\"\n },\n { pause, resume }\n );\n watchEffect(() => {\n emit(\"close-countdown\", remainingMs.value);\n });\n const computedTag = computed(() => computedLink.value ? _sfc_main$1 : \"div\");\n const isAlertVisible = computed(\n () => showRef.value || isActive.value || props.showOnPause && isPaused.value\n );\n const computedClasses = computed(() => [\n // colorClasses.value,\n {\n [`alert-${props.variant}`]: props.variant !== null,\n \"alert-dismissible\": props.dismissible && !(slots.close || props.closeContent),\n \"show\": isVisible.value,\n \"fade\": !computedNoAnimation.value\n }\n ]);\n watch(modelValue, (newValue) => {\n if (typeof newValue === \"number\") {\n const event = buildTriggerableEvent(\"show\", { cancelable: true, trigger: \"model\" });\n emit(\"show\", event);\n if (event.defaultPrevented) {\n emit(\"show-prevented\", buildTriggerableEvent(\"show-prevented\"));\n } else {\n restart();\n }\n }\n });\n watch(isActive, (newValue) => {\n if (newValue === false && isPaused.value === false) {\n hide();\n modelValue.value = 0;\n stop();\n }\n });\n const sharedSlots = computed(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value\n }));\n __expose({\n show,\n hide,\n toggle,\n pause,\n restart,\n resume,\n stop\n });\n return (_ctx, _cache) => {\n const _component_BButton = _sfc_main$2;\n return unref(renderRef) || unref(contentShowing) ? (openBlock(), createBlock(Transition, mergeProps({ key: 0 }, unref(transitionProps), {\n appear: !!modelValue.value || unref(props).visible\n }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n id: unref(props).id,\n ref: \"_element\",\n class: normalizeClass([\"alert\", [unref(props).alertClass, computedClasses.value]]),\n tabindex: \"0\",\n role: !isAlertVisible.value ? void 0 : unref(props).isStatus ? \"status\" : \"alert\",\n \"aria-live\": !isAlertVisible.value ? void 0 : unref(props).isStatus ? \"polite\" : \"assertive\",\n \"aria-atomic\": !isAlertVisible.value ? void 0 : true\n }, [\n unref(contentShowing) && (slots.title || unref(props).title) ? (openBlock(), createBlock(resolveDynamicComponent(unref(props).headerTag), {\n key: 0,\n class: normalizeClass([\"alert-heading d-flex gap-2\", unref(props).headerClass])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"title\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createElementVNode(\"span\", null, toDisplayString(unref(props).title), 1)\n ]),\n unref(props).dismissible ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n slots.close || unref(props).closeContent ? (openBlock(), createBlock(_component_BButton, {\n key: 0,\n class: normalizeClass([[unref(props).closeClass], \"ms-auto ps-1 btn-close-custom\"]),\n variant: unref(props).closeVariant,\n onClick: _cache[0] || (_cache[0] = withModifiers(($event) => unref(hide)(\"close\"), [\"stop\", \"prevent\"]))\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"close\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).closeContent), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\", \"variant\"])) : (openBlock(), createBlock(_sfc_main$3, {\n key: 1,\n \"aria-label\": unref(props).closeLabel,\n class: normalizeClass([unref(props).closeClass]),\n onClick: _cache[1] || (_cache[1] = withModifiers(($event) => unref(hide)(\"close\"), [\"stop\", \"prevent\"]))\n }, null, 8, [\"aria-label\", \"class\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"class\"])) : createCommentVNode(\"\", true),\n unref(contentShowing) && (slots.default || unref(props).body) ? (openBlock(), createElementBlock(\"div\", _hoisted_2, [\n (openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({\n class: [\"alert-body\", unref(props).bodyClass]\n }, unref(computedLinkProps), {\n onClick: _cache[2] || (_cache[2] = ($event) => unref(computedLink) && unref(props).dismissible ? unref(hide)() : () => {\n })\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).body), 1)\n ])\n ]),\n _: 3\n }, 16, [\"class\"])),\n unref(props).dismissible && !(slots.title || unref(props).title) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n slots.close || unref(props).closeContent ? (openBlock(), createBlock(_component_BButton, {\n key: 0,\n class: normalizeClass([[unref(props).closeClass], \"ms-auto btn-close-custom\"]),\n variant: unref(props).closeVariant,\n onClick: _cache[3] || (_cache[3] = withModifiers(($event) => unref(hide)(\"close\"), [\"stop\", \"prevent\"]))\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"close\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).closeContent), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\", \"variant\"])) : (openBlock(), createBlock(_sfc_main$3, {\n key: 1,\n \"aria-label\": unref(props).closeLabel,\n class: normalizeClass([unref(props).closeClass]),\n onClick: _cache[4] || (_cache[4] = withModifiers(($event) => unref(hide)(\"close\"), [\"stop\", \"prevent\"]))\n }, null, 8, [\"aria-label\", \"class\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ])) : createCommentVNode(\"\", true),\n typeof modelValue.value === \"number\" && unref(props).progressProps !== void 0 ? (openBlock(), createBlock(_sfc_main$4, {\n key: 2,\n animated: unref(props).progressProps.animated,\n precision: unref(props).progressProps.precision,\n \"show-progress\": unref(props).progressProps.showProgress,\n \"show-value\": unref(props).progressProps.showValue,\n striped: unref(props).progressProps.striped,\n variant: unref(props).progressProps.variant,\n max: modelValue.value,\n value: unref(remainingMs),\n height: \"4px\"\n }, null, 8, [\"animated\", \"precision\", \"show-progress\", \"show-value\", \"striped\", \"variant\", \"max\", \"value\"])) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1), [\n [vShow, isAlertVisible.value]\n ])\n ]),\n _: 3\n }, 16, [\"appear\"])) : createCommentVNode(\"\", true);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BAlert.vue_vue_type_script_setup_true_lang-BEAKw4MY.mjs.map\n","import { defineComponent, inject, watch, computed, createBlock, openBlock, withCtx, createElementVNode, mergeProps, createElementBlock, Fragment, renderList, normalizeStyle, normalizeClass, createVNode, TransitionGroup, resolveDynamicComponent, createSlots } from \"vue\";\nimport { o as orchestratorRegistryKey } from \"./keys-BLeKMItg.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nconst positionClasses = {\n \"top-start\": \"top-0 start-0\",\n \"top-center\": \"top-0 start-50 translate-middle-x\",\n \"top-end\": \"top-0 end-0\",\n \"middle-start\": \"top-50 start-0 translate-middle-y\",\n \"middle-center\": \"top-50 start-50 translate-middle\",\n \"middle-end\": \"top-50 end-0 translate-middle-y\",\n \"bottom-start\": \"bottom-0 start-0\",\n \"bottom-center\": \"bottom-0 start-50 translate-middle-x\",\n \"bottom-end\": \"bottom-0 end-0\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BOrchestrator\",\n props: {\n noPopovers: { type: Boolean, default: false },\n noToasts: { type: Boolean, default: false },\n noModals: { type: Boolean, default: false },\n appendToast: { type: Boolean, default: false },\n teleportTo: {},\n filter: { type: Function, default: () => true }\n },\n setup(__props) {\n function setEventOk(event) {\n event.ok = event.trigger === \"ok\" ? true : event.trigger === \"cancel\" ? false : null;\n }\n const props = __props;\n const orchestratorRegistry = inject(orchestratorRegistryKey);\n if (orchestratorRegistry) {\n if (!orchestratorRegistry._isOrchestratorInstalled.value) {\n orchestratorRegistry._isOrchestratorInstalled.value = true;\n }\n } else {\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\n \"[BOrchestrator] The orchestrator registry not found. Please use BApp, useRegistry or provide the plugin.\"\n );\n }\n }\n watch(\n () => props.appendToast,\n (value) => {\n if (orchestratorRegistry && value !== void 0) {\n orchestratorRegistry._isToastAppend.value = value;\n }\n },\n { immediate: true }\n );\n const ComputedPositionClasses = computed(() => {\n const positionsActive = items.value?.reduce(\n (acc, item) => {\n if (item.position) {\n acc[item.position] = true;\n }\n return acc;\n },\n {}\n );\n const classes = {};\n for (const position in positionClasses) {\n if (positionsActive?.[position]) {\n classes[position] = {\n class: `${positionClasses[position]} toast-container position-fixed p-3`,\n style: \"width: calc(var(--bs-toast-max-width, 350px) + var(--bs-toast-padding-x, 1rem) * 2)\"\n };\n }\n }\n if (positionsActive?.[\"modal\"]) {\n classes[\"modal\"] = {\n class: \"\",\n style: \"\"\n };\n }\n if (positionsActive?.[\"popover\"]) {\n classes[\"popover\"] = {\n class: \"\",\n style: \"\"\n };\n }\n return classes;\n });\n const items = computed(() => {\n const store = orchestratorRegistry?.store.value ?? [];\n return store.filter((el) => !props.noPopovers || el.type !== \"popover\").filter((el) => !props.noToasts || el.type !== \"toast\").filter((el) => !props.noModals || el.type !== \"modal\").filter(props.filter);\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, {\n to: _ctx.teleportTo,\n disabled: !_ctx.teleportTo\n }, {\n default: withCtx(() => [\n createElementVNode(\"div\", mergeProps({ class: \"orchestrator-container\" }, _ctx.$attrs), [\n (openBlock(true), createElementBlock(Fragment, null, renderList(ComputedPositionClasses.value, (value, key) => {\n return openBlock(), createElementBlock(\"div\", {\n key,\n class: normalizeClass(value.class),\n style: normalizeStyle(value.style)\n }, [\n createVNode(TransitionGroup, {\n name: items.value?.filter((el) => el.position === key)?.some((el) => el.type === \"toast\") ? \"b-list\" : void 0\n }, {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(items.value?.filter((el) => el.position === key) || [], ({\n _self,\n type,\n position,\n slots,\n promise,\n options,\n _component,\n ...val\n }) => {\n return openBlock(), createElementBlock(\"span\", { key: _self }, [\n (openBlock(), createBlock(resolveDynamicComponent(_component), mergeProps({ ref_for: true }, val, {\n ref_for: true,\n ref: (ref) => promise.value.ref = ref,\n \"initial-animation\": \"\",\n \"teleport-disabled\": true,\n onHide: (e) => {\n setEventOk(e);\n val.onHide?.(e);\n if (e.defaultPrevented) {\n return;\n }\n promise.stop?.();\n if (options?.resolveOnHide) {\n promise.resolve(e);\n }\n },\n onHidden: (e) => {\n setEventOk(e);\n val.onHidden?.(e);\n if (e.defaultPrevented) {\n return;\n }\n if (!options?.resolveOnHide) {\n promise.resolve(e);\n }\n if (!options?.keep) {\n promise.value.destroy?.();\n }\n }\n }), createSlots({ _: 2 }, [\n renderList(slots, (comp, slot) => {\n return {\n name: slot,\n fn: withCtx((scope) => [\n (openBlock(), createBlock(resolveDynamicComponent(comp), mergeProps({ ref_for: true }, scope), null, 16))\n ])\n };\n })\n ]), 1040, [\"onHide\", \"onHidden\"]))\n ]);\n }), 128))\n ]),\n _: 2\n }, 1032, [\"name\"])\n ], 6);\n }), 128))\n ], 16)\n ]),\n _: 1\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BOrchestrator.vue_vue_type_script_setup_true_lang-Dz_rJ4Bq.mjs.map\n","import { defineComponent, toRef, createElementBlock, openBlock, Fragment, createBlock, createCommentVNode, renderSlot, normalizeProps, guardReactiveProps } from \"vue\";\nimport { _ as _sfc_main$1 } from \"./BOrchestrator.vue_vue_type_script_setup_true_lang-Dz_rJ4Bq.mjs\";\nimport { useProvideDefaults } from \"./src/composables/useProvideDefaults/index.mjs\";\nimport { useRegistry } from \"./src/composables/useRegistry/index.mjs\";\nimport { u as useOrchestratorRegistry } from \"./orchestratorShared-BTC5xO6k.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BApp\",\n props: {\n defaults: { default: void 0 },\n mergeDefaults: { type: [Boolean, Function], default: false },\n teleportTo: { default: void 0 },\n noOrchestrator: { type: Boolean, default: false },\n appendToast: { type: Boolean, default: false },\n rtl: { type: [Boolean, Object], default: false }\n },\n setup(__props) {\n const props = __props;\n useProvideDefaults(\n toRef(() => props.defaults),\n props.mergeDefaults\n );\n useRegistry(props.rtl);\n if (!props.noOrchestrator) {\n useOrchestratorRegistry();\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(Fragment, null, [\n !_ctx.noOrchestrator ? (openBlock(), createBlock(_sfc_main$1, {\n key: 0,\n \"append-toast\": _ctx.appendToast,\n \"teleport-to\": _ctx.teleportTo\n }, null, 8, [\"append-toast\", \"teleport-to\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(_ctx.$attrs)))\n ], 64);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BApp.vue_vue_type_script_setup_true_lang-CRI7YgFM.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createVNode, renderSlot } from \"vue\";\nimport { u as useBLinkHelper, _ as _sfc_main$1 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { _ as _sfc_main$2 } from \"./ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BBadge\",\n props: {\n dotIndicator: { type: Boolean, default: false },\n pill: { type: Boolean, default: false },\n placement: { default: void 0 },\n tag: { default: \"span\" },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: \"secondary\" },\n bgVariant: { default: null },\n textVariant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BBadge\");\n const { computedLink, computedLinkProps } = useBLinkHelper(props, [\n \"active\",\n \"activeClass\",\n \"append\",\n \"disabled\",\n \"href\",\n \"rel\",\n \"replace\",\n \"routerComponentName\",\n \"target\",\n \"to\",\n \"opacity\",\n \"opacityHover\",\n \"underlineVariant\",\n \"underlineOffset\",\n \"underlineOffsetHover\",\n \"underlineOpacity\",\n \"underlineOpacityHover\",\n \"icon\"\n ]);\n const computedTag = computed(() => computedLink.value ? _sfc_main$1 : props.tag);\n const placementClasses = computed(() => {\n const pos = props.placement ?? (props.dotIndicator ? \"top-end\" : void 0);\n return [\n \"position-absolute\",\n \"translate-middle\",\n {\n \"start-0 top-0\": pos === \"top-start\",\n \"start-0 top-50\": pos === \"start\",\n \"start-0 top-100\": pos === \"bottom-start\",\n \"start-50 top-0\": pos === \"top\",\n \"start-50 top-100\": pos === \"bottom\",\n \"start-100 top-0\": pos === \"top-end\",\n \"start-100 top-50\": pos === \"end\",\n \"start-100 top-100\": pos === \"bottom-end\"\n }\n ];\n });\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n props.placement !== void 0 || props.dotIndicator === true ? placementClasses.value : void 0,\n {\n \"active\": props.active,\n \"disabled\": props.disabled,\n \"rounded-pill\": props.pill,\n \"p-2 border border-light rounded-circle\": props.dotIndicator,\n \"text-decoration-none\": computedLink.value\n }\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({\n class: [\"badge\", computedClasses.value]\n }, unref(computedLinkProps)), {\n default: withCtx(() => [\n createVNode(_sfc_main$2, mergeProps({\n skip: unref(props).dotIndicator !== true,\n tag: \"span\"\n }, unref(props).dotIndicator ? { class: \"visually-hidden\" } : {}), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"skip\"])\n ]),\n _: 3\n }, 16, [\"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-D9DEOOtU.mjs.map\n","import { computed, toValue } from \"vue\";\nimport { f as RX_NUMBER } from \"./constants-Cx335y3L.mjs\";\nconst useNumberishToStyle = (el, unit = \"px\") => computed(() => {\n const value = toValue(el);\n const resolvedUnit = toValue(unit);\n return RX_NUMBER.test(String(value)) ? `${Number(value)}${resolvedUnit}` : value;\n});\nexport {\n useNumberishToStyle as u\n};\n//# sourceMappingURL=useNumberishToStyle-CdjRyAvX.mjs.map\n","import { computed, toValue } from \"vue\";\nconst useRadiusElementClasses = (obj) => {\n const resolveRadiusElement = (value, str) => {\n const strValue = str === null ? \"\" : `-${str}`;\n return value === \"circle\" ? `rounded${strValue}-circle` : value === \"pill\" ? `rounded${strValue}-pill` : typeof value === \"number\" || value === \"0\" || value === \"1\" || value === \"2\" || value === \"3\" || value === \"4\" || value === \"5\" ? `rounded${strValue}-${value}` : value === \"none\" ? `rounded${strValue}-0` : value === \"sm\" ? `rounded${strValue}-1` : value === \"lg\" ? `rounded${strValue}-5` : `rounded${strValue}`;\n };\n return computed(() => {\n const props = toValue(obj);\n return {\n [`${resolveRadiusElement(props.rounded, null)}`]: !!props.rounded,\n [`${resolveRadiusElement(props.roundedTop, \"top\")}`]: !!props.roundedTop,\n [`${resolveRadiusElement(props.roundedBottom, \"bottom\")}`]: !!props.roundedBottom,\n [`${resolveRadiusElement(props.roundedStart, \"start\")}`]: !!props.roundedStart,\n [`${resolveRadiusElement(props.roundedEnd, \"end\")}`]: !!props.roundedEnd\n };\n });\n};\nexport {\n useRadiusElementClasses as u\n};\n//# sourceMappingURL=useRadiusElementClasses-DtKYQuWz.mjs.map\n","import { defineComponent, useSlots, ref, watch, inject, computed, createBlock, openBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createElementBlock, createCommentVNode, renderSlot, createElementVNode, normalizeStyle, toDisplayString, createTextVNode, provide, toRef } from \"vue\";\nimport { h as avatarGroupInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useBLinkHelper, _ as _sfc_main$2 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { _ as _sfc_main$3 } from \"./BBadge.vue_vue_type_script_setup_true_lang-D9DEOOtU.mjs\";\nimport { i as isEmptySlot } from \"./dom-DVb-f0ZG.mjs\";\nimport { u as useNumberishToStyle } from \"./useNumberishToStyle-CdjRyAvX.mjs\";\nimport { u as useRadiusElementClasses } from \"./useRadiusElementClasses-DtKYQuWz.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst _hoisted_1 = {\n key: 0,\n class: \"b-avatar-custom\"\n};\nconst _hoisted_2 = {\n key: 1,\n class: \"b-avatar-img\"\n};\nconst _hoisted_3 = [\"src\", \"alt\"];\nconst _hoisted_4 = {\n key: 3,\n class: \"b-avatar-img\"\n};\nconst FONT_SIZE_SCALE = 0.4;\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BAvatar\",\n props: {\n alt: { default: \"avatar\" },\n badge: { type: [Boolean, String], default: false },\n badgeBgVariant: { default: null },\n badgePlacement: { default: \"bottom-end\" },\n badgeTextVariant: { default: null },\n badgeVariant: { default: \"primary\" },\n badgePill: { type: Boolean, default: false },\n badgeDotIndicator: { type: Boolean, default: false },\n button: { type: Boolean, default: false },\n buttonType: { default: \"button\" },\n size: { default: void 0 },\n square: { type: Boolean, default: false },\n src: { default: void 0 },\n text: { default: void 0 },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: {},\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: \"secondary\" },\n bgVariant: { default: null },\n textVariant: { default: null },\n rounded: { type: [Boolean, String, Number], default: \"circle\" },\n roundedTop: { type: [Boolean, String, Number], default: void 0 },\n roundedBottom: { type: [Boolean, String, Number], default: void 0 },\n roundedStart: { type: [Boolean, String, Number], default: void 0 },\n roundedEnd: { type: [Boolean, String, Number], default: void 0 }\n },\n emits: [\"click\", \"img-error\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BAvatar\");\n const emit = __emit;\n const slots = useSlots();\n const localSrc = ref(props.src);\n watch(\n () => props.src,\n (value) => {\n localSrc.value = value;\n }\n );\n const { computedLink, computedLinkProps } = useBLinkHelper(props);\n const parentData = inject(avatarGroupInjectionKey, null);\n const SIZES = Object.freeze([\n null,\n ...Object.keys({\n lg: null,\n md: null,\n sm: null\n })\n ]);\n const BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7;\n const hasDefaultSlot = computed(() => !isEmptySlot(slots.default));\n const hasBadgeSlot = computed(() => !isEmptySlot(slots.badge));\n const showBadge = computed(() => !!props.badge || props.badge === \"\" || hasBadgeSlot.value);\n const computedSquare = computed(() => parentData?.square.value || props.square);\n const computedSize = useNumberishToStyle(() => parentData?.size.value ?? props.size);\n const computedSizeIsLiteralSize = computed(\n () => !!computedSize.value && SIZES.includes(computedSize.value)\n );\n const computedVariant = computed(() => parentData?.variant.value ?? props.variant);\n const computedRounded = computed(() => parentData?.rounded.value ?? props.rounded);\n const computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop);\n const computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom);\n const computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart);\n const computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd);\n const radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value\n }));\n const badgeText = computed(() => props.badge === true ? \"\" : props.badge);\n const badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value);\n const colorClasses = useColorVariantClasses(() => ({\n bgVariant: parentData?.bgVariant.value ?? props.bgVariant,\n textVariant: parentData?.textVariant.value ?? props.textVariant,\n variant: computedVariant.value\n }));\n const computedClasses = computed(() => [\n colorClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? void 0 : radiusElementClasses.value,\n {\n [`b-avatar-${computedSize.value}`]: computedSizeIsLiteralSize.value && computedSize.value !== \"md\",\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n \"badge\": !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n \"btn\": props.button,\n // Square is the same as rounded-0 class\n \"rounded-0\": computedSquare.value === true\n }\n ]);\n const badgeStyle = computed(() => ({\n fontSize: (!computedSizeIsLiteralSize.value ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})` : \"\") || \"\"\n }));\n const textFontStyle = computed(() => {\n const fontSize = !computedSizeIsLiteralSize.value ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})` : null;\n return fontSize ? { fontSize } : {};\n });\n const marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0;\n const value = computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null;\n return value ? { marginLeft: value, marginRight: value } : {};\n });\n const computedTag = computed(() => computedLink.value ? _sfc_main$2 : props.button ? \"button\" : \"span\");\n const computedStyle = computed(() => ({\n ...marginStyle.value,\n ...!computedSizeIsLiteralSize.value ? {\n width: computedSize.value,\n height: computedSize.value\n } : void 0\n }));\n const clicked = (e) => {\n if (!props.disabled && (computedLink.value || props.button)) emit(\"click\", e);\n };\n const onImgError = (e) => {\n localSrc.value = void 0;\n emit(\"img-error\", e);\n };\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({\n class: [\"b-avatar\", computedClasses.value],\n style: computedStyle.value\n }, unref(computedLinkProps), {\n type: unref(props).button && !unref(computedLink) ? unref(props).buttonType : void 0,\n disabled: unref(props).disabled || null,\n variant: null,\n onClick: clicked\n }), {\n default: withCtx(() => [\n hasDefaultSlot.value ? (openBlock(), createElementBlock(\"span\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\")\n ])) : !!localSrc.value ? (openBlock(), createElementBlock(\"span\", _hoisted_2, [\n createElementVNode(\"img\", {\n src: localSrc.value,\n alt: unref(props).alt,\n onError: onImgError\n }, null, 40, _hoisted_3)\n ])) : !!unref(props).text ? (openBlock(), createElementBlock(\"span\", {\n key: 2,\n class: \"b-avatar-text\",\n style: normalizeStyle(textFontStyle.value)\n }, toDisplayString(unref(props).text), 5)) : (openBlock(), createElementBlock(\"span\", _hoisted_4, _cache[0] || (_cache[0] = [\n createElementVNode(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"80%\",\n height: \"80%\",\n fill: \"currentColor\",\n class: \"bi bi-person-fill\",\n viewBox: \"0 0 16 16\"\n }, [\n createElementVNode(\"path\", { d: \"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" })\n ], -1)\n ]))),\n showBadge.value ? (openBlock(), createBlock(_sfc_main$3, {\n key: 4,\n pill: unref(props).badgePill,\n \"dot-indicator\": unref(props).badgeDotIndicator || badgeImplicitlyDot.value,\n variant: unref(props).badgeVariant,\n \"bg-variant\": unref(props).badgeBgVariant,\n \"text-variant\": unref(props).badgeTextVariant,\n style: normalizeStyle(badgeStyle.value),\n placement: unref(props).badgePlacement\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"badge\", {}, () => [\n createTextVNode(toDisplayString(badgeText.value), 1)\n ])\n ]),\n _: 3\n }, 8, [\"pill\", \"dot-indicator\", \"variant\", \"bg-variant\", \"text-variant\", \"style\", \"placement\"])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 16, [\"class\", \"style\", \"type\", \"disabled\"]);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BAvatarGroup\",\n props: {\n overlap: { default: 0.3 },\n size: { default: void 0 },\n square: { type: Boolean, default: false },\n tag: { default: \"div\" },\n variant: { default: null },\n bgVariant: { default: null },\n textVariant: { default: null },\n rounded: { type: [Boolean, String, Number], default: \"circle\" },\n roundedTop: { type: [Boolean, String, Number], default: void 0 },\n roundedBottom: { type: [Boolean, String, Number], default: void 0 },\n roundedStart: { type: [Boolean, String, Number], default: void 0 },\n roundedEnd: { type: [Boolean, String, Number], default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BAvatarGroup\");\n const overlapNumber = useToNumber(() => props.overlap);\n const computedSize = useNumberishToStyle(() => props.size);\n const overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2);\n const paddingStyle = computed(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null;\n return value ? { paddingLeft: value, paddingRight: value } : {};\n });\n provide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant)\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: \"b-avatar-group\",\n role: \"group\"\n }, {\n default: withCtx(() => [\n createElementVNode(\"div\", {\n class: \"b-avatar-group-inner\",\n style: normalizeStyle(paddingStyle.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 4)\n ]),\n _: 3\n });\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-DGkjFwcd.mjs.map\n","import { defineComponent, computed, createElementBlock, openBlock, normalizeClass, createBlock, resolveDynamicComponent, mergeProps, withCtx, renderSlot, createTextVNode, toDisplayString, unref, createElementVNode, Fragment, renderList } from \"vue\";\nimport { useBreadcrumb } from \"./src/composables/useBreadcrumb/index.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { p as pick } from \"./object-0ALvRU0O.mjs\";\nimport { _ as _sfc_main$2 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BBreadcrumbItem\",\n props: {\n ariaCurrent: { default: \"location\" },\n text: { default: void 0 },\n active: { type: Boolean, default: false },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: void 0 }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BBreadcrumbItem\");\n const emit = __emit;\n const computedClasses = computed(() => ({\n active: props.active\n }));\n const computedTag = computed(() => props.active ? \"span\" : _sfc_main$2);\n const computedAriaCurrent = computed(() => props.active ? props.ariaCurrent : void 0);\n const computedLinkProps = computed(\n () => computedTag.value !== \"span\" ? pick(props, [\n \"active\",\n \"activeClass\",\n \"append\",\n \"disabled\",\n \"href\",\n \"rel\",\n \"replace\",\n \"routerComponentName\",\n \"target\",\n \"to\",\n \"variant\",\n \"opacity\",\n \"opacityHover\",\n \"underlineVariant\",\n \"underlineOffset\",\n \"underlineOffsetHover\",\n \"underlineOpacity\",\n \"underlineOpacityHover\",\n \"icon\"\n ]) : {}\n );\n const clicked = (e) => {\n if (props.disabled || props.active) {\n e.preventDefault();\n e.stopImmediatePropagation();\n return;\n }\n if (!props.disabled) emit(\"click\", e);\n };\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", {\n class: normalizeClass([\"breadcrumb-item\", computedClasses.value])\n }, [\n (openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({ \"aria-current\": computedAriaCurrent.value }, computedLinkProps.value, { onClick: clicked }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 16, [\"aria-current\"]))\n ], 2);\n };\n }\n});\nconst _hoisted_1 = [\"id\"];\nconst _hoisted_2 = { class: \"breadcrumb\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BBreadcrumb\",\n props: {\n items: { default: void 0 },\n id: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BBreadcrumb\");\n const breadcrumb = useBreadcrumb(() => props.id || null);\n const breadcrumbItemObjects = computed(() => {\n const localItems = props.items || breadcrumb.items?.value || [];\n let activeDefined = false;\n const items = localItems.map((item, idx) => {\n if (typeof item === \"string\") {\n item = { text: item };\n if (idx < localItems.length - 1) item.href = \"#\";\n }\n if (item.active) activeDefined = true;\n if (!item.active && !activeDefined) {\n item.active = idx + 1 === localItems.length;\n }\n return item;\n });\n return items;\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"nav\", {\n id: unref(props).id,\n \"aria-label\": \"breadcrumb\"\n }, [\n createElementVNode(\"ol\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"prepend\"),\n (openBlock(true), createElementBlock(Fragment, null, renderList(breadcrumbItemObjects.value, (item, i) => {\n return openBlock(), createBlock(_sfc_main$1, mergeProps({ key: i }, { ref_for: true }, item), {\n default: withCtx(() => [\n createTextVNode(toDisplayString(item.text), 1)\n ]),\n _: 2\n }, 1040);\n }), 128)),\n renderSlot(_ctx.$slots, \"default\"),\n renderSlot(_ctx.$slots, \"append\")\n ])\n ], 8, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$1 as a\n};\n//# sourceMappingURL=BBreadcrumb.vue_vue_type_script_setup_true_lang-D6cRQgRH.mjs.map\n","const IS_BROWSER = typeof window !== \"undefined\" && typeof document !== \"undefined\" && typeof navigator !== \"undefined\";\nconst parseEventOptions = (options) => {\n const HAS_PASSIVE_EVENT_SUPPORT = (() => {\n let passiveEventSupported = false;\n if (IS_BROWSER) {\n try {\n const options2 = {\n // This function will be called when the browser\n // attempts to access the passive property\n get passive() {\n passiveEventSupported = true;\n return;\n }\n };\n WINDOW.addEventListener(\"test\", options2, options2);\n WINDOW.removeEventListener(\"test\", options2, options2);\n } catch {\n passiveEventSupported = false;\n }\n }\n return passiveEventSupported;\n })();\n if (HAS_PASSIVE_EVENT_SUPPORT) {\n return typeof options === \"object\" ? options : { capture: !!options || false };\n }\n return typeof options === \"object\" ? options.capture : options;\n};\nconst eventOn = (el, eventName, handler, options) => {\n if (el && el.addEventListener) {\n el.addEventListener(eventName, handler, parseEventOptions(options));\n }\n};\nconst eventOff = (el, eventName, handler, options) => {\n if (el && el.removeEventListener) {\n el.removeEventListener(eventName, handler, options);\n }\n};\nconst eventOnOff = (on, eventParams) => {\n const method = on ? eventOn : eventOff;\n method(...eventParams);\n};\nconst stopEvent = (event, { preventDefault = true, propagation = false, immediatePropagation = false } = {}) => {\n if (preventDefault) {\n event.preventDefault();\n }\n if (propagation) {\n event.stopPropagation();\n }\n if (immediatePropagation) {\n event.stopImmediatePropagation();\n }\n};\nexport {\n eventOnOff as e,\n stopEvent as s\n};\n//# sourceMappingURL=event-a_bi5ysw.mjs.map\n","import { defineComponent, provide, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot, useTemplateRef, createElementBlock, nextTick } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { b as buttonGroupKey } from \"./keys-BLeKMItg.mjs\";\nimport { C as CODE_LEFT, a as CODE_UP, b as CODE_RIGHT, c as CODE_DOWN, m as CODE_HOME, n as CODE_END } from \"./constants-Cx335y3L.mjs\";\nimport { s as stopEvent } from \"./event-a_bi5ysw.mjs\";\nimport { g as getActiveElement } from \"./dom-DVb-f0ZG.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BButtonGroup\",\n props: {\n ariaLabel: { default: \"Group\" },\n size: { default: \"md\" },\n tag: { default: \"div\" },\n vertical: { type: Boolean, default: false }\n },\n setup(__props) {\n provide(buttonGroupKey, true);\n const _props = __props;\n const props = useDefaults(_props, \"BButtonGroup\");\n const computedClasses = computed(() => ({\n \"btn-group\": !props.vertical,\n [`btn-group-${props.size}`]: props.size !== \"md\",\n \"btn-group-vertical\": props.vertical\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(computedClasses.value),\n role: \"group\",\n \"aria-label\": unref(props).ariaLabel\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\", \"aria-label\"]);\n };\n }\n});\nconst _hoisted_1 = [\"role\", \"aria-label\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BButtonToolbar\",\n props: {\n ariaLabel: { default: \"Group\" },\n keyNav: { type: Boolean, default: false },\n justify: { type: Boolean, default: false },\n role: { default: \"toolbar\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BButtonToolbar\");\n const toolbarRef = useTemplateRef(\"toolbarRef\");\n const computedClasses = computed(() => ({\n \"justify-content-between\": props.justify\n }));\n const getFocusableElements = () => {\n if (!toolbarRef.value) return [];\n const selector = 'button:not(:disabled), [href]:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex=\"-1\"]):not(:disabled)';\n const elements = Array.from(toolbarRef.value.querySelectorAll(selector));\n return elements.filter((el) => {\n const style = window.getComputedStyle(el);\n return style.display !== \"none\" && style.visibility !== \"hidden\";\n });\n };\n const isDisabled = (element) => element.hasAttribute(\"disabled\") || element.getAttribute(\"aria-disabled\") === \"true\";\n const focusFirst = () => {\n nextTick(() => {\n const elements = getFocusableElements();\n const firstEnabled = elements.find((el) => !isDisabled(el));\n firstEnabled?.focus();\n });\n };\n const focusLast = () => {\n nextTick(() => {\n const elements = getFocusableElements();\n const lastEnabled = elements.reverse().find((el) => !isDisabled(el));\n lastEnabled?.focus();\n });\n };\n const focusPrev = () => {\n nextTick(() => {\n const elements = getFocusableElements();\n const activeElement = getActiveElement();\n const currentIndex = elements.indexOf(activeElement);\n if (currentIndex > 0) {\n for (let i = currentIndex - 1; i >= 0; i--) {\n if (!isDisabled(elements[i])) {\n elements[i]?.focus();\n break;\n }\n }\n }\n });\n };\n const focusNext = () => {\n nextTick(() => {\n const elements = getFocusableElements();\n const activeElement = getActiveElement();\n const currentIndex = elements.indexOf(activeElement);\n if (currentIndex < elements.length - 1) {\n for (let i = currentIndex + 1; i < elements.length; i++) {\n if (!isDisabled(elements[i])) {\n elements[i]?.focus();\n break;\n }\n }\n }\n });\n };\n const handleKeyNav = (event) => {\n if (!props.keyNav) return;\n const { code, shiftKey } = event;\n if (code === CODE_LEFT || code === CODE_UP) {\n stopEvent(event);\n if (shiftKey) {\n focusFirst();\n } else {\n focusPrev();\n }\n } else if (code === CODE_RIGHT || code === CODE_DOWN) {\n stopEvent(event);\n if (shiftKey) {\n focusLast();\n } else {\n focusNext();\n }\n } else if (code === CODE_HOME) {\n stopEvent(event);\n focusFirst();\n } else if (code === CODE_END) {\n stopEvent(event);\n focusLast();\n }\n };\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref_key: \"toolbarRef\",\n ref: toolbarRef,\n class: normalizeClass([computedClasses.value, \"btn-toolbar\"]),\n role: unref(props).role,\n \"aria-label\": unref(props).ariaLabel,\n onKeydown: handleKeyNav\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 42, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BButtonToolbar.vue_vue_type_script_setup_true_lang-CxCcFupr.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useRadiusElementClasses } from \"./useRadiusElementClasses-DtKYQuWz.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BImg\",\n props: {\n blank: { type: Boolean, default: false },\n blankColor: { default: \"transparent\" },\n block: { type: Boolean, default: false },\n fluid: { type: Boolean, default: false },\n fluidGrow: { type: Boolean, default: false },\n height: { default: void 0 },\n tag: { default: \"img\" },\n lazy: { type: Boolean, default: false },\n sizes: { default: void 0 },\n src: { default: void 0 },\n srcset: { default: void 0 },\n thumbnail: { type: Boolean, default: false },\n width: { default: void 0 },\n placement: { default: void 0 },\n rounded: { type: [Boolean, String, Number], default: false },\n roundedTop: { type: [Boolean, String, Number], default: void 0 },\n roundedBottom: { type: [Boolean, String, Number], default: void 0 },\n roundedStart: { type: [Boolean, String, Number], default: void 0 },\n roundedEnd: { type: [Boolean, String, Number], default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BImg\");\n const heightNumber = useToNumber(() => props.height ?? Number.NaN);\n const widthNumber = useToNumber(() => props.width ?? Number.NaN);\n const radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: props.rounded,\n roundedTop: props.roundedTop,\n roundedBottom: props.roundedBottom,\n roundedStart: props.roundedStart,\n roundedEnd: props.roundedEnd\n }));\n const computedSrcset = computed(\n () => typeof props.srcset === \"string\" ? props.srcset.split(\",\").filter((x) => x).join(\",\") : Array.isArray(props.srcset) ? props.srcset.filter((x) => x).join(\",\") : void 0\n );\n const computedSizes = computed(\n () => typeof props.sizes === \"string\" ? props.sizes.split(\",\").filter((x) => x).join(\",\") : Array.isArray(props.sizes) ? props.sizes.filter((x) => x).join(\",\") : void 0\n );\n const computedDimentions = computed(() => {\n const width = Number.isNaN(widthNumber.value) ? void 0 : widthNumber.value;\n const height = Number.isNaN(heightNumber.value) ? void 0 : heightNumber.value;\n if (props.blank) {\n if (width !== void 0 && height === void 0) return { height: width, width };\n if (width === void 0 && height !== void 0) return { height, width: height };\n if (width === void 0 && height === void 0) return { height: 1, width: 1 };\n }\n return {\n width,\n height\n };\n });\n const computedBlankImgSrc = computed(\n () => makeBlankImgSrc(computedDimentions.value.width, computedDimentions.value.height, props.blankColor)\n );\n const computedAlignment = computed(() => ({\n \"float-start\": props.placement === \"start\",\n \"float-end\": props.placement === \"end\",\n \"mx-auto\": props.placement === \"center\"\n }));\n const computedClasses = computed(() => [\n radiusElementClasses.value,\n computedAlignment.value,\n {\n \"img-thumbnail\": props.thumbnail,\n \"img-fluid\": props.fluid || props.fluidGrow,\n \"w-100\": props.fluidGrow,\n \"d-block\": props.block || props.placement === \"center\"\n }\n ]);\n const makeBlankImgSrc = (width, height, color) => `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(`<svg width=\"${width}\" height=\"${height}\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${width} ${height}\" preserveAspectRatio=\"none\">\n <rect width=\"100%\" height=\"100%\" style=\"fill:${color};\"></rect>\n </svg>`)}`;\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([computedClasses.value, \"b-img\"]),\n src: !unref(props).blank ? unref(props).src : computedBlankImgSrc.value,\n width: computedDimentions.value.width || void 0,\n height: computedDimentions.value.height || void 0,\n srcset: !unref(props).blank ? computedSrcset.value : void 0,\n sizes: !unref(props).blank ? computedSizes.value : void 0,\n loading: unref(props).lazy ? \"lazy\" : \"eager\"\n }, null, 8, [\"class\", \"src\", \"width\", \"height\", \"srcset\", \"sizes\", \"loading\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BImg.vue_vue_type_script_setup_true_lang-DFoA1dqz.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, mergeProps, resolveDynamicComponent, normalizeClass, unref, withCtx, renderSlot, createTextVNode, toDisplayString, useSlots, createCommentVNode, createVNode, normalizeProps } from \"vue\";\nimport { i as isEmptySlot } from \"./dom-DVb-f0ZG.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { _ as _sfc_main$8 } from \"./BImg.vue_vue_type_script_setup_true_lang-DFoA1dqz.mjs\";\nimport { o as omit } from \"./object-0ALvRU0O.mjs\";\nimport { i as createReusableTemplate } from \"./index-C0p9vHHI.mjs\";\nconst _sfc_main$7 = /* @__PURE__ */ defineComponent({\n __name: \"BCardImg\",\n props: {\n placement: { default: \"top\" },\n blank: { type: Boolean, default: void 0 },\n blankColor: { default: void 0 },\n block: { type: Boolean, default: void 0 },\n fluid: { type: Boolean, default: void 0 },\n fluidGrow: { type: Boolean, default: void 0 },\n height: { default: void 0 },\n tag: {},\n lazy: { type: Boolean, default: void 0 },\n sizes: { default: void 0 },\n src: { default: void 0 },\n srcset: { default: void 0 },\n thumbnail: { type: Boolean, default: void 0 },\n width: { default: void 0 },\n rounded: { type: [Boolean, String, Number], default: void 0 },\n roundedTop: { type: [Boolean, String, Number], default: void 0 },\n roundedBottom: { type: [Boolean, String, Number], default: void 0 },\n roundedStart: { type: [Boolean, String, Number], default: void 0 },\n roundedEnd: { type: [Boolean, String, Number], default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardImg\");\n const baseAlignmentClasses = computed(() => ({\n \"card-img-top\": props.placement === \"top\",\n // TODO implement this class\n \"card-img-end\": props.placement === \"end\",\n \"card-img-bottom\": props.placement === \"bottom\",\n // TODO implement this class\n \"card-img-start\": props.placement === \"start\",\n \"card-img\": props.placement === \"overlay\"\n }));\n const computedImgProps = computed(() => omit(props, [\"placement\"]));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$8, mergeProps(computedImgProps.value, { class: baseAlignmentClasses.value }), null, 16, [\"class\"]);\n };\n }\n});\nconst _sfc_main$6 = /* @__PURE__ */ defineComponent({\n __name: \"BCardHeadFoot\",\n props: {\n borderVariant: { default: null },\n tag: { default: \"div\" },\n text: { default: void 0 },\n variant: { default: null },\n bgVariant: { default: null },\n textVariant: { default: null }\n },\n setup(__props) {\n const props = __props;\n const computedClasses = useColorVariantClasses(props);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {\n class: normalizeClass(unref(computedClasses))\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(_ctx.text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main$5 = /* @__PURE__ */ defineComponent({\n __name: \"BCardHeader\",\n props: {\n borderVariant: { default: void 0 },\n tag: { default: \"div\" },\n text: { default: void 0 },\n variant: { default: void 0 },\n bgVariant: { default: void 0 },\n textVariant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardHeader\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$6, mergeProps({ class: \"card-header\" }, unref(props)), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16);\n };\n }\n});\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n __name: \"BCardTitle\",\n props: {\n tag: { default: \"h4\" },\n text: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardTitle\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { class: \"card-title\" }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n });\n };\n }\n});\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n __name: \"BCardSubtitle\",\n props: {\n text: { default: void 0 },\n tag: { default: \"h6\" },\n textVariant: { default: \"body-secondary\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardSubtitle\");\n const computedClasses = useColorVariantClasses(props);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([\"card-subtitle mb-2\", unref(computedClasses)])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BCardBody\",\n props: {\n overlay: { type: Boolean, default: false },\n subtitle: { default: void 0 },\n subtitleTag: { default: \"h4\" },\n subtitleTextVariant: { default: void 0 },\n tag: { default: \"div\" },\n text: { default: void 0 },\n title: { default: void 0 },\n titleTag: { default: \"h4\" },\n variant: { default: null },\n bgVariant: { default: null },\n textVariant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardBody\");\n const slots = useSlots();\n const hasTitleSlot = computed(() => !isEmptySlot(slots.title));\n const hasSubtitleSlot = computed(() => !isEmptySlot(slots.subtitle));\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n props.overlay ? \"card-img-overlay\" : \"card-body\"\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n !!unref(props).title || hasTitleSlot.value ? (openBlock(), createBlock(_sfc_main$4, {\n key: 0,\n tag: unref(props).titleTag\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"title\", {}, () => [\n createTextVNode(toDisplayString(unref(props).title), 1)\n ])\n ]),\n _: 3\n }, 8, [\"tag\"])) : createCommentVNode(\"\", true),\n !!unref(props).subtitle || hasSubtitleSlot.value ? (openBlock(), createBlock(_sfc_main$3, {\n key: 1,\n tag: unref(props).subtitleTag,\n \"text-variant\": unref(props).subtitleTextVariant\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"subtitle\", {}, () => [\n createTextVNode(toDisplayString(unref(props).subtitle), 1)\n ])\n ]),\n _: 3\n }, 8, [\"tag\", \"text-variant\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BCardFooter\",\n props: {\n borderVariant: { default: void 0 },\n tag: { default: \"div\" },\n text: { default: void 0 },\n variant: { default: void 0 },\n bgVariant: { default: void 0 },\n textVariant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardFooter\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$6, mergeProps({ class: \"card-footer\" }, unref(props)), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 16);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BCard\",\n props: {\n align: { default: void 0 },\n bodyBgVariant: { default: void 0 },\n bodyClass: { default: void 0 },\n bodyTag: { default: \"div\" },\n bodyText: { default: \"\" },\n bodyTextVariant: { default: void 0 },\n borderVariant: { default: null },\n footer: { default: void 0 },\n footerBgVariant: { default: void 0 },\n footerBorderVariant: { default: void 0 },\n footerClass: { default: void 0 },\n footerTag: { default: \"div\" },\n footerTextVariant: { default: void 0 },\n footerVariant: { default: null },\n header: { default: void 0 },\n headerBgVariant: { default: void 0 },\n headerBorderVariant: { default: void 0 },\n headerClass: { default: void 0 },\n headerTag: { default: \"div\" },\n headerTextVariant: { default: void 0 },\n headerVariant: { default: null },\n imgAlt: { default: void 0 },\n imgPlacement: { default: \"top\" },\n imgHeight: { default: void 0 },\n imgSrc: { default: void 0 },\n imgWidth: { default: void 0 },\n noBody: { type: Boolean, default: false },\n subtitle: { default: void 0 },\n subtitleTag: { default: \"h6\" },\n subtitleTextVariant: { default: \"body-secondary\" },\n tag: { default: \"div\" },\n title: { default: void 0 },\n titleTag: { default: \"h4\" },\n variant: { default: null },\n bgVariant: { default: null },\n textVariant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCard\");\n const slots = useSlots();\n const hasHeaderSlot = computed(() => !isEmptySlot(slots.header));\n const hasFooterSlot = computed(() => !isEmptySlot(slots.footer));\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n [`text-${props.align}`]: props.align !== void 0,\n \"flex-row\": props.imgPlacement === \"start\",\n \"flex-row-reverse\": props.imgPlacement === \"end\"\n }\n ]);\n const imgAttr = computed(() => ({\n src: props.imgSrc,\n alt: props.imgAlt,\n height: props.imgHeight,\n width: props.imgWidth,\n placement: props.imgPlacement\n }));\n const ReusableImg = createReusableTemplate();\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([\"card\", computedClasses.value])\n }, {\n default: withCtx(() => [\n createVNode(unref(ReusableImg).define, null, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"img\", {}, () => [\n unref(props).imgSrc ? (openBlock(), createBlock(_sfc_main$7, normalizeProps(mergeProps({ key: 0 }, imgAttr.value)), null, 16)) : createCommentVNode(\"\", true)\n ])\n ]),\n _: 3\n }),\n unref(props).imgPlacement !== \"bottom\" ? (openBlock(), createBlock(unref(ReusableImg).reuse, { key: 0 })) : createCommentVNode(\"\", true),\n unref(props).header || hasHeaderSlot.value ? (openBlock(), createBlock(_sfc_main$5, {\n key: 1,\n \"bg-variant\": unref(props).headerBgVariant,\n variant: unref(props).headerVariant,\n \"border-variant\": unref(props).headerBorderVariant,\n tag: unref(props).headerTag,\n \"text-variant\": unref(props).headerTextVariant,\n class: normalizeClass(unref(props).headerClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"header\", {}, () => [\n createTextVNode(toDisplayString(unref(props).header), 1)\n ])\n ]),\n _: 3\n }, 8, [\"bg-variant\", \"variant\", \"border-variant\", \"tag\", \"text-variant\", \"class\"])) : createCommentVNode(\"\", true),\n !unref(props).noBody ? (openBlock(), createBlock(_sfc_main$2, {\n key: 2,\n overlay: unref(props).imgPlacement === \"overlay\",\n \"bg-variant\": unref(props).bodyBgVariant,\n tag: unref(props).bodyTag,\n \"text-variant\": unref(props).bodyTextVariant,\n subtitle: unref(props).subtitle,\n \"subtitle-tag\": unref(props).subtitleTag,\n \"subtitle-text-variant\": unref(props).subtitleTextVariant,\n title: unref(props).title,\n \"title-tag\": unref(props).titleTag,\n class: normalizeClass(unref(props).bodyClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).bodyText), 1)\n ])\n ]),\n _: 3\n }, 8, [\"overlay\", \"bg-variant\", \"tag\", \"text-variant\", \"subtitle\", \"subtitle-tag\", \"subtitle-text-variant\", \"title\", \"title-tag\", \"class\"])) : renderSlot(_ctx.$slots, \"default\", { key: 3 }, () => [\n createTextVNode(toDisplayString(unref(props).bodyText), 1)\n ]),\n unref(props).footer || hasFooterSlot.value ? (openBlock(), createBlock(_sfc_main$1, {\n key: 4,\n \"bg-variant\": unref(props).footerBgVariant,\n \"border-variant\": unref(props).footerBorderVariant,\n variant: unref(props).footerVariant,\n tag: unref(props).footerTag,\n \"text-variant\": unref(props).footerTextVariant,\n class: normalizeClass(unref(props).footerClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"footer\", {}, () => [\n createTextVNode(toDisplayString(unref(props).footer), 1)\n ])\n ]),\n _: 3\n }, 8, [\"bg-variant\", \"border-variant\", \"variant\", \"tag\", \"text-variant\", \"class\"])) : createCommentVNode(\"\", true),\n unref(props).imgPlacement === \"bottom\" ? (openBlock(), createBlock(unref(ReusableImg).reuse, { key: 5 })) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$2 as a,\n _sfc_main$1 as b,\n _sfc_main$5 as c,\n _sfc_main$7 as d,\n _sfc_main$3 as e,\n _sfc_main$4 as f\n};\n//# sourceMappingURL=BCard.vue_vue_type_script_setup_true_lang-BjoxuViz.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot, createTextVNode, toDisplayString } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BCardGroup\",\n props: {\n columns: { type: Boolean, default: false },\n deck: { type: Boolean, default: false },\n tag: { default: \"div\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardGroup\");\n const cardTypeClass = computed(\n () => props.deck ? \"card-deck\" : props.columns ? \"card-columns\" : \"card-group\"\n );\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(cardTypeClass.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BCardText\",\n props: {\n tag: { default: \"p\" },\n text: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardText\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { class: \"card-text\" }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n });\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BCardText.vue_vue_type_script_setup_true_lang-SRGbviaO.mjs.map\n","import { defineComponent, mergeModels, useSlots, useModel, useTemplateRef, ref, onMounted, computed, watch, provide, toRef, createElementBlock, openBlock, normalizeClass, unref, createCommentVNode, createElementVNode, Fragment, renderList, createVNode, TransitionGroup, withCtx, withDirectives, createBlock, resolveDynamicComponent, normalizeStyle, vShow, toDisplayString, inject, renderSlot } from \"vue\";\nimport { b as BvCarouselEvent } from \"./classes-BW_GpXTu.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { k as useElementHover, l as useSwipe, o as onKeyStroke } from \"./index-C0p9vHHI.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as carouselInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { g as useIntervalFn, u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nimport { _ as _sfc_main$2 } from \"./BImg.vue_vue_type_script_setup_true_lang-DFoA1dqz.mjs\";\nimport { i as isEmptySlot } from \"./dom-DVb-f0ZG.mjs\";\nconst getSlotElements = (slot, filterBy) => (slot?.() ?? []).reduce((arr, slot2) => {\n if (typeof slot2.type === \"symbol\") {\n arr = arr.concat(slot2.children);\n } else {\n arr.push(slot2);\n }\n return arr;\n}, []).filter((child) => child.type?.__name === filterBy);\nconst _hoisted_1$1 = [\"id\"];\nconst _hoisted_2 = [\"aria-label\", \"aria-owns\"];\nconst _hoisted_3 = [\"aria-current\", \"aria-label\", \"aria-controls\", \"aria-describedby\", \"onClick\"];\nconst _hoisted_4 = {\n ref: \"_relatedTarget\",\n class: \"carousel-inner\"\n};\nconst _hoisted_5 = { class: \"visually-hidden\" };\nconst _hoisted_6 = { class: \"visually-hidden\" };\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BCarousel\",\n props: /* @__PURE__ */ mergeModels({\n background: { default: void 0 },\n controls: { type: Boolean, default: false },\n controlsNextText: { default: \"Next\" },\n controlsPrevText: { default: \"Previous\" },\n fade: { type: Boolean, default: false },\n id: { default: void 0 },\n imgHeight: { default: void 0 },\n imgWidth: { default: void 0 },\n indicators: { type: Boolean, default: false },\n indicatorsButtonLabel: { default: \"Slide\" },\n interval: { default: 5e3 },\n labelIndicators: { default: \"Select a slide to display\" },\n keyboard: { type: Boolean, default: true },\n noAnimation: { type: Boolean, default: false },\n noHoverPause: { type: Boolean, default: false },\n noTouch: { type: Boolean, default: false },\n noWrap: { type: Boolean, default: false },\n ride: { type: [Boolean, String], default: false },\n rideReverse: { type: Boolean, default: false },\n touchThreshold: { default: 50 }\n }, {\n \"modelValue\": { default: 0 },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"slide\", \"slid\", \"prev-click\", \"next-click\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BCarousel\");\n const emit = __emit;\n const slots = useSlots();\n const computedId = useId(() => props.id, \"carousel\");\n const buttonOwnership = useId(void 0, \"carousel-button-ownership\");\n const modelValue = useModel(__props, \"modelValue\");\n const slideValues = useTemplateRef(\"_slideValues\");\n const touchThresholdNumber = useToNumber(() => props.touchThreshold);\n const slideInterval = ref(null);\n onMounted(() => {\n slideInterval.value = slideValues.value?.find((slid) => slid.$el.style.display !== \"none\")?._interval ?? null;\n });\n const intervalNumber = useToNumber(() => slideInterval.value ?? props.interval);\n const isTransitioning = ref(false);\n const rideStarted = ref(false);\n const direction = ref(true);\n const relatedTarget = useTemplateRef(\"_relatedTarget\");\n const element = useTemplateRef(\"_element\");\n const previousModelValue = ref(modelValue.value);\n const isHovering = useElementHover(element);\n const enterClasses = computed(\n () => `carousel-item carousel-item-${!direction.value ? \"next\" : \"prev\"} carousel-item-${!direction.value ? \"start\" : \"end\"}`\n );\n const leaveClasses = computed(\n () => `carousel-item active carousel-item-${direction.value ? \"start\" : \"end\"}`\n );\n const { pause, resume } = useIntervalFn(\n () => {\n if (props.rideReverse) {\n prev();\n return;\n }\n next();\n },\n intervalNumber,\n { immediate: props.ride === \"carousel\" }\n );\n const isRiding = computed(\n () => props.ride === true && rideStarted.value === true || props.ride === \"carousel\"\n );\n const slides = computed(() => getSlotElements(slots.default, \"BCarouselSlide\"));\n const computedClasses = computed(() => ({ \"carousel-fade\": props.fade }));\n const buildBvCarouselEvent = (event) => new BvCarouselEvent(event, {\n componentId: computedId.value,\n cancelable: false,\n target: element.value,\n direction: direction.value ? \"right\" : \"left\",\n from: previousModelValue.value,\n to: modelValue.value,\n relatedTarget: relatedTarget.value?.children[modelValue.value] ?? null\n });\n const goToValue = (value) => {\n if (isTransitioning.value === true) return;\n if (props.ride === true) {\n rideStarted.value = true;\n }\n if (isRiding.value === true) {\n resume();\n }\n direction.value = value < modelValue.value ? false : true;\n if (value >= slides.value.length) {\n if (props.noWrap) return;\n modelValue.value = 0;\n return;\n }\n if (value < 0) {\n if (props.noWrap) return;\n modelValue.value = slides.value.length - 1;\n return;\n }\n previousModelValue.value = modelValue.value;\n modelValue.value = value;\n };\n const prev = () => {\n goToValue(modelValue.value - 1);\n };\n const next = () => {\n goToValue(modelValue.value + 1);\n };\n const onKeydown = (fn) => {\n if (props.keyboard === false) return;\n fn();\n };\n const onMouseEnter = () => {\n if (props.noHoverPause) return;\n pause();\n };\n const onMouseLeave = () => {\n if (!isRiding.value) return;\n resume();\n };\n const { lengthX } = useSwipe(element, {\n passive: true,\n onSwipeStart() {\n if (props.noTouch === true) return;\n pause();\n },\n onSwipeEnd() {\n if (props.noTouch === true) return;\n const resumeRiding = () => {\n if (isRiding.value === false) return;\n resume();\n };\n if (lengthX.value >= touchThresholdNumber.value) {\n next();\n resumeRiding();\n return;\n }\n if (lengthX.value <= -touchThresholdNumber.value) {\n prev();\n resumeRiding();\n }\n }\n });\n const onBeforeLeave = () => {\n emit(\"slide\", buildBvCarouselEvent(\"slide\"));\n isTransitioning.value = true;\n };\n const onAfterLeave = () => {\n emit(\"slid\", buildBvCarouselEvent(\"slid\"));\n isTransitioning.value = false;\n };\n const onAfterEnter = (el) => {\n if (modelValue.value !== 0) {\n el.classList.add(\"carousel-item\");\n }\n };\n const onEnter = (el) => {\n slideInterval.value = slideValues.value?.find((slid) => slid.$el === el)?._interval ?? null;\n };\n onKeyStroke(\n \"ArrowLeft\",\n () => {\n onKeydown(prev);\n },\n { target: element }\n );\n onKeyStroke(\n \"ArrowRight\",\n () => {\n onKeydown(next);\n },\n { target: element }\n );\n watch(\n () => props.ride,\n () => {\n rideStarted.value = false;\n }\n );\n watch(isHovering, (newValue) => {\n if (newValue) {\n onMouseEnter();\n return;\n }\n onMouseLeave();\n });\n const onClickPrev = (event) => {\n emit(\"prev-click\", event);\n if (event.defaultPrevented) return;\n prev();\n };\n const onClickNext = (event) => {\n emit(\"next-click\", event);\n if (event.defaultPrevented) return;\n next();\n };\n __expose({\n next,\n pause,\n prev,\n resume\n });\n provide(carouselInjectionKey, {\n background: toRef(() => props.background),\n width: toRef(() => props.imgWidth),\n height: toRef(() => props.imgHeight)\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: unref(computedId),\n ref: \"_element\",\n class: normalizeClass([\"carousel slide pointer-event\", computedClasses.value])\n }, [\n unref(props).indicators ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: \"carousel-indicators\",\n \"aria-label\": unref(props).labelIndicators,\n \"aria-owns\": unref(buttonOwnership)\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(slides.value.length, (_, i) => {\n return openBlock(), createElementBlock(\"button\", {\n key: i,\n type: \"button\",\n \"data-bs-target\": \"\",\n class: normalizeClass(i === modelValue.value ? \"active\" : \"\"),\n \"aria-current\": i === modelValue.value ? true : void 0,\n \"aria-label\": `${unref(props).indicatorsButtonLabel} ${i}`,\n \"aria-controls\": unref(buttonOwnership),\n \"aria-describedby\": slideValues.value?.[i]?._id,\n onClick: ($event) => goToValue(i)\n }, null, 10, _hoisted_3);\n }), 128))\n ], 8, _hoisted_2)) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", _hoisted_4, [\n createVNode(TransitionGroup, {\n \"enter-from-class\": enterClasses.value,\n \"enter-active-class\": enterClasses.value,\n \"enter-to-class\": enterClasses.value,\n \"leave-from-class\": leaveClasses.value,\n \"leave-active-class\": leaveClasses.value,\n \"leave-to-class\": leaveClasses.value,\n onBeforeLeave,\n onAfterLeave,\n onAfterEnter,\n onEnter\n }, {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(slides.value, (slide, i) => {\n return withDirectives((openBlock(), createBlock(resolveDynamicComponent(slide), {\n key: i,\n ref_for: true,\n ref: \"_slideValues\",\n class: normalizeClass({ active: i === modelValue.value && isTransitioning.value === false }),\n style: normalizeStyle(unref(props).noAnimation && { transition: \"none\" })\n }, null, 8, [\"class\", \"style\"])), [\n [vShow, i === modelValue.value]\n ]);\n }), 128))\n ]),\n _: 1\n }, 8, [\"enter-from-class\", \"enter-active-class\", \"enter-to-class\", \"leave-from-class\", \"leave-active-class\", \"leave-to-class\"])\n ], 512),\n unref(props).controls ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n createElementVNode(\"button\", {\n class: \"carousel-control-prev\",\n type: \"button\",\n onClick: onClickPrev\n }, [\n _cache[0] || (_cache[0] = createElementVNode(\"span\", {\n class: \"carousel-control-prev-icon\",\n \"aria-hidden\": \"true\"\n }, null, -1)),\n createElementVNode(\"span\", _hoisted_5, toDisplayString(unref(props).controlsPrevText), 1)\n ]),\n createElementVNode(\"button\", {\n class: \"carousel-control-next\",\n type: \"button\",\n onClick: onClickNext\n }, [\n _cache[1] || (_cache[1] = createElementVNode(\"span\", {\n class: \"carousel-control-next-icon\",\n \"aria-hidden\": \"true\"\n }, null, -1)),\n createElementVNode(\"span\", _hoisted_6, toDisplayString(unref(props).controlsNextText), 1)\n ])\n ], 64)) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1$1);\n };\n }\n});\nconst _hoisted_1 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BCarouselSlide\",\n props: {\n background: { default: void 0 },\n caption: { default: void 0 },\n captionTag: { default: \"h3\" },\n contentTag: { default: \"div\" },\n contentVisibleUp: { default: void 0 },\n id: { default: void 0 },\n imgAlt: { default: void 0 },\n imgBlank: { type: Boolean, default: false },\n imgBlankColor: { default: \"transparent\" },\n imgHeight: { default: void 0 },\n imgSrc: { default: void 0 },\n imgSrcset: { default: void 0 },\n imgWidth: { default: void 0 },\n interval: { default: void 0 },\n text: { default: void 0 },\n textTag: { default: \"p\" }\n },\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BCarouselSlide\");\n const slots = useSlots();\n const computedId = useId(() => props.id, \"carousel-slide\");\n const parentData = inject(carouselInjectionKey, null);\n const hasText = computed(() => props.text || !isEmptySlot(slots.text));\n const hasCaption = computed(() => props.caption || !isEmptySlot(slots.caption));\n const hasContent = computed(() => hasText.value || hasCaption.value || !isEmptySlot(slots.default));\n const computedStyle = computed(() => ({\n background: `${props.background || parentData?.background.value || \"rgb(171, 171, 171)\"} none repeat scroll 0% 0%`\n }));\n const computedContentClasses = computed(() => ({\n \"d-none\": props.contentVisibleUp !== void 0,\n [`d-${props.contentVisibleUp}-block`]: props.contentVisibleUp !== void 0\n }));\n __expose({\n _interval: toRef(() => props.interval),\n _id: computedId\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: unref(computedId),\n class: \"carousel-item\",\n style: normalizeStyle(computedStyle.value)\n }, [\n renderSlot(_ctx.$slots, \"img\", {}, () => [\n createVNode(_sfc_main$2, {\n class: \"d-block w-100\",\n alt: unref(props).imgAlt,\n srcset: unref(props).imgSrcset,\n src: unref(props).imgSrc,\n width: unref(props).imgWidth || unref(parentData)?.width.value,\n height: unref(props).imgHeight || unref(parentData)?.height.value,\n blank: unref(props).imgBlank,\n \"blank-color\": unref(props).imgBlankColor\n }, null, 8, [\"alt\", \"srcset\", \"src\", \"width\", \"height\", \"blank\", \"blank-color\"])\n ]),\n hasContent.value ? (openBlock(), createBlock(resolveDynamicComponent(unref(props).contentTag), {\n key: 0,\n class: normalizeClass([\"carousel-caption\", computedContentClasses.value])\n }, {\n default: withCtx(() => [\n hasCaption.value ? (openBlock(), createBlock(resolveDynamicComponent(unref(props).captionTag), { key: 0 }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"caption\", {}, () => [\n createElementVNode(\"span\", null, toDisplayString(unref(props).caption), 1)\n ])\n ]),\n _: 3\n })) : createCommentVNode(\"\", true),\n hasText.value ? (openBlock(), createBlock(resolveDynamicComponent(unref(props).textTag), { key: 1 }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"text\", {}, () => [\n createElementVNode(\"span\", null, toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n })) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"])) : createCommentVNode(\"\", true)\n ], 12, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BCarouselSlide.vue_vue_type_script_setup_true_lang-Cx8lSNLo.mjs.map\n","const getClasses = (props, els, propPrefix, classPrefix = propPrefix) => els.reduce((arr, prop) => {\n if (!props[prop]) return arr;\n arr.push(\n [classPrefix, prop.replace(propPrefix, \"\"), props[prop]].filter((e) => e && typeof e !== \"boolean\").join(\"-\").toLowerCase()\n );\n return arr;\n}, []);\nexport {\n getClasses as g\n};\n//# sourceMappingURL=getClasses-CsgNQabU.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot } from \"vue\";\nimport { g as getClasses } from \"./getClasses-CsgNQabU.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BCol\",\n props: {\n alignSelf: { default: void 0 },\n tag: { default: \"div\" },\n order: { default: void 0 },\n offset: { default: void 0 },\n cols: { default: void 0 },\n col: { type: Boolean, default: false },\n offsetSm: { default: void 0 },\n offsetMd: { default: void 0 },\n offsetLg: { default: void 0 },\n offsetXl: { default: void 0 },\n offsetXxl: { default: void 0 },\n orderSm: { default: void 0 },\n orderMd: { default: void 0 },\n orderLg: { default: void 0 },\n orderXl: { default: void 0 },\n orderXxl: { default: void 0 },\n sm: { type: [Boolean, Number, String], default: false },\n md: { type: [Boolean, Number, String], default: false },\n lg: { type: [Boolean, Number, String], default: false },\n xl: { type: [Boolean, Number, String], default: false },\n xxl: { type: [Boolean, Number, String], default: false }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCol\");\n const classList = computed(() => [\n ...getClasses(\n {\n sm: props.sm,\n md: props.md,\n lg: props.lg,\n xl: props.xl,\n xxl: props.xxl\n },\n [\"sm\", \"md\", \"lg\", \"xl\", \"xxl\"],\n \"col\"\n ),\n ...getClasses(\n {\n order: props.order,\n orderLg: props.orderLg,\n orderMd: props.orderMd,\n orderSm: props.orderSm,\n orderXl: props.orderXl,\n orderXxl: props.orderXxl\n },\n [\"order\", \"orderLg\", \"orderMd\", \"orderSm\", \"orderXl\", \"orderXxl\"],\n \"order\"\n ),\n ...getClasses(\n {\n offset: props.offset,\n offsetLg: props.offsetLg,\n offsetMd: props.offsetMd,\n offsetSm: props.offsetSm,\n offsetXl: props.offsetXl,\n offsetXxl: props.offsetXxl\n },\n [\"offset\", \"offsetLg\", \"offsetMd\", \"offsetSm\", \"offsetXl\", \"offsetXxl\"],\n \"offset\"\n )\n ]);\n const computedClasses = computed(() => [\n classList.value,\n {\n col: props.col || !classList.value.some((v) => v.startsWith(\"col-\")) && !props.cols,\n [`col-${props.cols}`]: props.cols !== void 0,\n [`offset-${props.offset}`]: props.offset !== void 0,\n [`order-${props.order}`]: props.order !== void 0,\n [`align-self-${props.alignSelf}`]: props.alignSelf !== void 0\n }\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BCol.vue_vue_type_script_setup_true_lang-D0xTJQ30.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BContainer\",\n props: {\n fluid: { type: [Boolean, String], default: false },\n gutterX: { default: void 0 },\n gutterY: { default: void 0 },\n tag: { default: \"div\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BContainer\");\n const computedClasses = computed(() => ({\n container: props.fluid === false,\n [`container-fluid`]: props.fluid === true,\n [`container-${props.fluid}`]: typeof props.fluid === \"string\",\n [`gx-${props.gutterX}`]: props.gutterX !== void 0,\n [`gy-${props.gutterY}`]: props.gutterY !== void 0\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BContainer.vue_vue_type_script_setup_true_lang-Bi1hGl0B.mjs.map\n","import { computed, toValue } from \"vue\";\nconst useAlignment = (align) => computed(() => {\n const value = toValue(align);\n return !value ? \"\" : `justify-content-${value}`;\n});\nexport {\n useAlignment as u\n};\n//# sourceMappingURL=useAlignment-Cw-9AVid.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot } from \"vue\";\nimport { g as getClasses } from \"./getClasses-CsgNQabU.mjs\";\nimport { u as useAlignment } from \"./useAlignment-Cw-9AVid.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BRow\",\n props: {\n tag: { default: \"div\" },\n gutterX: { default: void 0 },\n gutterY: { default: void 0 },\n noGutters: { type: Boolean, default: false },\n alignV: { default: void 0 },\n alignH: { default: void 0 },\n alignContent: { default: void 0 },\n cols: { default: void 0 },\n colsSm: { default: void 0 },\n colsMd: { default: void 0 },\n colsLg: { default: void 0 },\n colsXl: { default: void 0 },\n colsXxl: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BRow\");\n const alignment = useAlignment(() => props.alignH);\n const rowColsClasses = computed(\n () => getClasses(\n {\n cols: props.cols,\n colsLg: props.colsLg,\n colsMd: props.colsMd,\n colsSm: props.colsSm,\n colsXl: props.colsXl,\n colsXxl: props.colsXxl\n },\n [\"cols\", \"colsLg\", \"colsMd\", \"colsSm\", \"colsXl\", \"colsXxl\"],\n \"cols\",\n \"row-cols\"\n )\n );\n const computedClasses = computed(() => [\n rowColsClasses.value,\n {\n [`gx-${props.gutterX}`]: props.gutterX !== void 0,\n [`gy-${props.gutterY}`]: props.gutterY !== void 0,\n \"g-0\": props.noGutters,\n [`align-items-${props.alignV}`]: props.alignV !== void 0,\n [alignment.value]: props.alignH !== void 0,\n [`align-content-${props.alignContent}`]: props.alignContent !== void 0\n }\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([\"row\", computedClasses.value])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BRow.vue_vue_type_script_setup_true_lang-BDkBauhk.mjs.map\n","import { defineComponent, mergeModels, useModel, inject, computed, useTemplateRef, ref, toRef, watch, provide, createBlock, openBlock, unref, normalizeClass, withCtx, createVNode, createCommentVNode, renderSlot, createTextVNode, toDisplayString, createElementVNode, Transition, mergeProps, withDirectives, normalizeStyle, vShow, nextTick } from \"vue\";\nimport { i as isBoundary, a as isRootBoundary, o as offset, f as flip, s as shift, b as size, u as useFloating, r as resolveBootstrapCaret, c as autoUpdate } from \"./floatingUi-BBabBWxD.mjs\";\nimport { o as onKeyStroke, a as onClickOutside } from \"./index-C0p9vHHI.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { _ as _sfc_main$2 } from \"./BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nimport { _ as _sfc_main$3 } from \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport { g as getElement } from \"./getElement-DrDVR-jO.mjs\";\nimport { i as inputGroupKey, b as buttonGroupKey, d as dropdownInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useShowHide } from \"./useShowHide-717t6y_D.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst _hoisted_1 = { class: \"visually-hidden\" };\nconst _hoisted_2 = [\"id\", \"aria-labelledby\", \"role\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BDropdown\",\n props: /* @__PURE__ */ mergeModels({\n ariaLabel: { default: void 0 },\n autoClose: { type: [Boolean, String], default: true },\n boundary: { default: \"clippingAncestors\" },\n boundaryPadding: { default: void 0 },\n disabled: { type: Boolean, default: false },\n floatingMiddleware: { default: void 0 },\n icon: { type: Boolean, default: false },\n id: { default: void 0 },\n isNav: { type: Boolean, default: false },\n menuClass: { default: void 0 },\n noCaret: { type: Boolean, default: false },\n noFlip: { type: Boolean, default: false },\n noShift: { type: Boolean, default: false },\n noSize: { type: Boolean, default: false },\n offset: { default: 0 },\n role: { default: \"menu\" },\n size: { default: \"md\" },\n noWrapper: { type: Boolean, default: false },\n split: { type: Boolean, default: false },\n splitButtonType: { default: \"button\" },\n splitClass: { default: void 0 },\n splitDisabled: { type: Boolean, default: void 0 },\n splitHref: { default: void 0 },\n splitTo: { default: void 0 },\n splitVariant: { default: void 0 },\n strategy: { default: \"absolute\" },\n text: { default: void 0 },\n toggleClass: { default: void 0 },\n toggleText: { default: \"Toggle dropdown\" },\n variant: { default: \"secondary\" },\n wrapperClass: { default: void 0 },\n placement: { default: \"bottom-start\" },\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: void 0 },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean, default: false },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n show: { type: Boolean, default: false },\n transProps: { default: void 0 },\n visible: { type: Boolean, default: false }\n }, {\n \"modelValue\": { type: Boolean, ...{ default: false } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"split-click\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BDropdown\");\n const emit = __emit;\n const computedId = useId(() => props.id, \"dropdown\");\n const modelValue = useModel(__props, \"modelValue\");\n const inInputGroup = inject(inputGroupKey, false);\n const inButtonGroup = inject(buttonGroupKey, false);\n const computedOffset = computed(\n () => typeof props.offset === \"string\" || typeof props.offset === \"number\" ? props.offset : Number.NaN\n );\n const offsetToNumber = useToNumber(computedOffset);\n const floatingElement = useTemplateRef(\"_floating\");\n const button = useTemplateRef(\"_button\");\n const splitButton = useTemplateRef(\"_splitButton\");\n const boundary = computed(\n () => isBoundary(props.boundary) ? props.boundary : void 0\n );\n const rootBoundary = computed(\n () => isRootBoundary(props.boundary) ? props.boundary : void 0\n );\n const referenceElement = computed(() => !props.split ? splitButton.value : button.value);\n let cleanup;\n const {\n showRef,\n renderRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n transitionProps,\n contentShowing,\n isVisible\n } = useShowHide(modelValue, props, emit, referenceElement, computedId, {\n showFn: () => {\n update();\n nextTick(() => {\n cleanup = autoUpdate(\n referenceElement.value,\n floatingElement.value,\n update,\n {\n animationFrame: false\n }\n );\n });\n },\n hideFn: () => {\n if (cleanup) {\n cleanup();\n cleanup = void 0;\n }\n }\n });\n const computedMenuClasses = computed(() => [\n {\n show: isVisible.value,\n fade: !computedNoAnimation.value\n }\n ]);\n onKeyStroke(\n \"Escape\",\n () => {\n hide();\n getElement(referenceElement.value)?.focus();\n },\n { target: referenceElement }\n );\n onKeyStroke(\n \"Escape\",\n () => {\n hide();\n getElement(referenceElement.value)?.focus();\n },\n { target: floatingElement }\n );\n const keynav = (e, v) => {\n if (floatingElement.value?.contains(e.target?.closest(\"form\"))) return;\n if (/input|select|option|textarea|form/i.test(e.target?.tagName)) return;\n e.preventDefault();\n if (!showRef.value) {\n show();\n const loop = setInterval(() => {\n if (isVisible.value) {\n clearInterval(loop);\n nextTick(() => keynav(e, v));\n }\n }, 16);\n return;\n }\n const list = floatingElement.value?.querySelectorAll(\n \".dropdown-item:not(.disabled):not(:disabled)\"\n );\n if (!list) return;\n if (floatingElement.value?.contains(document.activeElement)) {\n const active = floatingElement.value.querySelector(\".dropdown-item:focus\");\n const index = Array.prototype.indexOf.call(list, active) + v;\n if (index >= 0 && index < list?.length) list[index]?.focus();\n } else {\n list[v === -1 ? list.length - 1 : 0]?.focus();\n }\n };\n onKeyStroke(\"ArrowUp\", (e) => keynav(e, -1), { target: referenceElement });\n onKeyStroke(\"ArrowDown\", (e) => keynav(e, 1), { target: referenceElement });\n onKeyStroke(\"ArrowUp\", (e) => keynav(e, -1), { target: floatingElement });\n onKeyStroke(\"ArrowDown\", (e) => keynav(e, 1), { target: floatingElement });\n const sizeStyles = ref({});\n const floatingMiddleware = computed(() => {\n if (props.floatingMiddleware !== void 0) {\n return props.floatingMiddleware;\n }\n const localOffset = typeof props.offset === \"string\" || typeof props.offset === \"number\" ? offsetToNumber.value : props.offset;\n const arr = [offset(localOffset)];\n if (props.noFlip === false) {\n arr.push(\n flip({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding\n })\n );\n }\n if (props.noShift === false) {\n arr.push(\n shift({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding\n })\n );\n }\n if (props.noSize === false) {\n arr.push(\n size({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n apply({ availableWidth, availableHeight }) {\n sizeStyles.value = {\n maxHeight: availableHeight >= (floatingElement.value?.scrollHeight ?? 0) ? void 0 : availableHeight ? `${Math.max(0, availableHeight)}px` : void 0,\n maxWidth: availableWidth >= (floatingElement.value?.scrollWidth ?? 0) ? void 0 : availableWidth ? `${Math.max(0, availableWidth)}px` : void 0\n };\n }\n })\n );\n }\n return arr;\n });\n const { update, floatingStyles } = useFloating(referenceElement, floatingElement, {\n placement: () => props.placement,\n middleware: floatingMiddleware,\n strategy: toRef(() => props.strategy)\n });\n const inButtonGroupAttributes = inButtonGroup ? {\n class: \"btn-group\",\n role: \"group\"\n } : void 0;\n const computedClasses = computed(() => [\n inButtonGroupAttributes?.class,\n props.wrapperClass,\n {\n \"btn-group\": !props.wrapperClass && props.split,\n [`drop${resolveBootstrapCaret(props.placement)}`]: !props.wrapperClass,\n \"position-static\": props.boundary !== \"clippingAncestors\" && !props.isNav\n }\n ]);\n const buttonClasses = computed(() => [\n props.split ? props.splitClass : props.toggleClass,\n {\n \"nav-link\": props.isNav,\n \"dropdown-toggle\": !props.split,\n \"dropdown-toggle-no-caret\": props.noCaret && !props.split,\n \"show\": props.split ? void 0 : showRef.value\n }\n ]);\n const onButtonClick = () => {\n toggle();\n };\n const onSplitClick = (event) => {\n if (props.split) {\n emit(\"split-click\", event);\n return;\n }\n onButtonClick();\n };\n onClickOutside(\n floatingElement,\n () => {\n if (showRef.value && (props.autoClose === true || props.autoClose === \"outside\")) {\n hide();\n }\n },\n { ignore: [button, splitButton] }\n );\n const onClickInside = () => {\n if (showRef.value && (props.autoClose === true || props.autoClose === \"inside\")) {\n hide();\n }\n };\n watch(isVisible, () => {\n update();\n });\n __expose({\n hide,\n show,\n toggle\n });\n provide(dropdownInjectionKey, {\n id: computedId,\n show,\n hide,\n toggle,\n visible: toRef(() => showRef.value),\n isNav: toRef(() => props.isNav)\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, {\n skip: unref(inInputGroup) || unref(props).noWrapper,\n class: normalizeClass(computedClasses.value),\n role: unref(inButtonGroupAttributes)?.role\n }, {\n default: withCtx(() => [\n createVNode(_sfc_main$2, {\n id: unref(computedId),\n ref: \"_splitButton\",\n variant: unref(props).splitVariant || unref(props).variant,\n size: unref(props).size,\n class: normalizeClass(buttonClasses.value),\n disabled: unref(props).splitDisabled || unref(props).disabled,\n type: unref(props).splitButtonType,\n \"aria-label\": unref(props).ariaLabel,\n \"aria-expanded\": unref(props).split ? void 0 : unref(showRef),\n \"aria-haspopup\": unref(props).split ? void 0 : \"menu\",\n href: unref(props).split ? unref(props).splitHref : void 0,\n icon: unref(props).icon,\n to: unref(props).split && unref(props).splitTo ? unref(props).splitTo : void 0,\n onClick: onSplitClick\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"button-content\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"variant\", \"size\", \"class\", \"disabled\", \"type\", \"aria-label\", \"aria-expanded\", \"aria-haspopup\", \"href\", \"icon\", \"to\"]),\n unref(props).split ? (openBlock(), createBlock(_sfc_main$2, {\n key: 0,\n id: unref(computedId) + \"-split\",\n ref: \"_button\",\n variant: unref(props).variant,\n size: unref(props).size,\n disabled: unref(props).disabled,\n class: normalizeClass([[unref(props).toggleClass, { show: unref(showRef) }], \"dropdown-toggle-split dropdown-toggle\"]),\n \"aria-expanded\": unref(showRef),\n \"aria-haspopup\": \"menu\",\n onClick: onButtonClick\n }, {\n default: withCtx(() => [\n createElementVNode(\"span\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"toggle-text\", {}, () => [\n createTextVNode(toDisplayString(unref(props).toggleText), 1)\n ])\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"variant\", \"size\", \"disabled\", \"class\", \"aria-expanded\"])) : createCommentVNode(\"\", true),\n createVNode(_sfc_main$3, {\n to: unref(props).teleportTo,\n disabled: !unref(props).teleportTo || unref(props).teleportDisabled\n }, {\n default: withCtx(() => [\n unref(renderRef) || unref(contentShowing) ? (openBlock(), createBlock(Transition, mergeProps({ key: 0 }, unref(transitionProps), {\n appear: modelValue.value || unref(props).visible\n }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"ul\", {\n id: unref(computedId) + \"-menu\",\n ref: \"_floating\",\n style: normalizeStyle([unref(floatingStyles), sizeStyles.value, { display: unref(showRef) ? \"block\" : \"none\" }]),\n class: normalizeClass([\"dropdown-menu overflow-auto\", [unref(props).menuClass, computedMenuClasses.value]]),\n \"aria-labelledby\": unref(computedId),\n role: unref(props).role,\n onClick: onClickInside\n }, [\n unref(contentShowing) ? renderSlot(_ctx.$slots, \"default\", {\n key: 0,\n id: unref(computedId),\n hide: unref(hide),\n show: unref(show),\n visible: unref(showRef),\n click: onClickInside,\n toggle: onButtonClick,\n active: unref(showRef)\n }) : createCommentVNode(\"\", true)\n ], 14, _hoisted_2), [\n [vShow, unref(showRef)]\n ])\n ]),\n _: 3\n }, 16, [\"appear\"])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ]),\n _: 3\n }, 8, [\"skip\", \"class\", \"role\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BDropdown.vue_vue_type_script_setup_true_lang-D1wLUc9_.mjs.map\n","import { defineComponent, useAttrs, computed, createElementBlock, openBlock, mergeProps, createBlock, resolveDynamicComponent, unref, createElementVNode, renderSlot, normalizeClass, withCtx, createTextVNode, toDisplayString, inject } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useBLinkHelper, _ as _sfc_main$7 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { c as collapseInjectionKey, d as dropdownInjectionKey, v as navbarInjectionKey } from \"./keys-BLeKMItg.mjs\";\nconst _sfc_main$6 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BDropdownDivider\",\n props: {\n dividerClass: { default: void 0 },\n tag: { default: \"hr\" },\n variant: {},\n wrapperAttrs: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BDropdownDivider\");\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...dividerAttrs } = attrs;\n return { wrapperClass, dividerAttrs };\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n role: \"presentation\",\n class: processedAttrs.value.wrapperClass\n }, _ctx.wrapperAttrs), [\n (openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), mergeProps({\n class: [\"dropdown-divider\", unref(props).dividerClass],\n role: \"separator\",\n \"aria-orientation\": \"horizontal\"\n }, processedAttrs.value.dividerAttrs), null, 16, [\"class\"]))\n ], 16);\n };\n }\n});\nconst _hoisted_1$2 = [\"novalidate\"];\nconst _sfc_main$5 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BDropdownForm\",\n props: {\n formClass: { default: void 0 },\n novalidate: { type: Boolean, default: void 0 },\n validated: { type: Boolean, default: void 0 },\n wrapperAttrs: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BDropdownForm\");\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...formAttrs } = attrs;\n return { wrapperClass, formAttrs };\n });\n const computedClasses = computed(() => [\n props.formClass,\n {\n \"was-validated\": props.validated\n }\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n role: \"presentation\",\n class: processedAttrs.value.wrapperClass\n }, unref(props).wrapperAttrs), [\n createElementVNode(\"form\", mergeProps({\n class: [\"dropdown-item-text\", computedClasses.value],\n novalidate: unref(props).novalidate\n }, processedAttrs.value.formAttrs), [\n renderSlot(_ctx.$slots, \"default\")\n ], 16, _hoisted_1$2)\n ], 16);\n };\n }\n});\nconst _hoisted_1$1 = { role: \"presentation\" };\nconst _hoisted_2 = [\"id\", \"aria-describedby\"];\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BDropdownGroup\",\n props: {\n ariaDescribedby: { default: void 0 },\n header: { default: void 0 },\n headerClass: { default: void 0 },\n headerTag: { default: \"header\" },\n headerVariant: { default: null },\n id: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BDropdownGroup\");\n const headerId = computed(() => props.id ? `${props.id}_group_dd_header` : void 0);\n const headerRole = computed(() => props.headerTag === \"header\" ? void 0 : \"heading\");\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.headerVariant\n }))\n );\n const computedClasses = computed(() => [props.headerClass, colorClasses.value]);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", _hoisted_1$1, [\n (openBlock(), createBlock(resolveDynamicComponent(unref(props).headerTag), {\n id: headerId.value,\n class: normalizeClass([\"dropdown-header\", computedClasses.value]),\n role: headerRole.value\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"header\", {}, () => [\n createTextVNode(toDisplayString(unref(props).header), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"class\", \"role\"])),\n createElementVNode(\"ul\", mergeProps({\n id: unref(props).id,\n role: \"group\",\n class: \"list-unstyled\"\n }, _ctx.$attrs, {\n \"aria-describedby\": unref(props).ariaDescribedby || headerId.value\n }), [\n renderSlot(_ctx.$slots, \"default\")\n ], 16, _hoisted_2)\n ]);\n };\n }\n});\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BDropdownHeader\",\n props: {\n headerClass: { default: void 0 },\n tag: { default: \"h6\" },\n text: { default: void 0 },\n variant: { default: null },\n wrapperAttrs: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BDropdownHeader\");\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...headerAttrs } = attrs;\n return { wrapperClass, headerAttrs };\n });\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant\n }))\n );\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n role: \"presentation\",\n class: processedAttrs.value.wrapperClass\n }, _ctx.wrapperAttrs), [\n (openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), mergeProps({\n class: [\"dropdown-header\", [unref(colorClasses), unref(props).headerClass]]\n }, processedAttrs.value.headerAttrs), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 16, [\"class\"]))\n ], 16);\n };\n }\n});\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BDropdownItem\",\n props: {\n linkClass: { default: void 0 },\n wrapperAttrs: { default: void 0 },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: null }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BDropdownItem\");\n const emit = __emit;\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...dropdownItemAttrs } = attrs;\n return { wrapperClass, dropdownItemAttrs };\n });\n const { computedLink, computedLinkProps } = useBLinkHelper(props);\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant\n }))\n );\n const computedClasses = computed(() => [\n props.linkClass,\n colorClasses.value,\n {\n active: props.active,\n disabled: props.disabled\n }\n ]);\n const computedTag = computed(() => computedLink.value ? _sfc_main$7 : props.href ? \"a\" : \"button\");\n const collapseData = inject(collapseInjectionKey, null);\n const dropdownData = inject(dropdownInjectionKey, null);\n const navbarData = inject(navbarInjectionKey, null);\n const clicked = (e) => {\n emit(\"click\", e);\n if (navbarData !== null && navbarData?.noAutoClose?.value !== true) {\n collapseData?.hide?.();\n }\n dropdownData?.hide?.();\n };\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n role: \"presentation\",\n class: processedAttrs.value.wrapperClass\n }, unref(props).wrapperAttrs), [\n (openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({\n class: [\"dropdown-item\", computedClasses.value],\n disabled: unref(props).disabled,\n \"aria-disabled\": unref(props).disabled ? true : null,\n \"aria-current\": unref(props).active ? true : null,\n href: computedTag.value === \"a\" ? unref(props).href : null,\n rel: unref(props).rel,\n role: \"menuitem\",\n type: computedTag.value === \"button\" ? \"button\" : null,\n target: unref(props).target\n }, { ...unref(computedLinkProps), ...processedAttrs.value.dropdownItemAttrs }, { onClick: clicked }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"class\", \"disabled\", \"aria-disabled\", \"aria-current\", \"href\", \"rel\", \"type\", \"target\"]))\n ], 16);\n };\n }\n});\nconst _hoisted_1 = [\"disabled\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BDropdownItemButton\",\n props: {\n active: { type: Boolean, default: false },\n activeClass: { default: \"active\" },\n buttonClass: { default: void 0 },\n wrapperAttrs: { default: void 0 },\n disabled: { type: Boolean, default: false },\n variant: { default: null }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BDropdownItemButton\");\n const emit = __emit;\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...buttonAttrs } = attrs;\n return { wrapperClass, buttonAttrs };\n });\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant\n }))\n );\n const computedClasses = computed(() => [\n props.buttonClass,\n colorClasses.value,\n {\n [props.activeClass]: props.active,\n disabled: props.disabled\n }\n ]);\n const clicked = (e) => {\n if (props.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n emit(\"click\", e);\n };\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n role: \"presentation\",\n class: processedAttrs.value.wrapperClass\n }, unref(props).wrapperAttrs), [\n createElementVNode(\"button\", mergeProps({\n role: \"menu\",\n type: \"button\",\n class: [\"dropdown-item\", computedClasses.value],\n disabled: unref(props).disabled\n }, processedAttrs.value.buttonAttrs, { onClick: clicked }), [\n renderSlot(_ctx.$slots, \"default\")\n ], 16, _hoisted_1)\n ], 16);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BDropdownText\",\n props: {\n textClass: { default: void 0 },\n tag: { default: \"span\" },\n text: { default: void 0 },\n variant: { default: null },\n wrapperAttrs: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BDropdownText\");\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...textAttrs } = attrs;\n return { wrapperClass, textAttrs };\n });\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant\n }))\n );\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n role: \"presentation\",\n class: processedAttrs.value.wrapperClass\n }, _ctx.wrapperAttrs), [\n (openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), mergeProps({\n class: [\"dropdown-item-text\", [unref(colorClasses), unref(props).textClass]]\n }, processedAttrs.value.textAttrs), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 16, [\"class\"]))\n ], 16);\n };\n }\n});\nexport {\n _sfc_main$6 as _,\n _sfc_main$5 as a,\n _sfc_main$4 as b,\n _sfc_main$3 as c,\n _sfc_main$2 as d,\n _sfc_main$1 as e,\n _sfc_main as f\n};\n//# sourceMappingURL=BDropdownText.vue_vue_type_script_setup_true_lang-Cm6QYE9x.mjs.map\n","import { defineComponent, useTemplateRef, computed, createElementBlock, openBlock, normalizeClass, unref, renderSlot } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nconst _hoisted_1 = [\"id\", \"novalidate\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BForm\",\n props: {\n floating: { type: Boolean, default: false },\n id: { default: void 0 },\n novalidate: { type: Boolean, default: false },\n validated: { type: Boolean, default: false }\n },\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BForm\");\n const element = useTemplateRef(\"_element\");\n const computedClasses = computed(() => ({\n \"form-floating\": props.floating,\n \"was-validated\": props.validated\n }));\n __expose({\n element\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"form\", {\n id: unref(props).id,\n ref: \"_element\",\n novalidate: unref(props).novalidate,\n class: normalizeClass(computedClasses.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BForm.vue_vue_type_script_setup_true_lang-u44ElAm9.mjs.map\n","import { defineComponent, inject, computed, createElementBlock, openBlock, unref, renderSlot, toValue } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { n as formSelectKey } from \"./keys-BLeKMItg.mjs\";\nimport { g as get } from \"./object-0ALvRU0O.mjs\";\nconst _hoisted_1 = [\"value\", \"disabled\", \"selected\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormSelectOption\",\n props: {\n disabled: { type: Boolean, default: false },\n value: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormSelectOption\");\n const formSelectContext = inject(formSelectKey, null);\n const isSelected = computed(() => {\n if (!formSelectContext) return false;\n return formSelectContext.modelValue.value === props.value;\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"option\", {\n value: unref(props).value,\n disabled: unref(props).disabled,\n selected: isSelected.value\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 8, _hoisted_1);\n };\n }\n});\nconst useFormSelect = (options, props) => {\n const isComplex = (option) => typeof option === \"object\" && option !== null && \"options\" in option;\n const normalizeOption = (option) => {\n const propsValue = toValue(props);\n if (typeof option === \"string\") {\n return { value: option, text: option };\n }\n if (typeof option === \"number\") {\n return { value: option, text: `${option}` };\n }\n if (option instanceof Date) {\n return { value: option, text: option.toLocaleString() };\n }\n const value = get(option, propsValue.valueField);\n const text = get(option, propsValue.textField);\n const disabled = get(option, propsValue.disabledField);\n const opts = propsValue.optionsField ? get(option, propsValue.optionsField) : void 0;\n if (opts !== void 0) {\n return {\n label: get(option, propsValue.labelField) || text,\n options: opts\n };\n }\n return {\n ...typeof option === \"object\" ? option : void 0,\n value,\n text,\n disabled\n };\n };\n const normalizeOptions = (opts) => opts.map((option) => normalizeOption(option));\n const normalizedOptions = computed(() => normalizeOptions(toValue(options)));\n return { normalizedOptions, isComplex };\n};\nexport {\n _sfc_main as _,\n useFormSelect as u\n};\n//# sourceMappingURL=useFormSelect-DvaFh_iu.mjs.map\n","import { defineComponent, computed, createElementBlock, openBlock, unref, renderSlot, Fragment, renderList, createBlock, mergeProps, withCtx, createTextVNode, toDisplayString, createElementVNode } from \"vue\";\nimport { u as useFormSelect, _ as _sfc_main$2 } from \"./useFormSelect-DvaFh_iu.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nconst _hoisted_1$1 = [\"id\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BFormDatalist\",\n props: {\n disabledField: { default: \"disabled\" },\n id: { default: void 0 },\n options: { default: () => [] },\n textField: { default: \"text\" },\n valueField: { default: \"value\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormDatalist\");\n const computedId = useId(() => props.id, \"datalist\");\n const { normalizedOptions, isComplex } = useFormSelect(\n () => props.options,\n computed(() => ({ ...props, optionsField: \"options\", labelField: \"label\" }))\n );\n const normalizedOptsWrapper = computed(\n () => (\n // Datalist doesn't support complex options\n normalizedOptions.value.filter((opt) => !isComplex(opt))\n )\n );\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"datalist\", { id: unref(computedId) }, [\n renderSlot(_ctx.$slots, \"first\"),\n (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptsWrapper.value, (option, index) => {\n return openBlock(), createBlock(_sfc_main$2, mergeProps({ key: index }, { ref_for: true }, option), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"option\", mergeProps({ ref_for: true }, option), () => [\n createTextVNode(toDisplayString(option.text), 1)\n ])\n ]),\n _: 2\n }, 1040);\n }), 128)),\n renderSlot(_ctx.$slots, \"default\")\n ], 8, _hoisted_1$1);\n };\n }\n});\nconst _hoisted_1 = { class: \"form-floating\" };\nconst _hoisted_2 = [\"for\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormFloatingLabel\",\n props: {\n label: { default: void 0 },\n labelFor: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormFloatingLabel\");\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\"),\n createElementVNode(\"label\", {\n for: unref(props).labelFor\n }, [\n renderSlot(_ctx.$slots, \"label\", {}, () => [\n createTextVNode(toDisplayString(unref(props).label), 1)\n ])\n ], 8, _hoisted_2)\n ]);\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BFormFloatingLabel.vue_vue_type_script_setup_true_lang-Bnwbg5nF.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot, createTextVNode, toDisplayString } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n __name: \"BFormInvalidFeedback\",\n props: {\n ariaLive: { default: void 0 },\n forceShow: { type: Boolean, default: false },\n id: { default: void 0 },\n role: { default: void 0 },\n state: { type: [Boolean, null], default: null },\n tag: { default: \"div\" },\n text: { default: void 0 },\n tooltip: { type: Boolean, default: false }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormInvalidFeedback\");\n const computedShow = computed(() => props.forceShow === true || props.state === false);\n const computedClasses = computed(() => ({\n \"d-block\": computedShow.value,\n \"invalid-feedback\": !props.tooltip,\n \"invalid-tooltip\": props.tooltip\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n id: unref(props).id,\n role: unref(props).role,\n \"aria-live\": unref(props).ariaLive,\n \"aria-atomic\": unref(props).ariaLive ? true : void 0,\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"role\", \"aria-live\", \"aria-atomic\", \"class\"]);\n };\n }\n});\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BFormRow\",\n props: {\n tag: { default: \"div\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormRow\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { class: \"row d-flex flex-wrap\" }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n });\n };\n }\n});\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BFormText\",\n props: {\n id: { default: void 0 },\n inline: { type: Boolean, default: false },\n tag: { default: \"small\" },\n text: { default: void 0 },\n textVariant: { default: \"body-secondary\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormText\");\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n \"form-text\": !props.inline\n }\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n id: unref(props).id,\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"class\"]);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormValidFeedback\",\n props: {\n ariaLive: { default: void 0 },\n forceShow: { type: Boolean, default: false },\n id: { default: void 0 },\n role: { default: void 0 },\n state: { type: [Boolean, null], default: null },\n tag: { default: \"div\" },\n text: { default: void 0 },\n tooltip: { type: Boolean, default: false }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormInvalidFeedback\");\n const computedShow = computed(() => props.forceShow === true || props.state === true);\n const computedClasses = computed(() => ({\n \"d-block\": computedShow.value,\n \"valid-feedback\": !props.tooltip,\n \"valid-tooltip\": props.tooltip\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n id: unref(props).id,\n role: unref(props).role,\n \"aria-live\": unref(props).ariaLive,\n \"aria-atomic\": unref(props).ariaLive ? true : void 0,\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"role\", \"aria-live\", \"aria-atomic\", \"class\"]);\n };\n }\n});\nexport {\n _sfc_main$3 as _,\n _sfc_main$2 as a,\n _sfc_main$1 as b,\n _sfc_main as c\n};\n//# sourceMappingURL=BFormValidFeedback.vue_vue_type_script_setup_true_lang-D5WYd1j7.mjs.map\n","import { computed, toValue } from \"vue\";\nconst useAriaInvalid = (ariaInvalid, state) => computed(() => {\n const resolvedAriaInvalid = toValue(ariaInvalid);\n const resolvedState = toValue(state);\n const resolvedAriaInvalidValue = resolvedAriaInvalid === true ? \"true\" : typeof resolvedAriaInvalid === \"string\" ? resolvedAriaInvalid : resolvedState === false ? \"true\" : resolvedAriaInvalid === false ? \"false\" : void 0;\n return resolvedAriaInvalidValue;\n});\nexport {\n useAriaInvalid as u\n};\n//# sourceMappingURL=useAriaInvalid-BTUbGj3Y.mjs.map\n","import { computed, toValue } from \"vue\";\nconst useStateClass = (value) => computed(() => {\n const resolvedValue = toValue(value);\n return resolvedValue === true ? \"is-valid\" : resolvedValue === false ? \"is-invalid\" : null;\n});\nexport {\n useStateClass as u\n};\n//# sourceMappingURL=useStateClass-BGbSLWFN.mjs.map\n","import { computed, toValue, readonly, toRef } from \"vue\";\nimport { u as useAriaInvalid } from \"./useAriaInvalid-BTUbGj3Y.mjs\";\nimport { u as useStateClass } from \"./useStateClass-BGbSLWFN.mjs\";\nconst getClasses = (items) => computed(() => {\n const resolvedItems = toValue(items);\n return {\n \"form-check\": resolvedItems.plain === false && resolvedItems.button === false && resolvedItems.hasDefaultSlot,\n \"form-check-reverse\": resolvedItems.reverse === true,\n \"form-check-inline\": resolvedItems.inline === true,\n \"form-switch\": resolvedItems.switch === true,\n [`form-control-${resolvedItems.size}`]: resolvedItems.size !== void 0 && resolvedItems.size !== \"md\" && resolvedItems.button === false\n };\n});\nconst getInputClasses = (items) => {\n const resolvedItems = readonly(toRef(items));\n const stateClass = useStateClass(() => resolvedItems.value.state ?? null);\n return computed(() => [\n stateClass.value,\n {\n \"form-check-input\": resolvedItems.value.plain === false && resolvedItems.value.button === false,\n \"btn-check\": resolvedItems.value.button === true\n }\n ]);\n};\nconst getLabelClasses = (items) => computed(() => {\n const resolvedItems = toValue(items);\n return {\n \"form-check-label\": resolvedItems.plain === false && resolvedItems.button === false,\n \"btn\": resolvedItems.button === true,\n [`btn-${resolvedItems.buttonVariant}`]: resolvedItems.button === true && resolvedItems.buttonVariant !== void 0 && resolvedItems.buttonVariant !== null,\n [`btn-${resolvedItems.size}`]: resolvedItems.button && resolvedItems.size && resolvedItems.size !== \"md\"\n };\n});\nconst getGroupAttr = (items) => {\n const resolvedItems = readonly(toRef(items));\n const computedAriaInvalid = useAriaInvalid(\n () => resolvedItems.value.ariaInvalid,\n () => resolvedItems.value.state\n );\n return computed(() => ({\n \"aria-invalid\": computedAriaInvalid.value,\n \"aria-required\": resolvedItems.value.required === true ? true : void 0\n }));\n};\nconst getGroupClasses = (items) => computed(() => {\n const resolvedItems = toValue(items);\n return {\n \"was-validated\": resolvedItems.validated === true,\n \"btn-group\": resolvedItems.buttons === true && resolvedItems.stacked === false,\n \"btn-group-vertical\": resolvedItems.stacked === true && resolvedItems.buttons === true,\n [`btn-group-${resolvedItems.size}`]: resolvedItems.size !== void 0\n };\n});\nexport {\n getInputClasses as a,\n getLabelClasses as b,\n getGroupAttr as c,\n getGroupClasses as d,\n getClasses as g\n};\n//# sourceMappingURL=useFormCheck-Bcx8Ea7M.mjs.map\n","import { defineComponent, mergeModels, useSlots, useAttrs, useModel, computed, inject, useTemplateRef, createBlock, openBlock, mergeProps, unref, withCtx, withDirectives, createElementBlock, createCommentVNode, createElementVNode, vModelCheckbox, normalizeClass, renderSlot, provide, toRef, Fragment, renderList, createTextVNode, toDisplayString } from \"vue\";\nimport { u as useFocus } from \"./index-C0p9vHHI.mjs\";\nimport { g as getClasses, a as getInputClasses, b as getLabelClasses, c as getGroupAttr, d as getGroupClasses } from \"./useFormCheck-Bcx8Ea7M.mjs\";\nimport { j as checkboxGroupKey } from \"./keys-BLeKMItg.mjs\";\nimport { _ as _sfc_main$2 } from \"./ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nimport { i as isEmptySlot } from \"./dom-DVb-f0ZG.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nconst _hoisted_1$1 = [\"id\", \"disabled\", \"required\", \"name\", \"form\", \"aria-label\", \"aria-labelledby\", \"aria-required\", \"value\", \"true-value\", \"false-value\", \"indeterminate\"];\nconst _hoisted_2 = [\"for\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BFormCheckbox\",\n props: /* @__PURE__ */ mergeModels({\n ariaLabel: { default: void 0 },\n ariaLabelledby: { default: void 0 },\n autofocus: { type: Boolean, default: false },\n button: { type: Boolean, default: false },\n buttonGroup: { type: Boolean, default: false },\n buttonVariant: { default: null },\n disabled: { type: Boolean, default: false },\n form: { default: void 0 },\n id: { default: void 0 },\n inline: { type: Boolean, default: false },\n name: { default: void 0 },\n plain: { type: Boolean, default: false },\n required: { type: Boolean, default: void 0 },\n reverse: { type: Boolean, default: false },\n size: { default: void 0 },\n state: { type: [Boolean, null], default: null },\n switch: { type: Boolean, default: false },\n uncheckedValue: { type: [Array, Set, String, Boolean, Object, Number, null], default: false },\n wrapperAttrs: { default: void 0 },\n inputClass: { default: void 0 },\n value: { type: [String, Boolean, Array, Set, Object, Number, null], default: true }\n }, {\n \"modelValue\": { type: [Array, Set, String, Boolean, Object, Number, null], ...{\n default: void 0\n } },\n \"modelModifiers\": {},\n \"indeterminate\": { type: Boolean, ...{\n default: false\n } },\n \"indeterminateModifiers\": {}\n }),\n emits: [\"update:modelValue\", \"update:indeterminate\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormCheckbox\");\n const slots = useSlots();\n const attrs = useAttrs();\n const modelValue = useModel(__props, \"modelValue\");\n const indeterminate = useModel(\n __props,\n \"indeterminate\"\n );\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...inputAttrs } = attrs;\n return { wrapperClass, inputAttrs };\n });\n const computedId = useId(() => props.id, \"form-check\");\n const parentData = inject(checkboxGroupKey, null);\n const input = useTemplateRef(\"_input\");\n const { focused } = useFocus(input, {\n initialValue: props.autofocus\n });\n const hasDefaultSlot = computed(() => !isEmptySlot(slots.default));\n const localValue = computed({\n get: () => parentData ? parentData.modelValue.value : modelValue.value,\n set: (newVal) => {\n if (newVal === void 0) return;\n indeterminate.value = false;\n if (parentData !== null && Array.isArray(newVal)) {\n parentData.modelValue.value = newVal;\n return;\n }\n modelValue.value = newVal;\n }\n });\n const computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n );\n const isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false));\n const classesObject = computed(() => ({\n plain: props.plain || (parentData?.plain.value ?? false),\n button: props.button || (parentData?.buttons.value ?? false),\n inline: props.inline || (parentData?.inline.value ?? false),\n reverse: props.reverse || (parentData?.reverse.value ?? false),\n switch: props.switch || (parentData?.switch.value ?? false),\n state: props.state === true || props.state === false ? props.state : parentData?.state.value ?? null,\n size: props.size ?? parentData?.size.value ?? \"md\",\n // This is where the true default is made\n buttonVariant: props.buttonVariant ?? parentData?.buttonVariant.value ?? \"secondary\",\n // This is where the true default is made\n hasDefaultSlot: hasDefaultSlot.value\n }));\n const wrapperClasses = getClasses(classesObject);\n const computedWrapperClasses = computed(() => [\n wrapperClasses.value,\n processedAttrs.value.wrapperClass\n ]);\n const inputClasses = getInputClasses(classesObject);\n const computedInputClasses = computed(() => [inputClasses.value, props.inputClass]);\n const labelClasses = getLabelClasses(classesObject);\n __expose({\n blur: () => {\n focused.value = false;\n },\n element: input,\n focus: () => {\n focused.value = true;\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$2, mergeProps({ skip: isButtonGroup.value }, unref(props).wrapperAttrs, { class: computedWrapperClasses.value }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"input\", mergeProps({\n id: unref(computedId),\n ref: \"_input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => localValue.value = $event),\n class: computedInputClasses.value,\n type: \"checkbox\",\n disabled: unref(props).disabled || unref(parentData)?.disabled.value,\n required: computedRequired.value || void 0,\n name: unref(props).name || unref(parentData)?.name.value,\n form: unref(props).form || unref(parentData)?.form.value,\n \"aria-label\": unref(props).ariaLabel,\n \"aria-labelledby\": unref(props).ariaLabelledby,\n \"aria-required\": computedRequired.value || void 0,\n value: unref(props).value,\n \"true-value\": unref(props).value,\n \"false-value\": unref(props).uncheckedValue,\n indeterminate: indeterminate.value || void 0\n }, processedAttrs.value.inputAttrs), null, 16, _hoisted_1$1), [\n [vModelCheckbox, localValue.value]\n ]),\n hasDefaultSlot.value || unref(props).plain === false ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n for: unref(computedId),\n class: normalizeClass(unref(labelClasses))\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_2)) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 16, [\"skip\", \"class\"]);\n };\n }\n});\nconst _hoisted_1 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormCheckboxGroup\",\n props: /* @__PURE__ */ mergeModels({\n ariaInvalid: { type: [Boolean, String], default: void 0 },\n autofocus: { type: Boolean, default: false },\n buttonVariant: { default: \"secondary\" },\n buttons: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n disabledField: { default: \"disabled\" },\n form: { default: void 0 },\n id: { default: void 0 },\n name: { default: void 0 },\n options: { default: () => [] },\n plain: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n reverse: { type: Boolean, default: false },\n size: { default: \"md\" },\n stacked: { type: Boolean, default: false },\n state: { type: [Boolean, null], default: null },\n switches: { type: Boolean, default: false },\n textField: { default: \"text\" },\n validated: { type: Boolean, default: false },\n valueField: { default: \"value\" }\n }, {\n \"modelValue\": {\n default: () => []\n },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormCheckboxGroup\");\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"checkbox\");\n const computedName = useId(() => props.name, \"checkbox\");\n const element = useTemplateRef(\"_element\");\n const { focused } = useFocus(element, {\n initialValue: props.autofocus\n });\n provide(checkboxGroupKey, {\n modelValue,\n switch: toRef(() => props.switches),\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n buttons: toRef(() => props.buttons),\n disabled: toRef(() => props.disabled)\n });\n const normalizeOptions = computed(\n () => props.options.map(\n (el) => typeof el === \"string\" || typeof el === \"number\" ? {\n value: el,\n disabled: props.disabled,\n text: el.toString()\n } : {\n ...el,\n value: el[props.valueField],\n disabled: el[props.disabledField],\n text: el[props.textField]\n }\n )\n );\n const classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size\n }));\n const computedAttrs = getGroupAttr(classesObject);\n const computedClasses = getGroupClasses(classesObject);\n __expose({\n blur: () => {\n focused.value = false;\n },\n focus: () => {\n focused.value = true;\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", mergeProps(unref(computedAttrs), {\n id: unref(computedId),\n ref: \"_element\",\n role: \"group\",\n class: [unref(computedClasses), \"bv-no-focus-ring\"],\n tabindex: \"-1\"\n }), [\n renderSlot(_ctx.$slots, \"first\"),\n (openBlock(true), createElementBlock(Fragment, null, renderList(normalizeOptions.value, (item, index) => {\n return openBlock(), createBlock(_sfc_main$1, mergeProps({ key: index }, { ref_for: true }, item), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"option\", mergeProps({ ref_for: true }, item), () => [\n createTextVNode(toDisplayString(item.text), 1)\n ])\n ]),\n _: 2\n }, 1040);\n }), 128)),\n renderSlot(_ctx.$slots, \"default\")\n ], 16, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-CZ2qJTp0.mjs.map\n","import { defineComponent, mergeModels, useSlots, useModel, useTemplateRef, computed, watch, createElementBlock, openBlock, Fragment, createCommentVNode, createElementVNode, unref, normalizeClass, renderSlot, createTextVNode, toDisplayString, mergeProps } from \"vue\";\nimport { u as useFocus } from \"./index-C0p9vHHI.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { u as useStateClass } from \"./useStateClass-BGbSLWFN.mjs\";\nimport { i as isEmptySlot } from \"./dom-DVb-f0ZG.mjs\";\nconst _hoisted_1 = [\"for\"];\nconst _hoisted_2 = [\"id\", \"form\", \"name\", \"multiple\", \"disabled\", \"capture\", \"accept\", \"required\", \"aria-label\", \"aria-labelledby\", \"aria-required\", \"directory\", \"webkitdirectory\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BFormFile\",\n props: /* @__PURE__ */ mergeModels({\n ariaLabel: { default: void 0 },\n ariaLabelledby: { default: void 0 },\n accept: { default: \"\" },\n autofocus: { type: Boolean, default: false },\n capture: { type: [Boolean, String], default: void 0 },\n directory: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n form: { default: void 0 },\n id: { default: void 0 },\n label: { default: \"\" },\n labelClass: { default: void 0 },\n multiple: { type: Boolean, default: false },\n name: { default: void 0 },\n noButton: { type: Boolean, default: false },\n noDrop: { type: Boolean, default: false },\n noTraverse: { type: Boolean, default: false },\n plain: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n size: { default: void 0 },\n state: { type: [Boolean, null], default: null }\n }, {\n \"modelValue\": {\n default: null\n },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormFile\");\n const slots = useSlots();\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id);\n const stateClass = useStateClass(() => props.state);\n const input = useTemplateRef(\"_input\");\n const { focused } = useFocus(input, { initialValue: props.autofocus });\n const hasLabelSlot = computed(() => !isEmptySlot(slots[\"label\"]));\n const computedAccept = computed(\n () => typeof props.accept === \"string\" ? props.accept : props.accept.join(\",\")\n );\n const computedClasses = computed(() => [\n stateClass.value,\n {\n [`form-control-${props.size}`]: props.size !== void 0,\n \"form-control\": !props.plain,\n \"form-control-input-file-hide-button\": props.noButton\n }\n ]);\n const onChange = () => {\n const value = input.value?.files === null || input.value?.files === void 0 ? null : [...input.value.files];\n modelValue.value = value === null ? null : props.multiple === true ? value : value[0];\n };\n const onDrop = (e) => {\n if (props.noDrop === true) {\n e.preventDefault();\n }\n };\n const reset = () => {\n modelValue.value = null;\n };\n watch(modelValue, (newValue) => {\n if (newValue === null && input.value !== null) {\n input.value.value = \"\";\n }\n });\n __expose({\n blur: () => {\n focused.value = false;\n },\n element: input,\n focus: () => {\n focused.value = true;\n },\n reset\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(Fragment, null, [\n hasLabelSlot.value || unref(props).label ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n class: normalizeClass([\"form-label\", unref(props).labelClass]),\n for: unref(computedId)\n }, [\n renderSlot(_ctx.$slots, \"label\", {}, () => [\n createTextVNode(toDisplayString(unref(props).label), 1)\n ])\n ], 10, _hoisted_1)) : createCommentVNode(\"\", true),\n createElementVNode(\"input\", mergeProps({ id: unref(computedId) }, _ctx.$attrs, {\n ref: \"_input\",\n type: \"file\",\n class: computedClasses.value,\n form: unref(props).form,\n name: unref(props).name,\n multiple: unref(props).multiple,\n disabled: unref(props).disabled,\n capture: unref(props).capture,\n accept: computedAccept.value || void 0,\n required: unref(props).required || void 0,\n \"aria-label\": unref(props).ariaLabel,\n \"aria-labelledby\": unref(props).ariaLabelledby,\n \"aria-required\": unref(props).required || void 0,\n directory: unref(props).directory,\n webkitdirectory: unref(props).directory,\n onChange,\n onDrop\n }), null, 16, _hoisted_2)\n ], 64);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BFormFile.vue_vue_type_script_setup_true_lang-BF3fBjJ3.mjs.map\n","import { defineComponent, useSlots, toRef, ref, provide, computed, useTemplateRef, createBlock, openBlock, resolveDynamicComponent, normalizeClass, unref, withCtx, createVNode, createElementBlock, createCommentVNode, renderSlot, createTextVNode, toDisplayString, Fragment, normalizeProps, mergeProps } from \"vue\";\nimport { u as useAriaInvalid } from \"./useAriaInvalid-BTUbGj3Y.mjs\";\nimport { a as isVisible, b as attemptFocus } from \"./dom-DVb-f0ZG.mjs\";\nimport { _ as _sfc_main$4 } from \"./BCol.vue_vue_type_script_setup_true_lang-D0xTJQ30.mjs\";\nimport { _ as _sfc_main$1, c as _sfc_main$2, b as _sfc_main$3, a as _sfc_main$5 } from \"./BFormValidFeedback.vue_vue_type_script_setup_true_lang-D5WYd1j7.mjs\";\nimport { u as upperFirst } from \"./stringUtils-gJJ6T6UC.mjs\";\nimport { u as useStateClass } from \"./useStateClass-BGbSLWFN.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { i as createReusableTemplate } from \"./index-C0p9vHHI.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { k as formGroupKey } from \"./keys-BLeKMItg.mjs\";\nconst suffixPropName = (suffix, value) => value + (suffix ? upperFirst(suffix) : \"\");\nconst _hoisted_1 = {\n key: 0,\n ref: \"_content\",\n class: \"form-floating\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormGroup\",\n props: {\n contentCols: { type: [Boolean, String, Number], default: void 0 },\n labelCols: { type: [Boolean, String, Number], default: void 0 },\n labelAlign: { default: void 0 },\n ariaInvalid: { type: [Boolean, String], default: void 0 },\n description: { default: void 0 },\n disabled: { type: Boolean, default: false },\n feedbackAriaLive: { default: \"assertive\" },\n floating: { type: Boolean, default: false },\n id: { default: void 0 },\n invalidFeedback: { default: void 0 },\n label: { default: void 0 },\n labelClass: { default: void 0 },\n labelFor: { default: void 0 },\n labelSize: { default: void 0 },\n labelVisuallyHidden: { type: Boolean, default: false },\n state: { type: [Boolean, null], default: null },\n tooltip: { type: Boolean, default: false },\n validFeedback: { default: void 0 },\n validated: { type: Boolean, default: false },\n contentColsSm: { type: [Boolean, String, Number], default: void 0 },\n contentColsMd: { type: [Boolean, String, Number], default: void 0 },\n contentColsLg: { type: [Boolean, String, Number], default: void 0 },\n contentColsXl: { type: [Boolean, String, Number], default: void 0 },\n labelColsSm: { type: [Boolean, String, Number], default: void 0 },\n labelColsMd: { type: [Boolean, String, Number], default: void 0 },\n labelColsLg: { type: [Boolean, String, Number], default: void 0 },\n labelColsXl: { type: [Boolean, String, Number], default: void 0 },\n labelAlignSm: { default: void 0 },\n labelAlignMd: { default: void 0 },\n labelAlignLg: { default: void 0 },\n labelAlignXl: { default: void 0 }\n },\n setup(__props) {\n const INPUTS = [\"input\", \"select\", \"textarea\"];\n const _props = __props;\n const props = useDefaults(_props, \"BFormGroup\");\n const slots = useSlots();\n const LabelContentTemplate = createReusableTemplate();\n const ContentTemplate = createReusableTemplate();\n const computedState = toRef(() => props.state);\n const childId = ref([]);\n provide(formGroupKey, (id) => {\n childId.value = [id];\n return {\n state: computedState\n };\n });\n const computedLabelFor = computed(() => {\n if (props.labelFor !== void 0) return props.labelFor;\n if (childId.value[0] && childId.value[0].value) return childId.value[0].value;\n return null;\n });\n const breakPoints = [\"xs\", \"sm\", \"md\", \"lg\", \"xl\"];\n const getColProps = (props2, prefix) => (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n breakPoints.reduce((result, breakpoint) => {\n const suffix = suffixPropName(breakpoint === \"xs\" ? \"\" : breakpoint, `${prefix}Cols`);\n let propValue = props2[suffix];\n propValue = propValue === \"\" ? true : propValue || false;\n if (!(typeof propValue === \"boolean\") && propValue !== \"auto\") {\n const val = Number.parseInt(propValue);\n propValue = Number.isNaN(val) ? 0 : val;\n propValue = propValue > 0 ? propValue : false;\n }\n if (propValue) {\n if (breakpoint === \"xs\") {\n result[typeof propValue === \"boolean\" ? \"col\" : \"cols\"] = propValue;\n } else {\n result[breakpoint || (typeof propValue === \"boolean\" ? \"col\" : \"cols\")] = propValue;\n }\n }\n return result;\n }, {})\n );\n const content = useTemplateRef(\"_content\");\n const contentColProps = computed(() => getColProps(props, \"content\"));\n const labelAlignClasses = computed(\n () => ((props2, prefix) => breakPoints.reduce((result, breakpoint) => {\n const suffix = suffixPropName(\n breakpoint === \"xs\" ? \"\" : breakpoint,\n `${prefix}Align`\n );\n const propValue = props2[suffix] || null;\n if (propValue) {\n if (breakpoint === \"xs\") {\n result.push(`text-${propValue}`);\n } else {\n result.push(`text-${breakpoint}-${propValue}`);\n }\n }\n return result;\n }, []))(props, \"label\")\n );\n const labelColProps = computed(() => getColProps(props, \"label\"));\n const isHorizontal = computed(\n () => Object.keys(contentColProps.value).length > 0 || Object.keys(labelColProps.value).length > 0\n );\n const stateClass = useStateClass(computedState);\n const computedAriaInvalid = useAriaInvalid(() => props.ariaInvalid, computedState);\n const onLegendClick = (event) => {\n if (computedLabelFor.value || content.value === null) return;\n const { target } = event;\n const tagName = target ? target.tagName : \"\";\n if ([...INPUTS, \"a\", \"button\", \"label\"].indexOf(tagName) !== -1) return;\n const inputs = [\n ...content.value.querySelectorAll(INPUTS.map((v) => `${v}:not([disabled])`).join())\n ].filter(isVisible);\n const [inp] = inputs;\n if (inputs.length === 1 && inp instanceof HTMLElement) {\n attemptFocus(inp);\n }\n };\n const computedId = useId(() => props.id);\n const labelId = useId(void 0, \"_BV_label_\");\n const labelTag = computed(() => !computedLabelFor.value ? \"legend\" : \"label\");\n const labelClasses = computed(() => [\n isHorizontal.value ? \"col-form-label\" : \"form-label\",\n {\n \"bv-no-focus-ring\": !computedLabelFor.value,\n \"col-form-label\": isHorizontal.value || !computedLabelFor.value,\n \"pt-0\": !isHorizontal.value && !computedLabelFor.value,\n \"d-block\": !isHorizontal.value && computedLabelFor.value,\n [`col-form-label-${props.labelSize}`]: !!props.labelSize,\n \"visually-hidden\": props.labelVisuallyHidden\n },\n labelAlignClasses.value,\n props.labelClass\n ]);\n const invalidFeedbackId = useId(void 0, \"_BV_feedback_invalid_\");\n const validFeedbackId = useId(void 0, \"_BV_feedback_valid_\");\n const descriptionId = useId(void 0, \"_BV_description_\");\n const isFieldset = computed(() => !computedLabelFor.value);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(isFieldset.value ? \"fieldset\" : \"div\"), {\n id: unref(computedId),\n disabled: isFieldset.value ? unref(props).disabled : null,\n role: isFieldset.value ? null : \"group\",\n \"aria-invalid\": unref(computedAriaInvalid),\n \"aria-labelledby\": isFieldset.value && isHorizontal.value ? unref(labelId) : null,\n class: normalizeClass([[unref(stateClass), { \"was-validated\": unref(props).validated }], \"b-form-group\"])\n }, {\n default: withCtx(() => [\n createVNode(unref(ContentTemplate).define, null, {\n default: withCtx(() => [\n slots[\"invalid-feedback\"] || unref(props).invalidFeedback ? (openBlock(), createBlock(_sfc_main$1, {\n key: 0,\n id: unref(invalidFeedbackId),\n \"aria-live\": unref(props).feedbackAriaLive,\n state: computedState.value,\n tooltip: unref(props).tooltip\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"invalid-feedback\", {}, () => [\n createTextVNode(toDisplayString(unref(props).invalidFeedback), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"aria-live\", \"state\", \"tooltip\"])) : createCommentVNode(\"\", true),\n slots[\"valid-feedback\"] || unref(props).validFeedback ? (openBlock(), createBlock(_sfc_main$2, {\n key: 1,\n id: unref(validFeedbackId),\n \"aria-live\": unref(props).feedbackAriaLive,\n state: computedState.value,\n tooltip: unref(props).tooltip\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"valid-feedback\", {}, () => [\n createTextVNode(toDisplayString(unref(props).validFeedback), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"aria-live\", \"state\", \"tooltip\"])) : createCommentVNode(\"\", true),\n slots.description || unref(props).description ? (openBlock(), createBlock(_sfc_main$3, {\n key: 2,\n id: unref(descriptionId)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"description\", {}, () => [\n createTextVNode(toDisplayString(unref(props).description), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\"])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }),\n createVNode(unref(LabelContentTemplate).define, null, {\n default: withCtx(() => [\n slots.label || unref(props).label || isHorizontal.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n isHorizontal.value ? (openBlock(), createBlock(_sfc_main$4, normalizeProps(mergeProps({ key: 0 }, labelColProps.value)), {\n default: withCtx(() => [\n (openBlock(), createBlock(resolveDynamicComponent(labelTag.value), {\n id: unref(labelId),\n for: computedLabelFor.value || null,\n tabindex: isFieldset.value ? \"-1\" : null,\n class: normalizeClass(labelClasses.value),\n onClick: _cache[0] || (_cache[0] = ($event) => isFieldset.value ? onLegendClick : null)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"label\", {}, () => [\n createTextVNode(toDisplayString(unref(props).label), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"for\", \"tabindex\", \"class\"]))\n ]),\n _: 3\n }, 16)) : (openBlock(), createBlock(resolveDynamicComponent(labelTag.value), {\n key: 1,\n id: unref(labelId),\n for: computedLabelFor.value || null,\n tabindex: isFieldset.value ? \"-1\" : null,\n class: normalizeClass(labelClasses.value),\n onClick: _cache[1] || (_cache[1] = ($event) => isFieldset.value ? onLegendClick : null)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"label\", {}, () => [\n createTextVNode(toDisplayString(unref(props).label), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"for\", \"tabindex\", \"class\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }),\n isHorizontal.value ? (openBlock(), createBlock(_sfc_main$5, { key: 0 }, {\n default: withCtx(() => [\n createVNode(unref(LabelContentTemplate).reuse),\n createVNode(_sfc_main$4, mergeProps(contentColProps.value, { ref: \"_content\" }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {\n id: unref(computedId),\n ariaDescribedby: null,\n descriptionId: unref(descriptionId),\n labelId: unref(labelId)\n }),\n createVNode(unref(ContentTemplate).reuse)\n ]),\n _: 3\n }, 16)\n ]),\n _: 3\n })) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n unref(props).floating && !isHorizontal.value ? (openBlock(), createElementBlock(\"div\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\", {\n id: unref(computedId),\n ariaDescribedby: null,\n descriptionId: unref(descriptionId),\n labelId: unref(labelId)\n }),\n createVNode(unref(LabelContentTemplate).reuse),\n createVNode(unref(ContentTemplate).reuse)\n ], 512)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n createVNode(unref(LabelContentTemplate).reuse),\n renderSlot(_ctx.$slots, \"default\", {\n id: unref(computedId),\n ariaDescribedby: null,\n descriptionId: unref(descriptionId),\n labelId: unref(labelId)\n }),\n createVNode(unref(ContentTemplate).reuse)\n ], 64))\n ], 64))\n ]),\n _: 3\n }, 8, [\"id\", \"disabled\", \"role\", \"aria-invalid\", \"aria-labelledby\", \"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BFormGroup.vue_vue_type_script_setup_true_lang-BmZN8qcE.mjs.map\n","import { toValue } from \"vue\";\nconst noop = () => {\n};\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n wrapper.cancel = filter.cancel;\n return wrapper;\n}\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n let lastInvoker;\n const filter = (invoke) => {\n const duration = toValue(ms);\n const maxDuration = toValue(options.maxWait);\n if (timer) _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n lastInvoker = invoke;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer) _clearTimeout(timer);\n maxTimer = null;\n resolve(lastInvoker());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer) _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n filter.cancel = () => {\n if (timer) _clearTimeout(timer);\n if (maxTimer) _clearTimeout(maxTimer);\n maxTimer = null;\n };\n return filter;\n}\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(debounceFilter(ms, options), fn);\n}\nexport {\n useDebounceFn as u\n};\n//# sourceMappingURL=debounce-BHqBzJ1a.mjs.map\n","import { ref, inject, computed, onMounted, onActivated, nextTick } from \"vue\";\nimport { u as useAriaInvalid } from \"./useAriaInvalid-BTUbGj3Y.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { u as useFocus } from \"./index-C0p9vHHI.mjs\";\nimport { k as formGroupKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useDebounceFn } from \"./debounce-BHqBzJ1a.mjs\";\nimport { u as useStateClass } from \"./useStateClass-BGbSLWFN.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst normalizeInput = (v, modelModifiers) => {\n if (v === null) return;\n let update = v;\n if (modelModifiers.number && typeof update === \"string\" && update !== \"\") {\n const parsed = Number.parseFloat(update);\n update = Number.isNaN(parsed) ? update : parsed;\n }\n return update;\n};\nconst useFormInput = (props, input, modelValue, modelModifiers) => {\n const forceUpdateKey = ref(0);\n const computedId = useId(() => props.id, \"input\");\n const debounceNumber = useToNumber(() => props.debounce ?? 0, { nanToZero: true });\n const debounceMaxWaitNumber = useToNumber(() => props.debounceMaxWait ?? Number.NaN);\n const formGroupData = inject(formGroupKey, null)?.(computedId);\n const computedState = computed(\n () => props.state !== void 0 ? props.state : formGroupData?.state.value ?? null\n );\n const computedAriaInvalid = useAriaInvalid(() => props.ariaInvalid, computedState);\n const stateClass = useStateClass(computedState);\n const internalUpdateModelValue = useDebounceFn(\n (value) => {\n modelValue.value = value;\n },\n () => modelModifiers.lazy === true ? 0 : debounceNumber.value,\n { maxWait: () => modelModifiers.lazy === true ? Number.NaN : debounceMaxWaitNumber.value }\n );\n const updateModelValue = (value, force = false, immediate = false) => {\n if (modelModifiers.lazy === true && force === false) return;\n if (immediate) {\n modelValue.value = value;\n } else {\n internalUpdateModelValue(value);\n }\n };\n const { focused } = useFocus(input, {\n initialValue: props.autofocus\n });\n const _formatValue = (value, evt, force = false) => {\n if (props.formatter !== void 0 && (!props.lazyFormatter || force)) {\n return props.formatter(value, evt);\n }\n return value;\n };\n onMounted(() => {\n if (input.value) {\n input.value.value = modelValue.value?.toString() ?? \"\";\n }\n });\n onActivated(() => {\n nextTick(() => {\n if (props.autofocus) {\n focused.value = true;\n }\n });\n });\n const onInput = (evt) => {\n const { value } = evt.target;\n const formattedValue = _formatValue(value, evt);\n if (evt.defaultPrevented) {\n evt.preventDefault();\n return;\n }\n const nextModel = formattedValue;\n updateModelValue(nextModel);\n };\n const onChange = (evt) => {\n const { value } = evt.target;\n const formattedValue = _formatValue(value, evt);\n if (evt.defaultPrevented) {\n evt.preventDefault();\n return;\n }\n const nextModel = formattedValue;\n if (modelValue.value !== nextModel) {\n updateModelValue(formattedValue, true);\n }\n };\n const onBlur = (evt) => {\n if (!modelModifiers.lazy && !props.lazyFormatter && !modelModifiers.trim && debounceNumber.value <= 0)\n return;\n const { value } = evt.target;\n const formattedValue = _formatValue(value, evt, true);\n const nextModel = modelModifiers.trim ? formattedValue.trim() : formattedValue;\n const needsForceUpdate = nextModel.length !== formattedValue.length;\n internalUpdateModelValue.cancel();\n if (modelValue.value !== nextModel) {\n updateModelValue(formattedValue, true, true);\n }\n if (modelModifiers.trim && needsForceUpdate) {\n forceUpdateKey.value = forceUpdateKey.value + 1;\n }\n };\n const focus = () => {\n if (!props.disabled) {\n focused.value = true;\n }\n };\n const blur = () => {\n if (!props.disabled) {\n focused.value = false;\n }\n };\n return {\n input,\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n focus,\n blur,\n forceUpdateKey,\n stateClass\n };\n};\nexport {\n normalizeInput as n,\n useFormInput as u\n};\n//# sourceMappingURL=useFormInput-BmMsEwZS.mjs.map\n","import { defineComponent, mergeModels, useModel, useTemplateRef, computed, createElementBlock, openBlock, unref, normalizeClass } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { n as normalizeInput, u as useFormInput } from \"./useFormInput-BmMsEwZS.mjs\";\nconst _hoisted_1 = [\"id\", \"value\", \"name\", \"form\", \"type\", \"disabled\", \"placeholder\", \"required\", \"autocomplete\", \"readonly\", \"min\", \"max\", \"step\", \"list\", \"aria-required\", \"aria-invalid\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormInput\",\n props: /* @__PURE__ */ mergeModels({\n max: { default: void 0 },\n min: { default: void 0 },\n step: { default: void 0 },\n type: { default: \"text\" },\n ariaInvalid: { type: [Boolean, String], default: void 0 },\n autocomplete: { default: void 0 },\n autofocus: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n form: { default: void 0 },\n formatter: { type: Function, default: void 0 },\n id: { default: void 0 },\n lazyFormatter: { type: Boolean, default: false },\n list: { default: void 0 },\n name: { default: void 0 },\n placeholder: { default: void 0 },\n plaintext: { type: Boolean, default: false },\n readonly: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n size: { default: void 0 },\n state: { type: [Boolean, null], default: void 0 },\n debounce: { default: 0 },\n debounceMaxWait: { default: Number.NaN }\n }, {\n \"modelValue\": {\n default: \"\"\n },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormInput\");\n const [modelValue, modelModifiers] = useModel(__props, \"modelValue\", {\n set: (v) => normalizeInput(v, modelModifiers)\n });\n const input = useTemplateRef(\"_input\");\n const {\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n stateClass,\n focus,\n blur,\n forceUpdateKey\n } = useFormInput(props, input, modelValue, modelModifiers);\n const computedClasses = computed(() => {\n const isRange = props.type === \"range\";\n const isColor = props.type === \"color\";\n return [\n stateClass.value,\n {\n \"form-range\": isRange,\n \"form-control\": isColor || !props.plaintext && !isRange,\n \"form-control-color\": isColor,\n \"form-control-plaintext\": props.plaintext && !isRange && !isColor,\n [`form-control-${props.size}`]: !!props.size\n }\n ];\n });\n __expose({\n blur,\n element: input,\n focus\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"input\", {\n id: unref(computedId),\n ref: \"_input\",\n key: unref(forceUpdateKey),\n value: unref(modelValue),\n class: normalizeClass(computedClasses.value),\n name: unref(props).name || void 0,\n form: unref(props).form || void 0,\n type: unref(props).type,\n disabled: unref(props).disabled,\n placeholder: unref(props).placeholder,\n required: unref(props).required || void 0,\n autocomplete: unref(props).autocomplete || void 0,\n readonly: unref(props).readonly || unref(props).plaintext,\n min: unref(props).min,\n max: unref(props).max,\n step: unref(props).step,\n list: unref(props).type !== \"password\" ? unref(props).list : void 0,\n \"aria-required\": unref(props).required || void 0,\n \"aria-invalid\": unref(computedAriaInvalid),\n onInput: _cache[0] || (_cache[0] = //@ts-ignore\n (...args) => unref(onInput) && unref(onInput)(...args)),\n onChange: _cache[1] || (_cache[1] = //@ts-ignore\n (...args) => unref(onChange) && unref(onChange)(...args)),\n onBlur: _cache[2] || (_cache[2] = //@ts-ignore\n (...args) => unref(onBlur) && unref(onBlur)(...args))\n }, null, 42, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BFormInput.vue_vue_type_script_setup_true_lang-D3z3jxbI.mjs.map\n","import { defineComponent, mergeModels, useSlots, useModel, inject, useTemplateRef, computed, createBlock, openBlock, normalizeClass, unref, withCtx, withDirectives, createElementBlock, createCommentVNode, createElementVNode, mergeProps, vModelRadio, renderSlot, provide, toRef, Fragment, renderList, createTextVNode, toDisplayString } from \"vue\";\nimport { l as radioGroupKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useFocus } from \"./index-C0p9vHHI.mjs\";\nimport { g as getClasses, a as getInputClasses, b as getLabelClasses, c as getGroupAttr, d as getGroupClasses } from \"./useFormCheck-Bcx8Ea7M.mjs\";\nimport { i as isEmptySlot } from \"./dom-DVb-f0ZG.mjs\";\nimport { _ as _sfc_main$2 } from \"./ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nconst _hoisted_1$1 = [\"id\", \"disabled\", \"required\", \"name\", \"form\", \"aria-label\", \"aria-labelledby\", \"value\", \"aria-required\"];\nconst _hoisted_2 = [\"for\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BFormRadio\",\n props: /* @__PURE__ */ mergeModels({\n ariaLabel: { default: void 0 },\n ariaLabelledby: { default: void 0 },\n autofocus: { type: Boolean, default: false },\n button: { type: Boolean, default: false },\n buttonGroup: { type: Boolean, default: false },\n buttonVariant: { default: null },\n disabled: { type: Boolean, default: false },\n form: { default: void 0 },\n id: { default: void 0 },\n inline: { type: Boolean, default: false },\n name: { default: void 0 },\n plain: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n reverse: { type: Boolean, default: false },\n size: { default: void 0 },\n state: { type: [Boolean, null], default: null },\n value: { type: [Boolean, String, Array, Object, Number, null], default: true }\n }, {\n \"modelValue\": { type: [Boolean, String, Array, Object, Number, null], ...{\n default: void 0\n } },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormRadio\");\n const slots = useSlots();\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"form-check\");\n const parentData = inject(radioGroupKey, null);\n const input = useTemplateRef(\"_input\");\n const { focused } = useFocus(input, {\n initialValue: props.autofocus\n });\n const hasDefaultSlot = computed(() => !isEmptySlot(slots.default));\n const localValue = computed({\n get: () => parentData ? parentData.modelValue.value : modelValue.value,\n set: (newValue) => {\n if (newValue === void 0) return;\n if (parentData !== null) {\n parentData.modelValue.value = newValue;\n return;\n }\n modelValue.value = newValue;\n }\n });\n const computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n );\n const isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false));\n const classesObject = computed(() => ({\n plain: props.plain || (parentData?.plain.value ?? false),\n button: props.button || (parentData?.buttons.value ?? false),\n inline: props.inline || (parentData?.inline.value ?? false),\n state: props.state || parentData?.state.value,\n reverse: props.reverse || (parentData?.reverse.value ?? false),\n size: props.size ?? parentData?.size.value ?? \"md\",\n // This is where the true default is made\n buttonVariant: props.buttonVariant ?? parentData?.buttonVariant.value ?? \"secondary\",\n // This is where the true default is made\n hasDefaultSlot: hasDefaultSlot.value\n }));\n const computedClasses = getClasses(classesObject);\n const inputClasses = getInputClasses(classesObject);\n const labelClasses = getLabelClasses(classesObject);\n __expose({\n blur: () => {\n focused.value = false;\n },\n element: input,\n focus: () => {\n focused.value = true;\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$2, {\n skip: isButtonGroup.value,\n class: normalizeClass(unref(computedClasses))\n }, {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"input\", mergeProps({ id: unref(computedId) }, _ctx.$attrs, {\n ref: \"_input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => localValue.value = $event),\n class: unref(inputClasses),\n type: \"radio\",\n disabled: unref(props).disabled || unref(parentData)?.disabled.value,\n required: computedRequired.value || void 0,\n name: unref(props).name || unref(parentData)?.name.value,\n form: unref(props).form || unref(parentData)?.form.value,\n \"aria-label\": unref(props).ariaLabel,\n \"aria-labelledby\": unref(props).ariaLabelledby,\n value: unref(props).value,\n \"aria-required\": computedRequired.value || void 0\n }), null, 16, _hoisted_1$1), [\n [vModelRadio, localValue.value]\n ]),\n hasDefaultSlot.value || unref(props).plain === false ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n for: unref(computedId),\n class: normalizeClass(unref(labelClasses))\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_2)) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"skip\", \"class\"]);\n };\n }\n});\nconst _hoisted_1 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormRadioGroup\",\n props: /* @__PURE__ */ mergeModels({\n ariaInvalid: { type: [Boolean, String], default: void 0 },\n autofocus: { type: Boolean, default: false },\n buttonVariant: { default: \"secondary\" },\n buttons: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n disabledField: { default: \"disabled\" },\n form: { default: void 0 },\n id: { default: void 0 },\n name: { default: void 0 },\n options: { default: () => [] },\n plain: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n reverse: { type: Boolean, default: false },\n size: { default: \"md\" },\n stacked: { type: Boolean, default: false },\n state: { type: [Boolean, null], default: null },\n textField: { default: \"text\" },\n validated: { type: Boolean, default: false },\n valueField: { default: \"value\" }\n }, {\n \"modelValue\": {\n default: null\n },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormRadioGroup\");\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"radio\");\n const computedName = useId(() => props.name, \"checkbox\");\n const element = useTemplateRef(\"_element\");\n const { focused } = useFocus(element, {\n initialValue: props.autofocus\n });\n provide(radioGroupKey, {\n modelValue,\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n buttons: toRef(() => props.buttons),\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n disabled: toRef(() => props.disabled)\n });\n const normalizeOptions = computed(\n () => props.options.map(\n (el) => typeof el === \"string\" || typeof el === \"number\" ? {\n value: el,\n disabled: props.disabled,\n text: el.toString()\n } : {\n ...el,\n value: el[props.valueField],\n disabled: el[props.disabledField],\n text: el[props.textField]\n }\n )\n );\n const classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size\n }));\n const computedAttrs = getGroupAttr(classesObject);\n const computedClasses = getGroupClasses(classesObject);\n __expose({\n blur: () => {\n focused.value = false;\n },\n focus: () => {\n focused.value = true;\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", mergeProps(unref(computedAttrs), {\n id: unref(computedId),\n ref: \"_element\",\n role: \"radiogroup\",\n class: [unref(computedClasses), \"bv-no-focus-ring\"],\n tabindex: \"-1\"\n }), [\n renderSlot(_ctx.$slots, \"first\"),\n (openBlock(true), createElementBlock(Fragment, null, renderList(normalizeOptions.value, (item, index) => {\n return openBlock(), createBlock(_sfc_main$1, mergeProps({ key: index }, { ref_for: true }, item), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"option\", mergeProps({ ref_for: true }, item), () => [\n createTextVNode(toDisplayString(item.text), 1)\n ])\n ]),\n _: 2\n }, 1040);\n }), 128)),\n renderSlot(_ctx.$slots, \"default\")\n ], 16, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BFormRadioGroup.vue_vue_type_script_setup_true_lang-LQBMttYK.mjs.map\n","import { defineComponent, mergeModels, useModel, computed, ref, createElementBlock, openBlock, normalizeClass, unref, createCommentVNode, renderSlot, createElementVNode, Fragment, renderList, normalizeStyle, toDisplayString } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nconst _hoisted_1 = [\"id\", \"aria-valuemax\", \"aria-valuenow\", \"aria-valuetext\"];\nconst _hoisted_2 = [\"name\", \"form\", \"value\"];\nconst _hoisted_3 = [\"onClick\"];\nconst _hoisted_4 = { class: \"b-form-rating-star\" };\nconst _hoisted_5 = [\"width\", \"height\"];\nconst _hoisted_6 = {\n key: 0,\n d: \"M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z\"\n};\nconst _hoisted_7 = {\n key: 1,\n d: \"M5.354 5.119 7.538.792A.52.52 0 0 1 8 .5c.183 0 .366.097.465.292l2.184 4.327 4.898.696A.54.54 0 0 1 16 6.32a.55.55 0 0 1-.17.445l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256a.5.5 0 0 1-.146.05c-.342.06-.668-.254-.6-.642l.83-4.73L.173 6.765a.55.55 0 0 1-.172-.403.6.6 0 0 1 .085-.302.51.51 0 0 1 .37-.245zM8 12.027a.5.5 0 0 1 .232.056l3.686 1.894-.694-3.957a.56.56 0 0 1 .162-.505l2.907-2.77-4.052-.576a.53.53 0 0 1-.393-.288L8.001 2.223 8 2.226z\"\n};\nconst _hoisted_8 = {\n key: 2,\n d: \"M2.866 14.85c-.078.444.36.791.746.593l4.39-2.256 4.389 2.256c.386.198.824-.149.746-.592l-.83-4.73 3.522-3.356c.33-.314.16-.888-.282-.95l-4.898-.696L8.465.792a.513.513 0 0 0-.927 0L5.354 5.12l-4.898.696c-.441.062-.612.636-.283.95l3.522 3.356-.83 4.73zm4.905-2.767-3.686 1.894.694-3.957a.56.56 0 0 0-.163-.505L1.71 6.745l4.052-.576a.53.53 0 0 0 .393-.288L8 2.223l1.847 3.658a.53.53 0 0 0 .393.288l4.052.575-2.906 2.77a.56.56 0 0 0-.163.506l.694 3.957-3.686-1.894a.5.5 0 0 0-.461 0z\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormRating\",\n props: /* @__PURE__ */ mergeModels({\n color: { default: \"\" },\n id: { default: void 0 },\n inline: { type: Boolean, default: false },\n noBorder: { type: Boolean, default: false },\n precision: { default: 0 },\n readonly: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n form: { default: void 0 },\n name: { default: void 0 },\n showClear: { type: Boolean, default: false },\n showValue: { type: Boolean, default: false },\n showValueMax: { type: Boolean, default: false },\n size: { default: \"1rem\" },\n stars: { default: 5 },\n variant: { default: void 0 }\n }, {\n \"modelValue\": { default: 0 },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormRating\");\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"form-rating\");\n const computedClasses = computed(() => ({\n \"is-readonly\": props.readonly,\n \"is-disabled\": props.disabled,\n \"no-border\": props.noBorder,\n \"b-form-rating\": true,\n \"d-inline-block\": props.inline,\n \"w-100\": !props.inline\n }));\n function isIconFull(index) {\n return displayValue.value - index >= 1;\n }\n function isIconHalf(index) {\n const diff = displayValue.value - index;\n return diff >= 0.5 && diff < 1;\n }\n const hoverValue = ref(null);\n const localValue = computed({\n get: () => modelValue.value,\n set: (value) => {\n modelValue.value = value;\n }\n });\n const displayValue = computed(\n () => hoverValue.value !== null ? hoverValue.value : localValue.value\n );\n const clampedStars = computed(() => Math.max(3, props.stars));\n const computedSize = computed(() => {\n if (props.size === \"sm\") return \".875rem\";\n if (props.size === \"lg\") return \"1.25rem\";\n return props.size;\n });\n const displayValueText = computed(() => {\n const decimalValue = props.precision > 0 ? roundedValue.value : displayValue.value;\n if (props.showValueMax) {\n return `${decimalValue}/${clampedStars.value}`;\n }\n if (props.showValue) {\n return `${decimalValue}`;\n }\n return \"\";\n });\n const roundedValue = computed(() => {\n const val = displayValue.value;\n const factor = 10 ** props.precision;\n return Math.round((val + Number.EPSILON) * factor) / factor;\n });\n const iconColors = computed(\n () => Array.from({ length: clampedStars.value }, () => {\n if (props.disabled) {\n return { class: \"is-disabled\", style: {} };\n }\n if (props.variant) {\n return { class: `text-${props.variant}`, style: {} };\n }\n if (props.color) {\n return { class: \"\", style: { color: props.color } };\n }\n return { class: \"\", style: {} };\n })\n );\n function onKeydown(e) {\n if (props.readonly || props.disabled) return;\n let newValue = localValue.value;\n switch (e.key) {\n case \"ArrowRight\":\n case \"ArrowUp\":\n newValue = Math.min(newValue + 1, clampedStars.value);\n break;\n case \"ArrowLeft\":\n case \"ArrowDown\":\n newValue = Math.max(newValue - 1, 0);\n break;\n default:\n return;\n }\n e.preventDefault();\n localValue.value = newValue;\n }\n function selectRating(starIndex) {\n if (props.readonly || props.disabled) return;\n const selectedRating = hoverValue.value !== null ? hoverValue.value : starIndex;\n localValue.value = selectedRating;\n }\n function clearRating() {\n hoverValue.value = null;\n localValue.value = 0;\n }\n __expose({\n hoverValue\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: unref(computedId),\n class: normalizeClass(computedClasses.value),\n role: \"slider\",\n \"aria-valuemin\": 0,\n \"aria-valuemax\": clampedStars.value,\n \"aria-valuenow\": displayValue.value,\n \"aria-valuetext\": `${displayValue.value} of ${clampedStars.value}`,\n tabindex: \"0\",\n onKeydown\n }, [\n unref(props).name && !unref(props).disabled ? (openBlock(), createElementBlock(\"input\", {\n key: \"hidden\",\n type: \"hidden\",\n name: unref(props).name,\n form: unref(props).form,\n value: localValue.value\n }, null, 8, _hoisted_2)) : createCommentVNode(\"\", true),\n unref(props).showClear && !unref(props).readonly && !unref(props).disabled ? (openBlock(), createElementBlock(\"span\", {\n key: 1,\n class: \"clear-button-spacing\",\n onClick: clearRating\n }, [\n renderSlot(_ctx.$slots, \"icon-clear\", {}, () => [\n _cache[0] || (_cache[0] = createElementVNode(\"svg\", {\n viewBox: \"0 0 16 16\",\n role: \"img\",\n \"aria-label\": \"x\",\n xmlns: \"http://www.w3.org/2000/svg\",\n class: \"clear-icon\"\n }, [\n createElementVNode(\"g\", null, [\n createElementVNode(\"path\", { d: \"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708\" })\n ])\n ], -1))\n ])\n ])) : createCommentVNode(\"\", true),\n (openBlock(true), createElementBlock(Fragment, null, renderList(clampedStars.value, (starIndex, index) => {\n return openBlock(), createElementBlock(\"span\", {\n key: starIndex,\n class: \"star\",\n onClick: ($event) => selectRating(starIndex)\n }, [\n renderSlot(_ctx.$slots, \"default\", {\n starIndex,\n isFilled: isIconFull(index),\n isHalf: isIconHalf(index)\n }, () => [\n createElementVNode(\"span\", _hoisted_4, [\n (openBlock(), createElementBlock(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: computedSize.value,\n height: computedSize.value,\n fill: \"currentColor\",\n class: normalizeClass([[iconColors.value[index].class], \"star-spacing\"]),\n style: normalizeStyle(iconColors.value[index].style),\n viewBox: \"0 0 16 16\"\n }, [\n isIconFull(index) ? (openBlock(), createElementBlock(\"path\", _hoisted_6)) : isIconHalf(index) ? (openBlock(), createElementBlock(\"path\", _hoisted_7)) : (openBlock(), createElementBlock(\"path\", _hoisted_8))\n ], 14, _hoisted_5))\n ])\n ])\n ], 8, _hoisted_3);\n }), 128)),\n unref(props).showValue || unref(props).showValueMax ? (openBlock(), createElementBlock(\"span\", {\n key: 2,\n style: normalizeStyle({ fontSize: computedSize.value }),\n class: \"rating-value-text\"\n }, toDisplayString(displayValueText.value), 5)) : createCommentVNode(\"\", true)\n ], 42, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BFormRating.vue_vue_type_script_setup_true_lang-DxkXJngG.mjs.map\n","import { defineComponent, createElementBlock, openBlock, unref, renderSlot, Fragment, renderList, createBlock, mergeProps, withCtx, createTextVNode, toDisplayString, mergeModels, useModel, useTemplateRef, computed, provide, readonly, withDirectives, normalizeClass, vModelSelect } from \"vue\";\nimport { u as useFormSelect, _ as _sfc_main$2 } from \"./useFormSelect-DvaFh_iu.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useAriaInvalid } from \"./useAriaInvalid-BTUbGj3Y.mjs\";\nimport { u as useFocus } from \"./index-C0p9vHHI.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { u as useStateClass } from \"./useStateClass-BGbSLWFN.mjs\";\nimport { n as formSelectKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst _hoisted_1$1 = [\"label\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BFormSelectOptionGroup\",\n props: {\n disabledField: { default: \"disabled\" },\n label: { default: void 0 },\n options: { default: () => [] },\n textField: { default: \"text\" },\n valueField: { default: \"value\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormSelectOptionGroup\");\n const { normalizedOptions } = useFormSelect(() => props.options, props);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"optgroup\", {\n label: unref(props).label\n }, [\n renderSlot(_ctx.$slots, \"first\"),\n (openBlock(true), createElementBlock(Fragment, null, renderList(unref(normalizedOptions), (option, index) => {\n return openBlock(), createBlock(_sfc_main$2, mergeProps({\n key: index,\n disabled: option.disabled,\n value: option.value\n }, { ref_for: true }, _ctx.$attrs), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"option\", mergeProps({ ref_for: true }, option), () => [\n createTextVNode(toDisplayString(option.text), 1)\n ])\n ]),\n _: 2\n }, 1040, [\"disabled\", \"value\"]);\n }), 128)),\n renderSlot(_ctx.$slots, \"default\")\n ], 8, _hoisted_1$1);\n };\n }\n});\nconst _hoisted_1 = [\"id\", \"name\", \"form\", \"multiple\", \"size\", \"disabled\", \"required\", \"aria-required\", \"aria-invalid\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormSelect\",\n props: /* @__PURE__ */ mergeModels({\n ariaInvalid: { type: [Boolean, String], default: void 0 },\n autofocus: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n disabledField: { default: \"disabled\" },\n form: { default: void 0 },\n id: { default: void 0 },\n labelField: { default: \"label\" },\n multiple: { type: Boolean, default: false },\n name: { default: void 0 },\n options: { default: () => [] },\n optionsField: { default: \"options\" },\n plain: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n selectSize: { default: 0 },\n size: { default: \"md\" },\n state: { type: [Boolean, null], default: null },\n textField: { default: \"text\" },\n valueField: { default: \"value\" }\n }, {\n \"modelValue\": {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: \"\"\n },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormSelect\");\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"input\");\n const selectSizeNumber = useToNumber(() => props.selectSize);\n const stateClass = useStateClass(() => props.state);\n const input = useTemplateRef(\"_input\");\n const { focused } = useFocus(input, {\n initialValue: props.autofocus\n });\n const computedClasses = computed(() => [\n stateClass.value,\n {\n \"form-control\": props.plain,\n [`form-control-${props.size}`]: props.size !== \"md\" && props.plain,\n \"form-select\": !props.plain,\n [`form-select-${props.size}`]: props.size !== \"md\" && !props.plain\n }\n ]);\n const computedSelectSize = computed(\n () => selectSizeNumber.value || props.plain ? selectSizeNumber.value : void 0\n );\n const computedAriaInvalid = useAriaInvalid(\n () => props.ariaInvalid,\n () => props.state\n );\n const { normalizedOptions, isComplex } = useFormSelect(() => props.options, props);\n const normalizedOptsWrapper = computed(\n () => normalizedOptions.value\n );\n const localValue = computed({\n get: () => modelValue.value,\n set: (newValue) => {\n modelValue.value = newValue;\n }\n });\n provide(formSelectKey, {\n modelValue: readonly(localValue)\n });\n __expose({\n blur: () => {\n focused.value = false;\n },\n element: input,\n focus: () => {\n focused.value = true;\n }\n });\n return (_ctx, _cache) => {\n return withDirectives((openBlock(), createElementBlock(\"select\", {\n id: unref(computedId),\n ref: \"_input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => localValue.value = $event),\n class: normalizeClass(computedClasses.value),\n name: unref(props).name,\n form: unref(props).form || void 0,\n multiple: unref(props).multiple || void 0,\n size: computedSelectSize.value,\n disabled: unref(props).disabled,\n required: unref(props).required || void 0,\n \"aria-required\": unref(props).required || void 0,\n \"aria-invalid\": unref(computedAriaInvalid)\n }, [\n renderSlot(_ctx.$slots, \"first\"),\n (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptsWrapper.value, (option, index) => {\n return openBlock(), createElementBlock(Fragment, { key: index }, [\n unref(isComplex)(option) ? (openBlock(), createBlock(_sfc_main$1, {\n key: 0,\n label: option.label,\n options: option.options,\n \"value-field\": unref(props).valueField,\n \"text-field\": unref(props).textField,\n \"disabled-field\": unref(props).disabledField\n }, null, 8, [\"label\", \"options\", \"value-field\", \"text-field\", \"disabled-field\"])) : (openBlock(), createBlock(_sfc_main$2, {\n key: 1,\n value: option.value,\n disabled: option.disabled\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"option\", mergeProps({ ref_for: true }, option), () => [\n createTextVNode(toDisplayString(option.text), 1)\n ])\n ]),\n _: 2\n }, 1032, [\"value\", \"disabled\"]))\n ], 64);\n }), 128)),\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1)), [\n [vModelSelect, localValue.value]\n ]);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$1 as a\n};\n//# sourceMappingURL=BFormSelect.vue_vue_type_script_setup_true_lang-CkLgnxVA.mjs.map\n","import { inject, onMounted, watch, defineComponent, mergeModels, useModel, useTemplateRef, computed, createElementBlock, openBlock, unref, normalizeClass, renderSlot, createCommentVNode, createElementVNode, mergeProps, normalizeProps, guardReactiveProps, toDisplayString } from \"vue\";\nimport { s as stopEvent, e as eventOnOff } from \"./event-a_bi5ysw.mjs\";\nimport { a as CODE_UP, c as CODE_DOWN, o as CODE_PAGEUP, p as CODE_PAGEDOWN, m as CODE_HOME, n as CODE_END } from \"./constants-Cx335y3L.mjs\";\nimport { u as useFocus, o as onKeyStroke } from \"./index-C0p9vHHI.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { r as rtlRegistryKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst useRtl = () => {\n const rtlPlugin = inject(rtlRegistryKey);\n onMounted(() => {\n watch(\n () => rtlPlugin?.locale.value,\n (newValue) => {\n const html = document.documentElement;\n html.setAttribute(\"lang\", newValue ?? \"\");\n },\n { immediate: true }\n );\n watch(\n () => rtlPlugin?.isRtl.value,\n (newValue) => {\n const html = document.documentElement;\n html.setAttribute(\"dir\", newValue ?? false ? \"rtl\" : \"ltr\");\n },\n { immediate: true }\n );\n });\n return { ...rtlPlugin };\n};\nconst _hoisted_1 = [\"lang\", \"tabindex\", \"title\"];\nconst _hoisted_2 = [\"name\", \"form\", \"value\"];\nconst _hoisted_3 = [\"id\", \"dir\", \"tabindex\", \"aria-label\", \"aria-invalid\", \"aria-required\", \"aria-valuemin\", \"aria-valuemax\", \"aria-valuenow\", \"aria-valuetext\"];\nconst defaultValues = {\n min: 1,\n max: 100,\n step: 1,\n repeatDelay: 500,\n repeatInterval: 100,\n repeatThreshold: 10,\n repeatMultiplier: 4\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormSpinbutton\",\n props: /* @__PURE__ */ mergeModels({\n ariaControls: { default: void 0 },\n ariaLabel: { default: void 0 },\n disabled: { type: Boolean, default: false },\n form: { default: void 0 },\n formatterFn: { type: Function, default: void 0 },\n id: { default: void 0 },\n inline: { type: Boolean, default: false },\n labelDecrement: { default: \"Decrement\" },\n labelIncrement: { default: \"Increment\" },\n locale: { default: void 0 },\n max: { default: defaultValues.max },\n min: { default: defaultValues.min },\n name: { default: void 0 },\n placeholder: { default: void 0 },\n readonly: { type: Boolean, default: false },\n repeatDelay: { default: defaultValues.repeatDelay },\n repeatInterval: { default: defaultValues.repeatInterval },\n repeatStepMultiplier: { default: defaultValues.repeatMultiplier },\n repeatThreshold: { default: defaultValues.repeatThreshold },\n required: { type: Boolean, default: false },\n size: { default: void 0 },\n state: { type: [Boolean, null], default: null },\n step: { default: defaultValues.step },\n vertical: { type: Boolean, default: false },\n wrap: { type: Boolean, default: false }\n }, {\n \"modelValue\": {\n default: null\n },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"change\"], [\"update:modelValue\"]),\n setup(__props, { emit: __emit }) {\n const KEY_CODES = [CODE_UP, CODE_DOWN, CODE_HOME, CODE_END, CODE_PAGEUP, CODE_PAGEDOWN];\n const _props = __props;\n const props = useDefaults(_props, \"BFormSpinbutton\");\n const emit = __emit;\n const modelValue = useModel(__props, \"modelValue\");\n const element = useTemplateRef(\"_element\");\n const { focused } = useFocus(element);\n const computedId = useId(() => props.id, \"spinbutton\");\n const computedClasses = computed(() => ({\n \"disabled\": props.disabled,\n \"readonly\": props.readonly,\n \"focus\": focused.value,\n \"d-inline-flex\": props.inline || props.vertical,\n \"d-flex\": !props.inline && !props.vertical,\n \"align-items-stretch\": !props.vertical,\n \"flex-column\": props.vertical,\n [`form-control-${props.size}`]: props.size !== void 0\n }));\n const computedSpinClasses = computed(() => ({\n \"d-flex\": props.vertical,\n \"align-self-center\": !props.vertical,\n \"align-items-center\": props.vertical,\n \"border-top\": props.vertical,\n \"border-bottom\": props.vertical,\n \"border-start\": !props.vertical,\n \"border-end\": !props.vertical\n }));\n let $_autoDelayTimer;\n let $_autoRepeatTimer;\n let $_keyIsDown = false;\n const stepNumber = useToNumber(() => props.step);\n const computedStep = computed(\n () => Number.isNaN(stepNumber.value) ? defaultValues.step : stepNumber.value\n );\n const minNumber = useToNumber(() => props.min);\n const computedMin = computed(\n () => Number.isNaN(minNumber.value) ? defaultValues.min : minNumber.value\n );\n const maxNumber = useToNumber(() => props.max);\n const computedMax = computed(() => {\n const step = computedStep.value;\n const min = computedMin.value;\n return Math.floor((maxNumber.value - min) / step) * step + min;\n });\n const repeatDelayNumber = useToNumber(() => props.repeatDelay, {\n nanToZero: true,\n method: \"parseInt\"\n });\n const computedDelay = computed(\n () => repeatDelayNumber.value > 0 ? repeatDelayNumber.value : defaultValues.repeatDelay\n );\n const repeatIntervalNumber = useToNumber(() => props.repeatInterval, {\n nanToZero: true,\n method: \"parseInt\"\n });\n const computedInterval = computed(\n () => repeatIntervalNumber.value > 0 ? repeatIntervalNumber.value : defaultValues.repeatInterval\n );\n const repeatThresholdNumber = useToNumber(() => props.repeatThreshold, {\n nanToZero: true,\n method: \"parseInt\"\n });\n const computedThreshold = computed(\n () => Math.max(\n Number.isNaN(repeatThresholdNumber.value) ? defaultValues.repeatThreshold : repeatThresholdNumber.value,\n 1\n )\n );\n const repeatStepMultiplierNumber = useToNumber(() => props.repeatStepMultiplier, {\n nanToZero: true,\n method: \"parseInt\"\n });\n const computedStepMultiplier = computed(\n () => Math.max(\n Number.isNaN(repeatStepMultiplierNumber.value) ? defaultValues.repeatMultiplier : repeatStepMultiplierNumber.value,\n 1\n )\n );\n const computedPrecision = computed(() => {\n const step = computedStep.value;\n return Math.floor(step) === step ? 0 : (step.toString().split(\".\")[1] || \"\").length;\n });\n const computedMultiplier = computed(() => Math.pow(10, computedPrecision.value || 0));\n const valueAsFixed = computed(\n () => modelValue.value === null ? \"\" : modelValue.value.toFixed(computedPrecision.value)\n );\n const { isRtl, locale: globalLocale } = useRtl();\n const computedLocale = computed(() => {\n const loc = (props.locale ?? globalLocale?.value) || \"locale\";\n const locales = [loc];\n const nf = new Intl.NumberFormat(locales);\n return nf.resolvedOptions().locale;\n });\n const defaultFormatter = () => new Intl.NumberFormat(computedLocale.value, {\n style: \"decimal\",\n useGrouping: false,\n minimumIntegerDigits: 1,\n minimumFractionDigits: computedPrecision.value,\n maximumFractionDigits: computedPrecision.value,\n notation: \"standard\"\n }).format;\n const computedFormatter = computed(() => props.formatterFn ?? defaultFormatter());\n const stepValue = (direction) => {\n let { value } = modelValue;\n if (!props.disabled && value !== null) {\n const step = computedStep.value * direction;\n const min = computedMin.value;\n const max = computedMax.value;\n const multiplier = computedMultiplier.value;\n const { wrap } = props;\n value = Math.round((value - min) / step) * step + min + step;\n value = Math.round(value * multiplier) / multiplier;\n modelValue.value = value > max ? wrap ? min : max : value < min ? wrap ? max : min : value;\n }\n };\n const stepUp = (multiplier = 1) => {\n if (modelValue.value === null) {\n modelValue.value = computedMin.value;\n return;\n }\n stepValue(1 * multiplier);\n };\n const stepDown = (multiplier = 1) => {\n if (modelValue.value === null) {\n modelValue.value = props.wrap ? computedMax.value : computedMin.value;\n return;\n }\n stepValue(-1 * multiplier);\n };\n onKeyStroke(\n KEY_CODES,\n (event) => {\n const { code, altKey, ctrlKey, metaKey } = event;\n if (props.disabled || props.readonly || altKey || ctrlKey || metaKey) return;\n stopEvent(event, { immediatePropagation: true });\n if ($_keyIsDown) {\n return;\n }\n resetTimers();\n if ([CODE_UP, CODE_DOWN].includes(code)) {\n $_keyIsDown = true;\n if (code === CODE_UP) {\n handleStepRepeat(event, stepUp);\n return;\n }\n if (code === CODE_DOWN) {\n handleStepRepeat(event, stepDown);\n }\n return;\n }\n if (code === CODE_PAGEUP) {\n stepUp(computedStepMultiplier.value);\n return;\n }\n if (code === CODE_PAGEDOWN) {\n stepDown(computedStepMultiplier.value);\n return;\n }\n if (code === CODE_HOME) {\n modelValue.value = computedMin.value;\n return;\n }\n if (code === CODE_END) {\n modelValue.value = computedMax.value;\n }\n },\n { target: element, eventName: \"keydown\" }\n );\n onKeyStroke(\n KEY_CODES,\n (event) => {\n const { altKey, ctrlKey, metaKey } = event;\n if (props.disabled || props.readonly || altKey || ctrlKey || metaKey) return;\n stopEvent(event, { immediatePropagation: true });\n resetTimers();\n $_keyIsDown = false;\n emit(\"change\", modelValue.value);\n },\n { target: element, eventName: \"keyup\" }\n );\n const handleStepRepeat = (event, stepper) => {\n const { type } = event || {};\n if (!props.disabled && !props.readonly) {\n if (isMouseEvent(event)) {\n if (type === \"mousedown\" && event.button) return;\n }\n resetTimers();\n stepper(1);\n const threshold = computedThreshold.value;\n const multiplier = computedStepMultiplier.value;\n const delay = computedDelay.value;\n const interval = computedInterval.value;\n $_autoDelayTimer = setTimeout(() => {\n let count = 0;\n $_autoRepeatTimer = setInterval(() => {\n stepper(count < threshold ? 1 : multiplier);\n count++;\n }, interval);\n }, delay);\n }\n };\n const isMouseEvent = (evt) => evt.type === \"mouseup\" || evt.type === \"mousedown\";\n const onMouseup = (event) => {\n if (isMouseEvent(event)) {\n if (event.type === \"mouseup\" && event.button) {\n return;\n }\n }\n stopEvent(event, { immediatePropagation: true });\n resetTimers();\n setMouseup(false);\n emit(\"change\", modelValue.value);\n };\n const setMouseup = (on) => {\n try {\n eventOnOff(on, [document.body, \"mouseup\", onMouseup, false]);\n eventOnOff(on, [document.body, \"touchend\", onMouseup, false]);\n } catch {\n }\n };\n const resetTimers = () => {\n clearTimeout($_autoDelayTimer);\n clearInterval($_autoRepeatTimer);\n $_autoDelayTimer = void 0;\n $_autoRepeatTimer = void 0;\n };\n const buttons = computed(() => {\n const incrementSvgAttrs = {\n svg: {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"16\",\n height: \"16\",\n fill: \"currentColor\",\n class: \"bi bi-plus\",\n viewBox: \"0 0 16 16\"\n },\n path: {\n d: \"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z\"\n }\n };\n const decrementSvgAttrs = {\n svg: {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"16\",\n height: \"16\",\n fill: \"currentColor\",\n class: \"bi bi-dash\",\n viewBox: \"0 0 16 16\"\n },\n path: { d: \"M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z\" }\n };\n const sharedButtonAttrs = {\n \"class\": [{ \"py-0\": !props.vertical }, \"btn\", \"btn-sm\", \"border-0\", \"rounded-0\"],\n \"tabindex\": \"-1\",\n \"type\": \"button\",\n \"disabled\": props.disabled || props.readonly,\n \"aria-disabled\": props.disabled || props.readonly ? true : void 0,\n \"aria-controls\": computedId.value\n };\n const sharedSvgAttrs = {\n \"aria-hidden\": true,\n \"scale\": focused.value ? 1.5 : 1.25\n };\n const handler = (event, stepper) => {\n if (!props.disabled && !props.readonly) {\n stopEvent(event, { immediatePropagation: true });\n setMouseup(true);\n focused.value = true;\n handleStepRepeat(event, stepper);\n }\n };\n const incrementAttrs = {\n button: {\n ...sharedButtonAttrs,\n \"aria-label\": props.labelIncrement || void 0,\n \"aria-keyshortcuts\": \"ArrowUp\"\n },\n svg: {\n ...sharedSvgAttrs,\n ...incrementSvgAttrs.svg\n },\n path: {\n ...incrementSvgAttrs.path\n },\n slot: {\n name: \"increment\"\n },\n handler: (e) => handler(e, stepUp)\n };\n const decrementAttrs = {\n button: {\n ...sharedButtonAttrs,\n \"aria-label\": props.labelDecrement || void 0,\n \"aria-keyshortcuts\": \"ArrowDown\"\n },\n svg: {\n ...sharedSvgAttrs,\n ...decrementSvgAttrs.svg\n },\n path: {\n ...decrementSvgAttrs.path\n },\n slot: {\n name: \"decrement\"\n },\n handler: (e) => handler(e, stepDown)\n };\n return {\n top: {\n ...props.vertical ? incrementAttrs : decrementAttrs\n },\n bottom: {\n ...!props.vertical ? incrementAttrs : decrementAttrs\n }\n };\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"_element\",\n class: normalizeClass([\"b-form-spinbutton form-control\", computedClasses.value]),\n role: \"group\",\n lang: computedLocale.value,\n tabindex: unref(props).disabled ? void 0 : \"-1\",\n title: unref(props).ariaLabel,\n onClick: _cache[4] || (_cache[4] = ($event) => focused.value = true)\n }, [\n renderSlot(_ctx.$slots, buttons.value.top.slot.name, { hasFocus: unref(focused) }, () => [\n createElementVNode(\"button\", mergeProps(buttons.value.top.button, {\n onMousedown: _cache[0] || (_cache[0] = //@ts-ignore\n (...args) => buttons.value.top.handler && buttons.value.top.handler(...args)),\n onTouchstart: _cache[1] || (_cache[1] = //@ts-ignore\n (...args) => buttons.value.top.handler && buttons.value.top.handler(...args))\n }), [\n (openBlock(), createElementBlock(\"svg\", normalizeProps(guardReactiveProps(buttons.value.top.svg)), [\n createElementVNode(\"path\", normalizeProps(guardReactiveProps(buttons.value.top.path)), null, 16)\n ], 16))\n ], 16)\n ]),\n unref(props).name && !unref(props).disabled ? (openBlock(), createElementBlock(\"input\", {\n key: \"hidden\",\n type: \"hidden\",\n name: unref(props).name,\n form: unref(props).form,\n value: valueAsFixed.value\n }, null, 8, _hoisted_2)) : createCommentVNode(\"\", true),\n createElementVNode(\"output\", {\n id: unref(computedId),\n key: \"output\",\n class: normalizeClass([\"flex-grow-1\", computedSpinClasses.value]),\n dir: unref(isRtl) ?? false ? \"rtl\" : \"ltr\",\n tabindex: unref(props).disabled ? void 0 : \"0\",\n role: \"spinbutton\",\n \"aria-live\": \"off\",\n \"aria-label\": unref(props).ariaLabel || void 0,\n \"aria-invalid\": unref(props).state === false || !modelValue.value !== null && unref(props).required ? true : void 0,\n \"aria-required\": unref(props).required ? true : void 0,\n \"aria-valuemin\": computedMin.value,\n \"aria-valuemax\": computedMax.value,\n \"aria-valuenow\": modelValue.value !== null ? modelValue.value : void 0,\n \"aria-valuetext\": modelValue.value !== null ? computedFormatter.value(modelValue.value) : void 0\n }, [\n createElementVNode(\"bdi\", null, toDisplayString((modelValue.value !== null ? computedFormatter.value(modelValue.value) : unref(props).placeholder) || \"\"), 1)\n ], 10, _hoisted_3),\n renderSlot(_ctx.$slots, buttons.value.bottom.slot.name, { hasFocus: unref(focused) }, () => [\n createElementVNode(\"button\", mergeProps(buttons.value.bottom.button, {\n onMousedown: _cache[2] || (_cache[2] = //@ts-ignore\n (...args) => buttons.value.bottom.handler && buttons.value.bottom.handler(...args)),\n onTouchstart: _cache[3] || (_cache[3] = //@ts-ignore\n (...args) => buttons.value.bottom.handler && buttons.value.bottom.handler(...args))\n }), [\n (openBlock(), createElementBlock(\"svg\", normalizeProps(guardReactiveProps(buttons.value.bottom.svg)), [\n createElementVNode(\"path\", normalizeProps(guardReactiveProps(buttons.value.bottom.path)), null, 16)\n ], 16))\n ], 16)\n ])\n ], 10, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BFormSpinbutton.vue_vue_type_script_setup_true_lang-BZZ4vW74.mjs.map\n","import { defineComponent, useSlots, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, createElementVNode, createCommentVNode, renderSlot, createTextVNode, toDisplayString, mergeModels, useModel, useTemplateRef, ref, createElementBlock, Fragment, renderList, mergeProps } from \"vue\";\nimport { u as useFocus, o as onKeyStroke } from \"./index-C0p9vHHI.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { e as escapeRegExpChars } from \"./stringUtils-gJJ6T6UC.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { _ as _sfc_main$2 } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useStateClass } from \"./useStateClass-BGbSLWFN.mjs\";\nimport { s as syncRef, u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst _hoisted_1$1 = [\"id\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BFormTag\",\n props: {\n disabled: { type: Boolean, default: false },\n id: { default: void 0 },\n noRemove: { type: Boolean, default: false },\n pill: { type: Boolean, default: false },\n removeLabel: { default: \"Remove tag\" },\n tag: { default: \"span\" },\n title: { default: void 0 },\n variant: { default: \"secondary\" }\n },\n emits: [\"remove\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormTag\");\n const emit = __emit;\n const slots = useSlots();\n const computedId = useId(() => props.id);\n const tagText = computed(\n () => ((slots.default?.({})[0].children ?? \"\").toString() || props.title) ?? \"\"\n );\n const taglabelId = computed(() => `${computedId.value}taglabel__`);\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n \"rounded-pill\": props.pill,\n \"disabled\": props.disabled\n }\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n id: unref(computedId),\n title: tagText.value,\n class: normalizeClass([\"badge b-form-tag d-inline-flex align-items-center mw-100\", computedClasses.value]),\n \"aria-labelledby\": taglabelId.value\n }, {\n default: withCtx(() => [\n createElementVNode(\"span\", {\n id: taglabelId.value,\n class: \"b-form-tag-content flex-grow-1 text-truncate\"\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(tagText.value), 1)\n ])\n ], 8, _hoisted_1$1),\n !unref(props).disabled && !unref(props).noRemove ? (openBlock(), createBlock(_sfc_main$2, {\n key: 0,\n \"aria-keyshortcuts\": \"Delete\",\n \"aria-label\": unref(props).removeLabel,\n class: \"b-form-tag-remove\",\n \"aria-describedby\": taglabelId.value,\n \"aria-controls\": unref(props).id,\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"remove\", tagText.value))\n }, null, 8, [\"aria-label\", \"aria-describedby\", \"aria-controls\"])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"id\", \"title\", \"class\", \"aria-labelledby\"]);\n };\n }\n});\nconst _hoisted_1 = [\"id\"];\nconst _hoisted_2 = [\"id\", \"for\", \"aria-live\"];\nconst _hoisted_3 = [\"id\", \"aria-live\"];\nconst _hoisted_4 = [\"id\"];\nconst _hoisted_5 = [\"aria-controls\"];\nconst _hoisted_6 = {\n role: \"group\",\n class: \"d-flex\"\n};\nconst _hoisted_7 = [\"id\", \"disabled\", \"value\", \"type\", \"placeholder\", \"form\", \"required\", \"aria-required\"];\nconst _hoisted_8 = [\"disabled\"];\nconst _hoisted_9 = [\"aria-live\"];\nconst _hoisted_10 = {\n key: 0,\n class: \"d-block invalid-feedback\"\n};\nconst _hoisted_11 = {\n key: 1,\n class: \"form-text text-body-secondary\"\n};\nconst _hoisted_12 = {\n key: 2,\n class: \"form-text text-body-secondary\"\n};\nconst _hoisted_13 = [\"name\", \"value\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormTags\",\n props: /* @__PURE__ */ mergeModels({\n addButtonText: { default: \"Add\" },\n addButtonVariant: { default: \"outline-secondary\" },\n addOnChange: { type: Boolean, default: false },\n autofocus: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n duplicateTagText: { default: \"Duplicate tag(s)\" },\n feedbackAriaLive: { default: \"assertive\" },\n form: { default: void 0 },\n inputAttrs: { default: void 0 },\n inputClass: { default: void 0 },\n inputId: { default: void 0 },\n inputType: { default: \"text\" },\n invalidTagText: { default: \"Invalid tag(s)\" },\n limit: { default: void 0 },\n limitTagsText: { default: \"Tag limit reached\" },\n name: { default: void 0 },\n noAddOnEnter: { type: Boolean, default: false },\n noOuterFocus: { type: Boolean, default: false },\n noTagRemove: { type: Boolean, default: false },\n placeholder: { default: \"Add tag...\" },\n removeOnDelete: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n separator: { default: void 0 },\n size: { default: \"md\" },\n state: { type: [Boolean, null], default: null },\n tagClass: { default: void 0 },\n tagPills: { type: Boolean, default: false },\n tagRemoveLabel: { default: void 0 },\n tagRemovedLabel: { default: \"Tag removed\" },\n tagValidator: { type: Function, default: () => true },\n tagVariant: { default: \"secondary\" }\n }, {\n \"modelValue\": {\n default: () => []\n },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"blur\", \"focus\", \"focusin\", \"focusout\", \"tag-state\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormTags\");\n const emit = __emit;\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId();\n const limitNumber = useToNumber(() => props.limit ?? Number.NaN);\n const stateClass = useStateClass(() => props.state);\n const input = useTemplateRef(\"_input\");\n const { focused } = useFocus(input, {\n initialValue: props.autofocus\n });\n const _inputId = computed(() => props.inputId || `${computedId.value}input__`);\n const tags = ref([...modelValue.value]);\n const inputValue = ref(\"\");\n const shouldRemoveOnDelete = ref(modelValue.value.length > 0);\n const lastRemovedTag = ref(\"\");\n const validTags = ref([]);\n const invalidTags = ref([]);\n const duplicateTags = ref([]);\n syncRef(modelValue, tags, {\n direction: \"ltr\",\n transform: {\n ltr: (v) => [...v]\n }\n });\n const computedClasses = computed(() => [\n stateClass.value,\n {\n [`form-control-${props.size}`]: props.size !== \"md\",\n disabled: props.disabled,\n focus: focused.value\n }\n ]);\n const isDuplicate = computed(() => tags.value.includes(inputValue.value));\n const isInvalid = computed(\n () => inputValue.value === \"\" ? false : !props.tagValidator(inputValue.value)\n );\n const isLimitReached = computed(() => tags.value.length === limitNumber.value);\n const disableAddButton = computed(() => !isInvalid.value && !isDuplicate.value);\n const onFocusin = (e) => {\n if (props.disabled) {\n const target = e.target;\n target.blur();\n return;\n }\n emit(\"focusin\", e);\n };\n const onFocus = (e) => {\n if (props.disabled || props.noOuterFocus) {\n return;\n }\n focused.value = true;\n emit(\"focus\", e);\n };\n const onBlur = (e) => {\n focused.value = false;\n emit(\"blur\", e);\n };\n const onInput = (e) => {\n const value = typeof e === \"string\" ? e : e.target.value;\n shouldRemoveOnDelete.value = false;\n if (props.separator?.includes(value.charAt(0)) && value.length > 0) {\n if (input.value) {\n input.value.value = \"\";\n }\n return;\n }\n inputValue.value = value;\n if (props.separator?.includes(value.charAt(value.length - 1))) {\n addTag(value.slice(0, value.length - 1));\n return;\n }\n validTags.value = props.tagValidator(value) && !isDuplicate.value ? [value] : [];\n invalidTags.value = props.tagValidator(value) ? [] : [value];\n duplicateTags.value = isDuplicate.value ? [value] : [];\n emit(\"tag-state\", validTags.value, invalidTags.value, duplicateTags.value);\n };\n const onChange = (e) => {\n if (props.addOnChange) {\n onInput(e);\n if (!isDuplicate.value) {\n addTag(inputValue.value);\n }\n }\n };\n const onKeydown = (e) => {\n if ((e.key === \"Enter\" || e.code === \"NumpadEnter\") && !props.noAddOnEnter) {\n addTag(inputValue.value);\n return;\n }\n if ((e.key === \"Backspace\" || e.key === \"Delete\") && props.removeOnDelete && inputValue.value === \"\" && shouldRemoveOnDelete.value && tags.value.length > 0) {\n removeTag(tags.value[tags.value.length - 1]);\n } else {\n shouldRemoveOnDelete.value = true;\n }\n };\n onKeyStroke(onKeydown, { target: input });\n const separator = computed(() => {\n if (!props.separator) {\n return;\n }\n return typeof props.separator === \"string\" ? props.separator : props.separator.join(\"\");\n });\n const separatorRegExp = computed(() => {\n if (!separator.value) {\n return;\n }\n return new RegExp(`[${escapeRegExpChars(separator.value)}]+`);\n });\n const addTag = (tag) => {\n tag = (tag ?? inputValue.value).trim();\n const newTags = separatorRegExp.value ? tag.split(separatorRegExp.value).map((t) => t.trim()) : [tag];\n const validTags2 = [];\n for (const newTag of newTags) {\n if (newTag === \"\" || isDuplicate.value || !props.tagValidator(newTag)) {\n continue;\n }\n if (limitNumber.value && isLimitReached.value) {\n break;\n }\n validTags2.push(newTag);\n }\n const newValue = [...modelValue.value, ...validTags2];\n inputValue.value = \"\";\n shouldRemoveOnDelete.value = true;\n modelValue.value = newValue;\n focused.value = true;\n };\n const removeTag = (tag) => {\n const tagIndex = tags.value.indexOf(tag?.toString() ?? \"\");\n if (tagIndex === -1) return;\n lastRemovedTag.value = tags.value.splice(tagIndex, 1).toString();\n modelValue.value = tags.value;\n };\n __expose({\n blur: () => {\n focused.value = false;\n },\n element: input,\n focus: () => {\n focused.value = true;\n },\n inputValue\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: unref(computedId),\n class: normalizeClass([\"b-form-tags form-control h-auto\", computedClasses.value]),\n role: \"group\",\n tabindex: \"-1\",\n onFocusin,\n onFocusout: _cache[1] || (_cache[1] = ($event) => emit(\"focusout\", $event))\n }, [\n createElementVNode(\"output\", {\n id: `${unref(computedId)}selected_tags__`,\n class: \"visually-hidden\",\n for: _inputId.value,\n \"aria-live\": unref(focused) ? \"polite\" : \"off\",\n \"aria-atomic\": \"true\",\n \"aria-relevant\": \"additions text\"\n }, toDisplayString(tags.value.join(\", \")), 9, _hoisted_2),\n createElementVNode(\"div\", {\n id: `${unref(computedId)}removed_tags__`,\n role: \"status\",\n \"aria-live\": unref(focused) ? \"assertive\" : \"off\",\n \"aria-atomic\": \"true\",\n class: \"visually-hidden\"\n }, \" (\" + toDisplayString(unref(props).tagRemovedLabel) + \") \" + toDisplayString(lastRemovedTag.value), 9, _hoisted_3),\n renderSlot(_ctx.$slots, \"default\", {\n addButtonText: unref(props).addButtonText,\n addButtonVariant: unref(props).addButtonVariant,\n addTag,\n disableAddButton: disableAddButton.value,\n disabled: unref(props).disabled,\n duplicateTagText: unref(props).duplicateTagText,\n duplicateTags: duplicateTags.value,\n form: unref(props).form,\n inputAttrs: {\n ...unref(props).inputAttrs,\n disabled: unref(props).disabled,\n form: unref(props).form,\n id: _inputId.value,\n value: inputValue.value\n },\n inputClass: unref(props).inputClass,\n inputHandlers: {\n input: onInput,\n keydown: onKeydown,\n change: onChange\n },\n inputId: _inputId.value,\n inputType: unref(props).inputType,\n invalidTagText: unref(props).invalidTagText,\n invalidTags: invalidTags.value,\n isDuplicate: isDuplicate.value,\n isInvalid: isInvalid.value,\n isLimitReached: isLimitReached.value,\n limitTagsText: unref(props).limitTagsText,\n limit: unref(limitNumber),\n noTagRemove: unref(props).noTagRemove,\n placeholder: unref(props).placeholder,\n removeTag,\n required: unref(props).required,\n separator: unref(props).separator,\n size: unref(props).size,\n state: unref(props).state,\n tagClass: unref(props).tagClass,\n tagPills: unref(props).tagPills,\n tagRemoveLabel: unref(props).tagRemoveLabel,\n tagVariant: unref(props).tagVariant,\n tags: tags.value\n }, () => [\n createElementVNode(\"ul\", {\n id: `${unref(computedId)}tag_list__`,\n class: \"b-form-tags-list list-unstyled mb-0 d-flex flex-wrap align-items-center\"\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(tags.value, (tag, index) => {\n return renderSlot(_ctx.$slots, \"tag\", {\n key: index,\n tag,\n tagClass: unref(props).tagClass,\n tagVariant: unref(props).tagVariant,\n tagPills: unref(props).tagPills,\n removeTag\n }, () => [\n (openBlock(), createBlock(_sfc_main$1, {\n key: tag,\n class: normalizeClass(unref(props).tagClass),\n tag: \"li\",\n variant: unref(props).tagVariant,\n pill: unref(props).tagPills,\n onRemove: removeTag\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(tag), 1)\n ]),\n _: 2\n }, 1032, [\"class\", \"variant\", \"pill\"]))\n ]);\n }), 128)),\n createElementVNode(\"li\", {\n role: \"none\",\n \"aria-live\": \"off\",\n class: \"b-from-tags-field flex-grow-1\",\n \"aria-controls\": `${unref(computedId)}tag_list__`\n }, [\n createElementVNode(\"div\", _hoisted_6, [\n createElementVNode(\"input\", mergeProps({\n id: _inputId.value,\n ref: \"_input\",\n disabled: unref(props).disabled,\n value: inputValue.value,\n type: unref(props).inputType,\n placeholder: unref(props).placeholder,\n class: \"b-form-tags-input w-100 flex-grow-1 p-0 m-0 bg-transparent border-0\",\n style: { \"outline\": \"currentcolor none 0px\", \"min-width\": \"5rem\" }\n }, unref(props).inputAttrs, {\n form: unref(props).form,\n required: unref(props).required || void 0,\n \"aria-required\": unref(props).required || void 0,\n onInput,\n onChange,\n onFocus,\n onBlur\n }), null, 16, _hoisted_7),\n disableAddButton.value ? (openBlock(), createElementBlock(\"button\", {\n key: 0,\n type: \"button\",\n class: normalizeClass([\"btn b-form-tags-button py-0\", [\n _ctx.inputClass,\n {\n [`btn-${unref(props).addButtonVariant}`]: unref(props).addButtonVariant !== null,\n \"disabled invisible\": inputValue.value.length === 0\n }\n ]]),\n style: { \"font-size\": \"90%\" },\n disabled: unref(props).disabled || inputValue.value.length === 0 || isLimitReached.value,\n onClick: _cache[0] || (_cache[0] = ($event) => addTag(inputValue.value))\n }, [\n renderSlot(_ctx.$slots, \"add-button-text\", {}, () => [\n createTextVNode(toDisplayString(unref(props).addButtonText), 1)\n ])\n ], 10, _hoisted_8)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_5)\n ], 8, _hoisted_4),\n createElementVNode(\"div\", {\n \"aria-live\": unref(props).feedbackAriaLive,\n \"aria-atomic\": \"true\"\n }, [\n isInvalid.value ? (openBlock(), createElementBlock(\"div\", _hoisted_10, toDisplayString(unref(props).invalidTagText) + \": \" + toDisplayString(inputValue.value), 1)) : createCommentVNode(\"\", true),\n isDuplicate.value ? (openBlock(), createElementBlock(\"small\", _hoisted_11, toDisplayString(unref(props).duplicateTagText) + \": \" + toDisplayString(inputValue.value), 1)) : createCommentVNode(\"\", true),\n tags.value.length === unref(props).limit ? (openBlock(), createElementBlock(\"small\", _hoisted_12, toDisplayString(unref(props).limitTagsText), 1)) : createCommentVNode(\"\", true)\n ], 8, _hoisted_9)\n ]),\n unref(props).name ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(tags.value, (tag, index) => {\n return openBlock(), createElementBlock(\"input\", {\n key: index,\n type: \"hidden\",\n name: unref(props).name,\n value: tag\n }, null, 8, _hoisted_13);\n }), 128)) : createCommentVNode(\"\", true)\n ], 42, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$1 as a\n};\n//# sourceMappingURL=BFormTags.vue_vue_type_script_setup_true_lang-C9rQBsnw.mjs.map\n","import { ref, computed, toValue, onMounted, nextTick, defineComponent, mergeModels, useModel, useTemplateRef, createElementBlock, openBlock, unref, normalizeStyle, normalizeClass } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { n as normalizeInput, u as useFormInput } from \"./useFormInput-BmMsEwZS.mjs\";\nimport { a as isVisible } from \"./dom-DVb-f0ZG.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst useTextareaResize = (input, {\n maxRows,\n noAutoShrink,\n rows\n}) => {\n const height = ref(0);\n const maxRowsNumber = useToNumber(\n computed(() => toValue(maxRows) || Number.NaN),\n {\n method: \"parseInt\",\n nanToZero: true\n }\n );\n const rowsNumber = useToNumber(rows, {\n method: \"parseInt\",\n nanToZero: true\n });\n const computedMinRows = computed(() => Math.max(rowsNumber.value || 2, 2));\n const computedMaxRows = computed(() => Math.max(computedMinRows.value, maxRowsNumber.value || 0));\n const computedRows = computed(\n () => computedMinRows.value === computedMaxRows.value ? computedMinRows.value : null\n );\n const handleHeightChange = async () => {\n if (!input.value || !isVisible(input.value)) {\n height.value = null;\n return;\n }\n const computedStyle = getComputedStyle(input.value);\n const lineHeight = Number.parseFloat(computedStyle.lineHeight) || 1;\n const border = (Number.parseFloat(computedStyle.borderTopWidth) || 0) + (Number.parseFloat(computedStyle.borderBottomWidth) || 0);\n const padding = (Number.parseFloat(computedStyle.paddingTop) || 0) + (Number.parseFloat(computedStyle.paddingBottom) || 0);\n const offset = border + padding;\n const minHeight = lineHeight * computedMinRows.value + offset;\n const oldHeight = input.value.style.height || computedStyle.height;\n height.value = \"auto\";\n await nextTick();\n const { scrollHeight } = input.value;\n height.value = oldHeight;\n await nextTick();\n const contentRows = Math.max((scrollHeight - padding) / lineHeight, 2);\n const rows2 = Math.min(Math.max(contentRows, computedMinRows.value), computedMaxRows.value);\n const newHeight = Math.max(Math.ceil(rows2 * lineHeight + offset), minHeight);\n if (toValue(noAutoShrink) && (Number.parseFloat(oldHeight.toString()) || 0) > newHeight) {\n height.value = oldHeight;\n return;\n }\n height.value = `${newHeight}px`;\n };\n onMounted(handleHeightChange);\n const computedStyles = computed(() => ({\n resize: \"none\",\n height: typeof height.value === \"string\" ? height.value : height.value ? `${height.value}px` : void 0\n }));\n return {\n onInput: handleHeightChange,\n computedStyles,\n computedRows\n };\n};\nconst _hoisted_1 = [\"id\", \"name\", \"form\", \"value\", \"disabled\", \"placeholder\", \"required\", \"autocomplete\", \"readonly\", \"aria-required\", \"aria-invalid\", \"rows\", \"wrap\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormTextarea\",\n props: /* @__PURE__ */ mergeModels({\n noResize: { type: Boolean, default: false },\n rows: { default: 2 },\n wrap: { default: \"soft\" },\n noAutoShrink: { type: Boolean, default: false },\n maxRows: { default: void 0 },\n ariaInvalid: { type: [Boolean, String], default: void 0 },\n autocomplete: { default: void 0 },\n autofocus: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n form: { default: void 0 },\n formatter: { type: Function, default: void 0 },\n id: { default: void 0 },\n lazyFormatter: { type: Boolean, default: false },\n list: { default: void 0 },\n name: { default: void 0 },\n placeholder: { default: void 0 },\n plaintext: { type: Boolean, default: false },\n readonly: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n size: { default: void 0 },\n state: { type: [Boolean, null], default: void 0 },\n debounce: { default: 0 },\n debounceMaxWait: { default: Number.NaN }\n }, {\n \"modelValue\": {\n default: \"\"\n },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormTextarea\");\n const [modelValue, modelModifiers] = useModel(__props, \"modelValue\", {\n set: (v) => normalizeInput(v, modelModifiers)\n });\n const input = useTemplateRef(\"_input\");\n const {\n computedId,\n forceUpdateKey,\n computedAriaInvalid,\n onInput,\n stateClass,\n onChange,\n onBlur,\n focus,\n blur\n } = useFormInput(props, input, modelValue, modelModifiers);\n const computedClasses = computed(() => [\n stateClass.value,\n props.plaintext ? \"form-control-plaintext\" : \"form-control\",\n {\n [`form-control-${props.size}`]: !!props.size\n }\n ]);\n const {\n computedStyles: resizeStyles,\n onInput: handleHeightChange,\n computedRows\n } = useTextareaResize(input, {\n maxRows: () => props.maxRows,\n rows: () => props.rows,\n noAutoShrink: () => props.noAutoShrink\n });\n const computedStyles = computed(() => ({\n resize: props.noResize ? \"none\" : void 0,\n ...props.maxRows || props.noAutoShrink ? resizeStyles.value : void 0\n }));\n __expose({\n blur,\n element: input,\n focus\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"textarea\", {\n id: unref(computedId),\n ref: \"_input\",\n key: unref(forceUpdateKey),\n class: normalizeClass(computedClasses.value),\n name: unref(props).name || void 0,\n form: unref(props).form || void 0,\n value: unref(modelValue) ?? void 0,\n disabled: unref(props).disabled,\n placeholder: unref(props).placeholder,\n required: unref(props).required || void 0,\n autocomplete: unref(props).autocomplete || void 0,\n readonly: unref(props).readonly || unref(props).plaintext,\n \"aria-required\": unref(props).required || void 0,\n \"aria-invalid\": unref(computedAriaInvalid),\n rows: unref(computedRows) || 2,\n style: normalizeStyle(computedStyles.value),\n wrap: unref(props).wrap || void 0,\n onInput: _cache[0] || (_cache[0] = (e) => {\n unref(onInput)(e);\n unref(handleHeightChange)();\n }),\n onChange: _cache[1] || (_cache[1] = //@ts-ignore\n (...args) => unref(onChange) && unref(onChange)(...args)),\n onBlur: _cache[2] || (_cache[2] = //@ts-ignore\n (...args) => unref(onBlur) && unref(onBlur)(...args))\n }, null, 46, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BFormTextarea.vue_vue_type_script_setup_true_lang-DB0GbEW7.mjs.map\n","import { defineComponent, provide, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot, createElementBlock, createCommentVNode, createElementVNode, toDisplayString, createTextVNode } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { i as inputGroupKey } from \"./keys-BLeKMItg.mjs\";\nconst _hoisted_1 = {\n key: 0,\n class: \"input-group-text\"\n};\nconst _hoisted_2 = {\n key: 0,\n class: \"input-group-text\"\n};\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BInputGroup\",\n props: {\n append: { default: void 0 },\n id: { default: void 0 },\n prepend: { default: void 0 },\n size: { default: \"md\" },\n tag: { default: \"div\" }\n },\n setup(__props) {\n provide(inputGroupKey, true);\n const _props = __props;\n const props = useDefaults(_props, \"BInputGroup\");\n const computedClasses = computed(() => ({\n [`input-group-${props.size}`]: props.size !== \"md\"\n }));\n const hasAppend = computed(() => !!props.append);\n const hasPrepend = computed(() => !!props.prepend);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n id: unref(props).id,\n class: normalizeClass([\"input-group\", computedClasses.value]),\n role: \"group\"\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"prepend\", {}, () => [\n hasPrepend.value ? (openBlock(), createElementBlock(\"span\", _hoisted_1, [\n createElementVNode(\"span\", null, toDisplayString(unref(props).prepend), 1)\n ])) : createCommentVNode(\"\", true)\n ]),\n renderSlot(_ctx.$slots, \"default\"),\n renderSlot(_ctx.$slots, \"append\", {}, () => [\n hasAppend.value ? (openBlock(), createElementBlock(\"span\", _hoisted_2, [\n createElementVNode(\"span\", null, toDisplayString(unref(props).append), 1)\n ])) : createCommentVNode(\"\", true)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"class\"]);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BInputGroupText\",\n props: {\n tag: { default: \"div\" },\n text: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BInputGroupText\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { class: \"input-group-text\" }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n });\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BInputGroupText.vue_vue_type_script_setup_true_lang-BBN5F0A4.mjs.map\n","import { defineComponent, computed, provide, toRef, createBlock, openBlock, resolveDynamicComponent, normalizeClass, withCtx, renderSlot, useAttrs, inject, mergeProps, unref } from \"vue\";\nimport { p as listGroupInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useBLinkHelper, _ as _sfc_main$2 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BListGroup\",\n props: {\n flush: { type: Boolean, default: false },\n horizontal: { type: [Boolean, String], default: false },\n numbered: { type: Boolean, default: false },\n tag: { default: \"div\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BListGroup\");\n const computedClasses = computed(() => {\n const horizontal = props.flush ? false : props.horizontal;\n return {\n \"list-group-flush\": props.flush,\n \"list-group-horizontal\": horizontal === true,\n [`list-group-horizontal-${horizontal}`]: typeof horizontal === \"string\",\n \"list-group-numbered\": props.numbered\n };\n });\n const computedTag = computed(() => props.numbered === true ? \"ol\" : props.tag);\n provide(listGroupInjectionKey, {\n numbered: toRef(() => props.numbered)\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(computedTag.value), {\n class: normalizeClass([\"list-group\", computedClasses.value])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BListGroupItem\",\n props: {\n action: { type: Boolean, default: false },\n button: { type: Boolean, default: false },\n tag: { default: \"div\" },\n active: { type: Boolean, default: false },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BListGroupItem\");\n const attrs = useAttrs();\n const parentData = inject(listGroupInjectionKey, null);\n const { computedLink } = useBLinkHelper(props);\n const isLink = computed(() => !props.button && computedLink.value);\n const tagComputed = computed(\n () => parentData?.numbered.value ? \"li\" : props.button ? \"button\" : !isLink.value ? props.tag : _sfc_main$2\n );\n const isAction = computed(\n () => props.action || isLink.value || props.button || [\"a\", \"router-link\", \"button\", \"b-link\"].includes(props.tag)\n );\n const computedClasses = computed(() => ({\n [`list-group-item-${props.variant}`]: props.variant !== null && props.variant !== void 0,\n \"list-group-item-action\": isAction.value,\n \"active\": props.active,\n \"disabled\": props.disabled\n }));\n const computedAttrs = computed(() => {\n const localAttrs = {};\n if (props.button) {\n if (!attrs || !attrs.type) {\n localAttrs.type = \"button\";\n }\n if (props.disabled) {\n localAttrs.disabled = true;\n }\n }\n return localAttrs;\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(tagComputed.value), mergeProps({\n class: [\"list-group-item\", computedClasses.value],\n \"aria-current\": unref(props).active ? true : void 0,\n \"aria-disabled\": unref(props).disabled ? true : void 0,\n target: isLink.value ? unref(props).target : void 0,\n href: !unref(props).button ? unref(props).href : void 0,\n to: !unref(props).button ? unref(props).to : void 0\n }, computedAttrs.value), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"class\", \"aria-current\", \"aria-disabled\", \"target\", \"href\", \"to\"]);\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BListGroupItem.vue_vue_type_script_setup_true_lang-J0Ydbiva.mjs.map\n","import { defineComponent, createBlock, openBlock, unref, withCtx, createCommentVNode, normalizeProps, mergeProps } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useModal } from \"./index-BDkr-YqK.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport { _ as _sfc_main$2 } from \"./BOrchestrator.vue_vue_type_script_setup_true_lang-Dz_rJ4Bq.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BModalOrchestrator\",\n props: {\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: \"body\" }\n },\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BModalOrchestrator\");\n const tools = useModal();\n let renderOrchestrator = false;\n if (!tools._isOrchestratorInstalled.value) {\n renderOrchestrator = true;\n }\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\"BModalOrchestrator is deprecated, use BOrchestrator instead\");\n }\n __expose({\n ...tools\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, {\n to: unref(props).teleportTo,\n disabled: unref(props).teleportDisabled\n }, {\n default: withCtx(() => [\n unref(renderOrchestrator) ? (openBlock(), createBlock(_sfc_main$2, normalizeProps(mergeProps({ key: 0 }, _ctx.$attrs)), null, 16)) : createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BModalOrchestrator.vue_vue_type_script_setup_true_lang-Dlk0BK8D.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot, useAttrs, createElementBlock, mergeProps, createVNode, withModifiers, mergeModels, useModel, useTemplateRef, createTextVNode, toDisplayString } from \"vue\";\nimport { u as useAlignment } from \"./useAlignment-Cw-9AVid.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { _ as _sfc_main$5 } from \"./BForm.vue_vue_type_script_setup_true_lang-u44ElAm9.mjs\";\nimport { _ as _sfc_main$6 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { p as pick } from \"./object-0ALvRU0O.mjs\";\nimport { _ as _sfc_main$7 } from \"./BDropdown.vue_vue_type_script_setup_true_lang-D1wLUc9_.mjs\";\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n __name: \"BNav\",\n props: {\n align: { default: void 0 },\n cardHeader: { type: Boolean, default: false },\n fill: { type: Boolean, default: false },\n justified: { type: Boolean, default: false },\n pills: { type: Boolean, default: false },\n small: { type: Boolean, default: false },\n tabs: { type: Boolean, default: false },\n tag: { default: \"ul\" },\n underline: { type: Boolean, default: false },\n vertical: { type: Boolean, default: false }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BNav\");\n const alignment = useAlignment(() => props.align);\n const computedClasses = computed(() => ({\n \"nav-tabs\": props.tabs,\n \"nav-pills\": props.pills && !props.tabs,\n \"card-header-tabs\": !props.vertical && props.cardHeader && props.tabs,\n \"card-header-pills\": !props.vertical && props.cardHeader && props.pills && !props.tabs,\n \"flex-column\": props.vertical,\n \"nav-fill\": !props.vertical && props.fill,\n \"nav-justified\": !props.vertical && props.justified,\n [alignment.value]: !props.vertical && props.align !== void 0,\n \"small\": props.small,\n \"nav-underline\": props.underline\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([\"nav\", computedClasses.value])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BNavForm\",\n props: {\n role: { default: void 0 },\n wrapperAttrs: { default: void 0 },\n formClass: { default: void 0 },\n floating: { type: Boolean, default: void 0 },\n id: { default: void 0 },\n novalidate: { type: Boolean, default: void 0 },\n validated: { type: Boolean, default: void 0 }\n },\n emits: [\"submit\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavForm\");\n const emit = __emit;\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...formAttrs } = attrs;\n return { wrapperClass, formAttrs };\n });\n const submitted = (e) => {\n emit(\"submit\", e);\n };\n const liClasses = computed(() => [\n \"d-flex\",\n \"flex-row\",\n \"align-items-center\",\n \"flex-wrap\",\n processedAttrs.value.wrapperClass\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({ class: liClasses.value }, _ctx.wrapperAttrs), [\n createVNode(_sfc_main$5, mergeProps(processedAttrs.value.formAttrs, {\n id: unref(props).id,\n floating: unref(props).floating,\n role: unref(props).role,\n novalidate: unref(props).novalidate,\n validated: unref(props).validated,\n class: [\"d-flex\", unref(props).formClass],\n onSubmit: withModifiers(submitted, [\"prevent\"])\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"id\", \"floating\", \"role\", \"novalidate\", \"validated\", \"class\"])\n ], 16);\n };\n }\n});\nconst _hoisted_1$2 = { class: \"nav-item\" };\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BNavItem\",\n props: {\n linkAttrs: { default: void 0 },\n linkClass: { default: void 0 },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: \"router-link-exact-active active\" },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: void 0 }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavItem\");\n const emit = __emit;\n const computedLinkProps = computed(\n () => pick(props, [\n \"active\",\n \"activeClass\",\n \"exactActiveClass\",\n \"append\",\n \"disabled\",\n \"href\",\n \"icon\",\n \"opacity\",\n \"opacityHover\",\n \"rel\",\n \"replace\",\n \"routerComponentName\",\n \"target\",\n \"to\",\n \"underlineOffset\",\n \"underlineOffsetHover\",\n \"underlineOpacity\",\n \"underlineOpacityHover\",\n \"underlineVariant\",\n \"variant\"\n ])\n );\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", _hoisted_1$2, [\n createVNode(_sfc_main$6, mergeProps({\n class: [\"nav-link\", _ctx.linkClass],\n tabindex: unref(props).disabled ? -1 : void 0,\n \"aria-disabled\": unref(props).disabled ? true : void 0\n }, { ...computedLinkProps.value, ..._ctx.linkAttrs }, {\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"click\", $event))\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"class\", \"tabindex\", \"aria-disabled\"]),\n renderSlot(_ctx.$slots, \"after\")\n ]);\n };\n }\n});\nconst _hoisted_1$1 = { class: \"nav-item dropdown\" };\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BNavItemDropdown\",\n props: /* @__PURE__ */ mergeModels({\n ariaLabel: { default: void 0 },\n autoClose: { type: [Boolean, String], default: true },\n boundary: { default: \"clippingAncestors\" },\n boundaryPadding: { default: void 0 },\n disabled: { type: Boolean, default: false },\n floatingMiddleware: { default: void 0 },\n icon: { type: Boolean, default: false },\n id: { default: void 0 },\n isNav: { type: Boolean, default: true },\n menuClass: { default: void 0 },\n noCaret: { type: Boolean, default: false },\n noFlip: { type: Boolean, default: false },\n noShift: { type: Boolean, default: false },\n noSize: { type: Boolean, default: false },\n offset: { default: 0 },\n role: { default: \"menu\" },\n size: { default: \"md\" },\n noWrapper: { type: Boolean, default: void 0 },\n split: { type: Boolean, default: false },\n splitButtonType: { default: \"button\" },\n splitClass: { default: void 0 },\n splitDisabled: { type: Boolean, default: void 0 },\n splitHref: { default: void 0 },\n splitTo: { default: void 0 },\n splitVariant: { default: void 0 },\n strategy: { default: \"absolute\" },\n text: { default: void 0 },\n toggleClass: { default: void 0 },\n toggleText: { default: \"Toggle dropdown\" },\n variant: { default: \"link\" },\n wrapperClass: { default: void 0 },\n placement: { default: void 0 },\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: void 0 },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean },\n show: { type: Boolean },\n transProps: {},\n visible: { type: Boolean }\n }, {\n \"modelValue\": { type: Boolean, ...{ default: false } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"split-click\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavItemDropdown\");\n const emit = __emit;\n const modelValue = useModel(__props, \"modelValue\");\n const dropdown = useTemplateRef(\"_dropdown\");\n const hide = () => {\n dropdown.value?.hide();\n };\n const show = () => {\n dropdown.value?.show();\n };\n const toggle = () => {\n dropdown.value?.toggle();\n };\n __expose({\n hide,\n show,\n toggle\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", _hoisted_1$1, [\n createVNode(_sfc_main$7, mergeProps({ ref: \"_dropdown\" }, unref(props), {\n modelValue: modelValue.value,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),\n \"is-nav\": \"\",\n onShow: _cache[1] || (_cache[1] = ($event) => emit(\"show\", $event)),\n onShown: _cache[2] || (_cache[2] = ($event) => emit(\"shown\", $event)),\n onHide: _cache[3] || (_cache[3] = ($event) => emit(\"hide\", $event)),\n onHidden: _cache[4] || (_cache[4] = ($event) => emit(\"hidden\", $event)),\n onHidePrevented: _cache[5] || (_cache[5] = ($event) => emit(\"hide-prevented\", $event)),\n onShowPrevented: _cache[6] || (_cache[6] = ($event) => emit(\"show-prevented\", $event)),\n onTogglePrevented: _cache[7] || (_cache[7] = ($event) => emit(\"toggle-prevented\", $event)),\n onToggle: _cache[8] || (_cache[8] = ($event) => emit(\"toggle\", $event)),\n onSplitClick: _cache[9] || (_cache[9] = ($event) => emit(\"split-click\", $event))\n }), {\n \"button-content\": withCtx(() => [\n renderSlot(_ctx.$slots, \"button-content\")\n ]),\n \"toggle-text\": withCtx(() => [\n renderSlot(_ctx.$slots, \"toggle-text\")\n ]),\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {\n hide,\n show\n })\n ]),\n _: 3\n }, 16, [\"modelValue\"])\n ]);\n };\n }\n});\nconst _hoisted_1 = { class: \"navbar-text\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BNavText\",\n props: {\n text: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavText\");\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]);\n };\n }\n});\nexport {\n _sfc_main$4 as _,\n _sfc_main$3 as a,\n _sfc_main$2 as b,\n _sfc_main$1 as c,\n _sfc_main as d\n};\n//# sourceMappingURL=BNavText.vue_vue_type_script_setup_true_lang-fCkr2EkB.mjs.map\n","import { computed, toValue, defineComponent, provide, toRef, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, createElementBlock, renderSlot, mergeProps, inject, createElementVNode } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { v as navbarInjectionKey, s as showHideRegistryKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useBLinkHelper, _ as _sfc_main$4 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { u as useAlignment } from \"./useAlignment-Cw-9AVid.mjs\";\nconst useContainerClasses = (value) => computed(() => {\n const resolvedValue = toValue(value);\n return {\n container: resolvedValue === true,\n [`container-${resolvedValue}`]: typeof resolvedValue === \"string\"\n };\n});\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n __name: \"BNavbar\",\n props: {\n container: { type: [Boolean, String], default: \"fluid\" },\n fixed: { default: void 0 },\n noAutoClose: { type: Boolean, default: false },\n print: { type: Boolean, default: false },\n sticky: { default: void 0 },\n tag: { default: \"nav\" },\n toggleable: { type: [Boolean, String], default: false },\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavbar\");\n const computedRole = computed(() => props.tag === \"nav\" ? void 0 : \"navigation\");\n const containerClass = useContainerClasses(() => props.container);\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant\n }))\n );\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n \"d-print\": props.print,\n [`sticky-${props.sticky}`]: props.sticky !== void 0,\n [`fixed-${props.fixed}`]: props.fixed !== void 0,\n \"navbar-expand\": props.toggleable === false,\n [`navbar-expand-${props.toggleable}`]: typeof props.toggleable === \"string\"\n }\n ]);\n provide(navbarInjectionKey, {\n tag: toRef(() => props.tag),\n noAutoClose: toRef(() => props.noAutoClose)\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([\"navbar\", computedClasses.value]),\n role: computedRole.value\n }, {\n default: withCtx(() => [\n unref(props).container !== false ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(unref(containerClass))\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2)) : renderSlot(_ctx.$slots, \"default\", { key: 1 })\n ]),\n _: 3\n }, 8, [\"class\", \"role\"]);\n };\n }\n});\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BNavbarBrand\",\n props: {\n tag: { default: \"div\" },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavbarBrand\");\n const { computedLink, computedLinkProps } = useBLinkHelper(props, [\n \"active\",\n \"activeClass\",\n \"append\",\n \"disabled\",\n \"href\",\n \"rel\",\n \"replace\",\n \"routerComponentName\",\n \"target\",\n \"to\",\n \"variant\",\n \"opacity\",\n \"opacityHover\",\n \"underlineVariant\",\n \"underlineOffset\",\n \"underlineOffsetHover\",\n \"underlineOpacity\",\n \"underlineOpacityHover\",\n \"icon\"\n ]);\n const computedTag = computed(() => computedLink.value ? _sfc_main$4 : props.tag);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({ class: \"navbar-brand\" }, unref(computedLinkProps)), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16);\n };\n }\n});\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BNavbarNav\",\n props: {\n align: { default: void 0 },\n fill: { type: Boolean, default: false },\n justified: { type: Boolean, default: false },\n small: { type: Boolean, default: false },\n tag: { default: \"ul\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavbarNav\");\n const alignment = useAlignment(() => props.align);\n const computedClasses = computed(() => ({\n \"nav-fill\": props.fill,\n \"nav-justified\": props.justified,\n [alignment.value]: props.align !== void 0,\n \"small\": props.small\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"ul\", {\n class: normalizeClass([\"navbar-nav\", computedClasses.value])\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2);\n };\n }\n});\nconst _hoisted_1 = [\"disabled\", \"aria-label\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BNavbarToggle\",\n props: {\n disabled: { type: Boolean, default: false },\n label: { default: \"Toggle navigation\" },\n target: { default: void 0 }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavbarToggle\");\n const emit = __emit;\n const computedClasses = computed(() => ({\n disabled: props.disabled\n }));\n const showHideData = inject(showHideRegistryKey, void 0);\n const collapseExpanded = computed(() => {\n if (!props.target || !showHideData) return false;\n if (typeof props.target === \"string\")\n return toValue(toValue(showHideData.values.value.get(props.target))?.value) || false;\n return props.target.some((target) => toValue(showHideData.values.value.get(target)?.value));\n });\n const toggleExpand = () => {\n if (!props.target || !showHideData) return;\n if (typeof props.target === \"string\") {\n toValue(showHideData.values.value.get(props.target))?.toggle();\n return;\n }\n props.target.forEach((target) => toValue(showHideData.values.value.get(target))?.toggle());\n };\n const onClick = (e) => {\n if (!props.disabled) {\n emit(\"click\", e);\n toggleExpand();\n }\n };\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"button\", {\n class: normalizeClass([\"navbar-toggler\", computedClasses.value]),\n type: \"button\",\n disabled: unref(props).disabled,\n \"aria-label\": unref(props).label,\n onClick\n }, [\n renderSlot(_ctx.$slots, \"default\", { expanded: collapseExpanded.value }, () => [\n _cache[0] || (_cache[0] = createElementVNode(\"span\", { class: \"navbar-toggler-icon\" }, null, -1))\n ])\n ], 10, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main$3 as _,\n _sfc_main$2 as a,\n _sfc_main$1 as b,\n _sfc_main as c\n};\n//# sourceMappingURL=BNavbarToggle.vue_vue_type_script_setup_true_lang-BOVCTLjN.mjs.map\n","import { defineComponent, mergeModels, useSlots, useModel, useTemplateRef, ref, onMounted, computed, watch, createBlock, openBlock, unref, withCtx, createCommentVNode, renderSlot, Transition, mergeProps, withDirectives, createElementVNode, createElementBlock, Fragment, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString, normalizeClass, vShow, nextTick } from \"vue\";\nimport { b as useBreakpoints, o as onKeyStroke, c as unrefElement, d as breakpointsBootstrapV5 } from \"./index-C0p9vHHI.mjs\";\nimport { a as useSafeScrollLock, b as useActivatedFocusTrap } from \"./useSafeScrollLock-DhacR9hN.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { _ as _sfc_main$2 } from \"./BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs\";\nimport { _ as _sfc_main$3 } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport { i as isEmptySlot } from \"./dom-DVb-f0ZG.mjs\";\nimport { u as useShowHide } from \"./useShowHide-717t6y_D.mjs\";\nimport { g as getElement } from \"./getElement-DrDVR-jO.mjs\";\nconst _hoisted_1 = [\"id\", \"aria-labelledby\"];\nconst _hoisted_2 = [\"id\"];\nconst fallbackClassSelector = \"offcanvas-fallback-focus\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BOffcanvas\",\n props: /* @__PURE__ */ mergeModels({\n noBackdrop: { type: Boolean, default: false },\n backdropFirst: { type: Boolean, default: false },\n bodyAttrs: { default: void 0 },\n bodyClass: { default: void 0 },\n bodyScrolling: { type: Boolean, default: false },\n focus: { type: [String, Boolean, Object, null], default: void 0 },\n footerClass: { default: void 0 },\n headerAttrs: { default: void 0 },\n headerClass: { default: void 0 },\n headerCloseClass: { default: void 0 },\n headerCloseLabel: { default: \"Close\" },\n headerCloseVariant: { default: \"secondary\" },\n id: { default: void 0 },\n noCloseOnBackdrop: { type: Boolean, default: false },\n noCloseOnEsc: { type: Boolean, default: false },\n noHeader: { type: Boolean, default: false },\n noTrap: { type: Boolean, default: false },\n noHeaderClose: { type: Boolean, default: false },\n placement: { default: \"start\" },\n shadow: { type: [String, Boolean], default: false },\n title: { default: void 0 },\n responsive: {},\n width: { default: void 0 },\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: \"body\" },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean, default: false },\n noFade: { type: Boolean },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n show: { type: Boolean, default: false },\n transProps: {},\n visible: { type: Boolean, default: false }\n }, {\n \"modelValue\": { type: Boolean, ...{\n default: false\n } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"close\", \"esc\", \"backdrop\", \"breakpoint\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BOffcanvas\");\n const emit = __emit;\n const slots = useSlots();\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"offcanvas\");\n const element = useTemplateRef(\"_element\");\n const fallbackFocusElement = useTemplateRef(\"_fallbackFocusElement\");\n const closeButton = useTemplateRef(\"_close\");\n const pickFocusItem = () => {\n if (props.focus && typeof props.focus !== \"boolean\") {\n if (props.focus === \"close\") {\n return closeButton;\n }\n return getElement(props.focus, element.value ?? void 0);\n }\n return element;\n };\n const onAfterEnter = () => {\n nextTick(() => {\n if (props.focus !== false && !isOpenByBreakpoint.value && props.noTrap) {\n const focusElement = unrefElement(pickFocusItem());\n focusElement?.focus();\n }\n });\n };\n const {\n showRef,\n renderRef,\n renderBackdropRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n contentShowing,\n transitionProps,\n backdropReady,\n backdropTransitionProps,\n backdropVisible,\n isVisible,\n buildTriggerableEvent,\n localNoAnimation,\n isLeaving,\n trapActive\n } = useShowHide(modelValue, props, emit, element, computedId, {\n transitionProps: {\n onAfterEnter,\n enterToClass: \"showing\",\n leaveToClass: \"hiding\",\n enterActiveClass: \"\",\n leaveActiveClass: \"\",\n enterFromClass: \"\",\n leaveFromClass: \"\"\n }\n });\n const breakpoints = useBreakpoints(breakpointsBootstrapV5);\n const smallerOrEqualToBreakpoint = breakpoints.smallerOrEqual(() => props.responsive ?? \"xs\");\n const isOpenByBreakpoint = ref(false);\n onMounted(() => {\n if (props.responsive !== void 0) {\n isOpenByBreakpoint.value = !smallerOrEqualToBreakpoint.value;\n emit(\"breakpoint\", buildTriggerableEvent(\"breakpoint\"), isOpenByBreakpoint.value);\n }\n });\n useSafeScrollLock(showRef, () => props.bodyScrolling || isOpenByBreakpoint.value);\n onKeyStroke(\n \"Escape\",\n () => {\n hide(\"esc\");\n },\n { target: element }\n );\n const { needsFallback } = useActivatedFocusTrap({\n element,\n isActive: trapActive,\n noTrap: () => props.noTrap || isOpenByBreakpoint.value,\n fallbackFocus: {\n classSelector: fallbackClassSelector,\n ref: fallbackFocusElement\n },\n focus: () => props.focus === false || isOpenByBreakpoint.value ? false : unrefElement(pickFocusItem()) ?? void 0\n });\n const showBackdrop = computed(\n () => (props.responsive === void 0 || !isOpenByBreakpoint.value) && props.noBackdrop === false && (showRef.value === true || isLeaving.value && props.backdropFirst && !computedNoAnimation.value)\n );\n const hasHeaderCloseSlot = computed(() => !isEmptySlot(slots[\"header-close\"]));\n const headerCloseClasses = computed(() => [\n { \"text-reset\": !hasHeaderCloseSlot.value },\n props.headerCloseClass\n ]);\n const headerCloseAttrs = computed(() => ({\n variant: hasHeaderCloseSlot.value ? props.headerCloseVariant : void 0,\n class: headerCloseClasses.value\n }));\n const hasFooterSlot = computed(() => !isEmptySlot(slots.footer));\n const computedClasses = computed(() => [\n props.responsive === void 0 ? \"offcanvas\" : `offcanvas-${props.responsive}`,\n `offcanvas-${props.placement}`,\n {\n \"show\": isVisible.value,\n [`shadow-${props.shadow}`]: !!props.shadow,\n \"no-transition\": computedNoAnimation.value\n }\n ]);\n const computedStyles = computed(() => ({\n width: props.width\n }));\n const sharedSlots = computed(() => ({\n visible: isVisible.value,\n placement: props.placement,\n hide,\n show,\n toggle,\n id: computedId.value,\n active: trapActive.value\n }));\n watch(smallerOrEqualToBreakpoint, (newValue) => {\n if (props.responsive === void 0) return;\n if (newValue === true) {\n const opened = false;\n localNoAnimation.value = true;\n requestAnimationFrame(() => {\n isOpenByBreakpoint.value = opened;\n });\n emit(\"breakpoint\", buildTriggerableEvent(\"breakpoint\"), opened);\n emit(\"hide\", buildTriggerableEvent(\"hide\"));\n } else {\n const opened = true;\n localNoAnimation.value = true;\n requestAnimationFrame(() => {\n isOpenByBreakpoint.value = opened;\n });\n emit(\"breakpoint\", buildTriggerableEvent(\"breakpoint\"), opened);\n emit(\"show\", buildTriggerableEvent(\"show\"));\n }\n });\n __expose({\n hide,\n show,\n toggle,\n isOpenByBreakpoint\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, {\n to: unref(props).teleportTo,\n disabled: unref(props).teleportDisabled || isOpenByBreakpoint.value\n }, {\n default: withCtx(() => [\n unref(renderRef) || unref(contentShowing) || isOpenByBreakpoint.value ? (openBlock(), createBlock(Transition, mergeProps({ key: 0 }, unref(transitionProps), {\n appear: modelValue.value || unref(props).visible\n }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", mergeProps({\n id: unref(computedId),\n ref: \"_element\",\n \"aria-modal\": \"true\",\n role: \"dialog\",\n class: computedClasses.value,\n style: computedStyles.value,\n tabindex: \"-1\",\n \"aria-labelledby\": `${unref(computedId)}-offcanvas-label`,\n \"data-bs-backdrop\": \"false\"\n }, _ctx.$attrs), [\n unref(contentShowing) || isOpenByBreakpoint.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n !unref(props).noHeader ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n class: [\"offcanvas-header\", unref(props).headerClass]\n }, unref(props).headerAttrs), [\n renderSlot(_ctx.$slots, \"header\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createElementVNode(\"h5\", {\n id: `${unref(computedId)}-offcanvas-label`,\n class: \"offcanvas-title\"\n }, [\n renderSlot(_ctx.$slots, \"title\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).title), 1)\n ])\n ], 8, _hoisted_2),\n !unref(props).noHeaderClose ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n hasHeaderCloseSlot.value ? (openBlock(), createBlock(_sfc_main$2, mergeProps({\n key: 0,\n ref: \"_close\"\n }, headerCloseAttrs.value, {\n onClick: _cache[0] || (_cache[0] = ($event) => unref(hide)(\"close\"))\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"header-close\", normalizeProps(guardReactiveProps(sharedSlots.value)))\n ]),\n _: 3\n }, 16)) : (openBlock(), createBlock(_sfc_main$3, mergeProps({\n key: 1,\n ref: \"_close\",\n \"aria-label\": unref(props).headerCloseLabel\n }, headerCloseAttrs.value, {\n onClick: _cache[1] || (_cache[1] = ($event) => unref(hide)(\"close\"))\n }), null, 16, [\"aria-label\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ])\n ], 16)) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", mergeProps({\n class: [\"offcanvas-body\", unref(props).bodyClass]\n }, unref(props).bodyAttrs), [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(sharedSlots.value)))\n ], 16),\n hasFooterSlot.value ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass(unref(props).footerClass)\n }, [\n renderSlot(_ctx.$slots, \"footer\", normalizeProps(guardReactiveProps(sharedSlots.value)))\n ], 2)) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true),\n unref(needsFallback) ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n ref: \"_fallbackFocusElement\",\n class: normalizeClass(fallbackClassSelector),\n tabindex: \"0\",\n style: { \"width\": \"0\", \"height\": \"0\", \"overflow\": \"hidden\" }\n }, null, 512)) : createCommentVNode(\"\", true)\n ], 16, _hoisted_1), [\n [\n vShow,\n unref(showRef) && (unref(backdropReady) && unref(props).backdropFirst || !unref(props).backdropFirst) || isOpenByBreakpoint.value\n ]\n ])\n ]),\n _: 3\n }, 16, [\"appear\"])) : createCommentVNode(\"\", true),\n !unref(props).noBackdrop ? renderSlot(_ctx.$slots, \"backdrop\", normalizeProps(mergeProps({ key: 1 }, sharedSlots.value)), () => [\n unref(renderBackdropRef) ? (openBlock(), createBlock(Transition, normalizeProps(mergeProps({ key: 0 }, unref(backdropTransitionProps))), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n class: normalizeClass([\"offcanvas-backdrop\", {\n fade: !unref(computedNoAnimation),\n show: unref(backdropVisible) || unref(computedNoAnimation)\n }]),\n onClick: _cache[2] || (_cache[2] = ($event) => unref(hide)(\"backdrop\"))\n }, null, 2), [\n [vShow, showBackdrop.value]\n ])\n ]),\n _: 1\n }, 16)) : createCommentVNode(\"\", true)\n ]) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BOffcanvas.vue_vue_type_script_setup_true_lang-B6EHNFA6.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, unref, withCtx, renderSlot, createVNode, Transition, mergeProps, createCommentVNode, resolveDynamicComponent, normalizeStyle, normalizeClass, createElementVNode, normalizeProps, guardReactiveProps } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { _ as _sfc_main$2 } from \"./BSpinner.vue_vue_type_script_setup_true_lang-H1MzHypA.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nimport { u as useRadiusElementClasses } from \"./useRadiusElementClasses-DtKYQuWz.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useFadeTransition } from \"./useTransitions-BAT154ve.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BOverlay\",\n props: {\n bgColor: { default: void 0 },\n blur: { default: \"2px\" },\n fixed: { type: Boolean, default: false },\n noCenter: { type: Boolean, default: false },\n noFade: { type: Boolean, default: false },\n noSpinner: { type: Boolean, default: false },\n noWrap: { type: Boolean, default: false },\n opacity: { default: 0.85 },\n overlayTag: { default: \"div\" },\n show: { type: Boolean, default: false },\n spinnerSmall: { type: Boolean, default: false },\n spinnerType: { default: \"border\" },\n spinnerVariant: { default: void 0 },\n variant: { default: \"light\" },\n wrapTag: { default: \"div\" },\n zIndex: { default: 10 },\n rounded: { type: [Boolean, String, Number], default: false },\n roundedTop: { type: [Boolean, String, Number], default: void 0 },\n roundedBottom: { type: [Boolean, String, Number], default: void 0 },\n roundedStart: { type: [Boolean, String, Number], default: void 0 },\n roundedEnd: { type: [Boolean, String, Number], default: void 0 }\n },\n emits: [\"click\", \"hidden\", \"shown\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BOverlay\");\n const emit = __emit;\n const positionStyles = { top: 0, left: 0, bottom: 0, right: 0 };\n const fadeTransitions = useFadeTransition(() => !props.noFade);\n const radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: props.rounded,\n roundedTop: props.roundedTop,\n roundedBottom: props.roundedBottom,\n roundedStart: props.roundedStart,\n roundedEnd: props.roundedEnd\n }));\n const computedAriaBusy = computed(() => props.show ? true : null);\n const spinnerAttrs = computed(() => ({\n type: props.spinnerType,\n variant: props.spinnerVariant,\n small: props.spinnerSmall\n }));\n const overlayStyles = computed(() => ({\n ...positionStyles,\n zIndex: props.zIndex || 10\n }));\n const overlayClasses = computed(() => ({\n \"position-absolute\": !props.noWrap || !props.fixed,\n \"position-fixed\": props.noWrap && props.fixed\n }));\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant !== null && !props.bgColor ? props.variant : null\n }))\n );\n const blurClasses = computed(() => [colorClasses.value, radiusElementClasses.value]);\n const blurStyles = computed(() => ({\n ...positionStyles,\n opacity: props.opacity,\n backgroundColor: props.bgColor || void 0,\n backdropFilter: props.blur && !props.bgColor && (props.variant === \"white\" || props.variant === \"transparent\") ? `blur(${props.blur})` : void 0\n }));\n const spinWrapperStyles = computed(\n () => props.noCenter ? positionStyles : {\n top: \"50%\",\n left: \"50%\",\n transform: \"translateX(-50%) translateY(-50%)\"\n }\n );\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, {\n tag: unref(props).wrapTag,\n class: \"b-overlay-wrap position-relative\",\n \"aria-busy\": computedAriaBusy.value,\n skip: unref(props).noWrap\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\"),\n createVNode(Transition, mergeProps(unref(fadeTransitions), {\n \"enter-to-class\": \"show\",\n name: \"fade\",\n onAfterEnter: _cache[1] || (_cache[1] = ($event) => emit(\"shown\")),\n onAfterLeave: _cache[2] || (_cache[2] = ($event) => emit(\"hidden\"))\n }), {\n default: withCtx(() => [\n unref(props).show ? (openBlock(), createBlock(resolveDynamicComponent(unref(props).overlayTag), {\n key: 0,\n class: normalizeClass([\"b-overlay\", overlayClasses.value]),\n style: normalizeStyle(overlayStyles.value),\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"click\", $event))\n }, {\n default: withCtx(() => [\n createElementVNode(\"div\", {\n class: normalizeClass([\"position-absolute\", blurClasses.value]),\n style: normalizeStyle(blurStyles.value)\n }, null, 6),\n createElementVNode(\"div\", {\n class: \"position-absolute\",\n style: normalizeStyle(spinWrapperStyles.value)\n }, [\n renderSlot(_ctx.$slots, \"overlay\", normalizeProps(guardReactiveProps(spinnerAttrs.value)), () => [\n !unref(props).noSpinner ? (openBlock(), createBlock(_sfc_main$2, normalizeProps(mergeProps({ key: 0 }, spinnerAttrs.value)), null, 16)) : createCommentVNode(\"\", true)\n ])\n ], 4)\n ]),\n _: 3\n }, 8, [\"class\", \"style\"])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 16)\n ]),\n _: 3\n }, 8, [\"tag\", \"aria-busy\", \"skip\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BOverlay.vue_vue_type_script_setup_true_lang-B5_buAVa.mjs.map\n","import { defineComponent, mergeModels, useModel, useTemplateRef, computed, nextTick, watch, createElementBlock, openBlock, unref, normalizeClass, Fragment, renderList, mergeProps, createBlock, createCommentVNode, renderSlot, createTextVNode, toDisplayString, resolveDynamicComponent, withCtx } from \"vue\";\nimport { B as BvEvent } from \"./classes-BW_GpXTu.mjs\";\nimport { u as useAlignment } from \"./useAlignment-Cw-9AVid.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { C as CODE_LEFT, a as CODE_UP, b as CODE_RIGHT, c as CODE_DOWN } from \"./constants-Cx335y3L.mjs\";\nimport { s as stopEvent } from \"./event-a_bi5ysw.mjs\";\nimport { g as getActiveElement } from \"./dom-DVb-f0ZG.mjs\";\nimport \"./BootstrapVueOptions-DSytNWdb.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst _hoisted_1 = [\"aria-disabled\", \"aria-label\"];\nconst _hoisted_2 = [\"displayIndex\"];\nconst DEFAULT_PER_PAGE = 20;\nconst DEFAULT_TOTAL_ROWS = 0;\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BPagination\",\n props: /* @__PURE__ */ mergeModels({\n align: { default: \"start\" },\n ariaControls: { default: void 0 },\n ariaLabel: { default: \"Pagination\" },\n disabled: { type: Boolean, default: false },\n ellipsisClass: { default: void 0 },\n ellipsisText: { default: \"…\" },\n firstClass: { default: void 0 },\n firstNumber: { type: Boolean, default: false },\n firstText: { default: \"«\" },\n noEllipsis: { type: Boolean, default: false },\n noGotoEndButtons: { type: Boolean, default: false },\n labelFirstPage: { default: \"Go to first page\" },\n labelLastPage: { default: \"Go to last page\" },\n labelNextPage: { default: \"Go to next page\" },\n labelPage: { default: \"Go to page\" },\n labelPrevPage: { default: \"Go to previous page\" },\n lastClass: { default: void 0 },\n lastNumber: { type: Boolean, default: false },\n lastText: { default: \"»\" },\n limit: { default: 5 },\n nextClass: { default: void 0 },\n nextText: { default: \"›\" },\n pageClass: { default: void 0 },\n perPage: { default: DEFAULT_PER_PAGE },\n pills: { type: Boolean, default: false },\n prevClass: { default: void 0 },\n prevText: { default: \"‹\" },\n size: { default: void 0 },\n totalRows: { default: DEFAULT_TOTAL_ROWS }\n }, {\n \"modelValue\": {\n default: 1\n },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"page-click\"], [\"update:modelValue\"]),\n setup(__props, { emit: __emit }) {\n const ELLIPSIS_THRESHOLD = 3;\n const FIRST_BUTTON = -1;\n const PREV_BUTTON = -2;\n const NEXT_BUTTON = -3;\n const LAST_BUTTON = -4;\n const FIRST_ELLIPSIS = -5;\n const LAST_ELLIPSIS = -6;\n const _props = __props;\n const props = useDefaults(_props, \"BPagination\");\n const emit = __emit;\n const modelValue = useModel(__props, \"modelValue\");\n const pageElements = useTemplateRef(\"_pageElements\");\n const limitNumber = useToNumber(() => props.limit, { nanToZero: true, method: \"parseInt\" });\n const perPageNumber = useToNumber(() => props.perPage, { nanToZero: true, method: \"parseInt\" });\n const totalRowsNumber = useToNumber(() => props.totalRows, { nanToZero: true, method: \"parseInt\" });\n const modelValueNumber = useToNumber(modelValue, { nanToZero: true, method: \"parseInt\" });\n const perPageSanitized = computed(() => Math.max(perPageNumber.value || DEFAULT_PER_PAGE, 1));\n const totalRowsSanitized = computed(() => Math.max(totalRowsNumber.value || DEFAULT_TOTAL_ROWS, 0));\n const numberOfPages = computed(() => Math.ceil(totalRowsSanitized.value / perPageSanitized.value));\n const computedFill = computed(() => props.align === \"fill\");\n const justifyAlign = computed(() => props.align === \"fill\" ? \"start\" : props.align);\n const alignment = useAlignment(justifyAlign);\n const isActivePage = (pageNumber) => pageNumber === computedModelValue.value;\n const getTabIndex = (num) => props.disabled ? null : isActivePage(num) ? \"0\" : \"-1\";\n const checkDisabled = (num) => props.disabled || isActivePage(num) || computedModelValue.value < 1 || // Check if the number is out of bounds\n num < 1 || num > numberOfPages.value;\n const firstDisabled = computed(() => checkDisabled(1));\n const prevDisabled = computed(() => checkDisabled(computedModelValue.value - 1));\n const lastDisabled = computed(() => checkDisabled(numberOfPages.value));\n const nextDisabled = computed(() => checkDisabled(computedModelValue.value + 1));\n const getBaseButtonProps = ({\n page,\n classVal,\n disabled,\n slotName,\n textValue,\n tabIndex,\n label,\n position,\n isActive,\n hidden,\n isSmHidden\n }) => ({\n li: {\n \"class\": [\n \"page-item\",\n {\n \"active\": isActive,\n disabled,\n \"bv-d-sm-down-none\": isSmHidden,\n \"flex-fill\": computedFill.value,\n \"d-flex\": computedFill.value && !disabled\n },\n classVal\n ],\n \"role\": \"presentation\",\n \"aria-hidden\": hidden\n },\n button: {\n \"is\": disabled ? \"span\" : \"button\",\n \"class\": [\"page-link\", \"text-center\", { \"flex-grow-1\": !disabled && computedFill.value }],\n \"aria-label\": label,\n \"aria-controls\": props.ariaControls || void 0,\n \"aria-disabled\": disabled ? true : void 0,\n \"aria-posinset\": position,\n \"aria-setsize\": position ? numberOfPages.value : void 0,\n \"role\": \"menuitem\",\n \"type\": disabled ? void 0 : \"button\",\n \"tabindex\": disabled ? void 0 : tabIndex\n },\n text: {\n name: slotName,\n active: isActive,\n value: textValue ?? page,\n page,\n disabled,\n index: page - 1,\n content: textValue ? void 0 : String(page)\n },\n clickHandler: (e) => pageClick(e, page)\n });\n const getButtonProps = ({\n page,\n classVal,\n disabled,\n slotName,\n textValue,\n label\n }) => getBaseButtonProps({ page, classVal, disabled, slotName, textValue, label, tabIndex: \"-1\" });\n const getPageButtonProps = (page, isSmHidden) => getBaseButtonProps({\n page,\n disabled: props.disabled,\n classVal: props.pageClass,\n slotName: \"page\",\n label: props.labelPage ? `${props.labelPage} ${page}` : void 0,\n tabIndex: getTabIndex(page) ?? void 0,\n position: page,\n isActive: isActivePage(page),\n isSmHidden\n });\n const firstButtonProps = computed(\n () => getButtonProps({\n page: 1,\n disabled: firstDisabled.value,\n classVal: props.firstClass,\n slotName: \"first-text\",\n textValue: props.firstText,\n label: props.labelFirstPage\n })\n );\n const prevButtonProps = computed(\n () => getButtonProps({\n page: Math.max(computedModelValue.value - 1, 1),\n disabled: prevDisabled.value,\n classVal: props.prevClass,\n slotName: \"prev-text\",\n textValue: props.prevText,\n label: props.labelPrevPage\n })\n );\n const nextButtonProps = computed(\n () => getButtonProps({\n page: Math.min(computedModelValue.value + 1, numberOfPages.value),\n disabled: nextDisabled.value,\n classVal: props.nextClass,\n slotName: \"next-text\",\n textValue: props.nextText,\n label: props.labelNextPage\n })\n );\n const lastButtonProps = computed(\n () => getButtonProps({\n page: numberOfPages.value,\n disabled: lastDisabled.value,\n classVal: props.lastClass,\n slotName: \"last-text\",\n textValue: props.lastText,\n label: props.labelLastPage\n })\n );\n const ellipsisProps = computed(() => ({\n li: {\n class: [\n \"page-item\",\n \"disabled\",\n \"text-center\",\n \"bv-d-sm-down-none\",\n computedFill.value ? \"flex-fill\" : \"\",\n props.ellipsisClass\n ],\n role: \"separator\"\n },\n span: {\n class: [\"page-link\"]\n }\n }));\n const computedWrapperClasses = computed(() => [\n alignment.value,\n {\n [`pagination-${props.size}`]: props.size !== void 0,\n \"b-pagination-pills\": props.pills\n }\n ]);\n const pagination = computed(() => ({\n pageSize: perPageSanitized.value,\n totalRows: totalRowsNumber.value,\n numberOfPages: numberOfPages.value\n }));\n const pageClick = (event, pageNumber) => {\n if (pageNumber === computedModelValue.value) return;\n const clickEvent = new BvEvent(\"page-click\", {\n cancelable: true,\n target: event.target\n });\n emit(\"page-click\", clickEvent, pageNumber);\n if (clickEvent.defaultPrevented) return;\n modelValue.value = pageNumber;\n nextTick(() => {\n if (pageNumber === 1) {\n focusFirst();\n } else if (pageNumber === pagination.value.numberOfPages) {\n focusLast();\n }\n });\n };\n const isDisabled = (el) => {\n const isElement = !!(el && el.nodeType === Node.ELEMENT_NODE);\n const hasAttr = isElement ? el.hasAttribute(\"disabled\") : null;\n const hasClass = isElement && el.classList ? el.classList.contains(\"disabled\") : false;\n return !isElement || el.disabled || hasAttr || hasClass;\n };\n const getButtons = () => [...pageElements.value ?? []].sort(\n (a, b) => parseInt(a.getAttribute(\"displayIndex\") || \"0\") - parseInt(b.getAttribute(\"displayIndex\") || \"0\")\n ).map((page) => page.children[0]).filter((el) => {\n if (el.getAttribute(\"display\") === \"none\" || el.tagName.toUpperCase() !== \"BUTTON\") {\n return false;\n }\n const bcr = el.getBoundingClientRect();\n return !!(bcr && bcr.height > 0 && bcr.width > 0);\n }).map((el) => el);\n const focusFirst = () => {\n nextTick(() => {\n const btn = getButtons().find((el) => !isDisabled(el));\n btn?.focus();\n });\n };\n const focusPrev = () => {\n nextTick(() => {\n const buttons = getButtons();\n const index = buttons.indexOf(getActiveElement());\n if (index > 0 && !isDisabled(buttons[index - 1])) {\n buttons[index - 1]?.focus();\n }\n });\n };\n const focusLast = () => {\n nextTick(() => {\n const btn = getButtons().reverse().find((el) => !isDisabled(el));\n btn?.focus();\n });\n };\n const focusNext = () => {\n nextTick(() => {\n const buttons = getButtons();\n const index = buttons.indexOf(getActiveElement());\n if (index < buttons.length - 1 && !isDisabled(buttons[index + 1])) {\n buttons[index + 1]?.focus();\n }\n });\n };\n const handleKeyNav = (event) => {\n const { code, shiftKey } = event;\n if (code === CODE_LEFT || code === CODE_UP) {\n stopEvent(event);\n if (shiftKey) {\n focusFirst();\n } else {\n focusPrev();\n }\n } else if (code === CODE_RIGHT || code === CODE_DOWN) {\n stopEvent(event);\n if (shiftKey) {\n focusLast();\n } else {\n focusNext();\n }\n }\n };\n const computedModelValue = computed(() => {\n const page = modelValueNumber.value || 1;\n return page > numberOfPages.value ? numberOfPages.value : page < 1 ? 1 : page;\n });\n watch(pagination, (oldValue, newValue) => {\n if (newValue.pageSize !== oldValue.pageSize && newValue.totalRows === oldValue.totalRows) {\n modelValue.value = 1;\n }\n });\n const noFirstButton = computed(() => props.noGotoEndButtons && !props.firstNumber ? 1 : 0);\n const noLastButton = computed(() => props.noGotoEndButtons && !props.lastNumber ? 1 : 0);\n const showFirstButton = computed(() => noFirstButton.value ? 0 : 1);\n const showLastButton = computed(() => noLastButton.value ? 0 : 1);\n const firstPage = computed(() => props.firstNumber ? 1 : 0);\n const lastPage = computed(() => props.lastNumber ? 1 : 0);\n const halfLimit = computed(() => Math.floor(limitNumber.value / 2));\n const pages = computed(() => {\n const { value } = computedModelValue;\n const els = elements.value.map((p) => {\n switch (p) {\n case FIRST_BUTTON:\n return { id: p, ...firstButtonProps.value };\n case PREV_BUTTON:\n return { id: p, ...prevButtonProps.value };\n case NEXT_BUTTON:\n return { id: p, ...nextButtonProps.value };\n case LAST_BUTTON:\n return { id: p, ...lastButtonProps.value };\n case FIRST_ELLIPSIS:\n case LAST_ELLIPSIS:\n return { id: p, ...ellipsisProps.value };\n default:\n return { id: p, ...getPageButtonProps(p) };\n }\n });\n if (numberOfPages.value > 3) {\n if (value > numberOfPages.value - halfLimit.value - lastPage.value) {\n const idx = 2 + showFirstButton.value;\n els[idx] = { id: els[idx].id, ...getPageButtonProps(els[idx].id, true) };\n }\n if (value <= halfLimit.value + firstPage.value) {\n const idx = els.length - (3 + showLastButton.value);\n els[idx] = { id: els[idx].id, ...getPageButtonProps(els[idx].id, true) };\n }\n }\n return els;\n });\n const elements = computed(() => {\n const pages2 = numberOfPages.value;\n const { value } = computedModelValue;\n const limit = limitNumber.value;\n const noEllipsis = props.noEllipsis || limit <= ELLIPSIS_THRESHOLD;\n if (pages2 < limit + firstPage.value + lastPage.value) {\n return [\n !firstPage.value && !noFirstButton.value ? FIRST_BUTTON : null,\n PREV_BUTTON,\n ...Array.from({ length: pages2 }, (_, index) => index + 1),\n NEXT_BUTTON,\n !lastPage.value && !noLastButton.value ? LAST_BUTTON : null\n ].filter((x) => x !== null);\n }\n const buttons = Array.from({ length: limit + 4 - (noFirstButton.value + noLastButton.value) });\n if (!noFirstButton.value) {\n if (!firstPage.value) {\n buttons[0] = FIRST_BUTTON;\n buttons[1] = PREV_BUTTON;\n } else {\n buttons[0] = PREV_BUTTON;\n buttons[1] = 1;\n }\n } else {\n buttons[0] = PREV_BUTTON;\n }\n if (!noLastButton.value) {\n if (!lastPage.value) {\n buttons[buttons.length - 1] = LAST_BUTTON;\n buttons[buttons.length - 2] = NEXT_BUTTON;\n } else {\n buttons[buttons.length - 1] = NEXT_BUTTON;\n buttons[buttons.length - 2] = pages2;\n }\n } else {\n buttons[buttons.length - 1] = NEXT_BUTTON;\n }\n if (value <= halfLimit.value + firstPage.value) {\n for (let index = 1; index <= limit; index++) {\n buttons[index + 1 - noFirstButton.value] = index + firstPage.value;\n }\n if (!noEllipsis) {\n buttons[buttons.length - (2 + showLastButton.value)] = LAST_ELLIPSIS;\n }\n }\n if (value > pages2 - halfLimit.value - lastPage.value) {\n const start = pages2 - (limit - 1) - lastPage.value;\n for (let index = 0; index < limit; index++) {\n buttons[index + 2 - noFirstButton.value] = start + index;\n }\n if (!noEllipsis) {\n buttons[1 + showFirstButton.value] = FIRST_ELLIPSIS;\n }\n }\n if (!buttons[2]) {\n const start = value - Math.floor(limit / 2);\n for (let index = 0; index < limit; index++) {\n buttons[index + 2 - noFirstButton.value] = start + index;\n }\n if (!noEllipsis) {\n buttons[1 + showFirstButton.value] = FIRST_ELLIPSIS;\n buttons[buttons.length - (2 + showLastButton.value)] = LAST_ELLIPSIS;\n }\n }\n return buttons.filter((x) => x !== null);\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"ul\", {\n class: normalizeClass([\"pagination\", computedWrapperClasses.value]),\n role: \"menubar\",\n \"aria-disabled\": unref(props).disabled,\n \"aria-label\": unref(props).ariaLabel || void 0,\n onKeydown: handleKeyNav\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(pages.value, (page, index) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n key: `page-${page.id}`\n }, { ref_for: true }, page.li, {\n ref_for: true,\n ref: \"_pageElements\",\n displayIndex: index\n }), [\n page.id === FIRST_ELLIPSIS || page.id === LAST_ELLIPSIS ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n ref_for: true\n }, ellipsisProps.value.span), [\n renderSlot(_ctx.$slots, \"ellipsis-text\", {}, () => [\n createTextVNode(toDisplayString(unref(props).ellipsisText || \"...\"), 1)\n ])\n ], 16)) : \"button\" in page ? (openBlock(), createBlock(resolveDynamicComponent(page.button.is), mergeProps({\n key: 1,\n ref_for: true\n }, page.button, {\n onClick: page.clickHandler\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, page.text.name, {\n disabled: page.text.disabled,\n page: page.text.page,\n index: page.text.index,\n active: page.text.active ?? false,\n content: page.text.value\n }, () => [\n createTextVNode(toDisplayString(page.text.value), 1)\n ])\n ]),\n _: 2\n }, 1040, [\"onClick\"])) : createCommentVNode(\"\", true)\n ], 16, _hoisted_2);\n }), 128))\n ], 42, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BPagination.vue_vue_type_script_setup_true_lang-C0Xo-KSI.mjs.map\n","import { defineComponent, computed, createElementBlock, openBlock, normalizeStyle, normalizeClass, createElementVNode, normalizeProps, guardReactiveProps, renderSlot, mergeProps } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useNumberishToStyle } from \"./useNumberishToStyle-CdjRyAvX.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nconst defaultStickyHeaderHeight = \"300px\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BTableSimple\",\n props: {\n bordered: { type: Boolean, default: false },\n borderless: { type: Boolean, default: false },\n borderVariant: { default: null },\n captionTop: { type: Boolean, default: false },\n dark: { type: Boolean, default: false },\n fixed: { type: Boolean, default: false },\n hover: { type: Boolean, default: false },\n id: { default: void 0 },\n noBorderCollapse: { type: Boolean, default: false },\n outlined: { type: Boolean, default: false },\n responsive: { type: [Boolean, String], default: false },\n small: { type: Boolean, default: false },\n stacked: { type: [Boolean, String], default: false },\n stickyHeader: { type: [Boolean, String, Number], default: false },\n striped: { type: Boolean, default: false },\n stripedColumns: { type: Boolean, default: false },\n variant: { default: null },\n tableAttrs: { default: void 0 },\n tableClass: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTableSimple\");\n const computedId = useId(() => props.id);\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n borderVariant: props.borderVariant\n }))\n );\n const computedClasses = computed(() => [\n props.tableClass,\n \"table\",\n \"b-table\",\n colorClasses.value,\n {\n \"border\": props.outlined,\n \"table-bordered\": props.bordered,\n \"table-borderless\": props.borderless,\n \"caption-top\": props.captionTop,\n \"table-dark\": props.dark,\n \"table-hover\": props.hover,\n \"b-table-stacked\": props.stacked === true,\n [`b-table-stacked-${props.stacked}`]: typeof props.stacked === \"string\",\n \"table-striped\": props.striped,\n \"table-sm\": props.small,\n [`table-${props.variant}`]: props.variant !== null,\n \"table-striped-columns\": props.stripedColumns,\n \"b-table-fixed\": props.fixed,\n \"b-table-no-border-collapse\": props.noBorderCollapse\n }\n ]);\n const computedTableAttrs = computed(() => ({\n id: computedId.value,\n class: computedClasses.value,\n ...props.tableAttrs\n }));\n const computedSticky = useNumberishToStyle(\n computed(\n () => (props.stickyHeader === true ? defaultStickyHeaderHeight : props.stickyHeader) || Number.NaN\n )\n );\n const stickyIsValid = computed(() => props.stickyHeader !== false);\n const isResponsive = computed(() => props.responsive !== false || stickyIsValid.value);\n const responsiveStyles = computed(\n () => stickyIsValid.value ? { maxHeight: computedSticky.value } : void 0\n );\n const responsiveClasses = computed(() => ({\n \"table-responsive\": props.responsive === true,\n [`table-responsive-${props.responsive}`]: typeof props.responsive === \"string\",\n \"b-table-sticky-header\": stickyIsValid.value\n }));\n return (_ctx, _cache) => {\n return isResponsive.value ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(responsiveClasses.value),\n style: normalizeStyle(responsiveStyles.value)\n }, [\n createElementVNode(\"table\", normalizeProps(guardReactiveProps(computedTableAttrs.value)), [\n renderSlot(_ctx.$slots, \"default\")\n ], 16)\n ], 6)) : (openBlock(), createElementBlock(\"table\", normalizeProps(mergeProps({ key: 1 }, computedTableAttrs.value)), [\n renderSlot(_ctx.$slots, \"default\")\n ], 16));\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BTableSimple.vue_vue_type_script_setup_true_lang-pOlbJbSz.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, mergeProps, createSlots, renderSlot, createVNode, createCommentVNode, createElementVNode, createElementBlock, Fragment, renderList } from \"vue\";\nimport { _ as _sfc_main$5, d as _sfc_main$6 } from \"./BCard.vue_vue_type_script_setup_true_lang-BjoxuViz.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { _ as _sfc_main$7 } from \"./BTableSimple.vue_vue_type_script_setup_true_lang-pOlbJbSz.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BPlaceholder\",\n props: {\n animation: { default: void 0 },\n cols: { default: 12 },\n size: { default: \"md\" },\n tag: { default: \"span\" },\n variant: { default: null },\n width: { default: void 0 },\n wrapperTag: { default: \"span\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BPlaceholder\");\n const widthString = computed(\n () => props.width === void 0 ? void 0 : typeof props.width === \"number\" ? props.width.toString() : props.width.replace(\"%\", \"\")\n );\n const colsString = computed(\n () => props.cols === void 0 ? void 0 : typeof props.cols === \"number\" ? props.cols.toString() : props.cols\n );\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant\n }))\n );\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n [`col-${colsString.value}`]: colsString.value !== void 0 && widthString.value === void 0,\n [`placeholder-${props.size}`]: props.size !== \"md\"\n }\n ]);\n const wrapperClasses = computed(() => ({\n [`placeholder-${props.animation}`]: props.animation !== void 0\n }));\n const computedStyle = computed(() => ({\n width: widthString.value === void 0 ? void 0 : `${widthString.value}%`\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).wrapperTag), {\n class: normalizeClass(wrapperClasses.value)\n }, {\n default: withCtx(() => [\n (openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), mergeProps(_ctx.$attrs, {\n class: [\"placeholder\", computedClasses.value],\n style: computedStyle.value\n }), null, 16, [\"class\", \"style\"]))\n ]),\n _: 1\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n __name: \"BPlaceholderButton\",\n props: {\n animation: { default: void 0 },\n cols: { default: void 0 },\n tag: { default: \"div\" },\n variant: { default: \"primary\" },\n width: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BPlaceholderButton\");\n const computedClasses = computed(() => ({\n [`btn-${props.variant}`]: props.variant !== null\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$4, {\n class: normalizeClass([\"btn disabled\", computedClasses.value]),\n animation: unref(props).animation,\n width: unref(props).width,\n cols: unref(props).cols,\n tag: unref(props).tag,\n style: { \"cursor\": \"wait\", \"pointer-events\": \"auto\" }\n }, null, 8, [\"class\", \"animation\", \"width\", \"cols\", \"tag\"]);\n };\n }\n});\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BPlaceholderCard\",\n props: {\n animation: { default: void 0 },\n footerAnimation: { default: void 0 },\n footerSize: { default: \"md\" },\n footerVariant: { default: void 0 },\n footerWidth: { default: 100 },\n headerAnimation: { default: void 0 },\n headerSize: { default: \"md\" },\n headerVariant: { default: void 0 },\n headerWidth: { default: 100 },\n imgBlankColor: { default: \"#868e96\" },\n imgPlacement: { default: \"top\" },\n imgHeight: { default: 100 },\n imgSrc: { default: void 0 },\n noButton: { type: Boolean, default: false },\n noFooter: { type: Boolean, default: false },\n noHeader: { type: Boolean, default: false },\n noImg: { type: Boolean, default: false },\n size: { default: \"md\" },\n variant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BPlaceholderCard\");\n const defaultAttrs = computed(() => ({\n animation: props.animation,\n size: props.size,\n variant: props.variant\n }));\n const footerComponent = computed(() => !props.noButton ? _sfc_main$3 : _sfc_main$4);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$5, {\n \"img-placement\": unref(props).imgPlacement\n }, createSlots({\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createVNode(_sfc_main$4, mergeProps({ cols: \"7\" }, defaultAttrs.value), null, 16),\n createVNode(_sfc_main$4, mergeProps({ cols: \"4\" }, defaultAttrs.value), null, 16),\n createVNode(_sfc_main$4, mergeProps({ cols: \"4\" }, defaultAttrs.value), null, 16),\n createVNode(_sfc_main$4, mergeProps({ cols: \"6\" }, defaultAttrs.value), null, 16),\n createVNode(_sfc_main$4, mergeProps({ cols: \"8\" }, defaultAttrs.value), null, 16)\n ])\n ]),\n _: 2\n }, [\n !unref(props).noImg ? {\n name: \"img\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"img\", {}, () => [\n createVNode(_sfc_main$6, {\n blank: !unref(props).imgSrc ? true : false,\n \"blank-color\": unref(props).imgBlankColor,\n height: !unref(props).imgSrc ? unref(props).imgHeight : void 0,\n src: unref(props).imgSrc,\n \"img-placement\": unref(props).imgPlacement,\n style: { cursor: \"wait\" }\n }, null, 8, [\"blank\", \"blank-color\", \"height\", \"src\", \"img-placement\"])\n ])\n ]),\n key: \"0\"\n } : void 0,\n !unref(props).noHeader ? {\n name: \"header\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"header\", {}, () => [\n createVNode(_sfc_main$4, {\n width: unref(props).headerWidth,\n variant: unref(props).headerVariant,\n animation: unref(props).headerAnimation,\n size: unref(props).headerSize\n }, null, 8, [\"width\", \"variant\", \"animation\", \"size\"])\n ])\n ]),\n key: \"1\"\n } : void 0,\n !unref(props).noFooter ? {\n name: \"footer\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"footer\", {}, () => [\n (openBlock(), createBlock(resolveDynamicComponent(footerComponent.value), {\n width: unref(props).footerWidth,\n animation: unref(props).footerAnimation,\n size: unref(props).noButton ? unref(props).footerSize : void 0,\n variant: unref(props).footerVariant\n }, null, 8, [\"width\", \"animation\", \"size\", \"variant\"]))\n ])\n ]),\n key: \"2\"\n } : void 0\n ]), 1032, [\"img-placement\"]);\n };\n }\n});\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BPlaceholderTable\",\n props: {\n animation: { default: void 0 },\n cellWidth: { default: 100 },\n columns: { default: 5 },\n footerAnimation: { default: void 0 },\n footerCellWidth: { default: 100 },\n footerColumns: { default: void 0 },\n footerSize: { default: \"md\" },\n footerVariant: { default: void 0 },\n headerAnimation: { default: void 0 },\n headerCellWidth: { default: 100 },\n headerColumns: { default: void 0 },\n headerSize: { default: \"md\" },\n headerVariant: { default: void 0 },\n noHeader: { type: Boolean, default: false },\n rows: { default: 3 },\n showFooter: { type: Boolean, default: false },\n size: { default: \"md\" },\n variant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BPlaceholderTable\");\n const columnsToNumber = useToNumber(() => props.columns);\n const rowsToNumber = useToNumber(() => props.rows);\n const computedHeaderColumns = computed(() => props.headerColumns ?? Number.NaN);\n const computedFooterColumns = computed(() => props.footerColumns ?? Number.NaN);\n const headerColumnsNumber = useToNumber(computedHeaderColumns);\n const footerColumnsNumber = useToNumber(computedFooterColumns);\n const columnsNumber = computed(() => columnsToNumber.value || 5);\n const rowsNumber = computed(() => rowsToNumber.value || 3);\n const computedHeaderColumnsLength = computed(\n () => props.headerColumns === void 0 ? columnsNumber.value : headerColumnsNumber.value\n );\n const computedFooterColumnsLength = computed(\n () => props.footerColumns === void 0 ? columnsNumber.value : footerColumnsNumber.value\n );\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$7, null, {\n default: withCtx(() => [\n !unref(props).noHeader ? renderSlot(_ctx.$slots, \"thead\", { key: 0 }, () => [\n createElementVNode(\"thead\", null, [\n createElementVNode(\"tr\", null, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedHeaderColumnsLength.value, (_, i) => {\n return openBlock(), createElementBlock(\"th\", { key: i }, [\n createVNode(_sfc_main$4, {\n size: unref(props).headerSize,\n variant: unref(props).headerVariant,\n animation: unref(props).headerAnimation,\n width: unref(props).headerCellWidth\n }, null, 8, [\"size\", \"variant\", \"animation\", \"width\"])\n ]);\n }), 128))\n ])\n ])\n ]) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createElementVNode(\"tbody\", null, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(rowsNumber.value, (_, j) => {\n return openBlock(), createElementBlock(\"tr\", { key: j }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(columnsNumber.value, (__, k) => {\n return openBlock(), createElementBlock(\"td\", { key: k }, [\n createVNode(_sfc_main$4, {\n size: unref(props).size,\n variant: unref(props).variant,\n animation: unref(props).animation,\n width: unref(props).cellWidth\n }, null, 8, [\"size\", \"variant\", \"animation\", \"width\"])\n ]);\n }), 128))\n ]);\n }), 128))\n ])\n ]),\n unref(props).showFooter ? renderSlot(_ctx.$slots, \"tfoot\", { key: 1 }, () => [\n createElementVNode(\"tfoot\", null, [\n createElementVNode(\"tr\", null, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFooterColumnsLength.value, (_, l) => {\n return openBlock(), createElementBlock(\"th\", { key: l }, [\n createVNode(_sfc_main$4, {\n size: unref(props).footerSize,\n variant: unref(props).footerVariant,\n animation: unref(props).footerAnimation,\n width: unref(props).footerCellWidth\n }, null, 8, [\"size\", \"variant\", \"animation\", \"width\"])\n ]);\n }), 128))\n ])\n ])\n ]) : createCommentVNode(\"\", true)\n ]),\n _: 3\n });\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BPlaceholderWrapper\",\n props: {\n loading: { type: Boolean, default: false }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BPlaceholderWrapper\");\n return (_ctx, _cache) => {\n return unref(props).loading ? renderSlot(_ctx.$slots, \"loading\", { key: 0 }) : renderSlot(_ctx.$slots, \"default\", { key: 1 });\n };\n }\n});\nexport {\n _sfc_main$4 as _,\n _sfc_main$3 as a,\n _sfc_main$2 as b,\n _sfc_main$1 as c,\n _sfc_main as d\n};\n//# sourceMappingURL=BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BzabzEJo.mjs.map\n","import { defineComponent, createBlock, openBlock, unref, withCtx, createCommentVNode, normalizeProps, mergeProps } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { _ as _sfc_main$2 } from \"./BOrchestrator.vue_vue_type_script_setup_true_lang-Dz_rJ4Bq.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport \"./BootstrapVueOptions-DSytNWdb.mjs\";\nimport \"./ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nimport \"./useTransitions-BAT154ve.mjs\";\nimport \"./tableUtils-Jp7dzXjS.mjs\";\nimport { usePopover } from \"./src/composables/usePopover/index.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BPopoverOrchestrator\",\n props: {\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: \"body\" }\n },\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BPopoverOrchestrator\");\n const tools = usePopover();\n let renderOrchestrator = false;\n if (!tools._isOrchestratorInstalled.value) {\n renderOrchestrator = true;\n }\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\"BPopoverOrchestrator is deprecated, use BOrchestrator instead\");\n }\n __expose({\n ...tools\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, {\n to: unref(props).teleportTo,\n disabled: unref(props).teleportDisabled\n }, {\n default: withCtx(() => [\n unref(renderOrchestrator) ? (openBlock(), createBlock(_sfc_main$2, normalizeProps(mergeProps({ key: 0 }, _ctx.$attrs)), null, 16)) : createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-BME1-ILp.mjs.map\n","import { defineComponent, computed, createElementBlock, openBlock, normalizeClass, renderSlot, unref, useSlots, inject, ref, watch, createBlock, normalizeProps, guardReactiveProps, withCtx, createCommentVNode, withDirectives, createVNode, Fragment, renderList, mergeProps, createTextVNode, toDisplayString, vShow, resolveDynamicComponent, createElementVNode, normalizeStyle, mergeModels, useModel, provide, onMounted, createSlots } from \"vue\";\nimport { g as get, p as pick, s as set, d as deepEqual } from \"./object-0ALvRU0O.mjs\";\nimport { _ as _sfc_main$9 } from \"./BTableSimple.vue_vue_type_script_setup_true_lang-pOlbJbSz.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { g as getDataLabelAttr, b as btableSimpleProps, a as getTableFieldHeadLabel, c as btableLiteProps } from \"./tableUtils-Jp7dzXjS.mjs\";\nimport { s as startCase } from \"./stringUtils-gJJ6T6UC.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { c as CODE_DOWN, a as CODE_UP, m as CODE_HOME, n as CODE_END } from \"./constants-Cx335y3L.mjs\";\nimport { s as stopEvent } from \"./event-a_bi5ysw.mjs\";\nimport { x as tableKeyboardNavigationKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useDebounceFn } from \"./debounce-BHqBzJ1a.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst formatItem = (item, fieldKey, formatter) => {\n const val = get(item, fieldKey);\n return formatter && typeof formatter === \"function\" ? formatter(val, fieldKey, item) : val;\n};\nconst isTableItem = (value) => typeof value === \"object\" && value !== null;\nconst isTableField = (value) => typeof value === \"object\" && value !== null && \"key\" in value;\nconst _sfc_main$8 = /* @__PURE__ */ defineComponent({\n __name: \"BTbody\",\n props: {\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTbody\");\n const computedClasses = computed(() => ({\n [`thead-${props.variant}`]: props.variant !== null\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tbody\", {\n class: normalizeClass(computedClasses.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2);\n };\n }\n});\nconst _hoisted_1$4 = [\"colspan\", \"rowspan\", \"data-label\"];\nconst _hoisted_2$3 = { key: 0 };\nconst _sfc_main$7 = /* @__PURE__ */ defineComponent({\n __name: \"BTd\",\n props: {\n colspan: { default: void 0 },\n rowspan: { default: void 0 },\n stackedHeading: { default: void 0 },\n stickyColumn: { type: Boolean, default: false },\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTd\");\n const computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null,\n \"b-table-sticky-column\": props.stickyColumn,\n \"table-b-table-default\": props.stickyColumn && props.variant === null\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"td\", {\n class: normalizeClass(computedClasses.value),\n colspan: unref(props).colspan,\n rowspan: unref(props).rowspan,\n \"data-label\": unref(props).stackedHeading\n }, [\n unref(props).stackedHeading ? (openBlock(), createElementBlock(\"div\", _hoisted_2$3, [\n renderSlot(_ctx.$slots, \"default\")\n ])) : renderSlot(_ctx.$slots, \"default\", { key: 1 })\n ], 10, _hoisted_1$4);\n };\n }\n});\nconst _sfc_main$6 = /* @__PURE__ */ defineComponent({\n __name: \"BTfoot\",\n props: {\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTfoot\");\n const computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tfoot\", {\n class: normalizeClass(computedClasses.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2);\n };\n }\n});\nconst _hoisted_1$3 = [\"scope\", \"colspan\", \"rowspan\", \"data-label\"];\nconst _hoisted_2$2 = { key: 0 };\nconst _sfc_main$5 = /* @__PURE__ */ defineComponent({\n __name: \"BTh\",\n props: {\n colspan: { default: void 0 },\n rowspan: { default: void 0 },\n stackedHeading: { default: void 0 },\n stickyColumn: { type: Boolean, default: false },\n variant: { default: null },\n scope: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTh\");\n const computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null,\n \"b-table-sticky-column\": props.stickyColumn,\n \"table-b-table-default\": props.stickyColumn && props.variant === null\n }));\n const localScope = computed(\n () => props.scope ? props.scope : props.colspan ? \"colgroup\" : props.rowspan ? \"rowgroup\" : \"col\"\n );\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"th\", {\n scope: localScope.value,\n class: normalizeClass(computedClasses.value),\n colspan: unref(props).colspan,\n rowspan: unref(props).rowspan,\n \"data-label\": unref(props).stackedHeading\n }, [\n unref(props).stackedHeading !== void 0 ? (openBlock(), createElementBlock(\"div\", _hoisted_2$2, [\n renderSlot(_ctx.$slots, \"default\")\n ])) : renderSlot(_ctx.$slots, \"default\", { key: 1 })\n ], 10, _hoisted_1$3);\n };\n }\n});\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n __name: \"BThead\",\n props: {\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BThead\");\n const computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"thead\", {\n class: normalizeClass(computedClasses.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2);\n };\n }\n});\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n __name: \"BTr\",\n props: {\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTr\");\n const computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tr\", {\n class: normalizeClass(computedClasses.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2);\n };\n }\n});\nconst TABLE_TAG_NAMES = [\"TD\", \"TH\", \"TR\"];\nconst eventFilter = [\n \"a\",\n \"a *\",\n // Include content inside links\n \"button\",\n \"button *\",\n // Include content inside buttons\n \"input:not(.disabled):not([disabled])\",\n \"select:not(.disabled):not([disabled])\",\n \"textarea:not(.disabled):not([disabled])\",\n '[role=\"link\"]',\n '[role=\"link\"] *',\n '[role=\"button\"]',\n '[role=\"button\"] *',\n \"[tabindex]:not(.disabled):not([disabled])\"\n].join(\",\");\nconst filterEvent = (event) => {\n if (!event || !event.target) {\n return false;\n }\n const el = event.target;\n if (\"disabled\" in el && el.disabled || TABLE_TAG_NAMES.indexOf(el.tagName) !== -1) {\n return false;\n }\n if (el.closest(\".dropdown-menu\")) return true;\n const label = el.tagName === \"LABEL\" ? el : el.closest(\"label\");\n if (label) {\n const labelFor = label.getAttribute(\"for\");\n const input = labelFor ? document.getElementById(labelFor) : label.querySelector(\"input, select, textarea\");\n if (input && !input.disabled) {\n return true;\n }\n }\n return el.matches(eventFilter);\n};\nconst _hoisted_1$2 = { key: 0 };\nconst _hoisted_2$1 = {\n key: 0,\n class: \"b-table-stacked-label\"\n};\nconst _hoisted_3 = { class: \"d-inline-flex flex-nowrap align-items-center gap-1\" };\nconst _hoisted_4 = { key: 3 };\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BTableLite\",\n props: {\n align: { default: void 0 },\n caption: { default: void 0 },\n detailsTdClass: { default: void 0 },\n fieldColumnClass: { type: [Function, String, Object, Array], default: void 0 },\n fields: { default: () => [] },\n footClone: { type: Boolean, default: false },\n footRowVariant: { default: void 0 },\n footVariant: { default: void 0 },\n headRowVariant: { default: void 0 },\n headVariant: { default: void 0 },\n items: { default: () => [] },\n labelStacked: { type: Boolean, default: false },\n modelValue: { default: void 0 },\n primaryKey: { default: void 0 },\n tbodyClass: { default: void 0 },\n tbodyTrAttrs: { type: [Function, Object], default: void 0 },\n tbodyTrClass: { type: [Function, String, Array, Object], default: void 0 },\n tfootClass: { default: void 0 },\n tfootTrClass: { default: void 0 },\n theadClass: { default: void 0 },\n theadTrClass: { default: void 0 },\n bordered: { type: Boolean, default: void 0 },\n borderless: { type: Boolean, default: void 0 },\n borderVariant: { default: void 0 },\n captionTop: { type: Boolean, default: void 0 },\n dark: { type: Boolean, default: void 0 },\n fixed: { type: Boolean, default: void 0 },\n hover: { type: Boolean, default: void 0 },\n id: { default: void 0 },\n noBorderCollapse: { type: Boolean, default: void 0 },\n outlined: { type: Boolean, default: void 0 },\n responsive: { type: [Boolean, String], default: void 0 },\n small: { type: Boolean, default: void 0 },\n stacked: { type: [Boolean, String], default: void 0 },\n stickyHeader: { type: [Boolean, String, Number], default: void 0 },\n striped: { type: Boolean, default: void 0 },\n stripedColumns: { type: Boolean, default: void 0 },\n variant: { default: void 0 },\n tableAttrs: {},\n tableClass: { default: void 0 }\n },\n emits: [\"head-clicked\", \"row-clicked\", \"row-dblclicked\", \"row-contextmenu\", \"row-hovered\", \"row-unhovered\", \"row-middle-clicked\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BTableLite\");\n const emit = __emit;\n const slots = useSlots();\n const keyboardNavigation = inject(tableKeyboardNavigationKey, null);\n const computedId = useId(() => props.id);\n const generateDetailsItem = (item) => [\n item,\n item._showDetails\n ];\n const detailsMap = ref(/* @__PURE__ */ new WeakMap());\n watch(\n () => props.items,\n (items) => {\n items.forEach((item) => {\n if (!isTableItem(item)) return;\n detailsMap.value.set(...generateDetailsItem(item));\n });\n },\n { deep: true, immediate: true }\n );\n const computedTableClasses = computed(() => [\n props.tableClass,\n {\n [`align-${props.align}`]: props.align !== void 0\n }\n ]);\n const computedFields = computed(() => {\n if (!props.fields.length && props.items.length) {\n const [firstItem] = props.items;\n if (firstItem && (isTableItem(firstItem) || Array.isArray(firstItem))) {\n return Object.keys(firstItem).map((k) => {\n const label = startCase(k);\n return {\n key: k,\n label,\n tdAttr: getDataLabelAttr(props, label)\n };\n });\n }\n return [{ key: \"\", _noHeader: true }];\n }\n return props.fields.map((f) => {\n if (isTableField(f)) {\n const label2 = f.label ?? startCase(f.key);\n return {\n ...f,\n tdAttr: { ...getDataLabelAttr(props, label2), ...f.tdAttr }\n };\n }\n const label = startCase(f);\n return {\n key: f,\n label,\n tdAttr: getDataLabelAttr(props, label)\n };\n });\n });\n const computedFieldsTotal = computed(() => computedFields.value.length);\n const showComputedHeaders = computed(() => {\n if (computedFieldsTotal.value > 0 && computedFields.value.every((el) => el._noHeader === true))\n return false;\n return true;\n });\n const footerProps = computed(() => ({\n variant: props.footVariant ?? props.headVariant,\n class: props.tfootClass ?? props.theadClass\n }));\n const calculatedFooterSlot = (key) => slots[`foot(${String(key)})`] ? `foot(${String(key)})` : slots[\"foot()\"] ? \"foot()\" : slots[`head(${String(key)})`] ? `head(${String(key)})` : \"head()\";\n const itemAttributes = (item, fieldKey, attr) => {\n const val = get(item, fieldKey);\n return attr && typeof attr === \"function\" ? attr(val, fieldKey, item) : attr;\n };\n const callThAttr = (item, field, type) => {\n const fieldKey = String(field.key);\n const val = get(item, fieldKey);\n return field.thAttr && typeof field.thAttr === \"function\" ? field.thAttr(val, fieldKey, item, type) : field.thAttr;\n };\n const headerClicked = (field, event, isFooter = false) => {\n emit(\"head-clicked\", field.key, field, event, isFooter);\n };\n const toggleRowDetails = (tr) => {\n if (isTableItem(tr)) {\n const prevValue = detailsMap.value.get(tr);\n detailsMap.value.set(tr, !prevValue);\n tr._showDetails = !prevValue;\n }\n };\n const getFieldColumnClasses = (field) => [\n field.class,\n field.thClass,\n {\n \"b-table-sticky-column\": field.stickyColumn\n },\n props.fieldColumnClass ? typeof props.fieldColumnClass === \"function\" ? props.fieldColumnClass(field) : props.fieldColumnClass : null\n ];\n const getFieldRowClasses = (field, tr) => {\n const val = get(tr, String(field.key));\n return [\n field.class,\n typeof field.tdClass === \"function\" ? field.tdClass(val, String(field.key), tr) : field.tdClass,\n (isTableItem(tr) ? tr._cellVariants?.[field.key] : false) ? `table-${tr._cellVariants?.[field.key]}` : null,\n {\n \"b-table-sticky-column\": field.stickyColumn\n }\n ];\n };\n const handleMiddleClick = (item, itemIndex, event) => {\n if (event.button === 1 && !filterEvent(event)) {\n emit(\"row-middle-clicked\", item, itemIndex, event);\n }\n };\n const callTbodyTrAttrs = (item, type) => props.tbodyTrAttrs ? typeof props.tbodyTrAttrs === \"function\" ? props.tbodyTrAttrs(item, type) : props.tbodyTrAttrs : null;\n const getRowClasses = (item, type) => props.tbodyTrClass ? typeof props.tbodyTrClass === \"function\" ? props.tbodyTrClass(item, type) : props.tbodyTrClass : null;\n const generateTableRowId = (primaryKeyValue) => `${computedId.value}__row_${primaryKeyValue}`;\n const getCellComponent = (field) => {\n if (field?.isRowHeader) {\n return _sfc_main$5;\n }\n return _sfc_main$7;\n };\n const shouldHeaderBeFocusable = (field) => !!(keyboardNavigation?.headerNavigation.value && field.sortable === true);\n const shouldRowBeFocusable = computed(\n () => !!(keyboardNavigation?.rowNavigation.value && props.items.length > 0)\n );\n const handleHeaderKeydown = (field, event, isFooter = false) => {\n const { target, code } = event;\n if (target && target.tagName !== \"TH\" && document.activeElement === target) return;\n if (code === \"Enter\" || code === \"NumpadEnter\" || code === \"Space\") {\n stopEvent(event);\n headerClicked(field, event, isFooter);\n }\n };\n const handleRowKeydown = (item, itemIndex, event) => {\n const { target, code, shiftKey } = event;\n if (target && target.tagName !== \"TR\" && document.activeElement === target) return;\n if (code === \"Enter\" || code === \"NumpadEnter\" || code === \"Space\") {\n stopEvent(event);\n emit(\"row-clicked\", item, itemIndex, event);\n return;\n }\n if (code === CODE_DOWN || code === CODE_UP || code === CODE_HOME || code === CODE_END) {\n stopEvent(event);\n handleRowNavigation(code, shiftKey, itemIndex);\n }\n };\n const handleRowNavigation = (code, shiftKey, currentIndex) => {\n const rows = Array.from(\n document.querySelectorAll(`#${computedId.value} tbody tr[tabindex]`)\n );\n if (rows.length === 0) return;\n let targetIndex = currentIndex;\n if (code === CODE_DOWN) {\n if (shiftKey) {\n targetIndex = rows.length - 1;\n } else {\n targetIndex = Math.min(currentIndex + 1, rows.length - 1);\n }\n } else if (code === CODE_UP) {\n if (shiftKey) {\n targetIndex = 0;\n } else {\n targetIndex = Math.max(currentIndex - 1, 0);\n }\n } else if (code === CODE_END) {\n targetIndex = rows.length - 1;\n } else if (code === CODE_HOME) {\n targetIndex = 0;\n }\n if (targetIndex !== currentIndex && rows[targetIndex]) {\n rows[targetIndex].focus();\n }\n };\n const computedSimpleProps = computed(() => ({\n ...pick(props, btableSimpleProps),\n tableClass: computedTableClasses.value,\n id: computedId.value\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$9, normalizeProps(guardReactiveProps(computedSimpleProps.value)), {\n default: withCtx(() => [\n slots[\"table-colgroup\"] ? (openBlock(), createElementBlock(\"colgroup\", _hoisted_1$2, [\n renderSlot(_ctx.$slots, \"table-colgroup\", { fields: computedFields.value })\n ])) : createCommentVNode(\"\", true),\n withDirectives(createVNode(_sfc_main$4, {\n variant: unref(props).headVariant,\n class: normalizeClass(unref(props).theadClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"thead-top\", {\n columns: computedFieldsTotal.value,\n fields: computedFields.value\n }),\n createVNode(_sfc_main$3, {\n variant: unref(props).headRowVariant,\n class: normalizeClass(unref(props).theadTrClass)\n }, {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFields.value, (field) => {\n return openBlock(), createBlock(_sfc_main$5, mergeProps({\n key: field.key,\n scope: field.scope,\n class: getFieldColumnClasses(field),\n title: field.headerTitle,\n variant: field.variant,\n abbr: field.headerAbbr,\n style: field.thStyle,\n tabindex: shouldHeaderBeFocusable(field) ? \"0\" : void 0\n }, { ref_for: true }, callThAttr(null, field, \"top\"), {\n onClick: ($event) => headerClicked(field, $event),\n onKeydown: ($event) => handleHeaderKeydown(field, $event)\n }), {\n default: withCtx(() => [\n renderSlot(\n _ctx.$slots,\n slots[`head(${String(field.key)})`] ? `head(${String(field.key)})` : \"head()\",\n {\n label: field.label,\n column: field.key,\n field,\n isFoot: false\n },\n () => [\n createTextVNode(toDisplayString(unref(getTableFieldHeadLabel)(field)), 1)\n ]\n )\n ]),\n _: 2\n }, 1040, [\"scope\", \"class\", \"title\", \"variant\", \"abbr\", \"style\", \"tabindex\", \"onClick\", \"onKeydown\"]);\n }), 128))\n ]),\n _: 3\n }, 8, [\"variant\", \"class\"]),\n slots[\"thead-sub\"] ? (openBlock(), createBlock(_sfc_main$3, { key: 0 }, {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFields.value, (field) => {\n return openBlock(), createBlock(_sfc_main$7, {\n key: field.key,\n scope: \"col\",\n variant: field.variant,\n class: normalizeClass([field.class, field.thClass])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"thead-sub\", {\n items: unref(props).items,\n fields: computedFields.value,\n field\n }, () => [\n createTextVNode(toDisplayString(field.label), 1)\n ])\n ]),\n _: 2\n }, 1032, [\"variant\", \"class\"]);\n }), 128))\n ]),\n _: 3\n })) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"variant\", \"class\"]), [\n [vShow, showComputedHeaders.value]\n ]),\n createVNode(_sfc_main$8, {\n class: normalizeClass(unref(props).tbodyClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"custom-body\", {\n fields: computedFields.value,\n items: unref(props).items,\n columns: computedFieldsTotal.value\n }, () => [\n !unref(props).stacked && slots[\"top-row\"] ? (openBlock(), createBlock(_sfc_main$3, mergeProps({\n key: 0,\n class: getRowClasses(null, \"row-top\")\n }, callTbodyTrAttrs(null, \"row-top\")), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"top-row\", {\n columns: computedFieldsTotal.value,\n fields: computedFields.value\n })\n ]),\n _: 3\n }, 16, [\"class\"])) : createCommentVNode(\"\", true),\n (openBlock(true), createElementBlock(Fragment, null, renderList(unref(props).items, (item, itemIndex) => {\n return openBlock(), createElementBlock(Fragment, {\n key: unref(props).primaryKey && unref(get)(item, unref(props).primaryKey) ? unref(get)(item, unref(props).primaryKey) : itemIndex\n }, [\n createVNode(_sfc_main$3, mergeProps({\n id: unref(props).primaryKey && unref(get)(item, unref(props).primaryKey) ? generateTableRowId(unref(get)(item, unref(props).primaryKey)) : void 0,\n class: getRowClasses(item, \"row\"),\n variant: unref(isTableItem)(item) ? item._rowVariant : void 0,\n tabindex: shouldRowBeFocusable.value ? \"0\" : void 0\n }, { ref_for: true }, callTbodyTrAttrs(item, \"row\"), {\n onClick: ($event) => !unref(filterEvent)($event) && emit(\"row-clicked\", item, itemIndex, $event),\n onDblclick: ($event) => !unref(filterEvent)($event) && emit(\"row-dblclicked\", item, itemIndex, $event),\n onContextmenu: ($event) => !unref(filterEvent)($event) && emit(\"row-contextmenu\", item, itemIndex, $event),\n onMouseenter: ($event) => !unref(filterEvent)($event) && emit(\"row-hovered\", item, itemIndex, $event),\n onMouseleave: ($event) => !unref(filterEvent)($event) && emit(\"row-unhovered\", item, itemIndex, $event),\n onMousedown: ($event) => handleMiddleClick(item, itemIndex, $event),\n onKeydown: ($event) => handleRowKeydown(item, itemIndex, $event)\n }), {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFields.value, (field) => {\n return openBlock(), createBlock(resolveDynamicComponent(getCellComponent(field)), mergeProps({\n key: field.key,\n variant: (unref(isTableItem)(item) ? item._cellVariants?.[field.key] : false) ? null : field.variant,\n class: getFieldRowClasses(field, item)\n }, { ref_for: true }, itemAttributes(item, String(field.key), field.tdAttr)), {\n default: withCtx(() => [\n unref(props).stacked && unref(props).labelStacked ? (openBlock(), createElementBlock(\"label\", _hoisted_2$1, toDisplayString(unref(getTableFieldHeadLabel)(field)), 1)) : createCommentVNode(\"\", true),\n renderSlot(\n _ctx.$slots,\n slots[`cell(${String(field.key)})`] ? `cell(${String(field.key)})` : \"cell()\",\n {\n value: unref(formatItem)(item, String(field.key), field.formatter),\n unformatted: unref(get)(item, String(field.key)),\n index: itemIndex,\n item,\n field,\n items: _ctx.items,\n toggleDetails: () => toggleRowDetails(item),\n detailsShowing: unref(isTableItem)(item) ? detailsMap.value.get(item) ?? false : false\n },\n () => [\n !slots[`cell(${String(field.key)})`] && !slots[\"cell()\"] ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createTextVNode(toDisplayString(unref(formatItem)(item, String(field.key), field.formatter)), 1)\n ], 64)) : createCommentVNode(\"\", true)\n ]\n )\n ]),\n _: 2\n }, 1040, [\"variant\", \"class\"]);\n }), 128))\n ]),\n _: 2\n }, 1040, [\"id\", \"class\", \"variant\", \"tabindex\", \"onClick\", \"onDblclick\", \"onContextmenu\", \"onMouseenter\", \"onMouseleave\", \"onMousedown\", \"onKeydown\"]),\n unref(isTableItem)(item) && detailsMap.value.get(item) === true && slots[\"row-details\"] ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createVNode(_sfc_main$3, {\n \"aria-hidden\": \"true\",\n role: \"presentation\",\n class: \"d-none\"\n }),\n createVNode(_sfc_main$3, mergeProps({\n class: getRowClasses(item, \"row-details\"),\n variant: item._rowVariant\n }, { ref_for: true }, callTbodyTrAttrs(item, \"row-details\")), {\n default: withCtx(() => [\n createVNode(_sfc_main$7, {\n colspan: computedFieldsTotal.value,\n class: normalizeClass(_ctx.detailsTdClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"row-details\", {\n item,\n toggleDetails: () => toggleRowDetails(item),\n fields: computedFields.value,\n index: itemIndex\n })\n ]),\n _: 2\n }, 1032, [\"colspan\", \"class\"])\n ]),\n _: 2\n }, 1040, [\"class\", \"variant\"])\n ], 64)) : createCommentVNode(\"\", true)\n ], 64);\n }), 128)),\n !unref(props).stacked && slots[\"bottom-row\"] ? (openBlock(), createBlock(_sfc_main$3, mergeProps({\n key: 1,\n class: [\"bottom-row\", getRowClasses(null, \"row-bottom\")]\n }, callTbodyTrAttrs(null, \"row-bottom\")), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"bottom-row\", {\n columns: computedFieldsTotal.value,\n fields: computedFields.value\n })\n ]),\n _: 3\n }, 16, [\"class\"])) : createCommentVNode(\"\", true)\n ])\n ]),\n _: 3\n }, 8, [\"class\"]),\n unref(props).footClone ? (openBlock(), createBlock(_sfc_main$6, normalizeProps(mergeProps({ key: 1 }, footerProps.value)), {\n default: withCtx(() => [\n createVNode(_sfc_main$3, {\n variant: unref(props).footRowVariant ?? unref(props).headRowVariant,\n class: normalizeClass(unref(props).tfootTrClass ?? unref(props).theadTrClass)\n }, {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFields.value, (field) => {\n return openBlock(), createBlock(_sfc_main$5, mergeProps({\n key: field.key,\n scope: \"col\",\n class: getFieldColumnClasses(field),\n title: field.headerTitle,\n abbr: field.headerAbbr,\n style: field.thStyle,\n variant: field.variant,\n tabindex: shouldHeaderBeFocusable(field) ? \"0\" : void 0\n }, { ref_for: true }, callThAttr(null, field, \"bottom\"), {\n onClick: ($event) => headerClicked(field, $event, true),\n onKeydown: ($event) => handleHeaderKeydown(field, $event, true)\n }), {\n default: withCtx(() => [\n createElementVNode(\"div\", _hoisted_3, [\n createElementVNode(\"div\", null, [\n renderSlot(_ctx.$slots, calculatedFooterSlot(field.key), {\n label: field.label,\n column: field.key,\n field,\n isFoot: true\n }, () => [\n createTextVNode(toDisplayString(unref(getTableFieldHeadLabel)(field)), 1)\n ])\n ])\n ])\n ]),\n _: 2\n }, 1040, [\"class\", \"title\", \"abbr\", \"style\", \"variant\", \"tabindex\", \"onClick\", \"onKeydown\"]);\n }), 128))\n ]),\n _: 3\n }, 8, [\"variant\", \"class\"])\n ]),\n _: 3\n }, 16)) : slots[\"custom-foot\"] ? (openBlock(), createBlock(_sfc_main$6, normalizeProps(mergeProps({ key: 2 }, footerProps.value)), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"custom-foot\", {\n fields: computedFields.value,\n items: unref(props).items,\n columns: computedFieldsTotal.value\n })\n ]),\n _: 3\n }, 16)) : createCommentVNode(\"\", true),\n slots[\"table-caption\"] || unref(props).caption ? (openBlock(), createElementBlock(\"caption\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"table-caption\", {}, () => [\n createTextVNode(toDisplayString(unref(props).caption), 1)\n ])\n ])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 16);\n };\n }\n});\nconst _hoisted_1$1 = [\"d\"];\nconst ascPath = \"M8 12a.5.5 0 0 0 .5-.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 .5.5z\";\nconst descPath = \"M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4z\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"SortIcon\",\n props: {\n fieldInfo: {},\n sortBy: {},\n initialSortDirection: {}\n },\n setup(__props) {\n const props = __props;\n const currentSort = computed(() => props.sortBy?.find((el) => el.key === props.fieldInfo.key));\n const resolvedDirection = computed(() => {\n if (currentSort.value?.order) return currentSort.value.order;\n const fieldInitialDirection = props.fieldInfo.initialSortDirection || props.initialSortDirection;\n if (fieldInitialDirection === \"last\") {\n const lastSorted = [...props.sortBy ?? []].reverse().find((sort) => sort.order !== void 0);\n return lastSorted?.order || \"asc\";\n }\n return fieldInitialDirection === \"desc\" ? \"desc\" : \"asc\";\n });\n const iconPath = computed(() => resolvedDirection.value === \"desc\" ? descPath : ascPath);\n const iconClass = computed(\n () => resolvedDirection.value === \"desc\" ? \"bi bi-arrow-down-short\" : \"bi bi-arrow-up-short\"\n );\n const iconOpacity = computed(() => currentSort.value?.order ? 1 : 0.4);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n fill: \"currentColor\",\n class: normalizeClass(iconClass.value),\n style: normalizeStyle({ opacity: iconOpacity.value }),\n viewBox: \"0 0 16 16\",\n \"aria-hidden\": \"true\"\n }, [\n createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: iconPath.value\n }, null, 8, _hoisted_1$1)\n ], 6);\n };\n }\n});\nconst _hoisted_1 = {\n role: \"alert\",\n \"aria-live\": \"polite\"\n};\nconst _hoisted_2 = { class: \"text-center my-2\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BTable\",\n props: /* @__PURE__ */ mergeModels({\n provider: { type: Function, default: void 0 },\n noProvider: { default: void 0 },\n noProviderPaging: { type: Boolean, default: false },\n noProviderSorting: { type: Boolean, default: false },\n noProviderFiltering: { type: Boolean, default: false },\n sortCompare: { type: Function, default: void 0 },\n mustSort: { type: [Boolean, Array], default: false },\n initialSortDirection: { default: \"asc\" },\n selectable: { type: Boolean, default: false },\n multisort: { type: Boolean, default: false },\n stickySelect: { type: Boolean, default: false },\n selectHead: { type: [Boolean, String], default: true },\n selectMode: { default: \"multi\" },\n selectionVariant: { default: \"primary\" },\n busyLoadingText: { default: \"Loading...\" },\n perPage: { default: Number.POSITIVE_INFINITY },\n currentPage: { default: 1 },\n filter: { default: void 0 },\n filterFunction: { type: Function, default: void 0 },\n filterable: { default: void 0 },\n noLocalSorting: { type: Boolean, default: false },\n noSelectOnClick: { type: Boolean, default: false },\n noSortableIcon: { type: Boolean, default: false },\n emptyFilteredText: { default: \"There are no records matching your request\" },\n emptyText: { default: \"There are no records to show\" },\n showEmpty: { type: Boolean, default: false },\n align: { default: void 0 },\n caption: { default: void 0 },\n detailsTdClass: { default: void 0 },\n fieldColumnClass: { type: [Function, String, Object, Array], default: void 0 },\n fields: { default: () => [] },\n footClone: { type: Boolean, default: void 0 },\n footRowVariant: { default: void 0 },\n footVariant: { default: void 0 },\n headRowVariant: { default: void 0 },\n headVariant: { default: void 0 },\n items: { default: () => [] },\n labelStacked: { type: Boolean, default: void 0 },\n modelValue: { default: void 0 },\n primaryKey: { default: void 0 },\n tbodyClass: { default: void 0 },\n tbodyTrAttrs: {},\n tbodyTrClass: { type: [Function, String, Array, Object], default: void 0 },\n tfootClass: { default: void 0 },\n tfootTrClass: { default: void 0 },\n theadClass: { default: void 0 },\n theadTrClass: { default: void 0 },\n bordered: { type: Boolean, default: void 0 },\n borderless: { type: Boolean, default: void 0 },\n borderVariant: { default: void 0 },\n captionTop: { type: Boolean, default: void 0 },\n dark: { type: Boolean, default: void 0 },\n fixed: { type: Boolean, default: void 0 },\n hover: { type: Boolean, default: void 0 },\n id: { default: void 0 },\n noBorderCollapse: { type: Boolean, default: void 0 },\n outlined: { type: Boolean, default: void 0 },\n responsive: { type: [Boolean, String], default: void 0 },\n small: { type: Boolean, default: void 0 },\n stacked: { type: [Boolean, String], default: void 0 },\n stickyHeader: { type: [Boolean, String, Number], default: void 0 },\n striped: { type: Boolean, default: void 0 },\n stripedColumns: { type: Boolean, default: void 0 },\n variant: { default: void 0 },\n tableAttrs: {},\n debounce: { default: 0 },\n debounceMaxWait: { default: Number.NaN }\n }, {\n \"sortBy\": {\n default: void 0\n },\n \"sortByModifiers\": {},\n \"busy\": { type: Boolean, ...{\n default: false\n } },\n \"busyModifiers\": {},\n \"selectedItems\": {\n default: () => []\n },\n \"selectedItemsModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"filtered\", \"row-selected\", \"row-unselected\", \"sorted\", \"change\", \"head-clicked\", \"row-clicked\", \"row-dblclicked\", \"row-contextmenu\", \"row-hovered\", \"row-unhovered\", \"row-middle-clicked\"], [\"update:sortBy\", \"update:busy\", \"update:selectedItems\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BTable\");\n const emit = __emit;\n const slots = useSlots();\n const dynamicCellSlots = computed(\n () => Object.keys(slots).filter((key) => key.startsWith(\"cell(\"))\n );\n const dynamicFootSlots = computed(\n () => Object.keys(slots).filter((key) => key.startsWith(\"foot(\"))\n );\n const sortByModel = useModel(__props, \"sortBy\");\n const busyModel = useModel(__props, \"busy\");\n const selectedItemsModel = useModel(\n __props,\n \"selectedItems\"\n );\n const computedId = useId(() => props.id);\n const selectedItemsToSet = computed({\n get: () => new Set(selectedItemsModel.value),\n set: (val) => {\n selectedItemsModel.value = [...val];\n }\n });\n watch(selectedItemsToSet, (newValue, oldValue) => {\n Array.from(oldValue).filter((item) => !newValue.has(item)).forEach((item) => {\n emit(\"row-unselected\", item);\n });\n Array.from(newValue).filter((item) => !oldValue.has(item)).forEach((item) => {\n emit(\"row-selected\", item);\n });\n });\n const selectedItemsSetUtilities = {\n add: (item) => {\n const value = new Set(selectedItemsToSet.value);\n value.add(item);\n selectedItemsToSet.value = value;\n },\n clear: () => {\n selectedItemsToSet.value.forEach((item) => {\n selectedItemsSetUtilities.delete(item);\n });\n },\n delete: (item) => {\n const value = new Set(selectedItemsToSet.value);\n if (props.primaryKey) {\n const pkey = props.primaryKey;\n selectedItemsModel.value.forEach((v, i) => {\n const selectedKey = get(v, pkey);\n const itemKey = get(item, pkey);\n if (!!selectedKey && !!itemKey && selectedKey === itemKey) {\n value.delete(selectedItemsModel.value[i]);\n }\n });\n } else {\n value.delete(item);\n }\n selectedItemsToSet.value = value;\n },\n set: (items) => {\n selectedItemsToSet.value = new Set(items);\n },\n has: (item) => {\n if (!props.primaryKey) return selectedItemsToSet.value.has(item);\n const pkey = props.primaryKey;\n for (const selected of selectedItemsToSet.value) {\n const selectedKey = get(selected, pkey);\n const itemKey = get(item, pkey);\n if (!!selectedKey && !!itemKey && selectedKey === itemKey) return true;\n }\n return false;\n }\n };\n const internalItems = ref([]);\n const perPageNumber = useToNumber(() => props.perPage, { method: \"parseInt\" });\n const currentPageNumber = useToNumber(() => props.currentPage, { method: \"parseInt\" });\n const debounceNumber = useToNumber(() => props.debounce ?? 0, { nanToZero: true });\n const debounceMaxWaitNumber = useToNumber(() => props.debounceMaxWait ?? Number.NaN);\n const isFilterableTable = computed(() => !!props.filter);\n const usesProvider = computed(() => props.provider !== void 0);\n const isSelecting = computed(() => selectedItemsToSet.value.size > 0);\n const isSortable = computed(\n () => sortByModel.value !== void 0 || props.fields.some(\n (field) => typeof field === \"object\" && field !== null && field.sortable === true\n )\n );\n const keyboardRowNavigation = computed(() => !!(props.selectable && !props.noSelectOnClick));\n const keyboardHeaderNavigation = computed(() => !!isSortable.value);\n provide(tableKeyboardNavigationKey, {\n rowNavigation: keyboardRowNavigation,\n headerNavigation: keyboardHeaderNavigation\n });\n const computedFields = computed(\n () => props.fields.map((el) => {\n if (!isTableField(el)) {\n const label = startCase(el);\n return {\n key: el,\n label,\n tdAttr: getDataLabelAttr(props, label)\n };\n }\n const value = sortByModel.value?.find((sb) => el.key === sb.key);\n const sortValue = isSortable.value === false ? void 0 : value === void 0 ? \"none\" : value.order === \"desc\" ? \"descending\" : value.order === \"asc\" ? \"ascending\" : \"none\";\n return {\n ...el,\n thAttr: {\n \"aria-sort\": sortValue,\n ...el.thAttr\n }\n };\n })\n );\n const tableClasses = computed(() => ({\n \"b-table-busy\": busyModel.value,\n \"b-table-selectable\": props.selectable,\n \"user-select-none\": props.selectable && isSelecting.value,\n \"b-table-fixed\": props.fixed,\n \"b-table-no-border-collapse\": props.noBorderCollapse\n }));\n const getBusyRowClasses = computed(() => [\n props.tbodyTrClass ? typeof props.tbodyTrClass === \"function\" ? props.tbodyTrClass(null, \"table-busy\") : props.tbodyTrClass : null\n ]);\n const getFieldColumnClasses = (field) => [\n {\n \"b-table-sortable-column\": isSortable.value && field.sortable\n }\n ];\n const getRowClasses = (item, type) => [\n {\n [`selected table-${props.selectionVariant}`]: props.selectable && !!item && selectedItemsSetUtilities.has(item)\n },\n props.tbodyTrClass ? typeof props.tbodyTrClass === \"function\" ? props.tbodyTrClass(item, type) : props.tbodyTrClass : null\n ];\n const getFormatter = (value) => typeof value.sortByFormatted === \"function\" ? value.sortByFormatted : value.formatter;\n const getStringValue = (ob, key) => {\n if (!isTableItem(ob)) return String(ob);\n const sortField = computedFields.value.find((el) => {\n if (isTableField(el)) return el.key === key;\n return false;\n });\n const val = get(ob, key);\n if (isTableField(sortField) && !!sortField.sortByFormatted) {\n const formatter = getFormatter(sortField);\n if (formatter) {\n return String(formatItem(ob, String(sortField.key), formatter));\n }\n }\n return typeof val === \"object\" && val !== null ? JSON.stringify(val) : val?.toString() ?? \"\";\n };\n const fieldByKey = computed(() => {\n const map = /* @__PURE__ */ new Map();\n for (const f of computedFields.value) if (isTableField(f)) map.set(f.key, f);\n return map;\n });\n const computedItems = computed(() => {\n const sortByItems = sortByModel.value?.filter((el) => !!el.order);\n const mapItem = (item) => {\n if (typeof item === \"object\" && item !== null && Object.keys(item).some((key) => key.includes(\".\"))) {\n let newItem = {};\n for (const key in item) {\n if (key.includes(\".\")) {\n newItem = set(newItem, key, item[key]);\n } else {\n newItem[key] = item[key];\n }\n }\n return newItem;\n }\n return item;\n };\n const filterItem = (item) => {\n if (!isTableItem(item)) return true;\n return Object.entries(item).some(([key, val]) => {\n if (val === null || val === void 0 || key[0] === \"_\" || !props.filterable?.includes(key) && !!props.filterable?.length)\n return false;\n if (props.filterFunction && typeof props.filterFunction === \"function\") {\n return props.filterFunction(item, props.filter);\n }\n const realVal = () => {\n const filterField = computedFields.value.find((el) => {\n if (isTableField(el)) return el.key === key;\n return false;\n });\n if (isTableField(filterField) && !!filterField.filterByFormatted) {\n const formatter = getFormatter(filterField);\n if (formatter) {\n return String(formatter(val, String(filterField.key), item));\n }\n }\n return typeof val === \"object\" ? JSON.stringify(Object.values(val)) : val.toString();\n };\n const itemValue = realVal();\n return itemValue.toLowerCase().includes(props.filter?.toLowerCase() ?? \"\");\n });\n };\n const mappedItems = (usesProvider.value ? internalItems.value : props.items).reduce(\n (acc, val) => {\n const item = mapItem(val);\n const shouldFilter = isFilterableTable.value && (!usesProvider.value || props.noProviderFiltering);\n if (!shouldFilter || filterItem(item)) acc.push(item);\n return acc;\n },\n []\n );\n if (sortByItems?.length && (isSortable.value === true && !usesProvider.value && !props.noLocalSorting || isSortable.value === true && usesProvider.value && props.noProviderSorting)) {\n return mappedItems.sort((a, b) => {\n for (let i = 0; i < sortByItems.length; i++) {\n const { key, order } = sortByItems[i];\n const field = fieldByKey.value.get(key);\n const comparer = field?.sortCompare || props.sortCompare;\n const comparison = comparer ? comparer(a, b, key) : getStringValue(a, key).localeCompare(getStringValue(b, key), void 0, { numeric: true });\n if (comparison !== 0) {\n return order === \"asc\" ? comparison : -comparison;\n }\n }\n return 0;\n });\n }\n return mappedItems;\n });\n const emptySlotScope = computed(() => ({\n emptyFilteredText: props.emptyFilteredText,\n emptyText: props.emptyText,\n fields: computedFields.value,\n items: computedItems.value\n }));\n const computedDisplayItems = computed(() => {\n if (Number.isNaN(perPageNumber.value) || usesProvider.value && !props.noProviderPaging) {\n return computedItems.value;\n }\n return computedItems.value.slice(\n (currentPageNumber.value - 1) * (perPageNumber.value || Number.POSITIVE_INFINITY),\n currentPageNumber.value * (perPageNumber.value || Number.POSITIVE_INFINITY)\n );\n });\n watch(computedDisplayItems, (v) => {\n emit(\"change\", v);\n });\n const handleRowSelection = (row, index, shiftClicked = false, ctrlClicked = false, metaClicked = false) => {\n if (!props.selectable) return;\n if (props.selectMode === \"single\" || props.selectMode === \"multi\") {\n if (shiftClicked || ctrlClicked) return;\n if (selectedItemsSetUtilities.has(row)) {\n selectedItemsSetUtilities.delete(row);\n } else {\n if (props.selectMode === \"single\") {\n selectedItemsSetUtilities.set([row]);\n } else {\n selectedItemsSetUtilities.add(row);\n }\n }\n } else {\n if (ctrlClicked || metaClicked) {\n if (selectedItemsSetUtilities.has(row)) {\n selectedItemsSetUtilities.delete(row);\n } else {\n selectedItemsSetUtilities.add(row);\n }\n } else if (shiftClicked) {\n const lastSelectedItem = [...selectedItemsToSet.value].pop();\n const lastSelectedIndex = computedItems.value.findIndex((i) => i === lastSelectedItem);\n const selectStartIndex = Math.min(lastSelectedIndex, index);\n const selectEndIndex = Math.max(lastSelectedIndex, index);\n const items = computedItems.value.slice(selectStartIndex, selectEndIndex + 1);\n selectedItemsSetUtilities.set(items);\n } else {\n selectedItemsSetUtilities.set([row]);\n }\n }\n };\n const handleFieldSorting = (field) => {\n if (!isSortable.value) return;\n const fieldKey = typeof field === \"object\" && field !== null ? field.key : field;\n const fieldSortable = typeof field === \"object\" && field !== null ? field.sortable : false;\n if (!(isSortable.value === true && fieldSortable === true)) return;\n const getLastSortDirection = () => {\n const lastSorted = [...sortByModel.value ?? []].reverse().find((sort) => sort.order !== void 0 && sort.key !== fieldKey);\n return lastSorted?.order ?? \"asc\";\n };\n const getInitialSortDirection = () => {\n if (typeof field === \"object\" && field !== null && field.initialSortDirection) {\n if (field.initialSortDirection === \"last\") {\n return getLastSortDirection();\n }\n return field.initialSortDirection;\n }\n if (props.initialSortDirection) {\n if (props.initialSortDirection === \"last\") {\n return getLastSortDirection();\n }\n return props.initialSortDirection;\n }\n return \"asc\";\n };\n const resolveOrder = (val) => {\n if (val === void 0) return getInitialSortDirection();\n const initial = getInitialSortDirection();\n const must = props.mustSort === true || Array.isArray(props.mustSort) && props.mustSort.includes(fieldKey);\n if (val === \"asc\") {\n if (initial === \"desc\") {\n return must ? \"desc\" : void 0;\n }\n return \"desc\";\n }\n if (val === \"desc\") {\n if (initial === \"desc\") {\n return \"asc\";\n }\n return must ? \"asc\" : void 0;\n }\n return void 0;\n };\n const index = sortByModel.value?.findIndex((el) => el.key === fieldKey) ?? -1;\n const originalValue = sortByModel.value?.[index];\n const updatedValue = (\n // If value is new, we use the field's initialSortDirection or default to ascending\n // Otherwise we make a temp copy of the value\n index === -1 || !originalValue ? { key: fieldKey, order: getInitialSortDirection() } : { ...originalValue }\n );\n const handleMultiSort = () => {\n const tmp = [...sortByModel.value ?? []];\n const val = updatedValue;\n if (index === -1) {\n tmp.push(val);\n } else {\n const order = resolveOrder(val.order);\n if (order) {\n val.order = order;\n tmp.splice(index, 1, val);\n } else {\n val.order = void 0;\n tmp.splice(index, 1);\n }\n }\n sortByModel.value = tmp;\n return val;\n };\n const handleSingleSort = () => {\n const order = index === -1 ? updatedValue.order : resolveOrder(updatedValue.order);\n const val = {\n ...updatedValue,\n order\n };\n sortByModel.value = order ? [val] : [];\n return val;\n };\n emit(\"sorted\", props.multisort === true ? handleMultiSort() : handleSingleSort());\n };\n let abortController = null;\n const callItemsProvider = async () => {\n if (!usesProvider.value || props.provider === void 0) return;\n if (abortController) {\n abortController.abort();\n }\n abortController = new AbortController();\n const { signal } = abortController;\n busyModel.value = true;\n const response = props.provider({\n currentPage: currentPageNumber.value,\n filter: props.filter,\n sortBy: sortByModel.value,\n perPage: perPageNumber.value,\n signal\n });\n try {\n const items = response instanceof Promise ? await response : response;\n if (signal.aborted) return;\n if (items === void 0) return;\n internalItems.value = items;\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") return;\n throw error;\n } finally {\n if (!signal.aborted) {\n busyModel.value = false;\n }\n }\n };\n const debouncedCallItemsProvider = useDebounceFn(callItemsProvider, debounceNumber, {\n maxWait: debounceMaxWaitNumber\n });\n const providerPropsWatch = async (prop, val, oldVal) => {\n if (deepEqual(val, oldVal)) return;\n const inNoProvider = (key) => props.noProvider?.includes(key) === true;\n const noProvideWhenPaging = (prop === \"currentPage\" || prop === \"perPage\") && (inNoProvider(\"paging\") || props.noProviderPaging === true);\n const noProvideWhenFiltering = prop === \"filter\" && (inNoProvider(\"filtering\") || props.noProviderFiltering === true);\n const noProvideWhenSorting = (prop === \"sortBy\" || prop === \"sortDesc\") && (inNoProvider(\"sorting\") || props.noProviderSorting === true);\n if (noProvideWhenPaging || noProvideWhenFiltering || noProvideWhenSorting) return;\n if (usesProvider.value === true) {\n await debouncedCallItemsProvider();\n }\n if (!(prop === \"currentPage\" || prop === \"perPage\")) {\n emit(\"filtered\", [...computedItems.value]);\n }\n };\n watch(\n () => props.filter,\n (filter, oldFilter) => {\n providerPropsWatch(\"filter\", filter, oldFilter);\n if (filter === oldFilter || usesProvider.value) return;\n if (!filter) {\n emit(\"filtered\", [...computedItems.value]);\n }\n }\n );\n watch(currentPageNumber, (val, oldVal) => {\n providerPropsWatch(\"currentPage\", val, oldVal);\n });\n watch(perPageNumber, (val, oldVal) => {\n providerPropsWatch(\"perPage\", val, oldVal);\n });\n watch(\n sortByModel,\n (val, oldVal) => {\n providerPropsWatch(\"sortBy\", val, oldVal);\n },\n { deep: true }\n );\n watch(\n () => props.provider,\n (newValue) => {\n if (newValue === void 0) {\n internalItems.value = [];\n return;\n }\n callItemsProvider();\n }\n );\n onMounted(callItemsProvider);\n const exposedSelectableUtilities = {\n clearSelected: () => {\n if (!props.selectable) return;\n selectedItemsSetUtilities.clear();\n },\n selectAllRows: () => {\n if (!props.selectable || props.selectMode === \"single\") return;\n selectedItemsToSet.value = new Set(computedItems.value);\n },\n selectRow: (index) => {\n if (!props.selectable) return;\n const item = computedItems.value[index];\n if (!item || selectedItemsSetUtilities.has(item)) return;\n if (props.selectMode === \"single\") {\n selectedItemsSetUtilities.set([item]);\n } else {\n selectedItemsSetUtilities.add(item);\n }\n },\n unselectRow: (index) => {\n if (!props.selectable) return;\n const item = computedItems.value[index];\n if (!item || !selectedItemsSetUtilities.has(item)) return;\n selectedItemsSetUtilities.delete(item);\n },\n isRowSelected: (index) => {\n if (!props.selectable) return false;\n const item = computedItems.value[index];\n return selectedItemsSetUtilities.has(item);\n }\n };\n const boundBTableLiteEmits = {\n onHeadClicked: (fieldKey, field, event, isFooter = false) => {\n emit(\"head-clicked\", fieldKey, field, event, isFooter);\n handleFieldSorting(field);\n },\n onRowClicked: (row, index, e) => {\n if (props.noSelectOnClick === false) {\n handleRowSelection(row, index, e.shiftKey, e.ctrlKey, e.metaKey);\n }\n emit(\"row-clicked\", row, index, e);\n },\n onRowDblclicked: (...args) => emit(\"row-dblclicked\", ...args),\n onRowContextmenu: (...args) => emit(\"row-contextmenu\", ...args),\n onRowHovered: (...args) => emit(\"row-hovered\", ...args),\n onRowUnhovered: (...args) => emit(\"row-unhovered\", ...args),\n onRowMiddleClicked: (...args) => emit(\"row-middle-clicked\", ...args)\n };\n const computedLiteProps = computed(() => ({\n ...pick(props, [...btableLiteProps, ...btableSimpleProps]),\n tableAttrs: {\n ariaBusy: busyModel.value\n },\n items: computedDisplayItems.value,\n fields: computedFields.value,\n tableClass: tableClasses.value,\n tbodyTrClass: getRowClasses,\n fieldColumnClass: getFieldColumnClasses,\n id: computedId.value,\n ...boundBTableLiteEmits\n }));\n __expose({\n // The row selection methods are really for compat. Users should probably use the v-model though\n ...exposedSelectableUtilities,\n items: computedItems,\n displayItems: computedDisplayItems,\n getStringValue,\n refresh: callItemsProvider\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$2, normalizeProps(guardReactiveProps(computedLiteProps.value)), createSlots({\n \"custom-body\": withCtx((scope) => [\n busyModel.value && slots[\"table-busy\"] ? (openBlock(), createBlock(_sfc_main$3, {\n key: 0,\n class: normalizeClass([\"b-table-busy-slot\", getBusyRowClasses.value])\n }, {\n default: withCtx(() => [\n createVNode(_sfc_main$7, {\n colspan: scope.fields.length\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"table-busy\")\n ]),\n _: 2\n }, 1032, [\"colspan\"])\n ]),\n _: 2\n }, 1032, [\"class\"])) : unref(props).showEmpty === true && computedItems.value.length === 0 ? (openBlock(), createBlock(_sfc_main$3, {\n key: 1,\n class: \"b-table-empty-row\"\n }, {\n default: withCtx(() => [\n createVNode(_sfc_main$7, {\n colspan: computedFields.value.length\n }, {\n default: withCtx(() => [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"div\", _hoisted_2, [\n isFilterableTable.value ? renderSlot(_ctx.$slots, \"empty-filtered\", normalizeProps(mergeProps({ key: 0 }, emptySlotScope.value)), () => [\n createTextVNode(toDisplayString(unref(props).emptyFilteredText), 1)\n ]) : renderSlot(_ctx.$slots, \"empty\", normalizeProps(mergeProps({ key: 1 }, emptySlotScope.value)), () => [\n createTextVNode(toDisplayString(unref(props).emptyText), 1)\n ])\n ])\n ])\n ]),\n _: 3\n }, 8, [\"colspan\"])\n ]),\n _: 3\n })) : createCommentVNode(\"\", true)\n ]),\n _: 2\n }, [\n slots[\"table-colgroup\"] ? {\n name: \"table-colgroup\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"table-colgroup\", normalizeProps(guardReactiveProps(scope)))\n ]),\n key: \"0\"\n } : void 0,\n slots[\"thead-top\"] ? {\n name: \"thead-top\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"thead-top\", mergeProps(scope, {\n clearSelected: exposedSelectableUtilities.clearSelected,\n selectAllRows: exposedSelectableUtilities.selectAllRows,\n fields: computedFields.value\n }))\n ]),\n key: \"1\"\n } : void 0,\n slots[\"thead-sub\"] ? {\n name: \"thead-sub\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"thead-sub\", mergeProps(scope, { fields: computedFields.value }))\n ]),\n key: \"2\"\n } : void 0,\n slots[\"top-row\"] ? {\n name: \"top-row\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"top-row\", mergeProps(scope, { fields: computedFields.value }))\n ]),\n key: \"3\"\n } : void 0,\n slots[\"row-details\"] ? {\n name: \"row-details\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"row-details\", mergeProps(scope, {\n fields: computedFields.value,\n selectRow: () => exposedSelectableUtilities.selectRow(scope.index),\n unselectRow: () => exposedSelectableUtilities.unselectRow(scope.index),\n rowSelected: exposedSelectableUtilities.isRowSelected(scope.index)\n }))\n ]),\n key: \"4\"\n } : void 0,\n slots[\"bottom-row\"] ? {\n name: \"bottom-row\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"bottom-row\", mergeProps(scope, { fields: computedFields.value }))\n ]),\n key: \"5\"\n } : void 0,\n slots[\"custom-foot\"] ? {\n name: \"custom-foot\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"custom-foot\", mergeProps(scope, { fields: computedFields.value }))\n ]),\n key: \"6\"\n } : void 0,\n slots[\"table-caption\"] ? {\n name: \"table-caption\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"table-caption\")\n ]),\n key: \"7\"\n } : void 0,\n renderList(dynamicCellSlots.value, (name) => {\n return {\n name,\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, name, mergeProps(scope, {\n selectRow: () => exposedSelectableUtilities.selectRow(scope.index),\n unselectRow: () => exposedSelectableUtilities.unselectRow(scope.index),\n rowSelected: exposedSelectableUtilities.isRowSelected(scope.index)\n }))\n ])\n };\n }),\n renderList(dynamicFootSlots.value, (name) => {\n return {\n name,\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, name, mergeProps(scope, {\n selectAllRows: exposedSelectableUtilities.selectAllRows,\n clearSelected: exposedSelectableUtilities.clearSelected\n }))\n ])\n };\n }),\n renderList(computedFields.value, (field) => {\n return {\n name: `head(${String(field.key)})`,\n fn: withCtx((scope) => [\n renderSlot(\n _ctx.$slots,\n slots[`head(${String(field.key)})`] ? `head(${String(field.key)})` : \"head()\",\n mergeProps(scope, {\n selectAllRows: exposedSelectableUtilities.selectAllRows,\n clearSelected: exposedSelectableUtilities.clearSelected\n }),\n () => [\n createTextVNode(toDisplayString(unref(getTableFieldHeadLabel)(field)), 1)\n ]\n ),\n isSortable.value && !!scope.field.sortable && unref(props).noSortableIcon === false ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n sortByModel.value?.find((el) => el.key === scope.field.key)?.order === \"asc\" ? renderSlot(\n _ctx.$slots,\n slots[`sortAsc(${String(scope.field.key)})`] ? `sortAsc(${String(scope.field.key)})` : \"sortAsc()\",\n normalizeProps(mergeProps({ key: 0 }, scope)),\n () => [\n createVNode(_sfc_main$1, {\n \"field-info\": scope.field,\n \"sort-by\": sortByModel.value,\n \"initial-sort-direction\": unref(props).initialSortDirection\n }, null, 8, [\"field-info\", \"sort-by\", \"initial-sort-direction\"])\n ]\n ) : sortByModel.value?.find((el) => el.key === scope.field.key)?.order === \"desc\" ? renderSlot(\n _ctx.$slots,\n slots[`sortDesc(${String(scope.field.key)})`] ? `sortDesc(${String(scope.field.key)})` : \"sortDesc()\",\n normalizeProps(mergeProps({ key: 1 }, scope)),\n () => [\n createVNode(_sfc_main$1, {\n \"field-info\": scope.field,\n \"sort-by\": sortByModel.value,\n \"initial-sort-direction\": unref(props).initialSortDirection\n }, null, 8, [\"field-info\", \"sort-by\", \"initial-sort-direction\"])\n ]\n ) : renderSlot(\n _ctx.$slots,\n slots[`sortDefault(${String(scope.field.key)})`] ? `sortDefault(${String(scope.field.key)})` : \"sortDefault()\",\n normalizeProps(mergeProps({ key: 2 }, scope)),\n () => [\n createVNode(_sfc_main$1, {\n \"field-info\": scope.field,\n \"sort-by\": sortByModel.value,\n \"initial-sort-direction\": unref(props).initialSortDirection\n }, null, 8, [\"field-info\", \"sort-by\", \"initial-sort-direction\"])\n ]\n )\n ], 64)) : createCommentVNode(\"\", true)\n ])\n };\n })\n ]), 1040);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$2 as a,\n _sfc_main$8 as b,\n _sfc_main$7 as c,\n _sfc_main$6 as d,\n _sfc_main$5 as e,\n _sfc_main$4 as f,\n _sfc_main$3 as g\n};\n//# sourceMappingURL=BTable.vue_vue_type_script_setup_true_lang-D-2ysMDQ.mjs.map\n","import { defineComponent, mergeModels, useSlots, useAttrs, useModel, inject, ref, computed, useTemplateRef, onUnmounted, watch, createBlock, openBlock, resolveDynamicComponent, unref, mergeProps, withCtx, renderSlot, createCommentVNode, nextTick, onMounted, provide, toRef, normalizeClass, createVNode, createElementVNode, createElementBlock, Fragment, renderList, withModifiers, withKeys, createTextVNode, toDisplayString } from \"vue\";\nimport { B as BvEvent } from \"./classes-BW_GpXTu.mjs\";\nimport { u as useAlignment } from \"./useAlignment-Cw-9AVid.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { i as createReusableTemplate } from \"./index-C0p9vHHI.mjs\";\nimport { t as tabsInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { s as sortSlotElementsByPosition } from \"./dom-DVb-f0ZG.mjs\";\nimport { f as flattenFragments } from \"./flattenFragments-BoFLyuna.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BTab\",\n props: /* @__PURE__ */ mergeModels({\n buttonId: { default: void 0 },\n disabled: { type: Boolean, default: false },\n id: { default: void 0 },\n lazy: { type: Boolean, default: void 0 },\n unmountLazy: { type: Boolean, default: void 0 },\n noBody: { type: Boolean, default: false },\n tag: { default: \"div\" },\n title: { default: void 0 },\n titleItemClass: { default: void 0 },\n titleLinkAttrs: { default: void 0 },\n titleLinkClass: { default: void 0 }\n }, {\n \"active\": { type: Boolean, ...{\n default: false\n } },\n \"activeModifiers\": {}\n }),\n emits: [\"update:active\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BTab\");\n const slots = useSlots();\n const attrs = useAttrs();\n const activeModel = useModel(__props, \"active\");\n const parentData = inject(tabsInjectionKey, null);\n const localId = ref(props.id);\n const internalId = useId(\"\", \"tabpane\");\n const computedId = computed(() => props.id ?? localId.value ?? internalId.value);\n const computedButtonId = useId(() => props.buttonId, \"tab\");\n const lazyRenderCompleted = ref(false);\n const el = useTemplateRef(\"_el\");\n const processedAttrs = computed(() => {\n const { onClick: _, ...tabAttrs } = attrs;\n return tabAttrs;\n });\n function updateTab() {\n if (!parentData) return;\n const newId = parentData.registerTab(\n computed(\n () => ({\n internalId: internalId.value,\n id: computedId.value,\n active: activeModel.value,\n buttonId: computedButtonId.value,\n disabled: props.disabled,\n title: props.title,\n titleComponent: slots.title,\n titleItemClass: props.titleItemClass,\n titleLinkAttrs: props.titleLinkAttrs,\n titleLinkClass: props.titleLinkClass,\n onClick: attrs.onClick,\n el\n })\n )\n );\n if (newId !== localId.value) {\n localId.value = newId;\n }\n }\n if (parentData) {\n updateTab();\n if (activeModel.value) {\n parentData.activateTab(internalId.value);\n }\n }\n onUnmounted(() => {\n if (!parentData) return;\n parentData.unregisterTab(internalId.value);\n });\n const isActive = computed(() => parentData?.activeId.value === computedId.value);\n const show = ref(isActive.value);\n const computedLazy = computed(() => !!(parentData?.lazy.value || props.lazy));\n const computedActive = computed(() => isActive.value && !props.disabled);\n const showSlot = computed(\n () => computedActive.value || !computedLazy.value || computedLazy.value && !props.unmountLazy && lazyRenderCompleted.value\n );\n watch(showSlot, (shown) => {\n if (shown && !lazyRenderCompleted.value) lazyRenderCompleted.value = true;\n });\n watch(isActive, (active) => {\n if (active) {\n activeModel.value = true;\n setTimeout(() => {\n show.value = true;\n }, 0);\n return;\n }\n show.value = false;\n activeModel.value = false;\n });\n watch(activeModel, (active) => {\n if (props.disabled) {\n activeModel.value = false;\n return;\n }\n if (!parentData) return;\n if (!active) {\n if (isActive.value) {\n parentData.activateTab(void 0);\n }\n return;\n }\n if (!isActive.value) {\n parentData.activateTab(internalId.value);\n }\n });\n const computedClasses = computed(() => [\n {\n \"active\": isActive.value,\n \"show\": show.value,\n \"card-body\": parentData?.card.value && props.noBody === false,\n \"fade\": !parentData?.noFade.value\n },\n show.value ? parentData?.activeTabClass.value : parentData?.inactiveTabClass.value,\n parentData?.tabClass.value\n ]);\n __expose({\n activate: () => {\n activeModel.value = true;\n },\n deactivate: () => {\n activeModel.value = false;\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), mergeProps({\n id: computedId.value,\n ref: \"_el\",\n class: [\"tab-pane\", computedClasses.value],\n role: \"tabpanel\",\n \"aria-labelledby\": unref(computedButtonId)\n }, processedAttrs.value), {\n default: withCtx(() => [\n showSlot.value ? renderSlot(_ctx.$slots, \"default\", { key: 0 }) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 16, [\"id\", \"class\", \"aria-labelledby\"]);\n };\n }\n});\nconst _hoisted_1 = [\"aria-orientation\"];\nconst _hoisted_2 = [\"id\", \"aria-controls\", \"aria-selected\", \"disabled\", \"tabindex\", \"onClick\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BTabs\",\n props: /* @__PURE__ */ mergeModels({\n activeNavItemClass: { default: void 0 },\n activeTabClass: { default: void 0 },\n align: { default: void 0 },\n card: { type: Boolean, default: false },\n contentClass: { default: void 0 },\n end: { type: Boolean, default: false },\n fill: { type: Boolean, default: false },\n id: { default: void 0 },\n index: {},\n inactiveNavItemClass: { default: void 0 },\n inactiveTabClass: { default: void 0 },\n justified: { type: Boolean, default: false },\n lazy: { type: Boolean, default: false },\n navClass: { default: void 0 },\n navItemClass: { default: void 0 },\n navWrapperClass: { default: void 0 },\n noFade: { type: Boolean, default: false },\n noKeyNav: { type: Boolean, default: false },\n noNavStyle: { type: Boolean, default: false },\n pills: { type: Boolean, default: false },\n small: { type: Boolean, default: false },\n tag: { default: \"div\" },\n tabClass: { default: void 0 },\n underline: { type: Boolean, default: false },\n vertical: { type: Boolean, default: false }\n }, {\n \"index\": {\n default: -1\n },\n \"indexModifiers\": {},\n \"modelValue\": {\n default: void 0\n },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"activate-tab\"], [\"update:index\", \"update:modelValue\"]),\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BTabs\");\n const emit = __emit;\n const slots = useSlots();\n const activeIndex = useModel(__props, \"index\");\n const activeId = useModel(__props, \"modelValue\");\n const ReusableEmptyTab = createReusableTemplate();\n const tabsInternal = ref([]);\n const tabElementsArray = ref([]);\n const isChildActive = ref(false);\n const initialIds = ref([]);\n const updateTabElementsArray = () => {\n const tabElements = flattenFragments(slots.default?.({}) ?? []);\n tabElementsArray.value = (Array.isArray(tabElements) ? tabElements : [tabElements]).filter(\n (tab) => tab.type === _sfc_main$1\n );\n if (initialIds.value.length === 0) {\n initialIds.value = tabElementsArray.value.map(\n (tab) => unref(useId(() => tab.props?.id, \"tabpane\"))\n );\n }\n isChildActive.value = tabElementsArray.value.some(\n (tab) => tab.props?.active !== void 0 && tab.props?.active !== false\n );\n };\n updateTabElementsArray();\n watch(\n () => slots.default?.({}),\n () => {\n updateTabElementsArray();\n nextTick(() => {\n sortTabs();\n });\n }\n );\n const tabs = computed(() => {\n if (tabsInternal.value.length === 0) {\n const _activeIndex = tabElementsArray.value.findIndex(\n (tab) => tab.props?.active !== void 0 && (tab.props.disabled === false || tab.props.disabled === void 0) || activeId.value && tab.props?.id === activeId.value\n );\n return tabElementsArray.value.map((tab, index) => {\n const active = _activeIndex !== -1 ? index === _activeIndex : activeIndex.value > -1 ? index === activeIndex.value : index === 0;\n return {\n id: tab.props?.id ?? initialIds.value[index],\n internalId: `premount-${index}`,\n // temporary id for the tab\n buttonId: tab.props?.buttonId,\n disabled: tab.props?.disabled,\n title: tab.props?.title,\n titleComponent: tab.children?.title,\n titleItemClass: tab.props?.titleItemClass,\n titleLinkAttrs: tab.props?.titleLinkAttrs,\n titleLinkClass: tab.props?.titleLinkClass,\n onClick: tab.props?.onClick,\n active,\n navItemClasses: [\n {\n active,\n disabled: !(tab.props?.disabled === false || tab.props?.disabled === void 0)\n },\n active ? props.activeNavItemClass : props.inactiveNavItemClass,\n props.navItemClass\n ]\n };\n });\n }\n return tabsInternal.value.map((_tab) => {\n const tab = unref(_tab);\n const active = tab.id === activeId.value;\n return {\n ...tab,\n active,\n navItemClasses: [\n {\n active,\n disabled: tab.disabled\n },\n active ? props.activeNavItemClass : props.inactiveNavItemClass,\n props.navItemClass\n ]\n };\n });\n });\n let initialized = false;\n let updateInitialActiveIndex = false;\n let updateInitialActiveId = false;\n if (activeIndex.value === -1 && activeId.value) {\n if (tabs.value.findIndex((t) => t.id === activeId.value) !== -1) {\n activeIndex.value = tabs.value.findIndex((t) => t.id === activeId.value);\n } else {\n updateInitialActiveIndex = true;\n }\n } else if (activeIndex.value > -1 && !activeId.value) {\n if (tabs.value[activeIndex.value]?.id) {\n activeId.value = tabs.value[activeIndex.value]?.id;\n } else {\n updateInitialActiveId = true;\n }\n } else if (activeIndex.value === -1 && !activeId.value && !isChildActive.value) {\n activeIndex.value = tabs.value.findIndex((t) => t.disabled === void 0 || t.disabled === false);\n activeId.value = tabs.value[activeIndex.value]?.id;\n } else if (activeIndex.value === -1 && !activeId.value && isChildActive.value) {\n activeIndex.value = tabs.value.findIndex(\n (t) => t.active !== void 0 && t.active !== false && (t.disabled === void 0 || t.disabled === false)\n );\n activeId.value = tabs.value[activeIndex.value]?.id;\n }\n function updateInitialIndexAndId() {\n if (updateInitialActiveIndex) {\n const index = tabs.value.findIndex((t) => t.id === activeId.value);\n if (index !== -1) {\n nextTick(() => {\n activeIndex.value = index;\n updateInitialActiveIndex = false;\n });\n }\n }\n if (updateInitialActiveId) {\n if (activeIndex.value > -1 && tabs.value[activeIndex.value]?.id) {\n nextTick(() => {\n activeId.value = tabs.value[activeIndex.value]?.id;\n updateInitialActiveId = false;\n });\n }\n }\n }\n updateInitialIndexAndId();\n const showEmpty = computed(() => !(tabs?.value && tabs.value.length > 0));\n const computedClasses = computed(() => ({\n \"d-flex\": props.vertical,\n \"align-items-start\": props.vertical\n }));\n const alignment = useAlignment(() => props.align);\n const navTabsClasses = computed(() => ({\n \"nav-pills\": props.pills,\n \"nav-underline\": props.underline,\n \"flex-column me-3\": props.vertical,\n [alignment.value]: props.align !== void 0,\n \"nav-fill\": props.fill,\n \"card-header-tabs\": props.card && !props.pills && !props.underline,\n \"card-header-pills\": props.card && props.pills,\n \"nav-justified\": props.justified,\n \"nav-tabs\": !props.noNavStyle && !props.pills && !props.underline,\n \"small\": props.small\n }));\n const handleClick = (event, index) => {\n if (index >= 0 && !tabs.value[index].disabled && tabs.value[index]?.onClick && typeof tabs.value[index].onClick === \"function\") {\n tabs.value[index].onClick?.(event);\n if (event.defaultPrevented) {\n document.getElementById(tabs.value[index].buttonId)?.blur();\n return;\n }\n }\n activeIndex.value = index;\n };\n const keynav = (e, direction) => {\n if (tabs.value.length <= 0 || props.noKeyNav) return;\n e.preventDefault();\n e.stopPropagation();\n activeIndex.value = nextIndex(activeIndex.value + direction, direction);\n nextTick(() => {\n if (activeIndex.value >= 0) {\n document.getElementById(tabs.value[activeIndex.value]?.buttonId)?.focus();\n }\n });\n };\n const nextIndex = (start, direction) => {\n let index = start;\n let minIdx = -1;\n let maxIdx = -1;\n for (let i = 0; i < tabs.value.length; i++) {\n if (!tabs.value[i].disabled) {\n if (minIdx === -1) minIdx = i;\n maxIdx = i;\n }\n }\n while (index >= minIdx && index <= maxIdx && tabs.value[index].disabled) {\n index += direction;\n }\n if (index < minIdx) index = minIdx;\n if (index > maxIdx) index = maxIdx;\n return index;\n };\n let previousIndex;\n let isReverting = false;\n watch(activeIndex, (newValue, oldValue) => {\n if (tabs.value.length <= 0 || tabs.value.filter((t) => !t.disabled).length <= 0) {\n return;\n }\n if (isReverting) {\n isReverting = false;\n return;\n }\n const index = nextIndex(newValue, newValue > oldValue ? 1 : -1);\n if (index !== newValue) {\n previousIndex = oldValue;\n activeIndex.value = index;\n return;\n }\n const tabEvent = new BvEvent(\"activate-tab\", { cancelable: true });\n emit(\n \"activate-tab\",\n tabs.value[index]?.id,\n tabs.value[previousIndex ?? oldValue]?.id,\n index,\n previousIndex ?? oldValue,\n tabEvent\n );\n if (tabEvent.defaultPrevented) {\n isReverting = true;\n const prev = previousIndex ?? oldValue ?? nextIndex(0, 1);\n previousIndex = void 0;\n if (activeId.value !== tabs.value[prev]?.id) {\n activeId.value = tabs.value[prev]?.id;\n }\n nextTick(() => {\n if (prev >= 0) {\n document.getElementById(tabs.value[prev]?.buttonId)?.focus();\n }\n });\n return;\n }\n if (activeId.value !== tabs.value[index]?.id) {\n activeId.value = tabs.value[index]?.id;\n }\n previousIndex = void 0;\n });\n watch(activeId, (newValue, oldValue) => {\n if (tabs.value.length <= 0 || tabs.value.filter((t) => !t.disabled).length <= 0) {\n return;\n }\n const index = tabs.value.findIndex((t) => t.id === newValue);\n if (index === activeIndex.value) return;\n const oldIndex = tabs.value.findIndex((t) => t.id === oldValue);\n if (tabs.value[index]?.disabled) {\n activeIndex.value = nextIndex(index, index > oldIndex ? 1 : -1);\n return;\n }\n if (index === -1) {\n activeIndex.value = nextIndex(0, 1);\n nextTick(() => {\n activeId.value = tabs.value[activeIndex.value]?.id;\n });\n return;\n }\n activeIndex.value = index;\n });\n const registerTab = (tab) => {\n const idx = tabsInternal.value.findIndex((t) => t.value.internalId === tab.value.internalId);\n if (idx === -1) {\n tabsInternal.value.push(tab);\n if (initialized) {\n nextTick(() => {\n sortTabs();\n });\n }\n } else {\n tabsInternal.value[idx] = tab;\n if (initialized) {\n sortTabs();\n }\n }\n const idx2 = tabsInternal.value.findIndex((t) => t.value.internalId === tab.value.internalId);\n return tab.value.id ?? (!initialized ? initialIds.value[idx2] : tab.value.internalId);\n };\n onMounted(() => {\n updateInitialIndexAndId();\n sortTabs();\n initialized = true;\n });\n const sortTabs = () => {\n tabsInternal.value.sort((a, b) => sortSlotElementsByPosition(a.value.el.value, b.value.el.value));\n if (activeId.value && activeIndex.value !== tabs.value.findIndex((t) => t.id === activeId.value)) {\n activeIndex.value = tabs.value.findIndex((t) => t.id === activeId.value);\n }\n };\n const unregisterTab = (id) => {\n tabsInternal.value = tabsInternal.value.filter((t) => t.value.internalId !== id);\n };\n provide(tabsInjectionKey, {\n lazy: toRef(() => props.lazy),\n card: toRef(() => props.card),\n noFade: toRef(() => props.noFade),\n activeTabClass: toRef(() => props.activeTabClass),\n inactiveTabClass: toRef(() => props.inactiveTabClass),\n tabClass: toRef(() => props.tabClass),\n registerTab,\n unregisterTab,\n activeId,\n activateTab: (internalId) => {\n const idx = tabs.value.findIndex((t) => t.internalId === internalId);\n if (internalId === void 0 || idx === -1) {\n activeIndex.value = nextIndex(0, 1);\n return;\n }\n activeIndex.value = idx;\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n id: unref(props).id,\n class: normalizeClass([\"tabs\", computedClasses.value])\n }, {\n default: withCtx(() => [\n createVNode(unref(ReusableEmptyTab).define, null, {\n default: withCtx(() => [\n createElementVNode(\"div\", {\n class: normalizeClass([\"tab-content\", unref(props).contentClass])\n }, [\n renderSlot(_ctx.$slots, \"default\"),\n showEmpty.value ? (openBlock(), createElementBlock(\"div\", {\n key: \"bv-empty-tab\",\n class: normalizeClass([\"tab-pane active\", { \"card-body\": unref(props).card }])\n }, [\n renderSlot(_ctx.$slots, \"empty\")\n ], 2)) : createCommentVNode(\"\", true)\n ], 2)\n ]),\n _: 3\n }),\n unref(props).end ? (openBlock(), createBlock(unref(ReusableEmptyTab).reuse, { key: 0 })) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", {\n class: normalizeClass([\n unref(props).navWrapperClass,\n { \"card-header\": unref(props).card, \"ms-auto\": _ctx.vertical && unref(props).end }\n ])\n }, [\n createElementVNode(\"ul\", {\n class: normalizeClass([\"nav\", [navTabsClasses.value, unref(props).navClass]]),\n role: \"tablist\",\n \"aria-orientation\": unref(props).vertical ? \"vertical\" : \"horizontal\"\n }, [\n renderSlot(_ctx.$slots, \"tabs-start\"),\n (openBlock(true), createElementBlock(Fragment, null, renderList(tabs.value, (tab, idx) => {\n return openBlock(), createElementBlock(\"li\", {\n key: tab.id ?? tab.internalId,\n class: normalizeClass([\"nav-item\", tab.titleItemClass]),\n role: \"presentation\"\n }, [\n createElementVNode(\"button\", mergeProps({\n id: tab.buttonId,\n class: [\"nav-link\", [tab.navItemClasses, tab.titleLinkClass]],\n role: \"tab\",\n \"aria-controls\": tab.id,\n \"aria-selected\": tab.active,\n disabled: tab.disabled,\n tabindex: unref(props).noKeyNav ? void 0 : tab.active ? void 0 : -1,\n type: \"button\"\n }, { ref_for: true }, tab.titleLinkAttrs, {\n onKeydown: [\n _cache[0] || (_cache[0] = withKeys(withModifiers(($event) => !unref(props).vertical && keynav($event, -1), [\"exact\"]), [\"left\"])),\n _cache[1] || (_cache[1] = withKeys(withModifiers(($event) => !unref(props).vertical && keynav($event, -999), [\"shift\"]), [\"left\"])),\n _cache[2] || (_cache[2] = withKeys(withModifiers(($event) => unref(props).vertical && keynav($event, -1), [\"exact\"]), [\"up\"])),\n _cache[3] || (_cache[3] = withKeys(withModifiers(($event) => unref(props).vertical && keynav($event, -999), [\"shift\"]), [\"up\"])),\n _cache[4] || (_cache[4] = withKeys(withModifiers(($event) => !unref(props).vertical && keynav($event, 1), [\"exact\"]), [\"right\"])),\n _cache[5] || (_cache[5] = withKeys(withModifiers(($event) => !unref(props).vertical && keynav($event, 999), [\"shift\"]), [\"right\"])),\n _cache[6] || (_cache[6] = withKeys(withModifiers(($event) => unref(props).vertical && keynav($event, 1), [\"exact\"]), [\"down\"])),\n _cache[7] || (_cache[7] = withKeys(withModifiers(($event) => unref(props).vertical && keynav($event, 999), [\"shift\"]), [\"down\"])),\n _cache[8] || (_cache[8] = withKeys(($event) => keynav($event, -999), [\"page-up\"])),\n _cache[9] || (_cache[9] = withKeys(($event) => keynav($event, 999), [\"page-down\"])),\n _cache[10] || (_cache[10] = withKeys(($event) => keynav($event, -999), [\"home\"])),\n _cache[11] || (_cache[11] = withKeys(($event) => keynav($event, 999), [\"end\"]))\n ],\n onClick: withModifiers((e) => handleClick(e, idx), [\"stop\"])\n }), [\n tab.titleComponent ? (openBlock(), createBlock(resolveDynamicComponent(tab.titleComponent), { key: 0 })) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n createTextVNode(toDisplayString(tab.title), 1)\n ], 64))\n ], 16, _hoisted_2)\n ], 2);\n }), 128)),\n renderSlot(_ctx.$slots, \"tabs-end\")\n ], 10, _hoisted_1)\n ], 2),\n !unref(props).end ? (openBlock(), createBlock(unref(ReusableEmptyTab).reuse, { key: 1 })) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"id\", \"class\"]);\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BTabs.vue_vue_type_script_setup_true_lang-DJniJmO4.mjs.map\n","import { defineComponent, watch, createBlock, openBlock, unref, withCtx, createCommentVNode, normalizeProps, mergeProps } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport { u as useToast } from \"./index-7PG2ESMq.mjs\";\nimport { _ as _sfc_main$2 } from \"./BOrchestrator.vue_vue_type_script_setup_true_lang-Dz_rJ4Bq.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BToastOrchestrator\",\n props: {\n appendToast: { type: Boolean, default: false },\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: \"body\" }\n },\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BToastOrchestrator\");\n const tools = useToast();\n let renderOrchestrator = false;\n if (!tools._isOrchestratorInstalled.value) {\n renderOrchestrator = true;\n }\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\"BToastOrchestrator is deprecated, use BOrchestrator instead\");\n }\n watch(\n () => props.appendToast,\n (value) => {\n tools._isToastAppend.value = value;\n },\n { immediate: true }\n );\n __expose({\n ...tools\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, {\n to: unref(props).teleportTo,\n disabled: unref(props).teleportDisabled\n }, {\n default: withCtx(() => [\n unref(renderOrchestrator) ? (openBlock(), createBlock(_sfc_main$2, normalizeProps(mergeProps({ key: 0 }, _ctx.$attrs)), null, 16)) : createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BToastOrchestrator.vue_vue_type_script_setup_true_lang-Dg1phGTf.mjs.map\n","import { _ as _sfc_main, a as _sfc_main$1 } from \"./BAccordion.vue_vue_type_script_setup_true_lang-Bm1RghW9.mjs\";\nimport { _ as _sfc_main$2 } from \"./BAlert.vue_vue_type_script_setup_true_lang-BEAKw4MY.mjs\";\nimport { _ as _sfc_main$3 } from \"./BApp.vue_vue_type_script_setup_true_lang-CRI7YgFM.mjs\";\nimport { _ as _sfc_main$1b } from \"./BOrchestrator.vue_vue_type_script_setup_true_lang-Dz_rJ4Bq.mjs\";\nimport { _ as _sfc_main$4, a as _sfc_main$5 } from \"./BAvatarGroup.vue_vue_type_script_setup_true_lang-DGkjFwcd.mjs\";\nimport { _ as _sfc_main$6 } from \"./BBadge.vue_vue_type_script_setup_true_lang-D9DEOOtU.mjs\";\nimport { _ as _sfc_main$7, a as _sfc_main$8 } from \"./BBreadcrumb.vue_vue_type_script_setup_true_lang-D6cRQgRH.mjs\";\nimport { _ as _sfc_main$9 } from \"./BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs\";\nimport { _ as _sfc_main$a, a as _sfc_main$b } from \"./BButtonToolbar.vue_vue_type_script_setup_true_lang-CxCcFupr.mjs\";\nimport { _ as _sfc_main$n } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs\";\nimport { _ as _sfc_main$c, a as _sfc_main$d, b as _sfc_main$e, c as _sfc_main$g, d as _sfc_main$h, e as _sfc_main$i, f as _sfc_main$k } from \"./BCard.vue_vue_type_script_setup_true_lang-BjoxuViz.mjs\";\nimport { _ as _sfc_main$f, a as _sfc_main$j } from \"./BCardText.vue_vue_type_script_setup_true_lang-SRGbviaO.mjs\";\nimport { _ as _sfc_main$l, a as _sfc_main$m } from \"./BCarouselSlide.vue_vue_type_script_setup_true_lang-Cx8lSNLo.mjs\";\nimport { _ as _sfc_main$p } from \"./BCollapse.vue_vue_type_script_setup_true_lang-B8TqF-kB.mjs\";\nimport { _ as _sfc_main$o } from \"./BCol.vue_vue_type_script_setup_true_lang-D0xTJQ30.mjs\";\nimport { _ as _sfc_main$q } from \"./BContainer.vue_vue_type_script_setup_true_lang-Bi1hGl0B.mjs\";\nimport { _ as _sfc_main$1n } from \"./BRow.vue_vue_type_script_setup_true_lang-BDkBauhk.mjs\";\nimport { _ as _sfc_main$r } from \"./BDropdown.vue_vue_type_script_setup_true_lang-D1wLUc9_.mjs\";\nimport { _ as _sfc_main$s, a as _sfc_main$t, b as _sfc_main$u, c as _sfc_main$v, d as _sfc_main$w, e as _sfc_main$x, f as _sfc_main$y } from \"./BDropdownText.vue_vue_type_script_setup_true_lang-Cm6QYE9x.mjs\";\nimport { _ as _sfc_main$z } from \"./BForm.vue_vue_type_script_setup_true_lang-u44ElAm9.mjs\";\nimport { _ as _sfc_main$C, a as _sfc_main$E } from \"./BFormFloatingLabel.vue_vue_type_script_setup_true_lang-Bnwbg5nF.mjs\";\nimport { _ as _sfc_main$H, a as _sfc_main$L, b as _sfc_main$S, c as _sfc_main$U } from \"./BFormValidFeedback.vue_vue_type_script_setup_true_lang-D5WYd1j7.mjs\";\nimport { _ as _sfc_main$A, a as _sfc_main$B } from \"./BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-CZ2qJTp0.mjs\";\nimport { _ as _sfc_main$D } from \"./BFormFile.vue_vue_type_script_setup_true_lang-BF3fBjJ3.mjs\";\nimport { _ as _sfc_main$F } from \"./BFormGroup.vue_vue_type_script_setup_true_lang-BmZN8qcE.mjs\";\nimport { _ as _sfc_main$G } from \"./BFormInput.vue_vue_type_script_setup_true_lang-D3z3jxbI.mjs\";\nimport { _ as _sfc_main$I, a as _sfc_main$J } from \"./BFormRadioGroup.vue_vue_type_script_setup_true_lang-LQBMttYK.mjs\";\nimport { _ as _sfc_main$K } from \"./BFormRating.vue_vue_type_script_setup_true_lang-DxkXJngG.mjs\";\nimport { _ as _sfc_main$M, a as _sfc_main$O } from \"./BFormSelect.vue_vue_type_script_setup_true_lang-CkLgnxVA.mjs\";\nimport { _ as _sfc_main$N } from \"./useFormSelect-DvaFh_iu.mjs\";\nimport { _ as _sfc_main$P } from \"./BFormSpinbutton.vue_vue_type_script_setup_true_lang-BZZ4vW74.mjs\";\nimport { a as _sfc_main$Q, _ as _sfc_main$R } from \"./BFormTags.vue_vue_type_script_setup_true_lang-C9rQBsnw.mjs\";\nimport { _ as _sfc_main$T } from \"./BFormTextarea.vue_vue_type_script_setup_true_lang-DB0GbEW7.mjs\";\nimport { _ as _sfc_main$V } from \"./BImg.vue_vue_type_script_setup_true_lang-DFoA1dqz.mjs\";\nimport { _ as _sfc_main$W, a as _sfc_main$X } from \"./BInputGroupText.vue_vue_type_script_setup_true_lang-BBN5F0A4.mjs\";\nimport { _ as _sfc_main$Y } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { _ as _sfc_main$Z, a as _sfc_main$_ } from \"./BListGroupItem.vue_vue_type_script_setup_true_lang-J0Ydbiva.mjs\";\nimport { _ as _sfc_main$$ } from \"./index-BDkr-YqK.mjs\";\nimport { _ as _sfc_main$10 } from \"./BModalOrchestrator.vue_vue_type_script_setup_true_lang-Dlk0BK8D.mjs\";\nimport { _ as _sfc_main$11, a as _sfc_main$12, b as _sfc_main$13, c as _sfc_main$14, d as _sfc_main$15 } from \"./BNavText.vue_vue_type_script_setup_true_lang-fCkr2EkB.mjs\";\nimport { _ as _sfc_main$16, a as _sfc_main$17, b as _sfc_main$18, c as _sfc_main$19 } from \"./BNavbarToggle.vue_vue_type_script_setup_true_lang-BOVCTLjN.mjs\";\nimport { _ as _sfc_main$1a } from \"./BOffcanvas.vue_vue_type_script_setup_true_lang-B6EHNFA6.mjs\";\nimport { _ as _sfc_main$1c } from \"./BOverlay.vue_vue_type_script_setup_true_lang-B5_buAVa.mjs\";\nimport { _ as _sfc_main$1d } from \"./BPagination.vue_vue_type_script_setup_true_lang-C0Xo-KSI.mjs\";\nimport { _ as _sfc_main$1e, a as _sfc_main$1f, b as _sfc_main$1g, c as _sfc_main$1h, d as _sfc_main$1i } from \"./BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BzabzEJo.mjs\";\nimport { _ as _sfc_main$1j } from \"./floatingUi-BBabBWxD.mjs\";\nimport { _ as _sfc_main$1k } from \"./BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-BME1-ILp.mjs\";\nimport { _ as _sfc_main$1l, a as _sfc_main$1m } from \"./BProgress.vue_vue_type_script_setup_true_lang-CzGUiUCY.mjs\";\nimport { _ as _sfc_main$1o } from \"./BSpinner.vue_vue_type_script_setup_true_lang-H1MzHypA.mjs\";\nimport { _ as _sfc_main$1q, a as _sfc_main$1r, b as _sfc_main$1u, c as _sfc_main$1v, d as _sfc_main$1w, e as _sfc_main$1x, f as _sfc_main$1y, g as _sfc_main$1C } from \"./BTable.vue_vue_type_script_setup_true_lang-D-2ysMDQ.mjs\";\nimport { _ as _sfc_main$1s } from \"./BTableSimple.vue_vue_type_script_setup_true_lang-pOlbJbSz.mjs\";\nimport { _ as _sfc_main$1p, a as _sfc_main$1t } from \"./BTabs.vue_vue_type_script_setup_true_lang-DJniJmO4.mjs\";\nimport { _ as _sfc_main$1z } from \"./index-7PG2ESMq.mjs\";\nimport { _ as _sfc_main$1A } from \"./BToastOrchestrator.vue_vue_type_script_setup_true_lang-Dg1phGTf.mjs\";\nimport { _ as _sfc_main$1B } from \"./BTooltip.vue_vue_type_script_setup_true_lang-DwLY6gwe.mjs\";\nconst index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n BAccordion: _sfc_main,\n BAccordionItem: _sfc_main$1,\n BAlert: _sfc_main$2,\n BApp: _sfc_main$3,\n BAvatar: _sfc_main$4,\n BAvatarGroup: _sfc_main$5,\n BBadge: _sfc_main$6,\n BBreadcrumb: _sfc_main$7,\n BBreadcrumbItem: _sfc_main$8,\n BButton: _sfc_main$9,\n BButtonGroup: _sfc_main$a,\n BButtonToolbar: _sfc_main$b,\n BCard: _sfc_main$c,\n BCardBody: _sfc_main$d,\n BCardFooter: _sfc_main$e,\n BCardGroup: _sfc_main$f,\n BCardHeader: _sfc_main$g,\n BCardImg: _sfc_main$h,\n BCardSubtitle: _sfc_main$i,\n BCardText: _sfc_main$j,\n BCardTitle: _sfc_main$k,\n BCarousel: _sfc_main$l,\n BCarouselSlide: _sfc_main$m,\n BCloseButton: _sfc_main$n,\n BCol: _sfc_main$o,\n BCollapse: _sfc_main$p,\n BContainer: _sfc_main$q,\n BDropdown: _sfc_main$r,\n BDropdownDivider: _sfc_main$s,\n BDropdownForm: _sfc_main$t,\n BDropdownGroup: _sfc_main$u,\n BDropdownHeader: _sfc_main$v,\n BDropdownItem: _sfc_main$w,\n BDropdownItemButton: _sfc_main$x,\n BDropdownText: _sfc_main$y,\n BForm: _sfc_main$z,\n BFormCheckbox: _sfc_main$A,\n BFormCheckboxGroup: _sfc_main$B,\n BFormDatalist: _sfc_main$C,\n BFormFile: _sfc_main$D,\n BFormFloatingLabel: _sfc_main$E,\n BFormGroup: _sfc_main$F,\n BFormInput: _sfc_main$G,\n BFormInvalidFeedback: _sfc_main$H,\n BFormRadio: _sfc_main$I,\n BFormRadioGroup: _sfc_main$J,\n BFormRating: _sfc_main$K,\n BFormRow: _sfc_main$L,\n BFormSelect: _sfc_main$M,\n BFormSelectOption: _sfc_main$N,\n BFormSelectOptionGroup: _sfc_main$O,\n BFormSpinbutton: _sfc_main$P,\n BFormTag: _sfc_main$Q,\n BFormTags: _sfc_main$R,\n BFormText: _sfc_main$S,\n BFormTextarea: _sfc_main$T,\n BFormValidFeedback: _sfc_main$U,\n BImg: _sfc_main$V,\n BInput: _sfc_main$G,\n BInputGroup: _sfc_main$W,\n BInputGroupText: _sfc_main$X,\n BLink: _sfc_main$Y,\n BListGroup: _sfc_main$Z,\n BListGroupItem: _sfc_main$_,\n BModal: _sfc_main$$,\n BModalOrchestrator: _sfc_main$10,\n BNav: _sfc_main$11,\n BNavForm: _sfc_main$12,\n BNavItem: _sfc_main$13,\n BNavItemDropdown: _sfc_main$14,\n BNavText: _sfc_main$15,\n BNavbar: _sfc_main$16,\n BNavbarBrand: _sfc_main$17,\n BNavbarNav: _sfc_main$18,\n BNavbarToggle: _sfc_main$19,\n BOffcanvas: _sfc_main$1a,\n BOrchestrator: _sfc_main$1b,\n BOverlay: _sfc_main$1c,\n BPagination: _sfc_main$1d,\n BPlaceholder: _sfc_main$1e,\n BPlaceholderButton: _sfc_main$1f,\n BPlaceholderCard: _sfc_main$1g,\n BPlaceholderTable: _sfc_main$1h,\n BPlaceholderWrapper: _sfc_main$1i,\n BPopover: _sfc_main$1j,\n BPopoverOrchestrator: _sfc_main$1k,\n BProgress: _sfc_main$1l,\n BProgressBar: _sfc_main$1m,\n BRow: _sfc_main$1n,\n BSpinner: _sfc_main$1o,\n BTab: _sfc_main$1p,\n BTable: _sfc_main$1q,\n BTableLite: _sfc_main$1r,\n BTableSimple: _sfc_main$1s,\n BTabs: _sfc_main$1t,\n BTbody: _sfc_main$1u,\n BTd: _sfc_main$1v,\n BTfoot: _sfc_main$1w,\n BTh: _sfc_main$1x,\n BThead: _sfc_main$1y,\n BToast: _sfc_main$1z,\n BToastOrchestrator: _sfc_main$1A,\n BTooltip: _sfc_main$1B,\n BTr: _sfc_main$1C\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n index as i\n};\n//# sourceMappingURL=index-E0aMItoE.mjs.map\n","import { a as componentsWithExternalPath, f as directivesWithExternalPath, c as componentNames, e as directiveNames } from \"./BootstrapVueOptions-DSytNWdb.mjs\";\nconst bvKey = \"bootstrap-vue-next\";\nconst parseActiveImports = (options, values) => {\n const { all, ...others } = options;\n const valuesCopy = {};\n if (all) {\n values.forEach((el) => {\n valuesCopy[el] = all;\n });\n }\n const merge = { ...valuesCopy, ...others };\n return Object.entries(merge).filter(([name, value]) => !!value && values.includes(name)).map(([name]) => name);\n};\nconst usedComponents = /* @__PURE__ */ new Set();\nconst usedDirectives = /* @__PURE__ */ new Set();\nconst BootstrapVueNextResolver = Object.assign(\n ({\n aliases = {},\n directives = true,\n components = true\n } = {}) => {\n const selectedComponents = typeof components === \"boolean\" ? { all: components } : components;\n const compImports = parseActiveImports(selectedComponents, componentNames).reduce(\n (map, name) => {\n map.set(name, `${bvKey}${componentsWithExternalPath[name]}`);\n return map;\n },\n /* @__PURE__ */ new Map()\n );\n const selectedDirectives = typeof directives === \"boolean\" ? { all: directives } : directives;\n const dirImports = parseActiveImports(selectedDirectives, directiveNames).reduce(\n (map, directive) => {\n const key = directive.toLowerCase().startsWith(\"v\") ? directive : `v${directive}`;\n map.set(key, `${bvKey}${directivesWithExternalPath[key]}`);\n return map;\n },\n /* @__PURE__ */ new Map()\n );\n const resolvers = [\n {\n type: \"component\",\n resolve(name) {\n const destination = compImports.get(name);\n const aliasDestination = compImports.get(aliases[name]);\n if (aliasDestination) {\n const val = aliases[name];\n usedComponents.add(val);\n return {\n name: val,\n from: aliasDestination\n };\n }\n if (destination) {\n usedComponents.add(name);\n return {\n name,\n from: destination\n };\n }\n }\n },\n {\n type: \"directive\",\n resolve(name) {\n const prefixedName = `v${name}`;\n const destination = dirImports.get(prefixedName);\n if (destination) {\n usedDirectives.add(prefixedName);\n return {\n name: prefixedName,\n from: destination\n };\n }\n }\n }\n ];\n return resolvers;\n },\n {\n __usedComponents: usedComponents,\n __usedDirectives: usedDirectives\n }\n);\nconst index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n BootstrapVueNextResolver\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n BootstrapVueNextResolver as B,\n index as i\n};\n//# sourceMappingURL=index-BSgsF2PB.mjs.map\n","import { ref } from \"vue\";\nimport { r as rtlRegistryKey } from \"../../../keys-BLeKMItg.mjs\";\nconst rtlPlugin = {\n install(app, options) {\n const rtlDefault = false;\n const localeDefault = void 0;\n const rtlInitial = typeof options?.rtl === \"boolean\" ? rtlDefault : options?.rtl?.rtlInitial ?? rtlDefault;\n const localeInitial = typeof options?.rtl === \"boolean\" ? localeDefault : options?.rtl?.localeInitial ?? localeDefault;\n const isRtl = ref(rtlInitial);\n const locale = ref(localeInitial);\n app.provide(rtlRegistryKey, { isRtl, locale });\n }\n};\nexport {\n rtlPlugin\n};\n//# sourceMappingURL=index.mjs.map\n","import { s as showHideRegistryKey, a as breadcrumbGlobalIndexKey, e as breadcrumbRegistryKey, m as modalManagerKey } from \"../../../keys-BLeKMItg.mjs\";\nimport { _newShowHideRegistry } from \"../../composables/useRegistry/index.mjs\";\nimport { ref, computed } from \"vue\";\nconst registryPlugin = {\n install(app) {\n const { register, values } = _newShowHideRegistry();\n app.provide(showHideRegistryKey, { register, values });\n const items = ref({\n [breadcrumbGlobalIndexKey]: []\n });\n const reset = (key = breadcrumbGlobalIndexKey) => {\n items.value[key] = [];\n };\n app.provide(breadcrumbRegistryKey, { items, reset });\n const stack = ref(/* @__PURE__ */ new Map());\n const countStack = computed(() => stack.value.size);\n const valuesStack = computed(() => [...stack.value.values()]);\n const lastStack = computed(() => valuesStack.value[valuesStack.value.length - 1]);\n const pushStack = (modal) => {\n stack.value.set(modal.uid, modal);\n };\n const removeStack = (modal) => {\n stack.value.delete(modal.uid);\n };\n const registry = ref(/* @__PURE__ */ new Map());\n const pushRegistry = (modal) => {\n registry.value.set(modal.uid, modal);\n };\n const removeRegistry = (modal) => {\n registry.value.delete(modal.uid);\n };\n app.provide(modalManagerKey, {\n countStack,\n lastStack,\n registry: computed(() => registry.value),\n stack: valuesStack,\n pushStack,\n removeStack,\n pushRegistry,\n removeRegistry\n });\n }\n};\nexport {\n registryPlugin\n};\n//# sourceMappingURL=index.mjs.map\n","import \"vue\";\nimport { o as orchestratorRegistryKey } from \"../../../keys-BLeKMItg.mjs\";\nimport { _ as _newOrchestratorRegistry } from \"../../../orchestratorShared-BTC5xO6k.mjs\";\nconst orchestratorPlugin = {\n install(app) {\n const orchestratorRegistry = _newOrchestratorRegistry();\n app.provide(orchestratorRegistryKey, orchestratorRegistry);\n }\n};\nexport {\n orchestratorPlugin\n};\n//# sourceMappingURL=index.mjs.map\n","import { ref } from \"vue\";\nimport { rtlPlugin } from \"../rtl/index.mjs\";\nimport { registryPlugin } from \"../registry/index.mjs\";\nimport { orchestratorPlugin } from \"../orchestrator/index.mjs\";\nimport { f as defaultsKey } from \"../../../keys-BLeKMItg.mjs\";\nconst createBootstrap = (pluginData = {}) => ({\n install(app) {\n if ((pluginData.registries ?? true) === true) {\n app.use(registryPlugin, pluginData);\n }\n if ((pluginData.rtl ?? true) === true || typeof pluginData.rtl === \"object\") {\n app.use(rtlPlugin, pluginData);\n }\n if ((pluginData.orchestrator ?? true) === true) {\n app.use(orchestratorPlugin);\n }\n const val = pluginData?.components ?? {};\n app.provide(defaultsKey, ref(val));\n }\n});\nexport {\n createBootstrap\n};\n//# sourceMappingURL=index.mjs.map\n","import { createBootstrap } from \"./src/plugins/createBootstrap/index.mjs\";\nimport { registryPlugin } from \"./src/plugins/registry/index.mjs\";\nimport { rtlPlugin } from \"./src/plugins/rtl/index.mjs\";\nimport { orchestratorPlugin } from \"./src/plugins/orchestrator/index.mjs\";\nconst index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n createBootstrap,\n orchestratorPlugin,\n registryPlugin,\n rtlPlugin\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n index as i\n};\n//# sourceMappingURL=index-D53v0rwX.mjs.map\n","import { i } from \"./index-BuUXy1YJ.mjs\";\nimport { i as i2 } from \"./index-CXpBEYSc.mjs\";\nimport { i as i3 } from \"./index-D888h6zh.mjs\";\nimport { i as i4 } from \"./index-E0aMItoE.mjs\";\nimport { c as componentNames, a as componentsWithExternalPath, b as composableNames, d as composablesWithExternalPath, e as directiveNames, f as directivesWithExternalPath } from \"./BootstrapVueOptions-DSytNWdb.mjs\";\nimport { B, i as i5 } from \"./index-BSgsF2PB.mjs\";\nimport { i as i6 } from \"./index-D53v0rwX.mjs\";\nimport { _, a } from \"./BAccordion.vue_vue_type_script_setup_true_lang-Bm1RghW9.mjs\";\nimport { _ as _2 } from \"./BAlert.vue_vue_type_script_setup_true_lang-BEAKw4MY.mjs\";\nimport { _ as _3 } from \"./BApp.vue_vue_type_script_setup_true_lang-CRI7YgFM.mjs\";\nimport { _ as _4 } from \"./BOrchestrator.vue_vue_type_script_setup_true_lang-Dz_rJ4Bq.mjs\";\nimport { _ as _5, a as a2 } from \"./BAvatarGroup.vue_vue_type_script_setup_true_lang-DGkjFwcd.mjs\";\nimport { _ as _6 } from \"./BBadge.vue_vue_type_script_setup_true_lang-D9DEOOtU.mjs\";\nimport { _ as _7, a as a3 } from \"./BBreadcrumb.vue_vue_type_script_setup_true_lang-D6cRQgRH.mjs\";\nimport { _ as _8 } from \"./BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs\";\nimport { _ as _9, a as a4 } from \"./BButtonToolbar.vue_vue_type_script_setup_true_lang-CxCcFupr.mjs\";\nimport { _ as _10 } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs\";\nimport { _ as _11, a as a5, b, c, d, e, f } from \"./BCard.vue_vue_type_script_setup_true_lang-BjoxuViz.mjs\";\nimport { _ as _12, a as a6 } from \"./BCardText.vue_vue_type_script_setup_true_lang-SRGbviaO.mjs\";\nimport { _ as _13, a as a7 } from \"./BCarouselSlide.vue_vue_type_script_setup_true_lang-Cx8lSNLo.mjs\";\nimport { _ as _14 } from \"./BCollapse.vue_vue_type_script_setup_true_lang-B8TqF-kB.mjs\";\nimport { _ as _15 } from \"./BCol.vue_vue_type_script_setup_true_lang-D0xTJQ30.mjs\";\nimport { _ as _16 } from \"./BContainer.vue_vue_type_script_setup_true_lang-Bi1hGl0B.mjs\";\nimport { _ as _17 } from \"./BRow.vue_vue_type_script_setup_true_lang-BDkBauhk.mjs\";\nimport { _ as _18 } from \"./BDropdown.vue_vue_type_script_setup_true_lang-D1wLUc9_.mjs\";\nimport { _ as _19, a as a8, b as b2, c as c2, d as d2, e as e2, f as f2 } from \"./BDropdownText.vue_vue_type_script_setup_true_lang-Cm6QYE9x.mjs\";\nimport { _ as _20 } from \"./BForm.vue_vue_type_script_setup_true_lang-u44ElAm9.mjs\";\nimport { _ as _21, a as a9 } from \"./BFormFloatingLabel.vue_vue_type_script_setup_true_lang-Bnwbg5nF.mjs\";\nimport { _ as _22, a as a10, b as b3, c as c3 } from \"./BFormValidFeedback.vue_vue_type_script_setup_true_lang-D5WYd1j7.mjs\";\nimport { _ as _23, a as a11 } from \"./BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-CZ2qJTp0.mjs\";\nimport { _ as _24 } from \"./BFormFile.vue_vue_type_script_setup_true_lang-BF3fBjJ3.mjs\";\nimport { _ as _25 } from \"./BFormGroup.vue_vue_type_script_setup_true_lang-BmZN8qcE.mjs\";\nimport { _ as _26, _ as _27 } from \"./BFormInput.vue_vue_type_script_setup_true_lang-D3z3jxbI.mjs\";\nimport { _ as _28, a as a12 } from \"./BFormRadioGroup.vue_vue_type_script_setup_true_lang-LQBMttYK.mjs\";\nimport { _ as _29 } from \"./BFormRating.vue_vue_type_script_setup_true_lang-DxkXJngG.mjs\";\nimport { _ as _30, a as a13 } from \"./BFormSelect.vue_vue_type_script_setup_true_lang-CkLgnxVA.mjs\";\nimport { _ as _31 } from \"./useFormSelect-DvaFh_iu.mjs\";\nimport { _ as _32 } from \"./BFormSpinbutton.vue_vue_type_script_setup_true_lang-BZZ4vW74.mjs\";\nimport { a as a14, _ as _33 } from \"./BFormTags.vue_vue_type_script_setup_true_lang-C9rQBsnw.mjs\";\nimport { _ as _34 } from \"./BFormTextarea.vue_vue_type_script_setup_true_lang-DB0GbEW7.mjs\";\nimport { _ as _35 } from \"./BImg.vue_vue_type_script_setup_true_lang-DFoA1dqz.mjs\";\nimport { _ as _36, a as a15 } from \"./BInputGroupText.vue_vue_type_script_setup_true_lang-BBN5F0A4.mjs\";\nimport { _ as _37 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { _ as _38, a as a16 } from \"./BListGroupItem.vue_vue_type_script_setup_true_lang-J0Ydbiva.mjs\";\nimport { _ as _39, u, a as a17 } from \"./index-BDkr-YqK.mjs\";\nimport { _ as _40 } from \"./BModalOrchestrator.vue_vue_type_script_setup_true_lang-Dlk0BK8D.mjs\";\nimport { _ as _41, a as a18, b as b4, c as c4, d as d3 } from \"./BNavText.vue_vue_type_script_setup_true_lang-fCkr2EkB.mjs\";\nimport { _ as _42, a as a19, b as b5, c as c5 } from \"./BNavbarToggle.vue_vue_type_script_setup_true_lang-BOVCTLjN.mjs\";\nimport { _ as _43 } from \"./BOffcanvas.vue_vue_type_script_setup_true_lang-B6EHNFA6.mjs\";\nimport { _ as _44 } from \"./BOverlay.vue_vue_type_script_setup_true_lang-B5_buAVa.mjs\";\nimport { _ as _45 } from \"./BPagination.vue_vue_type_script_setup_true_lang-C0Xo-KSI.mjs\";\nimport { _ as _46, a as a20, b as b6, c as c6, d as d4 } from \"./BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BzabzEJo.mjs\";\nimport { _ as _47 } from \"./floatingUi-BBabBWxD.mjs\";\nimport { _ as _48 } from \"./BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-BME1-ILp.mjs\";\nimport { _ as _49, a as a21 } from \"./BProgress.vue_vue_type_script_setup_true_lang-CzGUiUCY.mjs\";\nimport { _ as _50 } from \"./BSpinner.vue_vue_type_script_setup_true_lang-H1MzHypA.mjs\";\nimport { _ as _51, a as a22, b as b7, c as c7, d as d5, e as e3, f as f3, g } from \"./BTable.vue_vue_type_script_setup_true_lang-D-2ysMDQ.mjs\";\nimport { _ as _52 } from \"./BTableSimple.vue_vue_type_script_setup_true_lang-pOlbJbSz.mjs\";\nimport { _ as _53, a as a23 } from \"./BTabs.vue_vue_type_script_setup_true_lang-DJniJmO4.mjs\";\nimport { _ as _54, u as u2, a as a24 } from \"./index-7PG2ESMq.mjs\";\nimport { _ as _55 } from \"./BToastOrchestrator.vue_vue_type_script_setup_true_lang-Dg1phGTf.mjs\";\nimport { _ as _56 } from \"./BTooltip.vue_vue_type_script_setup_true_lang-DwLY6gwe.mjs\";\nimport { useBreadcrumb } from \"./src/composables/useBreadcrumb/index.mjs\";\nimport { useColorMode } from \"./src/composables/useColorMode/index.mjs\";\nimport { u as u3 } from \"./useSafeScrollLock-DhacR9hN.mjs\";\nimport { useScrollspy } from \"./src/composables/useScrollspy/index.mjs\";\nimport { useToggle } from \"./src/composables/useToggle/index.mjs\";\nimport { usePopover, usePopoverController } from \"./src/composables/usePopover/index.mjs\";\nimport { useRegistry } from \"./src/composables/useRegistry/index.mjs\";\nimport { useProvideDefaults } from \"./src/composables/useProvideDefaults/index.mjs\";\nimport { u as u4 } from \"./orchestratorShared-BTC5xO6k.mjs\";\nimport { vBColorMode } from \"./src/directives/BColorMode/index.mjs\";\nimport { vBToggle, vBToggle as vBToggle2 } from \"./src/directives/BToggle/index.mjs\";\nimport { vBPopover } from \"./src/directives/BPopover/index.mjs\";\nimport { vBScrollspy } from \"./src/directives/BScrollspy/index.mjs\";\nimport { vBTooltip } from \"./src/directives/BTooltip/index.mjs\";\nimport { b as b8, B as B2, a as a25 } from \"./classes-BW_GpXTu.mjs\";\nimport { createBootstrap } from \"./src/plugins/createBootstrap/index.mjs\";\nimport { registryPlugin } from \"./src/plugins/registry/index.mjs\";\nimport { rtlPlugin } from \"./src/plugins/rtl/index.mjs\";\nimport { orchestratorPlugin } from \"./src/plugins/orchestrator/index.mjs\";\nconst index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n componentNames,\n componentsWithExternalPath,\n composableNames,\n composablesWithExternalPath,\n directiveNames,\n directivesWithExternalPath\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n _ as BAccordion,\n a as BAccordionItem,\n _2 as BAlert,\n _3 as BApp,\n _5 as BAvatar,\n a2 as BAvatarGroup,\n _6 as BBadge,\n _7 as BBreadcrumb,\n a3 as BBreadcrumbItem,\n _8 as BButton,\n _9 as BButtonGroup,\n a4 as BButtonToolbar,\n _11 as BCard,\n a5 as BCardBody,\n b as BCardFooter,\n _12 as BCardGroup,\n c as BCardHeader,\n d as BCardImg,\n e as BCardSubtitle,\n a6 as BCardText,\n f as BCardTitle,\n _13 as BCarousel,\n a7 as BCarouselSlide,\n _10 as BCloseButton,\n _15 as BCol,\n _14 as BCollapse,\n _16 as BContainer,\n _18 as BDropdown,\n _19 as BDropdownDivider,\n a8 as BDropdownForm,\n b2 as BDropdownGroup,\n c2 as BDropdownHeader,\n d2 as BDropdownItem,\n e2 as BDropdownItemButton,\n f2 as BDropdownText,\n _20 as BForm,\n _23 as BFormCheckbox,\n a11 as BFormCheckboxGroup,\n _21 as BFormDatalist,\n _24 as BFormFile,\n a9 as BFormFloatingLabel,\n _25 as BFormGroup,\n _26 as BFormInput,\n _22 as BFormInvalidFeedback,\n _28 as BFormRadio,\n a12 as BFormRadioGroup,\n _29 as BFormRating,\n a10 as BFormRow,\n _30 as BFormSelect,\n _31 as BFormSelectOption,\n a13 as BFormSelectOptionGroup,\n _32 as BFormSpinbutton,\n a14 as BFormTag,\n _33 as BFormTags,\n b3 as BFormText,\n _34 as BFormTextarea,\n c3 as BFormValidFeedback,\n _35 as BImg,\n _27 as BInput,\n _36 as BInputGroup,\n a15 as BInputGroupText,\n _37 as BLink,\n _38 as BListGroup,\n a16 as BListGroupItem,\n _39 as BModal,\n _40 as BModalOrchestrator,\n _41 as BNav,\n a18 as BNavForm,\n b4 as BNavItem,\n c4 as BNavItemDropdown,\n d3 as BNavText,\n _42 as BNavbar,\n a19 as BNavbarBrand,\n b5 as BNavbarNav,\n c5 as BNavbarToggle,\n _43 as BOffcanvas,\n _4 as BOrchestrator,\n _44 as BOverlay,\n _45 as BPagination,\n _46 as BPlaceholder,\n a20 as BPlaceholderButton,\n b6 as BPlaceholderCard,\n c6 as BPlaceholderTable,\n d4 as BPlaceholderWrapper,\n _47 as BPopover,\n _48 as BPopoverOrchestrator,\n _49 as BProgress,\n a21 as BProgressBar,\n _17 as BRow,\n _50 as BSpinner,\n _53 as BTab,\n _51 as BTable,\n a22 as BTableLite,\n _52 as BTableSimple,\n a23 as BTabs,\n b7 as BTbody,\n c7 as BTd,\n d5 as BTfoot,\n e3 as BTh,\n f3 as BThead,\n _54 as BToast,\n _55 as BToastOrchestrator,\n _56 as BTooltip,\n g as BTr,\n B as BootstrapVueNextResolver,\n b8 as BvCarouselEvent,\n B2 as BvEvent,\n a25 as BvTriggerableEvent,\n i4 as Components,\n i as Composables,\n i2 as Directives,\n i6 as Plugins,\n i5 as Resolvers,\n index as Types,\n i3 as Utils,\n componentNames,\n componentsWithExternalPath,\n composableNames,\n composablesWithExternalPath,\n createBootstrap,\n directiveNames,\n directivesWithExternalPath,\n orchestratorPlugin,\n registryPlugin,\n rtlPlugin,\n useBreadcrumb,\n useColorMode,\n u as useModal,\n a17 as useModalController,\n u4 as useOrchestratorRegistry,\n usePopover,\n usePopoverController,\n useProvideDefaults,\n useRegistry,\n u3 as useScrollLock,\n useScrollspy,\n u2 as useToast,\n a24 as useToastController,\n useToggle,\n vBColorMode,\n vBToggle as vBModal,\n vBPopover,\n vBScrollspy,\n vBToggle2 as vBToggle,\n vBTooltip\n};\n//# sourceMappingURL=bootstrap-vue-next.mjs.map\n","<template>\n <aside\n ref=\"sidebarRef\"\n class=\"dashboard-sidebar text-white\"\n :class=\"{\n 'sidebar-collapsed': collapsed,\n 'sidebar-hidden': hidden\n }\"\n >\n <div class=\"sidebar-header p-3\">\n <div class=\"d-flex align-items-center justify-content-between\">\n <slot name=\"brand\" :collapsed=\"collapsed\" :title=\"title\">\n <div class=\"brand-container\" :class=\"{ 'collapsed': collapsed }\">\n <div class=\"brand-initial\">{{ brandInitial }}</div>\n <h5 v-if=\"!collapsed\" class=\"mb-0 fw-bold ms-2\">\n {{ title }}\n </h5>\n </div>\n </slot>\n </div>\n </div>\n\n <nav class=\"sidebar-nav p-3\">\n <template v-for=\"(group, groupIndex) in navigation\" :key=\"groupIndex\">\n <div v-if=\"group.visible !== false\" class=\"nav-group mb-3\">\n <div\n v-if=\"group.label && !collapsed\"\n class=\"nav-group-label text-uppercase small fw-semibold mb-2 px-2\"\n >\n {{ group.label }}\n </div>\n\n <div v-if=\"group.label && collapsed\" class=\"nav-group-divider\">\n <hr class=\"my-2 border-secondary\" />\n </div>\n\n <ul class=\"nav flex-column gap-1\">\n <li v-for=\"(item, itemIndex) in group.items\" :key=\"itemIndex\" class=\"nav-item\">\n <slot\n name=\"link\"\n :item=\"item\"\n :is-active=\"isActive(item.url)\"\n :collapsed=\"collapsed\"\n >\n <a\n :href=\"item.url\"\n class=\"nav-link d-flex align-items-center gap-2 rounded\"\n :class=\"{\n 'active': isActive(item.url),\n 'justify-content-center': collapsed\n }\"\n >\n <component\n v-if=\"item.icon\"\n :is=\"item.icon\"\n class=\"nav-icon\"\n style=\"width: 20px; height: 20px;\"\n />\n <span v-if=\"!collapsed\" class=\"nav-label\">{{ item.label }}</span>\n <span\n v-if=\"item.badge && !collapsed\"\n class=\"badge ms-auto\"\n :class=\"`bg-${item.badgeColor || 'primary'}`\"\n >\n {{ item.badge }}\n </span>\n </a>\n </slot>\n </li>\n </ul>\n </div>\n </template>\n </nav>\n </aside>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, onMounted, watch, nextTick } from 'vue';\nimport type { Navigation } from '../../types/navigation';\n\nconst props = withDefaults(defineProps<{\n navigation: Navigation;\n currentUrl: string;\n collapsed?: boolean;\n hidden?: boolean;\n title?: string;\n}>(), {\n collapsed: false,\n hidden: false,\n title: 'Dashboard',\n});\n\ndefineEmits<{\n toggle: [];\n}>();\n\nconst sidebarRef = ref<HTMLElement | null>(null);\n\nconst brandInitial = computed(() => {\n return props.title.charAt(0).toUpperCase();\n});\n\nconst isActive = (url: string): boolean => {\n // Normalize URLs for comparison (remove trailing slash, lowercase)\n const normalizeUrl = (u: string) => u.toLowerCase().replace(/\\/$/, '');\n return normalizeUrl(props.currentUrl) === normalizeUrl(url);\n};\n\nconst scrollToActiveItem = async (smooth = false) => {\n await nextTick();\n if (!sidebarRef.value) return;\n\n const activeLink = sidebarRef.value.querySelector('.nav-link.active') as HTMLElement;\n if (activeLink) {\n const sidebar = sidebarRef.value;\n const linkRect = activeLink.getBoundingClientRect();\n const sidebarRect = sidebar.getBoundingClientRect();\n\n // Calculate the position to scroll to (center the active item)\n const scrollTop = activeLink.offsetTop - (sidebarRect.height / 2) + (linkRect.height / 2);\n\n sidebar.scrollTo({\n top: scrollTop,\n behavior: smooth ? 'smooth' : 'instant',\n });\n }\n};\n\n// Scroll to active item on initial mount (instant, no animation)\nonMounted(() => {\n scrollToActiveItem(false);\n});\n\n// Watch for URL changes (client-side routing) and scroll smoothly\nwatch(() => props.currentUrl, () => {\n scrollToActiveItem(true);\n});\n</script>\n\n<style scoped>\n.dashboard-sidebar {\n min-height: 100vh;\n transition: width 0.3s ease;\n position: sticky;\n top: 0;\n height: 100vh;\n overflow-y: auto;\n overflow-x: hidden;\n flex-shrink: 0;\n}\n\n.sidebar-header {\n display: flex;\n align-items: center;\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n.brand-container {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n transition: all 0.3s ease;\n}\n\n.brand-container.collapsed {\n justify-content: center;\n}\n\n.brand-initial {\n width: 32px;\n height: 32px;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: 700;\n font-size: 1.25rem;\n}\n\n.sidebar-nav {\n overflow-x: hidden;\n}\n\n.nav-group-label {\n font-size: 0.75rem;\n letter-spacing: 0.5px;\n}\n\n:deep(.nav-link) {\n padding: 0.625rem 0.75rem;\n transition: all 0.2s ease;\n text-decoration: none;\n white-space: nowrap;\n}\n\n:deep(.nav-link.active) {\n font-weight: 500;\n}\n\n:deep(.nav-icon) {\n flex-shrink: 0;\n}\n\n:deep(.nav-label) {\n flex: 1;\n}\n\n.sidebar-collapsed :deep(.nav-link) {\n padding: 0.625rem;\n}\n\n/* Custom scrollbar */\n.dashboard-sidebar::-webkit-scrollbar {\n width: 6px;\n}\n\n.dashboard-sidebar::-webkit-scrollbar-track {\n background: rgba(0, 0, 0, 0.1);\n}\n\n.dashboard-sidebar::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.2);\n border-radius: 3px;\n}\n\n.dashboard-sidebar::-webkit-scrollbar-thumb:hover {\n background: rgba(255, 255, 255, 0.3);\n}\n\n.sidebar-hidden {\n display: none;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { BContainer } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BContainer v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BContainer>\n</template>\n","<script setup lang=\"ts\">\nimport { BRow } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BRow v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BRow>\n</template>\n","<script setup lang=\"ts\">\nimport { BCol } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BCol v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BCol>\n</template>\n","<script setup lang=\"ts\">\n/**\n * DButton - A type-safe wrapper around Bootstrap Vue Next's BButton component\n *\n * @component\n * @example\n * ```vue\n * <DButton variant=\"primary\" size=\"lg\">Click Me</DButton>\n * <DButton variant=\"link-danger\" @click=\"handleClick\">Delete</DButton>\n * ```\n */\nimport { BButton } from \"bootstrap-vue-next\";\nimport type { ButtonVariant, Size } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n\ntype LinkVariant =\n | \"link-primary\"\n | \"link-secondary\"\n | \"link-success\"\n | \"link-danger\"\n | \"link-warning\"\n | \"link-info\"\n | \"link-light\"\n | \"link-dark\";\n\ninterface Props {\n /**\n * The visual style variant of the button\n * @default 'primary'\n */\n variant?: ButtonVariant | LinkVariant | null;\n\n /**\n * The size of the button\n * @default 'md'\n */\n size?: Size;\n}\n\nwithDefaults(defineProps<Props>(), {\n variant: 'primary',\n size: 'md',\n});\n</script>\n\n<template>\n <BButton\n :variant=\"variant\"\n :size=\"size\"\n v-bind=\"$attrs\"\n >\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BButton>\n</template>\n","<script setup lang=\"ts\">\nimport { BDropdown } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BDropdown v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BDropdown>\n</template>\n","<template>\n <header class=\"dashboard-navbar bg-white border-bottom\">\n <DContainer fluid class=\"h-100\">\n <DRow class=\"h-100 align-items-center\">\n <DCol class=\"d-flex align-items-center gap-3\">\n <DButton\n variant=\"link\"\n class=\"text-dark p-0\"\n @click=\"$emit('toggleSidebar')\"\n aria-label=\"Toggle sidebar\"\n >\n <slot name=\"menu-icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"currentColor\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5\"\n />\n </svg>\n </slot>\n </DButton>\n\n <h4 v-if=\"pageTitle\" class=\"mb-0 fw-semibold d-none d-md-block\">{{ pageTitle }}</h4>\n\n <div class=\"flex-grow-1 d-flex justify-content-center\">\n <slot name=\"search\" />\n </div>\n </DCol>\n\n <DCol cols=\"auto\">\n <slot name=\"user-menu\" :user=\"user\">\n <DDropdown\n v-if=\"user\"\n variant=\"link\"\n class=\"text-dark\"\n menu-class=\"dropdown-menu-end\"\n no-caret\n >\n <template #button-content>\n <slot name=\"user-icon\" :initial=\"getUserInitial(user)\">\n <div class=\"user-avatar\">\n {{ getUserInitial(user) }}\n </div>\n </slot>\n </template>\n\n <slot name=\"user-menu-items\" :user=\"user\" />\n </DDropdown>\n </slot>\n </DCol>\n </DRow>\n </DContainer>\n </header>\n</template>\n\n<script setup lang=\"ts\">\nimport DContainer from \"../base/DContainer.vue\";\nimport DRow from \"../base/DRow.vue\";\nimport DCol from \"../base/DCol.vue\";\nimport DButton from \"../base/DButton.vue\";\nimport DDropdown from \"../base/DDropdown.vue\";\n\nwithDefaults(\n defineProps<{\n user?: {\n name: string;\n email: string;\n [key: string]: any;\n } | null;\n pageTitle?: string;\n }>(),\n {\n user: null,\n pageTitle: \"\",\n },\n);\n\ndefineEmits<{\n toggleSidebar: [];\n}>();\n\nconst getUserInitial = (user: { name: string } | null) => {\n if (!user?.name) return \"\";\n return user.name.charAt(0).toUpperCase();\n};\n</script>\n\n<style scoped>\n.dashboard-navbar {\n position: sticky;\n top: 0;\n z-index: 1000;\n}\n\n.user-avatar {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background-color: var(--bs-dark);\n color: var(--bs-white);\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: 600;\n font-size: 14px;\n}\n</style>\n","<template>\n <div class=\"dashboard-layout d-flex\" :data-dashboard-id=\"dashboardId\">\n <!-- Sidebar -->\n <DXDashboardSidebar\n :navigation=\"navigation\"\n :current-url=\"currentUrl\"\n :title=\"title\"\n :collapsed=\"collapsed\"\n :hidden=\"hidden\"\n @toggle=\"toggleSidebar\"\n >\n <!-- Dynamically forward all sidebar-* slots by stripping the prefix -->\n <template\n v-for=\"(originalName, strippedName) in sidebarSlots\"\n :key=\"strippedName\"\n #[strippedName]=\"slotProps\"\n >\n <slot :name=\"originalName\" v-bind=\"slotProps\" />\n </template>\n </DXDashboardSidebar>\n\n <!-- Main Content Area -->\n <div class=\"dashboard-content flex-grow-1\">\n <!-- Top Navbar -->\n <DXDashboardNavbar\n :page-title=\"pageTitle\"\n :user=\"user\"\n :logout-url=\"logoutUrl\"\n @toggle-sidebar=\"toggleSidebar\"\n >\n <!-- Dynamically forward all navbar-* slots by stripping the prefix -->\n <template\n v-for=\"(originalName, strippedName) in navbarSlots\"\n :key=\"strippedName\"\n #[strippedName]=\"slotProps\"\n >\n <slot :name=\"originalName\" v-bind=\"slotProps\" />\n </template>\n </DXDashboardNavbar>\n\n <!-- Page Content -->\n <main class=\"dashboard-main p-4\">\n <DContainer fluid>\n <DRow class=\"justify-content-center\">\n <DCol cols=\"12\" xl=\"10\">\n <slot />\n </DCol>\n </DRow>\n </DContainer>\n </main>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, useSlots } from 'vue';\nimport DXDashboardSidebar from './DXDashboardSidebar.vue';\nimport DXDashboardNavbar from './DXDashboardNavbar.vue';\nimport DContainer from '../base/DContainer.vue';\nimport DRow from '../base/DRow.vue';\nimport DCol from '../base/DCol.vue';\nimport type { Navigation } from '../../types/navigation';\n\nconst slots = useSlots();\n\ninterface Props {\n /** Navigation structure for sidebar */\n navigation: Navigation;\n\n /** Current URL path for active state */\n currentUrl: string;\n\n /** Dashboard title shown in sidebar brand */\n title?: string;\n\n /** Page title shown in navbar */\n pageTitle?: string;\n\n /** User object for navbar dropdown */\n user?: { name: string; email: string } | null;\n\n /** Logout URL for navbar dropdown */\n logoutUrl?: string;\n\n /** LocalStorage key for sidebar state persistence */\n storageKey?: string;\n\n /**\n * Unique ID for this dashboard instance (for nested dashboards)\n * Used to scope visibility state when multiple dashboards exist on same page\n * If not provided, uses global HTML class approach (for SSR compatibility)\n */\n dashboardId?: string;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n title: 'Dashboard',\n pageTitle: '',\n user: null,\n logoutUrl: '/logout',\n storageKey: 'dashboard-sidebar-hidden',\n dashboardId: '',\n});\n\nconst collapsed = ref(false);\n\n// Compute sidebar slots (strip 'sidebar-' prefix)\nconst sidebarSlots = computed(() => {\n const result: Record<string, string> = {};\n Object.keys(slots).forEach(name => {\n if (name.startsWith('sidebar-')) {\n const strippedName = name.substring(8); // Remove 'sidebar-' prefix\n result[strippedName] = name;\n }\n });\n return result;\n});\n\n// Compute navbar slots (strip 'navbar-' prefix)\nconst navbarSlots = computed(() => {\n const result: Record<string, string> = {};\n Object.keys(slots).forEach(name => {\n if (name.startsWith('navbar-')) {\n const strippedName = name.substring(7); // Remove 'navbar-' prefix\n result[strippedName] = name;\n }\n });\n return result;\n});\n\n// Initialize sidebar visibility from localStorage\nconst getInitialHiddenState = (): boolean => {\n // Skip during SSR - no access to localStorage or document\n if (typeof window === 'undefined') {\n return !props.dashboardId; // Default: hidden for global, visible for scoped\n }\n\n try {\n const savedHidden = localStorage.getItem(props.storageKey);\n if (savedHidden !== null) {\n const isHidden = JSON.parse(savedHidden);\n\n // If no dashboard ID (global instance), update HTML class for SSR compatibility\n if (!props.dashboardId) {\n if (isHidden) {\n document.documentElement.classList.remove('sidebar-visible');\n } else {\n document.documentElement.classList.add('sidebar-visible');\n }\n }\n\n return isHidden;\n }\n } catch (error) {\n console.error('Error loading sidebar state:', error);\n }\n\n // Default: hidden for global instances (docs), visible for scoped instances (examples)\n if (!props.dashboardId) {\n document.documentElement.classList.remove('sidebar-visible');\n return true;\n }\n return false; // Show sidebar in scoped instances by default\n};\n\nconst hidden = ref(getInitialHiddenState());\n\nconst toggleSidebar = () => {\n hidden.value = !hidden.value;\n\n // Skip during SSR\n if (typeof window === 'undefined') return;\n\n // If no dashboard ID (global instance), update HTML class\n if (!props.dashboardId) {\n if (hidden.value) {\n document.documentElement.classList.remove('sidebar-visible');\n } else {\n document.documentElement.classList.add('sidebar-visible');\n }\n }\n\n // Save to localStorage\n try {\n localStorage.setItem(props.storageKey, JSON.stringify(hidden.value));\n } catch (error) {\n console.error('Error saving sidebar state:', error);\n }\n};\n</script>\n\n<style scoped>\n.dashboard-layout {\n min-height: 100vh;\n background-color: #f8f9fa;\n}\n\n.dashboard-content {\n display: flex;\n flex-direction: column;\n overflow-x: hidden;\n}\n\n.dashboard-main {\n flex: 1;\n max-width: 100%;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { BAlert } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BAlert v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BAlert>\n</template>\n","<template>\n <BFormGroup v-bind=\"$attrs\">\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BFormGroup>\n</template>\n\n<script setup lang=\"ts\">\nimport { BFormGroup } from \"bootstrap-vue-next\";\n</script>\n","<template>\n <BFormInput v-bind=\"$attrs\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { BFormInput } from \"bootstrap-vue-next\";\n</script>\n","<template>\n <BFormTextarea v-bind=\"$attrs\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { BFormTextarea } from \"bootstrap-vue-next\";\n</script>\n","<script setup lang=\"ts\">\nimport { BFormSelect } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BFormSelect v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BFormSelect>\n</template>\n","<script setup lang=\"ts\">\nimport { BFormCheckbox } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BFormCheckbox v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BFormCheckbox>\n</template>\n","<script setup lang=\"ts\">\nimport { BFormInvalidFeedback } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BFormInvalidFeedback v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BFormInvalidFeedback>\n</template>\n","<script setup lang=\"ts\">\nimport { BFormText } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BFormText v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BFormText>\n</template>\n","<template>\n <BForm @submit.prevent=\"handleSubmit\">\n <!-- Form-level error message -->\n <DAlert\n v-if=\"form.shouldShowMessage\"\n :model-value=\"form.shouldShowMessage\"\n variant=\"danger\"\n class=\"mb-3\"\n >\n {{ form.message }}\n </DAlert>\n\n <!-- Render each field -->\n <template v-for=\"field in fields\" :key=\"field.key\">\n <!-- Custom slot for this field -->\n <slot :name=\"`field-${field.key}`\" :field=\"field\" :form=\"form\">\n <!-- Default field rendering -->\n <DFormGroup\n :label=\"field.label\"\n :label-for=\"field.key\"\n :class=\"field.class || 'mb-3'\"\n >\n <!-- Text-based inputs -->\n <DFormInput\n v-if=\"isTextInput(field.type)\"\n :id=\"field.key\"\n v-model=\"form.data[field.key]\"\n :type=\"field.type\"\n :required=\"field.required\"\n :placeholder=\"field.placeholder\"\n :state=\"form.getState(field.key)\"\n v-bind=\"field.inputProps\"\n @input=\"form.clearError(field.key)\"\n />\n\n <!-- Textarea -->\n <DFormTextarea\n v-else-if=\"field.type === 'textarea'\"\n :id=\"field.key\"\n v-model=\"form.data[field.key]\"\n :required=\"field.required\"\n :placeholder=\"field.placeholder\"\n :rows=\"field.rows || 3\"\n :state=\"form.getState(field.key)\"\n v-bind=\"field.inputProps\"\n @input=\"form.clearError(field.key)\"\n />\n\n <!-- Select -->\n <DFormSelect\n v-else-if=\"field.type === 'select'\"\n :id=\"field.key\"\n v-model=\"form.data[field.key]\"\n :required=\"field.required\"\n :options=\"field.options\"\n :state=\"form.getState(field.key)\"\n v-bind=\"field.inputProps\"\n @change=\"form.clearError(field.key)\"\n />\n\n <!-- Checkbox -->\n <DFormCheckbox\n v-else-if=\"field.type === 'checkbox'\"\n :id=\"field.key\"\n v-model=\"form.data[field.key]\"\n v-bind=\"field.inputProps\"\n >\n {{ field.label }}\n </DFormCheckbox>\n\n <!-- Radio group -->\n <BFormRadioGroup\n v-else-if=\"field.type === 'radio'\"\n :id=\"field.key\"\n v-model=\"form.data[field.key]\"\n :options=\"field.options\"\n :required=\"field.required\"\n :state=\"form.getState(field.key)\"\n v-bind=\"field.inputProps\"\n @change=\"form.clearError(field.key)\"\n />\n\n <!-- Validation error -->\n <DFormInvalidFeedback v-if=\"form.hasError(field.key)\">\n {{ form.getError(field.key) }}\n </DFormInvalidFeedback>\n\n <!-- Help text -->\n <DFormText v-if=\"field.help\">\n {{ field.help }}\n </DFormText>\n </DFormGroup>\n </slot>\n </template>\n\n <!-- Submit button -->\n <DButton\n v-if=\"showSubmit\"\n type=\"submit\"\n variant=\"primary\"\n :disabled=\"form.processing\"\n class=\"w-100\"\n >\n <span v-if=\"form.processing\">{{ submitLoadingText }}</span>\n <span v-else>{{ submitText }}</span>\n </DButton>\n\n <!-- Footer slot -->\n <slot name=\"footer\"></slot>\n </BForm>\n</template>\n\n<script setup lang=\"ts\">\nimport { BForm, BFormRadioGroup } from \"bootstrap-vue-next\";\nimport DAlert from \"../base/DAlert.vue\";\nimport DFormGroup from \"../base/DFormGroup.vue\";\nimport DFormInput from \"../base/DFormInput.vue\";\nimport DFormTextarea from \"../base/DFormTextarea.vue\";\nimport DFormSelect from \"../base/DFormSelect.vue\";\nimport DFormCheckbox from \"../base/DFormCheckbox.vue\";\nimport DFormInvalidFeedback from \"../base/DFormInvalidFeedback.vue\";\nimport DFormText from \"../base/DFormText.vue\";\nimport DButton from \"../base/DButton.vue\";\nimport type { UseFormReturn } from \"../../composables/useForm\";\nimport type { FieldDefinition, FieldType } from \"../../types\";\n\ninterface Props {\n /** Form instance from useForm composable */\n form: UseFormReturn<any>;\n\n /** Field definitions */\n fields: FieldDefinition[];\n\n /** Submit button text */\n submitText?: string;\n\n /** Submit button loading text */\n submitLoadingText?: string;\n\n /** Show submit button */\n showSubmit?: boolean;\n}\n\nwithDefaults(defineProps<Props>(), {\n submitText: \"Submit\",\n submitLoadingText: \"Submitting...\",\n showSubmit: true,\n});\n\nconst emit = defineEmits<{\n submit: [];\n}>();\n\n/**\n * Check if field type is a text-based input\n */\nconst isTextInput = (type: FieldType): boolean => {\n return [\n \"text\",\n \"email\",\n \"password\",\n \"number\",\n \"url\",\n \"tel\",\n \"date\",\n \"datetime-local\",\n \"time\",\n ].includes(type);\n};\n\n/**\n * Handle form submission\n */\nconst handleSubmit = () => {\n emit(\"submit\");\n};\n</script>\n","<template>\n <OBasicForm\n :form=\"form.form\"\n :fields=\"form.fields\"\n :submit-text=\"submitText\"\n :submit-loading-text=\"submitLoadingText\"\n :show-submit=\"showSubmit\"\n @submit=\"emit('submit')\"\n >\n <!-- Pass through all slots -->\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </OBasicForm>\n</template>\n\n<script setup lang=\"ts\">\nimport OBasicForm from \"./DXBasicForm.vue\";\nimport type { DefineFormReturn } from \"../../composables/defineForm\";\n\ninterface Props {\n /** Form object from defineForm */\n form: DefineFormReturn<any>;\n\n /** Submit button text */\n submitText?: string;\n\n /** Submit button loading text */\n submitLoadingText?: string;\n\n /** Show submit button */\n showSubmit?: boolean;\n}\n\nwithDefaults(defineProps<Props>(), {\n submitText: \"Submit\",\n submitLoadingText: \"Submitting...\",\n showSubmit: true,\n});\n\nconst emit = defineEmits<{\n submit: [];\n}>();\n</script>\n","/* global define */\n\n(function (root, pluralize) {\n /* istanbul ignore else */\n if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {\n // Node.\n module.exports = pluralize();\n } else if (typeof define === 'function' && define.amd) {\n // AMD, registers as an anonymous module.\n define(function () {\n return pluralize();\n });\n } else {\n // Browser global.\n root.pluralize = pluralize();\n }\n})(this, function () {\n // Rule storage - pluralize and singularize need to be run sequentially,\n // while other rules can be optimized using an object for instant lookups.\n var pluralRules = [];\n var singularRules = [];\n var uncountables = {};\n var irregularPlurals = {};\n var irregularSingles = {};\n\n /**\n * Sanitize a pluralization rule to a usable regular expression.\n *\n * @param {(RegExp|string)} rule\n * @return {RegExp}\n */\n function sanitizeRule (rule) {\n if (typeof rule === 'string') {\n return new RegExp('^' + rule + '$', 'i');\n }\n\n return rule;\n }\n\n /**\n * Pass in a word token to produce a function that can replicate the case on\n * another word.\n *\n * @param {string} word\n * @param {string} token\n * @return {Function}\n */\n function restoreCase (word, token) {\n // Tokens are an exact match.\n if (word === token) return token;\n\n // Lower cased words. E.g. \"hello\".\n if (word === word.toLowerCase()) return token.toLowerCase();\n\n // Upper cased words. E.g. \"WHISKY\".\n if (word === word.toUpperCase()) return token.toUpperCase();\n\n // Title cased words. E.g. \"Title\".\n if (word[0] === word[0].toUpperCase()) {\n return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();\n }\n\n // Lower cased words. E.g. \"test\".\n return token.toLowerCase();\n }\n\n /**\n * Interpolate a regexp string.\n *\n * @param {string} str\n * @param {Array} args\n * @return {string}\n */\n function interpolate (str, args) {\n return str.replace(/\\$(\\d{1,2})/g, function (match, index) {\n return args[index] || '';\n });\n }\n\n /**\n * Replace a word using a rule.\n *\n * @param {string} word\n * @param {Array} rule\n * @return {string}\n */\n function replace (word, rule) {\n return word.replace(rule[0], function (match, index) {\n var result = interpolate(rule[1], arguments);\n\n if (match === '') {\n return restoreCase(word[index - 1], result);\n }\n\n return restoreCase(match, result);\n });\n }\n\n /**\n * Sanitize a word by passing in the word and sanitization rules.\n *\n * @param {string} token\n * @param {string} word\n * @param {Array} rules\n * @return {string}\n */\n function sanitizeWord (token, word, rules) {\n // Empty string or doesn't need fixing.\n if (!token.length || uncountables.hasOwnProperty(token)) {\n return word;\n }\n\n var len = rules.length;\n\n // Iterate over the sanitization rules and use the first one to match.\n while (len--) {\n var rule = rules[len];\n\n if (rule[0].test(word)) return replace(word, rule);\n }\n\n return word;\n }\n\n /**\n * Replace a word with the updated word.\n *\n * @param {Object} replaceMap\n * @param {Object} keepMap\n * @param {Array} rules\n * @return {Function}\n */\n function replaceWord (replaceMap, keepMap, rules) {\n return function (word) {\n // Get the correct token and case restoration functions.\n var token = word.toLowerCase();\n\n // Check against the keep object map.\n if (keepMap.hasOwnProperty(token)) {\n return restoreCase(word, token);\n }\n\n // Check against the replacement map for a direct word replacement.\n if (replaceMap.hasOwnProperty(token)) {\n return restoreCase(word, replaceMap[token]);\n }\n\n // Run all the rules against the word.\n return sanitizeWord(token, word, rules);\n };\n }\n\n /**\n * Check if a word is part of the map.\n */\n function checkWord (replaceMap, keepMap, rules, bool) {\n return function (word) {\n var token = word.toLowerCase();\n\n if (keepMap.hasOwnProperty(token)) return true;\n if (replaceMap.hasOwnProperty(token)) return false;\n\n return sanitizeWord(token, token, rules) === token;\n };\n }\n\n /**\n * Pluralize or singularize a word based on the passed in count.\n *\n * @param {string} word The word to pluralize\n * @param {number} count How many of the word exist\n * @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)\n * @return {string}\n */\n function pluralize (word, count, inclusive) {\n var pluralized = count === 1\n ? pluralize.singular(word) : pluralize.plural(word);\n\n return (inclusive ? count + ' ' : '') + pluralized;\n }\n\n /**\n * Pluralize a word.\n *\n * @type {Function}\n */\n pluralize.plural = replaceWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Check if a word is plural.\n *\n * @type {Function}\n */\n pluralize.isPlural = checkWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Singularize a word.\n *\n * @type {Function}\n */\n pluralize.singular = replaceWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Check if a word is singular.\n *\n * @type {Function}\n */\n pluralize.isSingular = checkWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Add a pluralization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addPluralRule = function (rule, replacement) {\n pluralRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add a singularization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addSingularRule = function (rule, replacement) {\n singularRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add an uncountable word rule.\n *\n * @param {(string|RegExp)} word\n */\n pluralize.addUncountableRule = function (word) {\n if (typeof word === 'string') {\n uncountables[word.toLowerCase()] = true;\n return;\n }\n\n // Set singular and plural references for the word.\n pluralize.addPluralRule(word, '$0');\n pluralize.addSingularRule(word, '$0');\n };\n\n /**\n * Add an irregular word definition.\n *\n * @param {string} single\n * @param {string} plural\n */\n pluralize.addIrregularRule = function (single, plural) {\n plural = plural.toLowerCase();\n single = single.toLowerCase();\n\n irregularSingles[single] = plural;\n irregularPlurals[plural] = single;\n };\n\n /**\n * Irregular rules.\n */\n [\n // Pronouns.\n ['I', 'we'],\n ['me', 'us'],\n ['he', 'they'],\n ['she', 'they'],\n ['them', 'them'],\n ['myself', 'ourselves'],\n ['yourself', 'yourselves'],\n ['itself', 'themselves'],\n ['herself', 'themselves'],\n ['himself', 'themselves'],\n ['themself', 'themselves'],\n ['is', 'are'],\n ['was', 'were'],\n ['has', 'have'],\n ['this', 'these'],\n ['that', 'those'],\n // Words ending in with a consonant and `o`.\n ['echo', 'echoes'],\n ['dingo', 'dingoes'],\n ['volcano', 'volcanoes'],\n ['tornado', 'tornadoes'],\n ['torpedo', 'torpedoes'],\n // Ends with `us`.\n ['genus', 'genera'],\n ['viscus', 'viscera'],\n // Ends with `ma`.\n ['stigma', 'stigmata'],\n ['stoma', 'stomata'],\n ['dogma', 'dogmata'],\n ['lemma', 'lemmata'],\n ['schema', 'schemata'],\n ['anathema', 'anathemata'],\n // Other irregular rules.\n ['ox', 'oxen'],\n ['axe', 'axes'],\n ['die', 'dice'],\n ['yes', 'yeses'],\n ['foot', 'feet'],\n ['eave', 'eaves'],\n ['goose', 'geese'],\n ['tooth', 'teeth'],\n ['quiz', 'quizzes'],\n ['human', 'humans'],\n ['proof', 'proofs'],\n ['carve', 'carves'],\n ['valve', 'valves'],\n ['looey', 'looies'],\n ['thief', 'thieves'],\n ['groove', 'grooves'],\n ['pickaxe', 'pickaxes'],\n ['passerby', 'passersby']\n ].forEach(function (rule) {\n return pluralize.addIrregularRule(rule[0], rule[1]);\n });\n\n /**\n * Pluralization rules.\n */\n [\n [/s?$/i, 's'],\n [/[^\\u0000-\\u007F]$/i, '$0'],\n [/([^aeiou]ese)$/i, '$1'],\n [/(ax|test)is$/i, '$1es'],\n [/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],\n [/(e[mn]u)s?$/i, '$1s'],\n [/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],\n [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],\n [/(seraph|cherub)(?:im)?$/i, '$1im'],\n [/(her|at|gr)o$/i, '$1oes'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],\n [/sis$/i, 'ses'],\n [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],\n [/([^aeiouy]|qu)y$/i, '$1ies'],\n [/([^ch][ieo][ln])ey$/i, '$1ies'],\n [/(x|ch|ss|sh|zz)$/i, '$1es'],\n [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],\n [/\\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],\n [/(pe)(?:rson|ople)$/i, '$1ople'],\n [/(child)(?:ren)?$/i, '$1ren'],\n [/eaux$/i, '$0'],\n [/m[ae]n$/i, 'men'],\n ['thou', 'you']\n ].forEach(function (rule) {\n return pluralize.addPluralRule(rule[0], rule[1]);\n });\n\n /**\n * Singularization rules.\n */\n [\n [/s$/i, ''],\n [/(ss)$/i, '$1'],\n [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i, '$1fe'],\n [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],\n [/ies$/i, 'y'],\n [/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],\n [/\\b(mon|smil)ies$/i, '$1ey'],\n [/\\b((?:tit)?m|l)ice$/i, '$1ouse'],\n [/(seraph|cherub)im$/i, '$1'],\n [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],\n [/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],\n [/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],\n [/(test)(?:is|es)$/i, '$1is'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],\n [/(alumn|alg|vertebr)ae$/i, '$1a'],\n [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],\n [/(matr|append)ices$/i, '$1ix'],\n [/(pe)(rson|ople)$/i, '$1rson'],\n [/(child)ren$/i, '$1'],\n [/(eau)x?$/i, '$1'],\n [/men$/i, 'man']\n ].forEach(function (rule) {\n return pluralize.addSingularRule(rule[0], rule[1]);\n });\n\n /**\n * Uncountable rules.\n */\n [\n // Singular words with no plurals.\n 'adulthood',\n 'advice',\n 'agenda',\n 'aid',\n 'aircraft',\n 'alcohol',\n 'ammo',\n 'analytics',\n 'anime',\n 'athletics',\n 'audio',\n 'bison',\n 'blood',\n 'bream',\n 'buffalo',\n 'butter',\n 'carp',\n 'cash',\n 'chassis',\n 'chess',\n 'clothing',\n 'cod',\n 'commerce',\n 'cooperation',\n 'corps',\n 'debris',\n 'diabetes',\n 'digestion',\n 'elk',\n 'energy',\n 'equipment',\n 'excretion',\n 'expertise',\n 'firmware',\n 'flounder',\n 'fun',\n 'gallows',\n 'garbage',\n 'graffiti',\n 'hardware',\n 'headquarters',\n 'health',\n 'herpes',\n 'highjinks',\n 'homework',\n 'housework',\n 'information',\n 'jeans',\n 'justice',\n 'kudos',\n 'labour',\n 'literature',\n 'machinery',\n 'mackerel',\n 'mail',\n 'media',\n 'mews',\n 'moose',\n 'music',\n 'mud',\n 'manga',\n 'news',\n 'only',\n 'personnel',\n 'pike',\n 'plankton',\n 'pliers',\n 'police',\n 'pollution',\n 'premises',\n 'rain',\n 'research',\n 'rice',\n 'salmon',\n 'scissors',\n 'series',\n 'sewage',\n 'shambles',\n 'shrimp',\n 'software',\n 'species',\n 'staff',\n 'swine',\n 'tennis',\n 'traffic',\n 'transportation',\n 'trout',\n 'tuna',\n 'wealth',\n 'welfare',\n 'whiting',\n 'wildebeest',\n 'wildlife',\n 'you',\n /pok[eé]mon$/i,\n // Regexes.\n /[^aeiou]ese$/i, // \"chinese\", \"japanese\"\n /deer$/i, // \"deer\", \"reindeer\"\n /fish$/i, // \"fish\", \"blowfish\", \"angelfish\"\n /measles$/i,\n /o[iu]s$/i, // \"carnivorous\"\n /pox$/i, // \"chickpox\", \"smallpox\"\n /sheep$/i\n ].forEach(pluralize.addUncountableRule);\n\n return pluralize;\n});\n","<script setup lang=\"ts\">\n/**\n * DCard - A type-safe wrapper around Bootstrap Vue Next's BCard component\n *\n * Provides a flexible content container with optional header and footer sections.\n *\n * @component\n * @example\n * ```vue\n * <DCard>\n * <template #header>\n * <h3>Card Title</h3>\n * </template>\n *\n * <p>Card content goes here</p>\n *\n * <template #footer>\n * <small>Last updated 5 mins ago</small>\n * </template>\n * </DCard>\n * ```\n */\nimport { BCard } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BCard v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BCard>\n</template>\n","<template>\n <BSpinner v-bind=\"$attrs\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { BSpinner } from \"bootstrap-vue-next\";\n</script>\n","<template>\n <BTable\n ref=\"bTableRef\"\n v-bind=\"$attrs\"\n @update:sort-by=\"handleSortByUpdate\"\n @update:current-page=\"handleCurrentPageUpdate\"\n @update:busy=\"handleBusyUpdate\"\n @sorted=\"handleSorted\"\n @row-clicked=\"handleRowClicked\"\n >\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BTable>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { BTable } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n\n// Define emits to forward BTable events\nconst emit = defineEmits(['update:sortBy', 'update:currentPage', 'update:busy', 'sorted', 'rowClicked']);\n\n// Reference to BTable for exposing methods\nconst bTableRef = ref<any>(null);\n\n// Event handlers to forward BTable events\nconst handleSortByUpdate = (val: any) => {\n emit('update:sortBy', val);\n};\n\nconst handleCurrentPageUpdate = (val: any) => {\n emit('update:currentPage', val);\n};\n\nconst handleBusyUpdate = (val: any) => {\n emit('update:busy', val);\n};\n\nconst handleSorted = (val: any) => {\n emit('sorted', val);\n};\n\nconst handleRowClicked = (item: any, index: number, event: MouseEvent) => {\n emit('rowClicked', item, index, event);\n};\n\n// Expose refresh method from BTable\nconst refresh = () => {\n if (bTableRef.value && typeof bTableRef.value.refresh === 'function') {\n bTableRef.value.refresh();\n }\n};\n\ndefineExpose({\n refresh,\n});\n</script>\n","<template>\n <BPagination v-bind=\"$attrs\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { BPagination } from \"bootstrap-vue-next\";\n</script>\n","<template>\n <BModal v-bind=\"$attrs\">\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BModal>\n</template>\n\n<script setup lang=\"ts\">\nimport { BModal } from \"bootstrap-vue-next\";\n</script>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BTabs component.\n * Create tabbed panes of local content with customisable navigation.\n */\n<script setup lang=\"ts\">\nimport { BTabs } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BTabs v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BTabs>\n</template>\n","<script setup lang=\"ts\">\nimport { BTab } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BTab v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BTab>\n</template>\n","<template>\n <DContainer :fluid=\"fluid\" :class=\"containerClass\">\n <DRow class=\"justify-content-center\">\n <DCol :md=\"columnSize\">\n <DCard>\n <template v-if=\"title || $slots.header\" #header>\n <slot name=\"header\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <h4 class=\"mb-0\">{{ title }}</h4>\n </div>\n </slot>\n </template>\n\n <div v-if=\"effectiveBusy && !isProviderMode\" class=\"text-center py-5\">\n <DSpinner variant=\"primary\" />\n <p class=\"mt-2\">{{ loadingText }}</p>\n </div>\n\n <div v-else-if=\"error || apiError\" class=\"alert alert-danger\">\n {{ error || apiError }}\n </div>\n\n <!-- Provider Mode: Use BTable's provider pattern -->\n <DTable\n v-else-if=\"isProviderMode\"\n ref=\"tableRef\"\n :provider=\"effectiveProvider\"\n :fields=\"fields\"\n :sort-by=\"effectiveSortBy\"\n :per-page=\"effectivePerPage\"\n :current-page=\"apiCurrentPage\"\n :multisort=\"false\"\n :no-sortable-icon=\"true\"\n :striped=\"striped\"\n :hover=\"hover\"\n :responsive=\"responsive\"\n :busy=\"busy\"\n @update:sort-by=\"handleSortChange\"\n @update:current-page=\"apiCurrentPage = $event\"\n @update:busy=\"handleBusyChange\"\n @row-clicked=\"handleRowClick\"\n >\n <!-- Inline Filter Row -->\n <template v-if=\"hasFilters\" #thead-top>\n <tr class=\"filter-row\">\n <th v-for=\"field in fields\" :key=\"`filter-${field.key}`\" class=\"p-2\">\n <!-- Text Filter -->\n <DFormInput\n v-if=\"field.filter === 'text'\"\n :model-value=\"effectiveFilters[field.key] || ''\"\n :placeholder=\"field.filterPlaceholder || `Search ${field.label || field.key}...`\"\n size=\"sm\"\n @update:model-value=\"handleFilterChange(field.key, $event as string)\"\n />\n\n <!-- Select Filter -->\n <DFormSelect\n v-else-if=\"field.filter === 'select'\"\n :model-value=\"effectiveFilters[field.key] || ''\"\n :options=\"[{ value: '', text: 'All' }, ...getFieldFilterOptions(field)]\"\n size=\"sm\"\n @update:model-value=\"handleFilterChange(field.key, $event as string)\"\n />\n\n <!-- Number Filter -->\n <DFormInput\n v-else-if=\"field.filter === 'number'\"\n :model-value=\"effectiveFilters[field.key] || ''\"\n :placeholder=\"field.filterPlaceholder || `Filter ${field.label || field.key}...`\"\n type=\"number\"\n size=\"sm\"\n @update:model-value=\"handleFilterChange(field.key, $event as string)\"\n />\n\n <!-- Date Filter -->\n <DFormInput\n v-else-if=\"field.filter === 'date'\"\n :model-value=\"effectiveFilters[field.key] || ''\"\n type=\"date\"\n size=\"sm\"\n @update:model-value=\"handleFilterChange(field.key, $event as string)\"\n />\n\n <!-- No filter for this column -->\n <div v-else></div>\n </th>\n </tr>\n </template>\n\n <!-- Custom headers for all fields -->\n <template v-for=\"field in fields\" :key=\"`head-${field.key}`\" #[`head(${field.key})`]=\"{ label }\">\n <div class=\"d-flex align-items-center justify-content-between gap-2\">\n <div class=\"flex-grow-1\">\n <div class=\"fw-semibold\">{{ label || field.key }}</div>\n <small v-if=\"field.hint\" class=\"text-muted d-block\" style=\"font-weight: normal;\">{{ field.hint }}</small>\n </div>\n <div v-if=\"field.sortable\" class=\"sort-indicator text-muted flex-shrink-0\" style=\"font-size: 0.75rem; line-height: 1.1; display: flex; flex-direction: column; align-items: center;\">\n <span :style=\"{ opacity: getFieldSortState(field.key) === 'asc' ? 1 : 0.3 }\">▲</span>\n <span :style=\"{ opacity: getFieldSortState(field.key) === 'desc' ? 1 : 0.3 }\">▼</span>\n </div>\n </div>\n </template>\n\n <!-- Pass through all cell slots -->\n <template\n v-for=\"(_, name) in $slots\"\n #[name]=\"slotProps\"\n >\n <slot\n v-if=\"typeof name === 'string' && name.startsWith('cell')\"\n :name=\"name\"\n v-bind=\"slotProps\"\n />\n </template>\n </DTable>\n\n <!-- Inertia Mode: Use items prop -->\n <DTable\n v-else\n :items=\"items\"\n :fields=\"fields\"\n :sort-by=\"effectiveSortBy\"\n :multisort=\"false\"\n :no-local-sorting=\"true\"\n :no-sortable-icon=\"true\"\n :striped=\"striped\"\n :hover=\"hover\"\n :responsive=\"responsive\"\n :busy=\"effectiveBusy\"\n @update:sort-by=\"handleSortChange\"\n @row-clicked=\"handleRowClick\"\n >\n <!-- Inline Filter Row -->\n <template v-if=\"hasFilters\" #thead-top>\n <tr class=\"filter-row\">\n <th v-for=\"field in fields\" :key=\"`filter-${field.key}`\" class=\"p-2\">\n <!-- Text Filter -->\n <DFormInput\n v-if=\"field.filter === 'text'\"\n :model-value=\"effectiveFilters[field.key] || ''\"\n :placeholder=\"field.filterPlaceholder || `Search ${field.label || field.key}...`\"\n size=\"sm\"\n @update:model-value=\"handleFilterChange(field.key, $event as string)\"\n />\n\n <!-- Select Filter -->\n <DFormSelect\n v-else-if=\"field.filter === 'select'\"\n :model-value=\"effectiveFilters[field.key] || ''\"\n :options=\"[{ value: '', text: 'All' }, ...getFieldFilterOptions(field)]\"\n size=\"sm\"\n @update:model-value=\"handleFilterChange(field.key, $event as string)\"\n />\n\n <!-- Number Filter -->\n <DFormInput\n v-else-if=\"field.filter === 'number'\"\n :model-value=\"effectiveFilters[field.key] || ''\"\n :placeholder=\"field.filterPlaceholder || `Filter ${field.label || field.key}...`\"\n type=\"number\"\n size=\"sm\"\n @update:model-value=\"handleFilterChange(field.key, $event as string)\"\n />\n\n <!-- Date Filter -->\n <DFormInput\n v-else-if=\"field.filter === 'date'\"\n :model-value=\"effectiveFilters[field.key] || ''\"\n type=\"date\"\n size=\"sm\"\n @update:model-value=\"handleFilterChange(field.key, $event as string)\"\n />\n\n <!-- No filter for this column -->\n <div v-else></div>\n </th>\n </tr>\n </template>\n\n <!-- Custom headers for all fields -->\n <template v-for=\"field in fields\" :key=\"`head-${field.key}`\" #[`head(${field.key})`]=\"{ label }\">\n <div class=\"d-flex align-items-center justify-content-between gap-2\">\n <div class=\"flex-grow-1\">\n <div class=\"fw-semibold\">{{ label || field.key }}</div>\n <small v-if=\"field.hint\" class=\"text-muted d-block\" style=\"font-weight: normal;\">{{ field.hint }}</small>\n </div>\n <div v-if=\"field.sortable\" class=\"sort-indicator text-muted flex-shrink-0\" style=\"font-size: 0.75rem; line-height: 1.1; display: flex; flex-direction: column; align-items: center;\">\n <span :style=\"{ opacity: getFieldSortState(field.key) === 'asc' ? 1 : 0.3 }\">▲</span>\n <span :style=\"{ opacity: getFieldSortState(field.key) === 'desc' ? 1 : 0.3 }\">▼</span>\n </div>\n </div>\n </template>\n\n <!-- Pass through all cell slots -->\n <template\n v-for=\"(_, name) in $slots\"\n #[name]=\"slotProps\"\n >\n <slot\n v-if=\"typeof name === 'string' && name.startsWith('cell')\"\n :name=\"name\"\n v-bind=\"slotProps\"\n />\n </template>\n </DTable>\n\n <!-- Pagination and Controls (Inertia mode) -->\n <div v-if=\"isInertiaMode && pagination\" class=\"mt-3\">\n <!-- Top row: Pagination and Per-page selector -->\n <div class=\"d-flex justify-content-between align-items-center mb-2\">\n <!-- Pagination controls (only when multiple pages) -->\n <DPagination\n v-if=\"showPagination && pagination.total > pagination.per_page\"\n :model-value=\"pagination.current_page\"\n :total-rows=\"pagination.total\"\n :per-page=\"pagination.per_page\"\n size=\"sm\"\n @update:model-value=\"handlePageChange\"\n />\n <div v-else></div>\n\n <!-- Per-page selector -->\n <div v-if=\"shouldShowPerPageSelector\" class=\"d-flex align-items-center gap-2\">\n <label for=\"perPageSelect\" class=\"mb-0 small text-muted\">Per page</label>\n <DFormSelect\n id=\"perPageSelect\"\n :model-value=\"effectivePerPage\"\n :options=\"perPageOptions.map(n => ({ value: n, text: n.toString() }))\"\n size=\"sm\"\n style=\"width: 85px;\"\n @update:model-value=\"handlePerPageChange\"\n />\n </div>\n </div>\n\n <!-- Bottom row: Info text -->\n <div class=\"small text-muted\">\n <div>\n <template v-if=\"pagination.total > pagination.per_page\">\n {{ pagination.from }} to {{ pagination.to }} out of {{ pagination.total }} {{ pagination.total === 1 ? singularItemName : pluralItemName }}.\n </template>\n <template v-else-if=\"pagination.total === 1\">\n {{ pagination.total }} {{ singularItemName }}.\n </template>\n <template v-else>\n {{ pagination.total }} {{ pluralItemName }}.\n </template>\n </div>\n <div v-if=\"hasActiveFilters && pagination.total_unfiltered\">\n <small>Filtered from {{ pagination.total_unfiltered }} {{ pagination.total_unfiltered === 1 ? singularItemName : pluralItemName }}.</small>\n </div>\n </div>\n </div>\n\n <!-- Pagination and Controls (API mode) -->\n <div v-if=\"isProviderMode && apiPaginationMeta\" class=\"mt-3\">\n <!-- Top row: Pagination and Per-page selector -->\n <div class=\"d-flex justify-content-between align-items-center mb-2\">\n <!-- Pagination controls (only when multiple pages) -->\n <DPagination\n v-if=\"showPagination && apiPaginationMeta.total > apiPaginationMeta.per_page\"\n :model-value=\"apiPaginationMeta.current_page\"\n :total-rows=\"apiPaginationMeta.total\"\n :per-page=\"apiPaginationMeta.per_page\"\n size=\"sm\"\n @update:model-value=\"handleApiPageChange\"\n />\n <div v-else></div>\n\n <!-- Per-page selector -->\n <div v-if=\"shouldShowPerPageSelector\" class=\"d-flex align-items-center gap-2\">\n <label for=\"perPageSelectApi\" class=\"mb-0 small text-muted\">Per page</label>\n <DFormSelect\n id=\"perPageSelectApi\"\n :model-value=\"effectivePerPage\"\n :options=\"perPageOptions.map(n => ({ value: n, text: n.toString() }))\"\n size=\"sm\"\n style=\"width: 85px;\"\n @update:model-value=\"handlePerPageChange\"\n />\n </div>\n </div>\n\n <!-- Bottom row: Info text -->\n <div class=\"small text-muted\">\n <div>\n <template v-if=\"apiPaginationMeta.total > apiPaginationMeta.per_page\">\n {{ apiPaginationMeta.from }} to {{ apiPaginationMeta.to }} out of {{ apiPaginationMeta.total }} {{ apiPaginationMeta.total === 1 ? singularItemName : pluralItemName }}.\n </template>\n <template v-else-if=\"apiPaginationMeta.total === 1\">\n {{ apiPaginationMeta.total }} {{ singularItemName }}.\n </template>\n <template v-else>\n {{ apiPaginationMeta.total }} {{ pluralItemName }}.\n </template>\n </div>\n <div v-if=\"hasActiveFilters && apiPaginationMeta.total_unfiltered\">\n <small>Filtered from {{ apiPaginationMeta.total_unfiltered }} {{ apiPaginationMeta.total_unfiltered === 1 ? singularItemName : pluralItemName }}.</small>\n </div>\n </div>\n </div>\n </DCard>\n </DCol>\n </DRow>\n\n <!-- Edit Modal (if editFields provided) -->\n <DModal\n v-if=\"editFields && editFields.length > 0\"\n v-model=\"showEditModal\"\n :title=\"computedModalTitle\"\n :size=\"editModalSize\"\n >\n <!-- Tabbed view (if editTabs provided) -->\n <template v-if=\"editTabs && editTabs.length > 0 && editForm\">\n <DTabs v-model=\"activeTabIndex\">\n <DTab\n v-for=\"(tab, index) in visibleTabs\"\n :key=\"tab.key\"\n :title=\"tab.label || tab.key\"\n :lazy=\"tab.lazy\"\n :active=\"index === 0\"\n >\n <!-- Custom tab content slot -->\n <slot\n v-if=\"$slots[`tab-content(${tab.key})`]\"\n :name=\"`tab-content(${tab.key})`\"\n :item=\"selectedItem\"\n :tab=\"tab\"\n />\n\n <!-- Default: render fields for this tab -->\n <div v-else class=\"p-3\">\n <!-- Before slot -->\n <slot :name=\"`tab-before(${tab.key})`\" :item=\"selectedItem\" :tab=\"tab\" />\n\n <!-- Form fields for this tab -->\n <template v-for=\"fieldKey in tab.fieldKeys\" :key=\"fieldKey\">\n <div v-if=\"getField(fieldKey).span\" class=\"mb-3\">\n <!-- Full-width span field -->\n <slot\n :name=\"`edit-span(${fieldKey})`\"\n :item=\"selectedItem\"\n :value=\"editForm.data[fieldKey]\"\n :update=\"(v: any) => editForm.data[fieldKey] = v\"\n :close=\"handleEditCancel\"\n />\n </div>\n <!-- Checkbox (no label wrapper needed) -->\n <div v-else-if=\"getField(fieldKey).type === 'checkbox'\" class=\"mb-3\">\n <!-- Custom value slot -->\n <slot\n v-if=\"$slots[`edit-value(${fieldKey})`]\"\n :name=\"`edit-value(${fieldKey})`\"\n :item=\"selectedItem\"\n :value=\"editForm.data[fieldKey]\"\n :update=\"(v: any) => editForm.data[fieldKey] = v\"\n :field=\"getField(fieldKey)\"\n />\n <DFormCheckbox\n v-else\n v-model=\"editForm.data[fieldKey]\"\n >\n {{ getField(fieldKey).label || fieldKey }}\n </DFormCheckbox>\n </div>\n <!-- Other field types with label -->\n <DFormGroup\n v-else\n :label=\"getField(fieldKey).label || fieldKey\"\n class=\"mb-3\"\n >\n <!-- Custom value slot -->\n <slot\n v-if=\"$slots[`edit-value(${fieldKey})`]\"\n :name=\"`edit-value(${fieldKey})`\"\n :item=\"selectedItem\"\n :value=\"editForm.data[fieldKey]\"\n :update=\"(v: any) => editForm.data[fieldKey] = v\"\n :field=\"getField(fieldKey)\"\n />\n <DFormTextarea\n v-else-if=\"getField(fieldKey).type === 'textarea'\"\n v-model=\"editForm.data[fieldKey]\"\n :required=\"getField(fieldKey).required\"\n :rows=\"getField(fieldKey).rows || 3\"\n />\n <DFormInput\n v-else\n v-model=\"editForm.data[fieldKey]\"\n :type=\"getField(fieldKey).type || 'text'\"\n :required=\"getField(fieldKey).required\"\n />\n </DFormGroup>\n </template>\n\n <!-- After slot -->\n <slot :name=\"`tab-after(${tab.key})`\" :item=\"selectedItem\" :tab=\"tab\" />\n </div>\n </DTab>\n </DTabs>\n </template>\n\n <!-- Fallback: no tabs, render flat form (current behavior) -->\n <DXBasicForm\n v-else-if=\"editForm\"\n :form=\"editForm\"\n :fields=\"editFields\"\n :show-submit=\"false\"\n @submit=\"handleEditSave\"\n />\n\n <template #footer>\n <div class=\"d-flex justify-content-between w-100\">\n <div>\n <DButton\n v-if=\"deleteUrl\"\n variant=\"danger\"\n :disabled=\"editForm?.processing\"\n @click=\"handleDelete\"\n >\n {{ editForm?.processing ? 'Deleting...' : 'Delete' }}\n </DButton>\n </div>\n <div class=\"d-flex gap-2\">\n <DButton variant=\"secondary\" @click=\"handleEditCancel\">\n Cancel\n </DButton>\n <DButton\n variant=\"primary\"\n :disabled=\"editForm?.processing\"\n @click=\"handleEditSave\"\n >\n {{ editForm?.processing ? 'Saving...' : 'Save Changes' }}\n </DButton>\n </div>\n </div>\n </template>\n </DModal>\n </DContainer>\n</template>\n\n<script setup lang=\"ts\" generic=\"T = any\">\nimport { computed, ref, watch } from \"vue\";\nimport { router } from \"@inertiajs/vue3\";\nimport axios from \"axios\";\nimport pluralize from \"pluralize\";\nimport { useToast } from \"../../composables/useToast\";\nimport DContainer from \"../base/DContainer.vue\";\nimport DRow from \"../base/DRow.vue\";\nimport DCol from \"../base/DCol.vue\";\nimport DCard from \"../base/DCard.vue\";\nimport DSpinner from \"../base/DSpinner.vue\";\nimport DTable from \"../base/DTable.vue\";\nimport DPagination from \"../base/DPagination.vue\";\nimport DFormInput from \"../base/DFormInput.vue\";\nimport DFormSelect from \"../base/DFormSelect.vue\";\nimport DModal from \"../base/DModal.vue\";\nimport DButton from \"../base/DButton.vue\";\nimport DTabs from \"../base/DTabs.vue\";\nimport DTab from \"../base/DTab.vue\";\nimport DFormGroup from \"../base/DFormGroup.vue\";\nimport DFormTextarea from \"../base/DFormTextarea.vue\";\nimport DFormCheckbox from \"../base/DFormCheckbox.vue\";\nimport DXBasicForm from \"./DXBasicForm.vue\";\nexport type FilterType = 'text' | 'select' | 'number' | 'date' | false;\n\nexport interface FilterOption {\n value: string;\n text: string;\n}\n\nexport interface TableField {\n key: string;\n label?: string;\n sortable?: boolean;\n hint?: string;\n filter?: FilterType;\n filterOptions?: FilterOption[];\n filterPlaceholder?: string;\n [key: string]: any;\n}\n\nexport interface PaginationData {\n current_page: number;\n per_page: number;\n total: number;\n from: number;\n to: number;\n last_page?: number;\n total_unfiltered?: number;\n}\n\nexport interface BTableSortBy {\n key: string;\n order?: 'asc' | 'desc';\n}\n\nexport interface BTableProviderContext {\n sortBy?: BTableSortBy[];\n filter?: string;\n currentPage: number;\n perPage: number;\n}\n\nexport type BTableProvider<T = any> = (\n context: Readonly<BTableProviderContext>\n) => Promise<T[] | undefined> | T[] | undefined;\n\nexport interface EditTab {\n /** Unique key for this tab */\n key: string;\n\n /** Display label (optional, auto-derived from key if omitted) */\n label?: string;\n\n /** Field keys to display in this tab (from editFields) */\n fieldKeys: string[];\n\n /** Conditional display (optional) */\n when?: boolean | ((item: any) => boolean);\n\n /** Lazy load tab content (optional, default false) */\n lazy?: boolean;\n}\n\nexport interface Props<TItem = any> {\n /** Table title */\n title?: string;\n\n /** Name for item (singular) - automatically pluralized (e.g., \"product\" → \"products\") */\n itemName?: string;\n\n /** Table data items (Inertia mode) */\n items?: TItem[];\n\n /** Provider function for API mode (alternative to items/apiUrl) */\n provider?: BTableProvider<TItem>;\n\n /** API endpoint URL for auto-provider mode (alternative to provider function) */\n apiUrl?: string;\n\n /** Table field definitions */\n fields: TableField[];\n\n /** Sort configuration (v-model support) */\n sortBy?: BTableSortBy[];\n\n /** Filter values (v-model support) - key is field key, value is filter string */\n filters?: Record<string, string>;\n\n /** Dynamic filter options from server - key is field key, value is array of values */\n filterValues?: Record<string, string[]>;\n\n /** Inertia route URL (if provided, handles navigation automatically) */\n inertiaUrl?: string;\n\n /** Loading/busy state (v-model support) */\n busy?: boolean;\n\n /** Loading state (deprecated, use busy instead) */\n loading?: boolean;\n\n /** Loading text */\n loadingText?: string;\n\n /** Error message */\n error?: string | null;\n\n /** Pagination data (Inertia mode) */\n pagination?: PaginationData;\n\n /** Show pagination controls */\n showPagination?: boolean;\n\n /** Show per-page selector */\n showPerPageSelector?: boolean;\n\n /** Per-page options for selector */\n perPageOptions?: number[];\n\n /** Current page (for provider mode) */\n currentPage?: number;\n\n /** Items per page (for provider mode, v-model support) */\n perPage?: number;\n\n /** Striped rows */\n striped?: boolean;\n\n /** Hover effect on rows */\n hover?: boolean;\n\n /** Responsive table */\n responsive?: boolean;\n\n /** Fluid container */\n fluid?: boolean;\n\n /** Container CSS class */\n containerClass?: string;\n\n /** Column size (Bootstrap grid) */\n columnSize?: string | number;\n\n // Edit Modal Props\n /** Form field definitions for edit modal (if provided, enables edit on row click) */\n editFields?: any[]; // FieldDefinition[] - using any to avoid circular import\n\n /** Tab definitions for organizing edit modal content */\n editTabs?: EditTab[];\n\n /** Edit modal title (can be function for dynamic titles) */\n editModalTitle?: string | ((item: any) => string);\n\n /** Edit modal size */\n editModalSize?: 'sm' | 'md' | 'lg' | 'xl';\n\n /** API endpoint pattern for updates (e.g., \"/api/products/:id\") */\n editUrl?: string;\n\n /** API endpoint pattern for deletions (e.g., \"/api/products/:id\") */\n deleteUrl?: string;\n}\n\nconst props = withDefaults(defineProps<Props<T>>(), {\n itemName: \"item\",\n loading: false,\n busy: false,\n loadingText: \"Loading...\",\n error: null,\n pagination: () => ({\n current_page: 1,\n per_page: 15,\n total: 0,\n from: 0,\n to: 0,\n }),\n showPagination: true,\n showPerPageSelector: true,\n perPageOptions: () => [10, 25, 50, 100],\n currentPage: 1,\n // perPage: 10, // Don't set default - let internalPerPage handle it\n striped: true,\n hover: true,\n responsive: true,\n fluid: false,\n containerClass: \"py-5\",\n columnSize: \"12\",\n editModalSize: \"lg\",\n});\n\nconst emit = defineEmits<{\n pageChange: [page: number];\n sortChange: [sort: { key: string; order: 'asc' | 'desc' }];\n filterChange: [filters: Record<string, string>];\n perPageChange: [perPage: number];\n rowClicked: [item: T, index: number, event: MouseEvent];\n rowUpdated: [item: T, response: any];\n editError: [item: T, error: any];\n rowDeleted: [item: T, response: any];\n deleteError: [item: T, error: any];\n 'update:sortBy': [sortBy: BTableSortBy[]];\n 'update:filters': [filters: Record<string, string>];\n 'update:perPage': [perPage: number];\n 'update:busy': [busy: boolean];\n}>();\n\n// Mode detection\nconst isProviderMode = computed(() => !!props.provider || !!props.apiUrl);\nconst isInertiaMode = computed(() => !props.provider && !props.apiUrl && !!props.items);\nconst hasInertiaUrl = computed(() => !!props.inertiaUrl);\n\n// Computed for effective busy state (provider mode uses 'busy', inertia uses 'loading')\nconst effectiveBusy = computed(() => isProviderMode.value ? props.busy : props.loading);\n\n// Internal sortBy state for auto modes\nconst internalSortBy = ref<BTableSortBy[]>([]);\n\n// Computed effective sortBy (use external if provided, otherwise internal)\nconst effectiveSortBy = computed(() => props.sortBy !== undefined ? props.sortBy : internalSortBy.value);\n\n// Internal filters state for auto modes\nconst internalFilters = ref<Record<string, string>>({});\n\n// Computed effective filters (use external if provided, otherwise internal)\nconst effectiveFilters = computed(() => props.filters !== undefined ? props.filters : internalFilters.value);\n\n// Computed: check if any field has filtering enabled\nconst hasFilters = computed(() => props.fields.some(field => field.filter !== false && field.filter !== undefined));\n\n// Computed: check if any filters are currently active\nconst hasActiveFilters = computed(() => {\n const filters = effectiveFilters.value;\n return Object.keys(filters).some(key => filters[key] && filters[key].trim() !== '');\n});\n\n// API mode pagination metadata (extracted from responses)\nconst apiPaginationMeta = ref<PaginationData | null>(null);\n\n// API mode filter values (extracted from responses)\nconst apiFilterValues = ref<Record<string, string[]>>({});\n\n// Computed: Get effective filter options for a field\nconst getFieldFilterOptions = (field: TableField): FilterOption[] => {\n // If field has static filterOptions, use those\n if (field.filterOptions && field.filterOptions.length > 0) {\n return field.filterOptions;\n }\n\n // Otherwise, check for server-provided values\n const serverValues = props.filterValues?.[field.key] || apiFilterValues.value[field.key];\n\n if (serverValues && serverValues.length > 0) {\n // Convert string array to FilterOption array\n return serverValues.map(value => ({ value, text: value }));\n }\n\n return [];\n};\n\n// LocalStorage key for perPage preference\nconst perPageStorageKey = computed(() => {\n const url = props.inertiaUrl || props.apiUrl || 'table';\n return `dxtable-perpage-${url.replace(/\\//g, '-')}`;\n});\n\n// Load perPage from localStorage or use default\nconst getInitialPerPage = (): number => {\n if (typeof window === 'undefined') return props.perPage || 10;\n\n try {\n const saved = localStorage.getItem(perPageStorageKey.value);\n if (saved !== null) {\n const parsed = parseInt(saved, 10);\n // Validate it's in the allowed options\n if (props.perPageOptions.includes(parsed)) {\n return parsed;\n }\n }\n } catch (error) {\n console.error('Error loading perPage from localStorage:', error);\n }\n\n return props.perPage || 10;\n};\n\n// Internal perPage state\nconst internalPerPage = ref<number>(getInitialPerPage());\n\n// Watch pagination.per_page and sync with internalPerPage (after Inertia navigation)\nwatch(() => props.pagination?.per_page, (newPerPage) => {\n if (newPerPage && newPerPage !== internalPerPage.value) {\n internalPerPage.value = newPerPage;\n // Also update localStorage to stay in sync\n if (typeof window !== 'undefined') {\n try {\n localStorage.setItem(perPageStorageKey.value, newPerPage.toString());\n } catch (error) {\n console.error('Error saving perPage from watcher:', error);\n }\n }\n }\n});\n\n// Watch for external filter changes (when filters prop is controlled by parent)\nwatch(() => props.filters, (newFilters, oldFilters) => {\n // Only trigger refresh if filters prop is being used (not internal state)\n if (props.filters === undefined) return;\n\n // Only refresh if filters actually changed\n if (JSON.stringify(newFilters) === JSON.stringify(oldFilters)) return;\n\n // Refresh data for the new filters\n if (isProviderMode.value) {\n refresh();\n } else if (hasInertiaUrl.value && isInertiaMode.value && router) {\n // Inertia mode - trigger navigation with new filters\n const currentSort = effectiveSortBy.value[0] || { key: 'created_at', order: 'desc' };\n router.get(\n props.inertiaUrl!,\n {\n page: 1, // Reset to first page when filters change\n sortBy: currentSort.key,\n sortOrder: currentSort.order,\n filters: newFilters,\n perPage: effectivePerPage.value,\n },\n { preserveState: true }\n );\n }\n}, { deep: true });\n\n// Watch apiUrl changes to reset filter cache (prevents stale dropdown options)\nwatch(() => props.apiUrl, (newUrl, oldUrl) => {\n if (newUrl !== oldUrl && isProviderMode.value) {\n // Clear cached filter values and pagination when API endpoint changes\n apiFilterValues.value = {};\n apiPaginationMeta.value = null;\n apiError.value = null;\n // Next provider call will request fresh filter values\n }\n});\n\n// Computed effective perPage (use external if provided, otherwise internal)\nconst effectivePerPage = computed(() => {\n // If external perPage prop is provided, use it\n if (props.perPage !== undefined) {\n return props.perPage;\n }\n\n // For Inertia mode, prefer pagination.per_page (actual server value)\n if (isInertiaMode.value && props.pagination?.per_page) {\n return props.pagination.per_page;\n }\n\n // For API mode, use internal state (which gets updated immediately on change)\n // Don't use apiPaginationMeta.per_page here because it's from the previous request\n // and causes the select to flicker when user changes it\n return internalPerPage.value;\n});\n\n// Computed: determine if per-page selector should be shown\n// Hide it when total items is less than the smallest page size option\nconst shouldShowPerPageSelector = computed(() => {\n if (!props.showPerPageSelector) return false;\n\n const smallestOption = Math.min(...props.perPageOptions);\n const total = isInertiaMode.value\n ? props.pagination?.total || 0\n : apiPaginationMeta.value?.total || 0;\n\n return total >= smallestOption;\n});\n\n// Detect which fields need server filter values\nconst fieldsNeedingFilterValues = computed(() => {\n return props.fields\n .filter(field => field.filter === 'select' && (!field.filterOptions || field.filterOptions.length === 0))\n .map(field => field.key);\n});\n\n// Error state for API mode\nconst apiError = ref<string | null>(null);\n\n// Internal provider function when apiUrl is provided\nconst internalProvider: BTableProvider<T> = async (context: Readonly<BTableProviderContext>) => {\n if (!props.apiUrl) return [];\n\n try {\n // Clear previous error\n apiError.value = null;\n\n const sort = context.sortBy && context.sortBy.length > 0\n ? context.sortBy[0]\n : { key: 'created_at', order: 'desc' };\n\n // Build request parameters\n const params: any = {\n page: context.currentPage,\n perPage: effectivePerPage.value,\n sortBy: sort.key,\n sortOrder: sort.order || 'desc',\n filters: effectiveFilters.value,\n };\n\n // Request filter values on initial load\n if (context.currentPage === 1 && fieldsNeedingFilterValues.value.length > 0 && Object.keys(apiFilterValues.value).length === 0) {\n params.filterValues = fieldsNeedingFilterValues.value;\n }\n\n const response = await axios.get(props.apiUrl, { params });\n\n // Extract and store pagination metadata for display\n if (response.data.pagination) {\n apiPaginationMeta.value = response.data.pagination;\n }\n\n // Extract and store filter values\n if (response.data.filterValues) {\n apiFilterValues.value = { ...apiFilterValues.value, ...response.data.filterValues };\n }\n\n return response.data.data;\n } catch (error: any) {\n console.error('Failed to fetch data from API:', error);\n\n // Surface error to user\n const errorMessage = error?.response?.data?.message\n || error?.message\n || 'Failed to load data. Please try again.';\n apiError.value = errorMessage;\n\n return [];\n }\n};\n\n// Computed effective provider (use external if provided, otherwise internal)\nconst effectiveProvider = computed(() => props.provider || (props.apiUrl ? internalProvider : undefined));\n\nconst handlePageChange = (page: number) => {\n // If inertiaUrl provided, handle navigation automatically\n if (hasInertiaUrl.value && isInertiaMode.value && router) {\n const currentSort = effectiveSortBy.value[0] || { key: 'created_at', order: 'desc' };\n router.get(\n props.inertiaUrl!,\n {\n page,\n sortBy: currentSort.key,\n sortOrder: currentSort.order,\n filters: effectiveFilters.value,\n perPage: effectivePerPage.value,\n },\n { preserveState: true }\n );\n }\n\n // Always emit event for backward compatibility\n emit(\"pageChange\", page);\n};\n\n// API mode page change - update BTable's internal current page\nconst apiCurrentPage = ref(1);\n\nconst handleApiPageChange = (page: number) => {\n apiCurrentPage.value = page;\n // BTable should automatically call provider when currentPage prop changes\n};\n\nconst handleSortChange = (sortBy: BTableSortBy[]) => {\n // ENFORCE single-column sorting: keep only the last clicked column\n // BTable may send multiple columns despite multisort: false\n let normalizedSortBy = sortBy;\n if (sortBy && sortBy.length > 1) {\n // Find the column with an order (most recently clicked)\n const withOrder = sortBy.filter(s => s.order);\n if (withOrder.length > 0) {\n // Use the last one with an order\n normalizedSortBy = [withOrder[withOrder.length - 1]];\n } else {\n // Just use the last item\n normalizedSortBy = [sortBy[sortBy.length - 1]];\n }\n }\n\n // Update internal state if not using external sortBy\n if (props.sortBy === undefined) {\n internalSortBy.value = normalizedSortBy;\n }\n\n // Emit v-model update with normalized value\n emit('update:sortBy', normalizedSortBy);\n\n // Handle Inertia navigation automatically if URL provided\n if (hasInertiaUrl.value && isInertiaMode.value && router) {\n // Build params based on whether sort is active\n const params: any = {\n page: props.pagination?.current_page || 1,\n filters: effectiveFilters.value,\n perPage: effectivePerPage.value,\n };\n\n // Add sort params only if sorting is active\n if (normalizedSortBy && normalizedSortBy.length > 0 && normalizedSortBy[0].key) {\n params.sortBy = normalizedSortBy[0].key;\n params.sortOrder = normalizedSortBy[0].order || 'asc';\n }\n\n router.get(props.inertiaUrl!, params, { preserveState: true });\n }\n\n // Emit simplified sortChange event for backward compatibility\n if (isInertiaMode.value && normalizedSortBy && normalizedSortBy.length > 0 && normalizedSortBy[0].key) {\n emit('sortChange', {\n key: normalizedSortBy[0].key,\n order: normalizedSortBy[0].order || 'asc'\n });\n }\n};\n\nconst handleBusyChange = (busy: boolean) => {\n emit('update:busy', busy);\n};\n\n// Debounce timer for filter changes\nlet filterDebounceTimer: ReturnType<typeof setTimeout> | null = null;\n\nconst handlePerPageChange = (newPerPage: number | string) => {\n const perPageNum = typeof newPerPage === 'string' ? parseInt(newPerPage, 10) : newPerPage;\n\n // Update internal state if not using external perPage\n if (props.perPage === undefined) {\n internalPerPage.value = perPageNum;\n }\n\n // Save to localStorage\n if (typeof window !== 'undefined') {\n try {\n localStorage.setItem(perPageStorageKey.value, perPageNum.toString());\n } catch (error) {\n console.error('Error saving perPage to localStorage:', error);\n }\n }\n\n // Emit v-model update\n emit('update:perPage', perPageNum);\n\n // Handle navigation automatically\n if (hasInertiaUrl.value && isInertiaMode.value && router) {\n const currentSort = effectiveSortBy.value[0] || { key: 'created_at', order: 'desc' };\n router.get(\n props.inertiaUrl!,\n {\n page: 1, // Reset to first page when changing perPage\n sortBy: currentSort.key,\n sortOrder: currentSort.order,\n filters: effectiveFilters.value,\n perPage: perPageNum,\n },\n { preserveState: true }\n );\n }\n\n // For API mode, trigger provider refresh\n if (isProviderMode.value && tableRef.value) {\n refresh();\n }\n\n // Emit event for backward compatibility\n emit('perPageChange', perPageNum);\n};\n\nconst handleFilterChange = (fieldKey: string, value: string) => {\n // Update filters\n const newFilters = { ...effectiveFilters.value, [fieldKey]: value };\n\n // Remove empty filters\n if (!value || value.trim() === '') {\n delete newFilters[fieldKey];\n }\n\n // Update internal state if not using external filters\n if (props.filters === undefined) {\n internalFilters.value = newFilters;\n }\n\n // Emit v-model update\n emit('update:filters', newFilters);\n\n // Debounce server requests for text inputs\n if (filterDebounceTimer) {\n clearTimeout(filterDebounceTimer);\n }\n\n filterDebounceTimer = setTimeout(() => {\n // Handle Inertia navigation automatically if URL provided\n if (hasInertiaUrl.value && isInertiaMode.value && router) {\n const currentSort = effectiveSortBy.value[0] || { key: 'created_at', order: 'desc' };\n router.get(\n props.inertiaUrl!,\n {\n page: 1, // Reset to first page when filtering\n sortBy: currentSort.key,\n sortOrder: currentSort.order,\n filters: newFilters,\n },\n { preserveState: true }\n );\n }\n\n // For API mode, provider will be called automatically by BTable\n // when we trigger a refresh\n if (isProviderMode.value && tableRef.value) {\n refresh();\n }\n\n // Emit filterChange event for backward compatibility\n emit('filterChange', newFilters);\n }, 300); // 300ms debounce\n};\n\n// Reference to the DTable component (for exposing refresh method)\nconst tableRef = ref<InstanceType<typeof DTable> | null>(null);\n\n// Expose refresh method for both modes\nconst refresh = () => {\n // Provider/API mode: call refresh on BTable\n if (isProviderMode.value && tableRef.value && typeof (tableRef.value as any).refresh === 'function') {\n (tableRef.value as any).refresh();\n }\n // Inertia mode: reload current page to refresh data\n else if (isInertiaMode.value && props.inertiaUrl && router) {\n router.reload();\n }\n};\n\n// Edit Modal State\nconst showEditModal = ref(false);\nconst selectedItem = ref<T | null>(null);\nconst editForm = ref<any>(null);\nconst activeTabIndex = ref(0);\n\n// Toast (may not be available in test environment)\nlet createToast: ((obj: any) => any) | undefined;\ntry {\n const toast = useToast();\n createToast = toast.create;\n} catch (e) {\n // BApp not available (test environment or missing setup)\n createToast = undefined;\n}\n\n// Computed: Visible tabs (respects when condition)\nconst visibleTabs = computed(() => {\n if (!props.editTabs || props.editTabs.length === 0) return [];\n\n return props.editTabs.filter(tab => {\n if (tab.when === undefined) return true;\n return typeof tab.when === 'function'\n ? tab.when(selectedItem.value)\n : tab.when;\n });\n});\n\n// Helper: Get field by key\nconst getField = (key: string) => {\n return props.editFields?.find(f => f.key === key) || { key };\n};\n\n// Computed: Singular and plural item names\nconst singularItemName = computed(() => props.itemName);\nconst pluralItemName = computed(() => pluralize(props.itemName));\n\n// Computed: Modal title (supports function)\nconst computedModalTitle = computed(() => {\n if (!selectedItem.value) {\n return `Edit ${singularItemName.value}`;\n }\n if (!props.editModalTitle) {\n return `Edit ${singularItemName.value}`;\n }\n return typeof props.editModalTitle === 'function'\n ? props.editModalTitle(selectedItem.value)\n : props.editModalTitle;\n});\n\n// Helper: Get current sort state for a field\nconst getFieldSortState = (fieldKey: string) => {\n const currentSort = effectiveSortBy.value.find(s => s.key === fieldKey);\n return currentSort?.order || null;\n};\n\n// Handle row click for editing\nconst handleRowClick = (item: T, index: number, event: MouseEvent) => {\n // Always emit rowClicked for custom handling\n emit('rowClicked', item, index, event);\n\n // If editFields provided, open edit modal\n if (props.editFields && props.editFields.length > 0) {\n // Set selected item FIRST before any rendering\n selectedItem.value = item;\n\n // Reset to first tab\n activeTabIndex.value = 0;\n\n // Initialize form with item data\n if (!editForm.value) {\n // Dynamically import useForm to avoid circular dependency\n import('../../composables/useForm').then(({ useForm }) => {\n const formData: Record<string, any> = {};\n props.editFields!.forEach(field => {\n formData[field.key] = (item as any)[field.key] ?? field.default ?? '';\n });\n editForm.value = useForm(formData);\n\n // Open modal\n showEditModal.value = true;\n });\n } else {\n // Update existing form\n props.editFields.forEach(field => {\n editForm.value.data[field.key] = (item as any)[field.key] ?? field.default ?? '';\n });\n editForm.value.clearErrors();\n\n // Open modal\n showEditModal.value = true;\n }\n }\n};\n\n// Handle save from edit modal\nconst handleEditSave = async () => {\n if (!editForm.value || !selectedItem.value) return;\n\n try {\n // If editUrl provided, handle API call internally\n if (props.editUrl) {\n const itemId = (selectedItem.value as any).id;\n const url = props.editUrl.replace(':id', itemId);\n\n await editForm.value.put(url, {\n onSuccess: (data: any) => {\n // Show success toast\n createToast?.({\n title: 'Success',\n body: `${singularItemName.value} updated successfully`,\n variant: 'success',\n modelValue: 3000, // Auto-dismiss after 3 seconds\n });\n\n emit('rowUpdated', selectedItem.value as T, data);\n showEditModal.value = false;\n selectedItem.value = null;\n\n // Refresh table data to show updated values\n refresh();\n },\n onError: (errors: any) => {\n // Show error toast\n createToast?.({\n title: 'Error',\n body: 'Failed to update. Please check the form for errors.',\n variant: 'danger',\n modelValue: 5000, // Auto-dismiss after 5 seconds\n });\n\n // Switch to tab containing error field\n if (props.editTabs && props.editTabs.length > 0) {\n const errorKeys = Object.keys(errors);\n const tabIndex = visibleTabs.value.findIndex(tab =>\n tab.fieldKeys.some(key => errorKeys.includes(key))\n );\n if (tabIndex !== -1) {\n activeTabIndex.value = tabIndex;\n }\n }\n\n emit('editError', selectedItem.value as T, errors);\n }\n });\n } else {\n // No editUrl - just emit event for custom handling\n emit('rowUpdated', selectedItem.value as T, editForm.value.data);\n showEditModal.value = false;\n selectedItem.value = null;\n }\n } catch (error) {\n emit('editError', selectedItem.value as T, error);\n }\n};\n\n// Handle edit modal close\nconst handleEditCancel = () => {\n showEditModal.value = false;\n selectedItem.value = null;\n activeTabIndex.value = 0; // Reset tab for next time\n if (editForm.value) {\n editForm.value.clearErrors();\n }\n};\n\n// Handle delete from edit modal\nconst handleDelete = async () => {\n if (!editForm.value || !selectedItem.value || !props.deleteUrl) return;\n\n // Confirm deletion\n const itemName = (selectedItem.value as any).name || (selectedItem.value as any).title || singularItemName.value;\n const confirmed = window.confirm(`Are you sure you want to delete \"${itemName}\"? This action cannot be undone.`);\n\n if (!confirmed) return;\n\n try {\n const itemId = (selectedItem.value as any).id;\n const url = props.deleteUrl.replace(':id', itemId);\n\n await editForm.value.delete(url, {\n onSuccess: (data: any) => {\n // Show success toast\n createToast?.({\n title: 'Success',\n body: `${singularItemName.value} deleted successfully`,\n variant: 'success',\n modelValue: 3000, // Auto-dismiss after 3 seconds\n });\n\n emit('rowDeleted', selectedItem.value as T, data);\n showEditModal.value = false;\n selectedItem.value = null;\n\n // Refresh table data to remove deleted item\n refresh();\n },\n onError: (error: any) => {\n // Extract error message from server response\n const errorData = error?.response?.data ?? error?.data ?? error;\n const errorMessage = errorData?.message ?? 'Failed to delete. Please try again.';\n\n // Show error toast with server message\n createToast?.({\n title: 'Error',\n body: errorMessage,\n variant: 'danger',\n modelValue: 5000, // Auto-dismiss after 5 seconds\n });\n\n emit('deleteError', selectedItem.value as T, error);\n }\n });\n } catch (error) {\n emit('deleteError', selectedItem.value as T, error);\n }\n};\n\ndefineExpose({\n refresh,\n});\n</script>\n\n<style scoped>\n/* Add pointer cursor to table rows when editFields is enabled */\n:deep(tbody tr) {\n cursor: v-bind('editFields && editFields.length > 0 ? \"pointer\" : \"default\"');\n}\n\n:deep(tbody tr:hover) {\n background-color: v-bind('editFields && editFields.length > 0 ? \"var(--bs-table-hover-bg)\" : \"inherit\"');\n}\n\n/* Improve pagination button sizing to match form controls */\n:deep(.pagination) {\n margin-bottom: 0;\n}\n\n:deep(.pagination-sm .page-link) {\n min-width: 2.25rem;\n height: auto;\n}\n\n/* Make disabled pagination buttons more subtle */\n:deep(.pagination .page-item.disabled .page-link) {\n background-color: transparent;\n border-color: transparent;\n opacity: 0.3;\n}\n</style>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BAccordion component.\n * Easily toggle content visibility with collapsible accordions.\n */\n<script setup lang=\"ts\">\nimport { BAccordion } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BAccordion v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BAccordion>\n</template>\n","<script setup lang=\"ts\">\nimport { BAccordionItem } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BAccordionItem v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BAccordionItem>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BAvatar component.\n * Display user profiles as pictures, icons, or short text.\n */\n<script setup lang=\"ts\">\nimport { BAvatar } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BAvatar v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BAvatar>\n</template>\n","<script setup lang=\"ts\">\nimport { BBadge } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BBadge v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BBadge>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BBreadcrumb component.\n * Indicate the current page's location within a navigational hierarchy.\n */\n<script setup lang=\"ts\">\nimport { BBreadcrumb } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BBreadcrumb v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BBreadcrumb>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BButtonGroup component.\n * Group a series of buttons on a single line or stack them vertically.\n */\n<script setup lang=\"ts\">\nimport { BButtonGroup } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BButtonGroup v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BButtonGroup>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BButtonToolbar component.\n * Group button groups and input groups together on a single line.\n */\n<script setup lang=\"ts\">\nimport { BButtonToolbar } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BButtonToolbar v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BButtonToolbar>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BCarousel component.\n * Slideshow component for cycling through images or content.\n */\n<script setup lang=\"ts\">\nimport { BCarousel } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BCarousel v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BCarousel>\n</template>\n","<script setup lang=\"ts\">\nimport { BCarouselSlide } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BCarouselSlide v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BCarouselSlide>\n</template>\n","<script setup lang=\"ts\">\n/**\n * DCollapse - A type-safe wrapper around Bootstrap Vue Next's BCollapse component\n *\n * Toggles the visibility of content with smooth collapse/expand animations.\n *\n * @component\n * @example\n * import { ref } from 'vue'\n * import { DButton, DCollapse } from '@omnitend/dashboard-for-laravel'\n *\n * const visible = ref(false)\n *\n * // In template:\n * // <DButton @click=\"visible = !visible\">Toggle Collapse</DButton>\n * // <DCollapse v-model=\"visible\">\n * // <div class=\"card card-body\">Your collapsible content here</div>\n * // </DCollapse>\n */\nimport { BCollapse } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BCollapse v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BCollapse>\n</template>\n","<script setup lang=\"ts\">\nimport { BDropdownDivider } from \"bootstrap-vue-next\";\n</script>\n\n<template>\n <BDropdownDivider v-bind=\"$attrs\" />\n</template>\n","<script setup lang=\"ts\">\nimport { BDropdownItem } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BDropdownItem v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BDropdownItem>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BForm component.\n * Form component with support for inline styles and validation states.\n */\n<script setup lang=\"ts\">\nimport { BForm } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BForm v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BForm>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BFormRadio component.\n * Custom radio button input with accessibility markup.\n */\n<script setup lang=\"ts\">\nimport { BFormRadio } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BFormRadio v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BFormRadio>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BFormSpinbutton component.\n * Number input with increment/decrement buttons.\n */\n<script setup lang=\"ts\">\nimport { BFormSpinbutton } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BFormSpinbutton v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BFormSpinbutton>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BFormTags component.\n * Lightweight custom tagged input with duplicate detection and validation.\n */\n<script setup lang=\"ts\">\nimport { BFormTags } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BFormTags v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BFormTags>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BImg component.\n * Responsive image component with optional lazy loading and fluid sizing.\n */\n<script setup lang=\"ts\">\nimport { BImg } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BImg v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BImg>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BInputGroup component.\n * Easily extend form controls by adding text, buttons, or button groups.\n */\n<script setup lang=\"ts\">\nimport { BInputGroup } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BInputGroup v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BInputGroup>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BLink component.\n * Enhanced link component with router support and accessibility features.\n */\n<script setup lang=\"ts\">\nimport { BLink } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BLink v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BLink>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BListGroup component.\n * Flexible component for displaying a series of content items.\n */\n<script setup lang=\"ts\">\nimport { BListGroup } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BListGroup v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BListGroup>\n</template>\n","<script setup lang=\"ts\">\nimport { BListGroupItem } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BListGroupItem v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BListGroupItem>\n</template>\n","<script setup lang=\"ts\">\nimport { BNav } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BNav v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BNav>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BNavbar component.\n * Responsive navigation header with support for branding, navigation, and more.\n */\n<script setup lang=\"ts\">\nimport { BNavbar } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BNavbar v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BNavbar>\n</template>\n","<script setup lang=\"ts\">\nimport { BNavbarBrand } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BNavbarBrand v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BNavbarBrand>\n</template>\n","<script setup lang=\"ts\">\nimport { BNavbarNav } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BNavbarNav v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BNavbarNav>\n</template>\n","<script setup lang=\"ts\">\nimport { BNavbarToggle } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BNavbarToggle v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BNavbarToggle>\n</template>\n","<script setup lang=\"ts\">\nimport { BNavItem } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BNavItem v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BNavItem>\n</template>\n","<template>\n <BOffcanvas v-bind=\"$attrs\">\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BOffcanvas>\n</template>\n\n<script setup lang=\"ts\">\nimport { BOffcanvas } from \"bootstrap-vue-next\";\n</script>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BOverlay component.\n * Overlay component for indicating loading states or blocking content.\n */\n<script setup lang=\"ts\">\nimport { BOverlay } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BOverlay v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BOverlay>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BPlaceholder component.\n * Loading placeholder component to indicate content is still loading.\n */\n<script setup lang=\"ts\">\nimport { BPlaceholder } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BPlaceholder v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BPlaceholder>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BPopover component.\n * Overlay component for displaying rich content in a popup.\n */\n<script setup lang=\"ts\">\nimport { BPopover } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BPopover v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BPopover>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BProgress component.\n * Progress bar for displaying simple or complex progress indicators.\n */\n<script setup lang=\"ts\">\nimport { BProgress } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BProgress v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BProgress>\n</template>\n","<script setup lang=\"ts\">\nimport { BToast } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BToast v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BToast>\n</template>\n","<script setup lang=\"ts\">\nimport { BToastOrchestrator } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BToastOrchestrator v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BToastOrchestrator>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BTooltip component.\n * Display helpful tooltips when hovering over elements.\n */\n<script setup lang=\"ts\">\nimport { BTooltip } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BTooltip v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BTooltip>\n</template>\n","export interface ApiError {\n message: string;\n errors: Record<string, string[]>;\n status: number;\n}\n\nexport interface ApiResponse<T = unknown> {\n data: T;\n response: Response;\n}\n\ninterface RequestOptions extends Omit<RequestInit, \"body\"> {\n headers?: Record<string, string>;\n body?: BodyInit | null; // allow FormData/Blob/etc.\n}\n\nclass ApiClient {\n private baseURL = \"\";\n private defaultHeaders: Record<string, string> = {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\", // removed automatically for FormData\n \"X-Requested-With\": \"XMLHttpRequest\",\n };\n\n setBaseURL(url: string) {\n this.baseURL = url.replace(/\\/+$/, \"\");\n }\n setDefaultHeader(key: string, value: string) {\n this.defaultHeaders[key] = value;\n }\n\n private getCsrfToken(): string {\n if (typeof document === 'undefined') {\n return \"\";\n }\n const el = document.querySelector('meta[name=\"csrf-token\"]');\n return el?.getAttribute(\"content\") ?? \"\";\n }\n\n private toQuery(params: Record<string, unknown> = {}): string {\n const search = new URLSearchParams();\n const append = (k: string, v: unknown) => {\n if (v === undefined || v === null) return;\n if (Array.isArray(v)) v.forEach((x) => append(`${k}[]`, x));\n else if (typeof v === \"object\") {\n for (const [ck, cv] of Object.entries(\n v as Record<string, unknown>,\n )) {\n append(`${k}[${ck}]`, cv);\n }\n } else {\n search.append(k, String(v));\n }\n };\n for (const [k, v] of Object.entries(params)) append(k, v);\n const qs = search.toString();\n return qs ? `?${qs}` : \"\";\n }\n\n private handleError(response: Response, data: any): never {\n const error: ApiError = {\n message: data?.message ?? \"An error occurred\",\n errors: (data?.errors as Record<string, string[]>) ?? {},\n status: response.status,\n };\n switch (response.status) {\n case 422:\n error.message = data?.message ?? \"Validation failed\";\n break;\n case 401:\n error.message = \"Unauthenticated. Please log in.\";\n break;\n case 403:\n error.message = \"Forbidden. You do not have permission.\";\n break;\n case 404:\n error.message = \"Resource not found.\";\n break;\n case 419:\n error.message = \"Page expired. Please refresh and try again.\";\n break;\n case 500:\n error.message = \"Server error. Please try again later.\";\n break;\n }\n throw error;\n }\n\n async request<T = unknown>(\n url: string,\n options: RequestOptions = {},\n ): Promise<ApiResponse<T>> {\n const isFormData =\n typeof FormData !== \"undefined\" && options.body instanceof FormData;\n\n const headers: Record<string, string> = {\n ...this.defaultHeaders,\n ...(isFormData\n ? {}\n : { \"Content-Type\": this.defaultHeaders[\"Content-Type\"] }),\n \"X-CSRF-TOKEN\": this.getCsrfToken(),\n ...options.headers,\n };\n\n // Let fetch set the multipart boundary if FormData\n if (isFormData) delete headers[\"Content-Type\"];\n\n const config: RequestOptions = {\n credentials: \"same-origin\",\n ...options,\n headers,\n };\n\n const resp = await fetch(this.baseURL + url, config);\n\n // Fast-path for 204/205\n if (resp.status === 204 || resp.status === 205) {\n if (!resp.ok) {\n this.handleError(resp, null);\n }\n\n return { data: undefined as unknown as T, response: resp };\n }\n\n const ctype = resp.headers.get(\"Content-Type\") || \"\";\n const isJson = /\\bjson\\b/i.test(ctype);\n const parsed = isJson\n ? await resp.json().catch(() => ({}))\n : await resp.text();\n\n if (!resp.ok) {\n this.handleError(resp, parsed);\n }\n\n return { data: parsed as T, response: resp };\n }\n\n async get<T = unknown>(\n url: string,\n params: Record<string, unknown> = {},\n options: Omit<RequestOptions, \"method\"> = {},\n ) {\n const full = `${url}${this.toQuery(params)}`;\n return this.request<T>(full, { ...options, method: \"GET\" });\n }\n\n async post<T = unknown>(\n url: string,\n data: any = {},\n options: Omit<RequestOptions, \"method\" | \"body\"> = {},\n ) {\n const body = data instanceof FormData ? data : JSON.stringify(data);\n return this.request<T>(url, { ...options, method: \"POST\", body });\n }\n\n async put<T = unknown>(\n url: string,\n data: any = {},\n options: Omit<RequestOptions, \"method\" | \"body\"> = {},\n ) {\n const body = data instanceof FormData ? data : JSON.stringify(data);\n return this.request<T>(url, { ...options, method: \"PUT\", body });\n }\n\n async patch<T = unknown>(\n url: string,\n data: any = {},\n options: Omit<RequestOptions, \"method\" | \"body\"> = {},\n ) {\n const body = data instanceof FormData ? data : JSON.stringify(data);\n return this.request<T>(url, { ...options, method: \"PATCH\", body });\n }\n\n async delete<T = unknown>(\n url: string,\n options: Omit<RequestOptions, \"method\"> = {},\n ) {\n return this.request<T>(url, { ...options, method: \"DELETE\" });\n }\n}\n\nexport const api = new ApiClient();\n","import {\n reactive,\n computed,\n type ComputedRef,\n type WritableComputedRef,\n} from \"vue\";\nimport { api, type ApiError } from \"../utils/api\";\n\nexport interface ValidationErrors {\n [key: string]: string[];\n}\n\nexport type FormError = ApiError;\n\nexport interface FormSubmitOptions<TPayload = unknown, TResponse = unknown> {\n onSuccess?: (data: TResponse) => void;\n onError?: (error: FormError) => void;\n onBefore?: (payload: TPayload) => void;\n onFinish?: () => void;\n transform?: (payload: TPayload) => unknown;\n preserveErrors?: boolean;\n resetOnSuccess?: boolean;\n signal?: AbortSignal;\n}\n\nexport interface FormState<TData extends Record<string, any>> {\n data: TData; // viewed as TData at the API boundary\n errors: ValidationErrors;\n processing: boolean;\n message: string;\n touched: Record<string, boolean>;\n recentlySuccessful: boolean;\n shouldShowMessage: boolean;\n}\n\nexport interface UseFormReturn<TData extends Record<string, any>>\n extends FormState<TData> {\n hasErrors: ComputedRef<boolean>;\n hasError: (field: keyof TData | string) => boolean;\n getError: (field: keyof TData | string) => string;\n getState: (field: keyof TData | string) => true | false | null;\n setErrors: (errors?: ValidationErrors) => void;\n setMessage: (message: string) => void;\n clearErrors: () => void;\n clearError: (field: keyof TData | string) => void;\n reset: (only?: Array<keyof TData>) => void;\n field: <K extends keyof TData>(key: K) => WritableComputedRef<TData[K]>;\n fields: { [K in keyof TData]: WritableComputedRef<TData[K]> };\n submit: <TResponse = unknown>(\n method: \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\",\n url: string,\n options?: FormSubmitOptions<TData, TResponse>,\n ) => Promise<TResponse>;\n post: <TResponse = unknown>(\n url: string,\n options?: FormSubmitOptions<TData, TResponse>,\n ) => Promise<TResponse>;\n put: <TResponse = unknown>(\n url: string,\n options?: FormSubmitOptions<TData, TResponse>,\n ) => Promise<TResponse>;\n patch: <TResponse = unknown>(\n url: string,\n options?: FormSubmitOptions<TData, TResponse>,\n ) => Promise<TResponse>;\n delete: <TResponse = unknown>(\n url: string,\n options?: FormSubmitOptions<TData, TResponse>,\n ) => Promise<TResponse>;\n}\n\n// ————————————————— helpers\n\nconst deepClone = <T>(v: T): T =>\n typeof structuredClone === \"function\"\n ? structuredClone(v)\n : JSON.parse(JSON.stringify(v));\n\nfunction errorsFromLaravel(error: any): {\n errors: ValidationErrors;\n message: string;\n} {\n const data = error?.response?.data ?? error?.data ?? error;\n return {\n errors: (data?.errors as ValidationErrors) ?? {},\n message: (data?.message as string) ?? \"An error occurred\",\n };\n}\n\n// ————————————————— composable\n\nexport function useForm<TData extends Record<string, any>>(\n initialData = {} as TData,\n): UseFormReturn<TData> {\n const snapshot = deepClone(initialData);\n\n const state = reactive<FormState<TData>>({\n data: deepClone(snapshot) as TData,\n errors: {},\n processing: false,\n message: \"\",\n touched: {},\n recentlySuccessful: false,\n shouldShowMessage: false,\n });\n\n const hasErrors = computed(() =>\n Object.keys(state.errors).some(\n (k) => (state.errors[k]?.length ?? 0) > 0,\n ),\n );\n\n const hasError = (field: keyof TData | string): boolean => {\n return (state.errors[field as string]?.length ?? 0) > 0;\n };\n\n const getError = (field: keyof TData | string): string => {\n return state.errors[field as string]?.[0] ?? \"\";\n };\n\n const getState = (field: keyof TData | string): false | null =>\n hasError(field) ? false : null;\n\n const setErrors = (errors: ValidationErrors = {}): void => {\n for (const k of Object.keys(state.errors)) delete state.errors[k];\n Object.assign(state.errors, errors);\n };\n\n const setMessage = (message: string): void => {\n state.message = message;\n };\n\n const clearErrors = (): void => {\n for (const key of Object.keys(state.errors)) delete state.errors[key];\n state.message = \"\";\n };\n\n const clearError = (field: keyof TData | string): void => {\n const key = field as string;\n if (state.errors[key]) delete state.errors[key];\n };\n\n const reset = (only?: Array<keyof TData>): void => {\n if (only?.length) {\n for (const k of only) {\n (state.data as any)[k as string] = deepClone(\n (snapshot as any)[k as string],\n );\n }\n } else {\n // operate on a Record view to satisfy TS\n const dataRecord = state.data as Record<string, unknown>;\n for (const k of Object.keys(dataRecord))\n delete (dataRecord as any)[k];\n Object.assign(\n state.data as Record<string, unknown>,\n deepClone(snapshot),\n );\n }\n clearErrors();\n state.touched = {};\n state.processing = false;\n };\n\n // v-model for a single field\n const field = <K extends keyof TData>(\n key: K,\n ): WritableComputedRef<TData[K]> =>\n computed<TData[K]>({\n get: () => (state.data as TData)[key],\n set: (value) => {\n (state.data as TData)[key] = value;\n state.touched[key as string] = true;\n if (state.errors[key as string])\n delete state.errors[key as string];\n },\n });\n\n // property-style fields map (non-Proxy, uses snapshot keys)\n const fields = {} as UseFormReturn<TData>[\"fields\"];\n (Object.keys(snapshot) as Array<keyof TData>).forEach((k) => {\n Object.defineProperty(fields, k, {\n get: () => field(k),\n enumerable: true,\n });\n });\n\n const submit = async <TResponse = unknown>(\n method: \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\",\n url: string,\n options: FormSubmitOptions<TData, TResponse> = {},\n ): Promise<TResponse> => {\n state.processing = true;\n if (!options.preserveErrors) clearErrors();\n\n const payloadRaw = (\n options.transform\n ? options.transform(state.data as TData)\n : (state.data as TData)\n ) as any;\n\n options.onBefore?.(state.data as TData);\n\n try {\n const { data } =\n method === \"get\"\n ? await api.get<TResponse>(\n url,\n payloadRaw as Record<string, unknown>,\n { signal: options?.signal },\n )\n : await api[method]<TResponse>(url, payloadRaw, {\n signal: options?.signal,\n });\n\n state.recentlySuccessful = true;\n setTimeout(() => (state.recentlySuccessful = false), 1500);\n\n options.onSuccess?.(data);\n if (options.resetOnSuccess) {\n reset();\n }\n return data;\n } catch (err) {\n const { errors, message } = errorsFromLaravel(err);\n setErrors(errors);\n setMessage(message);\n options.onError?.(err as FormError);\n throw err;\n } finally {\n state.processing = false;\n options.onFinish?.();\n }\n };\n\n const post = <R = unknown>(url: string, o?: FormSubmitOptions<TData, R>) =>\n submit<R>(\"post\", url, o);\n const put = <R = unknown>(url: string, o?: FormSubmitOptions<TData, R>) =>\n submit<R>(\"put\", url, o);\n const patch = <R = unknown>(url: string, o?: FormSubmitOptions<TData, R>) =>\n submit<R>(\"patch\", url, o);\n const del = <R = unknown>(url: string, o?: FormSubmitOptions<TData, R>) =>\n submit<R>(\"delete\", url, o);\n\n const shouldShowMessage = computed(() => {\n return (\n state.message !== \"\" &&\n state.processing === false &&\n hasErrors.value === false\n );\n });\n\n return Object.assign(state, {\n hasErrors,\n hasError,\n getError,\n getState,\n setErrors,\n setMessage,\n clearErrors,\n clearError,\n reset,\n field,\n fields,\n submit,\n post,\n put,\n patch,\n delete: del,\n shouldShowMessage,\n }) as UseFormReturn<TData>;\n}\n","import { useForm, type UseFormReturn } from \"./useForm\";\nimport type { FieldDefinition, FieldType } from \"../types\";\n\n/**\n * Extended field definition that includes default value\n */\nexport interface FormFieldDefinition<TValue = any> extends FieldDefinition {\n /** Default/initial value for the field */\n default: TValue;\n}\n\n/**\n * Infer data type from field definitions\n */\ntype InferFormData<TFields extends readonly FormFieldDefinition[]> = {\n [K in TFields[number] as K[\"key\"]]: K[\"default\"];\n};\n\n/**\n * Return type for defineForm\n */\nexport interface DefineFormReturn<TData extends Record<string, any>> {\n form: UseFormReturn<TData>;\n fields: FieldDefinition[];\n}\n\n/**\n * Helper to get default value for a field type\n */\nfunction getDefaultValueForType(type: FieldType): any {\n switch (type) {\n case \"checkbox\":\n return false;\n case \"number\":\n return 0;\n case \"select\":\n case \"radio\":\n return \"\";\n default:\n return \"\";\n }\n}\n\n/**\n * Define a form with type-safe field definitions.\n * Reduces duplication by inferring initial values from field definitions.\n *\n * @example\n * const { form, fields } = defineForm([\n * { key: \"email\", type: \"email\", label: \"Email\", default: \"\", required: true },\n * { key: \"password\", type: \"password\", label: \"Password\", default: \"\", required: true },\n * { key: \"remember\", type: \"checkbox\", label: \"Remember me\", default: false },\n * ] as const);\n */\nexport function defineForm<const TFields extends readonly FormFieldDefinition[]>(\n fieldDefinitions: TFields,\n): DefineFormReturn<InferFormData<TFields>> {\n type FormData = InferFormData<TFields>;\n\n // Extract initial data from field definitions\n const initialData = fieldDefinitions.reduce(\n (acc, field) => {\n acc[field.key] = field.default ?? getDefaultValueForType(field.type);\n return acc;\n },\n {} as Record<string, any>,\n ) as FormData;\n\n // Create form instance\n const form = useForm<FormData>(initialData);\n\n // Strip 'default' property from fields for OForm compatibility\n const fields: FieldDefinition[] = fieldDefinitions.map(\n ({ default: _default, ...field }) => field,\n );\n\n return { form, fields };\n}\n"],"names":["genericBvnPrefix","withBvnPrefix","value","suffix","suffixWithTrail","createBvnInjectionKey","name","createBvnRegistryInjectionKey","carouselInjectionKey","tabsInjectionKey","progressInjectionKey","listGroupInjectionKey","avatarGroupInjectionKey","accordionInjectionKey","checkboxGroupKey","radioGroupKey","collapseInjectionKey","showHideRegistryKey","dropdownInjectionKey","navbarInjectionKey","rtlRegistryKey","breadcrumbGlobalIndexKey","breadcrumbRegistryKey","modalManagerKey","defaultsKey","inputGroupKey","buttonGroupKey","orchestratorRegistryKey","formGroupKey","formSelectKey","tableKeyboardNavigationKey","useBreadcrumb","id","parentData","inject","resolvedId","computed","v","toValue","watch","newValue","tryOnScopeDispose","fn","getCurrentScope","onScopeDispose","localProvidedStateMap","injectLocal","args","_a","key","instance","getCurrentInstance","hasInjectionContext","createSharedComposable","composable","subscribers","state","scope","dispose","effectScope","makeDestructurable","obj","arr","clone","index","isClient","notNullish","val","toString","isObject","timestamp","noop","isIOS","getIsIOS","_b","toRef","toRef$1","r","readonly","customRef","ref","createFilterWrapper","filter","wrapper","resolve","reject","bypassFilter","invoke","throttleFilter","lastExec","timer","isLeading","lastRejector","lastValue","ms","trailing","leading","rejectOnCancel","isRef","clear","_invoke","duration","elapsed","pausableFilter","extendFilter","options","initialState","isActive","pause","resume","eventFilter","increaseWithUnit","target","delta","unit","result","pxValue","px","toArray","cacheStringFunction","cache","str","camelizeRE","camelize","_","c","getLifeCycleTarget","useThrottleFn","watchWithFilter","source","cb","watchOptions","watchPausable","syncRef","left","right","flush","deep","immediate","direction","transform","watchers","transformLTR","transformRTL","w","tryOnMounted","sync","onMounted","nextTick","useIntervalFn","interval","immediateCallback","shallowRef","clean","intervalValue","stopWatch","shallowReadonly","useToNumber","method","radix","nanToZero","resolved","watchImmediate","createReusableTemplate","inheritAttrs","render","define","defineComponent","slots","reuse","props","attrs","vnode","keysToCamelKebabCase","newObj","defaultWindow","unrefElement","elRef","plain","useEventListener","cleanups","cleanup","register","el","event","listener","firstParamTargets","test","e","unref","raw_targets","raw_events","raw_listeners","raw_options","optionsClone","stop","_iOSWorkaround","onClickOutside","handler","window2","ignore","capture","detectIframe","controls","listenerOptions","shouldListen","shouldIgnore","target2","hasMultipleRoots","vm","checkMultipleRoots","children","child","isProcessingClick","useMounted","isMounted","useSupported","callback","useMutationObserver","mutationOptions","observer","isSupported","targets","items","targets2","takeRecords","onElementRemoval","document2","stopFn","cleanupAndUpdate","watchEffect","mutationsList","mutation","node","stopHandle","createKeyPredicate","keyFilter","onKeyStroke","eventName","passive","dedupe","predicate","useRafFn","fpsLimit","once","intervalLimit","previousFrameTimestamp","rafId","loop","timestamp2","ssrWidthSymbol","useSSRWidth","ssrWidth","useMediaQuery","query","ssrSupport","mediaQuery","matches","queryStrings","queryString","not","minWidth","maxWidth","res","breakpointsBootstrapV5","useBreakpoints","breakpoints","getValue","k","strategy","mounted","match","size","greaterOrEqual","smallerOrEqual","shortcutMethods","shortcuts","current","points","a","b","bps","_global","globalKey","handlers","getHandlers","getSSRHandler","fallback","usePreferredDark","guessSerializerType","rawInit","StorageSerializers","customStorageEventName","useStorage","defaults","storage","listenToStorageChanges","writeDefaults","mergeDefaults","shallow","onError","initOnMounted","data","keyComputed","_a2","type","serializer","pauseWatch","resumeWatch","write","update","firstMounted","onStorageEvent","ev","onStorageCustomEvent","updateFromCustomEvent","dispatchWriteEvent","oldValue","payload","serialized","read","rawValue","CSS_DISABLE_TRANS","useColorMode","selector","attribute","initialValue","storageKey","storageRef","emitAuto","disableTransition","modes","preferredDark","system","store","updateHTMLAttrs","selector2","attribute2","classesToAdd","classesToRemove","attributeToChange","i","style","defaultOnChanged","mode","onChanged","auto","useElementHover","delayEnter","delayLeave","triggerOnRemoval","isHovered","toggle","entering","delay","useIntersectionObserver","root","rootMargin","threshold","_target","root2","useFocus","focusVisible","preventScroll","innerFocused","targetElement","focused","resolveElement","UseMouseBuiltinExtractors","useMouse","touch","resetOnTouchEnds","scroll","_prevMouseEvent","_prevScrollX","_prevScrollY","x","y","sourceType","extractor","mouseHandler","touchHandler","scrollHandler","pos","reset","mouseHandlerWrapper","touchHandlerWrapper","scrollHandlerWrapper","checkOverflowScroll","ele","parent","preventDefault","rawEvent","elInitialOverflow","useScrollLock","element","isLocked","stopTouchMoveListener","initialOverflow","lock","unlock","useSwipe","onSwipe","onSwipeEnd","onSwipeStart","coordsStart","reactive","coordsEnd","diffX","diffY","max","abs","isThresholdExceeded","isSwiping","getTouchEventCoords","updateCoordsStart","updateCoordsEnd","onTouchEnd","stops","s","useTimestamp","exposeControls","offset","ts","opts","persist","useColorMode$1","buildPromise","_id","resolveFunc","promise","refWithMethods","trigger","currentItem","itemIndex","item","updatedItem","vRecord","prev","_newOrchestratorRegistry","useOrchestratorRegistry","orchestratorRegistry","newOrchestratorRegistry","provide","componentsWithExternalPath","componentNames","directivesWithExternalPath","directiveNames","composablesWithExternalPath","composableNames","_sfc_main","h","Teleport","candidateSelectors","candidateSelector","NoElement","getRootNode","_element$getRootNode","isInert","isInert2","lookUp","_node$getAttribute","inertAtt","inert","isContentEditable","_node$getAttribute2","attValue","getCandidates","includeContainer","candidates","getCandidatesIteratively","getCandidatesIteratively2","elements","elementsToCheck","assigned","content","nestedCandidates","validCandidate","shadowRoot","validShadowRoot","_nestedCandidates","hasTabIndex","getTabIndex","getSortOrderTabIndex","isScope","tabIndex","sortOrderedTabbables","isInput","isHiddenInput","isDetailsWithSummary","getCheckedRadio","nodes","form","isTabbableRadio","radioScope","queryRadios","radioSet","err","checked","isRadio","isNonTabbableRadio","isNodeAttached","_nodeRoot","nodeRoot","nodeRootHost","attached","_nodeRootHost","_nodeRootHost$ownerDo","_node$ownerDocument","_nodeRoot2","_nodeRootHost2","_nodeRootHost2$ownerD","isZeroArea","_node$getBoundingClie","width","height","isHidden","_ref","displayCheck","getShadowRoot","isDirectSummary","nodeUnderDetails","originalNode","parentElement","rootNode","isDisabledFromFieldset","parentNode","isNodeMatchingSelectorFocusable","isNodeMatchingSelectorTabbable","isValidShadowRootTabbable","shadowHostNode","sortByOrder","sortByOrder2","regularTabbables","orderedTabbables","candidateTabindex","acc","sortable","tabbable","container","focusable","isTabbable","focusableCandidateSelector","isFocusable","_arrayLikeToArray","n","_arrayWithoutHoles","_defineProperty","t","_toPropertyKey","_iterableToArray","_nonIterableSpread","ownKeys","o","r2","_objectSpread2","_toConsumableArray","_unsupportedIterableToArray","_toPrimitive","activeFocusTraps","trapStack","trap","activeTrap","trapIndex","isSelectableInput","isEscapeEvent","isTabEvent","isKeyForward","isKeyBackward","valueOrHandler","_len","params","_key","getActualTarget","internalTrapStack","createFocusTrap","userOptions","doc","config","getOption","configOverrideOptions","optionName","configOptionName","findContainerIndex","composedPath","tabbableNodes","getNodeForOption","_ref2","_ref2$hasFallback","hasFallback","_ref2$params","optionValue","getInitialFocusNode","firstTabbableGroup","firstTabbableNode","updateTabbableNodes","focusableNodes","lastTabbableNode","firstDomTabbableNode","lastDomTabbableNode","posTabIndexesFound","forward","nodeIdx","group","g","_getActiveElement","activeElement","_tryFocus","getReturnFocusNode","previousActiveElement","findNextNavNode","_ref3","_ref3$isBackward","isBackward","destinationNode","containerIndex","containerGroup","startOfGroupIndex","_ref4","destinationGroupIndex","destinationGroup","lastOfGroupIndex","_ref5","_destinationGroupIndex","_destinationGroup","checkPointerDown","checkFocusIn","targetContained","nextNode","navAcrossContainers","mruContainerIdx","mruTabIdx","checkKeyNav","checkTabKey","checkEscapeKey","checkClick","addListeners","removeListeners","checkDomRemoval","mutations","isFocusedNodeRemoved","removedNodes","mutationObserver","updateObservedNodes","activateOptions","onActivate","onPostActivate","checkCanFocusTrap","finishActivation","deactivateOptions","onDeactivate","onPostDeactivate","checkCanReturnFocus","returnFocus","finishDeactivation","pauseOptions","unpauseOptions","containerElements","elementsAsArray","paused","onPause","onPostPause","onUnpause","onPostUnpause","useFocusTrap","focusTrapOptions","hasFocus","isPaused","activate","deactivate","unpause","_targets","_el","els","useActivatedFocusTrap","noTrap","fallbackFocus","focus","focusTrapOpts","resolvedIsActive","resolvedNoTrap","checkNeedsFallback","tabbableElements","needsFallback","useScrollLock$1","prevousRightPadding","lockRegistry","useSafeScrollLock","isOpen","bodyScroll","resolvedIsOpen","useId","inverseBodyScrollingValue","modelVal","bodyVal","scrollBarGap","hasLocked","myLocked","hasLockedAfter","onUnmounted","getActiveElement","excludes","attemptFocus","isActiveElement","el2","isEmptySlot","isVisible","bcr","sortSlotElementsByPosition","position","getModalZIndex","raw","parsed","injectSelf","provides","message","getCurrentInstance$1","toKebabCase","mergeDeep","arrayFn","out","sourceProperty","targetProperty","propIsDefined","prop","internalUseDefaults","componentDefaults","_props","propValue","_d","_c","_subcomponentDefaults","subComponents","provideSubDefaults","injected","useDefaults","useColorVariantClasses","_hoisted_1","__props","useSlots","colorClasses","computedClasses","hasLabelSlot","_ctx","_cache","openBlock","createBlock","resolveDynamicComponent","normalizeClass","withCtx","createElementBlock","renderSlot","createTextVNode","toDisplayString","createCommentVNode","omit","objToPluck","keysToPluck","pick","memo","get","path","defaultValue","segments","set","initial","value2","toInt","def","_set","nextIsNum","cloned","deepEqual","keysA","keysB","CODE_DOWN","CODE_END","CODE_HOME","CODE_LEFT","CODE_PAGEDOWN","CODE_PAGEUP","CODE_RIGHT","CODE_UP","RX_UNDERSCORE","RX_LOWER_UPPER","RX_NUMBER","RX_START_SPACE_WORD","RX_FIRST_START_SPACE_WORD","RX_SPACE_SPLIT","RX_HASH","RX_HASH_ID","RX_REGEXP_REPLACE","RX_SPACES","startCase","$1","$2","titleCase","upperFirst","trim","escapeRegExp","escapeRegExpChars","toPascalCase","isLink","useBLinkHelper","pickProps","pickPropsResolved","resolvedProps","computedLink","computedLinkProps","useBLinkTagResolver","to","disabled","href","replace","routerComponentName","router","route","_h","_g","_f","_e","RouterLinkComponent","useLink","resolvedTo","resolvedReplace","routerName","tag","isRouterLink","isNuxtLink","isNonStandardTag","isOfRouterType","linkProps","_link","link","computedHref","toFallback","resolvedHref","stableTo","hash","useLinkClasses","defaultActiveClass","__emit","emit","useAttrs","collapseData","navbarData","linkValueClasses","computedLinkClasses","clicked","computedRel","computedTabIndex","nuxtSpecificProps","computedSpecificProps","mergeProps","mergeModels","useTemplateRef","pressedValue","useModel","isToggle","isButton","isBLink","nonStandardTag","computedAriaDisabled","variantIsLinkType","variantIsLinkTypeSubset","computedTag","_sfc_main$1","Fragment","createVNode","_sfc_main$2","$event","genId","useId$1","BvEvent","eventType","eventInit","__publicField","setter","BvTriggerableEvent","BvCarouselEvent","from","fadeBaseTransitionProps","useShowHide","modelValue","computedId","noAction","initialShow","showRef","renderRef","renderBackdropRef","isCountdown","show","hide","localNoAnimation","localTemporaryHide","computedNoAnimation","buildTriggerableEvent","backdropVisible","backdropReady","newval","showTimeout","hideTimeout","_Resolve","_Promise","_resolveOnHide","resolveOnHide","leaveTrigger","noTriggerEmit","event2","trapActive","isLeaving","throttleHide","throttleShow","triggerToggle","triggerRegistry","registerTrigger","checkVisibility","unregisterTrigger","idx","appRegistry","newId","oldId","onBeforeUnmount","lazyLoadCompleted","markLazyLoadCompleted","onBeforeEnter","onEnter","onAfterEnter","onBeforeLeave","onLeave","onAfterLeave","contentShowing","transitionFunctions","getElement","NO_FADE_PROPS","FADE_PROPS","useFadeTransition","fade","getTableFieldHeadLabel","field","btableSimpleProps","btableLiteProps","getDataLabelAttr","label","modalOpenClassName","useSharedModalStack","modalManagerPlugin","modal","useModalManager","modalOpen","pushRegistry","pushStack","removeStack","stack","countStack","currentModal","setInStack","_hoisted_2","fallbackClassSelector","__expose","fallbackFocusElement","okButton","cancelButton","closeButton","pickFocusItem","transitionProps","backdropTransitionProps","hasHeaderCloseSlot","modalDialogClasses","bodyColorClasses","bodyClasses","headerColorClasses","headerClasses","headerCloseAttrs","footerColorClasses","footerClasses","titleClasses","disableCancel","disableOk","activePosition","activeModalCount","stackWithoutSelf","sharedClasses","defaultModalDialogZIndex","computedZIndexNumber","computedZIndex","computedZIndexBackdrop","sharedSlots","Transition","withDirectives","createElementVNode","withModifiers","normalizeProps","guardReactiveProps","_sfc_main$3","vShow","normalizeStyle","useModal","_isOrchestratorInstalled","create","_self","_newValue","previousIndex","previous","markRaw","isReadonly","lastStack","registry","stackModal","modal2","hideAll","findBModal","component","modalComponent","useModalController","useScrollspy","cont","tar","resolvedContent","resolvedTarget","updateList","contentQuery","targetQuery","manual","watchChanges","list","nodeList","isScrollingDown","previousScrollTop","scrollRoot","iobs","entries","scrollTop","entry","foundParent","parentDropdown","parentNav","_i","_j","_k","mobs","scrollIntoView","smooth","numberPrecision","numberValue","numberMax","parentMaxNumber","computedLabel","computedWidth","useCountdown","length","timestampOpts","resolvedLength","restart","myPause","myResume","remainingTime","useCountdownHover","modelValueIgnoresHover","noHoverPause","noResumeOnHoverLeave","actions","isHovering","onMouseEnter","onMouseLeave","countdownLength","remainingMs","isToastVisible","_component_BButton","_sfc_main$4","posDefault","useToast","_isToastAppend","toast","useToastController","useToggle","findComponent","myComponent","sides","alignments","placements","side","min","round","floor","createCoords","oppositeSideMap","oppositeAlignmentMap","clamp","start","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","yAxisSides","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getSideList","isStart","getOppositeAxisPlacements","flipAlignment","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","computeCoordsFromPlacement","reference","floating","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","computePosition$1","middleware","platform2","validMiddleware","statefulPlacement","middlewareData","resetCount","nextX","nextY","detectOverflow","_await$platform$isEle","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","offsetParent","offsetScale","elementClientRect","arrow$2","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","max2","center","offset2","shouldAddOffset","alignmentOffset","getPlacementList","autoAlignment","allowedPlacements","autoPlacement$1","_middlewareData$autoP","_middlewareData$autoP2","_placementsThatFitOnE","crossAxis","detectOverflowOptions","placements$1","overflow","currentIndex","currentPlacement","alignmentSides","currentOverflows","allOverflows","nextPlacement","placementsSortedByMostSpace","d","alignment2","resetPlacement","flip$1","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","initialSideAxis","isBasePlacement","fallbackPlacements","hasFallbackAxisSideDirection","placements2","overflows","overflowsData","sides2","side2","_middlewareData$flip2","_overflowsData$filter","nextIndex","_overflowsData$filter2","placement2","currentSideAxis","overflow2","getSideOffsets","isAnySideFullyClipped","hide$1","offsets","getBoundingRect","minX","minY","maxX","maxY","getRectsByLine","sortedRects","groups","prevRect","inline$1","nativeClientRects","clientRects","getBoundingClientRect2","firstRect","lastRect","isTop","top2","bottom2","left2","right2","width2","height2","isLeftSide","maxRight","minLeft","measureRects","top","bottom","resetRects","originSides","convertValueToCoords","mainAxisMulti","crossAxisMulti","mainAxis","offset$1","_middlewareData$offse","diffCoords","shift$1","limiter","x2","y2","mainAxisCoord","crossAxisCoord","minSide","maxSide","min2","limitedCoords","size$1","_state$middlewareData","_state$middlewareData2","apply","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","hasWindow","getNodeName","isNode","getWindow","getDocumentElement","isElement","isHTMLElement","isShadowRoot","invalidOverflowDisplayValues","isOverflowElement","overflowX","overflowY","display","getComputedStyle","tableElements","isTableElement","topLayerSelectors","isTopLayer","transformProperties","willChangeValues","containValues","isContainingBlock","elementOrCss","webkit","isWebKit","css","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","lastTraversableNodeNames","getNodeScroll","getNearestOverflowAncestor","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","getCssDimensions","hasOffset","offsetWidth","offsetHeight","shouldFallback","unwrapElement$1","getScale","domElement","$","noOffsets","getVisualOffsets","shouldAddVisualOffsets","isFixed","floatingOffsetParent","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","getWindowScrollBarX","leftScroll","getHTMLOffset","documentElement","ignoreScrollbarX","htmlRect","convertOffsetParentRelativeRectToViewportRelativeRect","topLayer","isOffsetParentAnElement","offsetRect","htmlOffset","getClientRects","getDocumentRect","html","body","getViewportRect","visualViewport","visualViewportBased","absoluteOrFixed","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","getClippingElementAncestors","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingRect","clippingAncestors","firstClippingAncestor","clippingRect","accRect","getDimensions","getRectRelativeToOffsetParent","setLeftRTLScrollbarOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","getElementRects","getOffsetParentFn","getDimensionsFn","floatingDimensions","isRTL","platform","rectsAreEqual","observeMove","onMove","io","timeoutId","_io","refresh","skip","elementRectForRootMargin","insetTop","insetRight","insetBottom","insetLeft","isFirstUpdate","handleObserve","ratio","autoUpdate","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","referenceEl","ancestors","cleanupIo","reobserveFrame","resizeObserver","firstEntry","_resizeObserver","frameId","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","autoPlacement","shift","flip","arrow$1","inline","computePosition","mergedOptions","platformWithCache","isComponentPublicInstance","unwrapElement","arrow","getDPR","roundByDPR","dpr","useFloating","whileElementsMountedOption","openOption","_toValue","middlewareOption","placementOption","_toValue2","strategyOption","_toValue3","transformOption","_toValue4","referenceElement","floatingElement","isPositioned","floatingStyles","initialStyles","xVal","yVal","whileElementsMountedCleanup","open","attach","useMouse$1","hidden","arrow$12","placeholder","triggerElement","isAutoPlacement","offsetNumber","isBoundary","isRootBoundary","sizeStyles","floatingMiddleware","off","placementRef","arrowStyle","hide$12","resolveBootstrapPlacement","isElementAndTriggerOutside","triggerRect","elementRect","margin","offsetX","offsetY","triggerIsOutside","isOutside","looptimeout","tryHide","localToggle","localShow","computedTriggers","bind2","elem","toValue$1","triggers","unbind2","_placement","resolveBootstrapCaret","resolveActiveStatus","values","resolveContent","missingBindingValue","title","resolveDirectiveProps","binding","bind","div","unbind","input","computedProps","interactive","noninteractive","rest","popover","createSlots","usePopover","tooltip2","popover2","usePopoverController","useRegistry","_newShowHideRegistry","valuesStack","removeRegistry","rtlInitial","localeInitial","isRtl","locale","existingValue","useProvideDefaults","injectedDefaults","mergedDefaults","_defaults","merged","deepMerge","isPlainObject","visited","sourceValue","targetValue","setTheme","vBColorMode","getDirectiveUid","initDirectiveInstance","propertyName","uid","elWithProps","getDirectiveInstance","hasBindingChanged","newBinding","updateBindingCache","cleanupDirectiveInstance","findProvides","findComponentParent","walk","result2","createFloatingDirective","componentDefaultsKey","buildProps","defaultsMap","text","props2","getTargets","modifiers","arg","localValue","handleUpdate","showHideMap","oldTargets","targetId","showHide","count","maxAttempts","delayMs","vBToggle","vBPopover","elWithScrollspy","existingInstance","vBScrollspy","vBTooltip","flattenFragments","inCollapse","_hoisted_1$1","processedAttrs","wrapperClass","collapseAttrs","openInParent","toggleVisible","slotToggle","itemElementsArray","updateItemElementsArray","itemElements","sortAccordionItems","accordionItems","next","areEqual","index2","newValue2","idxes","free","isAlertVisible","positionClasses","setEventOk","ComputedPositionClasses","positionsActive","classes","renderList","TransitionGroup","_component","comp","slot","placementClasses","useNumberishToStyle","resolvedUnit","useRadiusElementClasses","resolveRadiusElement","strValue","_hoisted_3","_hoisted_4","FONT_SIZE_SCALE","localSrc","SIZES","BADGE_FONT_SIZE_SCALE","hasDefaultSlot","hasBadgeSlot","showBadge","computedSquare","computedSize","computedSizeIsLiteralSize","computedVariant","computedRounded","computedRoundedTop","computedRoundedBottom","computedRoundedStart","computedRoundedEnd","radiusElementClasses","badgeText","badgeImplicitlyDot","badgeStyle","textFontStyle","fontSize","marginStyle","overlapScale","onImgError","overlapNumber","paddingStyle","computedAriaCurrent","breadcrumb","breadcrumbItemObjects","localItems","activeDefined","IS_BROWSER","parseEventOptions","passiveEventSupported","options2","eventOn","eventOff","eventOnOff","on","eventParams","stopEvent","propagation","immediatePropagation","toolbarRef","getFocusableElements","isDisabled","focusFirst","firstEnabled","focusLast","lastEnabled","focusPrev","focusNext","handleKeyNav","code","shiftKey","heightNumber","widthNumber","computedSrcset","computedSizes","computedDimentions","computedBlankImgSrc","makeBlankImgSrc","computedAlignment","color","_sfc_main$7","baseAlignmentClasses","computedImgProps","_sfc_main$8","_sfc_main$6","_sfc_main$5","hasTitleSlot","hasSubtitleSlot","hasHeaderSlot","hasFooterSlot","imgAttr","ReusableImg","cardTypeClass","getSlotElements","filterBy","slot2","_hoisted_5","_hoisted_6","buttonOwnership","slideValues","touchThresholdNumber","slideInterval","slid","intervalNumber","isTransitioning","rideStarted","relatedTarget","previousModelValue","enterClasses","leaveClasses","isRiding","slides","buildBvCarouselEvent","goToValue","onKeydown","lengthX","resumeRiding","onClickPrev","onClickNext","slide","hasText","hasCaption","hasContent","computedContentClasses","getClasses","propPrefix","classPrefix","classList","useAlignment","align","rowColsClasses","inInputGroup","inButtonGroup","computedOffset","offsetToNumber","button","splitButton","computedMenuClasses","keynav","active","localOffset","inButtonGroupAttributes","buttonClasses","onButtonClick","onSplitClick","onClickInside","dividerAttrs","_hoisted_1$2","formAttrs","headerId","headerRole","headerAttrs","dropdownItemAttrs","dropdownData","buttonAttrs","textAttrs","formSelectContext","isSelected","useFormSelect","isComplex","option","normalizeOption","propsValue","normalizeOptions","normalizedOptions","normalizedOptsWrapper","opt","computedShow","useAriaInvalid","ariaInvalid","resolvedAriaInvalid","resolvedState","useStateClass","resolvedValue","resolvedItems","getInputClasses","stateClass","getLabelClasses","getGroupAttr","computedAriaInvalid","getGroupClasses","indeterminate","inputAttrs","newVal","computedRequired","isButtonGroup","classesObject","wrapperClasses","computedWrapperClasses","inputClasses","computedInputClasses","labelClasses","vModelCheckbox","computedName","computedAttrs","computedAccept","onChange","onDrop","suffixPropName","INPUTS","LabelContentTemplate","ContentTemplate","computedState","childId","computedLabelFor","breakPoints","getColProps","prefix","breakpoint","contentColProps","labelAlignClasses","labelColProps","isHorizontal","onLegendClick","tagName","inputs","inp","labelId","labelTag","invalidFeedbackId","validFeedbackId","descriptionId","isFieldset","debounceFilter","maxTimer","_clearTimeout","timer2","lastInvoker","maxDuration","useDebounceFn","normalizeInput","modelModifiers","useFormInput","forceUpdateKey","debounceNumber","debounceMaxWaitNumber","formGroupData","internalUpdateModelValue","updateModelValue","force","_formatValue","evt","onActivated","formattedValue","nextModel","needsForceUpdate","onInput","onBlur","blur","isRange","isColor","vModelRadio","_hoisted_7","_hoisted_8","isIconFull","displayValue","isIconHalf","diff","hoverValue","clampedStars","displayValueText","decimalValue","roundedValue","factor","iconColors","selectRating","starIndex","selectedRating","clearRating","selectSizeNumber","computedSelectSize","vModelSelect","useRtl","rtlPlugin","defaultValues","KEY_CODES","computedSpinClasses","$_autoDelayTimer","$_autoRepeatTimer","$_keyIsDown","stepNumber","computedStep","minNumber","computedMin","maxNumber","computedMax","step","repeatDelayNumber","computedDelay","repeatIntervalNumber","computedInterval","repeatThresholdNumber","computedThreshold","repeatStepMultiplierNumber","computedStepMultiplier","computedPrecision","computedMultiplier","valueAsFixed","globalLocale","computedLocale","locales","defaultFormatter","computedFormatter","stepValue","multiplier","wrap","stepUp","stepDown","altKey","ctrlKey","metaKey","resetTimers","handleStepRepeat","stepper","isMouseEvent","onMouseup","setMouseup","buttons","incrementSvgAttrs","decrementSvgAttrs","sharedButtonAttrs","sharedSvgAttrs","incrementAttrs","decrementAttrs","tagText","taglabelId","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","limitNumber","_inputId","tags","inputValue","shouldRemoveOnDelete","lastRemovedTag","validTags","invalidTags","duplicateTags","isDuplicate","isInvalid","isLimitReached","disableAddButton","onFocusin","onFocus","addTag","removeTag","separator","separatorRegExp","newTags","validTags2","newTag","tagIndex","useTextareaResize","maxRows","noAutoShrink","rows","maxRowsNumber","rowsNumber","computedMinRows","computedMaxRows","computedRows","handleHeightChange","lineHeight","border","minHeight","oldHeight","scrollHeight","contentRows","rows2","newHeight","computedStyles","resizeStyles","hasAppend","hasPrepend","horizontal","tagComputed","isAction","localAttrs","tools","renderOrchestrator","submitted","liClasses","dropdown","useContainerClasses","computedRole","containerClass","showHideData","collapseExpanded","toggleExpand","onClick","isOpenByBreakpoint","focusElement","smallerOrEqualToBreakpoint","showBackdrop","headerCloseClasses","positionStyles","fadeTransitions","computedAriaBusy","spinnerAttrs","overlayStyles","overlayClasses","blurClasses","blurStyles","spinWrapperStyles","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","pageElements","perPageNumber","totalRowsNumber","modelValueNumber","perPageSanitized","totalRowsSanitized","numberOfPages","computedFill","justifyAlign","isActivePage","pageNumber","computedModelValue","num","checkDisabled","firstDisabled","prevDisabled","lastDisabled","nextDisabled","getBaseButtonProps","page","classVal","slotName","textValue","isSmHidden","pageClick","getButtonProps","getPageButtonProps","firstButtonProps","prevButtonProps","nextButtonProps","lastButtonProps","ellipsisProps","pagination","clickEvent","hasAttr","hasClass","getButtons","btn","noFirstButton","noLastButton","showFirstButton","showLastButton","firstPage","lastPage","halfLimit","pages","p","pages2","limit","noEllipsis","defaultStickyHeaderHeight","computedTableAttrs","computedSticky","stickyIsValid","isResponsive","responsiveStyles","responsiveClasses","widthString","colsString","defaultAttrs","footerComponent","columnsToNumber","rowsToNumber","computedHeaderColumns","computedFooterColumns","headerColumnsNumber","footerColumnsNumber","columnsNumber","computedHeaderColumnsLength","computedFooterColumnsLength","j","__","l","formatItem","fieldKey","formatter","isTableItem","isTableField","_hoisted_1$4","_hoisted_2$3","_hoisted_1$3","_hoisted_2$2","localScope","TABLE_TAG_NAMES","filterEvent","labelFor","_hoisted_2$1","keyboardNavigation","generateDetailsItem","detailsMap","computedTableClasses","computedFields","firstItem","f","label2","computedFieldsTotal","showComputedHeaders","footerProps","calculatedFooterSlot","itemAttributes","attr","callThAttr","headerClicked","isFooter","toggleRowDetails","tr","prevValue","getFieldColumnClasses","getFieldRowClasses","handleMiddleClick","callTbodyTrAttrs","getRowClasses","generateTableRowId","primaryKeyValue","getCellComponent","shouldHeaderBeFocusable","shouldRowBeFocusable","handleHeaderKeydown","handleRowKeydown","handleRowNavigation","targetIndex","computedSimpleProps","_sfc_main$9","ascPath","descPath","currentSort","resolvedDirection","fieldInitialDirection","lastSorted","sort","iconPath","iconClass","iconOpacity","dynamicCellSlots","dynamicFootSlots","sortByModel","busyModel","selectedItemsModel","selectedItemsToSet","selectedItemsSetUtilities","pkey","selectedKey","itemKey","selected","internalItems","currentPageNumber","isFilterableTable","usesProvider","isSelecting","isSortable","keyboardRowNavigation","keyboardHeaderNavigation","sb","sortValue","tableClasses","getBusyRowClasses","getFormatter","getStringValue","ob","sortField","fieldByKey","map","computedItems","sortByItems","mapItem","newItem","filterItem","filterField","mappedItems","order","comparer","comparison","emptySlotScope","computedDisplayItems","handleRowSelection","row","shiftClicked","ctrlClicked","metaClicked","lastSelectedItem","lastSelectedIndex","selectStartIndex","selectEndIndex","handleFieldSorting","fieldSortable","getLastSortDirection","getInitialSortDirection","resolveOrder","must","originalValue","updatedValue","handleMultiSort","tmp","handleSingleSort","abortController","callItemsProvider","signal","response","error","debouncedCallItemsProvider","providerPropsWatch","oldVal","inNoProvider","noProvideWhenPaging","noProvideWhenFiltering","noProvideWhenSorting","oldFilter","exposedSelectableUtilities","boundBTableLiteEmits","computedLiteProps","activeModel","localId","internalId","computedButtonId","lazyRenderCompleted","tabAttrs","updateTab","computedLazy","computedActive","showSlot","shown","activeIndex","activeId","ReusableEmptyTab","tabsInternal","tabElementsArray","isChildActive","initialIds","updateTabElementsArray","tabElements","tab","sortTabs","tabs","_activeIndex","_tab","initialized","updateInitialActiveIndex","updateInitialActiveId","updateInitialIndexAndId","showEmpty","navTabsClasses","handleClick","minIdx","maxIdx","isReverting","tabEvent","oldIndex","registerTab","idx2","unregisterTab","withKeys","_sfc_main$a","_sfc_main$b","_sfc_main$c","_sfc_main$d","_sfc_main$e","_sfc_main$f","_sfc_main$g","_sfc_main$h","_sfc_main$i","_sfc_main$j","_sfc_main$k","_sfc_main$l","_sfc_main$m","_sfc_main$n","_sfc_main$o","_sfc_main$p","_sfc_main$q","_sfc_main$r","_sfc_main$s","_sfc_main$t","_sfc_main$u","_sfc_main$v","_sfc_main$w","_sfc_main$x","_sfc_main$y","_sfc_main$z","_sfc_main$A","_sfc_main$B","_sfc_main$C","_sfc_main$D","_sfc_main$E","_sfc_main$F","_sfc_main$G","_sfc_main$H","_sfc_main$I","_sfc_main$J","_sfc_main$K","_sfc_main$L","_sfc_main$M","_sfc_main$N","_sfc_main$O","_sfc_main$P","_sfc_main$Q","_sfc_main$R","_sfc_main$S","_sfc_main$T","_sfc_main$U","_sfc_main$V","_sfc_main$W","_sfc_main$X","_sfc_main$Y","_sfc_main$Z","_sfc_main$_","_sfc_main$$","_sfc_main$10","_sfc_main$11","_sfc_main$12","_sfc_main$13","_sfc_main$14","_sfc_main$15","_sfc_main$16","_sfc_main$17","_sfc_main$18","_sfc_main$19","_sfc_main$1a","_sfc_main$1b","_sfc_main$1c","_sfc_main$1d","_sfc_main$1e","_sfc_main$1f","_sfc_main$1g","_sfc_main$1h","_sfc_main$1i","_sfc_main$1j","_sfc_main$1k","_sfc_main$1l","_sfc_main$1m","_sfc_main$1n","_sfc_main$1o","_sfc_main$1p","_sfc_main$1q","_sfc_main$1r","_sfc_main$1s","_sfc_main$1t","_sfc_main$1u","_sfc_main$1v","_sfc_main$1w","_sfc_main$1x","_sfc_main$1y","_sfc_main$1z","_sfc_main$1A","_sfc_main$1B","_sfc_main$1C","bvKey","parseActiveImports","all","others","valuesCopy","merge","usedComponents","usedDirectives","BootstrapVueNextResolver","aliases","directives","components","compImports","dirImports","directive","destination","aliasDestination","prefixedName","app","registryPlugin","orchestratorPlugin","createBootstrap","pluginData","sidebarRef","brandInitial","url","normalizeUrl","u","scrollToActiveItem","activeLink","sidebar","linkRect","sidebarRect","_createElementBlock","_createElementVNode","_renderSlot","_normalizeClass","_toDisplayString","_openBlock","_Fragment","_renderList","groupIndex","_createBlock","_resolveDynamicComponent","_unref","$attrs","_createSlots","_mergeProps","$slots","_withCtx","slotProps","_normalizeProps","_guardReactiveProps","getUserInitial","user","_createVNode","DContainer","DRow","DCol","DButton","$emit","DDropdown","collapsed","sidebarSlots","strippedName","navbarSlots","getInitialHiddenState","savedHidden","toggleSidebar","DXDashboardSidebar","originalName","DXDashboardNavbar","isTextInput","handleSubmit","BForm","DAlert","_createTextVNode","DFormGroup","DFormInput","DFormTextarea","DFormSelect","DFormCheckbox","DFormInvalidFeedback","DFormText","OBasicForm","pluralize","require","module","this","pluralRules","singularRules","uncountables","irregularPlurals","irregularSingles","sanitizeRule","rule","restoreCase","word","token","interpolate","sanitizeWord","rules","len","replaceWord","replaceMap","keepMap","checkWord","bool","inclusive","pluralized","replacement","single","plural","bTableRef","handleSortByUpdate","handleCurrentPageUpdate","handleBusyUpdate","handleSorted","handleRowClicked","isProviderMode","isInertiaMode","hasInertiaUrl","effectiveBusy","internalSortBy","effectiveSortBy","internalFilters","effectiveFilters","hasFilters","hasActiveFilters","filters","apiPaginationMeta","apiFilterValues","getFieldFilterOptions","serverValues","perPageStorageKey","getInitialPerPage","saved","internalPerPage","newPerPage","newFilters","oldFilters","effectivePerPage","newUrl","oldUrl","apiError","shouldShowPerPageSelector","smallestOption","fieldsNeedingFilterValues","internalProvider","context","axios","errorMessage","effectiveProvider","handlePageChange","apiCurrentPage","handleApiPageChange","handleSortChange","sortBy","normalizedSortBy","withOrder","handleBusyChange","busy","filterDebounceTimer","handlePerPageChange","perPageNum","tableRef","handleFilterChange","showEditModal","selectedItem","editForm","activeTabIndex","createToast","visibleTabs","getField","singularItemName","pluralItemName","computedModalTitle","getFieldSortState","handleRowClick","useForm$1","useForm","formData","handleEditSave","itemId","errors","errorKeys","handleEditCancel","handleDelete","itemName","errorData","DCard","DSpinner","DTable","_normalizeStyle","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","DPagination","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","DModal","_hoisted_35","_hoisted_36","DTabs","DTab","_hoisted_32","_hoisted_33","_hoisted_34","DXBasicForm","ApiClient","search","append","ck","cv","qs","isFormData","headers","resp","ctype","full","api","deepClone","errorsFromLaravel","initialData","snapshot","hasErrors","hasError","getError","getState","setErrors","setMessage","clearErrors","clearError","only","dataRecord","fields","submit","payloadRaw","post","put","patch","del","shouldShowMessage","getDefaultValueForType","defineForm","fieldDefinitions","_default"],"mappings":"qhBAAA,MAAMA,GAAmB,qBACnBC,GAAgB,CAACC,EAAOC,EAAS,KAAO,CAC5C,MAAMC,EAAkB,GAAGD,CAAM,MACjC,MAAO,GAAGH,EAAgB,OAAOE,CAAK,KAAKC,EAASC,EAAkB,EAAE,EAC1E,EACMC,GAAyBC,GAASL,GAAcK,CAAI,EACpDC,GAAiCD,GAASL,GAAc,GAAGK,CAAI,YAAY,EAC3EE,GAAuBH,GAAsB,UAAU,EACvDI,GAAmBJ,GAAsB,MAAM,EAC/CK,GAAuBL,GAAsB,UAAU,EACvDM,GAAwBN,GAAsB,WAAW,EACzDO,GAA0BP,GAAsB,aAAa,EAC7DQ,GAAwBR,GAAsB,WAAW,EACzDS,GAAmBT,GAAsB,eAAe,EACxDU,GAAgBV,GAAsB,YAAY,EAClDW,GAAuBX,GAAsB,UAAU,EACvDY,GAAsBV,GAA8B,UAAU,EAC9DW,GAAuBb,GAAsB,UAAU,EACvDc,GAAqBd,GAAsB,QAAQ,EACnDe,GAAiBb,GAA8B,KAAK,EACpDc,GAA2B,GAAGrB,EAAgB,oBAC9CsB,GAAwBf,GAA8B,YAAY,EAClEgB,GAAkBhB,GAA8B,cAAc,EAC9DiB,GAAcjB,GAA8B,UAAU,EACtDkB,GAAgBpB,GAAsB,YAAY,EAClDqB,GAAiBrB,GAAsB,aAAa,EACpDsB,GAA0BpB,GAA8B,cAAc,EACtEqB,GAAevB,GAAsB,iBAAiB,EACtDwB,GAAgBxB,GAAsB,YAAY,EAClDyB,GAA6BzB,GAAsB,yBAAyB,EC3B5E0B,GAAgB,CAACC,EAAKX,KAA6B,CACvD,MAAMY,EAAaC,EAAAA,OAAOZ,EAAqB,EACzCa,EAAaC,EAAAA,SAAS,IAAM,CAChC,MAAMC,EAAIC,EAAAA,QAAQN,CAAE,EACpB,OAAKK,GAAUhB,EAEjB,CAAC,EACDkB,OAAAA,EAAAA,MACEJ,EACCK,GAAa,CACR,CAACA,GAAY,CAACP,IAClBA,EAAW,MAAM,MAAQ,CACvB,GAAGA,EAAW,MAAM,MACpB,CAACO,CAAQ,EAAGP,EAAW,MAAM,MAAMO,CAAQ,GAAK,CAAA,CACxD,EACI,EACA,CAAE,UAAW,EAAI,CACrB,EAQS,CACL,MARYJ,EAAAA,SAAS,CACrB,IAAK,KAAMH,GAAA,YAAAA,EAAY,MAAM,MAAME,EAAW,SAAU,CAAA,EACxD,IAAIjC,EAAO,CACJ+B,IACLA,EAAW,MAAM,MAAME,EAAW,KAAK,EAAIjC,EAC7C,CACJ,CAAG,EAGC,OAAQ,CACD+B,GACLA,EAAW,MAAME,EAAW,OAAS,MAAM,CAC7C,CACJ,CACA,ECjCA,SAASM,GAAkBC,EAAI,CAC7B,OAAIC,EAAAA,gBAAe,GACjBC,EAAAA,eAAeF,CAAE,EACV,IAEF,EACT,CACA,MAAMG,GAAwC,IAAI,QAC5CC,GAAyC,IAAIC,IAAS,CAC1D,IAAIC,EACJ,MAAMC,EAAMF,EAAK,CAAC,EACZG,GAAYF,EAAKG,EAAAA,mBAAkB,IAAO,KAAO,OAASH,EAAG,MACnE,GAAIE,GAAY,MAAQ,CAACE,sBAAmB,EAC1C,MAAM,IAAI,MAAM,qCAAqC,EACvD,OAAIF,GAAYL,GAAsB,IAAIK,CAAQ,GAAKD,KAAOJ,GAAsB,IAAIK,CAAQ,EACvFL,GAAsB,IAAIK,CAAQ,EAAED,CAAG,EACzCf,EAAAA,OAAO,GAAGa,CAAI,CACvB,EAEA,SAASM,GAAuBC,EAAY,CAC1C,IAAIC,EAAc,EACdC,EACAC,EACJ,MAAMC,EAAU,IAAM,CACpBH,GAAe,EACXE,GAASF,GAAe,IAC1BE,EAAM,KAAI,EACVD,EAAQ,OACRC,EAAQ,OAEZ,EACA,MAAO,IAAIV,KACTQ,GAAe,EACVE,IACHA,EAAQE,EAAAA,YAAY,EAAI,EACxBH,EAAQC,EAAM,IAAI,IAAMH,EAAW,GAAGP,CAAI,CAAC,GAE7CN,GAAkBiB,CAAO,EAClBF,EAEX,CAEA,SAASI,GAAmBC,EAAKC,EAAK,CACpC,GAAI,OAAO,OAAW,IAAa,CACjC,MAAMC,EAAQ,CAAE,GAAGF,CAAG,EACtB,cAAO,eAAeE,EAAO,OAAO,SAAU,CAC5C,WAAY,GACZ,OAAQ,CACN,IAAIC,EAAQ,EACZ,MAAO,CACL,KAAM,KAAO,CACX,MAAOF,EAAIE,GAAO,EAClB,KAAMA,EAAQF,EAAI,MAC9B,EACA,CACM,CACN,CAAK,EACMC,CACT,KACE,QAAO,OAAO,OAAO,CAAC,GAAGD,CAAG,EAAGD,CAAG,CAEtC,CACA,MAAMI,GAAW,OAAO,OAAW,KAAe,OAAO,SAAa,IACtE,OAAO,kBAAsB,KAAe,sBAAsB,kBAClE,MAAMC,GAAcC,GAAQA,GAAO,KAC7BC,GAAW,OAAO,UAAU,SAC5BC,GAAYF,GAAQC,GAAS,KAAKD,CAAG,IAAM,kBAC3CG,GAAY,IAAM,CAAC,KAAK,IAAG,EAC3BC,GAAO,IAAM,CACnB,EACMC,GAAwBC,GAAQ,EACtC,SAASA,IAAW,CAClB,IAAIzB,EAAI0B,EACR,OAAOT,MAAcjB,EAAK,QAAU,KAAO,OAAS,OAAO,YAAc,KAAO,OAASA,EAAG,aAAe,mBAAmB,KAAK,OAAO,UAAU,SAAS,KAAO0B,EAAK,QAAU,KAAO,OAAS,OAAO,YAAc,KAAO,OAASA,EAAG,gBAAkB,GAAK,iBAAiB,KAAK,QAAU,KAAO,OAAS,OAAO,UAAU,SAAS,EAC9U,CACA,SAASC,MAAS5B,EAAM,CACtB,GAAIA,EAAK,SAAW,EAClB,OAAO6B,EAAAA,MAAQ,GAAG7B,CAAI,EACxB,MAAM8B,EAAI9B,EAAK,CAAC,EAChB,OAAO,OAAO8B,GAAM,WAAaC,EAAAA,SAASC,EAAAA,UAAU,KAAO,CAAE,IAAKF,EAAG,IAAKN,EAAI,EAAG,CAAC,EAAIS,EAAAA,IAAIH,CAAC,CAC7F,CACA,SAASI,GAAoBC,EAAQxC,EAAI,CACvC,SAASyC,KAAWpC,EAAM,CACxB,OAAO,IAAI,QAAQ,CAACqC,EAASC,IAAW,CACtC,QAAQ,QAAQH,EAAO,IAAMxC,EAAG,MAAM,KAAMK,CAAI,EAAG,CAAE,GAAAL,EAAI,QAAS,KAAM,KAAAK,CAAI,CAAE,CAAC,EAAE,KAAKqC,CAAO,EAAE,MAAMC,CAAM,CAC7G,CAAC,CACH,CACA,OAAOF,CACT,CACA,MAAMG,GAAgBC,GACbA,EAAM,EAEf,SAASC,MAAkBzC,EAAM,CAC/B,IAAI0C,EAAW,EACXC,EACAC,EAAY,GACZC,EAAerB,GACfsB,EACAC,EACAC,EACAC,EACAC,EACA,CAACC,EAAAA,MAAMnD,EAAK,CAAC,CAAC,GAAK,OAAOA,EAAK,CAAC,GAAM,SACvC,CAAE,MAAO+C,EAAI,SAAAC,EAAW,GAAM,QAAAC,EAAU,GAAM,eAAAC,EAAiB,IAAUlD,EAAK,CAAC,EAEhF,CAAC+C,EAAIC,EAAW,GAAMC,EAAU,GAAMC,EAAiB,EAAK,EAAIlD,EAClE,MAAMoD,EAAQ,IAAM,CACdT,IACF,aAAaA,CAAK,EAClBA,EAAQ,OACRE,EAAY,EACZA,EAAerB,GAEnB,EA+BA,OA9BgB6B,GAAY,CAC1B,MAAMC,EAAW/D,EAAAA,QAAQwD,CAAE,EACrBQ,EAAU,KAAK,IAAG,EAAKb,EACvBF,EAAS,IACNM,EAAYO,EAAO,EAG5B,OADAD,EAAK,EACDE,GAAY,GACdZ,EAAW,KAAK,IAAG,EACZF,EAAM,IAEXe,EAAUD,IAAaL,GAAW,CAACL,IACrCF,EAAW,KAAK,IAAG,EACnBF,EAAM,GACGQ,IACTF,EAAY,IAAI,QAAQ,CAACT,EAASC,IAAW,CAC3CO,EAAeK,EAAiBZ,EAASD,EACzCM,EAAQ,WAAW,IAAM,CACvBD,EAAW,KAAK,IAAG,EACnBE,EAAY,GACZP,EAAQG,EAAM,CAAE,EAChBY,EAAK,CACP,EAAG,KAAK,IAAI,EAAGE,EAAWC,CAAO,CAAC,CACpC,CAAC,GAEC,CAACN,GAAW,CAACN,IACfA,EAAQ,WAAW,IAAMC,EAAY,GAAMU,CAAQ,GACrDV,EAAY,GACLE,EACT,CAEF,CACA,SAASU,GAAeC,EAAelB,GAAcmB,EAAU,CAAA,EAAI,CACjE,KAAM,CACJ,aAAAC,EAAe,QACnB,EAAMD,EACEE,EAAWhC,GAAM+B,IAAiB,QAAQ,EAChD,SAASE,GAAQ,CACfD,EAAS,MAAQ,EACnB,CACA,SAASE,GAAS,CAChBF,EAAS,MAAQ,EACnB,CACA,MAAMG,EAAc,IAAI/D,IAAS,CAC3B4D,EAAS,OACXH,EAAa,GAAGzD,CAAI,CACxB,EACA,MAAO,CAAE,SAAU+B,WAAS6B,CAAQ,EAAG,MAAAC,EAAO,OAAAC,EAAQ,YAAAC,CAAW,CACnE,CACA,SAASC,GAAiBC,EAAQC,EAAO,CACvC,IAAIjE,EACJ,GAAI,OAAOgE,GAAW,SACpB,OAAOA,EAASC,EAClB,MAAM/G,IAAU8C,EAAKgE,EAAO,MAAM,cAAc,IAAM,KAAO,OAAShE,EAAG,CAAC,IAAM,GAC1EkE,EAAOF,EAAO,MAAM9G,EAAM,MAAM,EAChCiH,EAAS,OAAO,WAAWjH,CAAK,EAAI+G,EAC1C,OAAI,OAAO,MAAME,CAAM,EACdH,EACFG,EAASD,CAClB,CACA,SAASE,GAAQC,EAAI,CACnB,OAAOA,EAAG,SAAS,KAAK,EAAI,OAAO,WAAWA,CAAE,EAAI,GAAK,OAAO,WAAWA,CAAE,CAC/E,CACA,SAASC,GAAQpH,EAAO,CACtB,OAAO,MAAM,QAAQA,CAAK,EAAIA,EAAQ,CAACA,CAAK,CAC9C,CACA,SAASqH,GAAoB7E,EAAI,CAC/B,MAAM8E,EAAwB,OAAO,OAAO,IAAI,EAChD,OAAQC,GACMD,EAAMC,CAAG,IACND,EAAMC,CAAG,EAAI/E,EAAG+E,CAAG,EAEtC,CACA,MAAMC,GAAa,SACbC,GAAWJ,GAAqBE,GAC7BA,EAAI,QAAQC,GAAY,CAACE,EAAGC,IAAMA,EAAIA,EAAE,YAAW,EAAK,EAAE,CAClE,EACD,SAASC,GAAmBd,EAAQ,CAClC,OAAO7D,qBAAkB,CAC3B,CAEA,SAAS4E,GAAcrF,EAAIoD,EAAK,IAAKC,EAAW,GAAOC,EAAU,GAAMC,EAAiB,GAAO,CAC7F,OAAOhB,GACLO,GAAeM,EAAIC,EAAUC,EAASC,CAAc,EACpDvD,CACJ,CACA,CACA,SAASsF,GAAgBC,EAAQC,EAAIzB,EAAU,CAAA,EAAI,CACjD,KAAM,CACJ,YAAAK,EAAcxB,GACd,GAAG6C,CACP,EAAM1B,EACJ,OAAOlE,EAAAA,MACL0F,EACAhD,GACE6B,EACAoB,CACN,EACIC,CACJ,CACA,CACA,SAASC,GAAcH,EAAQC,EAAIzB,EAAU,CAAA,EAAI,CAC/C,KAAM,CACJ,YAAavB,EACb,aAAAwB,EAAe,SACf,GAAGyB,CACP,EAAM1B,EACE,CAAE,YAAAK,EAAa,MAAAF,EAAO,OAAAC,EAAQ,SAAAF,CAAQ,EAAKJ,GAAerB,EAAQ,CAAE,aAAAwB,EAAc,EASxF,MAAO,CAAE,KARIsB,GACXC,EACAC,EACA,CACE,GAAGC,EACH,YAAArB,CACN,CACA,EACiB,MAAAF,EAAO,OAAAC,EAAQ,SAAAF,CAAQ,CACxC,CACA,SAAS0B,GAAQC,EAAMC,KAAU,CAAC9B,CAAO,EAAG,CAC1C,KAAM,CACJ,MAAA+B,EAAQ,OACR,KAAAC,EAAO,GACP,UAAAC,EAAY,GACZ,UAAAC,EAAY,OACZ,UAAAC,EAAY,CAAA,CAChB,EAAMnC,GAAW,CAAA,EACToC,EAAW,CAAA,EACXC,EAAe,QAASF,GAAaA,EAAU,MAASvG,GAAMA,GAC9D0G,EAAe,QAASH,GAAaA,EAAU,MAASvG,GAAMA,GACpE,OAAIsG,IAAc,QAAUA,IAAc,QACxCE,EAAS,KAAKT,GACZE,EACC9F,GAAa,CACZqG,EAAS,QAASG,GAAMA,EAAE,MAAK,CAAE,EACjCT,EAAM,MAAQO,EAAatG,CAAQ,EACnCqG,EAAS,QAASG,GAAMA,EAAE,OAAM,CAAE,CACpC,EACA,CAAE,MAAAR,EAAO,KAAAC,EAAM,UAAAC,CAAS,CAC9B,CAAK,GAECC,IAAc,QAAUA,IAAc,QACxCE,EAAS,KAAKT,GACZG,EACC/F,GAAa,CACZqG,EAAS,QAASG,GAAMA,EAAE,MAAK,CAAE,EACjCV,EAAK,MAAQS,EAAavG,CAAQ,EAClCqG,EAAS,QAASG,GAAMA,EAAE,OAAM,CAAE,CACpC,EACA,CAAE,MAAAR,EAAO,KAAAC,EAAM,UAAAC,CAAS,CAC9B,CAAK,EAEU,IAAM,CACjBG,EAAS,QAASG,GAAMA,EAAE,KAAI,CAAE,CAClC,CAEF,CACA,SAASC,GAAavG,EAAIwG,EAAO,GAAMlC,EAAQ,CAC5Bc,GAAkB,EAEjCqB,EAAAA,UAAUzG,EAAIsE,CAAM,EACbkC,EACPxG,EAAE,EAEF0G,EAAAA,SAAS1G,CAAE,CACf,CACA,SAAS2G,GAAcnB,EAAIoB,EAAW,IAAK7C,EAAU,CAAA,EAAI,CACvD,KAAM,CACJ,UAAAiC,EAAY,GACZ,kBAAAa,EAAoB,EACxB,EAAM9C,EACJ,IAAIf,EAAQ,KACZ,MAAMiB,EAAW6C,EAAAA,WAAW,EAAK,EACjC,SAASC,GAAQ,CACX/D,IACF,cAAcA,CAAK,EACnBA,EAAQ,KAEZ,CACA,SAASkB,GAAQ,CACfD,EAAS,MAAQ,GACjB8C,EAAK,CACP,CACA,SAAS5C,GAAS,CAChB,MAAM6C,EAAgBpH,EAAAA,QAAQgH,CAAQ,EAClCI,GAAiB,IAErB/C,EAAS,MAAQ,GACb4C,GACFrB,EAAE,EACJuB,EAAK,EACD9C,EAAS,QACXjB,EAAQ,YAAYwC,EAAIwB,CAAa,GACzC,CAGA,GAFIhB,GAAazE,IACf4C,EAAM,EACJX,EAAAA,MAAMoD,CAAQ,GAAK,OAAOA,GAAa,WAAY,CACrD,MAAMK,EAAYpH,QAAM+G,EAAU,IAAM,CAClC3C,EAAS,OAAS1C,IACpB4C,EAAM,CACV,CAAC,EACDpE,GAAkBkH,CAAS,CAC7B,CACA,OAAAlH,GAAkBmE,CAAK,EAChB,CACL,SAAUgD,EAAAA,gBAAgBjD,CAAQ,EAClC,MAAAC,EACA,OAAAC,CACJ,CACA,CAEA,SAASgD,GAAY3J,EAAOuG,EAAU,GAAI,CACxC,KAAM,CACJ,OAAAqD,EAAS,aACT,MAAAC,EACA,UAAAC,CACJ,EAAMvD,EACJ,OAAOrE,EAAAA,SAAS,IAAM,CACpB,IAAI6H,EAAW3H,EAAAA,QAAQpC,CAAK,EAC5B,OAAI,OAAO4J,GAAW,WACpBG,EAAWH,EAAOG,CAAQ,EACnB,OAAOA,GAAa,WAC3BA,EAAW,OAAOH,CAAM,EAAEG,EAAUF,CAAK,GACvCC,GAAa,OAAO,MAAMC,CAAQ,IACpCA,EAAW,GACNA,CACT,CAAC,CACH,CACA,SAASC,GAAejC,EAAQC,EAAIzB,EAAS,CAC3C,OAAOlE,EAAAA,MACL0F,EACAC,EACA,CACE,GAAGzB,EACH,UAAW,EACjB,CACA,CACA,CC5VA,SAAS0D,GAAuB1D,EAAU,GAAI,CAC5C,KAAM,CACJ,aAAA2D,EAAe,EACnB,EAAM3D,EACE4D,EAASb,EAAAA,WAAU,EACnBc,EAAyBC,EAAAA,gBAAgB,CAC7C,MAAM3C,EAAG,CAAE,MAAA4C,GAAS,CAClB,MAAO,IAAM,CACXH,EAAO,MAAQG,EAAM,OACvB,CACF,CACJ,CAAG,EACKC,EAAwBF,EAAAA,gBAAgB,CAC5C,aAAAH,EACA,MAAO3D,EAAQ,MACf,MAAMiE,EAAO,CAAE,MAAAC,EAAO,MAAAH,CAAK,EAAI,CAC7B,MAAO,IAAM,CACX,IAAIxH,EACJ,GAAI,CAACqH,EAAO,OAAS,QAAQ,IAAI,WAAa,aAC5C,MAAM,IAAI,MAAM,6DAA6D,EAC/E,MAAMO,GAAS5H,EAAKqH,EAAO,QAAU,KAAO,OAASrH,EAAG,KAAKqH,EAAQ,CACnE,GAAG5D,EAAQ,OAAS,KAAOoE,GAAqBF,CAAK,EAAID,EACzD,OAAQF,CAClB,CAAS,EACD,OAAOJ,IAAiBQ,GAAS,KAAO,OAASA,EAAM,UAAY,EAAIA,EAAM,CAAC,EAAIA,CACpF,CACF,CACJ,CAAG,EACD,OAAOhH,GACL,CAAE,OAAA0G,EAAQ,MAAAG,CAAK,EACf,CAACH,EAAQG,CAAK,CAClB,CACA,CACA,SAASI,GAAqBhH,EAAK,CACjC,MAAMiH,EAAS,CAAA,EACf,UAAW7H,KAAOY,EAChBiH,EAAOnD,GAAS1E,CAAG,CAAC,EAAIY,EAAIZ,CAAG,EACjC,OAAO6H,CACT,CACA,MAAMC,GAAgB9G,GAAW,OAAS,OAC1C,SAAS+G,GAAaC,EAAO,CAC3B,IAAIjI,EACJ,MAAMkI,EAAQ5I,EAAAA,QAAQ2I,CAAK,EAC3B,OAAQjI,EAAKkI,GAAS,KAAO,OAASA,EAAM,MAAQ,KAAOlI,EAAKkI,CAClE,CACA,SAASC,MAAoBpI,EAAM,CACjC,MAAMqI,EAAW,CAAA,EACXC,EAAU,IAAM,CACpBD,EAAS,QAAS1I,GAAOA,EAAE,CAAE,EAC7B0I,EAAS,OAAS,CACpB,EACME,EAAW,CAACC,EAAIC,EAAOC,EAAUhF,KACrC8E,EAAG,iBAAiBC,EAAOC,EAAUhF,CAAO,EACrC,IAAM8E,EAAG,oBAAoBC,EAAOC,EAAUhF,CAAO,GAExDiF,EAAoBtJ,EAAAA,SAAS,IAAM,CACvC,MAAMuJ,EAAOrE,GAAQhF,EAAAA,QAAQS,EAAK,CAAC,CAAC,CAAC,EAAE,OAAQ6I,GAAMA,GAAK,IAAI,EAC9D,OAAOD,EAAK,MAAOC,GAAM,OAAOA,GAAM,QAAQ,EAAID,EAAO,MAC3D,CAAC,EACKhC,EAAYO,GAChB,IAAM,CACJ,IAAIlH,EAAI0B,EACR,MAAO,EACJA,GAAM1B,EAAK0I,EAAkB,QAAU,KAAO,OAAS1I,EAAG,IAAK4I,GAAMZ,GAAaY,CAAC,CAAC,IAAM,KAAOlH,EAAK,CAACqG,EAAa,EAAE,OAAQa,GAAMA,GAAK,IAAI,EAC9ItE,GAAQhF,EAAAA,QAAQoJ,EAAkB,MAAQ3I,EAAK,CAAC,EAAIA,EAAK,CAAC,CAAC,CAAC,EAC5DuE,GAAQuE,EAAAA,MAAMH,EAAkB,MAAQ3I,EAAK,CAAC,EAAIA,EAAK,CAAC,CAAC,CAAC,EAE1DT,EAAAA,QAAQoJ,EAAkB,MAAQ3I,EAAK,CAAC,EAAIA,EAAK,CAAC,CAAC,CAC3D,CACI,EACA,CAAC,CAAC+I,EAAaC,EAAYC,EAAeC,CAAW,IAAM,CAEzD,GADAZ,EAAO,EACH,EAAES,GAAe,MAAgBA,EAAY,SAAW,EAAEC,GAAc,MAAgBA,EAAW,SAAW,EAAEC,GAAiB,MAAgBA,EAAc,QACjK,OACF,MAAME,EAAe7H,GAAS4H,CAAW,EAAI,CAAE,GAAGA,CAAW,EAAKA,EAClEb,EAAS,KACP,GAAGU,EAAY,QACZP,GAAOQ,EAAW,QAChBP,GAAUQ,EAAc,IAAKP,GAAaH,EAASC,EAAIC,EAAOC,EAAUS,CAAY,CAAC,CAClG,CACA,CACA,CACI,EACA,CAAE,MAAO,MAAM,CACnB,EACQC,EAAO,IAAM,CACjBxC,EAAS,EACT0B,EAAO,CACT,EACA,OAAA5I,GAAkB4I,CAAO,EAClBc,CACT,CACA,IAAIC,GAAiB,GACrB,SAASC,GAAerF,EAAQsF,EAAS7F,EAAU,CAAA,EAAI,CACrD,KAAM,CAAE,OAAQ8F,EAAUxB,GAAe,OAAAyB,EAAS,CAAA,EAAI,QAAAC,EAAU,GAAM,aAAAC,EAAe,GAAO,SAAAC,EAAW,EAAK,EAAKlG,EACjH,GAAI,CAAC8F,EACH,OAAOI,EAAW,CAAE,KAAMpI,GAAM,OAAQA,GAAM,QAASA,EAAI,EAAKA,GAElE,GAAIC,IAAS,CAAC4H,GAAgB,CAC5BA,GAAiB,GACjB,MAAMQ,EAAkB,CAAE,QAAS,EAAI,EACvC,MAAM,KAAKL,EAAQ,SAAS,KAAK,QAAQ,EAAE,QAAShB,GAAOA,EAAG,iBAAiB,QAAShH,GAAMqI,CAAe,CAAC,EAC9GL,EAAQ,SAAS,gBAAgB,iBAAiB,QAAShI,GAAMqI,CAAe,CAClF,CACA,IAAIC,EAAe,GACnB,MAAMC,EAAgBtB,GACblJ,EAAAA,QAAQkK,CAAM,EAAE,KAAMO,GAAY,CACvC,GAAI,OAAOA,GAAY,SACrB,OAAO,MAAM,KAAKR,EAAQ,SAAS,iBAAiBQ,CAAO,CAAC,EAAE,KAAMxB,GAAOA,IAAOC,EAAM,QAAUA,EAAM,eAAe,SAASD,CAAE,CAAC,EAC9H,CACL,MAAMA,EAAKP,GAAa+B,CAAO,EAC/B,OAAOxB,IAAOC,EAAM,SAAWD,GAAMC,EAAM,aAAY,EAAG,SAASD,CAAE,EACvE,CACF,CAAC,EAEH,SAASyB,EAAiBD,EAAS,CACjC,MAAME,EAAK3K,EAAAA,QAAQyK,CAAO,EAC1B,OAAOE,GAAMA,EAAG,EAAE,QAAQ,YAAc,EAC1C,CACA,SAASC,EAAmBH,EAASvB,EAAO,CAC1C,MAAMyB,EAAK3K,EAAAA,QAAQyK,CAAO,EACpBI,EAAWF,EAAG,EAAE,SAAWA,EAAG,EAAE,QAAQ,SAC9C,OAAIE,GAAY,MAAQ,CAAC,MAAM,QAAQA,CAAQ,EACtC,GACFA,EAAS,KAAMC,GAAUA,EAAM,KAAO5B,EAAM,QAAUA,EAAM,aAAY,EAAG,SAAS4B,EAAM,EAAE,CAAC,CACtG,CACA,MAAM3B,EAAYD,GAAU,CAC1B,MAAMD,EAAKP,GAAahE,CAAM,EAC9B,GAAIwE,EAAM,QAAU,MAEhB,IAAED,aAAc,UAAYyB,EAAiBhG,CAAM,GAAKkG,EAAmBlG,EAAQwE,CAAK,IAExF,GAACD,GAAMA,IAAOC,EAAM,QAAUA,EAAM,aAAY,EAAG,SAASD,CAAE,GAIlE,IAFI,WAAYC,GAASA,EAAM,SAAW,IACxCqB,EAAe,CAACC,EAAatB,CAAK,GAChC,CAACqB,EAAc,CACjBA,EAAe,GACf,MACF,CACAP,EAAQd,CAAK,EACf,EACA,IAAI6B,EAAoB,GACxB,MAAMhC,EAAU,CACdF,GAAiBoB,EAAS,QAAUf,GAAU,CACvC6B,IACHA,EAAoB,GACpB,WAAW,IAAM,CACfA,EAAoB,EACtB,EAAG,CAAC,EACJ5B,EAASD,CAAK,EAElB,EAAG,CAAE,QAAS,GAAM,QAAAiB,CAAO,CAAE,EAC7BtB,GAAiBoB,EAAS,cAAgBX,GAAM,CAC9C,MAAML,EAAKP,GAAahE,CAAM,EAC9B6F,EAAe,CAACC,EAAalB,CAAC,GAAK,CAAC,EAAEL,GAAM,CAACK,EAAE,aAAY,EAAG,SAASL,CAAE,EAC3E,EAAG,CAAE,QAAS,GAAM,EACpBmB,GAAgBvB,GAAiBoB,EAAS,OAASf,GAAU,CAC3D,WAAW,IAAM,CACf,IAAIxI,EACJ,MAAMuI,EAAKP,GAAahE,CAAM,IACxBhE,EAAKuJ,EAAQ,SAAS,gBAAkB,KAAO,OAASvJ,EAAG,WAAa,UAAY,EAAEuI,GAAM,MAAgBA,EAAG,SAASgB,EAAQ,SAAS,aAAa,IAC1JD,EAAQd,CAAK,CAEjB,EAAG,CAAC,CACN,EAAG,CAAE,QAAS,EAAI,CAAE,CACxB,EAAI,OAAO,OAAO,EACVW,EAAO,IAAMd,EAAQ,QAAS3I,GAAOA,GAAI,EAC/C,OAAIiK,EACK,CACL,KAAAR,EACA,OAAQ,IAAM,CACZU,EAAe,EACjB,EACA,QAAUrB,GAAU,CAClBqB,EAAe,GACfpB,EAASD,CAAK,EACdqB,EAAe,EACjB,CACN,EAESV,CACT,CAEA,SAASmB,IAAa,CACpB,MAAMC,EAAY/D,EAAAA,WAAW,EAAK,EAC5BtG,EAAWC,EAAAA,mBAAkB,EACnC,OAAID,GACFiG,EAAAA,UAAU,IAAM,CACdoE,EAAU,MAAQ,EACpB,EAAGrK,CAAQ,EAENqK,CACT,CAEA,SAASC,GAAaC,EAAU,CAC9B,MAAMF,EAA4BD,GAAU,EAC5C,OAAOlL,EAAAA,SAAS,KACdmL,EAAU,MACH,EAAQE,IAChB,CACH,CACA,SAASC,GAAoB1G,EAAQyG,EAAUhH,EAAU,CAAA,EAAI,CAC3D,KAAM,CAAE,OAAQ8F,EAAUxB,GAAe,GAAG4C,CAAe,EAAKlH,EAChE,IAAImH,EACJ,MAAMC,EAA8BL,GAAa,IAAMjB,GAAW,qBAAsBA,CAAO,EACzFlB,EAAU,IAAM,CAChBuC,IACFA,EAAS,WAAU,EACnBA,EAAW,OAEf,EACME,EAAU1L,EAAAA,SAAS,IAAM,CAC7B,MAAMlC,EAAQoC,EAAAA,QAAQ0E,CAAM,EACtB+G,EAAQzG,GAAQpH,CAAK,EAAE,IAAI8K,EAAY,EAAE,OAAO9G,EAAU,EAChE,OAAO,IAAI,IAAI6J,CAAK,CACtB,CAAC,EACKpE,EAAYpH,EAAAA,MAChB,IAAMuL,EAAQ,MACbE,GAAa,CACZ3C,EAAO,EACHwC,EAAY,OAASG,EAAS,OAChCJ,EAAW,IAAI,iBAAiBH,CAAQ,EACxCO,EAAS,QAASzC,GAAOqC,EAAS,QAAQrC,EAAIoC,CAAe,CAAC,EAElE,EACA,CAAE,UAAW,GAAM,MAAO,MAAM,CACpC,EACQM,EAAc,IACXL,GAAY,KAAO,OAASA,EAAS,YAAW,EAEnDzB,EAAO,IAAM,CACjBxC,EAAS,EACT0B,EAAO,CACT,EACA,OAAA5I,GAAkB0J,CAAI,EACf,CACL,YAAA0B,EACA,KAAA1B,EACA,YAAA8B,CACJ,CACA,CACA,SAASC,GAAiBlH,EAAQyG,EAAUhH,EAAU,CAAA,EAAI,CACxD,KAAM,CACJ,OAAQ8F,EAAUxB,GAClB,SAAUoD,EAAY5B,GAAW,KAAO,OAASA,EAAQ,SACzD,MAAA/D,EAAQ,MACZ,EAAM/B,EACJ,GAAI,CAAC8F,GAAW,CAAC4B,EACf,OAAO5J,GACT,IAAI6J,EACJ,MAAMC,EAAoB3L,GAAO,CAC/B0L,GAAU,MAAgBA,EAAM,EAChCA,EAAS1L,CACX,EACMiH,EAAY2E,EAAAA,YAAY,IAAM,CAClC,MAAM/C,EAAKP,GAAahE,CAAM,EAC9B,GAAIuE,EAAI,CACN,KAAM,CAAE,KAAAY,CAAI,EAAKuB,GACfS,EACCI,GAAkB,CACKA,EAAc,IAAKC,GAAa,CAAC,GAAGA,EAAS,YAAY,CAAC,EAAE,KAAI,EAAG,KAAMC,GAASA,IAASlD,GAAMkD,EAAK,SAASlD,CAAE,CAAC,GAEtIkC,EAASc,CAAa,CAE1B,EACA,CACE,OAAQhC,EACR,UAAW,GACX,QAAS,EACnB,CACA,EACM8B,EAAiBlC,CAAI,CACvB,CACF,EAAG,CAAE,MAAA3D,EAAO,EACNkG,EAAa,IAAM,CACvB/E,EAAS,EACT0E,EAAgB,CAClB,EACA,OAAA5L,GAAkBiM,CAAU,EACrBA,CACT,CACA,SAASC,GAAmBC,EAAW,CACrC,OAAI,OAAOA,GAAc,WAChBA,EACA,OAAOA,GAAc,SACpBpD,GAAUA,EAAM,MAAQoD,EACzB,MAAM,QAAQA,CAAS,EACtBpD,GAAUoD,EAAU,SAASpD,EAAM,GAAG,EACzC,IAAM,EACf,CACA,SAASqD,MAAe9L,EAAM,CAC5B,IAAIE,EACAqJ,EACA7F,EAAU,CAAA,EACV1D,EAAK,SAAW,GAClBE,EAAMF,EAAK,CAAC,EACZuJ,EAAUvJ,EAAK,CAAC,EAChB0D,EAAU1D,EAAK,CAAC,GACPA,EAAK,SAAW,EACrB,OAAOA,EAAK,CAAC,GAAM,UACrBE,EAAM,GACNqJ,EAAUvJ,EAAK,CAAC,EAChB0D,EAAU1D,EAAK,CAAC,IAEhBE,EAAMF,EAAK,CAAC,EACZuJ,EAAUvJ,EAAK,CAAC,IAGlBE,EAAM,GACNqJ,EAAUvJ,EAAK,CAAC,GAElB,KAAM,CACJ,OAAAiE,EAAS+D,GACT,UAAA+D,EAAY,UACZ,QAAAC,EAAU,GACV,OAAAC,EAAS,EACb,EAAMvI,EACEwI,EAAYN,GAAmB1L,CAAG,EAOxC,OAAOkI,GAAiBnE,EAAQ8H,EANdlD,GAAM,CAClBA,EAAE,QAAUtJ,EAAAA,QAAQ0M,CAAM,GAE1BC,EAAUrD,CAAC,GACbU,EAAQV,CAAC,CACb,EACqDmD,CAAO,CAC9D,CACA,SAASG,GAASxM,EAAI+D,EAAU,GAAI,CAClC,KAAM,CACJ,UAAAiC,EAAY,GACZ,SAAAyG,EAAW,OACX,OAAQ5C,EAAUxB,GAClB,KAAAqE,EAAO,EACX,EAAM3I,EACEE,EAAW6C,EAAAA,WAAW,EAAK,EAC3B6F,EAAgBjN,EAAAA,SAAS,IACtB+M,EAAW,IAAM7M,UAAQ6M,CAAQ,EAAI,IAC7C,EACD,IAAIG,EAAyB,EACzBC,EAAQ,KACZ,SAASC,EAAKC,EAAY,CACxB,GAAI,CAAC9I,EAAS,OAAS,CAAC4F,EACtB,OACG+C,IACHA,EAAyBG,GAC3B,MAAMxI,EAAQwI,EAAaH,EAC3B,GAAID,EAAc,OAASpI,EAAQoI,EAAc,MAAO,CACtDE,EAAQhD,EAAQ,sBAAsBiD,CAAI,EAC1C,MACF,CAGA,GAFAF,EAAyBG,EACzB/M,EAAG,CAAE,MAAAuE,EAAO,UAAWwI,CAAU,CAAE,EAC/BL,EAAM,CACRzI,EAAS,MAAQ,GACjB4I,EAAQ,KACR,MACF,CACAA,EAAQhD,EAAQ,sBAAsBiD,CAAI,CAC5C,CACA,SAAS3I,GAAS,CACZ,CAACF,EAAS,OAAS4F,IACrB5F,EAAS,MAAQ,GACjB2I,EAAyB,EACzBC,EAAQhD,EAAQ,sBAAsBiD,CAAI,EAE9C,CACA,SAAS5I,GAAQ,CACfD,EAAS,MAAQ,GACb4I,GAAS,MAAQhD,IACnBA,EAAQ,qBAAqBgD,CAAK,EAClCA,EAAQ,KAEZ,CACA,OAAI7G,GACF7B,EAAM,EACRpE,GAAkBmE,CAAK,EAChB,CACL,SAAU9B,EAAAA,SAAS6B,CAAQ,EAC3B,MAAAC,EACA,OAAAC,CACJ,CACA,CACA,MAAM6I,GAAiB,OAAO,kBAAkB,EAEhD,SAASC,IAAc,CACrB,MAAMC,EAAWxM,EAAAA,oBAAmB,EAAKN,GAAY4M,GAAgB,IAAI,EAAI,KAC7E,OAAO,OAAOE,GAAa,SAAWA,EAAW,MACnD,CACA,SAASC,GAAcC,EAAOrJ,EAAU,GAAI,CAC1C,KAAM,CAAE,OAAQ8F,EAAUxB,GAAe,SAAA6E,EAA2BD,GAAW,CAAE,EAAKlJ,EAChFoH,EAA8BL,GAAa,IAAMjB,GAAW,eAAgBA,GAAW,OAAOA,EAAQ,YAAe,UAAU,EAC/HwD,EAAavG,EAAAA,WAAW,OAAOoG,GAAa,QAAQ,EACpDI,EAAaxG,EAAAA,WAAU,EACvByG,EAAUzG,EAAAA,WAAW,EAAK,EAC1B8C,EAAWd,GAAU,CACzByE,EAAQ,MAAQzE,EAAM,OACxB,EACA8C,OAAAA,EAAAA,YAAY,IAAM,CAChB,GAAIyB,EAAW,MAAO,CACpBA,EAAW,MAAQ,CAAClC,EAAY,MAChC,MAAMqC,EAAe5N,EAAAA,QAAQwN,CAAK,EAAE,MAAM,GAAG,EAC7CG,EAAQ,MAAQC,EAAa,KAAMC,GAAgB,CACjD,MAAMC,EAAMD,EAAY,SAAS,SAAS,EACpCE,EAAWF,EAAY,MAAM,gDAAgD,EAC7EG,EAAWH,EAAY,MAAM,gDAAgD,EACnF,IAAII,EAAM,GAAQF,GAAYC,GAC9B,OAAID,GAAYE,IACdA,EAAMX,GAAYxI,GAAQiJ,EAAS,CAAC,CAAC,GAEnCC,GAAYC,IACdA,EAAMX,GAAYxI,GAAQkJ,EAAS,CAAC,CAAC,GAEhCF,EAAM,CAACG,EAAMA,CACtB,CAAC,EACD,MACF,CACK1C,EAAY,QAEjBmC,EAAW,MAAQzD,EAAQ,WAAWjK,EAAAA,QAAQwN,CAAK,CAAC,EACpDG,EAAQ,MAAQD,EAAW,MAAM,QACnC,CAAC,EACD7E,GAAiB6E,EAAY,SAAU1D,EAAS,CAAE,QAAS,GAAM,EAC1DlK,EAAAA,SAAS,IAAM6N,EAAQ,KAAK,CACrC,CACA,MAAMO,GAAyB,CAC7B,GAAI,EACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,KACJ,IAAK,IACP,EAEA,SAASC,GAAeC,EAAajK,EAAU,GAAI,CACjD,SAASkK,EAASC,EAAG3J,EAAO,CAC1B,IAAI5E,EAAIC,EAAAA,QAAQoO,EAAYpO,EAAAA,QAAQsO,CAAC,CAAC,CAAC,EACvC,OAAI3J,GAAS,OACX5E,EAAI0E,GAAiB1E,EAAG4E,CAAK,GAC3B,OAAO5E,GAAM,WACfA,EAAI,GAAGA,CAAC,MACHA,CACT,CACA,KAAM,CAAE,OAAQkK,EAAUxB,GAAe,SAAA8F,EAAW,YAAa,SAAAjB,EAA2BD,GAAW,CAAE,EAAKlJ,EACxGsJ,EAAa,OAAOH,GAAa,SACjCkB,EAAUf,EAAavG,EAAAA,WAAW,EAAK,EAAI,CAAE,MAAO,EAAI,EAC1DuG,GACF9G,GAAa,IAAM6H,EAAQ,MAAQ,CAAC,CAACvE,CAAO,EAE9C,SAASwE,EAAMjB,EAAOkB,EAAM,CAC1B,MAAI,CAACF,EAAQ,OAASf,EACbD,IAAU,MAAQF,GAAYxI,GAAQ4J,CAAI,EAAIpB,GAAYxI,GAAQ4J,CAAI,EAE1EzE,EAEEA,EAAQ,WAAW,IAAIuD,CAAK,WAAWkB,CAAI,GAAG,EAAE,QAD9C,EAEX,CACA,MAAMC,EAAkBL,GACff,GAAc,IAAM,eAAec,EAASC,CAAC,CAAC,IAAKnK,CAAO,EAE7DyK,EAAkBN,GACff,GAAc,IAAM,eAAec,EAASC,CAAC,CAAC,IAAKnK,CAAO,EAE7D0K,EAAkB,OAAO,KAAKT,CAAW,EAAE,OAAO,CAACU,EAAWR,KAClE,OAAO,eAAeQ,EAAWR,EAAG,CAClC,IAAK,IAAMC,IAAa,YAAcI,EAAeL,CAAC,EAAIM,EAAeN,CAAC,EAC1E,WAAY,GACZ,aAAc,EACpB,CAAK,EACMQ,GACN,CAAA,CAAE,EACL,SAASC,GAAU,CACjB,MAAMC,EAAS,OAAO,KAAKZ,CAAW,EAAE,IAAKE,GAAM,CAACA,EAAGO,EAAgBP,CAAC,EAAGxJ,GAAQuJ,EAASC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAACW,EAAGC,IAAMD,EAAE,CAAC,EAAIC,EAAE,CAAC,CAAC,EAC5H,OAAOpP,EAAAA,SAAS,IAAMkP,EAAO,OAAO,CAAC,CAAA,CAAGjP,CAAC,IAAMA,EAAE,KAAK,EAAE,IAAI,CAAC,CAACuO,CAAC,IAAMA,CAAC,CAAC,CACzE,CACA,OAAO,OAAO,OAAOO,EAAiB,CACpC,eAAAF,EACA,eAAAC,EACA,QAAQN,EAAG,CACT,OAAOf,GAAc,IAAM,eAAec,EAASC,EAAG,EAAG,CAAC,IAAKnK,CAAO,CACxE,EACA,QAAQmK,EAAG,CACT,OAAOf,GAAc,IAAM,eAAec,EAASC,EAAG,GAAI,CAAC,IAAKnK,CAAO,CACzE,EACA,QAAQ8K,EAAGC,EAAG,CACZ,OAAO3B,GAAc,IAAM,eAAec,EAASY,CAAC,CAAC,qBAAqBZ,EAASa,EAAG,GAAI,CAAC,IAAK/K,CAAO,CACzG,EACA,UAAUmK,EAAG,CACX,OAAOG,EAAM,MAAOJ,EAASC,EAAG,EAAG,CAAC,CACtC,EACA,iBAAiBA,EAAG,CAClB,OAAOG,EAAM,MAAOJ,EAASC,CAAC,CAAC,CACjC,EACA,UAAUA,EAAG,CACX,OAAOG,EAAM,MAAOJ,EAASC,EAAG,GAAI,CAAC,CACvC,EACA,iBAAiBA,EAAG,CAClB,OAAOG,EAAM,MAAOJ,EAASC,CAAC,CAAC,CACjC,EACA,YAAYW,EAAGC,EAAG,CAChB,OAAOT,EAAM,MAAOJ,EAASY,CAAC,CAAC,GAAKR,EAAM,MAAOJ,EAASa,EAAG,GAAI,CAAC,CACpE,EACA,QAAAH,EACA,QAAS,CACP,MAAMI,EAAMJ,EAAO,EACnB,OAAOjP,EAAAA,SAAS,IAAMqP,EAAI,MAAM,SAAW,EAAI,GAAKA,EAAI,MAAM,GAAGZ,IAAa,YAAc,GAAK,CAAC,CAAC,CACrG,CACJ,CAAG,CACH,CACA,MAAMa,GAAU,OAAO,WAAe,IAAc,WAAa,OAAO,OAAW,IAAc,OAAS,OAAO,OAAW,IAAc,OAAS,OAAO,KAAS,IAAc,KAAO,CAAA,EAClLC,GAAY,0BACZC,GAA2BC,GAAW,EAC5C,SAASA,IAAc,CACrB,OAAMF,MAAaD,KACjBA,GAAQC,EAAS,EAAID,GAAQC,EAAS,GAAK,CAAA,GACtCD,GAAQC,EAAS,CAC1B,CACA,SAASG,GAAc7O,EAAK8O,EAAU,CACpC,OAAOH,GAAS3O,CAAG,GAAK8O,CAC1B,CAEA,SAASC,GAAiBvL,EAAS,CACjC,OAAOoJ,GAAc,+BAAgCpJ,CAAO,CAC9D,CACA,SAASwL,GAAoBC,EAAS,CACpC,OAAOA,GAAW,KAAO,MAAQA,aAAmB,IAAM,MAAQA,aAAmB,IAAM,MAAQA,aAAmB,KAAO,OAAS,OAAOA,GAAY,UAAY,UAAY,OAAOA,GAAY,SAAW,SAAW,OAAOA,GAAY,SAAW,SAAY,OAAO,MAAMA,CAAO,EAAe,MAAX,QAC9R,CACA,MAAMC,GAAqB,CACzB,QAAS,CACP,KAAO9P,GAAMA,IAAM,OACnB,MAAQA,GAAM,OAAOA,CAAC,CAC1B,EACE,OAAQ,CACN,KAAOA,GAAM,KAAK,MAAMA,CAAC,EACzB,MAAQA,GAAM,KAAK,UAAUA,CAAC,CAClC,EACE,OAAQ,CACN,KAAOA,GAAM,OAAO,WAAWA,CAAC,EAChC,MAAQA,GAAM,OAAOA,CAAC,CAC1B,EACE,IAAK,CACH,KAAOA,GAAMA,EACb,MAAQA,GAAM,OAAOA,CAAC,CAC1B,EACE,OAAQ,CACN,KAAOA,GAAMA,EACb,MAAQA,GAAM,OAAOA,CAAC,CAC1B,EACE,IAAK,CACH,KAAOA,GAAM,IAAI,IAAI,KAAK,MAAMA,CAAC,CAAC,EAClC,MAAQA,GAAM,KAAK,UAAU,MAAM,KAAKA,EAAE,SAAS,CAAC,CACxD,EACE,IAAK,CACH,KAAOA,GAAM,IAAI,IAAI,KAAK,MAAMA,CAAC,CAAC,EAClC,MAAQA,GAAM,KAAK,UAAU,MAAM,KAAKA,CAAC,CAAC,CAC9C,EACE,KAAM,CACJ,KAAOA,GAAM,IAAI,KAAKA,CAAC,EACvB,MAAQA,GAAMA,EAAE,YAAW,CAC/B,CACA,EACM+P,GAAyB,iBAC/B,SAASC,GAAWpP,EAAKqP,EAAUC,EAAS9L,EAAU,CAAA,EAAI,CACxD,IAAIzD,EACJ,KAAM,CACJ,MAAAwF,EAAQ,MACR,KAAAC,EAAO,GACP,uBAAA+J,EAAyB,GACzB,cAAAC,EAAgB,GAChB,cAAAC,EAAgB,GAChB,QAAAC,EACA,OAAQpG,EAAUxB,GAClB,YAAAjE,EACA,QAAA8L,EAAWhH,GAAM,CACf,QAAQ,MAAMA,CAAC,CACjB,EACA,cAAAiH,CACJ,EAAMpM,EACEqM,GAAQH,EAAUnJ,aAAaxE,EAAAA,KAAK,OAAOsN,GAAa,WAAaA,EAAQ,EAAKA,CAAQ,EAC1FS,EAAc3Q,EAAAA,SAAS,IAAME,EAAAA,QAAQW,CAAG,CAAC,EAC/C,GAAI,CAACsP,EACH,GAAI,CACFA,EAAUT,GAAc,oBAAqB,IAAM,CACjD,IAAIkB,EACJ,OAAQA,EAAMjI,KAAkB,KAAO,OAASiI,EAAI,YACtD,CAAC,EAAC,CACJ,OAASpH,EAAG,CACVgH,EAAQhH,CAAC,CACX,CAEF,GAAI,CAAC2G,EACH,OAAOO,EACT,MAAMZ,EAAU5P,EAAAA,QAAQgQ,CAAQ,EAC1BW,EAAOhB,GAAoBC,CAAO,EAClCgB,GAAclQ,EAAKyD,EAAQ,aAAe,KAAOzD,EAAKmP,GAAmBc,CAAI,EAC7E,CAAE,MAAOE,EAAY,OAAQC,CAAW,EAAKhL,GACjD0K,EACA,IAAMO,EAAMP,EAAK,KAAK,EACtB,CAAE,MAAAtK,EAAO,KAAAC,EAAM,YAAA3B,CAAW,CAC9B,EACEvE,EAAAA,MAAMwQ,EAAa,IAAMO,EAAM,EAAI,CAAE,MAAA9K,CAAK,CAAE,EAC5C,IAAI+K,EAAe,GACnB,MAAMC,EAAkBC,GAAO,CACzBZ,GAAiB,CAACU,GAGtBD,EAAOG,CAAE,CACX,EACMC,EAAwBD,GAAO,CAC/BZ,GAAiB,CAACU,GAGtBI,EAAsBF,CAAE,CAC1B,EACIlH,GAAWiG,IACTD,aAAmB,QACrBpH,GAAiBoB,EAAS,UAAWiH,EAAgB,CAAE,QAAS,GAAM,EAEtErI,GAAiBoB,EAAS6F,GAAwBsB,CAAoB,GAEtEb,EACF5J,GAAa,IAAM,CACjBsK,EAAe,GACfD,EAAM,CACR,CAAC,EAEDA,EAAM,EAER,SAASM,EAAmBC,EAAUrR,EAAU,CAC9C,GAAI+J,EAAS,CACX,MAAMuH,EAAU,CACd,IAAKf,EAAY,MACjB,SAAAc,EACA,SAAArR,EACA,YAAa+P,CACrB,EACMhG,EAAQ,cAAcgG,aAAmB,QAAU,IAAI,aAAa,UAAWuB,CAAO,EAAI,IAAI,YAAY1B,GAAwB,CAChI,OAAQ0B,CAChB,CAAO,CAAC,CACJ,CACF,CACA,SAAST,EAAMhR,EAAG,CAChB,GAAI,CACF,MAAMwR,EAAWtB,EAAQ,QAAQQ,EAAY,KAAK,EAClD,GAAI1Q,GAAK,KACPuR,EAAmBC,EAAU,IAAI,EACjCtB,EAAQ,WAAWQ,EAAY,KAAK,MAC/B,CACL,MAAMgB,EAAab,EAAW,MAAM7Q,CAAC,EACjCwR,IAAaE,IACfxB,EAAQ,QAAQQ,EAAY,MAAOgB,CAAU,EAC7CH,EAAmBC,EAAUE,CAAU,EAE3C,CACF,OAASnI,EAAG,CACVgH,EAAQhH,CAAC,CACX,CACF,CACA,SAASoI,EAAKxI,EAAO,CACnB,MAAMyI,EAAWzI,EAAQA,EAAM,SAAW+G,EAAQ,QAAQQ,EAAY,KAAK,EAC3E,GAAIkB,GAAY,KACd,OAAIxB,GAAiBP,GAAW,MAC9BK,EAAQ,QAAQQ,EAAY,MAAOG,EAAW,MAAMhB,CAAO,CAAC,EACvDA,EACF,GAAI,CAAC1G,GAASkH,EAAe,CAClC,MAAMxS,EAAQgT,EAAW,KAAKe,CAAQ,EACtC,OAAI,OAAOvB,GAAkB,WACpBA,EAAcxS,EAAOgS,CAAO,EAC5Be,IAAS,UAAY,CAAC,MAAM,QAAQ/S,CAAK,EACzC,CAAE,GAAGgS,EAAS,GAAGhS,CAAK,EACxBA,CACT,KAAO,QAAI,OAAO+T,GAAa,SACtBA,EAEAf,EAAW,KAAKe,CAAQ,CAEnC,CACA,SAASX,EAAO9H,EAAO,CACrB,GAAI,EAAAA,GAASA,EAAM,cAAgB+G,GAEnC,IAAI/G,GAASA,EAAM,KAAO,KAAM,CAC9BsH,EAAK,MAAQZ,EACb,MACF,CACA,GAAI,EAAA1G,GAASA,EAAM,MAAQuH,EAAY,OAEvC,CAAAI,EAAU,EACV,GAAI,EACG3H,GAAS,KAAO,OAASA,EAAM,YAAc0H,EAAW,MAAMJ,EAAK,KAAK,IAC3EA,EAAK,MAAQkB,EAAKxI,CAAK,EAC3B,OAASI,EAAG,CACVgH,EAAQhH,CAAC,CACX,QAAC,CACKJ,EACFpC,EAAAA,SAASgK,CAAW,EAEpBA,EAAW,CACf,GACF,CACA,SAASO,EAAsBnI,EAAO,CACpC8H,EAAO9H,EAAM,MAAM,CACrB,CACA,OAAOsH,CACT,CACA,MAAMoB,GAAoB,8KAC1B,SAASC,GAAa1N,EAAU,GAAI,CAClC,KAAM,CACJ,SAAA2N,EAAW,OACX,UAAAC,EAAY,QACZ,aAAAC,EAAe,OACf,OAAQ/H,EAAUxB,GAClB,QAAAwH,EACA,WAAAgC,EAAa,sBACb,uBAAA/B,EAAyB,GACzB,WAAAgC,EACA,SAAAC,EACA,kBAAAC,EAAoB,EACxB,EAAMjO,EACEkO,EAAQ,CACZ,KAAM,GACN,MAAO,QACP,KAAM,OACN,GAAGlO,EAAQ,OAAS,CAAA,CACxB,EACQmO,EAAgC5C,GAAiB,CAAE,OAAQzF,CAAO,CAAE,EACpEsI,EAASzS,EAAAA,SAAS,IAAMwS,EAAc,MAAQ,OAAS,OAAO,EAC9DE,EAAQN,IAAeD,GAAc,KAAO5P,GAAM2P,CAAY,EAAIjC,GAAWkC,EAAYD,EAAc/B,EAAS,CAAE,OAAQhG,EAAS,uBAAAiG,CAAsB,CAAE,GAC3JhP,EAAQpB,WAAS,IAAM0S,EAAM,QAAU,OAASD,EAAO,MAAQC,EAAM,KAAK,EAC1EC,EAAkBjD,GACtB,kBACA,CAACkD,EAAWC,EAAY/U,IAAU,CAChC,MAAMqL,EAAK,OAAOyJ,GAAc,SAAWzI,GAAW,KAAO,OAASA,EAAQ,SAAS,cAAcyI,CAAS,EAAIhK,GAAagK,CAAS,EACxI,GAAI,CAACzJ,EACH,OACF,MAAM2J,EAA+B,IAAI,IACnCC,EAAkC,IAAI,IAC5C,IAAIC,EAAoB,KACxB,GAAIH,IAAe,QAAS,CAC1B,MAAM5D,EAAUnR,EAAM,MAAM,KAAK,EACjC,OAAO,OAAOyU,CAAK,EAAE,QAASU,IAAOA,GAAK,IAAI,MAAM,KAAK,CAAC,EAAE,OAAO,OAAO,EAAE,QAAShT,GAAM,CACrFgP,EAAQ,SAAShP,CAAC,EACpB6S,EAAa,IAAI7S,CAAC,EAElB8S,EAAgB,IAAI9S,CAAC,CACzB,CAAC,CACH,MACE+S,EAAoB,CAAE,IAAKH,EAAY,MAAA/U,CAAK,EAE9C,GAAIgV,EAAa,OAAS,GAAKC,EAAgB,OAAS,GAAKC,IAAsB,KACjF,OACF,IAAIE,EACAZ,IACFY,EAAQ/I,EAAQ,SAAS,cAAc,OAAO,EAC9C+I,EAAM,YAAY,SAAS,eAAepB,EAAiB,CAAC,EAC5D3H,EAAQ,SAAS,KAAK,YAAY+I,CAAK,GAEzC,UAAWzN,KAAKqN,EACd3J,EAAG,UAAU,IAAI1D,CAAC,EAEpB,UAAWA,KAAKsN,EACd5J,EAAG,UAAU,OAAO1D,CAAC,EAEnBuN,GACF7J,EAAG,aAAa6J,EAAkB,IAAKA,EAAkB,KAAK,EAE5DV,IACFnI,EAAQ,iBAAiB+I,CAAK,EAAE,QAChC,SAAS,KAAK,YAAYA,CAAK,EAEnC,CACJ,EACE,SAASC,EAAiBC,EAAM,CAC9B,IAAIxS,EACJ+R,EAAgBX,EAAUC,GAAYrR,EAAK2R,EAAMa,CAAI,IAAM,KAAOxS,EAAKwS,CAAI,CAC7E,CACA,SAASC,EAAUD,EAAM,CACnB/O,EAAQ,UACVA,EAAQ,UAAU+O,EAAMD,CAAgB,EAExCA,EAAiBC,CAAI,CACzB,CACAjT,EAAAA,MAAMiB,EAAOiS,EAAW,CAAE,MAAO,OAAQ,UAAW,GAAM,EAC1DxM,GAAa,IAAMwM,EAAUjS,EAAM,KAAK,CAAC,EACzC,MAAMkS,EAAOtT,EAAAA,SAAS,CACpB,KAAM,CACJ,OAAOqS,EAAWK,EAAM,MAAQtR,EAAM,KACxC,EACA,IAAInB,EAAG,CACLyS,EAAM,MAAQzS,CAChB,CACJ,CAAG,EACD,OAAO,OAAO,OAAOqT,EAAM,CAAE,MAAAZ,EAAO,OAAAD,EAAQ,MAAArR,EAAO,CACrD,CACA,SAASmS,GAAgBpK,EAAI9E,EAAU,GAAI,CACzC,KAAM,CACJ,WAAAmP,EAAa,EACb,WAAAC,EAAa,EACb,iBAAAC,EAAmB,GACnB,OAAQvJ,EAAUxB,EACtB,EAAMtE,EACEsP,EAAYvM,EAAAA,WAAW,EAAK,EAClC,IAAI9D,EACJ,MAAMsQ,EAAUC,GAAa,CAC3B,MAAMC,EAAQD,EAAWL,EAAaC,EAClCnQ,IACF,aAAaA,CAAK,EAClBA,EAAQ,QAENwQ,EACFxQ,EAAQ,WAAW,IAAMqQ,EAAU,MAAQE,EAAUC,CAAK,EAE1DH,EAAU,MAAQE,CACtB,EACA,OAAK1J,IAELpB,GAAiBI,EAAI,aAAc,IAAMyK,EAAO,EAAI,EAAG,CAAE,QAAS,GAAM,EACxE7K,GAAiBI,EAAI,aAAc,IAAMyK,EAAO,EAAK,EAAG,CAAE,QAAS,GAAM,EACrEF,GACF5H,GACE9L,WAAS,IAAM4I,GAAaO,CAAE,CAAC,EAC/B,IAAMyK,EAAO,EAAK,CACxB,GAESD,CACT,CACA,SAASI,GAAwBnP,EAAQyG,EAAUhH,EAAU,CAAA,EAAI,CAC/D,KAAM,CACJ,KAAA2P,EACA,WAAAC,EAAa,MACb,UAAAC,EAAY,EACZ,OAAQ/J,EAAUxB,GAClB,UAAArC,EAAY,EAChB,EAAMjC,EACEoH,EAA8BL,GAAa,IAAMjB,GAAW,yBAA0BA,CAAO,EAC7FuB,EAAU1L,EAAAA,SAAS,IAAM,CAC7B,MAAMmU,EAAUjU,EAAAA,QAAQ0E,CAAM,EAC9B,OAAOM,GAAQiP,CAAO,EAAE,IAAIvL,EAAY,EAAE,OAAO9G,EAAU,CAC7D,CAAC,EACD,IAAImH,EAAU9G,GACd,MAAMoC,EAAW6C,EAAAA,WAAWd,CAAS,EAC/BiB,EAAYkE,EAAY,MAAQtL,EAAAA,MACpC,IAAM,CAACuL,EAAQ,MAAO9C,GAAaoL,CAAI,EAAGzP,EAAS,KAAK,EACxD,CAAC,CAACqH,EAAUwI,CAAK,IAAM,CAIrB,GAHAnL,EAAO,EACH,CAAC1E,EAAS,OAEV,CAACqH,EAAS,OACZ,OACF,MAAMJ,EAAW,IAAI,qBACnBH,EACA,CACE,KAAMzC,GAAawL,CAAK,EACxB,WAAAH,EACA,UAAAC,CACV,CACA,EACMtI,EAAS,QAASzC,GAAOA,GAAMqC,EAAS,QAAQrC,CAAE,CAAC,EACnDF,EAAU,IAAM,CACduC,EAAS,WAAU,EACnBvC,EAAU9G,EACZ,CACF,EACA,CAAE,UAAAmE,EAAW,MAAO,MAAM,CAC9B,EAAMnE,GACE4H,EAAO,IAAM,CACjBd,EAAO,EACP1B,EAAS,EACThD,EAAS,MAAQ,EACnB,EACA,OAAAlE,GAAkB0J,CAAI,EACf,CACL,YAAA0B,EACA,SAAAlH,EACA,OAAQ,CACN0E,EAAO,EACP1E,EAAS,MAAQ,EACnB,EACA,QAAS,CACPA,EAAS,MAAQ,EACnB,EACA,KAAAwF,CACJ,CACA,CACA,SAASsK,GAASzP,EAAQP,EAAU,GAAI,CACtC,KAAM,CAAE,aAAA6N,EAAe,GAAO,aAAAoC,EAAe,GAAO,cAAAC,EAAgB,EAAK,EAAKlQ,EACxEmQ,EAAepN,EAAAA,WAAW,EAAK,EAC/BqN,EAAgBzU,EAAAA,SAAS,IAAM4I,GAAahE,CAAM,CAAC,EACnD4F,EAAkB,CAAE,QAAS,EAAI,EACvCzB,GAAiB0L,EAAe,QAAUrL,GAAU,CAClD,IAAIxI,EAAI0B,GACJ,CAACgS,IAAkBhS,GAAM1B,EAAKwI,EAAM,QAAQ,UAAY,MAAgB9G,EAAG,KAAK1B,EAAI,gBAAgB,KACtG4T,EAAa,MAAQ,GACzB,EAAGhK,CAAe,EAClBzB,GAAiB0L,EAAe,OAAQ,IAAMD,EAAa,MAAQ,GAAOhK,CAAe,EACzF,MAAMkK,EAAU1U,EAAAA,SAAS,CACvB,IAAK,IAAMwU,EAAa,MACxB,IAAI1W,EAAO,CACT,IAAI8C,EAAI0B,EACJ,CAACxE,GAAS0W,EAAa,OACxB5T,EAAK6T,EAAc,QAAU,MAAgB7T,EAAG,KAAI,EAC9C9C,GAAS,CAAC0W,EAAa,SAC7BlS,EAAKmS,EAAc,QAAU,MAAgBnS,EAAG,MAAM,CAAE,cAAAiS,EAAe,EAC5E,CACJ,CAAG,EACDpU,OAAAA,EAAAA,MACEsU,EACA,IAAM,CACJC,EAAQ,MAAQxC,CAClB,EACA,CAAE,UAAW,GAAM,MAAO,MAAM,CACpC,EACS,CAAE,QAAAwC,CAAO,CAClB,CACA,SAASC,GAAexL,EAAI,CAC1B,OAAI,OAAO,OAAW,KAAeA,aAAc,OAC1CA,EAAG,SAAS,gBACjB,OAAO,SAAa,KAAeA,aAAc,SAC5CA,EAAG,gBACLA,CACT,CACA,MAAMyL,GAA4B,CAChC,KAAOxL,GAAU,CAACA,EAAM,MAAOA,EAAM,KAAK,EAC1C,OAASA,GAAU,CAACA,EAAM,QAASA,EAAM,OAAO,EAChD,OAASA,GAAU,CAACA,EAAM,QAASA,EAAM,OAAO,EAChD,SAAWA,GAAUA,aAAiB,WAAa,CAACA,EAAM,UAAWA,EAAM,SAAS,EAAI,IAC1F,EACA,SAASyL,GAASxQ,EAAU,GAAI,CAC9B,KAAM,CACJ,KAAAwM,EAAO,OACP,MAAAiE,EAAQ,GACR,iBAAAC,EAAmB,GACnB,aAAA7C,EAAe,CAAE,EAAG,EAAG,EAAG,CAAC,EAC3B,OAAQ/H,EAAUxB,GAClB,OAAA/D,EAASuF,EACT,OAAA6K,EAAS,GACT,YAAAtQ,CACJ,EAAML,EACJ,IAAI4Q,EAAkB,KAClBC,EAAe,EACfC,EAAe,EACnB,MAAMC,EAAIhO,EAAAA,WAAW8K,EAAa,CAAC,EAC7BmD,EAAIjO,EAAAA,WAAW8K,EAAa,CAAC,EAC7BoD,EAAalO,EAAAA,WAAW,IAAI,EAC5BmO,EAAY,OAAO1E,GAAS,WAAaA,EAAO+D,GAA0B/D,CAAI,EAC9E2E,EAAgBpM,GAAU,CAC9B,MAAMrE,EAASwQ,EAAUnM,CAAK,EAC9B6L,EAAkB7L,EACdrE,IACF,CAACqQ,EAAE,MAAOC,EAAE,KAAK,EAAItQ,EACrBuQ,EAAW,MAAQ,SAEjBnL,IACF+K,EAAe/K,EAAQ,QACvBgL,EAAehL,EAAQ,QAE3B,EACMsL,EAAgBrM,GAAU,CAC9B,GAAIA,EAAM,QAAQ,OAAS,EAAG,CAC5B,MAAMrE,EAASwQ,EAAUnM,EAAM,QAAQ,CAAC,CAAC,EACrCrE,IACF,CAACqQ,EAAE,MAAOC,EAAE,KAAK,EAAItQ,EACrBuQ,EAAW,MAAQ,QAEvB,CACF,EACMI,EAAgB,IAAM,CAC1B,GAAI,CAACT,GAAmB,CAAC9K,EACvB,OACF,MAAMwL,EAAMJ,EAAUN,CAAe,EACjCA,aAA2B,YAAcU,IAC3CP,EAAE,MAAQO,EAAI,CAAC,EAAIxL,EAAQ,QAAU+K,EACrCG,EAAE,MAAQM,EAAI,CAAC,EAAIxL,EAAQ,QAAUgL,EAEzC,EACMS,EAAQ,IAAM,CAClBR,EAAE,MAAQlD,EAAa,EACvBmD,EAAE,MAAQnD,EAAa,CACzB,EACM2D,EAAsBnR,EAAe0E,GAAU1E,EAAY,IAAM8Q,EAAapM,CAAK,EAAG,CAAA,CAAE,EAAKA,GAAUoM,EAAapM,CAAK,EACzH0M,EAAsBpR,EAAe0E,GAAU1E,EAAY,IAAM+Q,EAAarM,CAAK,EAAG,CAAA,CAAE,EAAKA,GAAUqM,EAAarM,CAAK,EACzH2M,EAAuBrR,EAAc,IAAMA,EAAY,IAAMgR,IAAiB,CAAA,CAAE,EAAI,IAAMA,EAAa,EAC7G,GAAI9Q,EAAQ,CACV,MAAM4F,EAAkB,CAAE,QAAS,EAAI,EACvCzB,GAAiBnE,EAAQ,CAAC,YAAa,UAAU,EAAGiR,EAAqBrL,CAAe,EACpFsK,GAASjE,IAAS,aACpB9H,GAAiBnE,EAAQ,CAAC,aAAc,WAAW,EAAGkR,EAAqBtL,CAAe,EACtFuK,GACFhM,GAAiBnE,EAAQ,WAAYgR,EAAOpL,CAAe,GAE3DwK,GAAUnE,IAAS,QACrB9H,GAAiBoB,EAAS,SAAU4L,EAAsBvL,CAAe,CAC7E,CACA,MAAO,CACL,EAAA4K,EACA,EAAAC,EACA,WAAAC,CACJ,CACA,CACA,SAASU,GAAoBC,EAAK,CAChC,MAAM/C,EAAQ,OAAO,iBAAiB+C,CAAG,EACzC,GAAI/C,EAAM,YAAc,UAAYA,EAAM,YAAc,UAAYA,EAAM,YAAc,QAAU+C,EAAI,YAAcA,EAAI,aAAe/C,EAAM,YAAc,QAAU+C,EAAI,aAAeA,EAAI,aAC1L,MAAO,GACF,CACL,MAAMC,EAASD,EAAI,WACnB,MAAI,CAACC,GAAUA,EAAO,UAAY,OACzB,GACFF,GAAoBE,CAAM,CACnC,CACF,CACA,SAASC,GAAeC,EAAU,CAChC,MAAM5M,EAAI4M,GAAY,OAAO,MACvBjC,EAAU3K,EAAE,OAClB,OAAIwM,GAAoB7B,CAAO,EACtB,GACL3K,EAAE,QAAQ,OAAS,EACd,IACLA,EAAE,gBACJA,EAAE,eAAc,EACX,GACT,CACA,MAAM6M,GAAoC,IAAI,QAC9C,SAASC,GAAcC,EAASjS,EAAe,GAAO,CACpD,MAAMkS,EAAWpP,EAAAA,WAAW9C,CAAY,EACxC,IAAImS,EAAwB,KACxBC,EAAkB,GACtBvW,EAAAA,MAAMoC,GAAMgU,CAAO,EAAIpN,GAAO,CAC5B,MAAMvE,EAAS+P,GAAezU,EAAAA,QAAQiJ,CAAE,CAAC,EACzC,GAAIvE,EAAQ,CACV,MAAMqR,EAAMrR,EAKZ,GAJKyR,GAAkB,IAAIJ,CAAG,GAC5BI,GAAkB,IAAIJ,EAAKA,EAAI,MAAM,QAAQ,EAC3CA,EAAI,MAAM,WAAa,WACzBS,EAAkBT,EAAI,MAAM,UAC1BA,EAAI,MAAM,WAAa,SACzB,OAAOO,EAAS,MAAQ,GAC1B,GAAIA,EAAS,MACX,OAAOP,EAAI,MAAM,SAAW,QAChC,CACF,EAAG,CACD,UAAW,EACf,CAAG,EACD,MAAMU,EAAO,IAAM,CACjB,MAAMxN,EAAKwL,GAAezU,EAAAA,QAAQqW,CAAO,CAAC,EACtC,CAACpN,GAAMqN,EAAS,QAEhBpU,KACFqU,EAAwB1N,GACtBI,EACA,YACCK,GAAM,CACL2M,GAAe3M,CAAC,CAClB,EACA,CAAE,QAAS,EAAK,CACxB,GAEIL,EAAG,MAAM,SAAW,SACpBqN,EAAS,MAAQ,GACnB,EACMI,EAAS,IAAM,CACnB,MAAMzN,EAAKwL,GAAezU,EAAAA,QAAQqW,CAAO,CAAC,EACtC,CAACpN,GAAM,CAACqN,EAAS,QAEjBpU,KACFqU,GAAyB,MAAgBA,EAAqB,GAChEtN,EAAG,MAAM,SAAWuN,EACpBL,GAAkB,OAAOlN,CAAE,EAC3BqN,EAAS,MAAQ,GACnB,EACA,OAAAnW,GAAkBuW,CAAM,EACjB5W,WAAS,CACd,KAAM,CACJ,OAAOwW,EAAS,KAClB,EACA,IAAIvW,EAAG,CACDA,EACF0W,EAAI,EACDC,EAAM,CACb,CACJ,CAAG,CACH,CACA,SAASC,GAASjS,EAAQP,EAAU,GAAI,CACtC,KAAM,CACJ,UAAA6P,EAAY,GACZ,QAAA4C,EACA,WAAAC,EACA,aAAAC,EACA,QAAArK,EAAU,EACd,EAAMtI,EACE4S,EAAcC,EAAAA,SAAS,CAAE,EAAG,EAAG,EAAG,EAAG,EACrCC,EAAYD,EAAAA,SAAS,CAAE,EAAG,EAAG,EAAG,EAAG,EACnCE,EAAQpX,EAAAA,SAAS,IAAMiX,EAAY,EAAIE,EAAU,CAAC,EAClDE,EAAQrX,EAAAA,SAAS,IAAMiX,EAAY,EAAIE,EAAU,CAAC,EAClD,CAAE,IAAAG,EAAK,IAAAC,CAAG,EAAK,KACfC,EAAsBxX,EAAAA,SAAS,IAAMsX,EAAIC,EAAIH,EAAM,KAAK,EAAGG,EAAIF,EAAM,KAAK,CAAC,GAAKnD,CAAS,EACzFuD,EAAYrQ,EAAAA,WAAW,EAAK,EAC5Bb,EAAYvG,EAAAA,SAAS,IACpBwX,EAAoB,MAErBD,EAAIH,EAAM,KAAK,EAAIG,EAAIF,EAAM,KAAK,EAC7BD,EAAM,MAAQ,EAAI,OAAS,QAE3BC,EAAM,MAAQ,EAAI,KAAO,OAJzB,MAMV,EACKK,EAAuBlO,GAAM,CAACA,EAAE,QAAQ,CAAC,EAAE,QAASA,EAAE,QAAQ,CAAC,EAAE,OAAO,EACxEmO,EAAoB,CAAC,EAAGtC,IAAM,CAClC4B,EAAY,EAAI,EAChBA,EAAY,EAAI5B,CAClB,EACMuC,EAAkB,CAAC,EAAGvC,IAAM,CAChC8B,EAAU,EAAI,EACdA,EAAU,EAAI9B,CAChB,EACM7K,EAAkB,CAAE,QAAAmC,EAAS,QAAS,CAACA,CAAO,EAC9CkL,EAAcrO,GAAM,CACpBiO,EAAU,QACZV,GAAc,MAAgBA,EAAWvN,EAAGjD,EAAU,KAAK,GAC7DkR,EAAU,MAAQ,EACpB,EACMK,EAAQ,CACZ/O,GAAiBnE,EAAQ,aAAe4E,GAAM,CAC5C,GAAIA,EAAE,QAAQ,SAAW,EACvB,OACF,KAAM,CAAC4L,EAAGC,CAAC,EAAIqC,EAAoBlO,CAAC,EACpCmO,EAAkBvC,EAAGC,CAAC,EACtBuC,EAAgBxC,EAAGC,CAAC,EACpB2B,GAAgB,MAAgBA,EAAaxN,CAAC,CAChD,EAAGgB,CAAe,EAClBzB,GAAiBnE,EAAQ,YAAc4E,GAAM,CAC3C,GAAIA,EAAE,QAAQ,SAAW,EACvB,OACF,KAAM,CAAC4L,EAAGC,CAAC,EAAIqC,EAAoBlO,CAAC,EACpCoO,EAAgBxC,EAAGC,CAAC,EAChB7K,EAAgB,SAAW,CAACA,EAAgB,SAAW,KAAK,IAAI4M,EAAM,KAAK,EAAI,KAAK,IAAIC,EAAM,KAAK,GACrG7N,EAAE,eAAc,EACd,CAACiO,EAAU,OAASD,EAAoB,QAC1CC,EAAU,MAAQ,IAChBA,EAAU,QACZX,GAAW,MAAgBA,EAAQtN,CAAC,EACxC,EAAGgB,CAAe,EAClBzB,GAAiBnE,EAAQ,CAAC,WAAY,aAAa,EAAGiT,EAAYrN,CAAe,CACrF,EAEE,MAAO,CACL,UAAAiN,EACA,UAAAlR,EACA,YAAA0Q,EACA,UAAAE,EACA,QAASC,EACT,QAASC,EACT,KARW,IAAMS,EAAM,QAASC,GAAMA,GAAG,EAUzC,wBAAyB,EAC7B,CACA,CACA,SAASC,GAAa3T,EAAU,GAAI,CAClC,KAAM,CACJ,SAAU4T,EAAiB,GAC3B,OAAAC,EAAS,EACT,UAAA5R,EAAY,GACZ,SAAAY,EAAW,wBACX,SAAAmE,CACJ,EAAMhH,EACE8T,EAAK/Q,EAAAA,WAAWlF,GAAS,EAAKgW,CAAM,EACpChH,EAAS,IAAMiH,EAAG,MAAQjW,GAAS,EAAKgW,EACxCpS,EAAKuF,EAAW,IAAM,CAC1B6F,EAAM,EACN7F,EAAS8M,EAAG,KAAK,CACnB,EAAIjH,EACE3G,EAAWrD,IAAa,wBAA0B4F,GAAShH,EAAI,CAAE,UAAAQ,CAAS,CAAE,EAAIW,GAAcnB,EAAIoB,EAAU,CAAE,UAAAZ,CAAS,CAAE,EAC/H,OAAI2R,EACK,CACL,UAAWE,EACX,GAAG5N,CACT,EAEW4N,CAEX,CC3pCK,MAACpG,GAAe,CAACqG,EAAO,KAAO,CAClC,MAAMC,EAAUD,EAAK,SAAW,GAC1BnG,EAAY,gBACZD,EAAW,OACjB,OAAOsG,GAAe,CACpB,UAAArG,EACA,SAAAD,EACA,WAAYqG,IAAY,GAAO,YAAYD,EAAK,WAAanG,CAAS,IAAImG,EAAK,UAAYpG,CAAQ,GAAK,KACxG,GAAGoG,CACP,CAAG,CACH,ECTA,SAASG,GAAaC,EAAK9F,EAAO,CAChC,IAAI+F,EAAc,IAAM,CACxB,EACA,MAAMC,EAAU,IAAI,QAAS1V,GAAY,CACvCyV,EAAczV,CAChB,CAAC,EACD,cAAO,OAAO0V,EAAS,CACrB,GAAIF,EACJ,IAAK,KACL,MAAO,CACL,MAAMG,EAAiB,KAAK,IAC5B,GAAIA,GAAA,MAAAA,EAAgB,KAClBA,EAAe,KAAI,MACd,QAAO,KAAK,IAAI,CAAE,WAAY,EAAI,CAAE,EAC3C,OAAOD,CACT,EACA,KAAKE,EAAS,CACZ,MAAMD,EAAiB,KAAK,IAC5B,GAAIA,GAAA,MAAAA,EAAgB,KAClBA,EAAe,KAAKC,EAAS,EAAI,MAC5B,QAAO,KAAK,IAAI,CAAE,WAAY,EAAK,CAAE,EAC5C,OAAOF,CACT,EACA,QAAS,CACP,MAAMG,EAAc,KAAK,IAAG,EACtBF,EAAiB,KAAK,IAC5B,GAAIA,GAAA,MAAAA,EAAgB,OAClBA,EAAe,OAAM,MAChB,QAAO,KAAK,IAAI,CAAE,WAAY,EAACE,GAAA,MAAAA,EAAa,YAAY,EAC/D,OAAOH,CACT,EACA,KAAM,CACJ,OAAOhG,EAAM,MAAM,KAAMvJ,GAAOA,EAAG,QAAUqP,CAAG,CAClD,EACA,IAAIzW,EAAK,OACP,MAAM+W,EAAYpG,EAAM,MAAM,UAAWvJ,GAAOA,EAAG,QAAUqP,CAAG,EAC1DO,EAAOrG,EAAM,MAAMoG,CAAS,EAClC,GAAIC,EAAM,CACR,MAAM9Y,EAAI,CAAE,GAAGC,EAAAA,QAAQ6Y,CAAI,EAAG,GAAG7Y,EAAAA,QAAQ6B,CAAG,CAAC,EACzCgX,EAAK,aAAe9Y,EAAE,cACxBW,EAAAmY,EAAK,yBAAL,MAAAnY,EAAA,KAAAmY,EAA8B9Y,EAAE,aAElC,MAAM+Y,EAAc,CAClB,GAAG/Y,EACH,WAAYC,EAAAA,QAAQD,EAAE,UAAU,CAC1C,EACcgZ,EAAUhZ,EACZ,UAAWgZ,GAAWA,EAAQ,QAAU,SAC1CD,EAAY,MAAQ9Y,UAAQ+Y,EAAQ,KAAK,GAEvC,SAAUA,GAAWA,EAAQ,OAAS,SACxCD,EAAY,KAAO9Y,UAAQ+Y,EAAQ,IAAI,GAEzCvG,EAAM,MAAM,OAAOoG,EAAW,EAAGE,CAAW,CAC9C,CACA,OAAON,CACT,EACA,MAAM,SAAU,SACd,MAAMK,EAAOrG,EAAM,MAAM,KAAMvJ,GAAOA,EAAG,QAAUqP,CAAG,EACjDO,KACLzW,GAAA1B,EAAAmY,EAAK,SAAQ,OAAb,MAAAzW,EAAA,KAAA1B,GACImY,EAAK,YACP,MAAM,IAAI,QAAS/V,GAAY,CAC7B,MAAMkW,EAAOH,EAAK,SAClBA,EAAK,SAAevP,GAAM,CACxB0P,GAAA,MAAAA,EAAO1P,GACPxG,EAAQwG,CAAC,CACX,EACAxC,EAAAA,SAAS,IAAM,CACb,KAAK,KAAK,SAAS,CACrB,CAAC,CACH,CAAC,EAEH0L,EAAM,MAAM,OACVA,EAAM,MAAM,UAAWvJ,GAAOA,EAAG,QAAUqP,CAAG,EAC9C,CACR,EACI,EACA,MAAO,OAAO,YAAY,GAAI,CAC5B,MAAM,KAAK,QAAO,CACpB,CACJ,CAAG,EACM,CACL,MAAOE,EACP,QAASD,EACT,KAAM,MACV,CACA,CACA,MAAMU,GAA2B,KAAO,CACtC,MAAOvW,EAAAA,IAAI,EAAE,EACb,yBAA0BA,EAAAA,IAAI,EAAK,EACnC,eAAgBA,EAAAA,IAAI,EAAK,CAC3B,GACMwW,GAA0B,IAAM,CACpC,MAAMC,EAAuBvZ,EAAAA,OAAOP,GAAyB,MAAM,EACnE,GAAI8Z,EACF,OAAOA,EAET,MAAMC,EAA0BH,GAAwB,EACxDI,OAAAA,EAAAA,QAAQha,GAAyB+Z,CAAuB,EACjDA,CACT,ECvGME,GAA6B,CACjC,WAAY,yBACZ,eAAgB,yBAChB,OAAQ,qBACR,KAAM,mBACN,QAAS,sBACT,aAAc,sBACd,OAAQ,qBACR,YAAa,0BACb,gBAAiB,0BACjB,QAAS,sBACT,aAAc,sBACd,eAAgB,sBAChB,aAAc,sBACd,MAAO,oBACP,UAAW,oBACX,YAAa,oBACb,WAAY,oBACZ,YAAa,oBACb,SAAU,oBACV,cAAe,oBACf,UAAW,oBACX,WAAY,oBACZ,UAAW,wBACX,eAAgB,wBAChB,KAAM,yBACN,UAAW,wBACX,WAAY,yBACZ,UAAW,wBACX,iBAAkB,wBAClB,cAAe,wBACf,eAAgB,wBAChB,gBAAiB,wBACjB,cAAe,wBACf,oBAAqB,wBACrB,cAAe,wBACf,MAAO,oBACP,cAAe,4BACf,mBAAoB,4BACpB,cAAe,oBACf,UAAW,wBACX,mBAAoB,oBACpB,WAAY,yBACZ,WAAY,yBACZ,qBAAsB,oBACtB,WAAY,yBACZ,gBAAiB,yBACjB,YAAa,0BACb,SAAU,oBACV,YAAa,0BACb,kBAAmB,0BACnB,uBAAwB,0BACxB,gBAAiB,8BACjB,SAAU,wBACV,UAAW,wBACX,UAAW,oBACX,cAAe,4BACf,mBAAoB,oBACpB,KAAM,mBACN,OAAQ,yBACR,YAAa,0BACb,gBAAiB,0BACjB,WAAY,yBACZ,eAAgB,yBAChB,OAAQ,qBACR,mBAAoB,qBACpB,KAAM,mBACN,SAAU,mBACV,SAAU,mBACV,iBAAkB,mBAClB,SAAU,mBACV,QAAS,sBACT,aAAc,sBACd,WAAY,sBACZ,cAAe,sBACf,WAAY,yBACZ,SAAU,uBACV,cAAe,mBACf,YAAa,0BACb,aAAc,2BACd,mBAAoB,2BACpB,iBAAkB,2BAClB,kBAAmB,2BACnB,oBAAqB,2BACrB,SAAU,uBACV,UAAW,wBACX,KAAM,yBACN,SAAU,uBACV,KAAM,oBACN,MAAO,oBACP,OAAQ,qBACR,mBAAoB,qBACpB,SAAU,uBACV,MAAO,oBACP,aAAc,wBACd,aAAc,qBACd,WAAY,qBACZ,OAAQ,qBACR,OAAQ,qBACR,IAAK,qBACL,IAAK,qBACL,OAAQ,qBACR,OAAQ,qBACR,IAAK,qBACL,qBAAsB,sBACxB,EACMC,GAAiB,OAAO,OAC5B,OAAO,KAAKD,EAA0B,CACxC,EACME,GAA6B,CACjC,YAAa,yBACb,QAAS,qBACT,UAAW,uBACX,YAAa,yBACb,SAAU,sBACV,UAAW,sBACb,EACMC,GAAiB,OAAO,OAC5B,OAAO,KAAKD,EAA0B,CACxC,EACME,GAA8B,CAClC,cAAe,6BACf,aAAc,4BACd,SAAU,wBACV,mBAAoB,wBACpB,cAAe,6BACf,aAAc,4BACd,SAAU,wBACV,mBAAoB,wBACpB,UAAW,yBACX,WAAY,0BACZ,qBAAsB,0BACtB,YAAa,2BACb,mBAAoB,kCACpB,wBAAyB,iCAC3B,EACMC,GAAkB,OAAO,OAC7B,OAAO,KAAKD,EAA2B,CACzC,ECzIME,GAAY3R,EAAAA,gBAAgB,CAChC,KAAM,sBACN,aAAc,GACd,MAAO,CACL,GAAI,CACF,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,IACf,EACI,SAAU,CACR,KAAM,QACN,SAAU,EAChB,CACA,EACE,MAAO,OACP,MAAMG,EAAO,CAAE,MAAAF,GAAS,CACtB,MAAO,aAAM,OAACE,EAAM,GAA2ByR,EAAAA,EAAEC,WAAU,CAAE,GAAI1R,EAAM,GAAI,SAAUA,EAAM,UAAY,CAACA,EAAM,EAAE,EAAI,EAAChG,EAAA8F,EAAM,UAAN,YAAA9F,EAAA,KAAA8F,EAAgB,CAAA,EAAG,CAAC,GAAhHxH,EAAAwH,EAAM,UAAN,YAAAxH,EAAA,KAAAwH,EAAgB,CAAA,GAC3C,CACF,CAAC,ECjBK0R,GAAY3R,EAAAA,gBAAgB,CAChC,KAAM,qBACN,aAAc,GACd,MAAO,CACL,IAAK,CACH,KAAM,OACN,QAAS,KACf,EACI,KAAM,CACJ,KAAM,QACN,SAAU,EAChB,CACA,EACE,MAAO,OACP,MAAMG,EAAO,CAAE,MAAAF,EAAO,MAAAG,CAAK,EAAI,CAC7B,MAAO,IAAA,SAAM,OAAAD,EAAM,MAAO1H,EAAAwH,EAAM,UAAN,YAAAxH,EAAA,KAAAwH,EAAgB,CAAA,GAAM2R,IAAEzR,EAAM,IAAK,CAAE,GAAGC,GAAS,EAACjG,EAAA8F,EAAM,UAAN,YAAA9F,EAAA,KAAA8F,EAAgB,CAAA,EAAG,CAAC,EAClG,CACF,CAAC,ECfD;AAAA;AAAA;AAAA,EAIA,IAAI6R,GAAqB,CAAC,qBAAsB,sBAAuB,wBAAyB,uBAAwB,sBAAuB,oCAAqC,+BAAgC,+BAAgC,gEAAiE,6CAA8C,sBAAsB,EACrXC,GAAoCD,GAAmB,KAAK,GAAG,EAC/DE,GAAY,OAAO,QAAY,IAC/BtM,GAAUsM,GAAY,UAAW,CACrC,EAAI,QAAQ,UAAU,SAAW,QAAQ,UAAU,mBAAqB,QAAQ,UAAU,sBACtFC,GAAc,CAACD,IAAa,QAAQ,UAAU,YAAc,SAAS5D,EAAS,CAChF,IAAI8D,EACJ,OAAO9D,GAAY,OAAuC8D,EAAuB9D,EAAQ,eAAiB,MAAQ8D,IAAyB,OAA3F,OAA6GA,EAAqB,KAAK9D,CAAO,CAChM,EAAI,SAASA,EAAS,CACpB,OAAOA,GAAY,KAA6B,OAASA,EAAQ,aACnE,EACI+D,GAAU,SAASC,EAASlO,EAAMmO,EAAQ,CAC5C,IAAIC,EACAD,IAAW,SACbA,EAAS,IAEX,IAAIE,EAAWrO,GAAS,OAAoCoO,EAAqBpO,EAAK,gBAAkB,MAAQoO,IAAuB,OAArF,OAAuGA,EAAmB,KAAKpO,EAAM,OAAO,EAC1LsO,EAAQD,IAAa,IAAMA,IAAa,OACxC3V,EAAS4V,GAASH,GAAUnO,GAAQkO,EAASlO,EAAK,UAAU,EAChE,OAAOtH,CACT,EACI6V,GAAoB,SAA4BvO,EAAM,CACxD,IAAIwO,EACAC,EAAWzO,GAAS,OAAoCwO,EAAsBxO,EAAK,gBAAkB,MAAQwO,IAAwB,OAAvF,OAAyGA,EAAoB,KAAKxO,EAAM,iBAAiB,EAC3M,OAAOyO,IAAa,IAAMA,IAAa,MACzC,EACIC,GAAgB,SAAwB5R,EAAI6R,EAAkBlY,EAAQ,CACxE,GAAIwX,GAAQnR,CAAE,EACZ,MAAO,CAAA,EAET,IAAI8R,EAAa,MAAM,UAAU,MAAM,MAAM9R,EAAG,iBAAiB+Q,EAAiB,CAAC,EACnF,OAAIc,GAAoBnN,GAAQ,KAAK1E,EAAI+Q,EAAiB,GACxDe,EAAW,QAAQ9R,CAAE,EAEvB8R,EAAaA,EAAW,OAAOnY,CAAM,EAC9BmY,CACT,EACIC,GAA2B,SAASC,EAA0BC,EAAUJ,EAAkB3W,EAAS,CAGrG,QAFI4W,EAAa,CAAA,EACbI,EAAkB,MAAM,KAAKD,CAAQ,EAClCC,EAAgB,QAAQ,CAC7B,IAAI9E,EAAU8E,EAAgB,MAAK,EACnC,GAAI,CAAAf,GAAQ/D,EAAS,EAAK,EAG1B,GAAIA,EAAQ,UAAY,OAAQ,CAC9B,IAAI+E,EAAW/E,EAAQ,iBAAgB,EACnCgF,EAAUD,EAAS,OAASA,EAAW/E,EAAQ,SAC/CiF,EAAmBL,EAA0BI,EAAS,GAAMlX,CAAO,EACnEA,EAAQ,QACV4W,EAAW,KAAK,MAAMA,EAAYO,CAAgB,EAElDP,EAAW,KAAK,CACd,YAAa1E,EACb,WAAYiF,CACtB,CAAS,CAEL,KAAO,CACL,IAAIC,EAAiB5N,GAAQ,KAAK0I,EAAS2D,EAAiB,EACxDuB,GAAkBpX,EAAQ,OAAOkS,CAAO,IAAMyE,GAAoB,CAACI,EAAS,SAAS7E,CAAO,IAC9F0E,EAAW,KAAK1E,CAAO,EAEzB,IAAImF,EAAanF,EAAQ,YACzB,OAAOlS,EAAQ,eAAkB,YAAcA,EAAQ,cAAckS,CAAO,EACxEoF,EAAkB,CAACrB,GAAQoB,EAAY,EAAK,IAAM,CAACrX,EAAQ,kBAAoBA,EAAQ,iBAAiBkS,CAAO,GACnH,GAAImF,GAAcC,EAAiB,CACjC,IAAIC,EAAoBT,EAA0BO,IAAe,GAAOnF,EAAQ,SAAWmF,EAAW,SAAU,GAAMrX,CAAO,EACzHA,EAAQ,QACV4W,EAAW,KAAK,MAAMA,EAAYW,CAAiB,EAEnDX,EAAW,KAAK,CACd,YAAa1E,EACb,WAAYqF,CACxB,CAAW,CAEL,MACEP,EAAgB,QAAQ,MAAMA,EAAiB9E,EAAQ,QAAQ,CAEnE,CACF,CACA,OAAO0E,CACT,EACIY,GAAc,SAAsBxP,EAAM,CAC5C,MAAO,CAAC,MAAM,SAASA,EAAK,aAAa,UAAU,EAAG,EAAE,CAAC,CAC3D,EACIyP,GAAc,SAAsBzP,EAAM,CAC5C,GAAI,CAACA,EACH,MAAM,IAAI,MAAM,kBAAkB,EAEpC,OAAIA,EAAK,SAAW,IACb,0BAA0B,KAAKA,EAAK,OAAO,GAAKuO,GAAkBvO,CAAI,IAAM,CAACwP,GAAYxP,CAAI,EACzF,EAGJA,EAAK,QACd,EACI0P,GAAuB,SAA+B1P,EAAM2P,EAAS,CACvE,IAAIC,EAAWH,GAAYzP,CAAI,EAC/B,OAAI4P,EAAW,GAAKD,GAAW,CAACH,GAAYxP,CAAI,EACvC,EAEF4P,CACT,EACIC,GAAuB,SAA+B/M,EAAGC,EAAG,CAC9D,OAAOD,EAAE,WAAaC,EAAE,SAAWD,EAAE,cAAgBC,EAAE,cAAgBD,EAAE,SAAWC,EAAE,QACxF,EACI+M,GAAU,SAAkB9P,EAAM,CACpC,OAAOA,EAAK,UAAY,OAC1B,EACI+P,GAAgB,SAAwB/P,EAAM,CAChD,OAAO8P,GAAQ9P,CAAI,GAAKA,EAAK,OAAS,QACxC,EACIgQ,GAAuB,SAA+BhQ,EAAM,CAC9D,IAAI5J,EAAI4J,EAAK,UAAY,WAAa,MAAM,UAAU,MAAM,MAAMA,EAAK,QAAQ,EAAE,KAAK,SAASrB,EAAO,CACpG,OAAOA,EAAM,UAAY,SAC3B,CAAC,EACD,OAAOvI,CACT,EACI6Z,GAAkB,SAA0BC,EAAOC,EAAM,CAC3D,QAASvJ,EAAI,EAAGA,EAAIsJ,EAAM,OAAQtJ,IAChC,GAAIsJ,EAAMtJ,CAAC,EAAE,SAAWsJ,EAAMtJ,CAAC,EAAE,OAASuJ,EACxC,OAAOD,EAAMtJ,CAAC,CAGpB,EACIwJ,GAAkB,SAA0BpQ,EAAM,CACpD,GAAI,CAACA,EAAK,KACR,MAAO,GAET,IAAIqQ,EAAarQ,EAAK,MAAQ+N,GAAY/N,CAAI,EAC1CsQ,EAAc,SAAsBze,EAAM,CAC5C,OAAOwe,EAAW,iBAAiB,6BAA+Bxe,EAAO,IAAI,CAC/E,EACI0e,EACJ,GAAI,OAAO,OAAW,KAAe,OAAO,OAAO,IAAQ,KAAe,OAAO,OAAO,IAAI,QAAW,WACrGA,EAAWD,EAAY,OAAO,IAAI,OAAOtQ,EAAK,IAAI,CAAC,MAEnD,IAAI,CACFuQ,EAAWD,EAAYtQ,EAAK,IAAI,CAClC,OAASwQ,EAAK,CACZ,eAAQ,MAAM,2IAA4IA,EAAI,OAAO,EAC9J,EACT,CAEF,IAAIC,EAAUR,GAAgBM,EAAUvQ,EAAK,IAAI,EACjD,MAAO,CAACyQ,GAAWA,IAAYzQ,CACjC,EACI0Q,GAAU,SAAkB1Q,EAAM,CACpC,OAAO8P,GAAQ9P,CAAI,GAAKA,EAAK,OAAS,OACxC,EACI2Q,GAAqB,SAA6B3Q,EAAM,CAC1D,OAAO0Q,GAAQ1Q,CAAI,GAAK,CAACoQ,GAAgBpQ,CAAI,CAC/C,EACI4Q,GAAiB,SAAyB5Q,EAAM,CAClD,IAAI6Q,EACAC,EAAW9Q,GAAQ+N,GAAY/N,CAAI,EACnC+Q,GAAgBF,EAAYC,KAAc,MAAQD,IAAc,OAAS,OAASA,EAAU,KAC5FG,EAAW,GACf,GAAIF,GAAYA,IAAa9Q,EAAM,CACjC,IAAIiR,EAAeC,EAAuBC,EAE1C,IADAH,EAAW,CAAC,GAAGC,EAAgBF,KAAkB,MAAQE,IAAkB,SAAWC,EAAwBD,EAAc,iBAAmB,MAAQC,IAA0B,QAAUA,EAAsB,SAASH,CAAY,GAAK/Q,GAAS,OAA4BmR,EAAsBnR,EAAK,iBAAmB,MAAQmR,IAAwB,QAAUA,EAAoB,SAASnR,CAAI,GAClY,CAACgR,GAAYD,GAAc,CAChC,IAAIK,EAAYC,EAAgBC,EAChCR,EAAW/C,GAAYgD,CAAY,EACnCA,GAAgBK,EAAaN,KAAc,MAAQM,IAAe,OAAS,OAASA,EAAW,KAC/FJ,EAAW,CAAC,GAAGK,EAAiBN,KAAkB,MAAQM,IAAmB,SAAWC,EAAwBD,EAAe,iBAAmB,MAAQC,IAA0B,QAAUA,EAAsB,SAASP,CAAY,EAC3O,CACF,CACA,OAAOC,CACT,EACIO,GAAa,SAAqBvR,EAAM,CAC1C,IAAIwR,EAAwBxR,EAAK,wBAAyByR,EAAQD,EAAsB,MAAOE,EAASF,EAAsB,OAC9H,OAAOC,IAAU,GAAKC,IAAW,CACnC,EACIC,GAAW,SAAmB3R,EAAM4R,EAAM,CAC5C,IAAIC,EAAeD,EAAK,aAAcE,EAAgBF,EAAK,cAC3D,GAAI,iBAAiB5R,CAAI,EAAE,aAAe,SACxC,MAAO,GAET,IAAI+R,EAAkBvQ,GAAQ,KAAKxB,EAAM,+BAA+B,EACpEgS,EAAmBD,EAAkB/R,EAAK,cAAgBA,EAC9D,GAAIwB,GAAQ,KAAKwQ,EAAkB,uBAAuB,EACxD,MAAO,GAET,GAAI,CAACH,GAAgBA,IAAiB,QAAUA,IAAiB,cAAe,CAC9E,GAAI,OAAOC,GAAkB,WAAY,CAEvC,QADIG,EAAejS,EACZA,GAAM,CACX,IAAIkS,EAAgBlS,EAAK,cACrBmS,EAAWpE,GAAY/N,CAAI,EAC/B,GAAIkS,GAAiB,CAACA,EAAc,YAAcJ,EAAcI,CAAa,IAAM,GACjF,OAAOX,GAAWvR,CAAI,EACbA,EAAK,aACdA,EAAOA,EAAK,aACH,CAACkS,GAAiBC,IAAanS,EAAK,cAC7CA,EAAOmS,EAAS,KAEhBnS,EAAOkS,CAEX,CACAlS,EAAOiS,CACT,CACA,GAAIrB,GAAe5Q,CAAI,EACrB,MAAO,CAACA,EAAK,eAAc,EAAG,OAEhC,GAAI6R,IAAiB,cACnB,MAAO,EAEX,SAAWA,IAAiB,gBAC1B,OAAON,GAAWvR,CAAI,EAExB,MAAO,EACT,EACIoS,GAAyB,SAAiCpS,EAAM,CAClE,GAAI,mCAAmC,KAAKA,EAAK,OAAO,EAEtD,QADIqS,EAAarS,EAAK,cACfqS,GAAY,CACjB,GAAIA,EAAW,UAAY,YAAcA,EAAW,SAAU,CAC5D,QAASzL,EAAI,EAAGA,EAAIyL,EAAW,SAAS,OAAQzL,IAAK,CACnD,IAAIjI,EAAQ0T,EAAW,SAAS,KAAKzL,CAAC,EACtC,GAAIjI,EAAM,UAAY,SACpB,OAAO6C,GAAQ,KAAK6Q,EAAY,sBAAsB,EAAI,GAAO,CAAC1T,EAAM,SAASqB,CAAI,CAEzF,CACA,MAAO,EACT,CACAqS,EAAaA,EAAW,aAC1B,CAEF,MAAO,EACT,EACIC,GAAkC,SAA0Cta,EAASgI,EAAM,CAC7F,MAAI,EAAAA,EAAK,UAGTiO,GAAQjO,CAAI,GAAK+P,GAAc/P,CAAI,GAAK2R,GAAS3R,EAAMhI,CAAO,GAC9DgY,GAAqBhQ,CAAI,GAAKoS,GAAuBpS,CAAI,EAI3D,EACIuS,GAAiC,SAAyCva,EAASgI,EAAM,CAC3F,MAAI,EAAA2Q,GAAmB3Q,CAAI,GAAKyP,GAAYzP,CAAI,EAAI,GAAK,CAACsS,GAAgCta,EAASgI,CAAI,EAIzG,EACIwS,GAA4B,SAAoCC,EAAgB,CAClF,IAAI7C,EAAW,SAAS6C,EAAe,aAAa,UAAU,EAAG,EAAE,EACnE,MAAI,SAAM7C,CAAQ,GAAKA,GAAY,EAIrC,EACI8C,GAAc,SAASC,EAAa/D,EAAY,CAClD,IAAIgE,EAAmB,CAAA,EACnBC,EAAmB,CAAA,EACvB,OAAAjE,EAAW,QAAQ,SAASlC,EAAM9F,EAAG,CACnC,IAAI+I,EAAU,CAAC,CAACjD,EAAK,YACjBxC,EAAUyF,EAAUjD,EAAK,YAAcA,EACvCoG,EAAoBpD,GAAqBxF,EAASyF,CAAO,EACzDZ,EAAWY,EAAUgD,EAAajG,EAAK,UAAU,EAAIxC,EACrD4I,IAAsB,EACxBnD,EAAUiD,EAAiB,KAAK,MAAMA,EAAkB7D,CAAQ,EAAI6D,EAAiB,KAAK1I,CAAO,EAEjG2I,EAAiB,KAAK,CACpB,cAAejM,EACf,SAAUkM,EACV,KAAApG,EACA,QAAAiD,EACA,QAASZ,CACjB,CAAO,CAEL,CAAC,EACM8D,EAAiB,KAAKhD,EAAoB,EAAE,OAAO,SAASkD,EAAKC,EAAU,CAChF,OAAAA,EAAS,QAAUD,EAAI,KAAK,MAAMA,EAAKC,EAAS,OAAO,EAAID,EAAI,KAAKC,EAAS,OAAO,EAC7ED,CACT,EAAG,CAAA,CAAE,EAAE,OAAOH,CAAgB,CAChC,EACIK,GAAW,SAAmBC,EAAWlb,EAAS,CACpDA,EAAUA,GAAW,CAAA,EACrB,IAAI4W,EACJ,OAAI5W,EAAQ,cACV4W,EAAaC,GAAyB,CAACqE,CAAS,EAAGlb,EAAQ,iBAAkB,CAC3E,OAAQua,GAA+B,KAAK,KAAMva,CAAO,EACzD,QAAS,GACT,cAAeA,EAAQ,cACvB,iBAAkBwa,EACxB,CAAK,EAED5D,EAAaF,GAAcwE,EAAWlb,EAAQ,iBAAkBua,GAA+B,KAAK,KAAMva,CAAO,CAAC,EAE7G0a,GAAY9D,CAAU,CAC/B,EACIuE,GAAY,SAAoBD,EAAWlb,EAAS,CACtDA,EAAUA,GAAW,CAAA,EACrB,IAAI4W,EACJ,OAAI5W,EAAQ,cACV4W,EAAaC,GAAyB,CAACqE,CAAS,EAAGlb,EAAQ,iBAAkB,CAC3E,OAAQsa,GAAgC,KAAK,KAAMta,CAAO,EAC1D,QAAS,GACT,cAAeA,EAAQ,aAC7B,CAAK,EAED4W,EAAaF,GAAcwE,EAAWlb,EAAQ,iBAAkBsa,GAAgC,KAAK,KAAMta,CAAO,CAAC,EAE9G4W,CACT,EACIwE,GAAa,SAAqBpT,EAAMhI,EAAS,CAEnD,GADAA,EAAUA,GAAW,CAAA,EACjB,CAACgI,EACH,MAAM,IAAI,MAAM,kBAAkB,EAEpC,OAAIwB,GAAQ,KAAKxB,EAAM6N,EAAiB,IAAM,GACrC,GAEF0E,GAA+Bva,EAASgI,CAAI,CACrD,EACIqT,GAA6CzF,GAAmB,OAAO,QAAQ,EAAE,KAAK,GAAG,EACzF0F,GAAc,SAAsBtT,EAAMhI,EAAS,CAErD,GADAA,EAAUA,GAAW,CAAA,EACjB,CAACgI,EACH,MAAM,IAAI,MAAM,kBAAkB,EAEpC,OAAIwB,GAAQ,KAAKxB,EAAMqT,EAA0B,IAAM,GAC9C,GAEFf,GAAgCta,EAASgI,CAAI,CACtD,EACA;AAAA;AAAA;AAAA,EAIA,SAASuT,GAAkBnd,EAAG0M,EAAG,EACtBA,GAAR,MAAaA,EAAI1M,EAAE,UAAY0M,EAAI1M,EAAE,QACtC,QAAS+G,EAAI,EAAGqW,EAAI,MAAM1Q,CAAC,EAAG3F,EAAI2F,EAAG3F,IAAKqW,EAAErW,CAAC,EAAI/G,EAAE+G,CAAC,EACpD,OAAOqW,CACT,CACA,SAASC,GAAmBrd,EAAG,CAC7B,GAAI,MAAM,QAAQA,CAAC,EAAG,OAAOmd,GAAkBnd,CAAC,CAClD,CACA,SAASsd,GAAgBvW,EAAG/G,EAAGud,EAAG,CAChC,OAAQvd,EAAIwd,GAAexd,CAAC,KAAM+G,EAAI,OAAO,eAAeA,EAAG/G,EAAG,CAChE,MAAOud,EACP,WAAY,GACZ,aAAc,GACd,SAAU,EACd,CAAG,EAAIxW,EAAE/G,CAAC,EAAIud,EAAGxW,CACjB,CACA,SAAS0W,GAAiBzd,EAAG,CAC3B,GAAmB,OAAO,OAAtB,KAAwCA,EAAE,OAAO,QAAQ,GAAzB,MAAsCA,EAAE,YAAY,GAAtB,KAAyB,OAAO,MAAM,KAAKA,CAAC,CAChH,CACA,SAAS0d,IAAqB,CAC5B,MAAM,IAAI,UAAU;AAAA,mFAAsI,CAC5J,CACA,SAASC,GAAQ5W,EAAG/G,EAAG,CACrB,IAAIud,EAAI,OAAO,KAAKxW,CAAC,EACrB,GAAI,OAAO,sBAAuB,CAChC,IAAI6W,EAAI,OAAO,sBAAsB7W,CAAC,EACtC/G,IAAM4d,EAAIA,EAAE,OAAO,SAASC,EAAI,CAC9B,OAAO,OAAO,yBAAyB9W,EAAG8W,CAAE,EAAE,UAChD,CAAC,GAAIN,EAAE,KAAK,MAAMA,EAAGK,CAAC,CACxB,CACA,OAAOL,CACT,CACA,SAASO,GAAe/W,EAAG,CACzB,QAAS/G,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIud,EAAY,UAAUvd,CAAC,GAAnB,KAAuB,UAAUA,CAAC,EAAI,CAAA,EAC9CA,EAAI,EAAI2d,GAAQ,OAAOJ,CAAC,EAAG,EAAI,EAAE,QAAQ,SAASM,EAAI,CACpDP,GAAgBvW,EAAG8W,EAAIN,EAAEM,CAAE,CAAC,CAC9B,CAAC,EAAI,OAAO,0BAA4B,OAAO,iBAAiB9W,EAAG,OAAO,0BAA0BwW,CAAC,CAAC,EAAII,GAAQ,OAAOJ,CAAC,CAAC,EAAE,QAAQ,SAASM,EAAI,CAChJ,OAAO,eAAe9W,EAAG8W,EAAI,OAAO,yBAAyBN,EAAGM,CAAE,CAAC,CACrE,CAAC,CACH,CACA,OAAO9W,CACT,CACA,SAASgX,GAAmB/d,EAAG,CAC7B,OAAOqd,GAAmBrd,CAAC,GAAKyd,GAAiBzd,CAAC,GAAKge,GAA4Bhe,CAAC,GAAK0d,GAAkB,CAC7G,CACA,SAASO,GAAaV,EAAGvd,EAAG,CAC1B,GAAgB,OAAOud,GAAnB,UAAwB,CAACA,EAAG,OAAOA,EACvC,IAAIxW,EAAIwW,EAAE,OAAO,WAAW,EAC5B,GAAexW,IAAX,OAAc,CAChB,IAAIyJ,EAAIzJ,EAAE,KAAKwW,EAAGvd,CAAC,EACnB,GAAgB,OAAOwQ,GAAnB,SAAsB,OAAOA,EACjC,MAAM,IAAI,UAAU,8CAA8C,CACpE,CACA,OAAqBxQ,IAAb,SAAiB,OAAS,QAAQud,CAAC,CAC7C,CACA,SAASC,GAAeD,EAAG,CACzB,IAAI/M,EAAIyN,GAAaV,EAAG,QAAQ,EAChC,OAAmB,OAAO/M,GAAnB,SAAuBA,EAAIA,EAAI,EACxC,CACA,SAASwN,GAA4Bhe,EAAG0M,EAAG,CACzC,GAAI1M,EAAG,CACL,GAAgB,OAAOA,GAAnB,SAAsB,OAAOmd,GAAkBnd,EAAG0M,CAAC,EACvD,IAAI6Q,EAAI,CAAA,EAAG,SAAS,KAAKvd,CAAC,EAAE,MAAM,EAAG,EAAE,EACvC,OAAoBud,IAAb,UAAkBvd,EAAE,cAAgBud,EAAIvd,EAAE,YAAY,MAAiBud,IAAV,OAAyBA,IAAV,MAAc,MAAM,KAAKvd,CAAC,EAAoBud,IAAhB,aAAqB,2CAA2C,KAAKA,CAAC,EAAIJ,GAAkBnd,EAAG0M,CAAC,EAAI,MACvN,CACF,CACA,IAAIwR,GAAmB,CACrB,aAAc,SAAsBC,EAAWC,EAAM,CACnD,GAAID,EAAU,OAAS,EAAG,CACxB,IAAIE,EAAaF,EAAUA,EAAU,OAAS,CAAC,EAC3CE,IAAeD,GACjBC,EAAW,gBAAgB,EAAI,CAEnC,CACA,IAAIC,EAAYH,EAAU,QAAQC,CAAI,EAClCE,IAAc,IAGhBH,EAAU,OAAOG,EAAW,CAAC,EAC7BH,EAAU,KAAKC,CAAI,CAEvB,EACA,eAAgB,SAAwBD,EAAWC,EAAM,CACvD,IAAIE,EAAYH,EAAU,QAAQC,CAAI,EAClCE,IAAc,IAChBH,EAAU,OAAOG,EAAW,CAAC,EAE3BH,EAAU,OAAS,GAAK,CAACA,EAAUA,EAAU,OAAS,CAAC,EAAE,qBAC3DA,EAAUA,EAAU,OAAS,CAAC,EAAE,gBAAgB,EAAK,CAEzD,CACF,EACII,GAAoB,SAA4B3U,EAAM,CACxD,OAAOA,EAAK,SAAWA,EAAK,QAAQ,YAAW,IAAO,SAAW,OAAOA,EAAK,QAAW,UAC1F,EACI4U,GAAgB,SAAwBzX,EAAG,CAC7C,OAAQA,GAAM,KAAuB,OAASA,EAAE,OAAS,WAAaA,GAAM,KAAuB,OAASA,EAAE,OAAS,QAAUA,GAAM,KAAuB,OAASA,EAAE,WAAa,EACxL,EACI0X,GAAa,SAAqB1X,EAAG,CACvC,OAAQA,GAAM,KAAuB,OAASA,EAAE,OAAS,QAAUA,GAAM,KAAuB,OAASA,EAAE,WAAa,CAC1H,EACI2X,GAAe,SAAuB3X,EAAG,CAC3C,OAAO0X,GAAW1X,CAAC,GAAK,CAACA,EAAE,QAC7B,EACI4X,GAAgB,SAAwB5X,EAAG,CAC7C,OAAO0X,GAAW1X,CAAC,GAAKA,EAAE,QAC5B,EACIsK,GAAQ,SAAgBxT,EAAI,CAC9B,OAAO,WAAWA,EAAI,CAAC,CACzB,EACI+gB,GAAiB,SAAyBvjB,EAAO,CACnD,QAASwjB,EAAO,UAAU,OAAQC,EAAS,IAAI,MAAMD,EAAO,EAAIA,EAAO,EAAI,CAAC,EAAGE,EAAO,EAAGA,EAAOF,EAAME,IACpGD,EAAOC,EAAO,CAAC,EAAI,UAAUA,CAAI,EAEnC,OAAO,OAAO1jB,GAAU,WAAaA,EAAM,MAAM,OAAQyjB,CAAM,EAAIzjB,CACrE,EACI2jB,GAAkB,SAA0BrY,EAAO,CACrD,OAAOA,EAAM,OAAO,YAAc,OAAOA,EAAM,cAAiB,WAAaA,EAAM,aAAY,EAAG,CAAC,EAAIA,EAAM,MAC/G,EACIsY,GAAoB,CAAA,EACpBC,GAAkB,SAA0BvG,EAAUwG,EAAa,CACrE,IAAIC,GAAOD,GAAgB,KAAiC,OAASA,EAAY,WAAa,SAC1FhB,GAAagB,GAAgB,KAAiC,OAASA,EAAY,YAAcF,GACjGI,EAASvB,GAAe,CAC1B,wBAAyB,GACzB,kBAAmB,GACnB,kBAAmB,GACnB,aAAAY,GACA,cAAAC,EACJ,EAAKQ,CAAW,EACVxgB,EAAQ,CAGV,WAAY,CAAA,EAiBZ,gBAAiB,CAAA,EAMjB,eAAgB,CAAA,EAChB,4BAA6B,KAC7B,wBAAyB,KACzB,OAAQ,GACR,OAAQ,GACR,eAAgB,GAGhB,uBAAwB,OAExB,eAAgB,MACpB,EACMyf,EACAkB,EAAY,SAAoBC,EAAuBC,EAAYC,EAAkB,CACvF,OAAOF,GAAyBA,EAAsBC,CAAU,IAAM,OAASD,EAAsBC,CAAU,EAAIH,EAAOI,GAAoBD,CAAU,CAC1J,EACIE,EAAqB,SAA6B5L,EAASnN,EAAO,CACpE,IAAIgZ,EAAe,OAAQhZ,GAAU,KAA2B,OAASA,EAAM,eAAkB,WAAaA,EAAM,aAAY,EAAK,OACrI,OAAOhI,EAAM,gBAAgB,UAAU,SAAS6c,EAAM,CACpD,IAAIsB,EAAYtB,EAAK,UAAWoE,EAAgBpE,EAAK,cACrD,OAAOsB,EAAU,SAAShJ,CAAO,IAIhC6L,GAAiB,KAAkC,OAASA,EAAa,SAAS7C,CAAS,IAAM8C,EAAc,KAAK,SAAShW,EAAM,CAClI,OAAOA,IAASkK,CAClB,CAAC,CACH,CAAC,CACH,EACI+L,EAAmB,SAA2BL,EAAY,CAC5D,IAAIM,EAAQ,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAS,UAAU,CAAC,EAAI,CAAA,EAAIC,EAAoBD,EAAM,YAAaE,EAAcD,IAAsB,OAAS,GAAQA,EAAmBE,EAAeH,EAAM,OAAQhB,EAASmB,IAAiB,OAAS,CAAA,EAAKA,EACjQC,EAAcb,EAAOG,CAAU,EAOnC,GANI,OAAOU,GAAgB,aACzBA,EAAcA,EAAY,MAAM,OAAQnC,GAAmBe,CAAM,CAAC,GAEhEoB,IAAgB,KAClBA,EAAc,QAEZ,CAACA,EAAa,CAChB,GAAIA,IAAgB,QAAUA,IAAgB,GAC5C,OAAOA,EAET,MAAM,IAAI,MAAM,IAAI,OAAOV,EAAY,8DAA8D,CAAC,CACxG,CACA,IAAI5V,EAAOsW,EACX,GAAI,OAAOA,GAAgB,SAAU,CACnC,GAAI,CACFtW,EAAOwV,EAAI,cAAcc,CAAW,CACtC,OAAS9F,EAAK,CACZ,MAAM,IAAI,MAAM,IAAI,OAAOoF,EAAY,8CAA8C,EAAE,OAAOpF,EAAI,QAAS,GAAG,CAAC,CACjH,CACA,GAAI,CAACxQ,GACC,CAACoW,EACH,MAAM,IAAI,MAAM,IAAI,OAAOR,EAAY,uCAAuC,CAAC,CAGrF,CACA,OAAO5V,CACT,EACIuW,EAAsB,UAAgC,CACxD,IAAIvW,EAAOiW,EAAiB,eAAgB,CAC1C,YAAa,EACnB,CAAK,EACD,GAAIjW,IAAS,GACX,MAAO,GAET,GAAIA,IAAS,QAAUA,GAAQ,CAACsT,GAAYtT,EAAMyV,EAAO,eAAe,EACtE,GAAIK,EAAmBN,EAAI,aAAa,GAAK,EAC3CxV,EAAOwV,EAAI,kBACN,CACL,IAAIgB,EAAqBzhB,EAAM,eAAe,CAAC,EAC3C0hB,EAAoBD,GAAsBA,EAAmB,kBACjExW,EAAOyW,GAAqBR,EAAiB,eAAe,CAC9D,MACSjW,IAAS,OAClBA,EAAOiW,EAAiB,eAAe,GAEzC,GAAI,CAACjW,EACH,MAAM,IAAI,MAAM,8DAA8D,EAEhF,OAAOA,CACT,EACI0W,EAAsB,UAAgC,CAgExD,GA/DA3hB,EAAM,gBAAkBA,EAAM,WAAW,IAAI,SAASme,EAAW,CAC/D,IAAI8C,EAAgB/C,GAASC,EAAWuC,EAAO,eAAe,EAC1DkB,EAAiBxD,GAAUD,EAAWuC,EAAO,eAAe,EAC5DgB,EAAoBT,EAAc,OAAS,EAAIA,EAAc,CAAC,EAAI,OAClEY,EAAmBZ,EAAc,OAAS,EAAIA,EAAcA,EAAc,OAAS,CAAC,EAAI,OACxFa,EAAuBF,EAAe,KAAK,SAAS3W,EAAM,CAC5D,OAAOoT,GAAWpT,CAAI,CACxB,CAAC,EACG8W,EAAsBH,EAAe,MAAK,EAAG,UAAU,KAAK,SAAS3W,EAAM,CAC7E,OAAOoT,GAAWpT,CAAI,CACxB,CAAC,EACG+W,EAAqB,CAAC,CAACf,EAAc,KAAK,SAAShW,EAAM,CAC3D,OAAOyP,GAAYzP,CAAI,EAAI,CAC7B,CAAC,EACD,MAAO,CACL,UAAAkT,EACA,cAAA8C,EACA,eAAAW,EAEA,mBAAAI,EAEA,kBAAAN,EAEA,iBAAAG,EASA,qBAAAC,EAEA,oBAAAC,EASA,iBAAkB,SAA0B9W,EAAM,CAChD,IAAIgX,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAS,UAAU,CAAC,EAAI,GAC3EC,GAAUjB,EAAc,QAAQhW,CAAI,EACxC,OAAIiX,GAAU,EACRD,EACKL,EAAe,MAAMA,EAAe,QAAQ3W,CAAI,EAAI,CAAC,EAAE,KAAK,SAASlD,GAAI,CAC9E,OAAOsW,GAAWtW,EAAE,CACtB,CAAC,EAEI6Z,EAAe,MAAM,EAAGA,EAAe,QAAQ3W,CAAI,CAAC,EAAE,QAAO,EAAG,KAAK,SAASlD,GAAI,CACvF,OAAOsW,GAAWtW,EAAE,CACtB,CAAC,EAEIkZ,EAAciB,IAAWD,EAAU,EAAI,GAAG,CACnD,CACR,CACI,CAAC,EACDjiB,EAAM,eAAiBA,EAAM,gBAAgB,OAAO,SAASmiB,EAAO,CAClE,OAAOA,EAAM,cAAc,OAAS,CACtC,CAAC,EACGniB,EAAM,eAAe,QAAU,GAAK,CAACkhB,EAAiB,eAAe,EACvE,MAAM,IAAI,MAAM,qGAAqG,EAEvH,GAAIlhB,EAAM,gBAAgB,KAAK,SAASoiB,EAAG,CACzC,OAAOA,EAAE,kBACX,CAAC,GAAKpiB,EAAM,gBAAgB,OAAS,EACnC,MAAM,IAAI,MAAM,+KAA+K,CAEnM,EACIqiB,EAAoB,SAA0Bta,EAAI,CACpD,IAAIua,EAAgBva,EAAG,cACvB,GAAKua,EAGL,OAAIA,EAAc,YAAcA,EAAc,WAAW,gBAAkB,KAClED,EAAkBC,EAAc,UAAU,EAE5CA,CACT,EACIC,EAAY,SAAkBtX,EAAM,CACtC,GAAIA,IAAS,IAGTA,IAASoX,EAAkB,QAAQ,EAGvC,IAAI,CAACpX,GAAQ,CAACA,EAAK,MAAO,CACxBsX,EAAUf,EAAmB,CAAE,EAC/B,MACF,CACAvW,EAAK,MAAM,CACT,cAAe,CAAC,CAACyV,EAAO,aAC9B,CAAK,EACD1gB,EAAM,wBAA0BiL,EAC5B2U,GAAkB3U,CAAI,GACxBA,EAAK,OAAM,EAEf,EACIuX,EAAqB,SAA6BC,EAAuB,CAC3E,IAAIxX,EAAOiW,EAAiB,iBAAkB,CAC5C,OAAQ,CAACuB,CAAqB,CACpC,CAAK,EACD,OAAOxX,IAAcA,IAAS,GAAQ,GAAQwX,EAChD,EACIC,EAAkB,SAA0BC,EAAO,CACrD,IAAInf,EAASmf,EAAM,OAAQ3a,EAAQ2a,EAAM,MAAOC,EAAmBD,EAAM,WAAYE,EAAaD,IAAqB,OAAS,GAAQA,EACxIpf,EAASA,GAAU6c,GAAgBrY,CAAK,EACxC2Z,EAAmB,EACnB,IAAImB,EAAkB,KACtB,GAAI9iB,EAAM,eAAe,OAAS,EAAG,CACnC,IAAI+iB,EAAiBhC,EAAmBvd,EAAQwE,CAAK,EACjDgb,EAAiBD,GAAkB,EAAI/iB,EAAM,gBAAgB+iB,CAAc,EAAI,OACnF,GAAIA,EAAiB,EACfF,EACFC,EAAkB9iB,EAAM,eAAeA,EAAM,eAAe,OAAS,CAAC,EAAE,iBAExE8iB,EAAkB9iB,EAAM,eAAe,CAAC,EAAE,0BAEnC6iB,EAAY,CACrB,IAAII,EAAoBjjB,EAAM,eAAe,UAAU,SAASkjB,GAAO,CACrE,IAAIxB,GAAoBwB,GAAM,kBAC9B,OAAO1f,IAAWke,EACpB,CAAC,EAID,GAHIuB,EAAoB,IAAMD,EAAe,YAAcxf,GAAU+a,GAAY/a,EAAQkd,EAAO,eAAe,GAAK,CAACrC,GAAW7a,EAAQkd,EAAO,eAAe,GAAK,CAACsC,EAAe,iBAAiBxf,EAAQ,EAAK,KAC/Myf,EAAoBF,GAElBE,GAAqB,EAAG,CAC1B,IAAIE,EAAwBF,IAAsB,EAAIjjB,EAAM,eAAe,OAAS,EAAIijB,EAAoB,EACxGG,EAAmBpjB,EAAM,eAAemjB,CAAqB,EACjEL,EAAkBpI,GAAYlX,CAAM,GAAK,EAAI4f,EAAiB,iBAAmBA,EAAiB,mBACpG,MAAYtD,GAAW9X,CAAK,IAC1B8a,EAAkBE,EAAe,iBAAiBxf,EAAQ,EAAK,EAEnE,KAAO,CACL,IAAI6f,GAAmBrjB,EAAM,eAAe,UAAU,SAASsjB,GAAO,CACpE,IAAIzB,GAAmByB,GAAM,iBAC7B,OAAO9f,IAAWqe,EACpB,CAAC,EAID,GAHIwB,GAAmB,IAAML,EAAe,YAAcxf,GAAU+a,GAAY/a,EAAQkd,EAAO,eAAe,GAAK,CAACrC,GAAW7a,EAAQkd,EAAO,eAAe,GAAK,CAACsC,EAAe,iBAAiBxf,CAAM,KACvM6f,GAAmBN,GAEjBM,IAAoB,EAAG,CACzB,IAAIE,GAAyBF,KAAqBrjB,EAAM,eAAe,OAAS,EAAI,EAAIqjB,GAAmB,EACvGG,GAAoBxjB,EAAM,eAAeujB,EAAsB,EACnET,EAAkBpI,GAAYlX,CAAM,GAAK,EAAIggB,GAAkB,kBAAoBA,GAAkB,oBACvG,MAAY1D,GAAW9X,CAAK,IAC1B8a,EAAkBE,EAAe,iBAAiBxf,CAAM,EAE5D,CACF,MACEsf,EAAkB5B,EAAiB,eAAe,EAEpD,OAAO4B,CACT,EACIW,EAAmB,SAA2Brb,EAAG,CACnD,IAAI5E,EAAS6c,GAAgBjY,CAAC,EAC9B,GAAI,EAAA2Y,EAAmBvd,EAAQ4E,CAAC,GAAK,GAGrC,IAAI6X,GAAeS,EAAO,wBAAyBtY,CAAC,EAAG,CACrDqX,EAAK,WAAW,CAOd,YAAaiB,EAAO,uBAC5B,CAAO,EACD,MACF,CACIT,GAAeS,EAAO,kBAAmBtY,CAAC,GAG9CA,EAAE,eAAc,EAClB,EACIsb,EAAe,SAAuB1b,EAAO,CAC/C,IAAIxE,EAAS6c,GAAgBrY,CAAK,EAC9B2b,EAAkB5C,EAAmBvd,EAAQwE,CAAK,GAAK,EAC3D,GAAI2b,GAAmBngB,aAAkB,SACnCmgB,IACF3jB,EAAM,wBAA0BwD,OAE7B,CACLwE,EAAM,yBAAwB,EAC9B,IAAI4b,EACAC,EAAsB,GAC1B,GAAI7jB,EAAM,wBACR,GAAI0a,GAAY1a,EAAM,uBAAuB,EAAI,EAAG,CAClD,IAAI8jB,EAAkB/C,EAAmB/gB,EAAM,uBAAuB,EAClEihB,EAAgBjhB,EAAM,gBAAgB8jB,CAAe,EAAE,cAC3D,GAAI7C,EAAc,OAAS,EAAG,CAC5B,IAAI8C,EAAY9C,EAAc,UAAU,SAAShW,EAAM,CACrD,OAAOA,IAASjL,EAAM,uBACxB,CAAC,EACG+jB,GAAa,IACXrD,EAAO,aAAa1gB,EAAM,cAAc,EACtC+jB,EAAY,EAAI9C,EAAc,SAChC2C,EAAW3C,EAAc8C,EAAY,CAAC,EACtCF,EAAsB,IAGpBE,EAAY,GAAK,IACnBH,EAAW3C,EAAc8C,EAAY,CAAC,EACtCF,EAAsB,IAI9B,CACF,MACO7jB,EAAM,gBAAgB,KAAK,SAASoiB,EAAG,CAC1C,OAAOA,EAAE,cAAc,KAAK,SAAS3D,EAAG,CACtC,OAAO/D,GAAY+D,CAAC,EAAI,CAC1B,CAAC,CACH,CAAC,IACCoF,EAAsB,SAI1BA,EAAsB,GAEpBA,IACFD,EAAWlB,EAAgB,CAGzB,OAAQ1iB,EAAM,wBACd,WAAY0gB,EAAO,cAAc1gB,EAAM,cAAc,CAC/D,CAAS,GAGDuiB,EADEqB,GAGQ5jB,EAAM,yBAA2BwhB,GAFzB,CAItB,CACAxhB,EAAM,eAAiB,MACzB,EACIgkB,EAAc,SAAsBhc,EAAO,CAC7C,IAAI6a,EAAa,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAS,UAAU,CAAC,EAAI,GAClF7iB,EAAM,eAAiBgI,EACvB,IAAI8a,EAAkBJ,EAAgB,CACpC,MAAA1a,EACA,WAAA6a,CACN,CAAK,EACGC,IACEhD,GAAW9X,CAAK,GAClBA,EAAM,eAAc,EAEtBua,EAAUO,CAAe,EAE7B,EACImB,EAAc,SAAsBjc,EAAO,EACzC0Y,EAAO,aAAa1Y,CAAK,GAAK0Y,EAAO,cAAc1Y,CAAK,IAC1Dgc,EAAYhc,EAAO0Y,EAAO,cAAc1Y,CAAK,CAAC,CAElD,EACIkc,EAAiB,SAAyBlc,EAAO,CAC/C6X,GAAc7X,CAAK,GAAKiY,GAAeS,EAAO,kBAAmB1Y,CAAK,IAAM,KAC9EA,EAAM,eAAc,EACpByX,EAAK,WAAU,EAEnB,EACI0E,EAAa,SAAqB/b,EAAG,CACvC,IAAI5E,EAAS6c,GAAgBjY,CAAC,EAC1B2Y,EAAmBvd,EAAQ4E,CAAC,GAAK,GAGjC6X,GAAeS,EAAO,wBAAyBtY,CAAC,GAGhD6X,GAAeS,EAAO,kBAAmBtY,CAAC,IAG9CA,EAAE,eAAc,EAChBA,EAAE,yBAAwB,EAC5B,EACIgc,EAAe,UAAyB,CAC1C,GAAKpkB,EAAM,OAGX,OAAAuf,GAAiB,aAAaC,EAAWC,CAAI,EAC7Czf,EAAM,uBAAyB0gB,EAAO,kBAAoBhO,GAAM,UAAW,CACzE6P,EAAUf,EAAmB,CAAE,CACjC,CAAC,EAAIe,EAAUf,GAAqB,EACpCf,EAAI,iBAAiB,UAAWiD,EAAc,EAAI,EAClDjD,EAAI,iBAAiB,YAAagD,EAAkB,CAClD,QAAS,GACT,QAAS,EACf,CAAK,EACDhD,EAAI,iBAAiB,aAAcgD,EAAkB,CACnD,QAAS,GACT,QAAS,EACf,CAAK,EACDhD,EAAI,iBAAiB,QAAS0D,EAAY,CACxC,QAAS,GACT,QAAS,EACf,CAAK,EACD1D,EAAI,iBAAiB,UAAWwD,EAAa,CAC3C,QAAS,GACT,QAAS,EACf,CAAK,EACDxD,EAAI,iBAAiB,UAAWyD,CAAc,EACvCzE,CACT,EACI4E,EAAkB,UAA4B,CAChD,GAAKrkB,EAAM,OAGX,OAAAygB,EAAI,oBAAoB,UAAWiD,EAAc,EAAI,EACrDjD,EAAI,oBAAoB,YAAagD,EAAkB,EAAI,EAC3DhD,EAAI,oBAAoB,aAAcgD,EAAkB,EAAI,EAC5DhD,EAAI,oBAAoB,QAAS0D,EAAY,EAAI,EACjD1D,EAAI,oBAAoB,UAAWwD,EAAa,EAAI,EACpDxD,EAAI,oBAAoB,UAAWyD,CAAc,EAC1CzE,CACT,EACI6E,EAAkB,SAA0BC,EAAW,CACzD,IAAIC,EAAuBD,EAAU,KAAK,SAASvZ,EAAU,CAC3D,IAAIyZ,EAAe,MAAM,KAAKzZ,EAAS,YAAY,EACnD,OAAOyZ,EAAa,KAAK,SAASxZ,EAAM,CACtC,OAAOA,IAASjL,EAAM,uBACxB,CAAC,CACH,CAAC,EACGwkB,GACFjC,EAAUf,EAAmB,CAAE,CAEnC,EACIkD,EAAmB,OAAO,OAAW,KAAe,qBAAsB,OAAS,IAAI,iBAAiBJ,CAAe,EAAI,OAC3HK,EAAsB,UAAgC,CACnDD,IAGLA,EAAiB,WAAU,EACvB1kB,EAAM,QAAU,CAACA,EAAM,QACzBA,EAAM,WAAW,IAAI,SAASme,EAAW,CACvCuG,EAAiB,QAAQvG,EAAW,CAClC,QAAS,GACT,UAAW,EACrB,CAAS,CACH,CAAC,EAEL,EACA,OAAAsB,EAAO,CACL,IAAI,QAAS,CACX,OAAOzf,EAAM,MACf,EACA,IAAI,QAAS,CACX,OAAOA,EAAM,MACf,EACA,SAAU,SAAkB4kB,EAAiB,CAC3C,GAAI5kB,EAAM,OACR,OAAO,KAET,IAAI6kB,EAAalE,EAAUiE,EAAiB,YAAY,EACpDE,EAAiBnE,EAAUiE,EAAiB,gBAAgB,EAC5DG,EAAoBpE,EAAUiE,EAAiB,mBAAmB,EACjEG,GACHpD,EAAmB,EAErB3hB,EAAM,OAAS,GACfA,EAAM,OAAS,GACfA,EAAM,4BAA8BqiB,EAAkB5B,CAAG,EACzDoE,GAAe,MAAiCA,EAAU,EAC1D,IAAIG,EAAmB,UAA6B,CAC9CD,GACFpD,EAAmB,EAErByC,EAAY,EACZO,EAAmB,EACnBG,GAAmB,MAAqCA,EAAc,CACxE,EACA,OAAIC,GACFA,EAAkB/kB,EAAM,WAAW,OAAM,CAAE,EAAE,KAAKglB,EAAkBA,CAAgB,EAC7E,OAETA,EAAgB,EACT,KACT,EACA,WAAY,SAAoBC,EAAmB,CACjD,GAAI,CAACjlB,EAAM,OACT,OAAO,KAET,IAAIiD,EAAUkc,GAAe,CAC3B,aAAcuB,EAAO,aACrB,iBAAkBA,EAAO,iBACzB,oBAAqBA,EAAO,mBACpC,EAASuE,CAAiB,EACpB,aAAajlB,EAAM,sBAAsB,EACzCA,EAAM,uBAAyB,OAC/BqkB,EAAe,EACfrkB,EAAM,OAAS,GACfA,EAAM,OAAS,GACf2kB,EAAmB,EACnBpF,GAAiB,eAAeC,EAAWC,CAAI,EAC/C,IAAIyF,EAAevE,EAAU1d,EAAS,cAAc,EAChDkiB,EAAmBxE,EAAU1d,EAAS,kBAAkB,EACxDmiB,EAAsBzE,EAAU1d,EAAS,qBAAqB,EAC9DoiB,EAAc1E,EAAU1d,EAAS,cAAe,yBAAyB,EAC7EiiB,GAAiB,MAAmCA,EAAY,EAChE,IAAII,EAAqB,UAA+B,CACtD5S,GAAM,UAAW,CACX2S,GACF9C,EAAUC,EAAmBxiB,EAAM,2BAA2B,CAAC,EAEjEmlB,GAAqB,MAAuCA,EAAgB,CAC9E,CAAC,CACH,EACA,OAAIE,GAAeD,GACjBA,EAAoB5C,EAAmBxiB,EAAM,2BAA2B,CAAC,EAAE,KAAKslB,EAAoBA,CAAkB,EAC/G,OAETA,EAAkB,EACX,KACT,EACA,MAAO,SAAeC,EAAc,CAClC,OAAKvlB,EAAM,QAGXA,EAAM,eAAiB,GAChB,KAAK,gBAAgB,GAAMulB,CAAY,GAHrC,IAIX,EACA,QAAS,SAAiBC,EAAgB,CACxC,OAAKxlB,EAAM,QAGXA,EAAM,eAAiB,GACnBwf,EAAUA,EAAU,OAAS,CAAC,IAAM,KAC/B,KAEF,KAAK,gBAAgB,GAAOgG,CAAc,GANxC,IAOX,EACA,wBAAyB,SAAiCC,EAAmB,CAC3E,IAAIC,EAAkB,CAAA,EAAG,OAAOD,CAAiB,EAAE,OAAO,OAAO,EACjE,OAAAzlB,EAAM,WAAa0lB,EAAgB,IAAI,SAASvQ,EAAS,CACvD,OAAO,OAAOA,GAAY,SAAWsL,EAAI,cAActL,CAAO,EAAIA,CACpE,CAAC,EACGnV,EAAM,QACR2hB,EAAmB,EAErBgD,EAAmB,EACZ,IACT,CACJ,EACE,OAAO,iBAAiBlF,EAAM,CAC5B,kBAAmB,CACjB,MAAO,UAAiB,CACtB,OAAOzf,EAAM,cACf,CACN,EACI,gBAAiB,CACf,MAAO,SAAe2lB,EAAQ1iB,EAAS,CACrC,GAAIjD,EAAM,SAAW2lB,EACnB,OAAO,KAGT,GADA3lB,EAAM,OAAS2lB,EACXA,EAAQ,CACV,IAAIC,EAAUjF,EAAU1d,EAAS,SAAS,EACtC4iB,EAAclF,EAAU1d,EAAS,aAAa,EAClD2iB,GAAY,MAA8BA,EAAO,EACjDvB,EAAe,EACfM,EAAmB,EACnBkB,GAAgB,MAAkCA,EAAW,CAC/D,KAAO,CACL,IAAIC,EAAYnF,EAAU1d,EAAS,WAAW,EAC1C8iB,EAAgBpF,EAAU1d,EAAS,eAAe,EACtD6iB,GAAc,MAAgCA,EAAS,EACvDnE,EAAmB,EACnByC,EAAY,EACZO,EAAmB,EACnBoB,GAAkB,MAAoCA,EAAa,CACrE,CACA,OAAO,IACT,CACN,CACA,CAAG,EACDtG,EAAK,wBAAwBzF,CAAQ,EAC9ByF,CACT,EACA,SAASuG,GAAaxiB,EAAQP,EAAU,GAAI,CAC1C,IAAIwc,EACJ,KAAM,CAAE,UAAAva,EAAW,GAAG+gB,CAAgB,EAAKhjB,EACrCijB,EAAWlgB,EAAAA,WAAW,EAAK,EAC3BmgB,EAAWngB,EAAAA,WAAW,EAAK,EAC3BogB,EAAYpP,GAASyI,GAAQA,EAAK,SAASzI,CAAI,EAC/CqP,EAAcrP,GAASyI,GAAQA,EAAK,WAAWzI,CAAI,EACnD5T,EAAQ,IAAM,CACdqc,IACFA,EAAK,MAAK,EACV0G,EAAS,MAAQ,GAErB,EACMG,EAAU,IAAM,CAChB7G,IACFA,EAAK,QAAO,EACZ0G,EAAS,MAAQ,GAErB,EACM7b,EAAU1L,EAAAA,SAAS,IAAM,CAC7B,MAAM2nB,EAAWznB,EAAAA,QAAQ0E,CAAM,EAC/B,OAAOM,GAAQyiB,CAAQ,EAAE,IAAKxe,GAAO,CACnC,MAAMye,EAAM1nB,EAAAA,QAAQiJ,CAAE,EACtB,OAAO,OAAOye,GAAQ,SAAWA,EAAMhf,GAAagf,CAAG,CACzD,CAAC,EAAE,OAAO9lB,EAAU,CACtB,CAAC,EACD3B,OAAAA,EAAAA,MACEuL,EACCmc,GAAQ,CACP,GAAKA,EAAI,OAET,GAAI,CAAChH,EACHA,EAAOc,GAAgBkG,EAAK,CAC1B,GAAGR,EACH,YAAa,CACXC,EAAS,MAAQ,GACbjjB,EAAQ,YACVA,EAAQ,WAAU,CACtB,EACA,cAAe,CACbijB,EAAS,MAAQ,GACbjjB,EAAQ,cACVA,EAAQ,aAAY,CACxB,CACV,CAAS,EACGiC,GACFkhB,EAAQ,MACL,CACL,MAAMjjB,EAAWsc,GAAQ,KAAO,OAASA,EAAK,OAC9CA,GAAQ,MAAgBA,EAAK,wBAAwBgH,CAAG,EACpD,CAACtjB,GAAY+B,GACfkhB,EAAQ,CAEZ,CACF,EACA,CAAE,MAAO,MAAM,CACnB,EACEnnB,GAAkB,IAAMonB,GAAY,EAC7B,CACL,SAAAH,EACA,SAAAC,EACA,SAAAC,EACA,WAAAC,EACA,MAAAjjB,EACA,QAAAkjB,CACJ,CACA,CACA,MAAMI,GAAwB,CAAC,CAC7B,QAAAvR,EACA,SAAAhS,EACA,OAAAwjB,EACA,cAAAC,EACA,MAAAC,CACF,EAAGC,EAAgB,CACjB,kBAAmB,GACnB,cAAeF,EAAc,IAAI,OAAS,OAC1C,kBAAmB,GACnB,wBAAyB,GACzB,aAAcC,CAChB,IAAM,CACJ,MAAME,EAAmBzlB,EAAAA,SAASH,EAAAA,MAAMgC,CAAQ,CAAC,EAC3C6jB,EAAiB1lB,EAAAA,SAASH,EAAAA,MAAMwlB,CAAM,CAAC,EACvCM,EAAqB,IAAM,OAC/B,MAAMC,GAAmB1nB,EAAA2V,EAAQ,QAAR,YAAA3V,EAAe,iBACtC,4EAA4EonB,EAAc,aAAa,KAEzG,MAAO,EAACM,GAAA,MAAAA,EAAkB,OAC5B,EACMC,EAAgB3lB,EAAAA,IAAI,EAAK,EAC/BmE,EAAAA,UAAU,IAAM,CACdwhB,EAAc,MAAQF,EAAkB,EACxC/c,GACEiL,EACA,IAAM,CACJgS,EAAc,MAAQF,EAAkB,CAC1C,EACA,CAAE,UAAW,GAAM,QAAS,EAAI,CACtC,CACE,CAAC,EACD,MAAMxH,EAAOuG,GAAa7Q,EAAS2R,CAAa,EAChD/nB,OAAAA,QAAMgoB,EAAkB,MAAO/nB,GAAa,CACtCA,GAAYgoB,EAAe,QAAU,GACvCvH,EAAK,SAAQ,EAEbA,EAAK,WAAU,CAEnB,CAAC,EACD1gB,QAAMioB,EAAiBhoB,GAAa,CAC9BA,IAAa,IACfygB,EAAK,WAAU,CAEnB,CAAC,EACM,CACL,cAAene,EAAAA,SAAS6lB,CAAa,CACzC,CACA,EACMjS,GAAgBrV,GAAuBunB,EAAe,EAC5D,IAAIC,GAAsB,GAC1B,MAAMC,GAA+B,IAAI,IACnCC,GAAoB,CAACC,EAAQC,IAAe,CAChD,MAAMC,EAAiBpmB,EAAAA,SAASH,EAAAA,MAAMqmB,CAAM,CAAC,EACvChpB,EAAKmpB,EAAAA,MAAK,EACVC,EAA4BhpB,EAAAA,SAAS,IAAM,CAACE,EAAAA,QAAQ2oB,CAAU,CAAC,EAC/DrS,EAAWF,GACf,OAAO,SAAa,IAAc,SAAS,KAAO,KAClDwS,EAAe,OAASE,EAA0B,KACtD,EACEjiB,EAAAA,UAAU,IAAM,CACV,OAAO,SAAa,MACxB2hB,GAAa,IAAI9oB,EAAI,EAAK,EAC1BO,EAAAA,MACE,CAAC2oB,EAAgBE,CAAyB,EAC1C,CAAC,CAACC,EAAUC,CAAO,IAAM,CACvB,MAAMC,EAAe,OAAO,WAAa,SAAS,gBAAgB,YAC5DC,EAAY,MAAM,KAAKV,GAAa,QAAQ,EAAE,KAAM3mB,GAAQA,IAAQ,EAAI,EACxEsnB,EAAWJ,GAAYC,EAC7BR,GAAa,IAAI9oB,EAAIypB,CAAQ,EACzBA,GAAY,CAACD,GAAa,CAAC5S,EAAS,QACtCA,EAAS,MAAQ,GACb2S,EAAe,IACjBV,GAAsB,SAAS,KAAK,MAAM,aAC1C,SAAS,KAAK,MAAM,aAAe,GAAGU,EAAeV,EAAmB,OAG5E,MAAMa,EAAiB,MAAM,KAAKZ,GAAa,QAAQ,EAAE,KAAM3mB,GAAQA,IAAQ,EAAI,EAC/EqnB,GAAa,CAACE,IAChBZ,GAAa,IAAI9oB,EAAI,EAAK,EAC1B4W,EAAS,MAAQ,GACjB,SAAS,KAAK,MAAM,aAAeiS,GAEvC,EACA,CAAE,UAAW,EAAI,CACvB,EACE,CAAC,EACDc,EAAAA,YAAY,IAAM,CAChBb,GAAa,OAAO9oB,CAAE,EACC,MAAM,KAAK8oB,GAAa,QAAQ,EAAE,KAAM3mB,GAAQA,IAAQ,EAAI,IAEjF,SAAS,KAAK,MAAM,aAAe0mB,GACnCjS,EAAS,MAAQ,GAErB,CAAC,CACH,ECvsCMgT,GAAmB,CAACC,EAAW,KAAO,CAC1C,KAAM,CAAE,cAAA/F,CAAa,EAAK,SAC1B,OAAOA,GAAiB,EAAC+F,GAAA,MAAAA,EAAU,KAAMtgB,GAAOA,IAAOua,IAAiBA,EAAgB,IAC1F,EACMgG,GAAe,CAACvgB,EAAI9E,EAAU,KAAO,CACzC,MAAMslB,EAAmBC,GAAQA,IAAQJ,GAAgB,EACzD,GAAI,CACFrgB,EAAG,MAAM9E,CAAO,CAClB,OAASmF,EAAG,CACV,QAAQ,MAAMA,CAAC,CACjB,CACA,OAAOmgB,EAAgBxgB,CAAE,CAC3B,EACM0gB,GAAe1gB,KAAQA,GAAA,YAAAA,MAAU,CAAA,GAAI,SAAW,EAChD2gB,GAAa3gB,GAAO,CACxB,GAAIA,EAAG,aAAa,SAAS,IAAM,OACjC,MAAO,GAET,MAAM4gB,EAAM5gB,EAAG,sBAAqB,EACpC,MAAO,CAAC,EAAE4gB,GAAOA,EAAI,OAAS,GAAKA,EAAI,MAAQ,EACjD,EACMC,GAA6B,CAAC,EAAG5a,IAAM,CAC3C,GAAI,OAAO,KAAS,KAAe,CAAC,MAAQ,CAAC,GAAK,CAACA,EAAG,MAAO,GAC7D,MAAM6a,EAAW,EAAE,wBAAwB7a,CAAC,EAC5C,OAAI6a,EAAW,KAAK,4BAAoC,GACpDA,EAAW,KAAK,4BAAoC,EACjD,CACT,EACMC,GAAkB3T,GAAY,CAClC,GAAI,OAAO,OAAW,IAAa,MAAO,MAC1C,MAAM3R,EAAS2R,GAAW,SAAS,KAC7B4T,EAAM,OAAO,iBAAiBvlB,CAAM,EAAE,iBAAiB,mBAAmB,EAAE,KAAI,EAChFwlB,EAAS,OAAO,SAASD,EAAK,EAAE,EACtC,OAAO,OAAO,SAASC,CAAM,EAAIA,EAAS,IAC5C,EChCA,SAASC,GAAWxpB,EAAKgK,EAAK9J,GAAmB,YAAY,EAAG,CAC9D,KAAM,CAAE,SAAAupB,CAAQ,EAAKzf,EACrB,GAAIyf,GAAYzpB,KAAOypB,EACrB,OAAOA,EAASzpB,CAAG,CAGvB,CACA,SAASE,GAAmB7C,EAAMqsB,EAAS,CACzC,MAAM1f,EAAK2f,EAAAA,mBAAoB,EAC/B,GAAI,CAAC3f,EACH,MAAM,IAAI,MAAM,SAAS3M,CAAI,8CAAmD,EAElF,OAAO2M,CACT,CACA,MAAM4f,GAAc,CAACplB,EAAM,KAAOA,EAAI,QAAQ,WAAY,GAAG,EAAE,QAAQ,aAAc,KAAK,EAAE,YAAW,EACjGpD,GAAYR,GAAQA,IAAQ,MAAQ,OAAOA,GAAQ,UAAY,CAAC,MAAM,QAAQA,CAAG,EACvF,SAASipB,GAAU7kB,EAAS,CAAA,EAAIjB,EAAS,CAAA,EAAI+lB,EAAS,CACpD,MAAMC,EAAM,CAAA,EACZ,UAAW/pB,KAAOgF,EAChB+kB,EAAI/pB,CAAG,EAAIgF,EAAOhF,CAAG,EAEvB,UAAWA,KAAO+D,EAAQ,CACxB,MAAMimB,EAAiBhlB,EAAOhF,CAAG,EAC3BiqB,EAAiBlmB,EAAO/D,CAAG,EACjC,GAAIoB,GAAS4oB,CAAc,GAAK5oB,GAAS6oB,CAAc,EAAG,CACxDF,EAAI/pB,CAAG,EAAI6pB,GAAUG,EAAgBC,CAAc,EACnD,QACF,CACAF,EAAI/pB,CAAG,EAAIiqB,CACb,CACA,OAAOF,CACT,CACA,MAAMG,GAAgB,CAACviB,EAAOwiB,IAAI,SAAK,eAAOpqB,EAAA4H,EAAM,QAAN,YAAA5H,EAAcoqB,IAAU,KAAe,QAAO1oB,EAAAkG,EAAM,QAAN,YAAAlG,EAAcmoB,GAAYO,CAAI,IAAO,KACjI,SAASC,GAAoB3iB,EAAQ,CAAA,EAAIpK,EAAM,CAC7C,MAAMgS,EAAWpQ,EAAAA,OAAOV,GAAawD,EAAAA,IAAI,CAAA,CAAE,CAAC,EACtCiI,EAAK9J,GAAmB,aAAa,EAE3C,GADA7C,EAAOA,GAAQ2M,EAAG,KAAK,MAAQA,EAAG,KAAK,OACnC,CAAC3M,EACH,MAAM,IAAI,MAAM,0CAA0C,EAE5D,MAAMgtB,EAAoBlrB,EAAAA,SAAS,WAAM,OAAAY,EAAAsP,EAAS,QAAT,YAAAtP,EAAiB0H,EAAM,KAAOpK,GAAK,EACtEitB,EAAS,IAAI,MAAM7iB,EAAO,CAC9B,IAAI1D,EAAQomB,EAAM,aAChB,MAAMI,EAAY,QAAQ,IAAIxmB,EAAQomB,CAAI,EAC1C,OAAIA,IAAS,SAAWA,IAAS,QACxB,EAACpqB,EAAAsqB,EAAkB,QAAlB,YAAAtqB,EAA0BoqB,GAAOI,CAAS,EAAE,OAAQnrB,GAAMA,GAAK,IAAI,EAClE,OAAO+qB,GAAS,UAAY,CAACD,GAAclgB,EAAG,MAAOmgB,CAAI,IAC3D1oB,EAAA4oB,EAAkB,QAAlB,YAAA5oB,EAA0B0oB,OAASK,GAAAC,EAAApb,EAAS,QAAT,YAAAob,EAAgB,SAAhB,YAAAD,EAAyBL,KAASI,EAEvEA,CACT,CACJ,CAAG,EACKG,EAAwBnkB,EAAAA,WAAU,EACxC8E,EAAAA,YAAY,IAAM,CAChB,GAAIgf,EAAkB,MAAO,CAC3B,MAAMM,EAAgB,OAAO,QAAQN,EAAkB,KAAK,EAAE,OAC5D,CAAC,CAACrqB,CAAG,IAAMA,EAAI,WAAWA,EAAI,CAAC,EAAE,YAAW,CAAE,CACtD,EACM0qB,EAAsB,MAAQC,EAAc,OAAS,OAAO,YAAYA,CAAa,EAAI,MAC3F,MACED,EAAsB,MAAQ,MAElC,CAAC,EACD,SAASE,GAAqB,CAC5B,MAAMC,EAAWrB,GAAWjrB,GAAayL,CAAE,EAC3C0O,EAAAA,QACEna,GACAY,EAAAA,SACE,IAAMurB,EAAsB,MAAQb,IAAUgB,GAAA,YAAAA,EAAU,QAAS,CAAA,EAAIH,EAAsB,KAAK,EAAIG,GAAA,YAAAA,EAAU,KACtH,CACA,CACE,CACA,MAAO,CAAE,MAAOP,EAAQ,mBAAAM,CAAkB,CAC5C,CACA,SAASE,EAAYrjB,EAAOpK,EAAM,CAChC,KAAM,CAAE,MAAOitB,EAAQ,mBAAAM,CAAkB,EAAKR,GAAoB3iB,EAAOpK,CAAI,EAC7E,OAAAutB,EAAkB,EACXN,CACT,CC/EA,MAAMS,GAA0BnqB,GAAQzB,EAAAA,SAAS,IAAM,CACrD,IAAIsI,EAAQpI,EAAAA,QAAQuB,CAAG,EACvB,OAAA6G,EAAQ,CACN,QAASA,EAAM,SAAW,KAC1B,UAAWA,EAAM,WAAa,KAC9B,YAAaA,EAAM,aAAe,KAClC,cAAeA,EAAM,eAAiB,IAC1C,EACS,CACL,CAAC,WAAWA,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,KAChD,CAAC,QAAQA,EAAM,WAAW,EAAE,EAAGA,EAAM,cAAgB,KACrD,CAAC,MAAMA,EAAM,SAAS,EAAE,EAAGA,EAAM,YAAc,KAC/C,CAAC,UAAUA,EAAM,aAAa,EAAE,EAAGA,EAAM,gBAAkB,IAC/D,CACA,CAAC,ECXKujB,GAAa,CACjB,IAAK,EACL,MAAO,iBACT,EACM/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,WACR,MAAO,CACL,MAAO,CAAE,QAAS,MAAM,EACxB,KAAM,CAAE,QAAS,QAAQ,EACzB,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,IAAK,CAAE,QAAS,MAAM,EACtB,KAAM,CAAE,QAAS,QAAQ,EACzB,QAAS,CAAE,QAAS,IAAI,CAC5B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,UAAU,EACtC1jB,EAAQ2jB,EAAAA,SAAQ,EAChBC,EAAeJ,GACnB5rB,EAAAA,SAAS,KAAO,CACd,YAAasI,EAAM,OAC3B,EAAQ,CACR,EACU2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrC,WAAWsI,EAAM,IAAI,GACrB0jB,EAAa,MACb,CACE,CAAC,WAAW1jB,EAAM,IAAI,KAAK,EAAGA,EAAM,KAC5C,CACA,CAAK,EACK4jB,EAAelsB,EAAAA,SAAS,IAAM,CAAC6pB,GAAYzhB,EAAM,KAAK,CAAC,EAC7D,MAAO,CAAC+jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,MAAOkkB,EAAAA,eAAeP,EAAgB,KAAK,EAC3C,KAAMxiB,EAAAA,MAAMnB,CAAK,EAAE,OAAS4jB,EAAa,MAAQziB,QAAMnB,CAAK,EAAE,KAAO,KACrE,cAAemB,EAAAA,MAAMnB,CAAK,EAAE,OAAS4jB,EAAa,MAAQ,KAAO,EACzE,EAAS,CACD,QAASO,EAAAA,QAAQ,IAAM,CACrBhjB,QAAMnB,CAAK,EAAE,OAAS4jB,EAAa,OAASG,EAAAA,YAAaK,EAAAA,mBAAmB,OAAQb,GAAY,CAC9Fc,EAAAA,WAAWR,EAAK,OAAQ,QAAS,CAAA,EAAI,IAAM,CACzCS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,KAAK,EAAG,CAAC,CACpE,CAAa,CACb,CAAW,GAAKwkB,EAAAA,mBAAmB,GAAI,EAAI,CAC3C,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,QAAS,OAAQ,aAAa,CAAC,EAE1C,CACF,CAAC,ECpDKC,GAAO,CAACC,EAAYC,IAAgB,OAAO,KAAKD,CAAU,EAAE,OAAQnsB,GAAQ,CAACosB,EAAY,IAAK9jB,GAAOA,EAAG,SAAQ,CAAE,EAAE,SAAStI,CAAG,CAAC,EAAE,OAAO,CAACkE,EAAQlE,KAAS,CAAE,GAAGkE,EAAQ,CAAClE,CAAG,EAAGmsB,EAAWnsB,CAAG,CAAC,GAAK,EAAE,EACtMqsB,GAAO,CAACF,EAAYC,IAAgB,CAAC,GAAGA,CAAW,EAAE,OACzD,CAACE,EAAMnC,KACLmC,EAAKnC,CAAI,EAAIgC,EAAWhC,CAAI,EACrBmC,GAET,CAAA,CACF,EACMC,GAAM,CAACtvB,EAAOuvB,EAAMC,IAAiB,CACzC,MAAMC,EAAWF,EAAK,MAAM,SAAS,EACrC,IAAIpe,EAAUnR,EACd,UAAW+C,KAAO0sB,EAAU,CAE1B,GADIte,IAAY,MACZA,IAAY,OAAQ,OAAOqe,EAC3BzsB,EAAI,KAAI,IAAO,KACnBoO,EAAUA,EAAQpO,CAAG,EACvB,CACA,OAAIoO,IAAY,OAAeqe,EACxBre,CACT,EACMue,GAAM,CAACC,EAASJ,EAAMvvB,IAAU,CACpC,MAAM6D,EAASF,GAAQ,CAErB,IADqBisB,GAAgCA,GAAW,MAAQ,OAAOA,GAAW,UAAY,OAAOA,GAAW,YACxGjsB,CAAG,EACjB,OAAOA,EAET,GAAI,OAAOA,GAAQ,WACjB,OAAOA,EAAI,KAAK,EAAE,EAEpB,MAAMiH,EAAS,IAAIjH,EAAI,YACvB,cAAO,oBAAoBA,CAAG,EAAE,QAASupB,GAAS,CAChDtiB,EAAOsiB,CAAI,EAAIvpB,EAAIupB,CAAI,CACzB,CAAC,EACMtiB,CACT,EACMilB,EAAQ,CAACD,EAAQJ,IAAiB,CACtC,MAAMM,EAAMN,EACZ,GAAII,GAAW,KACb,OAAOE,EAET,MAAM7oB,EAAS,OAAO,SAAS2oB,CAAM,EACrC,OAAO,OAAO,MAAM3oB,CAAM,EAAI6oB,EAAM7oB,CACtC,EACA,GAAI,CAAC0oB,EAAS,MAAO,CAAA,EACrB,GAAI,CAACJ,GAAQvvB,IAAU,OAAQ,OAAO2vB,EACtC,MAAMF,EAAWF,EAAK,MAAM,SAAS,EAAE,OAAQjY,GAAM,CAAC,CAACA,EAAE,KAAI,CAAE,EACzDyY,EAAQxhB,GAAS,CACrB,GAAIkhB,EAAS,OAAS,EAAG,CACvB,MAAM1sB,EAAM0sB,EAAS,MAAK,EACpBO,EAAYH,EAAMJ,EAAS,CAAC,EAAG,IAAI,IAAM,KAC/ClhB,EAAKxL,CAAG,EAAIwL,EAAKxL,CAAG,IAAM,OAASitB,EAAY,CAAA,EAAK,GAAKzhB,EAAKxL,CAAG,EACjEgtB,EAAKxhB,EAAKxL,CAAG,CAAC,CAChB,MACEwL,EAAKkhB,EAAS,CAAC,CAAC,EAAIzvB,CAExB,EACMiwB,EAASpsB,EAAM8rB,CAAO,EAC5B,OAAAI,EAAKE,CAAM,EACJA,CACT,EACMC,GAAY,CAAC,EAAG5e,IAAM,CAC1B,GAAI,IAAMA,EACR,MAAO,GAET,GAAI,OAAO,GAAM,UAAY,IAAM,MAAQ,OAAOA,GAAM,UAAYA,IAAM,KACxE,MAAO,GAET,MAAM6e,EAAQ,OAAO,KAAK,CAAC,EAAGC,EAAQ,OAAO,KAAK9e,CAAC,EACnD,GAAI6e,EAAM,SAAWC,EAAM,OACzB,MAAO,GAET,UAAWrtB,KAAOotB,EAChB,GAAI,CAACC,EAAM,SAASrtB,CAAG,GAAK,CAACmtB,GAAU,EAAEntB,CAAG,EAAGuO,EAAEvO,CAAG,CAAC,EACnD,MAAO,GAGX,MAAO,EACT,EC7EMstB,GAAY,YACZC,GAAW,MACXC,GAAY,OACZC,GAAY,YACZC,GAAgB,WAChBC,GAAc,SACdC,GAAa,aACbC,GAAU,UACVC,GAAgB,KAChBC,GAAiB,kBACjBC,GAAY,oBACZC,GAAsB,cACtBC,GAA4B,aAC5BC,GAAiB,MACjBC,GAAU,KACVC,GAAa,wBACbC,GAAoB,wBACpBC,GAAY,mBChBZC,GAAahqB,GAAQA,EAAI,QAAQspB,GAAe,GAAG,EAAE,QAAQC,GAAgB,CAACppB,EAAG8pB,EAAIC,IAAO,GAAGD,CAAE,IAAIC,CAAE,EAAE,EAAE,QAAQR,GAA2B,CAACvpB,EAAG8pB,EAAIC,IAAOD,EAAKC,EAAG,YAAW,CAAE,EAClLC,GAAanqB,GAAQA,EAAI,QAAQspB,GAAe,GAAG,EAAE,QAAQC,GAAgB,CAACppB,EAAG8pB,EAAIC,IAAO,GAAGD,CAAE,IAAIC,CAAE,EAAE,EAAE,QAAQT,GAAqB,CAACtpB,EAAG8pB,EAAIC,IAAOD,EAAKC,EAAG,YAAW,CAAE,EAC5KE,GAAcpqB,GAAQ,CAC1B,MAAMqqB,EAAOrqB,EAAI,KAAI,EACrB,OAAOqqB,EAAK,OAAO,CAAC,EAAE,YAAW,EAAKA,EAAK,MAAM,CAAC,CACpD,EACMC,GAAgBtqB,GAAQA,EAAI,QAAQ8pB,GAAmB,MAAM,EAC7DS,GAAqBvqB,GAAQsqB,GAAatqB,CAAG,EAAE,QAAQ+pB,GAAW,KAAK,EACvES,GAAgBxqB,GAAQA,EAAI,QAAQ,MAAQsJ,GAAUA,EAAM,OAAO,CAAC,EAAE,YAAW,CAAE,EAAE,QAAQ,QAAUA,GAAUA,EAAM,YAAW,CAAE,EAAE,QAAQ,OAAQ,EAAE,ECJxJmhB,GAAUxnB,GAAU,CAAC,EAAEA,EAAM,MAAQA,EAAM,IAC3CynB,GAAiB,CAACznB,EAAO0nB,IAAc,CAC3C,MAAMC,EAAoBvtB,EAAAA,SAASH,EAAAA,MAAMytB,CAAS,CAAC,EAC7CE,EAAgBxtB,EAAAA,SAASH,EAAAA,MAAM+F,CAAK,CAAC,EACrC6nB,EAAenwB,EAAAA,SAAS,IAAM8vB,GAAOI,EAAc,KAAK,CAAC,EACzDE,EAAoBpwB,EAAAA,SACxB,IAAMmwB,EAAa,MAAQjD,GACzBgD,EAAc,MACdD,EAAkB,OAAS,CACzB,SACA,cACA,SACA,mBACA,OACA,MACA,UACA,sBACA,SACA,KACA,UACA,UACA,eACA,mBACA,kBACA,uBACA,mBACA,uBACR,CACA,EAAQ,CAAA,CACR,EACE,MAAO,CAAE,aAAAE,EAAc,kBAAAC,CAAiB,CAC1C,EACMC,GAAsB,CAAC,CAC3B,GAAAC,EACA,SAAAC,EACA,KAAAC,EACA,QAAAC,EACA,oBAAAC,CACF,IAAM,qBACJ,MAAM5vB,EAAWC,EAAAA,mBAAkB,EAC7B4vB,GAAStF,GAAAC,GAAAhpB,GAAA1B,EAAAE,GAAA,YAAAA,EAAU,aAAV,YAAAF,EAAsB,MAAtB,YAAA0B,EAA2B,SAA3B,YAAAgpB,EAAmC,mBAAnC,YAAAD,EAAqD,QAC9DuF,GAAQC,GAAAC,GAAAC,GAAAC,EAAAlwB,GAAA,YAAAA,EAAU,aAAV,YAAAkwB,EAAsB,MAAtB,YAAAD,EAA2B,SAA3B,YAAAD,EAAmC,mBAAnC,YAAAD,EAAqD,OAC7DI,EAAsB1E,EAAAA,wBAAwB,YAAY,EAC1D2E,EAAYD,GAAuB,OAAOA,GAAwB,UAAY,YAAaA,EAAsBA,EAAoB,QAAU,KAC/IE,EAAanxB,EAAAA,SAAS,IAAME,EAAAA,QAAQowB,CAAE,GAAK,EAAE,EAC7Cc,EAAkB1uB,EAAAA,SAASH,EAAAA,MAAMkuB,CAAO,CAAC,EACzCY,EAAarxB,EAAAA,SAAS,IAAM6vB,GAAa3vB,EAAAA,QAAQwwB,CAAmB,CAAC,CAAC,EACtEY,EAAMtxB,EAAAA,SAAS,IAAM,SAEzB,MAAI,IADcsC,GAAA1B,EAAAE,GAAA,YAAAA,EAAU,aAAV,YAAAF,EAAsB,MAAtB,YAAA0B,EAA2B,UAAU+uB,EAAW,UAAW,SAC3DnxB,EAAAA,QAAQqwB,CAAQ,GAAK,CAACY,EAAW,MAC1C,IAEFE,EAAW,KACpB,CAAC,EACKE,EAAevxB,EAAAA,SAAS,IAAMsxB,EAAI,QAAU,YAAY,EACxDE,EAAaxxB,EAAAA,SAEjB,IAAA,SAAM,OAAAuxB,EAAa,OAAS,QAAOjvB,GAAA1B,EAAAE,GAAA,YAAAA,EAAU,aAAV,YAAAF,EAAsB,MAAtB,YAAA0B,EAA2B,OAAU,IAC5E,EACQmvB,EAAmBzxB,EAAAA,SACvB,IAAMsxB,EAAI,QAAU,KAAO,CAACC,EAAa,OAAS,CAACC,EAAW,KAClE,EACQE,EAAiB1xB,EAAAA,SAAS,IAAMuxB,EAAa,OAASC,EAAW,KAAK,EACtEG,EAAY3xB,EAAAA,SAAS,KAAO,CAChC,GAAImxB,EAAW,MACf,QAASC,EAAgB,KAC7B,EAAI,EACIQ,EAAQV,GAAA,YAAAA,EAAU,CACtB,GAAIC,EACJ,QAASC,CACb,GACQS,EAAO7xB,EAAAA,SAAS,IAAM0xB,EAAe,MAAQE,EAAQ,IAAI,EACzDE,EAAe9xB,EAAAA,SAAS,IAAM,OAClC,IAAIY,EAAAixB,EAAK,QAAL,MAAAjxB,EAAY,KAAK,MAAO,OAAOixB,EAAK,MAAM,KAAK,MACnD,MAAME,EAAa,IACbC,EAAe9xB,EAAAA,QAAQswB,CAAI,EACjC,GAAIwB,EAAc,OAAOA,EACzB,GAAI,OAAOb,EAAW,OAAU,SAAU,OAAOA,EAAW,OAASY,EACrE,MAAME,EAAWd,EAAW,MAC5B,GAAIc,IAAa,QAAU,SAAUA,EAAU,CAC7C,MAAM5E,EAAO4E,EAAS,MAAQ,GACxBvkB,EAAQukB,EAAS,MAAQ,IAAI,OAAO,KAAKA,EAAS,KAAK,EAAE,IAAKzoB,UAAM,SAAGA,CAAC,KAAI5I,EAAAqxB,EAAS,QAAT,YAAArxB,EAAiB4I,EAAE,GAAE,EAAE,KAAK,GAAG,CAAC,GAAK,GACjH0oB,EAAO,CAACD,EAAS,MAAQA,EAAS,KAAK,OAAO,CAAC,IAAM,IAAMA,EAAS,MAAQ,GAAK,IAAIA,EAAS,IAAI,GACxG,MAAO,GAAG5E,CAAI,GAAG3f,CAAK,GAAGwkB,CAAI,IAAMH,CACrC,CACA,OAAOA,CACT,CAAC,EACD,MAAO,CACL,iBAAAN,EACA,IAAAH,EACA,aAAAC,EACA,WAAAC,EACA,aAAAM,EACA,WAAAT,EACA,OAAAV,EACA,MAAAC,EACA,KAAAiB,EACA,UAAAF,CACJ,CACA,EACMQ,GAAkBR,GAAc3xB,EAAAA,SAAS,IAAM,CACnD,MAAMsI,EAAQpI,EAAAA,QAAQyxB,CAAS,EAC/B,MAAO,CACL,CAAC,QAAQrpB,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,KAC7C,CAAC,gBAAgBA,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,OACrD,CAAC,gBAAgBA,EAAM,YAAY,QAAQ,EAAGA,EAAM,eAAiB,OACrE,CAAC,kBAAkBA,EAAM,gBAAgB,EAAE,EAAGA,EAAM,mBAAqB,KACzE,CAAC,eAAeA,EAAM,eAAe,EAAE,EAAGA,EAAM,kBAAoB,OACpE,CAAC,eAAeA,EAAM,oBAAoB,QAAQ,EAAGA,EAAM,uBAAyB,OACnF,iBAAmBA,EAAM,mBAAqB,OAASA,EAAM,mBAAqB,QAAUA,EAAM,wBAA0B,QAC7H,CAAC,0BAA0BA,EAAM,gBAAgB,EAAE,EAAGA,EAAM,mBAAqB,OACjF,CAAC,0BAA0BA,EAAM,qBAAqB,QAAQ,EAAGA,EAAM,wBAA0B,OACjG,YAAaA,EAAM,OAAS,EAChC,CACA,CAAC,EACK8pB,GAAqB,SACrBtY,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,QACR,MAAO,CACL,OAAQ,CAAE,KAAM,QAAS,QAAS,MAAM,EACxC,YAAa,CAAE,QAAS,oBAAoB,EAC5C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,iBAAkB,CAAE,QAAS,0BAA0B,EACvD,KAAM,CAAE,QAAS,MAAM,EACvB,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,QAAS,CAAE,QAAS,MAAM,EAC1B,aAAc,CAAE,QAAS,MAAM,EAC/B,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,WAAY,CAAE,QAAS,MAAM,EAC7B,WAAY,CAAE,KAAM,QAAS,QAAS,MAAM,EAC5C,gBAAiB,CAAE,QAAS,MAAM,EAClC,IAAK,CAAE,QAAS,MAAM,EACtB,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,oBAAqB,CAAE,QAAS,aAAa,EAC7C,UAAW,CAAE,QAAS,GAAG,EACzB,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,OAAQ,CAAE,QAAS,MAAM,EACzB,GAAI,CAAE,QAAS,MAAM,EACrB,gBAAiB,CAAE,QAAS,MAAM,EAClC,qBAAsB,CAAE,QAAS,MAAM,EACvC,iBAAkB,CAAE,QAAS,MAAM,EACnC,sBAAuB,CAAE,QAAS,MAAM,EACxC,iBAAkB,CAAE,QAAS,IAAI,EACjC,QAAS,CAAE,QAAS,IAAI,CAC5B,EACE,MAAO,CAAC,OAAO,EACf,MAAM2jB,EAAS,CAAE,KAAMuG,CAAM,EAAI,CAE/B,MAAM/pB,EAAQqjB,EADCG,EACmB,OAAO,EACnCwG,EAAOD,EACP9pB,EAAQgqB,EAAAA,SAAQ,EAChB,CAAE,aAAAT,EAAc,IAAAR,EAAK,KAAAO,EAAM,WAAAL,EAAY,aAAAD,EAAc,UAAAI,EAAW,iBAAAF,CAAgB,EAAKpB,GAAoB,CAC7G,oBAAqB,IAAM/nB,EAAM,oBACjC,SAAU,IAAMA,EAAM,SACtB,GAAI,IAAMA,EAAM,GAChB,QAAS,IAAMA,EAAM,QACrB,KAAM,IAAMA,EAAM,IACxB,CAAK,EACKkqB,EAAe1yB,EAAAA,OAAOlB,GAAsB,IAAI,EAChD6zB,EAAa3yB,EAAAA,OAAOf,GAAoB,IAAI,EAC5C2zB,EAAmBP,GAAe7pB,CAAK,EACvC2jB,EAAkBjsB,EAAAA,SAAS,IAAA,SAAM,OACrC0yB,EAAiB,MACjBnqB,EAAM,MACNoqB,EAAoB,MACpB,CACE,CAACP,EAAkB,EAAG9pB,EAAM,OAC5B,CAACA,EAAM,WAAW,IAAG1H,EAAAixB,EAAK,QAAL,YAAAjxB,EAAY,SAAS,QAAS,GACnD,CAAC0H,EAAM,gBAAgB,IAAGhG,EAAAuvB,EAAK,QAAL,YAAAvvB,EAAY,cAAc,QAAS,GAC7D,iBAAkBgG,EAAM,YAAc,EAC9C,CACA,EAAK,EACKqqB,EAAsB3yB,EAAAA,SAAS,KAAO,CAC1C,CAACoyB,EAAkB,EAAG9pB,EAAM,OAC5B,SAAUA,EAAM,QACtB,EAAM,EACIsqB,EAAWppB,GAAM,WACrB,GAAIlB,EAAM,SAAU,CAClBkB,EAAE,eAAc,EAChBA,EAAE,yBAAwB,EAC1B,MACF,IACI5I,EAAA4xB,GAAA,YAAAA,EAAc,QAAd,YAAA5xB,EAAqB,SAAU,IAAQ6xB,IAAe,MAAQA,IAAe,QAAQnwB,EAAAmwB,EAAW,cAAX,YAAAnwB,EAAwB,SAAU,OACzHgpB,EAAAkH,GAAA,YAAAA,EAAc,OAAd,MAAAlH,EAAA,KAAAkH,IAEFF,EAAK,QAAS9oB,CAAC,CACjB,EACMqpB,EAAc7yB,EAAAA,SAClB,IAAMsI,EAAM,SAAW,SAAW,CAACA,EAAM,KAAOA,EAAM,MAAQ,WAAaA,EAAM,IAAM,MAC7F,EACUwqB,EAAmB9yB,EAAAA,SACvB,IAAMsI,EAAM,SAAW,KAAO,OAAOC,EAAM,SAAa,IAAc,KAAOA,EAAM,QACzF,EACUwqB,EAAoB/yB,EAAAA,SAAS,KAAO,CACxC,SAAUsI,EAAM,SAChB,WAAYA,EAAM,WAClB,WAAYA,EAAM,WAClB,gBAAiBA,EAAM,gBACvB,GAAGqpB,EAAU,KACnB,EAAM,EACIqB,EAAwBhzB,EAAAA,SAAS,KAAO,CAC5C,GAAGuxB,EAAa,MAAQI,EAAU,MAAQ,OAG1C,GAAGH,EAAW,OAASC,EAAiB,MAAQsB,EAAkB,MAAQ,MAChF,EAAM,EACF,MAAO,CAAC5G,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAM6nB,CAAG,CAAC,EAAG2B,aAAW,CAC9E,MAAOhH,EAAgB,MACvB,OAAQxiB,EAAAA,MAAMnB,CAAK,EAAE,OACrB,KAAMmB,EAAAA,MAAMqoB,CAAY,EACxB,IAAKe,EAAY,MACjB,SAAUC,EAAiB,MAC3B,gBAAiBrpB,EAAAA,MAAMnB,CAAK,EAAE,SAAW,GAAO,IACxD,EAAS0qB,EAAsB,MAAO,CAC9B,QAAS5G,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK5iB,GAAM,OACxCopB,EAAQppB,CAAC,GACTC,EAAAA,EAAAA,MAAMooB,CAAI,IAAVpoB,MAAAA,EAAa,SAASD,EACxB,EACR,CAAO,EAAG,CACF,QAASijB,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,CAC3C,CAAS,EACD,EAAG,CACX,EAAS,GAAI,CAAC,QAAS,SAAU,OAAQ,MAAO,WAAY,eAAe,CAAC,EAE1E,CACF,CAAC,ECnOKrS,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,UACR,MAAuB+qB,EAAAA,YAAY,CACjC,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,YAAa,CAAE,QAAS,YAAY,EACpC,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,KAAM,CAAE,QAAS,IAAI,EACrB,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,IAAK,CAAE,QAAS,QAAQ,EACxB,KAAM,CAAE,QAAS,QAAQ,EACzB,QAAS,CAAE,QAAS,WAAW,EAC/B,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,YAAa,CAAE,QAAS,MAAM,EAC9B,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,iBAAkB,CAAE,QAAS,MAAM,EACnC,KAAM,CAAE,QAAS,MAAM,EACvB,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,MAAO,CAAE,KAAM,OAAO,EACtB,QAAS,CAAE,QAAS,MAAM,EAC1B,aAAc,CAAE,QAAS,MAAM,EAC/B,SAAU,CAAE,KAAM,OAAO,EACzB,WAAY,CAAA,EACZ,WAAY,CAAE,KAAM,OAAO,EAC3B,gBAAiB,CAAA,EACjB,IAAK,CAAE,QAAS,MAAM,EACtB,QAAS,CAAE,KAAM,QAAS,QAAS,MAAM,EACzC,oBAAqB,CAAE,QAAS,MAAM,EACtC,UAAW,CAAE,QAAS,MAAM,EAC5B,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,OAAQ,CAAE,QAAS,MAAM,EACzB,GAAI,CAAE,QAAS,MAAM,EACrB,gBAAiB,CAAE,QAAS,MAAM,EAClC,qBAAsB,CAAE,QAAS,MAAM,EACvC,iBAAkB,CAAE,QAAS,MAAM,EACnC,sBAAuB,CAAE,QAAS,MAAM,EACxC,iBAAkB,CAAE,QAAS,IAAI,CACrC,EAAK,CACD,QAAW,CAAE,KAAM,QAAc,QAAS,MAAQ,EAClD,iBAAoB,CAAA,CACxB,CAAG,EACD,MAAuBA,EAAAA,YAAY,CAAC,OAAO,EAAG,CAAC,gBAAgB,CAAC,EAChE,MAAMpH,EAAS,CAAE,KAAMuG,CAAM,EAAI,CAE/B,MAAM/pB,EAAQqjB,EADCG,EACmB,SAAS,EACrCwG,EAAOD,EACP9b,EAAU4c,EAAAA,eAAe,UAAU,EACnCC,EAAeC,EAAAA,SAASvH,EAAS,SAAS,EAC1C,CAAE,aAAAqE,EAAc,kBAAAC,GAAsBL,GAAeznB,EAAO,CAChE,eACA,qBACA,UACA,sBACA,WACN,CAAK,EACKgrB,EAAWtzB,EAAAA,SAAS,IAAM,OAAOozB,EAAa,OAAU,SAAS,EACjEG,EAAWvzB,EAAAA,SACf,IAAMsI,EAAM,MAAQ,UAAYA,EAAM,OAAS,QAAUA,EAAM,KAAO,MAC5E,EACUkrB,EAAUxzB,EAAAA,SAAS,IAAMsI,EAAM,KAAO,MAAM,EAC5CmrB,EAAiBzzB,WAAS,IAAMsI,EAAM,OAAS,OAAS,GAAQ,CAACirB,EAAS,KAAK,EAC/E5B,EAAY3xB,EAAAA,SAAS,IAAMwzB,EAAQ,MAAQpD,EAAkB,MAAQ,EAAE,EACvEsD,EAAuB1zB,EAAAA,SAAS,IAChCsI,EAAM,OAAS,KAAOA,EAAM,SAAiB,GAC1CmrB,EAAe,MAAQnrB,EAAM,SAAW,IAChD,EACKqrB,EAAoB3zB,EAAAA,SAAS,WAAM,QAAAY,EAAA0H,EAAM,UAAN,YAAA1H,EAAe,WAAW,UAAW,GAAK,EAC7EgzB,EAA0B5zB,EAAAA,SAAS,WAAM,QAAAY,EAAA0H,EAAM,UAAN,YAAA1H,EAAe,WAAW,WAAY,GAAK,EACpF8xB,EAAmBP,GACvBnyB,EAAAA,SAAS,IAAA,OAAO,OACd,GAAG2zB,EAAkB,MAAQ,CAC3B,KAAMrrB,EAAM,KACZ,QAASA,EAAM,QACf,aAAcA,EAAM,aACpB,gBAAiBA,EAAM,gBACvB,qBAAsBA,EAAM,qBAC5B,iBAAkBA,EAAM,iBACxB,sBAAuBA,EAAM,sBAC7B,iBAAkBA,EAAM,iBACxB,QAASsrB,EAAwB,QAAU,IAAOhzB,EAAA0H,EAAM,UAAN,YAAA1H,EAAe,MAAM,GAAK,IACtF,EAAY,MACZ,EAAQ,CACR,EACUqrB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrC2zB,EAAkB,QAAU,IAAQxD,EAAa,QAAU,GAAQuC,EAAiB,MAAQ,OAC5F,CAAC,OAAOpqB,EAAM,IAAI,EAAE,EACpB,CACE,CAAC,OAAOA,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,MAAQsrB,EAAwB,QAAU,GACtF,OAAUtrB,EAAM,QAAU8qB,EAAa,MACvC,eAAgB9qB,EAAM,KACtB,YAAaA,EAAM,QACnB,SAAYA,EAAM,QAC1B,CACA,CAAK,EACKurB,EAAc7zB,EAAAA,SAAS,IAAMwzB,EAAQ,MAAQM,GAAcxrB,EAAM,KAAO,IAAMA,EAAM,GAAG,EACvFsqB,EAAWppB,GAAM,CACrB,GAAIlB,EAAM,SAAU,CAClBkB,EAAE,eAAc,EAChBA,EAAE,gBAAe,EACjB,MACF,CACA8oB,EAAK,QAAS9oB,CAAC,EACX8pB,EAAS,QAAOF,EAAa,MAAQ,CAACA,EAAa,MACzD,EACA,OAAA3mB,GACE,CAAC,IAAK,OAAO,EACZjD,GAAM,OACDlB,EAAM,OAAS,MACjBkB,EAAE,eAAc,GAChB5I,EAAA2V,EAAQ,QAAR,MAAA3V,EAAe,QAEnB,EACA,CAAE,OAAQ2V,CAAO,CACvB,EACW,CAAC4V,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwBsH,EAAY,KAAK,EAAGZ,aAAW,CACrF,IAAK,WACL,MAAO,KACf,EAAStB,EAAU,MAAO,CAClB,MAAO1F,EAAgB,MACvB,gBAAiByH,EAAqB,MACtC,eAAgBJ,EAAS,MAAQF,EAAa,MAAQ,KACtD,aAAcE,EAAS,MAAQ,MAAQ,KACvC,SAAUC,EAAS,MAAQ9pB,EAAAA,MAAMnB,CAAK,EAAE,SAAW,KACnD,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,IAAKmB,EAAAA,MAAM0mB,CAAY,EAAI1mB,EAAAA,MAAMnB,CAAK,EAAE,IAAM,KAC9C,KAAMmrB,EAAe,OAAShqB,EAAAA,MAAM0mB,CAAY,EAAI,SAAW,KAC/D,OAAQ1mB,EAAAA,MAAM0mB,CAAY,EAAI1mB,EAAAA,MAAMnB,CAAK,EAAE,OAAS,KACpD,KAAMirB,EAAS,MAAQ9pB,EAAAA,MAAMnB,CAAK,EAAE,KAAO,KAC3C,GAAKirB,EAAS,MAA0B,KAAlB9pB,EAAAA,MAAMnB,CAAK,EAAE,GACnC,QAASsqB,CACjB,CAAO,EAAG,CACF,QAASnG,EAAAA,QAAQ,IAAM,CACrBhjB,EAAAA,MAAMnB,CAAK,EAAE,QAAUqkB,aAAWR,EAAK,OAAQ,UAAW,CAAE,IAAK,CAAC,EAAI,IAAM,CACzE1iB,QAAMnB,CAAK,EAAE,YAEJwkB,qBAAmB,GAAI,EAAI,GAFRT,EAAAA,UAAS,EAAIK,EAAAA,mBAAmBqH,WAAU,CAAE,IAAK,GAAK,CACjFnH,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,WAAW,EAAG,CAAC,CAC1E,EAAe,EAAE,GACLqkB,EAAAA,WAAWR,EAAK,OAAQ,kBAAmB,CAAA,EAAI,IAAM,CACnD6H,EAAAA,YAAYC,GAAa,CACvB,MAAOxqB,EAAAA,MAAMnB,CAAK,EAAE,OAAS,KAC7B,MAAOmB,EAAAA,MAAMnB,CAAK,EAAE,YAAcmB,QAAMnB,CAAK,EAAE,YAAc,MAC7E,EAAiB,KAAM,EAAG,CAAC,QAAS,OAAO,CAAC,CAC5C,CAAa,CACb,CAAW,EAAIqkB,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAE,IAAK,CAAC,CAAE,CAC5D,CAAS,EACD,EAAG,CACX,EAAS,GAAI,CAAC,QAAS,gBAAiB,eAAgB,eAAgB,WAAY,OAAQ,MAAO,OAAQ,SAAU,OAAQ,IAAI,CAAC,EAEhI,CACF,CAAC,ECzJKN,GAAa,CAAC,OAAQ,WAAY,YAAY,EAC9C/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,eACR,MAAO,CACL,UAAW,CAAE,QAAS,OAAO,EAC7B,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,QAAS,QAAQ,CAC7B,EACE,MAAO,CAAC,OAAO,EACf,MAAM2jB,EAAS,CAAE,KAAMuG,CAAM,EAAI,CAE/B,MAAM/pB,EAAQqjB,EADCG,EACmB,cAAc,EAC1CwG,EAAOD,EACb,MAAO,CAAClG,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,SAAU,CAC/C,KAAMjjB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,MAAO,YACP,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,UAC3B,QAAS8jB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,QAAS4B,CAAM,EAC3E,EAAS,KAAM,EAAGrI,EAAU,EAE1B,CACF,CAAC,ECvBK9C,GAAQ,CAACnpB,EAAI7B,IAAW,CAC5B,MAAMo2B,EAAQC,EAAAA,MAAO,EACrB,OAAOp0B,EAAAA,SAAS,IAAME,EAAAA,QAAQN,CAAE,GAAK/B,GAAcs2B,GAAS,GAAIp2B,CAAM,CAAC,CACzE,ECLA,MAAMs2B,EAAQ,CA4BZ,YAAYC,EAAWC,EAAY,GAAI,CA3BvCC,GAAA,kBAAa,IACbA,GAAA,mBAAc,MACdA,GAAA,yBAAoB,IACpBA,GAAA,iBAAY,IACZA,GAAA,mBAAc,MACdA,GAAA,wBACAA,GAAA,qBAAgB,MAChBA,GAAA,cAAS,MAqBP,GAAI,CAACF,EACH,MAAM,IAAI,UACR,wBAAwB,KAAK,YAAY,IAAI,2BAA2B,UAAU,MAAM,SAChG,EAEI,OAAO,OAAO,KAAMD,GAAQ,SAAUE,EAAW,CAAE,UAAAD,EAAW,EAC9D,KAAK,gBAAkB,UAA2B,CAC5C,KAAK,aACP,KAAK,iBAAmB,GAE5B,CACF,CA7BA,IAAI,kBAAmB,CACrB,OAAO,KAAK,iBACd,CACA,IAAI,iBAAiBtJ,EAAM,CACzB,KAAK,kBAAoBA,CAC3B,CAIA,IAAI,gBAAiB,CACnB,OAAO,KAAK,eACd,CAGA,IAAI,eAAeyJ,EAAQ,CACzB,KAAK,gBAAkBA,CACzB,CAcA,WAAW,UAAW,CACpB,MAAO,CACL,WAAY,GACZ,YAAa,KACb,UAAW,GACX,YAAa,KACb,cAAe,KACf,OAAQ,IACd,CACE,CACF,CACA,MAAMC,WAA2BL,EAAQ,CAGvC,YAAYC,EAAWC,EAAY,GAAI,CACrC,MAAMD,EAAWC,CAAS,EAH5BC,GAAA,eAAU,MACVA,GAAA,WAGE,OAAO,OAAO,KAAMH,GAAQ,SAAUE,EAAW,CAAE,UAAAD,EAAW,CAChE,CACA,WAAW,UAAW,CACpB,MAAO,CACL,GAAG,MAAM,SACT,QAAS,KACT,GAAI,MACV,CACE,CACF,CACA,MAAMK,WAAwBN,EAAQ,CAIpC,YAAYC,EAAWC,EAAW,CAChC,MAAMD,EAAWC,CAAS,EAJ5BC,GAAA,aACAA,GAAA,WACAA,GAAA,kBAGE,OAAO,OAAO,KAAMH,GAAQ,SAAUE,EAAW,CAAE,UAAAD,EAAW,EAC9D,KAAM,CAAE,KAAAM,EAAM,UAAAruB,EAAW,GAAA+pB,CAAE,EAAKiE,EAChC,KAAK,KAAOK,EACZ,KAAK,GAAKtE,EACV,KAAK,UAAY/pB,CACnB,CACA,WAAW,UAAW,CACpB,MAAO,CACL,GAAG,MAAM,QACf,CACE,CACF,CC/EA,MAAMsuB,GAA0B,CAC9B,KAAM,OACN,iBAAkB,GAClB,eAAgB,UAChB,aAAc,GACd,iBAAkB,GAClB,eAAgB,GAChB,aAAc,UACd,IAAK,EACP,EACMC,GAAc,CAACC,EAAYzsB,EAAOgqB,EAAM/b,EAASye,EAAY3wB,EAAU,CAC3E,gBAAiB,CAAA,EACjB,OAAQ,IAAM,CACd,EACA,OAAQ,IAAM,CACd,CACF,IAAM,QACJ,IAAI4wB,EAAW,GACf,MAAMC,EAAc,CAAC,CAACH,EAAW,OAAS,CAACzsB,EAAM,kBAAoBA,EAAM,SAAW,GAChF6sB,EAAUvyB,EAAAA,IAAIsyB,CAAW,EACzBE,EAAYxyB,EAAAA,IAAIsyB,CAAW,EAC3BG,EAAoBzyB,EAAAA,IAAIsyB,CAAW,EACzC,IAAII,EAAc,OAAOP,EAAW,OAAU,UAC9C50B,EAAAA,MAAM40B,EAAY,IAAM,CAEtB,GADAO,EAAc,OAAOP,EAAW,OAAU,UACtCE,EAAU,CACZA,EAAW,GACX,MACF,CACIF,EAAW,MACbQ,EAAI,EAEJC,EAAK,aAAc,EAAI,CAE3B,CAAC,EACD,MAAMC,EAAmB7yB,EAAAA,IAAIsyB,CAAW,EAClCQ,EAAqB9yB,EAAAA,IAAI,EAAK,EAC9B+yB,EAAsB31B,EAAAA,SAC1B,IAAMsI,EAAM,aAAeA,EAAM,QAAUmtB,EAAiB,OAAS,EACzE,EACE,IAAItqB,EAAY,GAChBpE,EAAAA,UAAU,IAAM,OAEd,GADAoE,EAAY,GACR,CAAC7C,EAAM,MAAQ4sB,EAAa,CAC9B,MAAM9rB,EAAQwsB,EAAsB,OAAQ,CAAE,WAAY,EAAI,CAAE,EAEhE,GADAtD,EAAK,OAAQlpB,CAAK,EACdA,EAAM,iBAAkB,CAC1BkpB,EAAK,iBAAkBsD,EAAsB,gBAAgB,CAAC,EAC9D,MACF,CACAH,EAAiB,MAAQ,GACpBV,EAAW,QACdE,EAAW,GACXF,EAAW,MAAQ,IAErBK,EAAU,MAAQ,GAClBC,EAAkB,MAAQ,GAC1BvL,EAAU,MAAQ,GAClB+L,EAAgB,MAAQ,GACxBC,EAAc,MAAQ,GACtBX,EAAQ,MAAQ,IAChBv0B,EAAAyD,EAAQ,SAAR,MAAAzD,EAAA,KAAAyD,EACF,MAAWiE,EAAM,MAAUysB,EAAW,OAASzsB,EAAM,mBACnDitB,EAAI,CAER,CAAC,EACDp1B,EAAAA,MACE,IAAMmI,EAAM,QACXytB,GAAW,CACVN,EAAiB,MAAQ,GACzBzuB,EAAAA,SAAS,IAAM,CACT+uB,IAAQjM,EAAU,MAAQ,IAC1BiM,EACFR,EAAI,EAEJC,EAAK,eAAgB,EAAI,CAE7B,CAAC,CACH,CACJ,EACEr1B,EAAAA,MACE,IAAMmI,EAAM,KACXytB,GAAW,CACNA,EACFR,EAAI,EAEJC,EAAK,YAAa,EAAI,CAE1B,CACJ,EACEzsB,GAAiBwN,EAAS,YAAa,IAAM,CAC3Cwe,EAAW,MAAQ,CAACA,EAAW,KACjC,CAAC,EACD,MAAMa,EAAwB,CAAC/kB,EAAMuH,EAAO,CAAA,IAAO,IAAIsc,GAAmB7jB,EAAM,CAC9E,WAAY,GACZ,QAAQ0F,GAAA,YAAAA,EAAS,QAAS,KAC1B,cAAe,KACf,QAAS,KACT,GAAG6B,EACH,YAAa4c,GAAA,YAAAA,EAAY,KAC7B,CAAG,EACD,IAAIgB,EACAC,EACAC,EACAC,EACAC,EACJ,MAAMb,EAAO,CAACc,EAAgB,KAAU,CACtC,GAAIlB,EAAQ,OAAS,CAACc,GAAe,CAACE,EAAU,OAAO,QAAQ,QAAQ,EAAI,EAE3E,GADAC,EAAiBC,EACblB,EAAQ,OAAS,CAACc,GAAeE,EAAU,OAAOA,EACtDA,EAAW,IAAI,QAASnzB,GAAY,CAClCkzB,EAAWlzB,CACb,CAAC,EACD,MAAMoG,EAAQwsB,EAAsB,OAAQ,CAAE,WAAY,EAAI,CAAE,EAEhE,OADAtD,EAAK,OAAQlpB,CAAK,EACdA,EAAM,kBACRkpB,EAAK,iBAAkBsD,EAAsB,gBAAgB,CAAC,EAC1D9L,EAAU,QACZA,EAAU,MAAQ,IAEhBiL,EAAW,OAAS,CAACO,IACvBL,EAAW,GACXjuB,EAAAA,SAAS,IAAM,CACb+tB,EAAW,MAAQ,EACrB,CAAC,GAEHmB,GAAA,MAAAA,EAAW,kBACJC,IAELF,IACF,aAAaA,CAAW,EACxBA,EAAc,QAEhBb,EAAU,MAAQ,GAClBC,EAAkB,MAAQ,GAC1B,sBAAsB,IAAM,SAC1B,GAAII,EAAiB,OAASntB,EAAM,QAAU,OAAQ,CACpD,GAAI,CAAC6C,EAAW,OAChB6qB,EAAc,OACdb,EAAQ,MAAQ,IAChBv0B,EAAAyD,EAAQ,SAAR,MAAAzD,EAAA,KAAAyD,GACK0wB,EAAW,QACdE,EAAW,GACXjuB,EAAAA,SAAS,IAAM,CACb+tB,EAAW,MAAQ,EACrB,CAAC,GAEH,MACF,CACAiB,EAAc,WACZ,IAAM,OACC7qB,IACL6qB,EAAc,OACdb,EAAQ,MAAQ,IAChBv0B,EAAAyD,EAAQ,SAAR,MAAAzD,EAAA,KAAAyD,GACK0wB,EAAW,QACdE,EAAW,GACXjuB,EAAAA,SAAS,IAAM,CACb+tB,EAAW,MAAQ,EACrB,CAAC,GAEL,EACA,OAAOzsB,EAAM,OAAU,SAAWA,EAAM,QAAQhG,EAAAgG,EAAM,QAAN,YAAAhG,EAAa,OAAQ,CAC7E,CACI,CAAC,EACM6zB,EACT,EACA,IAAIG,EACJ,MAAMd,EAAO,CAAC5c,EAAS2d,IAAkB,OACvC,GAAI,CAACpB,EAAQ,OAAS,CAACa,EAAa,OAAO,QAAQ,QAAQ,EAAE,EACxDG,IACHA,EAAW,IAAI,QAASnzB,GAAY,CAClCkzB,EAAWlzB,CACb,CAAC,GACC,OAAO4V,GAAY,WAAUA,EAAU,QAC3C0d,EAAe1d,EACf,MAAMxP,EAAQwsB,EAAsB,OAAQ,CAAE,WAAY,GAAM,QAAAhd,EAAS,EACnE4d,EAASZ,EAAsBhd,GAAW,SAAU,CAAE,WAAY,GAAM,QAAAA,EAAS,EACvF,OAAIA,IAAY,YAActQ,EAAM,mBAAqBsQ,IAAY,OAAStQ,EAAM,cAClFgqB,EAAK,iBAAkBsD,EAAsB,iBAAkB,CAAE,QAAAhd,CAAO,CAAE,CAAC,EAC3Esd,GAAA,MAAAA,EAAW,kBACJC,IAELH,IACF,aAAaA,CAAW,EACxBA,EAAc,QAEZpd,GAAW,CAAC2d,GACdjE,EAAK1Z,EAAS4d,CAAM,EAEtBlE,EAAK,OAAQlpB,CAAK,EACdA,EAAM,kBAAoBotB,EAAO,kBACnClE,EAAK,iBAAkBsD,EAAsB,iBAAkB,CAAE,QAAAhd,CAAO,CAAE,CAAC,EACtEmc,EAAW,OACd/tB,EAAAA,SAAS,IAAM,CACbiuB,EAAW,GACXF,EAAW,MAAQ,EACrB,CAAC,EAEHmB,GAAA,MAAAA,EAAW,kBACJC,IAETM,EAAW,MAAQ,GACfT,IACF,aAAaA,CAAW,EACxBA,EAAc,OACTN,EAAmB,QAAON,EAAU,MAAQ,IACjDC,EAAkB,MAAQ,IAE5BY,EAAc,WACZ,IAAM,OACC9qB,IACL8qB,EAAc,OACdS,EAAU,MAAQ,GAClBvB,EAAQ,MAAQ,IAChBv0B,EAAAyD,EAAQ,SAAR,MAAAzD,EAAA,KAAAyD,GACI0wB,EAAW,QACbE,EAAW,GACXF,EAAW,MAAQO,EAAc,EAAI,IAEzC,EACAG,EAAiB,MAAQ,EAAI,OAAOntB,EAAM,OAAU,SAAWA,EAAM,QAAQ1H,EAAA0H,EAAM,QAAN,YAAA1H,EAAa,OAAQ,CACxG,EACWu1B,GACT,EACMQ,EAAehxB,GAAewJ,GAAMqmB,EAAKrmB,CAAC,EAAG,GAAG,EAChDynB,EAAejxB,GAAc,IAAM4vB,EAAI,EAAI,GAAG,EAC9C3hB,EAAS,CAACyiB,EAAgB,KAAU,CACxC,MAAM7sB,EAAIosB,EAAsB,SAAU,CAAE,WAAY,EAAI,CAAE,EAE9D,OADAtD,EAAK,SAAU9oB,CAAC,EACZA,EAAE,kBACJ8oB,EAAK,mBAAoBsD,EAAsB,kBAAkB,CAAC,EAC3D,QAAQ,QAAQ,kBAAkB,GAEvCT,EAAQ,MACHK,EAAK,kBAAmB,EAAI,EAE9BD,EAAKc,CAAa,CAC3B,EACMQ,EAAgB,IAAM,CAC1B,MAAMrtB,EAAIosB,EAAsB,SAAU,CAAE,WAAY,EAAI,CAAE,EAE9D,GADAtD,EAAK,SAAU9oB,CAAC,EACZA,EAAE,iBAAkB,CACtB8oB,EAAK,mBAAoBsD,EAAsB,kBAAkB,CAAC,EAClE,MACF,CACIT,EAAQ,MACVK,EAAK,iBAAkB,EAAI,EAE3BD,EAAI,CAER,EACMuB,EAAkB,CAAA,EAClBC,EAAkB,CAACne,EAASzP,IAAO,CACvC2tB,EAAgB,KAAK,CAAE,QAAAle,EAAS,GAAAzP,CAAE,CAAE,EACpCA,EAAG,iBAAiByP,EAASie,CAAa,EAC1CG,EAAgB7tB,CAAE,CACpB,EACM8tB,EAAoB,CAACre,EAASzP,EAAI9B,EAAQ,KAAS,CACvD,MAAM6vB,EAAMJ,EAAgB,UAAW9W,IAAMA,GAAA,YAAAA,EAAG,WAAYpH,GAAWoH,EAAE,KAAO7W,CAAE,EAC9E+tB,EAAM,KACRJ,EAAgB,OAAOI,EAAK,CAAC,EAC7B/tB,EAAG,oBAAoByP,EAASie,CAAa,EACzCxvB,IACF8B,EAAG,gBAAgB,eAAe,EAClCA,EAAG,UAAU,OAAO,WAAW,EAC/BA,EAAG,UAAU,OAAO,eAAe,GAGzC,EACMguB,GAAcr3B,GAAAA,EAAAA,OAAOjB,GAAqB,MAAM,IAAlCiB,YAAAA,GAAqC,SAAS,CAChE,GAAIk1B,EAAW,MACf,OAAAphB,EACA,KAAA2hB,EACA,KAAAC,EACA,MAAO9yB,EAAAA,SAASyyB,CAAO,EACvB,gBAAA4B,EACA,kBAAAE,EACA,UAAWl2B,EAAAA,mBAAkB,CACjC,GACQi2B,EAAmB7tB,GAAO,CAC9BA,EAAG,aAAa,gBAAiB4rB,EAAW,MAAQ,OAAS,OAAO,EACpE5rB,EAAG,UAAU,OAAO,YAAa,CAAC4rB,EAAW,KAAK,EAClD5rB,EAAG,UAAU,OAAO,gBAAiB,CAAC,CAAC4rB,EAAW,KAAK,CACzD,EACA50B,EAAAA,MAAM40B,EAAY,IAAM,CACtB+B,EAAgB,QAAS9W,GAAM,CAC7BgX,EAAgBhX,EAAE,EAAE,CACtB,CAAC,CACH,CAAC,EACD7f,EAAAA,MAAM60B,EAAY,CAACoC,EAAOC,IAAU,CAClCF,GAAA,MAAAA,EAAa,SAASC,EAAOC,EAC/B,CAAC,EACDC,EAAAA,gBAAgB,IAAM,CACpBH,GAAA,MAAAA,EAAa,aACbL,EAAgB,QAAS9W,GAAM,CAC7BA,EAAE,GAAG,oBAAoBA,EAAE,QAAS6W,CAAa,CACnD,CAAC,CACH,CAAC,EACDtN,EAAAA,YAAY,IAAM,CAChBpe,EAAY,GACZ,aAAa6qB,CAAW,EACxB,aAAaC,CAAW,EACxBD,EAAc,OACdC,EAAc,MAChB,CAAC,EACD,MAAMsB,EAAoB30B,EAAAA,IAAI,EAAK,EAC7B40B,EAAwB,IAAM,CAC9BlvB,EAAM,OAAS,KAAMivB,EAAkB,MAAQ,GACrD,EACMb,EAAY9zB,EAAAA,IAAI,EAAK,EACrB2B,EAAW3B,EAAAA,IAAIsyB,CAAW,EAC1BpL,EAAYlnB,EAAAA,IAAIsyB,CAAW,EAC3BuC,EAAiBtuB,GAAO,cAC5B7G,GAAA1B,EAAAyD,EAAQ,kBAAR,YAAAzD,EAAyB,gBAAzB,MAAA0B,EAAA,KAAA1B,EAAyCuI,IACzCkiB,GAAAC,EAAAhjB,EAAM,kBAAN,YAAAgjB,EAAuB,gBAAvB,MAAAD,EAAA,KAAAC,EAAuCniB,GACvC5E,EAAS,MAAQ,EACnB,EACMmzB,GAAWvuB,GAAO,aACtB,sBAAsB,IAAM,CAC1B,sBAAsB,IAAM,CAC1B2gB,EAAU,MAAQ,EACpB,CAAC,CACH,CAAC,GACDxnB,GAAA1B,EAAAyD,EAAQ,kBAAR,YAAAzD,EAAyB,UAAzB,MAAA0B,EAAA,KAAA1B,EAAmCuI,IACnCkiB,GAAAC,EAAAhjB,EAAM,kBAAN,YAAAgjB,EAAuB,UAAvB,MAAAD,EAAA,KAAAC,EAAiCniB,EACnC,EACMwuB,GAAgBxuB,GAAO,aAC3BquB,EAAqB,GACrBl1B,GAAA1B,EAAAyD,EAAQ,kBAAR,YAAAzD,EAAyB,eAAzB,MAAA0B,EAAA,KAAA1B,EAAwCuI,IACxCkiB,GAAAC,EAAAhjB,EAAM,kBAAN,YAAAgjB,EAAuB,eAAvB,MAAAD,EAAA,KAAAC,EAAsCniB,GAClCssB,EAAiB,OACnB,sBAAsB,IAAM,CAC1BA,EAAiB,MAAQ,EAC3B,CAAC,EAECC,EAAmB,QACrBA,EAAmB,MAAQ,IAE7B,sBAAsB,IAAM,CAC1Be,EAAW,MAAQ,GACnBzvB,EAAAA,SAAS,IAAM,CACbsrB,EAAK,QAASsD,EAAsB,QAAS,CAAE,WAAY,EAAK,CAAE,CAAC,CACrE,CAAC,CACH,CAAC,EACIQ,IACHF,GAAA,MAAAA,EAAW,IACXC,EAAW,OACXD,EAAW,OAEf,EACM0B,GAAiBzuB,GAAO,aACvButB,EAAU,QAAOA,EAAU,MAAQ,KACxCp0B,GAAA1B,EAAAyD,EAAQ,kBAAR,YAAAzD,EAAyB,gBAAzB,MAAA0B,EAAA,KAAA1B,EAAyCuI,IACzCkiB,GAAAC,EAAAhjB,EAAM,kBAAN,YAAAgjB,EAAuB,gBAAvB,MAAAD,EAAA,KAAAC,EAAuCniB,GACvCstB,EAAW,MAAQ,EACrB,EACMoB,GAAW1uB,GAAO,aACtB2gB,EAAU,MAAQ,IAClBxnB,GAAA1B,EAAAyD,EAAQ,kBAAR,YAAAzD,EAAyB,UAAzB,MAAA0B,EAAA,KAAA1B,EAAmCuI,IACnCkiB,GAAAC,EAAAhjB,EAAM,kBAAN,YAAAgjB,EAAuB,UAAvB,MAAAD,EAAA,KAAAC,EAAiCniB,EACnC,EACM2uB,GAAgB3uB,GAAO,aAC3BmpB,EAAK,SAAUsD,EAAsB,SAAU,CAAE,QAASU,EAAc,WAAY,EAAK,CAAE,CAAC,GAC5Fh0B,GAAA1B,EAAAyD,EAAQ,kBAAR,YAAAzD,EAAyB,eAAzB,MAAA0B,EAAA,KAAA1B,EAAwCuI,IACxCkiB,GAAAC,EAAAhjB,EAAM,kBAAN,YAAAgjB,EAAuB,eAAvB,MAAAD,EAAA,KAAAC,EAAsCniB,GACtCutB,EAAU,MAAQ,GAClBnyB,EAAS,MAAQ,GACbkxB,EAAiB,OACnB,sBAAsB,IAAM,CAC1BA,EAAiB,MAAQ,EAC3B,CAAC,EAEH,sBAAsB,IAAM,CACrBC,EAAmB,QAAON,EAAU,MAAQ,GACnD,CAAC,EACDc,GAAA,MAAAA,EAAWI,GAAgB,IAC3BH,EAAW,OACXD,EAAW,OACXI,EAAe,MACjB,EACMyB,GAAiB/3B,EAAAA,SACrB,IAAM01B,EAAmB,QAAU,IAAQnxB,EAAS,QAAU,IAAQ+D,EAAM,OAAS,IAASA,EAAM,OAAS,IAAQivB,EAAkB,QAAU,IAAQjvB,EAAM,cAAgB,EACnL,EACQmuB,EAAa7zB,EAAAA,IAAI,EAAK,EACtBizB,EAAkBjzB,EAAAA,IAAI,EAAK,EAC3BkzB,EAAgBlzB,EAAAA,IAAI,EAAK,EACzBo1B,EAAsB,CAC1B,GAAG3zB,EAAQ,gBACX,cAAAozB,EACA,QAAAC,GACA,aAAAC,GACA,cAAAC,GACA,QAAAC,GACA,aAAAC,EACJ,EACE,MAAO,CACL,QAAA3C,EACA,UAAAC,EACA,kBAAAC,EACA,UAAAvL,EACA,SAAAvlB,EACA,WAAAkyB,EACA,KAAAlB,EACA,KAAAC,EACA,OAAA5hB,EACA,aAAA+iB,EACA,aAAAC,EACA,sBAAAhB,EACA,oBAAAD,EACA,iBAAAF,EACA,mBAAAC,EACA,UAAAgB,EACA,gBAAiB,CACf,GAAG7B,GACH,GAAGvsB,EAAM,gBACT,GAAG0vB,CACT,EACI,kBAAAT,EACA,sBAAAC,EACA,eAAAO,GACA,cAAAjC,EACA,gBAAAD,EACA,wBAAyB,CACvB,GAAGhB,GACH,cAAe,IAAM,CACnB,sBAAsB,IAAM,CAC1B,sBAAsB,IAAM,CAC1BgB,EAAgB,MAAQ,EAC1B,CAAC,CACH,CAAC,EACDC,EAAc,MAAQ,EACxB,EACA,aAAc,IAAM,CAClBA,EAAc,MAAQ,EACxB,EACA,cAAe,IAAM,CACnBD,EAAgB,MAAQ,EAC1B,EACA,aAAc,IAAM,CAClBC,EAAc,MAAQ,GACtB,sBAAsB,IAAM,CAC1BT,EAAkB,MAAQ,EAC5B,CAAC,CACH,CACN,CACA,CACA,ECpcM4C,GAAa,CAAC1hB,EAASvC,EAAO,OAAO,SAAa,IAAc,SAAW,SAAW,CAC1F,GAAKuC,EACL,OAAI,OAAOA,GAAY,SACjB,OAAOvC,EAAS,KAAe,OAAO,SAAa,IAAa,OAClD,SAAS,eAAeuC,CAAO,GAC7BvC,EAAK,cAAcuC,CAAO,GAAK,OAE9CA,EAAQ,KAAOA,CACxB,ECPM2hB,GAAgB,CACpB,KAAM,GACN,iBAAkB,GAClB,aAAc,GACd,iBAAkB,GAClB,aAAc,UACd,eAAgB,UAChB,eAAgB,EAClB,EACMC,GAAa,CACjB,GAAGD,GACH,iBAAkB,eAClB,iBAAkB,cACpB,EACME,GAAqBC,GAASr4B,WAAS,IAAME,EAAAA,QAAQm4B,CAAI,EAAIF,GAAaD,EAAa,ECdvFI,GAA0BC,GAAU,OAAOA,GAAU,SAAW/I,GAAU+I,CAAK,EAAIA,EAAM,QAAU,OAASA,EAAM,MAAQ,OAAOA,EAAM,KAAQ,SAAW/I,GAAU+I,EAAM,GAAG,EAAIA,EAAM,IACvLC,GAAoB,OAAO,OAC/B,OAAO,KAAK,CACV,SAAU,EACV,WAAY,EACZ,cAAe,EACf,WAAY,EACZ,KAAM,EACN,MAAO,EACP,MAAO,EACP,GAAI,EACJ,iBAAkB,EAClB,SAAU,EACV,WAAY,EACZ,MAAO,EACP,QAAS,EACT,aAAc,EACd,QAAS,EACT,eAAgB,EAChB,QAAS,EACT,WAAY,EACZ,WAAY,CAChB,CAAG,CACH,EACMC,GAAkB,OAAO,OAC7B,OAAO,KAAK,CACV,MAAO,EACP,QAAS,EACT,eAAgB,EAChB,iBAAkB,EAClB,OAAQ,EACR,UAAW,EACX,eAAgB,EAChB,YAAa,EACb,eAAgB,EAChB,YAAa,EACb,MAAO,EACP,aAAc,EACd,WAAY,EACZ,WAAY,EACZ,WAAY,EACZ,aAAc,EACd,aAAc,EACd,WAAY,EACZ,aAAc,EACd,WAAY,EACZ,aAAc,CAClB,CAAG,CACH,EACMC,GAAmB,CAACpwB,EAAOqwB,IAAUrwB,EAAM,SAAWA,EAAM,eAAiB,GAAO,CAAE,aAAcqwB,CAAK,EAAK,OC/B9GC,GAAqB,aACrBC,GAAsB,IAAM,CAChC,MAAMC,EAAqBh5B,EAAAA,OAAOX,EAAe,EAC3CmC,EAAWy3B,GAAU,CACzBD,GAAA,MAAAA,EAAoB,YAAYC,GAChCD,GAAA,MAAAA,EAAoB,eAAeC,EACrC,EACMpmB,EAAkBjD,GAAc,kBAAmB,CAACsC,EAAUC,EAAWnU,IAAU,CACvF,MAAMqL,EAAK,OAAO6I,GAAa,SAAW,2BAAQ,SAAS,cAAcA,GAAYpJ,GAAaoJ,CAAQ,EACrG7I,IACD8I,IAAc,QAChB9I,EAAG,UAAU,OAAOyvB,GAAoB96B,IAAU86B,EAAkB,EAEpEzvB,EAAG,aAAa8I,EAAWnU,CAAK,EAEpC,CAAC,EACD,OAAAuC,GAAkB,IAAM,EAClBy4B,GAAA,YAAAA,EAAoB,WAAW,SAAU,GAC3CnmB,EAAgB,OAAQ,QAAS,EAAE,CAEvC,CAAC,EACDxS,EAAAA,MACE,IAAM24B,GAAA,YAAAA,EAAoB,WAAW,MACpC14B,GAAa,CACRA,IAAa,QACjBuS,EAAgB,OAAQ,QAASvS,EAAW,EAAIw4B,GAAqB,EAAE,CACzE,CACJ,EACS,CACL,GAAGE,EACH,QAAAx3B,CACJ,CACA,EACM03B,GAAkB,CAACC,EAAW/mB,IAAiB,CACnD,KAAM,CAAE,aAAAgnB,EAAc,UAAAC,EAAW,YAAAC,EAAa,MAAAC,EAAO,QAAA/3B,EAAS,WAAAg4B,CAAU,EAAKT,GAAmB,EAC1FU,EAAex4B,EAAAA,mBAAkB,EACvC,GAAI,CAACw4B,GAAgBA,EAAa,KAAK,SAAW,SAChD,MAAM,IAAI,MAAM,mDAAmD,EAErEL,GAAA,MAAAA,EAAeK,GACfl5B,GAAkB,IAAM,CACtBiB,EAAQi4B,CAAY,CACtB,CAAC,EACD,MAAMC,EAAa,CAACp5B,EAAUqR,IAAa,CACrCrR,EACF+4B,GAAA,MAAAA,EAAYI,GACH9nB,GAAY,CAACrR,IACtBg5B,GAAA,MAAAA,EAAcG,GAElB,EACA,OAAAC,EAAWtnB,EAAcA,CAAY,EACrC/R,EAAAA,MAAM84B,EAAWO,CAAU,EACpB,CACL,eAAgBx5B,EAAAA,SACd,IAAMq5B,GAAA,YAAAA,EAAO,MAAM,UAAWlwB,GAAE,SAAKjJ,OAAAA,EAAAA,SAAQU,EAAAuI,EAAG,UAAH,YAAAvI,EAAY,EAAE,IAAMV,EAAAA,SAAQoC,EAAAi3B,EAAa,UAAb,YAAAj3B,EAAsB,EAAE,GACvG,EACI,iBAAkBg3B,EAClB,iBAAkBt5B,EAAAA,SAChB,KAAMq5B,GAAA,YAAAA,EAAO,MAAM,OAChBlwB,GAAE,SAAKjJ,OAAAA,WAAQU,EAAAuI,EAAG,UAAH,YAAAvI,EAAY,EAAE,IAAMV,EAAAA,SAAQoC,EAAAi3B,EAAa,UAAb,YAAAj3B,EAAsB,EAAE,MACjE,CAAA,CACX,CACA,CACA,EACMupB,GAAa,CAAC,KAAM,kBAAmB,kBAAkB,EACzD4N,GAAa,CAAC,IAAI,EAClBC,GAAwB,uBACxB5f,GAA4B3R,EAAAA,gBAAgB,CAE9C,aAAc,GAEhB,OAAQ,SACR,MAAuB+qB,EAAAA,YAAY,CACjC,MAAO,CAAE,KAAM,CAAC,OAAQ,QAAS,OAAQ,IAAI,EAAG,QAAS,MAAM,EAC/D,cAAe,CAAE,KAAM,QAAS,QAAS,EAAK,EAC9C,KAAM,CAAE,QAAS,MAAM,EACvB,UAAW,CAAE,QAAS,MAAM,EAC5B,cAAe,CAAE,QAAS,IAAI,EAC9B,UAAW,CAAE,QAAS,IAAI,EAC1B,cAAe,CAAE,KAAM,QAAS,QAAS,EAAK,EAC9C,gBAAiB,CAAE,QAAS,IAAI,EAChC,YAAa,CAAE,QAAS,IAAI,EAC5B,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,WAAY,CAAE,QAAS,IAAI,EAC3B,YAAa,CAAE,QAAS,MAAM,EAC9B,eAAgB,CAAE,KAAM,QAAS,QAAS,EAAK,EAC/C,YAAa,CAAE,QAAS,QAAQ,EAChC,cAAe,CAAE,QAAS,WAAW,EACrC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,aAAc,CAAE,QAAS,MAAM,EAC/B,YAAa,CAAE,QAAS,MAAM,EAC9B,gBAAiB,CAAE,QAAS,IAAI,EAChC,oBAAqB,CAAE,QAAS,IAAI,EACpC,YAAa,CAAE,QAAS,MAAM,EAC9B,kBAAmB,CAAE,QAAS,IAAI,EAClC,cAAe,CAAE,QAAS,IAAI,EAC9B,WAAY,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,EAAK,EACrD,YAAa,CAAE,QAAS,MAAM,EAC9B,gBAAiB,CAAE,QAAS,IAAI,EAChC,oBAAqB,CAAE,QAAS,IAAI,EACpC,YAAa,CAAE,QAAS,MAAM,EAC9B,iBAAkB,CAAE,QAAS,MAAM,EACnC,iBAAkB,CAAE,QAAS,OAAO,EACpC,mBAAoB,CAAE,QAAS,WAAW,EAC1C,kBAAmB,CAAE,QAAS,IAAI,EAClC,cAAe,CAAE,QAAS,IAAI,EAC9B,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,cAAe,CAAE,KAAM,QAAS,QAAS,EAAK,EAC9C,GAAI,CAAE,QAAS,MAAM,EACrB,WAAY,CAAE,QAAS,MAAM,EAC7B,kBAAmB,CAAE,KAAM,QAAS,QAAS,EAAK,EAClD,aAAc,CAAE,KAAM,QAAS,QAAS,EAAK,EAC7C,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,WAAY,CAAE,KAAM,OAAO,EAC3B,QAAS,CAAE,QAAS,MAAM,EAC1B,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,QAAS,CAAE,QAAS,IAAI,EACxB,UAAW,CAAE,QAAS,SAAS,EAC/B,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,KAAM,CAAE,QAAS,IAAI,EACrB,MAAO,CAAE,QAAS,MAAM,EACxB,WAAY,CAAE,QAAS,MAAM,EAC7B,oBAAqB,CAAE,KAAM,QAAS,QAAS,EAAK,EACpD,SAAU,CAAE,QAAS,IAAI,EACzB,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,WAAY,CAAE,QAAS,MAAM,EAC7B,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,YAAa,CAAE,KAAM,OAAO,EAC5B,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,WAAY,CAAE,QAAS,MAAM,EAC7B,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAC5C,EAAK,CACD,WAAc,CAAE,KAAM,QAAc,QAAS,EAAO,EACpD,eAAkB,CAAA,CACtB,CAAG,EACD,MAAuBA,EAAAA,YAAY,CAAC,WAAY,QAAS,MAAO,OAAQ,iBAAkB,SAAU,OAAQ,iBAAkB,QAAS,SAAU,mBAAoB,SAAU,IAAI,EAAG,CAAC,mBAAmB,CAAC,EAC3M,MAAMpH,EAAS,CAAE,OAAQ6N,EAAU,KAAMtH,GAAU,CAEjD,MAAM/pB,EAAQqjB,EADCG,EACmB,QAAQ,EACpCwG,EAAOD,EACPjqB,EAAQ2jB,EAAAA,SAAQ,EAChBiJ,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,OAAO,EAC1CysB,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3CvV,EAAU4c,EAAAA,eAAe,UAAU,EACnCyG,EAAuBzG,EAAAA,eAAe,uBAAuB,EAC7D0G,EAAW1G,EAAAA,eAAe,WAAW,EACrC2G,EAAe3G,EAAAA,eAAe,eAAe,EAC7C4G,EAAc5G,EAAAA,eAAe,cAAc,EAC3C6G,EAAgB,IAChB1xB,EAAM,OAAS,OAAOA,EAAM,OAAU,UACpCA,EAAM,QAAU,KACXuxB,EACEvxB,EAAM,QAAU,QAClByxB,EACEzxB,EAAM,QAAU,SAClBwxB,EAEF7B,GAAW3vB,EAAM,MAAOiO,EAAQ,OAAS,MAAM,GAAKA,EAAQ,MAE9DA,EAET,IAAImN,EAAgB,KACpB,MAAMiU,EAAe,IAAM,CACzB,GAAIrvB,EAAM,QAAUA,EAAM,QAAU,GAAO,CACzCob,EAAgB,SAAS,cACrBA,IAAkBnN,EAAQ,QAC5BmN,EAAgB,MAElB,MAAMva,EAAKP,GAAaoxB,GAAe,EACvC,GAAI,CAAC7wB,EAAI,OACTA,GAAA,MAAAA,EAAI,QACAA,EAAG,SAAWA,EAAG,QAAQ,gBAAkB,SAAW,OAAOA,EAAG,QAAW,YAC7EA,EAAG,OAAM,CAEb,CACF,EACM2uB,EAAe,IAAM,CACrBxvB,EAAM,QAAUA,EAAM,QAAU,IAASob,IAC3CA,GAAA,MAAAA,EAAe,QACfA,EAAgB,KAEpB,EACM,CACJ,QAAAyR,EACA,UAAAC,EACA,kBAAAC,EACA,KAAAG,EACA,KAAAD,EACA,OAAA3hB,EACA,oBAAA+hB,EACA,gBAAAsE,EACA,wBAAAC,EACA,UAAAxD,EACA,UAAA5M,EACA,WAAA2M,EACA,eAAAsB,EACA,cAAAjC,EACA,gBAAAD,CACN,EAAQf,GAAYC,EAAYzsB,EAAOgqB,EAAM/b,EAASye,EAAY,CAE5D,gBAAiB,CACf,aAAA2C,EACA,aAAAG,CACR,CACA,CAAK,EACK,CAAE,cAAAvP,CAAa,EAAKT,GAAsB,CAC9C,QAAAvR,EACA,SAAUkgB,EACV,OAAQ,IAAMnuB,EAAM,OACpB,cAAe,CACb,IAAKsxB,EACL,cAAeF,EACvB,EACM,MAAO,IAAMpxB,EAAM,QAAU,GAAQ,GAAQM,GAAaoxB,EAAa,CAAE,GAAK,MAEpF,CAAK,EACDvtB,GACE,SACA,IAAM,CACJ+oB,EAAK,KAAK,CACZ,EACA,CAAE,OAAQjf,CAAO,CACvB,EACIoS,GAAkBwM,EAAS,IAAM7sB,EAAM,aAAa,EACpD,MAAM6xB,EAAqBn6B,EAAAA,SAAS,IAAM,CAAC6pB,GAAYzhB,EAAM,cAAc,CAAC,CAAC,EACvEgyB,EAAqBp6B,EAAAA,SAAS,IAAM,CACxCsI,EAAM,YACN,CACE,mBAAoBA,EAAM,aAAe,GACzC,CAAC,oBAAoBA,EAAM,UAAU,OAAO,EAAG,OAAOA,EAAM,YAAe,SAC3E,CAAC,SAASA,EAAM,IAAI,EAAE,EAAGA,EAAM,OAAS,KACxC,wBAAyBA,EAAM,SAC/B,0BAA2BA,EAAM,UACzC,CACA,CAAK,EACK+xB,EAAmBzO,GAAuB,KAAO,CACrD,UAAWtjB,EAAM,cACjB,YAAaA,EAAM,gBACnB,QAASA,EAAM,WACrB,EAAM,EACIgyB,EAAct6B,EAAAA,SAAS,IAAM,CAACsI,EAAM,UAAW+xB,EAAiB,KAAK,CAAC,EACtEE,EAAqB3O,GAAuB,KAAO,CACvD,UAAWtjB,EAAM,gBACjB,YAAaA,EAAM,kBACnB,QAASA,EAAM,cACf,cAAeA,EAAM,mBAC3B,EAAM,EACIkyB,EAAgBx6B,EAAAA,SAAS,IAAM,CAACsI,EAAM,YAAaiyB,EAAmB,KAAK,CAAC,EAC5EE,GAAmBz6B,EAAAA,SAAS,KAAO,CACvC,QAASm6B,EAAmB,MAAQ7xB,EAAM,mBAAqB,OAC/D,MAAOA,EAAM,gBACnB,EAAM,EACIoyB,GAAqB9O,GAAuB,KAAO,CACvD,UAAWtjB,EAAM,gBACjB,YAAaA,EAAM,kBACnB,QAASA,EAAM,cACf,cAAeA,EAAM,mBAC3B,EAAM,EACIqyB,GAAgB36B,EAAAA,SAAS,IAAM,CAACsI,EAAM,YAAaoyB,GAAmB,KAAK,CAAC,EAC5EE,GAAe56B,EAAAA,SAAS,IAAM,CAClCsI,EAAM,WACN,CACG,kBAAoBA,EAAM,mBACnC,CACA,CAAK,EACKuyB,GAAgB76B,EAAAA,SAAS,IAAMsI,EAAM,gBAAkBA,EAAM,IAAI,EACjEwyB,GAAY96B,EAAAA,SAAS,IAAMsI,EAAM,YAAcA,EAAM,IAAI,EACzD,CAAE,eAAAyyB,EAAgB,iBAAAC,EAAkB,iBAAAC,CAAgB,EAAKjC,GAC7D7D,EACAJ,EAAW,KACjB,EACUmG,EAAgBl7B,EAAAA,SAAS,KAAO,CACpC,CAAC,mBAAkB+6B,GAAA,YAAAA,EAAgB,QAAS,CAAC,EAAE,EAAG,GAClD,CAAC,4BAA2BC,GAAA,YAAAA,EAAkB,QAAS,GAAK,IAAKD,GAAA,YAAAA,EAAgB,QAAS,EAAE,EAAE,EAAG,EACvG,EAAM,EACF56B,EAAAA,MAAM86B,EAAkB,CAAC76B,EAAUqR,IAAa,CAC1CrR,EAAS,OAASqR,EAAS,QAAU0jB,EAAQ,QAAU,IAAQ7sB,EAAM,aAAe,IACtFktB,EAAI,CACR,CAAC,EACD,MAAM2F,GAA2Bv4B,EAAAA,IAC/BsnB,GAAe3T,EAAQ,QAAU,OAAO,SAAa,IAAc,SAAS,KAAO,OAAO,CAChG,EACIxP,EAAAA,UAAU,IAAM,CACd5G,EAAAA,MACEi1B,EACCn1B,GAAM,CACAA,GACL+G,EAAAA,SAAS,IAAM,CACRuP,EAAQ,QACb4kB,GAAyB,MAAQjR,GAAe3T,EAAQ,KAAK,EAC/D,CAAC,CACH,EACA,CAAE,UAAW,EAAI,CACzB,CACI,CAAC,EACD,MAAM6kB,EAAuBp7B,EAAAA,SAC3B,IAKEm1B,EAAQ,OAASuB,EAAU,MAEzByE,GAAyB,SAAUH,GAAA,YAAAA,EAAkB,QAAS,GAAK,IAAKD,GAAA,YAAAA,EAAgB,QAAS,GAAK,GACpGI,GAAyB,KAErC,EACUE,EAAiBr7B,EAAAA,SAAS,KAAO,CACrC,UAAWo7B,EAAqB,MAChC,gBAAgBL,GAAA,YAAAA,EAAgB,QAAS,EACzC,yBAAyBC,GAAA,YAAAA,EAAkB,QAAS,GAAK,IAAKD,GAAA,YAAAA,EAAgB,QAAS,GACvF,aAAaC,GAAA,YAAAA,EAAkB,QAAS,CAC9C,EAAM,EACIM,EAAyBt7B,EAAAA,SAAS,KAAO,CAC7C,UAAWo7B,EAAqB,MAAQ,EACxC,gBAAgBL,GAAA,YAAAA,EAAgB,QAAS,EACzC,yBAAyBC,GAAA,YAAAA,EAAkB,QAAS,GAAK,IAAKD,GAAA,YAAAA,EAAgB,QAAS,GACvF,aAAaC,GAAA,YAAAA,EAAkB,QAAS,CAC9C,EAAM,EACIO,EAAcv7B,EAAAA,SAAS,KAAO,CAClC,GAAIg1B,EAAW,MACf,OAAQ,IAAM,CACZQ,EAAK,QAAQ,CACf,EACA,MAAO,IAAM,CACXA,EAAK,OAAO,CACd,EACA,KAAAA,EACA,KAAAD,EACA,OAAA3hB,EACA,GAAI,IAAM,CACR4hB,EAAK,IAAI,CACX,EACA,OAAQL,EAAQ,MAChB,QAASA,EAAQ,KACvB,EAAM,EACF,OAAAwE,EAAS,CACP,KAAAnE,EACA,GAAIR,EACJ,KAAAO,EACA,OAAA3hB,EACA,QAASuhB,CACf,CAAK,EACM,CAAChJ,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAYwH,GAAa,CAC3C,GAAIrqB,EAAAA,MAAMnB,CAAK,EAAE,WACjB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,gBAC/B,EAAS,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBhjB,EAAAA,MAAM2rB,CAAS,GAAK3rB,EAAAA,MAAMsuB,CAAc,GAAK1L,EAAAA,UAAS,EAAIC,EAAAA,YAAYkP,EAAAA,WAAYvI,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAIxpB,EAAAA,MAAMwwB,CAAe,EAAG,CAC/H,OAAQlF,EAAW,OAAStrB,EAAAA,MAAMnB,CAAK,EAAE,OACrD,CAAW,EAAG,CACF,QAASmkB,EAAAA,QAAQ,IAAM,CACrBgP,iBAAeC,EAAAA,mBAAmB,MAAOzI,aAAW,CAClD,GAAIxpB,EAAAA,MAAMurB,CAAU,EACpB,IAAK,WACL,MAAO,CAAC,QAAS,CACfvrB,EAAAA,MAAMnB,CAAK,EAAE,WACb,CACE,KAAM,CAACmB,EAAAA,MAAMksB,CAAmB,EAChC,KAAMlsB,EAAAA,MAAMqgB,CAAS,EACrB,GAAGoR,EAAc,KACrC,CACA,CAAiB,EACD,KAAM,SACN,kBAAoBzxB,EAAAA,MAAMnB,CAAK,EAAE,SAA0C,OAA/B,GAAGmB,EAAAA,MAAMurB,CAAU,CAAC,SAChE,mBAAoB,GAAGvrB,EAAAA,MAAMurB,CAAU,CAAC,QACxC,SAAU,IAC1B,EAAiB7I,EAAK,OAAQ,CACd,MAAO,CAACkP,EAAe,MAAO,CAAE,QAAW,OAAO,CAAE,EACpD,YAAajP,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIuP,gBAAezH,IAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,UAAU,EAAG,CAAC,OAAQ,MAAM,CAAC,EAC1H,CAAe,EAAG,CACFkG,EAAAA,mBAAmB,MAAO,CACxB,MAAOlP,EAAAA,eAAe,CAAC,eAAgB4N,EAAmB,KAAK,CAAC,CAClF,EAAmB,CACD3wB,EAAAA,MAAMsuB,CAAc,GAAK1L,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC9D,IAAK,EACL,MAAOF,EAAAA,eAAe,CAAC,gBAAiB/iB,EAAAA,MAAMnB,CAAK,EAAE,YAAY,CAAC,CACtF,EAAqB,CACAmB,EAAAA,MAAMnB,CAAK,EAAE,SAoCJwkB,qBAAmB,GAAI,EAAI,GApCXT,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAOuG,aAAW,CAC1E,IAAK,EACL,MAAO,CAAC,eAAgBuH,EAAc,KAAK,CACjE,EAAuB/wB,QAAMnB,CAAK,EAAE,WAAW,EAAG,CAC5BqkB,aAAWR,EAAK,OAAQ,SAAUyP,EAAAA,eAAeC,EAAAA,mBAAmBN,EAAY,KAAK,CAAC,EAAG,IAAM,EAC5FlP,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,QAAQ,EAAG,CACxE,GAAI,GAAGmB,EAAAA,MAAMurB,CAAU,CAAC,SACxB,MAAOxI,EAAAA,eAAe,CAAC,cAAeoO,GAAa,KAAK,CAAC,CACnF,EAA2B,CACD,QAASnO,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,QAASyP,EAAAA,eAAeC,EAAAA,mBAAmBN,EAAY,KAAK,CAAC,EAAG,IAAM,CAC5F3O,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,KAAK,EAAG,CAAC,CACpF,CAA6B,CAC7B,CAA2B,EACD,EAAG,CAC7B,EAA2B,EAAG,CAAC,KAAM,OAAO,CAAC,GACpBmB,QAAMnB,CAAK,EAAE,cAkBJwkB,qBAAmB,GAAI,EAAI,GAlBNT,EAAAA,UAAS,EAAIK,EAAAA,mBAAmBqH,WAAU,CAAE,IAAK,GAAK,CACnFoG,EAAmB,OAAS9N,EAAAA,UAAS,EAAIC,EAAAA,YAAY2H,GAAahB,EAAAA,WAAW,CAC3E,IAAK,EACL,IAAK,cACjC,EAA6BwH,GAAiB,MAAO,CACzB,QAASrO,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,IAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,OAAO,EAC9F,CAA2B,EAAG,CACF,QAAS/I,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,eAAgByP,EAAAA,eAAeC,qBAAmBN,EAAY,KAAK,CAAC,CAAC,CAC3H,CAA6B,EACD,EAAG,CAC/B,EAA6B,EAAE,IAAMlP,EAAAA,UAAS,EAAIC,EAAAA,YAAYwP,GAAa7I,EAAAA,WAAW,CAC1D,IAAK,EACL,IAAK,eACL,aAAcxpB,EAAAA,MAAMnB,CAAK,EAAE,gBACvD,EAA6BmyB,GAAiB,MAAO,CACzB,QAASrO,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,IAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,OAAO,EAC9F,CAA2B,EAAG,KAAM,GAAI,CAAC,YAAY,CAAC,EACtD,EAA2B,EAAE,EAC7B,CAAuB,CACvB,EAAuB,EAAE,GACLkG,EAAAA,mBAAmB,MAAOzI,aAAW,CACnC,GAAI,GAAGxpB,EAAAA,MAAMurB,CAAU,CAAC,QACxB,MAAO,CAAC,aAAcsF,EAAY,KAAK,CAC7D,EAAuB7wB,QAAMnB,CAAK,EAAE,SAAS,EAAG,CAC1BqkB,aAAWR,EAAK,OAAQ,UAAWyP,EAAAA,eAAeC,EAAAA,mBAAmBN,EAAY,KAAK,CAAC,EAAG,IAAM,CAC9F3O,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CAC7E,CAAuB,CACvB,EAAuB,GAAImxB,EAAU,EAChBhwB,EAAAA,MAAMnB,CAAK,EAAE,SAqCLwkB,qBAAmB,GAAI,EAAI,GArCVT,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC/D,IAAK,EACL,MAAOF,EAAAA,eAAe,CAAC,eAAgBmO,GAAc,KAAK,CAAC,CACjF,EAAuB,CACDhO,aAAWR,EAAK,OAAQ,SAAUyP,EAAAA,eAAeC,EAAAA,mBAAmBN,EAAY,KAAK,CAAC,EAAG,IAAM,CAC7F5O,aAAWR,EAAK,OAAQ,SAAUyP,EAAAA,eAAeC,EAAAA,mBAAmBN,EAAY,KAAK,CAAC,EAAG,IAAM,CAC5F9xB,EAAAA,MAAMnB,CAAK,EAAE,OAaqCwkB,qBAAmB,GAAI,EAAI,GAbtDT,EAAAA,UAAS,EAAIC,EAAAA,YAAY2H,GAAa,CAC5D,IAAK,EACL,IAAK,gBACL,SAAU4G,GAAc,MACxB,KAAMpxB,EAAAA,MAAMnB,CAAK,EAAE,WACnB,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,cACtB,MAAOkkB,EAAAA,eAAe/iB,EAAAA,MAAMnB,CAAK,EAAE,WAAW,EAC9C,QAAS8jB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,IAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,QAAQ,EAC/F,EAA6B,CACD,QAAS/I,EAAAA,QAAQ,IAAM,CACrBG,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,WAAW,EAAG,CAAC,CAC1F,CAA6B,EACD,EAAG,CAC/B,EAA6B,EAAG,CAAC,WAAY,OAAQ,UAAW,OAAO,CAAC,EACxE,CAAyB,EACDqkB,aAAWR,EAAK,OAAQ,KAAMyP,EAAAA,eAAeC,EAAAA,mBAAmBN,EAAY,KAAK,CAAC,EAAG,IAAM,CACzFvH,EAAAA,YAAYC,GAAa,CACvB,IAAK,YACL,SAAU6G,GAAU,MACpB,KAAMrxB,EAAAA,MAAMnB,CAAK,EAAE,WACnB,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,UACtB,MAAOkkB,EAAAA,eAAe/iB,EAAAA,MAAMnB,CAAK,EAAE,OAAO,EAC1C,QAAS8jB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,IAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,IAAI,EAC3F,EAA6B,CACD,QAAS/I,EAAAA,QAAQ,IAAM,CACrBG,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,OAAO,EAAG,CAAC,CACtF,CAA6B,EACD,EAAG,CAC/B,EAA6B,EAAG,CAAC,WAAY,OAAQ,UAAW,OAAO,CAAC,CACxE,CAAyB,CACzB,CAAuB,CACvB,EAAuB,CAAC,EACxB,EAAqB,CAAC,GAAKwkB,qBAAmB,GAAI,EAAI,CACtD,EAAmB,CAAC,EACJrjB,EAAAA,MAAM8e,CAAa,GAAK8D,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC7D,IAAK,EACL,IAAK,wBACL,MAAOF,EAAAA,eAAekN,EAAqB,EAC3C,SAAU,IACV,MAAO,CAAE,MAAS,IAAK,OAAU,IAAK,SAAY,QAAQ,CAC5E,EAAmB,KAAM,GAAG,GAAK5M,EAAAA,mBAAmB,GAAI,EAAI,CAC5D,EAAiB,GAAIjB,EAAU,EAAG,CAClB,CAACkQ,EAAAA,MAAOtyB,EAAAA,MAAM0rB,CAAO,IAAM1rB,EAAAA,MAAMqsB,CAAa,GAAKrsB,EAAAA,MAAMnB,CAAK,EAAE,eAAiB,CAACmB,EAAAA,MAAMnB,CAAK,EAAE,cAAc,CAC7H,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,GAAI,CAAC,QAAQ,CAAC,GAAKwkB,EAAAA,mBAAmB,GAAI,EAAI,EAChDrjB,EAAAA,MAAMnB,CAAK,EAAE,WAiBTwkB,EAAAA,mBAAmB,GAAI,EAAI,EAjBLH,EAAAA,WAAWR,EAAK,OAAQ,WAAYyP,EAAAA,eAAe3I,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAIsI,EAAY,KAAK,CAAC,EAAG,IAAM,CAC9H9xB,EAAAA,MAAM4rB,CAAiB,GAAKhJ,EAAAA,UAAS,EAAIC,EAAAA,YAAYkP,EAAAA,WAAYI,EAAAA,eAAe3I,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAIxpB,EAAAA,MAAMywB,CAAuB,CAAC,CAAC,EAAG,CACvI,QAASzN,EAAAA,QAAQ,IAAM,CACrBgP,EAAAA,eAAeC,EAAAA,mBAAmB,MAAO,CACvC,MAAOlP,EAAAA,eAAe,CAAC,iBAAkB,CACvC,KAAM,CAAC/iB,EAAAA,MAAMksB,CAAmB,EAChC,KAAMlsB,EAAAA,MAAMosB,CAAe,GAAKpsB,EAAAA,MAAMksB,CAAmB,EACzD,GAAGuF,EAAc,KACrC,CAAmB,CAAC,EACF,MAAOc,EAAAA,eAAeV,EAAuB,KAAK,EAClD,QAASlP,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,IAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,UAAU,EACvF,EAAmB,KAAM,CAAC,EAAG,CACX,CAACuG,EAAAA,MAAOtyB,EAAAA,MAAM0rB,CAAO,GAAK1rB,EAAAA,MAAMitB,CAAS,GAAKjtB,EAAAA,MAAMnB,CAAK,EAAE,eAAiB,CAACmB,EAAAA,MAAMksB,CAAmB,CAAC,CACzH,CAAiB,CACjB,CAAe,EACD,EAAG,CACjB,EAAe,EAAE,GAAK7I,qBAAmB,GAAI,EAAI,CACjD,CAAW,CACX,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,KAAM,UAAU,CAAC,EAE5B,CACF,CAAC,EACKmP,GAAW,IAAM,CACrB,MAAM5iB,EAAuBvZ,EAAAA,OAAOP,EAAuB,EAC3D,GAAI,CAAC8Z,EACH,MAAM,MACJ,uGACN,EAEE,KAAM,CAAE,MAAA3G,EAAO,yBAAAwpB,CAAwB,EAAK7iB,EACtC8iB,EAAS,CAAC16B,EAAM,CAAA,EAAI4C,EAAU,CAAA,IAAO,OACzC,GAAI,CAAC63B,EAAyB,MAC5B,MAAM,IAAI,MAAM,6EAA6E,EAE/F,MAAMhM,EAAgB3tB,EAAAA,MAAMd,CAAG,EACzB26B,IAAQx7B,EAAAsvB,EAAc,QAAd,YAAAtvB,EAAqB,KAAM,OAAO,mBAAmB,EAC7D8X,EAAUH,GAAa6jB,EAAO1pB,CAAK,EACzC,OAAAgG,EAAQ,KAAOvY,EAAAA,MACb+vB,EACCmM,GAAc,CACb,MAAMj8B,EAAW,CAAE,GAAGF,EAAAA,QAAQm8B,CAAS,CAAC,EAClCC,EAAgB5pB,EAAM,MAAM,UAAWvJ,GAAOA,EAAG,QAAUizB,CAAK,EAChEG,EAAWD,IAAkB,GAAK,CAAE,WAAYE,UAAQ1iB,EAAS,CAAC,EAAKpH,EAAM,MAAM4pB,CAAa,EAChGr8B,EAAI,CACR,KAAM,QACN,MAAAm8B,EACA,SAAU,QACV,GAAGG,EACH,QAAAl4B,EACA,QAAAqU,CACV,EACQ,UAAW7X,KAAOT,EACZS,EAAI,WAAW,IAAI,EACrBZ,EAAEY,CAAG,EAAIT,EAASS,CAAG,EACZA,IAAQ,aAAeT,EAAS,UACzCH,EAAE,WAAau8B,UAAQp8B,EAAS,SAAS,EAChCS,IAAQ,SAAWT,EAAS,MACrCH,EAAE,MAAQu8B,UAAQp8B,EAAS,KAAK,EAEhCH,EAAEY,CAAG,EAAIX,EAAAA,QACPE,EAASS,CAAG,CAC1B,EAGQZ,EAAE,WAAaA,EAAE,YAAc,GAC/BA,EAAE,qBAAqB,EAAK8B,GAAQ,QAClCnB,EAAAR,EAAS,yBAAT,MAAAQ,EAAA,KAAAR,EAAkC2B,GAClC,KAAM,CAAE,WAAAgzB,CAAU,EAAK70B,EAAAA,QAAQuB,CAAG,EAC9BqC,EAAAA,MAAMrC,CAAG,GAAK,CAACqC,EAAAA,MAAMixB,CAAU,IAAGtzB,EAAI,MAAM,WAAaM,GACzD+B,EAAAA,MAAMixB,CAAU,GAAK,CAAC0H,EAAAA,WAAW1H,CAAU,IAC7CA,EAAW,MAAQhzB,GAErB,MAAMg3B,EAAQrmB,EAAM,MAAM,KAAMvJ,GAAOA,EAAG,QAAUizB,CAAK,EACrDrD,IACFA,EAAM,WAAah3B,EAEvB,EACIu6B,IAAkB,GACpB5pB,EAAM,MAAM,KAAKzS,CAAC,EAElByS,EAAM,MAAM,OAAO4pB,EAAe,EAAGr8B,CAAC,CAE1C,EACA,CACE,UAAW,GACX,KAAM,EACd,CACA,EACIO,EAAAA,eAAe,IAAM,SACnB,MAAMu4B,EAAQrmB,EAAM,MAAM,KAAMvJ,GAAOA,EAAG,QAAUizB,CAAK,EACrDrD,KACFz2B,GAAA1B,EAAAm4B,EAAM,QAAQ,OAAM,UAApB,MAAAz2B,EAAA,KAAA1B,GAEJ,EAAG,EAAI,EACA8X,EAAQ,KACjB,EACM,CAAE,UAAAgkB,EAAW,MAAArD,EAAO,SAAAsD,CAAQ,EAAK9D,GAAmB,EACpDtD,EAAQ31B,GAAO,WACnB,GAAIA,IAAO,OACL88B,GAAA,MAAAA,EAAW,SACb97B,EAAA87B,GAAA,YAAAA,EAAW,MAAM,UAAjB,MAAA97B,EAA0B,YAEvB,CACL,MAAMg8B,EAAavD,GAAA,YAAAA,EAAO,MAAM,KAAMwD,GAAM,OAAK,QAAAj8B,EAAAi8B,EAAO,UAAP,YAAAj8B,EAAgB,MAAOhB,IACxE,GAAIg9B,EAAY,EACdt6B,EAAAs6B,EAAW,UAAX,MAAAt6B,EAAoB,OACpB,MACF,CACA,MAAMy2B,EAAQrmB,EAAM,MAAM,KAAMvJ,GAAOA,EAAG,QAAUvJ,CAAE,EAClDm5B,GACFA,EAAM,WAAa,IACnBzN,EAAAyN,EAAM,yBAAN,MAAAzN,EAAA,KAAAyN,EAA+B,KAE/BM,GAAA,MAAAA,EAAO,MAAM,QAASwD,GAAW,WAC3Bj8B,EAAAi8B,EAAO,UAAP,YAAAj8B,EAAgB,MAAOhB,KACzB0C,EAAAu6B,EAAO,UAAP,MAAAv6B,EAAgB,OAEpB,EAEJ,CACF,EACMkzB,EAAO,CAAC5c,EAAShZ,IAAO,WAC5B,GAAIA,IAAO,OACL88B,GAAA,MAAAA,EAAW,SACb97B,EAAA87B,GAAA,YAAAA,EAAW,MAAM,UAAjB,MAAA97B,EAA0B,KAAKgY,QAE5B,CACL,MAAMgkB,EAAavD,GAAA,YAAAA,EAAO,MAAM,KAAMwD,GAAM,OAAK,QAAAj8B,EAAAi8B,EAAO,UAAP,YAAAj8B,EAAgB,MAAOhB,IACxE,GAAIg9B,EAAY,EACdt6B,EAAAs6B,EAAW,UAAX,MAAAt6B,EAAoB,KAAKsW,GACzB,MACF,CACA,MAAMmgB,EAAQrmB,EAAM,MAAM,KAAMvJ,GAAOA,EAAG,QAAUvJ,CAAE,EAClDm5B,GACFA,EAAM,WAAa,IACnBzN,EAAAyN,EAAM,yBAAN,MAAAzN,EAAA,KAAAyN,EAA+B,KAE/BM,GAAA,MAAAA,EAAO,MAAM,QAASwD,GAAW,WAC3Bj8B,EAAAi8B,EAAO,UAAP,YAAAj8B,EAAgB,MAAOhB,KACzB0C,EAAAu6B,EAAO,UAAP,MAAAv6B,EAAgB,KAAKsW,EAAS,IAElC,EAEJ,CACF,EACMkkB,EAAWlkB,GAAY,CAC3BygB,GAAA,MAAAA,EAAO,MAAM,QAASN,GAAU,QAC9Bn4B,EAAAm4B,EAAM,UAAN,MAAAn4B,EAAe,KAAKgY,EAAS,GAC/B,EACF,EACMwU,EAAOxtB,GAAO,OAClB,MAAMm5B,EAAQrmB,EAAM,MAAM,KAAMvJ,GAAOA,EAAG,QAAUvJ,CAAE,EACtD,GAAIm5B,EACF,MAAO,CACL,MAAAA,EACA,MAAO,CACLA,GAAA,MAAAA,EAAO,QAAQ,MAAM,MACvB,EACA,KAAKngB,EAAS,CACZmgB,GAAA,MAAAA,EAAO,QAAQ,MAAM,KAAKngB,EAC5B,CACR,EAEI,GAAI+jB,GAAA,MAAAA,EAAU,OACZ,SAAW,CAAA,CAAGE,CAAM,IAAKF,GAAA,YAAAA,EAAU,MAAM,YAAa,GACpD,GAAIz8B,EAAAA,SAAQU,EAAAi8B,EAAO,UAAP,YAAAj8B,EAAgB,EAAE,IAAMhB,EAClC,MAAO,CACL,MAAOi9B,EACP,MAAO,QACLj8B,EAAAi8B,EAAO,UAAP,MAAAj8B,EAAgB,MAClB,EACA,KAAKgY,EAAS,QACZhY,EAAAi8B,EAAO,UAAP,MAAAj8B,EAAgB,KAAKgY,EAAS,GAChC,CACZ,EAII,OAAO,IACT,EACM9X,EAAWC,EAAAA,mBAAkB,EA0BnC,MAAO,CACL,KAAAw0B,EACA,KAAAC,EACA,QAAAsH,EACA,IAAA1P,EACA,QA9Bc,IAAM,CACpB,MAAM2P,EAAcC,GACbA,EAAU,OAGXA,EAAU,OAAO,OAASljB,GACrBkjB,EAAU,OAEZD,EAAWC,EAAU,MAAM,EALzB,KAOX,GAAI,CAACl8B,EACH,OAAO,KAET,MAAMm8B,EAAiBj9B,EAAAA,SAAS,IAAM+8B,EAAWj8B,CAAQ,CAAC,EACpDi4B,EAAQ/4B,EAAAA,SAAS,IAAA,OAAM,OAAAY,EAAAq8B,EAAe,QAAf,YAAAr8B,EAAsB,MAAK,EACxD,MAAO,CACL,MAAO,UACL0B,GAAA1B,EAAAq8B,EAAe,QAAf,YAAAr8B,EAAsB,UAAtB,MAAA0B,EAA+B,MACjC,EACA,KAAKsW,EAAS,UACZtW,GAAA1B,EAAAq8B,EAAe,QAAf,YAAAr8B,EAAsB,UAAtB,MAAA0B,EAA+B,KAAKsW,EAAS,GAC/C,EACA,MAAAmgB,CACN,CACE,EAOE,OAAAoD,EACA,yBAAAD,EACA,MAAAxpB,CAEJ,CACA,EACMwqB,GAAqBjB,GC9sBrBkB,GAAe,CAAC5hB,EAAS3W,EAAQP,EAAU,CAAA,IAAO,CACtD,MAAM+4B,EAAO76B,EAAAA,MAAMgZ,CAAO,EACpB8hB,EAAM96B,EAAAA,MAAMqC,CAAM,EAClB04B,EAAkB16B,EAAAA,IAAIq1B,GAAWmF,EAAK,KAAK,CAAC,EAC5CG,EAAiB36B,EAAAA,IAAIq1B,GAAWoF,EAAI,KAAK,CAAC,EAChDl9B,EAAAA,MAAM,CAACi9B,EAAMC,CAAG,EAAG,IAAM,CACvBG,EAAU,CACZ,CAAC,EACD,KAAM,CACJ,aAAAC,EAAe,gBACf,YAAAC,EAAc,SACd,OAAAC,EAAS,GACT,KAAA3pB,EACA,WAAAC,EAAa,eACb,UAAAC,EAAY,CAAC,GAAK,GAAK,CAAC,EACxB,aAAA0pB,EAAe,EACnB,EAAMv5B,EACE4K,EAAUrM,EAAAA,IAAI,IAAI,EAClBi7B,EAAOj7B,EAAAA,IAAI,EAAE,EACbk7B,EAAWl7B,EAAAA,IAAI,EAAE,EACX7B,EAAAA,mBAAkB,EAM5BgG,EAAAA,UAAU,IAAM,CACdd,GAAQm3B,EAAME,EAAiB,CAC7B,UAAW,CACT,IAAMr9B,GAAMg4B,GAAWh4B,CAAC,CAClC,EACQ,UAAW,MACX,UAAW,EACnB,CAAO,EACDgG,GAAQo3B,EAAKE,EAAgB,CAC3B,UAAW,CACT,IAAMt9B,GAAMg4B,GAAWh4B,CAAC,CAClC,EACQ,UAAW,MACX,UAAW,EACnB,CAAO,EACDu9B,EAAU,CACZ,CAAC,EApBDx2B,EAAAA,SAAS,IAAM,CACbw2B,EAAU,CACZ,CAAC,EAoBH,MAAMA,EAAa,IAAM,CACvBM,EAAS,MAAQR,EAAgB,MAAQ,MAAM,KAAKA,EAAgB,MAAM,iBAAiBG,CAAY,CAAC,EAAI,CAAA,EAC5GI,EAAK,MAAQC,EAAS,MAAM,IAAK30B,IAAQ,CACvC,GAAIA,EAAG,GACP,GAAAA,EACA,QAAS,GACT,KAAMA,EAAG,WACf,EAAM,CACJ,EACA,IAAI40B,EAAkB,GAClBC,EAAoB,EACxB,MAAMC,EAAaj+B,EAAAA,SACjB,IAAMs9B,EAAgB,OAAS,iBAAiBA,EAAgB,KAAK,EAAE,YAAc,UAAY,KAAOA,EAAgB,KAC5H,EACQY,EAAOnqB,GACX+pB,EACCK,GAAY,aACX,MAAMC,GAAax9B,EAAAq9B,EAAW,QAAS,+BAAU,mBAA9B,YAAAr9B,EAAgD,UACnEm9B,EAAkBK,EAAYJ,EAC9BA,EAAoBI,EACpBD,EAAQ,QAASE,GAAU,CACzB,GAAIA,EAAM,eAAgB,CACxBR,EAAK,MAAM,QAASxxB,GAAS,CACvBA,EAAK,KAAOgyB,EAAM,SACpBhyB,EAAK,QAAU,GAEnB,CAAC,EACD,MACF,CACAwxB,EAAK,MAAM,QAASxxB,GAAS,CACvBA,EAAK,KAAOgyB,EAAM,SACpBhyB,EAAK,QAAU,GAEnB,CAAC,CACH,CAAC,EACD,IAAI+qB,EAAQ,KACR2G,EACF3G,IAAQ90B,EAAA,CAAC,GAAGu7B,EAAK,KAAK,EAAE,QAAO,EAAG,KAAMxxB,GAASA,EAAK,OAAO,IAArD,YAAA/J,EAAwD,KAAM,KAEtE80B,IAAQ9L,EAAAuS,EAAK,MAAM,KAAMxxB,GAASA,EAAK,OAAO,IAAtC,YAAAif,EAAyC,KAAM,KAErD8L,IAAU,OACZnoB,EAAQ,MAAQmoB,GAEbnoB,EAAQ,QACXA,EAAQ,QAAQoc,EAAAwS,EAAK,MAAM,CAAC,IAAZ,YAAAxS,EAAe,KAAM,KAEzC,EACA,CACE,KAAMrX,EAAOikB,GAAWjkB,CAAI,EAAIiqB,EAChC,WAAAhqB,EACA,UAAAC,CACN,CACA,EACE/T,QAAM8O,EAAUmoB,GAAU,OACxB,GAAIuG,EAAQ,OACZ,MAAMphB,GAAQ3b,EAAA28B,EAAe,QAAf,YAAA38B,EAAsB,iBAAiB88B,GACrD,GAAInhB,IAAU,OAAQ,OACtB,IAAI+hB,EAAc,GACd5a,EAAgB,KACpBnH,EAAM,QAASlQ,GAAS,+BACtB,MAAMkyB,EAAiBlyB,EAAK,QAAQ,WAAW,EAC/C,IAAIzL,EAAAyL,EAAK,aAAa,MAAM,IAAxB,MAAAzL,EAA2B,SAAS,IAAIw2B,CAAK,IAAK,CACpD1T,EAAgBrX,EAChBA,EAAK,UAAU,IAAI,QAAQ,EACvBkyB,KACFj8B,EAAAi8B,GAAA,YAAAA,EAAgB,cAAc,sBAA9B,MAAAj8B,EAAmD,UAAU,IAAI,UACjEg8B,EAAc,IAEhB,IAAIE,IAAYlT,EAAAjf,EAAK,QAAQ,MAAM,IAAnB,YAAAif,EAAsB,gBACtC,MAAOD,EAAAmT,IAAA,YAAAA,GAAW,YAAX,MAAAnT,EAAsB,SAAS,aACpCiT,EAAc,IACdtN,EAAAwN,GAAU,cAAc,WAAW,IAAnC,MAAAxN,EAAsC,UAAU,IAAI,UACpDwN,IAAYzN,EAAAyN,GAAU,QAAQ,MAAM,IAAxB,YAAAzN,EAA2B,eAE3C,SACE1kB,EAAK,UAAU,OAAO,QAAQ,EAC1BkyB,GAAkB,CAACD,KACrBxN,EAAAyN,GAAA,YAAAA,EAAgB,cAAc,sBAA9B,MAAAzN,EAAmD,UAAU,OAAO,WAElE,CAACwN,EAAa,CAChB,IAAIE,IAAY3N,GAAAxkB,EAAK,QAAQ,MAAM,IAAnB,YAAAwkB,GAAsB,gBACtC,MAAO4N,GAAAD,IAAA,YAAAA,GAAW,YAAX,MAAAC,GAAsB,SAAS,aACpCH,EAAc,GACVE,GAAU,cAAc,WAAW,IAAM9a,KAC3Cgb,GAAAF,GAAU,cAAc,WAAW,IAAnC,MAAAE,GAAsC,UAAU,OAAO,WAEzDF,IAAYG,GAAAH,GAAU,QAAQ,MAAM,IAAxB,YAAAG,GAA2B,eAE3C,CAEJ,CAAC,CACH,CAAC,EACD,MAAMC,EAAQhB,EACRtyB,GACJgyB,EACA,IAAM,CACJE,EAAU,CACZ,EACA,CACE,UAAW,EACjB,CACA,EAT+B,CAAE,KAAM,IAAM,CAC3C,CAAC,EASKqB,EAAiB,CAACz1B,EAAO01B,EAAS,KAAU,SAChD11B,EAAM,eAAc,EACpB,MAAMonB,GAAOluB,GAAA1B,EAAAwI,EAAM,SAAN,YAAAxI,EAAc,eAAd,YAAA0B,EAAA,KAAA1B,EAA6B,QACpCuI,EAAKqnB,EAAO,+BAAU,cAAcA,GAAQ,KAC9CrnB,GAAMm0B,EAAgB,QACpBA,EAAgB,MAAM,SACxBA,EAAgB,MAAM,SAAS,CAAE,IAAKn0B,EAAG,UAAW,SAAU21B,EAAS,SAAW,MAAM,CAAE,EAE1FxB,EAAgB,MAAM,UAAYn0B,EAAG,UAG3C,EACMF,EAAU,IAAM,CACpBi1B,EAAK,KAAI,EACTU,EAAK,KAAI,CACX,EACA,MAAO,CACL,QAASl8B,EAAAA,SAASuM,CAAO,EACzB,KAAA4uB,EACA,QAASP,EACT,OAAQC,EACR,eAAAsB,EACA,WAAArB,EACA,QAAAv0B,CACJ,CACA,EC3KM6qB,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,eACR,MAAO,CACL,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,MAAO,CAAE,QAAS,MAAM,EACxB,IAAK,CAAE,QAAS,MAAM,EACtB,UAAW,CAAE,QAAS,CAAC,EACvB,aAAc,CAAE,KAAM,QAAS,QAAS,EAAK,EAC7C,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,MAAO,CAAE,QAAS,CAAC,EACnB,QAAS,CAAE,QAAS,IAAI,EACxB,UAAW,CAAE,QAAS,IAAI,EAC1B,YAAa,CAAE,QAAS,IAAI,CAChC,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,cAAc,EAC1CjsB,EAAaC,EAAAA,OAAOxB,GAAsB,IAAI,EAC9C0tB,EAAeJ,GAAuBtjB,CAAK,EAC3C2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrCgsB,EAAa,MACb,CACE,wBAAyB1jB,EAAM,WAAYzI,GAAA,YAAAA,EAAY,SAAS,OAChE,uBAAwByI,EAAM,UAAWzI,GAAA,YAAAA,EAAY,QAAQ,QAASyI,EAAM,WAAYzI,GAAA,YAAAA,EAAY,SAAS,MACrH,CACA,CAAK,EACKk/B,EAAkBt3B,GAAY,IAAMa,EAAM,SAAS,EACnD02B,EAAcv3B,GAAY,IAAMa,EAAM,KAAK,EAC3C22B,EAAYx3B,GAAY,IAAMa,EAAM,KAAO,OAAO,GAAG,EACrD42B,EAAkBz3B,GAAY,KAAM5H,GAAA,YAAAA,EAAY,IAAI,QAAS,OAAO,GAAG,EACvEs/B,EAAgBn/B,EAAAA,SACpB,IAAMsI,EAAM,WAAazI,GAAA,MAAAA,EAAY,UAAU,MAAQm/B,EAAY,MAAM,QAAQD,EAAgB,KAAK,EAAIz2B,EAAM,cAAgBzI,GAAA,MAAAA,EAAY,aAAa,OAASm/B,EAAY,MAAQ,KAAOC,EAAU,OAAS,MAAM,QAAQF,EAAgB,KAAK,EAAIz2B,EAAM,QAAU,OAASA,EAAM,MAAQ,EACpS,EACU82B,EAAgBp/B,EAAAA,SACpB,IAAMk/B,EAAgB,MAAQ,GAAGF,EAAY,MAAQ,IAAME,EAAgB,KAAK,IAAMD,EAAU,MAAQ,GAAGD,EAAY,MAAQ,IAAMC,EAAU,KAAK,IAAM,OAAO32B,EAAM,OAAU,SAAWA,EAAM,MAAQ,GAAGA,EAAM,KAAK,GAC9N,EACI,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC5C,MAAOF,EAAAA,eAAe,CAAC,eAAgBP,EAAgB,KAAK,CAAC,EAC7D,MAAO+P,EAAAA,eAAe,CAAE,MAAOoD,EAAc,KAAK,CAAE,CAC5D,EAAS,CACDzS,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBsS,EAAc,KAAK,EAAG,CAAC,CACjE,CAAS,CACT,EAAS,CAAC,EAER,CACF,CAAC,EACKtT,GAAa,CAAC,gBAAiB,eAAe,EAC9C/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,YACR,MAAO,CACL,OAAQ,CAAE,QAAS,MAAM,EACzB,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,IAAK,CAAE,QAAS,GAAG,EACnB,UAAW,CAAE,QAAS,MAAM,EAC5B,aAAc,CAAE,KAAM,QAAS,QAAS,MAAM,EAC9C,UAAW,CAAE,KAAM,QAAS,QAAS,MAAM,EAC3C,QAAS,CAAE,KAAM,QAAS,QAAS,MAAM,EACzC,MAAO,CAAE,QAAS,MAAM,EACxB,QAAS,CAAE,QAAS,MAAM,EAC1B,UAAW,CAAE,QAAS,MAAM,EAC5B,YAAa,CAAE,QAAS,MAAM,CAClC,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,WAAW,EAC7CvS,OAAAA,EAAAA,QAAQjb,GAAsB,CAC5B,SAAUiE,EAAAA,MAAM,IAAM+F,EAAM,QAAQ,EACpC,IAAK/F,EAAAA,MAAM,IAAM+F,EAAM,GAAG,EAC1B,aAAc/F,EAAAA,MAAM,IAAM+F,EAAM,YAAY,EAC5C,UAAW/F,EAAAA,MAAM,IAAM+F,EAAM,SAAS,EACtC,QAAS/F,EAAAA,MAAM,IAAM+F,EAAM,OAAO,CACxC,CAAK,EACM,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC5C,MAAO,WACP,KAAM,cACN,MAAOsP,EAAAA,eAAe,CAAE,OAAQvyB,EAAAA,MAAMnB,CAAK,EAAE,OAAQ,EACrD,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,MAC9B,gBAAiB,IACjB,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,GACtC,EAAS,CACDqkB,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3C6H,EAAAA,YAAYF,GAAa,CACvB,SAAUrqB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,IAAKmB,EAAAA,MAAMnB,CAAK,EAAE,IAClB,UAAWmB,EAAAA,MAAMnB,CAAK,EAAE,UACxB,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,aAC9B,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,UAC3B,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,QACtB,MAAOmB,EAAAA,MAAMnB,CAAK,EAAE,MACpB,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,QACtB,eAAgBmB,EAAAA,MAAMnB,CAAK,EAAE,YAC7B,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,SACvC,EAAa,KAAM,EAAG,CAAC,WAAY,MAAO,YAAa,gBAAiB,aAAc,UAAW,QAAS,UAAW,eAAgB,YAAY,CAAC,CAClJ,CAAS,CACT,EAAS,GAAIujB,EAAU,EAErB,CACF,CAAC,ECxGKwT,GAAe,CAACC,EAAQp4B,EAAUq4B,EAAgB,CAAA,IAAO,CAC7D,MAAMC,EAAiB98B,EAAAA,SAASH,EAAAA,MAAM+8B,CAAM,CAAC,EACvC/X,EAAW3kB,EAAAA,IAAI,EAAK,EACpBgC,EAAShC,EAAAA,IAAI,KAAK,IAAG,EAAK48B,EAAe,KAAK,EAC9C,CAAE,SAAAj7B,EAAU,MAAAC,EAAO,OAAAC,EAAQ,UAAAvC,CAAS,EAAK8V,GAAa,CAC1D,SAAA9Q,EACA,SAAU,GACV,SAAWjH,GAAM,CACXA,GAAK2E,EAAO,QACd2iB,EAAS,MAAQ,GACjB/iB,EAAK,EAET,EACA,GAAG+6B,CACP,CAAG,EACKzhC,EAAQkC,EAAAA,SAAS,IAAM4E,EAAO,MAAQ1C,EAAU,KAAK,EACrDu9B,EAAU,IAAM,CACpB76B,EAAO,MAAQ,KAAK,IAAG,EAAK46B,EAAe,MAC3C/6B,EAAM,CACR,EACAtE,EAAAA,MAAMq/B,EAAgB,IAAM,CACtBA,EAAe,MAAQ,GACzBC,EAAO,CAEX,CAAC,EACD,MAAMC,EAAU,IAAM,CACpBnY,EAAS,MAAQ,GACjB/iB,EAAK,CACP,EACMm7B,EAAW,IAAM,CACrBpY,EAAS,MAAQ,GACjB,MAAMqY,EAAgBh7B,EAAO,MAAQ1C,EAAU,MAC/C0C,EAAO,MAAQ,KAAK,IAAG,EAAKg7B,EAC5Bn7B,EAAM,CACR,EACMsF,EAAO,IAAM,CACjBvF,EAAK,EACLtC,EAAU,MAAQ0C,EAAO,MACzB2iB,EAAS,MAAQ,EACnB,EACA,MAAO,CACL,SAAU7kB,EAAAA,SAAS6B,CAAQ,EAC3B,SAAU7B,EAAAA,SAAS6kB,CAAQ,EAC3B,KAAAxd,EACA,MAAO21B,EACP,OAAQC,EACR,QAAAF,EACA,MAAA3hC,CACJ,CACA,EACM+hC,GAAoB,CAACtpB,EAAS,CAClC,uBAAAupB,EACA,aAAAC,EACA,qBAAAC,CACF,EAAGC,IAAY,CACb,MAAMC,EAAa3sB,GAAgBgD,CAAO,EACpC4pB,EAAe,IAAM,CACrBjgC,EAAAA,QAAQ6/B,CAAY,GACxBE,EAAQ,MAAK,CACf,EACMG,EAAe,IAAM,CACrBlgC,EAAAA,QAAQ8/B,CAAoB,GAChCC,EAAQ,OAAM,CAChB,EACA9/B,OAAAA,QAAM+/B,EAAa9/B,GAAa,CAC9B,GAAIF,CAAAA,EAAAA,QAAQ4/B,CAAsB,EAClC,IAAI1/B,EAAU,CACZ+/B,EAAY,EACZ,MACF,CACAC,EAAY,EACd,CAAC,EACM,CACL,WAAAF,CACJ,CACA,EC5DMrU,GAAa,CAAC,KAAM,OAAQ,YAAa,aAAa,EACtD4N,GAAa,CACjB,IAAK,EACL,MAAO,QACT,EACM3f,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,SACR,MAAuB+qB,EAAAA,YAAY,CACjC,KAAM,CAAE,QAAS,MAAM,EACvB,UAAW,CAAE,QAAS,MAAM,EAC5B,WAAY,CAAE,QAAS,MAAM,EAC7B,aAAc,CAAE,QAAS,MAAM,EAC/B,WAAY,CAAE,QAAS,OAAO,EAC9B,aAAc,CAAE,QAAS,WAAW,EACpC,YAAa,CAAE,QAAS,MAAM,EAC9B,UAAW,CAAE,QAAS,KAAK,EAC3B,GAAI,CAAE,QAAS,MAAM,EACrB,SAAU,CAAE,QAAS,uBAAuB,EAC5C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,cAAe,CAAE,KAAM,QAAS,QAAS,EAAK,EAC9C,aAAc,CAAE,KAAM,QAAS,QAAS,EAAK,EAC7C,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,qBAAsB,CAAE,KAAM,QAAS,QAAS,EAAK,EACrD,cAAe,CAAE,QAAS,MAAM,EAChC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAI,EAC3C,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,MAAO,CAAE,QAAS,MAAM,EACxB,WAAY,CAAE,QAAS,MAAM,EAC7B,QAAS,CAAE,QAAS,MAAM,EAC1B,UAAW,CAAE,QAAS,IAAI,EAC1B,YAAa,CAAE,QAAS,IAAI,EAC5B,OAAQ,CAAE,KAAM,QAAS,QAAS,MAAM,EACxC,YAAa,CAAE,QAAS,MAAM,EAC9B,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,iBAAkB,CAAE,QAAS,MAAM,EACnC,KAAM,CAAE,QAAS,MAAM,EACvB,KAAM,CAAE,KAAM,QAAS,QAAS,MAAM,EACtC,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,QAAS,CAAE,QAAS,MAAM,EAC1B,aAAc,CAAE,QAAS,MAAM,EAC/B,SAAU,CAAE,KAAM,OAAO,EACzB,WAAY,CAAA,EACZ,WAAY,CAAE,KAAM,OAAO,EAC3B,gBAAiB,CAAA,EACjB,IAAK,CAAE,QAAS,MAAM,EACtB,QAAS,CAAE,KAAM,QAAS,QAAS,MAAM,EACzC,oBAAqB,CAAE,QAAS,MAAM,EACtC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,OAAQ,CAAE,QAAS,MAAM,EACzB,GAAI,CAAE,QAAS,MAAM,EACrB,gBAAiB,CAAE,QAAS,MAAM,EAClC,qBAAsB,CAAE,QAAS,MAAM,EACvC,iBAAkB,CAAE,QAAS,MAAM,EACnC,sBAAuB,CAAE,QAAS,MAAM,EACxC,iBAAkB,CAAE,QAAS,MAAM,EACnC,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,YAAa,CAAE,KAAM,OAAO,EAC5B,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,WAAY,CAAE,QAAS,MAAM,EAC7B,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAC5C,EAAK,CACD,WAAc,CAAE,KAAM,CAAC,QAAS,MAAM,EAAQ,QAAS,EAAO,EAC9D,eAAkB,CAAA,CACtB,CAAG,EACD,MAAuBA,EAAAA,YAAY,CAAC,QAAS,kBAAmB,OAAQ,iBAAkB,SAAU,OAAQ,iBAAkB,QAAS,SAAU,mBAAoB,SAAU,IAAI,EAAG,CAAC,mBAAmB,CAAC,EAC3M,MAAMpH,EAAS,CAAE,OAAQ6N,EAAU,KAAMtH,GAAU,CAEjD,MAAM/pB,EAAQqjB,EADCG,EACmB,QAAQ,EACpCwG,EAAOD,EACPjqB,EAAQ2jB,EAAAA,SAAQ,EAChBxV,EAAU4c,EAAAA,eAAe,UAAU,EACnC4B,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3C,CAAE,aAAAqE,EAAc,kBAAAC,GAAsBL,GAAeznB,CAAK,EAC1D0sB,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,OAAO,EAC1C,CACJ,QAAA6sB,EACA,UAAAC,EACA,KAAAI,EACA,OAAA5hB,EACA,KAAA2hB,EACA,sBAAAK,EACA,oBAAAD,EACA,UAAA7L,EACA,gBAAAmQ,EACA,eAAAlC,CACN,EAAQjD,GAAYC,EAAYzsB,EAAOgqB,EAAM/b,EAASye,CAAU,EACtDqL,EAAkBrgC,EAAAA,SACtB,IAAM,OAAO+0B,EAAW,OAAU,UAAY,EAAIA,EAAW,KACnE,EACU,CACJ,SAAAxwB,EACA,MAAAC,EACA,QAAAi7B,EACA,OAAAh7B,EACA,KAAAsF,EACA,SAAAwd,EACA,MAAO+Y,CACb,EAAQjB,GAAagB,EAAiB/3B,EAAM,SAAU,CAChD,UAAW,OAAOysB,EAAW,OAAU,UAAY,CAAC,CAACA,EAAW,KACtE,CAAK,EACD8K,GACEtpB,EACA,CACE,aAAc,IAAMjO,EAAM,cAAgB,OAAOysB,EAAW,OAAU,SACtE,qBAAsB,IAAMzsB,EAAM,sBAAwB,OAAOysB,EAAW,OAAU,SACtF,uBAAwB,IAAM,OAAOA,EAAW,OAAU,SAClE,EACM,CAAE,MAAAvwB,EAAO,OAAAC,CAAM,CACrB,EACIyH,EAAAA,YAAY,IAAM,CAChBomB,EAAK,kBAAmBgO,EAAY,KAAK,CAC3C,CAAC,EACD,MAAMzM,EAAc7zB,EAAAA,SAAS,IAAMmwB,EAAa,MAAQ2D,GAAc,KAAK,EACrEyM,EAAiBvgC,EAAAA,SACrB,IAAMm1B,EAAQ,OAAS5wB,EAAS,OAAS+D,EAAM,aAAeif,EAAS,KAC7E,EACUyE,EAAeJ,GAAuBtjB,CAAK,EAC3C2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrCgsB,EAAa,MACb,CACE,KAAMlC,EAAU,MAChB,KAAM,CAAC6L,EAAoB,KACnC,CACA,CAAK,EACDx1B,EAAAA,MAAM40B,EAAY,CAAC30B,EAAUqR,IAAa,CACxC,GAAI,OAAOrR,GAAa,UAAYA,EAAW,EAAG,CAChD,MAAMgJ,EAAQwsB,EAAsB,OAAQ,CAAE,WAAY,GAAM,QAAS,QAAS,EAClFtD,EAAK,OAAQlpB,CAAK,EACdA,EAAM,iBACRkpB,EAAK,iBAAkBsD,EAAsB,gBAAgB,CAAC,EAE9D6J,EAAO,CAEX,CACI,OAAOr/B,GAAa,UAAYA,IAAa,GAC/C2J,EAAI,EAEF3J,IAAa,IAAS,OAAOqR,GAAa,UAAYA,EAAW,GACnE1H,EAAI,CAER,CAAC,EACD5J,QAAMoE,EAAWnE,GAAa,CACxBA,IAAa,IAASmnB,EAAS,QAAU,KAC3CiO,EAAI,EACJT,EAAW,MAAQ,EACnBhrB,EAAI,EAER,CAAC,EACD,MAAMwxB,EAAcv7B,EAAAA,SAAS,KAAO,CAClC,OAAA4T,EACA,KAAA2hB,EACA,KAAAC,EACA,GAAIR,EAAW,MACf,QAASG,EAAQ,MACjB,OAAQ5wB,EAAS,KACvB,EAAM,EACF,OAAAo1B,EAAS,CACP,KAAApE,EACA,KAAAC,EACA,OAAA5hB,EACA,MAAApP,EACA,QAAAi7B,EACA,OAAAh7B,EACA,KAAAsF,CACN,CAAK,EACM,CAACoiB,EAAMC,IAAW,CACvB,MAAMoU,EAAqBvM,GAC3B,OAAOxqB,EAAAA,MAAM2rB,CAAS,GAAK3rB,EAAAA,MAAMsuB,CAAc,GAAK1L,EAAAA,YAAaC,EAAAA,YAAYkP,EAAAA,WAAYvI,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAIxpB,EAAAA,MAAMwwB,CAAe,EAAG,CACtI,OAAQ,CAAC,CAAClF,EAAW,OAAStrB,EAAAA,MAAMnB,CAAK,EAAE,OACnD,CAAO,EAAG,CACF,QAASmkB,EAAAA,QAAQ,IAAA,qBAAM,OACrBgP,EAAAA,eAAeC,EAAAA,mBAAmB,MAAO,CACvC,GAAIjyB,EAAAA,MAAMnB,CAAK,EAAE,GACjB,IAAK,WACL,MAAOkkB,EAAAA,eAAe,CAAC,QAAS,CAAC/iB,EAAAA,MAAMnB,CAAK,EAAE,WAAY2jB,EAAgB,KAAK,CAAC,CAAC,EACjF,SAAU,IACV,MAAO,CAAE,QAAW,OAAO,EAC3B,KAAOsU,EAAe,MAAiB92B,EAAAA,MAAMnB,CAAK,EAAE,SAAW,SAAW,QAA5C,OAC9B,YAAci4B,EAAe,MAAiB92B,EAAAA,MAAMnB,CAAK,EAAE,SAAW,SAAW,YAA5C,OACrC,cAAgBi4B,EAAe,MAAiB,GAAT,MACnD,EAAa,CACD92B,EAAAA,MAAMsuB,CAAc,IAAM3vB,EAAM,OAASqB,EAAAA,MAAMnB,CAAK,EAAE,QAAU+jB,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,SAAS,EAAG,CACxI,IAAK,EACL,MAAOkkB,EAAAA,eAAe,CAAC,eAAgB/iB,EAAAA,MAAMnB,CAAK,EAAE,WAAW,CAAC,CAC9E,EAAe,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,QAASyP,EAAAA,eAAeC,EAAAA,mBAAmBN,EAAY,KAAK,CAAC,EAAG,IAAM,CAC5FG,qBAAmB,SAAU,KAAM7O,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,KAAK,EAAG,CAAC,CAC3F,CAAiB,EACAmB,QAAMnB,CAAK,EAAE,cAmBJwkB,qBAAmB,GAAI,EAAI,GAnBNT,EAAAA,UAAS,EAAIK,EAAAA,mBAAmBqH,WAAU,CAAE,IAAK,GAAK,CACnF3rB,EAAM,OAASqB,EAAAA,MAAMnB,CAAK,EAAE,cAAgB+jB,EAAAA,UAAS,EAAIC,EAAAA,YAAYkU,EAAoB,CACvF,IAAK,EACL,MAAOhU,EAAAA,eAAe,CAAC,CAAC/iB,EAAAA,MAAMnB,CAAK,EAAE,UAAU,EAAG,SAAS,CAAC,EAC5D,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,aACtB,QAAS8jB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIuP,gBAAezH,IAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,OAAO,EAAG,CAAC,OAAQ,SAAS,CAAC,EAC1H,EAAqB,CACD,QAAS/I,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,QAASyP,EAAAA,eAAeC,EAAAA,mBAAmBN,EAAY,KAAK,CAAC,EAAG,IAAM,CAC5F3O,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,YAAY,EAAG,CAAC,CACrF,CAAuB,CACvB,CAAqB,EACD,EAAG,CACvB,EAAqB,EAAG,CAAC,QAAS,SAAS,CAAC,IAAM+jB,YAAS,EAAIC,EAAAA,YAAYwP,GAAa,CACpE,IAAK,EACL,aAAcryB,EAAAA,MAAMnB,CAAK,EAAE,WAC3B,MAAOkkB,EAAAA,eAAe,CAAC,UAAW,CAAC/iB,EAAAA,MAAMnB,CAAK,EAAE,UAAU,CAAC,CAAC,EAC5D,QAAS8jB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIuP,gBAAezH,IAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,OAAO,EAAG,CAAC,OAAQ,SAAS,CAAC,EAC1H,EAAqB,KAAM,EAAG,CAAC,aAAc,OAAO,CAAC,EACrD,EAAmB,EAAE,EACrB,CAAe,EACD,EAAG,CACjB,EAAe,EAAG,CAAC,OAAO,CAAC,GAAK1I,EAAAA,mBAAmB,GAAI,EAAI,EAC/CrjB,EAAAA,MAAMsuB,CAAc,IAAM3vB,EAAM,SAAWqB,EAAAA,MAAMnB,CAAK,EAAE,OAAS+jB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO+M,GAAY,EACjHpN,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwBsH,EAAY,KAAK,EAAGZ,aAAW,CAC/E,MAAO,CAAC,aAAcxpB,QAAMnB,CAAK,EAAE,SAAS,CAC5D,EAAiBmB,EAAAA,MAAM2mB,CAAiB,EAAG,CAC3B,QAAShE,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,IAAWzqB,EAAAA,MAAM0mB,CAAY,EAAI1mB,EAAAA,MAAM+rB,CAAI,EAAC,EAAK,IAAM,CAC3F,EAChB,CAAe,EAAG,CACF,QAAS/I,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,UAAWyP,EAAAA,eAAeC,EAAAA,mBAAmBN,EAAY,KAAK,CAAC,EAAG,IAAM,CAC9F3O,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CACzE,CAAmB,CACnB,CAAiB,EACD,EAAG,CACnB,EAAiB,GAAI,CAAC,OAAO,CAAC,GAChB,CAACmB,EAAAA,MAAMnB,CAAK,EAAE,eAAiB,EAAEF,EAAM,OAASqB,QAAMnB,CAAK,EAAE,QAAU+jB,EAAAA,YAAaK,EAAAA,mBAAmBqH,EAAAA,SAAU,CAAE,IAAK,GAAK,CAC3H3rB,EAAM,OAASqB,EAAAA,MAAMnB,CAAK,EAAE,cAAgB+jB,EAAAA,UAAS,EAAIC,EAAAA,YAAYkU,EAAoB,CACvF,IAAK,EACL,MAAOhU,EAAAA,eAAe,CAAC,CAAC/iB,EAAAA,MAAMnB,CAAK,EAAE,UAAU,EAAG,0BAA0B,CAAC,EAC7E,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,aACtB,QAAS8jB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIuP,gBAAezH,IAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,OAAO,EAAG,CAAC,OAAQ,SAAS,CAAC,EACxH,EAAmB,CACD,QAAS/I,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,QAASyP,EAAAA,eAAeC,EAAAA,mBAAmBN,EAAY,KAAK,CAAC,EAAG,IAAM,CAC5F3O,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,YAAY,EAAG,CAAC,CACnF,CAAqB,CACrB,CAAmB,EACD,EAAG,CACrB,EAAmB,EAAG,CAAC,QAAS,SAAS,CAAC,IAAM+jB,YAAS,EAAIC,EAAAA,YAAYwP,GAAa,CACpE,IAAK,EACL,aAAcryB,EAAAA,MAAMnB,CAAK,EAAE,WAC3B,MAAOkkB,EAAAA,eAAe,CAAC,2BAA4B,CAAC/iB,EAAAA,MAAMnB,CAAK,EAAE,UAAU,CAAC,CAAC,EAC7E,QAAS8jB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIuP,gBAAezH,IAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,OAAO,EAAG,CAAC,OAAQ,SAAS,CAAC,EACxH,EAAmB,KAAM,EAAG,CAAC,aAAc,OAAO,CAAC,EACnD,EAAiB,EAAE,GAAK1I,qBAAmB,GAAI,EAAI,CACnD,CAAa,GAAKA,EAAAA,mBAAmB,GAAI,EAAI,EACjC,OAAOiI,EAAW,OAAU,UAAY,CAACtrB,EAAAA,MAAMnB,CAAK,EAAE,YAAc+jB,EAAAA,YAAaC,EAAAA,YAAYmU,GAAa,CACxG,IAAK,EACL,UAAUh3B,EAAAA,EAAAA,MAAMnB,CAAK,EAAE,gBAAbmB,YAAAA,EAA4B,SACtC,WAAWA,EAAAA,EAAAA,MAAMnB,CAAK,EAAE,gBAAbmB,YAAAA,EAA4B,UACvC,iBAAiBA,GAAAA,EAAAA,MAAMnB,CAAK,EAAE,gBAAbmB,YAAAA,GAA4B,aAC7C,cAAcA,GAAAA,EAAAA,MAAMnB,CAAK,EAAE,gBAAbmB,YAAAA,GAA4B,UAC1C,SAASA,GAAAA,EAAAA,MAAMnB,CAAK,EAAE,gBAAbmB,YAAAA,GAA4B,QACrC,SAASA,GAAAA,EAAAA,MAAMnB,CAAK,EAAE,gBAAbmB,YAAAA,GAA4B,QACrC,IAAKsrB,EAAW,MAChB,MAAOtrB,EAAAA,MAAM62B,CAAW,EACxB,OAAQ,KACtB,EAAe,KAAM,EAAG,CAAC,WAAY,YAAa,gBAAiB,aAAc,UAAW,UAAW,MAAO,OAAO,CAAC,GAAKxT,EAAAA,mBAAmB,GAAI,EAAI,CACtJ,EAAa,GAAIjB,EAAU,EAAG,CAClB,CAACkQ,EAAAA,MAAOwE,EAAe,KAAK,CACxC,CAAW,CACX,EAAS,EACD,EAAG,CACX,EAAS,GAAI,CAAC,QAAQ,CAAC,GAAKzT,EAAAA,mBAAmB,GAAI,EAAI,CACnD,CACF,CACF,CAAC,EACK4T,GAAa,UACbC,GAAW,IAAM,CACrB,MAAMtnB,EAAuBvZ,EAAAA,OAAOP,EAAuB,EAC3D,GAAI,CAAC8Z,EACH,MAAM,IAAI,MACR,uGACN,EAEE,KAAM,CAAE,MAAA3G,EAAO,eAAAkuB,EAAgB,yBAAA1E,CAAwB,EAAK7iB,EACtD8iB,EAAS,CAAC16B,EAAM,CAAA,EAAI4C,EAAU,CAAA,IAAO,OACzC,GAAI,CAAC63B,EAAyB,MAC5B,MAAM,IAAI,MACR,iFACR,EAEI,MAAMhM,EAAgB3tB,EAAAA,MAAMd,CAAG,EACzB26B,IAAQx7B,EAAAsvB,EAAc,QAAd,YAAAtvB,EAAqB,KAAM,OAAO,kBAAkB,EAC5D8X,EAAUH,GAAa6jB,EAAO1pB,CAAK,EACzC,OAAAgG,EAAQ,KAAOvY,EAAAA,MACb+vB,EACCmM,GAAc,OACb,MAAMj8B,EAAW,CAAE,GAAGF,EAAAA,QAAQm8B,CAAS,CAAC,EAClCC,EAAgB5pB,EAAM,MAAM,UAAWvJ,GAAOA,EAAG,QAAUizB,CAAK,EAEhEn8B,EAAI,CACR,GAFeq8B,IAAkB,GAAK,CAAE,WAAYE,UAAQ1iB,EAAS,CAAC,EAAKpH,EAAM,MAAM4pB,CAAa,EAGpG,KAAM,QACN,MAAAF,EACA,QAAA1jB,EACA,QAAArU,CACV,EACYjE,EAAS,QACX,OAAO,OAAOH,EAAGG,EAAS,KAAK,EAC/BA,EAAS,MAAQ,QAEfA,EAAS,MACXH,EAAE,SAAWG,EAAS,IACtBA,EAAS,IAAM,QAEjB,UAAWS,KAAOT,EACZS,EAAI,WAAW,IAAI,EACrBZ,EAAEY,CAAG,EAAIT,EAASS,CAAG,EACZA,IAAQ,aAAeT,EAAS,UACzCH,EAAE,WAAau8B,UAAQp8B,EAAS,SAAS,EAChCS,IAAQ,SAAWT,EAAS,MACrCH,EAAE,MAAQu8B,UAAQp8B,EAAS,KAAK,EAEhCH,EAAEY,CAAG,EAAIX,EAAAA,QACPE,EAASS,CAAG,CAC1B,EAGQZ,EAAE,SAAWA,EAAE,UAAYygC,GAC3BzgC,EAAE,WAAaA,EAAE,YAAc,IAC/BA,EAAE,qBAAqB,EAAK8B,GAAQ,QAClCnB,EAAAR,EAAS,yBAAT,MAAAQ,EAAA,KAAAR,EAAkC2B,GAClC,KAAM,CAAE,WAAAgzB,CAAU,EAAK70B,EAAAA,QAAQuB,CAAG,EAKlC,GAJIqC,EAAAA,MAAMrC,CAAG,GAAK,CAACqC,EAAAA,MAAMixB,CAAU,IAAGtzB,EAAI,MAAM,WAAaM,GACzD+B,EAAAA,MAAMixB,CAAU,GAAK,CAAC0H,EAAAA,WAAW1H,CAAU,IAC7CA,EAAW,MAAQhzB,GAEjB9B,EAAE,aAAe8B,EAAK,CACxB,MAAM8+B,EAAQnuB,EAAM,MAAM,KAAMvJ,GAAOA,EAAG,QAAUizB,CAAK,EACrDyE,IACFA,EAAM,WAAa9+B,EAEvB,CACF,EACIu6B,IAAkB,MAChB17B,EAAAsvB,EAAc,QAAd,YAAAtvB,EAAqB,eAAgB,OAASsvB,EAAc,MAAM,YAAc0Q,EAAe,OACjGluB,EAAM,MAAM,KAAKzS,CAAC,EAElByS,EAAM,MAAM,QAAQzS,CAAC,EAGvByS,EAAM,MAAM,OAAO4pB,EAAe,EAAGr8B,CAAC,CAE1C,EACA,CACE,KAAM,GACN,UAAW,EACnB,CACA,EACIO,EAAAA,eAAe,IAAM,SACnB,MAAMqgC,EAAQnuB,EAAM,MAAM,KAAMvJ,GAAOA,EAAG,QAAUizB,CAAK,EACrDyE,KACFv+B,GAAA1B,EAAAigC,EAAM,QAAQ,OAAM,UAApB,MAAAv+B,EAAA,KAAA1B,GAEJ,EAAG,EAAI,EACA8X,EAAQ,KACjB,EAOA,MAAO,CACL,eAAAkoB,EACA,yBAAA1E,EACA,MAAAxpB,EACA,OAAAypB,EACA,KAXW,CAAC16B,EAAM,MAClB,QAAQ,KACN,gGACN,EACW06B,EAAO16B,CAAG,EAQrB,CACA,EACMq/B,GAAqBH,GCvYrBI,GAAY,CAACnhC,EAAK,SAAW,CACjC,MAAMkB,EAAWC,EAAAA,mBAAkB,EAC7BoP,EAAUrQ,EAAAA,OAAOjB,GAAqB,IAAI,EAChD,GAAI,CAACsR,EACH,MAAM,IAAI,MACR,wGACN,EAEE,MAAMwsB,EAAWxsB,EAAQ,OACnB6wB,EAAiBhE,GAAc,OACnC,OAAKA,EAAU,QAGXp8B,EAAAo8B,EAAU,OAAO,UAAjB,MAAAp8B,EAA2B,IAAS+7B,EAAS,MAAM,IAAIz8B,EAAAA,QAAQ88B,EAAU,OAAO,QAAQ,EAAE,CAAC,EACtFA,EAAU,OAEZgE,EAAchE,EAAU,MAAM,EAL5B,IAMX,EACMiE,EAAcjhC,EAAAA,SAAS,IAAM,OACjC,MAAMD,EAAaG,EAAAA,QAAQN,CAAE,EAC7B,GAAI,CAAC+8B,EAAU,OAAO,KACtB,GAAI58B,EAAY,CACd,MAAMjC,EAAQ6+B,EAAS,MAAM,IAAI58B,CAAU,EAC3C,OAAOG,EAAAA,QAAQpC,CAAK,GAAK,IAC3B,CACA,GAAI,CAACgD,EACH,OAAO,KAET,MAAMk8B,EAAYgE,EAAclgC,CAAQ,EACxC,OAAOZ,UAAQy8B,EAAS,MAAM,IAAIz8B,EAAAA,SAAQU,EAAAo8B,GAAA,YAAAA,EAAW,UAAX,YAAAp8B,EAAoB,EAAE,CAAC,CAAC,GAAK,IACzE,CAAC,EACD,MAAO,CACL,MAAOZ,EAAAA,SAAS,IAAA,OAAM,OAAAY,EAAAqgC,EAAY,QAAZ,YAAArgC,EAAmB,MAAK,EAC9C,KAAOy1B,GAAa,OAAK,QAAAz1B,EAAAqgC,EAAY,QAAZ,YAAArgC,EAAmB,KAAKy1B,KAAkB,QAAQ,OAAO,WAAW,GAC7F,KAAOzd,UAAY,QAAAhY,EAAAqgC,EAAY,QAAZ,YAAArgC,EAAmB,KAAKgY,EAAS,MAAS,QAAQ,OAAO,WAAW,GACvF,OAASyd,GAAa,OAAK,QAAAz1B,EAAAqgC,EAAY,QAAZ,YAAArgC,EAAmB,OAAOy1B,KAAkB,QAAQ,OAAO,WAAW,GACjG,UAAWr2B,EAAAA,SAAS,WAAM,OAAAY,EAAAqgC,EAAY,QAAZ,YAAArgC,EAAmB,UAAS,CAC1D,CACA,EChCMsgC,GAAQ,CAAC,MAAO,QAAS,SAAU,MAAM,EACzCC,GAAa,CAAC,QAAS,KAAK,EAC5BC,GAA6BF,GAAM,OAAO,CAAC9hB,EAAKiiB,IAASjiB,EAAI,OAAOiiB,EAAMA,EAAO,IAAMF,GAAW,CAAC,EAAGE,EAAO,IAAMF,GAAW,CAAC,CAAC,EAAG,EAAE,EACrIG,GAAM,KAAK,IACXhqB,GAAM,KAAK,IACXiqB,GAAQ,KAAK,MACbC,GAAQ,KAAK,MACbC,GAAgBxhC,IAAO,CAC3B,EAAGA,EACH,EAAGA,CACL,GACMyhC,GAAkB,CACtB,KAAM,QACN,MAAO,OACP,OAAQ,MACR,IAAK,QACP,EACMC,GAAuB,CAC3B,MAAO,MACP,IAAK,OACP,EACA,SAASC,GAAMC,EAAO/jC,EAAOgkC,EAAK,CAChC,OAAOxqB,GAAIuqB,EAAOP,GAAIxjC,EAAOgkC,CAAG,CAAC,CACnC,CACA,SAASC,GAASjkC,EAAOkkC,EAAO,CAC9B,OAAO,OAAOlkC,GAAU,WAAaA,EAAMkkC,CAAK,EAAIlkC,CACtD,CACA,SAASmkC,GAAQC,EAAW,CAC1B,OAAOA,EAAU,MAAM,GAAG,EAAE,CAAC,CAC/B,CACA,SAASC,GAAaD,EAAW,CAC/B,OAAOA,EAAU,MAAM,GAAG,EAAE,CAAC,CAC/B,CACA,SAASE,GAAgBC,EAAM,CAC7B,OAAOA,IAAS,IAAM,IAAM,GAC9B,CACA,SAASC,GAAcD,EAAM,CAC3B,OAAOA,IAAS,IAAM,SAAW,OACnC,CACA,MAAME,GAA6B,IAAI,IAAI,CAAC,MAAO,QAAQ,CAAC,EAC5D,SAASC,GAAYN,EAAW,CAC9B,OAAOK,GAAW,IAAIN,GAAQC,CAAS,CAAC,EAAI,IAAM,GACpD,CACA,SAASO,GAAiBP,EAAW,CACnC,OAAOE,GAAgBI,GAAYN,CAAS,CAAC,CAC/C,CACA,SAASQ,GAAkBR,EAAWS,EAAOC,EAAK,CAC5CA,IAAQ,SACVA,EAAM,IAER,MAAMC,EAAYV,GAAaD,CAAS,EAClCY,EAAgBL,GAAiBP,CAAS,EAC1C5C,EAASgD,GAAcQ,CAAa,EAC1C,IAAIC,EAAoBD,IAAkB,IAAMD,KAAeD,EAAM,MAAQ,SAAW,QAAU,OAASC,IAAc,QAAU,SAAW,MAC9I,OAAIF,EAAM,UAAUrD,CAAM,EAAIqD,EAAM,SAASrD,CAAM,IACjDyD,EAAoBC,GAAqBD,CAAiB,GAErD,CAACA,EAAmBC,GAAqBD,CAAiB,CAAC,CACpE,CACA,SAASE,GAAsBf,EAAW,CACxC,MAAMgB,EAAoBF,GAAqBd,CAAS,EACxD,MAAO,CAACiB,GAA8BjB,CAAS,EAAGgB,EAAmBC,GAA8BD,CAAiB,CAAC,CACvH,CACA,SAASC,GAA8BjB,EAAW,CAChD,OAAOA,EAAU,QAAQ,aAAeW,GAAclB,GAAqBkB,CAAS,CAAC,CACvF,CACA,MAAMO,GAAc,CAAC,OAAQ,OAAO,EAC9BC,GAAc,CAAC,QAAS,MAAM,EAC9BC,GAAc,CAAC,MAAO,QAAQ,EAC9BC,GAAc,CAAC,SAAU,KAAK,EACpC,SAASC,GAAYnC,EAAMoC,EAASb,EAAK,CACvC,OAAQvB,EAAI,CACV,IAAK,MACL,IAAK,SACH,OAAIuB,EAAYa,EAAUJ,GAAcD,GACjCK,EAAUL,GAAcC,GACjC,IAAK,OACL,IAAK,QACH,OAAOI,EAAUH,GAAcC,GACjC,QACE,MAAO,CAAA,CACb,CACA,CACA,SAASG,GAA0BxB,EAAWyB,EAAep9B,EAAWq8B,EAAK,CAC3E,MAAMC,EAAYV,GAAaD,CAAS,EACxC,IAAIrE,EAAO2F,GAAYvB,GAAQC,CAAS,EAAG37B,IAAc,QAASq8B,CAAG,EACrE,OAAIC,IACFhF,EAAOA,EAAK,IAAKwD,GAASA,EAAO,IAAMwB,CAAS,EAC5Cc,IACF9F,EAAOA,EAAK,OAAOA,EAAK,IAAIsF,EAA6B,CAAC,IAGvDtF,CACT,CACA,SAASmF,GAAqBd,EAAW,CACvC,OAAOA,EAAU,QAAQ,yBAA2Bb,GAASK,GAAgBL,CAAI,CAAC,CACpF,CACA,SAASuC,GAAoBC,EAAS,CACpC,MAAO,CACL,IAAK,EACL,MAAO,EACP,OAAQ,EACR,KAAM,EACN,GAAGA,CACP,CACA,CACA,SAASC,GAAiBD,EAAS,CACjC,OAAO,OAAOA,GAAY,SAAWD,GAAoBC,CAAO,EAAI,CAClE,IAAKA,EACL,MAAOA,EACP,OAAQA,EACR,KAAMA,CACV,CACA,CACA,SAASE,GAAiBC,EAAM,CAC9B,KAAM,CACJ,EAAA5uB,EACA,EAAAC,EACA,MAAAyI,EACA,OAAAC,CACJ,EAAMimB,EACJ,MAAO,CACL,MAAAlmB,EACA,OAAAC,EACA,IAAK1I,EACL,KAAMD,EACN,MAAOA,EAAI0I,EACX,OAAQzI,EAAI0I,EACZ,EAAA3I,EACA,EAAAC,CACJ,CACA,CACA,SAAS4uB,GAA2BhmB,EAAMikB,EAAWU,EAAK,CACxD,GAAI,CACF,UAAAsB,EACA,SAAAC,CACJ,EAAMlmB,EACJ,MAAMmmB,EAAW5B,GAAYN,CAAS,EAChCY,EAAgBL,GAAiBP,CAAS,EAC1CmC,EAAc/B,GAAcQ,CAAa,EACzCzB,EAAOY,GAAQC,CAAS,EACxBoC,EAAaF,IAAa,IAC1BG,EAAUL,EAAU,EAAIA,EAAU,MAAQ,EAAIC,EAAS,MAAQ,EAC/DK,EAAUN,EAAU,EAAIA,EAAU,OAAS,EAAIC,EAAS,OAAS,EACjEM,EAAcP,EAAUG,CAAW,EAAI,EAAIF,EAASE,CAAW,EAAI,EACzE,IAAIK,EACJ,OAAQrD,EAAI,CACV,IAAK,MACHqD,EAAS,CACP,EAAGH,EACH,EAAGL,EAAU,EAAIC,EAAS,MAClC,EACM,MACF,IAAK,SACHO,EAAS,CACP,EAAGH,EACH,EAAGL,EAAU,EAAIA,EAAU,MACnC,EACM,MACF,IAAK,QACHQ,EAAS,CACP,EAAGR,EAAU,EAAIA,EAAU,MAC3B,EAAGM,CACX,EACM,MACF,IAAK,OACHE,EAAS,CACP,EAAGR,EAAU,EAAIC,EAAS,MAC1B,EAAGK,CACX,EACM,MACF,QACEE,EAAS,CACP,EAAGR,EAAU,EACb,EAAGA,EAAU,CACrB,CACA,CACE,OAAQ/B,GAAaD,CAAS,EAAC,CAC7B,IAAK,QACHwC,EAAO5B,CAAa,GAAK2B,GAAe7B,GAAO0B,EAAa,GAAK,GACjE,MACF,IAAK,MACHI,EAAO5B,CAAa,GAAK2B,GAAe7B,GAAO0B,EAAa,GAAK,GACjE,KACN,CACE,OAAOI,CACT,CACA,MAAMC,GAAoB,MAAOT,EAAWC,EAAUriB,IAAW,CAC/D,KAAM,CACJ,UAAAogB,EAAY,SACZ,SAAAzzB,EAAW,WACX,WAAAm2B,EAAa,CAAA,EACb,SAAUC,CACd,EAAM/iB,EACEgjB,EAAkBF,EAAW,OAAO,OAAO,EAC3ChC,EAAM,MAAOiC,EAAU,OAAS,KAAO,OAASA,EAAU,MAAMV,CAAQ,GAC9E,IAAIxB,EAAQ,MAAMkC,EAAU,gBAAgB,CAC1C,UAAAX,EACA,SAAAC,EACA,SAAA11B,CACJ,CAAG,EACG,CACF,EAAA2G,EACA,EAAAC,CACJ,EAAM4uB,GAA2BtB,EAAOT,EAAWU,CAAG,EAChDmC,EAAoB7C,EACpB8C,EAAiB,CAAA,EACjBC,EAAa,EACjB,QAAShyB,EAAI,EAAGA,EAAI6xB,EAAgB,OAAQ7xB,IAAK,CAC/C,KAAM,CACJ,KAAA/U,EACA,GAAAoC,CACN,EAAQwkC,EAAgB7xB,CAAC,EACf,CACJ,EAAGiyB,EACH,EAAGC,EACH,KAAAz0B,EACA,MAAAkF,CACN,EAAQ,MAAMtV,EAAG,CACX,EAAA8U,EACA,EAAAC,EACA,iBAAkB6sB,EAClB,UAAW6C,EACX,SAAAt2B,EACA,eAAAu2B,EACA,MAAArC,EACA,SAAUkC,EACV,SAAU,CACR,UAAAX,EACA,SAAAC,CACR,CACA,CAAK,EACD/uB,EAAI8vB,GAAwB9vB,EAC5BC,EAAI8vB,GAAwB9vB,EAC5B2vB,EAAiB,CACf,GAAGA,EACH,CAAC9mC,CAAI,EAAG,CACN,GAAG8mC,EAAe9mC,CAAI,EACtB,GAAGwS,CACX,CACA,EACQkF,GAASqvB,GAAc,KACzBA,IACI,OAAOrvB,GAAU,WACfA,EAAM,YACRmvB,EAAoBnvB,EAAM,WAExBA,EAAM,QACR+sB,EAAQ/sB,EAAM,QAAU,GAAO,MAAMivB,EAAU,gBAAgB,CAC7D,UAAAX,EACA,SAAAC,EACA,SAAA11B,CACZ,CAAW,EAAImH,EAAM,OAEZ,CACC,EAAAR,EACA,EAAAC,CACV,EAAY4uB,GAA2BtB,EAAOoC,EAAmBnC,CAAG,GAE9D3vB,EAAI,GAER,CACA,MAAO,CACL,EAAAmC,EACA,EAAAC,EACA,UAAW0vB,EACX,SAAAt2B,EACA,eAAAu2B,CACJ,CACA,EACA,eAAeI,GAAehkC,EAAOiD,EAAS,CAC5C,IAAIghC,EACAhhC,IAAY,SACdA,EAAU,CAAA,GAEZ,KAAM,CACJ,EAAA+Q,EACA,EAAAC,EACA,SAAUwvB,EACV,MAAAlC,EACA,SAAAvnB,EACA,SAAA3M,CACJ,EAAMrN,EACE,CACJ,SAAAkkC,EAAW,oBACX,aAAAC,EAAe,WACf,eAAAC,EAAiB,WACjB,YAAAC,EAAc,GACd,QAAA5B,EAAU,CACd,EAAM9B,GAAS19B,EAASjD,CAAK,EACrBskC,EAAgB5B,GAAiBD,CAAO,EAExCttB,EAAU6E,EAASqqB,EADND,IAAmB,WAAa,YAAc,WACbA,CAAc,EAC5DG,EAAqB5B,GAAiB,MAAMc,EAAU,gBAAgB,CAC1E,SAAWQ,EAAwB,MAAOR,EAAU,WAAa,KAAO,OAASA,EAAU,UAAUtuB,CAAO,KAAO,MAAO8uB,EAAgC9uB,EAAUA,EAAQ,gBAAkB,MAAOsuB,EAAU,oBAAsB,KAAO,OAASA,EAAU,mBAAmBzpB,EAAS,QAAQ,GACnS,SAAAkqB,EACA,aAAAC,EACA,SAAA92B,CACJ,CAAG,CAAC,EACIu1B,EAAOwB,IAAmB,WAAa,CAC3C,EAAApwB,EACA,EAAAC,EACA,MAAOstB,EAAM,SAAS,MACtB,OAAQA,EAAM,SAAS,MAC3B,EAAMA,EAAM,UACJiD,EAAe,MAAOf,EAAU,iBAAmB,KAAO,OAASA,EAAU,gBAAgBzpB,EAAS,QAAQ,GAC9GyqB,EAAc,MAAOhB,EAAU,WAAa,KAAO,OAASA,EAAU,UAAUe,CAAY,GAAK,MAAOf,EAAU,UAAY,KAAO,OAASA,EAAU,SAASe,CAAY,IAAM,CACvL,EAAG,EACH,EAAG,CACP,EAAM,CACF,EAAG,EACH,EAAG,CACP,EACQE,EAAoB/B,GAAiBc,EAAU,sDAAwD,MAAMA,EAAU,sDAAsD,CACjL,SAAAzpB,EACA,KAAA4oB,EACA,aAAA4B,EACA,SAAAn3B,CACJ,CAAG,EAAIu1B,CAAI,EACT,MAAO,CACL,KAAM2B,EAAmB,IAAMG,EAAkB,IAAMJ,EAAc,KAAOG,EAAY,EACxF,QAASC,EAAkB,OAASH,EAAmB,OAASD,EAAc,QAAUG,EAAY,EACpG,MAAOF,EAAmB,KAAOG,EAAkB,KAAOJ,EAAc,MAAQG,EAAY,EAC5F,OAAQC,EAAkB,MAAQH,EAAmB,MAAQD,EAAc,OAASG,EAAY,CACpG,CACA,CACA,MAAME,GAAW1hC,IAAa,CAC5B,KAAM,QACN,QAAAA,EACA,MAAM,GAAGjD,EAAO,CACd,KAAM,CACJ,EAAAgU,EACA,EAAAC,EACA,UAAA6sB,EACA,MAAAS,EACA,SAAUkC,EACV,SAAAzpB,EACA,eAAA4pB,CACN,EAAQ5jC,EACE,CACJ,QAAAmV,EACA,QAAAstB,EAAU,CAChB,EAAQ9B,GAAS19B,EAASjD,CAAK,GAAK,CAAA,EAChC,GAAImV,GAAW,KACb,MAAO,CAAA,EAET,MAAMmvB,EAAgB5B,GAAiBD,CAAO,EACxCa,EAAS,CACb,EAAAtvB,EACA,EAAAC,CACN,EACUgtB,EAAOI,GAAiBP,CAAS,EACjC5C,EAASgD,GAAcD,CAAI,EAC3B2D,EAAkB,MAAMnB,EAAU,cAActuB,CAAO,EACvD0vB,EAAU5D,IAAS,IACnB6D,EAAUD,EAAU,MAAQ,OAC5BE,EAAUF,EAAU,SAAW,QAC/BG,EAAaH,EAAU,eAAiB,cACxCI,EAAU1D,EAAM,UAAUrD,CAAM,EAAIqD,EAAM,UAAUN,CAAI,EAAIqC,EAAOrC,CAAI,EAAIM,EAAM,SAASrD,CAAM,EAChGgH,EAAY5B,EAAOrC,CAAI,EAAIM,EAAM,UAAUN,CAAI,EAC/CkE,EAAoB,MAAO1B,EAAU,iBAAmB,KAAO,OAASA,EAAU,gBAAgBtuB,CAAO,GAC/G,IAAIiwB,EAAaD,EAAoBA,EAAkBH,CAAU,EAAI,GACjE,CAACI,GAAc,CAAC,MAAO3B,EAAU,WAAa,KAAO,OAASA,EAAU,UAAU0B,CAAiB,MACrGC,EAAaprB,EAAS,SAASgrB,CAAU,GAAKzD,EAAM,SAASrD,CAAM,GAErE,MAAMmH,EAAoBJ,EAAU,EAAIC,EAAY,EAC9CI,EAAyBF,EAAa,EAAIR,EAAgB1G,CAAM,EAAI,EAAI,EACxEqH,EAAarF,GAAIoE,EAAcQ,CAAO,EAAGQ,CAAsB,EAC/DE,EAAatF,GAAIoE,EAAcS,CAAO,EAAGO,CAAsB,EAC/DG,EAAQF,EACRG,EAAON,EAAaR,EAAgB1G,CAAM,EAAIsH,EAC9CG,EAASP,EAAa,EAAIR,EAAgB1G,CAAM,EAAI,EAAImH,EACxDO,EAAUpF,GAAMiF,EAAOE,EAAQD,CAAI,EACnCG,EAAkB,CAACjC,EAAe,OAAS7C,GAAaD,CAAS,GAAK,MAAQ6E,IAAWC,GAAWrE,EAAM,UAAUrD,CAAM,EAAI,GAAKyH,EAASF,EAAQF,EAAaC,GAAcZ,EAAgB1G,CAAM,EAAI,EAAI,EAC7M4H,EAAkBD,EAAkBF,EAASF,EAAQE,EAASF,EAAQE,EAASD,EAAO,EAC5F,MAAO,CACL,CAACzE,CAAI,EAAGqC,EAAOrC,CAAI,EAAI6E,EACvB,KAAM,CACJ,CAAC7E,CAAI,EAAG2E,EACR,aAAcD,EAASC,EAAUE,EACjC,GAAGD,GAAmB,CACpB,gBAAAC,CACV,CACA,EACM,MAAOD,CACb,CACE,CACF,GACA,SAASE,GAAiBtE,EAAWuE,EAAeC,EAAmB,CAErE,OAD2CxE,EAAY,CAAC,GAAGwE,EAAkB,OAAQnF,GAAcC,GAAaD,CAAS,IAAMW,CAAS,EAAG,GAAGwE,EAAkB,OAAQnF,GAAcC,GAAaD,CAAS,IAAMW,CAAS,CAAC,EAAIwE,EAAkB,OAAQnF,GAAcD,GAAQC,CAAS,IAAMA,CAAS,GAC9P,OAAQA,GAC5CW,EACKV,GAAaD,CAAS,IAAMW,IAAcuE,EAAgBjE,GAA8BjB,CAAS,IAAMA,EAAY,IAErH,EACR,CACH,CACA,MAAMoF,GAAkB,SAASjjC,EAAS,CACxC,OAAIA,IAAY,SACdA,EAAU,CAAA,GAEL,CACL,KAAM,gBACN,QAAAA,EACA,MAAM,GAAGjD,EAAO,CACd,IAAImmC,EAAuBC,EAAwBC,EACnD,KAAM,CACJ,MAAA9E,EACA,eAAAqC,EACA,UAAA9C,EACA,SAAU2C,EACV,SAAAzpB,CACR,EAAUha,EACE,CACJ,UAAAsmC,EAAY,GACZ,UAAA7E,EACA,kBAAAwE,EAAoBjG,GACpB,cAAAgG,EAAgB,GAChB,GAAGO,CACX,EAAU5F,GAAS19B,EAASjD,CAAK,EACrBwmC,EAAe/E,IAAc,QAAUwE,IAAsBjG,GAAa+F,GAAiBtE,GAAa,KAAMuE,EAAeC,CAAiB,EAAIA,EAClJQ,EAAW,MAAMzC,GAAehkC,EAAOumC,CAAqB,EAC5DG,IAAiBP,EAAwBvC,EAAe,gBAAkB,KAAO,OAASuC,EAAsB,QAAU,EAC1HQ,EAAmBH,EAAaE,CAAY,EAClD,GAAIC,GAAoB,KACtB,MAAO,CAAA,EAET,MAAMC,EAAiBtF,GAAkBqF,EAAkBpF,EAAO,MAAOkC,EAAU,OAAS,KAAO,OAASA,EAAU,MAAMzpB,EAAS,QAAQ,EAAE,EAC/I,GAAI8mB,IAAc6F,EAChB,MAAO,CACL,MAAO,CACL,UAAWH,EAAa,CAAC,CACrC,CACA,EAEM,MAAMK,EAAmB,CAACJ,EAAS5F,GAAQ8F,CAAgB,CAAC,EAAGF,EAASG,EAAe,CAAC,CAAC,EAAGH,EAASG,EAAe,CAAC,CAAC,CAAC,EACjHE,EAAe,CAAC,KAAKV,EAAyBxC,EAAe,gBAAkB,KAAO,OAASwC,EAAuB,YAAc,CAAA,EAAI,CAC5I,UAAWO,EACX,UAAWE,CACnB,CAAO,EACKE,EAAgBP,EAAaE,EAAe,CAAC,EACnD,GAAIK,EACF,MAAO,CACL,KAAM,CACJ,MAAOL,EAAe,EACtB,UAAWI,CACvB,EACU,MAAO,CACL,UAAWC,CACvB,CACA,EAEM,MAAMC,EAA8BF,EAAa,IAAKG,GAAM,CAC1D,MAAMC,EAAanG,GAAakG,EAAE,SAAS,EAC3C,MAAO,CAACA,EAAE,UAAWC,GAAcZ,EAEjCW,EAAE,UAAU,MAAM,EAAG,CAAC,EAAE,OAAO,CAACjpB,EAAKnf,IAAMmf,EAAMnf,EAAG,CAAC,EAGrDooC,EAAE,UAAU,CAAC,EACZA,EAAE,SAAS,CAChB,CAAC,EAAE,KAAK,CAACl5B,EAAGC,IAAMD,EAAE,CAAC,EAAIC,EAAE,CAAC,CAAC,EAOvBm5B,IAAmBd,EANWW,EAA4B,OAAQC,GAAMA,EAAE,CAAC,EAAE,MACjF,EAGAlG,GAAakG,EAAE,CAAC,CAAC,EAAI,EAAI,CACjC,EAAQ,MAAOpoC,GAAMA,GAAK,CAAC,CAAC,EACuD,CAAC,IAAM,KAAO,OAASwnC,EAAsB,CAAC,IAAMW,EAA4B,CAAC,EAAE,CAAC,EACjK,OAAIG,IAAmBrG,EACd,CACL,KAAM,CACJ,MAAO4F,EAAe,EACtB,UAAWI,CACvB,EACU,MAAO,CACL,UAAWK,CACvB,CACA,EAEa,CAAA,CACT,CACJ,CACA,EACMC,GAAS,SAASnkC,EAAS,CAC/B,OAAIA,IAAY,SACdA,EAAU,CAAA,GAEL,CACL,KAAM,OACN,QAAAA,EACA,MAAM,GAAGjD,EAAO,CACd,IAAIqnC,EAAuBC,EAC3B,KAAM,CACJ,UAAAxG,EACA,eAAA8C,EACA,MAAArC,EACA,iBAAAgG,EACA,SAAU9D,EACV,SAAAzpB,CACR,EAAUha,EACE,CACJ,SAAUwnC,EAAgB,GAC1B,UAAWC,EAAiB,GAC5B,mBAAoBC,EACpB,iBAAAC,EAAmB,UACnB,0BAAAC,EAA4B,OAC5B,cAAArF,EAAgB,GAChB,GAAGgE,CACX,EAAU5F,GAAS19B,EAASjD,CAAK,EAC3B,IAAKqnC,EAAwBzD,EAAe,QAAU,MAAQyD,EAAsB,gBAClF,MAAO,CAAA,EAET,MAAMpH,EAAOY,GAAQC,CAAS,EACxB+G,EAAkBzG,GAAYmG,CAAgB,EAC9CO,EAAkBjH,GAAQ0G,CAAgB,IAAMA,EAChD/F,EAAM,MAAOiC,EAAU,OAAS,KAAO,OAASA,EAAU,MAAMzpB,EAAS,QAAQ,GACjF+tB,EAAqBL,IAAgCI,GAAmB,CAACvF,EAAgB,CAACX,GAAqB2F,CAAgB,CAAC,EAAI1F,GAAsB0F,CAAgB,GAC1KS,EAA+BJ,IAA8B,OAC/D,CAACF,GAA+BM,GAClCD,EAAmB,KAAK,GAAGzF,GAA0BiF,EAAkBhF,EAAeqF,EAA2BpG,CAAG,CAAC,EAEvH,MAAMyG,EAAc,CAACV,EAAkB,GAAGQ,CAAkB,EACtDtB,EAAW,MAAMzC,GAAehkC,EAAOumC,CAAqB,EAC5D2B,EAAY,CAAA,EAClB,IAAIC,IAAkBb,EAAuB1D,EAAe,OAAS,KAAO,OAAS0D,EAAqB,YAAc,CAAA,EAIxH,GAHIE,GACFU,EAAU,KAAKzB,EAASxG,CAAI,CAAC,EAE3BwH,EAAgB,CAClB,MAAMW,EAAS9G,GAAkBR,EAAWS,EAAOC,CAAG,EACtD0G,EAAU,KAAKzB,EAAS2B,EAAO,CAAC,CAAC,EAAG3B,EAAS2B,EAAO,CAAC,CAAC,CAAC,CACzD,CAKA,GAJAD,EAAgB,CAAC,GAAGA,EAAe,CACjC,UAAArH,EACA,UAAAoH,CACR,CAAO,EACG,CAACA,EAAU,MAAOG,GAAUA,GAAS,CAAC,EAAG,CAC3C,IAAIC,EAAuBC,EAC3B,MAAMC,KAAeF,EAAwB1E,EAAe,OAAS,KAAO,OAAS0E,EAAsB,QAAU,GAAK,EACpHvB,EAAgBkB,EAAYO,CAAS,EAC3C,GAAIzB,IAEE,EAD4BU,IAAmB,YAAcI,IAAoBzG,GAAY2F,CAAa,EAAI,KAGlHoB,EAAc,MAAOlB,GAAMA,EAAE,UAAU,CAAC,EAAI,GAAK7F,GAAY6F,EAAE,SAAS,IAAMY,CAAe,GAC3F,MAAO,CACL,KAAM,CACJ,MAAOW,EACP,UAAWL,CAC3B,EACc,MAAO,CACL,UAAWpB,CAC3B,CACA,EAGQ,IAAII,GAAkBoB,EAAwBJ,EAAc,OAAQlB,GAAMA,EAAE,UAAU,CAAC,GAAK,CAAC,EAAE,KAAK,CAACl5B,EAAGC,IAAMD,EAAE,UAAU,CAAC,EAAIC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,IAAM,KAAO,OAASu6B,EAAsB,UAC5L,GAAI,CAACpB,EACH,OAAQQ,EAAgB,CACtB,IAAK,UAAW,CACd,IAAIc,EACJ,MAAMC,GAAcD,EAAyBN,EAAc,OAAQlB,GAAM,CACvE,GAAIe,EAA8B,CAChC,MAAMW,EAAkBvH,GAAY6F,EAAE,SAAS,EAC/C,OAAO0B,IAAoBd,GAE3Bc,IAAoB,GACtB,CACA,MAAO,EACT,CAAC,EAAE,IAAK1B,GAAM,CAACA,EAAE,UAAWA,EAAE,UAAU,OAAQ2B,GAAcA,EAAY,CAAC,EAAE,OAAO,CAAC5qB,EAAK4qB,IAAc5qB,EAAM4qB,EAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC76B,EAAG,IAAMA,EAAE,CAAC,EAAI,EAAE,CAAC,CAAC,EAAE,CAAC,IAAM,KAAO,OAAS06B,EAAuB,CAAC,EACrMC,IACFvB,EAAiBuB,GAEnB,KACF,CACA,IAAK,mBACHvB,EAAiBI,EACjB,KACd,CAEQ,GAAIzG,IAAcqG,EAChB,MAAO,CACL,MAAO,CACL,UAAWA,CACzB,CACA,CAEM,CACA,MAAO,CAAA,CACT,CACJ,CACA,EACA,SAAS0B,GAAepC,EAAU7D,EAAM,CACtC,MAAO,CACL,IAAK6D,EAAS,IAAM7D,EAAK,OACzB,MAAO6D,EAAS,MAAQ7D,EAAK,MAC7B,OAAQ6D,EAAS,OAAS7D,EAAK,OAC/B,KAAM6D,EAAS,KAAO7D,EAAK,KAC/B,CACA,CACA,SAASkG,GAAsBrC,EAAU,CACvC,OAAO3G,GAAM,KAAMG,GAASwG,EAASxG,CAAI,GAAK,CAAC,CACjD,CACA,MAAM8I,GAAS,SAAS9lC,EAAS,CAC/B,OAAIA,IAAY,SACdA,EAAU,CAAA,GAEL,CACL,KAAM,OACN,QAAAA,EACA,MAAM,GAAGjD,EAAO,CACd,KAAM,CACJ,MAAAuhC,CACR,EAAUvhC,EACE,CACJ,SAAAqN,EAAW,kBACX,GAAGk5B,CACX,EAAU5F,GAAS19B,EAASjD,CAAK,EAC3B,OAAQqN,EAAQ,CACd,IAAK,kBAAmB,CACtB,MAAMo5B,EAAW,MAAMzC,GAAehkC,EAAO,CAC3C,GAAGumC,EACH,eAAgB,WAC5B,CAAW,EACKyC,EAAUH,GAAepC,EAAUlF,EAAM,SAAS,EACxD,MAAO,CACL,KAAM,CACJ,uBAAwByH,EACxB,gBAAiBF,GAAsBE,CAAO,CAC5D,CACA,CACQ,CACA,IAAK,UAAW,CACd,MAAMvC,EAAW,MAAMzC,GAAehkC,EAAO,CAC3C,GAAGumC,EACH,YAAa,EACzB,CAAW,EACKyC,EAAUH,GAAepC,EAAUlF,EAAM,QAAQ,EACvD,MAAO,CACL,KAAM,CACJ,eAAgByH,EAChB,QAASF,GAAsBE,CAAO,CACpD,CACA,CACQ,CACA,QACE,MAAO,CAAA,CAEjB,CACI,CACJ,CACA,EACA,SAASC,GAAgB1H,EAAO,CAC9B,MAAM2H,EAAOhJ,GAAI,GAAGqB,EAAM,IAAKqB,GAASA,EAAK,IAAI,CAAC,EAC5CuG,EAAOjJ,GAAI,GAAGqB,EAAM,IAAKqB,GAASA,EAAK,GAAG,CAAC,EAC3CwG,EAAOlzB,GAAI,GAAGqrB,EAAM,IAAKqB,GAASA,EAAK,KAAK,CAAC,EAC7CyG,EAAOnzB,GAAI,GAAGqrB,EAAM,IAAKqB,GAASA,EAAK,MAAM,CAAC,EACpD,MAAO,CACL,EAAGsG,EACH,EAAGC,EACH,MAAOC,EAAOF,EACd,OAAQG,EAAOF,CACnB,CACA,CACA,SAASG,GAAe/H,EAAO,CAC7B,MAAMgI,EAAchI,EAAM,MAAK,EAAG,KAAK,CAACxzB,EAAGC,IAAMD,EAAE,EAAIC,EAAE,CAAC,EACpDw7B,EAAS,CAAA,EACf,IAAIC,EAAW,KACf,QAAS53B,EAAI,EAAGA,EAAI03B,EAAY,OAAQ13B,IAAK,CAC3C,MAAM+wB,EAAO2G,EAAY13B,CAAC,EACtB,CAAC43B,GAAY7G,EAAK,EAAI6G,EAAS,EAAIA,EAAS,OAAS,EACvDD,EAAO,KAAK,CAAC5G,CAAI,CAAC,EAElB4G,EAAOA,EAAO,OAAS,CAAC,EAAE,KAAK5G,CAAI,EAErC6G,EAAW7G,CACb,CACA,OAAO4G,EAAO,IAAK5G,GAASD,GAAiBsG,GAAgBrG,CAAI,CAAC,CAAC,CACrE,CACA,MAAM8G,GAAW,SAASzmC,EAAS,CACjC,OAAIA,IAAY,SACdA,EAAU,CAAA,GAEL,CACL,KAAM,SACN,QAAAA,EACA,MAAM,GAAGjD,EAAO,CACd,KAAM,CACJ,UAAA8gC,EACA,SAAA9mB,EACA,MAAAunB,EACA,SAAUkC,EACV,SAAAp2B,CACR,EAAUrN,EACE,CACJ,QAAAyiC,EAAU,EACV,EAAAzuB,EACA,EAAAC,CACR,EAAU0sB,GAAS19B,EAASjD,CAAK,EACrB2pC,EAAoB,MAAM,KAAK,MAAOlG,EAAU,gBAAkB,KAAO,OAASA,EAAU,eAAezpB,EAAS,SAAS,IAAM,CAAA,CAAE,EACrI4vB,EAAcN,GAAeK,CAAiB,EAC9Cp7B,EAAWo0B,GAAiBsG,GAAgBU,CAAiB,CAAC,EAC9DrF,EAAgB5B,GAAiBD,CAAO,EAC9C,SAASoH,GAAyB,CAChC,GAAID,EAAY,SAAW,GAAKA,EAAY,CAAC,EAAE,KAAOA,EAAY,CAAC,EAAE,OAAS51B,GAAK,MAAQC,GAAK,KAC9F,OAAO21B,EAAY,KAAMhH,GAAS5uB,EAAI4uB,EAAK,KAAO0B,EAAc,MAAQtwB,EAAI4uB,EAAK,MAAQ0B,EAAc,OAASrwB,EAAI2uB,EAAK,IAAM0B,EAAc,KAAOrwB,EAAI2uB,EAAK,OAAS0B,EAAc,MAAM,GAAK/1B,EAEjM,GAAIq7B,EAAY,QAAU,EAAG,CAC3B,GAAIxI,GAAYN,CAAS,IAAM,IAAK,CAClC,MAAMgJ,EAAYF,EAAY,CAAC,EACzBG,EAAWH,EAAYA,EAAY,OAAS,CAAC,EAC7CI,EAAQnJ,GAAQC,CAAS,IAAM,MAC/BmJ,EAAOH,EAAU,IACjBI,EAAUH,EAAS,OACnBI,EAAQH,EAAQF,EAAU,KAAOC,EAAS,KAC1CK,EAASJ,EAAQF,EAAU,MAAQC,EAAS,MAC5CM,EAASD,EAASD,EAClBG,EAAUJ,EAAUD,EAC1B,MAAO,CACL,IAAKA,EACL,OAAQC,EACR,KAAMC,EACN,MAAOC,EACP,MAAOC,EACP,OAAQC,EACR,EAAGH,EACH,EAAGF,CACjB,CACU,CACA,MAAMM,EAAa1J,GAAQC,CAAS,IAAM,OACpC0J,EAAWt0B,GAAI,GAAG0zB,EAAY,IAAKhH,GAASA,EAAK,KAAK,CAAC,EACvD6H,EAAUvK,GAAI,GAAG0J,EAAY,IAAKhH,GAASA,EAAK,IAAI,CAAC,EACrD8H,EAAed,EAAY,OAAQhH,GAAS2H,EAAa3H,EAAK,OAAS6H,EAAU7H,EAAK,QAAU4H,CAAQ,EACxGG,EAAMD,EAAa,CAAC,EAAE,IACtBE,EAASF,EAAaA,EAAa,OAAS,CAAC,EAAE,OAC/C5lC,EAAO2lC,EACP1lC,EAAQylC,EACR9tB,EAAQ3X,EAAQD,EAChB6X,EAASiuB,EAASD,EACxB,MAAO,CACL,IAAAA,EACA,OAAAC,EACA,KAAA9lC,EACA,MAAAC,EACA,MAAA2X,EACA,OAAAC,EACA,EAAG7X,EACH,EAAG6lC,CACf,CACQ,CACA,OAAOp8B,CACT,CACA,MAAMs8B,EAAa,MAAMpH,EAAU,gBAAgB,CACjD,UAAW,CACT,sBAAuBoG,CACjC,EACQ,SAAU7vB,EAAS,SACnB,SAAA3M,CACR,CAAO,EACD,OAAIk0B,EAAM,UAAU,IAAMsJ,EAAW,UAAU,GAAKtJ,EAAM,UAAU,IAAMsJ,EAAW,UAAU,GAAKtJ,EAAM,UAAU,QAAUsJ,EAAW,UAAU,OAAStJ,EAAM,UAAU,SAAWsJ,EAAW,UAAU,OACnM,CACL,MAAO,CACL,MAAOA,CACnB,CACA,EAEa,CAAA,CACT,CACJ,CACA,EACMC,GAA8B,IAAI,IAAI,CAAC,OAAQ,KAAK,CAAC,EAC3D,eAAeC,GAAqB/qC,EAAOiD,EAAS,CAClD,KAAM,CACJ,UAAA69B,EACA,SAAU2C,EACV,SAAAzpB,CACJ,EAAMha,EACEwhC,EAAM,MAAOiC,EAAU,OAAS,KAAO,OAASA,EAAU,MAAMzpB,EAAS,QAAQ,GACjFimB,EAAOY,GAAQC,CAAS,EACxBW,EAAYV,GAAaD,CAAS,EAClCoC,EAAa9B,GAAYN,CAAS,IAAM,IACxCkK,EAAgBF,GAAY,IAAI7K,CAAI,EAAI,GAAK,EAC7CgL,EAAiBzJ,GAAO0B,EAAa,GAAK,EAC1CzyB,EAAWkwB,GAAS19B,EAASjD,CAAK,EACxC,GAAI,CACF,SAAAkrC,EACA,UAAA5E,EACA,cAAA5E,CACJ,EAAM,OAAOjxB,GAAa,SAAW,CACjC,SAAUA,EACV,UAAW,EACX,cAAe,IACnB,EAAM,CACF,SAAUA,EAAS,UAAY,EAC/B,UAAWA,EAAS,WAAa,EACjC,cAAeA,EAAS,aAC5B,EACE,OAAIgxB,GAAa,OAAOC,GAAkB,WACxC4E,EAAY7E,IAAc,MAAQC,EAAgB,GAAKA,GAElDwB,EAAa,CAClB,EAAGoD,EAAY2E,EACf,EAAGC,EAAWF,CAClB,EAAM,CACF,EAAGE,EAAWF,EACd,EAAG1E,EAAY2E,CACnB,CACA,CACA,MAAME,GAAW,SAASloC,EAAS,CACjC,OAAIA,IAAY,SACdA,EAAU,GAEL,CACL,KAAM,SACN,QAAAA,EACA,MAAM,GAAGjD,EAAO,CACd,IAAIorC,EAAuB/D,EAC3B,KAAM,CACJ,EAAArzB,EACA,EAAAC,EACA,UAAA6sB,EACA,eAAA8C,CACR,EAAU5jC,EACEqrC,EAAa,MAAMN,GAAqB/qC,EAAOiD,CAAO,EAC5D,OAAI69B,MAAgBsK,EAAwBxH,EAAe,SAAW,KAAO,OAASwH,EAAsB,aAAe/D,EAAwBzD,EAAe,QAAU,MAAQyD,EAAsB,gBACjM,CAAA,EAEF,CACL,EAAGrzB,EAAIq3B,EAAW,EAClB,EAAGp3B,EAAIo3B,EAAW,EAClB,KAAM,CACJ,GAAGA,EACH,UAAAvK,CACV,CACA,CACI,CACJ,CACA,EACMwK,GAAU,SAASroC,EAAS,CAChC,OAAIA,IAAY,SACdA,EAAU,CAAA,GAEL,CACL,KAAM,QACN,QAAAA,EACA,MAAM,GAAGjD,EAAO,CACd,KAAM,CACJ,EAAAgU,EACA,EAAAC,EACA,UAAA6sB,CACR,EAAU9gC,EACE,CACJ,SAAUwnC,EAAgB,GAC1B,UAAWC,EAAiB,GAC5B,QAAA8D,EAAU,CACR,GAAK1uB,GAAS,CACZ,GAAI,CACF,EAAG2uB,EACH,EAAGC,CACjB,EAAgB5uB,EACJ,MAAO,CACL,EAAG2uB,EACH,EAAGC,CACjB,CACU,CACV,EACQ,GAAGlF,CACX,EAAU5F,GAAS19B,EAASjD,CAAK,EACrBsjC,EAAS,CACb,EAAAtvB,EACA,EAAAC,CACR,EACYwyB,EAAW,MAAMzC,GAAehkC,EAAOumC,CAAqB,EAC5DD,EAAYlF,GAAYP,GAAQC,CAAS,CAAC,EAC1CoK,EAAWlK,GAAgBsF,CAAS,EAC1C,IAAIoF,EAAgBpI,EAAO4H,CAAQ,EAC/BS,EAAiBrI,EAAOgD,CAAS,EACrC,GAAIkB,EAAe,CACjB,MAAMoE,EAAUV,IAAa,IAAM,MAAQ,OACrCW,EAAUX,IAAa,IAAM,SAAW,QACxCY,EAAOJ,EAAgBjF,EAASmF,CAAO,EACvClG,EAAOgG,EAAgBjF,EAASoF,CAAO,EAC7CH,EAAgBlL,GAAMsL,EAAMJ,EAAehG,CAAI,CACjD,CACA,GAAI+B,EAAgB,CAClB,MAAMmE,EAAUtF,IAAc,IAAM,MAAQ,OACtCuF,EAAUvF,IAAc,IAAM,SAAW,QACzCwF,EAAOH,EAAiBlF,EAASmF,CAAO,EACxClG,EAAOiG,EAAiBlF,EAASoF,CAAO,EAC9CF,EAAiBnL,GAAMsL,EAAMH,EAAgBjG,CAAI,CACnD,CACA,MAAMqG,EAAgBR,EAAQ,GAAG,CAC/B,GAAGvrC,EACH,CAACkrC,CAAQ,EAAGQ,EACZ,CAACpF,CAAS,EAAGqF,CACrB,CAAO,EACD,MAAO,CACL,GAAGI,EACH,KAAM,CACJ,EAAGA,EAAc,EAAI/3B,EACrB,EAAG+3B,EAAc,EAAI93B,EACrB,QAAS,CACP,CAACi3B,CAAQ,EAAG1D,EACZ,CAAClB,CAAS,EAAGmB,CACzB,CACA,CACA,CACI,CACJ,CACA,EACMuE,GAAS,SAAS/oC,EAAS,CAC/B,OAAIA,IAAY,SACdA,EAAU,CAAA,GAEL,CACL,KAAM,OACN,QAAAA,EACA,MAAM,GAAGjD,EAAO,CACd,IAAIisC,EAAuBC,EAC3B,KAAM,CACJ,UAAApL,EACA,MAAAS,EACA,SAAUkC,EACV,SAAAzpB,CACR,EAAUha,EACE,CACJ,MAAAmsC,EAAQ,IAAM,CACd,EACA,GAAG5F,CACX,EAAU5F,GAAS19B,EAASjD,CAAK,EACrBymC,EAAW,MAAMzC,GAAehkC,EAAOumC,CAAqB,EAC5DtG,EAAOY,GAAQC,CAAS,EACxBW,EAAYV,GAAaD,CAAS,EAClC+D,EAAUzD,GAAYN,CAAS,IAAM,IACrC,CACJ,MAAApkB,EACA,OAAAC,CACR,EAAU4kB,EAAM,SACV,IAAI6K,EACAC,EACApM,IAAS,OAASA,IAAS,UAC7BmM,EAAanM,EACboM,EAAY5K,KAAe,MAAOgC,EAAU,OAAS,KAAO,OAASA,EAAU,MAAMzpB,EAAS,QAAQ,GAAK,QAAU,OAAS,OAAS,UAEvIqyB,EAAYpM,EACZmM,EAAa3K,IAAc,MAAQ,MAAQ,UAE7C,MAAM6K,EAAwB3vB,EAAS8pB,EAAS,IAAMA,EAAS,OACzD8F,EAAuB7vB,EAAQ+pB,EAAS,KAAOA,EAAS,MACxD+F,EAA0BtM,GAAIvjB,EAAS8pB,EAAS2F,CAAU,EAAGE,CAAqB,EAClFG,EAAyBvM,GAAIxjB,EAAQ+pB,EAAS4F,CAAS,EAAGE,CAAoB,EAC9EG,EAAU,CAAC1sC,EAAM,eAAe,MACtC,IAAI2sC,EAAkBH,EAClBI,EAAiBH,EAOrB,IANKR,EAAwBjsC,EAAM,eAAe,QAAU,MAAQisC,EAAsB,QAAQ,IAChGW,EAAiBL,IAEdL,EAAyBlsC,EAAM,eAAe,QAAU,MAAQksC,EAAuB,QAAQ,IAClGS,EAAkBL,GAEhBI,GAAW,CAACjL,EAAW,CACzB,MAAMoL,EAAO32B,GAAIuwB,EAAS,KAAM,CAAC,EAC3BqG,EAAO52B,GAAIuwB,EAAS,MAAO,CAAC,EAC5BsG,EAAO72B,GAAIuwB,EAAS,IAAK,CAAC,EAC1BuG,EAAO92B,GAAIuwB,EAAS,OAAQ,CAAC,EAC/B5B,EACF+H,EAAiBlwB,EAAQ,GAAKmwB,IAAS,GAAKC,IAAS,EAAID,EAAOC,EAAO52B,GAAIuwB,EAAS,KAAMA,EAAS,KAAK,GAExGkG,EAAkBhwB,EAAS,GAAKowB,IAAS,GAAKC,IAAS,EAAID,EAAOC,EAAO92B,GAAIuwB,EAAS,IAAKA,EAAS,MAAM,EAE9G,CACA,MAAM0F,EAAM,CACV,GAAGnsC,EACH,eAAA4sC,EACA,gBAAAD,CACR,CAAO,EACD,MAAMM,EAAiB,MAAMxJ,EAAU,cAAczpB,EAAS,QAAQ,EACtE,OAAI0C,IAAUuwB,EAAe,OAAStwB,IAAWswB,EAAe,OACvD,CACL,MAAO,CACL,MAAO,EACnB,CACA,EAEa,CAAA,CACT,CACJ,CACA,EACA,SAASC,IAAY,CACnB,OAAO,OAAO,OAAW,GAC3B,CACA,SAASC,GAAYliC,EAAM,CACzB,OAAImiC,GAAOniC,CAAI,GACLA,EAAK,UAAY,IAAI,YAAW,EAEnC,WACT,CACA,SAASoiC,GAAUpiC,EAAM,CACvB,IAAImR,EACJ,OAAQnR,GAAQ,OAASmR,EAAsBnR,EAAK,gBAAkB,KAAO,OAASmR,EAAoB,cAAgB,MAC5H,CACA,SAASkxB,GAAmBriC,EAAM,CAChC,IAAI4R,EACJ,OAAQA,GAAQuwB,GAAOniC,CAAI,EAAIA,EAAK,cAAgBA,EAAK,WAAa,OAAO,WAAa,KAAO,OAAS4R,EAAK,eACjH,CACA,SAASuwB,GAAO1wC,EAAO,CACrB,OAAKwwC,GAAS,EAGPxwC,aAAiB,MAAQA,aAAiB2wC,GAAU3wC,CAAK,EAAE,KAFzD,EAGX,CACA,SAAS6wC,GAAU7wC,EAAO,CACxB,OAAKwwC,GAAS,EAGPxwC,aAAiB,SAAWA,aAAiB2wC,GAAU3wC,CAAK,EAAE,QAF5D,EAGX,CACA,SAAS8wC,GAAc9wC,EAAO,CAC5B,OAAKwwC,GAAS,EAGPxwC,aAAiB,aAAeA,aAAiB2wC,GAAU3wC,CAAK,EAAE,YAFhE,EAGX,CACA,SAAS+wC,GAAa/wC,EAAO,CAC3B,MAAI,CAACwwC,GAAS,GAAM,OAAO,WAAe,IACjC,GAEFxwC,aAAiB,YAAcA,aAAiB2wC,GAAU3wC,CAAK,EAAE,UAC1E,CACA,MAAMgxC,GAA+C,IAAI,IAAI,CAAC,SAAU,UAAU,CAAC,EACnF,SAASC,GAAkBx4B,EAAS,CAClC,KAAM,CACJ,SAAAsxB,EACA,UAAAmH,EACA,UAAAC,EACA,QAAAC,CACJ,EAAMC,GAAiB54B,CAAO,EAC5B,MAAO,kCAAkC,KAAKsxB,EAAWoH,EAAYD,CAAS,GAAK,CAACF,GAA6B,IAAII,CAAO,CAC9H,CACA,MAAME,GAAgC,IAAI,IAAI,CAAC,QAAS,KAAM,IAAI,CAAC,EACnE,SAASC,GAAe94B,EAAS,CAC/B,OAAO64B,GAAc,IAAIb,GAAYh4B,CAAO,CAAC,CAC/C,CACA,MAAM+4B,GAAoB,CAAC,gBAAiB,QAAQ,EACpD,SAASC,GAAWh5B,EAAS,CAC3B,OAAO+4B,GAAkB,KAAMt9B,GAAa,CAC1C,GAAI,CACF,OAAOuE,EAAQ,QAAQvE,CAAQ,CACjC,MAAa,CACX,MAAO,EACT,CACF,CAAC,CACH,CACA,MAAMw9B,GAAsB,CAAC,YAAa,YAAa,QAAS,SAAU,aAAa,EACjFC,GAAmB,CAAC,YAAa,YAAa,QAAS,SAAU,cAAe,QAAQ,EACxFC,GAAgB,CAAC,QAAS,SAAU,SAAU,SAAS,EAC7D,SAASC,GAAkBC,EAAc,CACvC,MAAMC,EAASC,GAAQ,EACjBC,EAAMpB,GAAUiB,CAAY,EAAIT,GAAiBS,CAAY,EAAIA,EACvE,OAAOJ,GAAoB,KAAM1xC,GAAUiyC,EAAIjyC,CAAK,EAAIiyC,EAAIjyC,CAAK,IAAM,OAAS,EAAK,IAAMiyC,EAAI,cAAgBA,EAAI,gBAAkB,SAAW,KAAU,CAACF,IAAWE,EAAI,eAAiBA,EAAI,iBAAmB,OAAS,KAAU,CAACF,IAAWE,EAAI,OAASA,EAAI,SAAW,OAAS,KAAUN,GAAiB,KAAM3xC,IAAWiyC,EAAI,YAAc,IAAI,SAASjyC,CAAK,CAAC,GAAK4xC,GAAc,KAAM5xC,IAAWiyC,EAAI,SAAW,IAAI,SAASjyC,CAAK,CAAC,CAC/a,CACA,SAASkyC,GAAmBz5B,EAAS,CACnC,IAAI05B,EAAcC,GAAc35B,CAAO,EACvC,KAAOq4B,GAAcqB,CAAW,GAAK,CAACE,GAAsBF,CAAW,GAAG,CACxE,GAAIN,GAAkBM,CAAW,EAC/B,OAAOA,EACF,GAAIV,GAAWU,CAAW,EAC/B,OAAO,KAETA,EAAcC,GAAcD,CAAW,CACzC,CACA,OAAO,IACT,CACA,SAASH,IAAW,CAClB,OAAI,OAAO,IAAQ,KAAe,CAAC,IAAI,SAAiB,GACjD,IAAI,SAAS,0BAA2B,MAAM,CACvD,CACA,MAAMM,GAA2C,IAAI,IAAI,CAAC,OAAQ,OAAQ,WAAW,CAAC,EACtF,SAASD,GAAsB9jC,EAAM,CACnC,OAAO+jC,GAAyB,IAAI7B,GAAYliC,CAAI,CAAC,CACvD,CACA,SAAS8iC,GAAiB54B,EAAS,CACjC,OAAOk4B,GAAUl4B,CAAO,EAAE,iBAAiBA,CAAO,CACpD,CACA,SAAS85B,GAAc95B,EAAS,CAC9B,OAAIo4B,GAAUp4B,CAAO,EACZ,CACL,WAAYA,EAAQ,WACpB,UAAWA,EAAQ,SACzB,EAES,CACL,WAAYA,EAAQ,QACpB,UAAWA,EAAQ,OACvB,CACA,CACA,SAAS25B,GAAc7jC,EAAM,CAC3B,GAAIkiC,GAAYliC,CAAI,IAAM,OACxB,OAAOA,EAET,MAAMtH,EAEJsH,EAAK,cACLA,EAAK,YACLwiC,GAAaxiC,CAAI,GAAKA,EAAK,MAC3BqiC,GAAmBriC,CAAI,EAEzB,OAAOwiC,GAAa9pC,CAAM,EAAIA,EAAO,KAAOA,CAC9C,CACA,SAASurC,GAA2BjkC,EAAM,CACxC,MAAMqS,EAAawxB,GAAc7jC,CAAI,EACrC,OAAI8jC,GAAsBzxB,CAAU,EAC3BrS,EAAK,cAAgBA,EAAK,cAAc,KAAOA,EAAK,KAEzDuiC,GAAclwB,CAAU,GAAKqwB,GAAkBrwB,CAAU,EACpDA,EAEF4xB,GAA2B5xB,CAAU,CAC9C,CACA,SAAS6xB,GAAqBlkC,EAAMwxB,EAAM2S,EAAiB,CACzD,IAAIC,EACA5S,IAAS,SACXA,EAAO,CAAA,GAEL2S,IAAoB,SACtBA,EAAkB,IAEpB,MAAME,EAAqBJ,GAA2BjkC,CAAI,EACpDskC,EAASD,MAAyBD,EAAuBpkC,EAAK,gBAAkB,KAAO,OAASokC,EAAqB,MACrHG,EAAMnC,GAAUiC,CAAkB,EACxC,GAAIC,EAAQ,CACV,MAAME,EAAeC,GAAgBF,CAAG,EACxC,OAAO/S,EAAK,OAAO+S,EAAKA,EAAI,gBAAkB,CAAA,EAAI7B,GAAkB2B,CAAkB,EAAIA,EAAqB,CAAA,EAAIG,GAAgBL,EAAkBD,GAAqBM,CAAY,EAAI,EAAE,CAC9L,CACA,OAAOhT,EAAK,OAAO6S,EAAoBH,GAAqBG,EAAoB,CAAA,EAAIF,CAAe,CAAC,CACtG,CACA,SAASM,GAAgBF,EAAK,CAC5B,OAAOA,EAAI,QAAU,OAAO,eAAeA,EAAI,MAAM,EAAIA,EAAI,aAAe,IAC9E,CACA,SAASG,GAAiBx6B,EAAS,CACjC,MAAMw5B,EAAMZ,GAAiB54B,CAAO,EACpC,IAAIuH,EAAQ,WAAWiyB,EAAI,KAAK,GAAK,EACjChyB,EAAS,WAAWgyB,EAAI,MAAM,GAAK,EACvC,MAAMiB,EAAYpC,GAAcr4B,CAAO,EACjC06B,EAAcD,EAAYz6B,EAAQ,YAAcuH,EAChDozB,EAAeF,EAAYz6B,EAAQ,aAAewH,EAClDozB,EAAiB5P,GAAMzjB,CAAK,IAAMmzB,GAAe1P,GAAMxjB,CAAM,IAAMmzB,EACzE,OAAIC,IACFrzB,EAAQmzB,EACRlzB,EAASmzB,GAEJ,CACL,MAAApzB,EACA,OAAAC,EACA,EAAGozB,CACP,CACA,CACA,SAASC,GAAgB76B,EAAS,CAChC,OAAQo4B,GAAUp4B,CAAO,EAA6BA,EAAzBA,EAAQ,cACvC,CACA,SAAS86B,GAAS96B,EAAS,CACzB,MAAM+6B,EAAaF,GAAgB76B,CAAO,EAC1C,GAAI,CAACq4B,GAAc0C,CAAU,EAC3B,OAAO7P,GAAa,CAAC,EAEvB,MAAMuC,EAAOsN,EAAW,sBAAqB,EACvC,CACJ,MAAAxzB,EACA,OAAAC,EACA,EAAAwzB,CACJ,EAAMR,GAAiBO,CAAU,EAC/B,IAAIl8B,GAAKm8B,EAAIhQ,GAAMyC,EAAK,KAAK,EAAIA,EAAK,OAASlmB,EAC3CzI,GAAKk8B,EAAIhQ,GAAMyC,EAAK,MAAM,EAAIA,EAAK,QAAUjmB,EACjD,OAAI,CAAC3I,GAAK,CAAC,OAAO,SAASA,CAAC,KAC1BA,EAAI,IAEF,CAACC,GAAK,CAAC,OAAO,SAASA,CAAC,KAC1BA,EAAI,GAEC,CACL,EAAAD,EACA,EAAAC,CACJ,CACA,CACA,MAAMm8B,GAA4B/P,GAAa,CAAC,EAChD,SAASgQ,GAAiBl7B,EAAS,CACjC,MAAMq6B,EAAMnC,GAAUl4B,CAAO,EAC7B,MAAI,CAACu5B,GAAQ,GAAM,CAACc,EAAI,eACfY,GAEF,CACL,EAAGZ,EAAI,eAAe,WACtB,EAAGA,EAAI,eAAe,SAC1B,CACA,CACA,SAASc,GAAuBn7B,EAASo7B,EAASC,EAAsB,CAItE,OAHID,IAAY,SACdA,EAAU,IAER,CAACC,GAAwBD,GAAWC,IAAyBnD,GAAUl4B,CAAO,EACzE,GAEFo7B,CACT,CACA,SAASE,GAAsBt7B,EAASu7B,EAAcC,EAAiBnM,EAAc,CAC/EkM,IAAiB,SACnBA,EAAe,IAEbC,IAAoB,SACtBA,EAAkB,IAEpB,MAAMC,EAAaz7B,EAAQ,sBAAqB,EAC1C+6B,EAAaF,GAAgB76B,CAAO,EAC1C,IAAI07B,EAAQxQ,GAAa,CAAC,EACtBqQ,IACElM,EACE+I,GAAU/I,CAAY,IACxBqM,EAAQZ,GAASzL,CAAY,GAG/BqM,EAAQZ,GAAS96B,CAAO,GAG5B,MAAM27B,EAAgBR,GAAuBJ,EAAYS,EAAiBnM,CAAY,EAAI6L,GAAiBH,CAAU,EAAI7P,GAAa,CAAC,EACvI,IAAIrsB,GAAK48B,EAAW,KAAOE,EAAc,GAAKD,EAAM,EAChD58B,GAAK28B,EAAW,IAAME,EAAc,GAAKD,EAAM,EAC/Cn0B,EAAQk0B,EAAW,MAAQC,EAAM,EACjCl0B,EAASi0B,EAAW,OAASC,EAAM,EACvC,GAAIX,EAAY,CACd,MAAMV,EAAMnC,GAAU6C,CAAU,EAC1Ba,EAAYvM,GAAgB+I,GAAU/I,CAAY,EAAI6I,GAAU7I,CAAY,EAAIA,EACtF,IAAIwM,EAAaxB,EACbyB,EAAgBvB,GAAgBsB,CAAU,EAC9C,KAAOC,GAAiBzM,GAAgBuM,IAAcC,GAAY,CAChE,MAAME,EAAcjB,GAASgB,CAAa,EACpCE,EAAaF,EAAc,sBAAqB,EAChDtC,EAAMZ,GAAiBkD,CAAa,EACpCnsC,EAAOqsC,EAAW,MAAQF,EAAc,WAAa,WAAWtC,EAAI,WAAW,GAAKuC,EAAY,EAChGvG,EAAMwG,EAAW,KAAOF,EAAc,UAAY,WAAWtC,EAAI,UAAU,GAAKuC,EAAY,EAClGl9B,GAAKk9B,EAAY,EACjBj9B,GAAKi9B,EAAY,EACjBx0B,GAASw0B,EAAY,EACrBv0B,GAAUu0B,EAAY,EACtBl9B,GAAKlP,EACLmP,GAAK02B,EACLqG,EAAa3D,GAAU4D,CAAa,EACpCA,EAAgBvB,GAAgBsB,CAAU,CAC5C,CACF,CACA,OAAOrO,GAAiB,CACtB,MAAAjmB,EACA,OAAAC,EACA,EAAA3I,EACA,EAAAC,CACJ,CAAG,CACH,CACA,SAASm9B,GAAoBj8B,EAASytB,EAAM,CAC1C,MAAMyO,EAAapC,GAAc95B,CAAO,EAAE,WAC1C,OAAKytB,EAGEA,EAAK,KAAOyO,EAFVZ,GAAsBnD,GAAmBn4B,CAAO,CAAC,EAAE,KAAOk8B,CAGrE,CACA,SAASC,GAAcC,EAAiB39B,EAAQ49B,EAAkB,CAC5DA,IAAqB,SACvBA,EAAmB,IAErB,MAAMC,EAAWF,EAAgB,sBAAqB,EAChDv9B,EAAIy9B,EAAS,KAAO79B,EAAO,YAAc49B,EAAmB,EAEhEJ,GAAoBG,EAAiBE,CAAQ,GAEzCx9B,EAAIw9B,EAAS,IAAM79B,EAAO,UAChC,MAAO,CACL,EAAAI,EACA,EAAAC,CACJ,CACA,CACA,SAASy9B,GAAsD70B,EAAM,CACnE,GAAI,CACF,SAAA7C,EACA,KAAA4oB,EACA,aAAA4B,EACA,SAAAn3B,CACJ,EAAMwP,EACJ,MAAM0zB,EAAUljC,IAAa,QACvBkkC,EAAkBjE,GAAmB9I,CAAY,EACjDmN,EAAW33B,EAAWm0B,GAAWn0B,EAAS,QAAQ,EAAI,GAC5D,GAAIwqB,IAAiB+M,GAAmBI,GAAYpB,EAClD,OAAO3N,EAET,IAAIhvB,EAAS,CACX,WAAY,EACZ,UAAW,CACf,EACMi9B,EAAQxQ,GAAa,CAAC,EAC1B,MAAM2I,EAAU3I,GAAa,CAAC,EACxBuR,EAA0BpE,GAAchJ,CAAY,EAC1D,IAAIoN,GAA2B,CAACA,GAA2B,CAACrB,MACtDpD,GAAY3I,CAAY,IAAM,QAAUmJ,GAAkB4D,CAAe,KAC3E39B,EAASq7B,GAAczK,CAAY,GAEjCgJ,GAAchJ,CAAY,GAAG,CAC/B,MAAMqN,EAAapB,GAAsBjM,CAAY,EACrDqM,EAAQZ,GAASzL,CAAY,EAC7BwE,EAAQ,EAAI6I,EAAW,EAAIrN,EAAa,WACxCwE,EAAQ,EAAI6I,EAAW,EAAIrN,EAAa,SAC1C,CAEF,MAAMsN,EAAaP,GAAmB,CAACK,GAA2B,CAACrB,EAAUe,GAAcC,EAAiB39B,EAAQ,EAAI,EAAIysB,GAAa,CAAC,EAC1I,MAAO,CACL,MAAOuC,EAAK,MAAQiO,EAAM,EAC1B,OAAQjO,EAAK,OAASiO,EAAM,EAC5B,EAAGjO,EAAK,EAAIiO,EAAM,EAAIj9B,EAAO,WAAai9B,EAAM,EAAI7H,EAAQ,EAAI8I,EAAW,EAC3E,EAAGlP,EAAK,EAAIiO,EAAM,EAAIj9B,EAAO,UAAYi9B,EAAM,EAAI7H,EAAQ,EAAI8I,EAAW,CAC9E,CACA,CACA,SAASC,GAAe58B,EAAS,CAC/B,OAAO,MAAM,KAAKA,EAAQ,eAAc,CAAE,CAC5C,CACA,SAAS68B,GAAgB78B,EAAS,CAChC,MAAM88B,EAAO3E,GAAmBn4B,CAAO,EACjCvB,EAASq7B,GAAc95B,CAAO,EAC9B+8B,EAAO/8B,EAAQ,cAAc,KAC7BuH,EAAQxG,GAAI+7B,EAAK,YAAaA,EAAK,YAAaC,EAAK,YAAaA,EAAK,WAAW,EAClFv1B,EAASzG,GAAI+7B,EAAK,aAAcA,EAAK,aAAcC,EAAK,aAAcA,EAAK,YAAY,EAC7F,IAAIl+B,EAAI,CAACJ,EAAO,WAAaw9B,GAAoBj8B,CAAO,EACxD,MAAMlB,EAAI,CAACL,EAAO,UAClB,OAAIm6B,GAAiBmE,CAAI,EAAE,YAAc,QACvCl+B,GAAKkC,GAAI+7B,EAAK,YAAaC,EAAK,WAAW,EAAIx1B,GAE1C,CACL,MAAAA,EACA,OAAAC,EACA,EAAA3I,EACA,EAAAC,CACJ,CACA,CACA,SAASk+B,GAAgBh9B,EAAS9H,EAAU,CAC1C,MAAMmiC,EAAMnC,GAAUl4B,CAAO,EACvB88B,EAAO3E,GAAmBn4B,CAAO,EACjCi9B,EAAiB5C,EAAI,eAC3B,IAAI9yB,EAAQu1B,EAAK,YACbt1B,EAASs1B,EAAK,aACdj+B,EAAI,EACJC,EAAI,EACR,GAAIm+B,EAAgB,CAClB11B,EAAQ01B,EAAe,MACvBz1B,EAASy1B,EAAe,OACxB,MAAMC,EAAsB3D,GAAQ,GAChC,CAAC2D,GAAuBA,GAAuBhlC,IAAa,WAC9D2G,EAAIo+B,EAAe,WACnBn+B,EAAIm+B,EAAe,UAEvB,CACA,MAAO,CACL,MAAA11B,EACA,OAAAC,EACA,EAAA3I,EACA,EAAAC,CACJ,CACA,CACA,MAAMq+B,GAAkC,IAAI,IAAI,CAAC,WAAY,OAAO,CAAC,EACrE,SAASC,GAA2Bp9B,EAAS9H,EAAU,CACrD,MAAMujC,EAAaH,GAAsBt7B,EAAS,GAAM9H,IAAa,OAAO,EACtEs9B,EAAMiG,EAAW,IAAMz7B,EAAQ,UAC/BrQ,EAAO8rC,EAAW,KAAOz7B,EAAQ,WACjC07B,EAAQrD,GAAcr4B,CAAO,EAAI86B,GAAS96B,CAAO,EAAIkrB,GAAa,CAAC,EACnE3jB,EAAQvH,EAAQ,YAAc07B,EAAM,EACpCl0B,EAASxH,EAAQ,aAAe07B,EAAM,EACtC78B,EAAIlP,EAAO+rC,EAAM,EACjB58B,EAAI02B,EAAMkG,EAAM,EACtB,MAAO,CACL,MAAAn0B,EACA,OAAAC,EACA,EAAA3I,EACA,EAAAC,CACJ,CACA,CACA,SAASu+B,GAAkCr9B,EAASs9B,EAAkBplC,EAAU,CAC9E,IAAIu1B,EACJ,GAAI6P,IAAqB,WACvB7P,EAAOuP,GAAgBh9B,EAAS9H,CAAQ,UAC/BolC,IAAqB,WAC9B7P,EAAOoP,GAAgB1E,GAAmBn4B,CAAO,CAAC,UACzCo4B,GAAUkF,CAAgB,EACnC7P,EAAO2P,GAA2BE,EAAkBplC,CAAQ,MACvD,CACL,MAAMyjC,EAAgBT,GAAiBl7B,CAAO,EAC9CytB,EAAO,CACL,EAAG6P,EAAiB,EAAI3B,EAAc,EACtC,EAAG2B,EAAiB,EAAI3B,EAAc,EACtC,MAAO2B,EAAiB,MACxB,OAAQA,EAAiB,MAC/B,CACE,CACA,OAAO9P,GAAiBC,CAAI,CAC9B,CACA,SAAS8P,GAAyBv9B,EAASw9B,EAAU,CACnD,MAAMr1B,EAAawxB,GAAc35B,CAAO,EACxC,OAAImI,IAAeq1B,GAAY,CAACpF,GAAUjwB,CAAU,GAAKyxB,GAAsBzxB,CAAU,EAChF,GAEFywB,GAAiBzwB,CAAU,EAAE,WAAa,SAAWo1B,GAAyBp1B,EAAYq1B,CAAQ,CAC3G,CACA,SAASC,GAA4Bz9B,EAASnR,EAAO,CACnD,MAAM6uC,EAAe7uC,EAAM,IAAImR,CAAO,EACtC,GAAI09B,EACF,OAAOA,EAET,IAAIlvC,EAASwrC,GAAqBh6B,EAAS,CAAA,EAAI,EAAK,EAAE,OAAQpN,GAAOwlC,GAAUxlC,CAAE,GAAKolC,GAAYplC,CAAE,IAAM,MAAM,EAC5G+qC,EAAsC,KAC1C,MAAMC,EAAiBhF,GAAiB54B,CAAO,EAAE,WAAa,QAC9D,IAAI05B,EAAckE,EAAiBjE,GAAc35B,CAAO,EAAIA,EAC5D,KAAOo4B,GAAUsB,CAAW,GAAK,CAACE,GAAsBF,CAAW,GAAG,CACpE,MAAMmE,EAAgBjF,GAAiBc,CAAW,EAC5CoE,EAA0B1E,GAAkBM,CAAW,EACzD,CAACoE,GAA2BD,EAAc,WAAa,UACzDF,EAAsC,OAEVC,EAAiB,CAACE,GAA2B,CAACH,EAAsC,CAACG,GAA2BD,EAAc,WAAa,UAAY,CAAC,CAACF,GAAuCR,GAAgB,IAAIQ,EAAoC,QAAQ,GAAKnF,GAAkBkB,CAAW,GAAK,CAACoE,GAA2BP,GAAyBv9B,EAAS05B,CAAW,GAE5YlrC,EAASA,EAAO,OAAQuvC,GAAaA,IAAarE,CAAW,EAE7DiE,EAAsCE,EAExCnE,EAAcC,GAAcD,CAAW,CACzC,CACA,OAAA7qC,EAAM,IAAImR,EAASxR,CAAM,EAClBA,CACT,CACA,SAASwvC,GAAgBt2B,EAAM,CAC7B,GAAI,CACF,QAAA1H,EACA,SAAA+uB,EACA,aAAAC,EACA,SAAA92B,CACJ,EAAMwP,EAEJ,MAAMu2B,EAAoB,CAAC,GADMlP,IAAa,oBAAsBiK,GAAWh5B,CAAO,EAAI,CAAA,EAAKy9B,GAA4Bz9B,EAAS,KAAK,EAAE,EAAI,CAAA,EAAG,OAAO+uB,CAAQ,EACzGC,CAAY,EAC9DkP,EAAwBD,EAAkB,CAAC,EAC3CE,EAAeF,EAAkB,OAAO,CAACG,EAASd,IAAqB,CAC3E,MAAM7P,EAAO4P,GAAkCr9B,EAASs9B,EAAkBplC,CAAQ,EAClF,OAAAkmC,EAAQ,IAAMr9B,GAAI0sB,EAAK,IAAK2Q,EAAQ,GAAG,EACvCA,EAAQ,MAAQrT,GAAI0C,EAAK,MAAO2Q,EAAQ,KAAK,EAC7CA,EAAQ,OAASrT,GAAI0C,EAAK,OAAQ2Q,EAAQ,MAAM,EAChDA,EAAQ,KAAOr9B,GAAI0sB,EAAK,KAAM2Q,EAAQ,IAAI,EACnCA,CACT,EAAGf,GAAkCr9B,EAASk+B,EAAuBhmC,CAAQ,CAAC,EAC9E,MAAO,CACL,MAAOimC,EAAa,MAAQA,EAAa,KACzC,OAAQA,EAAa,OAASA,EAAa,IAC3C,EAAGA,EAAa,KAChB,EAAGA,EAAa,GACpB,CACA,CACA,SAASE,GAAcr+B,EAAS,CAC9B,KAAM,CACJ,MAAAuH,EACA,OAAAC,CACJ,EAAMgzB,GAAiBx6B,CAAO,EAC5B,MAAO,CACL,MAAAuH,EACA,OAAAC,CACJ,CACA,CACA,SAAS82B,GAA8Bt+B,EAASqvB,EAAcn3B,EAAU,CACtE,MAAMukC,EAA0BpE,GAAchJ,CAAY,EACpD+M,EAAkBjE,GAAmB9I,CAAY,EACjD+L,EAAUljC,IAAa,QACvBu1B,EAAO6N,GAAsBt7B,EAAS,GAAMo7B,EAAS/L,CAAY,EACvE,IAAI5wB,EAAS,CACX,WAAY,EACZ,UAAW,CACf,EACE,MAAMo1B,EAAU3I,GAAa,CAAC,EAC9B,SAASqT,GAA4B,CACnC1K,EAAQ,EAAIoI,GAAoBG,CAAe,CACjD,CACA,GAAIK,GAA2B,CAACA,GAA2B,CAACrB,EAI1D,IAHIpD,GAAY3I,CAAY,IAAM,QAAUmJ,GAAkB4D,CAAe,KAC3E39B,EAASq7B,GAAczK,CAAY,GAEjCoN,EAAyB,CAC3B,MAAMC,EAAapB,GAAsBjM,EAAc,GAAM+L,EAAS/L,CAAY,EAClFwE,EAAQ,EAAI6I,EAAW,EAAIrN,EAAa,WACxCwE,EAAQ,EAAI6I,EAAW,EAAIrN,EAAa,SAC1C,MAAW+M,GACTmC,EAAyB,EAGzBnD,GAAW,CAACqB,GAA2BL,GACzCmC,EAAyB,EAE3B,MAAM5B,EAAaP,GAAmB,CAACK,GAA2B,CAACrB,EAAUe,GAAcC,EAAiB39B,CAAM,EAAIysB,GAAa,CAAC,EAC9HrsB,EAAI4uB,EAAK,KAAOhvB,EAAO,WAAao1B,EAAQ,EAAI8I,EAAW,EAC3D79B,EAAI2uB,EAAK,IAAMhvB,EAAO,UAAYo1B,EAAQ,EAAI8I,EAAW,EAC/D,MAAO,CACL,EAAA99B,EACA,EAAAC,EACA,MAAO2uB,EAAK,MACZ,OAAQA,EAAK,MACjB,CACA,CACA,SAAS+Q,GAAmBx+B,EAAS,CACnC,OAAO44B,GAAiB54B,CAAO,EAAE,WAAa,QAChD,CACA,SAASy+B,GAAoBz+B,EAAS0+B,EAAU,CAC9C,GAAI,CAACrG,GAAcr4B,CAAO,GAAK44B,GAAiB54B,CAAO,EAAE,WAAa,QACpE,OAAO,KAET,GAAI0+B,EACF,OAAOA,EAAS1+B,CAAO,EAEzB,IAAI2+B,EAAkB3+B,EAAQ,aAC9B,OAAIm4B,GAAmBn4B,CAAO,IAAM2+B,IAClCA,EAAkBA,EAAgB,cAAc,MAE3CA,CACT,CACA,SAASC,GAAgB5+B,EAAS0+B,EAAU,CAC1C,MAAMrE,EAAMnC,GAAUl4B,CAAO,EAC7B,GAAIg5B,GAAWh5B,CAAO,EACpB,OAAOq6B,EAET,GAAI,CAAChC,GAAcr4B,CAAO,EAAG,CAC3B,IAAI6+B,EAAkBlF,GAAc35B,CAAO,EAC3C,KAAO6+B,GAAmB,CAACjF,GAAsBiF,CAAe,GAAG,CACjE,GAAIzG,GAAUyG,CAAe,GAAK,CAACL,GAAmBK,CAAe,EACnE,OAAOA,EAETA,EAAkBlF,GAAckF,CAAe,CACjD,CACA,OAAOxE,CACT,CACA,IAAIhL,EAAeoP,GAAoBz+B,EAAS0+B,CAAQ,EACxD,KAAOrP,GAAgByJ,GAAezJ,CAAY,GAAKmP,GAAmBnP,CAAY,GACpFA,EAAeoP,GAAoBpP,EAAcqP,CAAQ,EAE3D,OAAIrP,GAAgBuK,GAAsBvK,CAAY,GAAKmP,GAAmBnP,CAAY,GAAK,CAAC+J,GAAkB/J,CAAY,EACrHgL,EAEFhL,GAAgBoK,GAAmBz5B,CAAO,GAAKq6B,CACxD,CACA,MAAMyE,GAAkB,eAAe3kC,EAAM,CAC3C,MAAM4kC,EAAoB,KAAK,iBAAmBH,GAC5CI,EAAkB,KAAK,cACvBC,EAAqB,MAAMD,EAAgB7kC,EAAK,QAAQ,EAC9D,MAAO,CACL,UAAWmkC,GAA8BnkC,EAAK,UAAW,MAAM4kC,EAAkB5kC,EAAK,QAAQ,EAAGA,EAAK,QAAQ,EAC9G,SAAU,CACR,EAAG,EACH,EAAG,EACH,MAAO8kC,EAAmB,MAC1B,OAAQA,EAAmB,MACjC,CACA,CACA,EACA,SAASC,GAAMl/B,EAAS,CACtB,OAAO44B,GAAiB54B,CAAO,EAAE,YAAc,KACjD,CACA,MAAMm/B,GAAW,CACf,sDAAA5C,GACA,mBAAApE,GACA,gBAAA6F,GACA,gBAAAY,GACA,gBAAAE,GACA,eAAAlC,GACA,cAAAyB,GACA,SAAAvD,GACA,UAAA1C,GACA,MAAA8G,EACF,EACA,SAASE,GAAc,EAAGvmC,EAAG,CAC3B,OAAO,EAAE,IAAMA,EAAE,GAAK,EAAE,IAAMA,EAAE,GAAK,EAAE,QAAUA,EAAE,OAAS,EAAE,SAAWA,EAAE,MAC7E,CACA,SAASwmC,GAAYr/B,EAASs/B,EAAQ,CACpC,IAAIC,EAAK,KACLC,EACJ,MAAM/hC,EAAO06B,GAAmBn4B,CAAO,EACvC,SAAStN,GAAU,CACjB,IAAI+sC,EACJ,aAAaD,CAAS,GACrBC,EAAMF,IAAO,MAAQE,EAAI,WAAU,EACpCF,EAAK,IACP,CACA,SAASG,EAAQC,EAAMhiC,EAAW,CAC5BgiC,IAAS,SACXA,EAAO,IAELhiC,IAAc,SAChBA,EAAY,GAEdjL,EAAO,EACP,MAAMktC,EAA2B5/B,EAAQ,sBAAqB,EACxD,CACJ,KAAArQ,EACA,IAAA6lC,EACA,MAAAjuB,EACA,OAAAC,CACN,EAAQo4B,EAIJ,GAHKD,GACHL,EAAM,EAEJ,CAAC/3B,GAAS,CAACC,EACb,OAEF,MAAMq4B,EAAW5U,GAAMuK,CAAG,EACpBsK,EAAa7U,GAAMxtB,EAAK,aAAe9N,EAAO4X,EAAM,EACpDw4B,EAAc9U,GAAMxtB,EAAK,cAAgB+3B,EAAMhuB,EAAO,EACtDw4B,EAAY/U,GAAMt7B,CAAI,EAEtB7B,EAAU,CACd,WAFiB,CAAC+xC,EAAW,MAAQ,CAACC,EAAa,MAAQ,CAACC,EAAc,MAAQ,CAACC,EAAY,KAG/F,UAAWj/B,GAAI,EAAGgqB,GAAI,EAAGptB,CAAS,CAAC,GAAK,CAC9C,EACI,IAAIsiC,EAAgB,GACpB,SAASC,EAActY,EAAS,CAC9B,MAAMuY,EAAQvY,EAAQ,CAAC,EAAE,kBACzB,GAAIuY,IAAUxiC,EAAW,CACvB,GAAI,CAACsiC,EACH,OAAOP,EAAO,EAEXS,EAKHT,EAAQ,GAAOS,CAAK,EAJpBX,EAAY,WAAW,IAAM,CAC3BE,EAAQ,GAAO,IAAI,CACrB,EAAG,GAAG,CAIV,CACIS,IAAU,GAAK,CAACf,GAAcQ,EAA0B5/B,EAAQ,sBAAqB,CAAE,GACzF0/B,EAAO,EAETO,EAAgB,EAClB,CACA,GAAI,CACFV,EAAK,IAAI,qBAAqBW,EAAe,CAC3C,GAAGpyC,EAEH,KAAM2P,EAAK,aACnB,CAAO,CACH,MAAa,CACX8hC,EAAK,IAAI,qBAAqBW,EAAepyC,CAAO,CACtD,CACAyxC,EAAG,QAAQv/B,CAAO,CACpB,CACA,OAAA0/B,EAAQ,EAAI,EACLhtC,CACT,CACA,SAAS0tC,GAAWzS,EAAWC,EAAUjzB,EAAQ7M,EAAS,CACpDA,IAAY,SACdA,EAAU,CAAA,GAEZ,KAAM,CACJ,eAAAuyC,EAAiB,GACjB,eAAAC,EAAiB,GACjB,cAAAC,EAAgB,OAAO,gBAAmB,WAC1C,YAAAC,EAAc,OAAO,sBAAyB,WAC9C,eAAAC,EAAiB,EACrB,EAAM3yC,EACE4yC,EAAc7F,GAAgBlN,CAAS,EACvCgT,EAAYN,GAAkBC,EAAiB,CAAC,GAAGI,EAAc1G,GAAqB0G,CAAW,EAAI,CAAA,EAAI,GAAG1G,GAAqBpM,CAAQ,CAAC,EAAI,CAAA,EACpJ+S,EAAU,QAAS5C,GAAa,CAC9BsC,GAAkBtC,EAAS,iBAAiB,SAAUpjC,EAAQ,CAC5D,QAAS,EACf,CAAK,EACD2lC,GAAkBvC,EAAS,iBAAiB,SAAUpjC,CAAM,CAC9D,CAAC,EACD,MAAMimC,EAAYF,GAAeF,EAAcnB,GAAYqB,EAAa/lC,CAAM,EAAI,KAClF,IAAIkmC,EAAiB,GACjBC,EAAiB,KACjBP,IACFO,EAAiB,IAAI,eAAgBp5B,GAAS,CAC5C,GAAI,CAACq5B,CAAU,EAAIr5B,EACfq5B,GAAcA,EAAW,SAAWL,GAAeI,IACrDA,EAAe,UAAUlT,CAAQ,EACjC,qBAAqBiT,CAAc,EACnCA,EAAiB,sBAAsB,IAAM,CAC3C,IAAIG,GACHA,EAAkBF,IAAmB,MAAQE,EAAgB,QAAQpT,CAAQ,CAChF,CAAC,GAEHjzB,EAAM,CACR,CAAC,EACG+lC,GAAe,CAACD,GAClBK,EAAe,QAAQJ,CAAW,EAEpCI,EAAe,QAAQlT,CAAQ,GAEjC,IAAIqT,EACAC,EAAcT,EAAiBnF,GAAsB3N,CAAS,EAAI,KAClE8S,GACFU,EAAS,EAEX,SAASA,GAAY,CACnB,MAAMC,EAAc9F,GAAsB3N,CAAS,EAC/CuT,GAAe,CAAC9B,GAAc8B,EAAaE,CAAW,GACxDzmC,EAAM,EAERumC,EAAcE,EACdH,EAAU,sBAAsBE,CAAS,CAC3C,CACA,OAAAxmC,EAAM,EACC,IAAM,CACX,IAAI0mC,EACJV,EAAU,QAAS5C,GAAa,CAC9BsC,GAAkBtC,EAAS,oBAAoB,SAAUpjC,CAAM,EAC/D2lC,GAAkBvC,EAAS,oBAAoB,SAAUpjC,CAAM,CACjE,CAAC,EACDimC,GAAa,MAAQA,EAAS,GAC7BS,EAAmBP,IAAmB,MAAQO,EAAiB,WAAU,EAC1EP,EAAiB,KACbL,GACF,qBAAqBQ,CAAO,CAEhC,CACF,CACA,MAAMt/B,GAASq0B,GACTsL,GAAgBvQ,GAChBwQ,GAAQpL,GACRqL,GAAOvP,GACP55B,GAAOw+B,GACP5X,GAAO2U,GACP6N,GAAUjS,GACVkS,GAASnN,GACToN,GAAkB,CAAChU,EAAWC,EAAU9/B,IAAY,CACxD,MAAMe,EAAwB,IAAI,IAC5B+yC,EAAgB,CACpB,SAAAzC,GACA,GAAGrxC,CACP,EACQ+zC,EAAoB,CACxB,GAAGD,EAAc,SACjB,GAAI/yC,CACR,EACE,OAAOu/B,GAAkBT,EAAWC,EAAU,CAC5C,GAAGgU,EACH,SAAUC,CACd,CAAG,CACH,EACA,SAASC,GAA0BzzC,EAAQ,CACzC,OAAOA,GAAU,MAAQ,OAAOA,GAAW,UAAY,QAASA,CAClE,CACA,SAAS0zC,GAAc1zC,EAAQ,CAC7B,GAAIyzC,GAA0BzzC,CAAM,EAAG,CACrC,MAAM2R,EAAU3R,EAAO,IACvB,OAAO4pC,GAAOj4B,CAAO,GAAKg4B,GAAYh4B,CAAO,IAAM,WAAa,KAAOA,CACzE,CACA,OAAO3R,CACT,CACA,SAAS1E,GAAQ2F,EAAQ,CACvB,OAAO,OAAOA,GAAW,WAAaA,EAAM,EAAK4D,EAAAA,MAAM5D,CAAM,CAC/D,CACA,SAAS0yC,GAAMl0C,EAAS,CACtB,MAAO,CACL,KAAM,QACN,QAAAA,EACA,GAAG1D,EAAM,CACP,MAAM4V,EAAU+hC,GAAcp4C,GAAQmE,EAAQ,OAAO,CAAC,EACtD,OAAIkS,GAAW,KACN,CAAA,EAEFyhC,GAAQ,CACb,QAAAzhC,EACA,QAASlS,EAAQ,OACzB,CAAO,EAAE,GAAG1D,CAAI,CACZ,CACJ,CACA,CACA,SAAS63C,GAAOjiC,EAAS,CACvB,OAAI,OAAO,OAAW,IACb,GAEGA,EAAQ,cAAc,aAAe,QACtC,kBAAoB,CACjC,CACA,SAASkiC,GAAWliC,EAASzY,EAAO,CAClC,MAAM46C,EAAMF,GAAOjiC,CAAO,EAC1B,OAAO,KAAK,MAAMzY,EAAQ46C,CAAG,EAAIA,CACnC,CACA,SAASC,GAAYzU,EAAWC,EAAU9/B,EAAS,CAC7CA,IAAY,SACdA,EAAU,CAAA,GAEZ,MAAMu0C,EAA6Bv0C,EAAQ,qBACrCw0C,EAAa74C,EAAAA,SAAS,IAAM,CAChC,IAAI84C,EACJ,OAAQA,EAAW54C,GAAQmE,EAAQ,IAAI,IAAM,KAAOy0C,EAAW,EACjE,CAAC,EACKC,EAAmB/4C,EAAAA,SAAS,IAAME,GAAQmE,EAAQ,UAAU,CAAC,EAC7D20C,EAAkBh5C,EAAAA,SAAS,IAAM,CACrC,IAAIi5C,EACJ,OAAQA,EAAY/4C,GAAQmE,EAAQ,SAAS,IAAM,KAAO40C,EAAY,QACxE,CAAC,EACKC,EAAiBl5C,EAAAA,SAAS,IAAM,CACpC,IAAIm5C,EACJ,OAAQA,EAAYj5C,GAAQmE,EAAQ,QAAQ,IAAM,KAAO80C,EAAY,UACvE,CAAC,EACKC,EAAkBp5C,EAAAA,SAAS,IAAM,CACrC,IAAIq5C,EACJ,OAAQA,EAAYn5C,GAAQmE,EAAQ,SAAS,IAAM,KAAOg1C,EAAY,EACxE,CAAC,EACKC,EAAmBt5C,EAAAA,SAAS,IAAMs4C,GAAcpU,EAAU,KAAK,CAAC,EAChEqV,EAAkBv5C,EAAAA,SAAS,IAAMs4C,GAAcnU,EAAS,KAAK,CAAC,EAC9D/uB,EAAIxS,EAAAA,IAAI,CAAC,EACTyS,EAAIzS,EAAAA,IAAI,CAAC,EACT6L,EAAW7L,EAAAA,IAAIs2C,EAAe,KAAK,EACnChX,EAAYt/B,EAAAA,IAAIo2C,EAAgB,KAAK,EACrChU,EAAiB59B,EAAAA,WAAW,EAAE,EAC9BoyC,EAAe52C,EAAAA,IAAI,EAAK,EACxB62C,EAAiBz5C,EAAAA,SAAS,IAAM,CACpC,MAAM05C,EAAgB,CACpB,SAAUjrC,EAAS,MACnB,KAAM,IACN,IAAK,GACX,EACI,GAAI,CAAC8qC,EAAgB,MACnB,OAAOG,EAET,MAAMC,EAAOlB,GAAWc,EAAgB,MAAOnkC,EAAE,KAAK,EAChDwkC,EAAOnB,GAAWc,EAAgB,MAAOlkC,EAAE,KAAK,EACtD,OAAI+jC,EAAgB,MACX,CACL,GAAGM,EACH,UAAW,aAAeC,EAAO,OAASC,EAAO,MACjD,GAAGpB,GAAOe,EAAgB,KAAK,GAAK,KAAO,CACzC,WAAY,WACtB,CACA,EAEW,CACL,SAAU9qC,EAAS,MACnB,KAAMkrC,EAAO,KACb,IAAKC,EAAO,IAClB,CACE,CAAC,EACD,IAAIC,EACJ,SAAS3oC,GAAS,CAChB,GAAIooC,EAAiB,OAAS,MAAQC,EAAgB,OAAS,KAC7D,OAEF,MAAMO,EAAOjB,EAAW,MACxBX,GAAgBoB,EAAiB,MAAOC,EAAgB,MAAO,CAC7D,WAAYR,EAAiB,MAC7B,UAAWC,EAAgB,MAC3B,SAAUE,EAAe,KAC/B,CAAK,EAAE,KAAMjvB,GAAa,CACpB7U,EAAE,MAAQ6U,EAAS,EACnB5U,EAAE,MAAQ4U,EAAS,EACnBxb,EAAS,MAAQwb,EAAS,SAC1BiY,EAAU,MAAQjY,EAAS,UAC3B+a,EAAe,MAAQ/a,EAAS,eAChCuvB,EAAa,MAAQM,IAAS,EAChC,CAAC,CACH,CACA,SAAS7wC,GAAU,CACb,OAAO4wC,GAAgC,aACzCA,EAA2B,EAC3BA,EAA8B,OAElC,CACA,SAASE,GAAS,CAEhB,GADA9wC,EAAO,EACH2vC,IAA+B,OAAQ,CACzC1nC,EAAM,EACN,MACF,CACA,GAAIooC,EAAiB,OAAS,MAAQC,EAAgB,OAAS,KAAM,CACnEM,EAA8BjB,EAA2BU,EAAiB,MAAOC,EAAgB,MAAOroC,CAAM,EAC9G,MACF,CACF,CACA,SAAS0E,GAAQ,CACVijC,EAAW,QACdW,EAAa,MAAQ,GAEzB,CACAr5C,OAAAA,EAAAA,MAAM,CAAC44C,EAAkBC,EAAiBE,EAAgBL,CAAU,EAAG3nC,EAAQ,CAC7E,MAAO,MACX,CAAG,EACD/Q,EAAAA,MAAM,CAACm5C,EAAkBC,CAAe,EAAGQ,EAAQ,CACjD,MAAO,MACX,CAAG,EACD55C,EAAAA,MAAM04C,EAAYjjC,EAAO,CACvB,MAAO,MACX,CAAG,EACGrV,EAAAA,gBAAe,GACjBC,EAAAA,eAAeyI,CAAO,EAEjB,CACL,EAAGzB,EAAAA,gBAAgB4N,CAAC,EACpB,EAAG5N,EAAAA,gBAAgB6N,CAAC,EACpB,SAAU7N,EAAAA,gBAAgBiH,CAAQ,EAClC,UAAWjH,EAAAA,gBAAgB06B,CAAS,EACpC,eAAgB16B,EAAAA,gBAAgBw9B,CAAc,EAC9C,aAAcx9B,EAAAA,gBAAgBgyC,CAAY,EAC1C,eAAAC,EACA,OAAAvoC,CACJ,CACA,CACA,MAAM2D,GAAW5T,GAAuB+4C,EAAU,EAC5CnuB,GAAa,CAAC,IAAI,EAClB4N,GAAa,CAAC,IAAI,EAClB3f,GAA4B3R,EAAAA,gBAAgB,CAE9C,aAAc,GAEhB,OAAQ,WACR,MAAuB+qB,EAAAA,YAAY,CACjC,KAAM,CAAE,QAAS,MAAM,EACvB,UAAW,CAAE,QAAS,MAAM,EAC5B,SAAU,CAAE,QAAS,mBAAmB,EACxC,gBAAiB,CAAE,QAAS,MAAM,EAClC,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,MAAO,CAAE,QAAS,KAAO,CAAE,KAAM,IAAK,KAAM,GAAG,EAAG,EAClD,mBAAoB,CAAE,QAAS,MAAM,EACrC,WAAY,CAAE,QAAS,CAAC,EACxB,GAAI,CAAE,QAAS,MAAM,EACrB,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,eAAgB,CAAE,KAAM,QAAS,QAAS,EAAK,EAC/C,OAAQ,CAAE,QAAS,IAAI,EACvB,UAAW,CAAE,QAAS,KAAK,EAC3B,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,UAAW,CAAE,QAAS,IAAI,EAC1B,SAAU,CAAE,QAAS,UAAU,EAC/B,OAAQ,CAAE,QAAS,IAAI,EACvB,MAAO,CAAE,QAAS,MAAM,EACxB,WAAY,CAAE,QAAS,MAAM,EAC7B,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,WAAY,CAAE,QAAS,MAAM,EAC7B,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,YAAa,CAAE,KAAM,OAAO,EAC5B,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,WAAY,CAAA,EACZ,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAC5C,EAAK,CACD,WAAc,CAAE,KAAM,QACpB,QAAS,EACV,EACD,eAAkB,CAAA,CACtB,CAAG,EACD,MAAuBA,EAAAA,YAAY,CAAC,eAAgB,OAAQ,gBAAiB,gBAAiB,OAAQ,iBAAkB,SAAU,OAAQ,iBAAkB,QAAS,SAAU,mBAAoB,SAAU,IAAI,EAAG,CAAC,mBAAmB,CAAC,EACzO,MAAMpH,EAAS,CAAE,OAAQ6N,EAAU,KAAMtH,GAAU,CAEjD,MAAM/pB,EAAQqjB,EADCG,EACmB,UAAU,EACtCwG,EAAOD,EACPjqB,EAAQ2jB,EAAAA,SAAQ,EAChBxjB,EAAQgqB,EAAAA,SAAQ,EAChBwC,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3CkJ,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,SAAS,EAC5C2xC,EAASr3C,EAAAA,IAAI,EAAK,EAClB22C,EAAkBpmB,EAAAA,eAAe,UAAU,EAC3C5X,EAAU4X,EAAAA,eAAe,UAAU,EACnC+mB,EAAW/mB,EAAAA,eAAe,QAAQ,EAClCgnB,EAAchnB,EAAAA,eAAe,cAAc,EAC3CmmB,EAAmB12C,EAAAA,IAAI,IAAI,EAC3Bw3C,EAAiBx3C,EAAAA,IAAI,IAAI,EACzBy3C,EAAkBr6C,EAAAA,SAAS,IAAMsI,EAAM,UAAU,WAAW,MAAM,CAAC,EACnEgyC,EAAe7yC,GAAY,IAAMa,EAAM,QAAU,OAAO,GAAG,EAC3Dg9B,EAAWtlC,EAAAA,SACf,IAAMu6C,GAAWjyC,EAAM,QAAQ,EAAIA,EAAM,SAAW,MAC1D,EACUi9B,EAAevlC,EAAAA,SACnB,IAAMw6C,GAAelyC,EAAM,QAAQ,EAAIA,EAAM,SAAW,MAC9D,EACUmyC,EAAa73C,EAAAA,IAAI,EAAE,EACnB83C,EAAqB16C,EAAAA,SAAS,IAAM,CACxC,GAAIsI,EAAM,qBAAuB,OAC/B,OAAOA,EAAM,mBAEf,MAAMqyC,EAAMryC,EAAM,SAAW,KAAOgyC,EAAa,MAAQhyC,EAAM,QAAU,EAAI,EACvE5G,EAAM,CAACwW,GAAOyiC,CAAG,CAAC,EACxB,OAAIryC,EAAM,SAAW,IAAS,CAAC+xC,EAAgB,OAC7C34C,EAAI,KACFq2C,GAAK,CACH,SAAUzS,EAAS,MACnB,aAAcC,EAAa,MAC3B,QAASj9B,EAAM,eAC3B,CAAW,CACX,EAEU+xC,EAAgB,OAClB34C,EAAI,KACFm2C,GAAc,CACZ,UAAWvvC,EAAM,UAAU,MAAM,GAAG,EAAE,CAAC,GAAK,OAC5C,SAAUg9B,EAAS,MACnB,aAAcC,EAAa,MAC3B,QAASj9B,EAAM,eAC3B,CAAW,CACX,EAEUA,EAAM,UAAY,IACpB5G,EAAI,KACFo2C,GAAM,CACJ,SAAUxS,EAAS,MACnB,aAAcC,EAAa,MAC3B,QAASj9B,EAAM,eAC3B,CAAW,CACX,EAEUA,EAAM,SAAW,IACnB5G,EAAI,KACF8zB,GAAK,CACH,SAAU8P,EAAS,MACnB,aAAcC,EAAa,MAC3B,QAASj9B,EAAM,eAC3B,CAAW,CACX,EAEUA,EAAM,SAAW,IACnB5G,EAAI,KAAKu2C,IAAQ,EAEnBv2C,EAAI,KAAK62C,GAAM,CAAE,QAAS2B,EAAU,QAAS,EAAE,CAAE,CAAC,EAC9C5xC,EAAM,SAAW,IACnB5G,EAAI,KACFkN,GAAK,CACH,SAAU02B,EAAS,MACnB,aAAcC,EAAa,MAC3B,QAASj9B,EAAM,gBACf,MAAM,CAAE,eAAA0lC,EAAgB,gBAAAD,IAAmB,UACzC0M,EAAW,MAAQ,CACjB,UAAW1M,OAAoBntC,GAAA2a,EAAQ,QAAR,YAAA3a,GAAe,eAAgB,GAAK,OAASmtC,GAAkB,GAAG,KAAK,IAAI,EAAGA,EAAe,CAAC,KAAO,OACpI,SAAUC,MAAmB1rC,EAAAiZ,EAAQ,QAAR,YAAAjZ,EAAe,cAAe,GAAK,OAAS0rC,EAAiB,GAAG,KAAK,IAAI,EAAGA,CAAc,CAAC,KAAO,MAC/I,CACY,CACZ,CAAW,CACX,EAEatsC,CACT,CAAC,EACKk5C,EAAe56C,EAAAA,SACnB,IAAMq6C,EAAgB,MAAQ,OAAS/xC,EAAM,SACnD,EACU,CAAE,eAAAmxC,EAAgB,eAAAzU,EAAgB,UAAA9C,EAAW,OAAAhxB,CAAM,EAAKynC,GAC5DW,EACAC,EACA,CACE,UAAWqB,EACX,WAAYF,EACZ,SAAUn4C,EAAAA,MAAM,IAAM+F,EAAM,QAAQ,CAC5C,CACA,EACUuyC,EAAaj4C,EAAAA,IAAI,CAAE,SAAU,UAAU,CAAE,EAC/CzC,QAAM6kC,EAAiB5kC,GAAa,SAclC,GAbIkI,EAAM,SAAW,MACf1H,EAAAR,EAAS,OAAT,MAAAQ,EAAe,iBAAmB,CAACq5C,EAAO,OAAS9kB,EAAQ,MACzD7sB,EAAM,aAAe,CAACA,EAAM,aAAe,CAACA,EAAM,OACpDquB,EAAa,eAAe,GAE5BjB,GAAmB,MAAQ,GAC3BukB,EAAO,MAAQ,IAERvkB,GAAmB,OAAS,GAACpzB,EAAAlC,EAAS,OAAT,MAAAkC,EAAe,mBACrDozB,GAAmB,MAAQ,GAC3BukB,EAAO,MAAQ,KAGf75C,EAAS,MAAO,CAClB,KAAM,CAAE,EAAGwsC,GAAI,EAAGC,EAAE,EAAKzsC,EAAS,MAClCy6C,EAAW,MAAQ,CACjB,SAAU,WACV,IAAKhO,GAAK,GAAGA,EAAE,KAAO,GACtB,KAAMD,GAAK,GAAGA,EAAE,KAAO,EACjC,CACM,CACF,CAAC,EACD,IAAI3jC,EACJ,KAAM,CACJ,QAAAksB,EACA,KAAM2lB,EACN,KAAAvlB,EACA,OAAA3hB,EACA,aAAA+iB,EACA,oBAAAhB,EACA,gBAAAsE,EACA,eAAAlC,EACA,UAAAjO,EACA,SAAAvlB,EACA,UAAA6wB,GACA,mBAAAM,EACN,EAAQZ,GAAYC,EAAYzsB,EAAOgqB,EAAMinB,EAAiBvkB,EAAY,CACpE,OAAQ,IAAM,CACZ9jB,EAAM,EACNlK,EAAAA,SAAS,IAAM,CACbiC,EAAU0tC,GACR2C,EAAiB,MACjBC,EAAgB,MAChBroC,EACA,CAAE,eAAgB5I,EAAM,QAAQ,CAC5C,CACQ,CAAC,CACH,EACA,OAAQ,IAAM,CACRW,IACFA,EAAO,EACPA,EAAU,OAEd,CACN,CAAK,EACKgjB,GAAkBjsB,EAAAA,SAAS,IAAM,CACrC,MAAM6Q,EAAOvI,EAAM,QAAU,UAAY,UACzC,MAAO,CACLuI,EACA,KAAKA,CAAI,GACT,CACE,KAAMiZ,EAAU,OAAS,CAACmwB,EAAO,MACjC,KAAM,CAACtkB,EAAoB,MAC3B,CAAC,MAAM9kB,CAAI,IAAIkqC,GAA0B7Y,EAAU,KAAK,CAAC,EAAE,EAAGA,EAAU,QAAU,MAC5F,CACA,CACI,CAAC,EACK,CAAE,EAAA9sB,GAAG,EAAAC,EAAC,EAAKR,GAAQ,EACnBmmC,GAA6B,IAAM,WACvC,MAAMC,GAAcr6C,GAAAw5C,EAAe,QAAf,YAAAx5C,GAAsB,wBACpCs6C,GAAc54C,GAAAi3C,EAAgB,QAAhB,YAAAj3C,GAAuB,wBACrC64C,EAAS,SAAS7yC,EAAM,WAAY,EAAE,GAAK,EAC3C8yC,IAAU,2BAAQ,UAAW,EAC7BC,IAAU,2BAAQ,UAAW,EAC7BC,EAAmB,CAACL,GAAe7lC,GAAE,MAAQ6lC,EAAY,KAAOG,GAAUD,GAAU/lC,GAAE,MAAQ6lC,EAAY,MAAQG,GAAUD,GAAU9lC,GAAE,MAAQ4lC,EAAY,IAAMI,GAAUF,GAAU9lC,GAAE,MAAQ4lC,EAAY,OAASI,GAAUF,EAC/NI,GAAY,CAACL,GAAe9lC,GAAE,MAAQ8lC,EAAY,KAAOE,GAAUD,GAAU/lC,GAAE,MAAQ8lC,EAAY,MAAQE,GAAUD,GAAU9lC,GAAE,MAAQ6lC,EAAY,IAAMG,GAAUF,GAAU9lC,GAAE,MAAQ6lC,EAAY,OAASG,GAAUF,EAC9N,MAAO,CAAE,iBAAAG,EAAkB,UAAAC,EAAS,CACtC,EACA,IAAIC,EACJ,MAAMC,EAAWjyC,GAAM,WACrB,KAAM,CAAE,iBAAA8xC,EAAkB,UAAAC,CAAS,EAAKP,GAA0B,EAC9D,CAAC1yC,EAAM,gBAAkBizC,GAAaD,GAAoB,GAAC16C,GAAA24C,EAAgB,QAAhB,MAAA34C,GAAuB,SAAS,+BAAU,iBAAkB,GAAC0B,GAAA83C,EAAe,QAAf,MAAA93C,GAAsB,SAAS,+BAAU,iBAAkBgG,EAAM,gBAAkBgzC,EAC7MR,EAAQtxC,GAAA,YAAAA,EAAG,IAAI,GAEXgyC,GAAa,aAAaA,CAAW,EACzCA,EAAc,WAAW,IAAM,CAC7BC,EAAQjyC,CAAC,CACX,EAAG,EAAE,EAET,EACArJ,EAAAA,MAAM2pB,EAAW,IAAM,CACrB5Y,EAAM,CACR,CAAC,EACDyoB,EAAS,CACP,KAAMmhB,EACN,KAAAvlB,EACA,OAAA3hB,CACN,CAAK,EACD,MAAM8nC,EAAelyC,GAAM,CACrB2rB,EAAQ,MACV2lB,EAAQtxC,EAAE,OAAS,QAAU,QAAU,QAAQ,EAE/C+rB,EAAI,CAER,EACMomB,EAAY,IAAM,CACtBpmB,EAAI,CACN,EACMqmB,GAAmB57C,EAAAA,SAAS,IAC5BsI,EAAM,OACD,CAAE,MAAO,GAAO,MAAO,GAAO,MAAO,EAAK,EAE/CA,EAAM,QAAU,QAAUA,EAAM,QAAU,QAAUA,EAAM,QAAU,OAC/D,CACL,MAAOA,EAAM,OAAS,GACtB,MAAOA,EAAM,OAAS,GACtB,MAAOA,EAAM,OAAS,EAChC,EAEa,CAAE,MAAO,GAAM,MAAO,GAAM,MAAO,EAAK,CAChD,EACKuzC,EAAQ,IAAM,OAClB,GAAIvzC,EAAM,OAAQ,CAChB,MAAMwzC,EAAO7jB,GAAW8jB,EAAAA,QAAUzzC,EAAM,MAAM,CAAC,EAC3CwzC,EACF1B,EAAe,MAAQ0B,EAEvB,QAAQ,KAAK,2BAA4BxzC,EAAM,MAAM,CAEzD,MACE8xC,EAAe,OAAQx5C,EAAAu5C,EAAY,QAAZ,YAAAv5C,EAAmB,mBAE5C,GAAI0H,EAAM,UAAW,CACnB,MAAMwzC,EAAO7jB,GAAW8jB,EAAAA,QAAUzzC,EAAM,SAAS,CAAC,EAC9CwzC,EACFxC,EAAiB,MAAQwC,EAEzB,QAAQ,KAAK,8BAA+BxzC,EAAM,SAAS,CAE/D,MACEgxC,EAAiB,MAAQc,EAAe,MAE1C,GAAI,CAACA,EAAe,OAAS9xC,EAAM,OACjC,OAEF,MAAM0zC,EAAWJ,GAAiB,MAC9BI,EAAS,OACX5B,EAAe,MAAM,iBAAiB,QAASsB,CAAW,EAExDM,EAAS,QACX5B,EAAe,MAAM,iBAAiB,eAAgBuB,CAAS,EAC/DvB,EAAe,MAAM,iBAAiB,eAAgBqB,CAAO,GAE3DO,EAAS,QACX5B,EAAe,MAAM,iBAAiB,QAASuB,CAAS,EACxDvB,EAAe,MAAM,iBAAiB,OAAQqB,CAAO,EAEzD,EACMQ,EAAU,IAAM,CAChB7B,EAAe,QACjBA,EAAe,MAAM,oBAAoB,QAASsB,CAAW,EAC7DtB,EAAe,MAAM,oBAAoB,eAAgBuB,CAAS,EAClEvB,EAAe,MAAM,oBAAoB,eAAgBqB,CAAO,EAChErB,EAAe,MAAM,oBAAoB,QAASuB,CAAS,EAC3DvB,EAAe,MAAM,oBAAoB,OAAQqB,CAAO,EAE5D,EACAxxC,GACEsvC,EACA,IAAM,CACApkB,EAAQ,OAASymB,GAAiB,MAAM,OAAS,CAACtzC,EAAM,aAAe,CAACA,EAAM,QAChFwyC,EAAQ,eAAe,CAC3B,EACA,CAAE,OAAQ,CAACV,CAAc,CAAC,CAChC,EACIj6C,EAAAA,MACE,CACE,IAAMmI,EAAM,MACZ,IAAMA,EAAM,MACZ,IAAMA,EAAM,MACZ,IAAMA,EAAM,OACZ,IAAMA,EAAM,OACZ,IAAMA,EAAM,SACpB,EACM,IAAM,CACJ2zC,EAAO,EACPJ,EAAK,CACP,CACN,EACI,MAAMtgB,EAAcv7B,EAAAA,SAAS,KAAO,CAClC,OAAA4T,EACA,KAAA2hB,EACA,KAAMulB,EACN,GAAI9lB,EAAW,MACf,QAASlL,EAAU,MACnB,OAAQvlB,EAAS,KACvB,EAAM,EACFwC,OAAAA,EAAAA,UAAU,IAAM,CACd80C,EAAK,EACL70C,EAAAA,SAAS,IAAM,CACbkK,EAAM,CACR,CAAC,CACH,CAAC,EACDomB,EAAAA,gBAAgB2kB,CAAO,EAChB,CAAC9vB,EAAMC,KACLC,YAAS,EAAIK,qBAAmBqH,EAAAA,SAAU,KAAM,CACrD2H,EAAAA,mBAAmB,OAAQ,CACzB,GAAIjyB,EAAAA,MAAMurB,CAAU,EAAI,eACxB,IAAK,eACL,MAAO,CAAE,QAAW,MAAM,CACpC,EAAW,KAAM,EAAGnJ,EAAU,EACtBc,aAAWR,EAAK,OAAQ,SAAUyP,EAAAA,eAAeC,qBAAmBN,EAAY,KAAK,CAAC,CAAC,EACvFvH,EAAAA,YAAYF,GAAa,CACvB,GAAIrqB,EAAAA,MAAMnB,CAAK,EAAE,WACjB,SAAU,CAACmB,EAAAA,MAAMnB,CAAK,EAAE,YAAcmB,EAAAA,MAAMnB,CAAK,EAAE,gBAC7D,EAAW,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBhjB,EAAAA,MAAM2rB,EAAS,GAAK3rB,EAAAA,MAAMsuB,CAAc,GAAK1L,EAAAA,UAAS,EAAIC,EAAAA,YAAYkP,EAAAA,WAAYvI,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAIxpB,EAAAA,MAAMwwB,CAAe,EAAG,CAC/H,OAAQlF,EAAW,OAAStrB,EAAAA,MAAMnB,CAAK,EAAE,OACvD,CAAa,EAAG,CACF,QAASmkB,EAAAA,QAAQ,IAAM,CACrBgP,EAAAA,eAAeC,EAAAA,mBAAmB,MAAOzI,EAAAA,WAAW,CAAE,GAAIxpB,EAAAA,MAAMurB,CAAU,CAAC,EAAIvrB,EAAAA,MAAMlB,CAAK,EAAG,CAC3F,IAAK,WACL,MAAO0jB,GAAgB,MACvB,KAAM,UACN,SAAU,KACV,MAAOxiB,EAAAA,MAAMgwC,CAAc,CAC7C,CAAiB,EAAG,CACF/d,EAAAA,mBAAmB,MAAO,CACxB,IAAK,SACL,MAAOlP,EAAAA,eAAe,GAAG/iB,QAAMnB,CAAK,EAAE,QAAU,UAAY,SAAS,QAAQ,EAC7E,MAAO0zB,EAAAA,eAAe6e,EAAW,KAAK,EACtC,oBAAqB,EACzC,EAAqB,KAAM,CAAC,EACVnf,EAAAA,mBAAmB,MAAO,CACxB,IAAK,WACL,MAAO,gBACP,MAAOM,EAAAA,eAAeye,EAAW,KAAK,CAC1D,EAAqB,CACDhxC,QAAMnB,CAAK,EAAE,OAASF,EAAM,OAASikB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC1E,IAAK,EACL,MAAOF,EAAAA,eAAe,CAAC,wBAAyB,CAAC/iB,EAAAA,MAAMnB,CAAK,EAAE,QAAU,gBAAkB,iBAAkBmB,EAAAA,MAAMnB,CAAK,EAAE,UAAU,CAAC,CAAC,CAC3J,EAAuB,CACDqkB,aAAWR,EAAK,OAAQ,QAASyP,EAAAA,eAAeC,EAAAA,mBAAmBN,EAAY,KAAK,CAAC,EAAG,IAAM,CAC5F3O,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,KAAK,EAAG,CAAC,CAC9E,CAAuB,CACvB,EAAuB,CAAC,GAAKwkB,qBAAmB,GAAI,EAAI,EACpCrjB,EAAAA,MAAMnB,CAAK,EAAE,SAAW,CAACF,EAAM,OAAS,CAACqB,EAAAA,MAAMnB,CAAK,EAAE,OAAS,CAACmB,EAAAA,MAAMnB,CAAK,EAAE,SAAW+jB,YAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC7H,IAAK,EACL,MAAOF,EAAAA,eAAe,CAAC/iB,EAAAA,MAAMnB,CAAK,EAAE,QAAU,gBAAkB,eAAgBmB,EAAAA,MAAMnB,CAAK,EAAE,SAAS,CAAC,CAC7H,EAAuB,CACDqkB,aAAWR,EAAK,OAAQ,UAAWyP,EAAAA,eAAeC,EAAAA,mBAAmBN,EAAY,KAAK,CAAC,EAAG,IAAM,CAC9F3O,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,QAAMnB,CAAK,EAAE,IAAI,EAAIukB,EAAAA,gBAAgBpjB,QAAMlB,CAAK,EAAE,OAAO,EAAG,CAAC,CACrH,CAAuB,CACvB,EAAuB,CAAC,GAAKukB,qBAAmB,GAAI,EAAI,CACxD,EAAqB,CAAC,CACtB,EAAmB,GAAI2M,EAAU,EAAG,CAClB,CAACsC,EAAAA,MAAOtyB,EAAAA,MAAM0rB,CAAO,GAAK,CAAC8kB,EAAO,KAAK,CACzD,CAAiB,CACjB,CAAe,EACD,EAAG,CACjB,EAAe,GAAI,CAAC,QAAQ,CAAC,GAAKntB,EAAAA,mBAAmB,GAAI,EAAI,CAC7D,CAAW,EACD,EAAG,CACb,EAAW,EAAG,CAAC,KAAM,UAAU,CAAC,CAChC,EAAS,EAAE,EAET,CACF,CAAC,EACKiuB,GAA6B7Y,GAAc,CAC/C,KAAM,CAACga,CAAU,EAAIha,EAAU,MAAM,GAAG,EACxC,OAAQga,EAAU,CAChB,IAAK,OACH,MAAO,QACT,IAAK,QACH,MAAO,MACT,QACE,OAAOA,CACb,CACA,EACMC,GAAyBja,GAAc,CAC3C,KAAM,CAACga,CAAU,EAAIha,EAAU,MAAM,GAAG,EACxC,OAAQga,EAAU,CAChB,IAAK,OACH,MAAO,QACT,IAAK,QACH,MAAO,MACT,IAAK,MACH,MAAO,KACT,IAAK,SACH,MAAO,OACT,QACE,OAAOA,CACb,CACA,EACME,GAAuBC,GAAW,OAAOA,GAAW,UAAYA,EAAO,SAAW,GAClFC,GAAiB,CAACD,EAAQlzC,IAAO,CAErC,GAAI,CADaizC,GAAoBC,CAAM,EAC5B,MAAO,CAAA,EACtB,MAAME,EAAsB,OAAOF,EAAW,KAAe,OAAOA,GAAW,UAAY,CAACA,EAAO,OAAS,CAACA,EAAO,SAAW,CAACA,EAAO,KACvI,GAAI,OAAO,SAAa,IAAa,CACnC,MAAMG,EAAQrzC,EAAG,aAAa,OAAO,GAAKA,EAAG,aAAa,qBAAqB,EAC/E,GAAIozC,EACF,OAAIC,GACFrzC,EAAG,gBAAgB,OAAO,EAC1BA,EAAG,aAAa,sBAAuBqzC,CAAK,EACrC,CACL,KAAMA,CAChB,GAEa,CAAA,CAEX,SACMD,EAAqB,MAAO,CAAA,EAElC,OAAI,OAAOF,GAAW,SACb,CACL,KAAMA,CACZ,GAEMA,GAAA,MAAAA,EAAQ,SACV,QAAQ,KAAK,sEAAsE,EAC9E,CACL,MAAOA,GAAA,MAAAA,EAAQ,MAAQA,GAAA,YAAAA,EAAQ,MAAQ,OACvC,KAAMA,GAAA,MAAAA,EAAQ,KAAOA,GAAA,YAAAA,EAAQ,KAAOA,GAAA,MAAAA,EAAQ,QAAUA,GAAA,YAAAA,EAAQ,QAAU,MAC5E,EACA,EACMI,GAAwB,CAACC,EAASvzC,KAAQ,CAC9C,OAAQA,EACR,WAAYuzC,EAAQ,UAAU,KAC9B,OAAQA,EAAQ,UAAU,OAC1B,MAAOA,EAAQ,UAAU,MACzB,SAAUA,EAAQ,UAAU,SAC5B,KAAMA,EAAQ,UAAU,KACxB,UAAWA,EAAQ,UAAU,KAAO,OAASA,EAAQ,UAAU,MAAQ,QAAUA,EAAQ,UAAU,OAAS,SAAWA,EAAQ,UAAU,IAAM,MAAQ,OACvJ,GAAG,OAAOA,EAAQ,OAAU,SAAWA,EAAQ,MAAQ,OACvD,GAAGA,EAAQ,UAAU,YAAc,CAAE,eAAgB,EAAK,EAAK,OAC/D,MAAO,KACP,KAAM,IACR,GACMC,GAAO,CAACxzC,EAAIuzC,EAASp0C,IAAU,OACnC,GAAI,OAAO,SAAa,IAAa,OACrC,MAAMs0C,EAAM,SAAS,cAAc,MAAM,EACrCF,EAAQ,UAAU,KAAM,SAAS,KAAK,YAAYE,CAAG,EAChDF,EAAQ,UAAU,MAAOvzC,EAAG,YAAYyzC,CAAG,GAC/Ch8C,EAAAuI,EAAG,aAAH,MAAAvI,EAAe,aAAag8C,EAAKzzC,EAAG,aACzClB,EAAAA,OAAO8R,EAAAA,EAAED,GAAWxR,CAAK,EAAGs0C,CAAG,EAC/BzzC,EAAG,WAAayzC,CAClB,EACMC,GAAU1zC,GAAO,CACrB,MAAMyzC,EAAMzzC,EAAG,WACf,GAAKyzC,EAEL,IADA30C,EAAAA,OAAO,KAAM20C,CAAG,EACZ,OAAO,SAAa,IAAa,CACnC,OAAOzzC,EAAG,WACV,MACF,CACA,eAAe,IAAM,CACnByzC,EAAI,OAAM,EACNzzC,EAAG,aAAeyzC,GACpB,OAAOzzC,EAAG,UAEd,CAAC,EACH,EACMoxC,GAAcuC,GAAUA,IAAU,qBAAuBA,aAAiB,SAAW,MAAM,QAAQA,CAAK,EACxGtC,GAAkBsC,GAAU,CAACvC,GAAWuC,CAAK,EC73E7ChjC,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,WACR,MAAuB+qB,EAAAA,YAAY,CACjC,YAAa,CAAE,KAAM,QAAS,QAAS,MAAM,EAC7C,KAAM,CAAA,EACN,UAAW,CAAE,QAAS,MAAM,EAC5B,SAAU,CAAA,EACV,gBAAiB,CAAA,EACjB,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,YAAa,CAAE,KAAM,OAAO,EAC5B,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,MAAO,CAAE,QAAS,CAAC,EACnB,mBAAoB,CAAE,QAAS,MAAM,EACrC,WAAY,CAAE,QAAS,CAAC,EACxB,GAAI,CAAE,QAAS,MAAM,EACrB,OAAQ,CAAE,KAAM,QAAS,QAAS,MAAM,EACxC,OAAQ,CAAE,KAAM,QAAS,QAAS,MAAM,EACxC,YAAa,CAAE,KAAM,QAAS,QAAS,MAAM,EAC7C,OAAQ,CAAE,KAAM,QAAS,QAAS,MAAM,EACxC,OAAQ,CAAE,KAAM,QAAS,QAAS,MAAM,EACxC,QAAS,CAAE,KAAM,QAAS,QAAS,MAAM,EACzC,OAAQ,CAAE,KAAM,OAAO,EACvB,eAAgB,CAAE,KAAM,QAAS,QAAS,MAAM,EAChD,OAAQ,CAAE,QAAS,MAAM,EACzB,UAAW,CAAE,QAAS,MAAM,EAC5B,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,UAAW,CAAE,QAAS,MAAM,EAC5B,SAAU,CAAE,QAAS,MAAM,EAC3B,OAAQ,CAAE,QAAS,MAAM,EACzB,MAAO,CAAE,QAAS,MAAM,EACxB,WAAY,CAAE,QAAS,MAAM,EAC7B,iBAAkB,CAAE,KAAM,QAAS,QAAS,MAAM,EAClD,WAAY,CAAE,QAAS,MAAM,EAC7B,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,YAAa,CAAE,KAAM,OAAO,EAC5B,OAAQ,CAAE,KAAM,QAAS,QAAS,MAAM,EACxC,KAAM,CAAE,KAAM,QAAS,QAAS,MAAM,EACtC,YAAa,CAAE,KAAM,QAAS,QAAS,MAAM,EAC7C,KAAM,CAAE,KAAM,QAAS,QAAS,MAAM,EACtC,WAAY,CAAA,EACZ,QAAS,CAAE,KAAM,QAAS,QAAS,MAAM,CAC7C,EAAK,CACD,WAAc,CAAE,KAAM,QACpB,QAAS,EACV,EACD,eAAkB,CAAA,CACtB,CAAG,EACD,MAAuBA,EAAAA,YAAY,CAAC,eAAgB,OAAQ,gBAAiB,gBAAiB,OAAQ,iBAAkB,SAAU,OAAQ,iBAAkB,QAAS,SAAU,mBAAoB,SAAU,IAAI,EAAG,CAAC,mBAAmB,CAAC,EACzO,MAAMpH,EAAS,CAAE,OAAQ6N,EAAU,KAAMtH,GAAU,CAEjD,MAAM/pB,EAAQqjB,EADCG,EACmB,UAAU,EACtCwG,EAAOD,EACPjqB,EAAQ2jB,EAAAA,SAAQ,EAChBgJ,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3CixB,EAAgB/8C,EAAAA,SAAS,IAAM,CACnC,KAAM,CAAE,YAAAg9C,EAAa,eAAAC,EAAgB,GAAGC,CAAI,EAAK50C,EACjD,MAAO,CAAE,eAAgB20C,IAAmB,OAASA,EAAiB,CAACD,EAAa,GAAGE,CAAI,CAC7F,CAAC,EACKC,EAAUhqB,EAAAA,eAAe,UAAU,EACzC,OAAAwG,EAAS,CACP,KAAM,IAAM,QACV/4B,EAAAu8C,EAAQ,QAAR,MAAAv8C,EAAe,MACjB,EACA,KAAM,IAAM,QACVA,EAAAu8C,EAAQ,QAAR,MAAAv8C,EAAe,MACjB,EACA,OAAQ,IAAM,QACZA,EAAAu8C,EAAQ,QAAR,MAAAv8C,EAAe,QACjB,CACN,CAAK,EACM,CAACurB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAYwH,GAAab,EAAAA,WAAW,CAAE,IAAK,UAAU,EAAI8pB,EAAc,MAAO,CAChG,WAAYhoB,EAAW,MACvB,sBAAuB3I,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAWa,EAAW,MAAQb,GAChF,QAAS,GACT,OAAQ9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,OAAQ4B,CAAM,GACjE,QAAS9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,QAAS4B,CAAM,GACnE,OAAQ9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,OAAQ4B,CAAM,GACjE,SAAU9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,SAAU4B,CAAM,GACrE,gBAAiB9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,iBAAkB4B,CAAM,GACpF,gBAAiB9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,iBAAkB4B,CAAM,GACpF,kBAAmB9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,mBAAoB4B,CAAM,GACxF,SAAU9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,SAAU4B,CAAM,GACrE,eAAgB9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,eAAgB4B,CAAM,GACjF,OAAQ9H,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAK8H,GAAW5B,EAAK,OAAQ4B,CAAM,GACnE,eAAgB9H,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAK8H,GAAW5B,EAAK,gBAAiB4B,CAAM,GACpF,cAAe9H,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAK8H,GAAW5B,EAAK,gBAAiB4B,CAAM,EAC3F,CAAO,EAAGkpB,EAAAA,YAAY,CAAE,EAAG,CAAC,EAAI,CACxBh1C,EAAM,QAAU,CACd,KAAM,UACN,GAAIqkB,EAAAA,QAASprB,GAAU,CACrBsrB,EAAAA,WAAWR,EAAK,OAAQ,UAAWyP,EAAAA,eAAeC,EAAAA,mBAAmBx6B,CAAK,CAAC,CAAC,CACxF,CAAW,EACD,IAAK,GACf,EAAY,OACJ+G,EAAM,OAAS,CACb,KAAM,SACN,GAAIqkB,EAAAA,QAASprB,GAAU,CACrBsrB,EAAAA,WAAWR,EAAK,OAAQ,SAAUyP,EAAAA,eAAeC,EAAAA,mBAAmBx6B,CAAK,CAAC,CAAC,CACvF,CAAW,EACD,IAAK,GACf,EAAY,OACJ+G,EAAM,MAAQ,CACZ,KAAM,QACN,GAAIqkB,EAAAA,QAASprB,GAAU,CACrBsrB,EAAAA,WAAWR,EAAK,OAAQ,QAASyP,EAAAA,eAAeC,EAAAA,mBAAmBx6B,CAAK,CAAC,CAAC,CACtF,CAAW,EACD,IAAK,GACf,EAAY,MACZ,CAAO,EAAG,KAAM,CAAC,YAAY,CAAC,EAE5B,CACF,CAAC,EC1GKg8C,GAAa,IAAM,CACvB,MAAMhkC,EAAuBvZ,EAAAA,OAAOP,EAAuB,EAC3D,GAAI,CAAC8Z,EACH,MAAM,IAAI,MACR,yGACN,EAEE,KAAM,CAAE,MAAA3G,EAAO,yBAAAwpB,CAAwB,EAAK7iB,EACtC8iB,EAAS,CAAC16B,EAAK67C,EAAUj5C,EAAU,CAAE,KAAM,MAAW,OAC1D,GAAI,CAAC63B,EAAyB,MAC5B,MAAM,IAAI,MACR,kFACR,EAEI,MAAMhM,EAAgB3tB,EAAAA,MAAMd,CAAG,EACzB26B,IAAQx7B,EAAAsvB,EAAc,QAAd,YAAAtvB,EAAqB,KAAM,OAAO,oBAAoB,EAC9D8X,EAAUH,GAAa6jB,EAAO1pB,CAAK,EACzC,OAAAgG,EAAQ,KAAOvY,EAAAA,MACb+vB,EACCmM,GAAc,CACb,MAAMj8B,EAAW,CAAE,GAAGF,EAAAA,QAAQm8B,CAAS,CAAC,EAClCC,EAAgB5pB,EAAM,MAAM,UAAWvJ,GAAOA,EAAG,QAAUizB,CAAK,EAChEG,EAAWD,IAAkB,GAAK,CAAE,WAAYghB,EAAW9gB,EAAAA,QAAQ1iB,EAAS,EAAI0iB,EAAAA,QAAQ1I,EAAW,CAAC,EAAKphB,EAAM,MAAM4pB,CAAa,EAClIr8B,EAAIq9C,EAAW,CACnB,GAAG/gB,EACH,KAAM,UACN,MAAAH,EACA,SAAU,UACV,QAAA1jB,EACA,QAAArU,CACV,EAAY,CACF,GAAGk4B,EACH,KAAM,UACN,MAAAH,EACA,SAAU,UACV,QAAA1jB,EACA,QAAArU,CACV,EACQ,UAAWxD,KAAOT,EACZS,EAAI,WAAW,IAAI,EACrBZ,EAAEY,CAAG,EAAIT,EAASS,CAAG,EACZA,IAAQ,aAAeT,EAAS,UACzCH,EAAE,WAAau8B,UAAQp8B,EAAS,SAAS,EAChCS,IAAQ,SAAWT,EAAS,MACrCH,EAAE,MAAQu8B,UAAQp8B,EAAS,KAAK,EAEhCH,EAAEY,CAAG,EAAIX,EAAAA,QACPE,EAASS,CAAG,CAC1B,EAGQZ,EAAE,WAAaA,EAAE,YAAc,GAC/BA,EAAE,qBAAqB,EAAK8B,GAAQ,QAClCnB,EAAAR,EAAS,yBAAT,MAAAQ,EAAA,KAAAR,EAAkC2B,GAClC,KAAM,CAAE,WAAAgzB,CAAU,EAAK70B,EAAAA,QAAQuB,CAAG,EAKlC,GAJIqC,EAAAA,MAAMrC,CAAG,GAAK,CAACqC,EAAAA,MAAMixB,CAAU,IAAGtzB,EAAI,MAAM,WAAaM,GACzD+B,EAAAA,MAAMixB,CAAU,GAAK,CAAC0H,EAAAA,WAAW1H,CAAU,IAC7CA,EAAW,MAAQhzB,GAEjB9B,EAAE,aAAe8B,EAAK,CACxB,MAAMw7C,EAAW7qC,EAAM,MAAM,KAAMvJ,GAAOA,EAAG,QAAUizB,CAAK,EACxDmhB,IACFA,EAAS,WAAax7C,EAE1B,CACF,EACIu6B,IAAkB,GACpB5pB,EAAM,MAAM,KAAKzS,CAAC,EAElByS,EAAM,MAAM,OAAO4pB,EAAe,EAAGr8B,CAAC,CAE1C,EACA,CACE,UAAW,GACX,KAAM,EACd,CACA,EACIO,EAAAA,eAAe,IAAM,SACnB,MAAM+8C,EAAW7qC,EAAM,MAAM,KAAMvJ,GAAOA,EAAG,QAAUizB,CAAK,EACxDmhB,KACFj7C,GAAA1B,EAAA28C,EAAS,QAAQ,OAAM,UAAvB,MAAAj7C,EAAA,KAAA1B,GAEJ,EAAG,EAAI,EACA8X,EAAQ,KACjB,EAGA,MAAO,CACL,yBAAAwjB,EACA,OAAAC,EACA,QAJc,CAAC16B,EAAK4C,EAAU,CAAE,KAAM,EAAI,IAAO83B,EAAO16B,EAAK,GAAO4C,CAAO,EAK3E,QANc,CAAC5C,EAAK4C,EAAU,CAAE,KAAM,EAAI,IAAO83B,EAAO16B,EAAK,GAAM4C,CAAO,EAO1E,MAAAqO,CACJ,CACA,EACM8qC,GAAuBH,GCvGvBI,GAAc,CAAC7a,EAAM,KAAU,CAEnC,GAAI,CADoB9iC,EAAAA,OAAOjB,GAAqB,MAAM,EACpC,CACpB,KAAM,CAAE,SAAAqK,EAAU,OAAAmzC,CAAM,EAAKqB,GAAoB,EACjDnkC,EAAAA,QAAQ1a,GAAqB,CAAE,SAAAqK,EAAU,OAAAmzC,CAAM,CAAE,CACnD,CAEA,GAAI,CADiBv8C,EAAAA,OAAOX,GAAiB,MAAM,EAChC,CACjB,MAAMk6B,EAAQz2B,EAAAA,IAAoB,IAAI,GAAK,EACrC02B,EAAat5B,EAAAA,SAAS,IAAMq5B,EAAM,MAAM,IAAI,EAC5CskB,EAAc39C,EAAAA,SAAS,IAAM,CAAC,GAAGq5B,EAAM,MAAM,OAAM,CAAE,CAAC,EACtDqD,EAAY18B,WAAS,IAAM29C,EAAY,MAAMA,EAAY,MAAM,OAAS,CAAC,CAAC,EAC1ExkB,EAAaJ,GAAU,CAC3BM,EAAM,MAAM,IAAIN,EAAM,IAAKA,CAAK,CAClC,EACMK,EAAeL,GAAU,CAC7BM,EAAM,MAAM,OAAON,EAAM,GAAG,CAC9B,EACM4D,EAAW/5B,EAAAA,IAAoB,IAAI,GAAK,EACxCs2B,EAAgBH,GAAU,CAC9B4D,EAAS,MAAM,IAAI5D,EAAM,IAAKA,CAAK,CACrC,EACM6kB,EAAkB7kB,GAAU,CAChC4D,EAAS,MAAM,OAAO5D,EAAM,GAAG,CACjC,EACAxf,EAAAA,QAAQpa,GAAiB,CACvB,WAAAm6B,EACA,UAAAoD,EACA,SAAU18B,EAAAA,SAAS,IAAM28B,EAAS,KAAK,EACvC,MAAOghB,EACP,UAAAxkB,EACA,YAAAC,EACA,aAAAF,EACA,eAAA0kB,CACN,CAAK,CACH,CAEA,GAAI,CADe99C,EAAAA,OAAOZ,GAAuB,MAAM,EACtC,CACf,MAAMyM,EAAQ/I,EAAAA,IAAI,CAChB,CAAC3D,EAAwB,EAAG,CAAA,CAClC,CAAK,EACK2W,EAAQ,CAAC/U,EAAM5B,KAA6B,CAChD0M,EAAM,MAAM9K,CAAG,EAAI,CAAA,CACrB,EACA0Y,EAAAA,QAAQra,GAAuB,CAAE,MAAAyM,EAAO,MAAAiK,CAAK,CAAE,CACjD,CAEA,GAAI,CADgB9V,EAAAA,OAAOd,GAAgB,MAAM,EAC/B,CAGhB,MAAM6+C,EAAa,OAAOjb,GAAQ,UAAY,IAAaA,GAAA,YAAAA,EAAK,aAAc,GACxEkb,EAAgB,OAAOlb,GAAQ,UAAY,QAAgBA,GAAA,YAAAA,EAAK,gBAAiB,OACjFmb,EAAQn7C,EAAAA,IAAIi7C,CAAU,EACtBG,EAASp7C,EAAAA,IAAIk7C,CAAa,EAChCvkC,EAAAA,QAAQva,GAAgB,CAAE,MAAA++C,EAAO,OAAAC,CAAM,CAAE,CAC3C,CACF,EACMN,GAAuB,IAAM,CACjC,MAAMrB,EAASz5C,EAAAA,IAAoB,IAAI,GAAK,EAkC5C,MAAO,CACL,SAlCe,CAAC,CAChB,GAAAhD,EACA,UAAAo9B,EACA,MAAAl/B,EACA,OAAA8V,EACA,KAAA2hB,EACA,KAAAC,EACA,gBAAAuB,EACA,kBAAAE,CACJ,KACIolB,EAAO,MAAM,IAAIz8C,EAAI,CACnB,GAAAA,EACA,UAAAo9B,EACA,MAAOt6B,EAAAA,SAAS5E,CAAK,EACrB,OAAA8V,EACA,KAAA2hB,EACA,KAAAC,EACA,gBAAAuB,EACA,kBAAAE,CACN,CAAK,EACM,CACL,YAAa,CACXolB,EAAO,MAAM,OAAOz8C,CAAE,CACxB,EACA,SAASw3B,EAAOC,EAAO,CACrB,MAAM4mB,EAAgB5B,EAAO,MAAM,IAAIhlB,CAAK,EACxC4mB,IACF5B,EAAO,MAAM,IAAIjlB,EAAO,CAAE,GAAG6mB,EAAe,GAAI7mB,EAAO,EACvDilB,EAAO,MAAM,OAAOhlB,CAAK,EAE7B,CACN,GAII,OAAAglB,CACJ,CACA,EChGM6B,GAAqB,CAAChuC,EAAUI,IAAkB,CACtD,MAAM6tC,EAAmBr+C,EAAAA,OAAOV,GAAa,MAAM,EAC7Cg/C,EAAiBp+C,EAAAA,SAAS,IAAM,CACpC,MAAMq+C,EAAY50C,EAAAA,MAAMyG,CAAQ,EAChC,GAAI,CAACiuC,EACH,OAAOE,GAAa,CAAA,EAEtB,MAAMC,EAAS,CAAE,GAAGH,EAAiB,KAAK,EAC1C,OAAIE,EACE/tC,EACE,OAAOA,GAAkB,WACpBA,EAAcguC,EAAQD,CAAS,EAC7B/tC,IAAkB,GACpBiuC,GAAUD,EAAQD,CAAS,EAE7B,OAAO,OAAOC,EAAQD,CAAS,EAEjCA,EAEFC,CACT,CAAC,EACD/kC,EAAAA,QAAQna,GAAag/C,CAAc,CACrC,EACA,SAASI,GAAc1gD,EAAO,CAC5B,OAAOA,IAAU,MAAQ,OAAOA,GAAU,UAAYA,EAAM,cAAgB,QAAU,OAAO,UAAU,SAAS,KAAKA,CAAK,IAAM,iBAClI,CACA,SAASygD,GAAU35C,EAAQiB,EAAQ44C,EAA0B,IAAI,QAAW,CAC1E,GAAIA,EAAQ,IAAI54C,CAAM,EACpB,OAAOjB,EAET65C,EAAQ,IAAI54C,CAAM,EAClB,MAAMd,EAAS,CAAE,GAAGH,CAAM,EAC1B,UAAW/D,KAAOgF,EAAQ,CACxB,MAAM64C,EAAc74C,EAAOhF,CAAG,EACxB89C,EAAc/5C,EAAO/D,CAAG,EAC1B29C,GAAcE,CAAW,GAAKF,GAAcG,CAAW,EACzD55C,EAAOlE,CAAG,EAAI09C,GACZI,EACAD,EACAD,CACR,EACe,MAAM,QAAQC,CAAW,EAClC35C,EAAOlE,CAAG,EAAI,CAAC,GAAG69C,CAAW,EAE7B35C,EAAOlE,CAAG,EAAI69C,CAElB,CACA,OAAO35C,CACT,CCvCK,MAACnD,GAAwB,OAAO,OAAuB,OAAO,eAAe,CAChF,UAAW,KACX,cAAAjC,GACA,aAAAoS,GACA,SAAAkqB,GACA,mBAAAiB,GACA,wBAAA9jB,GACA,WAAAikC,GACA,qBAAAG,GACA,mBAAAU,GACA,YAAAT,GACA,cAAAnnC,GACA,aAAA6mB,GACA,SAAAwD,GACA,mBAAAG,GACA,UAAAC,EACF,EAAG,OAAO,YAAa,CAAE,MAAO,QAAQ,CAAE,CAAC,EC3BrC6d,GAAW,CAACz1C,EAAIrL,IAAUqL,EAAG,aAAa,gBAAiBrL,CAAK,EAChE+gD,GAAc,CAClB,QAAQ11C,EAAIuzC,EAAS,CACnBkC,GAASz1C,EAAIuzC,EAAQ,KAAK,CAC5B,EACA,QAAQvzC,EAAIuzC,EAAS,CACnBkC,GAASz1C,EAAIuzC,EAAQ,KAAK,CAC5B,CACF,ECNA,SAASoC,GAAgBpC,EAAS,CAChC,GAAI,CAACA,EAAQ,SACX,MAAM,IAAI,MAAM,kEAAkE,EAEpF,OAAOA,EAAQ,SAAS,EAAE,GAC5B,CACA,SAASqC,GAAsB51C,EAAI61C,EAAcC,EAAKvC,EAAS,CAC7D,MAAMwC,EAAc/1C,EACpB+1C,EAAYF,CAAY,EAAIE,EAAYF,CAAY,GAAqB,OAAO,OAAO,IAAI,EAC3F,MAAM59C,EAAQ,CACZ,QAAS,KAAK,UAAU,CAACs7C,EAAQ,UAAWA,EAAQ,KAAK,CAAC,EAC1D,WAAY,EAChB,EACE,OAAAwC,EAAYF,CAAY,EAAEC,CAAG,EAAI79C,EAC1BA,CACT,CACA,SAAS+9C,GAAqBh2C,EAAI61C,EAAcC,EAAK,OAEnD,OAAOr+C,EADauI,EACD61C,CAAY,IAAxB,YAAAp+C,EAA4Bq+C,EACrC,CACA,SAASG,GAAkBt+C,EAAU47C,EAAS,CAC5C,MAAM2C,EAAa,KAAK,UAAU,CAAC3C,EAAQ,UAAWA,EAAQ,KAAK,CAAC,EACpE,OAAO57C,EAAS,UAAYu+C,CAC9B,CACA,SAASC,GAAmBx+C,EAAU47C,EAAS,CAC7C57C,EAAS,QAAU,KAAK,UAAU,CAAC47C,EAAQ,UAAWA,EAAQ,KAAK,CAAC,CACtE,CACA,SAAS6C,GAAyBp2C,EAAI61C,EAAcC,EAAK,OACvD,MAAMC,EAAc/1C,EACdrI,GAAWF,EAAAs+C,EAAYF,CAAY,IAAxB,YAAAp+C,EAA4Bq+C,GACzCn+C,IACFA,EAAS,WAAa,GACtB,OAAOo+C,EAAYF,CAAY,EAAEC,CAAG,EAExC,CACA,SAASO,GAAa9C,EAASl0C,EAAO,SAEpC,OADkBA,EAAM,MAAQk0C,EAAQ,SAAS,GAAI97C,EAAA6+C,GAAoBj3C,EAAOk0C,EAAQ,SAAS,CAAC,IAA7C,YAAA97C,EAAgD,UAAW0B,EAAAkG,EAAM,MAAN,YAAAlG,EAAW,WAAao6C,EAAQ,SAAS,EAAE,QAE7J,CACA,SAAS+C,GAAoBj3C,EAAOwL,EAAM,CACxC,MAAMqlB,EAAwB,IAAI,IAC5BqmB,EAAQ30C,GAAa,SACzB,UAAWC,KAASD,EAAU,CAC5B,GAAI,CAACC,EAAO,SACZ,GAAIA,IAAUxC,GAASwC,EAAM,IAAMxC,EAAM,IAAMwC,EAAM,KAAOxC,EAAM,GAChE,MAAO,GAET6wB,EAAM,IAAIruB,CAAK,EACf,IAAI20C,EAQJ,GAPI30C,EAAM,SACR20C,EAAUD,EAAK,CAAC10C,EAAM,SAAS,CAAC,EACvB,MAAM,QAAQA,EAAM,QAAQ,EACrC20C,EAAUD,EAAK10C,EAAM,QAAQ,GACpBpK,EAAAoK,EAAM,YAAN,MAAApK,EAAiB,QAC1B++C,EAAUD,EAAK,EAACp9C,EAAA0I,EAAM,YAAN,YAAA1I,EAAiB,OAAO,CAAC,GAEvCq9C,EACF,OAAOA,EAETtmB,EAAM,OAAOruB,CAAK,CACpB,CACA,MAAO,EACT,EACA,GAAI,CAAC00C,EAAK,CAAC1rC,EAAK,OAAO,CAAC,EACtB,eAAQ,MAAM,2DAA2D,EAClEA,EAET,MAAMjP,EAAS,MAAM,KAAKs0B,CAAK,EAAE,QAAO,EACxC,UAAWruB,KAASjG,EAClB,GAAIiG,EAAM,UACR,OAAOA,EAAM,UAGjB,OAAOgJ,CACT,CACA,SAAS4rC,GAAwBZ,EAAca,EAAsBC,EAAY,CAC/E,MAAO,CACL,QAAQ32C,EAAIuzC,EAASl0C,EAAO,OAC1B,MAAMy2C,EAAMH,GAAgBpC,CAAO,EAC7BqD,GAAcn/C,EAAA4+C,GAAa9C,EAASl0C,CAAK,EAAEpJ,EAAW,IAAxC,YAAAwB,EAA2C,MAE/D,GAAI,CADaw7C,GAAoBM,EAAQ,KAAK,EACnC,OACf,MAAMsD,EAAO1D,GAAeI,EAAQ,MAAOvzC,CAAE,EAC7C,GAAI,CAAC62C,EAAK,MAAQ,CAACA,EAAK,MAAO,OAC/BjB,GAAsB51C,EAAI61C,EAAcC,EAAKvC,CAAO,EACpD,MAAMp0C,EAAQw3C,EAAaA,EAAWE,EAAMD,GAAA,YAAAA,EAAcF,GAAuBnD,EAASvzC,CAAE,EAAI,CAC9F,IAAG42C,GAAA,YAAAA,EAAcF,KAAyB,OAC1C,GAAGpD,GAAsBC,EAASvzC,CAAE,EACpC,GAAG62C,CACX,EACMrD,GAAKxzC,EAAIuzC,EAASp0C,CAAK,CACzB,EACA,QAAQa,EAAIuzC,EAASl0C,EAAO,OAC1B,MAAMy2C,EAAMH,GAAgBpC,CAAO,EACnC,IAAI57C,EAAWq+C,GAAqBh2C,EAAI61C,EAAcC,CAAG,EACzD,MAAMc,GAAcn/C,EAAA4+C,GAAa9C,EAASl0C,CAAK,EAAEpJ,EAAW,IAAxC,YAAAwB,EAA2C,MAE/D,GAAI,CADaw7C,GAAoBM,EAAQ,KAAK,EACnC,CACT57C,GAAYqI,EAAG,aACjB0zC,GAAO1zC,CAAE,EACTo2C,GAAyBp2C,EAAI61C,EAAcC,CAAG,GAEhD,MACF,CACA,MAAMe,EAAO1D,GAAeI,EAAQ,MAAOvzC,CAAE,EAC7C,GAAI,CAAC62C,EAAK,MAAQ,CAACA,EAAK,MAAO,CACzBl/C,GAAYqI,EAAG,aACjB0zC,GAAO1zC,CAAE,EACTo2C,GAAyBp2C,EAAI61C,EAAcC,CAAG,GAEhD,MACF,CACA,GAAI,CAACn+C,EAAU,CACbA,EAAWi+C,GAAsB51C,EAAI61C,EAAcC,EAAKvC,CAAO,EAC/D,MAAMuD,EAASH,EAAaA,EAAWE,EAAMD,GAAA,YAAAA,EAAcF,GAAuBnD,EAASvzC,CAAE,EAAI,CAC/F,IAAG42C,GAAA,YAAAA,EAAcF,KAAyB,OAC1C,GAAGpD,GAAsBC,EAASvzC,CAAE,EACpC,GAAG62C,CACb,EACQrD,GAAKxzC,EAAIuzC,EAASuD,CAAM,EACxB,MACF,CAEA,GADI,CAACb,GAAkBt+C,EAAU47C,CAAO,GACpC57C,EAAS,WAAY,OACzB+7C,GAAO1zC,CAAE,EACT,MAAMb,EAAQw3C,EAAaA,EAAWE,EAAMD,GAAA,YAAAA,EAAcF,GAAuBnD,EAASvzC,CAAE,EAAI,CAC9F,IAAG42C,GAAA,YAAAA,EAAcF,KAAyB,OAC1C,GAAGpD,GAAsBC,EAASvzC,CAAE,EACpC,GAAG62C,CACX,EACMrD,GAAKxzC,EAAIuzC,EAASp0C,CAAK,EACvBg3C,GAAmBx+C,EAAU47C,CAAO,CACtC,EACA,cAAcvzC,EAAIuzC,EAAS,CACzB,MAAMuC,EAAMH,GAAgBpC,CAAO,EAClByC,GAAqBh2C,EAAI61C,EAAcC,CAAG,IAE3DpC,GAAO1zC,CAAE,EACTo2C,GAAyBp2C,EAAI61C,EAAcC,CAAG,EAChD,CACJ,CACA,CC3IA,MAAMiB,GAAa,CAACxD,EAASvzC,IAAO,CAClC,KAAM,CAAE,UAAAg3C,EAAW,IAAAC,EAAK,MAAAtiD,CAAK,EAAK4+C,EAC5BhxC,EAAU,OAAO,KAAKy0C,GAAa,CAAA,CAAE,EACrCE,EAAa,OAAOviD,GAAU,SAAWA,EAAM,MAAMkxB,EAAc,EAAIlxB,EAC7E,GAAIqL,EAAG,QAAQ,YAAW,IAAO,IAAK,CACpC,MAAMqnB,EAAOrnB,EAAG,aAAa,MAAM,GAAK,GACpC+lB,GAAW,KAAKsB,CAAI,GACtB9kB,EAAQ,KAAK8kB,EAAK,QAAQvB,GAAS,EAAE,CAAC,CAE1C,CACA,aAAM,UAAU,OAAO,MAAM,CAAA,EAAI,CAACmxB,EAAKC,CAAU,CAAC,EAAE,QAASrgC,GAAM,OAAOA,GAAM,UAAYtU,EAAQ,KAAKsU,CAAC,CAAC,EACpGtU,EAAQ,OAAO,CAACsU,EAAGpe,EAAOF,IAAQse,GAAKte,EAAI,QAAQse,CAAC,IAAMpe,CAAK,CACxE,EACM0+C,GAAe,CAACn3C,EAAIuzC,EAASl0C,IAAU,OAC3C,MAAMkD,EAAUw0C,GAAWxD,EAASvzC,CAAE,EACtC,GAAIuC,EAAQ,SAAW,EAAG,OAE1B,MAAM60C,GAAc3/C,EADH4+C,GAAa9C,EAASl0C,CAAK,EACf3J,EAAmB,IAA5B,YAAA+B,EAA+B,OACnD,GAAIuI,EAAG,QAAQ,SAAU,CACvB,MAAMq3C,GAAcr3C,EAAG,QAAQ,UAAY,IAAI,MAAM,GAAG,EACxD,GAAIq3C,EAAW,SAAW,EAAG,OAC7B,UAAWC,KAAYD,EAAY,CACjC,MAAME,EAAWH,GAAA,YAAAA,EAAa,MAAM,IAAIE,GACnCC,IAGAh1C,EAAQ,SAAS+0C,CAAQ,GAC5BvgD,EAAAA,QAAQwgD,CAAQ,EAAE,kBAAkB,QAASv3C,EAAI,EAAK,EAE1D,CACF,CACAA,EAAG,QAAQ,SAAWuC,EAAQ,KAAK,GAAG,EACtCA,EAAQ,QAAQ,MAAO+0C,GAAa,CAClC,IAAIE,EAAQ,EACZ,MAAMC,EAAc,EACdC,EAAU,IAChB,KAAOF,EAAQC,GAAa,CAC1B,GAAI,CAACz3C,EAAG,QAAQ,SACd,OAEF,MAAMu3C,EAAWH,GAAA,YAAAA,EAAa,MAAM,IAAIE,GACxC,GAAI,CAACC,EAAU,CAEb,GADAC,IACIA,EAAQC,EAAa,CACvB,MAAM,IAAI,QAAS59C,GAAY,WAAWA,EAAS69C,CAAO,CAAC,EAC3D,QACF,CACI13C,EAAG,QAAQ,UACb,QAAQ,KACN,+BAA+Bs3C,CAAQ,oBAAoBG,EAAcC,CAAO,IAC5F,EAEQ,KACF,CACA,GAAI,CAAC13C,EAAG,QAAQ,SAAU,OAC1BjJ,EAAAA,QAAQwgD,CAAQ,EAAE,kBAAkB,QAASv3C,EAAI,EAAK,EACtDjJ,EAAAA,QAAQwgD,CAAQ,EAAE,gBAAgB,QAASv3C,CAAE,EAC7C,KACF,CACF,CAAC,EACDA,EAAG,aAAa,gBAAiBuC,EAAQ,KAAK,GAAG,CAAC,CACpD,EAmBMo1C,GAAW,CACf,QAASR,GACT,QAASA,GACT,UArBoB,CAACn3C,EAAIuzC,EAASl0C,IAAU,OAC5C,MAAMkD,EAAUw0C,GAAWxD,EAASvzC,CAAE,EACtC,GAAIuC,EAAQ,SAAW,EAAG,OAE1B,MAAM60C,GAAc3/C,EADH4+C,GAAa9C,EAASl0C,CAAK,EACf3J,EAAmB,IAA5B,YAAA+B,EAA+B,OACnD8K,EAAQ,QAAS+0C,GAAa,CAC5B,MAAMC,EAAWH,GAAA,YAAAA,EAAa,MAAM,IAAIE,GACnCC,GAGLxgD,EAAAA,QAAQwgD,CAAQ,EAAE,kBAAkB,QAASv3C,EAAI,EAAK,CACxD,CAAC,EACDA,EAAG,gBAAgB,eAAe,EAClCA,EAAG,gBAAgB,eAAe,EAClCA,EAAG,UAAU,OAAO,WAAW,EAC/BA,EAAG,UAAU,OAAO,eAAe,EACnC,OAAOA,EAAG,QAAQ,QACpB,CAKA,ECrFM43C,GAAYnB,GAChB,aACA,WACA,CAACI,EAAM9vC,EAAUwsC,EAASvzC,KAAQ,CAChC,GAAG+G,GAAY,OACf,GAAGusC,GAAsBC,EAASvzC,CAAE,EACpC,GAAG62C,CACP,EACA,ECPMrD,GAAO,CAACxzC,EAAIuzC,IAAY,CAC5B,GAAI,OAAO,SAAa,IAAa,OACrC,MAAMuC,EAAMH,GAAgBpC,CAAO,EAC7BsE,EAAkB73C,EACxB63C,EAAgB,aAAeA,EAAgB,cAAgC,OAAO,OAAO,IAAI,EACjG,MAAMC,EAAmBD,EAAgB,aAAa/B,CAAG,EACrDgC,GACFA,EAAiB,QAAO,EAE1B,KAAM,CAAE,IAAAb,EAAK,MAAAtiD,CAAK,EAAK4+C,EACjBz6C,EAAW,OAAOnE,GAAU,UAAYA,IAAU,KAClDyd,EAAU6kC,IAAY,OAAOtiD,GAAU,SAAWA,EAAQmE,EAAWnE,EAAM,SAAWA,EAAM,QAAU,MAC5GkjD,EAAgB,aAAa/B,CAAG,EAAI9hB,GAClC5hB,EACApS,EACAlH,EAAW8qB,GAAKjvB,EAAO,CAAC,UAAW,SAAS,CAAC,EAAI,CAAA,CACrD,CACA,EACMojD,GAAc,CAClB,QAASvE,GACT,QAASA,GACT,cAAcxzC,EAAIuzC,EAAS,OACzB,MAAMuC,EAAMH,GAAgBpC,CAAO,EAC7BsE,EAAkB73C,EAClBrI,GAAWF,EAAAogD,EAAgB,eAAhB,YAAApgD,EAA+Bq+C,GAC3Cn+C,IACLA,EAAS,QAAO,EAChB,OAAOkgD,EAAgB,aAAa/B,CAAG,EACzC,CACF,EC9BMkC,GAAYvB,GAChB,aACA,WACA,CAACI,EAAM9vC,EAAUwsC,EAASvzC,KAAQ,CAChC,eAAgB,GAChB,GAAG+G,GAAY,OACf,GAAGusC,GAAsBC,EAASvzC,CAAE,EACpC,MAAO62C,EAAK,OAASA,EAAK,MAAQ,GAClC,QAAS,EACb,EACA,ECRMp+C,GAAwB,OAAO,OAAuB,OAAO,eAAe,CAChF,UAAW,KACX,YAAAi9C,GACA,QAASiC,GACT,UAAAC,GACA,YAAAG,GACA,SAAAJ,GACA,UAAAK,EACF,EAAG,OAAO,YAAa,CAAE,MAAO,QAAQ,CAAE,CAAC,ECZrCv/C,GAAwB,OAAO,OAAuB,OAAO,eAAe,CAChF,UAAW,KACX,gBAAA+yB,GACA,QAAAN,GACA,mBAAAK,EACF,EAAG,OAAO,YAAa,CAAE,MAAO,QAAQ,CAAE,CAAC,ECL3C,SAAS0sB,GAAiB7kC,EAAO,CAC/B,OAAOA,EAAM,IAAKlQ,GACZA,EAAK,OAAS0nB,WACTqtB,GAAiB/0C,EAAK,QAAQ,EAEhCA,CACR,EAAE,KAAI,CACT,CCHK,MAACyN,GAA4B3R,EAAAA,gBAAgB,CAE9C,aAAc,GAEhB,OAAQ,YACR,MAAuB+qB,EAAAA,YAAY,CACjC,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,GAAI,CAAE,QAAS,MAAM,EACrB,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,IAAK,CAAE,QAAS,KAAK,EACrB,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,OAAQ,CAAE,KAAM,OAAO,EACvB,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,WAAY,CAAA,EACZ,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAC5C,EAAK,CACD,WAAc,CAAE,KAAM,QACpB,QAAS,EACV,EACD,eAAkB,CAAA,CACtB,CAAG,EACD,MAAuBA,EAAAA,YAAY,CAAC,OAAQ,iBAAkB,SAAU,OAAQ,iBAAkB,QAAS,SAAU,mBAAoB,SAAU,IAAI,EAAG,CAAC,mBAAmB,CAAC,EAC/K,MAAMpH,EAAS,CAAE,OAAQ6N,EAAU,KAAMtH,GAAU,CAEjD,MAAM/pB,EAAQqjB,EADCG,EACmB,WAAW,EACvCwG,EAAOD,EACP0C,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3CkJ,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,UAAU,EAC7CiO,EAAU4c,EAAAA,eAAe,UAAU,EACzC,IAAIkuB,EAAa,GACjB,MAAM3pB,EAAWvuB,GAAO,CACtBk4C,EAAa,GACb,sBAAsB,IAAM,CACtB/4C,EAAM,WACRa,EAAG,MAAM,MAAQ,GAAGA,EAAG,WAAW,KAElCA,EAAG,MAAM,OAAS,GAAGA,EAAG,YAAY,IAExC,CAAC,CACH,EACMyuB,EAAiBzuB,GAAO,CACxBk4C,IAGA/4C,EAAM,WACRa,EAAG,MAAM,MAAQ,GAAGA,EAAG,WAAW,KAElCA,EAAG,MAAM,OAAS,GAAGA,EAAG,YAAY,KAEtCA,EAAG,aACL,EACM0uB,EAAW1uB,GAAO,CACtB,sBAAsB,IAAM,CACtBb,EAAM,WACRa,EAAG,MAAM,MAAQ,GAEjBA,EAAG,MAAM,OAAS,EAEtB,CAAC,CACH,EACMwuB,EAAgBxuB,GAAO,CAC3BA,EAAG,MAAM,OAAS,GAClBA,EAAG,MAAM,MAAQ,GACjBk4C,EAAa,EACf,EACMvpB,EAAgB3uB,GAAO,CAC3BA,EAAG,MAAM,OAAS,GAClBA,EAAG,MAAM,MAAQ,GACjBk4C,EAAa,EACf,EACM,CACJ,QAAAlsB,EACA,UAAAC,EACA,KAAAI,EACA,KAAAD,EACA,OAAA3hB,EACA,SAAArP,EACA,oBAAAoxB,EACA,eAAAoC,EACA,gBAAAkC,CACN,EAAQnF,GAAYC,EAAYzsB,EAAOgqB,EAAM/b,EAASye,EAAY,CAE5D,gBAAiB,CACf,cAAA4C,EACA,QAAAF,EACA,QAAAG,EACA,aAAAF,EACA,aAAAG,EACA,aAAc,GACd,aAAc,GACd,eAAgB,GAChB,eAAgB,GAChB,iBAAkB,GAClB,iBAAkB,EAC1B,CACA,CAAK,EACK7L,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,KAAQuE,EAAS,MACjB,kBAAmB+D,EAAM,MACzB,sBAAuBA,EAAM,UACnC,EAAM,EACIizB,EAAcv7B,EAAAA,SAAS,KAAO,CAClC,OAAA4T,EACA,KAAA2hB,EACA,KAAAC,EACA,GAAIR,EAAW,MACf,QAASG,EAAQ,MACjB,OAAQ5wB,EAAS,KACvB,EAAM,EACF,OAAAo1B,EAAS,CACP,KAAAnE,EACA,MAAOltB,EAAM,MACb,KAAAitB,EACA,OAAA3hB,EACA,QAASlR,EAAAA,SAASyyB,CAAO,CAC/B,CAAK,EACD5b,EAAAA,QAAQ3a,GAAsB,CAC5B,GAAIo2B,EACJ,KAAAQ,EACA,KAAAD,EACA,OAAA3hB,EACA,QAASlR,EAAAA,SAASyyB,CAAO,EACzB,MAAO5yB,EAAAA,MAAM,IAAM+F,EAAM,KAAK,CACpC,CAAK,EACM,CAAC6jB,EAAMC,KACLC,YAAS,EAAIK,qBAAmBqH,EAAAA,SAAU,KAAM,CACrDpH,aAAWR,EAAK,OAAQ,SAAUyP,EAAAA,eAAeC,qBAAmBN,EAAY,KAAK,CAAC,CAAC,EACvF9xB,EAAAA,MAAM2rB,CAAS,GAAK3rB,EAAAA,MAAMsuB,CAAc,GAAK1L,EAAAA,UAAS,EAAIC,EAAAA,YAAYkP,EAAAA,WAAYvI,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAIxpB,EAAAA,MAAMwwB,CAAe,EAAG,CAC/H,qBAAsBxwB,EAAAA,MAAMksB,CAAmB,EAAI,GAAK,aACxD,qBAAsBlsB,EAAAA,MAAMksB,CAAmB,EAAI,GAAK,aACxD,OAAQZ,EAAW,OAAStrB,EAAAA,MAAMnB,CAAK,EAAE,OACnD,CAAS,EAAG,CACF,QAASmkB,EAAAA,QAAQ,IAAM,CACrBgP,kBAAgBpP,EAAAA,YAAaC,EAAAA,YAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG2qB,aAAW,CAC7F,GAAIxpB,EAAAA,MAAMurB,CAAU,EACpB,IAAK,WACL,MAAO,CAAC,WAAY/I,EAAgB,KAAK,EACzC,SAAUxiB,EAAAA,MAAMnB,CAAK,EAAE,KACrC,EAAe6jB,EAAK,MAAM,EAAG,CACf,QAASM,EAAAA,QAAQ,IAAM,CACrBhjB,EAAAA,MAAMsuB,CAAc,EAAIpL,EAAAA,WAAWR,EAAK,OAAQ,UAAWyP,EAAAA,eAAe3I,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAIsI,EAAY,KAAK,CAAC,CAAC,EAAIzO,EAAAA,mBAAmB,GAAI,EAAI,CACnK,CAAe,EACD,EAAG,CACjB,EAAe,GAAI,CAAC,KAAM,QAAS,QAAQ,CAAC,GAAI,CAClC,CAACiP,EAAAA,MAAOtyB,EAAAA,MAAM0rB,CAAO,CAAC,CACpC,CAAa,CACb,CAAW,EACD,EAAG,CACb,EAAW,GAAI,CAAC,qBAAsB,qBAAsB,QAAQ,CAAC,GAAKrI,EAAAA,mBAAmB,GAAI,EAAI,EAC7FH,aAAWR,EAAK,OAAQ,SAAUyP,EAAAA,eAAeC,qBAAmBN,EAAY,KAAK,CAAC,CAAC,CAC/F,EAAS,EAAE,EAET,CACF,CAAC,EC1JK+lB,GAAe,CAAC,gBAAiB,gBAAiB,SAAS,EAC3DxtB,GAA8B3rB,EAAAA,gBAAgB,CAEhD,aAAc,GAEhB,OAAQ,iBACR,MAAuB+qB,EAAAA,YAAY,CACjC,UAAW,CAAE,QAAS,MAAM,EAC5B,UAAW,CAAE,QAAS,MAAM,EAC5B,YAAa,CAAE,QAAS,MAAM,EAC9B,YAAa,CAAE,QAAS,MAAM,EAC9B,cAAe,CAAE,QAAS,MAAM,EAChC,YAAa,CAAE,QAAS,MAAM,EAC9B,YAAa,CAAE,QAAS,MAAM,EAC9B,UAAW,CAAE,QAAS,IAAI,EAC1B,WAAY,CAAE,KAAM,QAAS,QAAS,MAAM,EAC5C,GAAI,CAAE,QAAS,MAAM,EACrB,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,IAAK,CAAE,QAAS,MAAM,EACtB,MAAO,CAAE,QAAS,MAAM,EACxB,KAAM,CAAE,KAAM,QAAS,QAAS,MAAM,EACtC,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,aAAc,CAAE,QAAS,MAAM,CACnC,EAAK,CACD,WAAc,CAAE,KAAM,QACpB,QAAS,EACV,EACD,eAAkB,CAAA,CACtB,CAAG,EACD,MAAuBA,EAAAA,YAAY,CAAC,OAAQ,iBAAkB,SAAU,OAAQ,iBAAkB,QAAS,SAAU,mBAAoB,SAAU,IAAI,EAAG,CAAC,mBAAmB,CAAC,EAC/K,MAAMpH,EAAS,CAAE,KAAMuG,CAAM,EAAI,CAE/B,MAAM/pB,EAAQqjB,EADCG,EACmB,gBAAgB,EAC5CwG,EAAOD,EACP9pB,EAAQgqB,EAAAA,SAAQ,EAChBgvB,EAAiBvhD,EAAAA,SAAS,IAAM,CACpC,KAAM,CAAE,MAAOwhD,EAAc,GAAGC,CAAa,EAAKl5C,EAClD,MAAO,CAAE,aAAAi5C,EAAc,cAAAC,CAAa,CACtC,CAAC,EACK5hD,EAAaC,EAAAA,OAAOrB,GAAuB,IAAI,EAC/Cu2B,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,gBAAgB,EACnDysB,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC7CiJ,EAAW,MACbl1B,GAAA,MAAAA,EAAY,YAAYm1B,EAAW,OAEnCD,EAAW,OAAS,MAAM,QAAQl1B,GAAA,YAAAA,EAAY,SAAS,KAAK,EAAIA,GAAA,YAAAA,EAAY,SAAS,MAAM,SAASm1B,EAAW,QAASn1B,GAAA,YAAAA,EAAY,SAAS,SAAUm1B,EAAW,QAAU,EAACn1B,GAAA,MAAAA,EAAY,iBAAiB,OAE5M,MAAMsJ,EAAKgqB,EAAAA,eAAe,KAAK,EAC/BtzB,GAAA,MAAAA,EAAY,sBAAsBm1B,EAAW,MAAO7rB,GACpDogB,EAAAA,YAAY,IAAM,CAChB1pB,GAAA,MAAAA,EAAY,wBAAwBm1B,EAAW,MACjD,CAAC,EACDjuB,EAAAA,UAAU,IAAM,CACV,CAACguB,EAAW,QAASl1B,GAAA,YAAAA,EAAY,SAAS,SAAUm1B,EAAW,OACjEhuB,EAAAA,SAAS,IAAM,CACb+tB,EAAW,MAAQ,EACrB,CAAC,CAEL,CAAC,EACD,MAAM2sB,EAAe1hD,EAAAA,SACnB,IAAM,MAAM,QAAQH,GAAA,YAAAA,EAAY,SAAS,KAAK,EAAIA,GAAA,YAAAA,EAAY,SAAS,MAAM,SAASm1B,EAAW,QAASn1B,GAAA,YAAAA,EAAY,SAAS,SAAUm1B,EAAW,KAC1J,EACI70B,OAAAA,EAAAA,MACE,IAAMN,GAAA,YAAAA,EAAY,SAAS,MAC3B,IAAMk1B,EAAW,MAAQ2sB,EAAa,KAC5C,EACIvhD,EAAAA,MAAM40B,EAAY,IAAM,CAClBA,EAAW,OAAS,CAAC2sB,EAAa,MACpC7hD,GAAA,MAAAA,EAAY,YAAYm1B,EAAW,OAC1B,CAACD,EAAW,OAAS2sB,EAAa,QAC3C7hD,GAAA,MAAAA,EAAY,aAAam1B,EAAW,OAExC,CAAC,EACM,CAAC7I,EAAMC,IAAW,SACvB,OAAOC,YAAS,EAAIK,qBAAmB,MAAOuG,EAAAA,WAAW,CACvD,IAAK,MACL,MAAO,gBACf,EAASxpB,EAAAA,MAAMnB,CAAK,EAAE,aAAc,CAC5B,MAAOi5C,EAAe,MAAM,YACpC,CAAO,EAAG,CACFvtB,EAAAA,YAAYC,GAAahB,aAAW,CAClC,GAAIxpB,EAAAA,MAAMurB,CAAU,EACpB,WAAYD,EAAW,MACvB,sBAAuB3I,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAWa,EAAW,MAAQb,GAChF,MAAO,CAAC,qBAAsBzqB,EAAAA,MAAMnB,CAAK,EAAE,aAAa,EACxD,kBAAmB,GAAGmB,QAAMurB,CAAU,CAAC,UACjD,EAAWusB,EAAe,MAAM,cAAe,CACrC,IAAK93C,EAAAA,MAAMnB,CAAK,EAAE,IAClB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,WAAYmB,EAAAA,MAAMnB,CAAK,EAAE,WACzB,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,QACtB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,MACvB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,QAAQmB,EAAAA,EAAAA,MAAM5J,CAAU,IAAhB4J,YAAAA,EAAmB,KAAK,OACnD,eAAgBA,EAAAA,MAAMnB,CAAK,EAAE,eAAemB,EAAAA,EAAAA,MAAM5J,CAAU,IAAhB4J,YAAAA,EAAmB,YAAY,OAC3E,OAAQ2iB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,OAAQ4B,CAAM,GACjE,QAAS9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,QAAS4B,CAAM,GACnE,OAAQ9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,OAAQ4B,CAAM,GACjE,SAAU9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,SAAU4B,CAAM,GACrE,gBAAiB9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,iBAAkB4B,CAAM,GACpF,gBAAiB9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,iBAAkB4B,CAAM,GACpF,kBAAmB9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,mBAAoB4B,CAAM,GACxF,SAAU9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,SAAU4B,CAAM,EAC/E,CAAS,EAAG,CACF,OAAQzH,EAAAA,QAAQ,CAAC,CAAE,QAASk1B,EAAe,OAAQC,KAAiB,EACjEv1B,YAAS,EAAIC,EAAAA,YAAYC,0BAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,SAAS,EAAG2qB,aAAW,CACpF,GAAI,GAAGxpB,EAAAA,MAAMurB,CAAU,CAAC,WACxB,MAAO,CAAC,mBAAoBvrB,QAAMnB,CAAK,EAAE,WAAW,CAClE,EAAemB,QAAMnB,CAAK,EAAE,WAAW,EAAG,CAC5B,QAASmkB,EAAAA,QAAQ,IAAM,CACrBiP,qBAAmB,SAAUzI,EAAAA,WAAW,CAAE,MAAO,kBAAkB,EAAIxpB,EAAAA,MAAMnB,CAAK,EAAE,YAAa,CAC/F,MAAO,CAAC,CAAE,UAAW,CAACq5C,CAAa,EAAIl4C,QAAMnB,CAAK,EAAE,WAAW,EAC/D,KAAM,SACN,gBAAiBq5C,EAAgB,OAAS,QAC1C,gBAAiBl4C,EAAAA,MAAMurB,CAAU,EACjC,QAAS4sB,CAC3B,CAAiB,EAAG,CACFj1B,EAAAA,WAAWR,EAAK,OAAQ,QAAS,CAAA,EAAI,IAAM,CACzCS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,KAAK,EAAG,CAAC,CAC1E,CAAmB,CACnB,EAAmB,GAAIg5C,EAAY,CACnC,CAAe,EACD,EAAG,CACjB,EAAe,KAAM,CAAC,KAAM,OAAO,CAAC,EACpC,CAAW,EACD,QAAS70B,EAAAA,QAAQ,IAAM,CACrBiP,qBAAmB,MAAOzI,EAAAA,WAAW,CAAE,MAAO,gBAAgB,EAAIxpB,EAAAA,MAAMnB,CAAK,EAAE,UAAW,CACxF,MAAOmB,EAAAA,MAAMnB,CAAK,EAAE,SAClC,CAAa,EAAG,CACFqkB,aAAWR,EAAK,OAAQ,SAAS,CAC/C,EAAe,EAAE,CACjB,CAAW,EACD,EAAG,CACb,EAAW,GAAI,CAAC,KAAM,aAAc,QAAS,kBAAmB,MAAO,OAAQ,aAAc,UAAW,SAAU,OAAQ,cAAc,CAAC,CACzI,EAAS,EAAE,CACP,CACF,CACF,CAAC,EACKN,GAAa,CAAC,IAAI,EAClB/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,aACR,MAAuB+qB,EAAAA,YAAY,CACjC,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,GAAI,CAAE,QAAS,MAAM,EACrB,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,CAChD,EAAK,CACD,WAAc,CACZ,QAAS,MACf,EACI,eAAkB,CAAA,EAClB,MAAS,CACP,QAAS,MACf,EACI,eAAkB,CAAA,CACtB,CAAG,EACD,MAAO,CAAC,oBAAqB,cAAc,EAC3C,MAAMpH,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,YAAY,EACxC1jB,EAAQ2jB,EAAAA,SAAQ,EAChBgJ,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3ClqB,EAAQyxB,EAAAA,SAASvH,EAAS,OAAO,EACjC+1B,EAAoBj/C,EAAAA,IAAI,EAAE,EAC1Bk/C,EAA0B,IAAM,OACpC,MAAMC,EAAeX,KAAiBxgD,EAAAwH,EAAM,UAAN,YAAAxH,EAAA,KAAAwH,EAAgB,CAAA,KAAO,EAAE,EAC/Dy5C,EAAkB,OAAS,MAAM,QAAQE,CAAY,EAAIA,EAAe,CAACA,CAAY,GAAG,OACrFhpC,GAASA,EAAK,OAAS+a,EAChC,CACI,EACAguB,EAAuB,EACvB3hD,EAAAA,MACE,WAAM,OAAAS,EAAAwH,EAAM,UAAN,YAAAxH,EAAA,KAAAwH,EAAgB,KACtB,IAAM,CACJ05C,EAAuB,EACvB96C,EAAAA,SAAS,IAAM,CACbg7C,EAAkB,CACpB,CAAC,CACH,CACN,EACI,MAAMC,EAAiB76C,EAAAA,WAAW,EAAE,EAC9B46C,EAAqB,IAAM,OAI/B,GAHAC,EAAe,MAAQA,EAAe,MAAM,KAC1C,CAAC9yC,EAAGC,IAAM4a,GAA2BvgB,EAAAA,MAAM0F,EAAE,EAAE,EAAG1F,EAAAA,MAAM2F,EAAE,EAAE,CAAC,CACrE,EACU2lB,EAAW,MACb,GAAI,MAAM,QAAQA,EAAW,KAAK,EAAG,CACnC,MAAMmtB,EAAOntB,EAAW,MAAM,IAAKn1B,GAAOqiD,EAAe,MAAM,UAAWlpC,GAASA,EAAK,KAAOnZ,CAAE,CAAC,EAAE,OAAQqT,GAAMA,IAAM,EAAE,EACtHivC,EAAK,SAAWntB,EAAW,MAAM,QAC/B,QAAQ,IAAI,WAAa,eAC3B,QAAQ,KAAK,2CAA4CA,EAAW,KAAK,EAG7EnzB,EAAM,MAAQsgD,CAChB,KAAO,CACL,MAAMhrB,EAAM+qB,EAAe,MAAM,UAAWlpC,GAASA,EAAK,KAAOgc,EAAW,KAAK,EAC7EmC,IAAQ,KAAIt1B,EAAM,MAAQs1B,EAChC,MACSt1B,EAAM,QAAU,SACzBmzB,EAAW,MAAQ,MAAM,QAAQnzB,EAAM,KAAK,EAAIA,EAAM,MAAM,IAAKs1B,GAAG,OAAK,OAAAt2B,EAAAqhD,EAAe,MAAM/qB,CAAG,IAAxB,YAAAt2B,EAA2B,GAAE,GAAIA,EAAAqhD,EAAe,MAAMrgD,EAAM,KAAK,IAAhC,YAAAhB,EAAmC,GAEjJ,EACMo0B,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,WAAW,EAC9C2jB,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,kBAAmBsI,EAAM,KAC/B,EAAM,EACI65C,EAAW,CAAChzC,EAAGC,IACf,MAAM,QAAQD,CAAC,GAAK,MAAM,QAAQC,CAAC,EAC9BD,EAAE,SAAWC,EAAE,QAAUD,EAAE,MAAM,CAAC4J,EAAMqpC,IAAWrpC,IAAS3J,EAAEgzC,CAAM,CAAC,EAEvEjzC,IAAMC,EAEfjP,OAAAA,EAAAA,MACE,IAAMyB,EAAM,MACZ,CAACxB,EAAUqR,IAAa,eACtB,GAAI,CAAA0wC,EAAS/hD,EAAUqR,CAAQ,EAC/B,IAAI7P,EAAM,QAAU,OAAQ,CAC1BmzB,EAAW,MAAQ,OACnB,MACF,CACA,GAAKzsB,EAAM,KAYT,GAAI,MAAM,QAAQ1G,EAAM,KAAK,EAAG,CAC9B,MAAMygD,EAAYzgD,EAAM,MAAM,IAAKmX,GAAI,OAAK,OAAAnY,EAAAqhD,EAAe,MAAMlpC,CAAI,IAAzB,YAAAnY,EAA4B,GAAE,EACrEuhD,EAASE,EAAWttB,EAAW,KAAK,IACvCA,EAAW,MAAQstB,EAEvB,KAAO,CACL,MAAMA,GAAYrxB,EAAAixB,EAAe,MAAMrgD,EAAM,KAAK,IAAhC,YAAAovB,EAAmC,GACrD,GAAIqxB,IAAc,OAAQ,CACxBr7C,EAAAA,SAAS,IAAM,CACbpF,EAAM,MAAQ,MAChB,CAAC,EACD,MACF,CACKugD,EAASE,EAAWttB,EAAW,KAAK,IACvCA,EAAW,MAAQstB,EAEvB,KA5Be,CACf,MAAMnrB,EAAO,MAAM,QAAQt1B,EAAM,KAAK,GAAkBhB,EAAAgB,EAAM,QAAN,YAAAhB,EAAc,GAA5BgB,EAAM,OAC5CU,EAAA2/C,EAAe,MAAM/qB,CAAG,IAAxB,MAAA50B,EAA2B,GACzByyB,EAAW,UAAUzJ,EAAA22B,EAAe,MAAM/qB,CAAG,IAAxB,YAAA5L,EAA2B,MAClDyJ,EAAW,OAAQ1J,EAAA42B,EAAe,MAAM/qB,CAAG,IAAxB,YAAA7L,EAA2B,IAGhDrkB,EAAAA,SAAS,IAAM,CACbpF,EAAM,MAAQ,MAChB,CAAC,CAEL,EAmBF,CACN,EACIzB,EAAAA,MACE,IAAM40B,EAAW,MACjB,CAAC30B,EAAUqR,IAAa,CACtB,GAAI,CAAA0wC,EAAS/hD,EAAUqR,CAAQ,EAC/B,IAAIsjB,EAAW,QAAU,OAAQ,CAC/BnzB,EAAM,MAAQ,OACd,MACF,CACA,GAAK0G,EAAM,MAWJ,GAAIA,EAAM,KACf,GAAI,MAAM,QAAQysB,EAAW,KAAK,EAAG,CACnC,MAAMutB,EAAQvtB,EAAW,MAAM,IAAKj3B,GAAUmkD,EAAe,MAAM,UAAWlpC,GAASA,EAAK,KAAOjb,CAAK,CAAC,EAAE,OAAQskD,GAAWA,IAAW,EAAE,EACvIE,EAAM,OAAS,EACZH,EAASG,EAAO1gD,EAAM,KAAK,IAC9BA,EAAM,MAAQ0gD,GAGhBt7C,EAAAA,SAAS,IAAM,CACb+tB,EAAW,MAAQ,MACrB,CAAC,CAEL,KAAO,CACL,MAAMstB,EAAYJ,EAAe,MAAM,UAAWlpC,GAASA,EAAK,KAAOgc,EAAW,KAAK,EAClFotB,EAASE,EAAWzgD,EAAM,KAAK,IAClCA,EAAM,MAAQygD,EAElB,MA5Be,CACf,MAAMnrB,EAAO,MAAM,QAAQnC,EAAW,KAAK,EAA6EktB,EAAe,MAAM,UAAWlpC,GAAI,OAAK,OAAAA,EAAK,OAAOnY,EAAAm0B,EAAW,QAAX,YAAAn0B,EAAmB,IAAE,EAAnJqhD,EAAe,MAAM,UAAWlpC,GAASA,EAAK,KAAOgc,EAAW,KAAK,EAChHmC,IAAQ,GACNt1B,EAAM,QAAUs1B,IAClBt1B,EAAM,MAAQs1B,GAGhBlwB,EAAAA,SAAS,IAAM,CACb+tB,EAAW,MAAQ,MACrB,CAAC,CAEL,EAmBF,EACA,CAAE,KAAM,EAAI,CAClB,EACI50B,EAAAA,MACE,IAAMmI,EAAM,KACXi6C,GAAS,CACJxtB,EAAW,QACT,CAACwtB,GAAQ,MAAM,QAAQxtB,EAAW,KAAK,EACzCA,EAAW,MAAQA,EAAW,MAAM,CAAC,EAC5BwtB,GAAQ,CAAC,MAAM,QAAQxtB,EAAW,KAAK,IAChDA,EAAW,MAAQ,CAACA,EAAW,KAAK,GAG1C,CACN,EACIxb,EAAAA,QAAQ9a,GAAuB,CAC7B,SAAU8D,EAAAA,MAAM,IAAMwyB,EAAW,KAAK,EACtC,KAAMxyB,EAAAA,MAAM,IAAM+F,EAAM,IAAI,EAC5B,iBAAkB/F,EAAAA,MAAM,IAAM+F,EAAM,gBAAgB,EACpD,KAAM/F,EAAAA,MAAM,IAAM+F,EAAM,IAAI,EAC5B,YAAa/F,EAAAA,MAAM,IAAM+F,EAAM,WAAW,EAC1C,YAAc1I,GAAO,CACnB,GAAI0I,EAAM,MAAQ,CAAC,MAAM,QAAQysB,EAAW,KAAK,EAAG,CAC9CA,EAAW,QAAU,OACvBA,EAAW,MAAQ,CAACA,EAAW,MAAOn1B,CAAE,EAExCm1B,EAAW,MAAQ,CAACn1B,CAAE,EAExB,MACF,CACA,GAAI,CAAC0I,EAAM,MAAQ,MAAM,QAAQysB,EAAW,KAAK,EAAG,CAClDA,EAAW,MAAQn1B,EACnB,MACF,CACI,MAAM,QAAQm1B,EAAW,KAAK,EAC3BA,EAAW,MAAM,SAASn1B,CAAE,IAC/Bm1B,EAAW,MAAQ,CAAC,GAAGA,EAAW,MAAOn1B,CAAE,GAG7Cm1B,EAAW,MAAQn1B,CAEvB,EACA,aAAeA,GAAO,CACpB,GAAI,CAAC0I,EAAM,MAAQ,MAAM,QAAQysB,EAAW,KAAK,EAAG,CAClDA,EAAW,MAAQ,OACnB,MACF,CACA,GAAI,MAAM,QAAQA,EAAW,KAAK,EAAG,CACnC,MAAMmtB,EAAOntB,EAAW,MAAM,OAAQhc,GAASA,IAASnZ,CAAE,EAC1Dm1B,EAAW,MAAQmtB,EAAK,OAASA,EAAO,MAC1C,MACMntB,EAAW,QAAUn1B,IACvBm1B,EAAW,MAAQ,OAGzB,EACA,sBAAuB,CAACn1B,EAAIuJ,IAAO,CACjC84C,EAAe,MAAQ,CAAC,GAAGA,EAAe,MAAO,CAAE,GAAAriD,EAAI,GAAAuJ,EAAI,EACvD84C,EAAe,MAAM,SAAWJ,EAAkB,MAAM,QAC1DG,EAAkB,CAEtB,EACA,wBAA0BpiD,GAAO,CAC/BqiD,EAAe,MAAQA,EAAe,MAAM,OAAQlpC,GAASA,EAAK,KAAOnZ,CAAE,CAC7E,CACN,CAAK,EACM,CAACusB,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC5C,GAAIjjB,EAAAA,MAAMurB,CAAU,EACpB,MAAOxI,EAAAA,eAAe,CAAC,YAAaP,EAAgB,KAAK,CAAC,CAClE,EAAS,CACDU,aAAWR,EAAK,OAAQ,SAAS,CACzC,EAAS,GAAIN,EAAU,EAErB,CACF,CAAC,EC9WKA,GAAa,CAAC,KAAM,OAAQ,YAAa,aAAa,EACtD4N,GAAa,CACjB,IAAK,EACL,MAAO,cACT,EACM3f,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,SACR,MAAuB+qB,EAAAA,YAAY,CACjC,WAAY,CAAE,QAAS,MAAM,EAC7B,KAAM,CAAE,QAAS,MAAM,EACvB,UAAW,CAAE,QAAS,MAAM,EAC5B,WAAY,CAAE,QAAS,MAAM,EAC7B,aAAc,CAAE,QAAS,MAAM,EAC/B,WAAY,CAAE,QAAS,OAAO,EAC9B,aAAc,CAAE,QAAS,WAAW,EACpC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,YAAa,CAAE,QAAS,MAAM,EAC9B,UAAW,CAAE,QAAS,KAAK,EAC3B,GAAI,CAAE,QAAS,MAAM,EACrB,SAAU,CAAE,QAAS,uBAAuB,EAC5C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,aAAc,CAAE,KAAM,QAAS,QAAS,EAAK,EAC7C,qBAAsB,CAAE,KAAM,QAAS,QAAS,EAAK,EACrD,cAAe,CAAE,QAAS,MAAM,EAChC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAI,EAC3C,MAAO,CAAE,QAAS,MAAM,EACxB,QAAS,CAAE,QAAS,MAAM,EAC1B,UAAW,CAAE,QAAS,IAAI,EAC1B,YAAa,CAAE,QAAS,IAAI,EAC5B,OAAQ,CAAE,KAAM,QAAS,QAAS,MAAM,EACxC,YAAa,CAAE,QAAS,MAAM,EAC9B,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,iBAAkB,CAAE,QAAS,MAAM,EACnC,KAAM,CAAE,QAAS,MAAM,EACvB,KAAM,CAAE,KAAM,QAAS,QAAS,MAAM,EACtC,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,QAAS,CAAE,QAAS,MAAM,EAC1B,aAAc,CAAE,QAAS,MAAM,EAC/B,SAAU,CAAE,KAAM,OAAO,EACzB,WAAY,CAAA,EACZ,WAAY,CAAE,KAAM,OAAO,EAC3B,gBAAiB,CAAA,EACjB,IAAK,CAAE,QAAS,MAAM,EACtB,QAAS,CAAE,KAAM,QAAS,QAAS,MAAM,EACzC,oBAAqB,CAAE,QAAS,MAAM,EACtC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,OAAQ,CAAE,QAAS,MAAM,EACzB,GAAI,CAAE,QAAS,MAAM,EACrB,gBAAiB,CAAE,QAAS,MAAM,EAClC,qBAAsB,CAAE,QAAS,MAAM,EACvC,iBAAkB,CAAE,QAAS,MAAM,EACnC,sBAAuB,CAAE,QAAS,MAAM,EACxC,iBAAkB,CAAE,QAAS,MAAM,EACnC,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,YAAa,CAAE,KAAM,OAAO,EAC5B,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,WAAY,CAAE,QAAS,MAAM,EAC7B,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAC5C,EAAK,CACD,WAAc,CAAE,KAAM,CAAC,QAAS,MAAM,EAAQ,QAAS,EAAO,EAC9D,eAAkB,CAAA,CACtB,CAAG,EACD,MAAuBA,EAAAA,YAAY,CAAC,QAAS,kBAAmB,OAAQ,iBAAkB,SAAU,OAAQ,iBAAkB,QAAS,SAAU,mBAAoB,SAAU,IAAI,EAAG,CAAC,mBAAmB,CAAC,EAC3M,MAAMpH,EAAS,CAAE,OAAQ6N,EAAU,KAAMtH,GAAU,CAEjD,MAAM/pB,EAAQqjB,EADCG,EACmB,QAAQ,EACpCwG,EAAOD,EACPjqB,EAAQ2jB,EAAAA,SAAQ,EAChBxV,EAAU4c,EAAAA,eAAe,UAAU,EACnC4B,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3C,CAAE,aAAAqE,EAAc,kBAAAC,GAAsBL,GAAeznB,CAAK,EAC1D0sB,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,OAAO,EAC1C,CACJ,QAAA6sB,EACA,UAAAC,EACA,KAAAI,EACA,OAAA5hB,EACA,KAAA2hB,EACA,sBAAAK,EACA,oBAAAD,EACA,UAAA7L,EACA,gBAAAmQ,EACA,eAAAlC,CACN,EAAQjD,GAAYC,EAAYzsB,EAAOgqB,EAAM/b,EAASye,CAAU,EACtDqL,EAAkBrgC,EAAAA,SACtB,IAAM,OAAO+0B,EAAW,OAAU,UAAY,EAAIA,EAAW,KACnE,EACU,CACJ,SAAAxwB,EACA,MAAAC,EACA,QAAAi7B,EACA,OAAAh7B,EACA,KAAAsF,EACA,SAAAwd,EACA,MAAO+Y,CACb,EAAQjB,GAAagB,EAAiB/3B,EAAM,SAAU,CAChD,UAAW,OAAOysB,EAAW,OAAU,UAAY,CAAC,CAACA,EAAW,KACtE,CAAK,EACD8K,GACEtpB,EACA,CACE,aAAc,IAAMjO,EAAM,cAAgB,OAAOysB,EAAW,OAAU,SACtE,qBAAsB,IAAMzsB,EAAM,sBAAwB,OAAOysB,EAAW,OAAU,SACtF,uBAAwB,IAAM,OAAOA,EAAW,OAAU,SAClE,EACM,CAAE,MAAAvwB,EAAO,OAAAC,CAAM,CACrB,EACIyH,EAAAA,YAAY,IAAM,CAChBomB,EAAK,kBAAmBgO,EAAY,KAAK,CAC3C,CAAC,EACD,MAAMzM,EAAc7zB,EAAAA,SAAS,IAAMmwB,EAAa,MAAQ2D,GAAc,KAAK,EACrE0uB,EAAiBxiD,EAAAA,SACrB,IAAMm1B,EAAQ,OAAS5wB,EAAS,OAAS+D,EAAM,aAAeif,EAAS,KAC7E,EACU0E,EAAkBjsB,EAAAA,SAAS,IAAM,CAErC,CACE,CAAC,SAASsI,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,KAC9C,oBAAqBA,EAAM,aAAe,EAAEF,EAAM,OAASE,EAAM,cACjE,KAAQwhB,EAAU,MAClB,KAAQ,CAAC6L,EAAoB,KACrC,CACA,CAAK,EACDx1B,QAAM40B,EAAa30B,GAAa,CAC9B,GAAI,OAAOA,GAAa,SAAU,CAChC,MAAMgJ,EAAQwsB,EAAsB,OAAQ,CAAE,WAAY,GAAM,QAAS,QAAS,EAClFtD,EAAK,OAAQlpB,CAAK,EACdA,EAAM,iBACRkpB,EAAK,iBAAkBsD,EAAsB,gBAAgB,CAAC,EAE9D6J,EAAO,CAEX,CACF,CAAC,EACDt/B,QAAMoE,EAAWnE,GAAa,CACxBA,IAAa,IAASmnB,EAAS,QAAU,KAC3CiO,EAAI,EACJT,EAAW,MAAQ,EACnBhrB,EAAI,EAER,CAAC,EACD,MAAMwxB,EAAcv7B,EAAAA,SAAS,KAAO,CAClC,OAAA4T,EACA,KAAA2hB,EACA,KAAAC,EACA,GAAIR,EAAW,MACf,QAASG,EAAQ,MACjB,OAAQ5wB,EAAS,KACvB,EAAM,EACF,OAAAo1B,EAAS,CACP,KAAApE,EACA,KAAAC,EACA,OAAA5hB,EACA,MAAApP,EACA,QAAAi7B,EACA,OAAAh7B,EACA,KAAAsF,CACN,CAAK,EACM,CAACoiB,EAAMC,IAAW,CACvB,MAAMoU,EAAqBvM,GAC3B,OAAOxqB,EAAAA,MAAM2rB,CAAS,GAAK3rB,EAAAA,MAAMsuB,CAAc,GAAK1L,EAAAA,YAAaC,EAAAA,YAAYkP,EAAAA,WAAYvI,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAIxpB,EAAAA,MAAMwwB,CAAe,EAAG,CACtI,OAAQ,CAAC,CAAClF,EAAW,OAAStrB,EAAAA,MAAMnB,CAAK,EAAE,OACnD,CAAO,EAAG,CACF,QAASmkB,EAAAA,QAAQ,IAAM,CACrBgP,EAAAA,eAAeC,EAAAA,mBAAmB,MAAO,CACvC,GAAIjyB,EAAAA,MAAMnB,CAAK,EAAE,GACjB,IAAK,WACL,MAAOkkB,EAAAA,eAAe,CAAC,QAAS,CAAC/iB,EAAAA,MAAMnB,CAAK,EAAE,WAAY2jB,EAAgB,KAAK,CAAC,CAAC,EACjF,SAAU,IACV,KAAOu2B,EAAe,MAAiB/4C,EAAAA,MAAMnB,CAAK,EAAE,SAAW,SAAW,QAA5C,OAC9B,YAAck6C,EAAe,MAAiB/4C,EAAAA,MAAMnB,CAAK,EAAE,SAAW,SAAW,YAA5C,OACrC,cAAgBk6C,EAAe,MAAiB,GAAT,MACnD,EAAa,CACD/4C,EAAAA,MAAMsuB,CAAc,IAAM3vB,EAAM,OAASqB,EAAAA,MAAMnB,CAAK,EAAE,QAAU+jB,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,SAAS,EAAG,CACxI,IAAK,EACL,MAAOkkB,EAAAA,eAAe,CAAC,6BAA8B/iB,EAAAA,MAAMnB,CAAK,EAAE,WAAW,CAAC,CAC5F,EAAe,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,QAASyP,EAAAA,eAAeC,EAAAA,mBAAmBN,EAAY,KAAK,CAAC,EAAG,IAAM,CAC5FG,qBAAmB,OAAQ,KAAM7O,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,KAAK,EAAG,CAAC,CACzF,CAAiB,EACDmB,QAAMnB,CAAK,EAAE,aAAe+jB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmBqH,WAAU,CAAE,IAAK,GAAK,CAChF3rB,EAAM,OAASqB,EAAAA,MAAMnB,CAAK,EAAE,cAAgB+jB,EAAAA,UAAS,EAAIC,EAAAA,YAAYkU,EAAoB,CACvF,IAAK,EACL,MAAOhU,EAAAA,eAAe,CAAC,CAAC/iB,EAAAA,MAAMnB,CAAK,EAAE,UAAU,EAAG,+BAA+B,CAAC,EAClF,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,aACtB,QAAS8jB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIuP,gBAAezH,GAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,OAAO,EAAG,CAAC,OAAQ,SAAS,CAAC,EAC1H,EAAqB,CACD,QAAS/I,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,QAASyP,EAAAA,eAAeC,EAAAA,mBAAmBN,EAAY,KAAK,CAAC,EAAG,IAAM,CAC5F3O,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,YAAY,EAAG,CAAC,CACrF,CAAuB,CACvB,CAAqB,EACD,EAAG,CACvB,EAAqB,EAAG,CAAC,QAAS,SAAS,CAAC,IAAM+jB,YAAS,EAAIC,EAAAA,YAAYwP,GAAa,CACpE,IAAK,EACL,aAAcryB,EAAAA,MAAMnB,CAAK,EAAE,WAC3B,MAAOkkB,EAAAA,eAAe,CAAC/iB,EAAAA,MAAMnB,CAAK,EAAE,UAAU,CAAC,EAC/C,QAAS8jB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIuP,gBAAezH,GAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,OAAO,EAAG,CAAC,OAAQ,SAAS,CAAC,EAC1H,EAAqB,KAAM,EAAG,CAAC,aAAc,OAAO,CAAC,EACrD,EAAmB,EAAE,GAAK1I,qBAAmB,GAAI,EAAI,CACrD,CAAe,EACD,EAAG,CACjB,EAAe,EAAG,CAAC,OAAO,CAAC,GAAKA,EAAAA,mBAAmB,GAAI,EAAI,EAC/CrjB,EAAAA,MAAMsuB,CAAc,IAAM3vB,EAAM,SAAWqB,EAAAA,MAAMnB,CAAK,EAAE,OAAS+jB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO+M,GAAY,EACjHpN,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwBsH,EAAY,KAAK,EAAGZ,aAAW,CAC/E,MAAO,CAAC,aAAcxpB,QAAMnB,CAAK,EAAE,SAAS,CAC5D,EAAiBmB,EAAAA,MAAM2mB,CAAiB,EAAG,CAC3B,QAAShE,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAWzqB,EAAAA,MAAM0mB,CAAY,GAAK1mB,EAAAA,MAAMnB,CAAK,EAAE,YAAcmB,QAAM+rB,CAAI,EAAC,EAAK,IAAM,CACvH,EAChB,CAAe,EAAG,CACF,QAAS/I,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,UAAWyP,EAAAA,eAAeC,EAAAA,mBAAmBN,EAAY,KAAK,CAAC,EAAG,IAAM,CAC9F3O,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CACzE,CAAmB,CACnB,CAAiB,EACD,EAAG,CACnB,EAAiB,GAAI,CAAC,OAAO,CAAC,GAChBmB,EAAAA,MAAMnB,CAAK,EAAE,aAAe,EAAEF,EAAM,OAASqB,EAAAA,MAAMnB,CAAK,EAAE,QAAU+jB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmBqH,EAAAA,SAAU,CAAE,IAAK,GAAK,CACxH3rB,EAAM,OAASqB,EAAAA,MAAMnB,CAAK,EAAE,cAAgB+jB,EAAAA,UAAS,EAAIC,EAAAA,YAAYkU,EAAoB,CACvF,IAAK,EACL,MAAOhU,EAAAA,eAAe,CAAC,CAAC/iB,EAAAA,MAAMnB,CAAK,EAAE,UAAU,EAAG,0BAA0B,CAAC,EAC7E,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,aACtB,QAAS8jB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIuP,gBAAezH,GAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,OAAO,EAAG,CAAC,OAAQ,SAAS,CAAC,EACxH,EAAmB,CACD,QAAS/I,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,QAASyP,EAAAA,eAAeC,EAAAA,mBAAmBN,EAAY,KAAK,CAAC,EAAG,IAAM,CAC5F3O,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,YAAY,EAAG,CAAC,CACnF,CAAqB,CACrB,CAAmB,EACD,EAAG,CACrB,EAAmB,EAAG,CAAC,QAAS,SAAS,CAAC,IAAM+jB,YAAS,EAAIC,EAAAA,YAAYwP,GAAa,CACpE,IAAK,EACL,aAAcryB,EAAAA,MAAMnB,CAAK,EAAE,WAC3B,MAAOkkB,EAAAA,eAAe,CAAC/iB,EAAAA,MAAMnB,CAAK,EAAE,UAAU,CAAC,EAC/C,QAAS8jB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIuP,gBAAezH,GAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,OAAO,EAAG,CAAC,OAAQ,SAAS,CAAC,EACxH,EAAmB,KAAM,EAAG,CAAC,aAAc,OAAO,CAAC,EACnD,EAAiB,EAAE,GAAK1I,qBAAmB,GAAI,EAAI,CACnD,CAAa,GAAKA,EAAAA,mBAAmB,GAAI,EAAI,EACjC,OAAOiI,EAAW,OAAU,UAAYtrB,EAAAA,MAAMnB,CAAK,EAAE,gBAAkB,QAAU+jB,EAAAA,YAAaC,EAAAA,YAAYmU,GAAa,CACrH,IAAK,EACL,SAAUh3B,EAAAA,MAAMnB,CAAK,EAAE,cAAc,SACrC,UAAWmB,EAAAA,MAAMnB,CAAK,EAAE,cAAc,UACtC,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,cAAc,aAC5C,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,cAAc,UACzC,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,cAAc,QACpC,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,cAAc,QACpC,IAAKysB,EAAW,MAChB,MAAOtrB,EAAAA,MAAM62B,CAAW,EACxB,OAAQ,KACtB,EAAe,KAAM,EAAG,CAAC,WAAY,YAAa,gBAAiB,aAAc,UAAW,UAAW,MAAO,OAAO,CAAC,GAAKxT,EAAAA,mBAAmB,GAAI,EAAI,CACtJ,EAAa,GAAIjB,EAAU,EAAG,CAClB,CAACkQ,EAAAA,MAAOymB,EAAe,KAAK,CACxC,CAAW,CACX,CAAS,EACD,EAAG,CACX,EAAS,GAAI,CAAC,QAAQ,CAAC,GAAK11B,EAAAA,mBAAmB,GAAI,EAAI,CACnD,CACF,CACF,CAAC,EC5QK21B,GAAkB,CACtB,YAAa,gBACb,aAAc,oCACd,UAAW,cACX,eAAgB,oCAChB,gBAAiB,mCACjB,aAAc,kCACd,eAAgB,mBAChB,gBAAiB,uCACjB,aAAc,gBAChB,EACM3oC,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,gBACR,MAAO,CACL,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,WAAY,CAAA,EACZ,OAAQ,CAAE,KAAM,SAAU,QAAS,IAAM,EAAI,CACjD,EACE,MAAM2jB,EAAS,CACb,SAAS42B,EAAWt5C,EAAO,CACzBA,EAAM,GAAKA,EAAM,UAAY,KAAO,GAAOA,EAAM,UAAY,SAAW,GAAQ,IAClF,CACA,MAAMd,EAAQwjB,EACRzS,EAAuBvZ,EAAAA,OAAOP,EAAuB,EACvD8Z,EACGA,EAAqB,yBAAyB,QACjDA,EAAqB,yBAAyB,MAAQ,IAGpD,QAAQ,IAAI,WAAa,eAC3B,QAAQ,KACN,0GACV,EAGIlZ,EAAAA,MACE,IAAMmI,EAAM,YACXxK,GAAU,CACLub,GAAwBvb,IAAU,SACpCub,EAAqB,eAAe,MAAQvb,EAEhD,EACA,CAAE,UAAW,EAAI,CACvB,EACI,MAAM6kD,EAA0B3iD,EAAAA,SAAS,IAAM,OAC7C,MAAM4iD,GAAkBhiD,EAAA+K,EAAM,QAAN,YAAA/K,EAAa,OACnC,CAACwe,EAAKrG,KACAA,EAAK,WACPqG,EAAIrG,EAAK,QAAQ,EAAI,IAEhBqG,GAET,CAAA,GAEIyjC,EAAU,CAAA,EAChB,UAAW54B,KAAYw4B,GACjBG,GAAA,MAAAA,EAAkB34B,KACpB44B,EAAQ54B,CAAQ,EAAI,CAClB,MAAO,GAAGw4B,GAAgBx4B,CAAQ,CAAC,sCACnC,MAAO,qFACnB,GAGM,OAAI24B,GAAA,MAAAA,EAAkB,QACpBC,EAAQ,MAAW,CACjB,MAAO,GACP,MAAO,EACjB,GAEUD,GAAA,MAAAA,EAAkB,UACpBC,EAAQ,QAAa,CACnB,MAAO,GACP,MAAO,EACjB,GAEaA,CACT,CAAC,EACKl3C,EAAQ3L,EAAAA,SAAS,MACPqZ,GAAA,YAAAA,EAAsB,MAAM,QAAS,CAAA,GACtC,OAAQlQ,GAAO,CAACb,EAAM,YAAca,EAAG,OAAS,SAAS,EAAE,OAAQA,GAAO,CAACb,EAAM,UAAYa,EAAG,OAAS,OAAO,EAAE,OAAQA,GAAO,CAACb,EAAM,UAAYa,EAAG,OAAS,OAAO,EAAE,OAAOb,EAAM,MAAM,CAC1M,EACD,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAYwH,GAAa,CAC3C,GAAI3H,EAAK,WACT,SAAU,CAACA,EAAK,UACxB,EAAS,CACD,QAASM,EAAAA,QAAQ,IAAM,CACrBiP,qBAAmB,MAAOzI,EAAAA,WAAW,CAAE,MAAO,0BAA4B9G,EAAK,MAAM,EAAG,EACrFE,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,WAAU,KAAM+uB,EAAAA,WAAWH,EAAwB,MAAO,CAAC7kD,EAAO+C,IAAQ,SAC7G,OAAOwrB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC5C,IAAA7rB,EACA,MAAO2rB,EAAAA,eAAe1uB,EAAM,KAAK,EACjC,MAAOk+B,EAAAA,eAAel+B,EAAM,KAAK,CACjD,EAAiB,CACDk2B,EAAAA,YAAY+uB,EAAAA,gBAAiB,CAC3B,MAAMzgD,GAAA1B,EAAA+K,EAAM,QAAN,YAAA/K,EAAa,OAAQuI,GAAOA,EAAG,WAAatI,KAA5C,MAAAyB,EAAkD,KAAM6G,GAAOA,EAAG,OAAS,SAAW,SAAW,MACzH,EAAmB,CACD,QAASsjB,EAAAA,QAAQ,IAAA,OAAM,QACpBJ,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,EAAAA,SAAU,KAAM+uB,EAAAA,aAAWliD,EAAA+K,EAAM,QAAN,YAAA/K,EAAa,OAAQuI,GAAOA,EAAG,WAAatI,KAAQ,CAAA,EAAI,CAAC,CACvH,MAAAu7B,EACA,KAAAvrB,EACA,SAAAoZ,EACA,MAAA7hB,EACA,QAAAsQ,EACA,QAAArU,EACA,WAAA2+C,EACA,GAAGjhD,CACzB,KAC6BsqB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,OAAQ,CAAE,IAAK0P,GAAS,EAC5D/P,YAAS,EAAIC,cAAYC,EAAAA,wBAAwBy2B,CAAU,EAAG/vB,EAAAA,WAAW,CAAE,QAAS,EAAI,EAAIlxB,EAAK,CAChG,QAAS,GACT,IAAMa,GAAQ8V,EAAQ,MAAM,IAAM9V,EAClC,oBAAqB,GACrB,oBAAqB,GACrB,OAAS4G,GAAM,SACbk5C,EAAWl5C,CAAC,GACZ5I,EAAAmB,EAAI,SAAJ,MAAAnB,EAAA,KAAAmB,EAAayH,GACT,CAAAA,EAAE,oBAGNlH,EAAAoW,EAAQ,OAAR,MAAApW,EAAA,KAAAoW,GACIrU,GAAA,MAAAA,EAAS,eACXqU,EAAQ,QAAQlP,CAAC,EAErB,EACA,SAAWA,GAAM,WACfk5C,EAAWl5C,CAAC,GACZ5I,EAAAmB,EAAI,WAAJ,MAAAnB,EAAA,KAAAmB,EAAeyH,GACX,CAAAA,EAAE,mBAGDnF,GAAA,MAAAA,EAAS,eACZqU,EAAQ,QAAQlP,CAAC,EAEdnF,GAAA,MAAAA,EAAS,OACZinB,GAAAhpB,EAAAoW,EAAQ,OAAM,UAAd,MAAA4S,EAAA,KAAAhpB,GAEJ,CAC1B,CAAyB,EAAG86C,EAAAA,YAAY,CAAE,EAAG,CAAC,EAAI,CACxB0F,EAAAA,WAAW16C,EAAO,CAAC66C,EAAMC,KAChB,CACL,KAAMA,EACN,GAAIz2B,EAAAA,QAASprB,GAAU,EACpBgrB,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,0BAAwB02B,CAAI,EAAGhwB,EAAAA,WAAW,CAAE,QAAS,EAAI,EAAI5xB,CAAK,EAAG,KAAM,EAAE,EACvI,CAA+B,CAC/B,EAC2B,CAC3B,CAAyB,EAAG,KAAM,CAAC,SAAU,UAAU,CAAC,EACxD,CAAuB,EACF,EAAG,GAAG,EAC3B,EAAmB,EACD,EAAG,CACrB,EAAmB,KAAM,CAAC,MAAM,CAAC,CACjC,EAAiB,CAAC,CACN,CAAC,EAAG,GAAG,EACnB,EAAa,EAAE,CACf,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,KAAM,UAAU,CAAC,EAE5B,CACF,CAAC,EClKKyY,GAA4B3R,EAAAA,gBAAgB,CAE9C,aAAc,GAEhB,OAAQ,OACR,MAAO,CACL,SAAU,CAAE,QAAS,MAAM,EAC3B,cAAe,CAAE,KAAM,CAAC,QAAS,QAAQ,EAAG,QAAS,EAAK,EAC1D,WAAY,CAAE,QAAS,MAAM,EAC7B,eAAgB,CAAE,KAAM,QAAS,QAAS,EAAK,EAC/C,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,IAAK,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,EAAK,CAClD,EACE,MAAM2jB,EAAS,CACb,MAAMxjB,EAAQwjB,EACd,OAAAoyB,GACE37C,QAAM,IAAM+F,EAAM,QAAQ,EAC1BA,EAAM,aACZ,EACIm1C,GAAYn1C,EAAM,GAAG,EAChBA,EAAM,gBACT8Q,GAAuB,EAElB,CAAC+S,EAAMC,KACLC,YAAS,EAAIK,qBAAmBqH,EAAAA,SAAU,KAAM,CACpD5H,EAAK,eAI0CW,EAAAA,mBAAmB,GAAI,EAAI,GAJnDT,EAAAA,UAAS,EAAIC,EAAAA,YAAYwH,GAAa,CAC5D,IAAK,EACL,eAAgB3H,EAAK,YACrB,cAAeA,EAAK,UAC9B,EAAW,KAAM,EAAG,CAAC,eAAgB,aAAa,CAAC,GAC3CQ,aAAWR,EAAK,OAAQ,UAAWyP,EAAAA,eAAeC,qBAAmB1P,EAAK,MAAM,CAAC,CAAC,CAC1F,EAAS,EAAE,EAET,CACF,CAAC,EClCKrS,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,SACR,MAAO,CACL,aAAc,CAAE,KAAM,QAAS,QAAS,EAAK,EAC7C,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,UAAW,CAAE,QAAS,MAAM,EAC5B,IAAK,CAAE,QAAS,MAAM,EACtB,OAAQ,CAAE,KAAM,QAAS,QAAS,MAAM,EACxC,YAAa,CAAE,QAAS,MAAM,EAC9B,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,iBAAkB,CAAE,QAAS,MAAM,EACnC,KAAM,CAAE,QAAS,MAAM,EACvB,KAAM,CAAE,KAAM,QAAS,QAAS,MAAM,EACtC,MAAO,CAAE,KAAM,OAAO,EACtB,QAAS,CAAE,QAAS,MAAM,EAC1B,aAAc,CAAE,QAAS,MAAM,EAC/B,SAAU,CAAE,KAAM,OAAO,EACzB,WAAY,CAAA,EACZ,WAAY,CAAE,KAAM,OAAO,EAC3B,gBAAiB,CAAA,EACjB,IAAK,CAAE,QAAS,MAAM,EACtB,QAAS,CAAE,KAAM,QAAS,QAAS,MAAM,EACzC,oBAAqB,CAAE,QAAS,MAAM,EACtC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,OAAQ,CAAE,QAAS,MAAM,EACzB,GAAI,CAAE,QAAS,MAAM,EACrB,gBAAiB,CAAE,QAAS,MAAM,EAClC,qBAAsB,CAAE,QAAS,MAAM,EACvC,iBAAkB,CAAE,QAAS,MAAM,EACnC,sBAAuB,CAAE,QAAS,MAAM,EACxC,iBAAkB,CAAE,QAAS,MAAM,EACnC,QAAS,CAAE,QAAS,WAAW,EAC/B,UAAW,CAAE,QAAS,IAAI,EAC1B,YAAa,CAAE,QAAS,IAAI,CAChC,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,QAAQ,EACpC,CAAE,aAAAqE,EAAc,kBAAAC,GAAsBL,GAAeznB,EAAO,CAChE,SACA,cACA,SACA,WACA,OACA,MACA,UACA,sBACA,SACA,KACA,UACA,eACA,mBACA,kBACA,uBACA,mBACA,wBACA,MACN,CAAK,EACKurB,EAAc7zB,EAAAA,SAAS,IAAMmwB,EAAa,MAAQ2D,GAAcxrB,EAAM,GAAG,EACzE66C,EAAmBnjD,EAAAA,SAAS,IAAM,CACtC,MAAM2V,EAAMrN,EAAM,YAAcA,EAAM,aAAe,UAAY,QACjE,MAAO,CACL,oBACA,mBACA,CACE,gBAAiBqN,IAAQ,YACzB,iBAAkBA,IAAQ,QAC1B,kBAAmBA,IAAQ,eAC3B,iBAAkBA,IAAQ,MAC1B,mBAAoBA,IAAQ,SAC5B,kBAAmBA,IAAQ,UAC3B,mBAAoBA,IAAQ,MAC5B,oBAAqBA,IAAQ,YACvC,CACA,CACI,CAAC,EACKqW,EAAeJ,GAAuBtjB,CAAK,EAC3C2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrCgsB,EAAa,MACb1jB,EAAM,YAAc,QAAUA,EAAM,eAAiB,GAAO66C,EAAiB,MAAQ,OACrF,CACE,OAAU76C,EAAM,OAChB,SAAYA,EAAM,SAClB,eAAgBA,EAAM,KACtB,yCAA0CA,EAAM,aAChD,uBAAwB6nB,EAAa,KAC7C,CACA,CAAK,EACD,MAAO,CAAChE,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwBsH,EAAY,KAAK,EAAGZ,aAAW,CACrF,MAAO,CAAC,QAAShH,EAAgB,KAAK,CAC9C,EAASxiB,EAAAA,MAAM2mB,CAAiB,CAAC,EAAG,CAC5B,QAAS3D,EAAAA,QAAQ,IAAM,CACrBuH,EAAAA,YAAYC,GAAahB,aAAW,CAClC,KAAMxpB,EAAAA,MAAMnB,CAAK,EAAE,eAAiB,GACpC,IAAK,MACjB,EAAamB,EAAAA,MAAMnB,CAAK,EAAE,aAAe,CAAE,MAAO,iBAAiB,EAAK,CAAA,CAAE,EAAG,CACjE,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,CAC/C,CAAa,EACD,EAAG,CACf,EAAa,GAAI,CAAC,MAAM,CAAC,CACzB,CAAS,EACD,EAAG,CACX,EAAS,GAAI,CAAC,OAAO,CAAC,EAEpB,CACF,CAAC,EC9GKi3B,GAAsB,CAACj6C,EAAIrE,EAAO,OAAS9E,EAAAA,SAAS,IAAM,CAC9D,MAAMlC,EAAQoC,EAAAA,QAAQiJ,CAAE,EAClBk6C,EAAenjD,EAAAA,QAAQ4E,CAAI,EACjC,OAAO+pB,GAAU,KAAK,OAAO/wB,CAAK,CAAC,EAAI,GAAG,OAAOA,CAAK,CAAC,GAAGulD,CAAY,GAAKvlD,CAC7E,CAAC,ECLKwlD,GAA2B7hD,GAAQ,CACvC,MAAM8hD,EAAuB,CAACzlD,EAAOuH,IAAQ,CAC3C,MAAMm+C,EAAWn+C,IAAQ,KAAO,GAAK,IAAIA,CAAG,GAC5C,OAAOvH,IAAU,SAAW,UAAU0lD,CAAQ,UAAY1lD,IAAU,OAAS,UAAU0lD,CAAQ,QAAU,OAAO1lD,GAAU,UAAYA,IAAU,KAAOA,IAAU,KAAOA,IAAU,KAAOA,IAAU,KAAOA,IAAU,KAAOA,IAAU,IAAM,UAAU0lD,CAAQ,IAAI1lD,CAAK,GAAKA,IAAU,OAAS,UAAU0lD,CAAQ,KAAO1lD,IAAU,KAAO,UAAU0lD,CAAQ,KAAO1lD,IAAU,KAAO,UAAU0lD,CAAQ,KAAO,UAAUA,CAAQ,EAC/Z,EACA,OAAOxjD,EAAAA,SAAS,IAAM,CACpB,MAAMsI,EAAQpI,EAAAA,QAAQuB,CAAG,EACzB,MAAO,CACL,CAAC,GAAG8hD,EAAqBj7C,EAAM,QAAS,IAAI,CAAC,EAAE,EAAG,CAAC,CAACA,EAAM,QAC1D,CAAC,GAAGi7C,EAAqBj7C,EAAM,WAAY,KAAK,CAAC,EAAE,EAAG,CAAC,CAACA,EAAM,WAC9D,CAAC,GAAGi7C,EAAqBj7C,EAAM,cAAe,QAAQ,CAAC,EAAE,EAAG,CAAC,CAACA,EAAM,cACpE,CAAC,GAAGi7C,EAAqBj7C,EAAM,aAAc,OAAO,CAAC,EAAE,EAAG,CAAC,CAACA,EAAM,aAClE,CAAC,GAAGi7C,EAAqBj7C,EAAM,WAAY,KAAK,CAAC,EAAE,EAAG,CAAC,CAACA,EAAM,UACpE,CACE,CAAC,CACH,ECNMujB,GAAa,CACjB,IAAK,EACL,MAAO,iBACT,EACM4N,GAAa,CACjB,IAAK,EACL,MAAO,cACT,EACMgqB,GAAa,CAAC,MAAO,KAAK,EAC1BC,GAAa,CACjB,IAAK,EACL,MAAO,cACT,EACMC,GAAkB,GAClB7vB,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,UACR,MAAO,CACL,IAAK,CAAE,QAAS,QAAQ,EACxB,MAAO,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,EAAK,EAChD,eAAgB,CAAE,QAAS,IAAI,EAC/B,eAAgB,CAAE,QAAS,YAAY,EACvC,iBAAkB,CAAE,QAAS,IAAI,EACjC,aAAc,CAAE,QAAS,SAAS,EAClC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,kBAAmB,CAAE,KAAM,QAAS,QAAS,EAAK,EAClD,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,WAAY,CAAE,QAAS,QAAQ,EAC/B,KAAM,CAAE,QAAS,MAAM,EACvB,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,IAAK,CAAE,QAAS,MAAM,EACtB,KAAM,CAAE,QAAS,MAAM,EACvB,OAAQ,CAAE,KAAM,QAAS,QAAS,MAAM,EACxC,YAAa,CAAE,QAAS,MAAM,EAC9B,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,iBAAkB,CAAE,QAAS,MAAM,EACnC,KAAM,CAAE,QAAS,MAAM,EACvB,MAAO,CAAE,KAAM,OAAO,EACtB,QAAS,CAAE,QAAS,MAAM,EAC1B,aAAc,CAAE,QAAS,MAAM,EAC/B,SAAU,CAAE,KAAM,OAAO,EACzB,WAAY,CAAA,EACZ,WAAY,CAAE,KAAM,OAAO,EAC3B,gBAAiB,CAAA,EACjB,IAAK,CAAE,QAAS,MAAM,EACtB,QAAS,CAAE,KAAM,QAAS,QAAS,MAAM,EACzC,oBAAqB,CAAE,QAAS,MAAM,EACtC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,OAAQ,CAAE,QAAS,MAAM,EACzB,GAAI,CAAA,EACJ,gBAAiB,CAAE,QAAS,MAAM,EAClC,qBAAsB,CAAE,QAAS,MAAM,EACvC,iBAAkB,CAAE,QAAS,MAAM,EACnC,sBAAuB,CAAE,QAAS,MAAM,EACxC,iBAAkB,CAAE,QAAS,MAAM,EACnC,QAAS,CAAE,QAAS,WAAW,EAC/B,UAAW,CAAE,QAAS,IAAI,EAC1B,YAAa,CAAE,QAAS,IAAI,EAC5B,QAAS,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,QAAQ,EAC7D,WAAY,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAC9D,cAAe,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EACjE,aAAc,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAChE,WAAY,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,CAClE,EACE,MAAO,CAAC,QAAS,WAAW,EAC5B,MAAM2jB,EAAS,CAAE,KAAMuG,CAAM,EAAI,CAE/B,MAAM/pB,EAAQqjB,EADCG,EACmB,SAAS,EACrCwG,EAAOD,EACPjqB,EAAQ2jB,EAAAA,SAAQ,EAChB63B,EAAWhhD,EAAAA,IAAI0F,EAAM,GAAG,EAC9BnI,EAAAA,MACE,IAAMmI,EAAM,IACXxK,GAAU,CACT8lD,EAAS,MAAQ9lD,CACnB,CACN,EACI,KAAM,CAAE,aAAAqyB,EAAc,kBAAAC,GAAsBL,GAAeznB,CAAK,EAC1DzI,EAAaC,EAAAA,OAAOtB,GAAyB,IAAI,EACjDqlD,EAAQ,OAAO,OAAO,CAC1B,KACA,GAAG,OAAO,KAAK,CACb,GAAI,KACJ,GAAI,KACJ,GAAI,IACZ,CAAO,CACP,CAAK,EACKC,EAAwBH,GAAkB,GAC1CI,EAAiB/jD,EAAAA,SAAS,IAAM,CAAC6pB,GAAYzhB,EAAM,OAAO,CAAC,EAC3D47C,EAAehkD,EAAAA,SAAS,IAAM,CAAC6pB,GAAYzhB,EAAM,KAAK,CAAC,EACvD67C,EAAYjkD,EAAAA,SAAS,IAAM,CAAC,CAACsI,EAAM,OAASA,EAAM,QAAU,IAAM07C,EAAa,KAAK,EACpFE,EAAiBlkD,EAAAA,SAAS,KAAMH,GAAA,YAAAA,EAAY,OAAO,QAASyI,EAAM,MAAM,EACxE67C,EAAef,GAAoB,KAAMvjD,GAAA,YAAAA,EAAY,KAAK,QAASyI,EAAM,IAAI,EAC7E87C,EAA4BpkD,EAAAA,SAChC,IAAM,CAAC,CAACmkD,EAAa,OAASN,EAAM,SAASM,EAAa,KAAK,CACrE,EACUE,EAAkBrkD,EAAAA,SAAS,KAAMH,GAAA,YAAAA,EAAY,QAAQ,QAASyI,EAAM,OAAO,EAC3Eg8C,EAAkBtkD,EAAAA,SAAS,KAAMH,GAAA,YAAAA,EAAY,QAAQ,QAASyI,EAAM,OAAO,EAC3Ei8C,EAAqBvkD,EAAAA,SAAS,KAAMH,GAAA,YAAAA,EAAY,WAAW,QAASyI,EAAM,UAAU,EACpFk8C,EAAwBxkD,EAAAA,SAAS,KAAMH,GAAA,YAAAA,EAAY,cAAc,QAASyI,EAAM,aAAa,EAC7Fm8C,EAAuBzkD,EAAAA,SAAS,KAAMH,GAAA,YAAAA,EAAY,aAAa,QAASyI,EAAM,YAAY,EAC1Fo8C,EAAqB1kD,EAAAA,SAAS,KAAMH,GAAA,YAAAA,EAAY,WAAW,QAASyI,EAAM,UAAU,EACpFq8C,EAAuBrB,GAAwB,KAAO,CAC1D,QAASgB,EAAgB,MACzB,WAAYC,EAAmB,MAC/B,cAAeC,EAAsB,MACrC,aAAcC,EAAqB,MACnC,WAAYC,EAAmB,KACrC,EAAM,EACIE,EAAY5kD,EAAAA,SAAS,IAAMsI,EAAM,QAAU,GAAO,GAAKA,EAAM,KAAK,EAClEu8C,EAAqB7kD,EAAAA,SAAS,IAAM,CAAC4kD,EAAU,OAAS,CAACZ,EAAa,KAAK,EAC3Eh4B,EAAeJ,GAAuB,KAAO,CACjD,WAAW/rB,GAAA,YAAAA,EAAY,UAAU,QAASyI,EAAM,UAChD,aAAazI,GAAA,YAAAA,EAAY,YAAY,QAASyI,EAAM,YACpD,QAAS+7C,EAAgB,KAC/B,EAAM,EACIp4B,EAAkBjsB,EAAAA,SAAS,IAAM,CACrCgsB,EAAa,MAEbk4B,EAAe,QAAU,GAAO,OAASS,EAAqB,MAC9D,CACE,CAAC,YAAYR,EAAa,KAAK,EAAE,EAAGC,EAA0B,OAASD,EAAa,QAAU,KAC9F,CAAC,OAAOE,EAAgB,KAAK,EAAE,EAAG/7C,EAAM,OAAS+7C,EAAgB,QAAU,KAAO,GAClF,MAAS,CAAC/7C,EAAM,QAAU+7C,EAAgB,QAAU,MAAQN,EAAe,MAC3E,IAAOz7C,EAAM,OAEb,YAAa47C,EAAe,QAAU,EAC9C,CACA,CAAK,EACKY,EAAa9kD,EAAAA,SAAS,KAAO,CACjC,UAAYokD,EAA0B,MAAmE,GAA3D,QAAQD,EAAa,KAAK,MAAML,CAAqB,MAAa,EACtH,EAAM,EACIiB,EAAgB/kD,EAAAA,SAAS,IAAM,CACnC,MAAMglD,EAAYZ,EAA0B,MAA6D,KAArD,QAAQD,EAAa,KAAK,MAAMR,EAAe,IACnG,OAAOqB,EAAW,CAAE,SAAAA,CAAQ,EAAK,CAAA,CACnC,CAAC,EACKC,EAAcjlD,EAAAA,SAAS,IAAM,OACjC,MAAMklD,IAAetkD,EAAAf,GAAA,YAAAA,EAAY,eAAZ,YAAAe,EAA0B,QAAS,EAClD9C,EAAQqmD,EAAa,OAASe,EAAe,QAAQf,EAAa,KAAK,OAAOe,CAAY,IAAM,KACtG,OAAOpnD,EAAQ,CAAE,WAAYA,EAAO,YAAaA,CAAK,EAAK,CAAA,CAC7D,CAAC,EACK+1B,EAAc7zB,WAAS,IAAMmwB,EAAa,MAAQ8D,GAAc3rB,EAAM,OAAS,SAAW,MAAM,EAChG8rC,EAAgBp0C,EAAAA,SAAS,KAAO,CACpC,GAAGilD,EAAY,MACf,GAAIb,EAA0B,MAG1B,OAHkC,CACpC,MAAOD,EAAa,MACpB,OAAQA,EAAa,KAC7B,CACA,EAAM,EACIvxB,EAAWppB,GAAM,CACjB,CAAClB,EAAM,WAAa6nB,EAAa,OAAS7nB,EAAM,SAASgqB,EAAK,QAAS9oB,CAAC,CAC9E,EACM27C,EAAc37C,GAAM,CACxBo6C,EAAS,MAAQ,OACjBtxB,EAAK,YAAa9oB,CAAC,CACrB,EACA,MAAO,CAAC2iB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwBsH,EAAY,KAAK,EAAGZ,aAAW,CACrF,MAAO,CAAC,WAAYhH,EAAgB,KAAK,EACzC,MAAOmoB,EAAc,KAC7B,EAAS3qC,EAAAA,MAAM2mB,CAAiB,EAAG,CAC3B,KAAM3mB,EAAAA,MAAMnB,CAAK,EAAE,QAAU,CAACmB,EAAAA,MAAM0mB,CAAY,EAAI1mB,EAAAA,MAAMnB,CAAK,EAAE,WAAa,OAC9E,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY,KACnC,QAAS,KACT,QAASsqB,CACjB,CAAO,EAAG,CACF,QAASnG,EAAAA,QAAQ,IAAM,CACrBs3B,EAAe,OAAS13B,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,OAAQb,GAAY,CAC1Ec,aAAWR,EAAK,OAAQ,SAAS,CAC7C,CAAW,GAAOy3B,EAAS,OAASv3B,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,OAAQ+M,GAAY,CAC5EiC,EAAAA,mBAAmB,MAAO,CACxB,IAAKkoB,EAAS,MACd,IAAKn6C,EAAAA,MAAMnB,CAAK,EAAE,IAClB,QAAS68C,CACvB,EAAe,KAAM,GAAI1B,EAAU,CACnC,CAAW,GAAOh6C,EAAAA,MAAMnB,CAAK,EAAE,MAAQ+jB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,OAAQ,CACnE,IAAK,EACL,MAAO,gBACP,MAAOsP,EAAAA,eAAe+oB,EAAc,KAAK,CACrD,EAAal4B,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,IAAM+jB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,OAAQg3B,GAAYt3B,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,CAC1HsP,EAAAA,mBAAmB,MAAO,CACxB,MAAO,6BACP,MAAO,MACP,OAAQ,MACR,KAAM,eACN,MAAO,oBACP,QAAS,WACvB,EAAe,CACDA,EAAAA,mBAAmB,OAAQ,CAAE,EAAG,yEAAyE,CAAE,CACzH,EAAe,EAAE,CACjB,EAAY,GACFuoB,EAAU,OAAS53B,EAAAA,YAAaC,EAAAA,YAAYwP,GAAa,CACvD,IAAK,EACL,KAAMryB,EAAAA,MAAMnB,CAAK,EAAE,UACnB,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,mBAAqBu8C,EAAmB,MACtE,QAASp7C,EAAAA,MAAMnB,CAAK,EAAE,aACtB,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,eAC3B,eAAgBmB,EAAAA,MAAMnB,CAAK,EAAE,iBAC7B,MAAO0zB,EAAAA,eAAe8oB,EAAW,KAAK,EACtC,UAAWr7C,EAAAA,MAAMnB,CAAK,EAAE,cACpC,EAAa,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,QAAS,CAAA,EAAI,IAAM,CACzCS,EAAAA,gBAAgBC,EAAAA,gBAAgB+3B,EAAU,KAAK,EAAG,CAAC,CACnE,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,EAAG,CAAC,OAAQ,gBAAiB,UAAW,aAAc,eAAgB,QAAS,WAAW,CAAC,GAAK93B,EAAAA,mBAAmB,GAAI,EAAI,CACxI,CAAS,EACD,EAAG,CACX,EAAS,GAAI,CAAC,QAAS,QAAS,OAAQ,UAAU,CAAC,EAEjD,CACF,CAAC,EACKhT,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,eACR,MAAO,CACL,QAAS,CAAE,QAAS,EAAG,EACvB,KAAM,CAAE,QAAS,MAAM,EACvB,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,IAAK,CAAE,QAAS,KAAK,EACrB,QAAS,CAAE,QAAS,IAAI,EACxB,UAAW,CAAE,QAAS,IAAI,EAC1B,YAAa,CAAE,QAAS,IAAI,EAC5B,QAAS,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,QAAQ,EAC7D,WAAY,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAC9D,cAAe,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EACjE,aAAc,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAChE,WAAY,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,CAClE,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,cAAc,EAC1Cs5B,EAAgB39C,GAAY,IAAMa,EAAM,OAAO,EAC/C67C,EAAef,GAAoB,IAAM96C,EAAM,IAAI,EACnD48C,EAAellD,EAAAA,SAAS,IAAM,KAAK,IAAI,KAAK,IAAIolD,EAAc,MAAO,CAAC,EAAG,CAAC,EAAI,CAAC,EAC/EC,EAAerlD,EAAAA,SAAS,IAAM,CAClC,MAAMlC,EAAQqmD,EAAa,MAAQ,QAAQA,EAAa,KAAK,MAAMe,EAAa,KAAK,IAAM,KAC3F,OAAOpnD,EAAQ,CAAE,YAAaA,EAAO,aAAcA,CAAK,EAAK,CAAA,CAC/D,CAAC,EACDyb,OAAAA,EAAAA,QAAQ/a,GAAyB,CAC/B,aAAA0mD,EACA,KAAM3iD,EAAAA,MAAM,IAAM+F,EAAM,IAAI,EAC5B,OAAQ/F,EAAAA,MAAM,IAAM+F,EAAM,MAAM,EAChC,QAAS/F,EAAAA,MAAM,IAAM+F,EAAM,OAAO,EAClC,WAAY/F,EAAAA,MAAM,IAAM+F,EAAM,UAAU,EACxC,cAAe/F,EAAAA,MAAM,IAAM+F,EAAM,aAAa,EAC9C,aAAc/F,EAAAA,MAAM,IAAM+F,EAAM,YAAY,EAC5C,WAAY/F,EAAAA,MAAM,IAAM+F,EAAM,UAAU,EACxC,QAAS/F,EAAAA,MAAM,IAAM+F,EAAM,OAAO,EAClC,UAAW/F,EAAAA,MAAM,IAAM+F,EAAM,SAAS,EACtC,YAAa/F,EAAAA,MAAM,IAAM+F,EAAM,WAAW,CAChD,CAAK,EACM,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,MAAO,iBACP,KAAM,OACd,EAAS,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBiP,EAAAA,mBAAmB,MAAO,CACxB,MAAO,uBACP,MAAOM,EAAAA,eAAeqpB,EAAa,KAAK,CACpD,EAAa,CACD14B,aAAWR,EAAK,OAAQ,SAAS,CAC7C,EAAa,CAAC,CACd,CAAS,EACD,EAAG,CACX,CAAO,EAEL,CACF,CAAC,EClRK2H,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,kBACR,MAAO,CACL,YAAa,CAAE,QAAS,UAAU,EAClC,KAAM,CAAE,QAAS,MAAM,EACvB,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,YAAa,CAAE,QAAS,MAAM,EAC9B,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,iBAAkB,CAAE,QAAS,MAAM,EACnC,KAAM,CAAE,QAAS,MAAM,EACvB,KAAM,CAAE,KAAM,QAAS,QAAS,MAAM,EACtC,MAAO,CAAE,KAAM,OAAO,EACtB,QAAS,CAAE,QAAS,MAAM,EAC1B,aAAc,CAAE,QAAS,MAAM,EAC/B,SAAU,CAAE,KAAM,OAAO,EACzB,WAAY,CAAA,EACZ,WAAY,CAAE,KAAM,OAAO,EAC3B,gBAAiB,CAAA,EACjB,IAAK,CAAE,QAAS,MAAM,EACtB,QAAS,CAAE,KAAM,QAAS,QAAS,MAAM,EACzC,oBAAqB,CAAE,QAAS,MAAM,EACtC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,OAAQ,CAAE,QAAS,MAAM,EACzB,GAAI,CAAE,QAAS,MAAM,EACrB,gBAAiB,CAAE,QAAS,MAAM,EAClC,qBAAsB,CAAE,QAAS,MAAM,EACvC,iBAAkB,CAAE,QAAS,MAAM,EACnC,sBAAuB,CAAE,QAAS,MAAM,EACxC,iBAAkB,CAAE,QAAS,MAAM,EACnC,QAAS,CAAE,QAAS,MAAM,CAC9B,EACE,MAAO,CAAC,OAAO,EACf,MAAM2jB,EAAS,CAAE,KAAMuG,CAAM,EAAI,CAE/B,MAAM/pB,EAAQqjB,EADCG,EACmB,iBAAiB,EAC7CwG,EAAOD,EACPpG,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,OAAQsI,EAAM,MACpB,EAAM,EACIurB,EAAc7zB,EAAAA,SAAS,IAAMsI,EAAM,OAAS,OAAS2rB,EAAW,EAChEqxB,EAAsBtlD,EAAAA,SAAS,IAAMsI,EAAM,OAASA,EAAM,YAAc,MAAM,EAC9E8nB,EAAoBpwB,EAAAA,SACxB,IAAM6zB,EAAY,QAAU,OAAS3G,GAAK5kB,EAAO,CAC/C,SACA,cACA,SACA,WACA,OACA,MACA,UACA,sBACA,SACA,KACA,UACA,UACA,eACA,mBACA,kBACA,uBACA,mBACA,wBACA,MACR,CAAO,EAAI,CAAA,CACX,EACUsqB,EAAWppB,GAAM,CACrB,GAAIlB,EAAM,UAAYA,EAAM,OAAQ,CAClCkB,EAAE,eAAc,EAChBA,EAAE,yBAAwB,EAC1B,MACF,CACKlB,EAAM,UAAUgqB,EAAK,QAAS9oB,CAAC,CACtC,EACA,MAAO,CAAC2iB,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,KAAM,CAC3C,MAAOF,EAAAA,eAAe,CAAC,kBAAmBP,EAAgB,KAAK,CAAC,CACxE,EAAS,EACAI,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwBsH,EAAY,KAAK,EAAGZ,EAAAA,WAAW,CAAE,eAAgBqyB,EAAoB,KAAK,EAAIl1B,EAAkB,MAAO,CAAE,QAASwC,CAAO,CAAE,EAAG,CAC9K,QAASnG,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CACnE,CAAa,CACb,CAAW,EACD,EAAG,CACb,EAAW,GAAI,CAAC,cAAc,CAAC,EAC/B,EAAS,CAAC,EAER,CACF,CAAC,EACKujB,GAAa,CAAC,IAAI,EAClB4N,GAAa,CAAE,MAAO,YAAY,EAClC3f,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,cACR,MAAO,CACL,MAAO,CAAE,QAAS,MAAM,EACxB,GAAI,CAAE,QAAS,MAAM,CACzB,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,aAAa,EACzCy5B,EAAa5lD,GAAc,IAAM2I,EAAM,IAAM,IAAI,EACjDk9C,EAAwBxlD,EAAAA,SAAS,IAAM,OAC3C,MAAMylD,EAAan9C,EAAM,SAAS1H,EAAA2kD,EAAW,QAAX,YAAA3kD,EAAkB,QAAS,CAAA,EAC7D,IAAI8kD,EAAgB,GAYpB,OAXcD,EAAW,IAAI,CAAC1sC,EAAMme,KAC9B,OAAOne,GAAS,WAClBA,EAAO,CAAE,KAAMA,CAAI,EACfme,EAAMuuB,EAAW,OAAS,IAAG1sC,EAAK,KAAO,MAE3CA,EAAK,SAAQ2sC,EAAgB,IAC7B,CAAC3sC,EAAK,QAAU,CAAC2sC,IACnB3sC,EAAK,OAASme,EAAM,IAAMuuB,EAAW,QAEhC1sC,EACR,CAEH,CAAC,EACD,MAAO,CAACoT,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC5C,GAAIjjB,EAAAA,MAAMnB,CAAK,EAAE,GACjB,aAAc,YACtB,EAAS,CACDozB,EAAAA,mBAAmB,KAAMjC,GAAY,CACnC9M,aAAWR,EAAK,OAAQ,SAAS,GAChCE,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,WAAU,KAAM+uB,EAAAA,WAAW0C,EAAsB,MAAO,CAACzsC,EAAM9F,KAC3FoZ,EAAAA,UAAS,EAAIC,EAAAA,YAAYwH,GAAab,EAAAA,WAAW,CAAE,IAAKhgB,CAAC,EAAI,CAAE,QAAS,EAAI,EAAI8F,CAAI,EAAG,CAC5F,QAAS0T,EAAAA,QAAQ,IAAM,CACrBG,EAAAA,gBAAgBC,EAAAA,gBAAgB9T,EAAK,IAAI,EAAG,CAAC,CAC7D,CAAe,EACD,EAAG,CACjB,EAAe,IAAI,EACR,EAAG,GAAG,GACP4T,aAAWR,EAAK,OAAQ,SAAS,EACjCQ,aAAWR,EAAK,OAAQ,QAAQ,CAC1C,CAAS,CACT,EAAS,EAAGN,EAAU,EAEpB,CACF,CAAC,EC9IK85B,GAAa,OAAO,OAAW,KAAe,OAAO,SAAa,KAAe,OAAO,UAAc,IACtGC,GAAqBvhD,IACU,IAAM,CACvC,IAAIwhD,EAAwB,GAC5B,GAAIF,GACF,GAAI,CACF,MAAMG,EAAW,CAGf,IAAI,SAAU,CACZD,EAAwB,EAE1B,CACV,EACQ,OAAO,iBAAiB,OAAQC,EAAUA,CAAQ,EAClD,OAAO,oBAAoB,OAAQA,EAAUA,CAAQ,CACvD,MAAQ,CACND,EAAwB,EAC1B,CAEF,OAAOA,CACT,GAAC,EAEQ,OAAOxhD,GAAY,SAAWA,EAAU,CAAE,QAAS,CAAC,CAACA,GAAW,EAAK,EAEvE,OAAOA,GAAY,SAAWA,EAAQ,QAAUA,EAEnD0hD,GAAU,CAAC58C,EAAIuD,EAAWxC,EAAS7F,IAAY,CAC/C8E,GAAMA,EAAG,kBACXA,EAAG,iBAAiBuD,EAAWxC,EAAS07C,GAAkBvhD,CAAO,CAAC,CAEtE,EACM2hD,GAAW,CAAC78C,EAAIuD,EAAWxC,EAAS7F,IAAY,CAChD8E,GAAMA,EAAG,qBACXA,EAAG,oBAAoBuD,EAAWxC,EAAS7F,CAAO,CAEtD,EACM4hD,GAAa,CAACC,EAAIC,IAAgB,EACvBD,EAAKH,GAAUC,IACvB,GAAGG,CAAW,CACvB,EACMC,GAAY,CAACh9C,EAAO,CAAE,eAAA+M,EAAiB,GAAM,YAAAkwC,EAAc,GAAO,qBAAAC,EAAuB,EAAK,EAAK,KAAO,CAC1GnwC,GACF/M,EAAM,eAAc,EAElBi9C,GACFj9C,EAAM,gBAAe,EAEnBk9C,GACFl9C,EAAM,yBAAwB,CAElC,EC7CM0qB,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,eACR,MAAO,CACL,UAAW,CAAE,QAAS,OAAO,EAC7B,KAAM,CAAE,QAAS,IAAI,EACrB,IAAK,CAAE,QAAS,KAAK,EACrB,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,CAC7C,EACE,MAAM2jB,EAAS,CACbvS,EAAAA,QAAQja,GAAgB,EAAI,EAE5B,MAAMgJ,EAAQqjB,EADCG,EACmB,cAAc,EAC1CG,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,YAAa,CAACsI,EAAM,SACpB,CAAC,aAAaA,EAAM,IAAI,EAAE,EAAGA,EAAM,OAAS,KAC5C,qBAAsBA,EAAM,QAClC,EAAM,EACF,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,MAAOkkB,EAAAA,eAAeP,EAAgB,KAAK,EAC3C,KAAM,QACN,aAAcxiB,EAAAA,MAAMnB,CAAK,EAAE,SACnC,EAAS,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,CAC3C,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,QAAS,YAAY,CAAC,EAEjC,CACF,CAAC,EACKN,GAAa,CAAC,OAAQ,YAAY,EAClC/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,iBACR,MAAO,CACL,UAAW,CAAE,QAAS,OAAO,EAC7B,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,KAAM,CAAE,QAAS,SAAS,CAC9B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,gBAAgB,EAC5Cy6B,EAAapzB,EAAAA,eAAe,YAAY,EACxClH,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,0BAA2BsI,EAAM,OACvC,EAAM,EACIk+C,EAAuB,IACtBD,EAAW,MAEC,MAAM,KAAKA,EAAW,MAAM,iBAD5B,oKACqD,CAAC,EACvD,OAAQp9C,GAAO,CAC7B,MAAM+J,EAAQ,OAAO,iBAAiB/J,CAAE,EACxC,OAAO+J,EAAM,UAAY,QAAUA,EAAM,aAAe,QAC1D,CAAC,EAN6B,CAAA,EAQ1BuzC,EAAclwC,GAAYA,EAAQ,aAAa,UAAU,GAAKA,EAAQ,aAAa,eAAe,IAAM,OACxGmwC,EAAa,IAAM,CACvB1/C,EAAAA,SAAS,IAAM,CAEb,MAAM2/C,EADWH,EAAoB,EACP,KAAMr9C,GAAO,CAACs9C,EAAWt9C,CAAE,CAAC,EAC1Dw9C,GAAA,MAAAA,EAAc,OAChB,CAAC,CACH,EACMC,EAAY,IAAM,CACtB5/C,EAAAA,SAAS,IAAM,CAEb,MAAM6/C,EADWL,EAAoB,EACR,UAAU,KAAMr9C,GAAO,CAACs9C,EAAWt9C,CAAE,CAAC,EACnE09C,GAAA,MAAAA,EAAa,OACf,CAAC,CACH,EACMC,EAAY,IAAM,CACtB9/C,EAAAA,SAAS,IAAM,OACb,MAAMoU,EAAWorC,EAAoB,EAC/B9iC,EAAgB8F,GAAgB,EAChCse,EAAe1sB,EAAS,QAAQsI,CAAa,EACnD,GAAIokB,EAAe,GACjB,QAAS70B,EAAI60B,EAAe,EAAG70B,GAAK,EAAGA,IACrC,GAAI,CAACwzC,EAAWrrC,EAASnI,CAAC,CAAC,EAAG,EAC5BrS,EAAAwa,EAASnI,CAAC,IAAV,MAAArS,EAAa,QACb,KACF,EAGN,CAAC,CACH,EACMmmD,EAAY,IAAM,CACtB//C,EAAAA,SAAS,IAAM,OACb,MAAMoU,EAAWorC,EAAoB,EAC/B9iC,EAAgB8F,GAAgB,EAChCse,EAAe1sB,EAAS,QAAQsI,CAAa,EACnD,GAAIokB,EAAe1sB,EAAS,OAAS,GACnC,QAASnI,EAAI60B,EAAe,EAAG70B,EAAImI,EAAS,OAAQnI,IAClD,GAAI,CAACwzC,EAAWrrC,EAASnI,CAAC,CAAC,EAAG,EAC5BrS,EAAAwa,EAASnI,CAAC,IAAV,MAAArS,EAAa,QACb,KACF,EAGN,CAAC,CACH,EACMomD,EAAgB59C,GAAU,CAC9B,GAAI,CAACd,EAAM,OAAQ,OACnB,KAAM,CAAE,KAAA2+C,EAAM,SAAAC,CAAQ,EAAK99C,EACvB69C,IAAS34B,IAAa24B,IAASv4B,IACjC03B,GAAUh9C,CAAK,EACX89C,EACFR,EAAU,EAEVI,EAAS,GAEFG,IAASx4B,IAAcw4B,IAAS94B,IACzCi4B,GAAUh9C,CAAK,EACX89C,EACFN,EAAS,EAETG,EAAS,GAEFE,IAAS54B,IAClB+3B,GAAUh9C,CAAK,EACfs9C,EAAU,GACDO,IAAS74B,KAClBg4B,GAAUh9C,CAAK,EACfw9C,EAAS,EAEb,EACA,MAAO,CAACz6B,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC5C,QAAS,aACT,IAAK65B,EACL,MAAO/5B,EAAAA,eAAe,CAACP,EAAgB,MAAO,aAAa,CAAC,EAC5D,KAAMxiB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,UAC3B,UAAW0+C,CACnB,EAAS,CACDr6B,aAAWR,EAAK,OAAQ,SAAS,CACzC,EAAS,GAAIN,EAAU,EAErB,CACF,CAAC,EC7IK/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,OACR,MAAO,CACL,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,WAAY,CAAE,QAAS,aAAa,EACpC,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,OAAQ,CAAE,QAAS,MAAM,EACzB,IAAK,CAAE,QAAS,KAAK,EACrB,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,MAAO,CAAE,QAAS,MAAM,EACxB,IAAK,CAAE,QAAS,MAAM,EACtB,OAAQ,CAAE,QAAS,MAAM,EACzB,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,MAAO,CAAE,QAAS,MAAM,EACxB,UAAW,CAAE,QAAS,MAAM,EAC5B,QAAS,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,EAAK,EAC1D,WAAY,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAC9D,cAAe,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EACjE,aAAc,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAChE,WAAY,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,CAClE,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,MAAM,EAClCq7B,EAAe1/C,GAAY,IAAMa,EAAM,QAAU,OAAO,GAAG,EAC3D8+C,EAAc3/C,GAAY,IAAMa,EAAM,OAAS,OAAO,GAAG,EACzDq8C,EAAuBrB,GAAwB,KAAO,CAC1D,QAASh7C,EAAM,QACf,WAAYA,EAAM,WAClB,cAAeA,EAAM,cACrB,aAAcA,EAAM,aACpB,WAAYA,EAAM,UACxB,EAAM,EACI++C,EAAiBrnD,EAAAA,SACrB,IAAM,OAAOsI,EAAM,QAAW,SAAWA,EAAM,OAAO,MAAM,GAAG,EAAE,OAAQ8M,GAAMA,CAAC,EAAE,KAAK,GAAG,EAAI,MAAM,QAAQ9M,EAAM,MAAM,EAAIA,EAAM,OAAO,OAAQ8M,GAAMA,CAAC,EAAE,KAAK,GAAG,EAAI,MAC5K,EACUkyC,EAAgBtnD,EAAAA,SACpB,IAAM,OAAOsI,EAAM,OAAU,SAAWA,EAAM,MAAM,MAAM,GAAG,EAAE,OAAQ8M,GAAMA,CAAC,EAAE,KAAK,GAAG,EAAI,MAAM,QAAQ9M,EAAM,KAAK,EAAIA,EAAM,MAAM,OAAQ8M,GAAMA,CAAC,EAAE,KAAK,GAAG,EAAI,MACxK,EACUmyC,EAAqBvnD,EAAAA,SAAS,IAAM,CACxC,MAAM8d,EAAQ,OAAO,MAAMspC,EAAY,KAAK,EAAI,OAASA,EAAY,MAC/DrpC,EAAS,OAAO,MAAMopC,EAAa,KAAK,EAAI,OAASA,EAAa,MACxE,GAAI7+C,EAAM,MAAO,CACf,GAAIwV,IAAU,QAAUC,IAAW,OAAQ,MAAO,CAAE,OAAQD,EAAO,MAAAA,CAAK,EACxE,GAAIA,IAAU,QAAUC,IAAW,OAAQ,MAAO,CAAE,OAAAA,EAAQ,MAAOA,CAAM,EACzE,GAAID,IAAU,QAAUC,IAAW,OAAQ,MAAO,CAAE,OAAQ,EAAG,MAAO,CAAC,CACzE,CACA,MAAO,CACL,MAAAD,EACA,OAAAC,CACR,CACI,CAAC,EACKypC,EAAsBxnD,EAAAA,SAC1B,IAAMynD,EAAgBF,EAAmB,MAAM,MAAOA,EAAmB,MAAM,OAAQj/C,EAAM,UAAU,CAC7G,EACUo/C,EAAoB1nD,EAAAA,SAAS,KAAO,CACxC,cAAesI,EAAM,YAAc,QACnC,YAAaA,EAAM,YAAc,MACjC,UAAWA,EAAM,YAAc,QACrC,EAAM,EACI2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrC2kD,EAAqB,MACrB+C,EAAkB,MAClB,CACE,gBAAiBp/C,EAAM,UACvB,YAAaA,EAAM,OAASA,EAAM,UAClC,QAASA,EAAM,UACf,UAAWA,EAAM,OAASA,EAAM,YAAc,QACtD,CACA,CAAK,EACKm/C,EAAkB,CAAC3pC,EAAOC,EAAQ4pC,IAAU,oCAAoC,mBAAmB,eAAe7pC,CAAK,aAAaC,CAAM,qDAAqDD,CAAK,IAAIC,CAAM;AAAA,mDACrK4pC,CAAK;AAAA,WAC7C,CAAC,GACR,MAAO,CAACx7B,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,MAAOkkB,EAAAA,eAAe,CAACP,EAAgB,MAAO,OAAO,CAAC,EACtD,IAAMxiB,QAAMnB,CAAK,EAAE,MAA2Bk/C,EAAoB,MAAvC/9C,EAAAA,MAAMnB,CAAK,EAAE,IACxC,MAAOi/C,EAAmB,MAAM,OAAS,OACzC,OAAQA,EAAmB,MAAM,QAAU,OAC3C,OAAS99C,EAAAA,MAAMnB,CAAK,EAAE,MAA+B,OAAvB++C,EAAe,MAC7C,MAAQ59C,EAAAA,MAAMnB,CAAK,EAAE,MAA8B,OAAtBg/C,EAAc,MAC3C,QAAS79C,EAAAA,MAAMnB,CAAK,EAAE,KAAO,OAAS,OAC9C,EAAS,KAAM,EAAG,CAAC,QAAS,MAAO,QAAS,SAAU,SAAU,QAAS,SAAS,CAAC,EAEjF,CACF,CAAC,ECpFKs/C,GAA8Bz/C,EAAAA,gBAAgB,CAClD,OAAQ,WACR,MAAO,CACL,UAAW,CAAE,QAAS,KAAK,EAC3B,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,WAAY,CAAE,QAAS,MAAM,EAC7B,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,UAAW,CAAE,KAAM,QAAS,QAAS,MAAM,EAC3C,OAAQ,CAAE,QAAS,MAAM,EACzB,IAAK,CAAA,EACL,KAAM,CAAE,KAAM,QAAS,QAAS,MAAM,EACtC,MAAO,CAAE,QAAS,MAAM,EACxB,IAAK,CAAE,QAAS,MAAM,EACtB,OAAQ,CAAE,QAAS,MAAM,EACzB,UAAW,CAAE,KAAM,QAAS,QAAS,MAAM,EAC3C,MAAO,CAAE,QAAS,MAAM,EACxB,QAAS,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAC3D,WAAY,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAC9D,cAAe,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EACjE,aAAc,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAChE,WAAY,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,CAClE,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,UAAU,EACtC+7B,EAAuB7nD,EAAAA,SAAS,KAAO,CAC3C,eAAgBsI,EAAM,YAAc,MAEpC,eAAgBA,EAAM,YAAc,MACpC,kBAAmBA,EAAM,YAAc,SAEvC,iBAAkBA,EAAM,YAAc,QACtC,WAAYA,EAAM,YAAc,SACtC,EAAM,EACIw/C,EAAmB9nD,EAAAA,SAAS,IAAM+sB,GAAKzkB,EAAO,CAAC,WAAW,CAAC,CAAC,EAClE,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAYy7B,GAAa90B,EAAAA,WAAW60B,EAAiB,MAAO,CAAE,MAAOD,EAAqB,KAAK,CAAE,EAAG,KAAM,GAAI,CAAC,OAAO,CAAC,EAE/I,CACF,CAAC,EACKG,GAA8B7/C,EAAAA,gBAAgB,CAClD,OAAQ,gBACR,MAAO,CACL,cAAe,CAAE,QAAS,IAAI,EAC9B,IAAK,CAAE,QAAS,KAAK,EACrB,KAAM,CAAE,QAAS,MAAM,EACvB,QAAS,CAAE,QAAS,IAAI,EACxB,UAAW,CAAE,QAAS,IAAI,EAC1B,YAAa,CAAE,QAAS,IAAI,CAChC,EACE,MAAM2jB,EAAS,CAEb,MAAMG,EAAkBL,GADVE,CACsC,EACpD,MAAO,CAACK,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwBJ,EAAK,GAAG,EAAG,CACjE,MAAOK,EAAAA,eAAe/iB,EAAAA,MAAMwiB,CAAe,CAAC,CACpD,EAAS,CACD,QAASQ,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBV,EAAK,IAAI,EAAG,CAAC,CACzD,CAAW,CACX,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,OAAO,CAAC,EAEnB,CACF,CAAC,EACK87B,GAA8B9/C,EAAAA,gBAAgB,CAClD,OAAQ,cACR,MAAO,CACL,cAAe,CAAE,QAAS,MAAM,EAChC,IAAK,CAAE,QAAS,KAAK,EACrB,KAAM,CAAE,QAAS,MAAM,EACvB,QAAS,CAAE,QAAS,MAAM,EAC1B,UAAW,CAAE,QAAS,MAAM,EAC5B,YAAa,CAAE,QAAS,MAAM,CAClC,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,aAAa,EAC/C,MAAO,CAACK,EAAMC,KACLC,YAAS,EAAIC,cAAY07B,GAAa/0B,EAAAA,WAAW,CAAE,MAAO,aAAa,EAAIxpB,QAAMnB,CAAK,CAAC,EAAG,CAC/F,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,CAC3C,CAAS,EACD,EAAG,CACX,EAAS,EAAE,EAET,CACF,CAAC,EACKsU,GAA8Bt4B,EAAAA,gBAAgB,CAClD,OAAQ,aACR,MAAO,CACL,IAAK,CAAE,QAAS,IAAI,EACpB,KAAM,CAAE,QAAS,MAAM,CAC3B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,YAAY,EAC9C,MAAO,CAACK,EAAMC,KACLC,YAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CAAE,MAAO,YAAY,EAAI,CAClG,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CACjE,CAAW,CACX,CAAS,EACD,EAAG,CACX,CAAO,EAEL,CACF,CAAC,EACKwzB,GAA8B3zB,EAAAA,gBAAgB,CAClD,OAAQ,gBACR,MAAO,CACL,KAAM,CAAE,QAAS,MAAM,EACvB,IAAK,CAAE,QAAS,IAAI,EACpB,YAAa,CAAE,QAAS,gBAAgB,CAC5C,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,eAAe,EAC3CG,EAAkBL,GAAuBtjB,CAAK,EACpD,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,MAAOkkB,EAAAA,eAAe,CAAC,qBAAsB/iB,EAAAA,MAAMwiB,CAAe,CAAC,CAAC,CAC5E,EAAS,CACD,QAASQ,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CACjE,CAAW,CACX,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,OAAO,CAAC,EAEnB,CACF,CAAC,EACK2rB,GAA8B9rB,EAAAA,gBAAgB,CAClD,OAAQ,YACR,MAAO,CACL,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,SAAU,CAAE,QAAS,MAAM,EAC3B,YAAa,CAAE,QAAS,IAAI,EAC5B,oBAAqB,CAAE,QAAS,MAAM,EACtC,IAAK,CAAE,QAAS,KAAK,EACrB,KAAM,CAAE,QAAS,MAAM,EACvB,MAAO,CAAE,QAAS,MAAM,EACxB,SAAU,CAAE,QAAS,IAAI,EACzB,QAAS,CAAE,QAAS,IAAI,EACxB,UAAW,CAAE,QAAS,IAAI,EAC1B,YAAa,CAAE,QAAS,IAAI,CAChC,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,WAAW,EACvC1jB,EAAQ2jB,EAAAA,SAAQ,EAChBm8B,EAAeloD,EAAAA,SAAS,IAAM,CAAC6pB,GAAYzhB,EAAM,KAAK,CAAC,EACvD+/C,EAAkBnoD,EAAAA,SAAS,IAAM,CAAC6pB,GAAYzhB,EAAM,QAAQ,CAAC,EAC7D4jB,EAAeJ,GAAuBtjB,CAAK,EAC3C2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrCgsB,EAAa,MACb1jB,EAAM,QAAU,mBAAqB,WAC3C,CAAK,EACD,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,MAAOkkB,EAAAA,eAAeP,EAAgB,KAAK,CACnD,EAAS,CACD,QAASQ,EAAAA,QAAQ,IAAM,CACnBhjB,EAAAA,MAAMnB,CAAK,EAAE,OAAS4/C,EAAa,OAAS77B,EAAAA,UAAS,EAAIC,EAAAA,YAAYmU,GAAa,CAClF,IAAK,EACL,IAAKh3B,EAAAA,MAAMnB,CAAK,EAAE,QAC9B,EAAa,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,QAAS,CAAA,EAAI,IAAM,CACzCS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,KAAK,EAAG,CAAC,CACtE,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,EAAG,CAAC,KAAK,CAAC,GAAKwkB,EAAAA,mBAAmB,GAAI,EAAI,EAC3CrjB,EAAAA,MAAMnB,CAAK,EAAE,UAAY6/C,EAAgB,OAAS97B,EAAAA,UAAS,EAAIC,EAAAA,YAAYwP,GAAa,CACxF,IAAK,EACL,IAAKryB,EAAAA,MAAMnB,CAAK,EAAE,YAClB,eAAgBmB,EAAAA,MAAMnB,CAAK,EAAE,mBACzC,EAAa,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,WAAY,CAAA,EAAI,IAAM,CAC5CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,QAAQ,EAAG,CAAC,CACzE,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,EAAG,CAAC,MAAO,cAAc,CAAC,GAAKwkB,EAAAA,mBAAmB,GAAI,EAAI,EAC7DH,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CACjE,CAAW,CACX,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,OAAO,CAAC,EAEnB,CACF,CAAC,EACKwrB,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,cACR,MAAO,CACL,cAAe,CAAE,QAAS,MAAM,EAChC,IAAK,CAAE,QAAS,KAAK,EACrB,KAAM,CAAE,QAAS,MAAM,EACvB,QAAS,CAAE,QAAS,MAAM,EAC1B,UAAW,CAAE,QAAS,MAAM,EAC5B,YAAa,CAAE,QAAS,MAAM,CAClC,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,aAAa,EAC/C,MAAO,CAACK,EAAMC,KACLC,YAAS,EAAIC,cAAY07B,GAAa/0B,EAAAA,WAAW,CAAE,MAAO,aAAa,EAAIxpB,QAAMnB,CAAK,CAAC,EAAG,CAC/F,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CACjE,CAAW,CACX,CAAS,EACD,EAAG,CACX,EAAS,EAAE,EAET,CACF,CAAC,EACKwR,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,QACR,MAAO,CACL,MAAO,CAAE,QAAS,MAAM,EACxB,cAAe,CAAE,QAAS,MAAM,EAChC,UAAW,CAAE,QAAS,MAAM,EAC5B,QAAS,CAAE,QAAS,KAAK,EACzB,SAAU,CAAE,QAAS,EAAE,EACvB,gBAAiB,CAAE,QAAS,MAAM,EAClC,cAAe,CAAE,QAAS,IAAI,EAC9B,OAAQ,CAAE,QAAS,MAAM,EACzB,gBAAiB,CAAE,QAAS,MAAM,EAClC,oBAAqB,CAAE,QAAS,MAAM,EACtC,YAAa,CAAE,QAAS,MAAM,EAC9B,UAAW,CAAE,QAAS,KAAK,EAC3B,kBAAmB,CAAE,QAAS,MAAM,EACpC,cAAe,CAAE,QAAS,IAAI,EAC9B,OAAQ,CAAE,QAAS,MAAM,EACzB,gBAAiB,CAAE,QAAS,MAAM,EAClC,oBAAqB,CAAE,QAAS,MAAM,EACtC,YAAa,CAAE,QAAS,MAAM,EAC9B,UAAW,CAAE,QAAS,KAAK,EAC3B,kBAAmB,CAAE,QAAS,MAAM,EACpC,cAAe,CAAE,QAAS,IAAI,EAC9B,OAAQ,CAAE,QAAS,MAAM,EACzB,aAAc,CAAE,QAAS,KAAK,EAC9B,UAAW,CAAE,QAAS,MAAM,EAC5B,OAAQ,CAAE,QAAS,MAAM,EACzB,SAAU,CAAE,QAAS,MAAM,EAC3B,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,SAAU,CAAE,QAAS,MAAM,EAC3B,YAAa,CAAE,QAAS,IAAI,EAC5B,oBAAqB,CAAE,QAAS,gBAAgB,EAChD,IAAK,CAAE,QAAS,KAAK,EACrB,MAAO,CAAE,QAAS,MAAM,EACxB,SAAU,CAAE,QAAS,IAAI,EACzB,QAAS,CAAE,QAAS,IAAI,EACxB,UAAW,CAAE,QAAS,IAAI,EAC1B,YAAa,CAAE,QAAS,IAAI,CAChC,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,OAAO,EACnC1jB,EAAQ2jB,EAAAA,SAAQ,EAChBq8B,EAAgBpoD,EAAAA,SAAS,IAAM,CAAC6pB,GAAYzhB,EAAM,MAAM,CAAC,EACzDigD,EAAgBroD,EAAAA,SAAS,IAAM,CAAC6pB,GAAYzhB,EAAM,MAAM,CAAC,EACzD4jB,EAAeJ,GAAuBtjB,CAAK,EAC3C2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrCgsB,EAAa,MACb,CACE,CAAC,QAAQ1jB,EAAM,KAAK,EAAE,EAAGA,EAAM,QAAU,OACzC,WAAYA,EAAM,eAAiB,QACnC,mBAAoBA,EAAM,eAAiB,KACnD,CACA,CAAK,EACKggD,EAAUtoD,EAAAA,SAAS,KAAO,CAC9B,IAAKsI,EAAM,OACX,IAAKA,EAAM,OACX,OAAQA,EAAM,UACd,MAAOA,EAAM,SACb,UAAWA,EAAM,YACvB,EAAM,EACIigD,EAAcxgD,GAAsB,EAC1C,MAAO,CAACokB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,MAAOkkB,EAAAA,eAAe,CAAC,OAAQP,EAAgB,KAAK,CAAC,CAC7D,EAAS,CACD,QAASQ,EAAAA,QAAQ,IAAM,CACrBuH,EAAAA,YAAYvqB,EAAAA,MAAM8+C,CAAW,EAAE,OAAQ,KAAM,CAC3C,QAAS97B,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,MAAO,CAAA,EAAI,IAAM,CACvC1iB,QAAMnB,CAAK,EAAE,QAAU+jB,EAAAA,UAAS,EAAIC,cAAYs7B,GAAahsB,EAAAA,eAAe3I,aAAW,CAAE,IAAK,CAAC,EAAIq1B,EAAQ,KAAK,CAAC,EAAG,KAAM,EAAE,GAAKx7B,qBAAmB,GAAI,EAAI,CAC5K,CAAe,CACf,CAAa,EACD,EAAG,CACf,CAAW,EACDrjB,EAAAA,MAAMnB,CAAK,EAAE,eAAiB,UAAY+jB,EAAAA,UAAS,EAAIC,EAAAA,YAAY7iB,EAAAA,MAAM8+C,CAAW,EAAE,MAAO,CAAE,IAAK,CAAC,CAAE,GAAKz7B,EAAAA,mBAAmB,GAAI,EAAI,EACvIrjB,QAAMnB,CAAK,EAAE,QAAU8/C,EAAc,OAAS/7B,EAAAA,UAAS,EAAIC,EAAAA,YAAY27B,GAAa,CAClF,IAAK,EACL,aAAcx+C,EAAAA,MAAMnB,CAAK,EAAE,gBAC3B,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,cACtB,iBAAkBmB,EAAAA,MAAMnB,CAAK,EAAE,oBAC/B,IAAKmB,EAAAA,MAAMnB,CAAK,EAAE,UAClB,eAAgBmB,EAAAA,MAAMnB,CAAK,EAAE,kBAC7B,MAAOkkB,EAAAA,eAAe/iB,QAAMnB,CAAK,EAAE,WAAW,CAC1D,EAAa,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,SAAU,CAAA,EAAI,IAAM,CAC1CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,MAAM,EAAG,CAAC,CACvE,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,EAAG,CAAC,aAAc,UAAW,iBAAkB,MAAO,eAAgB,OAAO,CAAC,GAAKwkB,qBAAmB,GAAI,EAAI,EAChHrjB,EAAAA,MAAMnB,CAAK,EAAE,OAmBiIqkB,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAE,IAAK,CAAC,EAAI,IAAM,CAClMS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,QAAQ,EAAG,CAAC,CACrE,CAAW,GArBuB+jB,EAAAA,UAAS,EAAIC,EAAAA,YAAY2H,GAAa,CAC5D,IAAK,EACL,QAASxqB,EAAAA,MAAMnB,CAAK,EAAE,eAAiB,UACvC,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,cAC3B,IAAKmB,EAAAA,MAAMnB,CAAK,EAAE,QAClB,eAAgBmB,EAAAA,MAAMnB,CAAK,EAAE,gBAC7B,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,eAAgBmB,EAAAA,MAAMnB,CAAK,EAAE,YAC7B,wBAAyBmB,EAAAA,MAAMnB,CAAK,EAAE,oBACtC,MAAOmB,EAAAA,MAAMnB,CAAK,EAAE,MACpB,YAAamB,EAAAA,MAAMnB,CAAK,EAAE,SAC1B,MAAOkkB,EAAAA,eAAe/iB,QAAMnB,CAAK,EAAE,SAAS,CACxD,EAAa,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,QAAQ,EAAG,CAAC,CACzE,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,EAAG,CAAC,UAAW,aAAc,MAAO,eAAgB,WAAY,eAAgB,wBAAyB,QAAS,YAAa,OAAO,CAAC,GAG1ImB,QAAMnB,CAAK,EAAE,QAAU+/C,EAAc,OAASh8B,EAAAA,UAAS,EAAIC,EAAAA,YAAYwH,GAAa,CAClF,IAAK,EACL,aAAcrqB,EAAAA,MAAMnB,CAAK,EAAE,gBAC3B,iBAAkBmB,EAAAA,MAAMnB,CAAK,EAAE,oBAC/B,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,cACtB,IAAKmB,EAAAA,MAAMnB,CAAK,EAAE,UAClB,eAAgBmB,EAAAA,MAAMnB,CAAK,EAAE,kBAC7B,MAAOkkB,EAAAA,eAAe/iB,QAAMnB,CAAK,EAAE,WAAW,CAC1D,EAAa,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,SAAU,CAAA,EAAI,IAAM,CAC1CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,MAAM,EAAG,CAAC,CACvE,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,EAAG,CAAC,aAAc,iBAAkB,UAAW,MAAO,eAAgB,OAAO,CAAC,GAAKwkB,qBAAmB,GAAI,EAAI,EACjHrjB,EAAAA,MAAMnB,CAAK,EAAE,eAAiB,UAAY+jB,EAAAA,UAAS,EAAIC,EAAAA,YAAY7iB,EAAAA,MAAM8+C,CAAW,EAAE,MAAO,CAAE,IAAK,CAAC,CAAE,GAAKz7B,EAAAA,mBAAmB,GAAI,EAAI,CACjJ,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,OAAO,CAAC,EAEnB,CACF,CAAC,EC/WKgH,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,aACR,MAAO,CACL,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,IAAK,CAAE,QAAS,KAAK,CACzB,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,YAAY,EACxC08B,EAAgBxoD,EAAAA,SACpB,IAAMsI,EAAM,KAAO,YAAcA,EAAM,QAAU,eAAiB,YACxE,EACI,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,MAAOkkB,EAAAA,eAAeg8B,EAAc,KAAK,CACjD,EAAS,CACD,QAAS/7B,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,CAC3C,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,OAAO,CAAC,EAEnB,CACF,CAAC,EACKrS,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,YACR,MAAO,CACL,IAAK,CAAE,QAAS,GAAG,EACnB,KAAM,CAAE,QAAS,MAAM,CAC3B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,WAAW,EAC7C,MAAO,CAACK,EAAMC,KACLC,YAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CAAE,MAAO,WAAW,EAAI,CACjG,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CACjE,CAAW,CACX,CAAS,EACD,EAAG,CACX,CAAO,EAEL,CACF,CAAC,ECtCKmgD,GAAkB,CAACvF,EAAMwF,MAAcxF,GAAA,YAAAA,MAAY,CAAA,GAAI,OAAO,CAACxhD,EAAKinD,KACpE,OAAOA,EAAM,MAAS,SACxBjnD,EAAMA,EAAI,OAAOinD,EAAM,QAAQ,EAE/BjnD,EAAI,KAAKinD,CAAK,EAETjnD,GACN,CAAA,CAAE,EAAE,OAAQsJ,GAAK,OAAK,QAAApK,EAAAoK,EAAM,OAAN,YAAApK,EAAY,UAAW8nD,EAAQ,EAClDpH,GAAe,CAAC,IAAI,EACpB7nB,GAAa,CAAC,aAAc,WAAW,EACvCgqB,GAAa,CAAC,eAAgB,aAAc,gBAAiB,mBAAoB,SAAS,EAC1FC,GAAa,CACjB,IAAK,iBACL,MAAO,gBACT,EACMkF,GAAa,CAAE,MAAO,iBAAiB,EACvCC,GAAa,CAAE,MAAO,iBAAiB,EACvC/0B,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,YACR,MAAuB+qB,EAAAA,YAAY,CACjC,WAAY,CAAE,QAAS,MAAM,EAC7B,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,iBAAkB,CAAE,QAAS,MAAM,EACnC,iBAAkB,CAAE,QAAS,UAAU,EACvC,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,GAAI,CAAE,QAAS,MAAM,EACrB,UAAW,CAAE,QAAS,MAAM,EAC5B,SAAU,CAAE,QAAS,MAAM,EAC3B,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,sBAAuB,CAAE,QAAS,OAAO,EACzC,SAAU,CAAE,QAAS,GAAG,EACxB,gBAAiB,CAAE,QAAS,2BAA2B,EACvD,SAAU,CAAE,KAAM,QAAS,QAAS,EAAI,EACxC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,aAAc,CAAE,KAAM,QAAS,QAAS,EAAK,EAC7C,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,KAAM,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,EAAK,EAC/C,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,eAAgB,CAAE,QAAS,EAAE,CACjC,EAAK,CACD,WAAc,CAAE,QAAS,CAAC,EAC1B,eAAkB,CAAA,CACtB,CAAG,EACD,MAAuBA,EAAAA,YAAY,CAAC,QAAS,OAAQ,aAAc,YAAY,EAAG,CAAC,mBAAmB,CAAC,EACvG,MAAMpH,EAAS,CAAE,OAAQ6N,EAAU,KAAMtH,GAAU,CAEjD,MAAM/pB,EAAQqjB,EADCG,EACmB,WAAW,EACvCwG,EAAOD,EACPjqB,EAAQ2jB,EAAAA,SAAQ,EAChBiJ,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,UAAU,EAC7CwgD,EAAkB//B,GAAM,OAAQ,2BAA2B,EAC3DgM,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3Ci9B,EAAc51B,EAAAA,eAAe,cAAc,EAC3C61B,EAAuBvhD,GAAY,IAAMa,EAAM,cAAc,EAC7D2gD,EAAgBrmD,EAAAA,IAAI,IAAI,EAC9BmE,EAAAA,UAAU,IAAM,WACdkiD,EAAc,QAAQ3mD,IAAA1B,GAAAmoD,EAAY,QAAZ,YAAAnoD,GAAmB,KAAMsoD,IAASA,GAAK,IAAI,MAAM,UAAY,UAA7D,YAAA5mD,GAAsE,YAAa,IAC3G,CAAC,EACD,MAAM6mD,EAAiB1hD,GAAY,IAAMwhD,EAAc,OAAS3gD,EAAM,QAAQ,EACxE8gD,EAAkBxmD,EAAAA,IAAI,EAAK,EAC3BymD,EAAczmD,EAAAA,IAAI,EAAK,EACvB2D,EAAY3D,EAAAA,IAAI,EAAI,EACpB0mD,EAAgBn2B,EAAAA,eAAe,gBAAgB,EAC/C5c,EAAU4c,EAAAA,eAAe,UAAU,EACnCo2B,EAAqB3mD,EAAAA,IAAImyB,EAAW,KAAK,EACzCmL,EAAa3sB,GAAgBgD,CAAO,EACpCizC,EAAexpD,EAAAA,SACnB,IAAM,+BAAgCuG,EAAU,MAAiB,OAAT,MAAe,kBAAmBA,EAAU,MAAkB,MAAV,OAAe,EACjI,EACUkjD,EAAezpD,EAAAA,SACnB,IAAM,sCAAsCuG,EAAU,MAAQ,QAAU,KAAK,EACnF,EACU,CAAE,MAAA/B,EAAO,OAAAC,CAAM,EAAKwC,GACxB,IAAM,CACJ,GAAIqB,EAAM,YAAa,CACrB4Q,EAAI,EACJ,MACF,CACAgpC,EAAI,CACN,EACAiH,EACA,CAAE,UAAW7gD,EAAM,OAAS,UAAU,CAC5C,EACUohD,EAAW1pD,EAAAA,SACf,IAAMsI,EAAM,OAAS,IAAQ+gD,EAAY,QAAU,IAAQ/gD,EAAM,OAAS,UAChF,EACUqhD,EAAS3pD,EAAAA,SAAS,IAAMyoD,GAAgBrgD,EAAM,QAAS,gBAAgB,CAAC,EACxE6jB,EAAkBjsB,EAAAA,SAAS,KAAO,CAAE,gBAAiBsI,EAAM,IAAI,EAAG,EAClEshD,EAAwBxgD,YAAU,WAAIurB,GAAgBvrB,GAAO,CACjE,YAAa4rB,EAAW,MACxB,WAAY,GACZ,OAAQze,EAAQ,MAChB,UAAWhQ,EAAU,MAAQ,QAAU,OACvC,KAAMgjD,EAAmB,MACzB,GAAIx0B,EAAW,MACf,gBAAen0B,GAAA0oD,EAAc,QAAd,YAAA1oD,GAAqB,SAASm0B,EAAW,SAAU,IACxE,CAAK,GACK80B,EAAa/rD,IAAU,CAC3B,GAAIsrD,EAAgB,QAAU,GAQ9B,IAPI9gD,EAAM,OAAS,KACjB+gD,EAAY,MAAQ,IAElBK,EAAS,QAAU,IACrBjlD,EAAM,EAER8B,EAAU,MAAQ,EAAAzI,GAAQi3B,EAAW,OACjCj3B,IAAS6rD,EAAO,MAAM,OAAQ,CAChC,GAAIrhD,EAAM,OAAQ,OAClBysB,EAAW,MAAQ,EACnB,MACF,CACA,GAAIj3B,GAAQ,EAAG,CACb,GAAIwK,EAAM,OAAQ,OAClBysB,EAAW,MAAQ40B,EAAO,MAAM,OAAS,EACzC,MACF,CACAJ,EAAmB,MAAQx0B,EAAW,MACtCA,EAAW,MAAQj3B,GACrB,EACMob,EAAO,IAAM,CACjB2wC,EAAU90B,EAAW,MAAQ,CAAC,CAChC,EACMmtB,EAAO,IAAM,CACjB2H,EAAU90B,EAAW,MAAQ,CAAC,CAChC,EACM+0B,EAAaxpD,IAAO,CACpBgI,EAAM,WAAa,IACvBhI,GAAE,CACJ,EACM6/B,EAAe,IAAM,CACrB73B,EAAM,cACV9D,EAAK,CACP,EACM47B,EAAe,IAAM,CACpBspB,EAAS,OACdjlD,EAAM,CACR,EACM,CAAE,QAAAslD,CAAO,EAAKlzC,GAASN,EAAS,CACpC,QAAS,GACT,cAAe,CACTjO,EAAM,UAAY,IACtB9D,EAAK,CACP,EACA,YAAa,CACX,GAAI8D,EAAM,UAAY,GAAM,OAC5B,MAAM0hD,GAAe,IAAM,CACrBN,EAAS,QAAU,IACvBjlD,EAAM,CACR,EACA,GAAIslD,EAAQ,OAASf,EAAqB,MAAO,CAC/C9G,EAAI,EACJ8H,GAAY,EACZ,MACF,CACID,EAAQ,OAAS,CAACf,EAAqB,QACzC9vC,EAAI,EACJ8wC,GAAY,EAEhB,CACN,CAAK,EACKpyB,EAAgB,IAAM,CAC1BtF,EAAK,QAASs3B,EAAqB,OAAO,CAAC,EAC3CR,EAAgB,MAAQ,EAC1B,EACMtxB,EAAe,IAAM,CACzBxF,EAAK,OAAQs3B,EAAqB,MAAM,CAAC,EACzCR,EAAgB,MAAQ,EAC1B,EACMzxB,EAAgBxuB,IAAO,CACvB4rB,EAAW,QAAU,GACvB5rB,GAAG,UAAU,IAAI,eAAe,CAEpC,EACMuuB,EAAWvuB,IAAO,WACtB8/C,EAAc,QAAQ3mD,IAAA1B,GAAAmoD,EAAY,QAAZ,YAAAnoD,GAAmB,KAAMsoD,IAASA,GAAK,MAAQ//C,MAA/C,YAAA7G,GAAoD,YAAa,IACzF,EACAmK,GACE,YACA,IAAM,CACJq9C,EAAU5wC,CAAI,CAChB,EACA,CAAE,OAAQ3C,CAAO,CACvB,EACI9J,GACE,aACA,IAAM,CACJq9C,EAAU5H,CAAI,CAChB,EACA,CAAE,OAAQ3rC,CAAO,CACvB,EACIpW,EAAAA,MACE,IAAMmI,EAAM,KACZ,IAAM,CACJ+gD,EAAY,MAAQ,EACtB,CACN,EACIlpD,QAAM+/B,EAAa9/B,IAAa,CAC9B,GAAIA,GAAU,CACZ+/B,EAAY,EACZ,MACF,CACAC,EAAY,CACd,CAAC,EACD,MAAM6pB,GAAe7gD,IAAU,CAC7BkpB,EAAK,aAAclpB,EAAK,EACpB,CAAAA,GAAM,kBACV8P,EAAI,CACN,EACMgxC,GAAe9gD,IAAU,CAC7BkpB,EAAK,aAAclpB,EAAK,EACpB,CAAAA,GAAM,kBACV84C,EAAI,CACN,EACA,OAAAvoB,EAAS,CACP,KAAAuoB,EACA,MAAA19C,EACA,KAAA0U,EACA,OAAAzU,CACN,CAAK,EACD8U,EAAAA,QAAQnb,GAAsB,CAC5B,WAAYmE,EAAAA,MAAM,IAAM+F,EAAM,UAAU,EACxC,MAAO/F,EAAAA,MAAM,IAAM+F,EAAM,QAAQ,EACjC,OAAQ/F,EAAAA,MAAM,IAAM+F,EAAM,SAAS,CACzC,CAAK,EACM,CAAC6jB,GAAMC,MACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC5C,GAAIjjB,EAAAA,MAAMurB,CAAU,EACpB,IAAK,WACL,MAAOxI,EAAAA,eAAe,CAAC,+BAAgCP,EAAgB,KAAK,CAAC,CACrF,EAAS,CACDxiB,EAAAA,MAAMnB,CAAK,EAAE,YAAc+jB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAChE,IAAK,EACL,MAAO,sBACP,aAAcjjB,EAAAA,MAAMnB,CAAK,EAAE,gBAC3B,YAAamB,EAAAA,MAAMq/C,CAAe,CAC5C,EAAW,EACAz8B,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,EAAAA,SAAU,KAAM+uB,aAAW6G,EAAO,MAAM,OAAQ,CAACnkD,GAAGyN,KAAM,SAC7F,OAAOoZ,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,SAAU,CAC/C,IAAKzZ,GACL,KAAM,SACN,iBAAkB,GAClB,MAAOuZ,EAAAA,eAAevZ,KAAM8hB,EAAW,MAAQ,SAAW,EAAE,EAC5D,eAAgB9hB,KAAM8hB,EAAW,MAAQ,GAAO,OAChD,aAAc,GAAGtrB,QAAMnB,CAAK,EAAE,qBAAqB,IAAI2K,EAAC,GACxD,gBAAiBxJ,EAAAA,MAAMq/C,CAAe,EACtC,oBAAoBxmD,GAAA1B,EAAAmoD,EAAY,QAAZ,YAAAnoD,EAAoBqS,MAApB,YAAA3Q,EAAwB,IAC5C,QAAU4xB,GAAW21B,EAAU52C,EAAC,CAC9C,EAAe,KAAM,GAAIwwC,EAAU,CACzB,CAAC,EAAG,GAAG,EACjB,EAAW,EAAGhqB,EAAU,GAAK3M,EAAAA,mBAAmB,GAAI,EAAI,EAChD4O,EAAAA,mBAAmB,MAAOgoB,GAAY,CACpC1vB,EAAAA,YAAY+uB,EAAAA,gBAAiB,CAC3B,mBAAoByG,EAAa,MACjC,qBAAsBA,EAAa,MACnC,iBAAkBA,EAAa,MAC/B,mBAAoBC,EAAa,MACjC,qBAAsBA,EAAa,MACnC,iBAAkBA,EAAa,MAC/B,cAAA7xB,EACA,aAAAE,EACA,aAAAH,EACA,QAAAD,CACZ,EAAa,CACD,QAASjL,EAAAA,QAAQ,IAAM,EACpBJ,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,WAAU,KAAM+uB,EAAAA,WAAW6G,EAAO,MAAO,CAACQ,GAAOl3C,KAC7EwoB,EAAAA,gBAAgBpP,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwB49B,EAAK,EAAG,CAC9E,IAAKl3C,GACL,QAAS,GACT,IAAK,eACL,MAAOuZ,EAAAA,eAAe,CAAE,OAAQvZ,KAAM8hB,EAAW,OAASq0B,EAAgB,QAAU,GAAO,EAC3F,MAAOptB,EAAAA,eAAevyB,QAAMnB,CAAK,EAAE,aAAe,CAAE,WAAY,MAAM,CAAE,CAC1F,EAAmB,KAAM,EAAG,CAAC,QAAS,OAAO,CAAC,GAAI,CAChC,CAACyzB,EAAAA,MAAO9oB,KAAM8hB,EAAW,KAAK,CAChD,CAAiB,CACF,EAAG,GAAG,EACrB,CAAa,EACD,EAAG,CACf,EAAa,EAAG,CAAC,mBAAoB,qBAAsB,iBAAkB,mBAAoB,qBAAsB,gBAAgB,CAAC,CACxI,EAAW,GAAG,EACNtrB,QAAMnB,CAAK,EAAE,UAAY+jB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmBqH,WAAU,CAAE,IAAK,GAAK,CAC7E2H,EAAAA,mBAAmB,SAAU,CAC3B,MAAO,wBACP,KAAM,SACN,QAASuuB,EACrB,EAAa,CACD79B,GAAO,CAAC,IAAMA,GAAO,CAAC,EAAIsP,EAAAA,mBAAmB,OAAQ,CACnD,MAAO,6BACP,cAAe,MAC7B,EAAe,KAAM,EAAE,GACXA,qBAAmB,OAAQktB,GAAY/7B,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,gBAAgB,EAAG,CAAC,CACpG,CAAW,EACDozB,EAAAA,mBAAmB,SAAU,CAC3B,MAAO,wBACP,KAAM,SACN,QAASwuB,EACrB,EAAa,CACD99B,GAAO,CAAC,IAAMA,GAAO,CAAC,EAAIsP,EAAAA,mBAAmB,OAAQ,CACnD,MAAO,6BACP,cAAe,MAC7B,EAAe,KAAM,EAAE,GACXA,qBAAmB,OAAQmtB,GAAYh8B,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,gBAAgB,EAAG,CAAC,CACpG,CAAW,CACX,EAAW,EAAE,GAAKwkB,qBAAmB,GAAI,EAAI,CAC7C,EAAS,GAAIw0B,EAAY,EAEvB,CACF,CAAC,EACKz1B,GAAa,CAAC,IAAI,EAClB/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,iBACR,MAAO,CACL,WAAY,CAAE,QAAS,MAAM,EAC7B,QAAS,CAAE,QAAS,MAAM,EAC1B,WAAY,CAAE,QAAS,IAAI,EAC3B,WAAY,CAAE,QAAS,KAAK,EAC5B,iBAAkB,CAAE,QAAS,MAAM,EACnC,GAAI,CAAE,QAAS,MAAM,EACrB,OAAQ,CAAE,QAAS,MAAM,EACzB,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,cAAe,CAAE,QAAS,aAAa,EACvC,UAAW,CAAE,QAAS,MAAM,EAC5B,OAAQ,CAAE,QAAS,MAAM,EACzB,UAAW,CAAE,QAAS,MAAM,EAC5B,SAAU,CAAE,QAAS,MAAM,EAC3B,SAAU,CAAE,QAAS,MAAM,EAC3B,KAAM,CAAE,QAAS,MAAM,EACvB,QAAS,CAAE,QAAS,GAAG,CAC3B,EACE,MAAM2jB,EAAS,CAAE,OAAQ6N,CAAQ,EAAI,CAEnC,MAAMrxB,EAAQqjB,EADCG,EACmB,gBAAgB,EAC5C1jB,EAAQ2jB,EAAAA,SAAQ,EAChBiJ,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,gBAAgB,EACnDzI,EAAaC,EAAAA,OAAO1B,GAAsB,IAAI,EAC9CgsD,EAAUpqD,EAAAA,SAAS,IAAMsI,EAAM,MAAQ,CAACuhB,GAAYzhB,EAAM,IAAI,CAAC,EAC/DiiD,EAAarqD,EAAAA,SAAS,IAAMsI,EAAM,SAAW,CAACuhB,GAAYzhB,EAAM,OAAO,CAAC,EACxEkiD,EAAatqD,EAAAA,SAAS,IAAMoqD,EAAQ,OAASC,EAAW,OAAS,CAACxgC,GAAYzhB,EAAM,OAAO,CAAC,EAC5FgsC,EAAgBp0C,EAAAA,SAAS,KAAO,CACpC,WAAY,GAAGsI,EAAM,aAAczI,GAAA,YAAAA,EAAY,WAAW,QAAS,oBAAoB,2BAC7F,EAAM,EACI0qD,EAAyBvqD,EAAAA,SAAS,KAAO,CAC7C,SAAUsI,EAAM,mBAAqB,OACrC,CAAC,KAAKA,EAAM,gBAAgB,QAAQ,EAAGA,EAAM,mBAAqB,MACxE,EAAM,EACF,OAAAqxB,EAAS,CACP,UAAWp3B,EAAAA,MAAM,IAAM+F,EAAM,QAAQ,EACrC,IAAK0sB,CACX,CAAK,EACM,CAAC7I,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC5C,GAAIjjB,EAAAA,MAAMurB,CAAU,EACpB,MAAO,gBACP,MAAOgH,EAAAA,eAAeoY,EAAc,KAAK,CACjD,EAAS,CACDznB,EAAAA,WAAWR,EAAK,OAAQ,MAAO,CAAA,EAAI,IAAA,SAAM,OACvC6H,EAAAA,YAAYC,GAAa,CACvB,MAAO,gBACP,IAAKxqB,EAAAA,MAAMnB,CAAK,EAAE,OAClB,OAAQmB,EAAAA,MAAMnB,CAAK,EAAE,UACrB,IAAKmB,EAAAA,MAAMnB,CAAK,EAAE,OAClB,MAAOmB,EAAAA,MAAMnB,CAAK,EAAE,YAAYmB,EAAAA,EAAAA,MAAM5J,CAAU,IAAhB4J,YAAAA,EAAmB,MAAM,OACzD,OAAQA,EAAAA,MAAMnB,CAAK,EAAE,aAAamB,EAAAA,EAAAA,MAAM5J,CAAU,IAAhB4J,YAAAA,EAAmB,OAAO,OAC5D,MAAOA,EAAAA,MAAMnB,CAAK,EAAE,SACpB,cAAemB,EAAAA,MAAMnB,CAAK,EAAE,aACxC,EAAa,KAAM,EAAG,CAAC,MAAO,SAAU,MAAO,QAAS,SAAU,QAAS,aAAa,CAAC,CACzF,EAAS,EACDgiD,EAAW,OAASj+B,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwB9iB,QAAMnB,CAAK,EAAE,UAAU,EAAG,CAC7F,IAAK,EACL,MAAOkkB,EAAAA,eAAe,CAAC,mBAAoB+9B,EAAuB,KAAK,CAAC,CAClF,EAAW,CACD,QAAS99B,EAAAA,QAAQ,IAAM,CACrB49B,EAAW,OAASh+B,EAAAA,YAAaC,EAAAA,YAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,UAAU,EAAG,CAAE,IAAK,CAAC,EAAI,CACzG,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CuP,qBAAmB,OAAQ,KAAM7O,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,OAAO,EAAG,CAAC,CAC3F,CAAiB,CACjB,CAAe,EACD,EAAG,CACjB,CAAa,GAAKwkB,EAAAA,mBAAmB,GAAI,EAAI,EACjCs9B,EAAQ,OAAS/9B,EAAAA,YAAaC,EAAAA,YAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,OAAO,EAAG,CAAE,IAAK,CAAC,EAAI,CACnG,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,OAAQ,CAAA,EAAI,IAAM,CACxCuP,qBAAmB,OAAQ,KAAM7O,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CACxF,CAAiB,CACjB,CAAe,EACD,EAAG,CACjB,CAAa,GAAKwkB,EAAAA,mBAAmB,GAAI,EAAI,EACjCH,aAAWR,EAAK,OAAQ,SAAS,CAC7C,CAAW,EACD,EAAG,CACb,EAAW,EAAG,CAAC,OAAO,CAAC,GAAKW,EAAAA,mBAAmB,GAAI,EAAI,CACvD,EAAS,GAAIjB,EAAU,EAErB,CACF,CAAC,ECpZK2+B,GAAa,CAACliD,EAAOuf,EAAK4iC,EAAYC,EAAcD,IAAe5iC,EAAI,OAAO,CAACnmB,EAAKspB,KACnF1iB,EAAM0iB,CAAI,GACftpB,EAAI,KACF,CAACgpD,EAAa1/B,EAAK,QAAQy/B,EAAY,EAAE,EAAGniD,EAAM0iB,CAAI,CAAC,EAAE,OAAQxhB,GAAMA,GAAK,OAAOA,GAAM,SAAS,EAAE,KAAK,GAAG,EAAE,YAAW,CAC7H,EACS9H,GACN,EAAE,ECHCoY,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,OACR,MAAO,CACL,UAAW,CAAE,QAAS,MAAM,EAC5B,IAAK,CAAE,QAAS,KAAK,EACrB,MAAO,CAAE,QAAS,MAAM,EACxB,OAAQ,CAAE,QAAS,MAAM,EACzB,KAAM,CAAE,QAAS,MAAM,EACvB,IAAK,CAAE,KAAM,QAAS,QAAS,EAAK,EACpC,SAAU,CAAE,QAAS,MAAM,EAC3B,SAAU,CAAE,QAAS,MAAM,EAC3B,SAAU,CAAE,QAAS,MAAM,EAC3B,SAAU,CAAE,QAAS,MAAM,EAC3B,UAAW,CAAE,QAAS,MAAM,EAC5B,QAAS,CAAE,QAAS,MAAM,EAC1B,QAAS,CAAE,QAAS,MAAM,EAC1B,QAAS,CAAE,QAAS,MAAM,EAC1B,QAAS,CAAE,QAAS,MAAM,EAC1B,SAAU,CAAE,QAAS,MAAM,EAC3B,GAAI,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,EAAK,EACrD,GAAI,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,EAAK,EACrD,GAAI,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,EAAK,EACrD,GAAI,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,EAAK,EACrD,IAAK,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,EAAK,CAC1D,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,MAAM,EAClC6+B,EAAY3qD,EAAAA,SAAS,IAAM,CAC/B,GAAGwqD,GACD,CACE,GAAIliD,EAAM,GACV,GAAIA,EAAM,GACV,GAAIA,EAAM,GACV,GAAIA,EAAM,GACV,IAAKA,EAAM,GACrB,EACQ,CAAC,KAAM,KAAM,KAAM,KAAM,KAAK,EAC9B,KACR,EACM,GAAGkiD,GACD,CACE,MAAOliD,EAAM,MACb,QAASA,EAAM,QACf,QAASA,EAAM,QACf,QAASA,EAAM,QACf,QAASA,EAAM,QACf,SAAUA,EAAM,QAC1B,EACQ,CAAC,QAAS,UAAW,UAAW,UAAW,UAAW,UAAU,EAChE,OACR,EACM,GAAGkiD,GACD,CACE,OAAQliD,EAAM,OACd,SAAUA,EAAM,SAChB,SAAUA,EAAM,SAChB,SAAUA,EAAM,SAChB,SAAUA,EAAM,SAChB,UAAWA,EAAM,SAC3B,EACQ,CAAC,SAAU,WAAY,WAAY,WAAY,WAAY,WAAW,EACtE,QACR,CACA,CAAK,EACK2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrC2qD,EAAU,MACV,CACE,IAAKriD,EAAM,KAAO,CAACqiD,EAAU,MAAM,KAAM1qD,GAAMA,EAAE,WAAW,MAAM,CAAC,GAAK,CAACqI,EAAM,KAC/E,CAAC,OAAOA,EAAM,IAAI,EAAE,EAAGA,EAAM,OAAS,OACtC,CAAC,UAAUA,EAAM,MAAM,EAAE,EAAGA,EAAM,SAAW,OAC7C,CAAC,SAASA,EAAM,KAAK,EAAE,EAAGA,EAAM,QAAU,OAC1C,CAAC,cAAcA,EAAM,SAAS,EAAE,EAAGA,EAAM,YAAc,MAC/D,CACA,CAAK,EACD,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,MAAOkkB,EAAAA,eAAeP,EAAgB,KAAK,CACnD,EAAS,CACD,QAASQ,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,CAC3C,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,OAAO,CAAC,EAEnB,CACF,CAAC,ECvFKrS,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,aACR,MAAO,CACL,MAAO,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,EAAK,EAChD,QAAS,CAAE,QAAS,MAAM,EAC1B,QAAS,CAAE,QAAS,MAAM,EAC1B,IAAK,CAAE,QAAS,KAAK,CACzB,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,YAAY,EACxCG,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,UAAWsI,EAAM,QAAU,GAC1B,kBAAoBA,EAAM,QAAU,GACrC,CAAC,aAAaA,EAAM,KAAK,EAAE,EAAG,OAAOA,EAAM,OAAU,SACrD,CAAC,MAAMA,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,OAC3C,CAAC,MAAMA,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,MACjD,EAAM,EACF,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,MAAOkkB,EAAAA,eAAeP,EAAgB,KAAK,CACnD,EAAS,CACD,QAASQ,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,CAC3C,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,OAAO,CAAC,EAEnB,CACF,CAAC,EC9BKy+B,GAAgBC,GAAU7qD,EAAAA,SAAS,IAAM,CAC7C,MAAMlC,EAAQoC,EAAAA,QAAQ2qD,CAAK,EAC3B,OAAQ/sD,EAAa,mBAAmBA,CAAK,GAA7B,EAClB,CAAC,ECAKgc,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,OACR,MAAO,CACL,IAAK,CAAE,QAAS,KAAK,EACrB,QAAS,CAAE,QAAS,MAAM,EAC1B,QAAS,CAAE,QAAS,MAAM,EAC1B,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,OAAQ,CAAE,QAAS,MAAM,EACzB,OAAQ,CAAE,QAAS,MAAM,EACzB,aAAc,CAAE,QAAS,MAAM,EAC/B,KAAM,CAAE,QAAS,MAAM,EACvB,OAAQ,CAAE,QAAS,MAAM,EACzB,OAAQ,CAAE,QAAS,MAAM,EACzB,OAAQ,CAAE,QAAS,MAAM,EACzB,OAAQ,CAAE,QAAS,MAAM,EACzB,QAAS,CAAE,QAAS,MAAM,CAC9B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,MAAM,EAClC+W,EAAY+nB,GAAa,IAAMtiD,EAAM,MAAM,EAC3CwiD,EAAiB9qD,EAAAA,SACrB,IAAMwqD,GACJ,CACE,KAAMliD,EAAM,KACZ,OAAQA,EAAM,OACd,OAAQA,EAAM,OACd,OAAQA,EAAM,OACd,OAAQA,EAAM,OACd,QAASA,EAAM,OACzB,EACQ,CAAC,OAAQ,SAAU,SAAU,SAAU,SAAU,SAAS,EAC1D,OACA,UACR,CACA,EACU2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrC8qD,EAAe,MACf,CACE,CAAC,MAAMxiD,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,OAC3C,CAAC,MAAMA,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,OAC3C,MAAOA,EAAM,UACb,CAAC,eAAeA,EAAM,MAAM,EAAE,EAAGA,EAAM,SAAW,OAClD,CAACu6B,EAAU,KAAK,EAAGv6B,EAAM,SAAW,OACpC,CAAC,iBAAiBA,EAAM,YAAY,EAAE,EAAGA,EAAM,eAAiB,MACxE,CACA,CAAK,EACD,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,MAAOkkB,EAAAA,eAAe,CAAC,MAAOP,EAAgB,KAAK,CAAC,CAC5D,EAAS,CACD,QAASQ,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,CAC3C,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,OAAO,CAAC,EAEnB,CACF,CAAC,EClDKN,GAAa,CAAE,MAAO,iBAAiB,EACvC4N,GAAa,CAAC,KAAM,kBAAmB,MAAM,EAC7C3f,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,YACR,MAAuB+qB,EAAAA,YAAY,CACjC,UAAW,CAAE,QAAS,MAAM,EAC5B,UAAW,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,EAAI,EACnD,SAAU,CAAE,QAAS,mBAAmB,EACxC,gBAAiB,CAAE,QAAS,MAAM,EAClC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,mBAAoB,CAAE,QAAS,MAAM,EACrC,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,GAAI,CAAE,QAAS,MAAM,EACrB,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,UAAW,CAAE,QAAS,MAAM,EAC5B,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,OAAQ,CAAE,QAAS,CAAC,EACpB,KAAM,CAAE,QAAS,MAAM,EACvB,KAAM,CAAE,QAAS,IAAI,EACrB,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,gBAAiB,CAAE,QAAS,QAAQ,EACpC,WAAY,CAAE,QAAS,MAAM,EAC7B,cAAe,CAAE,KAAM,QAAS,QAAS,MAAM,EAC/C,UAAW,CAAE,QAAS,MAAM,EAC5B,QAAS,CAAE,QAAS,MAAM,EAC1B,aAAc,CAAE,QAAS,MAAM,EAC/B,SAAU,CAAE,QAAS,UAAU,EAC/B,KAAM,CAAE,QAAS,MAAM,EACvB,YAAa,CAAE,QAAS,MAAM,EAC9B,WAAY,CAAE,QAAS,iBAAiB,EACxC,QAAS,CAAE,QAAS,WAAW,EAC/B,aAAc,CAAE,QAAS,MAAM,EAC/B,UAAW,CAAE,QAAS,cAAc,EACpC,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,WAAY,CAAE,QAAS,MAAM,EAC7B,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,YAAa,CAAE,KAAM,OAAO,EAC5B,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,WAAY,CAAE,QAAS,MAAM,EAC7B,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAC5C,EAAK,CACD,WAAc,CAAE,KAAM,QAAc,QAAS,EAAO,EACpD,eAAkB,CAAA,CACtB,CAAG,EACD,MAAuBA,EAAAA,YAAY,CAAC,cAAe,OAAQ,iBAAkB,SAAU,OAAQ,iBAAkB,QAAS,SAAU,mBAAoB,SAAU,IAAI,EAAG,CAAC,mBAAmB,CAAC,EAC9L,MAAMpH,EAAS,CAAE,OAAQ6N,EAAU,KAAMtH,GAAU,CAEjD,MAAM/pB,EAAQqjB,EADCG,EACmB,WAAW,EACvCwG,EAAOD,EACP2C,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,UAAU,EAC7CysB,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3Ci/B,EAAejrD,EAAAA,OAAOT,GAAe,EAAK,EAC1C2rD,EAAgBlrD,EAAAA,OAAOR,GAAgB,EAAK,EAC5C2rD,EAAiBjrD,EAAAA,SACrB,IAAM,OAAOsI,EAAM,QAAW,UAAY,OAAOA,EAAM,QAAW,SAAWA,EAAM,OAAS,OAAO,GACzG,EACU4iD,EAAiBzjD,GAAYwjD,CAAc,EAC3C1R,EAAkBpmB,EAAAA,eAAe,WAAW,EAC5Cg4B,EAASh4B,EAAAA,eAAe,SAAS,EACjCi4B,EAAcj4B,EAAAA,eAAe,cAAc,EAC3CmS,EAAWtlC,EAAAA,SACf,IAAMu6C,GAAWjyC,EAAM,QAAQ,EAAIA,EAAM,SAAW,MAC1D,EACUi9B,EAAevlC,EAAAA,SACnB,IAAMw6C,GAAelyC,EAAM,QAAQ,EAAIA,EAAM,SAAW,MAC9D,EACUgxC,EAAmBt5C,WAAS,IAAOsI,EAAM,MAA4B6iD,EAAO,MAA3BC,EAAY,KAAoB,EACvF,IAAIniD,EACJ,KAAM,CACJ,QAAAksB,EACA,UAAAC,EACA,KAAAI,EACA,KAAAD,EACA,OAAA3hB,EACA,oBAAA+hB,EACA,gBAAAsE,EACA,eAAAlC,EACA,UAAAjO,CACN,EAAQgL,GAAYC,EAAYzsB,EAAOgqB,EAAMgnB,EAAkBtkB,EAAY,CACrE,OAAQ,IAAM,CACZ9jB,EAAM,EACNlK,EAAAA,SAAS,IAAM,CACbiC,EAAU0tC,GACR2C,EAAiB,MACjBC,EAAgB,MAChBroC,EACA,CACE,eAAgB,EAC9B,CACA,CACQ,CAAC,CACH,EACA,OAAQ,IAAM,CACRjI,IACFA,EAAO,EACPA,EAAU,OAEd,CACN,CAAK,EACKoiD,EAAsBrrD,EAAAA,SAAS,IAAM,CACzC,CACE,KAAM8pB,EAAU,MAChB,KAAM,CAAC6L,EAAoB,KACnC,CACA,CAAK,EACDlpB,GACE,SACA,IAAM,QACJ+oB,EAAI,GACJ50B,GAAAq3B,GAAWqhB,EAAiB,KAAK,IAAjC,MAAA14C,GAAoC,OACtC,EACA,CAAE,OAAQ04C,CAAgB,CAChC,EACI7sC,GACE,SACA,IAAM,QACJ+oB,EAAI,GACJ50B,GAAAq3B,GAAWqhB,EAAiB,KAAK,IAAjC,MAAA14C,GAAoC,OACtC,EACA,CAAE,OAAQ24C,CAAe,CAC/B,EACI,MAAM+R,EAAS,CAAC9hD,GAAGvJ,KAAM,sBAEvB,IADIqC,GAAAi3C,EAAgB,QAAhB,MAAAj3C,GAAuB,UAAS1B,GAAA4I,GAAE,SAAF,YAAA5I,GAAU,QAAQ,UAClD,qCAAqC,MAAK0qB,GAAA9hB,GAAE,SAAF,YAAA8hB,GAAU,OAAO,EAAG,OAElE,GADA9hB,GAAE,eAAc,EACZ,CAAC2rB,EAAQ,MAAO,CAClBI,EAAI,EACJ,MAAMnoB,GAAO,YAAY,IAAM,CACzB0c,EAAU,QACZ,cAAc1c,EAAI,EAClBpG,EAAAA,SAAS,IAAMskD,EAAO9hD,GAAGvJ,EAAC,CAAC,EAE/B,EAAG,EAAE,EACL,MACF,CACA,MAAM49B,IAAOxS,EAAAkuB,EAAgB,QAAhB,YAAAluB,EAAuB,iBAClC,gDAEF,GAAKwS,GACL,IAAI7M,EAAAuoB,EAAgB,QAAhB,MAAAvoB,EAAuB,SAAS,SAAS,eAAgB,CAC3D,MAAMu6B,GAAShS,EAAgB,MAAM,cAAc,sBAAsB,EACnE33C,EAAQ,MAAM,UAAU,QAAQ,KAAKi8B,GAAM0tB,EAAM,EAAItrD,GACvD2B,GAAS,GAAKA,GAAQi8B,IAAA,YAAAA,GAAM,WAAQ9M,EAAA8M,GAAKj8B,CAAK,IAAV,MAAAmvB,EAAa,QACvD,MACED,EAAA+M,GAAK59B,KAAM,GAAK49B,GAAK,OAAS,EAAI,CAAC,IAAnC,MAAA/M,EAAsC,OAE1C,EACArkB,GAAY,UAAYjD,IAAM8hD,EAAO9hD,GAAG,EAAE,EAAG,CAAE,OAAQ8vC,EAAkB,EACzE7sC,GAAY,YAAcjD,IAAM8hD,EAAO9hD,GAAG,CAAC,EAAG,CAAE,OAAQ8vC,EAAkB,EAC1E7sC,GAAY,UAAYjD,IAAM8hD,EAAO9hD,GAAG,EAAE,EAAG,CAAE,OAAQ+vC,EAAiB,EACxE9sC,GAAY,YAAcjD,IAAM8hD,EAAO9hD,GAAG,CAAC,EAAG,CAAE,OAAQ+vC,EAAiB,EACzE,MAAMkB,EAAa73C,EAAAA,IAAI,EAAE,EACnB83C,EAAqB16C,EAAAA,SAAS,IAAM,CACxC,GAAIsI,EAAM,qBAAuB,OAC/B,OAAOA,EAAM,mBAEf,MAAMkjD,GAAc,OAAOljD,EAAM,QAAW,UAAY,OAAOA,EAAM,QAAW,SAAW4iD,EAAe,MAAQ5iD,EAAM,OAClH5G,GAAM,CAACwW,GAAOszC,EAAW,CAAC,EAChC,OAAIljD,EAAM,SAAW,IACnB5G,GAAI,KACFq2C,GAAK,CACH,SAAUzS,EAAS,MACnB,aAAcC,EAAa,MAC3B,QAASj9B,EAAM,eAC3B,CAAW,CACX,EAEUA,EAAM,UAAY,IACpB5G,GAAI,KACFo2C,GAAM,CACJ,SAAUxS,EAAS,MACnB,aAAcC,EAAa,MAC3B,QAASj9B,EAAM,eAC3B,CAAW,CACX,EAEUA,EAAM,SAAW,IACnB5G,GAAI,KACFkN,GAAK,CACH,SAAU02B,EAAS,MACnB,aAAcC,EAAa,MAC3B,QAASj9B,EAAM,gBACf,MAAM,CAAE,eAAA0lC,GAAgB,gBAAAD,IAAmB,WACzC0M,EAAW,MAAQ,CACjB,UAAW1M,OAAoBntC,GAAA24C,EAAgB,QAAhB,YAAA34C,GAAuB,eAAgB,GAAK,OAASmtC,GAAkB,GAAG,KAAK,IAAI,EAAGA,EAAe,CAAC,KAAO,OAC5I,SAAUC,OAAmB1rC,GAAAi3C,EAAgB,QAAhB,YAAAj3C,GAAuB,cAAe,GAAK,OAAS0rC,GAAiB,GAAG,KAAK,IAAI,EAAGA,EAAc,CAAC,KAAO,MACvJ,CACY,CACZ,CAAW,CACX,EAEatsC,EACT,CAAC,EACK,CAAE,OAAAwP,EAAQ,eAAAuoC,CAAc,EAAKd,GAAYW,EAAkBC,EAAiB,CAChF,UAAW,IAAMjxC,EAAM,UACvB,WAAYoyC,EACZ,SAAUn4C,EAAAA,MAAM,IAAM+F,EAAM,QAAQ,CAC1C,CAAK,EACKmjD,EAA0BT,EAAgB,CAC9C,MAAO,YACP,KAAM,OACZ,EAAQ,OACE/+B,EAAkBjsB,EAAAA,SAAS,IAAM,CACrCyrD,GAAA,YAAAA,EAAyB,MACzBnjD,EAAM,aACN,CACE,YAAa,CAACA,EAAM,cAAgBA,EAAM,MAC1C,CAAC,OAAO6zC,GAAsB7zC,EAAM,SAAS,CAAC,EAAE,EAAG,CAACA,EAAM,aAC1D,kBAAmBA,EAAM,WAAa,qBAAuB,CAACA,EAAM,KAC5E,CACA,CAAK,EACKojD,EAAgB1rD,EAAAA,SAAS,IAAM,CACnCsI,EAAM,MAAQA,EAAM,WAAaA,EAAM,YACvC,CACE,WAAYA,EAAM,MAClB,kBAAmB,CAACA,EAAM,MAC1B,2BAA4BA,EAAM,SAAW,CAACA,EAAM,MACpD,KAAQA,EAAM,MAAQ,OAAS6sB,EAAQ,KAC/C,CACA,CAAK,EACKw2B,EAAgB,IAAM,CAC1B/3C,EAAM,CACR,EACMg4C,EAAgBxiD,IAAU,CAC9B,GAAId,EAAM,MAAO,CACfgqB,EAAK,cAAelpB,EAAK,EACzB,MACF,CACAuiD,EAAa,CACf,EACA1hD,GACEsvC,EACA,IAAM,CACApkB,EAAQ,QAAU7sB,EAAM,YAAc,IAAQA,EAAM,YAAc,YACpEktB,EAAI,CAER,EACA,CAAE,OAAQ,CAAC21B,EAAQC,CAAW,CAAC,CACrC,EACI,MAAMS,EAAgB,IAAM,CACtB12B,EAAQ,QAAU7sB,EAAM,YAAc,IAAQA,EAAM,YAAc,WACpEktB,EAAI,CAER,EACAr1B,OAAAA,EAAAA,MAAM2pB,EAAW,IAAM,CACrB5Y,EAAM,CACR,CAAC,EACDyoB,EAAS,CACP,KAAAnE,EACA,KAAAD,EACA,OAAA3hB,CACN,CAAK,EACD2F,EAAAA,QAAQza,GAAsB,CAC5B,GAAIk2B,EACJ,KAAAO,EACA,KAAAC,EACA,OAAA5hB,EACA,QAASrR,EAAAA,MAAM,IAAM4yB,EAAQ,KAAK,EAClC,MAAO5yB,EAAAA,MAAM,IAAM+F,EAAM,KAAK,CACpC,CAAK,EACM,CAAC6jB,GAAMC,KAAW,QACvB,OAAOC,EAAAA,UAAS,EAAIC,EAAAA,YAAYwH,GAAa,CAC3C,KAAMrqB,EAAAA,MAAMshD,CAAY,GAAKthD,EAAAA,MAAMnB,CAAK,EAAE,UAC1C,MAAOkkB,EAAAA,eAAeP,EAAgB,KAAK,EAC3C,MAAMxiB,GAAAA,EAAAA,MAAMgiD,CAAuB,IAA7BhiD,YAAAA,GAAgC,IAC9C,EAAS,CACD,QAASgjB,EAAAA,QAAQ,IAAM,CACrBuH,EAAAA,YAAYC,GAAa,CACvB,GAAIxqB,EAAAA,MAAMurB,CAAU,EACpB,IAAK,eACL,QAASvrB,EAAAA,MAAMnB,CAAK,EAAE,cAAgBmB,EAAAA,MAAMnB,CAAK,EAAE,QACnD,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,MAAOkkB,EAAAA,eAAek/B,EAAc,KAAK,EACzC,SAAUjiD,EAAAA,MAAMnB,CAAK,EAAE,eAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,SACrD,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,gBACnB,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,UAC3B,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,MAAQ,OAASmB,EAAAA,MAAM0rB,CAAO,EAC5D,gBAAiB1rB,EAAAA,MAAMnB,CAAK,EAAE,MAAQ,OAAS,OAC/C,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,MAAQmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY,OACpD,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,GAAImB,EAAAA,MAAMnB,CAAK,EAAE,OAASmB,EAAAA,MAAMnB,CAAK,EAAE,QAAUmB,EAAAA,MAAMnB,CAAK,EAAE,QAAU,OACxE,QAASsjD,CACrB,EAAa,CACD,QAASn/B,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,GAAK,OAAQ,iBAAkB,CAAA,EAAI,IAAM,CAClDS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CACrE,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,EAAG,CAAC,KAAM,UAAW,OAAQ,QAAS,WAAY,OAAQ,aAAc,gBAAiB,gBAAiB,OAAQ,OAAQ,IAAI,CAAC,EAClImB,EAAAA,MAAMnB,CAAK,EAAE,OAAS+jB,EAAAA,UAAS,EAAIC,EAAAA,YAAY2H,GAAa,CAC1D,IAAK,EACL,GAAIxqB,EAAAA,MAAMurB,CAAU,EAAI,SACxB,IAAK,UACL,QAASvrB,EAAAA,MAAMnB,CAAK,EAAE,QACtB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,MAAOkkB,EAAAA,eAAe,CAAC,CAAC/iB,EAAAA,MAAMnB,CAAK,EAAE,YAAa,CAAE,KAAMmB,EAAAA,MAAM0rB,CAAO,CAAC,CAAE,EAAG,uCAAuC,CAAC,EACrH,gBAAiB1rB,EAAAA,MAAM0rB,CAAO,EAC9B,gBAAiB,OACjB,QAASw2B,CACrB,EAAa,CACD,QAASl/B,EAAAA,QAAQ,IAAM,CACrBiP,EAAAA,mBAAmB,OAAQ7P,GAAY,CACrCc,EAAAA,WAAWR,GAAK,OAAQ,cAAe,CAAA,EAAI,IAAM,CAC/CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,UAAU,EAAG,CAAC,CAC7E,CAAiB,CACjB,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,EAAG,CAAC,KAAM,UAAW,OAAQ,WAAY,QAAS,eAAe,CAAC,GAAKwkB,qBAAmB,GAAI,EAAI,EACrGkH,EAAAA,YAAY8H,GAAa,CACvB,GAAIryB,EAAAA,MAAMnB,CAAK,EAAE,WACjB,SAAU,CAACmB,EAAAA,MAAMnB,CAAK,EAAE,YAAcmB,EAAAA,MAAMnB,CAAK,EAAE,gBAC/D,EAAa,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBhjB,EAAAA,MAAM2rB,CAAS,GAAK3rB,EAAAA,MAAMsuB,CAAc,GAAK1L,EAAAA,UAAS,EAAIC,EAAAA,YAAYkP,EAAAA,WAAYvI,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAIxpB,EAAAA,MAAMwwB,CAAe,EAAG,CAC/H,OAAQlF,EAAW,OAAStrB,EAAAA,MAAMnB,CAAK,EAAE,OACzD,CAAe,EAAG,CACF,QAASmkB,EAAAA,QAAQ,IAAM,CACrBgP,EAAAA,eAAeC,EAAAA,mBAAmB,KAAM,CACtC,GAAIjyB,EAAAA,MAAMurB,CAAU,EAAI,QACxB,IAAK,YACL,MAAOgH,EAAAA,eAAe,CAACvyB,EAAAA,MAAMgwC,CAAc,EAAGgB,EAAW,MAAO,CAAE,QAAShxC,EAAAA,MAAM0rB,CAAO,EAAI,QAAU,MAAM,CAAE,CAAC,EAC/G,MAAO3I,EAAAA,eAAe,CAAC,8BAA+B,CAAC/iB,EAAAA,MAAMnB,CAAK,EAAE,UAAW+iD,EAAoB,KAAK,CAAC,CAAC,EAC1G,kBAAmB5hD,EAAAA,MAAMurB,CAAU,EACnC,KAAMvrB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,QAASujD,CAC7B,EAAqB,CACDpiD,EAAAA,MAAMsuB,CAAc,EAAIpL,EAAAA,WAAWR,GAAK,OAAQ,UAAW,CACzD,IAAK,EACL,GAAI1iB,EAAAA,MAAMurB,CAAU,EACpB,KAAMvrB,EAAAA,MAAM+rB,CAAI,EAChB,KAAM/rB,EAAAA,MAAM8rB,CAAI,EAChB,QAAS9rB,EAAAA,MAAM0rB,CAAO,EACtB,MAAO02B,EACP,OAAQF,EACR,OAAQliD,EAAAA,MAAM0rB,CAAO,CAC3C,CAAqB,EAAIrI,EAAAA,mBAAmB,GAAI,EAAI,CACpD,EAAqB,GAAI2M,EAAU,EAAG,CAClB,CAACsC,EAAAA,MAAOtyB,EAAAA,MAAM0rB,CAAO,CAAC,CAC1C,CAAmB,CACnB,CAAiB,EACD,EAAG,CACnB,EAAiB,GAAI,CAAC,QAAQ,CAAC,GAAKrI,EAAAA,mBAAmB,GAAI,EAAI,CAC/D,CAAa,EACD,EAAG,CACf,EAAa,EAAG,CAAC,KAAM,UAAU,CAAC,CAClC,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,OAAQ,QAAS,MAAM,CAAC,CACjC,CACF,CACF,CAAC,EC/WKk7B,GAA8B7/C,EAAAA,gBAAgB,CAEhD,aAAc,GAEhB,OAAQ,mBACR,MAAO,CACL,aAAc,CAAE,QAAS,MAAM,EAC/B,IAAK,CAAE,QAAS,IAAI,EACpB,QAAS,CAAA,EACT,aAAc,CAAE,QAAS,MAAM,CACnC,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,kBAAkB,EAC9CvjB,EAAQgqB,EAAAA,SAAQ,EAChBgvB,EAAiBvhD,EAAAA,SAAS,IAAM,CACpC,KAAM,CAAE,MAAOwhD,EAAc,GAAGsK,CAAY,EAAKvjD,EACjD,MAAO,CAAE,aAAAi5C,EAAc,aAAAsK,CAAY,CACrC,CAAC,EACD,MAAO,CAAC3/B,EAAMC,KACLC,YAAS,EAAIK,qBAAmB,KAAMuG,EAAAA,WAAW,CACtD,KAAM,eACN,MAAOsuB,EAAe,MAAM,YACpC,EAASp1B,EAAK,YAAY,EAAG,EACpBE,YAAS,EAAIC,EAAAA,YAAYC,0BAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG2qB,aAAW,CAC9E,MAAO,CAAC,mBAAoBxpB,EAAAA,MAAMnB,CAAK,EAAE,YAAY,EACrD,KAAM,YACN,mBAAoB,YAC9B,EAAWi5C,EAAe,MAAM,YAAY,EAAG,KAAM,GAAI,CAAC,OAAO,CAAC,EAClE,EAAS,EAAE,EAET,CACF,CAAC,EACKwK,GAAe,CAAC,YAAY,EAC5B9D,GAA8B9/C,EAAAA,gBAAgB,CAEhD,aAAc,GAEhB,OAAQ,gBACR,MAAO,CACL,UAAW,CAAE,QAAS,MAAM,EAC5B,WAAY,CAAE,KAAM,QAAS,QAAS,MAAM,EAC5C,UAAW,CAAE,KAAM,QAAS,QAAS,MAAM,EAC3C,aAAc,CAAE,QAAS,MAAM,CACnC,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,eAAe,EAC3CvjB,EAAQgqB,EAAAA,SAAQ,EAChBgvB,EAAiBvhD,EAAAA,SAAS,IAAM,CACpC,KAAM,CAAE,MAAOwhD,EAAc,GAAGwK,CAAS,EAAKzjD,EAC9C,MAAO,CAAE,aAAAi5C,EAAc,UAAAwK,CAAS,CAClC,CAAC,EACK//B,EAAkBjsB,EAAAA,SAAS,IAAM,CACrCsI,EAAM,UACN,CACE,gBAAiBA,EAAM,SAC/B,CACA,CAAK,EACD,MAAO,CAAC6jB,EAAMC,KACLC,YAAS,EAAIK,qBAAmB,KAAMuG,EAAAA,WAAW,CACtD,KAAM,eACN,MAAOsuB,EAAe,MAAM,YACpC,EAAS93C,QAAMnB,CAAK,EAAE,YAAY,EAAG,CAC7BozB,EAAAA,mBAAmB,OAAQzI,aAAW,CACpC,MAAO,CAAC,qBAAsBhH,EAAgB,KAAK,EACnD,WAAYxiB,EAAAA,MAAMnB,CAAK,EAAE,UACnC,EAAWi5C,EAAe,MAAM,SAAS,EAAG,CAClC50B,aAAWR,EAAK,OAAQ,SAAS,CAC3C,EAAW,GAAI4/B,EAAY,CAC3B,EAAS,EAAE,EAET,CACF,CAAC,EACKzK,GAAe,CAAE,KAAM,cAAc,EACrC7nB,GAAa,CAAC,KAAM,kBAAkB,EACtCgH,GAA8Bt4B,EAAAA,gBAAgB,CAEhD,aAAc,GAEhB,OAAQ,iBACR,MAAO,CACL,gBAAiB,CAAE,QAAS,MAAM,EAClC,OAAQ,CAAE,QAAS,MAAM,EACzB,YAAa,CAAE,QAAS,MAAM,EAC9B,UAAW,CAAE,QAAS,QAAQ,EAC9B,cAAe,CAAE,QAAS,IAAI,EAC9B,GAAI,CAAE,QAAS,MAAM,CACzB,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,gBAAgB,EAC5CmgC,EAAWjsD,EAAAA,SAAS,IAAMsI,EAAM,GAAK,GAAGA,EAAM,EAAE,mBAAqB,MAAM,EAC3E4jD,EAAalsD,EAAAA,SAAS,IAAMsI,EAAM,YAAc,SAAW,OAAS,SAAS,EAC7E0jB,EAAeJ,GACnB5rB,EAAAA,SAAS,KAAO,CACd,YAAasI,EAAM,aAC3B,EAAQ,CACR,EACU2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CAACsI,EAAM,YAAa0jB,EAAa,KAAK,CAAC,EAC9E,MAAO,CAACG,EAAMC,KACLC,YAAS,EAAIK,qBAAmB,KAAM40B,GAAc,EACxDj1B,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,SAAS,EAAG,CACzE,GAAI2jD,EAAS,MACb,MAAOz/B,EAAAA,eAAe,CAAC,kBAAmBP,EAAgB,KAAK,CAAC,EAChE,KAAMigC,EAAW,KAC3B,EAAW,CACD,QAASz/B,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,SAAU,CAAA,EAAI,IAAM,CAC1CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,MAAM,EAAG,CAAC,CACrE,CAAa,CACb,CAAW,EACD,EAAG,CACb,EAAW,EAAG,CAAC,KAAM,QAAS,MAAM,CAAC,GAC7BozB,EAAAA,mBAAmB,KAAMzI,aAAW,CAClC,GAAIxpB,EAAAA,MAAMnB,CAAK,EAAE,GACjB,KAAM,QACN,MAAO,eACjB,EAAW6jB,EAAK,OAAQ,CACd,mBAAoB1iB,EAAAA,MAAMnB,CAAK,EAAE,iBAAmB2jD,EAAS,KACvE,CAAS,EAAG,CACFt/B,aAAWR,EAAK,OAAQ,SAAS,CAC3C,EAAW,GAAIsN,EAAU,CACzB,CAAO,EAEL,CACF,CAAC,EACKqC,GAA8B3zB,EAAAA,gBAAgB,CAEhD,aAAc,GAEhB,OAAQ,kBACR,MAAO,CACL,YAAa,CAAE,QAAS,MAAM,EAC9B,IAAK,CAAE,QAAS,IAAI,EACpB,KAAM,CAAE,QAAS,MAAM,EACvB,QAAS,CAAE,QAAS,IAAI,EACxB,aAAc,CAAE,QAAS,MAAM,CACnC,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,iBAAiB,EAC7CvjB,EAAQgqB,EAAAA,SAAQ,EAChBgvB,EAAiBvhD,EAAAA,SAAS,IAAM,CACpC,KAAM,CAAE,MAAOwhD,EAAc,GAAG2K,CAAW,EAAK5jD,EAChD,MAAO,CAAE,aAAAi5C,EAAc,YAAA2K,CAAW,CACpC,CAAC,EACKngC,EAAeJ,GACnB5rB,EAAAA,SAAS,KAAO,CACd,YAAasI,EAAM,OAC3B,EAAQ,CACR,EACI,MAAO,CAAC6jB,EAAMC,KACLC,YAAS,EAAIK,qBAAmB,KAAMuG,EAAAA,WAAW,CACtD,KAAM,eACN,MAAOsuB,EAAe,MAAM,YACpC,EAASp1B,EAAK,YAAY,EAAG,EACpBE,YAAS,EAAIC,EAAAA,YAAYC,0BAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG2qB,aAAW,CAC9E,MAAO,CAAC,kBAAmB,CAACxpB,EAAAA,MAAMuiB,CAAY,EAAGviB,EAAAA,MAAMnB,CAAK,EAAE,WAAW,CAAC,CACpF,EAAWi5C,EAAe,MAAM,WAAW,EAAG,CACpC,QAAS90B,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CACnE,CAAa,CACb,CAAW,EACD,EAAG,CACb,EAAW,GAAI,CAAC,OAAO,CAAC,EACxB,EAAS,EAAE,EAET,CACF,CAAC,EACK2rB,GAA8B9rB,EAAAA,gBAAgB,CAEhD,aAAc,GAEhB,OAAQ,gBACR,MAAO,CACL,UAAW,CAAE,QAAS,MAAM,EAC5B,aAAc,CAAE,QAAS,MAAM,EAC/B,OAAQ,CAAE,KAAM,QAAS,QAAS,MAAM,EACxC,YAAa,CAAE,QAAS,MAAM,EAC9B,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,iBAAkB,CAAE,QAAS,MAAM,EACnC,KAAM,CAAE,QAAS,MAAM,EACvB,KAAM,CAAE,KAAM,QAAS,QAAS,MAAM,EACtC,MAAO,CAAE,KAAM,OAAO,EACtB,QAAS,CAAE,QAAS,MAAM,EAC1B,aAAc,CAAE,QAAS,MAAM,EAC/B,SAAU,CAAE,KAAM,OAAO,EACzB,WAAY,CAAA,EACZ,WAAY,CAAE,KAAM,OAAO,EAC3B,gBAAiB,CAAA,EACjB,IAAK,CAAE,QAAS,MAAM,EACtB,QAAS,CAAE,KAAM,QAAS,QAAS,MAAM,EACzC,oBAAqB,CAAE,QAAS,MAAM,EACtC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,OAAQ,CAAE,QAAS,MAAM,EACzB,GAAI,CAAE,QAAS,MAAM,EACrB,gBAAiB,CAAE,QAAS,MAAM,EAClC,qBAAsB,CAAE,QAAS,MAAM,EACvC,iBAAkB,CAAE,QAAS,MAAM,EACnC,sBAAuB,CAAE,QAAS,MAAM,EACxC,iBAAkB,CAAE,QAAS,MAAM,EACnC,QAAS,CAAE,QAAS,IAAI,CAC5B,EACE,MAAO,CAAC,OAAO,EACf,MAAM2jB,EAAS,CAAE,KAAMuG,CAAM,EAAI,CAE/B,MAAM/pB,EAAQqjB,EADCG,EACmB,eAAe,EAC3CwG,EAAOD,EACP9pB,EAAQgqB,EAAAA,SAAQ,EAChBgvB,EAAiBvhD,EAAAA,SAAS,IAAM,CACpC,KAAM,CAAE,MAAOwhD,EAAc,GAAG4K,CAAiB,EAAK7jD,EACtD,MAAO,CAAE,aAAAi5C,EAAc,kBAAA4K,CAAiB,CAC1C,CAAC,EACK,CAAE,aAAAj8B,EAAc,kBAAAC,GAAsBL,GAAeznB,CAAK,EAC1D0jB,EAAeJ,GACnB5rB,EAAAA,SAAS,KAAO,CACd,YAAasI,EAAM,OAC3B,EAAQ,CACR,EACU2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrCsI,EAAM,UACN0jB,EAAa,MACb,CACE,OAAQ1jB,EAAM,OACd,SAAUA,EAAM,QACxB,CACA,CAAK,EACKurB,EAAc7zB,WAAS,IAAMmwB,EAAa,MAAQy3B,GAAct/C,EAAM,KAAO,IAAM,QAAQ,EAC3FkqB,EAAe1yB,EAAAA,OAAOlB,GAAsB,IAAI,EAChDytD,EAAevsD,EAAAA,OAAOhB,GAAsB,IAAI,EAChD2zB,EAAa3yB,EAAAA,OAAOf,GAAoB,IAAI,EAC5C6zB,EAAWppB,GAAM,WACrB8oB,EAAK,QAAS9oB,CAAC,EACXipB,IAAe,QAAQ7xB,EAAA6xB,GAAA,YAAAA,EAAY,cAAZ,YAAA7xB,EAAyB,SAAU,MAC5D0B,EAAAkwB,GAAA,YAAAA,EAAc,OAAd,MAAAlwB,EAAA,KAAAkwB,KAEFlH,EAAA+gC,GAAA,YAAAA,EAAc,OAAd,MAAA/gC,EAAA,KAAA+gC,EACF,EACA,MAAO,CAAClgC,EAAMC,KACLC,YAAS,EAAIK,qBAAmB,KAAMuG,EAAAA,WAAW,CACtD,KAAM,eACN,MAAOsuB,EAAe,MAAM,YACpC,EAAS93C,QAAMnB,CAAK,EAAE,YAAY,EAAG,EAC5B+jB,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwBsH,EAAY,KAAK,EAAGZ,aAAW,CAC/E,MAAO,CAAC,gBAAiBhH,EAAgB,KAAK,EAC9C,SAAUxiB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,SAAW,GAAO,KAChD,eAAgBmB,EAAAA,MAAMnB,CAAK,EAAE,OAAS,GAAO,KAC7C,KAAMurB,EAAY,QAAU,IAAMpqB,EAAAA,MAAMnB,CAAK,EAAE,KAAO,KACtD,IAAKmB,EAAAA,MAAMnB,CAAK,EAAE,IAClB,KAAM,WACN,KAAMurB,EAAY,QAAU,SAAW,SAAW,KAClD,OAAQpqB,EAAAA,MAAMnB,CAAK,EAAE,MAC/B,EAAW,CAAE,GAAGmB,EAAAA,MAAM2mB,CAAiB,EAAG,GAAGmxB,EAAe,MAAM,mBAAqB,CAAE,QAAS3uB,CAAO,CAAE,EAAG,CACpG,QAASnG,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,CAC7C,CAAW,EACD,EAAG,CACb,EAAW,GAAI,CAAC,QAAS,WAAY,gBAAiB,eAAgB,OAAQ,MAAO,OAAQ,QAAQ,CAAC,EACtG,EAAS,EAAE,EAET,CACF,CAAC,EACKN,GAAa,CAAC,UAAU,EACxBiI,GAA8B3rB,EAAAA,gBAAgB,CAEhD,aAAc,GAEhB,OAAQ,sBACR,MAAO,CACL,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,YAAa,CAAE,QAAS,QAAQ,EAChC,YAAa,CAAE,QAAS,MAAM,EAC9B,aAAc,CAAE,QAAS,MAAM,EAC/B,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,QAAS,CAAE,QAAS,IAAI,CAC5B,EACE,MAAO,CAAC,OAAO,EACf,MAAM2jB,EAAS,CAAE,KAAMuG,CAAM,EAAI,CAE/B,MAAM/pB,EAAQqjB,EADCG,EACmB,qBAAqB,EACjDwG,EAAOD,EACP9pB,EAAQgqB,EAAAA,SAAQ,EAChBgvB,EAAiBvhD,EAAAA,SAAS,IAAM,CACpC,KAAM,CAAE,MAAOwhD,EAAc,GAAG8K,CAAW,EAAK/jD,EAChD,MAAO,CAAE,aAAAi5C,EAAc,YAAA8K,CAAW,CACpC,CAAC,EACKtgC,EAAeJ,GACnB5rB,EAAAA,SAAS,KAAO,CACd,YAAasI,EAAM,OAC3B,EAAQ,CACR,EACU2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrCsI,EAAM,YACN0jB,EAAa,MACb,CACE,CAAC1jB,EAAM,WAAW,EAAGA,EAAM,OAC3B,SAAUA,EAAM,QACxB,CACA,CAAK,EACKsqB,EAAWppB,GAAM,CACrB,GAAIlB,EAAM,SAAU,CAClBkB,EAAE,eAAc,EAChBA,EAAE,gBAAe,EACjB,MACF,CACA8oB,EAAK,QAAS9oB,CAAC,CACjB,EACA,MAAO,CAAC2iB,EAAMC,KACLC,YAAS,EAAIK,qBAAmB,KAAMuG,EAAAA,WAAW,CACtD,KAAM,eACN,MAAOsuB,EAAe,MAAM,YACpC,EAAS93C,QAAMnB,CAAK,EAAE,YAAY,EAAG,CAC7BozB,EAAAA,mBAAmB,SAAUzI,aAAW,CACtC,KAAM,OACN,KAAM,SACN,MAAO,CAAC,gBAAiBhH,EAAgB,KAAK,EAC9C,SAAUxiB,EAAAA,MAAMnB,CAAK,EAAE,QACjC,EAAWi5C,EAAe,MAAM,YAAa,CAAE,QAAS3uB,CAAO,CAAE,EAAG,CAC1DjG,aAAWR,EAAK,OAAQ,SAAS,CAC3C,EAAW,GAAIN,EAAU,CACzB,EAAS,EAAE,EAET,CACF,CAAC,EACK/R,GAA4B3R,EAAAA,gBAAgB,CAE9C,aAAc,GAEhB,OAAQ,gBACR,MAAO,CACL,UAAW,CAAE,QAAS,MAAM,EAC5B,IAAK,CAAE,QAAS,MAAM,EACtB,KAAM,CAAE,QAAS,MAAM,EACvB,QAAS,CAAE,QAAS,IAAI,EACxB,aAAc,CAAE,QAAS,MAAM,CACnC,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,eAAe,EAC3CvjB,EAAQgqB,EAAAA,SAAQ,EAChBgvB,EAAiBvhD,EAAAA,SAAS,IAAM,CACpC,KAAM,CAAE,MAAOwhD,EAAc,GAAG+K,CAAS,EAAKhkD,EAC9C,MAAO,CAAE,aAAAi5C,EAAc,UAAA+K,CAAS,CAClC,CAAC,EACKvgC,EAAeJ,GACnB5rB,EAAAA,SAAS,KAAO,CACd,YAAasI,EAAM,OAC3B,EAAQ,CACR,EACI,MAAO,CAAC6jB,EAAMC,KACLC,YAAS,EAAIK,qBAAmB,KAAMuG,EAAAA,WAAW,CACtD,KAAM,eACN,MAAOsuB,EAAe,MAAM,YACpC,EAASp1B,EAAK,YAAY,EAAG,EACpBE,YAAS,EAAIC,EAAAA,YAAYC,0BAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG2qB,aAAW,CAC9E,MAAO,CAAC,qBAAsB,CAACxpB,EAAAA,MAAMuiB,CAAY,EAAGviB,EAAAA,MAAMnB,CAAK,EAAE,SAAS,CAAC,CACrF,EAAWi5C,EAAe,MAAM,SAAS,EAAG,CAClC,QAAS90B,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CACnE,CAAa,CACb,CAAW,EACD,EAAG,CACb,EAAW,GAAI,CAAC,OAAO,CAAC,EACxB,EAAS,EAAE,EAET,CACF,CAAC,ECrXKujB,GAAa,CAAC,KAAM,YAAY,EAChC/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,QACR,MAAO,CACL,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,GAAI,CAAE,QAAS,MAAM,EACrB,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,CAC9C,EACE,MAAM2jB,EAAS,CAAE,OAAQ6N,CAAQ,EAAI,CAEnC,MAAMrxB,EAAQqjB,EADCG,EACmB,OAAO,EACnCvV,EAAU4c,EAAAA,eAAe,UAAU,EACnClH,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,gBAAiBsI,EAAM,SACvB,gBAAiBA,EAAM,SAC7B,EAAM,EACF,OAAAqxB,EAAS,CACP,QAAApjB,CACN,CAAK,EACM,CAAC4V,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,OAAQ,CAC7C,GAAIjjB,EAAAA,MAAMnB,CAAK,EAAE,GACjB,IAAK,WACL,WAAYmB,EAAAA,MAAMnB,CAAK,EAAE,WACzB,MAAOkkB,EAAAA,eAAeP,EAAgB,KAAK,CACnD,EAAS,CACDU,aAAWR,EAAK,OAAQ,SAAS,CACzC,EAAS,GAAIN,EAAU,EAErB,CACF,CAAC,EC7BKA,GAAa,CAAC,QAAS,WAAY,UAAU,EAC7C/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,oBACR,MAAO,CACL,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,MAAO,CAAE,QAAS,MAAM,CAC5B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,mBAAmB,EAC/C0gC,EAAoB1sD,EAAAA,OAAOL,GAAe,IAAI,EAC9CgtD,EAAazsD,EAAAA,SAAS,IACrBwsD,EACEA,EAAkB,WAAW,QAAUlkD,EAAM,MADrB,EAEhC,EACD,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,SAAU,CAC/C,MAAOjjB,EAAAA,MAAMnB,CAAK,EAAE,MACpB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,SAAUmkD,EAAW,KAC7B,EAAS,CACD9/B,aAAWR,EAAK,OAAQ,SAAS,CACzC,EAAS,EAAGN,EAAU,EAEpB,CACF,CAAC,EACK6gC,GAAgB,CAACroD,EAASiE,IAAU,CACxC,MAAMqkD,EAAaC,GAAW,OAAOA,GAAW,UAAYA,IAAW,MAAQ,YAAaA,EACtFC,EAAmBD,GAAW,CAClC,MAAME,EAAa5sD,EAAAA,QAAQoI,CAAK,EAChC,GAAI,OAAOskD,GAAW,SACpB,MAAO,CAAE,MAAOA,EAAQ,KAAMA,CAAM,EAEtC,GAAI,OAAOA,GAAW,SACpB,MAAO,CAAE,MAAOA,EAAQ,KAAM,GAAGA,CAAM,EAAE,EAE3C,GAAIA,aAAkB,KACpB,MAAO,CAAE,MAAOA,EAAQ,KAAMA,EAAO,eAAc,CAAE,EAEvD,MAAM9uD,EAAQsvB,GAAIw/B,EAAQE,EAAW,UAAU,EACzC9M,EAAO5yB,GAAIw/B,EAAQE,EAAW,SAAS,EACvCv8B,EAAWnD,GAAIw/B,EAAQE,EAAW,aAAa,EAC/C10C,EAAO00C,EAAW,aAAe1/B,GAAIw/B,EAAQE,EAAW,YAAY,EAAI,OAC9E,OAAI10C,IAAS,OACJ,CACL,MAAOgV,GAAIw/B,EAAQE,EAAW,UAAU,GAAK9M,EAC7C,QAAS5nC,CACjB,EAEW,CACL,GAAG,OAAOw0C,GAAW,SAAWA,EAAS,OACzC,MAAA9uD,EACA,KAAAkiD,EACA,SAAAzvB,CACN,CACE,EACMw8B,EAAoB30C,GAASA,EAAK,IAAKw0C,GAAWC,EAAgBD,CAAM,CAAC,EAE/E,MAAO,CAAE,kBADiB5sD,EAAAA,SAAS,IAAM+sD,EAAiB7sD,EAAAA,QAAQmE,CAAO,CAAC,CAAC,EAC/C,UAAAsoD,CAAS,CACvC,EC3DMrL,GAAe,CAAC,IAAI,EACpBxtB,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,gBACR,MAAO,CACL,cAAe,CAAE,QAAS,UAAU,EACpC,GAAI,CAAE,QAAS,MAAM,EACrB,QAAS,CAAE,QAAS,IAAM,EAAE,EAC5B,UAAW,CAAE,QAAS,MAAM,EAC5B,WAAY,CAAE,QAAS,OAAO,CAClC,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,eAAe,EAC3CkJ,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,UAAU,EAC7C,CAAE,kBAAA0kD,EAAmB,UAAAL,CAAS,EAAKD,GACvC,IAAMpkD,EAAM,QACZtI,EAAAA,SAAS,KAAO,CAAE,GAAGsI,EAAO,aAAc,UAAW,WAAY,SAAU,CACjF,EACU2kD,EAAwBjtD,EAAAA,SAC5B,IAEEgtD,EAAkB,MAAM,OAAQE,GAAQ,CAACP,EAAUO,CAAG,CAAC,CAE/D,EACI,MAAO,CAAC/gC,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,WAAY,CAAE,GAAIjjB,EAAAA,MAAMurB,CAAU,GAAK,CAC5ErI,aAAWR,EAAK,OAAQ,OAAO,GAC9BE,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,WAAU,KAAM+uB,EAAAA,WAAWmK,EAAsB,MAAO,CAACL,EAAQhrD,KAC7FyqB,EAAAA,UAAS,EAAIC,EAAAA,YAAY2H,GAAahB,EAAAA,WAAW,CAAE,IAAKrxB,CAAK,EAAI,CAAE,QAAS,EAAI,EAAIgrD,CAAM,EAAG,CAClG,QAASngC,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAU8G,EAAAA,WAAW,CAAE,QAAS,EAAI,EAAI25B,CAAM,EAAG,IAAM,CAC7EhgC,EAAAA,gBAAgBC,EAAAA,gBAAgB+/B,EAAO,IAAI,EAAG,CAAC,CAC/D,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,IAAI,EACR,EAAG,GAAG,GACPjgC,aAAWR,EAAK,OAAQ,SAAS,CACzC,EAAS,EAAGm1B,EAAY,EAEtB,CACF,CAAC,EACKz1B,GAAa,CAAE,MAAO,eAAe,EACrC4N,GAAa,CAAC,KAAK,EACnB3f,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,qBACR,MAAO,CACL,MAAO,CAAE,QAAS,MAAM,EACxB,SAAU,CAAE,QAAS,MAAM,CAC/B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,oBAAoB,EACtD,MAAO,CAACK,EAAMC,KACLC,YAAS,EAAIK,qBAAmB,MAAOb,GAAY,CACxDc,aAAWR,EAAK,OAAQ,SAAS,EACjCuP,EAAAA,mBAAmB,QAAS,CAC1B,IAAKjyB,EAAAA,MAAMnB,CAAK,EAAE,QAC5B,EAAW,CACDqkB,EAAAA,WAAWR,EAAK,OAAQ,QAAS,CAAA,EAAI,IAAM,CACzCS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,KAAK,EAAG,CAAC,CAClE,CAAW,CACX,EAAW,EAAGmxB,EAAU,CACxB,CAAO,EAEL,CACF,CAAC,ECnEKqC,GAA8B3zB,EAAAA,gBAAgB,CAClD,OAAQ,uBACR,MAAO,CACL,SAAU,CAAE,QAAS,MAAM,EAC3B,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,GAAI,CAAE,QAAS,MAAM,EACrB,KAAM,CAAE,QAAS,MAAM,EACvB,MAAO,CAAE,KAAM,CAAC,QAAS,IAAI,EAAG,QAAS,IAAI,EAC7C,IAAK,CAAE,QAAS,KAAK,EACrB,KAAM,CAAE,QAAS,MAAM,EACvB,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAC5C,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,sBAAsB,EAClDqhC,EAAentD,EAAAA,SAAS,IAAMsI,EAAM,YAAc,IAAQA,EAAM,QAAU,EAAK,EAC/E2jB,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,UAAWmtD,EAAa,MACxB,mBAAoB,CAAC7kD,EAAM,QAC3B,kBAAmBA,EAAM,OAC/B,EAAM,EACF,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,GAAImB,EAAAA,MAAMnB,CAAK,EAAE,GACjB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,YAAamB,EAAAA,MAAMnB,CAAK,EAAE,SAC1B,cAAemB,EAAAA,MAAMnB,CAAK,EAAE,SAAW,GAAO,OAC9C,MAAOkkB,EAAAA,eAAeP,EAAgB,KAAK,CACnD,EAAS,CACD,QAASQ,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CACjE,CAAW,CACX,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,KAAM,OAAQ,YAAa,cAAe,OAAO,CAAC,EAE7D,CACF,CAAC,EACK2rB,GAA8B9rB,EAAAA,gBAAgB,CAClD,OAAQ,WACR,MAAO,CACL,IAAK,CAAE,QAAS,KAAK,CACzB,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,UAAU,EAC5C,MAAO,CAACK,EAAMC,KACLC,YAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CAAE,MAAO,sBAAsB,EAAI,CAC5G,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,CAC3C,CAAS,EACD,EAAG,CACX,CAAO,EAEL,CACF,CAAC,EACK2H,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,YACR,MAAO,CACL,GAAI,CAAE,QAAS,MAAM,EACrB,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,IAAK,CAAE,QAAS,OAAO,EACvB,KAAM,CAAE,QAAS,MAAM,EACvB,YAAa,CAAE,QAAS,gBAAgB,CAC5C,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,WAAW,EACvCE,EAAeJ,GAAuBtjB,CAAK,EAC3C2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrCgsB,EAAa,MACb,CACE,YAAa,CAAC1jB,EAAM,MAC5B,CACA,CAAK,EACD,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,GAAImB,EAAAA,MAAMnB,CAAK,EAAE,GACjB,MAAOkkB,EAAAA,eAAeP,EAAgB,KAAK,CACnD,EAAS,CACD,QAASQ,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CACjE,CAAW,CACX,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,KAAM,OAAO,CAAC,EAEzB,CACF,CAAC,EACKwR,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,qBACR,MAAO,CACL,SAAU,CAAE,QAAS,MAAM,EAC3B,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,GAAI,CAAE,QAAS,MAAM,EACrB,KAAM,CAAE,QAAS,MAAM,EACvB,MAAO,CAAE,KAAM,CAAC,QAAS,IAAI,EAAG,QAAS,IAAI,EAC7C,IAAK,CAAE,QAAS,KAAK,EACrB,KAAM,CAAE,QAAS,MAAM,EACvB,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAC5C,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,sBAAsB,EAClDqhC,EAAentD,EAAAA,SAAS,IAAMsI,EAAM,YAAc,IAAQA,EAAM,QAAU,EAAI,EAC9E2jB,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,UAAWmtD,EAAa,MACxB,iBAAkB,CAAC7kD,EAAM,QACzB,gBAAiBA,EAAM,OAC7B,EAAM,EACF,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,GAAImB,EAAAA,MAAMnB,CAAK,EAAE,GACjB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,YAAamB,EAAAA,MAAMnB,CAAK,EAAE,SAC1B,cAAemB,EAAAA,MAAMnB,CAAK,EAAE,SAAW,GAAO,OAC9C,MAAOkkB,EAAAA,eAAeP,EAAgB,KAAK,CACnD,EAAS,CACD,QAASQ,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CACjE,CAAW,CACX,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,KAAM,OAAQ,YAAa,cAAe,OAAO,CAAC,EAE7D,CACF,CAAC,ECnIK8kD,GAAiB,CAACC,EAAajsD,IAAUpB,EAAAA,SAAS,IAAM,CAC5D,MAAMstD,EAAsBptD,EAAAA,QAAQmtD,CAAW,EACzCE,EAAgBrtD,EAAAA,QAAQkB,CAAK,EAEnC,OADiCksD,IAAwB,GAAO,OAAS,OAAOA,GAAwB,SAAWA,EAAsBC,IAAkB,GAAQ,OAASD,IAAwB,GAAQ,QAAU,MAExN,CAAC,ECLKE,GAAiB1vD,GAAUkC,EAAAA,SAAS,IAAM,CAC9C,MAAMytD,EAAgBvtD,EAAAA,QAAQpC,CAAK,EACnC,OAAO2vD,IAAkB,GAAO,WAAaA,IAAkB,GAAQ,aAAe,IACxF,CAAC,ECDKjD,GAAc7+C,GAAU3L,EAAAA,SAAS,IAAM,CAC3C,MAAM0tD,EAAgBxtD,EAAAA,QAAQyL,CAAK,EACnC,MAAO,CACL,aAAc+hD,EAAc,QAAU,IAASA,EAAc,SAAW,IAASA,EAAc,eAC/F,qBAAsBA,EAAc,UAAY,GAChD,oBAAqBA,EAAc,SAAW,GAC9C,cAAeA,EAAc,SAAW,GACxC,CAAC,gBAAgBA,EAAc,IAAI,EAAE,EAAGA,EAAc,OAAS,QAAUA,EAAc,OAAS,MAAQA,EAAc,SAAW,EACrI,CACA,CAAC,EACKC,GAAmBhiD,GAAU,CACjC,MAAM+hD,EAAgBhrD,EAAAA,SAASH,EAAAA,MAAMoJ,CAAK,CAAC,EACrCiiD,EAAaJ,GAAc,IAAME,EAAc,MAAM,OAAS,IAAI,EACxE,OAAO1tD,EAAAA,SAAS,IAAM,CACpB4tD,EAAW,MACX,CACE,mBAAoBF,EAAc,MAAM,QAAU,IAASA,EAAc,MAAM,SAAW,GAC1F,YAAaA,EAAc,MAAM,SAAW,EAClD,CACA,CAAG,CACH,EACMG,GAAmBliD,GAAU3L,EAAAA,SAAS,IAAM,CAChD,MAAM0tD,EAAgBxtD,EAAAA,QAAQyL,CAAK,EACnC,MAAO,CACL,mBAAoB+hD,EAAc,QAAU,IAASA,EAAc,SAAW,GAC9E,IAAOA,EAAc,SAAW,GAChC,CAAC,OAAOA,EAAc,aAAa,EAAE,EAAGA,EAAc,SAAW,IAAQA,EAAc,gBAAkB,QAAUA,EAAc,gBAAkB,KACnJ,CAAC,OAAOA,EAAc,IAAI,EAAE,EAAGA,EAAc,QAAUA,EAAc,MAAQA,EAAc,OAAS,IACxG,CACA,CAAC,EACKI,GAAgBniD,GAAU,CAC9B,MAAM+hD,EAAgBhrD,EAAAA,SAASH,EAAAA,MAAMoJ,CAAK,CAAC,EACrCoiD,EAAsBX,GAC1B,IAAMM,EAAc,MAAM,YAC1B,IAAMA,EAAc,MAAM,KAC9B,EACE,OAAO1tD,EAAAA,SAAS,KAAO,CACrB,eAAgB+tD,EAAoB,MACpC,gBAAiBL,EAAc,MAAM,WAAa,GAAO,GAAO,MACpE,EAAI,CACJ,EACMM,GAAmBriD,GAAU3L,EAAAA,SAAS,IAAM,CAChD,MAAM0tD,EAAgBxtD,EAAAA,QAAQyL,CAAK,EACnC,MAAO,CACL,gBAAiB+hD,EAAc,YAAc,GAC7C,YAAaA,EAAc,UAAY,IAAQA,EAAc,UAAY,GACzE,qBAAsBA,EAAc,UAAY,IAAQA,EAAc,UAAY,GAClF,CAAC,aAAaA,EAAc,IAAI,EAAE,EAAGA,EAAc,OAAS,MAChE,CACA,CAAC,EC5CKpM,GAAe,CAAC,KAAM,WAAY,WAAY,OAAQ,OAAQ,aAAc,kBAAmB,gBAAiB,QAAS,aAAc,cAAe,eAAe,EACrK7nB,GAAa,CAAC,KAAK,EACnB3F,GAA8B3rB,EAAAA,gBAAgB,CAEhD,aAAc,GAEhB,OAAQ,gBACR,MAAuB+qB,EAAAA,YAAY,CACjC,UAAW,CAAE,QAAS,MAAM,EAC5B,eAAgB,CAAE,QAAS,MAAM,EACjC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,cAAe,CAAE,QAAS,IAAI,EAC9B,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,QAAS,MAAM,EACvB,GAAI,CAAE,QAAS,MAAM,EACrB,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,KAAM,CAAE,QAAS,MAAM,EACvB,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,KAAM,CAAE,QAAS,MAAM,EACvB,MAAO,CAAE,KAAM,CAAC,QAAS,IAAI,EAAG,QAAS,IAAI,EAC7C,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,eAAgB,CAAE,KAAM,CAAC,MAAO,IAAK,OAAQ,QAAS,OAAQ,OAAQ,IAAI,EAAG,QAAS,EAAK,EAC3F,aAAc,CAAE,QAAS,MAAM,EAC/B,WAAY,CAAE,QAAS,MAAM,EAC7B,MAAO,CAAE,KAAM,CAAC,OAAQ,QAAS,MAAO,IAAK,OAAQ,OAAQ,IAAI,EAAG,QAAS,EAAI,CACrF,EAAK,CACD,WAAc,CAAE,KAAM,CAAC,MAAO,IAAK,OAAQ,QAAS,OAAQ,OAAQ,IAAI,EACtE,QAAS,MACV,EACD,eAAkB,CAAA,EAClB,cAAiB,CAAE,KAAM,QACvB,QAAS,EACV,EACD,uBAA0B,CAAA,CAC9B,CAAG,EACD,MAAO,CAAC,oBAAqB,sBAAsB,EACnD,MAAMpH,EAAS,CAAE,OAAQ6N,CAAQ,EAAI,CAEnC,MAAMrxB,EAAQqjB,EADCG,EACmB,eAAe,EAC3C1jB,EAAQ2jB,EAAAA,SAAQ,EAChBxjB,EAAQgqB,EAAAA,SAAQ,EAChBwC,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3CmiC,EAAgB56B,EAAAA,SACpBvH,EACA,eACN,EACUy1B,EAAiBvhD,EAAAA,SAAS,IAAM,CACpC,KAAM,CAAE,MAAOwhD,EAAc,GAAG0M,CAAU,EAAK3lD,EAC/C,MAAO,CAAE,aAAAi5C,EAAc,WAAA0M,CAAU,CACnC,CAAC,EACKl5B,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,YAAY,EAC/CzI,EAAaC,EAAAA,OAAOpB,GAAkB,IAAI,EAC1Co+C,EAAQ3pB,EAAAA,eAAe,QAAQ,EAC/B,CAAE,QAAAze,CAAO,EAAKL,GAASyoC,EAAO,CAClC,aAAcx0C,EAAM,SAC1B,CAAK,EACKy7C,EAAiB/jD,EAAAA,SAAS,IAAM,CAAC6pB,GAAYzhB,EAAM,OAAO,CAAC,EAC3Di4C,EAAargD,EAAAA,SAAS,CAC1B,IAAK,IAAMH,EAAaA,EAAW,WAAW,MAAQk1B,EAAW,MACjE,IAAMo5B,GAAW,CACf,GAAIA,IAAW,OAEf,IADAF,EAAc,MAAQ,GAClBpuD,IAAe,MAAQ,MAAM,QAAQsuD,CAAM,EAAG,CAChDtuD,EAAW,WAAW,MAAQsuD,EAC9B,MACF,CACAp5B,EAAW,MAAQo5B,EACrB,CACN,CAAK,EACKC,EAAmBpuD,EAAAA,SACvB,IAAM,CAAC,EAAEsI,EAAM,OAAQzI,GAAA,YAAAA,EAAY,KAAK,UAAWyI,EAAM,WAAYzI,GAAA,YAAAA,EAAY,SAAS,OAChG,EACUwuD,EAAgBruD,WAAS,IAAMsI,EAAM,eAAgBzI,GAAA,YAAAA,EAAY,QAAQ,QAAS,GAAM,EACxFyuD,EAAgBtuD,EAAAA,SAAS,KAAO,CACpC,MAAOsI,EAAM,SAAUzI,GAAA,YAAAA,EAAY,MAAM,QAAS,IAClD,OAAQyI,EAAM,UAAWzI,GAAA,YAAAA,EAAY,QAAQ,QAAS,IACtD,OAAQyI,EAAM,UAAWzI,GAAA,YAAAA,EAAY,OAAO,QAAS,IACrD,QAASyI,EAAM,WAAYzI,GAAA,YAAAA,EAAY,QAAQ,QAAS,IACxD,OAAQyI,EAAM,UAAWzI,GAAA,YAAAA,EAAY,OAAO,QAAS,IACrD,MAAOyI,EAAM,QAAU,IAAQA,EAAM,QAAU,GAAQA,EAAM,OAAQzI,GAAA,YAAAA,EAAY,MAAM,QAAS,KAChG,KAAMyI,EAAM,OAAQzI,GAAA,YAAAA,EAAY,KAAK,QAAS,KAE9C,cAAeyI,EAAM,gBAAiBzI,GAAA,YAAAA,EAAY,cAAc,QAAS,YAEzE,eAAgBkkD,EAAe,KACrC,EAAM,EACIwK,EAAiB/D,GAAW8D,CAAa,EACzCE,EAAyBxuD,EAAAA,SAAS,IAAM,CAC5CuuD,EAAe,MACfhN,EAAe,MAAM,YAC3B,CAAK,EACKkN,EAAed,GAAgBW,CAAa,EAC5CI,EAAuB1uD,EAAAA,SAAS,IAAM,CAACyuD,EAAa,MAAOnmD,EAAM,UAAU,CAAC,EAC5EqmD,EAAed,GAAgBS,CAAa,EAClD,OAAA30B,EAAS,CACP,KAAM,IAAM,CACVjlB,EAAQ,MAAQ,EAClB,EACA,QAASooC,EACT,MAAO,IAAM,CACXpoC,EAAQ,MAAQ,EAClB,CACN,CAAK,EACM,CAACyX,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAY2H,GAAahB,EAAAA,WAAW,CAAE,KAAMo7B,EAAc,KAAK,EAAI5kD,EAAAA,MAAMnB,CAAK,EAAE,aAAc,CAAE,MAAOkmD,EAAuB,KAAK,CAAE,EAAG,CAC1J,QAAS/hC,EAAAA,QAAQ,IAAA,WAAM,OACrBgP,iBAAeC,EAAAA,mBAAmB,QAASzI,aAAW,CACpD,GAAIxpB,EAAAA,MAAMurB,CAAU,EACpB,IAAK,SACL,sBAAuB5I,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAWmsB,EAAW,MAAQnsB,GAChF,MAAOw6B,EAAqB,MAC5B,KAAM,WACN,SAAUjlD,EAAAA,MAAMnB,CAAK,EAAE,YAAYmB,EAAAA,EAAAA,MAAM5J,CAAU,IAAhB4J,YAAAA,EAAmB,SAAS,OAC/D,SAAU2kD,EAAiB,OAAS,OACpC,KAAM3kD,EAAAA,MAAMnB,CAAK,EAAE,QAAQmB,EAAAA,EAAAA,MAAM5J,CAAU,IAAhB4J,YAAAA,EAAmB,KAAK,OACnD,KAAMA,EAAAA,MAAMnB,CAAK,EAAE,QAAQmB,EAAAA,EAAAA,MAAM5J,CAAU,IAAhB4J,YAAAA,EAAmB,KAAK,OACnD,aAAcA,EAAAA,MAAMnB,CAAK,EAAE,UAC3B,kBAAmBmB,EAAAA,MAAMnB,CAAK,EAAE,eAChC,gBAAiB8lD,EAAiB,OAAS,OAC3C,MAAO3kD,EAAAA,MAAMnB,CAAK,EAAE,MACpB,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,MAC3B,cAAemB,EAAAA,MAAMnB,CAAK,EAAE,eAC5B,cAAe2lD,EAAc,OAAS,MAClD,EAAa1M,EAAe,MAAM,UAAU,EAAG,KAAM,GAAID,EAAY,EAAG,CAC5D,CAACsN,EAAAA,eAAgBvO,EAAW,KAAK,CAC7C,CAAW,EACD0D,EAAe,OAASt6C,EAAAA,MAAMnB,CAAK,EAAE,QAAU,IAAS+jB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,QAAS,CAC/F,IAAK,EACL,IAAKjjB,EAAAA,MAAMurB,CAAU,EACrB,MAAOxI,EAAAA,eAAe/iB,EAAAA,MAAMklD,CAAY,CAAC,CACrD,EAAa,CACDhiC,aAAWR,EAAK,OAAQ,SAAS,CAC7C,EAAa,GAAIsN,EAAU,GAAK3M,EAAAA,mBAAmB,GAAI,EAAI,CAC3D,EAAS,EACD,EAAG,CACX,EAAS,GAAI,CAAC,OAAQ,OAAO,CAAC,EAE5B,CACF,CAAC,EACKjB,GAAa,CAAC,IAAI,EAClB/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,qBACR,MAAuB+qB,EAAAA,YAAY,CACjC,YAAa,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,MAAM,EACvD,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,cAAe,CAAE,QAAS,WAAW,EACrC,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,cAAe,CAAE,QAAS,UAAU,EACpC,KAAM,CAAE,QAAS,MAAM,EACvB,GAAI,CAAE,QAAS,MAAM,EACrB,KAAM,CAAE,QAAS,MAAM,EACvB,QAAS,CAAE,QAAS,IAAM,EAAE,EAC5B,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,KAAM,CAAE,QAAS,IAAI,EACrB,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,MAAO,CAAE,KAAM,CAAC,QAAS,IAAI,EAAG,QAAS,IAAI,EAC7C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,UAAW,CAAE,QAAS,MAAM,EAC5B,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,WAAY,CAAE,QAAS,OAAO,CAClC,EAAK,CACD,WAAc,CACZ,QAAS,IAAM,CAAA,CACrB,EACI,eAAkB,CAAA,CACtB,CAAG,EACD,MAAO,CAAC,mBAAmB,EAC3B,MAAMpH,EAAS,CAAE,OAAQ6N,CAAQ,EAAI,CAEnC,MAAMrxB,EAAQqjB,EADCG,EACmB,oBAAoB,EAChDiJ,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3CkJ,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,UAAU,EAC7CumD,EAAe9lC,GAAM,IAAMzgB,EAAM,KAAM,UAAU,EACjDiO,EAAU4c,EAAAA,eAAe,UAAU,EACnC,CAAE,QAAAze,CAAO,EAAKL,GAASkC,EAAS,CACpC,aAAcjO,EAAM,SAC1B,CAAK,EACDiR,EAAAA,QAAQ7a,GAAkB,CACxB,WAAAq2B,EACA,OAAQxyB,EAAAA,MAAM,IAAM+F,EAAM,QAAQ,EAClC,cAAe/F,EAAAA,MAAM,IAAM+F,EAAM,aAAa,EAC9C,KAAM/F,EAAAA,MAAM,IAAM+F,EAAM,IAAI,EAC5B,KAAMumD,EACN,MAAOtsD,EAAAA,MAAM,IAAM+F,EAAM,KAAK,EAC9B,MAAO/F,EAAAA,MAAM,IAAM+F,EAAM,KAAK,EAC9B,KAAM/F,EAAAA,MAAM,IAAM+F,EAAM,IAAI,EAC5B,OAAQ/F,EAAAA,MAAM,IAAM,CAAC+F,EAAM,OAAO,EAClC,QAAS/F,EAAAA,MAAM,IAAM+F,EAAM,OAAO,EAClC,SAAU/F,EAAAA,MAAM,IAAM+F,EAAM,QAAQ,EACpC,QAAS/F,EAAAA,MAAM,IAAM+F,EAAM,OAAO,EAClC,SAAU/F,EAAAA,MAAM,IAAM+F,EAAM,QAAQ,CAC1C,CAAK,EACD,MAAMykD,EAAmB/sD,EAAAA,SACvB,IAAMsI,EAAM,QAAQ,IACjBa,GAAO,OAAOA,GAAO,UAAY,OAAOA,GAAO,SAAW,CACzD,MAAOA,EACP,SAAUb,EAAM,SAChB,KAAMa,EAAG,SAAQ,CAC3B,EAAY,CACF,GAAGA,EACH,MAAOA,EAAGb,EAAM,UAAU,EAC1B,SAAUa,EAAGb,EAAM,aAAa,EAChC,KAAMa,EAAGb,EAAM,SAAS,CAClC,CACA,CACA,EACUgmD,EAAgBtuD,EAAAA,SAAS,KAAO,CACpC,SAAUsI,EAAM,SAChB,YAAaA,EAAM,YACnB,MAAOA,EAAM,MACb,UAAWA,EAAM,UACjB,QAASA,EAAM,QACf,QAASA,EAAM,QACf,KAAMA,EAAM,IAClB,EAAM,EACIwmD,EAAgBhB,GAAaQ,CAAa,EAC1CriC,EAAkB+hC,GAAgBM,CAAa,EACrD,OAAA30B,EAAS,CACP,KAAM,IAAM,CACVjlB,EAAQ,MAAQ,EAClB,EACA,MAAO,IAAM,CACXA,EAAQ,MAAQ,EAClB,CACN,CAAK,EACM,CAACyX,EAAMC,KACLC,EAAAA,UAAS,EAAIK,qBAAmB,MAAOuG,EAAAA,WAAWxpB,EAAAA,MAAMqlD,CAAa,EAAG,CAC7E,GAAIrlD,EAAAA,MAAMurB,CAAU,EACpB,IAAK,WACL,KAAM,QACN,MAAO,CAACvrB,EAAAA,MAAMwiB,CAAe,EAAG,kBAAkB,EAClD,SAAU,IAClB,CAAO,EAAG,CACFU,aAAWR,EAAK,OAAQ,OAAO,GAC9BE,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,WAAU,KAAM+uB,EAAAA,WAAWiK,EAAiB,MAAO,CAACh0C,EAAMnX,KACtFyqB,EAAAA,UAAS,EAAIC,EAAAA,YAAYwH,GAAab,EAAAA,WAAW,CAAE,IAAKrxB,CAAK,EAAI,CAAE,QAAS,EAAI,EAAImX,CAAI,EAAG,CAChG,QAAS0T,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAU8G,EAAAA,WAAW,CAAE,QAAS,EAAI,EAAIla,CAAI,EAAG,IAAM,CAC3E6T,EAAAA,gBAAgBC,EAAAA,gBAAgB9T,EAAK,IAAI,EAAG,CAAC,CAC7D,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,IAAI,EACR,EAAG,GAAG,GACP4T,aAAWR,EAAK,OAAQ,SAAS,CACzC,EAAS,GAAIN,EAAU,EAErB,CACF,CAAC,ECjQKA,GAAa,CAAC,KAAK,EACnB4N,GAAa,CAAC,KAAM,OAAQ,OAAQ,WAAY,WAAY,UAAW,SAAU,WAAY,aAAc,kBAAmB,gBAAiB,YAAa,iBAAiB,EAC7K3f,GAA4B3R,EAAAA,gBAAgB,CAE9C,aAAc,GAEhB,OAAQ,YACR,MAAuB+qB,EAAAA,YAAY,CACjC,UAAW,CAAE,QAAS,MAAM,EAC5B,eAAgB,CAAE,QAAS,MAAM,EACjC,OAAQ,CAAE,QAAS,EAAE,EACrB,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,QAAS,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,MAAM,EACnD,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,QAAS,MAAM,EACvB,GAAI,CAAE,QAAS,MAAM,EACrB,MAAO,CAAE,QAAS,EAAE,EACpB,WAAY,CAAE,QAAS,MAAM,EAC7B,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,QAAS,MAAM,EACvB,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,QAAS,MAAM,EACvB,MAAO,CAAE,KAAM,CAAC,QAAS,IAAI,EAAG,QAAS,IAAI,CACjD,EAAK,CACD,WAAc,CACZ,QAAS,IACf,EACI,eAAkB,CAAA,CACtB,CAAG,EACD,MAAO,CAAC,mBAAmB,EAC3B,MAAMpH,EAAS,CAAE,OAAQ6N,CAAQ,EAAI,CAEnC,MAAMrxB,EAAQqjB,EADCG,EACmB,WAAW,EACvC1jB,EAAQ2jB,EAAAA,SAAQ,EAChBgJ,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3CkJ,EAAajM,GAAM,IAAMzgB,EAAM,EAAE,EACjCslD,EAAaJ,GAAc,IAAMllD,EAAM,KAAK,EAC5Cw0C,EAAQ3pB,EAAAA,eAAe,QAAQ,EAC/B,CAAE,QAAAze,CAAO,EAAKL,GAASyoC,EAAO,CAAE,aAAcx0C,EAAM,UAAW,EAC/D4jB,EAAelsB,EAAAA,SAAS,IAAM,CAAC6pB,GAAYzhB,EAAM,KAAQ,CAAC,EAC1D2mD,EAAiB/uD,EAAAA,SACrB,IAAM,OAAOsI,EAAM,QAAW,SAAWA,EAAM,OAASA,EAAM,OAAO,KAAK,GAAG,CACnF,EACU2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrC4tD,EAAW,MACX,CACE,CAAC,gBAAgBtlD,EAAM,IAAI,EAAE,EAAGA,EAAM,OAAS,OAC/C,eAAgB,CAACA,EAAM,MACvB,sCAAuCA,EAAM,QACrD,CACA,CAAK,EACK0mD,EAAW,IAAM,SACrB,MAAMlxD,IAAQ8C,EAAAk8C,EAAM,QAAN,YAAAl8C,EAAa,SAAU,QAAQ0B,EAAAw6C,EAAM,QAAN,YAAAx6C,EAAa,SAAU,OAAS,KAAO,CAAC,GAAGw6C,EAAM,MAAM,KAAK,EACzG/nB,EAAW,MAAQj3B,IAAU,KAAO,KAAOwK,EAAM,WAAa,GAAOxK,EAAQA,EAAM,CAAC,CACtF,EACMmxD,EAAUzlD,GAAM,CAChBlB,EAAM,SAAW,IACnBkB,EAAE,eAAc,CAEpB,EACMoM,EAAQ,IAAM,CAClBmf,EAAW,MAAQ,IACrB,EACA50B,OAAAA,QAAM40B,EAAa30B,GAAa,CAC1BA,IAAa,MAAQ08C,EAAM,QAAU,OACvCA,EAAM,MAAM,MAAQ,GAExB,CAAC,EACDnjB,EAAS,CACP,KAAM,IAAM,CACVjlB,EAAQ,MAAQ,EAClB,EACA,QAASooC,EACT,MAAO,IAAM,CACXpoC,EAAQ,MAAQ,EAClB,EACA,MAAAkB,CACN,CAAK,EACM,CAACuW,EAAMC,KACLC,YAAS,EAAIK,qBAAmBqH,EAAAA,SAAU,KAAM,CACrD7H,EAAa,OAASziB,EAAAA,MAAMnB,CAAK,EAAE,OAAS+jB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,QAAS,CACnF,IAAK,EACL,MAAOF,EAAAA,eAAe,CAAC,aAAc/iB,EAAAA,MAAMnB,CAAK,EAAE,UAAU,CAAC,EAC7D,IAAKmB,EAAAA,MAAMurB,CAAU,CAC/B,EAAW,CACDrI,EAAAA,WAAWR,EAAK,OAAQ,QAAS,CAAA,EAAI,IAAM,CACzCS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,KAAK,EAAG,CAAC,CAClE,CAAW,CACX,EAAW,GAAIujB,EAAU,GAAKiB,EAAAA,mBAAmB,GAAI,EAAI,EACjD4O,qBAAmB,QAASzI,EAAAA,WAAW,CAAE,GAAIxpB,EAAAA,MAAMurB,CAAU,CAAC,EAAI7I,EAAK,OAAQ,CAC7E,IAAK,SACL,KAAM,OACN,MAAOF,EAAgB,MACvB,KAAMxiB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,QACtB,OAAQymD,EAAe,OAAS,OAChC,SAAUtlD,EAAAA,MAAMnB,CAAK,EAAE,UAAY,OACnC,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,UAC3B,kBAAmBmB,EAAAA,MAAMnB,CAAK,EAAE,eAChC,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY,OAC1C,UAAWmB,EAAAA,MAAMnB,CAAK,EAAE,UACxB,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,UAC9B,SAAA0mD,EACA,OAAAC,CACV,CAAS,EAAG,KAAM,GAAIx1B,EAAU,CAChC,EAAS,EAAE,EAET,CACF,CAAC,EC/GKy1B,GAAiB,CAACnxD,EAAQD,IAAUA,GAASC,EAAS0xB,GAAW1xB,CAAM,EAAI,IAC3E8tB,GAAa,CACjB,IAAK,EACL,IAAK,WACL,MAAO,eACT,EACM/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,aACR,MAAO,CACL,YAAa,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAC/D,UAAW,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAC7D,WAAY,CAAE,QAAS,MAAM,EAC7B,YAAa,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,MAAM,EACvD,YAAa,CAAE,QAAS,MAAM,EAC9B,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,iBAAkB,CAAE,QAAS,WAAW,EACxC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,GAAI,CAAE,QAAS,MAAM,EACrB,gBAAiB,CAAE,QAAS,MAAM,EAClC,MAAO,CAAE,QAAS,MAAM,EACxB,WAAY,CAAE,QAAS,MAAM,EAC7B,SAAU,CAAE,QAAS,MAAM,EAC3B,UAAW,CAAE,QAAS,MAAM,EAC5B,oBAAqB,CAAE,KAAM,QAAS,QAAS,EAAK,EACpD,MAAO,CAAE,KAAM,CAAC,QAAS,IAAI,EAAG,QAAS,IAAI,EAC7C,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,cAAe,CAAE,QAAS,MAAM,EAChC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,cAAe,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EACjE,cAAe,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EACjE,cAAe,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EACjE,cAAe,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EACjE,YAAa,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAC/D,YAAa,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAC/D,YAAa,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAC/D,YAAa,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAC/D,aAAc,CAAE,QAAS,MAAM,EAC/B,aAAc,CAAE,QAAS,MAAM,EAC/B,aAAc,CAAE,QAAS,MAAM,EAC/B,aAAc,CAAE,QAAS,MAAM,CACnC,EACE,MAAM2jB,EAAS,CACb,MAAMqjC,EAAS,CAAC,QAAS,SAAU,UAAU,EAEvC7mD,EAAQqjB,EADCG,EACmB,YAAY,EACxC1jB,EAAQ2jB,EAAAA,SAAQ,EAChBqjC,EAAuBrnD,GAAsB,EAC7CsnD,EAAkBtnD,GAAsB,EACxCunD,EAAgB/sD,EAAAA,MAAM,IAAM+F,EAAM,KAAK,EACvCinD,EAAU3sD,EAAAA,IAAI,EAAE,EACtB2W,UAAQ/Z,GAAeI,IACrB2vD,EAAQ,MAAQ,CAAC3vD,CAAE,EACZ,CACL,MAAO0vD,CACf,EACK,EACD,MAAME,EAAmBxvD,EAAAA,SAAS,IAC5BsI,EAAM,WAAa,OAAeA,EAAM,SACxCinD,EAAQ,MAAM,CAAC,GAAKA,EAAQ,MAAM,CAAC,EAAE,MAAcA,EAAQ,MAAM,CAAC,EAAE,MACjE,IACR,EACKE,EAAc,CAAC,KAAM,KAAM,KAAM,KAAM,IAAI,EAC3CC,EAAc,CAACzP,EAAQ0P,IAE3BF,EAAY,OAAO,CAAC1qD,EAAQ6qD,IAAe,CACzC,MAAM7xD,EAASmxD,GAAeU,IAAe,KAAO,GAAKA,EAAY,GAAGD,CAAM,MAAM,EACpF,IAAIvkC,EAAY60B,EAAOliD,CAAM,EAE7B,GADAqtB,EAAYA,IAAc,GAAK,GAAOA,GAAa,GAC7C,OAAOA,GAAc,WAAcA,IAAc,OAAQ,CAC7D,MAAMrpB,EAAM,OAAO,SAASqpB,CAAS,EACrCA,EAAY,OAAO,MAAMrpB,CAAG,EAAI,EAAIA,EACpCqpB,EAAYA,EAAY,EAAIA,EAAY,EAC1C,CACA,OAAIA,IACEwkC,IAAe,KACjB7qD,EAAO,OAAOqmB,GAAc,UAAY,MAAQ,MAAM,EAAIA,EAE1DrmB,EAAO6qD,IAAe,OAAOxkC,GAAc,UAAY,MAAQ,OAAO,EAAIA,GAGvErmB,CACT,EAAG,CAAA,CAAE,EAEDwW,EAAU4X,EAAAA,eAAe,UAAU,EACnC08B,EAAkB7vD,EAAAA,SAAS,IAAM0vD,EAAYpnD,EAAO,SAAS,CAAC,EAC9DwnD,EAAoB9vD,EAAAA,SACxB,KAAO,CAACigD,EAAQ0P,IAAWF,EAAY,OAAO,CAAC1qD,EAAQ6qD,IAAe,CACpE,MAAM7xD,EAASmxD,GACbU,IAAe,KAAO,GAAKA,EAC3B,GAAGD,CAAM,OACnB,EACcvkC,EAAY60B,EAAOliD,CAAM,GAAK,KACpC,OAAIqtB,IACEwkC,IAAe,KACjB7qD,EAAO,KAAK,QAAQqmB,CAAS,EAAE,EAE/BrmB,EAAO,KAAK,QAAQ6qD,CAAU,IAAIxkC,CAAS,EAAE,GAG1CrmB,CACT,EAAG,CAAA,CAAE,GAAGuD,EAAO,OAAO,CAC5B,EACUynD,EAAgB/vD,EAAAA,SAAS,IAAM0vD,EAAYpnD,EAAO,OAAO,CAAC,EAC1D0nD,EAAehwD,EAAAA,SACnB,IAAM,OAAO,KAAK6vD,EAAgB,KAAK,EAAE,OAAS,GAAK,OAAO,KAAKE,EAAc,KAAK,EAAE,OAAS,CACvG,EACUnC,EAAaJ,GAAc8B,CAAa,EACxCvB,EAAsBX,GAAe,IAAM9kD,EAAM,YAAagnD,CAAa,EAC3EW,EAAiB7mD,GAAU,CAC/B,GAAIomD,EAAiB,OAASj0C,EAAQ,QAAU,KAAM,OACtD,KAAM,CAAE,OAAA3W,CAAM,EAAKwE,EACb8mD,EAAUtrD,EAASA,EAAO,QAAU,GAC1C,GAAI,CAAC,GAAGuqD,EAAQ,IAAK,SAAU,OAAO,EAAE,QAAQe,CAAO,IAAM,GAAI,OACjE,MAAMC,EAAS,CACb,GAAG50C,EAAQ,MAAM,iBAAiB4zC,EAAO,IAAKlvD,GAAM,GAAGA,CAAC,kBAAkB,EAAE,KAAI,CAAE,CAC1F,EAAQ,OAAO6pB,EAAS,EACZ,CAACsmC,CAAG,EAAID,EACVA,EAAO,SAAW,GAAKC,aAAe,aACxC1mC,GAAa0mC,CAAG,CAEpB,EACMp7B,EAAajM,GAAM,IAAMzgB,EAAM,EAAE,EACjC+nD,EAAUtnC,GAAM,OAAQ,YAAY,EACpCunC,EAAWtwD,EAAAA,SAAS,IAAOwvD,EAAiB,MAAmB,QAAX,QAAkB,EACtEb,EAAe3uD,EAAAA,SAAS,IAAM,CAClCgwD,EAAa,MAAQ,iBAAmB,aACxC,CACE,mBAAoB,CAACR,EAAiB,MACtC,iBAAkBQ,EAAa,OAAS,CAACR,EAAiB,MAC1D,OAAQ,CAACQ,EAAa,OAAS,CAACR,EAAiB,MACjD,UAAW,CAACQ,EAAa,OAASR,EAAiB,MACnD,CAAC,kBAAkBlnD,EAAM,SAAS,EAAE,EAAG,CAAC,CAACA,EAAM,UAC/C,kBAAmBA,EAAM,mBACjC,EACMwnD,EAAkB,MAClBxnD,EAAM,UACZ,CAAK,EACKioD,EAAoBxnC,GAAM,OAAQ,uBAAuB,EACzDynC,EAAkBznC,GAAM,OAAQ,qBAAqB,EACrD0nC,EAAgB1nC,GAAM,OAAQ,kBAAkB,EAChD2nC,EAAa1wD,EAAAA,SAAS,IAAM,CAACwvD,EAAiB,KAAK,EACzD,MAAO,CAACrjC,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwBmkC,EAAW,MAAQ,WAAa,KAAK,EAAG,CAC9F,GAAIjnD,EAAAA,MAAMurB,CAAU,EACpB,SAAU07B,EAAW,MAAQjnD,EAAAA,MAAMnB,CAAK,EAAE,SAAW,KACrD,KAAMooD,EAAW,MAAQ,KAAO,QAChC,eAAgBjnD,EAAAA,MAAMskD,CAAmB,EACzC,kBAAmB2C,EAAW,OAASV,EAAa,MAAQvmD,EAAAA,MAAM4mD,CAAO,EAAI,KAC7E,MAAO7jC,EAAAA,eAAe,CAAC,CAAC/iB,EAAAA,MAAMmkD,CAAU,EAAG,CAAE,gBAAiBnkD,EAAAA,MAAMnB,CAAK,EAAE,SAAS,CAAE,EAAG,cAAc,CAAC,CAChH,EAAS,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBuH,EAAAA,YAAYvqB,EAAAA,MAAM4lD,CAAe,EAAE,OAAQ,KAAM,CAC/C,QAAS5iC,EAAAA,QAAQ,IAAM,CACrBrkB,EAAM,kBAAkB,GAAKqB,EAAAA,MAAMnB,CAAK,EAAE,iBAAmB+jB,EAAAA,UAAS,EAAIC,EAAAA,YAAYwH,GAAa,CACjG,IAAK,EACL,GAAIrqB,EAAAA,MAAM8mD,CAAiB,EAC3B,YAAa9mD,EAAAA,MAAMnB,CAAK,EAAE,iBAC1B,MAAOgnD,EAAc,MACrB,QAAS7lD,EAAAA,MAAMnB,CAAK,EAAE,OACtC,EAAiB,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,mBAAoB,CAAA,EAAI,IAAM,CACpDS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,eAAe,EAAG,CAAC,CACpF,CAAmB,CACnB,CAAiB,EACD,EAAG,CACnB,EAAiB,EAAG,CAAC,KAAM,YAAa,QAAS,SAAS,CAAC,GAAKwkB,EAAAA,mBAAmB,GAAI,EAAI,EAC7E1kB,EAAM,gBAAgB,GAAKqB,EAAAA,MAAMnB,CAAK,EAAE,eAAiB+jB,EAAAA,UAAS,EAAIC,EAAAA,YAAY2H,GAAa,CAC7F,IAAK,EACL,GAAIxqB,EAAAA,MAAM+mD,CAAe,EACzB,YAAa/mD,EAAAA,MAAMnB,CAAK,EAAE,iBAC1B,MAAOgnD,EAAc,MACrB,QAAS7lD,EAAAA,MAAMnB,CAAK,EAAE,OACtC,EAAiB,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,iBAAkB,CAAA,EAAI,IAAM,CAClDS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,aAAa,EAAG,CAAC,CAClF,CAAmB,CACnB,CAAiB,EACD,EAAG,CACnB,EAAiB,EAAG,CAAC,KAAM,YAAa,QAAS,SAAS,CAAC,GAAKwkB,EAAAA,mBAAmB,GAAI,EAAI,EAC7E1kB,EAAM,aAAeqB,EAAAA,MAAMnB,CAAK,EAAE,aAAe+jB,EAAAA,UAAS,EAAIC,EAAAA,YAAYwP,GAAa,CACrF,IAAK,EACL,GAAIryB,EAAAA,MAAMgnD,CAAa,CACvC,EAAiB,CACD,QAAShkC,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,cAAe,CAAA,EAAI,IAAM,CAC/CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,WAAW,EAAG,CAAC,CAChF,CAAmB,CACnB,CAAiB,EACD,EAAG,CACnB,EAAiB,EAAG,CAAC,IAAI,CAAC,GAAKwkB,EAAAA,mBAAmB,GAAI,EAAI,CAC1D,CAAa,EACD,EAAG,CACf,CAAW,EACDkH,EAAAA,YAAYvqB,EAAAA,MAAM2lD,CAAoB,EAAE,OAAQ,KAAM,CACpD,QAAS3iC,EAAAA,QAAQ,IAAM,CACrBrkB,EAAM,OAASqB,EAAAA,MAAMnB,CAAK,EAAE,OAAS0nD,EAAa,OAAS3jC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmBqH,EAAAA,SAAU,CAAE,IAAK,CAAC,EAAI,CAC/Gi8B,EAAa,OAAS3jC,EAAAA,UAAS,EAAIC,EAAAA,YAAYmU,GAAa7E,EAAAA,eAAe3I,aAAW,CAAE,IAAK,CAAC,EAAI88B,EAAc,KAAK,CAAC,EAAG,CACvH,QAAStjC,EAAAA,QAAQ,IAAM,EACpBJ,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwB+jC,EAAS,KAAK,EAAG,CACjE,GAAI7mD,EAAAA,MAAM4mD,CAAO,EACjB,IAAKb,EAAiB,OAAS,KAC/B,SAAUkB,EAAW,MAAQ,KAAO,KACpC,MAAOlkC,EAAAA,eAAemiC,EAAa,KAAK,EACxC,QAASviC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAWw8B,EAAW,MAAQT,EAAgB,KACxG,EAAuB,CACD,QAASxjC,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,QAAS,CAAA,EAAI,IAAM,CACzCS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,KAAK,EAAG,CAAC,CAChF,CAAyB,CACzB,CAAuB,EACD,EAAG,CACzB,EAAuB,EAAG,CAAC,KAAM,MAAO,WAAY,OAAO,CAAC,EAC5D,CAAmB,EACD,EAAG,CACrB,EAAmB,EAAE,IAAM+jB,YAAS,EAAIC,EAAAA,YAAYC,0BAAwB+jC,EAAS,KAAK,EAAG,CAC3E,IAAK,EACL,GAAI7mD,EAAAA,MAAM4mD,CAAO,EACjB,IAAKb,EAAiB,OAAS,KAC/B,SAAUkB,EAAW,MAAQ,KAAO,KACpC,MAAOlkC,EAAAA,eAAemiC,EAAa,KAAK,EACxC,QAASviC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAWw8B,EAAW,MAAQT,EAAgB,KACpG,EAAmB,CACD,QAASxjC,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,QAAS,CAAA,EAAI,IAAM,CACzCS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,KAAK,EAAG,CAAC,CAC5E,CAAqB,CACrB,CAAmB,EACD,EAAG,CACrB,EAAmB,EAAG,CAAC,KAAM,MAAO,WAAY,OAAO,CAAC,EACxD,EAAiB,EAAE,GAAKwkB,qBAAmB,GAAI,EAAI,CACnD,CAAa,EACD,EAAG,CACf,CAAW,EACDkjC,EAAa,OAAS3jC,EAAAA,YAAaC,EAAAA,YAAY27B,GAAa,CAAE,IAAK,GAAK,CACtE,QAASx7B,EAAAA,QAAQ,IAAM,CACrBuH,EAAAA,YAAYvqB,EAAAA,MAAM2lD,CAAoB,EAAE,KAAK,EAC7Cp7B,cAAYyM,GAAaxN,EAAAA,WAAW48B,EAAgB,MAAO,CAAE,IAAK,UAAU,CAAE,EAAG,CAC/E,QAASpjC,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,UAAW,CACjC,GAAI1iB,EAAAA,MAAMurB,CAAU,EACpB,gBAAiB,KACjB,cAAevrB,EAAAA,MAAMgnD,CAAa,EAClC,QAAShnD,EAAAA,MAAM4mD,CAAO,CAC1C,CAAmB,EACDr8B,cAAYvqB,EAAAA,MAAM4lD,CAAe,EAAE,KAAK,CAC1D,CAAiB,EACD,EAAG,CACnB,EAAiB,EAAE,CACnB,CAAa,EACD,EAAG,CACf,CAAW,IAAMhjC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmBqH,EAAAA,SAAU,CAAE,IAAK,GAAK,CAC3DtqB,EAAAA,MAAMnB,CAAK,EAAE,UAAY,CAAC0nD,EAAa,OAAS3jC,EAAAA,YAAaK,EAAAA,mBAAmB,MAAOb,GAAY,CACjGc,aAAWR,EAAK,OAAQ,UAAW,CACjC,GAAI1iB,EAAAA,MAAMurB,CAAU,EACpB,gBAAiB,KACjB,cAAevrB,EAAAA,MAAMgnD,CAAa,EAClC,QAAShnD,EAAAA,MAAM4mD,CAAO,CACtC,CAAe,EACDr8B,EAAAA,YAAYvqB,EAAAA,MAAM2lD,CAAoB,EAAE,KAAK,EAC7Cp7B,cAAYvqB,EAAAA,MAAM4lD,CAAe,EAAE,KAAK,CACtD,EAAe,GAAG,IAAMhjC,EAAAA,YAAaK,EAAAA,mBAAmBqH,EAAAA,SAAU,CAAE,IAAK,GAAK,CAChEC,EAAAA,YAAYvqB,EAAAA,MAAM2lD,CAAoB,EAAE,KAAK,EAC7CziC,aAAWR,EAAK,OAAQ,UAAW,CACjC,GAAI1iB,EAAAA,MAAMurB,CAAU,EACpB,gBAAiB,KACjB,cAAevrB,EAAAA,MAAMgnD,CAAa,EAClC,QAAShnD,EAAAA,MAAM4mD,CAAO,CACtC,CAAe,EACDr8B,cAAYvqB,EAAAA,MAAM4lD,CAAe,EAAE,KAAK,CACtD,EAAe,EAAE,EACjB,EAAa,EAAE,EACf,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,KAAM,WAAY,OAAQ,eAAgB,kBAAmB,OAAO,CAAC,EAEhF,CACF,CAAC,EChSKltD,GAAO,IAAM,CACnB,EACA,SAASU,GAAoBC,EAAQxC,EAAI,CACvC,SAASyC,KAAWpC,EAAM,CACxB,OAAO,IAAI,QAAQ,CAACqC,EAASC,IAAW,CACtC,QAAQ,QAAQH,EAAO,IAAMxC,EAAG,MAAM,KAAMK,CAAI,EAAG,CAAE,GAAAL,EAAI,QAAS,KAAM,KAAAK,CAAI,CAAE,CAAC,EAAE,KAAKqC,CAAO,EAAE,MAAMC,CAAM,CAC7G,CAAC,CACH,CACA,OAAAF,EAAQ,OAASD,EAAO,OACjBC,CACT,CACA,SAAS4tD,GAAejtD,EAAIW,EAAU,GAAI,CACxC,IAAIf,EACAstD,EACAptD,EAAerB,GACnB,MAAM0uD,EAAiBC,GAAW,CAChC,aAAaA,CAAM,EACnBttD,EAAY,EACZA,EAAerB,EACjB,EACA,IAAI4uD,EACJ,MAAMjuD,EAAUK,GAAW,CACzB,MAAMc,EAAW/D,EAAAA,QAAQwD,CAAE,EACrBstD,EAAc9wD,EAAAA,QAAQmE,EAAQ,OAAO,EAE3C,OADIf,GAAOutD,EAAcvtD,CAAK,EAC1BW,GAAY,GAAK+sD,IAAgB,QAAUA,GAAe,GACxDJ,IACFC,EAAcD,CAAQ,EACtBA,EAAW,MAEN,QAAQ,QAAQztD,GAAQ,GAE1B,IAAI,QAAQ,CAACH,EAASC,IAAW,CACtCO,EAAea,EAAQ,eAAiBpB,EAASD,EACjD+tD,EAAc5tD,EACV6tD,GAAe,CAACJ,IAClBA,EAAW,WAAW,IAAM,CACtBttD,GAAOutD,EAAcvtD,CAAK,EAC9BstD,EAAW,KACX5tD,EAAQ+tD,EAAW,CAAE,CACvB,EAAGC,CAAW,GAEhB1tD,EAAQ,WAAW,IAAM,CACnBstD,GAAUC,EAAcD,CAAQ,EACpCA,EAAW,KACX5tD,EAAQG,EAAM,CAAE,CAClB,EAAGc,CAAQ,CACb,CAAC,CACH,EACA,OAAAnB,EAAO,OAAS,IAAM,CAChBQ,GAAOutD,EAAcvtD,CAAK,EAC1BstD,GAAUC,EAAcD,CAAQ,EACpCA,EAAW,IACb,EACO9tD,CACT,CACA,SAASmuD,GAAc3wD,EAAIoD,EAAK,IAAKW,EAAU,CAAA,EAAI,CACjD,OAAOxB,GAAoB8tD,GAAejtD,EAAIW,CAAO,EAAG/D,CAAE,CAC5D,CCnDA,MAAM4wD,GAAiB,CAACjxD,EAAGkxD,IAAmB,CAC5C,GAAIlxD,IAAM,KAAM,OAChB,IAAIiR,EAASjR,EACb,GAAIkxD,EAAe,QAAU,OAAOjgD,GAAW,UAAYA,IAAW,GAAI,CACxE,MAAMkZ,EAAS,OAAO,WAAWlZ,CAAM,EACvCA,EAAS,OAAO,MAAMkZ,CAAM,EAAIlZ,EAASkZ,CAC3C,CACA,OAAOlZ,CACT,EACMkgD,GAAe,CAAC9oD,EAAOw0C,EAAO/nB,EAAYo8B,IAAmB,OACjE,MAAME,EAAiBzuD,EAAAA,IAAI,CAAC,EACtBoyB,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,OAAO,EAC1CgpD,EAAiB7pD,GAAY,IAAMa,EAAM,UAAY,EAAG,CAAE,UAAW,GAAM,EAC3EipD,EAAwB9pD,GAAY,IAAMa,EAAM,iBAAmB,OAAO,GAAG,EAC7EkpD,GAAgB1xD,EAAAA,EAAAA,OAAON,GAAc,IAAI,IAAzBM,YAAAA,EAA6Bk1B,GAC7Cs6B,EAAgBtvD,EAAAA,SACpB,IAAMsI,EAAM,QAAU,OAASA,EAAM,OAAQkpD,GAAA,YAAAA,EAAe,MAAM,QAAS,IAC/E,EACQzD,EAAsBX,GAAe,IAAM9kD,EAAM,YAAagnD,CAAa,EAC3E1B,EAAaJ,GAAc8B,CAAa,EACxCmC,EAA2BR,GAC9BnzD,GAAU,CACTi3B,EAAW,MAAQj3B,CACrB,EACA,IAAMqzD,EAAe,OAAS,GAAO,EAAIG,EAAe,MACxD,CAAE,QAAS,IAAMH,EAAe,OAAS,GAAO,OAAO,IAAMI,EAAsB,KAAK,CAC5F,EACQG,EAAmB,CAAC5zD,EAAO6zD,EAAQ,GAAOrrD,EAAY,KAAU,CAChE6qD,EAAe,OAAS,IAAQQ,IAAU,KAC1CrrD,EACFyuB,EAAW,MAAQj3B,EAEnB2zD,EAAyB3zD,CAAK,EAElC,EACM,CAAE,QAAA4W,CAAO,EAAKL,GAASyoC,EAAO,CAClC,aAAcx0C,EAAM,SACxB,CAAG,EACKspD,EAAe,CAAC9zD,EAAO+zD,EAAKF,EAAQ,KACpCrpD,EAAM,YAAc,SAAW,CAACA,EAAM,eAAiBqpD,GAClDrpD,EAAM,UAAUxK,EAAO+zD,CAAG,EAE5B/zD,EAETiJ,OAAAA,EAAAA,UAAU,IAAM,OACV+1C,EAAM,QACRA,EAAM,MAAM,QAAQl8C,EAAAm0B,EAAW,QAAX,YAAAn0B,EAAkB,aAAc,GAExD,CAAC,EACDkxD,EAAAA,YAAY,IAAM,CAChB9qD,EAAAA,SAAS,IAAM,CACTsB,EAAM,YACRoM,EAAQ,MAAQ,GAEpB,CAAC,CACH,CAAC,EAgDM,CACL,MAAAooC,EACA,WAAA9nB,EACA,oBAAA+4B,EACA,QAnDe8D,GAAQ,CACvB,KAAM,CAAE,MAAA/zD,GAAU+zD,EAAI,OAChBE,EAAiBH,EAAa9zD,EAAO+zD,CAAG,EAC9C,GAAIA,EAAI,iBAAkB,CACxBA,EAAI,eAAc,EAClB,MACF,CAEAH,EADkBK,CACQ,CAC5B,EA2CE,SA1CgBF,GAAQ,CACxB,KAAM,CAAE,MAAA/zD,GAAU+zD,EAAI,OAChBE,EAAiBH,EAAa9zD,EAAO+zD,CAAG,EAC9C,GAAIA,EAAI,iBAAkB,CACxBA,EAAI,eAAc,EAClB,MACF,CACA,MAAMG,EAAYD,EACdh9B,EAAW,QAAUi9B,GACvBN,EAAiBK,EAAgB,EAAI,CAEzC,EAgCE,OA/BcF,GAAQ,CACtB,GAAI,CAACV,EAAe,MAAQ,CAAC7oD,EAAM,eAAiB,CAAC6oD,EAAe,MAAQG,EAAe,OAAS,EAClG,OACF,KAAM,CAAE,MAAAxzD,GAAU+zD,EAAI,OAChBE,EAAiBH,EAAa9zD,EAAO+zD,EAAK,EAAI,EAC9CG,EAAYb,EAAe,KAAOY,EAAe,KAAI,EAAKA,EAC1DE,EAAmBD,EAAU,SAAWD,EAAe,OAC7DN,EAAyB,OAAM,EAC3B18B,EAAW,QAAUi9B,GACvBN,EAAiBK,EAAgB,GAAM,EAAI,EAEzCZ,EAAe,MAAQc,IACzBZ,EAAe,MAAQA,EAAe,MAAQ,EAElD,EAkBE,MAjBY,IAAM,CACb/oD,EAAM,WACToM,EAAQ,MAAQ,GAEpB,EAcE,KAbW,IAAM,CACZpM,EAAM,WACToM,EAAQ,MAAQ,GAEpB,EAUE,eAAA28C,EACA,WAAAzD,CACJ,CACA,ECxHM/hC,GAAa,CAAC,KAAM,QAAS,OAAQ,OAAQ,OAAQ,WAAY,cAAe,WAAY,eAAgB,WAAY,MAAO,MAAO,OAAQ,OAAQ,gBAAiB,cAAc,EACrL/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,aACR,MAAuB+qB,EAAAA,YAAY,CACjC,IAAK,CAAE,QAAS,MAAM,EACtB,IAAK,CAAE,QAAS,MAAM,EACtB,KAAM,CAAE,QAAS,MAAM,EACvB,KAAM,CAAE,QAAS,MAAM,EACvB,YAAa,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,MAAM,EACvD,aAAc,CAAE,QAAS,MAAM,EAC/B,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,QAAS,MAAM,EACvB,UAAW,CAAE,KAAM,SAAU,QAAS,MAAM,EAC5C,GAAI,CAAE,QAAS,MAAM,EACrB,cAAe,CAAE,KAAM,QAAS,QAAS,EAAK,EAC9C,KAAM,CAAE,QAAS,MAAM,EACvB,KAAM,CAAE,QAAS,MAAM,EACvB,YAAa,CAAE,QAAS,MAAM,EAC9B,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,QAAS,MAAM,EACvB,MAAO,CAAE,KAAM,CAAC,QAAS,IAAI,EAAG,QAAS,MAAM,EAC/C,SAAU,CAAE,QAAS,CAAC,EACtB,gBAAiB,CAAE,QAAS,OAAO,GAAG,CAC1C,EAAK,CACD,WAAc,CACZ,QAAS,EACf,EACI,eAAkB,CAAA,CACtB,CAAG,EACD,MAAO,CAAC,mBAAmB,EAC3B,MAAMpH,EAAS,CAAE,OAAQ6N,CAAQ,EAAI,CAEnC,MAAMrxB,EAAQqjB,EADCG,EACmB,YAAY,EACxC,CAACiJ,EAAYo8B,CAAc,EAAI99B,EAAAA,SAASvH,EAAS,aAAc,CACnE,IAAM7rB,GAAMixD,GAAejxD,EAAGkxD,CAAc,CAClD,CAAK,EACKrU,EAAQ3pB,EAAAA,eAAe,QAAQ,EAC/B,CACJ,WAAA6B,EACA,oBAAA+4B,EACA,QAAAmE,EACA,SAAAlD,EACA,OAAAmD,EACA,WAAAvE,EACA,MAAA3lC,EACA,KAAAmqC,EACA,eAAAf,CACN,EAAQD,GAAa9oD,EAAOw0C,EAAO/nB,EAAYo8B,CAAc,EACnDllC,EAAkBjsB,EAAAA,SAAS,IAAM,CACrC,MAAMqyD,EAAU/pD,EAAM,OAAS,QACzBgqD,EAAUhqD,EAAM,OAAS,QAC/B,MAAO,CACLslD,EAAW,MACX,CACE,aAAcyE,EACd,eAAgBC,GAAW,CAAChqD,EAAM,WAAa,CAAC+pD,EAChD,qBAAsBC,EACtB,yBAA0BhqD,EAAM,WAAa,CAAC+pD,GAAW,CAACC,EAC1D,CAAC,gBAAgBhqD,EAAM,IAAI,EAAE,EAAG,CAAC,CAACA,EAAM,IAClD,CACA,CACI,CAAC,EACD,OAAAqxB,EAAS,CACP,KAAAy4B,EACA,QAAStV,EACT,MAAA70B,CACN,CAAK,EACM,CAACkE,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,QAAS,CAC9C,GAAIjjB,EAAAA,MAAMurB,CAAU,EACpB,IAAK,SACL,IAAKvrB,EAAAA,MAAM4nD,CAAc,EACzB,MAAO5nD,EAAAA,MAAMsrB,CAAU,EACvB,MAAOvI,EAAAA,eAAeP,EAAgB,KAAK,EAC3C,KAAMxiB,EAAAA,MAAMnB,CAAK,EAAE,MAAQ,OAC3B,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,MAAQ,OAC3B,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,YAAamB,EAAAA,MAAMnB,CAAK,EAAE,YAC1B,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY,OACnC,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,cAAgB,OAC3C,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,UAAYmB,EAAAA,MAAMnB,CAAK,EAAE,UAChD,IAAKmB,EAAAA,MAAMnB,CAAK,EAAE,IAClB,IAAKmB,EAAAA,MAAMnB,CAAK,EAAE,IAClB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,OAAS,WAAamB,QAAMnB,CAAK,EAAE,KAAO,OAC7D,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY,OAC1C,eAAgBmB,EAAAA,MAAMskD,CAAmB,EACzC,QAAS3hC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAC/B,IAAIzrB,IAAS8I,EAAAA,MAAMyoD,CAAO,GAAKzoD,EAAAA,MAAMyoD,CAAO,EAAE,GAAGvxD,CAAI,GACrD,SAAUyrB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAChC,IAAIzrB,IAAS8I,EAAAA,MAAMulD,CAAQ,GAAKvlD,EAAAA,MAAMulD,CAAQ,EAAE,GAAGruD,CAAI,GACvD,OAAQyrB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAC9B,IAAIzrB,IAAS8I,EAAAA,MAAM0oD,CAAM,GAAK1oD,EAAAA,MAAM0oD,CAAM,EAAE,GAAGxxD,CAAI,EAC3D,EAAS,KAAM,GAAIkrB,EAAU,EAE3B,CACF,CAAC,EC/FKy1B,GAAe,CAAC,KAAM,WAAY,WAAY,OAAQ,OAAQ,aAAc,kBAAmB,QAAS,eAAe,EACvH7nB,GAAa,CAAC,KAAK,EACnB3F,GAA8B3rB,EAAAA,gBAAgB,CAEhD,aAAc,GAEhB,OAAQ,aACR,MAAuB+qB,EAAAA,YAAY,CACjC,UAAW,CAAE,QAAS,MAAM,EAC5B,eAAgB,CAAE,QAAS,MAAM,EACjC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,cAAe,CAAE,QAAS,IAAI,EAC9B,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,QAAS,MAAM,EACvB,GAAI,CAAE,QAAS,MAAM,EACrB,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,KAAM,CAAE,QAAS,MAAM,EACvB,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,KAAM,CAAE,QAAS,MAAM,EACvB,MAAO,CAAE,KAAM,CAAC,QAAS,IAAI,EAAG,QAAS,IAAI,EAC7C,MAAO,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAO,OAAQ,OAAQ,IAAI,EAAG,QAAS,EAAI,CAChF,EAAK,CACD,WAAc,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAO,OAAQ,OAAQ,IAAI,EACjE,QAAS,MACV,EACD,eAAkB,CAAA,CACtB,CAAG,EACD,MAAO,CAAC,mBAAmB,EAC3B,MAAMpH,EAAS,CAAE,OAAQ6N,CAAQ,EAAI,CAEnC,MAAMrxB,EAAQqjB,EADCG,EACmB,YAAY,EACxC1jB,EAAQ2jB,EAAAA,SAAQ,EAChBgJ,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3CkJ,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,YAAY,EAC/CzI,EAAaC,EAAAA,OAAOnB,GAAe,IAAI,EACvCm+C,EAAQ3pB,EAAAA,eAAe,QAAQ,EAC/B,CAAE,QAAAze,CAAO,EAAKL,GAASyoC,EAAO,CAClC,aAAcx0C,EAAM,SAC1B,CAAK,EACKy7C,EAAiB/jD,EAAAA,SAAS,IAAM,CAAC6pB,GAAYzhB,EAAM,OAAO,CAAC,EAC3Di4C,EAAargD,EAAAA,SAAS,CAC1B,IAAK,IAAMH,EAAaA,EAAW,WAAW,MAAQk1B,EAAW,MACjE,IAAM30B,GAAa,CACjB,GAAIA,IAAa,OACjB,IAAIP,IAAe,KAAM,CACvBA,EAAW,WAAW,MAAQO,EAC9B,MACF,CACA20B,EAAW,MAAQ30B,EACrB,CACN,CAAK,EACKguD,EAAmBpuD,EAAAA,SACvB,IAAM,CAAC,EAAEsI,EAAM,OAAQzI,GAAA,YAAAA,EAAY,KAAK,UAAWyI,EAAM,WAAYzI,GAAA,YAAAA,EAAY,SAAS,OAChG,EACUwuD,EAAgBruD,WAAS,IAAMsI,EAAM,eAAgBzI,GAAA,YAAAA,EAAY,QAAQ,QAAS,GAAM,EACxFyuD,EAAgBtuD,EAAAA,SAAS,KAAO,CACpC,MAAOsI,EAAM,SAAUzI,GAAA,YAAAA,EAAY,MAAM,QAAS,IAClD,OAAQyI,EAAM,UAAWzI,GAAA,YAAAA,EAAY,QAAQ,QAAS,IACtD,OAAQyI,EAAM,UAAWzI,GAAA,YAAAA,EAAY,OAAO,QAAS,IACrD,MAAOyI,EAAM,QAASzI,GAAA,YAAAA,EAAY,MAAM,OACxC,QAASyI,EAAM,WAAYzI,GAAA,YAAAA,EAAY,QAAQ,QAAS,IACxD,KAAMyI,EAAM,OAAQzI,GAAA,YAAAA,EAAY,KAAK,QAAS,KAE9C,cAAeyI,EAAM,gBAAiBzI,GAAA,YAAAA,EAAY,cAAc,QAAS,YAEzE,eAAgBkkD,EAAe,KACrC,EAAM,EACI93B,EAAkBu+B,GAAW8D,CAAa,EAC1CG,EAAed,GAAgBW,CAAa,EAC5CK,EAAed,GAAgBS,CAAa,EAClD,OAAA30B,EAAS,CACP,KAAM,IAAM,CACVjlB,EAAQ,MAAQ,EAClB,EACA,QAASooC,EACT,MAAO,IAAM,CACXpoC,EAAQ,MAAQ,EAClB,CACN,CAAK,EACM,CAACyX,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAY2H,GAAa,CAC3C,KAAMo6B,EAAc,MACpB,MAAO7hC,EAAAA,eAAe/iB,EAAAA,MAAMwiB,CAAe,CAAC,CACpD,EAAS,CACD,QAASQ,EAAAA,QAAQ,IAAA,WAAM,OACrBgP,EAAAA,eAAeC,EAAAA,mBAAmB,QAASzI,EAAAA,WAAW,CAAE,GAAIxpB,EAAAA,MAAMurB,CAAU,CAAC,EAAI7I,EAAK,OAAQ,CAC5F,IAAK,SACL,sBAAuBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAWmsB,EAAW,MAAQnsB,GAChF,MAAOzqB,EAAAA,MAAMglD,CAAY,EACzB,KAAM,QACN,SAAUhlD,EAAAA,MAAMnB,CAAK,EAAE,YAAYmB,EAAAA,EAAAA,MAAM5J,CAAU,IAAhB4J,YAAAA,EAAmB,SAAS,OAC/D,SAAU2kD,EAAiB,OAAS,OACpC,KAAM3kD,EAAAA,MAAMnB,CAAK,EAAE,QAAQmB,EAAAA,EAAAA,MAAM5J,CAAU,IAAhB4J,YAAAA,EAAmB,KAAK,OACnD,KAAMA,EAAAA,MAAMnB,CAAK,EAAE,QAAQmB,EAAAA,EAAAA,MAAM5J,CAAU,IAAhB4J,YAAAA,EAAmB,KAAK,OACnD,aAAcA,EAAAA,MAAMnB,CAAK,EAAE,UAC3B,kBAAmBmB,EAAAA,MAAMnB,CAAK,EAAE,eAChC,MAAOmB,EAAAA,MAAMnB,CAAK,EAAE,MACpB,gBAAiB8lD,EAAiB,OAAS,MACvD,CAAW,EAAG,KAAM,GAAI9M,EAAY,EAAG,CAC3B,CAACiR,EAAAA,YAAalS,EAAW,KAAK,CAC1C,CAAW,EACD0D,EAAe,OAASt6C,EAAAA,MAAMnB,CAAK,EAAE,QAAU,IAAS+jB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,QAAS,CAC/F,IAAK,EACL,IAAKjjB,EAAAA,MAAMurB,CAAU,EACrB,MAAOxI,EAAAA,eAAe/iB,EAAAA,MAAMklD,CAAY,CAAC,CACrD,EAAa,CACDhiC,aAAWR,EAAK,OAAQ,SAAS,CAC7C,EAAa,GAAIsN,EAAU,GAAK3M,EAAAA,mBAAmB,GAAI,EAAI,CAC3D,EAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,OAAQ,OAAO,CAAC,EAE3B,CACF,CAAC,EACKjB,GAAa,CAAC,IAAI,EAClB/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,kBACR,MAAuB+qB,EAAAA,YAAY,CACjC,YAAa,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,MAAM,EACvD,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,cAAe,CAAE,QAAS,WAAW,EACrC,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,cAAe,CAAE,QAAS,UAAU,EACpC,KAAM,CAAE,QAAS,MAAM,EACvB,GAAI,CAAE,QAAS,MAAM,EACrB,KAAM,CAAE,QAAS,MAAM,EACvB,QAAS,CAAE,QAAS,IAAM,EAAE,EAC5B,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,KAAM,CAAE,QAAS,IAAI,EACrB,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,MAAO,CAAE,KAAM,CAAC,QAAS,IAAI,EAAG,QAAS,IAAI,EAC7C,UAAW,CAAE,QAAS,MAAM,EAC5B,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,WAAY,CAAE,QAAS,OAAO,CAClC,EAAK,CACD,WAAc,CACZ,QAAS,IACf,EACI,eAAkB,CAAA,CACtB,CAAG,EACD,MAAO,CAAC,mBAAmB,EAC3B,MAAMpH,EAAS,CAAE,OAAQ6N,CAAQ,EAAI,CAEnC,MAAMrxB,EAAQqjB,EADCG,EACmB,iBAAiB,EAC7CiJ,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3CkJ,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,OAAO,EAC1CumD,EAAe9lC,GAAM,IAAMzgB,EAAM,KAAM,UAAU,EACjDiO,EAAU4c,EAAAA,eAAe,UAAU,EACnC,CAAE,QAAAze,CAAO,EAAKL,GAASkC,EAAS,CACpC,aAAcjO,EAAM,SAC1B,CAAK,EACDiR,EAAAA,QAAQ5a,GAAe,CACrB,WAAAo2B,EACA,cAAexyB,EAAAA,MAAM,IAAM+F,EAAM,aAAa,EAC9C,KAAM/F,EAAAA,MAAM,IAAM+F,EAAM,IAAI,EAC5B,KAAMumD,EACN,QAAStsD,EAAAA,MAAM,IAAM+F,EAAM,OAAO,EAClC,MAAO/F,EAAAA,MAAM,IAAM+F,EAAM,KAAK,EAC9B,MAAO/F,EAAAA,MAAM,IAAM+F,EAAM,KAAK,EAC9B,KAAM/F,EAAAA,MAAM,IAAM+F,EAAM,IAAI,EAC5B,OAAQ/F,EAAAA,MAAM,IAAM,CAAC+F,EAAM,OAAO,EAClC,QAAS/F,EAAAA,MAAM,IAAM+F,EAAM,OAAO,EAClC,SAAU/F,EAAAA,MAAM,IAAM+F,EAAM,QAAQ,EACpC,SAAU/F,EAAAA,MAAM,IAAM+F,EAAM,QAAQ,CAC1C,CAAK,EACD,MAAMykD,EAAmB/sD,EAAAA,SACvB,IAAMsI,EAAM,QAAQ,IACjBa,GAAO,OAAOA,GAAO,UAAY,OAAOA,GAAO,SAAW,CACzD,MAAOA,EACP,SAAUb,EAAM,SAChB,KAAMa,EAAG,SAAQ,CAC3B,EAAY,CACF,GAAGA,EACH,MAAOA,EAAGb,EAAM,UAAU,EAC1B,SAAUa,EAAGb,EAAM,aAAa,EAChC,KAAMa,EAAGb,EAAM,SAAS,CAClC,CACA,CACA,EACUgmD,EAAgBtuD,EAAAA,SAAS,KAAO,CACpC,SAAUsI,EAAM,SAChB,YAAaA,EAAM,YACnB,MAAOA,EAAM,MACb,UAAWA,EAAM,UACjB,QAASA,EAAM,QACf,QAASA,EAAM,QACf,KAAMA,EAAM,IAClB,EAAM,EACIwmD,EAAgBhB,GAAaQ,CAAa,EAC1CriC,EAAkB+hC,GAAgBM,CAAa,EACrD,OAAA30B,EAAS,CACP,KAAM,IAAM,CACVjlB,EAAQ,MAAQ,EAClB,EACA,MAAO,IAAM,CACXA,EAAQ,MAAQ,EAClB,CACN,CAAK,EACM,CAACyX,EAAMC,KACLC,EAAAA,UAAS,EAAIK,qBAAmB,MAAOuG,EAAAA,WAAWxpB,EAAAA,MAAMqlD,CAAa,EAAG,CAC7E,GAAIrlD,EAAAA,MAAMurB,CAAU,EACpB,IAAK,WACL,KAAM,aACN,MAAO,CAACvrB,EAAAA,MAAMwiB,CAAe,EAAG,kBAAkB,EAClD,SAAU,IAClB,CAAO,EAAG,CACFU,aAAWR,EAAK,OAAQ,OAAO,GAC9BE,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,WAAU,KAAM+uB,EAAAA,WAAWiK,EAAiB,MAAO,CAACh0C,EAAMnX,KACtFyqB,EAAAA,UAAS,EAAIC,EAAAA,YAAYwH,GAAab,EAAAA,WAAW,CAAE,IAAKrxB,CAAK,EAAI,CAAE,QAAS,EAAI,EAAImX,CAAI,EAAG,CAChG,QAAS0T,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAU8G,EAAAA,WAAW,CAAE,QAAS,EAAI,EAAIla,CAAI,EAAG,IAAM,CAC3E6T,EAAAA,gBAAgBC,EAAAA,gBAAgB9T,EAAK,IAAI,EAAG,CAAC,CAC7D,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,IAAI,EACR,EAAG,GAAG,GACP4T,aAAWR,EAAK,OAAQ,SAAS,CACzC,EAAS,GAAIN,EAAU,EAErB,CACF,CAAC,ECzOKA,GAAa,CAAC,KAAM,gBAAiB,gBAAiB,gBAAgB,EACtE4N,GAAa,CAAC,OAAQ,OAAQ,OAAO,EACrCgqB,GAAa,CAAC,SAAS,EACvBC,GAAa,CAAE,MAAO,oBAAoB,EAC1CkF,GAAa,CAAC,QAAS,QAAQ,EAC/BC,GAAa,CACjB,IAAK,EACL,EAAG,4PACL,EACM2J,GAAa,CACjB,IAAK,EACL,EAAG,sdACL,EACMC,GAAa,CACjB,IAAK,EACL,EAAG,ieACL,EACM34C,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,cACR,MAAuB+qB,EAAAA,YAAY,CACjC,MAAO,CAAE,QAAS,EAAE,EACpB,GAAI,CAAE,QAAS,MAAM,EACrB,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,UAAW,CAAE,QAAS,CAAC,EACvB,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,QAAS,MAAM,EACvB,KAAM,CAAE,QAAS,MAAM,EACvB,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,aAAc,CAAE,KAAM,QAAS,QAAS,EAAK,EAC7C,KAAM,CAAE,QAAS,MAAM,EACvB,MAAO,CAAE,QAAS,CAAC,EACnB,QAAS,CAAE,QAAS,MAAM,CAC9B,EAAK,CACD,WAAc,CAAE,QAAS,CAAC,EAC1B,eAAkB,CAAA,CACtB,CAAG,EACD,MAAO,CAAC,mBAAmB,EAC3B,MAAMpH,EAAS,CAAE,OAAQ6N,CAAQ,EAAI,CAEnC,MAAMrxB,EAAQqjB,EADCG,EACmB,aAAa,EACzCiJ,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3CkJ,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,aAAa,EAChD2jB,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,cAAesI,EAAM,SACrB,cAAeA,EAAM,SACrB,YAAaA,EAAM,SACnB,gBAAiB,GACjB,iBAAkBA,EAAM,OACxB,QAAS,CAACA,EAAM,MACtB,EAAM,EACF,SAASoqD,EAAW9wD,EAAO,CACzB,OAAO+wD,EAAa,MAAQ/wD,GAAS,CACvC,CACA,SAASgxD,EAAWhxD,EAAO,CACzB,MAAMixD,EAAOF,EAAa,MAAQ/wD,EAClC,OAAOixD,GAAQ,IAAOA,EAAO,CAC/B,CACA,MAAMC,EAAalwD,EAAAA,IAAI,IAAI,EACrBy9C,EAAargD,EAAAA,SAAS,CAC1B,IAAK,IAAM+0B,EAAW,MACtB,IAAMj3B,GAAU,CACdi3B,EAAW,MAAQj3B,CACrB,CACN,CAAK,EACK60D,EAAe3yD,EAAAA,SACnB,IAAM8yD,EAAW,QAAU,KAAOA,EAAW,MAAQzS,EAAW,KACtE,EACU0S,EAAe/yD,EAAAA,SAAS,IAAM,KAAK,IAAI,EAAGsI,EAAM,KAAK,CAAC,EACtD67C,EAAenkD,EAAAA,SAAS,IACxBsI,EAAM,OAAS,KAAa,UAC5BA,EAAM,OAAS,KAAa,UACzBA,EAAM,IACd,EACK0qD,EAAmBhzD,EAAAA,SAAS,IAAM,CACtC,MAAMizD,EAAe3qD,EAAM,UAAY,EAAI4qD,EAAa,MAAQP,EAAa,MAC7E,OAAIrqD,EAAM,aACD,GAAG2qD,CAAY,IAAIF,EAAa,KAAK,GAE1CzqD,EAAM,UACD,GAAG2qD,CAAY,GAEjB,EACT,CAAC,EACKC,EAAelzD,EAAAA,SAAS,IAAM,CAClC,MAAM+B,EAAM4wD,EAAa,MACnBQ,EAAS,IAAM7qD,EAAM,UAC3B,OAAO,KAAK,OAAOvG,EAAM,OAAO,SAAWoxD,CAAM,EAAIA,CACvD,CAAC,EACKC,EAAapzD,EAAAA,SACjB,IAAM,MAAM,KAAK,CAAE,OAAQ+yD,EAAa,KAAK,EAAI,IAC3CzqD,EAAM,SACD,CAAE,MAAO,cAAe,MAAO,CAAA,CAAE,EAEtCA,EAAM,QACD,CAAE,MAAO,QAAQA,EAAM,OAAO,GAAI,MAAO,EAAE,EAEhDA,EAAM,MACD,CAAE,MAAO,GAAI,MAAO,CAAE,MAAOA,EAAM,MAAO,EAE5C,CAAE,MAAO,GAAI,MAAO,CAAA,CAAE,CAC9B,CACP,EACI,SAASwhD,EAAUtgD,EAAG,CACpB,GAAIlB,EAAM,UAAYA,EAAM,SAAU,OACtC,IAAIlI,EAAWigD,EAAW,MAC1B,OAAQ72C,EAAE,IAAG,CACX,IAAK,aACL,IAAK,UACHpJ,EAAW,KAAK,IAAIA,EAAW,EAAG2yD,EAAa,KAAK,EACpD,MACF,IAAK,YACL,IAAK,YACH3yD,EAAW,KAAK,IAAIA,EAAW,EAAG,CAAC,EACnC,MACF,QACE,MACV,CACMoJ,EAAE,eAAc,EAChB62C,EAAW,MAAQjgD,CACrB,CACA,SAASizD,EAAaC,EAAW,CAC/B,GAAIhrD,EAAM,UAAYA,EAAM,SAAU,OACtC,MAAMirD,EAAiBT,EAAW,QAAU,KAAOA,EAAW,MAAQQ,EACtEjT,EAAW,MAAQkT,CACrB,CACA,SAASC,GAAc,CACrBV,EAAW,MAAQ,KACnBzS,EAAW,MAAQ,CACrB,CACA,OAAA1mB,EAAS,CACP,WAAAm5B,CACN,CAAK,EACM,CAAC3mC,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC5C,GAAIjjB,EAAAA,MAAMurB,CAAU,EACpB,MAAOxI,EAAAA,eAAeP,EAAgB,KAAK,EAC3C,KAAM,SACN,gBAAiB,EACjB,gBAAiB8mC,EAAa,MAC9B,gBAAiBJ,EAAa,MAC9B,iBAAkB,GAAGA,EAAa,KAAK,OAAOI,EAAa,KAAK,GAChE,SAAU,IACV,UAAAjJ,CACR,EAAS,CACDrgD,EAAAA,MAAMnB,CAAK,EAAE,MAAQ,CAACmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY+jB,EAAAA,YAAaK,EAAAA,mBAAmB,QAAS,CACtF,IAAK,SACL,KAAM,SACN,KAAMjjB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,MAAO+3C,EAAW,KAC5B,EAAW,KAAM,EAAG5mB,EAAU,GAAK3M,EAAAA,mBAAmB,GAAI,EAAI,EACtDrjB,EAAAA,MAAMnB,CAAK,EAAE,WAAa,CAACmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY,CAACmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY+jB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,OAAQ,CACpH,IAAK,EACL,MAAO,uBACP,QAAS8mC,CACnB,EAAW,CACD7mC,EAAAA,WAAWR,EAAK,OAAQ,aAAc,CAAA,EAAI,IAAM,CAC9CC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIsP,EAAAA,mBAAmB,MAAO,CAClD,QAAS,YACT,KAAM,MACN,aAAc,IACd,MAAO,6BACP,MAAO,YACrB,EAAe,CACDA,EAAAA,mBAAmB,IAAK,KAAM,CAC5BA,EAAAA,mBAAmB,OAAQ,CAAE,EAAG,gMAAgM,CAAE,CAClP,CAAe,CACf,EAAe,EAAE,EACjB,CAAW,CACX,CAAS,GAAK5O,EAAAA,mBAAmB,GAAI,EAAI,GAChCT,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,WAAU,KAAM+uB,EAAAA,WAAWiQ,EAAa,MAAO,CAACO,EAAW1xD,KACvFyqB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,OAAQ,CAC7C,IAAK4mC,EACL,MAAO,OACP,QAAUp/B,GAAWm/B,EAAaC,CAAS,CACvD,EAAa,CACD3mC,aAAWR,EAAK,OAAQ,UAAW,CACjC,UAAAmnC,EACA,SAAUZ,EAAW9wD,CAAK,EAC1B,OAAQgxD,EAAWhxD,CAAK,CACtC,EAAe,IAAM,CACP85B,EAAAA,mBAAmB,OAAQgoB,GAAY,EACpCr3B,YAAS,EAAIK,EAAAA,mBAAmB,MAAO,CACtC,MAAO,6BACP,MAAOy3B,EAAa,MACpB,OAAQA,EAAa,MACrB,KAAM,eACN,MAAO33B,EAAAA,eAAe,CAAC,CAAC4mC,EAAW,MAAMxxD,CAAK,EAAE,KAAK,EAAG,cAAc,CAAC,EACvE,MAAOo6B,EAAAA,eAAeo3B,EAAW,MAAMxxD,CAAK,EAAE,KAAK,EACnD,QAAS,WAC3B,EAAmB,CACD8wD,EAAW9wD,CAAK,GAAKyqB,YAAS,EAAIK,EAAAA,mBAAmB,OAAQm8B,EAAU,GAAK+J,EAAWhxD,CAAK,GAAKyqB,EAAAA,YAAaK,EAAAA,mBAAmB,OAAQ8lC,EAAU,IAAMnmC,EAAAA,YAAaK,EAAAA,mBAAmB,OAAQ+lC,EAAU,EAC7N,EAAmB,GAAI7J,EAAU,EACjC,CAAe,CACf,CAAa,CACb,EAAa,EAAGnF,EAAU,EACjB,EAAG,GAAG,GACPh6C,EAAAA,MAAMnB,CAAK,EAAE,WAAamB,QAAMnB,CAAK,EAAE,cAAgB+jB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,OAAQ,CAC7F,IAAK,EACL,MAAOsP,EAAAA,eAAe,CAAE,SAAUmoB,EAAa,KAAK,CAAE,EACtD,MAAO,mBACjB,EAAWt3B,EAAAA,gBAAgBmmC,EAAiB,KAAK,EAAG,CAAC,GAAKlmC,EAAAA,mBAAmB,GAAI,EAAI,CACrF,EAAS,GAAIjB,EAAU,EAErB,CACF,CAAC,EC1MKy1B,GAAe,CAAC,OAAO,EACvBxtB,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,yBACR,MAAO,CACL,cAAe,CAAE,QAAS,UAAU,EACpC,MAAO,CAAE,QAAS,MAAM,EACxB,QAAS,CAAE,QAAS,IAAM,EAAE,EAC5B,UAAW,CAAE,QAAS,MAAM,EAC5B,WAAY,CAAE,QAAS,OAAO,CAClC,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,wBAAwB,EACpD,CAAE,kBAAAkhC,CAAiB,EAAKN,GAAc,IAAMpkD,EAAM,QAASA,CAAK,EACtE,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,WAAY,CACjD,MAAOjjB,EAAAA,MAAMnB,CAAK,EAAE,KAC5B,EAAS,CACDqkB,aAAWR,EAAK,OAAQ,OAAO,GAC9BE,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,EAAAA,SAAU,KAAM+uB,aAAWr5C,EAAAA,MAAMujD,CAAiB,EAAG,CAACJ,EAAQhrD,KAC1FyqB,YAAS,EAAIC,cAAY2H,GAAahB,EAAAA,WAAW,CACtD,IAAKrxB,EACL,SAAUgrD,EAAO,SACjB,MAAOA,EAAO,KAC1B,EAAa,CAAE,QAAS,EAAI,EAAIzgC,EAAK,MAAM,EAAG,CAClC,QAASM,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAU8G,EAAAA,WAAW,CAAE,QAAS,EAAI,EAAI25B,CAAM,EAAG,IAAM,CAC7EhgC,EAAAA,gBAAgBC,EAAAA,gBAAgB+/B,EAAO,IAAI,EAAG,CAAC,CAC/D,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,KAAM,CAAC,WAAY,OAAO,CAAC,EAC/B,EAAG,GAAG,GACPjgC,aAAWR,EAAK,OAAQ,SAAS,CACzC,EAAS,EAAGm1B,EAAY,EAEtB,CACF,CAAC,EACKz1B,GAAa,CAAC,KAAM,OAAQ,OAAQ,WAAY,OAAQ,WAAY,WAAY,gBAAiB,cAAc,EAC/G/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,cACR,MAAuB+qB,EAAAA,YAAY,CACjC,YAAa,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,MAAM,EACvD,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,cAAe,CAAE,QAAS,UAAU,EACpC,KAAM,CAAE,QAAS,MAAM,EACvB,GAAI,CAAE,QAAS,MAAM,EACrB,WAAY,CAAE,QAAS,OAAO,EAC9B,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,QAAS,MAAM,EACvB,QAAS,CAAE,QAAS,IAAM,EAAE,EAC5B,aAAc,CAAE,QAAS,SAAS,EAClC,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,WAAY,CAAE,QAAS,CAAC,EACxB,KAAM,CAAE,QAAS,IAAI,EACrB,MAAO,CAAE,KAAM,CAAC,QAAS,IAAI,EAAG,QAAS,IAAI,EAC7C,UAAW,CAAE,QAAS,MAAM,EAC5B,WAAY,CAAE,QAAS,OAAO,CAClC,EAAK,CACD,WAAc,CAEZ,QAAS,EACf,EACI,eAAkB,CAAA,CACtB,CAAG,EACD,MAAO,CAAC,mBAAmB,EAC3B,MAAMpH,EAAS,CAAE,OAAQ6N,CAAQ,EAAI,CAEnC,MAAMrxB,EAAQqjB,EADCG,EACmB,aAAa,EACzCiJ,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3CkJ,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,OAAO,EAC1CmrD,EAAmBhsD,GAAY,IAAMa,EAAM,UAAU,EACrDslD,EAAaJ,GAAc,IAAMllD,EAAM,KAAK,EAC5Cw0C,EAAQ3pB,EAAAA,eAAe,QAAQ,EAC/B,CAAE,QAAAze,CAAO,EAAKL,GAASyoC,EAAO,CAClC,aAAcx0C,EAAM,SAC1B,CAAK,EACK2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrC4tD,EAAW,MACX,CACE,eAAgBtlD,EAAM,MACtB,CAAC,gBAAgBA,EAAM,IAAI,EAAE,EAAGA,EAAM,OAAS,MAAQA,EAAM,MAC7D,cAAe,CAACA,EAAM,MACtB,CAAC,eAAeA,EAAM,IAAI,EAAE,EAAGA,EAAM,OAAS,MAAQ,CAACA,EAAM,KACrE,CACA,CAAK,EACKorD,EAAqB1zD,EAAAA,SACzB,IAAMyzD,EAAiB,OAASnrD,EAAM,MAAQmrD,EAAiB,MAAQ,MAC7E,EACU1F,EAAsBX,GAC1B,IAAM9kD,EAAM,YACZ,IAAMA,EAAM,KAClB,EACU,CAAE,kBAAA0kD,EAAmB,UAAAL,CAAS,EAAKD,GAAc,IAAMpkD,EAAM,QAASA,CAAK,EAC3E2kD,EAAwBjtD,EAAAA,SAC5B,IAAMgtD,EAAkB,KAC9B,EACU3M,EAAargD,EAAAA,SAAS,CAC1B,IAAK,IAAM+0B,EAAW,MACtB,IAAM30B,GAAa,CACjB20B,EAAW,MAAQ30B,CACrB,CACN,CAAK,EACDmZ,OAAAA,EAAAA,QAAQ9Z,GAAe,CACrB,WAAYiD,EAAAA,SAAS29C,CAAU,CACrC,CAAK,EACD1mB,EAAS,CACP,KAAM,IAAM,CACVjlB,EAAQ,MAAQ,EAClB,EACA,QAASooC,EACT,MAAO,IAAM,CACXpoC,EAAQ,MAAQ,EAClB,CACN,CAAK,EACM,CAACyX,EAAMC,IACLqP,kBAAgBpP,EAAAA,YAAaK,EAAAA,mBAAmB,SAAU,CAC/D,GAAIjjB,EAAAA,MAAMurB,CAAU,EACpB,IAAK,SACL,sBAAuB5I,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAWmsB,EAAW,MAAQnsB,GAChF,MAAO1H,EAAAA,eAAeP,EAAgB,KAAK,EAC3C,KAAMxiB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,MAAQ,OAC3B,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY,OACnC,KAAMorD,EAAmB,MACzB,SAAUjqD,EAAAA,MAAMnB,CAAK,EAAE,SACvB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY,OACnC,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY,OAC1C,eAAgBmB,EAAAA,MAAMskD,CAAmB,CACjD,EAAS,CACDphC,aAAWR,EAAK,OAAQ,OAAO,GAC9BE,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,WAAU,KAAM+uB,EAAAA,WAAWmK,EAAsB,MAAO,CAACL,EAAQhrD,KAC7FyqB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmBqH,EAAAA,SAAU,CAAE,IAAKnyB,GAAS,CAC/D6H,EAAAA,MAAMkjD,CAAS,EAAEC,CAAM,GAAKvgC,EAAAA,UAAS,EAAIC,EAAAA,YAAYwH,GAAa,CAChE,IAAK,EACL,MAAO84B,EAAO,MACd,QAASA,EAAO,QAChB,cAAenjD,EAAAA,MAAMnB,CAAK,EAAE,WAC5B,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,UAC3B,iBAAkBmB,EAAAA,MAAMnB,CAAK,EAAE,aAC7C,EAAe,KAAM,EAAG,CAAC,QAAS,UAAW,cAAe,aAAc,gBAAgB,CAAC,IAAM+jB,EAAAA,YAAaC,EAAAA,YAAY2H,GAAa,CACzH,IAAK,EACL,MAAO24B,EAAO,MACd,SAAUA,EAAO,QAC/B,EAAe,CACD,QAASngC,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAU8G,EAAAA,WAAW,CAAE,QAAS,EAAI,EAAI25B,CAAM,EAAG,IAAM,CAC7EhgC,EAAAA,gBAAgBC,EAAAA,gBAAgB+/B,EAAO,IAAI,EAAG,CAAC,CACjE,CAAiB,CACjB,CAAe,EACD,EAAG,CACjB,EAAe,KAAM,CAAC,QAAS,UAAU,CAAC,EAC1C,EAAa,EAAE,EACN,EAAG,GAAG,GACPjgC,aAAWR,EAAK,OAAQ,SAAS,CACzC,EAAS,GAAIN,EAAU,GAAI,CACnB,CAAC8nC,EAAAA,aAActT,EAAW,KAAK,CACvC,CAAO,CAEL,CACF,CAAC,ECnKKuT,GAAS,IAAM,CACnB,MAAMC,EAAY/zD,EAAAA,OAAOd,EAAc,EACvC+H,OAAAA,EAAAA,UAAU,IAAM,CACd5G,EAAAA,MACE,IAAM0zD,GAAA,YAAAA,EAAW,OAAO,MACvBzzD,GAAa,CACC,SAAS,gBACjB,aAAa,OAAQA,GAAY,EAAE,CAC1C,EACA,CAAE,UAAW,EAAI,CACvB,EACID,EAAAA,MACE,IAAM0zD,GAAA,YAAAA,EAAW,MAAM,MACtBzzD,GAAa,CACC,SAAS,gBACjB,aAAa,MAAOA,GAAY,GAAQ,MAAQ,KAAK,CAC5D,EACA,CAAE,UAAW,EAAI,CACvB,CACE,CAAC,EACM,CAAE,GAAGyzD,CAAS,CACvB,EACMhoC,GAAa,CAAC,OAAQ,WAAY,OAAO,EACzC4N,GAAa,CAAC,OAAQ,OAAQ,OAAO,EACrCgqB,GAAa,CAAC,KAAM,MAAO,WAAY,aAAc,eAAgB,gBAAiB,gBAAiB,gBAAiB,gBAAiB,gBAAgB,EACzJqQ,GAAgB,CACpB,IAAK,EACL,IAAK,IACL,KAAM,EACN,YAAa,IACb,eAAgB,IAChB,gBAAiB,GACjB,iBAAkB,CACpB,EACMh6C,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,kBACR,MAAuB+qB,EAAAA,YAAY,CACjC,aAAc,CAAE,QAAS,MAAM,EAC/B,UAAW,CAAE,QAAS,MAAM,EAC5B,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,QAAS,MAAM,EACvB,YAAa,CAAE,KAAM,SAAU,QAAS,MAAM,EAC9C,GAAI,CAAE,QAAS,MAAM,EACrB,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,eAAgB,CAAE,QAAS,WAAW,EACtC,eAAgB,CAAE,QAAS,WAAW,EACtC,OAAQ,CAAE,QAAS,MAAM,EACzB,IAAK,CAAE,QAAS4gC,GAAc,GAAG,EACjC,IAAK,CAAE,QAASA,GAAc,GAAG,EACjC,KAAM,CAAE,QAAS,MAAM,EACvB,YAAa,CAAE,QAAS,MAAM,EAC9B,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,YAAa,CAAE,QAASA,GAAc,WAAW,EACjD,eAAgB,CAAE,QAASA,GAAc,cAAc,EACvD,qBAAsB,CAAE,QAASA,GAAc,gBAAgB,EAC/D,gBAAiB,CAAE,QAASA,GAAc,eAAe,EACzD,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,QAAS,MAAM,EACvB,MAAO,CAAE,KAAM,CAAC,QAAS,IAAI,EAAG,QAAS,IAAI,EAC7C,KAAM,CAAE,QAASA,GAAc,IAAI,EACnC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,CACzC,EAAK,CACD,WAAc,CACZ,QAAS,IACf,EACI,eAAkB,CAAA,CACtB,CAAG,EACD,MAAuB5gC,EAAAA,YAAY,CAAC,QAAQ,EAAG,CAAC,mBAAmB,CAAC,EACpE,MAAMpH,EAAS,CAAE,KAAMuG,CAAM,EAAI,CAC/B,MAAM0hC,EAAY,CAACrlC,GAASP,GAAWE,GAAWD,GAAUI,GAAaD,EAAa,EAEhFjmB,EAAQqjB,EADCG,EACmB,iBAAiB,EAC7CwG,EAAOD,EACP0C,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3CvV,EAAU4c,EAAAA,eAAe,UAAU,EACnC,CAAE,QAAAze,CAAO,EAAKL,GAASkC,CAAO,EAC9Bye,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,YAAY,EAC/C2jB,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,SAAYsI,EAAM,SAClB,SAAYA,EAAM,SAClB,MAASoM,EAAQ,MACjB,gBAAiBpM,EAAM,QAAUA,EAAM,SACvC,SAAU,CAACA,EAAM,QAAU,CAACA,EAAM,SAClC,sBAAuB,CAACA,EAAM,SAC9B,cAAeA,EAAM,SACrB,CAAC,gBAAgBA,EAAM,IAAI,EAAE,EAAGA,EAAM,OAAS,MACrD,EAAM,EACI0rD,EAAsBh0D,EAAAA,SAAS,KAAO,CAC1C,SAAUsI,EAAM,SAChB,oBAAqB,CAACA,EAAM,SAC5B,qBAAsBA,EAAM,SAC5B,aAAcA,EAAM,SACpB,gBAAiBA,EAAM,SACvB,eAAgB,CAACA,EAAM,SACvB,aAAc,CAACA,EAAM,QAC3B,EAAM,EACF,IAAI2rD,EACAC,EACAC,EAAc,GAClB,MAAMC,EAAa3sD,GAAY,IAAMa,EAAM,IAAI,EACzC+rD,EAAer0D,EAAAA,SACnB,IAAM,OAAO,MAAMo0D,EAAW,KAAK,EAAIN,GAAc,KAAOM,EAAW,KAC7E,EACUE,EAAY7sD,GAAY,IAAMa,EAAM,GAAG,EACvCisD,EAAcv0D,EAAAA,SAClB,IAAM,OAAO,MAAMs0D,EAAU,KAAK,EAAIR,GAAc,IAAMQ,EAAU,KAC1E,EACUE,EAAY/sD,GAAY,IAAMa,EAAM,GAAG,EACvCmsD,EAAcz0D,EAAAA,SAAS,IAAM,CACjC,MAAM00D,EAAOL,EAAa,MACpB/yB,EAAMizB,EAAY,MACxB,OAAO,KAAK,OAAOC,EAAU,MAAQlzB,GAAOozB,CAAI,EAAIA,EAAOpzB,CAC7D,CAAC,EACKqzB,EAAoBltD,GAAY,IAAMa,EAAM,YAAa,CAC7D,UAAW,GACX,OAAQ,UACd,CAAK,EACKssD,EAAgB50D,EAAAA,SACpB,IAAM20D,EAAkB,MAAQ,EAAIA,EAAkB,MAAQb,GAAc,WAClF,EACUe,EAAuBptD,GAAY,IAAMa,EAAM,eAAgB,CACnE,UAAW,GACX,OAAQ,UACd,CAAK,EACKwsD,EAAmB90D,EAAAA,SACvB,IAAM60D,EAAqB,MAAQ,EAAIA,EAAqB,MAAQf,GAAc,cACxF,EACUiB,EAAwBttD,GAAY,IAAMa,EAAM,gBAAiB,CACrE,UAAW,GACX,OAAQ,UACd,CAAK,EACK0sD,EAAoBh1D,EAAAA,SACxB,IAAM,KAAK,IACT,OAAO,MAAM+0D,EAAsB,KAAK,EAAIjB,GAAc,gBAAkBiB,EAAsB,MAClG,CACR,CACA,EACUE,EAA6BxtD,GAAY,IAAMa,EAAM,qBAAsB,CAC/E,UAAW,GACX,OAAQ,UACd,CAAK,EACK4sD,EAAyBl1D,EAAAA,SAC7B,IAAM,KAAK,IACT,OAAO,MAAMi1D,EAA2B,KAAK,EAAInB,GAAc,iBAAmBmB,EAA2B,MAC7G,CACR,CACA,EACUE,EAAoBn1D,EAAAA,SAAS,IAAM,CACvC,MAAM00D,EAAOL,EAAa,MAC1B,OAAO,KAAK,MAAMK,CAAI,IAAMA,EAAO,GAAKA,EAAK,SAAQ,EAAG,MAAM,GAAG,EAAE,CAAC,GAAK,IAAI,MAC/E,CAAC,EACKU,EAAqBp1D,WAAS,IAAM,KAAK,IAAI,GAAIm1D,EAAkB,OAAS,CAAC,CAAC,EAC9EE,EAAer1D,EAAAA,SACnB,IAAM+0B,EAAW,QAAU,KAAO,GAAKA,EAAW,MAAM,QAAQogC,EAAkB,KAAK,CAC7F,EACU,CAAE,MAAApX,EAAO,OAAQuX,CAAY,EAAK1B,GAAM,EACxC2B,EAAiBv1D,EAAAA,SAAS,IAAM,CAEpC,MAAMw1D,EAAU,EADHltD,EAAM,SAAUgtD,GAAA,YAAAA,EAAc,SAAU,QACjC,EAEpB,OADW,IAAI,KAAK,aAAaE,CAAO,EAC9B,gBAAe,EAAG,MAC9B,CAAC,EACKC,EAAmB,IAAM,IAAI,KAAK,aAAaF,EAAe,MAAO,CACzE,MAAO,UACP,YAAa,GACb,qBAAsB,EACtB,sBAAuBJ,EAAkB,MACzC,sBAAuBA,EAAkB,MACzC,SAAU,UAChB,CAAK,EAAE,OACGO,EAAoB11D,EAAAA,SAAS,IAAMsI,EAAM,aAAemtD,EAAgB,CAAE,EAC1EE,EAAapvD,GAAc,CAC/B,GAAI,CAAE,MAAAzI,CAAK,EAAKi3B,EAChB,GAAI,CAACzsB,EAAM,UAAYxK,IAAU,KAAM,CACrC,MAAM42D,EAAOL,EAAa,MAAQ9tD,EAC5B+6B,EAAMizB,EAAY,MAClBj9C,GAAMm9C,EAAY,MAClBmB,EAAaR,EAAmB,MAChC,CAAE,KAAAS,CAAI,EAAKvtD,EACjBxK,EAAQ,KAAK,OAAOA,EAAQwjC,GAAOozB,CAAI,EAAIA,EAAOpzB,EAAMozB,EACxD52D,EAAQ,KAAK,MAAMA,EAAQ83D,CAAU,EAAIA,EACzC7gC,EAAW,MAAQj3B,EAAQwZ,GAAMu+C,EAAOv0B,EAAMhqB,GAAMxZ,EAAQwjC,EAAMu0B,EAAOv+C,GAAMgqB,EAAMxjC,CACvF,CACF,EACMg4D,EAAS,CAACF,EAAa,IAAM,CACjC,GAAI7gC,EAAW,QAAU,KAAM,CAC7BA,EAAW,MAAQw/B,EAAY,MAC/B,MACF,CACAoB,EAAU,EAAIC,CAAU,CAC1B,EACMG,EAAW,CAACH,EAAa,IAAM,CACnC,GAAI7gC,EAAW,QAAU,KAAM,CAC7BA,EAAW,MAAQzsB,EAAM,KAAOmsD,EAAY,MAAQF,EAAY,MAChE,MACF,CACAoB,EAAU,GAAKC,CAAU,CAC3B,EACAnpD,GACEsnD,EACC3qD,GAAU,CACT,KAAM,CAAE,KAAA69C,EAAM,OAAA+O,EAAQ,QAAAC,EAAS,QAAAC,EAAO,EAAK9sD,EAC3C,GAAI,EAAAd,EAAM,UAAYA,EAAM,UAAY0tD,GAAUC,GAAWC,MAC7D9P,GAAUh9C,EAAO,CAAE,qBAAsB,EAAI,CAAE,EAC3C,CAAA+qD,GAIJ,IADAgC,GAAW,EACP,CAACznC,GAASP,EAAS,EAAE,SAAS84B,CAAI,EAAG,CAEvC,GADAkN,EAAc,GACVlN,IAASv4B,GAAS,CACpB0nC,GAAiBhtD,EAAO0sD,CAAM,EAC9B,MACF,CACI7O,IAAS94B,IACXioC,GAAiBhtD,EAAO2sD,CAAQ,EAElC,MACF,CACA,GAAI9O,IAASz4B,GAAa,CACxBsnC,EAAOZ,EAAuB,KAAK,EACnC,MACF,CACA,GAAIjO,IAAS14B,GAAe,CAC1BwnC,EAASb,EAAuB,KAAK,EACrC,MACF,CACA,GAAIjO,IAAS54B,GAAW,CACtB0G,EAAW,MAAQw/B,EAAY,MAC/B,MACF,CACItN,IAAS74B,KACX2G,EAAW,MAAQ0/B,EAAY,OAEnC,EACA,CAAE,OAAQl+C,EAAS,UAAW,SAAS,CAC7C,EACI9J,GACEsnD,EACC3qD,GAAU,CACT,KAAM,CAAE,OAAA4sD,EAAQ,QAAAC,EAAS,QAAAC,CAAO,EAAK9sD,EACjCd,EAAM,UAAYA,EAAM,UAAY0tD,GAAUC,GAAWC,IAC7D9P,GAAUh9C,EAAO,CAAE,qBAAsB,EAAI,CAAE,EAC/C+sD,GAAW,EACXhC,EAAc,GACd7hC,EAAK,SAAUyC,EAAW,KAAK,EACjC,EACA,CAAE,OAAQxe,EAAS,UAAW,OAAO,CAC3C,EACI,MAAM6/C,GAAmB,CAAChtD,EAAOitD,IAAY,CAC3C,KAAM,CAAE,KAAAxlD,GAASzH,GAAS,CAAA,EAC1B,GAAI,CAACd,EAAM,UAAY,CAACA,EAAM,SAAU,CACtC,GAAIguD,GAAaltD,CAAK,GAChByH,IAAS,aAAezH,EAAM,OAAQ,OAE5C+sD,GAAW,EACXE,EAAQ,CAAC,EACT,MAAMniD,EAAY8gD,EAAkB,MAC9BY,GAAaV,EAAuB,MACpCphD,EAAQ8gD,EAAc,MACtB1tD,EAAW4tD,EAAiB,MAClCb,EAAmB,WAAW,IAAM,CAClC,IAAItT,EAAQ,EACZuT,EAAoB,YAAY,IAAM,CACpCmC,EAAQ1V,EAAQzsC,EAAY,EAAI0hD,EAAU,EAC1CjV,GACF,EAAGz5C,CAAQ,CACb,EAAG4M,CAAK,CACV,CACF,EACMwiD,GAAgBzE,GAAQA,EAAI,OAAS,WAAaA,EAAI,OAAS,YAC/D0E,GAAantD,GAAU,CACvBktD,GAAaltD,CAAK,GAChBA,EAAM,OAAS,WAAaA,EAAM,SAIxCg9C,GAAUh9C,EAAO,CAAE,qBAAsB,EAAI,CAAE,EAC/C+sD,GAAW,EACXK,GAAW,EAAK,EAChBlkC,EAAK,SAAUyC,EAAW,KAAK,EACjC,EACMyhC,GAActQ,GAAO,CACzB,GAAI,CACFD,GAAWC,EAAI,CAAC,SAAS,KAAM,UAAWqQ,GAAW,EAAK,CAAC,EAC3DtQ,GAAWC,EAAI,CAAC,SAAS,KAAM,WAAYqQ,GAAW,EAAK,CAAC,CAC9D,MAAQ,CACR,CACF,EACMJ,GAAc,IAAM,CACxB,aAAalC,CAAgB,EAC7B,cAAcC,CAAiB,EAC/BD,EAAmB,OACnBC,EAAoB,MACtB,EACMuC,GAAUz2D,EAAAA,SAAS,IAAM,CAC7B,MAAM02D,EAAoB,CACxB,IAAK,CACH,MAAO,6BACP,MAAO,KACP,OAAQ,KACR,KAAM,eACN,MAAO,aACP,QAAS,WACnB,EACQ,KAAM,CACJ,EAAG,uGACb,CACA,EACYC,EAAoB,CACxB,IAAK,CACH,MAAO,6BACP,MAAO,KACP,OAAQ,KACR,KAAM,eACN,MAAO,aACP,QAAS,WACnB,EACQ,KAAM,CAAE,EAAG,2DAA2D,CAC9E,EACYC,EAAoB,CACxB,MAAS,CAAC,CAAE,OAAQ,CAACtuD,EAAM,QAAQ,EAAI,MAAO,SAAU,WAAY,WAAW,EAC/E,SAAY,KACZ,KAAQ,SACR,SAAYA,EAAM,UAAYA,EAAM,SACpC,gBAAiBA,EAAM,UAAYA,EAAM,SAAW,GAAO,OAC3D,gBAAiB0sB,EAAW,KACpC,EACY6hC,EAAiB,CACrB,cAAe,GACf,MAASniD,EAAQ,MAAQ,IAAM,IACvC,EACYxK,GAAU,CAACd,EAAOitD,IAAY,CAC9B,CAAC/tD,EAAM,UAAY,CAACA,EAAM,WAC5B89C,GAAUh9C,EAAO,CAAE,qBAAsB,EAAI,CAAE,EAC/CotD,GAAW,EAAI,EACf9hD,EAAQ,MAAQ,GAChB0hD,GAAiBhtD,EAAOitD,CAAO,EAEnC,EACMS,EAAiB,CACrB,OAAQ,CACN,GAAGF,EACH,aAActuD,EAAM,gBAAkB,OACtC,oBAAqB,SAC/B,EACQ,IAAK,CACH,GAAGuuD,EACH,GAAGH,EAAkB,GAC/B,EACQ,KAAM,CACJ,GAAGA,EAAkB,IAC/B,EACQ,KAAM,CACJ,KAAM,WAChB,EACQ,QAAUltD,GAAMU,GAAQV,EAAGssD,CAAM,CACzC,EACYiB,EAAiB,CACrB,OAAQ,CACN,GAAGH,EACH,aAActuD,EAAM,gBAAkB,OACtC,oBAAqB,WAC/B,EACQ,IAAK,CACH,GAAGuuD,EACH,GAAGF,EAAkB,GAC/B,EACQ,KAAM,CACJ,GAAGA,EAAkB,IAC/B,EACQ,KAAM,CACJ,KAAM,WAChB,EACQ,QAAUntD,GAAMU,GAAQV,EAAGusD,CAAQ,CAC3C,EACM,MAAO,CACL,IAAK,CACH,GAAGztD,EAAM,SAAWwuD,EAAiBC,CAC/C,EACQ,OAAQ,CACN,GAAIzuD,EAAM,SAA4ByuD,EAAjBD,CAC/B,CACA,CACI,CAAC,EACD,MAAO,CAAC3qC,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC5C,IAAK,WACL,MAAOF,EAAAA,eAAe,CAAC,iCAAkCP,EAAgB,KAAK,CAAC,EAC/E,KAAM,QACN,KAAMspC,EAAe,MACrB,SAAU9rD,EAAAA,MAAMnB,CAAK,EAAE,SAAW,OAAS,KAC3C,MAAOmB,EAAAA,MAAMnB,CAAK,EAAE,UACpB,QAAS8jB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAWxf,EAAQ,MAAQ,GACvE,EAAS,CACDiY,EAAAA,WAAWR,EAAK,OAAQsqC,GAAQ,MAAM,IAAI,KAAK,KAAM,CAAE,SAAUhtD,EAAAA,MAAMiL,CAAO,CAAC,EAAI,IAAM,CACvFgnB,EAAAA,mBAAmB,SAAUzI,EAAAA,WAAWwjC,GAAQ,MAAM,IAAI,OAAQ,CAChE,YAAarqC,EAAO,CAAC,IAAMA,EAAO,CAAC,EACnC,IAAIzrB,IAAS81D,GAAQ,MAAM,IAAI,SAAWA,GAAQ,MAAM,IAAI,QAAQ,GAAG91D,CAAI,GAC3E,aAAcyrB,EAAO,CAAC,IAAMA,EAAO,CAAC,EACpC,IAAIzrB,IAAS81D,GAAQ,MAAM,IAAI,SAAWA,GAAQ,MAAM,IAAI,QAAQ,GAAG91D,CAAI,EACvF,CAAW,EAAG,EACD0rB,EAAAA,YAAaK,EAAAA,mBAAmB,MAAOkP,iBAAeC,EAAAA,mBAAmB46B,GAAQ,MAAM,IAAI,GAAG,CAAC,EAAG,CACjG/6B,EAAAA,mBAAmB,OAAQE,iBAAeC,EAAAA,mBAAmB46B,GAAQ,MAAM,IAAI,IAAI,CAAC,EAAG,KAAM,EAAE,CAC7G,EAAe,EAAE,EACjB,EAAa,EAAE,CACf,CAAS,EACDhtD,EAAAA,MAAMnB,CAAK,EAAE,MAAQ,CAACmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY+jB,EAAAA,YAAaK,EAAAA,mBAAmB,QAAS,CACtF,IAAK,SACL,KAAM,SACN,KAAMjjB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,MAAO+sD,EAAa,KAC9B,EAAW,KAAM,EAAG57B,EAAU,GAAK3M,EAAAA,mBAAmB,GAAI,EAAI,EACtD4O,EAAAA,mBAAmB,SAAU,CAC3B,GAAIjyB,EAAAA,MAAMurB,CAAU,EACpB,IAAK,SACL,MAAOxI,EAAAA,eAAe,CAAC,cAAewnC,EAAoB,KAAK,CAAC,EAChE,IAAKvqD,EAAAA,MAAMs0C,CAAK,GAAK,GAAQ,MAAQ,MACrC,SAAUt0C,EAAAA,MAAMnB,CAAK,EAAE,SAAW,OAAS,IAC3C,KAAM,aACN,YAAa,MACb,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,WAAa,OACxC,eAAgBmB,EAAAA,MAAMnB,CAAK,EAAE,QAAU,IAAS,CAACysB,EAAW,QAAU,MAAQtrB,EAAAA,MAAMnB,CAAK,EAAE,SAAW,GAAO,OAC7G,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,SAAW,GAAO,OAChD,gBAAiBisD,EAAY,MAC7B,gBAAiBE,EAAY,MAC7B,gBAAiB1/B,EAAW,QAAU,KAAOA,EAAW,MAAQ,OAChE,iBAAkBA,EAAW,QAAU,KAAO2gC,EAAkB,MAAM3gC,EAAW,KAAK,EAAI,MACpG,EAAW,CACD2G,EAAAA,mBAAmB,MAAO,KAAM7O,EAAAA,iBAAiBkI,EAAW,QAAU,KAAO2gC,EAAkB,MAAM3gC,EAAW,KAAK,EAAItrB,EAAAA,MAAMnB,CAAK,EAAE,cAAgB,EAAE,EAAG,CAAC,CACtK,EAAW,GAAIm7C,EAAU,EACjB92B,EAAAA,WAAWR,EAAK,OAAQsqC,GAAQ,MAAM,OAAO,KAAK,KAAM,CAAE,SAAUhtD,EAAAA,MAAMiL,CAAO,CAAC,EAAI,IAAM,CAC1FgnB,EAAAA,mBAAmB,SAAUzI,EAAAA,WAAWwjC,GAAQ,MAAM,OAAO,OAAQ,CACnE,YAAarqC,EAAO,CAAC,IAAMA,EAAO,CAAC,EACnC,IAAIzrB,IAAS81D,GAAQ,MAAM,OAAO,SAAWA,GAAQ,MAAM,OAAO,QAAQ,GAAG91D,CAAI,GACjF,aAAcyrB,EAAO,CAAC,IAAMA,EAAO,CAAC,EACpC,IAAIzrB,IAAS81D,GAAQ,MAAM,OAAO,SAAWA,GAAQ,MAAM,OAAO,QAAQ,GAAG91D,CAAI,EAC7F,CAAW,EAAG,EACD0rB,EAAAA,YAAaK,EAAAA,mBAAmB,MAAOkP,iBAAeC,EAAAA,mBAAmB46B,GAAQ,MAAM,OAAO,GAAG,CAAC,EAAG,CACpG/6B,EAAAA,mBAAmB,OAAQE,iBAAeC,EAAAA,mBAAmB46B,GAAQ,MAAM,OAAO,IAAI,CAAC,EAAG,KAAM,EAAE,CAChH,EAAe,EAAE,EACjB,EAAa,EAAE,CACf,CAAS,CACT,EAAS,GAAI5qC,EAAU,EAErB,CACF,CAAC,EC/bKy1B,GAAe,CAAC,IAAI,EACpBxtB,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,WACR,MAAO,CACL,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,GAAI,CAAE,QAAS,MAAM,EACrB,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,YAAa,CAAE,QAAS,YAAY,EACpC,IAAK,CAAE,QAAS,MAAM,EACtB,MAAO,CAAE,QAAS,MAAM,EACxB,QAAS,CAAE,QAAS,WAAW,CACnC,EACE,MAAO,CAAC,QAAQ,EAChB,MAAM2jB,EAAS,CAAE,KAAMuG,CAAM,EAAI,CAE/B,MAAM/pB,EAAQqjB,EADCG,EACmB,UAAU,EACtCwG,EAAOD,EACPjqB,EAAQ2jB,EAAAA,SAAQ,EAChBiJ,EAAajM,GAAM,IAAMzgB,EAAM,EAAE,EACjC0uD,EAAUh3D,EAAAA,SACd,IAAA,OAAQ,UAAAY,EAAAwH,EAAM,UAAN,YAAAxH,EAAA,KAAAwH,EAAgB,CAAA,GAAI,GAAG,WAAY,IAAI,YAAcE,EAAM,QAAU,GACnF,EACU2uD,EAAaj3D,EAAAA,SAAS,IAAM,GAAGg1B,EAAW,KAAK,YAAY,EAC3DhJ,EAAeJ,GAAuBtjB,CAAK,EAC3C2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrCgsB,EAAa,MACb,CACE,eAAgB1jB,EAAM,KACtB,SAAYA,EAAM,QAC1B,CACA,CAAK,EACD,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,GAAImB,EAAAA,MAAMurB,CAAU,EACpB,MAAOgiC,EAAQ,MACf,MAAOxqC,EAAAA,eAAe,CAAC,2DAA4DP,EAAgB,KAAK,CAAC,EACzG,kBAAmBgrC,EAAW,KACtC,EAAS,CACD,QAASxqC,EAAAA,QAAQ,IAAM,CACrBiP,EAAAA,mBAAmB,OAAQ,CACzB,GAAIu7B,EAAW,MACf,MAAO,8CACnB,EAAa,CACDtqC,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBmqC,EAAQ,KAAK,EAAG,CAAC,CAC/D,CAAa,CACb,EAAa,EAAG1V,EAAY,EAClB,CAAC73C,QAAMnB,CAAK,EAAE,UAAY,CAACmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY+jB,EAAAA,YAAaC,EAAAA,YAAY2H,GAAa,CACxF,IAAK,EACL,oBAAqB,SACrB,aAAcxqB,EAAAA,MAAMnB,CAAK,EAAE,YAC3B,MAAO,oBACP,mBAAoB2uD,EAAW,MAC/B,gBAAiBxtD,EAAAA,MAAMnB,CAAK,EAAE,GAC9B,QAAS8jB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,SAAU0kC,EAAQ,KAAK,EACvF,EAAa,KAAM,EAAG,CAAC,aAAc,mBAAoB,eAAe,CAAC,GAAKlqC,qBAAmB,GAAI,EAAI,CACzG,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,KAAM,QAAS,QAAS,iBAAiB,CAAC,EAErD,CACF,CAAC,EACKjB,GAAa,CAAC,IAAI,EAClB4N,GAAa,CAAC,KAAM,MAAO,WAAW,EACtCgqB,GAAa,CAAC,KAAM,WAAW,EAC/BC,GAAa,CAAC,IAAI,EAClBkF,GAAa,CAAC,eAAe,EAC7BC,GAAa,CACjB,KAAM,QACN,MAAO,QACT,EACM2J,GAAa,CAAC,KAAM,WAAY,QAAS,OAAQ,cAAe,OAAQ,WAAY,eAAe,EACnGC,GAAa,CAAC,UAAU,EACxByE,GAAa,CAAC,WAAW,EACzBC,GAAc,CAClB,IAAK,EACL,MAAO,0BACT,EACMC,GAAc,CAClB,IAAK,EACL,MAAO,+BACT,EACMC,GAAc,CAClB,IAAK,EACL,MAAO,+BACT,EACMC,GAAc,CAAC,OAAQ,OAAO,EAC9Bx9C,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,YACR,MAAuB+qB,EAAAA,YAAY,CACjC,cAAe,CAAE,QAAS,KAAK,EAC/B,iBAAkB,CAAE,QAAS,mBAAmB,EAChD,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,iBAAkB,CAAE,QAAS,kBAAkB,EAC/C,iBAAkB,CAAE,QAAS,WAAW,EACxC,KAAM,CAAE,QAAS,MAAM,EACvB,WAAY,CAAE,QAAS,MAAM,EAC7B,WAAY,CAAE,QAAS,MAAM,EAC7B,QAAS,CAAE,QAAS,MAAM,EAC1B,UAAW,CAAE,QAAS,MAAM,EAC5B,eAAgB,CAAE,QAAS,gBAAgB,EAC3C,MAAO,CAAE,QAAS,MAAM,EACxB,cAAe,CAAE,QAAS,mBAAmB,EAC7C,KAAM,CAAE,QAAS,MAAM,EACvB,aAAc,CAAE,KAAM,QAAS,QAAS,EAAK,EAC7C,aAAc,CAAE,KAAM,QAAS,QAAS,EAAK,EAC7C,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,YAAa,CAAE,QAAS,YAAY,EACpC,eAAgB,CAAE,KAAM,QAAS,QAAS,EAAK,EAC/C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,UAAW,CAAE,QAAS,MAAM,EAC5B,KAAM,CAAE,QAAS,IAAI,EACrB,MAAO,CAAE,KAAM,CAAC,QAAS,IAAI,EAAG,QAAS,IAAI,EAC7C,SAAU,CAAE,QAAS,MAAM,EAC3B,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,eAAgB,CAAE,QAAS,MAAM,EACjC,gBAAiB,CAAE,QAAS,aAAa,EACzC,aAAc,CAAE,KAAM,SAAU,QAAS,IAAM,EAAI,EACnD,WAAY,CAAE,QAAS,WAAW,CACtC,EAAK,CACD,WAAc,CACZ,QAAS,IAAM,CAAA,CACrB,EACI,eAAkB,CAAA,CACtB,CAAG,EACD,MAAuBA,EAAAA,YAAY,CAAC,OAAQ,QAAS,UAAW,WAAY,WAAW,EAAG,CAAC,mBAAmB,CAAC,EAC/G,MAAMpH,EAAS,CAAE,OAAQ6N,EAAU,KAAMtH,GAAU,CAEjD,MAAM/pB,EAAQqjB,EADCG,EACmB,WAAW,EACvCwG,EAAOD,EACP0C,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3CkJ,EAAajM,GAAK,EAClBwuC,EAAc9vD,GAAY,IAAMa,EAAM,OAAS,OAAO,GAAG,EACzDslD,EAAaJ,GAAc,IAAMllD,EAAM,KAAK,EAC5Cw0C,EAAQ3pB,EAAAA,eAAe,QAAQ,EAC/B,CAAE,QAAAze,CAAO,EAAKL,GAASyoC,EAAO,CAClC,aAAcx0C,EAAM,SAC1B,CAAK,EACKkvD,EAAWx3D,WAAS,IAAMsI,EAAM,SAAW,GAAG0sB,EAAW,KAAK,SAAS,EACvEyiC,EAAO70D,EAAAA,IAAI,CAAC,GAAGmyB,EAAW,KAAK,CAAC,EAChC2iC,EAAa90D,EAAAA,IAAI,EAAE,EACnB+0D,EAAuB/0D,EAAAA,IAAImyB,EAAW,MAAM,OAAS,CAAC,EACtD6iC,EAAiBh1D,EAAAA,IAAI,EAAE,EACvBi1D,EAAYj1D,EAAAA,IAAI,EAAE,EAClBk1D,EAAcl1D,EAAAA,IAAI,EAAE,EACpBm1D,EAAgBn1D,EAAAA,IAAI,EAAE,EAC5BqD,GAAQ8uB,EAAY0iC,EAAM,CACxB,UAAW,MACX,UAAW,CACT,IAAMx3D,GAAM,CAAC,GAAGA,CAAC,CACzB,CACA,CAAK,EACD,MAAMgsB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrC4tD,EAAW,MACX,CACE,CAAC,gBAAgBtlD,EAAM,IAAI,EAAE,EAAGA,EAAM,OAAS,KAC/C,SAAUA,EAAM,SAChB,MAAOoM,EAAQ,KACvB,CACA,CAAK,EACKsjD,EAAch4D,EAAAA,SAAS,IAAMy3D,EAAK,MAAM,SAASC,EAAW,KAAK,CAAC,EAClEO,EAAYj4D,EAAAA,SAChB,IAAM03D,EAAW,QAAU,GAAK,GAAQ,CAACpvD,EAAM,aAAaovD,EAAW,KAAK,CAClF,EACUQ,EAAiBl4D,EAAAA,SAAS,IAAMy3D,EAAK,MAAM,SAAWF,EAAY,KAAK,EACvEY,EAAmBn4D,EAAAA,SAAS,IAAM,CAACi4D,EAAU,OAAS,CAACD,EAAY,KAAK,EACxEI,EAAa5uD,GAAM,CACvB,GAAIlB,EAAM,SAAU,CACHkB,EAAE,OACV,KAAI,EACX,MACF,CACA8oB,EAAK,UAAW9oB,CAAC,CACnB,EACM6uD,EAAW7uD,GAAM,CACjBlB,EAAM,UAAYA,EAAM,eAG5BoM,EAAQ,MAAQ,GAChB4d,EAAK,QAAS9oB,CAAC,EACjB,EACM2oD,EAAU3oD,GAAM,CACpBkL,EAAQ,MAAQ,GAChB4d,EAAK,OAAQ9oB,CAAC,CAChB,EACM0oD,EAAW1oD,GAAM,SACrB,MAAM1L,EAAQ,OAAO0L,GAAM,SAAWA,EAAIA,EAAE,OAAO,MAEnD,GADAmuD,EAAqB,MAAQ,IACzB/2D,EAAA0H,EAAM,YAAN,MAAA1H,EAAiB,SAAS9C,EAAM,OAAO,CAAC,IAAMA,EAAM,OAAS,EAAG,CAC9Dg/C,EAAM,QACRA,EAAM,MAAM,MAAQ,IAEtB,MACF,CAEA,GADA4a,EAAW,MAAQ55D,GACfwE,EAAAgG,EAAM,YAAN,MAAAhG,EAAiB,SAASxE,EAAM,OAAOA,EAAM,OAAS,CAAC,GAAI,CAC7Dw6D,EAAOx6D,EAAM,MAAM,EAAGA,EAAM,OAAS,CAAC,CAAC,EACvC,MACF,CACA+5D,EAAU,MAAQvvD,EAAM,aAAaxK,CAAK,GAAK,CAACk6D,EAAY,MAAQ,CAACl6D,CAAK,EAAI,CAAA,EAC9Eg6D,EAAY,MAAQxvD,EAAM,aAAaxK,CAAK,EAAI,CAAA,EAAK,CAACA,CAAK,EAC3Di6D,EAAc,MAAQC,EAAY,MAAQ,CAACl6D,CAAK,EAAI,CAAA,EACpDw0B,EAAK,YAAaulC,EAAU,MAAOC,EAAY,MAAOC,EAAc,KAAK,CAC3E,EACM/I,EAAYxlD,GAAM,CAClBlB,EAAM,cACR4pD,EAAQ1oD,CAAC,EACJwuD,EAAY,OACfM,EAAOZ,EAAW,KAAK,EAG7B,EACM5N,EAAatgD,GAAM,CACvB,IAAKA,EAAE,MAAQ,SAAWA,EAAE,OAAS,gBAAkB,CAAClB,EAAM,aAAc,CAC1EgwD,EAAOZ,EAAW,KAAK,EACvB,MACF,EACKluD,EAAE,MAAQ,aAAeA,EAAE,MAAQ,WAAalB,EAAM,gBAAkBovD,EAAW,QAAU,IAAMC,EAAqB,OAASF,EAAK,MAAM,OAAS,EACxJc,EAAUd,EAAK,MAAMA,EAAK,MAAM,OAAS,CAAC,CAAC,EAE3CE,EAAqB,MAAQ,EAEjC,EACAlrD,GAAYq9C,EAAW,CAAE,OAAQhN,CAAK,CAAE,EACxC,MAAM0b,EAAYx4D,EAAAA,SAAS,IAAM,CAC/B,GAAKsI,EAAM,UAGX,OAAO,OAAOA,EAAM,WAAc,SAAWA,EAAM,UAAYA,EAAM,UAAU,KAAK,EAAE,CACxF,CAAC,EACKmwD,EAAkBz4D,EAAAA,SAAS,IAAM,CACrC,GAAKw4D,EAAU,MAGf,OAAO,IAAI,OAAO,IAAI5oC,GAAkB4oC,EAAU,KAAK,CAAC,IAAI,CAC9D,CAAC,EACKF,EAAUhnC,GAAQ,CACtBA,GAAOA,GAAOomC,EAAW,OAAO,KAAI,EACpC,MAAMgB,EAAUD,EAAgB,MAAQnnC,EAAI,MAAMmnC,EAAgB,KAAK,EAAE,IAAKz4C,GAAMA,EAAE,KAAI,CAAE,EAAI,CAACsR,CAAG,EAC9FqnC,EAAa,CAAA,EACnB,UAAWC,KAAUF,EACnB,GAAI,EAAAE,IAAW,IAAMZ,EAAY,OAAS,CAAC1vD,EAAM,aAAaswD,CAAM,GAGpE,IAAIrB,EAAY,OAASW,EAAe,MACtC,MAEFS,EAAW,KAAKC,CAAM,EAExB,MAAMx4D,EAAW,CAAC,GAAG20B,EAAW,MAAO,GAAG4jC,CAAU,EACpDjB,EAAW,MAAQ,GACnBC,EAAqB,MAAQ,GAC7B5iC,EAAW,MAAQ30B,EACnBsU,EAAQ,MAAQ,EAClB,EACM6jD,EAAajnC,GAAQ,CACzB,MAAMunC,EAAWpB,EAAK,MAAM,SAAQnmC,GAAA,YAAAA,EAAK,aAAc,EAAE,EACrDunC,IAAa,KACjBjB,EAAe,MAAQH,EAAK,MAAM,OAAOoB,EAAU,CAAC,EAAE,SAAQ,EAC9D9jC,EAAW,MAAQ0iC,EAAK,MAC1B,EACA,OAAA99B,EAAS,CACP,KAAM,IAAM,CACVjlB,EAAQ,MAAQ,EAClB,EACA,QAASooC,EACT,MAAO,IAAM,CACXpoC,EAAQ,MAAQ,EAClB,EACA,WAAAgjD,CACN,CAAK,EACM,CAACvrC,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC5C,GAAIjjB,EAAAA,MAAMurB,CAAU,EACpB,MAAOxI,EAAAA,eAAe,CAAC,kCAAmCP,EAAgB,KAAK,CAAC,EAChF,KAAM,QACN,SAAU,KACV,UAAAmsC,EACA,WAAYhsC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,WAAY4B,CAAM,EACjF,EAAS,CACDwH,EAAAA,mBAAmB,SAAU,CAC3B,GAAI,GAAGjyB,EAAAA,MAAMurB,CAAU,CAAC,kBACxB,MAAO,kBACP,IAAKwiC,EAAS,MACd,YAAa/tD,EAAAA,MAAMiL,CAAO,EAAI,SAAW,MACzC,cAAe,OACf,gBAAiB,gBAC3B,EAAWmY,EAAAA,gBAAgB4qC,EAAK,MAAM,KAAK,IAAI,CAAC,EAAG,EAAGh+B,EAAU,EACxDiC,EAAAA,mBAAmB,MAAO,CACxB,GAAI,GAAGjyB,EAAAA,MAAMurB,CAAU,CAAC,iBACxB,KAAM,SACN,YAAavrB,EAAAA,MAAMiL,CAAO,EAAI,YAAc,MAC5C,cAAe,OACf,MAAO,iBACjB,EAAW,KAAOmY,EAAAA,gBAAgBpjB,QAAMnB,CAAK,EAAE,eAAe,EAAI,KAAOukB,EAAAA,gBAAgB+qC,EAAe,KAAK,EAAG,EAAGnU,EAAU,EACrH92B,aAAWR,EAAK,OAAQ,UAAW,CACjC,cAAe1iB,EAAAA,MAAMnB,CAAK,EAAE,cAC5B,iBAAkBmB,EAAAA,MAAMnB,CAAK,EAAE,iBAC/B,OAAAgwD,EACA,iBAAkBH,EAAiB,MACnC,SAAU1uD,EAAAA,MAAMnB,CAAK,EAAE,SACvB,iBAAkBmB,EAAAA,MAAMnB,CAAK,EAAE,iBAC/B,cAAeyvD,EAAc,MAC7B,KAAMtuD,EAAAA,MAAMnB,CAAK,EAAE,KACnB,WAAY,CACV,GAAGmB,EAAAA,MAAMnB,CAAK,EAAE,WAChB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,GAAIkvD,EAAS,MACb,MAAOE,EAAW,KAC9B,EACU,WAAYjuD,EAAAA,MAAMnB,CAAK,EAAE,WACzB,cAAe,CACb,MAAO4pD,EACP,QAASpI,EACT,OAAQkF,CACpB,EACU,QAASwI,EAAS,MAClB,UAAW/tD,EAAAA,MAAMnB,CAAK,EAAE,UACxB,eAAgBmB,EAAAA,MAAMnB,CAAK,EAAE,eAC7B,YAAawvD,EAAY,MACzB,YAAaE,EAAY,MACzB,UAAWC,EAAU,MACrB,eAAgBC,EAAe,MAC/B,cAAezuD,EAAAA,MAAMnB,CAAK,EAAE,cAC5B,MAAOmB,EAAAA,MAAM8tD,CAAW,EACxB,YAAa9tD,EAAAA,MAAMnB,CAAK,EAAE,YAC1B,YAAamB,EAAAA,MAAMnB,CAAK,EAAE,YAC1B,UAAAiwD,EACA,SAAU9uD,EAAAA,MAAMnB,CAAK,EAAE,SACvB,UAAWmB,EAAAA,MAAMnB,CAAK,EAAE,UACxB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,MAAOmB,EAAAA,MAAMnB,CAAK,EAAE,MACpB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,eAAgBmB,EAAAA,MAAMnB,CAAK,EAAE,eAC7B,WAAYmB,EAAAA,MAAMnB,CAAK,EAAE,WACzB,KAAMmvD,EAAK,KACrB,EAAW,IAAM,CACP/7B,EAAAA,mBAAmB,KAAM,CACvB,GAAI,GAAGjyB,EAAAA,MAAMurB,CAAU,CAAC,aACxB,MAAO,yEACnB,EAAa,EACA3I,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,WAAU,KAAM+uB,EAAAA,WAAW2U,EAAK,MAAO,CAACnmC,EAAK1vB,IACzE+qB,aAAWR,EAAK,OAAQ,MAAO,CACpC,IAAKvqB,EACL,IAAA0vB,EACA,SAAU7nB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,WAAYmB,EAAAA,MAAMnB,CAAK,EAAE,WACzB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,UAAAiwD,CAChB,EAAiB,IAAM,EACNlsC,YAAS,EAAIC,EAAAA,YAAYwH,GAAa,CACrC,IAAKxC,EACL,MAAO9E,EAAAA,eAAe/iB,EAAAA,MAAMnB,CAAK,EAAE,QAAQ,EAC3C,IAAK,KACL,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,WACtB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,SACnB,SAAUiwD,CAC5B,EAAmB,CACD,QAAS9rC,EAAAA,QAAQ,IAAM,CACrBG,kBAAgBC,EAAAA,gBAAgByE,CAAG,EAAG,CAAC,CAC3D,CAAmB,EACD,EAAG,CACrB,EAAmB,KAAM,CAAC,QAAS,UAAW,MAAM,CAAC,EACrD,CAAe,CACF,EAAG,GAAG,GACPoK,EAAAA,mBAAmB,KAAM,CACvB,KAAM,OACN,YAAa,MACb,MAAO,gCACP,gBAAiB,GAAGjyB,QAAMurB,CAAU,CAAC,YACnD,EAAe,CACD0G,EAAAA,mBAAmB,MAAOmtB,GAAY,CACpCntB,EAAAA,mBAAmB,QAASzI,aAAW,CACrC,GAAIukC,EAAS,MACb,IAAK,SACL,SAAU/tD,EAAAA,MAAMnB,CAAK,EAAE,SACvB,MAAOovD,EAAW,MAClB,KAAMjuD,EAAAA,MAAMnB,CAAK,EAAE,UACnB,YAAamB,EAAAA,MAAMnB,CAAK,EAAE,YAC1B,MAAO,sEACP,MAAO,CAAE,QAAW,wBAAyB,YAAa,MAAM,CAClF,EAAmBmB,EAAAA,MAAMnB,CAAK,EAAE,WAAY,CAC1B,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY,OACnC,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY,OAC1C,QAAA4pD,EACA,SAAAlD,EACA,QAAAqJ,EACA,OAAAlG,CAClB,CAAiB,EAAG,KAAM,GAAIK,EAAU,EACxB2F,EAAiB,OAAS9rC,EAAAA,YAAaK,EAAAA,mBAAmB,SAAU,CAClE,IAAK,EACL,KAAM,SACN,MAAOF,EAAAA,eAAe,CAAC,8BAA+B,CACpDL,EAAK,WACL,CACE,CAAC,OAAO1iB,QAAMnB,CAAK,EAAE,gBAAgB,EAAE,EAAGmB,QAAMnB,CAAK,EAAE,mBAAqB,KAC5E,qBAAsBovD,EAAW,MAAM,SAAW,CACxE,CACA,CAAmB,CAAC,EACF,MAAO,CAAE,YAAa,KAAK,EAC3B,SAAUjuD,EAAAA,MAAMnB,CAAK,EAAE,UAAYovD,EAAW,MAAM,SAAW,GAAKQ,EAAe,MACnF,QAAS9rC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAWokC,EAAOZ,EAAW,KAAK,EACxF,EAAmB,CACD/qC,EAAAA,WAAWR,EAAK,OAAQ,kBAAmB,CAAA,EAAI,IAAM,CACnDS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,aAAa,EAAG,CAAC,CAClF,CAAmB,CACnB,EAAmB,GAAImqD,EAAU,GAAK3lC,EAAAA,mBAAmB,GAAI,EAAI,CACjE,CAAe,CACf,EAAe,EAAG87B,EAAU,CAC5B,EAAa,EAAGlF,EAAU,EAChBhoB,EAAAA,mBAAmB,MAAO,CACxB,YAAajyB,EAAAA,MAAMnB,CAAK,EAAE,iBAC1B,cAAe,MAC3B,EAAa,CACD2vD,EAAU,OAAS5rC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAOyqC,GAAatqC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,cAAc,EAAI,KAAOukB,kBAAgB6qC,EAAW,KAAK,EAAG,CAAC,GAAK5qC,EAAAA,mBAAmB,GAAI,EAAI,EACjMkrC,EAAY,OAAS3rC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,QAAS0qC,GAAavqC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,gBAAgB,EAAI,KAAOukB,kBAAgB6qC,EAAW,KAAK,EAAG,CAAC,GAAK5qC,EAAAA,mBAAmB,GAAI,EAAI,EACvM2qC,EAAK,MAAM,SAAWhuD,EAAAA,MAAMnB,CAAK,EAAE,OAAS+jB,YAAS,EAAIK,qBAAmB,QAAS2qC,GAAaxqC,EAAAA,gBAAgBpjB,QAAMnB,CAAK,EAAE,aAAa,EAAG,CAAC,GAAKwkB,qBAAmB,GAAI,EAAI,CAC5L,EAAa,EAAGoqC,EAAU,CAC1B,CAAS,EACDztD,EAAAA,MAAMnB,CAAK,EAAE,MAAQ+jB,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,EAAAA,SAAU,CAAE,IAAK,CAAC,EAAI+uB,aAAW2U,EAAK,MAAO,CAACnmC,EAAK1vB,KACnGyqB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,QAAS,CAC9C,IAAK9qB,EACL,KAAM,SACN,KAAM6H,EAAAA,MAAMnB,CAAK,EAAE,KACnB,MAAOgpB,CACnB,EAAa,KAAM,EAAGgmC,EAAW,EACxB,EAAG,GAAG,GAAKxqC,EAAAA,mBAAmB,GAAI,EAAI,CAC/C,EAAS,GAAIjB,EAAU,EAErB,CACF,CAAC,ECxbKitC,GAAoB,CAAChc,EAAO,CAChC,QAAAic,EACA,aAAAC,EACA,KAAAC,CACF,IAAM,CACJ,MAAMl7C,EAASnb,EAAAA,IAAI,CAAC,EACds2D,EAAgBzxD,GACpBzH,EAAAA,SAAS,IAAME,EAAAA,QAAQ64D,CAAO,GAAK,OAAO,GAAG,EAC7C,CACE,OAAQ,WACR,UAAW,EACjB,CACA,EACQI,EAAa1xD,GAAYwxD,EAAM,CACnC,OAAQ,WACR,UAAW,EACf,CAAG,EACKG,EAAkBp5D,WAAS,IAAM,KAAK,IAAIm5D,EAAW,OAAS,EAAG,CAAC,CAAC,EACnEE,EAAkBr5D,EAAAA,SAAS,IAAM,KAAK,IAAIo5D,EAAgB,MAAOF,EAAc,OAAS,CAAC,CAAC,EAC1FI,EAAet5D,EAAAA,SACnB,IAAMo5D,EAAgB,QAAUC,EAAgB,MAAQD,EAAgB,MAAQ,IACpF,EACQG,EAAqB,SAAY,CACrC,GAAI,CAACzc,EAAM,OAAS,CAAChzB,GAAUgzB,EAAM,KAAK,EAAG,CAC3C/+B,EAAO,MAAQ,KACf,MACF,CACA,MAAMq2B,EAAgB,iBAAiB0I,EAAM,KAAK,EAC5C0c,EAAa,OAAO,WAAWplB,EAAc,UAAU,GAAK,EAC5DqlB,GAAU,OAAO,WAAWrlB,EAAc,cAAc,GAAK,IAAM,OAAO,WAAWA,EAAc,iBAAiB,GAAK,GACzHvQ,GAAW,OAAO,WAAWuQ,EAAc,UAAU,GAAK,IAAM,OAAO,WAAWA,EAAc,aAAa,GAAK,GAClHl8B,EAASuhD,EAAS51B,EAClB61B,EAAYF,EAAaJ,EAAgB,MAAQlhD,EACjDyhD,EAAY7c,EAAM,MAAM,MAAM,QAAU1I,EAAc,OAC5Dr2B,EAAO,MAAQ,OACf,MAAM/W,WAAQ,EACd,KAAM,CAAE,aAAA4yD,GAAiB9c,EAAM,MAC/B/+B,EAAO,MAAQ47C,EACf,MAAM3yD,WAAQ,EACd,MAAM6yD,EAAc,KAAK,KAAKD,EAAe/1B,GAAW21B,EAAY,CAAC,EAC/DM,EAAQ,KAAK,IAAI,KAAK,IAAID,EAAaT,EAAgB,KAAK,EAAGC,EAAgB,KAAK,EACpFU,EAAY,KAAK,IAAI,KAAK,KAAKD,EAAQN,EAAathD,CAAM,EAAGwhD,CAAS,EAC5E,GAAIx5D,UAAQ84D,CAAY,IAAM,OAAO,WAAWW,EAAU,SAAQ,CAAE,GAAK,GAAKI,EAAW,CACvFh8C,EAAO,MAAQ47C,EACf,MACF,CACA57C,EAAO,MAAQ,GAAGg8C,CAAS,IAC7B,EACAhzD,EAAAA,UAAUwyD,CAAkB,EAC5B,MAAMS,EAAiBh6D,EAAAA,SAAS,KAAO,CACrC,OAAQ,OACR,OAAQ,OAAO+d,EAAO,OAAU,SAAWA,EAAO,MAAQA,EAAO,MAAQ,GAAGA,EAAO,KAAK,KAAO,MACnG,EAAI,EACF,MAAO,CACL,QAASw7C,EACT,eAAAS,EACA,aAAAV,CACJ,CACA,EACMztC,GAAa,CAAC,KAAM,OAAQ,OAAQ,QAAS,WAAY,cAAe,WAAY,eAAgB,WAAY,gBAAiB,eAAgB,OAAQ,MAAM,EAC/J/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,gBACR,MAAuB+qB,EAAAA,YAAY,CACjC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,QAAS,CAAC,EAClB,KAAM,CAAE,QAAS,MAAM,EACvB,aAAc,CAAE,KAAM,QAAS,QAAS,EAAK,EAC7C,QAAS,CAAE,QAAS,MAAM,EAC1B,YAAa,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,MAAM,EACvD,aAAc,CAAE,QAAS,MAAM,EAC/B,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,QAAS,MAAM,EACvB,UAAW,CAAE,KAAM,SAAU,QAAS,MAAM,EAC5C,GAAI,CAAE,QAAS,MAAM,EACrB,cAAe,CAAE,KAAM,QAAS,QAAS,EAAK,EAC9C,KAAM,CAAE,QAAS,MAAM,EACvB,KAAM,CAAE,QAAS,MAAM,EACvB,YAAa,CAAE,QAAS,MAAM,EAC9B,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,QAAS,MAAM,EACvB,MAAO,CAAE,KAAM,CAAC,QAAS,IAAI,EAAG,QAAS,MAAM,EAC/C,SAAU,CAAE,QAAS,CAAC,EACtB,gBAAiB,CAAE,QAAS,OAAO,GAAG,CAC1C,EAAK,CACD,WAAc,CACZ,QAAS,EACf,EACI,eAAkB,CAAA,CACtB,CAAG,EACD,MAAO,CAAC,mBAAmB,EAC3B,MAAMpH,EAAS,CAAE,OAAQ6N,CAAQ,EAAI,CAEnC,MAAMrxB,EAAQqjB,EADCG,EACmB,eAAe,EAC3C,CAACiJ,EAAYo8B,CAAc,EAAI99B,EAAAA,SAASvH,EAAS,aAAc,CACnE,IAAM7rB,GAAMixD,GAAejxD,EAAGkxD,CAAc,CAClD,CAAK,EACKrU,EAAQ3pB,EAAAA,eAAe,QAAQ,EAC/B,CACJ,WAAA6B,EACA,eAAAq8B,EACA,oBAAAtD,EACA,QAAAmE,EACA,WAAAtE,EACA,SAAAoB,EACA,OAAAmD,EACA,MAAAlqC,EACA,KAAAmqC,CACN,EAAQhB,GAAa9oD,EAAOw0C,EAAO/nB,EAAYo8B,CAAc,EACnDllC,EAAkBjsB,EAAAA,SAAS,IAAM,CACrC4tD,EAAW,MACXtlD,EAAM,UAAY,yBAA2B,eAC7C,CACE,CAAC,gBAAgBA,EAAM,IAAI,EAAE,EAAG,CAAC,CAACA,EAAM,IAChD,CACA,CAAK,EACK,CACJ,eAAgB2xD,EAChB,QAASV,EACT,aAAAD,CACN,EAAQR,GAAkBhc,EAAO,CAC3B,QAAS,IAAMx0C,EAAM,QACrB,KAAM,IAAMA,EAAM,KAClB,aAAc,IAAMA,EAAM,YAChC,CAAK,EACK0xD,EAAiBh6D,EAAAA,SAAS,KAAO,CACrC,OAAQsI,EAAM,SAAW,OAAS,OAClC,GAAGA,EAAM,SAAWA,EAAM,aAAe2xD,EAAa,MAAQ,MACpE,EAAM,EACF,OAAAtgC,EAAS,CACP,KAAAy4B,EACA,QAAStV,EACT,MAAA70B,CACN,CAAK,EACM,CAACkE,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,WAAY,CACjD,GAAIjjB,EAAAA,MAAMurB,CAAU,EACpB,IAAK,SACL,IAAKvrB,EAAAA,MAAM4nD,CAAc,EACzB,MAAO7kC,EAAAA,eAAeP,EAAgB,KAAK,EAC3C,KAAMxiB,EAAAA,MAAMnB,CAAK,EAAE,MAAQ,OAC3B,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,MAAQ,OAC3B,MAAOmB,EAAAA,MAAMsrB,CAAU,GAAK,OAC5B,SAAUtrB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,YAAamB,EAAAA,MAAMnB,CAAK,EAAE,YAC1B,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY,OACnC,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,cAAgB,OAC3C,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,UAAYmB,EAAAA,MAAMnB,CAAK,EAAE,UAChD,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,UAAY,OAC1C,eAAgBmB,EAAAA,MAAMskD,CAAmB,EACzC,KAAMtkD,EAAAA,MAAM6vD,CAAY,GAAK,EAC7B,MAAOt9B,EAAAA,eAAeg+B,EAAe,KAAK,EAC1C,KAAMvwD,EAAAA,MAAMnB,CAAK,EAAE,MAAQ,OAC3B,QAAS8jB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK5iB,GAAM,CACxCC,QAAMyoD,CAAO,EAAE1oD,CAAC,EAChBC,EAAAA,MAAM8vD,CAAkB,EAAC,CAC3B,GACA,SAAUntC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAChC,IAAIzrB,IAAS8I,EAAAA,MAAMulD,CAAQ,GAAKvlD,EAAAA,MAAMulD,CAAQ,EAAE,GAAGruD,CAAI,GACvD,OAAQyrB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAC9B,IAAIzrB,IAAS8I,EAAAA,MAAM0oD,CAAM,GAAK1oD,EAAAA,MAAM0oD,CAAM,EAAE,GAAGxxD,CAAI,EAC3D,EAAS,KAAM,GAAIkrB,EAAU,EAE3B,CACF,CAAC,ECxKKA,GAAa,CACjB,IAAK,EACL,MAAO,kBACT,EACM4N,GAAa,CACjB,IAAK,EACL,MAAO,kBACT,EACM3F,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,cACR,MAAO,CACL,OAAQ,CAAE,QAAS,MAAM,EACzB,GAAI,CAAE,QAAS,MAAM,EACrB,QAAS,CAAE,QAAS,MAAM,EAC1B,KAAM,CAAE,QAAS,IAAI,EACrB,IAAK,CAAE,QAAS,KAAK,CACzB,EACE,MAAM2jB,EAAS,CACbvS,EAAAA,QAAQla,GAAe,EAAI,EAE3B,MAAMiJ,EAAQqjB,EADCG,EACmB,aAAa,EACzCG,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,CAAC,eAAesI,EAAM,IAAI,EAAE,EAAGA,EAAM,OAAS,IACpD,EAAM,EACI4xD,EAAYl6D,EAAAA,SAAS,IAAM,CAAC,CAACsI,EAAM,MAAM,EACzC6xD,EAAan6D,EAAAA,SAAS,IAAM,CAAC,CAACsI,EAAM,OAAO,EACjD,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,GAAImB,EAAAA,MAAMnB,CAAK,EAAE,GACjB,MAAOkkB,EAAAA,eAAe,CAAC,cAAeP,EAAgB,KAAK,CAAC,EAC5D,KAAM,OACd,EAAS,CACD,QAASQ,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CguC,EAAW,OAAS9tC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,OAAQb,GAAY,CACtE6P,qBAAmB,OAAQ,KAAM7O,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,OAAO,EAAG,CAAC,CACvF,CAAa,GAAKwkB,EAAAA,mBAAmB,GAAI,EAAI,CAC7C,CAAW,EACDH,aAAWR,EAAK,OAAQ,SAAS,EACjCQ,EAAAA,WAAWR,EAAK,OAAQ,SAAU,CAAA,EAAI,IAAM,CAC1C+tC,EAAU,OAAS7tC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,OAAQ+M,GAAY,CACrEiC,qBAAmB,OAAQ,KAAM7O,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,MAAM,EAAG,CAAC,CACtF,CAAa,GAAKwkB,EAAAA,mBAAmB,GAAI,EAAI,CAC7C,CAAW,CACX,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,KAAM,OAAO,CAAC,EAEzB,CACF,CAAC,EACKhT,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,kBACR,MAAO,CACL,IAAK,CAAE,QAAS,KAAK,EACrB,KAAM,CAAE,QAAS,MAAM,CAC3B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,iBAAiB,EACnD,MAAO,CAACK,EAAMC,KACLC,YAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CAAE,MAAO,kBAAkB,EAAI,CACxG,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CACjE,CAAW,CACX,CAAS,EACD,EAAG,CACX,CAAO,EAEL,CACF,CAAC,ECrEKwrB,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,aACR,MAAO,CACL,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,WAAY,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,EAAK,EACrD,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,IAAK,CAAE,QAAS,KAAK,CACzB,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,YAAY,EACxCG,EAAkBjsB,EAAAA,SAAS,IAAM,CACrC,MAAMo6D,EAAa9xD,EAAM,MAAQ,GAAQA,EAAM,WAC/C,MAAO,CACL,mBAAoBA,EAAM,MAC1B,wBAAyB8xD,IAAe,GACxC,CAAC,yBAAyBA,CAAU,EAAE,EAAG,OAAOA,GAAe,SAC/D,sBAAuB9xD,EAAM,QACrC,CACI,CAAC,EACKurB,EAAc7zB,EAAAA,SAAS,IAAMsI,EAAM,WAAa,GAAO,KAAOA,EAAM,GAAG,EAC7EiR,OAAAA,EAAAA,QAAQhb,GAAuB,CAC7B,SAAUgE,EAAAA,MAAM,IAAM+F,EAAM,QAAQ,CAC1C,CAAK,EACM,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwBsH,EAAY,KAAK,EAAG,CAC1E,MAAOrH,EAAAA,eAAe,CAAC,aAAcP,EAAgB,KAAK,CAAC,CACnE,EAAS,CACD,QAASQ,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,CAC3C,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,OAAO,CAAC,EAEnB,CACF,CAAC,EACKrS,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,iBACR,MAAO,CACL,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,IAAK,CAAE,QAAS,KAAK,EACrB,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,YAAa,CAAE,QAAS,MAAM,EAC9B,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,iBAAkB,CAAE,QAAS,MAAM,EACnC,KAAM,CAAE,QAAS,MAAM,EACvB,KAAM,CAAE,KAAM,QAAS,QAAS,MAAM,EACtC,MAAO,CAAE,KAAM,OAAO,EACtB,QAAS,CAAE,QAAS,MAAM,EAC1B,aAAc,CAAE,QAAS,MAAM,EAC/B,SAAU,CAAE,KAAM,OAAO,EACzB,WAAY,CAAA,EACZ,WAAY,CAAE,KAAM,OAAO,EAC3B,gBAAiB,CAAA,EACjB,IAAK,CAAE,QAAS,MAAM,EACtB,QAAS,CAAE,KAAM,QAAS,QAAS,MAAM,EACzC,oBAAqB,CAAE,QAAS,MAAM,EACtC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,OAAQ,CAAE,QAAS,MAAM,EACzB,GAAI,CAAE,QAAS,MAAM,EACrB,gBAAiB,CAAE,QAAS,MAAM,EAClC,qBAAsB,CAAE,QAAS,MAAM,EACvC,iBAAkB,CAAE,QAAS,MAAM,EACnC,sBAAuB,CAAE,QAAS,MAAM,EACxC,iBAAkB,CAAE,QAAS,MAAM,EACnC,QAAS,CAAE,QAAS,MAAM,CAC9B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,gBAAgB,EAC5CvjB,EAAQgqB,EAAAA,SAAQ,EAChB1yB,EAAaC,EAAAA,OAAOvB,GAAuB,IAAI,EAC/C,CAAE,aAAA4xB,CAAY,EAAKJ,GAAeznB,CAAK,EACvCwnB,EAAS9vB,EAAAA,SAAS,IAAM,CAACsI,EAAM,QAAU6nB,EAAa,KAAK,EAC3DkqC,EAAcr6D,EAAAA,SAClB,IAAMH,GAAA,MAAAA,EAAY,SAAS,MAAQ,KAAOyI,EAAM,OAAS,SAAYwnB,EAAO,MAAoBmE,GAAZ3rB,EAAM,GAChG,EACUgyD,EAAWt6D,EAAAA,SACf,IAAMsI,EAAM,QAAUwnB,EAAO,OAASxnB,EAAM,QAAU,CAAC,IAAK,cAAe,SAAU,QAAQ,EAAE,SAASA,EAAM,GAAG,CACvH,EACU2jB,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,CAAC,mBAAmBsI,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,MAAQA,EAAM,UAAY,OAClF,yBAA0BgyD,EAAS,MACnC,OAAUhyD,EAAM,OAChB,SAAYA,EAAM,QACxB,EAAM,EACIwmD,EAAgB9uD,EAAAA,SAAS,IAAM,CACnC,MAAMu6D,EAAa,CAAA,EACnB,OAAIjyD,EAAM,UACJ,CAACC,GAAS,CAACA,EAAM,QACnBgyD,EAAW,KAAO,UAEhBjyD,EAAM,WACRiyD,EAAW,SAAW,KAGnBA,CACT,CAAC,EACD,MAAO,CAACpuC,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB8tC,EAAY,KAAK,EAAGpnC,aAAW,CACrF,MAAO,CAAC,kBAAmBhH,EAAgB,KAAK,EAChD,eAAgBxiB,EAAAA,MAAMnB,CAAK,EAAE,OAAS,GAAO,OAC7C,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,SAAW,GAAO,OAChD,OAAQwnB,EAAO,MAAQrmB,EAAAA,MAAMnB,CAAK,EAAE,OAAS,OAC7C,KAAOmB,EAAAA,MAAMnB,CAAK,EAAE,OAA6B,OAApBmB,QAAMnB,CAAK,EAAE,KAC1C,GAAKmB,EAAAA,MAAMnB,CAAK,EAAE,OAA2B,OAAlBmB,QAAMnB,CAAK,EAAE,EAChD,EAASwmD,EAAc,KAAK,EAAG,CACvB,QAASriC,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,CAC3C,CAAS,EACD,EAAG,CACX,EAAS,GAAI,CAAC,QAAS,eAAgB,gBAAiB,SAAU,OAAQ,IAAI,CAAC,EAE7E,CACF,CAAC,EClHKrS,GAA4B3R,EAAAA,gBAAgB,CAE9C,aAAc,GAEhB,OAAQ,qBACR,MAAO,CACL,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,WAAY,CAAE,QAAS,MAAM,CACjC,EACE,MAAM2jB,EAAS,CAAE,OAAQ6N,CAAQ,EAAI,CAEnC,MAAMrxB,EAAQqjB,EADCG,EACmB,oBAAoB,EAChD0uC,EAAQv+B,GAAQ,EACtB,IAAIw+B,EAAqB,GACzB,OAAKD,EAAM,yBAAyB,QAClCC,EAAqB,IAEnB,QAAQ,IAAI,WAAa,eAC3B,QAAQ,KAAK,6DAA6D,EAE5E9gC,EAAS,CACP,GAAG6gC,CACT,CAAK,EACM,CAACruC,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAYwH,GAAa,CAC3C,GAAIrqB,EAAAA,MAAMnB,CAAK,EAAE,WACjB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,gBAC/B,EAAS,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBhjB,QAAMgxD,CAAkB,GAAKpuC,YAAS,EAAIC,EAAAA,YAAY2H,GAAa2H,EAAAA,eAAe3I,EAAAA,WAAW,CAAE,IAAK,GAAK9G,EAAK,MAAM,CAAC,EAAG,KAAM,EAAE,GAAKW,qBAAmB,GAAI,EAAI,CAC1K,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,KAAM,UAAU,CAAC,EAE5B,CACF,CAAC,ECjCK2T,GAA8Bt4B,EAAAA,gBAAgB,CAClD,OAAQ,OACR,MAAO,CACL,MAAO,CAAE,QAAS,MAAM,EACxB,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,IAAK,CAAE,QAAS,IAAI,EACpB,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,CAC7C,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,MAAM,EAClC+W,EAAY+nB,GAAa,IAAMtiD,EAAM,KAAK,EAC1C2jB,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,WAAYsI,EAAM,KAClB,YAAaA,EAAM,OAAS,CAACA,EAAM,KACnC,mBAAoB,CAACA,EAAM,UAAYA,EAAM,YAAcA,EAAM,KACjE,oBAAqB,CAACA,EAAM,UAAYA,EAAM,YAAcA,EAAM,OAAS,CAACA,EAAM,KAClF,cAAeA,EAAM,SACrB,WAAY,CAACA,EAAM,UAAYA,EAAM,KACrC,gBAAiB,CAACA,EAAM,UAAYA,EAAM,UAC1C,CAACu6B,EAAU,KAAK,EAAG,CAACv6B,EAAM,UAAYA,EAAM,QAAU,OACtD,MAASA,EAAM,MACf,gBAAiBA,EAAM,SAC7B,EAAM,EACF,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,MAAOkkB,EAAAA,eAAe,CAAC,MAAOP,EAAgB,KAAK,CAAC,CAC5D,EAAS,CACD,QAASQ,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,CAC3C,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,OAAO,CAAC,EAEnB,CACF,CAAC,EACK2P,GAA8B3zB,EAAAA,gBAAgB,CAEhD,aAAc,GAEhB,OAAQ,WACR,MAAO,CACL,KAAM,CAAE,QAAS,MAAM,EACvB,aAAc,CAAE,QAAS,MAAM,EAC/B,UAAW,CAAE,QAAS,MAAM,EAC5B,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,GAAI,CAAE,QAAS,MAAM,EACrB,WAAY,CAAE,KAAM,QAAS,QAAS,MAAM,EAC5C,UAAW,CAAE,KAAM,QAAS,QAAS,MAAM,CAC/C,EACE,MAAO,CAAC,QAAQ,EAChB,MAAM2jB,EAAS,CAAE,KAAMuG,CAAM,EAAI,CAE/B,MAAM/pB,EAAQqjB,EADCG,EACmB,UAAU,EACtCwG,EAAOD,EACP9pB,EAAQgqB,EAAAA,SAAQ,EAChBgvB,EAAiBvhD,EAAAA,SAAS,IAAM,CACpC,KAAM,CAAE,MAAOwhD,EAAc,GAAGwK,CAAS,EAAKzjD,EAC9C,MAAO,CAAE,aAAAi5C,EAAc,UAAAwK,CAAS,CAClC,CAAC,EACK0O,EAAalxD,GAAM,CACvB8oB,EAAK,SAAU9oB,CAAC,CAClB,EACMmxD,EAAY36D,EAAAA,SAAS,IAAM,CAC/B,SACA,WACA,qBACA,YACAuhD,EAAe,MAAM,YAC3B,CAAK,EACD,MAAO,CAACp1B,EAAMC,KACLC,YAAS,EAAIK,qBAAmB,KAAMuG,EAAAA,WAAW,CAAE,MAAO0nC,EAAU,KAAK,EAAIxuC,EAAK,YAAY,EAAG,CACtG6H,EAAAA,YAAYi0B,GAAah1B,EAAAA,WAAWsuB,EAAe,MAAM,UAAW,CAClE,GAAI93C,EAAAA,MAAMnB,CAAK,EAAE,GACjB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,WAAYmB,EAAAA,MAAMnB,CAAK,EAAE,WACzB,UAAWmB,EAAAA,MAAMnB,CAAK,EAAE,UACxB,MAAO,CAAC,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,SAAS,EACxC,SAAUqzB,EAAAA,cAAc++B,EAAW,CAAC,SAAS,CAAC,CACxD,CAAS,EAAG,CACF,QAASjuC,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,CAC7C,CAAW,EACD,EAAG,CACb,EAAW,GAAI,CAAC,KAAM,WAAY,OAAQ,aAAc,YAAa,OAAO,CAAC,CAC7E,EAAS,EAAE,EAET,CACF,CAAC,EACK4/B,GAAe,CAAE,MAAO,UAAU,EAClC93B,GAA8B9rB,EAAAA,gBAAgB,CAClD,OAAQ,WACR,MAAO,CACL,UAAW,CAAE,QAAS,MAAM,EAC5B,UAAW,CAAE,QAAS,MAAM,EAC5B,OAAQ,CAAE,KAAM,QAAS,QAAS,MAAM,EACxC,YAAa,CAAE,QAAS,MAAM,EAC9B,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,iBAAkB,CAAE,QAAS,iCAAiC,EAC9D,KAAM,CAAE,QAAS,MAAM,EACvB,KAAM,CAAE,KAAM,QAAS,QAAS,MAAM,EACtC,MAAO,CAAE,KAAM,OAAO,EACtB,QAAS,CAAE,QAAS,MAAM,EAC1B,aAAc,CAAE,QAAS,MAAM,EAC/B,SAAU,CAAE,KAAM,OAAO,EACzB,WAAY,CAAA,EACZ,WAAY,CAAE,KAAM,OAAO,EAC3B,gBAAiB,CAAA,EACjB,IAAK,CAAE,QAAS,MAAM,EACtB,QAAS,CAAE,KAAM,QAAS,QAAS,MAAM,EACzC,oBAAqB,CAAE,QAAS,MAAM,EACtC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,OAAQ,CAAE,QAAS,MAAM,EACzB,GAAI,CAAE,QAAS,MAAM,EACrB,gBAAiB,CAAE,QAAS,MAAM,EAClC,qBAAsB,CAAE,QAAS,MAAM,EACvC,iBAAkB,CAAE,QAAS,MAAM,EACnC,sBAAuB,CAAE,QAAS,MAAM,EACxC,iBAAkB,CAAE,QAAS,MAAM,EACnC,QAAS,CAAE,QAAS,MAAM,CAC9B,EACE,MAAO,CAAC,OAAO,EACf,MAAM2jB,EAAS,CAAE,KAAMuG,CAAM,EAAI,CAE/B,MAAM/pB,EAAQqjB,EADCG,EACmB,UAAU,EACtCwG,EAAOD,EACPjC,EAAoBpwB,EAAAA,SACxB,IAAMktB,GAAK5kB,EAAO,CAChB,SACA,cACA,mBACA,SACA,WACA,OACA,OACA,UACA,eACA,MACA,UACA,sBACA,SACA,KACA,kBACA,uBACA,mBACA,wBACA,mBACA,SACR,CAAO,CACP,EACI,MAAO,CAAC6jB,EAAMC,KACLC,YAAS,EAAIK,qBAAmB,KAAMq/B,GAAc,CACzD/3B,EAAAA,YAAYg0B,GAAa/0B,aAAW,CAClC,MAAO,CAAC,WAAY9G,EAAK,SAAS,EAClC,SAAU1iB,EAAAA,MAAMnB,CAAK,EAAE,SAAW,GAAK,OACvC,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,SAAW,GAAO,MAC1D,EAAW,CAAE,GAAG8nB,EAAkB,MAAO,GAAGjE,EAAK,SAAS,EAAI,CACpD,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,QAAS4B,CAAM,EAC7E,CAAS,EAAG,CACF,QAASzH,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,CAC7C,CAAW,EACD,EAAG,CACb,EAAW,GAAI,CAAC,QAAS,WAAY,eAAe,CAAC,EAC7CQ,aAAWR,EAAK,OAAQ,OAAO,CACvC,CAAO,EAEL,CACF,CAAC,EACKm1B,GAAe,CAAE,MAAO,mBAAmB,EAC3CxtB,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,mBACR,MAAuB+qB,EAAAA,YAAY,CACjC,UAAW,CAAE,QAAS,MAAM,EAC5B,UAAW,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,EAAI,EACnD,SAAU,CAAE,QAAS,mBAAmB,EACxC,gBAAiB,CAAE,QAAS,MAAM,EAClC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,mBAAoB,CAAE,QAAS,MAAM,EACrC,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,GAAI,CAAE,QAAS,MAAM,EACrB,MAAO,CAAE,KAAM,QAAS,QAAS,EAAI,EACrC,UAAW,CAAE,QAAS,MAAM,EAC5B,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,OAAQ,CAAE,QAAS,CAAC,EACpB,KAAM,CAAE,QAAS,MAAM,EACvB,KAAM,CAAE,QAAS,IAAI,EACrB,UAAW,CAAE,KAAM,QAAS,QAAS,MAAM,EAC3C,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,gBAAiB,CAAE,QAAS,QAAQ,EACpC,WAAY,CAAE,QAAS,MAAM,EAC7B,cAAe,CAAE,KAAM,QAAS,QAAS,MAAM,EAC/C,UAAW,CAAE,QAAS,MAAM,EAC5B,QAAS,CAAE,QAAS,MAAM,EAC1B,aAAc,CAAE,QAAS,MAAM,EAC/B,SAAU,CAAE,QAAS,UAAU,EAC/B,KAAM,CAAE,QAAS,MAAM,EACvB,YAAa,CAAE,QAAS,MAAM,EAC9B,WAAY,CAAE,QAAS,iBAAiB,EACxC,QAAS,CAAE,QAAS,MAAM,EAC1B,aAAc,CAAE,QAAS,MAAM,EAC/B,UAAW,CAAE,QAAS,MAAM,EAC5B,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,WAAY,CAAE,QAAS,MAAM,EAC7B,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,YAAa,CAAE,KAAM,OAAO,EAC5B,OAAQ,CAAE,KAAM,OAAO,EACvB,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,YAAa,CAAE,KAAM,OAAO,EAC5B,KAAM,CAAE,KAAM,OAAO,EACrB,WAAY,CAAA,EACZ,QAAS,CAAE,KAAM,OAAO,CAC5B,EAAK,CACD,WAAc,CAAE,KAAM,QAAc,QAAS,EAAO,EACpD,eAAkB,CAAA,CACtB,CAAG,EACD,MAAuBA,EAAAA,YAAY,CAAC,cAAe,OAAQ,iBAAkB,SAAU,OAAQ,iBAAkB,QAAS,SAAU,mBAAoB,SAAU,IAAI,EAAG,CAAC,mBAAmB,CAAC,EAC9L,MAAMpH,EAAS,CAAE,OAAQ6N,EAAU,KAAMtH,GAAU,CAEjD,MAAM/pB,EAAQqjB,EADCG,EACmB,kBAAkB,EAC9CwG,EAAOD,EACP0C,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3C8uC,EAAWznC,EAAAA,eAAe,WAAW,EACrCqC,EAAO,IAAM,QACjB50B,EAAAg6D,EAAS,QAAT,MAAAh6D,EAAgB,MAClB,EACM20B,EAAO,IAAM,QACjB30B,EAAAg6D,EAAS,QAAT,MAAAh6D,EAAgB,MAClB,EAIA,OAAA+4B,EAAS,CACP,KAAAnE,EACA,KAAAD,EACA,OANa,IAAM,QACnB30B,EAAAg6D,EAAS,QAAT,MAAAh6D,EAAgB,QAClB,CAKJ,CAAK,EACM,CAACurB,EAAMC,KACLC,YAAS,EAAIK,qBAAmB,KAAM40B,GAAc,CACzDttB,cAAY4zB,GAAa30B,EAAAA,WAAW,CAAE,IAAK,aAAexpB,EAAAA,MAAMnB,CAAK,EAAG,CACtE,WAAYysB,EAAW,MACvB,sBAAuB3I,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAWa,EAAW,MAAQb,GAChF,SAAU,GACV,OAAQ9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,OAAQ4B,CAAM,GACjE,QAAS9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,QAAS4B,CAAM,GACnE,OAAQ9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,OAAQ4B,CAAM,GACjE,SAAU9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,SAAU4B,CAAM,GACrE,gBAAiB9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,iBAAkB4B,CAAM,GACpF,gBAAiB9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,iBAAkB4B,CAAM,GACpF,kBAAmB9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,mBAAoB4B,CAAM,GACxF,SAAU9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,SAAU4B,CAAM,GACrE,aAAc9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,cAAe4B,CAAM,EACxF,CAAS,EAAG,CACF,iBAAkBzH,EAAAA,QAAQ,IAAM,CAC9BE,aAAWR,EAAK,OAAQ,gBAAgB,CACpD,CAAW,EACD,cAAeM,EAAAA,QAAQ,IAAM,CAC3BE,aAAWR,EAAK,OAAQ,aAAa,CACjD,CAAW,EACD,QAASM,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,UAAW,CACjC,KAAAqJ,EACA,KAAAD,CACd,CAAa,CACb,CAAW,EACD,EAAG,CACb,EAAW,GAAI,CAAC,YAAY,CAAC,CAC7B,CAAO,EAEL,CACF,CAAC,EACK1J,GAAa,CAAE,MAAO,aAAa,EACnC/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,WACR,MAAO,CACL,KAAM,CAAE,QAAS,MAAM,CAC3B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,UAAU,EAC5C,MAAO,CAACK,EAAMC,KACLC,YAAS,EAAIK,qBAAmB,KAAMb,GAAY,CACvDc,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,IAAI,EAAG,CAAC,CAC/D,CAAS,CACT,CAAO,EAEL,CACF,CAAC,EC3SKuyD,GAAuB/8D,GAAUkC,EAAAA,SAAS,IAAM,CACpD,MAAMytD,EAAgBvtD,EAAAA,QAAQpC,CAAK,EACnC,MAAO,CACL,UAAW2vD,IAAkB,GAC7B,CAAC,aAAaA,CAAa,EAAE,EAAG,OAAOA,GAAkB,QAC7D,CACA,CAAC,EACK3xB,GAA8B3zB,EAAAA,gBAAgB,CAClD,OAAQ,UACR,MAAO,CACL,UAAW,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,OAAO,EACtD,MAAO,CAAE,QAAS,MAAM,EACxB,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,OAAQ,CAAE,QAAS,MAAM,EACzB,IAAK,CAAE,QAAS,KAAK,EACrB,WAAY,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,EAAK,EACrD,QAAS,CAAE,QAAS,IAAI,CAC5B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,SAAS,EACrCgvC,EAAe96D,EAAAA,SAAS,IAAMsI,EAAM,MAAQ,MAAQ,OAAS,YAAY,EACzEyyD,EAAiBF,GAAoB,IAAMvyD,EAAM,SAAS,EAC1D0jB,EAAeJ,GACnB5rB,EAAAA,SAAS,KAAO,CACd,UAAWsI,EAAM,OACzB,EAAQ,CACR,EACU2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrCgsB,EAAa,MACb,CACE,UAAW1jB,EAAM,MACjB,CAAC,UAAUA,EAAM,MAAM,EAAE,EAAGA,EAAM,SAAW,OAC7C,CAAC,SAASA,EAAM,KAAK,EAAE,EAAGA,EAAM,QAAU,OAC1C,gBAAiBA,EAAM,aAAe,GACtC,CAAC,iBAAiBA,EAAM,UAAU,EAAE,EAAG,OAAOA,EAAM,YAAe,QAC3E,CACA,CAAK,EACDiR,OAAAA,EAAAA,QAAQxa,GAAoB,CAC1B,IAAKwD,EAAAA,MAAM,IAAM+F,EAAM,GAAG,EAC1B,YAAa/F,EAAAA,MAAM,IAAM+F,EAAM,WAAW,CAChD,CAAK,EACM,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,MAAOkkB,EAAAA,eAAe,CAAC,SAAUP,EAAgB,KAAK,CAAC,EACvD,KAAM6uC,EAAa,KAC3B,EAAS,CACD,QAASruC,EAAAA,QAAQ,IAAM,CACrBhjB,EAAAA,MAAMnB,CAAK,EAAE,YAAc,IAAS+jB,YAAS,EAAIK,EAAAA,mBAAmB,MAAO,CACzE,IAAK,EACL,MAAOF,EAAAA,eAAe/iB,EAAAA,MAAMsxD,CAAc,CAAC,CACvD,EAAa,CACDpuC,aAAWR,EAAK,OAAQ,SAAS,CAC7C,EAAa,CAAC,GAAKQ,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAE,IAAK,CAAC,CAAE,CAChE,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,QAAS,MAAM,CAAC,EAE3B,CACF,CAAC,EACK8H,GAA8B9rB,EAAAA,gBAAgB,CAClD,OAAQ,eACR,MAAO,CACL,IAAK,CAAE,QAAS,KAAK,EACrB,OAAQ,CAAE,KAAM,QAAS,QAAS,MAAM,EACxC,YAAa,CAAE,QAAS,MAAM,EAC9B,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,iBAAkB,CAAE,QAAS,MAAM,EACnC,KAAM,CAAE,QAAS,MAAM,EACvB,KAAM,CAAE,KAAM,QAAS,QAAS,MAAM,EACtC,MAAO,CAAE,KAAM,OAAO,EACtB,QAAS,CAAE,QAAS,MAAM,EAC1B,aAAc,CAAE,QAAS,MAAM,EAC/B,SAAU,CAAE,KAAM,OAAO,EACzB,WAAY,CAAA,EACZ,WAAY,CAAE,KAAM,OAAO,EAC3B,gBAAiB,CAAA,EACjB,IAAK,CAAE,QAAS,MAAM,EACtB,QAAS,CAAE,KAAM,QAAS,QAAS,MAAM,EACzC,oBAAqB,CAAE,QAAS,MAAM,EACtC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,OAAQ,CAAE,QAAS,MAAM,EACzB,GAAI,CAAE,QAAS,MAAM,EACrB,gBAAiB,CAAE,QAAS,MAAM,EAClC,qBAAsB,CAAE,QAAS,MAAM,EACvC,iBAAkB,CAAE,QAAS,MAAM,EACnC,sBAAuB,CAAE,QAAS,MAAM,EACxC,iBAAkB,CAAE,QAAS,MAAM,EACnC,QAAS,CAAE,QAAS,MAAM,CAC9B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,cAAc,EAC1C,CAAE,aAAAqE,EAAc,kBAAAC,GAAsBL,GAAeznB,EAAO,CAChE,SACA,cACA,SACA,WACA,OACA,MACA,UACA,sBACA,SACA,KACA,UACA,UACA,eACA,mBACA,kBACA,uBACA,mBACA,wBACA,MACN,CAAK,EACKurB,EAAc7zB,EAAAA,SAAS,IAAMmwB,EAAa,MAAQsQ,GAAcn4B,EAAM,GAAG,EAC/E,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwBsH,EAAY,KAAK,EAAGZ,aAAW,CAAE,MAAO,cAAc,EAAIxpB,EAAAA,MAAM2mB,CAAiB,CAAC,EAAG,CAC3I,QAAS3D,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,CAC3C,CAAS,EACD,EAAG,CACX,EAAS,EAAE,EAET,CACF,CAAC,EACK2H,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,aACR,MAAO,CACL,MAAO,CAAE,QAAS,MAAM,EACxB,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,IAAK,CAAE,QAAS,IAAI,CACxB,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,YAAY,EACxC+W,EAAY+nB,GAAa,IAAMtiD,EAAM,KAAK,EAC1C2jB,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,WAAYsI,EAAM,KAClB,gBAAiBA,EAAM,UACvB,CAACu6B,EAAU,KAAK,EAAGv6B,EAAM,QAAU,OACnC,MAASA,EAAM,KACrB,EAAM,EACF,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,KAAM,CAC3C,MAAOF,EAAAA,eAAe,CAAC,aAAcP,EAAgB,KAAK,CAAC,CACnE,EAAS,CACDU,aAAWR,EAAK,OAAQ,SAAS,CACzC,EAAS,CAAC,EAER,CACF,CAAC,EACKN,GAAa,CAAC,WAAY,YAAY,EACtC/R,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,gBACR,MAAO,CACL,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,MAAO,CAAE,QAAS,mBAAmB,EACrC,OAAQ,CAAE,QAAS,MAAM,CAC7B,EACE,MAAO,CAAC,OAAO,EACf,MAAM2jB,EAAS,CAAE,KAAMuG,CAAM,EAAI,CAE/B,MAAM/pB,EAAQqjB,EADCG,EACmB,eAAe,EAC3CwG,EAAOD,EACPpG,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,SAAUsI,EAAM,QACtB,EAAM,EACI0yD,EAAel7D,EAAAA,OAAOjB,GAAqB,MAAM,EACjDo8D,EAAmBj7D,EAAAA,SAAS,IAAM,OACtC,MAAI,CAACsI,EAAM,QAAU,CAAC0yD,EAAqB,GACvC,OAAO1yD,EAAM,QAAW,SACnBpI,WAAQA,EAAAA,EAAAA,QAAQ86D,EAAa,OAAO,MAAM,IAAI1yD,EAAM,MAAM,CAAC,IAAnDpI,YAAAA,EAAsD,KAAK,GAAK,GAC1EoI,EAAM,OAAO,KAAM1D,GAAM,OAAK1E,OAAAA,EAAAA,SAAQU,EAAAo6D,EAAa,OAAO,MAAM,IAAIp2D,CAAM,IAApC,YAAAhE,EAAuC,KAAK,EAAC,CAC5F,CAAC,EACKs6D,EAAe,IAAM,OACzB,GAAI,GAAC5yD,EAAM,QAAU,CAAC0yD,GACtB,IAAI,OAAO1yD,EAAM,QAAW,SAAU,EACpCpI,EAAAA,UAAQ86D,EAAa,OAAO,MAAM,IAAI1yD,EAAM,MAAM,CAAC,IAAnDpI,MAAAA,EAAsD,SACtD,MACF,CACAoI,EAAM,OAAO,QAAS1D,GAAM,OAAK1E,OAAAA,EAAAA,EAAAA,QAAQ86D,EAAa,OAAO,MAAM,IAAIp2D,CAAM,CAAC,IAA7C1E,YAAAA,EAAgD,SAAQ,EAC3F,EACMi7D,EAAW3xD,GAAM,CAChBlB,EAAM,WACTgqB,EAAK,QAAS9oB,CAAC,EACf0xD,EAAY,EAEhB,EACA,MAAO,CAAC/uC,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,SAAU,CAC/C,MAAOF,EAAAA,eAAe,CAAC,iBAAkBP,EAAgB,KAAK,CAAC,EAC/D,KAAM,SACN,SAAUxiB,EAAAA,MAAMnB,CAAK,EAAE,SACvB,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,MAC3B,QAAA6yD,CACR,EAAS,CACDxuC,aAAWR,EAAK,OAAQ,UAAW,CAAE,SAAU8uC,EAAiB,KAAK,EAAI,IAAM,CAC7E7uC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIsP,EAAAA,mBAAmB,OAAQ,CAAE,MAAO,uBAAyB,KAAM,EAAE,EACzG,CAAS,CACT,EAAS,GAAI7P,EAAU,EAErB,CACF,CAAC,ECxMKA,GAAa,CAAC,KAAM,iBAAiB,EACrC4N,GAAa,CAAC,IAAI,EAClBC,GAAwB,2BACxB5f,GAA4B3R,EAAAA,gBAAgB,CAE9C,aAAc,GAEhB,OAAQ,aACR,MAAuB+qB,EAAAA,YAAY,CACjC,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,cAAe,CAAE,KAAM,QAAS,QAAS,EAAK,EAC9C,UAAW,CAAE,QAAS,MAAM,EAC5B,UAAW,CAAE,QAAS,MAAM,EAC5B,cAAe,CAAE,KAAM,QAAS,QAAS,EAAK,EAC9C,MAAO,CAAE,KAAM,CAAC,OAAQ,QAAS,OAAQ,IAAI,EAAG,QAAS,MAAM,EAC/D,YAAa,CAAE,QAAS,MAAM,EAC9B,YAAa,CAAE,QAAS,MAAM,EAC9B,YAAa,CAAE,QAAS,MAAM,EAC9B,iBAAkB,CAAE,QAAS,MAAM,EACnC,iBAAkB,CAAE,QAAS,OAAO,EACpC,mBAAoB,CAAE,QAAS,WAAW,EAC1C,GAAI,CAAE,QAAS,MAAM,EACrB,kBAAmB,CAAE,KAAM,QAAS,QAAS,EAAK,EAClD,aAAc,CAAE,KAAM,QAAS,QAAS,EAAK,EAC7C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,cAAe,CAAE,KAAM,QAAS,QAAS,EAAK,EAC9C,UAAW,CAAE,QAAS,OAAO,EAC7B,OAAQ,CAAE,KAAM,CAAC,OAAQ,OAAO,EAAG,QAAS,EAAK,EACjD,MAAO,CAAE,QAAS,MAAM,EACxB,WAAY,CAAA,EACZ,MAAO,CAAE,QAAS,MAAM,EACxB,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,WAAY,CAAE,QAAS,MAAM,EAC7B,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,OAAQ,CAAE,KAAM,OAAO,EACvB,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,WAAY,CAAA,EACZ,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAC5C,EAAK,CACD,WAAc,CAAE,KAAM,QACpB,QAAS,EACV,EACD,eAAkB,CAAA,CACtB,CAAG,EACD,MAAuBA,EAAAA,YAAY,CAAC,QAAS,MAAO,WAAY,aAAc,OAAQ,iBAAkB,SAAU,OAAQ,iBAAkB,QAAS,SAAU,mBAAoB,SAAU,IAAI,EAAG,CAAC,mBAAmB,CAAC,EACzN,MAAMpH,EAAS,CAAE,OAAQ6N,EAAU,KAAMtH,GAAU,CAEjD,MAAM/pB,EAAQqjB,EADCG,EACmB,YAAY,EACxCwG,EAAOD,EACPjqB,EAAQ2jB,EAAAA,SAAQ,EAChBgJ,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3CkJ,EAAajM,GAAM,IAAMzgB,EAAM,GAAI,WAAW,EAC9CiO,EAAU4c,EAAAA,eAAe,UAAU,EACnCyG,EAAuBzG,EAAAA,eAAe,uBAAuB,EAC7D4G,EAAc5G,EAAAA,eAAe,QAAQ,EACrC6G,EAAgB,IAChB1xB,EAAM,OAAS,OAAOA,EAAM,OAAU,UACpCA,EAAM,QAAU,QACXyxB,EAEF9B,GAAW3vB,EAAM,MAAOiO,EAAQ,OAAS,MAAM,EAEjDA,EAEHohB,EAAe,IAAM,CACzB3wB,EAAAA,SAAS,IAAM,CACb,GAAIsB,EAAM,QAAU,IAAS,CAAC8yD,EAAmB,OAAS9yD,EAAM,OAAQ,CACtE,MAAM+yD,GAAezyD,GAAaoxB,GAAe,EACjDqhC,IAAA,MAAAA,GAAc,OAChB,CACF,CAAC,CACH,EACM,CACJ,QAAAlmC,EACA,UAAAC,EACA,kBAAAC,EACA,KAAAG,EACA,KAAAD,EACA,OAAA3hB,EACA,oBAAA+hB,EACA,eAAAoC,EACA,gBAAAkC,EACA,cAAAnE,EACA,wBAAAoE,EACA,gBAAArE,EACA,UAAA/L,EACA,sBAAA8L,EACA,iBAAAH,EACA,UAAAiB,EACA,WAAAD,CACN,EAAQ3B,GAAYC,EAAYzsB,EAAOgqB,EAAM/b,EAASye,EAAY,CAC5D,gBAAiB,CACf,aAAA2C,EACA,aAAc,UACd,aAAc,SACd,iBAAkB,GAClB,iBAAkB,GAClB,eAAgB,GAChB,eAAgB,EACxB,CACA,CAAK,EAEK2jC,EADcjtD,GAAeD,EAAsB,EACV,eAAe,IAAM9F,EAAM,YAAc,IAAI,EACtF8yD,EAAqBx4D,EAAAA,IAAI,EAAK,EACpCmE,EAAAA,UAAU,IAAM,CACVuB,EAAM,aAAe,SACvB8yD,EAAmB,MAAQ,CAACE,EAA2B,MACvDhpC,EAAK,aAAcsD,EAAsB,YAAY,EAAGwlC,EAAmB,KAAK,EAEpF,CAAC,EACDzyC,GAAkBwM,EAAS,IAAM7sB,EAAM,eAAiB8yD,EAAmB,KAAK,EAChF3uD,GACE,SACA,IAAM,CACJ+oB,EAAK,KAAK,CACZ,EACA,CAAE,OAAQjf,CAAO,CACvB,EACI,KAAM,CAAE,cAAAgS,CAAa,EAAKT,GAAsB,CAC9C,QAAAvR,EACA,SAAUkgB,EACV,OAAQ,IAAMnuB,EAAM,QAAU8yD,EAAmB,MACjD,cAAe,CACb,cAAe1hC,GACf,IAAKE,CACb,EACM,MAAO,IAAMtxB,EAAM,QAAU,IAAS8yD,EAAmB,MAAQ,GAAQxyD,GAAaoxB,EAAa,CAAE,GAAK,MAChH,CAAK,EACKuhC,EAAev7D,EAAAA,SACnB,KAAOsI,EAAM,aAAe,QAAU,CAAC8yD,EAAmB,QAAU9yD,EAAM,aAAe,KAAU6sB,EAAQ,QAAU,IAAQuB,EAAU,OAASpuB,EAAM,eAAiB,CAACqtB,EAAoB,MAClM,EACUwE,EAAqBn6B,EAAAA,SAAS,IAAM,CAAC6pB,GAAYzhB,EAAM,cAAc,CAAC,CAAC,EACvEozD,EAAqBx7D,EAAAA,SAAS,IAAM,CACxC,CAAE,aAAc,CAACm6B,EAAmB,KAAK,EACzC7xB,EAAM,gBACZ,CAAK,EACKmyB,EAAmBz6B,EAAAA,SAAS,KAAO,CACvC,QAASm6B,EAAmB,MAAQ7xB,EAAM,mBAAqB,OAC/D,MAAOkzD,EAAmB,KAChC,EAAM,EACInT,EAAgBroD,EAAAA,SAAS,IAAM,CAAC6pB,GAAYzhB,EAAM,MAAM,CAAC,EACzD6jB,GAAkBjsB,EAAAA,SAAS,IAAM,CACrCsI,EAAM,aAAe,OAAS,YAAc,aAAaA,EAAM,UAAU,GACzE,aAAaA,EAAM,SAAS,GAC5B,CACE,KAAQwhB,EAAU,MAClB,CAAC,UAAUxhB,EAAM,MAAM,EAAE,EAAG,CAAC,CAACA,EAAM,OACpC,gBAAiBqtB,EAAoB,KAC7C,CACA,CAAK,EACKqkC,GAAiBh6D,EAAAA,SAAS,KAAO,CACrC,MAAOsI,EAAM,KACnB,EAAM,EACIizB,GAAcv7B,EAAAA,SAAS,KAAO,CAClC,QAAS8pB,EAAU,MACnB,UAAWxhB,EAAM,UACjB,KAAAktB,EACA,KAAAD,EACA,OAAA3hB,EACA,GAAIohB,EAAW,MACf,OAAQyB,EAAW,KACzB,EAAM,EACFt2B,OAAAA,QAAMm7D,EAA6Bl7D,IAAa,CAC1CkI,EAAM,aAAe,SACrBlI,KAAa,IAEfq1B,EAAiB,MAAQ,GACzB,sBAAsB,IAAM,CAC1B2lC,EAAmB,MAAQ,EAC7B,CAAC,EACD9oC,EAAK,aAAcsD,EAAsB,YAAY,EAAG,EAAM,EAC9DtD,EAAK,OAAQsD,EAAsB,MAAM,CAAC,IAG1CH,EAAiB,MAAQ,GACzB,sBAAsB,IAAM,CAC1B2lC,EAAmB,MAAQ,EAC7B,CAAC,EACD9oC,EAAK,aAAcsD,EAAsB,YAAY,EAAG,EAAM,EAC9DtD,EAAK,OAAQsD,EAAsB,MAAM,CAAC,GAE9C,CAAC,EACD+D,EAAS,CACP,KAAAnE,EACA,KAAAD,EACA,OAAA3hB,EACA,mBAAAwnD,CACN,CAAK,EACM,CAACjvC,GAAMC,MACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAYwH,GAAa,CAC3C,GAAIrqB,EAAAA,MAAMnB,CAAK,EAAE,WACjB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,kBAAoB8yD,EAAmB,KACtE,EAAS,CACD,QAAS3uC,EAAAA,QAAQ,IAAM,CACrBhjB,EAAAA,MAAM2rB,CAAS,GAAK3rB,EAAAA,MAAMsuB,CAAc,GAAKqjC,EAAmB,OAAS/uC,EAAAA,UAAS,EAAIC,EAAAA,YAAYkP,EAAAA,WAAYvI,EAAAA,WAAW,CAAE,IAAK,GAAKxpB,EAAAA,MAAMwwB,CAAe,EAAG,CAC3J,OAAQlF,EAAW,OAAStrB,EAAAA,MAAMnB,CAAK,EAAE,OACrD,CAAW,EAAG,CACF,QAASmkB,EAAAA,QAAQ,IAAM,CACrBgP,iBAAeC,EAAAA,mBAAmB,MAAOzI,aAAW,CAClD,GAAIxpB,EAAAA,MAAMurB,CAAU,EACpB,IAAK,WACL,aAAc,OACd,KAAM,SACN,MAAO/I,GAAgB,MACvB,MAAO+tC,GAAe,MACtB,SAAU,KACV,kBAAmB,GAAGvwD,EAAAA,MAAMurB,CAAU,CAAC,mBACvC,mBAAoB,OACpC,EAAiB7I,GAAK,MAAM,EAAG,CACf1iB,EAAAA,MAAMsuB,CAAc,GAAKqjC,EAAmB,OAAS/uC,EAAAA,YAAaK,EAAAA,mBAAmBqH,EAAAA,SAAU,CAAE,IAAK,CAAC,EAAI,CACxGtqB,EAAAA,MAAMnB,CAAK,EAAE,SAiCJwkB,qBAAmB,GAAI,EAAI,GAjCXT,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAOuG,aAAW,CAC1E,IAAK,EACL,MAAO,CAAC,mBAAoBxpB,QAAMnB,CAAK,EAAE,WAAW,CACxE,EAAqBmB,QAAMnB,CAAK,EAAE,WAAW,EAAG,CAC5BqkB,aAAWR,GAAK,OAAQ,SAAUyP,EAAAA,eAAeC,EAAAA,mBAAmBN,GAAY,KAAK,CAAC,EAAG,IAAM,CAC7FG,EAAAA,mBAAmB,KAAM,CACvB,GAAI,GAAGjyB,EAAAA,MAAMurB,CAAU,CAAC,mBACxB,MAAO,iBAC/B,EAAyB,CACDrI,aAAWR,GAAK,OAAQ,QAASyP,EAAAA,eAAeC,EAAAA,mBAAmBN,GAAY,KAAK,CAAC,EAAG,IAAM,CAC5F3O,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,KAAK,EAAG,CAAC,CAChF,CAAyB,CACzB,EAAyB,EAAGmxB,EAAU,EACfhwB,QAAMnB,CAAK,EAAE,cAkBJwkB,qBAAmB,GAAI,EAAI,GAlBNT,EAAAA,UAAS,EAAIK,EAAAA,mBAAmBqH,WAAU,CAAE,IAAK,GAAK,CACnFoG,EAAmB,OAAS9N,EAAAA,UAAS,EAAIC,EAAAA,YAAY2H,GAAahB,EAAAA,WAAW,CAC3E,IAAK,EACL,IAAK,QAC/B,EAA2BwH,EAAiB,MAAO,CACzB,QAASrO,GAAO,CAAC,IAAMA,GAAO,CAAC,EAAK8H,IAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,OAAO,EAC5F,CAAyB,EAAG,CACF,QAAS/I,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,GAAK,OAAQ,eAAgByP,EAAAA,eAAeC,qBAAmBN,GAAY,KAAK,CAAC,CAAC,CACzH,CAA2B,EACD,EAAG,CAC7B,EAA2B,EAAE,IAAMlP,EAAAA,UAAS,EAAIC,EAAAA,YAAYwP,GAAa7I,EAAAA,WAAW,CAC1D,IAAK,EACL,IAAK,SACL,aAAcxpB,EAAAA,MAAMnB,CAAK,EAAE,gBACrD,EAA2BmyB,EAAiB,MAAO,CACzB,QAASrO,GAAO,CAAC,IAAMA,GAAO,CAAC,EAAK8H,IAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,OAAO,EAC5F,CAAyB,EAAG,KAAM,GAAI,CAAC,YAAY,CAAC,EACpD,EAAyB,EAAE,EAC3B,CAAqB,CACrB,EAAqB,EAAE,GACLkG,EAAAA,mBAAmB,MAAOzI,aAAW,CACnC,MAAO,CAAC,iBAAkBxpB,QAAMnB,CAAK,EAAE,SAAS,CACpE,EAAqBmB,QAAMnB,CAAK,EAAE,SAAS,EAAG,CAC1BqkB,aAAWR,GAAK,OAAQ,UAAWyP,EAAAA,eAAeC,qBAAmBN,GAAY,KAAK,CAAC,CAAC,CAC5G,EAAqB,EAAE,EACL8sB,EAAc,OAASh8B,EAAAA,YAAaK,EAAAA,mBAAmB,MAAO,CAC5D,IAAK,EACL,MAAOF,EAAAA,eAAe/iB,QAAMnB,CAAK,EAAE,WAAW,CAClE,EAAqB,CACDqkB,aAAWR,GAAK,OAAQ,SAAUyP,EAAAA,eAAeC,qBAAmBN,GAAY,KAAK,CAAC,CAAC,CAC3G,EAAqB,CAAC,GAAKzO,qBAAmB,GAAI,EAAI,CACtD,EAAmB,EAAE,GAAKA,qBAAmB,GAAI,EAAI,EACrCrjB,EAAAA,MAAM8e,CAAa,GAAK8D,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC7D,IAAK,EACL,IAAK,wBACL,MAAOF,EAAAA,eAAekN,EAAqB,EAC3C,SAAU,IACV,MAAO,CAAE,MAAS,IAAK,OAAU,IAAK,SAAY,QAAQ,CAC5E,EAAmB,KAAM,GAAG,GAAK5M,EAAAA,mBAAmB,GAAI,EAAI,CAC5D,EAAiB,GAAIjB,EAAU,EAAG,CAClB,CACEkQ,EAAAA,MACAtyB,EAAAA,MAAM0rB,CAAO,IAAM1rB,EAAAA,MAAMqsB,CAAa,GAAKrsB,EAAAA,MAAMnB,CAAK,EAAE,eAAiB,CAACmB,EAAAA,MAAMnB,CAAK,EAAE,gBAAkB8yD,EAAmB,KAC9I,CACA,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,GAAI,CAAC,QAAQ,CAAC,GAAKtuC,EAAAA,mBAAmB,GAAI,EAAI,EAChDrjB,EAAAA,MAAMnB,CAAK,EAAE,WAeTwkB,EAAAA,mBAAmB,GAAI,EAAI,EAfLH,EAAAA,WAAWR,GAAK,OAAQ,WAAYyP,EAAAA,eAAe3I,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAIsI,GAAY,KAAK,CAAC,EAAG,IAAM,CAC9H9xB,EAAAA,MAAM4rB,CAAiB,GAAKhJ,EAAAA,UAAS,EAAIC,EAAAA,YAAYkP,EAAAA,WAAYI,EAAAA,eAAe3I,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAIxpB,EAAAA,MAAMywB,CAAuB,CAAC,CAAC,EAAG,CACvI,QAASzN,EAAAA,QAAQ,IAAM,CACrBgP,EAAAA,eAAeC,EAAAA,mBAAmB,MAAO,CACvC,MAAOlP,EAAAA,eAAe,CAAC,qBAAsB,CAC3C,KAAM,CAAC/iB,EAAAA,MAAMksB,CAAmB,EAChC,KAAMlsB,EAAAA,MAAMosB,CAAe,GAAKpsB,EAAAA,MAAMksB,CAAmB,CAC7E,CAAmB,CAAC,EACF,QAASvJ,GAAO,CAAC,IAAMA,GAAO,CAAC,EAAK8H,IAAWzqB,EAAAA,MAAM+rB,CAAI,EAAE,UAAU,EACvF,EAAmB,KAAM,CAAC,EAAG,CACX,CAACuG,EAAAA,MAAOw/B,EAAa,KAAK,CAC5C,CAAiB,CACjB,CAAe,EACD,EAAG,CACjB,EAAe,EAAE,GAAKzuC,qBAAmB,GAAI,EAAI,CACjD,CAAW,CACX,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,KAAM,UAAU,CAAC,EAE5B,CACF,CAAC,EC7SKhT,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,WACR,MAAO,CACL,QAAS,CAAE,QAAS,MAAM,EAC1B,KAAM,CAAE,QAAS,KAAK,EACtB,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,QAAS,CAAE,QAAS,GAAI,EACxB,WAAY,CAAE,QAAS,KAAK,EAC5B,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,aAAc,CAAE,KAAM,QAAS,QAAS,EAAK,EAC7C,YAAa,CAAE,QAAS,QAAQ,EAChC,eAAgB,CAAE,QAAS,MAAM,EACjC,QAAS,CAAE,QAAS,OAAO,EAC3B,QAAS,CAAE,QAAS,KAAK,EACzB,OAAQ,CAAE,QAAS,EAAE,EACrB,QAAS,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,EAAK,EAC1D,WAAY,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAC9D,cAAe,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EACjE,aAAc,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAChE,WAAY,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,CAClE,EACE,MAAO,CAAC,QAAS,SAAU,OAAO,EAClC,MAAM2jB,EAAS,CAAE,KAAMuG,CAAM,EAAI,CAE/B,MAAM/pB,EAAQqjB,EADCG,EACmB,UAAU,EACtCwG,EAAOD,EACPopC,EAAiB,CAAE,IAAK,EAAG,KAAM,EAAG,OAAQ,EAAG,MAAO,CAAC,EACvDC,EAAkBtjC,GAAkB,IAAM,CAAC9vB,EAAM,MAAM,EACvDq8C,EAAuBrB,GAAwB,KAAO,CAC1D,QAASh7C,EAAM,QACf,WAAYA,EAAM,WAClB,cAAeA,EAAM,cACrB,aAAcA,EAAM,aACpB,WAAYA,EAAM,UACxB,EAAM,EACIqzD,EAAmB37D,EAAAA,SAAS,IAAMsI,EAAM,KAAO,GAAO,IAAI,EAC1DszD,EAAe57D,EAAAA,SAAS,KAAO,CACnC,KAAMsI,EAAM,YACZ,QAASA,EAAM,eACf,MAAOA,EAAM,YACnB,EAAM,EACIuzD,EAAgB77D,EAAAA,SAAS,KAAO,CACpC,GAAGy7D,EACH,OAAQnzD,EAAM,QAAU,EAC9B,EAAM,EACIwzD,EAAiB97D,EAAAA,SAAS,KAAO,CACrC,oBAAqB,CAACsI,EAAM,QAAU,CAACA,EAAM,MAC7C,iBAAkBA,EAAM,QAAUA,EAAM,KAC9C,EAAM,EACI0jB,EAAeJ,GACnB5rB,EAAAA,SAAS,KAAO,CACd,UAAWsI,EAAM,UAAY,MAAQ,CAACA,EAAM,QAAUA,EAAM,QAAU,IAC9E,EAAQ,CACR,EACUyzD,EAAc/7D,EAAAA,SAAS,IAAM,CAACgsB,EAAa,MAAO24B,EAAqB,KAAK,CAAC,EAC7EqX,EAAah8D,EAAAA,SAAS,KAAO,CACjC,GAAGy7D,EACH,QAASnzD,EAAM,QACf,gBAAiBA,EAAM,SAAW,OAClC,eAAgBA,EAAM,MAAQ,CAACA,EAAM,UAAYA,EAAM,UAAY,SAAWA,EAAM,UAAY,eAAiB,QAAQA,EAAM,IAAI,IAAM,MAC/I,EAAM,EACI2zD,EAAoBj8D,EAAAA,SACxB,IAAMsI,EAAM,SAAWmzD,EAAiB,CACtC,IAAK,MACL,KAAM,MACN,UAAW,mCACnB,CACA,EACI,MAAO,CAACtvC,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAYwH,GAAa,CAC3C,IAAKrqB,EAAAA,MAAMnB,CAAK,EAAE,QAClB,MAAO,mCACP,YAAaqzD,EAAiB,MAC9B,KAAMlyD,EAAAA,MAAMnB,CAAK,EAAE,MAC3B,EAAS,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,SAAS,EACjC6H,EAAAA,YAAYwH,EAAAA,WAAYvI,EAAAA,WAAWxpB,EAAAA,MAAMiyD,CAAe,EAAG,CACzD,iBAAkB,OAClB,KAAM,OACN,aAActvC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,OAAO,GAChE,aAAclG,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,QAAQ,EAC7E,CAAW,EAAG,CACF,QAAS7F,EAAAA,QAAQ,IAAM,CACrBhjB,EAAAA,MAAMnB,CAAK,EAAE,MAAQ+jB,YAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,UAAU,EAAG,CAC9F,IAAK,EACL,MAAOkkB,EAAAA,eAAe,CAAC,YAAasvC,EAAe,KAAK,CAAC,EACzD,MAAO9/B,EAAAA,eAAe6/B,EAAc,KAAK,EACzC,QAASzvC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAK8H,GAAW5B,EAAK,QAAS4B,CAAM,EACnF,EAAiB,CACD,QAASzH,EAAAA,QAAQ,IAAM,CACrBiP,EAAAA,mBAAmB,MAAO,CACxB,MAAOlP,EAAAA,eAAe,CAAC,oBAAqBuvC,EAAY,KAAK,CAAC,EAC9D,MAAO//B,EAAAA,eAAeggC,EAAW,KAAK,CAC1D,EAAqB,KAAM,CAAC,EACVtgC,EAAAA,mBAAmB,MAAO,CACxB,MAAO,oBACP,MAAOM,EAAAA,eAAeigC,EAAkB,KAAK,CACjE,EAAqB,CACDtvC,aAAWR,EAAK,OAAQ,UAAWyP,EAAAA,eAAeC,EAAAA,mBAAmB+/B,EAAa,KAAK,CAAC,EAAG,IAAM,CAC9FnyD,EAAAA,MAAMnB,CAAK,EAAE,UAA4HwkB,qBAAmB,GAAI,EAAI,GAA1IT,EAAAA,UAAS,EAAIC,cAAY2H,GAAa2H,EAAAA,eAAe3I,aAAW,CAAE,IAAK,CAAC,EAAI2oC,EAAa,KAAK,CAAC,EAAG,KAAM,EAAE,EAC3J,CAAqB,CACrB,EAAqB,CAAC,CACtB,CAAiB,EACD,EAAG,CACnB,EAAiB,EAAG,CAAC,QAAS,OAAO,CAAC,GAAK9uC,EAAAA,mBAAmB,GAAI,EAAI,CACtE,CAAa,EACD,EAAG,CACf,EAAa,EAAE,CACf,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,MAAO,YAAa,MAAM,CAAC,EAEtC,CACF,CAAC,ECpHKjB,GAAa,CAAC,gBAAiB,YAAY,EAC3C4N,GAAa,CAAC,cAAc,EAC5ByiC,GAAmB,GACnBC,GAAqB,EACrBriD,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,cACR,MAAuB+qB,EAAAA,YAAY,CACjC,MAAO,CAAE,QAAS,OAAO,EACzB,aAAc,CAAE,QAAS,MAAM,EAC/B,UAAW,CAAE,QAAS,YAAY,EAClC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,cAAe,CAAE,QAAS,MAAM,EAChC,aAAc,CAAE,QAAS,GAAG,EAC5B,WAAY,CAAE,QAAS,MAAM,EAC7B,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,UAAW,CAAE,QAAS,GAAG,EACzB,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,eAAgB,CAAE,QAAS,kBAAkB,EAC7C,cAAe,CAAE,QAAS,iBAAiB,EAC3C,cAAe,CAAE,QAAS,iBAAiB,EAC3C,UAAW,CAAE,QAAS,YAAY,EAClC,cAAe,CAAE,QAAS,qBAAqB,EAC/C,UAAW,CAAE,QAAS,MAAM,EAC5B,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,SAAU,CAAE,QAAS,GAAG,EACxB,MAAO,CAAE,QAAS,CAAC,EACnB,UAAW,CAAE,QAAS,MAAM,EAC5B,SAAU,CAAE,QAAS,GAAG,EACxB,UAAW,CAAE,QAAS,MAAM,EAC5B,QAAS,CAAE,QAASgpC,EAAgB,EACpC,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,UAAW,CAAE,QAAS,MAAM,EAC5B,SAAU,CAAE,QAAS,GAAG,EACxB,KAAM,CAAE,QAAS,MAAM,EACvB,UAAW,CAAE,QAASC,EAAkB,CAC5C,EAAK,CACD,WAAc,CACZ,QAAS,CACf,EACI,eAAkB,CAAA,CACtB,CAAG,EACD,MAAuBjpC,EAAAA,YAAY,CAAC,YAAY,EAAG,CAAC,mBAAmB,CAAC,EACxE,MAAMpH,EAAS,CAAE,KAAMuG,CAAM,EAAI,CAS/B,MAAM/pB,EAAQqjB,EADCG,EACmB,aAAa,EACzCwG,EAAOD,EACP0C,EAAa1B,EAAAA,SAASvH,EAAS,YAAY,EAC3CswC,EAAejpC,EAAAA,eAAe,eAAe,EAC7CokC,EAAc9vD,GAAY,IAAMa,EAAM,MAAO,CAAE,UAAW,GAAM,OAAQ,WAAY,EACpF+zD,EAAgB50D,GAAY,IAAMa,EAAM,QAAS,CAAE,UAAW,GAAM,OAAQ,WAAY,EACxFg0D,EAAkB70D,GAAY,IAAMa,EAAM,UAAW,CAAE,UAAW,GAAM,OAAQ,WAAY,EAC5Fi0D,EAAmB90D,GAAYstB,EAAY,CAAE,UAAW,GAAM,OAAQ,WAAY,EAClFynC,EAAmBx8D,WAAS,IAAM,KAAK,IAAIq8D,EAAc,OAASH,GAAkB,CAAC,CAAC,EACtFO,EAAqBz8D,WAAS,IAAM,KAAK,IAAIs8D,EAAgB,OAASH,GAAoB,CAAC,CAAC,EAC5FO,EAAgB18D,WAAS,IAAM,KAAK,KAAKy8D,EAAmB,MAAQD,EAAiB,KAAK,CAAC,EAC3FG,EAAe38D,EAAAA,SAAS,IAAMsI,EAAM,QAAU,MAAM,EACpDs0D,EAAe58D,EAAAA,SAAS,IAAMsI,EAAM,QAAU,OAAS,QAAUA,EAAM,KAAK,EAC5Eu6B,EAAY+nB,GAAagS,CAAY,EACrCC,EAAgBC,GAAeA,IAAeC,EAAmB,MACjEjhD,EAAekhD,GAAQ10D,EAAM,SAAW,KAAOu0D,EAAaG,CAAG,EAAI,IAAM,KACzEC,EAAiBD,GAAQ10D,EAAM,UAAYu0D,EAAaG,CAAG,GAAKD,EAAmB,MAAQ,GACjGC,EAAM,GAAKA,EAAMN,EAAc,MACzBQ,EAAgBl9D,EAAAA,SAAS,IAAMi9D,EAAc,CAAC,CAAC,EAC/CE,EAAen9D,EAAAA,SAAS,IAAMi9D,EAAcF,EAAmB,MAAQ,CAAC,CAAC,EACzEK,EAAep9D,EAAAA,SAAS,IAAMi9D,EAAcP,EAAc,KAAK,CAAC,EAChEW,EAAer9D,EAAAA,SAAS,IAAMi9D,EAAcF,EAAmB,MAAQ,CAAC,CAAC,EACzEO,EAAqB,CAAC,CAC1B,KAAAC,EACA,SAAAC,GACA,SAAAjtC,GACA,SAAAktC,GACA,UAAAC,GACA,SAAAzhD,GACA,MAAA0c,GACA,SAAA1O,GACA,SAAA1lB,GACA,OAAA01C,GACA,WAAA0jB,EACN,KAAW,CACL,GAAI,CACF,MAAS,CACP,YACA,CACE,OAAUp5D,GACV,SAAAgsB,GACA,oBAAqBotC,GACrB,YAAahB,EAAa,MAC1B,SAAUA,EAAa,OAAS,CAACpsC,EAC7C,EACUitC,EACV,EACQ,KAAQ,eACR,cAAevjB,EACvB,EACM,OAAQ,CACN,GAAM1pB,GAAW,OAAS,SAC1B,MAAS,CAAC,YAAa,cAAe,CAAE,cAAe,CAACA,IAAYosC,EAAa,MAAO,EACxF,aAAchkC,GACd,gBAAiBrwB,EAAM,cAAgB,OACvC,gBAAiBioB,GAAW,GAAO,OACnC,gBAAiBtG,GACjB,eAAgBA,GAAWyyC,EAAc,MAAQ,OACjD,KAAQ,WACR,KAAQnsC,GAAW,OAAS,SAC5B,SAAYA,GAAW,OAAStU,EACxC,EACM,KAAM,CACJ,KAAMwhD,GACN,OAAQl5D,GACR,MAAOm5D,IAAaH,EACpB,KAAAA,EACA,SAAAhtC,GACA,MAAOgtC,EAAO,EACd,QAASG,GAAY,OAAS,OAAOH,CAAI,CACjD,EACM,aAAe/zD,IAAMo0D,GAAUp0D,GAAG+zD,CAAI,CAC5C,GACUM,EAAiB,CAAC,CACtB,KAAAN,EACA,SAAAC,GACA,SAAAjtC,GACA,SAAAktC,GACA,UAAAC,GACA,MAAA/kC,EACN,IAAU2kC,EAAmB,CAAE,KAAAC,EAAM,SAAAC,GAAU,SAAAjtC,GAAU,SAAAktC,GAAU,UAAAC,GAAW,MAAA/kC,GAAO,SAAU,KAAM,EAC3FmlC,EAAqB,CAACP,EAAMI,KAAeL,EAAmB,CAClE,KAAAC,EACA,SAAUj1D,EAAM,SAChB,SAAUA,EAAM,UAChB,SAAU,OACV,MAAOA,EAAM,UAAY,GAAGA,EAAM,SAAS,IAAIi1D,CAAI,GAAK,OACxD,SAAUzhD,EAAYyhD,CAAI,GAAK,OAC/B,SAAUA,EACV,SAAUV,EAAaU,CAAI,EAC3B,WAAAI,EACN,CAAK,EACKI,EAAmB/9D,EAAAA,SACvB,IAAM69D,EAAe,CACnB,KAAM,EACN,SAAUX,EAAc,MACxB,SAAU50D,EAAM,WAChB,SAAU,aACV,UAAWA,EAAM,UACjB,MAAOA,EAAM,cACrB,CAAO,CACP,EACU01D,EAAkBh+D,EAAAA,SACtB,IAAM69D,EAAe,CACnB,KAAM,KAAK,IAAId,EAAmB,MAAQ,EAAG,CAAC,EAC9C,SAAUI,EAAa,MACvB,SAAU70D,EAAM,UAChB,SAAU,YACV,UAAWA,EAAM,SACjB,MAAOA,EAAM,aACrB,CAAO,CACP,EACU21D,EAAkBj+D,EAAAA,SACtB,IAAM69D,EAAe,CACnB,KAAM,KAAK,IAAId,EAAmB,MAAQ,EAAGL,EAAc,KAAK,EAChE,SAAUW,EAAa,MACvB,SAAU/0D,EAAM,UAChB,SAAU,YACV,UAAWA,EAAM,SACjB,MAAOA,EAAM,aACrB,CAAO,CACP,EACU41D,EAAkBl+D,EAAAA,SACtB,IAAM69D,EAAe,CACnB,KAAMnB,EAAc,MACpB,SAAUU,EAAa,MACvB,SAAU90D,EAAM,UAChB,SAAU,YACV,UAAWA,EAAM,SACjB,MAAOA,EAAM,aACrB,CAAO,CACP,EACU61D,EAAgBn+D,EAAAA,SAAS,KAAO,CACpC,GAAI,CACF,MAAO,CACL,YACA,WACA,cACA,oBACA28D,EAAa,MAAQ,YAAc,GACnCr0D,EAAM,aAChB,EACQ,KAAM,WACd,EACM,KAAM,CACJ,MAAO,CAAC,WAAW,CAC3B,CACA,EAAM,EACIkmD,EAAyBxuD,EAAAA,SAAS,IAAM,CAC5C6iC,EAAU,MACV,CACE,CAAC,cAAcv6B,EAAM,IAAI,EAAE,EAAGA,EAAM,OAAS,OAC7C,qBAAsBA,EAAM,KACpC,CACA,CAAK,EACK81D,GAAap+D,EAAAA,SAAS,KAAO,CACjC,SAAUw8D,EAAiB,MAC3B,UAAWF,EAAgB,MAC3B,cAAeI,EAAc,KACnC,EAAM,EACIkB,GAAY,CAACx0D,EAAO0zD,KAAe,CACvC,GAAIA,KAAeC,EAAmB,MAAO,OAC7C,MAAMsB,GAAa,IAAIhqC,GAAQ,aAAc,CAC3C,WAAY,GACZ,OAAQjrB,EAAM,MACtB,CAAO,EACDkpB,EAAK,aAAc+rC,GAAYvB,EAAU,EACrC,CAAAuB,GAAW,mBACftpC,EAAW,MAAQ+nC,GACnB91D,EAAAA,SAAS,IAAM,CACT81D,KAAe,EACjBpW,GAAU,EACDoW,KAAesB,GAAW,MAAM,eACzCxX,EAAS,CAEb,CAAC,EACH,EACMH,GAAct9C,GAAO,CACzB,MAAMwlC,GAAY,CAAC,EAAExlC,GAAMA,EAAG,WAAa,KAAK,cAC1Cm1D,GAAU3vB,GAAYxlC,EAAG,aAAa,UAAU,EAAI,KACpDo1D,GAAW5vB,IAAaxlC,EAAG,UAAYA,EAAG,UAAU,SAAS,UAAU,EAAI,GACjF,MAAO,CAACwlC,IAAaxlC,EAAG,UAAYm1D,IAAWC,EACjD,EACMC,GAAa,IAAM,CAAC,GAAGpC,EAAa,OAAS,CAAA,CAAE,EAAE,KACrD,CAACjtD,EAAGC,KAAM,SAASD,EAAE,aAAa,cAAc,GAAK,GAAG,EAAI,SAASC,GAAE,aAAa,cAAc,GAAK,GAAG,CAChH,EAAM,IAAKmuD,GAASA,EAAK,SAAS,CAAC,CAAC,EAAE,OAAQp0D,GAAO,CAC/C,GAAIA,EAAG,aAAa,SAAS,IAAM,QAAUA,EAAG,QAAQ,YAAW,IAAO,SACxE,MAAO,GAET,MAAM4gB,GAAM5gB,EAAG,sBAAqB,EACpC,MAAO,CAAC,EAAE4gB,IAAOA,GAAI,OAAS,GAAKA,GAAI,MAAQ,EACjD,CAAC,EAAE,IAAK5gB,GAAOA,CAAE,EACXu9C,GAAa,IAAM,CACvB1/C,EAAAA,SAAS,IAAM,CACb,MAAMy3D,EAAMD,GAAU,EAAG,KAAMr1D,IAAO,CAACs9C,GAAWt9C,EAAE,CAAC,EACrDs1D,GAAA,MAAAA,EAAK,OACP,CAAC,CACH,EACM3X,GAAY,IAAM,CACtB9/C,EAAAA,SAAS,IAAM,QACb,MAAMyvD,EAAU+H,GAAU,EACpB58D,GAAQ60D,EAAQ,QAAQjtC,GAAgB,CAAE,EAC5C5nB,GAAQ,GAAK,CAAC6kD,GAAWgQ,EAAQ70D,GAAQ,CAAC,CAAC,KAC7ChB,GAAA61D,EAAQ70D,GAAQ,CAAC,IAAjB,MAAAhB,GAAoB,QAExB,CAAC,CACH,EACMgmD,EAAY,IAAM,CACtB5/C,EAAAA,SAAS,IAAM,CACb,MAAMy3D,EAAMD,GAAU,EAAG,QAAO,EAAG,KAAMr1D,IAAO,CAACs9C,GAAWt9C,EAAE,CAAC,EAC/Ds1D,GAAA,MAAAA,EAAK,OACP,CAAC,CACH,EACM1X,EAAY,IAAM,CACtB//C,EAAAA,SAAS,IAAM,QACb,MAAMyvD,EAAU+H,GAAU,EACpB58D,GAAQ60D,EAAQ,QAAQjtC,GAAgB,CAAE,EAC5C5nB,GAAQ60D,EAAQ,OAAS,GAAK,CAAChQ,GAAWgQ,EAAQ70D,GAAQ,CAAC,CAAC,KAC9DhB,GAAA61D,EAAQ70D,GAAQ,CAAC,IAAjB,MAAAhB,GAAoB,QAExB,CAAC,CACH,EACMomD,EAAgB59C,GAAU,CAC9B,KAAM,CAAE,KAAA69C,GAAM,SAAAC,EAAQ,EAAK99C,EACvB69C,KAAS34B,IAAa24B,KAASv4B,IACjC03B,GAAUh9C,CAAK,EACX89C,GACFR,GAAU,EAEVI,GAAS,IAEFG,KAASx4B,IAAcw4B,KAAS94B,MACzCi4B,GAAUh9C,CAAK,EACX89C,GACFN,EAAS,EAETG,EAAS,EAGf,EACMgW,EAAqB/8D,EAAAA,SAAS,IAAM,CACxC,MAAMu9D,EAAOhB,EAAiB,OAAS,EACvC,OAAOgB,EAAOb,EAAc,MAAQA,EAAc,MAAQa,EAAO,EAAI,EAAIA,CAC3E,CAAC,EACDp9D,EAAAA,MAAMi+D,GAAY,CAAC3sD,EAAUrR,KAAa,CACpCA,GAAS,WAAaqR,EAAS,UAAYrR,GAAS,YAAcqR,EAAS,YAC7EsjB,EAAW,MAAQ,EAEvB,CAAC,EACD,MAAM2pC,GAAgB1+D,WAAS,IAAMsI,EAAM,kBAAoB,CAACA,EAAM,YAAc,EAAI,CAAC,EACnFq2D,EAAe3+D,WAAS,IAAMsI,EAAM,kBAAoB,CAACA,EAAM,WAAa,EAAI,CAAC,EACjFs2D,EAAkB5+D,EAAAA,SAAS,IAAM0+D,GAAc,MAAQ,EAAI,CAAC,EAC5DG,EAAiB7+D,EAAAA,SAAS,IAAM2+D,EAAa,MAAQ,EAAI,CAAC,EAC1DG,EAAY9+D,EAAAA,SAAS,IAAMsI,EAAM,YAAc,EAAI,CAAC,EACpDy2D,EAAW/+D,EAAAA,SAAS,IAAMsI,EAAM,WAAa,EAAI,CAAC,EAClD02D,EAAYh/D,EAAAA,SAAS,IAAM,KAAK,MAAMu3D,EAAY,MAAQ,CAAC,CAAC,EAC5D0H,GAAQj/D,EAAAA,SAAS,IAAM,CAC3B,KAAM,CAAE,MAAAlC,CAAK,EAAKi/D,EACZl1C,GAAMzM,GAAS,MAAM,IAAK8jD,IAAM,CACpC,OAAQA,GAAC,CACP,IAAK,GACH,MAAO,CAAE,GAAIA,GAAG,GAAGnB,EAAiB,KAAK,EAC3C,IAAK,GACH,MAAO,CAAE,GAAImB,GAAG,GAAGlB,EAAgB,KAAK,EAC1C,IAAK,GACH,MAAO,CAAE,GAAIkB,GAAG,GAAGjB,EAAgB,KAAK,EAC1C,IAAK,GACH,MAAO,CAAE,GAAIiB,GAAG,GAAGhB,EAAgB,KAAK,EAC1C,IAAK,GACL,IAAK,GACH,MAAO,CAAE,GAAIgB,GAAG,GAAGf,EAAc,KAAK,EACxC,QACE,MAAO,CAAE,GAAIe,GAAG,GAAGpB,EAAmBoB,EAAC,CAAC,CACpD,CACM,CAAC,EACD,GAAIxC,EAAc,MAAQ,EAAG,CAC3B,GAAI5+D,EAAQ4+D,EAAc,MAAQsC,EAAU,MAAQD,EAAS,MAAO,CAClE,MAAM7nC,GAAM,EAAI0nC,EAAgB,MAChC/2C,GAAIqP,EAAG,EAAI,CAAE,GAAIrP,GAAIqP,EAAG,EAAE,GAAI,GAAG4mC,EAAmBj2C,GAAIqP,EAAG,EAAE,GAAI,EAAI,CAAC,CACxE,CACA,GAAIp5B,GAASkhE,EAAU,MAAQF,EAAU,MAAO,CAC9C,MAAM5nC,GAAMrP,GAAI,QAAU,EAAIg3C,EAAe,OAC7Ch3C,GAAIqP,EAAG,EAAI,CAAE,GAAIrP,GAAIqP,EAAG,EAAE,GAAI,GAAG4mC,EAAmBj2C,GAAIqP,EAAG,EAAE,GAAI,EAAI,CAAC,CACxE,CACF,CACA,OAAOrP,EACT,CAAC,EACKzM,GAAWpb,EAAAA,SAAS,IAAM,CAC9B,MAAMm/D,EAASzC,EAAc,MACvB,CAAE,MAAA5+D,EAAK,EAAKi/D,EACZqC,GAAQ7H,EAAY,MACpB8H,GAAa/2D,EAAM,YAAc82D,IAAS,EAChD,GAAID,EAASC,GAAQN,EAAU,MAAQC,EAAS,MAC9C,MAAO,CACL,CAACD,EAAU,OAAS,CAACJ,GAAc,MAAQ,GAAe,KAC1D,GACA,GAAG,MAAM,KAAK,CAAE,OAAQS,GAAU,CAAC35D,GAAG5D,KAAUA,GAAQ,CAAC,EACzD,GACA,CAACm9D,EAAS,OAAS,CAACJ,EAAa,MAAQ,GAAc,IACjE,EAAU,OAAQvpD,IAAMA,KAAM,IAAI,EAE5B,MAAMqhD,GAAU,MAAM,KAAK,CAAE,OAAQ2I,GAAQ,GAAKV,GAAc,MAAQC,EAAa,MAAM,CAAE,EAuB7F,GAtBKD,GAAc,MASjBjI,GAAQ,CAAC,EAAI,GARRqI,EAAU,OAIbrI,GAAQ,CAAC,EAAI,GACbA,GAAQ,CAAC,EAAI,IAJbA,GAAQ,CAAC,EAAI,GACbA,GAAQ,CAAC,EAAI,IAQZkI,EAAa,MAShBlI,GAAQA,GAAQ,OAAS,CAAC,EAAI,GARzBsI,EAAS,OAIZtI,GAAQA,GAAQ,OAAS,CAAC,EAAI,GAC9BA,GAAQA,GAAQ,OAAS,CAAC,EAAI0I,IAJ9B1I,GAAQA,GAAQ,OAAS,CAAC,EAAI,GAC9BA,GAAQA,GAAQ,OAAS,CAAC,EAAI,IAQ9B34D,IAASkhE,EAAU,MAAQF,EAAU,MAAO,CAC9C,QAASl9D,GAAQ,EAAGA,IAASw9D,GAAOx9D,KAClC60D,GAAQ70D,GAAQ,EAAI88D,GAAc,KAAK,EAAI98D,GAAQk9D,EAAU,MAE1DO,KACH5I,GAAQA,GAAQ,QAAU,EAAIoI,EAAe,MAAM,EAAI,GAE3D,CACA,GAAI/gE,GAAQqhE,EAASH,EAAU,MAAQD,EAAS,MAAO,CACrD,MAAMl9B,GAAQs9B,GAAUC,GAAQ,GAAKL,EAAS,MAC9C,QAASn9D,GAAQ,EAAGA,GAAQw9D,GAAOx9D,KACjC60D,GAAQ70D,GAAQ,EAAI88D,GAAc,KAAK,EAAI78B,GAAQjgC,GAEhDy9D,KACH5I,GAAQ,EAAImI,EAAgB,KAAK,EAAI,GAEzC,CACA,GAAI,CAACnI,GAAQ,CAAC,EAAG,CACf,MAAM50B,GAAQ/jC,GAAQ,KAAK,MAAMshE,GAAQ,CAAC,EAC1C,QAASx9D,GAAQ,EAAGA,GAAQw9D,GAAOx9D,KACjC60D,GAAQ70D,GAAQ,EAAI88D,GAAc,KAAK,EAAI78B,GAAQjgC,GAEhDy9D,KACH5I,GAAQ,EAAImI,EAAgB,KAAK,EAAI,GACrCnI,GAAQA,GAAQ,QAAU,EAAIoI,EAAe,MAAM,EAAI,GAE3D,CACA,OAAOpI,GAAQ,OAAQrhD,IAAMA,KAAM,IAAI,CACzC,CAAC,EACD,MAAO,CAAC+W,EAAMC,MACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,KAAM,CAC3C,MAAOF,EAAAA,eAAe,CAAC,aAAcgiC,EAAuB,KAAK,CAAC,EAClE,KAAM,UACN,gBAAiB/kD,EAAAA,MAAMnB,CAAK,EAAE,SAC9B,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,WAAa,OACxC,UAAW0+C,CACnB,EAAS,EACA36B,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,WAAU,KAAM+uB,EAAAA,WAAWmc,GAAM,MAAO,CAAC1B,GAAM37D,MAC3EyqB,YAAS,EAAIK,qBAAmB,KAAMuG,EAAAA,WAAW,CACtD,IAAK,QAAQsqC,GAAK,EAAE,EAChC,EAAa,CAAE,QAAS,IAAQA,GAAK,GAAI,CAC7B,QAAS,GACT,IAAK,gBACL,aAAc37D,EAC1B,CAAW,EAAG,CACF27D,GAAK,KAAO,IAAkBA,GAAK,KAAO,IAAiBlxC,EAAAA,YAAaK,EAAAA,mBAAmB,OAAQuG,aAAW,CAC5G,IAAK,EACL,QAAS,EACvB,EAAekrC,EAAc,MAAM,IAAI,EAAG,CAC5BxxC,EAAAA,WAAWR,EAAK,OAAQ,gBAAiB,CAAA,EAAI,IAAM,CACjDS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,QAAMnB,CAAK,EAAE,cAAgB,KAAK,EAAG,CAAC,CACtF,CAAe,CACf,EAAe,EAAE,GAAK,WAAYi1D,IAAQlxC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwBgxC,GAAK,OAAO,EAAE,EAAGtqC,EAAAA,WAAW,CACzG,IAAK,EACL,QAAS,EACvB,EAAesqC,GAAK,OAAQ,CACd,QAASA,GAAK,YAC5B,CAAa,EAAG,CACF,QAAS9wC,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQoxC,GAAK,KAAK,KAAM,CACtC,SAAUA,GAAK,KAAK,SACpB,KAAMA,GAAK,KAAK,KAChB,MAAOA,GAAK,KAAK,MACjB,OAAQA,GAAK,KAAK,QAAU,GAC5B,QAASA,GAAK,KAAK,KACrC,EAAmB,IAAM,CACP3wC,EAAAA,gBAAgBC,EAAAA,gBAAgB0wC,GAAK,KAAK,KAAK,EAAG,CAAC,CACrE,CAAiB,CACjB,CAAe,EACD,EAAG,CACjB,EAAe,KAAM,CAAC,SAAS,CAAC,GAAKzwC,EAAAA,mBAAmB,GAAI,EAAI,CAChE,EAAa,GAAI2M,EAAU,EAClB,EAAG,GAAG,EACf,EAAS,GAAI5N,EAAU,EAErB,CACF,CAAC,ECxcKyzC,GAA4B,QAC5BxlD,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,eACR,MAAO,CACL,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,cAAe,CAAE,QAAS,IAAI,EAC9B,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,GAAI,CAAE,QAAS,MAAM,EACrB,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,WAAY,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,EAAK,EACrD,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,QAAS,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,EAAK,EAClD,aAAc,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,EAAK,EAC/D,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,EACxC,eAAgB,CAAE,KAAM,QAAS,QAAS,EAAK,EAC/C,QAAS,CAAE,QAAS,IAAI,EACxB,WAAY,CAAE,QAAS,MAAM,EAC7B,WAAY,CAAE,QAAS,MAAM,CACjC,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,cAAc,EAC1CkJ,EAAajM,GAAM,IAAMzgB,EAAM,EAAE,EACjC0jB,EAAeJ,GACnB5rB,EAAAA,SAAS,KAAO,CACd,cAAesI,EAAM,aAC7B,EAAQ,CACR,EACU2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrCsI,EAAM,WACN,QACA,UACA0jB,EAAa,MACb,CACE,OAAU1jB,EAAM,SAChB,iBAAkBA,EAAM,SACxB,mBAAoBA,EAAM,WAC1B,cAAeA,EAAM,WACrB,aAAcA,EAAM,KACpB,cAAeA,EAAM,MACrB,kBAAmBA,EAAM,UAAY,GACrC,CAAC,mBAAmBA,EAAM,OAAO,EAAE,EAAG,OAAOA,EAAM,SAAY,SAC/D,gBAAiBA,EAAM,QACvB,WAAYA,EAAM,MAClB,CAAC,SAASA,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,KAC9C,wBAAyBA,EAAM,eAC/B,gBAAiBA,EAAM,MACvB,6BAA8BA,EAAM,gBAC5C,CACA,CAAK,EACKi3D,EAAqBv/D,EAAAA,SAAS,KAAO,CACzC,GAAIg1B,EAAW,MACf,MAAO/I,EAAgB,MACvB,GAAG3jB,EAAM,UACf,EAAM,EACIk3D,EAAiBpc,GACrBpjD,EAAAA,SACE,KAAOsI,EAAM,eAAiB,GAAOg3D,GAA4Bh3D,EAAM,eAAiB,OAAO,GACvG,CACA,EACUm3D,EAAgBz/D,EAAAA,SAAS,IAAMsI,EAAM,eAAiB,EAAK,EAC3Do3D,EAAe1/D,EAAAA,SAAS,IAAMsI,EAAM,aAAe,IAASm3D,EAAc,KAAK,EAC/EE,EAAmB3/D,EAAAA,SACvB,IAAMy/D,EAAc,MAAQ,CAAE,UAAWD,EAAe,KAAK,EAAK,MACxE,EACUI,EAAoB5/D,EAAAA,SAAS,KAAO,CACxC,mBAAoBsI,EAAM,aAAe,GACzC,CAAC,oBAAoBA,EAAM,UAAU,EAAE,EAAG,OAAOA,EAAM,YAAe,SACtE,wBAAyBm3D,EAAc,KAC7C,EAAM,EACF,MAAO,CAACtzC,EAAMC,IACLszC,EAAa,OAASrzC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAClE,IAAK,EACL,MAAOF,EAAAA,eAAeozC,EAAkB,KAAK,EAC7C,MAAO5jC,EAAAA,eAAe2jC,EAAiB,KAAK,CACpD,EAAS,CACDjkC,EAAAA,mBAAmB,QAASE,EAAAA,eAAeC,EAAAA,mBAAmB0jC,EAAmB,KAAK,CAAC,EAAG,CACxF5yC,aAAWR,EAAK,OAAQ,SAAS,CAC3C,EAAW,EAAE,CACb,EAAS,CAAC,IAAME,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,QAASkP,EAAAA,eAAe3I,aAAW,CAAE,IAAK,CAAC,EAAIssC,EAAmB,KAAK,CAAC,EAAG,CACnH5yC,aAAWR,EAAK,OAAQ,SAAS,CACzC,EAAS,EAAE,EAET,CACF,CAAC,ECxFKsU,GAA8Bt4B,EAAAA,gBAAgB,CAEhD,aAAc,GAEhB,OAAQ,eACR,MAAO,CACL,UAAW,CAAE,QAAS,MAAM,EAC5B,KAAM,CAAE,QAAS,EAAE,EACnB,KAAM,CAAE,QAAS,IAAI,EACrB,IAAK,CAAE,QAAS,MAAM,EACtB,QAAS,CAAE,QAAS,IAAI,EACxB,MAAO,CAAE,QAAS,MAAM,EACxB,WAAY,CAAE,QAAS,MAAM,CACjC,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,cAAc,EAC1C+zC,EAAc7/D,EAAAA,SAClB,IAAMsI,EAAM,QAAU,OAAS,OAAS,OAAOA,EAAM,OAAU,SAAWA,EAAM,MAAM,WAAaA,EAAM,MAAM,QAAQ,IAAK,EAAE,CACpI,EACUw3D,EAAa9/D,EAAAA,SACjB,IAAMsI,EAAM,OAAS,OAAS,OAAS,OAAOA,EAAM,MAAS,SAAWA,EAAM,KAAK,SAAQ,EAAKA,EAAM,IAC5G,EACU0jB,EAAeJ,GACnB5rB,EAAAA,SAAS,KAAO,CACd,UAAWsI,EAAM,OACzB,EAAQ,CACR,EACU2jB,EAAkBjsB,EAAAA,SAAS,IAAM,CACrCgsB,EAAa,MACb,CACE,CAAC,OAAO8zC,EAAW,KAAK,EAAE,EAAGA,EAAW,QAAU,QAAUD,EAAY,QAAU,OAClF,CAAC,eAAev3D,EAAM,IAAI,EAAE,EAAGA,EAAM,OAAS,IACtD,CACA,CAAK,EACKimD,EAAiBvuD,EAAAA,SAAS,KAAO,CACrC,CAAC,eAAesI,EAAM,SAAS,EAAE,EAAGA,EAAM,YAAc,MAC9D,EAAM,EACI8rC,EAAgBp0C,EAAAA,SAAS,KAAO,CACpC,MAAO6/D,EAAY,QAAU,OAAS,OAAS,GAAGA,EAAY,KAAK,GACzE,EAAM,EACF,MAAO,CAAC1zC,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,UAAU,EAAG,CAChF,MAAOkkB,EAAAA,eAAe+hC,EAAe,KAAK,CAClD,EAAS,CACD,QAAS9hC,EAAAA,QAAQ,IAAM,EACpBJ,YAAS,EAAIC,EAAAA,YAAYC,0BAAwBJ,EAAK,GAAG,EAAG8G,EAAAA,WAAW9G,EAAK,OAAQ,CACnF,MAAO,CAAC,cAAeF,EAAgB,KAAK,EAC5C,MAAOmoB,EAAc,KACjC,CAAW,EAAG,KAAM,GAAI,CAAC,QAAS,OAAO,CAAC,EAC1C,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,OAAO,CAAC,EAEnB,CACF,CAAC,EACKtY,GAA8B3zB,EAAAA,gBAAgB,CAClD,OAAQ,qBACR,MAAO,CACL,UAAW,CAAE,QAAS,MAAM,EAC5B,KAAM,CAAE,QAAS,MAAM,EACvB,IAAK,CAAE,QAAS,KAAK,EACrB,QAAS,CAAE,QAAS,SAAS,EAC7B,MAAO,CAAE,QAAS,MAAM,CAC5B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,oBAAoB,EAChDG,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,CAAC,OAAOsI,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,IAClD,EAAM,EACF,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAYmU,GAAa,CAC3C,MAAOjU,EAAAA,eAAe,CAAC,eAAgBP,EAAgB,KAAK,CAAC,EAC7D,UAAWxiB,EAAAA,MAAMnB,CAAK,EAAE,UACxB,MAAOmB,EAAAA,MAAMnB,CAAK,EAAE,MACpB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,KACnB,IAAKmB,EAAAA,MAAMnB,CAAK,EAAE,IAClB,MAAO,CAAE,OAAU,OAAQ,iBAAkB,MAAM,CAC3D,EAAS,KAAM,EAAG,CAAC,QAAS,YAAa,QAAS,OAAQ,KAAK,CAAC,EAE9D,CACF,CAAC,EACK2rB,GAA8B9rB,EAAAA,gBAAgB,CAClD,OAAQ,mBACR,MAAO,CACL,UAAW,CAAE,QAAS,MAAM,EAC5B,gBAAiB,CAAE,QAAS,MAAM,EAClC,WAAY,CAAE,QAAS,IAAI,EAC3B,cAAe,CAAE,QAAS,MAAM,EAChC,YAAa,CAAE,QAAS,GAAG,EAC3B,gBAAiB,CAAE,QAAS,MAAM,EAClC,WAAY,CAAE,QAAS,IAAI,EAC3B,cAAe,CAAE,QAAS,MAAM,EAChC,YAAa,CAAE,QAAS,GAAG,EAC3B,cAAe,CAAE,QAAS,SAAS,EACnC,aAAc,CAAE,QAAS,KAAK,EAC9B,UAAW,CAAE,QAAS,GAAG,EACzB,OAAQ,CAAE,QAAS,MAAM,EACzB,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,KAAM,CAAE,QAAS,IAAI,EACrB,QAAS,CAAE,QAAS,MAAM,CAC9B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,kBAAkB,EAC9Ci0C,EAAe//D,EAAAA,SAAS,KAAO,CACnC,UAAWsI,EAAM,UACjB,KAAMA,EAAM,KACZ,QAASA,EAAM,OACrB,EAAM,EACI03D,EAAkBhgE,EAAAA,SAAS,IAAOsI,EAAM,SAAyBm4B,GAAd3E,EAAyB,EAClF,MAAO,CAAC3P,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAY27B,GAAa,CAC3C,gBAAiBx+C,EAAAA,MAAMnB,CAAK,EAAE,YACtC,EAAS80C,cAAY,CACb,QAAS3wB,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3C6H,EAAAA,YAAYyM,GAAaxN,aAAW,CAAE,KAAM,KAAO8sC,EAAa,KAAK,EAAG,KAAM,EAAE,EAChF/rC,EAAAA,YAAYyM,GAAaxN,aAAW,CAAE,KAAM,KAAO8sC,EAAa,KAAK,EAAG,KAAM,EAAE,EAChF/rC,EAAAA,YAAYyM,GAAaxN,aAAW,CAAE,KAAM,KAAO8sC,EAAa,KAAK,EAAG,KAAM,EAAE,EAChF/rC,EAAAA,YAAYyM,GAAaxN,aAAW,CAAE,KAAM,KAAO8sC,EAAa,KAAK,EAAG,KAAM,EAAE,EAChF/rC,cAAYyM,GAAaxN,EAAAA,WAAW,CAAE,KAAM,GAAG,EAAI8sC,EAAa,KAAK,EAAG,KAAM,EAAE,CAC5F,CAAW,CACX,CAAS,EACD,EAAG,CACX,EAAS,CACAt2D,EAAAA,MAAMnB,CAAK,EAAE,MAeV,OAfkB,CACpB,KAAM,MACN,GAAImkB,EAAAA,QAAQ,IAAM,CAChBE,EAAAA,WAAWR,EAAK,OAAQ,MAAO,CAAA,EAAI,IAAM,CACvC6H,EAAAA,YAAYg0B,GAAa,CACvB,MAAQv+C,CAAAA,EAAAA,MAAMnB,CAAK,EAAE,OACrB,cAAemB,EAAAA,MAAMnB,CAAK,EAAE,cAC5B,OAASmB,EAAAA,MAAMnB,CAAK,EAAE,OAAkC,OAAzBmB,QAAMnB,CAAK,EAAE,UAC5C,IAAKmB,EAAAA,MAAMnB,CAAK,EAAE,OAClB,gBAAiBmB,EAAAA,MAAMnB,CAAK,EAAE,aAC9B,MAAO,CAAE,OAAQ,MAAM,CACvC,EAAiB,KAAM,EAAG,CAAC,QAAS,cAAe,SAAU,MAAO,eAAe,CAAC,CACpF,CAAa,CACb,CAAW,EACD,IAAK,GACf,EACSmB,EAAAA,MAAMnB,CAAK,EAAE,SAaV,OAbqB,CACvB,KAAM,SACN,GAAImkB,EAAAA,QAAQ,IAAM,CAChBE,EAAAA,WAAWR,EAAK,OAAQ,SAAU,CAAA,EAAI,IAAM,CAC1C6H,EAAAA,YAAYyM,GAAa,CACvB,MAAOh3B,EAAAA,MAAMnB,CAAK,EAAE,YACpB,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,cACtB,UAAWmB,EAAAA,MAAMnB,CAAK,EAAE,gBACxB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,UACnC,EAAiB,KAAM,EAAG,CAAC,QAAS,UAAW,YAAa,MAAM,CAAC,CACnE,CAAa,CACb,CAAW,EACD,IAAK,GACf,EACSmB,EAAAA,MAAMnB,CAAK,EAAE,SAaV,OAbqB,CACvB,KAAM,SACN,GAAImkB,EAAAA,QAAQ,IAAM,CAChBE,EAAAA,WAAWR,EAAK,OAAQ,SAAU,CAAA,EAAI,IAAM,EACzCE,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwByzC,EAAgB,KAAK,EAAG,CACxE,MAAOv2D,EAAAA,MAAMnB,CAAK,EAAE,YACpB,UAAWmB,EAAAA,MAAMnB,CAAK,EAAE,gBACxB,KAAMmB,EAAAA,MAAMnB,CAAK,EAAE,SAAWmB,EAAAA,MAAMnB,CAAK,EAAE,WAAa,OACxD,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,aACtC,EAAiB,KAAM,EAAG,CAAC,QAAS,YAAa,OAAQ,SAAS,CAAC,EACnE,CAAa,CACb,CAAW,EACD,IAAK,GACf,CACA,CAAO,EAAG,KAAM,CAAC,eAAe,CAAC,EAE/B,CACF,CAAC,EACKwrB,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,oBACR,MAAO,CACL,UAAW,CAAE,QAAS,MAAM,EAC5B,UAAW,CAAE,QAAS,GAAG,EACzB,QAAS,CAAE,QAAS,CAAC,EACrB,gBAAiB,CAAE,QAAS,MAAM,EAClC,gBAAiB,CAAE,QAAS,GAAG,EAC/B,cAAe,CAAE,QAAS,MAAM,EAChC,WAAY,CAAE,QAAS,IAAI,EAC3B,cAAe,CAAE,QAAS,MAAM,EAChC,gBAAiB,CAAE,QAAS,MAAM,EAClC,gBAAiB,CAAE,QAAS,GAAG,EAC/B,cAAe,CAAE,QAAS,MAAM,EAChC,WAAY,CAAE,QAAS,IAAI,EAC3B,cAAe,CAAE,QAAS,MAAM,EAChC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,QAAS,CAAC,EAClB,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,KAAM,CAAE,QAAS,IAAI,EACrB,QAAS,CAAE,QAAS,MAAM,CAC9B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,mBAAmB,EAC/Cm0C,EAAkBx4D,GAAY,IAAMa,EAAM,OAAO,EACjD43D,EAAez4D,GAAY,IAAMa,EAAM,IAAI,EAC3C63D,EAAwBngE,EAAAA,SAAS,IAAMsI,EAAM,eAAiB,OAAO,GAAG,EACxE83D,EAAwBpgE,EAAAA,SAAS,IAAMsI,EAAM,eAAiB,OAAO,GAAG,EACxE+3D,EAAsB54D,GAAY04D,CAAqB,EACvDG,EAAsB74D,GAAY24D,CAAqB,EACvDG,EAAgBvgE,EAAAA,SAAS,IAAMigE,EAAgB,OAAS,CAAC,EACzD9G,EAAan5D,EAAAA,SAAS,IAAMkgE,EAAa,OAAS,CAAC,EACnDM,EAA8BxgE,EAAAA,SAClC,IAAMsI,EAAM,gBAAkB,OAASi4D,EAAc,MAAQF,EAAoB,KACvF,EACUI,EAA8BzgE,EAAAA,SAClC,IAAMsI,EAAM,gBAAkB,OAASi4D,EAAc,MAAQD,EAAoB,KACvF,EACI,MAAO,CAACn0C,EAAMC,KACLC,YAAS,EAAIC,cAAYs7B,GAAa,KAAM,CACjD,QAASn7B,EAAAA,QAAQ,IAAM,CACpBhjB,QAAMnB,CAAK,EAAE,SAeTwkB,EAAAA,mBAAmB,GAAI,EAAI,EAfPH,EAAAA,WAAWR,EAAK,OAAQ,QAAS,CAAE,IAAK,CAAC,EAAI,IAAM,CAC1EuP,EAAAA,mBAAmB,QAAS,KAAM,CAChCA,EAAAA,mBAAmB,KAAM,KAAM,EAC5BrP,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,WAAU,KAAM+uB,EAAAA,WAAW0d,EAA4B,MAAO,CAACh7D,EAAGyN,KAC9FoZ,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,KAAM,CAAE,IAAKzZ,GAAK,CACvD+gB,EAAAA,YAAYyM,GAAa,CACvB,KAAMh3B,EAAAA,MAAMnB,CAAK,EAAE,WACnB,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,cACtB,UAAWmB,EAAAA,MAAMnB,CAAK,EAAE,gBACxB,MAAOmB,EAAAA,MAAMnB,CAAK,EAAE,eAC1C,EAAuB,KAAM,EAAG,CAAC,OAAQ,UAAW,YAAa,OAAO,CAAC,CACzE,CAAmB,EACF,EAAG,GAAG,EACvB,CAAe,CACf,CAAa,CACb,CAAW,EACDqkB,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAA,EAAI,IAAM,CAC3CuP,EAAAA,mBAAmB,QAAS,KAAM,EAC/BrP,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,WAAU,KAAM+uB,EAAAA,WAAWqW,EAAW,MAAO,CAAC3zD,EAAGk7D,KAC7Er0C,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,KAAM,CAAE,IAAKg0C,GAAK,EACtDr0C,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,WAAU,KAAM+uB,EAAAA,WAAWyd,EAAc,MAAO,CAACI,EAAI,KACjFt0C,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,KAAM,CAAE,IAAK,GAAK,CACvDsH,EAAAA,YAAYyM,GAAa,CACvB,KAAMh3B,EAAAA,MAAMnB,CAAK,EAAE,KACnB,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,QACtB,UAAWmB,EAAAA,MAAMnB,CAAK,EAAE,UACxB,MAAOmB,EAAAA,MAAMnB,CAAK,EAAE,SAC5C,EAAyB,KAAM,EAAG,CAAC,OAAQ,UAAW,YAAa,OAAO,CAAC,CAC3E,CAAqB,EACF,EAAG,GAAG,EACzB,CAAiB,EACF,EAAG,GAAG,EACrB,CAAa,CACb,CAAW,EACDmB,EAAAA,MAAMnB,CAAK,EAAE,WAAaqkB,aAAWR,EAAK,OAAQ,QAAS,CAAE,IAAK,CAAC,EAAI,IAAM,CAC3EuP,EAAAA,mBAAmB,QAAS,KAAM,CAChCA,EAAAA,mBAAmB,KAAM,KAAM,EAC5BrP,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,WAAU,KAAM+uB,EAAAA,WAAW2d,EAA4B,MAAO,CAACj7D,EAAGo7D,KAC9Fv0C,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,KAAM,CAAE,IAAKk0C,GAAK,CACvD5sC,EAAAA,YAAYyM,GAAa,CACvB,KAAMh3B,EAAAA,MAAMnB,CAAK,EAAE,WACnB,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,cACtB,UAAWmB,EAAAA,MAAMnB,CAAK,EAAE,gBACxB,MAAOmB,EAAAA,MAAMnB,CAAK,EAAE,eAC1C,EAAuB,KAAM,EAAG,CAAC,OAAQ,UAAW,YAAa,OAAO,CAAC,CACzE,CAAmB,EACF,EAAG,GAAG,EACvB,CAAe,CACf,CAAa,CACb,CAAW,EAAIwkB,EAAAA,mBAAmB,GAAI,EAAI,CAC1C,CAAS,EACD,EAAG,CACX,CAAO,EAEL,CACF,CAAC,EACKhT,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,sBACR,MAAO,CACL,QAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAC5C,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,qBAAqB,EACvD,MAAO,CAACK,EAAMC,IACL3iB,EAAAA,MAAMnB,CAAK,EAAE,QAAUqkB,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAE,IAAK,EAAG,EAAIQ,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAE,IAAK,EAAG,CAEhI,CACF,CAAC,EC7RKrS,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,uBACR,MAAO,CACL,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,WAAY,CAAE,QAAS,MAAM,CACjC,EACE,MAAM2jB,EAAS,CAAE,OAAQ6N,CAAQ,EAAI,CAEnC,MAAMrxB,EAAQqjB,EADCG,EACmB,sBAAsB,EAClD0uC,EAAQnd,GAAU,EACxB,IAAIod,EAAqB,GACzB,OAAKD,EAAM,yBAAyB,QAClCC,EAAqB,IAEnB,QAAQ,IAAI,WAAa,eAC3B,QAAQ,KAAK,+DAA+D,EAE9E9gC,EAAS,CACP,GAAG6gC,CACT,CAAK,EACM,CAACruC,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAYwH,GAAa,CAC3C,GAAIrqB,EAAAA,MAAMnB,CAAK,EAAE,WACjB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,gBAC/B,EAAS,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBhjB,QAAMgxD,CAAkB,GAAKpuC,YAAS,EAAIC,EAAAA,YAAY2H,GAAa2H,EAAAA,eAAe3I,EAAAA,WAAW,CAAE,IAAK,GAAK9G,EAAK,MAAM,CAAC,EAAG,KAAM,EAAE,GAAKW,qBAAmB,GAAI,EAAI,CAC1K,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,KAAM,UAAU,CAAC,EAE5B,CACF,CAAC,EC7BK+zC,GAAa,CAAC9nD,EAAM+nD,EAAUC,IAAc,CAChD,MAAMh/D,EAAMqrB,GAAIrU,EAAM+nD,CAAQ,EAC9B,OAAOC,GAAa,OAAOA,GAAc,WAAaA,EAAUh/D,EAAK++D,EAAU/nD,CAAI,EAAIhX,CACzF,EACMi/D,GAAeljE,GAAU,OAAOA,GAAU,UAAYA,IAAU,KAChEmjE,GAAgBnjE,GAAU,OAAOA,GAAU,UAAYA,IAAU,MAAQ,QAASA,EAClFiqD,GAA8B5/C,EAAAA,gBAAgB,CAClD,OAAQ,SACR,MAAO,CACL,QAAS,CAAE,QAAS,IAAI,CAC5B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,QAAQ,EACpCG,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,CAAC,SAASsI,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,IACpD,EAAM,EACF,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,QAAS,CAC9C,MAAOF,EAAAA,eAAeP,EAAgB,KAAK,CACnD,EAAS,CACDU,aAAWR,EAAK,OAAQ,SAAS,CACzC,EAAS,CAAC,EAER,CACF,CAAC,EACK+0C,GAAe,CAAC,UAAW,UAAW,YAAY,EAClDC,GAAe,CAAE,IAAK,CAAC,EACvBvZ,GAA8Bz/C,EAAAA,gBAAgB,CAClD,OAAQ,MACR,MAAO,CACL,QAAS,CAAE,QAAS,MAAM,EAC1B,QAAS,CAAE,QAAS,MAAM,EAC1B,eAAgB,CAAE,QAAS,MAAM,EACjC,aAAc,CAAE,KAAM,QAAS,QAAS,EAAK,EAC7C,QAAS,CAAE,QAAS,IAAI,CAC5B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,KAAK,EACjCG,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,CAAC,SAASsI,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,KAC9C,wBAAyBA,EAAM,aAC/B,wBAAyBA,EAAM,cAAgBA,EAAM,UAAY,IACvE,EAAM,EACF,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,KAAM,CAC3C,MAAOF,EAAAA,eAAeP,EAAgB,KAAK,EAC3C,QAASxiB,EAAAA,MAAMnB,CAAK,EAAE,QACtB,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,QACtB,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,cACnC,EAAS,CACDmB,EAAAA,MAAMnB,CAAK,EAAE,gBAAkB+jB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAOy0C,GAAc,CAClFx0C,aAAWR,EAAK,OAAQ,SAAS,CAC3C,CAAS,GAAKQ,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAE,IAAK,CAAC,CAAE,CAC3D,EAAS,GAAI+0C,EAAY,EAEvB,CACF,CAAC,EACKlZ,GAA8B7/C,EAAAA,gBAAgB,CAClD,OAAQ,SACR,MAAO,CACL,QAAS,CAAE,QAAS,IAAI,CAC5B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,QAAQ,EACpCG,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,CAAC,SAASsI,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,IACpD,EAAM,EACF,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,QAAS,CAC9C,MAAOF,EAAAA,eAAeP,EAAgB,KAAK,CACnD,EAAS,CACDU,aAAWR,EAAK,OAAQ,SAAS,CACzC,EAAS,CAAC,EAER,CACF,CAAC,EACKi1C,GAAe,CAAC,QAAS,UAAW,UAAW,YAAY,EAC3DC,GAAe,CAAE,IAAK,CAAC,EACvBpZ,GAA8B9/C,EAAAA,gBAAgB,CAClD,OAAQ,MACR,MAAO,CACL,QAAS,CAAE,QAAS,MAAM,EAC1B,QAAS,CAAE,QAAS,MAAM,EAC1B,eAAgB,CAAE,QAAS,MAAM,EACjC,aAAc,CAAE,KAAM,QAAS,QAAS,EAAK,EAC7C,QAAS,CAAE,QAAS,IAAI,EACxB,MAAO,CAAE,QAAS,MAAM,CAC5B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,KAAK,EACjCG,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,CAAC,SAASsI,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,KAC9C,wBAAyBA,EAAM,aAC/B,wBAAyBA,EAAM,cAAgBA,EAAM,UAAY,IACvE,EAAM,EACIg5D,EAAathE,EAAAA,SACjB,IAAMsI,EAAM,MAAQA,EAAM,MAAQA,EAAM,QAAU,WAAaA,EAAM,QAAU,WAAa,KAClG,EACI,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,KAAM,CAC3C,MAAO40C,EAAW,MAClB,MAAO90C,EAAAA,eAAeP,EAAgB,KAAK,EAC3C,QAASxiB,EAAAA,MAAMnB,CAAK,EAAE,QACtB,QAASmB,EAAAA,MAAMnB,CAAK,EAAE,QACtB,aAAcmB,EAAAA,MAAMnB,CAAK,EAAE,cACnC,EAAS,CACDmB,QAAMnB,CAAK,EAAE,iBAAmB,QAAU+jB,EAAAA,YAAaK,EAAAA,mBAAmB,MAAO20C,GAAc,CAC7F10C,aAAWR,EAAK,OAAQ,SAAS,CAC3C,CAAS,GAAKQ,EAAAA,WAAWR,EAAK,OAAQ,UAAW,CAAE,IAAK,CAAC,CAAE,CAC3D,EAAS,GAAIi1C,EAAY,EAEvB,CACF,CAAC,EACK3gC,GAA8Bt4B,EAAAA,gBAAgB,CAClD,OAAQ,SACR,MAAO,CACL,QAAS,CAAE,QAAS,IAAI,CAC5B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,QAAQ,EACpCG,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,CAAC,SAASsI,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,IACpD,EAAM,EACF,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,QAAS,CAC9C,MAAOF,EAAAA,eAAeP,EAAgB,KAAK,CACnD,EAAS,CACDU,aAAWR,EAAK,OAAQ,SAAS,CACzC,EAAS,CAAC,EAER,CACF,CAAC,EACK2P,GAA8B3zB,EAAAA,gBAAgB,CAClD,OAAQ,MACR,MAAO,CACL,QAAS,CAAE,QAAS,IAAI,CAC5B,EACE,MAAM2jB,EAAS,CAEb,MAAMxjB,EAAQqjB,EADCG,EACmB,KAAK,EACjCG,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,CAAC,SAASsI,EAAM,OAAO,EAAE,EAAGA,EAAM,UAAY,IACpD,EAAM,EACF,MAAO,CAAC6jB,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,KAAM,CAC3C,MAAOF,EAAAA,eAAeP,EAAgB,KAAK,CACnD,EAAS,CACDU,aAAWR,EAAK,OAAQ,SAAS,CACzC,EAAS,CAAC,EAER,CACF,CAAC,EACKo1C,GAAkB,CAAC,KAAM,KAAM,IAAI,EACnC78D,GAAc,CAClB,IACA,MAEA,SACA,WAEA,uCACA,wCACA,0CACA,gBACA,kBACA,kBACA,oBACA,2CACF,EAAE,KAAK,GAAG,EACJ88D,GAAep4D,GAAU,CAC7B,GAAI,CAACA,GAAS,CAACA,EAAM,OACnB,MAAO,GAET,MAAMD,EAAKC,EAAM,OACjB,GAAI,aAAcD,GAAMA,EAAG,UAAYo4D,GAAgB,QAAQp4D,EAAG,OAAO,IAAM,GAC7E,MAAO,GAET,GAAIA,EAAG,QAAQ,gBAAgB,EAAG,MAAO,GACzC,MAAMwvB,EAAQxvB,EAAG,UAAY,QAAUA,EAAKA,EAAG,QAAQ,OAAO,EAC9D,GAAIwvB,EAAO,CACT,MAAM8oC,EAAW9oC,EAAM,aAAa,KAAK,EACnCmkB,EAAQ2kB,EAAW,SAAS,eAAeA,CAAQ,EAAI9oC,EAAM,cAAc,yBAAyB,EAC1G,GAAImkB,GAAS,CAACA,EAAM,SAClB,MAAO,EAEX,CACA,OAAO3zC,EAAG,QAAQzE,EAAW,CAC/B,EACMqnD,GAAe,CAAE,IAAK,CAAC,EACvB2V,GAAe,CACnB,IAAK,EACL,MAAO,uBACT,EACMje,GAAa,CAAE,MAAO,oDAAoD,EAC1EC,GAAa,CAAE,IAAK,CAAC,EACrBzvB,GAA8B9rB,EAAAA,gBAAgB,CAClD,OAAQ,aACR,MAAO,CACL,MAAO,CAAE,QAAS,MAAM,EACxB,QAAS,CAAE,QAAS,MAAM,EAC1B,eAAgB,CAAE,QAAS,MAAM,EACjC,iBAAkB,CAAE,KAAM,CAAC,SAAU,OAAQ,OAAQ,KAAK,EAAG,QAAS,MAAM,EAC5E,OAAQ,CAAE,QAAS,IAAM,EAAE,EAC3B,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,eAAgB,CAAE,QAAS,MAAM,EACjC,YAAa,CAAE,QAAS,MAAM,EAC9B,eAAgB,CAAE,QAAS,MAAM,EACjC,YAAa,CAAE,QAAS,MAAM,EAC9B,MAAO,CAAE,QAAS,IAAM,EAAE,EAC1B,aAAc,CAAE,KAAM,QAAS,QAAS,EAAK,EAC7C,WAAY,CAAE,QAAS,MAAM,EAC7B,WAAY,CAAE,QAAS,MAAM,EAC7B,WAAY,CAAE,QAAS,MAAM,EAC7B,aAAc,CAAE,KAAM,CAAC,SAAU,MAAM,EAAG,QAAS,MAAM,EACzD,aAAc,CAAE,KAAM,CAAC,SAAU,OAAQ,MAAO,MAAM,EAAG,QAAS,MAAM,EACxE,WAAY,CAAE,QAAS,MAAM,EAC7B,aAAc,CAAE,QAAS,MAAM,EAC/B,WAAY,CAAE,QAAS,MAAM,EAC7B,aAAc,CAAE,QAAS,MAAM,EAC/B,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,WAAY,CAAE,KAAM,QAAS,QAAS,MAAM,EAC5C,cAAe,CAAE,QAAS,MAAM,EAChC,WAAY,CAAE,KAAM,QAAS,QAAS,MAAM,EAC5C,KAAM,CAAE,KAAM,QAAS,QAAS,MAAM,EACtC,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,GAAI,CAAE,QAAS,MAAM,EACrB,iBAAkB,CAAE,KAAM,QAAS,QAAS,MAAM,EAClD,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,WAAY,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,MAAM,EACtD,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,QAAS,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,MAAM,EACnD,aAAc,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAChE,QAAS,CAAE,KAAM,QAAS,QAAS,MAAM,EACzC,eAAgB,CAAE,KAAM,QAAS,QAAS,MAAM,EAChD,QAAS,CAAE,QAAS,MAAM,EAC1B,WAAY,CAAA,EACZ,WAAY,CAAE,QAAS,MAAM,CACjC,EACE,MAAO,CAAC,eAAgB,cAAe,iBAAkB,kBAAmB,cAAe,gBAAiB,oBAAoB,EAChI,MAAM2jB,EAAS,CAAE,KAAMuG,CAAM,EAAI,CAE/B,MAAM/pB,EAAQqjB,EADCG,EACmB,YAAY,EACxCwG,EAAOD,EACPjqB,EAAQ2jB,EAAAA,SAAQ,EAChB41C,EAAqB7hE,EAAAA,OAAOJ,GAA4B,IAAI,EAC5Ds1B,EAAajM,GAAM,IAAMzgB,EAAM,EAAE,EACjCs5D,EAAuB7oD,GAAS,CACpCA,EACAA,EAAK,YACX,EACU8oD,EAAaj/D,EAAAA,IAAoB,IAAI,OAAS,EACpDzC,EAAAA,MACE,IAAMmI,EAAM,MACXqD,GAAU,CACTA,EAAM,QAASoN,GAAS,CACjBioD,GAAYjoD,CAAI,GACrB8oD,EAAW,MAAM,IAAI,GAAGD,EAAoB7oD,CAAI,CAAC,CACnD,CAAC,CACH,EACA,CAAE,KAAM,GAAM,UAAW,EAAI,CACnC,EACI,MAAM+oD,EAAuB9hE,EAAAA,SAAS,IAAM,CAC1CsI,EAAM,WACN,CACE,CAAC,SAASA,EAAM,KAAK,EAAE,EAAGA,EAAM,QAAU,MAClD,CACA,CAAK,EACKy5D,EAAiB/hE,EAAAA,SAAS,IAAM,CACpC,GAAI,CAACsI,EAAM,OAAO,QAAUA,EAAM,MAAM,OAAQ,CAC9C,KAAM,CAAC05D,CAAS,EAAI15D,EAAM,MAC1B,OAAI05D,IAAchB,GAAYgB,CAAS,GAAK,MAAM,QAAQA,CAAS,GAC1D,OAAO,KAAKA,CAAS,EAAE,IAAKxzD,GAAM,CACvC,MAAMmqB,EAAQtJ,GAAU7gB,CAAC,EACzB,MAAO,CACL,IAAKA,EACL,MAAAmqB,EACA,OAAQD,GAAiBpwB,EAAOqwB,CAAK,CACnD,CACU,CAAC,EAEI,CAAC,CAAE,IAAK,GAAI,UAAW,EAAI,CAAE,CACtC,CACA,OAAOrwB,EAAM,OAAO,IAAK25D,GAAM,CAC7B,GAAIhB,GAAagB,CAAC,EAAG,CACnB,MAAMC,EAASD,EAAE,OAAS5yC,GAAU4yC,EAAE,GAAG,EACzC,MAAO,CACL,GAAGA,EACH,OAAQ,CAAE,GAAGvpC,GAAiBpwB,EAAO45D,CAAM,EAAG,GAAGD,EAAE,MAAM,CACrE,CACQ,CACA,MAAMtpC,EAAQtJ,GAAU4yC,CAAC,EACzB,MAAO,CACL,IAAKA,EACL,MAAAtpC,EACA,OAAQD,GAAiBpwB,EAAOqwB,CAAK,CAC/C,CACM,CAAC,CACH,CAAC,EACKwpC,EAAsBniE,EAAAA,SAAS,IAAM+hE,EAAe,MAAM,MAAM,EAChEK,EAAsBpiE,EAAAA,SAAS,IAC/B,EAAAmiE,EAAoB,MAAQ,GAAKJ,EAAe,MAAM,MAAO54D,GAAOA,EAAG,YAAc,EAAI,EAG9F,EACKk5D,EAAcriE,EAAAA,SAAS,KAAO,CAClC,QAASsI,EAAM,aAAeA,EAAM,YACpC,MAAOA,EAAM,YAAcA,EAAM,UACvC,EAAM,EACIg6D,EAAwBzhE,GAAQuH,EAAM,QAAQ,OAAOvH,CAAG,CAAC,GAAG,EAAI,QAAQ,OAAOA,CAAG,CAAC,IAAMuH,EAAM,QAAQ,EAAI,SAAWA,EAAM,QAAQ,OAAOvH,CAAG,CAAC,GAAG,EAAI,QAAQ,OAAOA,CAAG,CAAC,IAAM,SAC/K0hE,EAAiB,CAACxpD,EAAM+nD,EAAU0B,IAAS,CAC/C,MAAMzgE,EAAMqrB,GAAIrU,EAAM+nD,CAAQ,EAC9B,OAAO0B,GAAQ,OAAOA,GAAS,WAAaA,EAAKzgE,EAAK++D,EAAU/nD,CAAI,EAAIypD,CAC1E,EACMC,EAAa,CAAC1pD,EAAMwf,EAAO1nB,IAAS,CACxC,MAAMiwD,EAAW,OAAOvoC,EAAM,GAAG,EAC3Bx2B,EAAMqrB,GAAIrU,EAAM+nD,CAAQ,EAC9B,OAAOvoC,EAAM,QAAU,OAAOA,EAAM,QAAW,WAAaA,EAAM,OAAOx2B,EAAK++D,EAAU/nD,EAAMlI,CAAI,EAAI0nB,EAAM,MAC9G,EACMmqC,EAAgB,CAACnqC,EAAOnvB,EAAOu5D,EAAW,KAAU,CACxDrwC,EAAK,eAAgBiG,EAAM,IAAKA,EAAOnvB,EAAOu5D,CAAQ,CACxD,EACMC,EAAoBC,GAAO,CAC/B,GAAI7B,GAAY6B,CAAE,EAAG,CACnB,MAAMC,EAAYjB,EAAW,MAAM,IAAIgB,CAAE,EACzChB,EAAW,MAAM,IAAIgB,EAAI,CAACC,CAAS,EACnCD,EAAG,aAAe,CAACC,CACrB,CACF,EACMC,EAAyBxqC,GAAU,CACvCA,EAAM,MACNA,EAAM,QACN,CACE,wBAAyBA,EAAM,YACvC,EACMjwB,EAAM,iBAAmB,OAAOA,EAAM,kBAAqB,WAAaA,EAAM,iBAAiBiwB,CAAK,EAAIjwB,EAAM,iBAAmB,IACvI,EACU06D,EAAqB,CAACzqC,EAAOsqC,IAAO,SACxC,MAAM9gE,EAAMqrB,GAAIy1C,EAAI,OAAOtqC,EAAM,GAAG,CAAC,EACrC,MAAO,CACLA,EAAM,MACN,OAAOA,EAAM,SAAY,WAAaA,EAAM,QAAQx2B,EAAK,OAAOw2B,EAAM,GAAG,EAAGsqC,CAAE,EAAItqC,EAAM,QACvFyoC,GAAY6B,CAAE,IAAIjiE,EAAAiiE,EAAG,gBAAH,MAAAjiE,EAAmB23B,EAAM,KAAgB,UAASj2B,EAAAugE,EAAG,gBAAH,YAAAvgE,EAAmBi2B,EAAM,IAAI,GAAK,KACvG,CACE,wBAAyBA,EAAM,YACzC,CACA,CACI,EACM0qC,EAAoB,CAAClqD,EAAMD,EAAW1P,IAAU,CAChDA,EAAM,SAAW,GAAK,CAACo4D,GAAYp4D,CAAK,GAC1CkpB,EAAK,qBAAsBvZ,EAAMD,EAAW1P,CAAK,CAErD,EACM85D,EAAmB,CAACnqD,EAAMlI,IAASvI,EAAM,aAAe,OAAOA,EAAM,cAAiB,WAAaA,EAAM,aAAayQ,EAAMlI,CAAI,EAAIvI,EAAM,aAAe,KACzJ66D,EAAgB,CAACpqD,EAAMlI,IAASvI,EAAM,aAAe,OAAOA,EAAM,cAAiB,WAAaA,EAAM,aAAayQ,EAAMlI,CAAI,EAAIvI,EAAM,aAAe,KACtJ86D,EAAsBC,GAAoB,GAAGruC,EAAW,KAAK,SAASquC,CAAe,GACrFC,EAAoB/qC,GACpBA,GAAA,MAAAA,EAAO,YACF0vB,GAEFL,GAEH2b,EAA2BhrC,GAAU,CAAC,EAAEopC,GAAA,MAAAA,EAAoB,iBAAiB,OAASppC,EAAM,WAAa,IACzGirC,EAAuBxjE,EAAAA,SAC3B,IAAM,CAAC,EAAE2hE,GAAA,MAAAA,EAAoB,cAAc,OAASr5D,EAAM,MAAM,OAAS,EAC/E,EACUm7D,EAAsB,CAAClrC,EAAOnvB,EAAOu5D,EAAW,KAAU,CAC9D,KAAM,CAAE,OAAA/9D,EAAQ,KAAAqiD,CAAI,EAAK79C,EACrBxE,GAAUA,EAAO,UAAY,MAAQ,SAAS,gBAAkBA,IAChEqiD,IAAS,SAAWA,IAAS,eAAiBA,IAAS,WACzDb,GAAUh9C,CAAK,EACfs5D,EAAcnqC,EAAOnvB,EAAOu5D,CAAQ,EAExC,EACMe,EAAmB,CAAC3qD,EAAMD,EAAW1P,IAAU,CACnD,KAAM,CAAE,OAAAxE,EAAQ,KAAAqiD,EAAM,SAAAC,CAAQ,EAAK99C,EACnC,GAAI,EAAAxE,GAAUA,EAAO,UAAY,MAAQ,SAAS,gBAAkBA,GACpE,IAAIqiD,IAAS,SAAWA,IAAS,eAAiBA,IAAS,QAAS,CAClEb,GAAUh9C,CAAK,EACfkpB,EAAK,cAAevZ,EAAMD,EAAW1P,CAAK,EAC1C,MACF,EACI69C,IAAS94B,IAAa84B,IAASv4B,IAAWu4B,IAAS54B,IAAa44B,IAAS74B,MAC3Eg4B,GAAUh9C,CAAK,EACfu6D,EAAoB1c,EAAMC,EAAUpuC,CAAS,GAEjD,EACM6qD,EAAsB,CAAC1c,EAAMC,EAAUpf,IAAiB,CAC5D,MAAMmxB,EAAO,MAAM,KACjB,SAAS,iBAAiB,IAAIjkC,EAAW,KAAK,qBAAqB,CAC3E,EACM,GAAIikC,EAAK,SAAW,EAAG,OACvB,IAAI2K,EAAc97B,EACdmf,IAAS94B,GACP+4B,EACF0c,EAAc3K,EAAK,OAAS,EAE5B2K,EAAc,KAAK,IAAI97B,EAAe,EAAGmxB,EAAK,OAAS,CAAC,EAEjDhS,IAASv4B,GACdw4B,EACF0c,EAAc,EAEdA,EAAc,KAAK,IAAI97B,EAAe,EAAG,CAAC,EAEnCmf,IAAS74B,GAClBw1C,EAAc3K,EAAK,OAAS,EACnBhS,IAAS54B,KAClBu1C,EAAc,GAEZA,IAAgB97B,GAAgBmxB,EAAK2K,CAAW,GAClD3K,EAAK2K,CAAW,EAAE,MAAK,CAE3B,EACMC,EAAsB7jE,EAAAA,SAAS,KAAO,CAC1C,GAAGktB,GAAK5kB,EAAOkwB,EAAiB,EAChC,WAAYspC,EAAqB,MACjC,GAAI9sC,EAAW,KACrB,EAAM,EACF,MAAO,CAAC7I,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAYw3C,GAAaloC,EAAAA,eAAeC,qBAAmBgoC,EAAoB,KAAK,CAAC,EAAG,CAC1G,QAASp3C,EAAAA,QAAQ,IAAM,CACrBrkB,EAAM,gBAAgB,GAAKikB,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,WAAYq/B,GAAc,CACnFp/B,EAAAA,WAAWR,EAAK,OAAQ,iBAAkB,CAAE,OAAQ41C,EAAe,KAAK,CAAE,CACtF,CAAW,GAAKj1C,EAAAA,mBAAmB,GAAI,EAAI,EACjC2O,EAAAA,eAAezH,EAAAA,YAAYyM,GAAa,CACtC,QAASh3B,EAAAA,MAAMnB,CAAK,EAAE,YACtB,MAAOkkB,EAAAA,eAAe/iB,QAAMnB,CAAK,EAAE,UAAU,CACzD,EAAa,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,YAAa,CACnC,QAASg2C,EAAoB,MAC7B,OAAQJ,EAAe,KACvC,CAAe,EACD/tC,EAAAA,YAAY8H,GAAa,CACvB,QAASryB,EAAAA,MAAMnB,CAAK,EAAE,eACtB,MAAOkkB,EAAAA,eAAe/iB,QAAMnB,CAAK,EAAE,YAAY,CAC/D,EAAiB,CACD,QAASmkB,EAAAA,QAAQ,IAAM,EACpBJ,YAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,EAAAA,SAAU,KAAM+uB,EAAAA,WAAWif,EAAe,MAAQxpC,IAC9ElM,YAAS,EAAIC,cAAY27B,GAAah1B,EAAAA,WAAW,CACtD,IAAKsF,EAAM,IACX,MAAOA,EAAM,MACb,MAAOwqC,EAAsBxqC,CAAK,EAClC,MAAOA,EAAM,YACb,QAASA,EAAM,QACf,KAAMA,EAAM,WACZ,MAAOA,EAAM,QACb,SAAUgrC,EAAwBhrC,CAAK,EAAI,IAAM,MACvE,EAAuB,CAAE,QAAS,EAAI,EAAIkqC,EAAW,KAAMlqC,EAAO,KAAK,EAAG,CACpD,QAAUrE,GAAWwuC,EAAcnqC,EAAOrE,CAAM,EAChD,UAAYA,GAAWuvC,EAAoBlrC,EAAOrE,CAAM,CAC9E,CAAqB,EAAG,CACF,QAASzH,EAAAA,QAAQ,IAAM,CACrBE,EAAAA,WACER,EAAK,OACL/jB,EAAM,QAAQ,OAAOmwB,EAAM,GAAG,CAAC,GAAG,EAAI,QAAQ,OAAOA,EAAM,GAAG,CAAC,IAAM,SACrE,CACE,MAAOA,EAAM,MACb,OAAQA,EAAM,IACd,MAAAA,EACA,OAAQ,EACpC,EAC0B,IAAM,CACJ3L,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAM6uB,EAAsB,EAAEC,CAAK,CAAC,EAAG,CAAC,CACpG,CACA,CACA,CAAuB,EACD,EAAG,CACzB,EAAuB,KAAM,CAAC,QAAS,QAAS,QAAS,UAAW,OAAQ,QAAS,WAAY,UAAW,WAAW,CAAC,EACrG,EAAG,GAAG,EACzB,CAAiB,EACD,EAAG,CACnB,EAAiB,EAAG,CAAC,UAAW,OAAO,CAAC,EAC1BnwB,EAAM,WAAW,GAAKikB,YAAS,EAAIC,EAAAA,YAAYwP,GAAa,CAAE,IAAK,GAAK,CACtE,QAASrP,EAAAA,QAAQ,IAAM,EACpBJ,YAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,EAAAA,SAAU,KAAM+uB,EAAAA,WAAWif,EAAe,MAAQxpC,IAC9ElM,EAAAA,UAAS,EAAIC,EAAAA,YAAYs7B,GAAa,CAC3C,IAAKrvB,EAAM,IACX,MAAO,MACP,QAASA,EAAM,QACf,MAAO/L,EAAAA,eAAe,CAAC+L,EAAM,MAAOA,EAAM,OAAO,CAAC,CACxE,EAAuB,CACD,QAAS9L,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,YAAa,CACnC,MAAO1iB,EAAAA,MAAMnB,CAAK,EAAE,MACpB,OAAQy5D,EAAe,MACvB,MAAAxpC,CAC1B,EAA2B,IAAM,CACP3L,EAAAA,gBAAgBC,EAAAA,gBAAgB0L,EAAM,KAAK,EAAG,CAAC,CACzE,CAAyB,CACzB,CAAuB,EACD,EAAG,CACzB,EAAuB,KAAM,CAAC,UAAW,OAAO,CAAC,EAC9B,EAAG,GAAG,EACzB,CAAiB,EACD,EAAG,CACnB,CAAe,GAAKzL,EAAAA,mBAAmB,GAAI,EAAI,CAC/C,CAAa,EACD,EAAG,CACf,EAAa,EAAG,CAAC,UAAW,OAAO,CAAC,EAAG,CAC3B,CAACiP,EAAAA,MAAOqmC,EAAoB,KAAK,CAC7C,CAAW,EACDpuC,EAAAA,YAAY+zB,GAAa,CACvB,MAAOv7B,EAAAA,eAAe/iB,QAAMnB,CAAK,EAAE,UAAU,CACzD,EAAa,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,cAAe,CACrC,OAAQ41C,EAAe,MACvB,MAAOt4D,EAAAA,MAAMnB,CAAK,EAAE,MACpB,QAAS65D,EAAoB,KAC7C,EAAiB,IAAM,CACP,CAAC14D,QAAMnB,CAAK,EAAE,SAAWF,EAAM,SAAS,GAAKikB,YAAS,EAAIC,cAAYwP,GAAa7I,EAAAA,WAAW,CAC5F,IAAK,EACL,MAAOkwC,EAAc,KAAM,SAAS,CACtD,EAAmBD,EAAiB,KAAM,SAAS,CAAC,EAAG,CACrC,QAASz2C,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,UAAW,CACjC,QAASg2C,EAAoB,MAC7B,OAAQJ,EAAe,KAC7C,CAAqB,CACrB,CAAmB,EACD,EAAG,CACrB,EAAmB,GAAI,CAAC,OAAO,CAAC,GAAKj1C,EAAAA,mBAAmB,GAAI,EAAI,GAC/CT,EAAAA,UAAU,EAAI,EAAGK,qBAAmBqH,EAAAA,SAAU,KAAM+uB,EAAAA,WAAWr5C,EAAAA,MAAMnB,CAAK,EAAE,MAAO,CAACyQ,EAAMD,KAClFuT,EAAAA,UAAS,EAAIK,EAAAA,mBAAmBqH,WAAU,CAC/C,IAAKtqB,EAAAA,MAAMnB,CAAK,EAAE,YAAcmB,EAAAA,MAAM2jB,EAAG,EAAErU,EAAMtP,QAAMnB,CAAK,EAAE,UAAU,EAAImB,EAAAA,MAAM2jB,EAAG,EAAErU,EAAMtP,QAAMnB,CAAK,EAAE,UAAU,EAAIwQ,CAC5I,EAAqB,CACDkb,EAAAA,YAAY8H,GAAa7I,aAAW,CAClC,GAAIxpB,EAAAA,MAAMnB,CAAK,EAAE,YAAcmB,QAAM2jB,EAAG,EAAErU,EAAMtP,EAAAA,MAAMnB,CAAK,EAAE,UAAU,EAAI86D,EAAmB35D,QAAM2jB,EAAG,EAAErU,EAAMtP,EAAAA,MAAMnB,CAAK,EAAE,UAAU,CAAC,EAAI,OAC3I,MAAO66D,EAAcpqD,EAAM,KAAK,EAChC,QAAStP,EAAAA,MAAMu3D,EAAW,EAAEjoD,CAAI,EAAIA,EAAK,YAAc,OACvD,SAAUyqD,EAAqB,MAAQ,IAAM,MACnE,EAAuB,CAAE,QAAS,EAAI,EAAIN,EAAiBnqD,EAAM,KAAK,EAAG,CACnD,QAAUmb,GAAW,CAACzqB,EAAAA,MAAM+3D,EAAW,EAAEttC,CAAM,GAAK5B,EAAK,cAAevZ,EAAMD,EAAWob,CAAM,EAC/F,WAAaA,GAAW,CAACzqB,EAAAA,MAAM+3D,EAAW,EAAEttC,CAAM,GAAK5B,EAAK,iBAAkBvZ,EAAMD,EAAWob,CAAM,EACrG,cAAgBA,GAAW,CAACzqB,EAAAA,MAAM+3D,EAAW,EAAEttC,CAAM,GAAK5B,EAAK,kBAAmBvZ,EAAMD,EAAWob,CAAM,EACzG,aAAeA,GAAW,CAACzqB,EAAAA,MAAM+3D,EAAW,EAAEttC,CAAM,GAAK5B,EAAK,cAAevZ,EAAMD,EAAWob,CAAM,EACpG,aAAeA,GAAW,CAACzqB,EAAAA,MAAM+3D,EAAW,EAAEttC,CAAM,GAAK5B,EAAK,gBAAiBvZ,EAAMD,EAAWob,CAAM,EACtG,YAAcA,GAAW+uC,EAAkBlqD,EAAMD,EAAWob,CAAM,EAClE,UAAYA,GAAWwvC,EAAiB3qD,EAAMD,EAAWob,CAAM,CACrF,CAAqB,EAAG,CACF,QAASzH,EAAAA,QAAQ,IAAM,EACpBJ,YAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,EAAAA,SAAU,KAAM+uB,EAAAA,WAAWif,EAAe,MAAQxpC,GAAU,OAC/F,OAAOlM,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB+2C,EAAiB/qC,CAAK,CAAC,EAAGtF,aAAW,CAC3F,IAAKsF,EAAM,IACX,QAAU9uB,EAAAA,MAAMu3D,EAAW,EAAEjoD,CAAI,IAAInY,EAAAmY,EAAK,gBAAL,MAAAnY,EAAqB23B,EAAM,KAAgB,KAAOA,EAAM,QAC7F,MAAOyqC,EAAmBzqC,EAAOxf,CAAI,CACjE,EAA6B,CAAE,QAAS,EAAI,EAAIwpD,EAAexpD,EAAM,OAAOwf,EAAM,GAAG,EAAGA,EAAM,MAAM,CAAC,EAAG,CAC5E,QAAS9L,EAAAA,QAAQ,IAAM,CACrBhjB,QAAMnB,CAAK,EAAE,SAAWmB,EAAAA,MAAMnB,CAAK,EAAE,cAAgB+jB,EAAAA,YAAaK,EAAAA,mBAAmB,QAASg1C,GAAc70C,kBAAgBpjB,EAAAA,MAAM6uB,EAAsB,EAAEC,CAAK,CAAC,EAAG,CAAC,GAAKzL,EAAAA,mBAAmB,GAAI,EAAI,EACpMH,EAAAA,WACER,EAAK,OACL/jB,EAAM,QAAQ,OAAOmwB,EAAM,GAAG,CAAC,GAAG,EAAI,QAAQ,OAAOA,EAAM,GAAG,CAAC,IAAM,SACrE,CACE,MAAO9uB,EAAAA,MAAMo3D,EAAU,EAAE9nD,EAAM,OAAOwf,EAAM,GAAG,EAAGA,EAAM,SAAS,EACjE,YAAa9uB,EAAAA,MAAM2jB,EAAG,EAAErU,EAAM,OAAOwf,EAAM,GAAG,CAAC,EAC/C,MAAOzf,EACP,KAAAC,EACA,MAAAwf,EACA,MAAOpM,EAAK,MACZ,cAAe,IAAMy2C,EAAiB7pD,CAAI,EAC1C,eAAgBtP,EAAAA,MAAMu3D,EAAW,EAAEjoD,CAAI,EAAI8oD,EAAW,MAAM,IAAI9oD,CAAI,GAAK,GAAQ,EACnH,EACgC,IAAM,CACJ,CAAC3Q,EAAM,QAAQ,OAAOmwB,EAAM,GAAG,CAAC,GAAG,GAAK,CAACnwB,EAAM,QAAQ,GAAKikB,EAAAA,YAAaK,EAAAA,mBAAmBqH,EAAAA,SAAU,CAAE,IAAK,GAAK,CAChHnH,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMo3D,EAAU,EAAE9nD,EAAM,OAAOwf,EAAM,GAAG,EAAGA,EAAM,SAAS,CAAC,EAAG,CAAC,CACnI,EAAqC,EAAE,GAAKzL,qBAAmB,GAAI,EAAI,CACvE,CACA,CACA,CAA6B,EACD,EAAG,CAC/B,EAA6B,KAAM,CAAC,UAAW,OAAO,CAAC,CAC/B,CAAC,EAAG,GAAG,EAC/B,CAAuB,EACD,EAAG,CACzB,EAAuB,KAAM,CAAC,KAAM,QAAS,UAAW,WAAY,UAAW,aAAc,gBAAiB,eAAgB,eAAgB,cAAe,WAAW,CAAC,EACrJrjB,QAAMu3D,EAAW,EAAEjoD,CAAI,GAAK8oD,EAAW,MAAM,IAAI9oD,CAAI,IAAM,IAAQ3Q,EAAM,aAAa,GAAKikB,EAAAA,YAAaK,EAAAA,mBAAmBqH,EAAAA,SAAU,CAAE,IAAK,GAAK,CAC/IC,EAAAA,YAAY8H,GAAa,CACvB,cAAe,OACf,KAAM,eACN,MAAO,QAC/B,CAAuB,EACD9H,EAAAA,YAAY8H,GAAa7I,aAAW,CAClC,MAAOkwC,EAAcpqD,EAAM,aAAa,EACxC,QAASA,EAAK,WACtC,EAAyB,CAAE,QAAS,EAAI,EAAImqD,EAAiBnqD,EAAM,aAAa,CAAC,EAAG,CAC5D,QAAS0T,EAAAA,QAAQ,IAAM,CACrBuH,EAAAA,YAAY4zB,GAAa,CACvB,QAASua,EAAoB,MAC7B,MAAO31C,EAAAA,eAAeL,EAAK,cAAc,CACrE,EAA6B,CACD,QAASM,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,cAAe,CACrC,KAAApT,EACA,cAAe,IAAM6pD,EAAiB7pD,CAAI,EAC1C,OAAQgpD,EAAe,MACvB,MAAOjpD,CACvC,CAA+B,CAC/B,CAA6B,EACD,EAAG,CAC/B,EAA6B,KAAM,CAAC,UAAW,OAAO,CAAC,CACvD,CAAyB,EACD,EAAG,CAC3B,EAAyB,KAAM,CAAC,QAAS,SAAS,CAAC,CACnD,EAAuB,EAAE,GAAKgU,qBAAmB,GAAI,EAAI,CACzD,EAAqB,EAAE,EACN,EAAG,GAAG,GACP,CAACrjB,QAAMnB,CAAK,EAAE,SAAWF,EAAM,YAAY,GAAKikB,YAAS,EAAIC,cAAYwP,GAAa7I,EAAAA,WAAW,CAC/F,IAAK,EACL,MAAO,CAAC,aAAckwC,EAAc,KAAM,YAAY,CAAC,CACzE,EAAmBD,EAAiB,KAAM,YAAY,CAAC,EAAG,CACxC,QAASz2C,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,aAAc,CACpC,QAASg2C,EAAoB,MAC7B,OAAQJ,EAAe,KAC7C,CAAqB,CACrB,CAAmB,EACD,EAAG,CACrB,EAAmB,GAAI,CAAC,OAAO,CAAC,GAAKj1C,EAAAA,mBAAmB,GAAI,EAAI,CAChE,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,EAAG,CAAC,OAAO,CAAC,EACfrjB,EAAAA,MAAMnB,CAAK,EAAE,WAAa+jB,EAAAA,UAAS,EAAIC,EAAAA,YAAY07B,GAAapsB,EAAAA,eAAe3I,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAIovC,EAAY,KAAK,CAAC,EAAG,CACzH,QAAS51C,EAAAA,QAAQ,IAAM,CACrBuH,EAAAA,YAAY8H,GAAa,CACvB,QAASryB,EAAAA,MAAMnB,CAAK,EAAE,gBAAkBmB,EAAAA,MAAMnB,CAAK,EAAE,eACrD,MAAOkkB,EAAAA,eAAe/iB,EAAAA,MAAMnB,CAAK,EAAE,cAAgBmB,EAAAA,MAAMnB,CAAK,EAAE,YAAY,CAC5F,EAAiB,CACD,QAASmkB,EAAAA,QAAQ,IAAM,EACpBJ,YAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,EAAAA,SAAU,KAAM+uB,EAAAA,WAAWif,EAAe,MAAQxpC,IAC9ElM,YAAS,EAAIC,cAAY27B,GAAah1B,EAAAA,WAAW,CACtD,IAAKsF,EAAM,IACX,MAAO,MACP,MAAOwqC,EAAsBxqC,CAAK,EAClC,MAAOA,EAAM,YACb,KAAMA,EAAM,WACZ,MAAOA,EAAM,QACb,QAASA,EAAM,QACf,SAAUgrC,EAAwBhrC,CAAK,EAAI,IAAM,MACvE,EAAuB,CAAE,QAAS,EAAI,EAAIkqC,EAAW,KAAMlqC,EAAO,QAAQ,EAAG,CACvD,QAAUrE,GAAWwuC,EAAcnqC,EAAOrE,EAAQ,EAAI,EACtD,UAAYA,GAAWuvC,EAAoBlrC,EAAOrE,EAAQ,EAAI,CACpF,CAAqB,EAAG,CACF,QAASzH,EAAAA,QAAQ,IAAM,CACrBiP,EAAAA,mBAAmB,MAAO+nB,GAAY,CACpC/nB,EAAAA,mBAAmB,MAAO,KAAM,CAC9B/O,EAAAA,WAAWR,EAAK,OAAQm2C,EAAqB/pC,EAAM,GAAG,EAAG,CACvD,MAAOA,EAAM,MACb,OAAQA,EAAM,IACd,MAAAA,EACA,OAAQ,EACtC,EAA+B,IAAM,CACP3L,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAM6uB,EAAsB,EAAEC,CAAK,CAAC,EAAG,CAAC,CACtG,CAA6B,CAC7B,CAA2B,CAC3B,CAAyB,CACzB,CAAuB,EACD,EAAG,CACzB,EAAuB,KAAM,CAAC,QAAS,QAAS,OAAQ,QAAS,UAAW,WAAY,UAAW,WAAW,CAAC,EAC5F,EAAG,GAAG,EACzB,CAAiB,EACD,EAAG,CACnB,EAAiB,EAAG,CAAC,UAAW,OAAO,CAAC,CACxC,CAAa,EACD,EAAG,CACf,EAAa,EAAE,GAAKnwB,EAAM,aAAa,GAAKikB,EAAAA,UAAS,EAAIC,cAAY07B,GAAapsB,EAAAA,eAAe3I,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAIovC,EAAY,KAAK,CAAC,EAAG,CACjI,QAAS51C,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,cAAe,CACrC,OAAQ41C,EAAe,MACvB,MAAOt4D,EAAAA,MAAMnB,CAAK,EAAE,MACpB,QAAS65D,EAAoB,KAC7C,CAAe,CACf,CAAa,EACD,EAAG,CACf,EAAa,EAAE,GAAKr1C,qBAAmB,GAAI,EAAI,EACrC1kB,EAAM,eAAe,GAAKqB,EAAAA,MAAMnB,CAAK,EAAE,SAAW+jB,EAAAA,YAAaK,EAAAA,mBAAmB,UAAWg3B,GAAY,CACvG/2B,EAAAA,WAAWR,EAAK,OAAQ,gBAAiB,CAAA,EAAI,IAAM,CACjDS,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,OAAO,EAAG,CAAC,CACtE,CAAa,CACb,CAAW,GAAKwkB,EAAAA,mBAAmB,GAAI,EAAI,CAC3C,CAAS,EACD,EAAG,CACX,EAAS,EAAE,EAET,CACF,CAAC,EACKw0B,GAAe,CAAC,GAAG,EACnByiB,GAAU,gJACVC,GAAW,6IACXlwC,GAA8B3rB,EAAAA,gBAAgB,CAClD,OAAQ,WACR,MAAO,CACL,UAAW,CAAA,EACX,OAAQ,CAAA,EACR,qBAAsB,CAAA,CAC1B,EACE,MAAM2jB,EAAS,CACb,MAAMxjB,EAAQwjB,EACRm4C,EAAcjkE,EAAAA,SAAS,WAAM,OAAAY,EAAA0H,EAAM,SAAN,YAAA1H,EAAc,KAAMuI,GAAOA,EAAG,MAAQb,EAAM,UAAU,KAAI,EACvF47D,EAAoBlkE,EAAAA,SAAS,IAAM,OACvC,IAAIY,EAAAqjE,EAAY,QAAZ,MAAArjE,EAAmB,MAAO,OAAOqjE,EAAY,MAAM,MACvD,MAAME,EAAwB77D,EAAM,UAAU,sBAAwBA,EAAM,qBAC5E,GAAI67D,IAA0B,OAAQ,CACpC,MAAMC,EAAa,CAAC,GAAG97D,EAAM,QAAU,CAAA,CAAE,EAAE,QAAO,EAAG,KAAM+7D,GAASA,EAAK,QAAU,MAAM,EACzF,OAAOD,GAAA,YAAAA,EAAY,QAAS,KAC9B,CACA,OAAOD,IAA0B,OAAS,OAAS,KACrD,CAAC,EACKG,EAAWtkE,EAAAA,SAAS,IAAMkkE,EAAkB,QAAU,OAASF,GAAWD,EAAO,EACjFQ,EAAYvkE,EAAAA,SAChB,IAAMkkE,EAAkB,QAAU,OAAS,yBAA2B,sBAC5E,EACUM,EAAcxkE,EAAAA,SAAS,IAAA,OAAM,OAAAY,EAAAqjE,EAAY,QAAZ,MAAArjE,EAAmB,MAAQ,EAAI,GAAG,EACrE,MAAO,CAACurB,EAAMC,KACLC,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,MAAO,CAC5C,MAAO,6BACP,MAAO,KACP,OAAQ,KACR,KAAM,eACN,MAAOF,EAAAA,eAAe+3C,EAAU,KAAK,EACrC,MAAOvoC,EAAAA,eAAe,CAAE,QAASwoC,EAAY,KAAK,CAAE,EACpD,QAAS,YACT,cAAe,MACvB,EAAS,CACD9oC,EAAAA,mBAAmB,OAAQ,CACzB,YAAa,UACb,EAAG4oC,EAAS,KACtB,EAAW,KAAM,EAAGhjB,EAAY,CAChC,EAAS,CAAC,EAER,CACF,CAAC,EACKz1B,GAAa,CACjB,KAAM,QACN,YAAa,QACf,EACM4N,GAAa,CAAE,MAAO,kBAAkB,EACxC3f,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,SACR,MAAuB+qB,EAAAA,YAAY,CACjC,SAAU,CAAE,KAAM,SAAU,QAAS,MAAM,EAC3C,WAAY,CAAE,QAAS,MAAM,EAC7B,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,kBAAmB,CAAE,KAAM,QAAS,QAAS,EAAK,EAClD,oBAAqB,CAAE,KAAM,QAAS,QAAS,EAAK,EACpD,YAAa,CAAE,KAAM,SAAU,QAAS,MAAM,EAC9C,SAAU,CAAE,KAAM,CAAC,QAAS,KAAK,EAAG,QAAS,EAAK,EAClD,qBAAsB,CAAE,QAAS,KAAK,EACtC,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,aAAc,CAAE,KAAM,QAAS,QAAS,EAAK,EAC7C,WAAY,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,EAAI,EACpD,WAAY,CAAE,QAAS,OAAO,EAC9B,iBAAkB,CAAE,QAAS,SAAS,EACtC,gBAAiB,CAAE,QAAS,YAAY,EACxC,QAAS,CAAE,QAAS,OAAO,iBAAiB,EAC5C,YAAa,CAAE,QAAS,CAAC,EACzB,OAAQ,CAAE,QAAS,MAAM,EACzB,eAAgB,CAAE,KAAM,SAAU,QAAS,MAAM,EACjD,WAAY,CAAE,QAAS,MAAM,EAC7B,eAAgB,CAAE,KAAM,QAAS,QAAS,EAAK,EAC/C,gBAAiB,CAAE,KAAM,QAAS,QAAS,EAAK,EAChD,eAAgB,CAAE,KAAM,QAAS,QAAS,EAAK,EAC/C,kBAAmB,CAAE,QAAS,4CAA4C,EAC1E,UAAW,CAAE,QAAS,8BAA8B,EACpD,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,MAAO,CAAE,QAAS,MAAM,EACxB,QAAS,CAAE,QAAS,MAAM,EAC1B,eAAgB,CAAE,QAAS,MAAM,EACjC,iBAAkB,CAAE,KAAM,CAAC,SAAU,OAAQ,OAAQ,KAAK,EAAG,QAAS,MAAM,EAC5E,OAAQ,CAAE,QAAS,IAAM,EAAE,EAC3B,UAAW,CAAE,KAAM,QAAS,QAAS,MAAM,EAC3C,eAAgB,CAAE,QAAS,MAAM,EACjC,YAAa,CAAE,QAAS,MAAM,EAC9B,eAAgB,CAAE,QAAS,MAAM,EACjC,YAAa,CAAE,QAAS,MAAM,EAC9B,MAAO,CAAE,QAAS,IAAM,EAAE,EAC1B,aAAc,CAAE,KAAM,QAAS,QAAS,MAAM,EAC9C,WAAY,CAAE,QAAS,MAAM,EAC7B,WAAY,CAAE,QAAS,MAAM,EAC7B,WAAY,CAAE,QAAS,MAAM,EAC7B,aAAc,CAAA,EACd,aAAc,CAAE,KAAM,CAAC,SAAU,OAAQ,MAAO,MAAM,EAAG,QAAS,MAAM,EACxE,WAAY,CAAE,QAAS,MAAM,EAC7B,aAAc,CAAE,QAAS,MAAM,EAC/B,WAAY,CAAE,QAAS,MAAM,EAC7B,aAAc,CAAE,QAAS,MAAM,EAC/B,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,WAAY,CAAE,KAAM,QAAS,QAAS,MAAM,EAC5C,cAAe,CAAE,QAAS,MAAM,EAChC,WAAY,CAAE,KAAM,QAAS,QAAS,MAAM,EAC5C,KAAM,CAAE,KAAM,QAAS,QAAS,MAAM,EACtC,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,GAAI,CAAE,QAAS,MAAM,EACrB,iBAAkB,CAAE,KAAM,QAAS,QAAS,MAAM,EAClD,SAAU,CAAE,KAAM,QAAS,QAAS,MAAM,EAC1C,WAAY,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,MAAM,EACtD,MAAO,CAAE,KAAM,QAAS,QAAS,MAAM,EACvC,QAAS,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,QAAS,MAAM,EACnD,aAAc,CAAE,KAAM,CAAC,QAAS,OAAQ,MAAM,EAAG,QAAS,MAAM,EAChE,QAAS,CAAE,KAAM,QAAS,QAAS,MAAM,EACzC,eAAgB,CAAE,KAAM,QAAS,QAAS,MAAM,EAChD,QAAS,CAAE,QAAS,MAAM,EAC1B,WAAY,CAAA,EACZ,SAAU,CAAE,QAAS,CAAC,EACtB,gBAAiB,CAAE,QAAS,OAAO,GAAG,CAC1C,EAAK,CACD,OAAU,CACR,QAAS,MACf,EACI,gBAAmB,CAAA,EACnB,KAAQ,CAAE,KAAM,QACd,QAAS,EACV,EACD,cAAiB,CAAA,EACjB,cAAiB,CACf,QAAS,IAAM,CAAA,CACrB,EACI,uBAA0B,CAAA,CAC9B,CAAG,EACD,MAAuBA,EAAAA,YAAY,CAAC,WAAY,eAAgB,iBAAkB,SAAU,SAAU,eAAgB,cAAe,iBAAkB,kBAAmB,cAAe,gBAAiB,oBAAoB,EAAG,CAAC,gBAAiB,cAAe,sBAAsB,CAAC,EACzR,MAAMpH,EAAS,CAAE,OAAQ6N,EAAU,KAAMtH,GAAU,CAEjD,MAAM/pB,EAAQqjB,EADCG,EACmB,QAAQ,EACpCwG,EAAOD,EACPjqB,EAAQ2jB,EAAAA,SAAQ,EAChB04C,EAAmBzkE,EAAAA,SACvB,IAAM,OAAO,KAAKoI,CAAK,EAAE,OAAQvH,GAAQA,EAAI,WAAW,OAAO,CAAC,CACtE,EACU6jE,EAAmB1kE,EAAAA,SACvB,IAAM,OAAO,KAAKoI,CAAK,EAAE,OAAQvH,GAAQA,EAAI,WAAW,OAAO,CAAC,CACtE,EACU8jE,EAActxC,EAAAA,SAASvH,EAAS,QAAQ,EACxC84C,EAAYvxC,EAAAA,SAASvH,EAAS,MAAM,EACpC+4C,EAAqBxxC,EAAAA,SACzBvH,EACA,eACN,EACUkJ,EAAajM,GAAM,IAAMzgB,EAAM,EAAE,EACjCw8D,EAAqB9kE,EAAAA,SAAS,CAClC,IAAK,IAAM,IAAI,IAAI6kE,EAAmB,KAAK,EAC3C,IAAM9iE,GAAQ,CACZ8iE,EAAmB,MAAQ,CAAC,GAAG9iE,CAAG,CACpC,CACN,CAAK,EACD5B,EAAAA,MAAM2kE,EAAoB,CAAC1kE,EAAUqR,IAAa,CAChD,MAAM,KAAKA,CAAQ,EAAE,OAAQsH,GAAS,CAAC3Y,EAAS,IAAI2Y,CAAI,CAAC,EAAE,QAASA,GAAS,CAC3EuZ,EAAK,iBAAkBvZ,CAAI,CAC7B,CAAC,EACD,MAAM,KAAK3Y,CAAQ,EAAE,OAAQ2Y,GAAS,CAACtH,EAAS,IAAIsH,CAAI,CAAC,EAAE,QAASA,GAAS,CAC3EuZ,EAAK,eAAgBvZ,CAAI,CAC3B,CAAC,CACH,CAAC,EACD,MAAMgsD,EAA4B,CAChC,IAAMhsD,GAAS,CACb,MAAMjb,EAAQ,IAAI,IAAIgnE,EAAmB,KAAK,EAC9ChnE,EAAM,IAAIib,CAAI,EACd+rD,EAAmB,MAAQhnE,CAC7B,EACA,MAAO,IAAM,CACXgnE,EAAmB,MAAM,QAAS/rD,GAAS,CACzCgsD,EAA0B,OAAOhsD,CAAI,CACvC,CAAC,CACH,EACA,OAASA,GAAS,CAChB,MAAMjb,EAAQ,IAAI,IAAIgnE,EAAmB,KAAK,EAC9C,GAAIx8D,EAAM,WAAY,CACpB,MAAM08D,EAAO18D,EAAM,WACnBu8D,EAAmB,MAAM,QAAQ,CAAC5kE,EAAGgT,KAAM,CACzC,MAAMgyD,EAAc73C,GAAIntB,EAAG+kE,CAAI,EACzBE,EAAU93C,GAAIrU,EAAMisD,CAAI,EACxBC,GAAiBC,GAAWD,IAAgBC,GAChDpnE,EAAM,OAAO+mE,EAAmB,MAAM5xD,EAAC,CAAC,CAE5C,CAAC,CACH,MACEnV,EAAM,OAAOib,CAAI,EAEnB+rD,EAAmB,MAAQhnE,CAC7B,EACA,IAAM6N,GAAU,CACdm5D,EAAmB,MAAQ,IAAI,IAAIn5D,CAAK,CAC1C,EACA,IAAMoN,GAAS,CACb,GAAI,CAACzQ,EAAM,WAAY,OAAOw8D,EAAmB,MAAM,IAAI/rD,CAAI,EAC/D,MAAMisD,EAAO18D,EAAM,WACnB,UAAW68D,KAAYL,EAAmB,MAAO,CAC/C,MAAMG,EAAc73C,GAAI+3C,EAAUH,CAAI,EAChCE,GAAU93C,GAAIrU,EAAMisD,CAAI,EAC9B,GAAMC,GAAiBC,IAAWD,IAAgBC,GAAS,MAAO,EACpE,CACA,MAAO,EACT,CACN,EACUE,EAAgBxiE,EAAAA,IAAI,EAAE,EACtBy5D,EAAgB50D,GAAY,IAAMa,EAAM,QAAS,CAAE,OAAQ,WAAY,EACvE+8D,EAAoB59D,GAAY,IAAMa,EAAM,YAAa,CAAE,OAAQ,WAAY,EAC/EgpD,EAAiB7pD,GAAY,IAAMa,EAAM,UAAY,EAAG,CAAE,UAAW,GAAM,EAC3EipD,EAAwB9pD,GAAY,IAAMa,EAAM,iBAAmB,OAAO,GAAG,EAC7Eg9D,EAAoBtlE,EAAAA,SAAS,IAAM,CAAC,CAACsI,EAAM,MAAM,EACjDi9D,EAAevlE,EAAAA,SAAS,IAAMsI,EAAM,WAAa,MAAM,EACvDk9D,EAAcxlE,EAAAA,SAAS,IAAM8kE,EAAmB,MAAM,KAAO,CAAC,EAC9DW,EAAazlE,EAAAA,SACjB,IAAM2kE,EAAY,QAAU,QAAUr8D,EAAM,OAAO,KAChDiwB,GAAU,OAAOA,GAAU,UAAYA,IAAU,MAAQA,EAAM,WAAa,EACrF,CACA,EACUmtC,EAAwB1lE,EAAAA,SAAS,IAAM,CAAC,EAAEsI,EAAM,YAAc,CAACA,EAAM,gBAAgB,EACrFq9D,EAA2B3lE,EAAAA,SAAS,IAAM,CAAC,CAACylE,EAAW,KAAK,EAClElsD,EAAAA,QAAQ7Z,GAA4B,CAClC,cAAegmE,EACf,iBAAkBC,CACxB,CAAK,EACD,MAAM5D,EAAiB/hE,EAAAA,SACrB,IAAMsI,EAAM,OAAO,IAAKa,GAAO,OAC7B,GAAI,CAAC83D,GAAa93D,CAAE,EAAG,CACrB,MAAMwvB,GAAQtJ,GAAUlmB,CAAE,EAC1B,MAAO,CACL,IAAKA,EACL,MAAAwvB,GACA,OAAQD,GAAiBpwB,EAAOqwB,EAAK,CACjD,CACQ,CACA,MAAM76B,GAAQ8C,EAAA+jE,EAAY,QAAZ,YAAA/jE,EAAmB,KAAMglE,IAAOz8D,EAAG,MAAQy8D,GAAG,KACtDC,EAAYJ,EAAW,QAAU,GAAQ,OAAS3nE,IAAU,OAAS,OAASA,EAAM,QAAU,OAAS,aAAeA,EAAM,QAAU,MAAQ,YAAc,OAClK,MAAO,CACL,GAAGqL,EACH,OAAQ,CACN,YAAa08D,EACb,GAAG18D,EAAG,MAClB,CACA,CACM,CAAC,CACP,EACU28D,EAAe9lE,EAAAA,SAAS,KAAO,CACnC,eAAgB4kE,EAAU,MAC1B,qBAAsBt8D,EAAM,WAC5B,mBAAoBA,EAAM,YAAck9D,EAAY,MACpD,gBAAiBl9D,EAAM,MACvB,6BAA8BA,EAAM,gBAC1C,EAAM,EACIy9D,EAAoB/lE,EAAAA,SAAS,IAAM,CACvCsI,EAAM,aAAe,OAAOA,EAAM,cAAiB,WAAaA,EAAM,aAAa,KAAM,YAAY,EAAIA,EAAM,aAAe,IACpI,CAAK,EACKy6D,EAAyBxqC,GAAU,CACvC,CACE,0BAA2BktC,EAAW,OAASltC,EAAM,QAC7D,CACA,EACU4qC,EAAgB,CAACpqD,EAAMlI,IAAS,CACpC,CACE,CAAC,kBAAkBvI,EAAM,gBAAgB,EAAE,EAAGA,EAAM,YAAc,CAAC,CAACyQ,GAAQgsD,EAA0B,IAAIhsD,CAAI,CACtH,EACMzQ,EAAM,aAAe,OAAOA,EAAM,cAAiB,WAAaA,EAAM,aAAayQ,EAAMlI,CAAI,EAAIvI,EAAM,aAAe,IAC5H,EACU09D,EAAgBloE,GAAU,OAAOA,EAAM,iBAAoB,WAAaA,EAAM,gBAAkBA,EAAM,UACtGmoE,EAAiB,CAACC,EAAIrlE,IAAQ,CAClC,GAAI,CAACmgE,GAAYkF,CAAE,EAAG,OAAO,OAAOA,CAAE,EACtC,MAAMC,EAAYpE,EAAe,MAAM,KAAM54D,IACvC83D,GAAa93D,EAAE,EAAUA,GAAG,MAAQtI,EACjC,EACR,EACKkB,EAAMqrB,GAAI84C,EAAIrlE,CAAG,EACvB,GAAIogE,GAAakF,CAAS,GAAOA,EAAU,gBAAiB,CAC1D,MAAMpF,GAAYiF,EAAaG,CAAS,EACxC,GAAIpF,GACF,OAAO,OAAOF,GAAWqF,EAAI,OAAOC,EAAU,GAAG,EAAGpF,EAAS,CAAC,CAElE,CACA,OAAO,OAAOh/D,GAAQ,UAAYA,IAAQ,KAAO,KAAK,UAAUA,CAAG,GAAIA,GAAA,YAAAA,EAAK,aAAc,EAC5F,EACMqkE,EAAapmE,EAAAA,SAAS,IAAM,CAChC,MAAMqmE,EAAsB,IAAI,IAChC,UAAWpE,KAAKF,EAAe,MAAWd,GAAagB,CAAC,GAAGoE,EAAI,IAAIpE,EAAE,IAAKA,CAAC,EAC3E,OAAOoE,CACT,CAAC,EACKC,EAAgBtmE,EAAAA,SAAS,IAAM,QACnC,MAAMumE,GAAc3lE,GAAA+jE,EAAY,QAAZ,YAAA/jE,GAAmB,OAAQuI,GAAO,CAAC,CAACA,EAAG,OACrDq9D,EAAWztD,GAAS,CACxB,GAAI,OAAOA,GAAS,UAAYA,IAAS,MAAQ,OAAO,KAAKA,CAAI,EAAE,KAAMlY,GAAQA,EAAI,SAAS,GAAG,CAAC,EAAG,CACnG,IAAI4lE,EAAU,CAAA,EACd,UAAW5lE,KAAOkY,EACZlY,EAAI,SAAS,GAAG,EAClB4lE,EAAUj5C,GAAIi5C,EAAS5lE,EAAKkY,EAAKlY,CAAG,CAAC,EAErC4lE,EAAQ5lE,CAAG,EAAIkY,EAAKlY,CAAG,EAG3B,OAAO4lE,CACT,CACA,OAAO1tD,CACT,EACM2tD,EAAc3tD,GACbioD,GAAYjoD,CAAI,EACd,OAAO,QAAQA,CAAI,EAAE,KAAK,CAAC,CAAClY,EAAKkB,CAAG,IAAM,aAC/C,OAAIA,GAAQ,MAA0BlB,EAAI,CAAC,IAAM,KAAO,GAACD,EAAA0H,EAAM,aAAN,MAAA1H,EAAkB,SAASC,OAAUyB,GAAAgG,EAAM,aAAN,MAAAhG,GAAkB,QACvG,GACLgG,EAAM,gBAAkB,OAAOA,EAAM,gBAAmB,WACnDA,EAAM,eAAeyQ,EAAMzQ,EAAM,MAAM,GAEhC,IAAM,CACpB,MAAMq+D,EAAc5E,EAAe,MAAM,KAAM54D,IACzC83D,GAAa93D,EAAE,EAAUA,GAAG,MAAQtI,EACjC,EACR,EACD,GAAIogE,GAAa0F,CAAW,GAAOA,EAAY,kBAAmB,CAChE,MAAM5F,GAAYiF,EAAaW,CAAW,EAC1C,GAAI5F,GACF,OAAO,OAAOA,GAAUh/D,EAAK,OAAO4kE,EAAY,GAAG,EAAG5tD,CAAI,CAAC,CAE/D,CACA,OAAO,OAAOhX,GAAQ,SAAW,KAAK,UAAU,OAAO,OAAOA,CAAG,CAAC,EAAIA,EAAI,SAAQ,CACpF,GACyB,EACR,YAAW,EAAG,WAASupB,GAAAhjB,EAAM,SAAN,YAAAgjB,GAAc,gBAAiB,EAAE,CAC3E,CAAC,EAtB8B,GAwB3Bs7C,GAAerB,EAAa,MAAQH,EAAc,MAAQ98D,EAAM,OAAO,OAC3E,CAAC8W,EAAKrd,IAAQ,CACZ,MAAMgX,EAAOytD,EAAQzkE,CAAG,EAExB,OAAI,EADiBujE,EAAkB,QAAU,CAACC,EAAa,OAASj9D,EAAM,uBACzDo+D,EAAW3tD,CAAI,IAAGqG,EAAI,KAAKrG,CAAI,EAC7CqG,CACT,EACA,CAAA,CACR,EACM,OAAImnD,GAAA,MAAAA,EAAa,SAAWd,EAAW,QAAU,IAAQ,CAACF,EAAa,OAAS,CAACj9D,EAAM,gBAAkBm9D,EAAW,QAAU,IAAQF,EAAa,OAASj9D,EAAM,mBACzJs+D,EAAY,KAAK,CAACz3D,EAAGC,IAAM,CAChC,QAAS6D,EAAI,EAAGA,EAAIszD,EAAY,OAAQtzD,IAAK,CAC3C,KAAM,CAAE,IAAApS,EAAK,MAAAgmE,GAAUN,EAAYtzD,CAAC,EAC9BslB,EAAQ6tC,EAAW,MAAM,IAAIvlE,CAAG,EAChCimE,IAAWvuC,GAAA,YAAAA,EAAO,cAAejwB,EAAM,YACvCy+D,GAAaD,GAAWA,GAAS33D,EAAGC,EAAGvO,CAAG,EAAIolE,EAAe92D,EAAGtO,CAAG,EAAE,cAAcolE,EAAe72D,EAAGvO,CAAG,EAAG,OAAQ,CAAE,QAAS,GAAM,EAC1I,GAAIkmE,KAAe,EACjB,OAAOF,IAAU,MAAQE,GAAa,CAACA,EAE3C,CACA,MAAO,EACT,CAAC,EAEIH,CACT,CAAC,EACKI,EAAiBhnE,EAAAA,SAAS,KAAO,CACrC,kBAAmBsI,EAAM,kBACzB,UAAWA,EAAM,UACjB,OAAQy5D,EAAe,MACvB,MAAOuE,EAAc,KAC3B,EAAM,EACIW,EAAuBjnE,EAAAA,SAAS,IAChC,OAAO,MAAMq8D,EAAc,KAAK,GAAKkJ,EAAa,OAAS,CAACj9D,EAAM,iBAC7Dg+D,EAAc,MAEhBA,EAAc,MAAM,OACxBjB,EAAkB,MAAQ,IAAMhJ,EAAc,OAAS,OAAO,mBAC/DgJ,EAAkB,OAAShJ,EAAc,OAAS,OAAO,kBACjE,CACK,EACDl8D,QAAM8mE,EAAuB,GAAM,CACjC30C,EAAK,SAAU,CAAC,CAClB,CAAC,EACD,MAAM40C,EAAqB,CAACC,EAAKvlE,EAAOwlE,EAAe,GAAOC,EAAc,GAAOC,GAAc,KAAU,CACzG,GAAKh/D,EAAM,WACX,GAAIA,EAAM,aAAe,UAAYA,EAAM,aAAe,QAAS,CACjE,GAAI8+D,GAAgBC,EAAa,OAC7BtC,EAA0B,IAAIoC,CAAG,EACnCpC,EAA0B,OAAOoC,CAAG,EAEhC7+D,EAAM,aAAe,SACvBy8D,EAA0B,IAAI,CAACoC,CAAG,CAAC,EAEnCpC,EAA0B,IAAIoC,CAAG,CAGvC,SACME,GAAeC,GACbvC,EAA0B,IAAIoC,CAAG,EACnCpC,EAA0B,OAAOoC,CAAG,EAEpCpC,EAA0B,IAAIoC,CAAG,UAE1BC,EAAc,CACvB,MAAMG,EAAmB,CAAC,GAAGzC,EAAmB,KAAK,EAAE,IAAG,EACpD0C,EAAoBlB,EAAc,MAAM,UAAWrzD,GAAMA,IAAMs0D,CAAgB,EAC/EE,EAAmB,KAAK,IAAID,EAAmB5lE,CAAK,EACpD8lE,EAAiB,KAAK,IAAIF,EAAmB5lE,CAAK,EAClD+J,EAAQ26D,EAAc,MAAM,MAAMmB,EAAkBC,EAAiB,CAAC,EAC5E3C,EAA0B,IAAIp5D,CAAK,CACrC,MACEo5D,EAA0B,IAAI,CAACoC,CAAG,CAAC,CAGzC,EACMQ,EAAsBpvC,GAAU,WACpC,GAAI,CAACktC,EAAW,MAAO,OACvB,MAAM3E,EAAW,OAAOvoC,GAAU,UAAYA,IAAU,KAAOA,EAAM,IAAMA,EACrEqvC,EAAgB,OAAOrvC,GAAU,UAAYA,IAAU,KAAOA,EAAM,SAAW,GACrF,GAAI,EAAEktC,EAAW,QAAU,IAAQmC,IAAkB,IAAO,OAC5D,MAAMC,EAAuB,IAAM,CACjC,MAAMzD,EAAa,CAAC,GAAGO,EAAY,OAAS,CAAA,CAAE,EAAE,QAAO,EAAG,KAAMN,IAASA,GAAK,QAAU,QAAUA,GAAK,MAAQvD,CAAQ,EACvH,OAAOsD,GAAA,YAAAA,EAAY,QAAS,KAC9B,EACM0D,GAA0B,IAC1B,OAAOvvC,GAAU,UAAYA,IAAU,MAAQA,EAAM,qBACnDA,EAAM,uBAAyB,OAC1BsvC,EAAoB,EAEtBtvC,EAAM,qBAEXjwB,EAAM,qBACJA,EAAM,uBAAyB,OAC1Bu/D,EAAoB,EAEtBv/D,EAAM,qBAER,MAEHy/D,EAAgBhmE,GAAQ,CAC5B,GAAIA,IAAQ,OAAQ,OAAO+lE,GAAuB,EAClD,MAAMr6C,GAAUq6C,GAAuB,EACjCE,GAAO1/D,EAAM,WAAa,IAAQ,MAAM,QAAQA,EAAM,QAAQ,GAAKA,EAAM,SAAS,SAASw4D,CAAQ,EACzG,GAAI/+D,IAAQ,MACV,OAAI0rB,KAAY,OACPu6C,GAAO,OAAS,OAElB,OAET,GAAIjmE,IAAQ,OACV,OAAI0rB,KAAY,QAGTu6C,GAFE,MAEa,MAG1B,EACMpmE,IAAQhB,GAAA+jE,EAAY,QAAZ,YAAA/jE,GAAmB,UAAWuI,GAAOA,EAAG,MAAQ23D,KAAa,GACrEmH,GAAgB3lE,GAAAqiE,EAAY,QAAZ,YAAAriE,GAAoBV,GACpCsmE,EAGJtmE,IAAU,IAAM,CAACqmE,EAAgB,CAAE,IAAKnH,EAAU,MAAOgH,GAAuB,GAAO,CAAE,GAAGG,CAAa,EAErGE,EAAkB,IAAM,CAC5B,MAAMC,EAAM,CAAC,GAAGzD,EAAY,OAAS,CAAA,CAAE,EACjC5iE,GAAMmmE,EACZ,GAAItmE,IAAU,GACZwmE,EAAI,KAAKrmE,EAAG,MACP,CACL,MAAM8kE,GAAQkB,EAAahmE,GAAI,KAAK,EAChC8kE,IACF9kE,GAAI,MAAQ8kE,GACZuB,EAAI,OAAOxmE,EAAO,EAAGG,EAAG,IAExBA,GAAI,MAAQ,OACZqmE,EAAI,OAAOxmE,EAAO,CAAC,EAEvB,CACA,OAAA+iE,EAAY,MAAQyD,EACbrmE,EACT,EACMsmE,EAAmB,IAAM,CAC7B,MAAMxB,EAAQjlE,IAAU,GAAKsmE,EAAa,MAAQH,EAAaG,EAAa,KAAK,EAC3EnmE,GAAM,CACV,GAAGmmE,EACH,MAAArB,CACV,EACQ,OAAAlC,EAAY,MAAQkC,EAAQ,CAAC9kE,EAAG,EAAI,CAAA,EAC7BA,EACT,EACAuwB,EAAK,SAAUhqB,EAAM,YAAc,GAAO6/D,EAAe,EAAKE,GAAkB,CAClF,EACA,IAAIC,EAAkB,KACtB,MAAMC,GAAoB,SAAY,CACpC,GAAI,CAAChD,EAAa,OAASj9D,EAAM,WAAa,OAAQ,OAClDggE,GACFA,EAAgB,MAAK,EAEvBA,EAAkB,IAAI,gBACtB,KAAM,CAAE,OAAAE,CAAM,EAAKF,EACnB1D,EAAU,MAAQ,GAClB,MAAM6D,EAAWngE,EAAM,SAAS,CAC9B,YAAa+8D,EAAkB,MAC/B,OAAQ/8D,EAAM,OACd,OAAQq8D,EAAY,MACpB,QAAStI,EAAc,MACvB,OAAAmM,CACR,CAAO,EACD,GAAI,CACF,MAAM78D,EAAQ88D,aAAoB,QAAU,MAAMA,EAAWA,EAE7D,GADID,EAAO,SACP78D,IAAU,OAAQ,OACtBy5D,EAAc,MAAQz5D,CACxB,OAAS+8D,EAAO,CACd,GAAIA,aAAiB,OAASA,EAAM,OAAS,aAAc,OAC3D,MAAMA,CACR,QAAC,CACMF,EAAO,UACV5D,EAAU,MAAQ,GAEtB,CACF,EACM+D,GAA6B1X,GAAcsX,GAAmBjX,EAAgB,CAClF,QAASC,CACf,CAAK,EACKqX,GAAqB,MAAO59C,EAAMjpB,EAAK8mE,IAAW,CACtD,GAAI76C,GAAUjsB,EAAK8mE,CAAM,EAAG,OAC5B,MAAMC,EAAgBjoE,GAAG,OAAK,QAAAD,EAAA0H,EAAM,aAAN,YAAA1H,EAAkB,SAASC,MAAS,IAC5DkoE,IAAuB/9C,IAAS,eAAiBA,IAAS,aAAe89C,EAAa,QAAQ,GAAKxgE,EAAM,mBAAqB,IAC9H0gE,EAAyBh+C,IAAS,WAAa89C,EAAa,WAAW,GAAKxgE,EAAM,sBAAwB,IAC1G2gE,GAAwBj+C,IAAS,UAAYA,IAAS,cAAgB89C,EAAa,SAAS,GAAKxgE,EAAM,oBAAsB,IAC/HygE,IAAuBC,GAA0BC,IACjD1D,EAAa,QAAU,IACzB,MAAMoD,GAA0B,EAE5B39C,IAAS,eAAiBA,IAAS,WACvCsH,EAAK,WAAY,CAAC,GAAGg0C,EAAc,KAAK,CAAC,EAE7C,EACAnmE,EAAAA,MACE,IAAMmI,EAAM,OACZ,CAACxF,EAAQomE,IAAc,CACrBN,GAAmB,SAAU9lE,EAAQomE,CAAS,EAC1C,EAAApmE,IAAWomE,GAAa3D,EAAa,SACpCziE,GACHwvB,EAAK,WAAY,CAAC,GAAGg0C,EAAc,KAAK,CAAC,EAE7C,CACN,EACInmE,EAAAA,MAAMklE,EAAmB,CAACtjE,EAAK8mE,IAAW,CACxCD,GAAmB,cAAe7mE,EAAK8mE,CAAM,CAC/C,CAAC,EACD1oE,EAAAA,MAAMk8D,EAAe,CAACt6D,EAAK8mE,IAAW,CACpCD,GAAmB,UAAW7mE,EAAK8mE,CAAM,CAC3C,CAAC,EACD1oE,EAAAA,MACEwkE,EACA,CAAC5iE,EAAK8mE,IAAW,CACfD,GAAmB,SAAU7mE,EAAK8mE,CAAM,CAC1C,EACA,CAAE,KAAM,EAAI,CAClB,EACI1oE,EAAAA,MACE,IAAMmI,EAAM,SACXlI,GAAa,CACZ,GAAIA,IAAa,OAAQ,CACvBglE,EAAc,MAAQ,CAAA,EACtB,MACF,CACAmD,GAAiB,CACnB,CACN,EACIxhE,EAAAA,UAAUwhE,EAAiB,EAC3B,MAAMY,GAA6B,CACjC,cAAe,IAAM,CACd7gE,EAAM,YACXy8D,EAA0B,MAAK,CACjC,EACA,cAAe,IAAM,CACf,CAACz8D,EAAM,YAAcA,EAAM,aAAe,WAC9Cw8D,EAAmB,MAAQ,IAAI,IAAIwB,EAAc,KAAK,EACxD,EACA,UAAY1kE,GAAU,CACpB,GAAI,CAAC0G,EAAM,WAAY,OACvB,MAAMyQ,EAAOutD,EAAc,MAAM1kE,CAAK,EAClC,CAACmX,GAAQgsD,EAA0B,IAAIhsD,CAAI,IAC3CzQ,EAAM,aAAe,SACvBy8D,EAA0B,IAAI,CAAChsD,CAAI,CAAC,EAEpCgsD,EAA0B,IAAIhsD,CAAI,EAEtC,EACA,YAAcnX,GAAU,CACtB,GAAI,CAAC0G,EAAM,WAAY,OACvB,MAAMyQ,EAAOutD,EAAc,MAAM1kE,CAAK,EAClC,CAACmX,GAAQ,CAACgsD,EAA0B,IAAIhsD,CAAI,GAChDgsD,EAA0B,OAAOhsD,CAAI,CACvC,EACA,cAAgBnX,GAAU,CACxB,GAAI,CAAC0G,EAAM,WAAY,MAAO,GAC9B,MAAMyQ,EAAOutD,EAAc,MAAM1kE,CAAK,EACtC,OAAOmjE,EAA0B,IAAIhsD,CAAI,CAC3C,CACN,EACUqwD,GAAuB,CAC3B,cAAe,CAACtI,EAAUvoC,EAAOnvB,EAAOu5D,EAAW,KAAU,CAC3DrwC,EAAK,eAAgBwuC,EAAUvoC,EAAOnvB,EAAOu5D,CAAQ,EACrDgF,EAAmBpvC,CAAK,CAC1B,EACA,aAAc,CAAC4uC,EAAKvlE,EAAO4H,IAAM,CAC3BlB,EAAM,kBAAoB,IAC5B4+D,EAAmBC,EAAKvlE,EAAO4H,EAAE,SAAUA,EAAE,QAASA,EAAE,OAAO,EAEjE8oB,EAAK,cAAe60C,EAAKvlE,EAAO4H,CAAC,CACnC,EACA,gBAAiB,IAAI7I,IAAS2xB,EAAK,iBAAkB,GAAG3xB,CAAI,EAC5D,iBAAkB,IAAIA,IAAS2xB,EAAK,kBAAmB,GAAG3xB,CAAI,EAC9D,aAAc,IAAIA,IAAS2xB,EAAK,cAAe,GAAG3xB,CAAI,EACtD,eAAgB,IAAIA,IAAS2xB,EAAK,gBAAiB,GAAG3xB,CAAI,EAC1D,mBAAoB,IAAIA,IAAS2xB,EAAK,qBAAsB,GAAG3xB,CAAI,CACzE,EACU0oE,GAAoBrpE,EAAAA,SAAS,KAAO,CACxC,GAAGktB,GAAK5kB,EAAO,CAAC,GAAGmwB,GAAiB,GAAGD,EAAiB,CAAC,EACzD,WAAY,CACV,SAAUosC,EAAU,KAC5B,EACM,MAAOqC,EAAqB,MAC5B,OAAQlF,EAAe,MACvB,WAAY+D,EAAa,MACzB,aAAc3C,EACd,iBAAkBJ,EAClB,GAAI/tC,EAAW,MACf,GAAGo0C,EACT,EAAM,EACF,OAAAzvC,EAAS,CAEP,GAAGwvC,GACH,MAAO7C,EACP,aAAcW,EACd,eAAAhB,EACA,QAASsC,EACf,CAAK,EACM,CAACp8C,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAY2H,GAAa2H,EAAAA,eAAeC,EAAAA,mBAAmBwtC,GAAkB,KAAK,CAAC,EAAGjsB,cAAY,CACpH,cAAe3wB,EAAAA,QAASprB,GAAU,CAChCujE,EAAU,OAASx8D,EAAM,YAAY,GAAKikB,YAAS,EAAIC,EAAAA,YAAYwP,GAAa,CAC9E,IAAK,EACL,MAAOtP,EAAAA,eAAe,CAAC,oBAAqBu5C,EAAkB,KAAK,CAAC,CAChF,EAAa,CACD,QAASt5C,EAAAA,QAAQ,IAAM,CACrBuH,EAAAA,YAAY4zB,GAAa,CACvB,QAASvmD,EAAM,OAAO,MACtC,EAAiB,CACD,QAASorB,EAAAA,QAAQ,IAAM,CACrBE,aAAWR,EAAK,OAAQ,YAAY,CACtD,CAAiB,EACD,EAAG,CACnB,EAAiB,KAAM,CAAC,SAAS,CAAC,CAClC,CAAa,EACD,EAAG,CACf,EAAa,KAAM,CAAC,OAAO,CAAC,GAAK1iB,EAAAA,MAAMnB,CAAK,EAAE,YAAc,IAAQg+D,EAAc,MAAM,SAAW,GAAKj6C,EAAAA,UAAS,EAAIC,EAAAA,YAAYwP,GAAa,CAClI,IAAK,EACL,MAAO,mBACnB,EAAa,CACD,QAASrP,EAAAA,QAAQ,IAAM,CACrBuH,EAAAA,YAAY4zB,GAAa,CACvB,QAASma,EAAe,MAAM,MAC9C,EAAiB,CACD,QAASt1C,EAAAA,QAAQ,IAAM,CACrBiP,EAAAA,mBAAmB,MAAO7P,GAAY,CACpC6P,EAAAA,mBAAmB,MAAOjC,GAAY,CACpC6rC,EAAkB,MAAQ34C,EAAAA,WAAWR,EAAK,OAAQ,iBAAkByP,EAAAA,eAAe3I,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAI+zC,EAAe,KAAK,CAAC,EAAG,IAAM,CACtIp6C,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,iBAAiB,EAAG,CAAC,CAC1F,CAAuB,EAAIqkB,EAAAA,WAAWR,EAAK,OAAQ,QAASyP,EAAAA,eAAe3I,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAI+zC,EAAe,KAAK,CAAC,EAAG,IAAM,CACxGp6C,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAMnB,CAAK,EAAE,SAAS,EAAG,CAAC,CAClF,CAAuB,CACvB,CAAqB,CACrB,CAAmB,CACnB,CAAiB,EACD,EAAG,CACnB,EAAiB,EAAG,CAAC,SAAS,CAAC,CAC/B,CAAa,EACD,EAAG,CACf,CAAW,GAAKwkB,EAAAA,mBAAmB,GAAI,EAAI,CAC3C,CAAS,EACD,EAAG,CACX,EAAS,CACD1kB,EAAM,gBAAgB,EAAI,CACxB,KAAM,iBACN,GAAIqkB,EAAAA,QAASprB,GAAU,CACrBsrB,EAAAA,WAAWR,EAAK,OAAQ,iBAAkByP,EAAAA,eAAeC,EAAAA,mBAAmBx6B,CAAK,CAAC,CAAC,CAC/F,CAAW,EACD,IAAK,GACf,EAAY,OACJ+G,EAAM,WAAW,EAAI,CACnB,KAAM,YACN,GAAIqkB,EAAAA,QAASprB,GAAU,CACrBsrB,EAAAA,WAAWR,EAAK,OAAQ,YAAa8G,EAAAA,WAAW5xB,EAAO,CACrD,cAAe8nE,GAA2B,cAC1C,cAAeA,GAA2B,cAC1C,OAAQpH,EAAe,KACrC,CAAa,CAAC,CACd,CAAW,EACD,IAAK,GACf,EAAY,OACJ35D,EAAM,WAAW,EAAI,CACnB,KAAM,YACN,GAAIqkB,EAAAA,QAASprB,GAAU,CACrBsrB,aAAWR,EAAK,OAAQ,YAAa8G,EAAAA,WAAW5xB,EAAO,CAAE,OAAQ0gE,EAAe,MAAO,CAAC,CACpG,CAAW,EACD,IAAK,GACf,EAAY,OACJ35D,EAAM,SAAS,EAAI,CACjB,KAAM,UACN,GAAIqkB,EAAAA,QAASprB,GAAU,CACrBsrB,aAAWR,EAAK,OAAQ,UAAW8G,EAAAA,WAAW5xB,EAAO,CAAE,OAAQ0gE,EAAe,MAAO,CAAC,CAClG,CAAW,EACD,IAAK,GACf,EAAY,OACJ35D,EAAM,aAAa,EAAI,CACrB,KAAM,cACN,GAAIqkB,EAAAA,QAASprB,GAAU,CACrBsrB,EAAAA,WAAWR,EAAK,OAAQ,cAAe8G,EAAAA,WAAW5xB,EAAO,CACvD,OAAQ0gE,EAAe,MACvB,UAAW,IAAMoH,GAA2B,UAAU9nE,EAAM,KAAK,EACjE,YAAa,IAAM8nE,GAA2B,YAAY9nE,EAAM,KAAK,EACrE,YAAa8nE,GAA2B,cAAc9nE,EAAM,KAAK,CAC/E,CAAa,CAAC,CACd,CAAW,EACD,IAAK,GACf,EAAY,OACJ+G,EAAM,YAAY,EAAI,CACpB,KAAM,aACN,GAAIqkB,EAAAA,QAASprB,GAAU,CACrBsrB,aAAWR,EAAK,OAAQ,aAAc8G,EAAAA,WAAW5xB,EAAO,CAAE,OAAQ0gE,EAAe,MAAO,CAAC,CACrG,CAAW,EACD,IAAK,GACf,EAAY,OACJ35D,EAAM,aAAa,EAAI,CACrB,KAAM,cACN,GAAIqkB,EAAAA,QAASprB,GAAU,CACrBsrB,aAAWR,EAAK,OAAQ,cAAe8G,EAAAA,WAAW5xB,EAAO,CAAE,OAAQ0gE,EAAe,MAAO,CAAC,CACtG,CAAW,EACD,IAAK,GACf,EAAY,OACJ35D,EAAM,eAAe,EAAI,CACvB,KAAM,gBACN,GAAIqkB,EAAAA,QAAQ,IAAM,CAChBE,aAAWR,EAAK,OAAQ,eAAe,CACnD,CAAW,EACD,IAAK,GACf,EAAY,OACJ22B,EAAAA,WAAW2hB,EAAiB,MAAQvmE,IAC3B,CACL,KAAAA,EACA,GAAIuuB,EAAAA,QAASprB,GAAU,CACrBsrB,EAAAA,WAAWR,EAAK,OAAQjuB,EAAM+0B,EAAAA,WAAW5xB,EAAO,CAC9C,UAAW,IAAM8nE,GAA2B,UAAU9nE,EAAM,KAAK,EACjE,YAAa,IAAM8nE,GAA2B,YAAY9nE,EAAM,KAAK,EACrE,YAAa8nE,GAA2B,cAAc9nE,EAAM,KAAK,CACjF,CAAe,CAAC,CAChB,CAAa,CACb,EACS,EACDyhD,EAAAA,WAAW4hB,EAAiB,MAAQxmE,IAC3B,CACL,KAAAA,EACA,GAAIuuB,EAAAA,QAASprB,GAAU,CACrBsrB,EAAAA,WAAWR,EAAK,OAAQjuB,EAAM+0B,EAAAA,WAAW5xB,EAAO,CAC9C,cAAe8nE,GAA2B,cAC1C,cAAeA,GAA2B,aAC1D,CAAe,CAAC,CAChB,CAAa,CACb,EACS,EACDrmB,EAAAA,WAAWif,EAAe,MAAQxpC,IACzB,CACL,KAAM,QAAQ,OAAOA,EAAM,GAAG,CAAC,IAC/B,GAAI9L,EAAAA,QAASprB,GAAK,cAAK,OACrBsrB,EAAAA,WACER,EAAK,OACL/jB,EAAM,QAAQ,OAAOmwB,EAAM,GAAG,CAAC,GAAG,EAAI,QAAQ,OAAOA,EAAM,GAAG,CAAC,IAAM,SACrEtF,EAAAA,WAAW5xB,EAAO,CAChB,cAAe8nE,GAA2B,cAC1C,cAAeA,GAA2B,aAC5D,CAAiB,EACD,IAAM,CACJv8C,EAAAA,gBAAgBC,EAAAA,gBAAgBpjB,EAAAA,MAAM6uB,EAAsB,EAAEC,CAAK,CAAC,EAAG,CAAC,CAC1F,CACA,EACcktC,EAAW,OAAWpkE,EAAM,MAAM,UAAYoI,EAAAA,MAAMnB,CAAK,EAAE,iBAAmB,IAAS+jB,EAAAA,YAAaK,EAAAA,mBAAmBqH,EAAAA,SAAU,CAAE,IAAK,GAAK,GAC3IzxB,GAAA1B,GAAA+jE,EAAY,QAAZ,YAAA/jE,GAAmB,KAAMuI,GAAOA,EAAG,MAAQ9H,EAAM,MAAM,OAAvD,YAAAiB,EAA6D,SAAU,MAAQqqB,EAAAA,WAC7ER,EAAK,OACL/jB,EAAM,WAAW,OAAO/G,EAAM,MAAM,GAAG,CAAC,GAAG,EAAI,WAAW,OAAOA,EAAM,MAAM,GAAG,CAAC,IAAM,YACvFu6B,EAAAA,eAAe3I,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAI5xB,CAAK,CAAC,EAC5C,IAAM,CACJ2yB,EAAAA,YAAYF,GAAa,CACvB,aAAczyB,EAAM,MACpB,UAAWsjE,EAAY,MACvB,yBAA0Bl7D,EAAAA,MAAMnB,CAAK,EAAE,oBAC7D,EAAuB,KAAM,EAAG,CAAC,aAAc,UAAW,wBAAwB,CAAC,CACnF,CACA,IAAoB+iB,GAAAC,EAAAq5C,EAAY,QAAZ,YAAAr5C,EAAmB,KAAMniB,GAAOA,EAAG,MAAQ9H,EAAM,MAAM,OAAvD,YAAAgqB,EAA6D,SAAU,OAASsB,EAAAA,WAClFR,EAAK,OACL/jB,EAAM,YAAY,OAAO/G,EAAM,MAAM,GAAG,CAAC,GAAG,EAAI,YAAY,OAAOA,EAAM,MAAM,GAAG,CAAC,IAAM,aACzFu6B,EAAAA,eAAe3I,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAI5xB,CAAK,CAAC,EAC5C,IAAM,CACJ2yB,EAAAA,YAAYF,GAAa,CACvB,aAAczyB,EAAM,MACpB,UAAWsjE,EAAY,MACvB,yBAA0Bl7D,EAAAA,MAAMnB,CAAK,EAAE,oBAC7D,EAAuB,KAAM,EAAG,CAAC,aAAc,UAAW,wBAAwB,CAAC,CACnF,CACA,EAAoBqkB,EAAAA,WACFR,EAAK,OACL/jB,EAAM,eAAe,OAAO/G,EAAM,MAAM,GAAG,CAAC,GAAG,EAAI,eAAe,OAAOA,EAAM,MAAM,GAAG,CAAC,IAAM,gBAC/Fu6B,EAAAA,eAAe3I,EAAAA,WAAW,CAAE,IAAK,CAAC,EAAI5xB,CAAK,CAAC,EAC5C,IAAM,CACJ2yB,EAAAA,YAAYF,GAAa,CACvB,aAAczyB,EAAM,MACpB,UAAWsjE,EAAY,MACvB,yBAA0Bl7D,EAAAA,MAAMnB,CAAK,EAAE,oBAC7D,EAAuB,KAAM,EAAG,CAAC,aAAc,UAAW,wBAAwB,CAAC,CACnF,CACA,CACA,EAAiB,EAAE,GAAKwkB,qBAAmB,GAAI,EAAI,CACnD,EAAa,CACb,EACS,CACT,CAAO,EAAG,IAAI,EAEZ,CACF,CAAC,ECj/CKgH,GAA8B3rB,EAAAA,gBAAgB,CAEhD,aAAc,GAEhB,OAAQ,OACR,MAAuB+qB,EAAAA,YAAY,CACjC,SAAU,CAAE,QAAS,MAAM,EAC3B,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,GAAI,CAAE,QAAS,MAAM,EACrB,KAAM,CAAE,KAAM,QAAS,QAAS,MAAM,EACtC,YAAa,CAAE,KAAM,QAAS,QAAS,MAAM,EAC7C,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,IAAK,CAAE,QAAS,KAAK,EACrB,MAAO,CAAE,QAAS,MAAM,EACxB,eAAgB,CAAE,QAAS,MAAM,EACjC,eAAgB,CAAE,QAAS,MAAM,EACjC,eAAgB,CAAE,QAAS,MAAM,CACrC,EAAK,CACD,OAAU,CAAE,KAAM,QAChB,QAAS,EACV,EACD,gBAAmB,CAAA,CACvB,CAAG,EACD,MAAO,CAAC,eAAe,EACvB,MAAMpH,EAAS,CAAE,OAAQ6N,CAAQ,EAAI,CAEnC,MAAMrxB,EAAQqjB,EADCG,EACmB,MAAM,EAClC1jB,EAAQ2jB,EAAAA,SAAQ,EAChBxjB,EAAQgqB,EAAAA,SAAQ,EAChB+2C,EAAcj2C,EAAAA,SAASvH,EAAS,QAAQ,EACxCjsB,EAAaC,EAAAA,OAAOzB,GAAkB,IAAI,EAC1CkrE,EAAU3mE,EAAAA,IAAI0F,EAAM,EAAE,EACtBkhE,EAAazgD,GAAM,GAAI,SAAS,EAChCiM,EAAah1B,EAAAA,SAAS,IAAMsI,EAAM,IAAMihE,EAAQ,OAASC,EAAW,KAAK,EACzEC,EAAmB1gD,GAAM,IAAMzgB,EAAM,SAAU,KAAK,EACpDohE,EAAsB9mE,EAAAA,IAAI,EAAK,EAC/BuG,EAAKgqB,EAAAA,eAAe,KAAK,EACzBouB,EAAiBvhD,EAAAA,SAAS,IAAM,CACpC,KAAM,CAAE,QAASwF,EAAG,GAAGmkE,CAAQ,EAAKphE,EACpC,OAAOohE,CACT,CAAC,EACD,SAASC,GAAY,CACnB,GAAI,CAAC/pE,EAAY,OACjB,MAAMu3B,EAAQv3B,EAAW,YACvBG,EAAAA,SACE,KAAO,CACL,WAAYwpE,EAAW,MACvB,GAAIx0C,EAAW,MACf,OAAQs0C,EAAY,MACpB,SAAUG,EAAiB,MAC3B,SAAUnhE,EAAM,SAChB,MAAOA,EAAM,MACb,eAAgBF,EAAM,MACtB,eAAgBE,EAAM,eACtB,eAAgBA,EAAM,eACtB,eAAgBA,EAAM,eACtB,QAASC,EAAM,QACf,GAAAY,CACZ,EACA,CACA,EACUiuB,IAAUmyC,EAAQ,QACpBA,EAAQ,MAAQnyC,EAEpB,CACIv3B,IACF+pE,EAAS,EACLN,EAAY,OACdzpE,EAAW,YAAY2pE,EAAW,KAAK,GAG3CjgD,EAAAA,YAAY,IAAM,CACX1pB,GACLA,EAAW,cAAc2pE,EAAW,KAAK,CAC3C,CAAC,EACD,MAAMjlE,EAAWvE,EAAAA,SAAS,KAAMH,GAAA,YAAAA,EAAY,SAAS,SAAUm1B,EAAW,KAAK,EACzEO,EAAO3yB,EAAAA,IAAI2B,EAAS,KAAK,EACzBslE,EAAe7pE,WAAS,IAAM,CAAC,EAAEH,GAAA,MAAAA,EAAY,KAAK,OAASyI,EAAM,KAAK,EACtEwhE,EAAiB9pE,EAAAA,SAAS,IAAMuE,EAAS,OAAS,CAAC+D,EAAM,QAAQ,EACjEyhE,EAAW/pE,EAAAA,SACf,IAAM8pE,EAAe,OAAS,CAACD,EAAa,OAASA,EAAa,OAAS,CAACvhE,EAAM,aAAeohE,EAAoB,KAC3H,EACIvpE,QAAM4pE,EAAWC,GAAU,CACrBA,GAAS,CAACN,EAAoB,QAAOA,EAAoB,MAAQ,GACvE,CAAC,EACDvpE,QAAMoE,EAAWgnD,GAAW,CAC1B,GAAIA,EAAQ,CACV+d,EAAY,MAAQ,GACpB,WAAW,IAAM,CACf/zC,EAAK,MAAQ,EACf,EAAG,CAAC,EACJ,MACF,CACAA,EAAK,MAAQ,GACb+zC,EAAY,MAAQ,EACtB,CAAC,EACDnpE,QAAMmpE,EAAc/d,GAAW,CAC7B,GAAIjjD,EAAM,SAAU,CAClBghE,EAAY,MAAQ,GACpB,MACF,CACA,GAAKzpE,EACL,IAAI,CAAC0rD,EAAQ,CACPhnD,EAAS,OACX1E,EAAW,YAAY,MAAM,EAE/B,MACF,CACK0E,EAAS,OACZ1E,EAAW,YAAY2pE,EAAW,KAAK,EAE3C,CAAC,EACD,MAAMv9C,EAAkBjsB,EAAAA,SAAS,IAAM,CACrC,CACE,OAAUuE,EAAS,MACnB,KAAQgxB,EAAK,MACb,aAAa11B,GAAA,YAAAA,EAAY,KAAK,QAASyI,EAAM,SAAW,GACxD,KAAQ,EAACzI,GAAA,MAAAA,EAAY,OAAO,MACpC,EACM01B,EAAK,MAAQ11B,GAAA,YAAAA,EAAY,eAAe,MAAQA,GAAA,YAAAA,EAAY,iBAAiB,MAC7EA,GAAA,YAAAA,EAAY,SAAS,KAC3B,CAAK,EACD,OAAA85B,EAAS,CACP,SAAU,IAAM,CACd2vC,EAAY,MAAQ,EACtB,EACA,WAAY,IAAM,CAChBA,EAAY,MAAQ,EACtB,CACN,CAAK,EACM,CAACn9C,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG2qB,aAAW,CACpF,GAAI+B,EAAW,MACf,IAAK,MACL,MAAO,CAAC,WAAY/I,EAAgB,KAAK,EACzC,KAAM,WACN,kBAAmBxiB,EAAAA,MAAMggE,CAAgB,CACjD,EAASloB,EAAe,KAAK,EAAG,CACxB,QAAS90B,EAAAA,QAAQ,IAAM,CACrBs9C,EAAS,MAAQp9C,aAAWR,EAAK,OAAQ,UAAW,CAAE,IAAK,CAAC,CAAE,EAAIW,EAAAA,mBAAmB,GAAI,EAAI,CACvG,CAAS,EACD,EAAG,CACX,EAAS,GAAI,CAAC,KAAM,QAAS,iBAAiB,CAAC,EAE7C,CACF,CAAC,EACKjB,GAAa,CAAC,kBAAkB,EAChC4N,GAAa,CAAC,KAAM,gBAAiB,gBAAiB,WAAY,WAAY,SAAS,EACvF3f,GAA4B3R,EAAAA,gBAAgB,CAChD,OAAQ,QACR,MAAuB+qB,EAAAA,YAAY,CACjC,mBAAoB,CAAE,QAAS,MAAM,EACrC,eAAgB,CAAE,QAAS,MAAM,EACjC,MAAO,CAAE,QAAS,MAAM,EACxB,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,aAAc,CAAE,QAAS,MAAM,EAC/B,IAAK,CAAE,KAAM,QAAS,QAAS,EAAK,EACpC,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,GAAI,CAAE,QAAS,MAAM,EACrB,MAAO,CAAA,EACP,qBAAsB,CAAE,QAAS,MAAM,EACvC,iBAAkB,CAAE,QAAS,MAAM,EACnC,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,SAAU,CAAE,QAAS,MAAM,EAC3B,aAAc,CAAE,QAAS,MAAM,EAC/B,gBAAiB,CAAE,QAAS,MAAM,EAClC,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,WAAY,CAAE,KAAM,QAAS,QAAS,EAAK,EAC3C,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,MAAO,CAAE,KAAM,QAAS,QAAS,EAAK,EACtC,IAAK,CAAE,QAAS,KAAK,EACrB,SAAU,CAAE,QAAS,MAAM,EAC3B,UAAW,CAAE,KAAM,QAAS,QAAS,EAAK,EAC1C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,CAC7C,EAAK,CACD,MAAS,CACP,QAAS,EACf,EACI,eAAkB,CAAA,EAClB,WAAc,CACZ,QAAS,MACf,EACI,eAAkB,CAAA,CACtB,CAAG,EACD,MAAuBA,EAAAA,YAAY,CAAC,cAAc,EAAG,CAAC,eAAgB,mBAAmB,CAAC,EAC1F,MAAMpH,EAAS,CAAE,KAAMuG,CAAM,EAAI,aAE/B,MAAM/pB,EAAQqjB,EADCG,EACmB,OAAO,EACnCwG,EAAOD,EACPjqB,EAAQ2jB,EAAAA,SAAQ,EAChBk+C,EAAc52C,EAAAA,SAASvH,EAAS,OAAO,EACvCo+C,EAAW72C,EAAAA,SAASvH,EAAS,YAAY,EACzCq+C,EAAmBpiE,GAAsB,EACzCqiE,EAAexnE,EAAAA,IAAI,EAAE,EACrBynE,EAAmBznE,EAAAA,IAAI,EAAE,EACzB0nE,EAAgB1nE,EAAAA,IAAI,EAAK,EACzB2nE,EAAa3nE,EAAAA,IAAI,EAAE,EACnB4nE,EAAyB,IAAM,OACnC,MAAMC,EAAcrpB,KAAiBxgD,EAAAwH,EAAM,UAAN,YAAAxH,EAAA,KAAAwH,EAAgB,CAAA,KAAO,EAAE,EAC9DiiE,EAAiB,OAAS,MAAM,QAAQI,CAAW,EAAIA,EAAc,CAACA,CAAW,GAAG,OACjFC,GAAQA,EAAI,OAAS52C,EAC9B,EACUy2C,EAAW,MAAM,SAAW,IAC9BA,EAAW,MAAQF,EAAiB,MAAM,IACvCK,GAAQjhE,EAAAA,MAAMsf,GAAM,IAAA,OAAM,OAAAnoB,EAAA8pE,EAAI,QAAJ,YAAA9pE,EAAW,IAAI,SAAS,CAAC,CAC9D,GAEM0pE,EAAc,MAAQD,EAAiB,MAAM,KAC1CK,GAAG,SAAK,QAAA9pE,EAAA8pE,EAAI,QAAJ,YAAA9pE,EAAW,UAAW,UAAU0B,EAAAooE,EAAI,QAAJ,YAAApoE,EAAW,UAAW,GACvE,CACI,EACAkoE,EAAsB,EACtBrqE,EAAAA,MACE,WAAM,OAAAS,EAAAwH,EAAM,UAAN,YAAAxH,EAAA,KAAAwH,EAAgB,KACtB,IAAM,CACJoiE,EAAsB,EACtBxjE,EAAAA,SAAS,IAAM,CACb2jE,EAAQ,CACV,CAAC,CACH,CACN,EACI,MAAMC,EAAO5qE,EAAAA,SAAS,IAAM,CAC1B,GAAIoqE,EAAa,MAAM,SAAW,EAAG,CACnC,MAAMS,EAAeR,EAAiB,MAAM,UACzCK,GAAG,SAAK,QAAA9pE,EAAA8pE,EAAI,QAAJ,YAAA9pE,EAAW,UAAW,SAAW8pE,EAAI,MAAM,WAAa,IAASA,EAAI,MAAM,WAAa,SAAWR,EAAS,SAAS5nE,EAAAooE,EAAI,QAAJ,YAAApoE,EAAW,MAAO4nE,EAAS,MACnK,EACQ,OAAOG,EAAiB,MAAM,IAAI,CAACK,EAAK9oE,IAAU,iCAChD,MAAM2pD,EAASsf,IAAiB,GAAKjpE,IAAUipE,EAAeZ,EAAY,MAAQ,GAAKroE,IAAUqoE,EAAY,MAAQroE,IAAU,EAC/H,MAAO,CACL,KAAIhB,EAAA8pE,EAAI,QAAJ,YAAA9pE,EAAW,KAAM2pE,EAAW,MAAM3oE,CAAK,EAC3C,WAAY,YAAYA,CAAK,GAE7B,UAAUU,GAAAooE,EAAI,QAAJ,YAAApoE,GAAW,SACrB,UAAUgpB,GAAAo/C,EAAI,QAAJ,YAAAp/C,GAAW,SACrB,OAAOD,GAAAq/C,EAAI,QAAJ,YAAAr/C,GAAW,MAClB,gBAAgB2F,GAAA05C,EAAI,WAAJ,YAAA15C,GAAc,MAC9B,gBAAgBD,GAAA25C,EAAI,QAAJ,YAAA35C,GAAW,eAC3B,gBAAgBD,GAAA45C,EAAI,QAAJ,YAAA55C,GAAW,eAC3B,gBAAgBD,EAAA65C,EAAI,QAAJ,YAAA75C,EAAW,eAC3B,SAAS4N,EAAAisC,EAAI,QAAJ,YAAAjsC,EAAW,QACpB,OAAA8sB,EACA,eAAgB,CACd,CACE,OAAAA,EACA,SAAU,IAAE7sB,EAAAgsC,EAAI,QAAJ,YAAAhsC,EAAW,YAAa,MAASC,EAAA+rC,EAAI,QAAJ,YAAA/rC,EAAW,YAAa,OACrF,EACc4sB,EAASjjD,EAAM,mBAAqBA,EAAM,qBAC1CA,EAAM,YACpB,CACA,CACQ,CAAC,CACH,CACA,OAAO8hE,EAAa,MAAM,IAAKU,GAAS,CACtC,MAAMJ,EAAMjhE,EAAAA,MAAMqhE,CAAI,EAChBvf,EAASmf,EAAI,KAAOR,EAAS,MACnC,MAAO,CACL,GAAGQ,EACH,OAAAnf,EACA,eAAgB,CACd,CACE,OAAAA,EACA,SAAUmf,EAAI,QAC5B,EACYnf,EAASjjD,EAAM,mBAAqBA,EAAM,qBAC1CA,EAAM,YAClB,CACA,CACM,CAAC,CACH,CAAC,EACD,IAAIyiE,EAAc,GACdC,EAA2B,GAC3BC,EAAwB,GACxBhB,EAAY,QAAU,IAAMC,EAAS,MACnCU,EAAK,MAAM,UAAW5qD,GAAMA,EAAE,KAAOkqD,EAAS,KAAK,IAAM,GAC3DD,EAAY,MAAQW,EAAK,MAAM,UAAW5qD,GAAMA,EAAE,KAAOkqD,EAAS,KAAK,EAEvEc,EAA2B,GAEpBf,EAAY,MAAQ,IAAM,CAACC,EAAS,OACzCtpE,EAAAgqE,EAAK,MAAMX,EAAY,KAAK,IAA5B,MAAArpE,EAA+B,GACjCspE,EAAS,OAAQ5nE,EAAAsoE,EAAK,MAAMX,EAAY,KAAK,IAA5B,YAAA3nE,EAA+B,GAEhD2oE,EAAwB,GAEjBhB,EAAY,QAAU,IAAM,CAACC,EAAS,OAAS,CAACI,EAAc,OACvEL,EAAY,MAAQW,EAAK,MAAM,UAAW5qD,GAAMA,EAAE,WAAa,QAAUA,EAAE,WAAa,EAAK,EAC7FkqD,EAAS,OAAQ5+C,EAAAs/C,EAAK,MAAMX,EAAY,KAAK,IAA5B,YAAA3+C,EAA+B,IACvC2+C,EAAY,QAAU,IAAM,CAACC,EAAS,OAASI,EAAc,QACtEL,EAAY,MAAQW,EAAK,MAAM,UAC5B5qD,GAAMA,EAAE,SAAW,QAAUA,EAAE,SAAW,KAAUA,EAAE,WAAa,QAAUA,EAAE,WAAa,GACrG,EACMkqD,EAAS,OAAQ7+C,EAAAu/C,EAAK,MAAMX,EAAY,KAAK,IAA5B,YAAA5+C,EAA+B,IAElD,SAAS6/C,GAA0B,OACjC,GAAIF,EAA0B,CAC5B,MAAMppE,EAAQgpE,EAAK,MAAM,UAAW5qD,GAAMA,EAAE,KAAOkqD,EAAS,KAAK,EAC7DtoE,IAAU,IACZoF,EAAAA,SAAS,IAAM,CACbijE,EAAY,MAAQroE,EACpBopE,EAA2B,EAC7B,CAAC,CAEL,CACIC,GACEhB,EAAY,MAAQ,KAAMrpE,EAAAgqE,EAAK,MAAMX,EAAY,KAAK,IAA5B,MAAArpE,EAA+B,IAC3DoG,EAAAA,SAAS,IAAM,OACbkjE,EAAS,OAAQtpE,EAAAgqE,EAAK,MAAMX,EAAY,KAAK,IAA5B,YAAArpE,EAA+B,GAChDqqE,EAAwB,EAC1B,CAAC,CAGP,CACAC,EAAuB,EACvB,MAAMC,EAAYnrE,WAAS,IAAM,EAAE4qE,GAAA,MAAAA,EAAM,OAASA,EAAK,MAAM,OAAS,EAAE,EAClE3+C,EAAkBjsB,EAAAA,SAAS,KAAO,CACtC,SAAUsI,EAAM,SAChB,oBAAqBA,EAAM,QACjC,EAAM,EACIu6B,EAAY+nB,GAAa,IAAMtiD,EAAM,KAAK,EAC1C8iE,EAAiBprE,EAAAA,SAAS,KAAO,CACrC,YAAasI,EAAM,MACnB,gBAAiBA,EAAM,UACvB,mBAAoBA,EAAM,SAC1B,CAACu6B,EAAU,KAAK,EAAGv6B,EAAM,QAAU,OACnC,WAAYA,EAAM,KAClB,mBAAoBA,EAAM,MAAQ,CAACA,EAAM,OAAS,CAACA,EAAM,UACzD,oBAAqBA,EAAM,MAAQA,EAAM,MACzC,gBAAiBA,EAAM,UACvB,WAAY,CAACA,EAAM,YAAc,CAACA,EAAM,OAAS,CAACA,EAAM,UACxD,MAASA,EAAM,KACrB,EAAM,EACI+iE,EAAc,CAACjiE,EAAOxH,IAAU,cACpC,GAAIA,GAAS,GAAK,CAACgpE,EAAK,MAAMhpE,CAAK,EAAE,YAAYhB,EAAAgqE,EAAK,MAAMhpE,CAAK,IAAhB,MAAAhB,EAAmB,UAAW,OAAOgqE,EAAK,MAAMhpE,CAAK,EAAE,SAAY,cAClH0pB,GAAAhpB,EAAAsoE,EAAK,MAAMhpE,CAAK,GAAE,UAAlB,MAAA0pB,EAAA,KAAAhpB,EAA4B8G,GACxBA,EAAM,kBAAkB,EAC1BiiB,GAAA,SAAS,eAAeu/C,EAAK,MAAMhpE,CAAK,EAAE,QAAQ,IAAlD,MAAAypB,GAAqD,OACrD,MACF,CAEF4+C,EAAY,MAAQroE,CACtB,EACM0pD,EAAS,CAAC9hD,EAAGjD,IAAc,CAC3BqkE,EAAK,MAAM,QAAU,GAAKtiE,EAAM,WACpCkB,EAAE,eAAc,EAChBA,EAAE,gBAAe,EACjBygE,EAAY,MAAQrgC,EAAUqgC,EAAY,MAAQ1jE,EAAWA,CAAS,EACtES,EAAAA,SAAS,IAAM,SACTijE,EAAY,OAAS,KACvB3nE,EAAA,SAAS,gBAAe1B,EAAAgqE,EAAK,MAAMX,EAAY,KAAK,IAA5B,YAAArpE,EAA+B,QAAQ,IAA/D,MAAA0B,EAAkE,QAEtE,CAAC,EACH,EACMsnC,EAAY,CAAC/H,EAAOt7B,IAAc,CACtC,IAAI3E,EAAQigC,EACRypC,EAAS,GACTC,EAAS,GACb,QAASt4D,GAAI,EAAGA,GAAI23D,EAAK,MAAM,OAAQ33D,KAChC23D,EAAK,MAAM33D,EAAC,EAAE,WACbq4D,IAAW,KAAIA,EAASr4D,IAC5Bs4D,EAASt4D,IAGb,KAAOrR,GAAS0pE,GAAU1pE,GAAS2pE,GAAUX,EAAK,MAAMhpE,CAAK,EAAE,UAC7DA,GAAS2E,EAEX,OAAI3E,EAAQ0pE,IAAQ1pE,EAAQ0pE,GACxB1pE,EAAQ2pE,IAAQ3pE,EAAQ2pE,GACrB3pE,CACT,EACA,IAAI06B,EACAkvC,EAAc,GAClBrrE,EAAAA,MAAM8pE,EAAa,CAAC7pE,EAAUqR,IAAa,sBACzC,GAAIm5D,EAAK,MAAM,QAAU,GAAKA,EAAK,MAAM,OAAQ5qD,IAAM,CAACA,GAAE,QAAQ,EAAE,QAAU,EAC5E,OAEF,GAAIwrD,EAAa,CACfA,EAAc,GACd,MACF,CACA,MAAM5pE,EAAQgoC,EAAUxpC,EAAUA,EAAWqR,EAAW,EAAI,EAAE,EAC9D,GAAI7P,IAAUxB,EAAU,CACtBk8B,EAAgB7qB,EAChBw4D,EAAY,MAAQroE,EACpB,MACF,CACA,MAAM6pE,EAAW,IAAIp3C,GAAQ,eAAgB,CAAE,WAAY,GAAM,EASjE,GARA/B,EACE,gBACA1xB,EAAAgqE,EAAK,MAAMhpE,CAAK,IAAhB,YAAAhB,EAAmB,IACnB0B,GAAAsoE,EAAK,MAAMtuC,GAAiB7qB,CAAQ,IAApC,YAAAnP,GAAuC,GACvCV,EACA06B,GAAiB7qB,EACjBg6D,CACR,EACUA,EAAS,iBAAkB,CAC7BD,EAAc,GACd,MAAMtyD,GAAOojB,GAAiB7qB,GAAYm4B,EAAU,EAAG,CAAC,EACxDtN,EAAgB,OACZ4tC,EAAS,UAAU5+C,GAAAs/C,EAAK,MAAM1xD,EAAI,IAAf,YAAAoS,GAAkB,MACvC4+C,EAAS,OAAQ7+C,GAAAu/C,EAAK,MAAM1xD,EAAI,IAAf,YAAAmS,GAAkB,IAErCrkB,EAAAA,SAAS,IAAM,SACTkS,IAAQ,KACV5W,EAAA,SAAS,gBAAe1B,EAAAgqE,EAAK,MAAM1xD,EAAI,IAAf,YAAAtY,EAAkB,QAAQ,IAAlD,MAAA0B,EAAqD,QAEzD,CAAC,EACD,MACF,CACI4nE,EAAS,UAAUl5C,GAAA45C,EAAK,MAAMhpE,CAAK,IAAhB,YAAAovB,GAAmB,MACxCk5C,EAAS,OAAQn5C,GAAA65C,EAAK,MAAMhpE,CAAK,IAAhB,YAAAmvB,GAAmB,IAEtCuL,EAAgB,MAClB,CAAC,EACDn8B,EAAAA,MAAM+pE,EAAU,CAAC9pE,EAAUqR,IAAa,OACtC,GAAIm5D,EAAK,MAAM,QAAU,GAAKA,EAAK,MAAM,OAAQ5qD,IAAM,CAACA,GAAE,QAAQ,EAAE,QAAU,EAC5E,OAEF,MAAMpe,EAAQgpE,EAAK,MAAM,UAAW5qD,IAAMA,GAAE,KAAO5f,CAAQ,EAC3D,GAAIwB,IAAUqoE,EAAY,MAAO,OACjC,MAAMyB,EAAWd,EAAK,MAAM,UAAW5qD,IAAMA,GAAE,KAAOvO,CAAQ,EAC9D,IAAI7Q,EAAAgqE,EAAK,MAAMhpE,CAAK,IAAhB,MAAAhB,EAAmB,SAAU,CAC/BqpE,EAAY,MAAQrgC,EAAUhoC,EAAOA,EAAQ8pE,EAAW,EAAI,EAAE,EAC9D,MACF,CACA,GAAI9pE,IAAU,GAAI,CAChBqoE,EAAY,MAAQrgC,EAAU,EAAG,CAAC,EAClC5iC,EAAAA,SAAS,IAAM,QACbkjE,EAAS,OAAQtpE,GAAAgqE,EAAK,MAAMX,EAAY,KAAK,IAA5B,YAAArpE,GAA+B,EAClD,CAAC,EACD,MACF,CACAqpE,EAAY,MAAQroE,CACtB,CAAC,EACD,MAAM+pE,EAAejB,GAAQ,CAC3B,MAAMxzC,EAAMkzC,EAAa,MAAM,UAAWpqD,GAAMA,EAAE,MAAM,aAAe0qD,EAAI,MAAM,UAAU,EACvFxzC,IAAQ,IACVkzC,EAAa,MAAM,KAAKM,CAAG,EACvBK,GACF/jE,EAAAA,SAAS,IAAM,CACb2jE,EAAQ,CACV,CAAC,IAGHP,EAAa,MAAMlzC,CAAG,EAAIwzC,EACtBK,GACFJ,EAAQ,GAGZ,MAAMiB,EAAOxB,EAAa,MAAM,UAAWpqD,GAAMA,EAAE,MAAM,aAAe0qD,EAAI,MAAM,UAAU,EAC5F,OAAOA,EAAI,MAAM,KAAQK,EAAuCL,EAAI,MAAM,WAAnCH,EAAW,MAAMqB,CAAI,EAC9D,EACA7kE,EAAAA,UAAU,IAAM,CACdmkE,EAAuB,EACvBP,EAAQ,EACRI,EAAc,EAChB,CAAC,EACD,MAAMJ,EAAW,IAAM,CACrBP,EAAa,MAAM,KAAK,CAACj7D,EAAGC,IAAM4a,GAA2B7a,EAAE,MAAM,GAAG,MAAOC,EAAE,MAAM,GAAG,KAAK,CAAC,EAC5F86D,EAAS,OAASD,EAAY,QAAUW,EAAK,MAAM,UAAW5qD,GAAMA,EAAE,KAAOkqD,EAAS,KAAK,IAC7FD,EAAY,MAAQW,EAAK,MAAM,UAAW5qD,GAAMA,EAAE,KAAOkqD,EAAS,KAAK,EAE3E,EACM2B,EAAiBjsE,GAAO,CAC5BwqE,EAAa,MAAQA,EAAa,MAAM,OAAQpqD,GAAMA,EAAE,MAAM,aAAepgB,CAAE,CACjF,EACA2Z,OAAAA,EAAAA,QAAQlb,GAAkB,CACxB,KAAMkE,EAAAA,MAAM,IAAM+F,EAAM,IAAI,EAC5B,KAAM/F,EAAAA,MAAM,IAAM+F,EAAM,IAAI,EAC5B,OAAQ/F,EAAAA,MAAM,IAAM+F,EAAM,MAAM,EAChC,eAAgB/F,EAAAA,MAAM,IAAM+F,EAAM,cAAc,EAChD,iBAAkB/F,EAAAA,MAAM,IAAM+F,EAAM,gBAAgB,EACpD,SAAU/F,EAAAA,MAAM,IAAM+F,EAAM,QAAQ,EACpC,YAAAqjE,EACA,cAAAE,EACA,SAAA3B,EACA,YAAcV,GAAe,CAC3B,MAAMtyC,EAAM0zC,EAAK,MAAM,UAAW5qD,GAAMA,EAAE,aAAewpD,CAAU,EACnE,GAAIA,IAAe,QAAUtyC,IAAQ,GAAI,CACvC+yC,EAAY,MAAQrgC,EAAU,EAAG,CAAC,EAClC,MACF,CACAqgC,EAAY,MAAQ/yC,CACtB,CACN,CAAK,EACM,CAAC/K,EAAMC,KACLC,EAAAA,UAAS,EAAIC,cAAYC,EAAAA,wBAAwB9iB,EAAAA,MAAMnB,CAAK,EAAE,GAAG,EAAG,CACzE,GAAImB,EAAAA,MAAMnB,CAAK,EAAE,GACjB,MAAOkkB,EAAAA,eAAe,CAAC,OAAQP,EAAgB,KAAK,CAAC,CAC7D,EAAS,CACD,QAASQ,EAAAA,QAAQ,IAAM,CACrBuH,EAAAA,YAAYvqB,EAAAA,MAAM0gE,CAAgB,EAAE,OAAQ,KAAM,CAChD,QAAS19C,EAAAA,QAAQ,IAAM,CACrBiP,EAAAA,mBAAmB,MAAO,CACxB,MAAOlP,EAAAA,eAAe,CAAC,cAAe/iB,EAAAA,MAAMnB,CAAK,EAAE,YAAY,CAAC,CAChF,EAAiB,CACDqkB,aAAWR,EAAK,OAAQ,SAAS,EACjCg/C,EAAU,OAAS9+C,EAAAA,YAAaK,EAAAA,mBAAmB,MAAO,CACxD,IAAK,eACL,MAAOF,EAAAA,eAAe,CAAC,kBAAmB,CAAE,YAAa/iB,QAAMnB,CAAK,EAAE,KAAM,CAAC,CAC/F,EAAmB,CACDqkB,aAAWR,EAAK,OAAQ,OAAO,CACjD,EAAmB,CAAC,GAAKW,qBAAmB,GAAI,EAAI,CACpD,EAAiB,CAAC,CAClB,CAAa,EACD,EAAG,CACf,CAAW,EACDrjB,EAAAA,MAAMnB,CAAK,EAAE,KAAO+jB,EAAAA,UAAS,EAAIC,EAAAA,YAAY7iB,QAAM0gE,CAAgB,EAAE,MAAO,CAAE,IAAK,CAAC,CAAE,GAAKr9C,EAAAA,mBAAmB,GAAI,EAAI,EACtH4O,EAAAA,mBAAmB,MAAO,CACxB,MAAOlP,EAAAA,eAAe,CACpB/iB,EAAAA,MAAMnB,CAAK,EAAE,gBACb,CAAE,cAAemB,EAAAA,MAAMnB,CAAK,EAAE,KAAM,UAAW6jB,EAAK,UAAY1iB,QAAMnB,CAAK,EAAE,GAAG,CAC9F,CAAa,CACb,EAAa,CACDozB,EAAAA,mBAAmB,KAAM,CACvB,MAAOlP,EAAAA,eAAe,CAAC,MAAO,CAAC4+C,EAAe,MAAO3hE,EAAAA,MAAMnB,CAAK,EAAE,QAAQ,CAAC,CAAC,EAC5E,KAAM,UACN,mBAAoBmB,EAAAA,MAAMnB,CAAK,EAAE,SAAW,WAAa,YACvE,EAAe,CACDqkB,aAAWR,EAAK,OAAQ,YAAY,GACnCE,EAAAA,UAAU,EAAI,EAAGK,EAAAA,mBAAmBqH,WAAU,KAAM+uB,EAAAA,WAAW8nB,EAAK,MAAO,CAACF,EAAKxzC,KACzE7K,EAAAA,UAAS,EAAIK,EAAAA,mBAAmB,KAAM,CAC3C,IAAKg+C,EAAI,IAAMA,EAAI,WACnB,MAAOl+C,EAAAA,eAAe,CAAC,WAAYk+C,EAAI,cAAc,CAAC,EACtD,KAAM,cACxB,EAAmB,CACDhvC,EAAAA,mBAAmB,SAAUzI,aAAW,CACtC,GAAIy3C,EAAI,SACR,MAAO,CAAC,WAAY,CAACA,EAAI,eAAgBA,EAAI,cAAc,CAAC,EAC5D,KAAM,MACN,gBAAiBA,EAAI,GACrB,gBAAiBA,EAAI,OACrB,SAAUA,EAAI,SACd,SAAUjhE,EAAAA,MAAMnB,CAAK,EAAE,UAAoBoiE,EAAI,OAAb,OAA+B,GACjE,KAAM,QAC1B,EAAqB,CAAE,QAAS,IAAQA,EAAI,eAAgB,CACxC,UAAW,CACTt+C,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI0/C,EAAAA,SAASnwC,EAAAA,cAAezH,GAAW,CAACzqB,EAAAA,MAAMnB,CAAK,EAAE,UAAYgjD,EAAOp3B,EAAQ,EAAE,EAAG,CAAC,OAAO,CAAC,EAAG,CAAC,MAAM,CAAC,GAC/H9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI0/C,EAAAA,SAASnwC,EAAAA,cAAezH,GAAW,CAACzqB,EAAAA,MAAMnB,CAAK,EAAE,UAAYgjD,EAAOp3B,EAAQ,IAAI,EAAG,CAAC,OAAO,CAAC,EAAG,CAAC,MAAM,CAAC,GACjI9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI0/C,EAAAA,SAASnwC,EAAAA,cAAezH,GAAWzqB,QAAMnB,CAAK,EAAE,UAAYgjD,EAAOp3B,EAAQ,EAAE,EAAG,CAAC,OAAO,CAAC,EAAG,CAAC,IAAI,CAAC,GAC5H9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI0/C,EAAAA,SAASnwC,EAAAA,cAAezH,GAAWzqB,QAAMnB,CAAK,EAAE,UAAYgjD,EAAOp3B,EAAQ,IAAI,EAAG,CAAC,OAAO,CAAC,EAAG,CAAC,IAAI,CAAC,GAC9H9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI0/C,EAAAA,SAASnwC,EAAAA,cAAezH,GAAW,CAACzqB,EAAAA,MAAMnB,CAAK,EAAE,UAAYgjD,EAAOp3B,EAAQ,CAAC,EAAG,CAAC,OAAO,CAAC,EAAG,CAAC,OAAO,CAAC,GAC/H9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI0/C,EAAAA,SAASnwC,EAAAA,cAAezH,GAAW,CAACzqB,EAAAA,MAAMnB,CAAK,EAAE,UAAYgjD,EAAOp3B,EAAQ,GAAG,EAAG,CAAC,OAAO,CAAC,EAAG,CAAC,OAAO,CAAC,GACjI9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI0/C,EAAAA,SAASnwC,EAAAA,cAAezH,GAAWzqB,QAAMnB,CAAK,EAAE,UAAYgjD,EAAOp3B,EAAQ,CAAC,EAAG,CAAC,OAAO,CAAC,EAAG,CAAC,MAAM,CAAC,GAC7H9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI0/C,EAAAA,SAASnwC,EAAAA,cAAezH,GAAWzqB,QAAMnB,CAAK,EAAE,UAAYgjD,EAAOp3B,EAAQ,GAAG,EAAG,CAAC,OAAO,CAAC,EAAG,CAAC,MAAM,CAAC,GAC/H9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI0/C,EAAAA,SAAU53C,GAAWo3B,EAAOp3B,EAAQ,IAAI,EAAG,CAAC,SAAS,CAAC,GAChF9H,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI0/C,EAAAA,SAAU53C,GAAWo3B,EAAOp3B,EAAQ,GAAG,EAAG,CAAC,WAAW,CAAC,GACjF9H,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAI0/C,EAAAA,SAAU53C,GAAWo3B,EAAOp3B,EAAQ,IAAI,EAAG,CAAC,MAAM,CAAC,GAC/E9H,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAI0/C,EAAAA,SAAU53C,GAAWo3B,EAAOp3B,EAAQ,GAAG,EAAG,CAAC,KAAK,CAAC,EACnG,EACoB,QAASyH,EAAAA,cAAenyB,GAAM6hE,EAAY7hE,EAAG0tB,CAAG,EAAG,CAAC,MAAM,CAAC,CAC/E,CAAmB,EAAG,CACFwzC,EAAI,gBAAkBr+C,YAAS,EAAIC,EAAAA,YAAYC,0BAAwBm+C,EAAI,cAAc,EAAG,CAAE,IAAK,CAAC,CAAE,IAAMr+C,EAAAA,YAAaK,EAAAA,mBAAmBqH,EAAAA,SAAU,CAAE,IAAK,GAAK,CAChKnH,EAAAA,gBAAgBC,EAAAA,gBAAgB69C,EAAI,KAAK,EAAG,CAAC,CACnE,EAAuB,EAAE,EACzB,EAAqB,GAAIjxC,EAAU,CACnC,EAAmB,CAAC,EACL,EAAG,GAAG,GACP9M,aAAWR,EAAK,OAAQ,UAAU,CAChD,EAAe,GAAIN,EAAU,CAC7B,EAAa,CAAC,EACHpiB,EAAAA,MAAMnB,CAAK,EAAE,IAA8EwkB,EAAAA,mBAAmB,GAAI,EAAI,GAAlGT,EAAAA,UAAS,EAAIC,EAAAA,YAAY7iB,EAAAA,MAAM0gE,CAAgB,EAAE,MAAO,CAAE,IAAK,CAAC,CAAE,EACjG,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,KAAM,OAAO,CAAC,EAEzB,CACF,CAAC,EC5jBKrwD,GAA4B3R,EAAAA,gBAAgB,CAE9C,aAAc,GAEhB,OAAQ,qBACR,MAAO,CACL,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,iBAAkB,CAAE,KAAM,QAAS,QAAS,EAAK,EACjD,WAAY,CAAE,QAAS,MAAM,CACjC,EACE,MAAM2jB,EAAS,CAAE,OAAQ6N,CAAQ,EAAI,CAEnC,MAAMrxB,EAAQqjB,EADCG,EACmB,oBAAoB,EAChD0uC,EAAQ75B,GAAQ,EACtB,IAAI85B,EAAqB,GACzB,OAAKD,EAAM,yBAAyB,QAClCC,EAAqB,IAEnB,QAAQ,IAAI,WAAa,eAC3B,QAAQ,KAAK,6DAA6D,EAE5Et6D,EAAAA,MACE,IAAMmI,EAAM,YACXxK,GAAU,CACT08D,EAAM,eAAe,MAAQ18D,CAC/B,EACA,CAAE,UAAW,EAAI,CACvB,EACI67B,EAAS,CACP,GAAG6gC,CACT,CAAK,EACM,CAACruC,EAAMC,KACLC,EAAAA,UAAS,EAAIC,EAAAA,YAAYwH,GAAa,CAC3C,GAAIrqB,EAAAA,MAAMnB,CAAK,EAAE,WACjB,SAAUmB,EAAAA,MAAMnB,CAAK,EAAE,gBAC/B,EAAS,CACD,QAASmkB,EAAAA,QAAQ,IAAM,CACrBhjB,QAAMgxD,CAAkB,GAAKpuC,YAAS,EAAIC,EAAAA,YAAY2H,GAAa2H,EAAAA,eAAe3I,EAAAA,WAAW,CAAE,IAAK,GAAK9G,EAAK,MAAM,CAAC,EAAG,KAAM,EAAE,GAAKW,qBAAmB,GAAI,EAAI,CAC1K,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,KAAM,UAAU,CAAC,EAE5B,CACF,CAAC,ECOKlrB,GAAwB,OAAO,OAAuB,OAAO,eAAe,CAChF,UAAW,KACX,WAAYkY,GACZ,eAAgBga,GAChB,OAAQG,GACR,KAAM6H,GACN,QAAS2E,GACT,aAAcwnB,GACd,OAAQD,GACR,YAAaJ,GACb,gBAAiBG,GACjB,QAAS+b,GACT,aAAciI,GACd,eAAgBC,GAChB,MAAOC,GACP,UAAWC,GACX,YAAaC,GACb,WAAYC,GACZ,YAAaC,GACb,SAAUC,GACV,cAAeC,GACf,UAAWC,GACX,WAAYC,GACZ,UAAWC,GACX,eAAgBC,GAChB,aAAcC,GACd,KAAMC,GACN,UAAWC,GACX,WAAYC,GACZ,UAAWC,GACX,iBAAkBC,GAClB,cAAeC,GACf,eAAgBC,GAChB,gBAAiBC,GACjB,cAAeC,GACf,oBAAqBC,GACrB,cAAeC,GACf,MAAOC,GACP,cAAeC,GACf,mBAAoBC,GACpB,cAAeC,GACf,UAAWC,GACX,mBAAoBC,GACpB,WAAYC,GACZ,WAAYC,GACZ,qBAAsBC,GACtB,WAAYC,GACZ,gBAAiBC,GACjB,YAAaC,GACb,SAAUC,GACV,YAAaC,GACb,kBAAmBC,GACnB,uBAAwBC,GACxB,gBAAiBC,GACjB,SAAUC,GACV,UAAWC,GACX,UAAWC,GACX,cAAeC,GACf,mBAAoBC,GACpB,KAAMC,GACN,OAAQf,GACR,YAAagB,GACb,gBAAiBC,GACjB,MAAOC,GACP,WAAYC,GACZ,eAAgBC,GAChB,OAAQC,GACR,mBAAoBC,GACpB,KAAMC,GACN,SAAUC,GACV,SAAUC,GACV,iBAAkBC,GAClB,SAAUC,GACV,QAASC,GACT,aAAcC,GACd,WAAYC,GACZ,cAAeC,GACf,WAAYC,GACZ,cAAeC,GACf,SAAUC,GACV,YAAaC,GACb,aAAcC,GACd,mBAAoBC,GACpB,iBAAkBC,GAClB,kBAAmBC,GACnB,oBAAqBC,GACrB,SAAUC,GACV,qBAAsBC,GACtB,UAAWC,GACX,aAAcC,GACd,KAAMC,GACN,SAAUC,GACV,KAAMC,GACN,OAAQC,GACR,WAAYC,GACZ,aAAcC,GACd,MAAOC,GACP,OAAQC,GACR,IAAKC,GACL,OAAQC,GACR,IAAKC,GACL,OAAQC,GACR,OAAQC,GACR,mBAAoBC,GACpB,SAAUC,GACV,IAAKC,EACP,EAAG,OAAO,YAAa,CAAE,MAAO,QAAQ,CAAE,CAAC,EChKrCC,GAAQ,qBACRC,GAAqB,CAACxtE,EAASg4C,IAAW,CAC9C,KAAM,CAAE,IAAAy1B,EAAK,GAAGC,CAAM,EAAK1tE,EACrB2tE,EAAa,CAAA,EACfF,GACFz1B,EAAO,QAASlzC,GAAO,CACrB6oE,EAAW7oE,CAAE,EAAI2oE,CACnB,CAAC,EAEH,MAAMG,EAAQ,CAAE,GAAGD,EAAY,GAAGD,CAAM,EACxC,OAAO,OAAO,QAAQE,CAAK,EAAE,OAAO,CAAC,CAAC/zE,EAAMJ,CAAK,IAAM,CAAC,CAACA,GAASu+C,EAAO,SAASn+C,CAAI,CAAC,EAAE,IAAI,CAAC,CAACA,CAAI,IAAMA,CAAI,CAC/G,EACMg0E,GAAiC,IAAI,IACrCC,GAAiC,IAAI,IACrCC,GAA2B,OAAO,OACtC,CAAC,CACC,QAAAC,EAAU,CAAA,EACV,WAAAC,EAAa,GACb,WAAAC,EAAa,EACjB,EAAM,KAAO,CAET,MAAMC,EAAcX,GADO,OAAOU,GAAe,UAAY,CAAE,IAAKA,CAAU,EAAKA,EACxB94D,EAAc,EAAE,OACzE,CAAC4sD,EAAKnoE,KACJmoE,EAAI,IAAInoE,EAAM,GAAG0zE,EAAK,GAAGp4D,GAA2Btb,CAAI,CAAC,EAAE,EACpDmoE,GAEO,IAAI,GAC1B,EAEUoM,EAAaZ,GADQ,OAAOS,GAAe,UAAY,CAAE,IAAKA,CAAU,EAAKA,EACzB34D,EAAc,EAAE,OACxE,CAAC0sD,EAAKqM,IAAc,CAClB,MAAM7xE,EAAM6xE,EAAU,YAAW,EAAG,WAAW,GAAG,EAAIA,EAAY,IAAIA,CAAS,GAC/E,OAAArM,EAAI,IAAIxlE,EAAK,GAAG+wE,EAAK,GAAGl4D,GAA2B7Y,CAAG,CAAC,EAAE,EAClDwlE,CACT,EACgB,IAAI,GAC1B,EAuCI,MAtCkB,CAChB,CACE,KAAM,YACN,QAAQnoE,EAAM,CACZ,MAAMy0E,EAAcH,EAAY,IAAIt0E,CAAI,EAClC00E,EAAmBJ,EAAY,IAAIH,EAAQn0E,CAAI,CAAC,EACtD,GAAI00E,EAAkB,CACpB,MAAM7wE,EAAMswE,EAAQn0E,CAAI,EACxB,OAAAg0E,GAAe,IAAInwE,CAAG,EACf,CACL,KAAMA,EACN,KAAM6wE,CACpB,CACU,CACA,GAAID,EACF,OAAAT,GAAe,IAAIh0E,CAAI,EAChB,CACL,KAAAA,EACA,KAAMy0E,CACpB,CAEQ,CACR,EACM,CACE,KAAM,YACN,QAAQz0E,EAAM,CACZ,MAAM20E,EAAe,IAAI30E,CAAI,GACvBy0E,EAAcF,EAAW,IAAII,CAAY,EAC/C,GAAIF,EACF,OAAAR,GAAe,IAAIU,CAAY,EACxB,CACL,KAAMA,EACN,KAAMF,CACpB,CAEQ,CACR,CACA,CAEE,EACA,CACE,iBAAkBT,GAClB,iBAAkBC,EACtB,CACA,EACMvwE,GAAwB,OAAO,OAAuB,OAAO,eAAe,CAChF,UAAW,KACX,yBAAAwwE,EACF,EAAG,OAAO,YAAa,CAAE,MAAO,QAAQ,CAAE,CAAC,ECpFrCve,GAAY,CAChB,QAAQif,EAAKzuE,EAAS,SAGpB,MAAMw5C,EAAa,OAAOx5C,GAAA,YAAAA,EAAS,MAAQ,UAAY,KAAazD,EAAAyD,GAAA,YAAAA,EAAS,MAAT,YAAAzD,EAAc,aAAc,GAC1Fk9C,EAAgB,OAAOz5C,GAAA,YAAAA,EAAS,MAAQ,UAAY,SAAgB/B,EAAA+B,GAAA,YAAAA,EAAS,MAAT,YAAA/B,EAAc,gBAAiB,OACnGy7C,EAAQn7C,EAAAA,IAAIi7C,CAAU,EACtBG,EAASp7C,EAAAA,IAAIk7C,CAAa,EAChCg1B,EAAI,QAAQ9zE,GAAgB,CAAE,MAAA++C,EAAO,OAAAC,CAAM,CAAE,CAC/C,CACF,ECTM+0B,GAAiB,CACrB,QAAQD,EAAK,CACX,KAAM,CAAE,SAAA5pE,EAAU,OAAAmzC,CAAM,EAAKqB,GAAoB,EACjDo1B,EAAI,QAAQj0E,GAAqB,CAAE,SAAAqK,EAAU,OAAAmzC,CAAM,CAAE,EACrD,MAAM1wC,EAAQ/I,EAAAA,IAAI,CAChB,CAAC3D,EAAwB,EAAG,CAAA,CAClC,CAAK,EACK2W,EAAQ,CAAC/U,EAAM5B,KAA6B,CAChD0M,EAAM,MAAM9K,CAAG,EAAI,CAAA,CACrB,EACAiyE,EAAI,QAAQ5zE,GAAuB,CAAE,MAAAyM,EAAO,MAAAiK,CAAK,CAAE,EACnD,MAAMyjB,EAAQz2B,EAAAA,IAAoB,IAAI,GAAK,EACrC02B,EAAat5B,EAAAA,SAAS,IAAMq5B,EAAM,MAAM,IAAI,EAC5CskB,EAAc39C,EAAAA,SAAS,IAAM,CAAC,GAAGq5B,EAAM,MAAM,OAAM,CAAE,CAAC,EACtDqD,EAAY18B,WAAS,IAAM29C,EAAY,MAAMA,EAAY,MAAM,OAAS,CAAC,CAAC,EAC1ExkB,EAAaJ,GAAU,CAC3BM,EAAM,MAAM,IAAIN,EAAM,IAAKA,CAAK,CAClC,EACMK,EAAeL,GAAU,CAC7BM,EAAM,MAAM,OAAON,EAAM,GAAG,CAC9B,EACM4D,EAAW/5B,EAAAA,IAAoB,IAAI,GAAK,EACxCs2B,EAAgBH,GAAU,CAC9B4D,EAAS,MAAM,IAAI5D,EAAM,IAAKA,CAAK,CACrC,EACM6kB,EAAkB7kB,GAAU,CAChC4D,EAAS,MAAM,OAAO5D,EAAM,GAAG,CACjC,EACA+5C,EAAI,QAAQ3zE,GAAiB,CAC3B,WAAAm6B,EACA,UAAAoD,EACA,SAAU18B,EAAAA,SAAS,IAAM28B,EAAS,KAAK,EACvC,MAAOghB,EACP,UAAAxkB,EACA,YAAAC,EACA,aAAAF,EACA,eAAA0kB,CACN,CAAK,CACH,CACF,ECvCMo1B,GAAqB,CACzB,QAAQF,EAAK,CACX,MAAMz5D,EAAuBF,GAAwB,EACrD25D,EAAI,QAAQvzE,GAAyB8Z,CAAoB,CAC3D,CACF,ECHM45D,GAAkB,CAACC,EAAa,MAAQ,CAC5C,QAAQJ,EAAK,EACNI,EAAW,YAAc,MAAU,IACtCJ,EAAI,IAAIC,GAAgBG,CAAU,IAE/BA,EAAW,KAAO,MAAU,IAAQ,OAAOA,EAAW,KAAQ,WACjEJ,EAAI,IAAIjf,GAAWqf,CAAU,GAE1BA,EAAW,cAAgB,MAAU,IACxCJ,EAAI,IAAIE,EAAkB,EAE5B,MAAMjxE,GAAMmxE,GAAA,YAAAA,EAAY,aAAc,CAAA,EACtCJ,EAAI,QAAQ1zE,GAAawD,EAAAA,IAAIb,CAAG,CAAC,CACnC,CACF,GCfMH,GAAwB,OAAO,OAAuB,OAAO,eAAe,CAChF,UAAW,KACX,gBAAAqxE,GACA,mBAAAD,GACA,eAAAD,GACA,UAAAlf,EACF,EAAG,OAAO,YAAa,CAAE,MAAO,QAAQ,CAAE,CAAC,ECuErCjyD,GAAwB,OAAO,OAAuB,OAAO,eAAe,CAChF,UAAW,KACX,eAAA6X,GACA,2BAAAD,GACA,gBAAAK,GACA,4BAAAD,GACA,eAAAD,GACA,2BAAAD,EACF,EAAG,OAAO,YAAa,CAAE,MAAO,QAAQ,CAAE,CAAC,gnBCT3C,MAAMpR,EAAQwjB,EAgBRqnD,EAAavwE,EAAAA,IAAwB,IAAI,EAEzCwwE,EAAepzE,EAAAA,SAAS,IACrBsI,EAAM,MAAM,OAAO,CAAC,EAAE,YAAA,CAC9B,EAEK/D,EAAY8uE,GAAyB,CAEzC,MAAMC,EAAgBC,GAAcA,EAAE,cAAc,QAAQ,MAAO,EAAE,EACrE,OAAOD,EAAahrE,EAAM,UAAU,IAAMgrE,EAAaD,CAAG,CAC5D,EAEMG,EAAqB,MAAO10C,EAAS,KAAU,CAEnD,GADA,MAAM93B,WAAA,EACF,CAACmsE,EAAW,MAAO,OAEvB,MAAMM,EAAaN,EAAW,MAAM,cAAc,kBAAkB,EACpE,GAAIM,EAAY,CACd,MAAMC,EAAUP,EAAW,MACrBQ,EAAWF,EAAW,sBAAA,EACtBG,EAAcF,EAAQ,sBAAA,EAGtBt1C,EAAYq1C,EAAW,UAAaG,EAAY,OAAS,EAAMD,EAAS,OAAS,EAEvFD,EAAQ,SAAS,CACf,IAAKt1C,EACL,SAAUU,EAAS,SAAW,SAAA,CAC/B,CACH,CACF,EAGA/3B,OAAAA,EAAAA,UAAU,IAAM,CACdysE,EAAmB,EAAK,CAC1B,CAAC,EAGDrzE,QAAM,IAAMmI,EAAM,WAAY,IAAM,CAClCkrE,EAAmB,EAAI,CACzB,CAAC,wBAvICK,EAAAA,mBAwEQ,QAAA,SAvEF,aAAJ,IAAIV,EACJ,wBAAM,+BAA8B,qBACCrnD,EAAA,2BAAmCA,EAAA,MAAA,MAKxEgoD,EAAAA,mBAWM,MAXNjoD,GAWM,CAVJioD,EAAAA,mBASM,MATNr6C,GASM,CARJs6C,aAOO5nD,EAAA,OAAA,QAAA,CAPa,UAAWL,EAAA,UAAY,MAAOA,EAAA,KAAA,EAAlD,IAOO,CANLgoD,EAAAA,mBAKM,MAAA,CALD,MAAKE,EAAAA,eAAA,CAAC,kBAAiB,CAAA,UAAwBloD,EAAA,UAAS,CAAA,CAAA,GAC3DgoD,EAAAA,mBAAmD,MAAnDrwB,GAAmDwwB,EAAAA,gBAArBb,EAAA,KAAY,EAAA,CAAA,EAC/BtnD,EAAA,qDAAX+nD,EAAAA,mBAEK,KAFLnwB,GAEKuwB,EAAAA,gBADAnoD,EAAA,KAAK,EAAA,CAAA,gBAOlBgoD,EAAAA,mBAkDM,MAlDNlrB,GAkDM,EAjDJsrB,EAAAA,UAAA,EAAA,EAAAL,EAAAA,mBAgDWM,WAAA,KAAAC,EAAAA,WAhD6BtoD,EAAA,WAAU,CAAhCvI,EAAO8wD,wDAAiCA,GAAU,CACvD9wD,EAAM,UAAO,IAAxB2wD,EAAAA,YAAAL,EAAAA,mBA8CM,MA9CNhrB,GA8CM,CA5CItlC,EAAM,OAAK,CAAKuI,EAAA,WADxBooD,EAAAA,UAAA,EAAAL,EAAAA,mBAKM,MALNrhB,GAKMyhB,EAAAA,gBADD1wD,EAAM,KAAK,EAAA,CAAA,+BAGLA,EAAM,OAASuI,EAAA,WAA1BooD,EAAAA,UAAA,EAAAL,EAAAA,mBAEM,MAFNphB,GAEM,CAAA,GAAArmC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAA,CADJ0nD,EAAAA,mBAAoC,KAAA,CAAhC,MAAM,uBAAA,EAAuB,KAAA,EAAA,CAAA,kCAGnCA,EAAAA,mBAiCK,KAjCL5c,GAiCK,EAhCHgd,EAAAA,UAAA,EAAA,EAAAL,EAAAA,mBA+BKM,6BA/B2B5wD,EAAM,MAAK,CAA/BxK,EAAMD,mBAAlB+6D,EAAAA,mBA+BK,KAAA,CA/ByC,IAAK/6D,EAAW,MAAM,UAAA,GAClEi7D,aA6BO5nD,EAAA,OAAA,OAAA,CA3BJ,KAAApT,EACA,SAAWxU,EAASwU,EAAK,GAAG,EAC5B,UAAW+S,EAAA,SAAA,EAJd,IA6BO,CAvBLgoD,EAAAA,mBAsBI,IAAA,CArBD,KAAM/6D,EAAK,IACZ,wBAAM,mDAAkD,QAChBxU,EAASwU,EAAK,GAAG,2BAAiD+S,EAAA,SAAA,MAMlG/S,EAAK,oBADbu7D,EAAAA,YAKEC,0BAHKx7D,EAAK,IAAI,EAAA,OACd,MAAM,WACN,MAAA,CAAA,MAAA,OAAA,OAAA,MAAA,CAAA,gCAEW+S,EAAA,uCAAbooD,EAAAA,UAAA,EAAAL,EAAAA,mBAAiE,OAAjEzc,GAAiE6c,EAAAA,gBAApBl7D,EAAK,KAAK,EAAA,CAAA,GAE/CA,EAAK,OAAK,CAAK+S,EAAA,yBADvB+nD,EAAAA,mBAMO,OAAA,OAJL,MAAKG,EAAAA,eAAA,CAAC,gBAAe,MACPj7D,EAAK,YAAU,SAAA,EAAA,CAAA,CAAA,EAE1Bk7D,EAAAA,gBAAAl7D,EAAK,KAAK,EAAA,CAAA,mRC5DjC,MAAM3Q,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAIaE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACMF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,0BACnB,IAAqB,CAArB61E,aAAqB5nD,SAARjuB,CAAI,CAAA,+DCNvB,MAAMkK,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAIOE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACYF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,0BACnB,IAAqB,CAArB61E,aAAqB5nD,SAARjuB,CAAI,CAAA,+DCNvB,MAAMkK,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAIOE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACYF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,0BACnB,IAAqB,CAArB61E,aAAqB5nD,SAARjuB,CAAI,CAAA,0HCKvB,MAAMkK,EAAQ2jB,EAAAA,SAAA,gBAiCZmoD,EAAAA,YAAAI,EAAAA,YAQUE,EAAAA,UARVG,EAAAA,WAQU,CAPP,QAAS7oD,EAAA,QACT,KAAMA,EAAA,IAAA,EACC2oD,EAAAA,MAAM,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEgBF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,0BACnB,IAAqB,CAArB61E,aAAqB5nD,SAARjuB,CAAI,CAAA,qHC7CrBg2E,EAAAA,YAAAI,EAAAA,YAKYE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEOE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,qVC0E1C,MAAMG,EAAkBC,GACjBA,GAAA,MAAAA,EAAM,KACJA,EAAK,KAAK,OAAO,CAAC,EAAE,YAAA,EADH,iBAtFxBhB,YAAA,EAAAL,qBAwDS,SAxDThoD,GAwDS,CAvDPspD,EAAAA,YAsDaC,GAAA,CAtDD,MAAA,GAAM,MAAM,OAAA,qBACtB,IAoDO,CApDPD,EAAAA,YAoDOE,GAAA,CApDD,MAAM,4BAA0B,mBACpC,IA4BO,CA5BPF,EAAAA,YA4BOG,GAAA,CA5BD,MAAM,mCAAiC,mBAC3C,IAoBU,CApBVH,EAAAA,YAoBUI,GAAA,CAnBR,QAAQ,OACR,MAAM,gBACL,uBAAOC,EAAAA,MAAK,eAAA,GACb,aAAW,gBAAA,qBAEX,IAaO,CAbPzB,EAAAA,WAaO5nD,wBAbP,IAaO,aAZL2nD,EAAAA,mBAWM,MAAA,CAVJ,MAAM,6BACN,MAAM,KACN,OAAO,KACP,KAAK,eACL,QAAQ,WAAA,GAERA,EAAAA,mBAGE,OAAA,CAFA,YAAU,UACV,EAAE,mLAAA,sBAMAhoD,EAAA,yBAAV+nD,EAAAA,mBAAoF,KAApFp6C,GAAoFw6C,EAAAA,gBAAjBnoD,EAAA,SAAS,EAAA,CAAA,+BAE5EgoD,EAAAA,mBAEM,MAFNrwB,GAEM,CADJswB,EAAAA,WAAsB5nD,EAAA,OAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAI1BgpD,EAAAA,YAoBOG,GAAA,CApBD,KAAK,QAAM,mBACf,IAkBO,CAlBPvB,aAkBO5nD,EAAA,OAAA,YAAA,CAlBiB,KAAML,EAAA,IAAA,EAA9B,IAkBO,CAhBGA,EAAA,oBADRwoD,EAAAA,YAgBYmB,GAAA,OAdV,QAAQ,OACR,MAAM,YACN,aAAW,oBACX,WAAA,EAAA,GAEW,2BACT,IAIO,CAJP1B,aAIO5nD,EAAA,OAAA,YAAA,CAJiB,QAAS8oD,EAAenpD,EAAA,IAAI,CAAA,EAApD,IAIO,CAHLgoD,qBAEM,MAFNpwB,GAEMuwB,EAAAA,gBADDgB,EAAenpD,EAAA,IAAI,CAAA,EAAA,CAAA,CAAA,0BAK5B,IAA4C,CAA5CioD,aAA4C5nD,EAAA,OAAA,kBAAA,CAAd,KAAML,EAAA,MAAI,OAAA,EAAA,CAAA,ydCYtD,MAAM1jB,EAAQ2jB,EAAAA,SAAA,EAgCRzjB,EAAQwjB,EASR4pD,EAAY9yE,EAAAA,IAAI,EAAK,EAGrB+yE,EAAe31E,EAAAA,SAAS,IAAM,CAClC,MAAM+E,EAAiC,CAAA,EACvC,cAAO,KAAKqD,CAAK,EAAE,QAAQlK,GAAQ,CACjC,GAAIA,EAAK,WAAW,UAAU,EAAG,CAC/B,MAAM03E,EAAe13E,EAAK,UAAU,CAAC,EACrC6G,EAAO6wE,CAAY,EAAI13E,CACzB,CACF,CAAC,EACM6G,CACT,CAAC,EAGK8wE,EAAc71E,EAAAA,SAAS,IAAM,CACjC,MAAM+E,EAAiC,CAAA,EACvC,cAAO,KAAKqD,CAAK,EAAE,QAAQlK,GAAQ,CACjC,GAAIA,EAAK,WAAW,SAAS,EAAG,CAC9B,MAAM03E,EAAe13E,EAAK,UAAU,CAAC,EACrC6G,EAAO6wE,CAAY,EAAI13E,CACzB,CACF,CAAC,EACM6G,CACT,CAAC,EAGK+wE,EAAwB,IAAe,CAE3C,GAAI,OAAO,OAAW,IACpB,MAAO,CAACxtE,EAAM,YAGhB,GAAI,CACF,MAAMytE,EAAc,aAAa,QAAQztE,EAAM,UAAU,EACzD,GAAIytE,IAAgB,KAAM,CACxB,MAAM/3D,EAAW,KAAK,MAAM+3D,CAAW,EAGvC,OAAKztE,EAAM,cACL0V,EACF,SAAS,gBAAgB,UAAU,OAAO,iBAAiB,EAE3D,SAAS,gBAAgB,UAAU,IAAI,iBAAiB,GAIrDA,CACT,CACF,OAAS0qD,EAAO,CACd,QAAQ,MAAM,+BAAgCA,CAAK,CACrD,CAGA,OAAKpgE,EAAM,YAIJ,IAHL,SAAS,gBAAgB,UAAU,OAAO,iBAAiB,EACpD,GAGX,EAEM2xC,EAASr3C,MAAIkzE,GAAuB,EAEpCE,EAAgB,IAAM,CAI1B,GAHA/7B,EAAO,MAAQ,CAACA,EAAO,MAGnB,SAAO,OAAW,KAGtB,CAAK3xC,EAAM,cACL2xC,EAAO,MACT,SAAS,gBAAgB,UAAU,OAAO,iBAAiB,EAE3D,SAAS,gBAAgB,UAAU,IAAI,iBAAiB,GAK5D,GAAI,CACF,aAAa,QAAQ3xC,EAAM,WAAY,KAAK,UAAU2xC,EAAO,KAAK,CAAC,CACrE,OAASyuB,EAAO,CACd,QAAQ,MAAM,8BAA+BA,CAAK,CACpD,EACF,8BA3LEmL,EAAAA,mBAkDM,MAAA,CAlDD,MAAM,0BAA2B,oBAAmB/nD,EAAA,WAAA,GAEvDqpD,EAAAA,YAgBqBc,GAAA,CAflB,WAAYnqD,EAAA,WACZ,cAAaA,EAAA,WACb,MAAOA,EAAA,MACP,UAAW4pD,EAAA,MACX,OAAQz7B,EAAA,MACR,SAAQ+7B,CAAA,oCAIgCL,EAAA,MAAY,CAA3CO,EAAcN,WAErBA,EAED,GAAAf,EAAAA,QAFiBC,GAAS,CAE1Bf,aAAgD5nD,EAAA,OAAnC+pD,EAAYnB,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,EAAA,OAAA,EAAA,CAAA,wEAKhDhB,EAAAA,mBA4BM,MA5BNr6C,GA4BM,CA1BJ07C,EAAAA,YAcoBgB,GAAA,CAbjB,aAAYrqD,EAAA,UACZ,KAAMA,EAAA,KACN,aAAYA,EAAA,UACZ,gBAAgBkqD,CAAA,oCAIwBH,EAAA,MAAW,CAA1CK,EAAcN,WAErBA,EAED,GAAAf,EAAAA,QAFiBC,GAAS,CAE1Bf,aAAgD5nD,EAAA,OAAnC+pD,EAAYnB,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,EAAA,OAAA,EAAA,CAAA,iDAKhDhB,EAAAA,mBAQO,OARPrwB,GAQO,CAPL0xB,EAAAA,YAMaC,GAAA,CAND,MAAA,IAAK,mBACf,IAIO,CAJPD,EAAAA,YAIOE,GAAA,CAJD,MAAM,0BAAwB,mBAClC,IAEO,CAFPF,EAAAA,YAEOG,GAAA,CAFD,KAAK,KAAK,GAAG,IAAA,qBACjB,IAAQ,CAARvB,EAAAA,WAAQ5nD,EAAA,OAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,0HCzCtB,MAAM/jB,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAISE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACUF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,0BACnB,IAAqB,CAArB61E,aAAqB5nD,SAARjuB,CAAI,CAAA,mFCTrBg2E,EAAAA,YAAAI,EAAAA,YAIaE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACME,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QAD6CC,GAAS,CACtDf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,mFCFxCZ,EAAAA,UAAA,EAAAI,EAAAA,YAA8BE,EAAAA,gDAAVC,EAAAA,MAAM,CAAA,EAAA,KAAA,EAAA,0ECA1BP,EAAAA,UAAA,EAAAI,EAAAA,YAAiCE,EAAAA,gDAAVC,EAAAA,MAAM,CAAA,EAAA,KAAA,EAAA,0DCG/B,MAAMrsE,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAIcE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACKF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,0BACnB,IAAqB,CAArB61E,aAAqB5nD,SAARjuB,CAAI,CAAA,wECNvB,MAAMkK,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAIgBE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACGF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,0BACnB,IAAqB,CAArB61E,aAAqB5nD,SAARjuB,CAAI,CAAA,6GCDrBg2E,EAAAA,YAAAI,EAAAA,YAKuBE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEJE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,kGCHxCZ,EAAAA,YAAAI,EAAAA,YAKYE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEOE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,+PCyI1C,MAAMxiD,EAAOD,EAOP+jD,EAAevlE,GACV,CACH,OACA,QACA,WACA,SACA,MACA,MACA,OACA,iBACA,MAAA,EACF,SAASA,CAAI,EAMbwlE,EAAe,IAAM,CACvB/jD,EAAK,QAAQ,CACjB,8BA9KIgiD,EAAAA,YA4GQE,EAAAA,MAAA8B,EAAA,EAAA,CA5GA,yBAAgBD,EAAY,CAAA,SAAA,CAAA,CAAA,qBAEhC,IAOS,CANCvqD,EAAA,KAAK,iCADfwoD,EAAAA,YAOSiC,GAAA,OALJ,cAAazqD,EAAA,KAAK,kBACnB,QAAQ,SACR,MAAM,MAAA,qBAEN,IAAkB,CAAf0qD,EAAAA,gBAAAvC,EAAAA,gBAAAnoD,EAAA,KAAK,OAAO,EAAA,CAAA,CAAA,yEAInB+nD,EAAAA,mBAgFWM,EAAAA,SAAA,KAAAC,EAAAA,WAhFetoD,EAAA,OAATyM,GAEbw7C,EAAAA,WA6EO5nD,EAAA,OAAA,SA7EeoM,EAAM,GAAG,GAAA,CAFK,IAAAA,EAAM,IAEN,MAAAA,EAAe,KAAMzM,EAAA,IAAA,EAAzD,IA6EO,CA3EHqpD,EAAAA,YA0EasB,GAAA,CAzER,MAAOl+C,EAAM,MACb,YAAWA,EAAM,IACjB,MAAKy7C,EAAAA,eAAEz7C,EAAM,OAAK,MAAA,CAAA,qBAGnB,IAUE,CATQ69C,EAAY79C,EAAM,IAAI,GADhC27C,EAAAA,YAAAI,EAAAA,YAUEoC,GAVF/B,aAUE,OARG,GAAIp8C,EAAM,IACF,WAAAzM,EAAA,KAAK,KAAKyM,EAAM,GAAG,EAAnB,sBAAArE,GAAApI,EAAA,KAAK,KAAKyM,EAAM,GAAG,EAAArE,EAC3B,KAAMqE,EAAM,KACZ,SAAUA,EAAM,SAChB,YAAaA,EAAM,YACnB,MAAOzM,EAAA,KAAK,SAASyM,EAAM,GAAG,CAAA,EACvB,CAAA,QAAA,IAAAA,EAAM,WAAU,CACvB,WAAOzM,EAAA,KAAK,WAAWyM,EAAM,GAAG,CAAA,yGAKtBA,EAAM,OAAI,YADzB27C,EAAAA,YAAAI,EAAAA,YAUEqC,GAVFhC,aAUE,OARG,GAAIp8C,EAAM,IACF,WAAAzM,EAAA,KAAK,KAAKyM,EAAM,GAAG,EAAnB,sBAAArE,GAAApI,EAAA,KAAK,KAAKyM,EAAM,GAAG,EAAArE,EAC3B,SAAUqE,EAAM,SAChB,YAAaA,EAAM,YACnB,KAAMA,EAAM,MAAI,EAChB,MAAOzM,EAAA,KAAK,SAASyM,EAAM,GAAG,CAAA,EACvB,CAAA,QAAA,IAAAA,EAAM,WAAU,CACvB,WAAOzM,EAAA,KAAK,WAAWyM,EAAM,GAAG,CAAA,yGAKtBA,EAAM,OAAI,UADzB27C,EAAAA,YAAAI,EAAAA,YASEsC,GATFjC,aASE,OAPG,GAAIp8C,EAAM,IACF,WAAAzM,EAAA,KAAK,KAAKyM,EAAM,GAAG,EAAnB,sBAAArE,GAAApI,EAAA,KAAK,KAAKyM,EAAM,GAAG,EAAArE,EAC3B,SAAUqE,EAAM,SAChB,QAASA,EAAM,QACf,MAAOzM,EAAA,KAAK,SAASyM,EAAM,GAAG,CAAA,EACvB,CAAA,QAAA,IAAAA,EAAM,WAAU,CACvB,YAAQzM,EAAA,KAAK,WAAWyM,EAAM,GAAG,CAAA,+FAKvBA,EAAM,OAAI,YADzB27C,EAAAA,YAAAI,EAAAA,YAOgBuC,GAPhBlC,aAOgB,OALX,GAAIp8C,EAAM,IACF,WAAAzM,EAAA,KAAK,KAAKyM,EAAM,GAAG,EAAnB,sBAAArE,GAAApI,EAAA,KAAK,KAAKyM,EAAM,GAAG,EAAArE,CAAA,EACpB,CAAA,QAAA,IAAAqE,EAAM,UAAU,EAAA,mBAExB,IAAiB,CAAdi+C,EAAAA,gBAAAvC,EAAAA,gBAAA17C,EAAM,KAAK,EAAA,CAAA,CAAA,yDAKHA,EAAM,OAAI,SADzB27C,EAAAA,UAAA,EAAAI,EAAAA,YASEE,EAAAA,UATFG,aASE,OAPG,GAAIp8C,EAAM,IACF,WAAAzM,EAAA,KAAK,KAAKyM,EAAM,GAAG,EAAnB,sBAAArE,GAAApI,EAAA,KAAK,KAAKyM,EAAM,GAAG,EAAArE,EAC3B,QAASqE,EAAM,QACf,SAAUA,EAAM,SAChB,MAAOzM,EAAA,KAAK,SAASyM,EAAM,GAAG,CAAA,EACvB,CAAA,QAAA,IAAAA,EAAM,WAAU,CACvB,YAAQzM,EAAA,KAAK,WAAWyM,EAAM,GAAG,CAAA,2HAIVzM,EAAA,KAAK,SAASyM,EAAM,GAAG,iBAAnD+7C,EAAAA,YAEuBwC,GAAA,CAAA,IAAA,GAAA,mBADnB,IAA8B,CAA3BN,kBAAAvC,EAAAA,gBAAAnoD,EAAA,KAAK,SAASyM,EAAM,GAAG,CAAA,EAAA,CAAA,CAAA,2CAIbA,EAAM,oBAAvB+7C,EAAAA,YAEYyC,GAAA,CAAA,IAAA,GAAA,mBADR,IAAgB,CAAbP,EAAAA,gBAAAvC,EAAAA,gBAAA17C,EAAM,IAAI,EAAA,CAAA,CAAA,+FAQnBzM,EAAA,0BADVwoD,EAAAA,YASUiB,GAAA,OAPN,KAAK,SACL,QAAQ,UACP,SAAUzpD,EAAA,KAAK,WAChB,MAAM,OAAA,qBAEN,IAA2D,CAA/CA,EAAA,KAAK,YAAjBooD,YAAA,EAAAL,qBAA2D,4BAA3B/nD,EAAA,iBAAiB,EAAA,CAAA,IACjDooD,EAAAA,YAAAL,EAAAA,mBAAoC,4BAApB/nD,EAAA,UAAU,EAAA,CAAA,EAAA,qDAI9BioD,aAA2B5nD,EAAA,OAAA,QAAA,CAAA,qNCpEnC,MAAMmG,EAAOD,8BAvCTiiD,EAAAA,YAYa0C,GAAA,CAXR,KAAMlrD,EAAA,KAAK,KACX,OAAQA,EAAA,KAAK,OACb,cAAaA,EAAA,WACb,sBAAqBA,EAAA,kBACrB,cAAaA,EAAA,WACb,wBAAQwG,EAAI,QAAA,EAAA,oCAGiBsiD,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACjB,GAAA22E,EAAAA,QAD2CC,GAAS,CACpDf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,+eCT/C,SAAU9gE,EAAMijE,EAAW,CAEtB,OAAOC,IAAY,WAErBC,EAAA,QAAiBF,EAAS,EAQ1BjjE,EAAK,UAAYijE,EAAS,CAE9B,GAAGG,GAAM,UAAY,CAGnB,IAAIC,EAAc,CAAA,EACdC,EAAgB,CAAA,EAChBC,EAAe,CAAA,EACfC,EAAmB,CAAA,EACnBC,EAAmB,CAAA,EAQvB,SAASC,EAAcC,EAAM,CAC3B,OAAI,OAAOA,GAAS,SACX,IAAI,OAAO,IAAMA,EAAO,IAAK,GAAG,EAGlCA,CACX,CAUE,SAASC,EAAaC,EAAMC,EAAO,CAEjC,OAAID,IAASC,EAAcA,EAGvBD,IAASA,EAAK,YAAW,EAAWC,EAAM,YAAW,EAGrDD,IAASA,EAAK,YAAW,EAAWC,EAAM,YAAW,EAGrDD,EAAK,CAAC,IAAMA,EAAK,CAAC,EAAE,cACfC,EAAM,OAAO,CAAC,EAAE,cAAgBA,EAAM,OAAO,CAAC,EAAE,YAAW,EAI7DA,EAAM,YAAW,CAC5B,CASE,SAASC,EAAa1yE,EAAK1E,EAAM,CAC/B,OAAO0E,EAAI,QAAQ,eAAgB,SAAUsJ,EAAO/M,EAAO,CACzD,OAAOjB,EAAKiB,CAAK,GAAK,EAC5B,CAAK,CACL,CASE,SAAS6uB,EAASonD,EAAMF,EAAM,CAC5B,OAAOE,EAAK,QAAQF,EAAK,CAAC,EAAG,SAAUhpE,EAAO/M,EAAO,CACnD,IAAImD,EAASgzE,EAAYJ,EAAK,CAAC,EAAG,SAAS,EAE3C,OACSC,EADLjpE,IAAU,GACOkpE,EAAKj2E,EAAQ,CAAC,EAGhB+M,EAHmB5J,CAAM,CAIlD,CAAK,CACL,CAUE,SAASizE,EAAcF,EAAOD,EAAMI,EAAO,CAEzC,GAAI,CAACH,EAAM,QAAUP,EAAa,eAAeO,CAAK,EACpD,OAAOD,EAMT,QAHIK,EAAMD,EAAM,OAGTC,KAAO,CACZ,IAAIP,EAAOM,EAAMC,CAAG,EAEpB,GAAIP,EAAK,CAAC,EAAE,KAAKE,CAAI,EAAG,OAAOpnD,EAAQonD,EAAMF,CAAI,CACvD,CAEI,OAAOE,CACX,CAUE,SAASM,EAAaC,EAAYC,EAASJ,EAAO,CAChD,OAAO,SAAUJ,EAAM,CAErB,IAAIC,EAAQD,EAAK,YAAW,EAG5B,OAAIQ,EAAQ,eAAeP,CAAK,EACvBF,EAAYC,EAAMC,CAAK,EAI5BM,EAAW,eAAeN,CAAK,EAC1BF,EAAYC,EAAMO,EAAWN,CAAK,CAAC,EAIrCE,EAAaF,EAAOD,EAAMI,CAAK,CAC5C,CACA,CAKE,SAASK,EAAWF,EAAYC,EAASJ,EAAOM,EAAM,CACpD,OAAO,SAAUV,EAAM,CACrB,IAAIC,EAAQD,EAAK,YAAW,EAE5B,OAAIQ,EAAQ,eAAeP,CAAK,EAAU,GACtCM,EAAW,eAAeN,CAAK,EAAU,GAEtCE,EAAaF,EAAOA,EAAOG,CAAK,IAAMH,CACnD,CACA,CAUE,SAASb,EAAWY,EAAMl3B,EAAO63B,EAAW,CAC1C,IAAIC,EAAa93B,IAAU,EACvBs2B,EAAU,SAASY,CAAI,EAAIZ,EAAU,OAAOY,CAAI,EAEpD,OAAQW,EAAY73B,EAAQ,IAAM,IAAM83B,CAC5C,CAOE,OAAAxB,EAAU,OAASkB,EACjBV,EAAkBD,EAAkBH,GAQtCJ,EAAU,SAAWqB,EACnBb,EAAkBD,EAAkBH,GAQtCJ,EAAU,SAAWkB,EACnBX,EAAkBC,EAAkBH,GAQtCL,EAAU,WAAaqB,EACrBd,EAAkBC,EAAkBH,GAStCL,EAAU,cAAgB,SAAUU,EAAMe,EAAa,CACrDrB,EAAY,KAAK,CAACK,EAAaC,CAAI,EAAGe,CAAW,CAAC,CACtD,EAQEzB,EAAU,gBAAkB,SAAUU,EAAMe,EAAa,CACvDpB,EAAc,KAAK,CAACI,EAAaC,CAAI,EAAGe,CAAW,CAAC,CACxD,EAOEzB,EAAU,mBAAqB,SAAUY,EAAM,CAC7C,GAAI,OAAOA,GAAS,SAAU,CAC5BN,EAAaM,EAAK,YAAW,CAAE,EAAI,GACnC,MACN,CAGIZ,EAAU,cAAcY,EAAM,IAAI,EAClCZ,EAAU,gBAAgBY,EAAM,IAAI,CACxC,EAQEZ,EAAU,iBAAmB,SAAU0B,EAAQC,EAAQ,CACrDA,EAASA,EAAO,YAAW,EAC3BD,EAASA,EAAO,YAAW,EAE3BlB,EAAiBkB,CAAM,EAAIC,EAC3BpB,EAAiBoB,CAAM,EAAID,CAC/B,EAKE,CAEE,CAAC,IAAK,IAAI,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,MAAM,EACb,CAAC,MAAO,MAAM,EACd,CAAC,OAAQ,MAAM,EACf,CAAC,SAAU,WAAW,EACtB,CAAC,WAAY,YAAY,EACzB,CAAC,SAAU,YAAY,EACvB,CAAC,UAAW,YAAY,EACxB,CAAC,UAAW,YAAY,EACxB,CAAC,WAAY,YAAY,EACzB,CAAC,KAAM,KAAK,EACZ,CAAC,MAAO,MAAM,EACd,CAAC,MAAO,MAAM,EACd,CAAC,OAAQ,OAAO,EAChB,CAAC,OAAQ,OAAO,EAEhB,CAAC,OAAQ,QAAQ,EACjB,CAAC,QAAS,SAAS,EACnB,CAAC,UAAW,WAAW,EACvB,CAAC,UAAW,WAAW,EACvB,CAAC,UAAW,WAAW,EAEvB,CAAC,QAAS,QAAQ,EAClB,CAAC,SAAU,SAAS,EAEpB,CAAC,SAAU,UAAU,EACrB,CAAC,QAAS,SAAS,EACnB,CAAC,QAAS,SAAS,EACnB,CAAC,QAAS,SAAS,EACnB,CAAC,SAAU,UAAU,EACrB,CAAC,WAAY,YAAY,EAEzB,CAAC,KAAM,MAAM,EACb,CAAC,MAAO,MAAM,EACd,CAAC,MAAO,MAAM,EACd,CAAC,MAAO,OAAO,EACf,CAAC,OAAQ,MAAM,EACf,CAAC,OAAQ,OAAO,EAChB,CAAC,QAAS,OAAO,EACjB,CAAC,QAAS,OAAO,EACjB,CAAC,OAAQ,SAAS,EAClB,CAAC,QAAS,QAAQ,EAClB,CAAC,QAAS,QAAQ,EAClB,CAAC,QAAS,QAAQ,EAClB,CAAC,QAAS,QAAQ,EAClB,CAAC,QAAS,QAAQ,EAClB,CAAC,QAAS,SAAS,EACnB,CAAC,SAAU,SAAS,EACpB,CAAC,UAAW,UAAU,EACtB,CAAC,WAAY,WAAW,CAC5B,EAAI,QAAQ,SAAUhB,EAAM,CACxB,OAAOV,EAAU,iBAAiBU,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CACtD,CAAG,EAKD,CACE,CAAC,OAAQ,GAAG,EACZ,CAAC,qBAAsB,IAAI,EAC3B,CAAC,kBAAmB,IAAI,EACxB,CAAC,gBAAiB,MAAM,EACxB,CAAC,qCAAsC,MAAM,EAC7C,CAAC,eAAgB,KAAK,EACtB,CAAC,yCAA0C,IAAI,EAC/C,CAAC,4FAA6F,KAAK,EACnG,CAAC,gCAAiC,MAAM,EACxC,CAAC,2BAA4B,MAAM,EACnC,CAAC,iBAAkB,OAAO,EAC1B,CAAC,wHAAyH,KAAK,EAC/H,CAAC,qGAAsG,KAAK,EAC5G,CAAC,QAAS,KAAK,EACf,CAAC,2CAA4C,SAAS,EACtD,CAAC,oBAAqB,OAAO,EAC7B,CAAC,uBAAwB,OAAO,EAChC,CAAC,oBAAqB,MAAM,EAC5B,CAAC,gDAAiD,QAAQ,EAC1D,CAAC,gCAAiC,OAAO,EACzC,CAAC,sBAAuB,QAAQ,EAChC,CAAC,oBAAqB,OAAO,EAC7B,CAAC,SAAU,IAAI,EACf,CAAC,WAAY,KAAK,EAClB,CAAC,OAAQ,KAAK,CAClB,EAAI,QAAQ,SAAUA,EAAM,CACxB,OAAOV,EAAU,cAAcU,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CACnD,CAAG,EAKD,CACE,CAAC,MAAO,EAAE,EACV,CAAC,SAAU,IAAI,EACf,CAAC,gEAAiE,MAAM,EACxE,CAAC,kCAAmC,KAAK,EACzC,CAAC,QAAS,GAAG,EACb,CAAC,uFAAwF,MAAM,EAC/F,CAAC,oBAAqB,MAAM,EAC5B,CAAC,uBAAwB,QAAQ,EACjC,CAAC,sBAAuB,IAAI,EAC5B,CAAC,2FAA4F,IAAI,EACjG,CAAC,qEAAsE,OAAO,EAC9E,CAAC,iCAAkC,IAAI,EACvC,CAAC,oBAAqB,MAAM,EAC5B,CAAC,4FAA6F,MAAM,EACpG,CAAC,yGAA0G,MAAM,EACjH,CAAC,8FAA+F,MAAM,EACtG,CAAC,0BAA2B,KAAK,EACjC,CAAC,+BAAgC,MAAM,EACvC,CAAC,sBAAuB,MAAM,EAC9B,CAAC,oBAAqB,QAAQ,EAC9B,CAAC,eAAgB,IAAI,EACrB,CAAC,YAAa,IAAI,EAClB,CAAC,QAAS,KAAK,CACnB,EAAI,QAAQ,SAAUA,EAAM,CACxB,OAAOV,EAAU,gBAAgBU,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CACrD,CAAG,EAKD,CAEE,YACA,SACA,SACA,MACA,WACA,UACA,OACA,YACA,QACA,YACA,QACA,QACA,QACA,QACA,UACA,SACA,OACA,OACA,UACA,QACA,WACA,MACA,WACA,cACA,QACA,SACA,WACA,YACA,MACA,SACA,YACA,YACA,YACA,WACA,WACA,MACA,UACA,UACA,WACA,WACA,eACA,SACA,SACA,YACA,WACA,YACA,cACA,QACA,UACA,QACA,SACA,aACA,YACA,WACA,OACA,QACA,OACA,QACA,QACA,MACA,QACA,OACA,OACA,YACA,OACA,WACA,SACA,SACA,YACA,WACA,OACA,WACA,OACA,SACA,WACA,SACA,SACA,WACA,SACA,WACA,UACA,QACA,QACA,SACA,UACA,iBACA,QACA,OACA,SACA,UACA,UACA,aACA,WACA,MACA,eAEA,gBACA,SACA,SACA,YACA,WACA,QACA,SACJ,EAAI,QAAQV,EAAU,kBAAkB,EAE/BA,CACT,CAAC,8FC7dD,MAAM7uE,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAIQE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACWF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,0BACnB,IAAqB,CAArB61E,aAAqB5nD,SAARjuB,CAAI,CAAA,iFC9BrBg2E,EAAAA,UAAA,EAAAI,EAAAA,YAA4BE,EAAAA,gDAAVC,EAAAA,MAAM,CAAA,EAAA,KAAA,EAAA,wKCwB1B,MAAMniD,EAAOD,EAGPwmD,EAAYj2E,EAAAA,IAAS,IAAI,EAGzBk2E,EAAsB/2E,GAAa,CACvCuwB,EAAK,gBAAiBvwB,CAAG,CAC3B,EAEMg3E,EAA2Bh3E,GAAa,CAC5CuwB,EAAK,qBAAsBvwB,CAAG,CAChC,EAEMi3E,EAAoBj3E,GAAa,CACrCuwB,EAAK,cAAevwB,CAAG,CACzB,EAEMk3E,EAAgBl3E,GAAa,CACjCuwB,EAAK,SAAUvwB,CAAG,CACpB,EAEMm3E,EAAmB,CAACngE,EAAWnX,EAAewH,IAAsB,CACxEkpB,EAAK,aAAcvZ,EAAMnX,EAAOwH,CAAK,CACvC,EASA,OAAAuwB,EAAa,CACX,QAPc,IAAM,CAChBk/C,EAAU,OAAS,OAAOA,EAAU,MAAM,SAAY,YACxDA,EAAU,MAAM,QAAA,CAEpB,CAGE,CACD,UA3DC3E,EAAAA,YAAAI,EAAAA,YAYSE,EAAAA,UAZTG,EAAAA,WAYS,SAXH,YAAJ,IAAIkE,CAAA,EACIpE,EAAAA,OAAM,CACb,kBAAgBqE,EAChB,uBAAqBC,EACrB,gBAAaC,EACb,SAAQC,EACR,aAAaC,CAAA,qCAEgBtE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QAD6CC,GAAS,CACtDf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,oFCVxCZ,EAAAA,UAAA,EAAAI,EAAAA,YAA+BE,EAAAA,gDAAVC,EAAAA,MAAM,CAAA,EAAA,KAAA,EAAA,mECA3BP,EAAAA,YAAAI,EAAAA,YAISE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACUE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QAD6CC,GAAS,CACtDf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,8FCWxCZ,EAAAA,YAAAI,EAAAA,YAKQE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEWE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,+DCb1C,MAAM1sE,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAIOE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACYF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,aACnB,GAAA22E,EAAAA,QADwDC,GAAS,CACjEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,qrFCsmB1C,MAAMxsE,EAAQwjB,EA2BRwG,EAAOD,EAiBP8mD,EAAiBn5E,EAAAA,SAAS,IAAM,CAAC,CAACsI,EAAM,UAAY,CAAC,CAACA,EAAM,MAAM,EAClE8wE,EAAgBp5E,EAAAA,SAAS,IAAM,CAACsI,EAAM,UAAY,CAACA,EAAM,QAAU,CAAC,CAACA,EAAM,KAAK,EAChF+wE,EAAgBr5E,EAAAA,SAAS,IAAM,CAAC,CAACsI,EAAM,UAAU,EAGjDgxE,EAAgBt5E,EAAAA,SAAS,IAAMm5E,EAAe,MAAQ7wE,EAAM,KAAOA,EAAM,OAAO,EAGhFixE,EAAiB32E,EAAAA,IAAoB,EAAE,EAGvC42E,EAAkBx5E,WAAS,IAAMsI,EAAM,SAAW,OAAYA,EAAM,OAASixE,EAAe,KAAK,EAGjGE,EAAkB72E,EAAAA,IAA4B,EAAE,EAGhD82E,EAAmB15E,WAAS,IAAMsI,EAAM,UAAY,OAAYA,EAAM,QAAUmxE,EAAgB,KAAK,EAGrGE,EAAa35E,EAAAA,SAAS,IAAMsI,EAAM,OAAO,KAAKiwB,GAASA,EAAM,SAAW,IAASA,EAAM,SAAW,MAAS,CAAC,EAG5GqhD,EAAmB55E,EAAAA,SAAS,IAAM,CACpC,MAAM65E,EAAUH,EAAiB,MACjC,OAAO,OAAO,KAAKG,CAAO,EAAE,KAAKh5E,GAAOg5E,EAAQh5E,CAAG,GAAKg5E,EAAQh5E,CAAG,EAAE,KAAA,IAAW,EAAE,CACtF,CAAC,EAGKi5E,EAAoBl3E,EAAAA,IAA2B,IAAI,EAGnDm3E,EAAkBn3E,EAAAA,IAA8B,EAAE,EAGlDo3E,EAAyBzhD,GAAsC,OAEjE,GAAIA,EAAM,eAAiBA,EAAM,cAAc,OAAS,EACpD,OAAOA,EAAM,cAIjB,MAAM0hD,IAAer5E,EAAA0H,EAAM,eAAN,YAAA1H,EAAqB23B,EAAM,OAAQwhD,EAAgB,MAAMxhD,EAAM,GAAG,EAEvF,OAAI0hD,GAAgBA,EAAa,OAAS,EAE/BA,EAAa,IAAIn8E,IAAU,CAAE,MAAAA,EAAO,KAAMA,GAAQ,EAGtD,CAAA,CACX,EAGMo8E,EAAoBl6E,EAAAA,SAAS,IAExB,oBADKsI,EAAM,YAAcA,EAAM,QAAU,SAClB,QAAQ,MAAO,GAAG,CAAC,EACpD,EAGK6xE,EAAoB,IAAc,CACpC,GAAI,OAAO,OAAW,IAAa,OAAO7xE,EAAM,SAAW,GAE3D,GAAI,CACA,MAAM8xE,EAAQ,aAAa,QAAQF,EAAkB,KAAK,EAC1D,GAAIE,IAAU,KAAM,CAChB,MAAMhwD,EAAS,SAASgwD,EAAO,EAAE,EAEjC,GAAI9xE,EAAM,eAAe,SAAS8hB,CAAM,EACpC,OAAOA,CAEf,CACJ,OAASs+C,EAAO,CACZ,QAAQ,MAAM,2CAA4CA,CAAK,CACnE,CAEA,OAAOpgE,EAAM,SAAW,EAC5B,EAGM+xE,EAAkBz3E,MAAYu3E,GAAmB,EAGvDh6E,EAAAA,MAAM,IAAA,OAAM,OAAAS,EAAA0H,EAAM,aAAN,YAAA1H,EAAkB,UAAW05E,GAAe,CACpD,GAAIA,GAAcA,IAAeD,EAAgB,QAC7CA,EAAgB,MAAQC,EAEpB,OAAO,OAAW,KAClB,GAAI,CACA,aAAa,QAAQJ,EAAkB,MAAOI,EAAW,UAAU,CACvE,OAAS5R,EAAO,CACZ,QAAQ,MAAM,qCAAsCA,CAAK,CAC7D,CAGZ,CAAC,EAGDvoE,EAAAA,MAAM,IAAMmI,EAAM,QAAS,CAACiyE,EAAYC,IAAe,CAEnD,GAAIlyE,EAAM,UAAY,QAGlB,KAAK,UAAUiyE,CAAU,IAAM,KAAK,UAAUC,CAAU,GAG5D,GAAIrB,EAAe,MACfljC,EAAA,UACOojC,EAAc,OAASD,EAAc,OAASzoD,GAAAA,OAAQ,CAE7D,MAAMszC,EAAcuV,EAAgB,MAAM,CAAC,GAAK,CAAE,IAAK,aAAc,MAAO,MAAA,EAC5E7oD,GAAAA,OAAO,IACHroB,EAAM,WACN,CACI,KAAM,EACN,OAAQ27D,EAAY,IACpB,UAAWA,EAAY,MACvB,QAASsW,EACT,QAASE,EAAiB,KAAA,EAE9B,CAAE,cAAe,EAAA,CAAK,CAE9B,EACJ,EAAG,CAAE,KAAM,GAAM,EAGjBt6E,EAAAA,MAAM,IAAMmI,EAAM,OAAQ,CAACoyE,EAAQC,IAAW,CACtCD,IAAWC,GAAUxB,EAAe,QAEpCY,EAAgB,MAAQ,CAAA,EACxBD,EAAkB,MAAQ,KAC1Bc,EAAS,MAAQ,KAGzB,CAAC,EAGD,MAAMH,EAAmBz6E,EAAAA,SAAS,IAAM,OAEpC,OAAIsI,EAAM,UAAY,OACXA,EAAM,QAIb8wE,EAAc,SAASx4E,EAAA0H,EAAM,aAAN,MAAA1H,EAAkB,UAClC0H,EAAM,WAAW,SAMrB+xE,EAAgB,KAC3B,CAAC,EAIKQ,EAA4B76E,EAAAA,SAAS,IAAM,SAC7C,GAAI,CAACsI,EAAM,oBAAqB,MAAO,GAEvC,MAAMwyE,EAAiB,KAAK,IAAI,GAAGxyE,EAAM,cAAc,EAKvD,OAJc8wE,EAAc,QACtBx4E,EAAA0H,EAAM,aAAN,YAAA1H,EAAkB,QAAS,IAC3B0B,EAAAw3E,EAAkB,QAAlB,YAAAx3E,EAAyB,QAAS,IAExBw4E,CACpB,CAAC,EAGKC,EAA4B/6E,EAAAA,SAAS,IAChCsI,EAAM,OACR,UAAgBiwB,EAAM,SAAW,WAAa,CAACA,EAAM,eAAiBA,EAAM,cAAc,SAAW,EAAE,EACvG,IAAIA,GAASA,EAAM,GAAG,CAC9B,EAGKqiD,EAAWh4E,EAAAA,IAAmB,IAAI,EAGlCo4E,EAAsC,MAAOC,GAA6C,SAC5F,GAAI,CAAC3yE,EAAM,OAAQ,MAAO,CAAA,EAE1B,GAAI,CAEAsyE,EAAS,MAAQ,KAEjB,MAAMvW,EAAO4W,EAAQ,QAAUA,EAAQ,OAAO,OAAS,EACjDA,EAAQ,OAAO,CAAC,EAChB,CAAE,IAAK,aAAc,MAAO,MAAA,EAG5B15D,EAAc,CAChB,KAAM05D,EAAQ,YACd,QAASR,EAAiB,MAC1B,OAAQpW,EAAK,IACb,UAAWA,EAAK,OAAS,OACzB,QAASqV,EAAiB,KAAA,EAI1BuB,EAAQ,cAAgB,GAAKF,EAA0B,MAAM,OAAS,GAAK,OAAO,KAAKhB,EAAgB,KAAK,EAAE,SAAW,IACzHx4D,EAAO,aAAew5D,EAA0B,OAGpD,MAAMtS,GAAW,MAAMyS,GAAM,IAAI5yE,EAAM,OAAQ,CAAE,OAAAiZ,EAAQ,EAGzD,OAAIknD,GAAS,KAAK,aACdqR,EAAkB,MAAQrR,GAAS,KAAK,YAIxCA,GAAS,KAAK,eACdsR,EAAgB,MAAQ,CAAE,GAAGA,EAAgB,MAAO,GAAGtR,GAAS,KAAK,YAAA,GAGlEA,GAAS,KAAK,IACzB,OAASC,EAAY,CACjB,QAAQ,MAAM,iCAAkCA,CAAK,EAGrD,MAAMyS,IAAe74E,GAAA1B,EAAA8nE,GAAA,YAAAA,EAAO,WAAP,YAAA9nE,EAAiB,OAAjB,YAAA0B,EAAuB,WACrComE,GAAA,YAAAA,EAAO,UACP,yCACP,OAAAkS,EAAS,MAAQO,EAEV,CAAA,CACX,CACJ,EAGMC,EAAoBp7E,WAAS,IAAMsI,EAAM,WAAaA,EAAM,OAAS0yE,EAAmB,OAAU,EAElGK,EAAoB9d,GAAiB,CAEvC,GAAI8b,EAAc,OAASD,EAAc,OAASzoD,GAAAA,OAAQ,CACtD,MAAMszC,EAAcuV,EAAgB,MAAM,CAAC,GAAK,CAAE,IAAK,aAAc,MAAO,MAAA,EAC5E7oD,GAAAA,OAAO,IACHroB,EAAM,WACN,CACI,KAAAi1D,EACA,OAAQ0G,EAAY,IACpB,UAAWA,EAAY,MACvB,QAASyV,EAAiB,MAC1B,QAASe,EAAiB,KAAA,EAE9B,CAAE,cAAe,EAAA,CAAK,CAE9B,CAGAnoD,EAAK,aAAcirC,CAAI,CAC3B,EAGM+d,EAAiB14E,EAAAA,IAAI,CAAC,EAEtB24E,EAAuBhe,GAAiB,CAC1C+d,EAAe,MAAQ/d,CAE3B,EAEMie,EAAoBC,GAA2B,OAGjD,IAAIC,EAAmBD,EACvB,GAAIA,GAAUA,EAAO,OAAS,EAAG,CAE7B,MAAME,EAAYF,EAAO,OAAO1jE,GAAKA,EAAE,KAAK,EACxC4jE,EAAU,OAAS,EAEnBD,EAAmB,CAACC,EAAUA,EAAU,OAAS,CAAC,CAAC,EAGnDD,EAAmB,CAACD,EAAOA,EAAO,OAAS,CAAC,CAAC,CAErD,CAWA,GARInzE,EAAM,SAAW,SACjBixE,EAAe,MAAQmC,GAI3BppD,EAAK,gBAAiBopD,CAAgB,EAGlCrC,EAAc,OAASD,EAAc,OAASzoD,GAAAA,OAAQ,CAEtD,MAAMpP,EAAc,CAChB,OAAM3gB,EAAA0H,EAAM,aAAN,YAAA1H,EAAkB,eAAgB,EACxC,QAAS84E,EAAiB,MAC1B,QAASe,EAAiB,KAAA,EAI1BiB,GAAoBA,EAAiB,OAAS,GAAKA,EAAiB,CAAC,EAAE,MACvEn6D,EAAO,OAASm6D,EAAiB,CAAC,EAAE,IACpCn6D,EAAO,UAAYm6D,EAAiB,CAAC,EAAE,OAAS,OAGpD/qD,GAAAA,OAAO,IAAIroB,EAAM,WAAaiZ,EAAQ,CAAE,cAAe,GAAM,CACjE,CAGI63D,EAAc,OAASsC,GAAoBA,EAAiB,OAAS,GAAKA,EAAiB,CAAC,EAAE,KAC9FppD,EAAK,aAAc,CACf,IAAKopD,EAAiB,CAAC,EAAE,IACzB,MAAOA,EAAiB,CAAC,EAAE,OAAS,KAAA,CACvC,CAET,EAEME,EAAoBC,GAAkB,CACxCvpD,EAAK,cAAeupD,CAAI,CAC5B,EAGA,IAAIC,EAA4D,KAEhE,MAAMC,EAAuBzB,GAAgC,CACzD,MAAM0B,EAAa,OAAO1B,GAAe,SAAW,SAASA,EAAY,EAAE,EAAIA,EAQ/E,GALIhyE,EAAM,UAAY,SAClB+xE,EAAgB,MAAQ2B,GAIxB,OAAO,OAAW,IAClB,GAAI,CACA,aAAa,QAAQ9B,EAAkB,MAAO8B,EAAW,UAAU,CACvE,OAAStT,EAAO,CACZ,QAAQ,MAAM,wCAAyCA,CAAK,CAChE,CAOJ,GAHAp2C,EAAK,iBAAkB0pD,CAAU,EAG7B3C,EAAc,OAASD,EAAc,OAASzoD,GAAAA,OAAQ,CACtD,MAAMszC,EAAcuV,EAAgB,MAAM,CAAC,GAAK,CAAE,IAAK,aAAc,MAAO,MAAA,EAC5E7oD,GAAAA,OAAO,IACHroB,EAAM,WACN,CACI,KAAM,EACN,OAAQ27D,EAAY,IACpB,UAAWA,EAAY,MACvB,QAASyV,EAAiB,MAC1B,QAASsC,CAAA,EAEb,CAAE,cAAe,EAAA,CAAK,CAE9B,CAGI7C,EAAe,OAAS8C,EAAS,OACjChmC,EAAA,EAIJ3jB,EAAK,gBAAiB0pD,CAAU,CACpC,EAEME,EAAqB,CAACpb,EAAkBhjE,IAAkB,CAE5D,MAAMy8E,EAAa,CAAE,GAAGb,EAAiB,MAAO,CAAC5Y,CAAQ,EAAGhjE,CAAA,GAGxD,CAACA,GAASA,EAAM,KAAA,IAAW,KAC3B,OAAOy8E,EAAWzZ,CAAQ,EAI1Bx4D,EAAM,UAAY,SAClBmxE,EAAgB,MAAQc,GAI5BjoD,EAAK,iBAAkBioD,CAAU,EAG7BuB,GACA,aAAaA,CAAmB,EAGpCA,EAAsB,WAAW,IAAM,CAEnC,GAAIzC,EAAc,OAASD,EAAc,OAASzoD,GAAAA,OAAQ,CACtD,MAAMszC,EAAcuV,EAAgB,MAAM,CAAC,GAAK,CAAE,IAAK,aAAc,MAAO,MAAA,EAC5E7oD,GAAAA,OAAO,IACHroB,EAAM,WACN,CACI,KAAM,EACN,OAAQ27D,EAAY,IACpB,UAAWA,EAAY,MACvB,QAASsW,CAAA,EAEb,CAAE,cAAe,EAAA,CAAK,CAE9B,CAIIpB,EAAe,OAAS8C,EAAS,OACjChmC,EAAA,EAIJ3jB,EAAK,eAAgBioD,CAAU,CACnC,EAAG,GAAG,CACV,EAGM0B,EAAWr5E,EAAAA,IAAwC,IAAI,EAGvDqzC,EAAU,IAAM,CAEdkjC,EAAe,OAAS8C,EAAS,OAAS,OAAQA,EAAS,MAAc,SAAY,WACpFA,EAAS,MAAc,QAAA,EAGnB7C,EAAc,OAAS9wE,EAAM,YAAcqoB,GAAAA,QAChDA,GAAAA,OAAO,OAAA,CAEf,EAGMwrD,EAAgBv5E,EAAAA,IAAI,EAAK,EACzBw5E,EAAex5E,EAAAA,IAAc,IAAI,EACjCy5E,EAAWz5E,EAAAA,IAAS,IAAI,EACxB05E,GAAiB15E,EAAAA,IAAI,CAAC,EAG5B,IAAI25E,GACJ,GAAI,CAEAA,GADc57C,GAAA,EACM,MACxB,MAAY,CAER47C,GAAc,MAClB,CAGA,MAAMC,GAAcx8E,EAAAA,SAAS,IACrB,CAACsI,EAAM,UAAYA,EAAM,SAAS,SAAW,EAAU,CAAA,EAEpDA,EAAM,SAAS,OAAOoiE,GACrBA,EAAI,OAAS,OAAkB,GAC5B,OAAOA,EAAI,MAAS,WACrBA,EAAI,KAAK0R,EAAa,KAAK,EAC3B1R,EAAI,IACb,CACJ,EAGK+R,GAAY57E,GAAgB,OAC9B,QAAOD,EAAA0H,EAAM,aAAN,YAAA1H,EAAkB,KAAKqhE,GAAKA,EAAE,MAAQphE,KAAQ,CAAE,IAAAA,CAAA,CAC3D,EAGM67E,GAAmB18E,EAAAA,SAAS,IAAMsI,EAAM,QAAQ,EAChDq0E,GAAiB38E,EAAAA,SAAS,IAAMi3E,GAAU3uE,EAAM,QAAQ,CAAC,EAGzDs0E,EAAqB58E,EAAAA,SAAS,IAC3Bo8E,EAAa,MAGb9zE,EAAM,eAGJ,OAAOA,EAAM,gBAAmB,WACjCA,EAAM,eAAe8zE,EAAa,KAAK,EACvC9zE,EAAM,eAJD,QAAQo0E,GAAiB,KAAK,GAH9B,QAAQA,GAAiB,KAAK,EAQ5C,EAGKG,EAAqB/b,GAAqB,CAC5C,MAAMmD,EAAcuV,EAAgB,MAAM,KAAKzhE,GAAKA,EAAE,MAAQ+oD,CAAQ,EACtE,OAAOmD,GAAA,YAAAA,EAAa,QAAS,IACjC,EAGM6Y,EAAiB,CAAC/jE,EAASnX,EAAewH,IAAsB,CAElEkpB,EAAK,aAAcvZ,EAAMnX,EAAOwH,CAAK,EAGjCd,EAAM,YAAcA,EAAM,WAAW,OAAS,IAE9C8zE,EAAa,MAAQrjE,EAGrBujE,GAAe,MAAQ,EAGlBD,EAAS,OAcV/zE,EAAM,WAAW,QAAQiwB,GAAS,CAC9B8jD,EAAS,MAAM,KAAK9jD,EAAM,GAAG,EAAKxf,EAAawf,EAAM,GAAG,GAAKA,EAAM,SAAW,EAClF,CAAC,EACD8jD,EAAS,MAAM,YAAA,EAGfF,EAAc,MAAQ,IAlBtB,QAAA,QAAA,EAAA,KAAA,IAAAY,EAAA,EAAoC,KAAK,CAAC,CAAE,QAAAC,KAAc,CACtD,MAAMC,EAAgC,CAAA,EACtC30E,EAAM,WAAY,QAAQiwB,IAAS,CAC/B0kD,EAAS1kD,GAAM,GAAG,EAAKxf,EAAawf,GAAM,GAAG,GAAKA,GAAM,SAAW,EACvE,CAAC,EACD8jD,EAAS,MAAQW,EAAQC,CAAQ,EAGjCd,EAAc,MAAQ,EAC1B,CAAC,EAYb,EAGMe,EAAiB,SAAY,CAC/B,GAAI,GAACb,EAAS,OAAS,CAACD,EAAa,OAErC,GAAI,CAEA,GAAI9zE,EAAM,QAAS,CACf,MAAM60E,EAAUf,EAAa,MAAc,GACrC/I,EAAM/qE,EAAM,QAAQ,QAAQ,MAAO60E,CAAM,EAE/C,MAAMd,EAAS,MAAM,IAAIhJ,EAAK,CAC1B,UAAY3iE,GAAc,CAEtB6rE,IAAA,MAAAA,GAAc,CACV,MAAO,UACP,KAAM,GAAGG,GAAiB,KAAK,wBAC/B,QAAS,UACT,WAAY,GAAA,GAGhBpqD,EAAK,aAAc8pD,EAAa,MAAY1rE,CAAI,EAChDyrE,EAAc,MAAQ,GACtBC,EAAa,MAAQ,KAGrBnmC,EAAA,CACJ,EACA,QAAUmnC,GAAgB,CAUtB,GARAb,IAAA,MAAAA,GAAc,CACV,MAAO,QACP,KAAM,sDACN,QAAS,SACT,WAAY,GAAA,GAIZj0E,EAAM,UAAYA,EAAM,SAAS,OAAS,EAAG,CAC7C,MAAM+0E,EAAY,OAAO,KAAKD,CAAM,EAC9BnhE,EAAWugE,GAAY,MAAM,UAAU9R,IACzCA,GAAI,UAAU,SAAY2S,EAAU,SAASx8E,EAAG,CAAC,CAAA,EAEjDob,IAAa,KACbqgE,GAAe,MAAQrgE,EAE/B,CAEAqW,EAAK,YAAa8pD,EAAa,MAAYgB,CAAM,CACrD,CAAA,CACH,CACL,MAEI9qD,EAAK,aAAc8pD,EAAa,MAAYC,EAAS,MAAM,IAAI,EAC/DF,EAAc,MAAQ,GACtBC,EAAa,MAAQ,IAE7B,OAAS1T,EAAO,CACZp2C,EAAK,YAAa8pD,EAAa,MAAY1T,CAAK,CACpD,CACJ,EAGM4U,GAAmB,IAAM,CAC3BnB,EAAc,MAAQ,GACtBC,EAAa,MAAQ,KACrBE,GAAe,MAAQ,EACnBD,EAAS,OACTA,EAAS,MAAM,YAAA,CAEvB,EAGMkB,EAAe,SAAY,CAC7B,GAAI,CAAClB,EAAS,OAAS,CAACD,EAAa,OAAS,CAAC9zE,EAAM,UAAW,OAGhE,MAAMk1E,EAAYpB,EAAa,MAAc,MAASA,EAAa,MAAc,OAASM,GAAiB,MAG3G,GAFkB,OAAO,QAAQ,oCAAoCc,CAAQ,kCAAkC,EAI/G,GAAI,CACA,MAAML,EAAUf,EAAa,MAAc,GACrC/I,EAAM/qE,EAAM,UAAU,QAAQ,MAAO60E,CAAM,EAEjD,MAAMd,EAAS,MAAM,OAAOhJ,EAAK,CAC7B,UAAY3iE,GAAc,CAEtB6rE,IAAA,MAAAA,GAAc,CACV,MAAO,UACP,KAAM,GAAGG,GAAiB,KAAK,wBAC/B,QAAS,UACT,WAAY,GAAA,GAGhBpqD,EAAK,aAAc8pD,EAAa,MAAY1rE,CAAI,EAChDyrE,EAAc,MAAQ,GACtBC,EAAa,MAAQ,KAGrBnmC,EAAA,CACJ,EACA,QAAUyyB,GAAe,OAErB,MAAM+U,KAAY78E,EAAA8nE,GAAA,YAAAA,EAAO,WAAP,YAAA9nE,EAAiB,QAAQ8nE,GAAA,YAAAA,EAAO,OAAQA,EACpDyS,IAAesC,IAAA,YAAAA,GAAW,UAAW,sCAG3ClB,IAAA,MAAAA,GAAc,CACV,MAAO,QACP,KAAMpB,GACN,QAAS,SACT,WAAY,GAAA,GAGhB7oD,EAAK,cAAe8pD,EAAa,MAAY1T,CAAK,CACtD,CAAA,CACH,CACL,OAASA,EAAO,CACZp2C,EAAK,cAAe8pD,EAAa,MAAY1T,CAAK,CACtD,CACJ,EAEA,OAAA/uC,EAAa,CACT,QAAAsc,CAAA,CACH,wBAlyCGq+B,EAAAA,YAqbac,GAAA,CArbA,MAAOtpD,EAAA,MAAQ,uBAAOA,EAAA,cAAc,CAAA,qBAC7C,IA6SO,CA7SPqpD,EAAAA,YA6SOE,GAAA,CA7SD,MAAM,0BAAwB,mBAChC,IA2SO,CA3SPF,EAAAA,YA2SOG,GAAA,CA3SA,GAAIxpD,EAAA,YAAU,mBACjB,IAySQ,CAzSRqpD,cAySQuI,GAAA,KAAAhJ,cAAA,mBAhSJ,IAGM,CAHK4E,EAAA,QAAkBH,EAAA,OAA7BjF,EAAAA,YAAAL,EAAAA,mBAGM,MAHNpwB,GAGM,CAFF0xB,EAAAA,YAA8BwI,GAAA,CAApB,QAAQ,UAAS,EAC3B7J,EAAAA,mBAAqC,IAArCpwB,GAAqCuwB,EAAAA,gBAAlBnoD,EAAA,WAAW,EAAA,CAAA,CAAA,IAGlBA,EAAA,OAAS8uD,EAAA,OAAzB1G,EAAAA,UAAA,EAAAL,EAAAA,mBAEM,MAFNjrB,GAEMqrB,EAAAA,gBADCnoD,EAAA,OAAS8uD,EAAA,KAAQ,EAAA,CAAA,GAKTzB,EAAA,qBADf7E,EAAAA,YA2FSsJ,GAAA,eAzFD,WAAJ,IAAI3B,EACH,SAAUb,EAAA,MACV,OAAQtvD,EAAA,OACR,UAAS0tD,EAAA,MACT,WAAUiB,EAAA,MACV,eAAca,EAAA,MACd,UAAW,GACX,mBAAkB,GAClB,QAASxvD,EAAA,QACT,MAAOA,EAAA,MACP,WAAYA,EAAA,WACZ,KAAMA,EAAA,KACN,kBAAgB0vD,EAChB,uBAAmBpvD,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAA8H,GAAEonD,EAAA,MAAiBpnD,GACtC,gBAAa0nD,EACb,aAAakB,CAAA,uBAGEnD,EAAA,YAAa,yBACzB,IA0CK,CA1CL7F,EAAAA,mBA0CK,KA1CLjrB,GA0CK,kBAzCDgrB,EAAAA,mBAwCKM,EAAAA,SAAA,KAAAC,EAAAA,WAxCetoD,EAAA,OAATyM,kBAAXs7C,EAAAA,mBAwCK,KAAA,CAxCwB,IAAG,UAAYt7C,EAAM,GAAG,GAAI,MAAM,KAAA,GAGjDA,EAAM,SAAM,sBADtB+7C,EAAAA,YAMEoC,GAAA,OAJG,cAAagD,EAAA,MAAiBnhD,EAAM,GAAG,GAAA,GACvC,YAAaA,EAAM,mBAAiB,UAAcA,EAAM,OAASA,EAAM,GAAG,MAC3E,KAAK,KACJ,yBAAoB2jD,EAAmB3jD,EAAM,IAAKrE,CAAM,CAAA,+DAK9CqE,EAAM,SAAM,wBAD3B+7C,EAAAA,YAMEsC,GAAA,OAJG,cAAa8C,EAAA,MAAiBnhD,EAAM,GAAG,GAAA,GACvC,QAAO,CAAA,CAAA,MAAA,GAAA,KAAA,OAAA,GAAkCyhD,EAAsBzhD,CAAK,CAAA,EACrE,KAAK,KACJ,yBAAoB2jD,EAAmB3jD,EAAM,IAAKrE,CAAM,CAAA,2DAK9CqE,EAAM,SAAM,wBAD3B+7C,EAAAA,YAOEoC,GAAA,OALG,cAAagD,EAAA,MAAiBnhD,EAAM,GAAG,GAAA,GACvC,YAAaA,EAAM,mBAAiB,UAAcA,EAAM,OAASA,EAAM,GAAG,MAC3E,KAAK,SACL,KAAK,KACJ,yBAAoB2jD,EAAmB3jD,EAAM,IAAKrE,CAAM,CAAA,+DAK9CqE,EAAM,SAAM,sBAD3B+7C,EAAAA,YAMEoC,GAAA,OAJG,cAAagD,EAAA,MAAiBnhD,EAAM,GAAG,GAAA,GACxC,KAAK,OACL,KAAK,KACJ,yBAAoB2jD,EAAmB3jD,EAAM,IAAKrE,CAAM,CAAA,gEAI7D2/C,EAAAA,mBAAkB,MAAArhB,EAAA,EAAA,+BAMJ4hB,EAAAA,WAAAtoD,EAAA,OAATyM,KAAqD,KAAA,QAAAA,EAAM,GAAG,IAC3E,GAAAs8C,EAAAA,QAAA,CASM,CAV8E,MAAAl8C,KAAK,CACzFm7C,EAAAA,mBASM,MATNrhB,GASM,CARFqhB,EAAAA,mBAGM,MAHN5c,GAGM,CAFF4c,qBAAuD,MAAvD3c,GAAuD8c,EAAAA,gBAA3Bt7C,GAASJ,EAAM,GAAG,EAAA,CAAA,EACjCA,EAAM,MAAnB27C,EAAAA,UAAA,EAAAL,EAAAA,mBAAyG,QAAzGzc,GAAyG6c,EAAAA,gBAArB17C,EAAM,IAAI,EAAA,CAAA,iCAEvFA,EAAM,UAAjB27C,EAAAA,UAAA,EAAAL,EAAAA,mBAGM,MAHNxc,GAGM,CAFFyc,EAAAA,mBAAqF,OAAA,CAA9E,MAAK+J,EAAAA,eAAA,CAAA,QAAahB,EAAkBtkD,EAAM,GAAG,IAAA,MAAA,EAAA,EAAA,CAAA,CAAA,EAAyB,IAAC,CAAA,EAC9Eu7C,EAAAA,mBAAsF,OAAA,CAA/E,MAAK+J,EAAAA,eAAA,CAAA,QAAahB,EAAkBtkD,EAAM,GAAG,IAAA,OAAA,EAAA,EAAA,CAAA,CAAA,EAA0B,IAAC,CAAA,CAAA,oDAOnEq8C,EAAAA,OAAM,CAAlB,EAAG12E,aAGX,GAAA22E,EAAAA,QAFSC,GAAS,QAGD52E,GAAI,UAAiBA,EAAK,WAAU,MAAA,EADrD61E,aAIE5nD,EAAA,OAFSjuB,EAAI62E,EAAAA,eAAAJ,EAAAA,WAAA,CAAA,IAAA,CAAA,EACHG,CAAS,CAAA,EAAA,OAAA,EAAA,2JAM7BR,EAAAA,YAuFSsJ,GAAA,OArFJ,MAAO9xD,EAAA,MACP,OAAQA,EAAA,OACR,UAAS0tD,EAAA,MACT,UAAW,GACX,mBAAkB,GAClB,mBAAkB,GAClB,QAAS1tD,EAAA,QACT,MAAOA,EAAA,MACP,WAAYA,EAAA,WACZ,KAAMwtD,EAAA,MACN,kBAAgBkC,EAChB,aAAasB,CAAA,uBAGEnD,EAAA,YAAa,yBACzB,IA0CK,CA1CL7F,EAAAA,mBA0CK,KA1CLxc,GA0CK,kBAzCDuc,EAAAA,mBAwCKM,EAAAA,SAAA,KAAAC,EAAAA,WAxCetoD,EAAA,OAATyM,kBAAXs7C,EAAAA,mBAwCK,KAAA,CAxCwB,IAAG,UAAYt7C,EAAM,GAAG,GAAI,MAAM,KAAA,GAGjDA,EAAM,SAAM,sBADtB+7C,EAAAA,YAMEoC,GAAA,OAJG,cAAagD,EAAA,MAAiBnhD,EAAM,GAAG,GAAA,GACvC,YAAaA,EAAM,mBAAiB,UAAcA,EAAM,OAASA,EAAM,GAAG,MAC3E,KAAK,KACJ,yBAAoB2jD,EAAmB3jD,EAAM,IAAKrE,CAAM,CAAA,+DAK9CqE,EAAM,SAAM,wBAD3B+7C,EAAAA,YAMEsC,GAAA,OAJG,cAAa8C,EAAA,MAAiBnhD,EAAM,GAAG,GAAA,GACvC,QAAO,CAAA,CAAA,MAAA,GAAA,KAAA,OAAA,GAAkCyhD,EAAsBzhD,CAAK,CAAA,EACrE,KAAK,KACJ,yBAAoB2jD,EAAmB3jD,EAAM,IAAKrE,CAAM,CAAA,2DAK9CqE,EAAM,SAAM,wBAD3B+7C,EAAAA,YAOEoC,GAAA,OALG,cAAagD,EAAA,MAAiBnhD,EAAM,GAAG,GAAA,GACvC,YAAaA,EAAM,mBAAiB,UAAcA,EAAM,OAASA,EAAM,GAAG,MAC3E,KAAK,SACL,KAAK,KACJ,yBAAoB2jD,EAAmB3jD,EAAM,IAAKrE,CAAM,CAAA,+DAK9CqE,EAAM,SAAM,sBAD3B+7C,EAAAA,YAMEoC,GAAA,OAJG,cAAagD,EAAA,MAAiBnhD,EAAM,GAAG,GAAA,GACxC,KAAK,OACL,KAAK,KACJ,yBAAoB2jD,EAAmB3jD,EAAM,IAAKrE,CAAM,CAAA,gEAI7D2/C,EAAAA,mBAAkB,MAAAiK,EAAA,EAAA,+BAMJ1J,EAAAA,WAAAtoD,EAAA,OAATyM,KAAqD,KAAA,QAAAA,EAAM,GAAG,IAC3E,GAAAs8C,EAAAA,QAAA,CASM,CAV8E,MAAAl8C,KAAK,CACzFm7C,EAAAA,mBASM,MATNiK,GASM,CARFjK,EAAAA,mBAGM,MAHNkK,GAGM,CAFFlK,qBAAuD,MAAvDmK,GAAuDhK,EAAAA,gBAA3Bt7C,GAASJ,EAAM,GAAG,EAAA,CAAA,EACjCA,EAAM,MAAnB27C,EAAAA,UAAA,EAAAL,EAAAA,mBAAyG,QAAzGqK,GAAyGjK,EAAAA,gBAArB17C,EAAM,IAAI,EAAA,CAAA,iCAEvFA,EAAM,UAAjB27C,EAAAA,UAAA,EAAAL,EAAAA,mBAGM,MAHNsK,GAGM,CAFFrK,EAAAA,mBAAqF,OAAA,CAA9E,MAAK+J,EAAAA,eAAA,CAAA,QAAahB,EAAkBtkD,EAAM,GAAG,IAAA,MAAA,EAAA,EAAA,CAAA,CAAA,EAAyB,IAAC,CAAA,EAC9Eu7C,EAAAA,mBAAsF,OAAA,CAA/E,MAAK+J,EAAAA,eAAA,CAAA,QAAahB,EAAkBtkD,EAAM,GAAG,IAAA,OAAA,EAAA,EAAA,CAAA,CAAA,EAA0B,IAAC,CAAA,CAAA,oDAOnEq8C,EAAAA,OAAM,CAAlB,EAAG12E,aAGX,GAAA22E,EAAAA,QAFSC,GAAS,QAGD52E,GAAI,UAAiBA,EAAK,WAAU,MAAA,EADrD61E,aAIE5nD,EAAA,OAFSjuB,EAAI62E,EAAAA,eAAAJ,EAAAA,WAAA,CAAA,IAAA,CAAA,EACHG,CAAS,CAAA,EAAA,OAAA,EAAA,+GAMlBsE,EAAA,OAAiBttD,EAAA,YAA5BooD,EAAAA,YAAAL,EAAAA,mBA6CM,MA7CNuK,GA6CM,CA3CFtK,EAAAA,mBAwBM,MAxBNuK,GAwBM,CArBQvyD,EAAA,gBAAkBA,EAAA,WAAW,MAAQA,EAAA,WAAW,wBAD1DwoD,EAAAA,YAOEgK,GAAA,OALG,cAAaxyD,EAAA,WAAW,aACxB,aAAYA,EAAA,WAAW,MACvB,WAAUA,EAAA,WAAW,SACtB,KAAK,KACJ,sBAAoBuvD,CAAA,kEAEzBxH,EAAAA,mBAAkB,MAAA0K,EAAA,GAGP1D,EAAA,OAAX3G,EAAAA,UAAA,EAAAL,EAAAA,mBAUM,MAVN2K,GAUM,aATF1K,EAAAA,mBAAyE,QAAA,CAAlE,IAAI,gBAAgB,MAAM,uBAAA,EAAwB,WAAQ,EAAA,GACjEqB,EAAAA,YAOEyB,GAAA,CANE,GAAG,gBACF,cAAa6D,EAAA,MACb,QAAS3uD,EAAA,eAAe,IAAIjM,IAAC,CAAA,MAAcA,EAAC,KAAQA,EAAE,SAAA,CAAQ,EAAA,EAC/D,KAAK,KACL,MAAA,CAAA,MAAA,MAAA,EACC,sBAAoBk8D,CAAA,qEAMjCjI,EAAAA,mBAeM,MAfN2K,GAeM,CAdF3K,EAAAA,mBAUM,MAAA,KAAA,CATchoD,EAAA,WAAW,MAAQA,EAAA,WAAW,wBAA9C+nD,EAAAA,mBAEWM,EAAAA,SAAA,CAAA,IAAA,GAAA,qCADJroD,EAAA,WAAW,IAAI,EAAG,OAAImoD,kBAAGnoD,aAAW,EAAE,EAAG,WAAQmoD,EAAAA,gBAAGnoD,EAAA,WAAW,KAAK,EAAG,IAACmoD,EAAAA,gBAAGnoD,EAAA,WAAW,QAAK,EAAS4wD,GAAA,MAAmBC,GAAA,KAAc,EAAG,KAC/I,CAAA,CAAA,OACqB7wD,EAAA,WAAW,QAAK,iBAArC+nD,EAAAA,mBAEWM,EAAAA,SAAA,CAAA,IAAA,GAAA,CADJqC,EAAAA,gBAAAvC,EAAAA,gBAAAnoD,EAAA,WAAW,KAAK,EAAG,IAACmoD,EAAAA,gBAAGyI,GAAA,KAAgB,EAAG,KACjD,CAAA,CAAA,sBACA7I,EAAAA,mBAEWM,EAAAA,SAAA,CAAA,IAAA,GAAA,CADJqC,EAAAA,gBAAAvC,EAAAA,gBAAAnoD,EAAA,WAAW,KAAK,EAAG,IAACmoD,EAAAA,gBAAG0I,GAAA,KAAc,EAAG,KAC/C,CAAA,CAAA,SAEO/C,EAAA,OAAoB9tD,EAAA,WAAW,gCAA1C+nD,EAAAA,mBAEM,MAAA6K,GAAA,CADF5K,qBAA2I,aAApI,iBAAcG,EAAAA,gBAAGnoD,EAAA,WAAW,gBAAgB,EAAG,IAACmoD,EAAAA,gBAAGnoD,EAAA,WAAW,mBAAgB,EAAS4wD,SAAmBC,GAAA,KAAc,EAAG,IAAC,CAAA,CAAA,iEAMpIxD,EAAA,OAAkBW,EAAA,OAA7B5F,EAAAA,YAAAL,EAAAA,mBA6CM,MA7CN8K,GA6CM,CA3CF7K,EAAAA,mBAwBM,MAxBN8K,GAwBM,CArBQ9yD,EAAA,gBAAkBguD,EAAA,MAAkB,MAAQA,EAAA,MAAkB,wBADxExF,EAAAA,YAOEgK,GAAA,OALG,cAAaxE,EAAA,MAAkB,aAC/B,aAAYA,EAAA,MAAkB,MAC9B,WAAUA,EAAA,MAAkB,SAC7B,KAAK,KACJ,sBAAoByB,CAAA,kEAEzB1H,EAAAA,mBAAkB,MAAAgL,EAAA,GAGPhE,EAAA,OAAX3G,EAAAA,UAAA,EAAAL,EAAAA,mBAUM,MAVNiL,GAUM,aATFhL,EAAAA,mBAA4E,QAAA,CAArE,IAAI,mBAAmB,MAAM,uBAAA,EAAwB,WAAQ,EAAA,GACpEqB,EAAAA,YAOEyB,GAAA,CANE,GAAG,mBACF,cAAa6D,EAAA,MACb,QAAS3uD,EAAA,eAAe,IAAIjM,IAAC,CAAA,MAAcA,EAAC,KAAQA,EAAE,SAAA,CAAQ,EAAA,EAC/D,KAAK,KACL,MAAA,CAAA,MAAA,MAAA,EACC,sBAAoBk8D,CAAA,qEAMjCjI,EAAAA,mBAeM,MAfNiL,GAeM,CAdFjL,EAAAA,mBAUM,MAAA,KAAA,CATcgG,EAAA,MAAkB,MAAQA,EAAA,MAAkB,wBAA5DjG,EAAAA,mBAEWM,EAAAA,SAAA,CAAA,IAAA,GAAA,qCADJ2F,EAAA,MAAkB,IAAI,EAAG,OAAI7F,kBAAG6F,QAAkB,EAAE,EAAG,WAAQ7F,EAAAA,gBAAG6F,EAAA,MAAkB,KAAK,EAAG,IAAC7F,EAAAA,gBAAG6F,EAAA,MAAkB,QAAK,EAAS4C,GAAA,MAAmBC,GAAA,KAAc,EAAG,KAC3K,CAAA,CAAA,OACqB7C,EAAA,MAAkB,QAAK,iBAA5CjG,EAAAA,mBAEWM,EAAAA,SAAA,CAAA,IAAA,GAAA,CADJqC,EAAAA,gBAAAvC,EAAAA,gBAAA6F,EAAA,MAAkB,KAAK,EAAG,IAAC7F,EAAAA,gBAAGyI,GAAA,KAAgB,EAAG,KACxD,CAAA,CAAA,sBACA7I,EAAAA,mBAEWM,EAAAA,SAAA,CAAA,IAAA,GAAA,CADJqC,EAAAA,gBAAAvC,EAAAA,gBAAA6F,EAAA,MAAkB,KAAK,EAAG,IAAC7F,EAAAA,gBAAG0I,GAAA,KAAc,EAAG,KACtD,CAAA,CAAA,SAEO/C,EAAA,OAAoBE,EAAA,MAAkB,gCAAjDjG,EAAAA,mBAEM,MAAAmL,GAAA,CADFlL,qBAAyJ,aAAlJ,iBAAcG,EAAAA,gBAAG6F,EAAA,MAAkB,gBAAgB,EAAG,IAAC7F,EAAAA,gBAAG6F,EAAA,MAAkB,mBAAgB,EAAS4C,SAAmBC,GAAA,KAAc,EAAG,IAAC,CAAA,CAAA,yEApS7I7wD,EAAA,OAAS8oD,EAAAA,OAAO,aAAS,sBACrC,IAIO,CAJPb,EAAAA,WAIO5nD,qBAJP,IAIO,CAHH2nD,EAAAA,mBAEM,MAFNjoD,GAEM,CADFioD,EAAAA,mBAAiC,KAAjCr6C,GAAiCw6C,EAAAA,gBAAbnoD,EAAA,KAAK,EAAA,CAAA,CAAA,2DA2SvCA,EAAA,YAAcA,EAAA,WAAW,OAAM,iBADzCwoD,EAAAA,YAmIS2K,GAAA,kBAjII9C,EAAA,2CAAAA,EAAa,MAAAjoD,GACrB,MAAO0oD,EAAA,MACP,KAAM9wD,EAAA,aAAA,GAqGI,iBACP,IAAA,SAuBM,OAvBNgoD,EAAAA,mBAuBM,MAvBNoL,GAuBM,CAtBFpL,EAAAA,mBASM,MAAA,KAAA,CAPQhoD,EAAA,yBADVwoD,EAAAA,YAOUiB,GAAA,OALN,QAAQ,SACP,UAAU30E,EAAAy7E,EAAA,QAAA,YAAAz7E,EAAU,WACpB,QAAO28E,CAAA,qBAER,IAAA,OAAqD,OAAlD/G,EAAAA,gBAAAvC,EAAAA,iBAAArzE,EAAAy7E,EAAA,QAAA,MAAAz7E,EAAU,WAAU,cAAA,QAAA,EAAA,CAAA,CAAA,wDAG/BkzE,EAAAA,mBAWM,MAXNqL,GAWM,CAVFhK,EAAAA,YAEUI,GAAA,CAFD,QAAQ,YAAa,QAAO+H,EAAA,qBAAkB,IAEvD,CAAA,GAAAlxD,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAA,mBAFuD,WAEvD,EAAA,CAAA,WACA+oD,EAAAA,YAMUI,GAAA,CALN,QAAQ,UACP,UAAUjzE,EAAA+5E,EAAA,QAAA,YAAA/5E,EAAU,WACpB,QAAO46E,CAAA,qBAER,IAAA,OAAyD,OAAtD1G,EAAAA,gBAAAvC,EAAAA,iBAAArzE,EAAAy7E,EAAA,QAAA,MAAAz7E,EAAU,WAAU,YAAA,cAAA,EAAA,CAAA,CAAA,kDAvHvC,IAuFW,CAvFKkrB,EAAA,UAAYA,EAAA,SAAS,UAAcuwD,EAAA,qBAC/C/H,EAAAA,YAqFQ8K,GAAA,kBArFQ9C,GAAA,2CAAAA,GAAc,MAAApoD,EAAA,qBAEtB,IAAmC,EADvCggD,EAAAA,UAAA,EAAA,EAAAL,EAAAA,mBAmFOM,WAAA,KAAAC,EAAAA,WAlFoBoI,GAAA,MAAW,CAA1B9R,EAAK9oE,mBADjB0yE,EAAAA,YAmFO+K,GAAA,CAjFF,IAAK3U,EAAI,IACT,MAAOA,EAAI,OAASA,EAAI,IACxB,KAAMA,EAAI,KACV,OAAQ9oE,IAAK,CAAA,qBAGd,IAKE,CAJQgzE,EAAAA,OAAM,eAAgBlK,EAAI,GAAG,GAAA,EADvCqJ,EAAAA,WAKE5nD,EAAA,OAAA,eAHwBu+C,EAAI,GAAG,IAAA,OAC5B,KAAM0R,EAAA,MACN,IAAA1R,CAAA,cAILwJ,EAAAA,YAAAL,EAAAA,mBAkEM,MAlENyL,GAkEM,CAhEFvL,EAAAA,WAAyE5nD,EAAA,OAAA,cAA9Cu+C,EAAI,GAAG,IAAA,CAAM,KAAM0R,EAAA,MAAe,IAAA1R,CAAA,cAG7DwJ,YAAA,EAAA,EAAAL,EAAAA,mBAyDWM,EAAAA,SAAA,KAAAC,EAAAA,WAzDkB1J,EAAI,UAAhB5J,uDAAiCA,GAAQ,CAC3C2b,GAAS3b,CAAQ,EAAE,MAA9BoT,EAAAA,YAAAL,EAAAA,mBASM,MATN0L,GASM,CAPFxL,EAAAA,WAME5nD,sBALsB20C,CAAQ,IAAA,CAC3B,KAAMsb,EAAA,MACN,MAAOC,EAAA,MAAS,KAAKvb,CAAQ,EAC7B,OAAS7gE,IAAWo8E,EAAA,MAAS,KAAKvb,CAAQ,EAAI7gE,GAC9C,MAAOq9E,EAAA,gBAIAb,GAAS3b,CAAQ,EAAE,OAAI,YAAvCoT,EAAAA,YAAAL,EAAAA,mBAgBM,MAhBN2L,GAgBM,CAbQ5K,EAAAA,qBAAqB9T,CAAQ,GAAA,EADvCiT,aAOE5nD,uBALuB20C,CAAQ,IAAA,OAC5B,KAAMsb,EAAA,MACN,MAAOC,EAAA,MAAS,KAAKvb,CAAQ,EAC7B,OAAS7gE,IAAWo8E,EAAA,MAAS,KAAKvb,CAAQ,EAAI7gE,GAC9C,MAAOw8E,GAAS3b,CAAQ,CAAA,4BAE7BwT,EAAAA,YAKgBuC,GAAA,kBAHHwF,EAAA,MAAS,KAAKvb,CAAQ,4BAAtBub,EAAA,MAAS,KAAKvb,CAAQ,EAAA5sC,EAAA,qBAE/B,IAA0C,CAAvCsiD,EAAAA,gBAAAvC,EAAAA,gBAAAwI,GAAS3b,CAAQ,EAAE,OAASA,CAAQ,EAAA,CAAA,CAAA,sEAI/CwT,EAAAA,YA0BamC,GAAA,OAxBR,MAAOgG,GAAS3b,CAAQ,EAAE,OAASA,EACpC,MAAM,MAAA,qBAGN,IAOE,CANQ8T,EAAAA,qBAAqB9T,CAAQ,GAAA,EADvCiT,aAOE5nD,uBALuB20C,CAAQ,IAAA,OAC5B,KAAMsb,EAAA,MACN,MAAOC,EAAA,MAAS,KAAKvb,CAAQ,EAC7B,OAAS7gE,IAAWo8E,EAAA,MAAS,KAAKvb,CAAQ,EAAI7gE,GAC9C,MAAOw8E,GAAS3b,CAAQ,CAAA,aAGd2b,GAAS3b,CAAQ,EAAE,OAAI,0BADtCwT,EAAAA,YAKEqC,GAAA,kBAHW0F,EAAA,MAAS,KAAKvb,CAAQ,4BAAtBub,EAAA,MAAS,KAAKvb,CAAQ,EAAA5sC,GAC9B,SAAUuoD,GAAS3b,CAAQ,EAAE,SAC7B,KAAM2b,GAAS3b,CAAQ,EAAE,MAAI,CAAA,iFAElCwT,EAAAA,YAKEoC,GAAA,kBAHW2F,EAAA,MAAS,KAAKvb,CAAQ,4BAAtBub,EAAA,MAAS,KAAKvb,CAAQ,EAAA5sC,GAC9B,KAAMuoD,GAAS3b,CAAQ,EAAE,MAAI,OAC7B,SAAU2b,GAAS3b,CAAQ,EAAE,QAAA,uGAM1CiT,EAAAA,WAAwE5nD,EAAA,OAAA,aAA9Cu+C,EAAI,GAAG,IAAA,CAAM,KAAM0R,EAAA,MAAe,IAAA1R,CAAA,yFAQ7D2R,EAAA,qBADf/H,EAAAA,YAMEmL,GAAA,OAJG,KAAMpD,EAAA,MACN,OAAQvwD,EAAA,WACR,cAAa,GACb,SAAQoxD,CAAA,kRC1YvBhJ,EAAAA,YAAAI,EAAAA,YAKaE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEME,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,yECb1C,MAAM1sE,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAIiBE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACEF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,aACnB,GAAA22E,EAAAA,QADwDC,GAAS,CACjEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,gGCIxCZ,EAAAA,YAAAI,EAAAA,YAKUE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAESE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,iECb1C,MAAM1sE,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAISE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACUF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,0BACnB,IAAqB,CAArB61E,aAAqB5nD,SAARjuB,CAAI,CAAA,oGCIrBg2E,EAAAA,YAAAI,EAAAA,YAKcE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEKE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,qGCHxCZ,EAAAA,YAAAI,EAAAA,YAKeE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEIE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,uGCHxCZ,EAAAA,YAAAI,EAAAA,YAKiBE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEEE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,kGCHxCZ,EAAAA,YAAAI,EAAAA,YAKYE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEOE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,yECb1C,MAAM1sE,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAIiBE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACEF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,aACnB,GAAA22E,EAAAA,QADwDC,GAAS,CACjEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,kGCiBxCZ,EAAAA,YAAAI,EAAAA,YAKYE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEOE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,yFCzBxCZ,EAAAA,UAAA,EAAAI,EAAAA,YAAoCE,EAAAA,gDAAVC,EAAAA,MAAM,CAAA,EAAA,KAAA,EAAA,4DCDlC,MAAMrsE,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAIgBE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACGF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,0BACnB,IAAqB,CAArB61E,aAAqB5nD,SAARjuB,CAAI,CAAA,8FCIrBg2E,EAAAA,YAAAI,EAAAA,YAKQE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEWE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,mGCHxCZ,EAAAA,YAAAI,EAAAA,YAKaE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEME,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,wGCHxCZ,EAAAA,YAAAI,EAAAA,YAKkBE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAECE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,kGCHxCZ,EAAAA,YAAAI,EAAAA,YAKYE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEOE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,+FCHxCZ,EAAAA,YAAAI,EAAAA,YAKOE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEYE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,oGCHxCZ,EAAAA,YAAAI,EAAAA,YAKcE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEKE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,8FCHxCZ,EAAAA,YAAAI,EAAAA,YAKQE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEWE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,mGCHxCZ,EAAAA,YAAAI,EAAAA,YAKaE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEME,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,yECb1C,MAAM1sE,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAIiBE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACEF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,aACnB,GAAA22E,EAAAA,QADwDC,GAAS,CACjEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,+DCN1C,MAAM1sE,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAIOE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACYF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,0BACnB,IAAqB,CAArB61E,aAAqB5nD,SAARjuB,CAAI,CAAA,gGCIrBg2E,EAAAA,YAAAI,EAAAA,YAKUE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAESE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,uECb1C,MAAM1sE,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAIeE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACIF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,aACnB,GAAA22E,EAAAA,QADwDC,GAAS,CACjEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,qECN1C,MAAM1sE,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAIaE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACMF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,aACnB,GAAA22E,EAAAA,QADwDC,GAAS,CACjEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,wECN1C,MAAM1sE,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAIgBE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACGF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,aACnB,GAAA22E,EAAAA,QADwDC,GAAS,CACjEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,mECN1C,MAAM1sE,EAAQ2jB,EAAAA,SAAA,gBAIZmoD,EAAAA,YAAAI,EAAAA,YAIWE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACQF,EAAAA,MAAApsE,CAAA,EAAK,CAAjB5C,EAAGtH,0BACnB,IAAqB,CAArB61E,aAAqB5nD,SAARjuB,CAAI,CAAA,mFCTrBg2E,EAAAA,YAAAI,EAAAA,YAIaE,EAAAA,gDAJOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cACME,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QAD6CC,GAAS,CACtDf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,iGCWxCZ,EAAAA,YAAAI,EAAAA,YAKWE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEQE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,qGCHxCZ,EAAAA,YAAAI,EAAAA,YAKeE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEIE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,iGCHxCZ,EAAAA,YAAAI,EAAAA,YAKWE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEQE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,kGCHxCZ,EAAAA,YAAAI,EAAAA,YAKYE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEOE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,+FCRxCZ,EAAAA,YAAAI,EAAAA,YAKSE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEUE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,iGCHxCZ,EAAAA,YAAAI,EAAAA,YAKqBE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEFE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,iGCExCZ,EAAAA,YAAAI,EAAAA,YAKWE,EAAAA,gDALOC,EAAAA,MAAM,CAAA,EAAAC,EAAAA,YAAA,CAAA,EAAA,GAAA,cAEQE,EAAAA,OAAM,CAAlBpvE,EAAGtH,aACnB,GAAA22E,EAAAA,QADyDC,GAAS,CAClEf,EAAAA,WAAwC5nD,EAAA,OAA3BjuB,EAAI62E,EAAAA,eAAAC,EAAAA,mBAAUF,CAAS,CAAA,CAAA,CAAA,kBCD1C,MAAM4K,EAAU,CAAhB,cACYlrD,GAAA,eAAU,IACVA,GAAA,sBAAyC,CAC7C,OAAQ,mBACR,eAAgB,mBAChB,mBAAoB,gBAAA,GAGxB,WAAW6+C,EAAa,CACpB,KAAK,QAAUA,EAAI,QAAQ,OAAQ,EAAE,CACzC,CACA,iBAAiBxyE,EAAa/C,EAAe,CACzC,KAAK,eAAe+C,CAAG,EAAI/C,CAC/B,CAEQ,cAAuB,CAC3B,GAAI,OAAO,SAAa,IACpB,MAAO,GAEX,MAAMqL,EAAK,SAAS,cAAc,yBAAyB,EAC3D,OAAOA,GAAA,YAAAA,EAAI,aAAa,aAAc,EAC1C,CAEQ,QAAQoY,EAAkC,GAAY,CAC1D,MAAMo+D,EAAS,IAAI,gBACbC,EAAS,CAACpxE,EAAWvO,IAAe,CACtC,GAAuBA,GAAM,KAC7B,GAAI,MAAM,QAAQA,CAAC,EAAGA,EAAE,QAASmV,GAAMwqE,EAAO,GAAGpxE,CAAC,KAAM4G,CAAC,CAAC,UACjD,OAAOnV,GAAM,SAClB,SAAW,CAAC4/E,EAAIC,CAAE,IAAK,OAAO,QAC1B7/E,CAAA,EAEA2/E,EAAO,GAAGpxE,CAAC,IAAIqxE,CAAE,IAAKC,CAAE,OAG5BH,EAAO,OAAOnxE,EAAG,OAAOvO,CAAC,CAAC,CAElC,EACA,SAAW,CAACuO,EAAGvO,CAAC,IAAK,OAAO,QAAQshB,CAAM,EAAGq+D,EAAOpxE,EAAGvO,CAAC,EACxD,MAAM8/E,EAAKJ,EAAO,SAAA,EAClB,OAAOI,EAAK,IAAIA,CAAE,GAAK,EAC3B,CAEQ,YAAYtX,EAAoB/3D,EAAkB,CACtD,MAAMg4D,EAAkB,CACpB,SAASh4D,GAAA,YAAAA,EAAM,UAAW,oBAC1B,QAASA,GAAA,YAAAA,EAAM,SAAuC,CAAA,EACtD,OAAQ+3D,EAAS,MAAA,EAErB,OAAQA,EAAS,OAAA,CACb,IAAK,KACDC,EAAM,SAAUh4D,GAAA,YAAAA,EAAM,UAAW,oBACjC,MACJ,IAAK,KACDg4D,EAAM,QAAU,kCAChB,MACJ,IAAK,KACDA,EAAM,QAAU,yCAChB,MACJ,IAAK,KACDA,EAAM,QAAU,sBAChB,MACJ,IAAK,KACDA,EAAM,QAAU,8CAChB,MACJ,IAAK,KACDA,EAAM,QAAU,wCAChB,KAAA,CAER,MAAMA,CACV,CAEA,MAAM,QACF2K,EACAhvE,EAA0B,GACH,CACvB,MAAM27E,EACF,OAAO,SAAa,KAAe37E,EAAQ,gBAAgB,SAEzD47E,EAAkC,CACpC,GAAG,KAAK,eACR,GAAID,EACE,CAAA,EACA,CAAE,eAAgB,KAAK,eAAe,cAAc,CAAA,EAC1D,eAAgB,KAAK,aAAA,EACrB,GAAG37E,EAAQ,OAAA,EAIX27E,GAAY,OAAOC,EAAQ,cAAc,EAE7C,MAAMn+D,EAAyB,CAC3B,YAAa,cACb,GAAGzd,EACH,QAAA47E,CAAA,EAGEC,EAAO,MAAM,MAAM,KAAK,QAAU7M,EAAKvxD,CAAM,EAGnD,GAAIo+D,EAAK,SAAW,KAAOA,EAAK,SAAW,IACvC,OAAKA,EAAK,IACN,KAAK,YAAYA,EAAM,IAAI,EAGxB,CAAE,KAAM,OAA2B,SAAUA,CAAA,EAGxD,MAAMC,EAAQD,EAAK,QAAQ,IAAI,cAAc,GAAK,GAE5C91D,EADS,YAAY,KAAK+1D,CAAK,EAE/B,MAAMD,EAAK,KAAA,EAAO,MAAM,KAAO,GAAG,EAClC,MAAMA,EAAK,KAAA,EAEjB,OAAKA,EAAK,IACN,KAAK,YAAYA,EAAM91D,CAAM,EAG1B,CAAE,KAAMA,EAAa,SAAU81D,CAAA,CAC1C,CAEA,MAAM,IACF7M,EACA9xD,EAAkC,CAAA,EAClCld,EAA0C,CAAA,EAC5C,CACE,MAAM+7E,EAAO,GAAG/M,CAAG,GAAG,KAAK,QAAQ9xD,CAAM,CAAC,GAC1C,OAAO,KAAK,QAAW6+D,EAAM,CAAE,GAAG/7E,EAAS,OAAQ,MAAO,CAC9D,CAEA,MAAM,KACFgvE,EACA3iE,EAAY,CAAA,EACZrM,EAAmD,CAAA,EACrD,CACE,MAAMivC,EAAO5iC,aAAgB,SAAWA,EAAO,KAAK,UAAUA,CAAI,EAClE,OAAO,KAAK,QAAW2iE,EAAK,CAAE,GAAGhvE,EAAS,OAAQ,OAAQ,KAAAivC,EAAM,CACpE,CAEA,MAAM,IACF+/B,EACA3iE,EAAY,CAAA,EACZrM,EAAmD,CAAA,EACrD,CACE,MAAMivC,EAAO5iC,aAAgB,SAAWA,EAAO,KAAK,UAAUA,CAAI,EAClE,OAAO,KAAK,QAAW2iE,EAAK,CAAE,GAAGhvE,EAAS,OAAQ,MAAO,KAAAivC,EAAM,CACnE,CAEA,MAAM,MACF+/B,EACA3iE,EAAY,CAAA,EACZrM,EAAmD,CAAA,EACrD,CACE,MAAMivC,EAAO5iC,aAAgB,SAAWA,EAAO,KAAK,UAAUA,CAAI,EAClE,OAAO,KAAK,QAAW2iE,EAAK,CAAE,GAAGhvE,EAAS,OAAQ,QAAS,KAAAivC,EAAM,CACrE,CAEA,MAAM,OACF+/B,EACAhvE,EAA0C,GAC5C,CACE,OAAO,KAAK,QAAWgvE,EAAK,CAAE,GAAGhvE,EAAS,OAAQ,SAAU,CAChE,CACJ,CAEO,MAAMg8E,GAAM,IAAIX,GC5GjBY,GAAgBrgF,GAClB,OAAO,iBAAoB,WACrB,gBAAgBA,CAAC,EACjB,KAAK,MAAM,KAAK,UAAUA,CAAC,CAAC,EAEtC,SAASsgF,GAAkB7X,EAGzB,OACE,MAAMh4D,IAAO9P,EAAA8nE,GAAA,YAAAA,EAAO,WAAP,YAAA9nE,EAAiB,QAAQ8nE,GAAA,YAAAA,EAAO,OAAQA,EACrD,MAAO,CACH,QAASh4D,GAAA,YAAAA,EAAM,SAA+B,CAAA,EAC9C,SAAUA,GAAA,YAAAA,EAAM,UAAsB,mBAAA,CAE9C,CAIO,SAASssE,GACZwD,EAAc,GACM,CACpB,MAAMC,EAAWH,GAAUE,CAAW,EAEhCp/E,EAAQ8V,EAAAA,SAA2B,CACrC,KAAMopE,GAAUG,CAAQ,EACxB,OAAQ,CAAA,EACR,WAAY,GACZ,QAAS,GACT,QAAS,CAAA,EACT,mBAAoB,GACpB,kBAAmB,EAAA,CACtB,EAEKC,EAAY1gF,EAAAA,SAAS,IACvB,OAAO,KAAKoB,EAAM,MAAM,EAAE,KACrBoN,GAAA,OAAO,SAAA5N,EAAAQ,EAAM,OAAOoN,CAAC,IAAd,YAAA5N,EAAiB,SAAU,GAAK,EAAA,CAC5C,EAGE+/E,EAAYpoD,GAAyC,OACvD,SAAQ33B,EAAAQ,EAAM,OAAOm3B,CAAe,IAA5B,YAAA33B,EAA+B,SAAU,GAAK,CAC1D,EAEMggF,EAAYroD,GAAwC,OACtD,QAAO33B,EAAAQ,EAAM,OAAOm3B,CAAe,IAA5B,YAAA33B,EAAgC,KAAM,EACjD,EAEMigF,EAAYtoD,GACdooD,EAASpoD,CAAK,EAAI,GAAQ,KAExBuoD,EAAY,CAAC1D,EAA2B,KAAa,CACvD,UAAW5uE,KAAK,OAAO,KAAKpN,EAAM,MAAM,EAAG,OAAOA,EAAM,OAAOoN,CAAC,EAChE,OAAO,OAAOpN,EAAM,OAAQg8E,CAAM,CACtC,EAEM2D,EAAcx2D,GAA0B,CAC1CnpB,EAAM,QAAUmpB,CACpB,EAEMy2D,EAAc,IAAY,CAC5B,UAAWngF,KAAO,OAAO,KAAKO,EAAM,MAAM,EAAG,OAAOA,EAAM,OAAOP,CAAG,EACpEO,EAAM,QAAU,EACpB,EAEM6/E,EAAc1oD,GAAsC,CACtD,MAAM13B,EAAM03B,EACRn3B,EAAM,OAAOP,CAAG,GAAG,OAAOO,EAAM,OAAOP,CAAG,CAClD,EAEM+U,EAASsrE,GAAoC,CAC/C,GAAIA,GAAA,MAAAA,EAAM,OACN,UAAW1yE,KAAK0yE,EACX9/E,EAAM,KAAaoN,CAAW,EAAI8xE,GAC9BG,EAAiBjyE,CAAW,CAAA,MAGlC,CAEH,MAAM2yE,EAAa//E,EAAM,KACzB,UAAWoN,KAAK,OAAO,KAAK2yE,CAAU,EAClC,OAAQA,EAAmB3yE,CAAC,EAChC,OAAO,OACHpN,EAAM,KACNk/E,GAAUG,CAAQ,CAAA,CAE1B,CACAO,EAAA,EACA5/E,EAAM,QAAU,CAAA,EAChBA,EAAM,WAAa,EACvB,EAGMm3B,EACF13B,GAEAb,WAAmB,CACf,IAAK,IAAOoB,EAAM,KAAeP,CAAG,EACpC,IAAM/C,GAAU,CACXsD,EAAM,KAAeP,CAAG,EAAI/C,EAC7BsD,EAAM,QAAQP,CAAa,EAAI,GAC3BO,EAAM,OAAOP,CAAa,GAC1B,OAAOO,EAAM,OAAOP,CAAa,CACzC,CAAA,CACH,EAGCugF,EAAS,CAAA,EACd,OAAO,KAAKX,CAAQ,EAAyB,QAASjyE,GAAM,CACzD,OAAO,eAAe4yE,EAAQ5yE,EAAG,CAC7B,IAAK,IAAM+pB,EAAM/pB,CAAC,EAClB,WAAY,EAAA,CACf,CACL,CAAC,EAED,MAAM6yE,EAAS,MACX35E,EACA2rE,EACAhvE,EAA+C,CAAA,IAC1B,aACrBjD,EAAM,WAAa,GACdiD,EAAQ,gBAAgB28E,EAAA,EAE7B,MAAMM,EACFj9E,EAAQ,UACFA,EAAQ,UAAUjD,EAAM,IAAa,EACpCA,EAAM,MAGjBR,EAAAyD,EAAQ,WAAR,MAAAzD,EAAA,KAAAyD,EAAmBjD,EAAM,MAEzB,GAAI,CACA,KAAM,CAAE,KAAAsP,CAAA,EACJhJ,IAAW,MACL,MAAM24E,GAAI,IACRhN,EACAiO,EACA,CAAE,OAAQj9E,GAAA,YAAAA,EAAS,MAAA,CAAO,EAE5B,MAAMg8E,GAAI34E,CAAM,EAAa2rE,EAAKiO,EAAY,CAC5C,OAAQj9E,GAAA,YAAAA,EAAS,MAAA,CACpB,EAET,OAAAjD,EAAM,mBAAqB,GAC3B,WAAW,IAAOA,EAAM,mBAAqB,GAAQ,IAAI,GAEzDkB,EAAA+B,EAAQ,YAAR,MAAA/B,EAAA,KAAA+B,EAAoBqM,GAChBrM,EAAQ,gBACRuR,EAAA,EAEGlF,CACX,OAASmM,EAAK,CACV,KAAM,CAAE,OAAAugE,EAAQ,QAAA7yD,GAAYg2D,GAAkB1jE,CAAG,EACjD,MAAAikE,EAAU1D,CAAM,EAChB2D,EAAWx2D,CAAO,GAClBe,EAAAjnB,EAAQ,UAAR,MAAAinB,EAAA,KAAAjnB,EAAkBwY,GACZA,CACV,QAAA,CACIzb,EAAM,WAAa,IACnBiqB,EAAAhnB,EAAQ,WAAR,MAAAgnB,EAAA,KAAAhnB,EACJ,CACJ,EAEMk9E,EAAO,CAAclO,EAAahzD,IACpCghE,EAAU,OAAQhO,EAAKhzD,CAAC,EACtBmhE,EAAM,CAAcnO,EAAahzD,IACnCghE,EAAU,MAAOhO,EAAKhzD,CAAC,EACrBohE,EAAQ,CAAcpO,EAAahzD,IACrCghE,EAAU,QAAShO,EAAKhzD,CAAC,EACvBqhE,EAAM,CAAcrO,EAAahzD,IACnCghE,EAAU,SAAUhO,EAAKhzD,CAAC,EAExBshE,EAAoB3hF,EAAAA,SAAS,IAE3BoB,EAAM,UAAY,IAClBA,EAAM,aAAe,IACrBs/E,EAAU,QAAU,EAE3B,EAED,OAAO,OAAO,OAAOt/E,EAAO,CACxB,UAAAs/E,EACA,SAAAC,EACA,SAAAC,EACA,SAAAC,EACA,UAAAC,EACA,WAAAC,EACA,YAAAC,EACA,WAAAC,EACA,MAAArrE,EACA,MAAA2iB,EACA,OAAA6oD,EACA,OAAAC,EACA,KAAAE,EACA,IAAAC,EACA,MAAAC,EACA,OAAQC,EACR,kBAAAC,CAAA,CACH,CACL,gHClPA,SAASC,GAAuB/wE,EAAsB,CAClD,OAAQA,EAAA,CACJ,IAAK,WACD,MAAO,GACX,IAAK,SACD,MAAO,GACX,IAAK,SACL,IAAK,QACD,MAAO,GACX,QACI,MAAO,EAAA,CAEnB,CAaO,SAASgxE,GACZC,EACwC,CAIxC,MAAMtB,EAAcsB,EAAiB,OACjC,CAAC1iE,EAAKmZ,KACFnZ,EAAImZ,EAAM,GAAG,EAAIA,EAAM,SAAWqpD,GAAuBrpD,EAAM,IAAI,EAC5DnZ,GAEX,CAAA,CAAC,EAIC5C,EAAOwgE,GAAkBwD,CAAW,EAGpCY,EAA4BU,EAAiB,IAC/C,CAAC,CAAE,QAASC,EAAU,GAAGxpD,KAAYA,CAAA,EAGzC,MAAO,CAAE,KAAA/b,EAAM,OAAA4kE,CAAA,CACnB","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,129]}