pinecall 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +134 -0
  3. package/dist/agent/accepts.d.ts +32 -0
  4. package/dist/agent/accepts.d.ts.map +1 -0
  5. package/dist/agent/accepts.js +28 -0
  6. package/dist/agent/accepts.js.map +1 -0
  7. package/dist/agent/agent.d.ts +189 -0
  8. package/dist/agent/agent.d.ts.map +1 -0
  9. package/dist/agent/agent.js +262 -0
  10. package/dist/agent/agent.js.map +1 -0
  11. package/dist/agent/authors.d.ts +12 -0
  12. package/dist/agent/authors.d.ts.map +1 -0
  13. package/dist/agent/authors.js +28 -0
  14. package/dist/agent/authors.js.map +1 -0
  15. package/dist/agent/decorators.d.ts +22 -0
  16. package/dist/agent/decorators.d.ts.map +1 -0
  17. package/dist/agent/decorators.js +49 -0
  18. package/dist/agent/decorators.js.map +1 -0
  19. package/dist/agent/docstrings.d.ts +43 -0
  20. package/dist/agent/docstrings.d.ts.map +1 -0
  21. package/dist/agent/docstrings.js +311 -0
  22. package/dist/agent/docstrings.js.map +1 -0
  23. package/dist/agent/lifecycle.d.ts +29 -0
  24. package/dist/agent/lifecycle.d.ts.map +1 -0
  25. package/dist/agent/lifecycle.js +11 -0
  26. package/dist/agent/lifecycle.js.map +1 -0
  27. package/dist/agent/stages.d.ts +28 -0
  28. package/dist/agent/stages.d.ts.map +1 -0
  29. package/dist/agent/stages.js +32 -0
  30. package/dist/agent/stages.js.map +1 -0
  31. package/dist/agent/state.d.ts +43 -0
  32. package/dist/agent/state.d.ts.map +1 -0
  33. package/dist/agent/state.js +104 -0
  34. package/dist/agent/state.js.map +1 -0
  35. package/dist/agent/tools.d.ts +66 -0
  36. package/dist/agent/tools.d.ts.map +1 -0
  37. package/dist/agent/tools.js +148 -0
  38. package/dist/agent/tools.js.map +1 -0
  39. package/dist/agent/visibility.d.ts +40 -0
  40. package/dist/agent/visibility.d.ts.map +1 -0
  41. package/dist/agent/visibility.js +89 -0
  42. package/dist/agent/visibility.js.map +1 -0
  43. package/dist/call/call.d.ts +55 -0
  44. package/dist/call/call.d.ts.map +1 -0
  45. package/dist/call/call.js +108 -0
  46. package/dist/call/call.js.map +1 -0
  47. package/dist/call/history.d.ts +34 -0
  48. package/dist/call/history.d.ts.map +1 -0
  49. package/dist/call/history.js +38 -0
  50. package/dist/call/history.js.map +1 -0
  51. package/dist/call/room.d.ts +58 -0
  52. package/dist/call/room.d.ts.map +1 -0
  53. package/dist/call/room.js +68 -0
  54. package/dist/call/room.js.map +1 -0
  55. package/dist/cli/browser.d.ts +8 -0
  56. package/dist/cli/browser.d.ts.map +1 -0
  57. package/dist/cli/browser.js +27 -0
  58. package/dist/cli/browser.js.map +1 -0
  59. package/dist/cli/callbacks.d.ts +26 -0
  60. package/dist/cli/callbacks.d.ts.map +1 -0
  61. package/dist/cli/callbacks.js +68 -0
  62. package/dist/cli/callbacks.js.map +1 -0
  63. package/dist/cli/chat.d.ts +21 -0
  64. package/dist/cli/chat.d.ts.map +1 -0
  65. package/dist/cli/chat.js +214 -0
  66. package/dist/cli/chat.js.map +1 -0
  67. package/dist/cli/config.d.ts +16 -0
  68. package/dist/cli/config.d.ts.map +1 -0
  69. package/dist/cli/config.js +94 -0
  70. package/dist/cli/config.js.map +1 -0
  71. package/dist/cli/connected.d.ts +30 -0
  72. package/dist/cli/connected.d.ts.map +1 -0
  73. package/dist/cli/connected.js +32 -0
  74. package/dist/cli/connected.js.map +1 -0
  75. package/dist/cli/credentials.d.ts +41 -0
  76. package/dist/cli/credentials.d.ts.map +1 -0
  77. package/dist/cli/credentials.js +98 -0
  78. package/dist/cli/credentials.js.map +1 -0
  79. package/dist/cli/ear.d.ts +3 -0
  80. package/dist/cli/ear.d.ts.map +1 -0
  81. package/dist/cli/ear.js +59 -0
  82. package/dist/cli/ear.js.map +1 -0
  83. package/dist/cli/env.d.ts +40 -0
  84. package/dist/cli/env.d.ts.map +1 -0
  85. package/dist/cli/env.js +45 -0
  86. package/dist/cli/env.js.map +1 -0
  87. package/dist/cli/eval.d.ts +37 -0
  88. package/dist/cli/eval.d.ts.map +1 -0
  89. package/dist/cli/eval.js +83 -0
  90. package/dist/cli/eval.js.map +1 -0
  91. package/dist/cli/groups.d.ts +17 -0
  92. package/dist/cli/groups.d.ts.map +1 -0
  93. package/dist/cli/groups.js +38 -0
  94. package/dist/cli/groups.js.map +1 -0
  95. package/dist/cli/index.d.ts +16 -0
  96. package/dist/cli/index.d.ts.map +1 -0
  97. package/dist/cli/index.js +169 -0
  98. package/dist/cli/index.js.map +1 -0
  99. package/dist/cli/keys.d.ts +28 -0
  100. package/dist/cli/keys.d.ts.map +1 -0
  101. package/dist/cli/keys.js +137 -0
  102. package/dist/cli/keys.js.map +1 -0
  103. package/dist/cli/knowledge.d.ts +35 -0
  104. package/dist/cli/knowledge.d.ts.map +1 -0
  105. package/dist/cli/knowledge.js +174 -0
  106. package/dist/cli/knowledge.js.map +1 -0
  107. package/dist/cli/line.d.ts +33 -0
  108. package/dist/cli/line.d.ts.map +1 -0
  109. package/dist/cli/line.js +134 -0
  110. package/dist/cli/line.js.map +1 -0
  111. package/dist/cli/listening.d.ts +38 -0
  112. package/dist/cli/listening.d.ts.map +1 -0
  113. package/dist/cli/listening.js +124 -0
  114. package/dist/cli/listening.js.map +1 -0
  115. package/dist/cli/load.d.ts +38 -0
  116. package/dist/cli/load.d.ts.map +1 -0
  117. package/dist/cli/load.js +99 -0
  118. package/dist/cli/load.js.map +1 -0
  119. package/dist/cli/login.d.ts +30 -0
  120. package/dist/cli/login.d.ts.map +1 -0
  121. package/dist/cli/login.js +158 -0
  122. package/dist/cli/login.js.map +1 -0
  123. package/dist/cli/machine.d.ts +8 -0
  124. package/dist/cli/machine.d.ts.map +1 -0
  125. package/dist/cli/machine.js +41 -0
  126. package/dist/cli/machine.js.map +1 -0
  127. package/dist/cli/memory.d.ts +26 -0
  128. package/dist/cli/memory.d.ts.map +1 -0
  129. package/dist/cli/memory.js +148 -0
  130. package/dist/cli/memory.js.map +1 -0
  131. package/dist/cli/numbers.d.ts +25 -0
  132. package/dist/cli/numbers.d.ts.map +1 -0
  133. package/dist/cli/numbers.js +132 -0
  134. package/dist/cli/numbers.js.map +1 -0
  135. package/dist/cli/personas.d.ts +5 -0
  136. package/dist/cli/personas.d.ts.map +1 -0
  137. package/dist/cli/personas.js +94 -0
  138. package/dist/cli/personas.js.map +1 -0
  139. package/dist/cli/pipeline.d.ts +52 -0
  140. package/dist/cli/pipeline.d.ts.map +1 -0
  141. package/dist/cli/pipeline.js +184 -0
  142. package/dist/cli/pipeline.js.map +1 -0
  143. package/dist/cli/profiles.d.ts +70 -0
  144. package/dist/cli/profiles.d.ts.map +1 -0
  145. package/dist/cli/profiles.js +210 -0
  146. package/dist/cli/profiles.js.map +1 -0
  147. package/dist/cli/prompt.d.ts +20 -0
  148. package/dist/cli/prompt.d.ts.map +1 -0
  149. package/dist/cli/prompt.js +58 -0
  150. package/dist/cli/prompt.js.map +1 -0
  151. package/dist/cli/providers.d.ts +14 -0
  152. package/dist/cli/providers.d.ts.map +1 -0
  153. package/dist/cli/providers.js +116 -0
  154. package/dist/cli/providers.js.map +1 -0
  155. package/dist/cli/remember.d.ts +29 -0
  156. package/dist/cli/remember.d.ts.map +1 -0
  157. package/dist/cli/remember.js +112 -0
  158. package/dist/cli/remember.js.map +1 -0
  159. package/dist/cli/run.d.ts +20 -0
  160. package/dist/cli/run.d.ts.map +1 -0
  161. package/dist/cli/run.js +347 -0
  162. package/dist/cli/run.js.map +1 -0
  163. package/dist/cli/runs/candidate.d.ts +51 -0
  164. package/dist/cli/runs/candidate.d.ts.map +1 -0
  165. package/dist/cli/runs/candidate.js +127 -0
  166. package/dist/cli/runs/candidate.js.map +1 -0
  167. package/dist/cli/runs/drift.d.ts +75 -0
  168. package/dist/cli/runs/drift.d.ts.map +1 -0
  169. package/dist/cli/runs/drift.js +151 -0
  170. package/dist/cli/runs/drift.js.map +1 -0
  171. package/dist/cli/runs/index.d.ts +5 -0
  172. package/dist/cli/runs/index.d.ts.map +1 -0
  173. package/dist/cli/runs/index.js +99 -0
  174. package/dist/cli/runs/index.js.map +1 -0
  175. package/dist/cli/runs/suites.d.ts +16 -0
  176. package/dist/cli/runs/suites.d.ts.map +1 -0
  177. package/dist/cli/runs/suites.js +63 -0
  178. package/dist/cli/runs/suites.js.map +1 -0
  179. package/dist/cli/secret.d.ts +18 -0
  180. package/dist/cli/secret.d.ts.map +1 -0
  181. package/dist/cli/secret.js +41 -0
  182. package/dist/cli/secret.js.map +1 -0
  183. package/dist/cli/sessions.d.ts +21 -0
  184. package/dist/cli/sessions.d.ts.map +1 -0
  185. package/dist/cli/sessions.js +174 -0
  186. package/dist/cli/sessions.js.map +1 -0
  187. package/dist/cli/signup.d.ts +25 -0
  188. package/dist/cli/signup.d.ts.map +1 -0
  189. package/dist/cli/signup.js +122 -0
  190. package/dist/cli/signup.js.map +1 -0
  191. package/dist/cli/simulate.d.ts +45 -0
  192. package/dist/cli/simulate.d.ts.map +1 -0
  193. package/dist/cli/simulate.js +320 -0
  194. package/dist/cli/simulate.js.map +1 -0
  195. package/dist/cli/supervise.d.ts +18 -0
  196. package/dist/cli/supervise.d.ts.map +1 -0
  197. package/dist/cli/supervise.js +134 -0
  198. package/dist/cli/supervise.js.map +1 -0
  199. package/dist/cli/test.d.ts +12 -0
  200. package/dist/cli/test.d.ts.map +1 -0
  201. package/dist/cli/test.js +128 -0
  202. package/dist/cli/test.js.map +1 -0
  203. package/dist/cli/testing/caller.d.ts +28 -0
  204. package/dist/cli/testing/caller.d.ts.map +1 -0
  205. package/dist/cli/testing/caller.js +30 -0
  206. package/dist/cli/testing/caller.js.map +1 -0
  207. package/dist/cli/testing/gateway.d.ts +172 -0
  208. package/dist/cli/testing/gateway.d.ts.map +1 -0
  209. package/dist/cli/testing/gateway.js +96 -0
  210. package/dist/cli/testing/gateway.js.map +1 -0
  211. package/dist/cli/testing/goldens.d.ts +61 -0
  212. package/dist/cli/testing/goldens.d.ts.map +1 -0
  213. package/dist/cli/testing/goldens.js +54 -0
  214. package/dist/cli/testing/goldens.js.map +1 -0
  215. package/dist/cli/testing/latency.d.ts +15 -0
  216. package/dist/cli/testing/latency.d.ts.map +1 -0
  217. package/dist/cli/testing/latency.js +44 -0
  218. package/dist/cli/testing/latency.js.map +1 -0
  219. package/dist/cli/testing/matrix.d.ts +12 -0
  220. package/dist/cli/testing/matrix.d.ts.map +1 -0
  221. package/dist/cli/testing/matrix.js +103 -0
  222. package/dist/cli/testing/matrix.js.map +1 -0
  223. package/dist/cli/testing/progress.d.ts +26 -0
  224. package/dist/cli/testing/progress.d.ts.map +1 -0
  225. package/dist/cli/testing/progress.js +185 -0
  226. package/dist/cli/testing/progress.js.map +1 -0
  227. package/dist/cli/testing/reproduction.d.ts +19 -0
  228. package/dist/cli/testing/reproduction.d.ts.map +1 -0
  229. package/dist/cli/testing/reproduction.js +65 -0
  230. package/dist/cli/testing/reproduction.js.map +1 -0
  231. package/dist/cli/testing/score.d.ts +11 -0
  232. package/dist/cli/testing/score.d.ts.map +1 -0
  233. package/dist/cli/testing/score.js +54 -0
  234. package/dist/cli/testing/score.js.map +1 -0
  235. package/dist/cli/testing/seeding.d.ts +32 -0
  236. package/dist/cli/testing/seeding.d.ts.map +1 -0
  237. package/dist/cli/testing/seeding.js +44 -0
  238. package/dist/cli/testing/seeding.js.map +1 -0
  239. package/dist/cli/testing/suite.d.ts +40 -0
  240. package/dist/cli/testing/suite.d.ts.map +1 -0
  241. package/dist/cli/testing/suite.js +103 -0
  242. package/dist/cli/testing/suite.js.map +1 -0
  243. package/dist/cli/testing/voice.d.ts +37 -0
  244. package/dist/cli/testing/voice.d.ts.map +1 -0
  245. package/dist/cli/testing/voice.js +53 -0
  246. package/dist/cli/testing/voice.js.map +1 -0
  247. package/dist/cli/ui/admin/assets/index-C3WMXdfL.css +1 -0
  248. package/dist/cli/ui/admin/assets/index-DR1mxoAh.js +58 -0
  249. package/dist/cli/ui/admin/index.html +20 -0
  250. package/dist/cli/ui/asked.d.ts +16 -0
  251. package/dist/cli/ui/asked.d.ts.map +1 -0
  252. package/dist/cli/ui/asked.js +53 -0
  253. package/dist/cli/ui/asked.js.map +1 -0
  254. package/dist/cli/ui/browser.d.ts +10 -0
  255. package/dist/cli/ui/browser.d.ts.map +1 -0
  256. package/dist/cli/ui/browser.js +30 -0
  257. package/dist/cli/ui/browser.js.map +1 -0
  258. package/dist/cli/ui/chatting.d.ts +62 -0
  259. package/dist/cli/ui/chatting.d.ts.map +1 -0
  260. package/dist/cli/ui/chatting.js +171 -0
  261. package/dist/cli/ui/chatting.js.map +1 -0
  262. package/dist/cli/ui/console/assets/index-DCTnou52.css +1 -0
  263. package/dist/cli/ui/console/assets/index-dOcE4usU.js +99 -0
  264. package/dist/cli/ui/console/index.html +20 -0
  265. package/dist/cli/ui/console/logo-mark.png +0 -0
  266. package/dist/cli/ui/doors.d.ts +37 -0
  267. package/dist/cli/ui/doors.d.ts.map +1 -0
  268. package/dist/cli/ui/doors.js +70 -0
  269. package/dist/cli/ui/doors.js.map +1 -0
  270. package/dist/cli/ui/drifting.d.ts +23 -0
  271. package/dist/cli/ui/drifting.d.ts.map +1 -0
  272. package/dist/cli/ui/drifting.js +33 -0
  273. package/dist/cli/ui/drifting.js.map +1 -0
  274. package/dist/cli/ui/index.d.ts +15 -0
  275. package/dist/cli/ui/index.d.ts.map +1 -0
  276. package/dist/cli/ui/index.js +117 -0
  277. package/dist/cli/ui/index.js.map +1 -0
  278. package/dist/cli/ui/knowing.d.ts +36 -0
  279. package/dist/cli/ui/knowing.d.ts.map +1 -0
  280. package/dist/cli/ui/knowing.js +86 -0
  281. package/dist/cli/ui/knowing.js.map +1 -0
  282. package/dist/cli/ui/promoting.d.ts +26 -0
  283. package/dist/cli/ui/promoting.d.ts.map +1 -0
  284. package/dist/cli/ui/promoting.js +44 -0
  285. package/dist/cli/ui/promoting.js.map +1 -0
  286. package/dist/cli/ui/refusal.d.ts +18 -0
  287. package/dist/cli/ui/refusal.d.ts.map +1 -0
  288. package/dist/cli/ui/refusal.js +26 -0
  289. package/dist/cli/ui/refusal.js.map +1 -0
  290. package/dist/cli/ui/refused.d.ts +8 -0
  291. package/dist/cli/ui/refused.d.ts.map +1 -0
  292. package/dist/cli/ui/refused.js +11 -0
  293. package/dist/cli/ui/refused.js.map +1 -0
  294. package/dist/cli/ui/remembering.d.ts +38 -0
  295. package/dist/cli/ui/remembering.d.ts.map +1 -0
  296. package/dist/cli/ui/remembering.js +87 -0
  297. package/dist/cli/ui/remembering.js.map +1 -0
  298. package/dist/cli/ui/reproducing.d.ts +23 -0
  299. package/dist/cli/ui/reproducing.d.ts.map +1 -0
  300. package/dist/cli/ui/reproducing.js +52 -0
  301. package/dist/cli/ui/reproducing.js.map +1 -0
  302. package/dist/cli/ui/server.d.ts +22 -0
  303. package/dist/cli/ui/server.d.ts.map +1 -0
  304. package/dist/cli/ui/server.js +211 -0
  305. package/dist/cli/ui/server.js.map +1 -0
  306. package/dist/cli/ui/simulating.d.ts +47 -0
  307. package/dist/cli/ui/simulating.d.ts.map +1 -0
  308. package/dist/cli/ui/simulating.js +86 -0
  309. package/dist/cli/ui/simulating.js.map +1 -0
  310. package/dist/cli/ui/testing.d.ts +49 -0
  311. package/dist/cli/ui/testing.d.ts.map +1 -0
  312. package/dist/cli/ui/testing.js +104 -0
  313. package/dist/cli/ui/testing.js.map +1 -0
  314. package/dist/cli/view.d.ts +43 -0
  315. package/dist/cli/view.d.ts.map +1 -0
  316. package/dist/cli/view.js +137 -0
  317. package/dist/cli/view.js.map +1 -0
  318. package/dist/cli/whoami.d.ts +37 -0
  319. package/dist/cli/whoami.d.ts.map +1 -0
  320. package/dist/cli/whoami.js +78 -0
  321. package/dist/cli/whoami.js.map +1 -0
  322. package/dist/cli/world.d.ts +33 -0
  323. package/dist/cli/world.d.ts.map +1 -0
  324. package/dist/cli/world.js +48 -0
  325. package/dist/cli/world.js.map +1 -0
  326. package/dist/client/agent.d.ts +87 -0
  327. package/dist/client/agent.d.ts.map +1 -0
  328. package/dist/client/agent.js +209 -0
  329. package/dist/client/agent.js.map +1 -0
  330. package/dist/client/calls.d.ts +77 -0
  331. package/dist/client/calls.d.ts.map +1 -0
  332. package/dist/client/calls.js +153 -0
  333. package/dist/client/calls.js.map +1 -0
  334. package/dist/client/client.d.ts +58 -0
  335. package/dist/client/client.d.ts.map +1 -0
  336. package/dist/client/client.js +146 -0
  337. package/dist/client/client.js.map +1 -0
  338. package/dist/client/connection.d.ts +47 -0
  339. package/dist/client/connection.d.ts.map +1 -0
  340. package/dist/client/connection.js +141 -0
  341. package/dist/client/connection.js.map +1 -0
  342. package/dist/client/endpoints.d.ts +7 -0
  343. package/dist/client/endpoints.d.ts.map +1 -0
  344. package/dist/client/endpoints.js +21 -0
  345. package/dist/client/endpoints.js.map +1 -0
  346. package/dist/client/frames.d.ts +24 -0
  347. package/dist/client/frames.d.ts.map +1 -0
  348. package/dist/client/frames.js +49 -0
  349. package/dist/client/frames.js.map +1 -0
  350. package/dist/client/index.d.ts +15 -0
  351. package/dist/client/index.d.ts.map +1 -0
  352. package/dist/client/index.js +14 -0
  353. package/dist/client/index.js.map +1 -0
  354. package/dist/client/listeners.d.ts +36 -0
  355. package/dist/client/listeners.d.ts.map +1 -0
  356. package/dist/client/listeners.js +61 -0
  357. package/dist/client/listeners.js.map +1 -0
  358. package/dist/client/observe.d.ts +44 -0
  359. package/dist/client/observe.d.ts.map +1 -0
  360. package/dist/client/observe.js +122 -0
  361. package/dist/client/observe.js.map +1 -0
  362. package/dist/client/testing/gateway.d.ts +39 -0
  363. package/dist/client/testing/gateway.d.ts.map +1 -0
  364. package/dist/client/testing/gateway.js +129 -0
  365. package/dist/client/testing/gateway.js.map +1 -0
  366. package/dist/client/testing/index.d.ts +4 -0
  367. package/dist/client/testing/index.d.ts.map +1 -0
  368. package/dist/client/testing/index.js +4 -0
  369. package/dist/client/testing/index.js.map +1 -0
  370. package/dist/client/testing/log.d.ts +26 -0
  371. package/dist/client/testing/log.d.ts.map +1 -0
  372. package/dist/client/testing/log.js +111 -0
  373. package/dist/client/testing/log.js.map +1 -0
  374. package/dist/client/testing/loopback.d.ts +3 -0
  375. package/dist/client/testing/loopback.d.ts.map +1 -0
  376. package/dist/client/testing/loopback.js +3 -0
  377. package/dist/client/testing/loopback.js.map +1 -0
  378. package/dist/index.d.ts +22 -0
  379. package/dist/index.d.ts.map +1 -0
  380. package/dist/index.js +35 -0
  381. package/dist/index.js.map +1 -0
  382. package/dist/runtime/channels.d.ts +16 -0
  383. package/dist/runtime/channels.d.ts.map +1 -0
  384. package/dist/runtime/channels.js +30 -0
  385. package/dist/runtime/channels.js.map +1 -0
  386. package/dist/runtime/connect.d.ts +51 -0
  387. package/dist/runtime/connect.d.ts.map +1 -0
  388. package/dist/runtime/connect.js +284 -0
  389. package/dist/runtime/connect.js.map +1 -0
  390. package/dist/runtime/dispatch.d.ts +37 -0
  391. package/dist/runtime/dispatch.d.ts.map +1 -0
  392. package/dist/runtime/dispatch.js +52 -0
  393. package/dist/runtime/dispatch.js.map +1 -0
  394. package/dist/runtime/grounding.d.ts +15 -0
  395. package/dist/runtime/grounding.d.ts.map +1 -0
  396. package/dist/runtime/grounding.js +72 -0
  397. package/dist/runtime/grounding.js.map +1 -0
  398. package/dist/runtime/recall.d.ts +10 -0
  399. package/dist/runtime/recall.d.ts.map +1 -0
  400. package/dist/runtime/recall.js +13 -0
  401. package/dist/runtime/recall.js.map +1 -0
  402. package/dist/runtime/run-tool.d.ts +26 -0
  403. package/dist/runtime/run-tool.d.ts.map +1 -0
  404. package/dist/runtime/run-tool.js +82 -0
  405. package/dist/runtime/run-tool.js.map +1 -0
  406. package/dist/views/components.d.ts +17 -0
  407. package/dist/views/components.d.ts.map +1 -0
  408. package/dist/views/components.js +33 -0
  409. package/dist/views/components.js.map +1 -0
  410. package/dist/views/jsx-dev-runtime.d.ts +3 -0
  411. package/dist/views/jsx-dev-runtime.d.ts.map +1 -0
  412. package/dist/views/jsx-dev-runtime.js +5 -0
  413. package/dist/views/jsx-dev-runtime.js.map +1 -0
  414. package/dist/views/jsx-runtime.d.ts +49 -0
  415. package/dist/views/jsx-runtime.d.ts.map +1 -0
  416. package/dist/views/jsx-runtime.js +67 -0
  417. package/dist/views/jsx-runtime.js.map +1 -0
  418. package/dist/views/lang.d.ts +17 -0
  419. package/dist/views/lang.d.ts.map +1 -0
  420. package/dist/views/lang.js +46 -0
  421. package/dist/views/lang.js.map +1 -0
  422. package/dist/views/layout.d.ts +19 -0
  423. package/dist/views/layout.d.ts.map +1 -0
  424. package/dist/views/layout.js +62 -0
  425. package/dist/views/layout.js.map +1 -0
  426. package/dist/views/render.d.ts +19 -0
  427. package/dist/views/render.d.ts.map +1 -0
  428. package/dist/views/render.js +26 -0
  429. package/dist/views/render.js.map +1 -0
  430. package/package.json +76 -0
  431. package/tsconfig.tenant.json +24 -0
@@ -0,0 +1,99 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function ee(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function te(e,t){return ee(e.type,t,e.props)}function E(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function ne(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var D=/\/+/g;function re(e,t){return typeof e==`object`&&e&&e.key!=null?ne(``+e.key):t.toString(36)}function O(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function ie(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,ie(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+re(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(D,`$&/`)+`/`),ie(o,r,i,``,function(e){return e})):o!=null&&(E(o)&&(o=te(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(D,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+re(a,u),c+=ie(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+re(a,u++),c+=ie(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return ie(O(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function ae(e,t,n){if(e==null)return e;var r=[],i=0;return ie(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function oe(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var k=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},A={map:ae,forEach:function(e,t,n){ae(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ae(e,function(){t++}),t},toArray:function(e){return ae(e,function(e){return e})||[]},only:function(e){if(!E(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=A,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return ee(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return ee(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=E,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:oe}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,k)}catch(e){k(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.8`})),u=o(((e,t)=>{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,E());else{var t=n(l);t!==null&&re(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function ee(){return g?!0:!(e.unstable_now()-T<w)}function te(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ee());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&re(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?E():S=!1}}}var E;if(typeof y==`function`)E=function(){y(te)};else if(typeof MessageChannel<`u`){var ne=new MessageChannel,D=ne.port2;ne.port1.onmessage=te,E=function(){D.postMessage(null)}}else E=function(){_(te,0)};function re(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,re(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,E()))),r},e.unstable_shouldYield=ee,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`){if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)}},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`){if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)}},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.8`})),m=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=p()})),h=o((e=>{var t=f(),n=u(),r=m();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function d(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function p(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=p(e),t!==null)return t;e=e.sibling}return null}var h=Object.assign,g=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),ee=Symbol.for(`react.suspense_list`),te=Symbol.for(`react.memo`),E=Symbol.for(`react.lazy`),ne=Symbol.for(`react.activity`),D=Symbol.for(`react.memo_cache_sentinel`),re=Symbol.iterator;function O(e){return typeof e!=`object`||!e?null:(e=re&&e[re]||e[`@@iterator`],typeof e==`function`?e:null)}var ie=Symbol.for(`react.client.reference`);function ae(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ie?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case ee:return`SuspenseList`;case ne:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case te:return t=e.displayName||null,t===null?ae(e.type)||`Memo`:t;case E:t=e._payload,e=e._init;try{return ae(e(t))}catch{}}return null}var oe=Array.isArray,k=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,A=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,se={pending:!1,data:null,method:null,action:null},ce=[],le=-1;function ue(e){return{current:e}}function de(e){0>le||(e.current=ce[le],ce[le]=null,le--)}function fe(e,t){le++,ce[le]=e.current,e.current=t}var pe=ue(null),me=ue(null),he=ue(null),ge=ue(null);function _e(e,t){switch(fe(he,t),fe(me,e),fe(pe,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?sf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=sf(t),e=cf(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}de(pe),fe(pe,e)}function ve(){de(pe),de(me),de(he)}function ye(e){e.memoizedState!==null&&fe(ge,e);var t=pe.current,n=cf(t,e.type);t!==n&&(fe(me,e),fe(pe,n))}function be(e){me.current===e&&(de(pe),de(me)),ge.current===e&&(de(ge),up._currentValue=se)}var xe,Se;function Ce(e){if(xe===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);xe=t&&t[1]||``,Se=-1<e.stack.indexOf(`
2
+ at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
3
+ `+xe+e+Se}var we=!1;function Te(e,t){if(!e||we)return``;we=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
4
+ `),l=s.split(`
5
+ `);for(i=r=0;r<c.length&&!c[r].includes(`DetermineComponentFrameRoot`);)r++;for(;i<l.length&&!l[i].includes(`DetermineComponentFrameRoot`);)i++;if(r===c.length||i===l.length)for(r=c.length-1,i=l.length-1;1<=r&&0<=i&&c[r]!==l[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==l[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==l[i]){var u=`
6
+ `+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{we=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?Ce(n):``}function Ee(e,t){switch(e.tag){case 26:case 27:case 5:return Ce(e.type);case 16:return Ce(`Lazy`);case 13:return e.child!==t&&t!==null?Ce(`Suspense Fallback`):Ce(`Suspense`);case 19:return Ce(`SuspenseList`);case 0:case 15:return Te(e.type,!1);case 11:return Te(e.type.render,!1);case 1:return Te(e.type,!0);case 31:return Ce(`Activity`);default:return``}}function De(e){try{var t=``,n=null;do t+=Ee(e,n),n=e,e=e.return;while(e);return t}catch(e){return`
7
+ Error generating stack: `+e.message+`
8
+ `+e.stack}}var Oe=Object.prototype.hasOwnProperty,ke=t.unstable_scheduleCallback,Ae=t.unstable_cancelCallback,je=t.unstable_shouldYield,Me=t.unstable_requestPaint,Ne=t.unstable_now,Pe=t.unstable_getCurrentPriorityLevel,Fe=t.unstable_ImmediatePriority,Ie=t.unstable_UserBlockingPriority,Le=t.unstable_NormalPriority,Re=t.unstable_LowPriority,ze=t.unstable_IdlePriority,Be=t.log,Ve=t.unstable_setDisableYieldValue,He=null,Ue=null;function We(e){if(typeof Be==`function`&&Ve(e),Ue&&typeof Ue.setStrictMode==`function`)try{Ue.setStrictMode(He,e)}catch{}}var Ge=Math.clz32?Math.clz32:Je,Ke=Math.log,qe=Math.LN2;function Je(e){return e>>>=0,e===0?32:31-(Ke(e)/qe|0)|0}var Ye=256,Xe=262144,Ze=4194304;function Qe(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function $e(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Qe(n))):i=Qe(o):i=Qe(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Qe(n))):i=Qe(o)):i=Qe(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function et(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function tt(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function nt(){var e=Ze;return Ze<<=1,!(Ze&62914560)&&(Ze=4194304),e}function rt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function it(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function at(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-Ge(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&ot(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function ot(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Ge(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function st(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Ge(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function ct(e,t){var n=t&-t;return n=n&42?1:lt(n),(n&(e.suspendedLanes|t))===0?n:0}function lt(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function ut(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function dt(){var e=A.p;return e===0?(e=window.event,e===void 0?32:Tp(e.type)):e}function ft(e,t){var n=A.p;try{return A.p=e,t()}finally{A.p=n}}var pt=Math.random().toString(36).slice(2),mt=`__reactFiber$`+pt,ht=`__reactProps$`+pt,gt=`__reactContainer$`+pt,_t=`__reactEvents$`+pt,vt=`__reactListeners$`+pt,yt=`__reactHandles$`+pt,bt=`__reactResources$`+pt,xt=`__reactMarker$`+pt;function St(e){delete e[mt],delete e[ht],delete e[_t],delete e[vt],delete e[yt]}function Ct(e){var t=e[mt];if(t)return t;for(var n=e.parentNode;n;){if(t=n[gt]||n[mt]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=kf(e);e!==null;){if(n=e[mt])return n;e=kf(e)}return t}e=n,n=e.parentNode}return null}function wt(e){if(e=e[mt]||e[gt]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Tt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(i(33))}function Et(e){var t=e[bt];return t||=e[bt]={hoistableStyles:new Map,hoistableScripts:new Map},t}function Dt(e){e[xt]=!0}var Ot=new Set,kt={};function At(e,t){jt(e,t),jt(e+`Capture`,t)}function jt(e,t){for(kt[e]=t,e=0;e<t.length;e++)Ot.add(t[e])}var Mt=RegExp(`^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$`),Nt={},Pt={};function Ft(e){return Oe.call(Pt,e)?!0:Oe.call(Nt,e)?!1:Mt.test(e)?Pt[e]=!0:(Nt[e]=!0,!1)}function It(e,t,n){if(Ft(t)){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,``+n)}}}function Lt(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,``+n)}}function Rt(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,``+r)}}function zt(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function Bt(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function Vt(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ht(e){if(!e._valueTracker){var t=Bt(e)?`checked`:`value`;e._valueTracker=Vt(e,t,``+e[t])}}function Ut(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=Bt(e)?e.checked?`true`:`false`:e.value),e=r,e!==n&&(t.setValue(e),!0)}function Wt(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var Gt=/[\n"\\]/g;function Kt(e){return e.replace(Gt,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function qt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+zt(t)):e.value!==``+zt(t)&&(e.value=``+zt(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):Yt(e,o,zt(n)):Yt(e,o,zt(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+zt(s):e.removeAttribute(`name`)}function Jt(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){Ht(e);return}n=n==null?``:``+zt(n),t=t==null?n:``+zt(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),Ht(e)}function Yt(e,t,n){t===`number`&&Wt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function Xt(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+zt(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Zt(e,t,n){if(t!=null&&(t=``+zt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+zt(n)}function Qt(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(i(92));if(oe(r)){if(1<r.length)throw Error(i(93));r=r[0]}n=r}n??=``,t=n}n=zt(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Ht(e)}function $t(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var en=new Set(`animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp`.split(` `));function tn(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||en.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function nn(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(i(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var a in t)r=t[a],t.hasOwnProperty(a)&&n[a]!==r&&tn(e,a,r)}else for(var o in t)t.hasOwnProperty(o)&&tn(e,o,t[o])}function rn(e){if(e.indexOf(`-`)===-1)return!1;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var an=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),on=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function sn(e){return on.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function cn(){}var ln=null;function un(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var dn=null,fn=null;function pn(e){var t=wt(e);if(t&&(e=t.stateNode)){var n=e[ht]||null;a:switch(e=t.stateNode,t.type){case`input`:if(qt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+Kt(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=r[ht]||null;if(!a)throw Error(i(90));qt(r,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&Ut(r)}break a;case`textarea`:Zt(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&Xt(e,!!n.multiple,t,!1)}}}var mn=!1;function hn(e,t,n){if(mn)return e(t,n);mn=!0;try{return e(t)}finally{if(mn=!1,(dn!==null||fn!==null)&&(Lu(),dn&&(t=dn,e=fn,fn=dn=null,pn(t),e)))for(t=0;t<e.length;t++)pn(e[t])}}function gn(e,t){var n=e.stateNode;if(n===null)return null;var r=n[ht]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=e!==`button`&&e!==`input`&&e!==`select`&&e!==`textarea`),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(i(231,t,typeof n));return n}var _n=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),vn=!1;if(_n)try{var yn={};Object.defineProperty(yn,"passive",{get:function(){vn=!0}}),window.addEventListener(`test`,yn,yn),window.removeEventListener(`test`,yn,yn)}catch{vn=!1}var bn=null,xn=null,Sn=null;function Cn(){if(Sn)return Sn;var e,t=xn,n=t.length,r,i=`value`in bn?bn.value:bn.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return Sn=i.slice(e,1<r?1-r:void 0)}function wn(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Tn(){return!0}function En(){return!1}function Dn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?Tn:En,this.isPropagationStopped=En,this}return h(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=Tn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=Tn)},persist:function(){},isPersistent:Tn}),t}var On={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},kn=Dn(On),An=h({},On,{view:0,detail:0}),jn=Dn(An),Mn,Nn,Pn,Fn=h({},An,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Kn,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==Pn&&(Pn&&e.type===`mousemove`?(Mn=e.screenX-Pn.screenX,Nn=e.screenY-Pn.screenY):Nn=Mn=0,Pn=e),Mn)},movementY:function(e){return`movementY`in e?e.movementY:Nn}}),In=Dn(Fn),Ln=Dn(h({},Fn,{dataTransfer:0})),Rn=Dn(h({},An,{relatedTarget:0})),zn=Dn(h({},On,{animationName:0,elapsedTime:0,pseudoElement:0})),Bn=Dn(h({},On,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Vn=Dn(h({},On,{data:0})),Hn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Un={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},Wn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Gn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Wn[e])?!!t[e]:!1}function Kn(){return Gn}var qn=Dn(h({},An,{key:function(e){if(e.key){var t=Hn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=wn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Un[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Kn,charCode:function(e){return e.type===`keypress`?wn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?wn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Jn=Dn(h({},Fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Yn=Dn(h({},An,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Kn})),Xn=Dn(h({},On,{propertyName:0,elapsedTime:0,pseudoElement:0})),Zn=Dn(h({},Fn,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),Qn=Dn(h({},On,{newState:0,oldState:0})),$n=[9,13,27,32],er=_n&&`CompositionEvent`in window,tr=null;_n&&`documentMode`in document&&(tr=document.documentMode);var nr=_n&&`TextEvent`in window&&!tr,rr=_n&&(!er||tr&&8<tr&&11>=tr),ir=` `,ar=!1;function or(e,t){switch(e){case`keyup`:return $n.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function sr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var cr=!1;function lr(e,t){switch(e){case`compositionend`:return sr(t);case`keypress`:return t.which===32?(ar=!0,ir):null;case`textInput`:return e=t.data,e===ir&&ar?null:e;default:return null}}function ur(e,t){if(cr)return e===`compositionend`||!er&&or(e,t)?(e=Cn(),Sn=xn=bn=null,cr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return rr&&t.locale!==`ko`?null:t.data;default:return null}}var dr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!dr[e.type]:t===`textarea`}function pr(e,t,n,r){dn?fn?fn.push(r):fn=[r]:dn=r,t=Wd(t,`onChange`),0<t.length&&(n=new kn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var mr=null,hr=null;function gr(e){Ld(e,0)}function _r(e){if(Ut(Tt(e)))return e}function vr(e,t){if(e===`change`)return t}var yr=!1;if(_n){var br;if(_n){var xr=`oninput`in document;if(!xr){var Sr=document.createElement(`div`);Sr.setAttribute(`oninput`,`return;`),xr=typeof Sr.oninput==`function`}br=xr}else br=!1;yr=br&&(!document.documentMode||9<document.documentMode)}function Cr(){mr&&(mr.detachEvent(`onpropertychange`,wr),hr=mr=null)}function wr(e){if(e.propertyName===`value`&&_r(hr)){var t=[];pr(t,hr,e,un(e)),hn(gr,t)}}function Tr(e,t,n){e===`focusin`?(Cr(),mr=t,hr=n,mr.attachEvent(`onpropertychange`,wr)):e===`focusout`&&Cr()}function Er(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return _r(hr)}function Dr(e,t){if(e===`click`)return _r(t)}function Or(e,t){if(e===`input`||e===`change`)return _r(t)}function kr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var Ar=typeof Object.is==`function`?Object.is:kr;function jr(e,t){if(Ar(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!Oe.call(t,i)||!Ar(e[i],t[i]))return!1}return!0}function Mr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Nr(e,t){var n=Mr(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Mr(n)}}function Pr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Pr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Fr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Wt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Wt(e.document)}return t}function Ir(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Lr=_n&&`documentMode`in document&&11>=document.documentMode,Rr=null,zr=null,Br=null,Vr=!1;function Hr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Vr||Rr==null||Rr!==Wt(r)||(r=Rr,`selectionStart`in r&&Ir(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Br&&jr(Br,r)||(Br=r,r=Wd(zr,`onSelect`),0<r.length&&(t=new kn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Rr)))}function Ur(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Wr={animationend:Ur(`Animation`,`AnimationEnd`),animationiteration:Ur(`Animation`,`AnimationIteration`),animationstart:Ur(`Animation`,`AnimationStart`),transitionrun:Ur(`Transition`,`TransitionRun`),transitionstart:Ur(`Transition`,`TransitionStart`),transitioncancel:Ur(`Transition`,`TransitionCancel`),transitionend:Ur(`Transition`,`TransitionEnd`)},Gr={},Kr={};_n&&(Kr=document.createElement(`div`).style,`AnimationEvent`in window||(delete Wr.animationend.animation,delete Wr.animationiteration.animation,delete Wr.animationstart.animation),`TransitionEvent`in window||delete Wr.transitionend.transition);function qr(e){if(Gr[e])return Gr[e];if(!Wr[e])return e;var t=Wr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Kr)return Gr[e]=t[n];return e}var Jr=qr(`animationend`),Yr=qr(`animationiteration`),Xr=qr(`animationstart`),Zr=qr(`transitionrun`),Qr=qr(`transitionstart`),$r=qr(`transitioncancel`),ei=qr(`transitionend`),ti=new Map,ni=`abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);ni.push(`scrollEnd`);function ri(e,t){ti.set(e,t),At(t,[e])}var ii=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},ai=[],oi=0,si=0;function ci(){for(var e=oi,t=si=oi=0;t<e;){var n=ai[t];ai[t++]=null;var r=ai[t];ai[t++]=null;var i=ai[t];ai[t++]=null;var a=ai[t];if(ai[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&fi(n,i,a)}}function li(e,t,n,r){ai[oi++]=e,ai[oi++]=t,ai[oi++]=n,ai[oi++]=r,si|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function ui(e,t,n,r){return li(e,t,n,r),pi(e)}function di(e,t){return li(e,null,null,t),pi(e)}function fi(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-Ge(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function pi(e){if(50<Ou)throw Ou=0,ku=null,Error(i(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var mi={};function hi(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function gi(e,t,n,r){return new hi(e,t,n,r)}function _i(e){return e=e.prototype,!(!e||!e.isReactComponent)}function vi(e,t){var n=e.alternate;return n===null?(n=gi(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function yi(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function bi(e,t,n,r,a,o){var s=0;if(r=e,typeof e==`function`)_i(e)&&(s=1);else if(typeof e==`string`)s=tp(e,n,pe.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case ne:return e=gi(31,n,t,a),e.elementType=ne,e.lanes=o,e;case y:return xi(n.children,a,o,t);case b:s=8,a|=24;break;case x:return e=gi(12,n,t,a|2),e.elementType=x,e.lanes=o,e;case T:return e=gi(13,n,t,a),e.elementType=T,e.lanes=o,e;case ee:return e=gi(19,n,t,a),e.elementType=ee,e.lanes=o,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case C:s=10;break a;case S:s=9;break a;case w:s=11;break a;case te:s=14;break a;case E:s=16,r=null;break a}s=29,n=Error(i(130,e===null?`null`:typeof e,``)),r=null}return t=gi(s,n,t,a),t.elementType=e,t.type=r,t.lanes=o,t}function xi(e,t,n,r){return e=gi(7,e,r,t),e.lanes=n,e}function Si(e,t,n){return e=gi(6,e,null,t),e.lanes=n,e}function Ci(e){var t=gi(18,null,null,0);return t.stateNode=e,t}function wi(e,t,n){return t=gi(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Ti=new WeakMap;function Ei(e,t){if(typeof e==`object`&&e){var n=Ti.get(e);return n===void 0?(t={value:e,source:t,stack:De(t)},Ti.set(e,t),t):n}return{value:e,source:t,stack:De(t)}}var Di=[],Oi=0,ki=null,Ai=0,ji=[],Mi=0,Ni=null,Pi=1,Fi=``;function Ii(e,t){Di[Oi++]=Ai,Di[Oi++]=ki,ki=e,Ai=t}function Li(e,t,n){ji[Mi++]=Pi,ji[Mi++]=Fi,ji[Mi++]=Ni,Ni=e;var r=Pi;e=Fi;var i=32-Ge(r)-1;r&=~(1<<i),n+=1;var a=32-Ge(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Pi=1<<32-Ge(t)+i|n<<i|r,Fi=a+e}else Pi=1<<a|n<<i|r,Fi=e}function Ri(e){e.return!==null&&(Ii(e,1),Li(e,1,0))}function zi(e){for(;e===ki;)ki=Di[--Oi],Di[Oi]=null,Ai=Di[--Oi],Di[Oi]=null;for(;e===Ni;)Ni=ji[--Mi],ji[Mi]=null,Fi=ji[--Mi],ji[Mi]=null,Pi=ji[--Mi],ji[Mi]=null}function Bi(e,t){ji[Mi++]=Pi,ji[Mi++]=Fi,ji[Mi++]=Ni,Pi=t.id,Fi=t.overflow,Ni=e}var Vi=null,Hi=null,Ui=!1,Wi=null,Gi=!1,Ki=Error(i(519));function qi(e){throw $i(Ei(Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Ki}function Ji(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[mt]=e,t[ht]=r,n){case`dialog`:P(`cancel`,t),P(`close`,t);break;case`iframe`:case`object`:case`embed`:P(`load`,t);break;case`video`:case`audio`:for(n=0;n<Fd.length;n++)P(Fd[n],t);break;case`source`:P(`error`,t);break;case`img`:case`image`:case`link`:P(`error`,t),P(`load`,t);break;case`details`:P(`toggle`,t);break;case`input`:P(`invalid`,t),Jt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:P(`invalid`,t);break;case`textarea`:P(`invalid`,t),Qt(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||Xd(t.textContent,n)?(r.popover!=null&&(P(`beforetoggle`,t),P(`toggle`,t)),r.onScroll!=null&&P(`scroll`,t),r.onScrollEnd!=null&&P(`scrollend`,t),r.onClick!=null&&(t.onclick=cn),t=!0):t=!1,t||qi(e,!0)}function Yi(e){for(Vi=e.return;Vi;)switch(Vi.tag){case 5:case 31:case 13:Gi=!1;return;case 27:case 3:Gi=!0;return;default:Vi=Vi.return}}function Xi(e){if(e!==Vi)return!1;if(!Ui)return Yi(e),Ui=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=n===`form`||n===`button`||lf(e.type,e.memoizedProps)),n=!n),n&&Hi&&qi(e),Yi(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));Hi=Of(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));Hi=Of(e)}else t===27?(t=Hi,_f(e.type)?(e=Df,Df=null,Hi=e):Hi=t):Hi=Vi?Ef(e.stateNode.nextSibling):null;return!0}function Zi(){Hi=Vi=null,Ui=!1}function Qi(){var e=Wi;return e!==null&&(mu===null?mu=e:mu.push.apply(mu,e),Wi=null),e}function $i(e){Wi===null?Wi=[e]:Wi.push(e)}var ea=ue(null),ta=null,na=null;function ra(e,t,n){fe(ea,t._currentValue),t._currentValue=n}function ia(e){e._currentValue=ea.current,de(ea)}function aa(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function oa(e,t,n,r){var a=e.child;for(a!==null&&(a.return=e);a!==null;){var o=a.dependencies;if(o!==null){var s=a.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=a;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),aa(o.return,n,e),r||(s=null);break a}o=c.next}}else if(a.tag===18){if(s=a.return,s===null)throw Error(i(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),aa(s,n,e),s=null}else s=a.child;if(s!==null)s.return=a;else for(s=a;s!==null;){if(s===e){s=null;break}if(a=s.sibling,a!==null){a.return=s.return,s=a;break}s=s.return}a=s}}function sa(e,t,n,r){e=null;for(var a=t,o=!1;a!==null;){if(!o){if(a.flags&524288)o=!0;else if(a.flags&262144)break}if(a.tag===10){var s=a.alternate;if(s===null)throw Error(i(387));if(s=s.memoizedProps,s!==null){var c=a.type;Ar(a.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(a===ge.current){if(s=a.alternate,s===null)throw Error(i(387));s.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(e===null?e=[up]:e.push(up))}a=a.return}e!==null&&oa(t,e,n,r),t.flags|=262144}function ca(e){for(e=e.firstContext;e!==null;){if(!Ar(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function la(e){ta=e,na=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function ua(e){return fa(ta,e)}function da(e,t){return ta===null&&la(e),fa(e,t)}function fa(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},na===null){if(e===null)throw Error(i(308));na=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else na=na.next=t;return n}var pa=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},ma=t.unstable_scheduleCallback,j=t.unstable_NormalPriority,ha={$$typeof:C,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function ga(){return{controller:new pa,data:new Map,refCount:0}}function _a(e){e.refCount--,e.refCount===0&&ma(j,function(){e.controller.abort()})}var va=null,ya=0,ba=0,xa=null;function Sa(e,t){if(va===null){var n=va=[];ya=0,ba=kd(),xa={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return ya++,t.then(Ca,Ca),t}function Ca(){if(--ya===0&&va!==null){xa!==null&&(xa.status=`fulfilled`);var e=va;va=null,ba=0,xa=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function wa(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var Ta=k.S;k.S=function(e,t){_u=Ne(),typeof t==`object`&&t&&typeof t.then==`function`&&Sa(e,t),Ta!==null&&Ta(e,t)};var Ea=ue(null);function Da(){var e=Ea.current;return e===null?Ql.pooledCache:e}function Oa(e,t){t===null?fe(Ea,Ea.current):fe(Ea,t.pool)}function ka(){var e=Da();return e===null?null:{parent:ha._currentValue,pool:e}}var Aa=Error(i(460)),ja=Error(i(474)),Ma=Error(i(542)),Na={then:function(){}};function Pa(e){return e=e.status,e===`fulfilled`||e===`rejected`}function Fa(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(cn,cn),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Ra(e),e;default:if(typeof t.status==`string`)t.then(cn,cn);else{if(e=Ql,e!==null&&100<e.shellSuspendCounter)throw Error(i(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Ra(e),e}throw M=t,Aa}}function Ia(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(M=e,Aa):e}}var M=null;function La(){if(M===null)throw Error(i(459));var e=M;return M=null,e}function Ra(e){if(e===Aa||e===Ma)throw Error(i(483))}var za=null,Ba=0;function Va(e){var t=Ba;return Ba+=1,za===null&&(za=[]),Fa(za,e,t)}function Ha(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Ua(e,t){throw t.$$typeof===g?Error(i(525)):(e=Object.prototype.toString.call(t),Error(i(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function Wa(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function a(e,t){return e=vi(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=Si(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===y?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===E&&Ia(i)===t.type)?(t=a(t,n.props),Ha(t,n),t.return=e,t):(t=bi(n.type,n.key,n.props,null,e.mode,r),Ha(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=wi(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=xi(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=Si(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case _:return n=bi(t.type,t.key,t.props,null,e.mode,n),Ha(n,t),n.return=e,n;case v:return t=wi(t,e.mode,n),t.return=e,t;case E:return t=Ia(t),f(e,t,n)}if(oe(t)||O(t))return t=xi(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,Va(t),n);if(t.$$typeof===C)return f(e,da(e,t),n);Ua(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case _:return n.key===i?l(e,t,n,r):null;case v:return n.key===i?u(e,t,n,r):null;case E:return n=Ia(n),p(e,t,n,r)}if(oe(n)||O(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,Va(n),r);if(n.$$typeof===C)return p(e,t,da(e,n),r);Ua(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case _:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case v:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case E:return r=Ia(r),m(e,t,n,r,i)}if(oe(r)||O(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,Va(r),i);if(r.$$typeof===C)return m(e,t,n,da(t,r),i);Ua(t,r)}return null}function h(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),Ui&&Ii(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return Ui&&Ii(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),Ui&&Ii(i,h),l}function g(a,s,c,l){if(c==null)throw Error(i(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),Ui&&Ii(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return Ui&&Ii(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),Ui&&Ii(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===y&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case _:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===y){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===E&&Ia(l)===r.type){n(e,r.sibling),c=a(r,o.props),Ha(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===y?(c=xi(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=bi(o.type,o.key,o.props,null,e.mode,c),Ha(c,o),c.return=e,e=c)}return s(e);case v:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=wi(o,e.mode,c),c.return=e,e=c}return s(e);case E:return o=Ia(o),b(e,r,o,c)}if(oe(o))return h(e,r,o,c);if(O(o)){if(l=O(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Va(o),c);if(o.$$typeof===C)return b(e,r,da(e,o),c);Ua(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=Si(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Ba=0;var i=b(e,t,n,r);return za=null,i}catch(t){if(t===Aa||t===Ma)throw t;var a=gi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ga=Wa(!0),Ka=Wa(!1),qa=!1;function Ja(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ya(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Xa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Za(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Zl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=pi(e),fi(e,null,n),t}return li(e,r,t,n),pi(e)}function Qa(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,st(e,n)}}function $a(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var eo=!1;function to(){if(eo){var e=xa;if(e!==null)throw e}}function no(e,t,n,r){eo=!1;var i=e.updateQueue;qa=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(eu&f)===f:(r&f)===f){f!==0&&f===ba&&(eo=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(m=g.payload,typeof m==`function`){d=m.call(_,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m==`function`?m.call(_,d,f):m,f==null)break a;d=h({},d,f);break a;case 2:qa=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),cu|=o,e.lanes=o,e.memoizedState=d}}function ro(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function io(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)ro(n[e],t)}var ao=ue(null),oo=ue(0);function so(e,t){e=ou,fe(oo,e),fe(ao,t),ou=e|t.baseLanes}function co(){fe(oo,ou),fe(ao,ao.current)}function lo(){ou=oo.current,de(ao),de(oo)}var uo=ue(null),fo=null;function po(e){var t=e.alternate;fe(vo,vo.current&1),fe(uo,e),fo===null&&(t===null||ao.current!==null||t.memoizedState!==null)&&(fo=e)}function mo(e){fe(vo,vo.current),fe(uo,e),fo===null&&(fo=e)}function ho(e){e.tag===22?(fe(vo,vo.current),fe(uo,e),fo===null&&(fo=e)):go(e)}function go(){fe(vo,vo.current),fe(uo,uo.current)}function _o(e){de(uo),fo===e&&(fo=null),de(vo)}var vo=ue(0);function yo(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||Cf(n)||wf(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===`forwards`||t.memoizedProps.revealOrder===`backwards`||t.memoizedProps.revealOrder===`unstable_legacy-backwards`||t.memoizedProps.revealOrder===`together`)){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var bo=0,N=null,xo=null,So=null,Co=!1,wo=!1,To=!1,Eo=0,Do=0,Oo=null,ko=0;function Ao(){throw Error(i(321))}function jo(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Ar(e[n],t[n]))return!1;return!0}function Mo(e,t,n,r,i,a){return bo=a,N=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,k.H=e===null||e.memoizedState===null?Ys:Xs,To=!1,a=n(r,i),To=!1,wo&&(a=Po(t,n,r,i)),No(e),a}function No(e){k.H=Js;var t=xo!==null&&xo.next!==null;if(bo=0,So=xo=N=null,Co=!1,Do=0,Oo=null,t)throw Error(i(300));e===null||pc||(e=e.dependencies,e!==null&&ca(e)&&(pc=!0))}function Po(e,t,n,r){N=e;var a=0;do{if(wo&&(Oo=null),Do=0,wo=!1,25<=a)throw Error(i(301));if(a+=1,So=xo=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}k.H=Zs,o=t(n,r)}while(wo);return o}function Fo(){var e=k.H,t=e.useState()[0];return t=typeof t.then==`function`?Ho(t):t,e=e.useState()[0],(xo===null?null:xo.memoizedState)!==e&&(N.flags|=1024),t}function Io(){var e=Eo!==0;return Eo=0,e}function Lo(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Ro(e){if(Co){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Co=!1}bo=0,So=xo=N=null,wo=!1,Do=Eo=0,Oo=null}function zo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return So===null?N.memoizedState=So=e:So=So.next=e,So}function Bo(){if(xo===null){var e=N.alternate;e=e===null?null:e.memoizedState}else e=xo.next;var t=So===null?N.memoizedState:So.next;if(t!==null)So=t,xo=e;else{if(e===null)throw N.alternate===null?Error(i(467)):Error(i(310));xo=e,e={memoizedState:xo.memoizedState,baseState:xo.baseState,baseQueue:xo.baseQueue,queue:xo.queue,next:null},So===null?N.memoizedState=So=e:So=So.next=e}return So}function Vo(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Ho(e){var t=Do;return Do+=1,Oo===null&&(Oo=[]),e=Fa(Oo,e,t),t=N,(So===null?t.memoizedState:So.next)===null&&(t=t.alternate,k.H=t===null||t.memoizedState===null?Ys:Xs),e}function Uo(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return Ho(e);if(e.$$typeof===C)return ua(e)}throw Error(i(438,String(e)))}function Wo(e){var t=null,n=N.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=N.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=Vo(),N.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=D;return t.index++,n}function Go(e,t){return typeof t==`function`?t(e):t}function Ko(e){return qo(Bo(),xo,e)}function qo(e,t,n){var r=e.queue;if(r===null)throw Error(i(311));r.lastRenderedReducer=n;var a=e.baseQueue,o=r.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}t.baseQueue=a=o,r.pending=null}if(o=e.baseState,a===null)e.memoizedState=o;else{t=a.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(bo&f)===f:(eu&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===ba&&(d=!0);else if((bo&p)===p){u=u.next,p===ba&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,N.lanes|=p,cu|=p;f=u.action,To&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,N.lanes|=f,cu|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!Ar(o,e.memoizedState)&&(pc=!0,d&&(n=xa,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return a===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Jo(e){var t=Bo(),n=t.queue;if(n===null)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);Ar(o,t.memoizedState)||(pc=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function Yo(e,t,n){var r=N,a=Bo(),o=Ui;if(o){if(n===void 0)throw Error(i(407));n=n()}else n=t();var s=!Ar((xo||a).memoizedState,n);if(s&&(a.memoizedState=n,pc=!0),a=a.queue,bs(Qo.bind(null,r,a,e),[e]),a.getSnapshot!==t||s||So!==null&&So.memoizedState.tag&1){if(r.flags|=2048,hs(9,{destroy:void 0},Zo.bind(null,r,a,n,t),null),Ql===null)throw Error(i(349));o||bo&127||Xo(r,t,n)}return n}function Xo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=N.updateQueue,t===null?(t=Vo(),N.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Zo(e,t,n,r){t.value=n,t.getSnapshot=r,$o(t)&&es(e)}function Qo(e,t,n){return n(function(){$o(t)&&es(e)})}function $o(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Ar(e,n)}catch{return!0}}function es(e){var t=di(e,2);t!==null&&Mu(t,e,2)}function ts(e){var t=zo();if(typeof e==`function`){var n=e;if(e=n(),To){We(!0);try{n()}finally{We(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Go,lastRenderedState:e},t}function ns(e,t,n,r){return e.baseState=n,qo(e,xo,typeof r==`function`?r:Go)}function rs(e,t,n,r,a){if(Gs(e))throw Error(i(485));if(e=t.action,e!==null){var o={payload:a,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};k.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,is(t,o)):(o.next=n.next,t.pending=n.next=o)}}function is(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=k.T,o={};k.T=o;try{var s=n(i,r),c=k.S;c!==null&&c(o,s),as(e,t,s)}catch(n){ss(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),k.T=a}}else try{a=n(i,r),as(e,t,a)}catch(n){ss(e,t,n)}}function as(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){os(e,t,n)},function(n){return ss(e,t,n)}):os(e,t,n)}function os(e,t,n){t.status=`fulfilled`,t.value=n,cs(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,is(e,n)))}function ss(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,cs(t),t=t.next;while(t!==r)}e.action=null}function cs(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function ls(e,t){return t}function us(e,t){if(Ui){var n=Ql.formState;if(n!==null){a:{var r=N;if(Ui){if(Hi){b:{for(var i=Hi,a=Gi;i.nodeType!==8;){if(!a){i=null;break b}if(i=Ef(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){Hi=Ef(i.nextSibling),r=i.data===`F!`;break a}}qi(r)}r=!1}r&&(t=n[0])}}return n=zo(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ls,lastRenderedState:t},n.queue=r,n=Hs.bind(null,N,r),r.dispatch=n,r=ts(!1),a=Ws.bind(null,N,!1,r.queue),r=zo(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=rs.bind(null,N,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function ds(e){return fs(Bo(),xo,e)}function fs(e,t,n){if(t=qo(e,t,ls)[0],e=Ko(Go)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=Ho(t)}catch(e){throw e===Aa?Ma:e}else r=t;t=Bo();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(N.flags|=2048,hs(9,{destroy:void 0},ps.bind(null,i,n),null)),[r,a,e]}function ps(e,t){e.action=t}function ms(e){var t=Bo(),n=xo;if(n!==null)return fs(t,n,e);Bo(),t=t.memoizedState,n=Bo();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function hs(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=N.updateQueue,t===null&&(t=Vo(),N.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function gs(){return Bo().memoizedState}function _s(e,t,n,r){var i=zo();N.flags|=e,i.memoizedState=hs(1|t,{destroy:void 0},n,r===void 0?null:r)}function vs(e,t,n,r){var i=Bo();r=r===void 0?null:r;var a=i.memoizedState.inst;xo!==null&&r!==null&&jo(r,xo.memoizedState.deps)?i.memoizedState=hs(t,a,n,r):(N.flags|=e,i.memoizedState=hs(1|t,a,n,r))}function ys(e,t){_s(8390656,8,e,t)}function bs(e,t){vs(2048,8,e,t)}function xs(e){N.flags|=4;var t=N.updateQueue;if(t===null)t=Vo(),N.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function Ss(e){var t=Bo().memoizedState;return xs({ref:t,nextImpl:e}),function(){if(Zl&2)throw Error(i(440));return t.impl.apply(void 0,arguments)}}function Cs(e,t){return vs(4,2,e,t)}function ws(e,t){return vs(4,4,e,t)}function Ts(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Es(e,t,n){n=n==null?null:n.concat([e]),vs(4,4,Ts.bind(null,t,e),n)}function Ds(){}function Os(e,t){var n=Bo();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&jo(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function ks(e,t){var n=Bo();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&jo(t,r[1]))return r[0];if(r=e(),To){We(!0);try{e()}finally{We(!1)}}return n.memoizedState=[r,t],r}function As(e,t,n){return n===void 0||bo&1073741824&&!(eu&261930)?e.memoizedState=t:(e.memoizedState=n,e=ju(),N.lanes|=e,cu|=e,n)}function js(e,t,n,r){return Ar(n,t)?n:ao.current===null?!(bo&42)||bo&1073741824&&!(eu&261930)?(pc=!0,e.memoizedState=n):(e=ju(),N.lanes|=e,cu|=e,t):(e=As(e,n,r),Ar(e,t)||(pc=!0),e)}function Ms(e,t,n,r,i){var a=A.p;A.p=a!==0&&8>a?a:8;var o=k.T,s={};k.T=s,Ws(e,!1,t,n);try{var c=i(),l=k.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Us(e,t,wa(c,r),Au(e)):Us(e,t,r,Au(e))}catch(n){Us(e,t,{then:function(){},status:`rejected`,reason:n},Au())}finally{A.p=a,o!==null&&s.types!==null&&(o.types=s.types),k.T=o}}function Ns(){}function Ps(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=Fs(e).queue;Ms(e,a,t,se,n===null?Ns:function(){return Is(e),n(r)})}function Fs(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:se,baseState:se,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Go,lastRenderedState:se},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Go,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Is(e){var t=Fs(e);t.next===null&&(t=e.alternate.memoizedState),Us(e,t.next.queue,{},Au())}function Ls(){return ua(up)}function Rs(){return Bo().memoizedState}function zs(){return Bo().memoizedState}function Bs(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Au();e=Xa(n);var r=Za(t,e,n);r!==null&&(Mu(r,t,n),Qa(r,t,n)),t={cache:ga()},e.payload=t;return}t=t.return}}function Vs(e,t,n){var r=Au();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Gs(e)?Ks(t,n):(n=ui(e,t,n,r),n!==null&&(Mu(n,e,r),qs(n,t,r)))}function Hs(e,t,n){Us(e,t,n,Au())}function Us(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Gs(e))Ks(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Ar(s,o))return li(e,t,i,0),Ql===null&&ci(),!1}catch{}if(n=ui(e,t,i,r),n!==null)return Mu(n,e,r),qs(n,t,r),!0}return!1}function Ws(e,t,n,r){if(r={lane:2,revertLane:kd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Gs(e)){if(t)throw Error(i(479))}else t=ui(e,n,r,2),t!==null&&Mu(t,e,2)}function Gs(e){var t=e.alternate;return e===N||t!==null&&t===N}function Ks(e,t){wo=Co=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function qs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,st(e,n)}}var Js={readContext:ua,use:Uo,useCallback:Ao,useContext:Ao,useEffect:Ao,useImperativeHandle:Ao,useLayoutEffect:Ao,useInsertionEffect:Ao,useMemo:Ao,useReducer:Ao,useRef:Ao,useState:Ao,useDebugValue:Ao,useDeferredValue:Ao,useTransition:Ao,useSyncExternalStore:Ao,useId:Ao,useHostTransitionStatus:Ao,useFormState:Ao,useActionState:Ao,useOptimistic:Ao,useMemoCache:Ao,useCacheRefresh:Ao};Js.useEffectEvent=Ao;var Ys={readContext:ua,use:Uo,useCallback:function(e,t){return zo().memoizedState=[e,t===void 0?null:t],e},useContext:ua,useEffect:ys,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),_s(4194308,4,Ts.bind(null,t,e),n)},useLayoutEffect:function(e,t){return _s(4194308,4,e,t)},useInsertionEffect:function(e,t){_s(4,2,e,t)},useMemo:function(e,t){var n=zo();t=t===void 0?null:t;var r=e();if(To){We(!0);try{e()}finally{We(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=zo();if(n!==void 0){var i=n(t);if(To){We(!0);try{n(t)}finally{We(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Vs.bind(null,N,e),[r.memoizedState,e]},useRef:function(e){var t=zo();return e={current:e},t.memoizedState=e},useState:function(e){e=ts(e);var t=e.queue,n=Hs.bind(null,N,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Ds,useDeferredValue:function(e,t){return As(zo(),e,t)},useTransition:function(){var e=ts(!1);return e=Ms.bind(null,N,e.queue,!0,!1),zo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=N,a=zo();if(Ui){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),Ql===null)throw Error(i(349));eu&127||Xo(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,ys(Qo.bind(null,r,o,e),[e]),r.flags|=2048,hs(9,{destroy:void 0},Zo.bind(null,r,o,n,t),null),n},useId:function(){var e=zo(),t=Ql.identifierPrefix;if(Ui){var n=Fi,r=Pi;n=(r&~(1<<32-Ge(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=Eo++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=ko++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:Ls,useFormState:us,useActionState:us,useOptimistic:function(e){var t=zo();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Ws.bind(null,N,!0,n),n.dispatch=t,[e,t]},useMemoCache:Wo,useCacheRefresh:function(){return zo().memoizedState=Bs.bind(null,N)},useEffectEvent:function(e){var t=zo(),n={impl:e};return t.memoizedState=n,function(){if(Zl&2)throw Error(i(440));return n.impl.apply(void 0,arguments)}}},Xs={readContext:ua,use:Uo,useCallback:Os,useContext:ua,useEffect:bs,useImperativeHandle:Es,useInsertionEffect:Cs,useLayoutEffect:ws,useMemo:ks,useReducer:Ko,useRef:gs,useState:function(){return Ko(Go)},useDebugValue:Ds,useDeferredValue:function(e,t){return js(Bo(),xo.memoizedState,e,t)},useTransition:function(){var e=Ko(Go)[0],t=Bo().memoizedState;return[typeof e==`boolean`?e:Ho(e),t]},useSyncExternalStore:Yo,useId:Rs,useHostTransitionStatus:Ls,useFormState:ds,useActionState:ds,useOptimistic:function(e,t){return ns(Bo(),xo,e,t)},useMemoCache:Wo,useCacheRefresh:zs};Xs.useEffectEvent=Ss;var Zs={readContext:ua,use:Uo,useCallback:Os,useContext:ua,useEffect:bs,useImperativeHandle:Es,useInsertionEffect:Cs,useLayoutEffect:ws,useMemo:ks,useReducer:Jo,useRef:gs,useState:function(){return Jo(Go)},useDebugValue:Ds,useDeferredValue:function(e,t){var n=Bo();return xo===null?As(n,e,t):js(n,xo.memoizedState,e,t)},useTransition:function(){var e=Jo(Go)[0],t=Bo().memoizedState;return[typeof e==`boolean`?e:Ho(e),t]},useSyncExternalStore:Yo,useId:Rs,useHostTransitionStatus:Ls,useFormState:ms,useActionState:ms,useOptimistic:function(e,t){var n=Bo();return xo===null?(n.baseState=e,[e,n.queue.dispatch]):ns(n,xo,e,t)},useMemoCache:Wo,useCacheRefresh:zs};Zs.useEffectEvent=Ss;function Qs(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:h({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var $s={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Au(),i=Xa(r);i.payload=t,n!=null&&(i.callback=n),t=Za(e,i,r),t!==null&&(Mu(t,e,r),Qa(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Au(),i=Xa(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Za(e,i,r),t!==null&&(Mu(t,e,r),Qa(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Au(),r=Xa(n);r.tag=2,t!=null&&(r.callback=t),t=Za(e,r,n),t!==null&&(Mu(t,e,n),Qa(t,e,n))}};function ec(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!jr(n,r)||!jr(i,a):!0}function tc(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&$s.enqueueReplaceState(t,t.state,null)}function nc(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=h({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function rc(e){ii(e)}function ic(e){console.error(e)}function ac(e){ii(e)}function oc(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function sc(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function cc(e,t,n){return n=Xa(n),n.tag=3,n.payload={element:null},n.callback=function(){oc(e,t)},n}function lc(e){return e=Xa(e),e.tag=3,e}function uc(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){sc(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){sc(t,n,r),typeof i!=`function`&&(bu===null?bu=new Set([this]):bu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function dc(e,t,n,r,a){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&sa(t,n,a,!0),n=uo.current,n!==null){switch(n.tag){case 31:case 13:return fo===null?Wu():n.alternate===null&&su===0&&(su=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===Na?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),ld(e,r,a)),!1;case 22:return n.flags|=65536,r===Na?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),ld(e,r,a)),!1}throw Error(i(435,n.tag))}return ld(e,r,a),Wu(),!1}if(Ui)return t=uo.current,t===null?(r!==Ki&&(t=Error(i(423),{cause:r}),$i(Ei(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,r=Ei(r,n),a=cc(e.stateNode,r,a),$a(e,a),su!==4&&(su=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==Ki&&(e=Error(i(422),{cause:r}),$i(Ei(e,n)))),!1;var o=Error(i(520),{cause:r});if(o=Ei(o,n),pu===null?pu=[o]:pu.push(o),su!==4&&(su=2),t===null)return!0;r=Ei(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=cc(n.stateNode,r,e),$a(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(bu===null||!bu.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,a=lc(a),uc(a,e,n,r),$a(n,a),!1}n=n.return}while(n!==null);return!1}var fc=Error(i(461)),pc=!1;function mc(e,t,n,r){t.child=e===null?Ka(t,null,n,r):Ga(t,e.child,n,r)}function hc(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return la(t),r=Mo(e,t,n,o,a,i),s=Io(),e!==null&&!pc?(Lo(e,t,i),zc(e,t,i)):(Ui&&s&&Ri(t),t.flags|=1,mc(e,t,r,i),t.child)}function gc(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!_i(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,_c(e,t,a,r,i)):(e=bi(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Bc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?jr:n,n(o,r)&&e.ref===t.ref)return zc(e,t,i)}return t.flags|=1,e=vi(a,r),e.ref=t.ref,e.return=t,t.child=e}function _c(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(jr(a,r)&&e.ref===t.ref){if(pc=!1,t.pendingProps=r=a,Bc(e,i))e.flags&131072&&(pc=!0);else return t.lanes=e.lanes,zc(e,t,i)}}return Tc(e,t,n,r,i)}function vc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return bc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Oa(t,a===null?null:a.cachePool),a===null?co():so(t,a),ho(t);else return r=t.lanes=536870912,bc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&Oa(t,null),co(),go(t)):(Oa(t,a.cachePool),so(t,a),go(t),t.memoizedState=null);return mc(e,t,i,n),t.child}function yc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function bc(e,t,n,r,i){var a=Da();return a=a===null?null:{parent:ha._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&Oa(t,null),co(),ho(t),e!==null&&sa(e,t,r,!0),t.childLanes=i,null}function xc(e,t){return t=Pc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Sc(e,t,n){return Ga(t,e.child,null,n),e=xc(t,t.pendingProps),e.flags|=2,_o(t),t.memoizedState=null,e}function Cc(e,t,n){var r=t.pendingProps,a=!!(t.flags&128);if(t.flags&=-129,e===null){if(Ui){if(r.mode===`hidden`)return e=xc(t,r),t.lanes=536870912,yc(null,e);if(mo(t),(e=Hi)?(e=Sf(e,Gi),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ni===null?null:{id:Pi,overflow:Fi},retryLane:536870912,hydrationErrors:null},n=Ci(e),n.return=t,t.child=n,Vi=t,Hi=null)):e=null,e===null)throw qi(t);return t.lanes=536870912,null}return xc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(mo(t),a){if(t.flags&256)t.flags&=-257,t=Sc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(i(558))}else if(pc||sa(e,t,n,!1),a=(n&e.childLanes)!==0,pc||a){if(r=Ql,r!==null&&(s=ct(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,di(e,s),Mu(r,e,s),fc;Wu(),t=Sc(e,t,n)}else e=o.treeContext,Hi=Ef(s.nextSibling),Vi=t,Ui=!0,Wi=null,Gi=!1,e!==null&&Bi(t,e),t=xc(t,r),t.flags|=4096;return t}return e=vi(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function wc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(i(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Tc(e,t,n,r,i){return la(t),n=Mo(e,t,n,r,void 0,i),r=Io(),e!==null&&!pc?(Lo(e,t,i),zc(e,t,i)):(Ui&&r&&Ri(t),t.flags|=1,mc(e,t,n,i),t.child)}function Ec(e,t,n,r,i,a){return la(t),t.updateQueue=null,n=Po(t,r,n,i),No(e),r=Io(),e!==null&&!pc?(Lo(e,t,a),zc(e,t,a)):(Ui&&r&&Ri(t),t.flags|=1,mc(e,t,n,a),t.child)}function Dc(e,t,n,r,i){if(la(t),t.stateNode===null){var a=mi,o=n.contextType;typeof o==`object`&&o&&(a=ua(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=$s,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},Ja(t),o=n.contextType,a.context=typeof o==`object`&&o?ua(o):mi,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Qs(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&$s.enqueueReplaceState(a,a.state,null),no(t,r,a,i),to(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=nc(n,s);a.props=c;var l=a.context,u=n.contextType;o=mi,typeof u==`object`&&u&&(o=ua(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&tc(t,a,r,o),qa=!1;var f=t.memoizedState;a.state=f,no(t,r,a,i),to(),l=t.memoizedState,s||f!==l||qa?(typeof d==`function`&&(Qs(t,n,d,r),l=t.memoizedState),(c=qa||ec(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Ya(e,t),o=t.memoizedProps,u=nc(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=mi,typeof l==`object`&&l&&(c=ua(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&tc(t,a,r,c),qa=!1,f=t.memoizedState,a.state=f,no(t,r,a,i),to();var p=t.memoizedState;o!==d||f!==p||qa||e!==null&&e.dependencies!==null&&ca(e.dependencies)?(typeof s==`function`&&(Qs(t,n,s,r),p=t.memoizedState),(u=qa||ec(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&ca(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,wc(e,t),r=!!(t.flags&128),a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Ga(t,e.child,null,i),t.child=Ga(t,null,n,i)):mc(e,t,n,i),t.memoizedState=a.state,e=t.child):e=zc(e,t,i),e}function Oc(e,t,n,r){return Zi(),t.flags|=256,mc(e,t,n,r),t.child}var kc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Ac(e){return{baseLanes:e,cachePool:ka()}}function jc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=du),e}function Mc(e,t,n){var r=t.pendingProps,a=!1,o=!!(t.flags&128),s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:!!(vo.current&2)),s&&(a=!0,t.flags&=-129),s=!!(t.flags&32),t.flags&=-33,e===null){if(Ui){if(a?po(t):go(t),(e=Hi)?(e=Sf(e,Gi),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ni===null?null:{id:Pi,overflow:Fi},retryLane:536870912,hydrationErrors:null},n=Ci(e),n.return=t,t.child=n,Vi=t,Hi=null)):e=null,e===null)throw qi(t);return wf(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,a?(go(t),a=t.mode,c=Pc({mode:`hidden`,children:c},a),r=xi(r,a,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=Ac(n),r.childLanes=jc(e,s,n),t.memoizedState=kc,yc(null,r)):(po(t),Nc(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(po(t),t.flags&=-257,t=Fc(e,t,n)):t.memoizedState===null?(go(t),c=r.fallback,a=t.mode,r=Pc({mode:`visible`,children:r.children},a),c=xi(c,a,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,Ga(t,e.child,null,n),r=t.child,r.memoizedState=Ac(n),r.childLanes=jc(e,s,n),t.memoizedState=kc,t=yc(null,r)):(go(t),t.child=e.child,t.flags|=128,t=null);else if(po(t),wf(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(i(419)),r.stack=``,r.digest=s,$i({value:r,source:null,stack:null}),t=Fc(e,t,n)}else if(pc||sa(e,t,n,!1),s=(n&e.childLanes)!==0,pc||s){if(s=Ql,s!==null&&(r=ct(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,di(e,r),Mu(s,e,r),fc;Cf(c)||Wu(),t=Fc(e,t,n)}else Cf(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,Hi=Ef(c.nextSibling),Vi=t,Ui=!0,Wi=null,Gi=!1,e!==null&&Bi(t,e),t=Nc(t,r.children),t.flags|=4096);return t}return a?(go(t),c=r.fallback,a=t.mode,l=e.child,u=l.sibling,r=vi(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=xi(c,a,n,null),c.flags|=2):c=vi(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,yc(null,r),r=t.child,c=e.child.memoizedState,c===null?c=Ac(n):(a=c.cachePool,a===null?a=ka():(l=ha._currentValue,a=a.parent===l?a:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:a}),r.memoizedState=c,r.childLanes=jc(e,s,n),t.memoizedState=kc,yc(e.child,r)):(po(t),n=e.child,e=n.sibling,n=vi(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function Nc(e,t){return t=Pc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function Pc(e,t){return e=gi(22,e,null,t),e.lanes=0,e}function Fc(e,t,n){return Ga(t,e.child,null,n),e=Nc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Ic(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),aa(e.return,t,n)}function Lc(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function Rc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=vo.current,s=!!(o&2);if(s?(o=o&1|2,t.flags|=128):o&=1,fe(vo,o),mc(e,t,r,n),r=Ui?Ai:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Ic(e,n,t);else if(e.tag===19)Ic(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&yo(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Lc(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&yo(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Lc(t,!0,n,null,a,r);break;case`together`:Lc(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function zc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),cu|=t.lanes,(n&t.childLanes)===0){if(e!==null){if(sa(e,t,n,!1),(n&t.childLanes)===0)return null}else return null}if(e!==null&&t.child!==e.child)throw Error(i(153));if(t.child!==null){for(e=t.child,n=vi(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=vi(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Bc(e,t){return(e.lanes&t)!==0||(e=e.dependencies,!!(e!==null&&ca(e)))}function Vc(e,t,n){switch(t.tag){case 3:_e(t,t.stateNode.containerInfo),ra(t,ha,e.memoizedState.cache),Zi();break;case 27:case 5:ye(t);break;case 4:_e(t,t.stateNode.containerInfo);break;case 10:ra(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,mo(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(po(t),e=zc(e,t,n),e===null?null:e.sibling):Mc(e,t,n):(po(t),t.flags|=128,null);po(t);break;case 19:var i=!!(e.flags&128);if(r=(n&t.childLanes)!==0,r||=(sa(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return Rc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),fe(vo,vo.current),r)break;return null;case 22:return t.lanes=0,vc(e,t,n,t.pendingProps);case 24:ra(t,ha,e.memoizedState.cache)}return zc(e,t,n)}function Hc(e,t,n){if(e!==null){if(e.memoizedProps!==t.pendingProps)pc=!0;else{if(!Bc(e,n)&&!(t.flags&128))return pc=!1,Vc(e,t,n);pc=!!(e.flags&131072)}}else pc=!1,Ui&&t.flags&1048576&&Li(t,Ai,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=Ia(t.elementType),t.type=e,typeof e==`function`)_i(e)?(r=nc(e,r),t.tag=1,t=Dc(null,t,e,r,n)):(t.tag=0,t=Tc(null,t,e,r,n));else{if(e!=null){var a=e.$$typeof;if(a===w){t.tag=11,t=hc(null,t,e,r,n);break a}if(a===te){t.tag=14,t=gc(null,t,e,r,n);break a}}throw t=ae(e)||e,Error(i(306,t,``))}}return t;case 0:return Tc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,a=nc(r,t.pendingProps),Dc(e,t,r,a,n);case 3:a:{if(_e(t,t.stateNode.containerInfo),e===null)throw Error(i(387));r=t.pendingProps;var o=t.memoizedState;a=o.element,Ya(e,t),no(t,r,null,n);var s=t.memoizedState;if(r=s.cache,ra(t,ha,r),r!==o.cache&&oa(t,[ha],n,!0),to(),r=s.element,o.isDehydrated){if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=Oc(e,t,r,n);break a}if(r!==a){a=Ei(Error(i(424)),t),$i(a),t=Oc(e,t,r,n);break a}switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(Hi=Ef(e.firstChild),Vi=t,Ui=!0,Wi=null,Gi=!0,n=Ka(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Zi(),r===a){t=zc(e,t,n);break a}mc(e,t,r,n)}t=t.child}return t;case 26:return wc(e,t),e===null?(n=I(t.type,null,t.pendingProps,null))?t.memoizedState=n:Ui||(n=t.type,e=t.pendingProps,r=of(he.current).createElement(n),r[mt]=t,r[ht]=e,$d(r,n,e),Dt(r),t.stateNode=r):t.memoizedState=I(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return ye(t),e===null&&Ui&&(r=t.stateNode=Af(t.type,t.pendingProps,he.current),Vi=t,Gi=!0,a=Hi,_f(t.type)?(Df=a,Hi=Ef(r.firstChild)):Hi=a),mc(e,t,t.pendingProps.children,n),wc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Ui&&((a=r=Hi)&&(r=xf(r,t.type,t.pendingProps,Gi),r===null?a=!1:(t.stateNode=r,Vi=t,Hi=Ef(r.firstChild),Gi=!1,a=!0)),a||qi(t)),ye(t),a=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,lf(a,o)?r=null:s!==null&&lf(a,s)&&(t.flags|=32),t.memoizedState!==null&&(a=Mo(e,t,Fo,null,null,n),up._currentValue=a),wc(e,t),mc(e,t,r,n),t.child;case 6:return e===null&&Ui&&((e=n=Hi)&&(n=F(n,t.pendingProps,Gi),n===null?e=!1:(t.stateNode=n,Vi=t,Hi=null,e=!0)),e||qi(t)),null;case 13:return Mc(e,t,n);case 4:return _e(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ga(t,null,r,n):mc(e,t,r,n),t.child;case 11:return hc(e,t,t.type,t.pendingProps,n);case 7:return mc(e,t,t.pendingProps,n),t.child;case 8:return mc(e,t,t.pendingProps.children,n),t.child;case 12:return mc(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,ra(t,t.type,r.value),mc(e,t,r.children,n),t.child;case 9:return a=t.type._context,r=t.pendingProps.children,la(t),a=ua(a),r=r(a),t.flags|=1,mc(e,t,r,n),t.child;case 14:return gc(e,t,t.type,t.pendingProps,n);case 15:return _c(e,t,t.type,t.pendingProps,n);case 19:return Rc(e,t,n);case 31:return Cc(e,t,n);case 22:return vc(e,t,n,t.pendingProps);case 24:return la(t),r=ua(ha),e===null?(a=Da(),a===null&&(a=Ql,o=ga(),a.pooledCache=o,o.refCount++,o!==null&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:r,cache:a},Ja(t),ra(t,ha,a)):((e.lanes&n)!==0&&(Ya(e,t),no(t,null,null,n),to()),a=e.memoizedState,o=t.memoizedState,a.parent===r?(r=o.cache,ra(t,ha,r),r!==a.cache&&oa(t,[ha],n,!0)):(a={parent:r,cache:r},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),ra(t,ha,r))),mc(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(i(156,t.tag))}function Uc(e){e.flags|=4}function Wc(e,t,n,r,i){if((t=!!(e.mode&32))&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i){if(e.stateNode.complete)e.flags|=8192;else if(Vu())e.flags|=8192;else throw M=Na,ja}}else e.flags&=-16777217}function Gc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!np(t)){if(Vu())e.flags|=8192;else throw M=Na,ja}}function Kc(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:nt(),e.lanes|=t,fu|=t)}function qc(e,t){if(!Ui)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Jc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Yc(e,t,n){var r=t.pendingProps;switch(zi(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Jc(t),null;case 1:return Jc(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ia(ha),ve(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Xi(t)?Uc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Qi())),Jc(t),null;case 26:var a=t.type,o=t.memoizedState;return e===null?(Uc(t),o===null?(Jc(t),Wc(t,a,null,r,n)):(Jc(t),Gc(t,o))):o?o===e.memoizedState?(Jc(t),t.flags&=-16777217):(Uc(t),Jc(t),Gc(t,o)):(e=e.memoizedProps,e!==r&&Uc(t),Jc(t),Wc(t,a,e,r,n)),null;case 27:if(be(t),n=he.current,a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Uc(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return Jc(t),null}e=pe.current,Xi(t)?Ji(t,e):(e=Af(a,r,n),t.stateNode=e,Uc(t))}return Jc(t),null;case 5:if(be(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Uc(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return Jc(t),null}if(o=pe.current,Xi(t))Ji(t,o);else{var s=of(he.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;default:switch(a){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[mt]=t,o[ht]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch($d(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Uc(t)}}return Jc(t),Wc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Uc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=he.current,Xi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=Vi,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[mt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Xd(e.nodeValue,n)),e||qi(t,!0)}else e=of(e).createTextNode(r),e[mt]=t,t.stateNode=e}return Jc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Xi(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[mt]=t}else Zi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Jc(t),e=!1}else n=Qi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(_o(t),t):(_o(t),null);if(t.flags&128)throw Error(i(558))}return Jc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=Xi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[mt]=t}else Zi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Jc(t),a=!1}else a=Qi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(_o(t),t):(_o(t),null)}return _o(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Kc(t,t.updateQueue),Jc(t),null);case 4:return ve(),e===null&&Bd(t.stateNode.containerInfo),Jc(t),null;case 10:return ia(t.type),Jc(t),null;case 19:if(de(vo),r=t.memoizedState,r===null)return Jc(t),null;if(a=!!(t.flags&128),o=r.rendering,o===null){if(a)qc(r,!1);else{if(su!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=yo(e),o!==null){for(t.flags|=128,qc(r,!1),e=o.updateQueue,t.updateQueue=e,Kc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)yi(n,e),n=n.sibling;return fe(vo,vo.current&1|2),Ui&&Ii(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ne()>vu&&(t.flags|=128,a=!0,qc(r,!1),t.lanes=4194304)}}else{if(!a){if(e=yo(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Kc(t,e),qc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!Ui)return Jc(t),null}else 2*Ne()-r.renderingStartTime>vu&&n!==536870912&&(t.flags|=128,a=!0,qc(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Jc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ne(),e.sibling=null,n=vo.current,fe(vo,a?n&1|2:n&1),Ui&&Ii(t,r.treeForkCount),e);case 22:case 23:return _o(t),lo(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Jc(t),t.subtreeFlags&6&&(t.flags|=8192)):Jc(t),n=t.updateQueue,n!==null&&Kc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&de(Ea),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ia(ha),Jc(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Xc(e,t){switch(zi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ia(ha),ve(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return be(t),null;case 31:if(t.memoizedState!==null){if(_o(t),t.alternate===null)throw Error(i(340));Zi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(_o(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Zi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return de(vo),null;case 4:return ve(),null;case 10:return ia(t.type),null;case 22:case 23:return _o(t),lo(),e!==null&&de(Ea),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ia(ha),null;case 25:return null;default:return null}}function Zc(e,t){switch(zi(t),t.tag){case 3:ia(ha),ve();break;case 26:case 27:case 5:be(t);break;case 4:ve();break;case 31:t.memoizedState!==null&&_o(t);break;case 13:_o(t);break;case 19:de(vo);break;case 10:ia(t.type);break;case 22:case 23:_o(t),lo(),e!==null&&de(Ea);break;case 24:ia(ha)}}function Qc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){cd(t,t.return,e)}}function $c(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){cd(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){cd(t,t.return,e)}}function el(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{io(t,n)}catch(t){cd(e,e.return,t)}}}function tl(e,t,n){n.props=nc(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){cd(e,t,n)}}function nl(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){cd(e,t,n)}}function rl(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){cd(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){cd(e,t,n)}else n.current=null}}function il(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){cd(e,e.return,t)}}function al(e,t,n){try{var r=e.stateNode;ef(r,e.type,n,t),r[ht]=t}catch(t){cd(e,e.return,t)}}function ol(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&_f(e.type)||e.tag===4}function sl(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||ol(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&_f(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function cl(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=cn));else if(r!==4&&(r===27&&_f(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(cl(e,t,n),e=e.sibling;e!==null;)cl(e,t,n),e=e.sibling}function ll(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&_f(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ll(e,t,n),e=e.sibling;e!==null;)ll(e,t,n),e=e.sibling}function ul(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);$d(t,r,n),t[mt]=e,t[ht]=n}catch(t){cd(e,e.return,t)}}var dl=!1,fl=!1,pl=!1,ml=typeof WeakSet==`function`?WeakSet:Set,hl=null;function gl(e,t){if(e=e.containerInfo,rf=vp,e=Fr(e),Ir(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(af={focusedElem:e,selectionRange:n},vp=!1,hl=t;hl!==null;)if(t=hl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,hl=e;else for(;hl!==null;){switch(t=hl,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)a=e[n],a.ref.impl=a.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&o!==null){e=void 0,n=t,a=o.memoizedProps,o=o.memoizedState,r=n.stateNode;try{var h=nc(n.type,a);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){cd(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)bf(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:bf(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(i(163))}if(e=t.sibling,e!==null){e.return=t.return,hl=e;break}hl=t.return}}function _l(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:Ml(e,n),r&4&&Qc(5,n);break;case 1:if(Ml(e,n),r&4){if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){cd(n,n.return,e)}else{var i=nc(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){cd(n,n.return,e)}}}r&64&&el(n),r&512&&nl(n,n.return);break;case 3:if(Ml(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{io(e,t)}catch(e){cd(n,n.return,e)}}break;case 27:t===null&&r&4&&ul(n);case 26:case 5:Ml(e,n),t===null&&r&4&&il(n),r&512&&nl(n,n.return);break;case 12:Ml(e,n);break;case 31:Ml(e,n),r&4&&Cl(e,n);break;case 13:Ml(e,n),r&4&&wl(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=fd.bind(null,n),Tf(e,n))));break;case 22:if(r=n.memoizedState!==null||dl,!r){t=t!==null&&t.memoizedState!==null||fl,i=dl;var a=fl;dl=r,(fl=t)&&!a?Pl(e,n,!!(n.subtreeFlags&8772)):Ml(e,n),dl=i,fl=a}break;case 30:break;default:Ml(e,n)}}function vl(e){var t=e.alternate;t!==null&&(e.alternate=null,vl(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&St(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var yl=null,bl=!1;function xl(e,t,n){for(n=n.child;n!==null;)Sl(e,t,n),n=n.sibling}function Sl(e,t,n){if(Ue&&typeof Ue.onCommitFiberUnmount==`function`)try{Ue.onCommitFiberUnmount(He,n)}catch{}switch(n.tag){case 26:fl||rl(n,t),xl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:fl||rl(n,t);var r=yl,i=bl;_f(n.type)&&(yl=n.stateNode,bl=!1),xl(e,t,n),jf(n.stateNode),yl=r,bl=i;break;case 5:fl||rl(n,t);case 6:if(r=yl,i=bl,yl=null,xl(e,t,n),yl=r,bl=i,yl!==null){if(bl)try{(yl.nodeType===9?yl.body:yl.nodeName===`HTML`?yl.ownerDocument.body:yl).removeChild(n.stateNode)}catch(e){cd(n,t,e)}else try{yl.removeChild(n.stateNode)}catch(e){cd(n,t,e)}}break;case 18:yl!==null&&(bl?(e=yl,vf(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Wp(e)):vf(yl,n.stateNode));break;case 4:r=yl,i=bl,yl=n.stateNode.containerInfo,bl=!0,xl(e,t,n),yl=r,bl=i;break;case 0:case 11:case 14:case 15:$c(2,n,t),fl||$c(4,n,t),xl(e,t,n);break;case 1:fl||(rl(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&tl(n,t,r)),xl(e,t,n);break;case 21:xl(e,t,n);break;case 22:fl=(r=fl)||n.memoizedState!==null,xl(e,t,n),fl=r;break;default:xl(e,t,n)}}function Cl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Wp(e)}catch(e){cd(t,t.return,e)}}}function wl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Wp(e)}catch(e){cd(t,t.return,e)}}function Tl(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new ml),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new ml),t;default:throw Error(i(435,e.tag))}}function El(e,t){var n=Tl(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=pd.bind(null,e,t);t.then(r,r)}})}function Dl(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var a=n[r],o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(_f(c.type)){yl=c.stateNode,bl=!1;break a}break;case 5:yl=c.stateNode,bl=!1;break a;case 3:case 4:yl=c.stateNode.containerInfo,bl=!0;break a}c=c.return}if(yl===null)throw Error(i(160));Sl(o,s,a),yl=null,bl=!1,o=a.alternate,o!==null&&(o.return=null),a.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)kl(t,e),t=t.sibling}var Ol=null;function kl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Dl(t,e),Al(e),r&4&&($c(3,e,e.return),Qc(3,e),$c(5,e,e.return));break;case 1:Dl(t,e),Al(e),r&512&&(fl||n===null||rl(n,n.return)),r&64&&dl&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var a=Ol;if(Dl(t,e),Al(e),r&512&&(fl||n===null||rl(n,n.return)),r&4){var o=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null){if(r===null){if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,a=a.ownerDocument||a;b:switch(r){case`title`:o=a.getElementsByTagName(`title`)[0],(!o||o[xt]||o[mt]||o.namespaceURI===`http://www.w3.org/2000/svg`||o.hasAttribute(`itemprop`))&&(o=a.createElement(r),a.head.insertBefore(o,a.querySelector(`head > title`))),$d(o,r,n),o[mt]=e,Dt(o),r=o;break a;case`link`:var s=B(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&o.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&o.getAttribute(`title`)===(n.title==null?null:n.title)&&o.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}o=a.createElement(r),$d(o,r,n),a.head.appendChild(o);break;case`meta`:if(s=B(`meta`,`content`,a).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`content`)===(n.content==null?null:``+n.content)&&o.getAttribute(`name`)===(n.name==null?null:n.name)&&o.getAttribute(`property`)===(n.property==null?null:n.property)&&o.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&o.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}o=a.createElement(r),$d(o,r,n),a.head.appendChild(o);break;default:throw Error(i(468,r))}o[mt]=e,Dt(o),r=o}e.stateNode=r}else V(a,e.type,e.stateNode)}else e.stateNode=Zf(a,r,e.memoizedProps)}else o===r?r===null&&e.stateNode!==null&&al(e,e.memoizedProps,n.memoizedProps):(o===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):o.count--,r===null?V(a,e.type,e.stateNode):Zf(a,r,e.memoizedProps))}break;case 27:Dl(t,e),Al(e),r&512&&(fl||n===null||rl(n,n.return)),n!==null&&r&4&&al(e,e.memoizedProps,n.memoizedProps);break;case 5:if(Dl(t,e),Al(e),r&512&&(fl||n===null||rl(n,n.return)),e.flags&32){a=e.stateNode;try{$t(a,``)}catch(t){cd(e,e.return,t)}}r&4&&e.stateNode!=null&&(a=e.memoizedProps,al(e,a,n===null?a:n.memoizedProps)),r&1024&&(pl=!0);break;case 6:if(Dl(t,e),Al(e),r&4){if(e.stateNode===null)throw Error(i(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){cd(e,e.return,t)}}break;case 3:if(ep=null,a=Ol,Ol=Pf(t.containerInfo),Dl(t,e),Ol=a,Al(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Wp(t.containerInfo)}catch(t){cd(e,e.return,t)}pl&&(pl=!1,jl(e));break;case 4:r=Ol,Ol=Pf(e.stateNode.containerInfo),Dl(t,e),Al(e),Ol=r;break;case 12:Dl(t,e),Al(e);break;case 31:Dl(t,e),Al(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,El(e,r)));break;case 13:Dl(t,e),Al(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(gu=Ne()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,El(e,r)));break;case 22:a=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=dl,d=fl;if(dl=u||a,fl=d||l,Dl(t,e),fl=d,dl=u,Al(e),r&8192)a:for(t=e.stateNode,t._visibility=a?t._visibility&-2:t._visibility|1,a&&(n===null||l||dl||fl||Nl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(o=l.stateNode,a)s=o.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){cd(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=a?``:l.memoizedProps}catch(e){cd(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;a?yf(m,!0):yf(l.stateNode,!1)}catch(e){cd(l,l.return,e)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,El(e,n))));break;case 19:Dl(t,e),Al(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,El(e,r)));break;case 30:break;case 21:break;default:Dl(t,e),Al(e)}}function Al(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(ol(r)){n=r;break}r=r.return}if(n==null)throw Error(i(160));switch(n.tag){case 27:var a=n.stateNode;ll(e,sl(e),a);break;case 5:var o=n.stateNode;n.flags&32&&($t(o,``),n.flags&=-33),ll(e,sl(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;cl(e,sl(e),s);break;default:throw Error(i(161))}}catch(t){cd(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function jl(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;jl(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Ml(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)_l(e,t.alternate,t),t=t.sibling}function Nl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:$c(4,t,t.return),Nl(t);break;case 1:rl(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&tl(t,t.return,n),Nl(t);break;case 27:jf(t.stateNode);case 26:case 5:rl(t,t.return),Nl(t);break;case 22:t.memoizedState===null&&Nl(t);break;case 30:Nl(t);break;default:Nl(t)}e=e.sibling}}function Pl(e,t,n){for(n&&=!!(t.subtreeFlags&8772),t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:Pl(i,a,n),Qc(4,a);break;case 1:if(Pl(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){cd(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)ro(c[i],s)}catch(e){cd(r,r.return,e)}}n&&o&64&&el(a),nl(a,a.return);break;case 27:ul(a);case 26:case 5:Pl(i,a,n),n&&r===null&&o&4&&il(a),nl(a,a.return);break;case 12:Pl(i,a,n);break;case 31:Pl(i,a,n),n&&o&4&&Cl(i,a);break;case 13:Pl(i,a,n),n&&o&4&&wl(i,a);break;case 22:a.memoizedState===null&&Pl(i,a,n),nl(a,a.return);break;case 30:break;default:Pl(i,a,n)}t=t.sibling}}function Fl(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&_a(n))}function Il(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&_a(e))}function Ll(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Rl(e,t,n,r),t=t.sibling}function Rl(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:Ll(e,t,n,r),i&2048&&Qc(9,t);break;case 1:Ll(e,t,n,r);break;case 3:Ll(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&_a(e)));break;case 12:if(i&2048){Ll(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){cd(t,t.return,e)}}else Ll(e,t,n,r);break;case 31:Ll(e,t,n,r);break;case 13:Ll(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?Ll(e,t,n,r):(a._visibility|=2,zl(e,t,n,r,!!(t.subtreeFlags&10256)||!1)):a._visibility&2?Ll(e,t,n,r):Bl(e,t),i&2048&&Fl(o,t);break;case 24:Ll(e,t,n,r),i&2048&&Il(t.alternate,t);break;default:Ll(e,t,n,r)}}function zl(e,t,n,r,i){for(i&&=!!(t.subtreeFlags&10256)||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:zl(a,o,s,c,i),Qc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,zl(a,o,s,c,i)):u._visibility&2?zl(a,o,s,c,i):Bl(a,o),i&&l&2048&&Fl(o.alternate,o);break;case 24:zl(a,o,s,c,i),i&&l&2048&&Il(o.alternate,o);break;default:zl(a,o,s,c,i)}t=t.sibling}}function Bl(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Bl(n,r),i&2048&&Fl(r.alternate,r);break;case 24:Bl(n,r),i&2048&&Il(r.alternate,r);break;default:Bl(n,r)}t=t.sibling}}var Vl=8192;function Hl(e,t,n){if(e.subtreeFlags&Vl)for(e=e.child;e!==null;)Ul(e,t,n),e=e.sibling}function Ul(e,t,n){switch(e.tag){case 26:Hl(e,t,n),e.flags&Vl&&e.memoizedState!==null&&rp(n,Ol,e.memoizedState,e.memoizedProps);break;case 5:Hl(e,t,n);break;case 3:case 4:var r=Ol;Ol=Pf(e.stateNode.containerInfo),Hl(e,t,n),Ol=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=Vl,Vl=16777216,Hl(e,t,n),Vl=r):Hl(e,t,n));break;default:Hl(e,t,n)}}function Wl(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Gl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];hl=r,Jl(r,e)}Wl(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Kl(e),e=e.sibling}function Kl(e){switch(e.tag){case 0:case 11:case 15:Gl(e),e.flags&2048&&$c(9,e,e.return);break;case 3:Gl(e);break;case 12:Gl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,ql(e)):Gl(e);break;default:Gl(e)}}function ql(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];hl=r,Jl(r,e)}Wl(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:$c(8,t,t.return),ql(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,ql(t));break;default:ql(t)}e=e.sibling}}function Jl(e,t){for(;hl!==null;){var n=hl;switch(n.tag){case 0:case 11:case 15:$c(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:_a(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,hl=r;else a:for(n=e;hl!==null;){r=hl;var i=r.sibling,a=r.return;if(vl(r),r===n){hl=null;break a}if(i!==null){i.return=a,hl=i;break a}hl=a}}}var Yl={getCacheForType:function(e){var t=ua(ha),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return ua(ha).controller.signal}},Xl=typeof WeakMap==`function`?WeakMap:Map,Zl=0,Ql=null,$l=null,eu=0,tu=0,nu=null,ru=!1,iu=!1,au=!1,ou=0,su=0,cu=0,lu=0,uu=0,du=0,fu=0,pu=null,mu=null,hu=!1,gu=0,_u=0,vu=1/0,yu=null,bu=null,xu=0,Su=null,Cu=null,wu=0,Tu=0,Eu=null,Du=null,Ou=0,ku=null;function Au(){return Zl&2&&eu!==0?eu&-eu:k.T===null?dt():kd()}function ju(){if(du===0){if(!(eu&536870912)||Ui){var e=Xe;Xe<<=1,!(Xe&3932160)&&(Xe=262144),du=e}else du=536870912}return e=uo.current,e!==null&&(e.flags|=32),du}function Mu(e,t,n){(e===Ql&&(tu===2||tu===9)||e.cancelPendingCommit!==null)&&(zu(e,0),Iu(e,eu,du,!1)),it(e,n),(!(Zl&2)||e!==Ql)&&(e===Ql&&(!(Zl&2)&&(lu|=n),su===4&&Iu(e,eu,du,!1)),xd(e))}function Nu(e,t,n){if(Zl&6)throw Error(i(327));var r=!n&&!(t&127)&&(t&e.expiredLanes)===0||et(e,t),a=r?qu(e,t):Gu(e,t,!0),o=r;do{if(a===0){iu&&!r&&Iu(e,t,0,!1);break}if(n=e.current.alternate,o&&!Fu(n)){a=Gu(e,t,!1),o=!1;continue}if(a===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;a=pu;var l=c.current.memoizedState.isDehydrated;if(l&&(zu(c,s).flags|=256),s=Gu(c,s,!1),s!==2){if(au&&!l){c.errorRecoveryDisabledLanes|=o,lu|=o,a=4;break a}o=mu,mu=a,o!==null&&(mu===null?mu=o:mu.push.apply(mu,o))}a=s}if(o=!1,a!==2)continue}}if(a===1){zu(e,0),Iu(e,t,0,!0);break}a:{switch(r=e,o=a,o){case 0:case 1:throw Error(i(345));case 4:if((t&4194048)!==t)break;case 6:Iu(r,t,du,!ru);break a;case 2:mu=null;break;case 3:case 5:break;default:throw Error(i(329))}if((t&62914560)===t&&(a=gu+300-Ne(),10<a)){if(Iu(r,t,du,!ru),$e(r,0,!0)!==0)break a;wu=t,r.timeoutHandle=ff(Pu.bind(null,r,n,mu,yu,hu,t,du,lu,fu,ru,o,`Throttled`,-0,0),a);break a}Pu(r,n,mu,yu,hu,t,du,lu,fu,ru,o,null,-0,0)}break}while(1);xd(e)}function Pu(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:cn},Ul(t,a,d);var m=(a&62914560)===a?gu-Ne():(a&4194048)===a?_u-Ne():0;if(m=ap(d,m),m!==null){wu=a,e.cancelPendingCommit=m(ed.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),Iu(e,a,o,!l);return}}ed(e,t,a,n,r,i,o,s,c)}function Fu(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!Ar(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Iu(e,t,n,r){t&=~uu,t&=~lu,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-Ge(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&ot(e,n,t)}function Lu(){return Zl&6?!0:(Sd(0,!1),!1)}function Ru(){if($l!==null){if(tu===0)var e=$l.return;else e=$l,na=ta=null,Ro(e),za=null,Ba=0,e=$l;for(;e!==null;)Zc(e.alternate,e),e=e.return;$l=null}}function zu(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,pf(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),wu=0,Ru(),Ql=e,$l=n=vi(e.current,null),eu=t,tu=0,nu=null,ru=!1,iu=et(e,t),au=!1,fu=du=uu=lu=cu=su=0,mu=pu=null,hu=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-Ge(r),a=1<<i;t|=e[i],r&=~a}return ou=t,ci(),n}function Bu(e,t){N=null,k.H=Js,t===Aa||t===Ma?(t=La(),tu=3):t===ja?(t=La(),tu=4):tu=t===fc?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,nu=t,$l===null&&(su=1,oc(e,Ei(t,e.current)))}function Vu(){var e=uo.current;return e===null?!0:(eu&4194048)===eu?fo===null:(eu&62914560)===eu||eu&536870912?e===fo:!1}function Hu(){var e=k.H;return k.H=Js,e===null?Js:e}function Uu(){var e=k.A;return k.A=Yl,e}function Wu(){su=4,ru||(eu&4194048)!==eu&&uo.current!==null||(iu=!0),!(cu&134217727)&&!(lu&134217727)||Ql===null||Iu(Ql,eu,du,!1)}function Gu(e,t,n){var r=Zl;Zl|=2;var i=Hu(),a=Uu();(Ql!==e||eu!==t)&&(yu=null,zu(e,t)),t=!1;var o=su;a:do try{if(tu!==0&&$l!==null){var s=$l,c=nu;switch(tu){case 8:Ru(),o=6;break a;case 3:case 2:case 9:case 6:uo.current===null&&(t=!0);var l=tu;if(tu=0,nu=null,Zu(e,s,c,l),n&&iu){o=0;break a}break;default:l=tu,tu=0,nu=null,Zu(e,s,c,l)}}Ku(),o=su;break}catch(t){Bu(e,t)}while(1);return t&&e.shellSuspendCounter++,na=ta=null,Zl=r,k.H=i,k.A=a,$l===null&&(Ql=null,eu=0,ci()),o}function Ku(){for(;$l!==null;)Yu($l)}function qu(e,t){var n=Zl;Zl|=2;var r=Hu(),a=Uu();Ql!==e||eu!==t?(yu=null,vu=Ne()+500,zu(e,t)):iu=et(e,t);a:do try{if(tu!==0&&$l!==null){t=$l;var o=nu;b:switch(tu){case 1:tu=0,nu=null,Zu(e,t,o,1);break;case 2:case 9:if(Pa(o)){tu=0,nu=null,Xu(t);break}t=function(){tu!==2&&tu!==9||Ql!==e||(tu=7),xd(e)},o.then(t,t);break a;case 3:tu=7;break a;case 4:tu=5;break a;case 7:Pa(o)?(tu=0,nu=null,Xu(t)):(tu=0,nu=null,Zu(e,t,o,7));break;case 5:var s=null;switch($l.tag){case 26:s=$l.memoizedState;case 5:case 27:var c=$l;if(s?np(s):c.stateNode.complete){tu=0,nu=null;var l=c.sibling;if(l!==null)$l=l;else{var u=c.return;u===null?$l=null:($l=u,Qu(u))}break b}}tu=0,nu=null,Zu(e,t,o,5);break;case 6:tu=0,nu=null,Zu(e,t,o,6);break;case 8:Ru(),su=6;break a;default:throw Error(i(462))}}Ju();break}catch(t){Bu(e,t)}while(1);return na=ta=null,k.H=r,k.A=a,Zl=n,$l===null?(Ql=null,eu=0,ci(),su):0}function Ju(){for(;$l!==null&&!je();)Yu($l)}function Yu(e){var t=Hc(e.alternate,e,ou);e.memoizedProps=e.pendingProps,t===null?Qu(e):$l=t}function Xu(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Ec(n,t,t.pendingProps,t.type,void 0,eu);break;case 11:t=Ec(n,t,t.pendingProps,t.type.render,t.ref,eu);break;case 5:Ro(t);default:Zc(n,t),t=$l=yi(t,ou),t=Hc(n,t,ou)}e.memoizedProps=e.pendingProps,t===null?Qu(e):$l=t}function Zu(e,t,n,r){na=ta=null,Ro(t),za=null,Ba=0;var i=t.return;try{if(dc(e,i,t,n,eu)){su=1,oc(e,Ei(n,e.current)),$l=null;return}}catch(t){if(i!==null)throw $l=i,t;su=1,oc(e,Ei(n,e.current)),$l=null;return}t.flags&32768?(Ui||r===1?e=!0:iu||eu&536870912?e=!1:(ru=e=!0,(r===2||r===9||r===3||r===6)&&(r=uo.current,r!==null&&r.tag===13&&(r.flags|=16384))),$u(t,e)):Qu(t)}function Qu(e){var t=e;do{if(t.flags&32768){$u(t,ru);return}e=t.return;var n=Yc(t.alternate,t,ou);if(n!==null){$l=n;return}if(t=t.sibling,t!==null){$l=t;return}$l=t=e}while(t!==null);su===0&&(su=5)}function $u(e,t){do{var n=Xc(e.alternate,e);if(n!==null){n.flags&=32767,$l=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){$l=e;return}$l=e=n}while(e!==null);su=6,$l=null}function ed(e,t,n,r,a,o,s,c,l){e.cancelPendingCommit=null;do ad();while(xu!==0);if(Zl&6)throw Error(i(327));if(t!==null){if(t===e.current)throw Error(i(177));if(o=t.lanes|t.childLanes,o|=si,at(e,n,o,s,c,l),e===Ql&&($l=Ql=null,eu=0),Cu=t,Su=e,wu=n,Tu=o,Eu=a,Du=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,md(Le,function(){return od(),null})):(e.callbackNode=null,e.callbackPriority=0),r=!!(t.flags&13878),t.subtreeFlags&13878||r){r=k.T,k.T=null,a=A.p,A.p=2,s=Zl,Zl|=4;try{gl(e,t,n)}finally{Zl=s,A.p=a,k.T=r}}xu=1,td(),nd(),rd()}}function td(){if(xu===1){xu=0;var e=Su,t=Cu,n=!!(t.flags&13878);if(t.subtreeFlags&13878||n){n=k.T,k.T=null;var r=A.p;A.p=2;var i=Zl;Zl|=4;try{kl(t,e);var a=af,o=Fr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&Pr(s.ownerDocument.documentElement,s)){if(c!==null&&Ir(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=Nr(s,h),v=Nr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}vp=!!rf,af=rf=null}finally{Zl=i,A.p=r,k.T=n}}e.current=t,xu=2}}function nd(){if(xu===2){xu=0;var e=Su,t=Cu,n=!!(t.flags&8772);if(t.subtreeFlags&8772||n){n=k.T,k.T=null;var r=A.p;A.p=2;var i=Zl;Zl|=4;try{_l(e,t.alternate,t)}finally{Zl=i,A.p=r,k.T=n}}xu=3}}function rd(){if(xu===4||xu===3){xu=0,Me();var e=Su,t=Cu,n=wu,r=Du;t.subtreeFlags&10256||t.flags&10256?xu=5:(xu=0,Cu=Su=null,id(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(bu=null),ut(n),t=t.stateNode,Ue&&typeof Ue.onCommitFiberRoot==`function`)try{Ue.onCommitFiberRoot(He,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=k.T,i=A.p,A.p=2,k.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{k.T=t,A.p=i}}wu&3&&ad(),xd(e),i=e.pendingLanes,n&261930&&i&42?e===ku?Ou++:(Ou=0,ku=e):Ou=0,Sd(0,!1)}}function id(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,_a(t)))}function ad(){return td(),nd(),rd(),od()}function od(){if(xu!==5)return!1;var e=Su,t=Tu;Tu=0;var n=ut(wu),r=k.T,a=A.p;try{A.p=32>n?32:n,k.T=null,n=Eu,Eu=null;var o=Su,s=wu;if(xu=0,Cu=Su=null,wu=0,Zl&6)throw Error(i(331));var c=Zl;if(Zl|=4,Kl(o.current),Rl(o,o.current,s,n),Zl=c,Sd(0,!1),Ue&&typeof Ue.onPostCommitFiberRoot==`function`)try{Ue.onPostCommitFiberRoot(He,o)}catch{}return!0}finally{A.p=a,k.T=r,id(e,t)}}function sd(e,t,n){t=Ei(n,t),t=cc(e.stateNode,t,2),e=Za(e,t,2),e!==null&&(it(e,2),xd(e))}function cd(e,t,n){if(e.tag===3)sd(e,e,n);else for(;t!==null;){if(t.tag===3){sd(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(bu===null||!bu.has(r))){e=Ei(n,e),n=lc(2),r=Za(t,n,2),r!==null&&(uc(n,r,t,e),it(r,2),xd(r));break}}t=t.return}}function ld(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Xl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(au=!0,i.add(n),e=ud.bind(null,e,t,n),t.then(e,e))}function ud(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Ql===e&&(eu&n)===n&&(su===4||su===3&&(eu&62914560)===eu&&300>Ne()-gu?!(Zl&2)&&zu(e,0):uu|=n,fu===eu&&(fu=0)),xd(e)}function dd(e,t){t===0&&(t=nt()),e=di(e,t),e!==null&&(it(e,t),xd(e))}function fd(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),dd(e,n)}function pd(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),dd(e,n)}function md(e,t){return ke(e,t)}var hd=null,gd=null,_d=!1,vd=!1,yd=!1,bd=0;function xd(e){e!==gd&&e.next===null&&(gd===null?hd=gd=e:gd=gd.next=e),vd=!0,_d||(_d=!0,Od())}function Sd(e,t){if(!yd&&vd){yd=!0;do for(var n=!1,r=hd;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Ge(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,Dd(r,a))}else a=eu,a=$e(r,r===Ql?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||et(r,a)||(n=!0,Dd(r,a))}r=r.next}while(n);yd=!1}}function Cd(){wd()}function wd(){vd=_d=!1;var e=0;bd!==0&&df()&&(e=bd);for(var t=Ne(),n=null,r=hd;r!==null;){var i=r.next,a=Td(r,t);a===0?(r.next=null,n===null?hd=i:n.next=i,i===null&&(gd=n)):(n=r,(e!==0||a&3)&&(vd=!0)),r=i}xu!==0&&xu!==5||Sd(e,!1),bd!==0&&(bd=0)}function Td(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-Ge(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=tt(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=Ql,n=eu,n=$e(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(tu===2||tu===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Ae(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||et(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Ae(r),ut(n)){case 2:case 8:n=Ie;break;case 32:n=Le;break;case 268435456:n=ze;break;default:n=Le}return r=Ed.bind(null,e),n=ke(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Ae(r),e.callbackPriority=2,e.callbackNode=null,2}function Ed(e,t){if(xu!==0&&xu!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(ad()&&e.callbackNode!==n)return null;var r=eu;return r=$e(e,e===Ql?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(Nu(e,r,t),Td(e,Ne()),e.callbackNode!=null&&e.callbackNode===n?Ed.bind(null,e):null)}function Dd(e,t){if(ad())return null;Nu(e,t,!0)}function Od(){hf(function(){Zl&6?ke(Fe,Cd):wd()})}function kd(){if(bd===0){var e=ba;e===0&&(e=Ye,Ye<<=1,!(Ye&261888)&&(Ye=256)),bd=e}return bd}function Ad(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:sn(``+e)}function jd(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function Md(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=Ad((i[ht]||null).action),o=r.submitter;o&&(t=(t=o[ht]||null)?Ad(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new kn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(bd!==0){var e=o?jd(i,o):new FormData(i);Ps(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?jd(i,o):new FormData(i),Ps(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var Nd=0;Nd<ni.length;Nd++){var Pd=ni[Nd];ri(Pd.toLowerCase(),`on`+(Pd[0].toUpperCase()+Pd.slice(1)))}ri(Jr,`onAnimationEnd`),ri(Yr,`onAnimationIteration`),ri(Xr,`onAnimationStart`),ri(`dblclick`,`onDoubleClick`),ri(`focusin`,`onFocus`),ri(`focusout`,`onBlur`),ri(Zr,`onTransitionRun`),ri(Qr,`onTransitionStart`),ri($r,`onTransitionCancel`),ri(ei,`onTransitionEnd`),jt(`onMouseEnter`,[`mouseout`,`mouseover`]),jt(`onMouseLeave`,[`mouseout`,`mouseover`]),jt(`onPointerEnter`,[`pointerout`,`pointerover`]),jt(`onPointerLeave`,[`pointerout`,`pointerover`]),At(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),At(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),At(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),At(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),At(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),At(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var Fd=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),Id=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(Fd));function Ld(e,t){t=!!(t&4);for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){ii(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){ii(e)}i.currentTarget=null,a=c}}}}function P(e,t){var n=t[_t];n===void 0&&(n=t[_t]=new Set);var r=e+`__bubble`;n.has(r)||(Vd(t,e,2,!1),n.add(r))}function Rd(e,t,n){var r=0;t&&(r|=4),Vd(n,e,r,t)}var zd=`_reactListening`+Math.random().toString(36).slice(2);function Bd(e){if(!e[zd]){e[zd]=!0,Ot.forEach(function(t){t!==`selectionchange`&&(Id.has(t)||Rd(t,!1,e),Rd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[zd]||(t[zd]=!0,Rd(`selectionchange`,!1,t))}}function Vd(e,t,n,r){switch(Tp(t)){case 2:var i=yp;break;case 8:i=bp;break;default:i=xp}n=i.bind(null,t,n,e),i=void 0,!vn||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function Hd(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var s=r.tag;if(s===3||s===4){var c=r.stateNode.containerInfo;if(c===i)break;if(s===4)for(s=r.return;s!==null;){var l=s.tag;if((l===3||l===4)&&s.stateNode.containerInfo===i)return;s=s.return}for(;c!==null;){if(s=Ct(c),s===null)return;if(l=s.tag,l===5||l===6||l===26||l===27){r=a=s;continue a}c=c.parentNode}}r=r.return}hn(function(){var r=a,i=un(n),s=[];a:{var c=ti.get(e);if(c!==void 0){var l=kn,u=e;switch(e){case`keypress`:if(wn(n)===0)break a;case`keydown`:case`keyup`:l=qn;break;case`focusin`:u=`focus`,l=Rn;break;case`focusout`:u=`blur`,l=Rn;break;case`beforeblur`:case`afterblur`:l=Rn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=In;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=Ln;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=Yn;break;case Jr:case Yr:case Xr:l=zn;break;case ei:l=Xn;break;case`scroll`:case`scrollend`:l=jn;break;case`wheel`:l=Zn;break;case`copy`:case`cut`:case`paste`:l=Bn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=Jn;break;case`toggle`:case`beforetoggle`:l=Qn}var d=!!(t&4),f=!d&&(e===`scroll`||e===`scrollend`),p=d?c===null?null:c+`Capture`:c;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=gn(m,p),g!=null&&d.push(Ud(m,g,h))),f)break;m=m.return}0<d.length&&(c=new l(c,u,null,n,i),s.push({event:c,listeners:d}))}}if(!(t&7)){a:{if(c=e===`mouseover`||e===`pointerover`,l=e===`mouseout`||e===`pointerout`,c&&n!==ln&&(u=n.relatedTarget||n.fromElement)&&(Ct(u)||u[gt]))break a;if((l||c)&&(c=i.window===i?i:(c=i.ownerDocument)?c.defaultView||c.parentWindow:window,l?(u=n.relatedTarget||n.toElement,l=r,u=u?Ct(u):null,u!==null&&(f=o(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(l=null,u=r),l!==u)){if(d=In,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Jn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?c:Tt(l),h=u==null?c:Tt(u),c=new d(g,m+`leave`,l,n,i),c.target=f,c.relatedTarget=h,g=null,Ct(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,l&&u)b:{for(d=Gd,p=l,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;l!==null&&Kd(s,c,l,d,!1),u!==null&&f!==null&&Kd(s,f,u,d,!0)}}a:{if(c=r?Tt(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var v=vr;else if(fr(c)){if(yr)v=Or;else{v=Er;var y=Tr}}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&rn(r.elementType)&&(v=vr):v=Dr;if(v&&=v(e,r)){pr(s,v,n,i);break a}y&&y(e,c,r),e===`focusout`&&r&&c.type===`number`&&r.memoizedProps.value!=null&&Yt(c,`number`,c.value)}switch(y=r?Tt(r):window,e){case`focusin`:(fr(y)||y.contentEditable===`true`)&&(Rr=y,zr=r,Br=null);break;case`focusout`:Br=zr=Rr=null;break;case`mousedown`:Vr=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Vr=!1,Hr(s,n,i);break;case`selectionchange`:if(Lr)break;case`keydown`:case`keyup`:Hr(s,n,i)}var b;if(er)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else cr?or(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(rr&&n.locale!==`ko`&&(cr||x!==`onCompositionStart`?x===`onCompositionEnd`&&cr&&(b=Cn()):(bn=i,xn=`value`in bn?bn.value:bn.textContent,cr=!0)),y=Wd(r,x),0<y.length&&(x=new Vn(x,e,null,n,i),s.push({event:x,listeners:y}),b?x.data=b:(b=sr(n),b!==null&&(x.data=b)))),(b=nr?lr(e,n):ur(e,n))&&(x=Wd(r,`onBeforeInput`),0<x.length&&(y=new Vn(`onBeforeInput`,`beforeinput`,null,n,i),s.push({event:y,listeners:x}),y.data=b)),Md(s,e,r,n,i)}Ld(s,t)})}function Ud(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Wd(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=gn(e,n),i!=null&&r.unshift(Ud(e,i,a)),i=gn(e,t),i!=null&&r.push(Ud(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Gd(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Kd(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=gn(n,a),l!=null&&o.unshift(Ud(n,l,c))):i||(l=gn(n,a),l!=null&&o.push(Ud(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var qd=/\r\n?/g,Jd=/\u0000|\uFFFD/g;function Yd(e){return(typeof e==`string`?e:``+e).replace(qd,`
9
+ `).replace(Jd,``)}function Xd(e,t){return t=Yd(t),Yd(e)===t}function Zd(e,t,n,r,a,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||$t(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&$t(e,``+r);break;case`className`:Lt(e,`class`,r);break;case`tabIndex`:Lt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:Lt(e,n,r);break;case`style`:nn(e,r,o);break;case`data`:if(t!==`object`){Lt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=sn(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}if(typeof o==`function`&&(n===`formAction`?(t!==`input`&&Zd(e,t,`name`,a.name,a,null),Zd(e,t,`formEncType`,a.formEncType,a,null),Zd(e,t,`formMethod`,a.formMethod,a,null),Zd(e,t,`formTarget`,a.formTarget,a,null)):(Zd(e,t,`encType`,a.encType,a,null),Zd(e,t,`method`,a.method,a,null),Zd(e,t,`target`,a.target,a,null))),r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=sn(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=cn);break;case`onScroll`:r!=null&&P(`scroll`,e);break;case`onScrollEnd`:r!=null&&P(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=sn(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:P(`beforetoggle`,e),P(`toggle`,e),It(e,`popover`,r);break;case`xlinkActuate`:Rt(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Rt(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Rt(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Rt(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Rt(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Rt(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Rt(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Rt(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Rt(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:It(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=an.get(n)||n,It(e,n,r))}}function Qd(e,t,n,r,a,o){switch(n){case`style`:nn(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?$t(e,r):(typeof r==`number`||typeof r==`bigint`)&&$t(e,``+r);break;case`onScroll`:r!=null&&P(`scroll`,e);break;case`onScrollEnd`:r!=null&&P(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=cn);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!kt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(a=n.endsWith(`Capture`),t=n.slice(2,a?n.length-7:void 0),o=e[ht]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,a),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,a);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):It(e,n,r)}}}function $d(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:P(`error`,e),P(`load`,e);var r=!1,a=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:a=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:Zd(e,t,o,s,n,null)}}a&&Zd(e,t,`srcSet`,n.srcSet,n,null),r&&Zd(e,t,`src`,n.src,n,null);return;case`input`:P(`invalid`,e);var c=o=s=a=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:a=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(i(137,t));break;default:Zd(e,t,r,d,n,null)}}Jt(e,o,c,l,u,s,a,!1);return;case`select`:for(a in P(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(a)&&(c=n[a],c!=null))switch(a){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:Zd(e,t,a,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&Xt(e,!!r,n,!0):Xt(e,!!r,t,!1);return;case`textarea`:for(s in P(`invalid`,e),o=a=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:a=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(i(91));break;default:Zd(e,t,s,c,n,null)}Qt(e,r,a,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:Zd(e,t,l,r,n,null)}return;case`dialog`:P(`beforetoggle`,e),P(`toggle`,e),P(`cancel`,e),P(`close`,e);break;case`iframe`:case`object`:P(`load`,e);break;case`video`:case`audio`:for(r=0;r<Fd.length;r++)P(Fd[r],e);break;case`image`:P(`error`,e),P(`load`,e);break;case`details`:P(`toggle`,e);break;case`embed`:case`source`:case`link`:P(`error`,e),P(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:Zd(e,t,u,r,n,null)}return;default:if(rn(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Qd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&Zd(e,t,c,r,n,null))}function ef(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var a=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||Zd(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:a=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(i(137,t));break;default:m!==f&&Zd(e,t,p,m,r,f)}}qt(e,s,c,l,u,d,o,a);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||Zd(e,t,o,null,r,l)}for(a in r)if(o=r[a],l=n[a],r.hasOwnProperty(a)&&(o!=null||l!=null))switch(a){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&Zd(e,t,a,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?Xt(e,!!n,n?[]:``,!1):Xt(e,!!n,t,!0)):Xt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(a=n[c],n.hasOwnProperty(c)&&a!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:Zd(e,t,c,null,r,a)}for(s in r)if(a=r[s],o=n[s],r.hasOwnProperty(s)&&(a!=null||o!=null))switch(s){case`value`:p=a;break;case`defaultValue`:m=a;break;case`children`:break;case`dangerouslySetInnerHTML`:if(a!=null)throw Error(i(91));break;default:a!==o&&Zd(e,t,s,a,r,o)}Zt(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:Zd(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:Zd(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&Zd(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(i(137,t));break;default:Zd(e,t,u,p,r,m)}return;default:if(rn(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Qd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Qd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&Zd(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||Zd(e,t,f,p,r,m)}function tf(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function nf(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&tf(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&tf(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var rf=null,af=null;function of(e){return e.nodeType===9?e:e.ownerDocument}function sf(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function cf(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function lf(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var uf=null;function df(){var e=window.event;return e&&e.type===`popstate`?e!==uf&&(uf=e,!0):(uf=null,!1)}var ff=typeof setTimeout==`function`?setTimeout:void 0,pf=typeof clearTimeout==`function`?clearTimeout:void 0,mf=typeof Promise==`function`?Promise:void 0,hf=typeof queueMicrotask==`function`?queueMicrotask:mf===void 0?ff:function(e){return mf.resolve(null).then(e).catch(gf)};function gf(e){setTimeout(function(){throw e})}function _f(e){return e===`head`}function vf(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8){if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Wp(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)jf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,jf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[xt]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&jf(e.ownerDocument.body)}n=i}while(n);Wp(t)}function yf(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8){if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++}n=r}while(n)}function bf(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:bf(n),St(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function xf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r){if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e}else if(!e[xt])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=Ef(e.nextSibling),e===null)break}return null}function F(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=Ef(e.nextSibling),e===null))return null;return e}function Sf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=Ef(e.nextSibling),e===null))return null;return e}function Cf(e){return e.data===`$?`||e.data===`$~`}function wf(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function Tf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function Ef(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var Df=null;function Of(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return Ef(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function kf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function Af(e,t,n){switch(t=of(n),e){case`html`:if(e=t.documentElement,!e)throw Error(i(452));return e;case`head`:if(e=t.head,!e)throw Error(i(453));return e;case`body`:if(e=t.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function jf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);St(e)}var Mf=new Map,Nf=new Set;function Pf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Ff=A.d;A.d={f:If,r:Lf,D:Bf,C:Vf,L:Hf,m:Uf,X:Gf,S:Wf,M:Kf};function If(){var e=Ff.f(),t=Lu();return e||t}function Lf(e){var t=wt(e);t!==null&&t.tag===5&&t.type===`form`?Is(t):Ff.r(e)}var Rf=typeof document>`u`?null:document;function zf(e,t,n){var r=Rf;if(r&&typeof t==`string`&&t){var i=Kt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),Nf.has(i)||(Nf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),$d(t,`link`,e),Dt(t),r.head.appendChild(t)))}}function Bf(e){Ff.D(e),zf(`dns-prefetch`,e,null)}function Vf(e,t){Ff.C(e,t),zf(`preconnect`,e,t)}function Hf(e,t,n){Ff.L(e,t,n);var r=Rf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Kt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Kt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Kt(n.imageSizes)+`"]`)):i+=`[href="`+Kt(e)+`"]`;var a=i;switch(t){case`style`:a=qf(e);break;case`script`:a=Yf(e)}Mf.has(a)||(e=h({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),Mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(L(a))||t===`script`&&r.querySelector(Xf(a))||(t=r.createElement(`link`),$d(t,`link`,e),Dt(t),r.head.appendChild(t)))}}function Uf(e,t){Ff.m(e,t);var n=Rf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Kt(r)+`"][href="`+Kt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Yf(e)}if(!Mf.has(a)&&(e=h({rel:`modulepreload`,href:e},t),Mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Xf(a)))return}r=n.createElement(`link`),$d(r,`link`,e),Dt(r),n.head.appendChild(r)}}}function Wf(e,t,n){Ff.S(e,t,n);var r=Rf;if(r&&e){var i=Et(r).hoistableStyles,a=qf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(L(a)))s.loading=5;else{e=h({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=Mf.get(a))&&$f(e,n);var c=o=r.createElement(`link`);Dt(c),$d(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Qf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Gf(e,t){Ff.X(e,t);var n=Rf;if(n&&e){var r=Et(n).hoistableScripts,i=Yf(e),a=r.get(i);a||(a=n.querySelector(Xf(i)),a||(e=h({src:e,async:!0},t),(t=Mf.get(i))&&z(e,t),a=n.createElement(`script`),Dt(a),$d(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Kf(e,t){Ff.M(e,t);var n=Rf;if(n&&e){var r=Et(n).hoistableScripts,i=Yf(e),a=r.get(i);a||(a=n.querySelector(Xf(i)),a||(e=h({src:e,async:!0,type:`module`},t),(t=Mf.get(i))&&z(e,t),a=n.createElement(`script`),Dt(a),$d(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function I(e,t,n,r){var a=(a=he.current)?Pf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=qf(n.href),n=Et(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=qf(n.href);var o=Et(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(L(e)))&&!o._p&&(s.instance=o,s.state.loading=5),Mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Mf.set(e,n),o||R(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Yf(n),n=Et(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function qf(e){return`href="`+Kt(e)+`"`}function L(e){return`link[rel="stylesheet"][`+e+`]`}function Jf(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function R(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),$d(t,`link`,n),Dt(t),e.head.appendChild(t))}function Yf(e){return`[src="`+Kt(e)+`"]`}function Xf(e){return`script[async]`+e}function Zf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Kt(n.href)+`"]`);if(r)return t.instance=r,Dt(r),r;var a=h({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),Dt(r),$d(r,`style`,a),Qf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=qf(n.href);var o=e.querySelector(L(a));if(o)return t.state.loading|=4,t.instance=o,Dt(o),o;r=Jf(n),(a=Mf.get(a))&&$f(r,a),o=(e.ownerDocument||e).createElement(`link`),Dt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),$d(o,`link`,r),t.state.loading|=4,Qf(o,n.precedence,e),t.instance=o;case`script`:return o=Yf(n.src),(a=e.querySelector(Xf(o)))?(t.instance=a,Dt(a),a):(r=n,(a=Mf.get(o))&&(r=h({},n),z(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),Dt(a),$d(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Qf(r,n.precedence,e));return t.instance}function Qf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function $f(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function z(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var ep=null;function B(e,t,n){if(ep===null){var r=new Map,i=ep=new Map;i.set(n,r)}else i=ep,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[xt]||a[mt]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function V(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function tp(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function np(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function rp(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=qf(r.href),a=t.querySelector(L(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=op.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Dt(a);return}a=t.ownerDocument||t,r=Jf(r),(i=Mf.get(i))&&$f(r,i),a=a.createElement(`link`),Dt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),$d(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=op.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var ip=0;function ap(e,t){return e.stylesheets&&e.count===0&&cp(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&cp(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&ip===0&&(ip=62500*nf());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&cp(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>ip?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function op(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)cp(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var sp=null;function cp(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,sp=new Map,t.forEach(lp,e),sp=null,op.call(e))}function lp(e,t){if(!(t.state.loading&4)){var n=sp.get(e);if(n)var r=n.get(null);else{n=new Map,sp.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=op.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var up={$$typeof:C,Provider:null,Consumer:null,_currentValue:se,_currentValue2:se,_threadCount:0};function dp(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=rt(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=rt(0),this.hiddenUpdates=rt(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function H(e,t,n,r,i,a,o,s,c,l,u,d){return e=new dp(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=gi(3,null,null,t),e.current=a,a.stateNode=e,t=ga(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Ja(a),e}function fp(e){return e?(e=mi,e):mi}function pp(e,t,n,r,i,a){i=fp(i),r.context===null?r.context=i:r.pendingContext=i,r=Xa(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Za(e,r,t),n!==null&&(Mu(n,e,t),Qa(n,e,t))}function mp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function hp(e,t){mp(e,t),(e=e.alternate)&&mp(e,t)}function gp(e){if(e.tag===13||e.tag===31){var t=di(e,67108864);t!==null&&Mu(t,e,67108864),hp(e,67108864)}}function _p(e){if(e.tag===13||e.tag===31){var t=Au();t=lt(t);var n=di(e,t);n!==null&&Mu(n,e,t),hp(e,t)}}var vp=!0;function yp(e,t,n,r){var i=k.T;k.T=null;var a=A.p;try{A.p=2,xp(e,t,n,r)}finally{A.p=a,k.T=i}}function bp(e,t,n,r){var i=k.T;k.T=null;var a=A.p;try{A.p=8,xp(e,t,n,r)}finally{A.p=a,k.T=i}}function xp(e,t,n,r){if(vp){var i=Sp(r);if(i===null)Hd(e,t,r,Cp,n),Pp(e,r);else if(Ip(i,e,t,n,r))r.stopPropagation();else if(Pp(e,r),t&4&&-1<Np.indexOf(e)){for(;i!==null;){var a=wt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=Qe(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Ge(o);s.entanglements[1]|=c,o&=~c}xd(a),!(Zl&6)&&(vu=Ne()+500,Sd(0,!1))}}break;case 31:case 13:s=di(a,2),s!==null&&Mu(s,a,2),Lu(),hp(a,2)}if(a=Sp(r),a===null&&Hd(e,t,r,Cp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else Hd(e,t,r,null,n)}}function Sp(e){return e=un(e),wp(e)}var Cp=null;function wp(e){if(Cp=null,e=Ct(e),e!==null){var t=o(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=s(t),e!==null)return e;e=null}else if(n===31){if(e=c(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Cp=e,null}function Tp(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(Pe()){case Fe:return 2;case Ie:return 8;case Le:case Re:return 32;case ze:return 268435456;default:return 32}default:return 32}}var Ep=!1,Dp=null,Op=null,kp=null,Ap=new Map,jp=new Map,Mp=[],Np=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset`.split(` `);function Pp(e,t){switch(e){case`focusin`:case`focusout`:Dp=null;break;case`dragenter`:case`dragleave`:Op=null;break;case`mouseover`:case`mouseout`:kp=null;break;case`pointerover`:case`pointerout`:Ap.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:jp.delete(t.pointerId)}}function Fp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=wt(t),t!==null&&gp(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Ip(e,t,n,r,i){switch(t){case`focusin`:return Dp=Fp(Dp,e,t,n,r,i),!0;case`dragenter`:return Op=Fp(Op,e,t,n,r,i),!0;case`mouseover`:return kp=Fp(kp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return Ap.set(a,Fp(Ap.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,jp.set(a,Fp(jp.get(a)||null,e,t,n,r,i)),!0}return!1}function Lp(e){var t=Ct(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=s(n),t!==null){e.blockedOn=t,ft(e.priority,function(){_p(n)});return}}else if(t===31){if(t=c(n),t!==null){e.blockedOn=t,ft(e.priority,function(){_p(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Rp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Sp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);ln=r,n.target.dispatchEvent(r),ln=null}else return t=wt(n),t!==null&&gp(t),e.blockedOn=n,!1;t.shift()}return!0}function zp(e,t,n){Rp(e)&&n.delete(t)}function Bp(){Ep=!1,Dp!==null&&Rp(Dp)&&(Dp=null),Op!==null&&Rp(Op)&&(Op=null),kp!==null&&Rp(kp)&&(kp=null),Ap.forEach(zp),jp.forEach(zp)}function Vp(e,n){e.blockedOn===n&&(e.blockedOn=null,Ep||(Ep=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Bp)))}var Hp=null;function Up(e){Hp!==e&&(Hp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){Hp===e&&(Hp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(wp(r||n)===null)continue;break}var a=wt(n);a!==null&&(e.splice(t,3),t-=3,Ps(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Wp(e){function t(t){return Vp(t,e)}Dp!==null&&Vp(Dp,e),Op!==null&&Vp(Op,e),kp!==null&&Vp(kp,e),Ap.forEach(t),jp.forEach(t);for(var n=0;n<Mp.length;n++){var r=Mp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Mp.length&&(n=Mp[0],n.blockedOn===null);)Lp(n),n.blockedOn===null&&Mp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[ht]||null;if(typeof a==`function`)o||Up(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[ht]||null)s=o.formAction;else if(wp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Up(n)}}}function Gp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Kp(e){this._internalRoot=e}qp.prototype.render=Kp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(i(409));var n=t.current;pp(n,Au(),e,t,null,null)},qp.prototype.unmount=Kp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;pp(e.current,2,null,e,null,null),Lu(),t[gt]=null}};function qp(e){this._internalRoot=e}qp.prototype.unstable_scheduleHydration=function(e){if(e){var t=dt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Mp.length&&t!==0&&t<Mp[n].priority;n++);Mp.splice(n,0,e),n===0&&Lp(e)}};var Jp=n.version;if(Jp!==`19.2.8`)throw Error(i(527,Jp,`19.2.8`));A.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(i(188)):(e=Object.keys(e).join(`,`),Error(i(268,e)));return e=d(t),e=e===null?null:p(e),e=e===null?null:e.stateNode,e};var Yp={bundleType:0,version:`19.2.8`,rendererPackageName:`react-dom`,currentDispatcherRef:k,reconcilerVersion:`19.2.8`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var Xp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Xp.isDisabled&&Xp.supportsFiber)try{He=Xp.inject(Yp),Ue=Xp}catch{}}e.createRoot=function(e,t){if(!a(e))throw Error(i(299));var n=!1,r=``,o=rc,s=ic,c=ac;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=H(e,1,!1,null,null,n,r,null,o,s,c,Gp),e[gt]=t.current,Bd(e),new Kp(t)}})),g=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()})),_=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,v=/^[\\/]{2}/;function y(e,t){return t+e.replace(/\\/g,`/`)}var b=`popstate`;function x(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function S(e={}){function t(e,t){let n=t.state?.masked,{pathname:r,search:i,hash:a}=n||e.location;return te(``,{pathname:r,search:i,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||`default`,n?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)}function n(e,t){return typeof t==`string`?t:E(t)}return D(t,n,null,e)}function C(e,t){if(e===!1||e==null)throw Error(t)}function w(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function T(){return Math.random().toString(36).substring(2,10)}function ee(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function te(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?ne(t):t,state:n,key:t&&t.key||r||T(),mask:i}}function E({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function ne(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function D(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function d(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:h.location,delta:t})}function f(e,t){s=`PUSH`;let r=x(e)?e:te(h.location,e,t);n&&n(r,e),l=u()+1;let d=ee(r,l),f=h.createHref(r.mask||r);try{o.pushState(d,``,f)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(f)}a&&c&&c({action:s,location:h.location,delta:1})}function p(e,t){s=`REPLACE`;let r=x(e)?e:te(h.location,e,t);n&&n(r,e),l=u();let i=ee(r,l),d=h.createHref(r.mask||r);o.replaceState(i,``,d),a&&c&&c({action:s,location:h.location,delta:0})}function m(e){return re(i,e)}let h={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(b,d),c=e,()=>{i.removeEventListener(b,d),c=null}},createHref(e){return t(i,e)},createURL:m,encodeLocation(e){let t=m(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:f,replace:p,go(e){return o.go(e)}};return h}function re(e,t,n=!1){let r=`http://localhost`;e&&(r=e.location.origin===`null`?e.location.href:e.location.origin),C(r,`No window.location.(origin|href) available to create URL`);let i=typeof t==`string`?t:E(t);return i=i.replace(/ $/,`%20`),!n&&v.test(i)&&(i=r+i),new URL(i,r)}var O=c(u(),1),ie=class{#e=new Map;constructor(e){if(e)for(let[t,n]of e)this.set(t,n)}get(e){if(this.#e.has(e))return this.#e.get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw Error(`No value found for context`)}set(e,t){this.#e.set(e,t)}},ae=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`children`]);function oe(e){return ae.has(e)}var k=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`middleware`,`children`]);function A(e){return k.has(e)}function se(e){return e.index===!0}function ce(e){let t={};return e.Component&&Object.assign(t,{element:O.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:O.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:O.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}function le(e,t=ce,n=[],r={},i=!1){return e.map((e,a)=>{let o=[...n,String(a)],s=typeof e.id==`string`?e.id:o.join(`-`);if(C(e.index!==!0||!e.children,`Cannot specify children on an index route`),C(i||!r[s],`Found a route id collision on id "${s}". Route id's must be globally unique within Data Router usages`),se(e)){let n={...e,id:s};return r[s]=ue(n,t(n)),n}{let n={...e,id:s,children:void 0};return r[s]=ue(n,t(n)),e.children&&(n.children=le(e.children,t,o,r,i)),n}})}function ue(e,t){return Object.assign(e,{...t,...typeof t.lazy==`object`&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function de(e,t,n=`/`){return fe(e,t,n,!1)}function fe(e,t,n,r,i){let a=Pe((typeof t==`string`?ne(t):t).pathname||`/`,n);if(a==null)return null;let o=i??me(e),s=null,c=Ne(a);for(let e=0;s==null&&e<o.length;++e)s=ke(o[e],c,r);return s}function pe(e,t){let{route:n,pathname:r,params:i}=e;return{id:n.id,pathname:r,params:i,loaderData:t[n.id],handle:n.handle}}function me(e){let t=he(e);return _e(t),t}function he(e,t=[],n=[],r=``,i=!1){let a=(e,a,o=i,s)=>{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;C(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=We([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(C(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),he(e.children,t,u,l,o)),(e.path!=null||e.index)&&t.push({path:l,score:De(l,e.index),routesMeta:u.map((e,t)=>{let[n,r]=Me(e.relativePath,e.caseSensitive,t===u.length-1);return{...e,matcher:n,compiledParams:r}})})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of ge(e.path))a(e,t,!0,n)}),t}function ge(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=ge(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function _e(e){e.sort((e,t)=>e.score===t.score?Oe(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var ve=/^:[\w-]+$/,ye=/^:[\w-]+/,be=3.5,xe=3,Se=2,Ce=1,we=10,Te=-2,Ee=e=>e===`*`;function De(e,t){let n=e.split(`/`),r=n.length;return n.some(Ee)&&(r+=Te),t&&(r+=Se),n.filter(e=>!Ee(e)).reduce((e,t)=>e+(ve.test(t)?xe:ye.test(t)?be:t===``?Ce:we),r)}function Oe(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function ke(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e<r.length;++e){let s=r[e],c=e===r.length-1,l=a===`/`?t:t.slice(a.length)||`/`,u={path:s.relativePath,caseSensitive:s.caseSensitive,end:c},d=s.matcher&&s.compiledParams?je(u,l,s.matcher,s.compiledParams):Ae(u,l),f=s.route;if(!d&&c&&n&&!r[r.length-1].route.index&&(d=Ae({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!d)return null;Object.assign(i,d.params),o.push({params:i,pathname:We([a,d.pathname]),pathnameBase:Ke(We([a,d.pathnameBase])),route:f}),d.pathnameBase!==`/`&&(a=We([a,d.pathnameBase]))}return o}function Ae(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=Me(e.path,e.caseSensitive,e.end);return je(e,t,n,r)}function je(e,t,n,r){let i=t.match(n);if(!i)return null;let a=i[0],o=Ge(a,1),s=i.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if(t===`*`){let e=s[r]||``;o=Ge(a.slice(0,a.length-e.length),1)}let i=s[r];return e[t]=n&&!i?void 0:(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function Me(e,t=!1,n=!0){w(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(?=\/|$|\()/g,`(?:/$1)?`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function Ne(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return w(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function Pe(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}function Fe({basename:e,pathname:t}){return t===`/`?e:We([e,t])}var Ie=e=>_.test(e);function Le(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?ne(e):e,a;return n?(n=Ue(n),a=n.startsWith(`/`)||n.startsWith(`\\`)?Re(n.substring(1),`/`):Re(n,t)):a=t,{pathname:a,search:qe(r),hash:Je(i)}}function Re(e,t){let n=Ge(t).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function ze(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Be(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function Ve(e){let t=Be(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function He(e,t,n,r=!1){let i;typeof e==`string`?i=ne(e):(i={...e},C(!i.pathname||!i.pathname.includes(`?`),ze(`?`,`pathname`,`search`,i)),C(!i.pathname||!i.pathname.includes(`#`),ze(`#`,`pathname`,`hash`,i)),C(!i.search||!i.search.includes(`#`),ze(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=Le(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var Ue=e=>e.replace(/[\\/]{2,}/g,`/`),We=e=>Ue(e.join(`/`));function Ge(e,t=0){let n=e.length;for(;n>t&&e.charCodeAt(n-1)===47;)n--;return n===e.length?e:e.slice(0,n)}var Ke=e=>Ge(e).replace(/^\/*/,`/`),qe=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,Je=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,Ye=[`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],Xe=class{status;statusText;data;error;internal;constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function Ze(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function Qe(e){return We(e.map(e=>e.route.path).filter(Boolean))||`/`}function $e(e,t){let n=new URL(typeof e==`string`||e instanceof URL?e:e.url),r=typeof t==`string`?ne(t):t;if(n.pathname=r.pathname||`/`,r.search){let e=new URLSearchParams(r.search),t=e.getAll(`index`);e.delete(`index`);for(let n of t.filter(Boolean))e.append(`index`,n);let i=e.toString();n.search=i?`?${i}`:``}else n.search=``;return n.hash=r.hash||``,n}var et=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function tt(e,t){let n=e;if(typeof n!=`string`||!_.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(et)try{let e=new URL(window.location.href),r=v.test(n)?new URL(y(n,e.protocol)):new URL(n),a=Pe(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{w(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}var nt=Symbol(`Uninstrumented`),rt=new WeakMap;function it(e,t){let n={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};e.forEach(e=>e({id:t.id,index:t.index,path:t.path,instrument(e){e.lazy!=null&&n.lazy.push(e.lazy),e[`lazy.loader`]!=null&&n[`lazy.loader`].push(e[`lazy.loader`]),e[`lazy.action`]!=null&&n[`lazy.action`].push(e[`lazy.action`]),e[`lazy.middleware`]!=null&&n[`lazy.middleware`].push(e[`lazy.middleware`]),e.middleware!=null&&n.middleware.push(e.middleware),e.loader!=null&&n.loader.push(e.loader),e.action!=null&&n.action.push(e.action)}}));let r={};if(typeof t.lazy==`function`&&n.lazy.length>0){let e=t.lazy;r.lazy=async(...t)=>ut(await dt(n.lazy,void 0,()=>e(...t),ft))}if(typeof t.lazy==`object`){let e=t.lazy;if(typeof e.middleware==`function`&&n[`lazy.middleware`].length>0){let t=e.middleware;r.lazy=Object.assign(r.lazy||{},{middleware:async(...e)=>ut(await dt(n[`lazy.middleware`],void 0,()=>t(...e),ft))})}if(typeof e.loader==`function`&&n[`lazy.loader`].length>0){let t=e.loader;r.lazy=Object.assign(r.lazy||{},{loader:async(...e)=>ut(await dt(n[`lazy.loader`],void 0,()=>t(...e),ft))})}if(typeof e.action==`function`&&n[`lazy.action`].length>0){let t=e.action;r.lazy=Object.assign(r.lazy||{},{action:async(...e)=>ut(await dt(n[`lazy.action`],void 0,()=>t(...e),ft))})}}if(typeof t.loader==`function`&&n.loader.length>0){let e=ot(t.loader),i=async(...t)=>ut(await dt(n.loader,pt(t[0]),()=>e(...t),ft));e.hydrate===!0&&(i.hydrate=!0),st(i,e),r.loader=i}if(typeof t.action==`function`&&n.action.length>0){let e=ot(t.action),i=async(...t)=>ut(await dt(n.action,pt(t[0]),()=>e(...t),ft));st(i,e),r.action=i}return t.middleware&&t.middleware.length>0&&n.middleware.length>0&&(r.middleware=t.middleware.map(e=>{let t=ot(e),r=async(...e)=>ut(await dt(n.middleware,pt(e[0]),()=>t(...e),ft));return st(r,t),r})),r}function at(e,t){let n={navigate:[],fetch:[]};if(t.forEach(e=>e({instrument(e){e.navigate!=null&&n.navigate.push(e.navigate),e.fetch!=null&&n.fetch.push(e.fetch)}})),n.navigate.length>0){let t=ot(e.navigate),r=async(...r)=>{let[i,a]=r,o,s={to:typeof i==`number`||typeof i==`string`?i:i?E(i):`.`,...mt(e,a??{})};return ut(await dt(n.navigate,s,async()=>{if(typeof i==`number`)return await t(...r);let n=ct(e,e=>{o=e});try{return await t(...r)}finally{n()}},e=>({...ft(e),meta:o})))};st(r,t),e.navigate=r}if(n.fetch.length>0){let t=ot(e.fetch),r=async(...r)=>{let[i,a,o,s]=r,c;return ut(await dt(n.fetch,{href:o??`.`,fetcherKey:i,...mt(e,s??{})},async()=>{let n=ct(e,e=>{c=e});try{return await t(...r)}finally{n()}},e=>({...ft(e),meta:c})))};st(r,t),e.fetch=r}return e}function ot(e){return e[nt]??e}function st(e,t){e[nt]=t}function ct(e,t){return rt.set(e,t),()=>{rt.get(e)===t&&rt.delete(e)}}function lt(e){let t=rt.get(e);return rt.delete(e),t}function ut(e){if(e.type===`error`)throw e.value;return e.value}async function dt(e,t,n,r,i={result:null,innerResult:null},a=e.length-1){let o=e[a];if(o){let s,c=async()=>(s?console.error(`You cannot call instrumented handlers more than once`):s=dt(e,t,n,r,i,a-1),await s,C(i.innerResult,`Expected an inner result`),i.innerResult);try{await o(c,t)}catch(e){console.error(`An instrumentation function threw an error:`,e)}s||await c(),await s}else{try{i.result={type:`success`,value:await n()}}catch(e){i.result={type:`error`,value:e}}i.innerResult=r(i.result,t)}return i.result?i.result:(i.result={type:`error`,value:Error(`No result assigned in instrumentation chain.`)},i.innerResult=r(i.result,t),i.result)}function ft(e){return e.type===`error`&&e.value instanceof Error?{status:`error`,error:e.value}:{status:`success`,error:void 0}}function pt(e){let{request:t,context:n,params:r}=e;return{...e,request:ht(t),params:{...r},context:gt(n)}}function mt(e,t){return{currentUrl:E(e.state.location),...`formMethod`in t?{formMethod:t.formMethod}:{},...`formEncType`in t?{formEncType:t.formEncType}:{},...`formData`in t?{formData:t.formData}:{},...`body`in t?{body:t.body}:{}}}function ht(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function gt(e){return{get:t=>e.get(t)}}var _t=new URL(`http://localhost`);function vt(e){if(e.createURL)return e.createURL(`/`);try{return new URL(e.createHref(`/`),_t)}catch{return _t}}function yt(e,t){return e.origin===t.origin&&(e.origin!==`null`||e.protocol===t.protocol&&e.host===t.host)}function bt(e,t){if(e.startsWith(`//`))return!0;let n=t.protocol.toLowerCase();return e.toLowerCase().startsWith(n)?t.host===``||e.slice(n.length).startsWith(`//`):!1}function xt(e,t,n,r){let i=null;try{i=e==null?null:new URL(e,n)}catch{}let a=new URL(t,n),o=i!=null&&!yt(i,n),s=!yt(a,n);if(r===`reject`){if(o||s)throw Error(`External navigation is not allowed`)}else if(s&&(i==null||!bt(e,i)||!yt(i,a)))throw Error(`External navigation is not allowed`)}var St=[`POST`,`PUT`,`PATCH`,`DELETE`],Ct=new Set(St),wt=[`GET`,...St],Tt=new Set(wt),Et=new Set([301,302,303,307,308]),Dt=new Set([307,308]),Ot={state:`idle`,location:void 0,matches:void 0,historyAction:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},kt={state:`idle`,data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},At={state:`unblocked`,proceed:void 0,reset:void 0,location:void 0},jt=`remix-router-transitions`,Mt=Symbol(`ResetLoaderData`),Nt=class{#e;#t;#n;#r;constructor(e){this.#e=e,this.#t=me(e)}get stableRoutes(){return this.#e}get activeRoutes(){return this.#n??this.#e}get branches(){return this.#r??this.#t}get hasHMRRoutes(){return this.#n!=null}setRoutes(e){this.#e=e,this.#t=me(e)}setHmrRoutes(e){this.#n=e,this.#r=me(e)}commitHmrRoutes(){this.#n&&(this.#e=this.#n,this.#t=this.#r,this.#n=void 0,this.#r=void 0)}};function Pt(e){let t=e.window?e.window:typeof window<`u`?window:void 0,n=t!==void 0&&t.document!==void 0&&t.document.createElement!==void 0;C(e.routes.length>0,`You must provide a non-empty routes array to createRouter`);let r=e.hydrationRouteProperties||[],i=e.mapRouteProperties,a=i||(()=>({}));if(e.instrumentations){let t=e.instrumentations;a=e=>({...i?.(e),...it(t.map(e=>e.route).filter(Boolean),e)})}let o={},s=new Nt(le(e.routes,a,void 0,o)),c=e.basename||`/`;c.startsWith(`/`)||(c=`/${c}`);let l=e.dataStrategy||Zt,u={...e.future},d=null,f=new Set,p=null,m=null,h=null,g=null,_=e.hydrationData!=null,y=fe(s.activeRoutes,e.history.location,c,!1,s.branches),b=!1,x=null,S,T;if(y==null&&!e.patchRoutesOnNavigation){let t=Sn(404,{pathname:e.history.location.pathname}),{matches:n,route:r}=xn(s.activeRoutes);S=!0,T=!S,y=n,x={[r.id]:t}}else if(y&&!e.hydrationData&&gt(y,s.activeRoutes,e.history.location.pathname).active&&(y=null),!y){S=!1,T=!S,y=[];let t=gt(null,s.activeRoutes,e.history.location.pathname);t.active&&t.matches&&(b=!0,y=t.matches)}else if(y.some(e=>e.route.lazy))S=!1,T=!S;else if(!y.some(e=>zt(e.route)))S=!0,T=!S;else{let t=e.hydrationData?e.hydrationData.loaderData:null,n=e.hydrationData?e.hydrationData.errors:null,r=y;if(n){let e=y.findIndex(e=>n[e.route.id]!==void 0);r=r.slice(0,e+1)}T=!1,S=!0,r.forEach(e=>{let r=Bt(e.route,t,n);T||=r.renderFallback,S&&=!r.shouldLoad})}let ee,D={historyAction:e.history.action,location:e.history.location,matches:y,initialized:S,renderFallback:T,navigation:Ot,restoreScrollPosition:e.hydrationData==null&&null,preventScrollReset:!1,revalidation:`idle`,loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||x,fetchers:new Map,blockers:new Map},O=`POP`,ae=null,oe=!1,k,A=!1,se=new Map,ce=null,ue=!1,de=!1,me=new Set,he=new Map,ge=0,_e=-1,ve=new Map,ye=new Set,be=new Map,xe=new Map,Se=new Set,Ce=new Map,we,Te=null;function Ee(){if(d=e.history.listen(({action:t,location:n,delta:r})=>{if(we){we(),we=void 0;return}w(Ce.size===0||r!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let i=ut({currentLocation:D.location,nextLocation:n,historyAction:t});if(i&&r!=null){let t=new Promise(e=>{we=e});e.history.go(r*-1),ct(i,{state:`blocked`,location:n,proceed(){ct(i,{state:`proceeding`,proceed:void 0,reset:void 0,location:n}),t.then(()=>e.history.go(r))},reset(){let e=new Map(D.blockers);e.set(i,At),ke({blockers:e})}}),ae?.resolve(),ae=null;return}return Ne(t,n)}),n){qn(t,se);let e=()=>Jn(t,se);t.addEventListener(`pagehide`,e),ce=()=>t.removeEventListener(`pagehide`,e)}return D.initialized||Ne(`POP`,D.location,{initialHydration:!0}),ee}function De(){d&&d(),ce&&ce(),f.clear(),k&&k.abort(),D.fetchers.forEach((e,t)=>Qe(D.fetchers,t)),D.blockers.forEach((e,t)=>st(t))}function Oe(e){if(f.add(e),p){let{newErrors:t}=p;p=null,e(D,{deletedFetchers:[],newErrors:t,viewTransitionOpts:void 0,flushSync:!1})}return()=>f.delete(e)}function ke(e,t={}){e.matches&&=e.matches.map(e=>{let t=o[e.route.id],n=e.route;return n.element!==t.element||n.errorElement!==t.errorElement||n.hydrateFallbackElement!==t.hydrateFallbackElement?{...e,route:t}:e}),D={...D,...e};let n=[],r=[];D.fetchers.forEach((e,t)=>{e.state===`idle`&&(Se.has(t)?n.push(t):r.push(t))}),Se.forEach(e=>{!D.fetchers.has(e)&&!he.has(e)&&n.push(e)}),f.size===0&&(p={newErrors:e.errors??null}),[...f].forEach(r=>r(D,{deletedFetchers:n,newErrors:e.errors??null,viewTransitionOpts:t.viewTransitionOpts,flushSync:t.flushSync===!0})),n.forEach(e=>Qe(D.fetchers,e)),r.forEach(e=>D.fetchers.delete(e))}function Ae(t,n,{flushSync:r}={}){let i=D.actionData!=null&&D.navigation.formMethod!=null&&Ln(D.navigation.formMethod)&&D.navigation.state===`loading`&&t.state?._isRedirect!==!0,a;a=n.actionData?Object.keys(n.actionData).length>0?n.actionData:null:i?D.actionData:null;let o=n.loaderData?vn(D.loaderData,n.loaderData,n.matches||[],n.errors):D.loaderData,c=D.blockers;c.size>0&&!ue&&(c=new Map(c),c.forEach((e,t)=>c.set(t,At)));let l=!ue&&ht(t,n.matches||D.matches),u=oe===!0||D.navigation.formMethod!=null&&Ln(D.navigation.formMethod)&&t.state?._isRedirect!==!0;s.commitHmrRoutes(),ue||O===`POP`||(O===`PUSH`?e.history.push(t,t.state):O===`REPLACE`&&e.history.replace(t,t.state));let d;if(O===`POP`){let e=se.get(D.location.pathname);e&&e.has(t.pathname)?d={currentLocation:D.location,nextLocation:t}:se.has(t.pathname)&&(d={currentLocation:t,nextLocation:D.location})}else if(A){let e=se.get(D.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),se.set(D.location.pathname,e)),d={currentLocation:D.location,nextLocation:t}}ke({...n,actionData:a,loaderData:o,historyAction:O,location:t,initialized:!0,renderFallback:!1,navigation:Ot,revalidation:`idle`,restoreScrollPosition:l,preventScrollReset:u,blockers:c},{viewTransitionOpts:d,flushSync:r===!0}),O=`POP`,oe=!1,A=!1,ue=!1,de=!1,ae?.resolve(),ae=null,Te?.resolve(),Te=null}async function je(t,n){if(ae?.resolve(),ae=null,typeof t==`number`){ae||=Yn();let n=ae.promise;return e.history.go(t),n}let r=lt(ee),{path:i,submission:a,error:o}=Lt(!1,It(D.location,D.matches,c,t,n?.fromRouteId,n?.relative),n),s;if(n?.mask){let t=typeof n.mask==`string`?ne(n.mask):{...D.location.mask,...n.mask};if(s={pathname:t.pathname??``,search:t.search??``,hash:t.hash??``},v.test(s.pathname))throw Error(`External navigation is not allowed`);s.pathname.startsWith(`\\`)&&(s.pathname=s.pathname.replace(/^\\+/,`/`)),xt(typeof n.mask==`string`?n.mask:E(n.mask),E(s),e.history.createURL(`/`),`reject`)}let l=D.location,u=te(l,i,n&&n.state,void 0,s);u={...u,...e.history.encodeLocation(u)},xt(t==null?e.history.createHref(D.location):typeof t==`string`?t:E(t),e.history.createHref(u.mask||u),e.history.createURL(`/`),`reject`);let d=n&&n.replace!=null?n.replace:void 0,f=`PUSH`;d===!0?f=`REPLACE`:d===!1||a!=null&&Ln(a.formMethod)&&a.formAction===D.location.pathname+D.location.search&&(f=`REPLACE`);let p=n&&`preventScrollReset`in n?n.preventScrollReset===!0:void 0,m=(n&&n.flushSync)===!0,h=ut({currentLocation:l,nextLocation:u,historyAction:f});if(h){ct(h,{state:`blocked`,location:u,proceed(){ct(h,{state:`proceeding`,proceed:void 0,reset:void 0,location:u}),je(t,n)},reset(){let e=new Map(D.blockers);e.set(h,At),ke({blockers:e})}});return}await Ne(f,u,{submission:a,pendingError:o,preventScrollReset:p,replace:n&&n.replace,enableViewTransition:n&&n.viewTransition,flushSync:m,callSiteDefaultShouldRevalidate:n&&n.defaultShouldRevalidate,instrumentationNavigateMetaReceiver:r})}function Me(){Te||=Yn(),Ke(),ke({revalidation:`loading`});let e=Te.promise;return D.navigation.state===`submitting`?e:D.navigation.state===`idle`?(Ne(D.historyAction,D.location,{startUninterruptedRevalidation:!0}),e):(Ne(O||D.historyAction,D.navigation.location,{overrideNavigation:D.navigation,enableViewTransition:A===!0}),e)}async function Ne(t,n,r){k&&k.abort(),k=null,O=t,ue=(r&&r.startUninterruptedRevalidation)===!0,mt(D.location,D.matches),oe=(r&&r.preventScrollReset)===!0,A=(r&&r.enableViewTransition)===!0;let i=s.activeRoutes,a=r?.initialHydration&&D.matches&&D.matches.length>0&&!b?D.matches:fe(i,n,c,!1,s.branches),o=(r&&r.flushSync)===!0;if(a&&D.initialized&&!de&&Tn(D.location,n)&&!(r&&r.submission&&Ln(r.submission.formMethod))){Ae(n,{matches:a},{flushSync:o});return}let l=gt(a,i,n.pathname);if(l.active&&l.matches&&(a=l.matches),r?.instrumentationNavigateMetaReceiver){let t=Bn(e.history,n,a);r.instrumentationNavigateMetaReceiver(t)}if(!a){let{error:e,notFoundMatches:t,route:r}=dt(n.pathname);Ae(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:o});return}let u=r&&r.overrideNavigation?{...r.overrideNavigation,matches:a,historyAction:t}:void 0;k=new AbortController;let d=pn(e.history,n,k.signal,r&&r.submission),f=e.getContext?await e.getContext():new ie,p;if(r&&r.pendingError)p=[bn(a).route.id,{type:`error`,error:r.pendingError}];else if(r&&r.submission&&Ln(r.submission.formMethod)){let i=await Fe(d,n,r.submission,a,t,f,l.active,r&&r.initialHydration===!0,{replace:r.replace,flushSync:o});if(i.shortCircuited)return;if(i.pendingActionResult){let[e,t]=i.pendingActionResult;if(An(t)&&Ze(t.error)&&t.error.status===404){k=null,Ae(n,{matches:i.matches,loaderData:{},errors:{[e]:t.error}});return}}a=i.matches||a,p=i.pendingActionResult,u=Hn(n,a,t,r.submission),o=!1,l.active=!1,d=pn(e.history,d.url,d.signal)}let{shortCircuited:m,matches:h,loaderData:g,errors:_,workingFetchers:v}=await Le(d,n,a,t,f,l.active,u,r&&r.submission,r&&r.fetcherSubmission,r&&r.replace,r&&r.initialHydration===!0,o,p,r&&r.callSiteDefaultShouldRevalidate);m||(k=null,Ae(n,{matches:h||a,...yn(p),loaderData:g,errors:_,...v?{fetchers:v}:{}}))}async function Fe(t,n,i,l,u,d,f,p,m={}){if(Ke(),ke({navigation:Un(n,l,u,i)},{flushSync:m.flushSync===!0}),f){let e=await _t(l,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=xn(s.activeRoutes);return{matches:t,pendingActionResult:[n.id,{type:`error`,error:e.error}]}}let t=bn(e.partialMatches).route.id;return{matches:e.partialMatches,pendingActionResult:[t,{type:`error`,error:e.error}]}}if(e.matches)l=e.matches;else{let{notFoundMatches:e,error:t,route:r}=dt(n.pathname);return{matches:e,pendingActionResult:[r.id,{type:`error`,error:t}]}}}let h,g=zn(l,n);if(!g.route.action&&!g.route.lazy)h={type:`error`,error:Sn(405,{method:t.method,pathname:n.pathname,routeId:g.route.id})};else{let e=await We(t,n,rn(a,o,t,n,l,g,p?[]:r,d),d,null);if(h=e[g.route.id],!h){for(let t of l)if(e[t.route.id]){h=e[t.route.id];break}}if(t.signal.aborted)return{shortCircuited:!0}}if(jn(h)){let n;return n=m&&m.replace!=null?m.replace:fn(h.response.headers.get(`Location`),new URL(t.url),c,e.history)===D.location.pathname+D.location.search,await Ue(t,h,!0,{submission:i,replace:n}),{shortCircuited:!0}}if(An(h)){let e=bn(l,g.route.id);return(m&&m.replace)!==!0&&(O=`PUSH`),{matches:l,pendingActionResult:[e.route.id,h,g.route.id]}}return{matches:l,pendingActionResult:[g.route.id,h]}}async function Le(t,n,i,l,u,d,f,p,m,h,g,_,v,y){let b=f||Hn(n,i,l,p),x=p||m||Vn(b),S=!ue&&!g;if(d){if(S){let e=Re(v);ke({navigation:b,...e===void 0?{}:{actionData:e}},{flushSync:_})}let e=await _t(i,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=xn(s.activeRoutes);return{matches:t,loaderData:{},errors:{[n.id]:e.error}}}let t=bn(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}if(e.matches)i=e.matches;else{let{error:e,notFoundMatches:t,route:r}=dt(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}}let C=s.activeRoutes,{dsMatches:w,revalidatingFetchers:T}=Rt(t,u,a,o,e.history,D,i,x,n,g?[]:r,g===!0,de,me,Se,be,ye,C,c,e.patchRoutesOnNavigation!=null,s.branches,v,y);if(_e=++ge,!e.dataStrategy&&!w.some(e=>e.shouldLoad)&&!w.some(e=>e.route.middleware&&e.route.middleware.length>0)&&T.length===0){let e=new Map(D.fetchers),t=nt(e);return Ae(n,{matches:i,loaderData:{},errors:v&&An(v[1])?{[v[0]]:v[1].error}:null,...yn(v),...t?{fetchers:e}:{}},{flushSync:_}),{shortCircuited:!0}}if(S){let e={};if(!d){e.navigation=b;let t=Re(v);t!==void 0&&(e.actionData=t)}T.length>0&&(e.fetchers=ze(T)),ke(e,{flushSync:_})}T.forEach(e=>{et(e.key),e.controller&&he.set(e.key,e.controller)});let ee=()=>T.forEach(e=>et(e.key));k&&k.signal.addEventListener(`abort`,ee);let{loaderResults:te,fetcherResults:E}=await Ge(w,T,t,n,u);if(t.signal.aborted)return{shortCircuited:!0};k&&k.signal.removeEventListener(`abort`,ee),T.forEach(e=>he.delete(e.key));let ne=Cn(te);if(ne)return await Ue(t,ne.result,!0,{replace:h}),{shortCircuited:!0};if(ne=Cn(E),ne)return ye.add(ne.key),await Ue(t,ne.result,!0,{replace:h}),{shortCircuited:!0};let re=new Map(D.fetchers),{loaderData:O,errors:ie}=_n(D,i,te,v,T,E,re);g&&D.errors&&(ie={...D.errors,...ie});let ae=nt(re),oe=rt(_e,re),A=ae||oe||T.length>0;return{matches:i,loaderData:O,errors:ie,...A?{workingFetchers:re}:{}}}function Re(e){if(e&&!An(e[1]))return{[e[0]]:e[1].data};if(D.actionData)return Object.keys(D.actionData).length===0?null:D.actionData}function ze(e){let t=new Map(D.fetchers);return e.forEach(e=>{let n=t.get(e.key),r=Wn(void 0,n?n.data:void 0);t.set(e.key,r)}),t}async function Be(t,n,r,i){et(t);let a=(i&&i.flushSync)===!0,o=lt(ee),l=s.activeRoutes,u=It(D.location,D.matches,c,r,n,i?.relative),d=fe(l,u,c,!1,s.branches),f=gt(d,l,u);if(f.active&&f.matches&&(d=f.matches),o&&o(Bn(e.history,u,d)),!d){Je(t,n,Sn(404,{pathname:u}),{flushSync:a});return}let{path:p,submission:m,error:h}=Lt(!0,u,i);if(h){Je(t,n,h,{flushSync:a});return}let g=e.getContext?await e.getContext():new ie,_=(i&&i.preventScrollReset)===!0;if(m&&Ln(m.formMethod)){await Ve(t,n,p,d,g,f.active,a,_,m,i&&i.defaultShouldRevalidate);return}be.set(t,{routeId:n,path:p}),await He(t,n,p,d,g,f.active,a,_,m)}async function Ve(t,n,i,l,u,d,f,p,m,h){Ke(),be.delete(t),qe(t,Gn(m,D.fetchers.get(t)),{flushSync:f});let g=new AbortController,_=pn(e.history,i,g.signal,m);if(d){let e=await _t(l,new URL(_.url).pathname,_.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){Je(t,n,e.error,{flushSync:f});return}if(e.matches)l=e.matches;else{Je(t,n,Sn(404,{pathname:i}),{flushSync:f});return}}let v=zn(l,i);if(!v.route.action&&!v.route.lazy){Je(t,n,Sn(405,{method:m.formMethod,pathname:i,routeId:n}),{flushSync:f});return}he.set(t,g);let y=ge,b=rn(a,o,_,i,l,v,r,u),x=await We(_,i,b,u,t),S=x[v.route.id];if(!S){for(let e of b)if(x[e.route.id]){S=x[e.route.id];break}}if(_.signal.aborted){he.get(t)===g&&he.delete(t);return}if(Se.has(t)){if(jn(S)||An(S)){qe(t,Kn(void 0));return}}else{if(jn(S)){if(he.delete(t),_e>y){qe(t,Kn(void 0));return}return ye.add(t),qe(t,Wn(m)),Ue(_,S,!1,{fetcherSubmission:m,preventScrollReset:p})}if(An(S)){Je(t,n,S.error);return}}let w=D.navigation.location||D.location,T=pn(e.history,w,g.signal),ee=s.activeRoutes,te=D.navigation.state===`idle`?D.matches:fe(ee,D.navigation.location,c,!1,s.branches);C(te,`Didn't find any matches after fetcher action`);let E=++ge;ve.set(t,E);let{dsMatches:ne,revalidatingFetchers:re}=Rt(T,u,a,o,e.history,D,te,m,w,r,!1,de,me,Se,be,ye,ee,c,e.patchRoutesOnNavigation!=null,s.branches,[v.route.id,S],h),ie=Wn(m,S.data),ae=new Map(D.fetchers);ae.set(t,ie),re.filter(e=>e.key!==t).forEach(e=>{let t=e.key,n=ae.get(t),r=Wn(void 0,n?n.data:void 0);ae.set(t,r),et(t),e.controller&&he.set(t,e.controller)}),ke({fetchers:ae});let oe=()=>re.forEach(e=>et(e.key));g.signal.addEventListener(`abort`,oe);let{loaderResults:A,fetcherResults:se}=await Ge(ne,re,T,w,u);if(g.signal.aborted){ve.get(t)===E&&ve.delete(t);return}g.signal.removeEventListener(`abort`,oe),ve.delete(t),he.delete(t),re.forEach(e=>he.delete(e.key));let ce=D.fetchers.has(t),le=e=>{if(!ce)return e;let n=new Map(e.fetchers);return n.set(t,Kn(S.data)),{...e,fetchers:n}},ue=Cn(A);if(ue)return D=le(D),Ue(T,ue.result,!1,{preventScrollReset:p});if(ue=Cn(se),ue)return ye.add(ue.key),D=le(D),Ue(T,ue.result,!1,{preventScrollReset:p});let pe=new Map(D.fetchers);ce&&pe.set(t,Kn(S.data));let{loaderData:xe,errors:Ce}=_n(D,te,A,void 0,re,se,pe);rt(E,pe),D.navigation.state===`loading`&&E>_e?(C(O,`Expected pending action`),k&&k.abort(),Ae(D.navigation.location,{matches:te,loaderData:xe,errors:Ce,fetchers:pe})):(ke({errors:Ce,loaderData:vn(D.loaderData,xe,te,Ce),fetchers:pe}),de=!1)}async function He(t,n,i,s,c,l,u,d,f){let p=D.fetchers.get(t);qe(t,Wn(f,p?p.data:void 0),{flushSync:u});let m=new AbortController,h=pn(e.history,i,m.signal);if(l){let e=await _t(s,new URL(h.url).pathname,h.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){Je(t,n,e.error,{flushSync:u});return}if(e.matches)s=e.matches;else{Je(t,n,Sn(404,{pathname:i}),{flushSync:u});return}}let g=zn(s,i);he.set(t,m);let _=ge,v=await We(h,i,rn(a,o,h,i,s,g,r,c),c,t),y=v[g.route.id];if(!y){for(let e of s)if(v[e.route.id]){y=v[e.route.id];break}}if(he.get(t)===m&&he.delete(t),!h.signal.aborted){if(Se.has(t)){qe(t,Kn(void 0));return}if(jn(y)){if(_e>_){qe(t,Kn(void 0));return}ye.add(t),await Ue(h,y,!1,{preventScrollReset:d});return}if(An(y)){Je(t,n,y.error);return}qe(t,Kn(y.data))}}async function Ue(r,i,a,{submission:o,fetcherSubmission:s,preventScrollReset:l,replace:u}={}){a||(ae?.resolve(),ae=null),i.response.headers.has(`X-Remix-Revalidate`)&&(de=!0);let d=i.response.headers.get(`Location`);C(d,`Expected a Location header on the redirect Response`);let f=d,p=new URL(r.url);d=fn(d,p,c,e.history),xt(f,d,p,`allow-explicit`);let m=te(D.location,d,{_isRedirect:!0});if(n){let e=!1;if(i.response.headers.has(`X-Remix-Reload-Document`))e=!0;else if(Ie(d)){let n=re(t,d,!0);e=n.origin!==t.location.origin||Pe(n.pathname,c)==null}if(e){u?t.location.replace(d):t.location.assign(d);return}}k=null;let h=u===!0||i.response.headers.has(`X-Remix-Replace`)?`REPLACE`:`PUSH`,{formMethod:g,formAction:_,formEncType:v}=D.navigation;!o&&!s&&g&&_&&v&&(o=Vn(D.navigation));let y=o||s;Dt.has(i.response.status)&&y&&Ln(y.formMethod)?await Ne(h,m,{submission:{...y,formAction:d},preventScrollReset:l||oe,enableViewTransition:a?A:void 0}):await Ne(h,m,{overrideNavigation:Hn(m,[],h,o),fetcherSubmission:s,preventScrollReset:l||oe,enableViewTransition:a?A:void 0})}async function We(e,t,n,r,i){let a,o={};try{a=await an(l,e,t,n,i,r,!1)}catch(e){return n.filter(e=>e.shouldLoad).forEach(t=>{o[t.route.id]={type:`error`,error:e}}),o}if(e.signal.aborted)return o;if(!Ln(e.method))for(let e of n){if(a[e.route.id]?.type===`error`)break;!a.hasOwnProperty(e.route.id)&&!D.loaderData.hasOwnProperty(e.route.id)&&(!D.errors||!D.errors.hasOwnProperty(e.route.id))&&e.shouldCallHandler()&&(a[e.route.id]={type:`error`,result:Error(`No result returned from dataStrategy for route ${e.route.id}`)})}for(let[t,r]of Object.entries(a))if(kn(r)){let i=r.result;o[t]={type:`redirect`,response:ln(i,e,t,n,c)}}else o[t]=await cn(r);return o}async function Ge(e,t,n,r,i){let a=We(n,r,e,i,null),o=Promise.all(t.map(async e=>{if(e.matches&&e.match&&e.request&&e.controller){let t=(await We(e.request,e.path,e.matches,i,e.key))[e.match.route.id];return{[e.key]:t}}return Promise.resolve({[e.key]:{type:`error`,error:Sn(404,{pathname:e.path})}})}));return{loaderResults:await a,fetcherResults:(await o).reduce((e,t)=>Object.assign(e,t),{})}}function Ke(){de=!0,be.forEach((e,t)=>{he.has(t)&&me.add(t),et(t)})}function qe(e,t,n={}){let r=new Map(D.fetchers);r.set(e,t),ke({fetchers:r},{flushSync:(n&&n.flushSync)===!0})}function Je(e,t,n,r={}){let i=bn(D.matches,t),a=new Map(D.fetchers);Qe(a,e),ke({errors:{[i.route.id]:n},fetchers:a},{flushSync:(r&&r.flushSync)===!0})}function Ye(e){return xe.set(e,(xe.get(e)||0)+1),Se.has(e)&&Se.delete(e),D.fetchers.get(e)||kt}function Xe(e,t){et(e,t?.reason),qe(e,Kn(null))}function Qe(e,t){let n=D.fetchers.get(t);he.has(t)&&!(n&&n.state===`loading`&&ve.has(t))&&et(t),be.delete(t),ve.delete(t),ye.delete(t),Se.delete(t),me.delete(t),e.delete(t)}function $e(e){let t=(xe.get(e)||0)-1;t<=0?(xe.delete(e),Se.add(e)):xe.set(e,t),ke({fetchers:new Map(D.fetchers)})}function et(e,t){let n=he.get(e);n&&(n.abort(t),he.delete(e))}function tt(e,t){for(let n of e){let e=t.get(n);C(e,`Expected fetcher: ${n}`);let r=Kn(e.data);t.set(n,r)}}function nt(e){let t=[],n=!1;for(let r of ye){let i=e.get(r);C(i,`Expected fetcher: ${r}`),i.state===`loading`&&(ye.delete(r),t.push(r),n=!0)}return tt(t,e),n}function rt(e,t){let n=[];for(let[r,i]of ve)if(i<e){let e=t.get(r);C(e,`Expected fetcher: ${r}`),e.state===`loading`&&(et(r),ve.delete(r),n.push(r))}return tt(n,t),n.length>0}function ot(e,t){let n=D.blockers.get(e)||At;return Ce.get(e)!==t&&Ce.set(e,t),n}function st(e){D.blockers.delete(e),Ce.delete(e)}function ct(e,t){let n=D.blockers.get(e)||At;C(n.state===`unblocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`proceeding`||n.state===`blocked`&&t.state===`unblocked`||n.state===`proceeding`&&t.state===`unblocked`,`Invalid blocker state transition: ${n.state} -> ${t.state}`);let r=new Map(D.blockers);r.set(e,t),ke({blockers:r})}function ut({currentLocation:e,nextLocation:t,historyAction:n}){if(Ce.size===0)return;Ce.size>1&&w(!1,`A router only supports one blocker at a time`);let r=Array.from(Ce.entries()),[i,a]=r[r.length-1],o=D.blockers.get(i);if(!(o&&o.state===`proceeding`)&&a({currentLocation:e,nextLocation:t,historyAction:n}))return i}function dt(e){let t=Sn(404,{pathname:e}),n=s.activeRoutes,{matches:r,route:i}=xn(n);return{notFoundMatches:r,route:i,error:t}}function ft(e,t,n){if(m=e,g=t,h=n||null,!_&&D.navigation===Ot){_=!0;let e=ht(D.location,D.matches);e!=null&&ke({restoreScrollPosition:e})}return()=>{m=null,g=null,h=null}}function pt(e,t){return h&&h(e,t.map(e=>pe(e,D.loaderData)))||e.key}function mt(e,t){if(m&&g){let n=pt(e,t);m[n]=g()}}function ht(e,t){if(m){let n=pt(e,t),r=m[n];if(typeof r==`number`)return r}return null}function gt(t,n,r){if(e.patchRoutesOnNavigation){let e=s.branches;if(!t)return{active:!0,matches:fe(n,r,c,!0,e)||[]};if(Object.keys(t[0].params).length>0)return{active:!0,matches:fe(n,r,c,!0,e)}}return{active:!1,matches:null}}async function _t(t,n,r,i){if(!e.patchRoutesOnNavigation)return{type:`success`,matches:t};let l=t;for(;;){let t=o;try{await e.patchRoutesOnNavigation({signal:r,path:n,matches:l,fetcherKey:i,patch:(e,n)=>{r.aborted||Wt(e,n,s,t,a,!1)}})}catch(e){return{type:`error`,error:e,partialMatches:l}}if(r.aborted)return{type:`aborted`};let u=s.branches,d=fe(s.activeRoutes,n,c,!1,u),f=null;if(d&&(Object.keys(d[0].params).length===0||(f=fe(s.activeRoutes,n,c,!0,u),!(f&&l.length<f.length&&vt(l,f.slice(0,l.length))))))return{type:`success`,matches:d};if(f||=fe(s.activeRoutes,n,c,!0,u),!f||vt(l,f))return{type:`success`,matches:null};l=f}}function vt(e,t){return e.length===t.length&&e.every((e,n)=>e.route.id===t[n].route.id)}function yt(e){o={},s.setHmrRoutes(le(e,a,void 0,o))}function bt(e,t,n=!1){Wt(e,t,s,o,a,n),s.hasHMRRoutes||ke({})}return ee={get basename(){return c},get future(){return u},get state(){return D},get routes(){return s.stableRoutes},get branches(){return s.branches},get manifest(){return o},get window(){return t},initialize:Ee,subscribe:Oe,enableScrollRestoration:ft,navigate:je,fetch:Be,revalidate:Me,createHref:t=>e.history.createHref(t),createURL:t=>e.history.createURL(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:Ye,resetFetcher:Xe,deleteFetcher:$e,dispose:De,getBlocker:ot,deleteBlocker:st,patchRoutes:bt,_internalFetchControllers:he,_internalSetRoutes:yt,_internalSetStateDoNotUseOrYouWillBreakYourApp(e){ke(e)}},e.instrumentations&&(ee=at(ee,e.instrumentations.map(e=>e.router).filter(Boolean))),ee}function Ft(e){return e!=null&&(`formData`in e&&e.formData!=null||`body`in e&&e.body!==void 0)}function It(e,t,n,r,i,a){let o,s;if(i){o=[];for(let e of t)if(o.push(e),e.route.id===i){s=e;break}}else o=t,s=t[t.length-1];let c=He(r||`.`,Ve(o),Pe(e.pathname,n)||e.pathname,a===`path`);if(r??(c.search=e.search,c.hash=e.hash),(r==null||r===``||r===`.`)&&s){let e=Rn(c.search);if(s.route.index&&!e)c.search=c.search?c.search.replace(/^\?/,`?index&`):`?index`;else if(!s.route.index&&e){let e=new URLSearchParams(c.search),t=e.getAll(`index`);e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();c.search=n?`?${n}`:``}}return n!==`/`&&(c.pathname=Fe({basename:n,pathname:c.pathname})),E(c)}function Lt(e,t,n){if(!n||!Ft(n))return{path:t};if(n.formMethod&&!In(n.formMethod))return{path:t,error:Sn(405,{method:n.formMethod})};let r=()=>({path:t,error:Sn(400,{type:`invalid-body`})}),i=(n.formMethod||`get`).toUpperCase(),a=wn(t);if(n.body!==void 0){if(n.formEncType===`text/plain`){if(!Ln(i))return r();let e=typeof n.body==`string`?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((e,[t,n])=>`${e}${t}=${n}\n`,``):String(n.body);return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}if(n.formEncType===`application/json`){if(!Ln(i))return r();try{let e=typeof n.body==`string`?JSON.parse(n.body):n.body;return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch{return r()}}}C(typeof FormData==`function`,`FormData is not available in this environment`);let o,s;if(n.formData)o=mn(n.formData),s=n.formData;else if(n.body instanceof FormData)o=mn(n.body),s=n.body;else if(n.body instanceof URLSearchParams)o=n.body,s=hn(o);else if(n.body==null)o=new URLSearchParams,s=new FormData;else try{o=new URLSearchParams(n.body),s=hn(o)}catch{return r()}let c={formMethod:i,formAction:a,formEncType:n&&n.formEncType||`application/x-www-form-urlencoded`,formData:s,json:void 0,text:void 0};if(Ln(c.formMethod))return{path:t,submission:c};let l=ne(t);return e&&l.search&&Rn(l.search)&&o.append(`index`,``),l.search=`?${o}`,{path:E(l),submission:c}}function Rt(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x){let S=b?An(b[1])?b[1].error:b[1].data:void 0,C=i.createURL(a.location),w=i.createURL(c),T;if(u&&a.errors){let e=Object.keys(a.errors)[0];T=o.findIndex(t=>t.route.id===e)}else if(b&&An(b[1])){let e=b[0];T=o.findIndex(t=>t.route.id===e)-1}let ee=b?b[1].statusCode:void 0,te=ee&&ee>=400,E={currentUrl:C,currentParams:a.matches[0]?.params||{},nextUrl:w,nextParams:o[0].params,...s,actionResult:S,actionStatus:ee},ne=Qe(o),D=o.map((i,o)=>{let{route:s}=i,f=null;if(T!=null&&o>T)f=!1;else if(s.lazy)f=!0;else if(!zt(s))f=!1;else if(u){let{shouldLoad:e}=Bt(s,a.loaderData,a.errors);f=e}else Vt(a.loaderData,a.matches[o],i)&&(f=!0);if(f!==null)return nn(n,r,e,c,ne,i,l,t,f);let p=!1;typeof x==`boolean`?p=x:te?p=!1:d||C.pathname+C.search===w.pathname+w.search?p=!0:C.search===w.search?Ht(a.matches[o],i)&&(p=!0):p=!0;let m={...E,defaultShouldRevalidate:p};return nn(n,r,e,c,ne,i,l,t,Ut(i,m),m,x)}),re=[];return m.forEach((e,s)=>{if(u||!o.some(t=>t.route.id===e.routeId)||p.has(s))return;let c=a.fetchers.get(s),m=c&&c.state!==`idle`&&c.data===void 0,b=fe(g,e.path,_??`/`,!1,y);if(!b){if(v&&m)return;re.push({key:s,routeId:e.routeId,path:e.path,matches:null,match:null,request:null,controller:null});return}if(h.has(s))return;let S=zn(b,e.path),C=new AbortController,w=pn(i,e.path,C.signal),T=null;if(f.has(s))f.delete(s),T=rn(n,r,w,e.path,b,S,l,t);else if(m)d&&(T=rn(n,r,w,e.path,b,S,l,t));else{let i;i=typeof x==`boolean`?x:!te&&d;let a={...E,defaultShouldRevalidate:i};Ut(S,a)&&(T=rn(n,r,w,e.path,b,S,l,t,a))}T&&re.push({key:s,routeId:e.routeId,path:e.path,matches:T,match:S,request:w,controller:C})}),{dsMatches:D,revalidatingFetchers:re}}function zt(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function Bt(e,t,n){if(e.lazy)return{shouldLoad:!0,renderFallback:!0};if(!zt(e))return{shouldLoad:!1,renderFallback:!1};let r=t!=null&&e.id in t,i=n!=null&&n[e.id]!==void 0;if(!r&&i)return{shouldLoad:!1,renderFallback:!1};if(typeof e.loader==`function`&&e.loader.hydrate===!0)return{shouldLoad:!0,renderFallback:!r};let a=!r&&!i;return{shouldLoad:a,renderFallback:a}}function Vt(e,t,n){let r=!t||n.route.id!==t.route.id,i=!e.hasOwnProperty(n.route.id);return r||i}function Ht(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith(`*`)&&e.params[`*`]!==t.params[`*`]}function Ut(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n==`boolean`)return n}return t.defaultShouldRevalidate}function Wt(e,t,n,r,i,a){let o;if(e){let t=r[e];C(t,`No route found to patch children into: routeId = ${e}`),t.children||=[],o=t.children}else o=n.activeRoutes;let s=[],c=[];if(t.forEach(e=>{let t=o.find(t=>Gt(e,t));t?c.push({existingRoute:t,newRoute:e}):s.push(e)}),s.length>0){let t=le(s,i,[e||`_`,`patch`,String(o?.length||`0`)],r);o.push(...t)}if(a&&c.length>0)for(let e=0;e<c.length;e++){let{existingRoute:t,newRoute:n}=c[e],r=t,[a]=le([n],i,[],{},!0);Object.assign(r,{element:a.element?a.element:r.element,errorElement:a.errorElement?a.errorElement:r.errorElement,hydrateFallbackElement:a.hydrateFallbackElement?a.hydrateFallbackElement:r.hydrateFallbackElement})}n.hasHMRRoutes||n.setRoutes([...n.activeRoutes])}function Gt(e,t){return`id`in e&&`id`in t&&e.id===t.id?!0:e.index!==t.index||e.path!==t.path||e.caseSensitive!==t.caseSensitive?!1:(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children?.every((e,n)=>t.children?.some(t=>Gt(e,t)))??!1}var Kt=new WeakMap,qt=({key:e,route:t,manifest:n,mapRouteProperties:r})=>{let i=n[t.id];if(C(i,`No route found in manifest`),!i.lazy||typeof i.lazy!=`object`)return;let a=i.lazy[e];if(!a)return;let o=Kt.get(i);o||(o={},Kt.set(i,o));let s=o[e];if(s)return s;let c=(async()=>{let t=oe(e),n=i[e]!==void 0;if(t)w(!t,`Route property `+e+` is not a supported lazy route property. This property will be ignored.`),o[e]=Promise.resolve();else if(n)w(!1,`Route "${i.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let t=await a();t!=null&&(Object.assign(i,{[e]:t}),Object.assign(i,r(i)))}typeof i.lazy==`object`&&(i.lazy[e]=void 0,Object.values(i.lazy).every(e=>e===void 0)&&(i.lazy=void 0))})();return o[e]=c,c},Jt=new WeakMap;function Yt(e,t,n,r,i){let a=n[e.id];if(C(a,`No route found in manifest`),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy==`function`){let t=Jt.get(a);if(t)return{lazyRoutePromise:t,lazyHandlerPromise:t};let n=(async()=>{C(typeof e.lazy==`function`,`No lazy route function found`);let t=await e.lazy(),n={};for(let e in t){let r=t[e];if(r===void 0)continue;let i=A(e),o=a[e]!==void 0;i?w(!i,`Route property `+e+` is not a supported property to be returned from a lazy route function. This property will be ignored.`):o?w(!o,`Route "${a.id}" has a static property "${e}" defined but its lazy function is also returning a value for this property. The lazy route property "${e}" will be ignored.`):n[e]=r}Object.assign(a,n),Object.assign(a,{...r(a),lazy:void 0})})();return Jt.set(a,n),n.catch(()=>{}),{lazyRoutePromise:n,lazyHandlerPromise:n}}let o=Object.keys(e.lazy),s=[],c;for(let a of o){if(i&&i.includes(a))continue;let o=qt({key:a,route:e,manifest:n,mapRouteProperties:r});o&&(s.push(o),a===t&&(c=o))}let l=s.length>0?Promise.all(s).then(()=>{}):void 0;return l?.catch(()=>{}),c?.catch(()=>{}),{lazyRoutePromise:l,lazyHandlerPromise:c}}async function Xt(e){let t=e.matches.filter(e=>e.shouldLoad),n={};return(await Promise.all(t.map(e=>e.resolve()))).forEach((e,r)=>{n[t[r].route.id]=e}),n}async function Zt(e){return e.matches.some(e=>e.route.middleware)?Qt(e,()=>Xt(e)):Xt(e)}function Qt(e,t){return $t(e,t,e=>{if(Fn(e))throw e;return e},Dn,n);async function n(t,n,r){if(r)return Object.assign(r.value,{[n]:{type:`error`,result:t}});{let{matches:r}=e,i=Math.min(Math.max(r.findIndex(e=>e.route.id===n),0),Math.max(r.findIndex(e=>e.shouldCallHandler()),0)),a=r[i].route.id;for(let e of r.slice(0,i+1))try{await e._lazyPromises?.route}catch{a=e.route.id;break}return{[bn(r,a).route.id]:{type:`error`,result:t}}}}}async function $t(e,t,n,r,i){let{matches:a,...o}=e;return await en(o,a.flatMap(e=>e.route.middleware?e.route.middleware.map(t=>[e.route.id,t]):[]),t,n,r,i)}async function en(e,t,n,r,i,a,o=0){let{request:s}=e;if(s.signal.aborted)throw s.signal.reason??Error(`Request aborted: ${s.method} ${s.url}`);let c=t[o];if(!c)return await n();let[l,u]=c,d,f=async()=>{if(d)throw Error("You may only call `next()` once per middleware");try{return d={value:await en(e,t,n,r,i,a,o+1)},d.value}catch(e){return d={value:await a(e,l,d)},d.value}};try{let t=await u(e,f),n=t==null?void 0:r(t);return i(n)?n:d?n??d.value:(d={value:await f()},d.value)}catch(e){return await a(e,l,d)}}function tn(e,t,n,r,i){let a=qt({key:`middleware`,route:r.route,manifest:t,mapRouteProperties:e}),o=Yt(r.route,Ln(n.method)?`action`:`loader`,t,e,i);return{middleware:a,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function nn(e,t,n,r,i,a,o,s,c,l=null,u){let d=!1,f=tn(e,t,n,a,o);return{...a,_lazyPromises:f,shouldLoad:c,shouldRevalidateArgs:l,shouldCallHandler(e){return d=!0,l?typeof u==`boolean`?Ut(a,{...l,defaultShouldRevalidate:u}):typeof e==`boolean`?Ut(a,{...l,defaultShouldRevalidate:e}):Ut(a,l):c},resolve(e){let{lazy:t,loader:o,middleware:l}=a.route,u=d||c||e&&!Ln(n.method)&&(t||o),p=l&&l.length>0&&!o&&!t;return u&&(Ln(n.method)||!p)?on({request:n,path:r,pattern:i,match:a,lazyHandlerPromise:f?.handler,lazyRoutePromise:f?.route,handlerOverride:e,scopedContext:s}):Promise.resolve({type:`data`,result:void 0})}}}function rn(e,t,n,r,i,a,o,s,c=null){return i.map(l=>l.route.id===a.route.id?nn(e,t,n,r,Qe(i),l,o,s,!0,c):{...l,shouldLoad:!1,shouldRevalidateArgs:c,shouldCallHandler:()=>!1,_lazyPromises:tn(e,t,n,l,o),resolve:()=>Promise.resolve({type:`data`,result:void 0})})}async function an(e,t,n,r,i,a,o){r.some(e=>e._lazyPromises?.middleware)&&await Promise.all(r.map(e=>e._lazyPromises?.middleware));let s={request:t,url:$e(t,n),pattern:Qe(r),params:r[0].params,context:a,matches:r},c=o?()=>{throw Error("You cannot call `runClientMiddleware()` from a static handler `dataStrategy`. Middleware is run outside of `dataStrategy` during SSR in order to bubble up the Response. You can enable middleware via the `respond` API in `query`/`queryRoute`")}:e=>{let t=s;return Qt(t,()=>e({...t,fetcherKey:i,runClientMiddleware:()=>{throw Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))},l=await e({...s,fetcherKey:i,runClientMiddleware:c});try{await Promise.all(r.flatMap(e=>[e._lazyPromises?.handler,e._lazyPromises?.route]))}catch{}return l}async function on({request:e,path:t,pattern:n,match:r,lazyHandlerPromise:i,lazyRoutePromise:a,handlerOverride:o,scopedContext:s}){let c,l,u=Ln(e.method),d=u?`action`:`loader`,f=i=>{let a,c=new Promise((e,t)=>a=t);l=()=>a(),e.signal.addEventListener(`abort`,l);let u=a=>typeof i==`function`?i({request:e,url:$e(e,t),pattern:n,params:r.params,context:s},...a===void 0?[]:[a]):Promise.reject(Error(`You cannot call the handler for a route which defines a boolean "${d}" [routeId: ${r.route.id}]`)),f=(async()=>{try{return{type:`data`,result:await(o?o(e=>u(e)):u())}}catch(e){return{type:`error`,result:e}}})();return Promise.race([f,c])};try{let t=u?r.route.action:r.route.loader;if(i||a){if(t){let e,[n]=await Promise.all([f(t).catch(t=>{e=t}),i,a]);if(e!==void 0)throw e;c=n}else{await i;let t=u?r.route.action:r.route.loader;if(t)[c]=await Promise.all([f(t),a]);else if(d===`action`){let t=new URL(e.url),n=t.pathname+t.search;throw Sn(405,{method:e.method,pathname:n,routeId:r.route.id})}else return{type:`data`,result:void 0}}}else if(t)c=await f(t);else{let t=new URL(e.url);throw Sn(404,{pathname:t.pathname+t.search})}}catch(e){return{type:`error`,result:e}}finally{l&&e.signal.removeEventListener(`abort`,l)}return c}async function sn(e){let t=e.headers.get(`Content-Type`);return t&&/\bapplication\/json\b/.test(t)?e.body==null?null:e.json():e.text()}async function cn(e){let{result:t,type:n}=e;if(Nn(t)){let e;try{e=await sn(t)}catch(e){return{type:`error`,error:e}}return n===`error`?{type:`error`,error:new Xe(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:`data`,data:e,statusCode:t.status,headers:t.headers}}return n===`error`?Mn(t)?t.data instanceof Error?{type:`error`,error:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:En(t),statusCode:Ze(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:t,statusCode:Ze(t)?t.status:void 0}:Mn(t)?{type:`data`,data:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`data`,data:t}}function ln(e,t,n,r,i){let a=e.headers.get(`Location`);if(C(a,`Redirects returned/thrown from loaders/actions must have a Location header`),!Ie(a)){let o=r.slice(0,r.findIndex(e=>e.route.id===n)+1);a=It(new URL(t.url),o,i,a),e.headers.set(`Location`,a)}return e}var un=[`about:`,`blob:`,`chrome:`,`chrome-untrusted:`,`content:`,`data:`,`devtools:`,`file:`,`filesystem:`,`javascript:`];function dn(e){try{return un.includes(new URL(e).protocol)}catch{return!1}}function fn(e,t,n,r){if(Ie(e)){let r=e,i=v.test(r)?new URL(y(r,t.protocol)):new URL(r);if(dn(i.toString()))throw Error(`Invalid redirect location`);let a=Pe(i.pathname,n)!=null;if(i.origin===t.origin&&a)return Ue(i.pathname)+i.search+i.hash}try{if(dn(r.createURL(e).toString()))throw Error(`Invalid redirect location`)}catch{}return e}function pn(e,t,n,r){let i=e.createURL(wn(t)).toString(),a={signal:n};if(r&&Ln(r.formMethod)){let{formMethod:e,formEncType:t}=r;a.method=e.toUpperCase(),t===`application/json`?(a.headers=new Headers({"Content-Type":t}),a.body=JSON.stringify(r.json)):a.body=t===`text/plain`?r.text:t===`application/x-www-form-urlencoded`&&r.formData?mn(r.formData):r.formData}return new Request(i,a)}function mn(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r==`string`?r:r.name);return t}function hn(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function gn(e,t,n,r=!1,i=!1){let a={},o=null,s,c=!1,l={},u=n&&An(n[1])?n[1].error:void 0;return e.forEach(n=>{if(!(n.route.id in t))return;let d=n.route.id,f=t[d];if(C(!jn(f),`Cannot handle redirect results in processLoaderData`),An(f)){let t=f.error;if(u!==void 0&&(t=u,u=void 0),o||={},i)o[d]=t;else{let n=bn(e,d);o[n.route.id]??(o[n.route.id]=t)}r||(a[d]=Mt),c||(c=!0,s=Ze(f.error)?f.error.status:500),f.headers&&(l[d]=f.headers)}else a[d]=f.data,f.statusCode&&f.statusCode!==200&&!c&&(s=f.statusCode),f.headers&&(l[d]=f.headers)}),u!==void 0&&n&&(o={[n[0]]:u},n[2]&&(a[n[2]]=void 0)),{loaderData:a,errors:o,statusCode:s||200,loaderHeaders:l}}function _n(e,t,n,r,i,a,o){let{loaderData:s,errors:c}=gn(t,n,r);return i.filter(e=>!e.matches||e.matches.some(e=>e.shouldLoad)).forEach(t=>{let{key:n,match:r,controller:i}=t;if(i&&i.signal.aborted)return;let s=a[n];if(C(s,`Did not find corresponding fetcher result`),An(s)){let t=bn(e.matches,r?.route.id);c&&c[t.route.id]||(c={...c,[t.route.id]:s.error}),o.delete(n)}else if(jn(s))C(!1,`Unhandled fetcher revalidation redirect`);else{let e=Kn(s.data);o.set(n,e)}}),{loaderData:s,errors:c}}function vn(e,t,n,r){let i=Object.entries(t).filter(([,e])=>e!==Mt).reduce((e,[t,n])=>(e[t]=n,e),{});for(let a of n){let n=a.route.id;if(!t.hasOwnProperty(n)&&e.hasOwnProperty(n)&&a.route.loader&&(i[n]=e[n]),r&&r.hasOwnProperty(n))break}return i}function yn(e){return e?An(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function bn(e,t){return(t?e.slice(0,e.findIndex(e=>e.route.id===t)+1):[...e]).reverse().find(e=>e.route.ErrorBoundary!=null||e.route.errorElement!=null)||e[0]}function xn(e){let t=e.length===1?e[0]:e.find(e=>e.index||!e.path||e.path===`/`)||{id:`__shim-error-route__`};return{matches:[{params:{},pathname:``,pathnameBase:``,route:t}],route:t}}function Sn(e,{pathname:t,routeId:n,method:r,type:i,message:a}={}){let o=`Unknown Server Error`,s=`Unknown @remix-run/router error`;return e===400?(o=`Bad Request`,r&&t&&n?s=`You made a ${r} request to "${t}" but did not provide a \`loader\` for route "${n}", so there is no way to handle the request.`:i===`invalid-body`&&(s=`Unable to encode submission body`)):e===403?(o=`Forbidden`,s=`Route "${n}" does not match URL "${t}"`):e===404?(o=`Not Found`,s=`No route matches URL "${t}"`):e===405&&(o=`Method Not Allowed`,r&&t&&n?s=`You made a ${r.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${n}", so there is no way to handle the request.`:r&&(s=`Invalid request method "${r.toUpperCase()}"`)),new Xe(e||500,o,Error(s),!0)}function Cn(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[n,r]=t[e];if(jn(r))return{key:n,result:r}}}function wn(e){return E({...typeof e==`string`?ne(e):e,hash:``})}function Tn(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===``?t.hash!==``:e.hash===t.hash||t.hash!==``}function En(e){return new Xe(e.init?.status??500,e.init?.statusText??`Internal Server Error`,e.data)}function Dn(e){return typeof e==`object`&&!!e&&Object.entries(e).every(([e,t])=>typeof e==`string`&&On(t))}function On(e){return typeof e==`object`&&!!e&&`type`in e&&`result`in e&&(e.type===`data`||e.type===`error`)}function kn(e){return Nn(e.result)&&Et.has(e.result.status)}function An(e){return e.type===`error`}function jn(e){return(e&&e.type)===`redirect`}function Mn(e){return typeof e==`object`&&!!e&&`type`in e&&`data`in e&&`init`in e&&e.type===`DataWithResponseInit`}function Nn(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.headers==`object`&&e.body!==void 0}function Pn(e){return Et.has(e)}function Fn(e){return Nn(e)&&Pn(e.status)&&e.headers.has(`Location`)}function In(e){return Tt.has(e.toUpperCase())}function Ln(e){return Ct.has(e.toUpperCase())}function Rn(e){return new URLSearchParams(e).getAll(`index`).some(e=>e===``)}function zn(e,t){let n=typeof t==`string`?ne(t).search:t.search;if(e[e.length-1].route.index&&Rn(n||``))return e[e.length-1];let r=Be(e);return r[r.length-1]}function Bn(e,t,n){return{url:$e(e.createURL(t),t),pattern:n?Qe(n):``,params:n?.[0]?.params?{...n[0].params}:{}}}function Vn(e){let{formMethod:t,formAction:n,formEncType:r,text:i,formData:a,json:o}=e;if(t&&n&&r){if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:i};if(a!=null)return{formMethod:t,formAction:n,formEncType:r,formData:a,json:void 0,text:void 0};if(o!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:o,text:void 0}}}function Hn(e,t,n,r){return r?{state:`loading`,location:e,matches:t,historyAction:n,formMethod:r.formMethod,formAction:r.formAction,formEncType:r.formEncType,formData:r.formData,json:r.json,text:r.text}:{state:`loading`,location:e,matches:t,historyAction:n,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function Un(e,t,n,r){return{state:`submitting`,location:e,matches:t,historyAction:n,formMethod:r.formMethod,formAction:r.formAction,formEncType:r.formEncType,formData:r.formData,json:r.json,text:r.text}}function Wn(e,t){return e?{state:`loading`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:`loading`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function Gn(e,t){return{state:`submitting`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function Kn(e){return{state:`idle`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function qn(e,t){try{let n=e.sessionStorage.getItem(jt);if(n){let e=JSON.parse(n);for(let[n,r]of Object.entries(e||{}))r&&Array.isArray(r)&&t.set(n,new Set(r||[]))}}catch{}}function Jn(e,t){if(t.size>0){let n={};for(let[e,r]of t)n[e]=[...r];try{e.sessionStorage.setItem(jt,JSON.stringify(n))}catch(e){w(!1,`Failed to save applied view transitions in sessionStorage (${e}).`)}}}function Yn(){let e,t,n=new Promise((r,i)=>{e=async e=>{r(e);try{await n}catch{}},t=async e=>{i(e);try{await n}catch{}}});return{promise:n,resolve:e,reject:t}}var Xn=O.createContext(null);Xn.displayName=`DataRouter`;var Zn=O.createContext(null);Zn.displayName=`DataRouterState`;var Qn=O.createContext(!1);function $n(){return O.useContext(Qn)}var er=O.createContext({isTransitioning:!1});er.displayName=`ViewTransition`;var tr=O.createContext(new Map);tr.displayName=`Fetchers`;var nr=O.createContext(null);nr.displayName=`Await`;var rr=O.createContext(null);rr.displayName=`Navigation`;var ir=O.createContext(null);ir.displayName=`Location`;var ar=O.createContext({outlet:null,matches:[],isDataRoute:!1});ar.displayName=`Route`;var or=O.createContext(null);or.displayName=`RouteError`;var sr=`REACT_ROUTER_ERROR`,cr=`REDIRECT`,lr=`ROUTE_ERROR_RESPONSE`;function ur(e){if(e.startsWith(`${sr}:${cr}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function dr(e){if(e.startsWith(`${sr}:${lr}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new Xe(t.status,t.statusText,t.data)}catch{}}function fr(e,{relative:t}={}){C(pr(),`useHref() may be used only in the context of a <Router> component.`);let{basename:n,navigator:r}=O.useContext(rr),{hash:i,pathname:a,search:o}=xr(e,{relative:t}),s=a;return n!==`/`&&(s=a===`/`?n:We([n,a])),r.createHref({pathname:s,search:o,hash:i})}function pr(){return O.useContext(ir)!=null}function mr(){return C(pr(),`useLocation() may be used only in the context of a <Router> component.`),O.useContext(ir).location}var hr=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function gr(){let{isDataRoute:e}=O.useContext(ar);return e?Lr():_r()}function _r(){C(pr(),`useNavigate() may be used only in the context of a <Router> component.`);let e=O.useContext(Xn),{basename:t,navigator:n}=O.useContext(rr),{matches:r}=O.useContext(ar),{pathname:i}=mr(),a=JSON.stringify(Ve(r)),o=O.useRef(!1);return O.useLayoutEffect(()=>{o.current=!0}),O.useCallback((r,s={})=>{if(w(o.current,hr),!o.current)return;if(typeof r==`number`){n.go(r);return}let c=He(r,JSON.parse(a),i,s.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:We([t,c.pathname])),xt(typeof r==`string`?r:E(r),n.createHref(c),vt(n),`reject`),(s.replace?n.replace:n.push)(c,s.state,s)},[t,n,a,i,e])}var vr=O.createContext(null);function yr(e){let t=O.useContext(ar).outlet;return O.useMemo(()=>t&&O.createElement(vr.Provider,{value:e},t),[t,e])}function br(){let{matches:e}=O.useContext(ar);return e[e.length-1]?.params??{}}function xr(e,{relative:t}={}){let{matches:n}=O.useContext(ar),{pathname:r}=mr(),i=JSON.stringify(Ve(n));return O.useMemo(()=>He(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function Sr(e,t,n){C(pr(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:r}=O.useContext(rr),{matches:i}=O.useContext(ar),a=i[i.length-1],o=a?a.params:{};a&&a.pathname;let s=a?a.pathnameBase:`/`;a&&a.route;let c=mr(),l;if(t){let e=typeof t==`string`?ne(t):t;C(s===`/`||e.pathname?.startsWith(s),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${s}" but pathname "${e.pathname}" was given in the \`location\` prop.`),l=e}else l=c;let u=l.pathname||`/`,d=u;if(s!==`/`){let e=s.replace(/^\//,``).split(`/`);d=`/`+u.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let f=n&&n.state.matches.length?n.state.matches.map(e=>Object.assign(e,{route:n.manifest[e.route.id]||e.route})):de(e,{pathname:d}),p=kr(f&&f.map(e=>Object.assign({},e,{params:Object.assign({},o,e.params),pathname:We([s,r.encodeLocation?r.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?s:We([s,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),i,n);return t&&p?O.createElement(ir.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,mask:void 0,...l},navigationType:`POP`}},p):p}function Cr(){let e=Ir(),t=Ze(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null;return O.createElement(O.Fragment,null,O.createElement(`h2`,null,`Unexpected Application Error!`),O.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?O.createElement(`pre`,{style:{padding:`0.5rem`,backgroundColor:`rgba(200,200,200, 0.5)`}},n):null,null)}var wr=O.createElement(Cr,null),Tr=class extends O.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static contextType=Qn;static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=dr(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:O.createElement(ar.Provider,{value:this.props.routeContext},O.createElement(or.Provider,{value:e,children:this.props.component}));return this.context?O.createElement(Dr,{error:e},t):t}},Er=new WeakMap;function Dr({children:e,error:t}){let{basename:n,navigator:r}=O.useContext(rr);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=ur(t.digest);if(e){let i=Er.get(t);if(i)throw i;let a=tt(e.location,n),o=a.absoluteURL||a.to;if(xt(e.location,o,vt(r),`allow-explicit`),dn(o))throw Error(`Invalid redirect location`);if(et&&!Er.get(t)){if(a.isExternal||e.reloadDocument)window.location.href=o;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(a.to,{replace:e.replace}));throw Er.set(t,n),n}}return O.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${o}`})}}return e}function Or({routeContext:e,match:t,children:n}){let r=O.useContext(Xn);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),O.createElement(ar.Provider,{value:e},n)}function kr(e,t=[],n){let r=n?.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let i=e,a=r?.errors;if(a!=null){let e=i.findIndex(e=>e.route.id&&a?.[e.route.id]!==void 0);C(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(a).join(`,`)}`),i=i.slice(0,Math.min(i.length,e+1))}let o=!1,s=-1;if(n&&r){o=r.renderFallback;for(let e=0;e<i.length;e++){let t=i[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(s=e),t.route.id){let{loaderData:e,errors:a}=r,c=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!a||a[t.route.id]===void 0);if(t.route.lazy||c){n.isStatic&&(o=!0),i=s>=0?i.slice(0,s+1):[i[0]];break}}}}let c=n?.onError,l=r&&c?(e,t)=>{c(e,{location:r.location,params:r.matches?.[0]?.params??{},pattern:Qe(r.matches),errorInfo:t})}:void 0;return i.reduceRight((e,n,c)=>{let u,d=!1,f=null,p=null;r&&(u=a&&n.route.id?a[n.route.id]:void 0,f=n.route.errorElement||wr,o&&(s<0&&c===0?(zr(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,p=null):s===c&&(d=!0,p=n.route.hydrateFallbackElement||null)));let m=t.concat(i.slice(0,c+1)),h=()=>{let t;return t=u?f:d?p:n.route.Component?O.createElement(n.route.Component,null):n.route.element?n.route.element:e,O.createElement(Or,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:r!=null},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||c===0)?O.createElement(Tr,{location:r.location,revalidation:r.revalidation,component:f,error:u,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:l}):h()},null)}function Ar(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function jr(e){let t=O.useContext(Xn);return C(t,Ar(e)),t}function Mr(e){let t=O.useContext(Zn);return C(t,Ar(e)),t}function Nr(e){let t=O.useContext(ar);return C(t,Ar(e)),t}function Pr(e){let t=Nr(e),n=t.matches[t.matches.length-1];return C(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function Fr(){return Pr(`useRouteId`)}function Ir(){let e=O.useContext(or),t=Mr(`useRouteError`),n=Pr(`useRouteError`);return e===void 0?t.errors?.[n]:e}function Lr(){let{router:e}=jr(`useNavigate`),t=Pr(`useNavigate`),n=O.useRef(!1);return O.useLayoutEffect(()=>{n.current=!0}),O.useCallback(async(r,i={})=>{w(n.current,hr),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var Rr={};function zr(e,t,n){!t&&!Rr[e]&&(Rr[e]=!0,w(!1,n))}var Br={};function Vr(e,t){!e&&!Br[t]&&(Br[t]=!0,console.warn(t))}var Hr=[`HydrateFallback`,`hydrateFallbackElement`],Ur=class{status=`pending`;promise;resolve;reject;constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>{this.status===`pending`&&(this.status=`resolved`,e(t))},this.reject=e=>{this.status===`pending`&&(this.status=`rejected`,t(e))}})}};function Wr({router:e,flushSync:t,onError:n,useTransitions:r}){r=$n()||r;let[i,a]=O.useState(e.state),[o,s]=(0,O.useOptimistic)(i),[c,l]=O.useState(),[u,d]=O.useState({isTransitioning:!1}),[f,p]=O.useState(),[m,h]=O.useState(),[g,_]=O.useState(),v=O.useRef(new Map),y=O.useCallback((i,{deletedFetchers:o,newErrors:c,flushSync:u,viewTransitionOpts:g})=>{c&&n&&Object.values(c).forEach(e=>n(e,{location:i.location,params:i.matches[0]?.params??{},pattern:Qe(i.matches)})),i.fetchers.forEach((e,t)=>{e.data!==void 0&&v.current.set(t,e.data)}),o.forEach(e=>v.current.delete(e)),Vr(u===!1||t!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let y=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition==`function`;if(Vr(g==null||y,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!g||!y){t&&u?t(()=>a(i)):r===!1?a(i):O.startTransition(()=>{r===!0&&s(e=>Gr(e,i)),a(i)});return}if(t&&u){t(()=>{m&&(f?.resolve(),m.skipTransition()),d({isTransitioning:!0,flushSync:!0,currentLocation:g.currentLocation,nextLocation:g.nextLocation})});let n=e.window.document.startViewTransition(()=>{t(()=>a(i))});n.finished.finally(()=>{t(()=>{p(void 0),h(void 0),l(void 0),d({isTransitioning:!1})})}),t(()=>h(n));return}m?(f?.resolve(),m.skipTransition(),_({state:i,currentLocation:g.currentLocation,nextLocation:g.nextLocation})):(l(i),d({isTransitioning:!0,flushSync:!1,currentLocation:g.currentLocation,nextLocation:g.nextLocation}))},[e.window,t,m,f,r,s,n]);O.useLayoutEffect(()=>e.subscribe(y),[e,y]),O.useEffect(()=>{u.isTransitioning&&!u.flushSync&&p(new Ur)},[u]),O.useEffect(()=>{if(f&&c&&e.window){let t=c,n=f.promise,i=e.window.document.startViewTransition(async()=>{r===!1?a(t):O.startTransition(()=>{r===!0&&s(e=>Gr(e,t)),a(t)}),await n});i.finished.finally(()=>{p(void 0),h(void 0),l(void 0),d({isTransitioning:!1})}),h(i)}},[c,f,e.window,r,s]),O.useEffect(()=>{f&&c&&o.location.key===c.location.key&&f.resolve()},[f,m,o.location,c]),O.useEffect(()=>{!u.isTransitioning&&g&&(l(g.state),d({isTransitioning:!0,flushSync:!1,currentLocation:g.currentLocation,nextLocation:g.nextLocation}),_(void 0))},[u.isTransitioning,g]);let b=O.useMemo(()=>({createHref:e.createHref,createURL:e.createURL,encodeLocation:e.encodeLocation,go:t=>e.navigate(t),push:(t,n,r)=>e.navigate(t,{state:n,preventScrollReset:r?.preventScrollReset}),replace:(t,n,r)=>e.navigate(t,{replace:!0,state:n,preventScrollReset:r?.preventScrollReset})}),[e]),x=e.basename||`/`,S=O.useMemo(()=>({router:e,navigator:b,static:!1,basename:x,onError:n}),[e,b,x,n]);return O.createElement(O.Fragment,null,O.createElement(Xn.Provider,{value:S},O.createElement(Zn.Provider,{value:o},O.createElement(tr.Provider,{value:v.current},O.createElement(er.Provider,{value:u},O.createElement(Xr,{basename:x,location:o.location,navigationType:o.historyAction,navigator:b,useTransitions:r},O.createElement(Kr,{routes:e.routes,manifest:e.manifest,future:e.future,state:o,isStatic:!1,onError:n})))))),null)}function Gr(e,t){return{...e,navigation:t.navigation.state===`idle`?e.navigation:t.navigation,revalidation:t.revalidation===`idle`?e.revalidation:t.revalidation,actionData:t.navigation.state===`submitting`?e.actionData:t.actionData,fetchers:t.fetchers}}var Kr=O.memo(qr);function qr({routes:e,manifest:t,future:n,state:r,isStatic:i,onError:a}){return Sr(e,void 0,{manifest:t,state:r,isStatic:i,onError:a,future:n})}function Jr({to:e,replace:t,state:n,relative:r}){C(pr(),`<Navigate> may be used only in the context of a <Router> component.`);let{static:i,navigator:a}=O.useContext(rr);w(!i,`<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.`);let{matches:o}=O.useContext(ar),{pathname:s}=mr(),c=gr(),l=He(e,Ve(o),s,r===`path`);xt(typeof e==`string`?e:E(e),a.createHref(l),vt(a),`reject`);let u=JSON.stringify(l);return O.useEffect(()=>{c(JSON.parse(u),{replace:t,state:n,relative:r})},[c,u,r,t,n]),null}function Yr(e){return yr(e.context)}function Xr({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:a=!1,useTransitions:o}){C(!pr(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let s=e.replace(/^\/*/,`/`),c=O.useMemo(()=>({basename:s,navigator:i,static:a,useTransitions:o,future:{}}),[s,i,a,o]);typeof n==`string`&&(n=ne(n));let{pathname:l=`/`,search:u=``,hash:d=``,state:f=null,key:p=`default`,mask:m}=n,h=O.useMemo(()=>{let e=Pe(l,s);return e==null?null:{location:{pathname:e,search:u,hash:d,state:f,key:p,mask:m},navigationType:r}},[s,l,u,d,f,p,r,m]);return w(h!=null,`<Router basename="${s}"> is not able to match the URL "${l}${u}${d}" because it does not start with the basename, so the <Router> won't render anything.`),h==null?null:O.createElement(rr.Provider,{value:c},O.createElement(ir.Provider,{children:t,value:h}))}O.Component;var Zr=`application/x-www-form-urlencoded`;function Qr(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function $r(e){return Qr(e)&&e.tagName.toLowerCase()===`button`}function ei(e){return Qr(e)&&e.tagName.toLowerCase()===`form`}function ti(e){return Qr(e)&&e.tagName.toLowerCase()===`input`}function ni(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function ri(e,t){return e.button===0&&(!t||t===`_self`)&&!ni(e)}function ii(e=``){return new URLSearchParams(typeof e==`string`||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(e=>[n,e]):[[n,r]])},[]))}function ai(e,t){let n=ii(e);return t&&t.forEach((e,r)=>{n.has(r)||t.getAll(r).forEach(e=>{n.append(r,e)})}),n}var oi=null;function si(){if(oi===null)try{new FormData(document.createElement(`form`),0),oi=!1}catch{oi=!0}return oi}var ci=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function li(e){return e!=null&&!ci.has(e)?(w(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Zr}"`),null):e}function ui(e,t){let n,r,i,a,o;if(ei(e)){let o=e.getAttribute(`action`);r=o?Pe(o,t):null,n=e.getAttribute(`method`)||`get`,i=li(e.getAttribute(`enctype`))||Zr,a=new FormData(e)}else if($r(e)||ti(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a <button> or <input type="submit"> without a <form>`);let s=e.getAttribute(`formaction`)||o.getAttribute(`action`);if(r=s?Pe(s,t):null,n=e.getAttribute(`formmethod`)||o.getAttribute(`method`)||`get`,i=li(e.getAttribute(`formenctype`))||li(o.getAttribute(`enctype`))||Zr,a=new FormData(o,e),!si()){let{name:t,type:n,value:r}=e;if(n===`image`){let e=t?`${t}.`:``;a.append(`${e}x`,`0`),a.append(`${e}y`,`0`)}else t&&a.append(t,r)}}else if(Qr(e))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else n=`get`,r=null,i=Zr,o=e;return a&&i===`text/plain`&&(o=a,a=void 0),{action:r,method:n.toLowerCase(),encType:i,formData:a,body:o}}function di(e,t){if(e===!1||e==null)throw Error(t)}function fi(e,t){let n=typeof e==`string`?new URL(e,typeof window>`u`?`server://singlefetch/`:window.location.origin):e;return n.pathname=n.pathname.endsWith(`/`)?`${n.pathname}_.${t}`:`${n.pathname}.${t}`,n}var pi=`modulepreload`,mi=function(e){return`/`+e},hi={},gi=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=mi(t,n),t=s(t),t in hi)return;hi[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:pi,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};async function _i(e,t){if(e.id in t)return t[e.id];try{let n=await gi(()=>import(e.module),[]);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function vi(e){return e!=null&&typeof e.page==`string`}function yi(e){return e==null?!1:e.href==null?e.rel===`preload`&&typeof e.imageSrcSet==`string`&&typeof e.imageSizes==`string`:typeof e.rel==`string`&&typeof e.href==`string`}async function bi(e,t,n){return Ti((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await _i(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(yi).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function xi(e,t,n,r,i,a){let o=(e,t)=>!n[t]||e.route.id!==n[t].route.id,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith(`*`)&&n[t].params[`*`]!==e.params[`*`];return a===`assets`?t.filter((e,t)=>o(e,t)||s(e,t)):a===`data`?t.filter((t,a)=>{let c=r.routes[t.route.id];if(!c||!c.hasLoader)return!1;if(o(t,a)||s(t,a))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if(typeof r==`boolean`)return r}return!0}):[]}function Si(e,t,{includeHydrateFallback:n}={}){return Ci(e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let i=[r.module];return r.clientActionModule&&(i=i.concat(r.clientActionModule)),r.clientLoaderModule&&(i=i.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(i=i.concat(r.hydrateFallbackModule)),r.imports&&(i=i.concat(r.imports)),i}).flat(1))}function Ci(e){return[...new Set(e)]}function wi(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function Ti(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!vi(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(wi(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}function Ei(){let e=O.useContext(Xn);return di(e,`You must render this element inside a <DataRouterContext.Provider> element`),e}function Di(){let e=O.useContext(Zn);return di(e,`You must render this element inside a <DataRouterStateContext.Provider> element`),e}var Oi=O.createContext(void 0);Oi.displayName=`FrameworkContext`;function ki(){let e=O.useContext(Oi);return di(e,`You must render this element inside a <HydratedRouter> element`),e}function Ai(e,t){let n=O.useContext(Oi),[r,i]=O.useState(!1),[a,o]=O.useState(!1),{onFocus:s,onBlur:c,onMouseEnter:l,onMouseLeave:u,onTouchStart:d}=t,f=O.useRef(null);O.useEffect(()=>{if(e===`render`&&o(!0),e===`viewport`){let e=new IntersectionObserver(e=>{e.forEach(e=>{o(e.isIntersecting)})},{threshold:.5});return f.current&&e.observe(f.current),()=>{e.disconnect()}}},[e]),O.useEffect(()=>{if(r){let e=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(e)}}},[r]);let p=()=>{i(!0)},m=()=>{i(!1),o(!1)};return n?e===`intent`?[a,f,{onFocus:ji(s,p),onBlur:ji(c,m),onMouseEnter:ji(l,p),onMouseLeave:ji(u,m),onTouchStart:ji(d,p)}]:[a,f,{}]:[!1,f,{}]}function ji(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Mi({page:e,...t}){let n=$n(),{nonce:r}=ki(),{router:i}=Ei(),a=O.useMemo(()=>de(i.routes,e,i.basename),[i.routes,e,i.basename]);return a?(t.nonce==null&&r&&(t={...t,nonce:r}),n?O.createElement(Pi,{page:e,matches:a,...t}):O.createElement(Fi,{page:e,matches:a,...t})):null}function Ni(e){let{manifest:t,routeModules:n}=ki(),[r,i]=O.useState([]);return O.useEffect(()=>{let r=!1;return bi(e,t,n).then(e=>{r||i(e)}),()=>{r=!0}},[e,t,n]),r}function Pi({page:e,matches:t,...n}){let r=mr(),i=O.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=fi(e,`rsc`),i=!1,a=[];for(let e of t)typeof e.route.shouldRevalidate==`function`?i=!0:a.push(e.route.id);return i&&a.length>0&&n.searchParams.set(`_routes`,a.join(`,`)),[n.pathname+n.search]},[e,r,t]);return O.createElement(O.Fragment,null,i.map(e=>O.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})))}function Fi({page:e,matches:t,...n}){let r=mr(),{manifest:i,routeModules:a}=ki(),{loaderData:o,matches:s}=Di(),c=O.useMemo(()=>xi(e,t,s,i,r,`data`),[e,t,s,i,r]),l=O.useMemo(()=>xi(e,t,s,i,r,`assets`),[e,t,s,i,r]),u=O.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=new Set,s=!1;if(t.forEach(e=>{let t=i.routes[e.route.id];t&&t.hasLoader&&(!c.some(t=>t.route.id===e.route.id)&&e.route.id in o&&a[e.route.id]?.shouldRevalidate||t.hasClientLoader?s=!0:n.add(e.route.id))}),n.size===0)return[];let l=fi(e,`data`);return s&&n.size>0&&l.searchParams.set(`_routes`,t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(`,`)),[l.pathname+l.search]},[o,r,i,c,t,e,a]),d=O.useMemo(()=>Si(l,i),[l,i]),f=Ni(l);return O.createElement(O.Fragment,null,u.map(e=>O.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})),d.map(e=>O.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...n})),f.map(({key:e,link:t})=>O.createElement(`link`,{key:e,nonce:n.nonce,...t,crossOrigin:t.crossOrigin??n.crossOrigin})))}function Ii(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}var Li=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{Li&&(window.__reactRouterVersion=`8`)}catch{}function Ri(e,t){return Pt({basename:t?.basename,getContext:t?.getContext,future:t?.future,history:S({window:t?.window}),hydrationData:t?.hydrationData||zi(),routes:e,mapRouteProperties:ce,hydrationRouteProperties:Hr,dataStrategy:t?.dataStrategy,patchRoutesOnNavigation:t?.patchRoutesOnNavigation,window:t?.window,instrumentations:t?.instrumentations}).initialize()}function zi(){let e=window?.__staticRouterHydrationData;return e&&e.errors&&(e={...e,errors:Bi(e.errors)}),e}function Bi(e){if(!e)return null;let t=Object.entries(e),n={};for(let[e,r]of t)if(r&&r.__type===`RouteErrorResponse`)n[e]=new Xe(r.status,r.statusText,r.data,r.internal===!0);else if(r&&r.__type===`Error`){if(typeof r.__subType==`string`&&Ye.includes(r.__subType)){let t=window[r.__subType];if(typeof t==`function`)try{let i=new t(r.message);i.stack=``,n[e]=i}catch{}}if(n[e]==null){let t=Error(r.message);t.stack=``,n[e]=t}}else n[e]=r;return n}var Vi=O.forwardRef(function({onClick:e,discover:t=`render`,prefetch:n=`none`,relative:r,reloadDocument:i,replace:a,mask:o,state:s,target:c,to:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f,...p},m){let{basename:h,navigator:g,useTransitions:v}=O.useContext(rr),y=typeof l==`string`&&_.test(l),b=tt(l,h);l=b.to;let x=fr(l,{relative:r}),S=mr(),C=null;if(o){let e=He(o,[],S.mask?S.mask.pathname:`/`,!0);h!==`/`&&(e.pathname=e.pathname===`/`?h:We([h,e.pathname])),C=g.createHref(e)}let[w,T,ee]=Ai(n,p),te=Ki(l,{replace:a,mask:o,state:s,target:c,preventScrollReset:u,relative:r,viewTransition:d,defaultShouldRevalidate:f,useTransitions:v});function E(t){e&&e(t),t.defaultPrevented||te(t)}let ne=!(b.isExternal||i),D=O.createElement(`a`,{...p,...ee,href:(ne?C:void 0)||b.absoluteURL||x,onClick:ne?E:e,ref:Ii(m,T),target:c,"data-discover":!y&&t===`render`?`true`:void 0});return w&&!y?O.createElement(O.Fragment,null,D,O.createElement(Mi,{page:x})):D});Vi.displayName=`Link`;var Hi=O.forwardRef(function({"aria-current":e=`page`,caseSensitive:t=!1,className:n=``,end:r=!1,style:i,to:a,viewTransition:o,children:s,...c},l){let u=xr(a,{relative:c.relative}),d=mr(),f=O.useContext(Zn),{navigator:p,basename:m}=O.useContext(rr),h=f!=null&&Qi(u)&&o===!0,g=p.encodeLocation?p.encodeLocation(u).pathname:u.pathname,_=d.pathname,v=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;t||(_=_.toLowerCase(),v=v?v.toLowerCase():null,g=g.toLowerCase()),v&&m&&(v=Pe(v,m)||v);let y=g!==`/`&&g.endsWith(`/`)?g.length-1:g.length,b=_===g||!r&&_.startsWith(g)&&_.charAt(y)===`/`,x=v!=null&&(v===g||!r&&v.startsWith(g)&&v.charAt(y)===`/`),S={isActive:b,isPending:x,isTransitioning:h},C=b?e:void 0,w;w=typeof n==`function`?n(S):[n,b?`active`:null,x?`pending`:null,h?`transitioning`:null].filter(Boolean).join(` `);let T=typeof i==`function`?i(S):i;return O.createElement(Vi,{...c,"aria-current":C,className:w,ref:l,style:T,to:a,viewTransition:o},typeof s==`function`?s(S):s)});Hi.displayName=`NavLink`;var Ui=O.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:n,reloadDocument:r,replace:i,state:a,method:o=`get`,action:s,onSubmit:c,relative:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f,...p},m)=>{let{useTransitions:h}=O.useContext(rr),g=Xi(),v=Zi(s,{relative:l}),y=o.toLowerCase()===`get`?`get`:`post`,b=typeof s==`string`&&_.test(s);return O.createElement(`form`,{ref:m,method:y,action:v,onSubmit:r?c:e=>{if(c&&c(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,s=r?.getAttribute(`formmethod`)||o,p=()=>g(r||e.currentTarget,{fetcherKey:t,method:s,navigate:n,replace:i,state:a,relative:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f});h&&n!==!1?O.startTransition(()=>p()):p()},...p,"data-discover":!b&&e===`render`?`true`:void 0})});Ui.displayName=`Form`;function Wi(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Gi(e){let t=O.useContext(Xn);return C(t,Wi(e)),t}function Ki(e,{target:t,replace:n,mask:r,state:i,preventScrollReset:a,relative:o,viewTransition:s,defaultShouldRevalidate:c,useTransitions:l}={}){let u=gr(),d=mr(),f=xr(e,{relative:o});return O.useCallback(p=>{if(ri(p,t)){p.preventDefault();let t=n===void 0?E(d)===E(f):n,m=()=>u(e,{replace:t,mask:r,state:i,preventScrollReset:a,relative:o,viewTransition:s,defaultShouldRevalidate:c});l?O.startTransition(()=>m()):m()}},[d,u,f,n,r,i,t,e,a,o,s,c,l])}function qi(e){w(typeof URLSearchParams<`u`,"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=O.useRef(ii(e)),n=O.useRef(!1),r=mr(),i=O.useMemo(()=>ai(r.search,n.current?null:t.current),[r.search]),a=gr();return[i,O.useCallback((e,t)=>{let r=ii(typeof e==`function`?e(new URLSearchParams(i)):e);n.current=!0,a(`?`+r,t)},[a,i])]}var Ji=0,Yi=()=>`__${String(++Ji)}__`;function Xi(){let{router:e}=Gi(`useSubmit`),{basename:t}=O.useContext(rr),n=Fr(),r=e.fetch,i=e.navigate;return O.useCallback(async(e,a={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=ui(e,t);a.navigate===!1?await r(a.fetcherKey||Yi(),n,a.action||o,{defaultShouldRevalidate:a.defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,relative:a.relative,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,flushSync:a.flushSync}):await i(a.action||o,{defaultShouldRevalidate:a.defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,relative:a.relative,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[r,i,t,n])}function Zi(e,{relative:t}={}){let{basename:n}=O.useContext(rr),r=O.useContext(ar);C(r,`useFormAction must be used inside a RouteContext`);let[i]=r.matches.slice(-1),a={...xr(e||`.`,{relative:t})},o=mr();if(e==null){a.search=o.search;let e=new URLSearchParams(a.search),t=e.getAll(`index`);if(t.some(e=>e===``)){e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();a.search=n?`?${n}`:``}}return(!e||e===`.`)&&i.route.index&&(a.search=a.search?a.search.replace(/^\?/,`?index&`):`?index`),n!==`/`&&(a.pathname=a.pathname===`/`?n:We([n,a.pathname])),E(a)}function Qi(e,{relative:t}={}){let n=O.useContext(er);C(n!=null,"`useViewTransitionState` must be used within `react-router/dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=Gi(`useViewTransitionState`),i=xr(e,{relative:t});if(!n.isTransitioning)return!1;let a=Pe(n.currentLocation.pathname,r)||n.currentLocation.pathname,o=Pe(n.nextLocation.pathname,r)||n.nextLocation.pathname;return Ae(i.pathname,o)!=null||Ae(i.pathname,a)!=null}var $i=g(),ea=class extends Error{status;name=`GatewayError`;constructor(e,t){super(t),this.status=e}};function ta(e){return{authorization:`Bearer ${e.key}`}}var na=null;function ra(e){na=e}async function ia(e,t,n={}){return da(await fetch(fa(e,t,n),{headers:ta(e)}))}async function aa(e,t,n){return da(await fetch(fa(e,t,{}),{method:`PUT`,headers:{...ta(e),"content-type":`application/json`},body:JSON.stringify(n)}))}async function oa(e,t,n){return da(await fetch(fa(e,t,{}),{method:`POST`,headers:{...ta(e),"content-type":`application/json`},body:JSON.stringify(n)}))}async function sa(e,t){return da(await fetch(fa(e,t,{}),{method:`DELETE`,headers:ta(e)}))}function ca(e,t,n={}){return fa(e,t,n).toString()}var la=204,ua=401;async function da(e){if(e.ok)return e.status===la?null:e.json();throw e.status===ua&&na?.(),new ea(e.status,await pa(e))}function fa(e,t,n){let r=new URL(e.base.replace(/\/$/,``)+t,window.location.origin);for(let[e,t]of Object.entries(n))r.searchParams.set(e,String(t));return r}async function pa(e){try{let t=(await e.json()).detail;return typeof t==`string`?t:e.statusText}catch{return e.statusText}}var ma=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),j=o(((e,t)=>{t.exports=ma()}))(),ha=(0,O.createContext)(null);function ga({value:e,children:t}){return(0,j.jsx)(ha,{value:e,children:t})}function _a(){let e=(0,O.useContext)(ha);if(e===null)throw Error(`this page was mounted without credentials`);return e}function va(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function ya(e,t=`|`){return e.map(e=>La(e)).join(t)}function ba(e,t){return typeof t==`bigint`?t.toString():t}function xa(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Sa(e){return e==null}function Ca(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function wa(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}function Ta(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Ea(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function Da(e){return JSON.stringify(e)}function Oa(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var ka=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function Aa(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ja=xa(()=>{if(Co.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function Ma(e){if(Aa(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return Aa(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function Na(e){return Ma(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var Pa=new Set([`string`,`number`,`symbol`]);function Fa(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Ia(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function M(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function La(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function Ra(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}var za={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Ba(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return Ia(e,Ea(e._zod.def,{get shape(){let e={};for(let r of Reflect.ownKeys(t)){if(!Object.prototype.hasOwnProperty.call(n.shape,r))throw Error(`Unrecognized key: "${String(r)}"`);t[r]&&Ta(e,r,n.shape[r])}return Ta(this,`shape`,e),e},checks:[]}))}function Va(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return Ia(e,Ea(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e of Reflect.ownKeys(t)){if(!Object.prototype.hasOwnProperty.call(n.shape,e))throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&delete r[e]}return Ta(this,`shape`,r),r},checks:[]}))}function Ha(e,t){if(!Ma(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return Ia(e,Ea(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Ta(this,`shape`,n),n}}))}function Ua(e,t){if(!Ma(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return Ia(e,Ea(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Ta(this,`shape`,n),n}}))}function Wa(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);return Ia(e,Ea(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Ta(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function Ga(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);return Ia(t,Ea(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t of Reflect.ownKeys(n)){if(!Object.prototype.hasOwnProperty.call(r,t))throw Error(`Unrecognized key: "${String(t)}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t of Reflect.ownKeys(r))i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return Ta(this,`shape`,i),i},checks:[]}))}function Ka(e,t,n){return Ia(t,Ea(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t of Reflect.ownKeys(n)){if(!Object.prototype.hasOwnProperty.call(i,t))throw Error(`Unrecognized key: "${String(t)}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t of Reflect.ownKeys(r))i[t]=new e({type:`nonoptional`,innerType:r[t]});return Ta(this,`shape`,i),i}}))}function qa(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Ja(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function Ya(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Xa(e){return typeof e==`string`?e:e?.message}function Za(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function Qa(e,t,n){var r;let i=e.inst?._zod?.traits;i?.has(`$ZodType`)&&(i.has(`$ZodCheck`)?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let a=e.schema===e.inst?void 0:e.schema?._zod.def?.error,o=e.message?e.message:Xa(e.inst?._zod.def?.error?.(e))??Xa(a?.(e))??Xa(t?.error?.(e))??Xa(n.customError?.(e))??Xa(n.localeError?.(e))??`Invalid input`,{inst:s,schema:c,continue:l,input:u,...d}=e;return d.path??=[],d.message=o,t?.reportInput&&(d.input=u),d}var $a=/[\uD800-\uDBFF]/;function eo(e){let t=e.length;if(!$a.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320&&(n--,r++);return n}function to(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function no(e){let t=typeof e;switch(t){case`number`:return Number.isNaN(e)?`nan`:`number`;case`object`:{if(e===null)return`null`;if(Array.isArray(e))return`array`;let t=e;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&`constructor`in t&&t.constructor)return t.constructor.name}}return t}function ro(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function io(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):so(e,n,r.value)}}function ao(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function oo(e,t,n){return ao(e,t,n,!1)}function so(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:ao(this,t,n.bind(this))},set(e){ao(this,t,e)}})}function co(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}var lo,uo=!1,fo={configurable:!0,get(){uo=!0}};function po(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&lo!==e._zod){lo=void 0;return}lo=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,fo);let e=uo;uo=!1;try{let r=n(this);return uo?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),uo||=e,r}catch(n){throw delete this[t],uo||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function mo(e,t,n,r){let i=co(e,t);i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,e),e.value=n(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:e})}})}var ho=`~constantCatch`;function go(e){let t=()=>e;return t[ho]=!0,t}var _o,vo={value:void 0,enumerable:!1},yo=`captureStackTrace`in Error?Error:null;function bo(e){let t=yo;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return yo=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function N(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){vo.value=new a(r);try{Object.defineProperty(n,"_zod",vo)}finally{vo.value=void 0}}if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),io(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(e){let t=r?.Parent?bo(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var xo=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},So=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(_o=globalThis).__zod_globalConfig??(_o.__zod_globalConfig={});var Co=globalThis.__zod_globalConfig;function wo(e){return e&&Object.assign(Co,e),Co}function To(){let e=this._zod;return e.message??=JSON.stringify(e.def,ba,2),e.message}function Eo(e){this._zod.message=e}var Do={get:To,set:Eo,enumerable:!0,configurable:!0},Oo={value:void 0,enumerable:!1},ko={value:void 0,enumerable:!1},Ao=new WeakSet([Object.prototype,Error.prototype]),jo=(e,t)=>{e.name=`$ZodError`,Oo.value=e._zod,Object.defineProperty(e,"_zod",Oo),ko.value=t,Object.defineProperty(e,"issues",ko),Oo.value=void 0,ko.value=void 0,Object.defineProperty(e,"message",Do);let n=Object.getPrototypeOf(e);Ao.has(n)||(Ao.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))},Mo=N(`$ZodError`,jo),No=N(`$ZodError`,jo,void 0,{Parent:Error});function Po(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t===`__proto__`?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function Fo(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?Po(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Io(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i],o=i===e.length-1;if(n===`_errors`){o&&r._errors.push(t(a)),i++;continue}Object.prototype.hasOwnProperty.call(r,n)||Object.defineProperty(r,n,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let s=r[n];o&&s._errors.push(t(a)),r=s,i++}}}};return r(e),n}function Lo(e,t){return{callee:t?.callee??e,Err:t?.Err}}var Ro=e=>{let t=(n,r,i,a)=>{let o=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new xo;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>Qa(e,o,wo())));throw ka(n,a?.callee??t),n}return s.value};return t},zo=e=>{let t=async(n,r,i,a)=>{let o=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>Qa(e,o,wo())));throw ka(n,a?.callee??t),n}return s.value};return t},Bo=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new xo;return a.issues.length?{success:!1,error:new(e??Mo)(a.issues.map(e=>Qa(e,i,wo())))}:{success:!0,data:a.value}},Vo=Bo(No),Ho=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>Qa(e,i,wo())))}:{success:!0,data:a.value}},Uo=Ho(No),Wo=e=>{let t=Ro(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,Lo(n,a))};return n},Go=e=>{let t=Ro(e),n=(e,r,i,a)=>t(e,r,i,Lo(n,a));return n},Ko=e=>{let t=zo(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,Lo(n,a))};return n},qo=e=>{let t=zo(e),n=async(e,r,i,a)=>await t(e,r,i,Lo(n,a));return n},Jo=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Bo(e)(t,n,i)},Yo=e=>(t,n,r)=>Bo(e)(t,n,r),Xo=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Ho(e)(t,n,i)},Zo=e=>async(t,n,r)=>Ho(e)(t,n,r),Qo=/^[cC][0-9a-z]{6,}$/,$o=/^[0-9a-z]+$/,es=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,ts=/^[0-9a-vA-V]{20}$/,ns=/^[A-Za-z0-9]{27}$/,rs=/^[a-zA-Z0-9_-]{21}$/;function is(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var as=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,os=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,ss=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,cs=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,ls=`^[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;function us(){return new RegExp(ls,`u`)}var ds=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,fs=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,ps=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,ms=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,hs=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,gs=/^[A-Za-z0-9_-]*$/,_s=/^https?$/,vs=/^\+[1-9]\d{6,14}$/,ys=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;function bs(e){return RegExp(`^${e}$`)}var xs=bs(ys);function Ss(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Cs(e){return RegExp(`^${Ss(e)}$`)}function ws(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${Ss({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${Ss({precision:e.precision})}`:n;return RegExp(`^${ys}T(?:${r})$`)}var Ts=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Es=/^-?\d+$/,Ds=/^-?\d+(?:\.\d+)?$/,Os=/^(?:true|false)$/i,ks=/^[^A-Z]*$/,As=/^[^a-z]*$/,js=N(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Ms=e=>{let t=e.value;return!Sa(t)&&t.length!==void 0},Ns={number:`number`,bigint:`bigint`,object:`date`},Ps=N(`$ZodCheckLessThan`,(e,t)=>{js.init(e,t);let n=Ns[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:Ns[typeof r.value]??n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Fs=N(`$ZodCheckGreaterThan`,(e,t)=>{js.init(e,t);let n=Ns[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:Ns[typeof r.value]??n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Is=N(`$ZodCheckMultipleOf`,(e,t)=>{js.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):wa(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Ls=N(`$ZodCheckNumberFormat`,(e,t)=>{js.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=za[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Es)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),Rs=N(`$ZodCheckMaxLength`,(e,t)=>{var n;js.init(e,t),(n=e._zod.def).when??(n.when=Ms),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?eo(r):i)<=t.maximum)return;let a=to(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),zs=N(`$ZodCheckMinLength`,(e,t)=>{var n;js.init(e,t),(n=e._zod.def).when??(n.when=Ms),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?eo(r):i)>=t.minimum)return;let a=to(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Bs=N(`$ZodCheckLengthEquals`,(e,t)=>{var n;js.init(e,t),(n=e._zod.def).when??(n.when=Ms),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?eo(r):i;if(a===t.length)return;let o=to(r),s=a>t.length;n.issues.push({origin:o,...s?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Vs=N(`$ZodCheckStringFormat`,(e,t)=>{var n,r;js.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),Hs=N(`$ZodCheckRegex`,(e,t)=>{Vs.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Us=N(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=ks,Vs.init(e,t)}),Ws=N(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=As,Vs.init(e,t)}),Gs=N(`$ZodCheckIncludes`,(e,t)=>{js.init(e,t);let n=Fa(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Ks=N(`$ZodCheckStartsWith`,(e,t)=>{js.init(e,t);let n=RegExp(`^${Fa(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),qs=N(`$ZodCheckEndsWith`,(e,t)=>{js.init(e,t);let n=RegExp(`.*${Fa(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Js=N(`$ZodCheckOverwrite`,(e,t)=>{js.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),Ys=class{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
10
+ `).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.content??[``];return new e(...Object.keys(this.closed),`return function (${this.args.join(`, `)}) {\n${t.join(`
11
+ `)}\n};`)(...Object.values(this.closed))}},Xs={major:4,minor:5,patch:4},Zs=N(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Xs;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=qa(t),a;for(let o of n){if(o._zod.def.when){if(Ja(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new xo;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(Za(t.issues,n,e),i||=qa(t,n))});else{if(t.issues.length===n)continue;Za(t.issues,n,e),i||=qa(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(qa(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new xo;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new xo;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return oo(this,`~standard`,$s(this))},set"~standard"(e){ao(this,`~standard`,e)}}),Qs=e=>e.success?{value:e.data}:{issues:e.error?.issues};function $s(e){return{validate:t=>{try{return Qs(Vo(e,t))}catch{return Uo(e,t).then(Qs)}},vendor:`zod`,version:1}}var ec=N(`$ZodString`,(e,t)=>{Zs.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Ts(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),tc=N(`$ZodStringFormat`,(e,t)=>{Vs.init(e,t),ec.init(e,t)}),nc=N(`$ZodGUID`,(e,t)=>{t.pattern??=os,tc.init(e,t)}),rc=N(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=ss(e)}else t.pattern??=ss();tc.init(e,t)}),ic=N(`$ZodEmail`,(e,t)=>{t.pattern??=cs,tc.init(e,t)});function ac(e,t){if(!t.normalize&&t.protocol?.source===_s.source&&!/^https?:\/\//i.test(e))return 1;try{return new URL(e)}catch{return 2}}var oc=/[\t\n\r]/g;function sc(e){return e.replace(oc,``)}function cc(e,t){return t.lastIndex=0,t.test(e.hostname)}function lc(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}var uc=N(`$ZodURL`,(e,t)=>{tc.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=ac(r,t);if(i===1){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}if(i===2){n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort});return}t.hostname&&!cc(i,t.hostname)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort}),t.protocol&&!lc(i,t.protocol)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort}),n.value=t.normalize?i.href:sc(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),dc=N(`$ZodEmoji`,(e,t)=>{t.pattern??=us(),tc.init(e,t)}),fc=N(`$ZodNanoID`,(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??=t.length===void 0?rs:is(t.length),tc.init(e,t)}),pc=N(`$ZodCUID`,(e,t)=>{t.pattern??=Qo,tc.init(e,t)}),mc=N(`$ZodCUID2`,(e,t)=>{t.pattern??=$o,tc.init(e,t)}),hc=N(`$ZodULID`,(e,t)=>{t.pattern??=es,tc.init(e,t)}),gc=N(`$ZodXID`,(e,t)=>{t.pattern??=ts,tc.init(e,t)}),_c=N(`$ZodKSUID`,(e,t)=>{t.pattern??=ns,tc.init(e,t)}),vc=N(`$ZodISODateTime`,(e,t)=>{t.pattern??=ws(t),tc.init(e,t),(t.local||t.precision===-1)&&(e._zod.bag.laxFormat=!0,e._zod.onattach.push(e=>{e._zod.bag.laxFormat=!0}))}),yc=N(`$ZodISODate`,(e,t)=>{t.pattern??=xs,tc.init(e,t)}),bc=N(`$ZodISOTime`,(e,t)=>{t.pattern??=Cs(t),tc.init(e,t)}),xc=N(`$ZodISODuration`,(e,t)=>{t.pattern??=as,tc.init(e,t)}),Sc=N(`$ZodIPv4`,(e,t)=>{t.pattern??=ds,tc.init(e,t),e._zod.bag.format=`ipv4`}),Cc=/^[0-9a-fA-F:.]+$/;function wc(e){if(!Cc.test(e))return!1;try{return new URL(`http://[${e}]`),!0}catch{return!1}}var Tc=N(`$ZodIPv6`,(e,t)=>{t.pattern??=fs,tc.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{wc(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),Ec=N(`$ZodCIDRv4`,(e,t)=>{t.pattern??=ps,tc.init(e,t)});function Dc(e){let t=e.split(`/`);if(t.length!==2)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`!==r||i<0||i>128?!1:wc(n)}var Oc=N(`$ZodCIDRv6`,(e,t)=>{t.pattern??=ms,tc.init(e,t),e._zod.check=n=>{Dc(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function kc(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Ac=N(`$ZodBase64`,(e,t)=>{t.pattern??=hs,tc.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{kc(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function jc(e){if(!gs.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return kc(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var Mc=N(`$ZodBase64URL`,(e,t)=>{t.pattern??=gs,tc.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{jc(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Nc=N(`$ZodE164`,(e,t)=>{t.pattern??=vs,tc.init(e,t)});function Pc(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var Fc=N(`$ZodJWT`,(e,t)=>{tc.init(e,t),e._zod.check=n=>{Pc(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Ic=N(`$ZodNumber`,(e,t)=>{Zs.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ds,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Lc=N(`$ZodNumberFormat`,(e,t)=>{Ls.init(e,t),Ic.init(e,t)}),Rc=N(`$ZodBoolean`,(e,t)=>{Zs.init(e,t),e._zod.pattern=Os,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),zc=N(`$ZodUnknown`,(e,t)=>{Zs.init(e,t),e._zod.parse=e=>e}),Bc=N(`$ZodNever`,(e,t)=>{Zs.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Vc(e,t,n){e.issues.length&&t.issues.push(...Ya(n,e.issues)),t.value[n]=e.value}var Hc=N(`$ZodArray`,(e,t)=>{Zs.init(e,t);let n=Co.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[];for(let e=0;e<a.length;e++){let n=a[e],s=t.element._zod.run({value:n,issues:[]},i);s instanceof Promise?o.push(s.then(t=>Vc(t,r,e))):Vc(s,r,e)}return o.length?Promise.all(o).then(()=>r):r}});function Uc(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(o||!s||i!==`optional`){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...Ya(n,e.issues))}if(!o&&i===void 0){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}}var Wc=[];function Gc(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:Wc,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${String(t)}": expected a Zod schema`);let a=Ra(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function Kc(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin,d=c.optout;for(let i in t){if(s.has(i))continue;if(i===`__proto__`){l===`never`&&o.push(i);continue}if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>Uc(e,n,i,t,u,d))):Uc(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}var qc=new WeakMap,Jc=N(`$ZodObject`,(e,t)=>{if(Zs.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;qc.set(t,e),Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),qc.set(t,n),n}})}let n=xa(()=>Gc(t));po(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||Ta(n,e,new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let r=Aa,i=t.catchall,a,o=Co.memoizer;o?.attach(e),e._zod.parse=(t,s)=>{a??=n.value;let c=t.value;if(!r(c))return t.issues.push({expected:`object`,code:`invalid_type`,input:c,inst:e}),t;t.value=o?o.alloc(e,t,{},s):{};let l=[],u=a.shape;for(let e of a.allKeys){if(e===`__proto__`)continue;let n=u[e],r=n._zod.optin,i=n._zod.optout,a=n._zod.run({value:c[e],issues:[]},s);a instanceof Promise?l.push(a.then(n=>Uc(n,t,e,c,r,i))):Uc(a,t,e,c,r,i)}return i?Kc(l,c,t,s,n.value,e):l.length?Promise.all(l).then(()=>t):t}}),Yc=N(`$ZodObjectJIT`,(e,t)=>{Jc.init(e,t);let n=e._zod.parse,r=xa(()=>Gc(t)),i=Co.memoizer,a=t=>{let n=r.value,a=n.symbolKeys,o=new Ys([`payload`,`ctx`],{shape:t,inst:e,memo:i,syms:a}),s=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,c=(e,t)=>`
12
+ for (let i = 0; i < ${e}.issues.length; i++) {
13
+ const iss = ${e}.issues[i];
14
+ iss.path = iss.path ? [${t}, ...iss.path] : [${t}];
15
+ payload.issues.push(iss);
16
+ }`;o.write(`const input = payload.value;`);let l=Object.create(null),u=0;for(let e of n.allKeys)l[e]=`key_${u++}`;o.write(i?`const newResult = memo.alloc(inst, payload, {}, ctx);`:`const newResult = {};`);for(let e of n.allKeys){if(e===`__proto__`)continue;let n=l[e],r=typeof e==`symbol`?`syms[${a.indexOf(e)}]`:Da(e),i=`${r} in input`,u=t[e],d=u?._zod?.optin,f=d!==void 0,p=u?._zod?.optout===`optional`;if(o.write(`const ${n} = ${s(r)};`),f&&p){let e=d===`optional`?`${n}_present`:`${n}.value !== undefined || ${n}_present`;o.write(`
17
+ const ${n}_present = ${i};
18
+ if (!${n}.issues.length || ${n}_present) {
19
+ if (${n}.issues.length) {${c(n,r)}
20
+ }
21
+
22
+ if (${e}) {
23
+ newResult[${r}] = ${n}.value;
24
+ }
25
+ }
26
+
27
+ `)}else f?o.write(`
28
+ if (${n}.issues.length) {${c(n,r)}
29
+ }
30
+
31
+ if (${n}.value === undefined) {
32
+ if (${i}) {
33
+ newResult[${r}] = undefined;
34
+ }
35
+ } else {
36
+ newResult[${r}] = ${n}.value;
37
+ }
38
+
39
+ `):o.write(`
40
+ const ${n}_present = ${i};
41
+ if (${n}.issues.length) {${c(n,r)}
42
+ }
43
+ if (!${n}_present && !${n}.issues.length) {
44
+ payload.issues.push({
45
+ code: "invalid_type",
46
+ expected: "nonoptional",
47
+ input: undefined,
48
+ path: [${r}]
49
+ });
50
+ }
51
+
52
+ if (${n}_present) {
53
+ newResult[${r}] = ${n}.value;
54
+ }
55
+
56
+ `)}return o.write(`payload.value = newResult;`),o.write(`return payload;`),o.compile()},o,s=Aa,c=!Co.jitless,l=c&&ja.value,u=t.catchall,d;e._zod.parse=(i,f)=>{d??=r.value;let p=i.value;return s(p)?c&&l&&f?.async===!1&&f.jitless!==!0?(o||=a(t.shape),i=o(i,f),u?Kc([],p,i,f,d,e):i):n(i,f):(i.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),i)}});function Xc(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!qa(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Qa(e,r,wo())))}),t)}var Zc=N(`$ZodUnion`,(e,t)=>{Zs.init(e,t),po(e,`optin`,e=>e.def.options.some(e=>e._zod.optin===`defaulted`)?`defaulted`:e.def.options.some(e=>e._zod.optin!==void 0)?`optional`:void 0),po(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),po(e,`values`,e=>{if(e.def.options.every(e=>e._zod.values))return new Set(e.def.options.flatMap(e=>Array.from(e._zod.values)))}),po(e,`pattern`,e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return RegExp(`^(${t.map(e=>Ca(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>Xc(t,r,e,i)):Xc(o,r,e,i)}}),Qc=N(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,Zc.init(e,t);let n=e._zod.parse;po(e,`propValues`,e=>{let t={};for(let n of e.def.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index "${e.def.options.indexOf(n)}"`);for(let[e,n]of Object.entries(r)){Object.prototype.hasOwnProperty.call(t,e)||Ta(t,e,new Set);for(let r of n)t[e].add(r)}}return t}),t.options.forEach((e,n)=>{let r=qc.get(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index "${n}"`)});let r=xa(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!Aa(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()),input:o,path:[t.discriminator],inst:e}),i)}}),$c=N(`$ZodIntersection`,(e,t)=>{Zs.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>tl(e,t,n)):tl(e,i,a)}});function el(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Ma(e)&&Ma(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};Object.prototype.hasOwnProperty.call(i,`__proto__`)&&delete i.__proto__;for(let n of r){if(n===`__proto__`)continue;let r=el(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=el(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function tl(e,t,n){let r=new Map,i,a=new Map,o=(e,t)=>{let n;if(e.code===`unrecognized_keys`&&!e.path?.length)i??=e,n=e.keys;else if(e.code===`invalid_key`&&e.origin===`record`&&e.path?.length===1){let t=String(e.path[0]);a.has(t)||a.set(t,e),n=[t]}else return!1;for(let e of n)r.has(e)||r.set(e,{}),r.get(e)[t]=!0;return!0};for(let n of t.issues)o(n,`l`)||e.issues.push(n);for(let t of n.issues)o(t,`r`)||e.issues.push(t);let s=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length){let t=i?s.filter(e=>i.keys.includes(e)):[];t.length&&e.issues.push({...i,keys:t});for(let n of s)!t.includes(n)&&a.has(n)&&e.issues.push(a.get(n))}let c=el(t.value,n.value);if(!c.valid){if(qa(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var nl=N(`$ZodTuple`,(e,t)=>{Zs.init(e,t);let n=t.items,r=Co.memoizer;r?.attach(e),e._zod.parse=(i,a)=>{let o=i.value;if(!Array.isArray(o))return i.issues.push({input:o,inst:e,expected:`tuple`,code:`invalid_type`}),i;i.value=r?r.alloc(e,i,[],a):[];let s=[],c=rl(n,`optin`),l=rl(n,`optout`);if(!t.rest){if(o.length<c)return i.issues.push({code:`too_small`,minimum:c,inclusive:!0,input:o,inst:e,origin:`array`}),i;o.length>n.length&&i.issues.push({code:`too_big`,maximum:n.length,inclusive:!0,input:o,inst:e,origin:`array`})}let u=Array(n.length);for(let e=0;e<n.length;e++){let t=n[e]._zod.run({value:o[e],issues:[]},a);t instanceof Promise?s.push(t.then(t=>{u[e]=t})):u[e]=t}if(t.rest){let e=n.length-1,r=o.slice(n.length);for(let n of r){e++;let r=t.rest._zod.run({value:n,issues:[]},a);r instanceof Promise?s.push(r.then(t=>il(t,i,e))):il(r,i,e)}}return s.length?Promise.all(s).then(()=>al(u,i,n,o,l)):al(u,i,n,o,l)}});function rl(e,t){for(let n=e.length-1;n>=0;n--)if(!(t===`optin`?e[n]._zod.optin!==void 0:e[n]._zod.optout===`optional`))return n+1;return 0}function il(e,t,n){e.issues.length&&t.issues.push(...Ya(n,e.issues)),t.value[n]=e.value}function al(e,t,n,r,i){for(let a=0;a<n.length;a++){let o=e[a],s=a<r.length;if(!s&&a>=i&&n[a]._zod.optin===`optional`){t.value.length=a;break}if(o.issues.length){if(!s&&a>=i){t.value.length=a;break}t.issues.push(...Ya(a,o.issues))}t.value[a]=o.value}for(let e=t.value.length-1;e>=r.length&&n[e]._zod.optout===`optional`&&t.value[e]===void 0;e--)t.value.length=e;return t}var ol=N(`$ZodRecord`,(e,t)=>{Zs.init(e,t);let n=Co.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Ma(a))return r.issues.push({expected:`record`,code:`invalid_type`,input:a,inst:e}),r;let o=[],s=t.keyType._zod.values;if(s&&!t.partial){r.value=n?n.alloc(e,r,{},i):{};let c=new Set;for(let n of s)if(typeof n==`string`||typeof n==`number`||typeof n==`symbol`){if(c.add(typeof n==`number`?n.toString():n),n===`__proto__`)continue;let s=t.keyType._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){r.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>Qa(e,i,wo())),input:n,path:[n],inst:e});continue}let l=s.value;if(l===`__proto__`)continue;let u=t.valueType._zod.run({value:a[n],issues:[]},i);u instanceof Promise?o.push(u.then(e=>{e.issues.length&&r.issues.push(...Ya(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...Ya(n,u.issues)),r.value[l]=u.value)}let l;for(let e in a)if(!c.has(e)){if(t.mode===`loose`){if(e===`__proto__`)continue;r.value[e]=a[e]}else l??=[],l.push(e)}l&&l.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:l,continue:!0})}else{r.value=n?n.alloc(e,r,{},i):{};let c;for(let n of Reflect.ownKeys(a)){if(n===`__proto__`||!Object.prototype.propertyIsEnumerable.call(a,n))continue;let l=t.keyType._zod.run({value:n,issues:[]},i);if(l instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof n==`string`&&Ds.test(n)&&l.issues.length){let e=t.keyType._zod.run({value:Number(n),issues:[]},i);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(l=e)}if(l.issues.length){t.mode===`loose`?r.value[n]=a[n]:s?(c??=[],c.push(n)):r.issues.push({code:`invalid_key`,origin:`record`,issues:l.issues.map(e=>Qa(e,i,wo())),input:n,path:[n],inst:e});continue}let u=l.value;if(u===`__proto__`)continue;let d=t.valueType._zod.run({value:a[n],issues:[]},i);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&r.issues.push(...Ya(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...Ya(n,d.issues)),r.value[u]=d.value)}c&&c.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:c,continue:!0})}return o.length?Promise.all(o).then(()=>r):r}}),sl=N(`$ZodEnum`,(e,t)=>{Zs.init(e,t);let n=va(t.entries),r=new Set(n);e._zod.values=r;let i=n.filter(e=>Pa.has(typeof e));e._zod.pattern=RegExp(i.length?`^(${i.map(e=>Fa(e.toString())).join(`|`)})$`:`^[^\\s\\S]$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),cl=N(`$ZodLiteral`,(e,t)=>{Zs.init(e,t);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(t.values.length?`^(${t.values.map(e=>typeof e==`string`?Fa(e):e?Fa(e.toString()):String(e)).join(`|`)})$`:`^[^\\s\\S]$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),ll=N(`$ZodTransform`,(e,t)=>{Zs.init(e,t),e._zod.optin=`optional`,Co.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new So(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new xo;return n.value=i,n}});function ul(e,t){return e.value=t.issues.length?void 0:t.value,e}var dl=N(`$ZodOptional`,(e,t)=>{Zs.init(e,t),po(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,po(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),po(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${Ca(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(e.value===void 0){if(t.innerType._zod.optin!==`defaulted`)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>ul(e,t)):ul(e,r)}return t.innerType._zod.run(e,n)}}),fl=N(`$ZodExactOptional`,(e,t)=>{dl.init(e,t),po(e,`values`,e=>e.def.innerType._zod.values),po(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),pl=N(`$ZodNullable`,(e,t)=>{Zs.init(e,t),po(e,`optin`,e=>e.def.innerType._zod.optin),po(e,`optout`,e=>e.def.innerType._zod.optout),po(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${Ca(t.source)}|null)$`):void 0}),po(e,`values`,e=>e.def.innerType._zod.values?new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),ml=N(`$ZodDefault`,(e,t)=>{Zs.init(e,t),e._zod.optin=`defaulted`,po(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>hl(e,t)):hl(r,t)}});function hl(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var gl=N(`$ZodPrefault`,(e,t)=>{Zs.init(e,t),e._zod.optin=`defaulted`,po(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),_l=N(`$ZodNonOptional`,(e,t)=>{Zs.init(e,t),po(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>vl(t,e)):vl(i,e)}});function vl(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}function yl(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>Qa(e,r,wo()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var bl=N(`$ZodCatch`,(e,t)=>{Zs.init(e,t),po(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),po(e,`optout`,e=>e.def.innerType._zod.optout),po(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(r=>yl(e,r,t,n)):yl(e,r,t,n)}}),xl=N(`$ZodPipe`,(e,t)=>{Zs.init(e,t),po(e,`values`,e=>e.def.in._zod.values),po(e,`optin`,e=>e.def.in._zod.optin),po(e,`optout`,e=>e.def.out._zod.optout),po(e,`propValues`,e=>e.def.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Sl(e,t.in,n)):Sl(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Sl(e,t.out,n)):Sl(r,t.out,n)}});function Sl(e,t,n){return e.issues.some(e=>e.code!==`unrecognized_keys`)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var Cl=N(`$ZodReadonly`,(e,t)=>{Zs.init(e,t),po(e,`propValues`,e=>e.def.innerType._zod.propValues),po(e,`values`,e=>e.def.innerType._zod.values),po(e,`optin`,e=>e.def.innerType?._zod?.optin),po(e,`optout`,e=>e.def.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(wl):wl(r)}});function wl(e){return e.memo||(e.value=Object.freeze(e.value)),e}var Tl=N(`$ZodCustom`,(e,t)=>{js.init(e,t),Zs.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>El(t,n,r,e));El(i,n,r,e)}});function El(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(ro(e))}}var Dl=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}},Ol=`~memo`,kl=[];function Al(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}var jl=new WeakMap;function Ml(e,t){let n=jl.get(e);if(n!==void 0)return n;if(t.has(e))return!0;t.add(e);let r=!1,i=e=>{!r&&e?._zod&&Ml(e,t)&&(r=!0)},a=e._zod.def;switch(a.type){case`object`:for(let e of Reflect.ownKeys(a.shape))i(a.shape[e]);i(a.catchall);break;case`array`:i(a.element);break;case`tuple`:for(let e of a.items)i(e);i(a.rest);break;case`record`:case`map`:i(a.keyType),i(a.valueType);break;case`set`:i(a.valueType);break;case`union`:for(let e of a.options)i(e);break;case`intersection`:i(a.left),i(a.right);break;case`optional`:case`nullable`:case`default`:case`prefault`:case`catch`:case`readonly`:case`nonoptional`:case`promise`:case`success`:i(a.innerType);break;case`pipe`:i(a.in),i(a.out);break;case`function`:i(a.input),i(a.output);break;case`lazy`:i(e._zod.innerType);break;case`template_literal`:case`string`:case`number`:case`int`:case`boolean`:case`bigint`:case`symbol`:case`undefined`:case`null`:case`void`:case`never`:case`any`:case`unknown`:case`date`:case`nan`:case`enum`:case`literal`:case`file`:case`transform`:case`custom`:break;default:for(let e in a){let t=Object.getOwnPropertyDescriptor(a,e);if(!t||t.get)continue;let n=t.value;if(n&&typeof n==`object`){if(n._zod)i(n);else if(Array.isArray(n))for(let e of n)i(e)}}}return t.delete(e),jl.set(e,r),r}function Nl(e,t){let n=e.buckets.get(t);return n||(n=new Map,e.buckets.set(t,n)),n}var Pl,Fl=[],Il={alloc(e,t,n){let r=Pl;if(!r)return n;Pl=void 0;let i={value:n,issues:null};return r.set(t.value,i),Fl.push(i),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,n=(e,n)=>{if(n.direction!==`backward`&&Rl(n,e.value))throw new Dl;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r,i;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,a=(o,s)=>{if(n===void 0&&(n=Ml(e,new Set),!n))return e._zod.parse=t,e._zod.run===a&&(e._zod.run=t),t(o,s);let c=o.value;if(typeof c!=`object`||!c)return t(o,s);let l=s[Ol];l||(l={buckets:new Map,backEdges:void 0},s[Ol]=l);let u;r===s?u=i:(u=Nl(l,e),r=s,i=u);let d=u.get(c);if(d)return o.value=d.value,d.issues?d.issues.length&&o.issues.push(...Al(d.issues)):(o.memo=!0,l.backEdges??(l.backEdges=new Set),l.backEdges.add(d.value)),o;Pl=u;let f=Fl.length,p=t(o,s);Pl=void 0;let m=Fl.length>f?Fl.pop():void 0;return p instanceof Promise?p.then(e=>(m&&(m.issues=e.issues.length?Al(e.issues):kl),e)):(m&&(m.issues=p.issues.length?Al(p.issues):kl),p)};e._zod.parse=a,e._zod.run===t&&(e._zod.run=a)})}};function Ll(){return Il}function Rl(e,t){let n=e[Ol]?.backEdges;return n!==void 0&&typeof t==`object`&&!!t&&n.has(t)}var zl=()=>{let e={string:{unit:`characters`,verb:`to have`},file:{unit:`bytes`,verb:`to have`},array:{unit:`items`,verb:`to have`},set:{unit:`items`,verb:`to have`},map:{unit:`entries`,verb:`to have`}};function t(t){return e[t]??null}let n={regex:`input`,email:`email address`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datetime`,date:`ISO date`,time:`ISO time`,duration:`ISO duration`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,mac:`MAC address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded string`,base64url:`base64url-encoded string`,json_string:`JSON string`,e164:`E.164 number`,credit_card:`credit card number`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`};function i(e,t){return e===`number`&&typeof t==`number`&&!Number.isFinite(t)?String(t):r[e]??e}return e=>{switch(e.code){case`invalid_type`:return`Invalid input: expected ${i(e.expected)}, received ${i(no(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${La(e.values[0])}`:`Invalid option: expected one of ${ya(e.values,`|`)}`;case`too_big`:{let n=e.exact?`exactly `:e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Too big: expected ${e.origin??`value`} to have ${n}${e.maximum.toString()} ${r.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.exact?`exactly `:e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Too small: expected ${e.origin} to have ${n}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Invalid string: must start with "${t.prefix}"`:t.format===`ends_with`?`Invalid string: must end with "${t.suffix}"`:t.format===`includes`?`Invalid string: must include "${t.includes}"`:t.format===`regex`?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${n[t.format]??e.format}`}case`not_multiple_of`:return`Invalid number: must be a multiple of ${e.divisor}`;case`unrecognized_keys`:return`Unrecognized key${e.keys.length>1?`s`:``}: ${ya(e.keys,`, `)}`;case`invalid_key`:return`Invalid key in ${e.origin}`;case`invalid_union`:return e.options&&Array.isArray(e.options)&&e.options.length>0?`Invalid discriminator value. Expected ${e.options.map(e=>`'${e}'`).join(` | `)}`:e.inclusive===!1?`Invalid input: more than one option matched`:`Invalid input`;case`invalid_element`:return`Invalid value in ${e.origin}`;default:return`Invalid input`}}};function Bl(){return{localeError:zl()}}var Vl,Hl=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Ul(){return new Hl}(Vl=globalThis).__zod_globalRegistry??(Vl.__zod_globalRegistry=Ul());var Wl=globalThis.__zod_globalRegistry;function Gl(e,t){return new e({type:`string`,...M(t)})}function Kl(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...M(t)})}function ql(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...M(t)})}function Jl(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...M(t)})}function Yl(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...M(t)})}function Xl(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...M(t)})}function Zl(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...M(t)})}function Ql(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...M(t)})}function $l(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...M(t)})}function eu(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...M(t)})}function tu(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...M(t)})}function nu(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...M(t)})}function ru(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...M(t)})}function iu(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...M(t)})}function au(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...M(t)})}function ou(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...M(t)})}function su(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...M(t)})}function cu(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...M(t)})}function lu(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...M(t)})}function uu(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...M(t)})}function du(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...M(t)})}function fu(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...M(t)})}function pu(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...M(t)})}function mu(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...M(t)})}function hu(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...M(t)})}function gu(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...M(t)})}function _u(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...M(t)})}function vu(e,t){return new e({type:`number`,checks:[],...M(t)})}function yu(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...M(t)})}function bu(e,t){return new e({type:`boolean`,...M(t)})}function xu(e){return new e({type:`unknown`})}function Su(e,t){return new e({type:`never`,...M(t)})}function Cu(e,t){return new Ps({check:`less_than`,...M(t),value:e,inclusive:!1})}function wu(e,t){return new Ps({check:`less_than`,...M(t),value:e,inclusive:!0})}function Tu(e,t){return new Fs({check:`greater_than`,...M(t),value:e,inclusive:!1})}function Eu(e,t){return new Fs({check:`greater_than`,...M(t),value:e,inclusive:!0})}function Du(e,t){return new Is({check:`multiple_of`,...M(t),value:e})}function Ou(e,t){return new Rs({check:`max_length`,...M(t),maximum:e})}function ku(e,t){return new zs({check:`min_length`,...M(t),minimum:e})}function Au(e,t){return new Bs({check:`length_equals`,...M(t),length:e})}function ju(e,t){return new Hs({check:`string_format`,format:`regex`,...M(t),pattern:e})}function Mu(e){return new Us({check:`string_format`,format:`lowercase`,...M(e)})}function Nu(e){return new Ws({check:`string_format`,format:`uppercase`,...M(e)})}function Pu(e,t){return new Gs({check:`string_format`,format:`includes`,...M(t),includes:e})}function Fu(e,t){return new Ks({check:`string_format`,format:`starts_with`,...M(t),prefix:e})}function Iu(e,t){return new qs({check:`string_format`,format:`ends_with`,...M(t),suffix:e})}function Lu(e){return new Js({check:`overwrite`,tx:e})}function Ru(e){return Lu(t=>t.normalize(e))}function zu(){return Lu(e=>e.trim())}function Bu(){return Lu(e=>e.toLowerCase())}function Vu(){return Lu(e=>e.toUpperCase())}function Hu(){return Lu(e=>Oa(e))}function Uu(e,t,n){return new e({type:`array`,element:t,...M(n)})}function Wu(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...M(n)})}function Gu(e,t){let n=Ku(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(ro(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,`input`in r||(r.input=t.value),r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(ro(r))}},e(t.value,t)),t);return n}function Ku(e,t){let n=new js({check:`custom`,...M(t)});return n._zod.check=e,n}function qu(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&Ta(e,t,n[t]);return e}function Ju(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??Wl,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,intersections:[],deferred:[],external:e?.external??void 0}}function Yu(e,t,n,r,i){let a=typeof t.unrepresentable==`function`?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if(a===`any`)return!1;if(a===void 0||a===`throw`)throw Error(i);return Object.assign(n,a),!0}function Xu(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,Xu(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&qu(o.schema,c),t.io===`input`&&od(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function Zu(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Qu(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);if(e.external&&e.sharedDefsExtractedFor===e.external)return;let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${Zu(a)}`}}let i=`#/${r}/`;if(t[1]===n&&!t[1].schema.id)return{ref:`#`};let a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+Zu(a)}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
57
+
58
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}e.external&&(e.sharedDefsExtractedFor=e.external)}function $u(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;$u(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}var ed=new Set([`type`,`properties`,`required`,`additionalProperties`]),td=[`oneOf`,`anyOf`];function nd(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function rd(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!ed.has(e))return null;t.push(n)}let n={},r=new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??nd(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}Ta(n,r,e.length===1?e[0]:rd(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=nd(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function id(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of ed)if(t in e)return;let n=t.filter(e=>td.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=rd(t);else{let e=n[0],i=td.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>rd([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,qu(e,r))}function ad(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):qu(i,s),qu(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())$u(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])id(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}qu(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,Ta(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:cd(t,`input`,e.processors),output:cd(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function od(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return od(r.element,n);if(r.type===`set`)return od(r.valueType,n);if(r.type===`lazy`)return od(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`||r.type===`catch`)return od(r.innerType,n);if(r.type===`intersection`)return od(r.left,n)||od(r.right,n);if(r.type===`record`||r.type===`map`)return od(r.keyType,n)||od(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:od(r.in,n)||od(r.out,n);if(r.type===`object`){for(let e in r.shape)if(od(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(od(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(od(e,n))return!0;return!!(r.rest&&od(r.rest,n))}return!1}var sd=(e,t={})=>n=>{let r=Ju({...n,processors:t});return Xu(e,r),Qu(r,e),ad(r,e)},cd=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Ju({...i??{},target:a,io:t,processors:n});return Xu(e,o),Qu(o,e),ad(o,e)},ld={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},ud=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=ld[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},dd=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;i.type=typeof s==`string`&&s.includes(`int`)?`integer`:`number`;let d=typeof u==`number`&&u>=(a??-1/0),f=typeof l==`number`&&l<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;d?p?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:typeof o==`number`&&(i.maximum=o),typeof c==`number`&&(Number.isFinite(c)&&c!==0?i.multipleOf=Math.abs(c):Yu(e,t,i,r,`A multipleOf divisor of ${c} cannot be represented in JSON Schema`))},fd=(e,t,n,r)=>{n.type=`boolean`},pd=(e,t,n,r)=>{Yu(e,t,n,r,`BigInt cannot be represented in JSON Schema`)},md=(e,t,n,r)=>{Yu(e,t,n,r,`Symbols cannot be represented in JSON Schema`)},hd=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},gd=(e,t,n,r)=>{Yu(e,t,n,r,`Undefined cannot be represented in JSON Schema`)},_d=(e,t,n,r)=>{Yu(e,t,n,r,`Void cannot be represented in JSON Schema`)},vd=(e,t,n,r)=>{n.not={}},yd=(e,t,n,r)=>{},bd=(e,t,n,r)=>{},xd=(e,t,n,r)=>{Yu(e,t,n,r,`Date cannot be represented in JSON Schema`)},Sd=(e,t,n,r)=>{let i=e._zod.def,a=va(i.entries);if(a.length===0){n.not={};return}a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Cd=(e,t,n,r)=>{let i=e._zod.def;if(i.values.length===0){n.not={};return}let a=[];for(let o of i.values)if(o===void 0){if(Yu(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(Yu(e,t,n,r,`BigInt literals cannot be represented in JSON Schema`))return;a.push(Number(o))}else a.push(o);if(a.length!==0){if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a}},wd=(e,t,n,r)=>{Yu(e,t,n,r,`NaN cannot be represented in JSON Schema`)},Td=(e,t,n,r)=>{let i=n,a=e._zod.pattern;if(!a)throw Error(`Pattern not found in template literal`);i.type=`string`,i.pattern=a.source},Ed=(e,t,n,r)=>{let i=n,a={type:`string`,format:`binary`,contentEncoding:`binary`},{minimum:o,maximum:s,mime:c}=e._zod.bag;o!==void 0&&(a.minLength=o),s!==void 0&&(a.maxLength=s),c?c.length===1?(a.contentMediaType=c[0],Object.assign(i,a)):(Object.assign(i,a),i.anyOf=c.map(e=>({contentMediaType:e}))):Object.assign(i,a)},Dd=(e,t,n,r)=>{n.type=`boolean`},Od=(e,t,n,r)=>{Yu(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},kd=(e,t,n,r)=>{Yu(e,t,n,r,`Function types cannot be represented in JSON Schema`)},Ad=(e,t,n,r)=>{Yu(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},jd=(e,t,n,r)=>{Yu(e,t,n,r,`Map cannot be represented in JSON Schema`)},Md=(e,t,n,r)=>{Yu(e,t,n,r,`Set cannot be represented in JSON Schema`)},Nd=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=Xu(a.element,t,{...r,path:[...r.path,`items`]})};function Pd(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?Pd(t.out):t.type===`catch`?Pd(t.innerType):e._zod.optin}var Fd=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&Yu(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)Ta(i.properties,e,Xu(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e];return t.io===`input`?Pd(n)===void 0:n._zod.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=Xu(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Id=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>Xu(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Ld=(e,t,n,r)=>{let i=e._zod.def,a=Xu(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=Xu(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)},P=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`array`;let o=t.target===`draft-2020-12`?`prefixItems`:`items`,s=t.target===`draft-2020-12`||t.target===`openapi-3.0`?`items`:`additionalItems`,c=a.items.map((e,n)=>Xu(e,t,{...r,path:[...r.path,o,n]})),l=a.rest?Xu(a.rest,t,{...r,path:[...r.path,s,...t.target===`openapi-3.0`?[a.items.length]:[]]}):null,u=a.items.length;for(;u>0;){let e=a.items[u-1];if(!(t.io===`input`?Pd(e)!==void 0:e._zod.optout===`optional`))break;u--}let d=a.items.length,f=!a.rest;t.target===`draft-2020-12`?(i.prefixItems=c,f?i.items=!1:l&&(i.items=l),u>0&&(i.minItems=u),f&&(i.maxItems=d)):t.target===`openapi-3.0`?(i.items={anyOf:c},l&&i.items.anyOf.push(l),u>0&&(i.minItems=u),f&&(i.maxItems=d)):(i.items=c,f?i.additionalItems=!1:l&&(i.additionalItems=l),u>0&&(i.minItems=u),f&&(i.maxItems=d));let{minimum:p,maximum:m}=e._zod.bag;typeof p==`number`&&(i.minItems=p),typeof m==`number`&&(i.maxItems=m)};function Rd(e,t,n){if(t.$ref){if(n.has(t))return t;n.add(t);let r=e.get(t)?.def;if(!r)return t;let i=Rd(e,r,n);return i===r?t:i}for(let r of[`anyOf`,`oneOf`]){let i=t[r];if(!Array.isArray(i))continue;let a=i.map(t=>Rd(e,t,n));a.some((e,t)=>e!==i[t])&&(t={...t,[r]:a})}let r=Array.isArray(t.type)?t.type:[t.type],i=!r.includes(`string`)&&r.some(e=>e===`number`||e===`integer`),a=t.enum??(t.const===void 0?void 0:[t.const]);if(!i&&!a?.some(e=>typeof e==`number`))return t;let{minimum:o,maximum:s,exclusiveMinimum:c,exclusiveMaximum:l,multipleOf:u,format:d,id:f,...p}=t;return p.enum?p.enum=p.enum.map(e=>typeof e==`number`?String(e):e):typeof p.const==`number`&&(p.const=String(p.const)),i?(p.type=`string`,a||(p.pattern=(r.includes(`number`)?Ds:Es).source),p):p}var zd=new WeakMap;function Bd(e){let t=new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let n=new Map;for(let r of zd.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=Rd(t,a,new Set);o!==a&&n.set(a,o)}if(n.size)for(let t of e.seen.values())for(let e of[t.schema,t.def]){let t=e&&n.get(e.propertyNames);t&&(e.propertyNames=t)}}var Vd=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=Xu(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)Ta(i.patternProperties,t.source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=Xu(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=zd.get(t);n||(n=[],zd.set(t,n),t.deferred.push(()=>Bd(t))),n.push(e)}i.additionalProperties=Xu(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&Pd(a.valueType)!==void 0;if(c&&!a.partial&&!l){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e.map(String))}},Hd=(e,t,n,r)=>{let i=e._zod.def,a=Xu(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Ud=(e,t,n,r)=>{let i=e._zod.def;Xu(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Wd=Symbol();function Gd(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(Yu(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),Wd):JSON.parse(o)}var Kd=(e,t,n,r)=>{let i=e._zod.def;Xu(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=Gd(i.defaultValue,e,t,n,r);o!==Wd&&(n.default=o)},qd=(e,t,n,r)=>{let i=e._zod.def;Xu(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=Gd(i.defaultValue,e,t,n,r);o!==Wd&&(n._prefault=o)},Jd=(e,t,n,r)=>{let i=e._zod.def;Xu(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{Yu(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},Yd=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;Xu(o,t,r);let s=t.seen.get(e);s.ref=o},Xd=(e,t,n,r)=>{let i=e._zod.def;Xu(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Zd=(e,t,n,r)=>{let i=e._zod.def;Xu(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Qd=(e,t,n,r)=>{let i=e._zod.def;Xu(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},$d={string:ud,number:dd,boolean:fd,bigint:pd,symbol:md,null:hd,undefined:gd,void:_d,never:vd,any:yd,unknown:bd,date:xd,enum:Sd,literal:Cd,nan:wd,template_literal:Td,file:Ed,success:Dd,custom:Od,function:kd,transform:Ad,map:jd,set:Md,array:Nd,object:Fd,union:Id,intersection:Ld,tuple:P,record:Vd,nullable:Hd,nonoptional:Ud,default:Kd,prefault:qd,catch:Jd,pipe:Yd,readonly:Xd,promise:Zd,optional:Qd,lazy:(e,t,n,r)=>{let i=e._zod.innerType;Xu(i,t,r);let a=t.seen.get(e);a.ref=i}};function ef(e,t){if(`_idmap`in e){let n=e,r=Ju({...t,processors:$d}),i={};for(let e of n._idmap.entries()){let[t,n]=e;Xu(n,r)}let a={};r.external={registry:n,uri:t?.uri,defs:i};for(let e of n._idmap.entries()){let[t,n]=e;Qu(r,n),Ta(a,t,ad(r,n))}return Object.keys(i).length>0&&(a.__shared={[r.target===`draft-2020-12`?`$defs`:`definitions`]:i}),{schemas:a}}let n=Ju({...t,processors:$d});return Xu(e,n),Qu(n,e),ad(n,e)}var tf=new WeakSet([Object.prototype,Error.prototype]);function nf(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}var rf=N(`ZodError`,(e,t)=>{Mo.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);tf.has(n)||(tf.add(n),nf(n,`format`,e=>t=>Io(e,t)),nf(n,`flatten`,e=>t=>Fo(e,t)),nf(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,ba,2)}),nf(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,ba,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),af=Ro(rf),of=zo(rf),sf=Bo(rf),cf=Ho(rf),lf=Wo(rf),uf=Go(rf),df=Ko(rf),ff=qo(rf),pf=Jo(rf),mf=Yo(rf),hf=Xo(rf),gf=Zo(rf);function _f(){Co.localeError||wo(Bl())}function vf(){Co.memoizer||wo({memoizer:Ll()})}var yf=N(`ZodType`,(e,t)=>(_f(),Zs.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(Ea(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return Ia(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(Fp(e,t))},superRefine(e,t){return this.check(Ip(e,t))},overwrite(e){return this.check(Lu(e))},optional(){return _p(this)},exactOptional(){return yp(this)},nullable(){return xp(this)},nullish(){return _p(xp(this))},nonoptional(e){return Dp(this,e)},array(){return z(this)},or(e){return np([this,e])},and(e){return op(this,e)},transform(e){return jp(this,hp(e))},default(e){return Cp(this,e)},prefault(e){return Tp(this,e)},catch(e){return kp(this,e)},pipe(e){return jp(this,e)},readonly(){return Np(this)},describe(e){let t=this.clone();return Wl.add(t,{description:e}),t},meta(...e){if(e.length===0)return Wl.get(this);let t=this.clone();return Wl.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return oo(this,`~standard`,{...$s(this),jsonSchema:{input:cd(this,`input`),output:cd(this,`output`)}})},set"~standard"(e){ao(this,`~standard`,e)},parse:function e(t,n){return af(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await of(this,t,n,{callee:e})},safeParse(e,t){return sf(this,e,t)},async safeParseAsync(e,t){return cf(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){ao(this,`spa`,e)},encode:function e(t,n){return lf(this,t,n,{callee:e})},decode:function e(t,n){return uf(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await df(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await ff(this,t,n,{callee:e})},safeEncode(e,t){return pf(this,e,t)},safeDecode(e,t){return mf(this,e,t)},async safeEncodeAsync(e,t){return hf(this,e,t)},async safeDecodeAsync(e,t){return gf(this,e,t)},toJSONSchema(e){return sd(this,{})(e)},get description(){return Wl.get(this)?.description},get _def(){return this._zod.def}}),bf=N(`_ZodString`,(e,t)=>{ec.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ud(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null},{regex(...e){return this.check(ju(...e))},includes(...e){return this.check(Pu(...e))},startsWith(...e){return this.check(Fu(...e))},endsWith(...e){return this.check(Iu(...e))},min(...e){return this.check(ku(...e))},max(...e){return this.check(Ou(...e))},length(...e){return this.check(Au(...e))},nonempty(...e){return this.check(ku(1,...e))},lowercase(e){return this.check(Mu(e))},uppercase(e){return this.check(Nu(e))},trim(){return this.check(zu())},normalize(...e){return this.check(Ru(...e))},toLowerCase(){return this.check(Bu())},toUpperCase(){return this.check(Vu())},slugify(){return this.check(Hu())}}),xf=N(`ZodString`,(e,t)=>{ec.init(e,t),bf.init(e,t)},{email(e){return this.check(Kl(Df,e))},url(e){return this.check(Ql(Af,e))},jwt(e){return this.check(pu(Gf,e))},emoji(e){return this.check($l(jf,e))},guid(e){return this.check(ql(Of,e))},uuid(e){return this.check(Jl(kf,e))},uuidv4(e){return this.check(Yl(kf,e))},uuidv6(e){return this.check(Xl(kf,e))},uuidv7(e){return this.check(Zl(kf,e))},nanoid(e){return this.check(eu(Mf,e))},cuid(e){return this.check(tu(Nf,e))},cuid2(e){return this.check(nu(Pf,e))},ulid(e){return this.check(ru(Ff,e))},base64(e){return this.check(uu(Hf,e))},base64url(e){return this.check(du(Uf,e))},xid(e){return this.check(iu(If,e))},ksuid(e){return this.check(au(Lf,e))},ipv4(e){return this.check(ou(Rf,e))},ipv6(e){return this.check(su(zf,e))},cidrv4(e){return this.check(cu(Bf,e))},cidrv6(e){return this.check(lu(Vf,e))},e164(e){return this.check(fu(Wf,e))},datetime(e){return this.check(mu(Cf,e))},date(e){return this.check(hu(wf,e))},time(e){return this.check(gu(Tf,e))},duration(e){return this.check(_u(Ef,e))}});function F(e){return Gl(xf,e)}var Sf=N(`ZodStringFormat`,(e,t)=>{tc.init(e,t),bf.init(e,t)}),Cf=N(`ZodISODateTime`,(e,t)=>{vc.init(e,t),Sf.init(e,t)}),wf=N(`ZodISODate`,(e,t)=>{yc.init(e,t),Sf.init(e,t)}),Tf=N(`ZodISOTime`,(e,t)=>{bc.init(e,t),Sf.init(e,t)}),Ef=N(`ZodISODuration`,(e,t)=>{xc.init(e,t),Sf.init(e,t)}),Df=N(`ZodEmail`,(e,t)=>{ic.init(e,t),Sf.init(e,t)}),Of=N(`ZodGUID`,(e,t)=>{nc.init(e,t),Sf.init(e,t)}),kf=N(`ZodUUID`,(e,t)=>{rc.init(e,t),Sf.init(e,t)}),Af=N(`ZodURL`,(e,t)=>{uc.init(e,t),Sf.init(e,t)}),jf=N(`ZodEmoji`,(e,t)=>{dc.init(e,t),Sf.init(e,t)}),Mf=N(`ZodNanoID`,(e,t)=>{fc.init(e,t),Sf.init(e,t)}),Nf=N(`ZodCUID`,(e,t)=>{pc.init(e,t),Sf.init(e,t)}),Pf=N(`ZodCUID2`,(e,t)=>{mc.init(e,t),Sf.init(e,t)}),Ff=N(`ZodULID`,(e,t)=>{hc.init(e,t),Sf.init(e,t)}),If=N(`ZodXID`,(e,t)=>{gc.init(e,t),Sf.init(e,t)}),Lf=N(`ZodKSUID`,(e,t)=>{_c.init(e,t),Sf.init(e,t)}),Rf=N(`ZodIPv4`,(e,t)=>{Sc.init(e,t),Sf.init(e,t)}),zf=N(`ZodIPv6`,(e,t)=>{Tc.init(e,t),Sf.init(e,t)}),Bf=N(`ZodCIDRv4`,(e,t)=>{Ec.init(e,t),Sf.init(e,t)}),Vf=N(`ZodCIDRv6`,(e,t)=>{Oc.init(e,t),Sf.init(e,t)}),Hf=N(`ZodBase64`,(e,t)=>{Ac.init(e,t),Sf.init(e,t)}),Uf=N(`ZodBase64URL`,(e,t)=>{Mc.init(e,t),Sf.init(e,t)}),Wf=N(`ZodE164`,(e,t)=>{Nc.init(e,t),Sf.init(e,t)}),Gf=N(`ZodJWT`,(e,t)=>{Fc.init(e,t),Sf.init(e,t)}),Kf=N(`ZodNumber`,(e,t)=>{Ic.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>dd(e,t,n,r);let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null},{gt(e,t){return this.check(Tu(e,t))},gte(e,t){return this.check(Eu(e,t))},min(e,t){return this.check(Eu(e,t))},lt(e,t){return this.check(Cu(e,t))},lte(e,t){return this.check(wu(e,t))},max(e,t){return this.check(wu(e,t))},int(e){return this.check(L(e))},safe(e){return this.check(L(e))},positive(e){return this.check(Tu(0,e))},nonnegative(e){return this.check(Eu(0,e))},negative(e){return this.check(Cu(0,e))},nonpositive(e){return this.check(wu(0,e))},multipleOf(e,t){return this.check(Du(e,t))},step(e,t){return this.check(Du(e,t))},finite(){return this}});function I(e){return vu(Kf,e)}var qf=N(`ZodNumberFormat`,(e,t)=>{Lc.init(e,t),Kf.init(e,t)});function L(e){return yu(qf,e)}var Jf=N(`ZodBoolean`,(e,t)=>{Rc.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fd(e,t,n,r)});function R(e){return bu(Jf,e)}var Yf=N(`ZodUnknown`,(e,t)=>{zc.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Xf(){return xu(Yf)}var Zf=N(`ZodNever`,(e,t)=>{Bc.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vd(e,t,n,r)});function Qf(e){return Su(Zf,e)}var $f=N(`ZodArray`,(e,t)=>{vf(),Hc.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Nd(e,t,n,r),e.element=t.element},{min(e,t){return this.check(ku(e,t))},nonempty(e){return this.check(ku(1,e))},max(e,t){return this.check(Ou(e,t))},length(e,t){return this.check(Au(e,t))},unwrap(){return this.element}});function z(e,t){return Uu($f,e,t)}var ep=N(`ZodObject`,(e,t)=>{vf(),Yc.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fd(e,t,n,r),mo(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return H(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:Xf()})},loose(){return this.clone({...this._zod.def,catchall:Xf()})},strict(){return this.clone({...this._zod.def,catchall:Qf()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return Ha(this,e)},safeExtend(e){return Ua(this,e)},merge(e){return Wa(this,e)},pick(e){return Ba(this,e)},omit(e){return Va(this,e)},partial(...e){return Ga(gp,this,e[0])},exactPartial(...e){return Ga(vp,this,e[0],`exactPartial`)},required(...e){return Ka(Ep,this,e[0])}});function B(e,t){return new ep({type:`object`,shape:e??{},...M(t)})}function V(e,t){return new ep({type:`object`,shape:e,catchall:Qf(),...M(t)})}var tp=N(`ZodUnion`,(e,t)=>{Zc.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Id(e,t,n,r),e.options=t.options});function np(e,t){return new tp({type:`union`,options:e,...M(t)})}var rp=N(`ZodDiscriminatedUnion`,(e,t)=>{tp.init(e,t),Qc.init(e,t)});function ip(e,t,n){return new rp({type:`union`,options:t,discriminator:e,...M(n)})}var ap=N(`ZodIntersection`,(e,t)=>{$c.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ld(e,t,n,r)});function op(e,t){return new ap({type:`intersection`,left:e,right:t})}var sp=N(`ZodTuple`,(e,t)=>{vf(),nl.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>P(e,t,n,r)},{rest(e){return this.clone({...this._zod.def,rest:e})},partial(){let e=this._zod.def;if(e.checks?.length)throw Error(`.partial() cannot be used on tuple schemas containing refinements`);return this.clone({...e,items:e.items.map(e=>new gp({type:`optional`,innerType:e}))})}});function cp(e,t,n){let r=t instanceof Zs;return new sp({type:`tuple`,items:e,rest:r?t:null,...M(r?n:t)})}var lp=N(`ZodRecord`,(e,t)=>{vf(),ol.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vd(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function up(e,t,n){return!t||!t._zod?new lp({type:`record`,keyType:F(),valueType:e,...M(t)}):new lp({type:`record`,keyType:e,valueType:t,...M(n)})}var dp=N(`ZodEnum`,(e,t)=>{sl.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Sd(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new dp({...t,checks:[],...M(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new dp({...t,checks:[],...M(r),entries:i})}});function H(e,t){return new dp({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...M(t)})}var fp=N(`ZodLiteral`,(e,t)=>{cl.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cd(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function pp(e,t){return new fp({type:`literal`,values:Array.isArray(e)?e:[e],...M(t)})}var mp=N(`ZodTransform`,(e,t)=>{vf(),ll.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ad(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new So(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(ro(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(ro(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function hp(e){return new mp({type:`transform`,transform:e})}var gp=N(`ZodOptional`,(e,t)=>{dl.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qd(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function _p(e){return new gp({type:`optional`,innerType:e})}var vp=N(`ZodExactOptional`,(e,t)=>{fl.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qd(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function yp(e){return new vp({type:`optional`,innerType:e})}var bp=N(`ZodNullable`,(e,t)=>{pl.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hd(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function xp(e){return new bp({type:`nullable`,innerType:e})}var Sp=N(`ZodDefault`,(e,t)=>{ml.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Kd(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Cp(e,t){return new Sp({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Na(t)}})}var wp=N(`ZodPrefault`,(e,t)=>{gl.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qd(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Tp(e,t){return new wp({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Na(t)}})}var Ep=N(`ZodNonOptional`,(e,t)=>{_l.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ud(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Dp(e,t){return new Ep({type:`nonoptional`,innerType:e,...M(t)})}var Op=N(`ZodCatch`,(e,t)=>{bl.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Jd(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function kp(e,t){return new Op({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:go(t)})}var Ap=N(`ZodPipe`,(e,t)=>{xl.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Yd(e,t,n,r),e.in=t.in,e.out=t.out});function jp(e,t){return new Ap({type:`pipe`,in:e,out:t})}var Mp=N(`ZodReadonly`,(e,t)=>{Cl.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xd(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Np(e){return new Mp({type:`readonly`,innerType:e})}var Pp=N(`ZodCustom`,(e,t)=>{Tl.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Od(e,t,n,r)});function Fp(e,t={}){return Wu(Pp,e,t)}function Ip(e,t){return Gu(e,t)}var Lp=B({key:F(),key_id:F(),org:F(),label:F().nullish(),env:H([`production`,`sandbox`]),scopes:z(F()),subject:F().nullish(),name:F().nullish()}),Rp=`console`;async function zp(e,t){return Up(e,{code:t,device:Rp})}async function Bp(e,t){return Up(e,{...t,device:Rp})}async function Vp(e,t){return Lp.parse(await oa(e,`/v1/login/env`,{env:t}))}async function Hp(e,t,n){return Wp(e,`/v1/invitations/${encodeURIComponent(t)}`,{password:n,device:Rp})}async function Up(e,t){return Wp(e,`/v1/login`,t)}async function Wp(e,t,n){let r=await fetch(new URL(`${e.replace(/\/$/,``)}${t}`,window.location.origin),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(n)});return Lp.parse(await da(r))}var Gp=(0,O.createContext)(null);function Kp({value:e,children:t}){return(0,j.jsx)(Gp,{value:e,children:t})}function qp(){let e=(0,O.useContext)(Gp);if(e===null)throw Error(`the console was mounted without a way out`);return e}var Jp=[`production`,`sandbox`],Yp=`pinecall.key`,Xp=`pinecall.world`;function Zp(e){return window.sessionStorage.getItem(`${Yp}.${e}`)}function Qp(e,t){window.sessionStorage.setItem(`${Yp}.${e}`,t)}function $p(e){window.sessionStorage.removeItem(`${Yp}.${e}`)}function em(){for(let e of Jp)$p(e)}function tm(){return window.sessionStorage.getItem(Xp)===`sandbox`?`sandbox`:`production`}function nm(e){window.sessionStorage.setItem(Xp,e)}var rm=B({org:F(),slug:F().nullish(),key_id:F(),label:F().nullish(),env:H([`production`,`sandbox`]),scopes:z(F()),subject:F().nullish(),name:F().nullish()}),im=(0,O.createContext)(null);function am({children:e}){let t=_a(),[n,r]=(0,O.useState)(null);return(0,O.useEffect)(()=>{let e=!1;return r(null),ia(t,`/v1/whoami`).then(t=>{e||r(rm.parse(t))},()=>void 0),()=>{e=!0}},[t]),(0,j.jsx)(im,{value:n,children:e})}function om(){return(0,O.useContext)(im)}function sm(e){return e.slug??e.org}function cm(){return om()?.scopes??null}var lm=(0,O.createContext)(null);function um({value:e,children:t}){return(0,j.jsx)(lm,{value:e,children:t})}function dm(){let e=(0,O.useContext)(lm);if(e===null)throw Error(`the console was mounted without a world`);return e}var fm=[`everything`,`mine`,`the team's`];function pm(e,t){let n=e.holder?.holder;return n!=null&&n!==t}function mm(e,t,n){if(t===`everything`)return e;let r=t===`the team's`;return e.filter(e=>pm(e,n)===r)}function hm(e,t){let n=new Map;for(let r of e){let e=n.get(r.slug);(e===void 0||pm(e,t)&&!pm(r,t))&&n.set(r.slug,r)}return[...n.values()]}function gm(e){let t=e.holder;return t==null?`the org's`:t.name??t.holder??`the org's`}function _m(e){return e?.subject??null}var vm=V({seq:L(),ts:I(),call:F().nullable(),agent:F(),type:F(),ephemeral:R(),data:up(F(),Xf())});V({type:F(),agent:F(),call:F().nullable(),id:F().nullish(),data:up(F(),Xf())});var ym=H([`phone`,`web`,`whatsapp`]),bm=H([`inbound`,`outbound`]),xm=H([`production`,`sandbox`]),Sm=H([`chat.roster`,`chat.start`,`chat.say`,`chat.end`,`simulate.roster`,`simulate.start`,`goldens.roster`,`goldens.run`,`knowledge.roster`,`knowledge.push`,`knowledge.eval`,`memory.roster`,`memory.eval`,`memory.extraction`,`promote.roster`,`promote.write`,`drift.read`,`reproductions.roster`,`reproductions.read`]),Cm=H([`caller_hung_up`,`agent_hung_up`,`supervisor_ended`,`transferred`,`no_answer`,`busy`,`dial_failed`,`timeout`,`drained`,`app_detached`,`error`]),wm=H([`caller`,`agent`,`supervisor`,`platform`]),Tm=H([`held`,`broken`,`deferred`,`skipped`]),Em=H([`cold`,`warm`]),Dm=H([`static`,`dynamic`]),Om=H([`retrieved`,`tool`]),km=H([`recall`,`search`]),Am=V({name:F().regex(/^[a-z][a-z0-9_]*$/),region:Dm}),jm=H([`listening`,`speaking`,`away`]),Mm=H([`initializing`,`idle`,`listening`,`thinking`,`speaking`]),Nm=H([`caller`,`agent`,`supervisor`,`listener`,`sip`]),Pm=H([`audio`,`video`,`screen`]),Fm=H([`microphone`,`camera`,`screen_share`,`screen_share_audio`,`unknown`]),Im=H([`app`,`participant`]),Lm=H([`public`,`tenant`,`pii`]);H([`public`,`tenant`]);var Rm=V({id:F().nullish(),phone:F().nullish(),name:F().nullish(),email:F().nullish(),external_id:F().nullish()}),zm=V({channel:ym,number:F().nullable(),label:F().nullish()}),Bm=V({id:F(),name:F().nullish()}),Vm=V({name:F(),description:F(),parameters:up(F(),Xf()),side_effect:H([`read`,`write`,`irreversible`]).nullish(),confirm:F().nullish(),pii:z(F()).nullish(),timeout_s:I().nullish()}),Hm=V({call_id:F(),name:F(),output:Xf().nullish(),error:F().nullish(),summary:F().nullish(),duration_s:I().nullish()}),Um=V({id:F().nullish(),text:F(),category:F().nullish(),score:I().nullish(),source:F().nullish()}),Wm=V({op:H([`recall`,`remember`,`forget`]),contact:F().nullish(),query:F().nullish(),facts:z(Um),took_ms:I()}),Gm=V({id:F(),path:F(),heading:F().nullish(),score:I(),excerpt:F().nullish()}),Km=V({currency:pp(`EUR`),usd_to_eur:I(),as_of:F()}),qm=V({provider:F(),model:F(),unit:H([`input_tokens`,`cached_input_tokens`,`cache_creation_tokens`,`output_tokens`,`characters`,`audio_seconds`,`requests`,`session_seconds`]),quantity:I(),unit_price_usd:I(),eur:I()}),Jm=V({provider:F(),model:F()}),Ym=V({eur:I(),rate:Km,rows:z(qm),unpriced:z(Jm)}),Xm=V({name:F().nullish(),provider:F().nullish(),model:F().nullish(),voice_id:F().nullish()}),Zm=V({provider:F(),model:F(),temperature:I().nullish()}),Qm=V({min_interruption_words:L().nullish(),endpointing_ms:L().nullish()}),$m=V({word:F(),spoken:F()}),eh=V({name:F(),visibility:Lm}),th=V({name:F(),from:z(Im)}),nh=V({path:F(),text:F()}),rh=V({base:F(),mode:Om.nullish(),k:L().nullish(),min_score:I().nullish()}),ih=V({say:F().nullish(),reply:F().nullish(),allow_interruptions:R().nullish()}),ah=V({when:F().nullish()}),oh=V({remember:z(F()).nullish(),forget:z(F()).nullish()}),sh=V({prompt:z(Am).nullish(),language:F().nullish(),greeting:ih.nullish(),voice:Xm.nullish(),llm:Zm.nullish(),stt:Zm.nullish(),turn:Qm.nullish(),says:z($m).nullish(),hears:z(F()).nullish(),knowledge:nh.nullish(),docs:rh.nullish(),memory:oh.nullish(),hangup:ah.nullish(),tools:z(Vm).nullish(),state_fields:z(eh).nullish(),events:z(th).nullish()}),ch=ip(`verb`,[V({verb:pp(`say`),text:F()}),V({verb:pp(`whisper`),text:F()}),V({verb:pp(`takeover`)}),V({verb:pp(`release`)}),V({verb:pp(`transfer`),to:F(),mode:Em}),V({verb:pp(`end`),reason:F().nullish()})]);V({config:sh}),V({routes:z(zm),sdk:F().nullish(),takes_unclaimed:R().nullish()}),V({instructions:F(),allow_interruptions:R().nullish()}),V({text:F(),allow_interruptions:R().nullish()}),V({to:F(),from:F().nullish(),caller:Rm.nullish(),metadata:up(F(),Xf()).nullish()}),V({digits:F()}),V({name:F(),data:up(F(),Xf())}),V({reason:F().nullish()}),V({}),V({name:F(),data:up(F(),Xf())}),V({}),V({to:F(),mode:Em}),V({}),V({});var lh=V({status:L(),detail:F()});V({id:F(),result:up(F(),Xf()).nullish(),refused:lh.nullish()}),V({identity:F()}),V({identity:F()}),V({}),V({name:F(),text:F()}),V({to:F(),kind:H([`sip`,`participant`])}),V({topic:F(),data:up(F(),Xf()),to:F().nullish()}),V({state:up(F(),Xf()).nullish(),config:sh.nullish()}),V({state:up(F(),Xf()),changed:z(F()).nullish()}),V({by:Bm,verb:ch}),V({tools:z(Vm)});var uh=V({model_name:F().nullable().nullish(),model_provider:F().nullable().nullish()}),dh=V({type:pp(`llm_metrics`),label:F(),request_id:F(),timestamp:I(),duration:I(),ttft:I(),cancelled:R(),completion_tokens:L(),prompt_tokens:L(),prompt_cached_tokens:L(),cache_creation_tokens:L().nullish(),reasoning_tokens:L().nullish(),total_tokens:L(),tokens_per_second:I(),speech_id:F().nullable().nullish(),metadata:uh.nullable().nullish()}),fh=V({type:pp(`stt_metrics`),label:F(),request_id:F(),timestamp:I(),duration:I(),audio_duration:I(),input_tokens:L().nullish(),output_tokens:L().nullish(),streamed:R(),acquire_time:I().nullish(),connection_reused:R().nullish(),metadata:uh.nullable().nullish()}),ph=V({type:pp(`tts_metrics`),label:F(),request_id:F(),timestamp:I(),ttfb:I(),duration:I(),audio_duration:I(),cancelled:R(),characters_count:L(),input_tokens:L().nullish(),output_tokens:L().nullish(),streamed:R(),acquire_time:I().nullish(),connection_reused:R().nullish(),segment_id:F().nullable().nullish(),speech_id:F().nullable().nullish(),metadata:uh.nullable().nullish()}),mh=V({type:pp(`vad_metrics`),label:F(),timestamp:I(),idle_time:I(),inference_duration_total:I(),inference_count:L(),metadata:uh.nullable().nullish()}),hh=V({type:pp(`eou_metrics`),timestamp:I(),end_of_utterance_delay:I(),transcription_delay:I(),on_user_turn_completed_delay:I(),speech_id:F().nullable().nullish(),metadata:uh.nullable().nullish()}),gh=V({type:pp(`eot_inference_metrics`),timestamp:I(),total_duration:I(),detection_delay:I(),prediction_duration:I(),num_requests:L().nullish(),metadata:uh.nullable().nullish()}),_h=V({type:pp(`interruption_metrics`),timestamp:I(),total_duration:I(),prediction_duration:I(),detection_delay:I(),num_interruptions:L(),num_backchannels:L(),num_requests:L(),metadata:uh.nullable().nullish()}),vh=V({audio_tokens:L().nullish(),text_tokens:L().nullish(),image_tokens:L().nullish()}),yh=V({audio_tokens:L().nullish(),text_tokens:L().nullish(),image_tokens:L().nullish(),cached_tokens:L().nullish(),cached_tokens_details:vh.nullable().nullish()}),bh=V({text_tokens:L().nullish(),audio_tokens:L().nullish(),image_tokens:L().nullish()}),xh=V({type:pp(`realtime_model_metrics`),label:F().nullish(),request_id:F(),timestamp:I(),duration:I().nullish(),session_duration:I().nullish(),ttft:I().nullish(),cancelled:R().nullish(),input_tokens:L().nullish(),output_tokens:L().nullish(),total_tokens:L().nullish(),tokens_per_second:I().nullish(),input_token_details:yh,output_token_details:bh,acquire_time:I().nullish(),connection_reused:R().nullish(),metadata:uh.nullable().nullish()}),Sh=V({type:pp(`avatar_metrics`),timestamp:I(),playback_latency:I().nullish(),session_started_time:I().nullable().nullish(),avatar_joined_time:I().nullable().nullish(),metadata:uh.nullable().nullish()}),Ch=V({model_name:F().nullish(),model_provider:F().nullish()}),wh=V({started_speaking_at:I().nullish(),stopped_speaking_at:I().nullish(),transcription_delay:I().nullish(),end_of_turn_delay:I().nullish(),on_user_turn_completed_delay:I().nullish(),stt_metadata:Ch.nullish()}),Th=V({started_speaking_at:I().nullish(),stopped_speaking_at:I().nullish(),llm_node_ttft:I().nullish(),llm_node_tps:I().nullish(),llm_node_ttfs:I().nullish(),tts_node_ttfb:I().nullish(),playback_latency:I().nullish(),e2e_latency:I().nullish(),provider_request_ids:z(F()).nullish(),llm_metadata:Ch.nullish(),tts_metadata:Ch.nullish()}),Eh=ip(`type`,[V({type:pp(`llm_usage`),provider:F(),model:F(),input_tokens:L().nullish(),input_cached_tokens:L().nullish(),input_cache_creation_tokens:L().nullish(),input_audio_tokens:L().nullish(),input_cached_audio_tokens:L().nullish(),input_text_tokens:L().nullish(),input_cached_text_tokens:L().nullish(),input_image_tokens:L().nullish(),input_cached_image_tokens:L().nullish(),output_tokens:L().nullish(),output_audio_tokens:L().nullish(),output_text_tokens:L().nullish(),output_reasoning_tokens:L().nullish(),session_duration:I().nullish()}),V({type:pp(`tts_usage`),provider:F(),model:F(),input_tokens:L().nullish(),output_tokens:L().nullish(),characters_count:L().nullish(),audio_duration:I().nullish()}),V({type:pp(`stt_usage`),provider:F(),model:F(),input_tokens:L().nullish(),output_tokens:L().nullish(),audio_duration:I().nullish()}),V({type:pp(`interruption_usage`),provider:F(),model:F(),total_requests:L().nullish()}),V({type:pp(`eot_usage`),provider:F(),model:F(),total_requests:L().nullish()})]),Dh=H([`idle`,`ringing`,`dialing`,`active`,`ended`]),Oh=ip(`role`,[V({role:pp(`user`),speech_id:F(),item_id:F().nullish(),text:F(),language:F().nullish(),transcript_confidence:I().nullish(),metrics:wh}),V({role:pp(`agent`),speech_id:F(),item_id:F().nullish(),text:F(),interrupted:R(),metrics:Th})]),kh=V({llm:z(dh),stt:z(fh),tts:z(ph),vad:z(mh),eou:z(hh),eot:z(gh),interruption:z(_h),realtime:z(xh),avatar:z(Sh)}),Ah=V({call_id:F(),name:F(),arguments:up(F(),Xf()),speech_id:F().nullish(),status:H([`running`,`done`,`failed`]),output:Xf().nullish(),error:F().nullish(),summary:F().nullish(),duration_s:I().nullish(),seq:L()}),jh=V({hash:F(),chars:L(),seq:L()}),Mh=up(F(),jh),Nh=V({tool:F(),call_id:F(),audience:F(),phrase:F(),status:H([`pending`,`granted`,`declined`]),said:F().nullish(),reason:F().nullish()}),Ph=V({active:R(),by:Bm.nullable()}),Fh=V({to:F(),mode:Em,status:H([`requested`,`done`,`failed`]),by:H([`agent`,`supervisor`])}),Ih=V({user:F().nullable(),agent:F().nullable()}),Lh=V({from_seq:L(),to_seq:L()}),Rh=V({seq:L(),code:F(),message:F()}),zh=V({identity:F(),kind:Nm,name:F().nullish(),joined_at:I(),speaking:R(),attributes:up(F(),Xf())}),Bh=V({name:F(),sid:F(),participants:z(zh),caller:F().nullable()}),Vh=V({seq:L(),name:F(),source:Im,identity:F().nullish()}),Hh=V({seq:L(),name:F(),data:up(F(),Xf())}),Uh=V({seq:L(),agent:F(),call:F().nullable(),status:Dh,channel:ym.nullable(),direction:bm.nullable(),from:F().nullable(),to:F().nullable(),caller:Rm.nullable(),room:Bh.nullable(),started_at:I().nullable(),ended_at:I().nullable(),end_reason:Cm.nullable(),outcome:F().nullable(),user_state:jm.nullable(),agent_state:Mm.nullable(),live:Ih,turns:z(Oh),metrics:kh,tools:z(Ah),app_state:up(F(),Xf()),events:z(Vh),prompt:Mh,tools_visible:z(F()),confirms:z(Nh),memory:z(Wm),sources:z(Gm),handoff:Ph,held:R(),muted:R(),transfer:Fh.nullable(),usage:z(Eh),cost:Ym.nullable(),routes:z(zm),gaps:z(Lh),errors:z(Rh),custom:z(Hh)}),Wh=V({changed:z(F())}),Gh=V({app:F(),env:xm,left:R()}),Kh=V({routes:z(zm),app:F(),sdk:F().nullish(),env:xm.nullish()}),qh=V({state:Mm}),Jh=V({speech_id:F(),text:F(),final:R(),start:I().nullish(),end:I().nullish()}),Yh=V({channel:ym,from:F(),to:F(),run:F().nullable().nullish(),caller:Rm.nullable(),external_id:F().nullish()}),Xh=V({reason:Cm,ended_by:wm,ended_at:I(),duration_s:I()}),Zh=V({held:R(),muted:R()}),Qh=V({channel:ym,from:F(),to:F(),route:zm,run:F().nullable().nullish(),caller:Rm.nullable(),external_id:F().nullish()}),$h=V({seqs:z(L()),said:F().nullish()}),eg=V({name:F(),verdict:Tm,criteria:F(),reason:F(),evidence:$h}),tg=V({passed:R().nullish(),not_judged:F().nullish(),judges:z(eg),panel:z(F()).nullish(),judge_calls:L(),judge_cost_eur:I().nullish()}),ng=V({channel:ym,direction:bm,from:F(),to:F(),run:F().nullable().nullish(),caller:Rm.nullable(),started_at:I(),env:xm.nullish()}),rg=V({reason:Cm,outcome:F(),duration_s:I(),turns:L(),usage:z(Eh),cost:Ym,recording:F().nullish()}),ig=V({to:F(),mode:Em,ok:R(),error:F().nullish()}),ag=V({channel:ym,number:F(),via:H([`overflow`,`widget`]),call:F().nullable(),contact:Rm.nullable()}),og=V({tool:F(),call_id:F(),audience:F(),said:F().nullish(),reason:H([`no`,`timeout`,`changed`,`cancelled`])}),sg=V({tool:F(),call_id:F(),audience:F(),said:F(),ttl_s:L()}),cg=V({tool:F(),call_id:F(),arguments:up(F(),Xf()),audience:F(),phrase:F(),ttl_s:L()}),lg=V({org:F(),quota:H([`minutes`,`messages`,`agents`,`concurrent_calls`,`memory_facts`,`knowledge_chunks`,`numbers`,`seats`]),used:I(),limit:L()}),ug=V({name:F(),data:up(F(),Xf())}),dg=V({id:F(),verb:Sm,data:up(F(),Xf())}),fg=V({query:F(),sources:z(Gm),took_ms:I(),speech_id:F().nullish()}),pg=V({code:F(),message:F(),command:F().nullish(),id:F().nullish(),recoverable:R()}),mg=V({channel:ym,workers:L(),active:L()}),hg=V({seq:L()}),gg=V({from_seq:L(),to_seq:L(),snapshot:Uh.nullable()}),_g=V({ops:z(Wm),speech_id:F().nullish()}),vg=V({ts:I()}),yg=V({name:F(),hash:F(),chars:L()}),bg=ip(`kind`,[V({kind:pp(`tool`),tool:F(),call_id:F()}),V({kind:pp(`event`),name:F(),seq:L()})]),xg=V({state:up(F(),Xf()),changed:z(F()),cause:bg.nullish()}),Sg=V({by:Bm,reason:F().nullish()}),Cg=V({by:Bm}),wg=V({by:Bm,text:F()}),Tg=V({by:Bm}),Eg=V({by:Bm,to:F(),mode:Em}),Dg=V({by:Bm,text:F()}),Og=V({call_id:F(),name:F(),arguments:up(F(),Xf()),speech_id:F().nullish()}),kg=V({visible:z(F())}),Ag=V({speech_id:F(),item_id:F().nullish(),text:F(),interrupted:R(),metrics:Th}),jg=V({speech_id:F(),item_id:F().nullish(),text:F(),language:F().nullish(),transcript_confidence:I().nullish(),metrics:wh}),Mg=V({state:jm}),Ng=V({text:F(),final:R(),language:F().nullish(),confidence:I().nullish()}),Pg=V({name:F(),sid:F(),channel:ym}),Fg=V({identity:F(),kind:Nm,name:F().nullish(),attributes:up(F(),Xf())}),Ig=V({identity:F(),reason:F()}),Lg=V({identity:F(),speaking:R()}),Rg=V({identity:F(),kind:Pm,source:Fm}),zg=V({identity:F(),kind:Pm,source:Fm}),Bg={"agent.configured":Wh,"agent.detached":Gh,"agent.registered":Kh,"agent.state":qh,"agent.transcript":Jh,"call.dialing":Yh,"call.ended":Xh,"call.line":Zh,"call.ringing":Qh,"call.score":tg,"call.started":ng,"call.summary":rg,"call.transferred":ig,"callback.requested":ag,"confirm.declined":og,"confirm.granted":sg,"confirm.request":cg,"credits.exhausted":lg,custom:ug,"dev.request":dg,"docs.sources":fg,error:pg,"event.received":V({name:F(),data:up(F(),Xf()),source:Im,identity:F().nullish()}),"fleet.full":mg,"log.caught_up":hg,"log.gap":gg,"memory.ops":_g,"metrics.avatar":Sh,"metrics.eot":gh,"metrics.eou":hh,"metrics.interruption":_h,"metrics.llm":dh,"metrics.realtime":xh,"metrics.stt":fh,"metrics.tts":ph,"metrics.vad":mh,"participant.joined":Fg,"participant.left":Ig,"participant.speaking":Lg,pong:vg,"prompt.changed":yg,"room.opened":Pg,"room.sent":V({topic:F(),to:F().nullish(),bytes:L()}),"state.changed":xg,"supervisor.ended":Sg,"supervisor.released":Cg,"supervisor.said":wg,"supervisor.took_over":Tg,"supervisor.transferred":Eg,"supervisor.whispered":Dg,"tool.call":Og,"tool.result":Hm,"tools.changed":kg,"track.published":Rg,"track.unpublished":zg,"turn.agent":Ag,"turn.user":jg,"user.state":Mg,"user.transcript":Ng},Vg=`call.score`,Hg=class extends Error{name=`ProtocolError`};function Ug(e){return vm.parse(e)}function Wg(e){if(!Gg(e.type))throw new Hg(`unknown event type: ${e.type}`);let t=Bg[e.type].parse(e.data);return{type:e.type,data:t}}function Gg(e){return Object.hasOwn(Bg,e)}V({state:Uh,last_seq:L(),live:R()});var Kg=V({entries:z(vm),live:R(),next:L().nullable()}),qg=V({calls:z(V({call:F(),agent:F(),live:R(),last_seq:L(),status:Dh,channel:ym.nullable(),direction:bm.nullable(),from:F().nullable(),to:F().nullable(),caller:Rm.nullable(),started_at:I().nullable(),ended_at:I().nullable(),end_reason:Cm.nullable(),outcome:F().nullable(),cost:Ym.nullable()}))}),Jg=V({holder:F().nullable(),name:F().nullable()}),Yg=V({agents:z(V({slug:F(),channels:z(ym),holder:Jg.nullish()}))});V({agent:F(),env:xm,held:R(),holding:Jg.nullish(),yours:R(),waiting:z(Jg),calling:z(F())}),V({files:z(nh)}),V({questions:z(V({asks:F(),expects:F()})),k:L().nullish()});var Xg=V({asks:F(),expects:F(),found:z(F())}),Zg=V({base:F(),model:F(),questions:L(),k:L(),recall_at_k:I(),ndcg_at_10:I(),took_ms:I(),misses:z(Xg)}),Qg=V({base:F(),chunks:L(),took_ms:I()}),$g=V({bases:z(V({base:F(),chunks:L(),model:F(),pushed_at:I()}))}),e_=V({facts:z(V({id:F().nullish(),text:F(),category:F().nullish(),source:F().nullish(),valid_from:I(),invalidated_at:I().nullable()}))}),t_=V({forgotten:L()});V({questions:z(V({holds:z(F()),asks:F(),expects:z(F())})),k:L().nullish()});var n_=V({asks:F(),missing:z(F()),found:z(F())}),r_=V({model:F(),questions:L(),k:L(),recall_at_k:I(),ndcg_at_10:I(),took_ms:I(),misses:z(n_)}),i_=V({writes:z(F()).nullish(),never:z(F()).nullish(),never_says:z(F()).nullish(),invalidates:z(F()).nullish()});V({cases:z(V({name:F(),said:z(cp([F(),F()])),holds:z(F()).nullish(),plants:z(F()).nullish(),channel:ym.nullish(),expect:i_.nullish()}))});var a_=V({check:F(),detail:F()}),o_=V({name:F(),held:R(),wrote:z(F()).nullish(),refused:z(F()).nullish(),broke:z(a_).nullish()}),s_=V({agent:F(),model:F(),cases:L(),held:L(),took_ms:I(),results:z(o_)});V({tool:km,input:up(F(),Xf()),speech_id:F().nullish()}),V({output:up(F(),Xf()),took_ms:I()}),V({ops:L(),took_ms:I()});var c_={acquire_time:`s`,audio_duration:`s`,audio_tokens:`tokens`,avatar_joined_time:`unix s`,cache_creation_tokens:`tokens`,cached_tokens:`tokens`,cached_tokens_details:`object`,cancelled:`flag`,characters_count:`chars`,completion_tokens:`tokens`,connection_reused:`flag`,detection_delay:`s`,duration:`s`,e2e_latency:`s`,end_of_turn_delay:`s`,end_of_utterance_delay:`s`,idle_time:`s`,image_tokens:`tokens`,inference_count:`count`,inference_duration_total:`s`,input_audio_tokens:`tokens`,input_cache_creation_tokens:`tokens`,input_cached_audio_tokens:`tokens`,input_cached_image_tokens:`tokens`,input_cached_text_tokens:`tokens`,input_cached_tokens:`tokens`,input_image_tokens:`tokens`,input_text_tokens:`tokens`,input_token_details:`object`,input_tokens:`tokens`,label:`name`,llm_metadata:`object`,llm_node_tps:`tokens/s`,llm_node_ttfs:`s`,llm_node_ttft:`s`,metadata:`object`,model:`name`,model_name:`name`,model_provider:`name`,num_backchannels:`count`,num_interruptions:`count`,num_requests:`count`,on_user_turn_completed_delay:`s`,output_audio_tokens:`tokens`,output_reasoning_tokens:`tokens`,output_text_tokens:`tokens`,output_token_details:`object`,output_tokens:`tokens`,playback_latency:`s`,prediction_duration:`s`,prompt_cached_tokens:`tokens`,prompt_tokens:`tokens`,provider:`name`,provider_request_ids:`ids`,reasoning_tokens:`tokens`,request_id:`id`,segment_id:`id`,session_duration:`s`,session_started_time:`unix s`,speech_id:`id`,started_speaking_at:`unix s`,stopped_speaking_at:`unix s`,streamed:`flag`,stt_metadata:`object`,text_tokens:`tokens`,timestamp:`unix s`,tokens_per_second:`tokens/s`,total_duration:`s`,total_requests:`count`,total_tokens:`tokens`,transcription_delay:`s`,ttfb:`s`,ttft:`s`,tts_metadata:`object`,tts_node_ttfb:`s`,type:`tag`};function l_(e){let t=u_();for(let n of e)t=p_(t,n);return t}function u_(){return{seq:0,agent:``,call:null,status:`idle`,channel:null,direction:null,from:null,to:null,caller:null,room:null,started_at:null,ended_at:null,end_reason:null,outcome:null,user_state:null,agent_state:null,live:{user:null,agent:null},turns:[],metrics:{llm:[],stt:[],tts:[],vad:[],eou:[],eot:[],interruption:[],realtime:[],avatar:[]},tools:[],app_state:{},events:[],prompt:{},tools_visible:[],confirms:[],memory:[],sources:[],handoff:{active:!1,by:null},held:!1,muted:!1,transfer:null,usage:[],cost:null,routes:[],gaps:[],errors:[],custom:[]}}var d_=`unreadable`;function f_(e,t,n){let r=n instanceof Error?n.message:String(n);return e.errors.push({seq:t.seq,code:d_,message:`${t.type} at seq ${t.seq} is not the shape this reader knows: ${r.split(`
59
+ `)[0]?.trim()??r}`}),e}function p_(e,t){let n;try{n=Wg(t)}catch(n){let r=f_(e,t,n);return r.seq=t.seq,r.agent=t.agent,t.call!==null&&(r.call=t.call),r}let r=e;return n.type===`log.gap`?r=x_(e,n):m_(e,t,n),r.seq=t.seq,r.agent=t.agent,t.call!==null&&(r.call=t.call),r}function m_(e,t,n){switch(n.type){case`call.ringing`:e.status=`ringing`,e.direction=`inbound`,h_(e,n.data);return;case`call.dialing`:e.status=`dialing`,e.direction=`outbound`,h_(e,n.data);return;case`call.started`:e.status=`active`,e.direction=n.data.direction,e.started_at=n.data.started_at,h_(e,n.data);return;case`call.ended`:e.status=`ended`,e.ended_at=n.data.ended_at,e.end_reason=n.data.reason,e.live={user:null,agent:null};return;case`call.transferred`:e.transfer={to:n.data.to,mode:n.data.mode,status:n.data.ok?`done`:`failed`,by:e.transfer?.by??`agent`};return;case`call.line`:e.held=n.data.held,e.muted=n.data.muted;return;case`call.summary`:e.usage=[...n.data.usage],e.cost=n.data.cost,e.outcome=n.data.outcome,e.end_reason??=n.data.reason;return;case`user.state`:e.user_state=n.data.state;return;case`agent.state`:e.agent_state=n.data.state;return;case`user.transcript`:e.live.user=n.data.final?null:n.data.text;return;case`agent.transcript`:e.live.agent=n.data.final?null:n.data.text;return;case`turn.user`:e.turns.push({role:`user`,...n.data}),e.live.user=null;return;case`turn.agent`:e.turns.push({role:`agent`,...n.data}),e.live.agent=null;return;case`memory.ops`:e.memory.push(...n.data.ops);return;case`docs.sources`:e.sources=[...n.data.sources];return;case`metrics.llm`:e.metrics.llm.push(n.data);return;case`metrics.stt`:e.metrics.stt.push(n.data);return;case`metrics.tts`:e.metrics.tts.push(n.data);return;case`metrics.vad`:e.metrics.vad.push(n.data);return;case`metrics.eou`:e.metrics.eou.push(n.data);return;case`metrics.eot`:e.metrics.eot.push(n.data);return;case`metrics.interruption`:e.metrics.interruption.push(n.data);return;case`metrics.realtime`:e.metrics.realtime.push(n.data);return;case`metrics.avatar`:e.metrics.avatar.push(n.data);return;case`tool.call`:e.tools.push({...n.data,status:`running`,seq:t.seq});return;case`tool.result`:g_(e,n.data);return;case`state.changed`:e.app_state={...n.data.state};return;case`prompt.changed`:e.prompt[n.data.name]={hash:n.data.hash,chars:n.data.chars,seq:t.seq};return;case`tools.changed`:e.tools_visible=[...n.data.visible];return;case`confirm.request`:e.confirms.push({tool:n.data.tool,call_id:n.data.call_id,audience:n.data.audience,phrase:n.data.phrase,status:`pending`});return;case`confirm.granted`:__(e,n.data.call_id,{status:`granted`,said:n.data.said});return;case`confirm.declined`:__(e,n.data.call_id,{status:`declined`,reason:n.data.reason,...n.data.said===void 0?{}:{said:n.data.said}});return;case`supervisor.took_over`:e.handoff={active:!0,by:n.data.by};return;case`supervisor.released`:e.handoff={active:!1,by:null};return;case`supervisor.transferred`:e.transfer={to:n.data.to,mode:n.data.mode,status:`requested`,by:`supervisor`};return;case`agent.registered`:e.routes=[...n.data.routes];return;case`error`:e.errors.push({seq:t.seq,code:n.data.code,message:n.data.message});return;case`custom`:e.custom.push({seq:t.seq,name:n.data.name,data:{...n.data.data}});return;case`room.opened`:e.room={name:n.data.name,sid:n.data.sid,participants:[],caller:null};return;case`participant.joined`:v_(e,t,n.data);return;case`participant.left`:y_(e,n.data.identity);return;case`participant.speaking`:{let t=b_(e,n.data.identity);t!==void 0&&(t.speaking=n.data.speaking);return}case`event.received`:{let{data:r,...i}=n.data;e.events.push({...i,seq:t.seq});return}case`track.published`:case`track.unpublished`:case`room.sent`:case`supervisor.said`:case`supervisor.whispered`:case`supervisor.ended`:case`agent.configured`:case`pong`:case`log.caught_up`:case`log.gap`:return}}function h_(e,t){e.channel=t.channel,e.from=t.from,e.to=t.to,e.caller=t.caller}function g_(e,t){let n=S_(e.tools,e=>e.call_id===t.call_id);if(n===-1)return;let{call_id:r,name:i,...a}=t,o=e.tools[n];e.tools[n]={...o,...a,status:a.error===void 0?`done`:`failed`}}function __(e,t,n){let r=S_(e.confirms,e=>e.call_id===t);if(r===-1)return;let i=e.confirms[r];e.confirms[r]={...i,...n}}function v_(e,t,n){e.room!==null&&(e.room.participants.push({...n,joined_at:t.ts,speaking:!1}),n.kind===`caller`&&(e.room.caller=n.identity))}function y_(e,t){if(e.room===null)return;let n=e.room.participants.findIndex(e=>e.identity===t);n!==-1&&e.room.participants.splice(n,1),e.room.caller===t&&(e.room.caller=null)}function b_(e,t){return e.room?.participants.find(e=>e.identity===t)}function x_(e,t){let n=t.data.snapshot===null?e:structuredClone(t.data.snapshot);return n.gaps.push({from_seq:t.data.from_seq,to_seq:t.data.to_seq}),n}function S_(e,t){for(let n=e.length-1;n>=0;--n)if(t(e[n]))return n;return-1}function C_(e=0){let t=_a(),[n,r]=(0,O.useState)([]),[i,a]=(0,O.useState)(null),[o,s]=(0,O.useState)(!1);return(0,O.useEffect)(()=>{let e=!1;return(async()=>{try{let n=Yg.parse(await ia(t,`/v1/agents`));e||(r(n.agents),a(null))}catch(t){e||a(String(t))}finally{e||s(!0)}})(),()=>{e=!0}},[t,e]),{agents:n,error:i,loaded:o}}function w_(){let e=window.matchMedia(`(prefers-color-scheme: light)`),t=()=>{document.documentElement.dataset.theme=e.matches?`light`:`dark`};t(),e.addEventListener(`change`,t)}function T_(){return document.documentElement.dataset.theme===`light`?`light`:`dark`}function E_(){let e=T_()===`dark`?`light`:`dark`;return document.documentElement.dataset.theme=e,e}function D_({head:e,rail:t,children:n}){return(0,j.jsxs)(`div`,{className:`shell`,children:[(0,j.jsx)(`header`,{className:`shell-head`,children:e}),(0,j.jsxs)(`div`,{className:`shell-body`,children:[(0,j.jsx)(`nav`,{className:`shell-rail`,"aria-label":`Screens`,children:t}),(0,j.jsx)(`main`,{className:`shell-screen`,children:n})]})]})}function O_({kind:e}){return(0,j.jsxs)(`div`,{className:`brand`,children:[(0,j.jsx)(`img`,{className:`brand-mark`,src:`/logo-mark.png`,alt:``}),(0,j.jsxs)(`span`,{className:`brand-name fixed`,children:[`pinecall `,(0,j.jsx)(`span`,{className:`brand-sep`,children:`/`}),` `,(0,j.jsx)(`span`,{className:`brand-kind`,children:e})]})]})}function k_({crumbs:e}){return(0,j.jsx)(`nav`,{className:`head-crumbs fixed`,"aria-label":`Where you are`,children:e.map((t,n)=>(0,j.jsxs)(O.Fragment,{children:[n>0&&(0,j.jsx)(`span`,{className:`head-sep`,children:`/`}),n===e.length-1?(0,j.jsx)(`b`,{children:t}):(0,j.jsx)(`span`,{children:t})]},`${n}-${t}`))})}function A_(){let[e,t]=(0,O.useState)(()=>T_()),n=e===`dark`?`light`:`dark`;return(0,j.jsxs)(`button`,{type:`button`,className:`theme-toggle fixed`,onClick:()=>t(E_()),"aria-label":`Switch to ${n} theme`,title:n,children:[(0,j.jsx)(`span`,{className:`theme-dot`,"aria-hidden":!0}),e]})}function j_({label:e,children:t}){return(0,j.jsxs)(`div`,{className:`rail-group`,children:[(0,j.jsx)(`p`,{className:`rail-label fixed`,children:e}),(0,j.jsx)(`div`,{className:`rail-links`,children:t})]})}function M_({to:e,name:t,hint:n=``,end:r=!1}){return(0,j.jsxs)(Hi,{to:e,end:r,className:P_,children:[(0,j.jsx)(`span`,{children:t}),n!==``&&(0,j.jsx)(`span`,{className:`rail-hint fixed`,children:n})]})}function N_({children:e}){return(0,j.jsx)(`p`,{className:`nothing`,children:e})}function P_({isActive:e}){return e?`rail-link rail-link-here`:`rail-link`}function F_(){let{agents:e,error:t}=C_(),n=_m(om()),[r,i]=(0,O.useState)(`everything`),a=e.some(e=>pm(e,n)),o=a?mm(e,r,n):e;return(0,j.jsxs)(`section`,{className:`agents`,children:[(0,j.jsx)(`h1`,{className:`agents-title`,children:`Agents`}),(0,j.jsx)(`p`,{className:`agents-lede`,children:`Which agents this gateway is holding right now. Read once — the list changes when a socket connects.`}),a&&(0,j.jsx)(I_,{corners:r,onPick:i}),t!==null&&(0,j.jsx)(N_,{children:t}),t===null&&o.length===0&&(0,j.jsx)(N_,{children:r===`everything`?(0,j.jsxs)(j.Fragment,{children:[`No app is holding an agent on this gateway right now — run`,` `,(0,j.jsx)(`span`,{className:`fixed`,children:`pinecall run`}),` in the app’s directory.`]}):(0,j.jsxs)(j.Fragment,{children:[`Nothing here is `,r,`.`]})}),o.length>0&&(0,j.jsxs)(`div`,{className:`agents-table`,children:[(0,j.jsxs)(`div`,{className:`agents-head fixed`,children:[(0,j.jsx)(`span`,{children:`AGENT`}),a&&(0,j.jsx)(`span`,{children:`WHOSE`}),(0,j.jsx)(`span`,{children:`CHANNELS`})]}),o.map(e=>(0,j.jsxs)(Vi,{className:`agents-one`,to:`/a/${e.slug}/calls`,children:[(0,j.jsx)(`span`,{className:`fixed`,children:e.slug}),a&&(0,j.jsx)(`span`,{className:`fixed agents-whose`,children:gm(e)}),(0,j.jsx)(`span`,{className:`fixed agents-channels`,children:e.channels.join(` · `)})]},`${e.slug}/${e.holder?.holder??``}`))]})]})}function I_({corners:e,onPick:t}){return(0,j.jsx)(`div`,{className:`agents-corners fixed`,role:`group`,"aria-label":`whose corners`,children:fm.map(n=>(0,j.jsx)(`button`,{type:`button`,className:n===e?`agents-corner agents-corner-here`:`agents-corner`,onClick:()=>t(n),"aria-pressed":n===e,children:n},n))})}var L_=3e3;function R_(e){let t=_a(),[n,r]=(0,O.useState)([]),[i,a]=(0,O.useState)(null);return(0,O.useEffect)(()=>{let n=!1,i=async()=>{try{let i=qg.parse(await ia(t,`/v1/agents/${e}/sessions`));n||(r(i.calls),a(null))}catch(e){n||a(String(e))}};i();let o=window.setInterval(()=>void i(),L_);return()=>{n=!0,window.clearInterval(o)}},[e,t]),{lines:n,error:i}}function z_(e){return e.status!==`ended`}function B_(e){return[...e.filter(z_),...e.filter(e=>!z_(e))]}var V_=B({state_fields:up(F(),H([`public`,`tenant`,`pii`])).default({})});function H_(e){let t=_a(),[n,r]=(0,O.useState)({});return(0,O.useEffect)(()=>{let n=!1;if(e!==``)return(async()=>{try{let i=V_.parse(await ia(t,`/v1/agents/${e}/config`));n||r(i.state_fields)}catch{n||r({})}})(),()=>{n=!0}},[e,t]),n}function U_(e){let t=e?.recording;return typeof t==`string`&&t!==``?t:null}function W_({call:e,path:t}){return t===null?null:(0,j.jsxs)(`section`,{className:`section`,children:[(0,j.jsx)(`h2`,{className:`section-title`,children:`Listen to this call`}),(0,j.jsx)(G_,{call:e}),(0,j.jsxs)(`p`,{className:`note`,children:[t,` on the box that took the call — the same bytes `,(0,j.jsxs)(`span`,{className:`fixed`,children:[`pinecall-runtime sessions recording `,e]}),` `,`points at. Nothing of a call leaves the box except through this door.`]})]})}function G_({call:e}){let t=_a(),[n,r]=(0,O.useState)(null),[i,a]=(0,O.useState)(null);return(0,O.useEffect)(()=>{let n=null,i=!1;return(async()=>{try{let a=await fetch(ca(t,`/v1/calls/${e}/recording`),{headers:ta(t)});if(!a.ok)throw Error(await K_(a));n=URL.createObjectURL(await a.blob()),i?URL.revokeObjectURL(n):r(n)}catch(e){i||a(e instanceof Error?e.message:String(e))}})(),()=>{i=!0,n!==null&&URL.revokeObjectURL(n)}},[e,t]),i===null?n===null?(0,j.jsx)(`p`,{className:`note`,children:`reading the recording…`}):(0,j.jsx)(`audio`,{className:`player`,controls:!0,preload:`none`,src:n}):(0,j.jsx)(`p`,{className:`note`,children:i})}async function K_(e){try{let t=(await e.json()).detail;if(typeof t==`string`)return t}catch{}return`the recording answered ${e.status}`}function q_(e){let t=new Map;for(let n of e)!t.has(n)&&Gg(n)&&t.set(n,ef(Bg[n],{io:`input`}));return t}function J_(e,t){return e==null?`null`:typeof e==`boolean`?e?`true`:`false`:typeof e==`string`?JSON.stringify(e):typeof e==`number`?Q_(e,t):Array.isArray(e)?`[${e.map(e=>J_(e,t?.items)).join(`,`)}]`:X_(e,t)}function Y_(e,t){return typeof e==`string`?e:J_(e,t)}function X_(e,t){let n=Z_(e,t)?.properties;return`{${Object.entries(e).map(([e,t])=>`${JSON.stringify(e)}:${J_(t,n?.[e])}`).join(`,`)}}`}function Z_(e,t){return t?.oneOf===void 0?t:t.oneOf.find(t=>Object.entries(t.properties??{}).every(([t,n])=>n.const===void 0||n.const===e[t]))}function Q_(e,t){if(t?.type!==`number`||!Number.isFinite(e))return String(e);let n=Math.abs(e);return e!==0&&(n<1e-4||n>=0x2386f26fc10000)?$_(e):Number.isInteger(e)?`${e}.0`:String(e)}function $_(e){let[t=``,n=``]=e.toExponential().split(`e`);return`${t}e${n.startsWith(`-`)?`-`:`+`}${n.replace(/^[+-]/,``).padStart(2,`0`)}`}var ev=[`transcription_delay`,`end_of_turn_delay`],tv=[`llm_node_ttft`,`tts_node_ttfb`,`e2e_latency`],nv=[...ev,...tv];function rv(e){return pv(e).map(([e,t])=>({field:e,value:ov(t),unit:null}))}function iv(e,t){return sv(e,``,t)}function av(){let e=ef(kh,{io:`input`}),t=new Map;for(let[n,r]of Object.entries(e.properties??{}))r.items!==void 0&&t.set(n,r.items);return t}function ov(e){return e<0?`—`:e<1?`${Math.round(e*1e3)} ms`:`${e.toFixed(2)} s`}function sv(e,t,n){let r=[];for(let[i,a]of Object.entries(e)){let e=t+i,o=n?.properties?.[i];a!=null&&(typeof a==`object`&&!Array.isArray(a)?r.push(...sv(a,`${e}.`,o)):r.push({field:e,value:Y_(a,o),unit:cv(i)}))}return r}function cv(e){return c_[e]??null}function lv(e,t){let n=av(),r=[];for(let[i,a]of Object.entries(e))for(let e of a)fv(e,t)&&r.push({kind:i,readings:iv(e,n.get(i))});return r}var uv=[`turn.user`,`turn.agent`];function dv(e){let t=mv(e);return nv.filter(e=>(t.get(e)??[]).length>0).map(e=>{let n=t.get(e)??[];return{name:e,seconds:hv(n),max:Math.max(...n),turns:n.length}})}function fv(e,t){return`speech_id`in e&&e.speech_id===t}function pv(e){let t=e.role===`user`?ev:tv,n=e.metrics,r=[];for(let e of t){let t=n[e];typeof t==`number`&&r.push([e,t])}return r}function mv(e){let t=new Map(nv.map(e=>[e,[]]));for(let n of e){if(!uv.includes(n.type))continue;let e=n.data.metrics;for(let n of nv){let r=e?.[n];typeof r==`number`&&t.get(n)?.push(r)}}return t}function hv(e){let t=[...e].sort((e,t)=>e-t),n=Math.floor(t.length/2),r=t[n]??0;return t.length%2==1?r:((t[n-1]??0)+r)/2}function gv({rows:e}){return(0,j.jsx)(`dl`,{className:`readings`,children:e.map(e=>(0,j.jsxs)(`div`,{className:`reading`,children:[(0,j.jsx)(`dt`,{className:`reading-field fixed`,children:e.field}),(0,j.jsxs)(`dd`,{className:`reading-value fixed`,children:[e.value,e.unit!==null&&(0,j.jsxs)(`span`,{className:`reading-unit`,children:[` `,e.unit]})]})]},e.field))})}function _v({metrics:e,entries:t}){let n=dv(t),r=Math.max(...n.map(e=>e.seconds),0),i=av();return(0,j.jsxs)(`section`,{className:`live-panel`,children:[(0,j.jsx)(`h3`,{className:`live-panel-name`,children:`METRICS`}),n.length===0?(0,j.jsx)(`p`,{className:`live-panel-empty`,children:`Nothing measured yet: the first turn fills this in.`}):n.map(e=>(0,j.jsxs)(`div`,{className:`live-meter fixed`,children:[(0,j.jsx)(`span`,{className:`live-meter-name`,title:`${String(e.turns)} turns`,children:e.name}),(0,j.jsx)(`span`,{className:`live-meter-track`,children:(0,j.jsx)(`span`,{className:`live-meter-bar`,style:{width:`${String(r===0?0:e.seconds/r*100)}%`}})}),(0,j.jsx)(`span`,{className:`live-meter-value`,children:ov(e.seconds)})]},e.name)),Object.entries(e).map(([e,t])=>(0,j.jsx)(vv,{kind:e,blocks:t,shape:i.get(e)},e))]})}function vv({kind:e,blocks:t,shape:n}){return t.length===0?null:(0,j.jsxs)(`details`,{className:`live-panel-blocks`,children:[(0,j.jsxs)(`summary`,{className:`live-panel-blocks-summary fixed`,children:[`metrics.`,e,` · `,t.length]}),t.map((t,r)=>(0,j.jsx)(gv,{rows:iv(t,n)},`${e}-${String(r)}`))]})}function yv({prompt:e}){return(0,j.jsx)(`dl`,{className:`readings`,children:Object.entries(e).map(([e,t])=>(0,j.jsxs)(`div`,{className:`reading`,children:[(0,j.jsx)(`dt`,{className:`reading-field fixed`,children:e}),(0,j.jsxs)(`dd`,{className:`reading-value fixed`,children:[t.hash,` · `,t.chars,` chars · seq `,t.seq]})]},e))})}function bv({prompt:e}){return(0,j.jsxs)(`section`,{className:`live-panel`,children:[(0,j.jsx)(`h3`,{className:`live-panel-name`,children:`PROMPT`}),Object.keys(e).length===0?(0,j.jsx)(`p`,{className:`live-panel-empty`,children:`The app has written no block yet.`}):(0,j.jsx)(yv,{prompt:e})]})}function xv({room:e,from:t}){return(0,j.jsxs)(`section`,{className:`live-panel`,children:[(0,j.jsx)(`h3`,{className:`live-panel-name`,children:`ROOM`}),e===null?(0,j.jsx)(`p`,{className:`live-panel-empty`,children:`No room: this session carries no media.`}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`p`,{className:`live-panel-line`,children:[e.name,(0,j.jsx)(`br`,{}),e.sid,t!==null&&(0,j.jsxs)(j.Fragment,{children:[` · rang from `,t]})]}),(0,j.jsx)(`ul`,{className:`participants`,children:e.participants.map(e=>(0,j.jsx)(`li`,{className:`participant`,children:(0,j.jsxs)(`details`,{children:[(0,j.jsxs)(`summary`,{className:`participant-line`,children:[(0,j.jsx)(`span`,{className:e.speaking?`participant-dot participant-speaking`:`participant-dot participant-quiet`}),(0,j.jsx)(`span`,{children:e.name??e.identity}),(0,j.jsx)(`span`,{className:`participant-kind fixed`,children:e.kind})]}),(0,j.jsx)(`pre`,{className:`log-data fixed`,children:JSON.stringify(e.attributes,null,2)})]})},e.identity))})]})]})}var Sv=`***`,Cv=`tenant`;function wv({fields:e,declared:t}){let n=Object.keys(e).sort();return(0,j.jsxs)(`section`,{className:`live-panel`,children:[(0,j.jsx)(`h3`,{className:`live-panel-name`,children:`STATE`}),n.length===0?(0,j.jsx)(`p`,{className:`live-panel-empty`,children:`The app has declared no state yet.`}):null,(0,j.jsx)(`dl`,{className:`state-fields`,children:n.map(n=>{let r=Tv(e[n],t[n]);return(0,j.jsxs)(`div`,{className:`state-field`,children:[(0,j.jsx)(`dt`,{className:`state-field-name fixed`,children:n}),(0,j.jsxs)(`dd`,{className:`state-field-value fixed`,children:[Ev(e[n]),` `,(0,j.jsx)(`span`,{className:r===`pii`?`seen-by seen-by-pii`:`seen-by`,children:r})]})]},n)})})]})}function Tv(e,t){return e===Sv?`pii`:t===`public`?`public`:Cv}function Ev(e){return typeof e==`string`?e:JSON.stringify(e)}function Dv(e,t){return t.forEach(function(t){t&&typeof t!=`string`&&!Array.isArray(t)&&Object.keys(t).forEach(function(n){if(n!=="default"&&!(n in e)){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})}})}),Object.freeze(e)}var Ov=Object.defineProperty,kv=(e,t,n)=>t in e?Ov(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Av=(e,t,n)=>kv(e,typeof t==`symbol`?t:t+``,n),jv=class{constructor(){Av(this,`_locking`),Av(this,`_locks`),this._locking=Promise.resolve(),this._locks=0}isLocked(){return this._locks>0}lock(){this._locks+=1;let e,t=new Promise(t=>e=()=>{--this._locks,t()}),n=this._locking.then(()=>e);return this._locking=this._locking.then(()=>t),n}};function Mv(e,t){if(!e)throw Error(t)}var Nv=34028234663852886e22,Pv=-34028234663852886e22,Fv=4294967295,Iv=2147483647,Lv=-2147483648;function Rv(e){if(typeof e!=`number`)throw Error(`invalid int 32: `+typeof e);if(!Number.isInteger(e)||e>Iv||e<Lv)throw Error(`invalid int 32: `+e)}function zv(e){if(typeof e!=`number`)throw Error(`invalid uint 32: `+typeof e);if(!Number.isInteger(e)||e>Fv||e<0)throw Error(`invalid uint 32: `+e)}function Bv(e){if(typeof e!=`number`)throw Error(`invalid float 32: `+typeof e);if(Number.isFinite(e)&&(e>Nv||e<Pv))throw Error(`invalid float 32: `+e)}var Vv=Symbol(`@bufbuild/protobuf/enum-type`);function Hv(e){let t=e[Vv];return Mv(t,`missing enum type on enum object`),t}function Uv(e,t,n,r){e[Vv]=Wv(t,n.map(t=>({no:t.no,name:t.name,localName:e[t.no]})))}function Wv(e,t,n){let r=Object.create(null),i=Object.create(null),a=[];for(let e of t){let t=Kv(e);a.push(t),r[e.name]=t,i[e.no]=t}return{typeName:e,values:a,findName(e){return r[e]},findNumber(e){return i[e]}}}function Gv(e,t,n){let r={};for(let e of t){let t=Kv(e);r[t.localName]=t.no,r[t.no]=t.localName}return Uv(r,e,t),r}function Kv(e){return`localName`in e?e:Object.assign(Object.assign({},e),{localName:e.name})}var qv=class{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,t){let n=this.getType().runtime.bin,r=n.makeReadOptions(t);return n.readMessage(this,r.readerFactory(e),e.byteLength,r),this}fromJson(e,t){let n=this.getType(),r=n.runtime.json,i=r.makeReadOptions(t);return r.readMessage(n,e,i,this),this}fromJsonString(e,t){let n;try{n=JSON.parse(e)}catch(e){throw Error(`cannot decode ${this.getType().typeName} from JSON: ${e instanceof Error?e.message:String(e)}`)}return this.fromJson(n,t)}toBinary(e){let t=this.getType().runtime.bin,n=t.makeWriteOptions(e),r=n.writerFactory();return t.writeMessage(this,r,n),r.finish()}toJson(e){let t=this.getType().runtime.json,n=t.makeWriteOptions(e);return t.writeMessage(this,n)}toJsonString(e){let t=this.toJson(e);return JSON.stringify(t,null,e?.prettySpaces??0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function Jv(e,t,n,r){let i=r?.localName??t.substring(t.lastIndexOf(`.`)+1),a={[i]:function(t){e.util.initFields(this),e.util.initPartial(t,this)}}[i];return Object.setPrototypeOf(a.prototype,new qv),Object.assign(a,{runtime:e,typeName:t,fields:e.util.newFieldList(n),fromBinary(e,t){return new a().fromBinary(e,t)},fromJson(e,t){return new a().fromJson(e,t)},fromJsonString(e,t){return new a().fromJsonString(e,t)},equals(t,n){return e.util.equals(a,t,n)}}),a}function Yv(){let e=0,t=0;for(let n=0;n<28;n+=7){let r=this.buf[this.pos++];if(e|=(r&127)<<n,!(r&128))return this.assertBounds(),[e,t]}let n=this.buf[this.pos++];if(e|=(n&15)<<28,t=(n&112)>>4,!(n&128))return this.assertBounds(),[e,t];for(let n=3;n<=31;n+=7){let r=this.buf[this.pos++];if(t|=(r&127)<<n,!(r&128))return this.assertBounds(),[e,t]}throw Error(`invalid varint`)}function Xv(e,t,n){for(let r=0;r<28;r+=7){let i=e>>>r,a=!(!(i>>>7)&&t==0),o=(a?i|128:i)&255;if(n.push(o),!a)return}let r=e>>>28&15|(t&7)<<4,i=!!(t>>3);if(n.push((i?r|128:r)&255),i){for(let e=3;e<31;e+=7){let r=t>>>e,i=!!(r>>>7),a=(i?r|128:r)&255;if(n.push(a),!i)return}n.push(t>>>31&1)}}var Zv=4294967296;function Qv(e){let t=e[0]===`-`;t&&(e=e.slice(1));let n=1e6,r=0,i=0;function a(t,a){let o=Number(e.slice(t,a));i*=n,r=r*n+o,r>=Zv&&(i+=r/Zv|0,r%=Zv)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),t?ry(r,i):ny(r,i)}function $v(e,t){let n=ny(e,t),r=n.hi&2147483648;r&&(n=ry(n.lo,n.hi));let i=ey(n.lo,n.hi);return r?`-`+i:i}function ey(e,t){var n=ty(e,t);if(e=n.lo,t=n.hi,t<=2097151)return String(Zv*t+e);let r=e&16777215,i=(e>>>24|t<<8)&16777215,a=t>>16&65535,o=r+i*6777216+a*6710656,s=i+a*8147497,c=a*2,l=1e7;return o>=l&&(s+=Math.floor(o/l),o%=l),s>=l&&(c+=Math.floor(s/l),s%=l),c.toString()+iy(s)+iy(o)}function ty(e,t){return{lo:e>>>0,hi:t>>>0}}function ny(e,t){return{lo:e|0,hi:t|0}}function ry(e,t){return t=~t,e?e=~e+1:t+=1,ny(e,t)}var iy=e=>{let t=String(e);return`0000000`.slice(t.length)+t};function ay(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e>>>=7;t.push(e)}else{for(let n=0;n<9;n++)t.push(e&127|128),e>>=7;t.push(1)}}function oy(){let e=this.buf[this.pos++],t=e&127;if(!(e&128)||(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<21,!(e&128)))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let t=5;e&128&&t<10;t++)e=this.buf[this.pos++];if(e&128)throw Error(`invalid varint`);return this.assertBounds(),t>>>0}function sy(){let e=new DataView(new ArrayBuffer(8));if(typeof BigInt==`function`&&typeof e.getBigInt64==`function`&&typeof e.getBigUint64==`function`&&typeof e.setBigInt64==`function`&&typeof e.setBigUint64==`function`&&(typeof process!=`object`||{}.BUF_BIGINT_DISABLE!==`1`)){let t=BigInt(`-9223372036854775808`),n=BigInt(`9223372036854775807`),r=BigInt(`0`),i=BigInt(`18446744073709551615`);return{zero:BigInt(0),supported:!0,parse(e){let r=typeof e==`bigint`?e:BigInt(e);if(r>n||r<t)throw Error(`int64 invalid: ${e}`);return r},uParse(e){let t=typeof e==`bigint`?e:BigInt(e);if(t>i||t<r)throw Error(`uint64 invalid: ${e}`);return t},enc(t){return e.setBigInt64(0,this.parse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(t){return e.setBigInt64(0,this.uParse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec(t,n){return e.setInt32(0,t,!0),e.setInt32(4,n,!0),e.getBigInt64(0,!0)},uDec(t,n){return e.setInt32(0,t,!0),e.setInt32(4,n,!0),e.getBigUint64(0,!0)}}}let t=e=>Mv(/^-?[0-9]+$/.test(e),`int64 invalid: ${e}`),n=e=>Mv(/^[0-9]+$/.test(e),`uint64 invalid: ${e}`);return{zero:`0`,supported:!1,parse(e){return typeof e!=`string`&&(e=e.toString()),t(e),e},uParse(e){return typeof e!=`string`&&(e=e.toString()),n(e),e},enc(e){return typeof e!=`string`&&(e=e.toString()),t(e),Qv(e)},uEnc(e){return typeof e!=`string`&&(e=e.toString()),n(e),Qv(e)},dec(e,t){return $v(e,t)},uDec(e,t){return ey(e,t)}}}var cy=sy(),U;(function(e){e[e.DOUBLE=1]=`DOUBLE`,e[e.FLOAT=2]=`FLOAT`,e[e.INT64=3]=`INT64`,e[e.UINT64=4]=`UINT64`,e[e.INT32=5]=`INT32`,e[e.FIXED64=6]=`FIXED64`,e[e.FIXED32=7]=`FIXED32`,e[e.BOOL=8]=`BOOL`,e[e.STRING=9]=`STRING`,e[e.BYTES=12]=`BYTES`,e[e.UINT32=13]=`UINT32`,e[e.SFIXED32=15]=`SFIXED32`,e[e.SFIXED64=16]=`SFIXED64`,e[e.SINT32=17]=`SINT32`,e[e.SINT64=18]=`SINT64`})(U||={});var ly;(function(e){e[e.BIGINT=0]=`BIGINT`,e[e.STRING=1]=`STRING`})(ly||={});function uy(e,t,n){if(t===n)return!0;if(e==U.BYTES){if(!(t instanceof Uint8Array)||!(n instanceof Uint8Array)||t.length!==n.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==n[e])return!1;return!0}switch(e){case U.UINT64:case U.FIXED64:case U.INT64:case U.SFIXED64:case U.SINT64:return t==n}return!1}function dy(e,t){switch(e){case U.BOOL:return!1;case U.UINT64:case U.FIXED64:case U.INT64:case U.SFIXED64:case U.SINT64:return t==0?cy.zero:`0`;case U.DOUBLE:case U.FLOAT:return 0;case U.BYTES:return new Uint8Array;case U.STRING:return``;default:return 0}}function fy(e,t){switch(e){case U.BOOL:return t===!1;case U.STRING:return t===``;case U.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return t==0}}function py(e,t){this.v=e,this.k=t}function my(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function hy(e){if(Array.isArray(e))return e}function W(e,t,n){return(t=Ty(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gy(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function _y(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function vy(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
60
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function by(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?yy(Object(n),!0).forEach(function(t){W(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yy(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function xy(e,t){if(e==null)return{};var n,r,i=Sy(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Sy(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function G(e,t){return hy(e)||_y(e,t)||Ey(e,t)||vy()}function Cy(e){return hy(e)||gy(e)||Ey(e)||vy()}function wy(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Ty(e){var t=wy(e,`string`);return typeof t==`symbol`?t:t+``}function Ey(e,t){if(e){if(typeof e==`string`)return my(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?my(e,t):void 0}}function Dy(e){return function(){return new Oy(e.apply(this,arguments))}}function Oy(e){var t,n;function r(t,n){try{var a=e[t](n),o=a.value,s=o instanceof py;Promise.resolve(s?o.v:o).then(function(n){if(s){var c=t===`return`&&o.k?t:`next`;if(!o.k||n.done)return r(c,n);n=e[c](n).value}i(!!a.done,n)},function(e){r(`throw`,e)})}catch(e){i(2,e)}}function i(e,i){e===2?t.reject(i):t.resolve({value:i,done:e}),(t=t.next)?r(t.key,t.arg):n=null}this._invoke=function(e,i){return new Promise(function(a,o){var s={key:e,arg:i,resolve:a,reject:o,next:null};n?n=n.next=s:(t=n=s,r(e,i))})},typeof e.return!=`function`&&(this.return=void 0)}Oy.prototype[typeof Symbol==`function`&&Symbol.asyncIterator||`@@asyncIterator`]=function(){return this},Oy.prototype.next=function(e){return this._invoke(`next`,e)},Oy.prototype.throw=function(e){return this._invoke(`throw`,e)},Oy.prototype.return=function(e){return this._invoke(`return`,e)};var ky;(function(e){e[e.Varint=0]=`Varint`,e[e.Bit64=1]=`Bit64`,e[e.LengthDelimited=2]=`LengthDelimited`,e[e.StartGroup=3]=`StartGroup`,e[e.EndGroup=4]=`EndGroup`,e[e.Bit32=5]=`Bit32`})(ky||={});var Ay=class{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let t=0;t<this.chunks.length;t++)e+=this.chunks[t].length;let t=new Uint8Array(e),n=0;for(let e=0;e<this.chunks.length;e++)t.set(this.chunks[e],n),n+=this.chunks[e].length;return this.chunks=[],t}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),t=this.stack.pop();if(!t)throw Error(`invalid state, fork stack empty`);return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(zv(e);e>127;)this.buf.push(e&127|128),e>>>=7;return this.buf.push(e),this}int32(e){return Rv(e),ay(e,this.buf),this}bool(e){return this.buf.push(+!!e),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}float(e){Bv(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){zv(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){Rv(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return Rv(e),e=(e<<1^e>>31)>>>0,ay(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=cy.enc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=cy.uEnc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}int64(e){let t=cy.enc(e);return Xv(t.lo,t.hi,this.buf),this}sint64(e){let t=cy.enc(e),n=t.hi>>31;return Xv(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){let t=cy.uEnc(e);return Xv(t.lo,t.hi,this.buf),this}},jy=class{constructor(e,t){this.varint64=Yv,this.uint32=oy,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=t??new TextDecoder}tag(){let e=this.uint32(),t=e>>>3,n=e&7;if(t<=0||n<0||n>5)throw Error(`illegal tag: field no `+t+` wire type `+n);return[t,n]}skip(e,t){let n=this.pos;switch(e){case ky.Varint:for(;this.buf[this.pos++]&128;);break;case ky.Bit64:this.pos+=4;case ky.Bit32:this.pos+=4;break;case ky.LengthDelimited:let n=this.uint32();this.pos+=n;break;case ky.StartGroup:for(;;){let e=G(this.tag(),2),n=e[0],r=e[1];if(r===ky.EndGroup){if(t!==void 0&&n!==t)throw Error(`invalid end group tag`);break}this.skip(r,n)}break;default:throw Error(`cant skip wire type `+e)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw RangeError(`premature EOF`)}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return cy.dec(...this.varint64())}uint64(){return cy.uDec(...this.varint64())}sint64(){let e=G(this.varint64(),2),t=e[0],n=e[1],r=-(t&1);return t=(t>>>1|(n&1)<<31)^r,n=n>>>1^r,cy.dec(t,n)}bool(){let e=G(this.varint64(),2),t=e[0],n=e[1];return t!==0||n!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return cy.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return cy.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(){return this.textDecoder.decode(this.bytes())}};function My(e,t,n,r){let i;return{typeName:t,extendee:n,get field(){if(!i){let n=typeof r==`function`?r():r;n.name=t.split(`.`).pop(),n.jsonName=`[${t}]`,i=e.util.newFieldList([n]).list()[0]}return i},runtime:e}}function Ny(e){let t=e.field.localName,n=Object.create(null);return n[t]=Py(e),[n,()=>n[t]]}function Py(e){let t=e.field;if(t.repeated)return[];if(t.default!==void 0)return t.default;switch(t.kind){case`enum`:return t.T.values[0].no;case`scalar`:return dy(t.T,t.L);case`message`:let e=t.T,n=new e;return e.fieldWrapper?e.fieldWrapper.unwrapField(n):n;case`map`:throw`map fields are not allowed to be extensions`}}function Fy(e,t){if(!t.repeated&&(t.kind==`enum`||t.kind==`scalar`)){for(let n=e.length-1;n>=0;--n)if(e[n].no==t.no)return[e[n]];return[]}return e.filter(e=>e.no===t.no)}var Iy=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.split(``),Ly=[];for(let e=0;e<Iy.length;e++)Ly[Iy[e].charCodeAt(0)]=e;Ly[45]=Iy.indexOf(`+`),Ly[95]=Iy.indexOf(`/`);var Ry={dec(e){let t=e.length*3/4;e[e.length-2]==`=`?t-=2:e[e.length-1]==`=`&&--t;let n=new Uint8Array(t),r=0,i=0,a,o=0;for(let t=0;t<e.length;t++){if(a=Ly[e.charCodeAt(t)],a===void 0)switch(e[t]){case`=`:i=0;case`
61
+ `:case`\r`:case` `:case` `:continue;default:throw Error(`invalid base64 string.`)}switch(i){case 0:o=a,i=1;break;case 1:n[r++]=o<<2|(a&48)>>4,o=a,i=2;break;case 2:n[r++]=(o&15)<<4|(a&60)>>2,o=a,i=3;break;case 3:n[r++]=(o&3)<<6|a,i=0}}if(i==1)throw Error(`invalid base64 string.`);return n.subarray(0,r)},enc(e){let t=``,n=0,r,i=0;for(let a=0;a<e.length;a++)switch(r=e[a],n){case 0:t+=Iy[r>>2],i=(r&3)<<4,n=1;break;case 1:t+=Iy[i|r>>4],i=(r&15)<<2,n=2;break;case 2:t+=Iy[i|r>>6],t+=Iy[r&63],n=0}return n&&(t+=Iy[i],t+=`=`,n==1&&(t+=`=`)),t}};function zy(e,t,n){Hy(t,e);let r=t.runtime.bin.makeReadOptions(n),i=Fy(e.getType().runtime.bin.listUnknownFields(e),t.field),a=G(Ny(t),2),o=a[0],s=a[1];for(let e of i)t.runtime.bin.readField(o,r.readerFactory(e.data),t.field,e.wireType,r);return s()}function By(e,t,n,r){Hy(t,e);let i=t.runtime.bin.makeReadOptions(r),a=t.runtime.bin.makeWriteOptions(r);if(Vy(e,t)){let n=e.getType().runtime.bin.listUnknownFields(e).filter(e=>e.no!=t.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(let t of n)e.getType().runtime.bin.onUnknownField(e,t.no,t.wireType,t.data)}let o=a.writerFactory(),s=t.field;!s.opt&&!s.repeated&&(s.kind==`enum`||s.kind==`scalar`)&&(s=Object.assign(Object.assign({},t.field),{opt:!0})),t.runtime.bin.writeField(s,n,o,a);let c=i.readerFactory(o.finish());for(;c.pos<c.len;){let t=G(c.tag(),2),n=t[0],r=t[1],i=c.skip(r,n);e.getType().runtime.bin.onUnknownField(e,n,r,i)}}function Vy(e,t){let n=e.getType();return t.extendee.typeName===n.typeName&&!!n.runtime.bin.listUnknownFields(e).find(e=>e.no==t.field.no)}function Hy(e,t){Mv(e.extendee.typeName==t.getType().typeName,`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}function Uy(e,t){let n=e.localName;if(e.repeated)return t[n].length>0;if(e.oneof)return t[e.oneof.localName].case===n;switch(e.kind){case`enum`:case`scalar`:return e.opt||e.req?t[n]!==void 0:e.kind==`enum`?t[n]!==e.T.values[0].no:!fy(e.T,t[n]);case`message`:return t[n]!==void 0;case`map`:return Object.keys(t[n]).length>0}}function Wy(e,t){let n=e.localName,r=!e.opt&&!e.req;if(e.repeated)t[n]=[];else if(e.oneof)t[e.oneof.localName]={case:void 0};else switch(e.kind){case`map`:t[n]={};break;case`enum`:t[n]=r?e.T.values[0].no:void 0;break;case`scalar`:t[n]=r?dy(e.T,e.L):void 0;break;case`message`:t[n]=void 0}}function Gy(e,t){if(typeof e!=`object`||!e||!Object.getOwnPropertyNames(qv.prototype).every(t=>t in e&&typeof e[t]==`function`))return!1;let n=e.getType();return n===null||typeof n!=`function`||!(`typeName`in n)||typeof n.typeName!=`string`?!1:t===void 0||n.typeName==t.typeName}function Ky(e,t){return Gy(t)||!e.fieldWrapper?t:e.fieldWrapper.wrapField(t)}U.DOUBLE,U.FLOAT,U.INT64,U.UINT64,U.INT32,U.UINT32,U.BOOL,U.STRING,U.BYTES;var qy={ignoreUnknownFields:!1},Jy={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function Yy(e){return e?Object.assign(Object.assign({},qy),e):qy}function Xy(e){return e?Object.assign(Object.assign({},Jy),e):Jy}var Zy=Symbol(),Qy=Symbol();function $y(){return{makeReadOptions:Yy,makeWriteOptions:Xy,readMessage(e,t,n,r){if(t==null||Array.isArray(t)||typeof t!=`object`)throw Error(`cannot decode message ${e.typeName} from JSON: ${eb(t)}`);r??=new e;let i=new Map,a=n.typeRegistry;for(let s of Object.entries(t)){var o=G(s,2);let t=o[0],c=o[1],l=e.fields.findJsonName(t);if(l){if(l.oneof){if(c===null&&l.kind==`scalar`)continue;let n=i.get(l.oneof);if(n!==void 0)throw Error(`cannot decode message ${e.typeName} from JSON: multiple keys for oneof "${l.oneof.name}" present: "${n}", "${t}"`);i.set(l.oneof,t)}tb(r,c,l,n,e)}else{let i=!1;if(a?.findExtension&&t.startsWith(`[`)&&t.endsWith(`]`)){let o=a.findExtension(t.substring(1,t.length-1));if(o&&o.extendee.typeName==e.typeName){i=!0;let e=G(Ny(o),2),t=e[0],a=e[1];tb(t,c,o.field,n,o),By(r,o,a(),n)}}if(!i&&!n.ignoreUnknownFields)throw Error(`cannot decode message ${e.typeName} from JSON: key "${t}" is unknown`)}}return r},writeMessage(e,t){let n=e.getType(),r={},i;try{for(i of n.fields.byNumber()){if(!Uy(i,e)){if(i.req)throw`required field not set`;if(!t.emitDefaultValues||!ab(i))continue}let n=i.oneof?e[i.oneof.localName].value:e[i.localName],a=ob(i,n,t);a!==void 0&&(r[t.useProtoFieldName?i.name:i.jsonName]=a)}let a=t.typeRegistry;if(a?.findExtensionFor)for(let i of n.runtime.bin.listUnknownFields(e)){let o=a.findExtensionFor(n.typeName,i.no);if(o&&Vy(e,o)){let n=zy(e,o,t),i=ob(o.field,n,t);i!==void 0&&(r[o.field.jsonName]=i)}}}catch(e){let t=i?`cannot encode field ${n.typeName}.${i.name} to JSON`:`cannot encode message ${n.typeName} to JSON`,r=e instanceof Error?e.message:String(e);throw Error(t+(r.length>0?`: ${r}`:``))}return r},readScalar(e,t,n){return rb(e,t,n??ly.BIGINT,!0)},writeScalar(e,t,n){if(t!==void 0&&(n||fy(e,t)))return cb(e,t)},debug:eb}}function eb(e){if(e===null)return`null`;switch(typeof e){case`object`:return Array.isArray(e)?`array`:`object`;case`string`:return e.length>100?`string`:`"${e.split(`"`).join(`\\"`)}"`;default:return String(e)}}function tb(e,t,n,r,i){let a=n.localName;if(n.repeated){if(Mv(n.kind!=`map`),t===null)return;if(!Array.isArray(t))throw Error(`cannot decode field ${i.typeName}.${n.name} from JSON: ${eb(t)}`);let o=e[a];for(let e of t){if(e===null)throw Error(`cannot decode field ${i.typeName}.${n.name} from JSON: ${eb(e)}`);switch(n.kind){case`message`:o.push(n.T.fromJson(e,r));break;case`enum`:let t=ib(n.T,e,r.ignoreUnknownFields,!0);t!==Qy&&o.push(t);break;case`scalar`:try{o.push(rb(n.T,e,n.L,!0))}catch(t){let r=`cannot decode field ${i.typeName}.${n.name} from JSON: ${eb(e)}`;throw t instanceof Error&&t.message.length>0&&(r+=`: ${t.message}`),Error(r)}}}}else if(n.kind==`map`){if(t===null)return;if(typeof t!=`object`||Array.isArray(t))throw Error(`cannot decode field ${i.typeName}.${n.name} from JSON: ${eb(t)}`);let s=e[a];for(let e of Object.entries(t)){var o=G(e,2);let a=o[0],c=o[1];if(c===null)throw Error(`cannot decode field ${i.typeName}.${n.name} from JSON: map value null`);let l;try{l=nb(n.K,a)}catch(e){let r=`cannot decode map key for field ${i.typeName}.${n.name} from JSON: ${eb(t)}`;throw e instanceof Error&&e.message.length>0&&(r+=`: ${e.message}`),Error(r)}switch(n.V.kind){case`message`:s[l]=n.V.T.fromJson(c,r);break;case`enum`:let e=ib(n.V.T,c,r.ignoreUnknownFields,!0);e!==Qy&&(s[l]=e);break;case`scalar`:try{s[l]=rb(n.V.T,c,ly.BIGINT,!0)}catch(e){let r=`cannot decode map value for field ${i.typeName}.${n.name} from JSON: ${eb(t)}`;throw e instanceof Error&&e.message.length>0&&(r+=`: ${e.message}`),Error(r)}}}}else switch(n.oneof&&(e=e[n.oneof.localName]={case:a},a=`value`),n.kind){case`message`:let o=n.T;if(t===null&&o.typeName!=`google.protobuf.Value`)return;let s=e[a];Gy(s)?s.fromJson(t,r):(e[a]=s=o.fromJson(t,r),o.fieldWrapper&&!n.oneof&&(e[a]=o.fieldWrapper.unwrapField(s)));break;case`enum`:let c=ib(n.T,t,r.ignoreUnknownFields,!1);switch(c){case Zy:Wy(n,e);break;case Qy:break;default:e[a]=c}break;case`scalar`:try{let r=rb(n.T,t,n.L,!1);switch(r){case Zy:Wy(n,e);break;default:e[a]=r}}catch(e){let r=`cannot decode field ${i.typeName}.${n.name} from JSON: ${eb(t)}`;throw e instanceof Error&&e.message.length>0&&(r+=`: ${e.message}`),Error(r)}}}function nb(e,t){if(e===U.BOOL)switch(t){case`true`:t=!0;break;case`false`:t=!1}return rb(e,t,ly.BIGINT,!0).toString()}function rb(e,t,n,r){if(t===null)return r?dy(e,n):Zy;switch(e){case U.DOUBLE:case U.FLOAT:if(t===`NaN`)return NaN;if(t===`Infinity`)return 1/0;if(t===`-Infinity`)return-1/0;if(t===``||typeof t==`string`&&t.trim().length!==t.length||typeof t!=`string`&&typeof t!=`number`)break;let r=Number(t);if(Number.isNaN(r)||!Number.isFinite(r))break;return e==U.FLOAT&&Bv(r),r;case U.INT32:case U.FIXED32:case U.SFIXED32:case U.SINT32:case U.UINT32:let i;if(typeof t==`number`?i=t:typeof t==`string`&&t.length>0&&t.trim().length===t.length&&(i=Number(t)),i===void 0)break;return e==U.UINT32||e==U.FIXED32?zv(i):Rv(i),i;case U.INT64:case U.SFIXED64:case U.SINT64:if(typeof t!=`number`&&typeof t!=`string`)break;let a=cy.parse(t);return n?a.toString():a;case U.FIXED64:case U.UINT64:if(typeof t!=`number`&&typeof t!=`string`)break;let o=cy.uParse(t);return n?o.toString():o;case U.BOOL:if(typeof t!=`boolean`)break;return t;case U.STRING:if(typeof t!=`string`)break;return t;case U.BYTES:if(t===``)return new Uint8Array;if(typeof t!=`string`)break;return Ry.dec(t)}throw Error()}function ib(e,t,n,r){if(t===null)return e.typeName==`google.protobuf.NullValue`?0:r?e.values[0].no:Zy;switch(typeof t){case`number`:if(Number.isInteger(t))return t;break;case`string`:let r=e.findName(t);if(r!==void 0)return r.no;if(n)return Qy}throw Error(`cannot decode enum ${e.typeName} from JSON: ${eb(t)}`)}function ab(e){return e.repeated||e.kind==`map`?!0:!(e.oneof||e.kind==`message`||e.opt||e.req)}function ob(e,t,n){if(e.kind==`map`){Mv(typeof t==`object`&&!!t);let o={},s=Object.entries(t);switch(e.V.kind){case`scalar`:for(let t of s){var r=G(t,2);let n=r[0],i=r[1];o[n.toString()]=cb(e.V.T,i)}break;case`message`:for(let e of s){var i=G(e,2);let t=i[0],r=i[1];o[t.toString()]=r.toJson(n)}break;case`enum`:let t=e.V.T;for(let e of s){var a=G(e,2);let r=a[0],i=a[1];o[r.toString()]=sb(t,i,n.enumAsInteger)}}return n.emitDefaultValues||s.length>0?o:void 0}if(e.repeated){Mv(Array.isArray(t));let r=[];switch(e.kind){case`scalar`:for(let n=0;n<t.length;n++)r.push(cb(e.T,t[n]));break;case`enum`:for(let i=0;i<t.length;i++)r.push(sb(e.T,t[i],n.enumAsInteger));break;case`message`:for(let e=0;e<t.length;e++)r.push(t[e].toJson(n))}return n.emitDefaultValues||r.length>0?r:void 0}switch(e.kind){case`scalar`:return cb(e.T,t);case`enum`:return sb(e.T,t,n.enumAsInteger);case`message`:return Ky(e.T,t).toJson(n)}}function sb(e,t,n){return Mv(typeof t==`number`),e.typeName==`google.protobuf.NullValue`?null:n?t:e.findNumber(t)?.name??t}function cb(e,t){switch(e){case U.INT32:case U.SFIXED32:case U.SINT32:case U.FIXED32:case U.UINT32:return Mv(typeof t==`number`),t;case U.FLOAT:case U.DOUBLE:return Mv(typeof t==`number`),Number.isNaN(t)?`NaN`:t===1/0?`Infinity`:t===-1/0?`-Infinity`:t;case U.STRING:return Mv(typeof t==`string`),t;case U.BOOL:return Mv(typeof t==`boolean`),t;case U.UINT64:case U.FIXED64:case U.INT64:case U.SFIXED64:case U.SINT64:return Mv(typeof t==`bigint`||typeof t==`string`||typeof t==`number`),t.toString();case U.BYTES:return Mv(t instanceof Uint8Array),Ry.enc(t)}}var lb=Symbol(`@bufbuild/protobuf/unknown-fields`),ub={readUnknownFields:!0,readerFactory:e=>new jy(e)},db={writeUnknownFields:!0,writerFactory:()=>new Ay};function fb(e){return e?Object.assign(Object.assign({},ub),e):ub}function pb(e){return e?Object.assign(Object.assign({},db),e):db}function mb(){return{makeReadOptions:fb,makeWriteOptions:pb,listUnknownFields(e){return e[lb]??[]},discardUnknownFields(e){delete e[lb]},writeUnknownFields(e,t){let n=e[lb];if(n)for(let e of n)t.tag(e.no,e.wireType).raw(e.data)},onUnknownField(e,t,n,r){let i=e;Array.isArray(i[lb])||(i[lb]=[]),i[lb].push({no:t,wireType:n,data:r})},readMessage(e,t,n,r,i){let a=e.getType(),o=i?t.len:t.pos+n,s,c;for(;t.pos<o;){var l=G(t.tag(),2);if(s=l[0],c=l[1],i===!0&&c==ky.EndGroup)break;let n=a.fields.find(s);if(!n){let n=t.skip(c,s);r.readUnknownFields&&this.onUnknownField(e,s,c,n);continue}hb(e,t,n,c,r)}if(i&&(c!=ky.EndGroup||s!==n))throw Error(`invalid end group tag`)},readField:hb,writeMessage(e,t,n){let r=e.getType();for(let i of r.fields.byNumber()){if(!Uy(i,e)){if(i.req)throw Error(`cannot encode field ${r.typeName}.${i.name} to binary: required field not set`);continue}bb(i,i.oneof?e[i.oneof.localName].value:e[i.localName],t,n)}return n.writeUnknownFields&&this.writeUnknownFields(e,t),t},writeField(e,t,n,r){t!==void 0&&bb(e,t,n,r)}}}function hb(e,t,n,r,i){let a=n.repeated,o=n.localName;switch(n.oneof&&(e=e[n.oneof.localName],e.case!=o&&delete e.value,e.case=o,o=`value`),n.kind){case`scalar`:case`enum`:let s=n.kind==`enum`?U.INT32:n.T,c=yb;if(n.kind==`scalar`&&n.L>0&&(c=vb),a){let n=e[o];if(r==ky.LengthDelimited&&s!=U.STRING&&s!=U.BYTES){let e=t.uint32()+t.pos;for(;t.pos<e;)n.push(c(t,s))}else n.push(c(t,s))}else e[o]=c(t,s);break;case`message`:let l=n.T;a?e[o].push(gb(t,new l,i,n)):Gy(e[o])?gb(t,e[o],i,n):(e[o]=gb(t,new l,i,n),l.fieldWrapper&&!n.oneof&&!n.repeated&&(e[o]=l.fieldWrapper.unwrapField(e[o])));break;case`map`:let u=G(_b(n,t,i),2),d=u[0],f=u[1];e[o][d]=f}}function gb(e,t,n,r){let i=t.getType().runtime.bin,a=r?.delimited;return i.readMessage(t,e,a?r.no:e.uint32(),n,a),t}function _b(e,t,n){let r=t.uint32(),i=t.pos+r,a,o;for(;t.pos<i;)switch(G(t.tag(),1)[0]){case 1:a=yb(t,e.K);break;case 2:switch(e.V.kind){case`scalar`:o=yb(t,e.V.T);break;case`enum`:o=t.int32();break;case`message`:o=gb(t,new e.V.T,n,void 0)}}if(a===void 0&&(a=dy(e.K,ly.BIGINT)),typeof a!=`string`&&typeof a!=`number`&&(a=a.toString()),o===void 0)switch(e.V.kind){case`scalar`:o=dy(e.V.T,ly.BIGINT);break;case`enum`:o=e.V.T.values[0].no;break;case`message`:o=new e.V.T}return[a,o]}function vb(e,t){let n=yb(e,t);return typeof n==`bigint`?n.toString():n}function yb(e,t){switch(t){case U.STRING:return e.string();case U.BOOL:return e.bool();case U.DOUBLE:return e.double();case U.FLOAT:return e.float();case U.INT32:return e.int32();case U.INT64:return e.int64();case U.UINT64:return e.uint64();case U.FIXED64:return e.fixed64();case U.BYTES:return e.bytes();case U.FIXED32:return e.fixed32();case U.SFIXED32:return e.sfixed32();case U.SFIXED64:return e.sfixed64();case U.SINT64:return e.sint64();case U.UINT32:return e.uint32();case U.SINT32:return e.sint32()}}function bb(e,t,n,r){Mv(t!==void 0);let i=e.repeated;switch(e.kind){case`scalar`:case`enum`:let o=e.kind==`enum`?U.INT32:e.T;if(i){if(Mv(Array.isArray(t)),e.packed)wb(n,o,e.no,t);else for(let r of t)Cb(n,o,e.no,r)}else Cb(n,o,e.no,t);break;case`message`:if(i){Mv(Array.isArray(t));for(let i of t)Sb(n,r,e,i)}else Sb(n,r,e,t);break;case`map`:Mv(typeof t==`object`&&!!t);for(let i of Object.entries(t)){var a=G(i,2);let t=a[0],o=a[1];xb(n,r,e,t,o)}}}function xb(e,t,n,r,i){e.tag(n.no,ky.LengthDelimited),e.fork();let a=r;switch(n.K){case U.INT32:case U.FIXED32:case U.UINT32:case U.SFIXED32:case U.SINT32:a=Number.parseInt(r);break;case U.BOOL:Mv(r==`true`||r==`false`),a=r==`true`}switch(Cb(e,n.K,1,a),n.V.kind){case`scalar`:Cb(e,n.V.T,2,i);break;case`enum`:Cb(e,U.INT32,2,i);break;case`message`:Mv(i!==void 0),e.tag(2,ky.LengthDelimited).bytes(i.toBinary(t))}e.join()}function Sb(e,t,n,r){let i=Ky(n.T,r);n.delimited?e.tag(n.no,ky.StartGroup).raw(i.toBinary(t)).tag(n.no,ky.EndGroup):e.tag(n.no,ky.LengthDelimited).bytes(i.toBinary(t))}function Cb(e,t,n,r){Mv(r!==void 0);let i=G(Tb(t),2),a=i[0],o=i[1];e.tag(n,a)[o](r)}function wb(e,t,n,r){if(!r.length)return;e.tag(n,ky.LengthDelimited).fork();let i=G(Tb(t),2)[1];for(let t=0;t<r.length;t++)e[i](r[t]);e.join()}function Tb(e){let t=ky.Varint;switch(e){case U.BYTES:case U.STRING:t=ky.LengthDelimited;break;case U.DOUBLE:case U.FIXED64:case U.SFIXED64:t=ky.Bit64;break;case U.FIXED32:case U.SFIXED32:case U.FLOAT:t=ky.Bit32}let n=U[e].toLowerCase();return[t,n]}function Eb(){return{setEnumType:Uv,initPartial(e,t){if(e===void 0)return;let n=t.getType();for(let i of n.fields.byMember()){let n=i.localName,a=t,o=e;if(o[n]!=null)switch(i.kind){case`oneof`:let e=o[n].case;if(e===void 0)continue;let t=i.findField(e),s=o[n].value;t&&t.kind==`message`&&!Gy(s,t.T)?s=new t.T(s):t&&t.kind===`scalar`&&t.T===U.BYTES&&(s=Ob(s)),a[n]={case:e,value:s};break;case`scalar`:case`enum`:let c=o[n];i.T===U.BYTES&&(c=i.repeated?c.map(Ob):Ob(c)),a[n]=c;break;case`map`:switch(i.V.kind){case`scalar`:case`enum`:if(i.V.T===U.BYTES)for(let e of Object.entries(o[n])){var r=G(e,2);let t=r[0],i=r[1];a[n][t]=Ob(i)}else Object.assign(a[n],o[n]);break;case`message`:let e=i.V.T;for(let t of Object.keys(o[n])){let r=o[n][t];e.fieldWrapper||(r=new e(r)),a[n][t]=r}}break;case`message`:let l=i.T;if(i.repeated)a[n]=o[n].map(e=>Gy(e,l)?e:new l(e));else{let e=o[n];a[n]=l.fieldWrapper?l.typeName===`google.protobuf.BytesValue`?Ob(e):e:Gy(e,l)?e:new l(e)}}}},equals(e,t,n){return t===n?!0:!t||!n?!1:e.fields.byMember().every(e=>{let r=t[e.localName],i=n[e.localName];if(e.repeated){if(r.length!==i.length)return!1;switch(e.kind){case`message`:return r.every((t,n)=>e.T.equals(t,i[n]));case`scalar`:return r.every((t,n)=>uy(e.T,t,i[n]));case`enum`:return r.every((e,t)=>uy(U.INT32,e,i[t]))}throw Error(`repeated cannot contain ${e.kind}`)}switch(e.kind){case`message`:let t=r,n=i;return e.T.fieldWrapper&&(t!==void 0&&!Gy(t)&&(t=e.T.fieldWrapper.wrapField(t)),n!==void 0&&!Gy(n)&&(n=e.T.fieldWrapper.wrapField(n))),e.T.equals(t,n);case`enum`:return uy(U.INT32,r,i);case`scalar`:return uy(e.T,r,i);case`oneof`:if(r.case!==i.case)return!1;let a=e.findField(r.case);if(a===void 0)return!0;switch(a.kind){case`message`:return a.T.equals(r.value,i.value);case`enum`:return uy(U.INT32,r.value,i.value);case`scalar`:return uy(a.T,r.value,i.value)}throw Error(`oneof cannot contain ${a.kind}`);case`map`:let o=Object.keys(r).concat(Object.keys(i));switch(e.V.kind){case`message`:let t=e.V.T;return o.every(e=>t.equals(r[e],i[e]));case`enum`:return o.every(e=>uy(U.INT32,r[e],i[e]));case`scalar`:let n=e.V.T;return o.every(e=>uy(n,r[e],i[e]))}}})},clone(e){let t=e.getType(),n=new t,r=n;for(let n of t.fields.byMember()){let t=e[n.localName],a;if(n.repeated)a=t.map(Db);else if(n.kind==`map`){a=r[n.localName];for(let e of Object.entries(t)){var i=G(e,2);let t=i[0],n=i[1];a[t]=Db(n)}}else a=n.kind==`oneof`?n.findField(t.case)?{case:t.case,value:Db(t.value)}:{case:void 0}:Db(t);r[n.localName]=a}for(let n of t.runtime.bin.listUnknownFields(e))t.runtime.bin.onUnknownField(r,n.no,n.wireType,n.data);return n}}}function Db(e){if(e===void 0)return e;if(Gy(e))return e.clone();if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t}return e}function Ob(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function kb(e,t,n){return{syntax:e,json:$y(),bin:mb(),util:Object.assign(Object.assign({},Eb()),{newFieldList:t,initFields:n}),makeMessageType(e,t,n){return Jv(this,e,t,n)},makeEnum:Gv,makeEnumType:Wv,getEnumType:Hv,makeExtension(e,t,n){return My(this,e,t,n)}}}var Ab=class{constructor(e,t){this._fields=e,this._normalizer=t}findJsonName(e){if(!this.jsonNames){let e={};for(let t of this.list())e[t.jsonName]=e[t.name]=t;this.jsonNames=e}return this.jsonNames[e]}find(e){if(!this.numbers){let e={};for(let t of this.list())e[t.no]=t;this.numbers=e}return this.numbers[e]}list(){return this.all||=this._normalizer(this._fields),this.all}byNumber(){return this.numbersAsc||=this.list().concat().sort((e,t)=>e.no-t.no),this.numbersAsc}byMember(){if(!this.members){this.members=[];let e=this.members,t;for(let n of this.list())n.oneof?n.oneof!==t&&(t=n.oneof,e.push(t)):e.push(n)}return this.members}};function jb(e,t){let n=Pb(e);return t?n:zb(Rb(n))}function Mb(e){return jb(e,!1)}var Nb=Pb;function Pb(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let i=e.charAt(r);switch(i){case`_`:t=!0;break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n.push(i),t=!1;break;default:t&&(t=!1,i=i.toUpperCase()),n.push(i)}}return n.join(``)}var Fb=new Set([`constructor`,`toString`,`toJSON`,`valueOf`]),Ib=new Set([`getType`,`clone`,`equals`,`fromBinary`,`fromJson`,`fromJsonString`,`toBinary`,`toJson`,`toJsonString`,`toObject`]),Lb=e=>`${e}\$`,Rb=e=>Ib.has(e)?Lb(e):e,zb=e=>Fb.has(e)?Lb(e):e,Bb=class{constructor(e){this.kind=`oneof`,this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=e,this.localName=Mb(e)}addField(e){Mv(e.oneof===this,`field ${e.name} not one of ${this.name}`),this.fields.push(e)}findField(e){if(!this._lookup){this._lookup=Object.create(null);for(let e=0;e<this.fields.length;e++)this._lookup[this.fields[e].localName]=this.fields[e]}return this._lookup[e]}};function Vb(e,t){let n=[],r;for(let t of typeof e==`function`?e():e){let e=t;if(e.localName=jb(t.name,t.oneof!==void 0),e.jsonName=t.jsonName??Nb(t.name),e.repeated=t.repeated??!1,t.kind==`scalar`&&(e.L=t.L??ly.BIGINT),e.delimited=t.delimited??!1,e.req=t.req??!1,e.opt=t.opt??!1,t.packed===void 0&&(e.packed=t.kind==`enum`||t.kind==`scalar`&&t.T!=U.BYTES&&t.T!=U.STRING),t.oneof!==void 0){let n=typeof t.oneof==`string`?t.oneof:t.oneof.name;(!r||r.name!=n)&&(r=new Bb(n)),e.oneof=r,r.addField(e)}n.push(e)}return n}var K=kb(`proto3`,e=>new Ab(e,e=>Vb(e)),e=>{for(let t of e.getType().fields.byMember()){if(t.opt)continue;let n=t.localName,r=e;if(t.repeated){r[n]=[];continue}switch(t.kind){case`oneof`:r[n]={case:void 0};break;case`enum`:r[n]=0;break;case`map`:r[n]={};break;case`scalar`:r[n]=dy(t.T,t.L)}}}),Hb=class e extends qv{constructor(e){super(),this.seconds=cy.zero,this.nanos=0,K.util.initPartial(e,this)}fromJson(e,t){if(typeof e!=`string`)throw Error(`cannot decode google.protobuf.Timestamp from JSON: ${K.json.debug(e)}`);let n=e.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!n)throw Error(`cannot decode google.protobuf.Timestamp from JSON: invalid RFC 3339 string`);let r=Date.parse(n[1]+`-`+n[2]+`-`+n[3]+`T`+n[4]+`:`+n[5]+`:`+n[6]+(n[8]?n[8]:`Z`));if(Number.isNaN(r))throw Error(`cannot decode google.protobuf.Timestamp from JSON: invalid RFC 3339 string`);if(r<Date.parse(`0001-01-01T00:00:00Z`)||r>Date.parse(`9999-12-31T23:59:59Z`))throw Error(`cannot decode message google.protobuf.Timestamp from JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);return this.seconds=cy.parse(r/1e3),this.nanos=0,n[7]&&(this.nanos=parseInt(`1`+n[7]+`0`.repeat(9-n[7].length))-1e9),this}toJson(e){let t=Number(this.seconds)*1e3;if(t<Date.parse(`0001-01-01T00:00:00Z`)||t>Date.parse(`9999-12-31T23:59:59Z`))throw Error(`cannot encode google.protobuf.Timestamp to JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);if(this.nanos<0)throw Error(`cannot encode google.protobuf.Timestamp to JSON: nanos must not be negative`);let n=`Z`;if(this.nanos>0){let e=(this.nanos+1e9).toString().substring(1);n=e.substring(3)===`000000`?`.`+e.substring(0,3)+`Z`:e.substring(6)===`000`?`.`+e.substring(0,6)+`Z`:`.`+e+`Z`}return new Date(t).toISOString().replace(`.000Z`,n)}toDate(){return new Date(Number(this.seconds)*1e3+Math.ceil(this.nanos/1e6))}static now(){return e.fromDate(new Date)}static fromDate(t){let n=t.getTime();return new e({seconds:cy.parse(Math.floor(n/1e3)),nanos:n%1e3*1e6})}static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return K.util.equals(e,t,n)}};Hb.runtime=K,Hb.typeName=`google.protobuf.Timestamp`,Hb.fields=K.util.newFieldList(()=>[{no:1,name:`seconds`,kind:`scalar`,T:3},{no:2,name:`nanos`,kind:`scalar`,T:5}]);var Ub=K.makeMessageType(`livekit.MetricsBatch`,()=>[{no:1,name:`timestamp_ms`,kind:`scalar`,T:3},{no:2,name:`normalized_timestamp`,kind:`message`,T:Hb},{no:3,name:`str_data`,kind:`scalar`,T:9,repeated:!0},{no:4,name:`time_series`,kind:`message`,T:Wb,repeated:!0},{no:5,name:`events`,kind:`message`,T:Kb,repeated:!0}]),Wb=K.makeMessageType(`livekit.TimeSeriesMetric`,()=>[{no:1,name:`label`,kind:`scalar`,T:13},{no:2,name:`participant_identity`,kind:`scalar`,T:13},{no:3,name:`track_sid`,kind:`scalar`,T:13},{no:4,name:`samples`,kind:`message`,T:Gb,repeated:!0},{no:5,name:`rid`,kind:`scalar`,T:13}]),Gb=K.makeMessageType(`livekit.MetricSample`,()=>[{no:1,name:`timestamp_ms`,kind:`scalar`,T:3},{no:2,name:`normalized_timestamp`,kind:`message`,T:Hb},{no:3,name:`value`,kind:`scalar`,T:2}]),Kb=K.makeMessageType(`livekit.EventMetric`,()=>[{no:1,name:`label`,kind:`scalar`,T:13},{no:2,name:`participant_identity`,kind:`scalar`,T:13},{no:3,name:`track_sid`,kind:`scalar`,T:13},{no:4,name:`start_timestamp_ms`,kind:`scalar`,T:3},{no:5,name:`end_timestamp_ms`,kind:`scalar`,T:3,opt:!0},{no:6,name:`normalized_start_timestamp`,kind:`message`,T:Hb},{no:7,name:`normalized_end_timestamp`,kind:`message`,T:Hb,opt:!0},{no:8,name:`metadata`,kind:`scalar`,T:9},{no:9,name:`rid`,kind:`scalar`,T:13}]),qb=K.makeEnum(`livekit.BackupCodecPolicy`,[{no:0,name:`PREFER_REGRESSION`},{no:1,name:`SIMULCAST`},{no:2,name:`REGRESSION`}]),Jb=K.makeEnum(`livekit.TrackType`,[{no:0,name:`AUDIO`},{no:1,name:`VIDEO`},{no:2,name:`DATA`}]),Yb=K.makeEnum(`livekit.TrackSource`,[{no:0,name:`UNKNOWN`},{no:1,name:`CAMERA`},{no:2,name:`MICROPHONE`},{no:3,name:`SCREEN_SHARE`},{no:4,name:`SCREEN_SHARE_AUDIO`}]),Xb=K.makeEnum(`livekit.VideoQuality`,[{no:0,name:`LOW`},{no:1,name:`MEDIUM`},{no:2,name:`HIGH`},{no:3,name:`OFF`}]),Zb=K.makeEnum(`livekit.ConnectionQuality`,[{no:0,name:`POOR`},{no:1,name:`GOOD`},{no:2,name:`EXCELLENT`},{no:3,name:`LOST`}]),Qb=K.makeEnum(`livekit.ClientConfigSetting`,[{no:0,name:`UNSET`},{no:1,name:`DISABLED`},{no:2,name:`ENABLED`}]),$b=K.makeEnum(`livekit.DisconnectReason`,[{no:0,name:`UNKNOWN_REASON`},{no:1,name:`CLIENT_INITIATED`},{no:2,name:`DUPLICATE_IDENTITY`},{no:3,name:`SERVER_SHUTDOWN`},{no:4,name:`PARTICIPANT_REMOVED`},{no:5,name:`ROOM_DELETED`},{no:6,name:`STATE_MISMATCH`},{no:7,name:`JOIN_FAILURE`},{no:8,name:`MIGRATION`},{no:9,name:`SIGNAL_CLOSE`},{no:10,name:`ROOM_CLOSED`},{no:11,name:`USER_UNAVAILABLE`},{no:12,name:`USER_REJECTED`},{no:13,name:`SIP_TRUNK_FAILURE`},{no:14,name:`CONNECTION_TIMEOUT`},{no:15,name:`MEDIA_FAILURE`},{no:16,name:`AGENT_ERROR`}]),ex=K.makeEnum(`livekit.ReconnectReason`,[{no:0,name:`RR_UNKNOWN`},{no:1,name:`RR_SIGNAL_DISCONNECTED`},{no:2,name:`RR_PUBLISHER_FAILED`},{no:3,name:`RR_SUBSCRIBER_FAILED`},{no:4,name:`RR_SWITCH_CANDIDATE`}]),tx=K.makeEnum(`livekit.SubscriptionError`,[{no:0,name:`SE_UNKNOWN`},{no:1,name:`SE_CODEC_UNSUPPORTED`},{no:2,name:`SE_TRACK_NOTFOUND`}]),nx=K.makeEnum(`livekit.AudioTrackFeature`,[{no:0,name:`TF_STEREO`},{no:1,name:`TF_NO_DTX`},{no:2,name:`TF_AUTO_GAIN_CONTROL`},{no:3,name:`TF_ECHO_CANCELLATION`},{no:4,name:`TF_NOISE_SUPPRESSION`},{no:5,name:`TF_ENHANCED_NOISE_CANCELLATION`},{no:6,name:`TF_PRECONNECT_BUFFER`}]),rx=K.makeEnum(`livekit.PacketTrailerFeature`,[{no:0,name:`PTF_USER_TIMESTAMP`},{no:1,name:`PTF_FRAME_ID`},{no:2,name:`PTF_USER_DATA`}]),ix=K.makeMessageType(`livekit.Room`,()=>[{no:1,name:`sid`,kind:`scalar`,T:9},{no:2,name:`name`,kind:`scalar`,T:9},{no:3,name:`empty_timeout`,kind:`scalar`,T:13},{no:14,name:`departure_timeout`,kind:`scalar`,T:13},{no:4,name:`max_participants`,kind:`scalar`,T:13},{no:5,name:`creation_time`,kind:`scalar`,T:3},{no:15,name:`creation_time_ms`,kind:`scalar`,T:3},{no:6,name:`turn_password`,kind:`scalar`,T:9},{no:7,name:`enabled_codecs`,kind:`message`,T:ax,repeated:!0},{no:8,name:`metadata`,kind:`scalar`,T:9},{no:9,name:`num_participants`,kind:`scalar`,T:13},{no:11,name:`num_publishers`,kind:`scalar`,T:13},{no:10,name:`active_recording`,kind:`scalar`,T:8},{no:13,name:`version`,kind:`message`,T:Yx}]),ax=K.makeMessageType(`livekit.Codec`,()=>[{no:1,name:`mime`,kind:`scalar`,T:9},{no:2,name:`fmtp_line`,kind:`scalar`,T:9}]),ox=K.makeMessageType(`livekit.ParticipantPermission`,()=>[{no:1,name:`can_subscribe`,kind:`scalar`,T:8},{no:2,name:`can_publish`,kind:`scalar`,T:8},{no:3,name:`can_publish_data`,kind:`scalar`,T:8},{no:9,name:`can_publish_sources`,kind:`enum`,T:K.getEnumType(Yb),repeated:!0},{no:7,name:`hidden`,kind:`scalar`,T:8},{no:8,name:`recorder`,kind:`scalar`,T:8},{no:10,name:`can_update_metadata`,kind:`scalar`,T:8},{no:11,name:`agent`,kind:`scalar`,T:8},{no:12,name:`can_subscribe_metrics`,kind:`scalar`,T:8},{no:13,name:`can_manage_agent_session`,kind:`scalar`,T:8}]),sx=K.makeMessageType(`livekit.ParticipantInfo`,()=>[{no:1,name:`sid`,kind:`scalar`,T:9},{no:2,name:`identity`,kind:`scalar`,T:9},{no:3,name:`state`,kind:`enum`,T:K.getEnumType(cx)},{no:4,name:`tracks`,kind:`message`,T:px,repeated:!0},{no:5,name:`metadata`,kind:`scalar`,T:9},{no:6,name:`joined_at`,kind:`scalar`,T:3},{no:17,name:`joined_at_ms`,kind:`scalar`,T:3},{no:9,name:`name`,kind:`scalar`,T:9},{no:10,name:`version`,kind:`scalar`,T:13},{no:11,name:`permission`,kind:`message`,T:ox},{no:12,name:`region`,kind:`scalar`,T:9},{no:13,name:`is_publisher`,kind:`scalar`,T:8},{no:14,name:`kind`,kind:`enum`,T:K.getEnumType(lx)},{no:15,name:`attributes`,kind:`map`,K:9,V:{kind:`scalar`,T:9}},{no:16,name:`disconnect_reason`,kind:`enum`,T:K.getEnumType($b)},{no:18,name:`kind_details`,kind:`enum`,T:K.getEnumType(ux),repeated:!0},{no:19,name:`data_tracks`,kind:`message`,T:mx,repeated:!0},{no:20,name:`client_protocol`,kind:`scalar`,T:5},{no:21,name:`capabilities`,kind:`enum`,T:K.getEnumType(Gx),repeated:!0}]),cx=K.makeEnum(`livekit.ParticipantInfo.State`,[{no:0,name:`JOINING`},{no:1,name:`JOINED`},{no:2,name:`ACTIVE`},{no:3,name:`DISCONNECTED`}]),lx=K.makeEnum(`livekit.ParticipantInfo.Kind`,[{no:0,name:`STANDARD`},{no:1,name:`INGRESS`},{no:2,name:`EGRESS`},{no:3,name:`SIP`},{no:4,name:`AGENT`},{no:7,name:`CONNECTOR`},{no:8,name:`BRIDGE`}]),ux=K.makeEnum(`livekit.ParticipantInfo.KindDetail`,[{no:0,name:`CLOUD_AGENT`},{no:1,name:`FORWARDED`},{no:2,name:`CONNECTOR_WHATSAPP`},{no:3,name:`CONNECTOR_TWILIO`},{no:4,name:`BRIDGE_RTSP`},{no:5,name:`SIMULATION`}]),dx=K.makeEnum(`livekit.Encryption.Type`,[{no:0,name:`NONE`},{no:1,name:`GCM`},{no:2,name:`CUSTOM`}]),fx=K.makeMessageType(`livekit.SimulcastCodecInfo`,()=>[{no:1,name:`mime_type`,kind:`scalar`,T:9},{no:2,name:`mid`,kind:`scalar`,T:9},{no:3,name:`cid`,kind:`scalar`,T:9},{no:4,name:`layers`,kind:`message`,T:Cx,repeated:!0},{no:5,name:`video_layer_mode`,kind:`enum`,T:K.getEnumType(wx)},{no:6,name:`sdp_cid`,kind:`scalar`,T:9}]),px=K.makeMessageType(`livekit.TrackInfo`,()=>[{no:1,name:`sid`,kind:`scalar`,T:9},{no:2,name:`type`,kind:`enum`,T:K.getEnumType(Jb)},{no:3,name:`name`,kind:`scalar`,T:9},{no:4,name:`muted`,kind:`scalar`,T:8},{no:5,name:`width`,kind:`scalar`,T:13},{no:6,name:`height`,kind:`scalar`,T:13},{no:7,name:`simulcast`,kind:`scalar`,T:8},{no:8,name:`disable_dtx`,kind:`scalar`,T:8},{no:9,name:`source`,kind:`enum`,T:K.getEnumType(Yb)},{no:10,name:`layers`,kind:`message`,T:Cx,repeated:!0},{no:11,name:`mime_type`,kind:`scalar`,T:9},{no:12,name:`mid`,kind:`scalar`,T:9},{no:13,name:`codecs`,kind:`message`,T:fx,repeated:!0},{no:14,name:`stereo`,kind:`scalar`,T:8},{no:15,name:`disable_red`,kind:`scalar`,T:8},{no:16,name:`encryption`,kind:`enum`,T:K.getEnumType(dx)},{no:17,name:`stream`,kind:`scalar`,T:9},{no:18,name:`version`,kind:`message`,T:Yx},{no:19,name:`audio_features`,kind:`enum`,T:K.getEnumType(nx),repeated:!0},{no:20,name:`backup_codec_policy`,kind:`enum`,T:K.getEnumType(qb)},{no:21,name:`packet_trailer_features`,kind:`enum`,T:K.getEnumType(rx),repeated:!0}]),mx=K.makeMessageType(`livekit.DataTrackInfo`,()=>[{no:1,name:`pub_handle`,kind:`scalar`,T:13},{no:2,name:`sid`,kind:`scalar`,T:9},{no:3,name:`name`,kind:`scalar`,T:9},{no:4,name:`encryption`,kind:`enum`,T:K.getEnumType(dx)},{no:5,name:`frame_encoding`,kind:`message`,T:hx,opt:!0},{no:6,name:`schema`,kind:`message`,T:yx,opt:!0}]),hx=K.makeMessageType(`livekit.DataTrackFrameEncoding`,()=>[{no:1,name:`well_known`,kind:`enum`,T:K.getEnumType(gx),oneof:`value`},{no:2,name:`custom`,kind:`scalar`,T:9,oneof:`value`}]),gx=K.makeEnum(`livekit.DataTrackFrameEncoding.WellKnownFrameEncoding`,[{no:0,name:`WELL_KNOWN_FRAME_ENCODING_UNSPECIFIED`,localName:`UNSPECIFIED`},{no:1,name:`WELL_KNOWN_FRAME_ENCODING_ROS1`,localName:`ROS1`},{no:2,name:`WELL_KNOWN_FRAME_ENCODING_CDR`,localName:`CDR`},{no:3,name:`WELL_KNOWN_FRAME_ENCODING_PROTOBUF`,localName:`PROTOBUF`},{no:4,name:`WELL_KNOWN_FRAME_ENCODING_FLATBUFFER`,localName:`FLATBUFFER`},{no:5,name:`WELL_KNOWN_FRAME_ENCODING_CBOR`,localName:`CBOR`},{no:6,name:`WELL_KNOWN_FRAME_ENCODING_MSGPACK`,localName:`MSGPACK`},{no:7,name:`WELL_KNOWN_FRAME_ENCODING_JSON`,localName:`JSON`}]),_x=K.makeMessageType(`livekit.DataTrackSchemaEncoding`,()=>[{no:1,name:`well_known`,kind:`enum`,T:K.getEnumType(vx),oneof:`value`},{no:2,name:`custom`,kind:`scalar`,T:9,oneof:`value`}]),vx=K.makeEnum(`livekit.DataTrackSchemaEncoding.WellKnownSchemaEncoding`,[{no:0,name:`WELL_KNOWN_SCHEMA_ENCODING_UNSPECIFIED`,localName:`UNSPECIFIED`},{no:1,name:`WELL_KNOWN_SCHEMA_ENCODING_PROTOBUF`,localName:`PROTOBUF`},{no:2,name:`WELL_KNOWN_SCHEMA_ENCODING_FLATBUFFER`,localName:`FLATBUFFER`},{no:3,name:`WELL_KNOWN_SCHEMA_ENCODING_ROS1_MSG`,localName:`ROS1_MSG`},{no:4,name:`WELL_KNOWN_SCHEMA_ENCODING_ROS2_MSG`,localName:`ROS2_MSG`},{no:5,name:`WELL_KNOWN_SCHEMA_ENCODING_ROS2_IDL`,localName:`ROS2_IDL`},{no:6,name:`WELL_KNOWN_SCHEMA_ENCODING_OMG_IDL`,localName:`OMG_IDL`},{no:7,name:`WELL_KNOWN_SCHEMA_ENCODING_JSON_SCHEMA`,localName:`JSON_SCHEMA`}]),yx=K.makeMessageType(`livekit.DataTrackSchemaId`,()=>[{no:1,name:`name`,kind:`scalar`,T:9},{no:2,name:`encoding`,kind:`message`,T:_x}]),bx=K.makeMessageType(`livekit.DataTrackSubscriptionOptions`,()=>[{no:1,name:`target_fps`,kind:`scalar`,T:13,opt:!0}]),xx=K.makeMessageType(`livekit.DataBlobKey`,()=>[{no:1,name:`generic`,kind:`scalar`,T:9,oneof:`key`},{no:2,name:`schema_id`,kind:`message`,T:yx,oneof:`key`}]),Sx=K.makeMessageType(`livekit.DataBlob`,()=>[{no:1,name:`key`,kind:`message`,T:xx},{no:2,name:`contents`,kind:`scalar`,T:12}]),Cx=K.makeMessageType(`livekit.VideoLayer`,()=>[{no:1,name:`quality`,kind:`enum`,T:K.getEnumType(Xb)},{no:2,name:`width`,kind:`scalar`,T:13},{no:3,name:`height`,kind:`scalar`,T:13},{no:4,name:`bitrate`,kind:`scalar`,T:13},{no:5,name:`ssrc`,kind:`scalar`,T:13},{no:6,name:`spatial_layer`,kind:`scalar`,T:5},{no:7,name:`rid`,kind:`scalar`,T:9},{no:8,name:`repair_ssrc`,kind:`scalar`,T:13}]),wx=K.makeEnum(`livekit.VideoLayer.Mode`,[{no:0,name:`MODE_UNUSED`},{no:1,name:`ONE_SPATIAL_LAYER_PER_STREAM`},{no:2,name:`MULTIPLE_SPATIAL_LAYERS_PER_STREAM`},{no:3,name:`ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR`}]),Tx=K.makeMessageType(`livekit.DataPacket`,()=>[{no:1,name:`kind`,kind:`enum`,T:K.getEnumType(Ex)},{no:4,name:`participant_identity`,kind:`scalar`,T:9},{no:5,name:`destination_identities`,kind:`scalar`,T:9,repeated:!0},{no:2,name:`user`,kind:`message`,T:jx,oneof:`value`},{no:3,name:`speaker`,kind:`message`,T:kx,oneof:`value`},{no:6,name:`sip_dtmf`,kind:`message`,T:Mx,oneof:`value`},{no:7,name:`transcription`,kind:`message`,T:Nx,oneof:`value`},{no:8,name:`metrics`,kind:`message`,T:Ub,oneof:`value`},{no:9,name:`chat_message`,kind:`message`,T:Fx,oneof:`value`},{no:10,name:`rpc_request`,kind:`message`,T:Ix,oneof:`value`},{no:11,name:`rpc_ack`,kind:`message`,T:Lx,oneof:`value`},{no:12,name:`rpc_response`,kind:`message`,T:Rx,oneof:`value`},{no:13,name:`stream_header`,kind:`message`,T:eS,oneof:`value`},{no:14,name:`stream_chunk`,kind:`message`,T:tS,oneof:`value`},{no:15,name:`stream_trailer`,kind:`message`,T:nS,oneof:`value`},{no:18,name:`encrypted_packet`,kind:`message`,T:Dx,oneof:`value`},{no:16,name:`sequence`,kind:`scalar`,T:13},{no:17,name:`participant_sid`,kind:`scalar`,T:9}]),Ex=K.makeEnum(`livekit.DataPacket.Kind`,[{no:0,name:`RELIABLE`},{no:1,name:`LOSSY`}]),Dx=K.makeMessageType(`livekit.EncryptedPacket`,()=>[{no:1,name:`encryption_type`,kind:`enum`,T:K.getEnumType(dx)},{no:2,name:`iv`,kind:`scalar`,T:12},{no:3,name:`key_index`,kind:`scalar`,T:13},{no:4,name:`encrypted_value`,kind:`scalar`,T:12}]),Ox=K.makeMessageType(`livekit.EncryptedPacketPayload`,()=>[{no:1,name:`user`,kind:`message`,T:jx,oneof:`value`},{no:3,name:`chat_message`,kind:`message`,T:Fx,oneof:`value`},{no:4,name:`rpc_request`,kind:`message`,T:Ix,oneof:`value`},{no:5,name:`rpc_ack`,kind:`message`,T:Lx,oneof:`value`},{no:6,name:`rpc_response`,kind:`message`,T:Rx,oneof:`value`},{no:7,name:`stream_header`,kind:`message`,T:eS,oneof:`value`},{no:8,name:`stream_chunk`,kind:`message`,T:tS,oneof:`value`},{no:9,name:`stream_trailer`,kind:`message`,T:nS,oneof:`value`}]),kx=K.makeMessageType(`livekit.ActiveSpeakerUpdate`,()=>[{no:1,name:`speakers`,kind:`message`,T:Ax,repeated:!0}]),Ax=K.makeMessageType(`livekit.SpeakerInfo`,()=>[{no:1,name:`sid`,kind:`scalar`,T:9},{no:2,name:`level`,kind:`scalar`,T:2},{no:3,name:`active`,kind:`scalar`,T:8}]),jx=K.makeMessageType(`livekit.UserPacket`,()=>[{no:1,name:`participant_sid`,kind:`scalar`,T:9},{no:5,name:`participant_identity`,kind:`scalar`,T:9},{no:2,name:`payload`,kind:`scalar`,T:12},{no:3,name:`destination_sids`,kind:`scalar`,T:9,repeated:!0},{no:6,name:`destination_identities`,kind:`scalar`,T:9,repeated:!0},{no:4,name:`topic`,kind:`scalar`,T:9,opt:!0},{no:8,name:`id`,kind:`scalar`,T:9,opt:!0},{no:9,name:`start_time`,kind:`scalar`,T:4,opt:!0},{no:10,name:`end_time`,kind:`scalar`,T:4,opt:!0},{no:11,name:`nonce`,kind:`scalar`,T:12}]),Mx=K.makeMessageType(`livekit.SipDTMF`,()=>[{no:3,name:`code`,kind:`scalar`,T:13},{no:4,name:`digit`,kind:`scalar`,T:9}]),Nx=K.makeMessageType(`livekit.Transcription`,()=>[{no:2,name:`transcribed_participant_identity`,kind:`scalar`,T:9},{no:3,name:`track_id`,kind:`scalar`,T:9},{no:4,name:`segments`,kind:`message`,T:Px,repeated:!0}]),Px=K.makeMessageType(`livekit.TranscriptionSegment`,()=>[{no:1,name:`id`,kind:`scalar`,T:9},{no:2,name:`text`,kind:`scalar`,T:9},{no:3,name:`start_time`,kind:`scalar`,T:4},{no:4,name:`end_time`,kind:`scalar`,T:4},{no:5,name:`final`,kind:`scalar`,T:8},{no:6,name:`language`,kind:`scalar`,T:9}]),Fx=K.makeMessageType(`livekit.ChatMessage`,()=>[{no:1,name:`id`,kind:`scalar`,T:9},{no:2,name:`timestamp`,kind:`scalar`,T:3},{no:3,name:`edit_timestamp`,kind:`scalar`,T:3,opt:!0},{no:4,name:`message`,kind:`scalar`,T:9},{no:5,name:`deleted`,kind:`scalar`,T:8},{no:6,name:`generated`,kind:`scalar`,T:8}]),Ix=K.makeMessageType(`livekit.RpcRequest`,()=>[{no:1,name:`id`,kind:`scalar`,T:9},{no:2,name:`method`,kind:`scalar`,T:9},{no:3,name:`payload`,kind:`scalar`,T:9},{no:4,name:`response_timeout_ms`,kind:`scalar`,T:13},{no:5,name:`version`,kind:`scalar`,T:13},{no:6,name:`compressed_payload`,kind:`scalar`,T:12}]),Lx=K.makeMessageType(`livekit.RpcAck`,()=>[{no:1,name:`request_id`,kind:`scalar`,T:9}]),Rx=K.makeMessageType(`livekit.RpcResponse`,()=>[{no:1,name:`request_id`,kind:`scalar`,T:9},{no:2,name:`payload`,kind:`scalar`,T:9,oneof:`value`},{no:3,name:`error`,kind:`message`,T:zx,oneof:`value`},{no:4,name:`compressed_payload`,kind:`scalar`,T:12,oneof:`value`}]),zx=K.makeMessageType(`livekit.RpcError`,()=>[{no:1,name:`code`,kind:`scalar`,T:13},{no:2,name:`message`,kind:`scalar`,T:9},{no:3,name:`data`,kind:`scalar`,T:9}]),Bx=K.makeMessageType(`livekit.ParticipantTracks`,()=>[{no:1,name:`participant_sid`,kind:`scalar`,T:9},{no:2,name:`track_sids`,kind:`scalar`,T:9,repeated:!0}]),Vx=K.makeMessageType(`livekit.ServerInfo`,()=>[{no:1,name:`edition`,kind:`enum`,T:K.getEnumType(Hx)},{no:2,name:`version`,kind:`scalar`,T:9},{no:3,name:`protocol`,kind:`scalar`,T:5},{no:4,name:`region`,kind:`scalar`,T:9},{no:5,name:`node_id`,kind:`scalar`,T:9},{no:6,name:`debug_info`,kind:`scalar`,T:9},{no:7,name:`agent_protocol`,kind:`scalar`,T:5}]),Hx=K.makeEnum(`livekit.ServerInfo.Edition`,[{no:0,name:`Standard`},{no:1,name:`Cloud`}]),Ux=K.makeMessageType(`livekit.ClientInfo`,()=>[{no:1,name:`sdk`,kind:`enum`,T:K.getEnumType(Wx)},{no:2,name:`version`,kind:`scalar`,T:9},{no:3,name:`protocol`,kind:`scalar`,T:5},{no:4,name:`os`,kind:`scalar`,T:9},{no:5,name:`os_version`,kind:`scalar`,T:9},{no:6,name:`device_model`,kind:`scalar`,T:9},{no:7,name:`browser`,kind:`scalar`,T:9},{no:8,name:`browser_version`,kind:`scalar`,T:9},{no:9,name:`address`,kind:`scalar`,T:9},{no:10,name:`network`,kind:`scalar`,T:9},{no:11,name:`other_sdks`,kind:`scalar`,T:9},{no:12,name:`client_protocol`,kind:`scalar`,T:5},{no:13,name:`capabilities`,kind:`enum`,T:K.getEnumType(Gx),repeated:!0}]),Wx=K.makeEnum(`livekit.ClientInfo.SDK`,[{no:0,name:`UNKNOWN`},{no:1,name:`JS`},{no:2,name:`SWIFT`},{no:3,name:`ANDROID`},{no:4,name:`FLUTTER`},{no:5,name:`GO`},{no:6,name:`UNITY`},{no:7,name:`REACT_NATIVE`},{no:8,name:`RUST`},{no:9,name:`PYTHON`},{no:10,name:`CPP`},{no:11,name:`UNITY_WEB`},{no:12,name:`NODE`},{no:13,name:`UNREAL`},{no:14,name:`ESP32`}]),Gx=K.makeEnum(`livekit.ClientInfo.Capability`,[{no:0,name:`CAP_UNUSED`},{no:1,name:`CAP_PACKET_TRAILER`},{no:2,name:`CAP_COMPRESSION_DEFLATE_RAW`}]),Kx=K.makeMessageType(`livekit.ClientConfiguration`,()=>[{no:1,name:`video`,kind:`message`,T:qx},{no:2,name:`screen`,kind:`message`,T:qx},{no:3,name:`resume_connection`,kind:`enum`,T:K.getEnumType(Qb)},{no:4,name:`disabled_codecs`,kind:`message`,T:Jx},{no:5,name:`force_relay`,kind:`enum`,T:K.getEnumType(Qb)}]),qx=K.makeMessageType(`livekit.VideoConfiguration`,()=>[{no:1,name:`hardware_encoder`,kind:`enum`,T:K.getEnumType(Qb)}]),Jx=K.makeMessageType(`livekit.DisabledCodecs`,()=>[{no:1,name:`codecs`,kind:`message`,T:ax,repeated:!0},{no:2,name:`publish`,kind:`message`,T:ax,repeated:!0}]),Yx=K.makeMessageType(`livekit.TimedVersion`,()=>[{no:1,name:`unix_micro`,kind:`scalar`,T:3},{no:2,name:`ticks`,kind:`scalar`,T:5}]),Xx=K.makeEnum(`livekit.DataStream.OperationType`,[{no:0,name:`CREATE`},{no:1,name:`UPDATE`},{no:2,name:`DELETE`},{no:3,name:`REACTION`}]),Zx=K.makeEnum(`livekit.DataStream.CompressionType`,[{no:0,name:`NONE`},{no:1,name:`DEFLATE_RAW`}]),Qx=K.makeMessageType(`livekit.DataStream.TextHeader`,()=>[{no:1,name:`operation_type`,kind:`enum`,T:K.getEnumType(Xx)},{no:2,name:`version`,kind:`scalar`,T:5},{no:3,name:`reply_to_stream_id`,kind:`scalar`,T:9},{no:4,name:`attached_stream_ids`,kind:`scalar`,T:9,repeated:!0},{no:5,name:`generated`,kind:`scalar`,T:8}],{localName:`DataStream_TextHeader`}),$x=K.makeMessageType(`livekit.DataStream.ByteHeader`,()=>[{no:1,name:`name`,kind:`scalar`,T:9}],{localName:`DataStream_ByteHeader`}),eS=K.makeMessageType(`livekit.DataStream.Header`,()=>[{no:1,name:`stream_id`,kind:`scalar`,T:9},{no:2,name:`timestamp`,kind:`scalar`,T:3},{no:3,name:`topic`,kind:`scalar`,T:9},{no:4,name:`mime_type`,kind:`scalar`,T:9},{no:5,name:`total_length`,kind:`scalar`,T:4,opt:!0},{no:7,name:`encryption_type`,kind:`enum`,T:K.getEnumType(dx)},{no:8,name:`attributes`,kind:`map`,K:9,V:{kind:`scalar`,T:9}},{no:9,name:`text_header`,kind:`message`,T:Qx,oneof:`content_header`},{no:10,name:`byte_header`,kind:`message`,T:$x,oneof:`content_header`},{no:11,name:`inline_content`,kind:`scalar`,T:12,opt:!0},{no:12,name:`compression`,kind:`enum`,T:K.getEnumType(Zx)}],{localName:`DataStream_Header`}),tS=K.makeMessageType(`livekit.DataStream.Chunk`,()=>[{no:1,name:`stream_id`,kind:`scalar`,T:9},{no:2,name:`chunk_index`,kind:`scalar`,T:4},{no:3,name:`content`,kind:`scalar`,T:12},{no:4,name:`version`,kind:`scalar`,T:5},{no:5,name:`iv`,kind:`scalar`,T:12,opt:!0}],{localName:`DataStream_Chunk`}),nS=K.makeMessageType(`livekit.DataStream.Trailer`,()=>[{no:1,name:`stream_id`,kind:`scalar`,T:9},{no:2,name:`reason`,kind:`scalar`,T:9},{no:3,name:`attributes`,kind:`map`,K:9,V:{kind:`scalar`,T:9}}],{localName:`DataStream_Trailer`}),rS=K.makeMessageType(`livekit.SubscribedAudioCodec`,()=>[{no:1,name:`codec`,kind:`scalar`,T:9},{no:2,name:`enabled`,kind:`scalar`,T:8}]),iS=K.makeEnum(`livekit.SignalTarget`,[{no:0,name:`PUBLISHER`},{no:1,name:`SUBSCRIBER`}]),aS=K.makeEnum(`livekit.StreamState`,[{no:0,name:`ACTIVE`},{no:1,name:`PAUSED`}]),oS=K.makeEnum(`livekit.CandidateProtocol`,[{no:0,name:`UDP`},{no:1,name:`TCP`},{no:2,name:`TLS`}]),sS=K.makeMessageType(`livekit.SignalRequest`,()=>[{no:1,name:`offer`,kind:`message`,T:CS,oneof:`message`},{no:2,name:`answer`,kind:`message`,T:CS,oneof:`message`},{no:3,name:`trickle`,kind:`message`,T:_S,oneof:`message`},{no:4,name:`add_track`,kind:`message`,T:uS,oneof:`message`},{no:5,name:`mute`,kind:`message`,T:vS,oneof:`message`},{no:6,name:`subscription`,kind:`message`,T:TS,oneof:`message`},{no:7,name:`track_setting`,kind:`message`,T:MS,oneof:`message`},{no:8,name:`leave`,kind:`message`,T:FS,oneof:`message`},{no:10,name:`update_layers`,kind:`message`,T:LS,oneof:`message`},{no:11,name:`subscription_permission`,kind:`message`,T:ZS,oneof:`message`},{no:12,name:`sync_state`,kind:`message`,T:eC,oneof:`message`},{no:13,name:`simulate`,kind:`message`,T:rC,oneof:`message`},{no:14,name:`ping`,kind:`scalar`,T:3,oneof:`message`},{no:15,name:`update_metadata`,kind:`message`,T:RS,oneof:`message`},{no:16,name:`ping_req`,kind:`message`,T:iC,oneof:`message`},{no:17,name:`update_audio_track`,kind:`message`,T:NS,oneof:`message`},{no:18,name:`update_video_track`,kind:`message`,T:PS,oneof:`message`},{no:19,name:`publish_data_track_request`,kind:`message`,T:dS,oneof:`message`},{no:20,name:`unpublish_data_track_request`,kind:`message`,T:pS,oneof:`message`},{no:21,name:`update_data_subscription`,kind:`message`,T:ES,oneof:`message`},{no:22,name:`store_data_blob_request`,kind:`message`,T:OS,oneof:`message`},{no:23,name:`get_data_blob_request`,kind:`message`,T:AS,oneof:`message`}]),cS=K.makeMessageType(`livekit.SignalResponse`,()=>[{no:1,name:`join`,kind:`message`,T:yS,oneof:`message`},{no:2,name:`answer`,kind:`message`,T:CS,oneof:`message`},{no:3,name:`offer`,kind:`message`,T:CS,oneof:`message`},{no:4,name:`trickle`,kind:`message`,T:_S,oneof:`message`},{no:5,name:`update`,kind:`message`,T:wS,oneof:`message`},{no:6,name:`track_published`,kind:`message`,T:xS,oneof:`message`},{no:8,name:`leave`,kind:`message`,T:FS,oneof:`message`},{no:9,name:`mute`,kind:`message`,T:vS,oneof:`message`},{no:10,name:`speakers_changed`,kind:`message`,T:BS,oneof:`message`},{no:11,name:`room_update`,kind:`message`,T:VS,oneof:`message`},{no:12,name:`connection_quality`,kind:`message`,T:US,oneof:`message`},{no:13,name:`stream_state_update`,kind:`message`,T:GS,oneof:`message`},{no:14,name:`subscribed_quality_update`,kind:`message`,T:JS,oneof:`message`},{no:15,name:`subscription_permission_update`,kind:`message`,T:QS,oneof:`message`},{no:16,name:`refresh_token`,kind:`scalar`,T:9,oneof:`message`},{no:17,name:`track_unpublished`,kind:`message`,T:SS,oneof:`message`},{no:18,name:`pong`,kind:`scalar`,T:3,oneof:`message`},{no:19,name:`reconnect`,kind:`message`,T:bS,oneof:`message`},{no:20,name:`pong_resp`,kind:`message`,T:aC,oneof:`message`},{no:21,name:`subscription_response`,kind:`message`,T:cC,oneof:`message`},{no:22,name:`request_response`,kind:`message`,T:lC,oneof:`message`},{no:23,name:`track_subscribed`,kind:`message`,T:dC,oneof:`message`},{no:24,name:`room_moved`,kind:`message`,T:$S,oneof:`message`},{no:25,name:`media_sections_requirement`,kind:`message`,T:gC,oneof:`message`},{no:26,name:`subscribed_audio_codec_update`,kind:`message`,T:YS,oneof:`message`},{no:27,name:`publish_data_track_response`,kind:`message`,T:fS,oneof:`message`},{no:28,name:`unpublish_data_track_response`,kind:`message`,T:mS,oneof:`message`},{no:29,name:`data_track_subscriber_handles`,kind:`message`,T:hS,oneof:`message`},{no:30,name:`store_data_blob_response`,kind:`message`,T:kS,oneof:`message`},{no:31,name:`get_data_blob_response`,kind:`message`,T:jS,oneof:`message`}]),lS=K.makeMessageType(`livekit.SimulcastCodec`,()=>[{no:1,name:`codec`,kind:`scalar`,T:9},{no:2,name:`cid`,kind:`scalar`,T:9},{no:4,name:`layers`,kind:`message`,T:Cx,repeated:!0},{no:5,name:`video_layer_mode`,kind:`enum`,T:K.getEnumType(wx)}]),uS=K.makeMessageType(`livekit.AddTrackRequest`,()=>[{no:1,name:`cid`,kind:`scalar`,T:9},{no:2,name:`name`,kind:`scalar`,T:9},{no:3,name:`type`,kind:`enum`,T:K.getEnumType(Jb)},{no:4,name:`width`,kind:`scalar`,T:13},{no:5,name:`height`,kind:`scalar`,T:13},{no:6,name:`muted`,kind:`scalar`,T:8},{no:7,name:`disable_dtx`,kind:`scalar`,T:8},{no:8,name:`source`,kind:`enum`,T:K.getEnumType(Yb)},{no:9,name:`layers`,kind:`message`,T:Cx,repeated:!0},{no:10,name:`simulcast_codecs`,kind:`message`,T:lS,repeated:!0},{no:11,name:`sid`,kind:`scalar`,T:9},{no:12,name:`stereo`,kind:`scalar`,T:8},{no:13,name:`disable_red`,kind:`scalar`,T:8},{no:14,name:`encryption`,kind:`enum`,T:K.getEnumType(dx)},{no:15,name:`stream`,kind:`scalar`,T:9},{no:16,name:`backup_codec_policy`,kind:`enum`,T:K.getEnumType(qb)},{no:17,name:`audio_features`,kind:`enum`,T:K.getEnumType(nx),repeated:!0},{no:18,name:`packet_trailer_features`,kind:`enum`,T:K.getEnumType(rx),repeated:!0}]),dS=K.makeMessageType(`livekit.PublishDataTrackRequest`,()=>[{no:1,name:`pub_handle`,kind:`scalar`,T:13},{no:2,name:`name`,kind:`scalar`,T:9},{no:3,name:`encryption`,kind:`enum`,T:K.getEnumType(dx)},{no:4,name:`frame_encoding`,kind:`message`,T:hx,opt:!0},{no:5,name:`schema`,kind:`message`,T:yx,opt:!0}]),fS=K.makeMessageType(`livekit.PublishDataTrackResponse`,()=>[{no:1,name:`info`,kind:`message`,T:mx}]),pS=K.makeMessageType(`livekit.UnpublishDataTrackRequest`,()=>[{no:1,name:`pub_handle`,kind:`scalar`,T:13}]),mS=K.makeMessageType(`livekit.UnpublishDataTrackResponse`,()=>[{no:1,name:`info`,kind:`message`,T:mx}]),hS=K.makeMessageType(`livekit.DataTrackSubscriberHandles`,()=>[{no:1,name:`sub_handles`,kind:`map`,K:13,V:{kind:`message`,T:gS}}]),gS=K.makeMessageType(`livekit.DataTrackSubscriberHandles.PublishedDataTrack`,()=>[{no:1,name:`publisher_identity`,kind:`scalar`,T:9},{no:2,name:`publisher_sid`,kind:`scalar`,T:9},{no:3,name:`track_sid`,kind:`scalar`,T:9}],{localName:`DataTrackSubscriberHandles_PublishedDataTrack`}),_S=K.makeMessageType(`livekit.TrickleRequest`,()=>[{no:1,name:`candidateInit`,kind:`scalar`,T:9},{no:2,name:`target`,kind:`enum`,T:K.getEnumType(iS)},{no:3,name:`final`,kind:`scalar`,T:8}]),vS=K.makeMessageType(`livekit.MuteTrackRequest`,()=>[{no:1,name:`sid`,kind:`scalar`,T:9},{no:2,name:`muted`,kind:`scalar`,T:8}]),yS=K.makeMessageType(`livekit.JoinResponse`,()=>[{no:1,name:`room`,kind:`message`,T:ix},{no:2,name:`participant`,kind:`message`,T:sx},{no:3,name:`other_participants`,kind:`message`,T:sx,repeated:!0},{no:4,name:`server_version`,kind:`scalar`,T:9},{no:5,name:`ice_servers`,kind:`message`,T:zS,repeated:!0},{no:6,name:`subscriber_primary`,kind:`scalar`,T:8},{no:7,name:`alternative_url`,kind:`scalar`,T:9},{no:8,name:`client_configuration`,kind:`message`,T:Kx},{no:9,name:`server_region`,kind:`scalar`,T:9},{no:10,name:`ping_timeout`,kind:`scalar`,T:5},{no:11,name:`ping_interval`,kind:`scalar`,T:5},{no:12,name:`server_info`,kind:`message`,T:Vx},{no:13,name:`sif_trailer`,kind:`scalar`,T:12},{no:14,name:`enabled_publish_codecs`,kind:`message`,T:ax,repeated:!0},{no:15,name:`fast_publish`,kind:`scalar`,T:8}]),bS=K.makeMessageType(`livekit.ReconnectResponse`,()=>[{no:1,name:`ice_servers`,kind:`message`,T:zS,repeated:!0},{no:2,name:`client_configuration`,kind:`message`,T:Kx},{no:3,name:`server_info`,kind:`message`,T:Vx},{no:4,name:`last_message_seq`,kind:`scalar`,T:13}]),xS=K.makeMessageType(`livekit.TrackPublishedResponse`,()=>[{no:1,name:`cid`,kind:`scalar`,T:9},{no:2,name:`track`,kind:`message`,T:px}]),SS=K.makeMessageType(`livekit.TrackUnpublishedResponse`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9}]),CS=K.makeMessageType(`livekit.SessionDescription`,()=>[{no:1,name:`type`,kind:`scalar`,T:9},{no:2,name:`sdp`,kind:`scalar`,T:9},{no:3,name:`id`,kind:`scalar`,T:13},{no:4,name:`mid_to_track_id`,kind:`map`,K:9,V:{kind:`scalar`,T:9}}]),wS=K.makeMessageType(`livekit.ParticipantUpdate`,()=>[{no:1,name:`participants`,kind:`message`,T:sx,repeated:!0}]),TS=K.makeMessageType(`livekit.UpdateSubscription`,()=>[{no:1,name:`track_sids`,kind:`scalar`,T:9,repeated:!0},{no:2,name:`subscribe`,kind:`scalar`,T:8},{no:3,name:`participant_tracks`,kind:`message`,T:Bx,repeated:!0}]),ES=K.makeMessageType(`livekit.UpdateDataSubscription`,()=>[{no:1,name:`updates`,kind:`message`,T:DS,repeated:!0}]),DS=K.makeMessageType(`livekit.UpdateDataSubscription.Update`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9},{no:2,name:`subscribe`,kind:`scalar`,T:8},{no:3,name:`options`,kind:`message`,T:bx}],{localName:`UpdateDataSubscription_Update`}),OS=K.makeMessageType(`livekit.StoreDataBlobRequest`,()=>[{no:1,name:`request_id`,kind:`scalar`,T:13},{no:2,name:`blob`,kind:`message`,T:Sx}]),kS=K.makeMessageType(`livekit.StoreDataBlobResponse`,()=>[{no:1,name:`request_id`,kind:`scalar`,T:13},{no:2,name:`key`,kind:`message`,T:xx}]),AS=K.makeMessageType(`livekit.GetDataBlobRequest`,()=>[{no:1,name:`request_id`,kind:`scalar`,T:13},{no:2,name:`participant_identity`,kind:`scalar`,T:9},{no:3,name:`key`,kind:`message`,T:xx}]),jS=K.makeMessageType(`livekit.GetDataBlobResponse`,()=>[{no:1,name:`request_id`,kind:`scalar`,T:13},{no:2,name:`blob`,kind:`message`,T:Sx}]),MS=K.makeMessageType(`livekit.UpdateTrackSettings`,()=>[{no:1,name:`track_sids`,kind:`scalar`,T:9,repeated:!0},{no:3,name:`disabled`,kind:`scalar`,T:8},{no:4,name:`quality`,kind:`enum`,T:K.getEnumType(Xb)},{no:5,name:`width`,kind:`scalar`,T:13},{no:6,name:`height`,kind:`scalar`,T:13},{no:7,name:`fps`,kind:`scalar`,T:13},{no:8,name:`priority`,kind:`scalar`,T:13}]),NS=K.makeMessageType(`livekit.UpdateLocalAudioTrack`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9},{no:2,name:`features`,kind:`enum`,T:K.getEnumType(nx),repeated:!0}]),PS=K.makeMessageType(`livekit.UpdateLocalVideoTrack`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9},{no:2,name:`width`,kind:`scalar`,T:13},{no:3,name:`height`,kind:`scalar`,T:13}]),FS=K.makeMessageType(`livekit.LeaveRequest`,()=>[{no:1,name:`can_reconnect`,kind:`scalar`,T:8},{no:2,name:`reason`,kind:`enum`,T:K.getEnumType($b)},{no:3,name:`action`,kind:`enum`,T:K.getEnumType(IS)},{no:4,name:`regions`,kind:`message`,T:oC}]),IS=K.makeEnum(`livekit.LeaveRequest.Action`,[{no:0,name:`DISCONNECT`},{no:1,name:`RESUME`},{no:2,name:`RECONNECT`}]),LS=K.makeMessageType(`livekit.UpdateVideoLayers`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9},{no:2,name:`layers`,kind:`message`,T:Cx,repeated:!0}]),RS=K.makeMessageType(`livekit.UpdateParticipantMetadata`,()=>[{no:1,name:`metadata`,kind:`scalar`,T:9},{no:2,name:`name`,kind:`scalar`,T:9},{no:3,name:`attributes`,kind:`map`,K:9,V:{kind:`scalar`,T:9}},{no:4,name:`request_id`,kind:`scalar`,T:13}]),zS=K.makeMessageType(`livekit.ICEServer`,()=>[{no:1,name:`urls`,kind:`scalar`,T:9,repeated:!0},{no:2,name:`username`,kind:`scalar`,T:9},{no:3,name:`credential`,kind:`scalar`,T:9}]),BS=K.makeMessageType(`livekit.SpeakersChanged`,()=>[{no:1,name:`speakers`,kind:`message`,T:Ax,repeated:!0}]),VS=K.makeMessageType(`livekit.RoomUpdate`,()=>[{no:1,name:`room`,kind:`message`,T:ix}]),HS=K.makeMessageType(`livekit.ConnectionQualityInfo`,()=>[{no:1,name:`participant_sid`,kind:`scalar`,T:9},{no:2,name:`quality`,kind:`enum`,T:K.getEnumType(Zb)},{no:3,name:`score`,kind:`scalar`,T:2}]),US=K.makeMessageType(`livekit.ConnectionQualityUpdate`,()=>[{no:1,name:`updates`,kind:`message`,T:HS,repeated:!0}]),WS=K.makeMessageType(`livekit.StreamStateInfo`,()=>[{no:1,name:`participant_sid`,kind:`scalar`,T:9},{no:2,name:`track_sid`,kind:`scalar`,T:9},{no:3,name:`state`,kind:`enum`,T:K.getEnumType(aS)}]),GS=K.makeMessageType(`livekit.StreamStateUpdate`,()=>[{no:1,name:`stream_states`,kind:`message`,T:WS,repeated:!0}]),KS=K.makeMessageType(`livekit.SubscribedQuality`,()=>[{no:1,name:`quality`,kind:`enum`,T:K.getEnumType(Xb)},{no:2,name:`enabled`,kind:`scalar`,T:8}]),qS=K.makeMessageType(`livekit.SubscribedCodec`,()=>[{no:1,name:`codec`,kind:`scalar`,T:9},{no:2,name:`qualities`,kind:`message`,T:KS,repeated:!0}]),JS=K.makeMessageType(`livekit.SubscribedQualityUpdate`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9},{no:2,name:`subscribed_qualities`,kind:`message`,T:KS,repeated:!0},{no:3,name:`subscribed_codecs`,kind:`message`,T:qS,repeated:!0}]),YS=K.makeMessageType(`livekit.SubscribedAudioCodecUpdate`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9},{no:2,name:`subscribed_audio_codecs`,kind:`message`,T:rS,repeated:!0}]),XS=K.makeMessageType(`livekit.TrackPermission`,()=>[{no:1,name:`participant_sid`,kind:`scalar`,T:9},{no:2,name:`all_tracks`,kind:`scalar`,T:8},{no:3,name:`track_sids`,kind:`scalar`,T:9,repeated:!0},{no:4,name:`participant_identity`,kind:`scalar`,T:9}]),ZS=K.makeMessageType(`livekit.SubscriptionPermission`,()=>[{no:1,name:`all_participants`,kind:`scalar`,T:8},{no:2,name:`track_permissions`,kind:`message`,T:XS,repeated:!0}]),QS=K.makeMessageType(`livekit.SubscriptionPermissionUpdate`,()=>[{no:1,name:`participant_sid`,kind:`scalar`,T:9},{no:2,name:`track_sid`,kind:`scalar`,T:9},{no:3,name:`allowed`,kind:`scalar`,T:8}]),$S=K.makeMessageType(`livekit.RoomMovedResponse`,()=>[{no:1,name:`room`,kind:`message`,T:ix},{no:2,name:`token`,kind:`scalar`,T:9},{no:3,name:`participant`,kind:`message`,T:sx},{no:4,name:`other_participants`,kind:`message`,T:sx,repeated:!0}]),eC=K.makeMessageType(`livekit.SyncState`,()=>[{no:1,name:`answer`,kind:`message`,T:CS},{no:2,name:`subscription`,kind:`message`,T:TS},{no:3,name:`publish_tracks`,kind:`message`,T:xS,repeated:!0},{no:4,name:`data_channels`,kind:`message`,T:nC,repeated:!0},{no:5,name:`offer`,kind:`message`,T:CS},{no:6,name:`track_sids_disabled`,kind:`scalar`,T:9,repeated:!0},{no:7,name:`datachannel_receive_states`,kind:`message`,T:tC,repeated:!0},{no:8,name:`publish_data_tracks`,kind:`message`,T:fS,repeated:!0}]),tC=K.makeMessageType(`livekit.DataChannelReceiveState`,()=>[{no:1,name:`publisher_sid`,kind:`scalar`,T:9},{no:2,name:`last_seq`,kind:`scalar`,T:13}]),nC=K.makeMessageType(`livekit.DataChannelInfo`,()=>[{no:1,name:`label`,kind:`scalar`,T:9},{no:2,name:`id`,kind:`scalar`,T:13},{no:3,name:`target`,kind:`enum`,T:K.getEnumType(iS)}]),rC=K.makeMessageType(`livekit.SimulateScenario`,()=>[{no:1,name:`speaker_update`,kind:`scalar`,T:5,oneof:`scenario`},{no:2,name:`node_failure`,kind:`scalar`,T:8,oneof:`scenario`},{no:3,name:`migration`,kind:`scalar`,T:8,oneof:`scenario`},{no:4,name:`server_leave`,kind:`scalar`,T:8,oneof:`scenario`},{no:5,name:`switch_candidate_protocol`,kind:`enum`,T:K.getEnumType(oS),oneof:`scenario`},{no:6,name:`subscriber_bandwidth`,kind:`scalar`,T:3,oneof:`scenario`},{no:7,name:`disconnect_signal_on_resume`,kind:`scalar`,T:8,oneof:`scenario`},{no:8,name:`disconnect_signal_on_resume_no_messages`,kind:`scalar`,T:8,oneof:`scenario`},{no:9,name:`leave_request_full_reconnect`,kind:`scalar`,T:8,oneof:`scenario`}]),iC=K.makeMessageType(`livekit.Ping`,()=>[{no:1,name:`timestamp`,kind:`scalar`,T:3},{no:2,name:`rtt`,kind:`scalar`,T:3}]),aC=K.makeMessageType(`livekit.Pong`,()=>[{no:1,name:`last_ping_timestamp`,kind:`scalar`,T:3},{no:2,name:`timestamp`,kind:`scalar`,T:3}]),oC=K.makeMessageType(`livekit.RegionSettings`,()=>[{no:1,name:`regions`,kind:`message`,T:sC,repeated:!0}]),sC=K.makeMessageType(`livekit.RegionInfo`,()=>[{no:1,name:`region`,kind:`scalar`,T:9},{no:2,name:`url`,kind:`scalar`,T:9},{no:3,name:`distance`,kind:`scalar`,T:3}]),cC=K.makeMessageType(`livekit.SubscriptionResponse`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9},{no:2,name:`err`,kind:`enum`,T:K.getEnumType(tx)}]),lC=K.makeMessageType(`livekit.RequestResponse`,()=>[{no:1,name:`request_id`,kind:`scalar`,T:13},{no:2,name:`reason`,kind:`enum`,T:K.getEnumType(uC)},{no:3,name:`message`,kind:`scalar`,T:9},{no:4,name:`trickle`,kind:`message`,T:_S,oneof:`request`},{no:5,name:`add_track`,kind:`message`,T:uS,oneof:`request`},{no:6,name:`mute`,kind:`message`,T:vS,oneof:`request`},{no:7,name:`update_metadata`,kind:`message`,T:RS,oneof:`request`},{no:8,name:`update_audio_track`,kind:`message`,T:NS,oneof:`request`},{no:9,name:`update_video_track`,kind:`message`,T:PS,oneof:`request`},{no:10,name:`publish_data_track`,kind:`message`,T:dS,oneof:`request`},{no:11,name:`unpublish_data_track`,kind:`message`,T:pS,oneof:`request`}]),uC=K.makeEnum(`livekit.RequestResponse.Reason`,[{no:0,name:`OK`},{no:1,name:`NOT_FOUND`},{no:2,name:`NOT_ALLOWED`},{no:3,name:`LIMIT_EXCEEDED`},{no:4,name:`QUEUED`},{no:5,name:`UNSUPPORTED_TYPE`},{no:6,name:`UNCLASSIFIED_ERROR`},{no:7,name:`INVALID_HANDLE`},{no:8,name:`INVALID_NAME`},{no:9,name:`DUPLICATE_HANDLE`},{no:10,name:`DUPLICATE_NAME`},{no:11,name:`INVALID_REQUEST`}]),dC=K.makeMessageType(`livekit.TrackSubscribed`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9}]),fC=K.makeMessageType(`livekit.ConnectionSettings`,()=>[{no:1,name:`auto_subscribe`,kind:`scalar`,T:8},{no:2,name:`adaptive_stream`,kind:`scalar`,T:8},{no:3,name:`subscriber_allow_pause`,kind:`scalar`,T:8,opt:!0},{no:4,name:`disable_ice_lite`,kind:`scalar`,T:8},{no:5,name:`auto_subscribe_data_track`,kind:`scalar`,T:8,opt:!0}]),pC=K.makeMessageType(`livekit.JoinRequest`,()=>[{no:1,name:`client_info`,kind:`message`,T:Ux},{no:2,name:`connection_settings`,kind:`message`,T:fC},{no:3,name:`metadata`,kind:`scalar`,T:9},{no:4,name:`participant_attributes`,kind:`map`,K:9,V:{kind:`scalar`,T:9}},{no:5,name:`add_track_requests`,kind:`message`,T:uS,repeated:!0},{no:6,name:`publisher_offer`,kind:`message`,T:CS},{no:7,name:`reconnect`,kind:`scalar`,T:8},{no:8,name:`reconnect_reason`,kind:`enum`,T:K.getEnumType(ex)},{no:9,name:`participant_sid`,kind:`scalar`,T:9},{no:10,name:`sync_state`,kind:`message`,T:eC}]),mC=K.makeMessageType(`livekit.WrappedJoinRequest`,()=>[{no:1,name:`compression`,kind:`enum`,T:K.getEnumType(hC)},{no:2,name:`join_request`,kind:`scalar`,T:12}]),hC=K.makeEnum(`livekit.WrappedJoinRequest.Compression`,[{no:0,name:`NONE`},{no:1,name:`GZIP`}]),gC=K.makeMessageType(`livekit.MediaSectionsRequirement`,()=>[{no:1,name:`num_audios`,kind:`scalar`,T:13},{no:2,name:`num_videos`,kind:`scalar`,T:13}]);function _C(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var vC={exports:{}},yC=vC.exports,bC;function xC(){return bC?vC.exports:(bC=1,(function(e){(function(t,n){e.exports?e.exports=n():t.log=n()})(yC,function(){var e=function(){},t=`undefined`,n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=[`trace`,`debug`,`info`,`warn`,`error`],i={},a=null;function o(e,t){var n=e[t];if(typeof n.bind==`function`)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch{return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(r){return r===`debug`&&(r=`log`),typeof console===t?!1:r===`trace`&&n?s:console[r]===void 0?console.log===void 0?e:o(console,`log`):o(console,r)}function l(){for(var n=this.getLevel(),i=0;i<r.length;i++){var a=r[i];this[a]=i<n?e:this.methodFactory(a,n,this.name)}if(this.log=this.debug,typeof console===t&&n<this.levels.SILENT)return`No console available for logging`}function u(e){return function(){typeof console!==t&&(l.call(this),this[e].apply(this,arguments))}}function d(e,t,n){return c(e)||u.apply(this,arguments)}function f(e,n){var o=this,s,c,u,f=`loglevel`;typeof e==`string`?f+=`:`+e:typeof e==`symbol`&&(f=void 0);function p(e){var n=(r[e]||`silent`).toUpperCase();if(typeof window!==t&&f){try{window.localStorage[f]=n;return}catch{}try{window.document.cookie=encodeURIComponent(f)+`=`+n+`;`}catch{}}}function m(){var e;if(typeof window!==t&&f){try{e=window.localStorage[f]}catch{}if(typeof e===t)try{var n=window.document.cookie,r=encodeURIComponent(f),i=n.indexOf(r+`=`);i!==-1&&(e=/^([^;]+)/.exec(n.slice(i+r.length+1))[1])}catch{}return o.levels[e]===void 0&&(e=void 0),e}}function h(){if(typeof window!==t&&f){try{window.localStorage.removeItem(f)}catch{}try{window.document.cookie=encodeURIComponent(f)+`=; expires=Thu, 01 Jan 1970 00:00:00 UTC`}catch{}}}function g(e){var t=e;if(typeof t==`string`&&o.levels[t.toUpperCase()]!==void 0&&(t=o.levels[t.toUpperCase()]),typeof t==`number`&&t>=0&&t<=o.levels.SILENT)return t;throw TypeError(`log.setLevel() called with invalid level: `+e)}o.name=e,o.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},o.methodFactory=n||d,o.getLevel=function(){return u??c??s},o.setLevel=function(e,t){return u=g(e),t!==!1&&p(u),l.call(o)},o.setDefaultLevel=function(e){c=g(e),m()||o.setLevel(e,!1)},o.resetLevel=function(){u=null,h(),l.call(o)},o.enableAll=function(e){o.setLevel(o.levels.TRACE,e)},o.disableAll=function(e){o.setLevel(o.levels.SILENT,e)},o.rebuild=function(){if(a!==o&&(s=g(a.getLevel())),l.call(o),a===o)for(var e in i)i[e].rebuild()},s=g(a?a.getLevel():`WARN`);var _=m();_!=null&&(u=g(_)),l.call(o)}a=new f,a.getLogger=function(e){if(typeof e!=`symbol`&&typeof e!=`string`||e===``)throw TypeError(`You must supply a name when creating a logger.`);var t=i[e];return t||=i[e]=new f(e,a.methodFactory),t};var p=typeof window===t?void 0:window.log;return a.noConflict=function(){return typeof window!==t&&window.log===a&&(window.log=p),a},a.getLoggers=function(){return i},a.default=a,a})})(vC),vC.exports)}var SC=xC(),CC;(function(e){e[e.trace=0]=`trace`,e[e.debug=1]=`debug`,e[e.info=2]=`info`,e[e.warn=3]=`warn`,e[e.error=4]=`error`,e[e.silent=5]=`silent`})(CC||={});var wC;(function(e){e.Default=`livekit`,e.Room=`livekit-room`,e.TokenSource=`livekit-token-source`,e.Participant=`livekit-participant`,e.Track=`livekit-track`,e.Publication=`livekit-track-publication`,e.Engine=`livekit-engine`,e.Signal=`livekit-signal`,e.PCManager=`livekit-pc-manager`,e.PCTransport=`livekit-pc-transport`,e.E2EE=`lk-e2ee`,e.DataTracks=`livekit-data-tracks`,e.Region=`livekit-region`,e.ICE=`livekit-ice`,e.Stats=`livekit-stats`})(wC||={});var TC=SC.getLogger(wC.Default);Object.values(wC).map(e=>SC.getLogger(e)),TC.setDefaultLevel(CC.info);function EC(e,t){let n=SC.getLogger(e);return n.setDefaultLevel(TC.getLevel()),t?DC(n,t):n}function DC(e,t){let n=n=>(r,i)=>{let a=t(),o=a||i?Object.assign(Object.assign({},a),i):void 0;e[n](r,o)},r=Object.create(e);return r.trace=n(`trace`),r.debug=n(`debug`),r.info=n(`info`),r.warn=n(`warn`),r.error=n(`error`),r}var OC=SC.getLogger(wC.E2EE),kC=new Set,AC=OC.setLevel.bind(OC);OC.setLevel=(e,t)=>{AC(e,t);let n=OC.getLevel();kC.forEach(e=>e(n))};function jC(e){return kC.add(e),()=>{kC.delete(e)}}var MC=7e3,NC=[0,300,1200,2700,4800,MC,MC,MC,MC,MC],PC=class{constructor(e){this._retryDelays=e===void 0?NC:[...e]}nextRetryDelayInMs(e){if(e.retryCount>=this._retryDelays.length)return null;let t=this._retryDelays[e.retryCount];return e.retryCount<=1?t:t+Math.random()*1e3}};function FC(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function q(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function IC(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function LC(e){return this instanceof LC?(this.v=e,this):new LC(e)}function RC(e,t,n){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var r=n.apply(e,t||[]),i,a=[];return i=Object.create((typeof AsyncIterator==`function`?AsyncIterator:Object).prototype),s(`next`),s(`throw`),s(`return`,o),i[Symbol.asyncIterator]=function(){return this},i;function o(e){return function(t){return Promise.resolve(t).then(e,d)}}function s(e,t){r[e]&&(i[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||c(e,t)})},t&&(i[e]=t(i[e])))}function c(e,t){try{l(r[e](t))}catch(e){f(a[0][3],e)}}function l(e){e.value instanceof LC?Promise.resolve(e.value.v).then(u,d):f(a[0][2],e)}function u(e){c(`next`,e)}function d(e){c(`throw`,e)}function f(e,t){e(t),a.shift(),a.length&&c(a[0][0],a[0][1])}}function zC(e){var t={},n;return r(`next`),r(`throw`,function(e){throw e}),r(`return`),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:LC(e[r](t)),done:!1}:i?i(t):t}:i}}function BC(e){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof IC==`function`?IC(e):e[Symbol.iterator](),n={},r(`next`),r(`throw`),r(`return`),n[Symbol.asyncIterator]=function(){return this},n);function r(t){n[t]=e[t]&&function(n){return new Promise(function(r,a){n=e[t](n),i(r,a,n.done,n.value)})}}function i(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}}var VC={exports:{}},HC;function UC(){if(HC)return VC.exports;HC=1;var e=typeof Reflect==`object`?Reflect:null,t=e&&typeof e.apply==`function`?e.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},n=e&&typeof e.ownKeys==`function`?e.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};function r(e){console&&console.warn&&console.warn(e)}var i=Number.isNaN||function(e){return e!==e};function a(){a.init.call(this)}VC.exports=a,VC.exports.once=_,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var o=10;function s(e){if(typeof e!=`function`)throw TypeError(`The "listener" argument must be of type Function. Received type `+typeof e)}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(e){if(typeof e!=`number`||e<0||i(e))throw RangeError(`The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received `+e+`.`);o=e}}),a.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if(typeof e!=`number`||e<0||i(e))throw RangeError(`The value of "n" is out of range. It must be a non-negative number. Received `+e+`.`);return this._maxListeners=e,this};function c(e){return e._maxListeners===void 0?a.defaultMaxListeners:e._maxListeners}a.prototype.getMaxListeners=function(){return c(this)},a.prototype.emit=function(e){for(var n=[],r=1;r<arguments.length;r++)n.push(arguments[r]);var i=e===`error`,a=this._events;if(a!==void 0)i&&=a.error===void 0;else if(!i)return!1;if(i){var o;if(n.length>0&&(o=n[0]),o instanceof Error)throw o;var s=Error(`Unhandled error.`+(o?` (`+o.message+`)`:``));throw s.context=o,s}var c=a[e];if(c===void 0)return!1;if(typeof c==`function`)t(c,this,n);else for(var l=c.length,u=m(c,l),r=0;r<l;++r)t(u[r],this,n);return!0};function l(e,t,n,i){var a,o,l;if(s(n),o=e._events,o===void 0?(o=e._events=Object.create(null),e._eventsCount=0):(o.newListener!==void 0&&(e.emit(`newListener`,t,n.listener?n.listener:n),o=e._events),l=o[t]),l===void 0)l=o[t]=n,++e._eventsCount;else if(typeof l==`function`?l=o[t]=i?[n,l]:[l,n]:i?l.unshift(n):l.push(n),a=c(e),a>0&&l.length>a&&!l.warned){l.warned=!0;var u=Error(`Possible EventEmitter memory leak detected. `+l.length+` `+String(t)+` listeners added. Use emitter.setMaxListeners() to increase limit`);u.name=`MaxListenersExceededWarning`,u.emitter=e,u.type=t,u.count=l.length,r(u)}return e}a.prototype.addListener=function(e,t){return l(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return l(this,e,t,!0)};function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=u.bind(r);return i.listener=n,r.wrapFn=i,i}a.prototype.once=function(e,t){return s(t),this.on(e,d(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){return s(t),this.prependListener(e,d(this,e,t)),this},a.prototype.removeListener=function(e,t){var n,r,i,a,o;if(s(t),r=this._events,r===void 0||(n=r[e],n===void 0))return this;if(n===t||n.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit(`removeListener`,e,n.listener||t));else if(typeof n!=`function`){for(i=-1,a=n.length-1;a>=0;a--)if(n[a]===t||n[a].listener===t){o=n[a].listener,i=a;break}if(i<0)return this;i===0?n.shift():h(n,i),n.length===1&&(r[e]=n[0]),r.removeListener!==void 0&&this.emit(`removeListener`,e,o||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,n=this._events,r;if(n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var i=Object.keys(n),a;for(r=0;r<i.length;++r)a=i[r],a!==`removeListener`&&this.removeAllListeners(a);return this.removeAllListeners(`removeListener`),this._events=Object.create(null),this._eventsCount=0,this}if(t=n[e],typeof t==`function`)this.removeListener(e,t);else if(t!==void 0)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this};function f(e,t,n){var r=e._events;if(r===void 0)return[];var i=r[t];return i===void 0?[]:typeof i==`function`?n?[i.listener||i]:[i]:n?g(i):m(i,i.length)}a.prototype.listeners=function(e){return f(this,e,!0)},a.prototype.rawListeners=function(e){return f(this,e,!1)},a.listenerCount=function(e,t){return typeof e.listenerCount==`function`?e.listenerCount(t):p.call(e,t)},a.prototype.listenerCount=p;function p(e){var t=this._events;if(t!==void 0){var n=t[e];if(typeof n==`function`)return 1;if(n!==void 0)return n.length}return 0}a.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]};function m(e,t){for(var n=Array(t),r=0;r<t;++r)n[r]=e[r];return n}function h(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function g(e){for(var t=Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}function _(e,t){return new Promise(function(n,r){function i(n){e.removeListener(t,a),r(n)}function a(){typeof e.removeListener==`function`&&e.removeListener(`error`,i),n([].slice.call(arguments))}y(e,t,a,{once:!0}),t!==`error`&&v(e,i,{once:!0})})}function v(e,t,n){typeof e.on==`function`&&y(e,`error`,t,n)}function y(e,t,n,r){if(typeof e.on==`function`)r.once?e.once(t,n):e.on(t,n);else if(typeof e.addEventListener==`function`)e.addEventListener(t,function i(a){r.once&&e.removeEventListener(t,i),n(a)});else throw TypeError(`The "emitter" argument must be of type EventEmitter. Received type `+typeof e)}return VC.exports}var WC=UC(),GC=!0,KC=!0;function qC(e,t,n){let r=e.match(t);return r&&r.length>=n&&parseFloat(r[n],10)}function JC(e,t,n){if(!e.RTCPeerConnection)return;if(!Object.getOwnPropertyDescriptor(EventTarget.prototype,`addEventListener`).writable){ZC(`Unable to polyfill events`);return}let r=e.RTCPeerConnection.prototype,i=r.addEventListener;r.addEventListener=function(e,r){if(e!==t)return i.apply(this,arguments);let a=e=>{let t=n(e);t&&(r.handleEvent?r.handleEvent(t):r(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(r,a),i.apply(this,[e,a])};let a=r.removeEventListener;r.removeEventListener=function(e,n){if(e!==t||!this._eventMap||!this._eventMap[t]||!this._eventMap[t].has(n))return a.apply(this,arguments);let r=this._eventMap[t].get(n);return this._eventMap[t].delete(n),this._eventMap[t].size===0&&delete this._eventMap[t],Object.keys(this._eventMap).length===0&&delete this._eventMap,a.apply(this,[e,r])},Object.defineProperty(r,`on`+t,{get(){return this[`_on`+t]},set(e){this[`_on`+t]&&(this.removeEventListener(t,this[`_on`+t]),delete this[`_on`+t]),e&&this.addEventListener(t,this[`_on`+t]=e)},enumerable:!0,configurable:!0})}function YC(e){return typeof e==`boolean`?(GC=e,e?`adapter.js logging disabled`:`adapter.js logging enabled`):Error(`Argument type: `+typeof e+`. Please use a boolean.`)}function XC(e){return typeof e==`boolean`?(KC=!e,`adapter.js deprecation warnings `+(e?`disabled`:`enabled`)):Error(`Argument type: `+typeof e+`. Please use a boolean.`)}function ZC(){if(typeof window==`object`){if(GC)return;typeof console<`u`&&typeof console.log==`function`&&console.log.apply(console,arguments)}}function QC(e,t){KC&&console.warn(e+` is deprecated, please use `+t+` instead.`)}function $C(e){let t={browser:null,version:null};if(e===void 0||!e.navigator||!e.navigator.userAgent)return t.browser=`Not a browser.`,t;let n=e.navigator;if(n.userAgentData&&n.userAgentData.brands){let e=n.userAgentData.brands.find(e=>e.brand===`Chromium`);if(e){let t=parseInt(e.version,10);if(t>=90)return{browser:`chrome`,version:t}}}if(n.mozGetUserMedia)t.browser=`firefox`,t.version=parseInt(qC(n.userAgent,/Firefox\/(\d+)\./,1));else if(n.webkitGetUserMedia||e.isSecureContext===!1&&e.webkitRTCPeerConnection)t.browser=`chrome`,t.version=parseInt(qC(n.userAgent,/Chrom(e|ium)\/(\d+)\./,2))||null;else if(e.RTCPeerConnection&&n.userAgent.match(/AppleWebKit\/(\d+)\./))t.browser=`safari`,t.version=parseInt(qC(n.userAgent,/AppleWebKit\/(\d+)\./,1)),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&`currentDirection`in e.RTCRtpTransceiver.prototype,t._safariVersion=qC(n.userAgent,/Version\/(\d+(\.?\d+))/,1);else return t.browser=`Not a supported browser.`,t;return t}function ew(e){return Object.prototype.toString.call(e)===`[object Object]`}function tw(e){return ew(e)?Object.keys(e).reduce(function(t,n){let r=ew(e[n]),i=r?tw(e[n]):e[n],a=r&&!Object.keys(i).length;return i===void 0||a?t:Object.assign(t,{[n]:i})},{}):e}function nw(e,t,n){t&&!n.has(t.id)&&(n.set(t.id,t),Object.keys(t).forEach(r=>{r.endsWith(`Id`)?nw(e,e.get(t[r]),n):r.endsWith(`Ids`)&&t[r].forEach(t=>{nw(e,e.get(t),n)})}))}function rw(e,t,n){let r=n?`outbound-rtp`:`inbound-rtp`,i=new Map;if(t===null)return i;let a=[];return e.forEach(e=>{e.type===`track`&&e.trackIdentifier===t.id&&a.push(e)}),a.forEach(t=>{e.forEach(n=>{n.type===r&&n.trackId===t.id&&nw(e,n,i)})}),i}var iw=ZC;function aw(e,t){if(t.version>=64)return;let n=e&&e.navigator;if(!n.mediaDevices)return;let r=function(e){if(typeof e!=`object`||e.mandatory||e.optional)return e;let t={};return Object.keys(e).forEach(n=>{if(n===`require`||n===`advanced`||n===`mediaSource`)return;let r=typeof e[n]==`object`?e[n]:{ideal:e[n]};r.exact!==void 0&&typeof r.exact==`number`&&(r.min=r.max=r.exact);let i=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):t===`deviceId`?`sourceId`:t};if(r.ideal!==void 0){t.optional=t.optional||[];let e={};typeof r.ideal==`number`?(e[i(`min`,n)]=r.ideal,t.optional.push(e),e={},e[i(`max`,n)]=r.ideal,t.optional.push(e)):(e[i(``,n)]=r.ideal,t.optional.push(e))}r.exact!==void 0&&typeof r.exact!=`number`?(t.mandatory=t.mandatory||{},t.mandatory[i(``,n)]=r.exact):[`min`,`max`].forEach(e=>{r[e]!==void 0&&(t.mandatory=t.mandatory||{},t.mandatory[i(e,n)]=r[e])})}),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},i=function(e,i){if(t.version>=61)return i(e);if(e=JSON.parse(JSON.stringify(e)),e&&typeof e.audio==`object`){let t=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])};e=JSON.parse(JSON.stringify(e)),t(e.audio,`autoGainControl`,`googAutoGainControl`),t(e.audio,`noiseSuppression`,`googNoiseSuppression`),e.audio=r(e.audio)}if(e&&typeof e.video==`object`){let a=e.video.facingMode;a&&=typeof a==`object`?a:{ideal:a};let o=t.version<66;if(a&&(a.exact===`user`||a.exact===`environment`||a.ideal===`user`||a.ideal===`environment`)&&!(n.mediaDevices.getSupportedConstraints&&n.mediaDevices.getSupportedConstraints().facingMode&&!o)){delete e.video.facingMode;let t;if(a.exact===`environment`||a.ideal===`environment`?t=[`back`,`rear`]:(a.exact===`user`||a.ideal===`user`)&&(t=[`front`]),t)return n.mediaDevices.enumerateDevices().then(n=>{n=n.filter(e=>e.kind===`videoinput`);let o=n.find(e=>t.some(t=>e.label.toLowerCase().includes(t)));return!o&&n.length&&t.includes(`back`)&&(o=n[n.length-1]),o&&(e.video.deviceId=a.exact?{exact:o.deviceId}:{ideal:o.deviceId}),e.video=r(e.video),iw(`chrome: `+JSON.stringify(e)),i(e)})}e.video=r(e.video)}return iw(`chrome: `+JSON.stringify(e)),i(e)},a=function(e){return t.version>=64?e:{name:{PermissionDeniedError:`NotAllowedError`,PermissionDismissedError:`NotAllowedError`,InvalidStateError:`NotAllowedError`,DevicesNotFoundError:`NotFoundError`,ConstraintNotSatisfiedError:`OverconstrainedError`,TrackStartError:`NotReadableError`,MediaDeviceFailedDueToShutdown:`NotAllowedError`,MediaDeviceKillSwitchOn:`NotAllowedError`,TabCaptureError:`AbortError`,ScreenCaptureError:`AbortError`,DeviceCaptureError:`AbortError`}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&`: `)+this.message}}};if(n.getUserMedia=function(e,t,r){i(e,e=>{n.webkitGetUserMedia(e,t,e=>{r&&r(a(e))})})}.bind(n),n.mediaDevices.getUserMedia){let e=n.mediaDevices.getUserMedia.bind(n.mediaDevices);n.mediaDevices.getUserMedia=function(t){return i(t,t=>e(t).then(e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach(e=>{e.stop()}),new DOMException(``,`NotFoundError`);return e},e=>Promise.reject(a(e))))}}}function ow(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function sw(e,t){if(!(t.version>102)){if(typeof e==`object`&&e.RTCPeerConnection&&!(`ontrack`in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener(`track`,this._ontrack),this.addEventListener(`track`,this._ontrack=e)},enumerable:!0,configurable:!0});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener(`addtrack`,n=>{let r;r=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===n.track.id):{track:n.track};let i=new Event(`track`);i.track=n.track,i.receiver=r,i.transceiver={receiver:r},i.streams=[t.stream],this.dispatchEvent(i)}),t.stream.getTracks().forEach(n=>{let r;r=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===n.id):{track:n};let i=new Event(`track`);i.track=n,i.receiver=r,i.transceiver={receiver:r},i.streams=[t.stream],this.dispatchEvent(i)})},this.addEventListener(`addstream`,this._ontrackpoly)),t.apply(this,arguments)}}else JC(e,`track`,e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e))}}function cw(e){if(typeof e==`object`&&e.RTCPeerConnection&&!(`getSenders`in e.RTCPeerConnection.prototype)&&`createDTMFSender`in e.RTCPeerConnection.prototype){let t=function(e,t){return{track:t,get dtmf(){return this._dtmf===void 0&&(this._dtmf=t.kind===`audio`?e.createDTMFSender(t):null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};let n=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){let i=n.apply(this,arguments);return i||(i=t(this,e),this._senders.push(i)),i};let r=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){r.apply(this,arguments);let t=this._senders.indexOf(e);t!==-1&&this._senders.splice(t,1)}}let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach(e=>{this._senders.push(t(this,e))})};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach(e=>{let t=this._senders.find(t=>t.track===e);t&&this._senders.splice(this._senders.indexOf(t),1)})}}else if(typeof e==`object`&&e.RTCPeerConnection&&`getSenders`in e.RTCPeerConnection.prototype&&`createDTMFSender`in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!(`dtmf`in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return this._dtmf===void 0&&(this._dtmf=this.track.kind===`audio`?this._pc.createDTMFSender(this.track):null),this._dtmf}})}}function lw(e,t){if(t.version>=67||!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!(`getStats`in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});let n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){let e=this;return this._pc.getStats().then(t=>rw(t,e.track,!0))}}if(!(`getStats`in e.RTCRtpReceiver.prototype)){let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),JC(e,`track`,e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){let e=this;return this._pc.getStats().then(t=>rw(t,e.track,!1))}}if(!(`getStats`in e.RTCRtpSender.prototype&&`getStats`in e.RTCRtpReceiver.prototype))return;let n=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){let e=arguments[0],t,n,r;return this.getSenders().forEach(n=>{n.track===e&&(t?r=!0:t=n)}),this.getReceivers().forEach(t=>(t.track===e&&(n?r=!0:n=t),t.track===e)),r||t&&n?Promise.reject(new DOMException(`There are more than one sender or receiver for the track.`,`InvalidAccessError`)):t?t.getStats():n?n.getStats():Promise.reject(new DOMException(`There is no sender or receiver for the track.`,`InvalidAccessError`))}return n.apply(this,arguments)}}function uw(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(e=>this._shimmedLocalStreams[e][0])};let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){if(!n)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};let r=t.apply(this,arguments);return this._shimmedLocalStreams[n.id]?this._shimmedLocalStreams[n.id].indexOf(r)===-1&&this._shimmedLocalStreams[n.id].push(r):this._shimmedLocalStreams[n.id]=[n,r],r};let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException(`Track already exists.`,`InvalidAccessError`)});let t=this.getSenders();n.apply(this,arguments);let r=this.getSenders().filter(e=>t.indexOf(e)===-1);this._shimmedLocalStreams[e.id]=[e].concat(r)};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],r.apply(this,arguments)};let i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach(t=>{let n=this._shimmedLocalStreams[t].indexOf(e);n!==-1&&this._shimmedLocalStreams[t].splice(n,1),this._shimmedLocalStreams[t].length===1&&delete this._shimmedLocalStreams[t]}),i.apply(this,arguments)}}function dw(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return uw(e);let n=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){let e=n.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map(e=>this._reverseStreams[e.id])};let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException(`Track already exists.`,`InvalidAccessError`)}),!this._reverseStreams[t.id]){let n=new e.MediaStream(t.getTracks());this._streams[t.id]=n,this._reverseStreams[n.id]=t,t=n}r.apply(this,[t])};let i=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,n){if(this.signalingState===`closed`)throw new DOMException(`The RTCPeerConnection's signalingState is 'closed'.`,`InvalidStateError`);let r=[].slice.call(arguments,1);if(r.length!==1||!r[0].getTracks().find(e=>e===t))throw new DOMException(`The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.`,`NotSupportedError`);if(this.getSenders().find(e=>e.track===t))throw new DOMException(`Track already exists.`,`InvalidAccessError`);this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};let i=this._streams[n.id];if(i)i.addTrack(t),Promise.resolve().then(()=>{this.dispatchEvent(new Event(`negotiationneeded`))});else{let r=new e.MediaStream([t]);this._streams[n.id]=r,this._reverseStreams[r.id]=n,this.addStream(r)}return this.getSenders().find(e=>e.track===t)};function a(e,t){let n=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{let r=e._reverseStreams[t],i=e._streams[r.id];n=n.replace(new RegExp(i.id,`g`),r.id)}),new RTCSessionDescription({type:t.type,sdp:n})}function o(e,t){let n=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{let r=e._reverseStreams[t],i=e._streams[r.id];n=n.replace(new RegExp(r.id,`g`),i.id)}),new RTCSessionDescription({type:t.type,sdp:n})}[`createOffer`,`createAnswer`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){let e=arguments;return arguments.length&&typeof arguments[0]==`function`?n.apply(this,[t=>{let n=a(this,t);e[0].apply(null,[n])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):n.apply(this,arguments).then(e=>a(this,e))}};e.RTCPeerConnection.prototype[t]=r[t]});let s=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type||(arguments[0]=o(this,arguments[0])),s.apply(this,arguments)};let c=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,`localDescription`);Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){let e=c.get.apply(this);return e.type===``?e:a(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if(this.signalingState===`closed`)throw new DOMException(`The RTCPeerConnection's signalingState is 'closed'.`,`InvalidStateError`);if(!e._pc)throw new DOMException(`Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.`,`TypeError`);if(e._pc!==this)throw new DOMException(`Sender was not created by this connection.`,`InvalidAccessError`);this._streams=this._streams||{};let t;Object.keys(this._streams).forEach(n=>{this._streams[n].getTracks().find(t=>e.track===t)&&(t=this._streams[n])}),t&&(t.getTracks().length===1?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event(`negotiationneeded`)))}}function fw(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&[`setLocalDescription`,`setRemoteDescription`,`addIceCandidate`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){return arguments[0]=new(t===`addIceCandidate`?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=r[t]})}function pw(e,t){t.version>102||JC(e,`negotiationneeded`,e=>{let n=e.target;if(!((t.version<72||n.getConfiguration&&n.getConfiguration().sdpSemantics===`plan-b`)&&n.signalingState!==`stable`))return e})}var mw=Object.freeze({__proto__:null,fixNegotiationNeeded:pw,shimAddTrackRemoveTrack:dw,shimAddTrackRemoveTrackWithNative:uw,shimGetSendersWithDtmf:cw,shimGetUserMedia:aw,shimMediaStream:ow,shimOnTrack:sw,shimPeerConnection:fw,shimSenderReceiverGetStats:lw});function hw(e,t){let n=e&&e.navigator;if(!n.mediaDevices)return;let r=e&&e.MediaStreamTrack;if(n.getUserMedia=function(e,t,r){QC(`navigator.getUserMedia`,`navigator.mediaDevices.getUserMedia`),n.mediaDevices.getUserMedia(e).then(t,r)},!(t.version>55&&`autoGainControl`in n.mediaDevices.getSupportedConstraints())){let e=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])},t=n.mediaDevices.getUserMedia.bind(n.mediaDevices);if(n.mediaDevices.getUserMedia=function(n){return typeof n==`object`&&typeof n.audio==`object`&&(n=JSON.parse(JSON.stringify(n)),e(n.audio,`autoGainControl`,`mozAutoGainControl`),e(n.audio,`noiseSuppression`,`mozNoiseSuppression`)),t(n)},r&&r.prototype.getSettings){let t=r.prototype.getSettings;r.prototype.getSettings=function(){let n=t.apply(this,arguments);return e(n,`mozAutoGainControl`,`autoGainControl`),e(n,`mozNoiseSuppression`,`noiseSuppression`),n}}if(r&&r.prototype.applyConstraints){let t=r.prototype.applyConstraints;r.prototype.applyConstraints=function(n){return this.kind===`audio`&&typeof n==`object`&&(n=JSON.parse(JSON.stringify(n)),e(n,`autoGainControl`,`mozAutoGainControl`),e(n,`noiseSuppression`,`mozNoiseSuppression`)),t.apply(this,[n])}}}}function gw(e,t){e.navigator.mediaDevices&&(e.navigator.mediaDevices&&`getDisplayMedia`in e.navigator.mediaDevices||(e.navigator.mediaDevices.getDisplayMedia=function(n){if(!(n&&n.video)){let e=new DOMException(`getDisplayMedia without video constraints is undefined`);return e.name=`NotFoundError`,e.code=8,Promise.reject(e)}return n.video===!0?n.video={mediaSource:t}:n.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(n)}))}function _w(e){typeof e==`object`&&e.RTCTrackEvent&&`receiver`in e.RTCTrackEvent.prototype&&!(`transceiver`in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function vw(e,t){typeof e==`object`&&(e.RTCPeerConnection||e.mozRTCPeerConnection)&&(!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&[`setLocalDescription`,`setRemoteDescription`,`addIceCandidate`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){return arguments[0]=new(t===`addIceCandidate`?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=r[t]}))}function yw(e,t){if(typeof e!=`object`||!(e.RTCPeerConnection||e.mozRTCPeerConnection)||t.version>=151)return;let n={inboundrtp:`inbound-rtp`,outboundrtp:`outbound-rtp`,candidatepair:`candidate-pair`,localcandidate:`local-candidate`,remotecandidate:`remote-candidate`},r=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let e=Array.prototype.slice.call(arguments),i=e[0],a=e[1],o=e[2];return this.signalingState===`closed`?Promise.resolve(new Map):r.apply(this,[i||null]).then(e=>{if(t.version<53&&!a)try{e.forEach(e=>{e.type=n[e.type]||e.type})}catch(t){if(t.name!==`TypeError`)throw t;e.forEach((t,r)=>{e.set(r,Object.assign({},t,{type:n[t.type]||t.type}))})}return e}).then(a,o)}}function bw(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&`getStats`in e.RTCRtpSender.prototype)return;let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});let n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function xw(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&`getStats`in e.RTCRtpReceiver.prototype)return;let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),JC(e,`track`,e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function Sw(e){!e.RTCPeerConnection||`removeStream`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){QC(`removeStream`,`removeTrack`),this.getSenders().forEach(t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)})})}function Cw(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function ww(e,t){if(!(typeof e==`object`&&e.RTCPeerConnection)||t.version>=110)return;let n=e.RTCPeerConnection.prototype.addTransceiver;n&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;e===void 0&&(e=[]),e=[...e];let t=e.length>0;t&&e.forEach(e=>{if(`rid`in e&&!/^[a-z0-9]{0,16}$/i.test(e.rid))throw TypeError(`Invalid RID value provided.`);if(`scaleResolutionDownBy`in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw RangeError(`scale_resolution_down_by must be >= 1.0`);if(`maxFramerate`in e&&!(parseFloat(e.maxFramerate)>=0))throw RangeError(`max_framerate must be >= 0.0`)});let r=n.apply(this,arguments);if(t){let t=r.sender,n=t.getParameters();(!(`encodings`in n)||n.encodings.length===1&&Object.keys(n.encodings[0]).length===0)&&(n.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(n).then(()=>{delete t.sendEncodings}).catch(()=>{delete t.sendEncodings})))}return r})}function Tw(e,t){if(!(typeof e==`object`&&e.RTCRtpSender)||t.version>=110)return;let n=e.RTCRtpSender.prototype.getParameters;n&&(e.RTCRtpSender.prototype.getParameters=function(){let e=n.apply(this,arguments);return`encodings`in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function Ew(e,t){if(!(typeof e==`object`&&e.RTCPeerConnection)||t.version>=110)return;let n=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>n.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):n.apply(this,arguments)}}function Dw(e,t){if(!(typeof e==`object`&&e.RTCPeerConnection)||t.version>=110)return;let n=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>n.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):n.apply(this,arguments)}}var Ow=Object.freeze({__proto__:null,shimAddTransceiver:ww,shimCreateAnswer:Dw,shimCreateOffer:Ew,shimGetDisplayMedia:gw,shimGetParameters:Tw,shimGetStats:yw,shimGetUserMedia:hw,shimOnTrack:_w,shimPeerConnection:vw,shimRTCDataChannel:Cw,shimReceiverGetStats:xw,shimRemoveStream:Sw,shimSenderGetStats:bw});function kw(e){if(typeof e==`object`&&e.RTCPeerConnection){if(`getLocalStreams`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||=[],this._localStreams}),!(`addStream`in e.RTCPeerConnection.prototype)){let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||=[],this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach(n=>t.call(this,n,e)),e.getVideoTracks().forEach(n=>t.call(this,n,e))},e.RTCPeerConnection.prototype.addTrack=function(e){var n=[...arguments].slice(1);return n&&n.forEach(e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]}),t.apply(this,arguments)}}`removeStream`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||=[];let t=this._localStreams.indexOf(e);if(t===-1)return;this._localStreams.splice(t,1);let n=e.getTracks();this.getSenders().forEach(e=>{n.includes(e.track)&&this.removeTrack(e)})})}}function Aw(e){if(typeof e==`object`&&e.RTCPeerConnection&&(`getRemoteStreams`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!(`onaddstream`in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener(`addstream`,this._onaddstream),this.removeEventListener(`track`,this._onaddstreampoly)),this.addEventListener(`addstream`,this._onaddstream=e),this.addEventListener(`track`,this._onaddstreampoly=e=>{e.streams.forEach(e=>{if(this._remoteStreams||=[],this._remoteStreams.includes(e))return;this._remoteStreams.push(e);let t=new Event(`addstream`);t.stream=e,this.dispatchEvent(t)})})}});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){let e=this;return this._onaddstreampoly||this.addEventListener(`track`,this._onaddstreampoly=function(t){t.streams.forEach(t=>{if(e._remoteStreams||=[],e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);let n=new Event(`addstream`);n.stream=t,e.dispatchEvent(n)})}),t.apply(e,arguments)}}}function jw(e){if(typeof e!=`object`||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype,n=t.createOffer,r=t.createAnswer,i=t.setLocalDescription,a=t.setRemoteDescription,o=t.addIceCandidate;t.createOffer=function(e,t){let r=arguments.length>=2?arguments[2]:arguments[0],i=n.apply(this,[r]);return t?(i.then(e,t),Promise.resolve()):i},t.createAnswer=function(e,t){let n=arguments.length>=2?arguments[2]:arguments[0],i=r.apply(this,[n]);return t?(i.then(e,t),Promise.resolve()):i};let s=function(e,t,n){let r=i.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r};t.setLocalDescription=s,s=function(e,t,n){let r=a.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},t.setRemoteDescription=s,s=function(e,t,n){let r=o.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},t.addIceCandidate=s}function Mw(e){let t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){let e=t.mediaDevices,n=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>n(Nw(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,n,r){t.mediaDevices.getUserMedia(e).then(n,r)}.bind(t))}function Nw(e){return e&&e.video!==void 0?Object.assign({},e,{video:tw(e.video)}):e}function Pw(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,n){if(e&&e.iceServers){let t=[];for(let n=0;n<e.iceServers.length;n++){let r=e.iceServers[n];r.urls===void 0&&r.url?(QC(`RTCIceServer.url`,`RTCIceServer.urls`),r=JSON.parse(JSON.stringify(r)),r.urls=r.url,delete r.url,t.push(r)):t.push(e.iceServers[n])}e.iceServers=t}return new t(e,n)},e.RTCPeerConnection.prototype=t.prototype,`generateCertificate`in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get(){return t.generateCertificate}})}function Fw(e){typeof e==`object`&&e.RTCTrackEvent&&`receiver`in e.RTCTrackEvent.prototype&&!(`transceiver`in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function Iw(e){let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){e.offerToReceiveAudio!==void 0&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);let t=this.getTransceivers().find(e=>e.receiver.track.kind===`audio`);e.offerToReceiveAudio===!1&&t?t.direction===`sendrecv`?t.setDirection?t.setDirection(`sendonly`):t.direction=`sendonly`:t.direction===`recvonly`&&(t.setDirection?t.setDirection(`inactive`):t.direction=`inactive`):e.offerToReceiveAudio===!0&&!t&&this.addTransceiver(`audio`,{direction:`recvonly`}),e.offerToReceiveVideo!==void 0&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);let n=this.getTransceivers().find(e=>e.receiver.track.kind===`video`);e.offerToReceiveVideo===!1&&n?n.direction===`sendrecv`?n.setDirection?n.setDirection(`sendonly`):n.direction=`sendonly`:n.direction===`recvonly`&&(n.setDirection?n.setDirection(`inactive`):n.direction=`inactive`):e.offerToReceiveVideo===!0&&!n&&this.addTransceiver(`video`,{direction:`recvonly`})}return t.apply(this,arguments)}}function Lw(e){typeof e!=`object`||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var Rw=Object.freeze({__proto__:null,shimAudioContext:Lw,shimCallbacksAPI:jw,shimConstraints:Nw,shimCreateOfferLegacy:Iw,shimGetUserMedia:Mw,shimLocalStreamsAPI:kw,shimRTCIceServerUrls:Pw,shimRemoteStreamsAPI:Aw,shimTrackEventTransceiver:Fw}),zw={exports:{}},Bw;function Vw(){return Bw?zw.exports:(Bw=1,(function(e){let t={};t.generateIdentifier=function(){return Math.random().toString(36).substring(2,12)},t.localCName=t.generateIdentifier(),t.splitLines=function(e){return e.trim().split(`
62
+ `).map(e=>e.trim())},t.splitSections=function(e){return e.split(`
63
+ m=`).map((e,t)=>(t>0?`m=`+e:e).trim()+`\r
64
+ `)},t.getDescription=function(e){let n=t.splitSections(e);return n&&n[0]},t.getMediaSections=function(e){let n=t.splitSections(e);return n.shift(),n},t.matchPrefix=function(e,n){return t.splitLines(e).filter(e=>e.indexOf(n)===0)},t.parseCandidate=function(e){let t;t=e.indexOf(`a=candidate:`)===0?e.substring(12).split(` `):e.substring(10).split(` `);let n={foundation:t[0],component:{1:`rtp`,2:`rtcp`}[t[1]]||t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]};for(let e=8;e<t.length;e+=2)switch(t[e]){case`raddr`:n.relatedAddress=t[e+1];break;case`rport`:n.relatedPort=parseInt(t[e+1],10);break;case`tcptype`:n.tcpType=t[e+1];break;case`ufrag`:n.ufrag=t[e+1],n.usernameFragment=t[e+1];break;default:n[t[e]]===void 0&&(n[t[e]]=t[e+1])}return n},t.writeCandidate=function(e){let t=[];t.push(e.foundation);let n=e.component;n===`rtp`?t.push(1):n===`rtcp`?t.push(2):t.push(n),t.push(e.protocol.toUpperCase()),t.push(e.priority),t.push(e.address||e.ip),t.push(e.port);let r=e.type;return t.push(`typ`),t.push(r),r!==`host`&&e.relatedAddress&&e.relatedPort!==void 0&&(t.push(`raddr`),t.push(e.relatedAddress),t.push(`rport`),t.push(e.relatedPort)),e.tcpType&&e.protocol.toLowerCase()===`tcp`&&(t.push(`tcptype`),t.push(e.tcpType)),(e.usernameFragment||e.ufrag)&&(t.push(`ufrag`),t.push(e.usernameFragment||e.ufrag)),`candidate:`+t.join(` `)},t.parseIceOptions=function(e){return e.substring(14).split(` `)},t.parseRtpMap=function(e){let t=e.substring(9).split(` `),n={payloadType:parseInt(t.shift(),10)};return t=t[0].split(`/`),n.name=t[0],n.clockRate=parseInt(t[1],10),n.channels=t.length===3?parseInt(t[2],10):1,n.numChannels=n.channels,n},t.writeRtpMap=function(e){let t=e.payloadType;e.preferredPayloadType!==void 0&&(t=e.preferredPayloadType);let n=e.channels||e.numChannels||1;return`a=rtpmap:`+t+` `+e.name+`/`+e.clockRate+(n===1?``:`/`+n)+`\r
65
+ `},t.parseExtmap=function(e){let t=e.substring(9).split(` `);return{id:parseInt(t[0],10),direction:t[0].indexOf(`/`)>0?t[0].split(`/`)[1]:`sendrecv`,uri:t[1],attributes:t.slice(2).join(` `)}},t.writeExtmap=function(e){return`a=extmap:`+(e.id||e.preferredId)+(e.direction&&e.direction!==`sendrecv`?`/`+e.direction:``)+` `+e.uri+(e.attributes?` `+e.attributes:``)+`\r
66
+ `},t.parseFmtp=function(e){let t={},n,r=e.substring(e.indexOf(` `)+1).split(`;`);for(let e=0;e<r.length;e++)n=r[e].trim().split(`=`),t[n[0].trim()]=n[1];return t},t.writeFmtp=function(e){let t=``,n=e.payloadType;if(e.preferredPayloadType!==void 0&&(n=e.preferredPayloadType),e.parameters&&Object.keys(e.parameters).length){let r=[];Object.keys(e.parameters).forEach(t=>{e.parameters[t]===void 0?r.push(t):r.push(t+`=`+e.parameters[t])}),t+=`a=fmtp:`+n+` `+r.join(`;`)+`\r
67
+ `}return t},t.parseRtcpFb=function(e){let t=e.substring(e.indexOf(` `)+1).split(` `);return{type:t.shift(),parameter:t.join(` `)}},t.writeRtcpFb=function(e){let t=``,n=e.payloadType;return e.preferredPayloadType!==void 0&&(n=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach(e=>{t+=`a=rtcp-fb:`+n+` `+e.type+(e.parameter&&e.parameter.length?` `+e.parameter:``)+`\r
68
+ `}),t},t.parseSsrcMedia=function(e){let t=e.indexOf(` `),n={ssrc:parseInt(e.substring(7,t),10)},r=e.indexOf(`:`,t);return r>-1?(n.attribute=e.substring(t+1,r),n.value=e.substring(r+1)):n.attribute=e.substring(t+1),n},t.parseSsrcGroup=function(e){let t=e.substring(13).split(` `);return{semantics:t.shift(),ssrcs:t.map(e=>parseInt(e,10))}},t.getMid=function(e){let n=t.matchPrefix(e,`a=mid:`)[0];if(n)return n.substring(6)},t.parseFingerprint=function(e){let t=e.substring(14).split(` `);return{algorithm:t[0].toLowerCase(),value:t[1].toUpperCase()}},t.getDtlsParameters=function(e,n){return{role:`auto`,fingerprints:t.matchPrefix(e+n,`a=fingerprint:`).map(t.parseFingerprint)}},t.writeDtlsParameters=function(e,t){let n=`a=setup:`+t+`\r
69
+ `;return e.fingerprints.forEach(e=>{n+=`a=fingerprint:`+e.algorithm+` `+e.value+`\r
70
+ `}),n},t.parseCryptoLine=function(e){let t=e.substring(9).split(` `);return{tag:parseInt(t[0],10),cryptoSuite:t[1],keyParams:t[2],sessionParams:t.slice(3)}},t.writeCryptoLine=function(e){return`a=crypto:`+e.tag+` `+e.cryptoSuite+` `+(typeof e.keyParams==`object`?t.writeCryptoKeyParams(e.keyParams):e.keyParams)+(e.sessionParams?` `+e.sessionParams.join(` `):``)+`\r
71
+ `},t.parseCryptoKeyParams=function(e){if(e.indexOf(`inline:`)!==0)return null;let t=e.substring(7).split(`|`);return{keyMethod:`inline`,keySalt:t[0],lifeTime:t[1],mkiValue:t[2]?t[2].split(`:`)[0]:void 0,mkiLength:t[2]?t[2].split(`:`)[1]:void 0}},t.writeCryptoKeyParams=function(e){return e.keyMethod+`:`+e.keySalt+(e.lifeTime?`|`+e.lifeTime:``)+(e.mkiValue&&e.mkiLength?`|`+e.mkiValue+`:`+e.mkiLength:``)},t.getCryptoParameters=function(e,n){return t.matchPrefix(e+n,`a=crypto:`).map(t.parseCryptoLine)},t.getIceParameters=function(e,n){let r=t.matchPrefix(e+n,`a=ice-ufrag:`)[0],i=t.matchPrefix(e+n,`a=ice-pwd:`)[0];return r&&i?{usernameFragment:r.substring(12),password:i.substring(10)}:null},t.writeIceParameters=function(e){let t=`a=ice-ufrag:`+e.usernameFragment+`\r
72
+ a=ice-pwd:`+e.password+`\r
73
+ `;return e.iceLite&&(t+=`a=ice-lite\r
74
+ `),t},t.parseRtpParameters=function(e){let n={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},r=t.splitLines(e)[0].split(` `);n.profile=r[2];for(let i=3;i<r.length;i++){let a=r[i],o=t.matchPrefix(e,`a=rtpmap:`+a+` `)[0];if(o){let r=t.parseRtpMap(o),i=t.matchPrefix(e,`a=fmtp:`+a+` `);switch(r.parameters=i.length?t.parseFmtp(i[0]):{},r.rtcpFeedback=t.matchPrefix(e,`a=rtcp-fb:`+a+` `).map(t.parseRtcpFb),n.codecs.push(r),r.name.toUpperCase()){case`RED`:case`ULPFEC`:n.fecMechanisms.push(r.name.toUpperCase())}}}t.matchPrefix(e,`a=extmap:`).forEach(e=>{n.headerExtensions.push(t.parseExtmap(e))});let i=t.matchPrefix(e,`a=rtcp-fb:* `).map(t.parseRtcpFb);return n.codecs.forEach(e=>{i.forEach(t=>{e.rtcpFeedback.find(e=>e.type===t.type&&e.parameter===t.parameter)||e.rtcpFeedback.push(t)})}),n},t.writeRtpDescription=function(e,n){let r=``;r+=`m=`+e+` `,r+=n.codecs.length>0?`9`:`0`,r+=` `+(n.profile||`UDP/TLS/RTP/SAVPF`)+` `,r+=n.codecs.map(e=>e.preferredPayloadType===void 0?e.payloadType:e.preferredPayloadType).join(` `)+`\r
75
+ `,r+=`c=IN IP4 0.0.0.0\r
76
+ `,r+=`a=rtcp:9 IN IP4 0.0.0.0\r
77
+ `,n.codecs.forEach(e=>{r+=t.writeRtpMap(e),r+=t.writeFmtp(e),r+=t.writeRtcpFb(e)});let i=0;return n.codecs.forEach(e=>{e.maxptime>i&&(i=e.maxptime)}),i>0&&(r+=`a=maxptime:`+i+`\r
78
+ `),n.headerExtensions&&n.headerExtensions.forEach(e=>{r+=t.writeExtmap(e)}),r},t.parseRtpEncodingParameters=function(e){let n=[],r=t.parseRtpParameters(e),i=r.fecMechanisms.indexOf(`RED`)!==-1,a=r.fecMechanisms.indexOf(`ULPFEC`)!==-1,o=t.matchPrefix(e,`a=ssrc:`).map(e=>t.parseSsrcMedia(e)).filter(e=>e.attribute===`cname`),s=o.length>0&&o[0].ssrc,c,l=t.matchPrefix(e,`a=ssrc-group:FID`).map(e=>e.substring(17).split(` `).map(e=>parseInt(e,10)));l.length>0&&l[0].length>1&&l[0][0]===s&&(c=l[0][1]),r.codecs.forEach(e=>{if(e.name.toUpperCase()===`RTX`&&e.parameters.apt){let t={ssrc:s,codecPayloadType:parseInt(e.parameters.apt,10)};s&&c&&(t.rtx={ssrc:c}),n.push(t),i&&(t=JSON.parse(JSON.stringify(t)),t.fec={ssrc:s,mechanism:a?`red+ulpfec`:`red`},n.push(t))}}),n.length===0&&s&&n.push({ssrc:s});let u=t.matchPrefix(e,`b=`);return u.length&&(u=u[0].indexOf(`b=TIAS:`)===0?parseInt(u[0].substring(7),10):u[0].indexOf(`b=AS:`)===0?parseInt(u[0].substring(5),10)*1e3*.95-16e3:void 0,n.forEach(e=>{e.maxBitrate=u})),n},t.parseRtcpParameters=function(e){let n={},r=t.matchPrefix(e,`a=ssrc:`).map(e=>t.parseSsrcMedia(e)).filter(e=>e.attribute===`cname`)[0];r&&(n.cname=r.value,n.ssrc=r.ssrc);let i=t.matchPrefix(e,`a=rtcp-rsize`);return n.reducedSize=i.length>0,n.compound=i.length===0,n.mux=t.matchPrefix(e,`a=rtcp-mux`).length>0,n},t.writeRtcpParameters=function(e){let t=``;return e.reducedSize&&(t+=`a=rtcp-rsize\r
79
+ `),e.mux&&(t+=`a=rtcp-mux\r
80
+ `),e.ssrc!==void 0&&e.cname&&(t+=`a=ssrc:`+e.ssrc+` cname:`+e.cname+`\r
81
+ `),t},t.parseMsid=function(e){let n,r=t.matchPrefix(e,`a=msid:`);if(r.length===1)return n=r[0].substring(7).split(` `),{stream:n[0],track:n[1]};let i=t.matchPrefix(e,`a=ssrc:`).map(e=>t.parseSsrcMedia(e)).filter(e=>e.attribute===`msid`);if(i.length>0)return n=i[0].value.split(` `),{stream:n[0],track:n[1]}},t.parseSctpDescription=function(e){let n=t.parseMLine(e),r=t.matchPrefix(e,`a=max-message-size:`),i;r.length>0&&(i=parseInt(r[0].substring(19),10)),isNaN(i)&&(i=65536);let a=t.matchPrefix(e,`a=sctp-port:`);if(a.length>0)return{port:parseInt(a[0].substring(12),10),protocol:n.fmt,maxMessageSize:i};let o=t.matchPrefix(e,`a=sctpmap:`);if(o.length>0){let e=o[0].substring(10).split(` `);return{port:parseInt(e[0],10),protocol:e[1],maxMessageSize:i}}},t.writeSctpDescription=function(e,t){let n=[];return n=e.protocol===`DTLS/SCTP`?[`m=`+e.kind+` 9 `+e.protocol+` `+t.port+`\r
82
+ `,`c=IN IP4 0.0.0.0\r
83
+ `,`a=sctpmap:`+t.port+` `+t.protocol+` 65535\r
84
+ `]:[`m=`+e.kind+` 9 `+e.protocol+` `+t.protocol+`\r
85
+ `,`c=IN IP4 0.0.0.0\r
86
+ `,`a=sctp-port:`+t.port+`\r
87
+ `],t.maxMessageSize!==void 0&&n.push(`a=max-message-size:`+t.maxMessageSize+`\r
88
+ `),n.join(``)},t.generateSessionId=function(){return Math.random().toString().substr(2,22)},t.writeSessionBoilerplate=function(e,n,r){let i,a=n===void 0?2:n;return i=e||t.generateSessionId(),`v=0\r
89
+ o=`+(r||`thisisadapterortc`)+` `+i+` `+a+` IN IP4 127.0.0.1\r
90
+ s=-\r
91
+ t=0 0\r
92
+ `},t.getDirection=function(e,n){let r=t.splitLines(e);for(let e=0;e<r.length;e++)switch(r[e]){case`a=sendrecv`:case`a=sendonly`:case`a=recvonly`:case`a=inactive`:return r[e].substring(2)}return n?t.getDirection(n):`sendrecv`},t.getKind=function(e){return t.splitLines(e)[0].split(` `)[0].substring(2)},t.isRejected=function(e){return e.split(` `,2)[1]===`0`},t.parseMLine=function(e){let n=t.splitLines(e)[0].substring(2).split(` `);return{kind:n[0],port:parseInt(n[1],10),protocol:n[2],fmt:n.slice(3).join(` `)}},t.parseOLine=function(e){let n=t.matchPrefix(e,`o=`)[0].substring(2).split(` `);return{username:n[0],sessionId:n[1],sessionVersion:parseInt(n[2],10),netType:n[3],addressType:n[4],address:n[5]}},t.isValidSDP=function(e){if(typeof e!=`string`||e.length===0)return!1;let n=t.splitLines(e);for(let e=0;e<n.length;e++)if(n[e].length<2||n[e].charAt(1)!==`=`)return!1;return!0},e.exports=t})(zw),zw.exports)}var Hw=Vw(),Uw=_C(Hw),Ww=Dv({__proto__:null,default:Uw},[Hw]);function Gw(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&`foundation`in e.RTCIceCandidate.prototype)return;let t=e.RTCIceCandidate;e.RTCIceCandidate=function(e){if(typeof e==`object`&&e.candidate&&e.candidate.indexOf(`a=`)===0&&(e=JSON.parse(JSON.stringify(e)),e.candidate=e.candidate.substring(2)),e.candidate&&e.candidate.length){let n=new t(e),r=Uw.parseCandidate(e.candidate);for(let e in r)e in n||Object.defineProperty(n,e,{value:r[e]});return n.toJSON=function(){return{candidate:n.candidate,sdpMid:n.sdpMid,sdpMLineIndex:n.sdpMLineIndex,usernameFragment:n.usernameFragment}},n}return new t(e)},e.RTCIceCandidate.prototype=t.prototype,JC(e,`icecandidate`,t=>(t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:`false`}),t))}function Kw(e){!e.RTCIceCandidate||e.RTCIceCandidate&&`relayProtocol`in e.RTCIceCandidate.prototype||JC(e,`icecandidate`,e=>{if(e.candidate){let t=Uw.parseCandidate(e.candidate.candidate);t.type===`relay`&&(e.candidate.relayProtocol={0:`tls`,1:`tcp`,2:`udp`}[t.priority>>24])}return e})}function qw(e,t){if(!e.RTCPeerConnection||t.browser===`chrome`&&t.version>102||t.browser===`firefox`&&t.version>=113)return;`sctp`in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return this._sctp===void 0?null:this._sctp}});let n=function(e){if(!e||!e.sdp)return!1;let t=Uw.splitSections(e.sdp);return t.shift(),t.some(e=>{let t=Uw.parseMLine(e);return t&&t.kind===`application`&&t.protocol.indexOf(`SCTP`)!==-1})},r=function(e){let t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(t===null||t.length<2)return-1;let n=parseInt(t[1],10);return n===n?n:-1},i=function(e){let n=65536;return t.browser===`firefox`&&(n=t.version<57?e===-1?16384:2147483637:t.version<60?t.version===57?65535:65536:2147483637),n},a=function(e,n){let r=65536;t.browser===`firefox`&&t.version===57&&(r=65535);let i=Uw.matchPrefix(e.sdp,`a=max-message-size:`);return i.length>0?r=parseInt(i[0].substring(19),10):t.browser===`firefox`&&n!==-1&&(r=2147483637),r},o=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,t.browser===`chrome`&&t.version>=76&&this.getConfiguration().sdpSemantics===`plan-b`&&Object.defineProperty(this,"sctp",{get(){return this._sctp===void 0?null:this._sctp},enumerable:!0,configurable:!0}),n(arguments[0])){let e=r(arguments[0]),t=i(e),n=a(arguments[0],e),o;o=t===0&&n===0?1/0:t===0||n===0?Math.max(t,n):Math.min(t,n);let s={};Object.defineProperty(s,"maxMessageSize",{get(){return o}}),this._sctp=s}return o.apply(this,arguments)}}function Jw(e,t){if(!(e.RTCPeerConnection&&`createDataChannel`in e.RTCPeerConnection.prototype)||t.browser===`chrome`&&t.version>=149||t.browser===`firefox`&&t.version>60)return;function n(e,t){let n=e.send;e.send=function(){let r=arguments[0],i=r.length||r.size||r.byteLength;if(e.readyState===`open`&&t.sctp&&i>t.sctp.maxMessageSize)throw TypeError(`Message too large (can send a maximum of `+t.sctp.maxMessageSize+` bytes)`);return n.apply(e,arguments)}}let r=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){let e=r.apply(this,arguments);return n(e,this),e},JC(e,`datachannel`,e=>(n(e.channel,e.target),e))}function Yw(e){if(!e.RTCPeerConnection||`connectionState`in e.RTCPeerConnection.prototype)return;let t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return{completed:`connected`,checking:`connecting`}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(e){this._onconnectionstatechange&&(this.removeEventListener(`connectionstatechange`,this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener(`connectionstatechange`,this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),[`setLocalDescription`,`setRemoteDescription`].forEach(e=>{let n=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{let t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;let n=new Event(`connectionstatechange`,e);t.dispatchEvent(n)}return e},this.addEventListener(`iceconnectionstatechange`,this._connectionstatechangepoly)),n.apply(this,arguments)}})}function Xw(e,t){if(!e.RTCPeerConnection||t.browser===`chrome`&&t.version>=71||t.browser===`safari`&&t._safariVersion>=13.1)return;let n=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&t.sdp.indexOf(`
93
+ a=extmap-allow-mixed`)!==-1){let n=t.sdp.split(`
94
+ `).filter(e=>e.trim()!==`a=extmap-allow-mixed`).join(`
95
+ `);e.RTCSessionDescription&&t instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:t.type,sdp:n}):t.sdp=n}return n.apply(this,arguments)}}function Zw(e,t){if(!(e.RTCPeerConnection&&e.RTCPeerConnection.prototype))return;let n=e.RTCPeerConnection.prototype.addIceCandidate;n&&n.length!==0&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?(t.browser===`chrome`&&t.version<78||t.browser===`firefox`&&t.version<68||t.browser===`safari`)&&arguments[0]&&arguments[0].candidate===``?Promise.resolve():n.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function Qw(e,t){if(!(e.RTCPeerConnection&&e.RTCPeerConnection.prototype))return;let n=e.RTCPeerConnection.prototype.setLocalDescription;n&&n.length!==0&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let e=arguments[0]||{};if(typeof e!=`object`||e.type&&e.sdp)return n.apply(this,arguments);if(e={type:e.type,sdp:e.sdp},!e.type)switch(this.signalingState){case`stable`:case`have-local-offer`:case`have-remote-pranswer`:e.type=`offer`;break;default:e.type=`answer`}return e.sdp||e.type!==`offer`&&e.type!==`answer`?n.apply(this,[e]):(e.type===`offer`?this.createOffer:this.createAnswer).apply(this).then(e=>n.apply(this,[e]))})}var $w=Object.freeze({__proto__:null,removeExtmapAllowMixed:Xw,shimAddIceCandidateNullOrEmpty:Zw,shimConnectionState:Yw,shimMaxMessageSize:qw,shimParameterlessSetLocalDescription:Qw,shimRTCIceCandidate:Gw,shimRTCIceCandidateRelayProtocol:Kw,shimSendThrowTypeError:Jw});function eT(){let e=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}).window,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimSafari:!0},n=ZC,r=$C(e),i={browserDetails:r,commonShim:$w,extractVersion:qC,disableLog:YC,disableWarnings:XC,sdp:Ww};switch(r.browser){case`chrome`:if(!mw||!fw||!t.shimChrome)return n(`Chrome shim is not included in this adapter release.`),i;if(r.version===null)return n(`Chrome shim can not determine version, not shimming.`),i;n(`adapter.js shimming chrome.`),i.browserShim=mw,Zw(e,r),Qw(e),aw(e,r),ow(e),fw(e,r),sw(e,r),dw(e,r),cw(e),lw(e,r),pw(e,r),Gw(e),Kw(e),Yw(e),qw(e,r),Jw(e,r),Xw(e,r);break;case`firefox`:if(!Ow||!vw||!t.shimFirefox)return n(`Firefox shim is not included in this adapter release.`),i;n(`adapter.js shimming firefox.`),i.browserShim=Ow,Zw(e,r),Qw(e),hw(e,r),vw(e,r),yw(e,r),_w(e),Sw(e),bw(e),xw(e),Cw(e),ww(e,r),Tw(e,r),Ew(e,r),Dw(e,r),Gw(e),Yw(e),qw(e,r),Jw(e,r);break;case`safari`:if(!Rw||!t.shimSafari)return n(`Safari shim is not included in this adapter release.`),i;n(`adapter.js shimming safari.`),i.browserShim=Rw,Zw(e,r),Qw(e),Pw(e),Iw(e),jw(e),kw(e),Aw(e),Fw(e),Mw(e),Lw(e),Gw(e),Kw(e),qw(e,r),Jw(e,r),Xw(e,r);break;default:n(`Unsupported browser!`)}return i}eT({window:typeof window>`u`?void 0:window});var tT,nT,rT=class extends (nT=Promise){constructor(e){super(e)}catch(e){return super.catch(e)}static reject(e){return super.reject(e)}static all(e){return super.all(e)}static race(e){return super.race(e)}};tT=rT,rT.resolve=e=>Reflect.get(nT,`resolve`,tT).call(tT,e);var iT=/version\/(\d+(\.?_?\d+)+)/i,aT;function oT(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e===void 0&&typeof navigator>`u`)return;let n=(e??navigator.userAgent).toLowerCase();return(aT===void 0||t)&&(aT=sT.find(e=>e.test.test(n))?.describe(n)),aT}var sT=[{test:/firefox|iceweasel|fxios/i,describe(e){return{name:`Firefox`,version:cT(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e),os:e.toLowerCase().includes(`fxios`)?`iOS`:void 0,osVersion:lT(e)}}},{test:/chrom|crios|crmo/i,describe(e){return{name:`Chrome`,version:cT(/(?:chrome|chromium|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e),os:e.toLowerCase().includes(`crios`)?`iOS`:void 0,osVersion:lT(e)}}},{test:/safari|applewebkit/i,describe(e){return{name:`Safari`,version:cT(iT,e),os:e.includes(`mobile/`)?`iOS`:`macOS`,osVersion:lT(e)}}}];function cT(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,r=t.match(e);return r&&r.length>=n&&r[n]||``}function lT(e){return e.includes(`mac os`)?cT(/\(.+?(\d+_\d+(:?_\d+)?)/,e,1).replace(/_/g,`.`):void 0}var uT=`2.22.3`,dT=class extends Error{constructor(e,t,n){super(t||`an error has occurred`),this.name=`LiveKitError`,this.code=e,n?.cause!==void 0&&(this.cause=n?.cause)}},fT=class extends dT{},pT;(function(e){e[e.NotAllowed=0]=`NotAllowed`,e[e.ServerUnreachable=1]=`ServerUnreachable`,e[e.InternalError=2]=`InternalError`,e[e.Cancelled=3]=`Cancelled`,e[e.LeaveRequest=4]=`LeaveRequest`,e[e.Timeout=5]=`Timeout`,e[e.WebSocket=6]=`WebSocket`,e[e.ServiceNotFound=7]=`ServiceNotFound`})(pT||={});var J=class e extends fT{constructor(e,t,n,r){super(1,e),this.name=`ConnectionError`,this.status=n,this.reason=t,this.context=r,this.reasonName=pT[t]}static notAllowed(t,n,r){return new e(t,pT.NotAllowed,n,r)}static timeout(t){return new e(t,pT.Timeout)}static leaveRequest(t,n){return new e(t,pT.LeaveRequest,void 0,n)}static internal(t,n){return new e(t,pT.InternalError,void 0,n)}static cancelled(t){return new e(t,pT.Cancelled)}static serverUnreachable(t,n){return new e(t,pT.ServerUnreachable,n)}static websocket(t,n,r){return new e(t,pT.WebSocket,n,r)}static serviceNotFound(t,n){return new e(t,pT.ServiceNotFound,void 0,n)}},mT=class extends dT{constructor(e){super(21,e??`device is unsupported`),this.name=`DeviceUnsupportedError`}},hT=class extends dT{constructor(e){super(20,e??`track is invalid`),this.name=`TrackInvalidError`}},gT=class extends dT{constructor(e){super(10,e||`unsupported server`),this.name=`UnsupportedServer`}},_T=class extends dT{constructor(e){super(12,e||`unexpected connection state`),this.name=`UnexpectedConnectionState`}},vT=class extends dT{constructor(e){super(13,e||`unable to negotiate`),this.name=`NegotiationError`}},yT=class extends dT{constructor(e){super(14,e||`unable to publish data`),this.name=`PublishDataError`}},bT=class extends dT{constructor(e,t){super(15,e),this.name=`PublishTrackError`,this.status=t}},xT=class extends fT{constructor(e,t){super(15,e),this.name=`SignalRequestError`,this.reason=t,this.reasonName=typeof t==`string`?t:uC[t]}},ST;(function(e){e[e.AlreadyOpened=0]=`AlreadyOpened`,e[e.AbnormalEnd=1]=`AbnormalEnd`,e[e.DecodeFailed=2]=`DecodeFailed`,e[e.LengthExceeded=3]=`LengthExceeded`,e[e.Incomplete=4]=`Incomplete`,e[e.HandlerAlreadyRegistered=7]=`HandlerAlreadyRegistered`,e[e.EncryptionTypeMismatch=8]=`EncryptionTypeMismatch`,e[e.HeaderTooLarge=9]=`HeaderTooLarge`,e[e.PayloadTooLarge=10]=`PayloadTooLarge`})(ST||={});var CT=class extends fT{constructor(e,t){super(16,e),this.name=`DataStreamError`,this.reason=t,this.reasonName=ST[t]}},wT=class extends dT{constructor(e){super(18,e),this.name=`SignalReconnectError`}},TT;(function(e){e.PermissionDenied=`PermissionDenied`,e.NotFound=`NotFound`,e.DeviceInUse=`DeviceInUse`,e.Other=`Other`})(TT||={}),(function(e){function t(t){if(t&&`name`in t)return t.name===`NotFoundError`||t.name===`DevicesNotFoundError`?e.NotFound:t.name===`NotAllowedError`||t.name===`PermissionDeniedError`?e.PermissionDenied:t.name===`NotReadableError`||t.name===`TrackStartError`?e.DeviceInUse:e.Other}e.getFailure=t})(TT||={});var ET=class{};ET.setTimeout=function(){return setTimeout(...arguments)},ET.setInterval=function(){return setInterval(...arguments)},ET.clearTimeout=function(){return clearTimeout(...arguments)},ET.clearInterval=function(){return clearInterval(...arguments)};var Y;(function(e){e.Connected=`connected`,e.Reconnecting=`reconnecting`,e.SignalReconnecting=`signalReconnecting`,e.Reconnected=`reconnected`,e.Disconnected=`disconnected`,e.ConnectionStateChanged=`connectionStateChanged`,e.Moved=`moved`,e.MediaDevicesChanged=`mediaDevicesChanged`,e.ParticipantConnected=`participantConnected`,e.ParticipantDisconnected=`participantDisconnected`,e.TrackPublished=`trackPublished`,e.TrackSubscribed=`trackSubscribed`,e.TrackSubscriptionFailed=`trackSubscriptionFailed`,e.TrackUnpublished=`trackUnpublished`,e.TrackUnsubscribed=`trackUnsubscribed`,e.TrackMuted=`trackMuted`,e.TrackUnmuted=`trackUnmuted`,e.LocalTrackPublished=`localTrackPublished`,e.LocalTrackUnpublished=`localTrackUnpublished`,e.LocalAudioSilenceDetected=`localAudioSilenceDetected`,e.ActiveSpeakersChanged=`activeSpeakersChanged`,e.ParticipantMetadataChanged=`participantMetadataChanged`,e.ParticipantNameChanged=`participantNameChanged`,e.ParticipantAttributesChanged=`participantAttributesChanged`,e.ParticipantActive=`participantActive`,e.RoomMetadataChanged=`roomMetadataChanged`,e.DataReceived=`dataReceived`,e.SipDTMFReceived=`sipDTMFReceived`,e.TranscriptionReceived=`transcriptionReceived`,e.ConnectionQualityChanged=`connectionQualityChanged`,e.TrackStreamStateChanged=`trackStreamStateChanged`,e.TrackSubscriptionPermissionChanged=`trackSubscriptionPermissionChanged`,e.TrackSubscriptionStatusChanged=`trackSubscriptionStatusChanged`,e.AudioPlaybackStatusChanged=`audioPlaybackChanged`,e.VideoPlaybackStatusChanged=`videoPlaybackChanged`,e.MediaDevicesError=`mediaDevicesError`,e.ParticipantPermissionsChanged=`participantPermissionsChanged`,e.SignalConnected=`signalConnected`,e.RecordingStatusChanged=`recordingStatusChanged`,e.ParticipantEncryptionStatusChanged=`participantEncryptionStatusChanged`,e.EncryptionError=`encryptionError`,e.DCBufferStatusChanged=`dcBufferStatusChanged`,e.ActiveDeviceChanged=`activeDeviceChanged`,e.ChatMessage=`chatMessage`,e.LocalTrackSubscribed=`localTrackSubscribed`,e.MetricsReceived=`metricsReceived`,e.DataTrackPublished=`dataTrackPublished`,e.DataTrackUnpublished=`dataTrackUnpublished`,e.LocalDataTrackPublished=`localDataTrackPublished`,e.LocalDataTrackUnpublished=`localDataTrackUnpublished`})(Y||={});var X;(function(e){e.TrackPublished=`trackPublished`,e.TrackSubscribed=`trackSubscribed`,e.TrackSubscriptionFailed=`trackSubscriptionFailed`,e.TrackUnpublished=`trackUnpublished`,e.TrackUnsubscribed=`trackUnsubscribed`,e.TrackMuted=`trackMuted`,e.TrackUnmuted=`trackUnmuted`,e.LocalTrackPublished=`localTrackPublished`,e.LocalTrackUnpublished=`localTrackUnpublished`,e.LocalTrackCpuConstrained=`localTrackCpuConstrained`,e.LocalSenderCreated=`localSenderCreated`,e.ParticipantMetadataChanged=`participantMetadataChanged`,e.ParticipantNameChanged=`participantNameChanged`,e.DataReceived=`dataReceived`,e.SipDTMFReceived=`sipDTMFReceived`,e.TranscriptionReceived=`transcriptionReceived`,e.IsSpeakingChanged=`isSpeakingChanged`,e.ConnectionQualityChanged=`connectionQualityChanged`,e.TrackStreamStateChanged=`trackStreamStateChanged`,e.TrackSubscriptionPermissionChanged=`trackSubscriptionPermissionChanged`,e.TrackSubscriptionStatusChanged=`trackSubscriptionStatusChanged`,e.TrackCpuConstrained=`trackCpuConstrained`,e.MediaDevicesError=`mediaDevicesError`,e.AudioStreamAcquired=`audioStreamAcquired`,e.ParticipantPermissionsChanged=`participantPermissionsChanged`,e.PCTrackAdded=`pcTrackAdded`,e.AttributesChanged=`attributesChanged`,e.LocalTrackSubscribed=`localTrackSubscribed`,e.ChatMessage=`chatMessage`,e.Active=`active`})(X||={});var Z;(function(e){e.TransportsCreated=`transportsCreated`,e.Connected=`connected`,e.Disconnected=`disconnected`,e.Resuming=`resuming`,e.Resumed=`resumed`,e.Restarting=`restarting`,e.Restarted=`restarted`,e.SignalResumed=`signalResumed`,e.SignalRestarted=`signalRestarted`,e.Closing=`closing`,e.MediaTrackAdded=`mediaTrackAdded`,e.ActiveSpeakersUpdate=`activeSpeakersUpdate`,e.DataPacketReceived=`dataPacketReceived`,e.RTPVideoMapUpdate=`rtpVideoMapUpdate`,e.DCBufferStatusChanged=`dcBufferStatusChanged`,e.ParticipantUpdate=`participantUpdate`,e.RoomUpdate=`roomUpdate`,e.SpeakersChanged=`speakersChanged`,e.StreamStateChanged=`streamStateChanged`,e.ConnectionQualityUpdate=`connectionQualityUpdate`,e.SubscriptionError=`subscriptionError`,e.SubscriptionPermissionUpdate=`subscriptionPermissionUpdate`,e.RemoteMute=`remoteMute`,e.SubscribedQualityUpdate=`subscribedQualityUpdate`,e.LocalTrackUnpublished=`localTrackUnpublished`,e.LocalTrackSubscribed=`localTrackSubscribed`,e.Offline=`offline`,e.SignalRequestResponse=`signalRequestResponse`,e.SignalConnected=`signalConnected`,e.RoomMoved=`roomMoved`,e.PublishDataTrackResponse=`publishDataTrackResponse`,e.UnPublishDataTrackResponse=`unPublishDataTrackResponse`,e.DataTrackSubscriberHandles=`dataTrackSubscriberHandles`,e.DataTrackPacketReceived=`dataTrackPacketReceived`,e.Joined=`joined`,e.TokenRefreshed=`tokenRefreshed`,e.ServerRegionsReported=`serverRegionsReported`})(Z||={});var Q;(function(e){e.Message=`message`,e.Muted=`muted`,e.Unmuted=`unmuted`,e.Restarted=`restarted`,e.Ended=`ended`,e.Subscribed=`subscribed`,e.Unsubscribed=`unsubscribed`,e.CpuConstrained=`cpuConstrained`,e.UpdateSettings=`updateSettings`,e.UpdateSubscription=`updateSubscription`,e.AudioPlaybackStarted=`audioPlaybackStarted`,e.AudioPlaybackFailed=`audioPlaybackFailed`,e.AudioSilenceDetected=`audioSilenceDetected`,e.VisibilityChanged=`visibilityChanged`,e.VideoDimensionsChanged=`videoDimensionsChanged`,e.VideoPlaybackStarted=`videoPlaybackStarted`,e.VideoPlaybackFailed=`videoPlaybackFailed`,e.ElementAttached=`elementAttached`,e.ElementDetached=`elementDetached`,e.UpstreamPaused=`upstreamPaused`,e.UpstreamResumed=`upstreamResumed`,e.SubscriptionPermissionChanged=`subscriptionPermissionChanged`,e.SubscriptionStatusChanged=`subscriptionStatusChanged`,e.SubscriptionFailed=`subscriptionFailed`,e.TrackProcessorUpdate=`trackProcessorUpdate`,e.AudioTrackFeatureUpdate=`audioTrackFeatureUpdate`,e.TranscriptionReceived=`transcriptionReceived`,e.TimeSyncUpdate=`timeSyncUpdate`,e.PreConnectBufferFlushed=`preConnectBufferFlushed`})(Q||={});function DT(e){let t={};for(let r of Object.entries(e)){var n=G(r,2);let e=n[0],i=n[1];i!==void 0&&(t[e]=i)}return t}function OT(e,t){return e&&t?`${e}x${t}`:void 0}function kT(e){return Math.round(e*1e4)/1e4}function AT(e){let t=e.jitterBufferDelay,n=e.jitterBufferEmittedCount;return t!==void 0&&n?kT(t/n):void 0}function jT(e,t){if(e.playoutDelay!==void 0)return kT(e.playoutDelay);let n=t?.totalPlayoutDelay,r=t?.totalSamplesCount;return n!==void 0&&r?kT(n/r):void 0}function MT(e){let t=new Map,n=[],r=[],i=[],a;e.forEach(e=>t.set(e.id,e));let o=e=>e.codecId?t.get(e.codecId)?.mimeType:void 0,s=(e,n)=>e[n]?t.get(e[n]):void 0;e.forEach(e=>{switch(e.type){case`inbound-rtp`:{let t=s(e,`playoutId`);r.push(DT({kind:e.kind,ssrc:e.ssrc,mid:e.mid,trackId:e.trackIdentifier,codec:o(e),decoder:e.decoderImplementation,resolution:OT(e.frameWidth,e.frameHeight),fps:e.framesPerSecond,bytesReceived:e.bytesReceived,packetsReceived:e.packetsReceived,packetsLost:e.packetsLost,packetsDiscarded:e.packetsDiscarded,framesReceived:e.framesReceived,framesDecoded:e.framesDecoded,framesDropped:e.framesDropped,keyFramesDecoded:e.keyFramesDecoded,freezeCount:e.freezeCount,totalFreezesDuration:e.totalFreezesDuration,pauseCount:e.pauseCount,nackCount:e.nackCount,pliCount:e.pliCount,firCount:e.firCount,jitter:e.jitter,jitterBuffer:AT(e),playoutDelay:jT(e,t),audioLevel:e.audioLevel,totalSamplesReceived:e.totalSamplesReceived,concealedSamples:e.concealedSamples}));break}case`outbound-rtp`:{let t=s(e,`remoteId`),n=s(e,`mediaSourceId`);i.push(DT({kind:e.kind,ssrc:e.ssrc,mid:e.mid,rid:e.rid,trackId:n?.trackIdentifier,active:e.active,codec:o(e),encoder:e.encoderImplementation,resolution:OT(e.frameWidth,e.frameHeight),fps:e.framesPerSecond,captureResolution:OT(n?.width,n?.height),captureFps:n?.framesPerSecond,audioLevel:n?.audioLevel,targetBitrate:e.targetBitrate,bytesSent:e.bytesSent,packetsSent:e.packetsSent,retransmittedPacketsSent:e.retransmittedPacketsSent,framesEncoded:e.framesEncoded,keyFramesEncoded:e.keyFramesEncoded,limitedBy:e.qualityLimitationReason===`none`?void 0:e.qualityLimitationReason,nackCount:e.nackCount,pliCount:e.pliCount,firCount:e.firCount,remotePacketsLost:t?.packetsLost,remoteFractionLost:t?.fractionLost,remoteJitter:t?.jitter,remoteRoundTripTime:t?.roundTripTime}));break}case`transport`:a=e;break;case`candidate-pair`:n.push(e)}});let c=a?.selectedCandidatePairId,l=(c?t.get(c):void 0)??n.find(e=>e.selected)??n.find(e=>e.nominated),u=l?.localCandidateId?t.get(l.localCandidateId):void 0,d=l?.remoteCandidateId?t.get(l.remoteCandidateId):void 0,f=DT({ice:a?.iceState,dtls:a?.dtlsState,route:u&&d?`${u.candidateType}/${u.protocol} -> ${d.candidateType}`:void 0,network:u?.networkType,currentRoundTripTime:l?.currentRoundTripTime,availableOutgoingBitrate:l?.availableOutgoingBitrate,availableIncomingBitrate:l?.availableIncomingBitrate,bytesSent:l?.bytesSent,bytesReceived:l?.bytesReceived,candidatePairChanges:a?.selectedCandidatePairChanges});return{connection:Object.keys(f).length>0?f:void 0,outbound:i.length>0?i:void 0,inbound:r.length>0?r:void 0}}function NT(e){return e===void 0?e:typeof structuredClone==`function`?typeof e==`object`&&e?structuredClone(Object.assign({},e)):structuredClone(e):JSON.parse(JSON.stringify(e))}var PT=class{constructor(e,t,n,r,i){if(typeof e==`object`)this.width=e.width,this.height=e.height,this.aspectRatio=e.aspectRatio,this.encoding={maxBitrate:e.maxBitrate,maxFramerate:e.maxFramerate,priority:e.priority};else if(t!==void 0&&n!==void 0)this.width=e,this.height=t,this.aspectRatio=e/t,this.encoding={maxBitrate:n,maxFramerate:r,priority:i};else throw TypeError(`Unsupported options: provide at least width, height and maxBitrate`)}get resolution(){return{width:this.width,height:this.height,frameRate:this.encoding.maxFramerate,aspectRatio:this.aspectRatio}}},FT=[`vp8`,`h264`],IT=[`vp8`,`h264`,`vp9`,`av1`,`h265`];function LT(e){return!!FT.find(t=>t===e)}var RT=LT,zT;(function(e){e[e.PREFER_REGRESSION=0]=`PREFER_REGRESSION`,e[e.SIMULCAST=1]=`SIMULCAST`,e[e.REGRESSION=2]=`REGRESSION`})(zT||={});var BT;(function(e){e.telephone={maxBitrate:12e3},e.speech={maxBitrate:24e3},e.music={maxBitrate:48e3},e.musicStereo={maxBitrate:64e3},e.musicHighQuality={maxBitrate:96e3},e.musicHighQualityStereo={maxBitrate:128e3}})(BT||={});var VT={h90:new PT(160,90,9e4,20),h180:new PT(320,180,16e4,20),h216:new PT(384,216,18e4,20),h360:new PT(640,360,45e4,20),h540:new PT(960,540,8e5,25),h720:new PT(1280,720,17e5,30),h1080:new PT(1920,1080,3e6,30),h1440:new PT(2560,1440,5e6,30),h2160:new PT(3840,2160,8e6,30)},HT={h120:new PT(160,120,7e4,20),h180:new PT(240,180,125e3,20),h240:new PT(320,240,14e4,20),h360:new PT(480,360,33e4,20),h480:new PT(640,480,5e5,20),h540:new PT(720,540,6e5,25),h720:new PT(960,720,13e5,30),h1080:new PT(1440,1080,23e5,30),h1440:new PT(1920,1440,38e5,30)},UT={h360fps3:new PT(640,360,2e5,3,`medium`),h360fps15:new PT(640,360,4e5,15,`medium`),h720fps5:new PT(1280,720,8e5,5,`medium`),h720fps15:new PT(1280,720,15e5,15,`medium`),h720fps30:new PT(1280,720,2e6,30,`medium`),h1080fps15:new PT(1920,1080,25e5,15,`medium`),h1080fps30:new PT(1920,1080,5e6,30,`medium`),original:new PT(0,0,7e6,30,`medium`)};function WT(e,t,n){var r,i;let a=rE(e??{}),o=a.optionsWithoutProcessor,s=a.audioProcessor,c=a.videoProcessor,l=t?.processor,u=n?.processor,d=o??{};return d.audio===!0&&(d.audio={}),d.video===!0&&(d.video={}),d.audio&&(GT(d.audio,t),(r=d.audio).deviceId??(r.deviceId={ideal:`default`}),(s||l)&&(d.audio.processor=s??l)),d.video&&(GT(d.video,n),(i=d.video).deviceId??(i.deviceId={ideal:`default`}),(c||u)&&(d.video.processor=c??u)),d}function GT(e,t){return Object.keys(t).forEach(n=>{e[n]===void 0&&(e[n]=t[n])}),e}function KT(e){var t,n;let r={};if(e.video){if(typeof e.video==`object`){let n={},i=n,a=e.video;Object.keys(a).forEach(e=>{switch(e){case`resolution`:GT(i,a.resolution);break;default:i[e]=a[e]}}),r.video=n,(t=r.video).deviceId??(t.deviceId={ideal:`default`})}else r.video=e.video?{deviceId:{ideal:`default`}}:!1}else r.video=!1;return e.audio?typeof e.audio==`object`?(r.audio=e.audio,(n=r.audio).deviceId??(n.deviceId={ideal:`default`})):r.audio={deviceId:{ideal:`default`}}:r.audio=!1,r}function qT(e){return q(this,arguments,void 0,function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:200;return function*(){let n=JT();if(n){let r=n.createAnalyser();r.fftSize=2048;let i=r.frequencyBinCount,a=new Uint8Array(i);n.createMediaStreamSource(new MediaStream([e.mediaStreamTrack])).connect(r),yield hE(t),r.getByteTimeDomainData(a);let o=a.some(e=>e!==128&&e!==0);return n.close(),!o}return!1}()})}function JT(){let e=typeof window<`u`&&(window.AudioContext||window.webkitAudioContext);if(e){let t=new e({latencyHint:`interactive`});if(t.state===`suspended`&&typeof window<`u`&&window.document?.body){let e=()=>q(this,void 0,void 0,function*(){var n;try{t.state===`suspended`&&(yield t.resume())}catch(e){console.warn(`Error trying to auto-resume audio context`,e)}finally{(n=window.document.body)==null||n.removeEventListener(`click`,e)}});t.addEventListener(`statechange`,()=>{var n;t.state===`closed`&&((n=window.document.body)==null||n.removeEventListener(`click`,e))}),window.document.body.addEventListener(`click`,e)}return t}}function YT(e){return e===`audioinput`?$.Source.Microphone:e===`videoinput`?$.Source.Camera:$.Source.Unknown}function XT(e){if(e===$.Source.Microphone)return`audioinput`;if(e===$.Source.Camera)return`videoinput`}function ZT(e){let t=e.video??!0;return e.resolution&&e.resolution.width>0&&e.resolution.height>0&&(t=typeof t==`boolean`?{}:t,t=jE()?Object.assign(Object.assign({},t),{width:{max:e.resolution.width},height:{max:e.resolution.height},frameRate:e.resolution.frameRate}):Object.assign(Object.assign({},t),{width:{ideal:e.resolution.width},height:{ideal:e.resolution.height},frameRate:e.resolution.frameRate})),{audio:e.audio??!1,video:t,controller:e.controller,selfBrowserSurface:e.selfBrowserSurface,surfaceSwitching:e.surfaceSwitching,systemAudio:e.systemAudio,preferCurrentTab:e.preferCurrentTab}}function QT(e){return e.split(`/`)[1].toLowerCase()}function $T(e){let t=[];return e.forEach(e=>{e.track!==void 0&&t.push(new xS({cid:e.track.mediaStreamID,track:e.trackInfo}))}),t}function eE(e){return`mediaStreamTrack`in e?{trackID:e.sid,source:e.source,muted:e.isMuted,enabled:e.mediaStreamTrack.enabled,kind:e.kind,streamID:e.mediaStreamID,streamTrackID:e.mediaStreamTrack.id}:{trackID:e.trackSid,enabled:e.isEnabled,muted:e.isMuted,trackInfo:Object.assign({mimeType:e.mimeType,name:e.trackName,encrypted:e.isEncrypted,kind:e.kind,source:e.source},e.track?eE(e.track):{})}}function tE(){return typeof RTCRtpReceiver<`u`&&typeof RTCRtpReceiver.prototype.getSynchronizationSources==`function`}function nE(e,t){e===void 0&&(e={}),t===void 0&&(t={});let n=[...Object.keys(t),...Object.keys(e)],r={};for(let i of n)e[i]!==t[i]&&(r[i]=t[i]??``);return r}function rE(e){let t=Object.assign({},e),n,r;return typeof t.audio==`object`&&t.audio.processor&&(n=t.audio.processor,t.audio=Object.assign(Object.assign({},t.audio),{processor:void 0})),typeof t.video==`object`&&t.video.processor&&(r=t.video.processor,t.video=Object.assign(Object.assign({},t.video),{processor:void 0})),{audioProcessor:n,videoProcessor:r,optionsWithoutProcessor:NT(t)}}function iE(e){switch(e){case Yb.CAMERA:return $.Source.Camera;case Yb.MICROPHONE:return $.Source.Microphone;case Yb.SCREEN_SHARE:return $.Source.ScreenShare;case Yb.SCREEN_SHARE_AUDIO:return $.Source.ScreenShareAudio;default:return $.Source.Unknown}}function aE(e,t){return e.width*e.height<t.width*t.height}function oE(e,t){return e.layers?.find(e=>e.quality===t)}var sE=5e3,cE=[],lE;(function(e){e[e.LOW=0]=`LOW`,e[e.MEDIUM=1]=`MEDIUM`,e[e.HIGH=2]=`HIGH`})(lE||={});var $=class e extends WC.EventEmitter{get streamState(){return this._streamState}setStreamState(e){this._streamState!==e&&this.log.debug(`stream state changed: ${this._streamState} -> ${e}`),this._streamState=e}constructor(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(),this.attachedElements=[],this.isMuted=!1,this._streamState=e.StreamState.Active,this.isInBackground=!1,this._currentBitrate=0,this.finalStatsLogged=!1,this.log=TC,this.appVisibilityChangedListener=()=>{this.backgroundTimeout&&clearTimeout(this.backgroundTimeout),document.visibilityState===`hidden`?this.backgroundTimeout=setTimeout(()=>this.handleAppVisibilityChanged(),sE):this.handleAppVisibilityChanged()},this.loggerContextCb=r.loggerContextCb,this.log=EC(r.loggerName??wC.Track,()=>this.logContext),this.setMaxListeners(100),this.kind=n,this._mediaStreamTrack=t,this._mediaStreamID=t.id,this.source=e.Source.Unknown}get logContext(){return Object.assign(Object.assign({},this.loggerContextCb?.call(this)),eE(this))}get currentBitrate(){return this._currentBitrate}get mediaStreamTrack(){return this._mediaStreamTrack}get mediaStreamID(){return this._mediaStreamID}attach(t){let n=`audio`;this.kind===e.Kind.Video&&(n=`video`),this.attachedElements.length===0&&this.kind===e.Kind.Video&&this.addAppVisibilityListener(),t||(n===`audio`&&(cE.forEach(e=>{e.parentElement===null&&!t&&(t=e)}),t&&cE.splice(cE.indexOf(t),1)),t||=document.createElement(n)),this.attachedElements.includes(t)||this.attachedElements.push(t),uE(this.mediaStreamTrack,t);let r=t.srcObject.getTracks(),i=r.some(e=>e.kind===`audio`);return t.play().then(()=>{this.emit(i?Q.AudioPlaybackStarted:Q.VideoPlaybackStarted)}).catch(e=>{e.name===`NotAllowedError`?this.emit(i?Q.AudioPlaybackFailed:Q.VideoPlaybackFailed,e):e.name===`AbortError`?this.log.debug(`${i?`audio`:`video`} playback aborted, likely due to new play request`):this.log.warn(`could not playback ${i?`audio`:`video`}`,{error:e}),i&&t&&r.some(e=>e.kind===`video`)&&e.name===`NotAllowedError`&&(t.muted=!0,t.play().catch(()=>{}))}),this.emit(Q.ElementAttached,t),t}detach(e){try{if(e){dE(this.mediaStreamTrack,e);let t=this.attachedElements.indexOf(e);return t>=0&&(this.attachedElements.splice(t,1),this.recycleElement(e),this.emit(Q.ElementDetached,e)),e}let t=[];return this.attachedElements.forEach(e=>{dE(this.mediaStreamTrack,e),t.push(e),this.recycleElement(e),this.emit(Q.ElementDetached,e)}),this.attachedElements=[],t}finally{this.attachedElements.length===0&&this.removeAppVisibilityListener()}}stop(){this.log.debug(`stopping track`),this.stopMonitor(),this._mediaStreamTrack.stop()}enable(){this._mediaStreamTrack.enabled=!0}disable(){this._mediaStreamTrack.enabled=!1}stopMonitor(){this.monitorInterval&&clearInterval(this.monitorInterval),this.timeSyncHandle!==void 0&&(cancelAnimationFrame(this.timeSyncHandle),this.timeSyncHandle=void 0),this.logFinalStats()}logFinalStats(){this.finalStatsLogged||(this.finalStatsLogged=!0,this.getRTCStatsReport().then(e=>{e&&this.log.info(`final track stats`,MT(e))}).catch(e=>this.log.debug(`could not collect final track stats`,{error:e})))}updateLoggerOptions(e){e.loggerContextCb&&(this.loggerContextCb=e.loggerContextCb),e.loggerName&&(this.log=EC(e.loggerName,()=>this.logContext))}recycleElement(e){if(e instanceof HTMLAudioElement){let t=!0;e.pause(),cE.forEach(e=>{e.parentElement||(t=!1)}),t&&cE.push(e)}}handleAppVisibilityChanged(){return q(this,void 0,void 0,function*(){this.isInBackground=document.visibilityState===`hidden`,!this.isInBackground&&this.kind===e.Kind.Video&&setTimeout(()=>this.attachedElements.forEach(e=>e.play().catch(()=>{})),0)})}addAppVisibilityListener(){LE()?(this.isInBackground=document.visibilityState===`hidden`,document.addEventListener(`visibilitychange`,this.appVisibilityChangedListener)):this.isInBackground=!1}removeAppVisibilityListener(){LE()&&document.removeEventListener(`visibilitychange`,this.appVisibilityChangedListener)}};function uE(e,t){let n;n=t.srcObject instanceof MediaStream?t.srcObject:new MediaStream;let r;r=e.kind===`audio`?n.getAudioTracks():n.getVideoTracks(),r.includes(e)||(r.forEach(e=>{n.removeTrack(e)}),n.addTrack(e)),(!jE()||!(t instanceof HTMLVideoElement))&&(t.autoplay=!0),t.muted=n.getAudioTracks().length===0,t instanceof HTMLVideoElement&&(t.playsInline=!0),t.srcObject!==n&&(t.srcObject=n,(jE()||OE())&&t instanceof HTMLVideoElement&&setTimeout(()=>{t.srcObject=n,t.play().catch(()=>{})},0))}function dE(e,t){if(t.srcObject instanceof MediaStream){let n=t.srcObject;n.removeTrack(e),t.srcObject=n.getTracks().length>0?n:null}}(function(e){let t;(function(e){e.Audio=`audio`,e.Video=`video`,e.Unknown=`unknown`})(t=e.Kind||={});let n;(function(e){e.Camera=`camera`,e.Microphone=`microphone`,e.ScreenShare=`screen_share`,e.ScreenShareAudio=`screen_share_audio`,e.Unknown=`unknown`})(n=e.Source||={});let r;(function(e){e.Active=`active`,e.Paused=`paused`,e.Unknown=`unknown`})(r=e.StreamState||={});function i(e){switch(e){case t.Audio:return Jb.AUDIO;case t.Video:return Jb.VIDEO;default:return Jb.DATA}}e.kindToProto=i;function a(e){switch(e){case Jb.AUDIO:return t.Audio;case Jb.VIDEO:return t.Video;default:return t.Unknown}}e.kindFromProto=a;function o(e){switch(e){case n.Camera:return Yb.CAMERA;case n.Microphone:return Yb.MICROPHONE;case n.ScreenShare:return Yb.SCREEN_SHARE;case n.ScreenShareAudio:return Yb.SCREEN_SHARE_AUDIO;default:return Yb.UNKNOWN}}e.sourceToProto=o;function s(e){switch(e){case Yb.CAMERA:return n.Camera;case Yb.MICROPHONE:return n.Microphone;case Yb.SCREEN_SHARE:return n.ScreenShare;case Yb.SCREEN_SHARE_AUDIO:return n.ScreenShareAudio;default:return n.Unknown}}e.sourceFromProto=s;function c(e){switch(e){case aS.ACTIVE:return r.Active;case aS.PAUSED:return r.Paused;default:return r.Unknown}}e.streamStateFromProto=c})($||={});var fE=`|`,pE=`https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension`;function mE(e){let t=e.split(fE);return t.length>1?[t[0],e.substr(t[0].length+1)]:[e,``]}function hE(e){return new rT(t=>ET.setTimeout(t,e))}function gE(){return`addTransceiver`in RTCPeerConnection.prototype}function _E(){return`addTrack`in RTCPeerConnection.prototype}function vE(){if(!(`getCapabilities`in RTCRtpSender)||jE()||OE())return!1;let e=RTCRtpSender.getCapabilities(`video`),t=!1;if(e){for(let n of e.codecs)if(n.mimeType.toLowerCase()===`video/av1`){t=!0;break}}return t}function yE(){if(!(`getCapabilities`in RTCRtpSender)||OE())return!1;if(jE()){let e=oT();if(e?.version&&WE(e.version,`16`)<0||e?.os===`iOS`&&e?.osVersion&&WE(e.osVersion,`16`)<0)return!1}let e=RTCRtpSender.getCapabilities(`video`),t=!1;if(e){for(let n of e.codecs)if(n.mimeType.toLowerCase()===`video/vp9`){t=!0;break}}return t}function bE(e){return e===`av1`||e===`vp9`}function xE(e){let t=e.getHeaderExtensionsToNegotiate?.call(e);if(!t||!e.setHeaderExtensionsToNegotiate)return!1;let n=t.find(e=>e.uri===pE);if(!n)return!1;if(n.direction!==`stopped`)return!0;n.direction=`sendrecv`;try{return e.setHeaderExtensionsToNegotiate(t),!0}catch{return!1}}function SE(e,t){return bE(e)&&!!t?.simulcast&&!!t.scalabilityMode?.startsWith(`L1T`)}function CE(){let e=oT();return ME()||RE()||e?.name===`Chrome`&&WE(e.version,`113`)<0}var wE=`1.13.6`;function TE(e){return e?WE(e,wE)>0:!1}function EE(e){return!document||ME()?!1:(e||=document.createElement(`audio`),`setSinkId`in e)}function DE(){return typeof RTCPeerConnection>`u`?!1:gE()||_E()}function OE(){return oT()?.name===`Firefox`}function kE(){let e=oT();return!!e&&e.name===`Chrome`&&e.os!==`iOS`}function AE(){return typeof window<`u`&&window.RTCRtpScriptTransform!==void 0&&!kE()}function jE(){return oT()?.name===`Safari`}function ME(){let e=oT();return e?.name===`Safari`||e?.os===`iOS`}function NE(){let e=oT();return e?.name===`Safari`&&e.version.startsWith(`17.`)||e?.os===`iOS`&&!!e?.osVersion&&WE(e.osVersion,`17`)>=0}function PE(e){return e||=oT(),e?.name===`Safari`&&WE(e.version,`18.3`)>0||e?.os===`iOS`&&!!e?.osVersion&&WE(e.osVersion,`18.3`)>0}function FE(){return LE()?navigator.userAgentData?.mobile??/Tablet|iPad|Mobile|Android|BlackBerry/.test(navigator.userAgent):!1}function IE(){let e=oT(),t=`17.2`;if(e)return e.name!==`Safari`&&e.os!==`iOS`||e.os===`iOS`&&e.osVersion&&WE(e.osVersion,t)>=0?!0:e.name===`Safari`&&WE(e.version,t)>=0}function LE(){return typeof document<`u`}function RE(){return navigator.product==`ReactNative`}function zE(e){return e.hostname.endsWith(`.livekit.cloud`)||e.hostname.endsWith(`.livekit.run`)}function BE(e){return zE(e)?e.hostname.split(`.`)[0]:null}function VE(){if(global&&global.LiveKitReactNativeGlobal)return global.LiveKitReactNativeGlobal}function HE(){if(!RE())return;let e=VE();if(e)return e.platform}function UE(){if(LE())return window.devicePixelRatio;if(RE()){let e=VE();if(e)return e.devicePixelRatio}return 1}function WE(e,t){let n=e.split(`.`),r=t.split(`.`),i=Math.min(n.length,r.length);for(let e=0;e<i;++e){let t=parseInt(n[e],10),a=parseInt(r[e],10);if(t>a)return 1;if(t<a)return-1;if(e===i-1&&t===a)return 0}return e===``&&t!==``?-1:t===``?1:n.length==r.length?0:n.length<r.length?-1:1}function GE(e){for(let t of e)t.target.handleResize(t)}function KE(e){for(let t of e)t.target.handleVisibilityChanged(t)}var qE=null,JE=()=>(qE||=new ResizeObserver(GE),qE),YE=null,XE=()=>(YE||=new IntersectionObserver(KE,{root:null,rootMargin:`0px`}),YE);function ZE(e){let t=new Ux({capabilities:e,sdk:Wx.JS,protocol:17,clientProtocol:2,version:uT});return RE()&&(t.os=HE()??``),t}function QE(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:16,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:16,n=arguments.length>2&&arguments[2]!==void 0&&arguments[2],r=arguments.length>3&&arguments[3]!==void 0&&arguments[3],i=document.createElement(`canvas`);i.width=e,i.height=t;let a=i.getContext(`2d`);a?.fillRect(0,0,i.width,i.height),r&&a&&(a.beginPath(),a.arc(e/2,t/2,50,0,Math.PI*2,!0),a.closePath(),a.fillStyle=`grey`,a.fill());let o=G(i.captureStream().getTracks(),1)[0];if(!o)throw Error(`Could not get empty media stream video track`);return o.enabled=n,o}var $E;function eD(){if(!$E){let e=new AudioContext,t=e.createOscillator(),n=e.createGain();n.gain.setValueAtTime(0,0);let r=e.createMediaStreamDestination();if(t.connect(n),n.connect(r),t.start(),$E=G(r.stream.getAudioTracks(),1)[0],!$E)throw Error(`Could not get empty media stream audio track`);$E.enabled=!1}return $E.clone()}var tD=class{get isResolved(){return this._isResolved}constructor(e,t){this._isResolved=!1,this.onFinally=t,this.promise=new Promise((t,n)=>q(this,void 0,void 0,function*(){this.resolve=t,this.reject=n,e&&(yield e(t,n))})).finally(()=>{var e;this._isResolved=!0,(e=this.onFinally)==null||e.call(this)})}};function nD(e){return IT.includes(e)}function rD(e){if(typeof e==`string`||typeof e==`number`)return e;if(Array.isArray(e))return e[0];if(e.exact!==void 0)return Array.isArray(e.exact)?e.exact[0]:e.exact;if(e.ideal!==void 0)return Array.isArray(e.ideal)?e.ideal[0]:e.ideal;throw Error(`could not unwrap constraint`)}function iD(e){return e.startsWith(`http`)?e.replace(/^(http)/,`ws`):e}function aD(e){return e.startsWith(`ws`)?e.replace(/^(ws)/,`http`):e}function oD(e,t){return e.segments.map(e=>{let n=e.id,r=e.text,i=e.language,a=e.startTime,o=e.endTime,s=e.final,c=t.get(n)??Date.now(),l=Date.now();return s?t.delete(n):t.set(n,c),{id:n,text:r,startTime:Number.parseInt(a.toString()),endTime:Number.parseInt(o.toString()),final:s,language:i,firstReceivedTime:c,lastReceivedTime:l}})}function sD(e){let t=e.id,n=e.timestamp,r=e.message,i=e.editTimestamp;return{id:t,timestamp:Number.parseInt(n.toString()),editTimestamp:i?Number.parseInt(i.toString()):void 0,message:r}}function cD(e){switch(e.reason){case pT.LeaveRequest:return e.context;case pT.Cancelled:return $b.CLIENT_INITIATED;case pT.NotAllowed:return $b.USER_REJECTED;case pT.ServerUnreachable:return $b.JOIN_FAILURE;default:return $b.UNKNOWN_REASON}}function lD(e){return e===void 0?void 0:Number(e)}function uD(e){return e===void 0?void 0:BigInt(e)}function dD(e){return!!e&&!(e instanceof MediaStreamTrack)&&e.isLocal}function fD(e){return!!e&&e.kind==$.Kind.Audio}function pD(e){return!!e&&e.kind==$.Kind.Video}function mD(e){return dD(e)&&pD(e)}function hD(e){return dD(e)&&fD(e)}function gD(e){return!!e&&!e.isLocal}function _D(e){return!!e&&!e.isLocal}function vD(e){return gD(e)&&pD(e)}function yD(e){return e.isLocal}function bD(e,t){let n=[],r=new TextEncoder().encode(e);for(;r.length>t;){let e=t;for(;e>0;){let t=r[e];if(t!==void 0&&(t&192)!=128)break;e--}n.push(r.slice(0,e)),r=r.slice(e)}return r.length>0&&n.push(r),n}function xD(e){return new ReadableStream({start(t){t.enqueue(e),t.close()}})}function SD(e,t){return RC(this,arguments,function*(){let n=e.getReader(),r=new Uint8Array;try{for(;;){let e=yield LC(n.read()),i=e.done,a=e.value;if(i)break;if(a.byteLength===0)continue;let o=new Uint8Array(r.byteLength+a.byteLength);for(o.set(r),o.set(a,r.byteLength),r=o;r.byteLength>=t;)yield yield LC(r.slice(0,t)),r=r.slice(t)}r.byteLength>0&&(yield yield LC(r))}finally{n.releaseLock()}})}function CD(e){let t=e.get(`Cache-Control`);if(t){let e=t.match(/(?:^|[,\s])max-age=(\d+)/)?.[1];if(e)return parseInt(e,10)}}function wD(){return typeof CompressionStream<`u`}function TD(){return wD()&&!OE()}function ED(e,t){let n=G(mE(t.id),2)[1];if(n?.startsWith(`TR`))return n;if(e.id.startsWith(`TR`))return e.id}function DD(e,t){let n=arguments.length>2&&arguments[2]!==void 0&&arguments[2],r=OD(e,t);return n?r:jD(r,`v1`)}function OD(e,t){let n=new URL(iD(e));return t.forEach((e,t)=>{n.searchParams.set(t,e)}),jD(n,`rtc`)}function kD(e){return jD(new URL(aD(e)),`validate`)}function AD(e){return e.endsWith(`/`)?e:`${e}/`}function jD(e,t){return e.pathname=`${AD(e.pathname)}${t}`,e}function MD(e){if(typeof e==`string`)return cS.fromJson(JSON.parse(e),{ignoreUnknownFields:!0});if(e instanceof ArrayBuffer)return cS.fromBinary(new Uint8Array(e));throw Error(`could not decode websocket message: ${typeof e}`)}function ND(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`Unknown reason`;if(e instanceof Error)return e.message;if(!(e instanceof AbortSignal))return t;let n=e.reason;switch(typeof n){case`string`:return n;case`object`:return n instanceof Error?n.message:t;default:return`toString`in n?n.toString():t}}function PD(e,t){return e instanceof Error?e.name&&e.message?`${e.name}: ${e.message}`:e.name:`Encountered unknown ${t} error: ${String(e)}`}var FD=`lk_e2ee`,ID=`lk_e2ee_track_id`,LD;(function(e){e.SetKey=`setKey`,e.RatchetRequest=`ratchetRequest`,e.KeyRatcheted=`keyRatcheted`})(LD||={});var RD;(function(e){e.KeyRatcheted=`keyRatcheted`})(RD||={});var zD;(function(e){e.ParticipantEncryptionStatusChanged=`participantEncryptionStatusChanged`,e.EncryptionError=`encryptionError`})(zD||={});var BD;(function(e){e.Error=`cryptorError`})(BD||={});function VD(){return UD()||HD()}function HD(){return typeof window<`u`&&window.RTCRtpScriptTransform!==void 0}function UD(){return typeof window<`u`&&window.RTCRtpSender!==void 0&&window.RTCRtpSender.prototype.createEncodedStreams!==void 0}function WD(e){if(e.value?.case!==`sipDtmf`&&e.value?.case!==`metrics`&&e.value?.case!==`speaker`&&e.value?.case!==`transcription`&&e.value?.case!==`encryptedPacket`)return new Ox({value:e.value})}WC.EventEmitter;var GD;(function(e){e[e.InvalidKey=0]=`InvalidKey`,e[e.MissingKey=1]=`MissingKey`,e[e.InternalError=2]=`InternalError`})(GD||={});var KD=class extends dT{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:GD.InternalError,n=arguments.length>2?arguments[2]:void 0;super(40,e),this.reason=t,this.participantIdentity=n}};function qD(){return AE()}function JD(e){return!!e?.worker&&(UD()||qD())}function YD(e){return!!(e?.timestamp||e?.frameId)}function XD(e){let t=[];return e?.timestamp&&t.push(rx.PTF_USER_TIMESTAMP),e?.frameId&&t.push(rx.PTF_FRAME_ID),t}function ZD(e){if(!e||e.length===0)return;let t={};return e.includes(rx.PTF_USER_TIMESTAMP)&&(t.timestamp=!0),e.includes(rx.PTF_FRAME_ID)&&(t.frameId=!0),t.timestamp||t.frameId?t:void 0}function QD(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:50,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r,i=n.isImmediate??!1,a=n.callback??!1,o=n.maxWait,s=Date.now(),c=[];function l(){if(o!==void 0){let e=Date.now()-s;if(e+t>=o)return o-e}return t}let u=function(){var t=[...arguments];let n=this;return new Promise((o,u)=>{let d=function(){if(r=void 0,s=Date.now(),!i){let r=e.apply(n,t);a&&a(r),c.forEach(e=>{let t=e.resolve;return t(r)}),c=[]}},f=i&&r===void 0;if(r!==void 0&&ET.clearTimeout(r),r=ET.setTimeout(d,l()),f){let r=e.apply(n,t);return a&&a(r),o(r)}c.push({resolve:o,reject:u})})};return u.cancel=function(e){r!==void 0&&ET.clearTimeout(r),c.forEach(t=>{let n=t.reject;return n(e)}),c=[]},u}var $D=2e3;function eO(e,t){if(!t)return 0;let n,r;return`bytesReceived`in e?(n=e.bytesReceived,r=t.bytesReceived):`bytesSent`in e&&(n=e.bytesSent,r=t.bytesSent),n===void 0||r===void 0||e.timestamp===void 0||t.timestamp===void 0?0:(n-r)*8*1e3/(e.timestamp-t.timestamp)}var tO=class extends ${constructor(e,t,n,r,i){super(e,n,i),this.timeSyncLoop=()=>{if(this.listenerCount(Q.TimeSyncUpdate)===0){this.timeSyncHandle=void 0;return}this.timeSyncHandle=requestAnimationFrame(this.timeSyncLoop);let e=this.receiver?.getSynchronizationSources()[0];if(e){let t=e.timestamp,n=e.rtpTimestamp;n&&this.rtpTimestamp!==n&&(this.emit(Q.TimeSyncUpdate,{timestamp:t,rtpTimestamp:n}),this.rtpTimestamp=n)}},this.onTimeSyncListenerAdded=e=>{e===Q.TimeSyncUpdate&&this.timeSyncHandle===void 0&&(this.timeSyncHandle=requestAnimationFrame(this.timeSyncLoop))},this.sid=t,this.receiver=r}get isLocal(){return!1}setMuted(e){this.isMuted!==e&&(this.isMuted=e,this._mediaStreamTrack.enabled=!e,this.emit(e?Q.Muted:Q.Unmuted,this))}setMediaStream(e){this.mediaStream=e;let t=n=>{n.track===this._mediaStreamTrack&&(e.removeEventListener(`removetrack`,t),this.receiver&&`playoutDelayHint`in this.receiver&&(this.receiver.playoutDelayHint=void 0),this.receiver=void 0,this._currentBitrate=0,this.emit(Q.Ended,this))};e.addEventListener(`removetrack`,t)}start(){this.startMonitor(),super.enable()}stop(){this.stopMonitor(),super.disable()}getRTCStatsReport(){return q(this,void 0,void 0,function*(){if(this.receiver?.getStats)return yield this.receiver.getStats()})}setPlayoutDelay(e){this.receiver?`playoutDelayHint`in this.receiver?this.receiver.playoutDelayHint=e:this.log.warn(`Playout delay not supported in this browser`):this.log.warn(`Cannot set playout delay, track already ended`)}getPlayoutDelay(){if(this.receiver){if(`playoutDelayHint`in this.receiver)return this.receiver.playoutDelayHint;this.log.warn(`Playout delay not supported in this browser`)}else this.log.warn(`Cannot get playout delay, track already ended`);return 0}startMonitor(){this.monitorInterval||=setInterval(()=>this.monitorReceiver(),$D),tE()&&this.registerTimeSyncUpdate()}stopMonitor(){super.stopMonitor(),this.off(`newListener`,this.onTimeSyncListenerAdded)}registerTimeSyncUpdate(){let e=this;e.off(`newListener`,this.onTimeSyncListenerAdded),e.on(`newListener`,this.onTimeSyncListenerAdded),this.timeSyncHandle===void 0&&this.timeSyncLoop()}},nO=100,rO=class extends tO{constructor(e,t,n,r,i){super(e,t,$.Kind.Video,n,i),this.elementInfos=[],this.monitorReceiver=()=>q(this,void 0,void 0,function*(){if(!this.receiver){this._currentBitrate=0;return}let e=yield this.getReceiverStats();e&&this.prevStats&&this.receiver&&(this._currentBitrate=eO(e,this.prevStats)),this.prevStats=e}),this.debouncedHandleResize=QD(()=>{this.updateDimensions()},nO),this.adaptiveStreamSettings=r}get isAdaptiveStream(){return this.adaptiveStreamSettings!==void 0}lookupFrameMetadata(e){let t=e.rtpTimestamp;return this.frameMetadataExtractor?.lookupMetadata(t)}setStreamState(e){super.setStreamState(e),this.log.debug(`setStreamState`,e),this.isAdaptiveStream&&e===$.StreamState.Active&&this.updateVisibility()}get mediaStreamTrack(){return this._mediaStreamTrack}setMuted(e){super.setMuted(e),this.attachedElements.forEach(t=>{e?dE(this._mediaStreamTrack,t):uE(this._mediaStreamTrack,t)})}attach(e){if(e?super.attach(e):e=super.attach(),this.adaptiveStreamSettings&&this.elementInfos.find(t=>t.element===e)===void 0){let t=new iO(e);this.observeElementInfo(t)}return e}observeElementInfo(e){this.adaptiveStreamSettings&&this.elementInfos.find(t=>t===e)===void 0?(e.handleResize=()=>{this.debouncedHandleResize()},e.handleVisibilityChanged=()=>{this.updateVisibility()},this.elementInfos.push(e),e.observe(),this.debouncedHandleResize(),this.updateVisibility()):this.log.warn(`visibility resize observer not triggered`,this.logContext)}stopObservingElementInfo(e){if(!this.isAdaptiveStream){this.log.warn(`stopObservingElementInfo ignored`,this.logContext);return}let t=this.elementInfos.filter(t=>t===e);for(let e of t)e.stopObserving();this.elementInfos=this.elementInfos.filter(t=>t!==e),this.updateVisibility(),this.debouncedHandleResize()}detach(e){if(e)return this.stopObservingElement(e),super.detach(e);let t=super.detach();for(let e of t)this.stopObservingElement(e);return t}getDecoderImplementation(){return this.prevStats?.decoderImplementation}getReceiverStats(){return q(this,void 0,void 0,function*(){if(!this.receiver||!this.receiver.getStats)return;let e=yield this.receiver.getStats(),t,n=``,r=new Map;return e.forEach(e=>{e.type===`inbound-rtp`?(n=e.codecId,t={type:`video`,streamId:e.id,framesDecoded:e.framesDecoded,framesDropped:e.framesDropped,framesReceived:e.framesReceived,packetsReceived:e.packetsReceived,packetsLost:e.packetsLost,frameWidth:e.frameWidth,frameHeight:e.frameHeight,pliCount:e.pliCount,firCount:e.firCount,nackCount:e.nackCount,jitter:e.jitter,timestamp:e.timestamp,bytesReceived:e.bytesReceived,decoderImplementation:e.decoderImplementation}):e.type===`codec`&&r.set(e.id,e)}),t&&n!==``&&r.get(n)&&(t.mimeType=r.get(n).mimeType),t})}stopObservingElement(e){let t=this.elementInfos.filter(t=>t.element===e);for(let e of t)this.stopObservingElementInfo(e)}handleAppVisibilityChanged(){let e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return q(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),this.isAdaptiveStream&&this.updateVisibility()})}updateVisibility(e){let t=this.elementInfos.reduce((e,t)=>Math.max(e,t.visibilityChangedAt||0),0),n=this.adaptiveStreamSettings?.pauseVideoInBackground??!0?this.isInBackground:!1,r=this.elementInfos.some(e=>e.pictureInPicture),i=this.elementInfos.some(e=>e.visible)&&!n||r;if(this.lastVisible!==i||e){if(!i&&Date.now()-t<nO){ET.setTimeout(()=>{this.updateVisibility()},nO);return}this.lastVisible=i,this.emit(Q.VisibilityChanged,i,this)}}updateDimensions(){let e=0,t=0,n=this.getPixelDensity();for(let r of this.elementInfos){let i=r.width()*n,a=r.height()*n;i+a>e+t&&(e=i,t=a)}(this.lastDimensions?.width!==e||this.lastDimensions?.height!==t)&&(this.lastDimensions={width:e,height:t},this.emit(Q.VideoDimensionsChanged,this.lastDimensions,this))}getPixelDensity(){let e=this.adaptiveStreamSettings?.pixelDensity;return e===`screen`?UE():e||(UE()>2?2:1)}},iO=class{get visible(){return this.isPiP||this.isIntersecting}get pictureInPicture(){return this.isPiP}constructor(e,t){this.onVisibilityChanged=e=>{var t;let n=e.target,r=e.isIntersecting;n===this.element&&(this.isIntersecting=r,this.isPiP=aO(this.element),this.visibilityChangedAt=Date.now(),(t=this.handleVisibilityChanged)==null||t.call(this))},this.onEnterPiP=()=>{var e;(e=window.documentPictureInPicture?.window)==null||e.addEventListener(`pagehide`,this.onLeavePiP),queueMicrotask(()=>{requestAnimationFrame(()=>{var e;this.isPiP=aO(this.element),(e=this.handleVisibilityChanged)==null||e.call(this)})})},this.onLeavePiP=()=>{var e;this.isPiP=aO(this.element),(e=this.handleVisibilityChanged)==null||e.call(this)},this.element=e,this.isIntersecting=t??oO(e),this.isPiP=LE()&&aO(e),this.visibilityChangedAt=0}width(){return this.element.clientWidth}height(){return this.element.clientHeight}observe(){var e,t;this.isIntersecting=oO(this.element),this.isPiP=aO(this.element),this.element.handleResize=()=>{var e;(e=this.handleResize)==null||e.call(this)},this.element.handleVisibilityChanged=this.onVisibilityChanged,XE().observe(this.element),JE().observe(this.element),this.element.addEventListener(`enterpictureinpicture`,this.onEnterPiP),this.element.addEventListener(`leavepictureinpicture`,this.onLeavePiP),(e=window.documentPictureInPicture)==null||e.addEventListener(`enter`,this.onEnterPiP),(t=window.documentPictureInPicture?.window)==null||t.addEventListener(`pagehide`,this.onLeavePiP)}stopObserving(){var e,t,n,r;(e=XE())==null||e.unobserve(this.element),(t=JE())==null||t.unobserve(this.element),this.element.removeEventListener(`enterpictureinpicture`,this.onEnterPiP),this.element.removeEventListener(`leavepictureinpicture`,this.onLeavePiP),(n=window.documentPictureInPicture)==null||n.removeEventListener(`enter`,this.onEnterPiP),(r=window.documentPictureInPicture?.window)==null||r.removeEventListener(`pagehide`,this.onLeavePiP)}};function aO(e){return document.pictureInPictureElement===e?!0:window.documentPictureInPicture?.window?oO(e,window.documentPictureInPicture?.window):!1}function oO(e,t){let n=t||window,r=e.offsetTop,i=e.offsetLeft,a=e.offsetWidth,o=e.offsetHeight,s=e.hidden,c=getComputedStyle(e).display;for(;e.offsetParent;)e=e.offsetParent,r+=e.offsetTop,i+=e.offsetLeft;return r<n.pageYOffset+n.innerHeight&&i<n.pageXOffset+n.innerWidth&&r+o>n.pageYOffset&&i+a>n.pageXOffset&&!s&&c!==`none`}var sO=class e extends WC.EventEmitter{get logContext(){return{room:this.room?.name,participant:this.room?.localParticipant.identity}}constructor(e,t){super(),this.decryptDataRequests=new Map,this.encryptDataRequests=new Map,this.log=EC(wC.E2EE,()=>this.logContext),this.onWorkerMessage=e=>{let t=e.data,n=t.kind,r=t.data;switch(n){case`error`:if(r.uuid){let e=this.decryptDataRequests.get(r.uuid);if(e?.reject){e.reject(r.error);break}let t=this.encryptDataRequests.get(r.uuid);if(t?.reject){t.reject(r.error);break}}this.log.error(r.error.message),this.emit(zD.EncryptionError,r.error,r.participantIdentity);break;case`initAck`:r.enabled&&this.keyProvider.getKeys().forEach(e=>{this.postKey(e,!1)});break;case`enable`:if(r.enabled&&this.keyProvider.getKeys().forEach(e=>{this.postKey(e,!1)}),this.encryptionEnabled!==r.enabled&&r.participantIdentity===this.room?.localParticipant.identity)this.emit(zD.ParticipantEncryptionStatusChanged,r.enabled,this.room.localParticipant),this.encryptionEnabled=r.enabled;else if(r.participantIdentity){let e=this.room?.getParticipantByIdentity(r.participantIdentity);if(!e)throw TypeError(`couldn't set encryption status, participant not found${r.participantIdentity}`);this.emit(zD.ParticipantEncryptionStatusChanged,r.enabled,e)}break;case`ratchetKey`:this.keyProvider.emit(LD.KeyRatcheted,r.ratchetResult,r.participantIdentity,r.keyIndex);break;case`decryptDataResponse`:let e=this.decryptDataRequests.get(r.uuid);e?.resolve&&e.resolve(r);break;case`encryptDataResponse`:let t=this.encryptDataRequests.get(r.uuid);t?.resolve&&t.resolve(r);break;case`packetTrailerMetadata`:this.handleFrameMetadata(r.trackId,r.rtpTimestamp,r.ssrc,r.metadata);break;case`log`:OC[r.level](r.msg,r.context)}},this.onWorkerError=e=>{this.log.error(`e2ee worker encountered an error:`,{error:e.error}),this.emit(zD.EncryptionError,e.error,void 0)},this.keyProvider=e.keyProvider,this.worker=e.worker,this.encryptionEnabled=!1,this.dataChannelEncryptionEnabled=t}get isEnabled(){return this.encryptionEnabled}get isDataChannelEncryptionEnabled(){return this.isEnabled&&this.dataChannelEncryptionEnabled}setup(e){if(!VD())throw new mT(`tried to setup end-to-end encryption on an unsupported browser`);if(this.log.info(`setting up e2ee`),e!==this.room){this.room=e,this.setupEventListeners(e,this.keyProvider);let t={kind:`init`,data:{keyProviderOptions:this.keyProvider.getOptions(),loglevel:OC.getLevel()}};this.worker&&(this.log.info(`initializing worker`,{worker:this.worker}),this.worker.onmessage=this.onWorkerMessage,this.worker.onerror=this.onWorkerError,this.worker.postMessage(t),this.subscribeToLogLevelChanges())}}subscribeToLogLevelChanges(){var t;(t=this.unsubscribeLogLevel)==null||t.call(this);let n;if(e.disposeRegistry){let t=new WeakRef(this.worker);n=jC(e=>{let r=t.deref();if(!r){n?.();return}r.postMessage({kind:`setLogLevel`,data:{level:e}})}),e.disposeRegistry.register(this,n,this)}else{let e=this.worker;n=jC(t=>{e.postMessage({kind:`setLogLevel`,data:{level:t}})})}this.unsubscribeLogLevel=n}dispose(){var t,n,r;(t=this.unsubscribeLogLevel)==null||t.call(this),this.unsubscribeLogLevel=void 0,e.disposeRegistry&&e.disposeRegistry.unregister(this);let i=new KD(`E2EEManager disposed`,GD.InternalError);for(let e of[...this.encryptDataRequests.values()])(n=e.reject)==null||n.call(e,i);for(let e of[...this.decryptDataRequests.values()])(r=e.reject)==null||r.call(e,i);this.worker&&(this.worker.onmessage=null,this.worker.onerror=null),this.removeAllListeners()}setParticipantCryptorEnabled(e,t){this.log.debug(`set e2ee to ${e} for participant ${t}`),this.postEnable(e,t)}setSifTrailer(e){!e||e.length===0?this.log.warn(`ignoring server sent trailer as it's empty`):this.postSifTrailer(e)}handleFrameMetadata(e,t,n,r){if(this.room){for(let i of[this.room.localParticipant,...this.room.remoteParticipants.values()])for(let a of i.trackPublications.values())if(a.track&&a.track.mediaStreamID===e&&a.track instanceof rO&&a.track.frameMetadataExtractor){a.track.frameMetadataExtractor.storeMetadata(t,n,r);return}}}setupEngine(e){e.on(Z.RTPVideoMapUpdate,e=>{this.postRTPMap(e)})}setupEventListeners(e,t){e.on(Y.TrackPublished,(e,t)=>this.setParticipantCryptorEnabledForPublication(e,t.identity)),e.on(Y.ConnectionStateChanged,t=>{t===pN.Connected&&e.remoteParticipants.forEach(e=>{e.trackPublications.forEach(t=>{this.setParticipantCryptorEnabledForPublication(t,e.identity)})})}).on(Y.TrackUnsubscribed,(e,t,n)=>{var r;let i={kind:`removeTransform`,data:{participantIdentity:n.identity,trackId:e.mediaStreamID}};(r=this.worker)==null||r.postMessage(i)}).on(Y.TrackSubscribed,(e,t,n)=>{this.setupE2EEReceiver(e,n.identity,t.trackInfo)}).on(Y.SignalConnected,()=>{if(!this.room)throw TypeError(`expected room to be present on signal connect`);let e=t.getLatestManuallySetKeyIndex();t.getKeys().forEach(t=>{this.postKey(t,e===(t.keyIndex??0))}),this.setParticipantCryptorEnabled(this.room.localParticipant.isE2EEEnabled,this.room.localParticipant.identity)}),e.localParticipant.on(X.LocalSenderCreated,(e,t)=>q(this,void 0,void 0,function*(){this.setupE2EESender(t,e)})),e.localParticipant.on(X.LocalTrackPublished,e=>{if(!pD(e.track)||!ME())return;let t={kind:`updateCodec`,data:{trackId:e.track.mediaStreamID,codec:QT(e.trackInfo.codecs[0].mimeType),participantIdentity:this.room.localParticipant.identity,hasPacketTrailer:!1}};this.worker.postMessage(t)}),t.on(LD.SetKey,(e,t)=>this.postKey(e,t??!0)).on(LD.RatchetRequest,(e,t)=>this.postRatchetRequest(e,t))}encryptData(e){return q(this,void 0,void 0,function*(){if(!this.worker)throw Error(`could not encrypt data, worker is missing`);let t=crypto.randomUUID(),n={kind:`encryptDataRequest`,data:{uuid:t,payload:e,participantIdentity:this.room.localParticipant.identity}},r=new tD;return r.onFinally=()=>{this.encryptDataRequests.delete(t)},this.encryptDataRequests.set(t,r),this.worker.postMessage(n),r.promise})}handleEncryptedData(e,t,n,r){if(!this.worker)throw Error(`could not handle encrypted data, worker is missing`);let i=crypto.randomUUID(),a={kind:`decryptDataRequest`,data:{uuid:i,payload:e,iv:t,participantIdentity:n,keyIndex:r}},o=new tD;return o.onFinally=()=>{this.decryptDataRequests.delete(i)},this.decryptDataRequests.set(i,o),this.worker.postMessage(a),o.promise}postRatchetRequest(e,t){if(!this.worker)throw Error(`could not ratchet key, worker is missing`);let n={kind:`ratchetRequest`,data:{participantIdentity:e,keyIndex:t}};this.worker.postMessage(n)}postKey(e,t){let n=e.key,r=e.participantIdentity,i=e.keyIndex;if(!this.worker)throw Error(`could not set key, worker is missing`);let a={kind:`setKey`,data:{participantIdentity:r,isPublisher:r===this.room?.localParticipant.identity,key:n,keyIndex:i,updateCurrentKeyIndex:t}};this.worker.postMessage(a)}postEnable(e,t){if(this.worker){let n={kind:`enable`,data:{enabled:e,participantIdentity:t}};this.worker.postMessage(n)}else throw ReferenceError(`failed to enable e2ee, worker is not ready`)}postRTPMap(e){if(!this.worker)throw TypeError(`could not post rtp map, worker is missing`);if(!this.room?.localParticipant.identity)throw TypeError(`could not post rtp map, local participant identity is missing`);let t={kind:`setRTPMap`,data:{map:e,participantIdentity:this.room.localParticipant.identity}};this.worker.postMessage(t)}postSifTrailer(e){if(!this.worker)throw Error(`could not post SIF trailer, worker is missing`);let t={kind:`setSifTrailer`,data:{trailer:e}};this.worker.postMessage(t)}setParticipantCryptorEnabledForPublication(e,t){if(!e.trackInfo){this.log.warn(`skipping e2ee enabled update for publication without trackInfo`,{trackSid:e.trackSid});return}this.setParticipantCryptorEnabled(e.trackInfo.encryption!==dx.NONE,t)}setupE2EEReceiver(e,t,n){if(!e.receiver)return;if(!n?.mimeType||n.mimeType===``)throw TypeError(`MimeType missing from trackInfo, cannot set up E2EE cryptor`);let r=e.kind===`video`&&!!n.packetTrailerFeatures&&n.packetTrailerFeatures.length>0;this.handleReceiver(e.receiver,e.mediaStreamID,t,e.kind===`video`?QT(n.mimeType):void 0,r)}setupE2EESender(e,t){if(!dD(e)||!t){t||this.log.warn(`early return because sender is not ready`);return}this.handleSender(t,e.mediaStreamID,void 0,pD(e)?e.publishOptions?.frameMetadata??e.publishOptions?.packetTrailer:void 0)}handleReceiver(e,t,n,r,i){return q(this,void 0,void 0,function*(){if(this.worker){if(AE()){let a={kind:`decode`,participantIdentity:n,trackId:t,codec:r,hasPacketTrailer:i};e.transform=new RTCRtpScriptTransform(this.worker,a)}else{if(FD in e&&ID in e){let a={kind:`updateCodec`,data:{trackId:t,previousTrackId:e[ID],codec:r,participantIdentity:n,hasPacketTrailer:i}};this.worker.postMessage(a),e[ID]=t;return}let a=e.writableStream,o=e.readableStream;if(!a||!o){let t=e.createEncodedStreams();e.writableStream=t.writable,a=t.writable,e.readableStream=t.readable,o=t.readable}let s={kind:`decode`,data:{readableStream:o,writableStream:a,trackId:t,codec:r,participantIdentity:n,hasPacketTrailer:i}};this.worker.postMessage(s,[o,a])}e[FD]=!0,e[ID]=t}})}handleSender(e,t,n,r){if(!(FD in e||!this.worker)){if(!this.room?.localParticipant.identity||this.room.localParticipant.identity===``)throw TypeError(`local identity needs to be known in order to set up encrypted sender`);if(AE()){this.log.info(`initialize script transform`);let i={kind:`encode`,participantIdentity:this.room.localParticipant.identity,trackId:t,codec:n,hasPacketTrailer:YD(r),packetTrailer:r};e.transform=new RTCRtpScriptTransform(this.worker,i)}else{this.log.info(`initialize encoded streams`);let i=e.createEncodedStreams(),a={kind:`encode`,data:{readableStream:i.readable,writableStream:i.writable,codec:n,trackId:t,participantIdentity:this.room.localParticipant.identity,hasPacketTrailer:YD(r),packetTrailer:r}};this.worker.postMessage(a,[i.readable,i.writable])}e[FD]=!0}}};sO.disposeRegistry=typeof FinalizationRegistry<`u`&&typeof WeakRef<`u`&&new FinalizationRegistry(e=>{e()});var cO=300,lO=class{constructor(){this.metadataMap=new Map,this.activeSsrc=0}storeMetadata(e,t,n){for(this.activeSsrc!==0&&this.activeSsrc!==t&&this.metadataMap.clear(),this.activeSsrc=t;this.metadataMap.size>=cO;){let e=this.metadataMap.keys().next().value;this.metadataMap.delete(e)}this.metadataMap.set(e,n)}lookupMetadata(e){return this.metadataMap.get(e)}dispose(){this.metadataMap.clear(),this.activeSsrc=0}},uO=class{constructor(e){this.extractors=new Map,this.workerPipelines=new Map,this.onWorkerMessage=e=>{let t=e.data;if(t.kind===`metadata`){let e=this.extractors.get(t.data.trackId);e&&e.storeMetadata(t.data.rtpTimestamp,t.data.ssrc,t.data.metadata)}},this.onWorkerError=e=>{TC.error(`frame metadata worker encountered an error:`,{error:e.error})},this.worker=e?.worker}setup(e){e!==this.room&&(this.room=e,this.worker&&(this.worker.onmessage=this.onWorkerMessage,this.worker.onerror=this.onWorkerError,this.worker.postMessage({kind:`init`})),e.on(Y.TrackSubscribed,(e,t,n)=>{e.kind===`video`&&this.setupReceiver(e,t.trackInfo)}).on(Y.TrackUnsubscribed,e=>{this.teardownTrack(e)}).on(Y.Disconnected,()=>{this.cleanup()}))}setupReceiver(e,t){let n=e.receiver;if(!n)return;if(!(t?.packetTrailerFeatures&&t.packetTrailerFeatures.length>0)){this.room?.hasE2EESetup||this.setupPassthroughReceiver(n,e.mediaStreamID);return}if(!JD(this.worker?{worker:this.worker}:void 0)&&!this.room?.hasE2EESetup){TC.warn(`frame metadata transform not supported; skipping extraction`);return}let r=new lO,i=e.mediaStreamID;this.extractors.set(i,r),e.frameMetadataExtractor=r,!this.room?.hasE2EESetup&&this.setupWorkerReceiver(n,i,!0)}setupPassthroughReceiver(e,t){if(qD()){`transform`in e&&(e.transform=null);return}if(this.worker&&JD({worker:this.worker})&&!this.workerPipelines.has(e)){this.setupWorkerReceiver(e,t,!1);return}this.worker&&this.workerPipelines.has(e)&&this.setupWorkerReceiver(e,t,!1)}setupWorkerReceiver(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=this.worker;if(!r)return;if(qD()){e.transform=new RTCRtpScriptTransform(r,{kind:`decode`,trackId:t});return}let i=this.workerPipelines.get(e);if(i){let a={kind:`updateTrackId`,data:{oldTrackId:i,newTrackId:t,hasPacketTrailer:n}};r.postMessage(a),this.workerPipelines.set(e,t);return}if(!(`createEncodedStreams`in e)){TC.warn(`createEncodedStreams not supported`);return}let a;try{a=e.createEncodedStreams()}catch(e){TC.warn(`failed to create encoded streams`,{error:e});return}let o={kind:`decode`,data:{readableStream:a.readable,writableStream:a.writable,trackId:t,hasPacketTrailer:n}};r.postMessage(o,[a.readable,a.writable]),this.workerPipelines.set(e,t)}teardownTrack(e){let t=e.mediaStreamID,n=this.extractors.get(t);n&&(n.dispose(),this.extractors.delete(t)),e instanceof rO&&(e.frameMetadataExtractor=void 0)}cleanup(){var e;for(let e of this.extractors.values())e.dispose();this.extractors.clear(),this.workerPipelines.clear(),(e=this.worker)==null||e.terminate()}},dO=500,fO=15e3,pO=class e{constructor(){this.failedConnectionAttempts=new Map,this.backOffPromises=new Map}static getInstance(){return this._instance||=new e,this._instance}addFailedConnectionAttempt(e){let t=BE(new URL(e));if(!t)return;let n=this.failedConnectionAttempts.get(t)??0;this.failedConnectionAttempts.set(t,n+1),this.backOffPromises.set(t,hE(Math.min(dO*2**n,fO)))}getBackOffPromise(e){let t=new URL(e),n=t&&BE(t);return n&&this.backOffPromises.get(n)||Promise.resolve()}resetFailedConnectionAttempts(e){let t=new URL(e),n=t&&BE(t);n&&(this.failedConnectionAttempts.set(n,0),this.backOffPromises.set(n,Promise.resolve()))}resetAll(){this.backOffPromises.clear(),this.failedConnectionAttempts.clear()}};pO._instance=null;var mO=`default`,hO=class e{constructor(){this._previousDevices=[]}static getInstance(){return this.instance===void 0&&(this.instance=new e),this.instance}get previousDevices(){return this._previousDevices}getDevices(t){return q(this,arguments,void 0,function(t){var n=this;let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return function*(){if(e.userMediaPromiseMap?.size>0){TC.debug(`awaiting getUserMedia promise`);try{t?yield e.userMediaPromiseMap.get(t):yield Promise.all(e.userMediaPromiseMap.values())}catch{TC.warn(`error waiting for media permissons`)}}let i=yield navigator.mediaDevices.enumerateDevices();if(r&&!(jE()&&n.hasDeviceInUse(t))&&(i.filter(e=>e.kind===t).length===0||i.some(e=>{let n=e.label===``,r=!t||e.kind===t;return n&&r}))){let e={video:t!==`audioinput`&&t!==`audiooutput`,audio:t!==`videoinput`&&{deviceId:{ideal:`default`}}},n=yield navigator.mediaDevices.getUserMedia(e);i=yield navigator.mediaDevices.enumerateDevices(),n.getTracks().forEach(e=>{e.stop()})}return n._previousDevices=i,t&&(i=i.filter(e=>e.kind===t)),i}()})}normalizeDeviceId(e,t,n){return q(this,void 0,void 0,function*(){if(t!==mO)return t;let r=yield this.getDevices(e),i=r.find(e=>e.deviceId===mO);if(!i){TC.warn(`could not reliably determine default device`);return}let a=r.find(e=>e.deviceId!==mO&&e.groupId===(n??i.groupId));if(!a){TC.warn(`could not reliably determine default device`);return}return a?.deviceId})}hasDeviceInUse(t){return t?e.userMediaPromiseMap.has(t):e.userMediaPromiseMap.size>0}};hO.mediaDeviceKinds=[`audioinput`,`audiooutput`,`videoinput`],hO.userMediaPromiseMap=new Map;var gO=65535,_O=4294967295,vO=class e{static u16(t){return new e(t,gO)}static u32(t){return new e(t,_O)}constructor(e,t){if(this.value=e,e<0)throw Error(`WrapAroundUnsignedInt: cannot faithfully represent an integer smaller than 0`);if(t>2**53-1)throw Error(`WrapAroundUnsignedInt: cannot faithfully represent an integer bigger than MAX_SAFE_INTEGER.`);this.maxSize=t,this.clamp()}clamp(){for(;this.value>this.maxSize;)this.value-=this.maxSize+1;for(;this.value<0;)this.value+=this.maxSize+1}clone(){return new e(this.value,this.maxSize)}update(e){this.value=e(this.value),this.clamp()}increment(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this.update(t=>t+e)}decrement(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this.update(t=>t-e)}getThenIncrement(){let t=this.value;return this.increment(),new e(t,this.maxSize)}isBefore(e){let t=this.value>>>0,n=(e.value>>>0)-t>>>0;return n!==0&&n<this.maxSize+1}},yO=class e{static fromRtpTicks(t){return new e(t,9e4)}static rtpRandom(){let t=Math.round(Math.random()*_O);return e.fromRtpTicks(t)}constructor(e,t){this.timestamp=vO.u32(e),this.rateInHz=t}asTicks(){return this.timestamp.value}clone(){return new e(this.timestamp.value,this.rateInHz)}wrappingAdd(e){this.timestamp.increment(e)}isBefore(e){return this.timestamp.isBefore(e.timestamp)}},bO=class e{constructor(e,t,n){this.epoch=t,this.base=n,this.previous=n.clone(),this.rateInHz=e}static startingNow(t,n){return new e(n,new Date,t)}static startingAtTime(t,n,r){return new e(r,t,n)}static rtpStartingNow(t){return e.startingNow(t,9e4)}static rtpStartingAtTime(t,n){return e.startingAtTime(t,n,9e4)}now(){return this.at(new Date)}at(t){let n=t.getTime()-this.epoch.getTime(),r=e.durationInMsToTicks(n,this.rateInHz),i=this.base.clone();return i.wrappingAdd(r),i.isBefore(this.previous)&&(i=this.previous),this.previous=i.clone(),i.clone()}static durationInMsToTicks(e,t){let n=(e*1e6*t+5e8)/1e9;return Math.round(n)}};function xO(e){if(e instanceof DataView)return e;if(e instanceof ArrayBuffer)return new DataView(e);if(e instanceof Uint8Array)return new DataView(e.buffer,e.byteOffset,e.byteLength);throw Error(`Error coercing ${e} to DataView - input was not DataView, ArrayBuffer, or Uint8Array.`)}var SO;(function(e){e[e.Reserved=0]=`Reserved`,e[e.TooLarge=1]=`TooLarge`})(SO||={});var CO=class e extends fT{constructor(e,t){super(19,e),this.name=`DataTrackHandleError`,this.reason=t,this.reasonName=SO[t]}isReason(e){return this.reason===e}static tooLarge(){return new e(`Value too large to be a valid track handle`,SO.TooLarge)}static reserved(t){return new e(`0x${t.toString(16)} is a reserved value.`,SO.Reserved)}},wO={fromNumber(e){if(e===0)throw CO.reserved(e);if(e>gO)throw CO.tooLarge();return e}},TO=class{constructor(){this.value=0}get(){return this.value+=1,this.value>gO?null:this.value}reset(){this.value=0}},EO={from(e){return{sid:e.sid,pubHandle:e.pubHandle,name:e.name,usesE2ee:e.encryption!==dx.NONE}},toProtobuf(e){return new mx({sid:e.sid,pubHandle:e.pubHandle,name:e.name,encryption:e.usesE2ee?dx.GCM:dx.NONE})}},DO;(function(e){e[e.WAITING=0]=`WAITING`,e[e.RUNNING=1]=`RUNNING`,e[e.COMPLETED=2]=`COMPLETED`})(DO||={});var OO=class{constructor(){this.pendingTasks=new Map,this.taskMutex=new jv,this.nextTaskIndex=0}run(e){return q(this,void 0,void 0,function*(){let t={id:this.nextTaskIndex++,enqueuedAt:Date.now(),status:DO.WAITING};this.pendingTasks.set(t.id,t);let n=yield this.taskMutex.lock();try{return t.executedAt=Date.now(),t.status=DO.RUNNING,yield e()}finally{t.status=DO.COMPLETED,this.pendingTasks.delete(t.id),n()}})}flush(){return q(this,void 0,void 0,function*(){return this.run(()=>q(this,void 0,void 0,function*(){}))})}snapshot(){return Array.from(this.pendingTasks.values())}},kO=[`client`],AO=class{constructor(){W(this,`listeners`,new Map)}on(e,t){let n=this.listeners.get(e);return n||(n=new Set,this.listeners.set(e,n)),n.add(t),{off:()=>{n.delete(t)}}}emit(e,t){let n=this.listeners.get(`*`);if(n)for(let r of n)r(e,t);let r=this.listeners.get(e);if(r)for(let e of r)e(t)}clear(){this.listeners.clear()}},jO=class extends Error{constructor(e,t){super(`non-serializable value at ${e} (${t})`),this.path=e,this.label=t}},MO=(e,t)=>NO(e,t,new Set),NO=(e,t,n)=>{if(e===null)return null;switch(typeof e){case`string`:case`boolean`:return e;case`number`:if(!Number.isFinite(e))throw new jO(t,FO(e));return e;case`object`:return PO(e,t,n);default:throw new jO(t,typeof e)}},PO=(e,t,n)=>{if(n.has(e))throw new jO(t,`circular reference`);if(Array.isArray(e)){if(e.length!==Object.keys(e).length)throw new jO(t,`sparse array or array with non-index properties`);n.add(e);let r=e.map((e,r)=>NO(e,`${t}[${r}]`,n));return n.delete(e),r}let r=Object.getPrototypeOf(e);if(r!==Object.prototype&&r!==null)throw new jO(t,e.constructor?.name??`object`);n.add(e);let i={};for(let r of Object.keys(e)){let a=NO(e[r],`${t}.${r}`,n);Object.defineProperty(i,r,{value:a,enumerable:!0,writable:!0,configurable:!0})}return n.delete(e),i},FO=e=>Number.isNaN(e)?`NaN`:e>0?`Infinity`:`-Infinity`,IO=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;if(typeof e!=`object`||!e||t.has(e))return e;if(Array.isArray(e)){t.add(e);let n=e.map(e=>IO(e,t));return t.delete(e),n}let n=Object.getPrototypeOf(e);if(n!==Object.prototype&&n!==null)return e;t.add(e);let r={};for(let n of Object.keys(e)){let i=IO(e[n],t);Object.defineProperty(r,n,{value:i,enumerable:!0,writable:!0,configurable:!0})}return t.delete(e),r},LO=Symbol(`machina.type`),RO=20,zO=class{constructor(e){W(this,`id`,void 0),W(this,`initialState`,void 0),W(this,LO,`BehavioralFsm`),W(this,`states`,void 0),W(this,`emitter`,new AO),W(this,`clients`,new WeakMap),W(this,`knownClients`,new Set),W(this,`childSubscriptions`,[]),W(this,`disposed`,!1),W(this,`transitionDepth`,0),this.id=e.id,this.initialState=e.initialState,this.states=e.states,this.wrapChildLinks(),this.setupChildSubscriptions()}handle(e,t){if(this.disposed)return;let n=this.getOrCreateClientMeta(e);var r=[...arguments].slice(2);n.currentActionArgs=r;let i=this.states[n.state]?._child;if(i&&i.canHandle(e,t)){try{i.handle(e,t,...r)}finally{n.currentActionArgs=void 0}return}this.handleLocally(e,t,r,n)}canHandle(e,t){if(this.disposed)return!1;let n=this.clients.get(e)?.state??this.initialState,r=this.states[n];if(r?.[t]??r?.[`*`])return!0;let i=r?._child;return i?i.canHandle(e,t):!1}reset(e){this.disposed||this.transition(e,this.initialState)}currentState(e){return this.clients.get(e)?.state}transition(e,t){if(this.disposed)return;let n=this.getOrCreateClientMeta(e),r=n.state;if(t!==r){if(!Object.hasOwn(this.states,t)){this.emitter.emit(`invalidstate`,{stateName:t,client:e});return}if(this.transitionDepth++,this.transitionDepth>RO)throw this.transitionDepth=0,Error(`Max transition depth (${RO}) exceeded in FSM "${this.id}". Likely an infinite _onEnter → transition loop.`);try{let i=this.states[r],a=this.states[t];if(i!=null&&i._onExit&&typeof i._onExit==`function`){let t=this.buildHandlerArgs(e,``,n);i._onExit(t)}n.state=t;let o={fromState:r,toState:t,client:e};this.emitter.emit(`transitioning`,o);let s;if(a!=null&&a._onEnter&&typeof a._onEnter==`function`){let t=this.buildHandlerArgs(e,``,n);s=a._onEnter(t)}this.emitter.emit(`transitioned`,o);let c=a?._child;c&&c.reset(e),this.processQueue(e,n),typeof s==`string`&&n.state===t&&this.transition(e,s)}finally{this.transitionDepth--}}}compositeState(e){let t=this.clients.get(e);if(!t)return``;let n=this.states[t.state]?._child;if(n){let r=n.compositeState(e);if(r)return`${t.state}.${r}`}return t.state}rehydrate(e,t){if(this.disposed)return;if(typeof t==`string`){this.rehydrateCompositePath(e,t);return}let n=this.planSnapshotWrites(e,t);for(let e of n)e()}dehydrate(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=this.clients.get(e);if(!n)return;let r={state:n.state,deferred:n.deferredQueue.map(e=>this.snapshotDeferredInput(e))},i=this.collectChildSnapshots(e,n.state,t);return i&&(r.children=i),r}planSnapshotWrites(e,t){if(this.disposed)return[];let n=t.state,r=t.deferred,i=t.children;if(!Object.hasOwn(this.states,n))throw Error(`rehydrate: unknown state "${n}" in FSM "${this.id}". Valid states: ${Object.keys(this.states).join(`, `)}`);let a=[];if(i)for(let t of Object.keys(i)){if(!Object.hasOwn(this.states,t))throw Error(`rehydrate: unknown state "${t}" in FSM "${this.id}" referenced by snapshot.children.`);let n=this.states[t]?._child;if(!n)throw Error(`rehydrate: state "${t}" in FSM "${this.id}" has no _child, but the snapshot has a children["${t}"] entry.`);a.push(...n.planRehydrate(e,i[t]))}let o=r.map(e=>by({inputName:e.inputName,args:IO(e.args)},e.untilState===void 0?{}:{untilState:e.untilState}));return a.push(()=>{this.clients.has(e)||this.knownClients.add(new WeakRef(e)),this.clients.set(e,{state:n,deferredQueue:o})}),a}rehydrateCompositePath(e,t){let n=Cy(t.split(`.`)),r=n[0],i=my(n).slice(1);if(!Object.hasOwn(this.states,r))throw Error(`rehydrate: unknown state "${r}" in FSM "${this.id}". Valid states: ${Object.keys(this.states).join(`, `)}`);if(i.length>0){let n=i.join(`.`),a=this.states[r]?._child;if(!a)throw Error(`rehydrate: state "${r}" in FSM "${this.id}" has no _child, but composite path "${t}" requires one.`);a.rehydrate(e,n)}this.clients.has(e)||this.knownClients.add(new WeakRef(e)),this.clients.set(e,{state:r,deferredQueue:[]})}collectChildSnapshots(e,t,n){let r=new Map;for(let e of Object.keys(this.states)){let t=this.states[e]?._child;if(!t)continue;let n=r.get(t.instance);n?n.stateNames.push(e):r.set(t.instance,{childLink:t,stateNames:[e]})}let i;for(let a of r.values()){let r=a.childLink,o=a.stateNames,s=n&&o.includes(t);if(r.instance[LO]===`Fsm`&&!s)continue;let c=r.dehydrate(e,s);if(c){i??={};for(let e of o)i[e]=c}}return i}snapshotDeferredInput(e){let t;try{t=MO(e.args,`args`)}catch(t){if(!(t instanceof jO))throw t;let n=e.untilState?` (until "${e.untilState}")`:``;throw Error(`dehydrate: deferred input "${e.inputName}"${n} in FSM "${this.id}" has a non-serializable value at ${t.path} (${t.label})`)}let n={inputName:e.inputName,args:t};return e.untilState!==void 0&&(n.untilState=e.untilState),n}on(e,t){return this.disposed?{off(){}}:this.emitter.on(e,t)}emit(e,t){this.disposed||this.emitter.emit(e,t)}dispose(e){this.disposed=!0;for(let e of this.childSubscriptions)e.off();if(!(e!=null&&e.preserveChildren)){let e=new Set;for(let t of Object.keys(this.states)){let n=this.states[t]?._child;n&&!e.has(n.instance)&&(e.add(n.instance),n.dispose())}}this.emitter.clear()}wrapChildLinks(){for(let e of Object.keys(this.states)){let t=this.states[e],n=t?._child;if(n){if(typeof n!=`object`)throw Error(`State "${e}"._child: expected an Fsm or BehavioralFsm instance, got ${String(n)}`);if(!(LO in n))throw Error(`State "${e}"._child: expected an Fsm or BehavioralFsm instance, got a plain object`);t._child=BO(n)}}}setupChildSubscriptions(){let e=new Set;for(let t of Object.keys(this.states)){let n=this.states[t]?._child;if(!n||e.has(n.instance))continue;e.add(n.instance);let r=n.onAny((e,t)=>{if(e===`nohandler`){let e=t;if(e.client!==void 0)this.bubbleNohandler(e.client,n,e.inputName,e.args??[]);else for(let t of this.knownClients){let r=t.deref();if(r===void 0){this.knownClients.delete(t);continue}this.bubbleNohandler(r,n,e.inputName,e.args??[])}return}let r=t;if(r&&typeof r==`object`&&`client`in r)this.isChildActiveForClient(r.client,n)&&this.emitter.emit(e,t);else for(let r of this.knownClients){let i=r.deref();if(!i){this.knownClients.delete(r);continue}if(this.isChildActiveForClient(i,n)){this.emitter.emit(e,t);break}}});this.childSubscriptions.push(r)}}bubbleNohandler(e,t,n,r){if(!this.isChildActiveForClient(e,t))return;let i=this.clients.get(e);i.currentActionArgs=r,this.handleLocally(e,n,r,i)}isChildActiveForClient(e,t){var n;let r=this.clients.get(e);return r?((n=this.states[r.state])==null||(n=n._child)==null?void 0:n.instance)===t.instance:!1}handleLocally(e,t,n,r){let i=this.states[r.state],a=i?.[t]??i?.[`*`];if(!a){this.emitter.emit(`nohandler`,{inputName:t,args:n,client:e}),r.currentActionArgs=void 0;return}try{this.emitter.emit(`handling`,{inputName:t,client:e});let i=this.buildHandlerArgs(e,t,r),o;typeof a==`string`?o=a:typeof a==`function`&&(o=a(i,...n)),this.emitter.emit(`handled`,{inputName:t,client:e}),typeof o==`string`&&this.transition(e,o)}finally{r.currentActionArgs=void 0}}getOrCreateClientMeta(e){let t=this.clients.get(e);return t||(t={state:void 0,deferredQueue:[]},this.clients.set(e,t),this.knownClients.add(new WeakRef(e)),this.transition(e,this.initialState),t)}buildHandlerArgs(e,t,n){return{ctx:e,inputName:t,defer:r=>{if(!n.currentActionArgs)return;let i={inputName:t,args:[...n.currentActionArgs],untilState:r?.until};n.deferredQueue.push(i),this.emitter.emit(`deferred`,{inputName:t,client:e})},emit:(e,t)=>{this.emitter.emit(e,t)}}}processQueue(e,t){let n=[],r=[];for(let e of t.deferredQueue)e.untilState===void 0||e.untilState===t.state?n.push(e):r.push(e);t.deferredQueue=r;for(let t of n)this.handle(e,t.inputName,...t.args)}};function BO(e){if(!e||typeof e!=`object`)throw Error(`createChildLink: expected an Fsm or BehavioralFsm instance, got ${String(e)}`);let t=e[LO];if(t===`BehavioralFsm`)return{instance:e,canHandle(t,n){return e.canHandle(t,n)},handle(t,n){var r=[...arguments].slice(2);e.handle(t,n,...r)},reset(t){e.transition(t,e.initialState)},onAny(t){return e.on(`*`,t)},compositeState(t){return e.compositeState(t)},rehydrate(t,n){e.rehydrate(t,n)},dehydrate(t,n){return e.dehydrate(t,n)},planRehydrate(t,n){return e.planSnapshotWrites(t,n)},dispose(){e.dispose()}};if(t===`Fsm`)return{instance:e,canHandle(t,n){return e.canHandle(n)},handle(t,n){var r=[...arguments].slice(2);e.handle(n,...r)},reset(t){e.reset()},onAny(t){return e.on(`*`,t)},compositeState(t){return e.compositeState()},rehydrate(e,t){throw Error(`rehydrate: cannot rehydrate an Fsm child. Fsm owns its own context; rehydrate is only valid for BehavioralFsm hierarchies.`)},dehydrate(e,t){throw Error(`dehydrate: cannot dehydrate an Fsm child. Fsm owns its own context; dehydrate is only valid for BehavioralFsm hierarchies.`)},planRehydrate(e,t){throw Error(`rehydrate: cannot rehydrate an Fsm child. Fsm owns its own context; rehydrate is only valid for BehavioralFsm hierarchies.`)},dispose(){e.dispose()}};throw Error(`createChildLink: expected an Fsm or BehavioralFsm instance, got [MACHINA_TYPE] = ${String(t??`undefined`)}`)}var VO=class{constructor(e){W(this,`id`,void 0),W(this,`initialState`,void 0),W(this,LO,`Fsm`),W(this,`states`,void 0),W(this,`bfsm`,void 0),W(this,`context`,void 0),W(this,`emitter`,new AO),W(this,`disposed`,!1),this.id=e.id,this.initialState=e.initialState,this.context=e.context??{},this.bfsm=new zO(e),this.states=e.states,this.bfsm.on(`*`,(e,t)=>{if(t&&typeof t==`object`&&`client`in t){t.client;let n=xy(t,kO);this.emitter.emit(e,n)}else this.emitter.emit(e,t)}),this.bfsm.transition(this.context,e.initialState)}handle(e){if(!this.disposed){var t=[...arguments].slice(1);this.bfsm.handle(this.context,e,...t)}}canHandle(e){return!this.disposed&&this.bfsm.canHandle(this.context,e)}reset(){this.disposed||this.bfsm.reset(this.context)}currentState(){return this.bfsm.currentState(this.context)}transition(e){this.disposed||this.bfsm.transition(this.context,e)}compositeState(){return this.bfsm.compositeState(this.context)}on(e,t){return this.disposed?{off(){}}:this.emitter.on(e,t)}emit(e,t){this.disposed||this.bfsm.emit(e,t)}dispose(e){this.disposed=!0,this.bfsm.dispose(e),this.emitter.clear()}};function HO(e){return new VO(e)}function UO(e){return e}function WO(e,t){return t.attemptId===e.attemptId}var GO=UO((e,t)=>{let n=e.ctx;if(WO(n,t))return`connected`}),KO=UO(e=>{let t=e.ctx;return t.attemptId+=1,t.lastError=void 0,`connecting`}),qO=UO(e=>{let t=e.ctx;return t.attemptId+=1,t.lastError=void 0,`reconnecting`}),JO=UO((e,t)=>{let n=e.ctx;return n.closeReason=t.reason,`disconnecting`}),YO={new:{connect:KO,close:JO},connecting:{connectComplete:GO,connectFailed:UO((e,t)=>{let n=e.ctx;return n.lastError=t.error,`closed`}),close:JO},connected:{reconnect:qO,transportFailed:UO((e,t)=>{let n=e.ctx;if(WO(n,t))return n.lastError=t.reason,`offline`}),close:JO},offline:{connect:KO,reconnect:qO,close:JO},reconnecting:{reconnectComplete:GO,reconnectFailed:UO((e,t)=>{let n=e.ctx;return n.lastError=t.error,t.recoverable?`offline`:`closed`}),close:JO},disconnecting:{closeComplete:`closed`},closed:{connect:KO,reconnect:qO}};function XO(){return HO({id:`signal`,initialState:arguments.length>0&&arguments[0]!==void 0?arguments[0]:`new`,context:{attemptId:0},states:YO})}var ZO=class{get readyState(){return this.ws.readyState}constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t.signal?.aborted)throw new DOMException(`This operation was aborted`,`AbortError`);this.url=e;let n=new WebSocket(e,t.protocols??[]);n.binaryType=`arraybuffer`,this.ws=n;let r=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.closeCode,r=e.reason;return n.close(t,r)};this.opened=new rT((e,t)=>{let i=()=>{t(J.websocket(`Encountered websocket error during connection establishment`))};n.onopen=()=>{e({readable:new ReadableStream({start(e){n.onmessage=t=>{let n=t.data;return e.enqueue(n)},n.onerror=t=>e.error(J.websocket(PD(t,`websocket`))),n.onclose=t=>{t.wasClean||t.code===1e3?e.close():e.error(J.websocket(`WS closed unexpectedly with code ${t.code}`))}},cancel:r}),writable:new WritableStream({write(e){n.send(e)},abort(){n.close()},close:r}),protocol:n.protocol,extensions:n.extensions}),n.removeEventListener(`error`,i)},n.addEventListener(`error`,i)}),this.closed=new rT((e,t)=>{let r=()=>q(this,void 0,void 0,function*(){let r=new rT(e=>{n.readyState!==WebSocket.CLOSED&&n.addEventListener(`close`,t=>{e(t)},{once:!0})}),i=yield rT.race([hE(250),r]);i?e(i):t(J.websocket(`Encountered unspecified websocket error without a timely close event`))});n.addEventListener(`close`,t=>{let i=t.code,a=t.reason;e({closeCode:i,reason:a}),n.removeEventListener(`error`,r)}),n.addEventListener(`error`,r)}),t.signal&&(t.signal.onabort=()=>n.close()),this.close=r}},QO=[`syncState`,`trickle`,`offer`,`answer`,`simulate`,`leave`];function $O(e){return e instanceof J?e.reason!==pT.LeaveRequest&&e.reason!==pT.NotAllowed:!0}function ek(e){let t=QO.indexOf(e.case)>=0;return TC.trace(`request allowed to bypass queue:`,{canPass:t,req:e}),t}var tk;(function(e){e[e.CONNECTING=0]=`CONNECTING`,e[e.CONNECTED=1]=`CONNECTED`,e[e.RECONNECTING=2]=`RECONNECTING`,e[e.DISCONNECTING=3]=`DISCONNECTING`,e[e.DISCONNECTED=4]=`DISCONNECTED`})(tk||={});function nk(e){switch(e){case`connected`:return tk.CONNECTED;case`connecting`:return tk.CONNECTING;case`reconnecting`:return tk.RECONNECTING;case`disconnecting`:return tk.DISCONNECTING;default:return tk.DISCONNECTED}}var rk=250,ik=5e3,ak=class{get currentState(){return nk(this.lifecycleState)}get isDisconnected(){let e=this.currentState;return e===tk.DISCONNECTING||e===tk.DISCONNECTED}get lifecycleState(){return this.machine.currentState()}get attemptId(){return this.machine.context.attemptId}sendLifecycleInput(e){let t=this.lifecycleState;return this.machine.handle(e.type,e),this.lifecycleState!==t}settleInFlightClose(){return q(this,void 0,void 0,function*(){this.log.debug(`waiting for an in-flight close to settle before establishing a session`),(yield this.closingLock.lock())()})}get isEstablishingConnection(){return this.lifecycleState===`connecting`||this.lifecycleState===`reconnecting`}getNextRequestId(){return this._requestId+=1,this._requestId}constructor(){let e=arguments.length>0&&arguments[0]!==void 0&&arguments[0],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.rtt=0,this.log=TC,this._requestId=0,this.useV0SignalPath=!1,this.resetCallbacks=()=>{this.onAnswer=void 0,this.onLeave=void 0,this.onLocalTrackPublished=void 0,this.onLocalTrackUnpublished=void 0,this.onNegotiateRequested=void 0,this.onOffer=void 0,this.onRemoteMuteChanged=void 0,this.onSubscribedQualityUpdate=void 0,this.onTokenRefresh=void 0,this.onTrickle=void 0,this.onClose=void 0,this.onMediaSectionsRequirement=void 0},this.loggerContextCb=t.loggerContextCb,this.log=EC(t.loggerName??wC.Signal,()=>this.logContext),this.useJSON=e,this.requestQueue=new OO,this.queuedRequests=[],this.closingLock=new jv,this.connectionLock=new jv,this.machine=XO(),this.machine.on(`transitioned`,e=>{let t=e.fromState,n=e.toState;this.log.debug(`signal lifecycle: ${t} -> ${n}`)}),this.machine.on(`nohandler`,e=>{let t=e.inputName;this.log.debug(`ignoring signal lifecycle input ${t} in state ${this.lifecycleState}`)}),this.machine}get logContext(){return this.loggerContextCb?.call(this)??{}}join(e,t,n,r){return q(this,arguments,void 0,function(e,t,n,r){var i=this;let a=arguments.length>4&&arguments[4]!==void 0&&arguments[4],o=arguments.length>5?arguments[5]:void 0;return function*(){if(i.lifecycleState===`disconnecting`&&(yield i.settleInFlightClose()),!i.sendLifecycleInput({type:`connect`}))throw J.internal(`cannot establish a signal session from '${i.lifecycleState}', close the current one first`);i.options=n;try{return yield i.connect(e,t,n,r,a,o)}catch(e){throw i.sendLifecycleInput({type:`connectFailed`,error:e}),e}}()})}reconnect(e,t,n,r){return q(this,void 0,void 0,function*(){if(!this.options){this.log.warn(`attempted to reconnect without signal options being set, ignoring`);return}if(this.lifecycleState===`disconnecting`&&(yield this.settleInFlightClose()),!this.sendLifecycleInput({type:`reconnect`}))throw J.internal(`cannot resume the signal session from '${this.lifecycleState}'`);this.clearPingInterval();try{return yield this.connect(e,t,Object.assign(Object.assign({},this.options),{reconnect:!0,sid:n,reconnectReason:r}),void 0,this.useV0SignalPath)}catch(e){throw this.sendLifecycleInput({type:`reconnectFailed`,error:e,recoverable:$O(e)}),e}})}connect(e,t,n,r){return q(this,arguments,void 0,function(e,t,n,r){var i=this;let a=arguments.length>4&&arguments[4]!==void 0&&arguments[4],o=arguments.length>5?arguments[5]:void 0;return function*(){let s=yield i.connectionLock.lock();i.connectOptions=n,i.useV0SignalPath=a;let c=ZE(n.clientInfoCapabilities),l=DD(e,a?ck(t,c,n):yield lk(t,c,n,o),a).toString(),u=kD(l).toString();return new Promise((e,t)=>q(i,void 0,void 0,function*(){try{let i=!1,a=e=>q(this,void 0,void 0,function*(){if(i)return;i=!0;let n=ND(e instanceof Event?e.currentTarget:e,`Abort handler called`);this.streamWriter&&!this.isDisconnected?this.sendLeave().then(()=>this.close(n)).catch(e=>{this.log.error(e),this.close()}):this.close(),o(),t(e instanceof J?e:J.cancelled(n))});r?.addEventListener(`abort`,a);let o=()=>{clearTimeout(s),r?.removeEventListener(`abort`,a)},s=setTimeout(()=>{a(J.timeout(`room connection has timed out (signal)`))},n.websocketTimeout),c=new URL(l);if(c.searchParams.has(`access_token`)&&c.searchParams.set(`access_token`,`<redacted>`),this.ws){let e=performance.now();yield this.teardownTransport(`replaced by a new connection attempt`),this.log.debug(`closed previous ws connection in ${performance.now()-e}ms`)}let d=this.attemptId;this.log.info(`signal connecting to ${c}`,{reconnect:n.reconnect,reconnectReason:n.reconnectReason}),this.ws=new ZO(l);let f=!1;this.ws.opened.catch(()=>{f=!0});try{this.ws.closed.then(e=>{this.isEstablishingConnection&&!f&&t(J.internal(`Websocket got closed during a (re)connection attempt: ${e.reason}`)),this.log.debug(`websocket closed`,{reason:e.reason,code:e.closeCode,attemptId:d,state:this.lifecycleState}),this.handleOnClose(e.reason||(e.closeCode===1e3?`server closed the signal connection`:`Unexpected WS error`),d)}).catch(e=>{this.isEstablishingConnection&&!f&&t(J.internal(`Websocket error during a (re)connection attempt: ${e}`))});let r=yield this.ws.opened.catch(e=>q(this,void 0,void 0,function*(){if(this.lifecycleState!==`connected`){clearTimeout(s),t(yield this.handleConnectionError(e,u));return}this.handleWSError(e),t(e)}));if(clearTimeout(s),!r)return;let i=r.readable.getReader();this.streamWriter=r.writable.getWriter();let a,o;try{a=yield Promise.race([i.read(),new Promise((e,t)=>{o=setTimeout(()=>{t(J.timeout(`signal connection timed out while waiting for the first message`))},ik)})])}catch(e){i.releaseLock(),t(e),this.close();return}finally{clearTimeout(o)}if(i.releaseLock(),!a.value)throw J.internal(`no message received as first message`);let c=MD(a.value),l=this.validateFirstMessage(c,n.reconnect??!1);if(!l.isValid){t(l.error);return}c.message?.case===`join`&&(this.pingTimeoutDuration=c.message.value.pingTimeout,this.pingIntervalDuration=c.message.value.pingInterval,this.pingTimeoutDuration&&this.pingTimeoutDuration>0&&this.log.debug(`ping config`,{timeout:this.pingTimeoutDuration,interval:this.pingIntervalDuration}),this.onJoined&&this.onJoined(c.message.value));let p=l.shouldProcessFirstMessage?c:void 0;this.handleSignalConnected(r,s,d,p),e(l.response)}catch(e){t(e)}finally{o()}}finally{s()}}))}()})}startReadingLoop(e,t){return q(this,void 0,void 0,function*(){t&&this.handleSignalResponse(t);let n=this.attemptId;for(;;){this.signalLatency&&(yield hE(this.signalLatency));try{let t=yield e.read(),n=t.done,r=t.value;if(n)break;let i=MD(r);this.handleSignalResponse(i)}catch(e){this.log.error(`error reading from signal stream`,{error:e}),yield this.handleOnClose(`error in reading loop`,n);break}}})}close(){return q(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`Close method called on signal client`;return function*(){let r=t&&e.sendLifecycleInput({type:`close`,reason:n}),i=yield e.closingLock.lock();try{yield e.teardownTransport(n)}finally{r&&e.sendLifecycleInput({type:`closeComplete`}),i()}}()})}teardownTransport(e){return q(this,void 0,void 0,function*(){try{if(this.clearPingInterval(),this.ws){this.ws.close({closeCode:1e3,reason:e});let t=this.ws.closed;this.ws=void 0,this.streamWriter=void 0,yield Promise.race([t,hE(rk)])}}catch(e){this.log.debug(`websocket error while closing`,{error:e})}})}sendOffer(e,t){this.log.debug(`sending offer`,{offerSdp:e.sdp}),this.sendRequest({case:`offer`,value:sk(e,t)})}sendAnswer(e,t){return this.log.debug(`sending answer`,{answerSdp:e.sdp}),this.sendRequest({case:`answer`,value:sk(e,t)})}sendIceCandidate(e,t){return this.log.debug(`sending ice candidate`,{candidate:e}),this.sendRequest({case:`trickle`,value:new _S({candidateInit:JSON.stringify(e),target:t})})}sendMuteTrack(e,t){return this.sendRequest({case:`mute`,value:new vS({sid:e,muted:t})})}sendAddTrack(e){return this.sendRequest({case:`addTrack`,value:e})}sendUpdateLocalMetadata(e,t){return q(this,arguments,void 0,function(e,t){var n=this;let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return function*(){let i=n.getNextRequestId();return yield n.sendRequest({case:`updateMetadata`,value:new RS({requestId:i,metadata:e,name:t,attributes:r})}),i}()})}sendUpdateTrackSettings(e){this.sendRequest({case:`trackSetting`,value:e})}sendUpdateSubscription(e){return this.sendRequest({case:`subscription`,value:e})}sendSyncState(e){return this.sendRequest({case:`syncState`,value:e})}sendUpdateVideoLayers(e,t){return this.sendRequest({case:`updateLayers`,value:new LS({trackSid:e,layers:t})})}sendUpdateSubscriptionPermissions(e,t){return this.sendRequest({case:`subscriptionPermission`,value:new ZS({allParticipants:e,trackPermissions:t})})}sendSimulateScenario(e){return this.sendRequest({case:`simulate`,value:e})}sendPing(){return Promise.all([this.sendRequest({case:`ping`,value:cy.parse(Date.now())}),this.sendRequest({case:`pingReq`,value:new iC({timestamp:cy.parse(Date.now()),rtt:cy.parse(this.rtt)})})])}sendUpdateLocalAudioTrack(e,t){return this.sendRequest({case:`updateAudioTrack`,value:new NS({trackSid:e,features:t})})}sendLeave(){return this.sendRequest({case:`leave`,value:new FS({reason:$b.CLIENT_INITIATED,action:IS.DISCONNECT})})}sendPublishDataTrackRequest(e,t,n){return this.sendRequest({case:`publishDataTrackRequest`,value:new dS({pubHandle:e,name:t,encryption:n?dx.GCM:dx.NONE})})}sendUnPublishDataTrackRequest(e){return this.sendRequest({case:`unpublishDataTrackRequest`,value:new pS({pubHandle:e})})}sendUpdateDataSubscription(e,t){return this.sendRequest({case:`updateDataSubscription`,value:new ES({updates:[new DS({trackSid:e,subscribe:t})]})})}sendRequest(e){return q(this,arguments,void 0,function(e){var t=this;let n=arguments.length>1&&arguments[1]!==void 0&&arguments[1];return function*(){let r=!n&&!ek(e),i=t.lifecycleState===`reconnecting`||t.queuedRequests.length>0;if(r&&i){t.queuedRequests.push(()=>q(t,void 0,void 0,function*(){yield this.sendRequest(e,!0)}));return}n||(yield t.requestQueue.flush()),t.signalLatency&&(yield hE(t.signalLatency));let a=e.case===`leave`&&!!t.streamWriter;if(t.isDisconnected&&!a){t.log.debug(`skipping signal request (type: ${e.case}) - SignalClient disconnected`);return}if(!t.streamWriter){t.log.error(`cannot send signal request before connected, type: ${e?.case}`);return}let o=new sS({message:e});try{t.useJSON?yield t.streamWriter.write(o.toJsonString()):yield t.streamWriter.write(o.toBinary().buffer)}catch(e){t.log.error(`error sending signal message`,{error:e})}}()})}handleSignalResponse(e){let t=e.message;if(t==null){this.log.debug(`received unsupported message`);return}let n=!1;if(t.case===`answer`){let e=ok(t.value);this.onAnswer&&this.onAnswer(e,t.value.id,t.value.midToTrackId)}else if(t.case===`offer`){let e=ok(t.value);this.onOffer&&this.onOffer(e,t.value.id,t.value.midToTrackId)}else if(t.case===`trickle`){let e=JSON.parse(t.value.candidateInit);this.onTrickle&&this.onTrickle(e,t.value.target)}else t.case===`update`?this.onParticipantUpdate&&this.onParticipantUpdate(t.value.participants??[]):t.case===`trackPublished`?this.onLocalTrackPublished&&this.onLocalTrackPublished(t.value):t.case===`speakersChanged`?this.onSpeakersChanged&&this.onSpeakersChanged(t.value.speakers??[]):t.case===`leave`?this.onLeave&&this.onLeave(t.value):t.case===`mute`?this.onRemoteMuteChanged&&this.onRemoteMuteChanged(t.value.sid,t.value.muted):t.case===`roomUpdate`?this.onRoomUpdate&&t.value.room&&this.onRoomUpdate(t.value.room):t.case===`connectionQuality`?this.onConnectionQuality&&this.onConnectionQuality(t.value):t.case===`streamStateUpdate`?this.onStreamStateUpdate&&this.onStreamStateUpdate(t.value):t.case===`subscribedQualityUpdate`?this.onSubscribedQualityUpdate&&this.onSubscribedQualityUpdate(t.value):t.case===`subscriptionPermissionUpdate`?this.onSubscriptionPermissionUpdate&&this.onSubscriptionPermissionUpdate(t.value):t.case===`refreshToken`?this.onTokenRefresh&&this.onTokenRefresh(t.value):t.case===`trackUnpublished`?this.onLocalTrackUnpublished&&this.onLocalTrackUnpublished(t.value):t.case===`subscriptionResponse`?this.onSubscriptionError&&this.onSubscriptionError(t.value):t.case===`pong`||(t.case===`pongResp`?(this.rtt=Date.now()-Number.parseInt(t.value.lastPingTimestamp.toString()),this.resetPingTimeout(),n=!0):t.case===`requestResponse`?this.onRequestResponse&&this.onRequestResponse(t.value):t.case===`trackSubscribed`?this.onLocalTrackSubscribed&&this.onLocalTrackSubscribed(t.value.trackSid):t.case===`roomMoved`?(this.onTokenRefresh&&this.onTokenRefresh(t.value.token),this.onRoomMoved&&this.onRoomMoved(t.value)):t.case===`mediaSectionsRequirement`?this.onMediaSectionsRequirement&&this.onMediaSectionsRequirement(t.value):t.case===`publishDataTrackResponse`?this.onPublishDataTrackResponse&&this.onPublishDataTrackResponse(t.value):t.case===`unpublishDataTrackResponse`?this.onUnPublishDataTrackResponse&&this.onUnPublishDataTrackResponse(t.value):t.case===`dataTrackSubscriberHandles`?this.onDataTrackSubscriberHandles&&this.onDataTrackSubscriberHandles(t.value):this.log.debug(`unsupported message`,{msgCase:t.case}));n||this.resetPingTimeout()}setReconnected(){for(;this.queuedRequests.length>0;){let e=this.queuedRequests.shift();e&&this.requestQueue.run(e)}}handleOnClose(e){return q(this,arguments,void 0,function(e){var t=this;let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.attemptId;return function*(){let r=t.onClose;if(!t.sendLifecycleInput({type:`transportFailed`,attemptId:n,reason:e})){t.log.debug(`ignoring transport close in state ${t.lifecycleState}`,{reason:e,attemptId:n,currentAttemptId:t.attemptId});return}yield t.teardownTransport(e),t.log.info(`websocket connection closed: ${e}`,{reason:e}),r&&r(e)}()})}handleWSError(e){this.log.error(`websocket error`,{error:e})}resetPingTimeout(){if(this.clearPingTimeout(),!this.pingTimeoutDuration){this.log.warn(`ping timeout duration not set`);return}this.pingTimeout=ET.setTimeout(()=>{this.log.warn(`ping timeout triggered. last pong received at: ${new Date(Date.now()-this.pingTimeoutDuration*1e3).toUTCString()}`),this.handleOnClose(`ping timeout`)},this.pingTimeoutDuration*1e3)}clearPingTimeout(){this.pingTimeout&&ET.clearTimeout(this.pingTimeout)}startPingInterval(){if(this.clearPingInterval(),this.resetPingTimeout(),!this.pingIntervalDuration){this.log.warn(`ping interval duration not set`);return}this.log.debug(`start ping interval`),this.pingInterval=ET.setInterval(()=>{this.sendPing()},this.pingIntervalDuration*1e3)}clearPingInterval(){this.log.debug(`clearing ping interval`),this.clearPingTimeout(),this.pingInterval&&ET.clearInterval(this.pingInterval)}handleSignalConnected(e,t,n,r){if(clearTimeout(t),!this.sendLifecycleInput(this.lifecycleState===`reconnecting`?{type:`reconnectComplete`,attemptId:n}:{type:`connectComplete`,attemptId:n})){this.log.debug(`discarding a connection whose attempt no longer owns the session`,{attemptId:n,currentAttemptId:this.attemptId,state:this.lifecycleState});return}this.log.info(`signal connected`),this.startPingInterval(),this.startReadingLoop(e.readable.getReader(),r)}validateFirstMessage(e,t){return e.message?.case===`join`?{isValid:!0,response:e.message.value}:this.lifecycleState===`reconnecting`&&e.message?.case!==`leave`?e.message?.case===`reconnect`?{isValid:!0,response:e.message.value}:(this.log.debug(`declaring signal reconnected without reconnect response received`),{isValid:!0,response:void 0,shouldProcessFirstMessage:!0}):this.isEstablishingConnection&&e.message?.case===`leave`?{isValid:!1,error:J.leaveRequest(`Received leave request while trying to (re)connect`,e.message.value.reason)}:t?{isValid:!1,error:J.internal(`Unexpected first message`)}:{isValid:!1,error:J.internal(`did not receive join response, got ${e.message?.case} instead`)}}handleConnectionError(e,t){return q(this,void 0,void 0,function*(){try{let n=yield fetch(t);switch(n.status){case 404:let e=yield n.text();return e.includes(`requested room does not exist`)?J.notAllowed(e,n.status):J.serviceNotFound(`v1 RTC path not found. Consider upgrading your LiveKit server version`,`v0-rtc`);case 401:case 403:let t=yield n.text();return J.notAllowed(t,n.status)}return e instanceof J?e:J.internal(`Encountered unknown websocket error during connection: ${e}`,{status:n.status,statusText:n.statusText})}catch(e){return e instanceof J?e:J.serverUnreachable(e instanceof Error?e.message:`server was not reachable`)}})}};function ok(e){let t={type:`offer`,sdp:e.sdp};switch(e.type){case`answer`:case`offer`:case`pranswer`:case`rollback`:t.type=e.type}return t}function sk(e,t){return new CS({sdp:e.sdp,type:e.type,id:t})}function ck(e,t,n){let r=new URLSearchParams;return r.set(`access_token`,e),n.reconnect&&(r.set(`reconnect`,`1`),n.sid&&r.set(`sid`,n.sid)),r.set(`auto_subscribe`,n.autoSubscribe?`1`:`0`),r.set(`sdk`,RE()?`reactnative`:`js`),r.set(`version`,t.version),r.set(`protocol`,t.protocol.toString()),r.set(`client_protocol`,t.clientProtocol.toString()),t.deviceModel&&r.set(`device_model`,t.deviceModel),t.os&&r.set(`os`,t.os),t.osVersion&&r.set(`os_version`,t.osVersion),t.browser&&r.set(`browser`,t.browser),t.browserVersion&&r.set(`browser_version`,t.browserVersion),n.adaptiveStream&&r.set(`adaptive_stream`,`1`),n.reconnectReason&&r.set(`reconnect_reason`,n.reconnectReason.toString()),navigator.connection?.type&&r.set(`network`,navigator.connection.type),r}function lk(e,t,n,r){return q(this,void 0,void 0,function*(){let i=new URLSearchParams;i.set(`access_token`,e);let a=new pC({clientInfo:t,connectionSettings:new fC({autoSubscribe:!!n.autoSubscribe,adaptiveStream:!!n.adaptiveStream}),reconnect:!!n.reconnect,participantSid:n.sid?n.sid:void 0,publisherOffer:r});n.reconnectReason&&(a.reconnectReason=n.reconnectReason);let o=a.toBinary(),s,c;if(wD()){let e=new CompressionStream(`gzip`),t=e.writable.getWriter();t.write(new Uint8Array(o)),t.close();let n=[],r=e.readable.getReader();for(;;){let e=yield r.read(),t=e.done,i=e.value;if(t)break;n.push(i)}let i=n.reduce((e,t)=>e+t.length,0),a=new Uint8Array(i),l=0;for(let e of n)a.set(e,l),l+=e.length;s=a,c=hC.GZIP}else s=o,c=hC.NONE;let l=new mC({joinRequest:s,compression:c}).toBinary();return i.set(`join_request`,(e=>{let t=Array.from(e,e=>String.fromCodePoint(e)).join(``);return btoa(t)})(l).replace(/\+/g,`-`).replace(/\//g,`_`)),i})}var uk=class{constructor(e){this._map=new Map,this._lastCleanup=0,this.ttl=e}set(e,t){let n=Date.now();n-this._lastCleanup>this.ttl/2&&this.cleanup();let r=n+this.ttl;return this._map.set(e,{value:t,expiresAt:r}),this}get(e){let t=this._map.get(e);if(t){if(t.expiresAt<Date.now()){this._map.delete(e);return}return t.value}}has(e){let t=this._map.get(e);return t?t.expiresAt<Date.now()?(this._map.delete(e),!1):!0:!1}delete(e){return this._map.delete(e)}clear(){this._map.clear()}cleanup(){let e=Date.now();for(let n of this._map.entries()){var t=G(n,2);let r=t[0];t[1].expiresAt<e&&this._map.delete(r)}this._lastCleanup=e}get size(){return this.cleanup(),this._map.size}forEach(e){this.cleanup();for(let n of this._map.entries()){var t=G(n,2);let r=t[0],i=t[1];i.expiresAt>=Date.now()&&e(i.value,r,this.asValueMap())}}map(e){this.cleanup();let t=[],n=this.asValueMap();for(let i of n.entries()){var r=G(i,2);let a=r[0],o=r[1];t.push(e(o,a,n))}return t}asValueMap(){let e=new Map;for(let n of this._map.entries()){var t=G(n,2);let r=t[0],i=t[1];i.expiresAt>=Date.now()&&e.set(r,i.value)}return e}},dk={},fk={},pk={exports:{}},mk;function hk(){if(mk)return pk.exports;mk=1;var e=pk.exports={v:[{name:`version`,reg:/^(\d*)$/}],o:[{name:`origin`,reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:[`username`,`sessionId`,`sessionVersion`,`netType`,`ipVer`,`address`],format:`%s %s %d %s IP%d %s`}],s:[{name:`name`}],i:[{name:`description`}],u:[{name:`uri`}],e:[{name:`email`}],p:[{name:`phone`}],z:[{name:`timezones`}],r:[{name:`repeats`}],t:[{name:`timing`,reg:/^(\d*) (\d*)/,names:[`start`,`stop`],format:`%d %d`}],c:[{name:`connection`,reg:/^IN IP(\d) (\S*)/,names:[`version`,`ip`],format:`IN IP%d %s`}],b:[{push:`bandwidth`,reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:[`type`,`limit`],format:`%s:%s`}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:[`type`,`port`,`protocol`,`payloads`],format:`%s %d %s %s`}],a:[{push:`rtp`,reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:[`payload`,`codec`,`rate`,`encoding`],format:function(e){return e.encoding?`rtpmap:%d %s/%s/%s`:e.rate?`rtpmap:%d %s/%s`:`rtpmap:%d %s`}},{push:`fmtp`,reg:/^fmtp:(\d*) ([\S| ]*)/,names:[`payload`,`config`],format:`fmtp:%d %s`},{name:`control`,reg:/^control:(.*)/,format:`control:%s`},{name:`rtcp`,reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:[`port`,`netType`,`ipVer`,`address`],format:function(e){return e.address==null?`rtcp:%d`:`rtcp:%d %s IP%d %s`}},{push:`rtcpFbTrrInt`,reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:[`payload`,`value`],format:`rtcp-fb:%s trr-int %d`},{push:`rtcpFb`,reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:[`payload`,`type`,`subtype`],format:function(e){return e.subtype==null?`rtcp-fb:%s %s`:`rtcp-fb:%s %s %s`}},{push:`ext`,reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:[`value`,`direction`,`encrypt-uri`,`uri`,`config`],format:function(e){return`extmap:%d`+(e.direction?`/%s`:`%v`)+(e[`encrypt-uri`]?` %s`:`%v`)+` %s`+(e.config?` %s`:``)}},{name:`extmapAllowMixed`,reg:/^(extmap-allow-mixed)/},{push:`crypto`,reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:[`id`,`suite`,`config`,`sessionConfig`],format:function(e){return e.sessionConfig==null?`crypto:%d %s %s`:`crypto:%d %s %s %s`}},{name:`setup`,reg:/^setup:(\w*)/,format:`setup:%s`},{name:`connectionType`,reg:/^connection:(new|existing)/,format:`connection:%s`},{name:`mid`,reg:/^mid:([^\s]*)/,format:`mid:%s`},{name:`msid`,reg:/^msid:(.*)/,format:`msid:%s`},{name:`ptime`,reg:/^ptime:(\d*(?:\.\d*)*)/,format:`ptime:%d`},{name:`maxptime`,reg:/^maxptime:(\d*(?:\.\d*)*)/,format:`maxptime:%d`},{name:`direction`,reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:`icelite`,reg:/^(ice-lite)/},{name:`iceUfrag`,reg:/^ice-ufrag:(\S*)/,format:`ice-ufrag:%s`},{name:`icePwd`,reg:/^ice-pwd:(\S*)/,format:`ice-pwd:%s`},{name:`fingerprint`,reg:/^fingerprint:(\S*) (\S*)/,names:[`type`,`hash`],format:`fingerprint:%s %s`},{push:`candidates`,reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:[`foundation`,`component`,`transport`,`priority`,`ip`,`port`,`type`,`raddr`,`rport`,`tcptype`,`generation`,`network-id`,`network-cost`],format:function(e){var t=`candidate:%s %d %s %d %s %d typ %s`;return t+=e.raddr==null?`%v%v`:` raddr %s rport %d`,t+=e.tcptype==null?`%v`:` tcptype %s`,e.generation!=null&&(t+=` generation %d`),t+=e[`network-id`]==null?`%v`:` network-id %d`,t+=e[`network-cost`]==null?`%v`:` network-cost %d`,t}},{name:`endOfCandidates`,reg:/^(end-of-candidates)/},{name:`remoteCandidates`,reg:/^remote-candidates:(.*)/,format:`remote-candidates:%s`},{name:`iceOptions`,reg:/^ice-options:(\S*)/,format:`ice-options:%s`},{push:`ssrcs`,reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:[`id`,`attribute`,`value`],format:function(e){var t=`ssrc:%d`;return e.attribute!=null&&(t+=` %s`,e.value!=null&&(t+=`:%s`)),t}},{push:`ssrcGroups`,reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:[`semantics`,`ssrcs`],format:`ssrc-group:%s %s`},{name:`msidSemantic`,reg:/^msid-semantic:\s?(\w*) (\S*)/,names:[`semantic`,`token`],format:`msid-semantic: %s %s`},{push:`groups`,reg:/^group:(\w*) (.*)/,names:[`type`,`mids`],format:`group:%s %s`},{name:`rtcpMux`,reg:/^(rtcp-mux)/},{name:`rtcpRsize`,reg:/^(rtcp-rsize)/},{name:`sctpmap`,reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:[`sctpmapNumber`,`app`,`maxMessageSize`],format:function(e){return e.maxMessageSize==null?`sctpmap:%s %s`:`sctpmap:%s %s %s`}},{name:`xGoogleFlag`,reg:/^x-google-flag:([^\s]*)/,format:`x-google-flag:%s`},{push:`rids`,reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:[`id`,`direction`,`params`],format:function(e){return e.params?`rid:%s %s %s`:`rid:%s %s`}},{push:`imageattrs`,reg:RegExp(`^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?`),names:[`pt`,`dir1`,`attrs1`,`dir2`,`attrs2`],format:function(e){return`imageattr:%s %s %s`+(e.dir2?` %s %s`:``)}},{name:`simulcast`,reg:RegExp(`^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$`),names:[`dir1`,`list1`,`dir2`,`list2`],format:function(e){return`simulcast:%s %s`+(e.dir2?` %s %s`:``)}},{name:`simulcast_03`,reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:[`value`],format:`simulcast: %s`},{name:`framerate`,reg:/^framerate:(\d+(?:$|\.\d+))/,format:`framerate:%s`},{name:`sourceFilter`,reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:[`filterMode`,`netType`,`addressTypes`,`destAddress`,`srcList`],format:`source-filter: %s %s %s %s %s`},{name:`bundleOnly`,reg:/^(bundle-only)/},{name:`label`,reg:/^label:(.+)/,format:`label:%s`},{name:`sctpPort`,reg:/^sctp-port:(\d+)$/,format:`sctp-port:%s`},{name:`maxMessageSize`,reg:/^max-message-size:(\d+)$/,format:`max-message-size:%s`},{push:`tsRefClocks`,reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:[`clksrc`,`clksrcExt`],format:function(e){return`ts-refclk:%s`+(e.clksrcExt==null?``:`=%s`)}},{name:`mediaClk`,reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:[`id`,`mediaClockName`,`mediaClockValue`,`rateNumerator`,`rateDenominator`],format:function(e){var t=`mediaclk:`;return t+=e.id==null?`%v%s`:`id=%s %s`,t+=e.mediaClockValue==null?``:`=%s`,t+=e.rateNumerator==null?``:` rate=%s`,t+=e.rateDenominator==null?``:`/%s`,t}},{name:`keywords`,reg:/^keywds:(.+)$/,format:`keywds:%s`},{name:`content`,reg:/^content:(.+)/,format:`content:%s`},{name:`bfcpFloorCtrl`,reg:/^floorctrl:(c-only|s-only|c-s)/,format:`floorctrl:%s`},{name:`bfcpConfId`,reg:/^confid:(\d+)/,format:`confid:%s`},{name:`bfcpUserId`,reg:/^userid:(\d+)/,format:`userid:%s`},{name:`bfcpFloorId`,reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:[`id`,`mStream`],format:`floorid:%s mstrm:%s`},{push:`invalid`,names:[`value`]}]};return Object.keys(e).forEach(function(t){e[t].forEach(function(e){e.reg||=/(.*)/,e.format||=`%s`})}),pk.exports}var gk;function _k(){return gk?fk:(gk=1,(function(e){var t=function(e){return String(Number(e))===e?Number(e):e},n=function(e,n,r,i){if(i&&!r)n[i]=t(e[1]);else for(var a=0;a<r.length;a+=1)e[a+1]!=null&&(n[r[a]]=t(e[a+1]))},r=function(e,t,r){var i=e.name&&e.names;e.push&&!t[e.push]?t[e.push]=[]:i&&!t[e.name]&&(t[e.name]={});var a=e.push?{}:i?t[e.name]:t;n(r.match(e.reg),a,e.names,e.name),e.push&&t[e.push].push(a)},i=hk(),a=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(e){var t={},n=[],o=t;return e.split(/(\r\n|\r|\n)/).filter(a).forEach(function(e){var t=e[0],a=e.slice(2);t===`m`&&(n.push({rtp:[],fmtp:[]}),o=n[n.length-1]);for(var s=0;s<(i[t]||[]).length;s+=1){var c=i[t][s];if(c.reg.test(a))return r(c,o,a)}}),t.media=n,t};var o=function(e,n){var r=n.split(/=(.+)/,2);return r.length===2?e[r[0]]=t(r[1]):r.length===1&&n.length>1&&(e[r[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(o,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(` `).map(Number)},e.parseRemoteCandidates=function(e){for(var n=[],r=e.split(` `).map(t),i=0;i<r.length;i+=3)n.push({component:r[i],ip:r[i+1],port:r[i+2]});return n},e.parseImageAttributes=function(e){return e.split(` `).map(function(e){return e.substring(1,e.length-1).split(`,`).reduce(o,{})})},e.parseSimulcastStreamList=function(e){return e.split(`;`).map(function(e){return e.split(`,`).map(function(e){var n,r=!1;return e[0]===`~`?(n=t(e.substring(1,e.length)),r=!0):n=t(e),{scid:n,paused:r}})})}})(fk),fk)}var vk,yk;function bk(){if(yk)return vk;yk=1;var e=hk(),t=/%[sdv%]/g,n=function(e){var n=1,r=arguments,i=r.length;return e.replace(t,function(e){if(n>=i)return e;var t=r[n];switch(n+=1,e){case`%%`:return`%`;case`%s`:return String(t);case`%d`:return Number(t);case`%v`:return``}})},r=function(e,t,r){var i=t.format instanceof Function?t.format(t.push?r:r[t.name]):t.format,a=[e+`=`+i];if(t.names)for(var o=0;o<t.names.length;o+=1){var s=t.names[o];t.name?a.push(r[t.name][s]):a.push(r[t.names[o]])}else a.push(r[t.name]);return n.apply(null,a)},i=[`v`,`o`,`s`,`i`,`u`,`e`,`p`,`c`,`b`,`t`,`r`,`z`,`a`],a=[`i`,`c`,`b`,`a`];return vk=function(t,n){n||={},t.version??=0,t.name??=` `,t.media.forEach(function(e){e.payloads??=``});var o=n.outerOrder||i,s=n.innerOrder||a,c=[];return o.forEach(function(n){e[n].forEach(function(e){e.name in t&&t[e.name]!=null?c.push(r(n,e,t)):e.push in t&&t[e.push]!=null&&t[e.push].forEach(function(t){c.push(r(n,e,t))})})}),t.media.forEach(function(t){c.push(r(`m`,e.m[0],t)),s.forEach(function(n){e[n].forEach(function(e){e.name in t&&t[e.name]!=null?c.push(r(n,e,t)):e.push in t&&t[e.push]!=null&&t[e.push].forEach(function(t){c.push(r(n,e,t))})})})}),c.join(`\r
96
+ `)+`\r
97
+ `},vk}var xk;function Sk(){if(xk)return dk;xk=1;var e=_k(),t=bk();return dk.grammar=hk(),dk.write=t,dk.parse=e.parse,dk.parseParams=e.parseParams,dk.parseFmtpConfig=e.parseFmtpConfig,dk.parsePayloads=e.parsePayloads,dk.parseRemoteCandidates=e.parseRemoteCandidates,dk.parseImageAttributes=e.parseImageAttributes,dk.parseSimulcastStreamList=e.parseSimulcastStreamList,dk}var Ck=Sk(),wk=.9,Tk=1e3,Ek=20;function Dk(e,t,n,r){let i=arguments.length>4&&arguments[4]!==void 0&&arguments[4];if(!e.msid?.includes(t))return;let a=e.rtp.find(e=>e.codec.toUpperCase()===n.toUpperCase())?.payload??0;if(a===0)return 0;let o=Math.round(r*wk),s=i?o:Math.min(o,Tk),c=e.fmtp.find(e=>e.payload===a);return c?c.config.includes(`x-google-start-bitrate`)||(c.config+=`;x-google-start-bitrate=${s}`):e.fmtp.push({payload:a,config:`x-google-start-bitrate=${s}`}),a}var Ok={NegotiationStarted:`negotiationStarted`,NegotiationComplete:`negotiationComplete`,OfferAnswered:`offerAnswered`,RTPVideoPayloadTypes:`rtpVideoPayloadTypes`},kk=class extends WC.EventEmitter{get pc(){return this._pc||=this.createPC(),this._pc}constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),this.log=TC,this.iceLog=TC,this.ddExtID=0,this.latestOfferId=0,this.latestAcknowledgedOfferId=0,this.pendingCandidates=[],this.restartingIce=!1,this.renegotiate=!1,this.trackBitrates=[],this.remoteStereoMids=[],this.remoteNackMids=[],this.negotiate=QD(e=>q(this,void 0,void 0,function*(){this.emit(Ok.NegotiationStarted);try{yield this.createAndSendOffer()}catch(t){if(e)e(t);else throw t}}),Ek),this.close=()=>{this._pc&&=(this.log.debug(`closing peer connection`),this.pendingInitialOffer=void 0,this._pc.close(),this._pc.onconnectionstatechange=null,this._pc.oniceconnectionstatechange=null,this._pc.onicegatheringstatechange=null,this._pc.ondatachannel=null,this._pc.onnegotiationneeded=null,this._pc.onsignalingstatechange=null,this._pc.onicecandidate=null,this._pc.ondatachannel=null,this._pc.ontrack=null,this._pc.onconnectionstatechange=null,this._pc.oniceconnectionstatechange=null,null)},this.loggerOptions=t,this.log=EC(t.loggerName??wC.PCTransport,()=>this.logContext),this.iceLog=EC(wC.ICE,()=>this.logContext),this.config=e,this._pc=this.createPC(),this.offerLock=new jv}createPC(){let e=new RTCPeerConnection(this.config);return e.onicecandidate=e=>{var t;e.candidate&&(this.iceLog.debug(`local ICE candidate gathered`,{candidate:e.candidate.candidate}),(t=this.onIceCandidate)==null||t.call(this,e.candidate))},e.onicecandidateerror=e=>{var t;this.iceLog.debug(`ICE candidate error`,{event:e}),(t=this.onIceCandidateError)==null||t.call(this,e)},e.oniceconnectionstatechange=()=>{var t;this.iceLog.debug(`ICE connection state: ${e.iceConnectionState}`),(t=this.onIceConnectionStateChange)==null||t.call(this,e.iceConnectionState)},e.onsignalingstatechange=()=>{var t;this.log.debug(`signaling state: ${e.signalingState}`),(t=this.onSignalingStatechange)==null||t.call(this,e.signalingState)},e.onconnectionstatechange=()=>{var t;this.log.debug(`connection state: ${e.connectionState}`),(t=this.onConnectionStateChange)==null||t.call(this,e.connectionState)},e.ondatachannel=e=>{var t;this.log.debug(`data channel opened by peer`,{label:e.channel.label,id:e.channel.id}),(t=this.onDataChannel)==null||t.call(this,e)},e.ontrack=e=>{var t;(t=this.onTrack)==null||t.call(this,e)},e}get logContext(){var e;return Object.assign({},(e=this.loggerOptions).loggerContextCb?.call(e))}get isICEConnected(){return this._pc!==null&&(this.pc.iceConnectionState===`connected`||this.pc.iceConnectionState===`completed`)}addIceCandidate(e){return q(this,void 0,void 0,function*(){if(this.pc.remoteDescription&&!this.restartingIce)return this.pc.addIceCandidate(e);this.iceLog.debug(`queuing remote ICE candidate until remote description applied`,{pendingCount:this.pendingCandidates.length+1}),this.pendingCandidates.push(e)})}setRemoteDescription(e,t){return q(this,void 0,void 0,function*(){if(e.type===`answer`&&this.latestOfferId>0&&t>0&&t!==this.latestOfferId)return this.log.warn(`ignoring answer for old offer`,{offerId:t,latestOfferId:this.latestOfferId}),!1;let n;if(e.type===`offer`){let t=zk(e),n=t.stereoMids,r=t.nackMids;this.remoteStereoMids=n,this.remoteNackMids=r}else if(e.type===`answer`){if(this.pendingInitialOffer&&this._pc){let e=this.pendingInitialOffer;this.pendingInitialOffer=void 0;let t=Ck.parse(e.sdp??``);t.media.forEach(e=>{Bk(e)}),this.log.debug(`setting pending initial offer before processing answer`),yield this.setMungedSDP(e,Ck.write(t))}let t=Ck.parse(e.sdp??``);t.media.forEach(e=>{let t=Vk(e.mid);e.type===`audio`&&this.trackBitrates.some(n=>{if(!n.transceiver||t!=n.transceiver.mid)return!1;let r=0;if(e.rtp.some(e=>e.codec.toUpperCase()===n.codec.toUpperCase()&&(r=e.payload,!0)),r===0)return!0;let i=!1;for(let t of e.fmtp)if(t.payload===r){t.config=t.config.split(`;`).filter(e=>!e.includes(`maxaveragebitrate`)).join(`;`),n.maxbr>0&&(t.config+=`;maxaveragebitrate=${n.maxbr*1e3}`),i=!0;break}return i||n.maxbr>0&&e.fmtp.push({payload:r,config:`maxaveragebitrate=${n.maxbr*1e3}`}),!0})});let r=this.getPlaceholderMids();r.size>0&&Rk(t.media,e=>r.has(Vk(e.mid))),n=Ck.write(t)}return yield this.setMungedSDP(e,n,!0),this.pendingCandidates.length>0&&this.iceLog.debug(`flushing queued ICE candidates`,{count:this.pendingCandidates.length}),this.pendingCandidates.forEach(e=>{this.pc.addIceCandidate(e)}),this.pendingCandidates=[],this.restartingIce=!1,e.type===`answer`&&(this.latestAcknowledgedOfferId=t,this.emit(Ok.OfferAnswered,t)),this.renegotiate?(this.renegotiate=!1,yield this.createAndSendOffer()):e.type===`answer`&&(this.emit(Ok.NegotiationComplete),e.sdp&&Ck.parse(e.sdp).media.forEach(e=>{e.type===`video`&&this.emit(Ok.RTPVideoPayloadTypes,e.rtp)})),!0})}createInitialOffer(){return q(this,void 0,void 0,function*(){let e=yield this.offerLock.lock();try{if(this.pc.signalingState!==`stable`){this.log.warn(`signaling state is not stable, cannot create initial offer`);return}let e=this.latestOfferId+1;this.latestOfferId=e;let t=yield this.pc.createOffer();this.pendingInitialOffer={sdp:t.sdp,type:t.type};let n=Ck.parse(t.sdp??``);return n.media.forEach(e=>{Bk(e)}),t.sdp=Ck.write(n),{offer:t,offerId:e}}finally{e()}})}createAndSendOffer(e){return q(this,void 0,void 0,function*(){let t=yield this.offerLock.lock();try{if(this.onOffer===void 0)return;if(e?.iceRestart&&(this.iceLog.debug(`restarting ICE`),this.restartingIce=!0),this._pc&&(this._pc.signalingState===`have-local-offer`||this.pendingInitialOffer)){let t=this._pc.remoteDescription;if(e?.iceRestart&&t)yield this._pc.setRemoteDescription(t);else if(e?.iceRestart)throw new vT(`ICE restart requested without a remote description, peer connection must be recreated`);else{this.renegotiate=!0,this.log.debug(`requesting renegotiation`);return}}else if(!this._pc||this._pc.signalingState===`closed`){this.log.warn(`could not createOffer with closed peer connection`);return}this.log.debug(`starting to negotiate`);let t=this.latestOfferId+1;this.latestOfferId=t;let n=yield this.pc.createOffer(e);this.log.debug(`original offer`,{sdp:n.sdp});let r=Ck.parse(n.sdp??``);r.media.forEach(e=>{Bk(e),e.type===`audio`?Ik(e,[`all`],[]):e.type===`video`&&this.trackBitrates.some(t=>{if(!t.cid)return!1;let n=Dk(e,t.cid,t.codec,t.maxbr,t.isScreenShare);return n!==void 0&&(n>0&&bE(t.codec)&&!jE()&&(this.ddExtID=Ak(e,r,this.ddExtID)),!0)})});let i=this.getPlaceholderMids();if(i.size>0&&Rk(r.media,e=>i.has(Vk(e.mid))),this.latestOfferId>t){this.log.warn(`latestOfferId mismatch`,{latestOfferId:this.latestOfferId,offerId:t});return}yield this.setMungedSDP(n,Ck.write(r)),this.onOffer(n,this.latestOfferId)}finally{t()}})}createAndSetAnswer(){return q(this,void 0,void 0,function*(){let e=yield this.pc.createAnswer(),t=Ck.parse(e.sdp??``);return t.media.forEach(e=>{Bk(e),e.type===`audio`&&Ik(e,this.remoteStereoMids,this.remoteNackMids)}),yield this.setMungedSDP(e,Ck.write(t)),e})}getPlaceholderMids(){return Lk(this._pc?.getTransceivers()??[])}createDataChannel(e,t){return this.pc.createDataChannel(e,t)}addTransceiver(e,t){return this.pc.addTransceiver(e,t)}addTransceiverOfKind(e,t){return this.pc.addTransceiver(e,t)}addTrack(e){if(!this._pc)throw new _T(`PC closed, cannot add track`);return this._pc.addTrack(e)}setTrackCodecBitrate(e){this.trackBitrates.push(e)}setConfiguration(e){if(!this._pc)throw new _T(`PC closed, cannot configure`);return this._pc?.setConfiguration(e)}canRemoveTrack(){return!!this._pc?.removeTrack}removeTrack(e){return this._pc?.removeTrack(e)}getConnectionState(){return this._pc?.connectionState??`closed`}getICEConnectionState(){return this._pc?.iceConnectionState??`closed`}getSignallingState(){return this._pc?.signalingState??`closed`}getTransceivers(){return this._pc?.getTransceivers()??[]}getSenders(){return this._pc?.getSenders()??[]}getLocalDescription(){return this._pc?.localDescription}getRemoteDescription(){return this.pc?.remoteDescription}getStats(){return this._pc?.getStats()}getMaxMessageSize(){return this._pc?.sctp?.maxMessageSize}getConnectedAddress(){return q(this,void 0,void 0,function*(){if(!this._pc)return;let e=``,t=new Map,n=new Map;if((yield this._pc.getStats()).forEach(r=>{switch(r.type){case`transport`:e=r.selectedCandidatePairId;break;case`candidate-pair`:e===``&&r.selected&&(e=r.id),t.set(r.id,r);break;case`remote-candidate`:n.set(r.id,`${r.address}:${r.port}`)}}),e===``)return;let r=t.get(e)?.remoteCandidateId;if(r!==void 0)return n.get(r)})}setMungedSDP(e,t,n){return q(this,void 0,void 0,function*(){let r=e.sdp;if(t){e.sdp=t;try{this.log.debug(`setting munged ${n?`remote`:`local`} description`),n?yield this.pc.setRemoteDescription(e):yield this.pc.setLocalDescription(e);return}catch(n){this.log.warn(`not able to set ${e.type}, falling back to unmodified sdp`,{error:n,mungedSdp:t,originalSdp:r}),e.sdp=r}}try{n?yield this._pc?.setRemoteDescription(e):yield this._pc?.setLocalDescription(e)}catch(i){let a=`unknown error`;i instanceof Error?a=i.message:typeof i==`string`&&(a=i);let o={error:a,sdp:e.sdp};throw t&&t!==r&&(o.mungedSdp=t),!n&&this.pc.remoteDescription&&(o.remoteSdp=this.pc.remoteDescription),this.log.error(`unable to set ${e.type}`,{fields:o}),new vT(a)}})}};function Ak(e,t,n){let r=jk(t,n);return r===void 0?n:(e.ext?.some(e=>e.uri===pE)||(e.ext??=[],e.ext.push({value:r,uri:pE})),r)}function jk(e,t){let n=Mk(e,pE);return n===void 0?t!==0&&!Nk(e,t,pE)?t:Pk(e):Nk(e,n,pE)?void 0:n}function Mk(e,t){for(let n of e.media){let e=n.ext?.find(e=>e.uri===t);if(e)return e.value}}function Nk(e,t,n){return e.media.some(e=>e.ext?.some(e=>e.value===t&&e.uri!==n))}function Pk(e){let t=0;return e.media.forEach(e=>{var n;(n=e.ext)==null||n.forEach(e=>{e.value>t&&(t=e.value)})}),t+1===15?16:t+1}function Fk(e,t){return e.split(`;`).some(e=>e.trim()===t)}function Ik(e,t,n){let r=Vk(e.mid),i=0;e.rtp.some(e=>e.codec.toLowerCase()===`opus`&&(i=e.payload,!0)),i>0&&(e.rtcpFb||=[],n.includes(r)&&!e.rtcpFb.some(e=>e.payload===i&&e.type===`nack`)&&e.rtcpFb.push({payload:i,type:`nack`}),(t.includes(r)||t.length===1&&t[0]===`all`)&&e.fmtp.some(e=>e.payload===i&&(Fk(e.config,`stereo=1`)||(e.config+=`;stereo=1`),!0)))}function Lk(e){let t=new Set;for(let n of e)n.mid&&!n.sender.track&&t.add(n.mid);return t}function Rk(e,t){let n=new Map,r=new Set;for(let i of e){let e=t(i);for(let t of i.fmtp??[])e?n.has(t.payload)||n.set(t.payload,t.config):(n.set(t.payload,t.config),r.add(t.payload))}if(n.size!==0){for(let r of e)if(t(r))for(let e of r.fmtp??[]){let t=n.get(e.payload);t!==void 0&&e.config!==t&&(e.config=t)}}}function zk(e){let t=[],n=[],r=Ck.parse(e.sdp??``),i=0;return r.media.forEach(e=>{let r=Vk(e.mid);e.type===`audio`&&(e.rtp.some(e=>e.codec.toLowerCase()===`opus`&&(i=e.payload,!0)),e.rtcpFb?.some(e=>e.payload===i&&e.type===`nack`)&&n.push(r),e.fmtp.some(e=>e.payload===i&&(Fk(e.config,`sprop-stereo=1`)&&t.push(r),!0)))}),{stereoMids:t,nackMids:n}}function Bk(e){if(e.connection){let t=e.connection.ip.indexOf(`:`)>=0;(e.connection.version===4&&t||e.connection.version===6&&!t)&&(e.connection.ip=`0.0.0.0`,e.connection.version=4)}}function Vk(e){return typeof e==`number`?e.toFixed(0):e}var Hk=`vp8`,Uk={audioPreset:BT.music,dtx:!0,red:!0,forceStereo:!1,simulcast:!0,screenShareEncoding:UT.h1080fps15.encoding,stopMicTrackOnMute:!1,videoCodec:Hk,backupCodec:!0,preConnectBuffer:!1},Wk={deviceId:{ideal:`default`},autoGainControl:!0,echoCancellation:!0,noiseSuppression:!0,voiceIsolation:!0},Gk={deviceId:{ideal:`default`},resolution:VT.h720.resolution},Kk={adaptiveStream:!1,dynacast:!1,stopLocalTrackOnUnpublish:!0,reconnectPolicy:new PC,disconnectOnPageLeave:!0,webAudioMix:!1,singlePeerConnection:!0},qk={autoSubscribe:!0,maxRetries:1,peerConnectionTimeout:15e3,websocketTimeout:15e3},Jk;(function(e){e[e.NEW=0]=`NEW`,e[e.CONNECTING=1]=`CONNECTING`,e[e.CONNECTED=2]=`CONNECTED`,e[e.FAILED=3]=`FAILED`,e[e.CLOSING=4]=`CLOSING`,e[e.CLOSED=5]=`CLOSED`})(Jk||={});var Yk=class{get needsPublisher(){return this.isPublisherConnectionRequired}get needsSubscriber(){return this.isSubscriberConnectionRequired}get currentState(){return this.state}get mode(){return this._mode}constructor(e,t,n){this.peerConnectionTimeout=qk.peerConnectionTimeout,this.log=TC,this.iceLog=TC,this.updateState=()=>{var e;let t=this.state,n=this.requiredTransports.map(e=>e.getConnectionState());n.every(e=>e===`connected`)?this.state=Jk.CONNECTED:n.some(e=>e===`failed`)?this.state=Jk.FAILED:n.some(e=>e===`connecting`)?this.state=Jk.CONNECTING:n.every(e=>e===`closed`)?this.state=Jk.CLOSED:n.some(e=>e===`closed`)?this.state=Jk.CLOSING:n.every(e=>e===`new`)&&(this.state=Jk.NEW),t!==this.state&&(this.log.debug(`pc state change: from ${Jk[t]} to ${Jk[this.state]}`),(e=this.onStateChange)==null||e.call(this,this.state,this.publisher.getConnectionState(),this.subscriber?.getConnectionState()))},this.loggerOptions=t,this.log=EC(t.loggerName??wC.PCManager,()=>this.logContext),this.iceLog=EC(wC.ICE,()=>this.logContext),this.isPublisherConnectionRequired=e!==`subscriber-primary`,this.isSubscriberConnectionRequired=e===`subscriber-primary`,this.publisher=new kk(n,t),this._mode=e,e!==`publisher-only`&&(this.subscriber=new kk(n,t),this.subscriber.onConnectionStateChange=this.updateState,this.subscriber.onIceConnectionStateChange=this.updateState,this.subscriber.onSignalingStatechange=this.updateState,this.subscriber.onIceCandidate=e=>{var t;(t=this.onIceCandidate)==null||t.call(this,e,iS.SUBSCRIBER)},this.subscriber.onDataChannel=e=>{var t;(t=this.onDataChannel)==null||t.call(this,e)},this.subscriber.onTrack=e=>{var t;(t=this.onTrack)==null||t.call(this,e)}),this.publisher.onConnectionStateChange=this.updateState,this.publisher.onIceConnectionStateChange=this.updateState,this.publisher.onSignalingStatechange=this.updateState,this.publisher.onIceCandidate=e=>{var t;(t=this.onIceCandidate)==null||t.call(this,e,iS.PUBLISHER)},this.publisher.onTrack=e=>{var t;(t=this.onTrack)==null||t.call(this,e)},this.publisher.onOffer=(e,t)=>{var n;(n=this.onPublisherOffer)==null||n.call(this,e,t)},this.state=Jk.NEW,this.connectionLock=new jv,this.remoteOfferLock=new jv}get logContext(){var e;return Object.assign({},(e=this.loggerOptions).loggerContextCb?.call(e))}requirePublisher(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.isPublisherConnectionRequired=e,this.updateState()}createAndSendPublisherOffer(e){return this.publisher.createAndSendOffer(e)}setPublisherAnswer(e,t){return this.publisher.setRemoteDescription(e,t)}removeTrack(e){return this.publisher.removeTrack(e)}close(){return q(this,void 0,void 0,function*(){if(this.publisher&&this.publisher.getSignallingState()!==`closed`){let e=this.publisher;for(let t of e.getSenders())try{e.canRemoveTrack()&&e.removeTrack(t)}catch(e){this.log.warn(`could not removeTrack`,{error:e})}}yield Promise.all([this.publisher.close(),this.subscriber?.close()]),this.updateState()})}triggerIceRestart(){return q(this,void 0,void 0,function*(){this.iceLog.warn(`triggering ICE restart`),this.needsPublisher&&(yield this.createAndSendPublisherOffer({iceRestart:!0}))})}addIceCandidate(e,t){return q(this,void 0,void 0,function*(){this.iceLog.debug(`adding remote ICE candidate`,{target:t,candidate:e}),t===iS.PUBLISHER?yield this.publisher.addIceCandidate(e):yield this.subscriber?.addIceCandidate(e)})}createSubscriberAnswerFromOffer(e,t){return q(this,void 0,void 0,function*(){this.log.debug(`received server offer`,{RTCSdpType:e.type,sdp:e.sdp,signalingState:this.subscriber?.getSignallingState().toString()});let n=yield this.remoteOfferLock.lock();try{return(yield this.subscriber?.setRemoteDescription(e,t))?yield this.subscriber?.createAndSetAnswer():void 0}finally{n()}})}updateConfiguration(e,t){var n;this.log.debug(`updating rtc configuration`,{iceRestart:t}),this.publisher.setConfiguration(e),(n=this.subscriber)==null||n.setConfiguration(e),t&&this.triggerIceRestart()}ensurePCTransportConnection(e,t){return q(this,void 0,void 0,function*(){let n=yield this.connectionLock.lock();try{this.isPublisherConnectionRequired&&this.publisher.getConnectionState()!==`connected`&&this.publisher.getConnectionState()!==`connecting`&&(this.log.debug(`negotiation required, start negotiating`),this.publisher.negotiate()),yield Promise.all(this.requiredTransports?.map(n=>this.ensureTransportConnected(n,e,t)))}finally{n()}})}negotiate(e){return q(this,void 0,void 0,function*(){return new rT((t,n)=>{let r=this.publisher.latestOfferId;if(this.publisher.latestAcknowledgedOfferId>r){this.log.debug(`negotiation already handled in more recent acknowledged offer`,this.logContext),t();return}let i=!1,a=()=>{i||(i=!0,clearTimeout(c),this.publisher.off(Ok.OfferAnswered,o),e.signal.removeEventListener(`abort`,s))},o=e=>{e>r&&(a(),t())},s=()=>{a(),n(new vT(`negotiation aborted`))},c=setTimeout(()=>{a(),n(new vT(`negotiation timed out`))},this.peerConnectionTimeout);e.signal.addEventListener(`abort`,s),this.publisher.on(Ok.OfferAnswered,o),this.publisher.negotiate(e=>{a(),e instanceof Error?n(e):n(Error(String(e)))})})})}addPublisherTransceiver(e,t){return this.publisher.addTransceiver(e,t)}addPublisherTransceiverOfKind(e,t){return this.publisher.addTransceiverOfKind(e,t)}getMidForReceiver(e){return(this.subscriber?this.subscriber.getTransceivers():this.publisher.getTransceivers()).find(t=>t.receiver===e)?.mid}getMaxPublisherMessageSize(){return this.publisher.getMaxMessageSize()}addPublisherTrack(e){return this.publisher.addTrack(e)}createPublisherDataChannel(e,t){return this.publisher.createDataChannel(e,t)}getConnectedAddress(e){return e===iS.PUBLISHER||e===iS.SUBSCRIBER?this.publisher.getConnectedAddress():this.requiredTransports[0].getConnectedAddress()}get requiredTransports(){let e=[];return this.isPublisherConnectionRequired&&e.push(this.publisher),this.isSubscriberConnectionRequired&&this.subscriber&&e.push(this.subscriber),e}ensureTransportConnected(e,t){return q(this,arguments,void 0,function(e,t){var n=this;let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.peerConnectionTimeout;return function*(){if(e.getConnectionState()!==`connected`)return new Promise((e,i)=>q(n,void 0,void 0,function*(){let n=()=>{this.log.warn(`abort transport connection`),ET.clearTimeout(a),i(J.cancelled(`room connection has been cancelled`))};t?.signal.aborted&&n(),t?.signal.addEventListener(`abort`,n);let a=ET.setTimeout(()=>{t?.signal.removeEventListener(`abort`,n),i(J.internal(`could not establish pc connection`))},r);for(;this.state!==Jk.CONNECTED;)if(yield hE(50),t?.signal.aborted){i(J.cancelled(`room connection has been cancelled`));return}ET.clearTimeout(a),t?.signal.removeEventListener(`abort`,n),e()}))}()})}},Xk=class{constructor(e){this.bufferStatusLow=!0,this.headroomLock=new jv,this.waiterAbortController=new AbortController,this.kind=e.kind,this.lowWaterMark=e.lowWaterMark,this.highWaterMark=e.highWaterMark,this.isEngineClosed=e.isEngineClosed,this.onBufferStatusChanged=e.onBufferStatusChanged}get channelHandle(){return this.handle}attach(e){this.handle&&this.handle!==e&&this.invalidateWaiters(`data channel replaced`),this.handle=e}detach(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:`data channel torn down`;this.handle&&this.invalidateWaiters(e),this.handle=void 0}getChannel(){return this.handle}isBelowHighWaterMark(e){return e.bufferedAmount<=this.highWaterMark}isBelowLowWaterMark(e){return e.bufferedAmount<=e.bufferedAmountLowThreshold}lockHeadroom(){return this.headroomLock.lock()}waitForHeadroomWithLock(){return q(this,void 0,void 0,function*(){let e=yield this.lockHeadroom();try{yield this.waitForHeadroomWithoutLock()}finally{e()}})}waitForHeadroomWithoutLock(){return q(this,void 0,void 0,function*(){if(this.isEngineClosed())throw new _T(`engine closed`);let e=this.getChannel();if(!e)throw new _T(`DataChannel not found, kind: ${this.kind}`);if(this.isBelowHighWaterMark(e))return;let t=this.waiterAbortController.signal;yield new rT((n,r)=>{let i=()=>{s(),n()},a=()=>{s(),r(new _T(`DataChannel ${this.kind} closed while draining the buffer`))},o=()=>{s(),r(new _T(`DataChannel ${this.kind} was replaced or torn down while waiting for headroom`))},s=()=>{e.removeEventListener(`bufferedamountlow`,i),e.removeEventListener(`close`,a),t.removeEventListener(`abort`,o)};if(t.aborted){o();return}e.addEventListener(`bufferedamountlow`,i),e.addEventListener(`close`,a),t.addEventListener(`abort`,o)})})}invalidateWaiters(e){this.waiterAbortController.abort(e),this.waiterAbortController=new AbortController}refreshBufferStatus(){var e;let t=this.getChannel();if(!t)return;let n=this.isBelowLowWaterMark(t);n!==this.bufferStatusLow&&(this.bufferStatusLow=n,(e=this.onBufferStatusChanged)==null||e.call(this,n))}},Zk=class extends Xk{constructor(e){super(e),this.statCurrentBytes=0,this.statByterate=0,this.dropCount=0,this.bufferFullBehavior=e.bufferFullBehavior,this.shouldSkipSends=e.shouldSkipSends}send(e){return q(this,void 0,void 0,function*(){let t=this.getChannel();if(t){switch(this.bufferFullBehavior){case`wait`:this.isBelowHighWaterMark(t)||(yield this.waitForHeadroomWithLock());break;case`drop`:if(!this.isBelowLowWaterMark(t)){this.dropCount+=1,this.dropCount%100==0&&TC.warn(`dropping lossy data channel messages, total dropped: ${this.dropCount}`);return}}if(this.statCurrentBytes+=e.byteLength,!this.shouldSkipSends())try{t.send(e),this.refreshBufferStatus()}catch(e){if(e instanceof TypeError)TC.error(e);else throw e}}})}startThresholdTuning(){this.stopThresholdTuning(),this.statInterval=ET.setInterval(()=>{this.statByterate=this.statCurrentBytes,this.statCurrentBytes=0;let e=this.getChannel();if(e){let t=this.statByterate/10;e.bufferedAmountLowThreshold=Math.min(Math.max(t,this.lowWaterMark),this.highWaterMark)}},1e3)}stopThresholdTuning(){this.statByterate=0,this.statCurrentBytes=0,this.statInterval&&=(ET.clearInterval(this.statInterval),void 0),this.dropCount=0}},Qk=class{constructor(){this.buffer=[],this._totalSize=0,this._sentSize=0}push(e){this.buffer.push(e),this._totalSize+=e.data.byteLength,e.sent&&(this._sentSize+=e.data.byteLength)}pop(){let e=this.buffer.shift();return e&&(this._totalSize-=e.data.byteLength,e.sent&&(this._sentSize-=e.data.byteLength)),e}getAll(){return this.buffer.slice()}getUnsent(){return this.buffer.filter(e=>!e.sent)}markSent(e){e.sent||(e.sent=!0,this._sentSize+=e.data.byteLength)}markAllUnsent(){for(let e of this.buffer)e.sent=!1;this._sentSize=0}popToSequence(e){for(;this.buffer.length>0&&this.buffer[0].sequence<=e;)this.pop()}alignBufferedAmount(e){for(;this.buffer.length>0;){let t=this.buffer[0];if(!t.sent||this._sentSize-t.data.byteLength<=e)break;this.pop()}}get length(){return this.buffer.length}},$k=class extends Xk{constructor(e){super(e),this.messageBuffer=new Qk,this.sequence=1,this.isDeferringSends=e.isDeferringSends}nextSequence(){let e=this.sequence;return this.sequence+=1,e}send(e,t){return q(this,void 0,void 0,function*(){if(this.isDeferringSends()){this.messageBuffer.push({data:e,sequence:t,sent:!1});return}let n=this.getChannel();if(n){try{yield this.waitForHeadroomWithLock()}catch(n){if(this.isEngineClosed())throw n;this.messageBuffer.push({data:e,sequence:t,sent:!1});return}if(this.isDeferringSends()){this.messageBuffer.push({data:e,sequence:t,sent:!1});return}this.messageBuffer.push({data:e,sequence:t,sent:!0}),n.send(e),this.refreshBufferStatus()}})}replay(e){return q(this,void 0,void 0,function*(){let t=this.getChannel();if(!t)return;this.messageBuffer.popToSequence(e);let n=yield this.lockHeadroom();try{this.messageBuffer.markAllUnsent();for(let e=this.messageBuffer.getUnsent();e.length>0;e=this.messageBuffer.getUnsent())for(let n of e)yield this.waitForHeadroomWithoutLock(),t.send(n.data),this.messageBuffer.markSent(n)}finally{n()}this.refreshBufferStatus()})}refreshBufferStatus(){let e=this.channelHandle;e&&this.messageBuffer.alignBufferedAmount(e.bufferedAmount),super.refreshBufferStatus()}reset(){this.messageBuffer=new Qk,this.sequence=1}},eA;(function(e){e[e.RELIABLE=0]=`RELIABLE`,e[e.LOSSY=1]=`LOSSY`,e[e.DATA_TRACK_LOSSY=2]=`DATA_TRACK_LOSSY`})(eA||={});var tA=65536,nA=1048576,rA=8192,iA=262144;function aA(e){return e===eA.RELIABLE?tA:rA}function oA(e){return e===eA.RELIABLE?nA:iA}var sA=`_lossy`,cA=`_reliable`,lA=`_data_track`,uA=class{constructor(e){this.opts=e;let t=t=>({kind:t,lowWaterMark:aA(t),highWaterMark:oA(t),isEngineClosed:e.isEngineClosed,onBufferStatusChanged:n=>e.onBufferStatusChanged(t,n)});this.reliable=new $k(Object.assign(Object.assign({},t(eA.RELIABLE)),{isDeferringSends:e.isReconnecting})),this.lossy=new Zk(Object.assign(Object.assign({},t(eA.LOSSY)),{bufferFullBehavior:`drop`,shouldSkipSends:e.isReconnecting})),this.dataTrack=new Zk(Object.assign(Object.assign({},t(eA.DATA_TRACK_LOSSY)),{bufferFullBehavior:`wait`,shouldSkipSends:e.isReconnecting}))}channelFor(e){switch(e){case eA.RELIABLE:return this.reliable;case eA.LOSSY:return this.lossy;case eA.DATA_TRACK_LOSSY:return this.dataTrack}}getHandle(e){if(!(arguments.length>1&&arguments[1]!==void 0&&arguments[1]))return this.channelFor(e).channelHandle;switch(e){case eA.RELIABLE:return this.reliableSub;case eA.LOSSY:return this.lossySub;case eA.DATA_TRACK_LOSSY:return this.dataTrackSub}}get hasPublisherChannels(){return!!(this.reliable.channelHandle||this.lossy.channelHandle||this.dataTrack.channelHandle)}createPublisherChannels(e){for(let e of[this.lossy,this.reliable,this.dataTrack]){let t=e.channelHandle;t&&(t.onmessage=null,t.onerror=null,t.onclose=null)}let t=(e,t,n)=>{t.onmessage=n,t.onerror=this.opts.onDataError,t.onclose=()=>this.opts.onChannelClose(e.kind),t.bufferedAmountLowThreshold=e.lowWaterMark,t.onbufferedamountlow=()=>e.refreshBufferStatus(),e.attach(t)};t(this.lossy,e.createPublisherDataChannel(sA,{ordered:!1,maxRetransmits:0}),this.opts.onDataMessage),t(this.reliable,e.createPublisherDataChannel(cA,{ordered:!0}),this.opts.onDataMessage),t(this.dataTrack,e.createPublisherDataChannel(lA,{ordered:!1,maxRetransmits:0}),this.opts.onDataTrackMessage),this.lossy.startThresholdTuning()}adoptSubscriberChannel(e){let t;if(e.label===cA)this.reliableSub=e,t=this.opts.onDataMessage;else if(e.label===sA)this.lossySub=e,t=this.opts.onDataMessage;else if(e.label===lA)this.dataTrackSub=e,t=this.opts.onDataTrackMessage;else return!1;return e.onmessage=t,!0}teardown(){let e=e=>{e&&(e.onbufferedamountlow=null,e.onclose=null,e.onclosing=null,e.onerror=null,e.onmessage=null,e.onopen=null,e.close())};for(let t of[this.lossy,this.reliable,this.dataTrack]){let n=t.channelHandle;t.detach(`peer connections cleaned up`),e(n)}e(this.lossySub),e(this.reliableSub),e(this.dataTrackSub),this.lossySub=void 0,this.reliableSub=void 0,this.dataTrackSub=void 0,this.reliable.reset()}},dA=typeof MediaRecorder<`u`,fA=dA?MediaRecorder:class{constructor(){throw Error(`MediaRecorder is not available in this environment`)}},pA=class extends fA{constructor(e,t){if(!dA)throw Error(`MediaRecorder is not available in this environment`);super(new MediaStream([e.mediaStreamTrack]),t);let n,r,i=()=>r===void 0,a=()=>{this.removeEventListener(`dataavailable`,n),this.removeEventListener(`stop`,a),this.removeEventListener(`error`,o),r?.close(),r=void 0},o=e=>{r?.error(e),this.removeEventListener(`dataavailable`,n),this.removeEventListener(`stop`,a),this.removeEventListener(`error`,o),r=void 0};this.byteStream=new ReadableStream({start:e=>{r=e,n=t=>q(this,void 0,void 0,function*(){let n;if(t.data.arrayBuffer){let e=yield t.data.arrayBuffer();n=new Uint8Array(e)}else if(t.data.byteArray)n=t.data.byteArray;else throw Error(`no data available!`);i()||e.enqueue(n)}),this.addEventListener(`dataavailable`,n)},cancel:()=>{a()}}),this.addEventListener(`stop`,a),this.addEventListener(`error`,o)}};function mA(){return dA}var hA=1e3,gA=1e4,_A=class extends ${get sender(){return this._sender}set sender(e){this._sender=e}get constraints(){return this._constraints}get hasPreConnectBuffer(){return!!this.localTrackRecorder}constructor(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0&&arguments[3],i=arguments.length>4?arguments[4]:void 0;super(e,t,i),this.manuallyStopped=!1,this.pendingDeviceChange=!1,this._isUpstreamPaused=!1,this.handleTrackMuteEvent=()=>this.debouncedTrackMuteHandler().catch(()=>this.log.debug(`track mute bounce got cancelled by an unmute event`,this.logContext)),this.debouncedTrackMuteHandler=QD(()=>q(this,void 0,void 0,function*(){yield this.pauseUpstream()}),5e3),this.handleTrackUnmuteEvent=()=>q(this,void 0,void 0,function*(){this.debouncedTrackMuteHandler.cancel(`unmute`),yield this.resumeUpstream()}),this.handleEnded=()=>{this.isInBackground&&(this.reacquireTrack=!0),this._mediaStreamTrack.removeEventListener(`mute`,this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener(`unmute`,this.handleTrackUnmuteEvent),this.emit(Q.Ended,this)},this.reacquireTrack=!1,this.providedByUser=r,this.muteLock=new jv,this.pauseUpstreamLock=new jv,this.trackChangeLock=new jv,this.trackChangeLock.lock().then(t=>q(this,void 0,void 0,function*(){try{yield this.setMediaStreamTrack(e,!0)}finally{t()}})),this._constraints=e.getConstraints(),n&&(this._constraints=n)}get id(){return this._mediaStreamTrack.id}get dimensions(){if(this.kind!==$.Kind.Video)return;let e=this._mediaStreamTrack.getSettings(),t=e.width,n=e.height;if(t&&n)return{width:t,height:n}}get isUpstreamPaused(){return this._isUpstreamPaused}get isUserProvided(){return this.providedByUser}get mediaStreamTrack(){return this.processor?.processedTrack??this._mediaStreamTrack}get isLocal(){return!0}getSourceTrackSettings(){return this._mediaStreamTrack.getSettings()}setMediaStreamTrack(e,t,n){return q(this,void 0,void 0,function*(){if(e===this._mediaStreamTrack&&!t)return;this._mediaStreamTrack&&(this.attachedElements.forEach(e=>{dE(this._mediaStreamTrack,e)}),this.debouncedTrackMuteHandler.cancel(`new-track`),this._mediaStreamTrack.removeEventListener(`ended`,this.handleEnded),this._mediaStreamTrack.removeEventListener(`mute`,this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener(`unmute`,this.handleTrackUnmuteEvent)),this.mediaStream=new MediaStream([e]),e&&(e.addEventListener(`ended`,this.handleEnded),e.addEventListener(`mute`,this.handleTrackMuteEvent),e.addEventListener(`unmute`,this.handleTrackUnmuteEvent),this._constraints=e.getConstraints());let r;if(this.processor&&e){if(this.log.debug(`restarting processor`,this.logContext),this.kind===`unknown`)throw TypeError(`cannot set processor on track of unknown kind`);this.processorElement&&(uE(e,this.processorElement),this.processorElement.muted=!0),yield this.processor.restart({track:e,kind:this.kind,element:this.processorElement,localTrack:this}),r=this.processor.processedTrack}this.sender&&this.sender.transport?.state!==`closed`&&(yield this.sender.replaceTrack(r??e)),!this.providedByUser&&this._mediaStreamTrack!==e&&this._mediaStreamTrack.stop(),this._mediaStreamTrack=e,e&&(this._mediaStreamTrack.enabled=n?!0:!this.isMuted,yield this.resumeUpstream(),this.attachedElements.forEach(t=>{uE(r??e,t)}))})}waitForDimensions(){return q(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:hA;return function*(){if(e.kind===$.Kind.Audio)throw Error(`cannot get dimensions for audio tracks`);oT()?.os===`iOS`&&(yield hE(10));let n=Date.now();for(;Date.now()-n<t;){let t=e.dimensions;if(t)return t;yield hE(50)}throw new hT(`unable to get track dimensions after timeout`)}()})}setDeviceId(e){return q(this,void 0,void 0,function*(){return this._constraints.deviceId===e&&this._mediaStreamTrack.getSettings().deviceId===rD(e)||(this._constraints.deviceId=e,this.isMuted?(this.pendingDeviceChange=!0,!0):(yield this.restartTrack(),rD(e)===this._mediaStreamTrack.getSettings().deviceId))})}getDeviceId(){return q(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return function*(){if(e.source===$.Source.ScreenShare)return;let n=e._mediaStreamTrack.getSettings(),r=n.deviceId,i=n.groupId,a=e.kind===$.Kind.Audio?`audioinput`:`videoinput`;return t?hO.getInstance().normalizeDeviceId(a,r,i):r}()})}mute(){return q(this,void 0,void 0,function*(){return this.setTrackMuted(!0),this})}unmute(){return q(this,void 0,void 0,function*(){return this.setTrackMuted(!1),this})}replaceTrack(e,t){return q(this,void 0,void 0,function*(){let n=yield this.trackChangeLock.lock();try{if(!this.sender)throw new hT(`unable to replace an unpublished track`);let n,r;typeof t==`boolean`?n=t:t!==void 0&&(n=t.userProvidedTrack,r=t.stopProcessor),this.providedByUser=n??!0,this.log.debug(`replace MediaStreamTrack`,this.logContext),yield this.setMediaStreamTrack(e),r&&this.processor&&(yield this.internalStopProcessor())}finally{n()}return yield this.onSenderTrackSwapped(),this})}onSenderTrackSwapped(){return q(this,void 0,void 0,function*(){})}restart(e,t){return q(this,void 0,void 0,function*(){this.manuallyStopped=!1;let n=yield this.trackChangeLock.lock();try{e||=this._constraints;let n=e,r=n.deviceId,i=n.facingMode,a=FC(e,[`deviceId`,`facingMode`]);this.log.debug(`restarting track with constraints`,Object.assign(Object.assign({},this.logContext),{constraints:e}));let o={audio:!1,video:!1};this.kind===$.Kind.Video?o.video=r||i?{deviceId:r,facingMode:i}:!0:o.audio=!r||Object.assign({deviceId:r},a),this.attachedElements.forEach(e=>{dE(this.mediaStreamTrack,e)}),this._mediaStreamTrack.removeEventListener(`ended`,this.handleEnded),this._mediaStreamTrack.stop();let s=(yield navigator.mediaDevices.getUserMedia(o)).getTracks()[0];return this.kind===$.Kind.Video&&(yield s.applyConstraints(a)),s.addEventListener(`ended`,this.handleEnded),this.log.debug(`re-acquired MediaStreamTrack`,this.logContext),yield this.setMediaStreamTrack(s,!1,t),this._constraints=e,this.pendingDeviceChange=!1,this.emit(Q.Restarted,this),this.manuallyStopped&&(this.log.warn(`track was stopped during a restart, stopping restarted track`,this.logContext),this.stop()),this}finally{n()}})}setTrackMuted(e){this.log.debug(`setting ${this.kind} track ${e?`muted`:`unmuted`}`,this.logContext),(this.isMuted!==e||this._mediaStreamTrack.enabled===e)&&(this.isMuted=e,this._mediaStreamTrack.enabled=!e,this.emit(e?Q.Muted:Q.Unmuted,this))}get needsReAcquisition(){return this._mediaStreamTrack.readyState!==`live`||this._mediaStreamTrack.muted||!this._mediaStreamTrack.enabled||this.reacquireTrack}handleAppVisibilityChanged(){let e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return q(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),FE()&&(this.log.debug(`visibility changed, is in Background: ${this.isInBackground}`,this.logContext),!this.isInBackground&&this.needsReAcquisition&&!this.isUserProvided&&!this.isMuted&&(this.log.debug(`track needs to be reacquired, restarting ${this.source}`,this.logContext),yield this.restart(),this.reacquireTrack=!1))})}stop(){var e;this.manuallyStopped=!0,super.stop(),this._mediaStreamTrack.removeEventListener(`ended`,this.handleEnded),this._mediaStreamTrack.removeEventListener(`mute`,this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener(`unmute`,this.handleTrackUnmuteEvent),(e=this.processor)==null||e.destroy(),this.processor=void 0}pauseUpstream(){return q(this,void 0,void 0,function*(){let e=yield this.pauseUpstreamLock.lock();try{if(this._isUpstreamPaused===!0)return;if(!this.sender){this.log.warn(`unable to pause upstream for an unpublished track`,this.logContext);return}this._isUpstreamPaused=!0,this.emit(Q.UpstreamPaused,this);let e=oT();if(e?.name===`Safari`&&WE(e.version,`12.0`)<0)throw new mT(`pauseUpstream is not supported on Safari < 12.`);this.sender.transport?.state!==`closed`&&(yield this.sender.replaceTrack(null))}finally{e()}})}resumeUpstream(){return q(this,void 0,void 0,function*(){let e=yield this.pauseUpstreamLock.lock();try{if(this._isUpstreamPaused===!1)return;if(!this.sender){this.log.warn(`unable to resume upstream for an unpublished track`,this.logContext);return}this._isUpstreamPaused=!1,this.emit(Q.UpstreamResumed,this),this.sender.transport?.state!==`closed`&&(yield this.sender.replaceTrack(this.mediaStreamTrack))}finally{e()}})}getRTCStatsReport(){return q(this,void 0,void 0,function*(){if(this.sender?.getStats)return yield this.sender.getStats()})}setProcessor(e){return q(this,arguments,void 0,function(e){var t=this;let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return function*(){let r=yield t.trackChangeLock.lock();try{t.log.debug(`setting up processor`,t.logContext);let r=document.createElement(t.kind),i={kind:t.kind,track:t._mediaStreamTrack,element:r,audioContext:t.audioContext,localTrack:t};if(yield e.init(i),t.log.debug(`processor initialized`,t.logContext),t.processor&&(yield t.internalStopProcessor()),t.kind===`unknown`)throw TypeError(`cannot set processor on track of unknown kind`);if(uE(t._mediaStreamTrack,r),r.muted=!0,r.play().catch(e=>{e instanceof DOMException&&e.name===`AbortError`?(t.log.warn(`failed to play processor element, retrying`,Object.assign(Object.assign({},t.logContext),{error:e})),setTimeout(()=>{r.play().catch(e=>{t.log.error(`failed to play processor element`,Object.assign(Object.assign({},t.logContext),{err:e}))})},100)):t.log.error(`failed to play processor element`,Object.assign(Object.assign({},t.logContext),{error:e}))}),t.processor=e,t.processorElement=r,t.processor.processedTrack){for(let e of t.attachedElements)e!==t.processorElement&&n&&(dE(t._mediaStreamTrack,e),uE(t.processor.processedTrack,e));yield t.sender?.replaceTrack(t.processor.processedTrack)}t.emit(Q.TrackProcessorUpdate,t.processor)}finally{r()}yield t.onSenderTrackSwapped()}()})}getProcessor(){return this.processor}stopProcessor(){return q(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return function*(){let n=yield e.trackChangeLock.lock();try{yield e.internalStopProcessor(t)}finally{n()}yield e.onSenderTrackSwapped()}()})}internalStopProcessor(){return q(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return function*(){var n,r;e.processor&&(e.log.debug(`stopping processor`,e.logContext),(n=e.processor.processedTrack)==null||n.stop(),yield e.processor.destroy(),e.processor=void 0,t||((r=e.processorElement)==null||r.remove(),e.processorElement=void 0),yield e._mediaStreamTrack.applyConstraints(e._constraints),yield e.setMediaStreamTrack(e._mediaStreamTrack,!0),e.emit(Q.TrackProcessorUpdate))}()})}startPreConnectBuffer(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:100;if(!mA()){this.log.warn(`MediaRecorder is not available, cannot start preconnect buffer`,this.logContext);return}if(this.localTrackRecorder){this.log.warn(`preconnect buffer already started`);return}{let e=`audio/webm;codecs=opus`;MediaRecorder.isTypeSupported(e)||(e=`video/mp4`),this.localTrackRecorder=new pA(this,{mimeType:e})}this.localTrackRecorder.start(e),this.autoStopPreConnectBuffer=setTimeout(()=>{this.log.warn(`preconnect buffer timed out, stopping recording automatically`,this.logContext),this.stopPreConnectBuffer()},gA)}stopPreConnectBuffer(){clearTimeout(this.autoStopPreConnectBuffer),this.localTrackRecorder&&=(this.localTrackRecorder.stop(),void 0)}getPreConnectBuffer(){return this.localTrackRecorder?.byteStream}getPreConnectBufferMimeType(){return this.localTrackRecorder?.mimeType}},vA=class extends _A{get enhancedNoiseCancellation(){return this.isKrispNoiseFilterEnabled}constructor(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;super(e,$.Kind.Audio,t,n,i),this.stopOnMute=!1,this.isKrispNoiseFilterEnabled=!1,this.monitorSender=()=>q(this,void 0,void 0,function*(){if(!this.sender){this._currentBitrate=0;return}let e;try{e=yield this.getSenderStats()}catch(e){this.log.error(`could not get audio sender stats`,Object.assign(Object.assign({},this.logContext),{error:e}));return}e&&this.prevStats&&(this._currentBitrate=eO(e,this.prevStats)),this.prevStats=e}),this.handleKrispNoiseFilterEnable=()=>{this.isKrispNoiseFilterEnabled=!0,this.log.debug(`Krisp noise filter enabled`,this.logContext),this.emit(Q.AudioTrackFeatureUpdate,this,nx.TF_ENHANCED_NOISE_CANCELLATION,!0)},this.handleKrispNoiseFilterDisable=()=>{this.isKrispNoiseFilterEnabled=!1,this.log.debug(`Krisp noise filter disabled`,this.logContext),this.emit(Q.AudioTrackFeatureUpdate,this,nx.TF_ENHANCED_NOISE_CANCELLATION,!1)},this.audioContext=r,this.checkForSilence()}mute(){let e=Object.create(null,{mute:{get:()=>super.mute}});return q(this,void 0,void 0,function*(){let t=yield this.muteLock.lock();try{return this.isMuted?(this.log.debug(`Track already muted`,this.logContext),this):(this.source===$.Source.Microphone&&this.stopOnMute&&!this.isUserProvided&&(this.log.debug(`stopping mic track`,this.logContext),this._mediaStreamTrack.stop()),yield e.mute.call(this),this)}finally{t()}})}unmute(){let e=Object.create(null,{unmute:{get:()=>super.unmute}});return q(this,void 0,void 0,function*(){let t=yield this.muteLock.lock();try{return this.isMuted?(this.source===$.Source.Microphone&&(this.stopOnMute||this._mediaStreamTrack.readyState===`ended`||this.pendingDeviceChange)&&!this.isUserProvided&&(this.log.debug(`reacquiring mic track`,this.logContext),yield this.restart(void 0,!0)),yield e.unmute.call(this),this):(this.log.debug(`Track already unmuted`,this.logContext),this)}finally{t()}})}restartTrack(e){return q(this,void 0,void 0,function*(){let t;if(e){let n=KT({audio:e});typeof n.audio!=`boolean`&&(t=n.audio)}yield this.restart(t)})}applyConstraints(e){return q(this,void 0,void 0,function*(){let t=yield this.trackChangeLock.lock();try{let t=yield this._mediaStreamTrack.applyConstraints(e);return this._constraints=Object.assign(Object.assign({},this._constraints),e),t}finally{t()}})}restart(e,t){let n=Object.create(null,{restart:{get:()=>super.restart}});return q(this,void 0,void 0,function*(){let r=yield n.restart.call(this,e,t);return this.checkForSilence(),r})}startMonitor(){LE()&&(this.monitorInterval||=setInterval(()=>{this.monitorSender()},$D))}setProcessor(e){return q(this,void 0,void 0,function*(){let t=yield this.trackChangeLock.lock();try{if(!RE()&&!this.audioContext)throw Error(`Audio context needs to be set on LocalAudioTrack in order to enable processors`);this.processor&&(yield this.internalStopProcessor());let t={kind:this.kind,track:this._mediaStreamTrack,audioContext:this.audioContext,localTrack:this};this.log.debug(`setting up audio processor ${e.name}`,this.logContext),yield e.init(t),this.processor=e,this.processor.processedTrack&&(yield this.sender?.replaceTrack(this.processor.processedTrack),this.processor.processedTrack.addEventListener(`enable-lk-krisp-noise-filter`,this.handleKrispNoiseFilterEnable),this.processor.processedTrack.addEventListener(`disable-lk-krisp-noise-filter`,this.handleKrispNoiseFilterDisable)),this.emit(Q.TrackProcessorUpdate,this.processor)}finally{t()}})}setAudioContext(e){this.audioContext=e}getSenderStats(){return q(this,void 0,void 0,function*(){if(!this.sender?.getStats)return;let e=yield this.sender.getStats(),t;return e.forEach(n=>{if(n.type===`outbound-rtp`){t={type:`audio`,streamId:n.id,packetsSent:n.packetsSent,bytesSent:n.bytesSent,timestamp:n.timestamp};let r=e.get(n.remoteId);r&&(t.packetsLost=r.packetsLost,t.jitter=r.jitter,t.roundTripTime=r.roundTripTime)}}),t})}checkForSilence(){return q(this,void 0,void 0,function*(){let e=yield qT(this);return e&&(this.isMuted||this.log.debug(`silence detected on local audio track`,this.logContext),this.emit(Q.AudioSilenceDetected)),e})}};function yA(e,t,n){switch(e.kind){case`audio`:return new vA(e,t,!1,void 0,n);case`video`:return new RA(e,t,!1,n);default:throw new hT(`unsupported track type: ${e.kind}`)}}var bA=Object.values(VT),xA=Object.values(HT),SA=Object.values(UT),CA=[VT.h180,VT.h360],wA=[HT.h180,HT.h360],TA=e=>[{scaleResolutionDownBy:2,fps:e.encoding.maxFramerate}].map(t=>new PT(Math.floor(e.width/t.scaleResolutionDownBy),Math.floor(e.height/t.scaleResolutionDownBy),Math.max(15e4,Math.floor(e.encoding.maxBitrate/(t.scaleResolutionDownBy**2*((e.encoding.maxFramerate??30)/(t.fps??30))))),t.fps,e.encoding.priority)),EA=[`q`,`h`,`f`];function DA(e,t,n,r){let i=r?.videoEncoding;e&&(i=r?.screenShareEncoding);let a=r?.simulcast,o=r?.scalabilityMode,s=r?.videoCodec,c=SE(s,r);if(!i&&!a&&!o||!t||!n)return[{}];i||(i=AA(e,t,n,s),TC.debug(`using video encoding`,i));let l=i.maxFramerate,u=new PT(t,n,i.maxBitrate,i.maxFramerate,i.priority);if(o&&bE(s)&&!c){let e=new FA(o),t=[];if(e.spatial>3)throw Error(`unsupported scalabilityMode: ${o}`);let n=oT();if(CE()){let r=e.suffix==`h`?2:3,a=PE(n);for(let n=0;n<e.spatial;n+=1)t.push({rid:EA[2-n],maxBitrate:i.maxBitrate/r**+n,maxFramerate:u.encoding.maxFramerate,scaleResolutionDownBy:a?2**n:void 0});t[0].scalabilityMode=o}else t.push({maxBitrate:i.maxBitrate,maxFramerate:u.encoding.maxFramerate,scalabilityMode:o});return u.encoding.priority&&(t[0].priority=u.encoding.priority,t[0].networkPriority=u.encoding.priority),TC.debug(`using svc encoding`,{encodings:t}),t}if(!a)return[i];let d=e=>(c&&e.forEach(e=>{e.scalabilityMode=o}),e),f;f=e?PA(r?.screenShareSimulcastLayers)??MA(e,u):PA(r?.videoSimulcastLayers)??MA(e,u);let p;if(f.length>0){let e=f[0];f.length>1&&(p=G(f,2)[1]);let r=Math.max(t,n);if(r>=960&&p)return d(NA(t,n,[e,p,u],l));if(r>=480)return d(NA(t,n,[e,u],l))}return d(NA(t,n,[u]))}function OA(e,t,n){return bE(e)&&!SE(e,t)?n[0]?.maxBitrate??0:n.reduce((e,t)=>e+(t.maxBitrate??0),0)}function kA(e,t,n){if(!n.backupCodec||n.backupCodec===!0||n.backupCodec.codec===n.videoCodec)return;t!==n.backupCodec.codec&&TC.warn(`requested a different codec than specified as backup`,{serverRequested:t,backup:n.backupCodec.codec}),n.videoCodec=t,n.videoEncoding=n.backupCodec.encoding;let r=e.mediaStreamTrack.getSettings(),i=r.width??e.dimensions?.width,a=r.height??e.dimensions?.height;return e.source===$.Source.ScreenShare&&n.simulcast&&(n.simulcast=!1),DA(e.source===$.Source.ScreenShare,i,a,n)}function AA(e,t,n,r){let i=jA(e,t,n),a=i[0].encoding,o=Math.max(t,n);for(let e=0;e<i.length;e+=1){let t=i[e];if(a=t.encoding,t.width>=o)break}if(r)switch(r){case`av1`:case`h265`:a=Object.assign({},a),a.maxBitrate*=.7;break;case`vp9`:a=Object.assign({},a),a.maxBitrate*=.85}return a}function jA(e,t,n){if(e)return SA;let r=t>n?t/n:n/t;return Math.abs(r-16/9)<Math.abs(r-4/3)?bA:xA}function MA(e,t){if(e)return TA(t);let n=t.width,r=t.height,i=n>r?n/r:r/n;return Math.abs(i-16/9)<Math.abs(i-4/3)?CA:wA}function NA(e,t,n,r){let i=[];if(n.forEach((n,a)=>{if(a>=EA.length)return;let o=Math.min(e,t),s={rid:EA[a],scaleResolutionDownBy:Math.max(1,o/Math.min(n.width,n.height)),maxBitrate:n.encoding.maxBitrate},c=r&&n.encoding.maxFramerate?Math.min(r,n.encoding.maxFramerate):n.encoding.maxFramerate;c&&(s.maxFramerate=c);let l=oT(),u=l?.name===`Firefox`&&l.os!==`iOS`||a===0;n.encoding.priority&&u&&(s.priority=n.encoding.priority,s.networkPriority=n.encoding.priority),i.push(s)}),RE()&&HE()===`ios`){let e;i.forEach(t=>{e?t.maxFramerate&&t.maxFramerate>e&&(e=t.maxFramerate):e=t.maxFramerate});let t=!0;i.forEach(n=>{n.maxFramerate!=e&&(t&&(t=!1,TC.info(`Simulcast on iOS React-Native requires all encodings to share the same framerate.`)),TC.info(`Setting framerate of encoding "${n.rid??``}" to ${e}`),n.maxFramerate=e)})}return i}function PA(e){if(e)return e.slice().sort((e,t)=>{let n=e.encoding,r=t.encoding;return n.maxBitrate>r.maxBitrate?1:n.maxBitrate<r.maxBitrate?-1:n.maxBitrate===r.maxBitrate&&n.maxFramerate&&r.maxFramerate?n.maxFramerate>r.maxFramerate?1:-1:0})}var FA=class{constructor(e){let t=e.match(/^L(\d)T(\d)(h|_KEY|_KEY_SHIFT){0,1}$/);if(!t)throw Error(`invalid scalability mode`);if(this.spatial=parseInt(t[1]),this.temporal=parseInt(t[2]),t.length>3)switch(t[3]){case`h`:case`_KEY`:case`_KEY_SHIFT`:this.suffix=t[3]}}toString(){return`L${this.spatial}T${this.temporal}${this.suffix??``}`}};function IA(e){switch(e.source){case $.Source.Camera:return`maintain-framerate`;case $.Source.ScreenShare:return`maintain-resolution`;default:return`balanced`}}var LA=5e3,RA=class extends _A{get sender(){return this._sender}set sender(e){this._sender=e,this.degradationPreference&&this.setDegradationPreference(this.degradationPreference)}constructor(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=arguments.length>3?arguments[3]:void 0;super(e,$.Kind.Video,t,n,r),this.simulcastCodecs=new Map,this.degradationPreference=`balanced`,this.isCpuConstrained=!1,this.optimizeForPerformance=!1,this.monitorSender=()=>q(this,void 0,void 0,function*(){if(!this.sender){this._currentBitrate=0;return}let e;try{e=yield this.getSenderStats()}catch(e){this.log.error(`could not get video sender stats`,Object.assign(Object.assign({},this.logContext),{error:e}));return}let t=new Map(e.map(e=>[e.rid,e])),n=e.some(e=>e.qualityLimitationReason===`cpu`);if(n!==this.isCpuConstrained&&(this.isCpuConstrained=n,this.isCpuConstrained&&this.emit(Q.CpuConstrained)),this.prevStats){let e=0;t.forEach((t,n)=>{let r=this.prevStats?.get(n);e+=eO(t,r)}),this._currentBitrate=e}this.prevStats=t}),this.senderLock=new jv}get isSimulcast(){return!!(this.sender&&this.sender.getParameters().encodings.length>1)}startMonitor(e){if(this.signalClient=e,!LE())return;let t=this.sender?.getParameters();t&&(this.encodings=t.encodings),!this.monitorInterval&&(this.monitorInterval=setInterval(()=>{this.monitorSender()},$D))}stop(){this._mediaStreamTrack.getConstraints(),this.simulcastCodecs.forEach(e=>{e.mediaStreamTrack.stop()}),super.stop()}pauseUpstream(){let e=Object.create(null,{pauseUpstream:{get:()=>super.pauseUpstream}});return q(this,void 0,void 0,function*(){var t,n,r,i;yield e.pauseUpstream.call(this);try{for(var a=!0,o=BC(this.simulcastCodecs.values()),s;s=yield o.next(),t=s.done,!t;a=!0)i=s.value,a=!1,yield i.sender?.replaceTrack(null)}catch(e){n={error:e}}finally{try{!a&&!t&&(r=o.return)&&(yield r.call(o))}finally{if(n)throw n.error}}})}resumeUpstream(){let e=Object.create(null,{resumeUpstream:{get:()=>super.resumeUpstream}});return q(this,void 0,void 0,function*(){var t,n,r,i;yield e.resumeUpstream.call(this);try{for(var a=!0,o=BC(this.simulcastCodecs.values()),s;s=yield o.next(),t=s.done,!t;a=!0){i=s.value,a=!1;let e=i;yield e.sender?.replaceTrack(e.mediaStreamTrack)}}catch(e){n={error:e}}finally{try{!a&&!t&&(r=o.return)&&(yield r.call(o))}finally{if(n)throw n.error}}})}mute(){let e=Object.create(null,{mute:{get:()=>super.mute}});return q(this,void 0,void 0,function*(){let t=yield this.muteLock.lock();try{return this.isMuted?(this.log.debug(`Track already muted`,this.logContext),this):(this.source===$.Source.Camera&&!this.isUserProvided&&(this.log.debug(`stopping camera track`,this.logContext),this._mediaStreamTrack.stop()),yield e.mute.call(this),this)}finally{t()}})}unmute(){let e=Object.create(null,{unmute:{get:()=>super.unmute}});return q(this,void 0,void 0,function*(){let t=yield this.muteLock.lock();try{return this.isMuted?(this.source===$.Source.Camera&&!this.isUserProvided&&(this.log.debug(`reacquiring camera track`,this.logContext),yield this.restart(void 0,!0)),yield e.unmute.call(this),this):(this.log.debug(`Track already unmuted`,this.logContext),this)}finally{t()}})}setTrackMuted(e){super.setTrackMuted(e);for(let t of this.simulcastCodecs.values())t.mediaStreamTrack.enabled=!e}getSenderStats(){return q(this,void 0,void 0,function*(){if(!this.sender?.getStats)return[];let e=[],t=yield this.sender.getStats();return t.forEach(n=>{if(n.type===`outbound-rtp`){let r={type:`video`,streamId:n.id,frameHeight:n.frameHeight,frameWidth:n.frameWidth,framesPerSecond:n.framesPerSecond,framesSent:n.framesSent,firCount:n.firCount,pliCount:n.pliCount,nackCount:n.nackCount,packetsSent:n.packetsSent,bytesSent:n.bytesSent,qualityLimitationReason:n.qualityLimitationReason,qualityLimitationDurations:n.qualityLimitationDurations,qualityLimitationResolutionChanges:n.qualityLimitationResolutionChanges,rid:n.rid??n.id,retransmittedPacketsSent:n.retransmittedPacketsSent,targetBitrate:n.targetBitrate,timestamp:n.timestamp},i=t.get(n.remoteId);i&&(r.jitter=i.jitter,r.packetsLost=i.packetsLost,r.roundTripTime=i.roundTripTime),e.push(r)}}),e.sort((e,t)=>(t.frameWidth??0)-(e.frameWidth??0)),e})}isSvcPublish(e){return bE(e)&&!SE(e,this.publishOptions)}setPublishingQuality(e){let t=[];for(let n=lE.LOW;n<=lE.HIGH;n+=1)t.push(new KS({quality:n,enabled:n<=e}));this.log.debug(`setting publishing quality. max quality ${e}`,this.logContext),this.setPublishingLayers(this.isSvcPublish(this.codec),t)}restartTrack(e){return q(this,void 0,void 0,function*(){var t,n,r,i;let a;if(e){let t=KT({video:e});typeof t.video!=`boolean`&&(a=t.video)}yield this.restart(a),this.isCpuConstrained=!1;try{for(var o=!0,s=BC(this.simulcastCodecs.values()),c;c=yield s.next(),t=c.done,!t;o=!0){i=c.value,o=!1;let e=i;e.sender&&e.sender.transport?.state!==`closed`&&(e.mediaStreamTrack=this.mediaStreamTrack.clone(),yield e.sender.replaceTrack(e.mediaStreamTrack))}}catch(e){n={error:e}}finally{try{!o&&!t&&(r=s.return)&&(yield r.call(s))}finally{if(n)throw n.error}}yield this.onSenderTrackSwapped()})}onSenderTrackSwapped(){return q(this,void 0,void 0,function*(){yield this.refreshSenderEncodings()})}refreshSenderEncodings(){return q(this,void 0,void 0,function*(){if(!this.sender||!this.publishOptions||this.optimizeForPerformance)return;let e=yield this.senderLock.lock();try{let e;try{e=yield this.waitForDimensions()}catch(e){this.log.warn(`could not determine new track dimensions, skipping encoding recompute`,Object.assign(Object.assign({},this.logContext),{error:e}));return}if(this.lastEncodedDimensions&&this.lastEncodedDimensions.width===e.width&&this.lastEncodedDimensions.height===e.height)return;let n=DA(this.source===$.Source.ScreenShare,e.width,e.height,Object.assign({},this.publishOptions));yield this.applyEncodingsToSender(this.sender,n),this.encodings=n,this.lastEncodedDimensions=e;for(let e of this.simulcastCodecs){var t=G(e,2);let n=t[0],r=t[1];if(!r.sender||r.sender.transport?.state===`closed`||!LT(n))continue;let i=Object.assign({},this.publishOptions),a=kA(this,n,i);a&&(yield this.applyEncodingsToSender(r.sender,a),r.encodings=a)}}catch(e){this.log.warn(`failed to apply recomputed encodings`,Object.assign(Object.assign({},this.logContext),{error:e}))}finally{e()}})}applyEncodingsToSender(e,t){return q(this,void 0,void 0,function*(){let n=e.getParameters();n.encodings&&n.encodings.length===t.length&&(n.encodings.forEach((e,n)=>{if(e.active===!1)return;let r=t[n];r.scaleResolutionDownBy!==void 0&&(e.scaleResolutionDownBy=r.scaleResolutionDownBy),r.maxBitrate!==void 0&&(e.maxBitrate=r.maxBitrate),r.maxFramerate!==void 0&&(e.maxFramerate=r.maxFramerate),r.priority!==void 0&&(e.priority=r.priority,e.networkPriority=r.priority)}),this.log.debug(`updating sender encodings after track restart`,Object.assign(Object.assign({},this.logContext),{encodings:n.encodings})),yield e.setParameters(n))})}setProcessor(e){let t=Object.create(null,{setProcessor:{get:()=>super.setProcessor}});return q(this,arguments,void 0,function(e){var n=this;let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return function*(){var i,a,o,s;if(yield t.setProcessor.call(n,e,r),n.processor?.processedTrack)try{for(var c=!0,l=BC(n.simulcastCodecs.values()),u;u=yield l.next(),i=u.done,!i;c=!0)s=u.value,c=!1,yield s.sender?.replaceTrack(n.processor.processedTrack)}catch(e){a={error:e}}finally{try{!c&&!i&&(o=l.return)&&(yield o.call(l))}finally{if(a)throw a.error}}}()})}setDegradationPreference(e){return q(this,void 0,void 0,function*(){this.degradationPreference=e,yield this.applyDegradationPreference(this.sender);for(let e of this.simulcastCodecs.values())yield this.applyDegradationPreference(e.sender)})}applyDegradationPreference(e){return q(this,void 0,void 0,function*(){if(e)try{this.log.debug(`setting degradationPreference to ${this.degradationPreference}`,this.logContext);let t=e.getParameters();t.degradationPreference=this.degradationPreference,yield e.setParameters(t)}catch(e){this.log.warn(`failed to set degradationPreference`,Object.assign({error:e},this.logContext))}})}addSimulcastTrack(e,t){if(this.simulcastCodecs.has(e)){this.log.error(`${e} already added, skipping adding simulcast codec`,this.logContext);return}let n={codec:e,mediaStreamTrack:this.mediaStreamTrack.clone(),sender:void 0,encodings:t};return this.simulcastCodecs.set(e,n),n}setSimulcastTrackSender(e,t){return q(this,void 0,void 0,function*(){let n=this.simulcastCodecs.get(e);n&&(n.sender=t,yield this.applyDegradationPreference(t),setTimeout(()=>{this.subscribedCodecs&&this.setPublishingCodecs(this.subscribedCodecs)},LA))})}setPublishingCodecs(e){return q(this,void 0,void 0,function*(){var t,n,r,i,a,o,s;if(this.log.debug(`setting publishing codecs`,Object.assign(Object.assign({},this.logContext),{codecs:e,currentCodec:this.codec})),!this.codec&&e.length>0)return yield this.setPublishingLayers(this.isSvcPublish(e[0].codec),e[0].qualities),[];this.subscribedCodecs=e;let c=[];try{for(t=!0,n=BC(e);r=yield n.next(),i=r.done,!i;t=!0){s=r.value,t=!1;let e=s;if(!this.codec||this.codec===e.codec)yield this.setPublishingLayers(this.isSvcPublish(e.codec),e.qualities);else{let t=this.simulcastCodecs.get(e.codec);if(this.log.debug(`try setPublishingCodec for ${e.codec}`,Object.assign(Object.assign({},this.logContext),{simulcastCodecInfo:t})),!t||!t.sender){for(let t of e.qualities)if(t.enabled){c.push(e.codec);break}}else t.encodings&&(this.log.debug(`try setPublishingLayersForSender ${e.codec}`,this.logContext),yield zA(t.sender,t.encodings,e.qualities,this.senderLock,this.isSvcPublish(e.codec),this.log,this.logContext))}}}catch(e){a={error:e}}finally{try{!t&&!i&&(o=n.return)&&(yield o.call(n))}finally{if(a)throw a.error}}return c})}setPublishingLayers(e,t){return q(this,void 0,void 0,function*(){if(this.optimizeForPerformance){this.log.info(`skipping setPublishingLayers due to optimized publishing performance`,Object.assign(Object.assign({},this.logContext),{qualities:t}));return}this.log.debug(`setting publishing layers`,Object.assign(Object.assign({},this.logContext),{qualities:t})),this.sender&&this.encodings&&(yield zA(this.sender,this.encodings,t,this.senderLock,e,this.log,this.logContext))})}prioritizePerformance(){return q(this,void 0,void 0,function*(){if(!this.sender)throw Error(`sender not found`);let e=yield this.senderLock.lock();try{this.optimizeForPerformance=!0;let e=this.sender.getParameters();e.encodings=e.encodings.map((e,t)=>Object.assign(Object.assign({},e),{active:t===0,scaleResolutionDownBy:Math.max(1,Math.ceil((this.mediaStreamTrack.getSettings().height??360)/360)),scalabilityMode:t===0&&bE(this.codec)?`L1T3`:void 0,maxFramerate:t===0?15:0,maxBitrate:t===0?e.maxBitrate:0})),this.log.debug(`setting performance optimised encodings`,Object.assign(Object.assign({},this.logContext),{encodings:e.encodings})),this.encodings=e.encodings,yield this.sender.setParameters(e)}catch(e){this.log.error(`failed to set performance optimised encodings`,Object.assign(Object.assign({},this.logContext),{error:e})),this.optimizeForPerformance=!1}finally{e()}})}handleAppVisibilityChanged(){let e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return q(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),FE()&&this.isInBackground&&this.source===$.Source.Camera&&(this._mediaStreamTrack.enabled=!1)})}};function zA(e,t,n,r,i,a,o){return q(this,void 0,void 0,function*(){let s=yield r.lock();a.debug(`setPublishingLayersForSender`,Object.assign(Object.assign({},o),{sender:e,qualities:n,senderEncodings:t}));try{let r=e.getParameters(),s=r.encodings;if(!s)return;if(s.length!==t.length){a.warn(`cannot set publishing layers, encodings mismatch`,Object.assign(Object.assign({},o),{encodings:s,senderEncodings:t}));return}let c=!1;i&&n.some(e=>e.enabled)&&n.forEach(e=>e.enabled=!0),s.forEach((e,r)=>{let i=e.rid??``;i===``&&(i=`q`);let s=BA(i),l=n.find(e=>e.quality===s);l&&e.active!==l.enabled&&(c=!0,e.active=l.enabled,a.debug(`setting layer ${l.quality} to ${e.active?`enabled`:`disabled`}`,o),OE()&&(l.enabled?(e.scaleResolutionDownBy=t[r].scaleResolutionDownBy,e.maxBitrate=t[r].maxBitrate,e.maxFrameRate=t[r].maxFrameRate):(e.scaleResolutionDownBy=4,e.maxBitrate=10,e.maxFrameRate=2)))}),c&&(r.encodings=s,a.debug(`setting encodings`,Object.assign(Object.assign({},o),{encodings:r.encodings})),yield e.setParameters(r))}finally{s()}})}function BA(e){switch(e){case`f`:return lE.HIGH;case`h`:return lE.MEDIUM;case`q`:return lE.LOW;default:return lE.HIGH}}function VA(e,t,n,r){if(!n)return[new Cx({quality:lE.HIGH,width:e,height:t,bitrate:0,ssrc:0})];if(r){let r=n[0].scalabilityMode,i=new FA(r),a=[],o=i.suffix==`h`?1.5:2,s=i.suffix==`h`?2:3;for(let r=0;r<i.spatial;r+=1)a.push(new Cx({quality:Math.min(lE.HIGH,i.spatial-1)-r,width:Math.ceil(e/o**+r),height:Math.ceil(t/o**+r),bitrate:n[0].maxBitrate?Math.ceil(n[0].maxBitrate/s**+r):0,ssrc:0}));return a}return n.map(n=>{let r=n.scaleResolutionDownBy??1;return new Cx({quality:BA(n.rid??``),width:Math.ceil(e/r),height:Math.ceil(t/r),bitrate:n.maxBitrate??0,ssrc:0})})}var HA=2e3,UA=`leave-reconnect`,WA=1e4,GA=3e4,KA=3,qA=3,JA;(function(e){e[e.New=0]=`New`,e[e.Connected=1]=`Connected`,e[e.Disconnected=2]=`Disconnected`,e[e.Reconnecting=3]=`Reconnecting`,e[e.Closed=4]=`Closed`})(JA||={});var YA=64e3,XA=class extends WC.EventEmitter{get isClosed(){return this._isClosed}get isNewlyCreated(){return this._isNewlyCreated}get pendingReconnect(){return!!this.reconnectTimeout}get serverVersion(){return this.latestJoinResponse?.serverInfo?.version||this.latestJoinResponse?.serverVersion||void 0}get reliableChannel(){return this.dataChannels.reliable}get lossyChannel(){return this.dataChannels.lossy}get dataTrackChannel(){return this.dataChannels.dataTrack}constructor(e){super(),this.options=e,this.rtcConfig={},this.peerConnectionTimeout=qk.peerConnectionTimeout,this.fullReconnectOnNext=!1,this.latestRemoteOfferId=0,this.subscriberPrimary=!1,this.pcState=JA.New,this._isClosed=!0,this._isNewlyCreated=!0,this.pendingTrackResolvers={},this.reconnectAttempts=0,this.reconnectStart=0,this.attemptingReconnect=!1,this.joinAttempts=0,this.maxJoinAttempts=1,this.shouldFailNext=!1,this.shouldFailOnV1Path=!1,this.log=TC,this.reliableReceivedState=new uk(GA),this.midToTrackId={},this.isWaitingForNetworkReconnect=!1,this.handleDataChannel=e=>q(this,[e],void 0,function(e){var t=this;let n=e.channel;return function*(){n&&t.dataChannels.adoptSubscriberChannel(n)&&t.log.debug(`on data channel ${n.id}, ${n.label}`)}()}),this.handleDataMessage=e=>q(this,void 0,void 0,function*(){let t=yield this.dataProcessLock.lock();try{let t=yield this.decodeDataMessage(e);if(!t)return;let n=Tx.fromBinary(t);if(n.sequence>0&&n.participantSid!==``){let e=this.reliableReceivedState.get(n.participantSid);if(e&&n.sequence<=e)return;this.reliableReceivedState.set(n.participantSid,n.sequence)}if(n.value?.case===`speaker`)this.emit(Z.ActiveSpeakersUpdate,n.value.value.speakers);else if(n.value?.case===`encryptedPacket`){if(!this.e2eeManager){this.log.error(`Received encrypted packet but E2EE not set up`);return}let e;try{e=yield this.e2eeManager.handleEncryptedData(n.value.value.encryptedValue,n.value.value.iv,n.participantIdentity,n.value.value.keyIndex)}catch(e){this.log.debug(`failed to decrypt data packet`,{error:e,participantIdentity:n.participantIdentity});return}let t=new Tx({value:Ox.fromBinary(e.payload).value,participantIdentity:n.participantIdentity,participantSid:n.participantSid});t.value?.case===`user`&&ZA(t,t.value.value),this.emit(Z.DataPacketReceived,t,n.value.value.encryptionType)}else n.value?.case===`user`&&ZA(n,n.value.value),this.emit(Z.DataPacketReceived,n,dx.NONE)}finally{t()}}),this.handleDataTrackMessage=e=>q(this,void 0,void 0,function*(){let t=yield this.decodeDataMessage(e);t&&this.emit(`dataTrackPacketReceived`,t)}),this.handleDataError=e=>{if(this._isClosed)return;let t=e.currentTarget.maxRetransmits===0?`lossy`:`reliable`;if(typeof RTCErrorEvent<`u`&&e instanceof RTCErrorEvent&&e.error){let n=e.error;this.log.error(`DataChannel error on ${t}: ${n.message}`,{error:n,errorDetail:n.errorDetail,sctpCauseCode:n.sctpCauseCode})}else this.log.error(`Unknown DataChannel error on ${t}`,{event:e})},this.handleDataChannelClose=e=>()=>{!this._isClosed&&this.pcManager?.publisher.getConnectionState()===`connected`&&this.log.error(`publisher data channel '${eA[e]}' closed unexpectedly`,this.logContext)},this.handleDisconnect=(e,t)=>{if(this._isClosed)return;this.log.warn(`${e} disconnected`),this.reconnectAttempts===0&&(this.reconnectStart=Date.now());let n=e=>{this.log.warn(`could not recover connection after ${this.reconnectAttempts} attempts, ${e}ms. giving up`),this.emit(Z.Disconnected),this.close(`gave up reconnecting after ${this.reconnectAttempts} attempts, ${e}ms`)},r=Date.now()-this.reconnectStart,i=this.getNextRetryDelay({elapsedMs:r,retryCount:this.reconnectAttempts});if(i===null){n(r);return}e===UA&&(i=0),this.log.debug(`reconnecting in ${i}ms`),this.clearReconnectTimeout(),this.token&&this.emit(Z.TokenRefreshed,this.token),this.reconnectTimeout=ET.setTimeout(()=>this.attemptReconnect(t).finally(()=>this.reconnectTimeout=void 0),i)},this.waitForRestarted=()=>new Promise((e,t)=>{this.pcState===JA.Connected&&e();let n=()=>{this.off(Z.Disconnected,r),e()},r=()=>{this.off(Z.Restarted,n),t()};this.once(Z.Restarted,n),this.once(Z.Disconnected,r)}),this.onRtpMapAvailable=e=>{let t=new Map;e.forEach(e=>{let n=e.codec.toLowerCase();nD(n)&&t.set(e.payload,n)}),this.emit(Z.RTPVideoMapUpdate,t)},this.handleBrowserOnLine=()=>q(this,void 0,void 0,function*(){this.url&&(yield fetch(aD(this.url),{method:`HEAD`}).then(e=>e.ok).catch(()=>!1))&&(this.log.info(`detected network reconnected`),(this.client.currentState===tk.RECONNECTING||this.isWaitingForNetworkReconnect&&this.client.currentState===tk.CONNECTED)&&(this.clearReconnectTimeout(),this.attemptReconnect(ex.RR_SIGNAL_DISCONNECTED),this.isWaitingForNetworkReconnect=!1))}),this.handleBrowserOffline=()=>q(this,void 0,void 0,function*(){if(this.url)try{yield Promise.race([fetch(aD(this.url),{method:`HEAD`}),hE(4e3).then(()=>Promise.reject())])}catch{window.navigator.onLine===!1&&(this.log.info(`detected network interruption`),this.isWaitingForNetworkReconnect=!0)}}),this.log=EC(e.loggerName??wC.Engine,()=>this.logContext),this.loggerOptions={loggerName:e.loggerName,loggerContextCb:()=>this.logContext},this.client=new ak(void 0,this.loggerOptions),this.client.signalLatency=this.options.expSignalLatency,this.reconnectPolicy=this.options.reconnectPolicy,this.closingLock=new jv,this.dataProcessLock=new jv,this.dataChannels=new uA({isEngineClosed:()=>this.isClosed,isReconnecting:()=>this.attemptingReconnect,onDataMessage:e=>this.handleDataMessage(e),onDataTrackMessage:e=>this.handleDataTrackMessage(e),onDataError:e=>this.handleDataError(e),onChannelClose:e=>this.handleDataChannelClose(e)(),onBufferStatusChanged:(e,t)=>this.emit(Z.DCBufferStatusChanged,t,e)}),this.client.onParticipantUpdate=e=>this.emit(Z.ParticipantUpdate,e),this.client.onConnectionQuality=e=>{this.handleLocalConnectionQuality(e),this.emit(Z.ConnectionQualityUpdate,e)},this.client.onRoomUpdate=e=>this.emit(Z.RoomUpdate,e),this.client.onSubscriptionError=e=>this.emit(Z.SubscriptionError,e),this.client.onSubscriptionPermissionUpdate=e=>this.emit(Z.SubscriptionPermissionUpdate,e),this.client.onSpeakersChanged=e=>this.emit(Z.SpeakersChanged,e),this.client.onStreamStateUpdate=e=>this.emit(Z.StreamStateChanged,e),this.client.onRequestResponse=e=>this.emit(Z.SignalRequestResponse,e),this.client.onParticipantUpdate=e=>this.emit(Z.ParticipantUpdate,e),this.client.onJoined=e=>this.emit(Z.Joined,e)}get logContext(){return{room:this.latestJoinResponse?.room?.name,roomID:this.latestJoinResponse?.room?.sid,participant:this.latestJoinResponse?.participant?.identity,participantID:this.participantSid}}join(e,t,n,r){return q(this,arguments,void 0,function(e,t,n,r){var i=this;let a=arguments.length>4&&arguments[4]!==void 0&&arguments[4];return function*(){var o;i._isNewlyCreated=!1,i.url=e,i.token=t,i.signalOpts=n,i.maxJoinAttempts=n.maxRetries;try{i.joinAttempts+=1,i.setupSignalClientCallbacks();let s=!a&&TD(),c;if(s){i.pcManager||(yield i.configure(),i.applyInitialPublisherLayout());let e=yield i.pcManager?.publisher.createInitialOffer();e&&(c=sk(e.offer,e.offerId))}if(r?.aborted)throw J.cancelled(`Connection aborted`);if(!a&&i.shouldFailOnV1Path)throw i.shouldFailOnV1Path=!1,J.serviceNotFound(`Simulated v1 path failure`,`v0-rtc`);let l=yield i.client.join(e,t,n,r,a,c);i._isClosed=!1,i.latestJoinResponse=l,i.participantSid=l.participant?.sid,i.subscriberPrimary=l.subscriberPrimary,s?(o=i.pcManager)==null||o.updateConfiguration(i.makeRTCConfiguration(l)):(i.pcManager||(yield i.configure(l,!a),a||i.applyInitialPublisherLayout()),(!i.subscriberPrimary||l.fastPublish)&&i.negotiate().catch(e=>{i.log.error(e)})),i.registerOnLineListener(),i.clientConfiguration=l.clientConfiguration,i.emit(Z.SignalConnected,l);let u=l.serverInfo;return u||={version:l.serverVersion,region:l.serverRegion},i.log.info(`connected to Livekit Server ${Object.entries(u).map(e=>{let t=G(e,2);return`${t[0]}: ${t[1]}`}).join(`, `)}`),{joinResponse:l,serverInfo:u}}catch(o){if(o instanceof J){if(o.reason===pT.ServerUnreachable){if(i.log.warn(`Couldn't connect to server, attempt ${i.joinAttempts} of ${i.maxJoinAttempts}`),i.joinAttempts<i.maxJoinAttempts)return i.join(e,t,n,r,a)}else if(o.reason===pT.ServiceNotFound)return i.log.warn(`Initial connection failed: ${o.message} – Retrying`),i.pcManager&&(i.pcManager.onStateChange=void 0,yield i.cleanupPeerConnections()),i.join(e,t,n,r,!0)}throw o}}()})}close(e){return q(this,void 0,void 0,function*(){let t=yield this.closingLock.lock();if(this.isClosed){t();return}try{this._isClosed=!0,this.joinAttempts=0,this.emit(Z.Closing),this.removeAllListeners(),this.deregisterOnLineListener(),this.clearPendingReconnect(),this.clearLostQualityTimeout(),this.cleanupLossyDataStats(),yield this.cleanupPeerConnections(),yield this.cleanupClient(e)}finally{t()}})}cleanupPeerConnections(){return q(this,void 0,void 0,function*(){this.dataChannels.teardown(),yield this.pcManager?.close(),this.pcManager=void 0,this.transportConnectingSince=void 0,this.reliableReceivedState.clear()})}cleanupLossyDataStats(){this.lossyChannel.stopThresholdTuning()}cleanupClient(e){return q(this,void 0,void 0,function*(){yield this.client.close(!0,e),this.client.resetCallbacks();for(let e of Object.keys(this.pendingTrackResolvers))this.pendingTrackResolvers[e].reject();this.pendingTrackResolvers={}})}addTrack(e){if(this.pendingTrackResolvers[e.cid])throw new hT(`a track with the same ID has already been published`);return new Promise((t,n)=>{let r=ET.setTimeout(()=>{delete this.pendingTrackResolvers[e.cid],n(J.timeout(`publication of local track timed out, no response from server`))},1e4);this.pendingTrackResolvers[e.cid]={resolve:e=>{ET.clearTimeout(r),t(e)},reject:()=>{ET.clearTimeout(r),n(Error(`Cancelled publication by calling unpublish`))}},this.client.sendAddTrack(e)})}removeTrack(e){if(e.track&&this.pendingTrackResolvers[e.track.id]){let t=this.pendingTrackResolvers[e.track.id].reject;t&&t(),delete this.pendingTrackResolvers[e.track.id]}try{return this.pcManager.removeTrack(e),!0}catch(e){this.log.warn(`failed to remove track`,{error:e})}return!1}updateMuteStatus(e,t){this.client.sendMuteTrack(e,t)}get dataSubscriberReadyState(){return this.dataChannelForKind(eA.RELIABLE,!0)?.readyState}getConnectedServerAddress(){return q(this,void 0,void 0,function*(){return this.pcManager?.getConnectedAddress()})}setRegionStrategy(e){this.regionStrategy=e}configure(e,t){return q(this,void 0,void 0,function*(){if(!(this.pcManager&&this.pcManager.currentState!==Jk.NEW)){if(e){this.participantSid=e.participant?.sid;let n=this.makeRTCConfiguration(e);this.pcManager=new Yk(t?`publisher-only`:e.subscriberPrimary?`subscriber-primary`:`publisher-primary`,this.loggerOptions,n)}else{let e=this.makeRTCConfiguration();this.pcManager=new Yk(`publisher-only`,this.loggerOptions,e)}this.emit(Z.TransportsCreated,this.pcManager.publisher,this.pcManager.subscriber),this.pcManager.onIceCandidate=(e,t)=>{this.client.sendIceCandidate(e,t)},this.pcManager.onPublisherOffer=(e,t)=>{this.client.sendOffer(e,t)},this.pcManager.onDataChannel=this.handleDataChannel,this.pcManager.onStateChange=(e,t,n)=>q(this,void 0,void 0,function*(){if(this.log.debug(`primary PC state changed ${e}`),this.transportConnectingSince=e===Jk.CONNECTING?Date.now():void 0,[`closed`,`disconnected`,`failed`].includes(t)&&(this.publisherConnectionPromise=void 0),e===Jk.CONNECTED){let e=this.pcState===JA.New;this.pcState=JA.Connected,e&&this.emit(Z.Connected,this.latestJoinResponse)}else e===Jk.FAILED&&(this.pcState===JA.Connected||this.pcState===JA.Reconnecting)&&(this.pcState=JA.Disconnected,this.handleDisconnect(`peerconnection failed`,n===`failed`?ex.RR_SUBSCRIBER_FAILED:ex.RR_PUBLISHER_FAILED));let r=this.client.isDisconnected||this.client.currentState===tk.RECONNECTING,i=[Jk.FAILED,Jk.CLOSING,Jk.CLOSED].includes(e);r&&i&&!this._isClosed&&this.emit(Z.Offline)}),this.pcManager.onTrack=e=>{e.streams.length!==0&&this.emit(Z.MediaTrackAdded,e.track,e.streams[0],e.receiver)}}})}setupSignalClientCallbacks(){this.client.onAnswer=(e,t,n)=>q(this,void 0,void 0,function*(){this.pcManager&&(this.log.debug(`received server answer`,{RTCSdpType:e.type,sdp:e.sdp,midToTrackId:n}),this.pcManager.mode===`publisher-only`&&(this.midToTrackId=n),yield this.pcManager.setPublisherAnswer(e,t))}),this.client.onTrickle=(e,t)=>{this.pcManager&&(this.log.debug(`got ICE candidate from peer`,{candidate:e,target:t}),this.pcManager.addIceCandidate(e,t))},this.client.onOffer=(e,t,n)=>q(this,void 0,void 0,function*(){if(this.latestRemoteOfferId=t,!this.pcManager)return;this.midToTrackId=n;let r=yield this.pcManager.createSubscriberAnswerFromOffer(e,t);r&&this.client.sendAnswer(r,t)}),this.client.onLocalTrackPublished=e=>{if(this.log.debug(`received trackPublishedResponse`,{cid:e.cid,track:e.track?.sid}),!this.pendingTrackResolvers[e.cid]){this.log.error(`missing track resolver for ${e.cid}`,{cid:e.cid});return}let t=this.pendingTrackResolvers[e.cid].resolve;delete this.pendingTrackResolvers[e.cid],t(e.track)},this.client.onLocalTrackUnpublished=e=>{this.emit(Z.LocalTrackUnpublished,e)},this.client.onLocalTrackSubscribed=e=>{this.emit(Z.LocalTrackSubscribed,e)},this.client.onTokenRefresh=e=>{this.token=e,this.emit(Z.TokenRefreshed,e)},this.client.onRemoteMuteChanged=(e,t)=>{this.emit(Z.RemoteMute,e,t)},this.client.onSubscribedQualityUpdate=e=>{this.emit(Z.SubscribedQualityUpdate,e)},this.client.onRoomMoved=e=>{this.participantSid=e.participant?.sid,this.latestJoinResponse&&(this.latestJoinResponse.room=e.room),this.emit(Z.RoomMoved,e)},this.client.onMediaSectionsRequirement=e=>{this.addMediaSections(e.numAudios,e.numVideos),this.negotiate()},this.client.onPublishDataTrackResponse=e=>{this.emit(Z.PublishDataTrackResponse,e)},this.client.onUnPublishDataTrackResponse=e=>{this.emit(Z.UnPublishDataTrackResponse,e)},this.client.onDataTrackSubscriberHandles=e=>{this.emit(Z.DataTrackSubscriberHandles,e)},this.client.onClose=()=>{this.handleDisconnect(`signal`,ex.RR_SIGNAL_DISCONNECTED)},this.client.onLeave=e=>{switch(this.log.info(`client leave request received (action=${e?.action})`,{reason:e?.reason}),e.regions&&(this.log.debug(`updating regions`),this.emit(Z.ServerRegionsReported,e.regions)),e.action){case IS.DISCONNECT:this.emit(Z.Disconnected,e?.reason),this.close(`server leave: ${$b[e.reason]??e.reason}`);break;case IS.RECONNECT:this.fullReconnectOnNext=!0,this.handleDisconnect(UA);break;case IS.RESUME:this.handleDisconnect(UA)}}}makeRTCConfiguration(e){let t=Object.assign({},this.rtcConfig);if((this.signalOpts?.e2eeEnabled||this.frameMetadataWorker&&!qD())&&UD()&&(this.log.debug(`E2EE - setting up transports with insertable streams`),t.encodedInsertableStreams=!0),t.sdpSemantics=`unified-plan`,t.continualGatheringPolicy=`gather_continually`,!e)return t;if(e.iceServers&&!t.iceServers){let n=[];e.iceServers.forEach(e=>{let t={urls:e.urls};e.username&&(t.username=e.username),e.credential&&(t.credential=e.credential),n.push(t)}),t.iceServers=n}return e.clientConfiguration&&e.clientConfiguration.forceRelay===Qb.ENABLED&&(t.iceTransportPolicy=`relay`),t}applyInitialPublisherLayout(){this.createDataChannels(),RE()||this.addMediaSections(KA,qA)}addMediaSections(e,t){var n;let r={direction:`recvonly`};for(let t=0;t<e;t++)(n=this.pcManager)==null||n.addPublisherTransceiverOfKind(`audio`,r);let i=this.pcManager?.mode===`publisher-only`;for(let e=0;e<t;e++){let e=this.pcManager?.addPublisherTransceiverOfKind(`video`,r);if(i&&e){let t=xE(e);this.log.debug(`dependency descriptor negotiated for received video`,{negotiated:t})}}}createDataChannels(){this.pcManager&&this.dataChannels.createPublisherChannels(this.pcManager)}decodeDataMessage(e){return q(this,void 0,void 0,function*(){if(e.data instanceof ArrayBuffer)return new Uint8Array(e.data);if(e.data instanceof Blob)return new Uint8Array(yield e.data.arrayBuffer());this.log.error(`unsupported data type`,{data:e.data})})}createSender(e,t,n){return q(this,void 0,void 0,function*(){let r;if(gE())r=yield this.createTransceiverRTCRtpSender(e,t,n);else if(_E())this.log.warn(`using add-track fallback`),r=yield this.createRTCRtpSender(e.mediaStreamTrack);else throw new _T(`Required webRTC APIs not supported on this device`);return this.setupFrameMetadataSender(r,t),r})}createSimulcastSender(e,t,n,r){return q(this,void 0,void 0,function*(){let i;if(gE())i=yield this.createSimulcastTransceiverSender(e,t,n,r);else if(_E())this.log.debug(`using add-track fallback`),i=yield this.createRTCRtpSender(e.mediaStreamTrack);else throw new _T(`Cannot stream on this device`);return i&&this.setupFrameMetadataSender(i,n),i})}get frameMetadataWorker(){return(this.options.frameMetadata??this.options.packetTrailer)?.worker}setupFrameMetadataSender(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=this.frameMetadataWorker;if(!n||this.signalOpts?.e2eeEnabled)return;let r=t.frameMetadata??t.packetTrailer,i=YD(r);if(qD()){i&&(e.transform=new RTCRtpScriptTransform(n,{kind:`encode`,packetTrailer:r}));return}if(!JD(this.options.frameMetadata??this.options.packetTrailer)||!(`createEncodedStreams`in e)){i&&this.log.warn(`frame metadata transform not supported; skipping write`,this.logContext);return}let a=e.createEncodedStreams(),o=a.readable,s=a.writable;i?n.postMessage({kind:`encode`,data:{readableStream:o,writableStream:s,packetTrailer:r}},[o,s]):o.pipeTo(s)}createTransceiverRTCRtpSender(e,t,n){return q(this,void 0,void 0,function*(){if(!this.pcManager)throw new _T(`publisher is closed`);let r=[];e.mediaStream&&r.push(e.mediaStream),pD(e)&&(e.codec=t.videoCodec);let i={direction:`sendonly`,streams:r};return n&&(i.sendEncodings=n),(yield this.pcManager.addPublisherTransceiver(e.mediaStreamTrack,i)).sender})}createSimulcastTransceiverSender(e,t,n,r){return q(this,void 0,void 0,function*(){if(!this.pcManager)throw new _T(`publisher is closed`);let i={direction:`sendonly`};r&&(i.sendEncodings=r);let a=yield this.pcManager.addPublisherTransceiver(t.mediaStreamTrack,i);if(n.videoCodec)return yield e.setSimulcastTrackSender(n.videoCodec,a.sender),a.sender})}createRTCRtpSender(e){return q(this,void 0,void 0,function*(){if(!this.pcManager)throw new _T(`publisher is closed`);return this.pcManager.addPublisherTrack(e)})}handleLocalConnectionQuality(e){if(!this.participantSid)return;let t=e.updates.find(e=>e.participantSid===this.participantSid);t&&(t.quality===Zb.LOST?this.scheduleLostQualityReconnect():this.clearLostQualityTimeout())}scheduleLostQualityReconnect(){this.lostQualityTimeout||=ET.setTimeout(()=>{this.lostQualityTimeout=void 0,!(this._isClosed||this.pcState!==JA.Connected||this.attemptingReconnect)&&this.hasActivePublisherSenders()&&(this.log.warn(`local connection quality lost while publishing, triggering full reconnect`,this.logContext),this.fullReconnectOnNext=!0,this.handleDisconnect(`connection quality lost`,ex.RR_PUBLISHER_FAILED))},WA)}clearLostQualityTimeout(){this.lostQualityTimeout&&=(ET.clearTimeout(this.lostQualityTimeout),void 0)}hasActivePublisherSenders(){return this.pcManager?.publisher.getSenders().some(e=>!!e.track&&e.track.readyState===`live`)??!1}reconnect(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ex.RR_UNKNOWN;this.fullReconnectOnNext=!0,this.handleDisconnect(`reconcile`,e)}attemptReconnect(e){return q(this,void 0,void 0,function*(){if(this._isClosed)return;if(this.attemptingReconnect){this.log.warn(`already attempting reconnect, returning early`);return}this.clearLostQualityTimeout(),(this.clientConfiguration?.resumeConnection===Qb.DISABLED||(this.pcManager?.currentState??Jk.NEW)===Jk.NEW)&&(this.fullReconnectOnNext=!0);let t=this.fullReconnectOnNext;this.fullReconnectOnNext=!1;let n=!1;try{this.attemptingReconnect=!0,t?yield this.restartConnection():yield this.resumeConnection(e),this.clearPendingReconnect(),n=!0}catch(e){this.reconnectAttempts+=1;let n=!0;e instanceof _T?(this.log.debug(`received unrecoverable error`,{error:e}),n=!1):(t||!(e instanceof wT))&&(this.fullReconnectOnNext=!0),n?this.handleDisconnect(`reconnect`,ex.RR_UNKNOWN):(this.log.info(`could not recover connection after ${this.reconnectAttempts} attempts, ${Date.now()-this.reconnectStart}ms. giving up`),this.emit(Z.Disconnected),yield this.close(`gave up reconnecting after ${this.reconnectAttempts} attempts, ${Date.now()-this.reconnectStart}ms`))}finally{this.attemptingReconnect=!1,n&&this.fullReconnectOnNext&&!this._isClosed&&(this.log.debug(`full reconnect requested during in-progress attempt, dispatching`),this.handleDisconnect(`reconnect`))}})}getNextRetryDelay(e){try{return this.reconnectPolicy.nextRetryDelayInMs(e)}catch(e){this.log.warn(`encountered error in reconnect policy`,{error:e})}return null}restartConnection(e){return q(this,void 0,void 0,function*(){var t,n;try{if(!this.url||!this.token)throw new _T(`could not reconnect, url or token not saved`);this.log.info(`reconnecting, attempt: ${this.reconnectAttempts}`),this.emit(Z.Restarting),this.client.isDisconnected||(yield this.client.sendLeave()),yield this.cleanupPeerConnections(),yield this.cleanupClient();let n;try{if(!this.signalOpts)throw this.log.warn(`attempted connection restart, without signal options present`),new wT;n=(yield this.join(e??this.url,this.token,this.signalOpts,void 0,!this.options.singlePeerConnection)).joinResponse}catch(e){throw e instanceof J&&e.reason===pT.NotAllowed?new _T(`could not reconnect, token might be expired`):new wT}if(this.shouldFailNext)throw this.shouldFailNext=!1,Error(`simulated failure`);if(this.client.setReconnected(),this.emit(Z.SignalRestarted,n),yield this.waitForPCReconnected(),this.client.currentState!==tk.CONNECTED)throw new wT(`Signal connection got severed during reconnect`);(t=this.regionStrategy)==null||t.resetAttempts(),this.emit(Z.Restarted)}catch(e){let t=yield this.regionStrategy?.getNextUrl();if(t){yield this.restartConnection(t);return}throw(n=this.regionStrategy)==null||n.resetAttempts(),e}})}resumeConnection(e){return q(this,void 0,void 0,function*(){if(!this.url||!this.token)throw new _T(`could not reconnect, url or token not saved`);if(!this.pcManager)throw new _T(`publisher and subscriber connections unset`);this.log.info(`resuming signal connection, attempt ${this.reconnectAttempts}`),this.emit(Z.Resuming);let t;try{this.setupSignalClientCallbacks(),t=yield this.client.reconnect(this.url,this.token,this.participantSid,e)}catch(e){let t=``;throw e instanceof Error&&(t=e.message,this.log.error(e.message,{error:e})),e instanceof J&&e.reason===pT.NotAllowed?new _T(`could not reconnect, token might be expired`):e instanceof J&&e.reason===pT.LeaveRequest?e:new wT(t)}if(this.emit(Z.SignalResumed),t){let e=this.makeRTCConfiguration(t);this.pcManager.updateConfiguration(e),this.latestJoinResponse&&(this.latestJoinResponse.serverInfo=t.serverInfo)}else this.log.warn(`Did not receive reconnect response`);if(this.shouldFailNext)throw this.shouldFailNext=!1,Error(`simulated failure`);if(yield this.pcManager.triggerIceRestart(),yield this.waitForPCReconnected(),this.client.currentState!==tk.CONNECTED)throw new wT(`Signal connection got severed during reconnect`);this.client.setReconnected();let n=this.dataChannelForKind(eA.RELIABLE);n?.readyState===`open`&&n.id===null&&this.createDataChannels(),t?.lastMessageSeq&&this.resendReliableMessagesForResume(t.lastMessageSeq).catch(e=>{this.log.warn(`failed to resend reliable messages after resume`,Object.assign(Object.assign({},this.logContext),{error:e}))}),this.emit(Z.Resumed)})}waitForPCInitialConnection(e,t){return q(this,void 0,void 0,function*(){if(!this.pcManager)throw new _T(`PC manager is closed`);yield this.pcManager.ensurePCTransportConnection(t,e)})}waitForPCReconnected(){return q(this,void 0,void 0,function*(){this.pcState=JA.Reconnecting,this.log.debug(`waiting for peer connection to reconnect`);try{if(yield hE(HA),!this.pcManager)throw new _T(`PC manager is closed`);yield this.pcManager.ensurePCTransportConnection(void 0,this.peerConnectionTimeout),this.pcState=JA.Connected}catch(e){throw this.pcState=JA.Disconnected,J.internal(`could not establish PC connection, ${e.message}`)}})}publishRpcAck(e,t){return q(this,void 0,void 0,function*(){let n=new Tx({destinationIdentities:[e],kind:Ex.RELIABLE,value:{case:`rpcAck`,value:new Lx({requestId:t})}});yield this.sendDataPacket(n,eA.RELIABLE)})}sendDataPacket(e,t){return q(this,void 0,void 0,function*(){if(yield this.ensurePublisherConnected(t),this.e2eeManager&&this.e2eeManager.isDataChannelEncryptionEnabled){let t=WD(e);if(t){let n=yield this.e2eeManager.encryptData(t.toBinary());e.value={case:`encryptedPacket`,value:new Dx({encryptedValue:n.payload,iv:n.iv,keyIndex:n.keyIndex})}}}t===eA.RELIABLE&&(e.sequence=this.reliableChannel.nextSequence());let n=e.toBinary(),r=Math.min(this.pcManager?.getMaxPublisherMessageSize()??YA,YA);if(r!==void 0&&r!==0&&n.byteLength>r)throw new yT(`cannot publish data packet larger than ${r} bytes (got ${n.byteLength})`);t===eA.RELIABLE?yield this.reliableChannel.send(n,e.sequence):yield this.lossyChannel.send(n)})}sendDataTrackFrame(e){return q(this,void 0,void 0,function*(){yield this.ensurePublisherConnected(eA.DATA_TRACK_LOSSY),yield this.dataTrackChannel.send(e)})}resendReliableMessagesForResume(e){return q(this,void 0,void 0,function*(){yield this.ensurePublisherConnected(eA.RELIABLE),yield this.reliableChannel.replay(e)})}flowControlFor(e){return this.dataChannels.channelFor(e)}waitForBufferHeadroom(e){return q(this,void 0,void 0,function*(){return this.flowControlFor(e).waitForHeadroomWithLock()})}ensureDataTransportConnected(e){return q(this,arguments,void 0,function(e){var t=this;let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.subscriberPrimary;return function*(){if(!t.pcManager)throw new _T(`PC manager is closed`);let r=n?t.pcManager.subscriber:t.pcManager.publisher,i=n?`Subscriber`:`Publisher`;if(!r)throw J.internal(`${i} connection not set`);let a=!1;if(!n&&!t.dataChannelForKind(e,n)&&(t.createDataChannels(),a=!0),!a&&!n&&!t.pcManager.publisher.isICEConnected&&t.pcManager.publisher.getICEConnectionState()!==`checking`&&(a=!0),a&&t.negotiate().catch(e=>{t.log.error(e)}),t.dataChannelForKind(e,n)?.readyState===`open`)return;let o=new Date().getTime()+t.peerConnectionTimeout;for(;new Date().getTime()<o;){if(r.isICEConnected&&t.dataChannelForKind(e,n)?.readyState===`open`)return;yield hE(50)}throw J.internal(`could not establish ${i} connection, state: ${r.getICEConnectionState()}`)}()})}ensurePublisherConnected(e){return q(this,void 0,void 0,function*(){this.publisherConnectionPromise||=this.ensureDataTransportConnected(e,!1),yield this.publisherConnectionPromise})}verifyTransport(){if(!this.pcManager)return!1;let e=this.pcManager.currentState;return![Jk.CONNECTING,Jk.CONNECTED].includes(e)||!this.client.ws||this.client.ws.readyState===WebSocket.CLOSED?!1:e===Jk.CONNECTING&&this.transportConnectingSince!==void 0&&Date.now()-this.transportConnectingSince>this.peerConnectionTimeout?(this.log.warn(`transport stuck in connecting state`,this.logContext),!1):!0}negotiate(){return q(this,void 0,void 0,function*(){return new rT((e,t)=>q(this,void 0,void 0,function*(){if(!this.pcManager){t(new vT(`PC manager is closed`));return}this.pcManager.requirePublisher(),this.pcManager.publisher.getTransceivers().length==0&&!this.dataChannels.hasPublisherChannels&&this.createDataChannels();let n=new AbortController,r=()=>{n.abort(),this.log.debug(`engine disconnected while negotiation was ongoing`),e()};this.isClosed&&t(new vT(`cannot negotiate on closed engine`)),this.on(Z.Closing,r),this.on(Z.Restarting,r),this.pcManager.publisher.off(Ok.RTPVideoPayloadTypes,this.onRtpMapAvailable),this.pcManager.publisher.once(Ok.RTPVideoPayloadTypes,this.onRtpMapAvailable);try{yield this.pcManager.negotiate(n),e()}catch(r){if(n.signal.aborted){e();return}r instanceof vT&&(this.fullReconnectOnNext=!0),this.handleDisconnect(`negotiation`,ex.RR_UNKNOWN),r instanceof Error?t(r):t(Error(String(r)))}finally{this.off(Z.Closing,r),this.off(Z.Restarting,r)}}))})}dataChannelForKind(e,t){return this.dataChannels.getHandle(e,t)}sendSyncState(e,t,n){if(!this.pcManager){this.log.warn(`sync state cannot be sent without peer connection setup`);return}let r=this.pcManager.publisher.getLocalDescription(),i=this.pcManager.publisher.getRemoteDescription(),a=this.pcManager.subscriber?.getRemoteDescription(),o=this.pcManager.subscriber?.getLocalDescription(),s=this.signalOpts?.autoSubscribe??!0,c=[],l=[];e.forEach(e=>{e.isDesired!==s&&c.push(e.trackSid),e.isEnabled||l.push(e.trackSid)}),this.client.sendSyncState(new eC({answer:this.pcManager.mode===`publisher-only`?i?sk({sdp:i.sdp,type:i.type}):void 0:o?sk({sdp:o.sdp,type:o.type}):void 0,offer:this.pcManager.mode===`publisher-only`?r?sk({sdp:r.sdp,type:r.type}):void 0:a?sk({sdp:a.sdp,type:a.type}):void 0,subscription:new TS({trackSids:c,subscribe:!s,participantTracks:[]}),publishTracks:$T(t),dataChannels:this.dataChannelsInfo(),trackSidsDisabled:l,datachannelReceiveStates:this.reliableReceivedState.map((e,t)=>new tC({publisherSid:t,lastSeq:e})),publishDataTracks:n.map(e=>new fS({info:EO.toProtobuf(e)}))}))}failNext(){this.shouldFailNext=!0}failNextV1Path(){this.shouldFailOnV1Path=!0}dataChannelsInfo(){let e=[],t=(t,n)=>{t?.id!==void 0&&t.id!==null&&e.push(new nC({label:t.label,id:t.id,target:n}))};return t(this.dataChannelForKind(eA.LOSSY),iS.PUBLISHER),t(this.dataChannelForKind(eA.RELIABLE),iS.PUBLISHER),t(this.dataChannelForKind(eA.LOSSY,!0),iS.SUBSCRIBER),t(this.dataChannelForKind(eA.RELIABLE,!0),iS.SUBSCRIBER),e}clearReconnectTimeout(){this.reconnectTimeout&&ET.clearTimeout(this.reconnectTimeout)}clearPendingReconnect(){this.clearReconnectTimeout(),this.reconnectAttempts=0}registerOnLineListener(){LE()&&(window.addEventListener(`online`,this.handleBrowserOnLine),window.addEventListener(`offline`,this.handleBrowserOffline))}deregisterOnLineListener(){LE()&&(window.removeEventListener(`online`,this.handleBrowserOnLine),window.removeEventListener(`offline`,this.handleBrowserOffline))}getTrackIdForReceiver(e){let t=this.pcManager?.getMidForReceiver(e);if(t){let e=Object.entries(this.midToTrackId).find(e=>G(e,1)[0]===t);if(e)return e[1]}}};function ZA(e,t){let n=e.participantIdentity?e.participantIdentity:t.participantIdentity;e.participantIdentity=n,t.participantIdentity=n;let r=e.destinationIdentities.length===0?t.destinationIdentities:e.destinationIdentities;e.destinationIdentities=r,t.destinationIdentities=r}var QA=EC(wC.Region),$A=5e3,ej=3e4,tj=class e{static fetchRegionSettings(t,n,r){return q(this,void 0,void 0,function*(){let i=yield e.fetchLock.lock();try{let e=yield fetch(`${nj(t)}/regions`,{headers:{authorization:`Bearer ${n}`},signal:r});if(e.ok){let t=CD(e.headers),n=t?t*1e3:$A;return{regionSettings:yield e.json(),updatedAtInMs:Date.now(),maxAgeInMs:n}}throw e.status===401?J.notAllowed(`Could not fetch region settings: ${e.statusText}`,e.status):J.internal(`Could not fetch region settings: ${e.statusText}`)}catch(e){throw e instanceof J?e:r?.aborted?J.cancelled(`Region fetching was aborted`):J.serverUnreachable(`Could not fetch region settings, ${e instanceof Error?`${e.name}: ${e.message}`:e}`)}finally{i()}})}static scheduleRefetch(t,n,r){return q(this,void 0,void 0,function*(){let i=e.settingsTimeouts.get(t.hostname);clearTimeout(i),e.settingsTimeouts.set(t.hostname,setTimeout(()=>q(this,void 0,void 0,function*(){try{let r=yield e.fetchRegionSettings(t,n);e.updateCachedRegionSettings(t,n,r)}catch(i){if(i instanceof J&&i.reason===pT.NotAllowed){QA.debug(`token is not valid, cancelling auto region refresh`);return}QA.debug(`auto refetching of region settings failed`,{error:i}),e.scheduleRefetch(t,n,r)}}),r))})}static updateCachedRegionSettings(t,n,r){e.cache.set(t.hostname,r),e.scheduleRefetch(t,n,r.maxAgeInMs)}static stopRefetch(t){let n=e.settingsTimeouts.get(t);n&&(clearTimeout(n),e.settingsTimeouts.delete(t))}static scheduleCleanup(t){let n=e.connectionTrackers.get(t);n&&(n.cleanupTimeout&&clearTimeout(n.cleanupTimeout),n.cleanupTimeout=setTimeout(()=>{let n=e.connectionTrackers.get(t);n&&n.connectionCount===0&&(QA.debug(`stopping region refetch after disconnect delay`,{hostname:t}),e.stopRefetch(t)),n&&(n.cleanupTimeout=void 0)},ej))}static cancelCleanup(t){let n=e.connectionTrackers.get(t);n?.cleanupTimeout&&(clearTimeout(n.cleanupTimeout),n.cleanupTimeout=void 0)}notifyConnected(){let t=this.serverUrl.hostname,n=e.connectionTrackers.get(t);n||(n={connectionCount:0},e.connectionTrackers.set(t,n)),n.connectionCount++,e.cancelCleanup(t)}notifyDisconnected(){let t=this.serverUrl.hostname,n=e.connectionTrackers.get(t);n&&(n.connectionCount=Math.max(0,n.connectionCount-1),n.connectionCount===0&&e.scheduleCleanup(t))}constructor(e,t){this.attemptedRegions=[],this.serverUrl=new URL(e),this.token=t}updateToken(t){this.token=t;let n=this.getServerUrl(),r=e.cache.get(n.hostname);e.scheduleRefetch(this.serverUrl,this.token,r?.maxAgeInMs??$A)}isCloud(){return zE(this.serverUrl)}getServerUrl(){return this.serverUrl}fetchRegionSettings(t){return q(this,void 0,void 0,function*(){return e.fetchRegionSettings(this.serverUrl,this.token,t)})}getNextBestRegionUrl(t){return q(this,void 0,void 0,function*(){if(!this.isCloud())throw Error(`region availability is only supported for LiveKit Cloud domains`);let n=e.cache.get(this.serverUrl.hostname);(!n||Date.now()-n.updatedAtInMs>n.maxAgeInMs)&&(n=yield this.fetchRegionSettings(t),e.updateCachedRegionSettings(this.serverUrl,this.token,n));let r=n.regionSettings.regions.filter(e=>!this.attemptedRegions.find(t=>t.url===e.url));if(r.length>0){let e=r[0];return this.attemptedRegions.push(e),QA.info(`switching to region: ${e.region}`,{region:e.region}),e.url}return null})}resetAttempts(){this.attemptedRegions=[]}setServerReportedRegions(t){e.updateCachedRegionSettings(this.serverUrl,this.token,t)}};tj.cache=new Map,tj.settingsTimeouts=new Map,tj.connectionTrackers=new Map,tj.fetchLock=new jv;function nj(e){return`${e.protocol.replace(`ws`,`http`)}//${e.host}/settings`}function rj(){return new CompressionStream(`deflate-raw`)}function ij(){return new DecompressionStream(`deflate-raw`)}function aj(e,t){return q(this,void 0,void 0,function*(){let n=new DecompressionStream(`deflate-raw`),r=n.writable.getWriter();return r.write(e).catch(()=>{}),r.close().catch(()=>{}),oj(n.readable,t)})}function oj(e,t){return q(this,void 0,void 0,function*(){let n=e.getReader(),r=[],i=0;for(;;){let e=yield n.read(),a=e.done,o=e.value;if(a)break;if(r.push(o),i+=o.byteLength,typeof t==`number`&&i>t)throw yield n.cancel(),new CT(`Decompressed payload exceeds the maximum payload size of ${t} bytes`,ST.PayloadTooLarge)}let a=new Uint8Array(i),o=0;for(let e of r)a.set(e,o),o+=e.byteLength;return a})}var sj=15e3,cj=5e9,lj=class{get info(){return this._info}validateBytesReceived(){let e=arguments.length>0&&arguments[0]!==void 0&&arguments[0];if(typeof this.totalByteSize==`number`&&this.totalByteSize!==0){if(e&&this.bytesReceived<this.totalByteSize)throw new CT(`Not enough chunk(s) received - expected ${this.totalByteSize} bytes of data total, only received ${this.bytesReceived} bytes`,ST.Incomplete);if(this.bytesReceived>this.totalByteSize)throw new CT(`Extra chunk(s) received - expected ${this.totalByteSize} bytes of data total, received ${this.bytesReceived} bytes`,ST.LengthExceeded)}}constructor(e,t,n){this.reader=t,this.totalByteSize=n,this._info=e,this.bytesReceived=0}handleChunkReceived(e){var t;this.bytesReceived+=e.content.byteLength,this.validateBytesReceived();let n=this.totalByteSize?this.bytesReceived/this.totalByteSize:void 0;(t=this.onProgress)==null||t.call(this,n)}},uj=class extends lj{[Symbol.asyncIterator](){let e=this.reader.getReader();e.closed.catch(()=>{});let t=()=>{e.releaseLock(),this.signal=void 0};return{next:()=>q(this,void 0,void 0,function*(){var n;try{let t=this.signal;if(t?.aborted)throw t.reason;let r=yield new Promise((n,r)=>{if(t){let i=()=>r(t.reason);t.addEventListener(`abort`,i,{once:!0}),e.read().then(n,r).finally(()=>{t.removeEventListener(`abort`,i)})}else e.read().then(n,r)});return r.done?(this.validateBytesReceived(!0),typeof this.totalByteSize==`number`&&((n=this.onProgress)==null||n.call(this,1)),{done:!0,value:void 0}):(this.handleChunkReceived(r.value),{done:!1,value:r.value.content})}catch(e){throw t(),e}}),return(){return q(this,void 0,void 0,function*(){return t(),{done:!0,value:void 0}})}}}withAbortSignal(e){return this.signal=e,this}readAll(){return q(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return function*(){var n,r,i,a;let o=new Set,s=t.signal?e.withAbortSignal(t.signal):e;try{for(var c=!0,l=BC(s),u;u=yield l.next(),n=u.done,!n;c=!0){a=u.value,c=!1;let e=a;o.add(e)}}catch(e){r={error:e}}finally{try{!c&&!n&&(i=l.return)&&(yield i.call(l))}finally{if(r)throw r.error}}return Array.from(o)}()})}},dj=class extends lj{[Symbol.asyncIterator](){let e=this.reader.getReader();e.closed.catch(()=>{});let t=new TextDecoder(`utf-8`),n=this.signal,r=()=>{e.releaseLock(),this.signal=void 0};return{next:()=>q(this,void 0,void 0,function*(){var i;try{if(n?.aborted)throw n.reason;let r=yield new Promise((t,r)=>{if(n){let i=()=>r(n.reason);n.addEventListener(`abort`,i,{once:!0}),e.read().then(t,r).finally(()=>{n.removeEventListener(`abort`,i)})}else e.read().then(t,r)});if(r.done)return this.validateBytesReceived(!0),typeof this.totalByteSize==`number`&&((i=this.onProgress)==null||i.call(this,1)),{done:!0,value:void 0};{this.handleChunkReceived(r.value);let e;try{e=t.decode(r.value.content)}catch(e){throw new CT(`Cannot decode datastream chunk ${r.value.chunkIndex} as text: ${e}`,ST.DecodeFailed)}return{done:!1,value:e}}}catch(e){throw r(),e}}),return(){return q(this,void 0,void 0,function*(){return r(),{done:!0,value:void 0}})}}}withAbortSignal(e){return this.signal=e,this}readAll(){return q(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return function*(){var n,r,i,a;let o=``,s=t.signal?e.withAbortSignal(t.signal):e;try{for(var c=!0,l=BC(s),u;u=yield l.next(),n=u.done,!n;c=!0)a=u.value,c=!1,o+=a}catch(e){r={error:e}}finally{try{!c&&!n&&(i=l.return)&&(yield i.call(l))}finally{if(r)throw r.error}}return o}()})}},fj=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:cj;this.log=TC,this.byteStreamControllers=new Map,this.textStreamControllers=new Map,this.byteStreamHandlers=new Map,this.textStreamHandlers=new Map,this.isConnected=!1,this.bufferedPackets=[],this.maxPayloadByteLength=e}setConnected(e){this.isConnected=e,e&&this.flushBufferedPackets()}flushBufferedPackets(){let e=this.bufferedPackets;this.bufferedPackets=[];for(let t of e){let e=t.packet,n=t.encryptionType;this.handleDataStreamPacket(e,n)}}registerTextStreamHandler(e,t){if(this.textStreamHandlers.has(e))throw new CT(`A text stream handler for topic "${e}" has already been set.`,ST.HandlerAlreadyRegistered);this.textStreamHandlers.set(e,t)}unregisterTextStreamHandler(e){this.textStreamHandlers.delete(e)}registerByteStreamHandler(e,t){if(this.byteStreamHandlers.has(e))throw new CT(`A byte stream handler for topic "${e}" has already been set.`,ST.HandlerAlreadyRegistered);this.byteStreamHandlers.set(e,t)}unregisterByteStreamHandler(e){this.byteStreamHandlers.delete(e)}clearControllers(){this.byteStreamControllers.clear(),this.textStreamControllers.clear(),this.bufferedPackets=[]}validateParticipantHasNoActiveDataStreams(e){let t=Array.from(this.textStreamControllers.entries()).filter(t=>t[1].sendingParticipantIdentity===e),n=Array.from(this.byteStreamControllers.entries()).filter(t=>t[1].sendingParticipantIdentity===e);if(t.length>0||n.length>0){let a=new CT(`Participant ${e} unexpectedly disconnected in the middle of sending data`,ST.AbnormalEnd);for(let e of n){var r=G(e,2);let t=r[0];r[1].controller.error(a),this.byteStreamControllers.delete(t)}for(let e of t){var i=G(e,2);let t=i[0];i[1].controller.error(a),this.textStreamControllers.delete(t)}}}handleDataStreamPacket(e,t){if(!this.isConnected){this.bufferedPackets.push({packet:e,encryptionType:t});return}switch(e.value.case){case`streamHeader`:return this.handleStreamHeader(e.value.value,e.participantIdentity,t);case`streamChunk`:return this.handleStreamChunk(e.value.value,t);case`streamTrailer`:return this.handleStreamTrailer(e.value.value,t);default:throw Error(`DataPacket of value "${e.value.case}" is not data stream related!`)}}handleStreamHeader(e,t,n){switch(e.contentHeader.case){case`byteHeader`:{let r=this.byteStreamHandlers.get(e.topic);if(!r){this.log.debug(`ignoring incoming byte stream due to no handler for topic`,e.topic);return}let i,a={id:e.streamId,name:e.contentHeader.value.name??`unknown`,mimeType:e.mimeType,size:e.totalLength?Number(e.totalLength):void 0,topic:e.topic,timestamp:lD(e.timestamp),attributes:e.attributes,encryptionType:n},o;switch(e.compression){case Zx.DEFLATE_RAW:if(!wD()){TC.warn(`Data stream ${e.streamId} received with deflate-raw compression, but this browser does not have support for DecompressionStream. Dropping...`);return}o=!0;break;case Zx.NONE:o=!1;break;default:TC.warn(`Data stream ${e.streamId} received with unknown compression type ${e.compression}, dropping...`);return}let s=e.inlineContent;if(s!==void 0){r(new uj(a,pj(e.streamId,o?aj(s,this.maxPayloadByteLength):s),lD(e.totalLength)),{identity:t});return}let c=new ReadableStream({start:n=>{if(i=n,this.byteStreamControllers.has(e.streamId))throw new CT(`A data stream read is already in progress for a stream with id ${e.streamId}.`,ST.AlreadyOpened);this.byteStreamControllers.set(e.streamId,{info:a,controller:i,startTime:Date.now(),sendingParticipantIdentity:t})}});r(new uj(a,o?vj(c,e.streamId,this.maxPayloadByteLength):c.pipeThrough(mj(e.streamId)),lD(e.totalLength)),{identity:t});return}case`textHeader`:{let r=this.textStreamHandlers.get(e.topic);if(!r){this.log.debug(`ignoring incoming text stream due to no handler for topic`,e.topic);return}let i,a={id:e.streamId,mimeType:e.mimeType,size:e.totalLength?Number(e.totalLength):void 0,topic:e.topic,timestamp:Number(e.timestamp),attributes:e.attributes,encryptionType:n,attachedStreamIds:e.contentHeader.value.attachedStreamIds},o;switch(e.compression){case Zx.DEFLATE_RAW:if(!wD()){TC.warn(`Data stream ${e.streamId} received with deflate-raw compression, but this browser does not have support for DecompressionStream. Dropping...`);return}o=!0;break;case Zx.NONE:o=!1;break;default:TC.warn(`Data stream ${e.streamId} received with unknown compression type ${e.compression}, dropping...`);return}let s=e.inlineContent;if(s!==void 0){let n=o?aj(s,this.maxPayloadByteLength):s;r(new dj(a,pj(e.streamId,n),lD(e.totalLength)),{identity:t});return}let c=new ReadableStream({start:n=>{if(i=n,this.textStreamControllers.has(e.streamId))throw new CT(`A data stream read is already in progress for a stream with id ${e.streamId}.`,ST.AlreadyOpened);this.textStreamControllers.set(e.streamId,{info:a,controller:i,startTime:Date.now(),sendingParticipantIdentity:t})}});r(new dj(a,o?yj(c,e.streamId,this.maxPayloadByteLength):c.pipeThrough(mj(e.streamId)),lD(e.totalLength)),{identity:t});return}}}handleStreamChunk(e,t){let n=this.byteStreamControllers.get(e.streamId);n&&(n.info.encryptionType===t?n.controller.enqueue(e):(n.controller.error(new CT(`Encryption type mismatch for stream ${e.streamId}. Expected ${t}, got ${n.info.encryptionType}`,ST.EncryptionTypeMismatch)),this.byteStreamControllers.delete(e.streamId)));let r=this.textStreamControllers.get(e.streamId);r&&(r.info.encryptionType===t?r.controller.enqueue(e):(r.controller.error(new CT(`Encryption type mismatch for stream ${e.streamId}. Expected ${t}, got ${r.info.encryptionType}`,ST.EncryptionTypeMismatch)),this.textStreamControllers.delete(e.streamId)))}handleStreamTrailer(e,t){let n=this.textStreamControllers.get(e.streamId);n&&(n.info.encryptionType===t?(n.info.attributes=Object.assign(Object.assign({},n.info.attributes),e.attributes),e.reason?n.controller.error(new CT(`Data stream ${e.streamId} closed abnormally: ${e.reason}`,ST.AbnormalEnd)):n.controller.close()):n.controller.error(new CT(`Encryption type mismatch for stream ${e.streamId}. Expected ${t}, got ${n.info.encryptionType}`,ST.EncryptionTypeMismatch)),this.textStreamControllers.delete(e.streamId));let r=this.byteStreamControllers.get(e.streamId);r&&(r.info.encryptionType===t?(r.info.attributes=Object.assign(Object.assign({},r.info.attributes),e.attributes),e.reason?r.controller.error(new CT(`Data stream ${e.streamId} closed abnormally: ${e.reason}`,ST.AbnormalEnd)):r.controller.close()):r.controller.error(new CT(`Encryption type mismatch for stream ${e.streamId}. Expected ${t}, got ${r.info.encryptionType}`,ST.EncryptionTypeMismatch)),this.byteStreamControllers.delete(e.streamId))}};function pj(e,t){return new ReadableStream({start:n=>q(this,void 0,void 0,function*(){let r=yield t;n.enqueue(new tS({streamId:e,chunkIndex:BigInt(0),content:r})),n.close()})})}function mj(e){let t=-1;return new TransformStream({transform:(n,r)=>{let i=lD(n.chunkIndex);if(i<=t){TC.warn(`ignoring duplicate chunk ${i} ${n.version>0?`(version ${n.version})`:``} for data stream ${e} (last processed: ${t})`);return}if(i>t+1)throw new CT(`Missing chunk(s) ${t+1}..${i-1} for data stream ${e} - cannot reassemble payload`,ST.Incomplete);t=i,n.content.length!==0&&r.enqueue(n)}})}function hj(){return new TransformStream({transform:(e,t)=>{t.enqueue(e.content)}})}function gj(e){let t=0;return new TransformStream({transform:(n,r)=>{n.byteLength>0&&(r.enqueue(new tS({streamId:e,chunkIndex:uD(t),content:n})),t+=1)}})}function _j(e){let t=new TextDecoder(`utf-8`),n=new TextEncoder,r=0,i=n=>{try{return n?t.decode(n,{stream:!0}):t.decode()}catch(t){throw new CT(`Cannot decode compressed data stream ${e} as text: ${t}`,ST.DecodeFailed)}};return new TransformStream({transform:(t,a)=>{let o=i(t);o.length>0&&(a.enqueue(new tS({streamId:e,chunkIndex:uD(r),content:n.encode(o)})),r+=1)},flush:t=>{let a=i();a.length>0&&(t.enqueue(new tS({streamId:e,chunkIndex:uD(r),content:n.encode(a)})),r+=1)}})}function vj(e,t,n){return e.pipeThrough(mj(t)).pipeThrough(hj()).pipeThrough(ij()).pipeThrough(bj(t,n)).pipeThrough(gj(t))}function yj(e,t,n){return e.pipeThrough(mj(t)).pipeThrough(hj()).pipeThrough(ij()).pipeThrough(bj(t,n)).pipeThrough(_j(t))}function bj(e,t){let n=0;return new TransformStream({transform:(r,i)=>{if(n+=r.byteLength,n>t)throw new CT(`Data stream ${e} exceeds the maximum payload size of ${t} bytes`,ST.PayloadTooLarge);i.enqueue(r)}})}var xj=class{constructor(e,t,n){this.writableStream=e,this.defaultWriter=e.getWriter(),this.onClose=n,this.info=t}write(e){return this.defaultWriter.write(e)}close(){return q(this,void 0,void 0,function*(){var e;yield this.defaultWriter.close(),this.defaultWriter.releaseLock(),(e=this.onClose)==null||e.call(this)})}},Sj=class extends xj{},Cj=class extends xj{};function wj(e,t,n){return new eS({streamId:e.id,mimeType:e.mimeType,topic:e.topic,timestamp:uD(e.timestamp),totalLength:uD(e.size),attributes:e.attributes,compression:n?.compression??Zx.NONE,inlineContent:n?.inlineContent,contentHeader:{case:`textHeader`,value:new Qx({version:t?.version,attachedStreamIds:e.attachedStreamIds,replyToStreamId:t?.replyToStreamId,operationType:t?.type===`update`?Xx.UPDATE:Xx.CREATE})}})}function Tj(e,t){return new eS({streamId:e.id,mimeType:e.mimeType,topic:e.topic,timestamp:uD(e.timestamp),totalLength:uD(e.size),attributes:e.attributes,compression:t?.compression??Zx.NONE,inlineContent:t?.inlineContent,contentHeader:{case:`byteHeader`,value:new $x({name:e.name})}})}function Ej(e,t){return new Tx({destinationIdentities:t,value:{case:`streamHeader`,value:e}})}var Dj=new TextEncoder,Oj=class{constructor(e,t,n,r,i){this.engine=e,this.log=t,this.getRemoteParticipantClientProtocol=n,this.getRemoteParticipantCapabilities=r,this.getAllRemoteParticipantIdentities=i}setupEngine(e){this.engine=e}sendText(e,t){return q(this,void 0,void 0,function*(){var n;let r=crypto.randomUUID(),i=Dj.encode(e),a=i.byteLength,o=t?.compress??!0,s={id:r,mimeType:`text/plain`,timestamp:Date.now(),topic:t?.topic??``,size:a,attributes:t?.attributes,encryptionType:this.engine.e2eeManager?.isDataChannelEncryptionEnabled?dx.GCM:dx.NONE},c=o&&wD()&&this.allRecipientsSupportV2(t?.destinationIdentities)&&this.allRecipientsSupportCompression(t?.destinationIdentities)?kj.fromStream(xD(i).pipeThrough(rj())):null;if((!t?.attachments||t.attachments.length===0)&&this.allRecipientsSupportV2(t?.destinationIdentities)){let e=i,r=Zx.NONE;if(c){let t=yield c.collect();t.byteLength<i.byteLength&&(e=t,r=Zx.DEFLATE_RAW)}let a=Ej(wj(s,void 0,{compression:r,inlineContent:e}),t?.destinationIdentities);if(a.toBinary().byteLength<=sj)return yield this.engine.sendDataPacket(a,eA.RELIABLE),(n=t?.onProgress)==null||n.call(t,1),s}let l=(t?.attachments)?.map(()=>crypto.randomUUID()),u=l?l.length+1:1,d=Array(u).fill(0),f=(e,n)=>{var r;d[n]=e,(r=t?.onProgress)==null||r.call(t,d.reduce((e,t)=>e+t,0)/u)};if(c){s.attachedStreamIds=l;let e=Ej(wj(s,void 0,{compression:Zx.DEFLATE_RAW}),t?.destinationIdentities);yield this.sendChunkedByteStream(e,r,t?.destinationIdentities,c.stream().pipeThrough(Aj(i.length,e=>f(e,0)))),i.length===0&&f(1,0)}else{let n=yield this.streamText({streamId:r,totalSize:a,destinationIdentities:t?.destinationIdentities,topic:t?.topic,attachedStreamIds:l,attributes:t?.attributes});yield n.write(e),f(1,0),yield n.close(),s=n.info}return t?.attachments&&l&&(yield Promise.all(t.attachments.map((e,n)=>q(this,void 0,void 0,function*(){return this._sendFile(l[n],e,{topic:t.topic,mimeType:e.type,destinationIdentities:t.destinationIdentities,compress:t.compress,onProgress:e=>{f(e,n+1)}})})))),s})}sendBytes(e,t){return q(this,void 0,void 0,function*(){var n,r;let i=crypto.randomUUID(),a=t?.destinationIdentities,o=t?.compress??!0,s={id:i,name:t?.name??`unknown`,mimeType:t?.mimeType??`application/octet-stream`,timestamp:Date.now(),topic:t?.topic??``,size:e.byteLength,attributes:t?.attributes,encryptionType:this.engine.e2eeManager?.isDataChannelEncryptionEnabled?dx.GCM:dx.NONE},c=Aj(e.length,t?.onProgress),l=o&&wD()&&this.allRecipientsSupportV2(a)&&this.allRecipientsSupportCompression(a)?kj.fromStream(xD(e).pipeThrough(c).pipeThrough(rj())):null;if(this.allRecipientsSupportV2(a)){let r=e,i=Zx.NONE;if(l){let t=yield l.collect();t.byteLength<e.byteLength&&(r=t,i=Zx.DEFLATE_RAW)}let o=Ej(Tj(s,{compression:i,inlineContent:r}),a);if(o.toBinary().byteLength<=sj)return yield this.engine.sendDataPacket(o,eA.RELIABLE),(n=t?.onProgress)==null||n.call(t,1),s}let u=Ej(Tj(s,{compression:l?Zx.DEFLATE_RAW:Zx.NONE}),a),d=l?l.stream():xD(e).pipeThrough(c);return yield this.sendChunkedByteStream(u,i,a,d),e.length===0&&((r=t?.onProgress)==null||r.call(t,1)),s})}allRecipientsSupportV2(e){return(e&&e.length>0?e:this.getAllRemoteParticipantIdentities()).every(e=>this.getRemoteParticipantClientProtocol(e)>=2)}allRecipientsSupportCompression(e){return(e&&e.length>0?e:this.getAllRemoteParticipantIdentities()).every(e=>this.getRemoteParticipantCapabilities(e).includes(Gx.CAP_COMPRESSION_DEFLATE_RAW))}sendChunkedByteStream(e,t,n,r){return q(this,void 0,void 0,function*(){var i,a,o,s;let c=this.engine;yield jj(c,e);let l=0;try{for(var u=!0,d=BC(SD(r,sj)),f;f=yield d.next(),i=f.done,!i;u=!0){s=f.value,u=!1;let e=new Tx({destinationIdentities:n,value:{case:`streamChunk`,value:new tS({content:s,streamId:t,chunkIndex:uD(l)})}});yield c.sendDataPacket(e,eA.RELIABLE),l+=1}}catch(e){a={error:e}}finally{try{!u&&!i&&(o=d.return)&&(yield o.call(d))}finally{if(a)throw a.error}}yield Mj(t,n,c)})}streamText(e){return q(this,void 0,void 0,function*(){let t=e?.streamId??crypto.randomUUID(),n=e?.destinationIdentities,r={id:t,mimeType:`text/plain`,timestamp:Date.now(),topic:e?.topic??``,size:e?.totalSize,attributes:e?.attributes,encryptionType:this.engine.e2eeManager?.isDataChannelEncryptionEnabled?dx.GCM:dx.NONE,attachedStreamIds:e?.attachedStreamIds},i=Ej(wj(r,e),n);yield jj(this.engine,i);let a=0,o=this.engine,s=new WritableStream({write(e){return q(this,void 0,void 0,function*(){for(let r of bD(e,sj)){let e=new tS({content:r,streamId:t,chunkIndex:uD(a)}),i=new Tx({destinationIdentities:n,value:{case:`streamChunk`,value:e}});yield o.sendDataPacket(i,eA.RELIABLE),a+=1}})},close(){return q(this,void 0,void 0,function*(){yield Mj(t,n,o)})},abort(e){console.log(`Sink error:`,e)}}),c=()=>q(this,void 0,void 0,function*(){yield l.close()});o.once(Z.Closing,c);let l=new Sj(s,r,()=>this.engine.off(Z.Closing,c));return l})}sendFile(e,t){return q(this,void 0,void 0,function*(){let n=crypto.randomUUID();return yield this._sendFile(n,e,t),{id:n}})}_sendFile(e,t,n){return q(this,void 0,void 0,function*(){var r;let i=n?.destinationIdentities,a=(n?.compress??!0)&&wD()&&this.allRecipientsSupportV2(i)&&this.allRecipientsSupportCompression(i),o={id:e,name:t.name,mimeType:n?.mimeType??t.type,topic:n?.topic??``,timestamp:Date.now(),size:t.size,encryptionType:this.engine.e2eeManager?.isDataChannelEncryptionEnabled?dx.GCM:dx.NONE},s=Ej(Tj(o,{compression:a?Zx.DEFLATE_RAW:Zx.NONE}),i),c=t.stream().pipeThrough(Aj(t.size,n?.onProgress)),l=a?c.pipeThrough(rj()):c;return yield this.sendChunkedByteStream(s,e,i,l),t.size===0&&((r=n?.onProgress)==null||r.call(n,1)),o})}streamBytes(e){return q(this,void 0,void 0,function*(){let t=e?.streamId??crypto.randomUUID(),n=e?.destinationIdentities,r={id:t,mimeType:e?.mimeType??`application/octet-stream`,topic:e?.topic??``,timestamp:Date.now(),attributes:e?.attributes,size:e?.totalSize,name:e?.name??`unknown`,encryptionType:this.engine.e2eeManager?.isDataChannelEncryptionEnabled?dx.GCM:dx.NONE},i=Ej(Tj(r),n);yield jj(this.engine,i);let a=0,o=new jv,s=this.engine,c=this.log;return new Cj(new WritableStream({write(e){return q(this,void 0,void 0,function*(){let r=yield o.lock(),i=0;try{for(;i<e.byteLength;){let r=e.slice(i,i+sj),o=new Tx({destinationIdentities:n,value:{case:`streamChunk`,value:new tS({content:r,streamId:t,chunkIndex:uD(a)})}});yield s.sendDataPacket(o,eA.RELIABLE),a+=1,i+=r.byteLength}}finally{r()}})},close(){return q(this,void 0,void 0,function*(){yield Mj(t,n,s)})},abort(e){c.error(`Sink error:`,e)}}),r)})}},kj=class e{constructor(e){this.state=e}static fromStream(t){return new e({type:`stream`,stream:t})}collect(){return q(this,void 0,void 0,function*(){switch(this.state.type){case`stream`:let e=yield oj(this.state.stream);return this.state={type:`collected`,bytes:e},e;case`collected`:return this.state.bytes}})}stream(){switch(this.state.type){case`stream`:return this.state.stream;case`collected`:return xD(this.state.bytes)}}};function Aj(e,t){let n=0;return new TransformStream({transform(r,i){n+=r.byteLength,t&&typeof e==`number`&&e>0&&t(Math.min(n/e,1)),i.enqueue(r)}})}function jj(e,t){return q(this,void 0,void 0,function*(){if(t.toBinary().byteLength>sj)throw new CT(`data stream header exceeds the ${sj}-byte limit; reduce attribute size`,ST.HeaderTooLarge);yield e.sendDataPacket(t,eA.RELIABLE)})}function Mj(e,t,n){return q(this,void 0,void 0,function*(){let r=new Tx({destinationIdentities:t,value:{case:`streamTrailer`,value:new nS({streamId:e})}});yield n.sendDataPacket(r,eA.RELIABLE)})}function Nj(e){if(e.length===0)return new AbortController().signal;if(e.length===1)return e[0];for(let t of e)if(t.aborted)return t;let t=new AbortController,n=Array(e.length),r=()=>{for(let e of n)e()};return e.forEach((e,i)=>{let a=()=>{t.abort(e.reason),r()};e.addEventListener(`abort`,a),n[i]=()=>e.removeEventListener(`abort`,a)}),t.signal}function Pj(e){let t=new AbortController;return setTimeout(()=>{t.abort(new DOMException(`signal timed out after ${e} ms`,`TimeoutError`))},e),t.signal}var Fj=1,Ij=2,Lj=4,Rj=8,zj=0,Bj=12,Vj=5,Hj=7,Uj=3,Wj=3,Gj=2,Kj=1,qj=0,Jj=3,Yj=2,Xj=2,Zj=1,Qj=0,$j;(function(e){e[e.TooShort=0]=`TooShort`,e[e.HeaderOverrun=1]=`HeaderOverrun`,e[e.MissingExtWords=2]=`MissingExtWords`,e[e.UnsupportedVersion=3]=`UnsupportedVersion`,e[e.InvalidHandle=4]=`InvalidHandle`,e[e.MalformedExt=5]=`MalformedExt`})($j||={});var eM=class e extends fT{constructor(e,t,n){super(19,e,n),this.name=`DataTrackDeserializeError`,this.reason=t,this.reasonName=$j[t]}static tooShort(){return new e(`Too short to contain a valid header`,$j.TooShort)}static headerOverrun(){return new e(`Header exceeds total packet length`,$j.HeaderOverrun)}static missingExtWords(){return new e(`Extension word indicator is missing`,$j.MissingExtWords)}static unsupportedVersion(t){return new e(`Unsupported version ${t}`,$j.UnsupportedVersion)}static invalidHandle(t){return new e(`invalid track handle: ${t.message}`,$j.InvalidHandle,{cause:t})}static malformedExt(t){return new e(`Extension with tag ${t} is malformed`,$j.MalformedExt)}},tM;(function(e){e[e.TooSmallForHeader=0]=`TooSmallForHeader`,e[e.TooSmallForPayload=1]=`TooSmallForPayload`})(tM||={});var nM=class e extends fT{constructor(e,t,n){super(19,e,n),this.name=`DataTrackSerializeError`,this.reason=t,this.reasonName=tM[t]}static tooSmallForHeader(){return new e(`Buffer cannot fit header`,tM.TooSmallForHeader)}static tooSmallForPayload(){return new e(`Buffer cannot fit payload`,tM.TooSmallForPayload)}},rM=class{toBinary(){let e=this.toBinaryLengthBytes(),t=new ArrayBuffer(e),n=new DataView(t),r=this.toBinaryInto(n);if(e!==r)throw Error(`${this.constructor.name}.toBinary: written bytes (${r} bytes) not equal to allocated array buffer length (${e} bytes).`);return new Uint8Array(t)}},iM;(function(e){e[e.UserTimestamp=2]=`UserTimestamp`,e[e.E2ee=1]=`E2ee`})(iM||={});var aM=class extends rM{},oM=class e extends aM{constructor(e){super(),this.timestamp=e}toBinaryLengthBytes(){return 2+e.lengthBytes}toBinaryInto(t){let n=0;t.setUint8(n,e.tag),n+=Fj,t.setUint8(n,e.lengthBytes),n+=Fj,t.setBigUint64(n,this.timestamp),n+=Rj;let r=this.toBinaryLengthBytes();if(n!==r)throw Error(`DataTrackUserTimestampExtension.toBinaryInto: Wrote ${n} bytes but expected length was ${r} bytes`);return n}toJSON(){return{tag:e.tag,lengthBytes:e.lengthBytes,timestamp:this.timestamp}}};oM.tag=iM.UserTimestamp,oM.lengthBytes=8;var sM=class e extends aM{constructor(e,t){super(),this.keyIndex=e,this.iv=t}toBinaryLengthBytes(){return 2+e.lengthBytes}toBinaryInto(t){let n=0;t.setUint8(n,e.tag),n+=Fj,t.setUint8(n,e.lengthBytes),n+=Fj,t.setUint8(n,this.keyIndex),n+=Fj;for(let e=0;e<this.iv.length;e+=1)t.setUint8(n,this.iv[e]),n+=Fj;let r=this.toBinaryLengthBytes();if(n!==r)throw Error(`DataTrackE2eeExtension.toBinaryInto: Wrote ${n} bytes but expected length was ${r} bytes`);return n}toJSON(){return{tag:e.tag,lengthBytes:e.lengthBytes,keyIndex:this.keyIndex,iv:this.iv}}};sM.tag=iM.E2ee,sM.lengthBytes=13;var cM=class e extends rM{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};super(),this.userTimestamp=e.userTimestamp,this.e2ee=e.e2ee}toBinaryLengthBytes(){let e=0;return this.userTimestamp&&(e+=this.userTimestamp.toBinaryLengthBytes()),this.e2ee&&(e+=this.e2ee.toBinaryLengthBytes()),e}toBinaryInto(e){let t=0;if(this.e2ee){let n=this.e2ee.toBinaryInto(e);t+=n}if(this.userTimestamp){let n=this.userTimestamp.toBinaryInto(new DataView(e.buffer,e.byteOffset+t));t+=n}let n=this.toBinaryLengthBytes();if(t!==n)throw Error(`DataTrackExtensions.toBinaryInto: Wrote ${t} bytes but expected length was ${n} bytes`);return t}static fromBinary(t){let n=xO(t),r,i,a=0;for(;n.byteLength-a>=2;){let e=n.getUint8(a);a+=Fj;let t=n.getUint8(a);if(a+=Fj,e!==Qj)switch(e){case iM.UserTimestamp:if(n.byteLength-a<oM.lengthBytes)throw eM.malformedExt(e);r=new oM(n.getBigUint64(a)),a+=t;break;case iM.E2ee:if(n.byteLength-a<sM.lengthBytes)throw eM.malformedExt(e);let o=n.getUint8(a),s=new Uint8Array(12);for(let e=0;e<s.length;e+=1){let t=a;t+=Fj,t+=e*Fj,s[e]=n.getUint8(t)}i=new sM(o,s),a+=t;break;default:if(n.byteLength-a<t)throw eM.malformedExt(e);a+=t}}return[new e({userTimestamp:r,e2ee:i}),n.byteLength]}toJSON(){return{userTimestamp:this.userTimestamp?.toJSON()??null,e2ee:this.e2ee?.toJSON()??null}}},lM={from(e){return{payload:e.payload,extensions:new cM({userTimestamp:e.userTimestamp?new oM(e.userTimestamp):void 0})}},lossyIntoFrame(e){return{payload:e.payload,userTimestamp:e.extensions.userTimestamp?.timestamp}}},uM=Symbol.for(`lk.track`),dM=Symbol.for(`lk.data-track`),fM=class{constructor(e,t,n){this.trackSymbol=uM,this.isLocal=!1,this.typeSymbol=dM,this.info=e,this.manager=t,this.publisherIdentity=n.publisherIdentity}subscribe(e){try{let t=G(this.manager.openSubscriptionStream(this.info.sid,e?.signal,e?.bufferSize),2),n=t[0];return t[1].catch(()=>{}),n}catch(e){throw e}}setPipelineOptions(e){this.manager.setPipelineOptions(this.info.sid,e)}},pM=class e extends rM{constructor(e){super(),this.marker=e.marker,this.trackHandle=e.trackHandle,this.sequence=e.sequence,this.frameNumber=e.frameNumber,this.timestamp=e.timestamp,this.extensions=e.extensions??new cM}extensionsMetrics(){let e=this.extensions.toBinaryLengthBytes(),t=Math.ceil((Yj+e)/4);return{lengthBytes:e,lengthWords:t,paddingLengthBytes:t*4-Yj-e}}toBinaryLengthBytes(){let e=this.extensionsMetrics(),t=e.lengthBytes,n=e.paddingLengthBytes,r=Bj;return t>0&&(r+=Yj+t+n),r}toBinaryInto(e){if(e.byteLength<this.toBinaryLengthBytes())throw nM.tooSmallForHeader();let t=0,n;switch(this.marker){case mM.Inter:n=qj;break;case mM.Final:n=Kj;break;case mM.Start:n=Gj;break;case mM.Single:n=Jj}t|=n<<Uj;let r=this.extensionsMetrics(),i=r.lengthBytes,a=r.lengthWords,o=r.paddingLengthBytes;i>0&&(t|=4);let s=0;if(e.setUint8(s,t),s+=Fj,e.setUint8(s,0),s+=Fj,e.setUint16(s,this.trackHandle),s+=Ij,e.setUint16(s,this.sequence.value),s+=Ij,e.setUint16(s,this.frameNumber.value),s+=Ij,e.setUint32(s,this.timestamp.asTicks()),s+=Lj,i>0){let t=a-1;e.setUint16(s,t),s+=Ij;let n=this.extensions.toBinaryInto(new DataView(e.buffer,e.byteOffset+s));s+=n;for(let t=0;t<o;t+=1)e.setUint8(s,0),s+=Fj}let c=this.toBinaryLengthBytes();if(s!==c)throw Error(`DataTrackPacketHeader.toBinaryInto: Wrote ${s} bytes but expected length was ${c} bytes`);return c}static fromBinary(t){let n=xO(t);if(n.byteLength<Bj)throw eM.tooShort();let r=0,i=n.getUint8(r);r+=Fj;let a=i>>Vj&Hj;if(a>zj)throw eM.unsupportedVersion(a);let o;switch(i>>Uj&Wj){case Gj:o=mM.Start;break;case Kj:o=mM.Final;break;case Jj:o=mM.Single;break;case qj:default:o=mM.Inter}let s=(i>>Xj&Zj)>0;r+=Fj;let c;try{c=wO.fromNumber(n.getUint16(r))}catch(e){throw e instanceof CO&&(e.isReason(SO.Reserved)||e.isReason(SO.TooLarge))?eM.invalidHandle(e):e}r+=Ij;let l=vO.u16(n.getUint16(r));r+=Ij;let u=vO.u16(n.getUint16(r));r+=Ij;let d=yO.fromRtpTicks(n.getUint32(r));r+=Lj;let f=new cM;if(s){if(n.byteLength-r<Ij)throw eM.missingExtWords();let e=n.getUint16(r);r+=Ij;let t=4*(e+1)-Yj;if(r+t>n.byteLength)throw eM.headerOverrun();let i=new DataView(n.buffer,n.byteOffset+r,t),a=G(cM.fromBinary(i),2),o=a[0],s=a[1];f=o,r+=s}return[new e({marker:o,trackHandle:c,sequence:l,frameNumber:u,timestamp:d,extensions:f}),r]}toJSON(){return{marker:this.marker,trackHandle:this.trackHandle,sequence:this.sequence.value,frameNumber:this.frameNumber.value,timestamp:this.timestamp.asTicks(),extensions:this.extensions.toJSON()}}},mM;(function(e){e[e.Start=0]=`Start`,e[e.Inter=1]=`Inter`,e[e.Final=2]=`Final`,e[e.Single=3]=`Single`})(mM||={});var hM=class e extends rM{constructor(e,t){super(),this.header=e,this.payload=t}toBinaryLengthBytes(){return this.header.toBinaryLengthBytes()+this.payload.byteLength}toBinaryInto(e){let t=0,n=this.header.toBinaryInto(e);if(t+=n,e.byteLength-t<this.payload.byteLength)throw nM.tooSmallForPayload();for(let n=0;n<this.payload.length;n+=1)e.setUint8(t,this.payload[n]),t+=Fj;let r=this.toBinaryLengthBytes();if(t!==r)throw Error(`DataTrackPacket.toBinaryInto: Wrote ${t} bytes but expected length was ${r} bytes`);return r}static fromBinary(t){let n=xO(t),r=G(pM.fromBinary(n),2),i=r[0],a=r[1],o=n.buffer.slice(n.byteOffset+a,n.byteOffset+n.byteLength);return[new e(i,new Uint8Array(o)),n.byteLength]}toJSON(){return{header:this.header.toJSON(),payload:this.payload}}},gM=EC(wC.DataTracks),_M=class e extends fT{constructor(e,t,n,r){super(19,`Frame ${n} dropped: ${e}`,r),this.name=`DataTrackDepacketizerDropError`,this.reason=t,this.reasonName=vM[t],this.frameNumber=n}static interrupted(t,n){return new e(`Interrupted by the start of a new frame ${n}`,vM.Interrupted,t)}static unknownFrame(t){return new e(`Initial packet was never received.`,vM.UnknownFrame,t)}static bufferFull(t){return new e(`Reorder buffer is full.`,vM.BufferFull,t)}static incomplete(t,n,r){return new e(`Not all packets received before final packet. Received ${n} packets, expected ${r} packets.`,vM.Incomplete,t)}},vM;(function(e){e[e.Interrupted=0]=`Interrupted`,e[e.UnknownFrame=1]=`UnknownFrame`,e[e.BufferFull=2]=`BufferFull`,e[e.Incomplete=3]=`Incomplete`})(vM||={});var yM=class e{constructor(){this.partials=new Map}push(e,t){switch(e.header.marker){case mM.Single:return this.frameFromSingle(e,t);case mM.Start:return this.beginPartial(e,t);case mM.Inter:case mM.Final:return this.pushToPartial(e)}}reset(){this.partials.clear()}peekOldestPartialFrameNumber(){let e=this.partials.keys().next();return e.done?null:e.value}frameFromSingle(e,t){if(e.header.marker!==mM.Single)throw Error(`Depacketizer.frameFromSingle: packet.header.marker was not FrameMarker.Single, found ${e.header.marker}.`);let n=t?.maxPartialFrames??1;if(this.partials.size>=n){let n=this.peekOldestPartialFrameNumber();if(typeof n!=`number`)throw Error(`Depacketizer.frameFromSingle: no oldest frame number found, but partials.size is ${this.partials.size}.`);if(this.partials.delete(n),t?.throwOnInterruption)throw _M.interrupted(n,e.header.frameNumber.value);gM.warn(`Data track frame ${n} was interrupted by single-packet frame ${e.header.frameNumber.value}, dropping.`)}return{payload:e.payload,extensions:e.header.extensions}}beginPartial(e,t){if(e.header.marker!==mM.Start)throw Error(`Depacketizer.beginPartial: packet.header.marker was not FrameMarker.Start, found ${e.header.marker}.`);let n=e.header.sequence,r=e.header.frameNumber.value,i={startSequence:n,extensions:e.header.extensions,payloads:new Map([[n.value,e.payload]])},a=t?.maxPartialFrames??1;for(;this.partials.size>=a;){let e=this.peekOldestPartialFrameNumber();if(typeof e!=`number`)break;if(this.partials.delete(e),t?.throwOnInterruption)throw _M.interrupted(e,r);gM.warn(`Data track partials full (max ${a}), evicted oldest frame ${e} to make room for new frame ${r}.`)}return this.partials.set(r,i),null}pushToPartial(t){if(t.header.marker!==mM.Inter&&t.header.marker!==mM.Final)throw Error(`Depacketizer.pushToPartial: packet.header.marker was not FrameMarker.Inter or FrameMarker.Final, found ${t.header.marker}.`);let n=t.header.frameNumber.value,r=this.partials.get(n);if(!r)throw this.partials.delete(n),_M.unknownFrame(n);if(r.payloads.size>=e.MAX_BUFFER_PACKETS)throw this.partials.delete(n),_M.bufferFull(n);return r.payloads.has(t.header.sequence.value)&&gM.warn(`Data track frame ${n} received duplicate packet for sequence ${t.header.sequence.value}, so replacing with newly received packet.`),r.payloads.set(t.header.sequence.value,t.payload),t.header.marker===mM.Final?this.finalize(n,r,t.header.sequence.value):null}finalize(e,t,n){let r=t.payloads.size,i=0;for(let e of t.payloads.values())i+=e.length;let a=new Uint8Array(i),o=t.startSequence.clone(),s=0;for(;;){let r=t.payloads.get(o.value);if(!r)break;t.payloads.delete(o.value);let i=a.length-s;if(r.length>i)throw Error(`Depacketizer.finalize: Expected at least ${r.length} more bytes left in the payload buffer, only got ${i} bytes.`);if(a.set(r,s),s+=r.length,o.value!=n){o.increment();continue}return this.partials.delete(e),{payload:a,extensions:t.extensions}}throw this.partials.delete(e),_M.incomplete(e,r,n-t.startSequence.value+1)}};yM.MAX_BUFFER_PACKETS=128;var bM;(function(e){e[e.Unpublished=0]=`Unpublished`,e[e.Timeout=1]=`Timeout`,e[e.Disconnected=2]=`Disconnected`,e[e.Cancelled=4]=`Cancelled`})(bM||={});var xM=class e extends fT{constructor(e,t,n){super(22,e,n),this.name=`DataTrackSubscribeError`,this.reason=t,this.reasonName=bM[t]}static unpublished(){return new e(`The track has been unpublished and is no longer available`,bM.Unpublished)}static timeout(){return new e(`Request to subscribe to data track timed-out`,bM.Timeout)}static disconnected(){return new e(`Cannot subscribe to data track when disconnected`,bM.Disconnected)}static cancelled(){return new e(`Subscription to data track cancelled by caller`,bM.Cancelled)}},SM=EC(wC.DataTracks),CM=class{constructor(e){let t=e.e2eeManager!==null;if(e.info.usesE2ee!==t)throw Error(`IncomingDataTrackPipeline: DataTrackInfo.usesE2ee must match presence of decryptionProvider`);let n=new yM;this.publisherIdentity=e.publisherIdentity,this.e2eeManager=e.e2eeManager??null,this.depacketizer=n,this.options=e.pipelineOptions??{}}updateE2eeManager(e){this.e2eeManager=e}setOptions(e){this.options=e}processPacket(e){return q(this,void 0,void 0,function*(){let t=this.depacketize(e);return t&&(yield this.decryptIfNeeded(t))||null})}depacketize(e){let t;try{t=this.depacketizer.push(e,{throwOnInterruption:!1,maxPartialFrames:this.options.maxPartialFrames})}catch(e){return SM.warn(`Data frame depacketize error: ${e}`),null}return t}decryptIfNeeded(e){return q(this,void 0,void 0,function*(){let t=this.e2eeManager;if(!t)return e;let n=e.extensions?.e2ee??null;if(!n)return SM.error(`Missing E2EE meta`),null;let r;try{r=yield t.handleEncryptedData(e.payload,n.iv,this.publisherIdentity,n.keyIndex)}catch(e){return SM.error(`Error decrypting packet: ${e}`),null}return e.payload=r.payload,e})}},wM=EC(wC.DataTracks),TM=1e4,EM=16,DM=class extends WC.EventEmitter{constructor(e){super(),this.descriptors=new Map,this.subscriptionHandles=new Map,this.e2eeManager=e?.e2eeManager??null}updateE2eeManager(e){this.e2eeManager=e;for(let t of this.descriptors.values())t.subscription.type===`active`&&t.subscription.pipeline.updateE2eeManager(e)}setPipelineOptions(e,t){let n=this.descriptors.get(e);if(!n){wM.warn(`Unknown track ${e}, cannot set pipeline options.`);return}n.pipelineOptions=t,n.subscription.type===`active`&&n.subscription.pipeline.setOptions(t)}openSubscriptionStream(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:EM,r=null,i=new tD,a=this.descriptors.get(e),o=()=>{t?.removeEventListener(`abort`,c)},s=()=>{if(o(),!r){wM.warn(`ReadableStream subscribed to ${e} was not started.`);return}if(!a||this.descriptors.get(a.info.sid)!==a){wM.warn(`Unknown track ${e}, skipping cancel...`);return}if(a.subscription.type!==`active`){wM.warn(`Subscription for track ${e} is not active, skipping cancel...`);return}a.subscription.streamControllers.delete(r),a.subscription.streamControllers.size===0&&this.unSubscribeRequest(a.info.sid)},c=()=>{var e;r&&(a?.subscription.type===`active`&&a.subscription.streamControllers.delete(r),r.error(xM.cancelled()),(e=i.reject)==null||e.call(i,xM.cancelled()),s())};return[new ReadableStream({start:n=>{r=n,this.subscribeRequest(e,t).then(()=>q(this,void 0,void 0,function*(){var r,s,l;if(!a||this.descriptors.get(a.info.sid)!==a){wM.error(`Unknown track ${e}`);let t=xM.disconnected();n.error(t),(r=i.reject)==null||r.call(i,t);return}if(a.subscription.type!==`active`){wM.error(`Subscription for track ${e} is not active`);let t=xM.disconnected();n.error(t),(s=i.reject)==null||s.call(i,t);return}if(t?.aborted){c();return}t?.addEventListener(`abort`,c),a.subscription.streamControllers.set(n,o),(l=i.resolve)==null||l.call(i)})).catch(e=>{var t;n.error(e),(t=i.reject)==null||t.call(i,e)})},cancel:()=>{s()}},new CountQueuingStrategy({highWaterMark:n})),i.promise]}subscribeRequest(e,t){return q(this,void 0,void 0,function*(){let n=this.descriptors.get(e);if(!n)throw Error(`Cannot subscribe to unknown track`);let r=(t,n,r)=>q(this,void 0,void 0,function*(){if(t.subscription.type===`active`)return;if(t.subscription.type!==`pending`)throw Error(`Descriptor for track ${e} is not pending, found ${t.subscription.type}`);let i=Nj([n,r].filter(e=>e!==void 0)),a=new tD;t.subscription.completionFuture.promise.then(()=>a.resolve?.call(a)).catch(e=>a.reject?.call(a,e));let o=()=>{var e;if(t.subscription.type===`pending`){if(--t.subscription.pendingRequestCount,r?.aborted){t.subscription.cancel();return}if(t.subscription.pendingRequestCount<=0){t.subscription.cancel();return}(e=a.reject)==null||e.call(a,xM.cancelled())}};i.aborted&&o(),i.addEventListener(`abort`,o),yield a.promise,i.removeEventListener(`abort`,o)});switch(n.subscription.type){case`none`:{n.subscription={type:`pending`,completionFuture:new tD,pendingRequestCount:1,cancel:()=>{var e,t;let r=n.subscription;n.subscription={type:`none`},this.emit(`sfuUpdateSubscription`,{sid:n.info.sid,subscribe:!1}),r.type===`pending`&&((t=(e=r.completionFuture).reject)==null||t.call(e,i.aborted?xM.timeout():xM.cancelled()))}},this.emit(`sfuUpdateSubscription`,{sid:e,subscribe:!0});let i=Pj(TM);yield r(n,t,i);return}case`pending`:n.subscription.pendingRequestCount+=1,yield r(n,t);return;case`active`:return}})}querySubscribed(){return q(this,void 0,void 0,function*(){return Array.from(this.descriptors.values()).filter(e=>e.subscription.type===`active`).map(e=>[e.info,e.publisherIdentity])})}unSubscribeRequest(e){let t=this.descriptors.get(e);if(!t)throw Error(`Cannot subscribe to unknown track`);if(t.subscription.type!==`active`){wM.warn(`Unexpected descriptor state in unSubscribeRequest, expected active, found ${t.subscription?.type}`);return}this.closeStreamControllers(t.subscription.streamControllers,e);let n=t.subscription;t.subscription={type:`none`},this.subscriptionHandles.delete(n.subcriptionHandle),this.emit(`sfuUpdateSubscription`,{sid:e,subscribe:!1})}closeStreamControllers(e,t){for(let r of e){var n=G(r,2);let e=n[0],i=n[1];i();try{e.close()}catch(e){wM.warn(`Failed to close readable stream for track ${t}: ${e}`)}}}receiveSfuPublicationUpdates(e){return q(this,void 0,void 0,function*(){if(e.size===0)return;let t=new Map;for(let r of e.entries()){var n=G(r,2);let e=n[0],i=n[1],a=new Set;for(let t of i)a.add(t.sid),!this.descriptors.has(t.sid)&&(this.handleSidReassigned(e,t)||(yield this.handleTrackPublished(e,t)));t.set(e,a)}for(let e of t.entries()){var r=G(e,2);let t=r[0],n=r[1],i=Array.from(this.descriptors.entries()).filter(e=>{let n=G(e,2);return n[0],n[1].publisherIdentity===t}).map(e=>G(e,1)[0]).filter(e=>!n.has(e));for(let e of i)this.handleTrackUnpublished(e)}})}queryPublications(){return q(this,void 0,void 0,function*(){return Array.from(this.descriptors.values()).map(e=>e.info)})}handleTrackPublished(e,t){return q(this,void 0,void 0,function*(){if(this.descriptors.has(t.sid)){wM.error(`Existing descriptor for track ${t.sid}`);return}let n={info:t,publisherIdentity:e,subscription:{type:`none`},pipelineOptions:{}};this.descriptors.set(n.info.sid,n);let r=new fM(n.info,this,{publisherIdentity:e});this.emit(`trackPublished`,{track:r})})}handleSidReassigned(e,t){let n=Array.from(this.descriptors.entries()).find(n=>{let r=G(n,2);r[0];let i=r[1];return i.publisherIdentity===e&&i.info.pubHandle===t.pubHandle});if(!n)return!1;let r=G(n,2),i=r[0],a=r[1],o=a.info,s=o.name,c=o.usesE2ee;if(s!==t.name||c!==t.usesE2ee)return wM.warn(`Info mismatch for ${i}, treating as new publication`),!1;let l=t.sid;if(wM.debug(`SID reassigned: ${i} -> ${l}`),!this.descriptors.delete(i))return!1;switch(a.info.sid=l,a.subscription.type){case`none`:break;case`pending`:case`active`:this.emit(`sfuUpdateSubscription`,{sid:l,subscribe:!0})}return a.subscription.type===`active`&&this.subscriptionHandles.set(a.subscription.subcriptionHandle,l),this.descriptors.set(l,a),!0}handleTrackUnpublished(e){let t=this.descriptors.get(e);if(!t){wM.error(`Unknown track ${e}`);return}this.descriptors.delete(e),t.subscription.type===`active`&&(this.closeStreamControllers(t.subscription.streamControllers,e),this.subscriptionHandles.delete(t.subscription.subcriptionHandle)),this.emit(`trackUnpublished`,{sid:e,publisherIdentity:t.publisherIdentity})}receivedSfuSubscriberHandles(e){for(let n of e.entries()){var t=G(n,2);let e=t[0],r=t[1];this.registerSubscriberHandle(e,r)}}registerSubscriberHandle(e,t){var n,r;let i=this.descriptors.get(t);if(!i){wM.error(`Unknown track ${t}`);return}switch(i.subscription.type){case`none`:wM.warn(`No subscription for ${t}`);return;case`active`:this.subscriptionHandles.delete(i.subscription.subcriptionHandle),i.subscription.subcriptionHandle=e,this.subscriptionHandles.set(e,t);return;case`pending`:{wM.debug(`data track subscription activated`,{sid:t,handle:e});let a=new CM({info:i.info,publisherIdentity:i.publisherIdentity,e2eeManager:this.e2eeManager,pipelineOptions:i.pipelineOptions}),o=i.subscription;i.subscription={type:`active`,subcriptionHandle:e,pipeline:a,streamControllers:new Map},this.subscriptionHandles.set(e,t),(r=(n=o.completionFuture).resolve)==null||r.call(n)}}}packetReceived(e){return q(this,void 0,void 0,function*(){let t;try{t=G(hM.fromBinary(e),1)[0]}catch(e){wM.error(`Failed to deserialize packet: ${e}`);return}let n=this.subscriptionHandles.get(t.header.trackHandle);if(!n){wM.warn(`Unknown subscriber handle ${t.header.trackHandle}`);return}let r=this.descriptors.get(n);if(!r){wM.error(`Missing descriptor for track ${n}`);return}if(r.subscription.type!==`active`){wM.warn(`Received packet for track ${n} without active subscription`);return}let i=yield r.subscription.pipeline.processPacket(t);if(i)for(let e of r.subscription.streamControllers.keys()){if(e.desiredSize!==null&&e.desiredSize<=0){wM.warn(`Cannot send frame to subscribers: readable stream is full (desiredSize is ${e.desiredSize}). To increase this threshold, set a higher 'options.highWaterMark' when calling .subscribe().`);continue}let t=lM.lossyIntoFrame(i);e.enqueue(t)}})}resendSubscriptionUpdates(){for(let t of this.descriptors){var e=G(t,2);let n=e[0];e[1].subscription.type!==`none`&&this.emit(`sfuUpdateSubscription`,{sid:n,subscribe:!0})}}handleRemoteParticipantDisconnected(e){var t,n;for(let r of this.descriptors.values())if(r.publisherIdentity===e)switch(r.subscription.type){case`none`:break;case`pending`:(n=(t=r.subscription.completionFuture).reject)==null||n.call(t,xM.disconnected());break;case`active`:this.unSubscribeRequest(r.info.sid)}}reset(){var e,t;for(let n of this.descriptors.values())this.emit(`trackUnpublished`,{sid:n.info.sid,publisherIdentity:n.publisherIdentity}),n.subscription.type===`pending`&&((t=(e=n.subscription.completionFuture).reject)==null||t.call(e,xM.disconnected())),n.subscription.type===`active`&&this.closeStreamControllers(n.subscription.streamControllers,n.info.sid);this.descriptors.clear(),this.subscriptionHandles.clear()}},OM=class e extends fT{constructor(e,t,n){super(19,e,n),this.name=`DataTrackPacketizerError`,this.reason=t,this.reasonName=kM[t]}static mtuTooShort(){return new e(`MTU is too short to send frame`,kM.MtuTooShort)}},kM;(function(e){e[e.MtuTooShort=0]=`MtuTooShort`})(kM||={});var AM=class e{constructor(e,t){this.sequence=vO.u16(0),this.frameNumber=vO.u16(0),this.clock=bO.rtpStartingNow(yO.rtpRandom()),this.handle=e,this.mtuSizeBytes=t}static computeFrameMarker(e,t){return t<=1?mM.Single:e===0?mM.Start:e===t-1?mM.Final:mM.Inter}*packetize(t,n){let r=this.frameNumber.getThenIncrement(),i={marker:mM.Inter,trackHandle:this.handle,sequence:vO.u16(0),frameNumber:r,timestamp:n?.now??this.clock.now(),extensions:t.extensions},a=new pM(i).toBinaryLengthBytes();if(a>=this.mtuSizeBytes)throw OM.mtuTooShort();let o=this.mtuSizeBytes-a,s=Math.ceil(t.payload.byteLength/o);for(let n=0,r=0;r<t.payload.byteLength;c=[n+1,r+o],n=c[0],r=c[1]){var c;let a=this.sequence.getThenIncrement(),l=new pM(Object.assign(Object.assign({},i),{marker:e.computeFrameMarker(n,s),sequence:a})),u=Math.min(o,t.payload.byteLength-r);yield new hM(l,new Uint8Array(t.payload.buffer,t.payload.byteOffset+r,u))}}},jM;(function(e){e[e.NotAllowed=0]=`NotAllowed`,e[e.DuplicateName=1]=`DuplicateName`,e[e.Timeout=2]=`Timeout`,e[e.LimitReached=3]=`LimitReached`,e[e.Disconnected=4]=`Disconnected`,e[e.Cancelled=5]=`Cancelled`,e[e.InvalidName=6]=`InvalidName`,e[e.Unknown=7]=`Unknown`})(jM||={});var MM=class e extends fT{constructor(e,t,n){super(21,e,n),this.name=`DataTrackPublishError`,this.reason=t,this.reasonName=jM[t],this.rawMessage=n?.rawMessage}static notAllowed(t){return new e(`Data track publishing unauthorized`,jM.NotAllowed,{rawMessage:t})}static duplicateName(t){return new e(`Track name already taken`,jM.DuplicateName,{rawMessage:t})}static invalidName(t){return new e(`Track name is invalid`,jM.InvalidName,{rawMessage:t})}static timeout(){return new e(`Publish data track timed-out. Does the LiveKit server support data tracks?`,jM.Timeout)}static limitReached(t){return new e(`Data track publication limit reached`,jM.LimitReached,{rawMessage:t})}static unknown(t,n){return new e(`Received RequestResponse for publishDataTrack, but reason was unrecognised (${t}, ${n})`,jM.Unknown)}static disconnected(){return new e(`Room disconnected`,jM.Disconnected)}static cancelled(){return new e(`Publish data track cancelled by caller`,jM.Cancelled)}},NM;(function(e){e[e.TrackUnpublished=0]=`TrackUnpublished`,e[e.Dropped=1]=`Dropped`})(NM||={});var PM=class e extends fT{constructor(e,t,n){super(22,e,n),this.name=`DataTrackPushFrameError`,this.reason=t,this.reasonName=NM[t]}static trackUnpublished(){return new e(`Track is no longer published`,NM.TrackUnpublished)}static dropped(t){return new e(`Frame was dropped`,NM.Dropped,{cause:t})}},FM;(function(e){e[e.Packetizer=0]=`Packetizer`,e[e.Encryption=1]=`Encryption`})(FM||={});var IM=class e extends fT{constructor(e,t,n){super(21,e,n),this.name=`DataTrackOutgoingPipelineError`,this.reason=t,this.reasonName=FM[t]}static packetizer(t){return new e(`Error packetizing frame`,FM.Packetizer,{cause:t})}static encryption(t){return new e(`Error encrypting frame`,FM.Encryption,{cause:t})}},LM=class e{constructor(e,t){this.trackSymbol=uM,this.isLocal=!0,this.typeSymbol=dM,this.handle=null,this.log=TC,this.flushedFuture=new tD,this.isFlushed=!0,this.handleManagerReset=()=>{var e,t;(t=(e=this.flushedFuture).resolve)==null||t.call(e),this.manager.off(`packetsFlushedChange`,this.handleManagerPacketsFlushedChange),this.manager.off(`reset`,this.handleManagerReset)},this.handleManagerPacketsFlushedChange=e=>{var t,n;this.isFlushed=e.isFlushed,e.isFlushed&&((n=(t=this.flushedFuture).resolve)==null||n.call(t),this.flushedFuture=new tD)},this.options=e,this.manager=t,this.log=EC(wC.DataTracks),this.manager.on(`packetsFlushedChange`,this.handleManagerPacketsFlushedChange),this.manager.on(`reset`,this.handleManagerReset)}static withExplicitHandle(t,n,r){let i=new e(t,n);return i.handle=r,i}get info(){let e=this.descriptor;if(e?.type===`active`)return e.info}get descriptor(){return this.handle?this.manager.getDescriptor(this.handle):null}publish(e){return q(this,void 0,void 0,function*(){try{this.handle=yield this.manager.publishRequest(this.options,e)}catch(e){throw e}})}isPublished(){return this.descriptor?.type===`active`&&this.descriptor.publishState!==`unpublished`}tryPush(e){if(!this.handle)throw PM.trackUnpublished();let t=lM.from(e);try{return this.manager.tryProcessAndSend(this.handle,t)}catch(e){throw e}}flush(){return q(this,void 0,void 0,function*(){if(!this.isFlushed)return this.flushedFuture.promise})}unpublish(){return q(this,void 0,void 0,function*(){if(!this.handle){TC.warn(`Data track "${this.options.name}" is not published, so unpublishing has no effect.`);return}try{yield this.manager.unpublishRequest(this.handle)}catch(e){throw e}})}},RM=class e{constructor(t){this.e2eeManager=t.e2eeManager,this.packetizer=new AM(t.info.pubHandle,e.TRANSPORT_MTU_BYTES)}updateE2eeManager(e){this.e2eeManager=e}processFrame(e){return RC(this,arguments,function*(){let t=yield LC(this.encryptIfNeeded(e));try{yield LC(yield*zC(BC(this.packetizer.packetize(t))))}catch(e){throw e instanceof OM?IM.packetizer(e):e}})}encryptIfNeeded(e){return q(this,void 0,void 0,function*(){if(!this.e2eeManager)return e;let t;try{t=yield this.e2eeManager.encryptData(e.payload)}catch(e){throw IM.encryption(e)}return e.payload=t.payload,e.extensions.e2ee=new sM(t.keyIndex,t.iv),e})}};RM.TRANSPORT_MTU_BYTES=16e3;var zM=EC(wC.DataTracks),BM={pending(){return{type:`pending`,completionFuture:new tD}},active(e,t){return{type:`active`,info:e,publishState:`published`,pipeline:new RM({info:e,e2eeManager:t}),unpublishingFuture:new tD}}},VM=1e4,HM=class e extends WC.EventEmitter{constructor(e){super(),this.handleAllocator=new TO,this.descriptors=new Map,this.inFlightPacketCounter=new Map,this.e2eeManager=e?.e2eeManager??null}static withDescriptors(t){let n=new e;return n.descriptors=t,n}updateE2eeManager(e){this.e2eeManager=e;for(let t of this.descriptors.values())t.type===`active`&&t.pipeline.updateE2eeManager(e)}getDescriptor(e){return this.descriptors.get(e)??null}tryProcessAndSend(e,t){return q(this,void 0,void 0,function*(){var n,r,i,a;let o=this.getDescriptor(e);if(o?.type!==`active`||o.publishState===`unpublished`)throw PM.trackUnpublished();if(o.publishState===`republishing`)throw PM.dropped(`Data track republishing`);try{try{for(var s=!0,c=BC(o.pipeline.processFrame(t)),l;l=yield c.next(),n=l.done,!n;s=!0){a=l.value,s=!1;let t=a,n=this.inFlightPacketCounter.get(e)??0;this.inFlightPacketCounter.set(e,n+1),n===0&&this.emit(`packetsFlushedChange`,{handle:e,isFlushed:!1}),this.emit(`packetAvailable`,{handle:e,bytes:t.toBinary()})}}catch(e){r={error:e}}finally{try{!s&&!n&&(i=c.return)&&(yield i.call(c))}finally{if(r)throw r.error}}}catch(e){throw PM.dropped(e)}})}handlePacketSendComplete(e){let t=(this.inFlightPacketCounter.get(e)??0)-1;t<0&&(zM.warn(`OutgoingDataTrackManager.handlePacketSendComplete: inFlightPacketCounter was decremented below 0 (got ${this.inFlightPacketCounter} - resetting to 0. Were more packets send than were emitted?`),t=0),this.inFlightPacketCounter.set(e,t),t===0&&this.emit(`packetsFlushedChange`,{handle:e,isFlushed:!0})}publishRequest(e,t){return q(this,void 0,void 0,function*(){let n=this.handleAllocator.get();if(!n)throw MM.limitReached();let r=Pj(VM),i=t?Nj([t,r]):r;if(this.descriptors.has(n))throw Error(`Descriptor for handle already exists`);let a=BM.pending();this.descriptors.set(n,a);let o=()=>{var e,t;let i=this.descriptors.get(n);if(!i){zM.warn(`No descriptor for ${n}`);return}this.descriptors.delete(n),this.emit(`sfuUnpublishRequest`,{handle:n}),i.type===`pending`&&((t=(e=i.completionFuture).reject)==null||t.call(e,r.aborted?MM.timeout():MM.cancelled()))};return i.aborted?(o(),a.completionFuture.promise.then(()=>n)):(i.addEventListener(`abort`,o),this.emit(`sfuPublishRequest`,{handle:n,name:e.name,usesE2ee:this.e2eeManager!==null}),yield a.completionFuture.promise,i.removeEventListener(`abort`,o),this.emit(`trackPublished`,{track:LM.withExplicitHandle(e,this,n)}),n)})}queryPublished(){return Array.from(this.descriptors.values()).filter(e=>e.type===`active`).map(e=>e.info)}unpublishRequest(e){return q(this,void 0,void 0,function*(){let t=this.descriptors.get(e);if(!t){zM.warn(`No descriptor for ${e}`);return}if(t.type!==`active`){zM.warn(`Track ${e} not active`);return}this.emit(`sfuUnpublishRequest`,{handle:e}),yield t.unpublishingFuture.promise,this.inFlightPacketCounter.delete(e),this.emit(`trackUnpublished`,{sid:t.info.sid})})}receivedSfuPublishResponse(e,t){var n,r,i,a;let o=this.descriptors.get(e);if(!o){zM.warn(`No descriptor for ${e}`);return}switch(this.descriptors.delete(e),o.type){case`pending`:if(t.type===`ok`){let i=t.data;zM.debug(`SFU accepted publish request for handle ${e}`,{sid:i.sid});let a=i.usesE2ee?this.e2eeManager:null;this.descriptors.set(i.pubHandle,BM.active(i,a)),(r=(n=o.completionFuture).resolve)==null||r.call(n)}else zM.debug(`SFU rejected publish request for handle ${e}`,{error:t.error}),(a=(i=o.completionFuture).reject)==null||a.call(i,t.error);return;case`active`:if(o.publishState!==`republishing`){zM.warn(`Track ${e} already active`);return}if(t.type===`error`){zM.warn(`Republish failed for track ${e}`);return}zM.debug(`Track ${e} republished`),o.info.sid=t.data.sid,o.publishState=`published`,this.descriptors.set(o.info.pubHandle,o)}}receivedSfuUnpublishResponse(e){var t,n;let r=this.descriptors.get(e);if(!r){zM.warn(`No descriptor for ${e}`);return}if(this.descriptors.delete(e),r.type!==`active`){zM.warn(`Track ${e} not active`);return}r.publishState=`unpublished`,(n=(t=r.unpublishingFuture).resolve)==null||n.call(t)}sfuWillRepublishTracks(){var e,t;for(let r of this.descriptors.entries()){var n=G(r,2);let i=n[0],a=n[1];switch(a.type){case`pending`:this.descriptors.delete(i),(t=(e=a.completionFuture).reject)==null||t.call(e,MM.disconnected());break;case`active`:a.publishState=`republishing`,this.emit(`sfuPublishRequest`,{handle:a.info.pubHandle,name:a.info.name,usesE2ee:a.info.usesE2ee})}}}reset(){return q(this,void 0,void 0,function*(){var e,t,n,r;this.handleAllocator.reset();for(let i of this.descriptors.values())switch(i.type){case`pending`:(t=(e=i.completionFuture).reject)==null||t.call(e,MM.disconnected());break;case`active`:(r=(n=i.unpublishingFuture).resolve)==null||r.call(n),yield this.unpublishRequest(i.info.pubHandle)}this.descriptors.clear(),this.inFlightPacketCounter.clear(),this.emit(`reset`)})}},UM=class e extends Error{constructor(t,n,r,i){super(n),this.code=t,this.message=ZM(n,e.MAX_MESSAGE_BYTES),this.data=r?ZM(r,e.MAX_DATA_BYTES):void 0,i?.cause!==void 0&&(this.cause=i?.cause)}static fromProto(t){return new e(t.code,t.message,t.data)}toProto(){return new zx({code:this.code,message:this.message,data:this.data})}static builtIn(t,n,r){return new e(e.ErrorCode[t],e.ErrorMessage[t],n,r)}};UM.MAX_MESSAGE_BYTES=256,UM.MAX_DATA_BYTES=15360,UM.ErrorCode={APPLICATION_ERROR:1500,CONNECTION_TIMEOUT:1501,RESPONSE_TIMEOUT:1502,RECIPIENT_DISCONNECTED:1503,RESPONSE_PAYLOAD_TOO_LARGE:1504,SEND_FAILED:1505,UNSUPPORTED_METHOD:1400,RECIPIENT_NOT_FOUND:1401,REQUEST_PAYLOAD_TOO_LARGE:1402,UNSUPPORTED_SERVER:1403,UNSUPPORTED_VERSION:1404},UM.ErrorMessage={APPLICATION_ERROR:`Application error in method handler`,CONNECTION_TIMEOUT:`Connection timeout`,RESPONSE_TIMEOUT:`Response timeout`,RECIPIENT_DISCONNECTED:`Recipient disconnected`,RESPONSE_PAYLOAD_TOO_LARGE:`Response payload too large`,SEND_FAILED:`Failed to send`,UNSUPPORTED_METHOD:`Method not supported at destination`,RECIPIENT_NOT_FOUND:`Recipient not found`,REQUEST_PAYLOAD_TOO_LARGE:`Request payload too large`,UNSUPPORTED_SERVER:`RPC not supported by server`,UNSUPPORTED_VERSION:`Unsupported RPC version`};var WM=15360,GM=`lk.rpc_request`,KM=`lk.rpc_response`,qM;(function(e){e.RPC_REQUEST_ID=`lk.rpc_request_id`,e.RPC_REQUEST_METHOD=`lk.rpc_request_method`,e.RPC_REQUEST_RESPONSE_TIMEOUT_MS=`lk.rpc_request_response_timeout_ms`,e.RPC_REQUEST_VERSION=`lk.rpc_request_version`})(qM||={});var JM=1,YM=2;function XM(e){return new TextEncoder().encode(e).length}function ZM(e,t){if(XM(e)<=t)return e;let n=0,r=e.length,i=new TextEncoder;for(;n<r;){let a=Math.floor((n+r+1)/2);i.encode(e.slice(0,a)).length<=t?n=a:r=a-1}return e.slice(0,n)}var QM=class extends WC.EventEmitter{constructor(e,t,n,r){super(),this.pendingAcks=new Map,this.pendingResponses=new Map,this.log=e,this.outgoingDataStreamManager=t,this.getRemoteParticipantClientProtocol=n,this.getServerVersion=r}performRpc(e){return q(this,arguments,void 0,function(e){var t=this;let n=e.destinationIdentity,r=e.method,i=e.payload,a=e.responseTimeout,o=a===void 0?15e3:a;return function*(){let e=t.getRemoteParticipantClientProtocol(n);if(XM(i)>WM&&e<1)throw UM.builtIn(`REQUEST_PAYLOAD_TOO_LARGE`);let a=t.getServerVersion();if(a&&WE(a,`1.8.0`)<0)throw UM.builtIn(`UNSUPPORTED_SERVER`);let s=Math.max(o,8e3),c=crypto.randomUUID(),l=new tD,u=null,d=setTimeout(()=>{var e;t.pendingAcks.delete(c),(e=l.reject)==null||e.call(l,UM.builtIn(`CONNECTION_TIMEOUT`)),t.pendingResponses.delete(c),u!==null&&clearTimeout(u)},7e3);return t.pendingAcks.set(c,{resolve:()=>{clearTimeout(d)},participantIdentity:n}),t.pendingResponses.set(c,{completionFuture:l,participantIdentity:n}),yield t.publishRpcRequest(n,c,r,i,s,e),u=setTimeout(()=>{var e;t.pendingResponses.delete(c),(e=l.reject)==null||e.call(l,UM.builtIn(`RESPONSE_TIMEOUT`))},o),[c,l.promise.finally(()=>{clearTimeout(u),t.pendingAcks.has(c)&&(t.log.warn(`RPC response received before ack`,c),t.pendingAcks.delete(c),clearTimeout(d))})]}()})}publishRpcRequest(e,t,n,r,i,a){return q(this,void 0,void 0,function*(){if(a>=1){yield this.outgoingDataStreamManager.sendText(r,{topic:GM,destinationIdentities:[e],attributes:{[qM.RPC_REQUEST_ID]:t,[qM.RPC_REQUEST_METHOD]:n,[qM.RPC_REQUEST_RESPONSE_TIMEOUT_MS]:`${i}`,[qM.RPC_REQUEST_VERSION]:`${YM}`}});return}this.emit(`sendDataPacket`,{packet:new Tx({destinationIdentities:[e],kind:Ex.RELIABLE,value:{case:`rpcRequest`,value:new Ix({id:t,method:n,payload:r,responseTimeoutMs:i,version:JM})}})})})}handleIncomingDataStream(e,t,n){return q(this,void 0,void 0,function*(){let r=n[qM.RPC_REQUEST_ID];if(!r){this.log.warn(`RPC data stream malformed: ${qM.RPC_REQUEST_ID} not set.`);return}let i=this.pendingResponses.get(r);if(i&&i.participantIdentity!==t){this.log.warn(`RPC response stream for ${r} arrived from unexpected sender ${t}, expected ${i.participantIdentity}. Ignoring.`);return}let a;try{a=yield e.readAll()}catch(e){this.log.warn(`Error reading RPC response payload: ${e}`),this.handleIncomingRpcResponseFailure(r,UM.builtIn(`APPLICATION_ERROR`,`Error reading RPC response payload`,{cause:e}));return}this.handleIncomingRpcResponseSuccess(r,a)})}handleIncomingRpcResponseSuccess(e,t){var n,r;let i=this.pendingResponses.get(e);i?((r=(n=i.completionFuture).resolve)==null||r.call(n,t),this.pendingResponses.delete(e)):this.log.error(`Response received for unexpected RPC request`,e)}handleIncomingRpcResponseFailure(e,t){var n,r;let i=this.pendingResponses.get(e);i?((r=(n=i.completionFuture).reject)==null||r.call(n,t),this.pendingResponses.delete(e)):this.log.error(`Response received for unexpected RPC request`,e)}handleIncomingRpcAck(e){let t=this.pendingAcks.get(e);t?(t.resolve(),this.pendingAcks.delete(e)):this.log.error(`Ack received for unexpected RPC request: ${e}`)}handleParticipantDisconnected(e){var t;for(let t of this.pendingAcks){var n=G(t,2);let r=n[0];n[1].participantIdentity===e&&this.pendingAcks.delete(r)}for(let n of this.pendingResponses){var r=G(n,2);let a=r[0];var i=r[1];let o=i.participantIdentity,s=i.completionFuture;o===e&&((t=s.reject)==null||t.call(s,UM.builtIn(`RECIPIENT_DISCONNECTED`)),this.pendingResponses.delete(a))}}},$M=class extends WC.EventEmitter{constructor(e,t,n){super(),this.rpcHandlers=new Map,this.log=e,this.outgoingDataStreamManager=t,this.getRemoteParticipantClientProtocol=n}registerRpcMethod(e,t){if(this.rpcHandlers.has(e))throw Error(`RPC handler already registered for method ${e}, unregisterRpcMethod before trying to register again`);this.rpcHandlers.set(e,t)}unregisterRpcMethod(e){this.rpcHandlers.delete(e)}handleIncomingRpcRequest(e,t){return q(this,void 0,void 0,function*(){if(this.publishRpcAck(e,t.id),t.version!==1){this.publishRpcResponsePacket(e,t.id,null,UM.builtIn(`UNSUPPORTED_VERSION`));return}let n=this.rpcHandlers.get(t.method);if(!n){this.publishRpcResponsePacket(e,t.id,null,UM.builtIn(`UNSUPPORTED_METHOD`));return}let r;try{r=yield n({requestId:t.id,callerIdentity:e,payload:t.payload,responseTimeout:t.responseTimeoutMs})}catch(n){let r;n instanceof UM?r=n:(this.log.warn(`Uncaught error returned by RPC handler for ${t.method}. Returning APPLICATION_ERROR instead.`,n),r=UM.builtIn(`APPLICATION_ERROR`,`Uncaught error: ${n?.message??n}`,{cause:n})),this.publishRpcResponsePacket(e,t.id,null,r);return}yield this.publishRpcResponse(e,t.id,r??``)})}handleIncomingDataStream(e,t,n){return q(this,void 0,void 0,function*(){let r=n[qM.RPC_REQUEST_ID],i=n[qM.RPC_REQUEST_METHOD],a=parseInt(n[qM.RPC_REQUEST_RESPONSE_TIMEOUT_MS],10),o=parseInt(n[qM.RPC_REQUEST_VERSION],10);if(!r||!i||Number.isNaN(a)||Number.isNaN(o)){this.log.warn(`RPC data stream malformed: ${qM.RPC_REQUEST_ID} / ${qM.RPC_REQUEST_METHOD} / ${qM.RPC_REQUEST_RESPONSE_TIMEOUT_MS} / ${qM.RPC_REQUEST_VERSION} not set.`),this.publishRpcResponsePacket(t,r,null,UM.builtIn(`APPLICATION_ERROR`,`RPC data stream malformed`));return}if(this.publishRpcAck(t,r),o!==YM){this.publishRpcResponsePacket(t,r,null,UM.builtIn(`UNSUPPORTED_VERSION`));return}let s;try{s=yield e.readAll()}catch(e){this.log.warn(`Error reading RPC request payload: ${e}`),this.publishRpcResponsePacket(t,r,null,UM.builtIn(`APPLICATION_ERROR`,`Error reading RPC request payload`,{cause:e}));return}let c=this.rpcHandlers.get(i);if(!c){this.publishRpcResponsePacket(t,r,null,UM.builtIn(`UNSUPPORTED_METHOD`));return}let l;try{l=yield c({requestId:r,callerIdentity:t,payload:s,responseTimeout:a})}catch(e){let n;e instanceof UM?n=e:(this.log.warn(`Uncaught error returned by RPC handler for ${i}. Returning APPLICATION_ERROR instead.`,e),n=UM.builtIn(`APPLICATION_ERROR`)),this.publishRpcResponsePacket(t,r,null,n);return}yield this.publishRpcResponse(t,r,l??``)})}publishRpcAck(e,t){this.emit(`sendDataPacket`,{packet:new Tx({destinationIdentities:[e],kind:Ex.RELIABLE,value:{case:`rpcAck`,value:new Lx({requestId:t})}})})}publishRpcResponsePacket(e,t,n,r){this.emit(`sendDataPacket`,{packet:new Tx({destinationIdentities:[e],kind:Ex.RELIABLE,value:{case:`rpcResponse`,value:new Rx({requestId:t,value:r?{case:`error`,value:r.toProto()}:{case:`payload`,value:n??``}})}})})}publishRpcResponse(e,t,n){return q(this,void 0,void 0,function*(){if(this.getRemoteParticipantClientProtocol(e)>=1){yield this.outgoingDataStreamManager.sendText(n,{topic:KM,destinationIdentities:[e],attributes:{[qM.RPC_REQUEST_ID]:t}});return}if(XM(n)>WM){this.log.warn(`RPC Response payload too large for request ${t}. To send larger responses, consider updating the sending client.`),this.publishRpcResponsePacket(e,t,null,UM.builtIn(`RESPONSE_PAYLOAD_TOO_LARGE`));return}this.publishRpcResponsePacket(e,t,n,null)})}},eN=class extends tO{constructor(e,t,n,r,i,a){super(e,t,$.Kind.Audio,n,a),this.monitorReceiver=()=>q(this,void 0,void 0,function*(){if(!this.receiver){this._currentBitrate=0;return}let e=yield this.getReceiverStats();e&&this.prevStats&&this.receiver&&(this._currentBitrate=eO(e,this.prevStats)),this.prevStats=e}),this.audioContext=r,this.webAudioPluginNodes=[],i&&(this.sinkId=i.deviceId)}setVolume(e){var t;for(let n of this.attachedElements)this.audioContext?(t=this.gainNode)==null||t.gain.setTargetAtTime(e,0,.1):n.volume=e;RE()&&this._mediaStreamTrack._setVolume(e),this.elementVolume=e}getVolume(){if(this.elementVolume)return this.elementVolume;if(RE())return 1;let e=0;return this.attachedElements.forEach(t=>{t.volume>e&&(e=t.volume)}),e}setSinkId(e){return q(this,void 0,void 0,function*(){this.sinkId=e,yield Promise.all(this.attachedElements.map(t=>{if(EE(t))return t.setSinkId(e)}))})}attach(e){let t=this.attachedElements.length===0;return e?super.attach(e):e=super.attach(),this.sinkId&&EE(e)&&e.setSinkId(this.sinkId).catch(e=>{this.log.error(`Failed to set sink id on remote audio track`,e,this.logContext)}),this.audioContext&&t&&(this.log.debug(`using audio context mapping`,this.logContext),this.connectWebAudio(this.audioContext,e),e.volume=0,e.muted=!0),this.elementVolume&&this.setVolume(this.elementVolume),e}detach(e){let t;return e?(t=super.detach(e),this.audioContext&&(this.attachedElements.length>0?this.connectWebAudio(this.audioContext,this.attachedElements[0]):this.disconnectWebAudio())):(t=super.detach(),this.disconnectWebAudio()),t}setAudioContext(e){this.audioContext=e,e&&this.attachedElements.length>0?this.connectWebAudio(e,this.attachedElements[0]):e||this.disconnectWebAudio()}setWebAudioPlugins(e){this.webAudioPluginNodes=e,this.attachedElements.length>0&&this.audioContext&&this.connectWebAudio(this.audioContext,this.attachedElements[0])}connectWebAudio(e,t){this.disconnectWebAudio(),this.sourceNode=e.createMediaStreamSource(t.srcObject);let n=this.sourceNode;this.webAudioPluginNodes.forEach(e=>{n.connect(e),n=e}),this.gainNode=e.createGain(),n.connect(this.gainNode),this.gainNode.connect(e.destination),this.elementVolume&&this.gainNode.gain.setTargetAtTime(this.elementVolume,0,.1),e.state!==`running`&&e.resume().then(()=>{e.state!==`running`&&this.emit(Q.AudioPlaybackFailed,Error(`Audio Context couldn't be started automatically`))}).catch(e=>{this.emit(Q.AudioPlaybackFailed,e)})}disconnectWebAudio(){var e,t;(e=this.gainNode)==null||e.disconnect(),(t=this.sourceNode)==null||t.disconnect(),this.gainNode=void 0,this.sourceNode=void 0}getReceiverStats(){return q(this,void 0,void 0,function*(){if(!this.receiver||!this.receiver.getStats)return;let e=yield this.receiver.getStats(),t;return e.forEach(e=>{e.type===`inbound-rtp`&&(t={type:`audio`,streamId:e.id,timestamp:e.timestamp,jitter:e.jitter,bytesReceived:e.bytesReceived,concealedSamples:e.concealedSamples,concealmentEvents:e.concealmentEvents,silentConcealedSamples:e.silentConcealedSamples,silentConcealmentEvents:e.silentConcealmentEvents,totalAudioEnergy:e.totalAudioEnergy,totalSamplesDuration:e.totalSamplesDuration})}),t})}},tN=class extends WC.EventEmitter{constructor(e,t,n,r){super(),this.metadataMuted=!1,this.encryption=dx.NONE,this.log=TC,this.handleMuted=()=>{this.emit(Q.Muted)},this.handleUnmuted=()=>{this.emit(Q.Unmuted)},this.log=EC(r?.loggerName??wC.Publication),this.loggerContextCb=this.loggerContextCb,this.setMaxListeners(100),this.kind=e,this.trackSid=t,this.trackName=n,this.source=$.Source.Unknown}setTrack(e){this.track&&(this.track.off(Q.Muted,this.handleMuted),this.track.off(Q.Unmuted,this.handleUnmuted)),this.track=e,e&&(e.on(Q.Muted,this.handleMuted),e.on(Q.Unmuted,this.handleUnmuted))}get logContext(){return Object.assign(Object.assign({},this.loggerContextCb?.call(this)),eE(this))}get isMuted(){return this.metadataMuted}get isEnabled(){return!0}get isSubscribed(){return this.track!==void 0}get isEncrypted(){return this.encryption!==dx.NONE}get audioTrack(){if(fD(this.track))return this.track}get videoTrack(){if(pD(this.track))return this.track}updateInfo(e){this.trackSid=e.sid,this.trackName=e.name,this.source=$.sourceFromProto(e.source),this.mimeType=e.mimeType,this.kind===$.Kind.Video&&e.width>0&&(this.dimensions={width:e.width,height:e.height},this.simulcasted=e.simulcast),this.encryption=e.encryption,this.trackInfo=e,this.log.debug(`update publication info`,Object.assign(Object.assign({},this.logContext),{info:e}))}};(function(e){(function(e){e.Desired=`desired`,e.Subscribed=`subscribed`,e.Unsubscribed=`unsubscribed`})(e.SubscriptionStatus||={}),(function(e){e.Allowed=`allowed`,e.NotAllowed=`not_allowed`})(e.PermissionStatus||={})})(tN||={});var nN=class extends tN{get isUpstreamPaused(){return this.track?.isUpstreamPaused}constructor(e,t,n,r){super(e,t.sid,t.name,r),this.track=void 0,this.handleTrackEnded=()=>{this.emit(Q.Ended)},this.handleCpuConstrained=()=>{this.track&&pD(this.track)&&this.emit(Q.CpuConstrained,this.track)},this.updateInfo(t),this.setTrack(n)}setTrack(e){this.track&&(this.track.off(Q.Ended,this.handleTrackEnded),this.track.off(Q.CpuConstrained,this.handleCpuConstrained)),super.setTrack(e),e&&(e.on(Q.Ended,this.handleTrackEnded),e.on(Q.CpuConstrained,this.handleCpuConstrained))}get isMuted(){return this.track?this.track.isMuted:super.isMuted}get audioTrack(){return super.audioTrack}get videoTrack(){return super.videoTrack}get isLocal(){return!0}mute(){return q(this,void 0,void 0,function*(){return this.track?.mute()})}unmute(){return q(this,void 0,void 0,function*(){return this.track?.unmute()})}pauseUpstream(){return q(this,void 0,void 0,function*(){yield this.track?.pauseUpstream()})}resumeUpstream(){return q(this,void 0,void 0,function*(){yield this.track?.resumeUpstream()})}getTrackFeatures(){if(fD(this.track)){let e=this.track.getSourceTrackSettings(),t=new Set;return e.autoGainControl&&t.add(nx.TF_AUTO_GAIN_CONTROL),e.echoCancellation&&t.add(nx.TF_ECHO_CANCELLATION),e.noiseSuppression&&t.add(nx.TF_NOISE_SUPPRESSION),e.channelCount&&e.channelCount>1&&t.add(nx.TF_STEREO),this.options?.dtx||t.add(nx.TF_NO_DTX),this.track.enhancedNoiseCancellation&&t.add(nx.TF_ENHANCED_NOISE_CANCELLATION),Array.from(t.values())}return[]}};function rN(e,t){return q(this,void 0,void 0,function*(){e??={};let n=!1,r=rE(e),i=r.audioProcessor,a=r.videoProcessor,o=r.optionsWithoutProcessor,s=o.audio,c=o.video;if(i&&typeof o.audio==`object`&&(o.audio.processor=i),a&&typeof o.video==`object`&&(o.video.processor=a),e.audio&&typeof o.audio==`object`&&typeof o.audio.deviceId==`string`){let e=o.audio.deviceId;o.audio.deviceId={exact:e},n=!0,s=Object.assign(Object.assign({},o.audio),{deviceId:{ideal:e}})}if(o.video&&typeof o.video==`object`&&typeof o.video.deviceId==`string`){let e=o.video.deviceId;o.video.deviceId={exact:e},n=!0,c=Object.assign(Object.assign({},o.video),{deviceId:{ideal:e}})}o.audio===!0?o.audio={deviceId:`default`}:typeof o.audio==`object`&&o.audio!==null&&(o.audio=Object.assign(Object.assign({},o.audio),{deviceId:o.audio.deviceId||`default`})),o.video===!0?o.video={deviceId:`default`}:typeof o.video==`object`&&!o.video.deviceId&&(o.video.deviceId=`default`);let l=KT(WT(o,Wk,Gk)),u=navigator.mediaDevices.getUserMedia(l);o.audio&&(hO.userMediaPromiseMap.set(`audioinput`,u),u.catch(()=>hO.userMediaPromiseMap.delete(`audioinput`))),o.video&&(hO.userMediaPromiseMap.set(`videoinput`,u),u.catch(()=>hO.userMediaPromiseMap.delete(`videoinput`)));try{let e=yield u;return yield Promise.all(e.getTracks().map(n=>q(this,void 0,void 0,function*(){let r=n.kind===`audio`,o,s=r?l.audio:l.video;typeof s!=`boolean`&&(o=s);let c=n.getSettings().deviceId;o?.deviceId&&rD(o.deviceId)!==c?o.deviceId=c:o||={deviceId:c};let u=yA(n,o,t);return u.kind===$.Kind.Video?u.source=$.Source.Camera:u.kind===$.Kind.Audio&&(u.source=$.Source.Microphone),u.mediaStream=e,fD(u)&&i?yield u.setProcessor(i):pD(u)&&a&&(yield u.setProcessor(a)),u})))}catch(r){if(!n)throw r;return rN(Object.assign(Object.assign({},e),{audio:s,video:c}),t)}})}var iN;(function(e){e.Excellent=`excellent`,e.Good=`good`,e.Poor=`poor`,e.Lost=`lost`,e.Unknown=`unknown`})(iN||={});function aN(e){switch(e){case Zb.EXCELLENT:return iN.Excellent;case Zb.GOOD:return iN.Good;case Zb.POOR:return iN.Poor;case Zb.LOST:return iN.Lost;default:return iN.Unknown}}var oN=class extends WC.EventEmitter{get logContext(){var e;return Object.assign({},((e=this.loggerOptions)?.loggerContextCb)?.call(e))}get isEncrypted(){return this.trackPublications.size>0&&Array.from(this.trackPublications.values()).every(e=>e.isEncrypted)}get isAgent(){return this.permissions?.agent||this.kind===lx.AGENT}get isActive(){return this.participantInfo?.state===cx.ACTIVE}get kind(){return this._kind}get attributes(){return Object.freeze(Object.assign({},this._attributes))}constructor(e,t,n,r,i,a){let o=arguments.length>6&&arguments[6]!==void 0?arguments[6]:lx.STANDARD;super(),this.audioLevel=0,this.isSpeaking=!1,this._connectionQuality=iN.Unknown,this.log=TC,this.loggerOptions=a,this.log=EC(a?.loggerName??wC.Participant,()=>this.logContext),this.setMaxListeners(100),this.sid=e,this.identity=t,this.name=n,this.metadata=r,this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.trackPublications=new Map,this._kind=o,this._attributes=i??{}}getTrackPublications(){return Array.from(this.trackPublications.values())}getTrackPublication(e){for(let t of this.trackPublications){let n=G(t,2)[1];if(n.source===e)return n}}getTrackPublicationByName(e){for(let t of this.trackPublications){let n=G(t,2)[1];if(n.trackName===e)return n}}waitUntilActive(){return this.isActive?Promise.resolve():this.activeFuture?this.activeFuture.promise:(this.activeFuture=new tD,this.once(X.Active,()=>{var e,t;(t=(e=this.activeFuture)?.resolve)==null||t.call(e),this.activeFuture=void 0}),this.activeFuture.promise)}get connectionQuality(){return this._connectionQuality}get isCameraEnabled(){return!(this.getTrackPublication($.Source.Camera)?.isMuted??!0)}get isMicrophoneEnabled(){return!(this.getTrackPublication($.Source.Microphone)?.isMuted??!0)}get isScreenShareEnabled(){return!!this.getTrackPublication($.Source.ScreenShare)}get isLocal(){return!1}get joinedAt(){return this.participantInfo?new Date(Number.parseInt(this.participantInfo.joinedAt.toString())*1e3):new Date}updateInfo(e){return this.participantInfo&&this.participantInfo.sid===e.sid&&this.participantInfo.version>e.version?!1:(this.identity=e.identity,this.sid=e.sid,this._setName(e.name),this._setMetadata(e.metadata),this._setAttributes(e.attributes),e.state===cx.ACTIVE&&this.participantInfo?.state!==cx.ACTIVE&&this.emit(X.Active),e.permission&&this.setPermissions(e.permission),this.participantInfo=e,!0)}_setMetadata(e){let t=this.metadata!==e,n=this.metadata;this.metadata=e,t&&this.emit(X.ParticipantMetadataChanged,n)}_setName(e){let t=this.name!==e;this.name=e,t&&this.emit(X.ParticipantNameChanged,e)}_setAttributes(e){let t=nE(this.attributes,e);this._attributes=e,Object.keys(t).length>0&&this.emit(X.AttributesChanged,t)}setPermissions(e){let t=this.permissions,n=e.canPublish!==this.permissions?.canPublish||e.canSubscribe!==this.permissions?.canSubscribe||e.canPublishData!==this.permissions?.canPublishData||e.hidden!==this.permissions?.hidden||e.recorder!==this.permissions?.recorder||e.canPublishSources.length!==this.permissions.canPublishSources.length||e.canPublishSources.some((e,t)=>e!==this.permissions?.canPublishSources[t])||e.canSubscribeMetrics!==this.permissions?.canSubscribeMetrics;return this.permissions=e,n&&this.emit(X.ParticipantPermissionsChanged,t),n}setIsSpeaking(e){e!==this.isSpeaking&&(this.isSpeaking=e,e&&(this.lastSpokeAt=new Date),this.emit(X.IsSpeakingChanged,e))}setConnectionQuality(e){let t=this._connectionQuality;this._connectionQuality=aN(e),t!==this._connectionQuality&&this.emit(X.ConnectionQualityChanged,this._connectionQuality)}setDisconnected(){var e,t;this.activeFuture&&=((t=(e=this.activeFuture).reject)==null||t.call(e,Error(`Participant disconnected`)),void 0)}setAudioContext(e){this.audioContext=e,this.audioTrackPublications.forEach(t=>fD(t.track)&&t.track.setAudioContext(e))}addTrackPublication(e){this.log.debug(`adding track publication`,{trackSid:e.trackSid,source:e.source,kind:e.kind}),e.on(Q.Muted,()=>{this.emit(X.TrackMuted,e)}),e.on(Q.Unmuted,()=>{this.emit(X.TrackUnmuted,e)});let t=e;switch(t.track&&(t.track.sid=e.trackSid),this.trackPublications.set(e.trackSid,e),e.kind){case $.Kind.Audio:this.audioTrackPublications.set(e.trackSid,e);break;case $.Kind.Video:this.videoTrackPublications.set(e.trackSid,e)}}};function sN(e){if(!e.participantSid&&!e.participantIdentity)throw Error(`Invalid track permission, must provide at least one of participantIdentity and participantSid`);return new XS({participantIdentity:e.participantIdentity??``,participantSid:e.participantSid??``,allTracks:e.allowAll??!1,trackSids:e.allowedTrackSids||[]})}var cN=class extends oN{constructor(e,t,n,r,i,a,o,s){super(e,t,void 0,void 0,void 0,{loggerName:r.loggerName,loggerContextCb:()=>this.engine.logContext}),this.pendingPublishing=new Set,this.pendingPublishPromises=new Map,this.participantTrackPermissions=[],this.allParticipantsAllowedToSubscribe=!0,this.encryptionType=dx.NONE,this.e2eeStateMutex=new jv,this.enabledPublishVideoCodecs=[],this.handleReconnecting=()=>{this.reconnectFuture||=new tD},this.handleReconnected=()=>{var e,t;(t=(e=this.reconnectFuture)?.resolve)==null||t.call(e),this.reconnectFuture=void 0,this.updateTrackSubscriptionPermissions()},this.handleClosing=()=>{var e,t,n,r,i,a;this.reconnectFuture&&=(this.reconnectFuture.promise.catch(e=>this.log.warn(e.message)),(t=(e=this.reconnectFuture)?.reject)==null||t.call(e,Error(`Got disconnected during reconnection attempt`)),void 0),this.signalConnectedFuture&&=((r=(n=this.signalConnectedFuture).reject)==null||r.call(n,Error(`Got disconnected without signal connected`)),void 0),(a=(i=this.activeAgentFuture)?.reject)==null||a.call(i,Error(`Got disconnected without active agent present`)),this.activeAgentFuture=void 0,this.firstActiveAgent=void 0},this.handleSignalConnected=e=>{var t,n;e.participant&&this.updateInfo(e.participant),this.signalConnectedFuture||=new tD,(n=(t=this.signalConnectedFuture).resolve)==null||n.call(t)},this.handleSignalRequestResponse=e=>{let t=e.requestId,n=e.reason,r=e.message,i=this.pendingSignalRequests.get(t);switch(i&&(n!==uC.OK&&i.reject(new xT(r,n)),this.pendingSignalRequests.delete(t)),e.request.case){case`publishDataTrack`:{let t;switch(e.reason){case uC.NOT_ALLOWED:t=MM.notAllowed(e.message);break;case uC.DUPLICATE_NAME:t=MM.duplicateName(e.message);break;case uC.INVALID_NAME:t=MM.invalidName(e.message);break;case uC.LIMIT_EXCEEDED:t=MM.limitReached(e.message);break;default:t=MM.unknown(e.reason,e.message)}this.roomOutgoingDataTrackManager.receivedSfuPublishResponse(e.request.value.pubHandle,{type:`error`,error:t});break}}},this.updateTrackSubscriptionPermissions=()=>{this.log.debug(`updating track subscription permissions`,{allParticipantsAllowed:this.allParticipantsAllowedToSubscribe,participantTrackPermissions:this.participantTrackPermissions}),this.engine.client.sendUpdateSubscriptionPermissions(this.allParticipantsAllowedToSubscribe,this.participantTrackPermissions.map(e=>sN(e)))},this.onTrackUnmuted=e=>{this.onTrackMuted(e,e.isUpstreamPaused)},this.onTrackMuted=(e,t)=>{if(t===void 0&&(t=!0),!e.sid){this.log.error(`could not update mute status for unpublished track`,eE(e));return}this.engine.updateMuteStatus(e.sid,t)},this.onTrackUpstreamPaused=e=>{this.log.debug(`upstream paused`,eE(e)),this.onTrackMuted(e,!0)},this.onTrackUpstreamResumed=e=>{this.log.debug(`upstream resumed`,eE(e)),this.onTrackMuted(e,e.isMuted)},this.onTrackFeatureUpdate=e=>{let t=this.audioTrackPublications.get(e.sid);if(!t){this.log.warn(`Could not update local audio track settings, missing publication for track ${e.sid}`);return}this.engine.client.sendUpdateLocalAudioTrack(t.trackSid,t.getTrackFeatures())},this.onTrackCpuConstrained=(e,t)=>{this.log.debug(`track cpu constrained`,eE(t)),this.emit(X.LocalTrackCpuConstrained,e,t)},this.handleSubscribedQualityUpdate=e=>q(this,void 0,void 0,function*(){var t,n,r,i;if(!this.roomOptions?.dynacast)return;let a=this.videoTrackPublications.get(e.trackSid);if(!a){this.log.warn(`received subscribed quality update for unknown track`,{trackSid:e.trackSid});return}if(!a.videoTrack)return;let o=yield a.videoTrack.setPublishingCodecs(e.subscribedCodecs);try{for(var s=!0,c=BC(o),l;l=yield c.next(),t=l.done,!t;s=!0){i=l.value,s=!1;let e=i;RT(e)&&(this.log.debug(`publish ${e} for ${a.videoTrack.sid}`,eE(a)),yield this.publishAdditionalCodecForTrack(a.videoTrack,e,a.options))}}catch(e){n={error:e}}finally{try{!s&&!t&&(r=c.return)&&(yield r.call(c))}finally{if(n)throw n.error}}}),this.handleLocalTrackUnpublished=e=>{let t=this.trackPublications.get(e.trackSid);if(!t){this.log.warn(`received unpublished event for unknown track`,{trackSid:e.trackSid});return}this.unpublishTrack(t.track)},this.handleTrackEnded=e=>q(this,void 0,void 0,function*(){if(e.source===$.Source.ScreenShare||e.source===$.Source.ScreenShareAudio)this.log.debug(`unpublishing local track due to TrackEnded`,eE(e)),this.unpublishTrack(e);else if(e.isUserProvided)yield e.mute();else if(hD(e)||mD(e))try{if(LE())try{let t=yield navigator==null?void 0:navigator.permissions.query({name:e.source===$.Source.Camera?`camera`:`microphone`});if(t&&t.state===`denied`)throw this.log.warn(`user has revoked access to ${e.source}`,eE(e)),t.onchange=()=>{t.state!==`denied`&&(e.isMuted||e.restartTrack(),t.onchange=null)},Error(`GetUserMedia Permission denied`)}catch{}e.isMuted||(this.log.debug(`track ended, attempting to use a different device`,eE(e)),hD(e)?yield e.restartTrack({deviceId:`default`}):yield e.restartTrack())}catch{this.log.warn(`could not restart track, muting instead`,eE(e)),yield e.mute()}}),this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.trackPublications=new Map,this.engine=n,this.roomOptions=r,this.setupEngine(n),this.activeDeviceMap=new Map([[`audioinput`,`default`],[`videoinput`,`default`],[`audiooutput`,`default`]]),this.pendingSignalRequests=new Map,this.roomOutgoingDataStreamManager=i,this.roomOutgoingDataTrackManager=a,this.rpcClientManager=o,this.rpcServerManager=s}get lastCameraError(){return this.cameraError}get lastMicrophoneError(){return this.microphoneError}get isE2EEEnabled(){return this.encryptionType!==dx.NONE}getTrackPublication(e){let t=super.getTrackPublication(e);if(t)return t}getTrackPublicationByName(e){let t=super.getTrackPublicationByName(e);if(t)return t}setupEngine(e){this.engine=e,this.engine.on(Z.RemoteMute,(e,t)=>{let n=this.trackPublications.get(e);n&&n.track&&(t?n.mute():n.unmute())}),this.signalConnectedFuture?.isResolved&&(this.signalConnectedFuture=void 0),this.engine.on(Z.Connected,this.handleReconnected).on(Z.SignalConnected,this.handleSignalConnected).on(Z.SignalRestarted,this.handleReconnected).on(Z.SignalResumed,this.handleReconnected).on(Z.Restarting,this.handleReconnecting).on(Z.Resuming,this.handleReconnecting).on(Z.LocalTrackUnpublished,this.handleLocalTrackUnpublished).on(Z.SubscribedQualityUpdate,this.handleSubscribedQualityUpdate).on(Z.Closing,this.handleClosing).on(Z.SignalRequestResponse,this.handleSignalRequestResponse)}setMetadata(e){return q(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({metadata:e})})}setName(e){return q(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({name:e})})}setAttributes(e){return q(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({attributes:e})})}requestMetadataUpdate(e){return q(this,arguments,void 0,function(e){var t=this;let n=e.metadata,r=e.name,i=e.attributes;return function*(){return new rT((e,a)=>q(t,void 0,void 0,function*(){try{let t=!1,o=yield this.engine.client.sendUpdateLocalMetadata(n??this.metadata??``,r??this.name??``,i),s=performance.now();for(this.pendingSignalRequests.set(o,{resolve:e,reject:e=>{a(e),t=!0},values:{name:r,metadata:n,attributes:i}});performance.now()-s<5e3&&!t;){if((!r||this.name===r)&&(!n||this.metadata===n)&&(!i||Object.entries(i).every(e=>{let t=G(e,2),n=t[0],r=t[1];return this.attributes[n]===r||r===``&&!this.attributes[n]}))){this.pendingSignalRequests.delete(o),e();return}yield hE(50)}a(new xT(`Request to update local metadata timed out`,`TimeoutError`))}catch(e){e instanceof Error?a(e):a(Error(String(e)))}}))}()})}setCameraEnabled(e,t,n){return this.setTrackEnabled($.Source.Camera,e,t,n)}setMicrophoneEnabled(e,t,n){return this.setTrackEnabled($.Source.Microphone,e,t,n)}setScreenShareEnabled(e,t,n){return this.setTrackEnabled($.Source.ScreenShare,e,t,n)}setE2EEEnabled(e){return q(this,void 0,void 0,function*(){let t=yield this.e2eeStateMutex.lock();try{if(this.encryptionType=e?dx.GCM:dx.NONE,yield Promise.all(this.pendingPublishPromises.values()),this.trackPublications.size===0||Array.from(this.trackPublications.values()).every(t=>t.isEncrypted===e))return;yield this.republishAllTracks(void 0,!1)}finally{t()}})}setTrackEnabled(e,t,n,r){return q(this,void 0,void 0,function*(){this.log.debug(`setTrackEnabled`,{source:e,enabled:t}),this.republishPromise&&(yield this.republishPromise);let i=this.getTrackPublication(e);if(t){if(i)yield i.unmute();else{let t;if(this.pendingPublishing.has(e)){let t=yield this.waitForPendingPublicationOfSource(e);return t||this.log.info(`waiting for pending publication promise timed out`,{source:e}),yield t?.unmute(),t}this.pendingPublishing.add(e);try{switch(e){case $.Source.Camera:t=yield this.createTracks({video:n??!0});break;case $.Source.Microphone:t=yield this.createTracks({audio:n??!0});break;case $.Source.ScreenShare:t=yield this.createScreenTracks(Object.assign({},n));break;default:throw new hT(e)}}catch(n){throw t?.forEach(e=>{e.stop()}),n instanceof Error&&this.emit(X.MediaDevicesError,n,XT(e)),this.pendingPublishing.delete(e),n}for(let r of t){let t=Object.assign(Object.assign({},this.roomOptions.publishDefaults),n);e===$.Source.Microphone&&fD(r)&&t.preConnectBuffer&&(this.log.info(`starting preconnect buffer for microphone`),r.startPreConnectBuffer())}try{let e=[];for(let n of t)this.log.info(`publishing track`,eE(n)),e.push(this.publishTrack(n,r));i=G(yield Promise.all(e),1)[0]}catch(e){throw t?.forEach(e=>{e.stop()}),e}finally{this.pendingPublishing.delete(e)}}}else if(!i?.track&&this.pendingPublishing.has(e)&&(i=yield this.waitForPendingPublicationOfSource(e),i||this.log.info(`waiting for pending publication promise timed out`,{source:e})),i&&i.track){if(e===$.Source.ScreenShare){let e=[this.unpublishTrack(i.track)],t=this.getTrackPublication($.Source.ScreenShareAudio);t&&t.track&&e.push(this.unpublishTrack(t.track)),i=G(yield Promise.all(e),1)[0]}else yield i.mute()}return i})}enableCameraAndMicrophone(){return q(this,void 0,void 0,function*(){if(!(this.pendingPublishing.has($.Source.Camera)||this.pendingPublishing.has($.Source.Microphone))){this.pendingPublishing.add($.Source.Camera),this.pendingPublishing.add($.Source.Microphone);try{let e=yield this.createTracks({audio:!0,video:!0});yield Promise.all(e.map(e=>this.publishTrack(e)))}finally{this.pendingPublishing.delete($.Source.Camera),this.pendingPublishing.delete($.Source.Microphone)}}})}createTracks(e){return q(this,void 0,void 0,function*(){e??={};let t=WT(e,this.roomOptions?.audioCaptureDefaults,this.roomOptions?.videoCaptureDefaults);try{return(yield rN(t,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext})).map(e=>(fD(e)&&(this.microphoneError=void 0,e.setAudioContext(this.audioContext),e.source=$.Source.Microphone,this.emit(X.AudioStreamAcquired)),pD(e)&&(this.cameraError=void 0,e.source=$.Source.Camera),e))}catch(t){throw t instanceof Error&&(e.audio&&(this.microphoneError=t),e.video&&(this.cameraError=t)),t}})}createScreenTracks(e){return q(this,void 0,void 0,function*(){if(e===void 0&&(e={}),navigator.mediaDevices.getDisplayMedia===void 0)throw new mT(`getDisplayMedia not supported`);e.resolution===void 0&&!NE()&&(e.resolution=UT.h1080fps30.resolution);let t=ZT(e),n=yield navigator.mediaDevices.getDisplayMedia(t),r=n.getVideoTracks();if(r.length===0)throw new hT(`no video track found`);let i=new RA(r[0],void 0,!1,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});i.source=$.Source.ScreenShare,e.contentHint&&(i.mediaStreamTrack.contentHint=e.contentHint);let a=[i];if(n.getAudioTracks().length>0){this.emit(X.AudioStreamAcquired);let e=new vA(n.getAudioTracks()[0],void 0,!1,this.audioContext,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});e.source=$.Source.ScreenShareAudio,a.push(e)}return a})}publishTrack(e,t){return q(this,void 0,void 0,function*(){return this.publishOrRepublishTrack(e,t)})}waitForNextEngineRestart(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:15e3;return new Promise((t,n)=>{let r=()=>{clearTimeout(o),this.engine.off(Z.Restarted,i),this.engine.off(Z.Closing,a)},i=()=>{r(),t()},a=()=>{r(),n(Error(`engine closed before restart completed`))},o=setTimeout(()=>{r(),n(Error(`timed out waiting for engine restart`))},e);this.engine.once(Z.Restarted,i),this.engine.once(Z.Closing,a)})}publishOrRepublishTrack(e,t){return q(this,arguments,void 0,function(e,t){var n=this;let r=arguments.length>2&&arguments[2]!==void 0&&arguments[2],i=arguments.length>3&&arguments[3]!==void 0&&arguments[3];return function*(){hD(e)&&e.setAudioContext(n.audioContext),yield n.reconnectFuture?.promise,n.republishPromise&&!r&&(yield n.republishPromise),dD(e)&&n.pendingPublishPromises.has(e)&&(yield n.pendingPublishPromises.get(e));let a;if(e instanceof MediaStreamTrack)a=e.getConstraints();else{a=e.constraints;let t;switch(e.source){case $.Source.Microphone:t=`audioinput`;break;case $.Source.Camera:t=`videoinput`}t&&n.activeDeviceMap.has(t)&&(a=Object.assign(Object.assign({},a),{deviceId:n.activeDeviceMap.get(t)}))}if(e instanceof MediaStreamTrack)switch(e.kind){case`audio`:e=new vA(e,a,!0,n.audioContext,{loggerName:n.roomOptions.loggerName,loggerContextCb:()=>n.logContext});break;case`video`:e=new RA(e,a,!0,{loggerName:n.roomOptions.loggerName,loggerContextCb:()=>n.logContext});break;default:throw new hT(`unsupported MediaStreamTrack kind ${e.kind}`)}else e.updateLoggerOptions({loggerName:n.roomOptions.loggerName,loggerContextCb:()=>n.logContext});let o;if(n.trackPublications.forEach(t=>{t.track&&t.track===e&&(o=t)}),o)return n.log.warn(`track has already been published, skipping`,eE(o)),o;let s=Object.assign(Object.assign({},n.roomOptions.publishDefaults),t),c=`channelCount`in e.mediaStreamTrack.getSettings()&&e.mediaStreamTrack.getSettings().channelCount===2||e.mediaStreamTrack.getConstraints().channelCount===2,l=s.forceStereo??c;l&&(s.dtx===void 0&&n.log.debug(`Opus DTX will be disabled for stereo tracks by default. Enable them explicitly to make it work.`,eE(e)),s.red===void 0&&n.log.debug(`Opus RED will be disabled for stereo tracks by default. Enable them explicitly to make it work.`),s.dtx??=!1,s.red??=!1),!IE()&&n.roomOptions.e2ee&&(n.log.info(`End-to-end encryption is set up, simulcast publishing will be disabled on Safari versions and iOS browsers running iOS < v17.2`),s.simulcast=!1),s.source&&(e.source=s.source);let u=new Promise((t,r)=>q(n,void 0,void 0,function*(){try{if(this.engine.client.currentState!==tk.CONNECTED){this.log.debug(`deferring track publication until signal is connected`,{track:eE(e)});let n=!1,i=setTimeout(()=>{n=!0,e.stop(),r(new bT(`publishing rejected as engine not connected within timeout`,408))},15e3);if(yield this.waitUntilEngineConnected(),clearTimeout(i),n)return;t(yield this.publish(e,s,l))}else try{t(yield this.publish(e,s,l))}catch(e){r(e)}}catch(e){r(e)}}));n.pendingPublishPromises.set(e,u);try{return yield u}catch(a){if(!i&&a instanceof vT)return n.log.warn(`negotiation due to track publish failed, retrying after reconnect`,{error:a}),n.pendingPublishPromises.delete(e),yield n.waitForNextEngineRestart(),yield n.publishOrRepublishTrack(e,t,r,!0);throw a}finally{n.pendingPublishPromises.delete(e)}}()})}waitUntilEngineConnected(){return this.signalConnectedFuture||=new tD,this.signalConnectedFuture.promise}hasPermissionsToPublish(e){if(!this.permissions)return this.log.warn(`no permissions present for publishing track`,eE(e)),!1;let t=this.permissions,n=t.canPublish,r=t.canPublishSources;return n&&(r.length===0||r.map(e=>iE(e)).includes(e.source))?!0:(this.log.warn(`insufficient permissions to publish`,eE(e)),!1)}publish(e,t,n){return q(this,void 0,void 0,function*(){if(!this.hasPermissionsToPublish(e))throw new bT(`failed to publish track, insufficient permissions`,403);Array.from(this.trackPublications.values()).find(t=>dD(e)&&t.source===e.source)&&e.source!==$.Source.Unknown&&this.log.info(`publishing a second track with the same source: ${e.source}`,eE(e)),t.stopMicTrackOnMute&&fD(e)&&(e.stopOnMute=!0),e.source===$.Source.ScreenShare&&OE()&&(t.simulcast=!1),t.videoCodec===`av1`&&!vE()&&(t.videoCodec=void 0),t.videoCodec===`vp9`&&!yE()&&(t.videoCodec=void 0),t.videoCodec===void 0&&(t.videoCodec=Hk),this.enabledPublishVideoCodecs.length>0&&(this.enabledPublishVideoCodecs.some(e=>t.videoCodec===QT(e.mime))||(t.videoCodec=QT(this.enabledPublishVideoCodecs[0].mime)));let r=t.videoCodec;e.on(Q.Muted,this.onTrackMuted),e.on(Q.Unmuted,this.onTrackUnmuted),e.on(Q.Ended,this.handleTrackEnded),e.on(Q.UpstreamPaused,this.onTrackUpstreamPaused),e.on(Q.UpstreamResumed,this.onTrackUpstreamResumed),e.on(Q.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate);let i=[],a=!(t.dtx??!0),o=e.getSourceTrackSettings();o.autoGainControl&&i.push(nx.TF_AUTO_GAIN_CONTROL),o.echoCancellation&&i.push(nx.TF_ECHO_CANCELLATION),o.noiseSuppression&&i.push(nx.TF_NOISE_SUPPRESSION),o.channelCount&&o.channelCount>1&&i.push(nx.TF_STEREO),a&&i.push(nx.TF_NO_DTX),hD(e)&&e.hasPreConnectBuffer&&i.push(nx.TF_PRECONNECT_BUFFER);let s=this.normalizeRequestedFrameMetadataOptions(e,t),c=new uS({cid:e.mediaStreamTrack.id,name:t.name,type:$.kindToProto(e.kind),muted:e.isMuted,source:$.sourceToProto(e.source),disableDtx:a,encryption:this.encryptionType,stereo:n,disableRed:this.isE2EEEnabled||!(t.red??!0),stream:t?.stream,backupCodecPolicy:t?.backupCodecPolicy,audioFeatures:i,packetTrailerFeatures:s}),l;if(e.kind===$.Kind.Video){let n;try{n=yield e.waitForDimensions()}catch{let t=this.roomOptions.videoCaptureDefaults?.resolution??VT.h720.resolution;n={width:t.width,height:t.height},this.log.error(`could not determine track dimensions, using defaults`,Object.assign(Object.assign({},eE(e)),{dims:n}))}if(c.width=n.width,c.height=n.height,mD(e)){SE(r,t)&&(CE()||!TE(this.engine?.serverVersion))&&(t.simulcast=!1,this.log.info(`SVC simulcast is not supported, disabling simulcast.`,eE(e)));let n=SE(r,t);bE(r)&&!n&&(e.source===$.Source.ScreenShare&&(t.scalabilityMode=`L1T3`,`contentHint`in e.mediaStreamTrack&&(e.mediaStreamTrack.contentHint=`motion`,this.log.debug(`forcing contentHint to motion for screenshare with SVC codecs`,eE(e)))),t.scalabilityMode=t.scalabilityMode??`L3T3_KEY`);let i=new lS({codec:r,cid:e.mediaStreamTrack.id});n&&(i.videoLayerMode=wx.ONE_SPATIAL_LAYER_PER_STREAM),c.simulcastCodecs=[i],t.backupCodec===!0&&(t.backupCodec={codec:Hk}),t.backupCodec&&r!==t.backupCodec.codec&&c.encryption===dx.NONE&&(this.roomOptions.dynacast||(this.roomOptions.dynacast=!0),c.simulcastCodecs.push(new lS({codec:t.backupCodec.codec,cid:``})))}l=DA(e.source===$.Source.ScreenShare,c.width,c.height,t),c.layers=VA(c.width,c.height,l,bE(t.videoCodec)&&!SE(t.videoCodec,t))}else e.kind===$.Kind.Audio&&(l=[{maxBitrate:t.audioPreset?.maxBitrate,priority:t.audioPreset?.priority??`high`,networkPriority:t.audioPreset?.priority??`high`}]);if(!this.engine||this.engine.isClosed)throw new _T(`cannot publish track when not connected`);let u=()=>q(this,void 0,void 0,function*(){if(!this.engine.pcManager)throw new _T(`pcManager is not ready`);if(e.sender=yield this.engine.createSender(e,t,l),mD(e)&&(e.publishOptions=t),this.emit(X.LocalSenderCreated,e.sender,e),mD(e)&&(t.degradationPreference??=IA(e),e.setDegradationPreference(t.degradationPreference)),l){if(OE()&&e.kind===$.Kind.Audio){let t;for(let n of this.engine.pcManager.publisher.getTransceivers())if(n.sender===e.sender){t=n;break}t&&this.engine.pcManager.publisher.setTrackCodecBitrate({transceiver:t,codec:`opus`,maxbr:l[0]?.maxBitrate?l[0].maxBitrate/1e3:0})}else if(e.codec&&nD(e.codec)){let n=OA(e.codec,t,l);n>0&&this.engine.pcManager.publisher.setTrackCodecBitrate({cid:c.cid,codec:e.codec,maxbr:n/1e3,isScreenShare:e.source===$.Source.ScreenShare})}}yield this.engine.negotiate()}),d,f=new Promise((t,n)=>q(this,void 0,void 0,function*(){try{d=yield this.engine.addTrack(c),t(d)}catch(t){if(e.sender&&this.engine.pcManager?.publisher){try{this.engine.pcManager.publisher.removeTrack(e.sender)}catch(e){this.log.error(e)}yield this.engine.negotiate().catch(t=>{this.log.error(`failed to negotiate after removing track due to failed add track request`,Object.assign(Object.assign({},eE(e)),{error:t}))})}n(t)}}));if(this.enabledPublishVideoCodecs.length>0&&s.length===0)d=(yield Promise.all([f,u()]))[0];else{d=yield f;let n;if(d.codecs.forEach(e=>{n===void 0&&(n=e.mimeType)}),n&&e.kind===$.Kind.Video){let i=QT(n);i!==r&&(this.log.debug(`falling back to server selected codec`,Object.assign(Object.assign({},eE(e)),{codec:i})),t.videoCodec=i,l=DA(e.source===$.Source.ScreenShare,c.width,c.height,t))}yield u()}let p=new nN(e.kind,d,e,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});if(p.on(Q.CpuConstrained,e=>this.onTrackCpuConstrained(e,p)),p.options=t,e.sid=d.sid,mD(e)&&(e.publishOptions=t,c.width&&c.height&&(e.lastEncodedDimensions={width:c.width,height:c.height})),this.log.debug(`publishing ${e.kind} with encodings`,{encodings:l,trackInfo:d}),mD(e)?e.startMonitor(this.engine.client):hD(e)&&e.startMonitor(),this.addTrackPublication(p),this.emit(X.LocalTrackPublished,p),hD(e)&&d.audioFeatures.includes(nx.TF_PRECONNECT_BUFFER)){let t=e.getPreConnectBuffer(),n=e.getPreConnectBufferMimeType();this.on(X.LocalTrackSubscribed,t=>{if(t.trackSid===d.sid){if(!e.hasPreConnectBuffer){this.log.warn(`subscribe event came to late, buffer already closed`);return}this.log.debug(`finished recording preconnect buffer`,eE(e)),e.stopPreConnectBuffer()}}),t&&new Promise((r,i)=>q(this,void 0,void 0,function*(){var a,s,c,l;try{this.log.debug(`waiting for agent`,eE(e));let m=setTimeout(()=>{i(Error(`agent not active within 10 seconds`))},1e4),h=yield this.waitUntilActiveAgentPresent();clearTimeout(m),this.log.debug(`sending preconnect buffer`,eE(e));let g=yield this.streamBytes({name:`preconnect-buffer`,mimeType:n,topic:`lk.agent.pre-connect-audio-buffer`,destinationIdentities:[h.identity],attributes:{trackId:p.trackSid,sampleRate:String(o.sampleRate??`48000`),channels:String(o.channelCount??`1`)}});try{for(var u=!0,d=BC(t),f;f=yield d.next(),a=f.done,!a;u=!0){l=f.value,u=!1;let e=l;yield g.write(e)}}catch(e){s={error:e}}finally{try{!u&&!a&&(c=d.return)&&(yield c.call(d))}finally{if(s)throw s.error}}yield g.close(),r()}catch(e){i(e)}})).then(()=>{this.log.debug(`preconnect buffer sent successfully`,eE(e))}).catch(t=>{this.log.error(`error sending preconnect buffer`,Object.assign(Object.assign({},eE(e)),{error:t}))})}return p})}canPublishFrameMetadata(){return!!(this.roomOptions.e2ee||this.roomOptions.encryption||JD(this.roomOptions.frameMetadata??this.roomOptions.packetTrailer))}normalizeRequestedFrameMetadataOptions(e,t){let n=t.frameMetadata??t.packetTrailer;if(e.kind!==$.Kind.Video||!YD(n))return t.frameMetadata=void 0,t.packetTrailer=void 0,[];if(!this.canPublishFrameMetadata())return this.log.warn(`frame metadata transform not supported; not advertising features`,Object.assign(Object.assign({},this.logContext),eE(e))),t.frameMetadata=void 0,t.packetTrailer=void 0,[];let r=XD(n),i=ZD(r);return t.frameMetadata=i,t.packetTrailer=i,r}get isLocal(){return!0}publishAdditionalCodecForTrack(e,t,n){return q(this,void 0,void 0,function*(){if(this.encryptionType!==dx.NONE)return;let r;if(this.trackPublications.forEach(t=>{t.track&&t.track===e&&(r=t)}),!r)throw new hT(`track is not published`);if(!mD(e))throw new hT(`track is not a video track`);let i=Object.assign(Object.assign({},this.roomOptions?.publishDefaults),n),a=kA(e,t,i);if(!a){this.log.info(`backup codec has been disabled, ignoring request to add additional codec for track`,eE(e));return}let o=e.addSimulcastTrack(t,a);if(!o)return;let s=this.normalizeRequestedFrameMetadataOptions(e,i),c=new uS({cid:o.mediaStreamTrack.id,type:$.kindToProto(e.kind),muted:e.isMuted,source:$.sourceToProto(e.source),sid:e.sid,packetTrailerFeatures:s,simulcastCodecs:[{codec:i.videoCodec,cid:o.mediaStreamTrack.id}]});if(c.layers=VA(c.width,c.height,a),!this.engine||this.engine.isClosed)throw new _T(`cannot publish track when not connected`);let l=(yield Promise.all([this.engine.addTrack(c),q(this,void 0,void 0,function*(){yield this.engine.createSimulcastSender(e,o,i,a),yield this.engine.negotiate()})]))[0];this.log.debug(`published ${t} for track ${e.sid}`,{encodings:a,trackInfo:l})})}unpublishTrack(e,t){return q(this,void 0,void 0,function*(){if(dD(e)){let t=this.pendingPublishPromises.get(e);t&&(this.log.debug(`awaiting publish promise before attempting to unpublish`,eE(e)),yield t)}let n=this.getPublicationForTrack(e),r=n?eE(n):void 0;if(this.log.info(`unpublishing track`,r),!n||!n.track){this.log.warn(`track was not unpublished because no publication was found`,r);return}e=n.track,e.off(Q.Muted,this.onTrackMuted),e.off(Q.Unmuted,this.onTrackUnmuted),e.off(Q.Ended,this.handleTrackEnded),e.off(Q.UpstreamPaused,this.onTrackUpstreamPaused),e.off(Q.UpstreamResumed,this.onTrackUpstreamResumed),e.off(Q.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate),t===void 0&&(t=this.roomOptions?.stopLocalTrackOnUnpublish??!0),t?e.stop():e.stopMonitor();let i=!1,a=e.sender;if(e.sender=void 0,this.engine.pcManager&&this.engine.pcManager.currentState<Jk.FAILED&&a)try{for(let e of this.engine.pcManager.publisher.getTransceivers())e.sender===a&&(e.direction=`inactive`,i=!0);try{i=this.engine.removeTrack(a)}catch(e){this.log.warn(e),i=!0}if(mD(e)){for(let t of e.simulcastCodecs){let e=G(t,2)[1];if(e.sender){try{i=this.engine.removeTrack(e.sender)}catch(e){this.log.warn(e),i=!0}e.sender=void 0}}e.simulcastCodecs.clear()}}catch(e){this.log.warn(`failed to unpublish track`,Object.assign(Object.assign({},r),{error:e}))}switch(this.trackPublications.delete(n.trackSid),n.kind){case $.Kind.Audio:this.audioTrackPublications.delete(n.trackSid);break;case $.Kind.Video:this.videoTrackPublications.delete(n.trackSid)}return this.emit(X.LocalTrackUnpublished,n),n.setTrack(void 0),i&&(yield this.engine.negotiate()),n})}unpublishTracks(e){return q(this,void 0,void 0,function*(){return(yield Promise.all(e.map(e=>this.unpublishTrack(e)))).filter(e=>!!e)})}republishAllTracks(e){return q(this,arguments,void 0,function(e){var t=this;let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return function*(){t.republishPromise&&(yield t.republishPromise),t.republishPromise=new rT((r,i)=>q(t,void 0,void 0,function*(){try{let t=[];this.trackPublications.forEach(n=>{n.track&&(e&&(n.options=Object.assign(Object.assign({},n.options),e)),t.push(n))}),yield Promise.all(t.map(e=>q(this,void 0,void 0,function*(){let t=e.track;yield this.unpublishTrack(t,!1),n&&!t.isMuted&&t.source!==$.Source.ScreenShare&&t.source!==$.Source.ScreenShareAudio&&(hD(t)||mD(t))&&!t.isUserProvided&&(this.log.debug(`restarting existing track`,{track:e.trackSid}),yield t.restartTrack()),yield this.publishOrRepublishTrack(t,e.options,!0)}))),r()}catch(e){e instanceof Error?i(e):i(Error(String(e)))}finally{this.republishPromise=void 0}})),yield t.republishPromise}()})}publishData(e){return q(this,arguments,void 0,function(e){var t=this;let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return function*(){let r=n.reliable?eA.RELIABLE:eA.LOSSY,i=n.reliable?Ex.RELIABLE:Ex.LOSSY,a=n.destinationIdentities,o=n.topic,s=new Tx({kind:i,value:{case:`user`,value:new jx({participantIdentity:t.identity,payload:e,destinationIdentities:a,topic:o})}});yield t.engine.sendDataPacket(s,r)}()})}publishDtmf(e,t){return q(this,void 0,void 0,function*(){let n=new Tx({kind:Ex.RELIABLE,value:{case:`sipDtmf`,value:new Mx({code:e,digit:t})}});yield this.engine.sendDataPacket(n,eA.RELIABLE)})}sendChatMessage(e,t){return q(this,void 0,void 0,function*(){let n={id:crypto.randomUUID(),message:e,timestamp:Date.now(),attachedFiles:t?.attachments},r=new Tx({value:{case:`chatMessage`,value:new Fx(Object.assign(Object.assign({},n),{timestamp:cy.parse(n.timestamp)}))}});return yield this.engine.sendDataPacket(r,eA.RELIABLE),this.emit(X.ChatMessage,n),n})}editChatMessage(e,t){return q(this,void 0,void 0,function*(){let n=Object.assign(Object.assign({},t),{message:e,editTimestamp:Date.now()}),r=new Tx({value:{case:`chatMessage`,value:new Fx(Object.assign(Object.assign({},n),{timestamp:cy.parse(n.timestamp),editTimestamp:cy.parse(n.editTimestamp)}))}});return yield this.engine.sendDataPacket(r,eA.RELIABLE),this.emit(X.ChatMessage,n),n})}sendText(e,t){return q(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.sendText(e,t)})}streamText(e){return q(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.streamText(e)})}sendFile(e,t){return q(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.sendFile(e,t)})}sendBytes(e,t){return q(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.sendBytes(e,t)})}streamBytes(e){return q(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.streamBytes(e)})}performRpc(e){return this.rpcClientManager.performRpc(e).then(e=>{let t=G(e,2);return t[0],t[1]})}registerRpcMethod(e,t){this.rpcServerManager.registerRpcMethod(e,t)}unregisterRpcMethod(e){this.rpcServerManager.unregisterRpcMethod(e)}setTrackSubscriptionPermissions(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];this.participantTrackPermissions=t,this.allParticipantsAllowedToSubscribe=e,this.engine.client.isDisconnected||this.updateTrackSubscriptionPermissions()}setEnabledPublishCodecs(e){this.enabledPublishVideoCodecs=e.filter(e=>e.mime.split(`/`)[0].toLowerCase()===`video`)}updateInfo(e){return super.updateInfo(e)?(e.tracks.forEach(e=>{let t=this.trackPublications.get(e.sid);if(t){let n=t.isMuted||(t.track?.isUpstreamPaused??!1);n!==e.muted&&(this.log.debug(`updating server mute state after reconcile`,Object.assign(Object.assign({},eE(t)),{mutedOnServer:n})),this.engine.client.sendMuteTrack(e.sid,n))}}),!0):!1}setActiveAgent(e){var t,n,r,i;this.firstActiveAgent=e,e&&!this.firstActiveAgent&&(this.firstActiveAgent=e),e?(n=(t=this.activeAgentFuture)?.resolve)==null||n.call(t,e):(i=(r=this.activeAgentFuture)?.reject)==null||i.call(r,Error(`Agent disconnected`)),this.activeAgentFuture=void 0}waitUntilActiveAgentPresent(){return this.firstActiveAgent?Promise.resolve(this.firstActiveAgent):(this.activeAgentFuture||=new tD,this.activeAgentFuture.promise)}getPublicationForTrack(e){let t;return this.trackPublications.forEach(n=>{let r=n.track;r&&(e instanceof MediaStreamTrack?(hD(r)||mD(r))&&r.mediaStreamTrack===e&&(t=n):e===r&&(t=n))}),t}waitForPendingPublicationOfSource(e){return q(this,void 0,void 0,function*(){let t=Date.now();for(;Date.now()<t+1e4;){let t=Array.from(this.pendingPublishPromises.entries()).find(t=>G(t,1)[0].source===e);if(t)return t[1];yield hE(20)}})}publishDataTrack(e){return q(this,void 0,void 0,function*(){let t=new LM(e,this.roomOutgoingDataTrackManager);return yield t.publish(),t})}},lN=class extends DOMException{constructor(e,t){super(e,`AbortError`),this.reason=t}},uN=class extends Map{constructor(){super(...arguments),this.pending=new Map}set(e,t){var n;super.set(e,t);let r=this.pending?.get(e);if(r){for(let e of r)e.isResolved||(n=e.resolve)==null||n.call(e,t);this.pending.delete(e)}return this}get[Symbol.toStringTag](){return`DeferrableMap`}getDeferred(e,t){return q(this,void 0,void 0,function*(){let n=this.get(e);if(n!==void 0)return n;if(t?.aborted)throw new lN(`The operation was aborted.`,t.reason);let r=new tD(void 0,()=>{let t=this.pending.get(e);if(!t)return;let n=t.indexOf(r);n!==-1&&t.splice(n,1),t.length===0&&this.pending.delete(e)}),i=this.pending.get(e);if(i?i.push(r):this.pending.set(e,[r]),t){let e=()=>{var e;r.isResolved||(e=r.reject)==null||e.call(r,new lN(`The operation was aborted.`,t.reason))};t.addEventListener(`abort`,e,{once:!0}),r.promise.finally(()=>{t.removeEventListener(`abort`,e)})}return r.promise})}},dN=class extends tN{constructor(e,t,n,r){super(e,t.sid,t.name,r),this.track=void 0,this.allowed=!0,this.requestedDisabled=void 0,this.visible=!0,this.handleEnded=e=>{this.setTrack(void 0),this.emit(Q.Ended,e)},this.handleVisibilityChange=e=>{this.log.debug(`adaptivestream video visibility ${this.trackSid}, visible=${e}`,this.logContext),this.visible=e,this.emitTrackUpdate()},this.handleVideoDimensionsChange=e=>{this.log.debug(`adaptivestream video dimensions ${e.width}x${e.height}`,this.logContext),this.videoDimensionsAdaptiveStream=e,this.emitTrackUpdate()},this.subscribed=n,this.updateInfo(t)}setSubscribed(e){let t=this.subscriptionStatus,n=this.permissionStatus;this.subscribed=e,e&&(this.allowed=!0);let r=new TS({trackSids:[this.trackSid],subscribe:this.subscribed,participantTracks:[new Bx({participantSid:``,trackSids:[this.trackSid]})]});this.emit(Q.UpdateSubscription,r),this.emitSubscriptionUpdateIfChanged(t),this.emitPermissionUpdateIfChanged(n)}get subscriptionStatus(){return this.subscribed===!1?tN.SubscriptionStatus.Unsubscribed:super.isSubscribed?tN.SubscriptionStatus.Subscribed:tN.SubscriptionStatus.Desired}get permissionStatus(){return this.allowed?tN.PermissionStatus.Allowed:tN.PermissionStatus.NotAllowed}get isSubscribed(){return this.subscribed!==!1&&super.isSubscribed}get isDesired(){return this.subscribed!==!1}get isEnabled(){return this.requestedDisabled===void 0?!this.isAdaptiveStream||this.visible:!this.requestedDisabled}get isLocal(){return!1}setEnabled(e){this.isManualOperationAllowed()&&this.requestedDisabled!==!e&&(this.requestedDisabled=!e,this.emitTrackUpdate())}setVideoQuality(e){this.isManualOperationAllowed()&&this.requestedMaxQuality!==e&&(this.requestedMaxQuality=e,this.requestedVideoDimensions=void 0,this.emitTrackUpdate())}setVideoDimensions(e){this.isManualOperationAllowed()&&(this.requestedVideoDimensions?.width!==e.width||this.requestedVideoDimensions?.height!==e.height)&&(vD(this.track)&&(this.requestedVideoDimensions=e),this.requestedMaxQuality=void 0,this.emitTrackUpdate())}setVideoFPS(e){this.isManualOperationAllowed()&&vD(this.track)&&this.fps!==e&&(this.fps=e,this.emitTrackUpdate())}get videoQuality(){return this.requestedMaxQuality??lE.HIGH}setTrack(e){let t=this.subscriptionStatus,n=this.permissionStatus,r=this.track;r!==e&&(r&&(r.off(Q.VideoDimensionsChanged,this.handleVideoDimensionsChange),r.off(Q.VisibilityChanged,this.handleVisibilityChange),r.off(Q.Ended,this.handleEnded),r.detach(),r.stopMonitor(),this.emit(Q.Unsubscribed,r)),super.setTrack(e),e&&(e.sid=this.trackSid,e.on(Q.VideoDimensionsChanged,this.handleVideoDimensionsChange),e.on(Q.VisibilityChanged,this.handleVisibilityChange),e.on(Q.Ended,this.handleEnded),this.emit(Q.Subscribed,e)),this.emitPermissionUpdateIfChanged(n),this.emitSubscriptionUpdateIfChanged(t))}setAllowed(e){let t=this.subscriptionStatus,n=this.permissionStatus;this.allowed=e,this.emitPermissionUpdateIfChanged(n),this.emitSubscriptionUpdateIfChanged(t)}setSubscriptionError(e){this.emit(Q.SubscriptionFailed,e)}updateInfo(e){super.updateInfo(e);let t=this.metadataMuted;this.metadataMuted=e.muted,this.track?this.track.setMuted(e.muted):t!==e.muted&&this.emit(e.muted?Q.Muted:Q.Unmuted)}emitSubscriptionUpdateIfChanged(e){let t=this.subscriptionStatus;e!==t&&this.emit(Q.SubscriptionStatusChanged,t,e)}emitPermissionUpdateIfChanged(e){this.permissionStatus!==e&&this.emit(Q.SubscriptionPermissionChanged,this.permissionStatus,e)}isManualOperationAllowed(){return this.isDesired?!0:(this.log.warn(`cannot update track settings when not subscribed`,this.logContext),!1)}get isAdaptiveStream(){return vD(this.track)&&this.track.isAdaptiveStream}emitTrackUpdate(){let e=new MS({trackSids:[this.trackSid],disabled:!this.isEnabled,fps:this.fps});if(this.kind===$.Kind.Video){let t=this.requestedVideoDimensions;if(this.videoDimensionsAdaptiveStream!==void 0){if(t)aE(this.videoDimensionsAdaptiveStream,t)&&(this.log.debug(`using adaptive stream dimensions instead of requested`,Object.assign(Object.assign({},this.logContext),this.videoDimensionsAdaptiveStream)),t=this.videoDimensionsAdaptiveStream);else if(this.requestedMaxQuality!==void 0&&this.trackInfo){let e=oE(this.trackInfo,this.requestedMaxQuality);e&&aE(this.videoDimensionsAdaptiveStream,e)&&(this.log.debug(`using adaptive stream dimensions instead of max quality layer`,Object.assign(Object.assign({},this.logContext),this.videoDimensionsAdaptiveStream)),t=this.videoDimensionsAdaptiveStream)}else this.log.debug(`using adaptive stream dimensions`,Object.assign(Object.assign({},this.logContext),this.videoDimensionsAdaptiveStream)),t=this.videoDimensionsAdaptiveStream}t?(e.width=Math.ceil(t.width),e.height=Math.ceil(t.height)):this.requestedMaxQuality===void 0?(this.log.debug(`using default quality`,Object.assign(Object.assign({},this.logContext),{quality:lE.HIGH})),e.quality=lE.HIGH):(this.log.debug(`using requested max quality`,Object.assign(Object.assign({},this.logContext),{quality:this.requestedMaxQuality})),e.quality=this.requestedMaxQuality)}this.emit(Q.UpdateSettings,e)}},fN=class e extends oN{static fromParticipantInfo(t,n,r,i){return new e(t,n.sid,n.identity,n.name,n.metadata,n.attributes,r,n.kind,n.dataTracks.map(e=>new fM(EO.from(e),i,{publisherIdentity:n.identity})),n.clientProtocol,n.capabilities)}get logContext(){return Object.assign(Object.assign({},super.logContext),{remoteParticipantID:this.sid,remoteParticipant:this.identity})}constructor(e,t,n,r,i,a,o){let s=arguments.length>7&&arguments[7]!==void 0?arguments[7]:lx.STANDARD,c=arguments.length>8&&arguments[8]!==void 0?arguments[8]:[],l=arguments.length>9&&arguments[9]!==void 0?arguments[9]:0,u=arguments.length>10&&arguments[10]!==void 0?arguments[10]:[];super(t,n||``,r,i,a,o,s),this.signalClient=e,this.trackPublications=new Map,this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.dataTracks=new uN(c.map(e=>[e.info.name,e])),this.volumeMap=new Map,this.clientProtocol=l,this.capabilities=u}addTrackPublication(e){super.addTrackPublication(e),e.on(Q.UpdateSettings,t=>{this.log.debug(`send update settings`,Object.assign(Object.assign(Object.assign({},this.logContext),eE(e)),{settings:t})),this.signalClient.sendUpdateTrackSettings(t)}),e.on(Q.UpdateSubscription,e=>{e.participantTracks.forEach(e=>{e.participantSid=this.sid}),this.signalClient.sendUpdateSubscription(e)}),e.on(Q.SubscriptionPermissionChanged,t=>{this.emit(X.TrackSubscriptionPermissionChanged,e,t)}),e.on(Q.SubscriptionStatusChanged,t=>{this.emit(X.TrackSubscriptionStatusChanged,e,t)}),e.on(Q.Subscribed,t=>{this.emit(X.TrackSubscribed,t,e)}),e.on(Q.Unsubscribed,t=>{this.emit(X.TrackUnsubscribed,t,e)}),e.on(Q.SubscriptionFailed,t=>{this.emit(X.TrackSubscriptionFailed,e.trackSid,t)})}getTrackPublication(e){let t=super.getTrackPublication(e);if(t)return t}getTrackPublicationByName(e){let t=super.getTrackPublicationByName(e);if(t)return t}setVolume(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:$.Source.Microphone;this.volumeMap.set(t,e);let n=this.getTrackPublication(t);n&&n.track&&n.track.setVolume(e)}getVolume(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$.Source.Microphone,t=this.getTrackPublication(e);return t&&t.track?t.track.getVolume():this.volumeMap.get(e)}addSubscribedMediaTrack(e,t,n,r,i,a){let o=this.getTrackPublicationBySid(t);if(o||t.startsWith(`TR`)||this.trackPublications.forEach(t=>{!o&&e.kind===t.kind.toString()&&(o=t)}),!o){if(a===0){this.log.error(`could not find published track`,Object.assign(Object.assign({},this.logContext),{trackSid:t})),this.emit(X.TrackSubscriptionFailed,t);return}a===void 0&&(a=20),setTimeout(()=>{this.addSubscribedMediaTrack(e,t,n,r,i,a-1)},150);return}if(e.readyState===`ended`){this.log.error(`unable to subscribe because MediaStreamTrack is ended. Do not call MediaStreamTrack.stop()`,Object.assign(Object.assign({},this.logContext),eE(o))),this.emit(X.TrackSubscriptionFailed,t);return}let s=e.kind===`video`,c;return c=s?new rO(e,t,r,i):new eN(e,t,r,this.audioContext,this.audioOutput),c.source=o.source,c.isMuted=o.isMuted,c.setMediaStream(n),c.start(),o.setTrack(c),this.volumeMap.has(o.source)&&gD(c)&&fD(c)&&c.setVolume(this.volumeMap.get(o.source)),o}get hasMetadata(){return!!this.participantInfo}getTrackPublicationBySid(e){return this.trackPublications.get(e)}updateInfo(e){if(!super.updateInfo(e))return!1;let t=new Map,n=new Map;return e.tracks.forEach(e=>{let r=this.getTrackPublicationBySid(e.sid);if(r)r.updateInfo(e);else{let t=$.kindFromProto(e.type);if(!t)return;r=new dN(t,e,this.signalClient.connectOptions?.autoSubscribe,{loggerContextCb:()=>this.logContext,loggerName:this.loggerOptions?.loggerName}),r.updateInfo(e),n.set(e.sid,r);let i=Array.from(this.trackPublications.values()).find(e=>e.source===r?.source);i&&r.source!==$.Source.Unknown&&this.log.debug(`received a second track publication for ${this.identity} with the same source: ${r.source}`,Object.assign(Object.assign({},this.logContext),{oldTrack:eE(i),newTrack:eE(r)})),this.addTrackPublication(r)}t.set(e.sid,r)}),this.trackPublications.forEach(e=>{t.has(e.trackSid)||(this.log.trace(`detected removed track on remote participant, unpublishing`,Object.assign(Object.assign({},this.logContext),eE(e))),this.unpublishTrack(e.trackSid,!0))}),n.forEach(e=>{this.emit(X.TrackPublished,e)}),!0}unpublishTrack(e,t){let n=this.trackPublications.get(e);if(!n)return;let r=n.track;switch(r&&(r.stop(),n.setTrack(void 0)),this.trackPublications.delete(e),n.kind){case $.Kind.Audio:this.audioTrackPublications.delete(e);break;case $.Kind.Video:this.videoTrackPublications.delete(e)}t&&this.emit(X.TrackUnpublished,n)}setAudioOutput(e){return q(this,void 0,void 0,function*(){this.audioOutput=e;let t=[];this.audioTrackPublications.forEach(n=>{fD(n.track)&&gD(n.track)&&t.push(n.track.setSinkId(e.deviceId??`default`))}),yield Promise.all(t)})}addRemoteDataTrack(e){this.dataTracks.set(e.info.name,e)}removeRemoteDataTrack(e){for(let n of this.dataTracks.entries()){var t=G(n,2);let r=t[0];e===t[1].info.sid&&this.dataTracks.delete(r)}}emit(e){var t=[...arguments].slice(1);return this.log.trace(`participant event`,Object.assign(Object.assign({},this.logContext),{event:e,args:t})),super.emit(e,...t)}},pN;(function(e){e.Disconnected=`disconnected`,e.Connecting=`connecting`,e.Connected=`connected`,e.Reconnecting=`reconnecting`,e.SignalReconnecting=`signalReconnecting`})(pN||={});var mN=4e3,hN=3e4,gN=class e extends WC.EventEmitter{get hasE2EESetup(){return this.e2eeManager!==void 0}constructor(t){var n,r,i;if(super(),n=this,this.state=pN.Disconnected,this.activeSpeakers=[],this.isE2EEEnabled=!1,this.audioEnabled=!0,this.e2eeStateMutex=new jv,this.isVideoPlaybackBlocked=!1,this.log=TC,this.statsLog=TC,this.bufferedEvents=[],this.isResuming=!1,this.pendingTrackAddedCallbacks=new Map,this.connect=(e,t,n)=>q(this,void 0,void 0,function*(){if(!DE())throw RE()?Error(`WebRTC isn't detected, have you called registerGlobals?`):Error(`LiveKit doesn't seem to be supported on this browser. Try to update your browser and make sure no browser extensions are disabling webRTC.`);let r=yield this.disconnectLock.lock();if(this.state===pN.Connected)return this.log.info(`already connected to room ${this.name}`),r(),Promise.resolve();if(this.connectFuture)return r(),this.connectFuture.promise;this.setAndEmitConnectionState(pN.Connecting),this.regionUrlProvider?.getServerUrl().toString()!==AD(e)&&(this.regionUrl=void 0,this.regionUrlProvider=void 0),zE(new URL(e))&&(this.regionUrlProvider===void 0?this.regionUrlProvider=new tj(e,t):this.regionUrlProvider.updateToken(t),this.regionUrlProvider.fetchRegionSettings().then(e=>{var t;(t=this.regionUrlProvider)==null||t.setServerReportedRegions(e)}).catch(e=>{this.log.warn(`could not fetch region settings`,{error:e})}));let i=(a,o,s)=>q(this,void 0,void 0,function*(){this.abortController&&this.abortController.abort();let c=new AbortController;this.abortController=c,r?.();try{if(yield pO.getInstance().getBackOffPromise(e),c.signal.aborted)throw J.cancelled(`Connection attempt aborted`);yield this.attemptConnection(s??e,t,n,c),this.abortController=void 0,a()}catch(t){if(this.regionUrlProvider&&t instanceof J&&t.reason!==pT.Cancelled&&t.reason!==pT.NotAllowed){let n=null;try{this.log.debug(`Fetching next region`),n=yield this.regionUrlProvider.getNextBestRegionUrl(this.abortController?.signal)}catch(e){if(e instanceof J&&(e.status===401||e.reason===pT.Cancelled)){this.handleDisconnect(this.options.stopLocalTrackOnUnpublish),o(e);return}}[pT.InternalError,pT.ServerUnreachable,pT.Timeout].includes(t.reason)&&(this.log.debug(`Adding failed connection attempt to back off`),pO.getInstance().addFailedConnectionAttempt(e)),n&&!this.abortController?.signal.aborted?(this.log.info(`Initial connection failed with ConnectionError: ${t.message}. Retrying with another region: ${n}`),this.recreateEngine(!0),yield i(a,o,n)):(this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,cD(t)),o(t))}else{let e=$b.UNKNOWN_REASON;t instanceof J&&(e=cD(t)),this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,e),o(t)}}}),a=this.regionUrl;return this.regionUrl=void 0,this.connectFuture=new tD((e,t)=>{i(e,t,a)},()=>{this.clearConnectionFutures()}),this.connectFuture.promise}),this.connectSignal=(e,t,n,r,i,a)=>q(this,void 0,void 0,function*(){let o=yield n.join(e,t,{autoSubscribe:r.autoSubscribe,adaptiveStream:typeof i.adaptiveStream==`object`||i.adaptiveStream,clientInfoCapabilities:this.getClientInfoCapabilities(i),maxRetries:r.maxRetries,e2eeEnabled:!!this.e2eeManager,websocketTimeout:r.websocketTimeout},a.signal,!i.singlePeerConnection),s=o.joinResponse,c=o.serverInfo;if(this.serverInfo=c,!c.version)throw new gT(`unknown server version`);return c.version===`0.15.1`&&this.options.dynacast&&(this.log.debug(`disabling dynacast due to server version`),i.dynacast=!1),s}),this.applyJoinResponse=e=>{let t=e.participant;if(this.localParticipant.sid=t.sid,this.localParticipant.identity=t.identity,this.localParticipant.setEnabledPublishCodecs(e.enabledPublishCodecs),this.e2eeManager)try{this.e2eeManager.setSifTrailer(e.sifTrailer)}catch(e){this.log.error(e instanceof Error?e.message:`Could not set SifTrailer`,{error:e})}this.handleParticipantUpdates([t,...e.otherParticipants]),e.room&&this.handleRoomUpdate(e.room)},this.attemptConnection=(e,t,n,r)=>q(this,void 0,void 0,function*(){this.state===pN.Reconnecting||this.isResuming||this.engine?.pendingReconnect?(this.log.info(`Reconnection attempt replaced by new connection attempt`),this.recreateEngine(!0)):this.maybeCreateEngine(),this.regionUrlProvider?.isCloud()&&this.engine.setRegionStrategy(this.createRegionStrategy()),this.acquireAudioContext(),this.connOptions=Object.assign(Object.assign({},qk),n),this.connOptions.rtcConfig&&(this.engine.rtcConfig=this.connOptions.rtcConfig),this.connOptions.peerConnectionTimeout&&(this.engine.peerConnectionTimeout=this.connOptions.peerConnectionTimeout);try{let n=yield this.connectSignal(e,t,this.engine,this.connOptions,this.options,r);this.applyJoinResponse(n),this.setupLocalParticipantEvents(),this.emit(Y.SignalConnected)}catch(e){yield this.engine.close(),this.recreateEngine();let t=r.signal.aborted?J.cancelled(`Signal connection aborted`):J.serverUnreachable(`could not establish signal connection`);throw e instanceof Error&&(t.message=`${t.message}: ${e.message}`),e instanceof J&&(t.reason=e.reason,t.status=e.status),this.log.debug(`error trying to establish signal connection`,{error:e}),t}if(r.signal.aborted)throw yield this.engine.close(),this.recreateEngine(),J.cancelled(`Connection attempt aborted`);try{yield this.engine.waitForPCInitialConnection(this.connOptions.peerConnectionTimeout,r)}catch(e){throw yield this.engine.close(),this.recreateEngine(),e}LE()&&this.options.disconnectOnPageLeave&&(window.addEventListener(`pagehide`,this.onPageLeave),window.addEventListener(`beforeunload`,this.onPageLeave)),LE()&&window.addEventListener(`freeze`,this.onPageLeave),this.setAndEmitConnectionState(pN.Connected),this.emit(Y.Connected),pO.getInstance().resetFailedConnectionAttempts(e),this.registerConnectionReconcile(),this.regionUrlProvider&&this.regionUrlProvider.notifyConnected()}),this.disconnect=function(){return q(n,[...arguments],void 0,function(){var e=this;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return function*(){var n,r,i;let a=yield e.disconnectLock.lock();try{if(e.state===pN.Disconnected){e.log.debug(`already disconnected`);return}if(e.log.info(`disconnect from room`),e.state===pN.Connecting||e.state===pN.Reconnecting||e.isResuming){let t=`Abort connection attempt due to user initiated disconnect`;e.log.warn(t),(n=e.abortController)==null||n.abort(t),(i=(r=e.connectFuture)?.reject)==null||i.call(r,J.cancelled(`Client initiated disconnect`)),e.connectFuture=void 0}e.engine&&(e.engine.client.isDisconnected||(yield e.engine.client.sendLeave()),yield e.engine.close()),e.handleDisconnect(t,$b.CLIENT_INITIATED),e.engine=void 0}finally{a()}}()})},this.onPageLeave=()=>q(this,void 0,void 0,function*(){this.log.info(`Page leave detected, disconnecting`),yield this.disconnect()}),this.startAudio=()=>q(this,void 0,void 0,function*(){let e=[],t=oT();if(t&&t.os===`iOS`){let t=`livekit-dummy-audio-el`,n=document.getElementById(t);if(!n){n=document.createElement(`audio`),n.id=t,n.autoplay=!0,n.hidden=!0;let e=eD();e.enabled=!0;let r=new MediaStream([e]);n.srcObject=r,document.addEventListener(`visibilitychange`,()=>{n&&(n.srcObject=document.hidden?null:r,document.hidden||(this.log.debug(`page visible again, triggering startAudio to resume playback and update playback status`),this.startAudio()))}),document.body.append(n),this.once(Y.Disconnected,()=>{n?.remove(),n=null})}e.push(n)}this.remoteParticipants.forEach(t=>{t.audioTrackPublications.forEach(t=>{t.track&&t.track.attachedElements.forEach(t=>{e.push(t)})})});try{yield Promise.all([this.acquireAudioContext(),...e.map(e=>(this.options.webAudioMix||(e.muted=!1),e.play()))]),this.handleAudioPlaybackStarted()}catch(e){throw this.handleAudioPlaybackFailed(e),e}}),this.startVideo=()=>q(this,void 0,void 0,function*(){let e=[];for(let t of this.remoteParticipants.values())t.videoTrackPublications.forEach(t=>{var n;(n=t.track)==null||n.attachedElements.forEach(t=>{e.includes(t)||e.push(t)})});yield Promise.all(e.map(e=>e.play())).then(()=>{this.handleVideoPlaybackStarted()}).catch(e=>{e.name===`NotAllowedError`?this.handleVideoPlaybackFailed():this.log.warn("Resuming video playback failed, make sure you call `startVideo` directly in a user gesture handler")})}),this.handleRestarting=()=>{this.clearConnectionReconcile(),this.isResuming=!1;for(let e of this.remoteParticipants.values())this.handleParticipantDisconnected(e.identity,e);this.setAndEmitConnectionState(pN.Reconnecting)&&this.emit(Y.Reconnecting)},this.handleRestarted=()=>{this.outgoingDataTrackManager.sfuWillRepublishTracks(),this.incomingDataTrackManager.resendSubscriptionUpdates()},this.handleSignalRestarted=e=>q(this,void 0,void 0,function*(){this.log.debug(`signal reconnected to server, region ${e.serverRegion}`,{region:e.serverRegion}),this.bufferedEvents=[],this.applyJoinResponse(e);try{yield this.localParticipant.republishAllTracks(void 0,!0)}catch(e){this.log.error(`error trying to re-publish tracks after reconnection`,{error:e})}try{yield this.engine.waitForRestarted(),this.log.debug(`fully reconnected to server`,{region:e.serverRegion})}catch{return}this.setAndEmitConnectionState(pN.Connected),this.emit(Y.Reconnected),this.registerConnectionReconcile(),this.emitBufferedEvents()}),this.handleParticipantUpdates=e=>{for(let t of e){if(t.identity===this.localParticipant.identity){this.localParticipant.updateInfo(t);continue}t.identity===``&&(t.identity=this.sidToIdentity.get(t.sid)??``);let e=this.remoteParticipants.get(t.identity);t.state===cx.DISCONNECTED?this.handleParticipantDisconnected(t.identity,e,t.disconnectReason===$b.UNKNOWN_REASON?void 0:t.disconnectReason):this.getOrCreateParticipant(t.identity,t)}let t=new Map(e.filter(e=>e.identity!==this.localParticipant.identity).map(e=>[e.identity,e.dataTracks.map(e=>EO.from(e))]));this.incomingDataTrackManager.receiveSfuPublicationUpdates(t)},this.handleActiveSpeakersUpdate=e=>{let t=[],n={};e.forEach(e=>{if(n[e.sid]=!0,e.sid===this.localParticipant.sid)this.localParticipant.audioLevel=e.level,this.localParticipant.setIsSpeaking(!0),t.push(this.localParticipant);else{let n=this.getRemoteParticipantBySid(e.sid);n&&(n.audioLevel=e.level,n.setIsSpeaking(!0),t.push(n))}}),n[this.localParticipant.sid]||(this.localParticipant.audioLevel=0,this.localParticipant.setIsSpeaking(!1)),this.remoteParticipants.forEach(e=>{n[e.sid]||(e.audioLevel=0,e.setIsSpeaking(!1))}),this.activeSpeakers=t,this.emitWhenConnected(Y.ActiveSpeakersChanged,t)},this.handleSpeakersChanged=e=>{let t=new Map;this.activeSpeakers.forEach(e=>{let n=this.remoteParticipants.get(e.identity);n&&n.sid!==e.sid||t.set(e.sid,e)}),e.forEach(e=>{let n=this.getRemoteParticipantBySid(e.sid);e.sid===this.localParticipant.sid&&(n=this.localParticipant),n&&(n.audioLevel=e.level,n.setIsSpeaking(e.active),e.active?t.set(e.sid,n):t.delete(e.sid))});let n=Array.from(t.values());n.sort((e,t)=>t.audioLevel-e.audioLevel),this.activeSpeakers=n,this.emitWhenConnected(Y.ActiveSpeakersChanged,n)},this.handleStreamStateUpdate=e=>{e.streamStates.forEach(e=>{let t=this.getRemoteParticipantBySid(e.participantSid);if(!t)return;let n=t.getTrackPublicationBySid(e.trackSid);if(!n||!n.track)return;let r=$.streamStateFromProto(e.state),i=n.track.streamState;n.track.setStreamState(r),r!==i&&(t.emit(X.TrackStreamStateChanged,n,n.track.streamState),this.emitWhenConnected(Y.TrackStreamStateChanged,n,n.track.streamState,t))})},this.handleSubscriptionPermissionUpdate=e=>{let t=this.getRemoteParticipantBySid(e.participantSid);if(!t)return;let n=t.getTrackPublicationBySid(e.trackSid);n&&n.setAllowed(e.allowed)},this.handleSubscriptionError=e=>{this.cancelPendingTrackAdded(e.trackSid);let t=Array.from(this.remoteParticipants.values()).find(t=>t.trackPublications.has(e.trackSid));if(!t)return;let n=t.getTrackPublicationBySid(e.trackSid);n&&n.setSubscriptionError(e.err)},this.handleDataPacket=(e,t)=>{let n=this.remoteParticipants.get(e.participantIdentity);if(e.value.case===`user`)this.handleUserPacket(n,e.value.value,e.kind,t);else if(e.value.case===`transcription`)this.handleTranscription(n,e.value.value);else if(e.value.case===`sipDtmf`)this.handleSipDtmf(n,e.value.value);else if(e.value.case===`chatMessage`)this.handleChatMessage(n,e.value.value);else if(e.value.case===`metrics`)this.handleMetrics(e.value.value,n);else if(e.value.case===`streamHeader`||e.value.case===`streamChunk`||e.value.case===`streamTrailer`)this.handleDataStream(e,t);else if(e.value.case===`rpcRequest`){let t=e.value.value;this.rpcServerManager.handleIncomingRpcRequest(e.participantIdentity,t)}else if(e.value.case===`rpcResponse`){let t=e.value.value;switch(t.value.case){case`payload`:this.rpcClientManager.handleIncomingRpcResponseSuccess(t.requestId,t.value.value);break;case`error`:this.rpcClientManager.handleIncomingRpcResponseFailure(t.requestId,UM.fromProto(t.value.value));break;default:this.log.warn(`Unknown rpcResponse.value.case: ${t.value.case}`,this.logContext)}}else e.value.case===`rpcAck`&&this.rpcClientManager.handleIncomingRpcAck(e.value.value.requestId)},this.handleUserPacket=(e,t,n,r)=>{this.emit(Y.DataReceived,t.payload,e,n,t.topic,r),e?.emit(X.DataReceived,t.payload,n,r)},this.handleSipDtmf=(e,t)=>{this.emit(Y.SipDTMFReceived,t,e),e?.emit(X.SipDTMFReceived,t)},this.handleTranscription=(e,t)=>{let n=t.transcribedParticipantIdentity===this.localParticipant.identity?this.localParticipant:this.getParticipantByIdentity(t.transcribedParticipantIdentity),r=n?.trackPublications.get(t.trackId),i=oD(t,this.transcriptionReceivedTimes);r?.emit(Q.TranscriptionReceived,i),n?.emit(X.TranscriptionReceived,i,r),this.emit(Y.TranscriptionReceived,i,n,r)},this.handleChatMessage=(e,t)=>{let n=sD(t);this.emit(Y.ChatMessage,n,e)},this.handleMetrics=(e,t)=>{this.emit(Y.MetricsReceived,e,t)},this.handleDataStream=(e,t)=>{this.incomingDataStreamManager.handleDataStreamPacket(e,t)},this.bufferedSegments=new Map,this.handleAudioPlaybackStarted=()=>{this.canPlaybackAudio||(this.audioEnabled=!0,this.emit(Y.AudioPlaybackStatusChanged,!0))},this.handleAudioPlaybackFailed=e=>{this.log.warn(`could not playback audio`,{error:e}),this.canPlaybackAudio&&(this.audioEnabled=!1,this.emit(Y.AudioPlaybackStatusChanged,!1))},this.handleVideoPlaybackStarted=()=>{this.isVideoPlaybackBlocked&&(this.isVideoPlaybackBlocked=!1,this.emit(Y.VideoPlaybackStatusChanged,!0))},this.handleVideoPlaybackFailed=()=>{this.isVideoPlaybackBlocked||(this.isVideoPlaybackBlocked=!0,this.emit(Y.VideoPlaybackStatusChanged,!1))},this.handleDeviceChange=()=>q(this,void 0,void 0,function*(){oT()?.os!==`iOS`&&(yield this.selectDefaultDevices()),this.emit(Y.MediaDevicesChanged)}),this.handleRoomUpdate=e=>{let t=this.roomInfo;this.roomInfo=e,t&&t.metadata!==e.metadata&&this.emitWhenConnected(Y.RoomMetadataChanged,e.metadata),t?.activeRecording!==e.activeRecording&&this.emitWhenConnected(Y.RecordingStatusChanged,e.activeRecording)},this.handleConnectionQualityUpdate=e=>{e.updates.forEach(e=>{if(e.participantSid===this.localParticipant.sid){this.localParticipant.setConnectionQuality(e.quality);return}let t=this.getRemoteParticipantBySid(e.participantSid);t&&t.setConnectionQuality(e.quality)})},this.getRemoteParticipantClientProtocol=e=>this.remoteParticipants.get(e)?.clientProtocol??0,this.getRemoteParticipantCapabilities=e=>this.remoteParticipants.get(e)?.capabilities??[],this.getAllRemoteParticipantIdentities=()=>Array.from(this.remoteParticipants.keys()),this.logWebRTCStats=()=>q(this,void 0,void 0,function*(){let e=this.engine?.pcManager;if(e)try{let t=G(yield Promise.all([e.publisher.getStats(),e.subscriber?.getStats()]),2),n=t[0],r=t[1],i=n&&MT(n),a=r&&MT(r);this.statsLog.info(`webrtc stats`,{publisher:i?.connection,subscriber:a?.connection,inbound:[...i?.inbound??[],...a?.inbound??[]],outbound:i?.outbound})}catch(e){this.statsLog.debug(`could not collect webrtc stats`,{error:e})}}),this.onLocalParticipantMetadataChanged=e=>{this.emit(Y.ParticipantMetadataChanged,e,this.localParticipant)},this.onLocalParticipantNameChanged=e=>{this.emit(Y.ParticipantNameChanged,e,this.localParticipant)},this.onLocalAttributesChanged=e=>{this.emit(Y.ParticipantAttributesChanged,e,this.localParticipant)},this.onLocalTrackMuted=e=>{this.emit(Y.TrackMuted,e,this.localParticipant)},this.onLocalTrackUnmuted=e=>{this.emit(Y.TrackUnmuted,e,this.localParticipant)},this.onTrackProcessorUpdate=e=>{var t;(t=e?.onPublish)==null||t.call(e,this)},this.onLocalTrackPublished=e=>q(this,void 0,void 0,function*(){var t,n,r,i;(t=e.track)==null||t.on(Q.TrackProcessorUpdate,this.onTrackProcessorUpdate),(n=e.track)==null||n.on(Q.Restarted,this.onLocalTrackRestarted),(i=(r=e.track?.getProcessor())?.onPublish)==null||i.call(r,this),this.emit(Y.LocalTrackPublished,e,this.localParticipant),hD(e.track)&&(yield e.track.checkForSilence())&&this.emit(Y.LocalAudioSilenceDetected,e);let a=yield e.track?.getDeviceId(!1),o=XT(e.source);o&&a&&a!==this.localParticipant.activeDeviceMap.get(o)&&(this.localParticipant.activeDeviceMap.set(o,a),this.emit(Y.ActiveDeviceChanged,o,a))}),this.onLocalTrackUnpublished=e=>{var t,n;(t=e.track)==null||t.off(Q.TrackProcessorUpdate,this.onTrackProcessorUpdate),(n=e.track)==null||n.off(Q.Restarted,this.onLocalTrackRestarted),this.emit(Y.LocalTrackUnpublished,e,this.localParticipant)},this.onLocalTrackRestarted=e=>q(this,void 0,void 0,function*(){let t=yield e.getDeviceId(!1),n=XT(e.source);n&&t&&t!==this.localParticipant.activeDeviceMap.get(n)&&(this.log.debug(`local track restarted, setting ${n} ${t} active`),this.localParticipant.activeDeviceMap.set(n,t),this.emit(Y.ActiveDeviceChanged,n,t))}),this.onLocalConnectionQualityChanged=e=>{this.emit(Y.ConnectionQualityChanged,e,this.localParticipant)},this.onMediaDevicesError=(e,t)=>{this.emit(Y.MediaDevicesError,e,t)},this.onLocalParticipantPermissionsChanged=e=>{this.emit(Y.ParticipantPermissionsChanged,e,this.localParticipant)},this.onLocalChatMessageSent=e=>{this.emit(Y.ChatMessage,e,this.localParticipant)},this.setMaxListeners(100),this.remoteParticipants=new Map,this.sidToIdentity=new Map,this.options=Object.assign(Object.assign({},Kk),t),this.log=EC(this.options.loggerName??wC.Room,()=>this.logContext),this.statsLog=EC(wC.Stats,()=>this.logContext),this.transcriptionReceivedTimes=new Map,this.options.audioCaptureDefaults=Object.assign(Object.assign({},Wk),t?.audioCaptureDefaults),this.options.videoCaptureDefaults=Object.assign(Object.assign({},Gk),t?.videoCaptureDefaults),this.options.publishDefaults=Object.assign(Object.assign({},Uk),t?.publishDefaults),this.maybeCreateEngine(),this.incomingDataStreamManager=new fj(this.options.dataStream?.maxPayloadByteLength),this.outgoingDataStreamManager=new Oj(this.engine,this.log,this.getRemoteParticipantClientProtocol,this.getRemoteParticipantCapabilities,this.getAllRemoteParticipantIdentities),this.incomingDataTrackManager=new DM({e2eeManager:this.e2eeManager}),this.incomingDataTrackManager.on(`sfuUpdateSubscription`,e=>{this.engine.client.sendUpdateDataSubscription(e.sid,e.subscribe)}).on(`trackPublished`,e=>{var t;e.track.publisherIdentity!==this.localParticipant.identity&&(this.emit(Y.DataTrackPublished,e.track),(t=this.remoteParticipants.get(e.track.publisherIdentity))==null||t.addRemoteDataTrack(e.track))}).on(`trackUnpublished`,e=>{var t;e.publisherIdentity!==this.localParticipant.identity&&(this.emit(Y.DataTrackUnpublished,e.sid),(t=this.remoteParticipants.get(e.publisherIdentity))==null||t.removeRemoteDataTrack(e.sid))}),this.outgoingDataTrackManager=new HM({e2eeManager:this.e2eeManager}),this.outgoingDataTrackManager.on(`sfuPublishRequest`,e=>{this.engine.client.sendPublishDataTrackRequest(e.handle,e.name,e.usesE2ee)}).on(`sfuUnpublishRequest`,e=>{this.engine.client.sendUnPublishDataTrackRequest(e.handle)}).on(`trackPublished`,e=>{this.emit(Y.LocalDataTrackPublished,e.track)}).on(`trackUnpublished`,e=>{this.emit(Y.LocalDataTrackUnpublished,e.sid)}).on(`packetAvailable`,e=>{let t=e.handle,n=e.bytes;this.engine.sendDataTrackFrame(n).finally(()=>this.outgoingDataTrackManager.handlePacketSendComplete(t))}),this.registerRpcDataStreamHandler(),this.rpcClientManager=new QM(this.log,this.outgoingDataStreamManager,this.getRemoteParticipantClientProtocol,()=>this.engine?.serverVersion),this.rpcClientManager.on(`sendDataPacket`,e=>{let t=e.packet;var n;(n=this.engine)==null||n.sendDataPacket(t,eA.RELIABLE)}),this.rpcServerManager=new $M(this.log,this.outgoingDataStreamManager,this.getRemoteParticipantClientProtocol),this.rpcServerManager.on(`sendDataPacket`,e=>{let t=e.packet;var n;(n=this.engine)==null||n.sendDataPacket(t,eA.RELIABLE)}),this.disconnectLock=new jv,this.localParticipant=new cN(``,``,this.engine,this.options,this.outgoingDataStreamManager,this.outgoingDataTrackManager,this.rpcClientManager,this.rpcServerManager),this.setupFrameMetadata(),(this.options.e2ee||this.options.encryption)&&this.setupE2EE(),this.engine.e2eeManager=this.e2eeManager,this.incomingDataTrackManager.updateE2eeManager(this.e2eeManager??null),this.outgoingDataTrackManager.updateE2eeManager(this.e2eeManager??null),this.options.videoCaptureDefaults.deviceId&&this.localParticipant.activeDeviceMap.set(`videoinput`,rD(this.options.videoCaptureDefaults.deviceId)),this.options.audioCaptureDefaults.deviceId&&this.localParticipant.activeDeviceMap.set(`audioinput`,rD(this.options.audioCaptureDefaults.deviceId)),this.options.audioOutput?.deviceId&&this.switchActiveDevice(`audiooutput`,rD(this.options.audioOutput.deviceId)).catch(e=>this.log.warn(`Could not set audio output: ${e.message}`)),LE()){let t=new AbortController,n;if(e.cleanupRegistry){let r=new WeakRef(this);n=()=>{let e=r.deref();e&&e.handleDeviceChange()},e.cleanupRegistry.register(this,()=>{t.abort()})}else n=this.handleDeviceChange;(i=(r=navigator.mediaDevices)?.addEventListener)==null||i.call(r,`devicechange`,n,{signal:t.signal})}}registerTextStreamHandler(e,t){return this.incomingDataStreamManager.registerTextStreamHandler(e,t)}unregisterTextStreamHandler(e){return this.incomingDataStreamManager.unregisterTextStreamHandler(e)}registerByteStreamHandler(e,t){return this.incomingDataStreamManager.registerByteStreamHandler(e,t)}unregisterByteStreamHandler(e){return this.incomingDataStreamManager.unregisterByteStreamHandler(e)}registerRpcMethod(e,t){this.rpcServerManager.registerRpcMethod(e,t)}unregisterRpcMethod(e){this.rpcServerManager.unregisterRpcMethod(e)}setE2EEEnabled(e){return q(this,void 0,void 0,function*(){let t=yield this.e2eeStateMutex.lock();try{if(this.e2eeManager)this.isE2EEEnabled!==e&&(yield this.localParticipant.setE2EEEnabled(e),this.localParticipant.identity!==``&&this.e2eeManager.setParticipantCryptorEnabled(e,this.localParticipant.identity));else throw Error(`e2ee not configured, please set e2ee settings within the room options`)}finally{t()}})}setupE2EE(){var e,t;let n=!!this.options.encryption,r=this.options.encryption||this.options.e2ee;r&&(`e2eeManager`in r?(this.e2eeManager=r.e2eeManager,this.e2eeManager.isDataChannelEncryptionEnabled=n):this.e2eeManager=new sO(r,n),this.e2eeManager.on(zD.ParticipantEncryptionStatusChanged,(e,t)=>{yD(t)&&(this.isE2EEEnabled=e),this.emit(Y.ParticipantEncryptionStatusChanged,e,t)}),this.e2eeManager.on(zD.EncryptionError,(e,t)=>{let n=t?this.getParticipantByIdentity(t):void 0;this.emit(Y.EncryptionError,e,n)}),(e=this.e2eeManager)==null||e.setup(this),(t=this.e2eeManager)==null||t.setupEngine(this.engine))}setupFrameMetadata(){let e=this.options.frameMetadata??this.options.packetTrailer;this.frameMetadataManager=new uO(e),this.frameMetadataManager.setup(this)}get logContext(){return{room:this.name,roomID:this.roomInfo?.sid,participant:this.localParticipant?.identity,participantID:this.localParticipant?.sid}}get isRecording(){return this.roomInfo?.activeRecording??!1}getSid(){return this.state===pN.Disconnected?rT.resolve(``):this.roomInfo&&this.roomInfo.sid!==``?rT.resolve(this.roomInfo.sid):new rT((e,t)=>{let n=t=>{t.sid!==``&&(this.engine.off(Z.RoomUpdate,n),e(t.sid))};this.engine.on(Z.RoomUpdate,n),this.once(Y.Disconnected,()=>{this.engine.off(Z.RoomUpdate,n),t(new _T(`Room disconnected before room server id was available`))})})}get name(){return this.roomInfo?.name??``}get metadata(){return this.roomInfo?.metadata}get numParticipants(){return this.roomInfo?.numParticipants??0}get numPublishers(){return this.roomInfo?.numPublishers??0}maybeCreateEngine(){(!this.engine||!this.engine.isNewlyCreated&&this.engine.isClosed)&&(this.engine=new XA(this.options),this.engine.e2eeManager=this.e2eeManager,this.engine.on(Z.ParticipantUpdate,this.handleParticipantUpdates).on(Z.RoomUpdate,this.handleRoomUpdate).on(Z.SpeakersChanged,this.handleSpeakersChanged).on(Z.StreamStateChanged,this.handleStreamStateUpdate).on(Z.ConnectionQualityUpdate,this.handleConnectionQualityUpdate).on(Z.SubscriptionError,this.handleSubscriptionError).on(Z.SubscriptionPermissionUpdate,this.handleSubscriptionPermissionUpdate).on(Z.MediaTrackAdded,(e,t,n)=>{this.onTrackAdded(e,t,n)}).on(Z.Disconnected,e=>{this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,e)}).on(Z.ActiveSpeakersUpdate,this.handleActiveSpeakersUpdate).on(Z.DataPacketReceived,this.handleDataPacket).on(Z.Resuming,()=>{this.clearConnectionReconcile(),this.isResuming=!0,this.log.debug(`Resuming signal connection`),this.setAndEmitConnectionState(pN.SignalReconnecting)&&this.emit(Y.SignalReconnecting)}).on(Z.Resumed,()=>{this.registerConnectionReconcile(),this.isResuming=!1,this.log.debug(`Resumed signal connection`),this.updateSubscriptions(),this.setAndEmitConnectionState(pN.Connected)&&this.emit(Y.Reconnected),this.emitBufferedEvents()}).on(Z.SignalResumed,()=>{(this.state===pN.Reconnecting||this.isResuming)&&this.sendSyncState(),this.emitBufferedEvents()}).on(Z.Restarting,this.handleRestarting).on(Z.Restarted,this.handleRestarted).on(Z.SignalRestarted,this.handleSignalRestarted).on(Z.Offline,()=>{this.setAndEmitConnectionState(pN.Reconnecting)&&this.emit(Y.Reconnecting)}).on(Z.DCBufferStatusChanged,(e,t)=>{this.emit(Y.DCBufferStatusChanged,e,t)}).on(Z.LocalTrackSubscribed,e=>{this.handleLocalTrackSubscribed(e)}).on(Z.RoomMoved,e=>{this.log.debug(`room moved`,e),e.room&&this.handleRoomUpdate(e.room),this.remoteParticipants.forEach((e,t)=>{this.handleParticipantDisconnected(t,e)}),this.emit(Y.Moved,e.room.name),e.participant?this.handleParticipantUpdates([e.participant,...e.otherParticipants]):this.handleParticipantUpdates(e.otherParticipants)}).on(Z.PublishDataTrackResponse,e=>{if(!e.info){this.log.warn(`received PublishDataTrackResponse, but event.info was ${e.info}, so skipping.`);return}this.outgoingDataTrackManager.receivedSfuPublishResponse(e.info.pubHandle,{type:`ok`,data:{sid:e.info.sid,pubHandle:e.info.pubHandle,name:e.info.name,usesE2ee:e.info.encryption!==dx.NONE}})}).on(Z.UnPublishDataTrackResponse,e=>{if(!e.info){this.log.warn(`received UnPublishDataTrackResponse, but event.info was ${e.info}, so skipping.`);return}this.outgoingDataTrackManager.receivedSfuUnpublishResponse(e.info.pubHandle)}).on(Z.DataTrackSubscriberHandles,e=>{let t=new Map(Object.entries(e.subHandles).map(e=>{let t=G(e,2),n=t[0],r=t[1];return[parseInt(n,10),r.trackSid]}));this.incomingDataTrackManager.receivedSfuSubscriberHandles(t)}).on(Z.DataTrackPacketReceived,e=>{try{this.incomingDataTrackManager.packetReceived(e)}catch(e){throw e}}).on(Z.Joined,e=>{let t=new Map(e.otherParticipants.map(e=>[e.identity,e.dataTracks.map(e=>EO.from(e))]));this.incomingDataTrackManager.receiveSfuPublicationUpdates(t)}).on(Z.TokenRefreshed,e=>{var t;(t=this.regionUrlProvider)==null||t.updateToken(e)}).on(Z.ServerRegionsReported,e=>{var t;(t=this.regionUrlProvider)==null||t.setServerReportedRegions({regionSettings:e,updatedAtInMs:Date.now(),maxAgeInMs:$A})}),this.localParticipant&&this.localParticipant.setupEngine(this.engine),this.e2eeManager&&this.e2eeManager.setupEngine(this.engine),this.outgoingDataStreamManager&&this.outgoingDataStreamManager.setupEngine(this.engine))}createRegionStrategy(){return{getNextUrl:e=>q(this,void 0,void 0,function*(){return this.regionUrlProvider?this.regionUrlProvider.getNextBestRegionUrl(e):null}),resetAttempts:()=>this.regionUrlProvider?.resetAttempts()}}static getLocalDevices(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return hO.getInstance().getDevices(e,t)}prepareConnection(e,t){return q(this,void 0,void 0,function*(){if(this.state===pN.Disconnected){this.log.debug(`prepareConnection to ${e}`);try{if(zE(new URL(e))&&t){this.regionUrlProvider=new tj(e,t);let n=yield this.regionUrlProvider.getNextBestRegionUrl();n&&this.state===pN.Disconnected&&(this.regionUrl=n,yield fetch(aD(n),{method:`HEAD`}),this.log.debug(`prepared connection to ${n}`))}else yield fetch(aD(e),{method:`HEAD`})}catch(e){this.log.warn(`could not prepare connection`,{error:e})}}})}getParticipantByIdentity(e){return this.localParticipant.identity===e?this.localParticipant:this.remoteParticipants.get(e)}clearConnectionFutures(){this.connectFuture=void 0}simulateScenario(e,t){return q(this,void 0,void 0,function*(){let n=()=>q(this,void 0,void 0,function*(){}),r;switch(e){case`signal-reconnect`:yield this.engine.client.handleOnClose(`simulate disconnect`);break;case`fail-on-v1-path`:this.engine.failNextV1Path();break;case`speaker`:r=new rC({scenario:{case:`speakerUpdate`,value:3}});break;case`node-failure`:r=new rC({scenario:{case:`nodeFailure`,value:!0}});break;case`server-leave`:r=new rC({scenario:{case:`serverLeave`,value:!0}});break;case`migration`:r=new rC({scenario:{case:`migration`,value:!0}});break;case`resume-reconnect`:this.engine.failNext(),yield this.engine.client.handleOnClose(`simulate resume-disconnect`);break;case`disconnect-signal-on-resume`:n=()=>q(this,void 0,void 0,function*(){yield this.engine.client.handleOnClose(`simulate resume-disconnect`)}),r=new rC({scenario:{case:`disconnectSignalOnResume`,value:!0}});break;case`disconnect-signal-on-resume-no-messages`:n=()=>q(this,void 0,void 0,function*(){yield this.engine.client.handleOnClose(`simulate resume-disconnect`)}),r=new rC({scenario:{case:`disconnectSignalOnResumeNoMessages`,value:!0}});break;case`full-reconnect`:this.engine.fullReconnectOnNext=!0,yield this.engine.client.handleOnClose(`simulate full-reconnect`);break;case`force-tcp`:case`force-tls`:r=new rC({scenario:{case:`switchCandidateProtocol`,value:e===`force-tls`?2:1}}),n=()=>q(this,void 0,void 0,function*(){let e=this.engine.client.onLeave;e&&e(new FS({reason:$b.CLIENT_INITIATED,action:IS.RECONNECT}))});break;case`subscriber-bandwidth`:if(t===void 0||typeof t!=`number`)throw Error(`subscriber-bandwidth requires a number as argument`);r=new rC({scenario:{case:`subscriberBandwidth`,value:uD(t)}});break;case`leave-full-reconnect`:r=new rC({scenario:{case:`leaveRequestFullReconnect`,value:!0}})}r&&(yield this.engine.client.sendSimulateScenario(r),yield n())})}get canPlaybackAudio(){return this.audioEnabled}get canPlaybackVideo(){return!this.isVideoPlaybackBlocked}getActiveDevice(e){return this.localParticipant.activeDeviceMap.get(e)}switchActiveDevice(e,t){return q(this,arguments,void 0,function(e,t){var n=this;let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return function*(){var i,a;let o=!0,s=!1,c=r?{exact:t}:t;if(e===`audioinput`){s=n.localParticipant.audioTrackPublications.size===0;let t=n.getActiveDevice(e)??n.options.audioCaptureDefaults.deviceId;n.options.audioCaptureDefaults.deviceId=c;let r=Array.from(n.localParticipant.audioTrackPublications.values()).filter(e=>e.source===$.Source.Microphone);try{o=(yield Promise.all(r.map(e=>e.audioTrack?.setDeviceId(c)))).every(e=>e===!0)}catch(e){throw n.options.audioCaptureDefaults.deviceId=t,e}let i=r.some(e=>e.track?.isMuted??!1);o&&i&&(s=!0)}else if(e===`videoinput`){s=n.localParticipant.videoTrackPublications.size===0;let t=n.getActiveDevice(e)??n.options.videoCaptureDefaults.deviceId;n.options.videoCaptureDefaults.deviceId=c;let r=Array.from(n.localParticipant.videoTrackPublications.values()).filter(e=>e.source===$.Source.Camera);try{o=(yield Promise.all(r.map(e=>e.videoTrack?.setDeviceId(c)))).every(e=>e===!0)}catch(e){throw n.options.videoCaptureDefaults.deviceId=t,e}let i=r.some(e=>e.track?.isMuted??!1);o&&i&&(s=!0)}else if(e===`audiooutput`){if(s=!0,!EE()&&!n.options.webAudioMix||n.options.webAudioMix&&n.audioContext&&!(`setSinkId`in n.audioContext))throw Error(`cannot switch audio output, the current browser does not support it`);n.options.webAudioMix&&(t=(yield hO.getInstance().normalizeDeviceId(`audiooutput`,t))??``),(a=n.options).audioOutput??(a.audioOutput={});let r=n.getActiveDevice(e)??n.options.audioOutput.deviceId;n.options.audioOutput.deviceId=t;try{n.options.webAudioMix&&((i=n.audioContext)==null||i.setSinkId(t)),yield Promise.all(Array.from(n.remoteParticipants.values()).map(e=>e.setAudioOutput({deviceId:t})))}catch(e){throw n.options.audioOutput.deviceId=r,e}}return s&&(n.localParticipant.activeDeviceMap.set(e,t),n.emit(Y.ActiveDeviceChanged,e,t)),o}()})}setupLocalParticipantEvents(){this.localParticipant.on(X.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).on(X.ParticipantNameChanged,this.onLocalParticipantNameChanged).on(X.AttributesChanged,this.onLocalAttributesChanged).on(X.TrackMuted,this.onLocalTrackMuted).on(X.TrackUnmuted,this.onLocalTrackUnmuted).on(X.LocalTrackPublished,this.onLocalTrackPublished).on(X.LocalTrackUnpublished,this.onLocalTrackUnpublished).on(X.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).on(X.MediaDevicesError,this.onMediaDevicesError).on(X.AudioStreamAcquired,this.startAudio).on(X.ChatMessage,this.onLocalChatMessageSent).on(X.ParticipantPermissionsChanged,this.onLocalParticipantPermissionsChanged)}recreateEngine(e){let t=this.engine;e&&t&&!t.client.isDisconnected?t.client.sendLeave().finally(()=>t.close()):t?.close(),this.engine=void 0,this.isResuming=!1,this.remoteParticipants.clear(),this.sidToIdentity.clear(),this.bufferedEvents=[],this.maybeCreateEngine()}onTrackAdded(e,t,n){if([pN.Connecting,pN.Reconnecting].includes(this.state)){let r=ED(e,t);this.log.debug(`deferring on track for later`,{mediaTrackId:e.id,mediaStreamId:t.id,tracksInStream:t.getTracks().map(e=>e.id)});let i=()=>{a(),this.onTrackAdded(e,t,n)},a=()=>{if(this.off(Y.Reconnected,i),this.off(Y.Connected,i),this.off(Y.Disconnected,a),r){let e=this.pendingTrackAddedCallbacks.get(r);e?.delete(a),e?.size===0&&this.pendingTrackAddedCallbacks.delete(r)}};if(this.once(Y.Reconnected,i),this.once(Y.Connected,i),this.once(Y.Disconnected,a),r){let e=this.pendingTrackAddedCallbacks.get(r)??new Set;e.add(a),this.pendingTrackAddedCallbacks.set(r,e)}return}if(this.state===pN.Disconnected){this.log.warn(`skipping incoming track after Room disconnected`);return}if(e.readyState===`ended`){this.log.debug(`skipping incoming track as it already ended`);return}let r=mE(t.id),i=r[0],a=r[1],o=ED(e,t)??e.id;if(i===this.localParticipant.sid){this.log.warn(`tried to create RemoteParticipant for local participant`);return}let s=Array.from(this.remoteParticipants.values()).find(e=>e.sid===i);if(!s){i.startsWith(`PA`)&&this.log.error(`Tried to add a track for a participant, that's not present. Sid: ${i}`);return}if(!o.startsWith(`TR`)){let e=this.engine.getTrackIdForReceiver(n);if(!e){this.log.error(`Tried to add a track whose 'sid' could not be found for a participant, that's not present. Sid: ${i}`);return}o=e}o.startsWith(`TR`)||this.log.warn(`Tried to add a track whose 'sid' could not be determined for a participant, that's not present. Sid: ${i}, streamId: ${a}, trackId: ${o}`,{remoteParticipantID:i,streamId:a,trackId:o});let c;this.options.adaptiveStream&&(c=typeof this.options.adaptiveStream==`object`?this.options.adaptiveStream:{});let l=s.addSubscribedMediaTrack(e,o,t,n,c);l?.isEncrypted&&!this.e2eeManager&&this.emit(Y.EncryptionError,Error(`Encrypted ${l.source} track received from participant ${s.sid}, but room does not have encryption enabled!`))}cancelPendingTrackAdded(e){var t;(t=this.pendingTrackAddedCallbacks.get(e))==null||t.forEach(e=>e())}handleLocalTrackSubscribed(e){let t=()=>this.localParticipant.getTrackPublications().find(t=>t.trackSid===e),n=t();if(n){this.emitLocalTrackSubscribed(n);return}this.log.debug(`deferring LocalTrackSubscribed, publication not yet available`,{subscribedSid:e});let r,i=t=>{t.trackSid===e&&(a(),this.emitLocalTrackSubscribed(t))},a=()=>{clearTimeout(r),this.localParticipant.off(X.LocalTrackPublished,i),this.off(Y.Disconnected,a)};this.localParticipant.on(X.LocalTrackPublished,i),this.once(Y.Disconnected,a),r=setTimeout(()=>{a();let n=t();n?this.emitLocalTrackSubscribed(n):this.log.warn(`could not find local track publication for LocalTrackSubscribed event after timeout`,{subscribedSid:e})},1e4)}emitLocalTrackSubscribed(e){this.localParticipant.emit(X.LocalTrackSubscribed,e),this.emitWhenConnected(Y.LocalTrackSubscribed,e,this.localParticipant)}handleDisconnect(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,t=arguments.length>1?arguments[1]:void 0;var n,r;if(this.clearConnectionReconcile(),this.isResuming=!1,this.bufferedEvents=[],this.transcriptionReceivedTimes.clear(),this.incomingDataStreamManager.clearControllers(),this.incomingDataTrackManager.reset(),this.outgoingDataTrackManager.reset(),this.state!==pN.Disconnected){this.regionUrl=void 0,this.regionUrlProvider&&this.regionUrlProvider.notifyDisconnected();try{this.remoteParticipants.forEach(e=>{e.trackPublications.forEach(t=>{e.unpublishTrack(t.trackSid)})}),this.localParticipant.trackPublications.forEach(t=>{var n,r,i;t.track&&this.localParticipant.unpublishTrack(t.track,e),e?((n=t.track)==null||n.detach(),(r=t.track)==null||r.stop()):(i=t.track)==null||i.stopMonitor()}),this.localParticipant.off(X.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).off(X.ParticipantNameChanged,this.onLocalParticipantNameChanged).off(X.AttributesChanged,this.onLocalAttributesChanged).off(X.TrackMuted,this.onLocalTrackMuted).off(X.TrackUnmuted,this.onLocalTrackUnmuted).off(X.LocalTrackPublished,this.onLocalTrackPublished).off(X.LocalTrackUnpublished,this.onLocalTrackUnpublished).off(X.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).off(X.MediaDevicesError,this.onMediaDevicesError).off(X.AudioStreamAcquired,this.startAudio).off(X.ChatMessage,this.onLocalChatMessageSent).off(X.ParticipantPermissionsChanged,this.onLocalParticipantPermissionsChanged),this.localParticipant.trackPublications.clear(),this.localParticipant.videoTrackPublications.clear(),this.localParticipant.audioTrackPublications.clear(),this.remoteParticipants.clear(),this.sidToIdentity.clear(),this.activeSpeakers=[],this.audioContext&&typeof this.options.webAudioMix==`boolean`&&(this.audioContext.close(),this.audioContext=void 0),LE()&&(window.removeEventListener(`beforeunload`,this.onPageLeave),window.removeEventListener(`pagehide`,this.onPageLeave),window.removeEventListener(`freeze`,this.onPageLeave),(r=(n=navigator.mediaDevices)?.removeEventListener)==null||r.call(n,`devicechange`,this.handleDeviceChange))}finally{this.setAndEmitConnectionState(pN.Disconnected),this.emit(Y.Disconnected,t)}}}handleParticipantDisconnected(e,t,n){this.remoteParticipants.delete(e),t&&(this.incomingDataStreamManager.validateParticipantHasNoActiveDataStreams(e),this.incomingDataTrackManager.handleRemoteParticipantDisconnected(e),t.trackPublications.forEach(e=>{t.unpublishTrack(e.trackSid,!0)}),this.emit(Y.ParticipantDisconnected,t,n),t.setDisconnected(),this.rpcClientManager.handleParticipantDisconnected(t.identity))}selectDefaultDevices(){return q(this,void 0,void 0,function*(){let e=hO.getInstance().previousDevices,t=yield hO.getInstance().getDevices(void 0,!1),n=oT();if(n?.name===`Chrome`&&n.os!==`iOS`)for(let n of t){let t=e.find(e=>e.deviceId===n.deviceId);t&&t.label!==``&&t.kind===n.kind&&t.label!==n.label&&this.getActiveDevice(n.kind)==="default"&&this.emit(Y.ActiveDeviceChanged,n.kind,n.deviceId)}for(let n of[`audiooutput`,`audioinput`,`videoinput`]){let r=YT(n),i=this.localParticipant.getTrackPublication(r);if(i&&i.track?.isUserProvided)continue;let a=t.filter(e=>e.kind===n),o=this.getActiveDevice(n);if(o===e.filter(e=>e.kind===n)[0]?.deviceId&&a.length>0&&a[0]?.deviceId!==o){yield this.switchActiveDevice(n,a[0].deviceId);continue}n===`audioinput`&&!ME()||n===`videoinput`||a.length>0&&!a.find(e=>e.deviceId===this.getActiveDevice(n))&&(n!==`audiooutput`||!ME())&&(yield this.switchActiveDevice(n,a[0].deviceId))}})}acquireAudioContext(){return q(this,void 0,void 0,function*(){if(typeof this.options.webAudioMix!=`boolean`&&this.options.webAudioMix.audioContext?this.audioContext=this.options.webAudioMix.audioContext:(!this.audioContext||this.audioContext.state===`closed`)&&(this.audioContext=JT()??void 0),this.options.webAudioMix&&this.remoteParticipants.forEach(e=>e.setAudioContext(this.audioContext)),this.localParticipant.setAudioContext(this.audioContext),this.audioContext&&this.audioContext.state===`suspended`)try{yield Promise.race([this.audioContext.resume(),hE(200)])}catch(e){this.log.warn(`Could not resume audio context`,{error:e})}let e=this.audioContext?.state===`running`;e!==this.canPlaybackAudio&&(this.audioEnabled=e,this.emit(Y.AudioPlaybackStatusChanged,e))})}createParticipant(e,t){let n;return n=t?fN.fromParticipantInfo(this.engine.client,t,{loggerContextCb:()=>this.logContext,loggerName:this.options.loggerName},this.incomingDataTrackManager):new fN(this.engine.client,``,e,void 0,void 0,void 0,{loggerContextCb:()=>this.logContext,loggerName:this.options.loggerName}),this.options.webAudioMix&&n.setAudioContext(this.audioContext),this.options.audioOutput?.deviceId&&n.setAudioOutput(this.options.audioOutput).catch(e=>this.log.warn(`Could not set audio output: ${e.message}`)),n}getOrCreateParticipant(e,t){if(this.remoteParticipants.has(e)){let n=this.remoteParticipants.get(e);return t&&n.updateInfo(t)&&this.sidToIdentity.set(t.sid,t.identity),n}let n=this.createParticipant(e,t);return this.remoteParticipants.set(e,n),this.sidToIdentity.set(t.sid,t.identity),this.emitWhenConnected(Y.ParticipantConnected,n),n.on(X.TrackPublished,e=>{this.emitWhenConnected(Y.TrackPublished,e,n)}).on(X.TrackSubscribed,(e,t)=>{e.kind===$.Kind.Audio?(e.on(Q.AudioPlaybackStarted,this.handleAudioPlaybackStarted),e.on(Q.AudioPlaybackFailed,this.handleAudioPlaybackFailed)):e.kind===$.Kind.Video&&(e.on(Q.VideoPlaybackFailed,this.handleVideoPlaybackFailed),e.on(Q.VideoPlaybackStarted,this.handleVideoPlaybackStarted)),this.emitWhenConnected(Y.TrackSubscribed,e,t,n)}).on(X.TrackUnpublished,e=>{this.cancelPendingTrackAdded(e.trackSid),this.emit(Y.TrackUnpublished,e,n)}).on(X.TrackUnsubscribed,(e,t)=>{this.emit(Y.TrackUnsubscribed,e,t,n)}).on(X.TrackMuted,e=>{this.emitWhenConnected(Y.TrackMuted,e,n)}).on(X.TrackUnmuted,e=>{this.emitWhenConnected(Y.TrackUnmuted,e,n)}).on(X.ParticipantMetadataChanged,e=>{this.emitWhenConnected(Y.ParticipantMetadataChanged,e,n)}).on(X.ParticipantNameChanged,e=>{this.emitWhenConnected(Y.ParticipantNameChanged,e,n)}).on(X.AttributesChanged,e=>{this.emitWhenConnected(Y.ParticipantAttributesChanged,e,n)}).on(X.ConnectionQualityChanged,e=>{this.emitWhenConnected(Y.ConnectionQualityChanged,e,n)}).on(X.ParticipantPermissionsChanged,e=>{this.emitWhenConnected(Y.ParticipantPermissionsChanged,e,n)}).on(X.TrackSubscriptionStatusChanged,(e,t)=>{this.emitWhenConnected(Y.TrackSubscriptionStatusChanged,e,t,n)}).on(X.TrackSubscriptionFailed,(e,t)=>{this.emit(Y.TrackSubscriptionFailed,e,n,t)}).on(X.TrackSubscriptionPermissionChanged,(e,t)=>{this.emitWhenConnected(Y.TrackSubscriptionPermissionChanged,e,t,n)}).on(X.Active,()=>{this.emitWhenConnected(Y.ParticipantActive,n),n.kind===lx.AGENT&&this.localParticipant.setActiveAgent(n)}),t&&n.updateInfo(t),n}sendSyncState(){let e=Array.from(this.remoteParticipants.values()).reduce((e,t)=>(e.push(...t.getTrackPublications()),e),[]),t=this.localParticipant.getTrackPublications(),n=this.outgoingDataTrackManager.queryPublished();this.engine.sendSyncState(e,t,n)}updateSubscriptions(){for(let e of this.remoteParticipants.values())for(let t of e.videoTrackPublications.values())t.isSubscribed&&_D(t)&&t.emitTrackUpdate()}getRemoteParticipantBySid(e){let t=this.sidToIdentity.get(e);if(t)return this.remoteParticipants.get(t)}getClientInfoCapabilities(e){let t=[];return(JD(e.frameMetadata??e.packetTrailer)||this.e2eeManager)&&t.push(Gx.CAP_PACKET_TRAILER),wD()&&t.push(Gx.CAP_COMPRESSION_DEFLATE_RAW),t}registerRpcDataStreamHandler(){this.incomingDataStreamManager.registerTextStreamHandler(GM,(e,t)=>q(this,[e,t],void 0,function(e,t){var n=this;let r=t.identity;return function*(){let t=e.info.attributes??{};yield n.rpcServerManager.handleIncomingDataStream(e,r,t)}()})),this.incomingDataStreamManager.registerTextStreamHandler(KM,(e,t)=>q(this,[e,t],void 0,function(e,t){var n=this;let r=t.identity;return function*(){let t=e.info.attributes??{};yield n.rpcClientManager.handleIncomingDataStream(e,r,t)}()}))}setStatsLogging(e){e?this.statsLogInterval||=ET.setInterval(()=>{this.logWebRTCStats()},hN):this.statsLogInterval&&=(ET.clearInterval(this.statsLogInterval),void 0)}registerConnectionReconcile(){this.clearConnectionReconcile();let e=0;this.connectionReconcileInterval=ET.setInterval(()=>{!this.engine||this.engine.isClosed||!this.engine.verifyTransport()?(e++,this.log.warn(`detected connection state mismatch`,{numFailures:e,engine:this.engine?{closed:this.engine.isClosed,transportsConnectedOrConnecting:this.engine.verifyTransport()}:void 0}),e>=3&&(this.clearConnectionReconcile(),this.engine&&!this.engine.isClosed?(this.log.warn(`detected connection state mismatch, attempting full reconnect`),this.engine.reconnect()):(this.recreateEngine(),this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,$b.STATE_MISMATCH)))):e=0},mN)}clearConnectionReconcile(){this.connectionReconcileInterval&&ET.clearInterval(this.connectionReconcileInterval)}setAndEmitConnectionState(e){return e!==this.state&&(this.log.info(`connection state changed: ${this.state} -> ${e}`),this.state=e,this.incomingDataStreamManager.setConnected(e===pN.Connected),this.setStatsLogging(e===pN.Connected),this.emit(Y.ConnectionStateChanged,this.state),!0)}emitBufferedEvents(){this.bufferedEvents.forEach(e=>{let t=G(e,2),n=t[0],r=t[1];this.emit(n,...r)}),this.bufferedEvents=[]}emitWhenConnected(e){var t=[...arguments].slice(1);if(this.state===pN.Reconnecting||this.isResuming||!this.engine||this.engine.pendingReconnect)this.bufferedEvents.push([e,t]);else if(this.state===pN.Connected)return this.emit(e,...t);return!1}simulateParticipants(e){return q(this,void 0,void 0,function*(){let t=Object.assign({audio:!0,video:!0,useRealTracks:!1},e.publish),n=Object.assign({count:9,audio:!1,video:!0,aspectRatios:[1.66,1.7,1.3]},e.participants);if(this.handleDisconnect(),this.roomInfo=new ix({sid:`RM_SIMULATED`,name:`simulated-room`,emptyTimeout:0,maxParticipants:0,creationTime:cy.parse(new Date().getTime()),metadata:``,numParticipants:1,numPublishers:1,turnPassword:``,enabledCodecs:[],activeRecording:!1}),this.localParticipant.updateInfo(new sx({identity:`simulated-local`,name:`local-name`})),this.setupLocalParticipantEvents(),this.emit(Y.SignalConnected),this.emit(Y.Connected),this.setAndEmitConnectionState(pN.Connected),t.video){let e=new nN($.Kind.Video,new px({source:Yb.CAMERA,sid:Math.floor(Math.random()*1e4).toString(),type:Jb.AUDIO,name:`video-dummy`}),new RA(t.useRealTracks&&window.navigator.mediaDevices?.getUserMedia?(yield window.navigator.mediaDevices.getUserMedia({video:!0})).getVideoTracks()[0]:QE(160*(n.aspectRatios[0]??1),160,!0,!0),void 0,!1,{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext}),{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext});this.localParticipant.addTrackPublication(e),this.localParticipant.emit(X.LocalTrackPublished,e)}if(t.audio){let e=new nN($.Kind.Audio,new px({source:Yb.MICROPHONE,sid:Math.floor(Math.random()*1e4).toString(),type:Jb.AUDIO}),new vA(t.useRealTracks&&navigator.mediaDevices?.getUserMedia?(yield navigator.mediaDevices.getUserMedia({audio:!0})).getAudioTracks()[0]:eD(),void 0,!1,this.audioContext,{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext}),{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext});this.localParticipant.addTrackPublication(e),this.localParticipant.emit(X.LocalTrackPublished,e)}for(let e=0;e<n.count-1;e+=1){let t=new sx({sid:Math.floor(Math.random()*1e4).toString(),identity:`simulated-${e}`,state:cx.ACTIVE,tracks:[],joinedAt:cy.parse(Date.now())}),r=this.getOrCreateParticipant(t.identity,t);if(n.video){let i=QE(160*(n.aspectRatios[e%n.aspectRatios.length]??1),160,!1,!0),a=new px({source:Yb.CAMERA,sid:Math.floor(Math.random()*1e4).toString(),type:Jb.AUDIO});r.addSubscribedMediaTrack(i,a.sid,new MediaStream([i]),new RTCRtpReceiver),t.tracks=[...t.tracks,a]}if(n.audio){let e=eD(),n=new px({source:Yb.MICROPHONE,sid:Math.floor(Math.random()*1e4).toString(),type:Jb.AUDIO});r.addSubscribedMediaTrack(e,n.sid,new MediaStream([e]),new RTCRtpReceiver),t.tracks=[...t.tracks,n]}r.updateInfo(t)}})}emit(e){var t=[...arguments].slice(1);if(e!==Y.ActiveSpeakersChanged&&e!==Y.TranscriptionReceived){let n=_N(t).filter(e=>e!==void 0);(e===Y.TrackSubscribed||e===Y.TrackUnsubscribed)&&this.log.trace(`subscribe trace: ${e}`,{event:e,args:n}),this.log.debug(`room event ${e}`,{event:e,args:n})}return super.emit(e,...t)}};gN.cleanupRegistry=typeof FinalizationRegistry<`u`&&typeof WeakRef<`u`&&new FinalizationRegistry(e=>{e()});function _N(e){return e.map(e=>{if(e)return Array.isArray(e)?_N(e):typeof e==`object`?`logContext`in e?e.logContext:void 0:e})}var vN;(function(e){e[e.IDLE=0]=`IDLE`,e[e.RUNNING=1]=`RUNNING`,e[e.SKIPPED=2]=`SKIPPED`,e[e.SUCCESS=3]=`SUCCESS`,e[e.FAILED=4]=`FAILED`})(vN||={}),WC.EventEmitter,WC.EventEmitter,new TextEncoder,new TextDecoder,new TextDecoder(`utf-8`,{fatal:!0});var yN=class extends Error{constructor(e,t){var n;super(e,t),W(this,`code`,`ERR_JOSE_GENERIC`),this.name=this.constructor.name,(n=Error.captureStackTrace)==null||n.call(Error,this,this.constructor)}};W(yN,`code`,`ERR_JOSE_GENERIC`),W(class extends yN{constructor(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:`unspecified`,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`unspecified`;super(e,{cause:{claim:n,reason:r,payload:t}}),W(this,`code`,`ERR_JWT_CLAIM_VALIDATION_FAILED`),W(this,`claim`,void 0),W(this,`reason`,void 0),W(this,`payload`,void 0),this.claim=n,this.reason=r,this.payload=t}},`code`,`ERR_JWT_CLAIM_VALIDATION_FAILED`),W(class extends yN{constructor(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:`unspecified`,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`unspecified`;super(e,{cause:{claim:n,reason:r,payload:t}}),W(this,`code`,`ERR_JWT_EXPIRED`),W(this,`claim`,void 0),W(this,`reason`,void 0),W(this,`payload`,void 0),this.claim=n,this.reason=r,this.payload=t}},`code`,`ERR_JWT_EXPIRED`),W(class extends yN{constructor(){super(...arguments),W(this,`code`,`ERR_JOSE_ALG_NOT_ALLOWED`)}},`code`,`ERR_JOSE_ALG_NOT_ALLOWED`),W(class extends yN{constructor(){super(...arguments),W(this,`code`,`ERR_JOSE_NOT_SUPPORTED`)}},`code`,`ERR_JOSE_NOT_SUPPORTED`),W(class extends yN{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:`decryption operation failed`,t=arguments.length>1?arguments[1]:void 0;super(e,t),W(this,`code`,`ERR_JWE_DECRYPTION_FAILED`)}},`code`,`ERR_JWE_DECRYPTION_FAILED`),W(class extends yN{constructor(){super(...arguments),W(this,`code`,`ERR_JWE_INVALID`)}},`code`,`ERR_JWE_INVALID`),W(class extends yN{constructor(){super(...arguments),W(this,`code`,`ERR_JWS_INVALID`)}},`code`,`ERR_JWS_INVALID`),W(class extends yN{constructor(){super(...arguments),W(this,`code`,`ERR_JWT_INVALID`)}},`code`,`ERR_JWT_INVALID`),W(class extends yN{constructor(){super(...arguments),W(this,`code`,`ERR_JWK_INVALID`)}},`code`,`ERR_JWK_INVALID`),W(class extends yN{constructor(){super(...arguments),W(this,`code`,`ERR_JWKS_INVALID`)}},`code`,`ERR_JWKS_INVALID`),W(class extends yN{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:`no applicable key found in the JSON Web Key Set`,t=arguments.length>1?arguments[1]:void 0;super(e,t),W(this,`code`,`ERR_JWKS_NO_MATCHING_KEY`)}},`code`,`ERR_JWKS_NO_MATCHING_KEY`),W(class extends yN{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:`multiple matching keys found in the JSON Web Key Set`,t=arguments.length>1?arguments[1]:void 0;super(e,t),W(this,Symbol.asyncIterator,Dy(function*(){})),W(this,`code`,`ERR_JWKS_MULTIPLE_MATCHING_KEYS`)}},`code`,`ERR_JWKS_MULTIPLE_MATCHING_KEYS`),W(class extends yN{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:`request timed out`,t=arguments.length>1?arguments[1]:void 0;super(e,t),W(this,`code`,`ERR_JWKS_TIMEOUT`)}},`code`,`ERR_JWKS_TIMEOUT`),W(class extends yN{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:`signature verification failed`,t=arguments.length>1?arguments[1]:void 0;super(e,t),W(this,`code`,`ERR_JWS_SIGNATURE_VERIFICATION_FAILED`)}},`code`,`ERR_JWS_SIGNATURE_VERIFICATION_FAILED`);var bN=B({server_url:F(),participant_token:F(),identity:F()});async function xN(e,t,n){return bN.parse(await oa(e,`/v1/calls/${t}/${n}`,{}))}function SN(e){let t=_a(),[n,r]=(0,O.useState)(`off`),[i,a]=(0,O.useState)(null),o=(0,O.useRef)(null),s=(0,O.useRef)([]),c=(0,O.useCallback)(async()=>{r(`joining`),a(null);try{let n=await xN(t,e,`listen`),i=new gN;o.current=i,i.on(Y.TrackSubscribed,e=>{if(e.kind!==$.Kind.Audio)return;let t=e.attach();t.muted=!0,t.style.display=`none`,document.body.append(t),s.current.push(t)}),i.on(Y.TrackUnsubscribed,e=>{for(let t of e.detach())t.remove(),s.current=s.current.filter(e=>e!==t)}),i.on(Y.Disconnected,()=>r(`off`)),await i.connect(n.server_url,n.participant_token),r(`muted`)}catch(e){a(e instanceof Error?e.message:String(e)),r(`failed`)}},[e,t]),l=(0,O.useCallback)(e=>{for(let t of s.current)t.muted=!e;r(e?`on`:`muted`)},[]),u=(0,O.useCallback)(async()=>{await o.current?.disconnect(),o.current=null},[]);return(0,O.useEffect)(()=>()=>{o.current?.disconnect()},[]),{listening:n,error:i,join:c,hear:l,leave:u}}var CN=`cold`,wN=class{#e;#t;#n=null;constructor(e,t){this.#e=e,this.#t=t}async send(e){await oa(this.#e,`/v1/calls/${this.#t}/verbs`,ch.parse(e))}async take(){await(await this.#r()).localParticipant.setMicrophoneEnabled(!0),await this.send({verb:`takeover`})}async give(){await this.send({verb:`release`}),await this.#i()}async leave(){await this.#i(),await this.#n?.disconnect(),this.#n=null}async#r(){if(this.#n!==null)return this.#n;let e=await xN(this.#e,this.#t,`supervise`),t=new gN;return await t.connect(e.server_url,e.participant_token,{autoSubscribe:!1}),this.#n=t,t}async#i(){let e=this.#n?.localParticipant,t=e?.getTrackPublication($.Source.Microphone);e!==void 0&&t?.track!==void 0&&await e.unpublishTrack(t.track,!0)}};function TN(e){let t=_a(),[n,r]=(0,O.useState)(!1),[i,a]=(0,O.useState)(null),o=(0,O.useRef)(null),s=(0,O.useCallback)(()=>(o.current??=new wN(t,e),o.current),[e,t]),c=(0,O.useCallback)(async(e,t)=>{a(null);try{await e(s()),t!==null&&r(t)}catch(e){a(e instanceof Error?e.message:String(e))}},[s]),l=(0,O.useCallback)(e=>c(t=>t.send({verb:`whisper`,text:e}),null),[c]),u=(0,O.useCallback)(e=>c(t=>t.send({verb:`say`,text:e}),null),[c]),d=(0,O.useCallback)(()=>c(e=>e.take(),!0),[c]),f=(0,O.useCallback)(()=>c(e=>e.give(),!1),[c]),p=(0,O.useCallback)(e=>c(t=>t.send({verb:`transfer`,to:e,mode:CN}),null),[c]),m=(0,O.useCallback)(()=>c(e=>e.send({verb:`end`}),null),[c]);return(0,O.useEffect)(()=>()=>{o.current?.leave(),o.current=null},[]),{whisper:l,say:u,takeOver:d,release:f,transfer:p,end:m,holding:n,error:i}}var EN={whisper:`the agent is told this — the caller never hears it`,say:`the agent says this to the caller, verbatim`};function DN({call:e,live:t}){let n=SN(e),r=TN(e),i=n.error??r.error;return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`div`,{className:`live-desk`,children:[(0,j.jsx)(ON,{ear:n,live:t}),t&&(0,j.jsx)(AN,{desk:r})]}),i!==null&&(0,j.jsx)(`p`,{className:`live-refused fixed`,children:i})]})}function ON({ear:e,live:t}){if(!t)return(0,j.jsx)(kN,{disabled:!0,dot:`off`,title:`the call is over: read its log, or play its recording`,children:`listen`});switch(e.listening){case`off`:case`failed`:return(0,j.jsx)(kN,{dot:`off`,onClick:()=>void e.join(),children:`listen`});case`joining`:return(0,j.jsx)(kN,{disabled:!0,dot:`warm`,children:`joining…`});case`muted`:return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(kN,{dot:`warm`,onClick:()=>e.hear(!0),children:`hear it`}),(0,j.jsx)(kN,{dot:`warm`,onClick:()=>void e.leave(),children:`stop`})]});case`on`:return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(kN,{dot:`on`,onClick:()=>e.hear(!1),children:`listening · mute`}),(0,j.jsx)(kN,{dot:`warm`,onClick:()=>void e.leave(),children:`stop`})]})}}function kN({dot:e,armed:t=!1,disabled:n=!1,title:r,onClick:i,children:a}){return(0,j.jsxs)(`button`,{type:`button`,className:e===`on`?`desk-move desk-move-on`:e===`warm`||t?`desk-move desk-move-armed`:`desk-move`,disabled:n,title:r,onClick:i,children:[e!==void 0&&(0,j.jsx)(`span`,{className:`desk-dot desk-dot-${e}`,"aria-hidden":!0}),a]})}function AN({desk:e}){let[t,n]=(0,O.useState)(`whisper`),[r,i]=(0,O.useState)(``),[a,o]=(0,O.useState)(null),[s,c]=(0,O.useState)(!1),l=()=>{r.trim()!==``&&(t===`whisper`?e.whisper(r):e.say(r),i(``))},u=()=>{a!==null&&a.trim()!==``&&(e.transfer(a.trim()),o(null))};return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`div`,{className:`desk-box`,role:`group`,"aria-label":`whisper or say`,children:[[`whisper`,`say`].map(e=>(0,j.jsx)(`button`,{type:`button`,className:e===t?`desk-mode desk-mode-here fixed`:`desk-mode fixed`,onClick:()=>n(e),"aria-pressed":e===t,children:e},e)),(0,j.jsx)(`input`,{className:`desk-text`,onChange:e=>i(e.target.value),onKeyDown:e=>{e.key===`Enter`&&l()},placeholder:EN[t],value:r})]}),(0,j.jsx)(kN,{armed:e.holding,onClick:()=>void(e.holding?e.release():e.takeOver()),children:e.holding?`hand back`:`take over`}),a===null?(0,j.jsx)(kN,{onClick:()=>o(``),children:`transfer`}):(0,j.jsx)(`span`,{className:`desk-to fixed`,children:(0,j.jsx)(`input`,{className:`desk-to-number`,autoFocus:!0,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`&&u(),e.key===`Escape`&&o(null)},placeholder:`+34`,value:a})}),(0,j.jsx)(kN,{armed:s,onClick:()=>{s&&e.end(),c(!s)},children:s?`end · sure?`:`end`})]})}function jN(e){return e.ops.map(FN).join(`; `)}function MN(e){return e.ops.flatMap(e=>e.facts.map(e=>e.category?`${e.text} (${e.category})`:e.text))}function NN(e){return`${e.sources.length} sources · ${IN(e.took_ms)}`}function PN(e){return e.sources.map(e=>`${e.heading?`${e.path} › ${e.heading}`:e.path} · ${e.score.toFixed(3)}`)}function FN(e){return`${e.op} · ${e.facts.length} facts · ${IN(e.took_ms)}`}function IN(e){return`${Math.round(e)} ms`}function LN({seq:e,kind:t,tone:n,said:r,meta:i=[],chips:a=[],children:o}){let s=(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`span`,{className:`log-seq fixed`,children:e}),(0,j.jsx)(`span`,{className:`log-kind fixed`,children:t}),(0,j.jsxs)(`span`,{className:`log-text`,children:[(0,j.jsx)(`span`,{className:`log-said`,children:r}),(i.length>0||a.length>0)&&(0,j.jsxs)(`span`,{className:`log-meta fixed`,children:[i.map((e,t)=>(0,j.jsx)(`span`,{children:e},t)),a.map(e=>(0,j.jsx)(`span`,{className:`log-chip`,children:e},e))]})]})]});return o==null||o===!1?(0,j.jsx)(`div`,{className:`log-row log-row-${n}`,children:s}):(0,j.jsxs)(`details`,{className:`log-row log-row-${n}`,children:[(0,j.jsx)(`summary`,{className:`log-line`,children:s}),(0,j.jsx)(`div`,{className:`log-more`,children:o})]})}function RN({ops:e,seq:t}){return(0,j.jsx)(BN,{kind:`memory`,said:jN(e),lines:MN(e),seq:t})}function zN({sources:e,seq:t}){return(0,j.jsx)(BN,{kind:`sources`,said:NN(e),lines:PN(e),seq:t})}function BN({kind:e,said:t,lines:n,seq:r}){return(0,j.jsx)(LN,{seq:r,kind:e,tone:`quiet`,said:(0,j.jsx)(`span`,{className:`fixed`,children:t}),children:(0,j.jsx)(`ul`,{className:`log-list fixed`,children:n.map(e=>(0,j.jsx)(`li`,{children:e},e))})})}function VN({changed:e,cause:t,seq:n}){return(0,j.jsx)(LN,{seq:n,kind:`state`,tone:`state`,said:`${e.join(`, `)} ← ${KN(t)}`})}function HN({mark:e,seq:t}){return(0,j.jsx)(LN,{seq:t,kind:`supervisor`,tone:`supervisor`,said:e.said,meta:[e.by]})}function UN({confirm:e,seq:t}){let n=[{field:`tool`,value:e.tool,unit:null},{field:`audience`,value:e.audience,unit:null},...e.said==null?[]:[{field:`said`,value:e.said,unit:null}],...e.reason==null?[]:[{field:`reason`,value:e.reason,unit:null}]];return(0,j.jsx)(LN,{seq:t,kind:`confirm`,tone:`confirm`,said:e.phrase,meta:[e.status],children:(0,j.jsx)(gv,{rows:n})})}function WN({name:e,source:t,data:n,seq:r}){return(0,j.jsx)(LN,{seq:r,kind:`event`,tone:`event`,said:(0,j.jsx)(`span`,{className:`fixed`,children:e}),meta:[t],children:(0,j.jsx)(`pre`,{className:`log-data fixed`,children:JSON.stringify(n,null,2)})})}function GN({entries:e}){return(0,j.jsx)(LN,{seq:e[0]?.seq,kind:`quiet`,tone:`quiet`,said:`${e.length} entries`,children:(0,j.jsx)(`ul`,{className:`log-list fixed`,children:e.map(e=>(0,j.jsxs)(`li`,{children:[e.seq,` `,e.type]},`${String(e.seq)}-${e.type}`))})})}function KN(e){return e===null?`the app`:e.kind===`tool`?e.tool:`${e.name} (seq ${String(e.seq)})`}var qN=`supervisor.`;function JN(e){if(!e.type.startsWith(qN))return null;let t=Wg(e);switch(t.type){case`supervisor.whispered`:return{said:`supervisor whispered: ${t.data.text}`,by:YN(t.data.by)};case`supervisor.said`:return{said:`supervisor made the agent say: ${t.data.text}`,by:YN(t.data.by)};case`supervisor.took_over`:return{said:`supervisor took the line`,by:YN(t.data.by)};case`supervisor.released`:return{said:`supervisor handed the line back`,by:YN(t.data.by)};case`supervisor.transferred`:return{said:`supervisor transferred the call to ${t.data.to}`,by:YN(t.data.by)};case`supervisor.ended`:return{said:`supervisor ended the call${XN(t.data.reason)}`,by:YN(t.data.by)};default:return null}}function YN(e){return e.name??e.id}function XN(e){return e==null?``:`: ${e}`}function ZN(e,t){let n=[],r=[],i=()=>{r.length>0&&(n.push({kind:`quiet`,seq:r[0]?.seq??0,entries:r}),r=[])};for(let a of e){let e=QN(a,t);if(e===null){r.push(a);continue}i(),n.push(e)}return i(),n}function QN(e,t){let n=e.seq,r=JN(e);if(r!==null)return{kind:`supervisor`,seq:n,mark:r};let i=Wg(e);switch(i.type){case`turn.user`:case`turn.agent`:{let e=$N(t,i.type===`turn.user`?`user`:`agent`,i.data.speech_id);return e===void 0?null:{kind:`turn`,seq:n,turn:e}}case`tool.call`:{let e=eP(t.tools,e=>e.call_id===i.data.call_id);return e===void 0?null:{kind:`tool`,seq:n,run:e}}case`state.changed`:return{kind:`state`,seq:n,changed:i.data.changed,cause:i.data.cause??null};case`confirm.request`:{let e=eP(t.confirms,e=>e.call_id===i.data.call_id);return e===void 0?null:{kind:`confirm`,seq:n,confirm:e}}case`event.received`:return{kind:`event`,seq:n,name:i.data.name,source:i.data.source,data:i.data.data};case`memory.ops`:return{kind:`memory`,seq:n,ops:i.data};case`docs.sources`:return{kind:`sources`,seq:n,sources:i.data};default:return null}}function $N(e,t,n){return eP(e.turns,e=>e.role===t&&e.speech_id===n)}function eP(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(t(r))return r}}function tP({run:e,seq:t}){let n=[{field:`arguments`,value:JSON.stringify(e.arguments,null,2),unit:null},...nP(e.output)?[{field:`output`,value:JSON.stringify(e.output,null,2),unit:null}]:[],...nP(e.error)?[{field:`error`,value:e.error,unit:null}]:[],...nP(e.duration_s)?[{field:`duration_s`,value:ov(e.duration_s),unit:null}]:[]];return(0,j.jsx)(LN,{seq:t,kind:`tool`,tone:`tool`,said:(0,j.jsxs)(`span`,{className:`fixed`,children:[e.name,`(`,rP(e),`)`]}),meta:[(0,j.jsx)(`span`,{className:e.status===`failed`?`log-failed`:``,children:iP(e)})],children:(0,j.jsx)(gv,{rows:n})})}function nP(e){return e!=null}function rP(e){return Object.entries(e.arguments).map(([e,t])=>`${e}=${aP(t)}`).join(`, `)}function iP(e){return e.status===`running`?`…`:e.error??e.summary??aP(e.output)}function aP(e){let t=typeof e==`string`?e:JSON.stringify(e);return t===void 0?``:t.slice(0,60)}function oP({turn:e,seq:t,metrics:n}){let r=lv(n,e.speech_id),i=[...e.role===`agent`&&e.interrupted?[`interrupted`]:[],...e.role===`user`&&e.language!==void 0?[e.language]:[]];return(0,j.jsx)(LN,{seq:t,kind:`turn`,tone:`turn`,said:(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`span`,{className:`log-who`,children:e.role}),` · `,e.text]}),meta:[e.speech_id,...i],chips:rv(e).map(e=>`${e.field} ${e.value}`),children:r.length===0?null:r.map((e,t)=>(0,j.jsxs)(`section`,{className:`log-block`,children:[(0,j.jsxs)(`h4`,{className:`log-block-name fixed`,children:[`metrics.`,e.kind]}),(0,j.jsx)(gv,{rows:e.readings})]},`${e.kind}-${String(t)}`))})}function sP({entries:e,state:t}){let n=t.live.user!==null||t.live.agent!==null;return(0,j.jsxs)(`div`,{className:`live-timeline`,children:[(0,j.jsx)(`div`,{className:`live-rows`,children:ZN(e,t).map(e=>(0,j.jsx)(cP,{row:e,state:t},`${e.kind}-${String(e.seq)}`))}),n&&(0,j.jsxs)(`div`,{className:`live-foot`,children:[(0,j.jsx)(lP,{said:t.live.user,whose:`user`}),(0,j.jsx)(lP,{said:t.live.agent,whose:`agent`})]})]})}function cP({row:e,state:t}){switch(e.kind){case`turn`:return(0,j.jsx)(oP,{turn:e.turn,seq:e.seq,metrics:t.metrics});case`tool`:return(0,j.jsx)(tP,{run:e.run,seq:e.seq});case`state`:return(0,j.jsx)(VN,{changed:e.changed,cause:e.cause,seq:e.seq});case`confirm`:return(0,j.jsx)(UN,{confirm:e.confirm,seq:e.seq});case`event`:return(0,j.jsx)(WN,{name:e.name,source:e.source,data:e.data,seq:e.seq});case`supervisor`:return(0,j.jsx)(HN,{mark:e.mark,seq:e.seq});case`memory`:return(0,j.jsx)(RN,{ops:e.ops,seq:e.seq});case`sources`:return(0,j.jsx)(zN,{sources:e.sources,seq:e.seq});case`quiet`:return(0,j.jsx)(GN,{entries:e.entries})}}function lP({said:e,whose:t}){return(0,j.jsxs)(`p`,{className:`live-foot-line`,children:[t,` `,(0,j.jsx)(`span`,{className:`live-foot-said`,children:e??`…`}),e!==null&&(0,j.jsx)(`span`,{className:`live-foot-caret`,"aria-hidden":!0})]})}var uP=500;async function dP(e,t){let n=[],r=0;for(;;){let i=Kg.parse(await ia(e,`/v1/calls/${t}/events`,{after:r,limit:uP}));if(n.push(...i.entries),i.next===null||i.entries.length<uP)return n;r=i.next}}var fP=500,pP=8e3,mP=204,hP=class{#e=``;#t=null;#n=null;#r=[];feed(e){this.#e+=e;let t=[],n;for(;(n=this.#e.search(/\r\n|\n|\r/))!==-1;){let e=this.#e.slice(0,n);this.#e=this.#e.slice(n+(this.#e.startsWith(`\r
98
+ `,n)?2:1));let r=this.#i(e);r!==null&&t.push(r)}return t}#i(e){if(e===``){if(this.#r.length===0&&this.#n===null&&this.#t===null)return null;let e={id:this.#t,event:this.#n,data:this.#r.join(`
99
+ `)};return this.#n=null,this.#r=[],e}if(e.startsWith(`:`))return null;let t=e.indexOf(`:`),n=t===-1?e:e.slice(0,t),r=t===-1?``:e.slice(t+1).replace(/^ /,``);return n===`id`?this.#t=r:n===`event`?this.#n=r:n===`data`&&this.#r.push(r),null}};function gP(e,t,n){let r=new AbortController,i=null,a=null,o=fP,s=!0,c=()=>{i===null&&(i=window.setTimeout(()=>{i=null,n.onPaint()},100))},l=e=>{if(e.id!==null&&(a=e.id),e.data!==``){try{n.onEntry(Ug(JSON.parse(e.data)))}catch(e){n.onRefused(String(e));return}c()}};return n.onConnection(`connecting`),(async()=>{for(;s;){let i;try{i=await fetch(e,{headers:{...ta(t),accept:`text/event-stream`,...a===null?{}:{"last-event-id":a}},signal:r.signal})}catch{if(!s)return;n.onConnection(`reconnecting`),await _P(o,r.signal),o=Math.min(o*2,pP);continue}if(i.status===mP){n.onConnection(`ended`);return}if(!i.ok||i.body===null){n.onRefused(`the stream answered ${i.status}`),n.onConnection(`ended`);return}n.onConnection(`live`),o=fP;let c=new hP,u=new TextDecoder,d=i.body.getReader();try{for(;;){let{value:e,done:t}=await d.read();if(t)break;for(let t of c.feed(u.decode(e,{stream:!0})))l(t)}}catch{if(!s)return}if(!s)return;n.onConnection(`reconnecting`),await _P(o,r.signal),o=Math.min(o*2,pP)}})(),()=>{s=!1,i!==null&&window.clearTimeout(i),r.abort()}}function _P(e,t){return new Promise(n=>{let r=window.setTimeout(n,e);t.addEventListener(`abort`,()=>{window.clearTimeout(r),n()},{once:!0})})}function vP(e,t={}){let n=_a(),[r,i]=(0,O.useState)(u_),[a,o]=(0,O.useState)(`connecting`),[s,c]=(0,O.useState)(null),l=(0,O.useRef)(t);return(0,O.useEffect)(()=>{l.current=t}),(0,O.useEffect)(()=>{let t={current:u_()},r=!1,a=null,s=()=>i({...t.current}),u=()=>{r=!0,a?.()};return(async()=>{let i=0;try{i=await yP(n,e,t,l)}catch(e){c(String(e)),o(`ended`);return}if(!r){if(s(),t.current.status===`ended`){o(`ended`);return}a=gP(ca(n,`/v1/calls/${e}/events`,{after:i}),n,{onEntry(e){t.current=p_(t.current,e),l.current.onEntry?.(e),bP(e,t.current,l.current),e.type===`call.score`&&(s(),o(`ended`),u())},onPaint:s,onConnection:o,onRefused:c}),r&&a()}})(),u},[e,n]),{state:r,connection:a,error:s}}async function yP(e,t,n,r){let i;try{i=await dP(e,t)}catch(e){if(e instanceof ea&&e.status===404)return 0;throw e}for(let e of i)n.current=p_(n.current,e),r.current.onEntry?.(e),bP(e,n.current,r.current);return i.at(-1)?.seq??0}function bP(e,t,n){if(e.type!==`custom`)return;let r=t.custom.at(-1);r!==void 0&&n.onCustom?.(r)}function xP(e){let t=(0,O.useRef)([]),n=vP(e,{onEntry(e){t.current.push(e)}}),r=(0,O.useMemo)(()=>[...t.current],[n.state.seq]);return{state:n.state,entries:r,connection:n.connection,error:n.error}}function SP({call:e}){let t=xP(e),n=t.state,r=H_(n.agent),i=U_(CP(t.entries));return(0,j.jsxs)(`article`,{className:`live`,children:[(0,j.jsxs)(`header`,{className:`live-head fixed`,children:[(0,j.jsx)(`span`,{className:`live-call`,children:e}),(0,j.jsxs)(`span`,{children:[[n.channel,n.direction].filter(e=>e!==null).join(` · `),(n.channel!==null||n.direction!==null)&&` · `,(0,j.jsx)(`span`,{className:`live-status`,children:n.status})]}),(n.from!==null||n.to!==null)&&(0,j.jsxs)(`span`,{children:[n.from,` `,(0,j.jsx)(`span`,{className:`live-arrow`,children:`→`}),` `,n.to]}),(0,j.jsxs)(`span`,{children:[`agent `,(0,j.jsx)(`b`,{children:n.agent_state??`—`}),` · user `,(0,j.jsx)(`b`,{children:n.user_state??`—`})]}),(0,j.jsxs)(`span`,{children:[`seq `,n.seq,` · `,(0,j.jsx)(`span`,{className:`live-connection`,children:t.error??t.connection})]})]}),(0,j.jsx)(DN,{call:e,live:n.status!==`ended`}),(0,j.jsxs)(`div`,{className:`live-body`,children:[(0,j.jsxs)(`div`,{className:`live-middle`,children:[i!==null&&(0,j.jsx)(`div`,{className:`live-recording`,children:(0,j.jsx)(G_,{call:e})}),(0,j.jsx)(sP,{entries:t.entries,state:n})]}),(0,j.jsxs)(`aside`,{className:`live-panels`,children:[(0,j.jsx)(wv,{fields:n.app_state,declared:r}),(0,j.jsx)(xv,{room:n.room,from:n.from}),(0,j.jsx)(bv,{prompt:n.prompt}),(0,j.jsx)(_v,{metrics:n.metrics,entries:t.entries})]})]})]})}function CP(e){return[...e].reverse().find(e=>e.type===`call.summary`)?.data}var wP={phone:`☎`,web:`◍`,whatsapp:`✉`};function TP(e){return e===null?`–`:wP[e]}function EP({agent:e,lines:t,standing:n}){let r=AP(),i=t.filter(z_),a=t.filter(e=>!z_(e));return(0,j.jsxs)(`nav`,{className:`call-list`,children:[(0,j.jsxs)(`p`,{className:`call-list-standing fixed`,children:[(0,j.jsxs)(`span`,{className:`call-list-live`,children:[n===`live`&&(0,j.jsx)(`span`,{className:`call-list-dot`,"aria-hidden":!0}),n]}),(0,j.jsxs)(`span`,{className:`call-list-asked`,children:[`re-asked every `,L_/1e3,` s`]})]}),t.length===0?(0,j.jsx)(`div`,{className:`call-list-nothing`,children:(0,j.jsx)(N_,{children:`No calls yet. The first one to reach this agent appears here as it rings.`})}):null,(0,j.jsxs)(`div`,{className:`call-groups`,children:[(0,j.jsx)(DP,{name:`Live`,agent:e,lines:i,now:r}),(0,j.jsx)(DP,{name:`Recent`,agent:e,lines:a,now:r})]})]})}function DP({name:e,agent:t,lines:n,now:r}){return n.length===0?null:(0,j.jsxs)(`section`,{className:`call-group call-group-${e.toLowerCase()}`,children:[(0,j.jsx)(`h2`,{className:`call-group-name fixed`,children:e}),n.map(e=>(0,j.jsxs)(Hi,{to:`/a/${t}/calls/${e.call}`,className:({isActive:e})=>e?`call-line call-line-here`:`call-line`,children:[(0,j.jsx)(`span`,{className:`call-line-glyph fixed`,children:TP(e.channel)}),(0,j.jsx)(`span`,{className:`call-line-who`,children:OP(e)}),(0,j.jsx)(`span`,{className:`call-line-when fixed`,children:kP(e,r)})]},e.call))]})}function OP(e){return e.caller?.name??e.from??e.call}function kP(e,t){if(!z_(e)||e.started_at===null)return e.status;let n=Math.max(0,Math.round(t-e.started_at));return`${Math.floor(n/60)}:${String(n%60).padStart(2,`0`)}`}function AP(){let[e,t]=(0,O.useState)(()=>Date.now()/1e3);return(0,O.useEffect)(()=>{let e=window.setInterval(()=>t(Date.now()/1e3),1e3);return()=>window.clearInterval(e)},[]),e}var jP={"chat.roster":`chat`,"chat.start":`chat`,"chat.say":`chat`,"chat.end":`chat`,"knowledge.roster":`knowledge`,"knowledge.push":`knowledge`,"knowledge.eval":`knowledge`,"memory.roster":`memory`,"memory.eval":`memory`,"memory.extraction":`memory`,"simulate.roster":`evals`,"simulate.start":`evals`,"goldens.roster":`evals`,"goldens.run":`evals`,"promote.roster":`evals`,"promote.write":`evals`,"drift.read":`evals`,"reproductions.roster":`evals`,"reproductions.read":`evals`};function MP(e,t){return`/v1/agents/${encodeURIComponent(e)}/dev/${jP[t]}/${t}`}async function NP(e,t,n,r={}){return oa(e,MP(t,n),r)}var PP=B({name:F(),goal:F(),style:F()}),FP=B({agent:F().nullable(),personas:z(PP)}),IP=B({call:F()});async function LP(e,t){return FP.parse(await NP(e,t,`simulate.roster`))}async function RP(e,t){return IP.parse(await NP(e,t.agent,`simulate.start`,t)).call}var zP=6,BP=15,VP=0;function HP({agent:e}){let t=_a(),n=gr(),[r,i]=(0,O.useState)(!1),[a,o]=(0,O.useState)(null),[s,c]=(0,O.useState)(``),[l,u]=(0,O.useState)(!1),[d,f]=(0,O.useState)(!1),[p,m]=(0,O.useState)(zP),[h,g]=(0,O.useState)(BP),[_,v]=(0,O.useState)(VP),[y,b]=(0,O.useState)(!1),[x,S]=(0,O.useState)(!1),[C,w]=(0,O.useState)(null);if((0,O.useEffect)(()=>{let n=!1;return LP(t,e).then(e=>{n||(o(e),c(e.personas[0]?.name??``))},e=>{n||w(e instanceof Error?e.message:String(e))}),()=>{n=!0}},[t]),a===null)return C===null?null:(0,j.jsx)(`p`,{className:`note note-warn sim-aside`,children:C});if(a.agent!==e)return(0,j.jsx)(`p`,{className:`sim-aside`,children:a.agent===null?"No agent class in the directory the agent's `pinecall run` runs in, so nothing to simulate against.":`The process holding the agent runs in ${a.agent}'s directory; a simulated caller is for that agent.`});if(a.personas.length===0)return(0,j.jsx)(`p`,{className:`sim-aside`,children:`No personas in test/personas: one file per caller, default-exporting one.`});let T=a.personas.find(e=>e.name===s),ee=async r=>{r.preventDefault(),S(!0),w(null);try{let r=await RP(t,{agent:e,persona:s,voice:l,judge:d,turns:p,...l&&y?{background_noise:h,packet_loss:_}:{}});n(`/a/${e}/calls/${r}`)}catch(e){w(e instanceof ea?e.message:String(e))}finally{S(!1)}};return(0,j.jsxs)(`div`,{className:`sim`,children:[(0,j.jsxs)(`button`,{type:`button`,className:`sim-toggle`,onClick:()=>i(!r),"aria-expanded":r,children:[(0,j.jsx)(`span`,{children:r?`close`:`simulate a caller`}),(0,j.jsx)(`span`,{className:`sim-toggle-mark fixed`,children:r?`−`:`+`})]}),r&&(0,j.jsxs)(`form`,{className:`sim-fields`,onSubmit:e=>void ee(e),children:[(0,j.jsxs)(`label`,{className:`sim-field`,children:[(0,j.jsx)(`span`,{className:`sim-label fixed`,children:`persona`}),(0,j.jsx)(`select`,{className:`input`,value:s,onChange:e=>c(e.target.value),children:a.personas.map(e=>(0,j.jsx)(`option`,{value:e.name,children:e.name},e.name))})]}),T!==void 0&&(0,j.jsxs)(`p`,{className:`sim-goal`,children:[`goal: `,T.goal]}),(0,j.jsxs)(`div`,{className:`sim-pair`,children:[(0,j.jsxs)(`label`,{className:`sim-field`,children:[(0,j.jsx)(`span`,{className:`sim-label fixed`,children:`turns`}),(0,j.jsx)(`input`,{className:`input`,type:`number`,min:1,max:30,value:p,onChange:e=>m(Number(e.target.value))})]}),l&&y&&(0,j.jsxs)(`label`,{className:`sim-field`,children:[(0,j.jsx)(`span`,{className:`sim-label fixed`,children:`noise, dB under`}),(0,j.jsx)(`input`,{className:`input`,type:`number`,min:0,max:60,value:h,onChange:e=>g(Number(e.target.value))})]}),l&&y&&(0,j.jsxs)(`label`,{className:`sim-field`,children:[(0,j.jsx)(`span`,{className:`sim-label fixed`,children:`packets lost, %`}),(0,j.jsx)(`input`,{className:`input`,type:`number`,min:0,max:100,value:_,onChange:e=>v(Number(e.target.value))})]})]}),(0,j.jsxs)(`div`,{className:`sim-checks`,children:[(0,j.jsxs)(UP,{on:l,turn:u,children:[`voice `,(0,j.jsx)(`span`,{className:`sim-check-aside fixed`,children:`a real line, and you can listen`})]}),(0,j.jsx)(UP,{on:d,turn:f,children:`judge at hang-up`}),l&&(0,j.jsxs)(UP,{on:y,turn:b,children:[`noisy line `,(0,j.jsx)(`span`,{className:`sim-check-aside fixed`,children:`a TV behind the caller, packets lost`})]})]}),(0,j.jsx)(`button`,{type:`submit`,className:`button button-accent sim-call`,disabled:x||s===``,children:x?`calling…`:`Call the agent`}),C!==null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:C})]})]})}function UP({on:e,turn:t,children:n}){return(0,j.jsxs)(`label`,{className:`sim-check`,children:[(0,j.jsx)(`input`,{className:`sim-switch`,type:`checkbox`,checked:e,onChange:e=>t(e.target.checked)}),(0,j.jsx)(`span`,{children:n})]})}function WP(){let e=br(),t=e.agent??``,n=e.call,r=R_(t),i=B_(r.lines),a=n===void 0?i.filter(z_).map(e=>e.call):[n];return(0,j.jsxs)(`section`,{className:`calls`,children:[(0,j.jsxs)(`div`,{className:`calls-aside`,children:[(0,j.jsx)(HP,{agent:t}),(0,j.jsx)(EP,{agent:t,lines:i,standing:r.error??`live`})]}),(0,j.jsx)(`div`,{className:`calls-watching`,children:a.length===0?(0,j.jsx)(N_,{children:`Nothing live right now. Open a call from the list to read it, or leave this open — a call that arrives shows up here on its own.`}):a.map(e=>(0,j.jsx)(SP,{call:e},e))})]})}var GP={user:`you`,agent:`agent`};function KP({call:e}){let t=xP(e),n=ZN(t.entries,t.state);return(0,j.jsxs)(`div`,{className:`chat-lines`,children:[n.map(e=>e.kind===`turn`?(0,j.jsxs)(`div`,{className:`chat-line chat-line-${e.turn.role}`,children:[(0,j.jsx)(`span`,{className:`chat-who fixed`,children:GP[e.turn.role]}),(0,j.jsx)(`span`,{className:`chat-bubble`,children:e.turn.text})]},`turn-${String(e.seq)}`):e.kind===`tool`?(0,j.jsxs)(`div`,{className:`chat-line chat-line-tool`,children:[(0,j.jsx)(`span`,{className:`chat-who fixed`,children:`tool`}),(0,j.jsxs)(`span`,{className:`chat-bubble fixed`,children:[e.run.name,` → `,e.run.error??e.run.summary??(e.run.status===`running`?`…`:`done`)]})]},`tool-${String(e.seq)}`):null),t.state.live.agent!==null&&(0,j.jsxs)(`div`,{className:`chat-line chat-line-agent`,children:[(0,j.jsx)(`span`,{className:`chat-who fixed`,children:GP.agent}),(0,j.jsx)(`span`,{className:`chat-bubble`,children:t.state.live.agent})]}),t.error!==null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:t.error})]})}var qP=B({agent:F().nullable(),states:z(F())}),JP=B({call:F()});async function YP(e,t){return qP.parse(await NP(e,t,`chat.roster`))}async function XP(e,t,n,r){let i={agent:t,...n===``?{}:{as:n},...r===``?{}:{golden:r}};return JP.parse(await NP(e,t,`chat.start`,i)).call}async function ZP(e,t,n,r){JP.parse(await NP(e,t,`chat.say`,{call:n,text:r}))}async function QP(e,t,n){JP.parse(await NP(e,t,`chat.end`,{call:n}))}function $P(){let e=_a(),t=gr(),n=br(),r=n.agent??``,i=n.call,[a,o]=(0,O.useState)(null),[s,c]=(0,O.useState)(``),[l,u]=(0,O.useState)(``),[d,f]=(0,O.useState)(null),[p,m]=(0,O.useState)(!1);if((0,O.useEffect)(()=>{let t=!1;return YP(e,r).then(e=>{t||o(e)},e=>{t||f(e instanceof Error?e.message:String(e))}),()=>{t=!0}},[e]),a===null)return(0,j.jsx)(`section`,{className:`chat`,children:d!==null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:d})});if(a.agent!==r)return(0,j.jsx)(`section`,{className:`chat`,children:(0,j.jsx)(N_,{children:a.agent===null?"No agent class in the directory the agent's `pinecall run` runs in, so there is nothing to chat with. Run `pinecall run` where the agent's agent.tsx is.":`The process holding the agent runs in ${a.agent}'s directory: to chat with ${r}, run \`pinecall run\` there.`})});let h=async n=>{n.preventDefault(),m(!0),f(null);try{t(`/a/${r}/chat/${await XP(e,r,s.trim(),l)}`)}catch(e){f(e instanceof ea?e.message:String(e))}finally{m(!1)}};return i===void 0?(0,j.jsxs)(`section`,{className:`chat`,children:[(0,j.jsxs)(`h1`,{className:`chat-title`,children:[`Chat with `,r]}),(0,j.jsx)(`p`,{className:`chat-lede`,children:`The class of this directory, in writing. The tools run in the terminal that serves this page, on the same log every other screen reads — and a conversation can open part-way through, in the state one of this directory's goldens declares.`}),(0,j.jsxs)(`form`,{className:`chat-open`,onSubmit:e=>void h(e),children:[(0,j.jsxs)(`label`,{className:`chat-field`,children:[(0,j.jsx)(`span`,{className:`chat-label fixed`,children:`as`}),(0,j.jsx)(`input`,{className:`input`,value:s,placeholder:`a phone number, a customer id — or nobody`,onChange:e=>c(e.target.value)})]}),a.states.length>0&&(0,j.jsxs)(`label`,{className:`chat-field`,children:[(0,j.jsx)(`span`,{className:`chat-label fixed`,children:`from`}),(0,j.jsxs)(`select`,{className:`input`,value:l,onChange:e=>u(e.target.value),children:[(0,j.jsx)(`option`,{value:``,children:`the call's own opening`}),a.states.map(e=>(0,j.jsxs)(`option`,{value:e,children:[`the state of `,e]},e))]})]}),(0,j.jsx)(`button`,{type:`submit`,className:`button button-accent chat-start`,disabled:p,children:p?`opening…`:`start a chat`}),d!==null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:d})]})]}):(0,j.jsxs)(`section`,{className:`chat`,children:[(0,j.jsxs)(`div`,{className:`chat-facts fixed`,children:[(0,j.jsxs)(`span`,{children:[`call `,(0,j.jsx)(`b`,{children:i})]}),(0,j.jsx)(Vi,{className:`chat-whole`,to:`/a/${r}/calls/${i}`,children:`the whole call, row by row`})]}),(0,j.jsx)(KP,{call:i}),(0,j.jsx)(eF,{agent:r,call:i})]})}function eF({agent:e,call:t}){let n=_a(),r=gr(),[i,a]=(0,O.useState)(``),[o,s]=(0,O.useState)(!1),[c,l]=(0,O.useState)(null),u=async r=>{r.preventDefault();let o=i.trim();if(o!==``){s(!0),l(null);try{await ZP(n,e,t,o),a(``)}catch(e){l(e instanceof ea?e.message:String(e))}finally{s(!1)}}},d=async()=>{try{await QP(n,e,t)}catch(e){l(e instanceof ea?e.message:String(e));return}r(`/a/${e}/sessions/${t}`)};return(0,j.jsxs)(`div`,{className:`chat-composer`,children:[(0,j.jsxs)(`form`,{className:`chat-box`,onSubmit:e=>void u(e),children:[(0,j.jsx)(`input`,{className:`chat-say`,value:i,autoFocus:!0,placeholder:`say something to the agent…`,onChange:e=>a(e.target.value)}),(0,j.jsx)(`button`,{type:`submit`,className:`button button-accent chat-send`,disabled:o||i.trim()===``,children:`say`})]}),(0,j.jsxs)(`p`,{className:`chat-foot fixed`,children:[(0,j.jsx)(`button`,{type:`button`,className:`chat-hangup`,onClick:()=>void d(),children:`hang up`}),(0,j.jsx)(`span`,{children:`hanging up seals the log and runs the judges, then lands on the session`})]}),c!==null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:c})]})}function tF(e){return e===null?`—`:new Date(e*1e3).toISOString().slice(0,19).replace(`T`,` `)}var nF=B({golden:F(),model:F(),call:F()}),rF=B({metric:F(),score:I(),passed:R(),reason:F(),criteria:F(),judge_calls:L()}),iF=B({model:F(),golden:F(),scores:z(rF),summary:up(F(),Xf()).nullable()}),aF=B({models:z(F()),goldens:z(F()),metrics:z(F()),judge_calls:L(),runs:z(iF),failures:z(B({model:F(),golden:F(),metric:F()}))}),oF=B({runs:z(B({id:F(),agent:F(),started_at:I(),finished_at:I().nullable(),status:H([`running`,`done`,`failed`]),calls:z(nF),matrix:aF.nullable(),error:F().nullable()}))}),sF=200;async function cF(e,t){return oF.parse(await ia(e,`/v1/evals/runs`,{agent:t,limit:sF})).runs}var lF=B({held:L(),settled:L(),percent:I()}),uF=B({judge:F(),before:lF.nullable(),now:lF.nullable(),delta:I().nullable()}),dF=B({call:F(),judge:F(),seqs:z(L()),reason:F()}),fF=B({agent:F(),window:I(),baseline:I(),threshold:I(),drift:B({judges:z(uF),notJudged:B({now:L(),before:L()}),broke:z(dF),worst:I().nullable()})});async function pF(e,t,n,r){return fF.parse(await NP(e,t,`drift.read`,{agent:t,window:n,baseline:r}))}var mF=B({check:F(),status:F(),detail:F()}),hF=B({call:F(),agent:F(),passed:R(),verdicts:z(mF)});async function gF(e,t){return hF.parse(await oa(e,`/v1/evals/replay/${encodeURIComponent(t)}`,{}))}var _F=B({path:F(),candidate:B({name:F(),input:z(F())}),notes:z(F())});async function vF(e,t,n){return _F.parse(await NP(e,t,`promote.write`,{call:n}))}var yF=B({run:F(),folder:F(),goldens:z(F())}),bF=B({run:F(),agent:F(),golden:F(),model:F(),call:F(),declared:Xf(),verdicts:z(B({metric:F(),passed:R(),criteria:F(),reason:F()})),asked:Xf()});async function xF(e,t,n){return yF.parse(await NP(e,t,`reproductions.roster`,{run:n}))}async function SF(e,t,n,r){return bF.parse(await NP(e,t,`reproductions.read`,{run:n,golden:r}))}function CF({call:e}){let t=_a(),n=br().agent??``,[r,i]=(0,O.useState)(``),[a,o]=(0,O.useState)(null),[s,c]=(0,O.useState)(null),[l,u]=(0,O.useState)(null),d=async r=>{i(r),u(null);try{r===`check`?o(await gF(t,e)):c(await vF(t,n,e))}catch(e){u(e instanceof ea?e.message:String(e))}finally{i(``)}};return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`div`,{className:`ev-acts`,children:[(0,j.jsx)(`button`,{type:`button`,className:`button`,disabled:r!==``,onClick:()=>void d(`check`),children:r===`check`?`checking…`:`re-check by code`}),(0,j.jsx)(`button`,{type:`button`,className:`button`,disabled:r!==``,onClick:()=>void d(`promote`),children:r===`promote`?`writing…`:`promote to a golden`}),a!==null&&(0,j.jsx)(`span`,{className:a.passed?`accent mono`:`ev-bad mono`,children:a.verdicts.map(e=>`${e.check} ${e.status}`).join(` · `)}),s!==null&&(0,j.jsxs)(`span`,{className:`mono dim`,children:[s.path,` · `,s.candidate.input.length,` caller turn(s)`]})]}),l!==null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:l}),s?.notes.map(e=>(0,j.jsx)(`p`,{className:`note`,children:e},e))]})}function wF({agent:e,rows:t}){let[n,r]=(0,O.useState)(null),i=t.find(e=>e.line.call===n)??null;return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`div`,{className:`table-wrap`,children:(0,j.jsxs)(`table`,{className:`table`,children:[(0,j.jsx)(`thead`,{children:(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`th`,{children:`call`}),(0,j.jsx)(`th`,{children:`started`}),(0,j.jsx)(`th`,{children:`verdict`}),(0,j.jsx)(`th`,{children:`judges`}),(0,j.jsx)(`th`,{className:`num`,children:`judge calls`}),(0,j.jsx)(`th`,{className:`num`,children:`cost`})]})}),(0,j.jsx)(`tbody`,{children:t.map(e=>(0,j.jsxs)(`tr`,{className:e.line.call===n?`ev-row is-open`:`ev-row`,onClick:()=>r(e.line.call),children:[(0,j.jsx)(`td`,{className:`id`,children:(0,j.jsx)(`button`,{type:`button`,className:`link`,children:e.line.call})}),(0,j.jsx)(`td`,{className:`mono dim`,children:tF(e.line.started_at)}),(0,j.jsx)(`td`,{children:(0,j.jsx)(TF,{row:e})}),(0,j.jsx)(`td`,{children:(0,j.jsx)(`span`,{className:`chips`,children:e.score?.judges.map(e=>(0,j.jsxs)(`span`,{className:`chip`,children:[(0,j.jsx)(`span`,{className:`chip-key`,children:e.name}),(0,j.jsx)(`span`,{className:e.verdict===`held`?`chip-val accent`:`chip-val ev-bad`,children:e.verdict})]},e.name))})}),(0,j.jsx)(`td`,{className:`num faint`,children:e.score?.judge_calls??`—`}),(0,j.jsx)(`td`,{className:`num dim`,children:e.score?.judge_cost_eur==null?`—`:`${e.score.judge_cost_eur.toFixed(4)} €`})]},e.line.call))})]})}),(0,j.jsxs)(`p`,{className:`note`,children:[t.length,` call`,t.length===1?``:`s`,` · the verdict is the `,(0,j.jsx)(`code`,{className:`mono`,children:`call.score`}),` entry the log seals on`]}),i!==null&&(0,j.jsx)(EF,{agent:e,row:i})]})}function TF({row:e}){return e.read?e.refused===null?e.score?.passed==null?(0,j.jsx)(`span`,{className:`faint mono`,children:`nobody judged this call`}):(0,j.jsx)(`span`,{className:e.score.passed?`accent mono`:`ev-bad mono`,children:e.score.passed?`passed`:`did not pass`}):(0,j.jsx)(`span`,{className:`ev-bad mono`,children:e.refused}):(0,j.jsx)(`span`,{className:`faint mono`,children:`reading…`})}function EF({agent:e,row:t}){let n=t.score;return(0,j.jsxs)(`div`,{className:`ev-detail`,children:[(0,j.jsx)(`h3`,{className:`section-title`,children:(0,j.jsx)(Vi,{className:`link`,to:`/a/${e}/sessions/${t.line.call}`,children:t.line.call})}),(0,j.jsx)(CF,{call:t.line.call}),n===null&&(0,j.jsx)(`p`,{className:`note`,children:`this call's log carries no verdict`}),n?.not_judged!=null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:n.not_judged}),n!==null&&(0,j.jsx)(DF,{score:n}),n?.judges.filter(e=>e.verdict!==`held`).map(n=>(0,j.jsx)(OF,{agent:e,call:t.line.call,judgment:n},n.name)),n!==null&&n.judges.every(e=>e.verdict===`held`)&&(0,j.jsxs)(`p`,{className:`note`,children:[`every judge on the panel held: `,n.judges.map(e=>e.name).join(`, `)]})]})}function DF({score:e}){let t=new Set(e.judges.map(e=>e.name)),n=(e.panel??[]).filter(e=>!t.has(e));return n.length===0?null:(0,j.jsxs)(`p`,{className:`note note-warn`,children:[n.join(`, `),` was run over this call and answered nothing; the panel was `,e.panel?.join(`, `)]})}function OF({agent:e,call:t,judgment:n}){let r=n.evidence.seqs;return(0,j.jsxs)(`div`,{className:`panel ev-said`,children:[(0,j.jsxs)(`div`,{className:`panel-head`,children:[(0,j.jsxs)(`span`,{className:`panel-title ev-bad`,children:[n.name,` · `,n.verdict]}),(0,j.jsx)(`span`,{className:`badge`,children:n.criteria})]}),(0,j.jsxs)(`div`,{className:`panel-body`,children:[(0,j.jsx)(`p`,{className:`ev-reason`,children:n.reason}),n.evidence.said!=null&&(0,j.jsxs)(`p`,{className:`ev-quote`,children:[`“`,n.evidence.said,`”`]}),r.length>0&&(0,j.jsx)(`span`,{className:`chips`,children:r.map(n=>(0,j.jsxs)(Vi,{className:`chip`,to:`/a/${e}/sessions/${t}#seq-${n}`,children:[(0,j.jsx)(`span`,{className:`chip-key`,children:`seq`}),(0,j.jsx)(`span`,{className:`chip-val`,children:n})]},n))})]})]})}var kF=86400,AF=7,jF=30;function MF({agent:e}){let t=_a(),[n,r]=(0,O.useState)(AF),[i,a]=(0,O.useState)(jF),[o,s]=(0,O.useState)(null),[c,l]=(0,O.useState)(!0),[u,d]=(0,O.useState)(null);return(0,O.useEffect)(()=>{let r=!1;return l(!0),pF(t,e,n*kF,i*kF).then(e=>{r||(s(e),l(!1))},e=>{r||(d(e instanceof ea?e.message:String(e)),l(!1))}),()=>{r=!0}},[t,e,n,i]),(0,j.jsxs)(`section`,{className:`section`,children:[(0,j.jsx)(`h2`,{className:`section-title`,children:`Drift`}),(0,j.jsxs)(`div`,{className:`drift-windows`,children:[(0,j.jsxs)(`label`,{className:`drift-field`,children:[(0,j.jsx)(`span`,{className:`dim`,children:`now, days`}),(0,j.jsx)(`input`,{className:`input suite-input mono`,type:`number`,min:1,max:365,value:n,onChange:e=>r(Number(e.target.value))})]}),(0,j.jsxs)(`label`,{className:`drift-field`,children:[(0,j.jsx)(`span`,{className:`dim`,children:`against the last`}),(0,j.jsx)(`input`,{className:`input suite-input mono`,type:`number`,min:1,max:365,value:i,onChange:e=>a(Number(e.target.value))})]}),c&&(0,j.jsx)(`span`,{className:`faint mono`,children:`reading…`})]}),u!==null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:u}),o!==null&&o.drift.judges.length===0&&(0,j.jsx)(N_,{children:`No finished call of this agent carries a verdict in either window.`}),o!==null&&o.drift.judges.length>0&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`div`,{className:`table-wrap`,children:(0,j.jsxs)(`table`,{className:`table`,children:[(0,j.jsx)(`thead`,{children:(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`th`,{children:`judge`}),(0,j.jsx)(`th`,{className:`num`,children:`before`}),(0,j.jsx)(`th`,{className:`num`,children:`now`}),(0,j.jsx)(`th`,{className:`num`,children:`points`})]})}),(0,j.jsx)(`tbody`,{children:o.drift.judges.map(e=>(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`td`,{className:`id`,children:e.judge}),(0,j.jsx)(`td`,{className:`num dim`,children:NF(e,`before`)}),(0,j.jsx)(`td`,{className:`num`,children:NF(e,`now`)}),(0,j.jsx)(`td`,{className:`num ${PF(e,o.threshold)}`,children:e.delta===null?`—`:`${e.delta>0?`+`:``}${e.delta.toFixed(0)}`})]},e.judge))})]})}),(0,j.jsxs)(`p`,{className:`note`,children:[o.drift.notJudged.now,` call`,o.drift.notJudged.now===1?``:`s`,` in this window carried no verdict at all (`,o.drift.notJudged.before,` before it). A judge may fall`,` `,o.threshold.toFixed(0)," points before `pinecall runs drift` fails the night."]}),o.drift.broke.length>0&&(0,j.jsx)(`ul`,{className:`drift-broke`,children:o.drift.broke.map(t=>(0,j.jsxs)(`li`,{children:[(0,j.jsx)(Vi,{className:`link mono`,to:`/a/${e}/sessions/${t.call}`,children:t.call}),(0,j.jsx)(`span`,{className:`ev-bad mono`,children:t.judge}),(0,j.jsx)(`span`,{className:`dim`,children:t.reason})]},`${t.call}-${t.judge}`))})]})]})}function NF(e,t){let n=e[t];return n===null?`—`:`${n.percent.toFixed(0)}% (${n.held}/${n.settled})`}function PF(e,t){return e.delta===null?`faint`:e.delta<-Math.abs(t)?`ev-bad`:`dim`}var FF=` · `;function IF(e,t,n){return[t,e,n].join(FF)}function LF(e){if(e===null)return{held:0,judgments:0};let t=e.runs.flatMap(e=>e.scores);return{held:t.filter(e=>e.passed).length,judgments:t.length}}function RF(e,t){if(t?.matrix==null||e.matrix===null)return null;let n=zF(t.matrix),r=zF(e.matrix),i=[...r.keys()].filter(e=>n.has(e));return{broke:i.filter(e=>n.get(e)===!0&&r.get(e)===!1),recovered:i.filter(e=>n.get(e)===!1&&r.get(e)===!0)}}function zF(e){let t=new Map;for(let n of e.runs)for(let e of n.scores)t.set(IF(n.model,n.golden,e.metric),e.passed);return t}function BF({run:e}){let t=_a(),n=br().agent??``,[r,i]=(0,O.useState)(null),[a,o]=(0,O.useState)(``),[s,c]=(0,O.useState)(null),[l,u]=(0,O.useState)(null);if((0,O.useEffect)(()=>{let r=!1;return c(null),u(null),xF(t,n,e).then(e=>{r||(i(e.goldens),o(e.folder))},()=>{r||i([])}),()=>{r=!0}},[t,e]),r===null||r.length===0)return null;let d=async r=>{u(null);try{c(await SF(t,n,e,r))}catch(e){u(e instanceof ea?e.message:String(e))}};return(0,j.jsxs)(`div`,{className:`ev-repro`,children:[(0,j.jsxs)(`p`,{className:`note`,children:[r.length,` reproduction`,r.length===1?``:`s`,` in `,(0,j.jsxs)(`span`,{className:`mono`,children:[a,`/`]}),` — the golden as written, every verdict on it, and the requests the model answered.`]}),(0,j.jsx)(`span`,{className:`chips`,children:r.map(e=>(0,j.jsxs)(`button`,{type:`button`,className:`chip`,onClick:()=>void d(e),children:[(0,j.jsx)(`span`,{className:`chip-key`,children:`golden`}),(0,j.jsx)(`span`,{className:`chip-val`,children:e})]},e))}),l!==null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:l}),s!==null&&(0,j.jsxs)(`div`,{className:`panel`,children:[(0,j.jsxs)(`div`,{className:`panel-head`,children:[(0,j.jsxs)(`span`,{className:`panel-title`,children:[s.golden,` · `,s.model]}),(0,j.jsx)(`span`,{className:`fixed dim`,children:s.call})]}),(0,j.jsxs)(`div`,{className:`panel-body`,children:[s.verdicts.filter(e=>!e.passed).map(e=>(0,j.jsxs)(`p`,{className:`ev-reason`,children:[(0,j.jsx)(`span`,{className:`ev-bad mono`,children:e.metric}),` `,e.reason]},e.metric)),(0,j.jsx)(`pre`,{className:`ev-asked mono`,children:JSON.stringify(s.asked,null,2)})]})]})]})}function VF({runs:e,selected:t,onSelect:n}){return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`div`,{className:`table-wrap`,children:(0,j.jsxs)(`table`,{className:`table`,children:[(0,j.jsx)(`thead`,{children:(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`th`,{children:`run`}),(0,j.jsx)(`th`,{children:`started`}),(0,j.jsx)(`th`,{children:`status`}),(0,j.jsx)(`th`,{className:`num`,children:`goldens`}),(0,j.jsx)(`th`,{className:`num`,children:`models`}),(0,j.jsx)(`th`,{className:`num`,children:`held`}),(0,j.jsx)(`th`,{className:`num`,children:`judge calls`}),(0,j.jsx)(`th`,{children:`since the run before`})]})}),(0,j.jsx)(`tbody`,{children:e.map((r,i)=>(0,j.jsx)(HF,{run:r,before:e[i+1],open:r.id===t,onSelect:n},r.id))})]})}),(0,j.jsxs)(`p`,{className:`note`,children:[e.length,` run`,e.length===1?``:`s`,` · the same rows `,(0,j.jsx)(`code`,{className:`mono`,children:`pinecall runs list`}),` prints`]})]})}function HF({run:e,before:t,open:n,onSelect:r}){let i=LF(e.matrix);return(0,j.jsxs)(`tr`,{className:n?`ev-row is-open`:`ev-row`,onClick:()=>r(e.id),children:[(0,j.jsx)(`td`,{className:`id`,children:(0,j.jsx)(`button`,{type:`button`,className:`link`,children:e.id})}),(0,j.jsx)(`td`,{className:`mono dim`,children:tF(e.started_at)}),(0,j.jsx)(`td`,{children:(0,j.jsx)(`span`,{className:`ev-status-${e.status}`,children:e.status})}),(0,j.jsx)(`td`,{className:`num dim`,children:e.matrix?.goldens.length??`—`}),(0,j.jsx)(`td`,{className:`num dim`,children:e.matrix?.models.length??`—`}),(0,j.jsx)(`td`,{className:i.judgments>0&&i.held<i.judgments?`num ev-bad`:`num`,children:i.judgments===0?`—`:`${i.held}/${i.judgments}`}),(0,j.jsx)(`td`,{className:`num faint`,children:e.matrix?.judge_calls??`—`}),(0,j.jsx)(`td`,{children:(0,j.jsx)(UF,{delta:RF(e,t)})})]})}function UF({delta:e}){return e===null?(0,j.jsx)(`span`,{className:`faint mono`,children:`first of its kind`}):e.broke.length===0&&e.recovered.length===0?(0,j.jsx)(`span`,{className:`dim mono`,children:`±0`}):(0,j.jsxs)(`span`,{className:`chips`,children:[e.broke.map(e=>(0,j.jsxs)(`span`,{className:`chip`,children:[(0,j.jsx)(`span`,{className:`chip-key ev-delta-down`,children:`broke`}),(0,j.jsx)(`span`,{className:`chip-val`,children:e})]},`broke-${e}`)),e.recovered.map(e=>(0,j.jsxs)(`span`,{className:`chip`,children:[(0,j.jsx)(`span`,{className:`chip-key ev-delta-up`,children:`held again`}),(0,j.jsx)(`span`,{className:`chip-val`,children:e})]},`held-${e}`))]})}function WF({run:e,before:t}){return(0,j.jsxs)(`div`,{className:`ev-detail`,children:[(0,j.jsx)(`table`,{className:`kv`,children:(0,j.jsxs)(`tbody`,{children:[(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`td`,{className:`kv-key`,children:`run`}),(0,j.jsx)(`td`,{className:`kv-val mono`,children:e.id})]}),(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`td`,{className:`kv-key`,children:`started`}),(0,j.jsx)(`td`,{className:`kv-val mono`,children:tF(e.started_at)})]}),(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`td`,{className:`kv-key`,children:`finished`}),(0,j.jsx)(`td`,{className:`kv-val mono`,children:tF(e.finished_at)})]}),(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`td`,{className:`kv-key`,children:`status`}),(0,j.jsxs)(`td`,{className:`kv-val`,children:[(0,j.jsx)(`span`,{className:`ev-status-${e.status}`,children:e.status}),e.error!==null&&(0,j.jsxs)(`span`,{className:`dim`,children:[` · `,e.error]})]})]}),(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`td`,{className:`kv-key`,children:`since the run before`}),(0,j.jsx)(`td`,{className:`kv-val`,children:(0,j.jsx)(UF,{delta:RF(e,t)})})]})]})}),e.matrix===null?(0,j.jsx)(`p`,{className:`note`,children:`no matrix yet — the run is still opening its calls, or it failed before a judge answered`}):(0,j.jsx)(GF,{run:e,cells:e.matrix.runs}),(0,j.jsx)(BF,{run:e.id})]})}function GF({run:e,cells:t}){return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`div`,{className:`table-wrap`,children:(0,j.jsxs)(`table`,{className:`table ev-scores`,children:[(0,j.jsx)(`thead`,{children:(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`th`,{children:`golden`}),(0,j.jsx)(`th`,{children:`model`}),(0,j.jsx)(`th`,{children:`metric`}),(0,j.jsx)(`th`,{className:`num`,children:`score`}),(0,j.jsx)(`th`,{children:`held`}),(0,j.jsx)(`th`,{children:`the judge's own sentence`}),(0,j.jsx)(`th`,{children:`call`})]})}),(0,j.jsx)(`tbody`,{children:t.flatMap(t=>t.scores.map(n=>(0,j.jsx)(KF,{run:e,cell:t,score:n},`${t.golden}/${t.model}/${n.metric}`)))})]})}),(0,j.jsxs)(`p`,{className:`note`,children:[e.matrix?.judge_calls??0,` judge calls · a hard policy writes the seqs into its reason on purpose, so the sentence is the way into the log`]})]})}function KF({run:e,cell:t,score:n}){let r=e.calls.find(e=>e.golden===t.golden&&e.model===t.model);return(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`td`,{className:`mono`,children:t.golden}),(0,j.jsx)(`td`,{className:`mono dim`,children:t.model}),(0,j.jsx)(`td`,{className:`mono`,children:n.metric}),(0,j.jsx)(`td`,{className:`num`,children:(0,j.jsxs)(`span`,{className:`ev-score`,children:[(0,j.jsx)(`span`,{className:`ev-score-value`,children:n.score.toFixed(2)}),(0,j.jsx)(`span`,{className:`ev-track`,children:(0,j.jsx)(`span`,{className:n.passed?`ev-bar`:`ev-bar ev-bar-bad`,style:{width:`${Math.max(0,Math.min(1,n.score))*100}%`}})})]})}),(0,j.jsx)(`td`,{className:n.passed?`mono accent`:`mono ev-bad`,children:n.passed?`held`:`did not hold`}),(0,j.jsx)(`td`,{className:`ev-reason`,title:n.criteria,children:n.reason}),(0,j.jsx)(`td`,{className:`id`,children:r!==void 0&&(0,j.jsx)(Vi,{className:`link`,to:`/a/${e.agent}/sessions/${r.call}`,children:r.call})})]})}var qF=B({name:F(),input:z(F()),expect:up(F(),Xf())}),JF=B({agent:F().nullable(),goldens:z(qF)}),YF=B({run:F()});async function XF(e,t){return JF.parse(await NP(e,t,`goldens.roster`))}async function ZF(e,t){return YF.parse(await NP(e,t.agent,`goldens.run`,t)).run}var QF=15,$F=0;function eI({agent:e,onOpened:t}){let n=_a(),[r,i]=(0,O.useState)(null),[a,o]=(0,O.useState)(new Set),[s,c]=(0,O.useState)(``),[l,u]=(0,O.useState)(!1),[d,f]=(0,O.useState)(!1),[p,m]=(0,O.useState)(QF),[h,g]=(0,O.useState)($F),[_,v]=(0,O.useState)(!1),[y,b]=(0,O.useState)(null);if((0,O.useEffect)(()=>{let t=!1;return XF(n,e).then(e=>{t||(i(e),o(new Set(e.goldens.map(e=>e.name))))},e=>{t||b(e instanceof Error?e.message:String(e))}),()=>{t=!0}},[n]),r===null)return y===null?null:(0,j.jsx)(`p`,{className:`note note-warn`,children:y});if(r.agent!==e)return(0,j.jsx)(`p`,{className:`suite-aside`,children:r.agent===null?"No agent class in the directory the agent's `pinecall run` runs in, so no goldens to run.":`The process holding the agent runs in ${r.agent}'s directory; its goldens are that agent's.`});if(r.goldens.length===0)return(0,j.jsx)(`p`,{className:`suite-aside`,children:`No goldens in test/goldens: write one, and it appears here.`});let x=(e,t)=>{let n=new Set(a);t?n.add(e):n.delete(e),o(n)},S=a.size===r.goldens.length,C=async i=>{i.preventDefault(),v(!0),b(null);try{let i=s.split(`,`).map(e=>e.trim()).filter(e=>e!==``);t(await ZF(n,{agent:e,goldens:r.goldens.map(e=>e.name).filter(e=>a.has(e)),...i.length===0?{}:{models:i},voice:l,...l&&d?{background_noise:p,packet_loss:h/100}:{}}))}catch(e){b(e instanceof ea?e.message:String(e))}finally{v(!1)}};return(0,j.jsxs)(`form`,{className:`suite`,onSubmit:e=>void C(e),children:[(0,j.jsxs)(`div`,{className:`suite-head`,children:[(0,j.jsxs)(`label`,{className:`suite-check`,children:[(0,j.jsx)(`input`,{type:`checkbox`,checked:S,onChange:e=>o(new Set(e.target.checked?r.goldens.map(e=>e.name):[]))}),(0,j.jsxs)(`span`,{children:[a.size,` of `,r.goldens.length]})]}),(0,j.jsxs)(`label`,{className:`suite-field`,children:[(0,j.jsx)(`span`,{children:`models`}),(0,j.jsx)(`input`,{className:`input suite-models mono`,value:s,placeholder:`the one the class declared`,onChange:e=>c(e.target.value)})]}),(0,j.jsxs)(`label`,{className:`suite-check`,children:[(0,j.jsx)(`input`,{type:`checkbox`,checked:l,onChange:e=>u(e.target.checked)}),(0,j.jsx)(`span`,{children:`voice — ring 2, a real line`})]}),l&&(0,j.jsxs)(`label`,{className:`suite-check`,children:[(0,j.jsx)(`input`,{type:`checkbox`,checked:d,onChange:e=>f(e.target.checked)}),(0,j.jsx)(`span`,{children:`noisy line — a TV behind the caller, packets lost`})]}),l&&d&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`label`,{className:`suite-field`,children:[(0,j.jsx)(`span`,{children:`noise, dB under`}),(0,j.jsx)(`input`,{className:`input suite-input mono`,type:`number`,min:0,max:60,value:p,onChange:e=>m(Number(e.target.value))})]}),(0,j.jsxs)(`label`,{className:`suite-field`,children:[(0,j.jsx)(`span`,{children:`packets lost, %`}),(0,j.jsx)(`input`,{className:`input suite-input mono`,type:`number`,min:0,max:100,value:h,onChange:e=>g(Number(e.target.value))})]})]}),(0,j.jsx)(`button`,{type:`submit`,className:`button`,disabled:_||a.size===0,children:_?`opening…`:`run ${a.size===r.goldens.length?`the suite`:`${a.size} golden${a.size===1?``:`s`}`}`})]}),(0,j.jsx)(`ul`,{className:`suite-list`,children:r.goldens.map(e=>(0,j.jsxs)(`li`,{className:`suite-golden`,children:[(0,j.jsxs)(`label`,{className:`suite-check`,children:[(0,j.jsx)(`input`,{type:`checkbox`,checked:a.has(e.name),onChange:t=>x(e.name,t.target.checked)}),(0,j.jsx)(`span`,{className:`mono`,children:e.name})]}),(0,j.jsx)(`span`,{className:`suite-says`,children:e.input[0]??``}),(0,j.jsx)(`span`,{className:`suite-expects mono`,children:tI(e)})]},e.name))}),y!==null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:y})]})}function tI(e){let t=Object.entries(e.expect).map(([e,t])=>`${e}: ${nI(t)}`);return t.length===0?`consent only`:t.join(` · `)}function nI(e){return Array.isArray(e)?e.map(String).join(`, `):String(e)}var rI=3e3;function iI(e){let t=_a(),[n,r]=(0,O.useState)([]),[i,a]=(0,O.useState)(!0),[o,s]=(0,O.useState)(null);return(0,O.useEffect)(()=>{let n=!1,i=async()=>{try{let i=await cF(t,e);n||(r(i),s(null))}catch(e){n||s(String(e))}finally{n||a(!1)}};i();let o=window.setInterval(()=>void i(),rI);return()=>{n=!0,window.clearInterval(o)}},[e,t]),{runs:n,reading:i,error:o}}async function aI(e,t,n){if(n<=0)return null;let r=Kg.parse(await ia(e,`/v1/calls/${encodeURIComponent(t)}/events`,{after:n-1,types:Vg,limit:1})).entries.find(e=>e.type===Vg);return r===void 0?null:tg.parse(r.data)}var oI=20;function sI(e){let t=_a(),n=(0,O.useRef)(new Map),[r,i]=(0,O.useState)(n.current),a=e.filter(e=>!z_(e)).slice(0,oI),o=a.map(e=>`${e.call}@${e.last_seq}`).join(` `);return(0,O.useEffect)(()=>{let e=!1,r=a.filter(e=>!n.current.has(e.call));return(async()=>{let a=await Promise.all(r.map(e=>cI(t,e)));if(!(e||a.length===0)){for(let e of a)n.current.set(e.line.call,e);i(new Map(n.current))}})(),()=>{e=!0}},[o,t]),a.map(e=>r.get(e.call)??lI(e))}async function cI(e,t){try{return{line:t,read:!0,score:await aI(e,t.call,t.last_seq),refused:null}}catch(e){return{line:t,read:!0,score:null,refused:String(e)}}}function lI(e){return{line:e,read:!1,score:null,refused:null}}function uI(e){let{lines:t,error:n}=R_(e);return{rows:sI(t),error:n}}function dI(){let e=br().agent??``,[t,n]=qi(),r=iI(e),i=uI(e),a=t.get(`view`),o=a===`calls`||a===`drift`?a:`runs`,s=t.get(`run`),c=r.runs.find(e=>e.id===s)??null,l=e=>{let r=new URLSearchParams(t);for(let[t,n]of Object.entries(e))n===null?r.delete(t):r.set(t,n);n(r)};return(0,j.jsxs)(`div`,{className:`page page-wide`,children:[(0,j.jsxs)(`header`,{className:`page-head`,children:[(0,j.jsx)(`div`,{className:`page-eyebrow`,children:e}),(0,j.jsx)(`h1`,{className:`page-title`,children:`Evals`}),(0,j.jsxs)(`p`,{className:`page-lede`,children:[`Every agent keeps goldens that grow with each card, and `,(0,j.jsx)(`code`,{className:`mono`,children:`pinecall test`}),` is part of a milestone's definition of done. `,(0,j.jsx)(`strong`,{children:`Runs`}),` is where those runs are readable without a terminal — every judgment per golden, per model, per run, and what changed since the run before.`,` `,(0,j.jsx)(`strong`,{children:`Calls`}),` is ring four: what the judges sealed each finished call with, within a minute of the caller hanging up — and any of them can be re-checked by code or written down as a golden candidate.`,` `,(0,j.jsx)(`strong`,{children:`Drift`}),` is those verdicts counted over two windows, so a judge that started letting things through is a number and not a feeling.`]}),(0,j.jsxs)(`nav`,{className:`tabs`,"aria-label":`View`,children:[(0,j.jsx)(`button`,{type:`button`,className:o===`runs`?`tab is-active`:`tab`,onClick:()=>l({view:null}),children:`runs`}),(0,j.jsx)(`button`,{type:`button`,className:o===`calls`?`tab is-active`:`tab`,onClick:()=>l({view:`calls`,run:null}),children:`calls`}),(0,j.jsx)(`button`,{type:`button`,className:o===`drift`?`tab is-active`:`tab`,onClick:()=>l({view:`drift`,run:null}),children:`drift`})]})]}),o===`runs`&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`section`,{className:`section`,children:[(0,j.jsx)(`h2`,{className:`section-title`,children:`Run a suite`}),(0,j.jsxs)(`p`,{className:`suite-lede`,children:[`The goldens are the agent's own files, beside its class, so the run is opened by the process that holds them — the terminal that typed `,(0,j.jsx)(`code`,{className:`mono`,children:`pinecall run`}),`, exactly as`,` `,(0,j.jsx)(`code`,{className:`mono`,children:`pinecall test`}),` would — and scored by this gateway. Tick the ones to run; the run appears below the moment it opens, and every broken golden is written out where the verb writes it.`]}),(0,j.jsx)(eI,{agent:e,onOpened:e=>l({run:e})})]}),(0,j.jsxs)(`section`,{className:`section`,children:[(0,j.jsx)(`h2`,{className:`section-title`,children:`Runs`}),r.error!==null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:r.error}),r.runs.length>0?(0,j.jsx)(VF,{runs:r.runs,selected:s,onSelect:e=>l({run:e})}):(0,j.jsxs)(`div`,{className:`empty`,children:[(0,j.jsx)(`p`,{className:`empty-title`,children:r.reading?`Reading…`:`No run has been stored yet`}),(0,j.jsx)(`div`,{className:`empty-body`,children:(0,j.jsx)(`p`,{children:`A run appears here the moment one opens — from the command above, on a laptop or in CI.`})})]})]}),c!==null&&(0,j.jsxs)(`section`,{className:`section`,children:[(0,j.jsxs)(`h2`,{className:`section-title`,children:[c.agent,` · `,c.id]}),(0,j.jsx)(WF,{run:c,before:r.runs[r.runs.indexOf(c)+1]})]})]}),o===`drift`&&(0,j.jsx)(MF,{agent:e}),o===`calls`&&(0,j.jsxs)(`section`,{className:`section`,children:[(0,j.jsx)(`h2`,{className:`section-title`,children:`Scored calls`}),i.error!==null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:i.error}),i.rows.length>0?(0,j.jsx)(wF,{agent:e,rows:i.rows}):(0,j.jsxs)(`div`,{className:`empty`,children:[(0,j.jsx)(`p`,{className:`empty-title`,children:`No call of this agent has finished yet`}),(0,j.jsx)(`div`,{className:`empty-body`,children:(0,j.jsx)(`p`,{children:`The judges seal a call's log with its verdict when the caller hangs up; the first one lands here.`})})]})]})]})}var fI=3e3;function pI(e=50){let t=_a(),[n,r]=(0,O.useState)([]),[i,a]=(0,O.useState)(`connecting`),[o,s]=(0,O.useState)(0),[c,l]=(0,O.useState)(null);return(0,O.useEffect)(()=>{let n=!1,i=async()=>{try{let i=qg.parse(await ia(t,`/v1/sessions`,{limit:e}));n||(r(i.calls),l(null))}catch(e){n||l(String(e))}};i();let o=window.setInterval(()=>void i(),fI),c=gP(ca(t,`/v1/events`),t,{onEntry(e){(e.type===`agent.registered`||e.type===`agent.detached`)&&s(e=>e+1),i()},onPaint:()=>void 0,onConnection:a,onRefused:l});return()=>{n=!0,window.clearInterval(o),c()}},[t,e]),{lines:n,connection:i,agentsChanged:o,error:c}}function mI(){let{lines:e,connection:t,error:n}=pI(),r=e.filter(z_);return(0,j.jsxs)(`div`,{className:`floor`,children:[(0,j.jsxs)(`div`,{className:`floor-head`,children:[(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`h1`,{className:`floor-title`,children:`Live`}),(0,j.jsx)(`p`,{className:`floor-lede`,children:`Every call up on the floor right now, whichever agent has it.`})]}),(0,j.jsxs)(`span`,{className:`floor-standing fixed`,children:[(0,j.jsx)(`span`,{className:t===`live`?`floor-dot floor-dot-live`:`floor-dot`,"aria-hidden":!0}),n??t]})]}),r.length===0?(0,j.jsx)(`p`,{className:`floor-empty fixed`,children:`Nothing live right now. Leave this open — a call that reaches any agent shows up here as it rings.`}):(0,j.jsxs)(`div`,{className:`floor-panel`,children:[(0,j.jsxs)(`div`,{className:`floor-row floor-row-head fixed`,children:[(0,j.jsx)(`span`,{}),(0,j.jsx)(`span`,{children:`AGENT`}),(0,j.jsx)(`span`,{children:`WHO`}),(0,j.jsx)(`span`,{children:`STATUS`}),(0,j.jsx)(`span`,{children:`CALL`})]}),r.map(e=>(0,j.jsx)(hI,{line:e},e.call))]})]})}function hI({line:e}){return(0,j.jsxs)(Vi,{to:`/a/${e.agent}/calls/${e.call}`,className:`floor-row floor-row-live`,children:[(0,j.jsx)(`span`,{className:`fixed floor-glyph`,children:TP(e.channel)}),(0,j.jsx)(`span`,{className:`fixed`,children:e.agent}),(0,j.jsx)(`span`,{className:`floor-who`,children:e.caller?.name??e.from??e.call}),(0,j.jsx)(`span`,{className:`fixed floor-status`,children:e.status}),(0,j.jsx)(`span`,{className:`fixed floor-id`,children:e.call})]})}var gI=`call`;function _I(){let e=br().agent??``,{rows:t,error:n}=uI(e),r=gr();return(0,j.jsxs)(`div`,{className:`page page-wide`,children:[(0,j.jsxs)(`div`,{className:`sessions-head`,children:[(0,j.jsxs)(`header`,{className:`page-head`,children:[(0,j.jsx)(`div`,{className:`page-eyebrow`,children:e}),(0,j.jsx)(`h1`,{className:`page-title`,children:`Sessions`}),(0,j.jsxs)(`p`,{className:`page-lede`,children:[`Every conversation this agent has had, newest first — phone calls included. A row opens the session's append-only log: one line per fact, numbered by `,(0,j.jsx)(`code`,{className:`mono`,children:`seq`}),`, with the per-turn STT / LLM / TTS breakdown and the consent proof beside it. The `,(0,j.jsx)(`strong`,{children:`score`}),` `,`column is the call judging itself, written into the same log as`,` `,(0,j.jsx)(`code`,{className:`mono`,children:`call.score`}),` within a minute of the caller hanging up.`]})]}),(0,j.jsxs)(`form`,{className:`by-hand`,onSubmit:t=>{t.preventDefault();let n=new FormData(t.currentTarget).get(gI);typeof n==`string`&&n.trim()!==``&&r(`/a/${e}/sessions/${n.trim()}`)},children:[(0,j.jsx)(`input`,{className:`by-hand-id`,name:gI,placeholder:`open a call by id`,"aria-label":`a call id`}),(0,j.jsx)(`button`,{className:`by-hand-open`,type:`submit`,children:`open`})]})]}),n!==null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:n}),(0,j.jsx)(vI,{rows:t})]})}function vI({rows:e,withAgent:t=!1}){return e.length===0?(0,j.jsx)(`section`,{className:`section`,children:(0,j.jsxs)(`div`,{className:`empty`,children:[(0,j.jsx)(`p`,{className:`empty-title`,children:`No session recorded yet`}),(0,j.jsx)(`div`,{className:`empty-body`,children:(0,j.jsxs)(`p`,{children:[`The log is append-only and written during the call, so a session appears here the moment one ends — from the browser, from `,(0,j.jsx)(`code`,{className:`mono`,children:`pinecall chat`}),`, or from the telephone.`]})})]})}):(0,j.jsxs)(`section`,{className:`section`,children:[(0,j.jsx)(`div`,{className:`table-wrap`,children:(0,j.jsxs)(`table`,{className:`table`,children:[(0,j.jsx)(`thead`,{children:(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`th`,{children:`session`}),t&&(0,j.jsx)(`th`,{children:`agent`}),(0,j.jsx)(`th`,{children:`channel`}),(0,j.jsx)(`th`,{children:`from`}),(0,j.jsx)(`th`,{children:`started`}),(0,j.jsx)(`th`,{children:`duration`}),(0,j.jsx)(`th`,{children:`outcome`}),(0,j.jsx)(`th`,{children:`score`}),(0,j.jsx)(`th`,{className:`num`,children:`cost`})]})}),(0,j.jsx)(`tbody`,{children:e.map(e=>(0,j.jsx)(yI,{row:e,withAgent:t},e.line.call))})]})}),(0,j.jsxs)(`p`,{className:`note`,children:[e.length,` session`,e.length===1?``:`s`,` · the same rows`,` `,(0,j.jsx)(`code`,{className:`mono`,children:`pinecall-runtime sessions list`}),` prints`]})]})}function yI({row:e,withAgent:t}){let{line:n}=e;return(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`td`,{className:`id`,children:(0,j.jsx)(Vi,{to:`/a/${n.agent}/sessions/${n.call}`,className:`link`,children:n.call})}),t&&(0,j.jsx)(`td`,{className:`mono dim`,children:n.agent}),(0,j.jsx)(`td`,{children:(0,j.jsx)(`span`,{className:`medium`,children:n.channel??`—`})}),(0,j.jsx)(`td`,{className:`mono dim`,children:bI(n)}),(0,j.jsx)(`td`,{className:`mono dim`,children:tF(n.started_at)}),(0,j.jsx)(`td`,{className:`mono dim`,children:xI(n)}),(0,j.jsx)(`td`,{children:(0,j.jsx)(`span`,{className:`outcome outcome-${n.end_reason??`none`}`,children:n.outcome??n.end_reason??`—`})}),(0,j.jsx)(`td`,{children:(0,j.jsx)(CI,{row:e})}),(0,j.jsx)(`td`,{className:`num dim`,children:SI(n.cost?.eur)})]})}function bI(e){return e.caller?.name??e.from??`—`}function xI(e){if(e.started_at===null||e.ended_at===null)return`—`;let t=Math.max(0,Math.round(e.ended_at-e.started_at));return`${Math.floor(t/60)}m ${String(t%60).padStart(2,`0`)}s`}function SI(e){return e==null?`—`:`${e.toFixed(4)} €`}function CI({row:e}){if(!e.read)return(0,j.jsx)(`span`,{className:`faint mono`,children:`…`});let t=e.score;if(t===null)return(0,j.jsx)(`span`,{className:`faint mono`,title:`this call's log carries no verdict`,children:`—`});if(t.passed==null)return(0,j.jsx)(`span`,{className:`faint mono`,title:t.not_judged??`nobody judged this call`,children:`not judged`});let n=t.judges.filter(e=>e.verdict===`held`).length;return(0,j.jsxs)(`span`,{className:t.passed?`ev-held mono`:`ev-bad mono`,title:t.judges.map(e=>`${e.name} ${e.verdict}`).join(`, `),children:[t.passed?`passed`:`did not pass`,` · `,n,`/`,t.judges.length]})}function wI(){let{lines:e,error:t}=pI(),n=sI(e);return(0,j.jsxs)(`div`,{className:`floor floor-wide`,children:[(0,j.jsx)(`div`,{className:`floor-head`,children:(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`h1`,{className:`floor-title`,children:`Sessions`}),(0,j.jsx)(`p`,{className:`floor-lede`,children:`Every conversation the org has had, newest first, whichever agent handled it.`})]})}),t!==null&&(0,j.jsx)(`p`,{className:`floor-empty fixed`,children:t}),(0,j.jsx)(vI,{rows:n,withAgent:!0})]})}var TI=B({fingerprint:F(),label:F().nullable(),env:F(),scopes:z(F()),subject:F().nullable(),name:F().nullable(),created_at:F(),revoked_at:F().nullable()}),EI=B({key:F(),key_id:F(),label:F().nullable(),env:F(),scopes:z(F())});async function DI(e){return z(TI).parse(await ia(e,`/v1/keys`))}async function OI(e,t){return EI.parse(await oa(e,`/v1/keys`,t))}async function kI(e,t){await oa(e,`/v1/keys/${encodeURIComponent(t)}/revoke`,{})}var AI=`app`,jI=`production`,MI=`sandbox`,NI=`a machine`;function PI(){let e=_a(),[t,n]=(0,O.useState)(null),[r,i]=(0,O.useState)(``),[a,o]=(0,O.useState)(jI),[s,c]=(0,O.useState)(!1),[l,u]=(0,O.useState)(null),[d,f]=(0,O.useState)(null),p=async()=>n(await DI(e));(0,O.useEffect)(()=>{let t=!1;return DI(e).then(e=>{t||n(e)},e=>{t||f(e instanceof Error?e.message:String(e))}),()=>{t=!0}},[e]);let m=async t=>{t.preventDefault(),c(!0),f(null);try{u(await OI(e,{label:r.trim(),env:a,scopes:[AI]})),i(``),await p()}catch(e){f(e instanceof ea?e.message:String(e))}finally{c(!1)}},h=async t=>{f(null);try{await kI(e,t),await p()}catch(e){f(e instanceof ea?e.message:String(e))}};return(0,j.jsxs)(`section`,{className:`page`,children:[(0,j.jsx)(`div`,{className:`page-eyebrow fixed`,children:`keys`}),(0,j.jsx)(`h1`,{className:`page-title`,children:`Keys`}),(0,j.jsx)(`p`,{className:`page-lede`,children:`The keys this org's machines run on. A key you hold by being logged in does not hold an agent in production — the process on the box does — so the one that answers your numbers is issued here, exported in that box's environment, and revoked from its row when it is over.`}),(0,j.jsxs)(`div`,{className:`panel keys-issue`,children:[(0,j.jsx)(`p`,{className:`panel-title`,children:`issue one for a machine`}),(0,j.jsxs)(`form`,{className:`keys-form`,onSubmit:e=>void m(e),children:[(0,j.jsx)(`input`,{className:`input`,value:r,placeholder:`prod server`,onChange:e=>i(e.target.value)}),(0,j.jsxs)(`select`,{className:`input`,value:a,onChange:e=>o(e.target.value),children:[(0,j.jsx)(`option`,{value:jI,children:`production`}),(0,j.jsx)(`option`,{value:MI,children:`sandbox`})]}),(0,j.jsx)(`button`,{type:`submit`,className:`button`,disabled:s||r.trim()===``,children:s?`issuing…`:`issue`})]}),(0,j.jsx)(`p`,{className:`note`,children:`It will hold the app socket and nothing else, and name nobody.`})]}),l!==null&&(0,j.jsxs)(`div`,{className:`panel keys-minted`,children:[(0,j.jsxs)(`p`,{className:`panel-title`,children:[l.label,` · `,l.env]}),(0,j.jsx)(`code`,{className:`keys-clear fixed`,children:l.key}),(0,j.jsx)(`p`,{className:`note note-warn`,children:`Copy it now: the gateway keeps the fingerprint, and this key is never shown again.`}),(0,j.jsx)(`button`,{type:`button`,className:`link`,onClick:()=>u(null),children:`done`})]}),d!==null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:d}),t!==null&&t.length===0&&(0,j.jsx)(`div`,{className:`keys-nothing`,children:(0,j.jsx)(N_,{children:`No key of this org yet: the first one is what a deploy runs on.`})}),t!==null&&t.length>0&&(0,j.jsx)(`ul`,{className:`panel keys-list`,children:t.map(e=>(0,j.jsx)(FI,{row:e,stop:h},e.fingerprint))})]})}function FI({row:e,stop:t}){let n=e.revoked_at!==null;return(0,j.jsxs)(`li`,{className:n?`keys-one keys-gone`:`keys-one`,children:[(0,j.jsx)(`span`,{className:`keys-label`,children:e.label??e.fingerprint.slice(0,12)}),(0,j.jsx)(`span`,{className:`keys-env fixed`,children:e.env}),(0,j.jsx)(`span`,{className:`keys-whose`,children:e.name??NI}),(0,j.jsx)(`span`,{className:`keys-scopes fixed`,children:e.scopes.join(` · `)}),n?(0,j.jsx)(`span`,{className:`keys-standing`,children:`revoked`}):(0,j.jsx)(`button`,{type:`button`,className:`link`,onClick:()=>void t(e.fingerprint),children:`revoke`})]})}var II=B({name:F(),does:z(H([`llm`,`stt`,`tts`])),aliases:z(F()),note:F(),standing:H([`ready`,`no plugin`,`no key`,`its own`]),ready:R(),env:F().nullable(),extra:F()}),LI=[`llm`,`stt`,`tts`],RI=B({providers:z(II),defaults:up(F(),F()),voices:z(F())});async function zI(e){return RI.parse(await ia(e,`/v1/providers`))}function BI(e,t){return e.filter(e=>e.does.includes(t)).sort((e,t)=>Number(t.ready)-Number(e.ready)||e.name.localeCompare(t.name))}function VI(e){return e.standing===`no plugin`?`the box needs livekit-agents[${e.extra}]`:e.standing===`no key`?`the box needs ${e.env??`a credential`}`:e.standing===`its own`?`its credentials are its own: a profile, a pair, not one key`:e.note||`ready on this box`}var HI=B({vendors:z(F())});async function UI(e){return HI.parse(await ia(e,`/v1/provider-keys`)).vendors}async function WI(e,t,n){await aa(e,`/v1/provider-keys/${encodeURIComponent(t)}`,{key:n})}async function GI(e,t){await sa(e,`/v1/provider-keys/${encodeURIComponent(t)}`)}var KI=[`all`,...LI];function qI(){let e=_a(),[t,n]=(0,O.useState)(null),[r,i]=(0,O.useState)(null),[a,o]=(0,O.useState)(``),[s,c]=(0,O.useState)(``),[l,u]=(0,O.useState)(`all`),[d,f]=(0,O.useState)(!1),[p,m]=(0,O.useState)(null),h=async()=>i(await UI(e));(0,O.useEffect)(()=>{let t=!1,r=e=>{t||m(e instanceof Error?e.message:String(e))};return zI(e).then(e=>{t||n(e)},r),UI(e).then(e=>{t||i(e)},r),()=>{t=!0}},[e]);let g=async t=>{t.preventDefault(),f(!0),m(null);try{await WI(e,a.trim(),s),c(``),o(``),await h()}catch(e){m(e instanceof ea?e.message:String(e))}finally{f(!1)}},_=async t=>{m(null);try{await GI(e,t),await h()}catch(e){m(e instanceof ea?e.message:String(e))}},v=t?.providers??[],y=l===`all`?v:BI(v,l),b=new Set(r??[]);return(0,j.jsxs)(`section`,{className:`page`,children:[(0,j.jsx)(`div`,{className:`page-eyebrow fixed`,children:`providers`}),(0,j.jsx)(`h1`,{className:`page-title`,children:`Providers`}),(0,j.jsx)(`p`,{className:`page-lede`,children:`Every vendor LiveKit reaches, and what each one still wants on this box. A key brought here runs every call of this org from the next one; every vendor nobody brought runs on the box's own key. Nothing reads a key back — not this page, not the CLI, not the log.`}),(0,j.jsxs)(`div`,{className:`panel providers-bring`,children:[(0,j.jsx)(`p`,{className:`panel-title`,children:`bring one`}),(0,j.jsxs)(`form`,{className:`providers-add`,onSubmit:e=>void g(e),children:[(0,j.jsxs)(`select`,{className:`input mono`,value:a,onChange:e=>o(e.target.value),children:[(0,j.jsx)(`option`,{value:``,children:`choose a vendor…`}),v.filter(e=>e.env!==null).map(e=>(0,j.jsxs)(`option`,{value:e.name,children:[e.name,` · `,e.does.join(` `)]},e.name))]}),(0,j.jsx)(`input`,{className:`input`,type:`password`,value:s,placeholder:`the key, sent once`,autoComplete:`off`,onChange:e=>c(e.target.value)}),(0,j.jsx)(`button`,{type:`submit`,className:`button`,disabled:d||a.trim()===``||s===``,children:d?`sending…`:`bring it`})]})]}),p!==null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:p}),(0,j.jsx)(`div`,{className:`providers-filters`,children:KI.map(e=>(0,j.jsx)(`button`,{type:`button`,className:e===l?`providers-filter providers-filter-on`:`providers-filter`,onClick:()=>u(e),children:e===`all`?`all ${v.length}`:`${e} ${BI(v,e).length}`},e))}),(0,j.jsx)(`ul`,{className:`panel providers-list`,children:y.map(e=>(0,j.jsx)(JI,{provider:e,brought:b.has(e.name),onGiveBack:()=>void _(e.name)},e.name))})]})}function JI({provider:e,brought:t,onGiveBack:n}){return(0,j.jsxs)(`li`,{className:`providers-one`,children:[(0,j.jsxs)(`div`,{className:`providers-who`,children:[(0,j.jsx)(`span`,{className:`providers-vendor fixed`,children:e.name}),(0,j.jsx)(`span`,{className:`providers-said`,children:VI(e)}),e.aliases.length>0&&(0,j.jsxs)(`span`,{className:`providers-aliases fixed`,children:[`also `,e.aliases.join(` · `)]})]}),(0,j.jsx)(`span`,{className:`providers-does fixed`,children:e.does.join(` `)}),(0,j.jsx)(`span`,{className:e.ready?`providers-state providers-state-on`:`providers-state`,children:e.standing}),t?(0,j.jsx)(`button`,{type:`button`,className:`link`,onClick:n,children:`give it back`}):(0,j.jsx)(`span`,{className:`providers-boxes`,children:`the box's`})]})}var YI=B({agent:F().nullable(),base:F().nullable(),directory:F().nullable(),files:L(),golden:F().nullable(),questions:L()}),XI=Qg.extend({files:L()});async function ZI(e){return $g.parse(await ia(e,`/v1/knowledge`))}async function QI(e,t){return YI.parse(await NP(e,t,`knowledge.roster`,{agent:t}))}async function $I(e,t,n){return XI.parse(await NP(e,t,`knowledge.push`,{agent:t,...n===``?{}:{base:n}}))}async function eL(e,t,n){return Zg.parse(await NP(e,t,`knowledge.eval`,{agent:t,...n===``?{}:{base:n}}))}async function tL(e,t){await sa(e,`/v1/knowledge/${encodeURIComponent(t)}`)}function nL(){let e=_a(),t=br().agent??``,[n,r]=(0,O.useState)(null),[i,a]=(0,O.useState)([]),[o,s]=(0,O.useState)(``),[c,l]=(0,O.useState)(``),[u,d]=(0,O.useState)(null),[f,p]=(0,O.useState)(null),[m,h]=(0,O.useState)(null),g=(0,O.useCallback)(async()=>{a((await ZI(e)).bases)},[e]);(0,O.useEffect)(()=>{let n=!1;return(async()=>{try{let i=await QI(e,t);if(n)return;r(i),s(i.base??``),await g()}catch(e){n||h(e instanceof Error?e.message:String(e))}})(),()=>{n=!0}},[e,g]);let _=async n=>{l(n),h(null);try{n===`push`?(d(await $I(e,t,o)),await g()):p(await eL(e,t,o))}catch(e){h(e instanceof ea?e.message:String(e))}finally{l(``)}},v=async t=>{h(null);try{await tL(e,t),await g()}catch(e){h(e instanceof ea?e.message:String(e))}};return(0,j.jsxs)(`section`,{className:`page page-wide`,children:[(0,j.jsx)(`div`,{className:`page-eyebrow fixed`,children:`knowledge`}),(0,j.jsx)(`h1`,{className:`page-title`,children:`what this agent answers from`}),(0,j.jsx)(`p`,{className:`page-lede`,children:`The folder is pushed whole and the base is replaced, never merged. A golden is fixed and the index is the variable: never soften a question so a change can pass.`}),n!==null&&n.agent!==t&&(0,j.jsx)(N_,{children:n.agent===null?"No agent class in the directory the agent's `pinecall run` runs in, so there is nothing here to push.":`The process holding the agent runs in ${n.agent}'s directory: to push ${t}'s knowledge, run \`pinecall run\` there.`}),n!==null&&n.agent===t&&(0,j.jsxs)(`div`,{className:`panel kb-here`,children:[(0,j.jsxs)(`div`,{className:`panel-head`,children:[(0,j.jsx)(`span`,{className:`panel-title`,children:`this directory`}),(0,j.jsxs)(`label`,{className:`kb-field`,children:[(0,j.jsx)(`span`,{className:`dim`,children:`base`}),(0,j.jsx)(`input`,{className:`input mono`,value:o,onChange:e=>s(e.target.value)})]})]}),(0,j.jsxs)(`div`,{className:`panel-body kb-actions`,children:[(0,j.jsx)(`span`,{className:`mono dim`,children:n.directory??`—`}),(0,j.jsxs)(`span`,{className:`fixed`,children:[n.files,` markdown file`,n.files===1?``:`s`]}),(0,j.jsx)(`button`,{type:`button`,className:`button`,disabled:c!==``||n.files===0,onClick:()=>void _(`push`),children:c===`push`?`pushing…`:`push the folder`}),(0,j.jsx)(`span`,{className:`fixed dim`,children:n.golden===null?`no golden beside it`:`${n.questions} questions`}),(0,j.jsx)(`button`,{type:`button`,className:`button`,disabled:c!==``||n.golden===null,onClick:()=>void _(`eval`),children:c===`eval`?`asking…`:`run the golden`})]})]}),m!==null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:m}),u!==null&&(0,j.jsxs)(`p`,{className:`note fixed`,children:[u.base,` · `,u.files,` files · `,u.chunks,` chunks · `,Math.round(u.took_ms),` ms`]}),f!==null&&(0,j.jsx)(rL,{score:f}),(0,j.jsxs)(`div`,{className:`section`,children:[(0,j.jsx)(`h2`,{className:`section-title`,children:`every base this org has pushed`}),i.length===0?(0,j.jsx)(N_,{children:`No base pushed yet. The button above sends this directory's folder.`}):(0,j.jsx)(`div`,{className:`table-wrap`,children:(0,j.jsxs)(`table`,{className:`table`,children:[(0,j.jsx)(`thead`,{children:(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`th`,{children:`base`}),(0,j.jsx)(`th`,{className:`num`,children:`chunks`}),(0,j.jsx)(`th`,{children:`embedder`}),(0,j.jsx)(`th`,{children:`pushed`}),(0,j.jsx)(`th`,{})]})}),(0,j.jsx)(`tbody`,{children:i.map(e=>(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`td`,{className:`id`,children:e.base}),(0,j.jsx)(`td`,{className:`num`,children:e.chunks}),(0,j.jsx)(`td`,{className:`mono dim`,children:e.model}),(0,j.jsx)(`td`,{className:`mono dim`,children:iL(e.pushed_at)}),(0,j.jsx)(`td`,{children:(0,j.jsx)(`button`,{type:`button`,className:`link`,onClick:()=>void v(e.base),children:`drop`})})]},e.base))})]})})]})]})}function rL({score:e}){return(0,j.jsxs)(`div`,{className:`panel`,children:[(0,j.jsxs)(`div`,{className:`panel-head`,children:[(0,j.jsx)(`span`,{className:`panel-title`,children:e.base}),(0,j.jsxs)(`span`,{className:`fixed dim`,children:[e.model,` · `,e.questions,` questions · recall@`,e.k,` `,e.recall_at_k.toFixed(2),` · nDCG@10`,` `,e.ndcg_at_10.toFixed(2),` · `,Math.round(e.took_ms),` ms`]})]}),(0,j.jsx)(`div`,{className:`panel-body`,children:e.misses.length===0?(0,j.jsx)(`p`,{className:`dim`,children:`Every question found what it asked for.`}):(0,j.jsx)(`ul`,{className:`kb-misses`,children:e.misses.map(e=>(0,j.jsxs)(`li`,{children:[(0,j.jsx)(`span`,{children:e.asks}),(0,j.jsxs)(`span`,{className:`mono dim`,children:[`wanted `,e.expects,` · got `,e.found[0]??`nothing`]})]},e.asks))})})]})}function iL(e){return new Date(e*1e3).toISOString().slice(0,16).replace(`T`,` `)}var aL=B({agent:F().nullable(),golden:F().nullable(),questions:L(),cases:z(F())});async function oL(e,t){return e_.parse(await ia(e,`/v1/contacts/${encodeURIComponent(t)}/memory`))}async function sL(e,t){return t_.parse(await sa(e,`/v1/contacts/${encodeURIComponent(t)}/memory`))}async function cL(e,t){return aL.parse(await NP(e,t,`memory.roster`,{agent:t}))}async function lL(e,t){return r_.parse(await NP(e,t,`memory.eval`,{agent:t}))}async function uL(e,t){return s_.parse(await NP(e,t,`memory.extraction`,{agent:t}))}function dL(){let e=_a(),t=br().agent??``,[n,r]=(0,O.useState)(null),[i,a]=(0,O.useState)(``),[o,s]=(0,O.useState)(null),[c,l]=(0,O.useState)(null),[u,d]=(0,O.useState)(``),[f,p]=(0,O.useState)(null),[m,h]=(0,O.useState)(null),[g,_]=(0,O.useState)(null);(0,O.useEffect)(()=>{let n=!1;return cL(e,t).then(e=>{n||r(e)},e=>{n||_(e instanceof Error?e.message:String(e))}),()=>{n=!0}},[e]);let v=async t=>{t.preventDefault(),_(null),l(null);try{s((await oL(e,i.trim())).facts)}catch(e){_(e instanceof ea?e.message:String(e))}},y=async()=>{if(window.confirm(`Erase everything memory kept about ${i.trim()}? There is no undo.`)){_(null);try{l((await sL(e,i.trim())).forgotten),s([])}catch(e){_(e instanceof ea?e.message:String(e))}}},b=async n=>{d(n),_(null);try{n===`recall`?p(await lL(e,t)):h(await uL(e,t))}catch(e){_(e instanceof ea?e.message:String(e))}finally{d(``)}};return(0,j.jsxs)(`section`,{className:`page page-wide`,children:[(0,j.jsx)(`div`,{className:`page-eyebrow fixed`,children:`memory`}),(0,j.jsx)(`h1`,{className:`page-title`,children:`what the agent keeps, and what it is held to`}),(0,j.jsxs)(`form`,{className:`mem-ask`,onSubmit:e=>void v(e),children:[(0,j.jsx)(`input`,{className:`input mono mem-contact`,value:i,placeholder:`a phone number, a customer id`,onChange:e=>a(e.target.value)}),(0,j.jsx)(`button`,{type:`submit`,className:`button`,disabled:i.trim()===``,children:`read`}),(0,j.jsx)(`button`,{type:`button`,className:`button`,disabled:i.trim()===``,onClick:()=>void y(),children:`forget`}),c!==null&&(0,j.jsxs)(`span`,{className:`fixed dim`,children:[`forgotten: `,c]})]}),g!==null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:g}),o!==null&&(o.length===0?(0,j.jsxs)(N_,{children:[`Memory keeps nothing about `,i.trim(),`.`]}):(0,j.jsx)(`ul`,{className:`mem-facts`,children:o.map((e,t)=>(0,j.jsxs)(`li`,{className:e.invalidated_at===null?``:`mem-gone`,children:[(0,j.jsx)(`span`,{children:e.text}),(0,j.jsxs)(`span`,{className:`mono dim`,children:[e.category??`—`,e.invalidated_at===null?``:` · superseded ${fL(e.invalidated_at)}`]})]},e.id??`${t}`))})),(0,j.jsxs)(`div`,{className:`section`,children:[(0,j.jsx)(`h2`,{className:`section-title`,children:`the goldens of this directory`}),n!==null&&n.agent!==t?(0,j.jsx)(N_,{children:n.agent===null?"No agent class in the directory the agent's `pinecall run` runs in, so its goldens are not here.":`The process holding the agent runs in ${n.agent}'s directory: to run ${t}'s memory goldens, run \`pinecall run\` there.`}):(0,j.jsxs)(`div`,{className:`mem-goldens`,children:[(0,j.jsxs)(`div`,{className:`panel`,children:[(0,j.jsxs)(`div`,{className:`panel-head`,children:[(0,j.jsx)(`span`,{className:`panel-title`,children:`recall`}),(0,j.jsxs)(`span`,{className:`fixed dim`,children:[n?.questions??0,` questions`]})]}),(0,j.jsxs)(`div`,{className:`panel-body mem-run`,children:[(0,j.jsx)(`p`,{className:`dim`,children:`Every question asked of the ranking, scored by code with no model. No contact of yours is read: each question brings its own facts to a scratch contact.`}),(0,j.jsx)(`button`,{type:`button`,className:`button`,disabled:u!==``||(n?.questions??0)===0,onClick:()=>void b(`recall`),children:u===`recall`?`asking…`:`run it`}),f!==null&&(0,j.jsxs)(`p`,{className:`fixed`,children:[f.model,` · recall@`,f.k,` `,f.recall_at_k.toFixed(2),` · nDCG@10`,` `,f.ndcg_at_10.toFixed(2),` · `,f.misses.length,` missed`]}),f?.misses.map(e=>(0,j.jsxs)(`p`,{className:`mono dim`,children:[e.asks,` → wanted `,e.missing.join(`, `),`, got `,e.found[0]??`nothing`]},e.asks))]})]}),(0,j.jsxs)(`div`,{className:`panel`,children:[(0,j.jsxs)(`div`,{className:`panel-head`,children:[(0,j.jsx)(`span`,{className:`panel-title`,children:`extraction`}),(0,j.jsxs)(`span`,{className:`fixed dim`,children:[n?.cases.length??0,` cases`]})]}),(0,j.jsxs)(`div`,{className:`panel-body mem-run`,children:[(0,j.jsx)(`p`,{className:`dim`,children:`One call written down per case, and one model call each — the very one a hang-up makes. Which categories got a fact, which never did, what must not survive.`}),(0,j.jsx)(`button`,{type:`button`,className:`button`,disabled:u!==``||(n?.cases.length??0)===0,onClick:()=>void b(`extraction`),children:u===`extraction`?`running…`:`run them`}),m!==null&&(0,j.jsxs)(`p`,{className:`fixed`,children:[m.model,` · `,m.held,`/`,m.cases,` held ·`,` `,Math.round(m.took_ms),` ms`]}),m?.results.filter(e=>!e.held).map(e=>(0,j.jsxs)(`p`,{className:`mono dim`,children:[e.name,` — `,(e.broke??[]).map(e=>`${e.check}: ${e.detail}`).join(` · `)]},e.name))]})]})]})]})]})}function fL(e){return new Date(e*1e3).toISOString().slice(0,16).replace(`T`,` `)}function pL({carrier:e,agents:t,available:n,busy:r,onImport:i,onBuy:a}){let[o,s]=(0,O.useState)(e===null?`buy`:`import`),[c,l]=(0,O.useState)(``),[u,d]=(0,O.useState)(`US`),[f,p]=(0,O.useState)(``),[m,h]=(0,O.useState)(t[0]?.slug??``),[g,_]=(0,O.useState)(null),[v,y]=(0,O.useState)(null);(0,O.useEffect)(()=>{m===``&&t[0]!==void 0&&h(t[0].slug)},[t,m]);let b=()=>{_(null),y(null)},x=async e=>o===`import`?i({number:c.trim(),agent:m},e):a({country:u.trim().toUpperCase(),...f.trim()===``?{}:{area_code:f.trim()},agent:m},e),S=async e=>{e.preventDefault(),y(null),_(await x(!0))},C=async()=>{let e=await x(!1);_(null),y(e),l(``)},w=n!==null&&n.kind===`twilio`?n.numbers.filter(e=>!e.imported):[];return(0,j.jsxs)(`section`,{className:`numbers-adding`,children:[(0,j.jsxs)(`div`,{className:`numbers-form-head`,children:[(0,j.jsx)(`span`,{className:`numbers-form-title`,children:`Add a number`}),(0,j.jsxs)(`span`,{className:`tabs`,children:[(0,j.jsx)(`button`,{type:`button`,className:o===`import`?`tab is-active`:`tab`,onClick:()=>{s(`import`),b()},disabled:e===null,title:e===null?`bring the org's carrier first`:void 0,children:`import one the carrier owns`}),(0,j.jsx)(`button`,{type:`button`,className:o===`buy`?`tab is-active`:`tab`,onClick:()=>{s(`buy`),b()},children:`have the box buy one`})]})]}),(0,j.jsxs)(`form`,{className:`numbers-form`,onSubmit:e=>void S(e),children:[(0,j.jsxs)(`div`,{className:`numbers-fields`,children:[o===`import`?(0,j.jsxs)(`label`,{className:`numbers-field`,children:[(0,j.jsxs)(`span`,{children:[`number `,(0,j.jsx)(`em`,{children:`E.164`})]}),w.length>0?(0,j.jsxs)(`select`,{className:`input fixed`,value:c,onChange:e=>{l(e.target.value),b()},required:!0,children:[(0,j.jsxs)(`option`,{value:``,children:[`pick one of `,w.length,` the account owns`]}),w.map(e=>(0,j.jsxs)(`option`,{value:e.number,children:[e.number,` — `,e.name]},e.number))]}):(0,j.jsx)(`input`,{className:`input fixed`,value:c,onChange:e=>{l(e.target.value),b()},placeholder:`+14176743169`,required:!0,autoComplete:`off`})]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`label`,{className:`numbers-field`,children:[(0,j.jsxs)(`span`,{children:[`country `,(0,j.jsx)(`em`,{children:`ISO, two letters`})]}),(0,j.jsx)(`input`,{className:`input fixed`,value:u,onChange:e=>{d(e.target.value),b()},maxLength:2,required:!0,autoComplete:`off`})]}),(0,j.jsxs)(`label`,{className:`numbers-field`,children:[(0,j.jsxs)(`span`,{children:[`area code `,(0,j.jsx)(`em`,{children:`optional`})]}),(0,j.jsx)(`input`,{className:`input fixed`,value:f,onChange:e=>{p(e.target.value),b()},placeholder:`417`,autoComplete:`off`})]})]}),(0,j.jsxs)(`label`,{className:`numbers-field`,children:[(0,j.jsx)(`span`,{children:`answered by`}),t.length>0?(0,j.jsx)(`select`,{className:`input fixed`,value:m,onChange:e=>{h(e.target.value),b()},required:!0,children:t.map(e=>(0,j.jsx)(`option`,{value:e.slug,children:e.slug},e.slug))}):(0,j.jsx)(`input`,{className:`input fixed`,value:m,onChange:e=>{h(e.target.value),b()},placeholder:`the agent's slug`,required:!0,autoComplete:`off`})]})]}),(0,j.jsxs)(`div`,{className:`numbers-form-foot`,children:[(0,j.jsx)(`button`,{className:`button`,type:`submit`,disabled:r||g!==null,children:r&&g===null?`asking…`:`show the plan`}),(0,j.jsx)(`span`,{className:`numbers-note fixed`,children:o===`import`?`nothing is written until you confirm the plan: the carrier's trunk pointed here, the media plane admitting the number, the route`:`the plan names the number the box found and pays nothing; confirming buys it, on the box's account, against your plan's stock`})]})]}),g!==null&&(0,j.jsxs)(`div`,{className:`numbers-plan`,children:[(0,j.jsxs)(`p`,{className:`numbers-plan-title`,children:[`The plan`,o===`buy`&&g.route.number!==null?(0,j.jsxs)(j.Fragment,{children:[` — `,(0,j.jsx)(`span`,{className:`fixed`,children:g.route.number})]}):null,`. Every step is looked up before it is written; nothing is ever deleted.`]}),(0,j.jsx)(mL,{steps:g.steps}),(0,j.jsxs)(`div`,{className:`numbers-form-foot`,children:[(0,j.jsx)(`button`,{type:`button`,className:`button button-accent`,onClick:()=>void C(),disabled:r,children:r?`wiring…`:o===`buy`?`buy it and wire it`:`do it`}),(0,j.jsx)(`button`,{type:`button`,className:`link`,onClick:b,disabled:r,children:`not now`})]})]}),v!==null&&(0,j.jsxs)(`div`,{className:`numbers-plan numbers-done`,children:[(0,j.jsxs)(`p`,{className:`numbers-plan-title`,children:[(0,j.jsx)(`span`,{className:`fixed`,children:v.route.number}),` now reaches `,(0,j.jsx)(`span`,{className:`fixed`,children:v.route.agent}),` in `,v.route.env,`.`]}),(0,j.jsx)(mL,{steps:v.steps})]})]})}function mL({steps:e}){return(0,j.jsx)(`ol`,{className:`numbers-steps fixed`,children:e.map((e,t)=>{let[n,...r]=e.split(/\s+/);return(0,j.jsxs)(`li`,{children:[(0,j.jsx)(`span`,{className:`numbers-step-kind`,children:n}),(0,j.jsx)(`span`,{children:r.join(` `)})]},t)})})}function hL({carrier:e,busy:t,onBring:n,onDrop:r}){let[i,a]=(0,O.useState)(!1);return e!==null&&!i?(0,j.jsx)(`section`,{className:`numbers-carrier`,children:(0,j.jsxs)(`div`,{className:`numbers-carrier-standing`,children:[(0,j.jsx)(`span`,{className:`numbers-kind fixed`,children:e.kind}),(0,j.jsx)(`span`,{className:`fixed`,children:e.account}),(0,j.jsx)(`span`,{className:`numbers-dim fixed`,children:e.kind===`twilio`?`account SID · verified`:`SIP peer · registers with its own credentials`}),(0,j.jsxs)(`span`,{className:`numbers-carrier-moves`,children:[(0,j.jsx)(`button`,{type:`button`,className:`link`,onClick:()=>a(!0),disabled:t,children:`replace`}),(0,j.jsx)(`button`,{type:`button`,className:`link`,onClick:()=>void r(),disabled:t,children:`forget`})]})]})}):(0,j.jsx)(`section`,{className:`numbers-carrier`,children:(0,j.jsx)(gL,{busy:t,onBring:async e=>{await n(e),a(!1)},onCancel:e===null?null:()=>a(!1)})})}function gL({busy:e,onBring:t,onCancel:n}){let[r,i]=(0,O.useState)(`twilio`),[a,o]=(0,O.useState)(``),[s,c]=(0,O.useState)(``),[l,u]=(0,O.useState)(``),[d,f]=(0,O.useState)(``),[p,m]=(0,O.useState)(``),[h,g]=(0,O.useState)(``);return(0,j.jsxs)(`form`,{className:`numbers-form`,onSubmit:e=>{e.preventDefault(),t(r===`twilio`?{kind:r,account_sid:a.trim(),user:s.trim()||a.trim(),secret:l}:{kind:r,username:d.trim(),password:p,addresses:h.split(/[\s,]+/).filter(Boolean)})},children:[(0,j.jsxs)(`div`,{className:`numbers-form-head`,children:[(0,j.jsx)(`span`,{className:`numbers-form-title`,children:`Bring the org's carrier`}),(0,j.jsxs)(`span`,{className:`tabs`,children:[(0,j.jsx)(`button`,{type:`button`,className:r===`twilio`?`tab is-active`:`tab`,onClick:()=>i(`twilio`),children:`Twilio`}),(0,j.jsx)(`button`,{type:`button`,className:r===`sip`?`tab is-active`:`tab`,onClick:()=>i(`sip`),children:`SIP peer`})]})]}),r===`twilio`?(0,j.jsxs)(`div`,{className:`numbers-fields`,children:[(0,j.jsxs)(`label`,{className:`numbers-field`,children:[(0,j.jsx)(`span`,{children:`account SID`}),(0,j.jsx)(`input`,{className:`input fixed`,value:a,onChange:e=>o(e.target.value),placeholder:`AC…`,required:!0,autoComplete:`off`})]}),(0,j.jsxs)(`label`,{className:`numbers-field`,children:[(0,j.jsxs)(`span`,{children:[`API key SID `,(0,j.jsx)(`em`,{children:`or leave it: the account SID`})]}),(0,j.jsx)(`input`,{className:`input fixed`,value:s,onChange:e=>c(e.target.value),placeholder:`SK…`,autoComplete:`off`})]}),(0,j.jsxs)(`label`,{className:`numbers-field`,children:[(0,j.jsxs)(`span`,{children:[`secret `,(0,j.jsx)(`em`,{children:`the key's, or the auth token`})]}),(0,j.jsx)(`input`,{className:`input fixed`,type:`password`,value:l,onChange:e=>u(e.target.value),required:!0,autoComplete:`off`})]})]}):(0,j.jsxs)(`div`,{className:`numbers-fields`,children:[(0,j.jsxs)(`label`,{className:`numbers-field`,children:[(0,j.jsx)(`span`,{children:`username`}),(0,j.jsx)(`input`,{className:`input fixed`,value:d,onChange:e=>f(e.target.value),required:!0,autoComplete:`off`})]}),(0,j.jsxs)(`label`,{className:`numbers-field`,children:[(0,j.jsx)(`span`,{children:`password`}),(0,j.jsx)(`input`,{className:`input fixed`,type:`password`,value:p,onChange:e=>m(e.target.value),required:!0,autoComplete:`off`})]}),(0,j.jsxs)(`label`,{className:`numbers-field`,children:[(0,j.jsxs)(`span`,{children:[`networks its calls come from `,(0,j.jsx)(`em`,{children:`CIDR, comma separated`})]}),(0,j.jsx)(`input`,{className:`input fixed`,value:h,onChange:e=>g(e.target.value),placeholder:`203.0.113.0/24`,required:!0,autoComplete:`off`})]})]}),(0,j.jsxs)(`div`,{className:`numbers-form-foot`,children:[(0,j.jsx)(`button`,{className:`button button-accent`,type:`submit`,disabled:e,children:e?`bringing…`:r===`twilio`?`bring and verify`:`bring`}),n!==null&&(0,j.jsx)(`button`,{type:`button`,className:`link`,onClick:n,children:`keep the one standing`}),(0,j.jsx)(`span`,{className:`numbers-note fixed`,children:r===`twilio`?`the account is opened once to check; the credentials are sealed under the vault key and never shown again`:`a SIP peer's calls are admitted from these networks alone, with its username and password`})]})]})}var _L=B({route:B({org:F(),agent:F(),channel:H([`phone`,`web`,`whatsapp`]),number:F().nullable(),label:F().nullable(),env:H([`production`,`sandbox`]),managed:R().default(!1)}),source:H([`operator`,`app`])}),vL=B({kind:H([`twilio`,`sip`]),account:F()}),yL=B({kind:H([`twilio`,`sip`]),numbers:z(B({number:F(),name:F(),imported:R()}))}),bL=B({route:_L.shape.route,steps:z(F()),dry_run:R()});async function xL(e){return z(_L).parse(await ia(e,`/v1/numbers`))}async function SL(e){try{return vL.parse(await ia(e,`/v1/carrier`))}catch(e){if(kL(e,404))return null;throw e}}async function CL(e,t){await aa(e,`/v1/carrier`,t)}async function wL(e){await sa(e,`/v1/carrier`)}async function TL(e){return yL.parse(await ia(e,`/v1/numbers/available`))}async function EL(e,t,n){return bL.parse(await oa(e,`/v1/numbers${n?`?dry_run=true`:``}`,t))}async function DL(e,t,n){return bL.parse(await oa(e,`/v1/numbers/buy${n?`?dry_run=true`:``}`,t))}async function OL(e,t){await sa(e,`/v1/numbers/${encodeURIComponent(t)}`)}function kL(e,t){return typeof e==`object`&&!!e&&e.status===t}function AL(){let e=_a(),{agents:t}=C_(),[n,r]=(0,O.useState)(void 0),[i,a]=(0,O.useState)(null),[o,s]=(0,O.useState)(null),[c,l]=(0,O.useState)(!1),[u,d]=(0,O.useState)(null),f=(0,O.useCallback)(async()=>{let[t,n]=await Promise.all([SL(e),xL(e)]);r(t),a(n),s(t===null?null:await TL(e))},[e]);(0,O.useEffect)(()=>{let e=!1;return f().catch(t=>{e||d(jL(t))}),()=>{e=!0}},[f]);let p=async e=>{l(!0),d(null);try{let t=await e();return await f(),t}catch(e){throw d(jL(e)),e}finally{l(!1)}},m=(i??[]).filter(e=>e.route.number!==null);return(0,j.jsxs)(`div`,{className:`numbers`,children:[(0,j.jsx)(`h1`,{className:`numbers-title`,children:`Numbers`}),(0,j.jsx)(`p`,{className:`numbers-lede`,children:`Whose numbers reach this org, which one reaches which agent, and one more brought in.`}),n!==void 0&&(0,j.jsx)(hL,{carrier:n,busy:c,onBring:async t=>{await p(()=>CL(e,t)).catch(()=>void 0)},onDrop:async()=>{await p(()=>wL(e)).catch(()=>void 0)}}),u!==null&&(0,j.jsx)(`p`,{className:`numbers-note numbers-refused fixed`,children:u}),i!==null&&(0,j.jsxs)(`section`,{className:`numbers-doors`,children:[(0,j.jsx)(`div`,{className:`numbers-form-head`,children:(0,j.jsx)(`span`,{className:`numbers-form-title`,children:`The doors this org answers`})}),i.length===0?(0,j.jsx)(`p`,{className:`numbers-note fixed`,children:`none yet — bring a carrier and import one below, or have the box buy one; an app that declares a door shows up here too`}):(0,j.jsxs)(`div`,{className:`numbers-panel`,children:[(0,j.jsxs)(`div`,{className:`numbers-row numbers-row-head fixed`,children:[(0,j.jsx)(`span`,{children:`NUMBER`}),(0,j.jsx)(`span`,{children:`CHANNEL`}),(0,j.jsx)(`span`,{children:`AGENT`}),(0,j.jsx)(`span`,{children:`WORLD`}),(0,j.jsx)(`span`,{children:`SOURCE`}),(0,j.jsx)(`span`,{})]}),i.map(t=>(0,j.jsxs)(`div`,{className:`numbers-row`,children:[(0,j.jsxs)(`span`,{className:`fixed`,children:[t.route.number??`—`,t.route.managed&&(0,j.jsx)(`span`,{className:`numbers-managed fixed`,title:`bought by the box for this org: counts against the numbers quota`,children:`bought`})]}),(0,j.jsx)(`span`,{className:`numbers-channel`,children:t.route.channel}),(0,j.jsx)(`span`,{className:`fixed`,children:t.route.agent}),(0,j.jsx)(`span`,{className:`fixed numbers-dim`,children:t.route.env}),(0,j.jsx)(`span`,{className:t.source===`operator`?`fixed numbers-operator`:`fixed numbers-dim`,children:t.source}),(0,j.jsx)(`span`,{className:`numbers-row-moves`,children:t.route.number!==null&&t.source===`operator`&&(0,j.jsx)(`button`,{type:`button`,className:`link`,disabled:c,onClick:()=>void p(()=>OL(e,t.route.number??``)).catch(()=>void 0),children:`let go`})})]},`${t.route.channel}-${t.route.number??t.route.agent}`))]}),m.length>0&&(0,j.jsx)(`p`,{className:`numbers-note fixed`,children:`letting a number go removes the route and the media plane's admission; the carrier account is not touched, and a bought number stays the box's to release there`})]}),n!==void 0&&(0,j.jsx)(pL,{carrier:n,agents:t,available:o,busy:c,onImport:(t,n)=>p(()=>EL(e,{...t,channel:`phone`},n)),onBuy:(t,n)=>p(()=>DL(e,{...t,channel:`phone`},n))})]})}function jL(e){return e instanceof ea?e.message:String(e)}var ML=[{field:`stt`,modality:`stt`,label:`stt`,note:`which ear hears the caller. Pick a vendor, and name a model beside it when its own default is not wanted.`},{field:`llm`,modality:`llm`,label:`llm`,note:`what reads the words and answers.`},{field:`tts`,modality:`tts`,label:`tts`,note:`what says it out loud. The voice below is then that vendor's own id for a voice.`}],NL=`elevenlabs`,PL=`one of the voices this build curates, by name. The list is the gateway's; the console keeps none of its own.`,FL=`that vendor's own id for a voice. This build does not know its shape and does not judge it — the vendor does, while the agent declares itself.`,IL=`the tts model, when the vendor's own default is not wanted. Only ElevenLabs has a list this build judges; every other vendor judges its own.`,LL=e=>e===``?`what the app declared`:`${e} · declared by the app`;function RL(e,t){let n=e.lastIndexOf(`/`);return n>=0?e.slice(0,n):t.has(e)?e:``}function zL(e,t){let n=e.lastIndexOf(`/`);return n>=0?e.slice(n+1):t.has(e)?``:e}function BL(e,t){return e===``?t:t===``?e:`${e}/${t}`}function VL({turned:e,declared:t,voices:n,providers:r,saving:i,error:a,onTurn:o}){let[s,c]=(0,O.useState)({}),[l,u]=(0,O.useState)(!1),d=t=>s[t]??e[t]??``,f=new Set(BI(r,`tts`).map(e=>e.name)),p=RL(d(`tts`),f)||t.tts||NL,m=(e,t)=>{u(!1),c({...s,[e]:t})},h=async t=>{t.preventDefault();let n={};for(let t of Object.keys(e)){let e=d(t).trim();e!==``&&(n[t]=e)}await o(n),c({}),u(!0)};return(0,j.jsxs)(`form`,{className:`ctl`,onSubmit:e=>void h(e),children:[ML.map(e=>(0,j.jsxs)(`label`,{className:`ctl-field`,children:[(0,j.jsx)(`span`,{className:`ctl-label`,children:e.label}),(0,j.jsx)(HL,{value:d(e.field),declared:t[e.field],offered:BI(r,e.modality),onChange:t=>m(e.field,t)}),(0,j.jsx)(`p`,{className:`ctl-note`,children:e.note})]},e.field)),(0,j.jsxs)(`label`,{className:`ctl-field`,children:[(0,j.jsx)(`span`,{className:`ctl-label`,children:`voice`}),p===NL?(0,j.jsx)(UL,{chosen:d(`voice`),declared:t.voice,names:n,onChoose:e=>m(`voice`,e)}):(0,j.jsx)(`input`,{className:`ctl-input mono`,value:d(`voice`),spellCheck:!1,placeholder:`${p}'s own voice id`,onChange:e=>m(`voice`,e.target.value)}),(0,j.jsx)(`p`,{className:`ctl-note`,children:p===NL?PL:FL})]}),(0,j.jsxs)(`label`,{className:`ctl-field`,children:[(0,j.jsx)(`span`,{className:`ctl-label`,children:`tts_model`}),(0,j.jsx)(`input`,{className:`ctl-input mono`,value:d(`tts_model`),spellCheck:!1,placeholder:LL(t.tts_model),onChange:e=>m(`tts_model`,e.target.value)}),(0,j.jsx)(`p`,{className:`ctl-note`,children:IL})]}),(0,j.jsxs)(`label`,{className:`ctl-field ctl-field-wide`,children:[(0,j.jsx)(`span`,{className:`ctl-label`,children:`greeting`}),(0,j.jsx)(`textarea`,{className:`ctl-input ctl-textarea`,value:d(`greeting`),rows:3,placeholder:t.greeting===``?`empty = the class opens the call as it declared, or not at all`:LL(t.greeting),onChange:e=>m(`greeting`,e.target.value)}),(0,j.jsx)(`p`,{className:`ctl-note`,children:`spoken verbatim as the call opens — said, never generated, so typing here also stops a class that improvises its opening. It applies to the NEXT session.`})]}),(0,j.jsxs)(`div`,{className:`ctl-foot`,children:[(0,j.jsx)(`button`,{className:`ctl-save`,type:`submit`,disabled:i,children:i?`saving…`:`save`}),(0,j.jsx)(`span`,{className:`ctl-banner`,children:`applies to the NEXT session — a call already running keeps the pipeline it started with.`})]}),a!==null&&(0,j.jsx)(`p`,{className:`ctl-error`,children:a}),l&&a===null&&(0,j.jsx)(`p`,{className:`ctl-ok`,children:`stored. The panels above are the gateway's answer, not a local guess.`})]})}function HL({value:e,declared:t,offered:n,onChange:r}){let i=new Set(n.map(e=>e.name)),a=RL(e,i),o=zL(e,i);return(0,j.jsxs)(`div`,{className:`ctl-stage`,children:[(0,j.jsxs)(`select`,{className:`ctl-input mono`,value:a,onChange:e=>r(BL(e.target.value,o)),children:[(0,j.jsx)(`option`,{value:``,children:LL(t)}),n.map(e=>(0,j.jsxs)(`option`,{value:e.name,children:[e.name,e.ready?``:` — ${e.standing}`]},e.name))]}),(0,j.jsx)(`input`,{className:`ctl-input mono`,value:o,spellCheck:!1,placeholder:`the vendor's own default model`,onChange:e=>r(BL(a,e.target.value))})]})}function UL({chosen:e,declared:t,names:n,onChoose:r}){let i=n.includes(e)||e===``?n:[e,...n];return(0,j.jsxs)(`select`,{className:`ctl-input mono`,value:e,onChange:e=>r(e.target.value),children:[(0,j.jsx)(`option`,{value:``,children:LL(t)}),i.map(e=>(0,j.jsx)(`option`,{value:e,children:e},e))]})}var WL=B({vendor:F(),model:F().nullable(),voice_id:F().nullable(),language:F().nullable()}),GL=B({voice:F().nullable(),tts:F().nullable(),tts_model:F().nullable(),stt:F().nullable(),llm:F().nullable(),greeting:F().nullable()}),KL=B({name:H(nv),seconds:I(),turns:L()}),qL=B({say:F().nullable(),reply:F().nullable(),allow_interruptions:R().nullable()}),JL=B({agent:F(),hears:WL,decides:WL,speaks:WL,greeting:qL.nullable(),overrides:GL,voices:z(F()),providers:z(II),calls:L(),medians:z(KL),unavailable_reasons:up(F(),F())});async function YL(e,t){return JL.parse(await ia(e,ZL(t)))}async function XL(e,t,n){return JL.parse(await aa(e,`${ZL(t)}/overrides`,n))}function ZL(e){return`/v1/agents/${encodeURIComponent(e)}/pipeline`}function QL(e){return e===null?``:e.say!==null&&e.say!==void 0?e.say:`the class improvises: ${e.reply??``}`}function $L({stage:e,unavailable:t}){return(0,j.jsxs)(nR,{role:`hears`,vendor:e.vendor,model:e.model,unavailable:t,children:[(0,j.jsx)(rR,{k:`language`,v:e.language,note:`what the ear is told to expect; the runtime adds the names the state carries`}),(0,j.jsx)(rR,{k:`switchable to`,v:`any stt provider file`,note:`the ear is the agent's declaration, changed from Control below and effective on the NEXT session`})]})}function eR({stage:e,unavailable:t}){return(0,j.jsxs)(nR,{role:`decides`,vendor:e.vendor,model:e.model,unavailable:t,children:[(0,j.jsx)(rR,{k:`prompt`,v:`identity · knowledge · tools · history · view`,note:`named blocks in two regions, never reordered: the static ones before the history are cached, the dynamic ones after it are rewritten every turn; an agent adds blocks of its own on either side`}),(0,j.jsx)(rR,{k:`tools`,v:`the class's @tool methods`,note:`visible by stage; the only thing that changes the state`})]})}function tR({stage:e,unavailable:t}){return(0,j.jsxs)(nR,{role:`speaks`,vendor:e.vendor,model:e.model,unavailable:t,children:[(0,j.jsx)(rR,{k:`voice`,v:e.voice_id,note:`one of the voices this build curates, by name; the id is the vendor's`}),(0,j.jsx)(rR,{k:`aligned transcript`,v:`on`,note:`timed words, so the log and the karaoke know when each word was spoken`})]})}function nR({role:e,vendor:t,model:n,unavailable:r,children:i}){return(0,j.jsxs)(`article`,{className:`panel leg`,children:[(0,j.jsxs)(`div`,{className:`panel-head`,children:[(0,j.jsx)(`span`,{className:`panel-title`,children:t}),(0,j.jsx)(`span`,{className:`badge`,children:e})]}),(0,j.jsxs)(`div`,{className:`panel-body`,children:[(0,j.jsx)(`div`,{className:`leg-model mono`,children:n??`the provider's default`}),(0,j.jsx)(`dl`,{className:`leg-rows`,children:i}),r!==null&&(0,j.jsxs)(`div`,{className:`leg-refused`,children:[(0,j.jsx)(`span`,{className:`leg-refused-title`,children:`not right now`}),(0,j.jsx)(`p`,{className:`leg-refused-row`,children:r})]})]})]})}function rR({k:e,v:t,note:n}){return t===null?null:(0,j.jsxs)(`div`,{className:`leg-row`,children:[(0,j.jsx)(`dt`,{className:`leg-k`,children:e}),(0,j.jsx)(`dd`,{className:`leg-v mono`,children:t}),n&&(0,j.jsx)(`p`,{className:`leg-note`,children:n})]})}function iR({turned:e}){let t=Object.entries(e).filter(([,e])=>e!==null);return t.length===0?(0,j.jsxs)(`p`,{className:`note`,children:[`nothing overridden — this agent runs exactly what its class declares. The console may set`,` `,(0,j.jsx)(`code`,{className:`mono`,children:Object.keys(e).join(`, `)}),`.`]}):(0,j.jsx)(`div`,{className:`table-wrap`,children:(0,j.jsxs)(`table`,{className:`table`,children:[(0,j.jsx)(`thead`,{children:(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`th`,{children:`field`}),(0,j.jsx)(`th`,{children:`value`})]})}),(0,j.jsx)(`tbody`,{children:t.map(([e,t])=>(0,j.jsxs)(`tr`,{children:[(0,j.jsx)(`td`,{className:`mono`,children:e}),(0,j.jsx)(`td`,{className:`mono`,children:t})]},e))})]})})}function aR(e){let t=_a(),[n,r]=(0,O.useState)(null),[i,a]=(0,O.useState)(!1),[o,s]=(0,O.useState)(null);return(0,O.useEffect)(()=>{let n=!1;return r(null),YL(t,e).then(e=>{n||r(e)},e=>{n||s(String(e))}),()=>{n=!0}},[e,t]),{report:n,saving:i,error:o,turn:(0,O.useCallback)(async n=>{a(!0),s(null);try{r(await XL(t,e,n))}catch(e){s(e instanceof Error?e.message:String(e))}finally{a(!1)}},[e,t])}}var oR={end_of_turn_delay:`silence the turn detector waits through before it believes the caller stopped`,transcription_delay:`from the end of speech to the ear's final transcript`,llm_node_ttft:`to the model's first token`,tts_node_ttfb:`to the voice's first audio byte`,e2e_latency:`what the caller actually waits: their last word to the agent's first audio`},sR={end_of_turn_delay:`end of turn`,transcription_delay:`transcription`,llm_node_ttft:`llm ttft`,tts_node_ttfb:`tts ttfb`,e2e_latency:`e2e`},cR=nv.slice(0,-1),lR=nv[nv.length-1];function uR({medians:e,calls:t,agent:n}){let r=new Map(e.map(e=>[e.name,e])),i=cR.map(e=>({name:e,took:r.get(e)?.seconds??null})),a=i.reduce((e,t)=>e+(t.took??0),0),o=r.get(lR)?.seconds??null,s=Math.max(a,o??0);if(s===0)return(0,j.jsx)(`p`,{className:`note note-warn`,children:fR(t,n)});let c=0;return(0,j.jsxs)(`div`,{className:`wf`,children:[i.map(e=>{let t=c;return c+=e.took??0,(0,j.jsx)(dR,{label:sR[e.name],note:oR[e.name],seconds:e.took,start:t,rail:s},e.name)}),(0,j.jsx)(dR,{label:sR[lR],note:oR[lR],seconds:o,start:0,rail:s,total:!0}),(0,j.jsxs)(`p`,{className:`wf-caption`,children:[`medians over the last `,t,` call`,t===1?``:`s`,` · `,pR(e),` turns. The four stages are measured independently and overlap in real time; they are laid end to end to show proportion, not to claim they add up to e2e.`]})]})}function dR({label:e,note:t,seconds:n,start:r,rail:i,total:a}){return(0,j.jsxs)(`div`,{className:a?`wf-row wf-row-total`:`wf-row`,children:[(0,j.jsx)(`div`,{className:`wf-label`,title:t,children:e}),(0,j.jsx)(`div`,{className:`wf-track`,children:n===null?(0,j.jsx)(`span`,{className:`wf-unmeasured`,children:`not yet measured`}):(0,j.jsx)(`span`,{className:`wf-bar`,style:{left:mR(r,i),width:mR(n,i)}})}),(0,j.jsx)(`div`,{className:`wf-value mono`,children:n===null?`—`:`${Math.round(n*1e3)} ms`}),(0,j.jsx)(`p`,{className:`wf-note`,children:t})]})}function fR(e,t){return e===0?`no call stored for ${t} yet — place one and the bars appear.`:`${e} stored call${e===1?``:`s`} for ${t}, and not one turn carries a latency — a text session measures none.`}function pR(e){return Math.max(0,...e.map(e=>e.turns))}function mR(e,t){return`${Math.max(e/t*100,e>0?.6:0)}%`}function hR(){let e=br().agent??``,{report:t,saving:n,error:r,turn:i}=aR(e);return(0,j.jsxs)(`div`,{className:`page`,children:[(0,j.jsxs)(`header`,{className:`page-head`,children:[(0,j.jsxs)(`div`,{className:`page-eyebrow`,children:[e,` · pipeline`]}),(0,j.jsx)(`h1`,{className:`page-title`,children:`Pipeline`}),(0,j.jsx)(`p`,{className:`page-lede`,children:`The three legs of a voice turn as data, not as prose: what hears, what decides, what speaks — every value read from the gateway with this agent's overrides already applied, so this screen cannot show a pipeline the next call will not run.`})]}),t===null?(0,j.jsx)(`section`,{className:`section`,children:(0,j.jsx)(N_,{children:r??`Asking the gateway what ${e} runs on…`})}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`section`,{className:`section`,children:[(0,j.jsx)(`h2`,{className:`section-title`,children:`Providers`}),(0,j.jsxs)(`div`,{className:`grid grid-3`,children:[(0,j.jsx)($L,{stage:t.hears,unavailable:t.unavailable_reasons.hears??null}),(0,j.jsx)(eR,{stage:t.decides,unavailable:t.unavailable_reasons.decides??null}),(0,j.jsx)(tR,{stage:t.speaks,unavailable:t.unavailable_reasons.speaks??null})]})]}),(0,j.jsxs)(`section`,{className:`section`,children:[(0,j.jsx)(`h2`,{className:`section-title`,children:`Anatomy of a turn`}),(0,j.jsx)(uR,{medians:t.medians,calls:t.calls,agent:e})]}),(0,j.jsxs)(`section`,{className:`section`,children:[(0,j.jsx)(`h2`,{className:`section-title`,children:`Control`}),(0,j.jsx)(VL,{turned:t.overrides,declared:{stt:`${t.hears.vendor}/${t.hears.model??``}`,llm:`${t.decides.vendor}/${t.decides.model??``}`,tts:t.speaks.vendor,voice:t.speaks.voice_id??``,tts_model:t.speaks.model??``,greeting:QL(t.greeting)},voices:t.voices,providers:t.providers,saving:n,error:r,onTurn:i},e),(0,j.jsx)(iR,{turned:t.overrides})]})]})]})}var gR=`confirm.`,_R=`tool.call`;function vR(e){let t=new Map;for(let n of e){if(!n.type.startsWith(gR))continue;let e=DR(n,`call_id`),r=t.get(e)??TR(e,DR(n,`tool`));t.set(e,{...r,...wR(n)})}for(let n of e){let e=n.type===_R?t.get(DR(n,`call_id`)):void 0;e!==void 0&&(e.ran=n)}return[...t.values()]}function yR({rows:e}){return e.length===0?null:(0,j.jsx)(`div`,{children:e.map(e=>(0,j.jsx)(bR,{consent:e},e.callId))})}function bR({consent:e}){let t=SR(e);return(0,j.jsxs)(`article`,{className:`consent`,children:[(0,j.jsxs)(`p`,{className:`consent-join fixed`,children:[xR(e),` · `,e.tool,` · `,e.callId]}),e.requested!==null&&(0,j.jsx)(`p`,{className:`consent-said`,children:DR(e.requested,`phrase`)}),e.granted!==null&&(0,j.jsxs)(`p`,{className:`consent-said`,children:[`“`,DR(e.granted,`said`),`”`]}),(0,j.jsxs)(`p`,{className:`note`,children:[`audience `,CR(e)]}),t!==null&&(0,j.jsx)(`p`,{className:`consent-problem`,children:t})]})}function xR(e){return e.granted===null?e.declined===null?`seq ${ER(e.requested)} asked and nothing answered`:`seq ${ER(e.declined)} declined seq ${ER(e.ran)}`:`seq ${e.granted.seq} authorised seq ${ER(e.ran)}`}function SR(e){let{granted:t,ran:n,requested:r}=e;if(t===null||n===null)return null;if(t.seq>n.seq)return`${e.tool} ran at seq ${n.seq}, before its confirm.granted at seq ${t.seq}`;let i=r===null?null:DR(r,`audience`);return i!==null&&i!==DR(t,`audience`)?`${e.tool} was confirmed by another audience than the one asked at seq ${r?.seq??0}`:null}function CR(e){let t=e.granted??e.declined??e.requested;return t===null?`—`:DR(t,`audience`)}function wR(e){return e.type===`confirm.granted`?{granted:e}:e.type===`confirm.declined`?{declined:e}:{requested:e}}function TR(e,t){return{callId:e,tool:t,requested:null,granted:null,declined:null,ran:null}}function ER(e){return e===null?`—`:String(e.seq)}function DR(e,t){let n=e.data[t];return typeof n==`string`?n:``}function OR({agent:e,call:t,score:n,turns:r}){if(n===null)return(0,j.jsxs)(`p`,{className:`note`,children:[`This call has no score: it is still running, or its log was sealed before the judges existed. Ask for one with `,(0,j.jsxs)(`code`,{className:`mono`,children:[`pinecall eval `,t]}),`.`]});let i=new Set(n.judges.map(e=>e.name)),a=(n.panel??[]).filter(e=>!i.has(e));return(0,j.jsx)(`div`,{className:`panel`,children:(0,j.jsxs)(`div`,{className:`panel-body`,children:[(0,j.jsxs)(`ul`,{className:`score-list`,children:[n.judges.map(n=>(0,j.jsx)(kR,{agent:e,call:t,judgment:n},n.name)),a.map(e=>(0,j.jsxs)(`li`,{className:`score-row score-row-na`,children:[(0,j.jsx)(`span`,{className:`score-row-mark`,children:`–`}),(0,j.jsx)(`span`,{className:`score-row-name mono`,children:e}),(0,j.jsx)(`span`,{className:`score-row-kind`,children:`on the panel`}),(0,j.jsx)(`span`,{className:`score-row-reason`,children:`was run over this call and answered nothing`})]},e))]}),n.not_judged!=null&&(0,j.jsx)(`p`,{className:`note note-warn`,children:n.not_judged}),(0,j.jsx)(`p`,{className:`note`,children:AR(n,r)})]})})}function kR({agent:e,call:t,judgment:n}){let r=n.verdict===`held`;return(0,j.jsxs)(`li`,{className:r?`score-row score-row-pass`:`score-row score-row-fail`,children:[(0,j.jsx)(`span`,{className:`score-row-mark`,children:r?`✓`:`✗`}),(0,j.jsx)(`span`,{className:`score-row-name mono`,children:n.name}),(0,j.jsx)(`span`,{className:`score-row-kind`,children:n.verdict}),(0,j.jsxs)(`span`,{className:`score-row-reason`,children:[n.reason,n.evidence.said!=null&&(0,j.jsxs)(`span`,{className:`score-row-said`,children:[` “`,n.evidence.said,`”`]})]}),(0,j.jsx)(`span`,{className:`score-row-seqs`,children:n.evidence.seqs.map(n=>(0,j.jsxs)(Vi,{className:`chip`,to:`/a/${e}/sessions/${t}#seq-${n}`,children:[(0,j.jsx)(`span`,{className:`chip-key`,children:`seq`}),(0,j.jsx)(`span`,{className:`chip-val`,children:n})]},n))})]})}function AR(e,t){let n=`${t} turns replayed from the log`;return e.judge_calls===0?`${n}; the hard policies alone, and they cost nothing.`:`${n}; ${e.judge_calls} judge call${e.judge_calls===1?``:`s`} for ${SI(e.judge_cost_eur)}.`}function jR({rows:e}){return e.length===0?(0,j.jsx)(`p`,{className:`note`,children:`No turn in this session carried a metric — a chat session times nothing, and a voice call that dropped before its first answer has nothing to time.`}):(0,j.jsx)(`div`,{className:`strip`,children:e.map(e=>(0,j.jsxs)(`div`,{className:`strip-cell`,children:[(0,j.jsx)(`div`,{className:`strip-leg`,children:e.name}),(0,j.jsx)(`div`,{className:`strip-median`,children:ov(e.seconds)}),(0,j.jsxs)(`div`,{className:`strip-foot`,children:[(0,j.jsxs)(`span`,{children:[`max `,(0,j.jsx)(`span`,{className:`strip-max`,children:ov(e.max)})]}),(0,j.jsxs)(`span`,{className:`faint`,children:[`n=`,e.turns]})]})]},e.name))})}var MR={"turn.user":`user`,"turn.agent":`agent`},NR=/^#seq-(\d+)$/;function PR({lines:e,turns:t}){let[n,r]=(0,O.useState)(new Set),[i,a]=(0,O.useState)(!1),o=BR(t),s=FR(mr().hash),c=e.length;(0,O.useEffect)(()=>{s!==null&&c>0&&document.getElementById(IR(s))?.scrollIntoView({block:`center`})},[s,c]);let l=e=>r(t=>{let n=new Set(t);return n.delete(e)||n.add(e),n});return(0,j.jsxs)(`div`,{className:`table-wrap`,children:[(0,j.jsxs)(`div`,{className:`panel-head`,children:[(0,j.jsx)(`span`,{className:`badge`,children:`seq · t · type · payload`}),(0,j.jsx)(`button`,{className:`button`,type:`button`,onClick:()=>a(!i),children:i?`hide the fields`:`show every field`})]}),(0,j.jsx)(`table`,{className:`timeline fixed`,children:(0,j.jsx)(`tbody`,{children:e.map(e=>(0,j.jsx)(LR,{line:e,turn:o.get(VR(e.entry.type,e.entry.data)),open:i||n.has(e.entry.seq),cited:e.entry.seq===s,onToggle:()=>l(e.entry.seq)},e.entry.seq))})})]})}function FR(e){let t=NR.exec(e)?.[1];return t===void 0?null:Number(t)}function IR(e){return`seq-${e}`}function LR({line:e,turn:t,open:n,cited:r,onToggle:i}){let a=e.fields.length>0;return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`tr`,{id:IR(e.entry.seq),className:RR(a,r),onClick:a?i:void 0,children:[(0,j.jsx)(`td`,{className:`mark`,children:e.mark}),(0,j.jsx)(`td`,{className:`number seq`,children:e.entry.seq}),(0,j.jsx)(`td`,{className:`number soft`,children:e.since}),(0,j.jsx)(`td`,{className:`type`,children:e.entry.type}),(0,j.jsxs)(`td`,{className:`payload`,children:[e.payload,t!==void 0&&(0,j.jsx)(zR,{turn:t}),a&&(0,j.jsxs)(`span`,{className:`soft`,children:[` `,n?`▾`:`▸`,` `]})]})]}),n&&e.fields.map(e=>(0,j.jsxs)(`tr`,{className:`field`,children:[(0,j.jsx)(`td`,{}),(0,j.jsx)(`td`,{}),(0,j.jsx)(`td`,{}),(0,j.jsx)(`td`,{className:`field-name`,children:e.name}),(0,j.jsx)(`td`,{className:`field-value`,children:e.value})]},e.name))]})}function RR(e,t){return[`row`,e?`row-opens`:``,t?`row-cited`:``].filter(Boolean).join(` `)}function zR({turn:e}){return(0,j.jsx)(`span`,{className:`chips`,children:rv(e).map(e=>(0,j.jsxs)(`span`,{className:`chip`,children:[(0,j.jsx)(`span`,{className:`chip-key`,children:e.field}),(0,j.jsx)(`span`,{className:`chip-val`,children:e.value})]},e.field))})}function BR(e){return new Map(e.map(e=>[`${e.role}:${e.speech_id}`,e]))}function VR(e,t){let n=t.speech_id;return`${MR[e]??``}:${typeof n==`string`?n:``}`}var HR=[`turn.user`,`turn.agent`],UR=`metrics.`,WR=`memory.ops`,GR=`docs.sources`,KR={"tool.call":`→`,"tool.result":`←`},qR=`!`;function JR(e){let t=q_(e.map(e=>e.type)),n=e[0]?.ts??0;return e.map(e=>XR(e,n,t.get(e.type)))}function YR(e,t){return`+${(e-t).toFixed(3)}`}function XR(e,t,n){return{entry:e,mark:ZR(e.type),since:YR(e.ts,t),payload:QR(e,n),fields:$R(e,n)}}function ZR(e){return e.startsWith(`confirm.`)?qR:KR[e]??``}function QR(e,t){return HR.includes(e.type)?J_(Object.fromEntries(Object.entries(e.data).filter(([e])=>e!==`metrics`)),t):e.type.startsWith(UR)?``:e.type===WR?jN(e.data):e.type===GR?NN(e.data):J_(e.data,t)}function $R(e,t){if(HR.includes(e.type)){let n=e.data.metrics,r=t?.properties?.metrics;return rz(n)?ez(n,UR,r):[]}return e.type.startsWith(UR)?ez(e.data,``,t):e.type===WR?MN(e.data).map(e=>({name:`fact`,value:e})):e.type===GR?PN(e.data).map(e=>({name:`source`,value:e})):[]}function ez(e,t,n){return tz(e,t,n,nz(e,n))}function tz(e,t,n,r){let i=[];for(let a of r){let r=e[a],o=n?.properties?.[a];rz(r)?i.push(...tz(r,`${t}${a}.`,o,Object.keys(r))):i.push({name:`${t}${a}`,value:Y_(r,o)})}return i}function nz(e,t){let n=Object.keys(t?.properties??{}).filter(t=>t in e);return[...n,...Object.keys(e).filter(e=>!n.includes(e))]}function rz(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function iz(e){let t=_a(),[n,r]=(0,O.useState)([]),[i,a]=(0,O.useState)(!0),[o,s]=(0,O.useState)(null);return(0,O.useEffect)(()=>{let n=!1;return r([]),a(!0),s(null),(async()=>{try{let i=await dP(t,e);n||r(i)}catch(e){n||s(String(e))}finally{n||a(!1)}})(),()=>{n=!0}},[e,t]),{entries:n,reading:i,error:o}}var az=`call.summary`;function oz(){let{agent:e=``,call:t=``}=br(),{entries:n,reading:r,error:i}=iz(t),a=(0,O.useMemo)(()=>({state:l_(n),lines:JR(n),latencies:dv(n),consented:vR(n),recording:U_(uz(n)?.data),score:dz(n)}),[n]);return(0,j.jsxs)(`div`,{className:`page page-wide`,children:[(0,j.jsxs)(`header`,{className:`page-head`,children:[(0,j.jsx)(`div`,{className:`page-eyebrow`,children:(0,j.jsxs)(Vi,{to:`/a/${e}/sessions`,children:[e,` / sessions`]})}),(0,j.jsx)(`h1`,{className:`page-title page-title-fixed`,children:t}),(0,j.jsx)(CF,{call:t})]}),i!==null&&(0,j.jsx)(`section`,{className:`section`,children:(0,j.jsxs)(`div`,{className:`empty`,children:[(0,j.jsx)(`p`,{className:`empty-title`,children:`That session did not load`}),(0,j.jsx)(`div`,{className:`empty-body`,children:(0,j.jsx)(`p`,{children:(0,j.jsx)(`code`,{className:`mono`,children:i})})})]})}),i===null&&n.length===0&&(0,j.jsx)(`section`,{className:`section`,children:(0,j.jsx)(`p`,{className:`note`,children:r?`reading ${t}…`:`no call ${t} in the log`})}),n.length>0&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`section`,{className:`section`,children:(0,j.jsx)(sz,{agent:e,state:a.state,score:a.score,events:n.length})}),(0,j.jsx)(W_,{call:t,path:a.recording}),(0,j.jsxs)(`section`,{className:`section`,children:[(0,j.jsx)(`h2`,{className:`section-title`,children:`Latency across this call`}),(0,j.jsx)(jR,{rows:a.latencies}),(0,j.jsxs)(`p`,{className:`note`,children:[`Median and max over the turns that carried each measure — the same seconds`,` `,(0,j.jsxs)(`code`,{className:`mono`,children:[`pinecall-runtime sessions show `,t]}),` prints per turn.`]})]}),a.consented.length>0&&(0,j.jsxs)(`section`,{className:`section`,children:[(0,j.jsx)(`h2`,{className:`section-title`,children:`Consent proof`}),(0,j.jsx)(yR,{rows:a.consented})]}),(0,j.jsxs)(`section`,{className:`section`,children:[(0,j.jsx)(`h2`,{className:`section-title`,children:`Score`}),(0,j.jsx)(OR,{agent:e,call:t,score:a.score,turns:a.state.turns.length}),(0,j.jsxs)(`p`,{className:`note`,children:[`Written into the log itself as `,(0,j.jsx)(`code`,{className:`mono`,children:`call.score`}),`, the entry the log seals on — the last row of the table below.`]})]}),a.state.cost!==null&&a.state.cost.rows.length>0&&(0,j.jsxs)(`section`,{className:`section`,children:[(0,j.jsx)(`h2`,{className:`section-title`,children:`Cost by model`}),(0,j.jsx)(`div`,{className:`panel`,children:(0,j.jsxs)(`div`,{className:`panel-body`,children:[(0,j.jsx)(`table`,{className:`kv`,children:(0,j.jsx)(`tbody`,{children:a.state.cost.rows.map(e=>(0,j.jsxs)(`tr`,{children:[(0,j.jsxs)(`td`,{className:`kv-key`,children:[e.provider,` · `,e.model,` · `,e.unit]}),(0,j.jsxs)(`td`,{className:`kv-val`,children:[e.quantity,` · `,SI(e.eur)]})]},`${e.provider}/${e.model}/${e.unit}`))})}),(0,j.jsxs)(`p`,{className:`note`,children:[`EUR at `,a.state.cost.rate.usd_to_eur,` USD, as of `,a.state.cost.rate.as_of,a.state.cost.unpriced.length>0&&` · unpriced: ${a.state.cost.unpriced.map(e=>`${e.provider}/${e.model}`).join(`, `)}`]})]})})]}),Object.keys(a.state.prompt).length>0&&(0,j.jsxs)(`section`,{className:`section`,children:[(0,j.jsx)(`h2`,{className:`section-title`,children:`The prompt, block by block`}),(0,j.jsx)(`div`,{className:`panel`,children:(0,j.jsxs)(`div`,{className:`panel-body`,children:[(0,j.jsx)(yv,{prompt:a.state.prompt}),(0,j.jsxs)(`p`,{className:`note`,children:[`What the app wrote, by name, with the hash and length of each block. The text never enters the log; `,(0,j.jsx)(`code`,{className:`mono`,children:`pinecall prompt --state`}),` prints it offline.`]})]})})]}),(0,j.jsxs)(`section`,{className:`section`,children:[(0,j.jsx)(`h2`,{className:`section-title`,children:`The log`}),(0,j.jsx)(PR,{lines:a.lines,turns:a.state.turns}),(0,j.jsxs)(`p`,{className:`note`,children:[n.length,` entries, append-only, numbered by seq. Live ≡ stored: the tail streams over SSE while the call is up and reads identically afterwards.`]})]})]})]})}function sz({agent:e,state:t,score:n,events:r}){return(0,j.jsxs)(`div`,{className:`facts`,children:[(0,j.jsx)(cz,{label:`agent`,value:e}),(0,j.jsx)(cz,{label:`channel`,value:t.channel??`—`,accent:t.channel===`phone`}),(0,j.jsx)(cz,{label:`from`,value:t.from??`—`}),(0,j.jsx)(cz,{label:`started`,value:tF(t.started_at)}),(0,j.jsx)(cz,{label:`duration`,value:xI(t)}),(0,j.jsx)(cz,{label:`ended`,value:t.end_reason??`running`}),(0,j.jsx)(cz,{label:`outcome`,value:t.outcome??`—`}),(0,j.jsx)(cz,{label:`cost`,value:SI(t.cost?.eur)}),(0,j.jsx)(cz,{label:`score`,value:lz(n),accent:n?.passed===!0}),(0,j.jsx)(cz,{label:`turns`,value:String(t.turns.length)}),(0,j.jsx)(cz,{label:`events`,value:String(r)})]})}function cz({label:e,value:t,accent:n}){return(0,j.jsxs)(`div`,{className:n?`fact fact-accent`:`fact`,children:[(0,j.jsx)(`div`,{className:`fact-key`,children:e}),(0,j.jsx)(`div`,{className:`fact-val`,children:t})]})}function lz(e){return e===null?`—`:e.passed==null?`not judged`:e.passed?`passed`:`did not pass`}function uz(e){return[...e].reverse().find(e=>e.type===az)}function dz(e){let t=[...e].reverse().find(e=>e.type===Vg);return t===void 0?null:tg.parse(t.data)}var fz=`lk.transcription`,pz=`lk.transcription_final`,mz=1500,hz=`→`,gz=`←`,_z=`✗`;function vz(e,t){let n=e.findIndex(e=>e.id===t.id);if(n===-1)return[...e,t];let r=e.slice();return r[n]=t,r}function yz(e){return e.split(/(\s+)/).filter(e=>e.length>0)}function bz(e){let t=JN(e);if(t!==null)return{kind:`mark`,id:`mark-${e.seq}`,tone:`supervisor`,text:t.said};let n=e.data;switch(e.type){case`tool.call`:return{kind:`mark`,id:`mark-${e.seq}`,tone:`tool`,text:`${hz} ${String(n.name)}(${Sz(n.arguments)})`};case`tool.result`:return{kind:`mark`,id:`mark-${e.seq}`,tone:`tool`,text:`${gz} ${String(n.name)} ${xz(n)}`};case`error`:return{kind:`mark`,id:`mark-${e.seq}`,tone:`error`,text:`${_z} ${String(n.message)}`};default:return null}}function xz(e){return e.error!==void 0&&e.error!==null?`error: ${Sz(e.error)}`:typeof e.summary==`string`?e.summary:e.output===void 0?`nothing`:Sz(e.output)}function Sz(e,t=80){let n=typeof e==`string`?e:JSON.stringify(e)??String(e);return n.length>t?`${n.slice(0,t-1)}…`:n}var Cz={user:`you`,agent:`agent`};function wz({lines:e,empty:t}){let n=(0,O.useRef)(null);return(0,O.useEffect)(()=>{let e=n.current;e&&(e.scrollTop=e.scrollHeight)},[e]),e.length===0?(0,j.jsx)(`div`,{className:`stream stream-empty`,ref:n,children:(0,j.jsx)(`p`,{className:`stream-hint fixed`,children:t})}):(0,j.jsx)(`div`,{className:`stream`,ref:n,children:e.map(e=>e.kind===`said`?(0,j.jsx)(Tz,{line:e},e.id):(0,j.jsx)(Ez,{mark:e},e.id))})}function Tz({line:e}){let t=[`said`,`said-${e.speaker}`,e.final?``:`said-interim`].filter(Boolean).join(` `);return(0,j.jsxs)(`article`,{className:t,children:[(0,j.jsx)(`div`,{className:`said-who fixed`,children:Cz[e.speaker]}),(0,j.jsxs)(`p`,{className:`said-text`,children:[yz(e.text).map((e,t)=>(0,j.jsx)(`span`,{className:`said-word`,children:e},t)),!e.final&&(0,j.jsx)(`span`,{className:`said-cursor`,"aria-hidden":!0})]})]})}function Ez({mark:e}){return(0,j.jsx)(`p`,{className:`said-mark said-mark-${e.tone} fixed`,children:e.text})}var Dz=B({server_url:F(),participant_token:F(),call:F()});function Oz(e){let t=_a(),[n,r]=(0,O.useState)(`idle`),[i,a]=(0,O.useState)(null),[o,s]=(0,O.useState)([]),[c,l]=(0,O.useState)(null),u=(0,O.useRef)(null),d=(0,O.useRef)(new Set),f=(0,O.useRef)(null),p=(0,O.useRef)([]),m=(0,O.useRef)(null),h=(0,O.useCallback)(()=>{m.current!==null&&(window.clearTimeout(m.current),m.current=null);let e=p.current;p.current=[],e.length>0&&s(t=>[...t,...e])},[]),g=(0,O.useCallback)(e=>{if(!d.current.has(e.id)){d.current.add(e.id),e.speaker===`user`&&h(),s(t=>vz(t,e)),f.current=e.speaker,e.speaker===`agent`&&h();return}s(t=>vz(t,e))},[h]),_=(0,O.useCallback)(e=>{let t=bz(e);if(t!==null){if(f.current===`agent`){s(e=>[...e,t]);return}p.current.push(t),m.current!==null&&window.clearTimeout(m.current),m.current=window.setTimeout(h,mz)}},[h]),v=(0,O.useCallback)(async()=>{r(`connecting`),l(null),s([]),d.current.clear(),f.current=null,p.current=[];try{let n=Dz.parse(await oa(t,`/v1/tokens`,{agent:e,scope:`talk`})),i=new gN;u.current=i,i.registerTextStreamHandler(fz,(e,t)=>{kz(i,e,t.identity,g)}),i.on(Y.TrackSubscribed,Az),i.on(Y.TrackUnsubscribed,e=>e.detach().forEach(e=>e.remove())),i.on(Y.Disconnected,()=>r(`ended`)),a(n.call),await i.connect(n.server_url,n.participant_token),await i.localParticipant.setMicrophoneEnabled(!0),r(`live`)}catch(e){l(e instanceof Error?e.message:String(e)),r(`failed`)}},[e,t,g]),y=(0,O.useCallback)(async()=>{await u.current?.disconnect()},[]);return(0,O.useEffect)(()=>()=>{u.current?.disconnect()},[]),{phase:n,call:i,lines:o,error:c,open:v,close:y,heard:_}}async function kz(e,t,n,r){let i=t.info.attributes?.[`lk.segment_id`]??t.info.id,a=e.remoteParticipants.get(n)?.kind===lx.AGENT?`agent`:`user`,o=``;for await(let e of t)o+=e,r({kind:`said`,id:i,speaker:a,text:o,final:!1});r({kind:`said`,id:i,speaker:a,text:o,final:t.info.attributes?.[pz]===`true`})}function Az(e){if(e.kind!==$.Kind.Audio)return;let t=e.attach();t.style.display=`none`,document.body.append(t)}function jz(){let e=br().agent??``,t=Oz(e),n=t.phase===`live`||t.phase===`connecting`;return(0,j.jsxs)(`section`,{className:`talk`,children:[(0,j.jsxs)(`div`,{className:`talk-column`,children:[(0,j.jsxs)(`h1`,{className:`talk-title`,children:[`Talk to `,e]}),(0,j.jsx)(`p`,{className:`talk-lede`,children:`This machine's microphone reaches the agent. The call is the same log everything else reads.`}),(0,j.jsxs)(`div`,{className:`talk-door-row`,children:[(0,j.jsx)(Mz,{live:t}),(0,j.jsxs)(`div`,{className:`talk-standing`,children:[(0,j.jsx)(`span`,{className:`talk-phase`,children:Pz(t)}),(0,j.jsxs)(`span`,{className:`talk-signal`,children:[(0,j.jsxs)(`span`,{className:n?`talk-bars talk-bars-on`:`talk-bars`,"aria-hidden":!0,children:[(0,j.jsx)(`span`,{}),(0,j.jsx)(`span`,{}),(0,j.jsx)(`span`,{})]}),t.call!==null&&(0,j.jsx)(`span`,{className:`talk-call fixed`,children:t.call})]})]})]}),(0,j.jsx)(wz,{lines:t.lines,empty:Fz(t.phase)}),t.error!==null&&(0,j.jsx)(`p`,{className:`talk-error fixed`,children:t.error})]}),t.call!==null&&(0,j.jsx)(Nz,{call:t.call,heard:t.heard}),t.call!==null&&(0,j.jsx)(`div`,{className:`talk-whole`,children:(0,j.jsx)(SP,{call:t.call})})]})}function Mz({live:e}){return e.phase===`live`||e.phase===`connecting`?(0,j.jsx)(`button`,{type:`button`,className:`door door-on`,disabled:e.phase===`connecting`,onClick:()=>void e.close(),children:`Hang up`}):(0,j.jsx)(`button`,{type:`button`,className:`door`,onClick:()=>void e.open(),children:e.phase===`idle`?`Talk`:`Talk again`})}function Nz({call:e,heard:t}){return vP(e,{onEntry:t}),null}function Pz(e){switch(e.phase){case`idle`:return`ready — press Talk`;case`connecting`:return`joining the room…`;case`live`:return`on the call · speak`;case`ended`:return`hung up`;case`failed`:return`the room did not open`}}function Fz(e){switch(e){case`idle`:return`the browser will ask for the microphone, and the agent answers straight away`;case`connecting`:return`joining the room…`;case`live`:return`listening — say something`;case`ended`:return`the call ended`;case`failed`:return`the room did not open`}}var Iz=B({device:F().nullable(),expires_at:I(),answered:R()}),Lz=B({device:F().nullable(),org:F()});function Rz(e){return`/v1/login/pairings/${encodeURIComponent(e)}`}async function zz(e,t){return Iz.parse(await ia(e,Rz(t)))}async function Bz(e,t){return Lz.parse(await oa(e,Rz(t),{})).org}var Vz=`c`,Hz=`a terminal`;function Uz(){let e=_a(),[t]=qi(),n=t.get(Vz),[r,i]=(0,O.useState)(null),[a,o]=(0,O.useState)(!1),[s,c]=(0,O.useState)(null),[l,u]=(0,O.useState)(null);(0,O.useEffect)(()=>{if(n===null)return;let t=!1;return zz(e,n).then(e=>{t||i(e)},e=>{t||u(e instanceof ea?e.message:String(e))}),()=>{t=!0}},[e,n]);let d=async()=>{if(n!==null){o(!0),u(null);try{c(await Bz(e,n))}catch(e){u(e instanceof ea?e.message:String(e))}finally{o(!1)}}};return n===null?(0,j.jsx)(Gz,{title:`No terminal is asking`,lede:Wz}):s===null?l!==null&&r===null?(0,j.jsx)(Gz,{title:`That link is no good`,lede:l}):(0,j.jsxs)(Gz,{title:`Sign this terminal in?`,lede:`A terminal calling itself ${r?.device??Hz} asked to be signed in as you. Approve it only if you just ran "pinecall login" on that machine yourself.`,children:[(0,j.jsx)(`button`,{className:`terminal-go`,type:`button`,onClick:()=>void d(),disabled:a||r===null,children:a?`signing in…`:`Yes, that is my terminal`}),l!==null&&(0,j.jsx)(`p`,{className:`terminal-refused`,children:l})]}):(0,j.jsx)(Gz,{title:`Your terminal is signed in`,lede:`Go back to it. You are in ${s}.`})}var Wz="Run `pinecall login` in your terminal — it prints a link, and that link comes back here.";function Gz({title:e,lede:t,children:n}){return(0,j.jsx)(`div`,{className:`terminal`,children:(0,j.jsxs)(`div`,{className:`terminal-card`,children:[(0,j.jsx)(`h1`,{className:`terminal-title`,children:e}),(0,j.jsx)(`p`,{className:`terminal-lede`,children:t}),n]})})}var Kz=[`qa`,`supervisor`,`manager`,`admin`,`developer`],qz=B({id:F(),email:F(),name:F(),role:H(Kz),agents:z(F()),status:H([`invited`,`active`,`disabled`]),scopes:z(F())}),Jz=B({member:qz,token:F(),expires_at:F()});async function Yz(e){return B({members:z(qz)}).parse(await ia(e,`/v1/members`)).members}async function Xz(e,t){return Jz.parse(await oa(e,`/v1/members`,t))}async function Zz(e,t,n){let r=await fetch(new URL(`${e.base.replace(/\/$/,``)}/v1/members/${encodeURIComponent(t)}`,window.location.origin),{method:`PATCH`,headers:{...ta(e),"content-type":`application/json`},body:JSON.stringify(n)});return qz.parse(await da(r))}function Qz({member:e,onChange:t}){let[n,r]=(0,O.useState)(e.agents.join(` `)),i=e.status===`disabled`?{label:`bring back`,to:`active`}:e.status===`active`?{label:`disable`,to:`disabled`}:null;return(0,j.jsxs)(`div`,{className:`team-row`,children:[(0,j.jsx)(`span`,{className:`team-name`,children:e.name}),(0,j.jsx)(`span`,{className:`fixed team-dim`,children:e.email}),(0,j.jsx)(`select`,{className:`team-input team-inline fixed`,value:e.role,onChange:e=>void t({role:e.target.value}),"aria-label":`${e.name}'s role`,children:Kz.map(e=>(0,j.jsx)(`option`,{value:e,children:e},e))}),(0,j.jsx)(`input`,{className:`team-input team-inline fixed`,value:n,placeholder:`every agent`,onChange:e=>r(e.target.value),onBlur:()=>{let r=n.split(/[\s,]+/).filter(e=>e!==``);r.join(` `)!==e.agents.join(` `)&&t({agents:r})},"aria-label":`${e.name}'s agents`}),(0,j.jsx)(`span`,{className:`fixed team-status team-status-${e.status}`,children:e.status}),(0,j.jsxs)(`span`,{className:`team-moves`,children:[i!==null&&(0,j.jsx)(`button`,{type:`button`,className:`team-link fixed`,onClick:()=>void t({status:i.to}),children:i.label}),e.status===`invited`&&(0,j.jsx)(`span`,{className:`fixed team-dim`,children:`awaiting the invitation`})]})]})}function $z(){let e=_a(),[t,n]=(0,O.useState)(null),[r,i]=(0,O.useState)(null),[a,o]=(0,O.useState)(null),s=async()=>n(await Yz(e));(0,O.useEffect)(()=>{let t=!1;return Yz(e).then(e=>{t||n(e)},e=>{t||o(tB(e))}),()=>{t=!0}},[e]);let c=async(t,n)=>{o(null);try{await Zz(e,t,n),await s()}catch(e){o(tB(e))}};return(0,j.jsxs)(`div`,{className:`team`,children:[(0,j.jsx)(`h1`,{className:`team-title`,children:`Team`}),(0,j.jsx)(`p`,{className:`team-lede`,children:`The org's people: who they are, what their keys may do, and which agents they work on.`}),(0,j.jsx)(eB,{onInvite:async t=>{o(null);try{i(await Xz(e,t)),await s()}catch(e){o(tB(e))}}}),r!==null&&(0,j.jsxs)(`div`,{className:`team-token`,children:[(0,j.jsxs)(`p`,{className:`team-token-title`,children:[r.member.name,` is invited. Send them this link — copy it now: the table keeps the fingerprint, and it is never shown again.`]}),(0,j.jsx)(`code`,{className:`team-token-code fixed`,children:nB(r.token)}),(0,j.jsxs)(`p`,{className:`team-note fixed`,children:[`one use · dies `,r.expires_at,` · it opens a card where they choose their password and take their first key`]})]}),a!==null&&(0,j.jsx)(`p`,{className:`team-note team-refused fixed`,children:a}),t!==null&&t.length===0&&(0,j.jsx)(`p`,{className:`team-note fixed`,children:`Nobody is a member yet: the org's machine key alone opens its doors. Invite the first person above.`}),t!==null&&t.length>0&&(0,j.jsxs)(`div`,{className:`team-panel`,children:[(0,j.jsxs)(`div`,{className:`team-row team-row-head fixed`,children:[(0,j.jsx)(`span`,{children:`NAME`}),(0,j.jsx)(`span`,{children:`EMAIL`}),(0,j.jsx)(`span`,{children:`ROLE`}),(0,j.jsx)(`span`,{children:`AGENTS`}),(0,j.jsx)(`span`,{children:`STATUS`}),(0,j.jsx)(`span`,{})]}),t.map(e=>(0,j.jsx)(Qz,{member:e,onChange:t=>c(e.id,t)},e.id))]})]})}function eB({onInvite:e}){let[t,n]=(0,O.useState)(``),[r,i]=(0,O.useState)(``),[a,o]=(0,O.useState)(`qa`),[s,c]=(0,O.useState)(``),[l,u]=(0,O.useState)(!1),d=async o=>{o.preventDefault(),u(!0);try{await e({email:t.trim(),name:r.trim(),role:a,agents:s.split(/[\s,]+/).filter(e=>e!==``)}),n(``),i(``),c(``)}finally{u(!1)}};return(0,j.jsxs)(`form`,{className:`team-invite`,onSubmit:e=>void d(e),children:[(0,j.jsx)(`p`,{className:`team-panel-label fixed`,children:`INVITE ONE`}),(0,j.jsxs)(`div`,{className:`team-invite-fields`,children:[(0,j.jsx)(`input`,{className:`team-input fixed`,placeholder:`email`,type:`email`,value:t,onChange:e=>n(e.target.value),required:!0,"aria-label":`email`}),(0,j.jsx)(`input`,{className:`team-input`,placeholder:`name`,value:r,onChange:e=>i(e.target.value),required:!0,"aria-label":`name`}),(0,j.jsx)(`select`,{className:`team-input fixed`,value:a,onChange:e=>o(e.target.value),"aria-label":`role`,children:Kz.map(e=>(0,j.jsx)(`option`,{value:e,children:e},e))}),(0,j.jsx)(`input`,{className:`team-input fixed`,placeholder:`agents · empty is every one`,value:s,onChange:e=>c(e.target.value),"aria-label":`agents`}),(0,j.jsx)(`button`,{className:`team-button`,type:`submit`,disabled:l,children:l?`inviting…`:`Invite`})]}),(0,j.jsx)(`p`,{className:`team-note fixed`,children:`a role is a preset of what their keys open · qa reads · supervisor sits beside a live call · manager runs the org · admin everything · developer writes the agent`})]})}function tB(e){return e instanceof ea?e.message:String(e)}function nB(e){return`${window.location.origin}/invitations/${encodeURIComponent(e)}`}var rB=B({cursor:I(),org:F(),agent:F(),call:F(),type:F(),at:I(),minutes:I(),messages:I(),input_tokens:I(),output_tokens:I(),characters:I(),judge_calls:I(),cost_eur:I()}),iB=B({minutes:I(),messages:I(),input_tokens:I(),output_tokens:I(),characters:I(),judge_calls:I(),cost_eur:I(),calls:I()}),aB=B({rows:z(rB),totals:iB.nullable(),next:I().nullable()});async function oB(e,t=0){return aB.parse(await ia(e,`/v1/usage`,{after:t}))}function sB(){let e=_a(),[t,n]=(0,O.useState)(null),[r,i]=(0,O.useState)(null);return(0,O.useEffect)(()=>{let t=!1;return oB(e).then(e=>{t||n(e)},e=>{t||i(e instanceof ea?e.message:String(e))}),()=>{t=!0}},[e]),(0,j.jsxs)(`div`,{className:`usage`,children:[(0,j.jsx)(`h1`,{className:`usage-title`,children:`Usage`}),(0,j.jsx)(`p`,{className:`usage-lede`,children:`What this org consumed, as the log says it: every call summary and score, folded.`}),r!==null&&(0,j.jsx)(`p`,{className:`usage-note usage-refused fixed`,children:r}),t!==null&&t.totals===null&&(0,j.jsx)(`p`,{className:`usage-note fixed`,children:`Nothing metered yet: the first call to end writes the first row.`}),t!==null&&t.totals!==null&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`div`,{className:`usage-totals`,children:[[`calls`,String(t.totals.calls)],[`minutes`,t.totals.minutes.toFixed(1)],[`messages`,String(t.totals.messages)],[`input tokens`,String(t.totals.input_tokens)],[`output tokens`,String(t.totals.output_tokens)],[`characters`,String(t.totals.characters)],[`judge calls`,String(t.totals.judge_calls)],[`cost`,SI(t.totals.cost_eur)]].map(([e,t])=>(0,j.jsxs)(`span`,{className:`usage-total`,children:[(0,j.jsx)(`span`,{className:`fixed usage-total-name`,children:e}),(0,j.jsx)(`span`,{className:`usage-total-value`,children:t})]},e))}),(0,j.jsxs)(`div`,{className:`usage-panel`,children:[(0,j.jsxs)(`div`,{className:`usage-row usage-row-head fixed`,children:[(0,j.jsx)(`span`,{children:`AT`}),(0,j.jsx)(`span`,{children:`AGENT`}),(0,j.jsx)(`span`,{children:`CALL`}),(0,j.jsx)(`span`,{children:`TYPE`}),(0,j.jsx)(`span`,{className:`usage-num`,children:`MIN`}),(0,j.jsx)(`span`,{className:`usage-num`,children:`IN`}),(0,j.jsx)(`span`,{className:`usage-num`,children:`OUT`}),(0,j.jsx)(`span`,{className:`usage-num`,children:`JUDGE`}),(0,j.jsx)(`span`,{className:`usage-num`,children:`COST`})]}),t.rows.map(e=>(0,j.jsxs)(`div`,{className:`usage-row fixed`,children:[(0,j.jsx)(`span`,{className:`usage-dim`,children:tF(e.at)}),(0,j.jsx)(`span`,{children:e.agent}),(0,j.jsx)(Vi,{to:`/a/${e.agent}/sessions/${e.call}`,className:`usage-link`,children:e.call}),(0,j.jsx)(`span`,{className:`usage-dim`,children:e.type}),(0,j.jsx)(`span`,{className:`usage-num`,children:e.minutes.toFixed(1)}),(0,j.jsx)(`span`,{className:`usage-num`,children:e.input_tokens}),(0,j.jsx)(`span`,{className:`usage-num`,children:e.output_tokens}),(0,j.jsx)(`span`,{className:`usage-num`,children:e.judge_calls}),(0,j.jsx)(`span`,{className:`usage-num`,children:SI(e.cost_eur)})]},`${e.cursor}`))]}),(0,j.jsxs)(`p`,{className:`usage-note fixed`,children:[t.rows.length,` row`,t.rows.length===1?``:`s`,` read`,t.next===null?``:` · cursor ${t.next}`,` · the provider's bill as the log knows it, never a price of ours`]})]})]})}var cB=new Set([`talk`,`chat`,`calls`,`sessions`,`pipeline`,`knowledge`,`memory`,`evals`]);function lB({agent:e}){let t=hm(C_().agents,_m(om())),n=gr(),r=mr().pathname.split(`/`).filter(Boolean),i=e===``?`talk`:r[2]??`talk`,a=cB.has(i)?i:`talk`;return t.length===0&&e===``?null:(0,j.jsxs)(`label`,{className:`agent-select fixed`,children:[(0,j.jsx)(`span`,{className:`agent-select-label`,children:`agent`}),(0,j.jsxs)(`select`,{className:`agent-select-control fixed`,value:t.some(t=>t.slug===e)?e:``,onChange:e=>{e.target.value!==``&&n(`/a/${e.target.value}/${a}`)},"aria-label":`which agent`,children:[(0,j.jsx)(`option`,{value:``,children:e===``?`—`:e}),t.map(e=>(0,j.jsx)(`option`,{value:e.slug,children:e.slug},e.slug))]})]})}function uB(){let e=qp();return(0,j.jsx)(`button`,{type:`button`,className:`head-leave`,onClick:e,title:`sign out of this console`,children:`sign out`})}function dB(){let e=om();if(e===null)return null;let t=e.name??e.label;return(0,j.jsxs)(`span`,{className:`head-whose fixed`,children:[sm(e),(0,j.jsx)(`span`,{className:`head-sep`,children:` · `}),e.key_id,t!=null&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`span`,{className:`head-sep`,children:` · `}),t]})]})}var fB=[`production`,`sandbox`];function pB(){let{world:e,turnTo:t}=dm(),[n,r]=(0,O.useState)(!1),[i,a]=(0,O.useState)(null),o=async i=>{if(!(i===e||n)){r(!0),a(null);try{await t(i)}catch(e){a(e instanceof ea?e.message:String(e))}finally{r(!1)}}};return(0,j.jsxs)(`span`,{className:`world`,children:[(0,j.jsx)(`span`,{className:`world-switch fixed`,role:`group`,"aria-label":`which world`,children:fB.map(t=>(0,j.jsx)(`button`,{type:`button`,className:t===e?`world-option world-option-here`:`world-option`,onClick:()=>void o(t),disabled:n,"aria-pressed":t===e,children:t},t))}),i!==null&&(0,j.jsx)(`span`,{className:`world-refused fixed`,children:i})]})}function mB({agent:e}){let t=mr().pathname.split(`/`).filter(Boolean),n=e===``?[`fleet`,...t]:[`fleet`,e,...t.slice(2)];return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(O_,{kind:`console`}),(0,j.jsx)(k_,{crumbs:n}),(0,j.jsxs)(`div`,{className:`head-right`,children:[(0,j.jsx)(lB,{agent:e}),(0,j.jsx)(pB,{}),(0,j.jsx)(dB,{}),(0,j.jsx)(uB,{}),(0,j.jsx)(A_,{})]})]})}var hB={talk:`talk`,chat:`talk`,calls:`calls`,sessions:`calls`,pipeline:`pipeline`,knowledge:`knowledge`,memory:`memory`,evals:`evals`,agents:`calls`,live:`calls`,numbers:`numbers`,keys:`keys`,providers:`providers`,team:`team`,usage:`usage`};function gB(e,t){let n=hB[t];return n===void 0||e.includes(n)}var _B=[{path:`talk`,name:`Talk`},{path:`chat`,name:`Chat`},{path:`calls`,name:`Calls`},{path:`sessions`,name:`Sessions`},{path:`pipeline`,name:`Pipeline`},{path:`knowledge`,name:`Knowledge`},{path:`memory`,name:`Memory`},{path:`evals`,name:`Evals`}],vB=[{path:``,key:`agents`,name:`Agents`},{path:`live`,key:`live`,name:`Live`},{path:`sessions`,key:`sessions`,name:`Sessions`},{path:`numbers`,key:`numbers`,name:`Numbers`},{path:`keys`,key:`keys`,name:`Keys`},{path:`providers`,key:`providers`,name:`Providers`},{path:`team`,key:`team`,name:`Team`},{path:`usage`,key:`usage`,name:`Usage`}];function yB({agent:e}){let t=cm(),n=hm(C_().agents,_m(om())).length,r=e=>t===null||gB(t,e),i=e=>e===`agents`&&n>0?String(n):``;return(0,j.jsxs)(j.Fragment,{children:[e!==``&&(0,j.jsx)(j_,{label:e,children:_B.filter(e=>r(e.path)).map(t=>(0,j.jsx)(M_,{to:`/a/${e}/${t.path}`,name:t.name},t.path))}),(0,j.jsx)(j_,{label:`Gateway`,children:vB.filter(e=>r(e.key)).map(e=>(0,j.jsx)(M_,{to:`/${e.path}`,end:e.path===``,name:e.name,hint:i(e.key)},e.key))}),(0,j.jsxs)(`div`,{className:`rail-foot fixed`,children:[`web · whatsapp · phone`,(0,j.jsx)(`br`,{}),(0,j.jsx)(`span`,{className:`rail-foot-line`,children:`one agent, three doors`})]})]})}var bB=`no agent called {agent} is held here`;function xB(){let e=br().agent??``,{agents:t,loaded:n}=C_(),r=e!==``&&n&&!t.some(t=>t.slug===e);return(0,j.jsx)(D_,{head:(0,j.jsx)(mB,{agent:e}),rail:(0,j.jsx)(yB,{agent:r?``:e}),children:r?(0,j.jsx)(SB,{agent:e}):(0,j.jsx)(Yr,{})})}function SB({agent:e}){return(0,j.jsxs)(N_,{children:[bB.replace(`{agent}`,e)," — this org, in this world. Check the org you signed in with and the production/sandbox toggle above, or run `pinecall run` in the app's directory."]})}var CB=Ri([{path:`/`,element:(0,j.jsx)(xB,{}),children:[{index:!0,element:(0,j.jsx)(F_,{})},{path:`live`,element:(0,j.jsx)(mI,{})},{path:`sessions`,element:(0,j.jsx)(wI,{})},{path:`numbers`,element:(0,j.jsx)(AL,{})},{path:`keys`,element:(0,j.jsx)(PI,{})},{path:`providers`,element:(0,j.jsx)(qI,{})},{path:`team`,element:(0,j.jsx)($z,{})},{path:`usage`,element:(0,j.jsx)(sB,{})},{path:`cli`,element:(0,j.jsx)(Uz,{})}]},{path:`/a/:agent`,element:(0,j.jsx)(xB,{}),children:[{index:!0,element:(0,j.jsx)(Jr,{to:`talk`,replace:!0})},{path:`talk`,element:(0,j.jsx)(jz,{})},{path:`chat`,element:(0,j.jsx)($P,{})},{path:`chat/:call`,element:(0,j.jsx)($P,{})},{path:`calls`,element:(0,j.jsx)(WP,{})},{path:`calls/:call`,element:(0,j.jsx)(WP,{})},{path:`sessions`,element:(0,j.jsx)(_I,{})},{path:`sessions/:call`,element:(0,j.jsx)(oz,{})},{path:`pipeline`,element:(0,j.jsx)(hR,{})},{path:`knowledge`,element:(0,j.jsx)(nL,{})},{path:`memory`,element:(0,j.jsx)(dL,{})},{path:`evals`,element:(0,j.jsx)(dI,{})}]},{path:`*`,element:(0,j.jsx)(F_,{})}],{basename:`/`});function wB({base:e,onSigned:t}){let[n,r]=(0,O.useState)(``),[i,a]=(0,O.useState)(``),[o,s]=(0,O.useState)(``),[c,l]=(0,O.useState)(!1),[u,d]=(0,O.useState)(null),f=async r=>{r.preventDefault(),l(!0),d(null);try{t(await Bp(e,{org:n.trim(),email:i.trim(),password:o}))}catch(e){d(e instanceof ea?e.message:String(e))}finally{l(!1)}};return(0,j.jsx)(`div`,{className:`way`,children:(0,j.jsxs)(`form`,{className:`way-card`,onSubmit:e=>void f(e),children:[(0,j.jsxs)(`div`,{className:`way-mark`,children:[(0,j.jsx)(`b`,{children:`pinecall`}),` `,(0,j.jsx)(`span`,{children:`/`}),` console`]}),(0,j.jsx)(`h1`,{className:`way-title`,children:`Sign in`}),(0,j.jsx)(`p`,{className:`way-lede`,children:`Your org, and the email and password you were invited with.`}),(0,j.jsxs)(`div`,{className:`way-fields`,children:[(0,j.jsxs)(`label`,{className:`way-field`,children:[(0,j.jsx)(`span`,{className:`way-label`,children:`org`}),(0,j.jsx)(`input`,{className:`way-input`,value:n,onChange:e=>r(e.target.value),autoComplete:`organization`,autoFocus:!0,required:!0})]}),(0,j.jsxs)(`label`,{className:`way-field`,children:[(0,j.jsx)(`span`,{className:`way-label`,children:`email`}),(0,j.jsx)(`input`,{className:`way-input`,type:`email`,value:i,onChange:e=>a(e.target.value),autoComplete:`username`,required:!0})]}),(0,j.jsxs)(`label`,{className:`way-field`,children:[(0,j.jsx)(`span`,{className:`way-label`,children:`password`}),(0,j.jsx)(`input`,{className:`way-input`,type:`password`,value:o,onChange:e=>s(e.target.value),autoComplete:`current-password`,required:!0})]})]}),(0,j.jsx)(`button`,{className:`way-go`,type:`submit`,disabled:c,children:c?`signing in…`:`sign in`}),u!==null&&(0,j.jsx)(`p`,{className:`way-refused`,children:u}),(0,j.jsxs)(`div`,{className:`way-else`,children:[(0,j.jsx)(`p`,{children:`Invited and no password yet? Open the link in your invitation — it is where you choose one.`}),(0,j.jsxs)(`p`,{children:[`Running the agent in a terminal? `,(0,j.jsx)(`code`,{children:`pinecall run`}),` prints a URL that signs you in.`]})]})]})})}var TB=B({version:F(),cloud:R(),signup:R(),min_password:I()});async function EB(e){try{let t=await fetch(new URL(`${e.replace(/\/$/,``)}/.well-known/pinecall`,window.location.origin));return TB.parse(await da(t))}catch{return{version:``,cloud:!1,signup:!1,min_password:0}}}function DB({base:e,token:t,onSigned:n}){let[r,i]=(0,O.useState)(``),[a,o]=(0,O.useState)(``),[s,c]=(0,O.useState)(null),[l,u]=(0,O.useState)(!1),[d,f]=(0,O.useState)(null);(0,O.useEffect)(()=>{let t=!1;return EB(e).then(e=>{t||c(e.min_password)}),()=>{t=!0}},[e]);let p=async i=>{if(i.preventDefault(),r!==a){f(`the two passwords differ`);return}u(!0),f(null);try{n(await Hp(e,t,r))}catch(e){f(e instanceof ea?e.message:String(e))}finally{u(!1)}};return(0,j.jsx)(`div`,{className:`way`,children:(0,j.jsxs)(`form`,{className:`way-card`,onSubmit:e=>void p(e),children:[(0,j.jsxs)(`div`,{className:`way-mark`,children:[(0,j.jsx)(`b`,{children:`pinecall`}),` `,(0,j.jsx)(`span`,{children:`/`}),` console`]}),(0,j.jsx)(`h1`,{className:`way-title`,children:`Choose your password`}),(0,j.jsx)(`p`,{className:`way-lede`,children:`You were invited. This link opens once and dies in a week; the password you pick here is the one you will sign in with from now on.`}),(0,j.jsxs)(`div`,{className:`way-fields`,children:[(0,j.jsxs)(`label`,{className:`way-field`,children:[(0,j.jsxs)(`span`,{className:`way-label`,children:[`password`,s!==null&&s>0&&(0,j.jsxs)(`span`,{children:[s,` characters at least`]})]}),(0,j.jsx)(`input`,{className:`way-input`,type:`password`,value:r,minLength:s??void 0,onChange:e=>i(e.target.value),autoComplete:`new-password`,autoFocus:!0,required:!0})]}),(0,j.jsxs)(`label`,{className:`way-field`,children:[(0,j.jsx)(`span`,{className:`way-label`,children:`again`}),(0,j.jsx)(`input`,{className:`way-input`,type:`password`,value:a,onChange:e=>o(e.target.value),autoComplete:`new-password`,required:!0})]})]}),(0,j.jsx)(`button`,{className:`way-go`,type:`submit`,disabled:l,children:l?`joining…`:`join`}),d!==null&&(0,j.jsx)(`p`,{className:`way-refused`,children:d})]})})}w_();var OB=document.getElementById(`root`);if(OB===null)throw Error(`index.html has no #root for the console to mount in`);var kB=`login`,AB=/^\/invitations\/([^/]+)\/?$/;function jB(){let e=AB.exec(window.location.pathname);return e===null?null:decodeURIComponent(e[1]??``)}async function MB(){let e=new URL(window.location.href),t=e.searchParams.get(kB);if(t!==null){e.searchParams.delete(kB),window.history.replaceState(null,``,e.toString());try{let e=await zp(`/`,t);return Qp(e.env,e.key),nm(e.env),{world:e.env,key:e.key}}catch{}}let n=tm();return{world:n,key:Zp(n)}}function NB({startingWith:e}){let[t,n]=(0,O.useState)(e.world),[r,i]=(0,O.useState)(e.key);ra(()=>{$p(t),i(null)});let a=(0,O.useCallback)(async e=>{if(Zp(e)===null){if(r===null)return;Qp(e,(await Vp({base:`/`,key:r},e)).key)}nm(e),n(e),i(Zp(e))},[r]),o=(0,O.useMemo)(()=>({world:t,turnTo:a}),[t,a]),s=(0,O.useCallback)(()=>{em(),i(null)},[]),c=e=>{Qp(e.env,e.key),nm(e.env),n(e.env),i(e.key)};if(r===null){let e=jB();return e===null?(0,j.jsx)(wB,{base:`/`,onSigned:c}):(0,j.jsx)(DB,{base:`/`,token:e,onSigned:e=>{window.history.replaceState(null,``,`/`),c(e)}})}return(0,j.jsx)(ga,{value:{base:`/`,key:r},children:(0,j.jsx)(am,{children:(0,j.jsx)(um,{value:o,children:(0,j.jsx)(Kp,{value:s,children:(0,j.jsx)(Wr,{router:CB})})})})})}MB().then(e=>{(0,$i.createRoot)(OB).render((0,j.jsx)(O.StrictMode,{children:(0,j.jsx)(NB,{startingWith:e})}))});