@powerhousedao/connect 6.0.0-dev.53 → 6.0.0-dev.54

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 (226) hide show
  1. package/dist/assets/AddDriveModal-CUlc2LVq.js +2 -0
  2. package/dist/assets/AddDriveModal-CUlc2LVq.js.map +1 -0
  3. package/dist/assets/AnalyticsSubscriptionManager-B5G_L5RP.js +3 -0
  4. package/dist/assets/AnalyticsSubscriptionManager-B5G_L5RP.js.map +1 -0
  5. package/dist/assets/ClearStorageModal-xiZInXK_.js +2 -0
  6. package/dist/assets/ClearStorageModal-xiZInXK_.js.map +1 -0
  7. package/dist/assets/CookiesPolicyModal-DVXJp787.js +2 -0
  8. package/dist/assets/CookiesPolicyModal-DVXJp787.js.map +1 -0
  9. package/dist/assets/CreateDocumentModal-Cjpq1PBD.js +2 -0
  10. package/dist/assets/CreateDocumentModal-Cjpq1PBD.js.map +1 -0
  11. package/dist/assets/DebugSettingsModal-BvEPWw2E.js +7 -0
  12. package/dist/assets/DebugSettingsModal-BvEPWw2E.js.map +1 -0
  13. package/dist/assets/DeleteDriveModal-BEq8v3-E.js +2 -0
  14. package/dist/assets/DeleteDriveModal-BEq8v3-E.js.map +1 -0
  15. package/dist/assets/DeleteItemModal-B3ziER8J.js +2 -0
  16. package/dist/assets/DeleteItemModal-B3ziER8J.js.map +1 -0
  17. package/dist/assets/DisclaimerModal-CFnBcICu.js +2 -0
  18. package/dist/assets/DisclaimerModal-CFnBcICu.js.map +1 -0
  19. package/dist/assets/DriveSettingsModal-BOdnkWJn.js +2 -0
  20. package/dist/assets/DriveSettingsModal-BOdnkWJn.js.map +1 -0
  21. package/dist/assets/ExportDocumentWithErrorsModal--uHwELhU.js +2 -0
  22. package/dist/assets/ExportDocumentWithErrorsModal--uHwELhU.js.map +1 -0
  23. package/dist/assets/SettingsModal-BntFjuQb.js +2 -0
  24. package/dist/assets/SettingsModal-BntFjuQb.js.map +1 -0
  25. package/dist/assets/UpgradeDriveModal-DmbwNsbG.js +2 -0
  26. package/dist/assets/UpgradeDriveModal-DmbwNsbG.js.map +1 -0
  27. package/dist/assets/__vite-browser-external-D7Ct-6yo.js +2 -0
  28. package/dist/assets/__vite-browser-external-D7Ct-6yo.js.map +1 -0
  29. package/dist/assets/_virtual_ph_external-packages-CM1tCR4L.js +1 -0
  30. package/dist/assets/_virtual_ph_external-packages-CM1tCR4L.js.map +1 -0
  31. package/dist/assets/analytics-2CJbiDed.js +3 -0
  32. package/dist/assets/analytics-2CJbiDed.js.map +1 -0
  33. package/dist/assets/ccip-BEAjQRKG.js +2 -0
  34. package/dist/assets/ccip-BEAjQRKG.js.map +1 -0
  35. package/dist/assets/confirmation-modal-BOwR5ZQq.js +2 -0
  36. package/dist/assets/confirmation-modal-BOwR5ZQq.js.map +1 -0
  37. package/dist/assets/core-BmuZEe8D.js +2 -0
  38. package/dist/assets/core-BmuZEe8D.js.map +1 -0
  39. package/dist/assets/disclosure-BhnV_XS1.js +2 -0
  40. package/dist/assets/disclosure-BhnV_XS1.js.map +1 -0
  41. package/dist/assets/drive-by-id-DvdlB_kB.js +2 -0
  42. package/dist/assets/drive-by-id-DvdlB_kB.js.map +1 -0
  43. package/dist/assets/drives-DjHuIXXn.js +2 -0
  44. package/dist/assets/drives-DjHuIXXn.js.map +1 -0
  45. package/dist/assets/dropdown-menu-BzZBDp_E.js +2 -0
  46. package/dist/assets/dropdown-menu-BzZBDp_E.js.map +1 -0
  47. package/dist/assets/editor-DBekHIfI.js +2 -0
  48. package/dist/assets/editor-DBekHIfI.js.map +1 -0
  49. package/dist/assets/editor-DV2TvDV5.js +46 -0
  50. package/dist/assets/editor-DV2TvDV5.js.map +1 -0
  51. package/dist/assets/exports-CQVZRuji.js +3 -0
  52. package/dist/assets/exports-CQVZRuji.js.map +1 -0
  53. package/dist/assets/form-input-CPs_z-6y.js +2 -0
  54. package/dist/assets/form-input-CPs_z-6y.js.map +1 -0
  55. package/dist/assets/graphql-editor-CcDLLpoK.js +74 -0
  56. package/dist/assets/graphql-editor-CcDLLpoK.js.map +1 -0
  57. package/dist/assets/hmr-BfH10IPs.js +2 -0
  58. package/dist/assets/hmr-BfH10IPs.js.map +1 -0
  59. package/dist/assets/hmr-LMNkvzP7.js +1 -0
  60. package/dist/assets/hmr-LMNkvzP7.js.map +1 -0
  61. package/dist/assets/{hooks-53pCkdY-.js → hooks--iZen3H-.js} +13 -12
  62. package/dist/assets/hooks--iZen3H-.js.map +1 -0
  63. package/dist/assets/index-BDI8rK1R.js +2 -0
  64. package/dist/assets/index-BDI8rK1R.js.map +1 -0
  65. package/dist/assets/index-BWgPOeS2.js +500 -0
  66. package/dist/assets/index-BWgPOeS2.js.map +1 -0
  67. package/dist/assets/index-BeyYTlkr.js +2 -0
  68. package/dist/assets/index-BeyYTlkr.js.map +1 -0
  69. package/dist/assets/index-CUlo2oTb.js +199 -0
  70. package/dist/assets/index-CUlo2oTb.js.map +1 -0
  71. package/dist/assets/index-DN20Z-2K.js +222 -0
  72. package/dist/assets/index-DN20Z-2K.js.map +1 -0
  73. package/dist/assets/index-DPCEN2cB.js +2 -0
  74. package/dist/assets/index-DPCEN2cB.js.map +1 -0
  75. package/dist/assets/index-DcvFnjR9.css +1 -0
  76. package/dist/assets/index-RTtoSfzq.js +2 -0
  77. package/dist/assets/index-RTtoSfzq.js.map +1 -0
  78. package/dist/assets/index-WdPlK4TH.js +32 -0
  79. package/dist/assets/index-WdPlK4TH.js.map +1 -0
  80. package/dist/assets/index.esm-BeYGM8vk.js +2 -0
  81. package/dist/assets/index.esm-BeYGM8vk.js.map +1 -0
  82. package/dist/assets/index.modern-BKQ3hpRq.js +2 -0
  83. package/dist/assets/index.modern-BKQ3hpRq.js.map +1 -0
  84. package/dist/assets/json-editor-CfHUc1UK.js +2 -0
  85. package/dist/assets/json-editor-CfHUc1UK.js.map +1 -0
  86. package/dist/assets/load-D23NmM_n.js +4 -0
  87. package/dist/assets/load-D23NmM_n.js.map +1 -0
  88. package/dist/assets/location-info-N8RPWokW.js +2 -0
  89. package/dist/assets/location-info-N8RPWokW.js.map +1 -0
  90. package/dist/assets/message-list-0i5gk_8j.js +2 -0
  91. package/dist/assets/message-list-0i5gk_8j.js.map +1 -0
  92. package/dist/assets/migrator-CmQyl4ZK.js +78 -0
  93. package/dist/assets/migrator-CmQyl4ZK.js.map +1 -0
  94. package/dist/assets/node-input-DnUl9CxT.js +2 -0
  95. package/dist/assets/node-input-DnUl9CxT.js.map +1 -0
  96. package/dist/assets/nodefs-BP-sxN1O.js +2 -0
  97. package/dist/assets/nodefs-BP-sxN1O.js.map +1 -0
  98. package/dist/assets/nodefs-_NvywCGz.js +1 -0
  99. package/dist/assets/nodefs-_NvywCGz.js.map +1 -0
  100. package/dist/assets/opfs-ahp-DN9nZuJs.js +1 -0
  101. package/dist/assets/opfs-ahp-DN9nZuJs.js.map +1 -0
  102. package/dist/assets/opfs-ahp-DtmzPaVs.js +4 -0
  103. package/dist/assets/opfs-ahp-DtmzPaVs.js.map +1 -0
  104. package/dist/assets/options-CBc6-sTL.js +2 -0
  105. package/dist/assets/options-CBc6-sTL.js.map +1 -0
  106. package/dist/assets/pglite.db-B2bT8QML.js +133 -0
  107. package/dist/assets/pglite.db-B2bT8QML.js.map +1 -0
  108. package/dist/assets/pglite.worker-Ca6pWokV.js +1 -0
  109. package/dist/assets/pglite.worker-Ca6pWokV.js.map +1 -0
  110. package/dist/assets/processor-host-module-B89Dt9nZ.js +3 -0
  111. package/dist/assets/processor-host-module-B89Dt9nZ.js.map +1 -0
  112. package/dist/assets/queue-CxFgA-r3.js +2 -0
  113. package/dist/assets/queue-CxFgA-r3.js.map +1 -0
  114. package/dist/assets/reactor-7tK-WVaY.js +16 -0
  115. package/dist/assets/reactor-7tK-WVaY.js.map +1 -0
  116. package/dist/assets/reactor-Bsjwm88i.js +193 -0
  117. package/dist/assets/reactor-Bsjwm88i.js.map +1 -0
  118. package/dist/assets/reactor-CRqBKYEo.css +1 -0
  119. package/dist/assets/read-required-modal-BKEkfucI.js +2 -0
  120. package/dist/assets/read-required-modal-BKEkfucI.js.map +1 -0
  121. package/dist/assets/renown-CgfQ6oBU.js +2 -0
  122. package/dist/assets/renown-CgfQ6oBU.js.map +1 -0
  123. package/dist/assets/state-schemas-DK8TnzfC.js +3 -0
  124. package/dist/assets/state-schemas-DK8TnzfC.js.map +1 -0
  125. package/dist/assets/tabs-DY_DEdtI.js +2 -0
  126. package/dist/assets/tabs-DY_DEdtI.js.map +1 -0
  127. package/dist/assets/use-get-switchboard-link-B47eB8lt.js +12 -0
  128. package/dist/assets/use-get-switchboard-link-B47eB8lt.js.map +1 -0
  129. package/dist/assets/user-permissions-BJ8c2UOP.js +2 -0
  130. package/dist/assets/user-permissions-BJ8c2UOP.js.map +1 -0
  131. package/dist/assets/vetra-Bu3fuZWc.js +221 -0
  132. package/dist/assets/vetra-Bu3fuZWc.js.map +1 -0
  133. package/dist/index.html +2 -20
  134. package/lib/package.copy.json +3 -4
  135. package/lib/src/components/app-loader.d.ts.map +1 -1
  136. package/lib/src/components/app-loader.js +5 -16
  137. package/lib/src/components/app-loader.js.map +1 -1
  138. package/lib/src/components/index.d.ts +0 -1
  139. package/lib/src/components/index.d.ts.map +1 -1
  140. package/lib/src/components/index.js +0 -1
  141. package/lib/src/components/index.js.map +1 -1
  142. package/lib/src/components/load.d.ts +8 -0
  143. package/lib/src/components/load.d.ts.map +1 -0
  144. package/lib/src/components/load.js +17 -0
  145. package/lib/src/components/load.js.map +1 -0
  146. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts.map +1 -1
  147. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js +2 -1
  148. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js.map +1 -1
  149. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts +1 -0
  150. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts.map +1 -1
  151. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js +2 -0
  152. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js.map +1 -1
  153. package/lib/src/components/modal/modals/SettingsModal.d.ts.map +1 -1
  154. package/lib/src/components/modal/modals/SettingsModal.js +4 -1
  155. package/lib/src/components/modal/modals/SettingsModal.js.map +1 -1
  156. package/lib/src/components/modal/modals-container.d.ts +1 -1
  157. package/lib/src/components/modal/modals-container.d.ts.map +1 -1
  158. package/lib/src/components/modal/modals-container.js +12 -8
  159. package/lib/src/components/modal/modals-container.js.map +1 -1
  160. package/lib/src/main.js +3 -0
  161. package/lib/src/main.js.map +1 -1
  162. package/lib/src/services/storage/base-storage.d.ts.map +1 -1
  163. package/lib/src/services/storage/base-storage.js.map +1 -1
  164. package/lib/src/store/processor-host-module.d.ts.map +1 -1
  165. package/lib/src/store/processor-host-module.js +2 -2
  166. package/lib/src/store/processor-host-module.js.map +1 -1
  167. package/lib/src/store/reactor.d.ts.map +1 -1
  168. package/lib/src/store/reactor.js +1 -1
  169. package/lib/src/store/reactor.js.map +1 -1
  170. package/lib/style.css +15 -0
  171. package/lib/tsconfig.tsbuildinfo +1 -1
  172. package/lib/vite.config.d.ts.map +1 -1
  173. package/lib/vite.config.js +1 -29
  174. package/lib/vite.config.js.map +1 -1
  175. package/package.copy.json +3 -4
  176. package/package.json +12 -13
  177. package/dist/assets/AddDriveModal-BZ11MHBB.js +0 -1
  178. package/dist/assets/ClearStorageModal-BC3gq6BT.js +0 -1
  179. package/dist/assets/CookiesPolicyModal-Bdf-jIqf.js +0 -1
  180. package/dist/assets/CreateDocumentModal-CExWso4S.js +0 -1
  181. package/dist/assets/DebugSettingsModal-MIi3iDrt.js +0 -1
  182. package/dist/assets/DeleteDriveModal-Cj_y-Bmk.js +0 -1
  183. package/dist/assets/DeleteItemModal-DLPEfn21.js +0 -1
  184. package/dist/assets/DisclaimerModal-uqaE0dfB.js +0 -1
  185. package/dist/assets/DriveSettingsModal-0o6Em8ZV.js +0 -1
  186. package/dist/assets/ExportDocumentWithErrorsModal-BWd92B7i.js +0 -1
  187. package/dist/assets/SettingsModal-Ca4V2Rxs.js +0 -1
  188. package/dist/assets/UpgradeDriveModal-ByNuxxET.js +0 -1
  189. package/dist/assets/config-0mYxXHFp.js +0 -1
  190. package/dist/assets/design_system-Q9KmzSmh.js +0 -45
  191. package/dist/assets/design_system_connect-MVhUhmHT.js +0 -47
  192. package/dist/assets/design_system_ui-BQ-CYVFb.js +0 -1
  193. package/dist/assets/document_drive-DiwReQ7A.js +0 -154
  194. package/dist/assets/document_engineering-BMBT2RYA.js +0 -1
  195. package/dist/assets/document_model-ly1Z8uco.js +0 -241
  196. package/dist/assets/document_model_editor-D_cNq26d.js +0 -25
  197. package/dist/assets/drive_explorer-508O2XxT.js +0 -2
  198. package/dist/assets/editor-DAyyI5MD.js +0 -1
  199. package/dist/assets/graphql-BXSeDpaV.js +0 -75
  200. package/dist/assets/graphql-editor-Buhxp36K.js +0 -73
  201. package/dist/assets/graphql_request-BHyPFzlZ.js +0 -3
  202. package/dist/assets/index-B6A7sjLB.css +0 -1
  203. package/dist/assets/index-D0gnc_IY.js +0 -208
  204. package/dist/assets/index-DQyPoyxC.js +0 -149
  205. package/dist/assets/index-DnR9iRBe.js +0 -29
  206. package/dist/assets/json-editor-dXLfmMol.js +0 -1
  207. package/dist/assets/nodefs-2HQmaeC9.js +0 -1
  208. package/dist/assets/nodefs-DzAAA-1u.js +0 -1
  209. package/dist/assets/opfs-ahp-CwNbpJAw.js +0 -3
  210. package/dist/assets/opfs-ahp-xYZANhiQ.js +0 -3
  211. package/dist/assets/postgres-CkP7QCDB.data +0 -0
  212. package/dist/assets/postgres-CyuUVpXN.wasm +0 -0
  213. package/dist/assets/react/jsx-runtime-DldvXD6N.js +0 -1
  214. package/dist/assets/react-D_vzfE_e.js +0 -1
  215. package/dist/assets/react-dom/client-SoBEzBdt.js +0 -9
  216. package/dist/assets/react-dom-Cz_KAjfm.js +0 -1
  217. package/dist/assets/reactor_browser-D2taHyRs.js +0 -136
  218. package/dist/assets/sentry_browser-TIBDlywD.js +0 -498
  219. package/dist/assets/sentry_react-CVx4Qq7f.js +0 -3
  220. package/dist/assets/state-schemas-C876MuV7.js +0 -2
  221. package/dist/assets/tailwind_merge-CXl88Wxt.js +0 -1
  222. package/dist/assets/zod-Cc38s6JG.js +0 -39
  223. package/lib/src/components/modal/index.d.ts +0 -18
  224. package/lib/src/components/modal/index.d.ts.map +0 -1
  225. package/lib/src/components/modal/index.js +0 -18
  226. package/lib/src/components/modal/index.js.map +0 -1
@@ -0,0 +1,193 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/nodefs-BP-sxN1O.js","assets/index-DN20Z-2K.js","assets/index-DcvFnjR9.css","assets/vetra-Bu3fuZWc.js","assets/renown-CgfQ6oBU.js","assets/reactor-7tK-WVaY.js","assets/migrator-CmQyl4ZK.js","assets/queue-CxFgA-r3.js","assets/drives-DjHuIXXn.js","assets/opfs-ahp-DtmzPaVs.js","assets/editor-DV2TvDV5.js","assets/index.esm-BeYGM8vk.js","assets/node-input-DnUl9CxT.js","assets/use-get-switchboard-link-B47eB8lt.js","assets/processor-host-module-B89Dt9nZ.js"])))=>i.map(i=>d[i]);
2
+ import{cz as addFile,cA as addFolder,cB as addListener,cC as addTrigger,cD as copyNode,cE as deleteNode,cF as moveNode,cG as removeListener,cH as removeTrigger,cI as setAvailableOffline,cJ as setDriveIcon,cK as setDriveName,cL as setSharingType,cM as updateFile,cN as updateNode,cO as createAction,cP as noop,cQ as loadState,cR as prune,cS as redo,cT as undo,cU as ReorderChangeLogItemsInputSchema,cV as DeleteChangeLogItemInputSchema,cW as UpdateChangeLogItemInputSchema,cX as AddChangeLogItemInputSchema,cY as ReorderStateExamplesInputSchema,cZ as DeleteStateExampleInputSchema,c_ as UpdateStateExampleInputSchema,c$ as AddStateExampleInputSchema,d0 as SetInitialStateInputSchema,d1 as SetStateSchemaInputSchema,d2 as ReorderOperationErrorsInputSchema,d3 as DeleteOperationErrorInputSchema,d4 as SetOperationErrorTemplateInputSchema,d5 as SetOperationErrorDescriptionInputSchema,d6 as SetOperationErrorNameInputSchema,d7 as SetOperationErrorCodeInputSchema,d8 as AddOperationErrorInputSchema,d9 as ReorderModuleOperationsInputSchema,da as DeleteOperationInputSchema,db as MoveOperationInputSchema,dc as SetOperationReducerInputSchema,dd as SetOperationTemplateInputSchema,de as SetOperationDescriptionInputSchema,df as SetOperationSchemaInputSchema,dg as SetOperationScopeInputSchema,dh as SetOperationNameInputSchema,di as AddOperationInputSchema,dj as ReorderModulesInputSchema,dk as DeleteModuleInputSchema,dl as SetModuleDescriptionInputSchema,dm as SetModuleNameInputSchema,dn as AddModuleInputSchema,dp as SetAuthorWebsiteInputSchema,dq as SetAuthorNameInputSchema,dr as SetModelDescriptionInputSchema,ds as SetModelExtensionInputSchema,dt as SetModelIdInputSchema,du as SetModelNameInputSchema,dv as SetNameActionInputSchema,dw as createReducer,dx as isDocumentAction,dy as ReorderOperationExamplesInputSchema,dz as DeleteOperationExampleInputSchema,dA as UpdateOperationExampleInputSchema,dB as AddOperationExampleInputSchema,dC as validateOperationName,dD as baseSaveToFileHandle,dE as baseLoadFromInput,bf as defaultBaseState,dF as assertIsDocumentOfType$1,dG as isDocumentOfType$1,dH as assertIsStateOfType$1,dI as isStateOfType$1,dJ as driveSaveToFileHandle,dK as driveLoadFromInput,dL as driveCreateDocument,dM as driveCreateState,dN as driveDocumentReducer,bg as generateId,c1 as process$1,aS as __vitePreload,dO as createPresignedHeader,dP as deriveOperationId,bH as driveCollectionId,dQ as isUndoRedo,dR as ConsoleLogger,dS as DocumentModelRegistry,aU as makePHEventFunctions,dT as addIsExternalPackagesEnabledEventHandler,dU as addIsExternalProcessorsEnabledEventHandler,dV as addIsSentryTracingEnabledEventHandler,dW as addSentryEnvEventHandler,dX as addSentryDsnEventHandler,dY as addSentryReleaseEventHandler,dZ as addRenownChainIdEventHandler,d_ as addRenownNetworkIdEventHandler,d$ as addRenownUrlEventHandler,e0 as addIsDriveAnalyticsEnabledEventHandler,e1 as addIsDiffAnalyticsEnabledEventHandler,e2 as addIsAnalyticsDatabaseWorkerEnabledEventHandler,e3 as addAnalyticsDatabaseNameEventHandler,e4 as addIsAnalyticsExternalProcessorsEnabledEventHandler,e5 as addIsAnalyticsEnabledEventHandler,e6 as addIsExternalRelationalProcessorsEnabledEventHandler,e7 as addIsRelationalProcessorsEnabledEventHandler,e8 as addIsEditorReadModeEnabledEventHandler,e9 as addIsEditorDebugModeEnabledEventHandler,ea as addIsExternalControlsEnabledEventHandler,eb as addIsDragAndDropEnabledEventHandler,ec as addIsDeleteLocalDrivesEnabledEventHandler,ed as addIsAddLocalDrivesEnabledEventHandler,ee as addIsDeleteCloudDrivesEnabledEventHandler,ef as addIsAddCloudDrivesEnabledEventHandler,eg as addIsCloudDrivesEnabledEventHandler,eh as addIsDeletePublicDrivesEnabledEventHandler,ei as addIsAddPublicDrivesEnabledEventHandler,ej as addIsPublicDrivesEnabledEventHandler,ek as addIsLocalDrivesEnabledEventHandler,el as addIsAddDriveEnabledEventHandler,em as addDisabledEditorsEventHandler,en as addEnabledEditorsEventHandler,eo as addAllowedDocumentTypesEventHandler,ep as addDrivesPreserveStrategyEventHandler,eq as addDefaultDrivesUrlEventHandler,er as addAllowListEventHandler,es as addGaTrackingIdEventHandler,et as addIsDocumentModelSelectionSettingsEnabledEventHandler,eu as addFileUploadOperationsChunkSizeEventHandler,ev as addCliVersionEventHandler,ew as addVersionCheckIntervalEventHandler,ex as addBasePathEventHandler,ey as addStudioModeEventHandler,ez as addWarnOutdatedAppEventHandler,eA as addRequiresHardRefreshEventHandler,eB as addLogLevelEventHandler,eC as addVersionEventHandler,eD as addRouterBasenameEventHandler,eE as addSelectedTimelineItemEventHandler,eF as addRevisionHistoryVisibleEventHandler,eG as addVetraPackagesEventHandler,eH as addDocumentCacheEventHandler,eI as addDrivesEventHandler,eJ as addUserEventHandler,eK as addLoginStatusEventHandler,eL as addModalEventHandler,M as addFeaturesEventHandler,eM as addReactorClientEventHandler,eN as addReactorClientModuleEventHandler,eO as addSelectedNodeIdEventHandler,eP as addSetSelectedNodeOnPopStateEventHandler,eQ as addSelectedDriveIdEventHandler,eR as addSetSelectedDriveOnPopStateEventHandler,eS as addResetSelectedNodeEventHandler,eT as Hash,eU as createView,eV as aexists,eW as toBytes,eX as abytes,eY as aoutput,eZ as clean,e_ as createHasher,e$ as rotr,f0 as add4L,f1 as add4H,f2 as add5L,f3 as split,f4 as add5H,f5 as add,f6 as add3H,f7 as rotrSH,f8 as shrSH,f9 as rotrSL,fa as shrSL,fb as rotrBH,fc as rotrBL,fd as add3L,fe as hexToBytes$1,ff as isBytes$1,fg as bytesToHex$1,fh as concatBytes,fi as anumber$1,fj as randomBytes,fk as ahash,fl as rotl,cr as getDefaultExportFromCjs,fm as keccak_256,fn as getAugmentedNamespace,g as addRemoteDrive,aJ as reactExports,fo as GenericDriveExplorer,D as DEFAULT_DRIVE_EDITOR_ID,C as COMMON_PACKAGE_ID,bF as connectConfig,fp as setLogLevel,aR as logger,b6 as toast,fq as phGlobalConfigFromEnv,aC as extractDriveSlugFromPath,az as extractNodeSlugFromPath,ap as login,fr as setDefaultPHGlobalConfig,fs as setReactorClientModule,ft as setReactorClient,fu as setDocumentCache,bW as setDrives,aj as setVetraPackages,a7 as setSelectedDrive,ac as setSelectedNode,N as setFeatures}from"./index-DN20Z-2K.js";import{d as createState,e as assertIsDocumentOfType,i as isDocumentOfType,f as assertIsStateOfType,g as isStateOfType,h as documentModelCreateDocument,j as documentModelCreateState,k as documentModelFileExtension,l as documentModelGlobalState,c as convertLegacyLibToVetraPackage}from"./vetra-Bu3fuZWc.js";import{a as addRenownEventHandler,s as setRenown}from"./renown-CgfQ6oBU.js";import{D as DocumentChangeType,c as addToastEventHandler,s as setPHToast,R as ReactorClientDocumentCache,b as refreshReactorDataClient,d as dropAllReactorStorage}from"./reactor-7tK-WVaY.js";import{f as freeze,a as IdentifierNode,b as SchemableIdentifierNode,C as ColumnNode,V as ValueNode,i as isOperationNodeSource,p as parseStringReference,c as SelectAllNode,d as parseDataTypeExpression,e as parseOrderedColumnName,g as RawNode,h as parseTable,n as noop$1,O as OperationNodeTransformer,j as ValueListNode,Q as QueryNode,k as parseValueBinaryOperationOrExpression,l as parseExpression,m as parseColumnName,o as createQueryId,W as WithSchemaPlugin,D as DynamicReferenceBuilder,q as DynamicTableBuilder,r as QueryExecutorBase,t as isFunction,u as isObject$1,v as QueryCreator,w as CaseBuilder,x as CaseNode,y as isUndefined,z as createFunctionModule,A as logOnce,B as provideControlledConnection,P as ParensNode,E as InsertQueryNode,F as SetOperationNode,H as WhenNode,J as isString$1,K as isBoolean,L as OperatorNode,M as isNumber,N as isBigInt,T as isNull,U as isDate,s as sql,X as DEFAULT_MIGRATION_TABLE,Y as DEFAULT_MIGRATION_LOCK_TABLE,I as IntervalPollTimer,G as GqlRequestChannel,Z as Mailbox,_ as getLatestAppliedOrdinal,$ as mergeCollectionMemberships,a0 as SyncEventTypes,a1 as createIdleHealth,a2 as trimMailboxFromBatch,a3 as ChannelError,a4 as ChannelErrorSource,a5 as batchOperationsByDocument,a6 as SyncOperation,a7 as toOperationWithContext,a8 as filterOperations,a9 as runMigrations,R as REACTOR_SCHEMA,aa as ChannelScheme}from"./migrator-CmQyl4ZK.js";import{Q as QueueEventTypes,I as InMemoryQueue}from"./queue-CxFgA-r3.js";import{S as SyncStatusTracker,g as getDrives}from"./drives-DjHuIXXn.js";const driveDocumentFileExtension="phdd",actions$1=Object.freeze(Object.defineProperty({__proto__:null,addFile,addFolder,addListener,addTrigger,copyNode,deleteNode,moveNode,removeListener,removeTrigger,setAvailableOffline,setDriveIcon,setDriveName,setSharingType,updateFile,updateNode},Symbol.toStringTag,{value:"Module"})),driveDocumentModel={id:"powerhouse/document-drive",name:"DocumentDrive",extension:"phdd",description:"",author:{name:"Powerhouse Inc",website:"https://www.powerhouse.inc/"},specifications:[{version:1,changeLog:[],state:{global:{schema:`type FolderNode {
3
+ id: String!
4
+ name: String!
5
+ kind: String!
6
+ parentFolder: String
7
+ }
8
+
9
+ type FileNode {
10
+ id: String!
11
+ name: String!
12
+ kind: String!
13
+ documentType: String!
14
+ parentFolder: String
15
+ }
16
+
17
+ union Node = FolderNode | FileNode
18
+
19
+ type DocumentDriveState {
20
+ name: String!
21
+ nodes: [Node!]!
22
+ icon: String
23
+ }`,initialValue:'"{\\"name\\":\\"\\",\\"nodes\\":[],\\"icon\\":null}"',examples:[]},local:{schema:`type ListenerFilter {
24
+ documentType: [String!]!
25
+ documentId: [ID!]
26
+ scope: [String!]
27
+ branch: [String!]
28
+ }
29
+
30
+ enum TransmitterType {
31
+ Internal,
32
+ SwitchboardPush,
33
+ PullResponder,
34
+ SecureConnect,
35
+ MatrixConnect,
36
+ RESTWebhook
37
+ }
38
+
39
+ type ListenerCallInfo {
40
+ transmitterType: TransmitterType
41
+ name: String
42
+ data: String
43
+ }
44
+
45
+ type Listener {
46
+ listenerId: ID!
47
+ label: String
48
+ block: Boolean!
49
+ system: Boolean!
50
+ filter: ListenerFilter!
51
+ callInfo: ListenerCallInfo
52
+ }
53
+
54
+ enum TriggerType {
55
+ PullResponder
56
+ }
57
+
58
+ type PullResponderTriggerData {
59
+ listenerId: ID!
60
+ url: String!
61
+ interval: String!
62
+ }
63
+
64
+ union TriggerData = PullResponderTriggerData
65
+
66
+ type Trigger {
67
+ id: ID!
68
+ type: TriggerType!
69
+ data: TriggerData
70
+ }
71
+
72
+ type DocumentDriveLocalState{
73
+ sharingType: String
74
+ listeners: [Listener!]!
75
+ triggers: [Trigger!]!
76
+ availableOffline: Boolean!
77
+ }`,initialValue:'"{ \\"listeners\\": [], \\"triggers\\": [], \\"sharingType\\": \\"private\\", \\"availableOffline\\": false}"',examples:[]}},modules:[{id:"GRzuvv78tBvmB6ciitokLfonNHA=",name:"Node",description:"",operations:[{id:"7xiTdxonc9yEASR8sfV/KnbSV10=",name:"ADD_FILE",description:"",schema:`input AddFileInput {
78
+ id: ID!
79
+ name: String!
80
+ documentType: String!
81
+ parentFolder: ID
82
+ }`,template:"",reducer:"",errors:[],examples:[],scope:"global"},{id:"4lzNMMKKdIAtEU6i12xLgi9hp+U=",name:"ADD_FOLDER",description:"",schema:`input AddFolderInput {
83
+ id: ID!
84
+ name: String!
85
+ parentFolder: ID
86
+ }`,template:"",reducer:"",errors:[],examples:[],scope:"global"},{id:"53jH2/3TWTTcgCJiv2C+BmuC6i0=",name:"DELETE_NODE",description:"",schema:`input DeleteNodeInput {
87
+ id: ID!
88
+ }`,template:"",reducer:"",errors:[],examples:[],scope:"global"},{id:"pNn+Y1/HVq/GNMk7t0u3g3gtMLE=",name:"UPDATE_FILE",description:"",schema:`input UpdateFileInput {
89
+ id: ID!
90
+ parentFolder: ID
91
+ name: String
92
+ documentType: String
93
+ }`,template:"",reducer:"",errors:[],examples:[],scope:"global"},{id:"P0x1M8Mnt+Q/+9nggkwgVbfybsc=",name:"UPDATE_NODE",description:"",schema:`input UpdateNodeInput {
94
+ id: ID!
95
+ parentFolder: ID
96
+ name: String
97
+ }`,template:"",reducer:"",errors:[],examples:[],scope:"global"},{id:"vnQ7OB5b3wGLgjhbgJqAIpA+JLE=",name:"COPY_NODE",description:"",schema:`input CopyNodeInput {
98
+ srcId: ID!
99
+ targetId: ID!
100
+ targetName: String
101
+ targetParentFolder: ID
102
+ }`,template:"",reducer:"",errors:[],examples:[],scope:"global"},{id:"VNyiD/sNGzk6k9A1Qe7s8dmrJxA=",name:"MOVE_NODE",description:"",schema:`input MoveNodeInput {
103
+ srcFolder: ID!
104
+ targetParentFolder: ID
105
+ }`,template:"",reducer:"",errors:[],examples:[],scope:"global"}]},{id:"0dHwHlxOM9x0vMZ+gLnKxf2qTEo=",name:"Drive",description:"",operations:[{id:"qGCiPGpTt/cyz3HzyrBn92z1dsU=",name:"SET_DRIVE_NAME",description:"",schema:`input SetDriveNameInput {
106
+ name: String!
107
+ }`,template:"",reducer:"",errors:[],examples:[],scope:"global"},{id:"qGCiPGpTt/cyz3HzyrBn92z30dsU=",name:"SET_DRIVE_ICON",description:"",schema:`input SetDriveIconInput {
108
+ icon: String!
109
+ }`,template:"",reducer:"",errors:[],examples:[],scope:"global"},{id:"qGCiPGpTt/cyz3HzyrBn92z2dsU=",name:"SET_SHARING_TYPE",description:"",schema:`input SetSharingTypeInput {
110
+ type: String!
111
+ }`,template:"",reducer:"",errors:[],examples:[],scope:"local"},{id:"qGCiPGpTt/cyz3HzyrBn92z3dsU=",name:"SET_AVAILABLE_OFFLINE",description:"",schema:`input SetAvailableOfflineInput {
112
+ availableOffline: Boolean!
113
+ }`,template:"",reducer:"",errors:[],examples:[],scope:"local"},{id:"qGCiPGpTt/cyz3HzyrBn92z9dsU=",name:"ADD_LISTENER",description:"",schema:`input ListenerFilterInput {
114
+ documentType: [String!]
115
+ documentId: [ID!]
116
+ scope: [String!]
117
+ branch: [String!]
118
+ }
119
+
120
+ input ListenerCallInfoInput {
121
+ transmitterType: TransmitterType
122
+ name: String
123
+ data: String
124
+ }
125
+
126
+ input ListenerInput {
127
+ listenerId: ID!
128
+ label: String
129
+ block: Boolean!
130
+ system: Boolean!
131
+ filter: ListenerFilterInput!
132
+ callInfo: ListenerCallInfoInput
133
+ }
134
+
135
+ input AddListenerInput {
136
+ listener: ListenerInput!
137
+ }`,template:"",reducer:"",errors:[],examples:[],scope:"local"},{id:"qGCiPGpTt/cyz3HzyrBn92z10dsU=",name:"REMOVE_LISTENER",description:"",schema:`input RemoveListenerInput {
138
+ listenerId: String!
139
+ }`,template:"",reducer:"",errors:[],examples:[],scope:"local"},{id:"qGCiPGpTt/cyz3HzyrBn92z20dsU=",name:"ADD_TRIGGER",description:"",schema:`input PullResponderTriggerDataInput {
140
+ listenerId: ID!
141
+ url: String!
142
+ interval: String!
143
+ }
144
+
145
+ input TriggerInput {
146
+ id: ID!
147
+ type: TriggerType!
148
+ data: PullResponderTriggerDataInput
149
+ }
150
+
151
+ input AddTriggerInput {
152
+ trigger: TriggerInput!
153
+ }`,template:"",reducer:"",errors:[],examples:[],scope:"local"},{id:"qGCiPGpTt/cyz3HzyrBn92z30dsU=",name:"REMOVE_TRIGGER",description:"",schema:`input RemoveTriggerInput {
154
+ triggerId: String!
155
+ }`,template:"",reducer:"",errors:[],examples:[],scope:"local"}]}]}]},setName=r=>createAction("SET_NAME",{name:r},void 0,SetNameActionInputSchema,"global"),setModelName=r=>createAction("SET_MODEL_NAME",{...r},void 0,SetModelNameInputSchema,"global"),setModelId=r=>createAction("SET_MODEL_ID",{...r},void 0,SetModelIdInputSchema,"global"),setModelExtension=r=>createAction("SET_MODEL_EXTENSION",{...r},void 0,SetModelExtensionInputSchema,"global"),setModelDescription=r=>createAction("SET_MODEL_DESCRIPTION",{...r},void 0,SetModelDescriptionInputSchema,"global"),setAuthorName=r=>createAction("SET_AUTHOR_NAME",{...r},void 0,SetAuthorNameInputSchema,"global"),setAuthorWebsite=r=>createAction("SET_AUTHOR_WEBSITE",{...r},void 0,SetAuthorWebsiteInputSchema,"global"),addModule=r=>createAction("ADD_MODULE",{...r},void 0,AddModuleInputSchema,"global"),setModuleName=r=>createAction("SET_MODULE_NAME",{...r},void 0,SetModuleNameInputSchema,"global"),setModuleDescription=r=>createAction("SET_MODULE_DESCRIPTION",{...r},void 0,SetModuleDescriptionInputSchema,"global"),deleteModule=r=>createAction("DELETE_MODULE",{...r},void 0,DeleteModuleInputSchema,"global"),reorderModules=r=>createAction("REORDER_MODULES",{...r},void 0,ReorderModulesInputSchema,"global"),addOperation=r=>createAction("ADD_OPERATION",{...r},void 0,AddOperationInputSchema,"global"),setOperationName=r=>createAction("SET_OPERATION_NAME",{...r},void 0,SetOperationNameInputSchema,"global"),setOperationScope=r=>createAction("SET_OPERATION_SCOPE",{...r},void 0,SetOperationScopeInputSchema,"global"),setOperationSchema=r=>createAction("SET_OPERATION_SCHEMA",{...r},void 0,SetOperationSchemaInputSchema,"global"),setOperationDescription=r=>createAction("SET_OPERATION_DESCRIPTION",{...r},void 0,SetOperationDescriptionInputSchema,"global"),setOperationTemplate=r=>createAction("SET_OPERATION_TEMPLATE",{...r},void 0,SetOperationTemplateInputSchema,"global"),setOperationReducer=r=>createAction("SET_OPERATION_REDUCER",{...r},void 0,SetOperationReducerInputSchema,"global"),moveOperation=r=>createAction("MOVE_OPERATION",{...r},void 0,MoveOperationInputSchema,"global"),deleteOperation=r=>createAction("DELETE_OPERATION",{...r},void 0,DeleteOperationInputSchema,"global"),reorderModuleOperations=r=>createAction("REORDER_MODULE_OPERATIONS",{...r},void 0,ReorderModuleOperationsInputSchema,"global"),addOperationError=r=>createAction("ADD_OPERATION_ERROR",{...r},void 0,AddOperationErrorInputSchema,"global"),setOperationErrorCode=r=>createAction("SET_OPERATION_ERROR_CODE",{...r},void 0,SetOperationErrorCodeInputSchema,"global"),setOperationErrorName=r=>createAction("SET_OPERATION_ERROR_NAME",{...r},void 0,SetOperationErrorNameInputSchema,"global"),setOperationErrorDescription=r=>createAction("SET_OPERATION_ERROR_DESCRIPTION",{...r},void 0,SetOperationErrorDescriptionInputSchema,"global"),setOperationErrorTemplate=r=>createAction("SET_OPERATION_ERROR_TEMPLATE",{...r},void 0,SetOperationErrorTemplateInputSchema,"global"),deleteOperationError=r=>createAction("DELETE_OPERATION_ERROR",{...r},void 0,DeleteOperationErrorInputSchema,"global"),reorderOperationErrors=r=>createAction("REORDER_OPERATION_ERRORS",{...r},void 0,ReorderOperationErrorsInputSchema,"global"),setStateSchema=r=>createAction("SET_STATE_SCHEMA",{...r},void 0,SetStateSchemaInputSchema,"global"),setInitialState=r=>createAction("SET_INITIAL_STATE",{...r},void 0,SetInitialStateInputSchema,"global"),addStateExample=r=>createAction("ADD_STATE_EXAMPLE",{...r},void 0,AddStateExampleInputSchema,"global"),updateStateExample=r=>createAction("UPDATE_STATE_EXAMPLE",{...r},void 0,UpdateStateExampleInputSchema,"global"),deleteStateExample=r=>createAction("DELETE_STATE_EXAMPLE",{...r},void 0,DeleteStateExampleInputSchema,"global"),reorderStateExamples=r=>createAction("REORDER_STATE_EXAMPLES",{...r},void 0,ReorderStateExamplesInputSchema,"global"),addChangeLogItem=r=>createAction("ADD_CHANGE_LOG_ITEM",{...r},void 0,AddChangeLogItemInputSchema,"global"),updateChangeLogItem=r=>createAction("UPDATE_CHANGE_LOG_ITEM",{...r},void 0,UpdateChangeLogItemInputSchema,"global"),deleteChangeLogItem=r=>createAction("DELETE_CHANGE_LOG_ITEM",{...r},void 0,DeleteChangeLogItemInputSchema,"global"),reorderChangeLogItems=r=>createAction("REORDER_CHANGE_LOG_ITEMS",{...r},void 0,ReorderChangeLogItemsInputSchema,"global"),releaseNewVersion=()=>createAction("RELEASE_NEW_VERSION",{},void 0,void 0,"global"),baseActions={setName,undo,redo,prune,loadState,noop},documentModelActions={setModelName,setModelId,setModelExtension,setModelDescription,setAuthorName,setAuthorWebsite,addModule,setModuleName,setModuleDescription,deleteModule,reorderModules,addOperation,setOperationName,setOperationScope,setOperationSchema,setOperationDescription,setOperationTemplate,setOperationReducer,moveOperation,deleteOperation,reorderModuleOperations,addOperationError,setOperationErrorCode,setOperationErrorName,setOperationErrorDescription,setOperationErrorTemplate,deleteOperationError,reorderOperationErrors,setStateSchema,setInitialState,addStateExample,updateStateExample,deleteStateExample,reorderStateExamples,addChangeLogItem,updateChangeLogItem,deleteChangeLogItem,reorderChangeLogItems,releaseNewVersion},actions={...baseActions,...documentModelActions};function sorter(r){const e={};return r.forEach((M,tr)=>e[M]=tr),(M,tr)=>(e[tr.id]||999999)-(e[M.id]||999999)}const documentModelHeaderReducer={setModelNameOperation(r,e){r.name=e.input.name},setModelIdOperation(r,e){r.id=e.input.id},setModelExtensionOperation(r,e){r.extension=e.input.extension},setModelDescriptionOperation(r,e){r.description=e.input.description},setAuthorNameOperation(r,e){r.author=r.author||{name:"",website:null},r.author.name=e.input.authorName},setAuthorWebsiteOperation(r,e){r.author=r.author||{name:"",website:null},r.author.website=e.input.authorWebsite}},documentModelModuleReducer={addModuleOperation(r,e){r.specifications[r.specifications.length-1].modules.push({id:e.input.id,name:e.input.name,description:e.input.description||"",operations:[]})},setModuleNameOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)M.modules[tr].id===e.input.id&&(M.modules[tr].name=e.input.name||"")},setModuleDescriptionOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)M.modules[tr].id===e.input.id&&(M.modules[tr].description=e.input.description||"")},deleteModuleOperation(r,e){const M=r.specifications[r.specifications.length-1];M.modules=M.modules.filter(tr=>tr.id!=e.input.id)},reorderModulesOperation(r,e){r.specifications[r.specifications.length-1].modules.sort(sorter(e.input.order))}},documentModelOperationErrorReducer={addOperationErrorOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)M.modules[tr].operations[rr].id==e.input.operationId&&M.modules[tr].operations[rr].errors.push({id:e.input.id,name:e.input.errorName||"",code:e.input.errorCode||"",description:e.input.errorDescription||"",template:e.input.errorTemplate||""})},setOperationErrorCodeOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)for(let ir=0;ir<M.modules[tr].operations[rr].errors.length;ir++)M.modules[tr].operations[rr].errors[ir].id==e.input.id&&(M.modules[tr].operations[rr].errors[ir].code=e.input.errorCode||"")},setOperationErrorNameOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)for(let ir=0;ir<M.modules[tr].operations[rr].errors.length;ir++)M.modules[tr].operations[rr].errors[ir].id==e.input.id&&(M.modules[tr].operations[rr].errors[ir].name=e.input.errorName||"")},setOperationErrorDescriptionOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)for(let ir=0;ir<M.modules[tr].operations[rr].errors.length;ir++)M.modules[tr].operations[rr].errors[ir].id==e.input.id&&(M.modules[tr].operations[rr].errors[ir].description=e.input.errorDescription||"")},setOperationErrorTemplateOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)for(let ir=0;ir<M.modules[tr].operations[rr].errors.length;ir++)M.modules[tr].operations[rr].errors[ir].id==e.input.id&&(M.modules[tr].operations[rr].errors[ir].template=e.input.errorTemplate||"")},deleteOperationErrorOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)M.modules[tr].operations[rr].errors=M.modules[tr].operations[rr].errors.filter(ir=>ir.id!=e.input.id)},reorderOperationErrorsOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)M.modules[tr].operations[rr].id==e.input.operationId&&M.modules[tr].operations[rr].errors.sort(sorter(e.input.order))}},documentModelOperationExampleReducer={addOperationExampleOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)M.modules[tr].operations[rr].id==e.input.operationId&&M.modules[tr].operations[rr].examples.push({id:e.input.id,value:e.input.example})},updateOperationExampleOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)for(let ir=0;ir<M.modules[tr].operations[rr].examples.length;ir++)M.modules[tr].operations[rr].examples[ir].id==e.input.id&&(M.modules[tr].operations[rr].examples[ir].value=e.input.example)},deleteOperationExampleOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)M.modules[tr].operations[rr].examples=M.modules[tr].operations[rr].examples.filter(ir=>ir.id!=e.input.id)},reorderOperationExamplesOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)M.modules[tr].operations[rr].id==e.input.operationId&&M.modules[tr].operations[rr].examples.sort(sorter(e.input.order))}},documentModelOperationReducer={addOperationOperation(r,e){validateOperationName(e.input.name,r);const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)M.modules[tr].id==e.input.moduleId&&M.modules[tr].operations.push({id:e.input.id,name:e.input.name,description:e.input.description||"",schema:e.input.schema||"",template:e.input.template||e.input.description||"",reducer:e.input.reducer||"",errors:[],examples:[],scope:e.input.scope||"global"})},setOperationNameOperation(r,e){e.input.name&&validateOperationName(e.input.name,r,e.input.id);const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)M.modules[tr].operations[rr].id==e.input.id&&(M.modules[tr].operations[rr].name=e.input.name||"")},setOperationScopeOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)M.modules[tr].operations[rr].id==e.input.id&&(M.modules[tr].operations[rr].scope=e.input.scope||"global")},setOperationSchemaOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)M.modules[tr].operations[rr].id==e.input.id&&(M.modules[tr].operations[rr].schema=e.input.schema||"")},setOperationDescriptionOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)M.modules[tr].operations[rr].id==e.input.id&&(M.modules[tr].operations[rr].description=e.input.description||"")},setOperationTemplateOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)M.modules[tr].operations[rr].id==e.input.id&&(M.modules[tr].operations[rr].template=e.input.template||"")},setOperationReducerOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)for(let rr=0;rr<M.modules[tr].operations.length;rr++)M.modules[tr].operations[rr].id==e.input.id&&(M.modules[tr].operations[rr].reducer=e.input.reducer||"")},moveOperationOperation(r,e){const M=[],tr=r.specifications[r.specifications.length-1];for(let rr=0;rr<tr.modules.length;rr++)tr.modules[rr].operations=tr.modules[rr].operations.filter(ir=>ir.id==e.input.operationId?(M.push(ir),!1):!0);for(let rr=0;rr<tr.modules.length;rr++)tr.modules[rr].id==e.input.newModuleId&&tr.modules[rr].operations.push(...M)},deleteOperationOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)M.modules[tr].operations=M.modules[tr].operations.filter(rr=>rr.id!=e.input.id)},reorderModuleOperationsOperation(r,e){const M=r.specifications[r.specifications.length-1];for(let tr=0;tr<M.modules.length;tr++)M.modules[tr].id==e.input.moduleId&&M.modules[tr].operations.sort(sorter(e.input.order))}},documentModelStateSchemaReducer={setStateSchemaOperation(r,e){const M=r.specifications[r.specifications.length-1];if(Object.keys(M.state).includes(e.input.scope))M.state[e.input.scope].schema=e.input.schema;else throw new Error(`Invalid scope: ${e.input.scope}`)},setInitialStateOperation(r,e){const M=r.specifications[r.specifications.length-1];if(Object.keys(M.state).includes(e.input.scope))M.state[e.input.scope].initialValue=e.input.initialValue;else throw new Error(`Invalid scope: ${e.input.scope}`)},addStateExampleOperation(r,e){const M=r.specifications[r.specifications.length-1];if(Object.keys(M.state).includes(e.input.scope))M.state[e.input.scope].examples.push({id:e.input.id,value:e.input.example});else throw new Error(`Invalid scope: ${e.input.scope}`)},updateStateExampleOperation(r,e){const M=r.specifications[r.specifications.length-1];if(!Object.keys(M.state).includes(e.input.scope))throw new Error(`Invalid scope: ${e.input.scope}`);const tr=M.state[e.input.scope].examples;for(let rr=0;rr<tr.length;rr++)tr[rr].id==e.input.id&&(tr[rr].value=e.input.newExample)},deleteStateExampleOperation(r,e){const M=r.specifications[r.specifications.length-1];if(Object.keys(M.state).includes(e.input.scope))M.state[e.input.scope].examples=M.state[e.input.scope].examples.filter(tr=>tr.id!=e.input.id);else throw new Error(`Invalid scope: ${e.input.scope}`)},reorderStateExamplesOperation(r,e){const M=r.specifications[r.specifications.length-1];if(Object.keys(M.state).includes(e.input.scope))M.state[e.input.scope].examples.sort(sorter(e.input.order));else throw new Error(`Invalid scope: ${e.input.scope}`)}},documentModelVersioningReducer={addChangeLogItemOperation(r,e){throw new Error('Reducer "addChangeLogItemOperation" not yet implemented')},updateChangeLogItemOperation(r,e){throw new Error('Reducer "updateChangeLogItemOperation" not yet implemented')},deleteChangeLogItemOperation(r,e){throw new Error('Reducer "deleteChangeLogItemOperation" not yet implemented')},reorderChangeLogItemsOperation(r,e){throw new Error('Reducer "reorderChangeLogItemsOperation" not yet implemented')},releaseNewVersionOperation(r,e){const M=r.specifications[r.specifications.length-1],tr=M.modules.map(lr=>({...lr,operations:lr.operations.map(dr=>({...dr,errors:dr.errors.map(mr=>({...mr})),examples:dr.examples.map(mr=>({...mr}))}))})),rr={global:{...M.state.global,examples:M.state.global.examples.map(lr=>({...lr}))},local:{...M.state.local,examples:M.state.local.examples.map(lr=>({...lr}))}},ir={version:M.version+1,changeLog:[],state:rr,modules:tr};r.specifications.push(ir)}},documentModelStateReducer=(r,e)=>{if(isDocumentAction(e))return r;switch(e.type){case"SET_MODEL_NAME":SetModelNameInputSchema().parse(e.input),documentModelHeaderReducer.setModelNameOperation(r.global,e);break;case"SET_MODEL_ID":SetModelIdInputSchema().parse(e.input),documentModelHeaderReducer.setModelIdOperation(r.global,e);break;case"SET_MODEL_EXTENSION":SetModelExtensionInputSchema().parse(e.input),documentModelHeaderReducer.setModelExtensionOperation(r.global,e);break;case"SET_MODEL_DESCRIPTION":SetModelDescriptionInputSchema().parse(e.input),documentModelHeaderReducer.setModelDescriptionOperation(r.global,e);break;case"SET_AUTHOR_NAME":SetAuthorNameInputSchema().parse(e.input),documentModelHeaderReducer.setAuthorNameOperation(r.global,e);break;case"SET_AUTHOR_WEBSITE":SetAuthorWebsiteInputSchema().parse(e.input),documentModelHeaderReducer.setAuthorWebsiteOperation(r.global,e);break;case"ADD_CHANGE_LOG_ITEM":AddChangeLogItemInputSchema().parse(e.input),documentModelVersioningReducer.addChangeLogItemOperation(r.global,e);break;case"UPDATE_CHANGE_LOG_ITEM":UpdateChangeLogItemInputSchema().parse(e.input),documentModelVersioningReducer.updateChangeLogItemOperation(r.global,e);break;case"DELETE_CHANGE_LOG_ITEM":DeleteChangeLogItemInputSchema().parse(e.input),documentModelVersioningReducer.deleteChangeLogItemOperation(r.global,e);break;case"REORDER_CHANGE_LOG_ITEMS":ReorderChangeLogItemsInputSchema().parse(e.input),documentModelVersioningReducer.reorderChangeLogItemsOperation(r.global,e);break;case"RELEASE_NEW_VERSION":if(Object.keys(e.input).length>0)throw new Error("Expected empty input for action RELEASE_NEW_VERSION");documentModelVersioningReducer.releaseNewVersionOperation(r.global,e);break;case"ADD_MODULE":AddModuleInputSchema().parse(e.input),documentModelModuleReducer.addModuleOperation(r.global,e);break;case"SET_MODULE_NAME":SetModuleNameInputSchema().parse(e.input),documentModelModuleReducer.setModuleNameOperation(r.global,e);break;case"SET_MODULE_DESCRIPTION":SetModuleDescriptionInputSchema().parse(e.input),documentModelModuleReducer.setModuleDescriptionOperation(r.global,e);break;case"DELETE_MODULE":DeleteModuleInputSchema().parse(e.input),documentModelModuleReducer.deleteModuleOperation(r.global,e);break;case"REORDER_MODULES":ReorderModulesInputSchema().parse(e.input),documentModelModuleReducer.reorderModulesOperation(r.global,e);break;case"ADD_OPERATION_ERROR":AddOperationErrorInputSchema().parse(e.input),documentModelOperationErrorReducer.addOperationErrorOperation(r.global,e);break;case"SET_OPERATION_ERROR_CODE":SetOperationErrorCodeInputSchema().parse(e.input),documentModelOperationErrorReducer.setOperationErrorCodeOperation(r.global,e);break;case"SET_OPERATION_ERROR_NAME":SetOperationErrorNameInputSchema().parse(e.input),documentModelOperationErrorReducer.setOperationErrorNameOperation(r.global,e);break;case"SET_OPERATION_ERROR_DESCRIPTION":SetOperationErrorDescriptionInputSchema().parse(e.input),documentModelOperationErrorReducer.setOperationErrorDescriptionOperation(r.global,e);break;case"SET_OPERATION_ERROR_TEMPLATE":SetOperationErrorTemplateInputSchema().parse(e.input),documentModelOperationErrorReducer.setOperationErrorTemplateOperation(r.global,e);break;case"DELETE_OPERATION_ERROR":DeleteOperationErrorInputSchema().parse(e.input),documentModelOperationErrorReducer.deleteOperationErrorOperation(r.global,e);break;case"REORDER_OPERATION_ERRORS":ReorderOperationErrorsInputSchema().parse(e.input),documentModelOperationErrorReducer.reorderOperationErrorsOperation(r.global,e);break;case"ADD_OPERATION_EXAMPLE":AddOperationExampleInputSchema().parse(e.input),documentModelOperationExampleReducer.addOperationExampleOperation(r.global,e);break;case"UPDATE_OPERATION_EXAMPLE":UpdateOperationExampleInputSchema().parse(e.input),documentModelOperationExampleReducer.updateOperationExampleOperation(r.global,e);break;case"DELETE_OPERATION_EXAMPLE":DeleteOperationExampleInputSchema().parse(e.input),documentModelOperationExampleReducer.deleteOperationExampleOperation(r.global,e);break;case"REORDER_OPERATION_EXAMPLES":ReorderOperationExamplesInputSchema().parse(e.input),documentModelOperationExampleReducer.reorderOperationExamplesOperation(r.global,e);break;case"ADD_OPERATION":AddOperationInputSchema().parse(e.input),documentModelOperationReducer.addOperationOperation(r.global,e);break;case"SET_OPERATION_NAME":SetOperationNameInputSchema().parse(e.input),documentModelOperationReducer.setOperationNameOperation(r.global,e);break;case"SET_OPERATION_SCOPE":SetOperationScopeInputSchema().parse(e.input),documentModelOperationReducer.setOperationScopeOperation(r.global,e);break;case"SET_OPERATION_SCHEMA":SetOperationSchemaInputSchema().parse(e.input),documentModelOperationReducer.setOperationSchemaOperation(r.global,e);break;case"SET_OPERATION_DESCRIPTION":SetOperationDescriptionInputSchema().parse(e.input),documentModelOperationReducer.setOperationDescriptionOperation(r.global,e);break;case"SET_OPERATION_TEMPLATE":SetOperationTemplateInputSchema().parse(e.input),documentModelOperationReducer.setOperationTemplateOperation(r.global,e);break;case"SET_OPERATION_REDUCER":SetOperationReducerInputSchema().parse(e.input),documentModelOperationReducer.setOperationReducerOperation(r.global,e);break;case"MOVE_OPERATION":MoveOperationInputSchema().parse(e.input),documentModelOperationReducer.moveOperationOperation(r.global,e);break;case"DELETE_OPERATION":DeleteOperationInputSchema().parse(e.input),documentModelOperationReducer.deleteOperationOperation(r.global,e);break;case"REORDER_MODULE_OPERATIONS":ReorderModuleOperationsInputSchema().parse(e.input),documentModelOperationReducer.reorderModuleOperationsOperation(r.global,e);break;case"SET_STATE_SCHEMA":SetStateSchemaInputSchema().parse(e.input),documentModelStateSchemaReducer.setStateSchemaOperation(r.global,e);break;case"SET_INITIAL_STATE":SetInitialStateInputSchema().parse(e.input),documentModelStateSchemaReducer.setInitialStateOperation(r.global,e);break;case"ADD_STATE_EXAMPLE":AddStateExampleInputSchema().parse(e.input),documentModelStateSchemaReducer.addStateExampleOperation(r.global,e);break;case"UPDATE_STATE_EXAMPLE":UpdateStateExampleInputSchema().parse(e.input),documentModelStateSchemaReducer.updateStateExampleOperation(r.global,e);break;case"DELETE_STATE_EXAMPLE":DeleteStateExampleInputSchema().parse(e.input),documentModelStateSchemaReducer.deleteStateExampleOperation(r.global,e);break;case"REORDER_STATE_EXAMPLES":ReorderStateExamplesInputSchema().parse(e.input),documentModelStateSchemaReducer.reorderStateExamplesOperation(r.global,e);break;default:return r}},documentModelReducer=createReducer(documentModelStateReducer),documentModelSaveToFileHandle=(r,e)=>baseSaveToFileHandle(r,e),documentModelLoadFromInput=r=>baseLoadFromInput(r,documentModelReducer),utils={fileExtension:documentModelFileExtension,createState:documentModelCreateState,createDocument:documentModelCreateDocument,loadFromInput:documentModelLoadFromInput,saveToFileHandle:documentModelSaveToFileHandle,isStateOfType,assertIsStateOfType,isDocumentOfType,assertIsDocumentOfType},documentModelDocumentModelModule={reducer:documentModelReducer,documentModel:createState(defaultBaseState(),documentModelGlobalState),actions,utils},driveDocumentModelModule={actions:actions$1,reducer:driveDocumentReducer,documentModel:createState(defaultBaseState(),driveDocumentModel),utils:{fileExtension:driveDocumentFileExtension,createState:driveCreateState,createDocument:driveCreateDocument,loadFromInput:driveLoadFromInput,saveToFileHandle:driveSaveToFileHandle,isStateOfType:isStateOfType$1,assertIsStateOfType:assertIsStateOfType$1,isDocumentOfType:isDocumentOfType$1,assertIsDocumentOfType:assertIsDocumentOfType$1}};class AbortError extends Error{constructor(e){super(e||"Aborted"),this.name="AbortError"}}function createDocumentAction(r){return{id:generateId(),type:"CREATE_DOCUMENT",scope:"document",timestampUtcMs:new Date().toISOString(),input:r}}function upgradeDocumentAction(r){return{id:generateId(),type:"UPGRADE_DOCUMENT",scope:"document",timestampUtcMs:new Date().toISOString(),input:r}}function deleteDocumentAction(r){const e={documentId:r};return{id:generateId(),type:"DELETE_DOCUMENT",scope:"document",timestampUtcMs:new Date().toISOString(),input:e}}function addRelationshipAction(r,e,M="child"){const tr={sourceId:r,targetId:e,relationshipType:M};return{id:generateId(),type:"ADD_RELATIONSHIP",scope:"document",timestampUtcMs:new Date().toISOString(),input:tr}}function removeRelationshipAction(r,e,M="child"){const tr={sourceId:r,targetId:e,relationshipType:M};return{id:generateId(),type:"REMOVE_RELATIONSHIP",scope:"document",timestampUtcMs:new Date().toISOString(),input:tr}}const byteToHex=[];for(let r=0;r<256;++r)byteToHex.push((r+256).toString(16).slice(1));function unsafeStringify(r,e=0){return(byteToHex[r[e+0]]+byteToHex[r[e+1]]+byteToHex[r[e+2]]+byteToHex[r[e+3]]+"-"+byteToHex[r[e+4]]+byteToHex[r[e+5]]+"-"+byteToHex[r[e+6]]+byteToHex[r[e+7]]+"-"+byteToHex[r[e+8]]+byteToHex[r[e+9]]+"-"+byteToHex[r[e+10]]+byteToHex[r[e+11]]+byteToHex[r[e+12]]+byteToHex[r[e+13]]+byteToHex[r[e+14]]+byteToHex[r[e+15]]).toLowerCase()}let getRandomValues;const rnds8=new Uint8Array(16);function rng(){if(!getRandomValues){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");getRandomValues=crypto.getRandomValues.bind(crypto)}return getRandomValues(rnds8)}const randomUUID=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),native={randomUUID};function v4(r,e,M){if(native.randomUUID&&!r)return native.randomUUID();r=r||{};const tr=r.random??r.rng?.()??rng();if(tr.length<16)throw new Error("Random bytes length must be >= 16");return tr[6]=tr[6]&15|64,tr[8]=tr[8]&63|128,unsafeStringify(tr)}function validateBatchStructure(r){const e=new Set;for(const ir of r){if(e.has(ir.key))throw new Error(`Duplicate plan key: ${ir.key}`);e.add(ir.key)}for(const ir of r)for(const lr of ir.dependsOn)if(!e.has(lr))throw new Error(`Job '${ir.key}' depends on non-existent key: ${lr}`);const M=new Set,tr=new Set,rr=ir=>{M.add(ir),tr.add(ir);const lr=r.find(dr=>dr.key===ir);if(lr){for(const dr of lr.dependsOn)if(M.has(dr)){if(tr.has(dr))return!0}else if(rr(dr))return!0}return tr.delete(ir),!1};for(const ir of r)if(!M.has(ir.key)&&rr(ir.key))throw new Error(`Dependency cycle detected involving key: ${ir.key}`)}function validateBatchRequest(r){validateBatchStructure(r);for(const e of r)if(e.actions.length===0)throw new Error(`Job '${e.key}' has empty actions array`)}function validateBatchLoadRequest(r){validateBatchStructure(r);for(const e of r)if(e.operations.length===0)throw new Error(`Job '${e.key}' has empty operations array`)}function validateActionScopes(r){for(const e of r.actions){const M=e.scope||"global";if(M!==r.scope)throw new Error(`Job '${r.key}' declares scope '${r.scope}' but action has scope '${M}'`)}}function validateOperationScopes(r){for(const e of r.operations){const M=e.action.scope||"global";if(M!==r.scope)throw new Error(`Job '${r.key}' declares scope '${r.scope}' but operation has scope '${M}'`)}}function topologicalSort(r){const e=[],M=new Set,tr=rr=>{if(M.has(rr))return;M.add(rr);const ir=r.find(lr=>lr.key===rr);if(ir)for(const lr of ir.dependsOn)tr(lr);e.push(rr)};for(const rr of r)tr(rr.key);return e}function toErrorInfo(r){return r instanceof Error?{message:r.message,stack:r.stack||new Error().stack||""}:{message:r,stack:new Error().stack||""}}function filterByType(r,e){return{results:r.results.filter(tr=>tr.header.documentType===e),options:r.options,nextCursor:r.nextCursor,next:r.next?async()=>{const tr=await r.next();return filterByType(tr,e)}:void 0}}function getSharedOperationScope(r){if(r.length===0)throw new Error("No operations provided");const e=r[0].action.scope;for(const[M,tr]of r.entries()){const rr=tr.action.scope;if(rr!==e)throw new Error(`All operations in load must share the same scope. Expected '${e}', received '${rr}' at position ${M}`)}return e}function getSharedActionScope(r){if(r.length===0)throw new Error("No actions provided");const e=r[0].scope;for(const M of r)if(M.scope!==e)throw new Error(`All actions must share the same scope. Expected '${e}', received '${M.scope}'`);return e}const signAction=async(r,e,M)=>{const tr=r.context?.signer?.signatures;if(tr&&tr.length>0)return r;const rr=await e.signAction(r,M);return{...r,context:{...r.context,signer:{user:{address:e.user?.address||"",networkId:e.user?.networkId||"",chainId:e.user?.chainId||0},app:{name:e.app?.name||"",key:e.app?.key||""},signatures:[rr]}}}},signActions=async(r,e,M)=>Promise.all(r.map(tr=>signAction(tr,e,M)));function buildSingleJobMeta(r,e){return{...e,batchId:v4(),batchJobIds:[r]}}class EventBusAggregateError extends Error{errors;constructor(e){const M=`EventBus emit failed with ${e.length} error(s): ${e.map(tr=>tr&&typeof tr=="object"&&"message"in tr?tr.message:String(tr)).join("; ")}`;super(M),this.name="EventBusAggregateError",this.errors=e}}const ReactorEventTypes={JOB_PENDING:10001,JOB_RUNNING:10002,JOB_WRITE_READY:10003,JOB_READ_READY:10004,JOB_FAILED:10005};var PropagationMode;(function(r){r.None="none",r.Cascade="cascade"})(PropagationMode||(PropagationMode={}));var RelationshipChangeType;(function(r){r.Added="added",r.Removed="removed"})(RelationshipChangeType||(RelationshipChangeType={}));var JobStatus;(function(r){r.PENDING="PENDING",r.RUNNING="RUNNING",r.WRITE_READY="WRITE_READY",r.READ_READY="READ_READY",r.FAILED="FAILED"})(JobStatus||(JobStatus={}));function isTerminalStatus(r){return r===JobStatus.READ_READY||r===JobStatus.FAILED}class JobAwaiter{eventBus;getJobStatus;pendingJobs=new Map;unsubscribers=[];constructor(e,M){this.eventBus=e,this.getJobStatus=M,this.subscribeToEvents()}subscribeToEvents(){this.unsubscribers.push(this.eventBus.subscribe(ReactorEventTypes.JOB_WRITE_READY,async(e,M)=>{await this.handleWriteReady(M)})),this.unsubscribers.push(this.eventBus.subscribe(ReactorEventTypes.JOB_READ_READY,async(e,M)=>{await this.handleReadReady(M)})),this.unsubscribers.push(this.eventBus.subscribe(ReactorEventTypes.JOB_FAILED,async(e,M)=>{await this.handleJobFailed(M)}))}shutdown(){for(const e of this.unsubscribers)e();this.unsubscribers=[];for(const[,e]of this.pendingJobs)for(const M of e)M.reject(new Error("JobAwaiter destroyed"));this.pendingJobs.clear()}async waitForJob(e,M){if(M?.aborted)throw new Error("Operation aborted");const tr=await this.getJobStatus(e,M);return isTerminalStatus(tr.status)?tr:new Promise((ir,lr)=>{const dr={resolve:ir,reject:lr,signal:M},mr=this.pendingJobs.get(e)||[];if(mr.push(dr),this.pendingJobs.set(e,mr),M){const hr=()=>{const fr=this.pendingJobs.get(e);if(fr){const _r=fr.indexOf(dr);_r!==-1&&(fr.splice(_r,1),fr.length===0&&this.pendingJobs.delete(e),dr.reject(new Error("Operation aborted")))}};M.addEventListener("abort",hr,{once:!0})}})}async handleWriteReady(e){const M=e.jobId;await this.checkAndResolveWaiters(M)}async handleReadReady(e){const M=e.jobId;await this.checkAndResolveWaiters(M)}async handleJobFailed(e){await this.checkAndResolveWaiters(e.jobId)}async checkAndResolveWaiters(e){const M=this.pendingJobs.get(e);if(!(!M||M.length===0))try{const tr=M.filter(ir=>!ir.signal?.aborted);if(tr.length===0){this.pendingJobs.delete(e);return}const rr=await this.getJobStatus(e,tr[0].signal);if(isTerminalStatus(rr.status)){this.pendingJobs.delete(e);for(const ir of tr)ir.resolve(rr);for(const ir of M)ir.signal?.aborted&&ir.reject(new Error("Operation aborted"))}}catch(tr){this.pendingJobs.delete(e);for(const rr of M)rr.reject(tr instanceof Error?tr:new Error(String(tr)))}}}class ReactorClient{logger;reactor;signer;subscriptionManager;jobAwaiter;documentIndexer;documentView;constructor(e,M,tr,rr,ir,lr,dr){this.logger=e,this.reactor=M,this.signer=tr,this.subscriptionManager=rr,this.jobAwaiter=ir,this.documentIndexer=lr,this.documentView=dr,this.logger.verbose("ReactorClient initialized")}async getDocumentModelModules(e,M,tr){return this.logger.verbose("getDocumentModels(@namespace, @paging)",e,M),this.reactor.getDocumentModels(e,M,tr)}async getDocumentModelModule(e){const tr=(await this.reactor.getDocumentModels()).results.find(rr=>rr.documentModel.global.id===e);if(!tr)throw new Error(`Document model module not found for type: ${e}`);return tr}async get(e,M,tr){return this.logger.verbose("get(@identifier, @view)",e,M),await this.reactor.getByIdOrSlug(e,M,void 0,tr)}async getOperations(e,M,tr,rr,ir){this.logger.verbose("getOperations(@documentIdentifier, @view, @filter, @paging)",e,M,tr,rr);const lr=await this.documentView.resolveIdOrSlug(e,M,void 0,ir),dr=await this.reactor.getOperations(lr,M,tr,rr,void 0,ir),mr=[];for(const fr of Object.values(dr))mr.push(...fr.results);return mr.sort((fr,_r)=>fr.index-_r.index),{results:mr,options:rr||{cursor:"0",limit:100}}}async getChildren(e,M,tr,rr){this.logger.verbose("getChildren(@parentIdentifier, @view, @paging)",e,M,tr);const ir=await this.documentView.resolveIdOrSlug(e,M,void 0,rr),dr=(await this.documentIndexer.getOutgoing(ir,void 0,void 0,void 0,rr)).results.map(mr=>mr.targetId);return dr.length===0?{results:[],options:tr||{cursor:"0",limit:0}}:this.reactor.find({ids:dr},M,tr,void 0,rr)}async getParents(e,M,tr,rr){this.logger.verbose("getParents(@childIdentifier, @view, @paging)",e,M,tr);const ir=await this.documentView.resolveIdOrSlug(e,M,void 0,rr),dr=(await this.documentIndexer.getIncoming(ir,void 0,void 0,void 0,rr)).results.map(mr=>mr.sourceId);return dr.length===0?{results:[],options:tr||{cursor:"0",limit:0}}:this.reactor.find({ids:dr},M,tr,void 0,rr)}async find(e,M,tr,rr){return this.logger.verbose("find(@search, @view, @paging)",e,M,tr),this.reactor.find(e,M,tr,void 0,rr)}async create(e,M,tr){this.logger.verbose("create(@id, @parentIdentifier)",e.header.id,M);const rr=e.header.id,ir={model:e.header.documentType,version:0,documentId:rr,signing:{signature:rr,publicKey:e.header.sig.publicKey,nonce:e.header.sig.nonce,createdAtUtcIso:e.header.createdAtUtcIso,documentType:e.header.documentType},slug:e.header.slug,name:e.header.name,branch:e.header.branch,meta:e.header.meta,protocolVersions:e.header.protocolVersions??{"base-reducer":2}},lr=await signActions([createDocumentAction(ir),upgradeDocumentAction({documentId:rr,model:e.header.documentType,fromVersion:0,toVersion:e.state.document.version,initialState:e.state})],this.signer,tr),dr=[{key:"create",documentId:rr,scope:getSharedActionScope(lr),branch:"main",actions:lr,dependsOn:[]}];if(M){const fr=await signActions([addRelationshipAction(M,rr,"child")],this.signer,tr);dr.push({key:"parent",documentId:M,scope:getSharedActionScope(fr),branch:"main",actions:fr,dependsOn:["create"]})}const mr=await this.reactor.executeBatch({jobs:dr},tr),hr=await Promise.all(Object.values(mr.jobs).map(fr=>this.waitForJob(fr,tr)));for(const fr of hr)if(fr.status===JobStatus.FAILED)throw new Error(fr.error?.message);return await this.reactor.get(rr)}async createEmpty(e,M,tr){this.logger.verbose("createEmpty(@documentModelType, @options)",e,M);const ir=(await this.reactor.getDocumentModels(void 0,void 0,tr)).results.filter(mr=>mr.documentModel.global.id===e);let lr;if(M?.documentModelVersion!==void 0){if(lr=ir.find(mr=>mr.version===M.documentModelVersion),!lr)throw new Error(`Document model not found for type: ${e} with version: ${M.documentModelVersion}`)}else if(lr=ir.reduce((mr,hr)=>{if(mr===void 0)return hr;const fr=hr.version??0,_r=mr.version??0;return fr>_r?hr:mr},void 0),!lr)throw new Error(`Document model not found for type: ${e}`);const dr=lr.utils.createDocument();return dr.state.document.version=lr.version??1,this.create(dr,M?.parentIdentifier,tr)}async createDocumentInDrive(e,M,tr,rr){this.logger.verbose("createDocumentInDrive(@driveId, @document, @parentFolder)",e,M,tr);const ir=M.header.id,lr={model:M.header.documentType,version:0,documentId:M.header.id,signing:{signature:M.header.id,publicKey:M.header.sig.publicKey,nonce:M.header.sig.nonce,createdAtUtcIso:M.header.createdAtUtcIso,documentType:M.header.documentType},slug:M.header.slug,name:M.header.name,branch:M.header.branch,meta:M.header.meta,protocolVersions:M.header.protocolVersions??{"base-reducer":2}},dr=await signActions([createDocumentAction(lr),upgradeDocumentAction({documentId:M.header.id,model:M.header.documentType,fromVersion:0,toVersion:1,initialState:M.state}),addRelationshipAction(e,ir,"child")],this.signer,rr),mr=await signActions([addFile({id:ir,name:M.header.name,documentType:M.header.documentType,parentFolder:tr})],this.signer,rr),hr=await this.reactor.executeBatch({jobs:[{key:"document",documentId:ir,scope:getSharedActionScope(dr),branch:"main",actions:dr,dependsOn:[]},{key:"drive",documentId:e,scope:getSharedActionScope(mr),branch:"main",actions:mr,dependsOn:["document"]}]},rr),fr=await Promise.all(Object.values(hr.jobs).map(_r=>this.waitForJob(_r,rr)));for(const _r of fr)if(_r.status===JobStatus.FAILED)throw new Error(_r.error?.message);return await this.reactor.get(ir)}async execute(e,M,tr,rr){this.logger.verbose("execute(@documentIdentifier, @branch, @count actions)",e,M,tr.length);const ir=await signActions(tr,this.signer,rr),lr=await this.reactor.execute(e,M,ir,rr),dr=await this.waitForJob(lr,rr);if(dr.status===JobStatus.FAILED)throw new Error(dr.error?.message);const mr={branch:M};return await this.reactor.getByIdOrSlug(e,mr,dr.consistencyToken,rr)}async executeAsync(e,M,tr,rr){this.logger.verbose("executeAsync(@documentIdentifier, @branch, @count actions)",e,M,tr.length);const ir=await signActions(tr,this.signer,rr);return this.reactor.execute(e,M,ir,rr)}async rename(e,M,tr="main",rr){return this.logger.verbose("rename(@documentIdentifier, @name, @branch)",e,M,tr),this.execute(e,tr,[actions.setName(M)],rr)}async addChildren(e,M,tr="main",rr){this.logger.verbose("addChildren(@parentIdentifier, @count children, @branch)",e,M.length,tr);const ir=await this.reactor.addChildren(e,M,tr,this.signer,rr),lr=await this.waitForJob(ir,rr);if(lr.status===JobStatus.FAILED)throw new Error(lr.error?.message);return await this.reactor.getByIdOrSlug(e,{branch:tr},lr.consistencyToken,rr)}async removeChildren(e,M,tr="main",rr){this.logger.verbose("removeChildren(@parentIdentifier, @count children, @branch)",e,M.length,tr);const ir=await this.reactor.removeChildren(e,M,tr,this.signer,rr),lr=await this.waitForJob(ir,rr);if(lr.status===JobStatus.FAILED)throw new Error(lr.error?.message);return await this.reactor.getByIdOrSlug(e,{branch:tr},lr.consistencyToken,rr)}async moveChildren(e,M,tr,rr="main",ir){this.logger.verbose("moveChildren(@sourceParentIdentifier, @targetParentIdentifier, @count children, @branch)",e,M,tr.length,rr);const lr=await this.reactor.removeChildren(e,tr,rr,this.signer,ir),dr=await this.waitForJob(lr,ir);if(dr.status===JobStatus.FAILED)throw new Error(dr.error?.message);const mr=await this.reactor.addChildren(M,tr,rr,this.signer,ir),hr=await this.waitForJob(mr,ir);if(hr.status===JobStatus.FAILED)throw new Error(hr.error?.message);const fr=await this.reactor.getByIdOrSlug(e,{branch:rr},dr.consistencyToken,ir),_r=await this.reactor.getByIdOrSlug(M,{branch:rr},hr.consistencyToken,ir);return{source:fr,target:_r}}async loadBatch(e,M){this.logger.verbose("loadBatch(@count jobs)",e.jobs.length);const tr=await this.reactor.loadBatch(e,M),rr=await Promise.all(Object.entries(tr.jobs).map(async([ir,lr])=>{const dr=await this.waitForJob(lr,M);return[ir,dr]}));for(const[,ir]of rr)if(ir.status===JobStatus.FAILED)throw new Error(ir.error?.message);return{jobs:Object.fromEntries(rr)}}async deleteDocument(e,M,tr){this.logger.verbose("deleteDocument(@identifier, @propagate)",e,M);const rr=[];if(M===PropagationMode.Cascade){const dr=[],mr=[e],hr=new Set;for(;mr.length>0;){const fr=mr.shift();if(hr.has(fr))continue;if(hr.add(fr),tr?.aborted)throw new Error("Operation aborted");const _r=await this.documentIndexer.getOutgoing(fr,["child"],void 0,void 0,tr);for(const gr of _r.results)hr.has(gr.targetId)||(dr.push(gr.targetId),mr.push(gr.targetId))}for(const fr of dr){const _r=await this.reactor.deleteDocument(fr,this.signer,tr);rr.push(_r)}}const ir=await this.reactor.deleteDocument(e,this.signer,tr);rr.push(ir);const lr=await Promise.all(rr.map(dr=>this.waitForJob(dr,tr)));for(const dr of lr)if(dr.status===JobStatus.FAILED)throw new Error(dr.error?.message)}async deleteDocuments(e,M,tr){this.logger.verbose("deleteDocuments(@count identifiers, @propagate)",e.length,M);const rr=e.map(ir=>this.deleteDocument(ir,M,tr));await Promise.all(rr)}async getJobStatus(e,M){return this.logger.verbose("getJobStatus(@jobId)",e),this.reactor.getJobStatus(e,M)}async waitForJob(e,M){const tr=typeof e=="string"?e:e.id;return this.logger.verbose("waitForJob(@id)",tr),this.jobAwaiter.waitForJob(tr,M)}subscribe(e,M,tr){this.logger.verbose("subscribe(@search, @view)",e,tr);const rr=this.subscriptionManager.onDocumentCreated(mr=>{(async()=>{try{const hr=await Promise.all(mr.results.map(fr=>this.reactor.get(fr,tr,void 0,void 0)));M({type:DocumentChangeType.Created,documents:hr})}catch{}})()},e),ir=this.subscriptionManager.onDocumentDeleted(mr=>{M({type:DocumentChangeType.Deleted,documents:[],context:{childId:mr[0]}})},e),lr=this.subscriptionManager.onDocumentStateUpdated(mr=>{M({type:DocumentChangeType.Updated,documents:mr.results})},e,tr),dr=this.subscriptionManager.onRelationshipChanged((mr,hr,fr)=>{M({type:fr===RelationshipChangeType.Added?DocumentChangeType.ChildAdded:DocumentChangeType.ChildRemoved,documents:[],context:{parentId:mr,childId:hr}})},e);return()=>{rr(),ir(),lr(),dr()}}}var p$1=Object.create,i=Object.defineProperty,c=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,l$1=Object.getPrototypeOf,s$1=Object.prototype.hasOwnProperty,a=r=>{throw TypeError(r)},_$1=(r,e,M)=>e in r?i(r,e,{enumerable:!0,configurable:!0,writable:!0,value:M}):r[e]=M,d=(r,e)=>()=>(r&&(e=r(r=0)),e),D$1=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),F$1=(r,e)=>{for(var M in e)i(r,M,{get:e[M],enumerable:!0})},g$3=(r,e,M,tr)=>{if(e&&typeof e=="object"||typeof e=="function")for(let rr of f(e))!s$1.call(r,rr)&&rr!==M&&i(r,rr,{get:()=>e[rr],enumerable:!(tr=c(e,rr))||tr.enumerable});return r},L$3=(r,e,M)=>(M=r!=null?p$1(l$1(r)):{},g$3(i(M,"default",{value:r,enumerable:!0}),r)),P$1=(r,e,M)=>_$1(r,typeof e!="symbol"?e+"":e,M),n=(r,e,M)=>e.has(r)||a("Cannot "+M),h$1=(r,e,M)=>(n(r,e,"read from private field"),M?M.call(r):e.get(r)),R$1=(r,e,M)=>e.has(r)?a("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,M),x$3=(r,e,M,tr)=>(n(r,e,"write to private field"),e.set(r,M),M),T$2=(r,e,M)=>(n(r,e,"access private method"),M),U$1=(r,e,M,tr)=>({set _(rr){x$3(r,e,rr)},get _(){return h$1(r,e,tr)}}),u=d(()=>{}),hn={};F$1(hn,{ABSTIME:()=>Et,ACLITEM:()=>Vt,BIT:()=>jt,BOOL:()=>be,BPCHAR:()=>_e$1,BYTEA:()=>ge$1,CHAR:()=>gt,CID:()=>St,CIDR:()=>Tt,CIRCLE:()=>Ut,DATE:()=>He$1,FLOAT4:()=>Qe,FLOAT8:()=>We$1,GTSVECTOR:()=>rn,INET:()=>kt,INT2:()=>ve,INT4:()=>Ge$1,INT8:()=>we$1,INTERVAL:()=>vt,JSON:()=>Ae,JSONB:()=>Ye$1,MACADDR:()=>Ot,MACADDR8:()=>Nt,MONEY:()=>Lt,NUMERIC:()=>Wt,OID:()=>je$1,PATH:()=>Mt,PG_DEPENDENCIES:()=>en,PG_LSN:()=>Xt,PG_NDISTINCT:()=>Zt,PG_NODE_TREE:()=>Bt,POLYGON:()=>Rt,REFCURSOR:()=>_t$1,REGCLASS:()=>Yt,REGCONFIG:()=>sn,REGDICTIONARY:()=>an,REGNAMESPACE:()=>on,REGOPER:()=>Ht,REGOPERATOR:()=>qt,REGPROC:()=>wt,REGPROCEDURE:()=>zt,REGROLE:()=>un,REGTYPE:()=>$t,RELTIME:()=>Ct,SMGR:()=>It,TEXT:()=>V,TID:()=>At,TIME:()=>Ft,TIMESTAMP:()=>qe,TIMESTAMPTZ:()=>xe$1,TIMETZ:()=>Gt,TINTERVAL:()=>Pt,TSQUERY:()=>nn,TSVECTOR:()=>tn,TXID_SNAPSHOT:()=>Jt,UUID:()=>Kt,VARBIT:()=>Qt,VARCHAR:()=>ze,XID:()=>xt,XML:()=>Dt,arrayParser:()=>yn,arraySerializer:()=>Ke$1,parseType:()=>ue$1,parsers:()=>ln,serializers:()=>cn,types:()=>$e});u();var ht=globalThis.JSON.parse,bt=globalThis.JSON.stringify,be=16,ge$1=17,gt=18,we$1=20,ve=21,Ge$1=23,wt=24,V=25,je$1=26,At=27,xt=28,St=29,Ae=114,Dt=142,Bt=194,It=210,Mt=602,Rt=604,Tt=650,Qe=700,We$1=701,Et=702,Ct=703,Pt=704,Ut=718,Nt=774,Lt=790,Ot=829,kt=869,Vt=1033,_e$1=1042,ze=1043,He$1=1082,Ft=1083,qe=1114,xe$1=1184,vt=1186,Gt=1266,jt=1560,Qt=1562,Wt=1700,_t$1=1790,zt=2202,Ht=2203,qt=2204,Yt=2205,$t=2206,Kt=2950,Jt=2970,Xt=3220,Zt=3361,en=3402,tn=3614,nn=3615,rn=3642,sn=3734,an=3769,Ye$1=3802,on=4089,un=4096,$e={string:{to:V,from:[V,ze,_e$1],serialize:r=>{if(typeof r=="string")return r;if(typeof r=="number")return r.toString();throw new Error("Invalid input for string type")},parse:r=>r},number:{to:0,from:[ve,Ge$1,je$1,Qe,We$1],serialize:r=>r.toString(),parse:r=>+r},bigint:{to:we$1,from:[we$1],serialize:r=>r.toString(),parse:r=>{let e=BigInt(r);return e<Number.MIN_SAFE_INTEGER||e>Number.MAX_SAFE_INTEGER?e:Number(e)}},json:{to:Ae,from:[Ae,Ye$1],serialize:r=>typeof r=="string"?r:bt(r),parse:r=>ht(r)},boolean:{to:be,from:[be],serialize:r=>{if(typeof r!="boolean")throw new Error("Invalid input for boolean type");return r?"t":"f"},parse:r=>r==="t"},date:{to:xe$1,from:[He$1,qe,xe$1],serialize:r=>{if(typeof r=="string")return r;if(typeof r=="number")return new Date(r).toISOString();if(r instanceof Date)return r.toISOString();throw new Error("Invalid input for date type")},parse:r=>new Date(r)},bytea:{to:ge$1,from:[ge$1],serialize:r=>{if(!(r instanceof Uint8Array))throw new Error("Invalid input for bytea type");return"\\x"+Array.from(r).map(e=>e.toString(16).padStart(2,"0")).join("")},parse:r=>{let e=r.slice(2);return Uint8Array.from({length:e.length/2},(M,tr)=>parseInt(e.substring(tr*2,(tr+1)*2),16))}}},Se$1=pn($e),ln=Se$1.parsers,cn=Se$1.serializers;function ue$1(r,e,M){if(r===null)return null;let tr=M?.[e]??Se$1.parsers[e];return tr?tr(r,e):r}function pn(r){return Object.keys(r).reduce(({parsers:e,serializers:M},tr)=>{let{to:rr,from:ir,serialize:lr,parse:dr}=r[tr];return M[rr]=lr,M[tr]=lr,e[tr]=dr,Array.isArray(ir)?ir.forEach(mr=>{e[mr]=dr,M[mr]=lr}):(e[ir]=dr,M[ir]=lr),{parsers:e,serializers:M}},{parsers:{},serializers:{}})}var dn=/\\/g,fn=/"/g;function mn(r){return r.replace(dn,"\\\\").replace(fn,'\\"')}function Ke$1(r,e,M){if(Array.isArray(r)===!1)return r;if(!r.length)return"{}";let tr=r[0],rr=M===1020?";":",";return Array.isArray(tr)?`{${r.map(ir=>Ke$1(ir,e,M)).join(rr)}}`:`{${r.map(ir=>(ir===void 0&&(ir=null),ir===null?"null":'"'+mn(e?e(ir):ir.toString())+'"')).join(rr)}}`}var he$1={i:0,char:null,str:"",quoted:!1,last:0,p:null};function yn(r,e,M){return he$1.i=he$1.last=0,Je(he$1,r,e,M)[0]}function Je(r,e,M,tr){let rr=[],ir=tr===1020?";":",";for(;r.i<e.length;r.i++){if(r.char=e[r.i],r.quoted)r.char==="\\"?r.str+=e[++r.i]:r.char==='"'?(rr.push(M?M(r.str):r.str),r.str="",r.quoted=e[r.i+1]==='"',r.last=r.i+2):r.str+=r.char;else if(r.char==='"')r.quoted=!0;else if(r.char==="{")r.last=++r.i,rr.push(Je(r,e,M,tr));else if(r.char==="}"){r.quoted=!1,r.last<r.i&&rr.push(M?M(e.slice(r.last,r.i)):e.slice(r.last,r.i)),r.last=r.i+1;break}else r.char===ir&&r.p!=="}"&&r.p!=='"'&&(rr.push(M?M(e.slice(r.last,r.i)):e.slice(r.last,r.i)),r.last=r.i+1);r.p=r.char}return r.last<r.i&&rr.push(M?M(e.slice(r.last,r.i+1)):e.slice(r.last,r.i+1)),rr}var wn={};F$1(wn,{parseDescribeStatementResults:()=>De,parseResults:()=>bn});u();function bn(r,e,M,tr){let rr=[],ir={rows:[],fields:[]},lr=0,dr={...e,...M?.parsers};return r.forEach(mr=>{switch(mr.name){case"rowDescription":{let hr=mr;ir.fields=hr.fields.map(fr=>({name:fr.name,dataTypeID:fr.dataTypeID}));break}case"dataRow":{if(!ir)break;let hr=mr;M?.rowMode==="array"?ir.rows.push(hr.fields.map((fr,_r)=>ue$1(fr,ir.fields[_r].dataTypeID,dr))):ir.rows.push(Object.fromEntries(hr.fields.map((fr,_r)=>[ir.fields[_r].name,ue$1(fr,ir.fields[_r].dataTypeID,dr)])));break}case"commandComplete":{lr+=gn(mr),rr.push({...ir,affectedRows:lr,...tr?{blob:tr}:{}}),ir={rows:[],fields:[]};break}}}),rr.length===0&&rr.push({affectedRows:0,rows:[],fields:[]}),rr}function gn(r){let e=r.text.split(" ");switch(e[0]){case"INSERT":return parseInt(e[2],10);case"UPDATE":case"DELETE":case"COPY":case"MERGE":return parseInt(e[1],10);default:return 0}}function De(r){let e=r.find(M=>M.name==="parameterDescription");return e?e.dataTypeIDs:[]}var Ue$1={};F$1(Ue$1,{AuthenticationCleartextPassword:()=>v,AuthenticationMD5Password:()=>G$1,AuthenticationOk:()=>F,AuthenticationSASL:()=>j,AuthenticationSASLContinue:()=>Q$1,AuthenticationSASLFinal:()=>W,BackendKeyDataMessage:()=>K$1,CommandCompleteMessage:()=>Z$1,CopyDataMessage:()=>_,CopyResponse:()=>z,DataRowMessage:()=>ee,DatabaseError:()=>C$2,Field:()=>H$1,NoticeMessage:()=>te$1,NotificationResponseMessage:()=>J$1,ParameterDescriptionMessage:()=>Y$1,ParameterStatusMessage:()=>$$1,ReadyForQueryMessage:()=>X,RowDescriptionMessage:()=>q$1,bindComplete:()=>Ie,closeComplete:()=>Me,copyDone:()=>Pe,emptyQuery:()=>Ce,noData:()=>Re,parseComplete:()=>Be$1,portalSuspended:()=>Te,replicationStart:()=>Ee});u();var Be$1={name:"parseComplete",length:5},Ie={name:"bindComplete",length:5},Me={name:"closeComplete",length:5},Re={name:"noData",length:5},Te={name:"portalSuspended",length:5},Ee={name:"replicationStart",length:4},Ce={name:"emptyQuery",length:4},Pe={name:"copyDone",length:4},F=class{constructor(r){this.length=r,this.name="authenticationOk"}},v=class{constructor(r){this.length=r,this.name="authenticationCleartextPassword"}},G$1=class{constructor(e,M){this.length=e,this.salt=M,this.name="authenticationMD5Password"}},j=class{constructor(r,e){this.length=r,this.mechanisms=e,this.name="authenticationSASL"}},Q$1=class{constructor(e,M){this.length=e,this.data=M,this.name="authenticationSASLContinue"}},W=class{constructor(r,e){this.length=r,this.data=e,this.name="authenticationSASLFinal"}},C$2=class extends Error{constructor(e,M,tr){super(e),this.length=M,this.name=tr}},_=class{constructor(r,e){this.length=r,this.chunk=e,this.name="copyData"}},z=class{constructor(r,e,M,tr){this.length=r,this.name=e,this.binary=M,this.columnTypes=new Array(tr)}},H$1=class{constructor(e,M,tr,rr,ir,lr,dr){this.name=e,this.tableID=M,this.columnID=tr,this.dataTypeID=rr,this.dataTypeSize=ir,this.dataTypeModifier=lr,this.format=dr}},q$1=class{constructor(e,M){this.length=e,this.fieldCount=M,this.name="rowDescription",this.fields=new Array(this.fieldCount)}},Y$1=class{constructor(e,M){this.length=e,this.parameterCount=M,this.name="parameterDescription",this.dataTypeIDs=new Array(this.parameterCount)}},$$1=class{constructor(e,M,tr){this.length=e,this.parameterName=M,this.parameterValue=tr,this.name="parameterStatus"}},K$1=class{constructor(e,M,tr){this.length=e,this.processID=M,this.secretKey=tr,this.name="backendKeyData"}},J$1=class{constructor(e,M,tr,rr){this.length=e,this.processId=M,this.channel=tr,this.payload=rr,this.name="notification"}},X=class{constructor(r,e){this.length=r,this.status=e,this.name="readyForQuery"}},Z$1=class{constructor(e,M){this.length=e,this.text=M,this.name="commandComplete"}},ee=class{constructor(r,e){this.length=r,this.fields=e,this.name="dataRow",this.fieldCount=e.length}},te$1=class{constructor(e,M){this.length=e,this.message=M,this.name="notice"}},zn={};F$1(zn,{Parser:()=>ye$1,messages:()=>Ue$1,serialize:()=>k$1});u();u();u();u();function P(r){let e=r.length;for(let M=r.length-1;M>=0;M--){let tr=r.charCodeAt(M);tr>127&&tr<=2047?e++:tr>2047&&tr<=65535&&(e+=2),tr>=56320&&tr<=57343&&M--}return e}var b,g$2,N,ce$2,L$2,x$2,le$1,U,Xe$1,T$1=class{constructor(e=256){this.size=e,R$1(this,x$2),R$1(this,b),R$1(this,g$2,5),R$1(this,N,!1),R$1(this,ce$2,new TextEncoder),R$1(this,L$2,0),x$3(this,b,T$2(this,x$2,le$1).call(this,e))}addInt32(e){return T$2(this,x$2,U).call(this,4),h$1(this,b).setInt32(h$1(this,g$2),e,h$1(this,N)),x$3(this,g$2,h$1(this,g$2)+4),this}addInt16(e){return T$2(this,x$2,U).call(this,2),h$1(this,b).setInt16(h$1(this,g$2),e,h$1(this,N)),x$3(this,g$2,h$1(this,g$2)+2),this}addCString(e){return e&&this.addString(e),T$2(this,x$2,U).call(this,1),h$1(this,b).setUint8(h$1(this,g$2),0),U$1(this,g$2)._++,this}addString(e=""){let M=P(e);return T$2(this,x$2,U).call(this,M),h$1(this,ce$2).encodeInto(e,new Uint8Array(h$1(this,b).buffer,h$1(this,g$2))),x$3(this,g$2,h$1(this,g$2)+M),this}add(e){return T$2(this,x$2,U).call(this,e.byteLength),new Uint8Array(h$1(this,b).buffer).set(new Uint8Array(e),h$1(this,g$2)),x$3(this,g$2,h$1(this,g$2)+e.byteLength),this}flush(e){let M=T$2(this,x$2,Xe$1).call(this,e);return x$3(this,g$2,5),x$3(this,b,T$2(this,x$2,le$1).call(this,this.size)),new Uint8Array(M)}};b=new WeakMap,g$2=new WeakMap,N=new WeakMap,ce$2=new WeakMap,L$2=new WeakMap,x$2=new WeakSet,le$1=function(r){return new DataView(new ArrayBuffer(r))},U=function(r){if(h$1(this,b).byteLength-h$1(this,g$2)<r){let e=h$1(this,b).buffer,M=e.byteLength+(e.byteLength>>1)+r;x$3(this,b,T$2(this,x$2,le$1).call(this,M)),new Uint8Array(h$1(this,b).buffer).set(new Uint8Array(e))}},Xe$1=function(r){if(r){h$1(this,b).setUint8(h$1(this,L$2),r);let e=h$1(this,g$2)-(h$1(this,L$2)+1);h$1(this,b).setInt32(h$1(this,L$2)+1,e,h$1(this,N))}return h$1(this,b).buffer.slice(r?0:5,h$1(this,g$2))};var m=new T$1,An=r=>{m.addInt16(3).addInt16(0);for(let tr of Object.keys(r))m.addCString(tr).addCString(r[tr]);m.addCString("client_encoding").addCString("UTF8");let e=m.addCString("").flush(),M=e.byteLength+4;return new T$1().addInt32(M).add(e).flush()},xn=()=>{let r=new DataView(new ArrayBuffer(8));return r.setInt32(0,8,!1),r.setInt32(4,80877103,!1),new Uint8Array(r.buffer)},Sn=r=>m.addCString(r).flush(112),Dn=(r,e)=>(m.addCString(r).addInt32(P(e)).addString(e),m.flush(112)),Bn=r=>m.addString(r).flush(112),In=r=>m.addCString(r).flush(81),Mn=[],Rn=r=>{let e=r.name??"";e.length>63&&(console.error("Warning! Postgres only supports 63 characters for query names."),console.error("You supplied %s (%s)",e,e.length),console.error("This can cause conflicts and silent errors executing queries"));let M=m.addCString(e).addCString(r.text).addInt16(r.types?.length??0);return r.types?.forEach(tr=>M.addInt32(tr)),m.flush(80)},O$2=new T$1,Tn=(r,e)=>{for(let M=0;M<r.length;M++){let tr=e?e(r[M],M):r[M];if(tr===null)m.addInt16(0),O$2.addInt32(-1);else if(tr instanceof ArrayBuffer||ArrayBuffer.isView(tr)){let rr=ArrayBuffer.isView(tr)?tr.buffer.slice(tr.byteOffset,tr.byteOffset+tr.byteLength):tr;m.addInt16(1),O$2.addInt32(rr.byteLength),O$2.add(rr)}else m.addInt16(0),O$2.addInt32(P(tr)),O$2.addString(tr)}},En=(r={})=>{let e=r.portal??"",M=r.statement??"",tr=r.binary??!1,rr=r.values??Mn,ir=rr.length;return m.addCString(e).addCString(M),m.addInt16(ir),Tn(rr,r.valueMapper),m.addInt16(ir),m.add(O$2.flush()),m.addInt16(tr?1:0),m.flush(66)},Cn=new Uint8Array([69,0,0,0,9,0,0,0,0,0]),Pn=r=>{if(!r||!r.portal&&!r.rows)return Cn;let e=r.portal??"",M=r.rows??0,tr=P(e),rr=4+tr+1+4,ir=new DataView(new ArrayBuffer(1+rr));return ir.setUint8(0,69),ir.setInt32(1,rr,!1),new TextEncoder().encodeInto(e,new Uint8Array(ir.buffer,5)),ir.setUint8(tr+5,0),ir.setUint32(ir.byteLength-4,M,!1),new Uint8Array(ir.buffer)},Un=(r,e)=>{let M=new DataView(new ArrayBuffer(16));return M.setInt32(0,16,!1),M.setInt16(4,1234,!1),M.setInt16(6,5678,!1),M.setInt32(8,r,!1),M.setInt32(12,e,!1),new Uint8Array(M.buffer)},Ne=(r,e)=>{let M=new T$1;return M.addCString(e),M.flush(r)},Nn=m.addCString("P").flush(68),Ln=m.addCString("S").flush(68),On=r=>r.name?Ne(68,`${r.type}${r.name??""}`):r.type==="P"?Nn:Ln,kn=r=>{let e=`${r.type}${r.name??""}`;return Ne(67,e)},Vn=r=>m.add(r).flush(100),Fn=r=>Ne(102,r),pe$1=r=>new Uint8Array([r,0,0,0,4]),vn=pe$1(72),Gn=pe$1(83),jn=pe$1(88),Qn=pe$1(99),k$1={startup:An,password:Sn,requestSsl:xn,sendSASLInitialResponseMessage:Dn,sendSCRAMClientFinalMessage:Bn,query:In,parse:Rn,bind:En,execute:Pn,describe:On,close:kn,flush:()=>vn,sync:()=>Gn,end:()=>jn,copyData:Vn,copyDone:()=>Qn,copyFail:Fn,cancel:Un};u();u();var Le$1={text:0,binary:1};u();var Wn=new ArrayBuffer(0),R,w$1,fe$1,me$1,ne$1,de$1=class{constructor(e=0){R$1(this,R,new DataView(Wn)),R$1(this,w$1),R$1(this,fe$1,"utf-8"),R$1(this,me$1,new TextDecoder(h$1(this,fe$1))),R$1(this,ne$1,!1),x$3(this,w$1,e)}setBuffer(e,M){x$3(this,w$1,e),x$3(this,R,new DataView(M))}int16(){let e=h$1(this,R).getInt16(h$1(this,w$1),h$1(this,ne$1));return x$3(this,w$1,h$1(this,w$1)+2),e}byte(){let e=h$1(this,R).getUint8(h$1(this,w$1));return U$1(this,w$1)._++,e}int32(){let e=h$1(this,R).getInt32(h$1(this,w$1),h$1(this,ne$1));return x$3(this,w$1,h$1(this,w$1)+4),e}string(e){return h$1(this,me$1).decode(this.bytes(e))}cstring(){let e=h$1(this,w$1),M=e;for(;h$1(this,R).getUint8(M++)!==0;);let tr=this.string(M-e-1);return x$3(this,w$1,M),tr}bytes(e){let M=h$1(this,R).buffer.slice(h$1(this,w$1),h$1(this,w$1)+e);return x$3(this,w$1,h$1(this,w$1)+e),new Uint8Array(M)}};R=new WeakMap,w$1=new WeakMap,fe$1=new WeakMap,me$1=new WeakMap,ne$1=new WeakMap;var Oe=1,_n=4,Ze=Oe+_n,et=new ArrayBuffer(0),A,S,D,o$1,l,tt,nt$1,rt,st$1,it$1,at,ot,ke$1,ut,lt$1,ct,pt$1,dt,ft,mt,yt,Ve$1,ye$1=class{constructor(){R$1(this,l),R$1(this,A,new DataView(et)),R$1(this,S,0),R$1(this,D,0),R$1(this,o$1,new de$1)}parse(e,M){T$2(this,l,tt).call(this,ArrayBuffer.isView(e)?e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength):e);let tr=h$1(this,D)+h$1(this,S),rr=h$1(this,D);for(;rr+Ze<=tr;){let ir=h$1(this,A).getUint8(rr),lr=h$1(this,A).getUint32(rr+Oe,!1),dr=Oe+lr;if(dr+rr<=tr&&lr>0){let mr=T$2(this,l,nt$1).call(this,rr+Ze,ir,lr,h$1(this,A).buffer);M(mr),rr+=dr}else break}rr===tr?(x$3(this,A,new DataView(et)),x$3(this,S,0),x$3(this,D,0)):(x$3(this,S,tr-rr),x$3(this,D,rr))}};A=new WeakMap,S=new WeakMap,D=new WeakMap,o$1=new WeakMap,l=new WeakSet,tt=function(r){if(h$1(this,S)>0){let e=h$1(this,S)+r.byteLength;if(e+h$1(this,D)>h$1(this,A).byteLength){let M;if(e<=h$1(this,A).byteLength&&h$1(this,D)>=h$1(this,S))M=h$1(this,A).buffer;else{let tr=h$1(this,A).byteLength*2;for(;e>=tr;)tr*=2;M=new ArrayBuffer(tr)}new Uint8Array(M).set(new Uint8Array(h$1(this,A).buffer,h$1(this,D),h$1(this,S))),x$3(this,A,new DataView(M)),x$3(this,D,0)}new Uint8Array(h$1(this,A).buffer).set(new Uint8Array(r),h$1(this,D)+h$1(this,S)),x$3(this,S,e)}else x$3(this,A,new DataView(r)),x$3(this,D,0),x$3(this,S,r.byteLength)},nt$1=function(r,e,M,tr){switch(e){case 50:return Ie;case 49:return Be$1;case 51:return Me;case 110:return Re;case 115:return Te;case 99:return Pe;case 87:return Ee;case 73:return Ce;case 68:return T$2(this,l,dt).call(this,r,M,tr);case 67:return T$2(this,l,st$1).call(this,r,M,tr);case 90:return T$2(this,l,rt).call(this,r,M,tr);case 65:return T$2(this,l,ut).call(this,r,M,tr);case 82:return T$2(this,l,yt).call(this,r,M,tr);case 83:return T$2(this,l,ft).call(this,r,M,tr);case 75:return T$2(this,l,mt).call(this,r,M,tr);case 69:return T$2(this,l,Ve$1).call(this,r,M,tr,"error");case 78:return T$2(this,l,Ve$1).call(this,r,M,tr,"notice");case 84:return T$2(this,l,lt$1).call(this,r,M,tr);case 116:return T$2(this,l,pt$1).call(this,r,M,tr);case 71:return T$2(this,l,at).call(this,r,M,tr);case 72:return T$2(this,l,ot).call(this,r,M,tr);case 100:return T$2(this,l,it$1).call(this,r,M,tr);default:return new C$2("received invalid response: "+e.toString(16),M,"error")}},rt=function(r,e,M){h$1(this,o$1).setBuffer(r,M);let tr=h$1(this,o$1).string(1);return new X(e,tr)},st$1=function(r,e,M){h$1(this,o$1).setBuffer(r,M);let tr=h$1(this,o$1).cstring();return new Z$1(e,tr)},it$1=function(r,e,M){let tr=M.slice(r,r+(e-4));return new _(e,new Uint8Array(tr))},at=function(r,e,M){return T$2(this,l,ke$1).call(this,r,e,M,"copyInResponse")},ot=function(r,e,M){return T$2(this,l,ke$1).call(this,r,e,M,"copyOutResponse")},ke$1=function(r,e,M,tr){h$1(this,o$1).setBuffer(r,M);let rr=h$1(this,o$1).byte()!==0,ir=h$1(this,o$1).int16(),lr=new z(e,tr,rr,ir);for(let dr=0;dr<ir;dr++)lr.columnTypes[dr]=h$1(this,o$1).int16();return lr},ut=function(r,e,M){h$1(this,o$1).setBuffer(r,M);let tr=h$1(this,o$1).int32(),rr=h$1(this,o$1).cstring(),ir=h$1(this,o$1).cstring();return new J$1(e,tr,rr,ir)},lt$1=function(r,e,M){h$1(this,o$1).setBuffer(r,M);let tr=h$1(this,o$1).int16(),rr=new q$1(e,tr);for(let ir=0;ir<tr;ir++)rr.fields[ir]=T$2(this,l,ct).call(this);return rr},ct=function(){let r=h$1(this,o$1).cstring(),e=h$1(this,o$1).int32(),M=h$1(this,o$1).int16(),tr=h$1(this,o$1).int32(),rr=h$1(this,o$1).int16(),ir=h$1(this,o$1).int32(),lr=h$1(this,o$1).int16()===0?Le$1.text:Le$1.binary;return new H$1(r,e,M,tr,rr,ir,lr)},pt$1=function(r,e,M){h$1(this,o$1).setBuffer(r,M);let tr=h$1(this,o$1).int16(),rr=new Y$1(e,tr);for(let ir=0;ir<tr;ir++)rr.dataTypeIDs[ir]=h$1(this,o$1).int32();return rr},dt=function(r,e,M){h$1(this,o$1).setBuffer(r,M);let tr=h$1(this,o$1).int16(),rr=new Array(tr);for(let ir=0;ir<tr;ir++){let lr=h$1(this,o$1).int32();rr[ir]=lr===-1?null:h$1(this,o$1).string(lr)}return new ee(e,rr)},ft=function(r,e,M){h$1(this,o$1).setBuffer(r,M);let tr=h$1(this,o$1).cstring(),rr=h$1(this,o$1).cstring();return new $$1(e,tr,rr)},mt=function(r,e,M){h$1(this,o$1).setBuffer(r,M);let tr=h$1(this,o$1).int32(),rr=h$1(this,o$1).int32();return new K$1(e,tr,rr)},yt=function(r,e,M){h$1(this,o$1).setBuffer(r,M);let tr=h$1(this,o$1).int32();switch(tr){case 0:return new F(e);case 3:return new v(e);case 5:return new G$1(e,h$1(this,o$1).bytes(4));case 10:{let rr=[];for(;;){let ir=h$1(this,o$1).cstring();if(ir.length===0)return new j(e,rr);rr.push(ir)}}case 11:return new Q$1(e,h$1(this,o$1).string(e-8));case 12:return new W(e,h$1(this,o$1).string(e-8));default:throw new Error("Unknown authenticationOk message type "+tr)}},Ve$1=function(r,e,M,tr){h$1(this,o$1).setBuffer(r,M);let rr={},ir=h$1(this,o$1).string(1);for(;ir!=="\0";)rr[ir]=h$1(this,o$1).cstring(),ir=h$1(this,o$1).string(1);let lr=rr.M,dr=tr==="notice"?new te$1(e,lr):new C$2(lr,e,tr);return dr.severity=rr.S,dr.code=rr.C,dr.detail=rr.D,dr.hint=rr.H,dr.position=rr.P,dr.internalPosition=rr.p,dr.internalQuery=rr.q,dr.where=rr.W,dr.schema=rr.s,dr.table=rr.t,dr.column=rr.c,dr.dataType=rr.d,dr.constraint=rr.n,dr.file=rr.F,dr.line=rr.L,dr.routine=rr.R,dr};u();var Fe$1=typeof process$1=="object"&&typeof process$1.versions=="object"&&typeof process$1.versions.node=="string",se$1;async function Rr(){if(Fe$1||se$1)return;let r=new URL("/assets/pglite-CeYkvzd0.wasm",import.meta.url);se$1=fetch(r)}var re$1;async function Tr(r,e){if(e||re$1)return{instance:await WebAssembly.instantiate(e||re$1,r),module:e||re$1};let M=new URL("/assets/pglite-CeYkvzd0.wasm",import.meta.url);if(Fe$1){let tr=await(await __vitePreload(async()=>{const{readFile:lr}=await import("./__vite-browser-external-D7Ct-6yo.js").then(dr=>dr._);return{readFile:lr}},[])).readFile(M),{module:rr,instance:ir}=await WebAssembly.instantiate(tr,r);return re$1=rr,{instance:ir,module:rr}}else{se$1||(se$1=fetch(M));let tr=await se$1,{module:rr,instance:ir}=await WebAssembly.instantiateStreaming(tr,r);return re$1=rr,{instance:ir,module:rr}}}async function Er(){let r=new URL("/assets/pglite-COscPi1Y.data",import.meta.url);return Fe$1?(await(await __vitePreload(async()=>{const{readFile:e}=await import("./__vite-browser-external-D7Ct-6yo.js").then(M=>M._);return{readFile:e}},[])).readFile(r)).buffer:(await fetch(r)).arrayBuffer()}var Cr=()=>{if(globalThis.crypto?.randomUUID)return globalThis.crypto.randomUUID();let r=new Uint8Array(16);if(globalThis.crypto?.getRandomValues)globalThis.crypto.getRandomValues(r);else for(let M=0;M<r.length;M++)r[M]=Math.floor(Math.random()*256);r[6]=r[6]&15|64,r[8]=r[8]&63|128;let e=[];return r.forEach(M=>{e.push(M.toString(16).padStart(2,"0"))}),e.slice(0,4).join("")+"-"+e.slice(4,6).join("")+"-"+e.slice(6,8).join("")+"-"+e.slice(8,10).join("")+"-"+e.slice(10).join("")};async function Pr(r,e,M,tr){if(!M||M.length===0)return e;tr=tr??r;let rr=[];try{await r.execProtocol(k$1.parse({text:e}),{syncToFs:!1}),rr.push(...(await r.execProtocol(k$1.describe({type:"S"}),{syncToFs:!1})).messages)}finally{rr.push(...(await r.execProtocol(k$1.sync(),{syncToFs:!1})).messages)}let ir=De(rr),lr=e.replace(/\$([0-9]+)/g,(dr,mr)=>"%"+mr+"L");return(await tr.query(`SELECT format($1, ${M.map((dr,mr)=>`$${mr+2}`).join(", ")}) as query`,[lr,...M],{paramTypes:[V,...ir]})).rows[0].query}function Ur(r){let e,M=!1,tr=async()=>{if(!e){M=!1;return}M=!0;let{args:rr,resolve:ir,reject:lr}=e;e=void 0;try{let dr=await r(...rr);ir(dr)}catch(dr){lr(dr)}finally{tr()}};return async(...rr)=>{e&&e.resolve(void 0);let ir=new Promise((lr,dr)=>{e={args:rr,resolve:lr,reject:dr}});return M||tr(),ir}}function Nr(r){let e;return r.startsWith('"')&&r.endsWith('"')?e=r.substring(1,r.length-1):e=r.toLowerCase(),e}u();var o={part:"part",container:"container"};function s(r,e,...M){let tr=r.length-1,rr=M.length-1;if(rr!==-1){if(rr===0){r[tr]=r[tr]+M[0]+e;return}r[tr]=r[tr]+M[0],r.push(...M.slice(1,rr)),r.push(M[rr]+e)}}function y$1(r,...e){let M=[r[0]];M.raw=[r.raw[0]];let tr=[];for(let rr=0;rr<e.length;rr++){let ir=e[rr],lr=rr+1;if(ir?._templateType===o.part){s(M,r[lr],ir.str),s(M.raw,r.raw[lr],ir.str);continue}if(ir?._templateType===o.container){s(M,r[lr],...ir.strings),s(M.raw,r.raw[lr],...ir.strings.raw),tr.push(...ir.values);continue}M.push(r[lr]),M.raw.push(r.raw[lr]),tr.push(ir)}return{_templateType:"container",strings:M,values:tr}}function g$1(r,...e){let{strings:M,values:tr}=y$1(r,...e);return{query:[M[0],...tr.flatMap((rr,ir)=>[`$${ir+1}`,M[ir+1]])].join(""),params:tr}}u();u();function E(r){let e=r.e;return e.query=r.query,e.params=r.params,e.queryOptions=r.options,e}var T,p,t,y,x$1,h,O$1,k=class{constructor(){R$1(this,t),this.serializers={...cn},this.parsers={...ln},R$1(this,T,!1),R$1(this,p,!1)}async _initArrayTypes({force:r=!1}={}){if(h$1(this,T)&&!r)return;x$3(this,T,!0);let e=await this.query(`
156
+ SELECT b.oid, b.typarray
157
+ FROM pg_catalog.pg_type a
158
+ LEFT JOIN pg_catalog.pg_type b ON b.oid = a.typelem
159
+ WHERE a.typcategory = 'A'
160
+ GROUP BY b.oid, b.typarray
161
+ ORDER BY b.oid
162
+ `);for(let M of e.rows)this.serializers[M.typarray]=tr=>Ke$1(tr,this.serializers[M.oid],M.typarray),this.parsers[M.typarray]=tr=>yn(tr,this.parsers[M.oid],M.typarray)}async refreshArrayTypes(){await this._initArrayTypes({force:!0})}async query(r,e,M){return await this._checkReady(),await this._runExclusiveTransaction(async()=>await T$2(this,t,x$1).call(this,r,e,M))}async sql(r,...e){let{query:M,params:tr}=g$1(r,...e);return await this.query(M,tr)}async exec(r,e){return await this._checkReady(),await this._runExclusiveTransaction(async()=>await T$2(this,t,h).call(this,r,e))}async describeQuery(r,e){let M=[];try{await T$2(this,t,y).call(this,k$1.parse({text:r,types:e?.paramTypes}),e),M=await T$2(this,t,y).call(this,k$1.describe({type:"S"}),e)}catch(dr){throw dr instanceof C$2?E({e:dr,options:e,params:void 0,query:r}):dr}finally{M.push(...await T$2(this,t,y).call(this,k$1.sync(),e))}let tr=M.find(dr=>dr.name==="parameterDescription"),rr=M.find(dr=>dr.name==="rowDescription"),ir=tr?.dataTypeIDs.map(dr=>({dataTypeID:dr,serializer:this.serializers[dr]}))??[],lr=rr?.fields.map(dr=>({name:dr.name,dataTypeID:dr.dataTypeID,parser:this.parsers[dr.dataTypeID]}))??[];return{queryParams:ir,resultFields:lr}}async transaction(r){return await this._checkReady(),await this._runExclusiveTransaction(async()=>{await T$2(this,t,h).call(this,"BEGIN"),x$3(this,p,!0);let e=!1,M=()=>{if(e)throw new Error("Transaction is closed")},tr={query:async(rr,ir,lr)=>(M(),await T$2(this,t,x$1).call(this,rr,ir,lr)),sql:async(rr,...ir)=>{let{query:lr,params:dr}=g$1(rr,...ir);return await T$2(this,t,x$1).call(this,lr,dr)},exec:async(rr,ir)=>(M(),await T$2(this,t,h).call(this,rr,ir)),rollback:async()=>{M(),await T$2(this,t,h).call(this,"ROLLBACK"),e=!0},listen:async(rr,ir)=>(M(),await this.listen(rr,ir,tr)),get closed(){return e}};try{let rr=await r(tr);return e||(e=!0,await T$2(this,t,h).call(this,"COMMIT")),x$3(this,p,!1),rr}catch(rr){throw e||await T$2(this,t,h).call(this,"ROLLBACK"),x$3(this,p,!1),rr}})}async runExclusive(r){return await this._runExclusiveQuery(r)}};T=new WeakMap,p=new WeakMap,t=new WeakSet,y=async function(r,e={}){return await this.execProtocolStream(r,{...e,syncToFs:!1})},x$1=async function(r,e=[],M){return await this._runExclusiveQuery(async()=>{T$2(this,t,O$1).call(this,"runQuery",r,e,M),await this._handleBlob(M?.blob);let tr=[];try{let ir=await T$2(this,t,y).call(this,k$1.parse({text:r,types:M?.paramTypes}),M),lr=De(await T$2(this,t,y).call(this,k$1.describe({type:"S"}),M)),dr=e.map((mr,hr)=>{let fr=lr[hr];if(mr==null)return null;let _r=M?.serializers?.[fr]??this.serializers[fr];return _r?_r(mr):mr.toString()});tr=[...ir,...await T$2(this,t,y).call(this,k$1.bind({values:dr}),M),...await T$2(this,t,y).call(this,k$1.describe({type:"P"}),M),...await T$2(this,t,y).call(this,k$1.execute({}),M)]}catch(ir){throw ir instanceof C$2?E({e:ir,options:M,params:e,query:r}):ir}finally{tr.push(...await T$2(this,t,y).call(this,k$1.sync(),M))}await this._cleanupBlob(),h$1(this,p)||await this.syncToFs();let rr=await this._getWrittenBlob();return bn(tr,this.parsers,M,rr)[0]})},h=async function(r,e){return await this._runExclusiveQuery(async()=>{T$2(this,t,O$1).call(this,"runExec",r,e),await this._handleBlob(e?.blob);let M=[];try{M=await T$2(this,t,y).call(this,k$1.query(r),e)}catch(rr){throw rr instanceof C$2?E({e:rr,options:e,params:void 0,query:r}):rr}finally{M.push(...await T$2(this,t,y).call(this,k$1.sync(),e))}this._cleanupBlob(),h$1(this,p)||await this.syncToFs();let tr=await this._getWrittenBlob();return bn(M,this.parsers,e,tr)})},O$1=function(...r){this.debug>0&&console.log(...r)};var w=D$1((r,e)=>{u();var M=9007199254740991,tr=(function(Mr){return Mr})();function rr(Mr){return Mr===tr}function ir(Mr){return typeof Mr=="string"||Object.prototype.toString.call(Mr)=="[object String]"}function lr(Mr){return Object.prototype.toString.call(Mr)=="[object Date]"}function dr(Mr){return Mr!==null&&typeof Mr=="object"}function mr(Mr){return typeof Mr=="function"}function hr(Mr){return typeof Mr=="number"&&Mr>-1&&Mr%1==0&&Mr<=M}function fr(Mr){return Object.prototype.toString.call(Mr)=="[object Array]"}function _r(Mr){return dr(Mr)&&!mr(Mr)&&hr(Mr.length)}function gr(Mr){return Object.prototype.toString.call(Mr)=="[object ArrayBuffer]"}function br(Mr,Sr){return Array.prototype.map.call(Mr,Sr)}function wr(Mr,Sr){var yr=tr;return mr(Sr)&&Array.prototype.every.call(Mr,function(Ar,Dr,Ir){var Lr=Sr(Ar,Dr,Ir);return Lr&&(yr=Ar),!Lr}),yr}function xr(Mr){return Object.assign.apply(null,arguments)}function vr(Mr){var Sr,yr,Ar;if(ir(Mr)){for(yr=Mr.length,Ar=new Uint8Array(yr),Sr=0;Sr<yr;Sr++)Ar[Sr]=Mr.charCodeAt(Sr)&255;return Ar}return gr(Mr)?new Uint8Array(Mr):dr(Mr)&&gr(Mr.buffer)?new Uint8Array(Mr.buffer):_r(Mr)?new Uint8Array(Mr):dr(Mr)&&mr(Mr.toString)?vr(Mr.toString()):new Uint8Array}e.exports.MAX_SAFE_INTEGER=M,e.exports.isUndefined=rr,e.exports.isString=ir,e.exports.isObject=dr,e.exports.isDateTime=lr,e.exports.isFunction=mr,e.exports.isArray=fr,e.exports.isArrayLike=_r,e.exports.isArrayBuffer=gr,e.exports.map=br,e.exports.find=wr,e.exports.extend=xr,e.exports.toUint8Array=vr}),x=D$1((r,e)=>{u();var M="\0";e.exports={NULL_CHAR:M,TMAGIC:"ustar"+M+"00",OLDGNU_MAGIC:"ustar "+M,REGTYPE:0,LNKTYPE:1,SYMTYPE:2,CHRTYPE:3,BLKTYPE:4,DIRTYPE:5,FIFOTYPE:6,CONTTYPE:7,TSUID:parseInt("4000",8),TSGID:parseInt("2000",8),TSVTX:parseInt("1000",8),TUREAD:parseInt("0400",8),TUWRITE:parseInt("0200",8),TUEXEC:parseInt("0100",8),TGREAD:parseInt("0040",8),TGWRITE:parseInt("0020",8),TGEXEC:parseInt("0010",8),TOREAD:parseInt("0004",8),TOWRITE:parseInt("0002",8),TOEXEC:parseInt("0001",8),TPERMALL:parseInt("0777",8),TPERMMASK:parseInt("0777",8)}}),L$1=D$1((r,e)=>{u();var M=w(),tr=x(),rr=512,ir=tr.TPERMALL,lr=0,dr=0,mr=[["name",100,0,function(Sr,yr){return _r(Sr[yr[0]],yr[1])},function(Sr,yr,Ar){return wr(Sr.slice(yr,yr+Ar[1]))}],["mode",8,100,function(Sr,yr){var Ar=Sr[yr[0]]||ir;return Ar=Ar&tr.TPERMMASK,gr(Ar,yr[1],ir)},function(Sr,yr,Ar){var Dr=xr(Sr.slice(yr,yr+Ar[1]));return Dr&=tr.TPERMMASK,Dr}],["uid",8,108,function(Sr,yr){return gr(Sr[yr[0]],yr[1],lr)},function(Sr,yr,Ar){return xr(Sr.slice(yr,yr+Ar[1]))}],["gid",8,116,function(Sr,yr){return gr(Sr[yr[0]],yr[1],dr)},function(Sr,yr,Ar){return xr(Sr.slice(yr,yr+Ar[1]))}],["size",12,124,function(Sr,yr){return gr(Sr.data.length,yr[1])},function(Sr,yr,Ar){return xr(Sr.slice(yr,yr+Ar[1]))}],["modifyTime",12,136,function(Sr,yr){return br(Sr[yr[0]],yr[1])},function(Sr,yr,Ar){return vr(Sr.slice(yr,yr+Ar[1]))}],["checksum",8,148,function(Sr,yr){return" "},function(Sr,yr,Ar){return xr(Sr.slice(yr,yr+Ar[1]))}],["type",1,156,function(Sr,yr){return""+(parseInt(Sr[yr[0]],10)||0)%8},function(Sr,yr,Ar){return(parseInt(String.fromCharCode(Sr[yr]),10)||0)%8}],["linkName",100,157,function(Sr,yr){return""},function(Sr,yr,Ar){return wr(Sr.slice(yr,yr+Ar[1]))}],["ustar",8,257,function(Sr,yr){return tr.TMAGIC},function(Sr,yr,Ar){return fr(wr(Sr.slice(yr,yr+Ar[1]),!0))},function(Sr,yr){return Sr[yr[0]]==tr.TMAGIC||Sr[yr[0]]==tr.OLDGNU_MAGIC}],["owner",32,265,function(Sr,yr){return _r(Sr[yr[0]],yr[1])},function(Sr,yr,Ar){return wr(Sr.slice(yr,yr+Ar[1]))}],["group",32,297,function(Sr,yr){return _r(Sr[yr[0]],yr[1])},function(Sr,yr,Ar){return wr(Sr.slice(yr,yr+Ar[1]))}],["majorNumber",8,329,function(Sr,yr){return""},function(Sr,yr,Ar){return xr(Sr.slice(yr,yr+Ar[1]))}],["minorNumber",8,337,function(Sr,yr){return""},function(Sr,yr,Ar){return xr(Sr.slice(yr,yr+Ar[1]))}],["prefix",131,345,function(Sr,yr){return _r(Sr[yr[0]],yr[1])},function(Sr,yr,Ar){return wr(Sr.slice(yr,yr+Ar[1]))}],["accessTime",12,476,function(Sr,yr){return br(Sr[yr[0]],yr[1])},function(Sr,yr,Ar){return vr(Sr.slice(yr,yr+Ar[1]))}],["createTime",12,488,function(Sr,yr){return br(Sr[yr[0]],yr[1])},function(Sr,yr,Ar){return vr(Sr.slice(yr,yr+Ar[1]))}]],hr=(function(Sr){var yr=Sr[Sr.length-1];return yr[2]+yr[1]})(mr);function fr(Sr){if(Sr.length==8){var yr=Sr.split("");if(yr[5]==tr.NULL_CHAR)return(yr[6]==" "||yr[6]==tr.NULL_CHAR)&&(yr[6]="0"),(yr[7]==" "||yr[7]==tr.NULL_CHAR)&&(yr[7]="0"),yr=yr.join(""),yr==tr.TMAGIC?yr:Sr;if(yr[7]==tr.NULL_CHAR)return yr[5]==tr.NULL_CHAR&&(yr[5]=" "),yr[6]==tr.NULL_CHAR&&(yr[6]=" "),yr==tr.OLDGNU_MAGIC?yr:Sr}return Sr}function _r(Sr,yr){return yr-=1,M.isUndefined(Sr)&&(Sr=""),Sr=(""+Sr).substr(0,yr),Sr+tr.NULL_CHAR}function gr(Sr,yr,Ar){for(Ar=parseInt(Ar)||0,yr-=1,Sr=(parseInt(Sr)||Ar).toString(8).substr(-yr,yr);Sr.length<yr;)Sr="0"+Sr;return Sr+tr.NULL_CHAR}function br(Sr,yr){if(M.isDateTime(Sr))Sr=Math.floor(1*Sr/1e3);else if(Sr=parseInt(Sr,10),isFinite(Sr)){if(Sr<=0)return""}else Sr=Math.floor(1*new Date/1e3);return gr(Sr,yr,0)}function wr(Sr,yr){var Ar=String.fromCharCode.apply(null,Sr);if(yr)return Ar;var Dr=Ar.indexOf(tr.NULL_CHAR);return Dr>=0?Ar.substr(0,Dr):Ar}function xr(Sr){var yr=String.fromCharCode.apply(null,Sr);return parseInt(yr.replace(/^0+$/g,""),8)||0}function vr(Sr){return Sr.length==0||Sr[0]==0?null:new Date(1e3*xr(Sr))}function Mr(Sr,yr,Ar){var Dr=parseInt(yr,10)||0,Ir=Math.min(Dr+hr,Sr.length),Lr=0,Gr=0,Or=0;Ar&&mr.every(function(Fr){return Fr[0]=="checksum"?(Gr=Dr+Fr[2],Or=Gr+Fr[1],!1):!0});for(var Qr=32,$n=Dr;$n<Ir;$n++){var zr=$n>=Gr&&$n<Or?Qr:Sr[$n];Lr=(Lr+zr)%262144}return Lr}e.exports.recordSize=rr,e.exports.defaultFileMode=ir,e.exports.defaultUid=lr,e.exports.defaultGid=dr,e.exports.posixHeader=mr,e.exports.effectiveHeaderSize=hr,e.exports.calculateChecksum=Mr,e.exports.formatTarString=_r,e.exports.formatTarNumber=gr,e.exports.formatTarDateTime=br,e.exports.parseTarString=wr,e.exports.parseTarNumber=xr,e.exports.parseTarDateTime=vr}),er=D$1((r,e)=>{u();var M=x(),tr=w(),rr=L$1();function ir(_r){return rr.recordSize}function lr(_r){return Math.ceil(_r.data.length/rr.recordSize)*rr.recordSize}function dr(_r){var gr=0;return _r.forEach(function(br){gr+=ir()+lr(br)}),gr+=rr.recordSize*2,new Uint8Array(gr)}function mr(_r,gr,br){br=parseInt(br)||0;var wr=br;rr.posixHeader.forEach(function(yr){for(var Ar=yr[3](gr,yr),Dr=Ar.length,Ir=0;Ir<Dr;Ir+=1)_r[wr+Ir]=Ar.charCodeAt(Ir)&255;wr+=yr[1]});var xr=tr.find(rr.posixHeader,function(yr){return yr[0]=="checksum"});if(xr){var vr=rr.calculateChecksum(_r,br,!0),Mr=rr.formatTarNumber(vr,xr[1]-2)+M.NULL_CHAR+" ";wr=br+xr[2];for(var Sr=0;Sr<Mr.length;Sr+=1)_r[wr]=Mr.charCodeAt(Sr)&255,wr++}return br+ir()}function hr(_r,gr,br){return br=parseInt(br,10)||0,_r.set(gr.data,br),br+lr(gr)}function fr(_r){_r=tr.map(_r,function(wr){return tr.extend({},wr,{data:tr.toUint8Array(wr.data)})});var gr=dr(_r),br=0;return _r.forEach(function(wr){br=mr(gr,wr,br),br=hr(gr,wr,br)}),gr}e.exports.tar=fr}),nr=D$1((r,e)=>{u();var M=x(),tr=w(),rr=L$1(),ir={extractData:!0,checkHeader:!0,checkChecksum:!0,checkFileSize:!0},lr={size:!0,checksum:!0,ustar:!0},dr={unexpectedEndOfFile:"Unexpected end of file.",fileCorrupted:"File is corrupted.",checksumCheckFailed:"Checksum check failed."};function mr(xr){return rr.recordSize}function hr(xr){return Math.ceil(xr/rr.recordSize)*rr.recordSize}function fr(xr,vr){for(var Mr=vr,Sr=Math.min(xr.length,vr+rr.recordSize*2),yr=Mr;yr<Sr;yr++)if(xr[yr]!=0)return!1;return!0}function _r(xr,vr,Mr){if(xr.length-vr<rr.recordSize){if(Mr.checkFileSize)throw new Error(dr.unexpectedEndOfFile);return null}vr=parseInt(vr)||0;var Sr={},yr=vr;if(rr.posixHeader.forEach(function(Ir){Sr[Ir[0]]=Ir[4](xr,yr,Ir),yr+=Ir[1]}),Sr.type!=0&&(Sr.size=0),Mr.checkHeader&&rr.posixHeader.forEach(function(Ir){if(tr.isFunction(Ir[5])&&!Ir[5](Sr,Ir)){var Lr=new Error(dr.fileCorrupted);throw Lr.data={offset:vr+Ir[2],field:Ir[0]},Lr}}),Mr.checkChecksum){var Ar=rr.calculateChecksum(xr,vr,!0);if(Ar!=Sr.checksum){var Dr=new Error(dr.checksumCheckFailed);throw Dr.data={offset:vr,header:Sr,checksum:Ar},Dr}}return Sr}function gr(xr,vr,Mr,Sr){return Sr.extractData?Mr.size<=0?new Uint8Array:xr.slice(vr,vr+Mr.size):null}function br(xr,vr){var Mr={};return rr.posixHeader.forEach(function(Sr){var yr=Sr[0];lr[yr]||(Mr[yr]=xr[yr])}),Mr.isOldGNUFormat=xr.ustar==M.OLDGNU_MAGIC,vr&&(Mr.data=vr),Mr}function wr(xr,vr){vr=tr.extend({},ir,vr);for(var Mr=[],Sr=0,yr=xr.length;yr-Sr>=rr.recordSize;){xr=tr.toUint8Array(xr);var Ar=_r(xr,Sr,vr);if(!Ar)break;Sr+=mr();var Dr=gr(xr,Sr,Ar,vr);if(Mr.push(br(Ar,Dr)),Sr+=hr(Ar.size),fr(xr,Sr))break}return Mr}e.exports.untar=wr}),or$2=D$1((r,e)=>{u();var M=w(),tr=x(),rr=er(),ir=nr();M.extend(e.exports,rr,ir,tr)});u();u();var g=L$3(or$2());async function H(r,e,M="pgdata",tr="auto"){let rr=Br(r,e),[ir,lr]=await qr(rr,tr),dr=M+(lr?".tar.gz":".tar"),mr=lr?"application/x-gzip":"application/x-tar";return typeof File<"u"?new File([ir],dr,{type:mr}):new Blob([ir],{type:mr})}var Hr=["application/x-gtar","application/x-tar+gzip","application/x-gzip","application/gzip"];async function ce$1(r,e,M){let tr=new Uint8Array(await e.arrayBuffer()),rr=typeof File<"u"&&e instanceof File?e.name:void 0;(Hr.includes(e.type)||rr?.endsWith(".tgz")||rr?.endsWith(".tar.gz"))&&(tr=await ar(tr));let ir;try{ir=(0,g.untar)(tr)}catch(lr){if(lr instanceof Error&&lr.message.includes("File is corrupted"))tr=await ar(tr),ir=(0,g.untar)(tr);else throw lr}for(let lr of ir){let dr=M+lr.name,mr=dr.split("/").slice(0,-1);for(let hr=1;hr<=mr.length;hr++){let fr=mr.slice(0,hr).join("/");r.analyzePath(fr).exists||r.mkdir(fr)}lr.type===g.REGTYPE?(r.writeFile(dr,lr.data),r.utime(dr,sr(lr.modifyTime),sr(lr.modifyTime))):lr.type===g.DIRTYPE&&r.mkdir(dr)}}function jr(r,e){let M=[],tr=rr=>{r.readdir(rr).forEach(ir=>{if(ir==="."||ir==="..")return;let lr=rr+"/"+ir,dr=r.stat(lr),mr=r.isFile(dr.mode)?r.readFile(lr,{encoding:"binary"}):new Uint8Array(0);M.push({name:lr.substring(e.length),mode:dr.mode,size:dr.size,type:r.isFile(dr.mode)?g.REGTYPE:g.DIRTYPE,modifyTime:dr.mtime,data:mr}),r.isDir(dr.mode)&&tr(lr)})};return tr(e),M}function Br(r,e){let M=jr(r,e);return(0,g.tar)(M)}async function qr(r,e="auto"){if(e==="none")return[r,!1];if(typeof CompressionStream<"u")return[await Yr(r),!0];if(typeof process$1<"u"&&process$1.versions&&process$1.versions.node)return[await Wr(r),!0];if(e==="auto")return[r,!1];throw new Error("Compression not supported in this environment")}async function Yr(r){let e=new CompressionStream("gzip"),M=e.writable.getWriter(),tr=e.readable.getReader();M.write(r),M.close();let rr=[];for(;;){let{value:dr,done:mr}=await tr.read();if(mr)break;dr&&rr.push(dr)}let ir=new Uint8Array(rr.reduce((dr,mr)=>dr+mr.length,0)),lr=0;return rr.forEach(dr=>{ir.set(dr,lr),lr+=dr.length}),ir}async function Wr(r){let{promisify:e}=await __vitePreload(()=>import("./__vite-browser-external-D7Ct-6yo.js").then(tr=>tr._),[]),{gzip:M}=await __vitePreload(async()=>{const{gzip:tr}=await import("./__vite-browser-external-D7Ct-6yo.js").then(rr=>rr._);return{gzip:tr}},[]);return await e(M)(r)}async function ar(r){if(typeof CompressionStream<"u")return await Xr(r);if(typeof process$1<"u"&&process$1.versions&&process$1.versions.node)return await Kr(r);throw new Error("Unsupported environment for decompression")}async function Xr(r){let e=new DecompressionStream("gzip"),M=e.writable.getWriter(),tr=e.readable.getReader();M.write(r),M.close();let rr=[];for(;;){let{value:dr,done:mr}=await tr.read();if(mr)break;dr&&rr.push(dr)}let ir=new Uint8Array(rr.reduce((dr,mr)=>dr+mr.length,0)),lr=0;return rr.forEach(dr=>{ir.set(dr,lr),lr+=dr.length}),ir}async function Kr(r){let{promisify:e}=await __vitePreload(()=>import("./__vite-browser-external-D7Ct-6yo.js").then(tr=>tr._),[]),{gunzip:M}=await __vitePreload(async()=>{const{gunzip:tr}=await import("./__vite-browser-external-D7Ct-6yo.js").then(rr=>rr._);return{gunzip:tr}},[]);return await e(M)(r)}function sr(r){return r?typeof r=="number"?r:Math.floor(r.getTime()/1e3):Math.floor(Date.now()/1e3)}var Vr="/tmp/pglite",C$1=Vr+"/base",ur=class{constructor(r){this.dataDir=r}async init(r,e){return this.pg=r,{emscriptenOpts:e}}async syncToFs(r){}async initialSyncFs(){}async closeFs(){}async dumpTar(r,e){return H(this.pg.Module.FS,C$1,r,e)}},cr=class{constructor(r,{debug:e=!1}={}){this.dataDir=r,this.debug=e}async syncToFs(r){}async initialSyncFs(){}async closeFs(){}async dumpTar(r,e){return H(this.pg.Module.FS,C$1,r,e)}async init(r,e){return this.pg=r,{emscriptenOpts:{...e,preRun:[...e.preRun||[],M=>{let tr=Zr(M,this);M.FS.mkdir(C$1),M.FS.mount(tr,{},C$1)}]}}}},pr={EBADF:8,EBADFD:127,EEXIST:20,EINVAL:28,EISDIR:31,ENODEV:43,ENOENT:44,ENOTDIR:54,ENOTEMPTY:55},Zr=(r,e)=>{let M=r.FS,tr=e.debug?console.log:null,rr={tryFSOperation(ir){try{return ir()}catch(lr){throw lr.code?lr.code==="UNKNOWN"?new M.ErrnoError(pr.EINVAL):new M.ErrnoError(lr.code):lr}},mount(ir){return rr.createNode(null,"/",16895,0)},syncfs(ir,lr,dr){},createNode(ir,lr,dr,mr){if(!M.isDir(dr)&&!M.isFile(dr))throw new M.ErrnoError(28);let hr=M.createNode(ir,lr,dr);return hr.node_ops=rr.node_ops,hr.stream_ops=rr.stream_ops,hr},getMode:function(ir){return tr?.("getMode",ir),rr.tryFSOperation(()=>e.lstat(ir).mode)},realPath:function(ir){let lr=[];for(;ir.parent!==ir;)lr.push(ir.name),ir=ir.parent;return lr.push(ir.mount.opts.root),lr.reverse(),lr.join("/")},node_ops:{getattr(ir){tr?.("getattr",rr.realPath(ir));let lr=rr.realPath(ir);return rr.tryFSOperation(()=>{let dr=e.lstat(lr);return{...dr,dev:0,ino:ir.id,nlink:1,rdev:ir.rdev,atime:new Date(dr.atime),mtime:new Date(dr.mtime),ctime:new Date(dr.ctime)}})},setattr(ir,lr){tr?.("setattr",rr.realPath(ir),lr);let dr=rr.realPath(ir);rr.tryFSOperation(()=>{lr.mode!==void 0&&e.chmod(dr,lr.mode),lr.size!==void 0&&e.truncate(dr,lr.size),lr.timestamp!==void 0&&e.utimes(dr,lr.timestamp,lr.timestamp),lr.size!==void 0&&e.truncate(dr,lr.size)})},lookup(ir,lr){tr?.("lookup",rr.realPath(ir),lr);let dr=[rr.realPath(ir),lr].join("/"),mr=rr.getMode(dr);return rr.createNode(ir,lr,mr)},mknod(ir,lr,dr,mr){tr?.("mknod",rr.realPath(ir),lr,dr,mr);let hr=rr.createNode(ir,lr,dr,mr),fr=rr.realPath(hr);return rr.tryFSOperation(()=>(M.isDir(hr.mode)?e.mkdir(fr,{mode:dr}):e.writeFile(fr,"",{mode:dr}),hr))},rename(ir,lr,dr){tr?.("rename",rr.realPath(ir),rr.realPath(lr),dr);let mr=rr.realPath(ir),hr=[rr.realPath(lr),dr].join("/");rr.tryFSOperation(()=>{e.rename(mr,hr)}),ir.name=dr},unlink(ir,lr){tr?.("unlink",rr.realPath(ir),lr);let dr=[rr.realPath(ir),lr].join("/");try{e.unlink(dr)}catch{}},rmdir(ir,lr){tr?.("rmdir",rr.realPath(ir),lr);let dr=[rr.realPath(ir),lr].join("/");return rr.tryFSOperation(()=>{e.rmdir(dr)})},readdir(ir){tr?.("readdir",rr.realPath(ir));let lr=rr.realPath(ir);return rr.tryFSOperation(()=>e.readdir(lr))},symlink(ir,lr,dr){throw tr?.("symlink",rr.realPath(ir),lr,dr),new M.ErrnoError(63)},readlink(ir){throw tr?.("readlink",rr.realPath(ir)),new M.ErrnoError(63)}},stream_ops:{open(ir){tr?.("open stream",rr.realPath(ir.node));let lr=rr.realPath(ir.node);return rr.tryFSOperation(()=>{M.isFile(ir.node.mode)&&(ir.shared.refcount=1,ir.nfd=e.open(lr))})},close(ir){return tr?.("close stream",rr.realPath(ir.node)),rr.tryFSOperation(()=>{M.isFile(ir.node.mode)&&ir.nfd&&--ir.shared.refcount===0&&e.close(ir.nfd)})},dup(ir){tr?.("dup stream",rr.realPath(ir.node)),ir.shared.refcount++},read(ir,lr,dr,mr,hr){return tr?.("read stream",rr.realPath(ir.node),dr,mr,hr),mr===0?0:rr.tryFSOperation(()=>e.read(ir.nfd,lr,dr,mr,hr))},write(ir,lr,dr,mr,hr){return tr?.("write stream",rr.realPath(ir.node),dr,mr,hr),rr.tryFSOperation(()=>e.write(ir.nfd,lr.buffer,dr,mr,hr))},llseek(ir,lr,dr){tr?.("llseek stream",rr.realPath(ir.node),lr,dr);let mr=lr;if(dr===1?mr+=ir.position:dr===2&&M.isFile(ir.node.mode)&&rr.tryFSOperation(()=>{let hr=e.fstat(ir.nfd);mr+=hr.size}),mr<0)throw new M.ErrnoError(28);return mr},mmap(ir,lr,dr,mr,hr){if(tr?.("mmap stream",rr.realPath(ir.node),lr,dr,mr,hr),!M.isFile(ir.node.mode))throw new M.ErrnoError(pr.ENODEV);let fr=r.mmapAlloc(lr);return rr.stream_ops.read(ir,r.HEAP8,fr,lr,dr),{ptr:fr,allocated:!0}},msync(ir,lr,dr,mr,hr){return tr?.("msync stream",rr.realPath(ir.node),dr,mr,hr),rr.stream_ops.write(ir,lr,0,mr,dr),0}}};return rr};u();u();u();var st=new Error("request for lock canceled"),nt=function(r,e,M,tr){function rr(ir){return ir instanceof M?ir:new M(function(lr){lr(ir)})}return new(M||(M=Promise))(function(ir,lr){function dr(fr){try{hr(tr.next(fr))}catch(_r){lr(_r)}}function mr(fr){try{hr(tr.throw(fr))}catch(_r){lr(_r)}}function hr(fr){fr.done?ir(fr.value):rr(fr.value).then(dr,mr)}hr((tr=tr.apply(r,[])).next())})},Fe=class{constructor(r,e=st){this._value=r,this._cancelError=e,this._weightedQueues=[],this._weightedWaiters=[]}acquire(r=1){if(r<=0)throw new Error(`invalid weight ${r}: must be positive`);return new Promise((e,M)=>{this._weightedQueues[r-1]||(this._weightedQueues[r-1]=[]),this._weightedQueues[r-1].push({resolve:e,reject:M}),this._dispatch()})}runExclusive(r,e=1){return nt(this,void 0,void 0,function*(){let[M,tr]=yield this.acquire(e);try{return yield r(M)}finally{tr()}})}waitForUnlock(r=1){if(r<=0)throw new Error(`invalid weight ${r}: must be positive`);return new Promise(e=>{this._weightedWaiters[r-1]||(this._weightedWaiters[r-1]=[]),this._weightedWaiters[r-1].push(e),this._dispatch()})}isLocked(){return this._value<=0}getValue(){return this._value}setValue(r){this._value=r,this._dispatch()}release(r=1){if(r<=0)throw new Error(`invalid weight ${r}: must be positive`);this._value+=r,this._dispatch()}cancel(){this._weightedQueues.forEach(r=>r.forEach(e=>e.reject(this._cancelError))),this._weightedQueues=[]}_dispatch(){var r;for(let e=this._value;e>0;e--){let M=(r=this._weightedQueues[e-1])===null||r===void 0?void 0:r.shift();if(!M)continue;let tr=this._value,rr=e;this._value-=e,e=this._value+1,M.resolve([tr,this._newReleaser(rr)])}this._drainUnlockWaiters()}_newReleaser(r){let e=!1;return()=>{e||(e=!0,this.release(r))}}_drainUnlockWaiters(){for(let r=this._value;r>0;r--)this._weightedWaiters[r-1]&&(this._weightedWaiters[r-1].forEach(e=>e()),this._weightedWaiters[r-1]=[])}},it=function(r,e,M,tr){function rr(ir){return ir instanceof M?ir:new M(function(lr){lr(ir)})}return new(M||(M=Promise))(function(ir,lr){function dr(fr){try{hr(tr.next(fr))}catch(_r){lr(_r)}}function mr(fr){try{hr(tr.throw(fr))}catch(_r){lr(_r)}}function hr(fr){fr.done?ir(fr.value):rr(fr.value).then(dr,mr)}hr((tr=tr.apply(r,[])).next())})},Y=class{constructor(r){this._semaphore=new Fe(1,r)}acquire(){return it(this,void 0,void 0,function*(){let[,r]=yield this._semaphore.acquire();return r})}runExclusive(r){return this._semaphore.runExclusive(()=>r())}isLocked(){return this._semaphore.isLocked()}waitForUnlock(){return this._semaphore.waitForUnlock()}release(){this._semaphore.isLocked()&&this._semaphore.release()}cancel(){return this._semaphore.cancel()}};u();var Le=L$3(or$2());async function ke(r){if(Fe$1){let e=await __vitePreload(()=>import("./__vite-browser-external-D7Ct-6yo.js").then(dr=>dr._),[]),M=await __vitePreload(()=>import("./__vite-browser-external-D7Ct-6yo.js").then(dr=>dr._),[]),{Writable:tr}=await __vitePreload(async()=>{const{Writable:dr}=await import("./__vite-browser-external-D7Ct-6yo.js").then(mr=>mr._);return{Writable:dr}},[]),{pipeline:rr}=await __vitePreload(async()=>{const{pipeline:dr}=await import("./__vite-browser-external-D7Ct-6yo.js").then(mr=>mr._);return{pipeline:dr}},[]);if(!e.existsSync(r))throw new Error(`Extension bundle not found: ${r}`);let ir=M.createGunzip(),lr=[];return await rr(e.createReadStream(r),ir,new tr({write(dr,mr,hr){lr.push(dr),hr()}})),new Blob(lr)}else{let e=await fetch(r.toString());if(!e.ok||!e.body)return null;if(e.headers.get("Content-Encoding")==="gzip")return e.blob();{let M=new DecompressionStream("gzip");return new Response(e.body.pipeThrough(M)).blob()}}}async function Be(r,e){for(let M in r.pg_extensions){let tr;try{tr=await r.pg_extensions[M]}catch(rr){console.error("Failed to fetch extension:",M,rr);continue}if(tr){let rr=new Uint8Array(await tr.arrayBuffer());_t(r,M,rr,e)}else console.error("Could not get binary data for extension:",M)}}function _t(r,e,M,tr){Le.default.untar(M).forEach(rr=>{if(!rr.name.startsWith(".")){let ir=r.WASM_PREFIX+"/"+rr.name;if(rr.name.endsWith(".so")){let lr=(...mr)=>{tr("pgfs:ext OK",ir,mr)},dr=(...mr)=>{tr("pgfs:ext FAIL",ir,mr)};r.FS.createPreloadedFile(lt(ir),rr.name.split("/").pop().slice(0,-3),rr.data,!0,!0,lr,dr,!1)}else try{let lr=ir.substring(0,ir.lastIndexOf("/"));r.FS.analyzePath(lr).exists===!1&&r.FS.mkdirTree(lr),r.FS.writeFile(ir,rr.data)}catch(lr){console.error(`Error writing file ${ir}`,lr)}}})}function lt(r){let e=r.lastIndexOf("/");return e>0?r.slice(0,e):r}u();u();var ce=class extends ur{async init(r,e){return this.pg=r,{emscriptenOpts:{...e,preRun:[...e.preRun||[],M=>{let tr=M.FS.filesystems.IDBFS;M.FS.mkdir("/pglite"),M.FS.mkdir(`/pglite/${this.dataDir}`),M.FS.mount(tr,{},`/pglite/${this.dataDir}`),M.FS.symlink(`/pglite/${this.dataDir}`,C$1)}]}}}initialSyncFs(){return new Promise((r,e)=>{this.pg.Module.FS.syncfs(!0,M=>{M?e(M):r()})})}syncToFs(r){return new Promise((e,M)=>{this.pg.Module.FS.syncfs(!1,tr=>{tr?M(tr):e()})})}async closeFs(){let r=this.pg.Module.FS.filesystems.IDBFS.dbs[this.dataDir];r&&r.close(),this.pg.Module.FS.quit()}};u();var ge=class extends ur{async closeFs(){this.pg.Module.FS.quit()}};function Ge(r){let e;if(r?.startsWith("file://")){if(r=r.slice(7),!r)throw new Error("Invalid dataDir, must be a valid path");e="nodefs"}else r?.startsWith("idb://")?(r=r.slice(6),e="idbfs"):r?.startsWith("opfs-ahp://")?(r=r.slice(11),e="opfs-ahp"):!r||r?.startsWith("memory://")?e="memoryfs":e="nodefs";return{dataDir:r,fsType:e}}async function Ue(r,e){let M;if(r&&e==="nodefs"){let{NodeFS:tr}=await __vitePreload(()=>import("./nodefs-BP-sxN1O.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]));M=new tr(r)}else if(r&&e==="idbfs")M=new ce(r);else if(r&&e==="opfs-ahp"){let{OpfsAhpFS:tr}=await __vitePreload(()=>import("./opfs-ahp-DtmzPaVs.js"),__vite__mapDeps([9,1,2,3,4,5,6,7,8]));M=new tr(r)}else M=new ge;return M}u();u();var pt=(()=>{var _scriptName=import.meta.url;return async function(moduleArg={}){var moduleRtn,Module=moduleArg,readyPromiseResolve,readyPromiseReject,readyPromise=new Promise((r,e)=>{readyPromiseResolve=r,readyPromiseReject=e}),ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope<"u",ENVIRONMENT_IS_NODE=typeof process$1=="object"&&typeof process$1.versions=="object"&&typeof process$1.versions.node=="string"&&process$1.type!="renderer";if(ENVIRONMENT_IS_NODE){let{createRequire:r}=await __vitePreload(()=>import("./__vite-browser-external-D7Ct-6yo.js").then(M=>M._),[]),e=import.meta.url;e.startsWith("data:")&&(e="/");var require=r(e)}Module.expectedDataFileDownloads??(Module.expectedDataFileDownloads=0),Module.expectedDataFileDownloads++,(()=>{var r=typeof ENVIRONMENT_IS_PTHREAD<"u"&&ENVIRONMENT_IS_PTHREAD,e=typeof ENVIRONMENT_IS_WASM_WORKER<"u"&&ENVIRONMENT_IS_WASM_WORKER;if(r||e)return;var M=typeof process$1=="object"&&typeof process$1.versions=="object"&&typeof process$1.versions.node=="string";function tr(rr){typeof window=="object"?window.encodeURIComponent(window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/"):typeof process$1>"u"&&typeof location<"u"&&encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/");var ir="pglite.data",lr="pglite.data",dr=Module.locateFile?Module.locateFile(lr,""):lr,mr=rr.remote_package_size;function hr(wr,xr,vr,Mr){if(M){require("fs").readFile(wr,(Sr,yr)=>{Sr?Mr(Sr):vr(yr.buffer)});return}Module.dataFileDownloads??(Module.dataFileDownloads={}),fetch(wr).catch(Sr=>Promise.reject(new Error(`Network Error: ${wr}`,{cause:Sr}))).then(Sr=>{if(!Sr.ok)return Promise.reject(new Error(`${Sr.status}: ${Sr.url}`));if(!Sr.body&&Sr.arrayBuffer)return Sr.arrayBuffer().then(vr);let yr=Sr.body.getReader(),Ar=()=>yr.read().then(Or).catch(Qr=>Promise.reject(new Error(`Unexpected error while handling : ${Sr.url} ${Qr}`,{cause:Qr}))),Dr=[],Ir=Sr.headers,Lr=Number(Ir.get("Content-Length")??xr),Gr=0,Or=({done:Qr,value:$n})=>{if(Qr){let zr=new Uint8Array(Dr.map(kr=>kr.length).reduce((kr,$r)=>kr+$r,0)),Fr=0;for(let kr of Dr)zr.set(kr,Fr),Fr+=kr.length;vr(zr.buffer)}else{Dr.push($n),Gr+=$n.length,Module.dataFileDownloads[wr]={loaded:Gr,total:Lr};let zr=0,Fr=0;for(let kr of Object.values(Module.dataFileDownloads))zr+=kr.loaded,Fr+=kr.total;return Module.setStatus?.(`Downloading data... (${zr}/${Fr})`),Ar()}};return Module.setStatus?.("Downloading data..."),Ar()})}function fr(wr){console.error("package error:",wr)}var _r=null,gr=Module.getPreloadedPackage?Module.getPreloadedPackage(dr,mr):null;gr||hr(dr,mr,wr=>{_r?(_r(wr),_r=null):gr=wr},fr);function br(wr){function xr(Ar,Dr){if(!Ar)throw Dr+new Error().stack}wr.FS_createPath("/","home",!0,!0),wr.FS_createPath("/home","web_user",!0,!0),wr.FS_createPath("/","tmp",!0,!0),wr.FS_createPath("/tmp","pglite",!0,!0),wr.FS_createPath("/tmp/pglite","bin",!0,!0),wr.FS_createPath("/tmp/pglite","lib",!0,!0),wr.FS_createPath("/tmp/pglite/lib","postgresql",!0,!0),wr.FS_createPath("/tmp/pglite/lib/postgresql","pgxs",!0,!0),wr.FS_createPath("/tmp/pglite/lib/postgresql/pgxs","config",!0,!0),wr.FS_createPath("/tmp/pglite/lib/postgresql/pgxs","src",!0,!0),wr.FS_createPath("/tmp/pglite/lib/postgresql/pgxs/src","makefiles",!0,!0),wr.FS_createPath("/tmp/pglite","share",!0,!0),wr.FS_createPath("/tmp/pglite/share","postgresql",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql","extension",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql","timezone",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Africa",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone","America",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone/America","Argentina",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone/America","Indiana",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone/America","Kentucky",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone/America","North_Dakota",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Antarctica",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Arctic",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Asia",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Atlantic",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Australia",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Brazil",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Canada",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Chile",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Etc",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Europe",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Indian",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Mexico",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Pacific",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql/timezone","US",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql","timezonesets",!0,!0),wr.FS_createPath("/tmp/pglite/share/postgresql","tsearch_data",!0,!0);function vr(Ar,Dr,Ir){this.start=Ar,this.end=Dr,this.audio=Ir}vr.prototype={requests:{},open:function(Ar,Dr){this.name=Dr,this.requests[Dr]=this,wr.addRunDependency(`fp ${this.name}`)},send:function(){},onload:function(){var Ar=this.byteArray.subarray(this.start,this.end);this.finish(Ar)},finish:function(Ar){var Dr=this;wr.FS_createDataFile(this.name,null,Ar,!0,!0,!0),wr.removeRunDependency(`fp ${Dr.name}`),this.requests[this.name]=null}};for(var Mr=rr.files,Sr=0;Sr<Mr.length;++Sr)new vr(Mr[Sr].start,Mr[Sr].end,Mr[Sr].audio||0).open("GET",Mr[Sr].filename);function yr(Ar){xr(Ar,"Loading data file failed."),xr(Ar.constructor.name===ArrayBuffer.name,"bad input to processPackageData");var Dr=new Uint8Array(Ar);vr.prototype.byteArray=Dr;for(var Ir=rr.files,Lr=0;Lr<Ir.length;++Lr)vr.prototype.requests[Ir[Lr].filename].onload();wr.removeRunDependency("datafile_pglite.data")}wr.addRunDependency("datafile_pglite.data"),wr.preloadResults??(wr.preloadResults={}),wr.preloadResults[ir]={fromCache:!1},gr?(yr(gr),gr=null):_r=yr}Module.calledRun?br(Module):(Module.preRun??(Module.preRun=[])).push(br)}tr({files:[{filename:"/home/web_user/.pgpass",start:0,end:204},{filename:"/tmp/pglite/bin/initdb",start:204,end:223},{filename:"/tmp/pglite/bin/postgres",start:223,end:242},{filename:"/tmp/pglite/lib/postgresql/cyrillic_and_mic.so",start:242,end:4736},{filename:"/tmp/pglite/lib/postgresql/dict_snowball.so",start:4736,end:577939},{filename:"/tmp/pglite/lib/postgresql/euc2004_sjis2004.so",start:577939,end:580012},{filename:"/tmp/pglite/lib/postgresql/euc_cn_and_mic.so",start:580012,end:580953},{filename:"/tmp/pglite/lib/postgresql/euc_jp_and_sjis.so",start:580953,end:588213},{filename:"/tmp/pglite/lib/postgresql/euc_kr_and_mic.so",start:588213,end:589164},{filename:"/tmp/pglite/lib/postgresql/euc_tw_and_big5.so",start:589164,end:593722},{filename:"/tmp/pglite/lib/postgresql/latin2_and_win1250.so",start:593722,end:595128},{filename:"/tmp/pglite/lib/postgresql/latin_and_mic.so",start:595128,end:596149},{filename:"/tmp/pglite/lib/postgresql/libpqwalreceiver.so",start:596149,end:717020},{filename:"/tmp/pglite/lib/postgresql/pgoutput.so",start:717020,end:730469},{filename:"/tmp/pglite/lib/postgresql/pgxs/config/install-sh",start:730469,end:744466},{filename:"/tmp/pglite/lib/postgresql/pgxs/config/missing",start:744466,end:745814},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/Makefile.global",start:745814,end:782478},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/Makefile.port",start:782478,end:783331},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/Makefile.shlib",start:783331,end:798759},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/makefiles/pgxs.mk",start:798759,end:814724},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/nls-global.mk",start:814724,end:821592},{filename:"/tmp/pglite/lib/postgresql/plpgsql.so",start:821592,end:973259},{filename:"/tmp/pglite/lib/postgresql/utf8_and_big5.so",start:973259,end:1088007},{filename:"/tmp/pglite/lib/postgresql/utf8_and_cyrillic.so",start:1088007,end:1093981},{filename:"/tmp/pglite/lib/postgresql/utf8_and_euc2004.so",start:1093981,end:1298913},{filename:"/tmp/pglite/lib/postgresql/utf8_and_euc_cn.so",start:1298913,end:1374093},{filename:"/tmp/pglite/lib/postgresql/utf8_and_euc_jp.so",start:1374093,end:1525321},{filename:"/tmp/pglite/lib/postgresql/utf8_and_euc_kr.so",start:1525321,end:1628177},{filename:"/tmp/pglite/lib/postgresql/utf8_and_euc_tw.so",start:1628177,end:1827733},{filename:"/tmp/pglite/lib/postgresql/utf8_and_gb18030.so",start:1827733,end:2090110},{filename:"/tmp/pglite/lib/postgresql/utf8_and_gbk.so",start:2090110,end:2236642},{filename:"/tmp/pglite/lib/postgresql/utf8_and_iso8859.so",start:2236642,end:2260217},{filename:"/tmp/pglite/lib/postgresql/utf8_and_iso8859_1.so",start:2260217,end:2261189},{filename:"/tmp/pglite/lib/postgresql/utf8_and_johab.so",start:2261189,end:2422893},{filename:"/tmp/pglite/lib/postgresql/utf8_and_sjis.so",start:2422893,end:2504553},{filename:"/tmp/pglite/lib/postgresql/utf8_and_sjis2004.so",start:2504553,end:2631185},{filename:"/tmp/pglite/lib/postgresql/utf8_and_uhc.so",start:2631185,end:2798457},{filename:"/tmp/pglite/lib/postgresql/utf8_and_win.so",start:2798457,end:2824959},{filename:"/tmp/pglite/password",start:2824959,end:2824968},{filename:"/tmp/pglite/share/postgresql/errcodes.txt",start:2824968,end:2858360},{filename:"/tmp/pglite/share/postgresql/extension/plpgsql--1.0.sql",start:2858360,end:2859018},{filename:"/tmp/pglite/share/postgresql/extension/plpgsql.control",start:2859018,end:2859211},{filename:"/tmp/pglite/share/postgresql/information_schema.sql",start:2859211,end:2974734},{filename:"/tmp/pglite/share/postgresql/pg_hba.conf.sample",start:2974734,end:2980359},{filename:"/tmp/pglite/share/postgresql/pg_ident.conf.sample",start:2980359,end:2982999},{filename:"/tmp/pglite/share/postgresql/pg_service.conf.sample",start:2982999,end:2983603},{filename:"/tmp/pglite/share/postgresql/postgres.bki",start:2983603,end:3936871},{filename:"/tmp/pglite/share/postgresql/postgresql.conf.sample",start:3936871,end:3967533},{filename:"/tmp/pglite/share/postgresql/psqlrc.sample",start:3967533,end:3967811},{filename:"/tmp/pglite/share/postgresql/snowball_create.sql",start:3967811,end:4011987},{filename:"/tmp/pglite/share/postgresql/sql_features.txt",start:4011987,end:4047720},{filename:"/tmp/pglite/share/postgresql/system_constraints.sql",start:4047720,end:4056615},{filename:"/tmp/pglite/share/postgresql/system_functions.sql",start:4056615,end:4080918},{filename:"/tmp/pglite/share/postgresql/system_views.sql",start:4080918,end:4132612},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Abidjan",start:4132612,end:4132760},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Accra",start:4132760,end:4132908},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Addis_Ababa",start:4132908,end:4133173},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Algiers",start:4133173,end:4133908},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Asmara",start:4133908,end:4134173},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Asmera",start:4134173,end:4134438},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Bamako",start:4134438,end:4134586},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Bangui",start:4134586,end:4134821},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Banjul",start:4134821,end:4134969},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Bissau",start:4134969,end:4135163},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Blantyre",start:4135163,end:4135312},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Brazzaville",start:4135312,end:4135547},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Bujumbura",start:4135547,end:4135696},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Cairo",start:4135696,end:4138095},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Casablanca",start:4138095,end:4140524},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Ceuta",start:4140524,end:4142576},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Conakry",start:4142576,end:4142724},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Dakar",start:4142724,end:4142872},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Dar_es_Salaam",start:4142872,end:4143137},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Djibouti",start:4143137,end:4143402},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Douala",start:4143402,end:4143637},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/El_Aaiun",start:4143637,end:4145932},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Freetown",start:4145932,end:4146080},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Gaborone",start:4146080,end:4146229},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Harare",start:4146229,end:4146378},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Johannesburg",start:4146378,end:4146624},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Juba",start:4146624,end:4147303},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Kampala",start:4147303,end:4147568},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Khartoum",start:4147568,end:4148247},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Kigali",start:4148247,end:4148396},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Kinshasa",start:4148396,end:4148631},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Lagos",start:4148631,end:4148866},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Libreville",start:4148866,end:4149101},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Lome",start:4149101,end:4149249},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Luanda",start:4149249,end:4149484},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Lubumbashi",start:4149484,end:4149633},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Lusaka",start:4149633,end:4149782},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Malabo",start:4149782,end:4150017},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Maputo",start:4150017,end:4150166},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Maseru",start:4150166,end:4150412},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Mbabane",start:4150412,end:4150658},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Mogadishu",start:4150658,end:4150923},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Monrovia",start:4150923,end:4151131},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Nairobi",start:4151131,end:4151396},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Ndjamena",start:4151396,end:4151595},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Niamey",start:4151595,end:4151830},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Nouakchott",start:4151830,end:4151978},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Ouagadougou",start:4151978,end:4152126},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Porto-Novo",start:4152126,end:4152361},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Sao_Tome",start:4152361,end:4152615},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Timbuktu",start:4152615,end:4152763},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Tripoli",start:4152763,end:4153388},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Tunis",start:4153388,end:4154077},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Windhoek",start:4154077,end:4155032},{filename:"/tmp/pglite/share/postgresql/timezone/America/Adak",start:4155032,end:4157388},{filename:"/tmp/pglite/share/postgresql/timezone/America/Anchorage",start:4157388,end:4159759},{filename:"/tmp/pglite/share/postgresql/timezone/America/Anguilla",start:4159759,end:4160005},{filename:"/tmp/pglite/share/postgresql/timezone/America/Antigua",start:4160005,end:4160251},{filename:"/tmp/pglite/share/postgresql/timezone/America/Araguaina",start:4160251,end:4161135},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Buenos_Aires",start:4161135,end:4162211},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Catamarca",start:4162211,end:4163287},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/ComodRivadavia",start:4163287,end:4164363},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Cordoba",start:4164363,end:4165439},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Jujuy",start:4165439,end:4166487},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/La_Rioja",start:4166487,end:4167577},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Mendoza",start:4167577,end:4168653},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Rio_Gallegos",start:4168653,end:4169729},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Salta",start:4169729,end:4170777},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/San_Juan",start:4170777,end:4171867},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/San_Luis",start:4171867,end:4172969},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Tucuman",start:4172969,end:4174073},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Ushuaia",start:4174073,end:4175149},{filename:"/tmp/pglite/share/postgresql/timezone/America/Aruba",start:4175149,end:4175395},{filename:"/tmp/pglite/share/postgresql/timezone/America/Asuncion",start:4175395,end:4177053},{filename:"/tmp/pglite/share/postgresql/timezone/America/Atikokan",start:4177053,end:4177235},{filename:"/tmp/pglite/share/postgresql/timezone/America/Atka",start:4177235,end:4179591},{filename:"/tmp/pglite/share/postgresql/timezone/America/Bahia",start:4179591,end:4180615},{filename:"/tmp/pglite/share/postgresql/timezone/America/Bahia_Banderas",start:4180615,end:4181715},{filename:"/tmp/pglite/share/postgresql/timezone/America/Barbados",start:4181715,end:4182151},{filename:"/tmp/pglite/share/postgresql/timezone/America/Belem",start:4182151,end:4182727},{filename:"/tmp/pglite/share/postgresql/timezone/America/Belize",start:4182727,end:4184341},{filename:"/tmp/pglite/share/postgresql/timezone/America/Blanc-Sablon",start:4184341,end:4184587},{filename:"/tmp/pglite/share/postgresql/timezone/America/Boa_Vista",start:4184587,end:4185219},{filename:"/tmp/pglite/share/postgresql/timezone/America/Bogota",start:4185219,end:4185465},{filename:"/tmp/pglite/share/postgresql/timezone/America/Boise",start:4185465,end:4187875},{filename:"/tmp/pglite/share/postgresql/timezone/America/Buenos_Aires",start:4187875,end:4188951},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cambridge_Bay",start:4188951,end:4191205},{filename:"/tmp/pglite/share/postgresql/timezone/America/Campo_Grande",start:4191205,end:4192649},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cancun",start:4192649,end:4193513},{filename:"/tmp/pglite/share/postgresql/timezone/America/Caracas",start:4193513,end:4193777},{filename:"/tmp/pglite/share/postgresql/timezone/America/Catamarca",start:4193777,end:4194853},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cayenne",start:4194853,end:4195051},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cayman",start:4195051,end:4195233},{filename:"/tmp/pglite/share/postgresql/timezone/America/Chicago",start:4195233,end:4198825},{filename:"/tmp/pglite/share/postgresql/timezone/America/Chihuahua",start:4198825,end:4199927},{filename:"/tmp/pglite/share/postgresql/timezone/America/Ciudad_Juarez",start:4199927,end:4201465},{filename:"/tmp/pglite/share/postgresql/timezone/America/Coral_Harbour",start:4201465,end:4201647},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cordoba",start:4201647,end:4202723},{filename:"/tmp/pglite/share/postgresql/timezone/America/Costa_Rica",start:4202723,end:4203039},{filename:"/tmp/pglite/share/postgresql/timezone/America/Coyhaique",start:4203039,end:4205179},{filename:"/tmp/pglite/share/postgresql/timezone/America/Creston",start:4205179,end:4205539},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cuiaba",start:4205539,end:4206955},{filename:"/tmp/pglite/share/postgresql/timezone/America/Curacao",start:4206955,end:4207201},{filename:"/tmp/pglite/share/postgresql/timezone/America/Danmarkshavn",start:4207201,end:4207899},{filename:"/tmp/pglite/share/postgresql/timezone/America/Dawson",start:4207899,end:4209513},{filename:"/tmp/pglite/share/postgresql/timezone/America/Dawson_Creek",start:4209513,end:4210563},{filename:"/tmp/pglite/share/postgresql/timezone/America/Denver",start:4210563,end:4213023},{filename:"/tmp/pglite/share/postgresql/timezone/America/Detroit",start:4213023,end:4215253},{filename:"/tmp/pglite/share/postgresql/timezone/America/Dominica",start:4215253,end:4215499},{filename:"/tmp/pglite/share/postgresql/timezone/America/Edmonton",start:4215499,end:4217831},{filename:"/tmp/pglite/share/postgresql/timezone/America/Eirunepe",start:4217831,end:4218487},{filename:"/tmp/pglite/share/postgresql/timezone/America/El_Salvador",start:4218487,end:4218711},{filename:"/tmp/pglite/share/postgresql/timezone/America/Ensenada",start:4218711,end:4221169},{filename:"/tmp/pglite/share/postgresql/timezone/America/Fort_Nelson",start:4221169,end:4223409},{filename:"/tmp/pglite/share/postgresql/timezone/America/Fort_Wayne",start:4223409,end:4225091},{filename:"/tmp/pglite/share/postgresql/timezone/America/Fortaleza",start:4225091,end:4225807},{filename:"/tmp/pglite/share/postgresql/timezone/America/Glace_Bay",start:4225807,end:4227999},{filename:"/tmp/pglite/share/postgresql/timezone/America/Godthab",start:4227999,end:4229902},{filename:"/tmp/pglite/share/postgresql/timezone/America/Goose_Bay",start:4229902,end:4233112},{filename:"/tmp/pglite/share/postgresql/timezone/America/Grand_Turk",start:4233112,end:4234946},{filename:"/tmp/pglite/share/postgresql/timezone/America/Grenada",start:4234946,end:4235192},{filename:"/tmp/pglite/share/postgresql/timezone/America/Guadeloupe",start:4235192,end:4235438},{filename:"/tmp/pglite/share/postgresql/timezone/America/Guatemala",start:4235438,end:4235718},{filename:"/tmp/pglite/share/postgresql/timezone/America/Guayaquil",start:4235718,end:4235964},{filename:"/tmp/pglite/share/postgresql/timezone/America/Guyana",start:4235964,end:4236226},{filename:"/tmp/pglite/share/postgresql/timezone/America/Halifax",start:4236226,end:4239650},{filename:"/tmp/pglite/share/postgresql/timezone/America/Havana",start:4239650,end:4242066},{filename:"/tmp/pglite/share/postgresql/timezone/America/Hermosillo",start:4242066,end:4242454},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Indianapolis",start:4242454,end:4244136},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Knox",start:4244136,end:4246580},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Marengo",start:4246580,end:4248318},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Petersburg",start:4248318,end:4250238},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Tell_City",start:4250238,end:4251938},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Vevay",start:4251938,end:4253368},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Vincennes",start:4253368,end:4255078},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Winamac",start:4255078,end:4256872},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indianapolis",start:4256872,end:4258554},{filename:"/tmp/pglite/share/postgresql/timezone/America/Inuvik",start:4258554,end:4260628},{filename:"/tmp/pglite/share/postgresql/timezone/America/Iqaluit",start:4260628,end:4262830},{filename:"/tmp/pglite/share/postgresql/timezone/America/Jamaica",start:4262830,end:4263312},{filename:"/tmp/pglite/share/postgresql/timezone/America/Jujuy",start:4263312,end:4264360},{filename:"/tmp/pglite/share/postgresql/timezone/America/Juneau",start:4264360,end:4266713},{filename:"/tmp/pglite/share/postgresql/timezone/America/Kentucky/Louisville",start:4266713,end:4269501},{filename:"/tmp/pglite/share/postgresql/timezone/America/Kentucky/Monticello",start:4269501,end:4271869},{filename:"/tmp/pglite/share/postgresql/timezone/America/Knox_IN",start:4271869,end:4274313},{filename:"/tmp/pglite/share/postgresql/timezone/America/Kralendijk",start:4274313,end:4274559},{filename:"/tmp/pglite/share/postgresql/timezone/America/La_Paz",start:4274559,end:4274791},{filename:"/tmp/pglite/share/postgresql/timezone/America/Lima",start:4274791,end:4275197},{filename:"/tmp/pglite/share/postgresql/timezone/America/Los_Angeles",start:4275197,end:4278049},{filename:"/tmp/pglite/share/postgresql/timezone/America/Louisville",start:4278049,end:4280837},{filename:"/tmp/pglite/share/postgresql/timezone/America/Lower_Princes",start:4280837,end:4281083},{filename:"/tmp/pglite/share/postgresql/timezone/America/Maceio",start:4281083,end:4281827},{filename:"/tmp/pglite/share/postgresql/timezone/America/Managua",start:4281827,end:4282257},{filename:"/tmp/pglite/share/postgresql/timezone/America/Manaus",start:4282257,end:4282861},{filename:"/tmp/pglite/share/postgresql/timezone/America/Marigot",start:4282861,end:4283107},{filename:"/tmp/pglite/share/postgresql/timezone/America/Martinique",start:4283107,end:4283339},{filename:"/tmp/pglite/share/postgresql/timezone/America/Matamoros",start:4283339,end:4284757},{filename:"/tmp/pglite/share/postgresql/timezone/America/Mazatlan",start:4284757,end:4285817},{filename:"/tmp/pglite/share/postgresql/timezone/America/Mendoza",start:4285817,end:4286893},{filename:"/tmp/pglite/share/postgresql/timezone/America/Menominee",start:4286893,end:4289167},{filename:"/tmp/pglite/share/postgresql/timezone/America/Merida",start:4289167,end:4290171},{filename:"/tmp/pglite/share/postgresql/timezone/America/Metlakatla",start:4290171,end:4291594},{filename:"/tmp/pglite/share/postgresql/timezone/America/Mexico_City",start:4291594,end:4292816},{filename:"/tmp/pglite/share/postgresql/timezone/America/Miquelon",start:4292816,end:4294482},{filename:"/tmp/pglite/share/postgresql/timezone/America/Moncton",start:4294482,end:4297636},{filename:"/tmp/pglite/share/postgresql/timezone/America/Monterrey",start:4297636,end:4298750},{filename:"/tmp/pglite/share/postgresql/timezone/America/Montevideo",start:4298750,end:4300260},{filename:"/tmp/pglite/share/postgresql/timezone/America/Montreal",start:4300260,end:4303754},{filename:"/tmp/pglite/share/postgresql/timezone/America/Montserrat",start:4303754,end:4304e3},{filename:"/tmp/pglite/share/postgresql/timezone/America/Nassau",start:4304e3,end:4307494},{filename:"/tmp/pglite/share/postgresql/timezone/America/New_York",start:4307494,end:4311046},{filename:"/tmp/pglite/share/postgresql/timezone/America/Nipigon",start:4311046,end:4314540},{filename:"/tmp/pglite/share/postgresql/timezone/America/Nome",start:4314540,end:4316907},{filename:"/tmp/pglite/share/postgresql/timezone/America/Noronha",start:4316907,end:4317623},{filename:"/tmp/pglite/share/postgresql/timezone/America/North_Dakota/Beulah",start:4317623,end:4320019},{filename:"/tmp/pglite/share/postgresql/timezone/America/North_Dakota/Center",start:4320019,end:4322415},{filename:"/tmp/pglite/share/postgresql/timezone/America/North_Dakota/New_Salem",start:4322415,end:4324811},{filename:"/tmp/pglite/share/postgresql/timezone/America/Nuuk",start:4324811,end:4326714},{filename:"/tmp/pglite/share/postgresql/timezone/America/Ojinaga",start:4326714,end:4328238},{filename:"/tmp/pglite/share/postgresql/timezone/America/Panama",start:4328238,end:4328420},{filename:"/tmp/pglite/share/postgresql/timezone/America/Pangnirtung",start:4328420,end:4330622},{filename:"/tmp/pglite/share/postgresql/timezone/America/Paramaribo",start:4330622,end:4330884},{filename:"/tmp/pglite/share/postgresql/timezone/America/Phoenix",start:4330884,end:4331244},{filename:"/tmp/pglite/share/postgresql/timezone/America/Port-au-Prince",start:4331244,end:4332678},{filename:"/tmp/pglite/share/postgresql/timezone/America/Port_of_Spain",start:4332678,end:4332924},{filename:"/tmp/pglite/share/postgresql/timezone/America/Porto_Acre",start:4332924,end:4333552},{filename:"/tmp/pglite/share/postgresql/timezone/America/Porto_Velho",start:4333552,end:4334128},{filename:"/tmp/pglite/share/postgresql/timezone/America/Puerto_Rico",start:4334128,end:4334374},{filename:"/tmp/pglite/share/postgresql/timezone/America/Punta_Arenas",start:4334374,end:4336290},{filename:"/tmp/pglite/share/postgresql/timezone/America/Rainy_River",start:4336290,end:4339158},{filename:"/tmp/pglite/share/postgresql/timezone/America/Rankin_Inlet",start:4339158,end:4341224},{filename:"/tmp/pglite/share/postgresql/timezone/America/Recife",start:4341224,end:4341940},{filename:"/tmp/pglite/share/postgresql/timezone/America/Regina",start:4341940,end:4342920},{filename:"/tmp/pglite/share/postgresql/timezone/America/Resolute",start:4342920,end:4344986},{filename:"/tmp/pglite/share/postgresql/timezone/America/Rio_Branco",start:4344986,end:4345614},{filename:"/tmp/pglite/share/postgresql/timezone/America/Rosario",start:4345614,end:4346690},{filename:"/tmp/pglite/share/postgresql/timezone/America/Santa_Isabel",start:4346690,end:4349148},{filename:"/tmp/pglite/share/postgresql/timezone/America/Santarem",start:4349148,end:4349750},{filename:"/tmp/pglite/share/postgresql/timezone/America/Santiago",start:4349750,end:4352279},{filename:"/tmp/pglite/share/postgresql/timezone/America/Santo_Domingo",start:4352279,end:4352737},{filename:"/tmp/pglite/share/postgresql/timezone/America/Sao_Paulo",start:4352737,end:4354181},{filename:"/tmp/pglite/share/postgresql/timezone/America/Scoresbysund",start:4354181,end:4356130},{filename:"/tmp/pglite/share/postgresql/timezone/America/Shiprock",start:4356130,end:4358590},{filename:"/tmp/pglite/share/postgresql/timezone/America/Sitka",start:4358590,end:4360919},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Barthelemy",start:4360919,end:4361165},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Johns",start:4361165,end:4364820},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Kitts",start:4364820,end:4365066},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Lucia",start:4365066,end:4365312},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Thomas",start:4365312,end:4365558},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Vincent",start:4365558,end:4365804},{filename:"/tmp/pglite/share/postgresql/timezone/America/Swift_Current",start:4365804,end:4366364},{filename:"/tmp/pglite/share/postgresql/timezone/America/Tegucigalpa",start:4366364,end:4366616},{filename:"/tmp/pglite/share/postgresql/timezone/America/Thule",start:4366616,end:4368118},{filename:"/tmp/pglite/share/postgresql/timezone/America/Thunder_Bay",start:4368118,end:4371612},{filename:"/tmp/pglite/share/postgresql/timezone/America/Tijuana",start:4371612,end:4374070},{filename:"/tmp/pglite/share/postgresql/timezone/America/Toronto",start:4374070,end:4377564},{filename:"/tmp/pglite/share/postgresql/timezone/America/Tortola",start:4377564,end:4377810},{filename:"/tmp/pglite/share/postgresql/timezone/America/Vancouver",start:4377810,end:4380702},{filename:"/tmp/pglite/share/postgresql/timezone/America/Virgin",start:4380702,end:4380948},{filename:"/tmp/pglite/share/postgresql/timezone/America/Whitehorse",start:4380948,end:4382562},{filename:"/tmp/pglite/share/postgresql/timezone/America/Winnipeg",start:4382562,end:4385430},{filename:"/tmp/pglite/share/postgresql/timezone/America/Yakutat",start:4385430,end:4387735},{filename:"/tmp/pglite/share/postgresql/timezone/America/Yellowknife",start:4387735,end:4390067},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Casey",start:4390067,end:4390504},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Davis",start:4390504,end:4390801},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/DumontDUrville",start:4390801,end:4390987},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Macquarie",start:4390987,end:4393247},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Mawson",start:4393247,end:4393446},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/McMurdo",start:4393446,end:4395883},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Palmer",start:4395883,end:4397301},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Rothera",start:4397301,end:4397465},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/South_Pole",start:4397465,end:4399902},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Syowa",start:4399902,end:4400067},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Troll",start:4400067,end:4401229},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Vostok",start:4401229,end:4401456},{filename:"/tmp/pglite/share/postgresql/timezone/Arctic/Longyearbyen",start:4401456,end:4403754},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Aden",start:4403754,end:4403919},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Almaty",start:4403919,end:4404916},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Amman",start:4404916,end:4406363},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Anadyr",start:4406363,end:4407551},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Aqtau",start:4407551,end:4408534},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Aqtobe",start:4408534,end:4409545},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ashgabat",start:4409545,end:4410164},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ashkhabad",start:4410164,end:4410783},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Atyrau",start:4410783,end:4411774},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Baghdad",start:4411774,end:4412757},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Bahrain",start:4412757,end:4412956},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Baku",start:4412956,end:4414183},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Bangkok",start:4414183,end:4414382},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Barnaul",start:4414382,end:4415603},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Beirut",start:4415603,end:4417757},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Bishkek",start:4417757,end:4418740},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Brunei",start:4418740,end:4419223},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Calcutta",start:4419223,end:4419508},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Chita",start:4419508,end:4420729},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Choibalsan",start:4420729,end:4421620},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Chongqing",start:4421620,end:4422181},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Chungking",start:4422181,end:4422742},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Colombo",start:4422742,end:4423114},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Dacca",start:4423114,end:4423451},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Damascus",start:4423451,end:4425338},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Dhaka",start:4425338,end:4425675},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Dili",start:4425675,end:4425946},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Dubai",start:4425946,end:4426111},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Dushanbe",start:4426111,end:4426702},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Famagusta",start:4426702,end:4428730},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Gaza",start:4428730,end:4432574},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Harbin",start:4432574,end:4433135},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Hebron",start:4433135,end:4437007},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ho_Chi_Minh",start:4437007,end:4437358},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Hong_Kong",start:4437358,end:4438591},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Hovd",start:4438591,end:4439482},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Irkutsk",start:4439482,end:4440725},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Istanbul",start:4440725,end:4442672},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Jakarta",start:4442672,end:4443055},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Jayapura",start:4443055,end:4443276},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Jerusalem",start:4443276,end:4445664},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kabul",start:4445664,end:4445872},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kamchatka",start:4445872,end:4447038},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Karachi",start:4447038,end:4447417},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kashgar",start:4447417,end:4447582},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kathmandu",start:4447582,end:4447794},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Katmandu",start:4447794,end:4448006},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Khandyga",start:4448006,end:4449277},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kolkata",start:4449277,end:4449562},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Krasnoyarsk",start:4449562,end:4450769},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kuala_Lumpur",start:4450769,end:4451184},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kuching",start:4451184,end:4451667},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kuwait",start:4451667,end:4451832},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Macao",start:4451832,end:4453059},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Macau",start:4453059,end:4454286},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Magadan",start:4454286,end:4455508},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Makassar",start:4455508,end:4455762},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Manila",start:4455762,end:4456184},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Muscat",start:4456184,end:4456349},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Nicosia",start:4456349,end:4458351},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Novokuznetsk",start:4458351,end:4459516},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Novosibirsk",start:4459516,end:4460737},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Omsk",start:4460737,end:4461944},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Oral",start:4461944,end:4462949},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Phnom_Penh",start:4462949,end:4463148},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Pontianak",start:4463148,end:4463501},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Pyongyang",start:4463501,end:4463738},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Qatar",start:4463738,end:4463937},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Qostanay",start:4463937,end:4464976},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Qyzylorda",start:4464976,end:4466001},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Rangoon",start:4466001,end:4466269},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Riyadh",start:4466269,end:4466434},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Saigon",start:4466434,end:4466785},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Sakhalin",start:4466785,end:4467987},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Samarkand",start:4467987,end:4468564},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Seoul",start:4468564,end:4469181},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Shanghai",start:4469181,end:4469742},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Singapore",start:4469742,end:4470157},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Srednekolymsk",start:4470157,end:4471365},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Taipei",start:4471365,end:4472126},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tashkent",start:4472126,end:4472717},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tbilisi",start:4472717,end:4473752},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tehran",start:4473752,end:4475014},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tel_Aviv",start:4475014,end:4477402},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Thimbu",start:4477402,end:4477605},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Thimphu",start:4477605,end:4477808},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tokyo",start:4477808,end:4478117},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tomsk",start:4478117,end:4479338},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ujung_Pandang",start:4479338,end:4479592},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ulaanbaatar",start:4479592,end:4480483},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ulan_Bator",start:4480483,end:4481374},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Urumqi",start:4481374,end:4481539},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ust-Nera",start:4481539,end:4482791},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Vientiane",start:4482791,end:4482990},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Vladivostok",start:4482990,end:4484198},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Yakutsk",start:4484198,end:4485405},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Yangon",start:4485405,end:4485673},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Yekaterinburg",start:4485673,end:4486916},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Yerevan",start:4486916,end:4488067},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Azores",start:4488067,end:4491523},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Bermuda",start:4491523,end:4493919},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Canary",start:4493919,end:4495816},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Cape_Verde",start:4495816,end:4496086},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Faeroe",start:4496086,end:4497901},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Faroe",start:4497901,end:4499716},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Jan_Mayen",start:4499716,end:4502014},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Madeira",start:4502014,end:4505391},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Reykjavik",start:4505391,end:4505539},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/South_Georgia",start:4505539,end:4505703},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/St_Helena",start:4505703,end:4505851},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Stanley",start:4505851,end:4507065},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/ACT",start:4507065,end:4509255},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Adelaide",start:4509255,end:4511463},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Brisbane",start:4511463,end:4511882},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Broken_Hill",start:4511882,end:4514111},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Canberra",start:4514111,end:4516301},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Currie",start:4516301,end:4518659},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Darwin",start:4518659,end:4518984},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Eucla",start:4518984,end:4519454},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Hobart",start:4519454,end:4521812},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/LHI",start:4521812,end:4523672},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Lindeman",start:4523672,end:4524147},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Lord_Howe",start:4524147,end:4526007},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Melbourne",start:4526007,end:4528197},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/NSW",start:4528197,end:4530387},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/North",start:4530387,end:4530712},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Perth",start:4530712,end:4531158},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Queensland",start:4531158,end:4531577},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/South",start:4531577,end:4533785},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Sydney",start:4533785,end:4535975},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Tasmania",start:4535975,end:4538333},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Victoria",start:4538333,end:4540523},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/West",start:4540523,end:4540969},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Yancowinna",start:4540969,end:4543198},{filename:"/tmp/pglite/share/postgresql/timezone/Brazil/Acre",start:4543198,end:4543826},{filename:"/tmp/pglite/share/postgresql/timezone/Brazil/DeNoronha",start:4543826,end:4544542},{filename:"/tmp/pglite/share/postgresql/timezone/Brazil/East",start:4544542,end:4545986},{filename:"/tmp/pglite/share/postgresql/timezone/Brazil/West",start:4545986,end:4546590},{filename:"/tmp/pglite/share/postgresql/timezone/CET",start:4546590,end:4549523},{filename:"/tmp/pglite/share/postgresql/timezone/CST6CDT",start:4549523,end:4553115},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Atlantic",start:4553115,end:4556539},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Central",start:4556539,end:4559407},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Eastern",start:4559407,end:4562901},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Mountain",start:4562901,end:4565233},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Newfoundland",start:4565233,end:4568888},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Pacific",start:4568888,end:4571780},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Saskatchewan",start:4571780,end:4572760},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Yukon",start:4572760,end:4574374},{filename:"/tmp/pglite/share/postgresql/timezone/Chile/Continental",start:4574374,end:4576903},{filename:"/tmp/pglite/share/postgresql/timezone/Chile/EasterIsland",start:4576903,end:4579136},{filename:"/tmp/pglite/share/postgresql/timezone/Cuba",start:4579136,end:4581552},{filename:"/tmp/pglite/share/postgresql/timezone/EET",start:4581552,end:4583814},{filename:"/tmp/pglite/share/postgresql/timezone/EST",start:4583814,end:4583996},{filename:"/tmp/pglite/share/postgresql/timezone/EST5EDT",start:4583996,end:4587548},{filename:"/tmp/pglite/share/postgresql/timezone/Egypt",start:4587548,end:4589947},{filename:"/tmp/pglite/share/postgresql/timezone/Eire",start:4589947,end:4593439},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT",start:4593439,end:4593553},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+0",start:4593553,end:4593667},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+1",start:4593667,end:4593783},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+10",start:4593783,end:4593900},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+11",start:4593900,end:4594017},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+12",start:4594017,end:4594134},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+2",start:4594134,end:4594250},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+3",start:4594250,end:4594366},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+4",start:4594366,end:4594482},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+5",start:4594482,end:4594598},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+6",start:4594598,end:4594714},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+7",start:4594714,end:4594830},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+8",start:4594830,end:4594946},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+9",start:4594946,end:4595062},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-0",start:4595062,end:4595176},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-1",start:4595176,end:4595293},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-10",start:4595293,end:4595411},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-11",start:4595411,end:4595529},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-12",start:4595529,end:4595647},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-13",start:4595647,end:4595765},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-14",start:4595765,end:4595883},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-2",start:4595883,end:4596e3},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-3",start:4596e3,end:4596117},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-4",start:4596117,end:4596234},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-5",start:4596234,end:4596351},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-6",start:4596351,end:4596468},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-7",start:4596468,end:4596585},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-8",start:4596585,end:4596702},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-9",start:4596702,end:4596819},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT0",start:4596819,end:4596933},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/Greenwich",start:4596933,end:4597047},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/UCT",start:4597047,end:4597161},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/UTC",start:4597161,end:4597275},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/Universal",start:4597275,end:4597389},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/Zulu",start:4597389,end:4597503},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Amsterdam",start:4597503,end:4600436},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Andorra",start:4600436,end:4602178},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Astrakhan",start:4602178,end:4603343},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Athens",start:4603343,end:4605605},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Belfast",start:4605605,end:4609269},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Belgrade",start:4609269,end:4611189},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Berlin",start:4611189,end:4613487},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Bratislava",start:4613487,end:4615788},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Brussels",start:4615788,end:4618721},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Bucharest",start:4618721,end:4620905},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Budapest",start:4620905,end:4623273},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Busingen",start:4623273,end:4625182},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Chisinau",start:4625182,end:4627572},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Copenhagen",start:4627572,end:4629870},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Dublin",start:4629870,end:4633362},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Gibraltar",start:4633362,end:4636430},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Guernsey",start:4636430,end:4640094},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Helsinki",start:4640094,end:4641994},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Isle_of_Man",start:4641994,end:4645658},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Istanbul",start:4645658,end:4647605},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Jersey",start:4647605,end:4651269},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Kaliningrad",start:4651269,end:4652762},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Kiev",start:4652762,end:4654882},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Kirov",start:4654882,end:4656067},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Kyiv",start:4656067,end:4658187},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Lisbon",start:4658187,end:4661714},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Ljubljana",start:4661714,end:4663634},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/London",start:4663634,end:4667298},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Luxembourg",start:4667298,end:4670231},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Madrid",start:4670231,end:4672845},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Malta",start:4672845,end:4675465},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Mariehamn",start:4675465,end:4677365},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Minsk",start:4677365,end:4678686},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Monaco",start:4678686,end:4681648},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Moscow",start:4681648,end:4683183},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Nicosia",start:4683183,end:4685185},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Oslo",start:4685185,end:4687483},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Paris",start:4687483,end:4690445},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Podgorica",start:4690445,end:4692365},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Prague",start:4692365,end:4694666},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Riga",start:4694666,end:4696864},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Rome",start:4696864,end:4699505},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Samara",start:4699505,end:4700720},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/San_Marino",start:4700720,end:4703361},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Sarajevo",start:4703361,end:4705281},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Saratov",start:4705281,end:4706464},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Simferopol",start:4706464,end:4707933},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Skopje",start:4707933,end:4709853},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Sofia",start:4709853,end:4711930},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Stockholm",start:4711930,end:4714228},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Tallinn",start:4714228,end:4716376},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Tirane",start:4716376,end:4718460},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Tiraspol",start:4718460,end:4720850},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Ulyanovsk",start:4720850,end:4722117},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Uzhgorod",start:4722117,end:4724237},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Vaduz",start:4724237,end:4726146},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Vatican",start:4726146,end:4728787},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Vienna",start:4728787,end:4730987},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Vilnius",start:4730987,end:4733149},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Volgograd",start:4733149,end:4734342},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Warsaw",start:4734342,end:4736996},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Zagreb",start:4736996,end:4738916},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Zaporozhye",start:4738916,end:4741036},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Zurich",start:4741036,end:4742945},{filename:"/tmp/pglite/share/postgresql/timezone/Factory",start:4742945,end:4743061},{filename:"/tmp/pglite/share/postgresql/timezone/GB",start:4743061,end:4746725},{filename:"/tmp/pglite/share/postgresql/timezone/GB-Eire",start:4746725,end:4750389},{filename:"/tmp/pglite/share/postgresql/timezone/GMT",start:4750389,end:4750503},{filename:"/tmp/pglite/share/postgresql/timezone/GMT+0",start:4750503,end:4750617},{filename:"/tmp/pglite/share/postgresql/timezone/GMT-0",start:4750617,end:4750731},{filename:"/tmp/pglite/share/postgresql/timezone/GMT0",start:4750731,end:4750845},{filename:"/tmp/pglite/share/postgresql/timezone/Greenwich",start:4750845,end:4750959},{filename:"/tmp/pglite/share/postgresql/timezone/HST",start:4750959,end:4751288},{filename:"/tmp/pglite/share/postgresql/timezone/Hongkong",start:4751288,end:4752521},{filename:"/tmp/pglite/share/postgresql/timezone/Iceland",start:4752521,end:4752669},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Antananarivo",start:4752669,end:4752934},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Chagos",start:4752934,end:4753133},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Christmas",start:4753133,end:4753332},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Cocos",start:4753332,end:4753600},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Comoro",start:4753600,end:4753865},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Kerguelen",start:4753865,end:4754064},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Mahe",start:4754064,end:4754229},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Maldives",start:4754229,end:4754428},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Mauritius",start:4754428,end:4754669},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Mayotte",start:4754669,end:4754934},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Reunion",start:4754934,end:4755099},{filename:"/tmp/pglite/share/postgresql/timezone/Iran",start:4755099,end:4756361},{filename:"/tmp/pglite/share/postgresql/timezone/Israel",start:4756361,end:4758749},{filename:"/tmp/pglite/share/postgresql/timezone/Jamaica",start:4758749,end:4759231},{filename:"/tmp/pglite/share/postgresql/timezone/Japan",start:4759231,end:4759540},{filename:"/tmp/pglite/share/postgresql/timezone/Kwajalein",start:4759540,end:4759856},{filename:"/tmp/pglite/share/postgresql/timezone/Libya",start:4759856,end:4760481},{filename:"/tmp/pglite/share/postgresql/timezone/MET",start:4760481,end:4763414},{filename:"/tmp/pglite/share/postgresql/timezone/MST",start:4763414,end:4763774},{filename:"/tmp/pglite/share/postgresql/timezone/MST7MDT",start:4763774,end:4766234},{filename:"/tmp/pglite/share/postgresql/timezone/Mexico/BajaNorte",start:4766234,end:4768692},{filename:"/tmp/pglite/share/postgresql/timezone/Mexico/BajaSur",start:4768692,end:4769752},{filename:"/tmp/pglite/share/postgresql/timezone/Mexico/General",start:4769752,end:4770974},{filename:"/tmp/pglite/share/postgresql/timezone/NZ",start:4770974,end:4773411},{filename:"/tmp/pglite/share/postgresql/timezone/NZ-CHAT",start:4773411,end:4775479},{filename:"/tmp/pglite/share/postgresql/timezone/Navajo",start:4775479,end:4777939},{filename:"/tmp/pglite/share/postgresql/timezone/PRC",start:4777939,end:4778500},{filename:"/tmp/pglite/share/postgresql/timezone/PST8PDT",start:4778500,end:4781352},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Apia",start:4781352,end:4781964},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Auckland",start:4781964,end:4784401},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Bougainville",start:4784401,end:4784669},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Chatham",start:4784669,end:4786737},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Chuuk",start:4786737,end:4786923},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Easter",start:4786923,end:4789156},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Efate",start:4789156,end:4789694},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Enderbury",start:4789694,end:4789928},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Fakaofo",start:4789928,end:4790128},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Fiji",start:4790128,end:4790706},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Funafuti",start:4790706,end:4790872},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Galapagos",start:4790872,end:4791110},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Gambier",start:4791110,end:4791274},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Guadalcanal",start:4791274,end:4791440},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Guam",start:4791440,end:4791934},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Honolulu",start:4791934,end:4792263},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Johnston",start:4792263,end:4792592},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Kanton",start:4792592,end:4792826},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Kiritimati",start:4792826,end:4793064},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Kosrae",start:4793064,end:4793415},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Kwajalein",start:4793415,end:4793731},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Majuro",start:4793731,end:4793897},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Marquesas",start:4793897,end:4794070},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Midway",start:4794070,end:4794245},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Nauru",start:4794245,end:4794497},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Niue",start:4794497,end:4794700},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Norfolk",start:4794700,end:4795580},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Noumea",start:4795580,end:4795884},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Pago_Pago",start:4795884,end:4796059},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Palau",start:4796059,end:4796239},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Pitcairn",start:4796239,end:4796441},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Pohnpei",start:4796441,end:4796607},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Ponape",start:4796607,end:4796773},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Port_Moresby",start:4796773,end:4796959},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Rarotonga",start:4796959,end:4797562},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Saipan",start:4797562,end:4798056},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Samoa",start:4798056,end:4798231},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Tahiti",start:4798231,end:4798396},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Tarawa",start:4798396,end:4798562},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Tongatapu",start:4798562,end:4798934},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Truk",start:4798934,end:4799120},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Wake",start:4799120,end:4799286},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Wallis",start:4799286,end:4799452},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Yap",start:4799452,end:4799638},{filename:"/tmp/pglite/share/postgresql/timezone/Poland",start:4799638,end:4802292},{filename:"/tmp/pglite/share/postgresql/timezone/Portugal",start:4802292,end:4805819},{filename:"/tmp/pglite/share/postgresql/timezone/ROC",start:4805819,end:4806580},{filename:"/tmp/pglite/share/postgresql/timezone/ROK",start:4806580,end:4807197},{filename:"/tmp/pglite/share/postgresql/timezone/Singapore",start:4807197,end:4807612},{filename:"/tmp/pglite/share/postgresql/timezone/Turkey",start:4807612,end:4809559},{filename:"/tmp/pglite/share/postgresql/timezone/UCT",start:4809559,end:4809673},{filename:"/tmp/pglite/share/postgresql/timezone/US/Alaska",start:4809673,end:4812044},{filename:"/tmp/pglite/share/postgresql/timezone/US/Aleutian",start:4812044,end:4814400},{filename:"/tmp/pglite/share/postgresql/timezone/US/Arizona",start:4814400,end:4814760},{filename:"/tmp/pglite/share/postgresql/timezone/US/Central",start:4814760,end:4818352},{filename:"/tmp/pglite/share/postgresql/timezone/US/East-Indiana",start:4818352,end:4820034},{filename:"/tmp/pglite/share/postgresql/timezone/US/Eastern",start:4820034,end:4823586},{filename:"/tmp/pglite/share/postgresql/timezone/US/Hawaii",start:4823586,end:4823915},{filename:"/tmp/pglite/share/postgresql/timezone/US/Indiana-Starke",start:4823915,end:4826359},{filename:"/tmp/pglite/share/postgresql/timezone/US/Michigan",start:4826359,end:4828589},{filename:"/tmp/pglite/share/postgresql/timezone/US/Mountain",start:4828589,end:4831049},{filename:"/tmp/pglite/share/postgresql/timezone/US/Pacific",start:4831049,end:4833901},{filename:"/tmp/pglite/share/postgresql/timezone/US/Samoa",start:4833901,end:4834076},{filename:"/tmp/pglite/share/postgresql/timezone/UTC",start:4834076,end:4834190},{filename:"/tmp/pglite/share/postgresql/timezone/Universal",start:4834190,end:4834304},{filename:"/tmp/pglite/share/postgresql/timezone/W-SU",start:4834304,end:4835839},{filename:"/tmp/pglite/share/postgresql/timezone/WET",start:4835839,end:4839366},{filename:"/tmp/pglite/share/postgresql/timezone/Zulu",start:4839366,end:4839480},{filename:"/tmp/pglite/share/postgresql/timezonesets/Africa.txt",start:4839480,end:4846453},{filename:"/tmp/pglite/share/postgresql/timezonesets/America.txt",start:4846453,end:4857460},{filename:"/tmp/pglite/share/postgresql/timezonesets/Antarctica.txt",start:4857460,end:4858594},{filename:"/tmp/pglite/share/postgresql/timezonesets/Asia.txt",start:4858594,end:4866905},{filename:"/tmp/pglite/share/postgresql/timezonesets/Atlantic.txt",start:4866905,end:4870438},{filename:"/tmp/pglite/share/postgresql/timezonesets/Australia",start:4870438,end:4871573},{filename:"/tmp/pglite/share/postgresql/timezonesets/Australia.txt",start:4871573,end:4874957},{filename:"/tmp/pglite/share/postgresql/timezonesets/Default",start:4874957,end:4902171},{filename:"/tmp/pglite/share/postgresql/timezonesets/Etc.txt",start:4902171,end:4903421},{filename:"/tmp/pglite/share/postgresql/timezonesets/Europe.txt",start:4903421,end:4912167},{filename:"/tmp/pglite/share/postgresql/timezonesets/India",start:4912167,end:4912760},{filename:"/tmp/pglite/share/postgresql/timezonesets/Indian.txt",start:4912760,end:4914021},{filename:"/tmp/pglite/share/postgresql/timezonesets/Pacific.txt",start:4914021,end:4917789},{filename:"/tmp/pglite/share/postgresql/tsearch_data/danish.stop",start:4917789,end:4918213},{filename:"/tmp/pglite/share/postgresql/tsearch_data/dutch.stop",start:4918213,end:4918666},{filename:"/tmp/pglite/share/postgresql/tsearch_data/english.stop",start:4918666,end:4919288},{filename:"/tmp/pglite/share/postgresql/tsearch_data/finnish.stop",start:4919288,end:4920867},{filename:"/tmp/pglite/share/postgresql/tsearch_data/french.stop",start:4920867,end:4921672},{filename:"/tmp/pglite/share/postgresql/tsearch_data/german.stop",start:4921672,end:4923021},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hungarian.stop",start:4923021,end:4924248},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hunspell_sample.affix",start:4924248,end:4924491},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hunspell_sample_long.affix",start:4924491,end:4925124},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hunspell_sample_long.dict",start:4925124,end:4925222},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hunspell_sample_num.affix",start:4925222,end:4925684},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hunspell_sample_num.dict",start:4925684,end:4925813},{filename:"/tmp/pglite/share/postgresql/tsearch_data/ispell_sample.affix",start:4925813,end:4926278},{filename:"/tmp/pglite/share/postgresql/tsearch_data/ispell_sample.dict",start:4926278,end:4926359},{filename:"/tmp/pglite/share/postgresql/tsearch_data/italian.stop",start:4926359,end:4928013},{filename:"/tmp/pglite/share/postgresql/tsearch_data/nepali.stop",start:4928013,end:4932274},{filename:"/tmp/pglite/share/postgresql/tsearch_data/norwegian.stop",start:4932274,end:4933125},{filename:"/tmp/pglite/share/postgresql/tsearch_data/portuguese.stop",start:4933125,end:4934392},{filename:"/tmp/pglite/share/postgresql/tsearch_data/russian.stop",start:4934392,end:4935627},{filename:"/tmp/pglite/share/postgresql/tsearch_data/spanish.stop",start:4935627,end:4937805},{filename:"/tmp/pglite/share/postgresql/tsearch_data/swedish.stop",start:4937805,end:4938364},{filename:"/tmp/pglite/share/postgresql/tsearch_data/synonym_sample.syn",start:4938364,end:4938437},{filename:"/tmp/pglite/share/postgresql/tsearch_data/thesaurus_sample.ths",start:4938437,end:4938910},{filename:"/tmp/pglite/share/postgresql/tsearch_data/turkish.stop",start:4938910,end:4939170}],remote_package_size:4939170})})();var moduleOverrides=Object.assign({},Module),arguments_=[],thisProgram="./this.program",quit_=(r,e)=>{throw e},scriptDirectory="";function locateFile(r){return Module.locateFile?Module.locateFile(r,scriptDirectory):scriptDirectory+r}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs"),nodePath=require("path");import.meta.url.startsWith("data:")||(scriptDirectory=nodePath.dirname(require("url").fileURLToPath(import.meta.url))+"/"),readBinary=r=>{r=isFileURI(r)?new URL(r):r;var e=fs.readFileSync(r);return e},readAsync=async(r,e=!0)=>{r=isFileURI(r)?new URL(r):r;var M=fs.readFileSync(r,e?void 0:"utf8");return M},!Module.thisProgram&&process$1.argv.length>1&&(thisProgram=process$1.argv[1].replace(/\\/g,"/")),arguments_=process$1.argv.slice(2),quit_=(r,e)=>{throw process$1.exitCode=r,e}}else(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&(ENVIRONMENT_IS_WORKER?scriptDirectory=self.location.href:typeof document<"u"&&document.currentScript&&(scriptDirectory=document.currentScript.src),_scriptName&&(scriptDirectory=_scriptName),scriptDirectory.startsWith("blob:")?scriptDirectory="":scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1),ENVIRONMENT_IS_WORKER&&(readBinary=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),readAsync=async r=>{var e=await fetch(r,{credentials:"same-origin"});if(e.ok)return e.arrayBuffer();throw new Error(e.status+" : "+e.url)});var out=Module.print||console.log.bind(console),err=Module.printErr||console.error.bind(console);Object.assign(Module,moduleOverrides),moduleOverrides=null,Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram);var dynamicLibraries=Module.dynamicLibraries||[],wasmBinary=Module.wasmBinary,wasmMemory,ABORT=!1,EXITSTATUS;function assert(r,e){r||abort(e)}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPF64;function updateMemoryViews(){var r=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(r),Module.HEAP16=HEAP16=new Int16Array(r),Module.HEAPU8=HEAPU8=new Uint8Array(r),Module.HEAPU16=HEAPU16=new Uint16Array(r),Module.HEAP32=HEAP32=new Int32Array(r),Module.HEAPU32=HEAPU32=new Uint32Array(r),Module.HEAPF32=HEAPF32=new Float32Array(r),Module.HEAPF64=HEAPF64=new Float64Array(r),Module.HEAP64=HEAP64=new BigInt64Array(r),Module.HEAPU64=new BigUint64Array(r)}if(Module.wasmMemory)wasmMemory=Module.wasmMemory;else{var INITIAL_MEMORY=Module.INITIAL_MEMORY||16777216;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:32768})}updateMemoryViews();var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATPOSTRUN__=[],__RELOC_FUNCS__=[],runtimeInitialized=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=!0,callRuntimeCallbacks(__RELOC_FUNCS__),!Module.noFSInit&&!FS.initialized&&FS.init(),FS.ignorePermissions=!1,SOCKFS.root=FS.mount(SOCKFS,{},null),PIPEFS.root=FS.mount(PIPEFS,{},null),callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(r){__ATPRERUN__.unshift(r)}function addOnInit(r){__ATINIT__.unshift(r)}function addOnPostRun(r){__ATPOSTRUN__.unshift(r)}var runDependencies=0,dependenciesFulfilled=null;function addRunDependency(r){runDependencies++,Module.monitorRunDependencies?.(runDependencies)}function removeRunDependency(r){if(runDependencies--,Module.monitorRunDependencies?.(runDependencies),runDependencies==0&&dependenciesFulfilled){var e=dependenciesFulfilled;dependenciesFulfilled=null,e()}}function abort(r){Module.onAbort?.(r),r="Aborted("+r+")",err(r),ABORT=!0,r+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(r);throw readyPromiseReject(e),e}var dataURIPrefix="data:application/octet-stream;base64,",isDataURI=r=>r.startsWith(dataURIPrefix),isFileURI=r=>r.startsWith("file://");function findWasmBinary(){if(Module.locateFile){var r="pglite.wasm";return isDataURI(r)?r:locateFile(r)}return new URL("/assets/pglite-CeYkvzd0.wasm",import.meta.url).href}var wasmBinaryFile;function getBinarySync(r){if(r==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(r);throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(r){if(!wasmBinary)try{var e=await readAsync(r);return new Uint8Array(e)}catch{}return getBinarySync(r)}async function instantiateArrayBuffer(r,e){try{var M=await getWasmBinary(r),tr=await WebAssembly.instantiate(M,e);return tr}catch(rr){err(`failed to asynchronously prepare wasm: ${rr}`),abort(rr)}}async function instantiateAsync(r,e,M){if(!r&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(e)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function")try{var tr=fetch(e,{credentials:"same-origin"}),rr=await WebAssembly.instantiateStreaming(tr,M);return rr}catch(ir){err(`wasm streaming compile failed: ${ir}`),err("falling back to ArrayBuffer instantiation")}return instantiateArrayBuffer(e,M)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}async function createWasm(){function r(rr,ir){wasmExports=rr.exports,wasmExports=relocateExports(wasmExports,1024);var lr=getDylinkMetadata(ir);return lr.neededDynlibs&&(dynamicLibraries=lr.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports),LDSO.init(),loadDylibs(),addOnInit(wasmExports.__wasm_call_ctors),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),removeRunDependency(),wasmExports}addRunDependency();function e(rr){r(rr.instance,rr.module)}var M=getWasmImports();if(Module.instantiateWasm)try{return Module.instantiateWasm(M,r)}catch(rr){err(`Module.instantiateWasm callback failed with error: ${rr}`),readyPromiseReject(rr)}wasmBinaryFile??(wasmBinaryFile=findWasmBinary());try{var tr=await instantiateAsync(wasmBinary,wasmBinaryFile,M);return e(tr),tr}catch(rr){readyPromiseReject(rr);return}}var ASM_CONSTS={2537480:r=>{Module.is_worker=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Module.FD_BUFFER_MAX=r,Module.emscripten_copy_to=console.warn},2537652:()=>{Module.postMessage=function(r){console.log("# pg_main_emsdk.c:544: onCustomMessage:",r)}},2537781:()=>{if(Module.is_worker){let r=function(e){console.log("onCustomMessage:",e)};Module.onCustomMessage=r}else Module.postMessage=function(r){switch(r.type){case"raw":break;case"stdin":{stringToUTF8(r.data,1,Module.FD_BUFFER_MAX);break}case"rcon":break;default:console.warn("custom_postMessage?",r)}}}};class ExitStatus{constructor(e){P$1(this,"name","ExitStatus"),this.message=`Program terminated with exit(${e})`,this.status=e}}var GOT={},currentModuleWeakSymbols=new Set([]),GOTHandler={get(r,e){var M=GOT[e];return M||(M=GOT[e]=new WebAssembly.Global({value:"i32",mutable:!0})),currentModuleWeakSymbols.has(e)||(M.required=!0),M}},callRuntimeCallbacks=r=>{for(;r.length>0;)r.shift()(Module)},UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder:void 0,UTF8ArrayToString=(r,e=0,M=NaN)=>{for(var tr=e+M,rr=e;r[rr]&&!(rr>=tr);)++rr;if(rr-e>16&&r.buffer&&UTF8Decoder)return UTF8Decoder.decode(r.subarray(e,rr));for(var ir="";e<rr;){var lr=r[e++];if(!(lr&128)){ir+=String.fromCharCode(lr);continue}var dr=r[e++]&63;if((lr&224)==192){ir+=String.fromCharCode((lr&31)<<6|dr);continue}var mr=r[e++]&63;if((lr&240)==224?lr=(lr&15)<<12|dr<<6|mr:lr=(lr&7)<<18|dr<<12|mr<<6|r[e++]&63,lr<65536)ir+=String.fromCharCode(lr);else{var hr=lr-65536;ir+=String.fromCharCode(55296|hr>>10,56320|hr&1023)}}return ir},getDylinkMetadata=r=>{var e=0,M=0;function tr(){return r[e++]}function rr(){for(var zr=0,Fr=1;;){var kr=r[e++];if(zr+=(kr&127)*Fr,Fr*=128,!(kr&128))break}return zr}function ir(){var zr=rr();return e+=zr,UTF8ArrayToString(r,e-zr,zr)}function lr(zr,Fr){if(zr)throw new Error(Fr)}var dr="dylink.0";if(r instanceof WebAssembly.Module){var mr=WebAssembly.Module.customSections(r,dr);mr.length===0&&(dr="dylink",mr=WebAssembly.Module.customSections(r,dr)),lr(mr.length===0,"need dylink section"),r=new Uint8Array(mr[0]),M=r.length}else{var hr=new Uint32Array(new Uint8Array(r.subarray(0,24)).buffer),fr=hr[0]==1836278016;lr(!fr,"need to see wasm magic number"),lr(r[8]!==0,"need the dylink section to be first"),e=9;var _r=rr();M=e+_r,dr=ir()}var gr={neededDynlibs:[],tlsExports:new Set,weakImports:new Set};if(dr=="dylink"){gr.memorySize=rr(),gr.memoryAlign=rr(),gr.tableSize=rr(),gr.tableAlign=rr();for(var br=rr(),wr=0;wr<br;++wr){var xr=ir();gr.neededDynlibs.push(xr)}}else{lr(dr!=="dylink.0");for(var vr=1,Mr=2,Sr=3,yr=4,Ar=256,Dr=3,Ir=1;e<M;){var Lr=tr(),Gr=rr();if(Lr===vr)gr.memorySize=rr(),gr.memoryAlign=rr(),gr.tableSize=rr(),gr.tableAlign=rr();else if(Lr===Mr)for(var br=rr(),wr=0;wr<br;++wr)xr=ir(),gr.neededDynlibs.push(xr);else if(Lr===Sr)for(var Or=rr();Or--;){var Qr=ir(),$n=rr();$n&Ar&&gr.tlsExports.add(Qr)}else if(Lr===yr)for(var Or=rr();Or--;){ir();var Qr=ir(),$n=rr();($n&Dr)==Ir&&gr.weakImports.add(Qr)}else e+=Gr}}return gr};function getValue(r,e="i8"){switch(e.endsWith("*")&&(e="*"),e){case"i1":return HEAP8[r];case"i8":return HEAP8[r];case"i16":return HEAP16[r>>1];case"i32":return HEAP32[r>>2];case"i64":return HEAP64[r>>3];case"float":return HEAPF32[r>>2];case"double":return HEAPF64[r>>3];case"*":return HEAPU32[r>>2];default:abort(`invalid type for getValue: ${e}`)}}var newDSO=(r,e,M)=>{var tr={refcount:1/0,name:r,exports:M,global:!0};return LDSO.loadedLibsByName[r]=tr,e!=null&&(LDSO.loadedLibsByHandle[e]=tr),tr},LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}},___heap_base=2765600,alignMemory=(r,e)=>Math.ceil(r/e)*e,getMemory=r=>{if(runtimeInitialized)return _calloc(r,1);var e=___heap_base,M=e+alignMemory(r,16);return ___heap_base=M,GOT.__heap_base.value=M,e},isInternalSym=r=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(r)||r.startsWith("__em_js__"),uleb128Encode=(r,e)=>{r<128?e.push(r):e.push(r%128|128,r>>7)},sigToWasmTypes=r=>{for(var e={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},M={parameters:[],results:r[0]=="v"?[]:[e[r[0]]]},tr=1;tr<r.length;++tr)M.parameters.push(e[r[tr]]);return M},generateFuncType=(r,e)=>{var M=r.slice(0,1),tr=r.slice(1),rr={i:127,p:127,j:126,f:125,d:124,e:111};e.push(96),uleb128Encode(tr.length,e);for(var ir=0;ir<tr.length;++ir)e.push(rr[tr[ir]]);M=="v"?e.push(0):e.push(1,rr[M])},convertJsFunctionToWasm=(r,e)=>{if(typeof WebAssembly.Function=="function")return new WebAssembly.Function(sigToWasmTypes(e),r);var M=[1];generateFuncType(e,M);var tr=[0,97,115,109,1,0,0,0,1];uleb128Encode(M.length,tr),tr.push(...M),tr.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var rr=new WebAssembly.Module(new Uint8Array(tr)),ir=new WebAssembly.Instance(rr,{e:{f:r}}),lr=ir.exports.f;return lr},wasmTableMirror=[],wasmTable=new WebAssembly.Table({initial:5610,element:"anyfunc"}),getWasmTableEntry=r=>{var e=wasmTableMirror[r];return e||(r>=wasmTableMirror.length&&(wasmTableMirror.length=r+1),wasmTableMirror[r]=e=wasmTable.get(r)),e},updateTableMap=(r,e)=>{if(functionsInTableMap)for(var M=r;M<r+e;M++){var tr=getWasmTableEntry(M);tr&&functionsInTableMap.set(tr,M)}},functionsInTableMap,getFunctionAddress=r=>(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(r)||0),freeTableIndexes=[],getEmptyTableSlot=()=>{if(freeTableIndexes.length)return freeTableIndexes.pop();try{wasmTable.grow(1)}catch(r){throw r instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":r}return wasmTable.length-1},setWasmTableEntry=(r,e)=>{wasmTable.set(r,e),wasmTableMirror[r]=wasmTable.get(r)},addFunction=(r,e)=>{var M=getFunctionAddress(r);if(M)return M;var tr=getEmptyTableSlot();try{setWasmTableEntry(tr,r)}catch(ir){if(!(ir instanceof TypeError))throw ir;var rr=convertJsFunctionToWasm(r,e);setWasmTableEntry(tr,rr)}return functionsInTableMap.set(r,tr),tr},updateGOT=(r,e)=>{for(var M in r)if(!isInternalSym(M)){var tr=r[M];GOT[M]||(GOT[M]=new WebAssembly.Global({value:"i32",mutable:!0})),GOT[M].value==0&&(typeof tr=="function"?GOT[M].value=addFunction(tr):typeof tr=="number"?GOT[M].value=tr:err(`unhandled export type for '${M}': ${typeof tr}`))}},relocateExports=(r,e,M)=>{var tr={};for(var rr in r){var ir=r[rr];typeof ir=="object"&&(ir=ir.value),typeof ir=="number"&&(ir+=e),tr[rr]=ir}return updateGOT(tr),tr},isSymbolDefined=r=>{var e=wasmImports[r];return!(!e||e.stub)},dynCall=(r,e,M=[])=>{var tr=getWasmTableEntry(e)(...M);return tr},stackSave=()=>_emscripten_stack_get_current(),stackRestore=r=>__emscripten_stack_restore(r),createInvokeFunction=r=>(e,...M)=>{var tr=stackSave();try{return dynCall(r,e,M)}catch(rr){if(stackRestore(tr),rr!==rr+0)throw rr;if(_setThrew(1,0),r[0]=="j")return 0n}},resolveGlobalSymbol=(r,e=!1)=>{var M;return isSymbolDefined(r)?M=wasmImports[r]:r.startsWith("invoke_")&&(M=wasmImports[r]=createInvokeFunction(r.split("_")[1])),{sym:M,name:r}},UTF8ToString=(r,e)=>r?UTF8ArrayToString(HEAPU8,r,e):"",loadWebAssemblyModule=(binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);currentModuleWeakSymbols=metadata.weakImports;function loadModule(){var firstLoad=!handle||!HEAP8[handle+8];if(firstLoad){var memAlign=Math.pow(2,metadata.memoryAlign),memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0,tableBase=metadata.tableSize?wasmTable.length:0;handle&&(HEAP8[handle+8]=1,HEAPU32[handle+12>>2]=memoryBase,HEAP32[handle+16>>2]=metadata.memorySize,HEAPU32[handle+20>>2]=tableBase,HEAP32[handle+24>>2]=metadata.tableSize)}else memoryBase=HEAPU32[handle+12>>2],tableBase=HEAPU32[handle+20>>2];var tableGrowthNeeded=tableBase+metadata.tableSize-wasmTable.length;tableGrowthNeeded>0&&wasmTable.grow(tableGrowthNeeded);var moduleExports;function resolveSymbol(r){var e=resolveGlobalSymbol(r).sym;return!e&&localScope&&(e=localScope[r]),e||(e=moduleExports[r]),e}var proxyHandler={get(r,e){switch(e){case"__memory_base":return memoryBase;case"__table_base":return tableBase}if(e in wasmImports&&!wasmImports[e].stub)return wasmImports[e];if(!(e in r)){var M;r[e]=(...tr)=>(M||(M=resolveSymbol(e)),M(...tr))}return r[e]}},proxy=new Proxy({},proxyHandler),info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize),moduleExports=relocateExports(instance.exports,memoryBase),flags.allowUndefined||reportUndefinedSymbols();function addEmAsm(addr,body){for(var args=[],arity=0;arity<16&&body.indexOf("$"+arity)!=-1;arity++)args.push("$"+arity);args=args.join(",");var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if("__start_em_asm"in moduleExports)for(var start=moduleExports.__start_em_asm,stop=moduleExports.__stop_em_asm;start<stop;){var jsString=UTF8ToString(start);addEmAsm(start,jsString),start=HEAPU8.indexOf(0,start)+1}function addEmJs(name,cSig,body){var jsArgs=[];if(cSig=cSig.slice(1,-1),cSig!="void"){cSig=cSig.split(",");for(var i in cSig){var jsArg=cSig[i].split(" ").pop();jsArgs.push(jsArg.replace("*",""))}}var func=`(${jsArgs}) => ${body};`;moduleExports[name]=eval(func)}for(var name in moduleExports)if(name.startsWith("__em_js__")){var start=moduleExports[name],jsString=UTF8ToString(start),parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]),delete moduleExports[name]}var applyRelocs=moduleExports.__wasm_apply_data_relocs;applyRelocs&&(runtimeInitialized?applyRelocs():__RELOC_FUNCS__.push(applyRelocs));var init=moduleExports.__wasm_call_ctors;return init&&(runtimeInitialized?init():__ATINIT__.push(init)),moduleExports}if(flags.loadAsync){if(binary instanceof WebAssembly.Module){var instance=new WebAssembly.Instance(binary,info);return Promise.resolve(postInstantiation(binary,instance))}return WebAssembly.instantiate(binary,info).then(r=>postInstantiation(r.module,r.instance))}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary),instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}return flags.loadAsync?metadata.neededDynlibs.reduce((r,e)=>r.then(()=>loadDynamicLibrary(e,flags,localScope)),Promise.resolve()).then(loadModule):(metadata.neededDynlibs.forEach(r=>loadDynamicLibrary(r,flags,localScope)),loadModule())},mergeLibSymbols=(r,e)=>{for(var[M,tr]of Object.entries(r)){let rr=lr=>{isSymbolDefined(lr)||(wasmImports[lr]=tr)};rr(M);let ir="__main_argc_argv";M=="main"&&rr(ir),M==ir&&rr("main")}},asyncLoad=async r=>{var e=await readAsync(r);return new Uint8Array(e)},preloadPlugins=Module.preloadPlugins||[],registerWasmPlugin=()=>{var r={promiseChainEnd:Promise.resolve(),canHandle:e=>!Module.noWasmDecoding&&e.endsWith(".so"),handle:(e,M,tr,rr)=>{r.promiseChainEnd=r.promiseChainEnd.then(()=>loadWebAssemblyModule(e,{loadAsync:!0,nodelete:!0},M,{})).then(ir=>{preloadedWasm[M]=ir,tr(e)},ir=>{err(`failed to instantiate wasm: ${M}: ${ir}`),rr()})}};preloadPlugins.push(r)},preloadedWasm={};function loadDynamicLibrary(r,e={global:!0,nodelete:!0},M,tr){var rr=LDSO.loadedLibsByName[r];if(rr)return e.global?rr.global||(rr.global=!0,mergeLibSymbols(rr.exports)):M&&Object.assign(M,rr.exports),e.nodelete&&rr.refcount!==1/0&&(rr.refcount=1/0),rr.refcount++,tr&&(LDSO.loadedLibsByHandle[tr]=rr),e.loadAsync?Promise.resolve(!0):!0;rr=newDSO(r,tr,"loading"),rr.refcount=e.nodelete?1/0:1,rr.global=e.global;function ir(){if(tr){var mr=HEAPU32[tr+28>>2],hr=HEAPU32[tr+32>>2];if(mr&&hr){var fr=HEAP8.slice(mr,mr+hr);return e.loadAsync?Promise.resolve(fr):fr}}var _r=locateFile(r);if(e.loadAsync)return asyncLoad(_r);if(!readBinary)throw new Error(`${_r}: file not found, and synchronous loading of external files is not available`);return readBinary(_r)}function lr(){var mr=preloadedWasm[r];return mr?e.loadAsync?Promise.resolve(mr):mr:e.loadAsync?ir().then(hr=>loadWebAssemblyModule(hr,e,r,M,tr)):loadWebAssemblyModule(ir(),e,r,M,tr)}function dr(mr){rr.global?mergeLibSymbols(mr):M&&Object.assign(M,mr),rr.exports=mr}return e.loadAsync?lr().then(mr=>(dr(mr),!0)):(dr(lr()),!0)}var reportUndefinedSymbols=()=>{for(var[r,e]of Object.entries(GOT))if(e.value==0){var M=resolveGlobalSymbol(r,!0).sym;if(!M&&!e.required)continue;if(typeof M=="function")e.value=addFunction(M,M.sig);else if(typeof M=="number")e.value=M;else throw new Error(`bad export type for '${r}': ${typeof M}`)}},loadDylibs=()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency(),dynamicLibraries.reduce((r,e)=>r.then(()=>loadDynamicLibrary(e,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0})),Promise.resolve()).then(()=>{reportUndefinedSymbols(),removeRunDependency()})},noExitRuntime=Module.noExitRuntime||!0;function setValue(r,e,M="i8"){switch(M.endsWith("*")&&(M="*"),M){case"i1":HEAP8[r]=e;break;case"i8":HEAP8[r]=e;break;case"i16":HEAP16[r>>1]=e;break;case"i32":HEAP32[r>>2]=e;break;case"i64":HEAP64[r>>3]=BigInt(e);break;case"float":HEAPF32[r>>2]=e;break;case"double":HEAPF64[r>>3]=e;break;case"*":HEAPU32[r>>2]=e;break;default:abort(`invalid type for setValue: ${M}`)}}var ___assert_fail=(r,e,M,tr)=>abort(`Assertion failed: ${UTF8ToString(r)}, at: `+[e?UTF8ToString(e):"unknown filename",M,tr?UTF8ToString(tr):"unknown function"]);___assert_fail.sig="vppip";var ___call_sighandler=(r,e)=>getWasmTableEntry(r)(e);___call_sighandler.sig="vpi";var ___memory_base=new WebAssembly.Global({value:"i32",mutable:!1},1024);Module.___memory_base=___memory_base;var ___stack_pointer=new WebAssembly.Global({value:"i32",mutable:!0},2765600);Module.___stack_pointer=___stack_pointer;var PATH={isAbs:r=>r.charAt(0)==="/",splitPath:r=>{var e=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return e.exec(r).slice(1)},normalizeArray:(r,e)=>{for(var M=0,tr=r.length-1;tr>=0;tr--){var rr=r[tr];rr==="."?r.splice(tr,1):rr===".."?(r.splice(tr,1),M++):M&&(r.splice(tr,1),M--)}if(e)for(;M;M--)r.unshift("..");return r},normalize:r=>{var e=PATH.isAbs(r),M=r.substr(-1)==="/";return r=PATH.normalizeArray(r.split("/").filter(tr=>!!tr),!e).join("/"),!r&&!e&&(r="."),r&&M&&(r+="/"),(e?"/":"")+r},dirname:r=>{var e=PATH.splitPath(r),M=e[0],tr=e[1];return!M&&!tr?".":(tr&&(tr=tr.substr(0,tr.length-1)),M+tr)},basename:r=>{if(r==="/")return"/";r=PATH.normalize(r),r=r.replace(/\/$/,"");var e=r.lastIndexOf("/");return e===-1?r:r.substr(e+1)},join:(...r)=>PATH.normalize(r.join("/")),join2:(r,e)=>PATH.normalize(r+"/"+e)},initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return tr=>crypto.getRandomValues(tr);if(ENVIRONMENT_IS_NODE)try{var r=require("crypto"),e=r.randomFillSync;if(e)return tr=>r.randomFillSync(tr);var M=r.randomBytes;return tr=>(tr.set(M(tr.byteLength)),tr)}catch{}abort("initRandomDevice")},randomFill=r=>(randomFill=initRandomFill())(r),PATH_FS={resolve:(...r)=>{for(var e="",M=!1,tr=r.length-1;tr>=-1&&!M;tr--){var rr=tr>=0?r[tr]:FS.cwd();if(typeof rr!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!rr)return"";e=rr+"/"+e,M=PATH.isAbs(rr)}return e=PATH.normalizeArray(e.split("/").filter(ir=>!!ir),!M).join("/"),(M?"/":"")+e||"."},relative:(r,e)=>{r=PATH_FS.resolve(r).substr(1),e=PATH_FS.resolve(e).substr(1);function M(hr){for(var fr=0;fr<hr.length&&hr[fr]==="";fr++);for(var _r=hr.length-1;_r>=0&&hr[_r]==="";_r--);return fr>_r?[]:hr.slice(fr,_r-fr+1)}for(var tr=M(r.split("/")),rr=M(e.split("/")),ir=Math.min(tr.length,rr.length),lr=ir,dr=0;dr<ir;dr++)if(tr[dr]!==rr[dr]){lr=dr;break}for(var mr=[],dr=lr;dr<tr.length;dr++)mr.push("..");return mr=mr.concat(rr.slice(lr)),mr.join("/")}},FS_stdin_getChar_buffer=[],lengthBytesUTF8=r=>{for(var e=0,M=0;M<r.length;++M){var tr=r.charCodeAt(M);tr<=127?e++:tr<=2047?e+=2:tr>=55296&&tr<=57343?(e+=4,++M):e+=3}return e},stringToUTF8Array=(r,e,M,tr)=>{if(!(tr>0))return 0;for(var rr=M,ir=M+tr-1,lr=0;lr<r.length;++lr){var dr=r.charCodeAt(lr);if(dr>=55296&&dr<=57343){var mr=r.charCodeAt(++lr);dr=65536+((dr&1023)<<10)|mr&1023}if(dr<=127){if(M>=ir)break;e[M++]=dr}else if(dr<=2047){if(M+1>=ir)break;e[M++]=192|dr>>6,e[M++]=128|dr&63}else if(dr<=65535){if(M+2>=ir)break;e[M++]=224|dr>>12,e[M++]=128|dr>>6&63,e[M++]=128|dr&63}else{if(M+3>=ir)break;e[M++]=240|dr>>18,e[M++]=128|dr>>12&63,e[M++]=128|dr>>6&63,e[M++]=128|dr&63}}return e[M]=0,M-rr};function intArrayFromString(r,e,M){var tr=lengthBytesUTF8(r)+1,rr=new Array(tr),ir=stringToUTF8Array(r,rr,0,rr.length);return rr.length=ir,rr}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var r=null;if(ENVIRONMENT_IS_NODE){var e=256,M=Buffer.alloc(e),tr=0,rr=process$1.stdin.fd;try{tr=fs.readSync(rr,M,0,e)}catch(ir){if(ir.toString().includes("EOF"))tr=0;else throw ir}tr>0&&(r=M.slice(0,tr).toString("utf-8"))}else typeof window<"u"&&typeof window.prompt=="function"&&(r=window.prompt("Input: "),r!==null&&(r+=`
163
+ `));if(!r)return null;FS_stdin_getChar_buffer=intArrayFromString(r)}return FS_stdin_getChar_buffer.shift()},TTY={ttys:[],init(){},shutdown(){},register(r,e){TTY.ttys[r]={input:[],output:[],ops:e},FS.registerDevice(r,TTY.stream_ops)},stream_ops:{open(r){var e=TTY.ttys[r.node.rdev];if(!e)throw new FS.ErrnoError(43);r.tty=e,r.seekable=!1},close(r){r.tty.ops.fsync(r.tty)},fsync(r){r.tty.ops.fsync(r.tty)},read(r,e,M,tr,rr){if(!r.tty||!r.tty.ops.get_char)throw new FS.ErrnoError(60);for(var ir=0,lr=0;lr<tr;lr++){var dr;try{dr=r.tty.ops.get_char(r.tty)}catch{throw new FS.ErrnoError(29)}if(dr===void 0&&ir===0)throw new FS.ErrnoError(6);if(dr==null)break;ir++,e[M+lr]=dr}return ir&&(r.node.atime=Date.now()),ir},write(r,e,M,tr,rr){if(!r.tty||!r.tty.ops.put_char)throw new FS.ErrnoError(60);try{for(var ir=0;ir<tr;ir++)r.tty.ops.put_char(r.tty,e[M+ir])}catch{throw new FS.ErrnoError(29)}return tr&&(r.node.mtime=r.node.ctime=Date.now()),ir}},default_tty_ops:{get_char(r){return FS_stdin_getChar()},put_char(r,e){e===null||e===10?(out(UTF8ArrayToString(r.output)),r.output=[]):e!=0&&r.output.push(e)},fsync(r){r.output&&r.output.length>0&&(out(UTF8ArrayToString(r.output)),r.output=[])},ioctl_tcgets(r){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(r,e,M){return 0},ioctl_tiocgwinsz(r){return[24,80]}},default_tty1_ops:{put_char(r,e){e===null||e===10?(err(UTF8ArrayToString(r.output)),r.output=[]):e!=0&&r.output.push(e)},fsync(r){r.output&&r.output.length>0&&(err(UTF8ArrayToString(r.output)),r.output=[])}}},zeroMemory=(r,e)=>{HEAPU8.fill(0,r,r+e)},mmapAlloc=r=>{r=alignMemory(r,65536);var e=_emscripten_builtin_memalign(65536,r);return e&&zeroMemory(e,r),e},MEMFS={ops_table:null,mount(r){return MEMFS.createNode(null,"/",16895,0)},createNode(r,e,M,tr){if(FS.isBlkdev(M)||FS.isFIFO(M))throw new FS.ErrnoError(63);MEMFS.ops_table||(MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}});var rr=FS.createNode(r,e,M,tr);return FS.isDir(rr.mode)?(rr.node_ops=MEMFS.ops_table.dir.node,rr.stream_ops=MEMFS.ops_table.dir.stream,rr.contents={}):FS.isFile(rr.mode)?(rr.node_ops=MEMFS.ops_table.file.node,rr.stream_ops=MEMFS.ops_table.file.stream,rr.usedBytes=0,rr.contents=null):FS.isLink(rr.mode)?(rr.node_ops=MEMFS.ops_table.link.node,rr.stream_ops=MEMFS.ops_table.link.stream):FS.isChrdev(rr.mode)&&(rr.node_ops=MEMFS.ops_table.chrdev.node,rr.stream_ops=MEMFS.ops_table.chrdev.stream),rr.atime=rr.mtime=rr.ctime=Date.now(),r&&(r.contents[e]=rr,r.atime=r.mtime=r.ctime=rr.atime),rr},getFileDataAsTypedArray(r){return r.contents?r.contents.subarray?r.contents.subarray(0,r.usedBytes):new Uint8Array(r.contents):new Uint8Array(0)},expandFileStorage(r,e){var M=r.contents?r.contents.length:0;if(!(M>=e)){var tr=1048576;e=Math.max(e,M*(M<tr?2:1.125)>>>0),M!=0&&(e=Math.max(e,256));var rr=r.contents;r.contents=new Uint8Array(e),r.usedBytes>0&&r.contents.set(rr.subarray(0,r.usedBytes),0)}},resizeFileStorage(r,e){if(r.usedBytes!=e)if(e==0)r.contents=null,r.usedBytes=0;else{var M=r.contents;r.contents=new Uint8Array(e),M&&r.contents.set(M.subarray(0,Math.min(e,r.usedBytes))),r.usedBytes=e}},node_ops:{getattr(r){var e={};return e.dev=FS.isChrdev(r.mode)?r.id:1,e.ino=r.id,e.mode=r.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=r.rdev,FS.isDir(r.mode)?e.size=4096:FS.isFile(r.mode)?e.size=r.usedBytes:FS.isLink(r.mode)?e.size=r.link.length:e.size=0,e.atime=new Date(r.atime),e.mtime=new Date(r.mtime),e.ctime=new Date(r.ctime),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr(r,e){for(let M of["mode","atime","mtime","ctime"])e[M]&&(r[M]=e[M]);e.size!==void 0&&MEMFS.resizeFileStorage(r,e.size)},lookup(r,e){throw MEMFS.doesNotExistError},mknod(r,e,M,tr){return MEMFS.createNode(r,e,M,tr)},rename(r,e,M){var tr;try{tr=FS.lookupNode(e,M)}catch{}if(tr){if(FS.isDir(r.mode))for(var rr in tr.contents)throw new FS.ErrnoError(55);FS.hashRemoveNode(tr)}delete r.parent.contents[r.name],e.contents[M]=r,r.name=M,e.ctime=e.mtime=r.parent.ctime=r.parent.mtime=Date.now()},unlink(r,e){delete r.contents[e],r.ctime=r.mtime=Date.now()},rmdir(r,e){var M=FS.lookupNode(r,e);for(var tr in M.contents)throw new FS.ErrnoError(55);delete r.contents[e],r.ctime=r.mtime=Date.now()},readdir(r){return[".","..",...Object.keys(r.contents)]},symlink(r,e,M){var tr=MEMFS.createNode(r,e,41471,0);return tr.link=M,tr},readlink(r){if(!FS.isLink(r.mode))throw new FS.ErrnoError(28);return r.link}},stream_ops:{read(r,e,M,tr,rr){var ir=r.node.contents;if(rr>=r.node.usedBytes)return 0;var lr=Math.min(r.node.usedBytes-rr,tr);if(lr>8&&ir.subarray)e.set(ir.subarray(rr,rr+lr),M);else for(var dr=0;dr<lr;dr++)e[M+dr]=ir[rr+dr];return lr},write(r,e,M,tr,rr,ir){if(e.buffer===HEAP8.buffer&&(ir=!1),!tr)return 0;var lr=r.node;if(lr.mtime=lr.ctime=Date.now(),e.subarray&&(!lr.contents||lr.contents.subarray)){if(ir)return lr.contents=e.subarray(M,M+tr),lr.usedBytes=tr,tr;if(lr.usedBytes===0&&rr===0)return lr.contents=e.slice(M,M+tr),lr.usedBytes=tr,tr;if(rr+tr<=lr.usedBytes)return lr.contents.set(e.subarray(M,M+tr),rr),tr}if(MEMFS.expandFileStorage(lr,rr+tr),lr.contents.subarray&&e.subarray)lr.contents.set(e.subarray(M,M+tr),rr);else for(var dr=0;dr<tr;dr++)lr.contents[rr+dr]=e[M+dr];return lr.usedBytes=Math.max(lr.usedBytes,rr+tr),tr},llseek(r,e,M){var tr=e;if(M===1?tr+=r.position:M===2&&FS.isFile(r.node.mode)&&(tr+=r.node.usedBytes),tr<0)throw new FS.ErrnoError(28);return tr},allocate(r,e,M){MEMFS.expandFileStorage(r.node,e+M),r.node.usedBytes=Math.max(r.node.usedBytes,e+M)},mmap(r,e,M,tr,rr){if(!FS.isFile(r.node.mode))throw new FS.ErrnoError(43);var ir,lr,dr=r.node.contents;if(!(rr&2)&&dr&&dr.buffer===HEAP8.buffer)lr=!1,ir=dr.byteOffset;else{if(lr=!0,ir=mmapAlloc(e),!ir)throw new FS.ErrnoError(48);dr&&((M>0||M+e<dr.length)&&(dr.subarray?dr=dr.subarray(M,M+e):dr=Array.prototype.slice.call(dr,M,M+e)),HEAP8.set(dr,ir))}return{ptr:ir,allocated:lr}},msync(r,e,M,tr,rr){return MEMFS.stream_ops.write(r,e,0,tr,M,!1),0}}},FS_createDataFile=(r,e,M,tr,rr,ir)=>{FS.createDataFile(r,e,M,tr,rr,ir)},FS_handledByPreloadPlugin=(r,e,M,tr)=>{typeof Browser<"u"&&Browser.init();var rr=!1;return preloadPlugins.forEach(ir=>{rr||ir.canHandle(e)&&(ir.handle(r,e,M,tr),rr=!0)}),rr},FS_createPreloadedFile=(r,e,M,tr,rr,ir,lr,dr,mr,hr)=>{var fr=e?PATH_FS.resolve(PATH.join2(r,e)):r;function _r(gr){function br(wr){hr?.(),dr||FS_createDataFile(r,e,wr,tr,rr,mr),ir?.(),removeRunDependency()}FS_handledByPreloadPlugin(gr,fr,br,()=>{lr?.(),removeRunDependency()})||br(gr)}addRunDependency(),typeof M=="string"?asyncLoad(M).then(_r,lr):_r(M)},FS_modeStringToFlags=r=>{var e={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},M=e[r];if(typeof M>"u")throw new Error(`Unknown file open mode: ${r}`);return M},FS_getMode=(r,e)=>{var M=0;return r&&(M|=365),e&&(M|=146),M},IDBFS={dbs:{},indexedDB:()=>{if(typeof indexedDB<"u")return indexedDB;var r=null;return typeof window=="object"&&(r=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB),r},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",queuePersist:r=>{function e(){r.idbPersistState==="again"?M():r.idbPersistState=0}function M(){r.idbPersistState="idb",IDBFS.syncfs(r,!1,e)}r.idbPersistState?r.idbPersistState==="idb"&&(r.idbPersistState="again"):r.idbPersistState=setTimeout(M,0)},mount:r=>{var e=MEMFS.mount(r);if(r?.opts?.autoPersist){e.idbPersistState=0;var M=e.node_ops;e.node_ops=Object.assign({},e.node_ops),e.node_ops.mknod=(tr,rr,ir,lr)=>{var dr=M.mknod(tr,rr,ir,lr);return dr.node_ops=e.node_ops,dr.idbfs_mount=e.mount,dr.memfs_stream_ops=dr.stream_ops,dr.stream_ops=Object.assign({},dr.stream_ops),dr.stream_ops.write=(mr,hr,fr,_r,gr,br)=>(mr.node.isModified=!0,dr.memfs_stream_ops.write(mr,hr,fr,_r,gr,br)),dr.stream_ops.close=mr=>{var hr=mr.node;if(hr.isModified&&(IDBFS.queuePersist(hr.idbfs_mount),hr.isModified=!1),hr.memfs_stream_ops.close)return hr.memfs_stream_ops.close(mr)},dr},e.node_ops.mkdir=(...tr)=>(IDBFS.queuePersist(e.mount),M.mkdir(...tr)),e.node_ops.rmdir=(...tr)=>(IDBFS.queuePersist(e.mount),M.rmdir(...tr)),e.node_ops.symlink=(...tr)=>(IDBFS.queuePersist(e.mount),M.symlink(...tr)),e.node_ops.unlink=(...tr)=>(IDBFS.queuePersist(e.mount),M.unlink(...tr)),e.node_ops.rename=(...tr)=>(IDBFS.queuePersist(e.mount),M.rename(...tr))}return e},syncfs:(r,e,M)=>{IDBFS.getLocalSet(r,(tr,rr)=>{if(tr)return M(tr);IDBFS.getRemoteSet(r,(ir,lr)=>{if(ir)return M(ir);var dr=e?lr:rr,mr=e?rr:lr;IDBFS.reconcile(dr,mr,M)})})},quit:()=>{Object.values(IDBFS.dbs).forEach(r=>r.close()),IDBFS.dbs={}},getDB:(r,e)=>{var M=IDBFS.dbs[r];if(M)return e(null,M);var tr;try{tr=IDBFS.indexedDB().open(r,IDBFS.DB_VERSION)}catch(rr){return e(rr)}if(!tr)return e("Unable to connect to IndexedDB");tr.onupgradeneeded=rr=>{var ir=rr.target.result,lr=rr.target.transaction,dr;ir.objectStoreNames.contains(IDBFS.DB_STORE_NAME)?dr=lr.objectStore(IDBFS.DB_STORE_NAME):dr=ir.createObjectStore(IDBFS.DB_STORE_NAME),dr.indexNames.contains("timestamp")||dr.createIndex("timestamp","timestamp",{unique:!1})},tr.onsuccess=()=>{M=tr.result,IDBFS.dbs[r]=M,e(null,M)},tr.onerror=rr=>{e(rr.target.error),rr.preventDefault()}},getLocalSet:(r,e)=>{var M={};function tr(mr){return mr!=="."&&mr!==".."}function rr(mr){return hr=>PATH.join2(mr,hr)}for(var ir=FS.readdir(r.mountpoint).filter(tr).map(rr(r.mountpoint));ir.length;){var lr=ir.pop(),dr;try{dr=FS.stat(lr)}catch(mr){return e(mr)}FS.isDir(dr.mode)&&ir.push(...FS.readdir(lr).filter(tr).map(rr(lr))),M[lr]={timestamp:dr.mtime}}return e(null,{type:"local",entries:M})},getRemoteSet:(r,e)=>{var M={};IDBFS.getDB(r.mountpoint,(tr,rr)=>{if(tr)return e(tr);try{var ir=rr.transaction([IDBFS.DB_STORE_NAME],"readonly");ir.onerror=mr=>{e(mr.target.error),mr.preventDefault()};var lr=ir.objectStore(IDBFS.DB_STORE_NAME),dr=lr.index("timestamp");dr.openKeyCursor().onsuccess=mr=>{var hr=mr.target.result;if(!hr)return e(null,{type:"remote",db:rr,entries:M});M[hr.primaryKey]={timestamp:hr.key},hr.continue()}}catch(mr){return e(mr)}})},loadLocalEntry:(r,e)=>{var M,tr;try{var rr=FS.lookupPath(r);tr=rr.node,M=FS.stat(r)}catch(ir){return e(ir)}return FS.isDir(M.mode)?e(null,{timestamp:M.mtime,mode:M.mode}):FS.isFile(M.mode)?(tr.contents=MEMFS.getFileDataAsTypedArray(tr),e(null,{timestamp:M.mtime,mode:M.mode,contents:tr.contents})):e(new Error("node type not supported"))},storeLocalEntry:(r,e,M)=>{try{if(FS.isDir(e.mode))FS.mkdirTree(r,e.mode);else if(FS.isFile(e.mode))FS.writeFile(r,e.contents,{canOwn:!0});else return M(new Error("node type not supported"));FS.chmod(r,e.mode),FS.utime(r,e.timestamp,e.timestamp)}catch(tr){return M(tr)}M(null)},removeLocalEntry:(r,e)=>{try{var M=FS.stat(r);FS.isDir(M.mode)?FS.rmdir(r):FS.isFile(M.mode)&&FS.unlink(r)}catch(tr){return e(tr)}e(null)},loadRemoteEntry:(r,e,M)=>{var tr=r.get(e);tr.onsuccess=rr=>M(null,rr.target.result),tr.onerror=rr=>{M(rr.target.error),rr.preventDefault()}},storeRemoteEntry:(r,e,M,tr)=>{try{var rr=r.put(M,e)}catch(ir){tr(ir);return}rr.onsuccess=ir=>tr(),rr.onerror=ir=>{tr(ir.target.error),ir.preventDefault()}},removeRemoteEntry:(r,e,M)=>{var tr=r.delete(e);tr.onsuccess=rr=>M(),tr.onerror=rr=>{M(rr.target.error),rr.preventDefault()}},reconcile:(r,e,M)=>{var tr=0,rr=[];Object.keys(r.entries).forEach(_r=>{var gr=r.entries[_r],br=e.entries[_r];(!br||gr.timestamp.getTime()!=br.timestamp.getTime())&&(rr.push(_r),tr++)});var ir=[];if(Object.keys(e.entries).forEach(_r=>{r.entries[_r]||(ir.push(_r),tr++)}),!tr)return M(null);var lr=!1,dr=r.type==="remote"?r.db:e.db,mr=dr.transaction([IDBFS.DB_STORE_NAME],"readwrite"),hr=mr.objectStore(IDBFS.DB_STORE_NAME);function fr(_r){if(_r&&!lr)return lr=!0,M(_r)}mr.onerror=mr.onabort=_r=>{fr(_r.target.error),_r.preventDefault()},mr.oncomplete=_r=>{lr||M(null)},rr.sort().forEach(_r=>{e.type==="local"?IDBFS.loadRemoteEntry(hr,_r,(gr,br)=>{if(gr)return fr(gr);IDBFS.storeLocalEntry(_r,br,fr)}):IDBFS.loadLocalEntry(_r,(gr,br)=>{if(gr)return fr(gr);IDBFS.storeRemoteEntry(hr,_r,br,fr)})}),ir.sort().reverse().forEach(_r=>{e.type==="local"?IDBFS.removeLocalEntry(_r,fr):IDBFS.removeRemoteEntry(hr,_r,fr)})}},ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},NODEFS={isWindows:!1,staticInit(){NODEFS.isWindows=!!process$1.platform.match(/^win/);var r=process$1.binding("constants");r.fs&&(r=r.fs),NODEFS.flagsForNodeMap={1024:r.O_APPEND,64:r.O_CREAT,128:r.O_EXCL,256:r.O_NOCTTY,0:r.O_RDONLY,2:r.O_RDWR,4096:r.O_SYNC,512:r.O_TRUNC,1:r.O_WRONLY,131072:r.O_NOFOLLOW}},convertNodeCode(r){var e=r.code;return ERRNO_CODES[e]},tryFSOperation(r){try{return r()}catch(e){throw e.code?e.code==="UNKNOWN"?new FS.ErrnoError(28):new FS.ErrnoError(NODEFS.convertNodeCode(e)):e}},mount(r){return NODEFS.createNode(null,"/",NODEFS.getMode(r.opts.root),0)},createNode(r,e,M,tr){if(!FS.isDir(M)&&!FS.isFile(M)&&!FS.isLink(M))throw new FS.ErrnoError(28);var rr=FS.createNode(r,e,M);return rr.node_ops=NODEFS.node_ops,rr.stream_ops=NODEFS.stream_ops,rr},getMode(r){return NODEFS.tryFSOperation(()=>{var e=fs.lstatSync(r).mode;return NODEFS.isWindows&&(e|=(e&292)>>2),e})},realPath(r){for(var e=[];r.parent!==r;)e.push(r.name),r=r.parent;return e.push(r.mount.opts.root),e.reverse(),PATH.join(...e)},flagsForNode(r){r&=-2097153,r&=-2049,r&=-32769,r&=-524289,r&=-65537;var e=0;for(var M in NODEFS.flagsForNodeMap)r&M&&(e|=NODEFS.flagsForNodeMap[M],r^=M);if(r)throw new FS.ErrnoError(28);return e},node_ops:{getattr(r){var e=NODEFS.realPath(r),M;return NODEFS.tryFSOperation(()=>M=fs.lstatSync(e)),NODEFS.isWindows&&(M.blksize||(M.blksize=4096),M.blocks||(M.blocks=(M.size+M.blksize-1)/M.blksize|0),M.mode|=(M.mode&292)>>2),{dev:M.dev,ino:M.ino,mode:M.mode,nlink:M.nlink,uid:M.uid,gid:M.gid,rdev:M.rdev,size:M.size,atime:M.atime,mtime:M.mtime,ctime:M.ctime,blksize:M.blksize,blocks:M.blocks}},setattr(r,e){var M=NODEFS.realPath(r);NODEFS.tryFSOperation(()=>{if(e.mode!==void 0){var tr=e.mode;NODEFS.isWindows&&(tr&=384),fs.chmodSync(M,tr),r.mode=e.mode}if(e.atime||e.mtime){var rr=e.atime&&new Date(e.atime),ir=e.mtime&&new Date(e.mtime);fs.utimesSync(M,rr,ir)}e.size!==void 0&&fs.truncateSync(M,e.size)})},lookup(r,e){var M=PATH.join2(NODEFS.realPath(r),e),tr=NODEFS.getMode(M);return NODEFS.createNode(r,e,tr)},mknod(r,e,M,tr){var rr=NODEFS.createNode(r,e,M,tr),ir=NODEFS.realPath(rr);return NODEFS.tryFSOperation(()=>{FS.isDir(rr.mode)?fs.mkdirSync(ir,rr.mode):fs.writeFileSync(ir,"",{mode:rr.mode})}),rr},rename(r,e,M){var tr=NODEFS.realPath(r),rr=PATH.join2(NODEFS.realPath(e),M);try{FS.unlink(rr)}catch{}NODEFS.tryFSOperation(()=>fs.renameSync(tr,rr)),r.name=M},unlink(r,e){var M=PATH.join2(NODEFS.realPath(r),e);NODEFS.tryFSOperation(()=>fs.unlinkSync(M))},rmdir(r,e){var M=PATH.join2(NODEFS.realPath(r),e);NODEFS.tryFSOperation(()=>fs.rmdirSync(M))},readdir(r){var e=NODEFS.realPath(r);return NODEFS.tryFSOperation(()=>fs.readdirSync(e))},symlink(r,e,M){var tr=PATH.join2(NODEFS.realPath(r),e);NODEFS.tryFSOperation(()=>fs.symlinkSync(M,tr))},readlink(r){var e=NODEFS.realPath(r);return NODEFS.tryFSOperation(()=>fs.readlinkSync(e))},statfs(r){var e=NODEFS.tryFSOperation(()=>fs.statfsSync(r));return e.frsize=e.bsize,e}},stream_ops:{open(r){var e=NODEFS.realPath(r.node);NODEFS.tryFSOperation(()=>{FS.isFile(r.node.mode)&&(r.shared.refcount=1,r.nfd=fs.openSync(e,NODEFS.flagsForNode(r.flags)))})},close(r){NODEFS.tryFSOperation(()=>{FS.isFile(r.node.mode)&&r.nfd&&--r.shared.refcount===0&&fs.closeSync(r.nfd)})},dup(r){r.shared.refcount++},read(r,e,M,tr,rr){return tr===0?0:NODEFS.tryFSOperation(()=>fs.readSync(r.nfd,new Int8Array(e.buffer,M,tr),0,tr,rr))},write(r,e,M,tr,rr){return NODEFS.tryFSOperation(()=>fs.writeSync(r.nfd,new Int8Array(e.buffer,M,tr),0,tr,rr))},llseek(r,e,M){var tr=e;if(M===1?tr+=r.position:M===2&&FS.isFile(r.node.mode)&&NODEFS.tryFSOperation(()=>{var rr=fs.fstatSync(r.nfd);tr+=rr.size}),tr<0)throw new FS.ErrnoError(28);return tr},mmap(r,e,M,tr,rr){if(!FS.isFile(r.node.mode))throw new FS.ErrnoError(43);var ir=mmapAlloc(e);return NODEFS.stream_ops.read(r,HEAP8,ir,e,M),{ptr:ir,allocated:!0}},msync(r,e,M,tr,rr){return NODEFS.stream_ops.write(r,e,0,tr,M,!1),0}}},FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(r){P$1(this,"name","ErrnoError"),this.errno=r}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){P$1(this,"shared",{})}get object(){return this.node}set object(r){this.node=r}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(r){this.shared.flags=r}get position(){return this.shared.position}set position(r){this.shared.position=r}},FSNode:class{constructor(r,e,M,tr){P$1(this,"node_ops",{}),P$1(this,"stream_ops",{}),P$1(this,"readMode",365),P$1(this,"writeMode",146),P$1(this,"mounted",null),r||(r=this),this.parent=r,this.mount=r.mount,this.id=FS.nextInode++,this.name=e,this.mode=M,this.rdev=tr,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(r){r?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(r){r?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(r,e={}){if(!r)return{path:"",node:null};e.follow_mount??(e.follow_mount=!0),PATH.isAbs(r)||(r=FS.cwd()+"/"+r);e:for(var M=0;M<40;M++){for(var tr=r.split("/").filter(hr=>!!hr&&hr!=="."),rr=FS.root,ir="/",lr=0;lr<tr.length;lr++){var dr=lr===tr.length-1;if(dr&&e.parent)break;if(tr[lr]===".."){ir=PATH.dirname(ir),rr=rr.parent;continue}ir=PATH.join2(ir,tr[lr]);try{rr=FS.lookupNode(rr,tr[lr])}catch(hr){if(hr?.errno===44&&dr&&e.noent_okay)return{path:ir};throw hr}if(FS.isMountpoint(rr)&&(!dr||e.follow_mount)&&(rr=rr.mounted.root),FS.isLink(rr.mode)&&(!dr||e.follow)){if(!rr.node_ops.readlink)throw new FS.ErrnoError(52);var mr=rr.node_ops.readlink(rr);PATH.isAbs(mr)||(mr=PATH.dirname(ir)+"/"+mr),r=mr+"/"+tr.slice(lr+1).join("/");continue e}}return{path:ir,node:rr}}throw new FS.ErrnoError(32)},getPath(r){for(var e;;){if(FS.isRoot(r)){var M=r.mount.mountpoint;return e?M[M.length-1]!=="/"?`${M}/${e}`:M+e:M}e=e?`${r.name}/${e}`:r.name,r=r.parent}},hashName(r,e){for(var M=0,tr=0;tr<e.length;tr++)M=(M<<5)-M+e.charCodeAt(tr)|0;return(r+M>>>0)%FS.nameTable.length},hashAddNode(r){var e=FS.hashName(r.parent.id,r.name);r.name_next=FS.nameTable[e],FS.nameTable[e]=r},hashRemoveNode(r){var e=FS.hashName(r.parent.id,r.name);if(FS.nameTable[e]===r)FS.nameTable[e]=r.name_next;else for(var M=FS.nameTable[e];M;){if(M.name_next===r){M.name_next=r.name_next;break}M=M.name_next}},lookupNode(r,e){var M=FS.mayLookup(r);if(M)throw new FS.ErrnoError(M);for(var tr=FS.hashName(r.id,e),rr=FS.nameTable[tr];rr;rr=rr.name_next){var ir=rr.name;if(rr.parent.id===r.id&&ir===e)return rr}return FS.lookup(r,e)},createNode(r,e,M,tr){var rr=new FS.FSNode(r,e,M,tr);return FS.hashAddNode(rr),rr},destroyNode(r){FS.hashRemoveNode(r)},isRoot(r){return r===r.parent},isMountpoint(r){return!!r.mounted},isFile(r){return(r&61440)===32768},isDir(r){return(r&61440)===16384},isLink(r){return(r&61440)===40960},isChrdev(r){return(r&61440)===8192},isBlkdev(r){return(r&61440)===24576},isFIFO(r){return(r&61440)===4096},isSocket(r){return(r&49152)===49152},flagsToPermissionString(r){var e=["r","w","rw"][r&3];return r&512&&(e+="w"),e},nodePermissions(r,e){return FS.ignorePermissions?0:e.includes("r")&&!(r.mode&292)||e.includes("w")&&!(r.mode&146)||e.includes("x")&&!(r.mode&73)?2:0},mayLookup(r){if(!FS.isDir(r.mode))return 54;var e=FS.nodePermissions(r,"x");return e||(r.node_ops.lookup?0:2)},mayCreate(r,e){if(!FS.isDir(r.mode))return 54;try{var M=FS.lookupNode(r,e);return 20}catch{}return FS.nodePermissions(r,"wx")},mayDelete(r,e,M){var tr;try{tr=FS.lookupNode(r,e)}catch(ir){return ir.errno}var rr=FS.nodePermissions(r,"wx");if(rr)return rr;if(M){if(!FS.isDir(tr.mode))return 54;if(FS.isRoot(tr)||FS.getPath(tr)===FS.cwd())return 10}else if(FS.isDir(tr.mode))return 31;return 0},mayOpen(r,e){return r?FS.isLink(r.mode)?32:FS.isDir(r.mode)&&(FS.flagsToPermissionString(e)!=="r"||e&512)?31:FS.nodePermissions(r,FS.flagsToPermissionString(e)):44},MAX_OPEN_FDS:4096,nextfd(){for(var r=0;r<=FS.MAX_OPEN_FDS;r++)if(!FS.streams[r])return r;throw new FS.ErrnoError(33)},getStreamChecked(r){var e=FS.getStream(r);if(!e)throw new FS.ErrnoError(8);return e},getStream:r=>FS.streams[r],createStream(r,e=-1){return r=Object.assign(new FS.FSStream,r),e==-1&&(e=FS.nextfd()),r.fd=e,FS.streams[e]=r,r},closeStream(r){FS.streams[r]=null},dupStream(r,e=-1){var M=FS.createStream(r,e);return M.stream_ops?.dup?.(M),M},chrdev_stream_ops:{open(r){var e=FS.getDevice(r.node.rdev);r.stream_ops=e.stream_ops,r.stream_ops.open?.(r)},llseek(){throw new FS.ErrnoError(70)}},major:r=>r>>8,minor:r=>r&255,makedev:(r,e)=>r<<8|e,registerDevice(r,e){FS.devices[r]={stream_ops:e}},getDevice:r=>FS.devices[r],getMounts(r){for(var e=[],M=[r];M.length;){var tr=M.pop();e.push(tr),M.push(...tr.mounts)}return e},syncfs(r,e){typeof r=="function"&&(e=r,r=!1),FS.syncFSRequests++,FS.syncFSRequests>1&&err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var M=FS.getMounts(FS.root.mount),tr=0;function rr(lr){return FS.syncFSRequests--,e(lr)}function ir(lr){if(lr)return ir.errored?void 0:(ir.errored=!0,rr(lr));++tr>=M.length&&rr(null)}M.forEach(lr=>{if(!lr.type.syncfs)return ir(null);lr.type.syncfs(lr,r,ir)})},mount(r,e,M){var tr=M==="/",rr=!M,ir;if(tr&&FS.root)throw new FS.ErrnoError(10);if(!tr&&!rr){var lr=FS.lookupPath(M,{follow_mount:!1});if(M=lr.path,ir=lr.node,FS.isMountpoint(ir))throw new FS.ErrnoError(10);if(!FS.isDir(ir.mode))throw new FS.ErrnoError(54)}var dr={type:r,opts:e,mountpoint:M,mounts:[]},mr=r.mount(dr);return mr.mount=dr,dr.root=mr,tr?FS.root=mr:ir&&(ir.mounted=dr,ir.mount&&ir.mount.mounts.push(dr)),mr},unmount(r){var e=FS.lookupPath(r,{follow_mount:!1});if(!FS.isMountpoint(e.node))throw new FS.ErrnoError(28);var M=e.node,tr=M.mounted,rr=FS.getMounts(tr);Object.keys(FS.nameTable).forEach(lr=>{for(var dr=FS.nameTable[lr];dr;){var mr=dr.name_next;rr.includes(dr.mount)&&FS.destroyNode(dr),dr=mr}}),M.mounted=null;var ir=M.mount.mounts.indexOf(tr);M.mount.mounts.splice(ir,1)},lookup(r,e){return r.node_ops.lookup(r,e)},mknod(r,e,M){var tr=FS.lookupPath(r,{parent:!0}),rr=tr.node,ir=PATH.basename(r);if(!ir||ir==="."||ir==="..")throw new FS.ErrnoError(28);var lr=FS.mayCreate(rr,ir);if(lr)throw new FS.ErrnoError(lr);if(!rr.node_ops.mknod)throw new FS.ErrnoError(63);return rr.node_ops.mknod(rr,ir,e,M)},statfs(r){var e={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255},M=FS.lookupPath(r,{follow:!0}).node;return M?.node_ops.statfs&&Object.assign(e,M.node_ops.statfs(M.mount.opts.root)),e},create(r,e=438){return e&=4095,e|=32768,FS.mknod(r,e,0)},mkdir(r,e=511){return e&=1023,e|=16384,FS.mknod(r,e,0)},mkdirTree(r,e){for(var M=r.split("/"),tr="",rr=0;rr<M.length;++rr)if(M[rr]){tr+="/"+M[rr];try{FS.mkdir(tr,e)}catch(ir){if(ir.errno!=20)throw ir}}},mkdev(r,e,M){return typeof M>"u"&&(M=e,e=438),e|=8192,FS.mknod(r,e,M)},symlink(r,e){if(!PATH_FS.resolve(r))throw new FS.ErrnoError(44);var M=FS.lookupPath(e,{parent:!0}),tr=M.node;if(!tr)throw new FS.ErrnoError(44);var rr=PATH.basename(e),ir=FS.mayCreate(tr,rr);if(ir)throw new FS.ErrnoError(ir);if(!tr.node_ops.symlink)throw new FS.ErrnoError(63);return tr.node_ops.symlink(tr,rr,r)},rename(r,e){var M=PATH.dirname(r),tr=PATH.dirname(e),rr=PATH.basename(r),ir=PATH.basename(e),lr,dr,mr;if(lr=FS.lookupPath(r,{parent:!0}),dr=lr.node,lr=FS.lookupPath(e,{parent:!0}),mr=lr.node,!dr||!mr)throw new FS.ErrnoError(44);if(dr.mount!==mr.mount)throw new FS.ErrnoError(75);var hr=FS.lookupNode(dr,rr),fr=PATH_FS.relative(r,tr);if(fr.charAt(0)!==".")throw new FS.ErrnoError(28);if(fr=PATH_FS.relative(e,M),fr.charAt(0)!==".")throw new FS.ErrnoError(55);var _r;try{_r=FS.lookupNode(mr,ir)}catch{}if(hr!==_r){var gr=FS.isDir(hr.mode),br=FS.mayDelete(dr,rr,gr);if(br)throw new FS.ErrnoError(br);if(br=_r?FS.mayDelete(mr,ir,gr):FS.mayCreate(mr,ir),br)throw new FS.ErrnoError(br);if(!dr.node_ops.rename)throw new FS.ErrnoError(63);if(FS.isMountpoint(hr)||_r&&FS.isMountpoint(_r))throw new FS.ErrnoError(10);if(mr!==dr&&(br=FS.nodePermissions(dr,"w"),br))throw new FS.ErrnoError(br);FS.hashRemoveNode(hr);try{dr.node_ops.rename(hr,mr,ir),hr.parent=mr}catch(wr){throw wr}finally{FS.hashAddNode(hr)}}},rmdir(r){var e=FS.lookupPath(r,{parent:!0}),M=e.node,tr=PATH.basename(r),rr=FS.lookupNode(M,tr),ir=FS.mayDelete(M,tr,!0);if(ir)throw new FS.ErrnoError(ir);if(!M.node_ops.rmdir)throw new FS.ErrnoError(63);if(FS.isMountpoint(rr))throw new FS.ErrnoError(10);M.node_ops.rmdir(M,tr),FS.destroyNode(rr)},readdir(r){var e=FS.lookupPath(r,{follow:!0}),M=e.node;if(!M.node_ops.readdir)throw new FS.ErrnoError(54);return M.node_ops.readdir(M)},unlink(r){var e=FS.lookupPath(r,{parent:!0}),M=e.node;if(!M)throw new FS.ErrnoError(44);var tr=PATH.basename(r),rr=FS.lookupNode(M,tr),ir=FS.mayDelete(M,tr,!1);if(ir)throw new FS.ErrnoError(ir);if(!M.node_ops.unlink)throw new FS.ErrnoError(63);if(FS.isMountpoint(rr))throw new FS.ErrnoError(10);M.node_ops.unlink(M,tr),FS.destroyNode(rr)},readlink(r){var e=FS.lookupPath(r),M=e.node;if(!M)throw new FS.ErrnoError(44);if(!M.node_ops.readlink)throw new FS.ErrnoError(28);return M.node_ops.readlink(M)},stat(r,e){var M=FS.lookupPath(r,{follow:!e}),tr=M.node;if(!tr)throw new FS.ErrnoError(44);if(!tr.node_ops.getattr)throw new FS.ErrnoError(63);return tr.node_ops.getattr(tr)},lstat(r){return FS.stat(r,!0)},chmod(r,e,M){var tr;if(typeof r=="string"){var rr=FS.lookupPath(r,{follow:!M});tr=rr.node}else tr=r;if(!tr.node_ops.setattr)throw new FS.ErrnoError(63);tr.node_ops.setattr(tr,{mode:e&4095|tr.mode&-4096,ctime:Date.now()})},lchmod(r,e){FS.chmod(r,e,!0)},fchmod(r,e){var M=FS.getStreamChecked(r);FS.chmod(M.node,e)},chown(r,e,M,tr){var rr;if(typeof r=="string"){var ir=FS.lookupPath(r,{follow:!tr});rr=ir.node}else rr=r;if(!rr.node_ops.setattr)throw new FS.ErrnoError(63);rr.node_ops.setattr(rr,{timestamp:Date.now()})},lchown(r,e,M){FS.chown(r,e,M,!0)},fchown(r,e,M){var tr=FS.getStreamChecked(r);FS.chown(tr.node,e,M)},truncate(r,e){if(e<0)throw new FS.ErrnoError(28);var M;if(typeof r=="string"){var tr=FS.lookupPath(r,{follow:!0});M=tr.node}else M=r;if(!M.node_ops.setattr)throw new FS.ErrnoError(63);if(FS.isDir(M.mode))throw new FS.ErrnoError(31);if(!FS.isFile(M.mode))throw new FS.ErrnoError(28);var rr=FS.nodePermissions(M,"w");if(rr)throw new FS.ErrnoError(rr);M.node_ops.setattr(M,{size:e,timestamp:Date.now()})},ftruncate(r,e){var M=FS.getStreamChecked(r);if(!(M.flags&2097155))throw new FS.ErrnoError(28);FS.truncate(M.node,e)},utime(r,e,M){var tr=FS.lookupPath(r,{follow:!0}),rr=tr.node;rr.node_ops.setattr(rr,{atime:e,mtime:M})},open(r,e,M=438){if(r==="")throw new FS.ErrnoError(44);e=typeof e=="string"?FS_modeStringToFlags(e):e,e&64?M=M&4095|32768:M=0;var tr;if(typeof r=="object")tr=r;else{var rr=FS.lookupPath(r,{follow:!(e&131072),noent_okay:!0});tr=rr.node,r=rr.path}var ir=!1;if(e&64)if(tr){if(e&128)throw new FS.ErrnoError(20)}else tr=FS.mknod(r,M,0),ir=!0;if(!tr)throw new FS.ErrnoError(44);if(FS.isChrdev(tr.mode)&&(e&=-513),e&65536&&!FS.isDir(tr.mode))throw new FS.ErrnoError(54);if(!ir){var lr=FS.mayOpen(tr,e);if(lr)throw new FS.ErrnoError(lr)}e&512&&!ir&&FS.truncate(tr,0),e&=-131713;var dr=FS.createStream({node:tr,path:FS.getPath(tr),flags:e,seekable:!0,position:0,stream_ops:tr.stream_ops,ungotten:[],error:!1});return dr.stream_ops.open&&dr.stream_ops.open(dr),Module.logReadFiles&&!(e&1)&&(r in FS.readFiles||(FS.readFiles[r]=1)),dr},close(r){if(FS.isClosed(r))throw new FS.ErrnoError(8);r.getdents&&(r.getdents=null);try{r.stream_ops.close&&r.stream_ops.close(r)}catch(e){throw e}finally{FS.closeStream(r.fd)}r.fd=null},isClosed(r){return r.fd===null},llseek(r,e,M){if(FS.isClosed(r))throw new FS.ErrnoError(8);if(!r.seekable||!r.stream_ops.llseek)throw new FS.ErrnoError(70);if(M!=0&&M!=1&&M!=2)throw new FS.ErrnoError(28);return r.position=r.stream_ops.llseek(r,e,M),r.ungotten=[],r.position},read(r,e,M,tr,rr){if(tr<0||rr<0)throw new FS.ErrnoError(28);if(FS.isClosed(r))throw new FS.ErrnoError(8);if((r.flags&2097155)===1)throw new FS.ErrnoError(8);if(FS.isDir(r.node.mode))throw new FS.ErrnoError(31);if(!r.stream_ops.read)throw new FS.ErrnoError(28);var ir=typeof rr<"u";if(!ir)rr=r.position;else if(!r.seekable)throw new FS.ErrnoError(70);var lr=r.stream_ops.read(r,e,M,tr,rr);return ir||(r.position+=lr),lr},write(r,e,M,tr,rr,ir){if(tr<0||rr<0)throw new FS.ErrnoError(28);if(FS.isClosed(r))throw new FS.ErrnoError(8);if(!(r.flags&2097155))throw new FS.ErrnoError(8);if(FS.isDir(r.node.mode))throw new FS.ErrnoError(31);if(!r.stream_ops.write)throw new FS.ErrnoError(28);r.seekable&&r.flags&1024&&FS.llseek(r,0,2);var lr=typeof rr<"u";if(!lr)rr=r.position;else if(!r.seekable)throw new FS.ErrnoError(70);var dr=r.stream_ops.write(r,e,M,tr,rr,ir);return lr||(r.position+=dr),dr},allocate(r,e,M){if(FS.isClosed(r))throw new FS.ErrnoError(8);if(e<0||M<=0)throw new FS.ErrnoError(28);if(!(r.flags&2097155))throw new FS.ErrnoError(8);if(!FS.isFile(r.node.mode)&&!FS.isDir(r.node.mode))throw new FS.ErrnoError(43);if(!r.stream_ops.allocate)throw new FS.ErrnoError(138);r.stream_ops.allocate(r,e,M)},mmap(r,e,M,tr,rr){if(tr&2&&!(rr&2)&&(r.flags&2097155)!==2)throw new FS.ErrnoError(2);if((r.flags&2097155)===1)throw new FS.ErrnoError(2);if(!r.stream_ops.mmap)throw new FS.ErrnoError(43);if(!e)throw new FS.ErrnoError(28);return r.stream_ops.mmap(r,e,M,tr,rr)},msync(r,e,M,tr,rr){return r.stream_ops.msync?r.stream_ops.msync(r,e,M,tr,rr):0},ioctl(r,e,M){if(!r.stream_ops.ioctl)throw new FS.ErrnoError(59);return r.stream_ops.ioctl(r,e,M)},readFile(r,e={}){if(e.flags=e.flags||0,e.encoding=e.encoding||"binary",e.encoding!=="utf8"&&e.encoding!=="binary")throw new Error(`Invalid encoding type "${e.encoding}"`);var M,tr=FS.open(r,e.flags),rr=FS.stat(r),ir=rr.size,lr=new Uint8Array(ir);return FS.read(tr,lr,0,ir,0),e.encoding==="utf8"?M=UTF8ArrayToString(lr):e.encoding==="binary"&&(M=lr),FS.close(tr),M},writeFile(r,e,M={}){M.flags=M.flags||577;var tr=FS.open(r,M.flags,M.mode);if(typeof e=="string"){var rr=new Uint8Array(lengthBytesUTF8(e)+1),ir=stringToUTF8Array(e,rr,0,rr.length);FS.write(tr,rr,0,ir,void 0,M.canOwn)}else if(ArrayBuffer.isView(e))FS.write(tr,e,0,e.byteLength,void 0,M.canOwn);else throw new Error("Unsupported data type");FS.close(tr)},cwd:()=>FS.currentPath,chdir(r){var e=FS.lookupPath(r,{follow:!0});if(e.node===null)throw new FS.ErrnoError(44);if(!FS.isDir(e.node.mode))throw new FS.ErrnoError(54);var M=FS.nodePermissions(e.node,"x");if(M)throw new FS.ErrnoError(M);FS.currentPath=e.path},createDefaultDirectories(){FS.mkdir("/tmp"),FS.mkdir("/home"),FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev"),FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(tr,rr,ir,lr,dr)=>lr,llseek:()=>0}),FS.mkdev("/dev/null",FS.makedev(1,3)),TTY.register(FS.makedev(5,0),TTY.default_tty_ops),TTY.register(FS.makedev(6,0),TTY.default_tty1_ops),FS.mkdev("/dev/tty",FS.makedev(5,0)),FS.mkdev("/dev/tty1",FS.makedev(6,0));var r=new Uint8Array(1024),e=0,M=()=>(e===0&&(e=randomFill(r).byteLength),r[--e]);FS.createDevice("/dev","random",M),FS.createDevice("/dev","urandom",M),FS.mkdir("/dev/shm"),FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var r=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd"),FS.mount({mount(){var e=FS.createNode(r,"fd",16895,73);return e.stream_ops={llseek:MEMFS.stream_ops.llseek},e.node_ops={lookup(M,tr){var rr=+tr,ir=FS.getStreamChecked(rr),lr={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>ir.path},id:rr+1};return lr.parent=lr,lr},readdir(){return Array.from(FS.streams.entries()).filter(([M,tr])=>tr).map(([M,tr])=>M.toString())}},e}},{},"/proc/self/fd")},createStandardStreams(r,e,M){r?FS.createDevice("/dev","stdin",r):FS.symlink("/dev/tty","/dev/stdin"),e?FS.createDevice("/dev","stdout",null,e):FS.symlink("/dev/tty","/dev/stdout"),M?FS.createDevice("/dev","stderr",null,M):FS.symlink("/dev/tty1","/dev/stderr"),FS.open("/dev/stdin",0),FS.open("/dev/stdout",1),FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096),FS.mount(MEMFS,{},"/"),FS.createDefaultDirectories(),FS.createDefaultDevices(),FS.createSpecialDirectories(),FS.filesystems={MEMFS,IDBFS,NODEFS}},init(r,e,M){FS.initialized=!0,r??(r=Module.stdin),e??(e=Module.stdout),M??(M=Module.stderr),FS.createStandardStreams(r,e,M)},quit(){FS.initialized=!1,_fflush(0);for(var r=0;r<FS.streams.length;r++){var e=FS.streams[r];e&&FS.close(e)}},findObject(r,e){var M=FS.analyzePath(r,e);return M.exists?M.object:null},analyzePath(r,e){try{var M=FS.lookupPath(r,{follow:!e});r=M.path}catch{}var tr={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var M=FS.lookupPath(r,{parent:!0});tr.parentExists=!0,tr.parentPath=M.path,tr.parentObject=M.node,tr.name=PATH.basename(r),M=FS.lookupPath(r,{follow:!e}),tr.exists=!0,tr.path=M.path,tr.object=M.node,tr.name=M.node.name,tr.isRoot=M.path==="/"}catch(rr){tr.error=rr.errno}return tr},createPath(r,e,M,tr){r=typeof r=="string"?r:FS.getPath(r);for(var rr=e.split("/").reverse();rr.length;){var ir=rr.pop();if(ir){var lr=PATH.join2(r,ir);try{FS.mkdir(lr)}catch{}r=lr}}return lr},createFile(r,e,M,tr,rr){var ir=PATH.join2(typeof r=="string"?r:FS.getPath(r),e),lr=FS_getMode(tr,rr);return FS.create(ir,lr)},createDataFile(r,e,M,tr,rr,ir){var lr=e;r&&(r=typeof r=="string"?r:FS.getPath(r),lr=e?PATH.join2(r,e):r);var dr=FS_getMode(tr,rr),mr=FS.create(lr,dr);if(M){if(typeof M=="string"){for(var hr=new Array(M.length),fr=0,_r=M.length;fr<_r;++fr)hr[fr]=M.charCodeAt(fr);M=hr}FS.chmod(mr,dr|146);var gr=FS.open(mr,577);FS.write(gr,M,0,M.length,0,ir),FS.close(gr),FS.chmod(mr,dr)}},createDevice(r,e,M,tr){var rr,ir=PATH.join2(typeof r=="string"?r:FS.getPath(r),e),lr=FS_getMode(!!M,!!tr);(rr=FS.createDevice).major??(rr.major=64);var dr=FS.makedev(FS.createDevice.major++,0);return FS.registerDevice(dr,{open(mr){mr.seekable=!1},close(mr){tr?.buffer?.length&&tr(10)},read(mr,hr,fr,_r,gr){for(var br=0,wr=0;wr<_r;wr++){var xr;try{xr=M()}catch{throw new FS.ErrnoError(29)}if(xr===void 0&&br===0)throw new FS.ErrnoError(6);if(xr==null)break;br++,hr[fr+wr]=xr}return br&&(mr.node.atime=Date.now()),br},write(mr,hr,fr,_r,gr){for(var br=0;br<_r;br++)try{tr(hr[fr+br])}catch{throw new FS.ErrnoError(29)}return _r&&(mr.node.mtime=mr.node.ctime=Date.now()),br}}),FS.mkdev(ir,lr,dr)},forceLoadFile(r){if(r.isDevice||r.isFolder||r.link||r.contents)return!0;if(typeof XMLHttpRequest<"u")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{r.contents=readBinary(r.url),r.usedBytes=r.contents.length}catch{throw new FS.ErrnoError(29)}},createLazyFile(r,e,M,tr,rr){class ir{constructor(){P$1(this,"lengthKnown",!1),P$1(this,"chunks",[])}get(br){if(!(br>this.length-1||br<0)){var wr=br%this.chunkSize,xr=br/this.chunkSize|0;return this.getter(xr)[wr]}}setDataGetter(br){this.getter=br}cacheLength(){var br=new XMLHttpRequest;if(br.open("HEAD",M,!1),br.send(null),!(br.status>=200&&br.status<300||br.status===304))throw new Error("Couldn't load "+M+". Status: "+br.status);var wr=Number(br.getResponseHeader("Content-length")),xr,vr=(xr=br.getResponseHeader("Accept-Ranges"))&&xr==="bytes",Mr=(xr=br.getResponseHeader("Content-Encoding"))&&xr==="gzip",Sr=1024*1024;vr||(Sr=wr);var yr=(Dr,Ir)=>{if(Dr>Ir)throw new Error("invalid range ("+Dr+", "+Ir+") or no bytes requested!");if(Ir>wr-1)throw new Error("only "+wr+" bytes available! programmer error!");var Lr=new XMLHttpRequest;if(Lr.open("GET",M,!1),wr!==Sr&&Lr.setRequestHeader("Range","bytes="+Dr+"-"+Ir),Lr.responseType="arraybuffer",Lr.overrideMimeType&&Lr.overrideMimeType("text/plain; charset=x-user-defined"),Lr.send(null),!(Lr.status>=200&&Lr.status<300||Lr.status===304))throw new Error("Couldn't load "+M+". Status: "+Lr.status);return Lr.response!==void 0?new Uint8Array(Lr.response||[]):intArrayFromString(Lr.responseText||"")},Ar=this;Ar.setDataGetter(Dr=>{var Ir=Dr*Sr,Lr=(Dr+1)*Sr-1;if(Lr=Math.min(Lr,wr-1),typeof Ar.chunks[Dr]>"u"&&(Ar.chunks[Dr]=yr(Ir,Lr)),typeof Ar.chunks[Dr]>"u")throw new Error("doXHR failed!");return Ar.chunks[Dr]}),(Mr||!wr)&&(Sr=wr=1,wr=this.getter(0).length,Sr=wr,out("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=wr,this._chunkSize=Sr,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lr=new ir,dr={isDevice:!1,contents:lr}}else var dr={isDevice:!1,url:M};var mr=FS.createFile(r,e,dr,tr,rr);dr.contents?mr.contents=dr.contents:dr.url&&(mr.contents=null,mr.url=dr.url),Object.defineProperties(mr,{usedBytes:{get:function(){return this.contents.length}}});var hr={},fr=Object.keys(mr.stream_ops);fr.forEach(gr=>{var br=mr.stream_ops[gr];hr[gr]=(...wr)=>(FS.forceLoadFile(mr),br(...wr))});function _r(gr,br,wr,xr,vr){var Mr=gr.node.contents;if(vr>=Mr.length)return 0;var Sr=Math.min(Mr.length-vr,xr);if(Mr.slice)for(var yr=0;yr<Sr;yr++)br[wr+yr]=Mr[vr+yr];else for(var yr=0;yr<Sr;yr++)br[wr+yr]=Mr.get(vr+yr);return Sr}return hr.read=(gr,br,wr,xr,vr)=>(FS.forceLoadFile(mr),_r(gr,br,wr,xr,vr)),hr.mmap=(gr,br,wr,xr,vr)=>{FS.forceLoadFile(mr);var Mr=mmapAlloc(br);if(!Mr)throw new FS.ErrnoError(48);return _r(gr,HEAP8,Mr,br,wr),{ptr:Mr,allocated:!0}},mr.stream_ops=hr,mr}},SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(r,e,M){if(PATH.isAbs(e))return e;var tr;if(r===-100)tr=FS.cwd();else{var rr=SYSCALLS.getStreamFromFD(r);tr=rr.path}if(e.length==0){if(!M)throw new FS.ErrnoError(44);return tr}return tr+"/"+e},doStat(r,e,M){var tr=r(e);HEAP32[M>>2]=tr.dev,HEAP32[M+4>>2]=tr.mode,HEAPU32[M+8>>2]=tr.nlink,HEAP32[M+12>>2]=tr.uid,HEAP32[M+16>>2]=tr.gid,HEAP32[M+20>>2]=tr.rdev,HEAP64[M+24>>3]=BigInt(tr.size),HEAP32[M+32>>2]=4096,HEAP32[M+36>>2]=tr.blocks;var rr=tr.atime.getTime(),ir=tr.mtime.getTime(),lr=tr.ctime.getTime();return HEAP64[M+40>>3]=BigInt(Math.floor(rr/1e3)),HEAPU32[M+48>>2]=rr%1e3*1e3*1e3,HEAP64[M+56>>3]=BigInt(Math.floor(ir/1e3)),HEAPU32[M+64>>2]=ir%1e3*1e3*1e3,HEAP64[M+72>>3]=BigInt(Math.floor(lr/1e3)),HEAPU32[M+80>>2]=lr%1e3*1e3*1e3,HEAP64[M+88>>3]=BigInt(tr.ino),0},doMsync(r,e,M,tr,rr){if(!FS.isFile(e.node.mode))throw new FS.ErrnoError(43);if(tr&2)return 0;var ir=HEAPU8.slice(r,r+M);FS.msync(e,ir,rr,M,tr)},getStreamFromFD(r){var e=FS.getStreamChecked(r);return e},varargs:void 0,getStr(r){var e=UTF8ToString(r);return e}},___syscall__newselect=function(r,e,M,tr,rr){try{for(var ir=0,lr=e?HEAP32[e>>2]:0,dr=e?HEAP32[e+4>>2]:0,mr=M?HEAP32[M>>2]:0,hr=M?HEAP32[M+4>>2]:0,fr=tr?HEAP32[tr>>2]:0,_r=tr?HEAP32[tr+4>>2]:0,gr=0,br=0,wr=0,xr=0,vr=0,Mr=0,Sr=(e?HEAP32[e>>2]:0)|(M?HEAP32[M>>2]:0)|(tr?HEAP32[tr>>2]:0),yr=(e?HEAP32[e+4>>2]:0)|(M?HEAP32[M+4>>2]:0)|(tr?HEAP32[tr+4>>2]:0),Ar=(zr,Fr,kr,$r)=>zr<32?Fr&$r:kr&$r,Dr=0;Dr<r;Dr++){var Ir=1<<Dr%32;if(Ar(Dr,Sr,yr,Ir)){var Lr=SYSCALLS.getStreamFromFD(Dr),Gr=SYSCALLS.DEFAULT_POLLMASK;if(Lr.stream_ops.poll){var Or=-1;if(rr){var Qr=e?HEAP32[rr>>2]:0,$n=e?HEAP32[rr+4>>2]:0;Or=(Qr+$n/1e6)*1e3}Gr=Lr.stream_ops.poll(Lr,Or)}Gr&1&&Ar(Dr,lr,dr,Ir)&&(Dr<32?gr=gr|Ir:br=br|Ir,ir++),Gr&4&&Ar(Dr,mr,hr,Ir)&&(Dr<32?wr=wr|Ir:xr=xr|Ir,ir++),Gr&2&&Ar(Dr,fr,_r,Ir)&&(Dr<32?vr=vr|Ir:Mr=Mr|Ir,ir++)}}return e&&(HEAP32[e>>2]=gr,HEAP32[e+4>>2]=br),M&&(HEAP32[M>>2]=wr,HEAP32[M+4>>2]=xr),tr&&(HEAP32[tr>>2]=vr,HEAP32[tr+4>>2]=Mr),ir}catch(zr){if(typeof FS>"u"||zr.name!=="ErrnoError")throw zr;return-zr.errno}};___syscall__newselect.sig="iipppp";var SOCKFS={websocketArgs:{},callbacks:{},on(r,e){SOCKFS.callbacks[r]=e},emit(r,e){SOCKFS.callbacks[r]?.(e)},mount(r){return SOCKFS.websocketArgs=Module.websocket||{},(Module.websocket??(Module.websocket={})).on=SOCKFS.on,FS.createNode(null,"/",16895,0)},createSocket(r,e,M){e&=-526337;var tr=e==1;if(tr&&M&&M!=6)throw new FS.ErrnoError(66);var rr={family:r,type:e,protocol:M,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops},ir=SOCKFS.nextname(),lr=FS.createNode(SOCKFS.root,ir,49152,0);lr.sock=rr;var dr=FS.createStream({path:ir,node:lr,flags:2,seekable:!1,stream_ops:SOCKFS.stream_ops});return rr.stream=dr,rr},getSocket(r){var e=FS.getStream(r);return!e||!FS.isSocket(e.node.mode)?null:e.node.sock},stream_ops:{poll(r){var e=r.node.sock;return e.sock_ops.poll(e)},ioctl(r,e,M){var tr=r.node.sock;return tr.sock_ops.ioctl(tr,e,M)},read(r,e,M,tr,rr){var ir=r.node.sock,lr=ir.sock_ops.recvmsg(ir,tr);return lr?(e.set(lr.buffer,M),lr.buffer.length):0},write(r,e,M,tr,rr){var ir=r.node.sock;return ir.sock_ops.sendmsg(ir,e,M,tr)},close(r){var e=r.node.sock;e.sock_ops.close(e)}},nextname(){return SOCKFS.nextname.current||(SOCKFS.nextname.current=0),`socket[${SOCKFS.nextname.current++}]`},websocket_sock_ops:{createPeer(r,e,M){var tr;if(typeof e=="object"&&(tr=e,e=null,M=null),tr)if(tr._socket)e=tr._socket.remoteAddress,M=tr._socket.remotePort;else{var rr=/ws[s]?:\/\/([^:]+):(\d+)/.exec(tr.url);if(!rr)throw new Error("WebSocket URL must be in the format ws(s)://address:port");e=rr[1],M=parseInt(rr[2],10)}else try{var ir="ws:#".replace("#","//"),lr="binary",dr=void 0;if(SOCKFS.websocketArgs.url&&(ir=SOCKFS.websocketArgs.url),SOCKFS.websocketArgs.subprotocol?lr=SOCKFS.websocketArgs.subprotocol:SOCKFS.websocketArgs.subprotocol===null&&(lr="null"),ir==="ws://"||ir==="wss://"){var mr=e.split("/");ir=ir+mr[0]+":"+M+"/"+mr.slice(1).join("/")}lr!=="null"&&(lr=lr.replace(/^ +| +$/g,"").split(/ *, */),dr=lr);var hr;ENVIRONMENT_IS_NODE?hr=require("ws"):hr=WebSocket,tr=new hr(ir,dr),tr.binaryType="arraybuffer"}catch{throw new FS.ErrnoError(23)}var fr={addr:e,port:M,socket:tr,msg_send_queue:[]};return SOCKFS.websocket_sock_ops.addPeer(r,fr),SOCKFS.websocket_sock_ops.handlePeerEvents(r,fr),r.type===2&&typeof r.sport<"u"&&fr.msg_send_queue.push(new Uint8Array([255,255,255,255,112,111,114,116,(r.sport&65280)>>8,r.sport&255])),fr},getPeer(r,e,M){return r.peers[e+":"+M]},addPeer(r,e){r.peers[e.addr+":"+e.port]=e},removePeer(r,e){delete r.peers[e.addr+":"+e.port]},handlePeerEvents(r,e){var M=!0,tr=function(){r.connecting=!1,SOCKFS.emit("open",r.stream.fd);try{for(var ir=e.msg_send_queue.shift();ir;)e.socket.send(ir),ir=e.msg_send_queue.shift()}catch{e.socket.close()}};function rr(ir){if(typeof ir=="string"){var lr=new TextEncoder;ir=lr.encode(ir)}else{if(assert(ir.byteLength!==void 0),ir.byteLength==0)return;ir=new Uint8Array(ir)}var dr=M;if(M=!1,dr&&ir.length===10&&ir[0]===255&&ir[1]===255&&ir[2]===255&&ir[3]===255&&ir[4]===112&&ir[5]===111&&ir[6]===114&&ir[7]===116){var mr=ir[8]<<8|ir[9];SOCKFS.websocket_sock_ops.removePeer(r,e),e.port=mr,SOCKFS.websocket_sock_ops.addPeer(r,e);return}r.recv_queue.push({addr:e.addr,port:e.port,data:ir}),SOCKFS.emit("message",r.stream.fd)}ENVIRONMENT_IS_NODE?(e.socket.on("open",tr),e.socket.on("message",function(ir,lr){lr&&rr(new Uint8Array(ir).buffer)}),e.socket.on("close",function(){SOCKFS.emit("close",r.stream.fd)}),e.socket.on("error",function(ir){r.error=14,SOCKFS.emit("error",[r.stream.fd,r.error,"ECONNREFUSED: Connection refused"])})):(e.socket.onopen=tr,e.socket.onclose=function(){SOCKFS.emit("close",r.stream.fd)},e.socket.onmessage=function(ir){rr(ir.data)},e.socket.onerror=function(ir){r.error=14,SOCKFS.emit("error",[r.stream.fd,r.error,"ECONNREFUSED: Connection refused"])})},poll(r){if(r.type===1&&r.server)return r.pending.length?65:0;var e=0,M=r.type===1?SOCKFS.websocket_sock_ops.getPeer(r,r.daddr,r.dport):null;return(r.recv_queue.length||!M||M&&M.socket.readyState===M.socket.CLOSING||M&&M.socket.readyState===M.socket.CLOSED)&&(e|=65),(!M||M&&M.socket.readyState===M.socket.OPEN)&&(e|=4),(M&&M.socket.readyState===M.socket.CLOSING||M&&M.socket.readyState===M.socket.CLOSED)&&(r.connecting?e|=4:e|=16),e},ioctl(r,e,M){if(e===21531){var tr=0;return r.recv_queue.length&&(tr=r.recv_queue[0].data.length),HEAP32[M>>2]=tr,0}else return 28},close(r){if(r.server){try{r.server.close()}catch{}r.server=null}for(var e=Object.keys(r.peers),M=0;M<e.length;M++){var tr=r.peers[e[M]];try{tr.socket.close()}catch{}SOCKFS.websocket_sock_ops.removePeer(r,tr)}return 0},bind(r,e,M){if(typeof r.saddr<"u"||typeof r.sport<"u")throw new FS.ErrnoError(28);if(r.saddr=e,r.sport=M,r.type===2){r.server&&(r.server.close(),r.server=null);try{r.sock_ops.listen(r,0)}catch(tr){if(tr.name!=="ErrnoError"||tr.errno!==138)throw tr}}},connect(r,e,M){if(r.server)throw new FS.ErrnoError(138);if(typeof r.daddr<"u"&&typeof r.dport<"u"){var tr=SOCKFS.websocket_sock_ops.getPeer(r,r.daddr,r.dport);if(tr)throw tr.socket.readyState===tr.socket.CONNECTING?new FS.ErrnoError(7):new FS.ErrnoError(30)}var rr=SOCKFS.websocket_sock_ops.createPeer(r,e,M);r.daddr=rr.addr,r.dport=rr.port,r.connecting=!0},listen(r,e){if(!ENVIRONMENT_IS_NODE)throw new FS.ErrnoError(138);if(r.server)throw new FS.ErrnoError(28);var M=require("ws").Server,tr=r.saddr;r.server=new M({host:tr,port:r.sport}),SOCKFS.emit("listen",r.stream.fd),r.server.on("connection",function(rr){if(r.type===1){var ir=SOCKFS.createSocket(r.family,r.type,r.protocol),lr=SOCKFS.websocket_sock_ops.createPeer(ir,rr);ir.daddr=lr.addr,ir.dport=lr.port,r.pending.push(ir),SOCKFS.emit("connection",ir.stream.fd)}else SOCKFS.websocket_sock_ops.createPeer(r,rr),SOCKFS.emit("connection",r.stream.fd)}),r.server.on("close",function(){SOCKFS.emit("close",r.stream.fd),r.server=null}),r.server.on("error",function(rr){r.error=23,SOCKFS.emit("error",[r.stream.fd,r.error,"EHOSTUNREACH: Host is unreachable"])})},accept(r){if(!r.server||!r.pending.length)throw new FS.ErrnoError(28);var e=r.pending.shift();return e.stream.flags=r.stream.flags,e},getname(r,e){var M,tr;if(e){if(r.daddr===void 0||r.dport===void 0)throw new FS.ErrnoError(53);M=r.daddr,tr=r.dport}else M=r.saddr||0,tr=r.sport||0;return{addr:M,port:tr}},sendmsg(r,e,M,tr,rr,ir){if(r.type===2){if((rr===void 0||ir===void 0)&&(rr=r.daddr,ir=r.dport),rr===void 0||ir===void 0)throw new FS.ErrnoError(17)}else rr=r.daddr,ir=r.dport;var lr=SOCKFS.websocket_sock_ops.getPeer(r,rr,ir);if(r.type===1&&(!lr||lr.socket.readyState===lr.socket.CLOSING||lr.socket.readyState===lr.socket.CLOSED))throw new FS.ErrnoError(53);ArrayBuffer.isView(e)&&(M+=e.byteOffset,e=e.buffer);var dr=e.slice(M,M+tr);if(!lr||lr.socket.readyState!==lr.socket.OPEN)return r.type===2&&(!lr||lr.socket.readyState===lr.socket.CLOSING||lr.socket.readyState===lr.socket.CLOSED)&&(lr=SOCKFS.websocket_sock_ops.createPeer(r,rr,ir)),lr.msg_send_queue.push(dr),tr;try{return lr.socket.send(dr),tr}catch{throw new FS.ErrnoError(28)}},recvmsg(r,e){if(r.type===1&&r.server)throw new FS.ErrnoError(53);var M=r.recv_queue.shift();if(!M){if(r.type===1){var tr=SOCKFS.websocket_sock_ops.getPeer(r,r.daddr,r.dport);if(!tr)throw new FS.ErrnoError(53);if(tr.socket.readyState===tr.socket.CLOSING||tr.socket.readyState===tr.socket.CLOSED)return null;throw new FS.ErrnoError(6)}throw new FS.ErrnoError(6)}var rr=M.data.byteLength||M.data.length,ir=M.data.byteOffset||0,lr=M.data.buffer||M.data,dr=Math.min(e,rr),mr={buffer:new Uint8Array(lr,ir,dr),addr:M.addr,port:M.port};if(r.type===1&&dr<rr){var hr=rr-dr;M.data=new Uint8Array(lr,ir+dr,hr),r.recv_queue.unshift(M)}return mr}}},getSocketFromFD=r=>{var e=SOCKFS.getSocket(r);if(!e)throw new FS.ErrnoError(8);return e},inetNtop4=r=>(r&255)+"."+(r>>8&255)+"."+(r>>16&255)+"."+(r>>24&255),inetNtop6=r=>{var e="",M=0,tr=0,rr=0,ir=0,lr=0,dr=0,mr=[r[0]&65535,r[0]>>16,r[1]&65535,r[1]>>16,r[2]&65535,r[2]>>16,r[3]&65535,r[3]>>16],hr=!0,fr="";for(dr=0;dr<5;dr++)if(mr[dr]!==0){hr=!1;break}if(hr){if(fr=inetNtop4(mr[6]|mr[7]<<16),mr[5]===-1)return e="::ffff:",e+=fr,e;if(mr[5]===0)return e="::",fr==="0.0.0.0"&&(fr=""),fr==="0.0.0.1"&&(fr="1"),e+=fr,e}for(M=0;M<8;M++)mr[M]===0&&(M-rr>1&&(lr=0),rr=M,lr++),lr>tr&&(tr=lr,ir=M-tr+1);for(M=0;M<8;M++){if(tr>1&&mr[M]===0&&M>=ir&&M<ir+tr){M===ir&&(e+=":",ir===0&&(e+=":"));continue}e+=Number(_ntohs(mr[M]&65535)).toString(16),e+=M<7?":":""}return e},readSockaddr=(r,e)=>{var M=HEAP16[r>>1],tr=_ntohs(HEAPU16[r+2>>1]),rr;switch(M){case 2:if(e!==16)return{errno:28};rr=HEAP32[r+4>>2],rr=inetNtop4(rr);break;case 10:if(e!==28)return{errno:28};rr=[HEAP32[r+8>>2],HEAP32[r+12>>2],HEAP32[r+16>>2],HEAP32[r+20>>2]],rr=inetNtop6(rr);break;default:return{errno:5}}return{family:M,addr:rr,port:tr}},inetPton4=r=>{for(var e=r.split("."),M=0;M<4;M++){var tr=Number(e[M]);if(isNaN(tr))return null;e[M]=tr}return(e[0]|e[1]<<8|e[2]<<16|e[3]<<24)>>>0},jstoi_q=r=>parseInt(r),inetPton6=r=>{var e,M,tr,rr,ir=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i,lr=[];if(!ir.test(r))return null;if(r==="::")return[0,0,0,0,0,0,0,0];for(r.startsWith("::")?r=r.replace("::","Z:"):r=r.replace("::",":Z:"),r.indexOf(".")>0?(r=r.replace(new RegExp("[.]","g"),":"),e=r.split(":"),e[e.length-4]=jstoi_q(e[e.length-4])+jstoi_q(e[e.length-3])*256,e[e.length-3]=jstoi_q(e[e.length-2])+jstoi_q(e[e.length-1])*256,e=e.slice(0,e.length-2)):e=r.split(":"),tr=0,rr=0,M=0;M<e.length;M++)if(typeof e[M]=="string")if(e[M]==="Z"){for(rr=0;rr<8-e.length+1;rr++)lr[M+rr]=0;tr=rr-1}else lr[M+tr]=_htons(parseInt(e[M],16));else lr[M+tr]=e[M];return[lr[1]<<16|lr[0],lr[3]<<16|lr[2],lr[5]<<16|lr[4],lr[7]<<16|lr[6]]},DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(r){var e=inetPton4(r);if(e!==null||(e=inetPton6(r),e!==null))return r;var M;if(DNS.address_map.addrs[r])M=DNS.address_map.addrs[r];else{var tr=DNS.address_map.id++;assert(tr<65535,"exceeded max address mappings of 65535"),M="172.29."+(tr&255)+"."+(tr&65280),DNS.address_map.names[M]=r,DNS.address_map.addrs[r]=M}return M},lookup_addr(r){return DNS.address_map.names[r]?DNS.address_map.names[r]:null}},getSocketAddress=(r,e)=>{var M=readSockaddr(r,e);if(M.errno)throw new FS.ErrnoError(M.errno);return M.addr=DNS.lookup_addr(M.addr)||M.addr,M};function ___syscall_bind(r,e,M,tr,rr,ir){try{var lr=getSocketFromFD(r),dr=getSocketAddress(e,M);return lr.sock_ops.bind(lr,dr.addr,dr.port),0}catch(mr){if(typeof FS>"u"||mr.name!=="ErrnoError")throw mr;return-mr.errno}}___syscall_bind.sig="iippiii";function ___syscall_chdir(r){try{return r=SYSCALLS.getStr(r),FS.chdir(r),0}catch(e){if(typeof FS>"u"||e.name!=="ErrnoError")throw e;return-e.errno}}___syscall_chdir.sig="ip";function ___syscall_chmod(r,e){try{return r=SYSCALLS.getStr(r),FS.chmod(r,e),0}catch(M){if(typeof FS>"u"||M.name!=="ErrnoError")throw M;return-M.errno}}___syscall_chmod.sig="ipi";function ___syscall_dup(r){try{var e=SYSCALLS.getStreamFromFD(r);return FS.dupStream(e).fd}catch(M){if(typeof FS>"u"||M.name!=="ErrnoError")throw M;return-M.errno}}___syscall_dup.sig="ii";function ___syscall_dup3(r,e,M){try{var tr=SYSCALLS.getStreamFromFD(r);if(tr.fd===e)return-28;if(e<0||e>=FS.MAX_OPEN_FDS)return-8;var rr=FS.getStream(e);return rr&&FS.close(rr),FS.dupStream(tr,e).fd}catch(ir){if(typeof FS>"u"||ir.name!=="ErrnoError")throw ir;return-ir.errno}}___syscall_dup3.sig="iiii";function ___syscall_faccessat(r,e,M,tr){try{if(e=SYSCALLS.getStr(e),e=SYSCALLS.calculateAt(r,e),M&-8)return-28;var rr=FS.lookupPath(e,{follow:!0}),ir=rr.node;if(!ir)return-44;var lr="";return M&4&&(lr+="r"),M&2&&(lr+="w"),M&1&&(lr+="x"),lr&&FS.nodePermissions(ir,lr)?-2:0}catch(dr){if(typeof FS>"u"||dr.name!=="ErrnoError")throw dr;return-dr.errno}}___syscall_faccessat.sig="iipii";var ___syscall_fadvise64=(r,e,M,tr)=>0;___syscall_fadvise64.sig="iijji";var INT53_MAX=9007199254740992,INT53_MIN=-9007199254740992,bigintToI53Checked=r=>r<INT53_MIN||r>INT53_MAX?NaN:Number(r);function ___syscall_fallocate(r,e,M,tr){M=bigintToI53Checked(M),tr=bigintToI53Checked(tr);try{if(isNaN(M))return 61;var rr=SYSCALLS.getStreamFromFD(r);return FS.allocate(rr,M,tr),0}catch(ir){if(typeof FS>"u"||ir.name!=="ErrnoError")throw ir;return-ir.errno}}___syscall_fallocate.sig="iiijj";var syscallGetVarargI=()=>{var r=HEAP32[+SYSCALLS.varargs>>2];return SYSCALLS.varargs+=4,r},syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(r,e,M){SYSCALLS.varargs=M;try{var tr=SYSCALLS.getStreamFromFD(r);switch(e){case 0:{var rr=syscallGetVarargI();if(rr<0)return-28;for(;FS.streams[rr];)rr++;var ir;return ir=FS.dupStream(tr,rr),ir.fd}case 1:case 2:return 0;case 3:return tr.flags;case 4:{var rr=syscallGetVarargI();return tr.flags|=rr,0}case 12:{var rr=syscallGetVarargP(),lr=0;return HEAP16[rr+lr>>1]=2,0}case 13:case 14:return 0}return-28}catch(dr){if(typeof FS>"u"||dr.name!=="ErrnoError")throw dr;return-dr.errno}}___syscall_fcntl64.sig="iiip";function ___syscall_fdatasync(r){try{var e=SYSCALLS.getStreamFromFD(r);return 0}catch(M){if(typeof FS>"u"||M.name!=="ErrnoError")throw M;return-M.errno}}___syscall_fdatasync.sig="ii";function ___syscall_fstat64(r,e){try{var M=SYSCALLS.getStreamFromFD(r);return SYSCALLS.doStat(FS.stat,M.path,e)}catch(tr){if(typeof FS>"u"||tr.name!=="ErrnoError")throw tr;return-tr.errno}}___syscall_fstat64.sig="iip";function ___syscall_ftruncate64(r,e){e=bigintToI53Checked(e);try{return isNaN(e)?61:(FS.ftruncate(r,e),0)}catch(M){if(typeof FS>"u"||M.name!=="ErrnoError")throw M;return-M.errno}}___syscall_ftruncate64.sig="iij";var stringToUTF8=(r,e,M)=>stringToUTF8Array(r,HEAPU8,e,M);function ___syscall_getcwd(r,e){try{if(e===0)return-28;var M=FS.cwd(),tr=lengthBytesUTF8(M)+1;return e<tr?-68:(stringToUTF8(M,r,e),tr)}catch(rr){if(typeof FS>"u"||rr.name!=="ErrnoError")throw rr;return-rr.errno}}___syscall_getcwd.sig="ipp";function ___syscall_getdents64(r,e,M){try{var tr=SYSCALLS.getStreamFromFD(r);tr.getdents||(tr.getdents=FS.readdir(tr.path));for(var rr=280,ir=0,lr=FS.llseek(tr,0,1),dr=Math.floor(lr/rr),mr=Math.min(tr.getdents.length,dr+Math.floor(M/rr)),hr=dr;hr<mr;hr++){var fr,_r,gr=tr.getdents[hr];if(gr===".")fr=tr.node.id,_r=4;else if(gr===".."){var br=FS.lookupPath(tr.path,{parent:!0});fr=br.node.id,_r=4}else{var wr;try{wr=FS.lookupNode(tr.node,gr)}catch(xr){if(xr?.errno===28)continue;throw xr}fr=wr.id,_r=FS.isChrdev(wr.mode)?2:FS.isDir(wr.mode)?4:FS.isLink(wr.mode)?10:8}HEAP64[e+ir>>3]=BigInt(fr),HEAP64[e+ir+8>>3]=BigInt((hr+1)*rr),HEAP16[e+ir+16>>1]=280,HEAP8[e+ir+18]=_r,stringToUTF8(gr,e+ir+19,256),ir+=rr}return FS.llseek(tr,hr*rr,0),ir}catch(xr){if(typeof FS>"u"||xr.name!=="ErrnoError")throw xr;return-xr.errno}}___syscall_getdents64.sig="iipp";function ___syscall_ioctl(r,e,M){SYSCALLS.varargs=M;try{var tr=SYSCALLS.getStreamFromFD(r);switch(e){case 21509:return tr.tty?0:-59;case 21505:{if(!tr.tty)return-59;if(tr.tty.ops.ioctl_tcgets){var rr=tr.tty.ops.ioctl_tcgets(tr),ir=syscallGetVarargP();HEAP32[ir>>2]=rr.c_iflag||0,HEAP32[ir+4>>2]=rr.c_oflag||0,HEAP32[ir+8>>2]=rr.c_cflag||0,HEAP32[ir+12>>2]=rr.c_lflag||0;for(var lr=0;lr<32;lr++)HEAP8[ir+lr+17]=rr.c_cc[lr]||0;return 0}return 0}case 21510:case 21511:case 21512:return tr.tty?0:-59;case 21506:case 21507:case 21508:{if(!tr.tty)return-59;if(tr.tty.ops.ioctl_tcsets){for(var ir=syscallGetVarargP(),dr=HEAP32[ir>>2],mr=HEAP32[ir+4>>2],hr=HEAP32[ir+8>>2],fr=HEAP32[ir+12>>2],_r=[],lr=0;lr<32;lr++)_r.push(HEAP8[ir+lr+17]);return tr.tty.ops.ioctl_tcsets(tr.tty,e,{c_iflag:dr,c_oflag:mr,c_cflag:hr,c_lflag:fr,c_cc:_r})}return 0}case 21519:{if(!tr.tty)return-59;var ir=syscallGetVarargP();return HEAP32[ir>>2]=0,0}case 21520:return tr.tty?-28:-59;case 21531:{var ir=syscallGetVarargP();return FS.ioctl(tr,e,ir)}case 21523:{if(!tr.tty)return-59;if(tr.tty.ops.ioctl_tiocgwinsz){var gr=tr.tty.ops.ioctl_tiocgwinsz(tr.tty),ir=syscallGetVarargP();HEAP16[ir>>1]=gr[0],HEAP16[ir+2>>1]=gr[1]}return 0}case 21524:return tr.tty?0:-59;case 21515:return tr.tty?0:-59;default:return-28}}catch(br){if(typeof FS>"u"||br.name!=="ErrnoError")throw br;return-br.errno}}___syscall_ioctl.sig="iiip";function ___syscall_lstat64(r,e){try{return r=SYSCALLS.getStr(r),SYSCALLS.doStat(FS.lstat,r,e)}catch(M){if(typeof FS>"u"||M.name!=="ErrnoError")throw M;return-M.errno}}___syscall_lstat64.sig="ipp";function ___syscall_mkdirat(r,e,M){try{return e=SYSCALLS.getStr(e),e=SYSCALLS.calculateAt(r,e),FS.mkdir(e,M,0),0}catch(tr){if(typeof FS>"u"||tr.name!=="ErrnoError")throw tr;return-tr.errno}}___syscall_mkdirat.sig="iipi";function ___syscall_newfstatat(r,e,M,tr){try{e=SYSCALLS.getStr(e);var rr=tr&256,ir=tr&4096;return tr=tr&-6401,e=SYSCALLS.calculateAt(r,e,ir),SYSCALLS.doStat(rr?FS.lstat:FS.stat,e,M)}catch(lr){if(typeof FS>"u"||lr.name!=="ErrnoError")throw lr;return-lr.errno}}___syscall_newfstatat.sig="iippi";function ___syscall_openat(r,e,M,tr){SYSCALLS.varargs=tr;try{e=SYSCALLS.getStr(e),e=SYSCALLS.calculateAt(r,e);var rr=tr?syscallGetVarargI():0;return FS.open(e,M,rr).fd}catch(ir){if(typeof FS>"u"||ir.name!=="ErrnoError")throw ir;return-ir.errno}}___syscall_openat.sig="iipip";var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount(r){return FS.createNode(null,"/",16895,0)},createPipe(){var r={buckets:[],refcnt:2};r.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var e=PIPEFS.nextname(),M=PIPEFS.nextname(),tr=FS.createNode(PIPEFS.root,e,4096,0),rr=FS.createNode(PIPEFS.root,M,4096,0);tr.pipe=r,rr.pipe=r;var ir=FS.createStream({path:e,node:tr,flags:0,seekable:!1,stream_ops:PIPEFS.stream_ops});tr.stream=ir;var lr=FS.createStream({path:M,node:rr,flags:1,seekable:!1,stream_ops:PIPEFS.stream_ops});return rr.stream=lr,{readable_fd:ir.fd,writable_fd:lr.fd}},stream_ops:{poll(r){var e=r.node.pipe;if((r.flags&2097155)===1)return 260;if(e.buckets.length>0)for(var M=0;M<e.buckets.length;M++){var tr=e.buckets[M];if(tr.offset-tr.roffset>0)return 65}return 0},ioctl(r,e,M){return 28},fsync(r){return 28},read(r,e,M,tr,rr){for(var ir=r.node.pipe,lr=0,dr=0;dr<ir.buckets.length;dr++){var mr=ir.buckets[dr];lr+=mr.offset-mr.roffset}var hr=e.subarray(M,M+tr);if(tr<=0)return 0;if(lr==0)throw new FS.ErrnoError(6);for(var fr=Math.min(lr,tr),_r=fr,gr=0,dr=0;dr<ir.buckets.length;dr++){var br=ir.buckets[dr],wr=br.offset-br.roffset;if(fr<=wr){var xr=br.buffer.subarray(br.roffset,br.offset);fr<wr?(xr=xr.subarray(0,fr),br.roffset+=fr):gr++,hr.set(xr);break}else{var xr=br.buffer.subarray(br.roffset,br.offset);hr.set(xr),hr=hr.subarray(xr.byteLength),fr-=xr.byteLength,gr++}}return gr&&gr==ir.buckets.length&&(gr--,ir.buckets[gr].offset=0,ir.buckets[gr].roffset=0),ir.buckets.splice(0,gr),_r},write(r,e,M,tr,rr){var ir=r.node.pipe,lr=e.subarray(M,M+tr),dr=lr.byteLength;if(dr<=0)return 0;var mr=null;ir.buckets.length==0?(mr={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0},ir.buckets.push(mr)):mr=ir.buckets[ir.buckets.length-1],assert(mr.offset<=PIPEFS.BUCKET_BUFFER_SIZE);var hr=PIPEFS.BUCKET_BUFFER_SIZE-mr.offset;if(hr>=dr)return mr.buffer.set(lr,mr.offset),mr.offset+=dr,dr;hr>0&&(mr.buffer.set(lr.subarray(0,hr),mr.offset),mr.offset+=hr,lr=lr.subarray(hr,lr.byteLength));for(var fr=lr.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0,_r=lr.byteLength%PIPEFS.BUCKET_BUFFER_SIZE,gr=0;gr<fr;gr++){var br={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:PIPEFS.BUCKET_BUFFER_SIZE,roffset:0};ir.buckets.push(br),br.buffer.set(lr.subarray(0,PIPEFS.BUCKET_BUFFER_SIZE)),lr=lr.subarray(PIPEFS.BUCKET_BUFFER_SIZE,lr.byteLength)}if(_r>0){var br={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:lr.byteLength,roffset:0};ir.buckets.push(br),br.buffer.set(lr)}return dr},close(r){var e=r.node.pipe;e.refcnt--,e.refcnt===0&&(e.buckets=null)}},nextname(){return PIPEFS.nextname.current||(PIPEFS.nextname.current=0),"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(r){try{if(r==0)throw new FS.ErrnoError(21);var e=PIPEFS.createPipe();return HEAP32[r>>2]=e.readable_fd,HEAP32[r+4>>2]=e.writable_fd,0}catch(M){if(typeof FS>"u"||M.name!=="ErrnoError")throw M;return-M.errno}}___syscall_pipe.sig="ip";function ___syscall_readlinkat(r,e,M,tr){try{if(e=SYSCALLS.getStr(e),e=SYSCALLS.calculateAt(r,e),tr<=0)return-28;var rr=FS.readlink(e),ir=Math.min(tr,lengthBytesUTF8(rr)),lr=HEAP8[M+ir];return stringToUTF8(rr,M,tr+1),HEAP8[M+ir]=lr,ir}catch(dr){if(typeof FS>"u"||dr.name!=="ErrnoError")throw dr;return-dr.errno}}___syscall_readlinkat.sig="iippp";var writeSockaddr=(r,e,M,tr,rr)=>{switch(e){case 2:M=inetPton4(M),zeroMemory(r,16),rr&&(HEAP32[rr>>2]=16),HEAP16[r>>1]=e,HEAP32[r+4>>2]=M,HEAP16[r+2>>1]=_htons(tr);break;case 10:M=inetPton6(M),zeroMemory(r,28),rr&&(HEAP32[rr>>2]=28),HEAP32[r>>2]=e,HEAP32[r+8>>2]=M[0],HEAP32[r+12>>2]=M[1],HEAP32[r+16>>2]=M[2],HEAP32[r+20>>2]=M[3],HEAP16[r+2>>1]=_htons(tr);break;default:return 5}return 0};function ___syscall_recvfrom(r,e,M,tr,rr,ir){try{var lr=getSocketFromFD(r),dr=lr.sock_ops.recvmsg(lr,M);if(!dr)return 0;if(rr)var mr=writeSockaddr(rr,lr.family,DNS.lookup_name(dr.addr),dr.port,ir);return HEAPU8.set(dr.buffer,e),dr.buffer.byteLength}catch(hr){if(typeof FS>"u"||hr.name!=="ErrnoError")throw hr;return-hr.errno}}___syscall_recvfrom.sig="iippipp";function ___syscall_renameat(r,e,M,tr){try{return e=SYSCALLS.getStr(e),tr=SYSCALLS.getStr(tr),e=SYSCALLS.calculateAt(r,e),tr=SYSCALLS.calculateAt(M,tr),FS.rename(e,tr),0}catch(rr){if(typeof FS>"u"||rr.name!=="ErrnoError")throw rr;return-rr.errno}}___syscall_renameat.sig="iipip";function ___syscall_rmdir(r){try{return r=SYSCALLS.getStr(r),FS.rmdir(r),0}catch(e){if(typeof FS>"u"||e.name!=="ErrnoError")throw e;return-e.errno}}___syscall_rmdir.sig="ip";function ___syscall_sendto(r,e,M,tr,rr,ir){try{var lr=getSocketFromFD(r);if(!rr)return FS.write(lr.stream,HEAP8,e,M);var dr=getSocketAddress(rr,ir);return lr.sock_ops.sendmsg(lr,HEAP8,e,M,dr.addr,dr.port)}catch(mr){if(typeof FS>"u"||mr.name!=="ErrnoError")throw mr;return-mr.errno}}___syscall_sendto.sig="iippipp";function ___syscall_socket(r,e,M){try{var tr=SOCKFS.createSocket(r,e,M);return tr.stream.fd}catch(rr){if(typeof FS>"u"||rr.name!=="ErrnoError")throw rr;return-rr.errno}}___syscall_socket.sig="iiiiiii";function ___syscall_stat64(r,e){try{return r=SYSCALLS.getStr(r),SYSCALLS.doStat(FS.stat,r,e)}catch(M){if(typeof FS>"u"||M.name!=="ErrnoError")throw M;return-M.errno}}___syscall_stat64.sig="ipp";function ___syscall_symlinkat(r,e,M){try{return r=SYSCALLS.getStr(r),M=SYSCALLS.getStr(M),M=SYSCALLS.calculateAt(e,M),FS.symlink(r,M),0}catch(tr){if(typeof FS>"u"||tr.name!=="ErrnoError")throw tr;return-tr.errno}}___syscall_symlinkat.sig="ipip";function ___syscall_truncate64(r,e){e=bigintToI53Checked(e);try{return isNaN(e)?61:(r=SYSCALLS.getStr(r),FS.truncate(r,e),0)}catch(M){if(typeof FS>"u"||M.name!=="ErrnoError")throw M;return-M.errno}}___syscall_truncate64.sig="ipj";function ___syscall_unlinkat(r,e,M){try{return e=SYSCALLS.getStr(e),e=SYSCALLS.calculateAt(r,e),M===0?FS.unlink(e):M===512?FS.rmdir(e):abort("Invalid flags passed to unlinkat"),0}catch(tr){if(typeof FS>"u"||tr.name!=="ErrnoError")throw tr;return-tr.errno}}___syscall_unlinkat.sig="iipi";var ___table_base=new WebAssembly.Global({value:"i32",mutable:!1},1);Module.___table_base=___table_base;var __abort_js=()=>abort("");__abort_js.sig="v";var ENV={},stackAlloc=r=>__emscripten_stack_alloc(r),stringToUTF8OnStack=r=>{var e=lengthBytesUTF8(r)+1,M=stackAlloc(e);return stringToUTF8(r,M,e),M},dlSetError=r=>{var e=stackSave(),M=stringToUTF8OnStack(r);___dl_seterr(M,0),stackRestore(e)},dlopenInternal=(r,e)=>{var M=UTF8ToString(r+36),tr=HEAP32[r+4>>2];M=PATH.normalize(M);var rr=!!(tr&256),ir=rr?null:{},lr={global:rr,nodelete:!!(tr&4096),loadAsync:e.loadAsync};try{return loadDynamicLibrary(M,lr,ir,r)}catch(dr){return dlSetError(`Could not load dynamic lib: ${M}
164
+ ${dr}`),0}},__dlopen_js=r=>dlopenInternal(r,{loadAsync:!1});__dlopen_js.sig="pp";var __dlsym_js=(r,e,M)=>{e=UTF8ToString(e);var tr,rr,ir=LDSO.loadedLibsByHandle[r];if(!ir.exports.hasOwnProperty(e)||ir.exports[e].stub)return dlSetError(`Tried to lookup unknown symbol "${e}" in dynamic lib: ${ir.name}`),0;if(rr=Object.keys(ir.exports).indexOf(e),tr=ir.exports[e],typeof tr=="function"){var lr=getFunctionAddress(tr);lr?tr=lr:(tr=addFunction(tr,tr.sig),HEAPU32[M>>2]=rr)}return tr};__dlsym_js.sig="pppp";var __emscripten_memcpy_js=(r,e,M)=>HEAPU8.copyWithin(r,e,e+M);__emscripten_memcpy_js.sig="vppp";var runtimeKeepaliveCounter=0,__emscripten_runtime_keepalive_clear=()=>{noExitRuntime=!1,runtimeKeepaliveCounter=0};__emscripten_runtime_keepalive_clear.sig="v";var __emscripten_system=r=>{if(ENVIRONMENT_IS_NODE){if(!r)return 1;var e=UTF8ToString(r);if(!e.length)return 0;var M=require("child_process"),tr=M.spawnSync(e,[],{shell:!0,stdio:"inherit"}),rr=(lr,dr)=>lr<<8|dr;if(tr.status===null){var ir=lr=>{switch(lr){case"SIGHUP":return 1;case"SIGQUIT":return 3;case"SIGFPE":return 8;case"SIGKILL":return 9;case"SIGALRM":return 14;case"SIGTERM":return 15;default:return 2}};return rr(0,ir(tr.signal))}return rr(tr.status,0)}return r?-52:0};__emscripten_system.sig="ip";var __emscripten_throw_longjmp=()=>{throw 1/0};__emscripten_throw_longjmp.sig="v";function __gmtime_js(r,e){r=bigintToI53Checked(r);var M=new Date(r*1e3);HEAP32[e>>2]=M.getUTCSeconds(),HEAP32[e+4>>2]=M.getUTCMinutes(),HEAP32[e+8>>2]=M.getUTCHours(),HEAP32[e+12>>2]=M.getUTCDate(),HEAP32[e+16>>2]=M.getUTCMonth(),HEAP32[e+20>>2]=M.getUTCFullYear()-1900,HEAP32[e+24>>2]=M.getUTCDay();var tr=Date.UTC(M.getUTCFullYear(),0,1,0,0,0,0),rr=(M.getTime()-tr)/(1e3*60*60*24)|0;HEAP32[e+28>>2]=rr}__gmtime_js.sig="vjp";var isLeapYear=r=>r%4===0&&(r%100!==0||r%400===0),MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335],MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334],ydayFromDate=r=>{var e=isLeapYear(r.getFullYear()),M=e?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE,tr=M[r.getMonth()]+r.getDate()-1;return tr};function __localtime_js(r,e){r=bigintToI53Checked(r);var M=new Date(r*1e3);HEAP32[e>>2]=M.getSeconds(),HEAP32[e+4>>2]=M.getMinutes(),HEAP32[e+8>>2]=M.getHours(),HEAP32[e+12>>2]=M.getDate(),HEAP32[e+16>>2]=M.getMonth(),HEAP32[e+20>>2]=M.getFullYear()-1900,HEAP32[e+24>>2]=M.getDay();var tr=ydayFromDate(M)|0;HEAP32[e+28>>2]=tr,HEAP32[e+36>>2]=-(M.getTimezoneOffset()*60);var rr=new Date(M.getFullYear(),0,1),ir=new Date(M.getFullYear(),6,1).getTimezoneOffset(),lr=rr.getTimezoneOffset(),dr=(ir!=lr&&M.getTimezoneOffset()==Math.min(lr,ir))|0;HEAP32[e+32>>2]=dr}__localtime_js.sig="vjp";function __mmap_js(r,e,M,tr,rr,ir,lr){rr=bigintToI53Checked(rr);try{if(isNaN(rr))return 61;var dr=SYSCALLS.getStreamFromFD(tr),mr=FS.mmap(dr,r,rr,e,M),hr=mr.ptr;return HEAP32[ir>>2]=mr.allocated,HEAPU32[lr>>2]=hr,0}catch(fr){if(typeof FS>"u"||fr.name!=="ErrnoError")throw fr;return-fr.errno}}__mmap_js.sig="ipiiijpp";function __munmap_js(r,e,M,tr,rr,ir){ir=bigintToI53Checked(ir);try{var lr=SYSCALLS.getStreamFromFD(rr);M&2&&SYSCALLS.doMsync(r,lr,e,tr,ir)}catch(dr){if(typeof FS>"u"||dr.name!=="ErrnoError")throw dr;return-dr.errno}}__munmap_js.sig="ippiiij";var timers={},handleException=r=>{if(r instanceof ExitStatus||r=="unwind")return EXITSTATUS;quit_(1,r)},keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0,_proc_exit=r=>{EXITSTATUS=r,keepRuntimeAlive()||(Module.onExit?.(r),ABORT=!0),quit_(r,new ExitStatus(r))};_proc_exit.sig="vi";var exitJS=(r,e)=>{EXITSTATUS=r,_proc_exit(r)},_exit=exitJS;_exit.sig="vi";var maybeExit=()=>{if(!keepRuntimeAlive())try{_exit(EXITSTATUS)}catch(r){handleException(r)}},callUserCallback=r=>{if(!ABORT)try{r(),maybeExit()}catch(e){handleException(e)}},_emscripten_get_now=()=>performance.now();_emscripten_get_now.sig="d";var __setitimer_js=(r,e)=>{if(timers[r]&&(clearTimeout(timers[r].id),delete timers[r]),!e)return 0;var M=setTimeout(()=>{delete timers[r],callUserCallback(()=>__emscripten_timeout(r,_emscripten_get_now()))},e);return timers[r]={id:M,timeout_ms:e},0};__setitimer_js.sig="iid";var __tzset_js=(r,e,M,tr)=>{var rr=new Date().getFullYear(),ir=new Date(rr,0,1),lr=new Date(rr,6,1),dr=ir.getTimezoneOffset(),mr=lr.getTimezoneOffset(),hr=Math.max(dr,mr);HEAPU32[r>>2]=hr*60,HEAP32[e>>2]=+(dr!=mr);var fr=br=>{var wr=br>=0?"-":"+",xr=Math.abs(br),vr=String(Math.floor(xr/60)).padStart(2,"0"),Mr=String(xr%60).padStart(2,"0");return`UTC${wr}${vr}${Mr}`},_r=fr(dr),gr=fr(mr);mr<dr?(stringToUTF8(_r,M,17),stringToUTF8(gr,tr,17)):(stringToUTF8(_r,tr,17),stringToUTF8(gr,M,17))};__tzset_js.sig="vpppp";var _emscripten_date_now=()=>Date.now();_emscripten_date_now.sig="d";var checkWasiClock=r=>r>=0&&r<=3;function _clock_time_get(r,e,M){if(!checkWasiClock(r))return 28;var tr;r===0?tr=_emscripten_date_now():tr=_emscripten_get_now();var rr=Math.round(tr*1e3*1e3);return HEAP64[M>>3]=BigInt(rr),0}_clock_time_get.sig="iijp";var readEmAsmArgsArray=[],readEmAsmArgs=(r,e)=>{readEmAsmArgsArray.length=0;for(var M;M=HEAPU8[r++];){var tr=M!=105;tr&=M!=112,e+=tr&&e%8?4:0,readEmAsmArgsArray.push(M==112?HEAPU32[e>>2]:M==106?HEAP64[e>>3]:M==105?HEAP32[e>>2]:HEAPF64[e>>3]),e+=tr?8:4}return readEmAsmArgsArray},runEmAsmFunction=(r,e,M)=>{var tr=readEmAsmArgs(e,M);return ASM_CONSTS[r](...tr)},_emscripten_asm_const_int=(r,e,M)=>runEmAsmFunction(r,e,M);_emscripten_asm_const_int.sig="ippp";var _emscripten_force_exit=r=>{__emscripten_runtime_keepalive_clear(),_exit(r)};_emscripten_force_exit.sig="vi";var getHeapMax=()=>2147483648,growMemory=r=>{var e=wasmMemory.buffer,M=(r-e.byteLength+65535)/65536|0;try{return wasmMemory.grow(M),updateMemoryViews(),1}catch{}},_emscripten_resize_heap=r=>{var e=HEAPU8.length;r>>>=0;var M=getHeapMax();if(r>M)return!1;for(var tr=1;tr<=4;tr*=2){var rr=e*(1+.2/tr);rr=Math.min(rr,r+100663296);var ir=Math.min(M,alignMemory(Math.max(r,rr),65536)),lr=growMemory(ir);if(lr)return!0}return!1};_emscripten_resize_heap.sig="ip";var getExecutableName=()=>thisProgram||"./this.program",getEnvStrings=()=>{if(!getEnvStrings.strings){var r=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:r,_:getExecutableName()};for(var M in ENV)ENV[M]===void 0?delete e[M]:e[M]=ENV[M];var tr=[];for(var M in e)tr.push(`${M}=${e[M]}`);getEnvStrings.strings=tr}return getEnvStrings.strings},stringToAscii=(r,e)=>{for(var M=0;M<r.length;++M)HEAP8[e++]=r.charCodeAt(M);HEAP8[e]=0},_environ_get=(r,e)=>{var M=0;return getEnvStrings().forEach((tr,rr)=>{var ir=e+M;HEAPU32[r+rr*4>>2]=ir,stringToAscii(tr,ir),M+=tr.length+1}),0};_environ_get.sig="ipp";var _environ_sizes_get=(r,e)=>{var M=getEnvStrings();HEAPU32[r>>2]=M.length;var tr=0;return M.forEach(rr=>tr+=rr.length+1),HEAPU32[e>>2]=tr,0};_environ_sizes_get.sig="ipp";function _fd_close(r){try{var e=SYSCALLS.getStreamFromFD(r);return FS.close(e),0}catch(M){if(typeof FS>"u"||M.name!=="ErrnoError")throw M;return M.errno}}_fd_close.sig="ii";function _fd_fdstat_get(r,e){try{var M=0,tr=0,rr=0,ir=SYSCALLS.getStreamFromFD(r),lr=ir.tty?2:FS.isDir(ir.mode)?3:FS.isLink(ir.mode)?7:4;return HEAP8[e]=lr,HEAP16[e+2>>1]=rr,HEAP64[e+8>>3]=BigInt(M),HEAP64[e+16>>3]=BigInt(tr),0}catch(dr){if(typeof FS>"u"||dr.name!=="ErrnoError")throw dr;return dr.errno}}_fd_fdstat_get.sig="iip";var doReadv=(r,e,M,tr)=>{for(var rr=0,ir=0;ir<M;ir++){var lr=HEAPU32[e>>2],dr=HEAPU32[e+4>>2];e+=8;var mr=FS.read(r,HEAP8,lr,dr,tr);if(mr<0)return-1;if(rr+=mr,mr<dr)break;typeof tr<"u"&&(tr+=mr)}return rr};function _fd_pread(r,e,M,tr,rr){tr=bigintToI53Checked(tr);try{if(isNaN(tr))return 61;var ir=SYSCALLS.getStreamFromFD(r),lr=doReadv(ir,e,M,tr);return HEAPU32[rr>>2]=lr,0}catch(dr){if(typeof FS>"u"||dr.name!=="ErrnoError")throw dr;return dr.errno}}_fd_pread.sig="iippjp";var doWritev=(r,e,M,tr)=>{for(var rr=0,ir=0;ir<M;ir++){var lr=HEAPU32[e>>2],dr=HEAPU32[e+4>>2];e+=8;var mr=FS.write(r,HEAP8,lr,dr,tr);if(mr<0)return-1;if(rr+=mr,mr<dr)break;typeof tr<"u"&&(tr+=mr)}return rr};function _fd_pwrite(r,e,M,tr,rr){tr=bigintToI53Checked(tr);try{if(isNaN(tr))return 61;var ir=SYSCALLS.getStreamFromFD(r),lr=doWritev(ir,e,M,tr);return HEAPU32[rr>>2]=lr,0}catch(dr){if(typeof FS>"u"||dr.name!=="ErrnoError")throw dr;return dr.errno}}_fd_pwrite.sig="iippjp";function _fd_read(r,e,M,tr){try{var rr=SYSCALLS.getStreamFromFD(r),ir=doReadv(rr,e,M);return HEAPU32[tr>>2]=ir,0}catch(lr){if(typeof FS>"u"||lr.name!=="ErrnoError")throw lr;return lr.errno}}_fd_read.sig="iippp";function _fd_seek(r,e,M,tr){e=bigintToI53Checked(e);try{if(isNaN(e))return 61;var rr=SYSCALLS.getStreamFromFD(r);return FS.llseek(rr,e,M),HEAP64[tr>>3]=BigInt(rr.position),rr.getdents&&e===0&&M===0&&(rr.getdents=null),0}catch(ir){if(typeof FS>"u"||ir.name!=="ErrnoError")throw ir;return ir.errno}}_fd_seek.sig="iijip";function _fd_sync(r){try{var e=SYSCALLS.getStreamFromFD(r);return e.stream_ops?.fsync?e.stream_ops.fsync(e):0}catch(M){if(typeof FS>"u"||M.name!=="ErrnoError")throw M;return M.errno}}_fd_sync.sig="ii";function _fd_write(r,e,M,tr){try{var rr=SYSCALLS.getStreamFromFD(r),ir=doWritev(rr,e,M);return HEAPU32[tr>>2]=ir,0}catch(lr){if(typeof FS>"u"||lr.name!=="ErrnoError")throw lr;return lr.errno}}_fd_write.sig="iippp";var _getaddrinfo=(r,e,M,tr)=>{var rr=0,ir=0,lr=0,dr=0,mr=0,hr=0,fr;function _r(gr,br,wr,xr,vr,Mr){var Sr,yr,Ar,Dr;return yr=gr===10?28:16,vr=gr===10?inetNtop6(vr):inetNtop4(vr),Sr=_malloc(yr),Dr=writeSockaddr(Sr,gr,vr,Mr),assert(!Dr),Ar=_malloc(32),HEAP32[Ar+4>>2]=gr,HEAP32[Ar+8>>2]=br,HEAP32[Ar+12>>2]=wr,HEAPU32[Ar+24>>2]=xr,HEAPU32[Ar+20>>2]=Sr,gr===10?HEAP32[Ar+16>>2]=28:HEAP32[Ar+16>>2]=16,HEAP32[Ar+28>>2]=0,Ar}if(M&&(lr=HEAP32[M>>2],dr=HEAP32[M+4>>2],mr=HEAP32[M+8>>2],hr=HEAP32[M+12>>2]),mr&&!hr&&(hr=mr===2?17:6),!mr&&hr&&(mr=hr===17?2:1),hr===0&&(hr=6),mr===0&&(mr=1),!r&&!e)return-2;if(lr&-1088||M!==0&&HEAP32[M>>2]&2&&!r)return-1;if(lr&32)return-2;if(mr!==0&&mr!==1&&mr!==2)return-7;if(dr!==0&&dr!==2&&dr!==10)return-6;if(e&&(e=UTF8ToString(e),ir=parseInt(e,10),isNaN(ir)))return lr&1024?-2:-8;if(!r)return dr===0&&(dr=2),lr&1||(dr===2?rr=_htonl(2130706433):rr=[0,0,0,_htonl(1)]),fr=_r(dr,mr,hr,null,rr,ir),HEAPU32[tr>>2]=fr,0;if(r=UTF8ToString(r),rr=inetPton4(r),rr!==null)if(dr===0||dr===2)dr=2;else if(dr===10&&lr&8)rr=[0,0,_htonl(65535),rr],dr=10;else return-2;else if(rr=inetPton6(r),rr!==null)if(dr===0||dr===10)dr=10;else return-2;return rr!=null?(fr=_r(dr,mr,hr,r,rr,ir),HEAPU32[tr>>2]=fr,0):lr&4?-2:(r=DNS.lookup_name(r),rr=inetPton4(r),dr===0?dr=2:dr===10&&(rr=[0,0,_htonl(65535),rr]),fr=_r(dr,mr,hr,null,rr,ir),HEAPU32[tr>>2]=fr,0)};_getaddrinfo.sig="ipppp";var _getnameinfo=(r,e,M,tr,rr,ir,lr)=>{var dr=readSockaddr(r,e);if(dr.errno)return-6;var mr=dr.port,hr=dr.addr,fr=!1;if(M&&tr){var _r;if(lr&1||!(_r=DNS.lookup_addr(hr))){if(lr&8)return-2}else hr=_r;var gr=stringToUTF8(hr,M,tr);gr+1>=tr&&(fr=!0)}if(rr&&ir){mr=""+mr;var gr=stringToUTF8(mr,rr,ir);gr+1>=ir&&(fr=!0)}return fr?-12:0};_getnameinfo.sig="ipipipii";var stringToNewUTF8=r=>{var e=lengthBytesUTF8(r)+1,M=_malloc(e);return M&&stringToUTF8(r,M,e),M},removeFunction=r=>{functionsInTableMap.delete(getWasmTableEntry(r)),setWasmTableEntry(r,null),freeTableIndexes.push(r)},FS_createPath=FS.createPath,FS_unlink=r=>FS.unlink(r),FS_createLazyFile=FS.createLazyFile,FS_createDevice=FS.createDevice,setTempRet0=r=>__emscripten_tempret_set(r),_setTempRet0=setTempRet0;Module._setTempRet0=_setTempRet0;var getTempRet0=r=>__emscripten_tempret_get(),_getTempRet0=getTempRet0;Module._getTempRet0=_getTempRet0,registerWasmPlugin(),FS.createPreloadedFile=FS_createPreloadedFile,FS.staticInit(),Module.FS_createPath=FS.createPath,Module.FS_createDataFile=FS.createDataFile,Module.FS_createPreloadedFile=FS.createPreloadedFile,Module.FS_unlink=FS.unlink,Module.FS_createLazyFile=FS.createLazyFile,Module.FS_createDevice=FS.createDevice,MEMFS.doesNotExistError=new FS.ErrnoError(44),MEMFS.doesNotExistError.stack="<generic error, no stack>",ENVIRONMENT_IS_NODE&&NODEFS.staticInit();var wasmImports={__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__stack_pointer:___stack_pointer,__syscall__newselect:___syscall__newselect,__syscall_bind:___syscall_bind,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_dup:___syscall_dup,__syscall_dup3:___syscall_dup3,__syscall_faccessat:___syscall_faccessat,__syscall_fadvise64:___syscall_fadvise64,__syscall_fallocate:___syscall_fallocate,__syscall_fcntl64:___syscall_fcntl64,__syscall_fdatasync:___syscall_fdatasync,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_pipe:___syscall_pipe,__syscall_readlinkat:___syscall_readlinkat,__syscall_recvfrom:___syscall_recvfrom,__syscall_renameat:___syscall_renameat,__syscall_rmdir:___syscall_rmdir,__syscall_sendto:___syscall_sendto,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_symlinkat:___syscall_symlinkat,__syscall_truncate64:___syscall_truncate64,__syscall_unlinkat:___syscall_unlinkat,__table_base:___table_base,_abort_js:__abort_js,_dlopen_js:__dlopen_js,_dlsym_js:__dlsym_js,_emscripten_memcpy_js:__emscripten_memcpy_js,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_system:__emscripten_system,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_setitimer_js:__setitimer_js,_tzset_js:__tzset_js,clock_time_get:_clock_time_get,emscripten_asm_const_int:_emscripten_asm_const_int,emscripten_date_now:_emscripten_date_now,emscripten_force_exit:_emscripten_force_exit,emscripten_get_now:_emscripten_get_now,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_pread:_fd_pread,fd_pwrite:_fd_pwrite,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,getTempRet0:_getTempRet0,getaddrinfo:_getaddrinfo,getnameinfo:_getnameinfo,invoke_di,invoke_i,invoke_id,invoke_ii,invoke_iii,invoke_iiii,invoke_iiiii,invoke_iiiiii,invoke_iiiiiii,invoke_iiiiiiii,invoke_iiiiiiiii,invoke_iiiiiiiiii,invoke_iiiiiiiiiii,invoke_iiiiiiiiiiiiii,invoke_iiiiiiiiiiiiiiiiii,invoke_iiiiiji,invoke_iiiij,invoke_iiiijii,invoke_iiij,invoke_iiji,invoke_ij,invoke_ijiiiii,invoke_ijiiiiii,invoke_j,invoke_ji,invoke_jii,invoke_jiiii,invoke_jiiiiii,invoke_jiiiiiiiii,invoke_v,invoke_vi,invoke_vid,invoke_vii,invoke_viii,invoke_viiii,invoke_viiiii,invoke_viiiiii,invoke_viiiiiii,invoke_viiiiiiii,invoke_viiiiiiiii,invoke_viiiiiiiiiiii,invoke_viiiji,invoke_viij,invoke_viiji,invoke_viijii,invoke_viijiiii,invoke_vij,invoke_viji,invoke_vijiji,invoke_vj,invoke_vji,memory:wasmMemory,proc_exit:_proc_exit,setTempRet0:_setTempRet0},wasmExports;createWasm(),Module._fopen=(r,e)=>(Module._fopen=wasmExports.fopen)(r,e);var _fflush=Module._fflush=r=>(_fflush=Module._fflush=wasmExports.fflush)(r);Module.___errno_location=()=>(Module.___errno_location=wasmExports.__errno_location)(),Module._ProcessInterrupts=()=>(Module._ProcessInterrupts=wasmExports.ProcessInterrupts)(),Module._errstart_cold=(r,e)=>(Module._errstart_cold=wasmExports.errstart_cold)(r,e),Module._errcode=r=>(Module._errcode=wasmExports.errcode)(r),Module._errmsg=(r,e)=>(Module._errmsg=wasmExports.errmsg)(r,e),Module._errfinish=(r,e,M)=>(Module._errfinish=wasmExports.errfinish)(r,e,M),Module._puts=r=>(Module._puts=wasmExports.puts)(r),Module._errstart=(r,e)=>(Module._errstart=wasmExports.errstart)(r,e),Module._errmsg_internal=(r,e)=>(Module._errmsg_internal=wasmExports.errmsg_internal)(r,e),Module._errdetail=(r,e)=>(Module._errdetail=wasmExports.errdetail)(r,e),Module._errhint=(r,e)=>(Module._errhint=wasmExports.errhint)(r,e),Module._pg_parse_query=r=>(Module._pg_parse_query=wasmExports.pg_parse_query)(r),Module._gettimeofday=(r,e)=>(Module._gettimeofday=wasmExports.gettimeofday)(r,e),Module._raw_parser=(r,e)=>(Module._raw_parser=wasmExports.raw_parser)(r,e),Module._initStringInfo=r=>(Module._initStringInfo=wasmExports.initStringInfo)(r),Module._appendStringInfoString=(r,e)=>(Module._appendStringInfoString=wasmExports.appendStringInfoString)(r,e),Module._appendStringInfo=(r,e,M)=>(Module._appendStringInfo=wasmExports.appendStringInfo)(r,e,M),Module._errdetail_internal=(r,e)=>(Module._errdetail_internal=wasmExports.errdetail_internal)(r,e),Module._pfree=r=>(Module._pfree=wasmExports.pfree)(r),Module._list_make1_impl=(r,e)=>(Module._list_make1_impl=wasmExports.list_make1_impl)(r,e),Module._QueryRewrite=r=>(Module._QueryRewrite=wasmExports.QueryRewrite)(r),Module._pg_plan_query=(r,e,M,tr)=>(Module._pg_plan_query=wasmExports.pg_plan_query)(r,e,M,tr),Module._palloc0=r=>(Module._palloc0=wasmExports.palloc0)(r),Module._lappend=(r,e)=>(Module._lappend=wasmExports.lappend)(r,e),Module._GetCurrentTimestamp=()=>(Module._GetCurrentTimestamp=wasmExports.GetCurrentTimestamp)(),Module._pg_prng_double=r=>(Module._pg_prng_double=wasmExports.pg_prng_double)(r),Module._pg_snprintf=(r,e,M,tr)=>(Module._pg_snprintf=wasmExports.pg_snprintf)(r,e,M,tr),Module._die=r=>(Module._die=wasmExports.die)(r),Module._check_stack_depth=()=>(Module._check_stack_depth=wasmExports.check_stack_depth)(),Module._pre_format_elog_string=(r,e)=>(Module._pre_format_elog_string=wasmExports.pre_format_elog_string)(r,e),Module._format_elog_string=(r,e)=>(Module._format_elog_string=wasmExports.format_elog_string)(r,e),Module._pstrdup=r=>(Module._pstrdup=wasmExports.pstrdup)(r),Module._SplitIdentifierString=(r,e,M)=>(Module._SplitIdentifierString=wasmExports.SplitIdentifierString)(r,e,M),Module._list_free=r=>(Module._list_free=wasmExports.list_free)(r),Module._pg_strcasecmp=(r,e)=>(Module._pg_strcasecmp=wasmExports.pg_strcasecmp)(r,e),Module._guc_malloc=(r,e)=>(Module._guc_malloc=wasmExports.guc_malloc)(r,e),Module._SetConfigOption=(r,e,M,tr)=>(Module._SetConfigOption=wasmExports.SetConfigOption)(r,e,M,tr),Module._pg_sprintf=(r,e,M)=>(Module._pg_sprintf=wasmExports.pg_sprintf)(r,e,M),Module._strcmp=(r,e)=>(Module._strcmp=wasmExports.strcmp)(r,e),Module._strdup=r=>(Module._strdup=wasmExports.strdup)(r),Module._atoi=r=>(Module._atoi=wasmExports.atoi)(r),Module._strlcpy=(r,e,M)=>(Module._strlcpy=wasmExports.strlcpy)(r,e,M),Module._pgl_shutdown=()=>(Module._pgl_shutdown=wasmExports.pgl_shutdown)(),Module._pgl_closed=()=>(Module._pgl_closed=wasmExports.pgl_closed)(),Module._MemoryContextReset=r=>(Module._MemoryContextReset=wasmExports.MemoryContextReset)(r),Module._resetStringInfo=r=>(Module._resetStringInfo=wasmExports.resetStringInfo)(r),Module._getc=r=>(Module._getc=wasmExports.getc)(r),Module._appendStringInfoChar=(r,e)=>(Module._appendStringInfoChar=wasmExports.appendStringInfoChar)(r,e),Module._strlen=r=>(Module._strlen=wasmExports.strlen)(r),Module._strncmp=(r,e,M)=>(Module._strncmp=wasmExports.strncmp)(r,e,M),Module._pg_fprintf=(r,e,M)=>(Module._pg_fprintf=wasmExports.pg_fprintf)(r,e,M),Module._pgstat_report_activity=(r,e)=>(Module._pgstat_report_activity=wasmExports.pgstat_report_activity)(r,e),Module._errhidestmt=r=>(Module._errhidestmt=wasmExports.errhidestmt)(r),Module._GetTransactionSnapshot=()=>(Module._GetTransactionSnapshot=wasmExports.GetTransactionSnapshot)(),Module._PushActiveSnapshot=r=>(Module._PushActiveSnapshot=wasmExports.PushActiveSnapshot)(r),Module._AllocSetContextCreateInternal=(r,e,M,tr,rr)=>(Module._AllocSetContextCreateInternal=wasmExports.AllocSetContextCreateInternal)(r,e,M,tr,rr),Module._PopActiveSnapshot=()=>(Module._PopActiveSnapshot=wasmExports.PopActiveSnapshot)(),Module._CreateDestReceiver=r=>(Module._CreateDestReceiver=wasmExports.CreateDestReceiver)(r),Module._CommitTransactionCommand=()=>(Module._CommitTransactionCommand=wasmExports.CommitTransactionCommand)(),Module._CommandCounterIncrement=()=>(Module._CommandCounterIncrement=wasmExports.CommandCounterIncrement)(),Module._MemoryContextDelete=r=>(Module._MemoryContextDelete=wasmExports.MemoryContextDelete)(r),Module._StartTransactionCommand=()=>(Module._StartTransactionCommand=wasmExports.StartTransactionCommand)(),Module.___wasm_setjmp_test=(r,e)=>(Module.___wasm_setjmp_test=wasmExports.__wasm_setjmp_test)(r,e),Module._pg_printf=(r,e)=>(Module._pg_printf=wasmExports.pg_printf)(r,e),Module.___wasm_setjmp=(r,e,M)=>(Module.___wasm_setjmp=wasmExports.__wasm_setjmp)(r,e,M),Module._FlushErrorState=()=>(Module._FlushErrorState=wasmExports.FlushErrorState)(),Module._emscripten_longjmp=(r,e)=>(Module._emscripten_longjmp=wasmExports.emscripten_longjmp)(r,e),Module._enlargeStringInfo=(r,e)=>(Module._enlargeStringInfo=wasmExports.enlargeStringInfo)(r,e);var _malloc=Module._malloc=r=>(_malloc=Module._malloc=wasmExports.malloc)(r);Module._realloc=(r,e)=>(Module._realloc=wasmExports.realloc)(r,e),Module._getenv=r=>(Module._getenv=wasmExports.getenv)(r),Module._strspn=(r,e)=>(Module._strspn=wasmExports.strspn)(r,e),Module._memcpy=(r,e,M)=>(Module._memcpy=wasmExports.memcpy)(r,e,M),Module._fileno=r=>(Module._fileno=wasmExports.fileno)(r),Module._strchr=(r,e)=>(Module._strchr=wasmExports.strchr)(r,e),Module._free=r=>(Module._free=wasmExports.free)(r),Module._pg_vsnprintf=(r,e,M,tr)=>(Module._pg_vsnprintf=wasmExports.pg_vsnprintf)(r,e,M,tr),Module._strcpy=(r,e)=>(Module._strcpy=wasmExports.strcpy)(r,e),Module._psprintf=(r,e)=>(Module._psprintf=wasmExports.psprintf)(r,e),Module._stat=(r,e)=>(Module._stat=wasmExports.stat)(r,e),Module._fwrite=(r,e,M,tr)=>(Module._fwrite=wasmExports.fwrite)(r,e,M,tr),Module._strftime=(r,e,M,tr)=>(Module._strftime=wasmExports.strftime)(r,e,M,tr),Module._strstr=(r,e)=>(Module._strstr=wasmExports.strstr)(r,e),Module._atexit=r=>(Module._atexit=wasmExports.atexit)(r),Module._strtol=(r,e,M)=>(Module._strtol=wasmExports.strtol)(r,e,M),Module._ferror=r=>(Module._ferror=wasmExports.ferror)(r),Module._clear_error=()=>(Module._clear_error=wasmExports.clear_error)(),Module._interactive_one=(r,e)=>(Module._interactive_one=wasmExports.interactive_one)(r,e),Module._pq_getmsgint=(r,e)=>(Module._pq_getmsgint=wasmExports.pq_getmsgint)(r,e),Module._palloc=r=>(Module._palloc=wasmExports.palloc)(r),Module._makeParamList=r=>(Module._makeParamList=wasmExports.makeParamList)(r),Module._getTypeInputInfo=(r,e,M)=>(Module._getTypeInputInfo=wasmExports.getTypeInputInfo)(r,e,M),Module._pnstrdup=(r,e)=>(Module._pnstrdup=wasmExports.pnstrdup)(r,e),Module._MemoryContextSetParent=(r,e)=>(Module._MemoryContextSetParent=wasmExports.MemoryContextSetParent)(r,e),Module._pgl_backend=()=>(Module._pgl_backend=wasmExports.pgl_backend)(),Module._pgl_initdb=()=>(Module._pgl_initdb=wasmExports.pgl_initdb)(),Module._main=(r,e)=>(Module._main=wasmExports.__main_argc_argv)(r,e),Module._appendStringInfoStringQuoted=(r,e,M)=>(Module._appendStringInfoStringQuoted=wasmExports.appendStringInfoStringQuoted)(r,e,M),Module._set_errcontext_domain=r=>(Module._set_errcontext_domain=wasmExports.set_errcontext_domain)(r),Module._errcontext_msg=(r,e)=>(Module._errcontext_msg=wasmExports.errcontext_msg)(r,e),Module._pg_is_ascii=r=>(Module._pg_is_ascii=wasmExports.pg_is_ascii)(r),Module._memchr=(r,e,M)=>(Module._memchr=wasmExports.memchr)(r,e,M),Module._strrchr=(r,e)=>(Module._strrchr=wasmExports.strrchr)(r,e),Module._xsltFreeStylesheet=r=>(Module._xsltFreeStylesheet=wasmExports.xsltFreeStylesheet)(r),Module._xsltParseStylesheetDoc=r=>(Module._xsltParseStylesheetDoc=wasmExports.xsltParseStylesheetDoc)(r),Module._xsltSaveResultToString=(r,e,M,tr)=>(Module._xsltSaveResultToString=wasmExports.xsltSaveResultToString)(r,e,M,tr),Module._xsltCleanupGlobals=()=>(Module._xsltCleanupGlobals=wasmExports.xsltCleanupGlobals)(),Module._xsltNewTransformContext=(r,e)=>(Module._xsltNewTransformContext=wasmExports.xsltNewTransformContext)(r,e),Module._xsltFreeTransformContext=r=>(Module._xsltFreeTransformContext=wasmExports.xsltFreeTransformContext)(r),Module._xsltApplyStylesheetUser=(r,e,M,tr,rr,ir)=>(Module._xsltApplyStylesheetUser=wasmExports.xsltApplyStylesheetUser)(r,e,M,tr,rr,ir),Module._xsltNewSecurityPrefs=()=>(Module._xsltNewSecurityPrefs=wasmExports.xsltNewSecurityPrefs)(),Module._xsltFreeSecurityPrefs=r=>(Module._xsltFreeSecurityPrefs=wasmExports.xsltFreeSecurityPrefs)(r),Module._xsltSetSecurityPrefs=(r,e,M)=>(Module._xsltSetSecurityPrefs=wasmExports.xsltSetSecurityPrefs)(r,e,M),Module._xsltSetCtxtSecurityPrefs=(r,e)=>(Module._xsltSetCtxtSecurityPrefs=wasmExports.xsltSetCtxtSecurityPrefs)(r,e),Module._xsltSecurityForbid=(r,e,M)=>(Module._xsltSecurityForbid=wasmExports.xsltSecurityForbid)(r,e,M),Module._replace_percent_placeholders=(r,e,M,tr)=>(Module._replace_percent_placeholders=wasmExports.replace_percent_placeholders)(r,e,M,tr),Module._memset=(r,e,M)=>(Module._memset=wasmExports.memset)(r,e,M),Module._MemoryContextAllocZero=(r,e)=>(Module._MemoryContextAllocZero=wasmExports.MemoryContextAllocZero)(r,e),Module._MemoryContextAllocExtended=(r,e,M)=>(Module._MemoryContextAllocExtended=wasmExports.MemoryContextAllocExtended)(r,e,M),Module._hash_bytes=(r,e)=>(Module._hash_bytes=wasmExports.hash_bytes)(r,e),Module._memcmp=(r,e,M)=>(Module._memcmp=wasmExports.memcmp)(r,e,M),Module._repalloc=(r,e)=>(Module._repalloc=wasmExports.repalloc)(r,e),Module._pg_qsort=(r,e,M,tr)=>(Module._pg_qsort=wasmExports.pg_qsort)(r,e,M,tr),Module._OpenTransientFile=(r,e)=>(Module._OpenTransientFile=wasmExports.OpenTransientFile)(r,e),Module._errcode_for_file_access=()=>(Module._errcode_for_file_access=wasmExports.errcode_for_file_access)(),Module._read=(r,e,M)=>(Module._read=wasmExports.read)(r,e,M),Module._CloseTransientFile=r=>(Module._CloseTransientFile=wasmExports.CloseTransientFile)(r),Module._time=r=>(Module._time=wasmExports.time)(r),Module._close=r=>(Module._close=wasmExports.close)(r),Module.___multi3=(r,e,M,tr,rr)=>(Module.___multi3=wasmExports.__multi3)(r,e,M,tr,rr),Module._isalnum=r=>(Module._isalnum=wasmExports.isalnum)(r),Module._wait_result_to_str=r=>(Module._wait_result_to_str=wasmExports.wait_result_to_str)(r),Module._float_to_shortest_decimal_bufn=(r,e)=>(Module._float_to_shortest_decimal_bufn=wasmExports.float_to_shortest_decimal_bufn)(r,e),Module._float_to_shortest_decimal_buf=(r,e)=>(Module._float_to_shortest_decimal_buf=wasmExports.float_to_shortest_decimal_buf)(r,e),Module._memmove=(r,e,M)=>(Module._memmove=wasmExports.memmove)(r,e,M),Module._pwrite=(r,e,M,tr)=>(Module._pwrite=wasmExports.pwrite)(r,e,M,tr),Module._hash_bytes_extended=(r,e,M)=>(Module._hash_bytes_extended=wasmExports.hash_bytes_extended)(r,e,M);var _calloc=(r,e)=>(_calloc=wasmExports.calloc)(r,e);Module._IsValidJsonNumber=(r,e)=>(Module._IsValidJsonNumber=wasmExports.IsValidJsonNumber)(r,e),Module._appendBinaryStringInfo=(r,e,M)=>(Module._appendBinaryStringInfo=wasmExports.appendBinaryStringInfo)(r,e,M),Module._makeStringInfo=()=>(Module._makeStringInfo=wasmExports.makeStringInfo)(),Module._GetDatabaseEncodingName=()=>(Module._GetDatabaseEncodingName=wasmExports.GetDatabaseEncodingName)(),Module._ScanKeywordLookup=(r,e)=>(Module._ScanKeywordLookup=wasmExports.ScanKeywordLookup)(r,e),Module._strtoul=(r,e,M)=>(Module._strtoul=wasmExports.strtoul)(r,e,M),Module._sscanf=(r,e,M)=>(Module._sscanf=wasmExports.sscanf)(r,e,M),Module._strtoull=(r,e,M)=>(Module._strtoull=wasmExports.strtoull)(r,e,M),Module._pg_prng_uint64=r=>(Module._pg_prng_uint64=wasmExports.pg_prng_uint64)(r),Module._pg_prng_uint32=r=>(Module._pg_prng_uint32=wasmExports.pg_prng_uint32)(r),Module._log=r=>(Module._log=wasmExports.log)(r),Module._sin=r=>(Module._sin=wasmExports.sin)(r),Module._readdir=r=>(Module._readdir=wasmExports.readdir)(r),Module._forkname_to_number=r=>(Module._forkname_to_number=wasmExports.forkname_to_number)(r),Module._unlink=r=>(Module._unlink=wasmExports.unlink)(r),Module._pg_utf_mblen_private=r=>(Module._pg_utf_mblen_private=wasmExports.pg_utf_mblen_private)(r),Module._bsearch=(r,e,M,tr,rr)=>(Module._bsearch=wasmExports.bsearch)(r,e,M,tr,rr),Module._palloc_extended=(r,e)=>(Module._palloc_extended=wasmExports.palloc_extended)(r,e),Module._appendStringInfoSpaces=(r,e)=>(Module._appendStringInfoSpaces=wasmExports.appendStringInfoSpaces)(r,e),Module._geteuid=()=>(Module._geteuid=wasmExports.geteuid)(),Module._fcntl=(r,e,M)=>(Module._fcntl=wasmExports.fcntl)(r,e,M),Module._pg_popcount_optimized=(r,e)=>(Module._pg_popcount_optimized=wasmExports.pg_popcount_optimized)(r,e),Module._pg_strong_random=(r,e)=>(Module._pg_strong_random=wasmExports.pg_strong_random)(r,e),Module._open=(r,e,M)=>(Module._open=wasmExports.open)(r,e,M),Module._pg_usleep=r=>(Module._pg_usleep=wasmExports.pg_usleep)(r),Module._nanosleep=(r,e)=>(Module._nanosleep=wasmExports.nanosleep)(r,e),Module._getpid=()=>(Module._getpid=wasmExports.getpid)(),Module._qsort_arg=(r,e,M,tr,rr)=>(Module._qsort_arg=wasmExports.qsort_arg)(r,e,M,tr,rr),Module._strerror=r=>(Module._strerror=wasmExports.strerror)(r),Module._RelationGetNumberOfBlocksInFork=(r,e)=>(Module._RelationGetNumberOfBlocksInFork=wasmExports.RelationGetNumberOfBlocksInFork)(r,e),Module._ExtendBufferedRel=(r,e,M,tr)=>(Module._ExtendBufferedRel=wasmExports.ExtendBufferedRel)(r,e,M,tr),Module._MarkBufferDirty=r=>(Module._MarkBufferDirty=wasmExports.MarkBufferDirty)(r),Module._XLogBeginInsert=()=>(Module._XLogBeginInsert=wasmExports.XLogBeginInsert)(),Module._XLogRegisterData=(r,e)=>(Module._XLogRegisterData=wasmExports.XLogRegisterData)(r,e),Module._XLogInsert=(r,e)=>(Module._XLogInsert=wasmExports.XLogInsert)(r,e),Module._UnlockReleaseBuffer=r=>(Module._UnlockReleaseBuffer=wasmExports.UnlockReleaseBuffer)(r),Module._brin_build_desc=r=>(Module._brin_build_desc=wasmExports.brin_build_desc)(r),Module._EnterParallelMode=()=>(Module._EnterParallelMode=wasmExports.EnterParallelMode)(),Module._CreateParallelContext=(r,e,M)=>(Module._CreateParallelContext=wasmExports.CreateParallelContext)(r,e,M),Module._RegisterSnapshot=r=>(Module._RegisterSnapshot=wasmExports.RegisterSnapshot)(r),Module._table_parallelscan_estimate=(r,e)=>(Module._table_parallelscan_estimate=wasmExports.table_parallelscan_estimate)(r,e),Module._add_size=(r,e)=>(Module._add_size=wasmExports.add_size)(r,e),Module._tuplesort_estimate_shared=r=>(Module._tuplesort_estimate_shared=wasmExports.tuplesort_estimate_shared)(r),Module._InitializeParallelDSM=r=>(Module._InitializeParallelDSM=wasmExports.InitializeParallelDSM)(r),Module._UnregisterSnapshot=r=>(Module._UnregisterSnapshot=wasmExports.UnregisterSnapshot)(r),Module._DestroyParallelContext=r=>(Module._DestroyParallelContext=wasmExports.DestroyParallelContext)(r),Module._ExitParallelMode=()=>(Module._ExitParallelMode=wasmExports.ExitParallelMode)(),Module._shm_toc_allocate=(r,e)=>(Module._shm_toc_allocate=wasmExports.shm_toc_allocate)(r,e),Module._ConditionVariableInit=r=>(Module._ConditionVariableInit=wasmExports.ConditionVariableInit)(r),Module._s_init_lock_sema=(r,e)=>(Module._s_init_lock_sema=wasmExports.s_init_lock_sema)(r,e),Module._table_parallelscan_initialize=(r,e,M)=>(Module._table_parallelscan_initialize=wasmExports.table_parallelscan_initialize)(r,e,M),Module._tuplesort_initialize_shared=(r,e,M)=>(Module._tuplesort_initialize_shared=wasmExports.tuplesort_initialize_shared)(r,e,M),Module._shm_toc_insert=(r,e,M)=>(Module._shm_toc_insert=wasmExports.shm_toc_insert)(r,e,M),Module._LaunchParallelWorkers=r=>(Module._LaunchParallelWorkers=wasmExports.LaunchParallelWorkers)(r),Module._WaitForParallelWorkersToAttach=r=>(Module._WaitForParallelWorkersToAttach=wasmExports.WaitForParallelWorkersToAttach)(r),Module._tas_sema=r=>(Module._tas_sema=wasmExports.tas_sema)(r),Module._s_lock=(r,e,M,tr)=>(Module._s_lock=wasmExports.s_lock)(r,e,M,tr),Module._s_unlock_sema=r=>(Module._s_unlock_sema=wasmExports.s_unlock_sema)(r),Module._ConditionVariableSleep=(r,e)=>(Module._ConditionVariableSleep=wasmExports.ConditionVariableSleep)(r,e),Module._ConditionVariableCancelSleep=()=>(Module._ConditionVariableCancelSleep=wasmExports.ConditionVariableCancelSleep)(),Module._tuplesort_performsort=r=>(Module._tuplesort_performsort=wasmExports.tuplesort_performsort)(r),Module._tuplesort_end=r=>(Module._tuplesort_end=wasmExports.tuplesort_end)(r),Module._brin_deform_tuple=(r,e,M)=>(Module._brin_deform_tuple=wasmExports.brin_deform_tuple)(r,e,M),Module._log_newpage_buffer=(r,e)=>(Module._log_newpage_buffer=wasmExports.log_newpage_buffer)(r,e),Module._LockBuffer=(r,e)=>(Module._LockBuffer=wasmExports.LockBuffer)(r,e),Module._ReleaseBuffer=r=>(Module._ReleaseBuffer=wasmExports.ReleaseBuffer)(r),Module._IndexGetRelation=(r,e)=>(Module._IndexGetRelation=wasmExports.IndexGetRelation)(r,e),Module._table_open=(r,e)=>(Module._table_open=wasmExports.table_open)(r,e),Module._ReadBufferExtended=(r,e,M,tr,rr)=>(Module._ReadBufferExtended=wasmExports.ReadBufferExtended)(r,e,M,tr,rr),Module._table_close=(r,e)=>(Module._table_close=wasmExports.table_close)(r,e),Module._build_reloptions=(r,e,M,tr,rr,ir)=>(Module._build_reloptions=wasmExports.build_reloptions)(r,e,M,tr,rr,ir),Module._RelationGetIndexScan=(r,e,M)=>(Module._RelationGetIndexScan=wasmExports.RelationGetIndexScan)(r,e,M),Module._pgstat_assoc_relation=r=>(Module._pgstat_assoc_relation=wasmExports.pgstat_assoc_relation)(r),Module._index_getprocinfo=(r,e,M)=>(Module._index_getprocinfo=wasmExports.index_getprocinfo)(r,e,M),Module._fmgr_info_copy=(r,e,M)=>(Module._fmgr_info_copy=wasmExports.fmgr_info_copy)(r,e,M),Module._FunctionCall4Coll=(r,e,M,tr,rr,ir)=>(Module._FunctionCall4Coll=wasmExports.FunctionCall4Coll)(r,e,M,tr,rr,ir),Module._FunctionCall1Coll=(r,e,M)=>(Module._FunctionCall1Coll=wasmExports.FunctionCall1Coll)(r,e,M),Module._brin_free_desc=r=>(Module._brin_free_desc=wasmExports.brin_free_desc)(r),Module._WaitForParallelWorkersToFinish=r=>(Module._WaitForParallelWorkersToFinish=wasmExports.WaitForParallelWorkersToFinish)(r),Module._PageGetFreeSpace=r=>(Module._PageGetFreeSpace=wasmExports.PageGetFreeSpace)(r),Module._BufferGetBlockNumber=r=>(Module._BufferGetBlockNumber=wasmExports.BufferGetBlockNumber)(r),Module._BuildIndexInfo=r=>(Module._BuildIndexInfo=wasmExports.BuildIndexInfo)(r),Module._Int64GetDatum=r=>(Module._Int64GetDatum=wasmExports.Int64GetDatum)(r),Module._DirectFunctionCall2Coll=(r,e,M,tr)=>(Module._DirectFunctionCall2Coll=wasmExports.DirectFunctionCall2Coll)(r,e,M,tr),Module._RecoveryInProgress=()=>(Module._RecoveryInProgress=wasmExports.RecoveryInProgress)(),Module._GetUserIdAndSecContext=(r,e)=>(Module._GetUserIdAndSecContext=wasmExports.GetUserIdAndSecContext)(r,e),Module._SetUserIdAndSecContext=(r,e)=>(Module._SetUserIdAndSecContext=wasmExports.SetUserIdAndSecContext)(r,e),Module._NewGUCNestLevel=()=>(Module._NewGUCNestLevel=wasmExports.NewGUCNestLevel)(),Module._RestrictSearchPath=()=>(Module._RestrictSearchPath=wasmExports.RestrictSearchPath)(),Module._index_open=(r,e)=>(Module._index_open=wasmExports.index_open)(r,e),Module._object_ownercheck=(r,e,M)=>(Module._object_ownercheck=wasmExports.object_ownercheck)(r,e,M),Module._aclcheck_error=(r,e,M)=>(Module._aclcheck_error=wasmExports.aclcheck_error)(r,e,M),Module._AtEOXact_GUC=(r,e)=>(Module._AtEOXact_GUC=wasmExports.AtEOXact_GUC)(r,e),Module._relation_close=(r,e)=>(Module._relation_close=wasmExports.relation_close)(r,e),Module._GetUserId=()=>(Module._GetUserId=wasmExports.GetUserId)(),Module._ReadBuffer=(r,e)=>(Module._ReadBuffer=wasmExports.ReadBuffer)(r,e),Module._shm_toc_lookup=(r,e,M)=>(Module._shm_toc_lookup=wasmExports.shm_toc_lookup)(r,e,M),Module._tuplesort_attach_shared=(r,e)=>(Module._tuplesort_attach_shared=wasmExports.tuplesort_attach_shared)(r,e),Module._index_close=(r,e)=>(Module._index_close=wasmExports.index_close)(r,e),Module._table_beginscan_parallel=(r,e)=>(Module._table_beginscan_parallel=wasmExports.table_beginscan_parallel)(r,e),Module._ConditionVariableSignal=r=>(Module._ConditionVariableSignal=wasmExports.ConditionVariableSignal)(r),Module._datumCopy=(r,e,M)=>(Module._datumCopy=wasmExports.datumCopy)(r,e,M),Module._lookup_type_cache=(r,e)=>(Module._lookup_type_cache=wasmExports.lookup_type_cache)(r,e),Module._get_fn_opclass_options=r=>(Module._get_fn_opclass_options=wasmExports.get_fn_opclass_options)(r),Module._pg_detoast_datum=r=>(Module._pg_detoast_datum=wasmExports.pg_detoast_datum)(r),Module._index_getprocid=(r,e,M)=>(Module._index_getprocid=wasmExports.index_getprocid)(r,e,M),Module._init_local_reloptions=(r,e)=>(Module._init_local_reloptions=wasmExports.init_local_reloptions)(r,e),Module._FunctionCall2Coll=(r,e,M,tr)=>(Module._FunctionCall2Coll=wasmExports.FunctionCall2Coll)(r,e,M,tr),Module._SysCacheGetAttrNotNull=(r,e,M)=>(Module._SysCacheGetAttrNotNull=wasmExports.SysCacheGetAttrNotNull)(r,e,M),Module._ReleaseSysCache=r=>(Module._ReleaseSysCache=wasmExports.ReleaseSysCache)(r),Module._fmgr_info_cxt=(r,e,M)=>(Module._fmgr_info_cxt=wasmExports.fmgr_info_cxt)(r,e,M),Module._Float8GetDatum=r=>(Module._Float8GetDatum=wasmExports.Float8GetDatum)(r),Module._numeric_sub=r=>(Module._numeric_sub=wasmExports.numeric_sub)(r),Module._DirectFunctionCall1Coll=(r,e,M)=>(Module._DirectFunctionCall1Coll=wasmExports.DirectFunctionCall1Coll)(r,e,M),Module._pg_detoast_datum_packed=r=>(Module._pg_detoast_datum_packed=wasmExports.pg_detoast_datum_packed)(r),Module._add_local_int_reloption=(r,e,M,tr,rr,ir,lr)=>(Module._add_local_int_reloption=wasmExports.add_local_int_reloption)(r,e,M,tr,rr,ir,lr),Module._getTypeOutputInfo=(r,e,M)=>(Module._getTypeOutputInfo=wasmExports.getTypeOutputInfo)(r,e,M),Module._fmgr_info=(r,e)=>(Module._fmgr_info=wasmExports.fmgr_info)(r,e),Module._OutputFunctionCall=(r,e)=>(Module._OutputFunctionCall=wasmExports.OutputFunctionCall)(r,e),Module._cstring_to_text_with_len=(r,e)=>(Module._cstring_to_text_with_len=wasmExports.cstring_to_text_with_len)(r,e),Module._accumArrayResult=(r,e,M,tr,rr)=>(Module._accumArrayResult=wasmExports.accumArrayResult)(r,e,M,tr,rr),Module._makeArrayResult=(r,e)=>(Module._makeArrayResult=wasmExports.makeArrayResult)(r,e),Module._OidOutputFunctionCall=(r,e)=>(Module._OidOutputFunctionCall=wasmExports.OidOutputFunctionCall)(r,e),Module._cstring_to_text=r=>(Module._cstring_to_text=wasmExports.cstring_to_text)(r),Module._PageGetExactFreeSpace=r=>(Module._PageGetExactFreeSpace=wasmExports.PageGetExactFreeSpace)(r),Module._PageIndexTupleOverwrite=(r,e,M,tr)=>(Module._PageIndexTupleOverwrite=wasmExports.PageIndexTupleOverwrite)(r,e,M,tr),Module._PageInit=(r,e,M)=>(Module._PageInit=wasmExports.PageInit)(r,e,M),Module._PageAddItemExtended=(r,e,M,tr,rr)=>(Module._PageAddItemExtended=wasmExports.PageAddItemExtended)(r,e,M,tr,rr),Module._LockRelationForExtension=(r,e)=>(Module._LockRelationForExtension=wasmExports.LockRelationForExtension)(r,e),Module._UnlockRelationForExtension=(r,e)=>(Module._UnlockRelationForExtension=wasmExports.UnlockRelationForExtension)(r,e),Module._smgropen=(r,e)=>(Module._smgropen=wasmExports.smgropen)(r,e),Module._smgrpin=r=>(Module._smgrpin=wasmExports.smgrpin)(r),Module._ItemPointerEquals=(r,e)=>(Module._ItemPointerEquals=wasmExports.ItemPointerEquals)(r,e),Module._detoast_external_attr=r=>(Module._detoast_external_attr=wasmExports.detoast_external_attr)(r),Module._CreateTemplateTupleDesc=r=>(Module._CreateTemplateTupleDesc=wasmExports.CreateTemplateTupleDesc)(r),Module._TupleDescInitEntry=(r,e,M,tr,rr,ir)=>(Module._TupleDescInitEntry=wasmExports.TupleDescInitEntry)(r,e,M,tr,rr,ir),Module._SearchSysCache1=(r,e)=>(Module._SearchSysCache1=wasmExports.SearchSysCache1)(r,e),Module._SearchSysCacheList=(r,e,M,tr,rr)=>(Module._SearchSysCacheList=wasmExports.SearchSysCacheList)(r,e,M,tr,rr),Module._check_amproc_signature=(r,e,M,tr,rr,ir)=>(Module._check_amproc_signature=wasmExports.check_amproc_signature)(r,e,M,tr,rr,ir),Module._check_amoptsproc_signature=r=>(Module._check_amoptsproc_signature=wasmExports.check_amoptsproc_signature)(r),Module._format_procedure=r=>(Module._format_procedure=wasmExports.format_procedure)(r),Module._format_operator=r=>(Module._format_operator=wasmExports.format_operator)(r),Module._check_amop_signature=(r,e,M,tr)=>(Module._check_amop_signature=wasmExports.check_amop_signature)(r,e,M,tr),Module._identify_opfamily_groups=(r,e)=>(Module._identify_opfamily_groups=wasmExports.identify_opfamily_groups)(r,e),Module._format_type_be=r=>(Module._format_type_be=wasmExports.format_type_be)(r),Module._ReleaseCatCacheList=r=>(Module._ReleaseCatCacheList=wasmExports.ReleaseCatCacheList)(r),Module._format_type_with_typemod=(r,e)=>(Module._format_type_with_typemod=wasmExports.format_type_with_typemod)(r,e),Module._DatumGetEOHP=r=>(Module._DatumGetEOHP=wasmExports.DatumGetEOHP)(r),Module._EOH_get_flat_size=r=>(Module._EOH_get_flat_size=wasmExports.EOH_get_flat_size)(r),Module._EOH_flatten_into=(r,e,M)=>(Module._EOH_flatten_into=wasmExports.EOH_flatten_into)(r,e,M),Module._getmissingattr=(r,e,M)=>(Module._getmissingattr=wasmExports.getmissingattr)(r,e,M),Module._hash_create=(r,e,M,tr)=>(Module._hash_create=wasmExports.hash_create)(r,e,M,tr),Module._hash_search=(r,e,M,tr)=>(Module._hash_search=wasmExports.hash_search)(r,e,M,tr),Module._nocachegetattr=(r,e,M)=>(Module._nocachegetattr=wasmExports.nocachegetattr)(r,e,M),Module._heap_form_tuple=(r,e,M)=>(Module._heap_form_tuple=wasmExports.heap_form_tuple)(r,e,M),Module._heap_modify_tuple=(r,e,M,tr,rr)=>(Module._heap_modify_tuple=wasmExports.heap_modify_tuple)(r,e,M,tr,rr),Module._heap_deform_tuple=(r,e,M,tr)=>(Module._heap_deform_tuple=wasmExports.heap_deform_tuple)(r,e,M,tr),Module._heap_modify_tuple_by_cols=(r,e,M,tr,rr,ir)=>(Module._heap_modify_tuple_by_cols=wasmExports.heap_modify_tuple_by_cols)(r,e,M,tr,rr,ir),Module._heap_freetuple=r=>(Module._heap_freetuple=wasmExports.heap_freetuple)(r),Module._index_form_tuple=(r,e,M)=>(Module._index_form_tuple=wasmExports.index_form_tuple)(r,e,M),Module._nocache_index_getattr=(r,e,M)=>(Module._nocache_index_getattr=wasmExports.nocache_index_getattr)(r,e,M),Module._index_deform_tuple=(r,e,M,tr)=>(Module._index_deform_tuple=wasmExports.index_deform_tuple)(r,e,M,tr),Module._slot_getsomeattrs_int=(r,e)=>(Module._slot_getsomeattrs_int=wasmExports.slot_getsomeattrs_int)(r,e),Module._pg_ltoa=(r,e)=>(Module._pg_ltoa=wasmExports.pg_ltoa)(r,e),Module._relation_open=(r,e)=>(Module._relation_open=wasmExports.relation_open)(r,e),Module._LockRelationOid=(r,e)=>(Module._LockRelationOid=wasmExports.LockRelationOid)(r,e),Module._try_relation_open=(r,e)=>(Module._try_relation_open=wasmExports.try_relation_open)(r,e),Module._relation_openrv=(r,e)=>(Module._relation_openrv=wasmExports.relation_openrv)(r,e),Module._RangeVarGetRelidExtended=(r,e,M,tr,rr)=>(Module._RangeVarGetRelidExtended=wasmExports.RangeVarGetRelidExtended)(r,e,M,tr,rr),Module._add_reloption_kind=()=>(Module._add_reloption_kind=wasmExports.add_reloption_kind)(),Module._register_reloptions_validator=(r,e)=>(Module._register_reloptions_validator=wasmExports.register_reloptions_validator)(r,e),Module._add_int_reloption=(r,e,M,tr,rr,ir,lr)=>(Module._add_int_reloption=wasmExports.add_int_reloption)(r,e,M,tr,rr,ir,lr),Module._MemoryContextStrdup=(r,e)=>(Module._MemoryContextStrdup=wasmExports.MemoryContextStrdup)(r,e),Module._transformRelOptions=(r,e,M,tr,rr,ir)=>(Module._transformRelOptions=wasmExports.transformRelOptions)(r,e,M,tr,rr,ir),Module._deconstruct_array_builtin=(r,e,M,tr,rr)=>(Module._deconstruct_array_builtin=wasmExports.deconstruct_array_builtin)(r,e,M,tr,rr),Module._defGetString=r=>(Module._defGetString=wasmExports.defGetString)(r),Module._defGetBoolean=r=>(Module._defGetBoolean=wasmExports.defGetBoolean)(r),Module._untransformRelOptions=r=>(Module._untransformRelOptions=wasmExports.untransformRelOptions)(r),Module._text_to_cstring=r=>(Module._text_to_cstring=wasmExports.text_to_cstring)(r),Module._makeString=r=>(Module._makeString=wasmExports.makeString)(r),Module._makeDefElem=(r,e,M)=>(Module._makeDefElem=wasmExports.makeDefElem)(r,e,M),Module._heap_reloptions=(r,e,M)=>(Module._heap_reloptions=wasmExports.heap_reloptions)(r,e,M),Module._MemoryContextAlloc=(r,e)=>(Module._MemoryContextAlloc=wasmExports.MemoryContextAlloc)(r,e),Module._parse_bool=(r,e)=>(Module._parse_bool=wasmExports.parse_bool)(r,e),Module._parse_int=(r,e,M,tr)=>(Module._parse_int=wasmExports.parse_int)(r,e,M,tr),Module._parse_real=(r,e,M,tr)=>(Module._parse_real=wasmExports.parse_real)(r,e,M,tr),Module._ScanKeyInit=(r,e,M,tr,rr)=>(Module._ScanKeyInit=wasmExports.ScanKeyInit)(r,e,M,tr,rr),Module._dsm_segment_handle=r=>(Module._dsm_segment_handle=wasmExports.dsm_segment_handle)(r),Module._dsm_create=(r,e)=>(Module._dsm_create=wasmExports.dsm_create)(r,e),Module._dsm_segment_address=r=>(Module._dsm_segment_address=wasmExports.dsm_segment_address)(r),Module._dsm_attach=r=>(Module._dsm_attach=wasmExports.dsm_attach)(r),Module._dsm_detach=r=>(Module._dsm_detach=wasmExports.dsm_detach)(r),Module._ShmemInitStruct=(r,e,M)=>(Module._ShmemInitStruct=wasmExports.ShmemInitStruct)(r,e,M),Module._LWLockAcquire=(r,e)=>(Module._LWLockAcquire=wasmExports.LWLockAcquire)(r,e),Module._LWLockRelease=r=>(Module._LWLockRelease=wasmExports.LWLockRelease)(r),Module._LWLockInitialize=(r,e)=>(Module._LWLockInitialize=wasmExports.LWLockInitialize)(r,e),Module._MemoryContextMemAllocated=(r,e)=>(Module._MemoryContextMemAllocated=wasmExports.MemoryContextMemAllocated)(r,e),Module._GetCurrentCommandId=r=>(Module._GetCurrentCommandId=wasmExports.GetCurrentCommandId)(r),Module._toast_open_indexes=(r,e,M,tr)=>(Module._toast_open_indexes=wasmExports.toast_open_indexes)(r,e,M,tr),Module._RelationGetIndexList=r=>(Module._RelationGetIndexList=wasmExports.RelationGetIndexList)(r),Module._systable_beginscan=(r,e,M,tr,rr,ir)=>(Module._systable_beginscan=wasmExports.systable_beginscan)(r,e,M,tr,rr,ir),Module._systable_getnext=r=>(Module._systable_getnext=wasmExports.systable_getnext)(r),Module._systable_endscan=r=>(Module._systable_endscan=wasmExports.systable_endscan)(r),Module._toast_close_indexes=(r,e,M)=>(Module._toast_close_indexes=wasmExports.toast_close_indexes)(r,e,M),Module._systable_beginscan_ordered=(r,e,M,tr,rr)=>(Module._systable_beginscan_ordered=wasmExports.systable_beginscan_ordered)(r,e,M,tr,rr),Module._systable_getnext_ordered=(r,e)=>(Module._systable_getnext_ordered=wasmExports.systable_getnext_ordered)(r,e),Module._systable_endscan_ordered=r=>(Module._systable_endscan_ordered=wasmExports.systable_endscan_ordered)(r),Module._init_toast_snapshot=r=>(Module._init_toast_snapshot=wasmExports.init_toast_snapshot)(r),Module._convert_tuples_by_position=(r,e,M)=>(Module._convert_tuples_by_position=wasmExports.convert_tuples_by_position)(r,e,M),Module._execute_attr_map_tuple=(r,e)=>(Module._execute_attr_map_tuple=wasmExports.execute_attr_map_tuple)(r,e),Module._ExecStoreVirtualTuple=r=>(Module._ExecStoreVirtualTuple=wasmExports.ExecStoreVirtualTuple)(r),Module._bms_is_member=(r,e)=>(Module._bms_is_member=wasmExports.bms_is_member)(r,e),Module._bms_add_member=(r,e)=>(Module._bms_add_member=wasmExports.bms_add_member)(r,e),Module._CreateTupleDescCopy=r=>(Module._CreateTupleDescCopy=wasmExports.CreateTupleDescCopy)(r),Module._ResourceOwnerEnlarge=r=>(Module._ResourceOwnerEnlarge=wasmExports.ResourceOwnerEnlarge)(r),Module._ResourceOwnerRemember=(r,e,M)=>(Module._ResourceOwnerRemember=wasmExports.ResourceOwnerRemember)(r,e,M),Module._DecrTupleDescRefCount=r=>(Module._DecrTupleDescRefCount=wasmExports.DecrTupleDescRefCount)(r),Module._ResourceOwnerForget=(r,e,M)=>(Module._ResourceOwnerForget=wasmExports.ResourceOwnerForget)(r,e,M),Module._datumIsEqual=(r,e,M,tr)=>(Module._datumIsEqual=wasmExports.datumIsEqual)(r,e,M,tr),Module._TupleDescInitEntryCollation=(r,e,M)=>(Module._TupleDescInitEntryCollation=wasmExports.TupleDescInitEntryCollation)(r,e,M),Module._stringToNode=r=>(Module._stringToNode=wasmExports.stringToNode)(r),Module._pg_detoast_datum_copy=r=>(Module._pg_detoast_datum_copy=wasmExports.pg_detoast_datum_copy)(r),Module._get_typlenbyvalalign=(r,e,M,tr)=>(Module._get_typlenbyvalalign=wasmExports.get_typlenbyvalalign)(r,e,M,tr),Module._deconstruct_array=(r,e,M,tr,rr,ir,lr,dr)=>(Module._deconstruct_array=wasmExports.deconstruct_array)(r,e,M,tr,rr,ir,lr,dr),Module._tbm_add_tuples=(r,e,M,tr)=>(Module._tbm_add_tuples=wasmExports.tbm_add_tuples)(r,e,M,tr),Module._ginPostingListDecode=(r,e)=>(Module._ginPostingListDecode=wasmExports.ginPostingListDecode)(r,e),Module._ItemPointerCompare=(r,e)=>(Module._ItemPointerCompare=wasmExports.ItemPointerCompare)(r,e),Module._LockPage=(r,e,M)=>(Module._LockPage=wasmExports.LockPage)(r,e,M),Module._UnlockPage=(r,e,M)=>(Module._UnlockPage=wasmExports.UnlockPage)(r,e,M),Module._vacuum_delay_point=()=>(Module._vacuum_delay_point=wasmExports.vacuum_delay_point)(),Module._RecordFreeIndexPage=(r,e)=>(Module._RecordFreeIndexPage=wasmExports.RecordFreeIndexPage)(r,e),Module._IndexFreeSpaceMapVacuum=r=>(Module._IndexFreeSpaceMapVacuum=wasmExports.IndexFreeSpaceMapVacuum)(r),Module._log_newpage_range=(r,e,M,tr,rr)=>(Module._log_newpage_range=wasmExports.log_newpage_range)(r,e,M,tr,rr),Module._GetFreeIndexPage=r=>(Module._GetFreeIndexPage=wasmExports.GetFreeIndexPage)(r),Module._ConditionalLockBuffer=r=>(Module._ConditionalLockBuffer=wasmExports.ConditionalLockBuffer)(r),Module._LockBufferForCleanup=r=>(Module._LockBufferForCleanup=wasmExports.LockBufferForCleanup)(r),Module._gistcheckpage=(r,e)=>(Module._gistcheckpage=wasmExports.gistcheckpage)(r,e),Module._PageIndexMultiDelete=(r,e,M)=>(Module._PageIndexMultiDelete=wasmExports.PageIndexMultiDelete)(r,e,M),Module._smgrnblocks=(r,e)=>(Module._smgrnblocks=wasmExports.smgrnblocks)(r,e),Module._list_free_deep=r=>(Module._list_free_deep=wasmExports.list_free_deep)(r),Module._pairingheap_remove_first=r=>(Module._pairingheap_remove_first=wasmExports.pairingheap_remove_first)(r),Module._pairingheap_add=(r,e)=>(Module._pairingheap_add=wasmExports.pairingheap_add)(r,e),Module._float_overflow_error=()=>(Module._float_overflow_error=wasmExports.float_overflow_error)(),Module._float_underflow_error=()=>(Module._float_underflow_error=wasmExports.float_underflow_error)(),Module._DirectFunctionCall5Coll=(r,e,M,tr,rr,ir,lr)=>(Module._DirectFunctionCall5Coll=wasmExports.DirectFunctionCall5Coll)(r,e,M,tr,rr,ir,lr),Module._pairingheap_allocate=(r,e)=>(Module._pairingheap_allocate=wasmExports.pairingheap_allocate)(r,e),Module._GenerationContextCreate=(r,e,M,tr,rr)=>(Module._GenerationContextCreate=wasmExports.GenerationContextCreate)(r,e,M,tr,rr),Module._pgstat_progress_update_param=(r,e)=>(Module._pgstat_progress_update_param=wasmExports.pgstat_progress_update_param)(r,e),Module.__hash_getbuf=(r,e,M,tr)=>(Module.__hash_getbuf=wasmExports._hash_getbuf)(r,e,M,tr),Module.__hash_relbuf=(r,e)=>(Module.__hash_relbuf=wasmExports._hash_relbuf)(r,e),Module.__hash_get_indextuple_hashkey=r=>(Module.__hash_get_indextuple_hashkey=wasmExports._hash_get_indextuple_hashkey)(r),Module.__hash_getbuf_with_strategy=(r,e,M,tr,rr)=>(Module.__hash_getbuf_with_strategy=wasmExports._hash_getbuf_with_strategy)(r,e,M,tr,rr),Module.__hash_ovflblkno_to_bitno=(r,e)=>(Module.__hash_ovflblkno_to_bitno=wasmExports._hash_ovflblkno_to_bitno)(r,e),Module._list_member_oid=(r,e)=>(Module._list_member_oid=wasmExports.list_member_oid)(r,e),Module._HeapTupleSatisfiesVisibility=(r,e,M)=>(Module._HeapTupleSatisfiesVisibility=wasmExports.HeapTupleSatisfiesVisibility)(r,e,M),Module._read_stream_begin_relation=(r,e,M,tr,rr,ir,lr)=>(Module._read_stream_begin_relation=wasmExports.read_stream_begin_relation)(r,e,M,tr,rr,ir,lr),Module._GetAccessStrategy=r=>(Module._GetAccessStrategy=wasmExports.GetAccessStrategy)(r),Module._FreeAccessStrategy=r=>(Module._FreeAccessStrategy=wasmExports.FreeAccessStrategy)(r),Module._read_stream_end=r=>(Module._read_stream_end=wasmExports.read_stream_end)(r),Module._heap_getnext=(r,e)=>(Module._heap_getnext=wasmExports.heap_getnext)(r,e),Module._HeapTupleSatisfiesVacuum=(r,e,M)=>(Module._HeapTupleSatisfiesVacuum=wasmExports.HeapTupleSatisfiesVacuum)(r,e,M),Module._GetMultiXactIdMembers=(r,e,M,tr)=>(Module._GetMultiXactIdMembers=wasmExports.GetMultiXactIdMembers)(r,e,M,tr),Module._TransactionIdPrecedes=(r,e)=>(Module._TransactionIdPrecedes=wasmExports.TransactionIdPrecedes)(r,e),Module._HeapTupleGetUpdateXid=r=>(Module._HeapTupleGetUpdateXid=wasmExports.HeapTupleGetUpdateXid)(r),Module._visibilitymap_clear=(r,e,M,tr)=>(Module._visibilitymap_clear=wasmExports.visibilitymap_clear)(r,e,M,tr),Module._pgstat_count_heap_insert=(r,e)=>(Module._pgstat_count_heap_insert=wasmExports.pgstat_count_heap_insert)(r,e),Module._ExecFetchSlotHeapTuple=(r,e,M)=>(Module._ExecFetchSlotHeapTuple=wasmExports.ExecFetchSlotHeapTuple)(r,e,M),Module._PageGetHeapFreeSpace=r=>(Module._PageGetHeapFreeSpace=wasmExports.PageGetHeapFreeSpace)(r),Module._visibilitymap_pin=(r,e,M)=>(Module._visibilitymap_pin=wasmExports.visibilitymap_pin)(r,e,M),Module._HeapTupleSatisfiesUpdate=(r,e,M)=>(Module._HeapTupleSatisfiesUpdate=wasmExports.HeapTupleSatisfiesUpdate)(r,e,M),Module._TransactionIdIsCurrentTransactionId=r=>(Module._TransactionIdIsCurrentTransactionId=wasmExports.TransactionIdIsCurrentTransactionId)(r),Module._TransactionIdDidCommit=r=>(Module._TransactionIdDidCommit=wasmExports.TransactionIdDidCommit)(r),Module._TransactionIdIsInProgress=r=>(Module._TransactionIdIsInProgress=wasmExports.TransactionIdIsInProgress)(r),Module._bms_free=r=>(Module._bms_free=wasmExports.bms_free)(r),Module._bms_add_members=(r,e)=>(Module._bms_add_members=wasmExports.bms_add_members)(r,e),Module._bms_next_member=(r,e)=>(Module._bms_next_member=wasmExports.bms_next_member)(r,e),Module._bms_overlap=(r,e)=>(Module._bms_overlap=wasmExports.bms_overlap)(r,e),Module._MultiXactIdPrecedes=(r,e)=>(Module._MultiXactIdPrecedes=wasmExports.MultiXactIdPrecedes)(r,e),Module._heap_tuple_needs_eventual_freeze=r=>(Module._heap_tuple_needs_eventual_freeze=wasmExports.heap_tuple_needs_eventual_freeze)(r),Module._PrefetchBuffer=(r,e,M,tr)=>(Module._PrefetchBuffer=wasmExports.PrefetchBuffer)(r,e,M,tr),Module._XLogRecGetBlockTagExtended=(r,e,M,tr,rr,ir)=>(Module._XLogRecGetBlockTagExtended=wasmExports.XLogRecGetBlockTagExtended)(r,e,M,tr,rr,ir),Module._read_stream_next_buffer=(r,e)=>(Module._read_stream_next_buffer=wasmExports.read_stream_next_buffer)(r,e),Module._smgrexists=(r,e)=>(Module._smgrexists=wasmExports.smgrexists)(r,e),Module._table_slot_create=(r,e)=>(Module._table_slot_create=wasmExports.table_slot_create)(r,e),Module._ExecDropSingleTupleTableSlot=r=>(Module._ExecDropSingleTupleTableSlot=wasmExports.ExecDropSingleTupleTableSlot)(r),Module._CreateExecutorState=()=>(Module._CreateExecutorState=wasmExports.CreateExecutorState)(),Module._MakePerTupleExprContext=r=>(Module._MakePerTupleExprContext=wasmExports.MakePerTupleExprContext)(r),Module._GetOldestNonRemovableTransactionId=r=>(Module._GetOldestNonRemovableTransactionId=wasmExports.GetOldestNonRemovableTransactionId)(r),Module._FreeExecutorState=r=>(Module._FreeExecutorState=wasmExports.FreeExecutorState)(r),Module._MakeSingleTupleTableSlot=(r,e)=>(Module._MakeSingleTupleTableSlot=wasmExports.MakeSingleTupleTableSlot)(r,e),Module._ExecStoreHeapTuple=(r,e,M)=>(Module._ExecStoreHeapTuple=wasmExports.ExecStoreHeapTuple)(r,e,M),Module._visibilitymap_get_status=(r,e,M)=>(Module._visibilitymap_get_status=wasmExports.visibilitymap_get_status)(r,e,M),Module._ExecStoreAllNullTuple=r=>(Module._ExecStoreAllNullTuple=wasmExports.ExecStoreAllNullTuple)(r),Module._XidInMVCCSnapshot=(r,e)=>(Module._XidInMVCCSnapshot=wasmExports.XidInMVCCSnapshot)(r,e),Module._hash_seq_init=(r,e)=>(Module._hash_seq_init=wasmExports.hash_seq_init)(r,e),Module._hash_seq_search=r=>(Module._hash_seq_search=wasmExports.hash_seq_search)(r),Module._ftruncate=(r,e)=>(Module._ftruncate=wasmExports.ftruncate)(r,e),Module._fd_fsync_fname=(r,e)=>(Module._fd_fsync_fname=wasmExports.fd_fsync_fname)(r,e),Module._get_namespace_name=r=>(Module._get_namespace_name=wasmExports.get_namespace_name)(r),Module._GetRecordedFreeSpace=(r,e)=>(Module._GetRecordedFreeSpace=wasmExports.GetRecordedFreeSpace)(r,e),Module._vac_estimate_reltuples=(r,e,M,tr)=>(Module._vac_estimate_reltuples=wasmExports.vac_estimate_reltuples)(r,e,M,tr),Module._WaitLatch=(r,e,M,tr)=>(Module._WaitLatch=wasmExports.WaitLatch)(r,e,M,tr),Module._ResetLatch=r=>(Module._ResetLatch=wasmExports.ResetLatch)(r),Module._clock_gettime=(r,e)=>(Module._clock_gettime=wasmExports.clock_gettime)(r,e),Module._WalUsageAccumDiff=(r,e,M)=>(Module._WalUsageAccumDiff=wasmExports.WalUsageAccumDiff)(r,e,M),Module._BufferUsageAccumDiff=(r,e,M)=>(Module._BufferUsageAccumDiff=wasmExports.BufferUsageAccumDiff)(r,e,M),Module._visibilitymap_prepare_truncate=(r,e)=>(Module._visibilitymap_prepare_truncate=wasmExports.visibilitymap_prepare_truncate)(r,e),Module._pg_class_aclcheck=(r,e,M)=>(Module._pg_class_aclcheck=wasmExports.pg_class_aclcheck)(r,e,M),Module._btboolcmp=r=>(Module._btboolcmp=wasmExports.btboolcmp)(r),Module._btint2cmp=r=>(Module._btint2cmp=wasmExports.btint2cmp)(r),Module._btint4cmp=r=>(Module._btint4cmp=wasmExports.btint4cmp)(r),Module._btint8cmp=r=>(Module._btint8cmp=wasmExports.btint8cmp)(r),Module._btoidcmp=r=>(Module._btoidcmp=wasmExports.btoidcmp)(r),Module._btcharcmp=r=>(Module._btcharcmp=wasmExports.btcharcmp)(r),Module.__bt_form_posting=(r,e,M)=>(Module.__bt_form_posting=wasmExports._bt_form_posting)(r,e,M),Module.__bt_mkscankey=(r,e)=>(Module.__bt_mkscankey=wasmExports._bt_mkscankey)(r,e),Module.__bt_checkpage=(r,e)=>(Module.__bt_checkpage=wasmExports._bt_checkpage)(r,e),Module.__bt_compare=(r,e,M,tr)=>(Module.__bt_compare=wasmExports._bt_compare)(r,e,M,tr),Module.__bt_relbuf=(r,e)=>(Module.__bt_relbuf=wasmExports._bt_relbuf)(r,e),Module.__bt_search=(r,e,M,tr,rr)=>(Module.__bt_search=wasmExports._bt_search)(r,e,M,tr,rr),Module.__bt_binsrch_insert=(r,e)=>(Module.__bt_binsrch_insert=wasmExports._bt_binsrch_insert)(r,e),Module.__bt_freestack=r=>(Module.__bt_freestack=wasmExports._bt_freestack)(r),Module.__bt_metaversion=(r,e,M)=>(Module.__bt_metaversion=wasmExports._bt_metaversion)(r,e,M),Module.__bt_allequalimage=(r,e)=>(Module.__bt_allequalimage=wasmExports._bt_allequalimage)(r,e),Module._before_shmem_exit=(r,e)=>(Module._before_shmem_exit=wasmExports.before_shmem_exit)(r,e),Module._cancel_before_shmem_exit=(r,e)=>(Module._cancel_before_shmem_exit=wasmExports.cancel_before_shmem_exit)(r,e),Module._pg_re_throw=()=>(Module._pg_re_throw=wasmExports.pg_re_throw)(),Module._get_opfamily_member=(r,e,M,tr)=>(Module._get_opfamily_member=wasmExports.get_opfamily_member)(r,e,M,tr),Module.__bt_check_natts=(r,e,M,tr)=>(Module.__bt_check_natts=wasmExports._bt_check_natts)(r,e,M,tr),Module._strncpy=(r,e,M)=>(Module._strncpy=wasmExports.strncpy)(r,e,M),Module._timestamptz_to_str=r=>(Module._timestamptz_to_str=wasmExports.timestamptz_to_str)(r),Module._XLogRecGetBlockRefInfo=(r,e,M,tr,rr)=>(Module._XLogRecGetBlockRefInfo=wasmExports.XLogRecGetBlockRefInfo)(r,e,M,tr,rr),Module._varstr_cmp=(r,e,M,tr,rr)=>(Module._varstr_cmp=wasmExports.varstr_cmp)(r,e,M,tr,rr),Module._exprType=r=>(Module._exprType=wasmExports.exprType)(r),Module._GetActiveSnapshot=()=>(Module._GetActiveSnapshot=wasmExports.GetActiveSnapshot)(),Module._errdetail_relkind_not_supported=r=>(Module._errdetail_relkind_not_supported=wasmExports.errdetail_relkind_not_supported)(r),Module._table_openrv=(r,e)=>(Module._table_openrv=wasmExports.table_openrv)(r,e),Module._table_slot_callbacks=r=>(Module._table_slot_callbacks=wasmExports.table_slot_callbacks)(r),Module._clamp_row_est=r=>(Module._clamp_row_est=wasmExports.clamp_row_est)(r),Module._estimate_expression_value=(r,e)=>(Module._estimate_expression_value=wasmExports.estimate_expression_value)(r,e),Module._XLogFlush=r=>(Module._XLogFlush=wasmExports.XLogFlush)(r),Module._get_call_result_type=(r,e,M)=>(Module._get_call_result_type=wasmExports.get_call_result_type)(r,e,M),Module._HeapTupleHeaderGetDatum=r=>(Module._HeapTupleHeaderGetDatum=wasmExports.HeapTupleHeaderGetDatum)(r),Module._GenericXLogStart=r=>(Module._GenericXLogStart=wasmExports.GenericXLogStart)(r),Module._GenericXLogRegisterBuffer=(r,e,M)=>(Module._GenericXLogRegisterBuffer=wasmExports.GenericXLogRegisterBuffer)(r,e,M),Module._GenericXLogFinish=r=>(Module._GenericXLogFinish=wasmExports.GenericXLogFinish)(r),Module._GenericXLogAbort=r=>(Module._GenericXLogAbort=wasmExports.GenericXLogAbort)(r),Module._errmsg_plural=(r,e,M,tr)=>(Module._errmsg_plural=wasmExports.errmsg_plural)(r,e,M,tr),Module._ReadNextMultiXactId=()=>(Module._ReadNextMultiXactId=wasmExports.ReadNextMultiXactId)(),Module._ReadMultiXactIdRange=(r,e)=>(Module._ReadMultiXactIdRange=wasmExports.ReadMultiXactIdRange)(r,e),Module._MultiXactIdPrecedesOrEquals=(r,e)=>(Module._MultiXactIdPrecedesOrEquals=wasmExports.MultiXactIdPrecedesOrEquals)(r,e),Module._init_MultiFuncCall=r=>(Module._init_MultiFuncCall=wasmExports.init_MultiFuncCall)(r),Module._TupleDescGetAttInMetadata=r=>(Module._TupleDescGetAttInMetadata=wasmExports.TupleDescGetAttInMetadata)(r),Module._per_MultiFuncCall=r=>(Module._per_MultiFuncCall=wasmExports.per_MultiFuncCall)(r),Module._BuildTupleFromCStrings=(r,e)=>(Module._BuildTupleFromCStrings=wasmExports.BuildTupleFromCStrings)(r,e),Module._end_MultiFuncCall=(r,e)=>(Module._end_MultiFuncCall=wasmExports.end_MultiFuncCall)(r,e),Module._GetCurrentSubTransactionId=()=>(Module._GetCurrentSubTransactionId=wasmExports.GetCurrentSubTransactionId)(),Module._WaitForBackgroundWorkerShutdown=r=>(Module._WaitForBackgroundWorkerShutdown=wasmExports.WaitForBackgroundWorkerShutdown)(r),Module._RegisterDynamicBackgroundWorker=(r,e)=>(Module._RegisterDynamicBackgroundWorker=wasmExports.RegisterDynamicBackgroundWorker)(r,e),Module._BackgroundWorkerUnblockSignals=()=>(Module._BackgroundWorkerUnblockSignals=wasmExports.BackgroundWorkerUnblockSignals)(),Module._BackgroundWorkerInitializeConnectionByOid=(r,e,M)=>(Module._BackgroundWorkerInitializeConnectionByOid=wasmExports.BackgroundWorkerInitializeConnectionByOid)(r,e,M),Module._GetDatabaseEncoding=()=>(Module._GetDatabaseEncoding=wasmExports.GetDatabaseEncoding)(),Module._RmgrNotFound=r=>(Module._RmgrNotFound=wasmExports.RmgrNotFound)(r),Module._InitMaterializedSRF=(r,e)=>(Module._InitMaterializedSRF=wasmExports.InitMaterializedSRF)(r,e),Module._tuplestore_putvalues=(r,e,M,tr)=>(Module._tuplestore_putvalues=wasmExports.tuplestore_putvalues)(r,e,M,tr),Module._AllocateFile=(r,e)=>(Module._AllocateFile=wasmExports.AllocateFile)(r,e),Module._FreeFile=r=>(Module._FreeFile=wasmExports.FreeFile)(r),Module._fd_durable_rename=(r,e,M)=>(Module._fd_durable_rename=wasmExports.fd_durable_rename)(r,e,M),Module._BlessTupleDesc=r=>(Module._BlessTupleDesc=wasmExports.BlessTupleDesc)(r),Module._fstat=(r,e)=>(Module._fstat=wasmExports.fstat)(r,e),Module._superuser_arg=r=>(Module._superuser_arg=wasmExports.superuser_arg)(r),Module._wal_segment_close=r=>(Module._wal_segment_close=wasmExports.wal_segment_close)(r),Module._wal_segment_open=(r,e,M)=>(Module._wal_segment_open=wasmExports.wal_segment_open)(r,e,M),Module._XLogReaderAllocate=(r,e,M,tr)=>(Module._XLogReaderAllocate=wasmExports.XLogReaderAllocate)(r,e,M,tr),Module._XLogReadRecord=(r,e)=>(Module._XLogReadRecord=wasmExports.XLogReadRecord)(r,e),Module._XLogReaderFree=r=>(Module._XLogReaderFree=wasmExports.XLogReaderFree)(r),Module._GetTopFullTransactionId=()=>(Module._GetTopFullTransactionId=wasmExports.GetTopFullTransactionId)(),Module._GetCurrentTransactionNestLevel=()=>(Module._GetCurrentTransactionNestLevel=wasmExports.GetCurrentTransactionNestLevel)(),Module._ResourceOwnerCreate=(r,e)=>(Module._ResourceOwnerCreate=wasmExports.ResourceOwnerCreate)(r,e),Module._RegisterXactCallback=(r,e)=>(Module._RegisterXactCallback=wasmExports.RegisterXactCallback)(r,e),Module._RegisterSubXactCallback=(r,e)=>(Module._RegisterSubXactCallback=wasmExports.RegisterSubXactCallback)(r,e),Module._BeginInternalSubTransaction=r=>(Module._BeginInternalSubTransaction=wasmExports.BeginInternalSubTransaction)(r),Module._ReleaseCurrentSubTransaction=()=>(Module._ReleaseCurrentSubTransaction=wasmExports.ReleaseCurrentSubTransaction)(),Module._ResourceOwnerDelete=r=>(Module._ResourceOwnerDelete=wasmExports.ResourceOwnerDelete)(r),Module._RollbackAndReleaseCurrentSubTransaction=()=>(Module._RollbackAndReleaseCurrentSubTransaction=wasmExports.RollbackAndReleaseCurrentSubTransaction)(),Module._ReleaseExternalFD=()=>(Module._ReleaseExternalFD=wasmExports.ReleaseExternalFD)(),Module._GetFlushRecPtr=r=>(Module._GetFlushRecPtr=wasmExports.GetFlushRecPtr)(r),Module._GetXLogReplayRecPtr=r=>(Module._GetXLogReplayRecPtr=wasmExports.GetXLogReplayRecPtr)(r),Module._TimestampDifferenceMilliseconds=(r,e)=>(Module._TimestampDifferenceMilliseconds=wasmExports.TimestampDifferenceMilliseconds)(r,e),Module._numeric_in=r=>(Module._numeric_in=wasmExports.numeric_in)(r),Module._DirectFunctionCall3Coll=(r,e,M,tr,rr)=>(Module._DirectFunctionCall3Coll=wasmExports.DirectFunctionCall3Coll)(r,e,M,tr,rr),Module._XLogFindNextRecord=(r,e)=>(Module._XLogFindNextRecord=wasmExports.XLogFindNextRecord)(r,e),Module._RestoreBlockImage=(r,e,M)=>(Module._RestoreBlockImage=wasmExports.RestoreBlockImage)(r,e,M),Module._timestamptz_in=r=>(Module._timestamptz_in=wasmExports.timestamptz_in)(r),Module._fscanf=(r,e,M)=>(Module._fscanf=wasmExports.fscanf)(r,e,M),Module._XLogRecStoreStats=(r,e)=>(Module._XLogRecStoreStats=wasmExports.XLogRecStoreStats)(r,e),Module._hash_get_num_entries=r=>(Module._hash_get_num_entries=wasmExports.hash_get_num_entries)(r),Module._read_local_xlog_page_no_wait=(r,e,M,tr,rr)=>(Module._read_local_xlog_page_no_wait=wasmExports.read_local_xlog_page_no_wait)(r,e,M,tr,rr),Module._escape_json=(r,e)=>(Module._escape_json=wasmExports.escape_json)(r,e),Module._list_sort=(r,e)=>(Module._list_sort=wasmExports.list_sort)(r,e),Module._getegid=()=>(Module._getegid=wasmExports.getegid)(),Module._pg_checksum_page=(r,e)=>(Module._pg_checksum_page=wasmExports.pg_checksum_page)(r,e),Module._bbsink_forward_end_archive=r=>(Module._bbsink_forward_end_archive=wasmExports.bbsink_forward_end_archive)(r),Module._bbsink_forward_begin_manifest=r=>(Module._bbsink_forward_begin_manifest=wasmExports.bbsink_forward_begin_manifest)(r),Module._bbsink_forward_end_manifest=r=>(Module._bbsink_forward_end_manifest=wasmExports.bbsink_forward_end_manifest)(r),Module._bbsink_forward_end_backup=(r,e,M)=>(Module._bbsink_forward_end_backup=wasmExports.bbsink_forward_end_backup)(r,e,M),Module._bbsink_forward_cleanup=r=>(Module._bbsink_forward_cleanup=wasmExports.bbsink_forward_cleanup)(r),Module._list_concat=(r,e)=>(Module._list_concat=wasmExports.list_concat)(r,e),Module._bbsink_forward_begin_backup=r=>(Module._bbsink_forward_begin_backup=wasmExports.bbsink_forward_begin_backup)(r),Module._bbsink_forward_archive_contents=(r,e)=>(Module._bbsink_forward_archive_contents=wasmExports.bbsink_forward_archive_contents)(r,e),Module._bbsink_forward_begin_archive=(r,e)=>(Module._bbsink_forward_begin_archive=wasmExports.bbsink_forward_begin_archive)(r,e),Module._bbsink_forward_manifest_contents=(r,e)=>(Module._bbsink_forward_manifest_contents=wasmExports.bbsink_forward_manifest_contents)(r,e),Module._has_privs_of_role=(r,e)=>(Module._has_privs_of_role=wasmExports.has_privs_of_role)(r,e),Module._BaseBackupAddTarget=(r,e,M)=>(Module._BaseBackupAddTarget=wasmExports.BaseBackupAddTarget)(r,e,M),Module._list_copy=r=>(Module._list_copy=wasmExports.list_copy)(r),Module._tuplestore_puttuple=(r,e)=>(Module._tuplestore_puttuple=wasmExports.tuplestore_puttuple)(r,e),Module._makeRangeVar=(r,e,M)=>(Module._makeRangeVar=wasmExports.makeRangeVar)(r,e,M),Module._DefineIndex=(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r)=>(Module._DefineIndex=wasmExports.DefineIndex)(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r),Module._fread=(r,e,M,tr)=>(Module._fread=wasmExports.fread)(r,e,M,tr),Module._clearerr=r=>(Module._clearerr=wasmExports.clearerr)(r),Module._copyObjectImpl=r=>(Module._copyObjectImpl=wasmExports.copyObjectImpl)(r),Module._lappend_oid=(r,e)=>(Module._lappend_oid=wasmExports.lappend_oid)(r,e),Module._makeTypeNameFromNameList=r=>(Module._makeTypeNameFromNameList=wasmExports.makeTypeNameFromNameList)(r),Module._CatalogTupleUpdate=(r,e,M)=>(Module._CatalogTupleUpdate=wasmExports.CatalogTupleUpdate)(r,e,M),Module._get_rel_name=r=>(Module._get_rel_name=wasmExports.get_rel_name)(r),Module._CatalogTupleDelete=(r,e)=>(Module._CatalogTupleDelete=wasmExports.CatalogTupleDelete)(r,e),Module._CatalogTupleInsert=(r,e)=>(Module._CatalogTupleInsert=wasmExports.CatalogTupleInsert)(r,e),Module._recordDependencyOn=(r,e,M)=>(Module._recordDependencyOn=wasmExports.recordDependencyOn)(r,e,M),Module._get_element_type=r=>(Module._get_element_type=wasmExports.get_element_type)(r),Module._object_aclcheck=(r,e,M,tr)=>(Module._object_aclcheck=wasmExports.object_aclcheck)(r,e,M,tr),Module._superuser=()=>(Module._superuser=wasmExports.superuser)(),Module._SearchSysCacheAttName=(r,e)=>(Module._SearchSysCacheAttName=wasmExports.SearchSysCacheAttName)(r,e),Module._new_object_addresses=()=>(Module._new_object_addresses=wasmExports.new_object_addresses)(),Module._free_object_addresses=r=>(Module._free_object_addresses=wasmExports.free_object_addresses)(r),Module._performMultipleDeletions=(r,e,M)=>(Module._performMultipleDeletions=wasmExports.performMultipleDeletions)(r,e,M),Module._recordDependencyOnExpr=(r,e,M,tr)=>(Module._recordDependencyOnExpr=wasmExports.recordDependencyOnExpr)(r,e,M,tr),Module._query_tree_walker_impl=(r,e,M,tr)=>(Module._query_tree_walker_impl=wasmExports.query_tree_walker_impl)(r,e,M,tr),Module._expression_tree_walker_impl=(r,e,M)=>(Module._expression_tree_walker_impl=wasmExports.expression_tree_walker_impl)(r,e,M),Module._add_exact_object_address=(r,e)=>(Module._add_exact_object_address=wasmExports.add_exact_object_address)(r,e),Module._get_rel_relkind=r=>(Module._get_rel_relkind=wasmExports.get_rel_relkind)(r),Module._get_typtype=r=>(Module._get_typtype=wasmExports.get_typtype)(r),Module._list_delete_last=r=>(Module._list_delete_last=wasmExports.list_delete_last)(r),Module._type_is_collatable=r=>(Module._type_is_collatable=wasmExports.type_is_collatable)(r),Module._GetSysCacheOid=(r,e,M,tr,rr,ir)=>(Module._GetSysCacheOid=wasmExports.GetSysCacheOid)(r,e,M,tr,rr,ir),Module._CheckTableNotInUse=(r,e)=>(Module._CheckTableNotInUse=wasmExports.CheckTableNotInUse)(r,e),Module._construct_array=(r,e,M,tr,rr,ir)=>(Module._construct_array=wasmExports.construct_array)(r,e,M,tr,rr,ir),Module._make_parsestate=r=>(Module._make_parsestate=wasmExports.make_parsestate)(r),Module._transformExpr=(r,e,M)=>(Module._transformExpr=wasmExports.transformExpr)(r,e,M),Module._equal=(r,e)=>(Module._equal=wasmExports.equal)(r,e),Module._pull_var_clause=(r,e)=>(Module._pull_var_clause=wasmExports.pull_var_clause)(r,e),Module._get_attname=(r,e,M)=>(Module._get_attname=wasmExports.get_attname)(r,e,M),Module._coerce_to_target_type=(r,e,M,tr,rr,ir,lr,dr)=>(Module._coerce_to_target_type=wasmExports.coerce_to_target_type)(r,e,M,tr,rr,ir,lr,dr),Module._nodeToString=r=>(Module._nodeToString=wasmExports.nodeToString)(r),Module._parser_errposition=(r,e)=>(Module._parser_errposition=wasmExports.parser_errposition)(r,e),Module._exprTypmod=r=>(Module._exprTypmod=wasmExports.exprTypmod)(r),Module._get_base_element_type=r=>(Module._get_base_element_type=wasmExports.get_base_element_type)(r),Module._SystemFuncName=r=>(Module._SystemFuncName=wasmExports.SystemFuncName)(r),Module._CreateTrigger=(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r)=>(Module._CreateTrigger=wasmExports.CreateTrigger)(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r),Module._plan_create_index_workers=(r,e)=>(Module._plan_create_index_workers=wasmExports.plan_create_index_workers)(r,e),Module._get_rel_namespace=r=>(Module._get_rel_namespace=wasmExports.get_rel_namespace)(r),Module._ConditionalLockRelationOid=(r,e)=>(Module._ConditionalLockRelationOid=wasmExports.ConditionalLockRelationOid)(r,e),Module._RelnameGetRelid=r=>(Module._RelnameGetRelid=wasmExports.RelnameGetRelid)(r),Module._get_relkind_objtype=r=>(Module._get_relkind_objtype=wasmExports.get_relkind_objtype)(r),Module._RelationIsVisible=r=>(Module._RelationIsVisible=wasmExports.RelationIsVisible)(r),Module._get_func_arg_info=(r,e,M,tr)=>(Module._get_func_arg_info=wasmExports.get_func_arg_info)(r,e,M,tr),Module._NameListToString=r=>(Module._NameListToString=wasmExports.NameListToString)(r),Module._OpernameGetOprid=(r,e,M)=>(Module._OpernameGetOprid=wasmExports.OpernameGetOprid)(r,e,M),Module._makeRangeVarFromNameList=r=>(Module._makeRangeVarFromNameList=wasmExports.makeRangeVarFromNameList)(r),Module._quote_identifier=r=>(Module._quote_identifier=wasmExports.quote_identifier)(r),Module._GetSearchPathMatcher=r=>(Module._GetSearchPathMatcher=wasmExports.GetSearchPathMatcher)(r),Module._SearchPathMatchesCurrentEnvironment=r=>(Module._SearchPathMatchesCurrentEnvironment=wasmExports.SearchPathMatchesCurrentEnvironment)(r),Module._get_collation_oid=(r,e)=>(Module._get_collation_oid=wasmExports.get_collation_oid)(r,e),Module._CacheRegisterSyscacheCallback=(r,e,M)=>(Module._CacheRegisterSyscacheCallback=wasmExports.CacheRegisterSyscacheCallback)(r,e,M),Module._get_extension_oid=(r,e)=>(Module._get_extension_oid=wasmExports.get_extension_oid)(r,e),Module._get_role_oid=(r,e)=>(Module._get_role_oid=wasmExports.get_role_oid)(r,e),Module._GetForeignServerByName=(r,e)=>(Module._GetForeignServerByName=wasmExports.GetForeignServerByName)(r,e),Module._typeStringToTypeName=(r,e)=>(Module._typeStringToTypeName=wasmExports.typeStringToTypeName)(r,e),Module._list_make2_impl=(r,e,M)=>(Module._list_make2_impl=wasmExports.list_make2_impl)(r,e,M),Module._GetUserNameFromId=(r,e)=>(Module._GetUserNameFromId=wasmExports.GetUserNameFromId)(r,e),Module._format_type_extended=(r,e,M)=>(Module._format_type_extended=wasmExports.format_type_extended)(r,e,M),Module._quote_qualified_identifier=(r,e)=>(Module._quote_qualified_identifier=wasmExports.quote_qualified_identifier)(r,e),Module._get_tablespace_name=r=>(Module._get_tablespace_name=wasmExports.get_tablespace_name)(r),Module._GetForeignServerExtended=(r,e)=>(Module._GetForeignServerExtended=wasmExports.GetForeignServerExtended)(r,e),Module._GetForeignServer=r=>(Module._GetForeignServer=wasmExports.GetForeignServer)(r),Module._construct_empty_array=r=>(Module._construct_empty_array=wasmExports.construct_empty_array)(r),Module._format_type_be_qualified=r=>(Module._format_type_be_qualified=wasmExports.format_type_be_qualified)(r),Module._get_namespace_name_or_temp=r=>(Module._get_namespace_name_or_temp=wasmExports.get_namespace_name_or_temp)(r),Module._list_make3_impl=(r,e,M,tr)=>(Module._list_make3_impl=wasmExports.list_make3_impl)(r,e,M,tr),Module._construct_md_array=(r,e,M,tr,rr,ir,lr,dr,mr)=>(Module._construct_md_array=wasmExports.construct_md_array)(r,e,M,tr,rr,ir,lr,dr,mr),Module._pull_varattnos=(r,e,M)=>(Module._pull_varattnos=wasmExports.pull_varattnos)(r,e,M),Module._get_func_name=r=>(Module._get_func_name=wasmExports.get_func_name)(r),Module._construct_array_builtin=(r,e,M)=>(Module._construct_array_builtin=wasmExports.construct_array_builtin)(r,e,M),Module._makeObjectName=(r,e,M)=>(Module._makeObjectName=wasmExports.makeObjectName)(r,e,M),Module._get_primary_key_attnos=(r,e,M)=>(Module._get_primary_key_attnos=wasmExports.get_primary_key_attnos)(r,e,M),Module._bms_is_subset=(r,e)=>(Module._bms_is_subset=wasmExports.bms_is_subset)(r,e),Module._getExtensionOfObject=(r,e)=>(Module._getExtensionOfObject=wasmExports.getExtensionOfObject)(r,e),Module._find_inheritance_children=(r,e)=>(Module._find_inheritance_children=wasmExports.find_inheritance_children)(r,e),Module._lappend_int=(r,e)=>(Module._lappend_int=wasmExports.lappend_int)(r,e),Module._has_superclass=r=>(Module._has_superclass=wasmExports.has_superclass)(r),Module._CheckFunctionValidatorAccess=(r,e)=>(Module._CheckFunctionValidatorAccess=wasmExports.CheckFunctionValidatorAccess)(r,e),Module._AcquireRewriteLocks=(r,e,M)=>(Module._AcquireRewriteLocks=wasmExports.AcquireRewriteLocks)(r,e,M),Module._function_parse_error_transpose=r=>(Module._function_parse_error_transpose=wasmExports.function_parse_error_transpose)(r),Module._geterrposition=()=>(Module._geterrposition=wasmExports.geterrposition)(),Module._getinternalerrposition=()=>(Module._getinternalerrposition=wasmExports.getinternalerrposition)(),Module._pg_mblen=r=>(Module._pg_mblen=wasmExports.pg_mblen)(r),Module._pg_mbstrlen_with_len=(r,e)=>(Module._pg_mbstrlen_with_len=wasmExports.pg_mbstrlen_with_len)(r,e),Module._errposition=r=>(Module._errposition=wasmExports.errposition)(r),Module._internalerrposition=r=>(Module._internalerrposition=wasmExports.internalerrposition)(r),Module._internalerrquery=r=>(Module._internalerrquery=wasmExports.internalerrquery)(r),Module._list_delete_nth_cell=(r,e)=>(Module._list_delete_nth_cell=wasmExports.list_delete_nth_cell)(r,e),Module._get_array_type=r=>(Module._get_array_type=wasmExports.get_array_type)(r),Module._smgrtruncate2=(r,e,M,tr,rr)=>(Module._smgrtruncate2=wasmExports.smgrtruncate2)(r,e,M,tr,rr),Module._smgrreadv=(r,e,M,tr,rr)=>(Module._smgrreadv=wasmExports.smgrreadv)(r,e,M,tr,rr),Module._NewRelationCreateToastTable=(r,e)=>(Module._NewRelationCreateToastTable=wasmExports.NewRelationCreateToastTable)(r,e),Module._transformStmt=(r,e)=>(Module._transformStmt=wasmExports.transformStmt)(r,e),Module._exprLocation=r=>(Module._exprLocation=wasmExports.exprLocation)(r),Module._ParseFuncOrColumn=(r,e,M,tr,rr,ir,lr)=>(Module._ParseFuncOrColumn=wasmExports.ParseFuncOrColumn)(r,e,M,tr,rr,ir,lr),Module._exprCollation=r=>(Module._exprCollation=wasmExports.exprCollation)(r),Module._transformDistinctClause=(r,e,M,tr)=>(Module._transformDistinctClause=wasmExports.transformDistinctClause)(r,e,M,tr),Module._makeTargetEntry=(r,e,M,tr)=>(Module._makeTargetEntry=wasmExports.makeTargetEntry)(r,e,M,tr),Module._makeAlias=(r,e)=>(Module._makeAlias=wasmExports.makeAlias)(r,e),Module._addRangeTableEntryForSubquery=(r,e,M,tr,rr)=>(Module._addRangeTableEntryForSubquery=wasmExports.addRangeTableEntryForSubquery)(r,e,M,tr,rr),Module._makeVar=(r,e,M,tr,rr,ir)=>(Module._makeVar=wasmExports.makeVar)(r,e,M,tr,rr,ir),Module._makeBoolean=r=>(Module._makeBoolean=wasmExports.makeBoolean)(r),Module._makeInteger=r=>(Module._makeInteger=wasmExports.makeInteger)(r),Module._makeTypeName=r=>(Module._makeTypeName=wasmExports.makeTypeName)(r),Module._makeFuncCall=(r,e,M,tr)=>(Module._makeFuncCall=wasmExports.makeFuncCall)(r,e,M,tr),Module._list_make4_impl=(r,e,M,tr,rr)=>(Module._list_make4_impl=wasmExports.list_make4_impl)(r,e,M,tr,rr),Module._get_sortgroupclause_tle=(r,e)=>(Module._get_sortgroupclause_tle=wasmExports.get_sortgroupclause_tle)(r,e),Module._flatten_join_alias_vars=(r,e,M)=>(Module._flatten_join_alias_vars=wasmExports.flatten_join_alias_vars)(r,e,M),Module._list_member_int=(r,e)=>(Module._list_member_int=wasmExports.list_member_int)(r,e),Module._addRangeTableEntryForENR=(r,e,M)=>(Module._addRangeTableEntryForENR=wasmExports.addRangeTableEntryForENR)(r,e,M),Module._typenameTypeIdAndMod=(r,e,M,tr)=>(Module._typenameTypeIdAndMod=wasmExports.typenameTypeIdAndMod)(r,e,M,tr),Module._get_typcollation=r=>(Module._get_typcollation=wasmExports.get_typcollation)(r),Module._strip_implicit_coercions=r=>(Module._strip_implicit_coercions=wasmExports.strip_implicit_coercions)(r),Module._get_sortgroupref_tle=(r,e)=>(Module._get_sortgroupref_tle=wasmExports.get_sortgroupref_tle)(r,e),Module._contain_aggs_of_level=(r,e)=>(Module._contain_aggs_of_level=wasmExports.contain_aggs_of_level)(r,e),Module._typeidType=r=>(Module._typeidType=wasmExports.typeidType)(r),Module._typeTypeCollation=r=>(Module._typeTypeCollation=wasmExports.typeTypeCollation)(r),Module._typeLen=r=>(Module._typeLen=wasmExports.typeLen)(r),Module._typeByVal=r=>(Module._typeByVal=wasmExports.typeByVal)(r),Module._makeConst=(r,e,M,tr,rr,ir,lr)=>(Module._makeConst=wasmExports.makeConst)(r,e,M,tr,rr,ir,lr),Module._lookup_rowtype_tupdesc=(r,e)=>(Module._lookup_rowtype_tupdesc=wasmExports.lookup_rowtype_tupdesc)(r,e),Module._bms_del_member=(r,e)=>(Module._bms_del_member=wasmExports.bms_del_member)(r,e),Module._list_member=(r,e)=>(Module._list_member=wasmExports.list_member)(r,e),Module._type_is_rowtype=r=>(Module._type_is_rowtype=wasmExports.type_is_rowtype)(r),Module._bit_in=r=>(Module._bit_in=wasmExports.bit_in)(r),Module._bms_union=(r,e)=>(Module._bms_union=wasmExports.bms_union)(r,e),Module._varstr_levenshtein_less_equal=(r,e,M,tr,rr,ir,lr,dr,mr)=>(Module._varstr_levenshtein_less_equal=wasmExports.varstr_levenshtein_less_equal)(r,e,M,tr,rr,ir,lr,dr,mr),Module._errsave_start=(r,e)=>(Module._errsave_start=wasmExports.errsave_start)(r,e),Module._errsave_finish=(r,e,M,tr)=>(Module._errsave_finish=wasmExports.errsave_finish)(r,e,M,tr),Module._makeColumnDef=(r,e,M,tr)=>(Module._makeColumnDef=wasmExports.makeColumnDef)(r,e,M,tr),Module._GetDefaultOpClass=(r,e)=>(Module._GetDefaultOpClass=wasmExports.GetDefaultOpClass)(r,e),Module._scanner_init=(r,e,M,tr)=>(Module._scanner_init=wasmExports.scanner_init)(r,e,M,tr),Module._scanner_finish=r=>(Module._scanner_finish=wasmExports.scanner_finish)(r),Module._core_yylex=(r,e,M)=>(Module._core_yylex=wasmExports.core_yylex)(r,e,M),Module._isxdigit=r=>(Module._isxdigit=wasmExports.isxdigit)(r),Module._scanner_isspace=r=>(Module._scanner_isspace=wasmExports.scanner_isspace)(r),Module._truncate_identifier=(r,e,M)=>(Module._truncate_identifier=wasmExports.truncate_identifier)(r,e,M),Module._downcase_truncate_identifier=(r,e,M)=>(Module._downcase_truncate_identifier=wasmExports.downcase_truncate_identifier)(r,e,M),Module._pg_database_encoding_max_length=()=>(Module._pg_database_encoding_max_length=wasmExports.pg_database_encoding_max_length)(),Module._namein=r=>(Module._namein=wasmExports.namein)(r),Module._BlockSampler_Init=(r,e,M,tr)=>(Module._BlockSampler_Init=wasmExports.BlockSampler_Init)(r,e,M,tr),Module._reservoir_init_selection_state=(r,e)=>(Module._reservoir_init_selection_state=wasmExports.reservoir_init_selection_state)(r,e),Module._reservoir_get_next_S=(r,e,M)=>(Module._reservoir_get_next_S=wasmExports.reservoir_get_next_S)(r,e,M),Module._sampler_random_fract=r=>(Module._sampler_random_fract=wasmExports.sampler_random_fract)(r),Module._BlockSampler_HasMore=r=>(Module._BlockSampler_HasMore=wasmExports.BlockSampler_HasMore)(r),Module._BlockSampler_Next=r=>(Module._BlockSampler_Next=wasmExports.BlockSampler_Next)(r),Module._Async_Notify=(r,e)=>(Module._Async_Notify=wasmExports.Async_Notify)(r,e),Module._RangeVarCallbackMaintainsTable=(r,e,M,tr)=>(Module._RangeVarCallbackMaintainsTable=wasmExports.RangeVarCallbackMaintainsTable)(r,e,M,tr),Module._make_new_heap=(r,e,M,tr,rr)=>(Module._make_new_heap=wasmExports.make_new_heap)(r,e,M,tr,rr),Module._finish_heap_swap=(r,e,M,tr,rr,ir,lr,dr,mr)=>(Module._finish_heap_swap=wasmExports.finish_heap_swap)(r,e,M,tr,rr,ir,lr,dr,mr),Module._wasm_OpenPipeStream=(r,e)=>(Module._wasm_OpenPipeStream=wasmExports.wasm_OpenPipeStream)(r,e),Module._ClosePipeStream=r=>(Module._ClosePipeStream=wasmExports.ClosePipeStream)(r),Module._BeginCopyFrom=(r,e,M,tr,rr,ir,lr,dr)=>(Module._BeginCopyFrom=wasmExports.BeginCopyFrom)(r,e,M,tr,rr,ir,lr,dr),Module._EndCopyFrom=r=>(Module._EndCopyFrom=wasmExports.EndCopyFrom)(r),Module._ProcessCopyOptions=(r,e,M,tr)=>(Module._ProcessCopyOptions=wasmExports.ProcessCopyOptions)(r,e,M,tr),Module._CopyFromErrorCallback=r=>(Module._CopyFromErrorCallback=wasmExports.CopyFromErrorCallback)(r),Module._NextCopyFrom=(r,e,M,tr)=>(Module._NextCopyFrom=wasmExports.NextCopyFrom)(r,e,M,tr),Module._ExecInitExpr=(r,e)=>(Module._ExecInitExpr=wasmExports.ExecInitExpr)(r,e),Module._tolower=r=>(Module._tolower=wasmExports.tolower)(r),Module._PushCopiedSnapshot=r=>(Module._PushCopiedSnapshot=wasmExports.PushCopiedSnapshot)(r),Module._UpdateActiveSnapshotCommandId=()=>(Module._UpdateActiveSnapshotCommandId=wasmExports.UpdateActiveSnapshotCommandId)(),Module._CreateQueryDesc=(r,e,M,tr,rr,ir,lr,dr)=>(Module._CreateQueryDesc=wasmExports.CreateQueryDesc)(r,e,M,tr,rr,ir,lr,dr),Module._ExecutorStart=(r,e)=>(Module._ExecutorStart=wasmExports.ExecutorStart)(r,e),Module._ExecutorFinish=r=>(Module._ExecutorFinish=wasmExports.ExecutorFinish)(r),Module._ExecutorEnd=r=>(Module._ExecutorEnd=wasmExports.ExecutorEnd)(r),Module._FreeQueryDesc=r=>(Module._FreeQueryDesc=wasmExports.FreeQueryDesc)(r),Module._pg_server_to_any=(r,e,M)=>(Module._pg_server_to_any=wasmExports.pg_server_to_any)(r,e,M),Module._ExecutorRun=(r,e,M,tr)=>(Module._ExecutorRun=wasmExports.ExecutorRun)(r,e,M,tr),Module._CreateTableAsRelExists=r=>(Module._CreateTableAsRelExists=wasmExports.CreateTableAsRelExists)(r),Module._DefineRelation=(r,e,M,tr,rr,ir)=>(Module._DefineRelation=wasmExports.DefineRelation)(r,e,M,tr,rr,ir),Module._oidin=r=>(Module._oidin=wasmExports.oidin)(r),Module._GetCommandTagName=r=>(Module._GetCommandTagName=wasmExports.GetCommandTagName)(r),Module._ExplainBeginOutput=r=>(Module._ExplainBeginOutput=wasmExports.ExplainBeginOutput)(r),Module._NewExplainState=()=>(Module._NewExplainState=wasmExports.NewExplainState)(),Module._ExplainEndOutput=r=>(Module._ExplainEndOutput=wasmExports.ExplainEndOutput)(r),Module._ExplainPrintPlan=(r,e)=>(Module._ExplainPrintPlan=wasmExports.ExplainPrintPlan)(r,e),Module._ExplainPrintTriggers=(r,e)=>(Module._ExplainPrintTriggers=wasmExports.ExplainPrintTriggers)(r,e),Module._ExplainPrintJITSummary=(r,e)=>(Module._ExplainPrintJITSummary=wasmExports.ExplainPrintJITSummary)(r,e),Module._InstrEndLoop=r=>(Module._InstrEndLoop=wasmExports.InstrEndLoop)(r),Module._ExplainPropertyInteger=(r,e,M,tr)=>(Module._ExplainPropertyInteger=wasmExports.ExplainPropertyInteger)(r,e,M,tr),Module._ExplainQueryText=(r,e)=>(Module._ExplainQueryText=wasmExports.ExplainQueryText)(r,e),Module._ExplainPropertyText=(r,e,M)=>(Module._ExplainPropertyText=wasmExports.ExplainPropertyText)(r,e,M),Module._ExplainQueryParameters=(r,e,M)=>(Module._ExplainQueryParameters=wasmExports.ExplainQueryParameters)(r,e,M),Module._get_func_namespace=r=>(Module._get_func_namespace=wasmExports.get_func_namespace)(r),Module._get_rel_type_id=r=>(Module._get_rel_type_id=wasmExports.get_rel_type_id)(r),Module._set_config_option=(r,e,M,tr,rr,ir,lr,dr)=>(Module._set_config_option=wasmExports.set_config_option)(r,e,M,tr,rr,ir,lr,dr),Module._pg_any_to_server=(r,e,M)=>(Module._pg_any_to_server=wasmExports.pg_any_to_server)(r,e,M),Module._DirectFunctionCall4Coll=(r,e,M,tr,rr,ir)=>(Module._DirectFunctionCall4Coll=wasmExports.DirectFunctionCall4Coll)(r,e,M,tr,rr,ir),Module._list_delete_cell=(r,e)=>(Module._list_delete_cell=wasmExports.list_delete_cell)(r,e),Module._GetForeignDataWrapper=r=>(Module._GetForeignDataWrapper=wasmExports.GetForeignDataWrapper)(r),Module._CreateExprContext=r=>(Module._CreateExprContext=wasmExports.CreateExprContext)(r),Module._EnsurePortalSnapshotExists=()=>(Module._EnsurePortalSnapshotExists=wasmExports.EnsurePortalSnapshotExists)(),Module._CheckIndexCompatible=(r,e,M,tr)=>(Module._CheckIndexCompatible=wasmExports.CheckIndexCompatible)(r,e,M,tr),Module._pgstat_count_truncate=r=>(Module._pgstat_count_truncate=wasmExports.pgstat_count_truncate)(r),Module._SPI_connect=()=>(Module._SPI_connect=wasmExports.SPI_connect)(),Module._SPI_exec=(r,e)=>(Module._SPI_exec=wasmExports.SPI_exec)(r,e),Module._SPI_execute=(r,e,M)=>(Module._SPI_execute=wasmExports.SPI_execute)(r,e,M),Module._SPI_getvalue=(r,e,M)=>(Module._SPI_getvalue=wasmExports.SPI_getvalue)(r,e,M),Module._generate_operator_clause=(r,e,M,tr,rr,ir)=>(Module._generate_operator_clause=wasmExports.generate_operator_clause)(r,e,M,tr,rr,ir),Module._SPI_finish=()=>(Module._SPI_finish=wasmExports.SPI_finish)(),Module._CreateTransientRelDestReceiver=r=>(Module._CreateTransientRelDestReceiver=wasmExports.CreateTransientRelDestReceiver)(r),Module._MemoryContextSetIdentifier=(r,e)=>(Module._MemoryContextSetIdentifier=wasmExports.MemoryContextSetIdentifier)(r,e),Module._checkExprHasSubLink=r=>(Module._checkExprHasSubLink=wasmExports.checkExprHasSubLink)(r),Module._SetTuplestoreDestReceiverParams=(r,e,M,tr,rr,ir)=>(Module._SetTuplestoreDestReceiverParams=wasmExports.SetTuplestoreDestReceiverParams)(r,e,M,tr,rr,ir),Module._tuplestore_rescan=r=>(Module._tuplestore_rescan=wasmExports.tuplestore_rescan)(r),Module._MemoryContextDeleteChildren=r=>(Module._MemoryContextDeleteChildren=wasmExports.MemoryContextDeleteChildren)(r),Module._ReleaseCachedPlan=(r,e)=>(Module._ReleaseCachedPlan=wasmExports.ReleaseCachedPlan)(r,e),Module._nextval=r=>(Module._nextval=wasmExports.nextval)(r),Module._textToQualifiedNameList=r=>(Module._textToQualifiedNameList=wasmExports.textToQualifiedNameList)(r),Module._tuplestore_gettupleslot=(r,e,M,tr)=>(Module._tuplestore_gettupleslot=wasmExports.tuplestore_gettupleslot)(r,e,M,tr),Module._list_delete=(r,e)=>(Module._list_delete=wasmExports.list_delete)(r,e),Module._tuplestore_end=r=>(Module._tuplestore_end=wasmExports.tuplestore_end)(r),Module._quote_literal_cstr=r=>(Module._quote_literal_cstr=wasmExports.quote_literal_cstr)(r),Module._contain_mutable_functions=r=>(Module._contain_mutable_functions=wasmExports.contain_mutable_functions)(r),Module._ExecuteTruncateGuts=(r,e,M,tr,rr,ir)=>(Module._ExecuteTruncateGuts=wasmExports.ExecuteTruncateGuts)(r,e,M,tr,rr,ir),Module._bms_make_singleton=r=>(Module._bms_make_singleton=wasmExports.bms_make_singleton)(r),Module._tuplestore_puttupleslot=(r,e)=>(Module._tuplestore_puttupleslot=wasmExports.tuplestore_puttupleslot)(r,e),Module._tuplestore_begin_heap=(r,e,M)=>(Module._tuplestore_begin_heap=wasmExports.tuplestore_begin_heap)(r,e,M),Module._ExecForceStoreHeapTuple=(r,e,M)=>(Module._ExecForceStoreHeapTuple=wasmExports.ExecForceStoreHeapTuple)(r,e,M),Module._strtod=(r,e)=>(Module._strtod=wasmExports.strtod)(r,e),Module._plain_crypt_verify=(r,e,M,tr)=>(Module._plain_crypt_verify=wasmExports.plain_crypt_verify)(r,e,M,tr),Module._ProcessConfigFile=r=>(Module._ProcessConfigFile=wasmExports.ProcessConfigFile)(r),Module._ExecReScan=r=>(Module._ExecReScan=wasmExports.ExecReScan)(r),Module._ExecAsyncResponse=r=>(Module._ExecAsyncResponse=wasmExports.ExecAsyncResponse)(r),Module._ExecAsyncRequestDone=(r,e)=>(Module._ExecAsyncRequestDone=wasmExports.ExecAsyncRequestDone)(r,e),Module._ExecAsyncRequestPending=r=>(Module._ExecAsyncRequestPending=wasmExports.ExecAsyncRequestPending)(r),Module._ExprEvalPushStep=(r,e)=>(Module._ExprEvalPushStep=wasmExports.ExprEvalPushStep)(r,e),Module._ExecInitExprWithParams=(r,e)=>(Module._ExecInitExprWithParams=wasmExports.ExecInitExprWithParams)(r,e),Module._ExecInitExprList=(r,e)=>(Module._ExecInitExprList=wasmExports.ExecInitExprList)(r,e),Module._MakeExpandedObjectReadOnlyInternal=r=>(Module._MakeExpandedObjectReadOnlyInternal=wasmExports.MakeExpandedObjectReadOnlyInternal)(r),Module._tuplesort_puttupleslot=(r,e)=>(Module._tuplesort_puttupleslot=wasmExports.tuplesort_puttupleslot)(r,e),Module._ArrayGetNItems=(r,e)=>(Module._ArrayGetNItems=wasmExports.ArrayGetNItems)(r,e),Module._expanded_record_fetch_tupdesc=r=>(Module._expanded_record_fetch_tupdesc=wasmExports.expanded_record_fetch_tupdesc)(r),Module._expanded_record_fetch_field=(r,e,M)=>(Module._expanded_record_fetch_field=wasmExports.expanded_record_fetch_field)(r,e,M),Module._JsonbValueToJsonb=r=>(Module._JsonbValueToJsonb=wasmExports.JsonbValueToJsonb)(r),Module._boolout=r=>(Module._boolout=wasmExports.boolout)(r),Module._lookup_rowtype_tupdesc_domain=(r,e,M)=>(Module._lookup_rowtype_tupdesc_domain=wasmExports.lookup_rowtype_tupdesc_domain)(r,e,M),Module._MemoryContextGetParent=r=>(Module._MemoryContextGetParent=wasmExports.MemoryContextGetParent)(r),Module._DeleteExpandedObject=r=>(Module._DeleteExpandedObject=wasmExports.DeleteExpandedObject)(r),Module._ExecFindJunkAttributeInTlist=(r,e)=>(Module._ExecFindJunkAttributeInTlist=wasmExports.ExecFindJunkAttributeInTlist)(r,e),Module._standard_ExecutorStart=(r,e)=>(Module._standard_ExecutorStart=wasmExports.standard_ExecutorStart)(r,e),Module._standard_ExecutorRun=(r,e,M,tr)=>(Module._standard_ExecutorRun=wasmExports.standard_ExecutorRun)(r,e,M,tr),Module._standard_ExecutorFinish=r=>(Module._standard_ExecutorFinish=wasmExports.standard_ExecutorFinish)(r),Module._standard_ExecutorEnd=r=>(Module._standard_ExecutorEnd=wasmExports.standard_ExecutorEnd)(r),Module._InstrAlloc=(r,e,M)=>(Module._InstrAlloc=wasmExports.InstrAlloc)(r,e,M),Module._get_typlenbyval=(r,e,M)=>(Module._get_typlenbyval=wasmExports.get_typlenbyval)(r,e,M),Module._InputFunctionCall=(r,e,M,tr)=>(Module._InputFunctionCall=wasmExports.InputFunctionCall)(r,e,M,tr),Module._FreeExprContext=(r,e)=>(Module._FreeExprContext=wasmExports.FreeExprContext)(r,e),Module._ExecOpenScanRelation=(r,e,M)=>(Module._ExecOpenScanRelation=wasmExports.ExecOpenScanRelation)(r,e,M),Module._bms_intersect=(r,e)=>(Module._bms_intersect=wasmExports.bms_intersect)(r,e),Module._ExecGetReturningSlot=(r,e)=>(Module._ExecGetReturningSlot=wasmExports.ExecGetReturningSlot)(r,e),Module._ExecGetResultRelCheckAsUser=(r,e)=>(Module._ExecGetResultRelCheckAsUser=wasmExports.ExecGetResultRelCheckAsUser)(r,e),Module._get_call_expr_argtype=(r,e)=>(Module._get_call_expr_argtype=wasmExports.get_call_expr_argtype)(r,e),Module._tuplestore_clear=r=>(Module._tuplestore_clear=wasmExports.tuplestore_clear)(r),Module._InstrUpdateTupleCount=(r,e)=>(Module._InstrUpdateTupleCount=wasmExports.InstrUpdateTupleCount)(r,e),Module._tuplesort_begin_heap=(r,e,M,tr,rr,ir,lr,dr,mr)=>(Module._tuplesort_begin_heap=wasmExports.tuplesort_begin_heap)(r,e,M,tr,rr,ir,lr,dr,mr),Module._tuplesort_gettupleslot=(r,e,M,tr,rr)=>(Module._tuplesort_gettupleslot=wasmExports.tuplesort_gettupleslot)(r,e,M,tr,rr),Module._AddWaitEventToSet=(r,e,M,tr,rr)=>(Module._AddWaitEventToSet=wasmExports.AddWaitEventToSet)(r,e,M,tr,rr),Module._GetNumRegisteredWaitEvents=r=>(Module._GetNumRegisteredWaitEvents=wasmExports.GetNumRegisteredWaitEvents)(r),Module._get_attstatsslot=(r,e,M,tr,rr)=>(Module._get_attstatsslot=wasmExports.get_attstatsslot)(r,e,M,tr,rr),Module._free_attstatsslot=r=>(Module._free_attstatsslot=wasmExports.free_attstatsslot)(r),Module._tuplesort_reset=r=>(Module._tuplesort_reset=wasmExports.tuplesort_reset)(r),Module._pairingheap_first=r=>(Module._pairingheap_first=wasmExports.pairingheap_first)(r),Module._bms_nonempty_difference=(r,e)=>(Module._bms_nonempty_difference=wasmExports.bms_nonempty_difference)(r,e),Module._SPI_connect_ext=r=>(Module._SPI_connect_ext=wasmExports.SPI_connect_ext)(r),Module._SPI_commit=()=>(Module._SPI_commit=wasmExports.SPI_commit)(),Module._CopyErrorData=()=>(Module._CopyErrorData=wasmExports.CopyErrorData)(),Module._ReThrowError=r=>(Module._ReThrowError=wasmExports.ReThrowError)(r),Module._SPI_commit_and_chain=()=>(Module._SPI_commit_and_chain=wasmExports.SPI_commit_and_chain)(),Module._SPI_rollback=()=>(Module._SPI_rollback=wasmExports.SPI_rollback)(),Module._SPI_rollback_and_chain=()=>(Module._SPI_rollback_and_chain=wasmExports.SPI_rollback_and_chain)(),Module._SPI_freetuptable=r=>(Module._SPI_freetuptable=wasmExports.SPI_freetuptable)(r),Module._SPI_execute_extended=(r,e)=>(Module._SPI_execute_extended=wasmExports.SPI_execute_extended)(r,e),Module._SPI_execute_plan=(r,e,M,tr,rr)=>(Module._SPI_execute_plan=wasmExports.SPI_execute_plan)(r,e,M,tr,rr),Module._SPI_execp=(r,e,M,tr)=>(Module._SPI_execp=wasmExports.SPI_execp)(r,e,M,tr),Module._SPI_execute_plan_extended=(r,e)=>(Module._SPI_execute_plan_extended=wasmExports.SPI_execute_plan_extended)(r,e),Module._SPI_execute_plan_with_paramlist=(r,e,M,tr)=>(Module._SPI_execute_plan_with_paramlist=wasmExports.SPI_execute_plan_with_paramlist)(r,e,M,tr),Module._SPI_prepare=(r,e,M)=>(Module._SPI_prepare=wasmExports.SPI_prepare)(r,e,M),Module._SPI_prepare_extended=(r,e)=>(Module._SPI_prepare_extended=wasmExports.SPI_prepare_extended)(r,e),Module._SPI_keepplan=r=>(Module._SPI_keepplan=wasmExports.SPI_keepplan)(r),Module._SPI_freeplan=r=>(Module._SPI_freeplan=wasmExports.SPI_freeplan)(r),Module._SPI_copytuple=r=>(Module._SPI_copytuple=wasmExports.SPI_copytuple)(r),Module._SPI_returntuple=(r,e)=>(Module._SPI_returntuple=wasmExports.SPI_returntuple)(r,e),Module._SPI_fnumber=(r,e)=>(Module._SPI_fnumber=wasmExports.SPI_fnumber)(r,e),Module._SPI_fname=(r,e)=>(Module._SPI_fname=wasmExports.SPI_fname)(r,e),Module._SPI_getbinval=(r,e,M,tr)=>(Module._SPI_getbinval=wasmExports.SPI_getbinval)(r,e,M,tr),Module._SPI_gettype=(r,e)=>(Module._SPI_gettype=wasmExports.SPI_gettype)(r,e),Module._SPI_gettypeid=(r,e)=>(Module._SPI_gettypeid=wasmExports.SPI_gettypeid)(r,e),Module._SPI_getrelname=r=>(Module._SPI_getrelname=wasmExports.SPI_getrelname)(r),Module._SPI_palloc=r=>(Module._SPI_palloc=wasmExports.SPI_palloc)(r),Module._SPI_datumTransfer=(r,e,M)=>(Module._SPI_datumTransfer=wasmExports.SPI_datumTransfer)(r,e,M),Module._datumTransfer=(r,e,M)=>(Module._datumTransfer=wasmExports.datumTransfer)(r,e,M),Module._SPI_cursor_open_with_paramlist=(r,e,M,tr)=>(Module._SPI_cursor_open_with_paramlist=wasmExports.SPI_cursor_open_with_paramlist)(r,e,M,tr),Module._SPI_cursor_parse_open=(r,e,M)=>(Module._SPI_cursor_parse_open=wasmExports.SPI_cursor_parse_open)(r,e,M),Module._SPI_cursor_find=r=>(Module._SPI_cursor_find=wasmExports.SPI_cursor_find)(r),Module._SPI_cursor_fetch=(r,e,M)=>(Module._SPI_cursor_fetch=wasmExports.SPI_cursor_fetch)(r,e,M),Module._SPI_scroll_cursor_fetch=(r,e,M)=>(Module._SPI_scroll_cursor_fetch=wasmExports.SPI_scroll_cursor_fetch)(r,e,M),Module._SPI_scroll_cursor_move=(r,e,M)=>(Module._SPI_scroll_cursor_move=wasmExports.SPI_scroll_cursor_move)(r,e,M),Module._SPI_cursor_close=r=>(Module._SPI_cursor_close=wasmExports.SPI_cursor_close)(r),Module._SPI_plan_is_valid=r=>(Module._SPI_plan_is_valid=wasmExports.SPI_plan_is_valid)(r),Module._SPI_result_code_string=r=>(Module._SPI_result_code_string=wasmExports.SPI_result_code_string)(r),Module._SPI_plan_get_plan_sources=r=>(Module._SPI_plan_get_plan_sources=wasmExports.SPI_plan_get_plan_sources)(r),Module._SPI_plan_get_cached_plan=r=>(Module._SPI_plan_get_cached_plan=wasmExports.SPI_plan_get_cached_plan)(r),Module._SPI_register_relation=r=>(Module._SPI_register_relation=wasmExports.SPI_register_relation)(r),Module._create_queryEnv=()=>(Module._create_queryEnv=wasmExports.create_queryEnv)(),Module._register_ENR=(r,e)=>(Module._register_ENR=wasmExports.register_ENR)(r,e),Module._SPI_register_trigger_data=r=>(Module._SPI_register_trigger_data=wasmExports.SPI_register_trigger_data)(r),Module._tuplestore_tuple_count=r=>(Module._tuplestore_tuple_count=wasmExports.tuplestore_tuple_count)(r),Module._GetUserMapping=(r,e)=>(Module._GetUserMapping=wasmExports.GetUserMapping)(r,e),Module._GetForeignTable=r=>(Module._GetForeignTable=wasmExports.GetForeignTable)(r),Module._GetForeignColumnOptions=(r,e)=>(Module._GetForeignColumnOptions=wasmExports.GetForeignColumnOptions)(r,e),Module._initClosestMatch=(r,e,M)=>(Module._initClosestMatch=wasmExports.initClosestMatch)(r,e,M),Module._updateClosestMatch=(r,e)=>(Module._updateClosestMatch=wasmExports.updateClosestMatch)(r,e),Module._getClosestMatch=r=>(Module._getClosestMatch=wasmExports.getClosestMatch)(r),Module._GetExistingLocalJoinPath=r=>(Module._GetExistingLocalJoinPath=wasmExports.GetExistingLocalJoinPath)(r),Module._bloom_create=(r,e,M)=>(Module._bloom_create=wasmExports.bloom_create)(r,e,M),Module._bloom_free=r=>(Module._bloom_free=wasmExports.bloom_free)(r),Module._bloom_add_element=(r,e,M)=>(Module._bloom_add_element=wasmExports.bloom_add_element)(r,e,M),Module._bloom_lacks_element=(r,e,M)=>(Module._bloom_lacks_element=wasmExports.bloom_lacks_element)(r,e,M),Module._bloom_prop_bits_set=r=>(Module._bloom_prop_bits_set=wasmExports.bloom_prop_bits_set)(r),Module._gai_strerror=r=>(Module._gai_strerror=wasmExports.gai_strerror)(r),Module._socket=(r,e,M)=>(Module._socket=wasmExports.socket)(r,e,M),Module._connect=(r,e,M)=>(Module._connect=wasmExports.connect)(r,e,M),Module._send=(r,e,M,tr)=>(Module._send=wasmExports.send)(r,e,M,tr),Module._recv=(r,e,M,tr)=>(Module._recv=wasmExports.recv)(r,e,M,tr),Module._be_lo_unlink=r=>(Module._be_lo_unlink=wasmExports.be_lo_unlink)(r),Module._text_to_cstring_buffer=(r,e,M)=>(Module._text_to_cstring_buffer=wasmExports.text_to_cstring_buffer)(r,e,M),Module._set_read_write_cbs=(r,e)=>(Module._set_read_write_cbs=wasmExports.set_read_write_cbs)(r,e),Module._setsockopt=(r,e,M,tr,rr)=>(Module._setsockopt=wasmExports.setsockopt)(r,e,M,tr,rr),Module._getsockopt=(r,e,M,tr,rr)=>(Module._getsockopt=wasmExports.getsockopt)(r,e,M,tr,rr),Module._getsockname=(r,e,M)=>(Module._getsockname=wasmExports.getsockname)(r,e,M),Module._poll=(r,e,M)=>(Module._poll=wasmExports.poll)(r,e,M),Module._pg_mb2wchar_with_len=(r,e,M)=>(Module._pg_mb2wchar_with_len=wasmExports.pg_mb2wchar_with_len)(r,e,M),Module._pg_regcomp=(r,e,M,tr,rr)=>(Module._pg_regcomp=wasmExports.pg_regcomp)(r,e,M,tr,rr),Module._pg_regerror=(r,e,M,tr)=>(Module._pg_regerror=wasmExports.pg_regerror)(r,e,M,tr),Module._strcat=(r,e)=>(Module._strcat=wasmExports.strcat)(r,e),Module._pq_sendtext=(r,e,M)=>(Module._pq_sendtext=wasmExports.pq_sendtext)(r,e,M),Module._pq_sendfloat4=(r,e)=>(Module._pq_sendfloat4=wasmExports.pq_sendfloat4)(r,e),Module._pq_sendfloat8=(r,e)=>(Module._pq_sendfloat8=wasmExports.pq_sendfloat8)(r,e),Module._pq_begintypsend=r=>(Module._pq_begintypsend=wasmExports.pq_begintypsend)(r),Module._pq_endtypsend=r=>(Module._pq_endtypsend=wasmExports.pq_endtypsend)(r),Module._pq_getmsgfloat4=r=>(Module._pq_getmsgfloat4=wasmExports.pq_getmsgfloat4)(r),Module._pq_getmsgfloat8=r=>(Module._pq_getmsgfloat8=wasmExports.pq_getmsgfloat8)(r),Module._pq_getmsgtext=(r,e,M)=>(Module._pq_getmsgtext=wasmExports.pq_getmsgtext)(r,e,M),Module._pg_strtoint32=r=>(Module._pg_strtoint32=wasmExports.pg_strtoint32)(r),Module._bms_membership=r=>(Module._bms_membership=wasmExports.bms_membership)(r),Module._list_make5_impl=(r,e,M,tr,rr,ir)=>(Module._list_make5_impl=wasmExports.list_make5_impl)(r,e,M,tr,rr,ir),Module._list_insert_nth=(r,e,M)=>(Module._list_insert_nth=wasmExports.list_insert_nth)(r,e,M),Module._list_member_ptr=(r,e)=>(Module._list_member_ptr=wasmExports.list_member_ptr)(r,e),Module._list_append_unique_ptr=(r,e)=>(Module._list_append_unique_ptr=wasmExports.list_append_unique_ptr)(r,e),Module._make_opclause=(r,e,M,tr,rr,ir,lr)=>(Module._make_opclause=wasmExports.make_opclause)(r,e,M,tr,rr,ir,lr),Module._exprIsLengthCoercion=(r,e)=>(Module._exprIsLengthCoercion=wasmExports.exprIsLengthCoercion)(r,e),Module._fix_opfuncids=r=>(Module._fix_opfuncids=wasmExports.fix_opfuncids)(r),Module._CleanQuerytext=(r,e,M)=>(Module._CleanQuerytext=wasmExports.CleanQuerytext)(r,e,M),Module._EnableQueryId=()=>(Module._EnableQueryId=wasmExports.EnableQueryId)(),Module._find_base_rel=(r,e)=>(Module._find_base_rel=wasmExports.find_base_rel)(r,e),Module._add_path=(r,e)=>(Module._add_path=wasmExports.add_path)(r,e),Module._pathkeys_contained_in=(r,e)=>(Module._pathkeys_contained_in=wasmExports.pathkeys_contained_in)(r,e),Module._create_sort_path=(r,e,M,tr,rr)=>(Module._create_sort_path=wasmExports.create_sort_path)(r,e,M,tr,rr),Module._set_baserel_size_estimates=(r,e)=>(Module._set_baserel_size_estimates=wasmExports.set_baserel_size_estimates)(r,e),Module._clauselist_selectivity=(r,e,M,tr,rr)=>(Module._clauselist_selectivity=wasmExports.clauselist_selectivity)(r,e,M,tr,rr),Module._get_tablespace_page_costs=(r,e,M)=>(Module._get_tablespace_page_costs=wasmExports.get_tablespace_page_costs)(r,e,M),Module._cost_qual_eval=(r,e,M)=>(Module._cost_qual_eval=wasmExports.cost_qual_eval)(r,e,M),Module._estimate_num_groups=(r,e,M,tr,rr)=>(Module._estimate_num_groups=wasmExports.estimate_num_groups)(r,e,M,tr,rr),Module._cost_sort=(r,e,M,tr,rr,ir,lr,dr,mr)=>(Module._cost_sort=wasmExports.cost_sort)(r,e,M,tr,rr,ir,lr,dr,mr),Module._get_sortgrouplist_exprs=(r,e)=>(Module._get_sortgrouplist_exprs=wasmExports.get_sortgrouplist_exprs)(r,e),Module._make_restrictinfo=(r,e,M,tr,rr,ir,lr,dr,mr,hr)=>(Module._make_restrictinfo=wasmExports.make_restrictinfo)(r,e,M,tr,rr,ir,lr,dr,mr,hr),Module._generate_implied_equalities_for_column=(r,e,M,tr,rr)=>(Module._generate_implied_equalities_for_column=wasmExports.generate_implied_equalities_for_column)(r,e,M,tr,rr),Module._eclass_useful_for_merging=(r,e,M)=>(Module._eclass_useful_for_merging=wasmExports.eclass_useful_for_merging)(r,e,M),Module._join_clause_is_movable_to=(r,e)=>(Module._join_clause_is_movable_to=wasmExports.join_clause_is_movable_to)(r,e),Module._get_plan_rowmark=(r,e)=>(Module._get_plan_rowmark=wasmExports.get_plan_rowmark)(r,e),Module._update_mergeclause_eclasses=(r,e)=>(Module._update_mergeclause_eclasses=wasmExports.update_mergeclause_eclasses)(r,e),Module._find_join_rel=(r,e)=>(Module._find_join_rel=wasmExports.find_join_rel)(r,e),Module._make_canonical_pathkey=(r,e,M,tr,rr)=>(Module._make_canonical_pathkey=wasmExports.make_canonical_pathkey)(r,e,M,tr,rr),Module._get_sortgroupref_clause_noerr=(r,e)=>(Module._get_sortgroupref_clause_noerr=wasmExports.get_sortgroupref_clause_noerr)(r,e),Module._extract_actual_clauses=(r,e)=>(Module._extract_actual_clauses=wasmExports.extract_actual_clauses)(r,e),Module._change_plan_targetlist=(r,e,M)=>(Module._change_plan_targetlist=wasmExports.change_plan_targetlist)(r,e,M),Module._make_foreignscan=(r,e,M,tr,rr,ir,lr,dr)=>(Module._make_foreignscan=wasmExports.make_foreignscan)(r,e,M,tr,rr,ir,lr,dr),Module._tlist_member=(r,e)=>(Module._tlist_member=wasmExports.tlist_member)(r,e),Module._pull_vars_of_level=(r,e)=>(Module._pull_vars_of_level=wasmExports.pull_vars_of_level)(r,e),Module._IncrementVarSublevelsUp=(r,e,M)=>(Module._IncrementVarSublevelsUp=wasmExports.IncrementVarSublevelsUp)(r,e,M),Module._standard_planner=(r,e,M,tr)=>(Module._standard_planner=wasmExports.standard_planner)(r,e,M,tr),Module._get_relids_in_jointree=(r,e,M)=>(Module._get_relids_in_jointree=wasmExports.get_relids_in_jointree)(r,e,M),Module._add_new_columns_to_pathtarget=(r,e)=>(Module._add_new_columns_to_pathtarget=wasmExports.add_new_columns_to_pathtarget)(r,e),Module._get_agg_clause_costs=(r,e,M)=>(Module._get_agg_clause_costs=wasmExports.get_agg_clause_costs)(r,e,M),Module._grouping_is_sortable=r=>(Module._grouping_is_sortable=wasmExports.grouping_is_sortable)(r),Module._copy_pathtarget=r=>(Module._copy_pathtarget=wasmExports.copy_pathtarget)(r),Module._create_projection_path=(r,e,M,tr)=>(Module._create_projection_path=wasmExports.create_projection_path)(r,e,M,tr),Module._GetSysCacheHashValue=(r,e,M,tr,rr)=>(Module._GetSysCacheHashValue=wasmExports.GetSysCacheHashValue)(r,e,M,tr,rr),Module._get_translated_update_targetlist=(r,e,M,tr)=>(Module._get_translated_update_targetlist=wasmExports.get_translated_update_targetlist)(r,e,M,tr),Module._add_row_identity_var=(r,e,M,tr)=>(Module._add_row_identity_var=wasmExports.add_row_identity_var)(r,e,M,tr),Module._get_rel_all_updated_cols=(r,e)=>(Module._get_rel_all_updated_cols=wasmExports.get_rel_all_updated_cols)(r,e),Module._get_baserel_parampathinfo=(r,e,M)=>(Module._get_baserel_parampathinfo=wasmExports.get_baserel_parampathinfo)(r,e,M),Module._create_foreignscan_path=(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr)=>(Module._create_foreignscan_path=wasmExports.create_foreignscan_path)(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr),Module._create_foreign_join_path=(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr)=>(Module._create_foreign_join_path=wasmExports.create_foreign_join_path)(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr),Module._create_foreign_upper_path=(r,e,M,tr,rr,ir,lr,dr,mr,hr)=>(Module._create_foreign_upper_path=wasmExports.create_foreign_upper_path)(r,e,M,tr,rr,ir,lr,dr,mr,hr),Module._adjust_limit_rows_costs=(r,e,M,tr,rr)=>(Module._adjust_limit_rows_costs=wasmExports.adjust_limit_rows_costs)(r,e,M,tr,rr),Module._add_to_flat_tlist=(r,e)=>(Module._add_to_flat_tlist=wasmExports.add_to_flat_tlist)(r,e),Module._get_fn_expr_argtype=(r,e)=>(Module._get_fn_expr_argtype=wasmExports.get_fn_expr_argtype)(r,e),Module._on_shmem_exit=(r,e)=>(Module._on_shmem_exit=wasmExports.on_shmem_exit)(r,e),Module._SignalHandlerForConfigReload=r=>(Module._SignalHandlerForConfigReload=wasmExports.SignalHandlerForConfigReload)(r),Module._SignalHandlerForShutdownRequest=r=>(Module._SignalHandlerForShutdownRequest=wasmExports.SignalHandlerForShutdownRequest)(r),Module._procsignal_sigusr1_handler=r=>(Module._procsignal_sigusr1_handler=wasmExports.procsignal_sigusr1_handler)(r),Module._RegisterBackgroundWorker=r=>(Module._RegisterBackgroundWorker=wasmExports.RegisterBackgroundWorker)(r),Module._WaitForBackgroundWorkerStartup=(r,e)=>(Module._WaitForBackgroundWorkerStartup=wasmExports.WaitForBackgroundWorkerStartup)(r,e),Module._GetConfigOption=(r,e,M)=>(Module._GetConfigOption=wasmExports.GetConfigOption)(r,e,M),Module._toupper=r=>(Module._toupper=wasmExports.toupper)(r),Module._pg_reg_getinitialstate=r=>(Module._pg_reg_getinitialstate=wasmExports.pg_reg_getinitialstate)(r),Module._pg_reg_getfinalstate=r=>(Module._pg_reg_getfinalstate=wasmExports.pg_reg_getfinalstate)(r),Module._pg_reg_getnumoutarcs=(r,e)=>(Module._pg_reg_getnumoutarcs=wasmExports.pg_reg_getnumoutarcs)(r,e),Module._pg_reg_getoutarcs=(r,e,M,tr)=>(Module._pg_reg_getoutarcs=wasmExports.pg_reg_getoutarcs)(r,e,M,tr),Module._pg_reg_getnumcolors=r=>(Module._pg_reg_getnumcolors=wasmExports.pg_reg_getnumcolors)(r),Module._pg_reg_colorisbegin=(r,e)=>(Module._pg_reg_colorisbegin=wasmExports.pg_reg_colorisbegin)(r,e),Module._pg_reg_colorisend=(r,e)=>(Module._pg_reg_colorisend=wasmExports.pg_reg_colorisend)(r,e),Module._pg_reg_getnumcharacters=(r,e)=>(Module._pg_reg_getnumcharacters=wasmExports.pg_reg_getnumcharacters)(r,e),Module._pg_reg_getcharacters=(r,e,M,tr)=>(Module._pg_reg_getcharacters=wasmExports.pg_reg_getcharacters)(r,e,M,tr),Module._OutputPluginPrepareWrite=(r,e)=>(Module._OutputPluginPrepareWrite=wasmExports.OutputPluginPrepareWrite)(r,e),Module._OutputPluginWrite=(r,e)=>(Module._OutputPluginWrite=wasmExports.OutputPluginWrite)(r,e),Module._array_contains_nulls=r=>(Module._array_contains_nulls=wasmExports.array_contains_nulls)(r),Module._hash_seq_term=r=>(Module._hash_seq_term=wasmExports.hash_seq_term)(r),Module._FreeErrorData=r=>(Module._FreeErrorData=wasmExports.FreeErrorData)(r),Module._RelidByRelfilenumber=(r,e)=>(Module._RelidByRelfilenumber=wasmExports.RelidByRelfilenumber)(r,e),Module._WaitLatchOrSocket=(r,e,M,tr,rr)=>(Module._WaitLatchOrSocket=wasmExports.WaitLatchOrSocket)(r,e,M,tr,rr),Module._get_row_security_policies=(r,e,M,tr,rr,ir,lr)=>(Module._get_row_security_policies=wasmExports.get_row_security_policies)(r,e,M,tr,rr,ir,lr),Module._hash_estimate_size=(r,e)=>(Module._hash_estimate_size=wasmExports.hash_estimate_size)(r,e),Module._ShmemInitHash=(r,e,M,tr,rr)=>(Module._ShmemInitHash=wasmExports.ShmemInitHash)(r,e,M,tr,rr),Module._LockBufHdr=r=>(Module._LockBufHdr=wasmExports.LockBufHdr)(r),Module._EvictUnpinnedBuffer=r=>(Module._EvictUnpinnedBuffer=wasmExports.EvictUnpinnedBuffer)(r),Module._have_free_buffer=()=>(Module._have_free_buffer=wasmExports.have_free_buffer)(),Module._copy_file=(r,e)=>(Module._copy_file=wasmExports.copy_file)(r,e),Module._AcquireExternalFD=()=>(Module._AcquireExternalFD=wasmExports.AcquireExternalFD)(),Module._GetNamedDSMSegment=(r,e,M,tr)=>(Module._GetNamedDSMSegment=wasmExports.GetNamedDSMSegment)(r,e,M,tr),Module._RequestAddinShmemSpace=r=>(Module._RequestAddinShmemSpace=wasmExports.RequestAddinShmemSpace)(r),Module._GetRunningTransactionData=()=>(Module._GetRunningTransactionData=wasmExports.GetRunningTransactionData)(),Module._BackendXidGetPid=r=>(Module._BackendXidGetPid=wasmExports.BackendXidGetPid)(r),Module._LWLockRegisterTranche=(r,e)=>(Module._LWLockRegisterTranche=wasmExports.LWLockRegisterTranche)(r,e),Module._GetNamedLWLockTranche=r=>(Module._GetNamedLWLockTranche=wasmExports.GetNamedLWLockTranche)(r),Module._LWLockNewTrancheId=()=>(Module._LWLockNewTrancheId=wasmExports.LWLockNewTrancheId)(),Module._RequestNamedLWLockTranche=(r,e)=>(Module._RequestNamedLWLockTranche=wasmExports.RequestNamedLWLockTranche)(r,e),Module._standard_ProcessUtility=(r,e,M,tr,rr,ir,lr,dr)=>(Module._standard_ProcessUtility=wasmExports.standard_ProcessUtility)(r,e,M,tr,rr,ir,lr,dr),Module._lookup_ts_dictionary_cache=r=>(Module._lookup_ts_dictionary_cache=wasmExports.lookup_ts_dictionary_cache)(r),Module._get_tsearch_config_filename=(r,e)=>(Module._get_tsearch_config_filename=wasmExports.get_tsearch_config_filename)(r,e),Module._lowerstr=r=>(Module._lowerstr=wasmExports.lowerstr)(r),Module._readstoplist=(r,e,M)=>(Module._readstoplist=wasmExports.readstoplist)(r,e,M),Module._lowerstr_with_len=(r,e)=>(Module._lowerstr_with_len=wasmExports.lowerstr_with_len)(r,e),Module._searchstoplist=(r,e)=>(Module._searchstoplist=wasmExports.searchstoplist)(r,e),Module._tsearch_readline_begin=(r,e)=>(Module._tsearch_readline_begin=wasmExports.tsearch_readline_begin)(r,e),Module._tsearch_readline=r=>(Module._tsearch_readline=wasmExports.tsearch_readline)(r),Module._t_isspace=r=>(Module._t_isspace=wasmExports.t_isspace)(r),Module._tsearch_readline_end=r=>(Module._tsearch_readline_end=wasmExports.tsearch_readline_end)(r),Module._stringToQualifiedNameList=(r,e)=>(Module._stringToQualifiedNameList=wasmExports.stringToQualifiedNameList)(r,e),Module._t_isdigit=r=>(Module._t_isdigit=wasmExports.t_isdigit)(r),Module._t_isalnum=r=>(Module._t_isalnum=wasmExports.t_isalnum)(r),Module._get_restriction_variable=(r,e,M,tr,rr,ir)=>(Module._get_restriction_variable=wasmExports.get_restriction_variable)(r,e,M,tr,rr,ir),Module._MemoryContextAllocHuge=(r,e)=>(Module._MemoryContextAllocHuge=wasmExports.MemoryContextAllocHuge)(r,e),Module._WaitEventExtensionNew=r=>(Module._WaitEventExtensionNew=wasmExports.WaitEventExtensionNew)(r),Module._expand_array=(r,e,M)=>(Module._expand_array=wasmExports.expand_array)(r,e,M),Module._arraycontsel=r=>(Module._arraycontsel=wasmExports.arraycontsel)(r),Module._arraycontjoinsel=r=>(Module._arraycontjoinsel=wasmExports.arraycontjoinsel)(r),Module._initArrayResult=(r,e,M)=>(Module._initArrayResult=wasmExports.initArrayResult)(r,e,M),Module._array_create_iterator=(r,e,M)=>(Module._array_create_iterator=wasmExports.array_create_iterator)(r,e,M),Module._array_iterate=(r,e,M)=>(Module._array_iterate=wasmExports.array_iterate)(r,e,M),Module._ArrayGetIntegerTypmods=(r,e)=>(Module._ArrayGetIntegerTypmods=wasmExports.ArrayGetIntegerTypmods)(r,e),Module._boolin=r=>(Module._boolin=wasmExports.boolin)(r),Module._cash_cmp=r=>(Module._cash_cmp=wasmExports.cash_cmp)(r),Module._int64_to_numeric=r=>(Module._int64_to_numeric=wasmExports.int64_to_numeric)(r),Module._numeric_div=r=>(Module._numeric_div=wasmExports.numeric_div)(r),Module._date_eq=r=>(Module._date_eq=wasmExports.date_eq)(r),Module._date_lt=r=>(Module._date_lt=wasmExports.date_lt)(r),Module._date_le=r=>(Module._date_le=wasmExports.date_le)(r),Module._date_gt=r=>(Module._date_gt=wasmExports.date_gt)(r),Module._date_ge=r=>(Module._date_ge=wasmExports.date_ge)(r),Module._date_cmp=r=>(Module._date_cmp=wasmExports.date_cmp)(r),Module._date_mi=r=>(Module._date_mi=wasmExports.date_mi)(r),Module._time_eq=r=>(Module._time_eq=wasmExports.time_eq)(r),Module._time_lt=r=>(Module._time_lt=wasmExports.time_lt)(r),Module._time_le=r=>(Module._time_le=wasmExports.time_le)(r),Module._time_gt=r=>(Module._time_gt=wasmExports.time_gt)(r),Module._time_ge=r=>(Module._time_ge=wasmExports.time_ge)(r),Module._time_cmp=r=>(Module._time_cmp=wasmExports.time_cmp)(r),Module._time_mi_time=r=>(Module._time_mi_time=wasmExports.time_mi_time)(r),Module._timetz_cmp=r=>(Module._timetz_cmp=wasmExports.timetz_cmp)(r),Module._TransferExpandedObject=(r,e)=>(Module._TransferExpandedObject=wasmExports.TransferExpandedObject)(r,e),Module._numeric_lt=r=>(Module._numeric_lt=wasmExports.numeric_lt)(r),Module._numeric_ge=r=>(Module._numeric_ge=wasmExports.numeric_ge)(r),Module._err_generic_string=(r,e)=>(Module._err_generic_string=wasmExports.err_generic_string)(r,e),Module._domain_check=(r,e,M,tr,rr)=>(Module._domain_check=wasmExports.domain_check)(r,e,M,tr,rr),Module._enum_lt=r=>(Module._enum_lt=wasmExports.enum_lt)(r),Module._enum_le=r=>(Module._enum_le=wasmExports.enum_le)(r),Module._enum_ge=r=>(Module._enum_ge=wasmExports.enum_ge)(r),Module._enum_gt=r=>(Module._enum_gt=wasmExports.enum_gt)(r),Module._enum_cmp=r=>(Module._enum_cmp=wasmExports.enum_cmp)(r),Module._make_expanded_record_from_typeid=(r,e,M)=>(Module._make_expanded_record_from_typeid=wasmExports.make_expanded_record_from_typeid)(r,e,M),Module._make_expanded_record_from_tupdesc=(r,e)=>(Module._make_expanded_record_from_tupdesc=wasmExports.make_expanded_record_from_tupdesc)(r,e),Module._make_expanded_record_from_exprecord=(r,e)=>(Module._make_expanded_record_from_exprecord=wasmExports.make_expanded_record_from_exprecord)(r,e),Module._expanded_record_set_tuple=(r,e,M,tr)=>(Module._expanded_record_set_tuple=wasmExports.expanded_record_set_tuple)(r,e,M,tr),Module._expanded_record_get_tuple=r=>(Module._expanded_record_get_tuple=wasmExports.expanded_record_get_tuple)(r),Module._deconstruct_expanded_record=r=>(Module._deconstruct_expanded_record=wasmExports.deconstruct_expanded_record)(r),Module._expanded_record_lookup_field=(r,e,M)=>(Module._expanded_record_lookup_field=wasmExports.expanded_record_lookup_field)(r,e,M),Module._expanded_record_set_field_internal=(r,e,M,tr,rr,ir)=>(Module._expanded_record_set_field_internal=wasmExports.expanded_record_set_field_internal)(r,e,M,tr,rr,ir),Module._expanded_record_set_fields=(r,e,M,tr)=>(Module._expanded_record_set_fields=wasmExports.expanded_record_set_fields)(r,e,M,tr),Module._float4in_internal=(r,e,M,tr,rr)=>(Module._float4in_internal=wasmExports.float4in_internal)(r,e,M,tr,rr),Module._strtof=(r,e)=>(Module._strtof=wasmExports.strtof)(r,e),Module._float8in_internal=(r,e,M,tr,rr)=>(Module._float8in_internal=wasmExports.float8in_internal)(r,e,M,tr,rr),Module._float8out_internal=r=>(Module._float8out_internal=wasmExports.float8out_internal)(r),Module._btfloat4cmp=r=>(Module._btfloat4cmp=wasmExports.btfloat4cmp)(r),Module._btfloat8cmp=r=>(Module._btfloat8cmp=wasmExports.btfloat8cmp)(r),Module._acos=r=>(Module._acos=wasmExports.acos)(r),Module._asin=r=>(Module._asin=wasmExports.asin)(r),Module._cos=r=>(Module._cos=wasmExports.cos)(r),Module._str_tolower=(r,e,M)=>(Module._str_tolower=wasmExports.str_tolower)(r,e,M),Module._pushJsonbValue=(r,e,M)=>(Module._pushJsonbValue=wasmExports.pushJsonbValue)(r,e,M),Module._numeric_float4=r=>(Module._numeric_float4=wasmExports.numeric_float4)(r),Module._numeric_cmp=r=>(Module._numeric_cmp=wasmExports.numeric_cmp)(r),Module._numeric_eq=r=>(Module._numeric_eq=wasmExports.numeric_eq)(r),Module._numeric_is_nan=r=>(Module._numeric_is_nan=wasmExports.numeric_is_nan)(r),Module._timestamp_cmp=r=>(Module._timestamp_cmp=wasmExports.timestamp_cmp)(r),Module._macaddr_cmp=r=>(Module._macaddr_cmp=wasmExports.macaddr_cmp)(r),Module._macaddr_lt=r=>(Module._macaddr_lt=wasmExports.macaddr_lt)(r),Module._macaddr_le=r=>(Module._macaddr_le=wasmExports.macaddr_le)(r),Module._macaddr_eq=r=>(Module._macaddr_eq=wasmExports.macaddr_eq)(r),Module._macaddr_ge=r=>(Module._macaddr_ge=wasmExports.macaddr_ge)(r),Module._macaddr_gt=r=>(Module._macaddr_gt=wasmExports.macaddr_gt)(r),Module._macaddr8_cmp=r=>(Module._macaddr8_cmp=wasmExports.macaddr8_cmp)(r),Module._macaddr8_lt=r=>(Module._macaddr8_lt=wasmExports.macaddr8_lt)(r),Module._macaddr8_le=r=>(Module._macaddr8_le=wasmExports.macaddr8_le)(r),Module._macaddr8_eq=r=>(Module._macaddr8_eq=wasmExports.macaddr8_eq)(r),Module._macaddr8_ge=r=>(Module._macaddr8_ge=wasmExports.macaddr8_ge)(r),Module._macaddr8_gt=r=>(Module._macaddr8_gt=wasmExports.macaddr8_gt)(r),Module._current_query=r=>(Module._current_query=wasmExports.current_query)(r),Module._unpack_sql_state=r=>(Module._unpack_sql_state=wasmExports.unpack_sql_state)(r),Module._get_fn_expr_rettype=r=>(Module._get_fn_expr_rettype=wasmExports.get_fn_expr_rettype)(r),Module._btnamecmp=r=>(Module._btnamecmp=wasmExports.btnamecmp)(r),Module._inet_in=r=>(Module._inet_in=wasmExports.inet_in)(r),Module._network_cmp=r=>(Module._network_cmp=wasmExports.network_cmp)(r),Module._convert_network_to_scalar=(r,e,M)=>(Module._convert_network_to_scalar=wasmExports.convert_network_to_scalar)(r,e,M),Module._numeric_gt=r=>(Module._numeric_gt=wasmExports.numeric_gt)(r),Module._numeric_le=r=>(Module._numeric_le=wasmExports.numeric_le)(r),Module._numeric_float8_no_overflow=r=>(Module._numeric_float8_no_overflow=wasmExports.numeric_float8_no_overflow)(r),Module._oidout=r=>(Module._oidout=wasmExports.oidout)(r),Module._interval_mi=r=>(Module._interval_mi=wasmExports.interval_mi)(r),Module._quote_ident=r=>(Module._quote_ident=wasmExports.quote_ident)(r),Module._pg_wchar2mb_with_len=(r,e,M)=>(Module._pg_wchar2mb_with_len=wasmExports.pg_wchar2mb_with_len)(r,e,M),Module._pg_get_indexdef_columns_extended=(r,e)=>(Module._pg_get_indexdef_columns_extended=wasmExports.pg_get_indexdef_columns_extended)(r,e),Module._pg_get_querydef=(r,e)=>(Module._pg_get_querydef=wasmExports.pg_get_querydef)(r,e),Module._strcspn=(r,e)=>(Module._strcspn=wasmExports.strcspn)(r,e),Module._generic_restriction_selectivity=(r,e,M,tr,rr,ir)=>(Module._generic_restriction_selectivity=wasmExports.generic_restriction_selectivity)(r,e,M,tr,rr,ir),Module._genericcostestimate=(r,e,M,tr)=>(Module._genericcostestimate=wasmExports.genericcostestimate)(r,e,M,tr),Module._tidin=r=>(Module._tidin=wasmExports.tidin)(r),Module._tidout=r=>(Module._tidout=wasmExports.tidout)(r),Module._timestamp_in=r=>(Module._timestamp_in=wasmExports.timestamp_in)(r),Module._timestamp_eq=r=>(Module._timestamp_eq=wasmExports.timestamp_eq)(r),Module._timestamp_lt=r=>(Module._timestamp_lt=wasmExports.timestamp_lt)(r),Module._timestamp_gt=r=>(Module._timestamp_gt=wasmExports.timestamp_gt)(r),Module._timestamp_le=r=>(Module._timestamp_le=wasmExports.timestamp_le)(r),Module._timestamp_ge=r=>(Module._timestamp_ge=wasmExports.timestamp_ge)(r),Module._interval_eq=r=>(Module._interval_eq=wasmExports.interval_eq)(r),Module._interval_lt=r=>(Module._interval_lt=wasmExports.interval_lt)(r),Module._interval_gt=r=>(Module._interval_gt=wasmExports.interval_gt)(r),Module._interval_le=r=>(Module._interval_le=wasmExports.interval_le)(r),Module._interval_ge=r=>(Module._interval_ge=wasmExports.interval_ge)(r),Module._interval_cmp=r=>(Module._interval_cmp=wasmExports.interval_cmp)(r),Module._timestamp_mi=r=>(Module._timestamp_mi=wasmExports.timestamp_mi)(r),Module._interval_um=r=>(Module._interval_um=wasmExports.interval_um)(r),Module._has_fn_opclass_options=r=>(Module._has_fn_opclass_options=wasmExports.has_fn_opclass_options)(r),Module._uuid_in=r=>(Module._uuid_in=wasmExports.uuid_in)(r),Module._uuid_out=r=>(Module._uuid_out=wasmExports.uuid_out)(r),Module._uuid_cmp=r=>(Module._uuid_cmp=wasmExports.uuid_cmp)(r),Module._gen_random_uuid=r=>(Module._gen_random_uuid=wasmExports.gen_random_uuid)(r),Module._varbit_in=r=>(Module._varbit_in=wasmExports.varbit_in)(r),Module._biteq=r=>(Module._biteq=wasmExports.biteq)(r),Module._bitlt=r=>(Module._bitlt=wasmExports.bitlt)(r),Module._bitle=r=>(Module._bitle=wasmExports.bitle)(r),Module._bitgt=r=>(Module._bitgt=wasmExports.bitgt)(r),Module._bitge=r=>(Module._bitge=wasmExports.bitge)(r),Module._bitcmp=r=>(Module._bitcmp=wasmExports.bitcmp)(r),Module._bpchareq=r=>(Module._bpchareq=wasmExports.bpchareq)(r),Module._bpcharlt=r=>(Module._bpcharlt=wasmExports.bpcharlt)(r),Module._bpcharle=r=>(Module._bpcharle=wasmExports.bpcharle)(r),Module._bpchargt=r=>(Module._bpchargt=wasmExports.bpchargt)(r),Module._bpcharge=r=>(Module._bpcharge=wasmExports.bpcharge)(r),Module._bpcharcmp=r=>(Module._bpcharcmp=wasmExports.bpcharcmp)(r),Module._texteq=r=>(Module._texteq=wasmExports.texteq)(r),Module._text_lt=r=>(Module._text_lt=wasmExports.text_lt)(r),Module._text_le=r=>(Module._text_le=wasmExports.text_le)(r),Module._text_gt=r=>(Module._text_gt=wasmExports.text_gt)(r),Module._text_ge=r=>(Module._text_ge=wasmExports.text_ge)(r),Module._bttextcmp=r=>(Module._bttextcmp=wasmExports.bttextcmp)(r),Module._byteaeq=r=>(Module._byteaeq=wasmExports.byteaeq)(r),Module._bytealt=r=>(Module._bytealt=wasmExports.bytealt)(r),Module._byteale=r=>(Module._byteale=wasmExports.byteale)(r),Module._byteagt=r=>(Module._byteagt=wasmExports.byteagt)(r),Module._byteage=r=>(Module._byteage=wasmExports.byteage)(r),Module._byteacmp=r=>(Module._byteacmp=wasmExports.byteacmp)(r),Module._to_hex32=r=>(Module._to_hex32=wasmExports.to_hex32)(r),Module._varstr_levenshtein=(r,e,M,tr,rr,ir,lr,dr)=>(Module._varstr_levenshtein=wasmExports.varstr_levenshtein)(r,e,M,tr,rr,ir,lr,dr),Module._pg_xml_init=r=>(Module._pg_xml_init=wasmExports.pg_xml_init)(r),Module._xmlInitParser=()=>(Module._xmlInitParser=wasmExports.xmlInitParser)(),Module._xml_ereport=(r,e,M,tr)=>(Module._xml_ereport=wasmExports.xml_ereport)(r,e,M,tr),Module._pg_xml_done=(r,e)=>(Module._pg_xml_done=wasmExports.pg_xml_done)(r,e),Module._xmlXPathNewContext=r=>(Module._xmlXPathNewContext=wasmExports.xmlXPathNewContext)(r),Module._xmlXPathFreeContext=r=>(Module._xmlXPathFreeContext=wasmExports.xmlXPathFreeContext)(r),Module._xmlFreeDoc=r=>(Module._xmlFreeDoc=wasmExports.xmlFreeDoc)(r),Module._xmlXPathCtxtCompile=(r,e)=>(Module._xmlXPathCtxtCompile=wasmExports.xmlXPathCtxtCompile)(r,e),Module._xmlXPathCompiledEval=(r,e)=>(Module._xmlXPathCompiledEval=wasmExports.xmlXPathCompiledEval)(r,e),Module._xmlXPathFreeObject=r=>(Module._xmlXPathFreeObject=wasmExports.xmlXPathFreeObject)(r),Module._xmlXPathFreeCompExpr=r=>(Module._xmlXPathFreeCompExpr=wasmExports.xmlXPathFreeCompExpr)(r),Module._pg_do_encoding_conversion=(r,e,M,tr)=>(Module._pg_do_encoding_conversion=wasmExports.pg_do_encoding_conversion)(r,e,M,tr),Module._xmlStrdup=r=>(Module._xmlStrdup=wasmExports.xmlStrdup)(r),Module._xmlEncodeSpecialChars=(r,e)=>(Module._xmlEncodeSpecialChars=wasmExports.xmlEncodeSpecialChars)(r,e),Module._xmlStrlen=r=>(Module._xmlStrlen=wasmExports.xmlStrlen)(r),Module._xmlBufferCreate=()=>(Module._xmlBufferCreate=wasmExports.xmlBufferCreate)(),Module._xmlBufferFree=r=>(Module._xmlBufferFree=wasmExports.xmlBufferFree)(r),Module._xmlXPathCastNodeToString=r=>(Module._xmlXPathCastNodeToString=wasmExports.xmlXPathCastNodeToString)(r),Module._xmlNodeDump=(r,e,M,tr,rr)=>(Module._xmlNodeDump=wasmExports.xmlNodeDump)(r,e,M,tr,rr),Module._get_typsubscript=(r,e)=>(Module._get_typsubscript=wasmExports.get_typsubscript)(r,e),Module._CachedPlanAllowsSimpleValidityCheck=(r,e,M)=>(Module._CachedPlanAllowsSimpleValidityCheck=wasmExports.CachedPlanAllowsSimpleValidityCheck)(r,e,M),Module._CachedPlanIsSimplyValid=(r,e,M)=>(Module._CachedPlanIsSimplyValid=wasmExports.CachedPlanIsSimplyValid)(r,e,M),Module._GetCachedExpression=r=>(Module._GetCachedExpression=wasmExports.GetCachedExpression)(r),Module._FreeCachedExpression=r=>(Module._FreeCachedExpression=wasmExports.FreeCachedExpression)(r),Module._ReleaseAllPlanCacheRefsInOwner=r=>(Module._ReleaseAllPlanCacheRefsInOwner=wasmExports.ReleaseAllPlanCacheRefsInOwner)(r),Module._in_error_recursion_trouble=()=>(Module._in_error_recursion_trouble=wasmExports.in_error_recursion_trouble)(),Module._GetErrorContextStack=()=>(Module._GetErrorContextStack=wasmExports.GetErrorContextStack)(),Module._find_rendezvous_variable=r=>(Module._find_rendezvous_variable=wasmExports.find_rendezvous_variable)(r),Module._CallerFInfoFunctionCall2=(r,e,M,tr,rr)=>(Module._CallerFInfoFunctionCall2=wasmExports.CallerFInfoFunctionCall2)(r,e,M,tr,rr),Module._FunctionCall0Coll=(r,e)=>(Module._FunctionCall0Coll=wasmExports.FunctionCall0Coll)(r,e),Module._resolve_polymorphic_argtypes=(r,e,M,tr)=>(Module._resolve_polymorphic_argtypes=wasmExports.resolve_polymorphic_argtypes)(r,e,M,tr),Module._pg_bindtextdomain=r=>(Module._pg_bindtextdomain=wasmExports.pg_bindtextdomain)(r),Module._DefineCustomBoolVariable=(r,e,M,tr,rr,ir,lr,dr,mr,hr)=>(Module._DefineCustomBoolVariable=wasmExports.DefineCustomBoolVariable)(r,e,M,tr,rr,ir,lr,dr,mr,hr),Module._DefineCustomIntVariable=(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r)=>(Module._DefineCustomIntVariable=wasmExports.DefineCustomIntVariable)(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r),Module._DefineCustomRealVariable=(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r)=>(Module._DefineCustomRealVariable=wasmExports.DefineCustomRealVariable)(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r),Module._DefineCustomStringVariable=(r,e,M,tr,rr,ir,lr,dr,mr,hr)=>(Module._DefineCustomStringVariable=wasmExports.DefineCustomStringVariable)(r,e,M,tr,rr,ir,lr,dr,mr,hr),Module._DefineCustomEnumVariable=(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr)=>(Module._DefineCustomEnumVariable=wasmExports.DefineCustomEnumVariable)(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr),Module._MarkGUCPrefixReserved=r=>(Module._MarkGUCPrefixReserved=wasmExports.MarkGUCPrefixReserved)(r),Module._sampler_random_init_state=(r,e)=>(Module._sampler_random_init_state=wasmExports.sampler_random_init_state)(r,e),Module._pchomp=r=>(Module._pchomp=wasmExports.pchomp)(r),Module._PinPortal=r=>(Module._PinPortal=wasmExports.PinPortal)(r),Module._UnpinPortal=r=>(Module._UnpinPortal=wasmExports.UnpinPortal)(r),Module._xmlBufferWriteCHAR=(r,e)=>(Module._xmlBufferWriteCHAR=wasmExports.xmlBufferWriteCHAR)(r,e),Module._xmlBufferWriteChar=(r,e)=>(Module._xmlBufferWriteChar=wasmExports.xmlBufferWriteChar)(r,e),Module._xmlReadMemory=(r,e,M,tr,rr)=>(Module._xmlReadMemory=wasmExports.xmlReadMemory)(r,e,M,tr,rr),Module._xmlDocGetRootElement=r=>(Module._xmlDocGetRootElement=wasmExports.xmlDocGetRootElement)(r),Module._xmlXPathIsNaN=r=>(Module._xmlXPathIsNaN=wasmExports.xmlXPathIsNaN)(r),Module._xmlXPathCastToBoolean=r=>(Module._xmlXPathCastToBoolean=wasmExports.xmlXPathCastToBoolean)(r),Module._xmlXPathCastToNumber=r=>(Module._xmlXPathCastToNumber=wasmExports.xmlXPathCastToNumber)(r);var ___dl_seterr=(r,e)=>(___dl_seterr=wasmExports.__dl_seterr)(r,e);Module._getgid=()=>(Module._getgid=wasmExports.getgid)(),Module._getuid=()=>(Module._getuid=wasmExports.getuid)(),Module._gmtime=r=>(Module._gmtime=wasmExports.gmtime)(r);var _htonl=r=>(_htonl=wasmExports.htonl)(r),_htons=r=>(_htons=wasmExports.htons)(r);Module._ioctl=(r,e,M)=>(Module._ioctl=wasmExports.ioctl)(r,e,M);var _emscripten_builtin_memalign=(r,e)=>(_emscripten_builtin_memalign=wasmExports.emscripten_builtin_memalign)(r,e),_ntohs=r=>(_ntohs=wasmExports.ntohs)(r);Module._perror=r=>(Module._perror=wasmExports.perror)(r),Module._qsort=(r,e,M,tr)=>(Module._qsort=wasmExports.qsort)(r,e,M,tr),Module._srand=r=>(Module._srand=wasmExports.srand)(r),Module._rand=()=>(Module._rand=wasmExports.rand)();var __emscripten_timeout=(r,e)=>(__emscripten_timeout=wasmExports._emscripten_timeout)(r,e);Module._strerror_r=(r,e,M)=>(Module._strerror_r=wasmExports.strerror_r)(r,e,M),Module._strncat=(r,e,M)=>(Module._strncat=wasmExports.strncat)(r,e,M);var _setThrew=(r,e)=>(_setThrew=wasmExports.setThrew)(r,e),__emscripten_tempret_set=r=>(__emscripten_tempret_set=wasmExports._emscripten_tempret_set)(r),__emscripten_tempret_get=()=>(__emscripten_tempret_get=wasmExports._emscripten_tempret_get)(),__emscripten_stack_restore=r=>(__emscripten_stack_restore=wasmExports._emscripten_stack_restore)(r),__emscripten_stack_alloc=r=>(__emscripten_stack_alloc=wasmExports._emscripten_stack_alloc)(r),_emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports.emscripten_stack_get_current)();Module._stderr=2536848,Module._InterruptPending=2677872,Module._MyLatch=2678060,Module._CritSectionCount=2677924,Module._MyProc=2647676,Module._pg_global_prng_state=2624256,Module._error_context_stack=2676168,Module._GUC_check_errdetail_string=2681820,Module._IsUnderPostmaster=2677953,Module._CurrentMemoryContext=2683248,Module._stdout=2537152,Module._debug_query_string=2538700,Module._MyProcPort=2678048,Module.___THREW__=2698916,Module.___threwValue=2698920,Module._MyDatabaseId=2677932,Module._TopMemoryContext=2683252,Module._PG_exception_stack=2676172,Module._MyProcPid=2678024,Module._stdin=2537e3,Module._ScanKeywords=2374040,Module._pg_number_of_ones=925120,Module._LocalBufferBlockPointers=2644252,Module._BufferBlocks=2638988,Module._wal_level=2387920,Module._SnapshotAnyData=2474096,Module._maintenance_work_mem=2421576,Module._ParallelWorkerNumber=2379480,Module._MainLWLockArray=2645860,Module._CurrentResourceOwner=2683296,Module._work_mem=2421560,Module._NBuffers=2421584,Module._bsysscan=2625492,Module._CheckXidAlive=2625488,Module._RecentXmin=2474188,Module._XactIsoLevel=2387784,Module._pgWalUsage=2628960,Module._pgBufferUsage=2628832,Module._TTSOpsVirtual=2391608,Module._TransamVariables=2625480,Module._TopTransactionContext=2683272,Module._RmgrTable=2379504,Module._process_shared_preload_libraries_in_progress=2681216,Module._wal_segment_size=2387940,Module._TopTransactionResourceOwner=2683304,Module._arch_module_check_errdetail_string=2638372,Module._object_access_hook=2627600,Module._InvalidObjectAddress=1520620,Module._check_function_bodies=2421750,Module._post_parse_analyze_hook=2627640,Module._ScanKeywordTokens=1551648,Module._SPI_processed=2628984,Module._SPI_tuptable=2628992,Module._TTSOpsMinimalTuple=2391712,Module._check_password_hook=2627908,Module._ConfigReloadPending=2638360,Module._max_parallel_maintenance_workers=2421580,Module._DateStyle=2421548,Module._ExecutorStart_hook=2628808,Module._ExecutorRun_hook=2628812,Module._ExecutorFinish_hook=2628816,Module._ExecutorEnd_hook=2628820,Module._SPI_result=2628996,Module._ClientAuthentication_hook=2629168,Module._cpu_tuple_cost=2392168,Module._cpu_operator_cost=2392184,Module._seq_page_cost=2392152,Module._planner_hook=2638056,Module._ShutdownRequestPending=2638364,Module._MyStartTime=2678032,Module._cluster_name=2421800,Module._application_name=2682044,Module._BufferDescriptors=2638984,Module._shmem_startup_hook=2644932,Module._ProcessUtility_hook=2647764,Module._IntervalStyle=2677956,Module._extra_float_digits=2411976,Module._pg_crc32_table=2112288,Module._xmlFree=2523400,Module._shmem_request_hook=2681220;function invoke_iii(r,e,M){var tr=stackSave();try{return getWasmTableEntry(r)(e,M)}catch(rr){if(stackRestore(tr),rr!==rr+0)throw rr;_setThrew(1,0)}}function invoke_viiii(r,e,M,tr,rr){var ir=stackSave();try{getWasmTableEntry(r)(e,M,tr,rr)}catch(lr){if(stackRestore(ir),lr!==lr+0)throw lr;_setThrew(1,0)}}function invoke_vi(r,e){var M=stackSave();try{getWasmTableEntry(r)(e)}catch(tr){if(stackRestore(M),tr!==tr+0)throw tr;_setThrew(1,0)}}function invoke_v(r){var e=stackSave();try{getWasmTableEntry(r)()}catch(M){if(stackRestore(e),M!==M+0)throw M;_setThrew(1,0)}}function invoke_j(r){var e=stackSave();try{return getWasmTableEntry(r)()}catch(M){if(stackRestore(e),M!==M+0)throw M;return _setThrew(1,0),0n}}function invoke_viiiiii(r,e,M,tr,rr,ir,lr){var dr=stackSave();try{getWasmTableEntry(r)(e,M,tr,rr,ir,lr)}catch(mr){if(stackRestore(dr),mr!==mr+0)throw mr;_setThrew(1,0)}}function invoke_vii(r,e,M){var tr=stackSave();try{getWasmTableEntry(r)(e,M)}catch(rr){if(stackRestore(tr),rr!==rr+0)throw rr;_setThrew(1,0)}}function invoke_iiiiii(r,e,M,tr,rr,ir){var lr=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr,ir)}catch(dr){if(stackRestore(lr),dr!==dr+0)throw dr;_setThrew(1,0)}}function invoke_i(r){var e=stackSave();try{return getWasmTableEntry(r)()}catch(M){if(stackRestore(e),M!==M+0)throw M;_setThrew(1,0)}}function invoke_ii(r,e){var M=stackSave();try{return getWasmTableEntry(r)(e)}catch(tr){if(stackRestore(M),tr!==tr+0)throw tr;_setThrew(1,0)}}function invoke_viii(r,e,M,tr){var rr=stackSave();try{getWasmTableEntry(r)(e,M,tr)}catch(ir){if(stackRestore(rr),ir!==ir+0)throw ir;_setThrew(1,0)}}function invoke_vji(r,e,M){var tr=stackSave();try{getWasmTableEntry(r)(e,M)}catch(rr){if(stackRestore(tr),rr!==rr+0)throw rr;_setThrew(1,0)}}function invoke_iiii(r,e,M,tr){var rr=stackSave();try{return getWasmTableEntry(r)(e,M,tr)}catch(ir){if(stackRestore(rr),ir!==ir+0)throw ir;_setThrew(1,0)}}function invoke_iiiiiiii(r,e,M,tr,rr,ir,lr,dr){var mr=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr,ir,lr,dr)}catch(hr){if(stackRestore(mr),hr!==hr+0)throw hr;_setThrew(1,0)}}function invoke_iiiii(r,e,M,tr,rr){var ir=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr)}catch(lr){if(stackRestore(ir),lr!==lr+0)throw lr;_setThrew(1,0)}}function invoke_viiiiiiiii(r,e,M,tr,rr,ir,lr,dr,mr,hr){var fr=stackSave();try{getWasmTableEntry(r)(e,M,tr,rr,ir,lr,dr,mr,hr)}catch(_r){if(stackRestore(fr),_r!==_r+0)throw _r;_setThrew(1,0)}}function invoke_viiiii(r,e,M,tr,rr,ir){var lr=stackSave();try{getWasmTableEntry(r)(e,M,tr,rr,ir)}catch(dr){if(stackRestore(lr),dr!==dr+0)throw dr;_setThrew(1,0)}}function invoke_jii(r,e,M){var tr=stackSave();try{return getWasmTableEntry(r)(e,M)}catch(rr){if(stackRestore(tr),rr!==rr+0)throw rr;return _setThrew(1,0),0n}}function invoke_ji(r,e){var M=stackSave();try{return getWasmTableEntry(r)(e)}catch(tr){if(stackRestore(M),tr!==tr+0)throw tr;return _setThrew(1,0),0n}}function invoke_jiiiiiiiii(r,e,M,tr,rr,ir,lr,dr,mr,hr){var fr=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr,ir,lr,dr,mr,hr)}catch(_r){if(stackRestore(fr),_r!==_r+0)throw _r;return _setThrew(1,0),0n}}function invoke_jiiiiii(r,e,M,tr,rr,ir,lr){var dr=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr,ir,lr)}catch(mr){if(stackRestore(dr),mr!==mr+0)throw mr;return _setThrew(1,0),0n}}function invoke_iiiiiiiiiiiiii(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r,gr,br){var wr=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r,gr,br)}catch(xr){if(stackRestore(wr),xr!==xr+0)throw xr;_setThrew(1,0)}}function invoke_iiiijii(r,e,M,tr,rr,ir,lr){var dr=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr,ir,lr)}catch(mr){if(stackRestore(dr),mr!==mr+0)throw mr;_setThrew(1,0)}}function invoke_vijiji(r,e,M,tr,rr,ir){var lr=stackSave();try{getWasmTableEntry(r)(e,M,tr,rr,ir)}catch(dr){if(stackRestore(lr),dr!==dr+0)throw dr;_setThrew(1,0)}}function invoke_viji(r,e,M,tr){var rr=stackSave();try{getWasmTableEntry(r)(e,M,tr)}catch(ir){if(stackRestore(rr),ir!==ir+0)throw ir;_setThrew(1,0)}}function invoke_iiji(r,e,M,tr){var rr=stackSave();try{return getWasmTableEntry(r)(e,M,tr)}catch(ir){if(stackRestore(rr),ir!==ir+0)throw ir;_setThrew(1,0)}}function invoke_iiiiiiiii(r,e,M,tr,rr,ir,lr,dr,mr){var hr=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr,ir,lr,dr,mr)}catch(fr){if(stackRestore(hr),fr!==fr+0)throw fr;_setThrew(1,0)}}function invoke_iiiiiiiiiiiiiiiiii(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r,gr,br,wr,xr,vr,Mr){var Sr=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r,gr,br,wr,xr,vr,Mr)}catch(yr){if(stackRestore(Sr),yr!==yr+0)throw yr;_setThrew(1,0)}}function invoke_iiiij(r,e,M,tr,rr){var ir=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr)}catch(lr){if(stackRestore(ir),lr!==lr+0)throw lr;_setThrew(1,0)}}function invoke_iiiiiii(r,e,M,tr,rr,ir,lr){var dr=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr,ir,lr)}catch(mr){if(stackRestore(dr),mr!==mr+0)throw mr;_setThrew(1,0)}}function invoke_vj(r,e){var M=stackSave();try{getWasmTableEntry(r)(e)}catch(tr){if(stackRestore(M),tr!==tr+0)throw tr;_setThrew(1,0)}}function invoke_iiiiiiiiii(r,e,M,tr,rr,ir,lr,dr,mr,hr){var fr=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr,ir,lr,dr,mr,hr)}catch(_r){if(stackRestore(fr),_r!==_r+0)throw _r;_setThrew(1,0)}}function invoke_viiji(r,e,M,tr,rr){var ir=stackSave();try{getWasmTableEntry(r)(e,M,tr,rr)}catch(lr){if(stackRestore(ir),lr!==lr+0)throw lr;_setThrew(1,0)}}function invoke_viiiiiiii(r,e,M,tr,rr,ir,lr,dr,mr){var hr=stackSave();try{getWasmTableEntry(r)(e,M,tr,rr,ir,lr,dr,mr)}catch(fr){if(stackRestore(hr),fr!==fr+0)throw fr;_setThrew(1,0)}}function invoke_vij(r,e,M){var tr=stackSave();try{getWasmTableEntry(r)(e,M)}catch(rr){if(stackRestore(tr),rr!==rr+0)throw rr;_setThrew(1,0)}}function invoke_ij(r,e){var M=stackSave();try{return getWasmTableEntry(r)(e)}catch(tr){if(stackRestore(M),tr!==tr+0)throw tr;_setThrew(1,0)}}function invoke_viiiiiii(r,e,M,tr,rr,ir,lr,dr){var mr=stackSave();try{getWasmTableEntry(r)(e,M,tr,rr,ir,lr,dr)}catch(hr){if(stackRestore(mr),hr!==hr+0)throw hr;_setThrew(1,0)}}function invoke_viiiji(r,e,M,tr,rr,ir){var lr=stackSave();try{getWasmTableEntry(r)(e,M,tr,rr,ir)}catch(dr){if(stackRestore(lr),dr!==dr+0)throw dr;_setThrew(1,0)}}function invoke_iiij(r,e,M,tr){var rr=stackSave();try{return getWasmTableEntry(r)(e,M,tr)}catch(ir){if(stackRestore(rr),ir!==ir+0)throw ir;_setThrew(1,0)}}function invoke_vid(r,e,M){var tr=stackSave();try{getWasmTableEntry(r)(e,M)}catch(rr){if(stackRestore(tr),rr!==rr+0)throw rr;_setThrew(1,0)}}function invoke_ijiiiiii(r,e,M,tr,rr,ir,lr,dr){var mr=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr,ir,lr,dr)}catch(hr){if(stackRestore(mr),hr!==hr+0)throw hr;_setThrew(1,0)}}function invoke_viijii(r,e,M,tr,rr,ir){var lr=stackSave();try{getWasmTableEntry(r)(e,M,tr,rr,ir)}catch(dr){if(stackRestore(lr),dr!==dr+0)throw dr;_setThrew(1,0)}}function invoke_iiiiiji(r,e,M,tr,rr,ir,lr){var dr=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr,ir,lr)}catch(mr){if(stackRestore(dr),mr!==mr+0)throw mr;_setThrew(1,0)}}function invoke_viijiiii(r,e,M,tr,rr,ir,lr,dr){var mr=stackSave();try{getWasmTableEntry(r)(e,M,tr,rr,ir,lr,dr)}catch(hr){if(stackRestore(mr),hr!==hr+0)throw hr;_setThrew(1,0)}}function invoke_viij(r,e,M,tr){var rr=stackSave();try{getWasmTableEntry(r)(e,M,tr)}catch(ir){if(stackRestore(rr),ir!==ir+0)throw ir;_setThrew(1,0)}}function invoke_jiiii(r,e,M,tr,rr){var ir=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr)}catch(lr){if(stackRestore(ir),lr!==lr+0)throw lr;return _setThrew(1,0),0n}}function invoke_viiiiiiiiiiii(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r,gr){var br=stackSave();try{getWasmTableEntry(r)(e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r,gr)}catch(wr){if(stackRestore(br),wr!==wr+0)throw wr;_setThrew(1,0)}}function invoke_di(r,e){var M=stackSave();try{return getWasmTableEntry(r)(e)}catch(tr){if(stackRestore(M),tr!==tr+0)throw tr;_setThrew(1,0)}}function invoke_id(r,e){var M=stackSave();try{return getWasmTableEntry(r)(e)}catch(tr){if(stackRestore(M),tr!==tr+0)throw tr;_setThrew(1,0)}}function invoke_ijiiiii(r,e,M,tr,rr,ir,lr){var dr=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr,ir,lr)}catch(mr){if(stackRestore(dr),mr!==mr+0)throw mr;_setThrew(1,0)}}function invoke_iiiiiiiiiii(r,e,M,tr,rr,ir,lr,dr,mr,hr,fr){var _r=stackSave();try{return getWasmTableEntry(r)(e,M,tr,rr,ir,lr,dr,mr,hr,fr)}catch(gr){if(stackRestore(_r),gr!==gr+0)throw gr;_setThrew(1,0)}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.wasmTable=wasmTable,Module.addFunction=addFunction,Module.removeFunction=removeFunction,Module.setValue=setValue,Module.getValue=getValue,Module.UTF8ToString=UTF8ToString,Module.stringToNewUTF8=stringToNewUTF8,Module.stringToUTF8OnStack=stringToUTF8OnStack,Module.FS_createPreloadedFile=FS_createPreloadedFile,Module.FS_unlink=FS_unlink,Module.FS_createPath=FS_createPath,Module.FS_createDevice=FS_createDevice,Module.FS=FS,Module.FS_createDataFile=FS_createDataFile,Module.FS_createLazyFile=FS_createLazyFile,Module.MEMFS=MEMFS,Module.IDBFS=IDBFS;var calledRun;dependenciesFulfilled=function r(){calledRun||run(),calledRun||(dependenciesFulfilled=r)};function callMain(r=[]){var e=resolveGlobalSymbol("main").sym;if(e){r.unshift(thisProgram);var M=r.length,tr=stackAlloc((M+1)*4),rr=tr;r.forEach(lr=>{HEAPU32[rr>>2]=stringToUTF8OnStack(lr),rr+=4}),HEAPU32[rr>>2]=0;try{var ir=e(M,tr);return exitJS(ir,!0),ir}catch(lr){return handleException(lr)}}}function run(r=arguments_){if(runDependencies>0||(preRun(),runDependencies>0))return;function e(){calledRun||(calledRun=!0,Module.calledRun=!0,!ABORT&&(initRuntime(),preMain(),readyPromiseResolve(Module),Module.onRuntimeInitialized?.(),shouldRunNow&&callMain(r),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>Module.setStatus(""),1),e()},1)):e()}if(Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),moduleRtn=readyPromise,moduleRtn}})(),He=pt,je=He,ne,te,re,ie,_e,xe,we,Se,ye,le,pe,he,de,ae,$,I,oe,me,B,Q,K,ue,se,J,O,Z,q,G,C,Ve,Xe,fe,Ke,Ye,L=class ao extends k{constructor(e={},M={}){super(),R$1(this,C),R$1(this,ne,!1),R$1(this,te,!1),R$1(this,re,!1),R$1(this,ie,!1),R$1(this,_e,!1),R$1(this,xe,new Y),R$1(this,we,new Y),R$1(this,Se,new Y),R$1(this,ye,new Y),R$1(this,le,!1),this.debug=0,R$1(this,pe),R$1(this,he,[]),R$1(this,de,new ye$1),R$1(this,ae),R$1(this,$),R$1(this,I,new Map),R$1(this,oe,new Set),R$1(this,me,-1),R$1(this,B,[]),R$1(this,Q,!1),R$1(this,K),R$1(this,ue,-1),R$1(this,se,[]),R$1(this,J,0),R$1(this,O,null),R$1(this,Z,!0),R$1(this,q,new Uint8Array(0)),R$1(this,G,0),typeof e=="string"?M={dataDir:e,...M}:M=e,this.dataDir=M.dataDir,M.parsers!==void 0&&(this.parsers={...this.parsers,...M.parsers}),M.serializers!==void 0&&(this.serializers={...this.serializers,...M.serializers}),M?.debug!==void 0&&(this.debug=M.debug),M?.relaxedDurability!==void 0&&x$3(this,_e,M.relaxedDurability),x$3(this,pe,M.extensions??{}),this.waitReady=T$2(this,C,Ve).call(this,M??{})}static async create(e,M){let tr=typeof e=="string"?{dataDir:e,...M??{}}:e??{},rr=new ao(tr);return await rr.waitReady,rr}get Module(){return this.mod}get ready(){return h$1(this,ne)&&!h$1(this,te)&&!h$1(this,re)}get closed(){return h$1(this,re)}async close(){await this._checkReady(),x$3(this,te,!0);for(let e of h$1(this,he))await e();try{await this.execProtocol(k$1.end()),this.mod._pgl_shutdown(),this.mod.removeFunction(h$1(this,ue)),this.mod.removeFunction(h$1(this,me))}catch(e){let M=e;if(!(M.name==="ExitStatus"&&M.status===0))throw e}await this.fs.closeFs(),x$3(this,re,!0),x$3(this,te,!1)}async[Symbol.asyncDispose](){await this.close()}async _handleBlob(e){x$3(this,ae,e?await e.arrayBuffer():void 0)}async _cleanupBlob(){x$3(this,ae,void 0)}async _getWrittenBlob(){if(!h$1(this,$))return;let e=new Blob(h$1(this,$));return x$3(this,$,void 0),e}async _checkReady(){if(h$1(this,te))throw new Error("PGlite is closing");if(h$1(this,re))throw new Error("PGlite is closed");h$1(this,ne)||await this.waitReady}execProtocolRawSync(e){let M=this.mod;return x$3(this,J,0),x$3(this,G,0),x$3(this,se,e),h$1(this,Z)&&h$1(this,q).length!==ao.DEFAULT_RECV_BUF_SIZE&&x$3(this,q,new Uint8Array(ao.DEFAULT_RECV_BUF_SIZE)),M._interactive_one(e.length,e[0]),x$3(this,se,[]),h$1(this,Z)&&h$1(this,G)?h$1(this,q).subarray(0,h$1(this,G)):new Uint8Array(0)}async execProtocolRaw(e,{syncToFs:M=!0}={}){let tr=this.execProtocolRawSync(e);return M&&await this.syncToFs(),tr}async execProtocol(e,{syncToFs:M=!0,throwOnError:tr=!0,onNotice:rr}={}){x$3(this,Q,tr),x$3(this,K,rr),x$3(this,B,[]),x$3(this,O,null);let ir=await this.execProtocolRaw(e,{syncToFs:M}),lr=h$1(this,O);x$3(this,Q,!1),x$3(this,K,void 0),x$3(this,O,null);let dr={messages:h$1(this,B),data:ir};if(x$3(this,B,[]),tr&&lr)throw x$3(this,de,new ye$1),lr;return dr}async execProtocolStream(e,{syncToFs:M,throwOnError:tr=!0,onNotice:rr}={}){x$3(this,Q,tr),x$3(this,K,rr),x$3(this,B,[]),x$3(this,O,null),x$3(this,Z,!1),await this.execProtocolRaw(e,{syncToFs:M}),x$3(this,Z,!0);let ir=h$1(this,O);x$3(this,Q,!1),x$3(this,K,void 0),x$3(this,O,null);let lr=h$1(this,B);if(x$3(this,B,[]),tr&&ir)throw x$3(this,de,new ye$1),ir;return lr}isInTransaction(){return h$1(this,ie)}async syncToFs(){if(h$1(this,le))return;x$3(this,le,!0);let e=async()=>{await h$1(this,ye).runExclusive(async()=>{x$3(this,le,!1),await this.fs.syncToFs(h$1(this,_e))})};h$1(this,_e)?e():await e()}async listen(e,M,tr){return this._runExclusiveListen(()=>T$2(this,C,Ke).call(this,e,M,tr))}async unlisten(e,M,tr){return this._runExclusiveListen(()=>T$2(this,C,Ye).call(this,e,M,tr))}onNotification(e){return h$1(this,oe).add(e),()=>{h$1(this,oe).delete(e)}}offNotification(e){h$1(this,oe).delete(e)}async dumpDataDir(e){await this._checkReady();let M=this.dataDir?.split("/").pop()??"pgdata";return this.fs.dumpTar(M,e)}_runExclusiveQuery(e){return h$1(this,xe).runExclusive(e)}_runExclusiveTransaction(e){return h$1(this,we).runExclusive(e)}async clone(){let e=await this.dumpDataDir("none");return ao.create({loadDataDir:e,extensions:h$1(this,pe)})}_runExclusiveListen(e){return h$1(this,Se).runExclusive(e)}};ne=new WeakMap,te=new WeakMap,re=new WeakMap,ie=new WeakMap,_e=new WeakMap,xe=new WeakMap,we=new WeakMap,Se=new WeakMap,ye=new WeakMap,le=new WeakMap,pe=new WeakMap,he=new WeakMap,de=new WeakMap,ae=new WeakMap,$=new WeakMap,I=new WeakMap,oe=new WeakMap,me=new WeakMap,B=new WeakMap,Q=new WeakMap,K=new WeakMap,ue=new WeakMap,se=new WeakMap,J=new WeakMap,O=new WeakMap,Z=new WeakMap,q=new WeakMap,G=new WeakMap,C=new WeakSet,Ve=async function(r){if(r.fs)this.fs=r.fs;else{let{dataDir:hr,fsType:fr}=Ge(r.dataDir);this.fs=await Ue(hr,fr)}let e={},M=[],tr=[`PGDATA=${C$1}`,`PREFIX=${Vr}`,`PGUSER=${r.username??"postgres"}`,`PGDATABASE=${r.database??"template1"}`,"MODE=REACT","REPL=N",...this.debug?["-d",this.debug.toString()]:[]];r.wasmModule||Rr();let rr=r.fsBundle?r.fsBundle.arrayBuffer():Er(),ir;rr.then(hr=>{ir=hr});let lr={WASM_PREFIX:Vr,arguments:tr,INITIAL_MEMORY:r.initialMemory,noExitRuntime:!0,...this.debug>0?{print:console.info,printErr:console.error}:{print:()=>{},printErr:()=>{}},instantiateWasm:(hr,fr)=>(Tr(hr,r.wasmModule).then(({instance:_r,module:gr})=>{fr(_r,gr)}),{}),getPreloadedPackage:(hr,fr)=>{if(hr==="pglite.data"){if(ir.byteLength!==fr)throw new Error(`Invalid FS bundle size: ${ir.byteLength} !== ${fr}`);return ir}throw new Error(`Unknown package: ${hr}`)},preRun:[hr=>{let fr=hr.FS.makedev(64,0),_r={open:gr=>{},close:gr=>{},read:(gr,br,wr,xr,vr)=>{let Mr=h$1(this,ae);if(!Mr)throw new Error("No /dev/blob File or Blob provided to read from");let Sr=new Uint8Array(Mr);if(vr>=Sr.length)return 0;let yr=Math.min(Sr.length-vr,xr);for(let Ar=0;Ar<yr;Ar++)br[wr+Ar]=Sr[vr+Ar];return yr},write:(gr,br,wr,xr,vr)=>(h$1(this,$)??x$3(this,$,[]),h$1(this,$).push(br.slice(wr,wr+xr)),xr),llseek:(gr,br,wr)=>{let xr=h$1(this,ae);if(!xr)throw new Error("No /dev/blob File or Blob provided to llseek");let vr=br;if(wr===1?vr+=gr.position:wr===2&&(vr=new Uint8Array(xr).length),vr<0)throw new hr.FS.ErrnoError(28);return vr}};hr.FS.registerDevice(fr,_r),hr.FS.mkdev("/dev/blob",fr)}]},{emscriptenOpts:dr}=await this.fs.init(this,lr);lr=dr;for(let[hr,fr]of Object.entries(h$1(this,pe)))if(fr instanceof URL)e[hr]=ke(fr);else{let _r=await fr.setup(this,lr);if(_r.emscriptenOpts&&(lr=_r.emscriptenOpts),_r.namespaceObj){let gr=this;gr[hr]=_r.namespaceObj}_r.bundlePath&&(e[hr]=ke(_r.bundlePath)),_r.init&&M.push(_r.init),_r.close&&h$1(this,he).push(_r.close)}if(lr.pg_extensions=e,await rr,this.mod=await je(lr),x$3(this,me,this.mod.addFunction((hr,fr)=>{let _r;try{_r=this.mod.HEAPU8.subarray(hr,hr+fr)}catch(gr){throw console.error("error",gr),gr}if(h$1(this,de).parse(_r,gr=>{T$2(this,C,Xe).call(this,gr)}),h$1(this,Z)){let gr=_r.slice(),br=h$1(this,G)+gr.length;if(br>h$1(this,q).length){let wr=h$1(this,q).length+(h$1(this,q).length>>1)+br;br>L.MAX_BUFFER_SIZE&&(br=L.MAX_BUFFER_SIZE);let xr=new Uint8Array(wr);xr.set(h$1(this,q).subarray(0,h$1(this,G))),x$3(this,q,xr)}return h$1(this,q).set(gr,h$1(this,G)),x$3(this,G,h$1(this,G)+gr.length),h$1(this,q).length}return fr},"iii")),x$3(this,ue,this.mod.addFunction((hr,fr)=>{let _r=h$1(this,se).length-h$1(this,J);_r>fr&&(_r=fr);try{this.mod.HEAP8.set(h$1(this,se).subarray(h$1(this,J),h$1(this,J)+_r),hr),x$3(this,J,h$1(this,J)+_r)}catch(gr){console.log(gr)}return _r},"iii")),this.mod._set_read_write_cbs(h$1(this,ue),h$1(this,me)),await this.fs.initialSyncFs(),r.loadDataDir){if(this.mod.FS.analyzePath(C$1+"/PG_VERSION").exists)throw new Error("Database already exists, cannot load from tarball");T$2(this,C,fe).call(this,"pglite: loading data from tarball"),await ce$1(this.mod.FS,r.loadDataDir,C$1)}this.mod.FS.analyzePath(C$1+"/PG_VERSION").exists?T$2(this,C,fe).call(this,"pglite: found DB, resuming"):T$2(this,C,fe).call(this,"pglite: no db"),await Be(this.mod,(...hr)=>T$2(this,C,fe).call(this,...hr));let mr=this.mod._pgl_initdb();if(!mr)throw new Error("INITDB failed to return value");if(mr&1)throw new Error("INITDB: failed to execute");if(mr&2){let hr=r.username??"postgres",fr=r.database??"template1";if(mr&4){if(!(mr&12))throw new Error(`INITDB: Invalid db ${fr}/user ${hr} combination`)}else if(fr!=="template1"&&hr!=="postgres")throw new Error(`INITDB: created a new datadir ${C$1}, but an alternative db ${fr}/user ${hr} was requested`)}this.mod._pgl_backend(),await this.syncToFs(),x$3(this,ne,!0),await this.exec("SET search_path TO public;"),await this._initArrayTypes();for(let hr of M)await hr()},Xe=function(r){if(!h$1(this,O)){if(r instanceof C$2)h$1(this,Q)&&x$3(this,O,r);else if(r instanceof te$1)this.debug>0&&console.warn(r),h$1(this,K)&&h$1(this,K).call(this,r);else if(r instanceof Z$1)switch(r.text){case"BEGIN":x$3(this,ie,!0);break;case"COMMIT":case"ROLLBACK":x$3(this,ie,!1);break}else if(r instanceof J$1){let e=h$1(this,I).get(r.channel);e&&e.forEach(M=>{queueMicrotask(()=>M(r.payload))}),h$1(this,oe).forEach(M=>{queueMicrotask(()=>M(r.channel,r.payload))})}h$1(this,B).push(r)}},fe=function(...r){this.debug>0&&console.log(...r)},Ke=async function(r,e,M){let tr=Nr(r),rr=M??this;h$1(this,I).has(tr)||h$1(this,I).set(tr,new Set),h$1(this,I).get(tr).add(e);try{await rr.exec(`LISTEN ${r}`)}catch(ir){throw h$1(this,I).get(tr).delete(e),h$1(this,I).get(tr)?.size===0&&h$1(this,I).delete(tr),ir}return async ir=>{await this.unlisten(tr,e,ir)}},Ye=async function(r,e,M){let tr=Nr(r),rr=M??this,ir=async()=>{await rr.exec(`UNLISTEN ${r}`),h$1(this,I).get(tr)?.size===0&&h$1(this,I).delete(tr)};e?(h$1(this,I).get(tr)?.delete(e),h$1(this,I).get(tr)?.size===0&&await ir()):await ir()},L.DEFAULT_RECV_BUF_SIZE=1*1024*1024,L.MAX_BUFFER_SIZE=Math.pow(2,30);var We=L;u();const AlterTableNode=freeze({is(r){return r.kind==="AlterTableNode"},create(r){return freeze({kind:"AlterTableNode",table:r})},cloneWithTableProps(r,e){return freeze({...r,...e})},cloneWithColumnAlteration(r,e){return freeze({...r,columnAlterations:r.columnAlterations?[...r.columnAlterations,e]:[e]})}}),CreateIndexNode=freeze({is(r){return r.kind==="CreateIndexNode"},create(r){return freeze({kind:"CreateIndexNode",name:IdentifierNode.create(r)})},cloneWith(r,e){return freeze({...r,...e})},cloneWithColumns(r,e){return freeze({...r,columns:[...r.columns||[],...e]})}}),CreateSchemaNode=freeze({is(r){return r.kind==="CreateSchemaNode"},create(r,e){return freeze({kind:"CreateSchemaNode",schema:IdentifierNode.create(r),...e})},cloneWith(r,e){return freeze({...r,...e})}}),ON_COMMIT_ACTIONS=["preserve rows","delete rows","drop"],CreateTableNode=freeze({is(r){return r.kind==="CreateTableNode"},create(r){return freeze({kind:"CreateTableNode",table:r,columns:freeze([])})},cloneWithColumn(r,e){return freeze({...r,columns:freeze([...r.columns,e])})},cloneWithConstraint(r,e){return freeze({...r,constraints:r.constraints?freeze([...r.constraints,e]):freeze([e])})},cloneWithFrontModifier(r,e){return freeze({...r,frontModifiers:r.frontModifiers?freeze([...r.frontModifiers,e]):freeze([e])})},cloneWithEndModifier(r,e){return freeze({...r,endModifiers:r.endModifiers?freeze([...r.endModifiers,e]):freeze([e])})},cloneWith(r,e){return freeze({...r,...e})}}),DropIndexNode=freeze({is(r){return r.kind==="DropIndexNode"},create(r,e){return freeze({kind:"DropIndexNode",name:SchemableIdentifierNode.create(r),...e})},cloneWith(r,e){return freeze({...r,...e})}}),DropSchemaNode=freeze({is(r){return r.kind==="DropSchemaNode"},create(r,e){return freeze({kind:"DropSchemaNode",schema:IdentifierNode.create(r),...e})},cloneWith(r,e){return freeze({...r,...e})}}),DropTableNode=freeze({is(r){return r.kind==="DropTableNode"},create(r,e){return freeze({kind:"DropTableNode",table:r,...e})},cloneWith(r,e){return freeze({...r,...e})}}),AddColumnNode=freeze({is(r){return r.kind==="AddColumnNode"},create(r){return freeze({kind:"AddColumnNode",column:r})}}),ColumnDefinitionNode=freeze({is(r){return r.kind==="ColumnDefinitionNode"},create(r,e){return freeze({kind:"ColumnDefinitionNode",column:ColumnNode.create(r),dataType:e})},cloneWithFrontModifier(r,e){return freeze({...r,frontModifiers:r.frontModifiers?freeze([...r.frontModifiers,e]):[e]})},cloneWithEndModifier(r,e){return freeze({...r,endModifiers:r.endModifiers?freeze([...r.endModifiers,e]):[e]})},cloneWith(r,e){return freeze({...r,...e})}}),DropColumnNode=freeze({is(r){return r.kind==="DropColumnNode"},create(r){return freeze({kind:"DropColumnNode",column:ColumnNode.create(r)})}}),RenameColumnNode=freeze({is(r){return r.kind==="RenameColumnNode"},create(r,e){return freeze({kind:"RenameColumnNode",column:ColumnNode.create(r),renameTo:ColumnNode.create(e)})}}),CheckConstraintNode=freeze({is(r){return r.kind==="CheckConstraintNode"},create(r,e){return freeze({kind:"CheckConstraintNode",expression:r,name:e?IdentifierNode.create(e):void 0})}}),ON_MODIFY_FOREIGN_ACTIONS=["no action","restrict","cascade","set null","set default"],ReferencesNode=freeze({is(r){return r.kind==="ReferencesNode"},create(r,e){return freeze({kind:"ReferencesNode",table:r,columns:freeze([...e])})},cloneWithOnDelete(r,e){return freeze({...r,onDelete:e})},cloneWithOnUpdate(r,e){return freeze({...r,onUpdate:e})}});function parseDefaultValueExpression(r){return isOperationNodeSource(r)?r.toOperationNode():ValueNode.createImmediate(r)}const GeneratedNode=freeze({is(r){return r.kind==="GeneratedNode"},create(r){return freeze({kind:"GeneratedNode",...r})},createWithExpression(r){return freeze({kind:"GeneratedNode",always:!0,expression:r})},cloneWith(r,e){return freeze({...r,...e})}}),DefaultValueNode=freeze({is(r){return r.kind==="DefaultValueNode"},create(r){return freeze({kind:"DefaultValueNode",defaultValue:r})}});function parseOnModifyForeignAction(r){if(ON_MODIFY_FOREIGN_ACTIONS.includes(r))return r;throw new Error(`invalid OnModifyForeignAction ${r}`)}class ColumnDefinitionBuilder{#e;constructor(e){this.#e=e}autoIncrement(){return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{autoIncrement:!0}))}identity(){return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{identity:!0}))}primaryKey(){return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{primaryKey:!0}))}references(e){const M=parseStringReference(e);if(!M.table||SelectAllNode.is(M.column))throw new Error(`invalid call references('${e}'). The reference must have format table.column or schema.table.column`);return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{references:ReferencesNode.create(M.table,[M.column])}))}onDelete(e){if(!this.#e.references)throw new Error("on delete constraint can only be added for foreign keys");return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{references:ReferencesNode.cloneWithOnDelete(this.#e.references,parseOnModifyForeignAction(e))}))}onUpdate(e){if(!this.#e.references)throw new Error("on update constraint can only be added for foreign keys");return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{references:ReferencesNode.cloneWithOnUpdate(this.#e.references,parseOnModifyForeignAction(e))}))}unique(){return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{unique:!0}))}notNull(){return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{notNull:!0}))}unsigned(){return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{unsigned:!0}))}defaultTo(e){return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{defaultTo:DefaultValueNode.create(parseDefaultValueExpression(e))}))}check(e){return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{check:CheckConstraintNode.create(e.toOperationNode())}))}generatedAlwaysAs(e){return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{generated:GeneratedNode.createWithExpression(e.toOperationNode())}))}generatedAlwaysAsIdentity(){return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{generated:GeneratedNode.create({identity:!0,always:!0})}))}generatedByDefaultAsIdentity(){return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{generated:GeneratedNode.create({identity:!0,byDefault:!0})}))}stored(){if(!this.#e.generated)throw new Error("stored() can only be called after generatedAlwaysAs");return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{generated:GeneratedNode.cloneWith(this.#e.generated,{stored:!0})}))}modifyFront(e){return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWithFrontModifier(this.#e,e.toOperationNode()))}nullsNotDistinct(){return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{nullsNotDistinct:!0}))}ifNotExists(){return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#e,{ifNotExists:!0}))}modifyEnd(e){return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWithEndModifier(this.#e,e.toOperationNode()))}$call(e){return e(this)}toOperationNode(){return this.#e}}const ModifyColumnNode=freeze({is(r){return r.kind==="ModifyColumnNode"},create(r){return freeze({kind:"ModifyColumnNode",column:r})}}),ForeignKeyConstraintNode=freeze({is(r){return r.kind==="ForeignKeyConstraintNode"},create(r,e,M,tr){return freeze({kind:"ForeignKeyConstraintNode",columns:r,references:ReferencesNode.create(e,M),name:tr?IdentifierNode.create(tr):void 0})},cloneWith(r,e){return freeze({...r,...e})}});class ForeignKeyConstraintBuilder{#e;constructor(e){this.#e=e}onDelete(e){return new ForeignKeyConstraintBuilder(ForeignKeyConstraintNode.cloneWith(this.#e,{onDelete:parseOnModifyForeignAction(e)}))}onUpdate(e){return new ForeignKeyConstraintBuilder(ForeignKeyConstraintNode.cloneWith(this.#e,{onUpdate:parseOnModifyForeignAction(e)}))}deferrable(){return new ForeignKeyConstraintBuilder(ForeignKeyConstraintNode.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new ForeignKeyConstraintBuilder(ForeignKeyConstraintNode.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new ForeignKeyConstraintBuilder(ForeignKeyConstraintNode.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new ForeignKeyConstraintBuilder(ForeignKeyConstraintNode.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}}const AddConstraintNode=freeze({is(r){return r.kind==="AddConstraintNode"},create(r){return freeze({kind:"AddConstraintNode",constraint:r})}}),UniqueConstraintNode=freeze({is(r){return r.kind==="UniqueConstraintNode"},create(r,e,M){return freeze({kind:"UniqueConstraintNode",columns:freeze(r.map(ColumnNode.create)),name:e?IdentifierNode.create(e):void 0,nullsNotDistinct:M})},cloneWith(r,e){return freeze({...r,...e})}}),DropConstraintNode=freeze({is(r){return r.kind==="DropConstraintNode"},create(r){return freeze({kind:"DropConstraintNode",constraintName:IdentifierNode.create(r)})},cloneWith(r,e){return freeze({...r,...e})}}),AlterColumnNode=freeze({is(r){return r.kind==="AlterColumnNode"},create(r,e,M){return freeze({kind:"AlterColumnNode",column:ColumnNode.create(r),[e]:M})}});class AlterColumnBuilder{#e;constructor(e){this.#e=e}setDataType(e){return new AlteredColumnBuilder(AlterColumnNode.create(this.#e,"dataType",parseDataTypeExpression(e)))}setDefault(e){return new AlteredColumnBuilder(AlterColumnNode.create(this.#e,"setDefault",parseDefaultValueExpression(e)))}dropDefault(){return new AlteredColumnBuilder(AlterColumnNode.create(this.#e,"dropDefault",!0))}setNotNull(){return new AlteredColumnBuilder(AlterColumnNode.create(this.#e,"setNotNull",!0))}dropNotNull(){return new AlteredColumnBuilder(AlterColumnNode.create(this.#e,"dropNotNull",!0))}$call(e){return e(this)}}class AlteredColumnBuilder{#e;constructor(e){this.#e=e}toOperationNode(){return this.#e}}class AlterTableExecutor{#e;constructor(e){this.#e=freeze(e)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}}class AlterTableAddForeignKeyConstraintBuilder{#e;constructor(e){this.#e=freeze(e)}onDelete(e){return new AlterTableAddForeignKeyConstraintBuilder({...this.#e,constraintBuilder:this.#e.constraintBuilder.onDelete(e)})}onUpdate(e){return new AlterTableAddForeignKeyConstraintBuilder({...this.#e,constraintBuilder:this.#e.constraintBuilder.onUpdate(e)})}deferrable(){return new AlterTableAddForeignKeyConstraintBuilder({...this.#e,constraintBuilder:this.#e.constraintBuilder.deferrable()})}notDeferrable(){return new AlterTableAddForeignKeyConstraintBuilder({...this.#e,constraintBuilder:this.#e.constraintBuilder.notDeferrable()})}initiallyDeferred(){return new AlterTableAddForeignKeyConstraintBuilder({...this.#e,constraintBuilder:this.#e.constraintBuilder.initiallyDeferred()})}initiallyImmediate(){return new AlterTableAddForeignKeyConstraintBuilder({...this.#e,constraintBuilder:this.#e.constraintBuilder.initiallyImmediate()})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(AlterTableNode.cloneWithTableProps(this.#e.node,{addConstraint:AddConstraintNode.create(this.#e.constraintBuilder.toOperationNode())}),this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}}class AlterTableDropConstraintBuilder{#e;constructor(e){this.#e=freeze(e)}ifExists(){return new AlterTableDropConstraintBuilder({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{dropConstraint:DropConstraintNode.cloneWith(this.#e.node.dropConstraint,{ifExists:!0})})})}cascade(){return new AlterTableDropConstraintBuilder({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{dropConstraint:DropConstraintNode.cloneWith(this.#e.node.dropConstraint,{modifier:"cascade"})})})}restrict(){return new AlterTableDropConstraintBuilder({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{dropConstraint:DropConstraintNode.cloneWith(this.#e.node.dropConstraint,{modifier:"restrict"})})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}}const PrimaryKeyConstraintNode=freeze({is(r){return r.kind==="PrimaryKeyConstraintNode"},create(r,e){return freeze({kind:"PrimaryKeyConstraintNode",columns:freeze(r.map(ColumnNode.create)),name:e?IdentifierNode.create(e):void 0})},cloneWith(r,e){return freeze({...r,...e})}}),AddIndexNode=freeze({is(r){return r.kind==="AddIndexNode"},create(r){return freeze({kind:"AddIndexNode",name:IdentifierNode.create(r)})},cloneWith(r,e){return freeze({...r,...e})},cloneWithColumns(r,e){return freeze({...r,columns:[...r.columns||[],...e]})}});class AlterTableAddIndexBuilder{#e;constructor(e){this.#e=freeze(e)}unique(){return new AlterTableAddIndexBuilder({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{addIndex:AddIndexNode.cloneWith(this.#e.node.addIndex,{unique:!0})})})}column(e){return new AlterTableAddIndexBuilder({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{addIndex:AddIndexNode.cloneWithColumns(this.#e.node.addIndex,[parseOrderedColumnName(e)])})})}columns(e){return new AlterTableAddIndexBuilder({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{addIndex:AddIndexNode.cloneWithColumns(this.#e.node.addIndex,e.map(parseOrderedColumnName))})})}expression(e){return new AlterTableAddIndexBuilder({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{addIndex:AddIndexNode.cloneWithColumns(this.#e.node.addIndex,[e.toOperationNode()])})})}using(e){return new AlterTableAddIndexBuilder({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{addIndex:AddIndexNode.cloneWith(this.#e.node.addIndex,{using:RawNode.createWithSql(e)})})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}}class UniqueConstraintNodeBuilder{#e;constructor(e){this.#e=e}nullsNotDistinct(){return new UniqueConstraintNodeBuilder(UniqueConstraintNode.cloneWith(this.#e,{nullsNotDistinct:!0}))}deferrable(){return new UniqueConstraintNodeBuilder(UniqueConstraintNode.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new UniqueConstraintNodeBuilder(UniqueConstraintNode.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new UniqueConstraintNodeBuilder(UniqueConstraintNode.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new UniqueConstraintNodeBuilder(UniqueConstraintNode.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}}class PrimaryKeyConstraintBuilder{#e;constructor(e){this.#e=e}deferrable(){return new PrimaryKeyConstraintBuilder(PrimaryKeyConstraintNode.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new PrimaryKeyConstraintBuilder(PrimaryKeyConstraintNode.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new PrimaryKeyConstraintBuilder(PrimaryKeyConstraintNode.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new PrimaryKeyConstraintBuilder(PrimaryKeyConstraintNode.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}}class CheckConstraintBuilder{#e;constructor(e){this.#e=e}$call(e){return e(this)}toOperationNode(){return this.#e}}const RenameConstraintNode=freeze({is(r){return r.kind==="RenameConstraintNode"},create(r,e){return freeze({kind:"RenameConstraintNode",oldName:IdentifierNode.create(r),newName:IdentifierNode.create(e)})}});class AlterTableBuilder{#e;constructor(e){this.#e=freeze(e)}renameTo(e){return new AlterTableExecutor({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{renameTo:parseTable(e)})})}setSchema(e){return new AlterTableExecutor({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{setSchema:IdentifierNode.create(e)})})}alterColumn(e,M){const tr=M(new AlterColumnBuilder(e));return new AlterTableColumnAlteringBuilder({...this.#e,node:AlterTableNode.cloneWithColumnAlteration(this.#e.node,tr.toOperationNode())})}dropColumn(e){return new AlterTableColumnAlteringBuilder({...this.#e,node:AlterTableNode.cloneWithColumnAlteration(this.#e.node,DropColumnNode.create(e))})}renameColumn(e,M){return new AlterTableColumnAlteringBuilder({...this.#e,node:AlterTableNode.cloneWithColumnAlteration(this.#e.node,RenameColumnNode.create(e,M))})}addColumn(e,M,tr=noop$1){const rr=tr(new ColumnDefinitionBuilder(ColumnDefinitionNode.create(e,parseDataTypeExpression(M))));return new AlterTableColumnAlteringBuilder({...this.#e,node:AlterTableNode.cloneWithColumnAlteration(this.#e.node,AddColumnNode.create(rr.toOperationNode()))})}modifyColumn(e,M,tr=noop$1){const rr=tr(new ColumnDefinitionBuilder(ColumnDefinitionNode.create(e,parseDataTypeExpression(M))));return new AlterTableColumnAlteringBuilder({...this.#e,node:AlterTableNode.cloneWithColumnAlteration(this.#e.node,ModifyColumnNode.create(rr.toOperationNode()))})}addUniqueConstraint(e,M,tr=noop$1){const rr=tr(new UniqueConstraintNodeBuilder(UniqueConstraintNode.create(M,e)));return new AlterTableExecutor({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{addConstraint:AddConstraintNode.create(rr.toOperationNode())})})}addCheckConstraint(e,M,tr=noop$1){const rr=tr(new CheckConstraintBuilder(CheckConstraintNode.create(M.toOperationNode(),e)));return new AlterTableExecutor({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{addConstraint:AddConstraintNode.create(rr.toOperationNode())})})}addForeignKeyConstraint(e,M,tr,rr,ir=noop$1){const lr=ir(new ForeignKeyConstraintBuilder(ForeignKeyConstraintNode.create(M.map(ColumnNode.create),parseTable(tr),rr.map(ColumnNode.create),e)));return new AlterTableAddForeignKeyConstraintBuilder({...this.#e,constraintBuilder:lr})}addPrimaryKeyConstraint(e,M,tr=noop$1){const rr=tr(new PrimaryKeyConstraintBuilder(PrimaryKeyConstraintNode.create(M,e)));return new AlterTableExecutor({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{addConstraint:AddConstraintNode.create(rr.toOperationNode())})})}dropConstraint(e){return new AlterTableDropConstraintBuilder({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{dropConstraint:DropConstraintNode.create(e)})})}renameConstraint(e,M){return new AlterTableDropConstraintBuilder({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{renameConstraint:RenameConstraintNode.create(e,M)})})}addIndex(e){return new AlterTableAddIndexBuilder({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{addIndex:AddIndexNode.create(e)})})}dropIndex(e){return new AlterTableExecutor({...this.#e,node:AlterTableNode.cloneWithTableProps(this.#e.node,{dropIndex:DropIndexNode.create(e)})})}$call(e){return e(this)}}class AlterTableColumnAlteringBuilder{#e;constructor(e){this.#e=freeze(e)}alterColumn(e,M){const tr=M(new AlterColumnBuilder(e));return new AlterTableColumnAlteringBuilder({...this.#e,node:AlterTableNode.cloneWithColumnAlteration(this.#e.node,tr.toOperationNode())})}dropColumn(e){return new AlterTableColumnAlteringBuilder({...this.#e,node:AlterTableNode.cloneWithColumnAlteration(this.#e.node,DropColumnNode.create(e))})}renameColumn(e,M){return new AlterTableColumnAlteringBuilder({...this.#e,node:AlterTableNode.cloneWithColumnAlteration(this.#e.node,RenameColumnNode.create(e,M))})}addColumn(e,M,tr=noop$1){const rr=tr(new ColumnDefinitionBuilder(ColumnDefinitionNode.create(e,parseDataTypeExpression(M))));return new AlterTableColumnAlteringBuilder({...this.#e,node:AlterTableNode.cloneWithColumnAlteration(this.#e.node,AddColumnNode.create(rr.toOperationNode()))})}modifyColumn(e,M,tr=noop$1){const rr=tr(new ColumnDefinitionBuilder(ColumnDefinitionNode.create(e,parseDataTypeExpression(M))));return new AlterTableColumnAlteringBuilder({...this.#e,node:AlterTableNode.cloneWithColumnAlteration(this.#e.node,ModifyColumnNode.create(rr.toOperationNode()))})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}}class ImmediateValueTransformer extends OperationNodeTransformer{transformPrimitiveValueList(e){return ValueListNode.create(e.values.map(ValueNode.createImmediate))}transformValue(e){return ValueNode.createImmediate(e.value)}}class CreateIndexBuilder{#e;constructor(e){this.#e=freeze(e)}ifNotExists(){return new CreateIndexBuilder({...this.#e,node:CreateIndexNode.cloneWith(this.#e.node,{ifNotExists:!0})})}unique(){return new CreateIndexBuilder({...this.#e,node:CreateIndexNode.cloneWith(this.#e.node,{unique:!0})})}nullsNotDistinct(){return new CreateIndexBuilder({...this.#e,node:CreateIndexNode.cloneWith(this.#e.node,{nullsNotDistinct:!0})})}on(e){return new CreateIndexBuilder({...this.#e,node:CreateIndexNode.cloneWith(this.#e.node,{table:parseTable(e)})})}column(e){return new CreateIndexBuilder({...this.#e,node:CreateIndexNode.cloneWithColumns(this.#e.node,[parseOrderedColumnName(e)])})}columns(e){return new CreateIndexBuilder({...this.#e,node:CreateIndexNode.cloneWithColumns(this.#e.node,e.map(parseOrderedColumnName))})}expression(e){return new CreateIndexBuilder({...this.#e,node:CreateIndexNode.cloneWithColumns(this.#e.node,[e.toOperationNode()])})}using(e){return new CreateIndexBuilder({...this.#e,node:CreateIndexNode.cloneWith(this.#e.node,{using:RawNode.createWithSql(e)})})}where(...e){const M=new ImmediateValueTransformer;return new CreateIndexBuilder({...this.#e,node:QueryNode.cloneWithWhere(this.#e.node,M.transformNode(parseValueBinaryOperationOrExpression(e),this.#e.queryId))})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}}class CreateSchemaBuilder{#e;constructor(e){this.#e=freeze(e)}ifNotExists(){return new CreateSchemaBuilder({...this.#e,node:CreateSchemaNode.cloneWith(this.#e.node,{ifNotExists:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}}function parseOnCommitAction(r){if(ON_COMMIT_ACTIONS.includes(r))return r;throw new Error(`invalid OnCommitAction ${r}`)}class CreateTableBuilder{#e;constructor(e){this.#e=freeze(e)}temporary(){return new CreateTableBuilder({...this.#e,node:CreateTableNode.cloneWith(this.#e.node,{temporary:!0})})}onCommit(e){return new CreateTableBuilder({...this.#e,node:CreateTableNode.cloneWith(this.#e.node,{onCommit:parseOnCommitAction(e)})})}ifNotExists(){return new CreateTableBuilder({...this.#e,node:CreateTableNode.cloneWith(this.#e.node,{ifNotExists:!0})})}addColumn(e,M,tr=noop$1){const rr=tr(new ColumnDefinitionBuilder(ColumnDefinitionNode.create(e,parseDataTypeExpression(M))));return new CreateTableBuilder({...this.#e,node:CreateTableNode.cloneWithColumn(this.#e.node,rr.toOperationNode())})}addPrimaryKeyConstraint(e,M,tr=noop$1){const rr=tr(new PrimaryKeyConstraintBuilder(PrimaryKeyConstraintNode.create(M,e)));return new CreateTableBuilder({...this.#e,node:CreateTableNode.cloneWithConstraint(this.#e.node,rr.toOperationNode())})}addUniqueConstraint(e,M,tr=noop$1){const rr=tr(new UniqueConstraintNodeBuilder(UniqueConstraintNode.create(M,e)));return new CreateTableBuilder({...this.#e,node:CreateTableNode.cloneWithConstraint(this.#e.node,rr.toOperationNode())})}addCheckConstraint(e,M,tr=noop$1){const rr=tr(new CheckConstraintBuilder(CheckConstraintNode.create(M.toOperationNode(),e)));return new CreateTableBuilder({...this.#e,node:CreateTableNode.cloneWithConstraint(this.#e.node,rr.toOperationNode())})}addForeignKeyConstraint(e,M,tr,rr,ir=noop$1){const lr=ir(new ForeignKeyConstraintBuilder(ForeignKeyConstraintNode.create(M.map(ColumnNode.create),parseTable(tr),rr.map(ColumnNode.create),e)));return new CreateTableBuilder({...this.#e,node:CreateTableNode.cloneWithConstraint(this.#e.node,lr.toOperationNode())})}modifyFront(e){return new CreateTableBuilder({...this.#e,node:CreateTableNode.cloneWithFrontModifier(this.#e.node,e.toOperationNode())})}modifyEnd(e){return new CreateTableBuilder({...this.#e,node:CreateTableNode.cloneWithEndModifier(this.#e.node,e.toOperationNode())})}as(e){return new CreateTableBuilder({...this.#e,node:CreateTableNode.cloneWith(this.#e.node,{selectQuery:parseExpression(e)})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}}class DropIndexBuilder{#e;constructor(e){this.#e=freeze(e)}on(e){return new DropIndexBuilder({...this.#e,node:DropIndexNode.cloneWith(this.#e.node,{table:parseTable(e)})})}ifExists(){return new DropIndexBuilder({...this.#e,node:DropIndexNode.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new DropIndexBuilder({...this.#e,node:DropIndexNode.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}}class DropSchemaBuilder{#e;constructor(e){this.#e=freeze(e)}ifExists(){return new DropSchemaBuilder({...this.#e,node:DropSchemaNode.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new DropSchemaBuilder({...this.#e,node:DropSchemaNode.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}}class DropTableBuilder{#e;constructor(e){this.#e=freeze(e)}ifExists(){return new DropTableBuilder({...this.#e,node:DropTableNode.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new DropTableBuilder({...this.#e,node:DropTableNode.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}}const CreateViewNode=freeze({is(r){return r.kind==="CreateViewNode"},create(r){return freeze({kind:"CreateViewNode",name:SchemableIdentifierNode.create(r)})},cloneWith(r,e){return freeze({...r,...e})}});class ImmediateValuePlugin{#e=new ImmediateValueTransformer;transformQuery(e){return this.#e.transformNode(e.node,e.queryId)}transformResult(e){return Promise.resolve(e.result)}}class CreateViewBuilder{#e;constructor(e){this.#e=freeze(e)}temporary(){return new CreateViewBuilder({...this.#e,node:CreateViewNode.cloneWith(this.#e.node,{temporary:!0})})}materialized(){return new CreateViewBuilder({...this.#e,node:CreateViewNode.cloneWith(this.#e.node,{materialized:!0})})}ifNotExists(){return new CreateViewBuilder({...this.#e,node:CreateViewNode.cloneWith(this.#e.node,{ifNotExists:!0})})}orReplace(){return new CreateViewBuilder({...this.#e,node:CreateViewNode.cloneWith(this.#e.node,{orReplace:!0})})}columns(e){return new CreateViewBuilder({...this.#e,node:CreateViewNode.cloneWith(this.#e.node,{columns:e.map(parseColumnName)})})}as(e){const M=e.withPlugin(new ImmediateValuePlugin).toOperationNode();return new CreateViewBuilder({...this.#e,node:CreateViewNode.cloneWith(this.#e.node,{as:M})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}}const DropViewNode=freeze({is(r){return r.kind==="DropViewNode"},create(r){return freeze({kind:"DropViewNode",name:SchemableIdentifierNode.create(r)})},cloneWith(r,e){return freeze({...r,...e})}});class DropViewBuilder{#e;constructor(e){this.#e=freeze(e)}materialized(){return new DropViewBuilder({...this.#e,node:DropViewNode.cloneWith(this.#e.node,{materialized:!0})})}ifExists(){return new DropViewBuilder({...this.#e,node:DropViewNode.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new DropViewBuilder({...this.#e,node:DropViewNode.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}}const CreateTypeNode=freeze({is(r){return r.kind==="CreateTypeNode"},create(r){return freeze({kind:"CreateTypeNode",name:r})},cloneWithEnum(r,e){return freeze({...r,enum:ValueListNode.create(e.map(ValueNode.createImmediate))})}});class CreateTypeBuilder{#e;constructor(e){this.#e=freeze(e)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}asEnum(e){return new CreateTypeBuilder({...this.#e,node:CreateTypeNode.cloneWithEnum(this.#e.node,e)})}$call(e){return e(this)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}}const DropTypeNode=freeze({is(r){return r.kind==="DropTypeNode"},create(r){return freeze({kind:"DropTypeNode",name:r})},cloneWith(r,e){return freeze({...r,...e})}});class DropTypeBuilder{#e;constructor(e){this.#e=freeze(e)}ifExists(){return new DropTypeBuilder({...this.#e,node:DropTypeNode.cloneWith(this.#e.node,{ifExists:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}}function parseSchemableIdentifier(r){if(r.includes(".")){const M=r.split(".").map(trim);if(M.length===2)return SchemableIdentifierNode.createWithSchema(M[0],M[1]);throw new Error(`invalid schemable identifier ${r}`)}else return SchemableIdentifierNode.create(r)}function trim(r){return r.trim()}const RefreshMaterializedViewNode=freeze({is(r){return r.kind==="RefreshMaterializedViewNode"},create(r){return freeze({kind:"RefreshMaterializedViewNode",name:SchemableIdentifierNode.create(r)})},cloneWith(r,e){return freeze({...r,...e})}});class RefreshMaterializedViewBuilder{#e;constructor(e){this.#e=freeze(e)}concurrently(){return new RefreshMaterializedViewBuilder({...this.#e,node:RefreshMaterializedViewNode.cloneWith(this.#e.node,{concurrently:!0,withNoData:!1})})}withData(){return new RefreshMaterializedViewBuilder({...this.#e,node:RefreshMaterializedViewNode.cloneWith(this.#e.node,{withNoData:!1})})}withNoData(){return new RefreshMaterializedViewBuilder({...this.#e,node:RefreshMaterializedViewNode.cloneWith(this.#e.node,{withNoData:!0,concurrently:!1})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}}class SchemaModule{#e;constructor(e){this.#e=e}createTable(e){return new CreateTableBuilder({queryId:createQueryId(),executor:this.#e,node:CreateTableNode.create(parseTable(e))})}dropTable(e){return new DropTableBuilder({queryId:createQueryId(),executor:this.#e,node:DropTableNode.create(parseTable(e))})}createIndex(e){return new CreateIndexBuilder({queryId:createQueryId(),executor:this.#e,node:CreateIndexNode.create(e)})}dropIndex(e){return new DropIndexBuilder({queryId:createQueryId(),executor:this.#e,node:DropIndexNode.create(e)})}createSchema(e){return new CreateSchemaBuilder({queryId:createQueryId(),executor:this.#e,node:CreateSchemaNode.create(e)})}dropSchema(e){return new DropSchemaBuilder({queryId:createQueryId(),executor:this.#e,node:DropSchemaNode.create(e)})}alterTable(e){return new AlterTableBuilder({queryId:createQueryId(),executor:this.#e,node:AlterTableNode.create(parseTable(e))})}createView(e){return new CreateViewBuilder({queryId:createQueryId(),executor:this.#e,node:CreateViewNode.create(e)})}refreshMaterializedView(e){return new RefreshMaterializedViewBuilder({queryId:createQueryId(),executor:this.#e,node:RefreshMaterializedViewNode.create(e)})}dropView(e){return new DropViewBuilder({queryId:createQueryId(),executor:this.#e,node:DropViewNode.create(e)})}createType(e){return new CreateTypeBuilder({queryId:createQueryId(),executor:this.#e,node:CreateTypeNode.create(parseSchemableIdentifier(e))})}dropType(e){return new DropTypeBuilder({queryId:createQueryId(),executor:this.#e,node:DropTypeNode.create(parseSchemableIdentifier(e))})}withPlugin(e){return new SchemaModule(this.#e.withPlugin(e))}withoutPlugins(){return new SchemaModule(this.#e.withoutPlugins())}withSchema(e){return new SchemaModule(this.#e.withPluginAtFront(new WithSchemaPlugin(e)))}}class DynamicModule{ref(e){return new DynamicReferenceBuilder(e)}table(e){return new DynamicTableBuilder(e)}}class DefaultConnectionProvider{#e;constructor(e){this.#e=e}async provideConnection(e){const M=await this.#e.acquireConnection();try{return await e(M)}finally{await this.#e.releaseConnection(M)}}}class DefaultQueryExecutor extends QueryExecutorBase{#e;#t;#r;constructor(e,M,tr,rr=[]){super(rr),this.#e=e,this.#t=M,this.#r=tr}get adapter(){return this.#t}compileQuery(e,M){return this.#e.compileQuery(e,M)}provideConnection(e){return this.#r.provideConnection(e)}withPlugins(e){return new DefaultQueryExecutor(this.#e,this.#t,this.#r,[...this.plugins,...e])}withPlugin(e){return new DefaultQueryExecutor(this.#e,this.#t,this.#r,[...this.plugins,e])}withPluginAtFront(e){return new DefaultQueryExecutor(this.#e,this.#t,this.#r,[e,...this.plugins])}withConnectionProvider(e){return new DefaultQueryExecutor(this.#e,this.#t,e,[...this.plugins])}withoutPlugins(){return new DefaultQueryExecutor(this.#e,this.#t,this.#r,[])}}function performanceNow(){return typeof performance<"u"&&isFunction(performance.now)?performance.now():Date.now()}class RuntimeDriver{#e;#t;#r;#o;#n;#s=new WeakSet;constructor(e,M){this.#o=!1,this.#e=e,this.#t=M}async init(){if(this.#n)throw new Error("driver has already been destroyed");this.#r||(this.#r=this.#e.init().then(()=>{this.#o=!0}).catch(e=>(this.#r=void 0,Promise.reject(e)))),await this.#r}async acquireConnection(){if(this.#n)throw new Error("driver has already been destroyed");this.#o||await this.init();const e=await this.#e.acquireConnection();return this.#s.has(e)||(this.#i()&&this.#a(e),this.#s.add(e)),e}async releaseConnection(e){await this.#e.releaseConnection(e)}beginTransaction(e,M){return this.#e.beginTransaction(e,M)}commitTransaction(e){return this.#e.commitTransaction(e)}rollbackTransaction(e){return this.#e.rollbackTransaction(e)}savepoint(e,M,tr){if(this.#e.savepoint)return this.#e.savepoint(e,M,tr);throw new Error("The `savepoint` method is not supported by this driver")}rollbackToSavepoint(e,M,tr){if(this.#e.rollbackToSavepoint)return this.#e.rollbackToSavepoint(e,M,tr);throw new Error("The `rollbackToSavepoint` method is not supported by this driver")}releaseSavepoint(e,M,tr){if(this.#e.releaseSavepoint)return this.#e.releaseSavepoint(e,M,tr);throw new Error("The `releaseSavepoint` method is not supported by this driver")}async destroy(){this.#r&&(await this.#r,this.#n||(this.#n=this.#e.destroy().catch(e=>(this.#n=void 0,Promise.reject(e)))),await this.#n)}#i(){return this.#t.isLevelEnabled("query")||this.#t.isLevelEnabled("error")}#a(e){const M=e.executeQuery,tr=e.streamQuery,rr=this;e.executeQuery=async ir=>{let lr;const dr=performanceNow();try{return await M.call(e,ir)}catch(mr){throw lr=mr,await rr.#l(mr,ir,dr),mr}finally{lr||await rr.#d(ir,dr)}},e.streamQuery=async function*(ir,lr){let dr;const mr=performanceNow();try{for await(const hr of tr.call(e,ir,lr))yield hr}catch(hr){throw dr=hr,await rr.#l(hr,ir,mr),hr}finally{dr||await rr.#d(ir,mr,!0)}}}async#l(e,M,tr){await this.#t.error(()=>({level:"error",error:e,query:M,queryDurationMillis:this.#c(tr)}))}async#d(e,M,tr=!1){await this.#t.query(()=>({level:"query",isStream:tr,query:e,queryDurationMillis:this.#c(M)}))}#c(e){return performanceNow()-e}}const ignoreError=()=>{};class SingleConnectionProvider{#e;#t;constructor(e){this.#e=e}async provideConnection(e){for(;this.#t;)await this.#t.catch(ignoreError);return this.#t=this.#r(e).finally(()=>{this.#t=void 0}),this.#t}async#r(e){return await e(this.#e)}}const TRANSACTION_ACCESS_MODES=["read only","read write"],TRANSACTION_ISOLATION_LEVELS=["read uncommitted","read committed","repeatable read","serializable","snapshot"];function validateTransactionSettings(r){if(r.accessMode&&!TRANSACTION_ACCESS_MODES.includes(r.accessMode))throw new Error(`invalid transaction access mode ${r.accessMode}`);if(r.isolationLevel&&!TRANSACTION_ISOLATION_LEVELS.includes(r.isolationLevel))throw new Error(`invalid transaction isolation level ${r.isolationLevel}`)}const logLevels=["query","error"];freeze(logLevels);class Log{#e;#t;constructor(e){isFunction(e)?(this.#t=e,this.#e=freeze({query:!0,error:!0})):(this.#t=defaultLogger,this.#e=freeze({query:e.includes("query"),error:e.includes("error")}))}isLevelEnabled(e){return this.#e[e]}async query(e){this.#e.query&&await this.#t(e())}async error(e){this.#e.error&&await this.#t(e())}}function defaultLogger(r){if(r.level==="query"){const e=`kysely:query:${r.isStream?"stream:":""}`;console.log(`${e} ${r.query.sql}`),console.log(`${e} duration: ${r.queryDurationMillis.toFixed(1)}ms`)}else r.level==="error"&&(r.error instanceof Error?console.error(`kysely:error: ${r.error.stack??r.error.message}`):console.error(`kysely:error: ${JSON.stringify({error:r.error,query:r.query.sql,queryDurationMillis:r.queryDurationMillis})}`))}function isCompilable(r){return isObject$1(r)&&isFunction(r.compile)}Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");class Kysely extends QueryCreator{#e;constructor(e){let M,tr;if(isKyselyProps(e))M={executor:e.executor},tr={...e};else{const rr=e.dialect,ir=rr.createDriver(),lr=rr.createQueryCompiler(),dr=rr.createAdapter(),mr=new Log(e.log??[]),hr=new RuntimeDriver(ir,mr),fr=new DefaultConnectionProvider(hr),_r=new DefaultQueryExecutor(lr,dr,fr,e.plugins??[]);M={executor:_r},tr={config:e,executor:_r,dialect:rr,driver:hr}}super(M),this.#e=freeze(tr)}get schema(){return new SchemaModule(this.#e.executor)}get dynamic(){return new DynamicModule}get introspection(){return this.#e.dialect.createIntrospector(this.withoutPlugins())}case(e){return new CaseBuilder({node:CaseNode.create(isUndefined(e)?void 0:parseExpression(e))})}get fn(){return createFunctionModule()}transaction(){return new TransactionBuilder({...this.#e})}startTransaction(){return new ControlledTransactionBuilder({...this.#e})}connection(){return new ConnectionBuilder({...this.#e})}withPlugin(e){return new Kysely({...this.#e,executor:this.#e.executor.withPlugin(e)})}withoutPlugins(){return new Kysely({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(e){return new Kysely({...this.#e,executor:this.#e.executor.withPluginAtFront(new WithSchemaPlugin(e))})}withTables(){return new Kysely({...this.#e})}async destroy(){await this.#e.driver.destroy()}get isTransaction(){return!1}getExecutor(){return this.#e.executor}executeQuery(e,M){M!==void 0&&logOnce("Passing `queryId` in `db.executeQuery` is deprecated and will result in a compile-time error in the future.");const tr=isCompilable(e)?e.compile():e;return this.getExecutor().executeQuery(tr)}async[Symbol.asyncDispose](){await this.destroy()}}class Transaction extends Kysely{#e;constructor(e){super(e),this.#e=e}get isTransaction(){return!0}transaction(){throw new Error("calling the transaction method for a Transaction is not supported")}connection(){throw new Error("calling the connection method for a Transaction is not supported")}async destroy(){throw new Error("calling the destroy method for a Transaction is not supported")}withPlugin(e){return new Transaction({...this.#e,executor:this.#e.executor.withPlugin(e)})}withoutPlugins(){return new Transaction({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(e){return new Transaction({...this.#e,executor:this.#e.executor.withPluginAtFront(new WithSchemaPlugin(e))})}withTables(){return new Transaction({...this.#e})}}function isKyselyProps(r){return isObject$1(r)&&isObject$1(r.config)&&isObject$1(r.driver)&&isObject$1(r.executor)&&isObject$1(r.dialect)}class ConnectionBuilder{#e;constructor(e){this.#e=freeze(e)}async execute(e){return this.#e.executor.provideConnection(async M=>{const tr=this.#e.executor.withConnectionProvider(new SingleConnectionProvider(M)),rr=new Kysely({...this.#e,executor:tr});return await e(rr)})}}class TransactionBuilder{#e;constructor(e){this.#e=freeze(e)}setAccessMode(e){return new TransactionBuilder({...this.#e,accessMode:e})}setIsolationLevel(e){return new TransactionBuilder({...this.#e,isolationLevel:e})}async execute(e){const{isolationLevel:M,accessMode:tr,...rr}=this.#e,ir={isolationLevel:M,accessMode:tr};return validateTransactionSettings(ir),this.#e.executor.provideConnection(async lr=>{const dr={isCommitted:!1,isRolledBack:!1},mr=new NotCommittedOrRolledBackAssertingExecutor(this.#e.executor.withConnectionProvider(new SingleConnectionProvider(lr)),dr),hr=new Transaction({...rr,executor:mr});let fr=!1;try{await this.#e.driver.beginTransaction(lr,ir),fr=!0;const _r=await e(hr);return await this.#e.driver.commitTransaction(lr),dr.isCommitted=!0,_r}catch(_r){throw fr&&(await this.#e.driver.rollbackTransaction(lr),dr.isRolledBack=!0),_r}})}}class ControlledTransactionBuilder{#e;constructor(e){this.#e=freeze(e)}setAccessMode(e){return new ControlledTransactionBuilder({...this.#e,accessMode:e})}setIsolationLevel(e){return new ControlledTransactionBuilder({...this.#e,isolationLevel:e})}async execute(){const{isolationLevel:e,accessMode:M,...tr}=this.#e,rr={isolationLevel:e,accessMode:M};validateTransactionSettings(rr);const ir=await provideControlledConnection(this.#e.executor);return await this.#e.driver.beginTransaction(ir.connection,rr),new ControlledTransaction({...tr,connection:ir,executor:this.#e.executor.withConnectionProvider(new SingleConnectionProvider(ir.connection))})}}class ControlledTransaction extends Transaction{#e;#t;#r;constructor(e){const M={isCommitted:!1,isRolledBack:!1};e={...e,executor:new NotCommittedOrRolledBackAssertingExecutor(e.executor,M)};const{connection:tr,...rr}=e;super(rr),this.#e=freeze(e),this.#r=M;const ir=createQueryId();this.#t=lr=>e.executor.compileQuery(lr,ir)}get isCommitted(){return this.#r.isCommitted}get isRolledBack(){return this.#r.isRolledBack}commit(){return assertNotCommittedOrRolledBack(this.#r),new Command(async()=>{await this.#e.driver.commitTransaction(this.#e.connection.connection),this.#r.isCommitted=!0,this.#e.connection.release()})}rollback(){return assertNotCommittedOrRolledBack(this.#r),new Command(async()=>{await this.#e.driver.rollbackTransaction(this.#e.connection.connection),this.#r.isRolledBack=!0,this.#e.connection.release()})}savepoint(e){return assertNotCommittedOrRolledBack(this.#r),new Command(async()=>(await this.#e.driver.savepoint?.(this.#e.connection.connection,e,this.#t),new ControlledTransaction({...this.#e})))}rollbackToSavepoint(e){return assertNotCommittedOrRolledBack(this.#r),new Command(async()=>(await this.#e.driver.rollbackToSavepoint?.(this.#e.connection.connection,e,this.#t),new ControlledTransaction({...this.#e})))}releaseSavepoint(e){return assertNotCommittedOrRolledBack(this.#r),new Command(async()=>(await this.#e.driver.releaseSavepoint?.(this.#e.connection.connection,e,this.#t),new ControlledTransaction({...this.#e})))}withPlugin(e){return new ControlledTransaction({...this.#e,executor:this.#e.executor.withPlugin(e)})}withoutPlugins(){return new ControlledTransaction({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(e){return new ControlledTransaction({...this.#e,executor:this.#e.executor.withPluginAtFront(new WithSchemaPlugin(e))})}withTables(){return new ControlledTransaction({...this.#e})}}class Command{#e;constructor(e){this.#e=e}async execute(){return await this.#e()}}function assertNotCommittedOrRolledBack(r){if(r.isCommitted)throw new Error("Transaction is already committed");if(r.isRolledBack)throw new Error("Transaction is already rolled back")}class NotCommittedOrRolledBackAssertingExecutor{#e;#t;constructor(e,M){e instanceof NotCommittedOrRolledBackAssertingExecutor?this.#e=e.#e:this.#e=e,this.#t=M}get adapter(){return this.#e.adapter}get plugins(){return this.#e.plugins}transformQuery(e,M){return this.#e.transformQuery(e,M)}compileQuery(e,M){return this.#e.compileQuery(e,M)}provideConnection(e){return this.#e.provideConnection(e)}executeQuery(e){return assertNotCommittedOrRolledBack(this.#t),this.#e.executeQuery(e)}stream(e,M){return assertNotCommittedOrRolledBack(this.#t),this.#e.stream(e,M)}withConnectionProvider(e){return new NotCommittedOrRolledBackAssertingExecutor(this.#e.withConnectionProvider(e),this.#t)}withPlugin(e){return new NotCommittedOrRolledBackAssertingExecutor(this.#e.withPlugin(e),this.#t)}withPlugins(e){return new NotCommittedOrRolledBackAssertingExecutor(this.#e.withPlugins(e),this.#t)}withPluginAtFront(e){return new NotCommittedOrRolledBackAssertingExecutor(this.#e.withPluginAtFront(e),this.#t)}withoutPlugins(){return new NotCommittedOrRolledBackAssertingExecutor(this.#e.withoutPlugins(),this.#t)}}class OperationNodeVisitor{nodeStack=[];get parentNode(){return this.nodeStack[this.nodeStack.length-2]}#e=freeze({AliasNode:this.visitAlias.bind(this),ColumnNode:this.visitColumn.bind(this),IdentifierNode:this.visitIdentifier.bind(this),SchemableIdentifierNode:this.visitSchemableIdentifier.bind(this),RawNode:this.visitRaw.bind(this),ReferenceNode:this.visitReference.bind(this),SelectQueryNode:this.visitSelectQuery.bind(this),SelectionNode:this.visitSelection.bind(this),TableNode:this.visitTable.bind(this),FromNode:this.visitFrom.bind(this),SelectAllNode:this.visitSelectAll.bind(this),AndNode:this.visitAnd.bind(this),OrNode:this.visitOr.bind(this),ValueNode:this.visitValue.bind(this),ValueListNode:this.visitValueList.bind(this),PrimitiveValueListNode:this.visitPrimitiveValueList.bind(this),ParensNode:this.visitParens.bind(this),JoinNode:this.visitJoin.bind(this),OperatorNode:this.visitOperator.bind(this),WhereNode:this.visitWhere.bind(this),InsertQueryNode:this.visitInsertQuery.bind(this),DeleteQueryNode:this.visitDeleteQuery.bind(this),ReturningNode:this.visitReturning.bind(this),CreateTableNode:this.visitCreateTable.bind(this),AddColumnNode:this.visitAddColumn.bind(this),ColumnDefinitionNode:this.visitColumnDefinition.bind(this),DropTableNode:this.visitDropTable.bind(this),DataTypeNode:this.visitDataType.bind(this),OrderByNode:this.visitOrderBy.bind(this),OrderByItemNode:this.visitOrderByItem.bind(this),GroupByNode:this.visitGroupBy.bind(this),GroupByItemNode:this.visitGroupByItem.bind(this),UpdateQueryNode:this.visitUpdateQuery.bind(this),ColumnUpdateNode:this.visitColumnUpdate.bind(this),LimitNode:this.visitLimit.bind(this),OffsetNode:this.visitOffset.bind(this),OnConflictNode:this.visitOnConflict.bind(this),OnDuplicateKeyNode:this.visitOnDuplicateKey.bind(this),CreateIndexNode:this.visitCreateIndex.bind(this),DropIndexNode:this.visitDropIndex.bind(this),ListNode:this.visitList.bind(this),PrimaryKeyConstraintNode:this.visitPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.visitUniqueConstraint.bind(this),ReferencesNode:this.visitReferences.bind(this),CheckConstraintNode:this.visitCheckConstraint.bind(this),WithNode:this.visitWith.bind(this),CommonTableExpressionNode:this.visitCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.visitCommonTableExpressionName.bind(this),HavingNode:this.visitHaving.bind(this),CreateSchemaNode:this.visitCreateSchema.bind(this),DropSchemaNode:this.visitDropSchema.bind(this),AlterTableNode:this.visitAlterTable.bind(this),DropColumnNode:this.visitDropColumn.bind(this),RenameColumnNode:this.visitRenameColumn.bind(this),AlterColumnNode:this.visitAlterColumn.bind(this),ModifyColumnNode:this.visitModifyColumn.bind(this),AddConstraintNode:this.visitAddConstraint.bind(this),DropConstraintNode:this.visitDropConstraint.bind(this),RenameConstraintNode:this.visitRenameConstraint.bind(this),ForeignKeyConstraintNode:this.visitForeignKeyConstraint.bind(this),CreateViewNode:this.visitCreateView.bind(this),RefreshMaterializedViewNode:this.visitRefreshMaterializedView.bind(this),DropViewNode:this.visitDropView.bind(this),GeneratedNode:this.visitGenerated.bind(this),DefaultValueNode:this.visitDefaultValue.bind(this),OnNode:this.visitOn.bind(this),ValuesNode:this.visitValues.bind(this),SelectModifierNode:this.visitSelectModifier.bind(this),CreateTypeNode:this.visitCreateType.bind(this),DropTypeNode:this.visitDropType.bind(this),ExplainNode:this.visitExplain.bind(this),DefaultInsertValueNode:this.visitDefaultInsertValue.bind(this),AggregateFunctionNode:this.visitAggregateFunction.bind(this),OverNode:this.visitOver.bind(this),PartitionByNode:this.visitPartitionBy.bind(this),PartitionByItemNode:this.visitPartitionByItem.bind(this),SetOperationNode:this.visitSetOperation.bind(this),BinaryOperationNode:this.visitBinaryOperation.bind(this),UnaryOperationNode:this.visitUnaryOperation.bind(this),UsingNode:this.visitUsing.bind(this),FunctionNode:this.visitFunction.bind(this),CaseNode:this.visitCase.bind(this),WhenNode:this.visitWhen.bind(this),JSONReferenceNode:this.visitJSONReference.bind(this),JSONPathNode:this.visitJSONPath.bind(this),JSONPathLegNode:this.visitJSONPathLeg.bind(this),JSONOperatorChainNode:this.visitJSONOperatorChain.bind(this),TupleNode:this.visitTuple.bind(this),MergeQueryNode:this.visitMergeQuery.bind(this),MatchedNode:this.visitMatched.bind(this),AddIndexNode:this.visitAddIndex.bind(this),CastNode:this.visitCast.bind(this),FetchNode:this.visitFetch.bind(this),TopNode:this.visitTop.bind(this),OutputNode:this.visitOutput.bind(this),OrActionNode:this.visitOrAction.bind(this),CollateNode:this.visitCollate.bind(this)});visitNode=e=>{this.nodeStack.push(e),this.#e[e.kind](e),this.nodeStack.pop()}}const LIT_WRAP_REGEX=/'/g;class DefaultQueryCompiler extends OperationNodeVisitor{#e="";#t=[];get numParameters(){return this.#t.length}compileQuery(e,M){return this.#e="",this.#t=[],this.nodeStack.splice(0,this.nodeStack.length),this.visitNode(e),freeze({query:e,queryId:M,sql:this.getSql(),parameters:[...this.#t]})}getSql(){return this.#e}visitSelectQuery(e){const M=this.parentNode!==void 0&&!ParensNode.is(this.parentNode)&&!InsertQueryNode.is(this.parentNode)&&!CreateTableNode.is(this.parentNode)&&!CreateViewNode.is(this.parentNode)&&!SetOperationNode.is(this.parentNode);this.parentNode===void 0&&e.explain&&(this.visitNode(e.explain),this.append(" ")),M&&this.append("("),e.with&&(this.visitNode(e.with),this.append(" ")),this.append("select"),e.distinctOn&&(this.append(" "),this.compileDistinctOn(e.distinctOn)),e.frontModifiers?.length&&(this.append(" "),this.compileList(e.frontModifiers," ")),e.top&&(this.append(" "),this.visitNode(e.top)),e.selections&&(this.append(" "),this.compileList(e.selections)),e.from&&(this.append(" "),this.visitNode(e.from)),e.joins&&(this.append(" "),this.compileList(e.joins," ")),e.where&&(this.append(" "),this.visitNode(e.where)),e.groupBy&&(this.append(" "),this.visitNode(e.groupBy)),e.having&&(this.append(" "),this.visitNode(e.having)),e.setOperations&&(this.append(" "),this.compileList(e.setOperations," ")),e.orderBy&&(this.append(" "),this.visitNode(e.orderBy)),e.limit&&(this.append(" "),this.visitNode(e.limit)),e.offset&&(this.append(" "),this.visitNode(e.offset)),e.fetch&&(this.append(" "),this.visitNode(e.fetch)),e.endModifiers?.length&&(this.append(" "),this.compileList(this.sortSelectModifiers([...e.endModifiers])," ")),M&&this.append(")")}visitFrom(e){this.append("from "),this.compileList(e.froms)}visitSelection(e){this.visitNode(e.selection)}visitColumn(e){this.visitNode(e.column)}compileDistinctOn(e){this.append("distinct on ("),this.compileList(e),this.append(")")}compileList(e,M=", "){const tr=e.length-1;for(let rr=0;rr<=tr;rr++)this.visitNode(e[rr]),rr<tr&&this.append(M)}visitWhere(e){this.append("where "),this.visitNode(e.where)}visitHaving(e){this.append("having "),this.visitNode(e.having)}visitInsertQuery(e){const M=this.parentNode!==void 0&&!ParensNode.is(this.parentNode)&&!RawNode.is(this.parentNode)&&!WhenNode.is(this.parentNode);this.parentNode===void 0&&e.explain&&(this.visitNode(e.explain),this.append(" ")),M&&this.append("("),e.with&&(this.visitNode(e.with),this.append(" ")),this.append(e.replace?"replace":"insert"),e.ignore&&(logOnce("`InsertQueryNode.ignore` is deprecated. Use `InsertQueryNode.orAction` instead."),this.append(" ignore")),e.orAction&&(this.append(" "),this.visitNode(e.orAction)),e.top&&(this.append(" "),this.visitNode(e.top)),e.into&&(this.append(" into "),this.visitNode(e.into)),e.columns&&(this.append(" ("),this.compileList(e.columns),this.append(")")),e.output&&(this.append(" "),this.visitNode(e.output)),e.values&&(this.append(" "),this.visitNode(e.values)),e.defaultValues&&(this.append(" "),this.append("default values")),e.onConflict&&(this.append(" "),this.visitNode(e.onConflict)),e.onDuplicateKey&&(this.append(" "),this.visitNode(e.onDuplicateKey)),e.returning&&(this.append(" "),this.visitNode(e.returning)),M&&this.append(")"),e.endModifiers?.length&&(this.append(" "),this.compileList(e.endModifiers," "))}visitValues(e){this.append("values "),this.compileList(e.values)}visitDeleteQuery(e){const M=this.parentNode!==void 0&&!ParensNode.is(this.parentNode)&&!RawNode.is(this.parentNode);this.parentNode===void 0&&e.explain&&(this.visitNode(e.explain),this.append(" ")),M&&this.append("("),e.with&&(this.visitNode(e.with),this.append(" ")),this.append("delete "),e.top&&(this.visitNode(e.top),this.append(" ")),this.visitNode(e.from),e.output&&(this.append(" "),this.visitNode(e.output)),e.using&&(this.append(" "),this.visitNode(e.using)),e.joins&&(this.append(" "),this.compileList(e.joins," ")),e.where&&(this.append(" "),this.visitNode(e.where)),e.orderBy&&(this.append(" "),this.visitNode(e.orderBy)),e.limit&&(this.append(" "),this.visitNode(e.limit)),e.returning&&(this.append(" "),this.visitNode(e.returning)),M&&this.append(")"),e.endModifiers?.length&&(this.append(" "),this.compileList(e.endModifiers," "))}visitReturning(e){this.append("returning "),this.compileList(e.selections)}visitAlias(e){this.visitNode(e.node),this.append(" as "),this.visitNode(e.alias)}visitReference(e){e.table&&(this.visitNode(e.table),this.append(".")),this.visitNode(e.column)}visitSelectAll(e){this.append("*")}visitIdentifier(e){this.append(this.getLeftIdentifierWrapper()),this.compileUnwrappedIdentifier(e),this.append(this.getRightIdentifierWrapper())}compileUnwrappedIdentifier(e){if(!isString$1(e.name))throw new Error("a non-string identifier was passed to compileUnwrappedIdentifier.");this.append(this.sanitizeIdentifier(e.name))}visitAnd(e){this.visitNode(e.left),this.append(" and "),this.visitNode(e.right)}visitOr(e){this.visitNode(e.left),this.append(" or "),this.visitNode(e.right)}visitValue(e){e.immediate?this.appendImmediateValue(e.value):this.appendValue(e.value)}visitValueList(e){this.append("("),this.compileList(e.values),this.append(")")}visitTuple(e){this.append("("),this.compileList(e.values),this.append(")")}visitPrimitiveValueList(e){this.append("(");const{values:M}=e;for(let tr=0;tr<M.length;++tr)this.appendValue(M[tr]),tr!==M.length-1&&this.append(", ");this.append(")")}visitParens(e){this.append("("),this.visitNode(e.node),this.append(")")}visitJoin(e){this.append(JOIN_TYPE_SQL[e.joinType]),this.append(" "),this.visitNode(e.table),e.on&&(this.append(" "),this.visitNode(e.on))}visitOn(e){this.append("on "),this.visitNode(e.on)}visitRaw(e){const{sqlFragments:M,parameters:tr}=e;for(let rr=0;rr<M.length;++rr)this.append(M[rr]),tr.length>rr&&this.visitNode(tr[rr])}visitOperator(e){this.append(e.operator)}visitTable(e){this.visitNode(e.table)}visitSchemableIdentifier(e){e.schema&&(this.visitNode(e.schema),this.append(".")),this.visitNode(e.identifier)}visitCreateTable(e){this.append("create "),e.frontModifiers&&e.frontModifiers.length>0&&(this.compileList(e.frontModifiers," "),this.append(" ")),e.temporary&&this.append("temporary "),this.append("table "),e.ifNotExists&&this.append("if not exists "),this.visitNode(e.table),e.selectQuery?(this.append(" as "),this.visitNode(e.selectQuery)):(this.append(" ("),this.compileList([...e.columns,...e.constraints??[]]),this.append(")"),e.onCommit&&(this.append(" on commit "),this.append(e.onCommit)),e.endModifiers&&e.endModifiers.length>0&&(this.append(" "),this.compileList(e.endModifiers," ")))}visitColumnDefinition(e){e.ifNotExists&&this.append("if not exists "),this.visitNode(e.column),this.append(" "),this.visitNode(e.dataType),e.unsigned&&this.append(" unsigned"),e.frontModifiers&&e.frontModifiers.length>0&&(this.append(" "),this.compileList(e.frontModifiers," ")),e.generated&&(this.append(" "),this.visitNode(e.generated)),e.identity&&this.append(" identity"),e.defaultTo&&(this.append(" "),this.visitNode(e.defaultTo)),e.notNull&&this.append(" not null"),e.unique&&this.append(" unique"),e.nullsNotDistinct&&this.append(" nulls not distinct"),e.primaryKey&&this.append(" primary key"),e.autoIncrement&&(this.append(" "),this.append(this.getAutoIncrement())),e.references&&(this.append(" "),this.visitNode(e.references)),e.check&&(this.append(" "),this.visitNode(e.check)),e.endModifiers&&e.endModifiers.length>0&&(this.append(" "),this.compileList(e.endModifiers," "))}getAutoIncrement(){return"auto_increment"}visitReferences(e){this.append("references "),this.visitNode(e.table),this.append(" ("),this.compileList(e.columns),this.append(")"),e.onDelete&&(this.append(" on delete "),this.append(e.onDelete)),e.onUpdate&&(this.append(" on update "),this.append(e.onUpdate))}visitDropTable(e){this.append("drop table "),e.ifExists&&this.append("if exists "),this.visitNode(e.table),e.cascade&&this.append(" cascade")}visitDataType(e){this.append(e.dataType)}visitOrderBy(e){this.append("order by "),this.compileList(e.items)}visitOrderByItem(e){this.visitNode(e.orderBy),e.collation&&(this.append(" "),this.visitNode(e.collation)),e.direction&&(this.append(" "),this.visitNode(e.direction)),e.nulls&&(this.append(" nulls "),this.append(e.nulls))}visitGroupBy(e){this.append("group by "),this.compileList(e.items)}visitGroupByItem(e){this.visitNode(e.groupBy)}visitUpdateQuery(e){const M=this.parentNode!==void 0&&!ParensNode.is(this.parentNode)&&!RawNode.is(this.parentNode)&&!WhenNode.is(this.parentNode);if(this.parentNode===void 0&&e.explain&&(this.visitNode(e.explain),this.append(" ")),M&&this.append("("),e.with&&(this.visitNode(e.with),this.append(" ")),this.append("update "),e.top&&(this.visitNode(e.top),this.append(" ")),e.table&&(this.visitNode(e.table),this.append(" ")),this.append("set "),e.updates&&this.compileList(e.updates),e.output&&(this.append(" "),this.visitNode(e.output)),e.from&&(this.append(" "),this.visitNode(e.from)),e.joins){if(!e.from)throw new Error("Joins in an update query are only supported as a part of a PostgreSQL 'update set from join' query. If you want to create a MySQL 'update join set' query, see https://kysely.dev/docs/examples/update/my-sql-joins");this.append(" "),this.compileList(e.joins," ")}e.where&&(this.append(" "),this.visitNode(e.where)),e.returning&&(this.append(" "),this.visitNode(e.returning)),e.orderBy&&(this.append(" "),this.visitNode(e.orderBy)),e.limit&&(this.append(" "),this.visitNode(e.limit)),M&&this.append(")"),e.endModifiers?.length&&(this.append(" "),this.compileList(e.endModifiers," "))}visitColumnUpdate(e){this.visitNode(e.column),this.append(" = "),this.visitNode(e.value)}visitLimit(e){this.append("limit "),this.visitNode(e.limit)}visitOffset(e){this.append("offset "),this.visitNode(e.offset)}visitOnConflict(e){this.append("on conflict"),e.columns?(this.append(" ("),this.compileList(e.columns),this.append(")")):e.constraint?(this.append(" on constraint "),this.visitNode(e.constraint)):e.indexExpression&&(this.append(" ("),this.visitNode(e.indexExpression),this.append(")")),e.indexWhere&&(this.append(" "),this.visitNode(e.indexWhere)),e.doNothing===!0?this.append(" do nothing"):e.updates&&(this.append(" do update set "),this.compileList(e.updates),e.updateWhere&&(this.append(" "),this.visitNode(e.updateWhere)))}visitOnDuplicateKey(e){this.append("on duplicate key update "),this.compileList(e.updates)}visitCreateIndex(e){this.append("create "),e.unique&&this.append("unique "),this.append("index "),e.ifNotExists&&this.append("if not exists "),this.visitNode(e.name),e.table&&(this.append(" on "),this.visitNode(e.table)),e.using&&(this.append(" using "),this.visitNode(e.using)),e.columns&&(this.append(" ("),this.compileList(e.columns),this.append(")")),e.nullsNotDistinct&&this.append(" nulls not distinct"),e.where&&(this.append(" "),this.visitNode(e.where))}visitDropIndex(e){this.append("drop index "),e.ifExists&&this.append("if exists "),this.visitNode(e.name),e.table&&(this.append(" on "),this.visitNode(e.table)),e.cascade&&this.append(" cascade")}visitCreateSchema(e){this.append("create schema "),e.ifNotExists&&this.append("if not exists "),this.visitNode(e.schema)}visitDropSchema(e){this.append("drop schema "),e.ifExists&&this.append("if exists "),this.visitNode(e.schema),e.cascade&&this.append(" cascade")}visitPrimaryKeyConstraint(e){e.name&&(this.append("constraint "),this.visitNode(e.name),this.append(" ")),this.append("primary key ("),this.compileList(e.columns),this.append(")"),this.buildDeferrable(e)}buildDeferrable(e){e.deferrable!==void 0&&(e.deferrable?this.append(" deferrable"):this.append(" not deferrable")),e.initiallyDeferred!==void 0&&(e.initiallyDeferred?this.append(" initially deferred"):this.append(" initially immediate"))}visitUniqueConstraint(e){e.name&&(this.append("constraint "),this.visitNode(e.name),this.append(" ")),this.append("unique"),e.nullsNotDistinct&&this.append(" nulls not distinct"),this.append(" ("),this.compileList(e.columns),this.append(")"),this.buildDeferrable(e)}visitCheckConstraint(e){e.name&&(this.append("constraint "),this.visitNode(e.name),this.append(" ")),this.append("check ("),this.visitNode(e.expression),this.append(")")}visitForeignKeyConstraint(e){e.name&&(this.append("constraint "),this.visitNode(e.name),this.append(" ")),this.append("foreign key ("),this.compileList(e.columns),this.append(") "),this.visitNode(e.references),e.onDelete&&(this.append(" on delete "),this.append(e.onDelete)),e.onUpdate&&(this.append(" on update "),this.append(e.onUpdate)),this.buildDeferrable(e)}visitList(e){this.compileList(e.items)}visitWith(e){this.append("with "),e.recursive&&this.append("recursive "),this.compileList(e.expressions)}visitCommonTableExpression(e){this.visitNode(e.name),this.append(" as "),isBoolean(e.materialized)&&(e.materialized||this.append("not "),this.append("materialized ")),this.visitNode(e.expression)}visitCommonTableExpressionName(e){this.visitNode(e.table),e.columns&&(this.append("("),this.compileList(e.columns),this.append(")"))}visitAlterTable(e){this.append("alter table "),this.visitNode(e.table),this.append(" "),e.renameTo&&(this.append("rename to "),this.visitNode(e.renameTo)),e.setSchema&&(this.append("set schema "),this.visitNode(e.setSchema)),e.addConstraint&&this.visitNode(e.addConstraint),e.dropConstraint&&this.visitNode(e.dropConstraint),e.renameConstraint&&this.visitNode(e.renameConstraint),e.columnAlterations&&this.compileColumnAlterations(e.columnAlterations),e.addIndex&&this.visitNode(e.addIndex),e.dropIndex&&this.visitNode(e.dropIndex)}visitAddColumn(e){this.append("add column "),this.visitNode(e.column)}visitRenameColumn(e){this.append("rename column "),this.visitNode(e.column),this.append(" to "),this.visitNode(e.renameTo)}visitDropColumn(e){this.append("drop column "),this.visitNode(e.column)}visitAlterColumn(e){this.append("alter column "),this.visitNode(e.column),this.append(" "),e.dataType&&(this.announcesNewColumnDataType()&&this.append("type "),this.visitNode(e.dataType),e.dataTypeExpression&&(this.append("using "),this.visitNode(e.dataTypeExpression))),e.setDefault&&(this.append("set default "),this.visitNode(e.setDefault)),e.dropDefault&&this.append("drop default"),e.setNotNull&&this.append("set not null"),e.dropNotNull&&this.append("drop not null")}visitModifyColumn(e){this.append("modify column "),this.visitNode(e.column)}visitAddConstraint(e){this.append("add "),this.visitNode(e.constraint)}visitDropConstraint(e){this.append("drop constraint "),e.ifExists&&this.append("if exists "),this.visitNode(e.constraintName),e.modifier==="cascade"?this.append(" cascade"):e.modifier==="restrict"&&this.append(" restrict")}visitRenameConstraint(e){this.append("rename constraint "),this.visitNode(e.oldName),this.append(" to "),this.visitNode(e.newName)}visitSetOperation(e){this.append(e.operator),this.append(" "),e.all&&this.append("all "),this.visitNode(e.expression)}visitCreateView(e){this.append("create "),e.orReplace&&this.append("or replace "),e.materialized&&this.append("materialized "),e.temporary&&this.append("temporary "),this.append("view "),e.ifNotExists&&this.append("if not exists "),this.visitNode(e.name),this.append(" "),e.columns&&(this.append("("),this.compileList(e.columns),this.append(") ")),e.as&&(this.append("as "),this.visitNode(e.as))}visitRefreshMaterializedView(e){this.append("refresh materialized view "),e.concurrently&&this.append("concurrently "),this.visitNode(e.name),e.withNoData?this.append(" with no data"):this.append(" with data")}visitDropView(e){this.append("drop "),e.materialized&&this.append("materialized "),this.append("view "),e.ifExists&&this.append("if exists "),this.visitNode(e.name),e.cascade&&this.append(" cascade")}visitGenerated(e){this.append("generated "),e.always&&this.append("always "),e.byDefault&&this.append("by default "),this.append("as "),e.identity&&this.append("identity"),e.expression&&(this.append("("),this.visitNode(e.expression),this.append(")")),e.stored&&this.append(" stored")}visitDefaultValue(e){this.append("default "),this.visitNode(e.defaultValue)}visitSelectModifier(e){e.rawModifier?this.visitNode(e.rawModifier):this.append(SELECT_MODIFIER_SQL[e.modifier]),e.of&&(this.append(" of "),this.compileList(e.of,", "))}visitCreateType(e){this.append("create type "),this.visitNode(e.name),e.enum&&(this.append(" as enum "),this.visitNode(e.enum))}visitDropType(e){this.append("drop type "),e.ifExists&&this.append("if exists "),this.visitNode(e.name)}visitExplain(e){this.append("explain"),(e.options||e.format)&&(this.append(" "),this.append(this.getLeftExplainOptionsWrapper()),e.options&&(this.visitNode(e.options),e.format&&this.append(this.getExplainOptionsDelimiter())),e.format&&(this.append("format"),this.append(this.getExplainOptionAssignment()),this.append(e.format)),this.append(this.getRightExplainOptionsWrapper()))}visitDefaultInsertValue(e){this.append("default")}visitAggregateFunction(e){this.append(e.func),this.append("("),e.distinct&&this.append("distinct "),this.compileList(e.aggregated),e.orderBy&&(this.append(" "),this.visitNode(e.orderBy)),this.append(")"),e.withinGroup&&(this.append(" within group ("),this.visitNode(e.withinGroup),this.append(")")),e.filter&&(this.append(" filter("),this.visitNode(e.filter),this.append(")")),e.over&&(this.append(" "),this.visitNode(e.over))}visitOver(e){this.append("over("),e.partitionBy&&(this.visitNode(e.partitionBy),e.orderBy&&this.append(" ")),e.orderBy&&this.visitNode(e.orderBy),this.append(")")}visitPartitionBy(e){this.append("partition by "),this.compileList(e.items)}visitPartitionByItem(e){this.visitNode(e.partitionBy)}visitBinaryOperation(e){this.visitNode(e.leftOperand),this.append(" "),this.visitNode(e.operator),this.append(" "),this.visitNode(e.rightOperand)}visitUnaryOperation(e){this.visitNode(e.operator),this.isMinusOperator(e.operator)||this.append(" "),this.visitNode(e.operand)}isMinusOperator(e){return OperatorNode.is(e)&&e.operator==="-"}visitUsing(e){this.append("using "),this.compileList(e.tables)}visitFunction(e){this.append(e.func),this.append("("),this.compileList(e.arguments),this.append(")")}visitCase(e){this.append("case"),e.value&&(this.append(" "),this.visitNode(e.value)),e.when&&(this.append(" "),this.compileList(e.when," ")),e.else&&(this.append(" else "),this.visitNode(e.else)),this.append(" end"),e.isStatement&&this.append(" case")}visitWhen(e){this.append("when "),this.visitNode(e.condition),e.result&&(this.append(" then "),this.visitNode(e.result))}visitJSONReference(e){this.visitNode(e.reference),this.visitNode(e.traversal)}visitJSONPath(e){e.inOperator&&this.visitNode(e.inOperator),this.append("'$");for(const M of e.pathLegs)this.visitNode(M);this.append("'")}visitJSONPathLeg(e){const M=e.type==="ArrayLocation";this.append(M?"[":"."),this.append(String(e.value)),M&&this.append("]")}visitJSONOperatorChain(e){for(let M=0,tr=e.values.length;M<tr;M++)M===tr-1?this.visitNode(e.operator):this.append("->"),this.visitNode(e.values[M])}visitMergeQuery(e){e.with&&(this.visitNode(e.with),this.append(" ")),this.append("merge "),e.top&&(this.visitNode(e.top),this.append(" ")),this.append("into "),this.visitNode(e.into),e.using&&(this.append(" "),this.visitNode(e.using)),e.whens&&(this.append(" "),this.compileList(e.whens," ")),e.returning&&(this.append(" "),this.visitNode(e.returning)),e.output&&(this.append(" "),this.visitNode(e.output)),e.endModifiers?.length&&(this.append(" "),this.compileList(e.endModifiers," "))}visitMatched(e){e.not&&this.append("not "),this.append("matched"),e.bySource&&this.append(" by source")}visitAddIndex(e){this.append("add "),e.unique&&this.append("unique "),this.append("index "),this.visitNode(e.name),e.columns&&(this.append(" ("),this.compileList(e.columns),this.append(")")),e.using&&(this.append(" using "),this.visitNode(e.using))}visitCast(e){this.append("cast("),this.visitNode(e.expression),this.append(" as "),this.visitNode(e.dataType),this.append(")")}visitFetch(e){this.append("fetch next "),this.visitNode(e.rowCount),this.append(` rows ${e.modifier}`)}visitOutput(e){this.append("output "),this.compileList(e.selections)}visitTop(e){this.append(`top(${e.expression})`),e.modifiers&&this.append(` ${e.modifiers}`)}visitOrAction(e){this.append(e.action)}visitCollate(e){this.append("collate "),this.visitNode(e.collation)}append(e){this.#e+=e}appendValue(e){this.addParameter(e),this.append(this.getCurrentParameterPlaceholder())}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getCurrentParameterPlaceholder(){return"$"+this.numParameters}getLeftExplainOptionsWrapper(){return"("}getExplainOptionAssignment(){return" "}getExplainOptionsDelimiter(){return", "}getRightExplainOptionsWrapper(){return")"}sanitizeIdentifier(e){const M=this.getLeftIdentifierWrapper(),tr=this.getRightIdentifierWrapper();let rr="";for(const ir of e)rr+=ir,ir===M?rr+=M:ir===tr&&(rr+=tr);return rr}sanitizeStringLiteral(e){return e.replace(LIT_WRAP_REGEX,"''")}addParameter(e){this.#t.push(e)}appendImmediateValue(e){if(isString$1(e))this.appendStringLiteral(e);else if(isNumber(e)||isBoolean(e)||isBigInt(e))this.append(e.toString());else if(isNull(e))this.append("null");else if(isDate(e))this.appendImmediateValue(e.toISOString());else throw new Error(`invalid immediate value ${e}`)}appendStringLiteral(e){this.append("'"),this.append(this.sanitizeStringLiteral(e)),this.append("'")}sortSelectModifiers(e){return e.sort((M,tr)=>M.modifier&&tr.modifier?SELECT_MODIFIER_PRIORITY[M.modifier]-SELECT_MODIFIER_PRIORITY[tr.modifier]:1),freeze(e)}compileColumnAlterations(e){this.compileList(e)}announcesNewColumnDataType(){return!0}}const SELECT_MODIFIER_SQL=freeze({ForKeyShare:"for key share",ForNoKeyUpdate:"for no key update",ForUpdate:"for update",ForShare:"for share",NoWait:"nowait",SkipLocked:"skip locked",Distinct:"distinct"}),SELECT_MODIFIER_PRIORITY=freeze({ForKeyShare:1,ForNoKeyUpdate:1,ForUpdate:1,ForShare:1,NoWait:2,SkipLocked:2,Distinct:0}),JOIN_TYPE_SQL=freeze({InnerJoin:"inner join",LeftJoin:"left join",RightJoin:"right join",FullJoin:"full join",CrossJoin:"cross join",LateralInnerJoin:"inner join lateral",LateralLeftJoin:"left join lateral",LateralCrossJoin:"cross join lateral",OuterApply:"outer apply",CrossApply:"cross apply",Using:"using"}),CompiledQuery=freeze({raw(r,e=[]){return freeze({sql:r,query:RawNode.createWithSql(r),parameters:freeze(e),queryId:createQueryId()})}});class DialectAdapterBase{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!1}get supportsOutput(){return!1}}const ID_WRAP_REGEX=/"/g;class PostgresQueryCompiler extends DefaultQueryCompiler{sanitizeIdentifier(e){return e.replace(ID_WRAP_REGEX,'""')}}class PostgresIntrospector{#e;constructor(e){this.#e=e}async getSchemas(){return(await this.#e.selectFrom("pg_catalog.pg_namespace").select("nspname").$castTo().execute()).map(M=>({name:M.nspname}))}async getTables(e={withInternalKyselyTables:!1}){let M=this.#e.selectFrom("pg_catalog.pg_attribute as a").innerJoin("pg_catalog.pg_class as c","a.attrelid","c.oid").innerJoin("pg_catalog.pg_namespace as ns","c.relnamespace","ns.oid").innerJoin("pg_catalog.pg_type as typ","a.atttypid","typ.oid").innerJoin("pg_catalog.pg_namespace as dtns","typ.typnamespace","dtns.oid").select(["a.attname as column","a.attnotnull as not_null","a.atthasdef as has_default","c.relname as table","c.relkind as table_type","ns.nspname as schema","typ.typname as type","dtns.nspname as type_schema",sql`col_description(a.attrelid, a.attnum)`.as("column_description"),sql`pg_get_serial_sequence(quote_ident(ns.nspname) || '.' || quote_ident(c.relname), a.attname)`.as("auto_incrementing")]).where("c.relkind","in",["r","v","p"]).where("ns.nspname","!~","^pg_").where("ns.nspname","!=","information_schema").where("ns.nspname","!=","crdb_internal").where(sql`has_schema_privilege(ns.nspname, 'USAGE')`).where("a.attnum",">=",0).where("a.attisdropped","!=",!0).orderBy("ns.nspname").orderBy("c.relname").orderBy("a.attnum").$castTo();e.withInternalKyselyTables||(M=M.where("c.relname","!=",DEFAULT_MIGRATION_TABLE).where("c.relname","!=",DEFAULT_MIGRATION_LOCK_TABLE));const tr=await M.execute();return this.#t(tr)}async getMetadata(e){return{tables:await this.getTables(e)}}#t(e){return e.reduce((M,tr)=>{let rr=M.find(ir=>ir.name===tr.table&&ir.schema===tr.schema);return rr||(rr=freeze({name:tr.table,isView:tr.table_type==="v",schema:tr.schema,columns:[]}),M.push(rr)),rr.columns.push(freeze({name:tr.column,dataType:tr.type,dataTypeSchema:tr.type_schema,isNullable:!tr.not_null,isAutoIncrementing:tr.auto_incrementing!==null,hasDefaultValue:tr.has_default,comment:tr.column_description??void 0})),M},[])}}const LOCK_ID=BigInt("3853314791062309107");class PostgresAdapter extends DialectAdapterBase{get supportsTransactionalDdl(){return!0}get supportsReturning(){return!0}async acquireMigrationLock(e,M){await sql`select pg_advisory_xact_lock(${sql.lit(LOCK_ID)})`.execute(e)}async releaseMigrationLock(e,M){}}var PGliteConnection=class{client;constructor(r){this.client=r}async executeQuery(r){const e=await this.client.query(r.sql,[...r.parameters]);return e.affectedRows?{numAffectedRows:BigInt(e.affectedRows),rows:e.rows}:{rows:e.rows}}async*streamQuery(r,e){if(!Number.isInteger(e)||e<=0)throw new Error("chunkSize must be a positive integer");const M=await this.client.query(r.sql,[...r.parameters]);for(let tr=0;tr<M.rows.length;tr=tr+e)yield{rows:M.rows.slice(tr,tr+e)}}},PGliteDialect=class{constructor(r){this.pgLite=r}createAdapter(){return new PostgresAdapter}createDriver(){return new PGliteDriver(this.pgLite)}createQueryCompiler(){return new PostgresQueryCompiler}createIntrospector(r){return new PostgresIntrospector(r)}},PGliteDriver=class{client;connection;queue=[];constructor(r){this.client=r}async init(){}async acquireConnection(){if(this.client===void 0)throw new Error("PGLite not initialized");return this.connection!==void 0?new Promise(r=>{this.queue.push(r)}):(this.connection=new PGliteConnection(this.client),this.connection)}async releaseConnection(r){if(r!==this.connection)throw new Error("Invalid connection");const M=this.queue.splice(0,1)[0];if(M===void 0){this.connection=void 0;return}M(this.connection)}async beginTransaction(r,e){e.isolationLevel?await r.executeQuery(CompiledQuery.raw(`start transaction isolation level ${e.isolationLevel}`)):await r.executeQuery(CompiledQuery.raw("begin"))}async commitTransaction(r){await r.executeQuery(CompiledQuery.raw("commit"))}async rollbackTransaction(r){await r.executeQuery(CompiledQuery.raw("rollback"))}async destroy(){this.client=void 0}};class CollectionMembershipCache{operationIndex;cache=new Map;constructor(e){this.operationIndex=e}async getCollectionsForDocuments(e){const M={},tr=[];for(const rr of e){const ir=this.cache.get(rr);ir!==void 0?M[rr]=ir:tr.push(rr)}if(tr.length>0){const rr=await this.operationIndex.getCollectionsForDocuments(tr);for(const ir of tr){const lr=rr[ir]??[];M[ir]=lr,this.cache.set(ir,lr)}}return M}invalidate(e){this.cache.delete(e)}}class DocumentDeletedError extends Error{documentId;deletedAtUtcIso;constructor(e,M=null){const tr=M?`Document ${e} was deleted at ${M}`:`Document ${e} has been deleted`;super(tr),this.name="DocumentDeletedError",this.documentId=e,this.deletedAtUtcIso=M,Error.captureStackTrace(this,DocumentDeletedError)}}let InvalidSignatureError$1=class mo extends Error{documentId;reason;constructor(e,M){super(`Invalid signature in document ${e}: ${M}`),this.name="InvalidSignatureError",this.documentId=e,this.reason=M,Error.captureStackTrace(this,mo)}};class DowngradeNotSupportedError extends Error{documentType;fromVersion;toVersion;constructor(e,M,tr){super(`Downgrade not supported for ${e}: cannot upgrade from version ${M} to ${tr}`),this.name="DowngradeNotSupportedError",this.documentType=e,this.fromVersion=M,this.toVersion=tr,Error.captureStackTrace(this,DowngradeNotSupportedError)}}function createDocumentFromAction(r){const e=r.input,M=createPresignedHeader();M.id=e.documentId,M.documentType=e.model,e.signing&&(M.createdAtUtcIso=e.signing.createdAtUtcIso,M.lastModifiedAtUtcIso=e.signing.createdAtUtcIso,M.sig={publicKey:e.signing.publicKey,nonce:e.signing.nonce}),e.slug!==void 0&&(M.slug=e.slug),M.slug||(M.slug=e.documentId),e.name!==void 0&&(M.name=e.name),e.branch!==void 0&&(M.branch=e.branch),e.meta!==void 0&&(M.meta=e.meta),e.protocolVersions!==void 0&&(M.protocolVersions=e.protocolVersions);const tr=defaultBaseState();return{header:M,operations:{},state:tr,initialState:tr,clipboard:[]}}function applyUpgradeDocumentAction(r,e,M){const tr=e.input.fromVersion,rr=e.input.toVersion;if(tr===rr&&tr>0)return r;if(tr>rr)throw new DowngradeNotSupportedError(r.header.documentType,tr,rr);if(M)for(const ir of M)r=ir.upgradeReducer(r,e);return applyInitialState(r,e),r.state.document={...r.state.document,version:rr},r}function applyInitialState(r,e){const M=e.input,tr=M.initialState||M.state;tr&&(r.state={...r.state,...tr},r.initialState=r.state)}function applyDeleteDocumentAction(r,e){const M=e.timestampUtcMs||new Date().toISOString();return r.state={...r.state,document:{...r.state.document,isDeleted:!0,deletedAtUtcIso:M}},r}const getNextIndexForScope=(r,e)=>r.header.revision[e]||0;function createEmptyConsistencyToken(){return{version:1,createdAtUtcIso:new Date().toISOString(),coordinates:[]}}function createConsistencyToken(r){if(r.length===0)return createEmptyConsistencyToken();const e=[];for(let M=0;M<r.length;M++){const tr=r[M];e.push({documentId:tr.context.documentId,scope:tr.context.scope,branch:tr.context.branch,operationIndex:tr.operation.index})}return{version:1,createdAtUtcIso:new Date().toISOString(),coordinates:e}}function createOperation(r,e,M,tr){return{id:deriveOperationId(tr.documentId,tr.scope,tr.branch,r.id),index:e,timestampUtcMs:r.timestampUtcMs||new Date().toISOString(),hash:"",skip:M,action:r}}function updateDocumentRevision(r,e,M){r.header.revision={...r.header.revision,[e]:M+1}}function buildSuccessResult(r,e,M,tr,rr,ir){return{job:r,success:!0,operations:[e],operationsWithContext:[{operation:e,context:{documentId:M,scope:r.scope,branch:r.branch,documentType:tr,resultingState:rr,ordinal:0}}],duration:Date.now()-ir}}function buildErrorResult(r,e,M){return{job:r,success:!1,error:e,duration:Date.now()-M}}class LRUNode{key;prev;next;constructor(e){this.key=e,this.prev=void 0,this.next=void 0}}class LRUTracker{map;head;tail;constructor(){this.map=new Map,this.head=void 0,this.tail=void 0}get size(){return this.map.size}touch(e){const M=this.map.get(e);M?this.moveToFront(M):this.addToFront(e)}evict(){if(!this.tail)return;const e=this.tail.key;return this.remove(e),e}remove(e){const M=this.map.get(e);M&&(this.removeNode(M),this.map.delete(e))}clear(){this.map.clear(),this.head=void 0,this.tail=void 0}addToFront(e){const M=new LRUNode(e);this.map.set(e,M),this.head?(M.next=this.head,this.head.prev=M,this.head=M):(this.head=M,this.tail=M)}moveToFront(e){e!==this.head&&(this.removeNode(e),e.prev=void 0,e.next=this.head,this.head&&(this.head.prev=e),this.head=e,this.tail||(this.tail=e))}removeNode(e){e.prev?e.prev.next=e.next:this.head=e.next,e.next?e.next.prev=e.prev:this.tail=e.prev}}class DocumentMetaCache{cache;lruTracker;operationStore;config;constructor(e,M){this.operationStore=e,this.config={maxDocuments:M.maxDocuments},this.cache=new Map,this.lruTracker=new LRUTracker}async startup(){return Promise.resolve()}async shutdown(){return Promise.resolve()}async getDocumentMeta(e,M,tr){if(tr?.aborted)throw new Error("Operation aborted");const rr=this.makeKey(e,M),ir=this.cache.get(rr);if(ir)return this.lruTracker.touch(rr),ir;const lr=await this.rebuildLatest(e,M,tr);return this.putDocumentMeta(e,M,lr),lr}async rebuildAtRevision(e,M,tr,rr){if(rr?.aborted)throw new Error("Operation aborted");return this.rebuildFromOperations(e,M,tr,rr)}putDocumentMeta(e,M,tr){const rr=this.makeKey(e,M);if(!this.cache.has(rr)&&this.cache.size>=this.config.maxDocuments){const ir=this.lruTracker.evict();ir&&this.cache.delete(ir)}this.cache.set(rr,structuredClone(tr)),this.lruTracker.touch(rr)}invalidate(e,M){let tr=0;if(M===void 0)for(const rr of this.cache.keys())rr.startsWith(`${e}:`)&&(this.cache.delete(rr),this.lruTracker.remove(rr),tr++);else{const rr=this.makeKey(e,M);this.cache.has(rr)&&(this.cache.delete(rr),this.lruTracker.remove(rr),tr=1)}return tr}clear(){this.cache.clear(),this.lruTracker.clear()}makeKey(e,M){return`${e}:${M}`}async rebuildLatest(e,M,tr){return this.rebuildFromOperations(e,M,void 0,tr)}async rebuildFromOperations(e,M,tr,rr){const ir=await this.operationStore.getSince(e,"document",M,-1,void 0,void 0,rr);if(ir.results.length===0)throw new Error(`Document ${e} not found`);const lr=ir.results[0];if(lr.action.type!=="CREATE_DOCUMENT")throw new Error(`Invalid document: first operation must be CREATE_DOCUMENT, found ${lr.action.type}`);const dr=lr.action,mr=dr.input.model;let hr=createDocumentFromAction(dr),fr=0;for(const _r of ir.results){if(tr!==void 0&&_r.index>tr)break;if(fr=_r.index,_r.action.type==="UPGRADE_DOCUMENT"){const gr=_r.action;hr=applyUpgradeDocumentAction(hr,gr)}else _r.action.type==="DELETE_DOCUMENT"&&(hr=applyDeleteDocumentAction(hr,_r.action))}return{state:hr.state.document,documentType:mr,documentScopeRevision:fr+1}}}class KyselyOperationIndexTxn{collections=[];collectionMemberships=[];collectionRemovals=[];operations=[];createCollection(e){this.collections.push(e)}addToCollection(e,M){const tr=this.operations.length-1;if(tr<0)throw new Error("addToCollection must be called after write() - no operations in transaction");this.collectionMemberships.push({collectionId:e,documentId:M,operationIndex:tr})}removeFromCollection(e,M){const tr=this.operations.length-1;if(tr<0)throw new Error("removeFromCollection must be called after write() - no operations in transaction");this.collectionRemovals.push({collectionId:e,documentId:M,operationIndex:tr})}write(e){this.operations.push(...e)}getCollections(){return this.collections}getCollectionMembershipRecords(){return this.collectionMemberships}getCollectionRemovals(){return this.collectionRemovals}getOperations(){return this.operations}}class KyselyOperationIndex{db;constructor(e){this.db=e}start(){return new KyselyOperationIndexTxn}async commit(e,M){if(M?.aborted)throw new Error("Operation aborted");const tr=e,rr=tr.getCollections(),ir=tr.getCollectionMembershipRecords(),lr=tr.getCollectionRemovals(),dr=tr.getOperations();let mr=[];return await this.db.transaction().execute(async hr=>{if(rr.length>0){const _r=rr.map(gr=>({documentId:gr,collectionId:gr,joinedOrdinal:BigInt(0),leftOrdinal:null}));await hr.insertInto("document_collections").values(_r).onConflict(gr=>gr.doNothing()).execute()}let fr=[];if(dr.length>0){const _r=dr.map(br=>({opId:br.id||"",documentId:br.documentId,documentType:br.documentType,scope:br.scope,branch:br.branch,timestampUtcMs:br.timestampUtcMs,index:br.index,skip:br.skip,hash:br.hash,action:br.action,sourceRemote:br.sourceRemote}));fr=(await hr.insertInto("operation_index_operations").values(_r).returning("ordinal").execute()).map(br=>br.ordinal),mr=fr}if(ir.length>0)for(const _r of ir){const gr=fr[_r.operationIndex];await hr.insertInto("document_collections").values({documentId:_r.documentId,collectionId:_r.collectionId,joinedOrdinal:BigInt(gr),leftOrdinal:null}).onConflict(br=>br.columns(["documentId","collectionId"]).doUpdateSet({joinedOrdinal:BigInt(gr),leftOrdinal:null})).execute()}if(lr.length>0)for(const _r of lr){const gr=fr[_r.operationIndex];await hr.updateTable("document_collections").set({leftOrdinal:BigInt(gr)}).where("collectionId","=",_r.collectionId).where("documentId","=",_r.documentId).where("leftOrdinal","is",null).execute()}}),mr}async find(e,M,tr,rr,ir){if(ir?.aborted)throw new Error("Operation aborted");let lr=this.db.selectFrom("operation_index_operations as oi").innerJoin("document_collections as dc","oi.documentId","dc.documentId").selectAll("oi").select(["dc.documentId","dc.collectionId"]).where("dc.collectionId","=",e).where(sql`(dc."leftOrdinal" IS NULL OR oi.ordinal < dc."leftOrdinal")`).orderBy("oi.ordinal","asc");if(M!==void 0&&(lr=lr.where("oi.ordinal",">",M)),tr?.branch&&(lr=lr.where("oi.branch","=",tr.branch)),tr?.scopes&&tr.scopes.length>0&&(lr=lr.where("oi.scope","in",tr.scopes)),tr?.excludeSourceRemote&&(lr=lr.where("oi.sourceRemote","!=",tr.excludeSourceRemote)),rr?.cursor){const wr=Number.parseInt(rr.cursor,10);lr=lr.where("oi.ordinal",">",wr)}rr?.limit&&(lr=lr.limit(rr.limit+1));const dr=await lr.execute();let mr=!1,hr=dr;rr?.limit&&dr.length>rr.limit&&(mr=!0,hr=dr.slice(0,rr.limit));const fr=mr&&hr.length>0?hr[hr.length-1].ordinal.toString():void 0,_r=rr?.cursor||"0",gr=rr?.limit||100;return{results:hr.map(wr=>this.rowToOperationIndexEntry(wr)),options:{cursor:_r,limit:gr},nextCursor:fr,next:mr?()=>this.find(e,M,tr,{cursor:fr,limit:gr},ir):void 0}}async get(e,M,tr,rr){if(rr?.aborted)throw new Error("Operation aborted");let ir=this.db.selectFrom("operation_index_operations").selectAll().where("documentId","=",e).orderBy("ordinal","asc");if(M?.branch&&(ir=ir.where("branch","=",M.branch)),M?.scopes&&M.scopes.length>0&&(ir=ir.where("scope","in",M.scopes)),tr?.cursor){const br=Number.parseInt(tr.cursor,10);ir=ir.where("ordinal",">",br)}tr?.limit&&(ir=ir.limit(tr.limit+1));const lr=await ir.execute();let dr=!1,mr=lr;tr?.limit&&lr.length>tr.limit&&(dr=!0,mr=lr.slice(0,tr.limit));const hr=dr&&mr.length>0?mr[mr.length-1].ordinal.toString():void 0,fr=tr?.cursor||"0",_r=tr?.limit||100;return{results:mr.map(br=>this.rowToOperationIndexEntry(br)),options:{cursor:fr,limit:_r},nextCursor:hr,next:dr?()=>this.get(e,M,{cursor:hr,limit:_r},rr):void 0}}async getSinceOrdinal(e,M,tr){if(tr?.aborted)throw new Error("Operation aborted");let rr=this.db.selectFrom("operation_index_operations").selectAll().where("ordinal",">",e).orderBy("ordinal","asc");if(M?.cursor){const gr=Number.parseInt(M.cursor,10);rr=rr.where("ordinal",">",gr)}M?.limit&&(rr=rr.limit(M.limit+1));const ir=await rr.execute();let lr=!1,dr=ir;M?.limit&&ir.length>M.limit&&(lr=!0,dr=ir.slice(0,M.limit));const mr=lr&&dr.length>0?dr[dr.length-1].ordinal.toString():void 0,hr=M?.cursor||"0",fr=M?.limit||100;return{results:dr.map(gr=>this.rowToOperationWithContext(gr)),options:{cursor:hr,limit:fr},nextCursor:mr,next:lr?()=>this.getSinceOrdinal(e,{cursor:mr,limit:fr},tr):void 0}}rowToOperationWithContext(e){return{operation:{index:e.index,timestampUtcMs:e.timestampUtcMs,hash:e.hash,skip:e.skip,action:e.action,id:e.opId},context:{documentId:e.documentId,documentType:e.documentType,scope:e.scope,branch:e.branch,ordinal:e.ordinal}}}rowToOperationIndexEntry(e){return{ordinal:e.ordinal,documentId:e.documentId,documentType:e.documentType,branch:e.branch,scope:e.scope,index:e.index,timestampUtcMs:e.timestampUtcMs,hash:e.hash,skip:e.skip,action:e.action,id:e.opId,sourceRemote:e.sourceRemote}}async getLatestTimestampForCollection(e,M){if(M?.aborted)throw new Error("Operation aborted");return(await this.db.selectFrom("operation_index_operations as oi").innerJoin("document_collections as dc","oi.documentId","dc.documentId").select("oi.timestampUtcMs").where("dc.collectionId","=",e).where(sql`(dc."leftOrdinal" IS NULL OR oi.ordinal < dc."leftOrdinal")`).orderBy("oi.ordinal","desc").limit(1).executeTakeFirst())?.timestampUtcMs??null}async getCollectionsForDocuments(e){if(e.length===0)return{};const M=await this.db.selectFrom("document_collections").select(["documentId","collectionId"]).where("documentId","in",e).where("leftOrdinal","is",null).execute(),tr={};for(const rr of M)rr.documentId in tr||(tr[rr.documentId]=[]),tr[rr.documentId].push(rr.collectionId);return tr}}class RingBuffer{buffer;head=0;size=0;capacity;constructor(e){if(e<=0)throw new Error("Ring buffer capacity must be greater than 0");this.capacity=e,this.buffer=new Array(e)}push(e){const M=(this.head+this.size)%this.capacity;this.size<this.capacity?(this.buffer[M]=e,this.size++):(this.buffer[this.head]=e,this.head=(this.head+1)%this.capacity)}getAll(){if(this.size===0)return[];const e=[];for(let M=0;M<this.size;M++){const tr=(this.head+M)%this.capacity;e.push(this.buffer[tr])}return e}clear(){this.buffer=new Array(this.capacity),this.head=0,this.size=0}get length(){return this.size}}class KyselyWriteCache{streams;lruTracker;keyframeStore;operationStore;registry;config;constructor(e,M,tr,rr){this.keyframeStore=e,this.operationStore=M,this.registry=tr,this.config={maxDocuments:rr.maxDocuments,ringBufferSize:rr.ringBufferSize,keyframeInterval:rr.keyframeInterval},this.streams=new Map,this.lruTracker=new LRUTracker}async startup(){return Promise.resolve()}async shutdown(){return Promise.resolve()}async getState(e,M,tr,rr,ir){if(ir?.aborted)throw new Error("Operation aborted");const lr=this.makeStreamKey(e,M,tr),dr=this.streams.get(lr);if(dr){const fr=dr.ringBuffer.getAll();if(rr===void 0){if(fr.length>0){const _r=fr[fr.length-1];return this.lruTracker.touch(lr),_r.document}}else{const _r=fr.find(br=>br.revision===rr);if(_r)return this.lruTracker.touch(lr),_r.document;const gr=this.findNearestOlderSnapshot(fr,rr);if(gr){const br=await this.warmMissRebuild(gr.document,gr.revision,e,M,tr,rr,ir);return this.putState(e,M,tr,rr,br),this.lruTracker.touch(lr),br}}}const mr=await this.coldMissRebuild(e,M,tr,rr,ir);let hr=rr;return hr===void 0&&(hr=mr.header.revision[M]||0),this.putState(e,M,tr,hr,mr),mr}putState(e,M,tr,rr,ir){const lr=this.makeStreamKey(e,M,tr),dr=this.getOrCreateStream(lr),mr={revision:rr,document:ir};dr.ringBuffer.push(mr),this.isKeyframeRevision(rr)&&this.keyframeStore.putKeyframe(e,M,tr,rr,{...ir,operations:{},clipboard:[]}).catch(hr=>{console.error(`Failed to persist keyframe ${e}@${rr}:`,hr)})}invalidate(e,M,tr){let rr=0;if(M===void 0&&tr===void 0)for(const[ir]of this.streams.entries())ir.startsWith(`${e}:`)&&(this.streams.delete(ir),this.lruTracker.remove(ir),rr++);else if(M!==void 0&&tr===void 0)for(const[ir]of this.streams.entries())ir.startsWith(`${e}:${M}:`)&&(this.streams.delete(ir),this.lruTracker.remove(ir),rr++);else if(M!==void 0&&tr!==void 0){const ir=this.makeStreamKey(e,M,tr);this.streams.has(ir)&&(this.streams.delete(ir),this.lruTracker.remove(ir),rr=1)}return rr}clear(){this.streams.clear(),this.lruTracker.clear()}getStream(e,M,tr){const rr=this.makeStreamKey(e,M,tr);return this.streams.get(rr)}async findNearestKeyframe(e,M,tr,rr,ir){if(!(rr===Number.MAX_SAFE_INTEGER||rr<=0))return this.keyframeStore.findNearestKeyframe(e,M,tr,rr,ir)}async coldMissRebuild(e,M,tr,rr,ir){const lr=rr||Number.MAX_SAFE_INTEGER,dr=await this.findNearestKeyframe(e,M,tr,lr,ir);let mr,hr,fr;if(dr)mr=dr.document,hr=dr.revision,fr=dr.document.header.documentType;else{mr=void 0,hr=-1;const vr=await this.operationStore.getSince(e,"document",tr,-1,void 0,{cursor:"0",limit:1},ir);if(vr.results.length===0)throw new Error(`Failed to rebuild document ${e}: no CREATE_DOCUMENT operation found in document scope`);const Mr=vr.results[0];if(Mr.action.type!=="CREATE_DOCUMENT")throw new Error(`Failed to rebuild document ${e}: first operation in document scope must be CREATE_DOCUMENT, found ${Mr.action.type}`);const Sr=Mr.action;if(fr=Sr.input.model,!fr)throw new Error(`Failed to rebuild document ${e}: CREATE_DOCUMENT action missing model in input`);mr=createDocumentFromAction(Sr);const yr=this.registry.getModule(fr),Ar=await this.operationStore.getSince(e,"document",tr,0,void 0,void 0,ir);for(const Dr of Ar.results)if(Dr.index!==0)if(Dr.action.type==="UPGRADE_DOCUMENT"){const Ir=Dr.action;mr=applyUpgradeDocumentAction(mr,Ir)}else if(Dr.action.type==="DELETE_DOCUMENT")applyDeleteDocumentAction(mr,Dr.action);else{const Ir=mr.header.protocolVersions?.["base-reducer"]??1;mr=yr.reducer(mr,Dr.action,void 0,{skip:Dr.skip,protocolVersion:Ir})}}const _r=this.registry.getModule(fr);let gr;const br=100;let wr;do{if(ir?.aborted)throw new Error("Operation aborted");const vr={cursor:gr||"0",limit:br};try{const Mr=await this.operationStore.getSince(e,M,tr,hr,void 0,vr,ir);for(const yr of Mr.results){if(rr!==void 0&&yr.index>rr)break;const Ar=mr.header.protocolVersions?.["base-reducer"]??1;mr=_r.reducer(mr,yr.action,void 0,{skip:yr.skip,protocolVersion:Ar})}const Sr=rr!==void 0&&Mr.results.some(yr=>yr.index>=rr);wr=!!Mr.nextCursor&&!Sr,wr&&(gr=Mr.nextCursor)}catch(Mr){throw new Error(`Failed to rebuild document ${e}: ${Mr instanceof Error?Mr.message:String(Mr)}`)}}while(wr);const xr=await this.operationStore.getRevisions(e,tr,ir);return mr.header.revision=xr.revision,mr.header.lastModifiedAtUtcIso=xr.latestTimestamp,mr}async warmMissRebuild(e,M,tr,rr,ir,lr,dr){const mr=e.header.documentType,hr=this.registry.getModule(mr);let fr=e;try{const gr=await this.operationStore.getSince(tr,rr,ir,M,void 0,void 0,dr);for(const br of gr.results){if(dr?.aborted)throw new Error("Operation aborted");if(lr!==void 0&&br.index>lr)break;const wr=fr.header.protocolVersions?.["base-reducer"]??1;if(fr=hr.reducer(fr,br.action,void 0,{skip:br.skip,protocolVersion:wr}),lr!==void 0&&br.index===lr)break}}catch(gr){throw new Error(`Failed to rebuild document ${tr}: ${gr instanceof Error?gr.message:String(gr)}`)}const _r=await this.operationStore.getRevisions(tr,ir,dr);return fr.header.revision=_r.revision,fr.header.lastModifiedAtUtcIso=_r.latestTimestamp,fr}findNearestOlderSnapshot(e,M){let tr;for(const rr of e)rr.revision<M&&(!tr||rr.revision>tr.revision)&&(tr=rr);return tr}makeStreamKey(e,M,tr){return`${e}:${M}:${tr}`}getOrCreateStream(e){let M=this.streams.get(e);if(!M){if(this.streams.size>=this.config.maxDocuments){const tr=this.lruTracker.evict();tr&&this.streams.delete(tr)}M={key:e,ringBuffer:new RingBuffer(this.config.ringBufferSize)},this.streams.set(e,M)}return this.lruTracker.touch(e),M}isKeyframeRevision(e){return e>0&&e%this.config.keyframeInterval===0}}class EventBus{eventTypeToSubscribers=new Map;subscribe(e,M){let tr=this.eventTypeToSubscribers.get(e);tr||(tr=[],this.eventTypeToSubscribers.set(e,tr)),tr.push(M);let rr=!1;return()=>{if(rr)return;rr=!0;const ir=this.eventTypeToSubscribers.get(e);if(!ir)return;const lr=ir.indexOf(M);lr!==-1&&ir.splice(lr,1),ir.length===0&&this.eventTypeToSubscribers.delete(e)}}async emit(e,M){const tr=this.eventTypeToSubscribers.get(e);if(!tr||tr.length===0)return;const rr=tr.slice(),ir=[];for(const lr of rr)try{await Promise.resolve(lr(e,M))}catch(dr){ir.push(dr)}if(ir.length>0)throw new EventBusAggregateError(ir)}}class SimpleJobExecutorManager{executorFactory;eventBus;queue;jobTracker;logger;executors=[];isRunning=!1;activeJobs=0;totalJobsProcessed=0;unsubscribe;constructor(e,M,tr,rr,ir){this.executorFactory=e,this.eventBus=M,this.queue=tr,this.jobTracker=rr,this.logger=ir}async start(e){if(this.isRunning)throw new Error("JobExecutorManager is already running");if(e<1)throw new Error("Number of executors must be at least 1");this.executors=[];for(let M=0;M<e;M++)this.executors.push(this.executorFactory());this.unsubscribe=this.eventBus.subscribe(QueueEventTypes.JOB_AVAILABLE,async()=>{this.activeJobs<this.executors.length&&await this.processNextJob()}),this.isRunning=!0,await this.processExistingJobs()}async stop(e=!0){if(this.isRunning){if(this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0),e)for(;this.activeJobs>0;)await new Promise(M=>setTimeout(M,100));this.executors=[],this.isRunning=!1}}getExecutors(){return[...this.executors]}getStatus(){return{isRunning:this.isRunning,numExecutors:this.executors.length,activeJobs:this.activeJobs,totalJobsProcessed:this.totalJobsProcessed}}async processNextJob(){let e;try{e=await this.queue.dequeueNext()}catch(lr){this.logger.error("Error dequeueing next job: @Error",lr);return}if(!e)return;e.start(),this.activeJobs++,this.jobTracker.markRunning(e.job.id);const M={jobId:e.job.id,jobMeta:e.job.meta};this.eventBus.emit(ReactorEventTypes.JOB_RUNNING,M).catch(()=>{});const tr=this.totalJobsProcessed%this.executors.length,rr=this.executors[tr];let ir;try{ir=await rr.executeJob(e.job)}catch(lr){const dr=this.toErrorInfo(lr instanceof Error?lr:String(lr));e.fail(dr),this.activeJobs--,this.jobTracker.markFailed(e.job.id,dr,e.job),this.eventBus.emit(ReactorEventTypes.JOB_FAILED,{jobId:e.job.id,error:new Error(dr.message),job:e.job}).catch(()=>{}),await this.checkForMoreJobs();return}if(ir.success)e.complete(),this.totalJobsProcessed++;else{const lr=e.job.retryCount||0,dr=e.job.maxRetries||0;if(lr<dr){const mr=ir.error?this.toErrorInfo(ir.error):this.toErrorInfo("Unknown error");try{await this.queue.retryJob(e.job.id,mr)}catch(hr){const fr=this.toErrorInfo(hr instanceof Error?hr:"Failed to retry job");this.jobTracker.markFailed(e.job.id,fr,e.job),this.eventBus.emit(ReactorEventTypes.JOB_FAILED,{jobId:e.job.id,error:new Error(fr.message),job:e.job}).catch(()=>{}),e.fail(fr)}}else{const mr=ir.error?this.toErrorInfo(ir.error):this.toErrorInfo("Unknown error"),hr=this.formatErrorHistory(e.job.errorHistory,mr,lr+1);this.jobTracker.markFailed(e.job.id,hr,e.job),this.eventBus.emit(ReactorEventTypes.JOB_FAILED,{jobId:e.job.id,error:new Error(hr.message),job:e.job}).catch(()=>{}),e.fail(hr)}}this.activeJobs--,await this.checkForMoreJobs()}async checkForMoreJobs(){if(!this.isRunning)return;let e;try{e=await this.queue.hasJobs()}catch(M){this.logger.error("Error checking for more jobs: @Error",M);return}e&&await this.processNextJob()}async processExistingJobs(){let e;try{e=await this.queue.hasJobs()}catch(M){this.logger.error("Error checking for existing jobs: @Error",M);return}if(e){const M=[];for(let tr=0;tr<Math.min(this.executors.length,5);tr++)M.push(this.processNextJob());try{await Promise.all(M)}catch(tr){this.logger.error("Error processing existing jobs: @Error",tr)}}}toErrorInfo(e){return e instanceof Error?{message:e.message,stack:e.stack||new Error().stack||""}:{message:e,stack:new Error().stack||""}}formatErrorHistory(e,M,tr){const rr=[...e,M];if(rr.length===1)return M;const ir=[`Job failed after ${tr} attempts:`],lr=[];return rr.forEach((dr,mr)=>{ir.push(`[Attempt ${mr+1}] ${dr.message}`),lr.push(`[Attempt ${mr+1}] Stack trace:
165
+ ${dr.stack}`)}),{message:ir.join(`
166
+ `),stack:lr.join(`
167
+
168
+ `)}}}const STRICT_ORDER_ACTION_TYPES=new Set(["CREATE_DOCUMENT","DELETE_DOCUMENT","UPGRADE_DOCUMENT","ADD_RELATIONSHIP","REMOVE_RELATIONSHIP"]);function reshuffleByTimestamp(r,e,M){return[...e,...M].sort((tr,rr)=>{const ir=new Date(tr.timestampUtcMs).getTime()-new Date(rr.timestampUtcMs).getTime();if(ir!==0)return ir;const lr=STRICT_ORDER_ACTION_TYPES.has(tr.action?.type??"")||STRICT_ORDER_ACTION_TYPES.has(rr.action?.type??""),dr=tr.index-tr.skip-(rr.index-rr.skip);if(lr&&dr!==0)return dr;const mr=(tr.action?.id??"").localeCompare(rr.action?.id??"");return mr!==0?mr:!lr&&dr!==0?dr:tr.id.localeCompare(rr.id)}).map((tr,rr)=>({...tr,index:r.index+rr,skip:rr===0?r.skip:0}))}class DocumentActionHandler{writeCache;operationStore;documentMetaCache;collectionMembershipCache;registry;logger;constructor(e,M,tr,rr,ir,lr){this.writeCache=e,this.operationStore=M,this.documentMetaCache=tr,this.collectionMembershipCache=rr,this.registry=ir,this.logger=lr}async execute(e,M,tr,rr,ir=0,lr=""){switch(M.type){case"CREATE_DOCUMENT":return this.executeCreate(e,M,tr,rr,ir,lr);case"DELETE_DOCUMENT":return this.executeDelete(e,M,tr,rr,lr);case"UPGRADE_DOCUMENT":return this.executeUpgrade(e,M,tr,rr,ir,lr);case"ADD_RELATIONSHIP":return this.executeAddRelationship(e,M,tr,rr,lr);case"REMOVE_RELATIONSHIP":return this.executeRemoveRelationship(e,M,tr,rr,lr);default:return buildErrorResult(e,new Error(`Unknown document action type: ${M.type}`),tr)}}async executeCreate(e,M,tr,rr,ir=0,lr=""){if(e.scope!=="document")return{job:e,success:!1,error:new Error(`CREATE_DOCUMENT must be in "document" scope, got "${e.scope}"`),duration:Date.now()-tr};const dr=createDocumentFromAction(M),mr=createOperation(M,0,ir,{documentId:dr.header.id,scope:e.scope,branch:e.branch}),hr={header:dr.header,...dr.state},fr=JSON.stringify(hr),_r=await this.writeOperationToStore(dr.header.id,dr.header.documentType,e.scope,e.branch,mr,e,tr);if(_r!==null)return _r;if(updateDocumentRevision(dr,e.scope,mr.index),this.writeCache.putState(dr.header.id,e.scope,e.branch,mr.index,dr),rr.write([{...mr,documentId:dr.header.id,documentType:dr.header.documentType,branch:e.branch,scope:e.scope,sourceRemote:lr}]),dr.header.documentType==="powerhouse/document-drive"){const gr=driveCollectionId(e.branch,dr.header.id);rr.createCollection(gr),rr.addToCollection(gr,dr.header.id)}return this.documentMetaCache.putDocumentMeta(dr.header.id,e.branch,{state:dr.state.document,documentType:dr.header.documentType,documentScopeRevision:1}),buildSuccessResult(e,mr,dr.header.id,dr.header.documentType,fr,tr)}async executeDelete(e,M,tr,rr,ir=""){const lr=M.input;if(!lr.documentId)return buildErrorResult(e,new Error("DELETE_DOCUMENT action requires a documentId in input"),tr);const dr=lr.documentId;let mr;try{mr=await this.writeCache.getState(dr,e.scope,e.branch)}catch(xr){return buildErrorResult(e,new Error(`Failed to fetch document before deletion: ${xr instanceof Error?xr.message:String(xr)}`),tr)}const hr=mr.state.document;if(hr.isDeleted)return buildErrorResult(e,new DocumentDeletedError(dr,hr.deletedAtUtcIso),tr);const fr=getNextIndexForScope(mr,e.scope),_r=createOperation(M,fr,0,{documentId:dr,scope:e.scope,branch:e.branch});applyDeleteDocumentAction(mr,M);const gr={header:mr.header,document:mr.state.document},br=JSON.stringify(gr),wr=await this.writeOperationToStore(dr,mr.header.documentType,e.scope,e.branch,_r,e,tr);return wr!==null?wr:(rr.write([{..._r,documentId:dr,documentType:mr.header.documentType,branch:e.branch,scope:e.scope,sourceRemote:ir}]),this.documentMetaCache.putDocumentMeta(dr,e.branch,{state:mr.state.document,documentType:mr.header.documentType,documentScopeRevision:_r.index+1}),buildSuccessResult(e,_r,dr,mr.header.documentType,br,tr))}async executeUpgrade(e,M,tr,rr,ir=0,lr=""){const dr=M.input;if(!dr.documentId)return buildErrorResult(e,new Error("UPGRADE_DOCUMENT action requires a documentId in input"),tr);const mr=dr.documentId,hr=dr.fromVersion,fr=dr.toVersion;let _r;try{_r=await this.writeCache.getState(mr,e.scope,e.branch)}catch(yr){return buildErrorResult(e,new Error(`Failed to fetch document for upgrade: ${yr instanceof Error?yr.message:String(yr)}`),tr)}const gr=_r.state.document;if(gr.isDeleted)return buildErrorResult(e,new DocumentDeletedError(mr,gr.deletedAtUtcIso),tr);const br=getNextIndexForScope(_r,e.scope);let wr;if(hr>0&&hr<fr)try{wr=this.registry.computeUpgradePath(_r.header.documentType,hr,fr)}catch(yr){return buildErrorResult(e,yr instanceof Error?yr:new Error(String(yr)),tr)}if(hr===fr&&hr>0)return{job:e,success:!0,operations:[],operationsWithContext:[],duration:Date.now()-tr};try{_r=applyUpgradeDocumentAction(_r,M,wr)}catch(yr){return buildErrorResult(e,yr instanceof Error?yr:new Error(String(yr)),tr)}const xr=createOperation(M,br,ir,{documentId:mr,scope:e.scope,branch:e.branch}),vr={header:_r.header,..._r.state},Mr=JSON.stringify(vr),Sr=await this.writeOperationToStore(mr,_r.header.documentType,e.scope,e.branch,xr,e,tr);return Sr!==null?Sr:(updateDocumentRevision(_r,e.scope,xr.index),this.writeCache.putState(mr,e.scope,e.branch,xr.index,_r),rr.write([{...xr,documentId:mr,documentType:_r.header.documentType,branch:e.branch,scope:e.scope,sourceRemote:lr}]),this.documentMetaCache.putDocumentMeta(mr,e.branch,{state:_r.state.document,documentType:_r.header.documentType,documentScopeRevision:xr.index+1}),buildSuccessResult(e,xr,mr,_r.header.documentType,Mr,tr))}async executeAddRelationship(e,M,tr,rr,ir=""){if(e.scope!=="document")return buildErrorResult(e,new Error(`ADD_RELATIONSHIP must be in "document" scope, got "${e.scope}"`),tr);const lr=M.input;if(!lr.sourceId||!lr.targetId||!lr.relationshipType)return buildErrorResult(e,new Error("ADD_RELATIONSHIP action requires sourceId, targetId, and relationshipType in input"),tr);if(lr.sourceId===lr.targetId)return buildErrorResult(e,new Error("ADD_RELATIONSHIP: sourceId and targetId cannot be the same (self-relationships not allowed)"),tr);let dr;try{dr=await this.writeCache.getState(lr.sourceId,"document",e.branch)}catch(wr){return buildErrorResult(e,new Error(`ADD_RELATIONSHIP: source document ${lr.sourceId} not found: ${wr instanceof Error?wr.message:String(wr)}`),tr)}const mr=getNextIndexForScope(dr,e.scope),hr=createOperation(M,mr,0,{documentId:lr.sourceId,scope:e.scope,branch:e.branch}),fr=await this.writeOperationToStore(lr.sourceId,dr.header.documentType,e.scope,e.branch,hr,e,tr);if(fr!==null)return fr;dr.header.lastModifiedAtUtcIso=hr.timestampUtcMs||new Date().toISOString(),updateDocumentRevision(dr,e.scope,hr.index),dr.operations={...dr.operations,[e.scope]:[...dr.operations[e.scope]??[],hr]};const _r=dr.state[e.scope],gr={header:structuredClone(dr.header),[e.scope]:_r===void 0?{}:structuredClone(_r)},br=JSON.stringify(gr);if(this.writeCache.putState(lr.sourceId,e.scope,e.branch,hr.index,dr),rr.write([{...hr,documentId:lr.sourceId,documentType:dr.header.documentType,branch:e.branch,scope:e.scope,sourceRemote:ir}]),dr.header.documentType==="powerhouse/document-drive"){const wr=driveCollectionId(e.branch,lr.sourceId);rr.addToCollection(wr,lr.targetId),this.collectionMembershipCache.invalidate(lr.targetId)}return this.documentMetaCache.putDocumentMeta(lr.sourceId,e.branch,{state:dr.state.document,documentType:dr.header.documentType,documentScopeRevision:hr.index+1}),buildSuccessResult(e,hr,lr.sourceId,dr.header.documentType,br,tr)}async executeRemoveRelationship(e,M,tr,rr,ir=""){if(e.scope!=="document")return buildErrorResult(e,new Error(`REMOVE_RELATIONSHIP must be in "document" scope, got "${e.scope}"`),tr);const lr=M.input;if(!lr.sourceId||!lr.targetId||!lr.relationshipType)return buildErrorResult(e,new Error("REMOVE_RELATIONSHIP action requires sourceId, targetId, and relationshipType in input"),tr);let dr;try{dr=await this.writeCache.getState(lr.sourceId,"document",e.branch)}catch(wr){return buildErrorResult(e,new Error(`REMOVE_RELATIONSHIP: source document ${lr.sourceId} not found: ${wr instanceof Error?wr.message:String(wr)}`),tr)}const mr=getNextIndexForScope(dr,e.scope),hr=createOperation(M,mr,0,{documentId:lr.sourceId,scope:e.scope,branch:e.branch}),fr=await this.writeOperationToStore(lr.sourceId,dr.header.documentType,e.scope,e.branch,hr,e,tr);if(fr!==null)return fr;dr.header.lastModifiedAtUtcIso=hr.timestampUtcMs||new Date().toISOString(),updateDocumentRevision(dr,e.scope,hr.index),dr.operations={...dr.operations,[e.scope]:[...dr.operations[e.scope]??[],hr]};const _r=dr.state[e.scope],gr={header:structuredClone(dr.header),[e.scope]:_r===void 0?{}:structuredClone(_r)},br=JSON.stringify(gr);if(this.writeCache.putState(lr.sourceId,e.scope,e.branch,hr.index,dr),rr.write([{...hr,documentId:lr.sourceId,documentType:dr.header.documentType,branch:e.branch,scope:e.scope,sourceRemote:ir}]),dr.header.documentType==="powerhouse/document-drive"){const wr=driveCollectionId(e.branch,lr.sourceId);rr.removeFromCollection(wr,lr.targetId),this.collectionMembershipCache.invalidate(lr.targetId)}return this.documentMetaCache.putDocumentMeta(lr.sourceId,e.branch,{state:dr.state.document,documentType:dr.header.documentType,documentScopeRevision:hr.index+1}),buildSuccessResult(e,hr,lr.sourceId,dr.header.documentType,br,tr)}async writeOperationToStore(e,M,tr,rr,ir,lr,dr){try{return await this.operationStore.apply(e,M,tr,rr,ir.index,mr=>{mr.addOperations(ir)}),null}catch(mr){return this.logger.error("Error writing @Operation to IOperationStore: @Error",ir,mr),this.writeCache.invalidate(e,tr,rr),{job:lr,success:!1,error:new Error(`Failed to write operation to IOperationStore: ${mr instanceof Error?mr.message:String(mr)}`),duration:Date.now()-dr}}}}class SignatureVerifier{verifier;constructor(e){this.verifier=e}async verifyActions(e,M,tr){if(this.verifier)for(const rr of tr){const ir=rr.context?.signer;if(!ir)continue;if(ir.signatures.length===0)throw new InvalidSignatureError$1(e,`Action ${rr.id} has signer but no signatures`);const lr=ir.app.key;let dr=!1;try{const mr={id:deriveOperationId(e,rr.scope,M,rr.id),index:0,timestampUtcMs:rr.timestampUtcMs||new Date().toISOString(),hash:"",skip:0,action:rr};dr=await this.verifier(mr,lr)}catch(mr){const hr=mr instanceof Error?mr.message:String(mr);throw new InvalidSignatureError$1(e,`Action ${rr.id} verification failed: ${hr}`)}if(!dr)throw new InvalidSignatureError$1(e,`Action ${rr.id} signature verification returned false`)}}async verifyOperations(e,M){if(this.verifier)for(let tr=0;tr<M.length;tr++){const rr=M[tr],ir=rr.action.context?.signer;if(!ir)continue;if(ir.signatures.length===0)throw new InvalidSignatureError$1(e,`Operation ${rr.id} at index ${rr.index} has signer but no signatures`);const lr=ir.app.key;let dr=!1;try{dr=await this.verifier(rr,lr)}catch(mr){const hr=mr instanceof Error?mr.message:String(mr);throw new InvalidSignatureError$1(e,`Operation ${rr.id} at index ${rr.index} verification failed: ${hr}`)}if(!dr)throw new InvalidSignatureError$1(e,`Operation ${rr.id} at index ${rr.index} signature verification returned false`)}}}const MAX_SKIP_THRESHOLD=1e3,documentScopeActions=["CREATE_DOCUMENT","DELETE_DOCUMENT","UPGRADE_DOCUMENT","ADD_RELATIONSHIP","REMOVE_RELATIONSHIP"];class SimpleJobExecutor{logger;registry;operationStore;eventBus;writeCache;operationIndex;documentMetaCache;collectionMembershipCache;config;signatureVerifierModule;documentActionHandler;constructor(e,M,tr,rr,ir,lr,dr,mr,hr,fr){this.logger=e,this.registry=M,this.operationStore=tr,this.eventBus=rr,this.writeCache=ir,this.operationIndex=lr,this.documentMetaCache=dr,this.collectionMembershipCache=mr,this.config={maxSkipThreshold:hr.maxSkipThreshold??MAX_SKIP_THRESHOLD,maxConcurrency:hr.maxConcurrency??1,jobTimeoutMs:hr.jobTimeoutMs??3e4,retryBaseDelayMs:hr.retryBaseDelayMs??100,retryMaxDelayMs:hr.retryMaxDelayMs??5e3},this.signatureVerifierModule=new SignatureVerifier(fr),this.documentActionHandler=new DocumentActionHandler(ir,tr,dr,mr,M,e)}async executeJob(e){const M=Date.now(),tr=this.operationIndex.start();if(e.kind==="load"){const lr=await this.executeLoadJob(e,M,tr);if(lr.success&&lr.operationsWithContext){const dr=await this.operationIndex.commit(tr);for(let fr=0;fr<lr.operationsWithContext.length;fr++)lr.operationsWithContext[fr].context.ordinal=dr[fr];const mr=lr.operationsWithContext.length>0?await this.getCollectionMembershipsForOperations(lr.operationsWithContext):{},hr={jobId:e.id,operations:lr.operationsWithContext,jobMeta:e.meta,collectionMemberships:mr};this.eventBus.emit(ReactorEventTypes.JOB_WRITE_READY,hr).catch(fr=>{this.logger.error("Failed to emit JOB_WRITE_READY event: @Event : @Error",hr,fr)})}return lr}const rr=await this.processActions(e,e.actions,M,tr);if(!rr.success)return{job:e,success:!1,error:rr.error,duration:Date.now()-M};const ir=await this.operationIndex.commit(tr);if(rr.operationsWithContext.length>0){for(let mr=0;mr<rr.operationsWithContext.length;mr++)rr.operationsWithContext[mr].context.ordinal=ir[mr];const lr=await this.getCollectionMembershipsForOperations(rr.operationsWithContext),dr={jobId:e.id,operations:rr.operationsWithContext,jobMeta:e.meta,collectionMemberships:lr};this.eventBus.emit(ReactorEventTypes.JOB_WRITE_READY,dr).catch(mr=>{this.logger.error("Failed to emit JOB_WRITE_READY event: @Event : @Error",dr,mr)})}return{job:e,success:!0,operations:rr.generatedOperations,operationsWithContext:rr.operationsWithContext,duration:Date.now()-M}}async getCollectionMembershipsForOperations(e){const M=[...new Set(e.map(tr=>tr.context.documentId))];return this.collectionMembershipCache.getCollectionsForDocuments(M)}async processActions(e,M,tr,rr,ir,lr,dr=""){const mr=[],hr=[];try{await this.signatureVerifierModule.verifyActions(e.documentId,e.branch,M)}catch(fr){return{success:!1,generatedOperations:mr,operationsWithContext:hr,error:fr instanceof Error?fr:new Error(String(fr))}}for(let fr=0;fr<M.length;fr++){const _r=M[fr],gr=ir?.[fr]??0,br=lr?.[fr],xr=documentScopeActions.includes(_r.type)?await this.documentActionHandler.execute(e,_r,tr,rr,gr,dr):await this.executeRegularAction(e,_r,tr,rr,gr,br,dr),vr=this.accumulateResultOrReturnError(xr,mr,hr);if(vr!==null)return{success:!1,generatedOperations:mr,operationsWithContext:hr,error:vr.error}}return{success:!0,generatedOperations:mr,operationsWithContext:hr}}async executeRegularAction(e,M,tr,rr,ir=0,lr,dr=""){let mr;try{mr=await this.documentMetaCache.getDocumentMeta(e.documentId,e.branch)}catch(vr){return buildErrorResult(e,vr instanceof Error?vr:new Error(String(vr)),tr)}if(mr.state.isDeleted)return buildErrorResult(e,new DocumentDeletedError(e.documentId,mr.state.deletedAtUtcIso),tr);let hr;try{hr=await this.writeCache.getState(e.documentId,e.scope,e.branch)}catch(vr){return buildErrorResult(e,vr instanceof Error?vr:new Error(String(vr)),tr)}let fr;try{const vr=mr.state.version===0?void 0:mr.state.version;fr=this.registry.getModule(hr.header.documentType,vr)}catch(vr){return buildErrorResult(e,vr instanceof Error?vr:new Error(String(vr)),tr)}let _r;try{const vr=hr.header.protocolVersions?.["base-reducer"]??1,Mr=lr?{skip:ir,branch:e.branch,replayOptions:{operation:lr},protocolVersion:vr}:{skip:ir,branch:e.branch,protocolVersion:vr};_r=fr.reducer(hr,M,void 0,Mr)}catch(vr){const Mr=`Failed to apply action to document:
169
+ Action type: ${M.type}
170
+ Document ID: ${e.documentId}
171
+ Document type: ${hr.header.documentType}
172
+ Scope: ${e.scope}
173
+ Original error: ${vr instanceof Error?vr.message:String(vr)}`,Sr=new Error(Mr);return vr instanceof Error&&vr.stack&&(Sr.stack=`${Mr}
174
+
175
+ Original stack trace:
176
+ ${vr.stack}`),buildErrorResult(e,Sr,tr)}const gr=e.scope,br=_r.operations[gr];if(br.length===0)return buildErrorResult(e,new Error("No operation generated from action"),tr);const wr=br[br.length-1];isUndoRedo(M)||(wr.skip=ir);const xr=JSON.stringify({..._r.state,header:_r.header});try{await this.operationStore.apply(e.documentId,hr.header.documentType,gr,e.branch,wr.index,vr=>{vr.addOperations(wr)})}catch(vr){return this.logger.error("Error writing @Operation to IOperationStore: @Error",wr,vr),this.writeCache.invalidate(e.documentId,gr,e.branch),{job:e,success:!1,error:new Error(`Failed to write operation to IOperationStore: ${vr instanceof Error?vr.message:String(vr)}`),duration:Date.now()-tr}}return _r.header.revision={..._r.header.revision,[gr]:wr.index+1},this.writeCache.putState(e.documentId,gr,e.branch,wr.index,_r),rr.write([{...wr,documentId:e.documentId,documentType:hr.header.documentType,branch:e.branch,scope:gr,sourceRemote:dr}]),{job:e,success:!0,operations:[wr],operationsWithContext:[{operation:wr,context:{documentId:e.documentId,scope:gr,branch:e.branch,documentType:hr.header.documentType,resultingState:xr,ordinal:0}}],duration:Date.now()-tr}}async executeLoadJob(e,M,tr){if(e.operations.length===0)return buildErrorResult(e,new Error("Load job must include at least one operation"),M);const rr=e.scope;let ir=0;try{ir=(await this.operationStore.getRevisions(e.documentId,e.branch)).revision[rr]??0}catch{ir=0}let lr=Number.POSITIVE_INFINITY,dr=e.operations[0]?.timestampUtcMs||"";for(const Dr of e.operations){lr=Math.min(lr,Dr.index);const Ir=Dr.timestampUtcMs||"";Ir<dr&&(dr=Ir)}let mr=[];try{const Dr=await this.operationStore.getConflicting(e.documentId,rr,e.branch,dr,{cursor:"0",limit:this.config.maxSkipThreshold+1});if(Dr.nextCursor!==void 0)return{job:e,success:!1,error:new Error(`Excessive reshuffle detected: more than ${this.config.maxSkipThreshold} conflicting operations found. This indicates a significant divergence between local and incoming operations.`),duration:Date.now()-M};mr=Dr.results}catch{mr=[]}let hr=mr;if(mr.length>0){const Dr=Math.min(...mr.map(Ir=>Ir.index));try{hr=(await this.operationStore.getSince(e.documentId,rr,e.branch,Dr-1,void 0,{cursor:"0",limit:this.config.maxSkipThreshold*2})).results}catch{hr=mr}}const fr=mr.filter(Dr=>{for(const Ir of hr)if(Ir.index>Dr.index&&Ir.skip>0&&Ir.index-Ir.skip<=Dr.index)return!1;return!0}),_r=fr,gr=_r.length;if(gr>this.config.maxSkipThreshold)return{job:e,success:!1,error:new Error(`Excessive reshuffle detected: skip count of ${gr} exceeds threshold of ${this.config.maxSkipThreshold}. This indicates a significant divergence between local and incoming operations.`),duration:Date.now()-M};const br=new Set(fr.map(Dr=>Dr.action.id)),wr=new Set,xr=e.operations.filter(Dr=>br.has(Dr.action.id)||wr.has(Dr.action.id)?!1:(wr.add(Dr.action.id),!0));if(xr.length===0)return{job:e,success:!0,operations:[],operationsWithContext:[],duration:Date.now()-M};const vr=reshuffleByTimestamp({index:ir,skip:gr},_r,xr.map(Dr=>({...Dr,id:Dr.id})));for(const Dr of vr)Dr.action.type==="NOOP"&&(Dr.skip=1);const Mr=vr.map(Dr=>Dr.action),Sr=vr.map(Dr=>Dr.skip),yr=gr>0?"":e.meta.sourceRemote||"",Ar=await this.processActions(e,Mr,M,tr,Sr,vr,yr);return Ar.success?(this.writeCache.invalidate(e.documentId,rr,e.branch),rr==="document"&&this.documentMetaCache.invalidate(e.documentId,e.branch),{job:e,success:!0,operations:Ar.generatedOperations,operationsWithContext:Ar.operationsWithContext,duration:Date.now()-M}):{job:e,success:!1,error:Ar.error,duration:Date.now()-M}}accumulateResultOrReturnError(e,M,tr){return e.success?(e.operations&&e.operations.length>0&&M.push(...e.operations),e.operationsWithContext&&tr.push(...e.operationsWithContext),null):e}}class InMemoryJobTracker{eventBus;jobs=new Map;unsubscribers=[];constructor(e){this.eventBus=e,this.subscribeToEvents()}subscribeToEvents(){this.unsubscribers.push(this.eventBus.subscribe(ReactorEventTypes.JOB_WRITE_READY,(e,M)=>{this.handleWriteReady(M)})),this.unsubscribers.push(this.eventBus.subscribe(ReactorEventTypes.JOB_READ_READY,(e,M)=>{this.handleReadReady(M)})),this.unsubscribers.push(this.eventBus.subscribe(ReactorEventTypes.JOB_FAILED,(e,M)=>{this.handleJobFailed(M)}))}handleWriteReady(e){const M=e.jobId,tr=this.jobs.get(M);if(tr&&tr.status===JobStatus.RUNNING){const rr=createConsistencyToken(e.operations);this.jobs.set(M,{...tr,status:JobStatus.WRITE_READY,consistencyToken:rr})}}handleReadReady(e){const M=e.jobId,tr=this.jobs.get(M);tr&&tr.status===JobStatus.WRITE_READY&&this.jobs.set(M,{...tr,status:JobStatus.READ_READY})}handleJobFailed(e){this.markFailed(e.jobId,{message:e.error.message,stack:e.error.stack||""},e.job)}shutdown(){for(const e of this.unsubscribers)e();this.unsubscribers=[]}registerJob(e){this.jobs.set(e.id,{...e})}markRunning(e){const M=this.jobs.get(e);if(!M){this.jobs.set(e,{id:e,status:JobStatus.RUNNING,createdAtUtcIso:new Date().toISOString(),consistencyToken:createEmptyConsistencyToken(),meta:{batchId:e,batchJobIds:[e]}});return}this.jobs.set(e,{...M,status:JobStatus.RUNNING})}markFailed(e,M,tr){const rr=this.jobs.get(e);if(!rr){this.jobs.set(e,{id:e,status:JobStatus.FAILED,createdAtUtcIso:new Date().toISOString(),completedAtUtcIso:new Date().toISOString(),error:M,job:tr,consistencyToken:createEmptyConsistencyToken(),meta:{batchId:e,batchJobIds:[e]}});return}this.jobs.set(e,{...rr,status:JobStatus.FAILED,completedAtUtcIso:new Date().toISOString(),error:M,job:tr,consistencyToken:createEmptyConsistencyToken()})}getJobStatus(e){const M=this.jobs.get(e);return M?{...M}:null}}class BaseReadModel{db;operationIndex;writeCache;consistencyTracker;readModelId;lastOrdinal=0;constructor(e,M,tr,rr,ir){this.db=e,this.operationIndex=M,this.writeCache=tr,this.consistencyTracker=rr,this.readModelId=ir}async init(){const e=await this.loadState();if(e!==void 0){this.lastOrdinal=e;const M=await this.operationIndex.getSinceOrdinal(this.lastOrdinal);if(M.results.length>0){const tr=await this.rebuildStateForOperations(M.results);await this.indexOperations(tr)}}else{await this.initializeState();const M=await this.operationIndex.getSinceOrdinal(0);if(M.results.length>0){const tr=await this.rebuildStateForOperations(M.results);await this.indexOperations(tr)}}}async indexOperations(e){e.length!==0&&(await this.db.transaction().execute(async M=>{await this.saveState(M,e)}),this.updateConsistencyTracker(e))}async waitForConsistency(e,M,tr){e.coordinates.length!==0&&await this.consistencyTracker.waitFor(e.coordinates,M,tr)}async rebuildStateForOperations(e){const M=[];for(const tr of e){const{documentId:rr,scope:ir,branch:lr}=tr.context,dr=tr.operation.index,mr=await this.writeCache.getState(rr,ir,lr,dr);M.push({operation:tr.operation,context:{...tr.context,resultingState:JSON.stringify(mr)}})}return M}async loadState(){return(await this.db.selectFrom("ViewState").select("lastOrdinal").where("readModelId","=",this.readModelId).executeTakeFirst())?.lastOrdinal}async initializeState(){await this.db.insertInto("ViewState").values({readModelId:this.readModelId,lastOrdinal:0}).execute()}async saveState(e,M){const tr=Math.max(...M.map(rr=>rr.context.ordinal));this.lastOrdinal=tr,await e.updateTable("ViewState").set({lastOrdinal:tr,lastOperationTimestamp:new Date}).where("readModelId","=",this.readModelId).execute()}updateConsistencyTracker(e){const M=[];for(let tr=0;tr<e.length;tr++){const rr=e[tr];M.push({documentId:rr.context.documentId,scope:rr.context.scope,branch:rr.context.branch,operationIndex:rr.operation.index})}this.consistencyTracker.update(M)}}const DRIVE_DOCUMENT_TYPE="powerhouse/document-drive";function isDriveCreation(r){return r.operation.action.type==="CREATE_DOCUMENT"&&r.context.documentType===DRIVE_DOCUMENT_TYPE}function isDriveDeletion(r){return r.operation.action.type==="DELETE_DOCUMENT"}function extractDriveHeader(r){return r.context.resultingState?JSON.parse(r.context.resultingState).header:void 0}function extractDeletedDocumentId(r){return r.operation.action.input.documentId??r.context.documentId}function createMinimalDriveHeader(r){return{id:r,documentType:DRIVE_DOCUMENT_TYPE,sig:{publicKey:{},nonce:""},slug:"",name:"",branch:"main",revision:{},createdAtUtcIso:new Date().toISOString(),lastModifiedAtUtcIso:new Date().toISOString()}}function matchesFilter(r,e){return!(e.documentType&&e.documentType.length>0&&!e.documentType.includes(r.context.documentType)||e.scope&&e.scope.length>0&&!e.scope.includes(r.context.scope)||e.branch&&e.branch.length>0&&!e.branch.includes(r.context.branch)||e.documentId&&e.documentId.length>0&&!e.documentId.includes("*")&&!e.documentId.includes(r.context.documentId))}class ProcessorManager extends BaseReadModel{factoryRegistry=new Map;processorsByDrive=new Map;factoryToProcessors=new Map;knownDriveIds=new Set;constructor(e,M,tr,rr){super(e,M,tr,rr,"processor-manager")}async indexOperations(e){e.length!==0&&(await this.detectAndRegisterNewDrives(e),await this.detectAndCleanupDeletedDrives(e),await this.routeOperationsToProcessors(e),await this.db.transaction().execute(async M=>{await this.saveState(M,e)}),this.updateConsistencyTracker(e))}async registerFactory(e,M){this.factoryRegistry.has(e)&&await this.unregisterFactory(e),this.factoryRegistry.set(e,M),this.factoryToProcessors.set(e,new Map);for(const tr of this.knownDriveIds){const rr=createMinimalDriveHeader(tr);await this.createProcessorsForDrive(tr,e,M,rr)}}async unregisterFactory(e){const M=this.factoryToProcessors.get(e);if(M){for(const[tr,rr]of M){for(const lr of rr)await this.safeDisconnect(lr.processor);const ir=this.processorsByDrive.get(tr);if(ir){const lr=ir.filter(dr=>!rr.includes(dr));lr.length>0?this.processorsByDrive.set(tr,lr):this.processorsByDrive.delete(tr)}}this.factoryToProcessors.delete(e),this.factoryRegistry.delete(e)}}getFactoryIdentifiers(){return Array.from(this.factoryRegistry.keys())}getProcessorsForDrive(e){return this.processorsByDrive.get(e)??[]}async detectAndRegisterNewDrives(e){for(const M of e){if(!isDriveCreation(M))continue;const tr=M.context.documentId;if(this.knownDriveIds.has(tr))continue;this.knownDriveIds.add(tr);const rr=extractDriveHeader(M);if(rr)for(const[ir,lr]of this.factoryRegistry)await this.createProcessorsForDrive(tr,ir,lr,rr)}}async detectAndCleanupDeletedDrives(e){for(const M of e){if(!isDriveDeletion(M))continue;const tr=extractDeletedDocumentId(M);!tr||!this.knownDriveIds.has(tr)||this.isDeletedDocumentADrive(tr)&&(await this.cleanupDriveProcessors(tr),this.knownDriveIds.delete(tr))}}isDeletedDocumentADrive(e){return this.knownDriveIds.has(e)}async createProcessorsForDrive(e,M,tr,rr){let ir=[];try{ir=await tr(rr)}catch(mr){console.error(`ProcessorManager: Factory '${M}' failed for drive '${e}':`,mr);return}if(ir.length===0)return;const lr=this.factoryToProcessors.get(M);lr&&lr.set(e,ir);const dr=this.processorsByDrive.get(e)??[];this.processorsByDrive.set(e,[...dr,...ir])}async cleanupDriveProcessors(e){const M=this.processorsByDrive.get(e);if(M){for(const tr of M)await this.safeDisconnect(tr.processor);this.processorsByDrive.delete(e);for(const tr of this.factoryToProcessors.values())tr.delete(e)}}async safeDisconnect(e){try{await e.onDisconnect()}catch(M){console.error("ProcessorManager: Error disconnecting processor:",M)}}async routeOperationsToProcessors(e){const M=new Map;for(const[,tr]of this.processorsByDrive)for(const{processor:rr,filter:ir}of tr){const lr=e.filter(mr=>matchesFilter(mr,ir));if(lr.length===0)continue;const dr=M.get(rr)??[];M.set(rr,[...dr,...lr])}await Promise.all(Array.from(M.entries()).map(async([tr,rr])=>{try{await tr.onOperations(rr)}catch(ir){console.error("ProcessorManager: Error in processor.onOperations:",ir)}}))}}class ReadModelCoordinator{eventBus;preReady;postReady;unsubscribe;isRunning=!1;constructor(e,M,tr){this.eventBus=e,this.preReady=M,this.postReady=tr}start(){this.isRunning||(this.unsubscribe=this.eventBus.subscribe(ReactorEventTypes.JOB_WRITE_READY,async(e,M)=>{await this.handleWriteReady(M)}),this.isRunning=!0)}stop(){this.isRunning&&(this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0),this.isRunning=!1)}async handleWriteReady(e){await Promise.all(this.preReady.map(tr=>tr.indexOperations(e.operations)));const M={jobId:e.jobId,operations:e.operations};await this.eventBus.emit(ReactorEventTypes.JOB_READ_READY,M),await Promise.all(this.postReady.map(tr=>tr.indexOperations(e.operations)))}}class KyselyDocumentView extends BaseReadModel{operationStore;_db;constructor(e,M,tr,rr,ir){super(e,tr,rr,ir,"document-view"),this.operationStore=M,this._db=e}async indexOperations(e){e.length!==0&&(await this._db.transaction().execute(async M=>{for(const tr of e){const{operation:rr,context:ir}=tr,{documentId:lr,scope:dr,branch:mr,documentType:hr,resultingState:fr}=ir,{index:_r,hash:gr}=rr;if(!fr)throw new Error(`Missing resultingState in context for operation ${rr.id||"unknown"}. IDocumentView requires resultingState from upstream - it does not rebuild documents.`);let br={};try{br=JSON.parse(fr)}catch(vr){throw new Error(`Failed to parse resultingState for operation ${rr.id||"unknown"}: ${vr instanceof Error?vr.message:String(vr)}`)}const wr=rr.action.type;let xr;if(wr==="CREATE_DOCUMENT")xr=Object.entries(br).filter(([vr])=>vr==="header"||vr==="document"||vr==="auth");else if(wr==="UPGRADE_DOCUMENT"){const vr=[];for(const[Mr,Sr]of Object.entries(br)){if(Mr==="header"){vr.push([Mr,Sr]);continue}if(Mr===dr){vr.push([Mr,Sr]);continue}await M.selectFrom("DocumentSnapshot").select("scope").where("documentId","=",lr).where("scope","=",Mr).where("branch","=",mr).executeTakeFirst()||vr.push([Mr,Sr])}xr=vr}else xr=[],br.header!==void 0&&xr.push(["header",br.header]),br[dr]!==void 0?xr.push([dr,br[dr]]):xr.push([dr,{}]);for(const[vr,Mr]of xr){const Sr=await M.selectFrom("DocumentSnapshot").selectAll().where("documentId","=",lr).where("scope","=",vr).where("branch","=",mr).executeTakeFirst(),yr=typeof Mr=="object"&&Mr!==null?Mr:{};let Ar=Sr?.slug??null,Dr=Sr?.name??null;if(vr==="header"){const Ir=yr.slug,Lr=yr.name;typeof Ir=="string"&&(Ar=Ir),typeof Lr=="string"&&(Dr=Lr),Ar&&Ar!==lr&&await M.insertInto("SlugMapping").values({slug:Ar,documentId:lr,scope:vr,branch:mr}).onConflict(Gr=>Gr.column("slug").doUpdateSet({documentId:lr,scope:vr,branch:mr})).execute()}if(Sr)await M.updateTable("DocumentSnapshot").set({lastOperationIndex:_r,lastOperationHash:gr,lastUpdatedAt:new Date,snapshotVersion:Sr.snapshotVersion+1,content:yr,slug:Ar,name:Dr}).where("documentId","=",lr).where("scope","=",vr).where("branch","=",mr).execute();else{const Ir={id:v4(),documentId:lr,slug:Ar,name:Dr,scope:vr,branch:mr,content:yr,documentType:hr,lastOperationIndex:_r,lastOperationHash:gr,identifiers:null,metadata:null,deletedAt:null};await M.insertInto("DocumentSnapshot").values(Ir).execute()}}}await this.saveState(M,e)}),this.updateConsistencyTracker(e))}async exists(e,M,tr){if(M&&await this.waitForConsistency(M,void 0,tr),tr?.aborted)throw new Error("Operation aborted");if(e.length===0)return[];const rr=await this._db.selectFrom("DocumentSnapshot").select(["documentId"]).where("documentId","in",e).where("isDeleted","=",!1).distinct().execute(),ir=new Set(rr.map(lr=>lr.documentId));return e.map(lr=>ir.has(lr))}async get(e,M,tr,rr){if(tr&&await this.waitForConsistency(tr,void 0,rr),rr?.aborted)throw new Error("Operation aborted");const ir=M?.branch||"main";let lr;M?.scopes&&M.scopes.length>0?lr=[...new Set(["header","document",...M.scopes])]:lr=[];let dr=this._db.selectFrom("DocumentSnapshot").selectAll().where("documentId","=",e).where("branch","=",ir).where("isDeleted","=",!1);lr.length>0&&(dr=dr.where("scope","in",lr));const mr=await dr.execute();if(mr.length===0)throw new Error(`Document not found: ${e}`);if(rr?.aborted)throw new Error("Operation aborted");const hr=mr.find(wr=>wr.scope==="header");if(!hr)throw new Error(`Document header not found: ${e}`);const fr=hr.content,_r=await this.operationStore.getRevisions(e,ir,rr);fr.revision=_r.revision,fr.lastModifiedAtUtcIso=_r.latestTimestamp;const gr={};for(const wr of mr)wr.scope!=="header"&&(gr[wr.scope]=wr.content);return{header:fr,state:gr,operations:{},initialState:gr,clipboard:[]}}async getMany(e,M,tr,rr){if(e.length===0)return[];if(tr&&await this.waitForConsistency(tr,void 0,rr),rr?.aborted)throw new Error("Operation aborted");const ir=M?.branch||"main";let lr;M?.scopes&&M.scopes.length>0?lr=[...new Set(["header","document",...M.scopes])]:lr=[];let dr=this._db.selectFrom("DocumentSnapshot").selectAll().where("documentId","in",e).where("branch","=",ir).where("isDeleted","=",!1);lr.length>0&&(dr=dr.where("scope","in",lr));const mr=await dr.execute();if(rr?.aborted)throw new Error("Operation aborted");const hr=new Map;for(const wr of mr){const xr=hr.get(wr.documentId)||[];xr.push(wr),hr.set(wr.documentId,xr)}const fr=[...hr.keys()],_r=await Promise.all(fr.map(wr=>this.operationStore.getRevisions(wr,ir,rr))),gr=new Map;for(let wr=0;wr<fr.length;wr++)gr.set(fr[wr],_r[wr]);if(rr?.aborted)throw new Error("Operation aborted");const br=[];for(const wr of e){const xr=hr.get(wr);if(!xr||xr.length===0)continue;const vr=xr.find(Dr=>Dr.scope==="header");if(!vr)continue;const Mr=vr.content,Sr=gr.get(wr);Sr&&(Mr.revision=Sr.revision,Mr.lastModifiedAtUtcIso=Sr.latestTimestamp);const yr={};for(const Dr of xr)Dr.scope!=="header"&&(yr[Dr.scope]=Dr.content);const Ar={header:Mr,state:yr,operations:{},initialState:yr,clipboard:[]};br.push(Ar)}return br}async getByIdOrSlug(e,M,tr,rr){const ir=await this.resolveIdOrSlug(e,M,tr,rr);return this.get(ir,M,void 0,rr)}async findByType(e,M,tr,rr,ir){if(rr&&await this.waitForConsistency(rr,void 0,ir),ir?.aborted)throw new Error("Operation aborted");const lr=M?.branch||"main",dr=tr?.cursor?parseInt(tr.cursor):0,mr=tr?.limit||100,hr=[],fr=new Set,_r=[],gr=await this._db.selectFrom("DocumentSnapshot").selectAll().where("documentType","=",e).where("branch","=",lr).where("isDeleted","=",!1).orderBy("lastUpdatedAt","desc").execute();if(ir?.aborted)throw new Error("Operation aborted");for(const vr of gr)fr.has(vr.documentId)||(fr.add(vr.documentId),_r.push(vr.documentId));const br=_r.slice(dr,dr+mr);for(const vr of br){if(ir?.aborted)throw new Error("Operation aborted");try{const Mr=await this.get(vr,M,void 0,ir);hr.push(Mr)}catch{continue}}const wr=_r.length>dr+mr,xr=wr?String(dr+mr):void 0;return{results:hr,options:tr||{cursor:"0",limit:100},nextCursor:xr,totalCount:_r.length,next:wr?()=>this.findByType(e,M,{cursor:xr,limit:mr},rr,ir):void 0}}async resolveSlug(e,M,tr,rr){if(tr&&await this.waitForConsistency(tr,void 0,rr),rr?.aborted)throw new Error("Operation aborted");const ir=M?.branch||"main",lr=await this._db.selectFrom("SlugMapping").select("documentId").where("slug","=",e).where("branch","=",ir).executeTakeFirst();if(lr){if(rr?.aborted)throw new Error("Operation aborted");if(!(M?.scopes&&M.scopes.length>0&&!await this._db.selectFrom("DocumentSnapshot").select("scope").where("documentId","=",lr.documentId).where("branch","=",ir).where("scope","in",M.scopes).where("isDeleted","=",!1).executeTakeFirst()))return lr.documentId}}async resolveSlugs(e,M,tr,rr){return(await Promise.all(e.map(lr=>this.resolveSlug(lr,M,tr,rr)))).filter(lr=>lr!==void 0)}async resolveIdOrSlug(e,M,tr,rr){if(tr&&await this.waitForConsistency(tr,void 0,rr),rr?.aborted)throw new Error("Operation aborted");const ir=M?.branch||"main",lr=this._db.selectFrom("DocumentSnapshot").select("documentId").where("documentId","=",e).where("branch","=",ir).where("isDeleted","=",!1).executeTakeFirst(),dr=this._db.selectFrom("SlugMapping").select("documentId").where("slug","=",e).where("branch","=",ir).executeTakeFirst(),[mr,hr]=await Promise.all([lr,dr]);if(rr?.aborted)throw new Error("Operation aborted");const fr=mr?.documentId,_r=hr?.documentId;if(fr&&_r&&fr!==_r)throw new Error(`Ambiguous identifier "${e}": matches both document ID "${fr}" and slug for document ID "${_r}". Please use get() for ID or resolveSlug() + get() for slug to be explicit.`);const gr=fr||_r;if(!gr)throw new Error(`Document not found: ${e}`);return gr}}function makeConsistencyKey(r,e,M){return`${r}:${e}:${M}`}class ConsistencyTracker{state=new Map;waiters=[];update(e){const M=this.deduplicateCoordinates(e);for(let tr=0;tr<M.length;tr++){const rr=M[tr],ir=makeConsistencyKey(rr.documentId,rr.scope,rr.branch),lr=this.state.get(ir);(lr===void 0||rr.operationIndex>lr)&&this.state.set(ir,rr.operationIndex)}this.checkWaiters()}getLatest(e){return this.state.get(e)}waitFor(e,M,tr){return tr?.aborted?Promise.reject(new Error("Operation aborted")):this.areCoordinatesSatisfied(e)?Promise.resolve():new Promise((rr,ir)=>{const lr={coordinates:e,resolve:rr,reject:ir,signal:tr};if(M!==void 0&&(lr.timeoutId=setTimeout(()=>{this.removeWaiter(lr),ir(new Error(`Consistency wait timed out after ${M}ms`))},M)),tr){const dr=()=>{this.removeWaiter(lr),ir(new Error("Operation aborted"))};tr.addEventListener("abort",dr,{once:!0})}this.waiters.push(lr)})}serialize(){return Array.from(this.state.entries())}hydrate(e){this.state.clear();for(const[M,tr]of e)this.state.set(M,tr)}deduplicateCoordinates(e){const M=new Map;for(let tr=0;tr<e.length;tr++){const rr=e[tr],ir=makeConsistencyKey(rr.documentId,rr.scope,rr.branch),lr=M.get(ir);(!lr||rr.operationIndex>lr.operationIndex)&&M.set(ir,rr)}return Array.from(M.values())}areCoordinatesSatisfied(e){for(let M=0;M<e.length;M++){const tr=e[M],rr=makeConsistencyKey(tr.documentId,tr.scope,tr.branch),ir=this.state.get(rr);if(ir===void 0||ir<tr.operationIndex)return!1}return!0}checkWaiters(){const e=[],M=[];for(const tr of this.waiters)tr.signal?.aborted||(this.areCoordinatesSatisfied(tr.coordinates)?e.push(tr):M.push(tr));this.waiters=M;for(const tr of e)tr.timeoutId!==void 0&&clearTimeout(tr.timeoutId),tr.resolve()}removeWaiter(e){const M=this.waiters.indexOf(e);M!==-1&&this.waiters.splice(M,1),e.timeoutId!==void 0&&clearTimeout(e.timeoutId)}}class GqlRequestChannelFactory{logger;jwtHandler;queue;constructor(e,M,tr){this.logger=e,this.jwtHandler=M,this.queue=tr}instance(e,M,tr,rr,ir,lr,dr){const mr=tr.parameters.url;if(typeof mr!="string"||!mr)throw new Error('GqlRequestChannelFactory requires "url" parameter in config.parameters');const hr={url:mr,collectionId:ir,filter:lr,jwtHandler:this.jwtHandler,retryBaseDelayMs:1e3,retryMaxDelayMs:3e5};let fr=2e3;if(tr.parameters.pollIntervalMs!==void 0){if(typeof tr.parameters.pollIntervalMs!="number")throw new Error('"pollIntervalMs" parameter must be a number');fr=tr.parameters.pollIntervalMs}let _r;if(tr.parameters.retryBaseDelayMs!==void 0){if(typeof tr.parameters.retryBaseDelayMs!="number")throw new Error('"retryBaseDelayMs" parameter must be a number');_r=tr.parameters.retryBaseDelayMs}let gr;if(tr.parameters.retryMaxDelayMs!==void 0){if(typeof tr.parameters.retryMaxDelayMs!="number")throw new Error('"retryMaxDelayMs" parameter must be a number');gr=tr.parameters.retryMaxDelayMs}if(tr.parameters.fetchFn!==void 0){if(typeof tr.parameters.fetchFn!="function")throw new Error('"fetchFn" parameter must be a function');hr.fetchFn=tr.parameters.fetchFn}_r!==void 0&&(hr.retryBaseDelayMs=_r),gr!==void 0&&(hr.retryMaxDelayMs=gr);let br;if(tr.parameters.maxQueueDepth!==void 0){if(typeof tr.parameters.maxQueueDepth!="number")throw new Error('"maxQueueDepth" parameter must be a number');br=tr.parameters.maxQueueDepth}let wr;if(tr.parameters.backpressureCheckIntervalMs!==void 0){if(typeof tr.parameters.backpressureCheckIntervalMs!="number")throw new Error('"backpressureCheckIntervalMs" parameter must be a number');wr=tr.parameters.backpressureCheckIntervalMs}const xr=new IntervalPollTimer(this.queue,{intervalMs:fr,..._r!==void 0&&{retryBaseDelayMs:_r},...gr!==void 0&&{retryMaxDelayMs:gr},...br!==void 0&&{maxQueueDepth:br},...wr!==void 0&&{backpressureCheckIntervalMs:wr}});return new GqlRequestChannel(this.logger,e,M,rr,hr,dr,xr)}}class GqlResponseChannel{logger;inbox;outbox;deadLetter;channelId;remoteName;cursorStorage;isShutdown;lastPersistedInboxOrdinal=0;lastPersistedOutboxOrdinal=0;constructor(e,M,tr,rr){this.logger=e,this.channelId=M,this.remoteName=tr,this.cursorStorage=rr,this.isShutdown=!1,this.inbox=new Mailbox,this.outbox=new Mailbox,this.deadLetter=new Mailbox,this.outbox.onRemoved(ir=>{const lr=getLatestAppliedOrdinal(ir);lr>this.lastPersistedOutboxOrdinal&&(this.lastPersistedOutboxOrdinal=lr,this.cursorStorage.upsert({remoteName:this.remoteName,cursorType:"outbox",cursorOrdinal:lr,lastSyncedAtUtcMs:Date.now()}).catch(dr=>{this.logger.error("Failed to update outbox cursor for @ChannelId! This means that future application runs may resend duplicate operations. This is recoverable (with deduplication protection), but not-optimal: @Error",this.channelId,dr)}))}),this.inbox.onRemoved(ir=>{const lr=getLatestAppliedOrdinal(ir);lr>this.lastPersistedInboxOrdinal&&(this.lastPersistedInboxOrdinal=lr,this.cursorStorage.upsert({remoteName:this.remoteName,cursorType:"inbox",cursorOrdinal:lr,lastSyncedAtUtcMs:Date.now()}).catch(dr=>{this.logger.error("Failed to update inbox cursor for @ChannelId! This is unlikely to cause a problem, but not-optimal: @Error",this.channelId,dr)}))})}shutdown(){return this.isShutdown=!0,Promise.resolve()}async init(){const e=await this.cursorStorage.list(this.remoteName),M=e.find(rr=>rr.cursorType==="inbox")?.cursorOrdinal??0,tr=e.find(rr=>rr.cursorType==="outbox")?.cursorOrdinal??0;this.inbox.init(M),this.outbox.init(tr),this.lastPersistedInboxOrdinal=M,this.lastPersistedOutboxOrdinal=tr}}class GqlResponseChannelFactory{logger;constructor(e){this.logger=e}instance(e,M,tr,rr){return new GqlResponseChannel(this.logger,e,M,rr)}}async function collectAllPages(r,e){const M=[...r.results];let tr=r;for(;tr.next;){if(e?.aborted)throw new Error("Operation aborted");tr=await tr.next(),M.push(...tr.results)}return M}class KyselyDocumentIndexer{db;operationStore;consistencyTracker;lastOperationId=0;constructor(e,M,tr){this.db=e,this.operationStore=M,this.consistencyTracker=tr}async init(){const e=await this.db.selectFrom("IndexerState").selectAll().executeTakeFirst();if(e){this.lastOperationId=e.lastOperationId;const M=await this.operationStore.getSinceId(this.lastOperationId);M.results.length>0&&await this.indexOperations(M.results)}else{await this.db.insertInto("IndexerState").values({lastOperationId:0}).execute();const M=await this.operationStore.getSinceId(0);M.results.length>0&&await this.indexOperations(M.results)}}async indexOperations(e){if(e.length===0)return;await this.db.transaction().execute(async tr=>{for(const ir of e){const{operation:lr}=ir,dr=lr.action.type;dr==="ADD_RELATIONSHIP"?await this.handleAddRelationship(tr,lr):dr==="REMOVE_RELATIONSHIP"&&await this.handleRemoveRelationship(tr,lr)}const rr=e[e.length-1].operation.id;rr&&typeof rr=="number"&&(this.lastOperationId=rr,await tr.updateTable("IndexerState").set({lastOperationId:rr,lastOperationTimestamp:new Date}).execute())});const M=[];for(let tr=0;tr<e.length;tr++){const rr=e[tr];M.push({documentId:rr.context.documentId,scope:rr.context.scope,branch:rr.context.branch,operationIndex:rr.operation.index})}this.consistencyTracker.update(M)}async waitForConsistency(e,M,tr){e.coordinates.length!==0&&await this.consistencyTracker.waitFor(e.coordinates,M,tr)}async getOutgoing(e,M,tr,rr,ir){if(rr&&await this.waitForConsistency(rr,void 0,ir),ir?.aborted)throw new Error("Operation aborted");const lr=tr?.cursor?parseInt(tr.cursor):0,dr=tr?.limit||100;let mr=this.db.selectFrom("DocumentRelationship").selectAll().where("sourceId","=",e);M&&M.length>0&&(mr=mr.where("relationshipType","in",M));const hr=await mr.orderBy("createdAt","asc").orderBy("id","asc").offset(lr).limit(dr+1).execute(),fr=hr.length>dr,_r=fr?hr.slice(0,dr):hr,gr=fr?String(lr+dr):void 0;return{results:_r.map(br=>({sourceId:br.sourceId,targetId:br.targetId,relationshipType:br.relationshipType,metadata:br.metadata?br.metadata:void 0,createdAt:br.createdAt,updatedAt:br.updatedAt})),options:tr||{cursor:"0",limit:100},nextCursor:gr,next:fr?()=>this.getOutgoing(e,M,{cursor:gr,limit:dr},rr,ir):void 0}}async getIncoming(e,M,tr,rr,ir){if(rr&&await this.waitForConsistency(rr,void 0,ir),ir?.aborted)throw new Error("Operation aborted");const lr=tr?.cursor?parseInt(tr.cursor):0,dr=tr?.limit||100;let mr=this.db.selectFrom("DocumentRelationship").selectAll().where("targetId","=",e);M&&M.length>0&&(mr=mr.where("relationshipType","in",M));const hr=await mr.orderBy("createdAt","asc").orderBy("id","asc").offset(lr).limit(dr+1).execute(),fr=hr.length>dr,_r=fr?hr.slice(0,dr):hr,gr=fr?String(lr+dr):void 0;return{results:_r.map(br=>({sourceId:br.sourceId,targetId:br.targetId,relationshipType:br.relationshipType,metadata:br.metadata?br.metadata:void 0,createdAt:br.createdAt,updatedAt:br.updatedAt})),options:tr||{cursor:"0",limit:100},nextCursor:gr,next:fr?()=>this.getIncoming(e,M,{cursor:gr,limit:dr},rr,ir):void 0}}async hasRelationship(e,M,tr,rr,ir){if(rr&&await this.waitForConsistency(rr,void 0,ir),ir?.aborted)throw new Error("Operation aborted");let lr=this.db.selectFrom("DocumentRelationship").select("id").where("sourceId","=",e).where("targetId","=",M);return tr&&tr.length>0&&(lr=lr.where("relationshipType","in",tr)),await lr.executeTakeFirst()!==void 0}async getUndirectedRelationships(e,M,tr,rr,ir,lr){if(ir&&await this.waitForConsistency(ir,void 0,lr),lr?.aborted)throw new Error("Operation aborted");const dr=rr?.cursor?parseInt(rr.cursor):0,mr=rr?.limit||100;let hr=this.db.selectFrom("DocumentRelationship").selectAll().where(wr=>wr.or([wr.and([wr("sourceId","=",e),wr("targetId","=",M)]),wr.and([wr("sourceId","=",M),wr("targetId","=",e)])]));tr&&tr.length>0&&(hr=hr.where("relationshipType","in",tr));const fr=await hr.orderBy("createdAt","asc").orderBy("id","asc").offset(dr).limit(mr+1).execute(),_r=fr.length>mr,gr=_r?fr.slice(0,mr):fr,br=_r?String(dr+mr):void 0;return{results:gr.map(wr=>({sourceId:wr.sourceId,targetId:wr.targetId,relationshipType:wr.relationshipType,metadata:wr.metadata?wr.metadata:void 0,createdAt:wr.createdAt,updatedAt:wr.updatedAt})),options:rr||{cursor:"0",limit:100},nextCursor:br,next:_r?()=>this.getUndirectedRelationships(e,M,tr,{cursor:br,limit:mr},ir,lr):void 0}}async getDirectedRelationships(e,M,tr,rr,ir,lr){if(ir&&await this.waitForConsistency(ir,void 0,lr),lr?.aborted)throw new Error("Operation aborted");const dr=rr?.cursor?parseInt(rr.cursor):0,mr=rr?.limit||100;let hr=this.db.selectFrom("DocumentRelationship").selectAll().where("sourceId","=",e).where("targetId","=",M);tr&&tr.length>0&&(hr=hr.where("relationshipType","in",tr));const fr=await hr.orderBy("createdAt","asc").orderBy("id","asc").offset(dr).limit(mr+1).execute(),_r=fr.length>mr,gr=_r?fr.slice(0,mr):fr,br=_r?String(dr+mr):void 0;return{results:gr.map(wr=>({sourceId:wr.sourceId,targetId:wr.targetId,relationshipType:wr.relationshipType,metadata:wr.metadata?wr.metadata:void 0,createdAt:wr.createdAt,updatedAt:wr.updatedAt})),options:rr||{cursor:"0",limit:100},nextCursor:br,next:_r?()=>this.getDirectedRelationships(e,M,tr,{cursor:br,limit:mr},ir,lr):void 0}}async findPath(e,M,tr,rr,ir){if(rr&&await this.waitForConsistency(rr,void 0,ir),ir?.aborted)throw new Error("Operation aborted");if(e===M)return[e];const lr=new Set,dr=[{id:e,path:[e]}];for(;dr.length>0;){const mr=dr.shift();if(mr.id===M)return mr.path;if(lr.has(mr.id))continue;lr.add(mr.id);const hr=await this.getOutgoing(mr.id,tr,void 0,rr,ir),fr=await collectAllPages(hr,ir);for(const _r of fr)lr.has(_r.targetId)||dr.push({id:_r.targetId,path:[...mr.path,_r.targetId]})}return null}async findAncestors(e,M,tr,rr){if(tr&&await this.waitForConsistency(tr,void 0,rr),rr?.aborted)throw new Error("Operation aborted");const ir=new Set([e]),lr=[],dr=[e],mr=new Set;for(;dr.length>0;){const hr=dr.shift();if(mr.has(hr))continue;mr.add(hr);const fr=await this.getIncoming(hr,M,void 0,tr,rr),_r=await collectAllPages(fr,rr);for(const gr of _r)ir.add(gr.sourceId),lr.push({from:gr.sourceId,to:gr.targetId,type:gr.relationshipType}),mr.has(gr.sourceId)||dr.push(gr.sourceId)}return{nodes:Array.from(ir),edges:lr}}async getRelationshipTypes(e,M){if(e&&await this.waitForConsistency(e,void 0,M),M?.aborted)throw new Error("Operation aborted");return(await this.db.selectFrom("DocumentRelationship").select("relationshipType").distinct().execute()).map(rr=>rr.relationshipType)}async handleAddRelationship(e,M){const tr=M.action.input;if(await e.selectFrom("Document").select("id").where("id","=",tr.sourceId).executeTakeFirst()||await e.insertInto("Document").values({id:tr.sourceId}).execute(),await e.selectFrom("Document").select("id").where("id","=",tr.targetId).executeTakeFirst()||await e.insertInto("Document").values({id:tr.targetId}).execute(),!await e.selectFrom("DocumentRelationship").select("id").where("sourceId","=",tr.sourceId).where("targetId","=",tr.targetId).where("relationshipType","=",tr.relationshipType).executeTakeFirst()){const dr={id:v4(),sourceId:tr.sourceId,targetId:tr.targetId,relationshipType:tr.relationshipType,metadata:tr.metadata||null};await e.insertInto("DocumentRelationship").values(dr).execute()}}async handleRemoveRelationship(e,M){const tr=M.action.input;await e.deleteFrom("DocumentRelationship").where("sourceId","=",tr.sourceId).where("targetId","=",tr.targetId).where("relationshipType","=",tr.relationshipType).execute()}}class KyselyKeyframeStore{db;constructor(e){this.db=e}async putKeyframe(e,M,tr,rr,ir,lr){if(lr?.aborted)throw new Error("Operation aborted");await this.db.insertInto("Keyframe").values({documentId:e,documentType:ir.header.documentType,scope:M,branch:tr,revision:rr,document:ir}).onConflict(dr=>dr.columns(["documentId","scope","branch","revision"]).doUpdateSet({document:ir})).execute()}async findNearestKeyframe(e,M,tr,rr,ir){if(ir?.aborted)throw new Error("Operation aborted");const lr=await this.db.selectFrom("Keyframe").selectAll().where("documentId","=",e).where("scope","=",M).where("branch","=",tr).where("revision","<=",rr).orderBy("revision","desc").limit(1).executeTakeFirst();if(lr)return{revision:lr.revision,document:lr.document}}async deleteKeyframes(e,M,tr,rr){if(rr?.aborted)throw new Error("Operation aborted");let ir=this.db.deleteFrom("Keyframe").where("documentId","=",e);M!==void 0&&tr!==void 0?ir=ir.where("scope","=",M).where("branch","=",tr):M!==void 0&&(ir=ir.where("scope","=",M));const lr=await ir.executeTakeFirst();return Number(lr.numDeletedRows||0n)}}class DuplicateOperationError extends Error{constructor(e){super(`Duplicate operation: ${e}`),this.name="DuplicateOperationError"}}class RevisionMismatchError extends Error{constructor(e,M){super(`Revision mismatch: expected ${e}, got ${M}`),this.name="RevisionMismatchError"}}class AtomicTransaction{documentId;documentType;scope;branch;baseRevision;operations=[];constructor(e,M,tr,rr,ir){this.documentId=e,this.documentType=M,this.scope=tr,this.branch=rr,this.baseRevision=ir}addOperations(...e){for(const M of e)this.operations.push({jobId:v4(),opId:M.id,prevOpId:"",documentId:this.documentId,documentType:this.documentType,scope:this.scope,branch:this.branch,timestampUtcMs:new Date(M.timestampUtcMs),index:M.index,action:JSON.stringify(M.action),skip:M.skip,error:M.error||null,hash:M.hash})}getOperations(){return this.operations}}class KyselyOperationStore{db;constructor(e){this.db=e}async apply(e,M,tr,rr,ir,lr,dr){await this.db.transaction().execute(async mr=>{if(dr?.aborted)throw new Error("Operation aborted");const hr=await mr.selectFrom("Operation").selectAll().where("documentId","=",e).where("scope","=",tr).where("branch","=",rr).orderBy("index","desc").limit(1).executeTakeFirst(),fr=hr?hr.index:-1;if(fr!==ir-1)throw new RevisionMismatchError(fr+1,ir);const _r=new AtomicTransaction(e,M,tr,rr,ir);await lr(_r);const gr=_r.getOperations();if(gr.length>0){let br=hr?.opId||"";for(const wr of gr)wr.prevOpId=br,br=wr.opId;try{await mr.insertInto("Operation").values(gr).execute()}catch(wr){if(wr instanceof Error){if(wr.message.includes("unique constraint")){const xr=gr[0];throw new DuplicateOperationError(`${xr.opId} at index ${xr.index} with skip ${xr.skip}`)}throw wr}throw wr}}})}async getSince(e,M,tr,rr,ir,lr,dr){if(dr?.aborted)throw new Error("Operation aborted");let mr=this.db.selectFrom("Operation").selectAll().where("documentId","=",e).where("scope","=",M).where("branch","=",tr).where("index",">",rr).orderBy("index","asc");if(ir){if(ir.actionTypes&&ir.actionTypes.length>0){const vr=ir.actionTypes.map(Mr=>`'${Mr.replace(/'/g,"''")}'`).join(",");mr=mr.where(sql`action->>'type' = ANY(ARRAY[${sql.raw(vr)}]::text[])`)}ir.timestampFrom&&(mr=mr.where("timestampUtcMs",">=",new Date(ir.timestampFrom))),ir.timestampTo&&(mr=mr.where("timestampUtcMs","<=",new Date(ir.timestampTo))),ir.sinceRevision!==void 0&&(mr=mr.where("index",">=",ir.sinceRevision))}if(lr){const vr=Number.parseInt(lr.cursor,10);vr>0&&(mr=mr.where("index",">",vr)),lr.limit&&(mr=mr.limit(lr.limit+1))}const hr=await mr.execute();let fr=!1,_r=hr;lr?.limit&&hr.length>lr.limit&&(fr=!0,_r=hr.slice(0,lr.limit));const gr=fr&&_r.length>0?_r[_r.length-1].index.toString():void 0,br=lr?.cursor||"0",wr=lr?.limit||100;return{results:_r.map(vr=>this.rowToOperation(vr)),options:{cursor:br,limit:wr},nextCursor:gr,next:fr?()=>this.getSince(e,M,tr,rr,ir,{cursor:gr,limit:wr},dr):void 0}}async getSinceId(e,M,tr){if(tr?.aborted)throw new Error("Operation aborted");let rr=this.db.selectFrom("Operation").selectAll().where("id",">",e).orderBy("id","asc");if(M){const gr=Number.parseInt(M.cursor,10);gr>0&&(rr=rr.where("id",">",gr)),M.limit&&(rr=rr.limit(M.limit+1))}const ir=await rr.execute();let lr=!1,dr=ir;M?.limit&&ir.length>M.limit&&(lr=!0,dr=ir.slice(0,M.limit));const mr=lr&&dr.length>0?dr[dr.length-1].id.toString():void 0,hr=M?.cursor||"0",fr=M?.limit||100;return{results:dr.map(gr=>this.rowToOperationWithContext(gr)),options:{cursor:hr,limit:fr},nextCursor:mr,next:lr?()=>this.getSinceId(e,{cursor:mr,limit:fr},tr):void 0}}async getConflicting(e,M,tr,rr,ir,lr){if(lr?.aborted)throw new Error("Operation aborted");let dr=this.db.selectFrom("Operation").selectAll().where("documentId","=",e).where("scope","=",M).where("branch","=",tr).where("timestampUtcMs",">=",new Date(rr)).orderBy("index","asc");if(ir){const xr=Number.parseInt(ir.cursor,10);xr>0&&(dr=dr.where("index",">",xr)),ir.limit&&(dr=dr.limit(ir.limit+1))}const mr=await dr.execute();let hr=!1,fr=mr;ir?.limit&&mr.length>ir.limit&&(hr=!0,fr=mr.slice(0,ir.limit));const _r=hr&&fr.length>0?fr[fr.length-1].index.toString():void 0,gr=ir?.cursor||"0",br=ir?.limit||100;return{results:fr.map(xr=>this.rowToOperation(xr)),options:{cursor:gr,limit:br},nextCursor:_r,next:hr?()=>this.getConflicting(e,M,tr,rr,{cursor:_r,limit:br},lr):void 0}}async getRevisions(e,M,tr){if(tr?.aborted)throw new Error("Operation aborted");const rr=await this.db.selectFrom("Operation as o1").select(["o1.scope","o1.index","o1.timestampUtcMs"]).where("o1.documentId","=",e).where("o1.branch","=",M).where(dr=>dr("o1.index","=",dr.selectFrom("Operation as o2").select(mr=>mr.fn.max("o2.index").as("maxIndex")).where("o2.documentId","=",dr.ref("o1.documentId")).where("o2.branch","=",dr.ref("o1.branch")).where("o2.scope","=",dr.ref("o1.scope")))).execute(),ir={};let lr=new Date(0).toISOString();for(const dr of rr){ir[dr.scope]=dr.index+1;const mr=dr.timestampUtcMs.toISOString();mr>lr&&(lr=mr)}return{revision:ir,latestTimestamp:lr}}rowToOperation(e){return{index:e.index,timestampUtcMs:e.timestampUtcMs.toISOString(),hash:e.hash,skip:e.skip,error:e.error||void 0,id:e.opId,action:e.action}}rowToOperationWithContext(e){return{operation:this.rowToOperation(e),context:{documentId:e.documentId,documentType:e.documentType,scope:e.scope,branch:e.branch,ordinal:e.id}}}}class DefaultSubscriptionErrorHandler{handleError(e,M){const tr=`Subscription error in ${M.eventType} (${M.subscriptionId})`;if(e instanceof Error){const rr=new Error(`${tr}: ${e.message}`);throw rr.cause=e,rr.stack=e.stack,rr}else throw new Error(`${tr}: ${String(e)}`)}}class ReactorSubscriptionManager{createdSubscriptions=new Map;deletedSubscriptions=new Map;updatedSubscriptions=new Map;relationshipSubscriptions=new Map;subscriptionCounter=0;errorHandler;constructor(e){this.errorHandler=e}onDocumentCreated(e,M){const tr=`created-${++this.subscriptionCounter}`;return this.createdSubscriptions.set(tr,{id:tr,callback:e,search:M}),()=>{this.createdSubscriptions.delete(tr)}}onDocumentDeleted(e,M){const tr=`deleted-${++this.subscriptionCounter}`;return this.deletedSubscriptions.set(tr,{id:tr,callback:e,search:M}),()=>{this.deletedSubscriptions.delete(tr)}}onDocumentStateUpdated(e,M,tr){const rr=`updated-${++this.subscriptionCounter}`;return this.updatedSubscriptions.set(rr,{id:rr,callback:e,search:M,view:tr}),()=>{this.updatedSubscriptions.delete(rr)}}onRelationshipChanged(e,M){const tr=`relationship-${++this.subscriptionCounter}`;return this.relationshipSubscriptions.set(tr,{id:tr,callback:e,search:M}),()=>{this.relationshipSubscriptions.delete(tr)}}notifyDocumentsCreated(e,M,tr){const rr={results:e,options:{cursor:"",limit:e.length}};for(const ir of this.createdSubscriptions.values()){const lr=this.filterDocumentIds(e,ir.search,M,tr);if(lr.length>0)try{ir.callback({...rr,results:lr})}catch(dr){this.errorHandler.handleError(dr,{eventType:"created",subscriptionId:ir.id,eventData:lr})}}}notifyDocumentsDeleted(e,M,tr){for(const rr of this.deletedSubscriptions.values()){const ir=this.filterDocumentIds(e,rr.search,M,tr);if(ir.length>0)try{rr.callback(ir)}catch(lr){this.errorHandler.handleError(lr,{eventType:"deleted",subscriptionId:rr.id,eventData:ir})}}}notifyDocumentsUpdated(e){const M={results:e,options:{cursor:"",limit:e.length}};for(const tr of this.updatedSubscriptions.values()){const rr=this.filterDocuments(e,tr.search);if(rr.length>0)try{tr.callback({...M,results:rr})}catch(ir){this.errorHandler.handleError(ir,{eventType:"updated",subscriptionId:tr.id,eventData:rr})}}}notifyRelationshipChanged(e,M,tr,rr){for(const ir of this.relationshipSubscriptions.values())if(this.matchesRelationshipFilter(e,M,rr,ir.search))try{ir.callback(e,M,tr)}catch(lr){this.errorHandler.handleError(lr,{eventType:"relationshipChanged",subscriptionId:ir.id,eventData:{parentId:e,childId:M,changeType:tr}})}}clearAll(){this.createdSubscriptions.clear(),this.deletedSubscriptions.clear(),this.updatedSubscriptions.clear(),this.relationshipSubscriptions.clear()}filterDocumentIds(e,M,tr,rr){return M?e.filter(ir=>!(M.ids&&!M.ids.includes(ir)||M.type&&tr&&tr.get(ir)!==M.type||M.parentId&&rr&&rr.get(ir)!==M.parentId)):e}filterDocuments(e,M){return M?e.filter(tr=>!(M.ids&&!M.ids.includes(tr.header.id)||M.type&&tr.header.documentType!==M.type||M.slugs&&!M.slugs.includes(tr.header.slug))):e}matchesRelationshipFilter(e,M,tr,rr){return rr?!(rr.parentId&&e!==rr.parentId||rr.ids&&!rr.ids.includes(M)||rr.type&&tr&&tr!==rr.type):!0}}class SubscriptionNotificationReadModel{subscriptionManager;documentView;constructor(e,M){this.subscriptionManager=e,this.documentView=M}async indexOperations(e){if(e.length===0)return;const M=[],tr=[],rr=new Set,ir=new Map,lr=new Map;for(const dr of e){const{operation:mr,context:hr}=dr,fr=mr.action.type;if(ir.set(hr.documentId,hr.documentType),fr==="CREATE_DOCUMENT")M.push(hr.documentId);else if(fr==="DELETE_DOCUMENT"){const gr=mr.action.input.documentId??hr.documentId;tr.push(gr)}else if(fr==="ADD_RELATIONSHIP"){const _r=mr.action.input;this.subscriptionManager.notifyRelationshipChanged(_r.sourceId,_r.targetId,RelationshipChangeType.Added,_r.childType)}else if(fr==="REMOVE_RELATIONSHIP"){const _r=mr.action.input;this.subscriptionManager.notifyRelationshipChanged(_r.sourceId,_r.targetId,RelationshipChangeType.Removed,_r.childType)}else M.includes(hr.documentId)||rr.add(hr.documentId)}if(M.length>0&&this.subscriptionManager.notifyDocumentsCreated(M,ir,lr),tr.length>0&&this.subscriptionManager.notifyDocumentsDeleted(tr,ir,lr),rr.size>0&&this.documentView){const dr=await Promise.all(Array.from(rr).map(mr=>this.documentView.get(mr)));this.subscriptionManager.notifyDocumentsUpdated(dr)}}}function rowToRemoteCursor(r){return{remoteName:r.remote_name,cursorType:r.cursor_type,cursorOrdinal:Number(r.cursor_ordinal),lastSyncedAtUtcMs:r.last_synced_at_utc_ms?new Date(r.last_synced_at_utc_ms).getTime():void 0}}function remoteCursorToRow(r){return{remote_name:r.remoteName,cursor_type:r.cursorType,cursor_ordinal:BigInt(r.cursorOrdinal),last_synced_at_utc_ms:r.lastSyncedAtUtcMs?new Date(r.lastSyncedAtUtcMs).toISOString():null}}class KyselySyncCursorStorage{db;constructor(e){this.db=e}async list(e,M){if(M?.aborted)throw new Error("Operation aborted");const tr=await this.db.selectFrom("sync_cursors").selectAll().where("remote_name","=",e).execute();if(M?.aborted)throw new Error("Operation aborted");return tr.map(rowToRemoteCursor)}async get(e,M,tr){if(tr?.aborted)throw new Error("Operation aborted");const rr=await this.db.selectFrom("sync_cursors").selectAll().where("remote_name","=",e).where("cursor_type","=",M).executeTakeFirst();if(tr?.aborted)throw new Error("Operation aborted");return rr?rowToRemoteCursor(rr):{remoteName:e,cursorType:M,cursorOrdinal:0}}async upsert(e,M){if(M?.aborted)throw new Error("Operation aborted");if(await this.db.transaction().execute(async tr=>{const rr=remoteCursorToRow(e);await tr.insertInto("sync_cursors").values(rr).onConflict(ir=>ir.columns(["remote_name","cursor_type"]).doUpdateSet({...rr,updated_at:sql`NOW()`})).execute()}),M?.aborted)throw new Error("Operation aborted")}async remove(e,M){if(M?.aborted)throw new Error("Operation aborted");if(await this.db.transaction().execute(async tr=>{await tr.deleteFrom("sync_cursors").where("remote_name","=",e).execute()}),M?.aborted)throw new Error("Operation aborted")}}function rowToRemoteRecord(r){return{id:r.channel_id,name:r.name,collectionId:r.collection_id,channelConfig:{type:r.channel_type,parameters:r.channel_parameters??{}},filter:{documentId:r.filter_document_ids??[],scope:r.filter_scopes??[],branch:r.filter_branch},options:{sinceTimestampUtcMs:"0"},status:{push:{state:r.push_state,lastSuccessUtcMs:r.push_last_success_utc_ms?new Date(r.push_last_success_utc_ms).getTime():void 0,lastFailureUtcMs:r.push_last_failure_utc_ms?new Date(r.push_last_failure_utc_ms).getTime():void 0,failureCount:r.push_failure_count},pull:{state:r.pull_state,lastSuccessUtcMs:r.pull_last_success_utc_ms?new Date(r.pull_last_success_utc_ms).getTime():void 0,lastFailureUtcMs:r.pull_last_failure_utc_ms?new Date(r.pull_last_failure_utc_ms).getTime():void 0,failureCount:r.pull_failure_count}}}}function remoteRecordToRow(r){return{name:r.name,collection_id:r.collectionId,channel_type:r.channelConfig.type,channel_id:r.id,remote_name:r.name,channel_parameters:r.channelConfig.parameters,filter_document_ids:r.filter.documentId.length>0?r.filter.documentId:null,filter_scopes:r.filter.scope.length>0?r.filter.scope:null,filter_branch:r.filter.branch,push_state:r.status.push.state,push_last_success_utc_ms:r.status.push.lastSuccessUtcMs?new Date(r.status.push.lastSuccessUtcMs).toISOString():null,push_last_failure_utc_ms:r.status.push.lastFailureUtcMs?new Date(r.status.push.lastFailureUtcMs).toISOString():null,push_failure_count:r.status.push.failureCount,pull_state:r.status.pull.state,pull_last_success_utc_ms:r.status.pull.lastSuccessUtcMs?new Date(r.status.pull.lastSuccessUtcMs).toISOString():null,pull_last_failure_utc_ms:r.status.pull.lastFailureUtcMs?new Date(r.status.pull.lastFailureUtcMs).toISOString():null,pull_failure_count:r.status.pull.failureCount}}class KyselySyncRemoteStorage{db;constructor(e){this.db=e}async list(e){if(e?.aborted)throw new Error("Operation aborted");const M=await this.db.selectFrom("sync_remotes").selectAll().execute();if(e?.aborted)throw new Error("Operation aborted");return M.map(rowToRemoteRecord)}async get(e,M){if(M?.aborted)throw new Error("Operation aborted");const tr=await this.db.selectFrom("sync_remotes").selectAll().where("name","=",e).executeTakeFirst();if(M?.aborted)throw new Error("Operation aborted");if(!tr)throw new Error(`Remote not found: ${e}`);return rowToRemoteRecord(tr)}async upsert(e,M){if(M?.aborted)throw new Error("Operation aborted");if(await this.db.transaction().execute(async tr=>{const rr=remoteRecordToRow(e);await tr.insertInto("sync_remotes").values(rr).onConflict(ir=>ir.column("name").doUpdateSet({...rr,updated_at:sql`NOW()`})).execute()}),M?.aborted)throw new Error("Operation aborted")}async remove(e,M){if(M?.aborted)throw new Error("Operation aborted");if(await this.db.transaction().execute(async tr=>{await tr.deleteFrom("sync_remotes").where("name","=",e).execute()}),M?.aborted)throw new Error("Operation aborted")}}class BatchAggregator{logger;onBatchReady;queue=[];processing=!1;pendingBatches=new Map;constructor(e,M){this.logger=e,this.onBatchReady=M}async enqueueWriteReady(e){this.queue.push(e),await this.processQueue()}async handleJobFailed(e){const M=e.job?.meta.batchId;if(!M)return;const tr=this.pendingBatches.get(M);tr&&(this.pendingBatches.delete(M),tr.events.length>0&&await this.onBatchReady(this.prepareBatch(tr.events)))}clear(){this.queue=[],this.pendingBatches.clear()}async processQueue(){if(!this.processing){this.processing=!0;try{for(;this.queue.length>0;){const e=this.queue.shift();try{await this.handleWriteReady(e)}catch(M){const tr=M instanceof Error?M:new Error(String(M));this.logger.error("Failed to process write-ready event (@jobId, @error)",e.jobId,tr.message)}}}finally{this.processing=!1}}}async handleWriteReady(e){const{batchId:M,batchJobIds:tr}=e.jobMeta;if(tr.length<=1){await this.onBatchReady(this.prepareBatch([e]));return}let rr=this.pendingBatches.get(M);rr||(rr={expectedJobIds:new Set(tr),arrivedJobIds:new Set,events:[]},this.pendingBatches.set(M,rr)),rr.arrivedJobIds.add(e.jobId),rr.events.push(e),rr.arrivedJobIds.size>=rr.expectedJobIds.size&&(this.pendingBatches.delete(M),await this.onBatchReady(this.prepareBatch(rr.events)))}prepareBatch(e){const M=mergeCollectionMemberships(e),tr=e.length>1,rr=[],ir=[];for(const lr of e)ir.push({event:lr,jobDependencies:tr?[...rr]:[]}),tr&&lr.jobId&&rr.push(lr.jobId);return{collectionMemberships:M,entries:ir}}}class SyncAwaiter{eventBus;completedResults=new Map;pendingWaiters=new Map;unsubscribers=[];isShutdown=!1;constructor(e){this.eventBus=e,this.subscribeToEvents()}waitForSync(e,M){if(M?.aborted)return Promise.reject(new Error("Operation aborted"));if(this.isShutdown)return Promise.reject(new Error("SyncAwaiter is shutdown"));const tr=this.completedResults.get(e);return tr?Promise.resolve(tr):new Promise((rr,ir)=>{const lr={resolve:rr,reject:ir,signal:M},dr=this.pendingWaiters.get(e)||[];if(dr.push(lr),this.pendingWaiters.set(e,dr),M){const mr=()=>{const hr=this.pendingWaiters.get(e);if(hr){const fr=hr.indexOf(lr);fr!==-1&&(hr.splice(fr,1),hr.length===0&&this.pendingWaiters.delete(e),lr.reject(new Error("Operation aborted")))}};M.addEventListener("abort",mr,{once:!0})}})}shutdown(){this.isShutdown=!0;for(const e of this.unsubscribers)e();this.unsubscribers.length=0;for(const[,e]of this.pendingWaiters)for(const M of e)M.reject(new Error("SyncAwaiter shutdown"));this.pendingWaiters.clear()}subscribeToEvents(){this.unsubscribers.push(this.eventBus.subscribe(SyncEventTypes.SYNC_SUCCEEDED,(e,M)=>{this.handleSyncSucceeded(M)})),this.unsubscribers.push(this.eventBus.subscribe(SyncEventTypes.SYNC_FAILED,(e,M)=>{this.handleSyncFailed(M)}))}handleSyncSucceeded(e){const M={jobId:e.jobId,status:"succeeded",syncOperationCount:e.syncOperationCount,successCount:e.syncOperationCount,failureCount:0,errors:[]};this.completedResults.set(e.jobId,M),this.resolveWaiters(e.jobId,M)}handleSyncFailed(e){const M={jobId:e.jobId,status:"failed",syncOperationCount:e.successCount+e.failureCount,successCount:e.successCount,failureCount:e.failureCount,errors:e.errors};this.completedResults.set(e.jobId,M),this.resolveWaiters(e.jobId,M)}resolveWaiters(e,M){const tr=this.pendingWaiters.get(e);if(!(!tr||tr.length===0)){this.pendingWaiters.delete(e);for(const rr of tr)rr.signal?.aborted?rr.reject(new Error("Operation aborted")):rr.resolve(M)}}}class SyncManager{logger;remoteStorage;cursorStorage;channelFactory;operationIndex;reactor;eventBus;remotes;awaiter;syncAwaiter;isShutdown;eventUnsubscribe;failedEventUnsubscribe;batchAggregator;syncStatusTracker;loadJobs=new Map;constructor(e,M,tr,rr,ir,lr,dr){this.logger=e,this.remoteStorage=M,this.cursorStorage=tr,this.channelFactory=rr,this.operationIndex=ir,this.reactor=lr,this.eventBus=dr,this.remotes=new Map,this.awaiter=new JobAwaiter(dr,(mr,hr)=>lr.getJobStatus(mr,hr)),this.syncAwaiter=new SyncAwaiter(dr),this.isShutdown=!1,this.batchAggregator=new BatchAggregator(e,mr=>this.processCompleteBatch(mr)),this.syncStatusTracker=new SyncStatusTracker}async startup(){if(this.isShutdown)throw new Error("SyncManager is already shutdown and cannot be started");const e=await this.remoteStorage.list();for(const M of e){const tr=this.channelFactory.instance(M.id,M.name,M.channelConfig,this.cursorStorage,M.collectionId,M.filter,this.operationIndex),rr={id:M.id,name:M.name,collectionId:M.collectionId,filter:M.filter,options:M.options,channel:tr};this.remotes.set(M.name,rr),this.wireChannelCallbacks(rr);try{await tr.init()}catch(lr){this.logger.error("Error initializing channel for remote (@name, @error)",M.name,lr instanceof Error?lr.message:String(lr)),this.remotes.delete(M.name);continue}const ir=rr.channel.outbox.ackOrdinal;ir>0&&await this.updateOutbox(rr,ir)}this.eventUnsubscribe=this.eventBus.subscribe(ReactorEventTypes.JOB_WRITE_READY,async(M,tr)=>this.batchAggregator.enqueueWriteReady(tr)),this.failedEventUnsubscribe=this.eventBus.subscribe(ReactorEventTypes.JOB_FAILED,async(M,tr)=>this.batchAggregator.handleJobFailed(tr))}shutdown(){this.isShutdown=!0,this.batchAggregator.clear(),this.eventUnsubscribe&&(this.eventUnsubscribe(),this.eventUnsubscribe=void 0),this.failedEventUnsubscribe&&(this.failedEventUnsubscribe(),this.failedEventUnsubscribe=void 0),this.awaiter.shutdown(),this.syncAwaiter.shutdown(),this.syncStatusTracker.clear();const e=[];for(const M of this.remotes.values())e.push(M.channel.shutdown());return this.remotes.clear(),{isShutdown:!0,completed:Promise.all(e).then(()=>{})}}getByName(e){const M=this.remotes.get(e);if(!M)throw new Error(`Remote with name '${e}' does not exist`);return M}getById(e){for(const M of this.remotes.values())if(M.id===e)return M;throw new Error(`Remote with id '${e}' does not exist`)}async add(e,M,tr,rr={documentId:[],scope:[],branch:""},ir={sinceTimestampUtcMs:"0"},lr){if(this.isShutdown)throw new Error("SyncManager is shutdown and cannot add remotes");if(this.remotes.has(e))throw new Error(`Remote with name '${e}' already exists`);this.logger.debug("Adding remote (@name, @collectionId, @channelConfig, @filter, @options, @id)",e,M,tr,rr,ir,lr);const dr=lr??crypto.randomUUID(),mr={push:createIdleHealth(),pull:createIdleHealth()},hr={id:dr,name:e,collectionId:M,channelConfig:tr,filter:rr,options:ir,status:mr};await this.remoteStorage.upsert(hr);const fr=this.channelFactory.instance(dr,e,tr,this.cursorStorage,M,rr,this.operationIndex),_r={id:dr,name:e,collectionId:M,filter:rr,options:ir,channel:fr};this.remotes.set(e,_r),this.wireChannelCallbacks(_r);try{await fr.init()}catch(gr){throw this.remotes.delete(e),await this.remoteStorage.remove(e),gr}return await this.updateOutbox(_r,0),_r}async remove(e){const M=this.remotes.get(e);if(!M)throw new Error(`Remote with name '${e}' does not exist`);await M.channel.shutdown(),await this.remoteStorage.remove(e),await this.cursorStorage.remove(e),this.syncStatusTracker.untrackRemote(e),this.remotes.delete(e)}list(){return Array.from(this.remotes.values())}waitForSync(e,M){return this.syncAwaiter.waitForSync(e,M)}getSyncStatus(e){return this.syncStatusTracker.getStatus(e)}onSyncStatusChange(e){return this.syncStatusTracker.onChange(e)}wireChannelCallbacks(e){e.channel.inbox.onAdded(M=>this.handleInboxAdded(e,M)),this.syncStatusTracker.trackRemote(e.name,e.channel),e.channel.deadLetter.onAdded(M=>{for(const tr of M)this.logger.error("Dead letter (@remote, @documentId, @jobId, @error, @dependencies)",e.name,tr.documentId,tr.jobId,tr.error?.message??"unknown",tr.jobDependencies)})}getRemotesForCollection(e){return Array.from(this.remotes.values()).filter(M=>M.collectionId===e)}async processCompleteBatch(e){const M=[...new Set(Object.values(e.collectionMemberships).flatMap(rr=>rr))],tr=[];for(const rr of M){const ir=this.getRemotesForCollection(rr);for(const lr of ir)tr.includes(lr)||tr.push(lr)}for(const rr of tr)trimMailboxFromBatch(rr.channel.inbox,e);for(const rr of tr)await this.updateOutbox(rr,rr.channel.outbox.latestOrdinal)}handleInboxAdded(e,M){if(this.isShutdown)return;const tr=[],rr=[];for(const ir of M)ir.jobId?tr.push(ir):rr.push(ir);for(const ir of rr)this.applyInboxJob(e,ir);tr.length>0&&this.applyInboxBatch(tr.map(ir=>({remote:e,syncOp:ir})))}async applyInboxJob(e,M){const tr=M.operations.map(dr=>dr.operation);let rr;try{rr=await this.reactor.load(M.documentId,M.branch,tr,void 0,{sourceRemote:e.name})}catch(dr){const mr=dr instanceof Error?dr:new Error(String(dr));this.logger.error("Failed to load operations from inbox (@remote, @documentId, @error)",e.name,M.documentId,mr.message);const hr=new ChannelError(ChannelErrorSource.Inbox,mr);M.failed(hr),e.channel.deadLetter.add(M),e.channel.inbox.remove(M);return}let ir;try{ir=await this.awaiter.waitForJob(rr.id)}catch(dr){const mr=dr instanceof Error?dr:new Error(String(dr));this.logger.error("Failed to wait for job completion (@remote, @documentId, @jobId, @error)",e.name,M.documentId,rr.id,mr.message);const hr=new ChannelError(ChannelErrorSource.Inbox,mr);M.failed(hr),e.channel.deadLetter.add(M),e.channel.inbox.remove(M);return}const lr=`${M.documentId}:${M.branch}`;if(this.loadJobs.set(lr,ir),ir.status===JobStatus.FAILED){const dr=ir.error?.message||"Unknown error";this.logger.error("Failed to apply operations from inbox (@remote, @documentId, @jobId, @error)",e.name,M.documentId,ir.id,dr);const mr=new ChannelError(ChannelErrorSource.Inbox,new Error(`Failed to apply operations: ${dr}`));M.failed(mr),e.channel.deadLetter.add(M)}else M.executed();e.channel.inbox.remove(M)}async applyInboxBatch(e){const M=e[0].remote.name,rr={jobs:e.map(({syncOp:lr})=>({key:lr.jobId,documentId:lr.documentId,scope:lr.scopes[0],branch:lr.branch,operations:lr.operations.map(dr=>dr.operation),dependsOn:lr.jobDependencies.filter(Boolean)}))};let ir;try{ir=await this.reactor.loadBatch(rr,void 0,{sourceRemote:M})}catch(lr){for(const{remote:dr,syncOp:mr}of e){const hr=lr instanceof Error?lr:new Error(String(lr));mr.failed(new ChannelError(ChannelErrorSource.Inbox,hr)),dr.channel.deadLetter.add(mr),dr.channel.inbox.remove(mr)}return}for(const{remote:lr,syncOp:dr}of e){if(!(dr.jobId in ir.jobs)){this.logger.error("Job key missing from batch load result (@remote, @documentId, @jobId)",lr.name,dr.documentId,dr.jobId);const _r=new ChannelError(ChannelErrorSource.Inbox,new Error(`Job key '${dr.jobId}' missing from batch load result`));dr.failed(_r),lr.channel.deadLetter.add(dr),lr.channel.inbox.remove(dr);continue}const mr=ir.jobs[dr.jobId];let hr;try{hr=await this.awaiter.waitForJob(mr.id)}catch(_r){const gr=_r instanceof Error?_r:new Error(String(_r));dr.failed(new ChannelError(ChannelErrorSource.Inbox,gr)),lr.channel.deadLetter.add(dr),lr.channel.inbox.remove(dr);continue}const fr=`${dr.documentId}:${dr.branch}`;if(this.loadJobs.set(fr,hr),hr.status===JobStatus.FAILED){const _r=hr.error?.message||"Unknown error",gr=new ChannelError(ChannelErrorSource.Inbox,new Error(`Failed to apply operations: ${_r}`));dr.failed(gr),lr.channel.deadLetter.add(dr)}else dr.executed();lr.channel.inbox.remove(dr)}}async updateOutbox(e,M){const tr=await this.getOperationsForRemote(e,M);if(tr.length===0)return;const rr=batchOperationsByDocument(tr);let ir;const lr=[];for(const dr of rr){const mr=crypto.randomUUID(),hr=new SyncOperation(crypto.randomUUID(),mr,ir?[ir]:[],e.name,dr.documentId,[dr.scope],dr.branch,dr.operations);lr.push(hr),ir=mr}e.channel.outbox.add(...lr)}async getOperationsForRemote(e,M){let rr=(await this.operationIndex.find(e.collectionId,M,{excludeSourceRemote:e.name})).results.map(lr=>toOperationWithContext(lr));const ir=e.options.sinceTimestampUtcMs;return ir&&ir!=="0"&&(rr=rr.filter(lr=>lr.operation.timestampUtcMs>=ir)),filterOperations(rr,e.filter)}}class SyncBuilder{channelFactory;remoteStorage;cursorStorage;withChannelFactory(e){return this.channelFactory=e,this}withRemoteStorage(e){return this.remoteStorage=e,this}withCursorStorage(e){return this.cursorStorage=e,this}build(e,M,tr,rr,ir){return this.buildModule(e,M,tr,rr,ir).syncManager}buildModule(e,M,tr,rr,ir){if(!this.channelFactory)throw new Error("Channel factory is required");const lr=this.remoteStorage??new KyselySyncRemoteStorage(ir),dr=this.cursorStorage??new KyselySyncCursorStorage(ir),mr=new SyncManager(M,lr,dr,this.channelFactory,tr,e,rr);return{remoteStorage:lr,cursorStorage:dr,channelFactory:this.channelFactory,syncManager:mr}}}function createMutableShutdownStatus(r=!1){let e=r,M=Promise.resolve();return[{get isShutdown(){return e},get completed(){return M}},lr=>{e=lr},lr=>{M=lr}]}function matchesScope(r={},e){return r.scopes?r.scopes.includes(e):!0}class Reactor{logger;documentModelRegistry;shutdownStatus;setShutdown;setCompleted;queue;jobTracker;readModelCoordinator;features;documentView;documentIndexer;operationStore;eventBus;executorManager;constructor(e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r){this.logger=e,this.documentModelRegistry=M,this.queue=tr,this.jobTracker=rr,this.readModelCoordinator=ir,this.features=lr,this.documentView=dr,this.documentIndexer=mr,this.operationStore=hr,this.eventBus=fr,this.executorManager=_r;const[gr,br,wr]=createMutableShutdownStatus(!1);this.shutdownStatus=gr,this.setShutdown=br,this.setCompleted=wr,this.eventBus.subscribe(ReactorEventTypes.JOB_FAILED,(xr,vr)=>{this.logger.error("Job @JobId failed with @Message: @Job",vr.jobId,vr.error.message,vr.job)}),this.readModelCoordinator.start()}kill(){if(this.logger.verbose("kill()"),this.shutdownStatus.isShutdown)return this.shutdownStatus;this.setShutdown(!0);const e=async()=>{await this.executorManager.stop(!0),this.readModelCoordinator.stop(),this.jobTracker.shutdown()};return this.setCompleted(e()),this.shutdownStatus}getDocumentModels(e,M,tr){if(this.logger.verbose("getDocumentModels(@namespace, @paging)",e,M),tr?.aborted)throw new AbortError;const ir=this.documentModelRegistry.getAllModules().filter(_r=>!e||_r.documentModel.global.id.startsWith(e)),lr=M&&parseInt(M.cursor)||0,dr=M?.limit||ir.length,mr=ir.slice(lr,lr+dr),hr=lr+dr<ir.length,fr=hr?String(lr+dr):void 0;return Promise.resolve({results:mr,options:M||{cursor:"0",limit:ir.length},nextCursor:fr,next:hr?()=>this.getDocumentModels(e,{cursor:fr,limit:dr},tr):void 0})}async get(e,M,tr,rr){return this.logger.verbose("get(@id, @view)",e,M),await this.documentView.get(e,M,tr,rr)}async getBySlug(e,M,tr,rr){this.logger.verbose("getBySlug(@slug, @view)",e,M);const ir=await this.documentView.resolveSlug(e,M,tr,rr);if(!ir)throw new Error(`Document not found with slug: ${e}`);return await this.get(ir,M,tr,rr)}async getByIdOrSlug(e,M,tr,rr){return this.logger.verbose("getByIdOrSlug(@identifier, @view)",e,M),await this.documentView.getByIdOrSlug(e,M,tr,rr)}async getChildren(e,M,tr){const rr=await this.documentIndexer.getOutgoing(e,["child"],void 0,M,tr);if(tr?.aborted)throw new AbortError;return rr.results.map(ir=>ir.targetId)}async getParents(e,M,tr){const rr=await this.documentIndexer.getIncoming(e,["parent"],void 0,M,tr);if(tr?.aborted)throw new AbortError;return rr.results.map(ir=>ir.sourceId)}async getOperations(e,M,tr,rr,ir,lr){this.logger.verbose("getOperations(@documentId, @view, @filter, @paging)",e,M,tr,rr);const dr=M?.branch||"main",mr=await this.operationStore.getRevisions(e,dr,lr);if(lr?.aborted)throw new AbortError;const hr=Object.keys(mr.revision),fr={};for(const _r of hr){if(!matchesScope(M,_r))continue;if(lr?.aborted)throw new AbortError;const gr=await this.operationStore.getSince(e,_r,dr,-1,tr,rr,lr);fr[_r]={results:gr.results,options:gr.options,nextCursor:gr.nextCursor,next:gr.next?async()=>(await this.getOperations(e,M,tr,{cursor:gr.nextCursor,limit:gr.options.limit},ir,lr))[_r]:void 0}}return fr}async find(e,M,tr,rr,ir){this.logger.verbose("find(@search, @view, @paging)",e,M,tr);let lr;if(e.ids){if(e.slugs&&e.slugs.length>0)throw new Error("Cannot use both ids and slugs in the same search");lr=await this.findByIds(e.ids,M,tr,rr,ir),e.type&&(lr=filterByType(lr,e.type))}else if(e.slugs)lr=await this.findBySlugs(e.slugs,M,tr,rr,ir),e.type&&(lr=filterByType(lr,e.type));else if(e.parentId)lr=await this.findByParentId(e.parentId,M,tr,rr,ir),e.type&&(lr=filterByType(lr,e.type));else if(e.type)lr=await this.findByType(e.type,M,tr,rr,ir);else throw new Error("No search criteria provided");if(ir?.aborted)throw new AbortError;return lr}async create(e,M,tr,rr){this.logger.verbose("create(@id, @type, @slug)",e.header.id,e.header.documentType,e.header.slug);const ir=new Date().toISOString();if(tr?.aborted)throw new AbortError;const lr={model:e.header.documentType,version:0,documentId:e.header.id,signing:{signature:e.header.id,publicKey:e.header.sig.publicKey,nonce:e.header.sig.nonce,createdAtUtcIso:e.header.createdAtUtcIso,documentType:e.header.documentType},slug:e.header.slug,name:e.header.name,branch:e.header.branch,meta:e.header.meta,protocolVersions:e.header.protocolVersions??{"base-reducer":2}},dr=createDocumentAction(lr),mr=upgradeDocumentAction({documentId:e.header.id,model:e.header.documentType,fromVersion:0,toVersion:e.state.document.version,initialState:e.state});let hr=[dr,mr];M&&(hr=await signActions(hr,M,tr));const fr=v4(),_r=buildSingleJobMeta(fr,rr),gr={id:fr,kind:"mutation",documentId:e.header.id,scope:"document",branch:"main",actions:hr,operations:[],createdAt:new Date().toISOString(),queueHint:[],maxRetries:3,errorHistory:[],meta:_r},br={id:fr,status:JobStatus.PENDING,createdAtUtcIso:ir,consistencyToken:{version:1,createdAtUtcIso:ir,coordinates:[]},meta:_r};return this.jobTracker.registerJob(br),this.emitJobPending(br.id,_r),await this.queue.enqueue(gr),br}async deleteDocument(e,M,tr,rr){this.logger.verbose("deleteDocument(@id)",e);const ir=new Date().toISOString();if(tr?.aborted)throw new AbortError;let lr=deleteDocumentAction(e);M&&(lr=await signAction(lr,M,tr));const dr=v4(),mr=buildSingleJobMeta(dr,rr),hr={id:dr,kind:"mutation",documentId:e,scope:"document",branch:"main",actions:[lr],operations:[],createdAt:new Date().toISOString(),queueHint:[],maxRetries:3,errorHistory:[],meta:mr},fr={id:dr,status:JobStatus.PENDING,createdAtUtcIso:ir,consistencyToken:{version:1,createdAtUtcIso:ir,coordinates:[]},meta:mr};return this.jobTracker.registerJob(fr),this.emitJobPending(fr.id,mr),await this.queue.enqueue(hr),fr}async execute(e,M,tr,rr,ir){if(this.logger.verbose("execute(@docId, @branch, @actions)",e,M,tr),rr?.aborted)throw new AbortError;const lr=new Date().toISOString(),dr=getSharedActionScope(tr),mr=v4(),hr=buildSingleJobMeta(mr,ir),fr={id:mr,kind:"mutation",documentId:e,scope:dr,branch:M,actions:tr,operations:[],createdAt:new Date().toISOString(),queueHint:[],maxRetries:3,errorHistory:[],meta:hr},_r={id:mr,status:JobStatus.PENDING,createdAtUtcIso:lr,consistencyToken:{version:1,createdAtUtcIso:lr,coordinates:[]},meta:hr};if(this.jobTracker.registerJob(_r),this.emitJobPending(_r.id,hr),await this.queue.enqueue(fr),rr?.aborted)throw new AbortError;return _r}async load(e,M,tr,rr,ir){if(this.logger.verbose("load(@docId, @branch, @count, @operations)",e,M,tr.length,tr),rr?.aborted)throw new AbortError;if(tr.length===0)throw new Error("load requires at least one operation");const lr=getSharedOperationScope(tr),dr=new Date().toISOString(),mr=v4(),hr=buildSingleJobMeta(mr,ir),fr={id:mr,kind:"load",documentId:e,scope:lr,branch:M,actions:[],operations:tr,createdAt:dr,queueHint:[],maxRetries:3,errorHistory:[],meta:hr},_r={id:mr,status:JobStatus.PENDING,createdAtUtcIso:dr,consistencyToken:{version:1,createdAtUtcIso:dr,coordinates:[]},meta:hr};if(this.jobTracker.registerJob(_r),this.emitJobPending(_r.id,hr),await this.queue.enqueue(fr),rr?.aborted)throw new AbortError;return _r}async executeBatch(e,M,tr){if(this.logger.verbose("executeBatch(@count jobs)",e.jobs.length),M?.aborted)throw new AbortError;validateBatchRequest(e.jobs);for(const br of e.jobs)validateActionScopes(br);const rr=new Date().toISOString(),ir=new Map;for(const br of e.jobs)ir.set(br.key,v4());const lr=v4(),dr=[...ir.values()],mr={...tr,batchId:lr,batchJobIds:dr},hr=new Map;for(const br of e.jobs){const xr={id:ir.get(br.key),status:JobStatus.PENDING,createdAtUtcIso:rr,consistencyToken:{version:1,createdAtUtcIso:rr,coordinates:[]},meta:mr};this.jobTracker.registerJob(xr),this.emitJobPending(xr.id,mr),hr.set(br.key,xr)}const fr=topologicalSort(e.jobs),_r=[];try{for(const br of fr){if(M?.aborted)throw new AbortError;const wr=e.jobs.find(Sr=>Sr.key===br),xr=ir.get(br),vr=wr.dependsOn.map(Sr=>ir.get(Sr)),Mr={id:xr,kind:"mutation",documentId:wr.documentId,scope:wr.scope,branch:wr.branch,actions:wr.actions,operations:[],createdAt:rr,queueHint:vr,maxRetries:3,errorHistory:[],meta:mr};await this.queue.enqueue(Mr),_r.push(br)}}catch(br){for(const wr of _r){const xr=ir.get(wr);try{await this.queue.remove(xr)}catch{}}for(const wr of hr.values())this.jobTracker.markFailed(wr.id,toErrorInfo("Batch enqueue failed"));throw br}return{jobs:Object.fromEntries(hr)}}async loadBatch(e,M,tr){if(this.logger.verbose("loadBatch(@count jobs)",e.jobs.length),M?.aborted)throw new AbortError;validateBatchLoadRequest(e.jobs);for(const br of e.jobs)validateOperationScopes(br);const rr=new Date().toISOString(),ir=new Map;for(const br of e.jobs)ir.set(br.key,v4());const lr=v4(),dr=[...ir.values()],mr={...tr,batchId:lr,batchJobIds:dr},hr=new Map;for(const br of e.jobs){const xr={id:ir.get(br.key),status:JobStatus.PENDING,createdAtUtcIso:rr,consistencyToken:{version:1,createdAtUtcIso:rr,coordinates:[]},meta:mr};this.jobTracker.registerJob(xr),this.emitJobPending(xr.id,mr),hr.set(br.key,xr)}const fr=topologicalSort(e.jobs),_r=[];try{for(const br of fr){if(M?.aborted)throw new AbortError;const wr=e.jobs.find(Sr=>Sr.key===br),xr=ir.get(br),vr=wr.dependsOn.map(Sr=>ir.get(Sr)),Mr={id:xr,kind:"load",documentId:wr.documentId,scope:wr.scope,branch:wr.branch,actions:[],operations:wr.operations,createdAt:rr,queueHint:vr,maxRetries:3,errorHistory:[],meta:mr};await this.queue.enqueue(Mr),_r.push(br)}}catch(br){for(const wr of _r){const xr=ir.get(wr);try{await this.queue.remove(xr)}catch{}}for(const wr of hr.values())this.jobTracker.markFailed(wr.id,toErrorInfo("Batch enqueue failed"));throw br}return{jobs:Object.fromEntries(hr)}}async addChildren(e,M,tr="main",rr,ir){if(this.logger.verbose("addChildren(@parentId, @count children, @branch)",e,M.length,tr),ir?.aborted)throw new AbortError;let lr=M.map(dr=>addRelationshipAction(e,dr,"child"));return rr&&(lr=await signActions(lr,rr,ir)),await this.execute(e,tr,lr,ir)}async removeChildren(e,M,tr="main",rr,ir){if(this.logger.verbose("removeChildren(@parentId, @count children, @branch)",e,M.length,tr),ir?.aborted)throw new AbortError;let lr=M.map(dr=>removeRelationshipAction(e,dr,"child"));return rr&&(lr=await signActions(lr,rr,ir)),await this.execute(e,tr,lr,ir)}getJobStatus(e,M){if(this.logger.verbose("getJobStatus(@jobId)",e),M?.aborted)throw new AbortError;const tr=this.jobTracker.getJobStatus(e);if(!tr){const rr=new Date().toISOString();return Promise.resolve({id:e,status:JobStatus.FAILED,createdAtUtcIso:rr,completedAtUtcIso:rr,error:toErrorInfo("Job not found"),consistencyToken:{version:1,createdAtUtcIso:rr,coordinates:[]},meta:{batchId:e,batchJobIds:[e]}})}return Promise.resolve(tr)}async findByIds(e,M,tr,rr,ir){this.logger.verbose("findByIds(@count ids)",e.length);const lr=tr?.cursor&&parseInt(tr.cursor)||0,dr=tr?.limit||e.length,mr=e.slice(lr,lr+dr),hr=await this.documentView.getMany(mr,M,rr,ir),_r=lr+dr<e.length?String(lr+dr):void 0;return{results:hr,options:tr||{cursor:"0",limit:e.length},nextCursor:_r}}async findBySlugs(e,M,tr,rr,ir){this.logger.verbose("findBySlugs(@count slugs)",e.length);const lr=await this.documentView.resolveSlugs(e,M,rr,ir);return await this.findByIds(lr,M,tr,rr,ir)}async findByParentId(e,M,tr,rr,ir){this.logger.verbose("findByParentId(@parentId)",e);const dr=(await this.documentIndexer.getOutgoing(e,["child"],tr,rr,ir)).results.map(mr=>mr.targetId);return await this.findByIds(dr,M,tr,void 0,ir)}async findByType(e,M,tr,rr,ir){return this.logger.verbose("findByType(@type)",e),await this.documentView.findByType(e,M,tr,rr,ir)}emitJobPending(e,M){const tr={jobId:e,jobMeta:M};this.eventBus.emit(ReactorEventTypes.JOB_PENDING,tr).catch(()=>{})}}class ReactorBuilder{logger;documentModels=[];upgradeManifests=[];storage;features={legacyStorageEnabled:!1};readModels=[];executorManager;executorConfig={};writeCacheConfig;migrationStrategy="auto";syncBuilder;eventBus;readModelCoordinator;signatureVerifier;kyselyInstance;signalHandlersEnabled=!1;queueInstance;channelScheme;jwtHandler;documentModelLoader;withLogger(e){return this.logger=e,this}withDocumentModels(e){return this.documentModels=e,this}withUpgradeManifests(e){return this.upgradeManifests=e,this}withLegacyStorage(e){return this.storage=e,this}withFeatures(e){return this.features={...this.features,...e},this}withReadModel(e){return this.readModels.push(e),this}withReadModelCoordinator(e){return this.readModelCoordinator=e,this}withExecutor(e){return this.executorManager=e,this}withExecutorConfig(e){return this.executorConfig={...this.executorConfig,...e},this}withWriteCacheConfig(e){return this.writeCacheConfig=e,this}withMigrationStrategy(e){return this.migrationStrategy=e,this}withSync(e){return this.syncBuilder=e,this}withEventBus(e){return this.eventBus=e,this}withSignatureVerifier(e){return this.signatureVerifier=e,this}withKysely(e){return this.kyselyInstance=e,this}withQueue(e){return this.queueInstance=e,this}withChannelScheme(e){return this.channelScheme=e,this}withJwtHandler(e){return this.jwtHandler=e,this}withDocumentModelLoader(e){return this.documentModelLoader=e,this}withSignalHandlers(){return this.signalHandlersEnabled=!0,this}async build(){return(await this.buildModule()).reactor}async buildModule(){this.logger||(this.logger=new ConsoleLogger(["reactor"]));const e=new DocumentModelRegistry;this.upgradeManifests.length>0&&e.registerUpgradeManifests(...this.upgradeManifests),this.documentModels.length>0&&e.registerModules(...this.documentModels);const M=this.kyselyInstance??new Kysely({dialect:new PGliteDialect(new We)});if(this.migrationStrategy==="auto"){const zr=await runMigrations(M,REACTOR_SCHEMA);if(!zr.success&&zr.error)throw new Error(`Database migration failed: ${zr.error.message}`)}const tr=M.withSchema(REACTOR_SCHEMA),rr=new KyselyOperationStore(tr),ir=new KyselyKeyframeStore(tr),lr=this.eventBus||new EventBus,dr=this.queueInstance??new InMemoryQueue(lr,e,this.documentModelLoader),mr=new InMemoryJobTracker(lr),hr={maxDocuments:this.writeCacheConfig?.maxDocuments??100,ringBufferSize:this.writeCacheConfig?.ringBufferSize??10,keyframeInterval:this.writeCacheConfig?.keyframeInterval??10},fr=new KyselyWriteCache(ir,rr,e,hr);await fr.startup();const _r=new KyselyOperationIndex(tr),gr=new DocumentMetaCache(rr,{maxDocuments:1e3});await gr.startup();const br=new CollectionMembershipCache(_r);let wr=this.executorManager;wr||(wr=new SimpleJobExecutorManager(()=>new SimpleJobExecutor(this.logger,e,rr,lr,fr,_r,gr,br,this.executorConfig,this.signatureVerifier),lr,dr,mr,this.logger)),await wr.start(this.executorConfig.maxConcurrency??1);const xr=Array.from(new Set([...this.readModels])),vr=new ConsistencyTracker,Mr=new KyselyDocumentView(tr,rr,_r,fr,vr);try{await Mr.init()}catch(zr){console.error("Error initializing document view",zr)}xr.push(Mr);const Sr=new ConsistencyTracker,yr=new KyselyDocumentIndexer(tr,rr,Sr);try{await yr.init()}catch(zr){console.error("Error initializing document indexer",zr)}xr.push(yr);const Ar=new ReactorSubscriptionManager(new DefaultSubscriptionErrorHandler),Dr=new SubscriptionNotificationReadModel(Ar,Mr),Ir=new ConsistencyTracker,Lr=new ProcessorManager(tr,_r,fr,Ir);try{await Lr.init()}catch(zr){console.error("Error initializing processor manager",zr)}const Gr=this.readModelCoordinator?this.readModelCoordinator:new ReadModelCoordinator(lr,xr,[Dr,Lr]),Or=new Reactor(this.logger,e,dr,mr,Gr,this.features,Mr,yr,rr,lr,wr);let Qr;if(this.channelScheme){const zr=this.channelScheme===ChannelScheme.CONNECT?new GqlRequestChannelFactory(this.logger,this.jwtHandler,dr):new GqlResponseChannelFactory(this.logger);Qr=new SyncBuilder().withChannelFactory(zr).buildModule(Or,this.logger,_r,lr,tr),await Qr.syncManager.startup()}else this.syncBuilder&&(Qr=this.syncBuilder.buildModule(Or,this.logger,_r,lr,tr),await Qr.syncManager.startup());const $n={eventBus:lr,documentModelRegistry:e,queue:dr,jobTracker:mr,executorManager:wr,database:tr,operationStore:rr,keyframeStore:ir,writeCache:fr,operationIndex:_r,documentView:Mr,documentViewConsistencyTracker:vr,documentIndexer:yr,documentIndexerConsistencyTracker:Sr,readModelCoordinator:Gr,subscriptionManager:Ar,processorManager:Lr,processorManagerConsistencyTracker:Ir,syncModule:Qr,reactor:Or};return this.signalHandlersEnabled&&this.attachSignalHandlers($n),$n}attachSignalHandlers(e){if(typeof globalThis>"u"||!("process"in globalThis)||typeof globalThis.process.on!="function")return;const M=globalThis.process;let tr=!1;const rr=async ir=>{tr&&(this.logger.warn(`Received ${ir} again, forcing exit`),M.exit(1)),tr=!0,this.logger.info(`Received ${ir}, starting graceful shutdown...`);const lr=e.reactor.kill();try{await lr.completed}catch(dr){this.logger.error("Shutdown failed waiting for reactor:",dr),M.exit(1);return}try{await e.database.destroy()}catch(dr){this.logger.error("Shutdown failed destroying database:",dr),M.exit(1);return}this.logger.info("Shutdown complete"),M.exit(0)};M.on("SIGINT",()=>{rr("SIGINT")}),M.on("SIGTERM",()=>{rr("SIGTERM")})}}class PassthroughSigner{publicKey={};sign(){return Promise.resolve(new Uint8Array(0))}verify(){return Promise.resolve()}signAction(){return Promise.resolve(["","","","",""])}}class ReactorClientBuilder{logger;reactorBuilder;reactor;eventBus;documentIndexer;documentView;signer;signatureVerifier;subscriptionManager;jobAwaiter;withLogger(e){return this.logger=e,this}withReactorBuilder(e){if(this.reactor)throw new Error("Reactor is already set");return this.reactorBuilder=e,this}withReactor(e,M,tr,rr){if(this.reactorBuilder)throw new Error("ReactorBuilder is already set");return this.reactor=e,this.eventBus=M,this.documentIndexer=tr,this.documentView=rr,this}withSigner(e){return"signer"in e?(this.signer=e.signer,this.signatureVerifier=e.verifier):this.signer=e,this}withSubscriptionManager(e){return this.subscriptionManager=e,this}withJobAwaiter(e){return this.jobAwaiter=e,this}async build(){return(await this.buildModule()).client}async buildModule(){this.logger||(this.logger=new ConsoleLogger(["reactor-client"]));let e,M,tr,rr,ir;if(this.reactorBuilder)this.signatureVerifier&&this.reactorBuilder.withSignatureVerifier(this.signatureVerifier),ir=await this.reactorBuilder.buildModule(),e=ir.reactor,M=ir.eventBus,tr=ir.documentIndexer,rr=ir.documentView;else if(this.reactor&&this.eventBus&&this.documentIndexer&&this.documentView)e=this.reactor,M=this.eventBus,tr=this.documentIndexer,rr=this.documentView,ir=void 0;else throw new Error("Either ReactorBuilder or (Reactor + EventBus + DocumentIndexer + DocumentView) is required");const lr=this.signer??new PassthroughSigner,dr=this.subscriptionManager??ir?.subscriptionManager??new ReactorSubscriptionManager(new DefaultSubscriptionErrorHandler),mr=this.jobAwaiter??new JobAwaiter(M,(fr,_r)=>e.getJobStatus(fr,_r));return{client:new ReactorClient(this.logger,e,lr,dr,mr,tr,rr),reactor:e,eventBus:M,documentIndexer:tr,documentView:rr,signer:lr,subscriptionManager:dr,jobAwaiter:mr,reactorModule:ir}}}const selectedTimelineRevisionEventFunctions=makePHEventFunctions("selectedTimelineRevision"),addSelectedTimelineRevisionEventHandler=selectedTimelineRevisionEventFunctions.addEventHandler,connectCryptoEventFunctions=makePHEventFunctions("connectCrypto"),setConnectCrypto=connectCryptoEventFunctions.setValue,addConnectCryptoEventHandler=connectCryptoEventFunctions.addEventHandler,{setValue:setDid,addEventHandler:addDidEventHandler}=makePHEventFunctions("did"),{addEventHandler:addLoadingEventHandler}=makePHEventFunctions("loading"),phGlobalEventHandlerRegisterFunctions={loading:addLoadingEventHandler,reactorClientModule:addReactorClientModuleEventHandler,reactorClient:addReactorClientEventHandler,features:addFeaturesEventHandler,modal:addModalEventHandler,connectCrypto:addConnectCryptoEventHandler,did:addDidEventHandler,renown:addRenownEventHandler,loginStatus:addLoginStatusEventHandler,user:addUserEventHandler,drives:addDrivesEventHandler,documentCache:addDocumentCacheEventHandler,selectedDriveId:()=>{addSelectedDriveIdEventHandler(),addSetSelectedDriveOnPopStateEventHandler(),addResetSelectedNodeEventHandler()},selectedNodeId:()=>{addSelectedNodeIdEventHandler(),addSetSelectedNodeOnPopStateEventHandler()},vetraPackages:addVetraPackagesEventHandler,selectedTimelineRevision:addSelectedTimelineRevisionEventHandler,revisionHistoryVisible:addRevisionHistoryVisibleEventHandler,selectedTimelineItem:addSelectedTimelineItemEventHandler,routerBasename:addRouterBasenameEventHandler,version:addVersionEventHandler,logLevel:addLogLevelEventHandler,requiresHardRefresh:addRequiresHardRefreshEventHandler,warnOutdatedApp:addWarnOutdatedAppEventHandler,studioMode:addStudioModeEventHandler,basePath:addBasePathEventHandler,versionCheckInterval:addVersionCheckIntervalEventHandler,cliVersion:addCliVersionEventHandler,fileUploadOperationsChunkSize:addFileUploadOperationsChunkSizeEventHandler,isDocumentModelSelectionSettingsEnabled:addIsDocumentModelSelectionSettingsEnabledEventHandler,gaTrackingId:addGaTrackingIdEventHandler,allowList:addAllowListEventHandler,defaultDrivesUrl:addDefaultDrivesUrlEventHandler,drivesPreserveStrategy:addDrivesPreserveStrategyEventHandler,allowedDocumentTypes:addAllowedDocumentTypesEventHandler,enabledEditors:addEnabledEditorsEventHandler,disabledEditors:addDisabledEditorsEventHandler,isAddDriveEnabled:addIsAddDriveEnabledEventHandler,isLocalDrivesEnabled:addIsLocalDrivesEnabledEventHandler,isPublicDrivesEnabled:addIsPublicDrivesEnabledEventHandler,isAddPublicDrivesEnabled:addIsAddPublicDrivesEnabledEventHandler,isDeletePublicDrivesEnabled:addIsDeletePublicDrivesEnabledEventHandler,isCloudDrivesEnabled:addIsCloudDrivesEnabledEventHandler,isAddCloudDrivesEnabled:addIsAddCloudDrivesEnabledEventHandler,isDeleteCloudDrivesEnabled:addIsDeleteCloudDrivesEnabledEventHandler,isAddLocalDrivesEnabled:addIsAddLocalDrivesEnabledEventHandler,isDeleteLocalDrivesEnabled:addIsDeleteLocalDrivesEnabledEventHandler,isDragAndDropEnabled:addIsDragAndDropEnabledEventHandler,isExternalControlsEnabled:addIsExternalControlsEnabledEventHandler,isEditorDebugModeEnabled:addIsEditorDebugModeEnabledEventHandler,isEditorReadModeEnabled:addIsEditorReadModeEnabledEventHandler,isRelationalProcessorsEnabled:addIsRelationalProcessorsEnabledEventHandler,isExternalRelationalProcessorsEnabled:addIsExternalRelationalProcessorsEnabledEventHandler,isAnalyticsEnabled:addIsAnalyticsEnabledEventHandler,isAnalyticsExternalProcessorsEnabled:addIsAnalyticsExternalProcessorsEnabledEventHandler,analyticsDatabaseName:addAnalyticsDatabaseNameEventHandler,isAnalyticsDatabaseWorkerEnabled:addIsAnalyticsDatabaseWorkerEnabledEventHandler,isDiffAnalyticsEnabled:addIsDiffAnalyticsEnabledEventHandler,isDriveAnalyticsEnabled:addIsDriveAnalyticsEnabledEventHandler,renownUrl:addRenownUrlEventHandler,renownNetworkId:addRenownNetworkIdEventHandler,renownChainId:addRenownChainIdEventHandler,sentryRelease:addSentryReleaseEventHandler,sentryDsn:addSentryDsnEventHandler,sentryEnv:addSentryEnvEventHandler,isSentryTracingEnabled:addIsSentryTracingEnabledEventHandler,isExternalProcessorsEnabled:addIsExternalProcessorsEnabledEventHandler,isExternalPackagesEnabled:addIsExternalPackagesEnabledEventHandler,toast:addToastEventHandler};function addPHEventHandlers(){for(const r of Object.values(phGlobalEventHandlerRegisterFunctions))r()}const DEFAULT_RENOWN_URL="https://www.renown.id";function asUint8Array$1(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function allocUnsafe$1(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?asUint8Array$1(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function concat$1(r,e){e||(e=r.reduce((rr,ir)=>rr+ir.length,0));const M=allocUnsafe$1(e);let tr=0;for(const rr of r)M.set(rr,tr),tr+=rr.length;return asUint8Array$1(M)}const concat$2=Object.freeze(Object.defineProperty({__proto__:null,concat:concat$1},Symbol.toStringTag,{value:"Module"}));function base$2(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var M=new Uint8Array(256),tr=0;tr<M.length;tr++)M[tr]=255;for(var rr=0;rr<r.length;rr++){var ir=r.charAt(rr),lr=ir.charCodeAt(0);if(M[lr]!==255)throw new TypeError(ir+" is ambiguous");M[lr]=rr}var dr=r.length,mr=r.charAt(0),hr=Math.log(dr)/Math.log(256),fr=Math.log(256)/Math.log(dr);function _r(wr){if(wr instanceof Uint8Array||(ArrayBuffer.isView(wr)?wr=new Uint8Array(wr.buffer,wr.byteOffset,wr.byteLength):Array.isArray(wr)&&(wr=Uint8Array.from(wr))),!(wr instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(wr.length===0)return"";for(var xr=0,vr=0,Mr=0,Sr=wr.length;Mr!==Sr&&wr[Mr]===0;)Mr++,xr++;for(var yr=(Sr-Mr)*fr+1>>>0,Ar=new Uint8Array(yr);Mr!==Sr;){for(var Dr=wr[Mr],Ir=0,Lr=yr-1;(Dr!==0||Ir<vr)&&Lr!==-1;Lr--,Ir++)Dr+=256*Ar[Lr]>>>0,Ar[Lr]=Dr%dr>>>0,Dr=Dr/dr>>>0;if(Dr!==0)throw new Error("Non-zero carry");vr=Ir,Mr++}for(var Gr=yr-vr;Gr!==yr&&Ar[Gr]===0;)Gr++;for(var Or=mr.repeat(xr);Gr<yr;++Gr)Or+=r.charAt(Ar[Gr]);return Or}function gr(wr){if(typeof wr!="string")throw new TypeError("Expected String");if(wr.length===0)return new Uint8Array;var xr=0;if(wr[xr]!==" "){for(var vr=0,Mr=0;wr[xr]===mr;)vr++,xr++;for(var Sr=(wr.length-xr)*hr+1>>>0,yr=new Uint8Array(Sr);wr[xr];){var Ar=M[wr.charCodeAt(xr)];if(Ar===255)return;for(var Dr=0,Ir=Sr-1;(Ar!==0||Dr<Mr)&&Ir!==-1;Ir--,Dr++)Ar+=dr*yr[Ir]>>>0,yr[Ir]=Ar%256>>>0,Ar=Ar/256>>>0;if(Ar!==0)throw new Error("Non-zero carry");Mr=Dr,xr++}if(wr[xr]!==" "){for(var Lr=Sr-Mr;Lr!==Sr&&yr[Lr]===0;)Lr++;for(var Gr=new Uint8Array(vr+(Sr-Lr)),Or=vr;Lr!==Sr;)Gr[Or++]=yr[Lr++];return Gr}}}function br(wr){var xr=gr(wr);if(xr)return xr;throw new Error(`Non-${e} character`)}return{encode:_r,decodeUnsafe:gr,decode:br}}var src$4=base$2,_brrp__multiformats_scope_baseX$1=src$4;const empty=new Uint8Array(0),toHex=r=>r.reduce((e,M)=>e+M.toString(16).padStart(2,"0"),""),fromHex=r=>{const e=r.match(/../g);return e?new Uint8Array(e.map(M=>parseInt(M,16))):empty},equals$1=(r,e)=>{if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let M=0;M<r.byteLength;M++)if(r[M]!==e[M])return!1;return!0},coerce$1=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},isBinary=r=>r instanceof ArrayBuffer||ArrayBuffer.isView(r),fromString$4=r=>new TextEncoder().encode(r),toString$4=r=>new TextDecoder().decode(r),bytes=Object.freeze(Object.defineProperty({__proto__:null,coerce:coerce$1,empty,equals:equals$1,fromHex,fromString:fromString$4,isBinary,toHex,toString:toString$4},Symbol.toStringTag,{value:"Module"}));let Encoder$1=class{constructor(e,M,tr){this.name=e,this.prefix=M,this.baseEncode=tr}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Decoder$1=class{constructor(e,M,tr){if(this.name=e,this.prefix=M,M.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=M.codePointAt(0),this.baseDecode=tr}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return or$1(this,e)}},ComposedDecoder$1=class{constructor(e){this.decoders=e}or(e){return or$1(this,e)}decode(e){const M=e[0],tr=this.decoders[M];if(tr)return tr.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};const or$1=(r,e)=>new ComposedDecoder$1({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});let Codec$1=class{constructor(e,M,tr,rr){this.name=e,this.prefix=M,this.baseEncode=tr,this.baseDecode=rr,this.encoder=new Encoder$1(e,M,tr),this.decoder=new Decoder$1(e,M,rr)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};const from$2=({name:r,prefix:e,encode:M,decode:tr})=>new Codec$1(r,e,M,tr),baseX$1=({prefix:r,name:e,alphabet:M})=>{const{encode:tr,decode:rr}=_brrp__multiformats_scope_baseX$1(M,e);return from$2({prefix:r,name:e,encode:tr,decode:ir=>coerce$1(rr(ir))})},decode$9=(r,e,M,tr)=>{const rr={};for(let fr=0;fr<e.length;++fr)rr[e[fr]]=fr;let ir=r.length;for(;r[ir-1]==="=";)--ir;const lr=new Uint8Array(ir*M/8|0);let dr=0,mr=0,hr=0;for(let fr=0;fr<ir;++fr){const _r=rr[r[fr]];if(_r===void 0)throw new SyntaxError(`Non-${tr} character`);mr=mr<<M|_r,dr+=M,dr>=8&&(dr-=8,lr[hr++]=255&mr>>dr)}if(dr>=M||255&mr<<8-dr)throw new SyntaxError("Unexpected end of data");return lr},encode$7=(r,e,M)=>{const tr=e[e.length-1]==="=",rr=(1<<M)-1;let ir="",lr=0,dr=0;for(let mr=0;mr<r.length;++mr)for(dr=dr<<8|r[mr],lr+=8;lr>M;)lr-=M,ir+=e[rr&dr>>lr];if(lr&&(ir+=e[rr&dr<<M-lr]),tr)for(;ir.length*M&7;)ir+="=";return ir},rfc4648$1=({name:r,prefix:e,bitsPerChar:M,alphabet:tr})=>from$2({prefix:e,name:r,encode(rr){return encode$7(rr,tr,M)},decode(rr){return decode$9(rr,tr,M,r)}}),identity$3=from$2({prefix:"\0",name:"identity",encode:r=>toString$4(r),decode:r=>fromString$4(r)}),identityBase$1=Object.freeze(Object.defineProperty({__proto__:null,identity:identity$3},Symbol.toStringTag,{value:"Module"})),base2$2=rfc4648$1({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1}),base2$3=Object.freeze(Object.defineProperty({__proto__:null,base2:base2$2},Symbol.toStringTag,{value:"Module"})),base8$2=rfc4648$1({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3}),base8$3=Object.freeze(Object.defineProperty({__proto__:null,base8:base8$2},Symbol.toStringTag,{value:"Module"})),base10$2=baseX$1({prefix:"9",name:"base10",alphabet:"0123456789"}),base10$3=Object.freeze(Object.defineProperty({__proto__:null,base10:base10$2},Symbol.toStringTag,{value:"Module"})),base16$2=rfc4648$1({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),base16upper$1=rfc4648$1({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4}),base16$3=Object.freeze(Object.defineProperty({__proto__:null,base16:base16$2,base16upper:base16upper$1},Symbol.toStringTag,{value:"Module"})),base32$2=rfc4648$1({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),base32upper$1=rfc4648$1({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),base32pad$1=rfc4648$1({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),base32padupper$1=rfc4648$1({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),base32hex$1=rfc4648$1({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),base32hexupper$1=rfc4648$1({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),base32hexpad$1=rfc4648$1({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),base32hexpadupper$1=rfc4648$1({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),base32z$1=rfc4648$1({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5}),base32$3=Object.freeze(Object.defineProperty({__proto__:null,base32:base32$2,base32hex:base32hex$1,base32hexpad:base32hexpad$1,base32hexpadupper:base32hexpadupper$1,base32hexupper:base32hexupper$1,base32pad:base32pad$1,base32padupper:base32padupper$1,base32upper:base32upper$1,base32z:base32z$1},Symbol.toStringTag,{value:"Module"})),base36$2=baseX$1({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),base36upper$1=baseX$1({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"}),base36$3=Object.freeze(Object.defineProperty({__proto__:null,base36:base36$2,base36upper:base36upper$1},Symbol.toStringTag,{value:"Module"})),base58btc$1=baseX$1({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),base58flickr$1=baseX$1({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"}),base58$1=Object.freeze(Object.defineProperty({__proto__:null,base58btc:base58btc$1,base58flickr:base58flickr$1},Symbol.toStringTag,{value:"Module"})),base64$2=rfc4648$1({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),base64pad$1=rfc4648$1({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),base64url$1=rfc4648$1({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),base64urlpad$1=rfc4648$1({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6}),base64$3=Object.freeze(Object.defineProperty({__proto__:null,base64:base64$2,base64pad:base64pad$1,base64url:base64url$1,base64urlpad:base64urlpad$1},Symbol.toStringTag,{value:"Module"})),alphabet$2=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),alphabetBytesToChars$1=alphabet$2.reduce((r,e,M)=>(r[M]=e,r),[]),alphabetCharsToBytes$1=alphabet$2.reduce((r,e,M)=>(r[e.codePointAt(0)]=M,r),[]);function encode$6(r){return r.reduce((e,M)=>(e+=alphabetBytesToChars$1[M],e),"")}function decode$8(r){const e=[];for(const M of r){const tr=alphabetCharsToBytes$1[M.codePointAt(0)];if(tr===void 0)throw new Error(`Non-base256emoji character: ${M}`);e.push(tr)}return new Uint8Array(e)}const base256emoji$2=from$2({prefix:"🚀",name:"base256emoji",encode:encode$6,decode:decode$8}),base256emoji$3=Object.freeze(Object.defineProperty({__proto__:null,base256emoji:base256emoji$2},Symbol.toStringTag,{value:"Module"}));var encode_1$1=encode$5,MSB=128,MSBALL=-128,INT=Math.pow(2,31);function encode$5(r,e,M){e=e||[],M=M||0;for(var tr=M;r>=INT;)e[M++]=r&255|MSB,r/=128;for(;r&MSBALL;)e[M++]=r&255|MSB,r>>>=7;return e[M]=r|0,encode$5.bytes=M-tr+1,e}var decode$7=read,MSB$1=128,REST$1=127;function read(r,tr){var M=0,tr=tr||0,rr=0,ir=tr,lr,dr=r.length;do{if(ir>=dr)throw read.bytes=0,new RangeError("Could not decode varint");lr=r[ir++],M+=rr<28?(lr&REST$1)<<rr:(lr&REST$1)*Math.pow(2,rr),rr+=7}while(lr>=MSB$1);return read.bytes=ir-tr,M}var N1=Math.pow(2,7),N2=Math.pow(2,14),N3=Math.pow(2,21),N4=Math.pow(2,28),N5=Math.pow(2,35),N6=Math.pow(2,42),N7=Math.pow(2,49),N8=Math.pow(2,56),N9=Math.pow(2,63),length$1=function(r){return r<N1?1:r<N2?2:r<N3?3:r<N4?4:r<N5?5:r<N6?6:r<N7?7:r<N8?8:r<N9?9:10},varint$3={encode:encode_1$1,decode:decode$7,encodingLength:length$1},_brrp_varint=varint$3;const decode$6=(r,e=0)=>[_brrp_varint.decode(r,e),_brrp_varint.decode.bytes],encodeTo=(r,e,M=0)=>(_brrp_varint.encode(r,e,M),e),encodingLength=r=>_brrp_varint.encodingLength(r),varint$2=Object.freeze(Object.defineProperty({__proto__:null,decode:decode$6,encodeTo,encodingLength},Symbol.toStringTag,{value:"Module"})),create=(r,e)=>{const M=e.byteLength,tr=encodingLength(r),rr=tr+encodingLength(M),ir=new Uint8Array(rr+M);return encodeTo(r,ir,0),encodeTo(M,ir,tr),ir.set(e,rr),new Digest(r,M,e,ir)},decode$5=r=>{const e=coerce$1(r),[M,tr]=decode$6(e),[rr,ir]=decode$6(e.subarray(tr)),lr=e.subarray(tr+ir);if(lr.byteLength!==rr)throw new Error("Incorrect length");return new Digest(M,rr,lr,e)},equals=(r,e)=>r===e?!0:r.code===e.code&&r.size===e.size&&equals$1(r.bytes,e.bytes);class Digest{constructor(e,M,tr,rr){this.code=e,this.size=M,this.digest=tr,this.bytes=rr}}const digest$1=Object.freeze(Object.defineProperty({__proto__:null,Digest,create,decode:decode$5,equals},Symbol.toStringTag,{value:"Module"})),from$1=({name:r,code:e,encode:M})=>new Hasher(r,e,M);class Hasher{constructor(e,M,tr){this.name=e,this.code=M,this.encode=tr}digest(e){if(e instanceof Uint8Array){const M=this.encode(e);return M instanceof Uint8Array?create(this.code,M):M.then(tr=>create(this.code,tr))}else throw Error("Unknown type, must be binary type")}}const hasher=Object.freeze(Object.defineProperty({__proto__:null,Hasher,from:from$1},Symbol.toStringTag,{value:"Module"})),sha=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),sha256$3=from$1({name:"sha2-256",code:18,encode:sha("SHA-256")}),sha512$1=from$1({name:"sha2-512",code:19,encode:sha("SHA-512")}),sha2=Object.freeze(Object.defineProperty({__proto__:null,sha256:sha256$3,sha512:sha512$1},Symbol.toStringTag,{value:"Module"})),code$2=0,name$2="identity",encode$4=coerce$1,digest=r=>create(code$2,encode$4(r)),identity$1={code:code$2,name:name$2,encode:encode$4,digest},identity$2=Object.freeze(Object.defineProperty({__proto__:null,identity:identity$1},Symbol.toStringTag,{value:"Module"})),name$1="raw",code$1=85,encode$3=r=>coerce$1(r),decode$4=r=>coerce$1(r),raw=Object.freeze(Object.defineProperty({__proto__:null,code:code$1,decode:decode$4,encode:encode$3,name:name$1},Symbol.toStringTag,{value:"Module"})),textEncoder=new TextEncoder,textDecoder=new TextDecoder,name="json",code=512,encode$2=r=>textEncoder.encode(JSON.stringify(r)),decode$3=r=>JSON.parse(textDecoder.decode(r)),json=Object.freeze(Object.defineProperty({__proto__:null,code,decode:decode$3,encode:encode$2,name},Symbol.toStringTag,{value:"Module"}));class CID{constructor(e,M,tr,rr){this.code=M,this.version=e,this.multihash=tr,this.bytes=rr,this.byteOffset=rr.byteOffset,this.byteLength=rr.byteLength,this.asCID=this,this._baseCache=new Map,Object.defineProperties(this,{byteOffset:hidden,byteLength:hidden,code:readonly,version:readonly,multihash:readonly,bytes:readonly,_baseCache:hidden,asCID:hidden})}toV0(){switch(this.version){case 0:return this;default:{const{code:e,multihash:M}=this;if(e!==DAG_PB_CODE)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(M.code!==SHA_256_CODE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return CID.createV0(M)}}}toV1(){switch(this.version){case 0:{const{code:e,digest:M}=this.multihash,tr=create(e,M);return CID.createV1(this.code,tr)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}equals(e){return e&&this.code===e.code&&this.version===e.version&&equals(this.multihash,e.multihash)}toString(e){const{bytes:M,version:tr,_baseCache:rr}=this;return tr===0?toStringV0(M,rr,e||base58btc$1.encoder):toStringV1(M,rr,e||base32$2.encoder)}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID("+this.toString()+")"}static isCID(e){return deprecate(/^0\.0/,IS_CID_DEPRECATION),!!(e&&(e[cidSymbol]||e.asCID===e))}get toBaseEncodedString(){throw new Error("Deprecated, use .toString()")}get codec(){throw new Error('"codec" property is deprecated, use integer "code" property instead')}get buffer(){throw new Error("Deprecated .buffer property, use .bytes to get Uint8Array instead")}get multibaseName(){throw new Error('"multibaseName" property is deprecated')}get prefix(){throw new Error('"prefix" property is deprecated')}static asCID(e){if(e instanceof CID)return e;if(e!=null&&e.asCID===e){const{version:M,code:tr,multihash:rr,bytes:ir}=e;return new CID(M,tr,rr,ir||encodeCID(M,tr,rr.bytes))}else if(e!=null&&e[cidSymbol]===!0){const{version:M,multihash:tr,code:rr}=e,ir=decode$5(tr);return CID.create(M,rr,ir)}else return null}static create(e,M,tr){if(typeof M!="number")throw new Error("String codecs are no longer supported");switch(e){case 0:{if(M!==DAG_PB_CODE)throw new Error(`Version 0 CID must use dag-pb (code: ${DAG_PB_CODE}) block encoding`);return new CID(e,M,tr,tr.bytes)}case 1:{const rr=encodeCID(e,M,tr.bytes);return new CID(e,M,tr,rr)}default:throw new Error("Invalid version")}}static createV0(e){return CID.create(0,DAG_PB_CODE,e)}static createV1(e,M){return CID.create(1,e,M)}static decode(e){const[M,tr]=CID.decodeFirst(e);if(tr.length)throw new Error("Incorrect length");return M}static decodeFirst(e){const M=CID.inspectBytes(e),tr=M.size-M.multihashSize,rr=coerce$1(e.subarray(tr,tr+M.multihashSize));if(rr.byteLength!==M.multihashSize)throw new Error("Incorrect length");const ir=rr.subarray(M.multihashSize-M.digestSize),lr=new Digest(M.multihashCode,M.digestSize,ir,rr);return[M.version===0?CID.createV0(lr):CID.createV1(M.codec,lr),e.subarray(M.size)]}static inspectBytes(e){let M=0;const tr=()=>{const[_r,gr]=decode$6(e.subarray(M));return M+=gr,_r};let rr=tr(),ir=DAG_PB_CODE;if(rr===18?(rr=0,M=0):rr===1&&(ir=tr()),rr!==0&&rr!==1)throw new RangeError(`Invalid CID version ${rr}`);const lr=M,dr=tr(),mr=tr(),hr=M+mr,fr=hr-lr;return{version:rr,codec:ir,multihashCode:dr,digestSize:mr,multihashSize:fr,size:hr}}static parse(e,M){const[tr,rr]=parseCIDtoBytes(e,M),ir=CID.decode(rr);return ir._baseCache.set(tr,e),ir}}const parseCIDtoBytes=(r,e)=>{switch(r[0]){case"Q":{const M=e||base58btc$1;return[base58btc$1.prefix,M.decode(`${base58btc$1.prefix}${r}`)]}case base58btc$1.prefix:{const M=e||base58btc$1;return[base58btc$1.prefix,M.decode(r)]}case base32$2.prefix:{const M=e||base32$2;return[base32$2.prefix,M.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}},toStringV0=(r,e,M)=>{const{prefix:tr}=M;if(tr!==base58btc$1.prefix)throw Error(`Cannot string encode V0 in ${M.name} encoding`);const rr=e.get(tr);if(rr==null){const ir=M.encode(r).slice(1);return e.set(tr,ir),ir}else return rr},toStringV1=(r,e,M)=>{const{prefix:tr}=M,rr=e.get(tr);if(rr==null){const ir=M.encode(r);return e.set(tr,ir),ir}else return rr},DAG_PB_CODE=112,SHA_256_CODE=18,encodeCID=(r,e,M)=>{const tr=encodingLength(r),rr=tr+encodingLength(e),ir=new Uint8Array(rr+M.byteLength);return encodeTo(r,ir,0),encodeTo(e,ir,tr),ir.set(M,rr),ir},cidSymbol=Symbol.for("@ipld/js-cid/CID"),readonly={writable:!1,configurable:!1,enumerable:!0},hidden={writable:!1,enumerable:!1,configurable:!1},version="0.0.0-dev",deprecate=(r,e)=>{if(r.test(version))console.warn(e);else throw new Error(e)},IS_CID_DEPRECATION=`CID.isCID(v) is deprecated and will be removed in the next major release.
177
+ Following code pattern:
178
+
179
+ if (CID.isCID(value)) {
180
+ doSomethingWithCID(value)
181
+ }
182
+
183
+ Is replaced with:
184
+
185
+ const cid = CID.asCID(value)
186
+ if (cid) {
187
+ // Make sure to use cid instead of value
188
+ doSomethingWithCID(cid)
189
+ }
190
+ `,bases$1={...identityBase$1,...base2$3,...base8$3,...base10$3,...base16$3,...base32$3,...base36$3,...base58$1,...base64$3,...base256emoji$3},hashes={...sha2,...identity$2},codecs={raw,json},basics=Object.freeze(Object.defineProperty({__proto__:null,CID,bases:bases$1,bytes,codecs,digest:digest$1,hasher,hashes,varint:varint$2},Symbol.toStringTag,{value:"Module"}));function createCodec$1(r,e,M,tr){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:M},decoder:{decode:tr}}}const string$1=createCodec$1("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),ascii$1=createCodec$1("ascii","a",r=>{let e="a";for(let M=0;M<r.length;M++)e+=String.fromCharCode(r[M]);return e},r=>{r=r.substring(1);const e=allocUnsafe$1(r.length);for(let M=0;M<r.length;M++)e[M]=r.charCodeAt(M);return e}),BASES$1={utf8:string$1,"utf-8":string$1,hex:bases$1.base16,latin1:ascii$1,ascii:ascii$1,binary:ascii$1,...bases$1};function fromString$2(r,e="utf8"){const M=BASES$1[e];if(!M)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?asUint8Array$1(globalThis.Buffer.from(r,"utf-8")):M.decoder.decode(`${M.prefix}${r}`)}const fromString$3=Object.freeze(Object.defineProperty({__proto__:null,fromString:fromString$2},Symbol.toStringTag,{value:"Module"}));function toString$2(r,e="utf8"){const M=BASES$1[e];if(!M)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):M.encoder.encode(r).substring(1)}const toString$3=Object.freeze(Object.defineProperty({__proto__:null,toString:toString$2},Symbol.toStringTag,{value:"Module"}));function setBigUint64(r,e,M,tr){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,M,tr);const rr=BigInt(32),ir=BigInt(4294967295),lr=Number(M>>rr&ir),dr=Number(M&ir),mr=tr?4:0,hr=tr?0:4;r.setUint32(e+mr,lr,tr),r.setUint32(e+hr,dr,tr)}function Chi(r,e,M){return r&e^~r&M}function Maj(r,e,M){return r&e^r&M^e&M}class HashMD extends Hash{constructor(e,M,tr,rr){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=M,this.padOffset=tr,this.isLE=rr,this.buffer=new Uint8Array(e),this.view=createView(this.buffer)}update(e){aexists(this),e=toBytes(e),abytes(e);const{view:M,buffer:tr,blockLen:rr}=this,ir=e.length;for(let lr=0;lr<ir;){const dr=Math.min(rr-this.pos,ir-lr);if(dr===rr){const mr=createView(e);for(;rr<=ir-lr;lr+=rr)this.process(mr,lr);continue}tr.set(e.subarray(lr,lr+dr),this.pos),this.pos+=dr,lr+=dr,this.pos===rr&&(this.process(M,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){aexists(this),aoutput(e,this),this.finished=!0;const{buffer:M,view:tr,blockLen:rr,isLE:ir}=this;let{pos:lr}=this;M[lr++]=128,clean(this.buffer.subarray(lr)),this.padOffset>rr-lr&&(this.process(tr,0),lr=0);for(let _r=lr;_r<rr;_r++)M[_r]=0;setBigUint64(tr,rr-8,BigInt(this.length*8),ir),this.process(tr,0);const dr=createView(e),mr=this.outputLen;if(mr%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const hr=mr/4,fr=this.get();if(hr>fr.length)throw new Error("_sha2: outputLen bigger than state");for(let _r=0;_r<hr;_r++)dr.setUint32(4*_r,fr[_r],ir)}digest(){const{buffer:e,outputLen:M}=this;this.digestInto(e);const tr=e.slice(0,M);return this.destroy(),tr}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:M,buffer:tr,length:rr,finished:ir,destroyed:lr,pos:dr}=this;return e.destroyed=lr,e.finished=ir,e.length=rr,e.pos=dr,rr%M&&e.buffer.set(tr),e}clone(){return this._cloneInto()}}const SHA256_IV=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),SHA384_IV=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),SHA512_IV=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),SHA256_K=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),SHA256_W=new Uint32Array(64);class SHA256 extends HashMD{constructor(e=32){super(64,e,8,!1),this.A=SHA256_IV[0]|0,this.B=SHA256_IV[1]|0,this.C=SHA256_IV[2]|0,this.D=SHA256_IV[3]|0,this.E=SHA256_IV[4]|0,this.F=SHA256_IV[5]|0,this.G=SHA256_IV[6]|0,this.H=SHA256_IV[7]|0}get(){const{A:e,B:M,C:tr,D:rr,E:ir,F:lr,G:dr,H:mr}=this;return[e,M,tr,rr,ir,lr,dr,mr]}set(e,M,tr,rr,ir,lr,dr,mr){this.A=e|0,this.B=M|0,this.C=tr|0,this.D=rr|0,this.E=ir|0,this.F=lr|0,this.G=dr|0,this.H=mr|0}process(e,M){for(let _r=0;_r<16;_r++,M+=4)SHA256_W[_r]=e.getUint32(M,!1);for(let _r=16;_r<64;_r++){const gr=SHA256_W[_r-15],br=SHA256_W[_r-2],wr=rotr(gr,7)^rotr(gr,18)^gr>>>3,xr=rotr(br,17)^rotr(br,19)^br>>>10;SHA256_W[_r]=xr+SHA256_W[_r-7]+wr+SHA256_W[_r-16]|0}let{A:tr,B:rr,C:ir,D:lr,E:dr,F:mr,G:hr,H:fr}=this;for(let _r=0;_r<64;_r++){const gr=rotr(dr,6)^rotr(dr,11)^rotr(dr,25),br=fr+gr+Chi(dr,mr,hr)+SHA256_K[_r]+SHA256_W[_r]|0,xr=(rotr(tr,2)^rotr(tr,13)^rotr(tr,22))+Maj(tr,rr,ir)|0;fr=hr,hr=mr,mr=dr,dr=lr+br|0,lr=ir,ir=rr,rr=tr,tr=br+xr|0}tr=tr+this.A|0,rr=rr+this.B|0,ir=ir+this.C|0,lr=lr+this.D|0,dr=dr+this.E|0,mr=mr+this.F|0,hr=hr+this.G|0,fr=fr+this.H|0,this.set(tr,rr,ir,lr,dr,mr,hr,fr)}roundClean(){clean(SHA256_W)}destroy(){this.set(0,0,0,0,0,0,0,0),clean(this.buffer)}}const K512=split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),SHA512_Kh=K512[0],SHA512_Kl=K512[1],SHA512_W_H=new Uint32Array(80),SHA512_W_L=new Uint32Array(80);class SHA512 extends HashMD{constructor(e=64){super(128,e,16,!1),this.Ah=SHA512_IV[0]|0,this.Al=SHA512_IV[1]|0,this.Bh=SHA512_IV[2]|0,this.Bl=SHA512_IV[3]|0,this.Ch=SHA512_IV[4]|0,this.Cl=SHA512_IV[5]|0,this.Dh=SHA512_IV[6]|0,this.Dl=SHA512_IV[7]|0,this.Eh=SHA512_IV[8]|0,this.El=SHA512_IV[9]|0,this.Fh=SHA512_IV[10]|0,this.Fl=SHA512_IV[11]|0,this.Gh=SHA512_IV[12]|0,this.Gl=SHA512_IV[13]|0,this.Hh=SHA512_IV[14]|0,this.Hl=SHA512_IV[15]|0}get(){const{Ah:e,Al:M,Bh:tr,Bl:rr,Ch:ir,Cl:lr,Dh:dr,Dl:mr,Eh:hr,El:fr,Fh:_r,Fl:gr,Gh:br,Gl:wr,Hh:xr,Hl:vr}=this;return[e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r,gr,br,wr,xr,vr]}set(e,M,tr,rr,ir,lr,dr,mr,hr,fr,_r,gr,br,wr,xr,vr){this.Ah=e|0,this.Al=M|0,this.Bh=tr|0,this.Bl=rr|0,this.Ch=ir|0,this.Cl=lr|0,this.Dh=dr|0,this.Dl=mr|0,this.Eh=hr|0,this.El=fr|0,this.Fh=_r|0,this.Fl=gr|0,this.Gh=br|0,this.Gl=wr|0,this.Hh=xr|0,this.Hl=vr|0}process(e,M){for(let yr=0;yr<16;yr++,M+=4)SHA512_W_H[yr]=e.getUint32(M),SHA512_W_L[yr]=e.getUint32(M+=4);for(let yr=16;yr<80;yr++){const Ar=SHA512_W_H[yr-15]|0,Dr=SHA512_W_L[yr-15]|0,Ir=rotrSH(Ar,Dr,1)^rotrSH(Ar,Dr,8)^shrSH(Ar,Dr,7),Lr=rotrSL(Ar,Dr,1)^rotrSL(Ar,Dr,8)^shrSL(Ar,Dr,7),Gr=SHA512_W_H[yr-2]|0,Or=SHA512_W_L[yr-2]|0,Qr=rotrSH(Gr,Or,19)^rotrBH(Gr,Or,61)^shrSH(Gr,Or,6),$n=rotrSL(Gr,Or,19)^rotrBL(Gr,Or,61)^shrSL(Gr,Or,6),zr=add4L(Lr,$n,SHA512_W_L[yr-7],SHA512_W_L[yr-16]),Fr=add4H(zr,Ir,Qr,SHA512_W_H[yr-7],SHA512_W_H[yr-16]);SHA512_W_H[yr]=Fr|0,SHA512_W_L[yr]=zr|0}let{Ah:tr,Al:rr,Bh:ir,Bl:lr,Ch:dr,Cl:mr,Dh:hr,Dl:fr,Eh:_r,El:gr,Fh:br,Fl:wr,Gh:xr,Gl:vr,Hh:Mr,Hl:Sr}=this;for(let yr=0;yr<80;yr++){const Ar=rotrSH(_r,gr,14)^rotrSH(_r,gr,18)^rotrBH(_r,gr,41),Dr=rotrSL(_r,gr,14)^rotrSL(_r,gr,18)^rotrBL(_r,gr,41),Ir=_r&br^~_r&xr,Lr=gr&wr^~gr&vr,Gr=add5L(Sr,Dr,Lr,SHA512_Kl[yr],SHA512_W_L[yr]),Or=add5H(Gr,Mr,Ar,Ir,SHA512_Kh[yr],SHA512_W_H[yr]),Qr=Gr|0,$n=rotrSH(tr,rr,28)^rotrBH(tr,rr,34)^rotrBH(tr,rr,39),zr=rotrSL(tr,rr,28)^rotrBL(tr,rr,34)^rotrBL(tr,rr,39),Fr=tr&ir^tr&dr^ir&dr,kr=rr&lr^rr&mr^lr&mr;Mr=xr|0,Sr=vr|0,xr=br|0,vr=wr|0,br=_r|0,wr=gr|0,{h:_r,l:gr}=add(hr|0,fr|0,Or|0,Qr|0),hr=dr|0,fr=mr|0,dr=ir|0,mr=lr|0,ir=tr|0,lr=rr|0;const $r=add3L(Qr,zr,kr);tr=add3H($r,Or,$n,Fr),rr=$r|0}({h:tr,l:rr}=add(this.Ah|0,this.Al|0,tr|0,rr|0)),{h:ir,l:lr}=add(this.Bh|0,this.Bl|0,ir|0,lr|0),{h:dr,l:mr}=add(this.Ch|0,this.Cl|0,dr|0,mr|0),{h:hr,l:fr}=add(this.Dh|0,this.Dl|0,hr|0,fr|0),{h:_r,l:gr}=add(this.Eh|0,this.El|0,_r|0,gr|0),{h:br,l:wr}=add(this.Fh|0,this.Fl|0,br|0,wr|0),{h:xr,l:vr}=add(this.Gh|0,this.Gl|0,xr|0,vr|0),{h:Mr,l:Sr}=add(this.Hh|0,this.Hl|0,Mr|0,Sr|0),this.set(tr,rr,ir,lr,dr,mr,hr,fr,_r,gr,br,wr,xr,vr,Mr,Sr)}roundClean(){clean(SHA512_W_H,SHA512_W_L)}destroy(){clean(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class SHA384 extends SHA512{constructor(){super(48),this.Ah=SHA384_IV[0]|0,this.Al=SHA384_IV[1]|0,this.Bh=SHA384_IV[2]|0,this.Bl=SHA384_IV[3]|0,this.Ch=SHA384_IV[4]|0,this.Cl=SHA384_IV[5]|0,this.Dh=SHA384_IV[6]|0,this.Dl=SHA384_IV[7]|0,this.Eh=SHA384_IV[8]|0,this.El=SHA384_IV[9]|0,this.Fh=SHA384_IV[10]|0,this.Fl=SHA384_IV[11]|0,this.Gh=SHA384_IV[12]|0,this.Gl=SHA384_IV[13]|0,this.Hh=SHA384_IV[14]|0,this.Hl=SHA384_IV[15]|0}}const sha256$2=createHasher(()=>new SHA256),sha512=createHasher(()=>new SHA512),sha384=createHasher(()=>new SHA384);const _0n$4=BigInt(0),_1n$5=BigInt(1);function _abool2(r,e=""){if(typeof r!="boolean"){const M=e&&`"${e}"`;throw new Error(M+"expected boolean, got type="+typeof r)}return r}function _abytes2(r,e,M=""){const tr=isBytes$1(r),rr=r?.length,ir=e!==void 0;if(!tr||ir&&rr!==e){const lr=M&&`"${M}" `,dr=ir?` of length ${e}`:"",mr=tr?`length=${rr}`:`type=${typeof r}`;throw new Error(lr+"expected Uint8Array"+dr+", got "+mr)}return r}function numberToHexUnpadded(r){const e=r.toString(16);return e.length&1?"0"+e:e}function hexToNumber(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return r===""?_0n$4:BigInt("0x"+r)}function bytesToNumberBE(r){return hexToNumber(bytesToHex$1(r))}function bytesToNumberLE(r){return abytes(r),hexToNumber(bytesToHex$1(Uint8Array.from(r).reverse()))}function numberToBytesBE(r,e){return hexToBytes$1(r.toString(16).padStart(e*2,"0"))}function numberToBytesLE(r,e){return numberToBytesBE(r,e).reverse()}function numberToVarBytesBE$1(r){return hexToBytes$1(numberToHexUnpadded(r))}function ensureBytes(r,e,M){let tr;if(typeof e=="string")try{tr=hexToBytes$1(e)}catch(ir){throw new Error(r+" must be hex string or Uint8Array, cause: "+ir)}else if(isBytes$1(e))tr=Uint8Array.from(e);else throw new Error(r+" must be hex string or Uint8Array");const rr=tr.length;if(typeof M=="number"&&rr!==M)throw new Error(r+" of length "+M+" expected, got "+rr);return tr}function copyBytes(r){return Uint8Array.from(r)}const isPosBig=r=>typeof r=="bigint"&&_0n$4<=r;function inRange(r,e,M){return isPosBig(r)&&isPosBig(e)&&isPosBig(M)&&e<=r&&r<M}function aInRange(r,e,M,tr){if(!inRange(e,M,tr))throw new Error("expected valid "+r+": "+M+" <= n < "+tr+", got "+e)}function bitLen(r){let e;for(e=0;r>_0n$4;r>>=_1n$5,e+=1);return e}const bitMask=r=>(_1n$5<<BigInt(r))-_1n$5;function createHmacDrbg(r,e,M){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof M!="function")throw new Error("hmacFn must be a function");const tr=br=>new Uint8Array(br),rr=br=>Uint8Array.of(br);let ir=tr(r),lr=tr(r),dr=0;const mr=()=>{ir.fill(1),lr.fill(0),dr=0},hr=(...br)=>M(lr,ir,...br),fr=(br=tr(0))=>{lr=hr(rr(0),br),ir=hr(),br.length!==0&&(lr=hr(rr(1),br),ir=hr())},_r=()=>{if(dr++>=1e3)throw new Error("drbg: tried 1000 values");let br=0;const wr=[];for(;br<e;){ir=hr();const xr=ir.slice();wr.push(xr),br+=ir.length}return concatBytes(...wr)};return(br,wr)=>{mr(),fr(br);let xr;for(;!(xr=wr(_r()));)fr();return mr(),xr}}function _validateObject(r,e,M={}){if(!r||typeof r!="object")throw new Error("expected valid options object");function tr(rr,ir,lr){const dr=r[rr];if(lr&&dr===void 0)return;const mr=typeof dr;if(mr!==ir||dr===null)throw new Error(`param "${rr}" is invalid: expected ${ir}, got ${mr}`)}Object.entries(e).forEach(([rr,ir])=>tr(rr,ir,!1)),Object.entries(M).forEach(([rr,ir])=>tr(rr,ir,!0))}function memoized(r){const e=new WeakMap;return(M,...tr)=>{const rr=e.get(M);if(rr!==void 0)return rr;const ir=r(M,...tr);return e.set(M,ir),ir}}const _0n$3=BigInt(0),_1n$4=BigInt(1),_2n$4=BigInt(2),_3n$1=BigInt(3),_4n$1=BigInt(4),_5n$1=BigInt(5),_7n=BigInt(7),_8n$2=BigInt(8),_9n=BigInt(9),_16n=BigInt(16);function mod(r,e){const M=r%e;return M>=_0n$3?M:e+M}function pow2(r,e,M){let tr=r;for(;e-- >_0n$3;)tr*=tr,tr%=M;return tr}function invert(r,e){if(r===_0n$3)throw new Error("invert: expected non-zero number");if(e<=_0n$3)throw new Error("invert: expected positive modulus, got "+e);let M=mod(r,e),tr=e,rr=_0n$3,ir=_1n$4;for(;M!==_0n$3;){const dr=tr/M,mr=tr%M,hr=rr-ir*dr;tr=M,M=mr,rr=ir,ir=hr}if(tr!==_1n$4)throw new Error("invert: does not exist");return mod(rr,e)}function assertIsSquare(r,e,M){if(!r.eql(r.sqr(e),M))throw new Error("Cannot find square root")}function sqrt3mod4(r,e){const M=(r.ORDER+_1n$4)/_4n$1,tr=r.pow(e,M);return assertIsSquare(r,tr,e),tr}function sqrt5mod8(r,e){const M=(r.ORDER-_5n$1)/_8n$2,tr=r.mul(e,_2n$4),rr=r.pow(tr,M),ir=r.mul(e,rr),lr=r.mul(r.mul(ir,_2n$4),rr),dr=r.mul(ir,r.sub(lr,r.ONE));return assertIsSquare(r,dr,e),dr}function sqrt9mod16(r){const e=Field(r),M=tonelliShanks(r),tr=M(e,e.neg(e.ONE)),rr=M(e,tr),ir=M(e,e.neg(tr)),lr=(r+_7n)/_16n;return(dr,mr)=>{let hr=dr.pow(mr,lr),fr=dr.mul(hr,tr);const _r=dr.mul(hr,rr),gr=dr.mul(hr,ir),br=dr.eql(dr.sqr(fr),mr),wr=dr.eql(dr.sqr(_r),mr);hr=dr.cmov(hr,fr,br),fr=dr.cmov(gr,_r,wr);const xr=dr.eql(dr.sqr(fr),mr),vr=dr.cmov(hr,fr,xr);return assertIsSquare(dr,vr,mr),vr}}function tonelliShanks(r){if(r<_3n$1)throw new Error("sqrt is not defined for small field");let e=r-_1n$4,M=0;for(;e%_2n$4===_0n$3;)e/=_2n$4,M++;let tr=_2n$4;const rr=Field(r);for(;FpLegendre(rr,tr)===1;)if(tr++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(M===1)return sqrt3mod4;let ir=rr.pow(tr,e);const lr=(e+_1n$4)/_2n$4;return function(mr,hr){if(mr.is0(hr))return hr;if(FpLegendre(mr,hr)!==1)throw new Error("Cannot find square root");let fr=M,_r=mr.mul(mr.ONE,ir),gr=mr.pow(hr,e),br=mr.pow(hr,lr);for(;!mr.eql(gr,mr.ONE);){if(mr.is0(gr))return mr.ZERO;let wr=1,xr=mr.sqr(gr);for(;!mr.eql(xr,mr.ONE);)if(wr++,xr=mr.sqr(xr),wr===fr)throw new Error("Cannot find square root");const vr=_1n$4<<BigInt(fr-wr-1),Mr=mr.pow(_r,vr);fr=wr,_r=mr.sqr(Mr),gr=mr.mul(gr,_r),br=mr.mul(br,Mr)}return br}}function FpSqrt(r){return r%_4n$1===_3n$1?sqrt3mod4:r%_8n$2===_5n$1?sqrt5mod8:r%_16n===_9n?sqrt9mod16(r):tonelliShanks(r)}const isNegativeLE=(r,e)=>(mod(r,e)&_1n$4)===_1n$4,FIELD_FIELDS=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function validateField(r){const e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},M=FIELD_FIELDS.reduce((tr,rr)=>(tr[rr]="function",tr),e);return _validateObject(r,M),r}function FpPow(r,e,M){if(M<_0n$3)throw new Error("invalid exponent, negatives unsupported");if(M===_0n$3)return r.ONE;if(M===_1n$4)return e;let tr=r.ONE,rr=e;for(;M>_0n$3;)M&_1n$4&&(tr=r.mul(tr,rr)),rr=r.sqr(rr),M>>=_1n$4;return tr}function FpInvertBatch(r,e,M=!1){const tr=new Array(e.length).fill(M?r.ZERO:void 0),rr=e.reduce((lr,dr,mr)=>r.is0(dr)?lr:(tr[mr]=lr,r.mul(lr,dr)),r.ONE),ir=r.inv(rr);return e.reduceRight((lr,dr,mr)=>r.is0(dr)?lr:(tr[mr]=r.mul(lr,tr[mr]),r.mul(lr,dr)),ir),tr}function FpLegendre(r,e){const M=(r.ORDER-_1n$4)/_2n$4,tr=r.pow(e,M),rr=r.eql(tr,r.ONE),ir=r.eql(tr,r.ZERO),lr=r.eql(tr,r.neg(r.ONE));if(!rr&&!ir&&!lr)throw new Error("invalid Legendre symbol result");return rr?1:ir?0:-1}function nLength(r,e){e!==void 0&&anumber$1(e);const M=e!==void 0?e:r.toString(2).length,tr=Math.ceil(M/8);return{nBitLength:M,nByteLength:tr}}function Field(r,e,M=!1,tr={}){if(r<=_0n$3)throw new Error("invalid field: expected ORDER > 0, got "+r);let rr,ir,lr=!1,dr;if(typeof e=="object"&&e!=null){if(tr.sqrt||M)throw new Error("cannot specify opts in two arguments");const gr=e;gr.BITS&&(rr=gr.BITS),gr.sqrt&&(ir=gr.sqrt),typeof gr.isLE=="boolean"&&(M=gr.isLE),typeof gr.modFromBytes=="boolean"&&(lr=gr.modFromBytes),dr=gr.allowedLengths}else typeof e=="number"&&(rr=e),tr.sqrt&&(ir=tr.sqrt);const{nBitLength:mr,nByteLength:hr}=nLength(r,rr);if(hr>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let fr;const _r=Object.freeze({ORDER:r,isLE:M,BITS:mr,BYTES:hr,MASK:bitMask(mr),ZERO:_0n$3,ONE:_1n$4,allowedLengths:dr,create:gr=>mod(gr,r),isValid:gr=>{if(typeof gr!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof gr);return _0n$3<=gr&&gr<r},is0:gr=>gr===_0n$3,isValidNot0:gr=>!_r.is0(gr)&&_r.isValid(gr),isOdd:gr=>(gr&_1n$4)===_1n$4,neg:gr=>mod(-gr,r),eql:(gr,br)=>gr===br,sqr:gr=>mod(gr*gr,r),add:(gr,br)=>mod(gr+br,r),sub:(gr,br)=>mod(gr-br,r),mul:(gr,br)=>mod(gr*br,r),pow:(gr,br)=>FpPow(_r,gr,br),div:(gr,br)=>mod(gr*invert(br,r),r),sqrN:gr=>gr*gr,addN:(gr,br)=>gr+br,subN:(gr,br)=>gr-br,mulN:(gr,br)=>gr*br,inv:gr=>invert(gr,r),sqrt:ir||(gr=>(fr||(fr=FpSqrt(r)),fr(_r,gr))),toBytes:gr=>M?numberToBytesLE(gr,hr):numberToBytesBE(gr,hr),fromBytes:(gr,br=!0)=>{if(dr){if(!dr.includes(gr.length)||gr.length>hr)throw new Error("Field.fromBytes: expected "+dr+" bytes, got "+gr.length);const xr=new Uint8Array(hr);xr.set(gr,M?0:xr.length-gr.length),gr=xr}if(gr.length!==hr)throw new Error("Field.fromBytes: expected "+hr+" bytes, got "+gr.length);let wr=M?bytesToNumberLE(gr):bytesToNumberBE(gr);if(lr&&(wr=mod(wr,r)),!br&&!_r.isValid(wr))throw new Error("invalid field element: outside of range 0..ORDER");return wr},invertBatch:gr=>FpInvertBatch(_r,gr),cmov:(gr,br,wr)=>wr?br:gr});return Object.freeze(_r)}function getFieldBytesLength(r){if(typeof r!="bigint")throw new Error("field order must be bigint");const e=r.toString(2).length;return Math.ceil(e/8)}function getMinHashLength(r){const e=getFieldBytesLength(r);return e+Math.ceil(e/2)}function mapHashToField(r,e,M=!1){const tr=r.length,rr=getFieldBytesLength(e),ir=getMinHashLength(e);if(tr<16||tr<ir||tr>1024)throw new Error("expected "+ir+"-1024 bytes of input, got "+tr);const lr=M?bytesToNumberLE(r):bytesToNumberBE(r),dr=mod(lr,e-_1n$4)+_1n$4;return M?numberToBytesLE(dr,rr):numberToBytesBE(dr,rr)}const _0n$2=BigInt(0),_1n$3=BigInt(1);function negateCt(r,e){const M=e.negate();return r?M:e}function normalizeZ(r,e){const M=FpInvertBatch(r.Fp,e.map(tr=>tr.Z));return e.map((tr,rr)=>r.fromAffine(tr.toAffine(M[rr])))}function validateW(r,e){if(!Number.isSafeInteger(r)||r<=0||r>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+r)}function calcWOpts(r,e){validateW(r,e);const M=Math.ceil(e/r)+1,tr=2**(r-1),rr=2**r,ir=bitMask(r),lr=BigInt(r);return{windows:M,windowSize:tr,mask:ir,maxNumber:rr,shiftBy:lr}}function calcOffsets(r,e,M){const{windowSize:tr,mask:rr,maxNumber:ir,shiftBy:lr}=M;let dr=Number(r&rr),mr=r>>lr;dr>tr&&(dr-=ir,mr+=_1n$3);const hr=e*tr,fr=hr+Math.abs(dr)-1,_r=dr===0,gr=dr<0,br=e%2!==0;return{nextN:mr,offset:fr,isZero:_r,isNeg:gr,isNegF:br,offsetF:hr}}function validateMSMPoints(r,e){if(!Array.isArray(r))throw new Error("array expected");r.forEach((M,tr)=>{if(!(M instanceof e))throw new Error("invalid point at index "+tr)})}function validateMSMScalars(r,e){if(!Array.isArray(r))throw new Error("array of scalars expected");r.forEach((M,tr)=>{if(!e.isValid(M))throw new Error("invalid scalar at index "+tr)})}const pointPrecomputes=new WeakMap,pointWindowSizes=new WeakMap;function getW(r){return pointWindowSizes.get(r)||1}function assert0(r){if(r!==_0n$2)throw new Error("invalid wNAF")}class wNAF{constructor(e,M){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=M}_unsafeLadder(e,M,tr=this.ZERO){let rr=e;for(;M>_0n$2;)M&_1n$3&&(tr=tr.add(rr)),rr=rr.double(),M>>=_1n$3;return tr}precomputeWindow(e,M){const{windows:tr,windowSize:rr}=calcWOpts(M,this.bits),ir=[];let lr=e,dr=lr;for(let mr=0;mr<tr;mr++){dr=lr,ir.push(dr);for(let hr=1;hr<rr;hr++)dr=dr.add(lr),ir.push(dr);lr=dr.double()}return ir}wNAF(e,M,tr){if(!this.Fn.isValid(tr))throw new Error("invalid scalar");let rr=this.ZERO,ir=this.BASE;const lr=calcWOpts(e,this.bits);for(let dr=0;dr<lr.windows;dr++){const{nextN:mr,offset:hr,isZero:fr,isNeg:_r,isNegF:gr,offsetF:br}=calcOffsets(tr,dr,lr);tr=mr,fr?ir=ir.add(negateCt(gr,M[br])):rr=rr.add(negateCt(_r,M[hr]))}return assert0(tr),{p:rr,f:ir}}wNAFUnsafe(e,M,tr,rr=this.ZERO){const ir=calcWOpts(e,this.bits);for(let lr=0;lr<ir.windows&&tr!==_0n$2;lr++){const{nextN:dr,offset:mr,isZero:hr,isNeg:fr}=calcOffsets(tr,lr,ir);if(tr=dr,!hr){const _r=M[mr];rr=rr.add(fr?_r.negate():_r)}}return assert0(tr),rr}getPrecomputes(e,M,tr){let rr=pointPrecomputes.get(M);return rr||(rr=this.precomputeWindow(M,e),e!==1&&(typeof tr=="function"&&(rr=tr(rr)),pointPrecomputes.set(M,rr))),rr}cached(e,M,tr){const rr=getW(e);return this.wNAF(rr,this.getPrecomputes(rr,e,tr),M)}unsafe(e,M,tr,rr){const ir=getW(e);return ir===1?this._unsafeLadder(e,M,rr):this.wNAFUnsafe(ir,this.getPrecomputes(ir,e,tr),M,rr)}createCache(e,M){validateW(M,this.bits),pointWindowSizes.set(e,M),pointPrecomputes.delete(e)}hasCache(e){return getW(e)!==1}}function mulEndoUnsafe(r,e,M,tr){let rr=e,ir=r.ZERO,lr=r.ZERO;for(;M>_0n$2||tr>_0n$2;)M&_1n$3&&(ir=ir.add(rr)),tr&_1n$3&&(lr=lr.add(rr)),rr=rr.double(),M>>=_1n$3,tr>>=_1n$3;return{p1:ir,p2:lr}}function pippenger(r,e,M,tr){validateMSMPoints(M,r),validateMSMScalars(tr,e);const rr=M.length,ir=tr.length;if(rr!==ir)throw new Error("arrays of points and scalars must have equal length");const lr=r.ZERO,dr=bitLen(BigInt(rr));let mr=1;dr>12?mr=dr-3:dr>4?mr=dr-2:dr>0&&(mr=2);const hr=bitMask(mr),fr=new Array(Number(hr)+1).fill(lr),_r=Math.floor((e.BITS-1)/mr)*mr;let gr=lr;for(let br=_r;br>=0;br-=mr){fr.fill(lr);for(let xr=0;xr<ir;xr++){const vr=tr[xr],Mr=Number(vr>>BigInt(br)&hr);fr[Mr]=fr[Mr].add(M[xr])}let wr=lr;for(let xr=fr.length-1,vr=lr;xr>0;xr--)vr=vr.add(fr[xr]),wr=wr.add(vr);if(gr=gr.add(wr),br!==0)for(let xr=0;xr<mr;xr++)gr=gr.double()}return gr}function createField(r,e,M){if(e){if(e.ORDER!==r)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return validateField(e),e}else return Field(r,{isLE:M})}function _createCurveFields(r,e,M={},tr){if(tr===void 0&&(tr=r==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${r} CURVE object`);for(const mr of["p","n","h"]){const hr=e[mr];if(!(typeof hr=="bigint"&&hr>_0n$2))throw new Error(`CURVE.${mr} must be positive bigint`)}const rr=createField(e.p,M.Fp,tr),ir=createField(e.n,M.Fn,tr),dr=["Gx","Gy","a",r==="weierstrass"?"b":"d"];for(const mr of dr)if(!rr.isValid(e[mr]))throw new Error(`CURVE.${mr} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:rr,Fn:ir}}const _0n$1=BigInt(0),_1n$2=BigInt(1),_2n$3=BigInt(2),_8n$1=BigInt(8);function isEdValidXY(r,e,M,tr){const rr=r.sqr(M),ir=r.sqr(tr),lr=r.add(r.mul(e.a,rr),ir),dr=r.add(r.ONE,r.mul(e.d,r.mul(rr,ir)));return r.eql(lr,dr)}function edwards(r,e={}){const M=_createCurveFields("edwards",r,e,e.FpFnLE),{Fp:tr,Fn:rr}=M;let ir=M.CURVE;const{h:lr}=ir;_validateObject(e,{},{uvRatio:"function"});const dr=_2n$3<<BigInt(rr.BYTES*8)-_1n$2,mr=vr=>tr.create(vr),hr=e.uvRatio||((vr,Mr)=>{try{return{isValid:!0,value:tr.sqrt(tr.div(vr,Mr))}}catch{return{isValid:!1,value:_0n$1}}});if(!isEdValidXY(tr,ir,ir.Gx,ir.Gy))throw new Error("bad curve params: generator point");function fr(vr,Mr,Sr=!1){const yr=Sr?_1n$2:_0n$1;return aInRange("coordinate "+vr,Mr,yr,dr),Mr}function _r(vr){if(!(vr instanceof wr))throw new Error("ExtendedPoint expected")}const gr=memoized((vr,Mr)=>{const{X:Sr,Y:yr,Z:Ar}=vr,Dr=vr.is0();Mr==null&&(Mr=Dr?_8n$1:tr.inv(Ar));const Ir=mr(Sr*Mr),Lr=mr(yr*Mr),Gr=tr.mul(Ar,Mr);if(Dr)return{x:_0n$1,y:_1n$2};if(Gr!==_1n$2)throw new Error("invZ was invalid");return{x:Ir,y:Lr}}),br=memoized(vr=>{const{a:Mr,d:Sr}=ir;if(vr.is0())throw new Error("bad point: ZERO");const{X:yr,Y:Ar,Z:Dr,T:Ir}=vr,Lr=mr(yr*yr),Gr=mr(Ar*Ar),Or=mr(Dr*Dr),Qr=mr(Or*Or),$n=mr(Lr*Mr),zr=mr(Or*mr($n+Gr)),Fr=mr(Qr+mr(Sr*mr(Lr*Gr)));if(zr!==Fr)throw new Error("bad point: equation left != right (1)");const kr=mr(yr*Ar),$r=mr(Dr*Ir);if(kr!==$r)throw new Error("bad point: equation left != right (2)");return!0});class wr{constructor(Mr,Sr,yr,Ar){this.X=fr("x",Mr),this.Y=fr("y",Sr),this.Z=fr("z",yr,!0),this.T=fr("t",Ar),Object.freeze(this)}static CURVE(){return ir}static fromAffine(Mr){if(Mr instanceof wr)throw new Error("extended point not allowed");const{x:Sr,y:yr}=Mr||{};return fr("x",Sr),fr("y",yr),new wr(Sr,yr,_1n$2,mr(Sr*yr))}static fromBytes(Mr,Sr=!1){const yr=tr.BYTES,{a:Ar,d:Dr}=ir;Mr=copyBytes(_abytes2(Mr,yr,"point")),_abool2(Sr,"zip215");const Ir=copyBytes(Mr),Lr=Mr[yr-1];Ir[yr-1]=Lr&-129;const Gr=bytesToNumberLE(Ir),Or=Sr?dr:tr.ORDER;aInRange("point.y",Gr,_0n$1,Or);const Qr=mr(Gr*Gr),$n=mr(Qr-_1n$2),zr=mr(Dr*Qr-Ar);let{isValid:Fr,value:kr}=hr($n,zr);if(!Fr)throw new Error("bad point: invalid y coordinate");const $r=(kr&_1n$2)===_1n$2,Jr=(Lr&128)!==0;if(!Sr&&kr===_0n$1&&Jr)throw new Error("bad point: x=0 and x_0=1");return Jr!==$r&&(kr=mr(-kr)),wr.fromAffine({x:kr,y:Gr})}static fromHex(Mr,Sr=!1){return wr.fromBytes(ensureBytes("point",Mr),Sr)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(Mr=8,Sr=!0){return xr.createCache(this,Mr),Sr||this.multiply(_2n$3),this}assertValidity(){br(this)}equals(Mr){_r(Mr);const{X:Sr,Y:yr,Z:Ar}=this,{X:Dr,Y:Ir,Z:Lr}=Mr,Gr=mr(Sr*Lr),Or=mr(Dr*Ar),Qr=mr(yr*Lr),$n=mr(Ir*Ar);return Gr===Or&&Qr===$n}is0(){return this.equals(wr.ZERO)}negate(){return new wr(mr(-this.X),this.Y,this.Z,mr(-this.T))}double(){const{a:Mr}=ir,{X:Sr,Y:yr,Z:Ar}=this,Dr=mr(Sr*Sr),Ir=mr(yr*yr),Lr=mr(_2n$3*mr(Ar*Ar)),Gr=mr(Mr*Dr),Or=Sr+yr,Qr=mr(mr(Or*Or)-Dr-Ir),$n=Gr+Ir,zr=$n-Lr,Fr=Gr-Ir,kr=mr(Qr*zr),$r=mr($n*Fr),Jr=mr(Qr*Fr),qn=mr(zr*$n);return new wr(kr,$r,qn,Jr)}add(Mr){_r(Mr);const{a:Sr,d:yr}=ir,{X:Ar,Y:Dr,Z:Ir,T:Lr}=this,{X:Gr,Y:Or,Z:Qr,T:$n}=Mr,zr=mr(Ar*Gr),Fr=mr(Dr*Or),kr=mr(Lr*yr*$n),$r=mr(Ir*Qr),Jr=mr((Ar+Dr)*(Gr+Or)-zr-Fr),qn=$r-kr,Jn=$r+kr,Hn=mr(Fr-Sr*zr),Kn=mr(Jr*qn),Yn=mr(Jn*Hn),Xn=mr(Jr*Hn),to=mr(qn*Jn);return new wr(Kn,Yn,to,Xn)}subtract(Mr){return this.add(Mr.negate())}multiply(Mr){if(!rr.isValidNot0(Mr))throw new Error("invalid scalar: expected 1 <= sc < curve.n");const{p:Sr,f:yr}=xr.cached(this,Mr,Ar=>normalizeZ(wr,Ar));return normalizeZ(wr,[Sr,yr])[0]}multiplyUnsafe(Mr,Sr=wr.ZERO){if(!rr.isValid(Mr))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return Mr===_0n$1?wr.ZERO:this.is0()||Mr===_1n$2?this:xr.unsafe(this,Mr,yr=>normalizeZ(wr,yr),Sr)}isSmallOrder(){return this.multiplyUnsafe(lr).is0()}isTorsionFree(){return xr.unsafe(this,ir.n).is0()}toAffine(Mr){return gr(this,Mr)}clearCofactor(){return lr===_1n$2?this:this.multiplyUnsafe(lr)}toBytes(){const{x:Mr,y:Sr}=this.toAffine(),yr=tr.toBytes(Sr);return yr[yr.length-1]|=Mr&_1n$2?128:0,yr}toHex(){return bytesToHex$1(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(Mr){return normalizeZ(wr,Mr)}static msm(Mr,Sr){return pippenger(wr,rr,Mr,Sr)}_setWindowSize(Mr){this.precompute(Mr)}toRawBytes(){return this.toBytes()}}wr.BASE=new wr(ir.Gx,ir.Gy,_1n$2,mr(ir.Gx*ir.Gy)),wr.ZERO=new wr(_0n$1,_1n$2,_1n$2,_0n$1),wr.Fp=tr,wr.Fn=rr;const xr=new wNAF(wr,rr.BITS);return wr.BASE.precompute(8),wr}function eddsa(r,e,M={}){if(typeof e!="function")throw new Error('"hash" function param is required');_validateObject(M,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});const{prehash:tr}=M,{BASE:rr,Fp:ir,Fn:lr}=r,dr=M.randomBytes||randomBytes,mr=M.adjustScalarBytes||(Or=>Or),hr=M.domain||((Or,Qr,$n)=>{if(_abool2($n,"phflag"),Qr.length||$n)throw new Error("Contexts/pre-hash are not supported");return Or});function fr(Or){return lr.create(bytesToNumberLE(Or))}function _r(Or){const Qr=yr.secretKey;Or=ensureBytes("private key",Or,Qr);const $n=ensureBytes("hashed private key",e(Or),2*Qr),zr=mr($n.slice(0,Qr)),Fr=$n.slice(Qr,2*Qr),kr=fr(zr);return{head:zr,prefix:Fr,scalar:kr}}function gr(Or){const{head:Qr,prefix:$n,scalar:zr}=_r(Or),Fr=rr.multiply(zr),kr=Fr.toBytes();return{head:Qr,prefix:$n,scalar:zr,point:Fr,pointBytes:kr}}function br(Or){return gr(Or).pointBytes}function wr(Or=Uint8Array.of(),...Qr){const $n=concatBytes(...Qr);return fr(e(hr($n,ensureBytes("context",Or),!!tr)))}function xr(Or,Qr,$n={}){Or=ensureBytes("message",Or),tr&&(Or=tr(Or));const{prefix:zr,scalar:Fr,pointBytes:kr}=gr(Qr),$r=wr($n.context,zr,Or),Jr=rr.multiply($r).toBytes(),qn=wr($n.context,Jr,kr,Or),Jn=lr.create($r+qn*Fr);if(!lr.isValid(Jn))throw new Error("sign failed: invalid s");const Hn=concatBytes(Jr,lr.toBytes(Jn));return _abytes2(Hn,yr.signature,"result")}const vr={zip215:!0};function Mr(Or,Qr,$n,zr=vr){const{context:Fr,zip215:kr}=zr,$r=yr.signature;Or=ensureBytes("signature",Or,$r),Qr=ensureBytes("message",Qr),$n=ensureBytes("publicKey",$n,yr.publicKey),kr!==void 0&&_abool2(kr,"zip215"),tr&&(Qr=tr(Qr));const Jr=$r/2,qn=Or.subarray(0,Jr),Jn=bytesToNumberLE(Or.subarray(Jr,$r));let Hn,Kn,Yn;try{Hn=r.fromBytes($n,kr),Kn=r.fromBytes(qn,kr),Yn=rr.multiplyUnsafe(Jn)}catch{return!1}if(!kr&&Hn.isSmallOrder())return!1;const Xn=wr(Fr,Kn.toBytes(),Hn.toBytes(),Qr);return Kn.add(Hn.multiplyUnsafe(Xn)).subtract(Yn).clearCofactor().is0()}const Sr=ir.BYTES,yr={secretKey:Sr,publicKey:Sr,signature:2*Sr,seed:Sr};function Ar(Or=dr(yr.seed)){return _abytes2(Or,yr.seed,"seed")}function Dr(Or){const Qr=Gr.randomSecretKey(Or);return{secretKey:Qr,publicKey:br(Qr)}}function Ir(Or){return isBytes$1(Or)&&Or.length===lr.BYTES}function Lr(Or,Qr){try{return!!r.fromBytes(Or,Qr)}catch{return!1}}const Gr={getExtendedPublicKey:gr,randomSecretKey:Ar,isValidSecretKey:Ir,isValidPublicKey:Lr,toMontgomery(Or){const{y:Qr}=r.fromBytes(Or),$n=yr.publicKey,zr=$n===32;if(!zr&&$n!==57)throw new Error("only defined for 25519 and 448");const Fr=zr?ir.div(_1n$2+Qr,_1n$2-Qr):ir.div(Qr-_1n$2,Qr+_1n$2);return ir.toBytes(Fr)},toMontgomerySecret(Or){const Qr=yr.secretKey;_abytes2(Or,Qr);const $n=e(Or.subarray(0,Qr));return mr($n).subarray(0,Qr)},randomPrivateKey:Ar,precompute(Or=8,Qr=r.BASE){return Qr.precompute(Or,!1)}};return Object.freeze({keygen:Dr,getPublicKey:br,sign:xr,verify:Mr,utils:Gr,Point:r,lengths:yr})}function _eddsa_legacy_opts_to_new(r){const e={a:r.a,d:r.d,p:r.Fp.ORDER,n:r.n,h:r.h,Gx:r.Gx,Gy:r.Gy},M=r.Fp,tr=Field(e.n,r.nBitLength,!0),rr={Fp:M,Fn:tr,uvRatio:r.uvRatio},ir={randomBytes:r.randomBytes,adjustScalarBytes:r.adjustScalarBytes,domain:r.domain,prehash:r.prehash,mapToCurve:r.mapToCurve};return{CURVE:e,curveOpts:rr,hash:r.hash,eddsaOpts:ir}}function _eddsa_new_output_to_legacy(r,e){const M=e.Point;return Object.assign({},e,{ExtendedPoint:M,CURVE:r,nBitLength:M.Fn.BITS,nByteLength:M.Fn.BYTES})}function twistedEdwards(r){const{CURVE:e,curveOpts:M,hash:tr,eddsaOpts:rr}=_eddsa_legacy_opts_to_new(r),ir=edwards(e,M),lr=eddsa(ir,tr,rr);return _eddsa_new_output_to_legacy(r,lr)}const _1n$1=BigInt(1),_2n$2=BigInt(2);BigInt(3);const _5n=BigInt(5),_8n=BigInt(8),ed25519_CURVE_p=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),ed25519_CURVE={p:ed25519_CURVE_p,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:_8n,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function ed25519_pow_2_252_3(r){const e=BigInt(10),M=BigInt(20),tr=BigInt(40),rr=BigInt(80),ir=ed25519_CURVE_p,dr=r*r%ir*r%ir,mr=pow2(dr,_2n$2,ir)*dr%ir,hr=pow2(mr,_1n$1,ir)*r%ir,fr=pow2(hr,_5n,ir)*hr%ir,_r=pow2(fr,e,ir)*fr%ir,gr=pow2(_r,M,ir)*_r%ir,br=pow2(gr,tr,ir)*gr%ir,wr=pow2(br,rr,ir)*br%ir,xr=pow2(wr,rr,ir)*br%ir,vr=pow2(xr,e,ir)*fr%ir;return{pow_p_5_8:pow2(vr,_2n$2,ir)*r%ir,b2:dr}}function adjustScalarBytes(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}const ED25519_SQRT_M1=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function uvRatio(r,e){const M=ed25519_CURVE_p,tr=mod(e*e*e,M),rr=mod(tr*tr*e,M),ir=ed25519_pow_2_252_3(r*rr).pow_p_5_8;let lr=mod(r*tr*ir,M);const dr=mod(e*lr*lr,M),mr=lr,hr=mod(lr*ED25519_SQRT_M1,M),fr=dr===r,_r=dr===mod(-r,M),gr=dr===mod(-r*ED25519_SQRT_M1,M);return fr&&(lr=mr),(_r||gr)&&(lr=hr),isNegativeLE(lr,M)&&(lr=mod(-lr,M)),{isValid:fr||_r,value:lr}}const Fp=Field(ed25519_CURVE.p,{isLE:!0}),ed25519Defaults={...ed25519_CURVE,Fp,hash:sha512,adjustScalarBytes,uvRatio},ed25519$1=twistedEdwards(ed25519Defaults);function edwardsToMontgomeryPub(r){return ed25519$1.utils.toMontgomery(ensureBytes("pub",r))}var src$3={exports:{}},src$2,hasRequiredSrc$2;function requireSrc$2(){if(hasRequiredSrc$2)return src$2;hasRequiredSrc$2=1;function r(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var M=new Uint8Array(256),tr=0;tr<M.length;tr++)M[tr]=255;for(var rr=0;rr<e.length;rr++){var ir=e.charAt(rr),lr=ir.charCodeAt(0);if(M[lr]!==255)throw new TypeError(ir+" is ambiguous");M[lr]=rr}var dr=e.length,mr=e.charAt(0),hr=Math.log(dr)/Math.log(256),fr=Math.log(256)/Math.log(dr);function _r(wr){if(wr instanceof Uint8Array||(ArrayBuffer.isView(wr)?wr=new Uint8Array(wr.buffer,wr.byteOffset,wr.byteLength):Array.isArray(wr)&&(wr=Uint8Array.from(wr))),!(wr instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(wr.length===0)return"";for(var xr=0,vr=0,Mr=0,Sr=wr.length;Mr!==Sr&&wr[Mr]===0;)Mr++,xr++;for(var yr=(Sr-Mr)*fr+1>>>0,Ar=new Uint8Array(yr);Mr!==Sr;){for(var Dr=wr[Mr],Ir=0,Lr=yr-1;(Dr!==0||Ir<vr)&&Lr!==-1;Lr--,Ir++)Dr+=256*Ar[Lr]>>>0,Ar[Lr]=Dr%dr>>>0,Dr=Dr/dr>>>0;if(Dr!==0)throw new Error("Non-zero carry");vr=Ir,Mr++}for(var Gr=yr-vr;Gr!==yr&&Ar[Gr]===0;)Gr++;for(var Or=mr.repeat(xr);Gr<yr;++Gr)Or+=e.charAt(Ar[Gr]);return Or}function gr(wr){if(typeof wr!="string")throw new TypeError("Expected String");if(wr.length===0)return new Uint8Array;var xr=0;if(wr[xr]!==" "){for(var vr=0,Mr=0;wr[xr]===mr;)vr++,xr++;for(var Sr=(wr.length-xr)*hr+1>>>0,yr=new Uint8Array(Sr);wr[xr];){var Ar=M[wr.charCodeAt(xr)];if(Ar===255)return;for(var Dr=0,Ir=Sr-1;(Ar!==0||Dr<Mr)&&Ir!==-1;Ir--,Dr++)Ar+=dr*yr[Ir]>>>0,yr[Ir]=Ar%256>>>0,Ar=Ar/256>>>0;if(Ar!==0)throw new Error("Non-zero carry");Mr=Dr,xr++}if(wr[xr]!==" "){for(var Lr=Sr-Mr;Lr!==Sr&&yr[Lr]===0;)Lr++;for(var Gr=new Uint8Array(vr+(Sr-Lr)),Or=vr;Lr!==Sr;)Gr[Or++]=yr[Lr++];return Gr}}}function br(wr){var xr=gr(wr);if(xr)return xr;throw new Error("Non-base"+dr+" character")}return{encode:_r,decodeUnsafe:gr,decode:br}}return src$2=r,src$2}var util$1,hasRequiredUtil$1;function requireUtil$1(){if(hasRequiredUtil$1)return util$1;hasRequiredUtil$1=1;const r=new TextDecoder,e=ir=>r.decode(ir),M=new TextEncoder,tr=ir=>M.encode(ir);function rr(ir,lr){const dr=new Uint8Array(lr);let mr=0;for(const hr of ir)dr.set(hr,mr),mr+=hr.length;return dr}return util$1={decodeText:e,encodeText:tr,concat:rr},util$1}var base$1,hasRequiredBase;function requireBase(){if(hasRequiredBase)return base$1;hasRequiredBase=1;const{encodeText:r}=requireUtil$1();class e{constructor(tr,rr,ir,lr){this.name=tr,this.code=rr,this.codeBuf=r(this.code),this.alphabet=lr,this.codec=ir(lr)}encode(tr){return this.codec.encode(tr)}decode(tr){for(const rr of tr)if(this.alphabet&&this.alphabet.indexOf(rr)<0)throw new Error(`invalid character '${rr}' in '${tr}'`);return this.codec.decode(tr)}}return base$1=e,base$1}var rfc4648_1,hasRequiredRfc4648;function requireRfc4648(){if(hasRequiredRfc4648)return rfc4648_1;hasRequiredRfc4648=1;const r=(tr,rr,ir)=>{const lr={};for(let gr=0;gr<rr.length;++gr)lr[rr[gr]]=gr;let dr=tr.length;for(;tr[dr-1]==="=";)--dr;const mr=new Uint8Array(dr*ir/8|0);let hr=0,fr=0,_r=0;for(let gr=0;gr<dr;++gr){const br=lr[tr[gr]];if(br===void 0)throw new SyntaxError("Invalid character "+tr[gr]);fr=fr<<ir|br,hr+=ir,hr>=8&&(hr-=8,mr[_r++]=255&fr>>hr)}if(hr>=ir||255&fr<<8-hr)throw new SyntaxError("Unexpected end of data");return mr},e=(tr,rr,ir)=>{const lr=rr[rr.length-1]==="=",dr=(1<<ir)-1;let mr="",hr=0,fr=0;for(let _r=0;_r<tr.length;++_r)for(fr=fr<<8|tr[_r],hr+=8;hr>ir;)hr-=ir,mr+=rr[dr&fr>>hr];if(hr&&(mr+=rr[dr&fr<<ir-hr]),lr)for(;mr.length*ir&7;)mr+="=";return mr};return rfc4648_1={rfc4648:tr=>rr=>({encode(ir){return e(ir,rr,tr)},decode(ir){return r(ir,rr,tr)}})},rfc4648_1}var constants_1,hasRequiredConstants;function requireConstants(){if(hasRequiredConstants)return constants_1;hasRequiredConstants=1;const r=requireSrc$2(),e=requireBase(),{rfc4648:M}=requireRfc4648(),{decodeText:tr,encodeText:rr}=requireUtil$1(),lr=[["identity","\0",()=>({encode:tr,decode:rr}),""],["base2","0",M(1),"01"],["base8","7",M(3),"01234567"],["base10","9",r,"0123456789"],["base16","f",M(4),"0123456789abcdef"],["base16upper","F",M(4),"0123456789ABCDEF"],["base32hex","v",M(5),"0123456789abcdefghijklmnopqrstuv"],["base32hexupper","V",M(5),"0123456789ABCDEFGHIJKLMNOPQRSTUV"],["base32hexpad","t",M(5),"0123456789abcdefghijklmnopqrstuv="],["base32hexpadupper","T",M(5),"0123456789ABCDEFGHIJKLMNOPQRSTUV="],["base32","b",M(5),"abcdefghijklmnopqrstuvwxyz234567"],["base32upper","B",M(5),"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"],["base32pad","c",M(5),"abcdefghijklmnopqrstuvwxyz234567="],["base32padupper","C",M(5),"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567="],["base32z","h",M(5),"ybndrfg8ejkmcpqxot1uwisza345h769"],["base36","k",r,"0123456789abcdefghijklmnopqrstuvwxyz"],["base36upper","K",r,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"],["base58btc","z",r,"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"],["base58flickr","Z",r,"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"],["base64","m",M(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"],["base64pad","M",M(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],["base64url","u",M(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"],["base64urlpad","U",M(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_="]],dr=lr.reduce((hr,fr)=>(hr[fr[0]]=new e(fr[0],fr[1],fr[2],fr[3]),hr),{}),mr=lr.reduce((hr,fr)=>(hr[fr[1]]=dr[fr[0]],hr),{});return constants_1={names:dr,codes:mr},constants_1}var hasRequiredSrc$1;function requireSrc$1(){return hasRequiredSrc$1||(hasRequiredSrc$1=1,(function(r,e){const M=requireConstants(),{encodeText:tr,decodeText:rr,concat:ir}=requireUtil$1();function lr(xr,vr){if(!vr)throw new Error("requires an encoded Uint8Array");const{name:Mr,codeBuf:Sr}=_r(xr);return fr(Mr,vr),ir([Sr,vr],Sr.length+vr.length)}function dr(xr,vr){const Mr=_r(xr),Sr=tr(Mr.encode(vr));return ir([Mr.codeBuf,Sr],Mr.codeBuf.length+Sr.length)}function mr(xr){xr instanceof Uint8Array&&(xr=rr(xr));const vr=xr[0];return["f","F","v","V","t","T","b","B","c","C","h","k","K"].includes(vr)&&(xr=xr.toLowerCase()),_r(xr[0]).decode(xr.substring(1))}function hr(xr){if(xr instanceof Uint8Array&&(xr=rr(xr)),Object.prototype.toString.call(xr)!=="[object String]")return!1;try{return _r(xr[0]).name}catch{return!1}}function fr(xr,vr){_r(xr).decode(rr(vr))}function _r(xr){if(Object.prototype.hasOwnProperty.call(M.names,xr))return M.names[xr];if(Object.prototype.hasOwnProperty.call(M.codes,xr))return M.codes[xr];throw new Error(`Unsupported encoding: ${xr}`)}function gr(xr){return xr instanceof Uint8Array&&(xr=rr(xr)),_r(xr[0])}e=r.exports=lr,e.encode=dr,e.decode=mr,e.isEncoded=hr,e.encoding=_r,e.encodingFromData=gr;const br=Object.freeze(M.names),wr=Object.freeze(M.codes);e.names=br,e.codes=wr})(src$3,src$3.exports)),src$3.exports}var srcExports$1=requireSrc$1();class HMAC extends Hash{constructor(e,M){super(),this.finished=!1,this.destroyed=!1,ahash(e);const tr=toBytes(M);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const rr=this.blockLen,ir=new Uint8Array(rr);ir.set(tr.length>rr?e.create().update(tr).digest():tr);for(let lr=0;lr<ir.length;lr++)ir[lr]^=54;this.iHash.update(ir),this.oHash=e.create();for(let lr=0;lr<ir.length;lr++)ir[lr]^=106;this.oHash.update(ir),clean(ir)}update(e){return aexists(this),this.iHash.update(e),this}digestInto(e){aexists(this),abytes(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:M,iHash:tr,finished:rr,destroyed:ir,blockLen:lr,outputLen:dr}=this;return e=e,e.finished=rr,e.destroyed=ir,e.blockLen=lr,e.outputLen=dr,e.oHash=M._cloneInto(e.oHash),e.iHash=tr._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const hmac=(r,e,M)=>new HMAC(r,e).update(M).digest();hmac.create=(r,e)=>new HMAC(r,e);const divNearest=(r,e)=>(r+(r>=0?e:-e)/_2n$1)/e;function _splitEndoScalar(r,e,M){const[[tr,rr],[ir,lr]]=e,dr=divNearest(lr*r,M),mr=divNearest(-rr*r,M);let hr=r-dr*tr-mr*ir,fr=-dr*rr-mr*lr;const _r=hr<_0n,gr=fr<_0n;_r&&(hr=-hr),gr&&(fr=-fr);const br=bitMask(Math.ceil(bitLen(M)/2))+_1n;if(hr<_0n||hr>=br||fr<_0n||fr>=br)throw new Error("splitScalar (endomorphism): failed, k="+r);return{k1neg:_r,k1:hr,k2neg:gr,k2:fr}}function validateSigFormat(r){if(!["compact","recovered","der"].includes(r))throw new Error('Signature format must be "compact", "recovered", or "der"');return r}function validateSigOpts(r,e){const M={};for(let tr of Object.keys(e))M[tr]=r[tr]===void 0?e[tr]:r[tr];return _abool2(M.lowS,"lowS"),_abool2(M.prehash,"prehash"),M.format!==void 0&&validateSigFormat(M.format),M}class DERErr extends Error{constructor(e=""){super(e)}}const DER={Err:DERErr,_tlv:{encode:(r,e)=>{const{Err:M}=DER;if(r<0||r>256)throw new M("tlv.encode: wrong tag");if(e.length&1)throw new M("tlv.encode: unpadded data");const tr=e.length/2,rr=numberToHexUnpadded(tr);if(rr.length/2&128)throw new M("tlv.encode: long form length too big");const ir=tr>127?numberToHexUnpadded(rr.length/2|128):"";return numberToHexUnpadded(r)+ir+rr+e},decode(r,e){const{Err:M}=DER;let tr=0;if(r<0||r>256)throw new M("tlv.encode: wrong tag");if(e.length<2||e[tr++]!==r)throw new M("tlv.decode: wrong tlv");const rr=e[tr++],ir=!!(rr&128);let lr=0;if(!ir)lr=rr;else{const mr=rr&127;if(!mr)throw new M("tlv.decode(long): indefinite length not supported");if(mr>4)throw new M("tlv.decode(long): byte length is too big");const hr=e.subarray(tr,tr+mr);if(hr.length!==mr)throw new M("tlv.decode: length bytes not complete");if(hr[0]===0)throw new M("tlv.decode(long): zero leftmost byte");for(const fr of hr)lr=lr<<8|fr;if(tr+=mr,lr<128)throw new M("tlv.decode(long): not minimal encoding")}const dr=e.subarray(tr,tr+lr);if(dr.length!==lr)throw new M("tlv.decode: wrong value length");return{v:dr,l:e.subarray(tr+lr)}}},_int:{encode(r){const{Err:e}=DER;if(r<_0n)throw new e("integer: negative integers are not allowed");let M=numberToHexUnpadded(r);if(Number.parseInt(M[0],16)&8&&(M="00"+M),M.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return M},decode(r){const{Err:e}=DER;if(r[0]&128)throw new e("invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return bytesToNumberBE(r)}},toSig(r){const{Err:e,_int:M,_tlv:tr}=DER,rr=ensureBytes("signature",r),{v:ir,l:lr}=tr.decode(48,rr);if(lr.length)throw new e("invalid signature: left bytes after parsing");const{v:dr,l:mr}=tr.decode(2,ir),{v:hr,l:fr}=tr.decode(2,mr);if(fr.length)throw new e("invalid signature: left bytes after parsing");return{r:M.decode(dr),s:M.decode(hr)}},hexFromSig(r){const{_tlv:e,_int:M}=DER,tr=e.encode(2,M.encode(r.r)),rr=e.encode(2,M.encode(r.s)),ir=tr+rr;return e.encode(48,ir)}},_0n=BigInt(0),_1n=BigInt(1),_2n$1=BigInt(2),_3n=BigInt(3),_4n=BigInt(4);function _normFnElement(r,e){const{BYTES:M}=r;let tr;if(typeof e=="bigint")tr=e;else{let rr=ensureBytes("private key",e);try{tr=r.fromBytes(rr)}catch{throw new Error(`invalid private key: expected ui8a of size ${M}, got ${typeof e}`)}}if(!r.isValidNot0(tr))throw new Error("invalid private key: out of range [1..N-1]");return tr}function weierstrassN(r,e={}){const M=_createCurveFields("weierstrass",r,e),{Fp:tr,Fn:rr}=M;let ir=M.CURVE;const{h:lr,n:dr}=ir;_validateObject(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:mr}=e;if(mr&&(!tr.is0(ir.a)||typeof mr.beta!="bigint"||!Array.isArray(mr.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const hr=getWLengths(tr,rr);function fr(){if(!tr.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function _r(zr,Fr,kr){const{x:$r,y:Jr}=Fr.toAffine(),qn=tr.toBytes($r);if(_abool2(kr,"isCompressed"),kr){fr();const Jn=!tr.isOdd(Jr);return concatBytes(pprefix(Jn),qn)}else return concatBytes(Uint8Array.of(4),qn,tr.toBytes(Jr))}function gr(zr){_abytes2(zr,void 0,"Point");const{publicKey:Fr,publicKeyUncompressed:kr}=hr,$r=zr.length,Jr=zr[0],qn=zr.subarray(1);if($r===Fr&&(Jr===2||Jr===3)){const Jn=tr.fromBytes(qn);if(!tr.isValid(Jn))throw new Error("bad point: is not on curve, wrong x");const Hn=xr(Jn);let Kn;try{Kn=tr.sqrt(Hn)}catch(to){const eo=to instanceof Error?": "+to.message:"";throw new Error("bad point: is not on curve, sqrt error"+eo)}fr();const Yn=tr.isOdd(Kn);return(Jr&1)===1!==Yn&&(Kn=tr.neg(Kn)),{x:Jn,y:Kn}}else if($r===kr&&Jr===4){const Jn=tr.BYTES,Hn=tr.fromBytes(qn.subarray(0,Jn)),Kn=tr.fromBytes(qn.subarray(Jn,Jn*2));if(!vr(Hn,Kn))throw new Error("bad point: is not on curve");return{x:Hn,y:Kn}}else throw new Error(`bad point: got length ${$r}, expected compressed=${Fr} or uncompressed=${kr}`)}const br=e.toBytes||_r,wr=e.fromBytes||gr;function xr(zr){const Fr=tr.sqr(zr),kr=tr.mul(Fr,zr);return tr.add(tr.add(kr,tr.mul(zr,ir.a)),ir.b)}function vr(zr,Fr){const kr=tr.sqr(Fr),$r=xr(zr);return tr.eql(kr,$r)}if(!vr(ir.Gx,ir.Gy))throw new Error("bad curve params: generator point");const Mr=tr.mul(tr.pow(ir.a,_3n),_4n),Sr=tr.mul(tr.sqr(ir.b),BigInt(27));if(tr.is0(tr.add(Mr,Sr)))throw new Error("bad curve params: a or b");function yr(zr,Fr,kr=!1){if(!tr.isValid(Fr)||kr&&tr.is0(Fr))throw new Error(`bad point coordinate ${zr}`);return Fr}function Ar(zr){if(!(zr instanceof Or))throw new Error("ProjectivePoint expected")}function Dr(zr){if(!mr||!mr.basises)throw new Error("no endo");return _splitEndoScalar(zr,mr.basises,rr.ORDER)}const Ir=memoized((zr,Fr)=>{const{X:kr,Y:$r,Z:Jr}=zr;if(tr.eql(Jr,tr.ONE))return{x:kr,y:$r};const qn=zr.is0();Fr==null&&(Fr=qn?tr.ONE:tr.inv(Jr));const Jn=tr.mul(kr,Fr),Hn=tr.mul($r,Fr),Kn=tr.mul(Jr,Fr);if(qn)return{x:tr.ZERO,y:tr.ZERO};if(!tr.eql(Kn,tr.ONE))throw new Error("invZ was invalid");return{x:Jn,y:Hn}}),Lr=memoized(zr=>{if(zr.is0()){if(e.allowInfinityPoint&&!tr.is0(zr.Y))return;throw new Error("bad point: ZERO")}const{x:Fr,y:kr}=zr.toAffine();if(!tr.isValid(Fr)||!tr.isValid(kr))throw new Error("bad point: x or y not field elements");if(!vr(Fr,kr))throw new Error("bad point: equation left != right");if(!zr.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function Gr(zr,Fr,kr,$r,Jr){return kr=new Or(tr.mul(kr.X,zr),kr.Y,kr.Z),Fr=negateCt($r,Fr),kr=negateCt(Jr,kr),Fr.add(kr)}class Or{constructor(Fr,kr,$r){this.X=yr("x",Fr),this.Y=yr("y",kr,!0),this.Z=yr("z",$r),Object.freeze(this)}static CURVE(){return ir}static fromAffine(Fr){const{x:kr,y:$r}=Fr||{};if(!Fr||!tr.isValid(kr)||!tr.isValid($r))throw new Error("invalid affine point");if(Fr instanceof Or)throw new Error("projective point not allowed");return tr.is0(kr)&&tr.is0($r)?Or.ZERO:new Or(kr,$r,tr.ONE)}static fromBytes(Fr){const kr=Or.fromAffine(wr(_abytes2(Fr,void 0,"point")));return kr.assertValidity(),kr}static fromHex(Fr){return Or.fromBytes(ensureBytes("pointHex",Fr))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(Fr=8,kr=!0){return $n.createCache(this,Fr),kr||this.multiply(_3n),this}assertValidity(){Lr(this)}hasEvenY(){const{y:Fr}=this.toAffine();if(!tr.isOdd)throw new Error("Field doesn't support isOdd");return!tr.isOdd(Fr)}equals(Fr){Ar(Fr);const{X:kr,Y:$r,Z:Jr}=this,{X:qn,Y:Jn,Z:Hn}=Fr,Kn=tr.eql(tr.mul(kr,Hn),tr.mul(qn,Jr)),Yn=tr.eql(tr.mul($r,Hn),tr.mul(Jn,Jr));return Kn&&Yn}negate(){return new Or(this.X,tr.neg(this.Y),this.Z)}double(){const{a:Fr,b:kr}=ir,$r=tr.mul(kr,_3n),{X:Jr,Y:qn,Z:Jn}=this;let Hn=tr.ZERO,Kn=tr.ZERO,Yn=tr.ZERO,Xn=tr.mul(Jr,Jr),to=tr.mul(qn,qn),eo=tr.mul(Jn,Jn),Zn=tr.mul(Jr,qn);return Zn=tr.add(Zn,Zn),Yn=tr.mul(Jr,Jn),Yn=tr.add(Yn,Yn),Hn=tr.mul(Fr,Yn),Kn=tr.mul($r,eo),Kn=tr.add(Hn,Kn),Hn=tr.sub(to,Kn),Kn=tr.add(to,Kn),Kn=tr.mul(Hn,Kn),Hn=tr.mul(Zn,Hn),Yn=tr.mul($r,Yn),eo=tr.mul(Fr,eo),Zn=tr.sub(Xn,eo),Zn=tr.mul(Fr,Zn),Zn=tr.add(Zn,Yn),Yn=tr.add(Xn,Xn),Xn=tr.add(Yn,Xn),Xn=tr.add(Xn,eo),Xn=tr.mul(Xn,Zn),Kn=tr.add(Kn,Xn),eo=tr.mul(qn,Jn),eo=tr.add(eo,eo),Xn=tr.mul(eo,Zn),Hn=tr.sub(Hn,Xn),Yn=tr.mul(eo,to),Yn=tr.add(Yn,Yn),Yn=tr.add(Yn,Yn),new Or(Hn,Kn,Yn)}add(Fr){Ar(Fr);const{X:kr,Y:$r,Z:Jr}=this,{X:qn,Y:Jn,Z:Hn}=Fr;let Kn=tr.ZERO,Yn=tr.ZERO,Xn=tr.ZERO;const to=ir.a,eo=tr.mul(ir.b,_3n);let Zn=tr.mul(kr,qn),ro=tr.mul($r,Jn),oo=tr.mul(Jr,Hn),io=tr.add(kr,$r),no=tr.add(qn,Jn);io=tr.mul(io,no),no=tr.add(Zn,ro),io=tr.sub(io,no),no=tr.add(kr,Jr);let so=tr.add(qn,Hn);return no=tr.mul(no,so),so=tr.add(Zn,oo),no=tr.sub(no,so),so=tr.add($r,Jr),Kn=tr.add(Jn,Hn),so=tr.mul(so,Kn),Kn=tr.add(ro,oo),so=tr.sub(so,Kn),Xn=tr.mul(to,no),Kn=tr.mul(eo,oo),Xn=tr.add(Kn,Xn),Kn=tr.sub(ro,Xn),Xn=tr.add(ro,Xn),Yn=tr.mul(Kn,Xn),ro=tr.add(Zn,Zn),ro=tr.add(ro,Zn),oo=tr.mul(to,oo),no=tr.mul(eo,no),ro=tr.add(ro,oo),oo=tr.sub(Zn,oo),oo=tr.mul(to,oo),no=tr.add(no,oo),Zn=tr.mul(ro,no),Yn=tr.add(Yn,Zn),Zn=tr.mul(so,no),Kn=tr.mul(io,Kn),Kn=tr.sub(Kn,Zn),Zn=tr.mul(io,ro),Xn=tr.mul(so,Xn),Xn=tr.add(Xn,Zn),new Or(Kn,Yn,Xn)}subtract(Fr){return this.add(Fr.negate())}is0(){return this.equals(Or.ZERO)}multiply(Fr){const{endo:kr}=e;if(!rr.isValidNot0(Fr))throw new Error("invalid scalar: out of range");let $r,Jr;const qn=Jn=>$n.cached(this,Jn,Hn=>normalizeZ(Or,Hn));if(kr){const{k1neg:Jn,k1:Hn,k2neg:Kn,k2:Yn}=Dr(Fr),{p:Xn,f:to}=qn(Hn),{p:eo,f:Zn}=qn(Yn);Jr=to.add(Zn),$r=Gr(kr.beta,Xn,eo,Jn,Kn)}else{const{p:Jn,f:Hn}=qn(Fr);$r=Jn,Jr=Hn}return normalizeZ(Or,[$r,Jr])[0]}multiplyUnsafe(Fr){const{endo:kr}=e,$r=this;if(!rr.isValid(Fr))throw new Error("invalid scalar: out of range");if(Fr===_0n||$r.is0())return Or.ZERO;if(Fr===_1n)return $r;if($n.hasCache(this))return this.multiply(Fr);if(kr){const{k1neg:Jr,k1:qn,k2neg:Jn,k2:Hn}=Dr(Fr),{p1:Kn,p2:Yn}=mulEndoUnsafe(Or,$r,qn,Hn);return Gr(kr.beta,Kn,Yn,Jr,Jn)}else return $n.unsafe($r,Fr)}multiplyAndAddUnsafe(Fr,kr,$r){const Jr=this.multiplyUnsafe(kr).add(Fr.multiplyUnsafe($r));return Jr.is0()?void 0:Jr}toAffine(Fr){return Ir(this,Fr)}isTorsionFree(){const{isTorsionFree:Fr}=e;return lr===_1n?!0:Fr?Fr(Or,this):$n.unsafe(this,dr).is0()}clearCofactor(){const{clearCofactor:Fr}=e;return lr===_1n?this:Fr?Fr(Or,this):this.multiplyUnsafe(lr)}isSmallOrder(){return this.multiplyUnsafe(lr).is0()}toBytes(Fr=!0){return _abool2(Fr,"isCompressed"),this.assertValidity(),br(Or,this,Fr)}toHex(Fr=!0){return bytesToHex$1(this.toBytes(Fr))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(Fr=!0){return this.toBytes(Fr)}_setWindowSize(Fr){this.precompute(Fr)}static normalizeZ(Fr){return normalizeZ(Or,Fr)}static msm(Fr,kr){return pippenger(Or,rr,Fr,kr)}static fromPrivateKey(Fr){return Or.BASE.multiply(_normFnElement(rr,Fr))}}Or.BASE=new Or(ir.Gx,ir.Gy,tr.ONE),Or.ZERO=new Or(tr.ZERO,tr.ONE,tr.ZERO),Or.Fp=tr,Or.Fn=rr;const Qr=rr.BITS,$n=new wNAF(Or,e.endo?Math.ceil(Qr/2):Qr);return Or.BASE.precompute(8),Or}function pprefix(r){return Uint8Array.of(r?2:3)}function getWLengths(r,e){return{secretKey:e.BYTES,publicKey:1+r.BYTES,publicKeyUncompressed:1+2*r.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function ecdh(r,e={}){const{Fn:M}=r,tr=e.randomBytes||randomBytes,rr=Object.assign(getWLengths(r.Fp,M),{seed:getMinHashLength(M.ORDER)});function ir(br){try{return!!_normFnElement(M,br)}catch{return!1}}function lr(br,wr){const{publicKey:xr,publicKeyUncompressed:vr}=rr;try{const Mr=br.length;return wr===!0&&Mr!==xr||wr===!1&&Mr!==vr?!1:!!r.fromBytes(br)}catch{return!1}}function dr(br=tr(rr.seed)){return mapHashToField(_abytes2(br,rr.seed,"seed"),M.ORDER)}function mr(br,wr=!0){return r.BASE.multiply(_normFnElement(M,br)).toBytes(wr)}function hr(br){const wr=dr(br);return{secretKey:wr,publicKey:mr(wr)}}function fr(br){if(typeof br=="bigint")return!1;if(br instanceof r)return!0;const{secretKey:wr,publicKey:xr,publicKeyUncompressed:vr}=rr;if(M.allowedLengths||wr===xr)return;const Mr=ensureBytes("key",br).length;return Mr===xr||Mr===vr}function _r(br,wr,xr=!0){if(fr(br)===!0)throw new Error("first arg must be private key");if(fr(wr)===!1)throw new Error("second arg must be public key");const vr=_normFnElement(M,br);return r.fromHex(wr).multiply(vr).toBytes(xr)}return Object.freeze({getPublicKey:mr,getSharedSecret:_r,keygen:hr,Point:r,utils:{isValidSecretKey:ir,isValidPublicKey:lr,randomSecretKey:dr,isValidPrivateKey:ir,randomPrivateKey:dr,normPrivateKeyToScalar:br=>_normFnElement(M,br),precompute(br=8,wr=r.BASE){return wr.precompute(br,!1)}},lengths:rr})}function ecdsa(r,e,M={}){ahash(e),_validateObject(M,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const tr=M.randomBytes||randomBytes,rr=M.hmac||((kr,...$r)=>hmac(e,kr,concatBytes(...$r))),{Fp:ir,Fn:lr}=r,{ORDER:dr,BITS:mr}=lr,{keygen:hr,getPublicKey:fr,getSharedSecret:_r,utils:gr,lengths:br}=ecdh(r,M),wr={prehash:!1,lowS:typeof M.lowS=="boolean"?M.lowS:!1,format:void 0,extraEntropy:!1},xr="compact";function vr(kr){const $r=dr>>_1n;return kr>$r}function Mr(kr,$r){if(!lr.isValidNot0($r))throw new Error(`invalid signature ${kr}: out of range 1..Point.Fn.ORDER`);return $r}function Sr(kr,$r){validateSigFormat($r);const Jr=br.signature,qn=$r==="compact"?Jr:$r==="recovered"?Jr+1:void 0;return _abytes2(kr,qn,`${$r} signature`)}class yr{constructor($r,Jr,qn){this.r=Mr("r",$r),this.s=Mr("s",Jr),qn!=null&&(this.recovery=qn),Object.freeze(this)}static fromBytes($r,Jr=xr){Sr($r,Jr);let qn;if(Jr==="der"){const{r:Yn,s:Xn}=DER.toSig(_abytes2($r));return new yr(Yn,Xn)}Jr==="recovered"&&(qn=$r[0],Jr="compact",$r=$r.subarray(1));const Jn=lr.BYTES,Hn=$r.subarray(0,Jn),Kn=$r.subarray(Jn,Jn*2);return new yr(lr.fromBytes(Hn),lr.fromBytes(Kn),qn)}static fromHex($r,Jr){return this.fromBytes(hexToBytes$1($r),Jr)}addRecoveryBit($r){return new yr(this.r,this.s,$r)}recoverPublicKey($r){const Jr=ir.ORDER,{r:qn,s:Jn,recovery:Hn}=this;if(Hn==null||![0,1,2,3].includes(Hn))throw new Error("recovery id invalid");if(dr*_2n$1<Jr&&Hn>1)throw new Error("recovery id is ambiguous for h>1 curve");const Yn=Hn===2||Hn===3?qn+dr:qn;if(!ir.isValid(Yn))throw new Error("recovery id 2 or 3 invalid");const Xn=ir.toBytes(Yn),to=r.fromBytes(concatBytes(pprefix((Hn&1)===0),Xn)),eo=lr.inv(Yn),Zn=Dr(ensureBytes("msgHash",$r)),ro=lr.create(-Zn*eo),oo=lr.create(Jn*eo),io=r.BASE.multiplyUnsafe(ro).add(to.multiplyUnsafe(oo));if(io.is0())throw new Error("point at infinify");return io.assertValidity(),io}hasHighS(){return vr(this.s)}toBytes($r=xr){if(validateSigFormat($r),$r==="der")return hexToBytes$1(DER.hexFromSig(this));const Jr=lr.toBytes(this.r),qn=lr.toBytes(this.s);if($r==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return concatBytes(Uint8Array.of(this.recovery),Jr,qn)}return concatBytes(Jr,qn)}toHex($r){return bytesToHex$1(this.toBytes($r))}assertValidity(){}static fromCompact($r){return yr.fromBytes(ensureBytes("sig",$r),"compact")}static fromDER($r){return yr.fromBytes(ensureBytes("sig",$r),"der")}normalizeS(){return this.hasHighS()?new yr(this.r,lr.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return bytesToHex$1(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return bytesToHex$1(this.toBytes("compact"))}}const Ar=M.bits2int||function($r){if($r.length>8192)throw new Error("input is too large");const Jr=bytesToNumberBE($r),qn=$r.length*8-mr;return qn>0?Jr>>BigInt(qn):Jr},Dr=M.bits2int_modN||function($r){return lr.create(Ar($r))},Ir=bitMask(mr);function Lr(kr){return aInRange("num < 2^"+mr,kr,_0n,Ir),lr.toBytes(kr)}function Gr(kr,$r){return _abytes2(kr,void 0,"message"),$r?_abytes2(e(kr),void 0,"prehashed message"):kr}function Or(kr,$r,Jr){if(["recovered","canonical"].some(ro=>ro in Jr))throw new Error("sign() legacy options not supported");const{lowS:qn,prehash:Jn,extraEntropy:Hn}=validateSigOpts(Jr,wr);kr=Gr(kr,Jn);const Kn=Dr(kr),Yn=_normFnElement(lr,$r),Xn=[Lr(Yn),Lr(Kn)];if(Hn!=null&&Hn!==!1){const ro=Hn===!0?tr(br.secretKey):Hn;Xn.push(ensureBytes("extraEntropy",ro))}const to=concatBytes(...Xn),eo=Kn;function Zn(ro){const oo=Ar(ro);if(!lr.isValidNot0(oo))return;const io=lr.inv(oo),no=r.BASE.multiply(oo).toAffine(),so=lr.create(no.x);if(so===_0n)return;const lo=lr.create(io*lr.create(eo+so*Yn));if(lo===_0n)return;let uo=(no.x===so?0:2)|Number(no.y&_1n),po=lo;return qn&&vr(lo)&&(po=lr.neg(lo),uo^=1),new yr(so,po,uo)}return{seed:to,k2sig:Zn}}function Qr(kr,$r,Jr={}){kr=ensureBytes("message",kr);const{seed:qn,k2sig:Jn}=Or(kr,$r,Jr);return createHmacDrbg(e.outputLen,lr.BYTES,rr)(qn,Jn)}function $n(kr){let $r;const Jr=typeof kr=="string"||isBytes$1(kr),qn=!Jr&&kr!==null&&typeof kr=="object"&&typeof kr.r=="bigint"&&typeof kr.s=="bigint";if(!Jr&&!qn)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(qn)$r=new yr(kr.r,kr.s);else if(Jr){try{$r=yr.fromBytes(ensureBytes("sig",kr),"der")}catch(Jn){if(!(Jn instanceof DER.Err))throw Jn}if(!$r)try{$r=yr.fromBytes(ensureBytes("sig",kr),"compact")}catch{return!1}}return $r||!1}function zr(kr,$r,Jr,qn={}){const{lowS:Jn,prehash:Hn,format:Kn}=validateSigOpts(qn,wr);if(Jr=ensureBytes("publicKey",Jr),$r=Gr(ensureBytes("message",$r),Hn),"strict"in qn)throw new Error("options.strict was renamed to lowS");const Yn=Kn===void 0?$n(kr):yr.fromBytes(ensureBytes("sig",kr),Kn);if(Yn===!1)return!1;try{const Xn=r.fromBytes(Jr);if(Jn&&Yn.hasHighS())return!1;const{r:to,s:eo}=Yn,Zn=Dr($r),ro=lr.inv(eo),oo=lr.create(Zn*ro),io=lr.create(to*ro),no=r.BASE.multiplyUnsafe(oo).add(Xn.multiplyUnsafe(io));return no.is0()?!1:lr.create(no.x)===to}catch{return!1}}function Fr(kr,$r,Jr={}){const{prehash:qn}=validateSigOpts(Jr,wr);return $r=Gr($r,qn),yr.fromBytes(kr,"recovered").recoverPublicKey($r).toBytes()}return Object.freeze({keygen:hr,getPublicKey:fr,getSharedSecret:_r,utils:gr,lengths:br,Point:r,sign:Qr,verify:zr,recoverPublicKey:Fr,Signature:yr,hash:e})}function _weierstrass_legacy_opts_to_new(r){const e={a:r.a,b:r.b,p:r.Fp.ORDER,n:r.n,h:r.h,Gx:r.Gx,Gy:r.Gy},M=r.Fp;let tr=r.allowedPrivateKeyLengths?Array.from(new Set(r.allowedPrivateKeyLengths.map(lr=>Math.ceil(lr/2)))):void 0;const rr=Field(e.n,{BITS:r.nBitLength,allowedLengths:tr,modFromBytes:r.wrapPrivateKey}),ir={Fp:M,Fn:rr,allowInfinityPoint:r.allowInfinityPoint,endo:r.endo,isTorsionFree:r.isTorsionFree,clearCofactor:r.clearCofactor,fromBytes:r.fromBytes,toBytes:r.toBytes};return{CURVE:e,curveOpts:ir}}function _ecdsa_legacy_opts_to_new(r){const{CURVE:e,curveOpts:M}=_weierstrass_legacy_opts_to_new(r),tr={hmac:r.hmac,randomBytes:r.randomBytes,lowS:r.lowS,bits2int:r.bits2int,bits2int_modN:r.bits2int_modN};return{CURVE:e,curveOpts:M,hash:r.hash,ecdsaOpts:tr}}function _ecdsa_new_output_to_legacy(r,e){const M=e.Point;return Object.assign({},e,{ProjectivePoint:M,CURVE:Object.assign({},r,nLength(M.Fn.ORDER,M.Fn.BITS))})}function weierstrass(r){const{CURVE:e,curveOpts:M,hash:tr,ecdsaOpts:rr}=_ecdsa_legacy_opts_to_new(r),ir=weierstrassN(e,M),lr=ecdsa(ir,tr,rr);return _ecdsa_new_output_to_legacy(r,lr)}function createCurve(r,e){const M=tr=>weierstrass({...r,hash:tr});return{...M(e),create:M}}const secp256k1_CURVE={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},secp256k1_ENDO={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},_2n=BigInt(2);function sqrtMod(r){const e=secp256k1_CURVE.p,M=BigInt(3),tr=BigInt(6),rr=BigInt(11),ir=BigInt(22),lr=BigInt(23),dr=BigInt(44),mr=BigInt(88),hr=r*r*r%e,fr=hr*hr*r%e,_r=pow2(fr,M,e)*fr%e,gr=pow2(_r,M,e)*fr%e,br=pow2(gr,_2n,e)*hr%e,wr=pow2(br,rr,e)*br%e,xr=pow2(wr,ir,e)*wr%e,vr=pow2(xr,dr,e)*xr%e,Mr=pow2(vr,mr,e)*vr%e,Sr=pow2(Mr,dr,e)*xr%e,yr=pow2(Sr,M,e)*fr%e,Ar=pow2(yr,lr,e)*wr%e,Dr=pow2(Ar,tr,e)*hr%e,Ir=pow2(Dr,_2n,e);if(!Fpk1.eql(Fpk1.sqr(Ir),r))throw new Error("Cannot find square root");return Ir}const Fpk1=Field(secp256k1_CURVE.p,{sqrt:sqrtMod}),secp256k1$1=createCurve({...secp256k1_CURVE,Fp:Fpk1,lowS:!0,endo:secp256k1_ENDO},sha256$2);const p256_CURVE={p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")},p384_CURVE={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")},p521_CURVE={p:BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),h:BigInt(1),a:BigInt("0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc"),b:BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650")},Fp256=Field(p256_CURVE.p),Fp384=Field(p384_CURVE.p),Fp521=Field(p521_CURVE.p),p256$1=createCurve({...p256_CURVE,Fp:Fp256,lowS:!1},sha256$2),p384$1=createCurve({...p384_CURVE,Fp:Fp384,lowS:!1},sha384),p521$1=createCurve({...p521_CURVE,Fp:Fp521,lowS:!1,allowedPrivateKeyLengths:[130,131,132]},sha512);const p256=p256$1,sha256$1=sha256$2,Rho160=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Id160=Uint8Array.from(new Array(16).fill(0).map((r,e)=>e)),Pi160=Id160.map(r=>(9*r+5)%16),idxLR=(()=>{const M=[[Id160],[Pi160]];for(let tr=0;tr<4;tr++)for(let rr of M)rr.push(rr[tr].map(ir=>Rho160[ir]));return M})(),idxL=idxLR[0],idxR=idxLR[1],shifts160=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(r=>Uint8Array.from(r)),shiftsL160=idxL.map((r,e)=>r.map(M=>shifts160[e][M])),shiftsR160=idxR.map((r,e)=>r.map(M=>shifts160[e][M])),Kl160=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),Kr160=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function ripemd_f(r,e,M,tr){return r===0?e^M^tr:r===1?e&M|~e&tr:r===2?(e|~M)^tr:r===3?e&tr|M&~tr:e^(M|~tr)}const BUF_160=new Uint32Array(16);class RIPEMD160 extends HashMD{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:e,h1:M,h2:tr,h3:rr,h4:ir}=this;return[e,M,tr,rr,ir]}set(e,M,tr,rr,ir){this.h0=e|0,this.h1=M|0,this.h2=tr|0,this.h3=rr|0,this.h4=ir|0}process(e,M){for(let br=0;br<16;br++,M+=4)BUF_160[br]=e.getUint32(M,!0);let tr=this.h0|0,rr=tr,ir=this.h1|0,lr=ir,dr=this.h2|0,mr=dr,hr=this.h3|0,fr=hr,_r=this.h4|0,gr=_r;for(let br=0;br<5;br++){const wr=4-br,xr=Kl160[br],vr=Kr160[br],Mr=idxL[br],Sr=idxR[br],yr=shiftsL160[br],Ar=shiftsR160[br];for(let Dr=0;Dr<16;Dr++){const Ir=rotl(tr+ripemd_f(br,ir,dr,hr)+BUF_160[Mr[Dr]]+xr,yr[Dr])+_r|0;tr=_r,_r=hr,hr=rotl(dr,10)|0,dr=ir,ir=Ir}for(let Dr=0;Dr<16;Dr++){const Ir=rotl(rr+ripemd_f(wr,lr,mr,fr)+BUF_160[Sr[Dr]]+vr,Ar[Dr])+gr|0;rr=gr,gr=fr,fr=rotl(mr,10)|0,mr=lr,lr=Ir}}this.set(this.h1+dr+fr|0,this.h2+hr+gr|0,this.h3+_r+rr|0,this.h4+tr+lr|0,this.h0+ir+mr|0)}roundClean(){clean(BUF_160)}destroy(){this.destroyed=!0,clean(this.buffer),this.set(0,0,0,0,0)}}const ripemd160$1=createHasher(()=>new RIPEMD160),ripemd160=ripemd160$1;var canonicalize,hasRequiredCanonicalize;function requireCanonicalize(){return hasRequiredCanonicalize||(hasRequiredCanonicalize=1,canonicalize=function r(e){if(typeof e=="number"&&isNaN(e))throw new Error("NaN is not allowed");if(typeof e=="number"&&!isFinite(e))throw new Error("Infinity is not allowed");return e===null||typeof e!="object"?JSON.stringify(e):e.toJSON instanceof Function?r(e.toJSON()):Array.isArray(e)?`[${e.reduce((rr,ir,lr)=>`${rr}${lr===0?"":","}${r(ir===void 0||typeof ir=="symbol"?null:ir)}`,"")}]`:`{${Object.keys(e).sort().reduce((tr,rr)=>{if(e[rr]===void 0||typeof e[rr]=="symbol")return tr;const ir=tr.length===0?"":",";return`${tr}${ir}${r(rr)}:${r(e[rr])}`},"")}}`}),canonicalize}var canonicalizeExports=requireCanonicalize();const canonicalizeData=getDefaultExportFromCjs(canonicalizeExports);function _catch$2(r,e){try{var M=r()}catch(tr){return e(tr)}return M&&M.then?M.then(void 0,e):M}function inMemoryCache(){const r=new Map;return function(e,M){try{let rr=function(lr){if(tr)return lr;const dr=r.get(e.didUrl);return dr!==void 0?dr:Promise.resolve(M()).then(function(mr){var hr;return((hr=mr.didResolutionMetadata)==null?void 0:hr.error)!=="notFound"&&r.set(e.didUrl,mr),mr})},tr;const ir=(function(){if(e.params&&e.params["no-cache"]==="true")return Promise.resolve(M()).then(function(lr){return tr=1,lr})})();return Promise.resolve(ir&&ir.then?ir.then(rr):rr(ir))}catch(tr){return Promise.reject(tr)}}}function noCache(r,e){return e()}const PCT_ENCODED="(?:%[0-9a-fA-F]{2})",ID_CHAR=`(?:[a-zA-Z0-9._-]|${PCT_ENCODED})`,METHOD="([a-z0-9]+)",METHOD_ID=`((?:${ID_CHAR}*:)*(${ID_CHAR}+))`,PARAM_CHAR="[a-zA-Z0-9_.:%-]",PARAM=`;${PARAM_CHAR}+=${PARAM_CHAR}*`,PARAMS=`((${PARAM})*)`,PATH="(/[^#?]*)?",QUERY="([?][^#]*)?",FRAGMENT="(#.*)?",DID_MATCHER=new RegExp(`^did:${METHOD}:${METHOD_ID}${PARAMS}${PATH}${QUERY}${FRAGMENT}$`);function parse(r){if(r===""||!r)return null;const e=r.match(DID_MATCHER);if(e){const M={did:`did:${e[1]}:${e[2]}`,method:e[1],id:e[2],didUrl:r};if(e[4]){const tr=e[4].slice(1).split(";");M.params={};for(const rr of tr){const ir=rr.split("=");M.params[ir[0]]=ir[1]}}return e[6]&&(M.path=e[6]),e[7]&&(M.query=e[7].slice(1)),e[8]&&(M.fragment=e[8].slice(1)),M}return null}const EMPTY_RESULT={didResolutionMetadata:{},didDocument:null,didDocumentMetadata:{}};function wrapLegacyResolver(r){return function(e,M,tr){try{return Promise.resolve(_catch$2(function(){return Promise.resolve(r(e,M,tr)).then(function(rr){return{...EMPTY_RESULT,didResolutionMetadata:{contentType:"application/did+ld+json"},didDocument:rr}})},function(rr){return{...EMPTY_RESULT,didResolutionMetadata:{error:"notFound",message:rr.toString()}}}))}catch(rr){return Promise.reject(rr)}}}class Resolver{constructor(e={},M={}){this.registry=void 0,this.cache=void 0,this.registry=e,this.cache=M.cache===!0?inMemoryCache():M.cache||noCache,M.legacyResolvers&&Object.keys(M.legacyResolvers).map(tr=>{this.registry[tr]||(this.registry[tr]=wrapLegacyResolver(M.legacyResolvers[tr]))})}resolve(e,M={}){try{const tr=this,rr=parse(e);if(rr===null)return Promise.resolve({...EMPTY_RESULT,didResolutionMetadata:{error:"invalidDid"}});const ir=tr.registry[rr.method];return ir?Promise.resolve(tr.cache(rr,()=>ir(rr.did,rr,tr,M))):Promise.resolve({...EMPTY_RESULT,didResolutionMetadata:{error:"unsupportedDidMethod"}})}catch(tr){return Promise.reject(tr)}}}function isBytes(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function isArrayOf(r,e){return Array.isArray(e)?e.length===0?!0:r?e.every(M=>typeof M=="string"):e.every(M=>Number.isSafeInteger(M)):!1}function afn(r){if(typeof r!="function")throw new Error("function expected");return!0}function astr(r,e){if(typeof e!="string")throw new Error(`${r}: string expected`);return!0}function anumber(r){if(!Number.isSafeInteger(r))throw new Error(`invalid integer: ${r}`)}function aArr(r){if(!Array.isArray(r))throw new Error("array expected")}function astrArr(r,e){if(!isArrayOf(!0,e))throw new Error(`${r}: array of strings expected`)}function anumArr(r,e){if(!isArrayOf(!1,e))throw new Error(`${r}: array of numbers expected`)}function chain(...r){const e=ir=>ir,M=(ir,lr)=>dr=>ir(lr(dr)),tr=r.map(ir=>ir.encode).reduceRight(M,e),rr=r.map(ir=>ir.decode).reduce(M,e);return{encode:tr,decode:rr}}function alphabet$1(r){const e=typeof r=="string"?r.split(""):r,M=e.length;astrArr("alphabet",e);const tr=new Map(e.map((rr,ir)=>[rr,ir]));return{encode:rr=>(aArr(rr),rr.map(ir=>{if(!Number.isSafeInteger(ir)||ir<0||ir>=M)throw new Error(`alphabet.encode: digit index outside alphabet "${ir}". Allowed: ${r}`);return e[ir]})),decode:rr=>(aArr(rr),rr.map(ir=>{astr("alphabet.decode",ir);const lr=tr.get(ir);if(lr===void 0)throw new Error(`Unknown letter: "${ir}". Allowed: ${r}`);return lr}))}}function join(r=""){return astr("join",r),{encode:e=>(astrArr("join.decode",e),e.join(r)),decode:e=>(astr("join.decode",e),e.split(r))}}const gcd=(r,e)=>e===0?r:gcd(e,r%e),radix2carry=(r,e)=>r+(e-gcd(r,e)),powers=(()=>{let r=[];for(let e=0;e<40;e++)r.push(2**e);return r})();function convertRadix2(r,e,M,tr){if(aArr(r),e<=0||e>32)throw new Error(`convertRadix2: wrong from=${e}`);if(M<=0||M>32)throw new Error(`convertRadix2: wrong to=${M}`);if(radix2carry(e,M)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${M} carryBits=${radix2carry(e,M)}`);let rr=0,ir=0;const lr=powers[e],dr=powers[M]-1,mr=[];for(const hr of r){if(anumber(hr),hr>=lr)throw new Error(`convertRadix2: invalid data word=${hr} from=${e}`);if(rr=rr<<e|hr,ir+e>32)throw new Error(`convertRadix2: carry overflow pos=${ir} from=${e}`);for(ir+=e;ir>=M;ir-=M)mr.push((rr>>ir-M&dr)>>>0);const fr=powers[ir];if(fr===void 0)throw new Error("invalid carry");rr&=fr-1}if(rr=rr<<M-ir&dr,!tr&&ir>=e)throw new Error("Excess padding");if(!tr&&rr>0)throw new Error(`Non-zero padding: ${rr}`);return tr&&ir>0&&mr.push(rr>>>0),mr}function radix2(r,e=!1){if(anumber(r),r<=0||r>32)throw new Error("radix2: bits should be in (0..32]");if(radix2carry(8,r)>32||radix2carry(r,8)>32)throw new Error("radix2: carry overflow");return{encode:M=>{if(!isBytes(M))throw new Error("radix2.encode input should be Uint8Array");return convertRadix2(Array.from(M),8,r,!e)},decode:M=>(anumArr("radix2.decode",M),Uint8Array.from(convertRadix2(M,r,8,e)))}}function unsafeWrapper(r){return afn(r),function(...e){try{return r.apply(null,e)}catch{}}}const BECH_ALPHABET=chain(alphabet$1("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),join("")),POLYMOD_GENERATORS=[996825010,642813549,513874426,1027748829,705979059];function bech32Polymod(r){const e=r>>25;let M=(r&33554431)<<5;for(let tr=0;tr<POLYMOD_GENERATORS.length;tr++)(e>>tr&1)===1&&(M^=POLYMOD_GENERATORS[tr]);return M}function bechChecksum(r,e,M=1){const tr=r.length;let rr=1;for(let ir=0;ir<tr;ir++){const lr=r.charCodeAt(ir);if(lr<33||lr>126)throw new Error(`Invalid prefix (${r})`);rr=bech32Polymod(rr)^lr>>5}rr=bech32Polymod(rr);for(let ir=0;ir<tr;ir++)rr=bech32Polymod(rr)^r.charCodeAt(ir)&31;for(let ir of e)rr=bech32Polymod(rr)^ir;for(let ir=0;ir<6;ir++)rr=bech32Polymod(rr);return rr^=M,BECH_ALPHABET.encode(convertRadix2([rr%powers[30]],30,5,!1))}function genBech32(r){const e=r==="bech32"?1:734539939,M=radix2(5),tr=M.decode,rr=M.encode,ir=unsafeWrapper(tr);function lr(_r,gr,br=90){astr("bech32.encode prefix",_r),isBytes(gr)&&(gr=Array.from(gr)),anumArr("bech32.encode",gr);const wr=_r.length;if(wr===0)throw new TypeError(`Invalid prefix length ${wr}`);const xr=wr+7+gr.length;if(br!==!1&&xr>br)throw new TypeError(`Length ${xr} exceeds limit ${br}`);const vr=_r.toLowerCase(),Mr=bechChecksum(vr,gr,e);return`${vr}1${BECH_ALPHABET.encode(gr)}${Mr}`}function dr(_r,gr=90){astr("bech32.decode input",_r);const br=_r.length;if(br<8||gr!==!1&&br>gr)throw new TypeError(`invalid string length: ${br} (${_r}). Expected (8..${gr})`);const wr=_r.toLowerCase();if(_r!==wr&&_r!==_r.toUpperCase())throw new Error("String must be lowercase or uppercase");const xr=wr.lastIndexOf("1");if(xr===0||xr===-1)throw new Error('Letter "1" must be present between prefix and data only');const vr=wr.slice(0,xr),Mr=wr.slice(xr+1);if(Mr.length<6)throw new Error("Data must be at least 6 characters long");const Sr=BECH_ALPHABET.decode(Mr).slice(0,-6),yr=bechChecksum(vr,Sr,e);if(!Mr.endsWith(yr))throw new Error(`Invalid checksum in ${_r}: expected "${yr}"`);return{prefix:vr,words:Sr}}const mr=unsafeWrapper(dr);function hr(_r){const{prefix:gr,words:br}=dr(_r,!1);return{prefix:gr,words:br,bytes:tr(br)}}function fr(_r,gr){return lr(_r,rr(gr))}return{encode:lr,decode:dr,encodeFromBytes:fr,decodeToBytes:hr,decodeUnsafe:mr,fromWords:tr,fromWordsUnsafe:ir,toWords:rr}}const bech32=genBech32("bech32"),u8a={toString:toString$2,fromString:fromString$2,concat:concat$1};function bytesToBase64url(r){return u8a.toString(r,"base64url")}function base64ToBytes(r){const e=r.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"");return u8a.fromString(e,"base64url")}function base58ToBytes(r){return u8a.fromString(r,"base58btc")}function bytesToBase58(r){return u8a.toString(r,"base58btc")}const SUPPORTED_PUBLIC_KEY_TYPES={ES256:["JsonWebKey2020","Multikey","EcdsaSecp256r1VerificationKey2019"],ES256K:["EcdsaSecp256k1VerificationKey2019","EcdsaSecp256k1RecoveryMethod2020","Secp256k1VerificationKey2018","Secp256k1SignatureVerificationKey2018","EcdsaPublicKeySecp256k1","JsonWebKey2020","Multikey"],"ES256K-R":["EcdsaSecp256k1VerificationKey2019","EcdsaSecp256k1RecoveryMethod2020","Secp256k1VerificationKey2018","Secp256k1SignatureVerificationKey2018","EcdsaPublicKeySecp256k1","ConditionalProof2022","JsonWebKey2020","Multikey"],Ed25519:["ED25519SignatureVerification","Ed25519VerificationKey2018","Ed25519VerificationKey2020","JsonWebKey2020","Multikey"],EdDSA:["ED25519SignatureVerification","Ed25519VerificationKey2018","Ed25519VerificationKey2020","JsonWebKey2020","Multikey"]},VM_TO_KEY_TYPE={Secp256k1SignatureVerificationKey2018:"Secp256k1",Secp256k1VerificationKey2018:"Secp256k1",EcdsaSecp256k1VerificationKey2019:"Secp256k1",EcdsaPublicKeySecp256k1:"Secp256k1",EcdsaSecp256k1RecoveryMethod2020:"Secp256k1",EcdsaSecp256r1VerificationKey2019:"P-256",Ed25519VerificationKey2018:"Ed25519",Ed25519VerificationKey2020:"Ed25519",ED25519SignatureVerification:"Ed25519",X25519KeyAgreementKey2019:"X25519",X25519KeyAgreementKey2020:"X25519",ConditionalProof2022:void 0,JsonWebKey2020:void 0,Multikey:void 0},supportedCodecs={"ed25519-pub":237,"x25519-pub":236,"secp256k1-pub":231,"bls12_381-g1-pub":234,"bls12_381-g2-pub":235,"p256-pub":4608},CODEC_TO_KEY_TYPE={"bls12_381-g1-pub":"Bls12381G1","bls12_381-g2-pub":"Bls12381G2","ed25519-pub":"Ed25519","p256-pub":"P-256","secp256k1-pub":"Secp256k1","x25519-pub":"X25519"};function extractPublicKeyBytes(r){if(r.publicKeyBase58)return{keyBytes:base58ToBytes(r.publicKeyBase58),keyType:VM_TO_KEY_TYPE[r.type]};if(r.publicKeyBase64)return{keyBytes:base64ToBytes(r.publicKeyBase64),keyType:VM_TO_KEY_TYPE[r.type]};if(r.publicKeyHex)return{keyBytes:hexToBytes(r.publicKeyHex),keyType:VM_TO_KEY_TYPE[r.type]};if(r.publicKeyJwk&&r.publicKeyJwk.crv==="secp256k1"&&r.publicKeyJwk.x&&r.publicKeyJwk.y)return{keyBytes:secp256k1$1.ProjectivePoint.fromAffine({x:bytesToBigInt(base64ToBytes(r.publicKeyJwk.x)),y:bytesToBigInt(base64ToBytes(r.publicKeyJwk.y))}).toRawBytes(!1),keyType:"Secp256k1"};if(r.publicKeyJwk&&r.publicKeyJwk.crv==="P-256"&&r.publicKeyJwk.x&&r.publicKeyJwk.y)return{keyBytes:p256.ProjectivePoint.fromAffine({x:bytesToBigInt(base64ToBytes(r.publicKeyJwk.x)),y:bytesToBigInt(base64ToBytes(r.publicKeyJwk.y))}).toRawBytes(!1),keyType:"P-256"};if(r.publicKeyJwk&&r.publicKeyJwk.kty==="OKP"&&["Ed25519","X25519"].includes(r.publicKeyJwk.crv??"")&&r.publicKeyJwk.x)return{keyBytes:base64ToBytes(r.publicKeyJwk.x),keyType:r.publicKeyJwk.crv};if(r.publicKeyMultibase){const{keyBytes:e,keyType:M}=multibaseToBytes(r.publicKeyMultibase);return{keyBytes:e,keyType:M??VM_TO_KEY_TYPE[r.type]}}return{keyBytes:new Uint8Array}}function multibaseToBytes(r){const e=srcExports$1.decode(r);if([32,33,48,64,65,96].includes(e.length))return{keyBytes:e};try{const[M,tr]=decode$6(e),rr=Object.entries(supportedCodecs).filter(([,ir])=>ir===M)?.[0][0]??"";return{keyBytes:e.slice(tr),keyType:CODEC_TO_KEY_TYPE[rr]}}catch{return{keyBytes:e}}}function hexToBytes(r,e){let M=r.startsWith("0x")?r.substring(2):r;return M.length%2!==0&&(M=`0${M}`),u8a.fromString(M.toLowerCase(),"base16")}function encodeBase64url(r){return bytesToBase64url(u8a.fromString(r))}function decodeBase64url(r){return u8a.toString(base64ToBytes(r))}function bytesToHex(r){return u8a.toString(r,"base16")}function bytesToBigInt(r){return BigInt("0x"+u8a.toString(r,"base16"))}function stringToBytes(r){return u8a.fromString(r,"utf-8")}function toJose({r,s:e,recoveryParam:M},tr){const rr=new Uint8Array(tr?65:64);if(rr.set(u8a.fromString(r,"base16"),0),rr.set(u8a.fromString(e,"base16"),32),tr){if(typeof M>"u")throw new Error("Signer did not return a recoveryParam");rr[64]=M}return bytesToBase64url(rr)}function fromJose(r){const e=base64ToBytes(r);if(e.length<64||e.length>65)throw new TypeError(`Wrong size for signature. Expected 64 or 65 bytes, but got ${e.length}`);const M=bytesToHex(e.slice(0,32)),tr=bytesToHex(e.slice(32,64)),rr=e.length===65?e[64]:void 0;return{r:M,s:tr,recoveryParam:rr}}function sha256(r){const e=typeof r=="string"?fromString$2(r):r;return sha256$1(e)}const keccak=keccak_256;function toEthereumAddress(r){const e=fromString$2(r.slice(2),"base16");return`0x${toString$2(keccak(e).slice(-20),"base16")}`}function instanceOfEcdsaSignature(r){return typeof r=="object"&&"r"in r&&"s"in r}function ES256SignerAlg(){return function(e,M){try{return Promise.resolve(M(e)).then(function(tr){return instanceOfEcdsaSignature(tr)?toJose(tr):tr})}catch(tr){return Promise.reject(tr)}}}function ES256KSignerAlg(r){return function(M,tr){try{return Promise.resolve(tr(M)).then(function(rr){if(instanceOfEcdsaSignature(rr))return toJose(rr,r);if(r&&typeof fromJose(rr).recoveryParam>"u")throw new Error("not_supported: ES256K-R not supported when signer doesn't provide a recovery param");return rr})}catch(rr){return Promise.reject(rr)}}}function Ed25519SignerAlg(){return function(e,M){try{return Promise.resolve(M(e)).then(function(tr){if(instanceOfEcdsaSignature(tr))throw new Error("invalid_config: expected a signer function that returns a string instead of signature object");return tr})}catch(tr){return Promise.reject(tr)}}}const algorithms$1={ES256:ES256SignerAlg(),ES256K:ES256KSignerAlg(),"ES256K-R":ES256KSignerAlg(!0),Ed25519:Ed25519SignerAlg(),EdDSA:Ed25519SignerAlg()};function SignerAlg(r){const e=algorithms$1[r];if(!e)throw new Error(`not_supported: Unsupported algorithm ${r}`);return e}function publicKeyToAddress$1(r,e){const M=bytesToHex(base58ToBytes(e).slice(0,1)),tr=hexToBytes(r),rr=ripemd160(sha256(tr)),ir=M+bytesToHex(rr),lr=sha256(hexToBytes(ir)),dr=sha256(lr),mr=bytesToHex(dr).substring(0,8),hr=ir+mr;return bytesToBase58(hexToBytes(hr))}function publicKeyToAddress(r,e){const M=secp256k1$1.ProjectivePoint.fromHex(r).toRawBytes(),tr=ripemd160(sha256(M)),rr=bech32.toWords(tr);return bech32.encode(e,rr).replace(e,"")}function verifyBlockchainAccountId(r,e){if(e){const M=e.split(":");switch(M[0]){case"bip122":M[M.length-1]=publicKeyToAddress$1(r,M[M.length-1]);break;case"cosmos":M[M.length-1]=publicKeyToAddress(r,M[1]);break;case"eip155":M[M.length-1]=toEthereumAddress(r);break;default:return!1}return M.join(":").toLowerCase()===e.toLowerCase()}return!1}function toSignatureObject(r,e=!1){const M=base64ToBytes(r);if(M.length!==(e?65:64))throw new Error("wrong signature length");const tr=bytesToHex(M.slice(0,32)),rr=bytesToHex(M.slice(32,64)),ir={r:tr,s:rr};return e&&(ir.recoveryParam=M[64]),ir}function toSignatureObject2(r,e=!1){const M=base64ToBytes(r);if(M.length!==(e?65:64))throw new Error("wrong signature length");return{compact:M.slice(0,64),recovery:M[64]}}function verifyES256(r,e,M){const tr=sha256(r),rr=p256.Signature.fromCompact(toSignatureObject2(e).compact),lr=M.filter(dr=>!dr.ethereumAddress&&!dr.blockchainAccountId).find(dr=>{try{const{keyBytes:mr}=extractPublicKeyBytes(dr);return p256.verify(rr,tr,mr)}catch{return!1}});if(!lr)throw new Error("invalid_signature: Signature invalid for JWT");return lr}function verifyES256K(r,e,M){const tr=sha256(r),rr=secp256k1$1.Signature.fromCompact(base64ToBytes(e)).normalizeS(),ir=M.filter(mr=>!mr.ethereumAddress&&!mr.blockchainAccountId),lr=M.filter(mr=>mr.ethereumAddress||mr.blockchainAccountId);let dr=ir.find(mr=>{try{const{keyBytes:hr}=extractPublicKeyBytes(mr);return secp256k1$1.verify(rr,tr,hr)}catch{return!1}});if(!dr&&lr.length>0&&(dr=verifyRecoverableES256K(r,e,lr)),!dr)throw new Error("invalid_signature: Signature invalid for JWT");return dr}function verifyRecoverableES256K(r,e,M){const tr=[];if(e.length>86)tr.push(toSignatureObject2(e,!0));else{const lr=toSignatureObject2(e,!1);tr.push({...lr,recovery:0}),tr.push({...lr,recovery:1})}const rr=sha256(r),ir=lr=>{const mr=secp256k1$1.Signature.fromCompact(lr.compact).addRecoveryBit(lr.recovery||0).recoverPublicKey(rr),hr=toEthereumAddress(mr.toHex(!1)).toLowerCase(),fr=mr.toHex(!1),_r=mr.toHex(!0);return M.find(gr=>{const{keyBytes:br}=extractPublicKeyBytes(gr),wr=bytesToHex(br);return wr===fr||wr===_r||gr.ethereumAddress?.toLowerCase()===hr||gr.blockchainAccountId?.split("@eip155")?.[0].toLowerCase()===hr||verifyBlockchainAccountId(fr,gr.blockchainAccountId)})};for(const lr of tr){const dr=ir(lr);if(dr)return dr}throw new Error("invalid_signature: Signature invalid for JWT")}function verifyEd25519(r,e,M){const tr=stringToBytes(r),rr=base64ToBytes(e),ir=M.find(lr=>{const{keyBytes:dr,keyType:mr}=extractPublicKeyBytes(lr);return mr==="Ed25519"?ed25519$1.verify(rr,tr,dr):!1});if(!ir)throw new Error("invalid_signature: Signature invalid for JWT");return ir}const algorithms={ES256:verifyES256,ES256K:verifyES256K,"ES256K-R":verifyRecoverableES256K,Ed25519:verifyEd25519,EdDSA:verifyEd25519};function VerifierAlgorithm(r){const e=algorithms[r];if(!e)throw new Error(`not_supported: Unsupported algorithm ${r}`);return e}VerifierAlgorithm.toSignatureObject=toSignatureObject;const JWT_ERROR={INVALID_JWT:"invalid_jwt",INVALID_AUDIENCE:"invalid_config",INVALID_SIGNATURE:"invalid_signature",NO_SUITABLE_KEYS:"no_suitable_keys",NOT_SUPPORTED:"not_supported",RESOLVER_ERROR:"resolver_error"};function _catch$1(r,e){try{var M=r()}catch(tr){return e(tr)}return M&&M.then?M.then(void 0,e):M}const verifyConditionDelegated=function(r,{header:e,payload:M,data:tr,signature:rr},ir,lr){try{if(!ir.conditionDelegated)throw new Error("Expected conditionDelegated");if(!lr.resolver)throw new Error("Expected resolver");let dr;const mr=ir.conditionDelegated;return Promise.resolve(resolveAuthenticator(lr.resolver,e.alg,mr,lr.proofPurpose)).then(function(hr){let fr;function _r(xr){if(dr)return ir;throw new Error(`${JWT_ERROR.INVALID_SIGNATURE}: condition for authenticator ${ir.id} is not met.`)}const gr=hr.didResolutionResult;if(!gr?.didDocument)throw new Error(`${JWT_ERROR.RESOLVER_ERROR}: Could not resolve delegated DID ${mr}.`);const br=hr.authenticators.find(xr=>xr.id===mr);if(!br)throw new Error(`${JWT_ERROR.NO_SUITABLE_KEYS}: Could not find delegated authenticator ${mr} in it's DID Document`);const wr=(function(){if(br.type===CONDITIONAL_PROOF_2022)return Promise.resolve(verifyJWT(r,{...lr,didAuthenticator:{didResolutionResult:gr,authenticators:[br],issuer:br.id}})).then(function({verified:xr}){xr&&(dr=br)});try{dr=verifyJWTDecoded({header:e,payload:M,data:tr,signature:rr},br)}catch(xr){if(!xr.message.startsWith("invalid_signature:"))throw xr}})();return wr&&wr.then?wr.then(_r):_r(wr)})}catch(dr){return Promise.reject(dr)}},_iteratorSymbol$1=typeof Symbol<"u"?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function _settle$2(r,e,M){if(!r.s){if(M instanceof _Pact$2)if(M.s)e&1&&(e=M.s),M=M.v;else{M.o=_settle$2.bind(null,r,e);return}if(M&&M.then){M.then(_settle$2.bind(null,r,e),_settle$2.bind(null,r,2));return}r.s=e,r.v=M;const tr=r.o;tr&&tr(r)}}const _Pact$2=(function(){function r(){}return r.prototype.then=function(e,M){const tr=new r,rr=this.s;if(rr){const ir=rr&1?e:M;if(ir){try{_settle$2(tr,1,ir(this.v))}catch(lr){_settle$2(tr,2,lr)}return tr}else return this}return this.o=function(ir){try{const lr=ir.v;ir.s&1?_settle$2(tr,1,e?e(lr):lr):M?_settle$2(tr,1,M(lr)):_settle$2(tr,2,lr)}catch(lr){_settle$2(tr,2,lr)}},tr},r})();function _isSettledPact$2(r){return r instanceof _Pact$2&&r.s&1}function _forTo$2(r,e,M){var tr=-1,rr,ir;function lr(dr){try{for(;++tr<r.length&&(!M||!M());)if(dr=e(tr),dr&&dr.then)if(_isSettledPact$2(dr))dr=dr.v;else{dr.then(lr,ir||(ir=_settle$2.bind(null,rr=new _Pact$2,2)));return}rr?_settle$2(rr,1,dr):rr=dr}catch(mr){_settle$2(rr||(rr=new _Pact$2),2,mr)}}return lr(),rr}const verifyConditionWeightedThreshold=function(r,{header:e,payload:M,data:tr,signature:rr},ir,lr){try{let dr=function(br){if(mr)return br;throw new Error(`${JWT_ERROR.INVALID_SIGNATURE}: condition for authenticator ${ir.id} is not met.`)},mr;if(!ir.conditionWeightedThreshold||!ir.threshold)throw new Error("Expected conditionWeightedThreshold and threshold");const hr=[],fr=ir.threshold;let _r=0;const gr=_forOf$1(ir.conditionWeightedThreshold,function(br){function wr(Sr){if(mr)return Sr;if(vr&&!hr.includes(vr.id)&&(hr.push(vr.id),_r+=br.weight,_r>=fr))return mr=1,ir}const xr=br.condition;let vr;const Mr=_catch$1(function(){if(xr.type===CONDITIONAL_PROOF_2022){if(!lr.didAuthenticator)throw new Error("Expected didAuthenticator");const Sr={...lr,didAuthenticator:{didResolutionResult:lr.didAuthenticator?.didResolutionResult,authenticators:[xr],issuer:xr.id}};return Promise.resolve(verifyJWT(r,Sr)).then(function({verified:yr}){yr&&(vr=xr)})}else return Promise.resolve(verifyJWTDecoded({header:e,payload:M,data:tr,signature:rr},xr)).then(function(Sr){vr=Sr})},function(Sr){if(!Sr.message.startsWith(JWT_ERROR.INVALID_SIGNATURE))throw Sr});return Mr&&Mr.then?Mr.then(wr):wr(Mr)},function(){return mr});return Promise.resolve(gr&&gr.then?gr.then(dr):dr(gr))}catch(dr){return Promise.reject(dr)}};function _forOf$1(r,e,M){if(typeof r[_iteratorSymbol$1]=="function"){let fr=function(_r){try{for(;!(rr=tr.next()).done&&(!M||!M());)if(_r=e(rr.value),_r&&_r.then)if(_isSettledPact$2(_r))_r=_r.v;else{_r.then(fr,lr||(lr=_settle$2.bind(null,ir=new _Pact$2,2)));return}ir?_settle$2(ir,1,_r):ir=_r}catch(gr){_settle$2(ir||(ir=new _Pact$2),2,gr)}};var tr=r[_iteratorSymbol$1](),rr,ir,lr;if(fr(),tr.return){var dr=function(_r){try{rr.done||tr.return()}catch{}return _r};if(ir&&ir.then)return ir.then(dr,function(_r){throw dr(_r)});dr()}return ir}if(!("length"in r))throw new TypeError("Object is not iterable");for(var mr=[],hr=0;hr<r.length;hr++)mr.push(r[hr]);return _forTo$2(mr,function(fr){return e(mr[fr])},M)}const verifyConditionalProof=function(r,{header:e,payload:M,signature:tr,data:rr},ir,lr){try{if(ir.conditionWeightedThreshold)return verifyConditionWeightedThreshold(r,{header:e,payload:M,data:rr,signature:tr},ir,lr);if(ir.conditionDelegated)return verifyConditionDelegated(r,{header:e,payload:M,data:rr,signature:tr},ir,lr);throw new Error(`${JWT_ERROR.INVALID_JWT}: conditional proof type did not find condition for authenticator ${ir.id}.`)}catch(dr){return Promise.reject(dr)}},verifyProof=function(r,{header:e,payload:M,signature:tr,data:rr},ir,lr){try{return ir.type===CONDITIONAL_PROOF_2022?verifyConditionalProof(r,{payload:M,header:e,signature:tr,data:rr},ir,lr):Promise.resolve(verifyJWTDecoded({header:e,payload:M,data:rr,signature:tr},[ir]))}catch(dr){return Promise.reject(dr)}},CONDITIONAL_PROOF_2022="ConditionalProof2022";function _settle$1(r,e,M){if(!r.s){if(M instanceof _Pact$1)if(M.s)e&1&&(e=M.s),M=M.v;else{M.o=_settle$1.bind(null,r,e);return}if(M&&M.then){M.then(_settle$1.bind(null,r,e),_settle$1.bind(null,r,2));return}r.s=e,r.v=M;const tr=r.o;tr&&tr(r)}}const _Pact$1=(function(){function r(){}return r.prototype.then=function(e,M){const tr=new r,rr=this.s;if(rr){const ir=rr&1?e:M;if(ir){try{_settle$1(tr,1,ir(this.v))}catch(lr){_settle$1(tr,2,lr)}return tr}else return this}return this.o=function(ir){try{const lr=ir.v;ir.s&1?_settle$1(tr,1,e?e(lr):lr):M?_settle$1(tr,1,M(lr)):_settle$1(tr,2,lr)}catch(lr){_settle$1(tr,2,lr)}},tr},r})();function _isSettledPact$1(r){return r instanceof _Pact$1&&r.s&1}function _forTo$1(r,e,M){var tr=-1,rr,ir;function lr(dr){try{for(;++tr<r.length&&(!M||!M());)if(dr=e(tr),dr&&dr.then)if(_isSettledPact$1(dr))dr=dr.v;else{dr.then(lr,ir||(ir=_settle$1.bind(null,rr=new _Pact$1,2)));return}rr?_settle$1(rr,1,dr):rr=dr}catch(mr){_settle$1(rr||(rr=new _Pact$1),2,mr)}}return lr(),rr}function _catch(r,e){try{var M=r()}catch(tr){return e(tr)}return M&&M.then?M.then(void 0,e):M}function _for$1(r,e,M){for(var tr;;){var rr=r();if(_isSettledPact$1(rr)&&(rr=rr.v),!rr)return ir;if(rr.then){tr=0;break}var ir=M();if(ir&&ir.then)if(_isSettledPact$1(ir))ir=ir.s;else{tr=1;break}var lr}var dr=new _Pact$1,mr=_settle$1.bind(null,dr,2);return(tr===0?rr.then(fr):tr===1?ir.then(hr):lr.then(_r)).then(void 0,mr),dr;function hr(gr){ir=gr;do{if(rr=r(),!rr||_isSettledPact$1(rr)&&!rr.v){_settle$1(dr,1,ir);return}if(rr.then){rr.then(fr).then(void 0,mr);return}ir=M(),_isSettledPact$1(ir)&&(ir=ir.v)}while(!ir||!ir.then);ir.then(hr).then(void 0,mr)}function fr(gr){gr?(ir=M(),ir&&ir.then?ir.then(hr).then(void 0,mr):hr(ir)):_settle$1(dr,1,ir)}function _r(){(rr=r())?rr.then?rr.then(fr).then(void 0,mr):fr(rr):_settle$1(dr,1,ir)}}const resolveAuthenticator=function(r,e,M,tr){try{const rr=SUPPORTED_PUBLIC_KEY_TYPES[e];if(!rr||rr.length===0)throw new Error(`${JWT_ERROR.NOT_SUPPORTED}: No supported signature types for algorithm ${e}`);let ir;return Promise.resolve(r.resolve(M,{accept:DID_JSON$1})).then(function(lr){if(Object.getOwnPropertyNames(lr).indexOf("didDocument")===-1?ir={didDocument:lr,didDocumentMetadata:{},didResolutionMetadata:{contentType:DID_JSON$1}}:ir=lr,ir.didResolutionMetadata?.error||ir.didDocument==null){const{error:fr,message:_r}=ir.didResolutionMetadata;throw new Error(`${JWT_ERROR.RESOLVER_ERROR}: Unable to resolve DID document for ${M}: ${fr}, ${_r||""}`)}const dr=(fr,_r)=>{const gr=fr.filter(({id:br})=>_r===br);return gr.length>0?gr[0]:null};let mr=[...ir?.didDocument?.verificationMethod||[],...ir?.didDocument?.publicKey||[]];typeof tr=="string"&&(tr.startsWith("assertion")&&!Object.getOwnPropertyNames(ir?.didDocument).includes("assertionMethod")&&(ir.didDocument={...ir.didDocument},ir.didDocument.assertionMethod=[...mr.map(fr=>fr.id)]),mr=(ir.didDocument[tr]||[]).map(fr=>typeof fr=="string"?dr(mr,fr):typeof fr.publicKey=="string"?dr(mr,fr.publicKey):fr).filter(fr=>fr!=null));const hr=mr.filter(({type:fr})=>rr.find(_r=>_r===fr));if(typeof tr=="string"&&(!hr||hr.length===0))throw new Error(`${JWT_ERROR.NO_SUITABLE_KEYS}: DID document for ${M} does not have public keys suitable for ${e} with ${tr} purpose`);if(!hr||hr.length===0)throw new Error(`${JWT_ERROR.NO_SUITABLE_KEYS}: DID document for ${M} does not have public keys for ${e}`);return{authenticators:hr,issuer:M,didResolutionResult:ir}})}catch(rr){return Promise.reject(rr)}},verifyJWT=function(r,e={resolver:void 0,auth:void 0,audience:void 0,callbackUrl:void 0,skewTime:void 0,proofPurpose:void 0,policies:{},didAuthenticator:void 0}){try{let M=function(){let br;function wr(Sr){if(vr){const yr=typeof e.policies?.now=="number"?e.policies.now:Math.floor(Date.now()/1e3),Ar=typeof e.skewTime<"u"&&e.skewTime>=0?e.skewTime:NBF_SKEW,Dr=yr+Ar;if(e.policies?.nbf!==!1&&tr.nbf){if(tr.nbf>Dr)throw new Error(`${JWT_ERROR.INVALID_JWT}: JWT not valid before nbf: ${tr.nbf}`)}else if(e.policies?.iat!==!1&&tr.iat&&tr.iat>Dr)throw new Error(`${JWT_ERROR.INVALID_JWT}: JWT not valid yet (issued in the future) iat: ${tr.iat}`);if(e.policies?.exp!==!1&&tr.exp&&tr.exp<=yr-Ar)throw new Error(`${JWT_ERROR.INVALID_JWT}: JWT has expired: exp: ${tr.exp} < now: ${yr}`);if(e.policies?.aud!==!1&&tr.aud){if(!e.audience&&!e.callbackUrl)throw new Error(`${JWT_ERROR.INVALID_AUDIENCE}: JWT audience is required but your app address has not been configured`);if(typeof(Array.isArray(tr.aud)?tr.aud:[tr.aud]).find(Gr=>e.audience===Gr||e.callbackUrl===Gr)>"u")throw new Error(`${JWT_ERROR.INVALID_AUDIENCE}: JWT audience does not match your DID or callback url`)}return{verified:!0,payload:tr,didResolutionResult:_r,issuer:fr,signer:vr,jwt:r,policies:e.policies}}throw new Error(`${JWT_ERROR.INVALID_SIGNATURE}: JWT not valid. issuer DID document does not contain a verificationMethod that matches the signature.`)}const{did:xr}=parse(mr);let vr=null;const Mr=(function(){if(xr!==mr){const Sr=hr.find(yr=>yr.id===mr);if(!Sr)throw new Error(`${JWT_ERROR.INVALID_JWT}: No authenticator found for did URL ${mr}`);return Promise.resolve(verifyProof(r,{payload:tr,header:rr,signature:ir,data:lr},Sr,e)).then(function(yr){vr=yr})}else{let Sr=0;return _for$1(function(){return!br&&!vr&&Sr<hr.length},void 0,function(){function yr(Ir){Sr++}const Ar=hr[Sr],Dr=_catch(function(){return Promise.resolve(verifyProof(r,{payload:tr,header:rr,signature:ir,data:lr},Ar,e)).then(function(Ir){vr=Ir})},function(Ir){if(!Ir.message.includes(JWT_ERROR.INVALID_SIGNATURE)||Sr===hr.length-1)throw Ir});return Dr&&Dr.then?Dr.then(yr):yr(Dr)})}})();return Mr&&Mr.then?Mr.then(wr):wr(Mr)};if(!e.resolver)throw new Error("missing_resolver: No DID resolver has been configured");const{payload:tr,header:rr,signature:ir,data:lr}=decodeJWT(r,!1),dr=Object.prototype.hasOwnProperty.call(e,"auth")?e.auth?"authentication":void 0:e.proofPurpose;let mr;if(!tr.iss&&!tr.client_id)throw new Error(`${JWT_ERROR.INVALID_JWT}: JWT iss or client_id are required`);if(e.didAuthenticator)mr=e.didAuthenticator.issuer;else if(tr.iss===SELF_ISSUED_V2||tr.iss===SELF_ISSUED_V2_VC_INTEROP){if(!tr.sub)throw new Error(`${JWT_ERROR.INVALID_JWT}: JWT sub is required`);typeof tr.sub_jwk>"u"?mr=tr.sub:mr=(rr.kid||"").split("#")[0]}else if(tr.iss===SELF_ISSUED_V0_1){if(!tr.did)throw new Error(`${JWT_ERROR.INVALID_JWT}: JWT did is required`);mr=tr.did}else if(!tr.iss&&tr.scope==="openid"&&tr.redirect_uri){if(!tr.client_id)throw new Error(`${JWT_ERROR.INVALID_JWT}: JWT client_id is required`);mr=tr.client_id}else mr=tr.iss;if(!mr)throw new Error(`${JWT_ERROR.INVALID_JWT}: No DID has been found in the JWT`);let hr,fr,_r;const gr=(function(){if(e.didAuthenticator)({didResolutionResult:_r,authenticators:hr,issuer:fr}=e.didAuthenticator);else return Promise.resolve(resolveAuthenticator(e.resolver,rr.alg,mr,dr)).then(function(br){({didResolutionResult:_r,authenticators:hr,issuer:fr}=br),e.didAuthenticator={didResolutionResult:_r,authenticators:hr,issuer:fr}})})();return Promise.resolve(gr&&gr.then?gr.then(M):M(gr))}catch(M){return Promise.reject(M)}},createMultisignatureJWT=function(r,{expiresIn:e,canonicalize:M},tr){try{if(tr.length===0)throw new Error("invalid_argument: must provide one or more issuers");let rr=r,ir="";const lr=_forTo$1(tr,function(dr){const mr=tr[dr],hr={typ:"JWT",alg:mr.alg};return dr!==0&&(hr.cty="JWT"),Promise.resolve(createJWT(rr,{...mr,canonicalize:M,expiresIn:e},hr)).then(function(fr){ir=fr,rr={jwt:ir}})});return Promise.resolve(lr&&lr.then?lr.then(function(){return ir}):ir)}catch(rr){return Promise.reject(rr)}},createJWT=function(r,{issuer:e,signer:M,alg:tr,expiresIn:rr,canonicalize:ir},lr={}){try{if(!M)throw new Error("missing_signer: No Signer functionality has been configured");if(!e)throw new Error("missing_issuer: No issuing DID has been configured");lr.typ||(lr.typ="JWT"),lr.alg||(lr.alg=tr);const dr={iat:Math.floor(Date.now()/1e3),exp:void 0};if(rr)if(typeof rr=="number")dr.exp=(r.nbf||dr.iat)+Math.floor(rr);else throw new Error("invalid_argument: JWT expiresIn is not a number");const mr={...dr,...r,iss:e};return createJWS(mr,M,lr,{canonicalize:ir})}catch(dr){return Promise.reject(dr)}},createJWS=function(r,e,M={},tr={}){try{M.alg||(M.alg=defaultAlg);const rr=typeof r=="string"?r:encodeSection(r,tr.canonicalize),ir=[encodeSection(M,tr.canonicalize),rr].join("."),lr=SignerAlg(M.alg);return Promise.resolve(lr(ir,e)).then(function(dr){return[ir,dr].join(".")})}catch(rr){return Promise.reject(rr)}},SELF_ISSUED_V2="https://self-issued.me/v2",SELF_ISSUED_V2_VC_INTEROP="https://self-issued.me/v2/openid-vc",SELF_ISSUED_V0_1="https://self-issued.me",defaultAlg="ES256K",DID_JSON$1="application/did+json";function encodeSection(r,e=!1){return encodeBase64url(e?canonicalizeData(r):JSON.stringify(r))}const NBF_SKEW=300;function decodeJWS(r){const e=r.match(/^([a-zA-Z0-9_-]+)\.([a-zA-Z0-9_-]+)\.([a-zA-Z0-9_-]+)$/);if(e)return{header:JSON.parse(decodeBase64url(e[1])),payload:e[2],signature:e[3],data:`${e[1]}.${e[2]}`};throw new Error("invalid_argument: Incorrect format JWS")}function decodeJWT(r,e=!0){if(!r)throw new Error("invalid_argument: no JWT passed into decodeJWT");try{const M=decodeJWS(r),tr=Object.assign(M,{payload:JSON.parse(decodeBase64url(M.payload))}),rr=tr.payload.iss;if(tr.header.cty==="JWT"&&e){const ir=decodeJWT(tr.payload.jwt);if(ir.payload.iss!==rr)throw new Error(`${JWT_ERROR.INVALID_JWT}: multiple issuers`);return ir}return tr}catch(M){throw new Error(`invalid_argument: ${JWT_ERROR.INVALID_JWT}: ${M}`)}}function verifyJWTDecoded({header:r,payload:e,data:M,signature:tr},rr){Array.isArray(rr)||(rr=[rr]);const ir=e.iss;let lr=!0;do{if(ir!==e.iss)throw new Error(`${JWT_ERROR.INVALID_JWT}: multiple issuers`);try{return VerifierAlgorithm(r.alg)(M,tr,rr)}catch(dr){if(!dr.message.startsWith(JWT_ERROR.INVALID_SIGNATURE))throw dr}r.cty!=="JWT"?lr=!1:{payload:e,header:r,signature:tr,data:M}=decodeJWT(e.jwt,!1)}while(lr);throw new Error(`${JWT_ERROR.INVALID_SIGNATURE}: no matching public key found`)}typeof Symbol<"u"&&(Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")));function allocUnsafe(r=0){return new Uint8Array(r)}function asUint8Array(r){return r}function concat(r,e){e==null&&(e=r.reduce((rr,ir)=>rr+ir.length,0));const M=allocUnsafe(e);let tr=0;for(const rr of r)M.set(rr,tr),tr+=rr.length;return M}function coerce(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function fromString$1(r){return new TextEncoder().encode(r)}function toString$1(r){return new TextDecoder().decode(r)}function base(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var M=new Uint8Array(256),tr=0;tr<M.length;tr++)M[tr]=255;for(var rr=0;rr<r.length;rr++){var ir=r.charAt(rr),lr=ir.charCodeAt(0);if(M[lr]!==255)throw new TypeError(ir+" is ambiguous");M[lr]=rr}var dr=r.length,mr=r.charAt(0),hr=Math.log(dr)/Math.log(256),fr=Math.log(256)/Math.log(dr);function _r(wr){if(wr instanceof Uint8Array||(ArrayBuffer.isView(wr)?wr=new Uint8Array(wr.buffer,wr.byteOffset,wr.byteLength):Array.isArray(wr)&&(wr=Uint8Array.from(wr))),!(wr instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(wr.length===0)return"";for(var xr=0,vr=0,Mr=0,Sr=wr.length;Mr!==Sr&&wr[Mr]===0;)Mr++,xr++;for(var yr=(Sr-Mr)*fr+1>>>0,Ar=new Uint8Array(yr);Mr!==Sr;){for(var Dr=wr[Mr],Ir=0,Lr=yr-1;(Dr!==0||Ir<vr)&&Lr!==-1;Lr--,Ir++)Dr+=256*Ar[Lr]>>>0,Ar[Lr]=Dr%dr>>>0,Dr=Dr/dr>>>0;if(Dr!==0)throw new Error("Non-zero carry");vr=Ir,Mr++}for(var Gr=yr-vr;Gr!==yr&&Ar[Gr]===0;)Gr++;for(var Or=mr.repeat(xr);Gr<yr;++Gr)Or+=r.charAt(Ar[Gr]);return Or}function gr(wr){if(typeof wr!="string")throw new TypeError("Expected String");if(wr.length===0)return new Uint8Array;var xr=0;if(wr[xr]!==" "){for(var vr=0,Mr=0;wr[xr]===mr;)vr++,xr++;for(var Sr=(wr.length-xr)*hr+1>>>0,yr=new Uint8Array(Sr);wr[xr];){var Ar=M[wr.charCodeAt(xr)];if(Ar===255)return;for(var Dr=0,Ir=Sr-1;(Ar!==0||Dr<Mr)&&Ir!==-1;Ir--,Dr++)Ar+=dr*yr[Ir]>>>0,yr[Ir]=Ar%256>>>0,Ar=Ar/256>>>0;if(Ar!==0)throw new Error("Non-zero carry");Mr=Dr,xr++}if(wr[xr]!==" "){for(var Lr=Sr-Mr;Lr!==Sr&&yr[Lr]===0;)Lr++;for(var Gr=new Uint8Array(vr+(Sr-Lr)),Or=vr;Lr!==Sr;)Gr[Or++]=yr[Lr++];return Gr}}}function br(wr){var xr=gr(wr);if(xr)return xr;throw new Error(`Non-${e} character`)}return{encode:_r,decodeUnsafe:gr,decode:br}}var src$1=base,_brrp__multiformats_scope_baseX=src$1;class Encoder{name;prefix;baseEncode;constructor(e,M,tr){this.name=e,this.prefix=M,this.baseEncode=tr}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class Decoder{name;prefix;baseDecode;prefixCodePoint;constructor(e,M,tr){this.name=e,this.prefix=M;const rr=M.codePointAt(0);if(rr===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=rr,this.baseDecode=tr}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return or(this,e)}}class ComposedDecoder{decoders;constructor(e){this.decoders=e}or(e){return or(this,e)}decode(e){const M=e[0],tr=this.decoders[M];if(tr!=null)return tr.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}function or(r,e){return new ComposedDecoder({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}class Codec{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,M,tr,rr){this.name=e,this.prefix=M,this.baseEncode=tr,this.baseDecode=rr,this.encoder=new Encoder(e,M,tr),this.decoder=new Decoder(e,M,rr)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}function from({name:r,prefix:e,encode:M,decode:tr}){return new Codec(r,e,M,tr)}function baseX({name:r,prefix:e,alphabet:M}){const{encode:tr,decode:rr}=_brrp__multiformats_scope_baseX(M,r);return from({prefix:e,name:r,encode:tr,decode:ir=>coerce(rr(ir))})}function decode$2(r,e,M,tr){let rr=r.length;for(;r[rr-1]==="=";)--rr;const ir=new Uint8Array(rr*M/8|0);let lr=0,dr=0,mr=0;for(let hr=0;hr<rr;++hr){const fr=e[r[hr]];if(fr===void 0)throw new SyntaxError(`Non-${tr} character`);dr=dr<<M|fr,lr+=M,lr>=8&&(lr-=8,ir[mr++]=255&dr>>lr)}if(lr>=M||(255&dr<<8-lr)!==0)throw new SyntaxError("Unexpected end of data");return ir}function encode$1(r,e,M){const tr=e[e.length-1]==="=",rr=(1<<M)-1;let ir="",lr=0,dr=0;for(let mr=0;mr<r.length;++mr)for(dr=dr<<8|r[mr],lr+=8;lr>M;)lr-=M,ir+=e[rr&dr>>lr];if(lr!==0&&(ir+=e[rr&dr<<M-lr]),tr)for(;(ir.length*M&7)!==0;)ir+="=";return ir}function createAlphabetIdx(r){const e={};for(let M=0;M<r.length;++M)e[r[M]]=M;return e}function rfc4648({name:r,prefix:e,bitsPerChar:M,alphabet:tr}){const rr=createAlphabetIdx(tr);return from({prefix:e,name:r,encode(ir){return encode$1(ir,tr,M)},decode(ir){return decode$2(ir,rr,M,r)}})}const base10=baseX({prefix:"9",name:"base10",alphabet:"0123456789"}),base10$1=Object.freeze(Object.defineProperty({__proto__:null,base10},Symbol.toStringTag,{value:"Module"})),base16=rfc4648({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),base16upper=rfc4648({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4}),base16$1=Object.freeze(Object.defineProperty({__proto__:null,base16,base16upper},Symbol.toStringTag,{value:"Module"})),base2=rfc4648({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1}),base2$1=Object.freeze(Object.defineProperty({__proto__:null,base2},Symbol.toStringTag,{value:"Module"})),alphabet=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),alphabetBytesToChars=alphabet.reduce((r,e,M)=>(r[M]=e,r),[]),alphabetCharsToBytes=alphabet.reduce((r,e,M)=>{const tr=e.codePointAt(0);if(tr==null)throw new Error(`Invalid character: ${e}`);return r[tr]=M,r},[]);function encode(r){return r.reduce((e,M)=>(e+=alphabetBytesToChars[M],e),"")}function decode$1(r){const e=[];for(const M of r){const tr=M.codePointAt(0);if(tr==null)throw new Error(`Invalid character: ${M}`);const rr=alphabetCharsToBytes[tr];if(rr==null)throw new Error(`Non-base256emoji character: ${M}`);e.push(rr)}return new Uint8Array(e)}const base256emoji=from({prefix:"🚀",name:"base256emoji",encode,decode:decode$1}),base256emoji$1=Object.freeze(Object.defineProperty({__proto__:null,base256emoji},Symbol.toStringTag,{value:"Module"})),base32=rfc4648({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),base32upper=rfc4648({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),base32pad=rfc4648({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),base32padupper=rfc4648({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),base32hex=rfc4648({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),base32hexupper=rfc4648({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),base32hexpad=rfc4648({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),base32hexpadupper=rfc4648({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),base32z=rfc4648({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5}),base32$1=Object.freeze(Object.defineProperty({__proto__:null,base32,base32hex,base32hexpad,base32hexpadupper,base32hexupper,base32pad,base32padupper,base32upper,base32z},Symbol.toStringTag,{value:"Module"})),base36=baseX({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),base36upper=baseX({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"}),base36$1=Object.freeze(Object.defineProperty({__proto__:null,base36,base36upper},Symbol.toStringTag,{value:"Module"})),base58btc=baseX({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),base58flickr=baseX({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"}),base58=Object.freeze(Object.defineProperty({__proto__:null,base58btc,base58flickr},Symbol.toStringTag,{value:"Module"})),base64=rfc4648({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),base64pad=rfc4648({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),base64url=rfc4648({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),base64urlpad=rfc4648({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6}),base64$1=Object.freeze(Object.defineProperty({__proto__:null,base64,base64pad,base64url,base64urlpad},Symbol.toStringTag,{value:"Module"})),base8=rfc4648({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3}),base8$1=Object.freeze(Object.defineProperty({__proto__:null,base8},Symbol.toStringTag,{value:"Module"})),identity=from({prefix:"\0",name:"identity",encode:r=>toString$1(r),decode:r=>fromString$1(r)}),identityBase=Object.freeze(Object.defineProperty({__proto__:null,identity},Symbol.toStringTag,{value:"Module"})),bases={...identityBase,...base2$1,...base8$1,...base10$1,...base16$1,...base32$1,...base36$1,...base58,...base64$1,...base256emoji$1};function createCodec(r,e,M,tr){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:M},decoder:{decode:tr}}}const string=createCodec("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),ascii=createCodec("ascii","a",r=>{let e="a";for(let M=0;M<r.length;M++)e+=String.fromCharCode(r[M]);return e},r=>{r=r.substring(1);const e=allocUnsafe(r.length);for(let M=0;M<r.length;M++)e[M]=r.charCodeAt(M);return e}),BASES={utf8:string,"utf-8":string,hex:bases.base16,latin1:ascii,ascii,binary:ascii,...bases};function fromString(r,e="utf8"){const M=BASES[e];if(M==null)throw new Error(`Unsupported encoding "${e}"`);return M.decoder.decode(`${M.prefix}${r}`)}function toString(r,e="utf8"){const M=BASES[e];if(M==null)throw new Error(`Unsupported encoding "${e}"`);return M.encoder.encode(r).substring(1)}var encode_1,hasRequiredEncode;function requireEncode(){if(hasRequiredEncode)return encode_1;hasRequiredEncode=1,encode_1=tr;var r=128,e=-128,M=Math.pow(2,31);function tr(rr,ir,lr){if(Number.MAX_SAFE_INTEGER&&rr>Number.MAX_SAFE_INTEGER)throw tr.bytes=0,new RangeError("Could not encode varint");ir=ir||[],lr=lr||0;for(var dr=lr;rr>=M;)ir[lr++]=rr&255|r,rr/=128;for(;rr&e;)ir[lr++]=rr&255|r,rr>>>=7;return ir[lr]=rr|0,tr.bytes=lr-dr+1,ir}return encode_1}var decode,hasRequiredDecode;function requireDecode(){if(hasRequiredDecode)return decode;hasRequiredDecode=1,decode=M;var r=128,e=127;function M(tr,lr){var ir=0,lr=lr||0,dr=0,mr=lr,hr,fr=tr.length;do{if(mr>=fr||dr>49)throw M.bytes=0,new RangeError("Could not decode varint");hr=tr[mr++],ir+=dr<28?(hr&e)<<dr:(hr&e)*Math.pow(2,dr),dr+=7}while(hr>=r);return M.bytes=mr-lr,ir}return decode}var length,hasRequiredLength;function requireLength(){if(hasRequiredLength)return length;hasRequiredLength=1;var r=Math.pow(2,7),e=Math.pow(2,14),M=Math.pow(2,21),tr=Math.pow(2,28),rr=Math.pow(2,35),ir=Math.pow(2,42),lr=Math.pow(2,49),dr=Math.pow(2,56),mr=Math.pow(2,63);return length=function(hr){return hr<r?1:hr<e?2:hr<M?3:hr<tr?4:hr<rr?5:hr<ir?6:hr<lr?7:hr<dr?8:hr<mr?9:10},length}var varint$1,hasRequiredVarint;function requireVarint(){return hasRequiredVarint||(hasRequiredVarint=1,varint$1={encode:requireEncode(),decode:requireDecode(),encodingLength:requireLength()}),varint$1}var varintExports=requireVarint();const varint=getDefaultExportFromCjs(varintExports);function keyToDidDoc$4(r,e){const M=`did:key:${e}`,tr=`${M}#${e}`;return{id:M,verificationMethod:[{id:tr,type:"Secp256k1VerificationKey2018",controller:M,publicKeyBase58:toString(r,"base58btc")}],authentication:[tr],assertionMethod:[tr],capabilityDelegation:[tr],capabilityInvocation:[tr]}}const secp256k1=Object.freeze(Object.defineProperty({__proto__:null,keyToDidDoc:keyToDidDoc$4},Symbol.toStringTag,{value:"Module"}));function encodeKey(r){const e=new Uint8Array(r.length+2);return e[0]=236,e[1]=1,e.set(r,2),`z${toString(e,"base58btc")}`}function keyToDidDoc$3(r,e){const M=`did:key:${e}`,tr=`${M}#${e}`,rr=edwardsToMontgomeryPub(r),ir=`${M}#${encodeKey(rr)}`;return{id:M,verificationMethod:[{id:tr,type:"Ed25519VerificationKey2018",controller:M,publicKeyBase58:toString(r,"base58btc")}],authentication:[tr],assertionMethod:[tr],capabilityDelegation:[tr],capabilityInvocation:[tr],keyAgreement:[{id:ir,type:"X25519KeyAgreementKey2019",controller:M,publicKeyBase58:toString(rr,"base58btc")}]}}const ed25519=Object.freeze(Object.defineProperty({__proto__:null,keyToDidDoc:keyToDidDoc$3},Symbol.toStringTag,{value:"Module"})),numberToVarBytesBE=numberToVarBytesBE$1;function keyToDidDoc$2(r,e){const M=`did:key:${e}`,tr=`${M}#${e}`,rr=p256.ProjectivePoint.fromHex(normalizePubKeyBytes$1(r));return{id:M,verificationMethod:[{id:tr,type:"JsonWebKey2020",controller:M,publicKeyJwk:{kty:"EC",crv:"P-256",x:toString(numberToVarBytesBE(rr.x),"base64url"),y:toString(numberToVarBytesBE(rr.y),"base64url")}}],authentication:[tr],assertionMethod:[tr],capabilityDelegation:[tr],capabilityInvocation:[tr]}}function normalizePubKeyBytes$1(r){return r.length===64?concat([new Uint8Array([4]),r]):r}const secp256r1=Object.freeze(Object.defineProperty({__proto__:null,keyToDidDoc:keyToDidDoc$2},Symbol.toStringTag,{value:"Module"}));const p384=p384$1;function keyToDidDoc$1(r,e){const M=`did:key:${e}`,tr=`${M}#${e}`,rr=p384.ProjectivePoint.fromHex(normalizePubKeyBytes(r));return{id:M,verificationMethod:[{id:tr,type:"JsonWebKey2020",controller:M,publicKeyJwk:{kty:"EC",crv:"P-384",x:toString(numberToVarBytesBE(rr.x),"base64url"),y:toString(numberToVarBytesBE(rr.y),"base64url")}}],authentication:[tr],assertionMethod:[tr],capabilityDelegation:[tr],capabilityInvocation:[tr]}}function normalizePubKeyBytes(r){return r.length===96?concat([new Uint8Array([4]),r]):r}const secp384r1=Object.freeze(Object.defineProperty({__proto__:null,keyToDidDoc:keyToDidDoc$1},Symbol.toStringTag,{value:"Module"}));const p521=p521$1;function keyToDidDoc(r,e){const M=`did:key:${e}`,tr=`${M}#${e}`,rr=p521.ProjectivePoint.fromHex(r);return{id:M,verificationMethod:[{id:tr,type:"JsonWebKey2020",controller:M,publicKeyJwk:{kty:"EC",crv:"P-521",x:toString(numberToVarBytesBE(rr.x),"base64url"),y:toString(numberToVarBytesBE(rr.y),"base64url")}}],authentication:[tr],assertionMethod:[tr],capabilityDelegation:[tr],capabilityInvocation:[tr]}}const secp521r1=Object.freeze(Object.defineProperty({__proto__:null,keyToDidDoc},Symbol.toStringTag,{value:"Module"})),DID_LD_JSON="application/did+ld+json",DID_JSON="application/did+json",prefixToDriverMap={231:secp256k1,237:ed25519,4608:secp256r1,4609:secp384r1,4610:secp521r1};function getResolver$1(){return{key:async(r,e,M,tr)=>{const rr=tr.accept||DID_JSON,ir={didResolutionMetadata:{contentType:rr},didDocument:null,didDocumentMetadata:{}};try{const lr=base58btc.decode(e.id),dr=varint.decode(lr),mr=lr.slice(varint.decode.bytes),hr=await prefixToDriverMap[dr].keyToDidDoc(mr,e.id);rr===DID_LD_JSON?(hr["@context"]="https://w3id.org/did/v1",ir.didDocument=hr):rr===DID_JSON?ir.didDocument=hr:(delete ir.didResolutionMetadata.contentType,ir.didResolutionMetadata.error="representationNotSupported")}catch(lr){ir.didResolutionMetadata.error="invalidDid",ir.didResolutionMetadata.message=lr.toString()}return ir}}}const JWT_ALG="ES256K",JWT_FORMAT=/^[A-Za-z0-9-_=]+\.[A-Za-z0-9-_=]+\.?[A-Za-z0-9-_.+/=]*$/,DEFAULT_CONTEXT="https://www.w3.org/2018/credentials/v1",DEFAULT_VC_TYPE="VerifiableCredential",DEFAULT_JWT_PROOF_TYPE="JwtProof2020",additionalPropNames=["evidence","termsOfUse","refreshService","credentialSchema","credentialStatus"];function asArray(r){return Array.isArray(r)?r:[r]}function deepCopy(r){return Array.isArray(r)?r.map(e=>deepCopy(e)):r instanceof Date?new Date(r.getTime()):r&&typeof r=="object"?Object.getOwnPropertyNames(r).reduce((e,M)=>(Object.defineProperty(e,M,Object.getOwnPropertyDescriptor(r,M)),e[M]=deepCopy(r[M]),e),Object.create(Object.getPrototypeOf(r))):r}function notEmpty(r){return r!=null}function cleanUndefined(r){if(typeof r!="object"||r===null)return r;const e={...r};return Object.keys(e).forEach(M=>e[M]===void 0&&delete e[M]),e}function isLegacyAttestationFormat(r){return typeof r=="object"&&r.sub&&r.iss&&r.claim&&r.iat}function attestationToVcFormat(r){const{iat:e,nbf:M,claim:tr,vc:rr,...ir}=r,lr={...ir,nbf:M||e,vc:{"@context":[DEFAULT_CONTEXT],type:[DEFAULT_VC_TYPE],credentialSubject:tr}};return rr&&(r.issVc=rr),lr}function normalizeJwtCredentialPayload(r,e=!0){let M=deepCopy(r);isLegacyAttestationFormat(r)&&(M=attestationToVcFormat(r)),M.credentialSubject={...r.credentialSubject,...r.vc?.credentialSubject},r.sub&&!r.credentialSubject?.id&&M.credentialSubject&&(M.credentialSubject.id=r.sub,e&&delete M.sub),e&&delete M.vc?.credentialSubject,(typeof r.issuer>"u"||typeof r.issuer=="object")&&(M.issuer=cleanUndefined({id:r.iss,...r.issuer}),e&&!r.issuer?.id&&delete M.iss),!r.id&&r.jti&&(M.id=M.id||M.jti,e&&delete M.jti);const tr=[...asArray(M.type),...asArray(M.vc?.type)].filter(notEmpty);M.type=[...new Set(tr)],e&&delete M.vc?.type;for(const ir of additionalPropNames)r.vc&&r.vc[ir]&&(M[ir]||(M[ir]=r.vc[ir]),e&&delete M.vc[ir]);const rr=[...asArray(r.context),...asArray(r["@context"]),...asArray(r.vc?.["@context"])].filter(notEmpty);return M["@context"]=[...new Set(rr)],e&&(delete M.context,delete M.vc?.["@context"]),!r.issuanceDate&&(r.iat||r.nbf)&&(M.issuanceDate=new Date((r.nbf||r.iat)*1e3).toISOString(),e&&(r.nbf?delete M.nbf:delete M.iat)),!r.expirationDate&&r.exp&&(M.expirationDate=new Date(r.exp*1e3).toISOString(),e&&delete M.exp),e&&M.vc&&Object.keys(M.vc).length===0&&delete M.vc,M}function normalizeJwtCredential(r,e=!0){let M;try{M=decodeJWT(r)}catch{throw new TypeError("unknown credential format")}return{...normalizeJwtCredentialPayload(M.payload,e),proof:{type:DEFAULT_JWT_PROOF_TYPE,jwt:r}}}function normalizeCredential(r,e=!0){if(typeof r=="string"){if(JWT_FORMAT.test(r))return normalizeJwtCredential(r,e);{let M;try{M=JSON.parse(r)}catch{throw new TypeError("unknown credential format")}return normalizeCredential(M,e)}}else return r.proof?.jwt?deepCopy({...normalizeJwtCredential(r.proof.jwt,e),proof:r.proof}):{proof:{},...normalizeJwtCredentialPayload(r,e)}}function transformCredentialInput(r,e=!0){if(Array.isArray(r.credentialSubject))throw Error("credentialSubject of type array not supported");const M=deepCopy({vc:{...r.vc},...r});M.vc=M.vc;const tr={...r.credentialSubject,...r.vc?.credentialSubject};r.sub||(M.sub=r.credentialSubject?.id,e&&delete tr.id);const rr=[...asArray(r.context),...asArray(r["@context"]),...asArray(r.vc?.["@context"])].filter(notEmpty);M.vc["@context"]=[...new Set(rr)],e&&(delete M.context,delete M["@context"]);const ir=[...asArray(r.type),...asArray(r.vc?.type)].filter(notEmpty);if(M.vc.type=[...new Set(ir)],e&&delete M.type,r.id&&Object.getOwnPropertyNames(r).indexOf("jti")===-1&&(M.jti=r.id,e&&delete M.id),r.issuanceDate&&Object.getOwnPropertyNames(r).indexOf("nbf")===-1){const lr=Date.parse(r.issuanceDate);isNaN(lr)||(M.nbf=Math.floor(lr/1e3),e&&delete M.issuanceDate)}if(r.expirationDate&&Object.getOwnPropertyNames(r).indexOf("exp")===-1){const lr=Date.parse(r.expirationDate);isNaN(lr)||(M.exp=Math.floor(lr/1e3),e&&delete M.expirationDate)}r.issuer&&Object.getOwnPropertyNames(r).indexOf("iss")===-1&&(typeof r.issuer=="object"?(M.iss=r.issuer?.id,e&&(delete M.issuer.id,Object.keys(M.issuer).length===0&&delete M.issuer)):typeof r.issuer=="string"&&(M.iss=r.iss||""+r.issuer,e&&delete M.issuer)),M.vc.credentialSubject=tr,e&&delete M.credentialSubject;for(const lr of additionalPropNames)r[lr]&&(M.vc[lr]||(M.vc[lr]=r[lr]),e&&delete M[lr]);return M}const VC_ERROR={SCHEMA_ERROR:"schema_error"};function isDateObject(r){return r&&!isNaN(r)&&Object.prototype.toString.call(r)==="[object Date]"}function validateTimestamp(r){if(typeof r=="number"){if(!(Number.isInteger(r)&&r<1e11))throw new TypeError(`${VC_ERROR.SCHEMA_ERROR}: "${r}" is not a unix timestamp in seconds`)}else if(typeof r=="string")validateTimestamp(Math.floor(new Date(r).valueOf()/1e3));else if(!isDateObject(r))throw new TypeError(`${VC_ERROR.SCHEMA_ERROR}: "${r}" is not a valid time`)}function validateContext(r){const e=asArray(r);if(e.length<1||e.indexOf(DEFAULT_CONTEXT)===-1)throw new TypeError(`${VC_ERROR.SCHEMA_ERROR}: @context is missing default context "${DEFAULT_CONTEXT}"`)}function validateVcType(r){const e=asArray(r);if(e.length<1||e.indexOf(DEFAULT_VC_TYPE)===-1)throw new TypeError(`${VC_ERROR.SCHEMA_ERROR}: type is missing default "${DEFAULT_VC_TYPE}"`)}function validateCredentialSubject(r){if(Object.keys(r).length===0)throw new TypeError(`${VC_ERROR.SCHEMA_ERROR}: credentialSubject must not be empty`)}const verifyCredential=function(r,e,M={}){try{const tr=M?.policies?.issuanceDate===!1?!1:void 0,rr=M?.policies?.expirationDate===!1?!1:void 0;return M={...M,policies:{...M?.policies,nbf:tr,exp:rr,iat:tr}},Promise.resolve(verifyJWT(r,{resolver:e,...M})).then(function(ir){return ir.verifiableCredential=normalizeCredential(ir.jwt,M?.removeOriginalFields),M?.policies?.format!==!1&&validateCredentialPayload(ir.verifiableCredential),ir})}catch(tr){return Promise.reject(tr)}},createVerifiableCredentialJwt=function(r,e,M={}){try{const tr={iat:void 0,...transformCredentialInput(r,M.removeOriginalFields)};if(validateJwtCredentialPayload(tr),Array.isArray(e)){const rr=e[0].did,ir=[];for(const lr of e){if(lr.did!==rr)throw new Error("All issuers must be the same did to comply with the Verifiable Conditions spec");ir.push({issuer:lr.did||tr.iss||"",signer:lr.signer,alg:lr.alg||M.header?.alg||JWT_ALG})}return Promise.resolve(createMultisignatureJWT(tr,{...M},ir))}else return Promise.resolve(createJWT(tr,{...M,issuer:e.did||tr.iss||"",signer:e.signer},{...M.header,alg:e.alg||M.header?.alg||JWT_ALG}))}catch(tr){return Promise.reject(tr)}};function validateJwtCredentialPayload(r){validateContext(r.vc["@context"]),validateVcType(r.vc.type),validateCredentialSubject(r.vc.credentialSubject),r.nbf&&validateTimestamp(r.nbf),r.exp&&validateTimestamp(r.exp)}function validateCredentialPayload(r){validateContext(r["@context"]),validateVcType(r.type),validateCredentialSubject(r.credentialSubject),r.issuanceDate&&validateTimestamp(r.issuanceDate),r.expirationDate&&validateTimestamp(r.expirationDate)}function parsePkhDid(r){const e=r.split(":");if(!r.startsWith("did:pkh:")||e.length!==5)throw new Error("Invalid pkh did");const[,,M,tr,rr]=e;if(!rr.startsWith("0x"))throw new Error(`Invalid address: ${rr}`);const ir=Number(tr);if(isNaN(ir))throw new Error(`Invalid chain id: ${tr}`);return{chainId:ir,networkId:M,address:rr}}async function verifyAuthBearerToken(r){try{const e=parseInt(String(Date.now()/1e3)),M=await verifyCredential(r,getResolver(),{policies:{now:parseInt(String(Date.now()/1e3)),expirationDate:!0,issuanceDate:!0}});return M.payload.exp&&M.payload.exp<e?!1:(assertIsAuthCredential(M),M)}catch(e){return console.error(e),!1}}function assertIsAuthCredential(r){const e=Object.keys(r.verifiableCredential.credentialSubject);if(!["address","chainId","networkId"].every(M=>e.includes(M)))throw new Error("Invalid Auth Credential Subject:"+JSON.stringify(r.verifiableCredential.credentialSubject,null,2))}async function createAuthBearerToken(r,e,M,tr,rr){const ir={sub:tr.did,vc:{"@context":["https://www.w3.org/2018/credentials/v1"],type:["VerifiableCredential"],credentialSubject:{chainId:r,networkId:e,address:M}},aud:rr?.aud};return await createVerifiableCredentialJwt(ir,tr,{expiresIn:rr?.expiresIn})}const getResolver=()=>{const r=getResolver$1();if(!r)throw new Error("Failed to get key resolver");return new Resolver(r)};var compare_1,hasRequiredCompare;function requireCompare(){if(hasRequiredCompare)return compare_1;hasRequiredCompare=1;function r(e,M){for(let tr=0;tr<e.byteLength;tr++){if(e[tr]<M[tr])return-1;if(e[tr]>M[tr])return 1}return e.byteLength>M.byteLength?1:e.byteLength<M.byteLength?-1:0}return compare_1=r,compare_1}var concat_1,hasRequiredConcat;function requireConcat(){if(hasRequiredConcat)return concat_1;hasRequiredConcat=1;function r(e,M){M||(M=e.reduce((ir,lr)=>ir+lr.length,0));const tr=new Uint8Array(M);let rr=0;for(const ir of e)tr.set(ir,rr),rr+=ir.length;return tr}return concat_1=r,concat_1}var equals_1,hasRequiredEquals;function requireEquals(){if(hasRequiredEquals)return equals_1;hasRequiredEquals=1;function r(e,M){if(e===M)return!0;if(e.byteLength!==M.byteLength)return!1;for(let tr=0;tr<e.byteLength;tr++)if(e[tr]!==M[tr])return!1;return!0}return equals_1=r,equals_1}const require$$0=getAugmentedNamespace(basics);var bases_1,hasRequiredBases;function requireBases(){if(hasRequiredBases)return bases_1;hasRequiredBases=1;const{bases:r}=require$$0;function e(ir,lr,dr,mr){return{name:ir,prefix:lr,encoder:{name:ir,prefix:lr,encode:dr},decoder:{decode:mr}}}const M=e("utf8","u",ir=>"u"+new TextDecoder("utf8").decode(ir),ir=>new TextEncoder().encode(ir.substring(1))),tr=e("ascii","a",ir=>{let lr="a";for(let dr=0;dr<ir.length;dr++)lr+=String.fromCharCode(ir[dr]);return lr},ir=>{ir=ir.substring(1);const lr=new Uint8Array(ir.length);for(let dr=0;dr<ir.length;dr++)lr[dr]=ir.charCodeAt(dr);return lr});return bases_1={utf8:M,"utf-8":M,hex:r.base16,latin1:tr,ascii:tr,binary:tr,...r},bases_1}var fromString_1,hasRequiredFromString;function requireFromString(){if(hasRequiredFromString)return fromString_1;hasRequiredFromString=1;const r=requireBases();function e(M,tr="utf8"){const rr=r[tr];if(!rr)throw new Error(`Unsupported encoding "${tr}"`);return rr.decoder.decode(`${rr.prefix}${M}`)}return fromString_1=e,fromString_1}var toString_1,hasRequiredToString;function requireToString(){if(hasRequiredToString)return toString_1;hasRequiredToString=1;const r=requireBases();function e(M,tr="utf8"){const rr=r[tr];if(!rr)throw new Error(`Unsupported encoding "${tr}"`);return rr.encoder.encode(M).substring(1)}return toString_1=e,toString_1}var xor_1,hasRequiredXor;function requireXor(){if(hasRequiredXor)return xor_1;hasRequiredXor=1;function r(e,M){if(e.length!==M.length)throw new Error("Inputs should have the same length");const tr=new Uint8Array(e.length);for(let rr=0;rr<e.length;rr++)tr[rr]=e[rr]^M[rr];return tr}return xor_1=r,xor_1}var uint8arrays,hasRequiredUint8arrays;function requireUint8arrays(){return hasRequiredUint8arrays||(hasRequiredUint8arrays=1,uint8arrays={compare:requireCompare(),concat:requireConcat(),equals:requireEquals(),fromString:requireFromString(),toString:requireToString(),xor:requireXor()}),uint8arrays}var uint8arraysExports=requireUint8arrays();const require$$1$1=getAugmentedNamespace(concat$2),require$$1=getAugmentedNamespace(toString$3),require$$2=getAugmentedNamespace(fromString$3);var util,hasRequiredUtil;function requireUtil(){if(hasRequiredUtil)return util;hasRequiredUtil=1;const r=requireVarint(),{toString:e}=require$$1,{fromString:M}=require$$2;util={numberToUint8Array:rr,uint8ArrayToNumber:tr,varintUint8ArrayEncode:ir,varintEncode:lr};function tr(dr){return parseInt(e(dr,"base16"),16)}function rr(dr){let mr=dr.toString(16);return mr.length%2===1&&(mr="0"+mr),M(mr,"base16")}function ir(dr){return Uint8Array.from(r.encode(tr(dr)))}function lr(dr){return Uint8Array.from(r.encode(dr))}return util}var generatedTable,hasRequiredGeneratedTable;function requireGeneratedTable(){return hasRequiredGeneratedTable||(hasRequiredGeneratedTable=1,generatedTable={baseTable:Object.freeze({identity:0,cidv1:1,cidv2:2,cidv3:3,ip4:4,tcp:6,sha1:17,"sha2-256":18,"sha2-512":19,"sha3-512":20,"sha3-384":21,"sha3-256":22,"sha3-224":23,"shake-128":24,"shake-256":25,"keccak-224":26,"keccak-256":27,"keccak-384":28,"keccak-512":29,blake3:30,dccp:33,"murmur3-128":34,"murmur3-32":35,ip6:41,ip6zone:42,path:47,multicodec:48,multihash:49,multiaddr:50,multibase:51,dns:53,dns4:54,dns6:55,dnsaddr:56,protobuf:80,cbor:81,raw:85,"dbl-sha2-256":86,rlp:96,bencode:99,"dag-pb":112,"dag-cbor":113,"libp2p-key":114,"git-raw":120,"torrent-info":123,"torrent-file":124,"leofcoin-block":129,"leofcoin-tx":130,"leofcoin-pr":131,sctp:132,"dag-jose":133,"dag-cose":134,"eth-block":144,"eth-block-list":145,"eth-tx-trie":146,"eth-tx":147,"eth-tx-receipt-trie":148,"eth-tx-receipt":149,"eth-state-trie":150,"eth-account-snapshot":151,"eth-storage-trie":152,"eth-receipt-log-trie":153,"eth-reciept-log":154,"bitcoin-block":176,"bitcoin-tx":177,"bitcoin-witness-commitment":178,"zcash-block":192,"zcash-tx":193,"caip-50":202,streamid:206,"stellar-block":208,"stellar-tx":209,md4:212,md5:213,bmt:214,"decred-block":224,"decred-tx":225,"ipld-ns":226,"ipfs-ns":227,"swarm-ns":228,"ipns-ns":229,zeronet:230,"secp256k1-pub":231,"bls12_381-g1-pub":234,"bls12_381-g2-pub":235,"x25519-pub":236,"ed25519-pub":237,"bls12_381-g1g2-pub":238,"dash-block":240,"dash-tx":241,"swarm-manifest":250,"swarm-feed":251,udp:273,"p2p-webrtc-star":275,"p2p-webrtc-direct":276,"p2p-stardust":277,"p2p-circuit":290,"dag-json":297,udt:301,utp:302,unix:400,thread:406,p2p:421,ipfs:421,https:443,onion:444,onion3:445,garlic64:446,garlic32:447,tls:448,noise:454,quic:460,ws:477,wss:478,"p2p-websocket-star":479,http:480,"swhid-1-snp":496,json:512,messagepack:513,"libp2p-peer-record":769,"libp2p-relay-rsvp":770,"car-index-sorted":1024,"sha2-256-trunc254-padded":4114,"ripemd-128":4178,"ripemd-160":4179,"ripemd-256":4180,"ripemd-320":4181,x11:4352,"p256-pub":4608,"p384-pub":4609,"p521-pub":4610,"ed448-pub":4611,"x448-pub":4612,"ed25519-priv":4864,"secp256k1-priv":4865,"x25519-priv":4866,kangarootwelve:7425,"sm3-256":21325,"blake2b-8":45569,"blake2b-16":45570,"blake2b-24":45571,"blake2b-32":45572,"blake2b-40":45573,"blake2b-48":45574,"blake2b-56":45575,"blake2b-64":45576,"blake2b-72":45577,"blake2b-80":45578,"blake2b-88":45579,"blake2b-96":45580,"blake2b-104":45581,"blake2b-112":45582,"blake2b-120":45583,"blake2b-128":45584,"blake2b-136":45585,"blake2b-144":45586,"blake2b-152":45587,"blake2b-160":45588,"blake2b-168":45589,"blake2b-176":45590,"blake2b-184":45591,"blake2b-192":45592,"blake2b-200":45593,"blake2b-208":45594,"blake2b-216":45595,"blake2b-224":45596,"blake2b-232":45597,"blake2b-240":45598,"blake2b-248":45599,"blake2b-256":45600,"blake2b-264":45601,"blake2b-272":45602,"blake2b-280":45603,"blake2b-288":45604,"blake2b-296":45605,"blake2b-304":45606,"blake2b-312":45607,"blake2b-320":45608,"blake2b-328":45609,"blake2b-336":45610,"blake2b-344":45611,"blake2b-352":45612,"blake2b-360":45613,"blake2b-368":45614,"blake2b-376":45615,"blake2b-384":45616,"blake2b-392":45617,"blake2b-400":45618,"blake2b-408":45619,"blake2b-416":45620,"blake2b-424":45621,"blake2b-432":45622,"blake2b-440":45623,"blake2b-448":45624,"blake2b-456":45625,"blake2b-464":45626,"blake2b-472":45627,"blake2b-480":45628,"blake2b-488":45629,"blake2b-496":45630,"blake2b-504":45631,"blake2b-512":45632,"blake2s-8":45633,"blake2s-16":45634,"blake2s-24":45635,"blake2s-32":45636,"blake2s-40":45637,"blake2s-48":45638,"blake2s-56":45639,"blake2s-64":45640,"blake2s-72":45641,"blake2s-80":45642,"blake2s-88":45643,"blake2s-96":45644,"blake2s-104":45645,"blake2s-112":45646,"blake2s-120":45647,"blake2s-128":45648,"blake2s-136":45649,"blake2s-144":45650,"blake2s-152":45651,"blake2s-160":45652,"blake2s-168":45653,"blake2s-176":45654,"blake2s-184":45655,"blake2s-192":45656,"blake2s-200":45657,"blake2s-208":45658,"blake2s-216":45659,"blake2s-224":45660,"blake2s-232":45661,"blake2s-240":45662,"blake2s-248":45663,"blake2s-256":45664,"skein256-8":45825,"skein256-16":45826,"skein256-24":45827,"skein256-32":45828,"skein256-40":45829,"skein256-48":45830,"skein256-56":45831,"skein256-64":45832,"skein256-72":45833,"skein256-80":45834,"skein256-88":45835,"skein256-96":45836,"skein256-104":45837,"skein256-112":45838,"skein256-120":45839,"skein256-128":45840,"skein256-136":45841,"skein256-144":45842,"skein256-152":45843,"skein256-160":45844,"skein256-168":45845,"skein256-176":45846,"skein256-184":45847,"skein256-192":45848,"skein256-200":45849,"skein256-208":45850,"skein256-216":45851,"skein256-224":45852,"skein256-232":45853,"skein256-240":45854,"skein256-248":45855,"skein256-256":45856,"skein512-8":45857,"skein512-16":45858,"skein512-24":45859,"skein512-32":45860,"skein512-40":45861,"skein512-48":45862,"skein512-56":45863,"skein512-64":45864,"skein512-72":45865,"skein512-80":45866,"skein512-88":45867,"skein512-96":45868,"skein512-104":45869,"skein512-112":45870,"skein512-120":45871,"skein512-128":45872,"skein512-136":45873,"skein512-144":45874,"skein512-152":45875,"skein512-160":45876,"skein512-168":45877,"skein512-176":45878,"skein512-184":45879,"skein512-192":45880,"skein512-200":45881,"skein512-208":45882,"skein512-216":45883,"skein512-224":45884,"skein512-232":45885,"skein512-240":45886,"skein512-248":45887,"skein512-256":45888,"skein512-264":45889,"skein512-272":45890,"skein512-280":45891,"skein512-288":45892,"skein512-296":45893,"skein512-304":45894,"skein512-312":45895,"skein512-320":45896,"skein512-328":45897,"skein512-336":45898,"skein512-344":45899,"skein512-352":45900,"skein512-360":45901,"skein512-368":45902,"skein512-376":45903,"skein512-384":45904,"skein512-392":45905,"skein512-400":45906,"skein512-408":45907,"skein512-416":45908,"skein512-424":45909,"skein512-432":45910,"skein512-440":45911,"skein512-448":45912,"skein512-456":45913,"skein512-464":45914,"skein512-472":45915,"skein512-480":45916,"skein512-488":45917,"skein512-496":45918,"skein512-504":45919,"skein512-512":45920,"skein1024-8":45921,"skein1024-16":45922,"skein1024-24":45923,"skein1024-32":45924,"skein1024-40":45925,"skein1024-48":45926,"skein1024-56":45927,"skein1024-64":45928,"skein1024-72":45929,"skein1024-80":45930,"skein1024-88":45931,"skein1024-96":45932,"skein1024-104":45933,"skein1024-112":45934,"skein1024-120":45935,"skein1024-128":45936,"skein1024-136":45937,"skein1024-144":45938,"skein1024-152":45939,"skein1024-160":45940,"skein1024-168":45941,"skein1024-176":45942,"skein1024-184":45943,"skein1024-192":45944,"skein1024-200":45945,"skein1024-208":45946,"skein1024-216":45947,"skein1024-224":45948,"skein1024-232":45949,"skein1024-240":45950,"skein1024-248":45951,"skein1024-256":45952,"skein1024-264":45953,"skein1024-272":45954,"skein1024-280":45955,"skein1024-288":45956,"skein1024-296":45957,"skein1024-304":45958,"skein1024-312":45959,"skein1024-320":45960,"skein1024-328":45961,"skein1024-336":45962,"skein1024-344":45963,"skein1024-352":45964,"skein1024-360":45965,"skein1024-368":45966,"skein1024-376":45967,"skein1024-384":45968,"skein1024-392":45969,"skein1024-400":45970,"skein1024-408":45971,"skein1024-416":45972,"skein1024-424":45973,"skein1024-432":45974,"skein1024-440":45975,"skein1024-448":45976,"skein1024-456":45977,"skein1024-464":45978,"skein1024-472":45979,"skein1024-480":45980,"skein1024-488":45981,"skein1024-496":45982,"skein1024-504":45983,"skein1024-512":45984,"skein1024-520":45985,"skein1024-528":45986,"skein1024-536":45987,"skein1024-544":45988,"skein1024-552":45989,"skein1024-560":45990,"skein1024-568":45991,"skein1024-576":45992,"skein1024-584":45993,"skein1024-592":45994,"skein1024-600":45995,"skein1024-608":45996,"skein1024-616":45997,"skein1024-624":45998,"skein1024-632":45999,"skein1024-640":46e3,"skein1024-648":46001,"skein1024-656":46002,"skein1024-664":46003,"skein1024-672":46004,"skein1024-680":46005,"skein1024-688":46006,"skein1024-696":46007,"skein1024-704":46008,"skein1024-712":46009,"skein1024-720":46010,"skein1024-728":46011,"skein1024-736":46012,"skein1024-744":46013,"skein1024-752":46014,"skein1024-760":46015,"skein1024-768":46016,"skein1024-776":46017,"skein1024-784":46018,"skein1024-792":46019,"skein1024-800":46020,"skein1024-808":46021,"skein1024-816":46022,"skein1024-824":46023,"skein1024-832":46024,"skein1024-840":46025,"skein1024-848":46026,"skein1024-856":46027,"skein1024-864":46028,"skein1024-872":46029,"skein1024-880":46030,"skein1024-888":46031,"skein1024-896":46032,"skein1024-904":46033,"skein1024-912":46034,"skein1024-920":46035,"skein1024-928":46036,"skein1024-936":46037,"skein1024-944":46038,"skein1024-952":46039,"skein1024-960":46040,"skein1024-968":46041,"skein1024-976":46042,"skein1024-984":46043,"skein1024-992":46044,"skein1024-1000":46045,"skein1024-1008":46046,"skein1024-1016":46047,"skein1024-1024":46048,"poseidon-bls12_381-a2-fc1":46081,"poseidon-bls12_381-a2-fc1-sc":46082,"zeroxcert-imprint-256":52753,"fil-commitment-unsealed":61697,"fil-commitment-sealed":61698,"holochain-adr-v0":8417572,"holochain-adr-v1":8483108,"holochain-key-v0":9728292,"holochain-key-v1":9793828,"holochain-sig-v0":10645796,"holochain-sig-v1":10711332,"skynet-ns":11639056,"arweave-ns":11704592})}),generatedTable}var maps,hasRequiredMaps;function requireMaps(){if(hasRequiredMaps)return maps;hasRequiredMaps=1;const{baseTable:r}=requireGeneratedTable(),e=requireUtil().varintEncode,M={},tr={},rr={};for(const lr in r){const dr=lr,mr=r[dr];M[dr]=e(mr);const hr=dr.toUpperCase().replace(/-/g,"_");tr[hr]=mr,rr[mr]||(rr[mr]=dr)}Object.freeze(M),Object.freeze(tr),Object.freeze(rr);const ir=Object.freeze(r);return maps={nameToVarint:M,constantToCode:tr,nameToCode:ir,codeToName:rr},maps}var src,hasRequiredSrc;function requireSrc(){if(hasRequiredSrc)return src;hasRequiredSrc=1;const r=requireVarint(),{concat:e}=require$$1$1,M=requireUtil(),{nameToVarint:tr,constantToCode:rr,nameToCode:ir,codeToName:lr}=requireMaps();function dr(Dr,Ir){let Lr;if(Dr instanceof Uint8Array)Lr=M.varintUint8ArrayEncode(Dr);else if(tr[Dr])Lr=tr[Dr];else throw new Error("multicodec not recognized");return e([Lr,Ir],Lr.length+Ir.length)}function mr(Dr){return r.decode(Dr),Dr.slice(r.decode.bytes)}function hr(Dr){const Ir=r.decode(Dr),Lr=lr[Ir];if(Lr===void 0)throw new Error(`Code "${Ir}" not found`);return Lr}function fr(Dr){return lr[Dr]}function _r(Dr){const Ir=ir[Dr];if(Ir===void 0)throw new Error(`Codec "${Dr}" not found`);return Ir}function gr(Dr){return r.decode(Dr)}function br(Dr){const Ir=tr[Dr];if(Ir===void 0)throw new Error(`Codec "${Dr}" not found`);return Ir}function wr(Dr){return M.varintEncode(Dr)}function xr(Dr){return hr(Dr)}function vr(Dr){return fr(Dr)}function Mr(Dr){return _r(Dr)}function Sr(Dr){return gr(Dr)}function yr(Dr){return br(Dr)}function Ar(Dr){return Array.from(wr(Dr))}return src={addPrefix:dr,rmPrefix:mr,getNameFromData:hr,getNameFromCode:fr,getCodeFromName:_r,getCodeFromData:gr,getVarintFromName:br,getVarintFromCode:wr,getCodec:xr,getName:vr,getNumber:Mr,getCode:Sr,getCodeVarint:yr,getVarint:Ar,...rr,nameToVarint:tr,nameToCode:ir,codeToName:lr},src}var srcExports=requireSrc();const multicodec=getDefaultExportFromCjs(srcExports);function ECPointCompress(r,e){const M=new Uint8Array(r.length+1);return M[0]=2+(e[e.length-1]&1),M.set(r,1),M}function compressedKeyInHexfromRaw(r){const e=r.slice(0,r.length/2),M=r.slice(r.length/2,r.length),tr=uint8arraysExports.fromString(e,"base16"),rr=uint8arraysExports.fromString(M,"base16"),ir=ECPointCompress(tr,rr);return uint8arraysExports.toString(ir,"base16")}function rawKeyInHexfromUncompressed(r){return r.slice(2)}function encodeDIDfromHexString(r,e){const M=uint8arraysExports.fromString(e,"base16");return encodeDIDfromBytes(r,M)}function encodeDIDfromBytes(r,e){const M=multicodec.addPrefix(r,e);return`did:key:${base58btc$1.encode(M)}`}const ECDSA_ALGORITHM={name:"ECDSA",namedCurve:"P-256"},ECDSA_SIGN_ALGORITHM={name:"ECDSA",namedCurve:"P-256",hash:"SHA-256"};function ab2hex(r){return Array.prototype.map.call(new Uint8Array(r),e=>("00"+e.toString(16)).slice(-2)).join("")}async function parseDid(r,e){const M=await e.exportKey("raw",r.publicKey),tr="p256-pub",rr=rawKeyInHexfromUncompressed(ab2hex(M)),ir=compressedKeyInHexfromRaw(rr);return encodeDIDfromHexString(tr,ir)}async function exportKeyPair(r,e){return{publicKey:await e.exportKey("jwk",r.publicKey),privateKey:await e.exportKey("jwk",r.privateKey)}}async function importKeyPair(r,e,M=ECDSA_ALGORITHM){return{publicKey:await e.importKey("jwk",r.publicKey,M,!0,["verify"]),privateKey:await e.importKey("jwk",r.privateKey,M,!0,["sign"])}}async function generateKeyPair(r,e=ECDSA_ALGORITHM){return r.generateKey(e,!0,["sign","verify"])}const RENOWN_NETWORK_ID="eip155",RENOWN_CHAIN_ID=1;class RenownCrypto{#e;#t;#r;did;static algorithm=ECDSA_ALGORITHM;static signAlgorithm=ECDSA_SIGN_ALGORITHM;constructor(e,M,tr,rr){this.#r=e,this.#e=M,this.#t=tr,this.did=rr}get publicKey(){return this.#t.publicKey}async getBearerToken(e,M){return await createAuthBearerToken(Number(RENOWN_CHAIN_ID),RENOWN_NETWORK_ID,e||this.did,this.issuer,M)}async removeDid(){await this.#r.removeKeyPair()}#o(e){return fromString(e,"utf-8")}async sign(e){const M=typeof e=="string"?this.#o(e):e,tr=await this.#e.sign(RenownCrypto.signAlgorithm,this.#t.privateKey,M.buffer);return new Uint8Array(tr)}async verify(e,M){return this.#e.verify({name:"ECDSA",hash:"SHA-256"},this.#t.publicKey,M.buffer,e.buffer)}get issuer(){return{did:this.did,signer:async e=>{const M=await this.sign(typeof e=="string"?new TextEncoder().encode(e):e);return bytesToBase64url(M)},alg:"ES256"}}}class RenownCryptoBuilder{keyPairStorage;subtleCrypto;withKeyPairStorage(e){return this.keyPairStorage=e,this}withSubtleCrypto(e){return this.subtleCrypto=e,this}async build(){if(!this.keyPairStorage)throw new Error("KeyPairStorage is required. Use withKeyPairStorage() to set it.");const e=this.subtleCrypto??globalThis.crypto.subtle,M=await this.#e(e,this.keyPairStorage),tr=await parseDid(M,e);return new RenownCrypto(this.keyPairStorage,e,M,tr)}async#e(e,M){const tr=await M.loadKeyPair();if(tr)return importKeyPair(tr,e);const rr=await generateKeyPair(e),ir=await exportKeyPair(rr,e);return await M.saveKeyPair(ir),rr}}const DEFAULT_DB_NAME="renownKeyDB",STORE_NAME="keyPairs",KEY="keyPair";class BrowserKeyStorage{#e;constructor(e){this.#e=e}static async create(e=DEFAULT_DB_NAME){const M=await BrowserKeyStorage.#t(e);return new BrowserKeyStorage(M)}static#t(e){return new Promise((M,tr)=>{const rr=indexedDB.open(e);rr.onupgradeneeded=ir=>{const lr=ir.target.result;lr.objectStoreNames.contains(STORE_NAME)||lr.createObjectStore(STORE_NAME)},rr.onsuccess=()=>{const ir=rr.result;if(ir.objectStoreNames.contains(STORE_NAME))M(ir);else{const lr=ir.version;ir.close();const dr=indexedDB.open(e,lr+1);dr.onupgradeneeded=mr=>{const hr=mr.target.result;hr.objectStoreNames.contains(STORE_NAME)||hr.createObjectStore(STORE_NAME)},dr.onsuccess=()=>M(dr.result),dr.onerror=()=>tr(dr.error)}},rr.onerror=()=>tr(rr.error)})}#r(e="readwrite"){return this.#e.transaction(STORE_NAME,e).objectStore(STORE_NAME)}async saveKeyPair(e){const tr=this.#r().put(e,KEY);return new Promise((rr,ir)=>{tr.onsuccess=()=>rr(),tr.onerror=()=>ir(new Error("Failed to save key pair"))})}async loadKeyPair(){const M=this.#r("readonly").get(KEY);return new Promise((tr,rr)=>{M.onsuccess=()=>{const ir=M.result;tr(ir)},M.onerror=()=>rr(new Error("Failed to load key pair"))})}async removeKeyPair(){const M=this.#r().delete(KEY);return new Promise((tr,rr)=>{M.onsuccess=()=>tr(),M.onerror=()=>rr(new Error("Failed to remove key pair"))})}}class InvalidSignatureError extends Error{constructor(){super("Invalid signature")}}class RenownCryptoSigner{crypto;appName;user;app;constructor(e,M,tr){this.crypto=e,this.appName=M,this.user=tr,this.app={key:this.crypto.did,name:this.appName}}get publicKey(){return this.crypto.publicKey}async sign(e){return this.crypto.sign(e)}async verify(e,M){if(!await this.crypto.verify(e,M))throw new InvalidSignatureError}async signAction(e,M){const tr=e.context?.prevOpHash??"";return this._signAction(e,tr,M)}async signActionWithResultingState(e,M,tr){const ir=`${e.context?.prevOpHash??""}:${M}`;return this._signAction(e,ir,tr)}async _signAction(e,M,tr){if(tr?.aborted)throw new Error("Signing aborted");const rr=(new Date().getTime()/1e3).toFixed(0),ir=await this.hashAction(e);if(tr?.aborted)throw new Error("Signing aborted");const lr=[rr,this.crypto.did,ir,M],dr=this.buildSignatureMessage(lr),mr=await this.crypto.sign(dr),hr=`0x${this.arrayBufferToHex(mr)}`;if(tr?.aborted)throw new Error("Signing aborted");return[...lr,hr]}async hashAction(e){const M=[e.scope,e.type,JSON.stringify(e.input)].join(""),rr=new TextEncoder().encode(M),ir=await crypto.subtle.digest("SHA-256",rr);return this.arrayBufferToBase64(ir)}buildSignatureMessage(e){const M=e.join(""),tr=`Signed Operation:
191
+ `+M.length.toString();return new TextEncoder().encode(tr+M)}arrayBufferToHex(e){const M=e instanceof Uint8Array?e:new Uint8Array(e);return Array.from(M).map(tr=>tr.toString(16).padStart(2,"0")).join("")}arrayBufferToBase64(e){const M=new Uint8Array(e);let tr="";for(let rr=0;rr<M.length;rr++)tr+=String.fromCharCode(M[rr]);return btoa(tr)}}function createSignatureVerifier(){return async(r,e)=>{const M=r.action.context?.signer;if(!M)return!0;const tr=M.signatures;if(tr.length===0)return!1;const rr=tr[tr.length-1],[ir,lr,dr,mr,hr]=rr;if(lr!==e)return!1;const _r=buildSignatureMessage([ir,lr,dr,mr]),gr=hexToUint8Array(hr),br=await importPublicKey(e);return await crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},br,gr.buffer,_r.buffer)}}function buildSignatureMessage(r){const e=r.join(""),M=`Signed Operation:
192
+ `+e.length.toString();return new TextEncoder().encode(M+e)}function hexToUint8Array(r){const e=r.startsWith("0x")?r.slice(2):r,M=new Uint8Array(e.length/2);for(let tr=0;tr<e.length;tr+=2)M[tr/2]=parseInt(e.substring(tr,tr+2),16);return M}async function importPublicKey(r){const e=extractKeyFromDid(r);return crypto.subtle.importKey("raw",e.buffer,{name:"ECDSA",namedCurve:"P-256"},!0,["verify"])}function extractKeyFromDid(r){const e=r.split(":");if(e.length<3||e[0]!=="did"||e[1]!=="key")throw new Error(`Invalid DID format: ${r}`);const M=e[2];if(!M.startsWith("z"))throw new Error(`Unsupported multibase encoding: ${M[0]}`);const tr=base58Decode(M.slice(1));if(tr[0]!==128||tr[1]!==36)throw new Error("Not a P-256 public key multicodec");const rr=tr.slice(2);return decompressP256PublicKey(rr)}function base58Decode(r){const e="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",M=new Map;for(let rr=0;rr<e.length;rr++)M.set(e[rr],rr);if(r.length===0)return new Uint8Array(0);const tr=[0];for(const rr of r){const ir=M.get(rr);if(ir===void 0)throw new Error(`Invalid base58 character: ${rr}`);let lr=ir;for(let dr=0;dr<tr.length;dr++)lr+=tr[dr]*58,tr[dr]=lr&255,lr>>=8;for(;lr>0;)tr.push(lr&255),lr>>=8}for(const rr of r){if(rr!=="1")break;tr.push(0)}return new Uint8Array(tr.reverse())}function decompressP256PublicKey(r){if(r.length!==33)throw new Error(`Invalid compressed key length: ${r.length}`);const e=r[0];if(e!==2&&e!==3)throw new Error(`Invalid compression prefix: ${e}`);const M=BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),tr=BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),rr=BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b");let ir=BigInt(0);for(let br=1;br<r.length;br++)ir=ir<<BigInt(8)|BigInt(r[br]);const lr=(modPow(ir,BigInt(3),M)+tr*ir+rr)%M;let dr=modPow(lr,(M+BigInt(1))/BigInt(4),M);dr%BigInt(2)===BigInt(0)!==(e===2)&&(dr=M-dr);const fr=new Uint8Array(65);fr[0]=4;const _r=bigIntToBytes(ir,32),gr=bigIntToBytes(dr,32);return fr.set(_r,1),fr.set(gr,33),fr}function modPow(r,e,M){let tr=BigInt(1);for(r=r%M;e>BigInt(0);)e%BigInt(2)===BigInt(1)&&(tr=tr*r%M),e=e>>BigInt(1),r=r*r%M;return tr}function bigIntToBytes(r,e){const M=new Uint8Array(e);for(let tr=e-1;tr>=0;tr--)M[tr]=Number(r&BigInt(255)),r=r>>BigInt(8);return M}class BaseStorage{}class MemoryStorage extends BaseStorage{data=new Map;get(e){return this.data.get(e)}set(e,M){M===void 0?this.data.delete(e):this.data.set(e,M)}delete(e){this.data.delete(e)}}class RenownMemoryStorage extends MemoryStorage{}class Renown{#e;#t;#r;#o;#n;#s;constructor(e,M,tr,rr,ir=DEFAULT_RENOWN_URL){this.#t=e,this.#r=M,this.#e=ir,this.#n=tr,this.#o=rr,this.#s=new RenownCryptoSigner(tr,this.#o,this.user),this.on("user",lr=>{this.#s.user=lr})}get baseUrl(){return this.#e}get user(){return this.#t.get("user")}get signer(){return this.#s}get did(){return this.#n.did}#i(e){e?this.#t.set("user",e):this.#t.delete("user"),this.#r.emit("user",e)}async login(e){try{const M=parsePkhDid(e),tr=await this.#a(M.address,M.chainId,this.#n.did);if(!tr)throw this.#i(void 0),new Error("Credential not found");const rr={...M,address:tr.issuer.ethereumAddress,did:e,credential:tr};return this.#i(rr),rr}catch(M){throw this.#i(void 0),M}}logout(){return this.#i(void 0),Promise.resolve()}on(e,M){return this.#r.on(e,M)}async#a(e,M,tr){if(!this.#e)throw new Error("RENOWN_URL is not set");const rr=new URL(`/api/auth/credential?address=${encodeURIComponent(e)}&chainId=${encodeURIComponent(M)}&connectId=${encodeURIComponent(tr)}`,this.#e),ir=await fetch(rr,{method:"GET"});if(ir.ok)return(await ir.json()).credential;throw new Error(`Failed to get credential: ${ir.status}`)}async verifyBearerToken(e){return verifyAuthBearerToken(e)}async getBearerToken(e){if(!this.user)throw new Error("User not found");return this.#n.getBearerToken(this.user.address,e)}}class TypedCustomEvent extends CustomEvent{constructor(e,M){super(e,{detail:M})}}class BrowserEventEmitter{#e=new EventTarget;on(e,M){const tr=rr=>{rr instanceof TypedCustomEvent&&M(rr.detail)};return this.#e.addEventListener(e.toString(),tr),()=>{this.#e.removeEventListener(e.toString(),tr)}}emit(e,M){const tr=new TypedCustomEvent(e.toString(),M);this.#e.dispatchEvent(tr)}}class MemoryEventEmitter{#e=new Map;on(e,M){return this.#e.has(e)||this.#e.set(e,new Set),this.#e.get(e).add(M),()=>{this.#e.get(e)?.delete(M)}}emit(e,M){this.#e.get(e)?.forEach(tr=>tr(M))}}class BaseRenownBuilder{#e;#t;#r;#o;#n;#s;constructor(e){this.#e=e}withStorage(e){return this.#t=e,this}withEventEmitter(e){return this.#r=e,this}withCrypto(e){return this.#o=e,this}withKeyPairStorage(e){return this.#n=e,this}withBaseUrl(e){return this.#s=e,this}async build(){if(!this.#o&&!this.#n)throw new Error("Either crypto or keyPairStorage is required. Use withCrypto() or withKeyPairStorage() to set one.");const e=this.#o??await new RenownCryptoBuilder().withKeyPairStorage(this.#n).build(),M=this.#t??new RenownMemoryStorage,tr=this.#r??new MemoryEventEmitter,rr=this.#s??DEFAULT_RENOWN_URL,ir=new Renown(M,tr,e,this.#e,rr);if(ir.user)try{await ir.login(ir.user.did)}catch(lr){console.error("Failed to re-authenticate user:",lr)}return ir}static from(e){const M=new BaseRenownBuilder(e.appName);return e.storage&&M.withStorage(e.storage),e.eventEmitter&&M.withEventEmitter(e.eventEmitter),e.crypto&&M.withCrypto(e.crypto),e.keyPairStorage&&M.withKeyPairStorage(e.keyPairStorage),e.baseUrl&&M.withBaseUrl(e.baseUrl),M}}class BrowserStorage extends BaseStorage{namespace;constructor(e,M){super(),this.namespace=`${M}:${e}`}#e(e){return`${this.namespace}:${e.toString()}`}get(e){const M=localStorage.getItem(this.#e(e));if(M)return JSON.parse(M)}set(e,M){return M?localStorage.setItem(this.#e(e),JSON.stringify(M)):localStorage.removeItem(this.#e(e))}delete(e){return localStorage.removeItem(this.#e(e))}}class BrowserRenownStorage extends BrowserStorage{}class BrowserRenownEventEmitter extends BrowserEventEmitter{}class RenownBuilder extends BaseRenownBuilder{#e;#t;constructor(e,M={}){super(e),this.#e=M.basename,this.#t=M.keyDbName,this.withStorage(new BrowserRenownStorage("renown",this.#e)),this.withEventEmitter(new BrowserRenownEventEmitter),M.baseUrl&&this.withBaseUrl(M.baseUrl)}withBasename(e){return this.#e=e,this.withStorage(new BrowserRenownStorage("renown",this.#e)),this}withKeyDbName(e){return this.#t=e,this}async build(){const e=await BrowserKeyStorage.create(this.#t);return this.withKeyPairStorage(e),super.build()}}async function createBrowserReactor(r,e,M){const tr={signer:M.signer,verifier:createSignatureVerifier()},rr=async hr=>{if(M.user)return M.getBearerToken({expiresIn:10,aud:hr})},ir=new We("idb://reactor",{relaxedDurability:!0}),lr=new ConsoleLogger(["reactor-client"]);return{...await new ReactorClientBuilder().withLogger(lr).withSigner(tr).withReactorBuilder(new ReactorBuilder().withDocumentModels(r).withUpgradeManifests(e).withChannelScheme(ChannelScheme.CONNECT).withJwtHandler(rr).withKysely(new Kysely({dialect:new PGliteDialect(ir)}))).buildModule(),pg:ir}}function getDefaultDrivesFromEnv(){return[]}async function addDefaultDrivesForNewReactor(r){for(const e of r)try{await addRemoteDrive(e,{})}catch(M){console.error(`Failed to add default drive ${e}:`,M)}}const documentModelEditorModule={Component:reactExports.lazy(()=>__vitePreload(()=>import("./editor-DV2TvDV5.js").then(r=>r.a1),__vite__mapDeps([10,1,2,11,5,6,12,13,4])))};function loadGenericDriveExplorerEditorModule(){const r="Generic Drive Explorer",e=["powerhouse/document-drive"],M=GenericDriveExplorer.Component;return{id:DEFAULT_DRIVE_EDITOR_ID,name:r,documentTypes:e,Component:M}}function loadDocumentModelEditor(){const r="Document Model Editor",e="document-model-editor-v2",M=["powerhouse/document-model"],tr=documentModelEditorModule.Component;return{id:e,name:r,documentTypes:M,Component:tr}}async function loadDocumentModelDocumentModelModule(){const r=documentModelDocumentModelModule.documentModel.global,e=r.name,M=r.id,tr=M,rr=r.extension,ir=r.specifications,lr=documentModelDocumentModelModule.reducer,dr=documentModelDocumentModelModule.actions,mr=documentModelDocumentModelModule.utils;return{id:tr,name:e,documentType:M,extension:rr,specifications:ir,reducer:lr,actions:dr,utils:mr,documentModel:createState(defaultBaseState(),r)}}async function loadDriveDocumentModelModule(){const r=driveDocumentModelModule.documentModel.global,e=r.name,M=r.id,tr=M,rr=r.extension,ir=r.specifications,lr=driveDocumentModelModule.reducer,dr=driveDocumentModelModule.actions,mr=driveDocumentModelModule.utils;return{id:tr,name:e,documentType:M,extension:rr,specifications:ir,reducer:lr,actions:dr,utils:mr,documentModel:createState(defaultBaseState(),r)}}async function loadCommonPackage(){const r=await loadDocumentModelDocumentModelModule(),e=await loadDriveDocumentModelModule(),M=loadDocumentModelEditor(),tr=loadGenericDriveExplorerEditorModule();return{id:COMMON_PACKAGE_ID,name:"Common",description:"Common",category:"Common",author:{name:"Powerhouse",website:"https://powerhousedao.com"},modules:{documentModelModules:[r,e],editorModules:[M,tr]},upgradeManifests:[]}}const{externalPackagesEnabled}=connectConfig;function convertExternalPackages(r){return r.loadExternalPackages().then(e=>e.map(convertLegacyLibToVetraPackage))}async function loadExternalPackages(){try{if(!externalPackagesEnabled)return[];const r=await __vitePreload(()=>import("./_virtual_ph_external-packages-CM1tCR4L.js"),[]);return convertExternalPackages(r)}catch(r){return console.error(r),[]}}var __defProp$1=Object.defineProperty,__defProps$1=Object.defineProperties,__getOwnPropDescs$1=Object.getOwnPropertyDescriptors,__getOwnPropSymbols$1=Object.getOwnPropertySymbols,__hasOwnProp$1=Object.prototype.hasOwnProperty,__propIsEnum$1=Object.prototype.propertyIsEnumerable,__defNormalProp$1=(r,e,M)=>e in r?__defProp$1(r,e,{enumerable:!0,configurable:!0,writable:!0,value:M}):r[e]=M,__spreadValues$1=(r,e)=>{for(var M in e||(e={}))__hasOwnProp$1.call(e,M)&&__defNormalProp$1(r,M,e[M]);if(__getOwnPropSymbols$1)for(var M of __getOwnPropSymbols$1(e))__propIsEnum$1.call(e,M)&&__defNormalProp$1(r,M,e[M]);return r},__spreadProps$1=(r,e)=>__defProps$1(r,__getOwnPropDescs$1(e)),__async$1=(r,e,M)=>new Promise((tr,rr)=>{var ir=mr=>{try{dr(M.next(mr))}catch(hr){rr(hr)}},lr=mr=>{try{dr(M.throw(mr))}catch(hr){rr(hr)}},dr=mr=>mr.done?tr(mr.value):Promise.resolve(mr.value).then(ir,lr);dr((M=M.apply(r,e)).next())}),MapHookData=class{constructor(){this.data=new Map}set(r,e){this.data.set(r,e)}get(r){return this.data.get(r)}has(r){return this.data.has(r)}delete(r){return this.data.delete(r)}clear(){this.data.clear()}},StandardResolutionReasons={ERROR:"ERROR"},ErrorCode=(r=>(r.PROVIDER_NOT_READY="PROVIDER_NOT_READY",r.PROVIDER_FATAL="PROVIDER_FATAL",r.FLAG_NOT_FOUND="FLAG_NOT_FOUND",r.PARSE_ERROR="PARSE_ERROR",r.TYPE_MISMATCH="TYPE_MISMATCH",r.TARGETING_KEY_MISSING="TARGETING_KEY_MISSING",r.INVALID_CONTEXT="INVALID_CONTEXT",r.GENERAL="GENERAL",r))(ErrorCode||{}),OpenFeatureError=class ho extends Error{constructor(e,M){super(e),Object.setPrototypeOf(this,ho.prototype),this.name="OpenFeatureError",this.cause=M?.cause}},FlagNotFoundError=class fo extends OpenFeatureError{constructor(e,M){super(e,M),Object.setPrototypeOf(this,fo.prototype),this.name="FlagNotFoundError",this.code="FLAG_NOT_FOUND"}},GeneralError=class _o extends OpenFeatureError{constructor(e,M){super(e,M),Object.setPrototypeOf(this,_o.prototype),this.name="GeneralError",this.code="GENERAL"}},InvalidContextError=class go extends OpenFeatureError{constructor(e,M){super(e,M),Object.setPrototypeOf(this,go.prototype),this.name="InvalidContextError",this.code="INVALID_CONTEXT"}},ParseError=class Eo extends OpenFeatureError{constructor(e,M){super(e,M),Object.setPrototypeOf(this,Eo.prototype),this.name="ParseError",this.code="PARSE_ERROR"}},ProviderFatalError=class wo extends OpenFeatureError{constructor(e,M){super(e,M),Object.setPrototypeOf(this,wo.prototype),this.name="ProviderFatalError",this.code="PROVIDER_FATAL"}},ProviderNotReadyError=class bo extends OpenFeatureError{constructor(e,M){super(e,M),Object.setPrototypeOf(this,bo.prototype),this.name="ProviderNotReadyError",this.code="PROVIDER_NOT_READY"}},TargetingKeyMissingError=class yo extends OpenFeatureError{constructor(e,M){super(e,M),Object.setPrototypeOf(this,yo.prototype),this.name="TargetingKeyMissingError",this.code="TARGETING_KEY_MISSING"}},TypeMismatchError=class xo extends OpenFeatureError{constructor(e,M){super(e,M),Object.setPrototypeOf(this,xo.prototype),this.name="TypeMismatchError",this.code="TYPE_MISMATCH"}},instantiateErrorByErrorCode=(r,e)=>{switch(r){case"FLAG_NOT_FOUND":return new FlagNotFoundError(e);case"PARSE_ERROR":return new ParseError(e);case"TYPE_MISMATCH":return new TypeMismatchError(e);case"TARGETING_KEY_MISSING":return new TargetingKeyMissingError(e);case"INVALID_CONTEXT":return new InvalidContextError(e);case"PROVIDER_NOT_READY":return new ProviderNotReadyError(e);case"PROVIDER_FATAL":return new ProviderFatalError(e);default:return new GeneralError(e)}},ClientProviderStatus=(r=>(r.NOT_READY="NOT_READY",r.READY="READY",r.ERROR="ERROR",r.STALE="STALE",r.FATAL="FATAL",r.RECONCILING="RECONCILING",r))(ClientProviderStatus||{}),ClientProviderEvents=(r=>(r.Ready="PROVIDER_READY",r.Error="PROVIDER_ERROR",r.ConfigurationChanged="PROVIDER_CONFIGURATION_CHANGED",r.ContextChanged="PROVIDER_CONTEXT_CHANGED",r.Reconciling="PROVIDER_RECONCILING",r.Stale="PROVIDER_STALE",r))(ClientProviderEvents||{}),eventStatusMap={READY:"PROVIDER_READY",ERROR:"PROVIDER_ERROR",FATAL:"PROVIDER_ERROR",STALE:"PROVIDER_STALE",RECONCILING:"PROVIDER_RECONCILING",NOT_READY:void 0},statusMatchesEvent=(r,e)=>!e&&r==="PROVIDER_READY"||eventStatusMap[e]===r,DefaultLogger=class{error(...r){console.error(...r)}warn(...r){console.warn(...r)}info(){}debug(){}},LOG_LEVELS=["error","warn","info","debug"],SafeLogger=class{constructor(r){this.fallbackLogger=new DefaultLogger;try{for(const e of LOG_LEVELS)if(!r[e]||typeof r[e]!="function")throw new Error(`The provided logger is missing the ${e} method.`);this.logger=r}catch(e){console.error(e),console.error("Falling back to the default logger."),this.logger=this.fallbackLogger}}error(...r){this.log("error",...r)}warn(...r){this.log("warn",...r)}info(...r){this.log("info",...r)}debug(...r){this.log("debug",...r)}log(r,...e){try{this.logger[r](...e)}catch{this.fallbackLogger[r](...e)}}},GenericEventEmitter=class{constructor(r){this.globalLogger=r,this._handlers={PROVIDER_CONFIGURATION_CHANGED:new WeakMap,PROVIDER_CONTEXT_CHANGED:new WeakMap,PROVIDER_READY:new WeakMap,PROVIDER_ERROR:new WeakMap,PROVIDER_STALE:new WeakMap,PROVIDER_RECONCILING:new WeakMap}}emit(r,e){this.eventEmitter.emit(r,e)}addHandler(r,e){const M=rr=>__async$1(this,null,function*(){var ir;try{yield e(rr)}catch(lr){(ir=this._logger)==null||ir.error("Error running event handler:",lr)}}),tr=this._handlers[r].get(e);this._handlers[r].set(e,[...tr||[],M]),this.eventEmitter.on(r,M)}removeHandler(r,e){const M=this._handlers[r].get(e);if(M){const tr=M.pop();tr&&this.eventEmitter.removeListener(r,tr)}}removeAllHandlers(r){r?this.eventEmitter.removeAllListeners(r):this.eventEmitter.removeAllListeners()}getHandlers(r){return this.eventEmitter.listeners(r)}setLogger(r){return this._eventLogger=new SafeLogger(r),this}get _logger(){var r,e;return(e=this._eventLogger)!=null?e:(r=this.globalLogger)==null?void 0:r.call(this)}};function isString(r){return typeof r=="string"}function stringOrUndefined(r){return isString(r)?r:void 0}function isObject(r){return typeof r=="object"}function objectOrUndefined(r){return isObject(r)?r:void 0}function isDefined(r){return typeof r<"u"&&r!==null}var ProviderWrapper=class{constructor(r,e,M){this._provider=r,this._status=e,this._pendingContextChanges=0;var tr,rr,ir;(tr=r.events)==null||tr.addHandler("PROVIDER_READY",()=>{this._status=M.READY}),(rr=r.events)==null||rr.addHandler("PROVIDER_STALE",()=>{this._status=M.STALE}),(ir=r.events)==null||ir.addHandler("PROVIDER_ERROR",lr=>{lr?.errorCode==="PROVIDER_FATAL"?this._status=M.FATAL:this._status=M.ERROR})}get provider(){return this._provider}set provider(r){this._provider=r}get status(){return this._status}set status(r){this._status=r}get allContextChangesSettled(){return this._pendingContextChanges===0}incrementPendingContextChanges(){this._pendingContextChanges++}decrementPendingContextChanges(){this._pendingContextChanges--}},OpenFeatureCommonAPI=class{constructor(r){this._hooks=[],this._context={},this._logger=new DefaultLogger,this._clientEventHandlers=new Map,this._domainScopedContext=new Map,this._clientEvents=new Map,this._runsOn=r}addHooks(...r){return this._hooks=[...this._hooks,...r],this}getHooks(){return this._hooks}clearHooks(){return this._hooks=[],this}setLogger(r){return this._logger=new SafeLogger(r),this}get providerMetadata(){return this.getProviderMetadata()}getProviderMetadata(r){return this.getProviderForClient(r).metadata}addHandler(r,e,M){[...new Map([[void 0,this._defaultProvider]]),...this._domainScopedProviders].forEach(tr=>{var rr;const ir=tr[0],lr=tr[1].provider,dr=tr[1].status;if(statusMatchesEvent(r,dr))try{e({domain:ir,providerName:lr.metadata.name})}catch(hr){(rr=this._logger)==null||rr.error("Error running event handler:",hr)}}),this._apiEmitter.addHandler(r,e),M?.signal&&typeof M.signal.addEventListener=="function"&&M.signal.addEventListener("abort",()=>{this.removeHandler(r,e)})}removeHandler(r,e){this._apiEmitter.removeHandler(r,e)}clearHandlers(){this._apiEmitter.removeAllHandlers()}getHandlers(r){return this._apiEmitter.getHandlers(r)}setAwaitableProvider(r,e){var M,tr,rr,ir,lr,dr,mr,hr;const fr=stringOrUndefined(r),_r=(M=objectOrUndefined(r))!=null?M:objectOrUndefined(e);if(!_r){this._logger.debug("No provider defined, ignoring setProvider call");return}const gr=this.getProviderForClient(fr),br=_r.metadata.name;if(gr===_r){this._logger.debug("Provider is already set, ignoring setProvider call");return}if(!_r.runsOn)this._logger.debug(`Provider '${_r.metadata.name}' has not defined its intended use.`);else if(_r.runsOn!==this._runsOn)throw new GeneralError(`Provider '${_r.metadata.name}' is intended for use on the ${_r.runsOn}.`);const wr=this.getAssociatedEventEmitters(fr);let xr;const vr=new ProviderWrapper(_r,this._statusEnumType.NOT_READY,this._statusEnumType);return typeof _r.initialize=="function"&&!this.allProviders.includes(_r)?xr=(lr=(ir=(rr=_r.initialize)==null?void 0:rr.call(_r,fr?(tr=this._domainScopedContext.get(fr))!=null?tr:this._context:this._context))==null?void 0:ir.then(()=>{var Mr;vr.status=this._statusEnumType.READY,this.getAssociatedEventEmitters(fr).forEach(Sr=>{Sr?.emit("PROVIDER_READY",{clientName:fr,domain:fr,providerName:br})}),(Mr=this._apiEmitter)==null||Mr.emit("PROVIDER_READY",{clientName:fr,domain:fr,providerName:br})}))==null?void 0:lr.catch(Mr=>{var Sr;throw Mr?.code==="PROVIDER_FATAL"?vr.status=this._statusEnumType.FATAL:vr.status=this._statusEnumType.ERROR,this.getAssociatedEventEmitters(fr).forEach(yr=>{yr?.emit("PROVIDER_ERROR",{clientName:fr,domain:fr,providerName:br,message:Mr?.message})}),(Sr=this._apiEmitter)==null||Sr.emit("PROVIDER_ERROR",{clientName:fr,domain:fr,providerName:br,message:Mr?.message}),Mr}):(vr.status=this._statusEnumType.READY,wr.forEach(Mr=>{Mr?.emit("PROVIDER_READY",{clientName:fr,domain:fr,providerName:br})}),(dr=this._apiEmitter)==null||dr.emit("PROVIDER_READY",{clientName:fr,domain:fr,providerName:br})),fr?this._domainScopedProviders.set(fr,vr):this._defaultProvider=vr,this.transferListeners(gr,_r,fr,wr),this.allProviders.includes(gr)||(hr=(mr=gr?.onClose)==null?void 0:mr.call(gr))==null||hr.catch(Mr=>{this._logger.error(`error closing provider: ${Mr?.message}, ${Mr?.stack}`)}),xr}getProviderForClient(r){var e,M;return r?(M=(e=this._domainScopedProviders.get(r))==null?void 0:e.provider)!=null?M:this._defaultProvider.provider:this._defaultProvider.provider}buildAndCacheEventEmitterForClient(r){const e=this._clientEvents.get(r);if(e)return e;const M=this._createEventEmitter();this._clientEvents.set(r,M);const tr=this.getProviderForClient(r);return Object.values(ClientProviderEvents).forEach(rr=>{var ir;return(ir=tr.events)==null?void 0:ir.addHandler(rr,lr=>__async$1(this,null,function*(){M.emit(rr,__spreadProps$1(__spreadValues$1({},lr),{clientName:r,domain:r,providerName:tr.metadata.name}))}))}),M}getUnboundEmitters(){const r=[...this._domainScopedProviders.keys()];return[...[...this._clientEvents.keys()].filter(isDefined).filter(tr=>!r.includes(tr)).map(tr=>this._clientEvents.get(tr)),this._clientEvents.get(void 0)].filter(isDefined)}getAssociatedEventEmitters(r){return r?[this.buildAndCacheEventEmitterForClient(r)]:this.getUnboundEmitters()}transferListeners(r,e,M,tr){var rr;(rr=this._clientEventHandlers.get(M))==null||rr.forEach(lr=>{var dr;return(dr=r.events)==null?void 0:dr.removeHandler(...lr)});const ir=Object.values(ClientProviderEvents).map(lr=>[lr,mr=>__async$1(this,null,function*(){tr.forEach(hr=>{hr?.emit(lr,__spreadProps$1(__spreadValues$1({},mr),{clientName:M,domain:M,providerName:e.metadata.name}))}),this._apiEmitter.emit(lr,__spreadProps$1(__spreadValues$1({},mr),{clientName:M,domain:M,providerName:e.metadata.name}))})]);this._clientEventHandlers.set(M,ir),ir.forEach(lr=>{var dr;return(dr=e.events)==null?void 0:dr.addHandler(...lr)})}close(){return __async$1(this,null,function*(){var r,e;try{yield(e=(r=this==null?void 0:this._defaultProvider.provider)==null?void 0:r.onClose)==null?void 0:e.call(r)}catch(tr){this.handleShutdownError(this._defaultProvider.provider,tr)}const M=Array.from(this._domainScopedProviders);yield Promise.all(M.map(tr=>__async$1(this,[tr],function*([,rr]){var ir,lr;try{yield(lr=rr==null?void 0:(ir=rr.provider).onClose)==null?void 0:lr.call(ir)}catch(dr){this.handleShutdownError(rr?.provider,dr)}})))})}clearProvidersAndSetDefault(r){return __async$1(this,null,function*(){try{yield this.close()}catch{this._logger.error("Unable to cleanly close providers. Resetting to the default configuration.")}finally{this._domainScopedProviders.clear(),this._defaultProvider=new ProviderWrapper(r,this._statusEnumType.NOT_READY,this._statusEnumType)}})}get allProviders(){return[...[...this._domainScopedProviders.values()].map(r=>r.provider),this._defaultProvider.provider]}handleShutdownError(r,e){this._logger.error(`Error during shutdown of provider ${r.metadata.name}: ${e}`),this._logger.error(e?.stack)}},__create=Object.create,__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropNames=Object.getOwnPropertyNames,__getOwnPropSymbols=Object.getOwnPropertySymbols,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__reflectGet=Reflect.get,__defNormalProp=(r,e,M)=>e in r?__defProp(r,e,{enumerable:!0,configurable:!0,writable:!0,value:M}):r[e]=M,__spreadValues=(r,e)=>{for(var M in e||(e={}))__hasOwnProp.call(e,M)&&__defNormalProp(r,M,e[M]);if(__getOwnPropSymbols)for(var M of __getOwnPropSymbols(e))__propIsEnum.call(e,M)&&__defNormalProp(r,M,e[M]);return r},__spreadProps=(r,e)=>__defProps(r,__getOwnPropDescs(e)),__commonJS=(r,e)=>function(){return e||(0,r[__getOwnPropNames(r)[0]])((e={exports:{}}).exports,e),e.exports},__copyProps=(r,e,M,tr)=>{if(e&&typeof e=="object"||typeof e=="function")for(let rr of __getOwnPropNames(e))!__hasOwnProp.call(r,rr)&&rr!==M&&__defProp(r,rr,{get:()=>e[rr],enumerable:!(tr=__getOwnPropDesc(e,rr))||tr.enumerable});return r},__toESM=(r,e,M)=>(M=r!=null?__create(__getProtoOf(r)):{},__copyProps(__defProp(M,"default",{value:r,enumerable:!0}),r)),__superGet=(r,e,M)=>__reflectGet(__getProtoOf(r),M,e),__async=(r,e,M)=>new Promise((tr,rr)=>{var ir=mr=>{try{dr(M.next(mr))}catch(hr){rr(hr)}},lr=mr=>{try{dr(M.throw(mr))}catch(hr){rr(hr)}},dr=mr=>mr.done?tr(mr.value):Promise.resolve(mr.value).then(ir,lr);dr((M=M.apply(r,e)).next())}),require_eventemitter3=__commonJS({"../../node_modules/eventemitter3/index.js"(r,e){var M=Object.prototype.hasOwnProperty,tr="~";function rr(){}Object.create&&(rr.prototype=Object.create(null),new rr().__proto__||(tr=!1));function ir(hr,fr,_r){this.fn=hr,this.context=fr,this.once=_r||!1}function lr(hr,fr,_r,gr,br){if(typeof _r!="function")throw new TypeError("The listener must be a function");var wr=new ir(_r,gr||hr,br),xr=tr?tr+fr:fr;return hr._events[xr]?hr._events[xr].fn?hr._events[xr]=[hr._events[xr],wr]:hr._events[xr].push(wr):(hr._events[xr]=wr,hr._eventsCount++),hr}function dr(hr,fr){--hr._eventsCount===0?hr._events=new rr:delete hr._events[fr]}function mr(){this._events=new rr,this._eventsCount=0}mr.prototype.eventNames=function(){var fr=[],_r,gr;if(this._eventsCount===0)return fr;for(gr in _r=this._events)M.call(_r,gr)&&fr.push(tr?gr.slice(1):gr);return Object.getOwnPropertySymbols?fr.concat(Object.getOwnPropertySymbols(_r)):fr},mr.prototype.listeners=function(fr){var _r=tr?tr+fr:fr,gr=this._events[_r];if(!gr)return[];if(gr.fn)return[gr.fn];for(var br=0,wr=gr.length,xr=new Array(wr);br<wr;br++)xr[br]=gr[br].fn;return xr},mr.prototype.listenerCount=function(fr){var _r=tr?tr+fr:fr,gr=this._events[_r];return gr?gr.fn?1:gr.length:0},mr.prototype.emit=function(fr,_r,gr,br,wr,xr){var vr=tr?tr+fr:fr;if(!this._events[vr])return!1;var Mr=this._events[vr],Sr=arguments.length,yr,Ar;if(Mr.fn){switch(Mr.once&&this.removeListener(fr,Mr.fn,void 0,!0),Sr){case 1:return Mr.fn.call(Mr.context),!0;case 2:return Mr.fn.call(Mr.context,_r),!0;case 3:return Mr.fn.call(Mr.context,_r,gr),!0;case 4:return Mr.fn.call(Mr.context,_r,gr,br),!0;case 5:return Mr.fn.call(Mr.context,_r,gr,br,wr),!0;case 6:return Mr.fn.call(Mr.context,_r,gr,br,wr,xr),!0}for(Ar=1,yr=new Array(Sr-1);Ar<Sr;Ar++)yr[Ar-1]=arguments[Ar];Mr.fn.apply(Mr.context,yr)}else{var Dr=Mr.length,Ir;for(Ar=0;Ar<Dr;Ar++)switch(Mr[Ar].once&&this.removeListener(fr,Mr[Ar].fn,void 0,!0),Sr){case 1:Mr[Ar].fn.call(Mr[Ar].context);break;case 2:Mr[Ar].fn.call(Mr[Ar].context,_r);break;case 3:Mr[Ar].fn.call(Mr[Ar].context,_r,gr);break;case 4:Mr[Ar].fn.call(Mr[Ar].context,_r,gr,br);break;default:if(!yr)for(Ir=1,yr=new Array(Sr-1);Ir<Sr;Ir++)yr[Ir-1]=arguments[Ir];Mr[Ar].fn.apply(Mr[Ar].context,yr)}}return!0},mr.prototype.on=function(fr,_r,gr){return lr(this,fr,_r,gr,!1)},mr.prototype.once=function(fr,_r,gr){return lr(this,fr,_r,gr,!0)},mr.prototype.removeListener=function(fr,_r,gr,br){var wr=tr?tr+fr:fr;if(!this._events[wr])return this;if(!_r)return dr(this,wr),this;var xr=this._events[wr];if(xr.fn)xr.fn===_r&&(!br||xr.once)&&(!gr||xr.context===gr)&&dr(this,wr);else{for(var vr=0,Mr=[],Sr=xr.length;vr<Sr;vr++)(xr[vr].fn!==_r||br&&!xr[vr].once||gr&&xr[vr].context!==gr)&&Mr.push(xr[vr]);Mr.length?this._events[wr]=Mr.length===1?Mr[0]:Mr:dr(this,wr)}return this},mr.prototype.removeAllListeners=function(fr){var _r;return fr?(_r=tr?tr+fr:fr,this._events[_r]&&dr(this,_r)):(this._events=new rr,this._eventsCount=0),this},mr.prototype.off=mr.prototype.removeListener,mr.prototype.addListener=mr.prototype.on,mr.prefixed=tr,mr.EventEmitter=mr,typeof e<"u"&&(e.exports=mr)}}),REASON_NO_OP="No-op",NoopFeatureProvider=class{constructor(){this.metadata={name:"No-op Provider"}}resolveBooleanEvaluation(r,e){return this.noOp(e)}resolveStringEvaluation(r,e){return this.noOp(e)}resolveNumberEvaluation(r,e){return this.noOp(e)}resolveObjectEvaluation(r,e){return this.noOp(e)}noOp(r){return{value:r,reason:REASON_NO_OP}}},NOOP_PROVIDER=new NoopFeatureProvider,import_index=__toESM(require_eventemitter3()),OpenFeatureEventEmitter=class extends GenericEventEmitter{constructor(){super(),this.eventEmitter=new import_index.default}},OpenFeatureClient=class{constructor(r,e,M,tr,rr,ir,lr){this.providerAccessor=r,this.providerStatusAccessor=e,this.emitterAccessor=M,this.apiContextAccessor=tr,this.apiHooksAccessor=rr,this.globalLogger=ir,this.options=lr,this._hooks=[]}get metadata(){var r,e;return{name:(r=this.options.domain)!=null?r:this.options.name,domain:(e=this.options.domain)!=null?e:this.options.name,version:this.options.version,providerMetadata:this.providerAccessor().metadata}}get providerStatus(){return this.providerStatusAccessor()}addHandler(r,e,M){var tr;if(this.emitterAccessor().addHandler(r,e),statusMatchesEvent(r,this.providerStatus))try{e({clientName:this.metadata.name,domain:this.metadata.domain,providerName:this._provider.metadata.name})}catch(ir){(tr=this._logger)==null||tr.error("Error running event handler:",ir)}M?.signal&&typeof M.signal.addEventListener=="function"&&M.signal.addEventListener("abort",()=>{this.removeHandler(r,e)})}removeHandler(r,e){this.emitterAccessor().removeHandler(r,e)}getHandlers(r){return this.emitterAccessor().getHandlers(r)}setLogger(r){return this._clientLogger=new SafeLogger(r),this}addHooks(...r){return this._hooks=[...this._hooks,...r],this}getHooks(){return this._hooks}clearHooks(){return this._hooks=[],this}getBooleanValue(r,e,M){return this.getBooleanDetails(r,e,M).value}getBooleanDetails(r,e,M){return this.evaluate(r,this._provider.resolveBooleanEvaluation,e,"boolean",M)}getStringValue(r,e,M){return this.getStringDetails(r,e,M).value}getStringDetails(r,e,M){return this.evaluate(r,this._provider.resolveStringEvaluation,e,"string",M)}getNumberValue(r,e,M){return this.getNumberDetails(r,e,M).value}getNumberDetails(r,e,M){return this.evaluate(r,this._provider.resolveNumberEvaluation,e,"number",M)}getObjectValue(r,e,M){return this.getObjectDetails(r,e,M).value}getObjectDetails(r,e,M){return this.evaluate(r,this._provider.resolveObjectEvaluation,e,"object",M)}track(r,e={}){var M,tr,rr;try{if(this.shortCircuitIfNotReady(),typeof this._provider.track=="function"){const ir=Object.freeze(__spreadValues({},this.apiContextAccessor((M=this==null?void 0:this.options)==null?void 0:M.domain)));return(rr=(tr=this._provider).track)==null?void 0:rr.call(tr,r,ir,e)}else this._logger.debug("Provider does not support the track function; will no-op.")}catch(ir){this._logger.debug("Error recording tracking event.",ir)}}evaluate(r,e,M,tr,rr={}){var ir,lr;const dr=[...this.apiHooksAccessor(),...this.getHooks(),...rr.hooks||[],...this._provider.hooks||[]],mr=[...dr].reverse(),hr=__spreadValues({},this.apiContextAccessor((ir=this==null?void 0:this.options)==null?void 0:ir.domain)),fr=mr.map(()=>Object.freeze({flagKey:r,defaultValue:M,flagValueType:tr,clientMetadata:this.metadata,providerMetadata:this._provider.metadata,context:hr,logger:this._logger,hookData:new MapHookData}));let _r;try{this.beforeHooks(dr,fr,rr),this.shortCircuitIfNotReady();const gr=e.call(this._provider,r,M,hr,this._logger),br=__spreadProps(__spreadValues({},gr),{flagMetadata:Object.freeze((lr=gr.flagMetadata)!=null?lr:{}),flagKey:r});if(br.errorCode){const wr=instantiateErrorByErrorCode(br.errorCode,br.errorMessage);this.errorHooks(mr,fr,wr,rr),_r=this.getErrorEvaluationDetails(r,M,wr,br.flagMetadata)}else this.afterHooks(mr,fr,br,rr),_r=br}catch(gr){this.errorHooks(mr,fr,gr,rr),_r=this.getErrorEvaluationDetails(r,M,gr)}return this.finallyHooks(mr,fr,_r,rr),_r}beforeHooks(r,e,M){var tr;for(const[rr,ir]of r.entries()){const lr=r.length-1-rr,dr=e[lr];Object.freeze(dr),Object.freeze(dr.context),(tr=ir?.before)==null||tr.call(ir,dr,Object.freeze(M.hookHints))}}afterHooks(r,e,M,tr){var rr;for(const[ir,lr]of r.entries()){const dr=e[ir];(rr=lr?.after)==null||rr.call(lr,dr,M,tr.hookHints)}}errorHooks(r,e,M,tr){var rr;for(const[ir,lr]of r.entries())try{const dr=e[ir];(rr=lr?.error)==null||rr.call(lr,dr,M,tr.hookHints)}catch(dr){this._logger.error(`Unhandled error during 'error' hook: ${dr}`),dr instanceof Error&&this._logger.error(dr.stack),this._logger.error(dr?.stack)}}finallyHooks(r,e,M,tr){var rr;for(const[ir,lr]of r.entries())try{const dr=e[ir];(rr=lr?.finally)==null||rr.call(lr,dr,M,tr.hookHints)}catch(dr){this._logger.error(`Unhandled error during 'finally' hook: ${dr}`),dr instanceof Error&&this._logger.error(dr.stack),this._logger.error(dr?.stack)}}get _provider(){return this.providerAccessor()}get _logger(){return this._clientLogger||this.globalLogger()}shortCircuitIfNotReady(){if(this.providerStatus===ClientProviderStatus.NOT_READY)throw new ProviderNotReadyError("provider has not yet initialized");if(this.providerStatus===ClientProviderStatus.FATAL)throw new ProviderFatalError("provider is in an irrecoverable error state")}getErrorEvaluationDetails(r,e,M,tr={}){const rr=M?.message;return{errorCode:M?.code||ErrorCode.GENERAL,errorMessage:rr,value:e,reason:StandardResolutionReasons.ERROR,flagMetadata:Object.freeze(tr),flagKey:r}}},GLOBAL_OPENFEATURE_API_KEY=Symbol.for("@openfeature/web-sdk/api"),_globalThis=globalThis,OpenFeatureAPI=class co extends OpenFeatureCommonAPI{constructor(){super("client"),this._statusEnumType=ClientProviderStatus,this._apiEmitter=new OpenFeatureEventEmitter,this._defaultProvider=new ProviderWrapper(NOOP_PROVIDER,ClientProviderStatus.NOT_READY,this._statusEnumType),this._domainScopedProviders=new Map,this._createEventEmitter=()=>new OpenFeatureEventEmitter}static getInstance(){const e=_globalThis[GLOBAL_OPENFEATURE_API_KEY];if(e)return e;const M=new co;return _globalThis[GLOBAL_OPENFEATURE_API_KEY]=M,M}getProviderStatus(e){var M,tr;return e?(tr=(M=this._domainScopedProviders.get(e))==null?void 0:M.status)!=null?tr:this._defaultProvider.status:this._defaultProvider.status}setProviderAndWait(e,M,tr){return __async(this,null,function*(){const rr=stringOrUndefined(e),ir=objectOrUndefined(rr?M:e),lr=objectOrUndefined(rr?tr:M);lr&&(rr?this._domainScopedContext.set(rr,lr):this._context=lr),yield this.setAwaitableProvider(rr,ir)})}setProvider(e,M,tr){const rr=stringOrUndefined(e),ir=objectOrUndefined(rr?M:e),lr=objectOrUndefined(rr?tr:M);lr&&(rr?this._domainScopedContext.set(rr,lr):this._context=lr);const dr=this.setAwaitableProvider(rr,ir);return Promise.resolve(dr).catch(mr=>{this._logger.error("Error during provider initialization:",mr)}),this}getProvider(e){return this.getProviderForClient(e)}setContext(e,M){return __async(this,null,function*(){var tr,rr;const ir=stringOrUndefined(e),lr=(rr=(tr=objectOrUndefined(e))!=null?tr:objectOrUndefined(M))!=null?rr:{};if(ir){const dr=this._domainScopedProviders.get(ir);if(dr){const mr=this.getContext(ir);this._domainScopedContext.set(ir,lr),yield this.runProviderContextChangeHandler(ir,dr,mr,lr)}else this._domainScopedContext.set(ir,lr)}else{const dr=this._context;this._context=lr;const mr=Array.from(this._domainScopedProviders.entries()).filter(([fr])=>!this._domainScopedContext.has(fr)).reduce((fr,[_r,gr])=>(fr.push({domain:_r,wrapper:gr}),fr),[]),hr=[{domain:void 0,wrapper:this._defaultProvider},...mr];yield Promise.all(hr.map(fr=>this.runProviderContextChangeHandler(fr.domain,fr.wrapper,dr,lr)))}})}getContext(e){const M=stringOrUndefined(e);if(M){const tr=this._domainScopedContext.get(M);if(tr)return tr;this._logger.debug(`Unable to find context for '${M}'.`)}return this._context}clearContext(e){return __async(this,null,function*(){const M=stringOrUndefined(e);if(M){const tr=this._domainScopedProviders.get(M);if(tr){const rr=this.getContext(M);this._domainScopedContext.delete(M);const ir=this.getContext();yield this.runProviderContextChangeHandler(M,tr,rr,ir)}else this._domainScopedContext.delete(M)}else return this.setContext({})})}clearContexts(){return __async(this,null,function*(){yield this.clearContext(),yield Promise.allSettled(Array.from(this._domainScopedProviders.keys()).map(e=>this.clearContext(e)))})}getClient(e,M){return new OpenFeatureClient(()=>this.getProviderForClient(e),()=>this.getProviderStatus(e),()=>this.buildAndCacheEventEmitterForClient(e),tr=>this.getContext(tr),()=>this.getHooks(),()=>this._logger,{domain:e,version:M})}clearProviders(){return __async(this,null,function*(){yield __superGet(co.prototype,this,"clearProvidersAndSetDefault").call(this,NOOP_PROVIDER),this._domainScopedContext.clear()})}runProviderContextChangeHandler(e,M,tr,rr){return __async(this,null,function*(){var ir,lr,dr,mr,hr,fr;const _r=((lr=(ir=M.provider)==null?void 0:ir.metadata)==null?void 0:lr.name)||"unnamed-provider";try{if(typeof M.provider.onContextChange=="function"){const gr=M.provider.onContextChange(tr,rr);gr&&typeof gr?.then=="function"&&(M.incrementPendingContextChanges(),M.status=this._statusEnumType.RECONCILING,this.getAssociatedEventEmitters(e).forEach(br=>{br?.emit(ClientProviderEvents.Reconciling,{domain:e,providerName:_r})}),(dr=this._apiEmitter)==null||dr.emit(ClientProviderEvents.Reconciling,{domain:e,providerName:_r}),yield gr,M.decrementPendingContextChanges())}M.status=this._statusEnumType.READY,M.allContextChangesSettled&&(this.getAssociatedEventEmitters(e).forEach(gr=>{gr?.emit(ClientProviderEvents.ContextChanged,{clientName:e,domain:e,providerName:_r})}),(mr=this._apiEmitter)==null||mr.emit(ClientProviderEvents.ContextChanged,{clientName:e,domain:e,providerName:_r}))}catch(gr){if(M.decrementPendingContextChanges(),M.status=this._statusEnumType.ERROR,M.allContextChangesSettled){const br=gr,wr=`Error running ${_r}'s context change handler: ${br?.message}`;(hr=this._logger)==null||hr.error(`${wr}`,gr),this.getAssociatedEventEmitters(e).forEach(xr=>{xr?.emit(ClientProviderEvents.Error,{clientName:e,domain:e,providerName:_r,message:wr})}),(fr=this._apiEmitter)==null||fr.emit(ClientProviderEvents.Error,{clientName:e,domain:e,providerName:_r,message:wr})}}})}},OpenFeature=OpenFeatureAPI.getInstance();class QueryParamProvider{runsOn="client";metadata={name:"QueryParamProvider"};flags;constructor(e){this.flags=new Map;for(const[M,tr]of e.entries())this.flags.set(M,tr)}resolveBooleanEvaluation(e,M){const tr=this.flags.get(e);return tr===void 0?{value:M,reason:"DEFAULT"}:{value:tr.toLowerCase()==="true"||tr==="1",reason:"STATIC",variant:tr}}resolveStringEvaluation(e,M){const tr=this.flags.get(e);return tr===void 0?{value:M,reason:"DEFAULT"}:{value:tr,reason:"STATIC",variant:tr}}resolveNumberEvaluation(e,M){const tr=this.flags.get(e);if(tr===void 0)return{value:M,reason:"DEFAULT"};const rr=Number(tr);return isNaN(rr)?{value:M,reason:"ERROR",errorCode:"PARSE_ERROR",errorMessage:`Failed to parse "${tr}" as a number`}:{value:rr,reason:"STATIC",variant:tr}}resolveObjectEvaluation(e,M){const tr=this.flags.get(e);if(tr===void 0)return{value:M,reason:"DEFAULT"};try{return{value:JSON.parse(tr),reason:"STATIC",variant:tr}}catch(rr){return{value:M,reason:"ERROR",errorCode:"PARSE_ERROR",errorMessage:`Failed to parse JSON: ${rr instanceof Error?rr.message:String(rr)}`}}}}async function initFeatureFlags(r){const e=typeof window<"u"?new URLSearchParams(window.location.search):new URLSearchParams,M=new QueryParamProvider(e);await OpenFeature.setProviderAndWait(M);const tr=new Map,rr=OpenFeature.getClient();tr.set(FEATURE_LEGACY_READ_ENABLED,rr.getBooleanValue(FEATURE_LEGACY_READ_ENABLED,FEATURE_LEGACY_READ_ENABLED_DEFAULT)),tr.set(FEATURE_LEGACY_WRITE_ENABLED,rr.getBooleanValue(FEATURE_LEGACY_WRITE_ENABLED,FEATURE_LEGACY_WRITE_ENABLED_DEFAULT)),tr.set(FEATURE_CHANNEL_SYNC_ENABLED,rr.getBooleanValue(FEATURE_CHANNEL_SYNC_ENABLED,FEATURE_CHANNEL_SYNC_ENABLED_DEFAULT));const lr=e.has(FEATURE_INSPECTOR_ENABLED)?rr.getBooleanValue(FEATURE_INSPECTOR_ENABLED,FEATURE_INSPECTOR_ENABLED_DEFAULT):connectConfig.content.inspectorEnabled;tr.set(FEATURE_INSPECTOR_ENABLED,lr);const dr=e.get("LOG_LEVEL");if(dr){const mr=["verbose","debug","info","warn","error"];mr.includes(dr.toLowerCase())?(setLogLevel(dr.toLowerCase()),logger.info("Log level set to @level via query param",dr.toLowerCase())):logger.warn("Invalid LOG_LEVEL query param: @param. Valid values: @validLevels",dr,mr.join(", "))}return tr}const FEATURE_LEGACY_READ_ENABLED="FEATURE_LEGACY_READ_ENABLED",FEATURE_LEGACY_READ_ENABLED_DEFAULT=!1,FEATURE_LEGACY_WRITE_ENABLED="FEATURE_LEGACY_WRITE_ENABLED",FEATURE_LEGACY_WRITE_ENABLED_DEFAULT=!1,FEATURE_CHANNEL_SYNC_ENABLED="FEATURE_CHANNEL_SYNC_ENABLED",FEATURE_CHANNEL_SYNC_ENABLED_DEFAULT=!0,FEATURE_INSPECTOR_ENABLED="FEATURE_INSPECTOR_ENABLED",FEATURE_INSPECTOR_ENABLED_DEFAULT=!1;async function clearReactorStorage(){const r=window.ph?.reactorClientModule?.pg;if(!r)throw new Error("PGlite not found");await dropAllReactorStorage(r),await r.close()}async function updateVetraPackages(r){const e=await loadCommonPackage(),M=[e,...r];return setVetraPackages([e,...r]),M}async function createReactor(){if(window.ph||(window.ph={}),window.ph.loading)return;window.ph.loading=!0,addPHEventHandlers(),setPHToast(toast);const r=await initFeatureFlags();logger.info("Features: @features",JSON.stringify(Object.fromEntries(r),null,2));const e=await BrowserKeyStorage.create(),M=await new RenownCryptoBuilder().withKeyPairStorage(e).build(),tr=await new RenownBuilder("connect",{basename:phGlobalConfigFromEnv.routerBasename,baseUrl:phGlobalConfigFromEnv.renownUrl}).withCrypto(M).build(),rr=await loadExternalPackages(),ir=await updateVetraPackages(rr),lr=ir.flatMap(yr=>yr.modules.documentModelModules).filter((yr,Ar,Dr)=>yr!==void 0&&Dr.findIndex(Ir=>Ir?.documentType===yr.documentType&&Ir.version===yr.version)===Ar),dr=ir.flatMap(yr=>yr.upgradeManifests),mr=await createBrowserReactor(lr,dr,tr),hr=await getDrives(mr.client),fr=window.location.pathname,_r=extractDriveSlugFromPath(fr),gr=extractNodeSlugFromPath(fr),br=getDidFromUrl();await login(br,tr);const wr=new ReactorClientDocumentCache(mr.client);setDefaultPHGlobalConfig(phGlobalConfigFromEnv),setReactorClientModule(mr),setReactorClient(mr.client),setDocumentCache(wr),setConnectCrypto(M),setDid(tr.did),setRenown(tr),setDrives(hr),setVetraPackages(ir),setSelectedDrive(_r),setSelectedNode(gr),setFeatures(r);const xr=getDefaultDrivesFromEnv();xr.length>0&&await addDefaultDrivesForNewReactor(xr);const vr=getDriveUrl();if(vr)try{await addRemoteDrive(vr,{})}catch(yr){console.error(`Failed to add remote drive from ${vr}:`,yr)}mr.client.subscribe({type:"powerhouse/document-drive"},yr=>{logger.verbose("ReactorClient subscription event: @event",yr),refreshReactorDataClient(mr.client).catch(Ar=>logger.error("@error",Ar))}),await refreshReactorDataClient(mr.client);const Sr=ir.filter(yr=>yr.processorFactory!==void 0);if(Sr.length>0){const{createProcessorHostModule:yr}=await __vitePreload(async()=>{const{createProcessorHostModule:Dr}=await import("./processor-host-module-B89Dt9nZ.js");return{createProcessorHostModule:Dr}},__vite__mapDeps([14,1,2])),Ar=await yr();Ar!==void 0&&await Promise.all(Sr.map(async Dr=>{const{id:Ir,name:Lr,processorFactory:Gr}=Dr;console.log("Loading processor factory:",Lr);try{const Or=await Gr(Ar);await mr.reactorModule?.processorManager.registerFactory(Ir,Or)}catch(Or){console.error(`Error registering processor: "${Lr}".`),console.error(Or)}}))}window.ph.loading=!1}function getDidFromUrl(){const e=new URLSearchParams(window.location.search).get("user");return e?decodeURIComponent(e):void 0}function getDriveUrl(){const e=new URLSearchParams(window.location.search).get("driveUrl");return e?decodeURIComponent(e):void 0}export{deleteOperation as A,addOperationError as B,C$1 as C,deleteOperationError as D,setOperationErrorName as E,addOperation as F,ce as G,Kysely as K,Nr as N,Pr as P,R$1 as R,T$2 as T,U$1 as U,We as W,u as a,cr as b,clearReactorStorage as c,createReactor as d,Cr as e,Ur as f,PGliteDialect as g,h$1 as h,setStateSchema as i,setModelId as j,k,setModelDescription as l,setModelExtension as m,setAuthorName as n,setAuthorWebsite as o,pr as p,setInitialState as q,addModule as r,setModelName as s,setModuleName as t,ur as u,deleteModule as v,setOperationName as w,x$3 as x,setOperationSchema as y,setOperationDescription as z};
193
+ //# sourceMappingURL=reactor-Bsjwm88i.js.map