loukai-app 0.3.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 (290) hide show
  1. package/README.md +558 -0
  2. package/bin/loukai.js +32 -0
  3. package/package.json +243 -0
  4. package/src/main/appState.js +250 -0
  5. package/src/main/audioEngine.js +478 -0
  6. package/src/main/creator/conversionService.js +503 -0
  7. package/src/main/creator/downloadManager.js +1128 -0
  8. package/src/main/creator/ffmpegService.js +487 -0
  9. package/src/main/creator/installLogger.js +51 -0
  10. package/src/main/creator/keyDetection.js +212 -0
  11. package/src/main/creator/llmService.js +370 -0
  12. package/src/main/creator/lrclibService.js +340 -0
  13. package/src/main/creator/python/crepe_runner.py +189 -0
  14. package/src/main/creator/python/demucs_runner.py +158 -0
  15. package/src/main/creator/python/whisper_runner.py +172 -0
  16. package/src/main/creator/pythonRunner.js +268 -0
  17. package/src/main/creator/stemBuilder.js +491 -0
  18. package/src/main/creator/systemChecker.js +474 -0
  19. package/src/main/handlers/appHandlers.js +45 -0
  20. package/src/main/handlers/audioHandlers.js +33 -0
  21. package/src/main/handlers/autotuneHandlers.js +28 -0
  22. package/src/main/handlers/canvasHandlers.js +84 -0
  23. package/src/main/handlers/creatorHandlers.js +159 -0
  24. package/src/main/handlers/editorHandlers.js +98 -0
  25. package/src/main/handlers/effectsHandlers.js +100 -0
  26. package/src/main/handlers/fileHandlers.js +45 -0
  27. package/src/main/handlers/index.js +78 -0
  28. package/src/main/handlers/libraryHandlers.js +96 -0
  29. package/src/main/handlers/mixerHandlers.js +64 -0
  30. package/src/main/handlers/playerHandlers.js +39 -0
  31. package/src/main/handlers/preferencesHandlers.js +46 -0
  32. package/src/main/handlers/queueHandlers.js +81 -0
  33. package/src/main/handlers/rendererHandlers.js +63 -0
  34. package/src/main/handlers/settingsHandlers.js +42 -0
  35. package/src/main/handlers/webServerHandlers.js +105 -0
  36. package/src/main/main.js +2351 -0
  37. package/src/main/preload.js +252 -0
  38. package/src/main/settingsManager.js +139 -0
  39. package/src/main/statePersistence.js +193 -0
  40. package/src/main/utils/pathValidator.js +112 -0
  41. package/src/main/webServer.js +2535 -0
  42. package/src/native/autotune.js +417 -0
  43. package/src/renderer/adapters/ElectronBridge.js +677 -0
  44. package/src/renderer/canvas.html +80 -0
  45. package/src/renderer/components/App.jsx +303 -0
  46. package/src/renderer/components/AppRoot.jsx +37 -0
  47. package/src/renderer/components/AudioDeviceSettings.jsx +145 -0
  48. package/src/renderer/components/EffectsPanelWrapper.jsx +267 -0
  49. package/src/renderer/components/MixerTab.jsx +233 -0
  50. package/src/renderer/components/MixerTabWrapper.jsx +31 -0
  51. package/src/renderer/components/PortalSelect.jsx +239 -0
  52. package/src/renderer/components/QueueTab.jsx +116 -0
  53. package/src/renderer/components/RequestsListWrapper.jsx +78 -0
  54. package/src/renderer/components/ServerTab.jsx +472 -0
  55. package/src/renderer/components/SongInfoBarWrapper.jsx +77 -0
  56. package/src/renderer/components/StatusBar.jsx +92 -0
  57. package/src/renderer/components/TabNavigation.jsx +77 -0
  58. package/src/renderer/components/TransportControlsWrapper.jsx +69 -0
  59. package/src/renderer/components/creator/CreateTab.jsx +1236 -0
  60. package/src/renderer/dist/assets/kaiPlayer-CoMx__a_.js +2 -0
  61. package/src/renderer/dist/assets/kaiPlayer-CoMx__a_.js.map +1 -0
  62. package/src/renderer/dist/assets/microphoneEngine-BaCUhhQc.js +2 -0
  63. package/src/renderer/dist/assets/microphoneEngine-BaCUhhQc.js.map +1 -0
  64. package/src/renderer/dist/assets/player-DVrqp7N5.js +3 -0
  65. package/src/renderer/dist/assets/player-DVrqp7N5.js.map +1 -0
  66. package/src/renderer/dist/assets/songLoaders-BaTgGib4.js +2 -0
  67. package/src/renderer/dist/assets/songLoaders-BaTgGib4.js.map +1 -0
  68. package/src/renderer/dist/assets/webrtcManager-BhCHWceK.js +2 -0
  69. package/src/renderer/dist/assets/webrtcManager-BhCHWceK.js.map +1 -0
  70. package/src/renderer/dist/js/autoTuneWorklet.js +224 -0
  71. package/src/renderer/dist/js/micPitchDetectorWorklet.js +137 -0
  72. package/src/renderer/dist/js/musicAnalysisWorklet.js +216 -0
  73. package/src/renderer/dist/js/phaseVocoderWorklet.js +341 -0
  74. package/src/renderer/dist/js/soundtouch-worklet.js +1395 -0
  75. package/src/renderer/dist/renderer.css +1 -0
  76. package/src/renderer/dist/renderer.js +62 -0
  77. package/src/renderer/dist/renderer.js.map +1 -0
  78. package/src/renderer/dist/renderer.woff2 +0 -0
  79. package/src/renderer/hooks/useKeyboardShortcuts.js +154 -0
  80. package/src/renderer/index.html +24 -0
  81. package/src/renderer/index.html.backup +372 -0
  82. package/src/renderer/js/PlayerInterface.js +267 -0
  83. package/src/renderer/js/autoTuneWorklet.js +224 -0
  84. package/src/renderer/js/butterchurnVerify.js +46 -0
  85. package/src/renderer/js/canvas-app.js +114 -0
  86. package/src/renderer/js/cdgPlayer.js +685 -0
  87. package/src/renderer/js/kaiPlayer.js +1200 -0
  88. package/src/renderer/js/karaokeRenderer.js +3392 -0
  89. package/src/renderer/js/micPitchDetectorWorklet.js +137 -0
  90. package/src/renderer/js/microphoneEngine.js +656 -0
  91. package/src/renderer/js/musicAnalysisWorklet.js +216 -0
  92. package/src/renderer/js/phaseVocoderWorklet.js +341 -0
  93. package/src/renderer/js/player.js +232 -0
  94. package/src/renderer/js/referencePitchTracker.js +130 -0
  95. package/src/renderer/js/songLoaders.js +334 -0
  96. package/src/renderer/js/soundtouch-worklet.js +1395 -0
  97. package/src/renderer/js/webrtcManager.js +511 -0
  98. package/src/renderer/lib/butterchurn.min.js +6739 -0
  99. package/src/renderer/lib/butterchurnPresets.min.js +1 -0
  100. package/src/renderer/lib/cdgraphics-wrapper.js +16 -0
  101. package/src/renderer/lib/cdgraphics.js +299 -0
  102. package/src/renderer/public/js/autoTuneWorklet.js +224 -0
  103. package/src/renderer/public/js/micPitchDetectorWorklet.js +137 -0
  104. package/src/renderer/public/js/musicAnalysisWorklet.js +216 -0
  105. package/src/renderer/public/js/phaseVocoderWorklet.js +341 -0
  106. package/src/renderer/public/js/soundtouch-worklet.js +1395 -0
  107. package/src/renderer/react-entry.jsx +44 -0
  108. package/src/renderer/styles/tailwind.css +106 -0
  109. package/src/renderer/utils/qrCodeGenerator.js +98 -0
  110. package/src/renderer/vite.config.js +31 -0
  111. package/src/shared/adapters/BridgeInterface.js +195 -0
  112. package/src/shared/components/EffectsPanel.jsx +177 -0
  113. package/src/shared/components/LibraryPanel.jsx +701 -0
  114. package/src/shared/components/LineDetailCanvas.jsx +167 -0
  115. package/src/shared/components/LyricLine.jsx +505 -0
  116. package/src/shared/components/LyricRejection.jsx +84 -0
  117. package/src/shared/components/LyricSuggestion.jsx +80 -0
  118. package/src/shared/components/LyricsEditorCanvas.jsx +271 -0
  119. package/src/shared/components/MixerPanel.jsx +94 -0
  120. package/src/shared/components/PlayerControls.jsx +206 -0
  121. package/src/shared/components/PortalSelect.jsx +239 -0
  122. package/src/shared/components/QueueList.jsx +365 -0
  123. package/src/shared/components/QuickSearch.jsx +126 -0
  124. package/src/shared/components/RequestsList.jsx +121 -0
  125. package/src/shared/components/SongEditor.jsx +1362 -0
  126. package/src/shared/components/SongInfoBar.jsx +81 -0
  127. package/src/shared/components/ThemeToggle.jsx +106 -0
  128. package/src/shared/components/Toast.jsx +30 -0
  129. package/src/shared/components/VisualizationSettings.jsx +243 -0
  130. package/src/shared/constants.js +95 -0
  131. package/src/shared/context/BridgeContext.jsx +32 -0
  132. package/src/shared/contexts/AudioContext.jsx +37 -0
  133. package/src/shared/contexts/PlayerContext.jsx +66 -0
  134. package/src/shared/contexts/SettingsContext.jsx +50 -0
  135. package/src/shared/defaults.js +158 -0
  136. package/src/shared/formatUtils.js +59 -0
  137. package/src/shared/formatUtils.test.js +207 -0
  138. package/src/shared/hooks/useAppState.js +97 -0
  139. package/src/shared/hooks/useAudioEngine.js +264 -0
  140. package/src/shared/hooks/usePlayer.js +89 -0
  141. package/src/shared/hooks/useSettingsPersistence.js +74 -0
  142. package/src/shared/hooks/useWebRTC.js +118 -0
  143. package/src/shared/ipcContracts.js +299 -0
  144. package/src/shared/package.json +3 -0
  145. package/src/shared/services/creatorService.js +373 -0
  146. package/src/shared/services/creatorService.test.js +413 -0
  147. package/src/shared/services/editorService.js +213 -0
  148. package/src/shared/services/editorService.test.js +219 -0
  149. package/src/shared/services/effectsService.js +271 -0
  150. package/src/shared/services/effectsService.test.js +418 -0
  151. package/src/shared/services/libraryService.js +438 -0
  152. package/src/shared/services/libraryService.test.js +474 -0
  153. package/src/shared/services/mixerService.js +172 -0
  154. package/src/shared/services/mixerService.test.js +399 -0
  155. package/src/shared/services/playerService.js +221 -0
  156. package/src/shared/services/playerService.test.js +357 -0
  157. package/src/shared/services/preferencesService.js +219 -0
  158. package/src/shared/services/queueService.js +226 -0
  159. package/src/shared/services/queueService.test.js +430 -0
  160. package/src/shared/services/requestsService.js +155 -0
  161. package/src/shared/services/requestsService.test.js +362 -0
  162. package/src/shared/services/serverSettingsService.js +151 -0
  163. package/src/shared/services/settingsService.js +257 -0
  164. package/src/shared/services/settingsService.test.js +295 -0
  165. package/src/shared/state/StateManager.js +263 -0
  166. package/src/shared/utils/audio.js +42 -0
  167. package/src/shared/utils/format.js +32 -0
  168. package/src/shared/utils/lyricsUtils.js +162 -0
  169. package/src/test/setup.js +40 -0
  170. package/src/utils/cdgLoader.js +180 -0
  171. package/src/utils/m4aLoader.js +333 -0
  172. package/src/web/App.jsx +578 -0
  173. package/src/web/adapters/WebBridge.js +428 -0
  174. package/src/web/components/PlayerSettingsPanel.jsx +231 -0
  175. package/src/web/components/SongSearch.jsx +180 -0
  176. package/src/web/dist/assets/index-0H-RnRrV.js +51 -0
  177. package/src/web/dist/assets/index-0H-RnRrV.js.map +1 -0
  178. package/src/web/dist/assets/index-DYW2zB0u.css +1 -0
  179. package/src/web/dist/index.html +15 -0
  180. package/src/web/index.html +14 -0
  181. package/src/web/main.jsx +10 -0
  182. package/src/web/package-lock.json +1765 -0
  183. package/src/web/pages/SongRequestPage.jsx +619 -0
  184. package/src/web/styles/tailwind.css +68 -0
  185. package/src/web/vite.config.js +27 -0
  186. package/static/fonts/material-icons.woff2 +0 -0
  187. package/static/images/butterchurn-screenshots/Aderrasi - Potion of Spirits.png +0 -0
  188. package/static/images/butterchurn-screenshots/Aderrasi - Songflower _Moss Posy_.png +0 -0
  189. package/static/images/butterchurn-screenshots/Aderrasi - Storm of the Eye _Thunder_ - mash0000 - quasi pseudo meta concentrics.png +0 -0
  190. package/static/images/butterchurn-screenshots/Aderrasi _ Geiss - Airhandler _Kali Mix_ - Canvas Mix.png +0 -0
  191. package/static/images/butterchurn-screenshots/An AdamFX n Martin Infusion 2 flexi - Why The Sky Looks Diffrent Today - AdamFx n Martin Infusion - Tack Tile Disfunction B.png +0 -0
  192. package/static/images/butterchurn-screenshots/Cope - The Neverending Explosion of Red Liquid Fire.png +0 -0
  193. proton lights __Krash_s beat code_ _Phat_remix02b.png +0 -0
  194. package/static/images/butterchurn-screenshots/Eo_S_ _ Phat - cubetrace - v2.png +0 -0
  195. package/static/images/butterchurn-screenshots/Eo_S_ _ Zylot - skylight _Stained Glass Majesty mix_.png +0 -0
  196. package/static/images/butterchurn-screenshots/Flexi - alien fish pond.png +0 -0
  197. package/static/images/butterchurn-screenshots/Flexi - area 51.png +0 -0
  198. package/static/images/butterchurn-screenshots/Flexi - infused with the spiral.png +0 -0
  199. package/static/images/butterchurn-screenshots/Flexi - mindblob _shiny mix_.png +0 -0
  200. package/static/images/butterchurn-screenshots/Flexi - mindblob mix.png +0 -0
  201. package/static/images/butterchurn-screenshots/Flexi - predator-prey-spirals.png +0 -0
  202. package/static/images/butterchurn-screenshots/Flexi - smashing fractals _acid etching mix_.png +0 -0
  203. package/static/images/butterchurn-screenshots/Flexi - truly soft piece of software - this is generic texturing _Jelly_ .png +0 -0
  204. package/static/images/butterchurn-screenshots/Flexi _ Martin - astral projection.png +0 -0
  205. package/static/images/butterchurn-screenshots/Flexi _ Martin - cascading decay swing.png +0 -0
  206. package/static/images/butterchurn-screenshots/Flexi _ amandio c - piercing 05 - Kopie _2_ - Kopie.png +0 -0
  207. package/static/images/butterchurn-screenshots/Flexi _ stahlregen - jelly showoff parade.png +0 -0
  208. package/static/images/butterchurn-screenshots/Flexi_ fishbrain_ Geiss _ Martin - tokamak witchery.png +0 -0
  209. package/static/images/butterchurn-screenshots/Flexi_ martin _ geiss - dedicated to the sherwin maxawow.png +0 -0
  210. package/static/images/butterchurn-screenshots/Fumbling_Foo _ Flexi_ Martin_ Orb_ Unchained - Star Nova v7b.png +0 -0
  211. package/static/images/butterchurn-screenshots/Geiss - Cauldron - painterly 2 _saturation remix_.png +0 -0
  212. package/static/images/butterchurn-screenshots/Geiss - Reaction Diffusion 2.png +0 -0
  213. package/static/images/butterchurn-screenshots/Geiss - Spiral Artifact.png +0 -0
  214. package/static/images/butterchurn-screenshots/Geiss - Thumb Drum.png +0 -0
  215. package/static/images/butterchurn-screenshots/Geiss _ Flexi _ Martin - disconnected.png +0 -0
  216. package/static/images/butterchurn-screenshots/Geiss_ Flexi _ Stahlregen - Thumbdrum Tokamak _crossfiring aftermath jelly mashup_.png +0 -0
  217. package/static/images/butterchurn-screenshots/Goody - The Wild Vort.png +0 -0
  218. package/static/images/butterchurn-screenshots/Idiot - Star Of Annon.png +0 -0
  219. package/static/images/butterchurn-screenshots/Krash _ Illusion - Spiral Movement.png +0 -0
  220. package/static/images/butterchurn-screenshots/Martin - QBikal - Surface Turbulence IIb.png +0 -0
  221. package/static/images/butterchurn-screenshots/Martin - acid wiring.png +0 -0
  222. package/static/images/butterchurn-screenshots/Martin - charisma.png +0 -0
  223. package/static/images/butterchurn-screenshots/Martin - liquid arrows.png +0 -0
  224. package/static/images/butterchurn-screenshots/Milk Artist At our Best - FED - SlowFast Ft AdamFX n Martin - HD CosmoFX.png +0 -0
  225. package/static/images/butterchurn-screenshots/ORB - Waaa.png +0 -0
  226. package/static/images/butterchurn-screenshots/Phat_fiShbRaiN_Eo_S_Mandala_Chasers_remix.png +0 -0
  227. package/static/images/butterchurn-screenshots/Rovastar - Oozing Resistance.png +0 -0
  228. package/static/images/butterchurn-screenshots/Rovastar _ Loadus _ Geiss - FractalDrop _Triple Mix_.png +0 -0
  229. package/static/images/butterchurn-screenshots/TonyMilkdrop - Leonardo Da Vinci_s Balloon _Flexi - merry-go-round _ techstyle_.png +0 -0
  230. package/static/images/butterchurn-screenshots/TonyMilkdrop - Magellan_s Nebula _Flexi - you enter first _ multiverse_.png +0 -0
  231. package/static/images/butterchurn-screenshots/Unchained - Rewop.png +0 -0
  232. package/static/images/butterchurn-screenshots/Unchained - Unified Drag 2.png +0 -0
  233. package/static/images/butterchurn-screenshots/Unchained _ Rovastar - Wormhole Pillars _Hall of Shadows mix_.png +0 -0
  234. package/static/images/butterchurn-screenshots/Zylot - Paint Spill _Music Reactive Paint Mix_.png +0 -0
  235. package/static/images/butterchurn-screenshots/Zylot - Star Ornament.png +0 -0
  236. package/static/images/butterchurn-screenshots/Zylot - True Visionary _Final Mix_.png +0 -0
  237. package/static/images/butterchurn-screenshots/_Aderrasi - Wanderer in Curved Space - mash0000 - faclempt kibitzing meshuggana schmaltz _Geiss color mix_.png +0 -0
  238. package/static/images/butterchurn-screenshots/_Geiss - Artifact 01.png +0 -0
  239. package/static/images/butterchurn-screenshots/_Geiss - Desert Rose 2.png +0 -0
  240. package/static/images/butterchurn-screenshots/_Geiss - untitled.png +0 -0
  241. package/static/images/butterchurn-screenshots/_Mig_049.png +0 -0
  242. package/static/images/butterchurn-screenshots/_Mig_085.png +0 -0
  243. package/static/images/butterchurn-screenshots/_Rovastar _ Geiss - Hurricane Nightmare _Posterize Mix_.png +0 -0
  244. package/static/images/butterchurn-screenshots/___ Royal - Mashup _197_.png +0 -0
  245. package/static/images/butterchurn-screenshots/___ Royal - Mashup _220_.png +0 -0
  246. package/static/images/butterchurn-screenshots/___ Royal - Mashup _431_.png +0 -0
  247. package/static/images/butterchurn-screenshots/cope _ martin - mother-of-pearl.png +0 -0
  248. package/static/images/butterchurn-screenshots/fiShbRaiN _ Flexi - witchcraft 2_0.png +0 -0
  249. package/static/images/butterchurn-screenshots/flexi - bouncing balls _double mindblob neon mix_.png +0 -0
  250. package/static/images/butterchurn-screenshots/flexi - mom_ why the sky looks different today.png +0 -0
  251. package/static/images/butterchurn-screenshots/flexi - patternton_ district of media_ capitol of the united abstractions of fractopia.png +0 -0
  252. package/static/images/butterchurn-screenshots/flexi - swing out on the spiral.png +0 -0
  253. package/static/images/butterchurn-screenshots/flexi - what is the matrix.png +0 -0
  254. package/static/images/butterchurn-screenshots/flexi _ amandio c - organic _random mashup_.png +0 -0
  255. package/static/images/butterchurn-screenshots/flexi _ amandio c - organic12-3d-2_milk.png +0 -0
  256. package/static/images/butterchurn-screenshots/flexi _ fishbrain - neon mindblob grafitti.png +0 -0
  257. package/static/images/butterchurn-screenshots/flexi _ geiss - pogo cubes vs_ tokamak vs_ game of life _stahls jelly 4_5 finish_.png +0 -0
  258. package/static/images/butterchurn-screenshots/high-altitude basket unraveling - singh grooves nitrogen argon nz_.png +0 -0
  259. package/static/images/butterchurn-screenshots/martin - The Bridge of Khazad-Dum.png +0 -0
  260. package/static/images/butterchurn-screenshots/martin - angel flight.png +0 -0
  261. package/static/images/butterchurn-screenshots/martin - another kind of groove.png +0 -0
  262. package/static/images/butterchurn-screenshots/martin - bombyx mori.png +0 -0
  263. package/static/images/butterchurn-screenshots/martin - castle in the air.png +0 -0
  264. package/static/images/butterchurn-screenshots/martin - chain breaker.png +0 -0
  265. package/static/images/butterchurn-screenshots/martin - disco mix 4.png +0 -0
  266. package/static/images/butterchurn-screenshots/martin - extreme heat.png +0 -0
  267. package/static/images/butterchurn-screenshots/martin - frosty caves 2.png +0 -0
  268. package/static/images/butterchurn-screenshots/martin - fruit machine.png +0 -0
  269. package/static/images/butterchurn-screenshots/martin - ghost city.png +0 -0
  270. package/static/images/butterchurn-screenshots/martin - glass corridor.png +0 -0
  271. package/static/images/butterchurn-screenshots/martin - infinity _2010 update_.png +0 -0
  272. package/static/images/butterchurn-screenshots/martin - mandelbox explorer - high speed demo version.png +0 -0
  273. package/static/images/butterchurn-screenshots/martin - mucus cervix.png +0 -0
  274. package/static/images/butterchurn-screenshots/martin - reflections on black tiles.png +0 -0
  275. package/static/images/butterchurn-screenshots/martin - stormy sea _2010 update_.png +0 -0
  276. package/static/images/butterchurn-screenshots/martin - witchcraft reloaded.png +0 -0
  277. package/static/images/butterchurn-screenshots/martin _ flexi - diamond cutter _prismaticvortex_com_ - camille - i wish i wish i wish i was constrained.png +0 -0
  278. package/static/images/butterchurn-screenshots/martin _shadow harlequins shape code_ - fata morgana.png +0 -0
  279. package/static/images/butterchurn-screenshots/martin_ flexi_ fishbrain _ sto - enterstate _random mashup_.png +0 -0
  280. package/static/images/butterchurn-screenshots/sawtooth grin roam.png +0 -0
  281. package/static/images/butterchurn-screenshots/shifter - dark tides bdrv mix 2.png +0 -0
  282. package/static/images/butterchurn-screenshots/suksma - Rovastar - Sunflower Passion _Enlightment Mix__Phat_edit _ flexi und martin shaders - circumflex in character classes in regular expression.png +0 -0
  283. package/static/images/butterchurn-screenshots/suksma - heretical crosscut playpen.png +0 -0
  284. package/static/images/butterchurn-screenshots/suksma - uninitialized variabowl _hydroponic chronic_.png +0 -0
  285. package/static/images/butterchurn-screenshots/suksma - vector exp 1 - couldn_t not.png +0 -0
  286. package/static/images/butterchurn-screenshots/yin - 191 - Temporal singularities.png +0 -0
  287. package/static/images/logo-512.png +0 -0
  288. package/static/images/logo.png +0 -0
  289. package/static/loukai-logo.png +0 -0
  290. package/static/screenshot-generator.html +610 -0
@@ -0,0 +1,62 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/kaiPlayer-CoMx__a_.js","./assets/microphoneEngine-BaCUhhQc.js","./assets/player-DVrqp7N5.js"])))=>i.map(i=>d[i]);
2
+ function ju(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var Pc={exports:{}},ur={};/**
3
+ * @license React
4
+ * react-jsx-runtime.production.js
5
+ *
6
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
7
+ *
8
+ * This source code is licensed under the MIT license found in the
9
+ * LICENSE file in the root directory of this source tree.
10
+ */var k0;function qh(){if(k0)return ur;k0=1;var i=Symbol.for("react.transitional.element"),u=Symbol.for("react.fragment");function f(c,d,g){var y=null;if(g!==void 0&&(y=""+g),d.key!==void 0&&(y=""+d.key),"key"in d){g={};for(var x in d)x!=="key"&&(g[x]=d[x])}else g=d;return d=g.ref,{$$typeof:i,type:c,key:y,ref:d!==void 0?d:null,props:g}}return ur.Fragment=u,ur.jsx=f,ur.jsxs=f,ur}var j0;function Bh(){return j0||(j0=1,Pc.exports=qh()),Pc.exports}var s=Bh(),Kc={exports:{}},je={};/**
11
+ * @license React
12
+ * react.production.js
13
+ *
14
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
15
+ *
16
+ * This source code is licensed under the MIT license found in the
17
+ * LICENSE file in the root directory of this source tree.
18
+ */var N0;function Hh(){if(N0)return je;N0=1;var i=Symbol.for("react.transitional.element"),u=Symbol.for("react.portal"),f=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),d=Symbol.for("react.profiler"),g=Symbol.for("react.consumer"),y=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),k=Symbol.iterator;function T(C){return C===null||typeof C!="object"?null:(C=k&&C[k]||C["@@iterator"],typeof C=="function"?C:null)}var S={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},A=Object.assign,P={};function j(C,I,Y){this.props=C,this.context=I,this.refs=P,this.updater=Y||S}j.prototype.isReactComponent={},j.prototype.setState=function(C,I){if(typeof C!="object"&&typeof C!="function"&&C!=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,C,I,"setState")},j.prototype.forceUpdate=function(C){this.updater.enqueueForceUpdate(this,C,"forceUpdate")};function V(){}V.prototype=j.prototype;function _(C,I,Y){this.props=C,this.context=I,this.refs=P,this.updater=Y||S}var O=_.prototype=new V;O.constructor=_,A(O,j.prototype),O.isPureReactComponent=!0;var E=Array.isArray;function D(){}var z={H:null,A:null,T:null,S:null},F=Object.prototype.hasOwnProperty;function B(C,I,Y){var ae=Y.ref;return{$$typeof:i,type:C,key:I,ref:ae!==void 0?ae:null,props:Y}}function K(C,I){return B(C.type,I,C.props)}function ee(C){return typeof C=="object"&&C!==null&&C.$$typeof===i}function Z(C){var I={"=":"=0",":":"=2"};return"$"+C.replace(/[=:]/g,function(Y){return I[Y]})}var se=/\/+/g;function ne(C,I){return typeof C=="object"&&C!==null&&C.key!=null?Z(""+C.key):I.toString(36)}function ce(C){switch(C.status){case"fulfilled":return C.value;case"rejected":throw C.reason;default:switch(typeof C.status=="string"?C.then(D,D):(C.status="pending",C.then(function(I){C.status==="pending"&&(C.status="fulfilled",C.value=I)},function(I){C.status==="pending"&&(C.status="rejected",C.reason=I)})),C.status){case"fulfilled":return C.value;case"rejected":throw C.reason}}throw C}function H(C,I,Y,ae,ie){var de=typeof C;(de==="undefined"||de==="boolean")&&(C=null);var ue=!1;if(C===null)ue=!0;else switch(de){case"bigint":case"string":case"number":ue=!0;break;case"object":switch(C.$$typeof){case i:case u:ue=!0;break;case v:return ue=C._init,H(ue(C._payload),I,Y,ae,ie)}}if(ue)return ie=ie(C),ue=ae===""?"."+ne(C,0):ae,E(ie)?(Y="",ue!=null&&(Y=ue.replace(se,"$&/")+"/"),H(ie,I,Y,"",function(Ve){return Ve})):ie!=null&&(ee(ie)&&(ie=K(ie,Y+(ie.key==null||C&&C.key===ie.key?"":(""+ie.key).replace(se,"$&/")+"/")+ue)),I.push(ie)),1;ue=0;var fe=ae===""?".":ae+":";if(E(C))for(var xe=0;xe<C.length;xe++)ae=C[xe],de=fe+ne(ae,xe),ue+=H(ae,I,Y,de,ie);else if(xe=T(C),typeof xe=="function")for(C=xe.call(C),xe=0;!(ae=C.next()).done;)ae=ae.value,de=fe+ne(ae,xe++),ue+=H(ae,I,Y,de,ie);else if(de==="object"){if(typeof C.then=="function")return H(ce(C),I,Y,ae,ie);throw I=String(C),Error("Objects are not valid as a React child (found: "+(I==="[object Object]"?"object with keys {"+Object.keys(C).join(", ")+"}":I)+"). If you meant to render a collection of children, use an array instead.")}return ue}function te(C,I,Y){if(C==null)return C;var ae=[],ie=0;return H(C,ae,"","",function(de){return I.call(Y,de,ie++)}),ae}function me(C){if(C._status===-1){var I=C._result;I=I(),I.then(function(Y){(C._status===0||C._status===-1)&&(C._status=1,C._result=Y)},function(Y){(C._status===0||C._status===-1)&&(C._status=2,C._result=Y)}),C._status===-1&&(C._status=0,C._result=I)}if(C._status===1)return C._result.default;throw C._result}var we=typeof reportError=="function"?reportError:function(C){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var I=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof C=="object"&&C!==null&&typeof C.message=="string"?String(C.message):String(C),error:C});if(!window.dispatchEvent(I))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",C);return}console.error(C)},Se={map:te,forEach:function(C,I,Y){te(C,function(){I.apply(this,arguments)},Y)},count:function(C){var I=0;return te(C,function(){I++}),I},toArray:function(C){return te(C,function(I){return I})||[]},only:function(C){if(!ee(C))throw Error("React.Children.only expected to receive a single React element child.");return C}};return je.Activity=b,je.Children=Se,je.Component=j,je.Fragment=f,je.Profiler=d,je.PureComponent=_,je.StrictMode=c,je.Suspense=m,je.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=z,je.__COMPILER_RUNTIME={__proto__:null,c:function(C){return z.H.useMemoCache(C)}},je.cache=function(C){return function(){return C.apply(null,arguments)}},je.cacheSignal=function(){return null},je.cloneElement=function(C,I,Y){if(C==null)throw Error("The argument must be a React element, but you passed "+C+".");var ae=A({},C.props),ie=C.key;if(I!=null)for(de in I.key!==void 0&&(ie=""+I.key),I)!F.call(I,de)||de==="key"||de==="__self"||de==="__source"||de==="ref"&&I.ref===void 0||(ae[de]=I[de]);var de=arguments.length-2;if(de===1)ae.children=Y;else if(1<de){for(var ue=Array(de),fe=0;fe<de;fe++)ue[fe]=arguments[fe+2];ae.children=ue}return B(C.type,ie,ae)},je.createContext=function(C){return C={$$typeof:y,_currentValue:C,_currentValue2:C,_threadCount:0,Provider:null,Consumer:null},C.Provider=C,C.Consumer={$$typeof:g,_context:C},C},je.createElement=function(C,I,Y){var ae,ie={},de=null;if(I!=null)for(ae in I.key!==void 0&&(de=""+I.key),I)F.call(I,ae)&&ae!=="key"&&ae!=="__self"&&ae!=="__source"&&(ie[ae]=I[ae]);var ue=arguments.length-2;if(ue===1)ie.children=Y;else if(1<ue){for(var fe=Array(ue),xe=0;xe<ue;xe++)fe[xe]=arguments[xe+2];ie.children=fe}if(C&&C.defaultProps)for(ae in ue=C.defaultProps,ue)ie[ae]===void 0&&(ie[ae]=ue[ae]);return B(C,de,ie)},je.createRef=function(){return{current:null}},je.forwardRef=function(C){return{$$typeof:x,render:C}},je.isValidElement=ee,je.lazy=function(C){return{$$typeof:v,_payload:{_status:-1,_result:C},_init:me}},je.memo=function(C,I){return{$$typeof:p,type:C,compare:I===void 0?null:I}},je.startTransition=function(C){var I=z.T,Y={};z.T=Y;try{var ae=C(),ie=z.S;ie!==null&&ie(Y,ae),typeof ae=="object"&&ae!==null&&typeof ae.then=="function"&&ae.then(D,we)}catch(de){we(de)}finally{I!==null&&Y.types!==null&&(I.types=Y.types),z.T=I}},je.unstable_useCacheRefresh=function(){return z.H.useCacheRefresh()},je.use=function(C){return z.H.use(C)},je.useActionState=function(C,I,Y){return z.H.useActionState(C,I,Y)},je.useCallback=function(C,I){return z.H.useCallback(C,I)},je.useContext=function(C){return z.H.useContext(C)},je.useDebugValue=function(){},je.useDeferredValue=function(C,I){return z.H.useDeferredValue(C,I)},je.useEffect=function(C,I){return z.H.useEffect(C,I)},je.useEffectEvent=function(C){return z.H.useEffectEvent(C)},je.useId=function(){return z.H.useId()},je.useImperativeHandle=function(C,I,Y){return z.H.useImperativeHandle(C,I,Y)},je.useInsertionEffect=function(C,I){return z.H.useInsertionEffect(C,I)},je.useLayoutEffect=function(C,I){return z.H.useLayoutEffect(C,I)},je.useMemo=function(C,I){return z.H.useMemo(C,I)},je.useOptimistic=function(C,I){return z.H.useOptimistic(C,I)},je.useReducer=function(C,I,Y){return z.H.useReducer(C,I,Y)},je.useRef=function(C){return z.H.useRef(C)},je.useState=function(C){return z.H.useState(C)},je.useSyncExternalStore=function(C,I,Y){return z.H.useSyncExternalStore(C,I,Y)},je.useTransition=function(){return z.H.useTransition()},je.version="19.2.0",je}var E0;function Nu(){return E0||(E0=1,Kc.exports=Hh()),Kc.exports}var w=Nu();const Qh=ju(w);var Zc={exports:{}},or={},Jc={exports:{}},Ic={};/**
19
+ * @license React
20
+ * scheduler.production.js
21
+ *
22
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
23
+ *
24
+ * This source code is licensed under the MIT license found in the
25
+ * LICENSE file in the root directory of this source tree.
26
+ */var A0;function Gh(){return A0||(A0=1,(function(i){function u(H,te){var me=H.length;H.push(te);e:for(;0<me;){var we=me-1>>>1,Se=H[we];if(0<d(Se,te))H[we]=te,H[me]=Se,me=we;else break e}}function f(H){return H.length===0?null:H[0]}function c(H){if(H.length===0)return null;var te=H[0],me=H.pop();if(me!==te){H[0]=me;e:for(var we=0,Se=H.length,C=Se>>>1;we<C;){var I=2*(we+1)-1,Y=H[I],ae=I+1,ie=H[ae];if(0>d(Y,me))ae<Se&&0>d(ie,Y)?(H[we]=ie,H[ae]=me,we=ae):(H[we]=Y,H[I]=me,we=I);else if(ae<Se&&0>d(ie,me))H[we]=ie,H[ae]=me,we=ae;else break e}}return te}function d(H,te){var me=H.sortIndex-te.sortIndex;return me!==0?me:H.id-te.id}if(i.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var g=performance;i.unstable_now=function(){return g.now()}}else{var y=Date,x=y.now();i.unstable_now=function(){return y.now()-x}}var m=[],p=[],v=1,b=null,k=3,T=!1,S=!1,A=!1,P=!1,j=typeof setTimeout=="function"?setTimeout:null,V=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;function O(H){for(var te=f(p);te!==null;){if(te.callback===null)c(p);else if(te.startTime<=H)c(p),te.sortIndex=te.expirationTime,u(m,te);else break;te=f(p)}}function E(H){if(A=!1,O(H),!S)if(f(m)!==null)S=!0,D||(D=!0,Z());else{var te=f(p);te!==null&&ce(E,te.startTime-H)}}var D=!1,z=-1,F=5,B=-1;function K(){return P?!0:!(i.unstable_now()-B<F)}function ee(){if(P=!1,D){var H=i.unstable_now();B=H;var te=!0;try{e:{S=!1,A&&(A=!1,V(z),z=-1),T=!0;var me=k;try{t:{for(O(H),b=f(m);b!==null&&!(b.expirationTime>H&&K());){var we=b.callback;if(typeof we=="function"){b.callback=null,k=b.priorityLevel;var Se=we(b.expirationTime<=H);if(H=i.unstable_now(),typeof Se=="function"){b.callback=Se,O(H),te=!0;break t}b===f(m)&&c(m),O(H)}else c(m);b=f(m)}if(b!==null)te=!0;else{var C=f(p);C!==null&&ce(E,C.startTime-H),te=!1}}break e}finally{b=null,k=me,T=!1}te=void 0}}finally{te?Z():D=!1}}}var Z;if(typeof _=="function")Z=function(){_(ee)};else if(typeof MessageChannel<"u"){var se=new MessageChannel,ne=se.port2;se.port1.onmessage=ee,Z=function(){ne.postMessage(null)}}else Z=function(){j(ee,0)};function ce(H,te){z=j(function(){H(i.unstable_now())},te)}i.unstable_IdlePriority=5,i.unstable_ImmediatePriority=1,i.unstable_LowPriority=4,i.unstable_NormalPriority=3,i.unstable_Profiling=null,i.unstable_UserBlockingPriority=2,i.unstable_cancelCallback=function(H){H.callback=null},i.unstable_forceFrameRate=function(H){0>H||125<H?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):F=0<H?Math.floor(1e3/H):5},i.unstable_getCurrentPriorityLevel=function(){return k},i.unstable_next=function(H){switch(k){case 1:case 2:case 3:var te=3;break;default:te=k}var me=k;k=te;try{return H()}finally{k=me}},i.unstable_requestPaint=function(){P=!0},i.unstable_runWithPriority=function(H,te){switch(H){case 1:case 2:case 3:case 4:case 5:break;default:H=3}var me=k;k=H;try{return te()}finally{k=me}},i.unstable_scheduleCallback=function(H,te,me){var we=i.unstable_now();switch(typeof me=="object"&&me!==null?(me=me.delay,me=typeof me=="number"&&0<me?we+me:we):me=we,H){case 1:var Se=-1;break;case 2:Se=250;break;case 5:Se=1073741823;break;case 4:Se=1e4;break;default:Se=5e3}return Se=me+Se,H={id:v++,callback:te,priorityLevel:H,startTime:me,expirationTime:Se,sortIndex:-1},me>we?(H.sortIndex=me,u(p,H),f(m)===null&&H===f(p)&&(A?(V(z),z=-1):A=!0,ce(E,me-we))):(H.sortIndex=Se,u(m,H),S||T||(S=!0,D||(D=!0,Z()))),H},i.unstable_shouldYield=K,i.unstable_wrapCallback=function(H){var te=k;return function(){var me=k;k=te;try{return H.apply(this,arguments)}finally{k=me}}}})(Ic)),Ic}var C0;function Yh(){return C0||(C0=1,Jc.exports=Gh()),Jc.exports}var Fc={exports:{}},pt={};/**
27
+ * @license React
28
+ * react-dom.production.js
29
+ *
30
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
31
+ *
32
+ * This source code is licensed under the MIT license found in the
33
+ * LICENSE file in the root directory of this source tree.
34
+ */var T0;function Vh(){if(T0)return pt;T0=1;var i=Nu();function u(m){var p="https://react.dev/errors/"+m;if(1<arguments.length){p+="?args[]="+encodeURIComponent(arguments[1]);for(var v=2;v<arguments.length;v++)p+="&args[]="+encodeURIComponent(arguments[v])}return"Minified React error #"+m+"; visit "+p+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function f(){}var c={d:{f,r:function(){throw Error(u(522))},D:f,C:f,L:f,m:f,X:f,S:f,M:f},p:0,findDOMNode:null},d=Symbol.for("react.portal");function g(m,p,v){var b=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:d,key:b==null?null:""+b,children:m,containerInfo:p,implementation:v}}var y=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function x(m,p){if(m==="font")return"";if(typeof p=="string")return p==="use-credentials"?p:""}return pt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=c,pt.createPortal=function(m,p){var v=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!p||p.nodeType!==1&&p.nodeType!==9&&p.nodeType!==11)throw Error(u(299));return g(m,p,null,v)},pt.flushSync=function(m){var p=y.T,v=c.p;try{if(y.T=null,c.p=2,m)return m()}finally{y.T=p,c.p=v,c.d.f()}},pt.preconnect=function(m,p){typeof m=="string"&&(p?(p=p.crossOrigin,p=typeof p=="string"?p==="use-credentials"?p:"":void 0):p=null,c.d.C(m,p))},pt.prefetchDNS=function(m){typeof m=="string"&&c.d.D(m)},pt.preinit=function(m,p){if(typeof m=="string"&&p&&typeof p.as=="string"){var v=p.as,b=x(v,p.crossOrigin),k=typeof p.integrity=="string"?p.integrity:void 0,T=typeof p.fetchPriority=="string"?p.fetchPriority:void 0;v==="style"?c.d.S(m,typeof p.precedence=="string"?p.precedence:void 0,{crossOrigin:b,integrity:k,fetchPriority:T}):v==="script"&&c.d.X(m,{crossOrigin:b,integrity:k,fetchPriority:T,nonce:typeof p.nonce=="string"?p.nonce:void 0})}},pt.preinitModule=function(m,p){if(typeof m=="string")if(typeof p=="object"&&p!==null){if(p.as==null||p.as==="script"){var v=x(p.as,p.crossOrigin);c.d.M(m,{crossOrigin:v,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0})}}else p==null&&c.d.M(m)},pt.preload=function(m,p){if(typeof m=="string"&&typeof p=="object"&&p!==null&&typeof p.as=="string"){var v=p.as,b=x(v,p.crossOrigin);c.d.L(m,v,{crossOrigin:b,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0,type:typeof p.type=="string"?p.type:void 0,fetchPriority:typeof p.fetchPriority=="string"?p.fetchPriority:void 0,referrerPolicy:typeof p.referrerPolicy=="string"?p.referrerPolicy:void 0,imageSrcSet:typeof p.imageSrcSet=="string"?p.imageSrcSet:void 0,imageSizes:typeof p.imageSizes=="string"?p.imageSizes:void 0,media:typeof p.media=="string"?p.media:void 0})}},pt.preloadModule=function(m,p){if(typeof m=="string")if(p){var v=x(p.as,p.crossOrigin);c.d.m(m,{as:typeof p.as=="string"&&p.as!=="script"?p.as:void 0,crossOrigin:v,integrity:typeof p.integrity=="string"?p.integrity:void 0})}else c.d.m(m)},pt.requestFormReset=function(m){c.d.r(m)},pt.unstable_batchedUpdates=function(m,p){return m(p)},pt.useFormState=function(m,p,v){return y.H.useFormState(m,p,v)},pt.useFormStatus=function(){return y.H.useHostTransitionStatus()},pt.version="19.2.0",pt}var M0;function mg(){if(M0)return Fc.exports;M0=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(u){console.error(u)}}return i(),Fc.exports=Vh(),Fc.exports}/**
35
+ * @license React
36
+ * react-dom-client.production.js
37
+ *
38
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
39
+ *
40
+ * This source code is licensed under the MIT license found in the
41
+ * LICENSE file in the root directory of this source tree.
42
+ */var _0;function Xh(){if(_0)return or;_0=1;var i=Yh(),u=Nu(),f=mg();function c(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}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 d(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function g(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function y(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 x(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 m(e){if(g(e)!==e)throw Error(c(188))}function p(e){var t=e.alternate;if(!t){if(t=g(e),t===null)throw Error(c(188));return t!==e?null:e}for(var a=e,n=t;;){var l=a.return;if(l===null)break;var r=l.alternate;if(r===null){if(n=l.return,n!==null){a=n;continue}break}if(l.child===r.child){for(r=l.child;r;){if(r===a)return m(l),e;if(r===n)return m(l),t;r=r.sibling}throw Error(c(188))}if(a.return!==n.return)a=l,n=r;else{for(var o=!1,h=l.child;h;){if(h===a){o=!0,a=l,n=r;break}if(h===n){o=!0,n=l,a=r;break}h=h.sibling}if(!o){for(h=r.child;h;){if(h===a){o=!0,a=r,n=l;break}if(h===n){o=!0,n=r,a=l;break}h=h.sibling}if(!o)throw Error(c(189))}}if(a.alternate!==n)throw Error(c(190))}if(a.tag!==3)throw Error(c(188));return a.stateNode.current===a?e:t}function v(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=v(e),t!==null)return t;e=e.sibling}return null}var b=Object.assign,k=Symbol.for("react.element"),T=Symbol.for("react.transitional.element"),S=Symbol.for("react.portal"),A=Symbol.for("react.fragment"),P=Symbol.for("react.strict_mode"),j=Symbol.for("react.profiler"),V=Symbol.for("react.consumer"),_=Symbol.for("react.context"),O=Symbol.for("react.forward_ref"),E=Symbol.for("react.suspense"),D=Symbol.for("react.suspense_list"),z=Symbol.for("react.memo"),F=Symbol.for("react.lazy"),B=Symbol.for("react.activity"),K=Symbol.for("react.memo_cache_sentinel"),ee=Symbol.iterator;function Z(e){return e===null||typeof e!="object"?null:(e=ee&&e[ee]||e["@@iterator"],typeof e=="function"?e:null)}var se=Symbol.for("react.client.reference");function ne(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===se?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case A:return"Fragment";case j:return"Profiler";case P:return"StrictMode";case E:return"Suspense";case D:return"SuspenseList";case B:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case S:return"Portal";case _:return e.displayName||"Context";case V:return(e._context.displayName||"Context")+".Consumer";case O:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case z:return t=e.displayName||null,t!==null?t:ne(e.type)||"Memo";case F:t=e._payload,e=e._init;try{return ne(e(t))}catch{}}return null}var ce=Array.isArray,H=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,te=f.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,me={pending:!1,data:null,method:null,action:null},we=[],Se=-1;function C(e){return{current:e}}function I(e){0>Se||(e.current=we[Se],we[Se]=null,Se--)}function Y(e,t){Se++,we[Se]=e.current,e.current=t}var ae=C(null),ie=C(null),de=C(null),ue=C(null);function fe(e,t){switch(Y(de,t),Y(ie,e),Y(ae,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Pf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Pf(t),e=Kf(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}I(ae),Y(ae,e)}function xe(){I(ae),I(ie),I(de)}function Ve(e){e.memoizedState!==null&&Y(ue,e);var t=ae.current,a=Kf(t,e.type);t!==a&&(Y(ie,e),Y(ae,a))}function Be(e){ie.current===e&&(I(ae),I(ie)),ue.current===e&&(I(ue),rr._currentValue=me)}var sa,En;function Ut(e){if(sa===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);sa=t&&t[1]||"",En=-1<a.stack.indexOf(`
43
+ at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
44
+ `+sa+e+En}var Ca=!1;function Ta(e,t){if(!e||Ca)return"";Ca=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var n={DetermineComponentFrameRoot:function(){try{if(t){var W=function(){throw Error()};if(Object.defineProperty(W.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(W,[])}catch(X){var Q=X}Reflect.construct(e,[],W)}else{try{W.call()}catch(X){Q=X}e.call(W.prototype)}}else{try{throw Error()}catch(X){Q=X}(W=e())&&typeof W.catch=="function"&&W.catch(function(){})}}catch(X){if(X&&Q&&typeof X.stack=="string")return[X.stack,Q.stack]}return[null,null]}};n.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var l=Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,"name");l&&l.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var r=n.DetermineComponentFrameRoot(),o=r[0],h=r[1];if(o&&h){var N=o.split(`
45
+ `),q=h.split(`
46
+ `);for(l=n=0;n<N.length&&!N[n].includes("DetermineComponentFrameRoot");)n++;for(;l<q.length&&!q[l].includes("DetermineComponentFrameRoot");)l++;if(n===N.length||l===q.length)for(n=N.length-1,l=q.length-1;1<=n&&0<=l&&N[n]!==q[l];)l--;for(;1<=n&&0<=l;n--,l--)if(N[n]!==q[l]){if(n!==1||l!==1)do if(n--,l--,0>l||N[n]!==q[l]){var J=`
47
+ `+N[n].replace(" at new "," at ");return e.displayName&&J.includes("<anonymous>")&&(J=J.replace("<anonymous>",e.displayName)),J}while(1<=n&&0<=l);break}}}finally{Ca=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Ut(a):""}function ia(e,t){switch(e.tag){case 26:case 27:case 5:return Ut(e.type);case 16:return Ut("Lazy");case 13:return e.child!==t&&t!==null?Ut("Suspense Fallback"):Ut("Suspense");case 19:return Ut("SuspenseList");case 0:case 15:return Ta(e.type,!1);case 11:return Ta(e.type.render,!1);case 1:return Ta(e.type,!0);case 31:return Ut("Activity");default:return""}}function Ma(e){try{var t="",a=null;do t+=ia(e,a),a=e,e=e.return;while(e);return t}catch(n){return`
48
+ Error generating stack: `+n.message+`
49
+ `+n.stack}}var le=Object.prototype.hasOwnProperty,be=i.unstable_scheduleCallback,dt=i.unstable_cancelCallback,Tt=i.unstable_shouldYield,ca=i.unstable_requestPaint,$e=i.unstable_now,An=i.unstable_getCurrentPriorityLevel,ct=i.unstable_ImmediatePriority,st=i.unstable_UserBlockingPriority,Ke=i.unstable_NormalPriority,Jt=i.unstable_LowPriority,qt=i.unstable_IdlePriority,nn=i.log,Ls=i.unstable_setDisableYieldValue,ln=null,tt=null;function ea(e){if(typeof nn=="function"&&Ls(e),tt&&typeof tt.setStrictMode=="function")try{tt.setStrictMode(ln,e)}catch{}}var xt=Math.clz32?Math.clz32:Os,zs=Math.log,Ds=Math.LN2;function Os(e){return e>>>=0,e===0?32:31-(zs(e)/Ds|0)|0}var Cn=256,Tn=262144,Mn=4194304;function ua(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 L(e,t,a){var n=e.pendingLanes;if(n===0)return 0;var l=0,r=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var h=n&134217727;return h!==0?(n=h&~r,n!==0?l=ua(n):(o&=h,o!==0?l=ua(o):a||(a=h&~e,a!==0&&(l=ua(a))))):(h=n&~r,h!==0?l=ua(h):o!==0?l=ua(o):a||(a=n&~e,a!==0&&(l=ua(a)))),l===0?0:t!==0&&t!==l&&(t&r)===0&&(r=l&-l,a=t&-t,r>=a||r===32&&(a&4194048)!==0)?t:l}function G(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function re(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 oe(){var e=Mn;return Mn<<=1,(Mn&62914560)===0&&(Mn=4194304),e}function ye(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function ke(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function De(e,t,a,n,l,r){var o=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var h=e.entanglements,N=e.expirationTimes,q=e.hiddenUpdates;for(a=o&~a;0<a;){var J=31-xt(a),W=1<<J;h[J]=0,N[J]=-1;var Q=q[J];if(Q!==null)for(q[J]=null,J=0;J<Q.length;J++){var X=Q[J];X!==null&&(X.lane&=-536870913)}a&=~W}n!==0&&bt(e,n,0),r!==0&&l===0&&e.tag!==0&&(e.suspendedLanes|=r&~(o&~t))}function bt(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var n=31-xt(t);e.entangledLanes|=t,e.entanglements[n]=e.entanglements[n]|1073741824|a&261930}function Oe(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var n=31-xt(a),l=1<<n;l&t|e[n]&t&&(e[n]|=t),a&=~l}}function vt(e,t){var a=t&-t;return a=(a&42)!==0?1:It(a),(a&(e.suspendedLanes|t))!==0?0:a}function It(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 rn(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function _n(){var e=te.p;return e!==0?e:(e=window.event,e===void 0?32:y0(e.type))}function Rn(e,t){var a=te.p;try{return te.p=e,t()}finally{te.p=a}}var _a=Math.random().toString(36).slice(2),ft="__reactFiber$"+_a,St="__reactProps$"+_a,Ln="__reactContainer$"+_a,Us="__reactEvents$"+_a,Ag="__reactListeners$"+_a,Cg="__reactHandles$"+_a,_u="__reactResources$"+_a,vl="__reactMarker$"+_a;function qs(e){delete e[ft],delete e[St],delete e[Us],delete e[Ag],delete e[Cg]}function zn(e){var t=e[ft];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Ln]||a[ft]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=e0(e);e!==null;){if(a=e[ft])return a;e=e0(e)}return t}e=a,a=e.parentNode}return null}function Dn(e){if(e=e[ft]||e[Ln]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function wl(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(c(33))}function On(e){var t=e[_u];return t||(t=e[_u]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function ut(e){e[vl]=!0}var Ru=new Set,Lu={};function sn(e,t){Un(e,t),Un(e+"Capture",t)}function Un(e,t){for(Lu[e]=t,e=0;e<t.length;e++)Ru.add(t[e])}var Tg=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]*$"),zu={},Du={};function Mg(e){return le.call(Du,e)?!0:le.call(zu,e)?!1:Tg.test(e)?Du[e]=!0:(zu[e]=!0,!1)}function gr(e,t,a){if(Mg(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var n=t.toLowerCase().slice(0,5);if(n!=="data-"&&n!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function mr(e,t,a){if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+a)}}function oa(e,t,a,n){if(n===null)e.removeAttribute(a);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+n)}}function Bt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Ou(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function _g(e,t,a){var n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,r=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(o){a=""+o,r.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(o){a=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Bs(e){if(!e._valueTracker){var t=Ou(e)?"checked":"value";e._valueTracker=_g(e,t,""+e[t])}}function Uu(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),n="";return e&&(n=Ou(e)?e.checked?"true":"false":e.value),e=n,e!==a?(t.setValue(e),!0):!1}function hr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Rg=/[\n"\\]/g;function Ht(e){return e.replace(Rg,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Hs(e,t,a,n,l,r,o,h){e.name="",o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.type=o:e.removeAttribute("type"),t!=null?o==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Bt(t)):e.value!==""+Bt(t)&&(e.value=""+Bt(t)):o!=="submit"&&o!=="reset"||e.removeAttribute("value"),t!=null?Qs(e,o,Bt(t)):a!=null?Qs(e,o,Bt(a)):n!=null&&e.removeAttribute("value"),l==null&&r!=null&&(e.defaultChecked=!!r),l!=null&&(e.checked=l&&typeof l!="function"&&typeof l!="symbol"),h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"?e.name=""+Bt(h):e.removeAttribute("name")}function qu(e,t,a,n,l,r,o,h){if(r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.type=r),t!=null||a!=null){if(!(r!=="submit"&&r!=="reset"||t!=null)){Bs(e);return}a=a!=null?""+Bt(a):"",t=t!=null?""+Bt(t):a,h||t===e.value||(e.value=t),e.defaultValue=t}n=n??l,n=typeof n!="function"&&typeof n!="symbol"&&!!n,e.checked=h?e.checked:!!n,e.defaultChecked=!!n,o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.name=o),Bs(e)}function Qs(e,t,a){t==="number"&&hr(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function qn(e,t,a,n){if(e=e.options,t){t={};for(var l=0;l<a.length;l++)t["$"+a[l]]=!0;for(a=0;a<e.length;a++)l=t.hasOwnProperty("$"+e[a].value),e[a].selected!==l&&(e[a].selected=l),l&&n&&(e[a].defaultSelected=!0)}else{for(a=""+Bt(a),t=null,l=0;l<e.length;l++){if(e[l].value===a){e[l].selected=!0,n&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function Bu(e,t,a){if(t!=null&&(t=""+Bt(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+Bt(a):""}function Hu(e,t,a,n){if(t==null){if(n!=null){if(a!=null)throw Error(c(92));if(ce(n)){if(1<n.length)throw Error(c(93));n=n[0]}a=n}a==null&&(a=""),t=a}a=Bt(t),e.defaultValue=a,n=e.textContent,n===a&&n!==""&&n!==null&&(e.value=n),Bs(e)}function Bn(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var Lg=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 Qu(e,t,a){var n=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?n?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":n?e.setProperty(t,a):typeof a!="number"||a===0||Lg.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function Gu(e,t,a){if(t!=null&&typeof t!="object")throw Error(c(62));if(e=e.style,a!=null){for(var n in a)!a.hasOwnProperty(n)||t!=null&&t.hasOwnProperty(n)||(n.indexOf("--")===0?e.setProperty(n,""):n==="float"?e.cssFloat="":e[n]="");for(var l in t)n=t[l],t.hasOwnProperty(l)&&a[l]!==n&&Qu(e,l,n)}else for(var r in t)t.hasOwnProperty(r)&&Qu(e,r,t[r])}function Gs(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 zg=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"]]),Dg=/^[\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 yr(e){return Dg.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function da(){}var Ys=null;function Vs(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Hn=null,Qn=null;function Yu(e){var t=Dn(e);if(t&&(e=t.stateNode)){var a=e[St]||null;e:switch(e=t.stateNode,t.type){case"input":if(Hs(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+Ht(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var n=a[t];if(n!==e&&n.form===e.form){var l=n[St]||null;if(!l)throw Error(c(90));Hs(n,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name)}}for(t=0;t<a.length;t++)n=a[t],n.form===e.form&&Uu(n)}break e;case"textarea":Bu(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&qn(e,!!a.multiple,t,!1)}}}var Xs=!1;function Vu(e,t,a){if(Xs)return e(t,a);Xs=!0;try{var n=e(t);return n}finally{if(Xs=!1,(Hn!==null||Qn!==null)&&(ns(),Hn&&(t=Hn,e=Qn,Qn=Hn=null,Yu(t),e)))for(t=0;t<e.length;t++)Yu(e[t])}}function Sl(e,t){var a=e.stateNode;if(a===null)return null;var n=a[St]||null;if(n===null)return null;a=n[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(e=e.type,n=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!n;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(c(231,t,typeof a));return a}var fa=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ps=!1;if(fa)try{var kl={};Object.defineProperty(kl,"passive",{get:function(){Ps=!0}}),window.addEventListener("test",kl,kl),window.removeEventListener("test",kl,kl)}catch{Ps=!1}var Ra=null,Ks=null,pr=null;function Xu(){if(pr)return pr;var e,t=Ks,a=t.length,n,l="value"in Ra?Ra.value:Ra.textContent,r=l.length;for(e=0;e<a&&t[e]===l[e];e++);var o=a-e;for(n=1;n<=o&&t[a-n]===l[r-n];n++);return pr=l.slice(e,1<n?1-n:void 0)}function xr(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 br(){return!0}function Pu(){return!1}function kt(e){function t(a,n,l,r,o){this._reactName=a,this._targetInst=l,this.type=n,this.nativeEvent=r,this.target=o,this.currentTarget=null;for(var h in e)e.hasOwnProperty(h)&&(a=e[h],this[h]=a?a(r):r[h]);return this.isDefaultPrevented=(r.defaultPrevented!=null?r.defaultPrevented:r.returnValue===!1)?br:Pu,this.isPropagationStopped=Pu,this}return b(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=br)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=br)},persist:function(){},isPersistent:br}),t}var cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},vr=kt(cn),jl=b({},cn,{view:0,detail:0}),Og=kt(jl),Zs,Js,Nl,wr=b({},jl,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Fs,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!==Nl&&(Nl&&e.type==="mousemove"?(Zs=e.screenX-Nl.screenX,Js=e.screenY-Nl.screenY):Js=Zs=0,Nl=e),Zs)},movementY:function(e){return"movementY"in e?e.movementY:Js}}),Ku=kt(wr),Ug=b({},wr,{dataTransfer:0}),qg=kt(Ug),Bg=b({},jl,{relatedTarget:0}),Is=kt(Bg),Hg=b({},cn,{animationName:0,elapsedTime:0,pseudoElement:0}),Qg=kt(Hg),Gg=b({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Yg=kt(Gg),Vg=b({},cn,{data:0}),Zu=kt(Vg),Xg={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Pg={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"},Kg={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Zg(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Kg[e])?!!t[e]:!1}function Fs(){return Zg}var Jg=b({},jl,{key:function(e){if(e.key){var t=Xg[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=xr(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Pg[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Fs,charCode:function(e){return e.type==="keypress"?xr(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?xr(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Ig=kt(Jg),Fg=b({},wr,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Ju=kt(Fg),$g=b({},jl,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Fs}),Wg=kt($g),em=b({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0}),tm=kt(em),am=b({},wr,{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}),nm=kt(am),lm=b({},cn,{newState:0,oldState:0}),rm=kt(lm),sm=[9,13,27,32],$s=fa&&"CompositionEvent"in window,El=null;fa&&"documentMode"in document&&(El=document.documentMode);var im=fa&&"TextEvent"in window&&!El,Iu=fa&&(!$s||El&&8<El&&11>=El),Fu=" ",$u=!1;function Wu(e,t){switch(e){case"keyup":return sm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function eo(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Gn=!1;function cm(e,t){switch(e){case"compositionend":return eo(t);case"keypress":return t.which!==32?null:($u=!0,Fu);case"textInput":return e=t.data,e===Fu&&$u?null:e;default:return null}}function um(e,t){if(Gn)return e==="compositionend"||!$s&&Wu(e,t)?(e=Xu(),pr=Ks=Ra=null,Gn=!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 Iu&&t.locale!=="ko"?null:t.data;default:return null}}var om={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 to(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!om[e.type]:t==="textarea"}function ao(e,t,a,n){Hn?Qn?Qn.push(n):Qn=[n]:Hn=n,t=os(t,"onChange"),0<t.length&&(a=new vr("onChange","change",null,a,n),e.push({event:a,listeners:t}))}var Al=null,Cl=null;function dm(e){Hf(e,0)}function Sr(e){var t=wl(e);if(Uu(t))return e}function no(e,t){if(e==="change")return t}var lo=!1;if(fa){var Ws;if(fa){var ei="oninput"in document;if(!ei){var ro=document.createElement("div");ro.setAttribute("oninput","return;"),ei=typeof ro.oninput=="function"}Ws=ei}else Ws=!1;lo=Ws&&(!document.documentMode||9<document.documentMode)}function so(){Al&&(Al.detachEvent("onpropertychange",io),Cl=Al=null)}function io(e){if(e.propertyName==="value"&&Sr(Cl)){var t=[];ao(t,Cl,e,Vs(e)),Vu(dm,t)}}function fm(e,t,a){e==="focusin"?(so(),Al=t,Cl=a,Al.attachEvent("onpropertychange",io)):e==="focusout"&&so()}function gm(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Sr(Cl)}function mm(e,t){if(e==="click")return Sr(t)}function hm(e,t){if(e==="input"||e==="change")return Sr(t)}function ym(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Mt=typeof Object.is=="function"?Object.is:ym;function Tl(e,t){if(Mt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),n=Object.keys(t);if(a.length!==n.length)return!1;for(n=0;n<a.length;n++){var l=a[n];if(!le.call(t,l)||!Mt(e[l],t[l]))return!1}return!0}function co(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function uo(e,t){var a=co(e);e=0;for(var n;a;){if(a.nodeType===3){if(n=e+a.textContent.length,e<=t&&n>=t)return{node:a,offset:t-e};e=n}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=co(a)}}function oo(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?oo(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function fo(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=hr(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=hr(e.document)}return t}function ti(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 pm=fa&&"documentMode"in document&&11>=document.documentMode,Yn=null,ai=null,Ml=null,ni=!1;function go(e,t,a){var n=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;ni||Yn==null||Yn!==hr(n)||(n=Yn,"selectionStart"in n&&ti(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),Ml&&Tl(Ml,n)||(Ml=n,n=os(ai,"onSelect"),0<n.length&&(t=new vr("onSelect","select",null,t,a),e.push({event:t,listeners:n}),t.target=Yn)))}function un(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Vn={animationend:un("Animation","AnimationEnd"),animationiteration:un("Animation","AnimationIteration"),animationstart:un("Animation","AnimationStart"),transitionrun:un("Transition","TransitionRun"),transitionstart:un("Transition","TransitionStart"),transitioncancel:un("Transition","TransitionCancel"),transitionend:un("Transition","TransitionEnd")},li={},mo={};fa&&(mo=document.createElement("div").style,"AnimationEvent"in window||(delete Vn.animationend.animation,delete Vn.animationiteration.animation,delete Vn.animationstart.animation),"TransitionEvent"in window||delete Vn.transitionend.transition);function on(e){if(li[e])return li[e];if(!Vn[e])return e;var t=Vn[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in mo)return li[e]=t[a];return e}var ho=on("animationend"),yo=on("animationiteration"),po=on("animationstart"),xm=on("transitionrun"),bm=on("transitionstart"),vm=on("transitioncancel"),xo=on("transitionend"),bo=new Map,ri="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(" ");ri.push("scrollEnd");function Ft(e,t){bo.set(e,t),sn(t,[e])}var kr=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!==null&&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)},Qt=[],Xn=0,si=0;function jr(){for(var e=Xn,t=si=Xn=0;t<e;){var a=Qt[t];Qt[t++]=null;var n=Qt[t];Qt[t++]=null;var l=Qt[t];Qt[t++]=null;var r=Qt[t];if(Qt[t++]=null,n!==null&&l!==null){var o=n.pending;o===null?l.next=l:(l.next=o.next,o.next=l),n.pending=l}r!==0&&vo(a,l,r)}}function Nr(e,t,a,n){Qt[Xn++]=e,Qt[Xn++]=t,Qt[Xn++]=a,Qt[Xn++]=n,si|=n,e.lanes|=n,e=e.alternate,e!==null&&(e.lanes|=n)}function ii(e,t,a,n){return Nr(e,t,a,n),Er(e)}function dn(e,t){return Nr(e,null,null,t),Er(e)}function vo(e,t,a){e.lanes|=a;var n=e.alternate;n!==null&&(n.lanes|=a);for(var l=!1,r=e.return;r!==null;)r.childLanes|=a,n=r.alternate,n!==null&&(n.childLanes|=a),r.tag===22&&(e=r.stateNode,e===null||e._visibility&1||(l=!0)),e=r,r=r.return;return e.tag===3?(r=e.stateNode,l&&t!==null&&(l=31-xt(a),e=r.hiddenUpdates,n=e[l],n===null?e[l]=[t]:n.push(t),t.lane=a|536870912),r):null}function Er(e){if(50<$l)throw $l=0,yc=null,Error(c(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Pn={};function wm(e,t,a,n){this.tag=e,this.key=a,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=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _t(e,t,a,n){return new wm(e,t,a,n)}function ci(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ga(e,t){var a=e.alternate;return a===null?(a=_t(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&65011712,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function wo(e,t){e.flags&=65011714;var a=e.alternate;return a===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=a.childLanes,e.lanes=a.lanes,e.child=a.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,e.type=a.type,t=a.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Ar(e,t,a,n,l,r){var o=0;if(n=e,typeof e=="function")ci(e)&&(o=1);else if(typeof e=="string")o=Eh(e,a,ae.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case B:return e=_t(31,a,t,l),e.elementType=B,e.lanes=r,e;case A:return fn(a.children,l,r,t);case P:o=8,l|=24;break;case j:return e=_t(12,a,t,l|2),e.elementType=j,e.lanes=r,e;case E:return e=_t(13,a,t,l),e.elementType=E,e.lanes=r,e;case D:return e=_t(19,a,t,l),e.elementType=D,e.lanes=r,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case _:o=10;break e;case V:o=9;break e;case O:o=11;break e;case z:o=14;break e;case F:o=16,n=null;break e}o=29,a=Error(c(130,e===null?"null":typeof e,"")),n=null}return t=_t(o,a,t,l),t.elementType=e,t.type=n,t.lanes=r,t}function fn(e,t,a,n){return e=_t(7,e,n,t),e.lanes=a,e}function ui(e,t,a){return e=_t(6,e,null,t),e.lanes=a,e}function So(e){var t=_t(18,null,null,0);return t.stateNode=e,t}function oi(e,t,a){return t=_t(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var ko=new WeakMap;function Gt(e,t){if(typeof e=="object"&&e!==null){var a=ko.get(e);return a!==void 0?a:(t={value:e,source:t,stack:Ma(t)},ko.set(e,t),t)}return{value:e,source:t,stack:Ma(t)}}var Kn=[],Zn=0,Cr=null,_l=0,Yt=[],Vt=0,La=null,ta=1,aa="";function ma(e,t){Kn[Zn++]=_l,Kn[Zn++]=Cr,Cr=e,_l=t}function jo(e,t,a){Yt[Vt++]=ta,Yt[Vt++]=aa,Yt[Vt++]=La,La=e;var n=ta;e=aa;var l=32-xt(n)-1;n&=~(1<<l),a+=1;var r=32-xt(t)+l;if(30<r){var o=l-l%5;r=(n&(1<<o)-1).toString(32),n>>=o,l-=o,ta=1<<32-xt(t)+l|a<<l|n,aa=r+e}else ta=1<<r|a<<l|n,aa=e}function di(e){e.return!==null&&(ma(e,1),jo(e,1,0))}function fi(e){for(;e===Cr;)Cr=Kn[--Zn],Kn[Zn]=null,_l=Kn[--Zn],Kn[Zn]=null;for(;e===La;)La=Yt[--Vt],Yt[Vt]=null,aa=Yt[--Vt],Yt[Vt]=null,ta=Yt[--Vt],Yt[Vt]=null}function No(e,t){Yt[Vt++]=ta,Yt[Vt++]=aa,Yt[Vt++]=La,ta=t.id,aa=t.overflow,La=e}var gt=null,Xe=null,_e=!1,za=null,Xt=!1,gi=Error(c(519));function Da(e){var t=Error(c(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Rl(Gt(t,e)),gi}function Eo(e){var t=e.stateNode,a=e.type,n=e.memoizedProps;switch(t[ft]=e,t[St]=n,a){case"dialog":Ce("cancel",t),Ce("close",t);break;case"iframe":case"object":case"embed":Ce("load",t);break;case"video":case"audio":for(a=0;a<er.length;a++)Ce(er[a],t);break;case"source":Ce("error",t);break;case"img":case"image":case"link":Ce("error",t),Ce("load",t);break;case"details":Ce("toggle",t);break;case"input":Ce("invalid",t),qu(t,n.value,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name,!0);break;case"select":Ce("invalid",t);break;case"textarea":Ce("invalid",t),Hu(t,n.value,n.defaultValue,n.children)}a=n.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||n.suppressHydrationWarning===!0||Vf(t.textContent,a)?(n.popover!=null&&(Ce("beforetoggle",t),Ce("toggle",t)),n.onScroll!=null&&Ce("scroll",t),n.onScrollEnd!=null&&Ce("scrollend",t),n.onClick!=null&&(t.onclick=da),t=!0):t=!1,t||Da(e,!0)}function Ao(e){for(gt=e.return;gt;)switch(gt.tag){case 5:case 31:case 13:Xt=!1;return;case 27:case 3:Xt=!0;return;default:gt=gt.return}}function Jn(e){if(e!==gt)return!1;if(!_e)return Ao(e),_e=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||_c(e.type,e.memoizedProps)),a=!a),a&&Xe&&Da(e),Ao(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(c(317));Xe=Wf(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(c(317));Xe=Wf(e)}else t===27?(t=Xe,Ja(e.type)?(e=Oc,Oc=null,Xe=e):Xe=t):Xe=gt?Kt(e.stateNode.nextSibling):null;return!0}function gn(){Xe=gt=null,_e=!1}function mi(){var e=za;return e!==null&&(At===null?At=e:At.push.apply(At,e),za=null),e}function Rl(e){za===null?za=[e]:za.push(e)}var hi=C(null),mn=null,ha=null;function Oa(e,t,a){Y(hi,t._currentValue),t._currentValue=a}function ya(e){e._currentValue=hi.current,I(hi)}function yi(e,t,a){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===a)break;e=e.return}}function pi(e,t,a,n){var l=e.child;for(l!==null&&(l.return=e);l!==null;){var r=l.dependencies;if(r!==null){var o=l.child;r=r.firstContext;e:for(;r!==null;){var h=r;r=l;for(var N=0;N<t.length;N++)if(h.context===t[N]){r.lanes|=a,h=r.alternate,h!==null&&(h.lanes|=a),yi(r.return,a,e),n||(o=null);break e}r=h.next}}else if(l.tag===18){if(o=l.return,o===null)throw Error(c(341));o.lanes|=a,r=o.alternate,r!==null&&(r.lanes|=a),yi(o,a,e),o=null}else o=l.child;if(o!==null)o.return=l;else for(o=l;o!==null;){if(o===e){o=null;break}if(l=o.sibling,l!==null){l.return=o.return,o=l;break}o=o.return}l=o}}function In(e,t,a,n){e=null;for(var l=t,r=!1;l!==null;){if(!r){if((l.flags&524288)!==0)r=!0;else if((l.flags&262144)!==0)break}if(l.tag===10){var o=l.alternate;if(o===null)throw Error(c(387));if(o=o.memoizedProps,o!==null){var h=l.type;Mt(l.pendingProps.value,o.value)||(e!==null?e.push(h):e=[h])}}else if(l===ue.current){if(o=l.alternate,o===null)throw Error(c(387));o.memoizedState.memoizedState!==l.memoizedState.memoizedState&&(e!==null?e.push(rr):e=[rr])}l=l.return}e!==null&&pi(t,e,a,n),t.flags|=262144}function Tr(e){for(e=e.firstContext;e!==null;){if(!Mt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function hn(e){mn=e,ha=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function mt(e){return Co(mn,e)}function Mr(e,t){return mn===null&&hn(e),Co(e,t)}function Co(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},ha===null){if(e===null)throw Error(c(308));ha=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ha=ha.next=t;return a}var Sm=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},km=i.unstable_scheduleCallback,jm=i.unstable_NormalPriority,at={$$typeof:_,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function xi(){return{controller:new Sm,data:new Map,refCount:0}}function Ll(e){e.refCount--,e.refCount===0&&km(jm,function(){e.controller.abort()})}var zl=null,bi=0,Fn=0,$n=null;function Nm(e,t){if(zl===null){var a=zl=[];bi=0,Fn=Sc(),$n={status:"pending",value:void 0,then:function(n){a.push(n)}}}return bi++,t.then(To,To),t}function To(){if(--bi===0&&zl!==null){$n!==null&&($n.status="fulfilled");var e=zl;zl=null,Fn=0,$n=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Em(e,t){var a=[],n={status:"pending",value:null,reason:null,then:function(l){a.push(l)}};return e.then(function(){n.status="fulfilled",n.value=t;for(var l=0;l<a.length;l++)(0,a[l])(t)},function(l){for(n.status="rejected",n.reason=l,l=0;l<a.length;l++)(0,a[l])(void 0)}),n}var Mo=H.S;H.S=function(e,t){mf=$e(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&Nm(e,t),Mo!==null&&Mo(e,t)};var yn=C(null);function vi(){var e=yn.current;return e!==null?e:Ye.pooledCache}function _r(e,t){t===null?Y(yn,yn.current):Y(yn,t.pool)}function _o(){var e=vi();return e===null?null:{parent:at._currentValue,pool:e}}var Wn=Error(c(460)),wi=Error(c(474)),Rr=Error(c(542)),Lr={then:function(){}};function Ro(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Lo(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(da,da),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Do(e),e;default:if(typeof t.status=="string")t.then(da,da);else{if(e=Ye,e!==null&&100<e.shellSuspendCounter)throw Error(c(482));e=t,e.status="pending",e.then(function(n){if(t.status==="pending"){var l=t;l.status="fulfilled",l.value=n}},function(n){if(t.status==="pending"){var l=t;l.status="rejected",l.reason=n}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Do(e),e}throw xn=t,Wn}}function pn(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(xn=a,Wn):a}}var xn=null;function zo(){if(xn===null)throw Error(c(459));var e=xn;return xn=null,e}function Do(e){if(e===Wn||e===Rr)throw Error(c(483))}var el=null,Dl=0;function zr(e){var t=Dl;return Dl+=1,el===null&&(el=[]),Lo(el,e,t)}function Ol(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Dr(e,t){throw t.$$typeof===k?Error(c(525)):(e=Object.prototype.toString.call(t),Error(c(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Oo(e){function t(R,M){if(e){var U=R.deletions;U===null?(R.deletions=[M],R.flags|=16):U.push(M)}}function a(R,M){if(!e)return null;for(;M!==null;)t(R,M),M=M.sibling;return null}function n(R){for(var M=new Map;R!==null;)R.key!==null?M.set(R.key,R):M.set(R.index,R),R=R.sibling;return M}function l(R,M){return R=ga(R,M),R.index=0,R.sibling=null,R}function r(R,M,U){return R.index=U,e?(U=R.alternate,U!==null?(U=U.index,U<M?(R.flags|=67108866,M):U):(R.flags|=67108866,M)):(R.flags|=1048576,M)}function o(R){return e&&R.alternate===null&&(R.flags|=67108866),R}function h(R,M,U,$){return M===null||M.tag!==6?(M=ui(U,R.mode,$),M.return=R,M):(M=l(M,U),M.return=R,M)}function N(R,M,U,$){var pe=U.type;return pe===A?J(R,M,U.props.children,$,U.key):M!==null&&(M.elementType===pe||typeof pe=="object"&&pe!==null&&pe.$$typeof===F&&pn(pe)===M.type)?(M=l(M,U.props),Ol(M,U),M.return=R,M):(M=Ar(U.type,U.key,U.props,null,R.mode,$),Ol(M,U),M.return=R,M)}function q(R,M,U,$){return M===null||M.tag!==4||M.stateNode.containerInfo!==U.containerInfo||M.stateNode.implementation!==U.implementation?(M=oi(U,R.mode,$),M.return=R,M):(M=l(M,U.children||[]),M.return=R,M)}function J(R,M,U,$,pe){return M===null||M.tag!==7?(M=fn(U,R.mode,$,pe),M.return=R,M):(M=l(M,U),M.return=R,M)}function W(R,M,U){if(typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint")return M=ui(""+M,R.mode,U),M.return=R,M;if(typeof M=="object"&&M!==null){switch(M.$$typeof){case T:return U=Ar(M.type,M.key,M.props,null,R.mode,U),Ol(U,M),U.return=R,U;case S:return M=oi(M,R.mode,U),M.return=R,M;case F:return M=pn(M),W(R,M,U)}if(ce(M)||Z(M))return M=fn(M,R.mode,U,null),M.return=R,M;if(typeof M.then=="function")return W(R,zr(M),U);if(M.$$typeof===_)return W(R,Mr(R,M),U);Dr(R,M)}return null}function Q(R,M,U,$){var pe=M!==null?M.key:null;if(typeof U=="string"&&U!==""||typeof U=="number"||typeof U=="bigint")return pe!==null?null:h(R,M,""+U,$);if(typeof U=="object"&&U!==null){switch(U.$$typeof){case T:return U.key===pe?N(R,M,U,$):null;case S:return U.key===pe?q(R,M,U,$):null;case F:return U=pn(U),Q(R,M,U,$)}if(ce(U)||Z(U))return pe!==null?null:J(R,M,U,$,null);if(typeof U.then=="function")return Q(R,M,zr(U),$);if(U.$$typeof===_)return Q(R,M,Mr(R,U),$);Dr(R,U)}return null}function X(R,M,U,$,pe){if(typeof $=="string"&&$!==""||typeof $=="number"||typeof $=="bigint")return R=R.get(U)||null,h(M,R,""+$,pe);if(typeof $=="object"&&$!==null){switch($.$$typeof){case T:return R=R.get($.key===null?U:$.key)||null,N(M,R,$,pe);case S:return R=R.get($.key===null?U:$.key)||null,q(M,R,$,pe);case F:return $=pn($),X(R,M,U,$,pe)}if(ce($)||Z($))return R=R.get(U)||null,J(M,R,$,pe,null);if(typeof $.then=="function")return X(R,M,U,zr($),pe);if($.$$typeof===_)return X(R,M,U,Mr(M,$),pe);Dr(M,$)}return null}function ge(R,M,U,$){for(var pe=null,Re=null,he=M,Ee=M=0,Me=null;he!==null&&Ee<U.length;Ee++){he.index>Ee?(Me=he,he=null):Me=he.sibling;var Le=Q(R,he,U[Ee],$);if(Le===null){he===null&&(he=Me);break}e&&he&&Le.alternate===null&&t(R,he),M=r(Le,M,Ee),Re===null?pe=Le:Re.sibling=Le,Re=Le,he=Me}if(Ee===U.length)return a(R,he),_e&&ma(R,Ee),pe;if(he===null){for(;Ee<U.length;Ee++)he=W(R,U[Ee],$),he!==null&&(M=r(he,M,Ee),Re===null?pe=he:Re.sibling=he,Re=he);return _e&&ma(R,Ee),pe}for(he=n(he);Ee<U.length;Ee++)Me=X(he,R,Ee,U[Ee],$),Me!==null&&(e&&Me.alternate!==null&&he.delete(Me.key===null?Ee:Me.key),M=r(Me,M,Ee),Re===null?pe=Me:Re.sibling=Me,Re=Me);return e&&he.forEach(function(en){return t(R,en)}),_e&&ma(R,Ee),pe}function ve(R,M,U,$){if(U==null)throw Error(c(151));for(var pe=null,Re=null,he=M,Ee=M=0,Me=null,Le=U.next();he!==null&&!Le.done;Ee++,Le=U.next()){he.index>Ee?(Me=he,he=null):Me=he.sibling;var en=Q(R,he,Le.value,$);if(en===null){he===null&&(he=Me);break}e&&he&&en.alternate===null&&t(R,he),M=r(en,M,Ee),Re===null?pe=en:Re.sibling=en,Re=en,he=Me}if(Le.done)return a(R,he),_e&&ma(R,Ee),pe;if(he===null){for(;!Le.done;Ee++,Le=U.next())Le=W(R,Le.value,$),Le!==null&&(M=r(Le,M,Ee),Re===null?pe=Le:Re.sibling=Le,Re=Le);return _e&&ma(R,Ee),pe}for(he=n(he);!Le.done;Ee++,Le=U.next())Le=X(he,R,Ee,Le.value,$),Le!==null&&(e&&Le.alternate!==null&&he.delete(Le.key===null?Ee:Le.key),M=r(Le,M,Ee),Re===null?pe=Le:Re.sibling=Le,Re=Le);return e&&he.forEach(function(Uh){return t(R,Uh)}),_e&&ma(R,Ee),pe}function Ge(R,M,U,$){if(typeof U=="object"&&U!==null&&U.type===A&&U.key===null&&(U=U.props.children),typeof U=="object"&&U!==null){switch(U.$$typeof){case T:e:{for(var pe=U.key;M!==null;){if(M.key===pe){if(pe=U.type,pe===A){if(M.tag===7){a(R,M.sibling),$=l(M,U.props.children),$.return=R,R=$;break e}}else if(M.elementType===pe||typeof pe=="object"&&pe!==null&&pe.$$typeof===F&&pn(pe)===M.type){a(R,M.sibling),$=l(M,U.props),Ol($,U),$.return=R,R=$;break e}a(R,M);break}else t(R,M);M=M.sibling}U.type===A?($=fn(U.props.children,R.mode,$,U.key),$.return=R,R=$):($=Ar(U.type,U.key,U.props,null,R.mode,$),Ol($,U),$.return=R,R=$)}return o(R);case S:e:{for(pe=U.key;M!==null;){if(M.key===pe)if(M.tag===4&&M.stateNode.containerInfo===U.containerInfo&&M.stateNode.implementation===U.implementation){a(R,M.sibling),$=l(M,U.children||[]),$.return=R,R=$;break e}else{a(R,M);break}else t(R,M);M=M.sibling}$=oi(U,R.mode,$),$.return=R,R=$}return o(R);case F:return U=pn(U),Ge(R,M,U,$)}if(ce(U))return ge(R,M,U,$);if(Z(U)){if(pe=Z(U),typeof pe!="function")throw Error(c(150));return U=pe.call(U),ve(R,M,U,$)}if(typeof U.then=="function")return Ge(R,M,zr(U),$);if(U.$$typeof===_)return Ge(R,M,Mr(R,U),$);Dr(R,U)}return typeof U=="string"&&U!==""||typeof U=="number"||typeof U=="bigint"?(U=""+U,M!==null&&M.tag===6?(a(R,M.sibling),$=l(M,U),$.return=R,R=$):(a(R,M),$=ui(U,R.mode,$),$.return=R,R=$),o(R)):a(R,M)}return function(R,M,U,$){try{Dl=0;var pe=Ge(R,M,U,$);return el=null,pe}catch(he){if(he===Wn||he===Rr)throw he;var Re=_t(29,he,null,R.mode);return Re.lanes=$,Re.return=R,Re}finally{}}}var bn=Oo(!0),Uo=Oo(!1),Ua=!1;function Si(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ki(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 qa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ba(e,t,a){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(ze&2)!==0){var l=n.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),n.pending=t,t=Er(e),vo(e,null,a),t}return Nr(e,n,t,a),Er(e)}function Ul(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,Oe(e,a)}}function ji(e,t){var a=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,a===n)){var l=null,r=null;if(a=a.firstBaseUpdate,a!==null){do{var o={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};r===null?l=r=o:r=r.next=o,a=a.next}while(a!==null);r===null?l=r=t:r=r.next=t}else l=r=t;a={baseState:n.baseState,firstBaseUpdate:l,lastBaseUpdate:r,shared:n.shared,callbacks:n.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Ni=!1;function ql(){if(Ni){var e=$n;if(e!==null)throw e}}function Bl(e,t,a,n){Ni=!1;var l=e.updateQueue;Ua=!1;var r=l.firstBaseUpdate,o=l.lastBaseUpdate,h=l.shared.pending;if(h!==null){l.shared.pending=null;var N=h,q=N.next;N.next=null,o===null?r=q:o.next=q,o=N;var J=e.alternate;J!==null&&(J=J.updateQueue,h=J.lastBaseUpdate,h!==o&&(h===null?J.firstBaseUpdate=q:h.next=q,J.lastBaseUpdate=N))}if(r!==null){var W=l.baseState;o=0,J=q=N=null,h=r;do{var Q=h.lane&-536870913,X=Q!==h.lane;if(X?(Te&Q)===Q:(n&Q)===Q){Q!==0&&Q===Fn&&(Ni=!0),J!==null&&(J=J.next={lane:0,tag:h.tag,payload:h.payload,callback:null,next:null});e:{var ge=e,ve=h;Q=t;var Ge=a;switch(ve.tag){case 1:if(ge=ve.payload,typeof ge=="function"){W=ge.call(Ge,W,Q);break e}W=ge;break e;case 3:ge.flags=ge.flags&-65537|128;case 0:if(ge=ve.payload,Q=typeof ge=="function"?ge.call(Ge,W,Q):ge,Q==null)break e;W=b({},W,Q);break e;case 2:Ua=!0}}Q=h.callback,Q!==null&&(e.flags|=64,X&&(e.flags|=8192),X=l.callbacks,X===null?l.callbacks=[Q]:X.push(Q))}else X={lane:Q,tag:h.tag,payload:h.payload,callback:h.callback,next:null},J===null?(q=J=X,N=W):J=J.next=X,o|=Q;if(h=h.next,h===null){if(h=l.shared.pending,h===null)break;X=h,h=X.next,X.next=null,l.lastBaseUpdate=X,l.shared.pending=null}}while(!0);J===null&&(N=W),l.baseState=N,l.firstBaseUpdate=q,l.lastBaseUpdate=J,r===null&&(l.shared.lanes=0),Va|=o,e.lanes=o,e.memoizedState=W}}function qo(e,t){if(typeof e!="function")throw Error(c(191,e));e.call(t)}function Bo(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)qo(a[e],t)}var tl=C(null),Or=C(0);function Ho(e,t){e=Na,Y(Or,e),Y(tl,t),Na=e|t.baseLanes}function Ei(){Y(Or,Na),Y(tl,tl.current)}function Ai(){Na=Or.current,I(tl),I(Or)}var Rt=C(null),Pt=null;function Ha(e){var t=e.alternate;Y(We,We.current&1),Y(Rt,e),Pt===null&&(t===null||tl.current!==null||t.memoizedState!==null)&&(Pt=e)}function Ci(e){Y(We,We.current),Y(Rt,e),Pt===null&&(Pt=e)}function Qo(e){e.tag===22?(Y(We,We.current),Y(Rt,e),Pt===null&&(Pt=e)):Qa()}function Qa(){Y(We,We.current),Y(Rt,Rt.current)}function Lt(e){I(Rt),Pt===e&&(Pt=null),I(We)}var We=C(0);function Ur(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||zc(a)||Dc(a)))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)!==0)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 pa=0,Ne=null,He=null,nt=null,qr=!1,al=!1,vn=!1,Br=0,Hl=0,nl=null,Am=0;function Ie(){throw Error(c(321))}function Ti(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!Mt(e[a],t[a]))return!1;return!0}function Mi(e,t,a,n,l,r){return pa=r,Ne=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,H.H=e===null||e.memoizedState===null?jd:Xi,vn=!1,r=a(n,l),vn=!1,al&&(r=Yo(t,a,n,l)),Go(e),r}function Go(e){H.H=Yl;var t=He!==null&&He.next!==null;if(pa=0,nt=He=Ne=null,qr=!1,Hl=0,nl=null,t)throw Error(c(300));e===null||lt||(e=e.dependencies,e!==null&&Tr(e)&&(lt=!0))}function Yo(e,t,a,n){Ne=e;var l=0;do{if(al&&(nl=null),Hl=0,al=!1,25<=l)throw Error(c(301));if(l+=1,nt=He=null,e.updateQueue!=null){var r=e.updateQueue;r.lastEffect=null,r.events=null,r.stores=null,r.memoCache!=null&&(r.memoCache.index=0)}H.H=Nd,r=t(a,n)}while(al);return r}function Cm(){var e=H.H,t=e.useState()[0];return t=typeof t.then=="function"?Ql(t):t,e=e.useState()[0],(He!==null?He.memoizedState:null)!==e&&(Ne.flags|=1024),t}function _i(){var e=Br!==0;return Br=0,e}function Ri(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function Li(e){if(qr){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}qr=!1}pa=0,nt=He=Ne=null,al=!1,Hl=Br=0,nl=null}function wt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return nt===null?Ne.memoizedState=nt=e:nt=nt.next=e,nt}function et(){if(He===null){var e=Ne.alternate;e=e!==null?e.memoizedState:null}else e=He.next;var t=nt===null?Ne.memoizedState:nt.next;if(t!==null)nt=t,He=e;else{if(e===null)throw Ne.alternate===null?Error(c(467)):Error(c(310));He=e,e={memoizedState:He.memoizedState,baseState:He.baseState,baseQueue:He.baseQueue,queue:He.queue,next:null},nt===null?Ne.memoizedState=nt=e:nt=nt.next=e}return nt}function Hr(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Ql(e){var t=Hl;return Hl+=1,nl===null&&(nl=[]),e=Lo(nl,e,t),t=Ne,(nt===null?t.memoizedState:nt.next)===null&&(t=t.alternate,H.H=t===null||t.memoizedState===null?jd:Xi),e}function Qr(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Ql(e);if(e.$$typeof===_)return mt(e)}throw Error(c(438,String(e)))}function zi(e){var t=null,a=Ne.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var n=Ne.alternate;n!==null&&(n=n.updateQueue,n!==null&&(n=n.memoCache,n!=null&&(t={data:n.data.map(function(l){return l.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=Hr(),Ne.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),n=0;n<e;n++)a[n]=K;return t.index++,a}function xa(e,t){return typeof t=="function"?t(e):t}function Gr(e){var t=et();return Di(t,He,e)}function Di(e,t,a){var n=e.queue;if(n===null)throw Error(c(311));n.lastRenderedReducer=a;var l=e.baseQueue,r=n.pending;if(r!==null){if(l!==null){var o=l.next;l.next=r.next,r.next=o}t.baseQueue=l=r,n.pending=null}if(r=e.baseState,l===null)e.memoizedState=r;else{t=l.next;var h=o=null,N=null,q=t,J=!1;do{var W=q.lane&-536870913;if(W!==q.lane?(Te&W)===W:(pa&W)===W){var Q=q.revertLane;if(Q===0)N!==null&&(N=N.next={lane:0,revertLane:0,gesture:null,action:q.action,hasEagerState:q.hasEagerState,eagerState:q.eagerState,next:null}),W===Fn&&(J=!0);else if((pa&Q)===Q){q=q.next,Q===Fn&&(J=!0);continue}else W={lane:0,revertLane:q.revertLane,gesture:null,action:q.action,hasEagerState:q.hasEagerState,eagerState:q.eagerState,next:null},N===null?(h=N=W,o=r):N=N.next=W,Ne.lanes|=Q,Va|=Q;W=q.action,vn&&a(r,W),r=q.hasEagerState?q.eagerState:a(r,W)}else Q={lane:W,revertLane:q.revertLane,gesture:q.gesture,action:q.action,hasEagerState:q.hasEagerState,eagerState:q.eagerState,next:null},N===null?(h=N=Q,o=r):N=N.next=Q,Ne.lanes|=W,Va|=W;q=q.next}while(q!==null&&q!==t);if(N===null?o=r:N.next=h,!Mt(r,e.memoizedState)&&(lt=!0,J&&(a=$n,a!==null)))throw a;e.memoizedState=r,e.baseState=o,e.baseQueue=N,n.lastRenderedState=r}return l===null&&(n.lanes=0),[e.memoizedState,n.dispatch]}function Oi(e){var t=et(),a=t.queue;if(a===null)throw Error(c(311));a.lastRenderedReducer=e;var n=a.dispatch,l=a.pending,r=t.memoizedState;if(l!==null){a.pending=null;var o=l=l.next;do r=e(r,o.action),o=o.next;while(o!==l);Mt(r,t.memoizedState)||(lt=!0),t.memoizedState=r,t.baseQueue===null&&(t.baseState=r),a.lastRenderedState=r}return[r,n]}function Vo(e,t,a){var n=Ne,l=et(),r=_e;if(r){if(a===void 0)throw Error(c(407));a=a()}else a=t();var o=!Mt((He||l).memoizedState,a);if(o&&(l.memoizedState=a,lt=!0),l=l.queue,Bi(Ko.bind(null,n,l,e),[e]),l.getSnapshot!==t||o||nt!==null&&nt.memoizedState.tag&1){if(n.flags|=2048,ll(9,{destroy:void 0},Po.bind(null,n,l,a,t),null),Ye===null)throw Error(c(349));r||(pa&127)!==0||Xo(n,t,a)}return a}function Xo(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=Ne.updateQueue,t===null?(t=Hr(),Ne.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function Po(e,t,a,n){t.value=a,t.getSnapshot=n,Zo(t)&&Jo(e)}function Ko(e,t,a){return a(function(){Zo(t)&&Jo(e)})}function Zo(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!Mt(e,a)}catch{return!0}}function Jo(e){var t=dn(e,2);t!==null&&Ct(t,e,2)}function Ui(e){var t=wt();if(typeof e=="function"){var a=e;if(e=a(),vn){ea(!0);try{a()}finally{ea(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:xa,lastRenderedState:e},t}function Io(e,t,a,n){return e.baseState=a,Di(e,He,typeof n=="function"?n:xa)}function Tm(e,t,a,n,l){if(Xr(e))throw Error(c(485));if(e=t.action,e!==null){var r={payload:l,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(o){r.listeners.push(o)}};H.T!==null?a(!0):r.isTransition=!1,n(r),a=t.pending,a===null?(r.next=t.pending=r,Fo(t,r)):(r.next=a.next,t.pending=a.next=r)}}function Fo(e,t){var a=t.action,n=t.payload,l=e.state;if(t.isTransition){var r=H.T,o={};H.T=o;try{var h=a(l,n),N=H.S;N!==null&&N(o,h),$o(e,t,h)}catch(q){qi(e,t,q)}finally{r!==null&&o.types!==null&&(r.types=o.types),H.T=r}}else try{r=a(l,n),$o(e,t,r)}catch(q){qi(e,t,q)}}function $o(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(n){Wo(e,t,n)},function(n){return qi(e,t,n)}):Wo(e,t,a)}function Wo(e,t,a){t.status="fulfilled",t.value=a,ed(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,Fo(e,a)))}function qi(e,t,a){var n=e.pending;if(e.pending=null,n!==null){n=n.next;do t.status="rejected",t.reason=a,ed(t),t=t.next;while(t!==n)}e.action=null}function ed(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function td(e,t){return t}function ad(e,t){if(_e){var a=Ye.formState;if(a!==null){e:{var n=Ne;if(_e){if(Xe){t:{for(var l=Xe,r=Xt;l.nodeType!==8;){if(!r){l=null;break t}if(l=Kt(l.nextSibling),l===null){l=null;break t}}r=l.data,l=r==="F!"||r==="F"?l:null}if(l){Xe=Kt(l.nextSibling),n=l.data==="F!";break e}}Da(n)}n=!1}n&&(t=a[0])}}return a=wt(),a.memoizedState=a.baseState=t,n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:td,lastRenderedState:t},a.queue=n,a=wd.bind(null,Ne,n),n.dispatch=a,n=Ui(!1),r=Vi.bind(null,Ne,!1,n.queue),n=wt(),l={state:t,dispatch:null,action:e,pending:null},n.queue=l,a=Tm.bind(null,Ne,l,r,a),l.dispatch=a,n.memoizedState=e,[t,a,!1]}function nd(e){var t=et();return ld(t,He,e)}function ld(e,t,a){if(t=Di(e,t,td)[0],e=Gr(xa)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var n=Ql(t)}catch(o){throw o===Wn?Rr:o}else n=t;t=et();var l=t.queue,r=l.dispatch;return a!==t.memoizedState&&(Ne.flags|=2048,ll(9,{destroy:void 0},Mm.bind(null,l,a),null)),[n,r,e]}function Mm(e,t){e.action=t}function rd(e){var t=et(),a=He;if(a!==null)return ld(t,a,e);et(),t=t.memoizedState,a=et();var n=a.queue.dispatch;return a.memoizedState=e,[t,n,!1]}function ll(e,t,a,n){return e={tag:e,create:a,deps:n,inst:t,next:null},t=Ne.updateQueue,t===null&&(t=Hr(),Ne.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(n=a.next,a.next=e,e.next=n,t.lastEffect=e),e}function sd(){return et().memoizedState}function Yr(e,t,a,n){var l=wt();Ne.flags|=e,l.memoizedState=ll(1|t,{destroy:void 0},a,n===void 0?null:n)}function Vr(e,t,a,n){var l=et();n=n===void 0?null:n;var r=l.memoizedState.inst;He!==null&&n!==null&&Ti(n,He.memoizedState.deps)?l.memoizedState=ll(t,r,a,n):(Ne.flags|=e,l.memoizedState=ll(1|t,r,a,n))}function id(e,t){Yr(8390656,8,e,t)}function Bi(e,t){Vr(2048,8,e,t)}function _m(e){Ne.flags|=4;var t=Ne.updateQueue;if(t===null)t=Hr(),Ne.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function cd(e){var t=et().memoizedState;return _m({ref:t,nextImpl:e}),function(){if((ze&2)!==0)throw Error(c(440));return t.impl.apply(void 0,arguments)}}function ud(e,t){return Vr(4,2,e,t)}function od(e,t){return Vr(4,4,e,t)}function dd(e,t){if(typeof t=="function"){e=e();var a=t(e);return function(){typeof a=="function"?a():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function fd(e,t,a){a=a!=null?a.concat([e]):null,Vr(4,4,dd.bind(null,t,e),a)}function Hi(){}function gd(e,t){var a=et();t=t===void 0?null:t;var n=a.memoizedState;return t!==null&&Ti(t,n[1])?n[0]:(a.memoizedState=[e,t],e)}function md(e,t){var a=et();t=t===void 0?null:t;var n=a.memoizedState;if(t!==null&&Ti(t,n[1]))return n[0];if(n=e(),vn){ea(!0);try{e()}finally{ea(!1)}}return a.memoizedState=[n,t],n}function Qi(e,t,a){return a===void 0||(pa&1073741824)!==0&&(Te&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=yf(),Ne.lanes|=e,Va|=e,a)}function hd(e,t,a,n){return Mt(a,t)?a:tl.current!==null?(e=Qi(e,a,n),Mt(e,t)||(lt=!0),e):(pa&42)===0||(pa&1073741824)!==0&&(Te&261930)===0?(lt=!0,e.memoizedState=a):(e=yf(),Ne.lanes|=e,Va|=e,t)}function yd(e,t,a,n,l){var r=te.p;te.p=r!==0&&8>r?r:8;var o=H.T,h={};H.T=h,Vi(e,!1,t,a);try{var N=l(),q=H.S;if(q!==null&&q(h,N),N!==null&&typeof N=="object"&&typeof N.then=="function"){var J=Em(N,n);Gl(e,t,J,Ot(e))}else Gl(e,t,n,Ot(e))}catch(W){Gl(e,t,{then:function(){},status:"rejected",reason:W},Ot())}finally{te.p=r,o!==null&&h.types!==null&&(o.types=h.types),H.T=o}}function Rm(){}function Gi(e,t,a,n){if(e.tag!==5)throw Error(c(476));var l=pd(e).queue;yd(e,l,t,me,a===null?Rm:function(){return xd(e),a(n)})}function pd(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:me,baseState:me,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:xa,lastRenderedState:me},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:xa,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function xd(e){var t=pd(e);t.next===null&&(t=e.alternate.memoizedState),Gl(e,t.next.queue,{},Ot())}function Yi(){return mt(rr)}function bd(){return et().memoizedState}function vd(){return et().memoizedState}function Lm(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Ot();e=qa(a);var n=Ba(t,e,a);n!==null&&(Ct(n,t,a),Ul(n,t,a)),t={cache:xi()},e.payload=t;return}t=t.return}}function zm(e,t,a){var n=Ot();a={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Xr(e)?Sd(t,a):(a=ii(e,t,a,n),a!==null&&(Ct(a,e,n),kd(a,t,n)))}function wd(e,t,a){var n=Ot();Gl(e,t,a,n)}function Gl(e,t,a,n){var l={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Xr(e))Sd(t,l);else{var r=e.alternate;if(e.lanes===0&&(r===null||r.lanes===0)&&(r=t.lastRenderedReducer,r!==null))try{var o=t.lastRenderedState,h=r(o,a);if(l.hasEagerState=!0,l.eagerState=h,Mt(h,o))return Nr(e,t,l,0),Ye===null&&jr(),!1}catch{}finally{}if(a=ii(e,t,l,n),a!==null)return Ct(a,e,n),kd(a,t,n),!0}return!1}function Vi(e,t,a,n){if(n={lane:2,revertLane:Sc(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Xr(e)){if(t)throw Error(c(479))}else t=ii(e,a,n,2),t!==null&&Ct(t,e,2)}function Xr(e){var t=e.alternate;return e===Ne||t!==null&&t===Ne}function Sd(e,t){al=qr=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function kd(e,t,a){if((a&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,Oe(e,a)}}var Yl={readContext:mt,use:Qr,useCallback:Ie,useContext:Ie,useEffect:Ie,useImperativeHandle:Ie,useLayoutEffect:Ie,useInsertionEffect:Ie,useMemo:Ie,useReducer:Ie,useRef:Ie,useState:Ie,useDebugValue:Ie,useDeferredValue:Ie,useTransition:Ie,useSyncExternalStore:Ie,useId:Ie,useHostTransitionStatus:Ie,useFormState:Ie,useActionState:Ie,useOptimistic:Ie,useMemoCache:Ie,useCacheRefresh:Ie};Yl.useEffectEvent=Ie;var jd={readContext:mt,use:Qr,useCallback:function(e,t){return wt().memoizedState=[e,t===void 0?null:t],e},useContext:mt,useEffect:id,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,Yr(4194308,4,dd.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Yr(4194308,4,e,t)},useInsertionEffect:function(e,t){Yr(4,2,e,t)},useMemo:function(e,t){var a=wt();t=t===void 0?null:t;var n=e();if(vn){ea(!0);try{e()}finally{ea(!1)}}return a.memoizedState=[n,t],n},useReducer:function(e,t,a){var n=wt();if(a!==void 0){var l=a(t);if(vn){ea(!0);try{a(t)}finally{ea(!1)}}}else l=t;return n.memoizedState=n.baseState=l,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:l},n.queue=e,e=e.dispatch=zm.bind(null,Ne,e),[n.memoizedState,e]},useRef:function(e){var t=wt();return e={current:e},t.memoizedState=e},useState:function(e){e=Ui(e);var t=e.queue,a=wd.bind(null,Ne,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Hi,useDeferredValue:function(e,t){var a=wt();return Qi(a,e,t)},useTransition:function(){var e=Ui(!1);return e=yd.bind(null,Ne,e.queue,!0,!1),wt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var n=Ne,l=wt();if(_e){if(a===void 0)throw Error(c(407));a=a()}else{if(a=t(),Ye===null)throw Error(c(349));(Te&127)!==0||Xo(n,t,a)}l.memoizedState=a;var r={value:a,getSnapshot:t};return l.queue=r,id(Ko.bind(null,n,r,e),[e]),n.flags|=2048,ll(9,{destroy:void 0},Po.bind(null,n,r,a,t),null),a},useId:function(){var e=wt(),t=Ye.identifierPrefix;if(_e){var a=aa,n=ta;a=(n&~(1<<32-xt(n)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Br++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=Am++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Yi,useFormState:ad,useActionState:ad,useOptimistic:function(e){var t=wt();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=Vi.bind(null,Ne,!0,a),a.dispatch=t,[e,t]},useMemoCache:zi,useCacheRefresh:function(){return wt().memoizedState=Lm.bind(null,Ne)},useEffectEvent:function(e){var t=wt(),a={impl:e};return t.memoizedState=a,function(){if((ze&2)!==0)throw Error(c(440));return a.impl.apply(void 0,arguments)}}},Xi={readContext:mt,use:Qr,useCallback:gd,useContext:mt,useEffect:Bi,useImperativeHandle:fd,useInsertionEffect:ud,useLayoutEffect:od,useMemo:md,useReducer:Gr,useRef:sd,useState:function(){return Gr(xa)},useDebugValue:Hi,useDeferredValue:function(e,t){var a=et();return hd(a,He.memoizedState,e,t)},useTransition:function(){var e=Gr(xa)[0],t=et().memoizedState;return[typeof e=="boolean"?e:Ql(e),t]},useSyncExternalStore:Vo,useId:bd,useHostTransitionStatus:Yi,useFormState:nd,useActionState:nd,useOptimistic:function(e,t){var a=et();return Io(a,He,e,t)},useMemoCache:zi,useCacheRefresh:vd};Xi.useEffectEvent=cd;var Nd={readContext:mt,use:Qr,useCallback:gd,useContext:mt,useEffect:Bi,useImperativeHandle:fd,useInsertionEffect:ud,useLayoutEffect:od,useMemo:md,useReducer:Oi,useRef:sd,useState:function(){return Oi(xa)},useDebugValue:Hi,useDeferredValue:function(e,t){var a=et();return He===null?Qi(a,e,t):hd(a,He.memoizedState,e,t)},useTransition:function(){var e=Oi(xa)[0],t=et().memoizedState;return[typeof e=="boolean"?e:Ql(e),t]},useSyncExternalStore:Vo,useId:bd,useHostTransitionStatus:Yi,useFormState:rd,useActionState:rd,useOptimistic:function(e,t){var a=et();return He!==null?Io(a,He,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:zi,useCacheRefresh:vd};Nd.useEffectEvent=cd;function Pi(e,t,a,n){t=e.memoizedState,a=a(n,t),a=a==null?t:b({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var Ki={enqueueSetState:function(e,t,a){e=e._reactInternals;var n=Ot(),l=qa(n);l.payload=t,a!=null&&(l.callback=a),t=Ba(e,l,n),t!==null&&(Ct(t,e,n),Ul(t,e,n))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var n=Ot(),l=qa(n);l.tag=1,l.payload=t,a!=null&&(l.callback=a),t=Ba(e,l,n),t!==null&&(Ct(t,e,n),Ul(t,e,n))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Ot(),n=qa(a);n.tag=2,t!=null&&(n.callback=t),t=Ba(e,n,a),t!==null&&(Ct(t,e,a),Ul(t,e,a))}};function Ed(e,t,a,n,l,r,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(n,r,o):t.prototype&&t.prototype.isPureReactComponent?!Tl(a,n)||!Tl(l,r):!0}function Ad(e,t,a,n){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,n),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,n),t.state!==e&&Ki.enqueueReplaceState(t,t.state,null)}function wn(e,t){var a=t;if("ref"in t){a={};for(var n in t)n!=="ref"&&(a[n]=t[n])}if(e=e.defaultProps){a===t&&(a=b({},a));for(var l in e)a[l]===void 0&&(a[l]=e[l])}return a}function Cd(e){kr(e)}function Td(e){console.error(e)}function Md(e){kr(e)}function Pr(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(n){setTimeout(function(){throw n})}}function _d(e,t,a){try{var n=e.onCaughtError;n(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(l){setTimeout(function(){throw l})}}function Zi(e,t,a){return a=qa(a),a.tag=3,a.payload={element:null},a.callback=function(){Pr(e,t)},a}function Rd(e){return e=qa(e),e.tag=3,e}function Ld(e,t,a,n){var l=a.type.getDerivedStateFromError;if(typeof l=="function"){var r=n.value;e.payload=function(){return l(r)},e.callback=function(){_d(t,a,n)}}var o=a.stateNode;o!==null&&typeof o.componentDidCatch=="function"&&(e.callback=function(){_d(t,a,n),typeof l!="function"&&(Xa===null?Xa=new Set([this]):Xa.add(this));var h=n.stack;this.componentDidCatch(n.value,{componentStack:h!==null?h:""})})}function Dm(e,t,a,n,l){if(a.flags|=32768,n!==null&&typeof n=="object"&&typeof n.then=="function"){if(t=a.alternate,t!==null&&In(t,a,l,!0),a=Rt.current,a!==null){switch(a.tag){case 31:case 13:return Pt===null?ls():a.alternate===null&&Fe===0&&(Fe=3),a.flags&=-257,a.flags|=65536,a.lanes=l,n===Lr?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([n]):t.add(n),bc(e,n,l)),!1;case 22:return a.flags|=65536,n===Lr?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([n])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([n]):a.add(n)),bc(e,n,l)),!1}throw Error(c(435,a.tag))}return bc(e,n,l),ls(),!1}if(_e)return t=Rt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=l,n!==gi&&(e=Error(c(422),{cause:n}),Rl(Gt(e,a)))):(n!==gi&&(t=Error(c(423),{cause:n}),Rl(Gt(t,a))),e=e.current.alternate,e.flags|=65536,l&=-l,e.lanes|=l,n=Gt(n,a),l=Zi(e.stateNode,n,l),ji(e,l),Fe!==4&&(Fe=2)),!1;var r=Error(c(520),{cause:n});if(r=Gt(r,a),Fl===null?Fl=[r]:Fl.push(r),Fe!==4&&(Fe=2),t===null)return!0;n=Gt(n,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=l&-l,a.lanes|=e,e=Zi(a.stateNode,n,e),ji(a,e),!1;case 1:if(t=a.type,r=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||r!==null&&typeof r.componentDidCatch=="function"&&(Xa===null||!Xa.has(r))))return a.flags|=65536,l&=-l,a.lanes|=l,l=Rd(l),Ld(l,e,a,n),ji(a,l),!1}a=a.return}while(a!==null);return!1}var Ji=Error(c(461)),lt=!1;function ht(e,t,a,n){t.child=e===null?Uo(t,null,a,n):bn(t,e.child,a,n)}function zd(e,t,a,n,l){a=a.render;var r=t.ref;if("ref"in n){var o={};for(var h in n)h!=="ref"&&(o[h]=n[h])}else o=n;return hn(t),n=Mi(e,t,a,o,r,l),h=_i(),e!==null&&!lt?(Ri(e,t,l),ba(e,t,l)):(_e&&h&&di(t),t.flags|=1,ht(e,t,n,l),t.child)}function Dd(e,t,a,n,l){if(e===null){var r=a.type;return typeof r=="function"&&!ci(r)&&r.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=r,Od(e,t,r,n,l)):(e=Ar(a.type,null,n,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(r=e.child,!nc(e,l)){var o=r.memoizedProps;if(a=a.compare,a=a!==null?a:Tl,a(o,n)&&e.ref===t.ref)return ba(e,t,l)}return t.flags|=1,e=ga(r,n),e.ref=t.ref,e.return=t,t.child=e}function Od(e,t,a,n,l){if(e!==null){var r=e.memoizedProps;if(Tl(r,n)&&e.ref===t.ref)if(lt=!1,t.pendingProps=n=r,nc(e,l))(e.flags&131072)!==0&&(lt=!0);else return t.lanes=e.lanes,ba(e,t,l)}return Ii(e,t,a,n,l)}function Ud(e,t,a,n){var l=n.children,r=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.mode==="hidden"){if((t.flags&128)!==0){if(r=r!==null?r.baseLanes|a:a,e!==null){for(n=t.child=e.child,l=0;n!==null;)l=l|n.lanes|n.childLanes,n=n.sibling;n=l&~r}else n=0,t.child=null;return qd(e,t,r,a,n)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&_r(t,r!==null?r.cachePool:null),r!==null?Ho(t,r):Ei(),Qo(t);else return n=t.lanes=536870912,qd(e,t,r!==null?r.baseLanes|a:a,a,n)}else r!==null?(_r(t,r.cachePool),Ho(t,r),Qa(),t.memoizedState=null):(e!==null&&_r(t,null),Ei(),Qa());return ht(e,t,l,a),t.child}function Vl(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function qd(e,t,a,n,l){var r=vi();return r=r===null?null:{parent:at._currentValue,pool:r},t.memoizedState={baseLanes:a,cachePool:r},e!==null&&_r(t,null),Ei(),Qo(t),e!==null&&In(e,t,n,!0),t.childLanes=l,null}function Kr(e,t){return t=Jr({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Bd(e,t,a){return bn(t,e.child,null,a),e=Kr(t,t.pendingProps),e.flags|=2,Lt(t),t.memoizedState=null,e}function Om(e,t,a){var n=t.pendingProps,l=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(_e){if(n.mode==="hidden")return e=Kr(t,n),t.lanes=536870912,Vl(null,e);if(Ci(t),(e=Xe)?(e=$f(e,Xt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:La!==null?{id:ta,overflow:aa}:null,retryLane:536870912,hydrationErrors:null},a=So(e),a.return=t,t.child=a,gt=t,Xe=null)):e=null,e===null)throw Da(t);return t.lanes=536870912,null}return Kr(t,n)}var r=e.memoizedState;if(r!==null){var o=r.dehydrated;if(Ci(t),l)if(t.flags&256)t.flags&=-257,t=Bd(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(c(558));else if(lt||In(e,t,a,!1),l=(a&e.childLanes)!==0,lt||l){if(n=Ye,n!==null&&(o=vt(n,a),o!==0&&o!==r.retryLane))throw r.retryLane=o,dn(e,o),Ct(n,e,o),Ji;ls(),t=Bd(e,t,a)}else e=r.treeContext,Xe=Kt(o.nextSibling),gt=t,_e=!0,za=null,Xt=!1,e!==null&&No(t,e),t=Kr(t,n),t.flags|=4096;return t}return e=ga(e.child,{mode:n.mode,children:n.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Zr(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(c(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function Ii(e,t,a,n,l){return hn(t),a=Mi(e,t,a,n,void 0,l),n=_i(),e!==null&&!lt?(Ri(e,t,l),ba(e,t,l)):(_e&&n&&di(t),t.flags|=1,ht(e,t,a,l),t.child)}function Hd(e,t,a,n,l,r){return hn(t),t.updateQueue=null,a=Yo(t,n,a,l),Go(e),n=_i(),e!==null&&!lt?(Ri(e,t,r),ba(e,t,r)):(_e&&n&&di(t),t.flags|=1,ht(e,t,a,r),t.child)}function Qd(e,t,a,n,l){if(hn(t),t.stateNode===null){var r=Pn,o=a.contextType;typeof o=="object"&&o!==null&&(r=mt(o)),r=new a(n,r),t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,r.updater=Ki,t.stateNode=r,r._reactInternals=t,r=t.stateNode,r.props=n,r.state=t.memoizedState,r.refs={},Si(t),o=a.contextType,r.context=typeof o=="object"&&o!==null?mt(o):Pn,r.state=t.memoizedState,o=a.getDerivedStateFromProps,typeof o=="function"&&(Pi(t,a,o,n),r.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof r.getSnapshotBeforeUpdate=="function"||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(o=r.state,typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount(),o!==r.state&&Ki.enqueueReplaceState(r,r.state,null),Bl(t,n,r,l),ql(),r.state=t.memoizedState),typeof r.componentDidMount=="function"&&(t.flags|=4194308),n=!0}else if(e===null){r=t.stateNode;var h=t.memoizedProps,N=wn(a,h);r.props=N;var q=r.context,J=a.contextType;o=Pn,typeof J=="object"&&J!==null&&(o=mt(J));var W=a.getDerivedStateFromProps;J=typeof W=="function"||typeof r.getSnapshotBeforeUpdate=="function",h=t.pendingProps!==h,J||typeof r.UNSAFE_componentWillReceiveProps!="function"&&typeof r.componentWillReceiveProps!="function"||(h||q!==o)&&Ad(t,r,n,o),Ua=!1;var Q=t.memoizedState;r.state=Q,Bl(t,n,r,l),ql(),q=t.memoizedState,h||Q!==q||Ua?(typeof W=="function"&&(Pi(t,a,W,n),q=t.memoizedState),(N=Ua||Ed(t,a,N,n,Q,q,o))?(J||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount()),typeof r.componentDidMount=="function"&&(t.flags|=4194308)):(typeof r.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=n,t.memoizedState=q),r.props=n,r.state=q,r.context=o,n=N):(typeof r.componentDidMount=="function"&&(t.flags|=4194308),n=!1)}else{r=t.stateNode,ki(e,t),o=t.memoizedProps,J=wn(a,o),r.props=J,W=t.pendingProps,Q=r.context,q=a.contextType,N=Pn,typeof q=="object"&&q!==null&&(N=mt(q)),h=a.getDerivedStateFromProps,(q=typeof h=="function"||typeof r.getSnapshotBeforeUpdate=="function")||typeof r.UNSAFE_componentWillReceiveProps!="function"&&typeof r.componentWillReceiveProps!="function"||(o!==W||Q!==N)&&Ad(t,r,n,N),Ua=!1,Q=t.memoizedState,r.state=Q,Bl(t,n,r,l),ql();var X=t.memoizedState;o!==W||Q!==X||Ua||e!==null&&e.dependencies!==null&&Tr(e.dependencies)?(typeof h=="function"&&(Pi(t,a,h,n),X=t.memoizedState),(J=Ua||Ed(t,a,J,n,Q,X,N)||e!==null&&e.dependencies!==null&&Tr(e.dependencies))?(q||typeof r.UNSAFE_componentWillUpdate!="function"&&typeof r.componentWillUpdate!="function"||(typeof r.componentWillUpdate=="function"&&r.componentWillUpdate(n,X,N),typeof r.UNSAFE_componentWillUpdate=="function"&&r.UNSAFE_componentWillUpdate(n,X,N)),typeof r.componentDidUpdate=="function"&&(t.flags|=4),typeof r.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof r.componentDidUpdate!="function"||o===e.memoizedProps&&Q===e.memoizedState||(t.flags|=4),typeof r.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&Q===e.memoizedState||(t.flags|=1024),t.memoizedProps=n,t.memoizedState=X),r.props=n,r.state=X,r.context=N,n=J):(typeof r.componentDidUpdate!="function"||o===e.memoizedProps&&Q===e.memoizedState||(t.flags|=4),typeof r.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&Q===e.memoizedState||(t.flags|=1024),n=!1)}return r=n,Zr(e,t),n=(t.flags&128)!==0,r||n?(r=t.stateNode,a=n&&typeof a.getDerivedStateFromError!="function"?null:r.render(),t.flags|=1,e!==null&&n?(t.child=bn(t,e.child,null,l),t.child=bn(t,null,a,l)):ht(e,t,a,l),t.memoizedState=r.state,e=t.child):e=ba(e,t,l),e}function Gd(e,t,a,n){return gn(),t.flags|=256,ht(e,t,a,n),t.child}var Fi={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function $i(e){return{baseLanes:e,cachePool:_o()}}function Wi(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=Dt),e}function Yd(e,t,a){var n=t.pendingProps,l=!1,r=(t.flags&128)!==0,o;if((o=r)||(o=e!==null&&e.memoizedState===null?!1:(We.current&2)!==0),o&&(l=!0,t.flags&=-129),o=(t.flags&32)!==0,t.flags&=-33,e===null){if(_e){if(l?Ha(t):Qa(),(e=Xe)?(e=$f(e,Xt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:La!==null?{id:ta,overflow:aa}:null,retryLane:536870912,hydrationErrors:null},a=So(e),a.return=t,t.child=a,gt=t,Xe=null)):e=null,e===null)throw Da(t);return Dc(e)?t.lanes=32:t.lanes=536870912,null}var h=n.children;return n=n.fallback,l?(Qa(),l=t.mode,h=Jr({mode:"hidden",children:h},l),n=fn(n,l,a,null),h.return=t,n.return=t,h.sibling=n,t.child=h,n=t.child,n.memoizedState=$i(a),n.childLanes=Wi(e,o,a),t.memoizedState=Fi,Vl(null,n)):(Ha(t),ec(t,h))}var N=e.memoizedState;if(N!==null&&(h=N.dehydrated,h!==null)){if(r)t.flags&256?(Ha(t),t.flags&=-257,t=tc(e,t,a)):t.memoizedState!==null?(Qa(),t.child=e.child,t.flags|=128,t=null):(Qa(),h=n.fallback,l=t.mode,n=Jr({mode:"visible",children:n.children},l),h=fn(h,l,a,null),h.flags|=2,n.return=t,h.return=t,n.sibling=h,t.child=n,bn(t,e.child,null,a),n=t.child,n.memoizedState=$i(a),n.childLanes=Wi(e,o,a),t.memoizedState=Fi,t=Vl(null,n));else if(Ha(t),Dc(h)){if(o=h.nextSibling&&h.nextSibling.dataset,o)var q=o.dgst;o=q,n=Error(c(419)),n.stack="",n.digest=o,Rl({value:n,source:null,stack:null}),t=tc(e,t,a)}else if(lt||In(e,t,a,!1),o=(a&e.childLanes)!==0,lt||o){if(o=Ye,o!==null&&(n=vt(o,a),n!==0&&n!==N.retryLane))throw N.retryLane=n,dn(e,n),Ct(o,e,n),Ji;zc(h)||ls(),t=tc(e,t,a)}else zc(h)?(t.flags|=192,t.child=e.child,t=null):(e=N.treeContext,Xe=Kt(h.nextSibling),gt=t,_e=!0,za=null,Xt=!1,e!==null&&No(t,e),t=ec(t,n.children),t.flags|=4096);return t}return l?(Qa(),h=n.fallback,l=t.mode,N=e.child,q=N.sibling,n=ga(N,{mode:"hidden",children:n.children}),n.subtreeFlags=N.subtreeFlags&65011712,q!==null?h=ga(q,h):(h=fn(h,l,a,null),h.flags|=2),h.return=t,n.return=t,n.sibling=h,t.child=n,Vl(null,n),n=t.child,h=e.child.memoizedState,h===null?h=$i(a):(l=h.cachePool,l!==null?(N=at._currentValue,l=l.parent!==N?{parent:N,pool:N}:l):l=_o(),h={baseLanes:h.baseLanes|a,cachePool:l}),n.memoizedState=h,n.childLanes=Wi(e,o,a),t.memoizedState=Fi,Vl(e.child,n)):(Ha(t),a=e.child,e=a.sibling,a=ga(a,{mode:"visible",children:n.children}),a.return=t,a.sibling=null,e!==null&&(o=t.deletions,o===null?(t.deletions=[e],t.flags|=16):o.push(e)),t.child=a,t.memoizedState=null,a)}function ec(e,t){return t=Jr({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function Jr(e,t){return e=_t(22,e,null,t),e.lanes=0,e}function tc(e,t,a){return bn(t,e.child,null,a),e=ec(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Vd(e,t,a){e.lanes|=t;var n=e.alternate;n!==null&&(n.lanes|=t),yi(e.return,t,a)}function ac(e,t,a,n,l,r){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:a,tailMode:l,treeForkCount:r}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=n,o.tail=a,o.tailMode=l,o.treeForkCount=r)}function Xd(e,t,a){var n=t.pendingProps,l=n.revealOrder,r=n.tail;n=n.children;var o=We.current,h=(o&2)!==0;if(h?(o=o&1|2,t.flags|=128):o&=1,Y(We,o),ht(e,t,n,a),n=_e?_l:0,!h&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Vd(e,a,t);else if(e.tag===19)Vd(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(l){case"forwards":for(a=t.child,l=null;a!==null;)e=a.alternate,e!==null&&Ur(e)===null&&(l=a),a=a.sibling;a=l,a===null?(l=t.child,t.child=null):(l=a.sibling,a.sibling=null),ac(t,!1,l,a,r,n);break;case"backwards":case"unstable_legacy-backwards":for(a=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&Ur(e)===null){t.child=l;break}e=l.sibling,l.sibling=a,a=l,l=e}ac(t,!0,a,null,r,n);break;case"together":ac(t,!1,null,null,void 0,n);break;default:t.memoizedState=null}return t.child}function ba(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Va|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(In(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(c(153));if(t.child!==null){for(e=t.child,a=ga(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=ga(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function nc(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Tr(e)))}function Um(e,t,a){switch(t.tag){case 3:fe(t,t.stateNode.containerInfo),Oa(t,at,e.memoizedState.cache),gn();break;case 27:case 5:Ve(t);break;case 4:fe(t,t.stateNode.containerInfo);break;case 10:Oa(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Ci(t),null;break;case 13:var n=t.memoizedState;if(n!==null)return n.dehydrated!==null?(Ha(t),t.flags|=128,null):(a&t.child.childLanes)!==0?Yd(e,t,a):(Ha(t),e=ba(e,t,a),e!==null?e.sibling:null);Ha(t);break;case 19:var l=(e.flags&128)!==0;if(n=(a&t.childLanes)!==0,n||(In(e,t,a,!1),n=(a&t.childLanes)!==0),l){if(n)return Xd(e,t,a);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),Y(We,We.current),n)break;return null;case 22:return t.lanes=0,Ud(e,t,a,t.pendingProps);case 24:Oa(t,at,e.memoizedState.cache)}return ba(e,t,a)}function Pd(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)lt=!0;else{if(!nc(e,a)&&(t.flags&128)===0)return lt=!1,Um(e,t,a);lt=(e.flags&131072)!==0}else lt=!1,_e&&(t.flags&1048576)!==0&&jo(t,_l,t.index);switch(t.lanes=0,t.tag){case 16:e:{var n=t.pendingProps;if(e=pn(t.elementType),t.type=e,typeof e=="function")ci(e)?(n=wn(e,n),t.tag=1,t=Qd(null,t,e,n,a)):(t.tag=0,t=Ii(null,t,e,n,a));else{if(e!=null){var l=e.$$typeof;if(l===O){t.tag=11,t=zd(null,t,e,n,a);break e}else if(l===z){t.tag=14,t=Dd(null,t,e,n,a);break e}}throw t=ne(e)||e,Error(c(306,t,""))}}return t;case 0:return Ii(e,t,t.type,t.pendingProps,a);case 1:return n=t.type,l=wn(n,t.pendingProps),Qd(e,t,n,l,a);case 3:e:{if(fe(t,t.stateNode.containerInfo),e===null)throw Error(c(387));n=t.pendingProps;var r=t.memoizedState;l=r.element,ki(e,t),Bl(t,n,null,a);var o=t.memoizedState;if(n=o.cache,Oa(t,at,n),n!==r.cache&&pi(t,[at],a,!0),ql(),n=o.element,r.isDehydrated)if(r={element:n,isDehydrated:!1,cache:o.cache},t.updateQueue.baseState=r,t.memoizedState=r,t.flags&256){t=Gd(e,t,n,a);break e}else if(n!==l){l=Gt(Error(c(424)),t),Rl(l),t=Gd(e,t,n,a);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(Xe=Kt(e.firstChild),gt=t,_e=!0,za=null,Xt=!0,a=Uo(t,null,n,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling}else{if(gn(),n===l){t=ba(e,t,a);break e}ht(e,t,n,a)}t=t.child}return t;case 26:return Zr(e,t),e===null?(a=l0(t.type,null,t.pendingProps,null))?t.memoizedState=a:_e||(a=t.type,e=t.pendingProps,n=ds(de.current).createElement(a),n[ft]=t,n[St]=e,yt(n,a,e),ut(n),t.stateNode=n):t.memoizedState=l0(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Ve(t),e===null&&_e&&(n=t.stateNode=t0(t.type,t.pendingProps,de.current),gt=t,Xt=!0,l=Xe,Ja(t.type)?(Oc=l,Xe=Kt(n.firstChild)):Xe=l),ht(e,t,t.pendingProps.children,a),Zr(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&_e&&((l=n=Xe)&&(n=gh(n,t.type,t.pendingProps,Xt),n!==null?(t.stateNode=n,gt=t,Xe=Kt(n.firstChild),Xt=!1,l=!0):l=!1),l||Da(t)),Ve(t),l=t.type,r=t.pendingProps,o=e!==null?e.memoizedProps:null,n=r.children,_c(l,r)?n=null:o!==null&&_c(l,o)&&(t.flags|=32),t.memoizedState!==null&&(l=Mi(e,t,Cm,null,null,a),rr._currentValue=l),Zr(e,t),ht(e,t,n,a),t.child;case 6:return e===null&&_e&&((e=a=Xe)&&(a=mh(a,t.pendingProps,Xt),a!==null?(t.stateNode=a,gt=t,Xe=null,e=!0):e=!1),e||Da(t)),null;case 13:return Yd(e,t,a);case 4:return fe(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=bn(t,null,n,a):ht(e,t,n,a),t.child;case 11:return zd(e,t,t.type,t.pendingProps,a);case 7:return ht(e,t,t.pendingProps,a),t.child;case 8:return ht(e,t,t.pendingProps.children,a),t.child;case 12:return ht(e,t,t.pendingProps.children,a),t.child;case 10:return n=t.pendingProps,Oa(t,t.type,n.value),ht(e,t,n.children,a),t.child;case 9:return l=t.type._context,n=t.pendingProps.children,hn(t),l=mt(l),n=n(l),t.flags|=1,ht(e,t,n,a),t.child;case 14:return Dd(e,t,t.type,t.pendingProps,a);case 15:return Od(e,t,t.type,t.pendingProps,a);case 19:return Xd(e,t,a);case 31:return Om(e,t,a);case 22:return Ud(e,t,a,t.pendingProps);case 24:return hn(t),n=mt(at),e===null?(l=vi(),l===null&&(l=Ye,r=xi(),l.pooledCache=r,r.refCount++,r!==null&&(l.pooledCacheLanes|=a),l=r),t.memoizedState={parent:n,cache:l},Si(t),Oa(t,at,l)):((e.lanes&a)!==0&&(ki(e,t),Bl(t,null,null,a),ql()),l=e.memoizedState,r=t.memoizedState,l.parent!==n?(l={parent:n,cache:n},t.memoizedState=l,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=l),Oa(t,at,n)):(n=r.cache,Oa(t,at,n),n!==l.cache&&pi(t,[at],a,!0))),ht(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(c(156,t.tag))}function va(e){e.flags|=4}function lc(e,t,a,n,l){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(l&335544128)===l)if(e.stateNode.complete)e.flags|=8192;else if(vf())e.flags|=8192;else throw xn=Lr,wi}else e.flags&=-16777217}function Kd(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!u0(t))if(vf())e.flags|=8192;else throw xn=Lr,wi}function Ir(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?oe():536870912,e.lanes|=t,cl|=t)}function Xl(e,t){if(!_e)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var n=null;a!==null;)a.alternate!==null&&(n=a),a=a.sibling;n===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:n.sibling=null}}function Pe(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,n=0;if(t)for(var l=e.child;l!==null;)a|=l.lanes|l.childLanes,n|=l.subtreeFlags&65011712,n|=l.flags&65011712,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)a|=l.lanes|l.childLanes,n|=l.subtreeFlags,n|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=n,e.childLanes=a,t}function qm(e,t,a){var n=t.pendingProps;switch(fi(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Pe(t),null;case 1:return Pe(t),null;case 3:return a=t.stateNode,n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ya(at),xe(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(Jn(t)?va(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,mi())),Pe(t),null;case 26:var l=t.type,r=t.memoizedState;return e===null?(va(t),r!==null?(Pe(t),Kd(t,r)):(Pe(t),lc(t,l,null,n,a))):r?r!==e.memoizedState?(va(t),Pe(t),Kd(t,r)):(Pe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==n&&va(t),Pe(t),lc(t,l,e,n,a)),null;case 27:if(Be(t),a=de.current,l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==n&&va(t);else{if(!n){if(t.stateNode===null)throw Error(c(166));return Pe(t),null}e=ae.current,Jn(t)?Eo(t):(e=t0(l,n,a),t.stateNode=e,va(t))}return Pe(t),null;case 5:if(Be(t),l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==n&&va(t);else{if(!n){if(t.stateNode===null)throw Error(c(166));return Pe(t),null}if(r=ae.current,Jn(t))Eo(t);else{var o=ds(de.current);switch(r){case 1:r=o.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:r=o.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":r=o.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":r=o.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":r=o.createElement("div"),r.innerHTML="<script><\/script>",r=r.removeChild(r.firstChild);break;case"select":r=typeof n.is=="string"?o.createElement("select",{is:n.is}):o.createElement("select"),n.multiple?r.multiple=!0:n.size&&(r.size=n.size);break;default:r=typeof n.is=="string"?o.createElement(l,{is:n.is}):o.createElement(l)}}r[ft]=t,r[St]=n;e:for(o=t.child;o!==null;){if(o.tag===5||o.tag===6)r.appendChild(o.stateNode);else if(o.tag!==4&&o.tag!==27&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===t)break e;for(;o.sibling===null;){if(o.return===null||o.return===t)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}t.stateNode=r;e:switch(yt(r,l,n),l){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&va(t)}}return Pe(t),lc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&va(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(c(166));if(e=de.current,Jn(t)){if(e=t.stateNode,a=t.memoizedProps,n=null,l=gt,l!==null)switch(l.tag){case 27:case 5:n=l.memoizedProps}e[ft]=t,e=!!(e.nodeValue===a||n!==null&&n.suppressHydrationWarning===!0||Vf(e.nodeValue,a)),e||Da(t,!0)}else e=ds(e).createTextNode(n),e[ft]=t,t.stateNode=e}return Pe(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(n=Jn(t),a!==null){if(e===null){if(!n)throw Error(c(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(c(557));e[ft]=t}else gn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Pe(t),e=!1}else a=mi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(Lt(t),t):(Lt(t),null);if((t.flags&128)!==0)throw Error(c(558))}return Pe(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(l=Jn(t),n!==null&&n.dehydrated!==null){if(e===null){if(!l)throw Error(c(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(c(317));l[ft]=t}else gn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Pe(t),l=!1}else l=mi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return t.flags&256?(Lt(t),t):(Lt(t),null)}return Lt(t),(t.flags&128)!==0?(t.lanes=a,t):(a=n!==null,e=e!==null&&e.memoizedState!==null,a&&(n=t.child,l=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(l=n.alternate.memoizedState.cachePool.pool),r=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(r=n.memoizedState.cachePool.pool),r!==l&&(n.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Ir(t,t.updateQueue),Pe(t),null);case 4:return xe(),e===null&&Ec(t.stateNode.containerInfo),Pe(t),null;case 10:return ya(t.type),Pe(t),null;case 19:if(I(We),n=t.memoizedState,n===null)return Pe(t),null;if(l=(t.flags&128)!==0,r=n.rendering,r===null)if(l)Xl(n,!1);else{if(Fe!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(r=Ur(e),r!==null){for(t.flags|=128,Xl(n,!1),e=r.updateQueue,t.updateQueue=e,Ir(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)wo(a,e),a=a.sibling;return Y(We,We.current&1|2),_e&&ma(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&$e()>ts&&(t.flags|=128,l=!0,Xl(n,!1),t.lanes=4194304)}else{if(!l)if(e=Ur(r),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,Ir(t,e),Xl(n,!0),n.tail===null&&n.tailMode==="hidden"&&!r.alternate&&!_e)return Pe(t),null}else 2*$e()-n.renderingStartTime>ts&&a!==536870912&&(t.flags|=128,l=!0,Xl(n,!1),t.lanes=4194304);n.isBackwards?(r.sibling=t.child,t.child=r):(e=n.last,e!==null?e.sibling=r:t.child=r,n.last=r)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=$e(),e.sibling=null,a=We.current,Y(We,l?a&1|2:a&1),_e&&ma(t,n.treeForkCount),e):(Pe(t),null);case 22:case 23:return Lt(t),Ai(),n=t.memoizedState!==null,e!==null?e.memoizedState!==null!==n&&(t.flags|=8192):n&&(t.flags|=8192),n?(a&536870912)!==0&&(t.flags&128)===0&&(Pe(t),t.subtreeFlags&6&&(t.flags|=8192)):Pe(t),a=t.updateQueue,a!==null&&Ir(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),n=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),n!==a&&(t.flags|=2048),e!==null&&I(yn),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),ya(at),Pe(t),null;case 25:return null;case 30:return null}throw Error(c(156,t.tag))}function Bm(e,t){switch(fi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ya(at),xe(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Be(t),null;case 31:if(t.memoizedState!==null){if(Lt(t),t.alternate===null)throw Error(c(340));gn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Lt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(c(340));gn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return I(We),null;case 4:return xe(),null;case 10:return ya(t.type),null;case 22:case 23:return Lt(t),Ai(),e!==null&&I(yn),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ya(at),null;case 25:return null;default:return null}}function Zd(e,t){switch(fi(t),t.tag){case 3:ya(at),xe();break;case 26:case 27:case 5:Be(t);break;case 4:xe();break;case 31:t.memoizedState!==null&&Lt(t);break;case 13:Lt(t);break;case 19:I(We);break;case 10:ya(t.type);break;case 22:case 23:Lt(t),Ai(),e!==null&&I(yn);break;case 24:ya(at)}}function Pl(e,t){try{var a=t.updateQueue,n=a!==null?a.lastEffect:null;if(n!==null){var l=n.next;a=l;do{if((a.tag&e)===e){n=void 0;var r=a.create,o=a.inst;n=r(),o.destroy=n}a=a.next}while(a!==l)}}catch(h){qe(t,t.return,h)}}function Ga(e,t,a){try{var n=t.updateQueue,l=n!==null?n.lastEffect:null;if(l!==null){var r=l.next;n=r;do{if((n.tag&e)===e){var o=n.inst,h=o.destroy;if(h!==void 0){o.destroy=void 0,l=t;var N=a,q=h;try{q()}catch(J){qe(l,N,J)}}}n=n.next}while(n!==r)}}catch(J){qe(t,t.return,J)}}function Jd(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Bo(t,a)}catch(n){qe(e,e.return,n)}}}function Id(e,t,a){a.props=wn(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(n){qe(e,t,n)}}function Kl(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var n=e.stateNode;break;case 30:n=e.stateNode;break;default:n=e.stateNode}typeof a=="function"?e.refCleanup=a(n):a.current=n}}catch(l){qe(e,t,l)}}function na(e,t){var a=e.ref,n=e.refCleanup;if(a!==null)if(typeof n=="function")try{n()}catch(l){qe(e,t,l)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(l){qe(e,t,l)}else a.current=null}function Fd(e){var t=e.type,a=e.memoizedProps,n=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&n.focus();break e;case"img":a.src?n.src=a.src:a.srcSet&&(n.srcset=a.srcSet)}}catch(l){qe(e,e.return,l)}}function rc(e,t,a){try{var n=e.stateNode;ih(n,e.type,a,t),n[St]=t}catch(l){qe(e,e.return,l)}}function $d(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Ja(e.type)||e.tag===4}function sc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$d(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&&Ja(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function ic(e,t,a){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=da));else if(n!==4&&(n===27&&Ja(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(ic(e,t,a),e=e.sibling;e!==null;)ic(e,t,a),e=e.sibling}function Fr(e,t,a){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(n!==4&&(n===27&&Ja(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(Fr(e,t,a),e=e.sibling;e!==null;)Fr(e,t,a),e=e.sibling}function Wd(e){var t=e.stateNode,a=e.memoizedProps;try{for(var n=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);yt(t,n,a),t[ft]=e,t[St]=a}catch(r){qe(e,e.return,r)}}var wa=!1,rt=!1,cc=!1,ef=typeof WeakSet=="function"?WeakSet:Set,ot=null;function Hm(e,t){if(e=e.containerInfo,Tc=xs,e=fo(e),ti(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var n=a.getSelection&&a.getSelection();if(n&&n.rangeCount!==0){a=n.anchorNode;var l=n.anchorOffset,r=n.focusNode;n=n.focusOffset;try{a.nodeType,r.nodeType}catch{a=null;break e}var o=0,h=-1,N=-1,q=0,J=0,W=e,Q=null;t:for(;;){for(var X;W!==a||l!==0&&W.nodeType!==3||(h=o+l),W!==r||n!==0&&W.nodeType!==3||(N=o+n),W.nodeType===3&&(o+=W.nodeValue.length),(X=W.firstChild)!==null;)Q=W,W=X;for(;;){if(W===e)break t;if(Q===a&&++q===l&&(h=o),Q===r&&++J===n&&(N=o),(X=W.nextSibling)!==null)break;W=Q,Q=W.parentNode}W=X}a=h===-1||N===-1?null:{start:h,end:N}}else a=null}a=a||{start:0,end:0}}else a=null;for(Mc={focusedElem:e,selectionRange:a},xs=!1,ot=t;ot!==null;)if(t=ot,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ot=e;else for(;ot!==null;){switch(t=ot,r=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a<e.length;a++)l=e[a],l.ref.impl=l.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&r!==null){e=void 0,a=t,l=r.memoizedProps,r=r.memoizedState,n=a.stateNode;try{var ge=wn(a.type,l);e=n.getSnapshotBeforeUpdate(ge,r),n.__reactInternalSnapshotBeforeUpdate=e}catch(ve){qe(a,a.return,ve)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)Lc(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Lc(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(c(163))}if(e=t.sibling,e!==null){e.return=t.return,ot=e;break}ot=t.return}}function tf(e,t,a){var n=a.flags;switch(a.tag){case 0:case 11:case 15:ka(e,a),n&4&&Pl(5,a);break;case 1:if(ka(e,a),n&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(o){qe(a,a.return,o)}else{var l=wn(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(l,t,e.__reactInternalSnapshotBeforeUpdate)}catch(o){qe(a,a.return,o)}}n&64&&Jd(a),n&512&&Kl(a,a.return);break;case 3:if(ka(e,a),n&64&&(e=a.updateQueue,e!==null)){if(t=null,a.child!==null)switch(a.child.tag){case 27:case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}try{Bo(e,t)}catch(o){qe(a,a.return,o)}}break;case 27:t===null&&n&4&&Wd(a);case 26:case 5:ka(e,a),t===null&&n&4&&Fd(a),n&512&&Kl(a,a.return);break;case 12:ka(e,a);break;case 31:ka(e,a),n&4&&lf(e,a);break;case 13:ka(e,a),n&4&&rf(e,a),n&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=Jm.bind(null,a),hh(e,a))));break;case 22:if(n=a.memoizedState!==null||wa,!n){t=t!==null&&t.memoizedState!==null||rt,l=wa;var r=rt;wa=n,(rt=t)&&!r?ja(e,a,(a.subtreeFlags&8772)!==0):ka(e,a),wa=l,rt=r}break;case 30:break;default:ka(e,a)}}function af(e){var t=e.alternate;t!==null&&(e.alternate=null,af(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&qs(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 Ze=null,jt=!1;function Sa(e,t,a){for(a=a.child;a!==null;)nf(e,t,a),a=a.sibling}function nf(e,t,a){if(tt&&typeof tt.onCommitFiberUnmount=="function")try{tt.onCommitFiberUnmount(ln,a)}catch{}switch(a.tag){case 26:rt||na(a,t),Sa(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:rt||na(a,t);var n=Ze,l=jt;Ja(a.type)&&(Ze=a.stateNode,jt=!1),Sa(e,t,a),ar(a.stateNode),Ze=n,jt=l;break;case 5:rt||na(a,t);case 6:if(n=Ze,l=jt,Ze=null,Sa(e,t,a),Ze=n,jt=l,Ze!==null)if(jt)try{(Ze.nodeType===9?Ze.body:Ze.nodeName==="HTML"?Ze.ownerDocument.body:Ze).removeChild(a.stateNode)}catch(r){qe(a,t,r)}else try{Ze.removeChild(a.stateNode)}catch(r){qe(a,t,r)}break;case 18:Ze!==null&&(jt?(e=Ze,If(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),yl(e)):If(Ze,a.stateNode));break;case 4:n=Ze,l=jt,Ze=a.stateNode.containerInfo,jt=!0,Sa(e,t,a),Ze=n,jt=l;break;case 0:case 11:case 14:case 15:Ga(2,a,t),rt||Ga(4,a,t),Sa(e,t,a);break;case 1:rt||(na(a,t),n=a.stateNode,typeof n.componentWillUnmount=="function"&&Id(a,t,n)),Sa(e,t,a);break;case 21:Sa(e,t,a);break;case 22:rt=(n=rt)||a.memoizedState!==null,Sa(e,t,a),rt=n;break;default:Sa(e,t,a)}}function lf(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{yl(e)}catch(a){qe(t,t.return,a)}}}function rf(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{yl(e)}catch(a){qe(t,t.return,a)}}function Qm(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new ef),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new ef),t;default:throw Error(c(435,e.tag))}}function $r(e,t){var a=Qm(e);t.forEach(function(n){if(!a.has(n)){a.add(n);var l=Im.bind(null,e,n);n.then(l,l)}})}function Nt(e,t){var a=t.deletions;if(a!==null)for(var n=0;n<a.length;n++){var l=a[n],r=e,o=t,h=o;e:for(;h!==null;){switch(h.tag){case 27:if(Ja(h.type)){Ze=h.stateNode,jt=!1;break e}break;case 5:Ze=h.stateNode,jt=!1;break e;case 3:case 4:Ze=h.stateNode.containerInfo,jt=!0;break e}h=h.return}if(Ze===null)throw Error(c(160));nf(r,o,l),Ze=null,jt=!1,r=l.alternate,r!==null&&(r.return=null),l.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)sf(t,e),t=t.sibling}var $t=null;function sf(e,t){var a=e.alternate,n=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Nt(t,e),Et(e),n&4&&(Ga(3,e,e.return),Pl(3,e),Ga(5,e,e.return));break;case 1:Nt(t,e),Et(e),n&512&&(rt||a===null||na(a,a.return)),n&64&&wa&&(e=e.updateQueue,e!==null&&(n=e.callbacks,n!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?n:a.concat(n))));break;case 26:var l=$t;if(Nt(t,e),Et(e),n&512&&(rt||a===null||na(a,a.return)),n&4){var r=a!==null?a.memoizedState:null;if(n=e.memoizedState,a===null)if(n===null)if(e.stateNode===null){e:{n=e.type,a=e.memoizedProps,l=l.ownerDocument||l;t:switch(n){case"title":r=l.getElementsByTagName("title")[0],(!r||r[vl]||r[ft]||r.namespaceURI==="http://www.w3.org/2000/svg"||r.hasAttribute("itemprop"))&&(r=l.createElement(n),l.head.insertBefore(r,l.querySelector("head > title"))),yt(r,n,a),r[ft]=e,ut(r),n=r;break e;case"link":var o=i0("link","href",l).get(n+(a.href||""));if(o){for(var h=0;h<o.length;h++)if(r=o[h],r.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&r.getAttribute("rel")===(a.rel==null?null:a.rel)&&r.getAttribute("title")===(a.title==null?null:a.title)&&r.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){o.splice(h,1);break t}}r=l.createElement(n),yt(r,n,a),l.head.appendChild(r);break;case"meta":if(o=i0("meta","content",l).get(n+(a.content||""))){for(h=0;h<o.length;h++)if(r=o[h],r.getAttribute("content")===(a.content==null?null:""+a.content)&&r.getAttribute("name")===(a.name==null?null:a.name)&&r.getAttribute("property")===(a.property==null?null:a.property)&&r.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&r.getAttribute("charset")===(a.charSet==null?null:a.charSet)){o.splice(h,1);break t}}r=l.createElement(n),yt(r,n,a),l.head.appendChild(r);break;default:throw Error(c(468,n))}r[ft]=e,ut(r),n=r}e.stateNode=n}else c0(l,e.type,e.stateNode);else e.stateNode=s0(l,n,e.memoizedProps);else r!==n?(r===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):r.count--,n===null?c0(l,e.type,e.stateNode):s0(l,n,e.memoizedProps)):n===null&&e.stateNode!==null&&rc(e,e.memoizedProps,a.memoizedProps)}break;case 27:Nt(t,e),Et(e),n&512&&(rt||a===null||na(a,a.return)),a!==null&&n&4&&rc(e,e.memoizedProps,a.memoizedProps);break;case 5:if(Nt(t,e),Et(e),n&512&&(rt||a===null||na(a,a.return)),e.flags&32){l=e.stateNode;try{Bn(l,"")}catch(ge){qe(e,e.return,ge)}}n&4&&e.stateNode!=null&&(l=e.memoizedProps,rc(e,l,a!==null?a.memoizedProps:l)),n&1024&&(cc=!0);break;case 6:if(Nt(t,e),Et(e),n&4){if(e.stateNode===null)throw Error(c(162));n=e.memoizedProps,a=e.stateNode;try{a.nodeValue=n}catch(ge){qe(e,e.return,ge)}}break;case 3:if(ms=null,l=$t,$t=fs(t.containerInfo),Nt(t,e),$t=l,Et(e),n&4&&a!==null&&a.memoizedState.isDehydrated)try{yl(t.containerInfo)}catch(ge){qe(e,e.return,ge)}cc&&(cc=!1,cf(e));break;case 4:n=$t,$t=fs(e.stateNode.containerInfo),Nt(t,e),Et(e),$t=n;break;case 12:Nt(t,e),Et(e);break;case 31:Nt(t,e),Et(e),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,$r(e,n)));break;case 13:Nt(t,e),Et(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(es=$e()),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,$r(e,n)));break;case 22:l=e.memoizedState!==null;var N=a!==null&&a.memoizedState!==null,q=wa,J=rt;if(wa=q||l,rt=J||N,Nt(t,e),rt=J,wa=q,Et(e),n&8192)e:for(t=e.stateNode,t._visibility=l?t._visibility&-2:t._visibility|1,l&&(a===null||N||wa||rt||Sn(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){N=a=t;try{if(r=N.stateNode,l)o=r.style,typeof o.setProperty=="function"?o.setProperty("display","none","important"):o.display="none";else{h=N.stateNode;var W=N.memoizedProps.style,Q=W!=null&&W.hasOwnProperty("display")?W.display:null;h.style.display=Q==null||typeof Q=="boolean"?"":(""+Q).trim()}}catch(ge){qe(N,N.return,ge)}}}else if(t.tag===6){if(a===null){N=t;try{N.stateNode.nodeValue=l?"":N.memoizedProps}catch(ge){qe(N,N.return,ge)}}}else if(t.tag===18){if(a===null){N=t;try{var X=N.stateNode;l?Ff(X,!0):Ff(N.stateNode,!1)}catch(ge){qe(N,N.return,ge)}}}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 e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}n&4&&(n=e.updateQueue,n!==null&&(a=n.retryQueue,a!==null&&(n.retryQueue=null,$r(e,a))));break;case 19:Nt(t,e),Et(e),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,$r(e,n)));break;case 30:break;case 21:break;default:Nt(t,e),Et(e)}}function Et(e){var t=e.flags;if(t&2){try{for(var a,n=e.return;n!==null;){if($d(n)){a=n;break}n=n.return}if(a==null)throw Error(c(160));switch(a.tag){case 27:var l=a.stateNode,r=sc(e);Fr(e,r,l);break;case 5:var o=a.stateNode;a.flags&32&&(Bn(o,""),a.flags&=-33);var h=sc(e);Fr(e,h,o);break;case 3:case 4:var N=a.stateNode.containerInfo,q=sc(e);ic(e,q,N);break;default:throw Error(c(161))}}catch(J){qe(e,e.return,J)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function cf(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;cf(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function ka(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)tf(e,t.alternate,t),t=t.sibling}function Sn(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Ga(4,t,t.return),Sn(t);break;case 1:na(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&Id(t,t.return,a),Sn(t);break;case 27:ar(t.stateNode);case 26:case 5:na(t,t.return),Sn(t);break;case 22:t.memoizedState===null&&Sn(t);break;case 30:Sn(t);break;default:Sn(t)}e=e.sibling}}function ja(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var n=t.alternate,l=e,r=t,o=r.flags;switch(r.tag){case 0:case 11:case 15:ja(l,r,a),Pl(4,r);break;case 1:if(ja(l,r,a),n=r,l=n.stateNode,typeof l.componentDidMount=="function")try{l.componentDidMount()}catch(q){qe(n,n.return,q)}if(n=r,l=n.updateQueue,l!==null){var h=n.stateNode;try{var N=l.shared.hiddenCallbacks;if(N!==null)for(l.shared.hiddenCallbacks=null,l=0;l<N.length;l++)qo(N[l],h)}catch(q){qe(n,n.return,q)}}a&&o&64&&Jd(r),Kl(r,r.return);break;case 27:Wd(r);case 26:case 5:ja(l,r,a),a&&n===null&&o&4&&Fd(r),Kl(r,r.return);break;case 12:ja(l,r,a);break;case 31:ja(l,r,a),a&&o&4&&lf(l,r);break;case 13:ja(l,r,a),a&&o&4&&rf(l,r);break;case 22:r.memoizedState===null&&ja(l,r,a),Kl(r,r.return);break;case 30:break;default:ja(l,r,a)}t=t.sibling}}function uc(e,t){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&Ll(a))}function oc(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ll(e))}function Wt(e,t,a,n){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)uf(e,t,a,n),t=t.sibling}function uf(e,t,a,n){var l=t.flags;switch(t.tag){case 0:case 11:case 15:Wt(e,t,a,n),l&2048&&Pl(9,t);break;case 1:Wt(e,t,a,n);break;case 3:Wt(e,t,a,n),l&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ll(e)));break;case 12:if(l&2048){Wt(e,t,a,n),e=t.stateNode;try{var r=t.memoizedProps,o=r.id,h=r.onPostCommit;typeof h=="function"&&h(o,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(N){qe(t,t.return,N)}}else Wt(e,t,a,n);break;case 31:Wt(e,t,a,n);break;case 13:Wt(e,t,a,n);break;case 23:break;case 22:r=t.stateNode,o=t.alternate,t.memoizedState!==null?r._visibility&2?Wt(e,t,a,n):Zl(e,t):r._visibility&2?Wt(e,t,a,n):(r._visibility|=2,rl(e,t,a,n,(t.subtreeFlags&10256)!==0||!1)),l&2048&&uc(o,t);break;case 24:Wt(e,t,a,n),l&2048&&oc(t.alternate,t);break;default:Wt(e,t,a,n)}}function rl(e,t,a,n,l){for(l=l&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var r=e,o=t,h=a,N=n,q=o.flags;switch(o.tag){case 0:case 11:case 15:rl(r,o,h,N,l),Pl(8,o);break;case 23:break;case 22:var J=o.stateNode;o.memoizedState!==null?J._visibility&2?rl(r,o,h,N,l):Zl(r,o):(J._visibility|=2,rl(r,o,h,N,l)),l&&q&2048&&uc(o.alternate,o);break;case 24:rl(r,o,h,N,l),l&&q&2048&&oc(o.alternate,o);break;default:rl(r,o,h,N,l)}t=t.sibling}}function Zl(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,n=t,l=n.flags;switch(n.tag){case 22:Zl(a,n),l&2048&&uc(n.alternate,n);break;case 24:Zl(a,n),l&2048&&oc(n.alternate,n);break;default:Zl(a,n)}t=t.sibling}}var Jl=8192;function sl(e,t,a){if(e.subtreeFlags&Jl)for(e=e.child;e!==null;)of(e,t,a),e=e.sibling}function of(e,t,a){switch(e.tag){case 26:sl(e,t,a),e.flags&Jl&&e.memoizedState!==null&&Ah(a,$t,e.memoizedState,e.memoizedProps);break;case 5:sl(e,t,a);break;case 3:case 4:var n=$t;$t=fs(e.stateNode.containerInfo),sl(e,t,a),$t=n;break;case 22:e.memoizedState===null&&(n=e.alternate,n!==null&&n.memoizedState!==null?(n=Jl,Jl=16777216,sl(e,t,a),Jl=n):sl(e,t,a));break;default:sl(e,t,a)}}function df(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 Il(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var n=t[a];ot=n,gf(n,e)}df(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)ff(e),e=e.sibling}function ff(e){switch(e.tag){case 0:case 11:case 15:Il(e),e.flags&2048&&Ga(9,e,e.return);break;case 3:Il(e);break;case 12:Il(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Wr(e)):Il(e);break;default:Il(e)}}function Wr(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var n=t[a];ot=n,gf(n,e)}df(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Ga(8,t,t.return),Wr(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,Wr(t));break;default:Wr(t)}e=e.sibling}}function gf(e,t){for(;ot!==null;){var a=ot;switch(a.tag){case 0:case 11:case 15:Ga(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var n=a.memoizedState.cachePool.pool;n!=null&&n.refCount++}break;case 24:Ll(a.memoizedState.cache)}if(n=a.child,n!==null)n.return=a,ot=n;else e:for(a=e;ot!==null;){n=ot;var l=n.sibling,r=n.return;if(af(n),n===a){ot=null;break e}if(l!==null){l.return=r,ot=l;break e}ot=r}}}var Gm={getCacheForType:function(e){var t=mt(at),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return mt(at).controller.signal}},Ym=typeof WeakMap=="function"?WeakMap:Map,ze=0,Ye=null,Ae=null,Te=0,Ue=0,zt=null,Ya=!1,il=!1,dc=!1,Na=0,Fe=0,Va=0,kn=0,fc=0,Dt=0,cl=0,Fl=null,At=null,gc=!1,es=0,mf=0,ts=1/0,as=null,Xa=null,it=0,Pa=null,ul=null,Ea=0,mc=0,hc=null,hf=null,$l=0,yc=null;function Ot(){return(ze&2)!==0&&Te!==0?Te&-Te:H.T!==null?Sc():_n()}function yf(){if(Dt===0)if((Te&536870912)===0||_e){var e=Tn;Tn<<=1,(Tn&3932160)===0&&(Tn=262144),Dt=e}else Dt=536870912;return e=Rt.current,e!==null&&(e.flags|=32),Dt}function Ct(e,t,a){(e===Ye&&(Ue===2||Ue===9)||e.cancelPendingCommit!==null)&&(ol(e,0),Ka(e,Te,Dt,!1)),ke(e,a),((ze&2)===0||e!==Ye)&&(e===Ye&&((ze&2)===0&&(kn|=a),Fe===4&&Ka(e,Te,Dt,!1)),la(e))}function pf(e,t,a){if((ze&6)!==0)throw Error(c(327));var n=!a&&(t&127)===0&&(t&e.expiredLanes)===0||G(e,t),l=n?Pm(e,t):xc(e,t,!0),r=n;do{if(l===0){il&&!n&&Ka(e,t,0,!1);break}else{if(a=e.current.alternate,r&&!Vm(a)){l=xc(e,t,!1),r=!1;continue}if(l===2){if(r=t,e.errorRecoveryDisabledLanes&r)var o=0;else o=e.pendingLanes&-536870913,o=o!==0?o:o&536870912?536870912:0;if(o!==0){t=o;e:{var h=e;l=Fl;var N=h.current.memoizedState.isDehydrated;if(N&&(ol(h,o).flags|=256),o=xc(h,o,!1),o!==2){if(dc&&!N){h.errorRecoveryDisabledLanes|=r,kn|=r,l=4;break e}r=At,At=l,r!==null&&(At===null?At=r:At.push.apply(At,r))}l=o}if(r=!1,l!==2)continue}}if(l===1){ol(e,0),Ka(e,t,0,!0);break}e:{switch(n=e,r=l,r){case 0:case 1:throw Error(c(345));case 4:if((t&4194048)!==t)break;case 6:Ka(n,t,Dt,!Ya);break e;case 2:At=null;break;case 3:case 5:break;default:throw Error(c(329))}if((t&62914560)===t&&(l=es+300-$e(),10<l)){if(Ka(n,t,Dt,!Ya),L(n,0,!0)!==0)break e;Ea=t,n.timeoutHandle=Zf(xf.bind(null,n,a,At,as,gc,t,Dt,kn,cl,Ya,r,"Throttled",-0,0),l);break e}xf(n,a,At,as,gc,t,Dt,kn,cl,Ya,r,null,-0,0)}}break}while(!0);la(e)}function xf(e,t,a,n,l,r,o,h,N,q,J,W,Q,X){if(e.timeoutHandle=-1,W=t.subtreeFlags,W&8192||(W&16785408)===16785408){W={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:da},of(t,r,W);var ge=(r&62914560)===r?es-$e():(r&4194048)===r?mf-$e():0;if(ge=Ch(W,ge),ge!==null){Ea=r,e.cancelPendingCommit=ge(Ef.bind(null,e,t,r,a,n,l,o,h,N,J,W,null,Q,X)),Ka(e,r,o,!q);return}}Ef(e,t,r,a,n,l,o,h,N)}function Vm(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var n=0;n<a.length;n++){var l=a[n],r=l.getSnapshot;l=l.value;try{if(!Mt(r(),l))return!1}catch{return!1}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;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 Ka(e,t,a,n){t&=~fc,t&=~kn,e.suspendedLanes|=t,e.pingedLanes&=~t,n&&(e.warmLanes|=t),n=e.expirationTimes;for(var l=t;0<l;){var r=31-xt(l),o=1<<r;n[r]=-1,l&=~o}a!==0&&bt(e,a,t)}function ns(){return(ze&6)===0?(Wl(0),!1):!0}function pc(){if(Ae!==null){if(Ue===0)var e=Ae.return;else e=Ae,ha=mn=null,Li(e),el=null,Dl=0,e=Ae;for(;e!==null;)Zd(e.alternate,e),e=e.return;Ae=null}}function ol(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,oh(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),Ea=0,pc(),Ye=e,Ae=a=ga(e.current,null),Te=t,Ue=0,zt=null,Ya=!1,il=G(e,t),dc=!1,cl=Dt=fc=kn=Va=Fe=0,At=Fl=null,gc=!1,(t&8)!==0&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0<n;){var l=31-xt(n),r=1<<l;t|=e[l],n&=~r}return Na=t,jr(),a}function bf(e,t){Ne=null,H.H=Yl,t===Wn||t===Rr?(t=zo(),Ue=3):t===wi?(t=zo(),Ue=4):Ue=t===Ji?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,zt=t,Ae===null&&(Fe=1,Pr(e,Gt(t,e.current)))}function vf(){var e=Rt.current;return e===null?!0:(Te&4194048)===Te?Pt===null:(Te&62914560)===Te||(Te&536870912)!==0?e===Pt:!1}function wf(){var e=H.H;return H.H=Yl,e===null?Yl:e}function Sf(){var e=H.A;return H.A=Gm,e}function ls(){Fe=4,Ya||(Te&4194048)!==Te&&Rt.current!==null||(il=!0),(Va&134217727)===0&&(kn&134217727)===0||Ye===null||Ka(Ye,Te,Dt,!1)}function xc(e,t,a){var n=ze;ze|=2;var l=wf(),r=Sf();(Ye!==e||Te!==t)&&(as=null,ol(e,t)),t=!1;var o=Fe;e:do try{if(Ue!==0&&Ae!==null){var h=Ae,N=zt;switch(Ue){case 8:pc(),o=6;break e;case 3:case 2:case 9:case 6:Rt.current===null&&(t=!0);var q=Ue;if(Ue=0,zt=null,dl(e,h,N,q),a&&il){o=0;break e}break;default:q=Ue,Ue=0,zt=null,dl(e,h,N,q)}}Xm(),o=Fe;break}catch(J){bf(e,J)}while(!0);return t&&e.shellSuspendCounter++,ha=mn=null,ze=n,H.H=l,H.A=r,Ae===null&&(Ye=null,Te=0,jr()),o}function Xm(){for(;Ae!==null;)kf(Ae)}function Pm(e,t){var a=ze;ze|=2;var n=wf(),l=Sf();Ye!==e||Te!==t?(as=null,ts=$e()+500,ol(e,t)):il=G(e,t);e:do try{if(Ue!==0&&Ae!==null){t=Ae;var r=zt;t:switch(Ue){case 1:Ue=0,zt=null,dl(e,t,r,1);break;case 2:case 9:if(Ro(r)){Ue=0,zt=null,jf(t);break}t=function(){Ue!==2&&Ue!==9||Ye!==e||(Ue=7),la(e)},r.then(t,t);break e;case 3:Ue=7;break e;case 4:Ue=5;break e;case 7:Ro(r)?(Ue=0,zt=null,jf(t)):(Ue=0,zt=null,dl(e,t,r,7));break;case 5:var o=null;switch(Ae.tag){case 26:o=Ae.memoizedState;case 5:case 27:var h=Ae;if(o?u0(o):h.stateNode.complete){Ue=0,zt=null;var N=h.sibling;if(N!==null)Ae=N;else{var q=h.return;q!==null?(Ae=q,rs(q)):Ae=null}break t}}Ue=0,zt=null,dl(e,t,r,5);break;case 6:Ue=0,zt=null,dl(e,t,r,6);break;case 8:pc(),Fe=6;break e;default:throw Error(c(462))}}Km();break}catch(J){bf(e,J)}while(!0);return ha=mn=null,H.H=n,H.A=l,ze=a,Ae!==null?0:(Ye=null,Te=0,jr(),Fe)}function Km(){for(;Ae!==null&&!Tt();)kf(Ae)}function kf(e){var t=Pd(e.alternate,e,Na);e.memoizedProps=e.pendingProps,t===null?rs(e):Ae=t}function jf(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=Hd(a,t,t.pendingProps,t.type,void 0,Te);break;case 11:t=Hd(a,t,t.pendingProps,t.type.render,t.ref,Te);break;case 5:Li(t);default:Zd(a,t),t=Ae=wo(t,Na),t=Pd(a,t,Na)}e.memoizedProps=e.pendingProps,t===null?rs(e):Ae=t}function dl(e,t,a,n){ha=mn=null,Li(t),el=null,Dl=0;var l=t.return;try{if(Dm(e,l,t,a,Te)){Fe=1,Pr(e,Gt(a,e.current)),Ae=null;return}}catch(r){if(l!==null)throw Ae=l,r;Fe=1,Pr(e,Gt(a,e.current)),Ae=null;return}t.flags&32768?(_e||n===1?e=!0:il||(Te&536870912)!==0?e=!1:(Ya=e=!0,(n===2||n===9||n===3||n===6)&&(n=Rt.current,n!==null&&n.tag===13&&(n.flags|=16384))),Nf(t,e)):rs(t)}function rs(e){var t=e;do{if((t.flags&32768)!==0){Nf(t,Ya);return}e=t.return;var a=qm(t.alternate,t,Na);if(a!==null){Ae=a;return}if(t=t.sibling,t!==null){Ae=t;return}Ae=t=e}while(t!==null);Fe===0&&(Fe=5)}function Nf(e,t){do{var a=Bm(e.alternate,e);if(a!==null){a.flags&=32767,Ae=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){Ae=e;return}Ae=e=a}while(e!==null);Fe=6,Ae=null}function Ef(e,t,a,n,l,r,o,h,N){e.cancelPendingCommit=null;do ss();while(it!==0);if((ze&6)!==0)throw Error(c(327));if(t!==null){if(t===e.current)throw Error(c(177));if(r=t.lanes|t.childLanes,r|=si,De(e,a,r,o,h,N),e===Ye&&(Ae=Ye=null,Te=0),ul=t,Pa=e,Ea=a,mc=r,hc=l,hf=n,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,Fm(Ke,function(){return _f(),null})):(e.callbackNode=null,e.callbackPriority=0),n=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||n){n=H.T,H.T=null,l=te.p,te.p=2,o=ze,ze|=4;try{Hm(e,t,a)}finally{ze=o,te.p=l,H.T=n}}it=1,Af(),Cf(),Tf()}}function Af(){if(it===1){it=0;var e=Pa,t=ul,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=H.T,H.T=null;var n=te.p;te.p=2;var l=ze;ze|=4;try{sf(t,e);var r=Mc,o=fo(e.containerInfo),h=r.focusedElem,N=r.selectionRange;if(o!==h&&h&&h.ownerDocument&&oo(h.ownerDocument.documentElement,h)){if(N!==null&&ti(h)){var q=N.start,J=N.end;if(J===void 0&&(J=q),"selectionStart"in h)h.selectionStart=q,h.selectionEnd=Math.min(J,h.value.length);else{var W=h.ownerDocument||document,Q=W&&W.defaultView||window;if(Q.getSelection){var X=Q.getSelection(),ge=h.textContent.length,ve=Math.min(N.start,ge),Ge=N.end===void 0?ve:Math.min(N.end,ge);!X.extend&&ve>Ge&&(o=Ge,Ge=ve,ve=o);var R=uo(h,ve),M=uo(h,Ge);if(R&&M&&(X.rangeCount!==1||X.anchorNode!==R.node||X.anchorOffset!==R.offset||X.focusNode!==M.node||X.focusOffset!==M.offset)){var U=W.createRange();U.setStart(R.node,R.offset),X.removeAllRanges(),ve>Ge?(X.addRange(U),X.extend(M.node,M.offset)):(U.setEnd(M.node,M.offset),X.addRange(U))}}}}for(W=[],X=h;X=X.parentNode;)X.nodeType===1&&W.push({element:X,left:X.scrollLeft,top:X.scrollTop});for(typeof h.focus=="function"&&h.focus(),h=0;h<W.length;h++){var $=W[h];$.element.scrollLeft=$.left,$.element.scrollTop=$.top}}xs=!!Tc,Mc=Tc=null}finally{ze=l,te.p=n,H.T=a}}e.current=t,it=2}}function Cf(){if(it===2){it=0;var e=Pa,t=ul,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=H.T,H.T=null;var n=te.p;te.p=2;var l=ze;ze|=4;try{tf(e,t.alternate,t)}finally{ze=l,te.p=n,H.T=a}}it=3}}function Tf(){if(it===4||it===3){it=0,ca();var e=Pa,t=ul,a=Ea,n=hf;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?it=5:(it=0,ul=Pa=null,Mf(e,e.pendingLanes));var l=e.pendingLanes;if(l===0&&(Xa=null),rn(a),t=t.stateNode,tt&&typeof tt.onCommitFiberRoot=="function")try{tt.onCommitFiberRoot(ln,t,void 0,(t.current.flags&128)===128)}catch{}if(n!==null){t=H.T,l=te.p,te.p=2,H.T=null;try{for(var r=e.onRecoverableError,o=0;o<n.length;o++){var h=n[o];r(h.value,{componentStack:h.stack})}}finally{H.T=t,te.p=l}}(Ea&3)!==0&&ss(),la(e),l=e.pendingLanes,(a&261930)!==0&&(l&42)!==0?e===yc?$l++:($l=0,yc=e):$l=0,Wl(0)}}function Mf(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Ll(t)))}function ss(){return Af(),Cf(),Tf(),_f()}function _f(){if(it!==5)return!1;var e=Pa,t=mc;mc=0;var a=rn(Ea),n=H.T,l=te.p;try{te.p=32>a?32:a,H.T=null,a=hc,hc=null;var r=Pa,o=Ea;if(it=0,ul=Pa=null,Ea=0,(ze&6)!==0)throw Error(c(331));var h=ze;if(ze|=4,ff(r.current),uf(r,r.current,o,a),ze=h,Wl(0,!1),tt&&typeof tt.onPostCommitFiberRoot=="function")try{tt.onPostCommitFiberRoot(ln,r)}catch{}return!0}finally{te.p=l,H.T=n,Mf(e,t)}}function Rf(e,t,a){t=Gt(a,t),t=Zi(e.stateNode,t,2),e=Ba(e,t,2),e!==null&&(ke(e,2),la(e))}function qe(e,t,a){if(e.tag===3)Rf(e,e,a);else for(;t!==null;){if(t.tag===3){Rf(t,e,a);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Xa===null||!Xa.has(n))){e=Gt(a,e),a=Rd(2),n=Ba(t,a,2),n!==null&&(Ld(a,n,t,e),ke(n,2),la(n));break}}t=t.return}}function bc(e,t,a){var n=e.pingCache;if(n===null){n=e.pingCache=new Ym;var l=new Set;n.set(t,l)}else l=n.get(t),l===void 0&&(l=new Set,n.set(t,l));l.has(a)||(dc=!0,l.add(a),e=Zm.bind(null,e,t,a),t.then(e,e))}function Zm(e,t,a){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Ye===e&&(Te&a)===a&&(Fe===4||Fe===3&&(Te&62914560)===Te&&300>$e()-es?(ze&2)===0&&ol(e,0):fc|=a,cl===Te&&(cl=0)),la(e)}function Lf(e,t){t===0&&(t=oe()),e=dn(e,t),e!==null&&(ke(e,t),la(e))}function Jm(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Lf(e,a)}function Im(e,t){var a=0;switch(e.tag){case 31:case 13:var n=e.stateNode,l=e.memoizedState;l!==null&&(a=l.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(c(314))}n!==null&&n.delete(t),Lf(e,a)}function Fm(e,t){return be(e,t)}var is=null,fl=null,vc=!1,cs=!1,wc=!1,Za=0;function la(e){e!==fl&&e.next===null&&(fl===null?is=fl=e:fl=fl.next=e),cs=!0,vc||(vc=!0,Wm())}function Wl(e,t){if(!wc&&cs){wc=!0;do for(var a=!1,n=is;n!==null;){if(e!==0){var l=n.pendingLanes;if(l===0)var r=0;else{var o=n.suspendedLanes,h=n.pingedLanes;r=(1<<31-xt(42|e)+1)-1,r&=l&~(o&~h),r=r&201326741?r&201326741|1:r?r|2:0}r!==0&&(a=!0,Uf(n,r))}else r=Te,r=L(n,n===Ye?r:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(r&3)===0||G(n,r)||(a=!0,Uf(n,r));n=n.next}while(a);wc=!1}}function $m(){zf()}function zf(){cs=vc=!1;var e=0;Za!==0&&uh()&&(e=Za);for(var t=$e(),a=null,n=is;n!==null;){var l=n.next,r=Df(n,t);r===0?(n.next=null,a===null?is=l:a.next=l,l===null&&(fl=a)):(a=n,(e!==0||(r&3)!==0)&&(cs=!0)),n=l}it!==0&&it!==5||Wl(e),Za!==0&&(Za=0)}function Df(e,t){for(var a=e.suspendedLanes,n=e.pingedLanes,l=e.expirationTimes,r=e.pendingLanes&-62914561;0<r;){var o=31-xt(r),h=1<<o,N=l[o];N===-1?((h&a)===0||(h&n)!==0)&&(l[o]=re(h,t)):N<=t&&(e.expiredLanes|=h),r&=~h}if(t=Ye,a=Te,a=L(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),n=e.callbackNode,a===0||e===t&&(Ue===2||Ue===9)||e.cancelPendingCommit!==null)return n!==null&&n!==null&&dt(n),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||G(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(n!==null&&dt(n),rn(a)){case 2:case 8:a=st;break;case 32:a=Ke;break;case 268435456:a=qt;break;default:a=Ke}return n=Of.bind(null,e),a=be(a,n),e.callbackPriority=t,e.callbackNode=a,t}return n!==null&&n!==null&&dt(n),e.callbackPriority=2,e.callbackNode=null,2}function Of(e,t){if(it!==0&&it!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(ss()&&e.callbackNode!==a)return null;var n=Te;return n=L(e,e===Ye?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),n===0?null:(pf(e,n,t),Df(e,$e()),e.callbackNode!=null&&e.callbackNode===a?Of.bind(null,e):null)}function Uf(e,t){if(ss())return null;pf(e,t,!0)}function Wm(){dh(function(){(ze&6)!==0?be(ct,$m):zf()})}function Sc(){if(Za===0){var e=Fn;e===0&&(e=Cn,Cn<<=1,(Cn&261888)===0&&(Cn=256)),Za=e}return Za}function qf(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:yr(""+e)}function Bf(e,t){var a=t.ownerDocument.createElement("input");return a.name=t.name,a.value=t.value,e.id&&a.setAttribute("form",e.id),t.parentNode.insertBefore(a,t),e=new FormData(e),a.parentNode.removeChild(a),e}function eh(e,t,a,n,l){if(t==="submit"&&a&&a.stateNode===l){var r=qf((l[St]||null).action),o=n.submitter;o&&(t=(t=o[St]||null)?qf(t.formAction):o.getAttribute("formAction"),t!==null&&(r=t,o=null));var h=new vr("action","action",null,n,l);e.push({event:h,listeners:[{instance:null,listener:function(){if(n.defaultPrevented){if(Za!==0){var N=o?Bf(l,o):new FormData(l);Gi(a,{pending:!0,data:N,method:l.method,action:r},null,N)}}else typeof r=="function"&&(h.preventDefault(),N=o?Bf(l,o):new FormData(l),Gi(a,{pending:!0,data:N,method:l.method,action:r},r,N))},currentTarget:l}]})}}for(var kc=0;kc<ri.length;kc++){var jc=ri[kc],th=jc.toLowerCase(),ah=jc[0].toUpperCase()+jc.slice(1);Ft(th,"on"+ah)}Ft(ho,"onAnimationEnd"),Ft(yo,"onAnimationIteration"),Ft(po,"onAnimationStart"),Ft("dblclick","onDoubleClick"),Ft("focusin","onFocus"),Ft("focusout","onBlur"),Ft(xm,"onTransitionRun"),Ft(bm,"onTransitionStart"),Ft(vm,"onTransitionCancel"),Ft(xo,"onTransitionEnd"),Un("onMouseEnter",["mouseout","mouseover"]),Un("onMouseLeave",["mouseout","mouseover"]),Un("onPointerEnter",["pointerout","pointerover"]),Un("onPointerLeave",["pointerout","pointerover"]),sn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),sn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),sn("onBeforeInput",["compositionend","keypress","textInput","paste"]),sn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),sn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),sn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var er="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(" "),nh=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(er));function Hf(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var n=e[a],l=n.event;n=n.listeners;e:{var r=void 0;if(t)for(var o=n.length-1;0<=o;o--){var h=n[o],N=h.instance,q=h.currentTarget;if(h=h.listener,N!==r&&l.isPropagationStopped())break e;r=h,l.currentTarget=q;try{r(l)}catch(J){kr(J)}l.currentTarget=null,r=N}else for(o=0;o<n.length;o++){if(h=n[o],N=h.instance,q=h.currentTarget,h=h.listener,N!==r&&l.isPropagationStopped())break e;r=h,l.currentTarget=q;try{r(l)}catch(J){kr(J)}l.currentTarget=null,r=N}}}}function Ce(e,t){var a=t[Us];a===void 0&&(a=t[Us]=new Set);var n=e+"__bubble";a.has(n)||(Qf(t,e,2,!1),a.add(n))}function Nc(e,t,a){var n=0;t&&(n|=4),Qf(a,e,n,t)}var us="_reactListening"+Math.random().toString(36).slice(2);function Ec(e){if(!e[us]){e[us]=!0,Ru.forEach(function(a){a!=="selectionchange"&&(nh.has(a)||Nc(a,!1,e),Nc(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[us]||(t[us]=!0,Nc("selectionchange",!1,t))}}function Qf(e,t,a,n){switch(y0(t)){case 2:var l=_h;break;case 8:l=Rh;break;default:l=Qc}a=l.bind(null,t,a,e),l=void 0,!Ps||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),n?l!==void 0?e.addEventListener(t,a,{capture:!0,passive:l}):e.addEventListener(t,a,!0):l!==void 0?e.addEventListener(t,a,{passive:l}):e.addEventListener(t,a,!1)}function Ac(e,t,a,n,l){var r=n;if((t&1)===0&&(t&2)===0&&n!==null)e:for(;;){if(n===null)return;var o=n.tag;if(o===3||o===4){var h=n.stateNode.containerInfo;if(h===l)break;if(o===4)for(o=n.return;o!==null;){var N=o.tag;if((N===3||N===4)&&o.stateNode.containerInfo===l)return;o=o.return}for(;h!==null;){if(o=zn(h),o===null)return;if(N=o.tag,N===5||N===6||N===26||N===27){n=r=o;continue e}h=h.parentNode}}n=n.return}Vu(function(){var q=r,J=Vs(a),W=[];e:{var Q=bo.get(e);if(Q!==void 0){var X=vr,ge=e;switch(e){case"keypress":if(xr(a)===0)break e;case"keydown":case"keyup":X=Ig;break;case"focusin":ge="focus",X=Is;break;case"focusout":ge="blur",X=Is;break;case"beforeblur":case"afterblur":X=Is;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":X=Ku;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":X=qg;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":X=Wg;break;case ho:case yo:case po:X=Qg;break;case xo:X=tm;break;case"scroll":case"scrollend":X=Og;break;case"wheel":X=nm;break;case"copy":case"cut":case"paste":X=Yg;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":X=Ju;break;case"toggle":case"beforetoggle":X=rm}var ve=(t&4)!==0,Ge=!ve&&(e==="scroll"||e==="scrollend"),R=ve?Q!==null?Q+"Capture":null:Q;ve=[];for(var M=q,U;M!==null;){var $=M;if(U=$.stateNode,$=$.tag,$!==5&&$!==26&&$!==27||U===null||R===null||($=Sl(M,R),$!=null&&ve.push(tr(M,$,U))),Ge)break;M=M.return}0<ve.length&&(Q=new X(Q,ge,null,a,J),W.push({event:Q,listeners:ve}))}}if((t&7)===0){e:{if(Q=e==="mouseover"||e==="pointerover",X=e==="mouseout"||e==="pointerout",Q&&a!==Ys&&(ge=a.relatedTarget||a.fromElement)&&(zn(ge)||ge[Ln]))break e;if((X||Q)&&(Q=J.window===J?J:(Q=J.ownerDocument)?Q.defaultView||Q.parentWindow:window,X?(ge=a.relatedTarget||a.toElement,X=q,ge=ge?zn(ge):null,ge!==null&&(Ge=g(ge),ve=ge.tag,ge!==Ge||ve!==5&&ve!==27&&ve!==6)&&(ge=null)):(X=null,ge=q),X!==ge)){if(ve=Ku,$="onMouseLeave",R="onMouseEnter",M="mouse",(e==="pointerout"||e==="pointerover")&&(ve=Ju,$="onPointerLeave",R="onPointerEnter",M="pointer"),Ge=X==null?Q:wl(X),U=ge==null?Q:wl(ge),Q=new ve($,M+"leave",X,a,J),Q.target=Ge,Q.relatedTarget=U,$=null,zn(J)===q&&(ve=new ve(R,M+"enter",ge,a,J),ve.target=U,ve.relatedTarget=Ge,$=ve),Ge=$,X&&ge)t:{for(ve=lh,R=X,M=ge,U=0,$=R;$;$=ve($))U++;$=0;for(var pe=M;pe;pe=ve(pe))$++;for(;0<U-$;)R=ve(R),U--;for(;0<$-U;)M=ve(M),$--;for(;U--;){if(R===M||M!==null&&R===M.alternate){ve=R;break t}R=ve(R),M=ve(M)}ve=null}else ve=null;X!==null&&Gf(W,Q,X,ve,!1),ge!==null&&Ge!==null&&Gf(W,Ge,ge,ve,!0)}}e:{if(Q=q?wl(q):window,X=Q.nodeName&&Q.nodeName.toLowerCase(),X==="select"||X==="input"&&Q.type==="file")var Re=no;else if(to(Q))if(lo)Re=hm;else{Re=gm;var he=fm}else X=Q.nodeName,!X||X.toLowerCase()!=="input"||Q.type!=="checkbox"&&Q.type!=="radio"?q&&Gs(q.elementType)&&(Re=no):Re=mm;if(Re&&(Re=Re(e,q))){ao(W,Re,a,J);break e}he&&he(e,Q,q),e==="focusout"&&q&&Q.type==="number"&&q.memoizedProps.value!=null&&Qs(Q,"number",Q.value)}switch(he=q?wl(q):window,e){case"focusin":(to(he)||he.contentEditable==="true")&&(Yn=he,ai=q,Ml=null);break;case"focusout":Ml=ai=Yn=null;break;case"mousedown":ni=!0;break;case"contextmenu":case"mouseup":case"dragend":ni=!1,go(W,a,J);break;case"selectionchange":if(pm)break;case"keydown":case"keyup":go(W,a,J)}var Ee;if($s)e:{switch(e){case"compositionstart":var Me="onCompositionStart";break e;case"compositionend":Me="onCompositionEnd";break e;case"compositionupdate":Me="onCompositionUpdate";break e}Me=void 0}else Gn?Wu(e,a)&&(Me="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(Me="onCompositionStart");Me&&(Iu&&a.locale!=="ko"&&(Gn||Me!=="onCompositionStart"?Me==="onCompositionEnd"&&Gn&&(Ee=Xu()):(Ra=J,Ks="value"in Ra?Ra.value:Ra.textContent,Gn=!0)),he=os(q,Me),0<he.length&&(Me=new Zu(Me,e,null,a,J),W.push({event:Me,listeners:he}),Ee?Me.data=Ee:(Ee=eo(a),Ee!==null&&(Me.data=Ee)))),(Ee=im?cm(e,a):um(e,a))&&(Me=os(q,"onBeforeInput"),0<Me.length&&(he=new Zu("onBeforeInput","beforeinput",null,a,J),W.push({event:he,listeners:Me}),he.data=Ee)),eh(W,e,q,a,J)}Hf(W,t)})}function tr(e,t,a){return{instance:e,listener:t,currentTarget:a}}function os(e,t){for(var a=t+"Capture",n=[];e!==null;){var l=e,r=l.stateNode;if(l=l.tag,l!==5&&l!==26&&l!==27||r===null||(l=Sl(e,a),l!=null&&n.unshift(tr(e,l,r)),l=Sl(e,t),l!=null&&n.push(tr(e,l,r))),e.tag===3)return n;e=e.return}return[]}function lh(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Gf(e,t,a,n,l){for(var r=t._reactName,o=[];a!==null&&a!==n;){var h=a,N=h.alternate,q=h.stateNode;if(h=h.tag,N!==null&&N===n)break;h!==5&&h!==26&&h!==27||q===null||(N=q,l?(q=Sl(a,r),q!=null&&o.unshift(tr(a,q,N))):l||(q=Sl(a,r),q!=null&&o.push(tr(a,q,N)))),a=a.return}o.length!==0&&e.push({event:t,listeners:o})}var rh=/\r\n?/g,sh=/\u0000|\uFFFD/g;function Yf(e){return(typeof e=="string"?e:""+e).replace(rh,`
50
+ `).replace(sh,"")}function Vf(e,t){return t=Yf(t),Yf(e)===t}function Qe(e,t,a,n,l,r){switch(a){case"children":typeof n=="string"?t==="body"||t==="textarea"&&n===""||Bn(e,n):(typeof n=="number"||typeof n=="bigint")&&t!=="body"&&Bn(e,""+n);break;case"className":mr(e,"class",n);break;case"tabIndex":mr(e,"tabindex",n);break;case"dir":case"role":case"viewBox":case"width":case"height":mr(e,a,n);break;case"style":Gu(e,n,r);break;case"data":if(t!=="object"){mr(e,"data",n);break}case"src":case"href":if(n===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(n==null||typeof n=="function"||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=yr(""+n),e.setAttribute(a,n);break;case"action":case"formAction":if(typeof n=="function"){e.setAttribute(a,"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}else typeof r=="function"&&(a==="formAction"?(t!=="input"&&Qe(e,t,"name",l.name,l,null),Qe(e,t,"formEncType",l.formEncType,l,null),Qe(e,t,"formMethod",l.formMethod,l,null),Qe(e,t,"formTarget",l.formTarget,l,null)):(Qe(e,t,"encType",l.encType,l,null),Qe(e,t,"method",l.method,l,null),Qe(e,t,"target",l.target,l,null)));if(n==null||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=yr(""+n),e.setAttribute(a,n);break;case"onClick":n!=null&&(e.onclick=da);break;case"onScroll":n!=null&&Ce("scroll",e);break;case"onScrollEnd":n!=null&&Ce("scrollend",e);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(c(61));if(a=n.__html,a!=null){if(l.children!=null)throw Error(c(60));e.innerHTML=a}}break;case"multiple":e.multiple=n&&typeof n!="function"&&typeof n!="symbol";break;case"muted":e.muted=n&&typeof n!="function"&&typeof n!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(n==null||typeof n=="function"||typeof n=="boolean"||typeof n=="symbol"){e.removeAttribute("xlink:href");break}a=yr(""+n),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,""+n):e.removeAttribute(a);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":n&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":n===!0?e.setAttribute(a,""):n!==!1&&n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,n):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":n!=null&&typeof n!="function"&&typeof n!="symbol"&&!isNaN(n)&&1<=n?e.setAttribute(a,n):e.removeAttribute(a);break;case"rowSpan":case"start":n==null||typeof n=="function"||typeof n=="symbol"||isNaN(n)?e.removeAttribute(a):e.setAttribute(a,n);break;case"popover":Ce("beforetoggle",e),Ce("toggle",e),gr(e,"popover",n);break;case"xlinkActuate":oa(e,"http://www.w3.org/1999/xlink","xlink:actuate",n);break;case"xlinkArcrole":oa(e,"http://www.w3.org/1999/xlink","xlink:arcrole",n);break;case"xlinkRole":oa(e,"http://www.w3.org/1999/xlink","xlink:role",n);break;case"xlinkShow":oa(e,"http://www.w3.org/1999/xlink","xlink:show",n);break;case"xlinkTitle":oa(e,"http://www.w3.org/1999/xlink","xlink:title",n);break;case"xlinkType":oa(e,"http://www.w3.org/1999/xlink","xlink:type",n);break;case"xmlBase":oa(e,"http://www.w3.org/XML/1998/namespace","xml:base",n);break;case"xmlLang":oa(e,"http://www.w3.org/XML/1998/namespace","xml:lang",n);break;case"xmlSpace":oa(e,"http://www.w3.org/XML/1998/namespace","xml:space",n);break;case"is":gr(e,"is",n);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=zg.get(a)||a,gr(e,a,n))}}function Cc(e,t,a,n,l,r){switch(a){case"style":Gu(e,n,r);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(c(61));if(a=n.__html,a!=null){if(l.children!=null)throw Error(c(60));e.innerHTML=a}}break;case"children":typeof n=="string"?Bn(e,n):(typeof n=="number"||typeof n=="bigint")&&Bn(e,""+n);break;case"onScroll":n!=null&&Ce("scroll",e);break;case"onScrollEnd":n!=null&&Ce("scrollend",e);break;case"onClick":n!=null&&(e.onclick=da);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Lu.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(l=a.endsWith("Capture"),t=a.slice(2,l?a.length-7:void 0),r=e[St]||null,r=r!=null?r[a]:null,typeof r=="function"&&e.removeEventListener(t,r,l),typeof n=="function")){typeof r!="function"&&r!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,n,l);break e}a in e?e[a]=n:n===!0?e.setAttribute(a,""):gr(e,a,n)}}}function yt(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ce("error",e),Ce("load",e);var n=!1,l=!1,r;for(r in a)if(a.hasOwnProperty(r)){var o=a[r];if(o!=null)switch(r){case"src":n=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(c(137,t));default:Qe(e,t,r,o,a,null)}}l&&Qe(e,t,"srcSet",a.srcSet,a,null),n&&Qe(e,t,"src",a.src,a,null);return;case"input":Ce("invalid",e);var h=r=o=l=null,N=null,q=null;for(n in a)if(a.hasOwnProperty(n)){var J=a[n];if(J!=null)switch(n){case"name":l=J;break;case"type":o=J;break;case"checked":N=J;break;case"defaultChecked":q=J;break;case"value":r=J;break;case"defaultValue":h=J;break;case"children":case"dangerouslySetInnerHTML":if(J!=null)throw Error(c(137,t));break;default:Qe(e,t,n,J,a,null)}}qu(e,r,h,N,q,o,l,!1);return;case"select":Ce("invalid",e),n=o=r=null;for(l in a)if(a.hasOwnProperty(l)&&(h=a[l],h!=null))switch(l){case"value":r=h;break;case"defaultValue":o=h;break;case"multiple":n=h;default:Qe(e,t,l,h,a,null)}t=r,a=o,e.multiple=!!n,t!=null?qn(e,!!n,t,!1):a!=null&&qn(e,!!n,a,!0);return;case"textarea":Ce("invalid",e),r=l=n=null;for(o in a)if(a.hasOwnProperty(o)&&(h=a[o],h!=null))switch(o){case"value":n=h;break;case"defaultValue":l=h;break;case"children":r=h;break;case"dangerouslySetInnerHTML":if(h!=null)throw Error(c(91));break;default:Qe(e,t,o,h,a,null)}Hu(e,n,l,r);return;case"option":for(N in a)if(a.hasOwnProperty(N)&&(n=a[N],n!=null))switch(N){case"selected":e.selected=n&&typeof n!="function"&&typeof n!="symbol";break;default:Qe(e,t,N,n,a,null)}return;case"dialog":Ce("beforetoggle",e),Ce("toggle",e),Ce("cancel",e),Ce("close",e);break;case"iframe":case"object":Ce("load",e);break;case"video":case"audio":for(n=0;n<er.length;n++)Ce(er[n],e);break;case"image":Ce("error",e),Ce("load",e);break;case"details":Ce("toggle",e);break;case"embed":case"source":case"link":Ce("error",e),Ce("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(q in a)if(a.hasOwnProperty(q)&&(n=a[q],n!=null))switch(q){case"children":case"dangerouslySetInnerHTML":throw Error(c(137,t));default:Qe(e,t,q,n,a,null)}return;default:if(Gs(t)){for(J in a)a.hasOwnProperty(J)&&(n=a[J],n!==void 0&&Cc(e,t,J,n,a,void 0));return}}for(h in a)a.hasOwnProperty(h)&&(n=a[h],n!=null&&Qe(e,t,h,n,a,null))}function ih(e,t,a,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,r=null,o=null,h=null,N=null,q=null,J=null;for(X in a){var W=a[X];if(a.hasOwnProperty(X)&&W!=null)switch(X){case"checked":break;case"value":break;case"defaultValue":N=W;default:n.hasOwnProperty(X)||Qe(e,t,X,null,n,W)}}for(var Q in n){var X=n[Q];if(W=a[Q],n.hasOwnProperty(Q)&&(X!=null||W!=null))switch(Q){case"type":r=X;break;case"name":l=X;break;case"checked":q=X;break;case"defaultChecked":J=X;break;case"value":o=X;break;case"defaultValue":h=X;break;case"children":case"dangerouslySetInnerHTML":if(X!=null)throw Error(c(137,t));break;default:X!==W&&Qe(e,t,Q,X,n,W)}}Hs(e,o,h,N,q,J,r,l);return;case"select":X=o=h=Q=null;for(r in a)if(N=a[r],a.hasOwnProperty(r)&&N!=null)switch(r){case"value":break;case"multiple":X=N;default:n.hasOwnProperty(r)||Qe(e,t,r,null,n,N)}for(l in n)if(r=n[l],N=a[l],n.hasOwnProperty(l)&&(r!=null||N!=null))switch(l){case"value":Q=r;break;case"defaultValue":h=r;break;case"multiple":o=r;default:r!==N&&Qe(e,t,l,r,n,N)}t=h,a=o,n=X,Q!=null?qn(e,!!a,Q,!1):!!n!=!!a&&(t!=null?qn(e,!!a,t,!0):qn(e,!!a,a?[]:"",!1));return;case"textarea":X=Q=null;for(h in a)if(l=a[h],a.hasOwnProperty(h)&&l!=null&&!n.hasOwnProperty(h))switch(h){case"value":break;case"children":break;default:Qe(e,t,h,null,n,l)}for(o in n)if(l=n[o],r=a[o],n.hasOwnProperty(o)&&(l!=null||r!=null))switch(o){case"value":Q=l;break;case"defaultValue":X=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(c(91));break;default:l!==r&&Qe(e,t,o,l,n,r)}Bu(e,Q,X);return;case"option":for(var ge in a)if(Q=a[ge],a.hasOwnProperty(ge)&&Q!=null&&!n.hasOwnProperty(ge))switch(ge){case"selected":e.selected=!1;break;default:Qe(e,t,ge,null,n,Q)}for(N in n)if(Q=n[N],X=a[N],n.hasOwnProperty(N)&&Q!==X&&(Q!=null||X!=null))switch(N){case"selected":e.selected=Q&&typeof Q!="function"&&typeof Q!="symbol";break;default:Qe(e,t,N,Q,n,X)}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 ve in a)Q=a[ve],a.hasOwnProperty(ve)&&Q!=null&&!n.hasOwnProperty(ve)&&Qe(e,t,ve,null,n,Q);for(q in n)if(Q=n[q],X=a[q],n.hasOwnProperty(q)&&Q!==X&&(Q!=null||X!=null))switch(q){case"children":case"dangerouslySetInnerHTML":if(Q!=null)throw Error(c(137,t));break;default:Qe(e,t,q,Q,n,X)}return;default:if(Gs(t)){for(var Ge in a)Q=a[Ge],a.hasOwnProperty(Ge)&&Q!==void 0&&!n.hasOwnProperty(Ge)&&Cc(e,t,Ge,void 0,n,Q);for(J in n)Q=n[J],X=a[J],!n.hasOwnProperty(J)||Q===X||Q===void 0&&X===void 0||Cc(e,t,J,Q,n,X);return}}for(var R in a)Q=a[R],a.hasOwnProperty(R)&&Q!=null&&!n.hasOwnProperty(R)&&Qe(e,t,R,null,n,Q);for(W in n)Q=n[W],X=a[W],!n.hasOwnProperty(W)||Q===X||Q==null&&X==null||Qe(e,t,W,Q,n,X)}function Xf(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function ch(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),n=0;n<a.length;n++){var l=a[n],r=l.transferSize,o=l.initiatorType,h=l.duration;if(r&&h&&Xf(o)){for(o=0,h=l.responseEnd,n+=1;n<a.length;n++){var N=a[n],q=N.startTime;if(q>h)break;var J=N.transferSize,W=N.initiatorType;J&&Xf(W)&&(N=N.responseEnd,o+=J*(N<h?1:(h-q)/(N-q)))}if(--n,t+=8*(r+o)/(l.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 Tc=null,Mc=null;function ds(e){return e.nodeType===9?e:e.ownerDocument}function Pf(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 Kf(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 _c(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 Rc=null;function uh(){var e=window.event;return e&&e.type==="popstate"?e===Rc?!1:(Rc=e,!0):(Rc=null,!1)}var Zf=typeof setTimeout=="function"?setTimeout:void 0,oh=typeof clearTimeout=="function"?clearTimeout:void 0,Jf=typeof Promise=="function"?Promise:void 0,dh=typeof queueMicrotask=="function"?queueMicrotask:typeof Jf<"u"?function(e){return Jf.resolve(null).then(e).catch(fh)}:Zf;function fh(e){setTimeout(function(){throw e})}function Ja(e){return e==="head"}function If(e,t){var a=t,n=0;do{var l=a.nextSibling;if(e.removeChild(a),l&&l.nodeType===8)if(a=l.data,a==="/$"||a==="/&"){if(n===0){e.removeChild(l),yl(t);return}n--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")n++;else if(a==="html")ar(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,ar(a);for(var r=a.firstChild;r;){var o=r.nextSibling,h=r.nodeName;r[vl]||h==="SCRIPT"||h==="STYLE"||h==="LINK"&&r.rel.toLowerCase()==="stylesheet"||a.removeChild(r),r=o}}else a==="body"&&ar(e.ownerDocument.body);a=l}while(a);yl(t)}function Ff(e,t){var a=e;e=0;do{var n=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),n&&n.nodeType===8)if(a=n.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=n}while(a)}function Lc(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":Lc(a),qs(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function gh(e,t,a,n){for(;e.nodeType===1;){var l=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!n&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(n){if(!e[vl])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(r=e.getAttribute("rel"),r==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(r!==l.rel||e.getAttribute("href")!==(l.href==null||l.href===""?null:l.href)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin)||e.getAttribute("title")!==(l.title==null?null:l.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(r=e.getAttribute("src"),(r!==(l.src==null?null:l.src)||e.getAttribute("type")!==(l.type==null?null:l.type)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin))&&r&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var r=l.name==null?null:""+l.name;if(l.type==="hidden"&&e.getAttribute("name")===r)return e}else return e;if(e=Kt(e.nextSibling),e===null)break}return null}function mh(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=Kt(e.nextSibling),e===null))return null;return e}function $f(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Kt(e.nextSibling),e===null))return null;return e}function zc(e){return e.data==="$?"||e.data==="$~"}function Dc(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function hh(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var n=function(){t(),a.removeEventListener("DOMContentLoaded",n)};a.addEventListener("DOMContentLoaded",n),e._reactRetry=n}}function Kt(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 Oc=null;function Wf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return Kt(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function e0(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function t0(e,t,a){switch(t=ds(a),e){case"html":if(e=t.documentElement,!e)throw Error(c(452));return e;case"head":if(e=t.head,!e)throw Error(c(453));return e;case"body":if(e=t.body,!e)throw Error(c(454));return e;default:throw Error(c(451))}}function ar(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);qs(e)}var Zt=new Map,a0=new Set;function fs(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Aa=te.d;te.d={f:yh,r:ph,D:xh,C:bh,L:vh,m:wh,X:kh,S:Sh,M:jh};function yh(){var e=Aa.f(),t=ns();return e||t}function ph(e){var t=Dn(e);t!==null&&t.tag===5&&t.type==="form"?xd(t):Aa.r(e)}var gl=typeof document>"u"?null:document;function n0(e,t,a){var n=gl;if(n&&typeof t=="string"&&t){var l=Ht(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof a=="string"&&(l+='[crossorigin="'+a+'"]'),a0.has(l)||(a0.add(l),e={rel:e,crossOrigin:a,href:t},n.querySelector(l)===null&&(t=n.createElement("link"),yt(t,"link",e),ut(t),n.head.appendChild(t)))}}function xh(e){Aa.D(e),n0("dns-prefetch",e,null)}function bh(e,t){Aa.C(e,t),n0("preconnect",e,t)}function vh(e,t,a){Aa.L(e,t,a);var n=gl;if(n&&e&&t){var l='link[rel="preload"][as="'+Ht(t)+'"]';t==="image"&&a&&a.imageSrcSet?(l+='[imagesrcset="'+Ht(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(l+='[imagesizes="'+Ht(a.imageSizes)+'"]')):l+='[href="'+Ht(e)+'"]';var r=l;switch(t){case"style":r=ml(e);break;case"script":r=hl(e)}Zt.has(r)||(e=b({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Zt.set(r,e),n.querySelector(l)!==null||t==="style"&&n.querySelector(nr(r))||t==="script"&&n.querySelector(lr(r))||(t=n.createElement("link"),yt(t,"link",e),ut(t),n.head.appendChild(t)))}}function wh(e,t){Aa.m(e,t);var a=gl;if(a&&e){var n=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+Ht(n)+'"][href="'+Ht(e)+'"]',r=l;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":r=hl(e)}if(!Zt.has(r)&&(e=b({rel:"modulepreload",href:e},t),Zt.set(r,e),a.querySelector(l)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(lr(r)))return}n=a.createElement("link"),yt(n,"link",e),ut(n),a.head.appendChild(n)}}}function Sh(e,t,a){Aa.S(e,t,a);var n=gl;if(n&&e){var l=On(n).hoistableStyles,r=ml(e);t=t||"default";var o=l.get(r);if(!o){var h={loading:0,preload:null};if(o=n.querySelector(nr(r)))h.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Zt.get(r))&&Uc(e,a);var N=o=n.createElement("link");ut(N),yt(N,"link",e),N._p=new Promise(function(q,J){N.onload=q,N.onerror=J}),N.addEventListener("load",function(){h.loading|=1}),N.addEventListener("error",function(){h.loading|=2}),h.loading|=4,gs(o,t,n)}o={type:"stylesheet",instance:o,count:1,state:h},l.set(r,o)}}}function kh(e,t){Aa.X(e,t);var a=gl;if(a&&e){var n=On(a).hoistableScripts,l=hl(e),r=n.get(l);r||(r=a.querySelector(lr(l)),r||(e=b({src:e,async:!0},t),(t=Zt.get(l))&&qc(e,t),r=a.createElement("script"),ut(r),yt(r,"link",e),a.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},n.set(l,r))}}function jh(e,t){Aa.M(e,t);var a=gl;if(a&&e){var n=On(a).hoistableScripts,l=hl(e),r=n.get(l);r||(r=a.querySelector(lr(l)),r||(e=b({src:e,async:!0,type:"module"},t),(t=Zt.get(l))&&qc(e,t),r=a.createElement("script"),ut(r),yt(r,"link",e),a.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},n.set(l,r))}}function l0(e,t,a,n){var l=(l=de.current)?fs(l):null;if(!l)throw Error(c(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=ml(a.href),a=On(l).hoistableStyles,n=a.get(t),n||(n={type:"style",instance:null,count:0,state:null},a.set(t,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=ml(a.href);var r=On(l).hoistableStyles,o=r.get(e);if(o||(l=l.ownerDocument||l,o={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},r.set(e,o),(r=l.querySelector(nr(e)))&&!r._p&&(o.instance=r,o.state.loading=5),Zt.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Zt.set(e,a),r||Nh(l,e,a,o.state))),t&&n===null)throw Error(c(528,""));return o}if(t&&n!==null)throw Error(c(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=hl(a),a=On(l).hoistableScripts,n=a.get(t),n||(n={type:"script",instance:null,count:0,state:null},a.set(t,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(c(444,e))}}function ml(e){return'href="'+Ht(e)+'"'}function nr(e){return'link[rel="stylesheet"]['+e+"]"}function r0(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function Nh(e,t,a,n){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?n.loading=1:(t=e.createElement("link"),n.preload=t,t.addEventListener("load",function(){return n.loading|=1}),t.addEventListener("error",function(){return n.loading|=2}),yt(t,"link",a),ut(t),e.head.appendChild(t))}function hl(e){return'[src="'+Ht(e)+'"]'}function lr(e){return"script[async]"+e}function s0(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+Ht(a.href)+'"]');if(n)return t.instance=n,ut(n),n;var l=b({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),ut(n),yt(n,"style",l),gs(n,a.precedence,e),t.instance=n;case"stylesheet":l=ml(a.href);var r=e.querySelector(nr(l));if(r)return t.state.loading|=4,t.instance=r,ut(r),r;n=r0(a),(l=Zt.get(l))&&Uc(n,l),r=(e.ownerDocument||e).createElement("link"),ut(r);var o=r;return o._p=new Promise(function(h,N){o.onload=h,o.onerror=N}),yt(r,"link",n),t.state.loading|=4,gs(r,a.precedence,e),t.instance=r;case"script":return r=hl(a.src),(l=e.querySelector(lr(r)))?(t.instance=l,ut(l),l):(n=a,(l=Zt.get(r))&&(n=b({},a),qc(n,l)),e=e.ownerDocument||e,l=e.createElement("script"),ut(l),yt(l,"link",n),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(c(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,gs(n,a.precedence,e));return t.instance}function gs(e,t,a){for(var n=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=n.length?n[n.length-1]:null,r=l,o=0;o<n.length;o++){var h=n[o];if(h.dataset.precedence===t)r=h;else if(r!==l)break}r?r.parentNode.insertBefore(e,r.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function Uc(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function qc(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var ms=null;function i0(e,t,a){if(ms===null){var n=new Map,l=ms=new Map;l.set(a,n)}else l=ms,n=l.get(a),n||(n=new Map,l.set(a,n));if(n.has(e))return n;for(n.set(e,null),a=a.getElementsByTagName(e),l=0;l<a.length;l++){var r=a[l];if(!(r[vl]||r[ft]||e==="link"&&r.getAttribute("rel")==="stylesheet")&&r.namespaceURI!=="http://www.w3.org/2000/svg"){var o=r.getAttribute(t)||"";o=e+o;var h=n.get(o);h?h.push(r):n.set(o,[r])}}return n}function c0(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function Eh(e,t,a){if(a===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 u0(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Ah(e,t,a,n){if(a.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var l=ml(n.href),r=t.querySelector(nr(l));if(r){t=r._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=hs.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=r,ut(r);return}r=t.ownerDocument||t,n=r0(n),(l=Zt.get(l))&&Uc(n,l),r=r.createElement("link"),ut(r);var o=r;o._p=new Promise(function(h,N){o.onload=h,o.onerror=N}),yt(r,"link",n),a.instance=r}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=hs.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Bc=0;function Ch(e,t){return e.stylesheets&&e.count===0&&ps(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var n=setTimeout(function(){if(e.stylesheets&&ps(e,e.stylesheets),e.unsuspend){var r=e.unsuspend;e.unsuspend=null,r()}},6e4+t);0<e.imgBytes&&Bc===0&&(Bc=62500*ch());var l=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&ps(e,e.stylesheets),e.unsuspend)){var r=e.unsuspend;e.unsuspend=null,r()}},(e.imgBytes>Bc?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(l)}}:null}function hs(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ps(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var ys=null;function ps(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ys=new Map,t.forEach(Th,e),ys=null,hs.call(e))}function Th(e,t){if(!(t.state.loading&4)){var a=ys.get(e);if(a)var n=a.get(null);else{a=new Map,ys.set(e,a);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),r=0;r<l.length;r++){var o=l[r];(o.nodeName==="LINK"||o.getAttribute("media")!=="not all")&&(a.set(o.dataset.precedence,o),n=o)}n&&a.set(null,n)}l=t.instance,o=l.getAttribute("data-precedence"),r=a.get(o)||n,r===n&&a.set(null,l),a.set(o,l),this.count++,n=hs.bind(this),l.addEventListener("load",n),l.addEventListener("error",n),r?r.parentNode.insertBefore(l,r.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(l,e.firstChild)),t.state.loading|=4}}var rr={$$typeof:_,Provider:null,Consumer:null,_currentValue:me,_currentValue2:me,_threadCount:0};function Mh(e,t,a,n,l,r,o,h,N){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=ye(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ye(0),this.hiddenUpdates=ye(null),this.identifierPrefix=n,this.onUncaughtError=l,this.onCaughtError=r,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=N,this.incompleteTransitions=new Map}function o0(e,t,a,n,l,r,o,h,N,q,J,W){return e=new Mh(e,t,a,o,N,q,J,W,h),t=1,r===!0&&(t|=24),r=_t(3,null,null,t),e.current=r,r.stateNode=e,t=xi(),t.refCount++,e.pooledCache=t,t.refCount++,r.memoizedState={element:n,isDehydrated:a,cache:t},Si(r),e}function d0(e){return e?(e=Pn,e):Pn}function f0(e,t,a,n,l,r){l=d0(l),n.context===null?n.context=l:n.pendingContext=l,n=qa(t),n.payload={element:a},r=r===void 0?null:r,r!==null&&(n.callback=r),a=Ba(e,n,t),a!==null&&(Ct(a,e,t),Ul(a,e,t))}function g0(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function Hc(e,t){g0(e,t),(e=e.alternate)&&g0(e,t)}function m0(e){if(e.tag===13||e.tag===31){var t=dn(e,67108864);t!==null&&Ct(t,e,67108864),Hc(e,67108864)}}function h0(e){if(e.tag===13||e.tag===31){var t=Ot();t=It(t);var a=dn(e,t);a!==null&&Ct(a,e,t),Hc(e,t)}}var xs=!0;function _h(e,t,a,n){var l=H.T;H.T=null;var r=te.p;try{te.p=2,Qc(e,t,a,n)}finally{te.p=r,H.T=l}}function Rh(e,t,a,n){var l=H.T;H.T=null;var r=te.p;try{te.p=8,Qc(e,t,a,n)}finally{te.p=r,H.T=l}}function Qc(e,t,a,n){if(xs){var l=Gc(n);if(l===null)Ac(e,t,n,bs,a),p0(e,n);else if(zh(l,e,t,a,n))n.stopPropagation();else if(p0(e,n),t&4&&-1<Lh.indexOf(e)){for(;l!==null;){var r=Dn(l);if(r!==null)switch(r.tag){case 3:if(r=r.stateNode,r.current.memoizedState.isDehydrated){var o=ua(r.pendingLanes);if(o!==0){var h=r;for(h.pendingLanes|=2,h.entangledLanes|=2;o;){var N=1<<31-xt(o);h.entanglements[1]|=N,o&=~N}la(r),(ze&6)===0&&(ts=$e()+500,Wl(0))}}break;case 31:case 13:h=dn(r,2),h!==null&&Ct(h,r,2),ns(),Hc(r,2)}if(r=Gc(n),r===null&&Ac(e,t,n,bs,a),r===l)break;l=r}l!==null&&n.stopPropagation()}else Ac(e,t,n,null,a)}}function Gc(e){return e=Vs(e),Yc(e)}var bs=null;function Yc(e){if(bs=null,e=zn(e),e!==null){var t=g(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=y(t),e!==null)return e;e=null}else if(a===31){if(e=x(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return bs=e,null}function y0(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(An()){case ct:return 2;case st:return 8;case Ke:case Jt:return 32;case qt:return 268435456;default:return 32}default:return 32}}var Vc=!1,Ia=null,Fa=null,$a=null,sr=new Map,ir=new Map,Wa=[],Lh="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 p0(e,t){switch(e){case"focusin":case"focusout":Ia=null;break;case"dragenter":case"dragleave":Fa=null;break;case"mouseover":case"mouseout":$a=null;break;case"pointerover":case"pointerout":sr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ir.delete(t.pointerId)}}function cr(e,t,a,n,l,r){return e===null||e.nativeEvent!==r?(e={blockedOn:t,domEventName:a,eventSystemFlags:n,nativeEvent:r,targetContainers:[l]},t!==null&&(t=Dn(t),t!==null&&m0(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function zh(e,t,a,n,l){switch(t){case"focusin":return Ia=cr(Ia,e,t,a,n,l),!0;case"dragenter":return Fa=cr(Fa,e,t,a,n,l),!0;case"mouseover":return $a=cr($a,e,t,a,n,l),!0;case"pointerover":var r=l.pointerId;return sr.set(r,cr(sr.get(r)||null,e,t,a,n,l)),!0;case"gotpointercapture":return r=l.pointerId,ir.set(r,cr(ir.get(r)||null,e,t,a,n,l)),!0}return!1}function x0(e){var t=zn(e.target);if(t!==null){var a=g(t);if(a!==null){if(t=a.tag,t===13){if(t=y(a),t!==null){e.blockedOn=t,Rn(e.priority,function(){h0(a)});return}}else if(t===31){if(t=x(a),t!==null){e.blockedOn=t,Rn(e.priority,function(){h0(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function vs(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=Gc(e.nativeEvent);if(a===null){a=e.nativeEvent;var n=new a.constructor(a.type,a);Ys=n,a.target.dispatchEvent(n),Ys=null}else return t=Dn(a),t!==null&&m0(t),e.blockedOn=a,!1;t.shift()}return!0}function b0(e,t,a){vs(e)&&a.delete(t)}function Dh(){Vc=!1,Ia!==null&&vs(Ia)&&(Ia=null),Fa!==null&&vs(Fa)&&(Fa=null),$a!==null&&vs($a)&&($a=null),sr.forEach(b0),ir.forEach(b0)}function ws(e,t){e.blockedOn===t&&(e.blockedOn=null,Vc||(Vc=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,Dh)))}var Ss=null;function v0(e){Ss!==e&&(Ss=e,i.unstable_scheduleCallback(i.unstable_NormalPriority,function(){Ss===e&&(Ss=null);for(var t=0;t<e.length;t+=3){var a=e[t],n=e[t+1],l=e[t+2];if(typeof n!="function"){if(Yc(n||a)===null)continue;break}var r=Dn(a);r!==null&&(e.splice(t,3),t-=3,Gi(r,{pending:!0,data:l,method:a.method,action:n},n,l))}}))}function yl(e){function t(N){return ws(N,e)}Ia!==null&&ws(Ia,e),Fa!==null&&ws(Fa,e),$a!==null&&ws($a,e),sr.forEach(t),ir.forEach(t);for(var a=0;a<Wa.length;a++){var n=Wa[a];n.blockedOn===e&&(n.blockedOn=null)}for(;0<Wa.length&&(a=Wa[0],a.blockedOn===null);)x0(a),a.blockedOn===null&&Wa.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(n=0;n<a.length;n+=3){var l=a[n],r=a[n+1],o=l[St]||null;if(typeof r=="function")o||v0(a);else if(o){var h=null;if(r&&r.hasAttribute("formAction")){if(l=r,o=r[St]||null)h=o.formAction;else if(Yc(l)!==null)continue}else h=o.action;typeof h=="function"?a[n+1]=h:(a.splice(n,3),n-=3),v0(a)}}}function w0(){function e(r){r.canIntercept&&r.info==="react-transition"&&r.intercept({handler:function(){return new Promise(function(o){return l=o})},focusReset:"manual",scroll:"manual"})}function t(){l!==null&&(l(),l=null),n||setTimeout(a,20)}function a(){if(!n&&!navigation.transition){var r=navigation.currentEntry;r&&r.url!=null&&navigation.navigate(r.url,{state:r.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var n=!1,l=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){n=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),l!==null&&(l(),l=null)}}}function Xc(e){this._internalRoot=e}ks.prototype.render=Xc.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(c(409));var a=t.current,n=Ot();f0(a,n,e,t,null,null)},ks.prototype.unmount=Xc.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;f0(e.current,2,null,e,null,null),ns(),t[Ln]=null}};function ks(e){this._internalRoot=e}ks.prototype.unstable_scheduleHydration=function(e){if(e){var t=_n();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Wa.length&&t!==0&&t<Wa[a].priority;a++);Wa.splice(a,0,e),a===0&&x0(e)}};var S0=u.version;if(S0!=="19.2.0")throw Error(c(527,S0,"19.2.0"));te.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(c(188)):(e=Object.keys(e).join(","),Error(c(268,e)));return e=p(t),e=e!==null?v(e):null,e=e===null?null:e.stateNode,e};var Oh={bundleType:0,version:"19.2.0",rendererPackageName:"react-dom",currentDispatcherRef:H,reconcilerVersion:"19.2.0"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var js=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!js.isDisabled&&js.supportsFiber)try{ln=js.inject(Oh),tt=js}catch{}}return or.createRoot=function(e,t){if(!d(e))throw Error(c(299));var a=!1,n="",l=Cd,r=Td,o=Md;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(n=t.identifierPrefix),t.onUncaughtError!==void 0&&(l=t.onUncaughtError),t.onCaughtError!==void 0&&(r=t.onCaughtError),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=o0(e,1,!1,null,null,a,n,null,l,r,o,w0),e[Ln]=t.current,Ec(e),new Xc(t)},or.hydrateRoot=function(e,t,a){if(!d(e))throw Error(c(299));var n=!1,l="",r=Cd,o=Td,h=Md,N=null;return a!=null&&(a.unstable_strictMode===!0&&(n=!0),a.identifierPrefix!==void 0&&(l=a.identifierPrefix),a.onUncaughtError!==void 0&&(r=a.onUncaughtError),a.onCaughtError!==void 0&&(o=a.onCaughtError),a.onRecoverableError!==void 0&&(h=a.onRecoverableError),a.formState!==void 0&&(N=a.formState)),t=o0(e,1,!0,t,a??null,n,l,N,r,o,h,w0),t.context=d0(null),a=t.current,n=Ot(),n=It(n),l=qa(n),l.callback=null,Ba(a,l,n),a=n,t.current.lanes=a,ke(t,a),la(t),e[Ln]=t.current,Ec(e),new ks(t)},or.version="19.2.0",or}var R0;function Ph(){if(R0)return Zc.exports;R0=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(u){console.error(u)}}return i(),Zc.exports=Xh(),Zc.exports}var Kh=Ph();const Zh=ju(Kh);class Jh{play(){return Promise.reject(new Error("play() not implemented"))}pause(){return Promise.reject(new Error("pause() not implemented"))}restart(){return Promise.reject(new Error("restart() not implemented"))}seek(u){return Promise.reject(new Error("seek() not implemented"))}getPlaybackState(){return Promise.reject(new Error("getPlaybackState() not implemented"))}getQueue(){return Promise.reject(new Error("getQueue() not implemented"))}addToQueue(u){return Promise.reject(new Error("addToQueue() not implemented"))}removeFromQueue(u){return Promise.reject(new Error("removeFromQueue() not implemented"))}clearQueue(){return Promise.reject(new Error("clearQueue() not implemented"))}reorderQueue(u,f){return Promise.reject(new Error("reorderQueue() not implemented"))}playNext(){return Promise.reject(new Error("playNext() not implemented"))}getMixerState(){return Promise.reject(new Error("getMixerState() not implemented"))}setMasterGain(u,f){return Promise.reject(new Error("setMasterGain() not implemented"))}toggleMasterMute(u){return Promise.reject(new Error("toggleMasterMute() not implemented"))}setMasterMute(u,f){return Promise.reject(new Error("setMasterMute() not implemented"))}getEffects(){return Promise.reject(new Error("getEffects() not implemented"))}selectEffect(u){return Promise.reject(new Error("selectEffect() not implemented"))}toggleEffect(u,f){return Promise.reject(new Error("toggleEffect() not implemented"))}nextEffect(){return Promise.reject(new Error("nextEffect() not implemented"))}previousEffect(){return Promise.reject(new Error("previousEffect() not implemented"))}randomEffect(){return Promise.reject(new Error("randomEffect() not implemented"))}getLibrary(){return Promise.reject(new Error("getLibrary() not implemented"))}scanLibrary(){return Promise.reject(new Error("scanLibrary() not implemented"))}searchSongs(u){return Promise.reject(new Error("searchSongs() not implemented"))}loadSongForEditing(u){return Promise.reject(new Error("loadSongForEditing() not implemented"))}saveSongEdits(u){return Promise.reject(new Error("saveSongEdits() not implemented"))}getPreferences(){return Promise.reject(new Error("getPreferences() not implemented"))}updateAutoTunePreferences(u){return Promise.reject(new Error("updateAutoTunePreferences() not implemented"))}updateMicrophonePreferences(u){return Promise.reject(new Error("updateMicrophonePreferences() not implemented"))}updateEffectsPreferences(u){return Promise.reject(new Error("updateEffectsPreferences() not implemented"))}getRequests(){return Promise.reject(new Error("getRequests() not implemented"))}approveRequest(u){return Promise.reject(new Error("approveRequest() not implemented"))}rejectRequest(u){return Promise.reject(new Error("rejectRequest() not implemented"))}onStateChange(u,f){throw new Error("onStateChange() not implemented")}offStateChange(u,f){throw new Error("offStateChange() not implemented")}async connect(){}async disconnect(){}}const dr={enableWaveforms:!1,enableEffects:!0,randomEffectOnSong:!1,overlayOpacity:.7,showUpcomingLyrics:!0},Eu={enabled:!1,strength:50,speed:20,preferVocals:!1},Ih={PA:{id:"default",name:"Default Output"},IEM:{id:"default",name:"Default Output"},input:{id:"default",name:"Default Input"}},hg={enabled:!0,provider:"lmstudio",model:"",apiKey:"",baseUrl:"http://localhost:1234/v1"},Ns={outputToSongsFolder:!1,whisperModel:"large-v3-turbo",enableCrepe:!0,llm:hg},Au={enableWaveforms:dr.enableWaveforms,enableEffects:dr.enableEffects,randomEffectOnSong:dr.randomEffectOnSong,overlayOpacity:dr.overlayOpacity,showUpcomingLyrics:dr.showUpcomingLyrics},L0={sidebarCollapsed:!0};let pl=null;class Cu extends Jh{constructor(){if(pl)return pl;super(),this.api=window.kaiAPI,pl=this}static getInstance(){return pl||(pl=new Cu),pl}async getPlaybackState(){return(await this.api.app.getState()).playback}async getQueue(){const u=await this.api.app.getState();return{queue:u.queue,currentSong:u.currentSong}}async addToQueue(u){return await this.api.queue.addSong(u)}async removeFromQueue(u){return await this.api.queue.removeSong(u)}async clearQueue(){return await this.api.queue.clear()}async reorderQueue(u,f){return await this.api.queue.reorderQueue(u,f)}async playNext(){return await this.api.player.next()}async playFromQueue(u){return await this.api.queue.load(u)}async getMixerState(){return(await this.api.app.getState()).mixer}setMasterGain(u,f){const c=window.app?.player?.kaiPlayer;return c?c.setMasterGain(u,f):{success:!1,error:"Audio engine not initialized"}}toggleMasterMute(u){const f=window.app?.player?.kaiPlayer;return f?f.toggleMasterMute(u):{success:!1,error:"Audio engine not initialized"}}setMasterMute(u,f){const c=window.app?.player?.kaiPlayer;return c?c.setMasterMute(u,f):{success:!1,error:"Audio engine not initialized"}}async toggleMute(u,f){return await this.api.mixer.toggleMute(u,f)}async getAudioDevices(){try{if(!navigator.mediaDevices||!navigator.mediaDevices.enumerateDevices)return console.warn("MediaDevices API not available"),[];await navigator.mediaDevices.getUserMedia({audio:!0}).then(c=>{c.getTracks().forEach(d=>d.stop())}).catch(c=>{console.warn("Microphone permission denied:",c)});const u=await navigator.mediaDevices.enumerateDevices(),f=[];return u.forEach((c,d)=>{(c.kind==="audiooutput"||c.kind==="audioinput")&&f.push({id:c.deviceId,deviceId:c.deviceId,label:c.label||`${c.kind==="audiooutput"?"Speaker":"Microphone"} ${d+1}`,name:c.label||`${c.kind==="audiooutput"?"Speaker":"Microphone"} ${d+1}`,maxInputChannels:c.kind==="audioinput"?2:0,maxOutputChannels:c.kind==="audiooutput"?2:0,defaultSampleRate:48e3,hostApi:"Web Audio API",deviceKind:c.kind,groupId:c.groupId})}),f}catch(u){return console.error("Failed to enumerate audio devices:",u),[]}}async setAudioDevice(u,f){console.log(`🎧 Setting ${u} device to:`,f),await this.api.audio.setDevice(u,f);const c=window.app?.player?.kaiPlayer;if(c&&(u==="PA"||u==="IEM"))try{await c.setOutputDevice(u,f),console.log(`✅ Applied ${u} device change to kaiPlayer`)}catch(d){console.error(`❌ Failed to apply ${u} device to kaiPlayer:`,d)}else if(c&&u==="input")try{c.inputDevice=f,c.mixerState.enableMic&&await c.startMicrophoneInput(f),console.log("✅ Applied input device change to kaiPlayer")}catch(d){console.error("❌ Failed to apply input device to kaiPlayer:",d)}return{success:!0}}async getDevicePreferences(){return await this.api.settings.get("devicePreferences",{})}async saveDevicePreferences(u){return await this.api.settings.set("devicePreferences",u)}async getAudioSettings(){const u=await this.api.settings.get("iemMonoVocals",!0),f=await this.api.settings.get("micToSpeakers",!0),c=await this.api.settings.get("enableMic",!0);return{iemMonoVocals:u,micToSpeakers:f,enableMic:c}}async saveAudioSettings(u){u.iemMonoVocals!==void 0&&await this.api.settings.set("iemMonoVocals",u.iemMonoVocals),u.micToSpeakers!==void 0&&await this.api.settings.set("micToSpeakers",u.micToSpeakers),u.enableMic!==void 0&&await this.api.settings.set("enableMic",u.enableMic);const f=window.app?.player?.kaiPlayer;f&&(u.iemMonoVocals!==void 0&&(f.setIEMMonoVocals(u.iemMonoVocals),console.log("🎧 Applied IEM mono vocals:",u.iemMonoVocals)),u.micToSpeakers!==void 0&&(f.setMicToSpeakers(u.micToSpeakers),console.log("🎧 Applied mic to speakers:",u.micToSpeakers)),u.enableMic!==void 0&&(f.setEnableMic(u.enableMic),console.log("🎧 Applied enable mic:",u.enableMic))),console.log("✅ Audio settings saved and applied:",u)}async getEffects(){return await this.api.effects.getList()}async selectEffect(u){return await this.api.effects.select(u)}async enableEffect(u){return await this.api.effects.toggle(u,!0)}async disableEffect(u){return await this.api.effects.toggle(u,!1)}async toggleEffect(u,f){return await this.api.effects.toggle(u,f)}async nextEffect(){return await this.api.effects.next()}async previousEffect(){return await this.api.effects.previous()}async randomEffect(){return await this.api.effects.random()}async getLibrary(){return await this.api.library.getSongs()}async scanLibrary(){return await this.api.library.scanFolder()}async searchSongs(u){return await this.api.library.search(u)}async getSongsFolder(){return(await this.api.library.getSongsFolder()).folder}async setSongsFolder(){return(await this.api.library.setSongsFolder()).folder}async getCachedLibrary(){return await this.api.library.getCachedSongs()}async syncLibrary(){return await this.api.library.syncLibrary()}async loadSong(u){return await this.api.file.loadKaiFromPath(u)}async loadSongForEditing(u){const f=await this.api.editor.loadKai(u);if(!f.success)return{success:!1,error:f.error};const c=f.data,d=c.audio?.sources?.map(g=>{const y=new Blob([g.audioData],{type:"audio/mpeg"}),x=URL.createObjectURL(y);return{name:g.name,filename:g.filename,audioData:g.audioData,downloadUrl:x}})||[];return{success:!0,data:{format:"kai",metadata:c.metadata||{},lyrics:c.lyrics||[],audioFiles:d,songJson:c.originalSongJson||{}}}}async saveSongEdits(u){const{path:f,metadata:c,lyrics:d,format:g}=u;if(g==="kai"){const y={song:{title:c.title,artist:c.artist,album:c.album,year:c.year,genre:c.genre,key:c.key},lyrics:d};return(c.rejections!==void 0||c.suggestions!==void 0)&&(y.meta={corrections:{}},c.rejections!==void 0&&(y.meta.corrections.rejected=c.rejections.map(m=>({line:m.line_num,start:m.start_time,end:m.end_time,old:m.old_text,new:m.new_text,reason:m.reason,word_retention:m.retention_rate}))),c.suggestions!==void 0&&(y.meta.corrections.missing_lines_suggested=c.suggestions.map(m=>({suggested_text:m.suggested_text,start:m.start_time,end:m.end_time,confidence:m.confidence,reason:m.reason,pitch_activity:m.pitch_activity})))),await this.api.editor.saveKai(y,f)}return{success:!1,error:"Unsupported format"}}async getPreferences(){return(await this.api.app.getState()).preferences}async updateAutoTunePreferences(u){return await this.api.preferences.setAutoTune(u)}async updateMicrophonePreferences(u){return await this.api.preferences.setMicrophone(u)}async updateEffectsPreferences(u){return await this.api.preferences.setEffects(u)}async getWaveformPreferences(){return await this.api.settings.get("waveformPreferences",Au)}async saveWaveformPreferences(u){const f={enableWaveforms:u.enableWaveforms,enableEffects:u.enableEffects,randomEffectOnSong:u.randomEffectOnSong,showUpcomingLyrics:u.showUpcomingLyrics,overlayOpacity:u.overlayOpacity},c=await this.api.settings.set("waveformPreferences",f);return console.log("✅ Waveform preferences saved and broadcast:",f),c}async getAutotunePreferences(){return await this.api.settings.get("autoTunePreferences",Eu)}async saveAutotunePreferences(u){const f={enabled:u.enabled,strength:u.strength,speed:u.speed,preferVocals:u.preferVocals},c=await this.api.settings.set("autoTunePreferences",f),d=window.app?.player?.kaiPlayer||window.app?.player?.cdgPlayer;if(d)try{await d.setAutoTuneSettings(f),console.log("🎤 Applied auto-tune settings in real-time:",f)}catch(g){console.error("❌ Failed to apply auto-tune settings to player:",g)}return c}async setAutotuneEnabled(u){const f=window.app?.player?.kaiPlayer||window.app?.player?.cdgPlayer;if(f)try{await f.setAutoTuneSettings({enabled:u}),console.log("🎤 Applied auto-tune enabled:",u)}catch(c){console.error("❌ Failed to apply auto-tune enabled:",c)}return await this.api.autotune.setEnabled(u)}async setAutotuneSettings(u){const f=window.app?.player?.kaiPlayer||window.app?.player?.cdgPlayer;if(f)try{await f.setAutoTuneSettings(u),console.log("🎤 Applied auto-tune settings:",u)}catch(c){console.error("❌ Failed to apply auto-tune settings:",c)}return await this.api.autotune.setSettings(u)}onSettingsChanged(u,f){const d={waveform:"waveform:settingsChanged",autotune:"autotune:settingsChanged"}[u];if(!d)return()=>{};const g=(y,x)=>{f(x)};return this.api.events.on(d,g),()=>{this.api.events.off?.(d,g)}}async getRequests(){return await this.api.webServer.getSongRequests()}async approveRequest(u){return await this.api.webServer.approveRequest(u)}async rejectRequest(u){return await this.api.webServer.rejectRequest(u)}async getServerUrl(){return await this.api.webServer.getUrl()}async getServerSettings(){return await this.api.webServer.getSettings()}async updateServerSettings(u){return await this.api.webServer.updateSettings(u)}async getAdminPasswordStatus(){return await this.api.settings.get("server.adminPasswordHash")}async setAdminPassword(u){return await this.api.webServer.setAdminPassword(u)}async clearAllRequests(){return await this.api.webServer.clearAllRequests()}async openExternal(u){return await this.api.shell.openExternal(u)}onLatencyUpdate(u){const f=(c,d)=>u(d);return this.api.audio.onLatencyUpdate(f),()=>this.api.audio.removeLatencyListener?.(f)}onXRunUpdate(u){const f=(c,d)=>u(d);return this.api.audio.onXRun(f),()=>this.api.audio.removeXRunListener?.(f)}onPlaybackStateChanged(u){const f=(c,d)=>u(d);return this.api.player.onPlaybackState(f),()=>this.api.player.removePlaybackListener(f)}onCurrentSongChanged(u){const f=(c,d)=>u(d);return this.api.song.onChanged(f),()=>this.api.song.removeChangedListener(f)}onQueueChanged(u){const f=(c,d)=>{this.api.app.getState().then(g=>{u({queue:d,currentSong:g.currentSong})})};return this.api.queue.onUpdated(f),()=>this.api.queue.removeUpdatedListener(f)}onMixerChanged(u){const f=(c,d)=>u(d);return this.api.mixer.onStateChange(f),()=>this.api.mixer.removeStateListener(f)}onEffectChanged(u){const f=(c,d)=>u(d);return this.api.effects.onChanged(f),()=>this.api.effects.removeChangedListener(f)}onStateChange(u,f){switch(u){case"playback":return this.onPlaybackStateChanged(f);case"mixer":return this.onMixerChanged(f);case"queue":return this.onQueueChanged(f);case"effects":return this.onEffectChanged(f);case"preferences":{const c=(d,g)=>f(g);return this.api.preferences.onUpdated(c),()=>this.api.preferences.removeUpdatedListener(c)}default:return console.warn(`No state change handler for domain: ${u}`),()=>{}}}connect(){return console.log("✅ ElectronBridge connected"),Promise.resolve()}disconnect(){console.log("✅ ElectronBridge disconnected")}}const yg=w.createContext(null);function Fh({children:i}){const[u,f]=w.useState(null),[c,d]=w.useState(!1),[g,y]=w.useState(0),[x,m]=w.useState(0);w.useEffect(()=>{if(!window.kaiAPI?.player||!window.kaiAPI?.song)return;const v=(k,T)=>{d(T.isPlaying),y(T.position),m(T.duration)},b=(k,T)=>{f(T)};return window.kaiAPI.player.onPlaybackState(v),window.kaiAPI.song.onChanged(b),()=>{window.kaiAPI.player.removePlaybackListener(v),window.kaiAPI.song.removeChangedListener(b)}},[]);const p={currentSong:u,isPlaying:c,currentPosition:g,duration:x,setCurrentSong:f,setIsPlaying:d,setCurrentPosition:y,setDuration:m};return s.jsx(yg.Provider,{value:p,children:i})}function pg(){const i=w.useContext(yg);if(!i)throw new Error("usePlayerState must be used within PlayerProvider");return i}const xg=w.createContext(null);function $h({children:i}){const[u,f]=w.useState(null),[c,d]=w.useState(null),[g,y]=w.useState([]),x={kaiPlayer:u,player:c,devices:g,setKaiPlayer:f,setPlayer:d,setDevices:y};return s.jsx(xg.Provider,{value:x,children:i})}function bg(){const i=w.useContext(xg);if(!i)throw new Error("useAudio must be used within AudioProvider");return i}const vg=w.createContext(null);function Wh({children:i}){const[u,f]=w.useState({...Ih}),[c,d]=w.useState({...Au,micToSpeakers:!0,enableMic:!0,disabledEffects:[]}),[g,y]=w.useState({...Eu}),x={devicePreferences:u,waveformPreferences:c,autoTunePreferences:g,setDevicePreferences:f,setWaveformPreferences:d,setAutoTunePreferences:y};return s.jsx(vg.Provider,{value:x,children:i})}function ey(){const i=w.useContext(vg);if(!i)throw new Error("useSettings must be used within SettingsProvider");return i}const ty="modulepreload",ay=function(i,u){return new URL(i,u).href},z0={},Ts=function(u,f,c){let d=Promise.resolve();if(f&&f.length>0){let p=function(v){return Promise.all(v.map(b=>Promise.resolve(b).then(k=>({status:"fulfilled",value:k}),k=>({status:"rejected",reason:k}))))};const y=document.getElementsByTagName("link"),x=document.querySelector("meta[property=csp-nonce]"),m=x?.nonce||x?.getAttribute("nonce");d=p(f.map(v=>{if(v=ay(v,c),v in z0)return;z0[v]=!0;const b=v.endsWith(".css"),k=b?'[rel="stylesheet"]':"";if(c)for(let S=y.length-1;S>=0;S--){const A=y[S];if(A.href===v&&(!b||A.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${v}"]${k}`))return;const T=document.createElement("link");if(T.rel=b?"stylesheet":ty,b||(T.as="script"),T.crossOrigin="",T.href=v,m&&T.setAttribute("nonce",m),document.head.appendChild(T),b)return new Promise((S,A)=>{T.addEventListener("load",S),T.addEventListener("error",()=>A(new Error(`Unable to preload CSS for ${v}`)))})}))}function g(y){const x=new Event("vite:preloadError",{cancelable:!0});if(x.payload=y,window.dispatchEvent(x),!x.defaultPrevented)throw y}return d.then(y=>{for(const x of y||[])x.status==="rejected"&&g(x.reason);return u().catch(g)})};function ny(){const{kaiPlayer:i,player:u,setKaiPlayer:f,setPlayer:c}=bg();return w.useEffect(()=>{let d=!0;async function g(){try{const{KAIPlayer:y}=await Ts(async()=>{const{KAIPlayer:v}=await import("./assets/kaiPlayer-CoMx__a_.js");return{KAIPlayer:v}},__vite__mapDeps([0,1]),import.meta.url),{PlayerController:x}=await Ts(async()=>{const{PlayerController:v}=await import("./assets/player-DVrqp7N5.js");return{PlayerController:v}},__vite__mapDeps([2,1]),import.meta.url),m=new y;if(await m.initialize(),!d)return;const p=new x(m);f(m),c(p),window.app=window.app||{},window.app.player=p,console.log("✅ Audio engine initialized")}catch(y){console.error("❌ Failed to initialize audio engine:",y)}}return i||g(),()=>{d=!1}},[i,f,c]),w.useEffect(()=>{if(!i||!window.kaiAPI?.mixer)return;const d=(x,{bus:m,gainDb:p})=>{console.log(`🎚️ Received mixer:setMasterGain from main: ${m} = ${p}dB`),i.setMasterGain(m,p)},g=(x,{bus:m,muted:p})=>{console.log(`🎚️ Received mixer:toggleMasterMute from main: ${m} = ${p}`),i.setMasterMute(m,p)},y=(x,{bus:m,muted:p})=>{console.log(`🎚️ Received mixer:setMasterMute from main: ${m} = ${p}`),i.setMasterMute(m,p)};return window.kaiAPI.mixer.onSetMasterGain(d),window.kaiAPI.mixer.onToggleMasterMute(g),window.kaiAPI.mixer.onSetMasterMute(y),console.log("✅ Mixer IPC listeners registered"),()=>{console.log("🧹 Mixer IPC listeners cleanup")}},[i]),w.useEffect(()=>{if(!u||!i||!window.kaiAPI?.song)return;const d={player:u,kaiPlayer:i,currentSong:null,_pendingMetadata:null,randomEffectTimeout:null,handleSongEnded:async()=>{u&&u.currentPlayer&&(await u.currentPlayer.seek(0),await u.pause()),window.kaiAPI?.player&&await window.kaiAPI.player.next()},updateStatus:b=>console.log("📊",b),updateEffectDisplay:()=>{}},g=async(b,k)=>{console.log("🎵 Song loading:",k?.title||"Unknown"),d._pendingMetadata=k,i&&await i.pause(),u&&(await u.pause(),u.cdgPlayer&&u.cdgPlayer.isPlaying&&u.cdgPlayer.pause()),u&&u.onSongLoaded&&u.onSongLoaded(k)},y=async(b,k)=>{console.log("🎵 Song data received:",k.format,k.originalFilePath);const T=d.currentSong&&d.currentSong.originalFilePath===k.originalFilePath;d.currentSong=k,T||(i&&await i.pause(),u?.cdgPlayer?.isPlaying&&u.cdgPlayer.pause(),u?.currentPlayer?.isPlaying&&await u.currentPlayer.pause());const S=d._pendingMetadata||k.metadata||{},A=k.format==="cdg";try{const{loadCDGSong:P,loadKAISong:j}=await Ts(async()=>{const{loadCDGSong:V,loadKAISong:_}=await import("./assets/songLoaders-BaTgGib4.js");return{loadCDGSong:V,loadKAISong:_}},[],import.meta.url);A?await P(d,k,S):await j(d,k,S),console.log("✅ Song loaded successfully")}catch(P){console.error("❌ Failed to load song:",P)}d._pendingMetadata=null};window.kaiAPI.song.onLoaded(g),window.kaiAPI.song.onData(y);const x=async()=>{console.log("🌐 Remote play/pause command"),u&&(u.isPlaying?await u.pause():await u.play())},m=async()=>{console.log("🌐 Remote restart command"),!(!u||!u.currentPlayer)&&(u.currentFormat==="kai"&&i?await i.seek(0):u.currentFormat==="cdg"&&u.cdgPlayer&&await u.cdgPlayer.seek(0),u.isPlaying||await u.play())},p=async(b,k)=>{console.log("🌐 Remote seek command:",k),!(!u||!u.currentPlayer)&&(u.currentFormat==="kai"&&i?await i.seek(k):u.currentFormat==="cdg"&&u.cdgPlayer&&await u.cdgPlayer.seek(k),u.currentPlayer.reportStateChange&&u.currentPlayer.reportStateChange())};window.kaiAPI.player.onTogglePlayback(x),window.kaiAPI.player.onRestart(m),window.kaiAPI.player.onSetPosition(p);const v=(b,k)=>{console.log("🎨 Waveform settings changed:",k),u&&u.applyWaveformSettings&&u.applyWaveformSettings(k)};return window.kaiAPI.events&&window.kaiAPI.events.on("waveform:settingsChanged",v),()=>{window.kaiAPI.song.removeSongListener(g),window.kaiAPI.song.removeDataListener?.(y),window.kaiAPI.player.removeTogglePlaybackListener(x),window.kaiAPI.player.removeRestartListener(m),window.kaiAPI.player.removeSetPositionListener(p),window.kaiAPI.events&&window.kaiAPI.events.off?.("waveform:settingsChanged",v),d.randomEffectTimeout&&clearTimeout(d.randomEffectTimeout)}},[u,i]),{kaiPlayer:i,player:u}}function ly(){const{devicePreferences:i,waveformPreferences:u,autoTunePreferences:f,setDevicePreferences:c,setWaveformPreferences:d,setAutoTunePreferences:g}=ey(),y=w.useRef(!1);return w.useEffect(()=>{async function x(){if(window.kaiAPI?.settings)try{const m=await window.kaiAPI.settings.get("devicePreferences",null);m&&c(m);const p=await window.kaiAPI.settings.get("waveformPreferences",null);p&&d(p);const v=await window.kaiAPI.settings.get("autoTunePreferences",null);v&&g(v),y.current=!0}catch(m){console.error("Failed to load settings:",m),y.current=!0}}x()},[c,d,g]),w.useEffect(()=>{!window.kaiAPI?.settings||!y.current||window.kaiAPI.settings.set("devicePreferences",i)},[i]),w.useEffect(()=>{!window.kaiAPI?.settings||!y.current||window.kaiAPI.settings.set("waveformPreferences",u)},[u]),w.useEffect(()=>{!window.kaiAPI?.settings||!y.current||window.kaiAPI.settings.set("autoTunePreferences",f)},[f]),{devicePreferences:i,waveformPreferences:u,autoTunePreferences:f,setDevicePreferences:c,setWaveformPreferences:d,setAutoTunePreferences:g}}function ry(){const i=w.useRef(null);w.useEffect(()=>{async function m(){try{const p=await Ts(()=>import("./assets/webrtcManager-BhCHWceK.js"),[],import.meta.url);i.current=p.default,console.log("✅ WebRTC manager loaded"),window.kaiAPI?.events&&u(i.current)}catch(p){console.error("❌ Failed to load WebRTC manager:",p)}}m()},[]);function u(m){window.kaiAPI?.events&&(window.kaiAPI.events.on("webrtc:setupSender",async()=>{const p=await m.setupSender();window.kaiAPI?.renderer&&window.kaiAPI.renderer.sendWebRTCResponse("setupSender",p)}),window.kaiAPI.events.on("webrtc:createOffer",async()=>{const p=await m.createOffer();window.kaiAPI?.renderer&&window.kaiAPI.renderer.sendWebRTCResponse("createOffer",p)}),window.kaiAPI.events.on("webrtc:setAnswer",async(p,v)=>{const b=await m.setAnswer(v);window.kaiAPI?.renderer&&window.kaiAPI.renderer.sendWebRTCResponse("setAnswer",b)}),window.kaiAPI.events.on("webrtc:getSenderStatus",()=>{const p=m.getSenderStatus();window.kaiAPI?.renderer&&window.kaiAPI.renderer.sendWebRTCResponse("getSenderStatus",p)}),window.kaiAPI.events.on("webrtc:addICECandidate",async(p,v)=>{await m.addICECandidate(v)}),window.kaiAPI.events.on("webrtc:cleanupSender",async()=>{await m.cleanupSender()}),console.log("✅ Main window WebRTC IPC handlers registered"))}return{setupSender:async()=>i.current?await i.current.setupSender():null,createOffer:async()=>i.current?await i.current.createOffer():null,setAnswer:async m=>i.current?await i.current.setAnswer(m):null,getSenderStatus:()=>i.current?i.current.getSenderStatus():null,addICECandidate:async m=>{i.current&&await i.current.addICECandidate(m)},cleanupSender:async()=>{i.current&&await i.current.cleanupSender()}}}function sy({children:i}){return ny(),ly(),ry(),s.jsx(s.Fragment,{children:i})}function iy({children:i}){return s.jsx(Wh,{children:s.jsx($h,{children:s.jsx(Fh,{children:s.jsx(sy,{children:i})})})})}function _s(i){switch(i){case"m4a-stems":return"⚡";case"cdg-archive":case"cdg-pair":return"💿";default:return"🎵"}}function Ms(i){if(!i||i<=0)return"-";const u=Math.floor(i/60),f=Math.floor(i%60);return`${u}:${f.toString().padStart(2,"0")}`}function cy({song:i,onClose:u}){return i?(console.log("🎵 SongInfoModal rendering for:",i.title),s.jsx("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-[10000]",onClick:u,children:s.jsxs("div",{className:"bg-gray-800 dark:bg-gray-900 border border-gray-600 dark:border-gray-700 rounded-lg w-[90%] max-w-[500px] max-h-[80vh] overflow-hidden flex flex-col",onClick:f=>f.stopPropagation(),children:[s.jsxs("div",{className:"flex justify-between items-center px-5 py-4 border-b border-gray-700 dark:border-gray-800",children:[s.jsx("h2",{className:"m-0 text-lg font-semibold text-white",children:"Song Information"}),s.jsx("button",{className:"bg-none border-none text-white text-[32px] leading-none cursor-pointer p-0 w-8 h-8 flex items-center justify-center rounded transition-colors hover:bg-gray-700 dark:hover:bg-gray-800",onClick:u,children:"×"})]}),s.jsx("div",{className:"p-5 overflow-y-auto",children:s.jsxs("div",{className:"space-y-0",children:[s.jsxs("div",{className:"grid grid-cols-[120px_1fr] gap-3 py-2.5 border-b border-gray-700/50 dark:border-gray-800/50",children:[s.jsx("span",{className:"font-semibold text-gray-300 dark:text-gray-400",children:"Title:"}),s.jsx("span",{className:"text-white",children:i.title})]}),s.jsxs("div",{className:"grid grid-cols-[120px_1fr] gap-3 py-2.5 border-b border-gray-700/50 dark:border-gray-800/50",children:[s.jsx("span",{className:"font-semibold text-gray-300 dark:text-gray-400",children:"Artist:"}),s.jsx("span",{className:"text-white",children:i.artist})]}),s.jsxs("div",{className:"grid grid-cols-[120px_1fr] gap-3 py-2.5 border-b border-gray-700/50 dark:border-gray-800/50",children:[s.jsx("span",{className:"font-semibold text-gray-300 dark:text-gray-400",children:"Album:"}),s.jsx("span",{className:"text-white",children:i.album||"N/A"})]}),s.jsxs("div",{className:"grid grid-cols-[120px_1fr] gap-3 py-2.5 border-b border-gray-700/50 dark:border-gray-800/50",children:[s.jsx("span",{className:"font-semibold text-gray-300 dark:text-gray-400",children:"Genre:"}),s.jsx("span",{className:"text-white",children:i.genre||"N/A"})]}),s.jsxs("div",{className:"grid grid-cols-[120px_1fr] gap-3 py-2.5 border-b border-gray-700/50 dark:border-gray-800/50",children:[s.jsx("span",{className:"font-semibold text-gray-300 dark:text-gray-400",children:"Key:"}),s.jsx("span",{className:"text-white",children:i.key||"N/A"})]}),s.jsxs("div",{className:"grid grid-cols-[120px_1fr] gap-3 py-2.5 border-b border-gray-700/50 dark:border-gray-800/50",children:[s.jsx("span",{className:"font-semibold text-gray-300 dark:text-gray-400",children:"Year:"}),s.jsx("span",{className:"text-white",children:i.year||"N/A"})]}),s.jsxs("div",{className:"grid grid-cols-[120px_1fr] gap-3 py-2.5 border-b border-gray-700/50 dark:border-gray-800/50",children:[s.jsx("span",{className:"font-semibold text-gray-300 dark:text-gray-400",children:"Duration:"}),s.jsx("span",{className:"text-white",children:Ms(i.duration)})]}),s.jsxs("div",{className:"grid grid-cols-[120px_1fr] gap-3 py-2.5 border-b border-gray-700/50 dark:border-gray-800/50",children:[s.jsx("span",{className:"font-semibold text-gray-300 dark:text-gray-400",children:"Format:"}),s.jsx("span",{className:"text-white",children:i.format||"N/A"})]}),i.tags&&i.tags.length>0&&s.jsxs("div",{className:"grid grid-cols-[120px_1fr] gap-3 py-2.5 border-b border-gray-700/50 dark:border-gray-800/50",children:[s.jsx("span",{className:"font-semibold text-gray-300 dark:text-gray-400",children:"Tags:"}),s.jsx("span",{className:"text-white flex flex-wrap gap-1.5",children:i.tags.map(f=>s.jsx("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${f==="edited"?"bg-blue-600/30 text-blue-300":f==="ai_corrected"?"bg-purple-600/30 text-purple-300":"bg-gray-600/30 text-gray-300"}`,children:f},f))})]}),s.jsxs("div",{className:"grid grid-cols-[120px_1fr] gap-3 py-2.5",children:[s.jsx("span",{className:"font-semibold text-gray-300 dark:text-gray-400",children:"Path:"}),s.jsx("span",{className:"text-white break-all text-[11px]",children:i.path})]})]})})]})})):null}function uy({bridge:i,showSetFolder:u=!1,showFullRefresh:f=!1}){const[c,d]=w.useState([]),[g,y]=w.useState([]),[x,m]=w.useState(null),[p,v]=w.useState([]),[b,k]=w.useState(1),[T,S]=w.useState(""),[A,P]=w.useState(null),[j,V]=w.useState(!1),[_,O]=w.useState(null),[E,D]=w.useState(null),z=100,F=w.useCallback((Y,ae,ie)=>{m(Y),k(ae),S("");const ue=ie.filter(fe=>{const xe=fe.artist||fe.title||fe.name;if(!xe)return!1;const Ve=xe.trim()[0].toUpperCase();return Y==="#"?!/[A-Z]/.test(Ve):Ve===Y}).sort((fe,xe)=>{const Ve=(fe.artist||fe.title||"").toLowerCase(),Be=(xe.artist||xe.title||"").toLowerCase();return Ve.localeCompare(Be)});y(ue)},[]),B=w.useCallback((Y,ae=!0)=>{const ie=new Set;Y.forEach(ue=>{const fe=ue.artist||ue.title||ue.name;if(fe){const xe=fe.trim()[0].toUpperCase();/[A-Z]/.test(xe)?ie.add(xe):ie.add("#")}});let de=Array.from(ie).sort();if(de.includes("#")&&(de=de.filter(ue=>ue!=="#"),de.push("#")),v(de),ae&&de.length>0){const ue=de.includes("A")?"A":de[0];F(ue,1,Y)}},[F]),K=w.useCallback(async()=>{try{V(!0);const Y=await i.getSongsFolder();if(console.log("📁 Songs folder:",Y),P(Y),Y){const ae=await i.getCachedLibrary();console.log("📚 Cached library result:",ae);const ie=ae.files||[];console.log("🎵 Library songs count:",ie.length),d(ie),B(ie)}else console.log("❌ No songs folder set")}catch(Y){console.error("Failed to load library:",Y)}finally{V(!1)}},[i,B]);w.useEffect(()=>{if(typeof window<"u"&&window.kaiAPI?.events){const Y=(ue,fe)=>{D({current:fe.current,total:fe.total})},ae=(ue,fe)=>{console.log(`📚 Background scan complete: ${fe.count} songs`),D(null),K()},ie=(ue,fe)=>{console.log(`📁 Songs folder updated: ${fe}`),P(fe),K()},de=(ue,fe)=>{console.log(`🎵 Song updated: ${fe.path}`),d(xe=>{const Ve=xe.findIndex(Be=>Be.path===fe.path);if(Ve!==-1){const Be=[...xe];return Be[Ve]={...Be[Ve],...fe.metadata},Be}return xe}),y(xe=>{const Ve=xe.findIndex(Be=>Be.path===fe.path);if(Ve!==-1){const Be=[...xe];return Be[Ve]={...Be[Ve],...fe.metadata},Be}return xe})};return window.kaiAPI.events.on("library:scanProgress",Y),window.kaiAPI.events.on("library:scanComplete",ae),window.kaiAPI.events.on("library:folderSet",ie),window.kaiAPI.events.on("library:songUpdated",de),()=>{window.kaiAPI.events.removeListener("library:scanProgress",Y),window.kaiAPI.events.removeListener("library:scanComplete",ae),window.kaiAPI.events.removeListener("library:folderSet",ie),window.kaiAPI.events.removeListener("library:songUpdated",de)}}},[K]),w.useEffect(()=>{if(i?.socket){const Y=ie=>{console.log(`📚 Library refreshed from remote: ${ie.count} songs`),K()},ae=ie=>{console.log(`🎵 Song updated: ${ie.path}`),d(de=>{const ue=de.findIndex(fe=>fe.path===ie.path);if(ue!==-1){const fe=[...de];return fe[ue]={...fe[ue],...ie.metadata},fe}return de}),y(de=>{const ue=de.findIndex(fe=>fe.path===ie.path);if(ue!==-1){const fe=[...de];return fe[ue]={...fe[ue],...ie.metadata},fe}return de})};return i.socket.on("library-refreshed",Y),i.socket.on("library:songUpdated",ae),()=>{i.socket.off("library-refreshed",Y),i.socket.off("library:songUpdated",ae)}}},[i,K]),w.useEffect(()=>{K()},[K]);const ee=Y=>{if(S(Y),m(null),k(1),!Y.trim()){y([]);return}const ae=Y.toLowerCase(),ie=c.filter(de=>(de.title||"").toLowerCase().includes(ae)||(de.artist||"").toLowerCase().includes(ae)||(de.album||"").toLowerCase().includes(ae));y(ie)},Z=async()=>{try{const Y=await i.setSongsFolder();Y&&(P(Y),await K())}catch(Y){console.error("Failed to set folder:",Y)}},se=async()=>{if(A)try{V(!0),await i.syncLibrary(),await K()}catch(Y){console.error("Failed to sync:",Y)}finally{V(!1),D(null)}},ne=async()=>{if(A)try{V(!0),await i.scanLibrary(),await K()}catch(Y){console.error("Failed to refresh:",Y)}finally{V(!1),D(null)}},ce=async Y=>{try{await i.addToQueue({path:Y.path,title:Y.title,artist:Y.artist,duration:Y.duration})}catch(ae){console.error("Failed to add to queue:",ae)}},H=Y=>{console.log("📋 Opening song info modal for:",Y.title),O(Y)},te=Math.ceil(g.length/z),me=(b-1)*z,we=me+z,Se=g.slice(me,we),C=()=>{if(te<=7)return Array.from({length:te},(fe,xe)=>xe+1);const ae=[],ie=Math.floor(4/2);ae.push(1);let de=Math.max(2,b-ie),ue=Math.min(te-1,b+ie);b<=ie+2&&(ue=Math.min(6,te-1)),b>=te-ie-1&&(de=Math.max(2,te-7+2)),de>2&&ae.push("...");for(let fe=de;fe<=ue;fe++)ae.push(fe);return ue<te-1&&ae.push("..."),te>1&&ae.push(te),ae},I=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),"#"];return s.jsxs("div",{className:"flex flex-col h-full gap-1 overflow-hidden",children:[s.jsxs("div",{className:"flex flex-col gap-1.5 pb-1 border-b border-gray-200 dark:border-gray-700 shrink-0",children:[s.jsxs("div",{className:"flex gap-2 flex-wrap items-center",children:[u&&s.jsxs("button",{onClick:Z,className:"flex items-center gap-1.5 px-3 py-2 bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded text-gray-900 dark:text-white cursor-pointer text-sm hover:bg-gray-200 dark:hover:bg-gray-750 disabled:opacity-50 disabled:cursor-not-allowed",children:[s.jsx("span",{className:"material-icons text-lg",children:"folder_open"}),"Set Songs Folder"]}),s.jsxs("button",{onClick:se,className:"flex items-center gap-1.5 px-3 py-2 bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded text-gray-900 dark:text-white cursor-pointer text-sm hover:bg-gray-200 dark:hover:bg-gray-750 disabled:opacity-50 disabled:cursor-not-allowed",disabled:!A||j,children:[s.jsx("span",{className:"material-icons text-lg",children:"sync"}),"Sync"]}),f&&s.jsxs("button",{onClick:ne,className:"flex items-center gap-1.5 px-3 py-2 bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded text-gray-900 dark:text-white cursor-pointer text-sm hover:bg-gray-200 dark:hover:bg-gray-750 disabled:opacity-50 disabled:cursor-not-allowed",disabled:!A||j,children:[s.jsx("span",{className:"material-icons text-lg",children:"refresh"}),"Full Refresh"]}),s.jsx("div",{className:"flex-1 min-w-[200px]",children:s.jsx("input",{type:"text",className:"w-full px-3 py-2 bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-700 rounded text-gray-900 dark:text-white text-sm focus:outline-none focus:border-blue-500",placeholder:"Search songs...",value:T,onChange:Y=>ee(Y.target.value)})})]}),s.jsxs("div",{className:"flex gap-4 text-xs text-gray-500 dark:text-gray-400",children:[s.jsxs("span",{children:[c.length," songs"]}),A&&s.jsx("span",{children:A})]}),E&&s.jsxs("div",{className:"flex flex-col gap-1 py-2",children:[s.jsx("div",{className:"w-full h-5 bg-gray-100 dark:bg-gray-900 border border-gray-200 dark:border-gray-700 rounded overflow-hidden",children:s.jsx("div",{className:"h-full bg-blue-600 transition-all duration-300",style:{width:`${E.total>0?Math.round(E.current/E.total*100):0}%`}})}),s.jsx("div",{className:"text-xs text-gray-700 dark:text-gray-300 text-center",children:E.message?E.message:s.jsxs(s.Fragment,{children:["Scanning: ",E.current," / ",E.total," files (",E.total>0?Math.round(E.current/E.total*100):0,"%)"]})})]})]}),!T&&!E&&s.jsxs("div",{className:"flex flex-col gap-1 py-1 px-2 bg-gray-100 dark:bg-gray-800/50 rounded-md shrink-0",children:[s.jsx("div",{className:"text-xs font-semibold text-gray-600 dark:text-gray-300",children:"Browse by Artist:"}),s.jsx("div",{className:"flex flex-wrap gap-1",children:I.map(Y=>{const ae=p.includes(Y),ie=x===Y;return s.jsx("button",{className:`w-8 h-8 p-0 rounded text-sm font-semibold cursor-pointer transition-all ${ie?"bg-blue-600 border-blue-600 text-white":ae?"bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 text-gray-900 dark:text-white hover:bg-gray-200 dark:hover:bg-gray-750 hover:scale-105":"bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 text-gray-400 dark:text-gray-600 opacity-30 cursor-not-allowed"}`,onClick:()=>ae&&F(Y,1,c),disabled:!ae,children:Y},Y)})})]}),j?s.jsx("div",{className:"flex-1 flex flex-col items-center justify-center gap-3 p-16 text-center text-base text-gray-700 dark:text-gray-300",children:"Loading library..."}):g.length>0?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto border border-gray-200 dark:border-gray-700 rounded-md",children:s.jsxs("table",{className:"w-full border-collapse",children:[s.jsx("thead",{className:"sticky top-0 bg-gray-100 dark:bg-gray-800 z-10",children:s.jsxs("tr",{children:[s.jsx("th",{className:"px-3 py-2 text-left text-xs font-semibold text-gray-700 dark:text-gray-300 border-b-2 border-gray-200 dark:border-gray-700",children:"Title"}),s.jsx("th",{className:"px-3 py-2 text-left text-xs font-semibold text-gray-700 dark:text-gray-300 border-b-2 border-gray-200 dark:border-gray-700",children:"Artist"}),s.jsx("th",{className:"px-3 py-2 text-left text-xs font-semibold text-gray-700 dark:text-gray-300 border-b-2 border-gray-200 dark:border-gray-700",children:"Album"}),s.jsx("th",{className:"px-3 py-2 text-left text-xs font-semibold text-gray-700 dark:text-gray-300 border-b-2 border-gray-200 dark:border-gray-700",children:"Genre"}),s.jsx("th",{className:"px-3 py-2 text-left text-xs font-semibold text-gray-700 dark:text-gray-300 border-b-2 border-gray-200 dark:border-gray-700",children:"Key"}),s.jsx("th",{className:"px-3 py-2 text-left text-xs font-semibold text-gray-700 dark:text-gray-300 border-b-2 border-gray-200 dark:border-gray-700",children:"Duration"}),s.jsx("th",{className:"px-3 py-2 text-left text-xs font-semibold text-gray-700 dark:text-gray-300 border-b-2 border-gray-200 dark:border-gray-700",children:"Year"}),s.jsx("th",{className:"px-3 py-2 text-left text-xs font-semibold text-gray-700 dark:text-gray-300 border-b-2 border-gray-200 dark:border-gray-700",children:"Actions"})]})}),s.jsx("tbody",{className:"bg-white dark:bg-gray-900 text-gray-900 dark:text-white",children:Se.map((Y,ae)=>s.jsxs("tr",{className:"hover:bg-gray-50 dark:hover:bg-gray-800/50",children:[s.jsxs("td",{className:"px-3 py-1.5 text-xs leading-relaxed border-b border-gray-200 dark:border-gray-800/50",children:[s.jsx("span",{className:"mr-1.5 text-base",children:_s(Y.format)}),Y.title]}),s.jsx("td",{className:"px-3 py-1.5 text-xs leading-relaxed border-b border-gray-200 dark:border-gray-800/50",children:Y.artist}),s.jsx("td",{className:"px-3 py-1.5 text-xs leading-relaxed border-b border-gray-200 dark:border-gray-800/50",children:Y.album||"-"}),s.jsx("td",{className:"px-3 py-1.5 text-xs leading-relaxed border-b border-gray-200 dark:border-gray-800/50",children:Y.genre||"-"}),s.jsx("td",{className:"px-3 py-1.5 text-xs leading-relaxed border-b border-gray-200 dark:border-gray-800/50",children:Y.key||"-"}),s.jsx("td",{className:"px-3 py-1.5 text-xs leading-relaxed border-b border-gray-200 dark:border-gray-800/50",children:Ms(Y.duration)}),s.jsx("td",{className:"px-3 py-1.5 text-xs leading-relaxed border-b border-gray-200 dark:border-gray-800/50",children:Y.year||"-"}),s.jsx("td",{className:"px-3 py-1.5 text-xs leading-relaxed border-b border-gray-200 dark:border-gray-800/50",children:s.jsxs("div",{className:"flex flex-row gap-1 items-center",children:[s.jsx("button",{className:"w-7 h-7 min-w-[28px] min-h-[28px] max-w-[28px] max-h-[28px] p-0 flex items-center justify-center bg-transparent border border-gray-200 dark:border-gray-700 rounded text-gray-700 dark:text-white cursor-pointer transition-all flex-shrink-0 hover:bg-gray-100 dark:hover:bg-gray-800 hover:border-blue-600",onClick:()=>ce(Y),title:"Add to Queue",children:s.jsx("span",{className:"material-icons text-base leading-none",children:"playlist_add"})}),s.jsx("button",{className:"w-7 h-7 min-w-[28px] min-h-[28px] max-w-[28px] max-h-[28px] p-0 flex items-center justify-center bg-transparent border border-gray-200 dark:border-gray-700 rounded text-gray-700 dark:text-white cursor-pointer transition-all flex-shrink-0 hover:bg-gray-100 dark:hover:bg-gray-800 hover:border-blue-600",onClick:()=>H(Y),title:"Song Info",children:s.jsx("span",{className:"material-icons text-base leading-none",children:"info"})})]})})]},ae))})]})}),te>1&&!E&&s.jsxs("div",{className:"flex items-center justify-center gap-3 py-1.5 px-2 bg-gray-100 dark:bg-gray-800/50 rounded-md text-sm shrink-0",children:[s.jsx("button",{className:"px-4 py-1.5 bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded text-gray-900 dark:text-white cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-750 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>k(b-1),disabled:b===1,children:"Previous"}),s.jsx("div",{className:"flex gap-1 items-center",children:C().map((Y,ae)=>Y==="..."?s.jsx("span",{className:"px-2 py-1.5 text-gray-700 dark:text-gray-300 select-none",children:"..."},`ellipsis-${ae}`):s.jsx("button",{className:`min-w-[36px] px-2 py-1.5 rounded cursor-pointer ${Y===b?"bg-blue-600 border-blue-600 font-semibold text-white":"bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 text-gray-900 dark:text-white hover:bg-gray-200 dark:hover:bg-gray-750"}`,onClick:()=>k(Y),children:Y},Y))}),s.jsxs("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:["(",g.length," songs)"]}),s.jsx("button",{className:"px-4 py-1.5 bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded text-gray-900 dark:text-white cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-750 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>k(b+1),disabled:b===te,children:"Next"})]})]}):s.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-3 p-16 text-center",children:[s.jsx("div",{className:"text-5xl opacity-50",children:"🎵"}),s.jsx("div",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:A?"No songs found":"No songs library set"}),s.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400",children:A?"Try syncing or refreshing your library":'Click "Set Songs Folder" to choose your music library'})]}),_&&s.jsx(cy,{song:_,onClose:()=>O(null)})]})}function oy({effects:i=[],currentEffect:u=null,disabledEffects:f=[],searchTerm:c="",currentCategory:d="all",onSearch:g,onCategoryChange:y,onSelectEffect:x,onRandomEffect:m,onEnableEffect:p,onDisableEffect:v}){let b=[...i];if(d!=="all"&&(b=b.filter(S=>S.category===d)),c.trim()){const S=c.toLowerCase();b=b.filter(A=>A.name?.toLowerCase().includes(S)||A.displayName?.toLowerCase().includes(S)||A.author?.toLowerCase().includes(S))}const k=[{id:"all",label:"All"},{id:"geiss",label:"Geiss"},{id:"martin",label:"Martin"},{id:"flexi",label:"Flexi"},{id:"shifter",label:"Shifter"},{id:"other",label:"Other"}],T=S=>S.replace(/[^a-zA-Z0-9-_\s]/g,"_");return s.jsxs("div",{className:"h-full flex flex-col bg-gray-50 dark:bg-gray-900",children:[s.jsxs("div",{className:"p-4 bg-white dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700 flex justify-between items-center",children:[s.jsx("div",{className:"flex-1 max-w-md",children:s.jsx("input",{type:"text",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded bg-white dark:bg-gray-900 text-gray-900 dark:text-white text-sm focus:outline-none focus:border-blue-500",placeholder:"Search effects...",value:c,onChange:S=>g&&g(S.target.value)})}),s.jsxs("div",{className:"flex items-center gap-4 text-gray-600 dark:text-gray-400",children:[s.jsx("span",{id:"effectsCount",className:"text-sm",children:d==="all"&&!c.trim()?`${i.length} effects`:`${b.length} of ${i.length} effects`}),m&&s.jsxs("button",{onClick:m,className:"px-4 py-2 bg-blue-600 border-none rounded text-white cursor-pointer text-sm transition-colors flex items-center gap-1.5 hover:bg-blue-700",children:[s.jsx("span",{className:"material-icons text-lg",children:"casino"}),"Random"]})]})]}),s.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[s.jsx("div",{className:"p-2.5 px-4 bg-gray-100 dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700 flex gap-2.5",children:k.map(S=>s.jsx("button",{className:`px-3 py-1.5 rounded text-xs cursor-pointer transition-all ${d===S.id?"bg-blue-600 border-blue-600 text-white":"bg-white dark:bg-gray-700 border border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-600 hover:text-gray-900 dark:hover:text-white"}`,onClick:()=>y&&y(S.id),children:S.label},S.id))}),s.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:b.length===0?s.jsxs("div",{className:"text-center p-10 text-gray-500 dark:text-gray-400 flex flex-col items-center",children:[s.jsx("span",{className:"material-icons text-5xl mb-2.5",children:"search_off"}),s.jsx("div",{className:"text-base",children:"No effects found"})]}):s.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4",children:b.map(S=>{const A=u===S.name,P=f.includes(S.name),V=`../../static/images/butterchurn-screenshots/${T(S.name)}.png`;return s.jsxs("div",{className:`rounded-md p-0 cursor-pointer transition-all overflow-hidden flex flex-col ${A?"bg-blue-100 dark:bg-blue-900/40 border border-blue-600":"bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-700 hover:border-blue-600"} ${P?"opacity-60":""}`,onClick:()=>!P&&x&&x(S.name),children:[s.jsxs("div",{className:"relative w-full h-[150px] bg-gray-200 dark:bg-gray-900 overflow-hidden",children:[s.jsx("img",{src:V,alt:S.displayName,className:"w-full h-full object-cover transition-transform hover:scale-105",onError:_=>{_.target.style.display="none",_.target.nextElementSibling.style.display="flex"}}),s.jsx("div",{className:"absolute top-0 left-0 w-full h-full hidden items-center justify-center bg-gray-200 dark:bg-gray-900 text-gray-400 dark:text-gray-600",children:s.jsx("span",{className:"material-icons text-5xl",children:"image_not_supported"})})]}),s.jsxs("div",{className:`p-4 flex-1 ${P?"opacity-60":""}`,children:[s.jsx("div",{className:"inline-block bg-blue-600 text-white px-1.5 py-0.5 rounded text-[11px] mb-2",children:S.category}),s.jsx("div",{className:`font-bold mb-1.5 text-sm ${P?"text-gray-500 dark:text-gray-500":"text-gray-900 dark:text-white"}`,children:S.displayName}),s.jsxs("div",{className:`text-xs mb-1.5 ${P?"text-gray-400 dark:text-gray-600":"text-gray-600 dark:text-gray-400"}`,children:["by ",S.author]}),s.jsxs("div",{className:"flex gap-2 mt-2.5",children:[s.jsx("button",{className:`flex-1 px-3 py-1.5 rounded text-xs cursor-pointer transition-colors ${P?"bg-gray-300 dark:bg-gray-700 text-gray-500 dark:text-gray-500 cursor-not-allowed opacity-50":"bg-blue-600 border-blue-600 text-white hover:bg-blue-700"}`,onClick:_=>{_.stopPropagation(),!P&&x&&x(S.name)},disabled:P,children:"Use"}),s.jsx("button",{className:"flex-1 px-3 py-1.5 border border-gray-300 dark:border-gray-600 rounded bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-gray-300 text-xs cursor-pointer transition-colors hover:bg-gray-200 dark:hover:bg-gray-600 hover:text-gray-900 dark:hover:text-white",onClick:_=>{_.stopPropagation(),P?p&&p(S.name):v&&v(S.name)},children:P?"Enable":"Disable"})]})]})]},S.name)})})})]})]})}function dy({bridge:i}){const[u,f]=w.useState([]),[c,d]=w.useState([]),[g,y]=w.useState([]),[x,m]=w.useState(""),[p,v]=w.useState("all"),b=w.useCallback(()=>{try{if(!window.butterchurnPresets||typeof window.butterchurnPresets.getPresets!="function"){console.error("Butterchurn presets not available");return}const j=window.butterchurnPresets.getPresets(),V=O=>{let E="Unknown",D=O,z="other";if(O.includes(" - ")){const B=O.split(" - ");B.length>=2&&(E=B[0].trim(),D=B.slice(1).join(" - ").trim())}const F=O.toLowerCase();return F.includes("geiss")||E.toLowerCase().includes("geiss")?z="geiss":F.includes("martin")||E.toLowerCase().includes("martin")?z="martin":F.includes("flexi")||E.toLowerCase().includes("flexi")?z="flexi":(F.includes("shifter")||E.toLowerCase().includes("shifter"))&&(z="shifter"),{author:E,displayName:D,category:z}},_=Object.keys(j).map(O=>{const E=V(O);return{name:O,displayName:E.displayName,author:E.author,category:E.category,preset:j[O]}});console.log("🎨 Loaded",_.length,"Butterchurn presets"),f(_)}catch(j){console.error("Failed to load effects:",j)}},[]),k=w.useCallback(async()=>{try{const j=await i.getWaveformPreferences();j?.disabledEffects&&y(j.disabledEffects)}catch(j){console.error("Failed to load disabled effects:",j)}},[i]),T=w.useCallback(async j=>{if(u.find(_=>_.name===j)){d(j);try{window.app?.player?.karaokeRenderer&&window.app.player.karaokeRenderer.switchToPreset(j,2)}catch(_){console.error("Failed to apply effect to Butterchurn:",_)}try{await i.selectEffect(j)}catch(_){console.error("Failed to notify main process:",_)}}},[u,i]),S=w.useCallback(()=>{const j=u.filter(O=>!g.includes(O.name));if(j.length===0)return;const V=Math.floor(Math.random()*j.length),_=j[V];T(_.name)},[u,g,T]),A=w.useCallback(async j=>{const V=g.filter(_=>_!==j);y(V);try{await i.enableEffect(j)}catch(_){console.error("Failed to enable effect:",_)}},[g,i]),P=w.useCallback(async j=>{const V=[...g,j];y(V);try{await i.disableEffect(j)}catch(_){console.error("Failed to disable effect:",_)}},[g,i]);return w.useEffect(()=>{b(),k()},[b,k]),w.useEffect(()=>{if(!window.kaiAPI?.events)return;const j=()=>{const O=u.map(E=>({name:E.name,displayName:E.displayName,author:E.author,category:E.category}));window.kaiAPI.renderer.sendEffectsList(O)},V=()=>{window.kaiAPI.renderer.sendCurrentEffect(c)},_=()=>{window.kaiAPI.renderer.sendDisabledEffects(g)};return window.kaiAPI.events.on("effects:getList",j),window.kaiAPI.events.on("effects:getCurrent",V),window.kaiAPI.events.on("effects:getDisabled",_),()=>{window.kaiAPI.events.removeListener("effects:getList",j),window.kaiAPI.events.removeListener("effects:getCurrent",V),window.kaiAPI.events.removeListener("effects:getDisabled",_)}},[u,c,g]),w.useEffect(()=>{if(!window.kaiAPI?.events||u.length===0)return;const j=(z,F)=>{T(F)},V=()=>{const z=u.filter(K=>!g.includes(K.name));if(z.length===0)return;const B=(z.findIndex(K=>K.name===c)+1)%z.length;T(z[B].name)},_=()=>{const z=u.filter(K=>!g.includes(K.name));if(z.length===0)return;const F=z.findIndex(K=>K.name===c),B=F<=0?z.length-1:F-1;T(z[B].name)},O=()=>{S()},E=(z,F)=>{P(F)},D=(z,F)=>{A(F)};return window.kaiAPI.events.on("effects:select",j),window.kaiAPI.events.on("effects:next",V),window.kaiAPI.events.on("effects:previous",_),window.kaiAPI.events.on("effects:random",O),window.kaiAPI.events.on("effects:disable",E),window.kaiAPI.events.on("effects:enable",D),()=>{window.kaiAPI.events.removeListener("effects:select",j),window.kaiAPI.events.removeListener("effects:next",V),window.kaiAPI.events.removeListener("effects:previous",_),window.kaiAPI.events.removeListener("effects:random",O),window.kaiAPI.events.removeListener("effects:disable",E),window.kaiAPI.events.removeListener("effects:enable",D)}},[u,c,g,T,S,P,A]),s.jsx(oy,{effects:u,currentEffect:c,disabledEffects:g,searchTerm:x,currentCategory:p,onSearch:m,onCategoryChange:v,onSelectEffect:T,onRandomEffect:S,onEnableEffect:A,onDisableEffect:P})}function fy({requests:i,onApprove:u,onReject:f}){const c=async x=>{u&&await u(x)},d=async x=>{f&&await f(x)},g=i.filter(x=>x.status==="pending"),y=i.filter(x=>x.status!=="pending");return s.jsxs("div",{className:"p-4 space-y-6",children:[g.length>0&&s.jsxs("div",{className:"space-y-3",children:[s.jsxs("h3",{className:"text-lg font-semibold text-gray-900 dark:text-gray-100",children:["Pending Approval (",g.length,")"]}),s.jsx("div",{className:"space-y-2",children:g.map(x=>s.jsxs("div",{className:"bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4 flex items-center justify-between gap-4",children:[s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsxs("div",{className:"font-medium text-gray-900 dark:text-gray-100 truncate",children:[s.jsx("strong",{children:x.song.title}),x.song.artist&&s.jsxs("span",{className:"text-gray-600 dark:text-gray-400",children:[" ","- ",x.song.artist]})]}),s.jsxs("div",{className:"flex items-center gap-3 mt-1 text-sm text-gray-600 dark:text-gray-400",children:[s.jsxs("span",{children:["From: ",x.requesterName]}),x.message&&s.jsxs("span",{className:"italic",children:['"',x.message,'"']})]})]}),s.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[s.jsx("button",{className:"px-3 py-1.5 bg-green-600 hover:bg-green-700 text-white text-sm rounded-lg transition",onClick:()=>c(x.id),children:"✓ Approve"}),s.jsx("button",{className:"px-3 py-1.5 bg-red-600 hover:bg-red-700 text-white text-sm rounded-lg transition",onClick:()=>d(x.id),children:"✗ Reject"})]})]},x.id))})]}),y.length>0&&s.jsxs("div",{className:"space-y-3",children:[s.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-gray-100",children:"Recent Requests"}),s.jsx("div",{className:"space-y-2",children:y.slice(0,10).map(x=>{const m={approved:"bg-green-50 dark:bg-green-900/20 border-green-200 dark:border-green-800",rejected:"bg-red-50 dark:bg-red-900/20 border-red-200 dark:border-red-800"},p={approved:"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200",rejected:"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200"};return s.jsx("div",{className:`${m[x.status]||"bg-gray-50 dark:bg-gray-800 border-gray-200 dark:border-gray-700"} border rounded-lg p-4`,children:s.jsx("div",{className:"flex items-center justify-between gap-4",children:s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsxs("div",{className:"font-medium text-gray-900 dark:text-gray-100 truncate",children:[s.jsx("strong",{children:x.song.title}),x.song.artist&&s.jsxs("span",{className:"text-gray-600 dark:text-gray-400",children:[" ","- ",x.song.artist]})]}),s.jsxs("div",{className:"flex items-center gap-3 mt-1 text-sm text-gray-600 dark:text-gray-400",children:[s.jsxs("span",{children:["From: ",x.requesterName]}),s.jsx("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${p[x.status]||"bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200"}`,children:x.status})]})]})})},x.id)})})]}),i.length===0&&s.jsx("div",{className:"text-center py-12 text-gray-500 dark:text-gray-400",children:s.jsx("p",{children:"No song requests yet"})})]})}function gy(){const[i,u]=w.useState([]);w.useEffect(()=>{f();const g=setInterval(f,5e3);if(window.kaiAPI?.events){const y=(p,v)=>{console.log("📨 New song request:",v),f()},x=(p,v)=>{console.log("✅ Request approved:",v),f()},m=(p,v)=>{console.log("❌ Request rejected:",v),f()};return window.kaiAPI.events.on("songRequest:new",y),window.kaiAPI.events.on("songRequest:approved",x),window.kaiAPI.events.on("songRequest:rejected",m),()=>{clearInterval(g),window.kaiAPI.events.removeListener("songRequest:new",y),window.kaiAPI.events.removeListener("songRequest:approved",x),window.kaiAPI.events.removeListener("songRequest:rejected",m)}}return()=>clearInterval(g)},[]);const f=async()=>{try{const g=await window.kaiAPI.webServer.getSongRequests();u(g||[])}catch(g){console.error("Failed to load requests:",g)}},c=async g=>{try{await window.kaiAPI.webServer.approveRequest(g),await f()}catch(y){console.error("Failed to approve request:",y)}},d=async g=>{try{await window.kaiAPI.webServer.rejectRequest(g),await f()}catch(y){console.error("Failed to reject request:",y)}};return s.jsx(fy,{requests:i,onApprove:c,onReject:d})}function my({lyricsData:i,selectedLineIndex:u,onLineSelect:f,vocalsWaveform:c,songDuration:d,currentPosition:g,isPlaying:y}){const x=w.useRef(null),m=w.useRef([]),p=3800,v=120;w.useEffect(()=>{const S=x.current;if(!S)return;const A=S.getContext("2d"),P=S.width,j=S.height;if(A.clearRect(0,0,P,j),A.fillStyle="rgba(0, 0, 0, 0.5)",A.fillRect(0,0,P,j),c&&c.length>0&&b(A,c,P,j),d>0&&i&&i.length>0){m.current=[];const V=[],_=[];i.forEach((O,E)=>{O.disabled!==!0&&(O.backup===!0?V.push({line:O,index:E}):_.push({line:O,index:E}))}),V.forEach(({line:O,index:E})=>{k(A,O,E,d,P,j,"rgba(255, 200, 0, 0.35)","rgba(255, 200, 0, 0.7)",u===E)}),_.forEach(({line:O,index:E})=>{k(A,O,E,d,P,j,"rgba(0, 100, 255, 0.35)","rgba(0, 255, 255, 0.9)",u===E)})}if(g>0&&d>0){const V=g/d*P;A.strokeStyle="rgba(255, 255, 255, 0.9)",A.lineWidth=2,A.beginPath(),A.moveTo(V,0),A.lineTo(V,j),A.stroke(),A.fillStyle="rgba(255, 255, 255, 0.9)";const _=j*.1,O=6;A.beginPath(),A.moveTo(V,_),A.lineTo(V-O,0),A.lineTo(V+O,0),A.closePath(),A.fill(),A.beginPath(),A.moveTo(V,j-_),A.lineTo(V-O,j),A.lineTo(V+O,j),A.closePath(),A.fill()}},[i,u,c,d,g,y]);const b=(S,A,P,j)=>{const V=j/2,_=j/256;S.strokeStyle="#ffffff",S.lineWidth=1,S.beginPath();for(let O=0;O<A.length;O++){const E=O/A.length*P,D=A[O],z=V-D*_;O===0?S.moveTo(E,z):S.lineTo(E,z)}S.stroke(),S.beginPath();for(let O=0;O<A.length;O++){const E=O/A.length*P,D=A[O],z=V+D*_;O===0?S.moveTo(E,z):S.lineTo(E,z)}S.stroke(),S.strokeStyle="rgba(255, 255, 255, 0.3)",S.lineWidth=1,S.beginPath(),S.moveTo(0,V),S.lineTo(P,V),S.stroke()},k=(S,A,P,j,V,_,O,E,D)=>{const z=A.start||A.startTimeSec||0,B=(A.end||A.endTimeSec||z+3)-z;if(B>0){const K=z/j*V,ee=B/j*V,Z=_*.05,se=_-Z*2;m.current.push({x:K,y:Z,width:ee,height:se,lineIndex:P}),S.fillStyle=O,S.fillRect(K,Z,ee,se),D&&(S.strokeStyle=E,S.lineWidth=2,S.strokeRect(K,Z,ee,se))}},T=S=>{if(!m.current.length||!d)return;const A=x.current,P=A.getBoundingClientRect(),j=A.width/P.width,V=A.height/P.height,_=(S.clientX-P.left)*j,O=(S.clientY-P.top)*V;for(let E=m.current.length-1;E>=0;E--){const D=m.current[E];if(_>=D.x&&_<=D.x+D.width&&O>=D.y&&O<=D.y+D.height){f(D.lineIndex);const z=document.querySelector(`.lyric-line-editor[data-index="${D.lineIndex}"]`);z&&z.scrollIntoView({behavior:"smooth",block:"center"});break}}};return s.jsx("div",{className:"w-full",children:s.jsx("canvas",{ref:x,width:p,height:v,onClick:T,className:"w-full h-auto cursor-pointer block"})})}function hy({selectedLine:i,vocalsWaveform:u,songDuration:f,currentPosition:c,isPlaying:d}){const g=w.useRef(null),y=3800,x=120;w.useEffect(()=>{const v=g.current;if(!v)return;const b=v.getContext("2d"),k=v.width,T=v.height;if(b.clearRect(0,0,k,T),b.fillStyle="rgba(0, 0, 0, 0.5)",b.fillRect(0,0,k,T),!i||!u)return;const S=i.start||i.startTimeSec||0,A=i.end||i.endTimeSec||S+3,P=A-S;if(m(b,u,S,A,f,k,T),i.word_timing&&Array.isArray(i.word_timing)&&p(b,i.word_timing,P,k,T),d&&c>=S&&c<=A){const V=(c-S)/P*k;b.strokeStyle="rgba(255, 255, 255, 0.9)",b.lineWidth=2,b.beginPath(),b.moveTo(V,0),b.lineTo(V,T),b.stroke()}},[i,u,f,c,d]);const m=(v,b,k,T,S,A,P)=>{if(!b||b.length===0)return;const j=b.length/S,V=Math.floor(k*j),_=Math.floor(T*j),O=b.slice(V,_);if(O.length===0)return;const E=P/2,D=P/256;v.strokeStyle="#ffffff",v.lineWidth=1,v.beginPath();for(let z=0;z<O.length;z++){const F=z/O.length*A,B=O[z],K=E-B*D;z===0?v.moveTo(F,K):v.lineTo(F,K)}v.stroke(),v.beginPath();for(let z=0;z<O.length;z++){const F=z/O.length*A,B=O[z],K=E+B*D;z===0?v.moveTo(F,K):v.lineTo(F,K)}v.stroke(),v.strokeStyle="rgba(255, 255, 255, 0.3)",v.lineWidth=1,v.beginPath(),v.moveTo(0,E),v.lineTo(A,E),v.stroke()},p=(v,b,k,T,S)=>{if(!b||b.length===0)return;const A=S*.05,P=S-A*2,j="rgba(0, 255, 100, 0.35)",V="rgba(0, 255, 100, 0.7)";b.forEach(([_,O])=>{const E=_/k*T,D=(O-_)/k*T;v.fillStyle=j,v.fillRect(E,A,D,P),v.strokeStyle=V,v.lineWidth=1,v.strokeRect(E,A,D,P)})};return s.jsx("div",{className:"w-full",children:s.jsx("canvas",{ref:g,width:y,height:x,className:"w-full h-auto cursor-crosshair block"})})}var Rs=mg();function yy({id:i,value:u,onChange:f,options:c=[],placeholder:d="Select...",className:g=""}){const[y,x]=w.useState(!1),[m,p]=w.useState({top:0,left:0,minWidth:0,openUpward:!1}),[v,b]=w.useState(-1),k=w.useRef(null),T=w.useRef(null),S=240,A=c.find(E=>E.value===u),P=A?A.label:d,j=c.findIndex(E=>E.value===u),V=w.useCallback(()=>{if(k.current){const E=k.current.getBoundingClientRect(),z=window.innerHeight-E.bottom,F=E.top,B=Math.min(c.length*40,S),K=z<B&&F>z;p({top:K?E.top-2:E.bottom+2,left:E.left,minWidth:E.width,openUpward:K})}},[c.length]);w.useEffect(()=>{y&&(V(),b(j>=0?j:0))},[y,V,j]),w.useEffect(()=>{if(!y)return;const E=D=>{k.current&&!k.current.contains(D.target)&&T.current&&!T.current.contains(D.target)&&x(!1)};return document.addEventListener("mousedown",E),()=>document.removeEventListener("mousedown",E)},[y]),w.useEffect(()=>{if(!y)return;const E=D=>{T.current&&T.current.contains(D.target)||x(!1)};return window.addEventListener("scroll",E,!0),()=>window.removeEventListener("scroll",E,!0)},[y]);const _=w.useCallback(E=>{f?.({target:{value:E}}),x(!1),k.current?.focus()},[f]),O=w.useCallback(E=>{switch(E.key){case"Enter":case" ":E.preventDefault(),y&&v>=0?_(c[v].value):x(!y);break;case"Escape":E.preventDefault(),x(!1),k.current?.focus();break;case"ArrowDown":E.preventDefault(),y?b(D=>Math.min(D+1,c.length-1)):x(!0);break;case"ArrowUp":E.preventDefault(),y&&b(D=>Math.max(D-1,0));break;case"Home":E.preventDefault(),y&&b(0);break;case"End":E.preventDefault(),y&&b(c.length-1);break;case"Tab":y&&x(!1);break;default:if(E.key.length===1&&y){const D=E.key.toLowerCase(),z=c.findIndex(F=>F.label.toLowerCase().startsWith(D));z>=0&&b(z)}}},[y,v,c,_]);return w.useEffect(()=>{y&&T.current&&v>=0&&T.current.children[v]?.scrollIntoView({block:"nearest"})},[y,v]),s.jsxs(s.Fragment,{children:[s.jsxs("button",{ref:k,id:i,type:"button",className:`w-full px-3 py-2 bg-white dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded text-gray-900 dark:text-gray-100 cursor-pointer focus:outline-none focus:ring-2 focus:ring-blue-500 flex items-center justify-between text-left ${g}`,onClick:()=>x(!y),onKeyDown:O,"aria-haspopup":"listbox","aria-expanded":y,"aria-labelledby":i,children:[s.jsx("span",{className:"truncate",children:P}),s.jsx("svg",{className:`w-4 h-4 ml-2 flex-shrink-0 transition-transform ${y?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),y&&Rs.createPortal(s.jsx("div",{ref:T,className:"fixed z-[9999] bg-white dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded shadow-lg max-h-60 overflow-y-auto",style:{...m.openUpward?{bottom:window.innerHeight-m.top,left:m.left}:{top:m.top,left:m.left},minWidth:m.minWidth},role:"listbox",onKeyDown:O,children:c.map((E,D)=>s.jsx("div",{className:`px-3 py-2 cursor-pointer transition-colors whitespace-nowrap ${D===v?"bg-blue-500 text-white":E.value===u?"bg-blue-100 dark:bg-blue-900 text-blue-900 dark:text-blue-100":"text-gray-900 dark:text-gray-100 hover:bg-gray-100 dark:hover:bg-gray-600"}`,onClick:()=>_(E.value),role:"option","aria-selected":E.value===u,children:E.label},E.value))}),document.body)]})}const py=[{value:"",label:"Lead"},{value:"B",label:"Singer B"},{value:"duet",label:"Duet"},{value:"backup",label:"Backup"},{value:"backup:PA",label:"Backup PA 🔊"}],D0=.1,xy=.5,by=400,vy=80;function Tu({text:i,targetRect:u,visible:f}){if(!f||!u)return null;const c={position:"fixed",left:u.left+u.width/2,top:u.top-4,transform:"translate(-50%, -100%)",zIndex:1e4};return Rs.createPortal(s.jsxs("div",{style:c,className:"px-2 py-1 bg-gray-900 dark:bg-gray-700 text-white text-xs rounded shadow-lg whitespace-nowrap pointer-events-none",children:[i,s.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 top-full w-0 h-0 border-l-4 border-r-4 border-t-4 border-l-transparent border-r-transparent border-t-gray-900 dark:border-t-gray-700"})]}),document.body)}function Es({direction:i,onAdjust:u,tooltip:f,isStart:c}){const[d,g]=w.useState(!1),[y,x]=w.useState(null),m=w.useRef(null),p=w.useRef(null),v=w.useRef(null),b=w.useRef(null),k=w.useCallback(O=>{const E=i==="decrease"?-1:1,D=O.shiftKey?xy:D0;u(E*D)},[i,u]),T=w.useCallback(O=>{O.preventDefault(),g(!1),k(O),v.current=setTimeout(()=>{p.current=setInterval(()=>{u((i==="decrease"?-1:1)*D0)},vy)},by)},[i,u,k]),S=w.useCallback(()=>{v.current&&(clearTimeout(v.current),v.current=null),p.current&&(clearInterval(p.current),p.current=null)},[]),A=w.useCallback(()=>{b.current=setTimeout(()=>{m.current&&(x(m.current.getBoundingClientRect()),g(!0))},400)},[]),P=w.useCallback(()=>{b.current&&(clearTimeout(b.current),b.current=null),g(!1),S()},[S]);w.useEffect(()=>()=>{b.current&&clearTimeout(b.current),v.current&&clearTimeout(v.current),p.current&&clearInterval(p.current)},[]);const j=i==="decrease"?"‹":"›",_=`${f} (${c?i==="decrease"?"d":"f":i==="decrease"?"j":"k"}, shift for ±0.5s)`;return s.jsxs(s.Fragment,{children:[s.jsx("button",{ref:m,type:"button",className:"w-6 h-7 flex items-center justify-center bg-gray-200 dark:bg-gray-600 hover:bg-blue-500 hover:text-white dark:hover:bg-blue-500 border border-gray-300 dark:border-gray-500 rounded text-gray-700 dark:text-gray-200 font-bold text-base cursor-pointer transition-colors select-none",onMouseDown:T,onMouseUp:S,onMouseEnter:A,onMouseLeave:P,onClick:O=>O.stopPropagation(),children:j}),s.jsx(Tu,{text:_,targetRect:y,visible:d})]})}function As({icon:i,tooltip:u,onClick:f,className:c,disabled:d=!1}){const[g,y]=w.useState(!1),[x,m]=w.useState(null),p=w.useRef(null),v=w.useRef(null),b=w.useCallback(()=>{v.current=setTimeout(()=>{p.current&&(m(p.current.getBoundingClientRect()),y(!0))},400)},[]),k=w.useCallback(()=>{v.current&&(clearTimeout(v.current),v.current=null),y(!1)},[]);return w.useEffect(()=>()=>{v.current&&clearTimeout(v.current)},[]),s.jsxs(s.Fragment,{children:[s.jsx("span",{ref:p,onMouseEnter:b,onMouseLeave:k,className:"inline-flex",children:s.jsx("button",{type:"button",className:c,disabled:d,onClick:f,children:s.jsx("span",{className:"material-icons text-base",children:i})})}),s.jsx(Tu,{text:u,targetRect:x,visible:g})]})}function wy({index:i,onClick:u}){const[f,c]=w.useState(!1),[d,g]=w.useState(null),y=w.useRef(null),x=w.useRef(null),m=w.useCallback(()=>{x.current=setTimeout(()=>{y.current&&(g(y.current.getBoundingClientRect()),c(!0))},400)},[]),p=w.useCallback(()=>{x.current&&(clearTimeout(x.current),x.current=null),c(!1)},[]);w.useEffect(()=>()=>{x.current&&clearTimeout(x.current)},[]);const v=`Play line ${i+1} (p)`;return s.jsxs(s.Fragment,{children:[s.jsx("span",{ref:y,className:"flex items-center justify-center min-w-[36px] h-9 bg-gray-200 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded text-sm font-semibold text-gray-700 dark:text-gray-200 cursor-pointer transition-all flex-shrink-0 hover:bg-blue-600 hover:text-white dark:hover:bg-blue-500",onClick:u,onMouseEnter:m,onMouseLeave:p,children:i+1}),s.jsx(Tu,{text:v,targetRect:d,visible:f})]})}function Sy({line:i,index:u,isSelected:f,onSelect:c,onUpdate:d,onDelete:g,onAddAfter:y,onSplit:x,onPlaySection:m,onAdjustStartTime:p,onAdjustEndTime:v,canAddAfter:b,canSplit:k,hasOverlap:T=!1}){const S=i.start||i.startTimeSec||0,A=i.end||i.endTimeSec||S+3,P=i.text||"",j=i.disabled===!0,V=i.singer||(i.backup===!0?"backup":""),_=V?.startsWith("backup")||!1,O=ee=>{const Z=parseFloat(ee.target.value)||0;d(u,{...i,start:Z,startTimeSec:Z})},E=ee=>{const Z=parseFloat(ee.target.value)||0;d(u,{...i,end:Z,endTimeSec:Z})},D=ee=>{d(u,{...i,text:ee.target.value})},z=ee=>{const Z=ee.target.value||void 0,{backup:se,...ne}=i;c(u),d(u,{...ne,singer:Z})},F=()=>{d(u,{...i,disabled:!j})},B=ee=>{ee.stopPropagation(),c(u),m(S,A)};let K="lyric-line-editor flex items-center gap-2.5 mb-2.5 p-2 border-2 rounded transition-all cursor-pointer";return _?(K+=" bg-yellow-50 dark:bg-yellow-900/20",K+=f?" border-blue-500 dark:border-blue-400":" border-yellow-400 dark:border-yellow-600"):f?K+=" border-blue-500 bg-blue-100 dark:border-blue-400 dark:bg-blue-900/40":j?K+=" opacity-50 bg-gray-100 dark:bg-gray-900 border-gray-300 dark:border-gray-600":K+=" bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 hover:bg-gray-50 dark:hover:bg-gray-750 hover:border-gray-400 dark:hover:border-gray-500",s.jsxs("div",{className:K,"data-index":u,"data-start-time":S,"data-end-time":A,onClick:()=>c(u),children:[s.jsx(wy,{index:u,onClick:B}),s.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[s.jsx(Es,{direction:"decrease",onAdjust:p,tooltip:"Earlier",isStart:!0}),s.jsx("input",{type:"number",className:`w-[58px] px-1 py-1.5 bg-gray-100 dark:bg-gray-700 rounded text-gray-900 dark:text-white text-xs text-center font-mono focus:outline-none [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none ${T?"border-2 border-red-500 dark:border-red-400 focus:border-red-600 dark:focus:border-red-300":"border border-gray-300 dark:border-gray-600 focus:border-blue-500 dark:focus:border-blue-400"}`,value:S.toFixed(1),onChange:O,step:"0.1",min:"0",onClick:ee=>{ee.stopPropagation(),c(u)},title:T?"Warning: This line overlaps with the previous line for the same singer":"Start time (d/f to adjust)"}),s.jsx(Es,{direction:"increase",onAdjust:p,tooltip:"Later",isStart:!0}),s.jsx("span",{className:"text-gray-500 dark:text-gray-400 font-semibold mx-0.5",children:"—"}),s.jsx(Es,{direction:"decrease",onAdjust:v,tooltip:"Earlier",isStart:!1}),s.jsx("input",{type:"number",className:"w-[58px] px-1 py-1.5 bg-gray-100 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded text-gray-900 dark:text-white text-xs text-center font-mono focus:outline-none focus:border-blue-500 dark:focus:border-blue-400 [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",value:A.toFixed(1),onChange:E,step:"0.1",min:"0",onClick:ee=>{ee.stopPropagation(),c(u)},title:"End time (j/k to adjust)"}),s.jsx(Es,{direction:"increase",onAdjust:v,tooltip:"Later",isStart:!1})]}),s.jsx("input",{type:"text",className:"flex-1 px-3 py-2 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded text-gray-900 dark:text-white text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:focus:ring-blue-400 dark:focus:border-blue-400",value:P,onChange:D,placeholder:"Enter lyrics...",onClick:ee=>{ee.stopPropagation(),c(u)},disabled:j}),s.jsx("div",{className:"flex items-center gap-1 flex-shrink-0 w-28",onClick:ee=>{ee.stopPropagation(),c(u)},children:s.jsx(yy,{value:V,onChange:z,options:py,className:"text-xs py-1 px-2"})}),s.jsxs("div",{className:"flex items-center gap-1.5 flex-shrink-0",children:[s.jsx(As,{icon:j?"visibility_off":"visibility",tooltip:j?"Enable line":"Disable line",className:`w-8 h-8 p-0 flex items-center justify-center border border-gray-300 dark:border-gray-600 rounded cursor-pointer transition-all ${j?"bg-gray-200 dark:bg-gray-700 text-red-600 dark:text-red-400 hover:bg-gray-300 dark:hover:bg-gray-600":"bg-gray-200 dark:bg-gray-700 text-green-600 dark:text-green-400 hover:bg-gray-300 dark:hover:bg-gray-600"}`,onClick:ee=>{ee.stopPropagation(),F()}}),s.jsx(As,{icon:"delete",tooltip:"Delete line",className:"w-8 h-8 p-0 flex items-center justify-center border border-gray-300 dark:border-gray-600 bg-gray-200 dark:bg-gray-700 text-gray-700 dark:text-gray-200 rounded cursor-pointer transition-all hover:bg-red-600 hover:border-red-600 hover:text-white dark:hover:bg-red-500 dark:hover:border-red-500",onClick:ee=>{ee.stopPropagation(),confirm("Delete this lyric line?")&&g(u)}}),s.jsx(As,{icon:"call_split",tooltip:k?"Split at punctuation":"No punctuation to split on",className:`w-8 h-8 p-0 flex items-center justify-center border rounded cursor-pointer transition-all ${k?"border-gray-300 dark:border-gray-600 bg-gray-200 dark:bg-gray-700 text-gray-700 dark:text-gray-200 hover:bg-blue-600 hover:border-blue-600 hover:text-white dark:hover:bg-blue-500 dark:hover:border-blue-500":"opacity-30 cursor-not-allowed border-gray-300 dark:border-gray-600 bg-gray-200 dark:bg-gray-700 text-gray-700 dark:text-gray-200"}`,disabled:!k,onClick:ee=>{ee.stopPropagation(),k&&x(u)}}),s.jsx(As,{icon:"add",tooltip:b?"Add line after":"No room (need 0.6s gap)",className:`w-8 h-8 p-0 flex items-center justify-center border rounded cursor-pointer transition-all ${b?"border-gray-300 dark:border-gray-600 bg-gray-200 dark:bg-gray-700 text-gray-700 dark:text-gray-200 hover:bg-green-600 hover:border-green-600 hover:text-white dark:hover:bg-green-500 dark:hover:border-green-500":"opacity-30 cursor-not-allowed border-gray-300 dark:border-gray-600 bg-gray-200 dark:bg-gray-700 text-gray-700 dark:text-gray-200"}`,disabled:!b,onClick:ee=>{ee.stopPropagation(),y(u)}})]})]})}function ky({message:i,type:u="info",onClose:f,duration:c=3e3}){w.useEffect(()=>{if(c>0){const y=setTimeout(f,c);return()=>clearTimeout(y)}},[c,f]);const d={success:"bg-green-600 border-green-500",error:"bg-red-600 border-red-500",info:"bg-blue-600 border-blue-500"},g=u==="success"?"check_circle":u==="error"?"error":"info";return s.jsx("div",{className:`fixed top-4 right-4 z-50 ${d[u]} border-l-4 rounded-lg shadow-lg px-6 py-4 cursor-pointer transition-opacity hover:opacity-90`,onClick:f,children:s.jsxs("div",{className:"flex items-center gap-3 text-white",children:[s.jsx("span",{className:"material-icons text-2xl",children:g}),s.jsx("span",{className:"font-medium",children:i})]})})}function jy({rejection:i,rejectionIndex:u,onAccept:f,onDelete:c}){const d=async()=>{try{await navigator.clipboard.writeText(i.new_text)}catch(g){console.error("Failed to copy text:",g)}};return s.jsxs("div",{className:"bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg p-4 space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("span",{className:"flex items-center gap-2 text-red-700 dark:text-red-300 font-medium",children:[s.jsx("span",{className:"material-icons",children:"block"}),"Rejected Update (Line ",i.line_num,")"]}),s.jsx("button",{className:"p-1 hover:bg-red-100 dark:hover:bg-red-900 rounded transition",title:"Delete this rejection",onClick:()=>c(u),children:s.jsx("span",{className:"material-icons text-gray-600 dark:text-gray-400",children:"delete"})})]}),s.jsxs("div",{className:"space-y-3",children:[s.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[s.jsxs("div",{children:[s.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Original:"}),s.jsx("div",{className:"bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded p-3 text-gray-900 dark:text-gray-100",children:i.old_text})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Proposed:"}),s.jsx("div",{className:"bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded p-3 text-gray-900 dark:text-gray-100",children:i.new_text}),s.jsxs("div",{className:"flex gap-2 mt-2",children:[s.jsxs("button",{className:"flex items-center gap-1 px-3 py-1.5 bg-gray-200 hover:bg-gray-300 dark:bg-gray-700 dark:hover:bg-gray-600 text-gray-900 dark:text-gray-100 text-sm rounded-lg transition",title:"Copy proposed text",onClick:d,children:[s.jsx("span",{className:"material-icons text-sm",children:"content_copy"}),"Copy"]}),s.jsxs("button",{className:"flex items-center gap-1 px-3 py-1.5 bg-green-600 hover:bg-green-700 text-white text-sm rounded-lg transition",title:"Accept proposed text and replace current lyric",onClick:()=>f(u),children:[s.jsx("span",{className:"material-icons text-sm",children:"check_circle"}),"Accept"]})]})]})]}),s.jsxs("div",{className:"flex flex-wrap gap-3 text-sm text-gray-600 dark:text-gray-400",children:[s.jsxs("span",{children:["Reason: ",i.reason]}),i.retention_rate!==void 0&&s.jsxs("span",{children:["Retention: ",(i.retention_rate*100).toFixed(1),"% (min:"," ",(i.min_required*100).toFixed(1),"%)"]})]})]})]})}function O0(i){if(!i||isNaN(i))return"0:00";const u=Math.floor(i/60),f=Math.floor(i%60);return`${u}:${f.toString().padStart(2,"0")}`}function Ny({suggestion:i,suggestionIndex:u,onAccept:f,onDelete:c}){const d=async()=>{try{await navigator.clipboard.writeText(i.suggested_text)}catch(x){console.error("Failed to copy text:",x)}},g=O0(i.start_time),y=O0(i.end_time);return s.jsxs("div",{className:"bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg p-4 space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("span",{className:"flex items-center gap-2 text-blue-700 dark:text-blue-300 font-medium",children:[s.jsx("span",{className:"material-icons",children:"lightbulb"}),"Suggested Missing Line (",g," - ",y,")"]}),s.jsx("button",{className:"p-1 hover:bg-blue-100 dark:hover:bg-blue-900 rounded transition",title:"Delete this suggestion",onClick:()=>c(u),children:s.jsx("span",{className:"material-icons text-gray-600 dark:text-gray-400",children:"delete"})})]}),s.jsxs("div",{className:"space-y-3",children:[s.jsxs("div",{children:[s.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Suggested Text:"}),s.jsx("div",{className:"bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded p-3 text-gray-900 dark:text-gray-100",children:i.suggested_text})]}),s.jsxs("div",{className:"flex flex-wrap gap-3 text-sm text-gray-600 dark:text-gray-400",children:[s.jsxs("span",{children:["Confidence: ",i.confidence]}),s.jsxs("span",{children:["Reason: ",i.reason]}),i.pitch_activity&&s.jsxs("span",{children:["Pitch Activity: ",i.pitch_activity]})]}),s.jsxs("div",{className:"flex gap-2",children:[s.jsxs("button",{className:"flex items-center gap-2 px-4 py-2 bg-blue-600 hover:bg-blue-700 text-white rounded-lg transition",title:"Add this as a new lyric line",onClick:()=>f(u),children:[s.jsx("span",{className:"material-icons text-sm",children:"add_circle"}),"Add as New Line"]}),s.jsxs("button",{className:"flex items-center gap-2 px-4 py-2 bg-gray-200 hover:bg-gray-300 dark:bg-gray-700 dark:hover:bg-gray-600 text-gray-900 dark:text-gray-100 rounded-lg transition",title:"Copy suggested text",onClick:d,children:[s.jsx("span",{className:"material-icons text-sm",children:"content_copy"}),"Copy Text"]})]})]})]})}function Ey(i){if(!i||!i.text)return!1;const u=i.text.trim(),f=u.match(/[.!?]/);if(!f)return!1;const c=f.index+1,d=u.substring(0,c).trim(),g=u.substring(c).trim();return d.length>0&&g.length>0}function Ay(i,u=0){if(!i||!i.text)return console.warn("Cannot split line: missing text"),null;const f=i.text.trim(),c=f.match(/[.!?]/);if(!c)return console.log(`Line ${u}: No punctuation found, cannot split`),null;const d=c.index+1,g=f.substring(0,d).trim(),y=f.substring(d).trim();if(!g||!y)return console.log(`Line ${u}: Split would create empty line, aborting`),null;const x=i.end-i.start;if(i.word_timing&&Array.isArray(i.word_timing)){console.log(`Line ${u}: Attempting word-timing based split`);const k=f.split(/\s+/),T=i.word_timing.length;if(T!==k.length)console.warn(`Line ${u}: Word count mismatch (timing: ${T}, text: ${k.length}), falling back to percentage split`);else{const A=g.split(/\s+/).length;if(A>0&&A<i.word_timing.length){const P=i.word_timing[A-1],j=i.start+P[1],V={...i,text:g,end:j,word_timing:i.word_timing.slice(0,A)},_=j,O=i.word_timing.slice(A).map(D=>{const z=i.start+D[0],F=i.start+D[1];return[z-_,F-_]}),E={...i,text:y,start:_,end:i.end,word_timing:O};return console.log(`✅ Line ${u}: Split using word-timing at ${j.toFixed(2)}s`),console.log(` Line 1: ${V.start.toFixed(2)}-${V.end.toFixed(2)}s "${g}"`),console.log(` Line 2: ${E.start.toFixed(2)}-${E.end.toFixed(2)}s "${y}"`),[V,E]}}}console.log(`Line ${u}: Using percentage-based time split`);const m=g.length/f.length,p=i.start+x*m,v={...i,text:g,end:p,word_timing:void 0},b={...i,text:y,start:p,end:i.end,word_timing:void 0};return console.log(`✅ Line ${u}: Split using percentage (${(m*100).toFixed(1)}% / ${((1-m)*100).toFixed(1)}%)`),console.log(` Line 1: ${v.start.toFixed(2)}-${v.end.toFixed(2)}s "${g}"`),console.log(` Line 2: ${b.start.toFixed(2)}-${b.end.toFixed(2)}s "${y}"`),[v,b]}function Cy({bridge:i}){const[u,f]=w.useState(""),[c,d]=w.useState([]),[g,y]=w.useState(!1),[x,m]=w.useState(null),[p,v]=w.useState(null),[b,k]=w.useState(!1),[T,S]=w.useState("metadata"),[A,P]=w.useState({title:"",artist:"",album:"",year:"",genre:"",key:""}),[j,V]=w.useState([]),[_,O]=w.useState([]),[E,D]=w.useState(null),[z,F]=w.useState(0),[B,K]=w.useState([]),[ee,Z]=w.useState([]),[se,ne]=w.useState(!1),[ce,H]=w.useState([]),[te,me]=w.useState(null),[we,Se]=w.useState(!1),[C,I]=w.useState(0),[Y,ae]=w.useState(null),[ie,de]=w.useState(null),ue=w.useRef(null),[fe,xe]=w.useState(null),Ve=w.useCallback(L=>{if(L===0||L>=j.length)return!1;const G=j[L],re=j[L-1],oe=G.backup===!0,ye=re.backup===!0;if(oe!==ye)return!1;const ke=G.start||G.startTimeSec||0,De=re.end||re.endTimeSec||0;return ke<De},[j]),Be=w.useCallback((L,G)=>{V(re=>re.map((oe,ye)=>ye===L?G:oe)),ne(!0)},[]),sa=w.useCallback(async(L,G)=>{if(!ce.length){console.warn("No audio elements available for playback");return}console.log(`🎵 Playing section: ${L}s - ${G}s`),ae(null),ce.forEach(({audio:re})=>{re.currentTime=L}),I(L);try{const re=ce.map(({audio:oe})=>oe.play());await Promise.all(re),Se(!0),console.log("✅ Audio playback started")}catch(re){console.error("Failed to play audio:",re),xe({message:`Failed to play audio: ${re.message}`,type:"error"});return}setTimeout(()=>{ae(G)},50)},[ce]),En=w.useCallback(()=>{ce.forEach(({audio:L,source:G})=>{L.pause(),L.currentTime=0;try{G.disconnect()}catch{}}),te&&te.close(),H([]),me(null),Se(!1)},[ce,te]),Ut=w.useCallback(()=>{if(!(E===null||E===0)){for(let L=E-1;L>=0;L--)if(!j[L].disabled){D(L);return}}},[E,j]),Ca=w.useCallback(()=>{if(E===null){for(let L=0;L<j.length;L++)if(!j[L].disabled){D(L);return}return}if(!(E>=j.length-1)){for(let L=E+1;L<j.length;L++)if(!j[L].disabled){D(L);return}}},[E,j]),Ta=w.useCallback(()=>{if(E===null||!j[E])return;const L=j[E],G=L.start||L.startTimeSec||0,re=L.end||L.endTimeSec||G+3;sa(G,re)},[E,j,sa]),ia=w.useCallback(L=>{if(E===null||!j[E])return;const G=j[E],re=G.start||G.startTimeSec||0,oe=Math.max(0,re+L),ye={...G,start:oe,startTimeSec:oe};Be(E,ye)},[E,j,Be]),Ma=w.useCallback(L=>{if(E===null||!j[E])return;const G=j[E],re=G.end||G.endTimeSec||0,oe=Math.max(0,re+L),ye={...G,end:oe,endTimeSec:oe};Be(E,ye)},[E,j,Be]);w.useEffect(()=>{const L=G=>{const re=G.target;if(re.tagName==="INPUT"||re.tagName==="TEXTAREA"||T!=="lyrics"||!j.length)return;const oe=G.shiftKey?.5:.1;switch(G.key.toLowerCase()){case"q":G.preventDefault(),Ut();break;case"o":G.preventDefault(),Ca();break;case"p":G.preventDefault(),Ta();break;case"d":G.preventDefault(),ia(-oe);break;case"f":G.preventDefault(),ia(oe);break;case"j":G.preventDefault(),Ma(-oe);break;case"k":G.preventDefault(),Ma(oe);break}};return window.addEventListener("keydown",L),()=>window.removeEventListener("keydown",L)},[T,j,E,ce,Ut,Ca,Ta,ia,Ma]);const le=async L=>{if(f(L),!L.trim()){d([]);return}try{y(!0);const G=await i.searchSongs(L);d(G.songs||[])}catch(G){console.error("Search failed:",G)}finally{y(!1)}},be=async L=>{try{console.log("🔍 Loading song for editing:",L.path);const G=await i.loadSongForEditing(L.path);if(G.success){m(L),v(G.data),P({title:G.data.metadata?.title||L.title||"",artist:G.data.metadata?.artist||L.artist||"",album:G.data.metadata?.album||L.album||"",year:G.data.metadata?.year||L.year||"",genre:G.data.metadata?.genre||L.genre||"",key:G.data.metadata?.key||L.key||""});const re=G.data.format==="kai"||G.data.format==="m4a-stems";if(re){const ye=[...G.data.lyrics||[]].sort((Oe,vt)=>{const It=Oe.start||Oe.startTimeSec||0,rn=vt.start||vt.startTimeSec||0;return It-rn});V(JSON.parse(JSON.stringify(ye))),O(JSON.parse(JSON.stringify(ye))),F(G.data.metadata?.duration||G.data.songJson?.duration_sec||0);const ke=G.data.songJson?.meta?.corrections||{},De=ke.rejected||ke.applied||[];K(De.map(Oe=>({line_num:Oe.line,start_time:Oe.start,end_time:Oe.end,old_text:Oe.old,new_text:Oe.new,reason:Oe.reason,retention_rate:Oe.word_retention,min_required:.5})));const bt=ke.missing_lines_suggested||[];Z(bt.map(Oe=>({suggested_text:Oe.suggested_text,start_time:Oe.start,end_time:Oe.end,confidence:Oe.confidence,reason:Oe.reason,pitch_activity:Oe.pitch_activity}))),ne(!1)}else V([]),O([]),F(0),K([]),Z([]),ne(!1);d([]),f(""),S(re?"lyrics":"metadata"),re&&G.data.audioFiles&&dt(G.data.audioFiles)}}catch(G){console.error("Failed to load song:",G)}},dt=L=>{try{En();const G=new(window.AudioContext||window.webkitAudioContext);me(G);const re=L.map(ke=>{const De=new Audio(ke.downloadUrl);De.crossOrigin="anonymous",De.preload="auto",De.volume=1;const bt=G.createMediaElementSource(De),Oe=G.createGain();bt.connect(Oe),Oe.connect(G.destination);const It=!ke.name.toLowerCase().includes("vocal");return Oe.gain.value=It?0:1,{name:ke.name,audio:De,source:bt,gainNode:Oe,muted:It,audioData:ke.audioData}});H(re),console.log(`🎵 Loaded ${re.length} audio sources for playback`);const oe=L.find(ke=>ke.name.toLowerCase().includes("vocal")),ye=re.find(ke=>ke.name.toLowerCase().includes("vocal"));ye?(Tt(ye.audio),ca(ye.audio,oe?.audioData)):re[0]&&(Tt(re[0].audio),ca(re[0].audio,L[0]?.audioData))}catch(G){console.error("Failed to load audio files:",G)}},Tt=L=>{const G=()=>{ae(null),Se(!1)};L.addEventListener("pause",G)};w.useEffect(()=>{if(we&&ce.length>0){const L=()=>{const G=ce[0]?.audio;G&&!G.paused&&(I(G.currentTime),ue.current=requestAnimationFrame(L))};return ue.current=requestAnimationFrame(L),()=>{ue.current&&cancelAnimationFrame(ue.current)}}},[we,ce]),w.useEffect(()=>{Y!==null&&C>=Y&&(ce.forEach(({audio:L})=>L.pause()),ae(null),Se(!1))},[C,Y,ce]);const ca=async(L,G)=>{try{let re;if(G&&(G instanceof ArrayBuffer?re=G:G.buffer instanceof ArrayBuffer&&(re=G.buffer.slice(G.byteOffset,G.byteOffset+G.byteLength))),!re&&L?.src&&(re=await(await fetch(L.src)).arrayBuffer()),!re)throw new Error("No audio data available for waveform analysis");const oe=new(window.AudioContext||window.webkitAudioContext),ke=(await oe.decodeAudioData(re)).getChannelData(0),De=3800,bt=Math.floor(ke.length/De),Oe=new Int8Array(De);for(let vt=0;vt<De;vt++){const It=vt*bt,rn=Math.min(It+bt,ke.length);let _n=0;for(let Rn=It;Rn<rn;Rn++)_n=Math.max(_n,Math.abs(ke[Rn]));Oe[vt]=Math.floor(_n*127)}de(Oe),oe.close(),console.log("✅ Waveform analysis complete")}catch(re){console.error("Failed to analyze waveform:",re)}},$e=()=>{ce.length&&(we?(ce.forEach(({audio:L})=>L.pause()),Se(!1)):(ce.forEach(({audio:L})=>L.play()),Se(!0)))},An=L=>{H(G=>G.map((re,oe)=>{if(oe===L){const ye=!re.muted;return re.gainNode.gain.value=ye?0:1,{...re,muted:ye}}return re}))};w.useEffect(()=>()=>{ce.forEach(({audio:L,source:G})=>{L.pause(),L.currentTime=0;try{G.disconnect()}catch{}}),te&&te.close()},[]);const ct=(L,G="success")=>{xe({message:L,type:G})},st=L=>{V(G=>G.filter((re,oe)=>oe!==L)),D(null),ne(!0)},Ke=L=>{const G=j[L],re=j[L+1],oe=G.end||G.endTimeSec||0,ke=(re&&(re.start||re.startTimeSec)||oe+3)-oe,De=ke*.8,bt=ke*.1,Oe={start:oe+bt,startTimeSec:oe+bt,end:oe+bt+De,endTimeSec:oe+bt+De,text:""};V(vt=>[...vt.slice(0,L+1),Oe,...vt.slice(L+1)]),ne(!0)},Jt=L=>{const G=j[L],re=Ay(G,L);if(!re){ct("Cannot split line: no punctuation found or would create empty line","error");return}const[oe,ye]=re;V(ke=>[...ke.slice(0,L),oe,ye,...ke.slice(L+1)]),D(L+1),ne(!0),ct("Line split successfully","success")},qt=()=>{const L=j[0];if(!L){V([{start:0,startTimeSec:0,end:3,endTimeSec:3,text:""}]),ne(!0);return}const oe=(L.start||L.startTimeSec||0)*.8,ye={start:0,startTimeSec:0,end:oe,endTimeSec:oe,text:""};V(ke=>[ye,...ke]),ne(!0)},nn=()=>{const L=j[0];return L?(L.start||L.startTimeSec||0)>=.6:!0},Ls=L=>{const G=j[L],re=j[L+1];if(!re)return!0;const oe=G.end||G.endTimeSec||0;return(re.start||re.startTimeSec||0)-oe>=.6},ln=L=>L<0||L>=j.length?!1:Ey(j[L]),tt=(L,G)=>{P(re=>({...re,[L]:G}))},ea=async()=>{if(!(!x||!p))try{k(!0);const L=[...j].sort((oe,ye)=>{const ke=oe.start||oe.startTimeSec||0,De=ye.start||ye.startTimeSec||0;return ke-De}),G={path:x.path,format:p.format,metadata:{...A,rejections:B,suggestions:ee},...(p.format==="kai"||p.format==="m4a-stems")&&{lyrics:L}},re=await i.saveSongEdits(G);re.success?(console.log("✅ Song saved successfully"),ct("Song saved successfully","success"),ne(!1),O(JSON.parse(JSON.stringify(j)))):(console.error("❌ Save failed:",re.error),ct(`Save failed: ${re.error}`,"error"))}catch(L){console.error("Failed to save song:",L),ct(`Save failed: ${L.message}`,"error")}finally{k(!1)}},xt=()=>{m(null),v(null),P({title:"",artist:"",album:"",year:"",genre:"",key:""}),V([])},zs=async()=>{if(x)try{await i.addToQueue(x),console.log("✅ Added to queue:",x.path),ct(`Added "${A.title||x.title}" to queue`,"success")}catch(L){console.error("Failed to add to queue:",L),ct("Failed to add to queue","error")}},Ds=()=>{if(!j||j.length===0)return;const L=j.map(ye=>ye.text||"").join(`
51
+ `),G=new Blob([L],{type:"text/plain"}),re=URL.createObjectURL(G),oe=document.createElement("a");oe.href=re,oe.download=`${A.title||x?.title||"lyrics"}.txt`,document.body.appendChild(oe),oe.click(),document.body.removeChild(oe),URL.revokeObjectURL(re),ct("Lyrics exported successfully","success")},Os=()=>{confirm("Reset all changes to original lyrics?")&&(V(JSON.parse(JSON.stringify(_))),ne(!1),ct("Reset to original lyrics","success"))},Cn=L=>{const G=B[L];if(!G)return;let re=-1;for(let oe=0;oe<j.length;oe++){const ye=j[oe],ke=ye.start||ye.startTimeSec||0,De=ye.end||ye.endTimeSec||0;if(G.start_time!==void 0&&G.end_time!==void 0){if(Math.abs(ke-G.start_time)<.1&&Math.abs(De-G.end_time)<.1){re=oe;break}}else if(G.old_text&&ye.text===G.old_text){re=oe;break}}if(re===-1){const oe=G.line_num-1;oe>=0&&oe<j.length&&(re=oe)}if(re>=0&&re<j.length){const oe={...j[re],text:G.new_text};V(ye=>ye.map((ke,De)=>De===re?oe:ke)),K(ye=>ye.filter((ke,De)=>De!==L)),ne(!0),ct("Accepted proposed text","success")}else ct("Could not find matching lyric line","error")},Tn=L=>{K(G=>G.filter((re,oe)=>oe!==L)),ne(!0)},Mn=L=>{const G=ee[L];if(!G)return;let re=j.length;for(let ye=0;ye<j.length;ye++){const ke=j[ye],De=ke.start||ke.startTimeSec||0;if(G.start_time<De){re=ye;break}}const oe={start:G.start_time,startTimeSec:G.start_time,end:G.end_time,endTimeSec:G.end_time,text:G.suggested_text};V(ye=>[...ye.slice(0,re),oe,...ye.slice(re)]),Z(ye=>ye.filter((ke,De)=>De!==L)),ne(!0),ct("Added suggested line","success")},ua=L=>{Z(G=>G.filter((re,oe)=>oe!==L)),ne(!0)};return s.jsxs("div",{className:"flex flex-col h-full overflow-hidden bg-gray-50 dark:bg-gray-900 p-4",children:[x?s.jsxs("div",{className:"flex flex-col gap-3 h-full overflow-hidden",children:[s.jsxs("div",{className:"flex items-center justify-between gap-4 flex-shrink-0",children:[s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("h2",{className:"text-lg font-semibold m-0 text-gray-900 dark:text-white whitespace-nowrap overflow-hidden text-ellipsis",children:x.title}),s.jsxs("p",{className:"text-xs text-gray-600 dark:text-gray-400 m-0 mt-0.5",children:[x.artist," • ",p.format?.toUpperCase()]})]}),s.jsxs("div",{className:"flex gap-2 flex-shrink-0",children:[s.jsxs("button",{onClick:zs,className:"flex items-center gap-1.5 px-3 py-2 bg-gray-100 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded text-gray-900 dark:text-white cursor-pointer text-sm transition-colors hover:bg-gray-200 dark:hover:bg-gray-600",children:[s.jsx("span",{className:"material-icons text-lg",children:"playlist_add"}),"Add to Queue"]}),s.jsxs("button",{onClick:xt,className:"flex items-center gap-1.5 px-3 py-2 bg-gray-100 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded text-gray-900 dark:text-white cursor-pointer text-sm transition-colors hover:bg-gray-200 dark:hover:bg-gray-600",children:[s.jsx("span",{className:"material-icons text-lg",children:"close"}),"Close"]}),s.jsxs("button",{onClick:ea,className:`flex items-center gap-1.5 px-3 py-2 rounded text-white cursor-pointer text-sm transition-colors ${se?"bg-blue-600 border-blue-600 hover:bg-blue-700":"bg-gray-100 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 text-gray-900 dark:text-white hover:bg-gray-200 dark:hover:bg-gray-600"} disabled:opacity-50 disabled:cursor-not-allowed`,disabled:b,children:[s.jsx("span",{className:"material-icons text-lg",children:"save"}),b?"Saving...":se?"Save*":"Save"]})]})]}),(p.format==="kai"||p.format==="m4a-stems")&&s.jsxs("div",{className:"flex gap-1 border-b-2 border-gray-200 dark:border-gray-700 pb-0",children:[s.jsx("button",{className:`px-6 py-3 bg-transparent border-none border-b-[3px] font-semibold text-[15px] cursor-pointer transition-all -mb-0.5 ${T==="lyrics"?"text-blue-600 border-b-blue-600":"text-gray-600 dark:text-gray-400 border-b-transparent hover:text-gray-900 dark:hover:text-white hover:bg-gray-100 dark:hover:bg-gray-700"}`,onClick:()=>S("lyrics"),children:"Lyrics"}),s.jsx("button",{className:`px-6 py-3 bg-transparent border-none border-b-[3px] font-semibold text-[15px] cursor-pointer transition-all -mb-0.5 ${T==="metadata"?"text-blue-600 border-b-blue-600":"text-gray-600 dark:text-gray-400 border-b-transparent hover:text-gray-900 dark:hover:text-white hover:bg-gray-100 dark:hover:bg-gray-700"}`,onClick:()=>S("metadata"),children:"Metadata"})]}),(T==="metadata"||p.format!=="kai"&&p.format!=="m4a-stems")&&s.jsxs("div",{className:"flex flex-col gap-6 overflow-y-auto flex-1 pb-6",children:[s.jsx("h3",{className:"text-lg font-semibold m-0 text-gray-900 dark:text-white",children:"Metadata"}),s.jsxs("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(250px,1fr))] gap-5",children:[s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsx("label",{className:"text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wider",children:"Title"}),s.jsx("input",{type:"text",className:"px-4 py-3 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-md text-gray-900 dark:text-white text-[15px] transition-colors focus:outline-none focus:border-blue-600",value:A.title,onChange:L=>tt("title",L.target.value)})]}),s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsx("label",{className:"text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wider",children:"Artist"}),s.jsx("input",{type:"text",className:"px-4 py-3 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-md text-gray-900 dark:text-white text-[15px] transition-colors focus:outline-none focus:border-blue-600",value:A.artist,onChange:L=>tt("artist",L.target.value)})]}),s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsx("label",{className:"text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wider",children:"Album"}),s.jsx("input",{type:"text",className:"px-4 py-3 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-md text-gray-900 dark:text-white text-[15px] transition-colors focus:outline-none focus:border-blue-600",value:A.album,onChange:L=>tt("album",L.target.value)})]}),s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsx("label",{className:"text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wider",children:"Year"}),s.jsx("input",{type:"text",className:"px-4 py-3 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-md text-gray-900 dark:text-white text-[15px] transition-colors focus:outline-none focus:border-blue-600",value:A.year,onChange:L=>tt("year",L.target.value)})]}),s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsx("label",{className:"text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wider",children:"Genre"}),s.jsx("input",{type:"text",className:"px-4 py-3 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-md text-gray-900 dark:text-white text-[15px] transition-colors focus:outline-none focus:border-blue-600",value:A.genre,onChange:L=>tt("genre",L.target.value)})]}),s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsx("label",{className:"text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wider",children:"Key"}),s.jsx("input",{type:"text",className:"px-4 py-3 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-md text-gray-900 dark:text-white text-[15px] transition-colors focus:outline-none focus:border-blue-600",value:A.key,onChange:L=>tt("key",L.target.value)})]})]})]}),(p.format==="kai"||p.format==="m4a-stems")&&T==="lyrics"&&s.jsxs(s.Fragment,{children:[s.jsx(my,{lyricsData:j,selectedLineIndex:E,onLineSelect:D,vocalsWaveform:ie,songDuration:z,currentPosition:C,isPlaying:we}),s.jsx(hy,{selectedLine:E!==null?j[E]:null,vocalsWaveform:ie,songDuration:z,currentPosition:C,isPlaying:we}),ce.length>0&&s.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded flex-shrink-0",children:[s.jsxs("button",{onClick:$e,className:"flex items-center gap-1.5 px-3 py-1 bg-blue-600 border-blue-600 rounded text-white cursor-pointer text-xs transition-colors hover:bg-blue-700",children:[s.jsx("span",{className:"material-icons text-base",children:we?"pause":"play_arrow"}),we?"Pause":"Play"]}),s.jsx("div",{className:"flex gap-1.5 flex-wrap flex-1 items-center",children:ce.map((L,G)=>s.jsxs("div",{className:"flex items-center gap-1 px-1.5 py-0.5 bg-gray-100 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded",children:[s.jsx("span",{className:"text-[11px] font-semibold text-gray-900 dark:text-white min-w-[45px]",children:L.name}),s.jsx("button",{onClick:()=>An(G),className:`flex items-center justify-center w-6 h-6 p-0.5 rounded cursor-pointer transition-colors ${L.muted?"bg-red-600 text-white hover:bg-red-700":"bg-green-600 text-white hover:bg-green-700"}`,title:L.muted?"Unmute":"Mute",children:s.jsx("span",{className:"material-icons text-sm",children:L.muted?"volume_off":"volume_up"})})]},G))}),s.jsxs("button",{onClick:Ds,className:"flex items-center gap-1.5 px-3 py-1 bg-gray-100 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded text-gray-900 dark:text-white cursor-pointer text-xs transition-colors hover:bg-gray-200 dark:hover:bg-gray-600 disabled:opacity-50 disabled:cursor-not-allowed",disabled:!j||j.length===0,title:"Export lyrics as text file",children:[s.jsx("span",{className:"material-icons text-base",children:"download"}),"Export"]}),s.jsxs("button",{onClick:Os,className:"flex items-center gap-1.5 px-3 py-1 bg-gray-100 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded text-gray-900 dark:text-white cursor-pointer text-xs transition-colors hover:bg-gray-200 dark:hover:bg-gray-600 disabled:opacity-50 disabled:cursor-not-allowed",disabled:!se,title:"Reset to original lyrics",children:[s.jsx("span",{className:"material-icons text-base",children:"restore"}),"Reset"]}),s.jsxs("button",{onClick:qt,className:"flex items-center gap-1.5 px-3 py-1 bg-gray-100 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded text-gray-900 dark:text-white cursor-pointer text-xs transition-colors hover:bg-gray-200 dark:hover:bg-gray-600 disabled:opacity-50 disabled:cursor-not-allowed",disabled:!nn(),title:nn()?"Add line at beginning":"Not enough space (need 0.6s gap)",children:[s.jsx("span",{className:"material-icons text-base",children:"add"}),"Add First Line"]})]}),s.jsxs("div",{className:"flex-1 overflow-y-auto overflow-x-hidden min-h-0",children:[s.jsx("div",{className:"flex flex-col gap-0 p-3 overflow-y-auto flex-1",children:j&&j.length>0?j.map((L,G)=>s.jsx(Sy,{line:L,index:G,isSelected:E===G,onSelect:D,onUpdate:Be,onDelete:st,onAddAfter:Ke,onSplit:Jt,onPlaySection:sa,onAdjustStartTime:re=>{D(G);const oe=L.start||L.startTimeSec||0,ye=Math.max(0,oe+re);Be(G,{...L,start:ye,startTimeSec:ye})},onAdjustEndTime:re=>{D(G);const oe=L.end||L.endTimeSec||0,ye=Math.max(0,oe+re);Be(G,{...L,end:ye,endTimeSec:ye})},canAddAfter:Ls(G),canSplit:ln(G),hasOverlap:Ve(G)},`lyric-${G}`)):s.jsx("div",{className:"text-center p-10 text-gray-500 dark:text-gray-400 text-base",children:"No lyrics available. Load a KAI file with lyrics to edit."})}),(B.length>0||ee.length>0)&&s.jsxs("div",{className:"mb-6 p-4 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-md",children:[s.jsx("h3",{className:"text-base font-semibold m-0 mb-4 text-gray-900 dark:text-white",children:"AI Corrections & Suggestions"}),B.map((L,G)=>s.jsx(jy,{rejection:L,rejectionIndex:G,onAccept:Cn,onDelete:Tn},`rejection-${G}`)),ee.map((L,G)=>s.jsx(Ny,{suggestion:L,suggestionIndex:G,onAccept:Mn,onDelete:ua},`suggestion-${G}`))]})]})]})]}):s.jsxs("div",{className:"flex flex-col gap-6 max-w-[800px] mx-auto w-full",children:[s.jsxs("div",{className:"relative flex items-center",children:[s.jsx("input",{type:"text",className:"w-full px-5 py-4 bg-white dark:bg-gray-800 border-2 border-gray-300 dark:border-gray-600 rounded-lg text-gray-900 dark:text-white text-base transition-colors focus:outline-none focus:border-blue-600",placeholder:"Search by title, artist, or album...",value:u,onChange:L=>le(L.target.value)}),g&&s.jsx("span",{className:"absolute right-5 text-xl animate-spin",children:"🔍"}),c.length>0&&s.jsx("div",{className:"absolute top-full left-0 right-0 max-h-[400px] overflow-y-auto bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-md shadow-lg z-[100] mt-1",children:c.map((L,G)=>s.jsxs("div",{className:"flex items-center gap-3 px-4 py-3 cursor-pointer transition-colors border-b border-gray-200 dark:border-gray-700 last:border-b-0 hover:bg-gray-100 dark:hover:bg-gray-700",onClick:()=>be(L),children:[s.jsx("span",{className:"text-xl flex-shrink-0",children:_s(L.format)}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("div",{className:"text-[15px] font-semibold text-gray-900 dark:text-white mb-0.5 whitespace-nowrap overflow-hidden text-ellipsis",children:L.title}),s.jsxs("div",{className:"text-xs text-gray-600 dark:text-gray-400 whitespace-nowrap overflow-hidden text-ellipsis",children:[L.artist," ",L.album&&`• ${L.album}`]})]})]},G))})]}),u&&!g&&c.length===0&&s.jsxs("div",{className:"flex flex-col items-center justify-center p-16 text-center",children:[s.jsx("div",{className:"text-6xl mb-4 opacity-50",children:"🔍"}),s.jsx("div",{className:"text-xl font-semibold text-gray-900 dark:text-white mb-2",children:"No songs found"}),s.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400",children:"Try a different search term"})]}),!u&&s.jsxs("div",{className:"flex flex-col items-center justify-center p-16 text-center",children:[s.jsx("div",{className:"text-6xl mb-4 opacity-50",children:"🎵"}),s.jsx("div",{className:"text-xl font-semibold text-gray-900 dark:text-white mb-2",children:"Search for a song to get started"}),s.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400",children:"You can edit metadata and lyrics for any song in your library"})]})]}),fe&&s.jsx(ky,{message:fe.message,type:fe.type,onClose:()=>xe(null)})]})}function Ty({mixer:i,mixerState:u,onSetMasterGain:f,onToggleMasterMute:c,onGainChange:d,onMuteToggle:g,className:y=""}){const x=u||i||{},m=f||d,p=c||g,v=[{id:"PA",label:"PA (Main)",description:"Music + Mic to audience"},{id:"IEM",label:"IEM (Monitors)",description:"Vocals only (mono)"},{id:"mic",label:"Mic Input",description:"Microphone gain"}],b=(S,A)=>{m&&m(S,parseFloat(A))},k=S=>{p&&p(S)},T=(S,A)=>{A.target.value=0,b(S,0)};return s.jsx("div",{className:`flex gap-4 p-4 ${y}`,children:v.map(S=>{const A=x[S.id]?.gain??0,P=x[S.id]?.muted??!1;return s.jsxs("div",{className:"flex-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg p-4 flex flex-col items-center gap-3","data-bus":S.id,children:[s.jsxs("div",{className:"text-center",children:[s.jsx("div",{className:"font-semibold text-gray-900 dark:text-gray-100",children:S.label}),s.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400",children:S.description})]}),s.jsxs("div",{className:"flex flex-col items-center gap-2 w-full",children:[s.jsx("input",{type:"range",className:"w-full h-2 bg-gray-200 dark:bg-gray-700 rounded-lg appearance-none cursor-pointer accent-blue-600",min:"-60",max:"12",step:"0.5",value:A,onChange:j=>b(S.id,j.target.value),onDoubleClick:j=>T(S.id,j),"data-bus":S.id}),s.jsxs("div",{className:"text-sm font-mono text-gray-700 dark:text-gray-300",children:[A.toFixed(1)," dB"]})]}),s.jsx("button",{className:`px-4 py-2 rounded-lg font-semibold transition ${P?"bg-red-600 hover:bg-red-700 text-white":"bg-gray-200 hover:bg-gray-300 dark:bg-gray-700 dark:hover:bg-gray-600 text-gray-900 dark:text-gray-100"}`,onClick:()=>k(S.id),"data-bus":S.id,children:"MUTE"})]},S.id)})})}function bl({id:i,value:u,onChange:f,options:c=[],placeholder:d="Select...",className:g=""}){const[y,x]=w.useState(!1),[m,p]=w.useState({top:0,left:0,minWidth:0,openUpward:!1}),[v,b]=w.useState(-1),k=w.useRef(null),T=w.useRef(null),S=240,A=c.find(E=>E.value===u),P=A?A.label:d,j=c.findIndex(E=>E.value===u),V=w.useCallback(()=>{if(k.current){const E=k.current.getBoundingClientRect(),z=window.innerHeight-E.bottom,F=E.top,B=Math.min(c.length*40,S),K=z<B&&F>z;p({top:K?E.top-2:E.bottom+2,left:E.left,minWidth:E.width,openUpward:K})}},[c.length]);w.useEffect(()=>{y&&(V(),b(j>=0?j:0))},[y,V,j]),w.useEffect(()=>{if(!y)return;const E=D=>{k.current&&!k.current.contains(D.target)&&T.current&&!T.current.contains(D.target)&&x(!1)};return document.addEventListener("mousedown",E),()=>document.removeEventListener("mousedown",E)},[y]),w.useEffect(()=>{if(!y)return;const E=D=>{T.current&&T.current.contains(D.target)||x(!1)};return window.addEventListener("scroll",E,!0),()=>window.removeEventListener("scroll",E,!0)},[y]);const _=w.useCallback(E=>{f?.({target:{value:E}}),x(!1),k.current?.focus()},[f]),O=w.useCallback(E=>{switch(E.key){case"Enter":case" ":E.preventDefault(),y&&v>=0?_(c[v].value):x(!y);break;case"Escape":E.preventDefault(),x(!1),k.current?.focus();break;case"ArrowDown":E.preventDefault(),y?b(D=>Math.min(D+1,c.length-1)):x(!0);break;case"ArrowUp":E.preventDefault(),y&&b(D=>Math.max(D-1,0));break;case"Home":E.preventDefault(),y&&b(0);break;case"End":E.preventDefault(),y&&b(c.length-1);break;case"Tab":y&&x(!1);break;default:if(E.key.length===1&&y){const D=E.key.toLowerCase(),z=c.findIndex(F=>F.label.toLowerCase().startsWith(D));z>=0&&b(z)}}},[y,v,c,_]);return w.useEffect(()=>{y&&T.current&&v>=0&&T.current.children[v]?.scrollIntoView({block:"nearest"})},[y,v]),s.jsxs(s.Fragment,{children:[s.jsxs("button",{ref:k,id:i,type:"button",className:`w-full px-3 py-2 bg-white dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded text-gray-900 dark:text-gray-100 cursor-pointer focus:outline-none focus:ring-2 focus:ring-blue-500 flex items-center justify-between text-left ${g}`,onClick:()=>x(!y),onKeyDown:O,"aria-haspopup":"listbox","aria-expanded":y,"aria-labelledby":i,children:[s.jsx("span",{className:"truncate",children:P}),s.jsx("svg",{className:`w-4 h-4 ml-2 flex-shrink-0 transition-transform ${y?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),y&&Rs.createPortal(s.jsx("div",{ref:T,className:"fixed z-[9999] bg-white dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded shadow-lg max-h-60 overflow-y-auto",style:{...m.openUpward?{bottom:window.innerHeight-m.top,left:m.left}:{top:m.top,left:m.left},minWidth:m.minWidth},role:"listbox",onKeyDown:O,children:c.map((E,D)=>s.jsx("div",{className:`px-3 py-2 cursor-pointer transition-colors whitespace-nowrap ${D===v?"bg-blue-500 text-white":E.value===u?"bg-blue-100 dark:bg-blue-900 text-blue-900 dark:text-blue-100":"text-gray-900 dark:text-gray-100 hover:bg-gray-100 dark:hover:bg-gray-600"}`,onClick:()=>_(E.value),role:"option","aria-selected":E.value===u,children:E.label},E.value))}),document.body)]})}function My({devices:i={pa:[],iem:[],input:[]},selected:u={pa:"",iem:"",input:""},settings:f={iemMonoVocals:!0,micToSpeakers:!0,enableMic:!0},onDeviceChange:c,onSettingChange:d,onRefreshDevices:g}){const y=[{value:"",label:"Default"},...(i.pa||[]).map(p=>({value:p.deviceId,label:p.label||p.deviceId}))],x=[{value:"",label:"Default"},...(i.iem||[]).map(p=>({value:p.deviceId,label:p.label||p.deviceId}))],m=[{value:"",label:"Default"},...(i.input||[]).map(p=>({value:p.deviceId,label:p.label||p.deviceId}))];return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"my-5 p-5 bg-gray-50 dark:bg-gray-800 rounded-lg",children:[s.jsxs("h3",{className:"flex items-center justify-between m-0 mb-4 text-lg text-gray-900 dark:text-gray-100",children:["Audio Devices",s.jsx("button",{onClick:g,className:"px-3 py-1 bg-blue-600 hover:bg-blue-700 text-white rounded transition-colors text-base",title:"Refresh device list",children:"↻"})]}),s.jsxs("div",{className:"my-3",children:[s.jsx("label",{className:"block mb-2 text-gray-600 dark:text-gray-400 text-sm",children:"PA Output:"}),s.jsx(bl,{id:"paDeviceSelect",value:u.pa||"",onChange:p=>c&&c("pa",p.target.value),options:y,placeholder:"Default"})]}),s.jsxs("div",{className:"my-3",children:[s.jsx("label",{className:"block mb-2 text-gray-600 dark:text-gray-400 text-sm",children:"IEM Output:"}),s.jsx(bl,{id:"iemDeviceSelect",value:u.iem||"",onChange:p=>c&&c("iem",p.target.value),options:x,placeholder:"Default"})]}),s.jsx("div",{className:"my-3",children:s.jsxs("label",{className:"flex items-center cursor-pointer select-none text-gray-900 dark:text-gray-100",children:[s.jsx("input",{type:"checkbox",id:"iemMonoVocals",className:"w-4 h-4 mr-2 cursor-pointer",checked:f.iemMonoVocals??!0,onChange:p=>d&&d("iemMonoVocals",p.target.checked)}),"IEM Vocals in Mono (for single earpiece)"]})})]}),s.jsxs("div",{className:"my-5 p-5 bg-gray-50 dark:bg-gray-800 rounded-lg",children:[s.jsx("h3",{className:"m-0 mb-4 text-lg text-gray-900 dark:text-gray-100",children:"Mic Options"}),s.jsxs("div",{className:"my-3",children:[s.jsx("label",{className:"block mb-2 text-gray-600 dark:text-gray-400 text-sm",children:"Mic Input:"}),s.jsx(bl,{id:"inputDeviceSelect",value:u.input||"",onChange:p=>c&&c("input",p.target.value),options:m,placeholder:"Default"})]}),s.jsxs("div",{className:"flex flex-col gap-3",children:[s.jsxs("label",{className:"flex items-center cursor-pointer text-gray-900 dark:text-gray-100 select-none",children:[s.jsx("input",{type:"checkbox",id:"micToSpeakers",className:"w-4 h-4 mr-2 cursor-pointer",checked:f.micToSpeakers??!0,onChange:p=>d&&d("micToSpeakers",p.target.checked)}),s.jsx("span",{children:"Mic to Speakers"})]}),s.jsxs("label",{className:"flex items-center cursor-pointer text-gray-900 dark:text-gray-100 select-none",children:[s.jsx("input",{type:"checkbox",id:"enableMic",className:"w-4 h-4 mr-2 cursor-pointer",checked:f.enableMic??!0,onChange:p=>d&&d("enableMic",p.target.checked)}),s.jsx("span",{children:"Enable Mic"})]})]})]})]})}function _y({bridge:i}){const[u,f]=w.useState({PA:{gain:0,muted:!1},IEM:{gain:0,muted:!1},mic:{gain:0,muted:!1}}),[c,d]=w.useState({pa:[],iem:[],input:[]}),[g,y]=w.useState({pa:"",iem:"",input:""}),[x,m]=w.useState({iemMonoVocals:!0,micToSpeakers:!0,enableMic:!0});w.useEffect(()=>{if(!i)return;const S=i.onMixerChanged?.(A=>{const P={PA:A.PA||{gain:0,muted:!1},IEM:A.IEM||{gain:0,muted:!1},mic:A.mic||{gain:0,muted:!1}};f(P)});return i.getMixerState?.().then(A=>{const P={PA:A.PA||{gain:0,muted:!1},IEM:A.IEM||{gain:0,muted:!1},mic:A.mic||{gain:0,muted:!1}};f(P)}).catch(console.error),()=>S&&S()},[i]),w.useEffect(()=>{if(!i)return;(async()=>{try{const A=await i.getAudioSettings?.();A&&m(A);const P=await i.getAudioDevices?.(),j=P.filter(E=>E.maxOutputChannels>0),V=P.filter(E=>E.maxInputChannels>0);d({pa:j,iem:j,input:V});const _=await i.getDevicePreferences?.(),O={};for(const[E,D]of Object.entries(_||{})){if(!D)continue;const z=E==="input"?V:j;let F=z.find(B=>B.deviceId===D.id);if(!F&&D.name&&(F=z.find(B=>B.label===D.name||B.name===D.name)),F){const B=E.toLowerCase();O[B]=F.deviceId,await i.setAudioDevice?.(E,F.deviceId)}}Object.keys(O).length>0&&y(E=>({...E,...O}))}catch(A){console.error("Failed to load devices and preferences:",A)}})()},[i]);const p=(S,A)=>{i?.setMasterGain?.(S,A)},v=S=>{i?.toggleMasterMute?.(S)},b=async(S,A)=>{const P=S==="pa"?"PA":S==="iem"?"IEM":S;try{await i?.setAudioDevice?.(P,A),y(V=>({...V,[S]:A}));const j=await i.getDevicePreferences?.()||{};if(!A||A==="")j[P]={id:"",name:"Default",deviceKind:"default"},console.log(`💾 Saving default device preference for ${P}`);else{const _=(S==="input"?c.input:S==="iem"?c.iem:c.pa).find(O=>O.deviceId===A);if(_)j[P]={id:A,name:_.label||_.name,deviceKind:_.deviceKind},console.log(`💾 Saving device preference for ${P}:`,j[P]);else{console.warn(`⚠️ Device not found in list for ${S}:`,A);return}}await i.saveDevicePreferences?.(j),console.log("✅ Device preferences saved successfully")}catch(j){console.error("Failed to change device:",j)}},k=async(S,A)=>{m(P=>({...P,[S]:A}));try{await i.saveAudioSettings?.({[S]:A})}catch(P){console.error("Failed to save audio setting:",P)}},T=()=>{i?.getAudioDevices?.().then(S=>{const A=S.filter(j=>j.maxOutputChannels>0),P=S.filter(j=>j.maxInputChannels>0);d({pa:A,iem:A,input:P})}).catch(console.error)};return s.jsxs("div",{className:"p-5 h-full overflow-y-auto",children:[s.jsxs("div",{className:"mb-8",children:[s.jsx("h2",{className:"m-0 mb-5 text-2xl text-gray-900 dark:text-gray-100",children:"Audio Mixer"}),s.jsx(Ty,{mixerState:u,onSetMasterGain:p,onToggleMasterMute:v})]}),s.jsx(My,{devices:c,selected:g,settings:x,onDeviceChange:b,onSettingChange:k,onRefreshDevices:T})]})}function Ry({text:i,targetRect:u,visible:f}){if(!f||!u)return null;const c={position:"fixed",left:u.left+u.width/2,top:u.top-4,transform:"translate(-50%, -100%)",zIndex:1e4};return Rs.createPortal(s.jsxs("div",{style:c,className:"px-2 py-1 bg-gray-900 dark:bg-gray-700 text-white text-xs rounded shadow-lg whitespace-nowrap pointer-events-none",children:[i,s.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 top-full w-0 h-0 border-l-4 border-r-4 border-t-4 border-l-transparent border-r-transparent border-t-gray-900 dark:border-t-gray-700"})]}),document.body)}function tn({icon:i,tooltip:u,onClick:f,className:c,iconSize:d="text-base"}){const[g,y]=w.useState(!1),[x,m]=w.useState(null),p=w.useRef(null),v=w.useRef(null),b=w.useCallback(()=>{v.current=setTimeout(()=>{p.current&&(m(p.current.getBoundingClientRect()),y(!0))},400)},[]),k=w.useCallback(()=>{v.current&&(clearTimeout(v.current),v.current=null),y(!1)},[]);return s.jsxs(s.Fragment,{children:[s.jsx("button",{ref:p,onClick:f,onMouseEnter:b,onMouseLeave:k,className:c,children:s.jsx("span",{className:`material-icons ${d}`,children:i})}),s.jsx(Ry,{text:u,targetRect:x,visible:g})]})}function Ly({queue:i=[],currentIndex:u=-1,currentSongId:f=null,onPlayFromQueue:c,onRemoveFromQueue:d,onLoad:g,onRemove:y,onClearQueue:x,onClear:m,onShuffleQueue:p,onReorderQueue:v,onQuickSearch:b,className:k=""}){const[T,S]=w.useState(null),[A,P]=w.useState(null),j=c||g,V=d||y,_=x||m,O=(B,K)=>{v&&(S(K),B.dataTransfer.effectAllowed="move",B.dataTransfer.setData("text/html",B.currentTarget))},E=(B,K)=>{!v||T===null||(B.preventDefault(),B.dataTransfer.dropEffect="move",P(K))},D=()=>{P(null)},z=(B,K)=>{if(!(!v||T===null)){if(B.preventDefault(),T!==K){const ee=i[T];let Z=K;T<K&&(Z=K-1),v(ee.id,Z)}S(null),P(null)}},F=()=>{S(null),P(null)};return i.length===0?s.jsxs("div",{className:`flex flex-col gap-1 flex-1 min-h-0 ${k}`,children:[b&&s.jsxs("div",{className:"relative mb-2",children:[s.jsx("input",{type:"text",id:"quickLibrarySearch",className:"w-full px-3 py-2 bg-gray-100 dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded text-gray-900 dark:text-white text-sm focus:outline-none focus:border-blue-500 dark:focus:border-blue-400",placeholder:"Search...",onInput:B=>b(B.target.value)}),s.jsx("div",{className:"absolute top-full left-0 right-0 mt-1 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded shadow-lg z-50 hidden",id:"quickSearchResults",children:s.jsx("div",{className:"p-4 text-center text-sm text-gray-500 dark:text-gray-400",children:"Type to search your library"})})]}),s.jsxs("div",{className:"flex justify-between items-center py-1",children:[s.jsx("h4",{className:"m-0 text-base font-semibold text-gray-900 dark:text-white",children:"Queue"}),s.jsxs("div",{className:"flex gap-1",children:[_&&s.jsx(tn,{icon:"delete",tooltip:"Clear Queue",onClick:_,iconSize:"text-lg",className:"p-1.5 px-2 bg-gray-200 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded cursor-pointer flex items-center justify-center transition-all text-gray-700 dark:text-gray-200 hover:bg-gray-300 dark:hover:bg-gray-600"}),p&&s.jsx(tn,{icon:"shuffle",tooltip:"Shuffle",onClick:p,iconSize:"text-lg",className:"p-1.5 px-2 bg-gray-200 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded cursor-pointer flex items-center justify-center transition-all text-gray-700 dark:text-gray-200 hover:bg-gray-300 dark:hover:bg-gray-600"})]})]}),s.jsx("div",{className:"flex-1 overflow-y-auto flex flex-col gap-1",children:s.jsxs("div",{className:"flex flex-col items-center justify-center p-8 text-gray-400 dark:text-gray-500",children:[s.jsx("span",{className:"material-icons text-5xl mb-2 opacity-50",children:"queue_music"}),s.jsx("div",{className:"text-sm",children:"Queue is empty"})]})})]}):s.jsxs("div",{className:`flex flex-col gap-1 flex-1 min-h-0 ${k}`,children:[b&&s.jsxs("div",{className:"relative mb-2",children:[s.jsx("input",{type:"text",id:"quickLibrarySearch",className:"w-full px-3 py-2 bg-gray-100 dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded text-gray-900 dark:text-white text-sm focus:outline-none focus:border-blue-500 dark:focus:border-blue-400",placeholder:"Search...",onInput:B=>b(B.target.value)}),s.jsx("div",{className:"absolute top-full left-0 right-0 mt-1 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded shadow-lg z-50 hidden",id:"quickSearchResults",children:s.jsx("div",{className:"p-4 text-center text-sm text-gray-500 dark:text-gray-400",children:"Type to search your library"})})]}),s.jsxs("div",{className:"flex justify-between items-center py-1",children:[s.jsx("h4",{className:"m-0 text-base font-semibold text-gray-900 dark:text-white",children:"Queue"}),s.jsxs("div",{className:"flex gap-1",children:[_&&s.jsx(tn,{icon:"delete",tooltip:"Clear Queue",onClick:_,iconSize:"text-lg",className:"p-1.5 px-2 bg-gray-200 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded cursor-pointer flex items-center justify-center transition-all text-gray-700 dark:text-gray-200 hover:bg-gray-300 dark:hover:bg-gray-600"}),p&&s.jsx(tn,{icon:"shuffle",tooltip:"Shuffle",onClick:p,iconSize:"text-lg",className:"p-1.5 px-2 bg-gray-200 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded cursor-pointer flex items-center justify-center transition-all text-gray-700 dark:text-gray-200 hover:bg-gray-300 dark:hover:bg-gray-600"})]})]}),s.jsx("div",{className:"flex-1 overflow-y-auto flex flex-col gap-1",children:i.map((B,K)=>{let ee=!1;u>=0&&K===u?ee=!0:typeof f=="number"&&(ee=B.id===f);const Z=B.requester?` • Singer: ${B.requester}`:"",se=T===K,ne=A===K,ce=["flex items-center gap-2 px-2 py-1.5 rounded transition-all","bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700","hover:bg-gray-200 dark:hover:bg-gray-750"];return ee&&ce.push("bg-green-100 dark:bg-green-900/20 border-green-500 dark:border-green-600"),se&&ce.push("opacity-50 cursor-grabbing"),ne&&ce.push("border-t-2 border-t-cyan-500"),v&&ce.push("cursor-grab"),s.jsxs("div",{className:ce.join(" "),"data-item-id":B.id,draggable:!!v,onDragStart:H=>O(H,K),onDragOver:H=>E(H,K),onDragLeave:D,onDrop:H=>z(H,K),onDragEnd:F,children:[s.jsx("div",{className:"flex items-center justify-center w-8 h-8 bg-gray-200 dark:bg-gray-700 rounded text-xs font-semibold text-gray-600 dark:text-gray-400 flex-shrink-0",children:K+1}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("div",{className:"font-medium text-gray-900 dark:text-white whitespace-nowrap overflow-hidden text-ellipsis mb-0.5 text-sm",title:B.title,children:B.title}),s.jsxs("div",{className:"text-xs text-gray-500 dark:text-gray-400 whitespace-nowrap overflow-hidden text-ellipsis",title:`${B.artist}${Z}`,children:[B.artist,Z]})]}),s.jsxs("div",{className:"flex gap-1 flex-shrink-0",children:[v&&i.length>1&&s.jsxs(s.Fragment,{children:[K>0&&s.jsx(tn,{icon:"arrow_upward",tooltip:"Move Up",onClick:()=>v(B.id,K-1),className:"p-1 bg-transparent border border-gray-300 dark:border-gray-600 rounded cursor-pointer flex items-center justify-center transition-all text-gray-700 dark:text-gray-200 hover:bg-gray-300 dark:hover:bg-gray-600"}),K<i.length-1&&s.jsx(tn,{icon:"arrow_downward",tooltip:"Move Down",onClick:()=>v(B.id,K+1),className:"p-1 bg-transparent border border-gray-300 dark:border-gray-600 rounded cursor-pointer flex items-center justify-center transition-all text-gray-700 dark:text-gray-200 hover:bg-gray-300 dark:hover:bg-gray-600"})]}),j&&s.jsx(tn,{icon:"queue_play_next",tooltip:"Load Song",onClick:()=>j(B.id||B.path),className:"p-1 px-2 bg-transparent border border-gray-300 dark:border-gray-600 rounded cursor-pointer flex items-center justify-center transition-all text-gray-700 dark:text-gray-200 hover:bg-gray-300 dark:hover:bg-gray-600"}),V&&s.jsx(tn,{icon:"close",tooltip:"Remove",onClick:()=>V(B.id),className:"p-1 px-2 bg-transparent border border-gray-300 dark:border-gray-600 rounded cursor-pointer flex items-center justify-center transition-all text-gray-700 dark:text-gray-200 hover:bg-gray-300 dark:hover:bg-gray-600"})]})]},B.id)})})]})}function zy({bridge:i,requester:u="KJ"}){const[f,c]=w.useState([]),[d,g]=w.useState(!1),[y,x]=w.useState(""),m=w.useRef(null),p=w.useRef(null),v=async k=>{if(x(k),!k.trim()){g(!1),c([]);return}try{const S=(await i.searchSongs(k)).songs||[];c(S.slice(0,8)),g(!0)}catch(T){console.error("Quick search error:",T),c([]),g(!0)}},b=async k=>{const T={path:k.path,title:k.title||k.name.replace(".kai",""),artist:k.artist||"Unknown Artist",duration:k.duration,requester:u,addedVia:u==="Web Admin"?"web":"ui"};await i.addToQueue(T),x(""),g(!1),c([])};return w.useEffect(()=>{const k=T=>{p.current&&!p.current.contains(T.target)&&m.current&&!m.current.contains(T.target)&&g(!1)};return document.addEventListener("mousedown",k),()=>document.removeEventListener("mousedown",k)},[]),s.jsxs("div",{className:"relative p-2",children:[s.jsx("input",{ref:m,type:"text",className:"w-full px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 placeholder-gray-500 dark:placeholder-gray-400 focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:"Quick search library...",value:y,onChange:k=>v(k.target.value),onFocus:()=>y&&g(!0)}),d&&s.jsx("div",{ref:p,className:"absolute left-2 right-2 mt-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg max-h-80 overflow-y-auto z-50",children:f.length===0?s.jsx("div",{className:"p-4 text-center text-gray-500 dark:text-gray-400",children:y?"No matches found":"Type to search your library"}):f.map(k=>s.jsxs("div",{className:"flex items-center justify-between gap-3 p-3 hover:bg-gray-100 dark:hover:bg-gray-700 border-b border-gray-200 dark:border-gray-700 last:border-b-0",children:[s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsxs("div",{className:"flex items-center gap-2 text-gray-900 dark:text-gray-100 font-medium truncate",children:[s.jsx("span",{className:"text-lg",children:_s(k.format)}),k.title]}),s.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400 truncate",children:k.artist})]}),s.jsx("button",{className:"p-2 hover:bg-gray-200 dark:hover:bg-gray-600 rounded-lg transition flex-shrink-0",onClick:()=>b(k),title:"Add to Queue",children:s.jsx("span",{className:"material-icons text-gray-700 dark:text-gray-300",children:"playlist_add"})})]},k.path))})]})}function Dy({bridge:i}){const[u,f]=w.useState([]),[c,d]=w.useState(-1);w.useEffect(()=>{if(!i)return;const v=i.onQueueChanged?.(b=>{if(f(b.queue||[]),b.currentSong&&b.currentSong.queueItemId){const T=(b.queue||[]).findIndex(S=>S.id===b.currentSong.queueItemId);d(T)}else d(-1)});return i.getQueue?.().then(b=>{if(f(b.queue||[]),b.currentSong&&b.currentSong.queueItemId){const T=(b.queue||[]).findIndex(S=>S.id===b.currentSong.queueItemId);d(T)}else d(-1)}).catch(console.error),()=>v&&v()},[i]),w.useEffect(()=>{if(!i)return;const v=i.onCurrentSongChanged?.(b=>{if(b&&b.queueItemId){console.log("🎵 Matching by queueItemId:",b.queueItemId,"in queue:",u.map(T=>T.id));const k=u.findIndex(T=>T.id===b.queueItemId);console.log(" → Found at index:",k),d(k)}else console.log("🎵 No queueItemId, setting currentIndex to -1"),d(-1)});return()=>v&&v()},[i,u]);const g=async v=>{await i.playFromQueue(v)},y=async v=>{await i.removeFromQueue(v)},x=async()=>{u.length>0&&confirm("Are you sure you want to clear the queue?")&&await i.clearQueue()},m=()=>{console.warn("Shuffle not implemented in bridge yet")},p=async(v,b)=>{await i.reorderQueue(v,b)};return s.jsxs("div",{className:"flex flex-col flex-1 gap-2 p-2 box-border min-h-0 overflow-hidden",children:[s.jsx(zy,{bridge:i,requester:"KJ"}),s.jsx(Ly,{queue:u,currentIndex:c,onPlayFromQueue:g,onRemoveFromQueue:y,onClearQueue:x,onShuffleQueue:m,onReorderQueue:p})]})}function Oy({className:i=""}){const[u,f]=w.useState("dark");w.useEffect(()=>{const x=localStorage.getItem("theme")||"dark";f(x),c(x);const m=window.matchMedia("(prefers-color-scheme: dark)"),p=()=>{u==="system"&&c("system")};return m.addEventListener("change",p),()=>m.removeEventListener("change",p)},[u]);const c=x=>{x==="dark"?document.documentElement.classList.add("dark"):x==="light"?document.documentElement.classList.remove("dark"):window.matchMedia("(prefers-color-scheme: dark)").matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")},d=()=>{const x=["light","dark","system"],m=x.indexOf(u),p=x[(m+1)%x.length];f(p),localStorage.setItem("theme",p),c(p)},g=()=>u==="light"?s.jsx("svg",{className:"w-5 h-5 text-yellow-500",fill:"currentColor",viewBox:"0 0 20 20",children:s.jsx("path",{fillRule:"evenodd",d:"M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z",clipRule:"evenodd"})}):u==="dark"?s.jsx("svg",{className:"w-5 h-5 text-blue-400",fill:"currentColor",viewBox:"0 0 20 20",children:s.jsx("path",{d:"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"})}):s.jsx("svg",{className:"w-5 h-5 text-gray-500 dark:text-gray-400",fill:"currentColor",viewBox:"0 0 20 20",children:s.jsx("path",{fillRule:"evenodd",d:"M3 5a2 2 0 012-2h10a2 2 0 012 2v8a2 2 0 01-2 2h-2.22l.123.489.804.804A1 1 0 0113 18H7a1 1 0 01-.707-1.707l.804-.804L7.22 15H5a2 2 0 01-2-2V5zm5.771 7H5V5h10v7H8.771z",clipRule:"evenodd"})}),y=()=>u==="light"?"Light mode (click for dark)":u==="dark"?"Dark mode (click for system)":"System mode (click for light)";return s.jsx("button",{onClick:d,className:`p-2 rounded-lg transition-colors hover:bg-gray-200 dark:hover:bg-gray-700 ${i}`,title:y(),"aria-label":y(),children:g()})}function Uy({currentSong:i,onMenuClick:u,sidebarCollapsed:f=!1,className:c=""}){const d=i?.format?_s(i.format):"",g=i?.isLoading?"⏳ Loading...":i?`${i.title||"Unknown"} - ${i.artist||"Unknown Artist"}`:"No song loaded";return s.jsxs("div",{className:`bg-white dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700 px-4 py-2 flex items-center justify-between ${c}`,children:[s.jsx("div",{className:"flex items-center",children:u&&s.jsx("button",{onClick:u,className:"p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition flex items-center justify-center",title:f?"Show sidebar":"Hide sidebar","aria-label":f?"Show sidebar":"Hide sidebar",children:f?s.jsx("svg",{className:"w-5 h-5 text-gray-700 dark:text-gray-300",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16m-7 6h7"})}):s.jsx("svg",{className:"w-5 h-5 text-gray-700 dark:text-gray-300",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})})}),s.jsx("div",{className:"flex-1 flex items-center justify-center",children:s.jsxs("div",{className:"flex items-center gap-2 text-gray-900 dark:text-gray-100",children:[d&&s.jsx("span",{className:"text-xl",children:d}),s.jsx("span",{className:"font-medium truncate max-w-2xl",children:g})]})}),s.jsx("div",{className:"flex items-center gap-2",children:s.jsx(Oy,{})})]})}function qy({bridge:i}){const[u,f]=w.useState(null),[c,d]=w.useState(L0.sidebarCollapsed);w.useEffect(()=>{if(!i)return;const y=i.onCurrentSongChanged?.(x=>{f(x)});return i.getQueue?.().then(x=>{x.currentSong&&f(x.currentSong)}).catch(console.error),i.api?.settings.get("sidebarCollapsed",L0.sidebarCollapsed).then(x=>{d(x);const m=document.getElementById("app-sidebar");m&&x&&m.classList.add("-ml-80","w-0","p-0","border-0")}).catch(console.error),()=>y&&y()},[i]);const g=async()=>{const y=document.getElementById("app-sidebar");if(!y)return;const x=!c;d(x),x?y.classList.add("-ml-80","w-0","p-0","border-0"):y.classList.remove("-ml-80","w-0","p-0","border-0");try{await i.api?.settings.set("sidebarCollapsed",x)}catch(m){console.error("Failed to save sidebar state:",m)}};return s.jsx(Uy,{currentSong:u,onMenuClick:g,sidebarCollapsed:c})}function By({playback:i,currentSong:u,currentEffect:f,isLoading:c,onPlay:d,onPause:g,onRestart:y,onNext:x,onSeek:m,onPreviousEffect:p,onNextEffect:v,onOpenCanvasWindow:b,className:k=""}){const{isPlaying:T,position:S=0,duration:A=0}=i||{},[P,j]=w.useState(S),V=w.useRef(S),_=w.useRef(performance.now()),O=w.useRef(null),E=c!==void 0?c:u?.isLoading||!1;w.useEffect(()=>{V.current=S,_.current=performance.now(),j(S)},[S]),w.useEffect(()=>{if(!T){O.current&&(cancelAnimationFrame(O.current),O.current=null);return}const B=()=>{const ee=(performance.now()-_.current)/1e3,Z=Math.min(V.current+ee,A||1/0);j(Z),O.current=requestAnimationFrame(B)};return O.current=requestAnimationFrame(B),()=>{O.current&&cancelAnimationFrame(O.current)}},[T,A]);const D=B=>B==="No Effect"?B:B.length>28?B.substring(0,28)+"…":B,z=B=>{if(!A||!m)return;const K=B.currentTarget.getBoundingClientRect(),ee=B.clientX-K.left,se=Math.max(0,Math.min(1,ee/K.width))*A;m(se)},F=A>0?P/A*100:0;return s.jsx("div",{className:`bg-white dark:bg-gray-800 border-t border-gray-200 dark:border-gray-700 p-4 ${k}`,children:s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("button",{onClick:y,title:"Restart Track",className:"p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition disabled:opacity-50 flex items-center justify-center",disabled:E,children:s.jsx("span",{className:"material-icons text-gray-700 dark:text-gray-300 text-2xl leading-none",children:"replay"})}),s.jsx("button",{onClick:T?g:d,title:E?"Loading...":T?"Pause":"Play",className:"p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition disabled:opacity-50 flex items-center justify-center",disabled:E,children:E?s.jsx("span",{className:"material-icons text-gray-700 dark:text-gray-300 text-2xl leading-none animate-spin",children:"hourglass_empty"}):s.jsx("span",{className:"material-icons text-blue-600 dark:text-blue-400 text-2xl leading-none",children:T?"pause":"play_arrow"})}),s.jsx("button",{onClick:x,title:"Next Track",className:"p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition disabled:opacity-50 flex items-center justify-center",disabled:E,children:s.jsx("span",{className:"material-icons text-gray-700 dark:text-gray-300 text-2xl leading-none",children:"skip_next"})}),s.jsx("div",{className:"flex-1 mx-4",children:s.jsxs("div",{className:"relative h-2 bg-gray-200 dark:bg-gray-700 rounded-full cursor-pointer",onClick:z,children:[s.jsx("div",{className:"absolute inset-y-0 left-0 bg-blue-600 rounded-full",style:{width:`${F}%`}}),s.jsx("div",{className:"absolute top-1/2 -translate-y-1/2 w-4 h-4 bg-blue-600 rounded-full shadow-lg",style:{left:`calc(${F}% - 8px)`}})]})}),s.jsxs("div",{className:"flex items-center gap-1 text-sm font-mono text-gray-700 dark:text-gray-300 flex-shrink-0",children:[s.jsx("span",{children:Ms(P)}),s.jsx("span",{children:"/"}),s.jsx("span",{children:Ms(A)})]}),s.jsx("div",{className:"w-px h-8 bg-gray-200 dark:bg-gray-700 mx-2"}),p&&s.jsx("button",{onClick:p,title:"Previous Effect",className:"p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition flex items-center justify-center",children:s.jsx("span",{className:"material-icons text-gray-700 dark:text-gray-300 leading-none",children:"chevron_left"})}),s.jsx("span",{className:"px-3 py-1 bg-gray-100 dark:bg-gray-900 text-gray-700 dark:text-gray-300 rounded-lg text-sm font-medium min-w-[120px] text-center",title:f||"No Effect",children:D(f||"No Effect")}),v&&s.jsx("button",{onClick:v,title:"Next Effect",className:"p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition flex items-center justify-center",children:s.jsx("span",{className:"material-icons text-gray-700 dark:text-gray-300 leading-none",children:"chevron_right"})}),b&&s.jsx("button",{onClick:b,className:"p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition flex items-center justify-center",title:"Open Canvas Window",children:s.jsx("span",{className:"material-icons text-gray-700 dark:text-gray-300 leading-none",children:"open_in_new"})})]})})}function Hy(){const{currentSong:i,isPlaying:u}=pg(),{kaiPlayer:f,player:c}=bg();return{togglePlayback:async()=>{!i||!c||!c.currentPlayer||(u?await c.pause():await c.play())},play:async()=>{!c||!c.currentPlayer||u||await c.play()},pause:async()=>{!c||!c.currentPlayer||!u||await c.pause()},seek:async v=>{!c||!c.currentPlayer||(c.currentFormat==="kai"&&f?await f.seek(v):c.currentFormat==="cdg"&&c.cdgPlayer&&await c.cdgPlayer.seek(v),c.currentPlayer.reportStateChange&&c.currentPlayer.reportStateChange())},restart:async()=>{!c||!c.currentPlayer||(c.currentFormat==="kai"&&f?await f.seek(0):c.currentFormat==="cdg"&&c.cdgPlayer&&await c.cdgPlayer.seek(0),u||(await c.currentPlayer.play(),c.isPlaying=!0),c.currentPlayer.reportStateChange&&c.currentPlayer.reportStateChange())},next:async()=>{window.kaiAPI?.player&&await window.kaiAPI.player.next()}}}function Qy({bridge:i}){const{currentSong:u,isPlaying:f,currentPosition:c,duration:d}=pg(),{play:g,pause:y,restart:x,next:m,seek:p}=Hy(),[v,b]=w.useState("");w.useEffect(()=>{if(!window.kaiAPI?.effects)return;const j=(V,_)=>{b(_.current||"")};return window.kaiAPI.effects.onChanged(j),()=>{window.kaiAPI.effects.removeChangedListener(j)}},[]);const k=()=>{window.kaiAPI?.effects&&window.kaiAPI.effects.previous()},T=()=>{window.kaiAPI?.effects&&window.kaiAPI.effects.next()},S=()=>{window.kaiAPI?.window?.openCanvas&&window.kaiAPI.window.openCanvas()},A={isPlaying:f,position:c,duration:d},P=u?.isLoading||!1;return s.jsx(By,{playback:A,currentSong:u,currentEffect:v,isLoading:P,onPlay:g,onPause:y,onRestart:x,onNext:m,onSeek:p,onPreviousEffect:k,onNextEffect:T,onOpenCanvasWindow:S})}function Gy({bridge:i}){const[u,f]=w.useState("Ready"),[c,d]=w.useState(null),[g,y]=w.useState(null),[x,m]=w.useState(0);w.useEffect(()=>{if(!i)return;const v=[];if(i.onLatencyUpdate){const k=i.onLatencyUpdate(T=>{y(T)});k&&v.push(k)}if(i.onXRunUpdate){const k=i.onXRunUpdate(T=>{m(T)});k&&v.push(k)}i.getServerUrl&&i.getServerUrl().then(k=>{d(k||null)}).catch(console.error);const b=setInterval(()=>{i.getServerUrl&&i.getServerUrl().then(k=>{d(k||null)}).catch(console.error)},5e3);return()=>{v.forEach(k=>k&&k()),clearInterval(b)}},[i]);const p=()=>{c&&i?.openExternal&&i.openExternal(c)};return s.jsxs("div",{className:"flex justify-between items-center h-6 bg-white dark:bg-gray-800 border-t border-gray-200 dark:border-gray-700 px-4 text-xs text-gray-600 dark:text-gray-400",children:[s.jsx("div",{className:"flex-1",children:s.jsx("span",{children:u})}),s.jsx("div",{className:"flex-1 text-center",children:c&&s.jsxs("span",{className:"text-blue-500 dark:text-blue-400 cursor-pointer hover:underline",onClick:p,title:"Click to open in browser",children:["🌐 ",c]})}),s.jsxs("div",{className:"flex-1 flex gap-4 justify-end",children:[s.jsxs("span",{children:["Latency: ",g!==null?`${g.toFixed(1)} ms`:"-- ms"]}),s.jsxs("span",{children:["XRuns: ",x]})]})]})}function Yy({requestsCount:i=0}){const[u,f]=w.useState("player"),c=[{id:"player",label:"🎵 Player"},{id:"library",label:"📚 Library"},{id:"mixer",label:"🎛️ Audio"},{id:"effects",label:"✨ Effects"},{id:"requests",label:"🎤 Requests",badge:i},{id:"server",label:"🌐 Server"},{id:"create",label:"⚡ Create"},{id:"editor",label:"✏️ Edit"}],d=g=>{document.querySelectorAll('[id$="-tab"]').forEach(x=>{x.classList.add("hidden"),x.classList.remove("block","flex")});const y=document.getElementById(`${g}-tab`);y&&(y.classList.remove("hidden"),g==="player"?y.classList.add("flex"):y.classList.add("block")),f(g),g==="player"&&window.kaiPlayerApp?.player?.karaokeRenderer?.resizeHandler&&setTimeout(()=>{window.kaiPlayerApp.player.karaokeRenderer.resizeHandler()},10)};return s.jsx("div",{className:"flex border-b border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800",children:c.map(g=>s.jsxs("button",{className:`
52
+ px-6 py-3 font-medium transition-colors relative inline-flex items-center gap-2
53
+ ${u===g.id?"text-blue-600 dark:text-blue-400 border-b-2 border-blue-600 dark:border-blue-400 bg-gray-50 dark:bg-gray-900":"text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700"}
54
+ `,onClick:()=>d(g.id),children:[g.label,g.badge>0&&s.jsx("span",{className:"inline-flex items-center justify-center min-w-[20px] h-5 px-1.5 bg-red-600 text-white rounded-full text-xs font-semibold",children:g.badge})]},g.id))})}var xl={},$c,U0;function Vy(){return U0||(U0=1,$c=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),$c}var Wc={},an={},q0;function jn(){if(q0)return an;q0=1;let i;const u=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return an.getSymbolSize=function(c){if(!c)throw new Error('"version" cannot be null or undefined');if(c<1||c>40)throw new Error('"version" should be in range from 1 to 40');return c*4+17},an.getSymbolTotalCodewords=function(c){return u[c]},an.getBCHDigit=function(f){let c=0;for(;f!==0;)c++,f>>>=1;return c},an.setToSJISFunction=function(c){if(typeof c!="function")throw new Error('"toSJISFunc" is not a valid function.');i=c},an.isKanjiModeEnabled=function(){return typeof i<"u"},an.toSJIS=function(c){return i(c)},an}var eu={},B0;function Mu(){return B0||(B0=1,(function(i){i.L={bit:1},i.M={bit:0},i.Q={bit:3},i.H={bit:2};function u(f){if(typeof f!="string")throw new Error("Param is not a string");switch(f.toLowerCase()){case"l":case"low":return i.L;case"m":case"medium":return i.M;case"q":case"quartile":return i.Q;case"h":case"high":return i.H;default:throw new Error("Unknown EC Level: "+f)}}i.isValid=function(c){return c&&typeof c.bit<"u"&&c.bit>=0&&c.bit<4},i.from=function(c,d){if(i.isValid(c))return c;try{return u(c)}catch{return d}}})(eu)),eu}var tu,H0;function Xy(){if(H0)return tu;H0=1;function i(){this.buffer=[],this.length=0}return i.prototype={get:function(u){const f=Math.floor(u/8);return(this.buffer[f]>>>7-u%8&1)===1},put:function(u,f){for(let c=0;c<f;c++)this.putBit((u>>>f-c-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(u){const f=Math.floor(this.length/8);this.buffer.length<=f&&this.buffer.push(0),u&&(this.buffer[f]|=128>>>this.length%8),this.length++}},tu=i,tu}var au,Q0;function Py(){if(Q0)return au;Q0=1;function i(u){if(!u||u<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=u,this.data=new Uint8Array(u*u),this.reservedBit=new Uint8Array(u*u)}return i.prototype.set=function(u,f,c,d){const g=u*this.size+f;this.data[g]=c,d&&(this.reservedBit[g]=!0)},i.prototype.get=function(u,f){return this.data[u*this.size+f]},i.prototype.xor=function(u,f,c){this.data[u*this.size+f]^=c},i.prototype.isReserved=function(u,f){return this.reservedBit[u*this.size+f]},au=i,au}var nu={},G0;function Ky(){return G0||(G0=1,(function(i){const u=jn().getSymbolSize;i.getRowColCoords=function(c){if(c===1)return[];const d=Math.floor(c/7)+2,g=u(c),y=g===145?26:Math.ceil((g-13)/(2*d-2))*2,x=[g-7];for(let m=1;m<d-1;m++)x[m]=x[m-1]-y;return x.push(6),x.reverse()},i.getPositions=function(c){const d=[],g=i.getRowColCoords(c),y=g.length;for(let x=0;x<y;x++)for(let m=0;m<y;m++)x===0&&m===0||x===0&&m===y-1||x===y-1&&m===0||d.push([g[x],g[m]]);return d}})(nu)),nu}var lu={},Y0;function Zy(){if(Y0)return lu;Y0=1;const i=jn().getSymbolSize,u=7;return lu.getPositions=function(c){const d=i(c);return[[0,0],[d-u,0],[0,d-u]]},lu}var ru={},V0;function Jy(){return V0||(V0=1,(function(i){i.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const u={N1:3,N2:3,N3:40,N4:10};i.isValid=function(d){return d!=null&&d!==""&&!isNaN(d)&&d>=0&&d<=7},i.from=function(d){return i.isValid(d)?parseInt(d,10):void 0},i.getPenaltyN1=function(d){const g=d.size;let y=0,x=0,m=0,p=null,v=null;for(let b=0;b<g;b++){x=m=0,p=v=null;for(let k=0;k<g;k++){let T=d.get(b,k);T===p?x++:(x>=5&&(y+=u.N1+(x-5)),p=T,x=1),T=d.get(k,b),T===v?m++:(m>=5&&(y+=u.N1+(m-5)),v=T,m=1)}x>=5&&(y+=u.N1+(x-5)),m>=5&&(y+=u.N1+(m-5))}return y},i.getPenaltyN2=function(d){const g=d.size;let y=0;for(let x=0;x<g-1;x++)for(let m=0;m<g-1;m++){const p=d.get(x,m)+d.get(x,m+1)+d.get(x+1,m)+d.get(x+1,m+1);(p===4||p===0)&&y++}return y*u.N2},i.getPenaltyN3=function(d){const g=d.size;let y=0,x=0,m=0;for(let p=0;p<g;p++){x=m=0;for(let v=0;v<g;v++)x=x<<1&2047|d.get(p,v),v>=10&&(x===1488||x===93)&&y++,m=m<<1&2047|d.get(v,p),v>=10&&(m===1488||m===93)&&y++}return y*u.N3},i.getPenaltyN4=function(d){let g=0;const y=d.data.length;for(let m=0;m<y;m++)g+=d.data[m];return Math.abs(Math.ceil(g*100/y/5)-10)*u.N4};function f(c,d,g){switch(c){case i.Patterns.PATTERN000:return(d+g)%2===0;case i.Patterns.PATTERN001:return d%2===0;case i.Patterns.PATTERN010:return g%3===0;case i.Patterns.PATTERN011:return(d+g)%3===0;case i.Patterns.PATTERN100:return(Math.floor(d/2)+Math.floor(g/3))%2===0;case i.Patterns.PATTERN101:return d*g%2+d*g%3===0;case i.Patterns.PATTERN110:return(d*g%2+d*g%3)%2===0;case i.Patterns.PATTERN111:return(d*g%3+(d+g)%2)%2===0;default:throw new Error("bad maskPattern:"+c)}}i.applyMask=function(d,g){const y=g.size;for(let x=0;x<y;x++)for(let m=0;m<y;m++)g.isReserved(m,x)||g.xor(m,x,f(d,m,x))},i.getBestMask=function(d,g){const y=Object.keys(i.Patterns).length;let x=0,m=1/0;for(let p=0;p<y;p++){g(p),i.applyMask(p,d);const v=i.getPenaltyN1(d)+i.getPenaltyN2(d)+i.getPenaltyN3(d)+i.getPenaltyN4(d);i.applyMask(p,d),v<m&&(m=v,x=p)}return x}})(ru)),ru}var Cs={},X0;function wg(){if(X0)return Cs;X0=1;const i=Mu(),u=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],f=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];return Cs.getBlocksCount=function(d,g){switch(g){case i.L:return u[(d-1)*4+0];case i.M:return u[(d-1)*4+1];case i.Q:return u[(d-1)*4+2];case i.H:return u[(d-1)*4+3];default:return}},Cs.getTotalCodewordsCount=function(d,g){switch(g){case i.L:return f[(d-1)*4+0];case i.M:return f[(d-1)*4+1];case i.Q:return f[(d-1)*4+2];case i.H:return f[(d-1)*4+3];default:return}},Cs}var su={},fr={},P0;function Iy(){if(P0)return fr;P0=1;const i=new Uint8Array(512),u=new Uint8Array(256);return(function(){let c=1;for(let d=0;d<255;d++)i[d]=c,u[c]=d,c<<=1,c&256&&(c^=285);for(let d=255;d<512;d++)i[d]=i[d-255]})(),fr.log=function(c){if(c<1)throw new Error("log("+c+")");return u[c]},fr.exp=function(c){return i[c]},fr.mul=function(c,d){return c===0||d===0?0:i[u[c]+u[d]]},fr}var K0;function Fy(){return K0||(K0=1,(function(i){const u=Iy();i.mul=function(c,d){const g=new Uint8Array(c.length+d.length-1);for(let y=0;y<c.length;y++)for(let x=0;x<d.length;x++)g[y+x]^=u.mul(c[y],d[x]);return g},i.mod=function(c,d){let g=new Uint8Array(c);for(;g.length-d.length>=0;){const y=g[0];for(let m=0;m<d.length;m++)g[m]^=u.mul(d[m],y);let x=0;for(;x<g.length&&g[x]===0;)x++;g=g.slice(x)}return g},i.generateECPolynomial=function(c){let d=new Uint8Array([1]);for(let g=0;g<c;g++)d=i.mul(d,new Uint8Array([1,u.exp(g)]));return d}})(su)),su}var iu,Z0;function $y(){if(Z0)return iu;Z0=1;const i=Fy();function u(f){this.genPoly=void 0,this.degree=f,this.degree&&this.initialize(this.degree)}return u.prototype.initialize=function(c){this.degree=c,this.genPoly=i.generateECPolynomial(this.degree)},u.prototype.encode=function(c){if(!this.genPoly)throw new Error("Encoder not initialized");const d=new Uint8Array(c.length+this.degree);d.set(c);const g=i.mod(d,this.genPoly),y=this.degree-g.length;if(y>0){const x=new Uint8Array(this.degree);return x.set(g,y),x}return g},iu=u,iu}var cu={},uu={},ou={},J0;function Sg(){return J0||(J0=1,ou.isValid=function(u){return!isNaN(u)&&u>=1&&u<=40}),ou}var ra={},I0;function kg(){if(I0)return ra;I0=1;const i="[0-9]+",u="[A-Z $%*+\\-./:]+";let f="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";f=f.replace(/u/g,"\\u");const c="(?:(?![A-Z0-9 $%*+\\-./:]|"+f+`)(?:.|[\r
55
+ ]))+`;ra.KANJI=new RegExp(f,"g"),ra.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),ra.BYTE=new RegExp(c,"g"),ra.NUMERIC=new RegExp(i,"g"),ra.ALPHANUMERIC=new RegExp(u,"g");const d=new RegExp("^"+f+"$"),g=new RegExp("^"+i+"$"),y=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return ra.testKanji=function(m){return d.test(m)},ra.testNumeric=function(m){return g.test(m)},ra.testAlphanumeric=function(m){return y.test(m)},ra}var F0;function Nn(){return F0||(F0=1,(function(i){const u=Sg(),f=kg();i.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},i.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},i.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},i.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},i.MIXED={bit:-1},i.getCharCountIndicator=function(g,y){if(!g.ccBits)throw new Error("Invalid mode: "+g);if(!u.isValid(y))throw new Error("Invalid version: "+y);return y>=1&&y<10?g.ccBits[0]:y<27?g.ccBits[1]:g.ccBits[2]},i.getBestModeForData=function(g){return f.testNumeric(g)?i.NUMERIC:f.testAlphanumeric(g)?i.ALPHANUMERIC:f.testKanji(g)?i.KANJI:i.BYTE},i.toString=function(g){if(g&&g.id)return g.id;throw new Error("Invalid mode")},i.isValid=function(g){return g&&g.bit&&g.ccBits};function c(d){if(typeof d!="string")throw new Error("Param is not a string");switch(d.toLowerCase()){case"numeric":return i.NUMERIC;case"alphanumeric":return i.ALPHANUMERIC;case"kanji":return i.KANJI;case"byte":return i.BYTE;default:throw new Error("Unknown mode: "+d)}}i.from=function(g,y){if(i.isValid(g))return g;try{return c(g)}catch{return y}}})(uu)),uu}var $0;function Wy(){return $0||($0=1,(function(i){const u=jn(),f=wg(),c=Mu(),d=Nn(),g=Sg(),y=7973,x=u.getBCHDigit(y);function m(k,T,S){for(let A=1;A<=40;A++)if(T<=i.getCapacity(A,S,k))return A}function p(k,T){return d.getCharCountIndicator(k,T)+4}function v(k,T){let S=0;return k.forEach(function(A){const P=p(A.mode,T);S+=P+A.getBitsLength()}),S}function b(k,T){for(let S=1;S<=40;S++)if(v(k,S)<=i.getCapacity(S,T,d.MIXED))return S}i.from=function(T,S){return g.isValid(T)?parseInt(T,10):S},i.getCapacity=function(T,S,A){if(!g.isValid(T))throw new Error("Invalid QR Code version");typeof A>"u"&&(A=d.BYTE);const P=u.getSymbolTotalCodewords(T),j=f.getTotalCodewordsCount(T,S),V=(P-j)*8;if(A===d.MIXED)return V;const _=V-p(A,T);switch(A){case d.NUMERIC:return Math.floor(_/10*3);case d.ALPHANUMERIC:return Math.floor(_/11*2);case d.KANJI:return Math.floor(_/13);case d.BYTE:default:return Math.floor(_/8)}},i.getBestVersionForData=function(T,S){let A;const P=c.from(S,c.M);if(Array.isArray(T)){if(T.length>1)return b(T,P);if(T.length===0)return 1;A=T[0]}else A=T;return m(A.mode,A.getLength(),P)},i.getEncodedBits=function(T){if(!g.isValid(T)||T<7)throw new Error("Invalid QR Code version");let S=T<<12;for(;u.getBCHDigit(S)-x>=0;)S^=y<<u.getBCHDigit(S)-x;return T<<12|S}})(cu)),cu}var du={},W0;function ep(){if(W0)return du;W0=1;const i=jn(),u=1335,f=21522,c=i.getBCHDigit(u);return du.getEncodedBits=function(g,y){const x=g.bit<<3|y;let m=x<<10;for(;i.getBCHDigit(m)-c>=0;)m^=u<<i.getBCHDigit(m)-c;return(x<<10|m)^f},du}var fu={},gu,eg;function tp(){if(eg)return gu;eg=1;const i=Nn();function u(f){this.mode=i.NUMERIC,this.data=f.toString()}return u.getBitsLength=function(c){return 10*Math.floor(c/3)+(c%3?c%3*3+1:0)},u.prototype.getLength=function(){return this.data.length},u.prototype.getBitsLength=function(){return u.getBitsLength(this.data.length)},u.prototype.write=function(c){let d,g,y;for(d=0;d+3<=this.data.length;d+=3)g=this.data.substr(d,3),y=parseInt(g,10),c.put(y,10);const x=this.data.length-d;x>0&&(g=this.data.substr(d),y=parseInt(g,10),c.put(y,x*3+1))},gu=u,gu}var mu,tg;function ap(){if(tg)return mu;tg=1;const i=Nn(),u=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function f(c){this.mode=i.ALPHANUMERIC,this.data=c}return f.getBitsLength=function(d){return 11*Math.floor(d/2)+6*(d%2)},f.prototype.getLength=function(){return this.data.length},f.prototype.getBitsLength=function(){return f.getBitsLength(this.data.length)},f.prototype.write=function(d){let g;for(g=0;g+2<=this.data.length;g+=2){let y=u.indexOf(this.data[g])*45;y+=u.indexOf(this.data[g+1]),d.put(y,11)}this.data.length%2&&d.put(u.indexOf(this.data[g]),6)},mu=f,mu}var hu,ag;function np(){if(ag)return hu;ag=1;const i=Nn();function u(f){this.mode=i.BYTE,typeof f=="string"?this.data=new TextEncoder().encode(f):this.data=new Uint8Array(f)}return u.getBitsLength=function(c){return c*8},u.prototype.getLength=function(){return this.data.length},u.prototype.getBitsLength=function(){return u.getBitsLength(this.data.length)},u.prototype.write=function(f){for(let c=0,d=this.data.length;c<d;c++)f.put(this.data[c],8)},hu=u,hu}var yu,ng;function lp(){if(ng)return yu;ng=1;const i=Nn(),u=jn();function f(c){this.mode=i.KANJI,this.data=c}return f.getBitsLength=function(d){return d*13},f.prototype.getLength=function(){return this.data.length},f.prototype.getBitsLength=function(){return f.getBitsLength(this.data.length)},f.prototype.write=function(c){let d;for(d=0;d<this.data.length;d++){let g=u.toSJIS(this.data[d]);if(g>=33088&&g<=40956)g-=33088;else if(g>=57408&&g<=60351)g-=49472;else throw new Error("Invalid SJIS character: "+this.data[d]+`
56
+ Make sure your charset is UTF-8`);g=(g>>>8&255)*192+(g&255),c.put(g,13)}},yu=f,yu}var pu={exports:{}},lg;function rp(){return lg||(lg=1,(function(i){var u={single_source_shortest_paths:function(f,c,d){var g={},y={};y[c]=0;var x=u.PriorityQueue.make();x.push(c,0);for(var m,p,v,b,k,T,S,A,P;!x.empty();){m=x.pop(),p=m.value,b=m.cost,k=f[p]||{};for(v in k)k.hasOwnProperty(v)&&(T=k[v],S=b+T,A=y[v],P=typeof y[v]>"u",(P||A>S)&&(y[v]=S,x.push(v,S),g[v]=p))}if(typeof d<"u"&&typeof y[d]>"u"){var j=["Could not find a path from ",c," to ",d,"."].join("");throw new Error(j)}return g},extract_shortest_path_from_predecessor_list:function(f,c){for(var d=[],g=c;g;)d.push(g),f[g],g=f[g];return d.reverse(),d},find_path:function(f,c,d){var g=u.single_source_shortest_paths(f,c,d);return u.extract_shortest_path_from_predecessor_list(g,d)},PriorityQueue:{make:function(f){var c=u.PriorityQueue,d={},g;f=f||{};for(g in c)c.hasOwnProperty(g)&&(d[g]=c[g]);return d.queue=[],d.sorter=f.sorter||c.default_sorter,d},default_sorter:function(f,c){return f.cost-c.cost},push:function(f,c){var d={value:f,cost:c};this.queue.push(d),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};i.exports=u})(pu)),pu.exports}var rg;function sp(){return rg||(rg=1,(function(i){const u=Nn(),f=tp(),c=ap(),d=np(),g=lp(),y=kg(),x=jn(),m=rp();function p(j){return unescape(encodeURIComponent(j)).length}function v(j,V,_){const O=[];let E;for(;(E=j.exec(_))!==null;)O.push({data:E[0],index:E.index,mode:V,length:E[0].length});return O}function b(j){const V=v(y.NUMERIC,u.NUMERIC,j),_=v(y.ALPHANUMERIC,u.ALPHANUMERIC,j);let O,E;return x.isKanjiModeEnabled()?(O=v(y.BYTE,u.BYTE,j),E=v(y.KANJI,u.KANJI,j)):(O=v(y.BYTE_KANJI,u.BYTE,j),E=[]),V.concat(_,O,E).sort(function(z,F){return z.index-F.index}).map(function(z){return{data:z.data,mode:z.mode,length:z.length}})}function k(j,V){switch(V){case u.NUMERIC:return f.getBitsLength(j);case u.ALPHANUMERIC:return c.getBitsLength(j);case u.KANJI:return g.getBitsLength(j);case u.BYTE:return d.getBitsLength(j)}}function T(j){return j.reduce(function(V,_){const O=V.length-1>=0?V[V.length-1]:null;return O&&O.mode===_.mode?(V[V.length-1].data+=_.data,V):(V.push(_),V)},[])}function S(j){const V=[];for(let _=0;_<j.length;_++){const O=j[_];switch(O.mode){case u.NUMERIC:V.push([O,{data:O.data,mode:u.ALPHANUMERIC,length:O.length},{data:O.data,mode:u.BYTE,length:O.length}]);break;case u.ALPHANUMERIC:V.push([O,{data:O.data,mode:u.BYTE,length:O.length}]);break;case u.KANJI:V.push([O,{data:O.data,mode:u.BYTE,length:p(O.data)}]);break;case u.BYTE:V.push([{data:O.data,mode:u.BYTE,length:p(O.data)}])}}return V}function A(j,V){const _={},O={start:{}};let E=["start"];for(let D=0;D<j.length;D++){const z=j[D],F=[];for(let B=0;B<z.length;B++){const K=z[B],ee=""+D+B;F.push(ee),_[ee]={node:K,lastCount:0},O[ee]={};for(let Z=0;Z<E.length;Z++){const se=E[Z];_[se]&&_[se].node.mode===K.mode?(O[se][ee]=k(_[se].lastCount+K.length,K.mode)-k(_[se].lastCount,K.mode),_[se].lastCount+=K.length):(_[se]&&(_[se].lastCount=K.length),O[se][ee]=k(K.length,K.mode)+4+u.getCharCountIndicator(K.mode,V))}}E=F}for(let D=0;D<E.length;D++)O[E[D]].end=0;return{map:O,table:_}}function P(j,V){let _;const O=u.getBestModeForData(j);if(_=u.from(V,O),_!==u.BYTE&&_.bit<O.bit)throw new Error('"'+j+'" cannot be encoded with mode '+u.toString(_)+`.
57
+ Suggested mode is: `+u.toString(O));switch(_===u.KANJI&&!x.isKanjiModeEnabled()&&(_=u.BYTE),_){case u.NUMERIC:return new f(j);case u.ALPHANUMERIC:return new c(j);case u.KANJI:return new g(j);case u.BYTE:return new d(j)}}i.fromArray=function(V){return V.reduce(function(_,O){return typeof O=="string"?_.push(P(O,null)):O.data&&_.push(P(O.data,O.mode)),_},[])},i.fromString=function(V,_){const O=b(V,x.isKanjiModeEnabled()),E=S(O),D=A(E,_),z=m.find_path(D.map,"start","end"),F=[];for(let B=1;B<z.length-1;B++)F.push(D.table[z[B]].node);return i.fromArray(T(F))},i.rawSplit=function(V){return i.fromArray(b(V,x.isKanjiModeEnabled()))}})(fu)),fu}var sg;function ip(){if(sg)return Wc;sg=1;const i=jn(),u=Mu(),f=Xy(),c=Py(),d=Ky(),g=Zy(),y=Jy(),x=wg(),m=$y(),p=Wy(),v=ep(),b=Nn(),k=sp();function T(D,z){const F=D.size,B=g.getPositions(z);for(let K=0;K<B.length;K++){const ee=B[K][0],Z=B[K][1];for(let se=-1;se<=7;se++)if(!(ee+se<=-1||F<=ee+se))for(let ne=-1;ne<=7;ne++)Z+ne<=-1||F<=Z+ne||(se>=0&&se<=6&&(ne===0||ne===6)||ne>=0&&ne<=6&&(se===0||se===6)||se>=2&&se<=4&&ne>=2&&ne<=4?D.set(ee+se,Z+ne,!0,!0):D.set(ee+se,Z+ne,!1,!0))}}function S(D){const z=D.size;for(let F=8;F<z-8;F++){const B=F%2===0;D.set(F,6,B,!0),D.set(6,F,B,!0)}}function A(D,z){const F=d.getPositions(z);for(let B=0;B<F.length;B++){const K=F[B][0],ee=F[B][1];for(let Z=-2;Z<=2;Z++)for(let se=-2;se<=2;se++)Z===-2||Z===2||se===-2||se===2||Z===0&&se===0?D.set(K+Z,ee+se,!0,!0):D.set(K+Z,ee+se,!1,!0)}}function P(D,z){const F=D.size,B=p.getEncodedBits(z);let K,ee,Z;for(let se=0;se<18;se++)K=Math.floor(se/3),ee=se%3+F-8-3,Z=(B>>se&1)===1,D.set(K,ee,Z,!0),D.set(ee,K,Z,!0)}function j(D,z,F){const B=D.size,K=v.getEncodedBits(z,F);let ee,Z;for(ee=0;ee<15;ee++)Z=(K>>ee&1)===1,ee<6?D.set(ee,8,Z,!0):ee<8?D.set(ee+1,8,Z,!0):D.set(B-15+ee,8,Z,!0),ee<8?D.set(8,B-ee-1,Z,!0):ee<9?D.set(8,15-ee-1+1,Z,!0):D.set(8,15-ee-1,Z,!0);D.set(B-8,8,1,!0)}function V(D,z){const F=D.size;let B=-1,K=F-1,ee=7,Z=0;for(let se=F-1;se>0;se-=2)for(se===6&&se--;;){for(let ne=0;ne<2;ne++)if(!D.isReserved(K,se-ne)){let ce=!1;Z<z.length&&(ce=(z[Z]>>>ee&1)===1),D.set(K,se-ne,ce),ee--,ee===-1&&(Z++,ee=7)}if(K+=B,K<0||F<=K){K-=B,B=-B;break}}}function _(D,z,F){const B=new f;F.forEach(function(ne){B.put(ne.mode.bit,4),B.put(ne.getLength(),b.getCharCountIndicator(ne.mode,D)),ne.write(B)});const K=i.getSymbolTotalCodewords(D),ee=x.getTotalCodewordsCount(D,z),Z=(K-ee)*8;for(B.getLengthInBits()+4<=Z&&B.put(0,4);B.getLengthInBits()%8!==0;)B.putBit(0);const se=(Z-B.getLengthInBits())/8;for(let ne=0;ne<se;ne++)B.put(ne%2?17:236,8);return O(B,D,z)}function O(D,z,F){const B=i.getSymbolTotalCodewords(z),K=x.getTotalCodewordsCount(z,F),ee=B-K,Z=x.getBlocksCount(z,F),se=B%Z,ne=Z-se,ce=Math.floor(B/Z),H=Math.floor(ee/Z),te=H+1,me=ce-H,we=new m(me);let Se=0;const C=new Array(Z),I=new Array(Z);let Y=0;const ae=new Uint8Array(D.buffer);for(let xe=0;xe<Z;xe++){const Ve=xe<ne?H:te;C[xe]=ae.slice(Se,Se+Ve),I[xe]=we.encode(C[xe]),Se+=Ve,Y=Math.max(Y,Ve)}const ie=new Uint8Array(B);let de=0,ue,fe;for(ue=0;ue<Y;ue++)for(fe=0;fe<Z;fe++)ue<C[fe].length&&(ie[de++]=C[fe][ue]);for(ue=0;ue<me;ue++)for(fe=0;fe<Z;fe++)ie[de++]=I[fe][ue];return ie}function E(D,z,F,B){let K;if(Array.isArray(D))K=k.fromArray(D);else if(typeof D=="string"){let ce=z;if(!ce){const H=k.rawSplit(D);ce=p.getBestVersionForData(H,F)}K=k.fromString(D,ce||40)}else throw new Error("Invalid data");const ee=p.getBestVersionForData(K,F);if(!ee)throw new Error("The amount of data is too big to be stored in a QR Code");if(!z)z=ee;else if(z<ee)throw new Error(`
58
+ The chosen QR Code version cannot contain this amount of data.
59
+ Minimum version required to store current data is: `+ee+`.
60
+ `);const Z=_(z,F,K),se=i.getSymbolSize(z),ne=new c(se);return T(ne,z),S(ne),A(ne,z),j(ne,F,0),z>=7&&P(ne,z),V(ne,Z),isNaN(B)&&(B=y.getBestMask(ne,j.bind(null,ne,F))),y.applyMask(B,ne),j(ne,F,B),{modules:ne,version:z,errorCorrectionLevel:F,maskPattern:B,segments:K}}return Wc.create=function(z,F){if(typeof z>"u"||z==="")throw new Error("No input text");let B=u.M,K,ee;return typeof F<"u"&&(B=u.from(F.errorCorrectionLevel,u.M),K=p.from(F.version),ee=y.from(F.maskPattern),F.toSJISFunc&&i.setToSJISFunction(F.toSJISFunc)),E(z,K,B,ee)},Wc}var xu={},bu={},ig;function jg(){return ig||(ig=1,(function(i){function u(f){if(typeof f=="number"&&(f=f.toString()),typeof f!="string")throw new Error("Color should be defined as hex string");let c=f.slice().replace("#","").split("");if(c.length<3||c.length===5||c.length>8)throw new Error("Invalid hex color: "+f);(c.length===3||c.length===4)&&(c=Array.prototype.concat.apply([],c.map(function(g){return[g,g]}))),c.length===6&&c.push("F","F");const d=parseInt(c.join(""),16);return{r:d>>24&255,g:d>>16&255,b:d>>8&255,a:d&255,hex:"#"+c.slice(0,6).join("")}}i.getOptions=function(c){c||(c={}),c.color||(c.color={});const d=typeof c.margin>"u"||c.margin===null||c.margin<0?4:c.margin,g=c.width&&c.width>=21?c.width:void 0,y=c.scale||4;return{width:g,scale:g?4:y,margin:d,color:{dark:u(c.color.dark||"#000000ff"),light:u(c.color.light||"#ffffffff")},type:c.type,rendererOpts:c.rendererOpts||{}}},i.getScale=function(c,d){return d.width&&d.width>=c+d.margin*2?d.width/(c+d.margin*2):d.scale},i.getImageWidth=function(c,d){const g=i.getScale(c,d);return Math.floor((c+d.margin*2)*g)},i.qrToImageData=function(c,d,g){const y=d.modules.size,x=d.modules.data,m=i.getScale(y,g),p=Math.floor((y+g.margin*2)*m),v=g.margin*m,b=[g.color.light,g.color.dark];for(let k=0;k<p;k++)for(let T=0;T<p;T++){let S=(k*p+T)*4,A=g.color.light;if(k>=v&&T>=v&&k<p-v&&T<p-v){const P=Math.floor((k-v)/m),j=Math.floor((T-v)/m);A=b[x[P*y+j]?1:0]}c[S++]=A.r,c[S++]=A.g,c[S++]=A.b,c[S]=A.a}}})(bu)),bu}var cg;function cp(){return cg||(cg=1,(function(i){const u=jg();function f(d,g,y){d.clearRect(0,0,g.width,g.height),g.style||(g.style={}),g.height=y,g.width=y,g.style.height=y+"px",g.style.width=y+"px"}function c(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}i.render=function(g,y,x){let m=x,p=y;typeof m>"u"&&(!y||!y.getContext)&&(m=y,y=void 0),y||(p=c()),m=u.getOptions(m);const v=u.getImageWidth(g.modules.size,m),b=p.getContext("2d"),k=b.createImageData(v,v);return u.qrToImageData(k.data,g,m),f(b,p,v),b.putImageData(k,0,0),p},i.renderToDataURL=function(g,y,x){let m=x;typeof m>"u"&&(!y||!y.getContext)&&(m=y,y=void 0),m||(m={});const p=i.render(g,y,m),v=m.type||"image/png",b=m.rendererOpts||{};return p.toDataURL(v,b.quality)}})(xu)),xu}var vu={},ug;function up(){if(ug)return vu;ug=1;const i=jg();function u(d,g){const y=d.a/255,x=g+'="'+d.hex+'"';return y<1?x+" "+g+'-opacity="'+y.toFixed(2).slice(1)+'"':x}function f(d,g,y){let x=d+g;return typeof y<"u"&&(x+=" "+y),x}function c(d,g,y){let x="",m=0,p=!1,v=0;for(let b=0;b<d.length;b++){const k=Math.floor(b%g),T=Math.floor(b/g);!k&&!p&&(p=!0),d[b]?(v++,b>0&&k>0&&d[b-1]||(x+=p?f("M",k+y,.5+T+y):f("m",m,0),m=0,p=!1),k+1<g&&d[b+1]||(x+=f("h",v),v=0)):m++}return x}return vu.render=function(g,y,x){const m=i.getOptions(y),p=g.modules.size,v=g.modules.data,b=p+m.margin*2,k=m.color.light.a?"<path "+u(m.color.light,"fill")+' d="M0 0h'+b+"v"+b+'H0z"/>':"",T="<path "+u(m.color.dark,"stroke")+' d="'+c(v,p,m.margin)+'"/>',S='viewBox="0 0 '+b+" "+b+'"',P='<svg xmlns="http://www.w3.org/2000/svg" '+(m.width?'width="'+m.width+'" height="'+m.width+'" ':"")+S+' shape-rendering="crispEdges">'+k+T+`</svg>
61
+ `;return typeof x=="function"&&x(null,P),P},vu}var og;function op(){if(og)return xl;og=1;const i=Vy(),u=ip(),f=cp(),c=up();function d(g,y,x,m,p){const v=[].slice.call(arguments,1),b=v.length,k=typeof v[b-1]=="function";if(!k&&!i())throw new Error("Callback required as last argument");if(k){if(b<2)throw new Error("Too few arguments provided");b===2?(p=x,x=y,y=m=void 0):b===3&&(y.getContext&&typeof p>"u"?(p=m,m=void 0):(p=m,m=x,x=y,y=void 0))}else{if(b<1)throw new Error("Too few arguments provided");return b===1?(x=y,y=m=void 0):b===2&&!y.getContext&&(m=x,x=y,y=void 0),new Promise(function(T,S){try{const A=u.create(x,m);T(g(A,y,m))}catch(A){S(A)}})}try{const T=u.create(x,m);p(null,g(T,y,m))}catch(T){p(T)}}return xl.create=u.create,xl.toCanvas=d.bind(null,f.render),xl.toDataURL=d.bind(null,f.renderToDataURL),xl.toString=d.bind(null,function(g,y,x){return c.render(g,x)}),xl}var dp=op();const Ng=ju(dp);async function Eg(i,u={}){const f={width:200,margin:2,color:{dark:"#000000",light:"#FFFFFF"},errorCorrectionLevel:"M",...u};try{return await Ng.toDataURL(i,f)}catch(c){return console.error("Error generating QR code:",c),null}}async function fp(i,u=200){const f=document.createElement("canvas");f.width=u,f.height=u;try{return await Ng.toCanvas(f,i,{width:u,margin:2,color:{dark:"#000000",light:"#FFFFFF"},errorCorrectionLevel:"M"}),f}catch(c){return console.error("Error generating QR code canvas:",c),null}}const bp=Object.freeze(Object.defineProperty({__proto__:null,generateQRCode:Eg,generateQRCodeCanvas:fp},Symbol.toStringTag,{value:"Module"}));function gp({bridge:i}){const[u,f]=w.useState(null),[c,d]=w.useState(null),[g,y]=w.useState({serverName:"Loukai Karaoke",port:3069,allowSongRequests:!0,requireKJApproval:!0,streamVocalsToClients:!1,showQrCode:!0,displayQueue:!0}),[x,m]=w.useState(""),[p,v]=w.useState(!1),[b,k]=w.useState(0),[T,S]=w.useState(0),[A,P]=w.useState(null),[j,V]=w.useState(null),_=w.useCallback(async()=>{try{if(!i?.getRequests)return;const Z=await i.getRequests(),se=Z.filter(ne=>ne.status==="pending").length;k(se),S(Z.length)}catch{}},[i]);w.useEffect(()=>{if(!i)return;(async()=>{try{const ne=await i.getServerUrl();if(f(ne),ne){const H=new URL(ne).port;d(H)}const ce=await i.getServerSettings();if(ce&&y({serverName:ce.serverName||"Loukai Karaoke",port:ce.port||3069,allowSongRequests:ce.allowSongRequests!==!1,requireKJApproval:ce.requireKJApproval!==!1,streamVocalsToClients:ce.streamVocalsToClients===!0,showQrCode:ce.showQrCode!==!1,displayQueue:ce.displayQueue!==!1}),i.getAdminPasswordStatus){const H=await i.getAdminPasswordStatus();v(H)}_()}catch(ne){console.error("Failed to load server data:",ne)}})();const se=setInterval(()=>{i.getServerUrl&&i.getServerUrl().then(ne=>{if(f(ne),ne){const ce=new URL(ne).port;d(ce),Eg(ne,{width:300}).then(V).catch(console.error)}}).catch(console.error),_()},5e3);return()=>clearInterval(se)},[i,_]);const O=async()=>{try{await i.updateServerSettings(g),B("Settings saved successfully","success")}catch(Z){console.error("Failed to save settings:",Z),B("Failed to save settings","error")}},E=async()=>{const Z=x.trim();if(!Z){B("Please enter a password","error");return}if(Z.length<6){B("Password must be at least 6 characters","error");return}try{i.setAdminPassword&&(await i.setAdminPassword(Z),m(""),v(!0),B("Admin password set successfully","success"))}catch(se){console.error("Failed to set password:",se),B("Failed to set admin password","error")}},D=()=>{u&&i?.openExternal&&i.openExternal(u)},z=()=>{try{c&&i?.openExternal&&i.openExternal(`http://localhost:${c}/admin`)}catch(Z){console.error("Failed to open admin panel:",Z)}},F=async()=>{if(confirm("Are you sure you want to clear all song requests? This cannot be undone."))try{i.clearAllRequests&&(await i.clearAllRequests(),B("All requests cleared","success"),_())}catch(Z){console.error("Failed to clear requests:",Z),B("Failed to clear requests","error")}},B=(Z,se="info")=>{P({text:Z,type:se}),setTimeout(()=>P(null),3e3)},K=(Z,se)=>{y(ne=>({...ne,[Z]:se}))},ee=!!u;return s.jsxs("div",{className:"p-5 h-full overflow-y-auto bg-white dark:bg-gray-900",children:[A&&s.jsx("div",{className:`fixed top-5 right-5 px-5 py-3 rounded text-white font-medium z-[10000] shadow-lg animate-slide-in ${A.type==="success"?"bg-green-600":A.type==="error"?"bg-red-600":"bg-blue-500"}`,children:A.text}),s.jsxs("div",{className:"flex items-center justify-between mb-8 pb-4 border-b border-gray-200 dark:border-gray-700",children:[s.jsx("h2",{className:"text-2xl font-semibold text-gray-900 dark:text-gray-100",children:"Web Server Settings"}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("span",{className:`w-3 h-3 rounded-full ${ee?"bg-green-500":"bg-red-500"}`}),s.jsx("span",{className:"text-gray-700 dark:text-gray-300",children:ee?`Running on port ${c}`:"Not running"})]})]}),s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"bg-gray-50 dark:bg-gray-800 rounded-lg p-6",children:[s.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-gray-100 mb-4",children:"Server Control"}),s.jsx("div",{className:"space-y-4",children:s.jsxs("div",{className:"flex items-center justify-between gap-4",children:[s.jsx("label",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:"Server Status:"}),s.jsxs("div",{className:"flex items-center gap-3 flex-1",children:[s.jsx("span",{className:"text-gray-900 dark:text-gray-100 flex-1",children:u||"Not running"}),s.jsxs("button",{className:"flex items-center gap-2 px-4 py-2 bg-blue-600 hover:bg-blue-700 disabled:bg-gray-400 disabled:cursor-not-allowed text-white rounded transition-colors",onClick:D,disabled:!ee,children:[s.jsx("span",{className:"material-icons text-lg",children:"open_in_new"}),"Open in Browser"]})]})]})})]}),s.jsxs("div",{className:"bg-gray-50 dark:bg-gray-800 rounded-lg p-6",children:[s.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-gray-100 mb-4",children:"General Settings"}),s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsx("label",{htmlFor:"serverName",className:"block text-sm font-medium text-gray-700 dark:text-gray-300",children:"Server Name:"}),s.jsx("input",{type:"text",id:"serverName",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500",placeholder:"Loukai Karaoke",value:g.serverName,onChange:Z=>K("serverName",Z.target.value)})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsx("label",{htmlFor:"serverPort",className:"block text-sm font-medium text-gray-700 dark:text-gray-300",children:"Port:"}),s.jsx("input",{type:"number",id:"serverPort",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500",placeholder:"3069",min:"1024",max:"65535",value:g.port,onChange:Z=>K("port",parseInt(Z.target.value)||3069)}),s.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"Server must be restarted for port changes to take effect"})]}),s.jsx("div",{className:"flex items-center",children:s.jsxs("label",{className:"flex items-center cursor-pointer select-none",children:[s.jsx("input",{type:"checkbox",id:"allowSongRequests",className:"w-4 h-4 mr-2 cursor-pointer",checked:g.allowSongRequests,onChange:Z=>K("allowSongRequests",Z.target.checked)}),s.jsx("span",{className:"text-gray-900 dark:text-gray-100",children:"Allow Song Requests"})]})}),s.jsx("div",{className:"flex items-center",children:s.jsxs("label",{className:"flex items-center cursor-pointer select-none",children:[s.jsx("input",{type:"checkbox",id:"requireKJApproval",className:"w-4 h-4 mr-2 cursor-pointer",checked:g.requireKJApproval,onChange:Z=>K("requireKJApproval",Z.target.checked)}),s.jsx("span",{className:"text-gray-900 dark:text-gray-100",children:"Require KJ Approval"})]})}),s.jsx("div",{className:"flex items-center",children:s.jsxs("label",{className:"flex items-center cursor-pointer select-none",children:[s.jsx("input",{type:"checkbox",id:"streamVocalsToClients",className:"w-4 h-4 mr-2 cursor-pointer",checked:g.streamVocalsToClients,onChange:Z=>K("streamVocalsToClients",Z.target.checked)}),s.jsx("span",{className:"text-gray-900 dark:text-gray-100",children:"Stream Vocals to Clients (LAN only)"})]})}),s.jsx("div",{className:"flex items-center",children:s.jsxs("label",{className:"flex items-center cursor-pointer select-none",children:[s.jsx("input",{type:"checkbox",id:"showQrCode",className:"w-4 h-4 mr-2 cursor-pointer",checked:g.showQrCode,onChange:Z=>K("showQrCode",Z.target.checked)}),s.jsx("span",{className:"text-gray-900 dark:text-gray-100",children:"Show QR code"})]})}),s.jsx("div",{className:"flex items-center",children:s.jsxs("label",{className:"flex items-center cursor-pointer select-none",children:[s.jsx("input",{type:"checkbox",id:"displayQueue",className:"w-4 h-4 mr-2 cursor-pointer",checked:g.displayQueue,onChange:Z=>K("displayQueue",Z.target.checked)}),s.jsx("span",{className:"text-gray-900 dark:text-gray-100",children:"Display queue"})]})}),s.jsxs("button",{className:"flex items-center gap-2 px-4 py-2 bg-blue-600 hover:bg-blue-700 text-white rounded transition-colors",onClick:O,children:[s.jsx("span",{className:"material-icons text-lg",children:"save"}),"Save Settings"]})]})]}),s.jsxs("div",{className:"bg-gray-50 dark:bg-gray-800 rounded-lg p-6",children:[s.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-gray-100 mb-4",children:"Admin Security"}),s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsx("label",{htmlFor:"adminPassword",className:"block text-sm font-medium text-gray-700 dark:text-gray-300",children:"Admin Password:"}),s.jsxs("div",{className:"flex gap-2",children:[s.jsx("input",{type:"password",id:"adminPassword",className:"flex-1 px-3 py-2 border border-gray-300 dark:border-gray-600 rounded bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500",placeholder:"Enter new admin password",value:x,onChange:Z=>m(Z.target.value)}),s.jsxs("button",{className:"flex items-center gap-2 px-4 py-2 bg-blue-600 hover:bg-blue-700 text-white rounded transition-colors",onClick:E,children:[s.jsx("span",{className:"material-icons text-lg",children:"security"}),"Set Password"]})]}),s.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"KJs will need this password to access the admin panel"})]}),s.jsx("div",{className:`px-4 py-2 rounded ${p?"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200":"bg-gray-100 dark:bg-gray-700 text-gray-700 dark:text-gray-300"}`,children:p?"Admin password is set":"No admin password set"})]})]}),s.jsxs("div",{className:"bg-gray-50 dark:bg-gray-800 rounded-lg p-6",children:[s.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-gray-100 mb-4",children:"Song Requests"}),s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[s.jsxs("div",{className:"bg-white dark:bg-gray-700 rounded-lg p-4 text-center",children:[s.jsx("div",{className:"text-3xl font-bold text-blue-600 dark:text-blue-400",children:b}),s.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400",children:"Pending"})]}),s.jsxs("div",{className:"bg-white dark:bg-gray-700 rounded-lg p-4 text-center",children:[s.jsx("div",{className:"text-3xl font-bold text-gray-700 dark:text-gray-300",children:T}),s.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400",children:"Total"})]})]}),s.jsxs("div",{className:"flex gap-2",children:[s.jsxs("button",{className:"flex items-center gap-2 px-4 py-2 bg-blue-600 hover:bg-blue-700 text-white rounded transition-colors flex-1",onClick:z,children:[s.jsx("span",{className:"material-icons text-lg",children:"admin_panel_settings"}),"Open Admin Panel"]}),s.jsxs("button",{className:"flex items-center gap-2 px-4 py-2 bg-red-600 hover:bg-red-700 text-white rounded transition-colors flex-1",onClick:F,children:[s.jsx("span",{className:"material-icons text-lg",children:"delete_sweep"}),"Clear All Requests"]})]})]})]}),j&&s.jsxs("div",{className:"bg-gray-50 dark:bg-gray-800 rounded-lg p-6",children:[s.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-gray-100 mb-4",children:"Quick Access QR Code"}),s.jsxs("div",{className:"flex flex-col items-center gap-4",children:[s.jsx("img",{src:j,alt:"Server URL QR Code",className:"border-4 border-white rounded-lg shadow-lg",style:{width:"300px",height:"300px"}}),s.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 text-center",children:"Scan this QR code to access the song request page"}),s.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-500 text-center font-mono",children:u})]})]})]})]})}function mp({bridge:i,waveformSettings:u=null,autotuneSettings:f=null,onWaveformChange:c=null,onAutotuneChange:d=null}){const[g,y]=w.useState({...Au}),[x,m]=w.useState({...Eu,preferVocals:!0});w.useEffect(()=>{if(!i)return;(async()=>{try{const k=await i.getWaveformPreferences?.();k&&y(S=>({...S,...k}));const T=await i.getAutotunePreferences?.();T&&m(S=>({...S,...T}))}catch(k){console.error("Failed to load preferences:",k)}})()},[i]),w.useEffect(()=>{u&&y(b=>({...b,...u}))},[u]),w.useEffect(()=>{f&&m(b=>({...b,...f}))},[f]),w.useEffect(()=>{if(!i)return;const b=i.onSettingsChanged?.("waveform",T=>{y(S=>({...S,...T}))}),k=i.onSettingsChanged?.("autotune",T=>{m(S=>({...S,...T}))});return()=>{b?.(),k?.()}},[i]);const p=async(b,k)=>{const T={...g,[b]:k};y(T),c&&c(T);try{await i.saveWaveformPreferences?.(T)}catch(S){console.error("Failed to save waveform preferences:",S)}},v=async(b,k)=>{const T={...x,[b]:k};m(T),d&&d(T);try{await i.saveAutotunePreferences?.(T)}catch(S){console.error("Failed to save autotune preferences:",S)}};return s.jsxs("div",{className:"p-4 space-y-6",children:[s.jsxs("div",{className:"bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg p-4 space-y-4",children:[s.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-gray-100",children:"Waveform Options"}),s.jsxs("div",{className:"space-y-3",children:[s.jsxs("label",{className:"flex items-center gap-3 cursor-pointer",children:[s.jsx("input",{type:"checkbox",checked:g.enableWaveforms,onChange:b=>p("enableWaveforms",b.target.checked),className:"w-4 h-4 text-blue-600 rounded focus:ring-2 focus:ring-blue-500"}),s.jsx("span",{className:"text-gray-900 dark:text-gray-100",children:"Enable Waveforms"})]}),s.jsxs("label",{className:"flex items-center gap-3 cursor-pointer",children:[s.jsx("input",{type:"checkbox",checked:g.enableEffects,onChange:b=>p("enableEffects",b.target.checked),className:"w-4 h-4 text-blue-600 rounded focus:ring-2 focus:ring-blue-500"}),s.jsx("span",{className:"text-gray-900 dark:text-gray-100",children:"Enable Background Effects"})]}),s.jsxs("label",{className:"flex items-center gap-3 cursor-pointer",children:[s.jsx("input",{type:"checkbox",checked:g.randomEffectOnSong,onChange:b=>p("randomEffectOnSong",b.target.checked),className:"w-4 h-4 text-blue-600 rounded focus:ring-2 focus:ring-blue-500"}),s.jsx("span",{className:"text-gray-900 dark:text-gray-100",children:"Random Effect on New Song"})]}),s.jsxs("label",{className:"flex items-center gap-3 cursor-pointer",children:[s.jsx("input",{type:"checkbox",checked:g.showUpcomingLyrics,onChange:b=>p("showUpcomingLyrics",b.target.checked),className:"w-4 h-4 text-blue-600 rounded focus:ring-2 focus:ring-blue-500"}),s.jsx("span",{className:"text-gray-900 dark:text-gray-100",children:"Show Upcoming Lyrics"})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{className:"flex items-center justify-between text-gray-900 dark:text-gray-100",children:[s.jsx("span",{children:"Overlay Opacity:"}),s.jsx("span",{className:"font-mono text-sm",children:g.overlayOpacity.toFixed(2)})]}),s.jsx("input",{type:"range",min:"0",max:"1",step:"0.01",value:g.overlayOpacity,onChange:b=>p("overlayOpacity",parseFloat(b.target.value)),className:"w-full h-2 bg-gray-200 dark:bg-gray-700 rounded-lg appearance-none cursor-pointer accent-blue-600"})]})]})]}),s.jsxs("div",{className:"bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg p-4 space-y-4",children:[s.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-gray-100",children:"Auto-Tune"}),s.jsxs("div",{className:"space-y-3",children:[s.jsxs("label",{className:"flex items-center gap-3 cursor-pointer",children:[s.jsx("input",{type:"checkbox",checked:x.enabled,onChange:b=>v("enabled",b.target.checked),className:"w-4 h-4 text-blue-600 rounded focus:ring-2 focus:ring-blue-500"}),s.jsx("span",{className:"text-gray-900 dark:text-gray-100",children:"Enable Auto-Tune"})]}),s.jsxs("label",{className:"flex items-center gap-3 cursor-pointer",children:[s.jsx("input",{type:"checkbox",checked:x.preferVocals,onChange:b=>v("preferVocals",b.target.checked),disabled:!x.enabled,className:"w-4 h-4 text-blue-600 rounded focus:ring-2 focus:ring-blue-500 disabled:opacity-50 disabled:cursor-not-allowed"}),s.jsx("span",{className:"text-gray-900 dark:text-gray-100",children:"Prefer Vocals for Pitch Reference"})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{className:"flex items-center justify-between text-gray-900 dark:text-gray-100",children:[s.jsx("span",{children:"Strength:"}),s.jsxs("span",{className:"font-mono text-sm",children:[x.strength,"%"]})]}),s.jsx("input",{type:"range",min:"0",max:"100",value:x.strength,onChange:b=>v("strength",parseInt(b.target.value)),className:"w-full h-2 bg-gray-200 dark:bg-gray-700 rounded-lg appearance-none cursor-pointer accent-blue-600"})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{className:"flex items-center justify-between text-gray-900 dark:text-gray-100",children:[s.jsx("span",{children:"Speed:"}),s.jsx("span",{className:"font-mono text-sm",children:x.speed})]}),s.jsx("input",{type:"range",min:"1",max:"100",value:x.speed,onChange:b=>v("speed",parseInt(b.target.value)),className:"w-full h-2 bg-gray-200 dark:bg-gray-700 rounded-lg appearance-none cursor-pointer accent-blue-600"})]})]})]})]})}async function hp(){try{const i=document.getElementById("karaokeCanvas");if(!i){console.warn("karaokeCanvas element not found");return}document.fullscreenElement?await document.exitFullscreen():await i.requestFullscreen()}catch(i){console.error("❌ Canvas fullscreen toggle failed:",i)}}const Je={input:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white",btnPrimary:"px-6 py-3 bg-blue-600 hover:bg-blue-700 text-white font-medium rounded-lg transition-colors",btnSecondary:"px-6 py-3 bg-gray-600 hover:bg-gray-700 text-white font-medium rounded-lg transition-colors",btnSuccess:"px-4 py-2 bg-green-600 hover:bg-green-700 text-white font-medium rounded-lg transition-colors",sectionTitle:"text-lg font-semibold text-gray-900 dark:text-white mb-4",card:"bg-gray-100 dark:bg-gray-800 rounded-lg p-6"};function wu({message:i,size:u="md"}){const f={sm:"h-8 w-8",md:"h-12 w-12"};return s.jsxs("div",{className:"text-center",children:[s.jsx("div",{className:`animate-spin rounded-full ${f[u]} border-b-2 border-blue-500 mx-auto mb-3`}),i&&s.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:i})]})}function dg({error:i,onDismiss:u}){return i?s.jsxs("div",{className:"bg-red-100 dark:bg-red-900/30 border border-red-400 dark:border-red-600 text-red-700 dark:text-red-400 px-4 py-3 rounded mb-6 select-text",children:[u&&s.jsx("button",{className:"float-right text-red-700 dark:text-red-400 hover:text-red-900 dark:hover:text-red-300 text-xl leading-none",onClick:u,children:"×"}),s.jsx("div",{className:"font-mono text-sm whitespace-pre-wrap overflow-x-auto max-h-96",children:i})]}):null}function fg({missingLines:i}){return!i||i.length===0?null:s.jsxs("details",{className:"text-xs text-gray-700 dark:text-gray-300 bg-gray-50 dark:bg-gray-800 rounded p-2",children:[s.jsxs("summary",{className:"cursor-pointer font-semibold",children:["💡 ",i.length," missing line",i.length!==1?"s":""," suggested (not applied)"]}),s.jsx("ul",{className:"mt-2 space-y-1 ml-4 list-disc max-h-40 overflow-y-auto",children:i.map((u,f)=>s.jsxs("li",{children:[s.jsxs("span",{className:"text-blue-600 dark:text-blue-400",children:['"',u.suggested_text,'"']})," ",s.jsxs("span",{className:"text-gray-500 dark:text-gray-400",children:["(",u.start?.toFixed(1),"s-",u.end?.toFixed(1),"s, ",u.confidence," confidence)"]}),u.reason&&s.jsxs("div",{className:"text-gray-500 dark:text-gray-400 ml-2",children:["→ ",u.reason]})]},f))})]})}function gg({artist:i,title:u}){return i?`${i} - ${u}`:u}function Su(i){return{anthropic:"Anthropic Claude",openai:"OpenAI",gemini:"Google Gemini",lmstudio:"Local LLM Server"}[i]||i}function yp({bridge:i}){const[u,f]=w.useState("checking"),[c,d]=w.useState(null),[g,y]=w.useState(null),[x,m]=w.useState(null),[p,v]=w.useState("create"),[b,k]=w.useState(null),[T,S]=w.useState(!1),[A,P]=w.useState(null),[j,V]=w.useState(null),[_,O]=w.useState(null),[E,D]=w.useState(null),[z,F]=w.useState(null),[B,K]=w.useState([]),[ee,Z]=w.useState(!1),se=w.useRef(null),ne=w.useRef(null),[ce,H]=w.useState({title:"",artist:"",numStems:4,language:"en",referenceLyrics:""}),[te,me]=w.useState({...hg}),[we,Se]=w.useState(null),[C,I]=w.useState(!1),[Y,ae]=w.useState(Ns.whisperModel),[ie,de]=w.useState(Ns.enableCrepe),ue=w.useCallback(async()=>{f("checking"),m(null);try{const le=await window.kaiAPI?.creator?.checkComponents();le?.success?(d(le),le.allInstalled?f("ready"):f("setup")):(m(le?.error||"Failed to check components"),f("setup"))}catch(le){console.error("Error checking components:",le),m(le.message),f("setup")}},[]);w.useEffect(()=>{ue(),(async()=>{try{const st=await window.kaiAPI?.creator?.getLLMSettings();st&&me(st)}catch(st){console.error("Failed to load LLM settings:",st)}})(),(async()=>{try{const st=await window.kaiAPI?.settings?.get("creator.outputToSongsFolder",!1);I(st);const Ke=await window.kaiAPI?.settings?.get("creator.whisperModel",Ns.whisperModel);ae(Ke);const Jt=await window.kaiAPI?.settings?.get("creator.enableCrepe",Ns.enableCrepe);de(Jt)}catch(st){console.error("Failed to load output settings:",st)}})();const dt=(st,Ke)=>{y(Ke),Ke.step==="complete"&&(f("checking"),ue())},Tt=(st,Ke)=>{m(Ke.error),f("setup")},ca=(st,Ke)=>{P(Ke)},$e=(st,Ke)=>{const Jt=Ke.line;K(qt=>Jt.match(/\d+%|[│┃║▌▍▎▏█]|━|█/)&&qt.length>0&&qt[qt.length-1].match(/\d+%|[│┃║▌▍▎▏█]|━|█/)?[...qt.slice(0,-1),Jt]:[...qt,Jt]),setTimeout(()=>{se.current?.scrollIntoView({behavior:"smooth"})},100)},An=async(st,Ke)=>{const Jt=Date.now(),qt=ne.current?(Jt-ne.current)/1e3:null;if(V(Ke.outputPath),O(Ke.llmStats),D(Ke.duration),F(qt),f("complete"),P(null),Ke.savedToSongsFolder)try{await window.kaiAPI?.library?.syncLibrary?.()}catch(nn){console.error("Failed to sync library after creation:",nn)}},ct=(st,Ke)=>{m(Ke.error),f("ready"),P(null)};return window.kaiAPI?.creator?.onInstallProgress(dt),window.kaiAPI?.creator?.onInstallError(Tt),window.kaiAPI?.creator?.onConversionProgress(ca),window.kaiAPI?.creator?.onConversionConsole($e),window.kaiAPI?.creator?.onConversionComplete(An),window.kaiAPI?.creator?.onConversionError(ct),()=>{window.kaiAPI?.creator?.removeInstallProgressListener(dt),window.kaiAPI?.creator?.removeInstallErrorListener(Tt),window.kaiAPI?.creator?.removeConversionProgressListener(ca),window.kaiAPI?.creator?.removeConversionConsoleListener($e),window.kaiAPI?.creator?.removeConversionCompleteListener(An),window.kaiAPI?.creator?.removeConversionErrorListener(ct)}},[ue]);const fe=async()=>{f("installing"),y({step:"starting",message:"Starting installation...",progress:0}),m(null);try{const le=await window.kaiAPI?.creator?.installComponents();le?.success||(m(le?.error||"Installation failed"),f("setup"))}catch(le){m(le.message),f("setup")}},xe=async()=>{try{S(!0),m(null);const le=await window.kaiAPI?.creator?.selectFile();if(le?.cancelled){S(!1);return}le?.success&&le.file?(k(le.file),H(be=>({...be,title:le.file.title||be.title,artist:le.file.artist||be.artist,referenceLyrics:le.lyrics?.plainLyrics||be.referenceLyrics})),m(null)):m(le?.error||"Failed to select file")}catch(le){m(le.message)}finally{S(!1)}},Ve=async()=>{if(!ce.title){m("Please enter a title to search for lyrics");return}try{const le=await window.kaiAPI?.creator?.searchLyrics(ce.title,ce.artist);le?.success?(H(be=>({...be,referenceLyrics:le.plainLyrics||""})),m(null)):m(le?.error||"No lyrics found")}catch(le){m(le.message)}},Be=async()=>{if(!b){m("Please select a file first");return}f("creating"),m(null),K([]),P({step:"starting",message:"Starting conversion...",progress:0}),ne.current=Date.now();try{let le;if(C){const Tt=await window.kaiAPI?.library?.getSongsFolder?.();Tt&&(le=Tt)}const be=b.hasStems&&!b.hasLyrics;Z(be);const dt=await window.kaiAPI?.creator?.startConversion({inputPath:b.path,title:ce.title||b.title,artist:ce.artist||b.artist,tags:b.tags||{},numStems:ce.numStems,whisperModel:Y,language:ce.language,enableCrepe:ie,referenceLyrics:ce.referenceLyrics,outputDir:le,lyricsOnlyMode:be,vocalsTrackIndex:b.vocalsTrackIndex??4});dt?.success||(m(dt?.error||"Conversion failed"),f("ready"),P(null))}catch(le){m(le.message),f("ready"),P(null)}},sa=async()=>{try{await window.kaiAPI?.creator?.cancelConversion(),f("ready"),P(null)}catch(le){m(le.message)}},En=()=>{k(null),V(null),O(null),D(null),F(null),Z(!1),ne.current=null,H({title:"",artist:"",numStems:4,language:"en",referenceLyrics:""}),f("ready")},Ut=async()=>{if(j)try{await window.kaiAPI?.editor?.loadKai?.(j),document.querySelectorAll('[id$="-tab"]').forEach(be=>{be.classList.add("hidden"),be.classList.remove("block","flex")});const le=document.getElementById("editor-tab");le&&(le.classList.remove("hidden"),le.classList.add("block"))}catch(le){console.error("Failed to open in editor:",le),m(`Failed to open in editor: ${le.message}`)}},Ca=async()=>{try{await window.kaiAPI?.creator?.saveLLMSettings(te),Se({success:!0,message:"Settings saved!"}),setTimeout(()=>Se(null),3e3)}catch(le){Se({success:!1,message:le.message})}},Ta=async()=>{if(!te.apiKey&&te.provider!=="lmstudio"){Se({success:!1,message:"API key required"});return}Se({testing:!0,message:"Testing connection..."});try{const le=await window.kaiAPI?.creator?.testLLMConnection(te);Se(le),setTimeout(()=>Se(null),3e3)}catch(le){Se({success:!1,message:le.message})}},ia=le=>{if(!le)return"--:--";const be=Math.floor(le/60),dt=Math.floor(le%60);return`${be}:${dt.toString().padStart(2,"0")}`};if(u==="checking")return s.jsx("div",{className:"flex items-center justify-center h-full",children:s.jsx(wu,{message:"Checking AI tools..."})});const Ma=[{key:"python",label:"Python 3.10+"},{key:"pytorch",label:"PyTorch"},{key:"soundfile",label:"SoundFile (Audio)"},{key:"demucs",label:"Demucs (Stems)"},{key:"whisper",label:"Whisper (Lyrics)"},{key:"crepe",label:"CREPE (Pitch)"},{key:"ffmpeg",label:"FFmpeg"},{key:"whisperModel",label:"Whisper Model"},{key:"demucsModel",label:"Demucs Model"}];return u==="installing"?s.jsx("div",{className:"flex items-center justify-center h-full p-8",children:s.jsxs("div",{className:"max-w-lg text-center",children:[s.jsx("div",{className:"text-6xl mb-6",children:"⚡"}),s.jsx("h2",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-4",children:"Installing AI Tools"}),s.jsxs("div",{className:"mb-6",children:[s.jsx("div",{className:"h-2 bg-gray-200 dark:bg-gray-700 rounded-full overflow-hidden",children:s.jsx("div",{className:"h-full bg-blue-600 transition-all duration-300",style:{width:`${g?.progress||0}%`}})}),s.jsx("p",{className:"text-gray-600 dark:text-gray-400 mt-2 break-words",children:g?.message||"Starting..."})]}),s.jsx("button",{className:Je.btnSecondary,onClick:()=>window.kaiAPI?.creator?.cancelInstall(),children:"Cancel"})]})}):u==="setup"?s.jsx("div",{className:"flex items-center justify-center h-full p-8",children:s.jsxs("div",{className:"max-w-lg text-center",children:[s.jsx("div",{className:"text-6xl mb-6",children:"⚡"}),s.jsx("h2",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-4",children:"AI Tools Setup Required"}),s.jsx("p",{className:"text-gray-600 dark:text-gray-400 mb-6",children:"To create karaoke files, you need to install AI processing tools. This includes stem separation (Demucs), lyrics transcription (Whisper), and pitch detection (CREPE)."}),s.jsx(dg,{error:x}),s.jsx("div",{className:"bg-gray-100 dark:bg-gray-800 rounded-lg p-4 mb-6 text-left",children:s.jsx("div",{className:"space-y-2",children:Ma.map(({key:le,label:be})=>{const dt=c?.[le],Tt=dt?.installed,ca=dt?.version,$e=dt?.device;return s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx("span",{className:"text-gray-700 dark:text-gray-300",children:be}),s.jsx("span",{className:Tt?"text-green-500":"text-gray-400",children:Tt?`✓ ${ca||""}${$e?` (${$e})`:""}`.trim()||"✓ Installed":"○ Not installed"})]},le)})})}),s.jsxs("div",{className:"text-sm text-gray-500 dark:text-gray-400 mb-6",children:[s.jsx("p",{children:"Download size: ~2-4 GB"}),s.jsx("p",{children:"Disk space required: ~5 GB"})]}),s.jsx("button",{className:Je.btnPrimary,onClick:fe,children:"Install AI Tools"})]})}):u==="creating"?s.jsx("div",{className:"h-full flex flex-col p-8",children:s.jsx("div",{className:"max-w-4xl mx-auto w-full",children:s.jsxs("div",{className:"text-center mb-6",children:[s.jsx("h2",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-4",children:ee?"Adding Lyrics to Stem File 🎤":"Creating Stems+Karaoke File ⚡"}),s.jsx("div",{className:"bg-gray-100 dark:bg-gray-800 rounded-lg p-4 mb-4",children:s.jsx("p",{className:"text-gray-700 dark:text-gray-300 font-medium",children:s.jsx(gg,{artist:ce.artist,title:ce.title})})}),s.jsxs("div",{className:"mb-6",children:[s.jsx("div",{className:"h-3 bg-gray-200 dark:bg-gray-700 rounded-full overflow-hidden",children:s.jsx("div",{className:"h-full bg-blue-600 transition-all duration-300",style:{width:`${A?.progress||0}%`}})}),s.jsx("p",{className:"text-gray-600 dark:text-gray-400 mt-3",children:A?.message||"Starting..."})]}),B.length>0&&s.jsx("div",{className:"mb-6 bg-gray-900 dark:bg-black rounded-lg p-4 h-48 overflow-y-auto",children:s.jsxs("div",{className:"text-xs font-mono text-green-400 whitespace-pre-wrap select-text leading-tight",children:[B.map((le,be)=>s.jsx("div",{children:le},be)),s.jsx("div",{ref:se})]})}),s.jsx("button",{className:Je.btnSecondary,onClick:sa,children:"Cancel"})]})})}):u==="complete"?s.jsx("div",{className:"flex items-center justify-center h-full p-8",children:s.jsxs("div",{className:"max-w-lg w-full text-center",children:[s.jsx("div",{className:"text-6xl mb-6",children:"✅"}),s.jsx("h2",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-4",children:ee?"Lyrics Added!":"Karaoke File Created!"}),s.jsxs("div",{className:"bg-green-100 dark:bg-green-900/30 rounded-lg p-4 mb-6",children:[s.jsx("p",{className:"text-green-700 dark:text-green-400 font-medium",children:s.jsx(gg,{artist:ce.artist,title:ce.title})}),s.jsxs("div",{className:"text-sm text-gray-600 dark:text-gray-400 mt-2 space-y-1",children:[E&&s.jsxs("p",{children:["🎵 Song length: ",ia(E)]}),z&&s.jsxs("p",{children:["⏱️ Processing time: ",ia(z),E&&s.jsxs("span",{className:"ml-2 text-xs",children:["(",(E/z).toFixed(1),"x realtime)"]})]})]}),_?.failed?s.jsx("div",{className:"mt-2",children:s.jsxs("p",{className:"text-sm text-yellow-600 dark:text-yellow-400",children:["⚠️ AI correction failed (",Su(_.provider),"):"," ",_.error||"Unknown error"]})}):_&&_.corrections_applied>0?s.jsxs("div",{className:"mt-2 space-y-2",children:[s.jsxs("p",{className:"text-sm text-green-600 dark:text-green-400",children:["✨ ",Su(_.provider),": ",_.suggestions_made," suggestion",_.suggestions_made!==1?"s":""," (",_.corrections_applied," ","applied",_.missing_lines_suggested>0&&`, ${_.missing_lines_suggested} for review`,")"]}),_.corrections&&_.corrections.length>0&&s.jsxs("details",{className:"text-xs text-gray-700 dark:text-gray-300 bg-gray-50 dark:bg-gray-800 rounded p-2",children:[s.jsxs("summary",{className:"cursor-pointer font-semibold",children:["✅ ",_.corrections.length," correction",_.corrections.length!==1?"s":""," applied"]}),s.jsx("ul",{className:"mt-2 space-y-1 ml-4 list-disc max-h-40 overflow-y-auto",children:_.corrections.map((le,be)=>s.jsxs("li",{children:["Line #",le.line_num,":"," ",s.jsx("span",{className:"text-red-600 dark:text-red-400 line-through",children:le.old_text})," ","→"," ",s.jsx("span",{className:"text-green-600 dark:text-green-400",children:le.new_text})]},be))})]}),s.jsx(fg,{missingLines:_.missing_lines})]}):_&&_.corrections_applied===0?s.jsxs("div",{className:"mt-2",children:[s.jsxs("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:["✓ ",Su(_.provider),": No corrections applied",_.missing_lines_suggested>0?`, ${_.missing_lines_suggested} missing line${_.missing_lines_suggested!==1?"s":""} suggested`:""]}),s.jsx(fg,{missingLines:_.missing_lines})]}):s.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mt-2",children:"AI correction not used"}),s.jsx("p",{className:"text-sm text-green-600 dark:text-green-500 mt-2 break-all",children:j})]}),s.jsxs("div",{className:"flex gap-4 justify-center",children:[C&&s.jsx("button",{className:Je.btnPrimary,onClick:Ut,children:"Open in Editor"}),s.jsx("button",{className:C?Je.btnSecondary:Je.btnPrimary,onClick:En,children:"Create Another"})]})]})}):s.jsx("div",{className:"h-full overflow-y-auto p-6",children:s.jsxs("div",{className:"max-w-2xl mx-auto",children:[s.jsxs("div",{className:"flex border-b border-gray-300 dark:border-gray-600 mb-6",children:[s.jsx("button",{className:`px-4 py-2 font-medium transition-colors ${p==="create"?"text-blue-600 dark:text-blue-400 border-b-2 border-blue-600 dark:border-blue-400":"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300"}`,onClick:()=>v("create"),children:"Create"}),s.jsx("button",{className:`px-4 py-2 font-medium transition-colors ${p==="settings"?"text-blue-600 dark:text-blue-400 border-b-2 border-blue-600 dark:border-blue-400":"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300"}`,onClick:()=>v("settings"),children:"Settings"})]}),s.jsx(dg,{error:x,onDismiss:()=>m(null)}),p==="settings"&&s.jsxs("div",{className:"space-y-6",children:[s.jsx("h2",{className:"text-2xl font-bold text-gray-900 dark:text-white",children:"Creator Settings"}),s.jsxs("div",{className:Je.card,children:[s.jsx("h3",{className:Je.sectionTitle,children:"Output Location"}),s.jsxs("label",{className:"flex items-center cursor-pointer",children:[s.jsx("input",{type:"checkbox",className:"w-4 h-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500",checked:C,onChange:async le=>{const be=le.target.checked;I(be),await window.kaiAPI?.settings?.set("creator.outputToSongsFolder",be)}}),s.jsx("span",{className:"ml-2 text-sm text-gray-700 dark:text-gray-300",children:"Save output files to karaoke songs folder"})]}),s.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-2",children:"When enabled, created .stem.m4a files will be saved to your configured songs library folder instead of next to the source file."})]}),s.jsxs("div",{className:Je.card,children:[s.jsx("h3",{className:Je.sectionTitle,children:"Whisper Model"}),s.jsx("div",{className:"w-64",children:s.jsx(bl,{value:Y,onChange:async le=>{const be=le.target.value;ae(be),await window.kaiAPI?.settings?.set("creator.whisperModel",be)},options:[{value:"large-v3-turbo",label:"Large V3 Turbo (recommended)"},{value:"large-v3",label:"Large V3 (slower, slightly better)"},{value:"medium",label:"Medium (faster)"},{value:"small",label:"Small (fastest)"}]})}),s.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-2",children:"Larger models are more accurate but slower. Large V3 Turbo is recommended for most users."})]}),s.jsxs("div",{className:Je.card,children:[s.jsx("h3",{className:Je.sectionTitle,children:"Pitch Detection"}),s.jsxs("label",{className:"flex items-center cursor-pointer",children:[s.jsx("input",{type:"checkbox",className:"w-4 h-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500",checked:ie,onChange:async le=>{const be=le.target.checked;de(be),await window.kaiAPI?.settings?.set("creator.enableCrepe",be)}}),s.jsx("span",{className:"ml-2 text-sm text-gray-700 dark:text-gray-300",children:"Enable pitch detection (CREPE)"})]}),s.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-2",children:"Analyzes vocal pitch for karaoke scoring features. Adds processing time but enables pitch visualization."})]}),s.jsxs("div",{className:Je.card,children:[s.jsx("h3",{className:Je.sectionTitle,children:"AI Lyrics Correction"}),s.jsxs("div",{className:"space-y-4",children:[s.jsxs("label",{className:"flex items-center cursor-pointer",children:[s.jsx("input",{type:"checkbox",className:"w-4 h-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500",checked:te.enabled,onChange:le=>me(be=>({...be,enabled:le.target.checked}))}),s.jsx("span",{className:"ml-2 text-sm text-gray-700 dark:text-gray-300",children:"Use AI to improve lyrics accuracy (compares Whisper output to reference lyrics)"})]}),te.enabled&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{children:[s.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"AI Provider"}),s.jsx(bl,{value:te.provider,onChange:le=>me(be=>({...be,provider:le.target.value})),options:[{value:"lmstudio",label:"Local LLM Server (LM Studio, Ollama, etc.)"},{value:"anthropic",label:"Anthropic Claude"},{value:"openai",label:"OpenAI"},{value:"gemini",label:"Google Gemini"}]})]}),te.provider!=="lmstudio"&&s.jsxs("div",{children:[s.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"API Key"}),s.jsx("input",{type:"password",className:Je.input,value:te.apiKey,onChange:le=>me(be=>({...be,apiKey:le.target.value})),placeholder:`Enter ${te.provider} API key...`}),s.jsxs("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-1",children:[te.provider==="anthropic"&&s.jsxs(s.Fragment,{children:["Get your key from"," ",s.jsx("a",{href:"https://console.anthropic.com/",target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 dark:text-blue-400 hover:underline",children:"console.anthropic.com"})]}),te.provider==="openai"&&s.jsxs(s.Fragment,{children:["Get your key from"," ",s.jsx("a",{href:"https://platform.openai.com/api-keys",target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 dark:text-blue-400 hover:underline",children:"platform.openai.com"})]}),te.provider==="gemini"&&s.jsxs(s.Fragment,{children:["Get your key from"," ",s.jsx("a",{href:"https://aistudio.google.com/app/apikey",target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 dark:text-blue-400 hover:underline",children:"Google AI Studio"})]})]})]}),te.provider==="lmstudio"&&s.jsxs("div",{children:[s.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Server Base URL"}),s.jsx("input",{type:"text",className:Je.input,value:te.baseUrl,onChange:le=>me(be=>({...be,baseUrl:le.target.value})),placeholder:"http://localhost:1234/v1"}),s.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-1",children:"OpenAI-compatible API endpoint (LM Studio, Ollama, text-generation-webui, etc.)"})]}),s.jsxs("div",{className:"flex gap-2",children:[s.jsx("button",{className:Je.btnSuccess,onClick:Ta,disabled:we?.testing,children:we?.testing?"Testing...":"Test Connection"}),s.jsx("button",{className:"px-4 py-2 bg-blue-600 hover:bg-blue-700 text-white font-medium rounded-lg transition-colors",onClick:Ca,children:"Save Settings"})]}),we&&!we.testing&&s.jsxs("div",{className:`px-4 py-2 rounded-lg ${we.success?"bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400":"bg-red-100 dark:bg-red-900/30 text-red-700 dark:text-red-400"}`,children:[we.success?"✓":"✗"," ",we.message||we.error]})]})]})]})]}),p==="create"&&s.jsxs(s.Fragment,{children:[s.jsx("h2",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-6",children:"Create Stems+Karaoke File"}),s.jsxs("div",{className:`${Je.card} mb-6`,children:[s.jsx("h3",{className:Je.sectionTitle,children:"1. Select Audio File"}),T?s.jsx("div",{className:"flex items-center justify-center py-8",children:s.jsx(wu,{size:"sm",message:"Reading file info & searching lyrics..."})}):b?s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("p",{className:"text-gray-900 dark:text-white font-medium truncate",children:b.name}),s.jsxs("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:[ia(b.duration)," •"," ",b.codec?.toUpperCase()||"Unknown"," ",b.isVideo&&"• Video"]})]}),s.jsx("button",{className:"ml-4 px-4 py-2 bg-gray-600 hover:bg-gray-700 text-white font-medium rounded-lg transition-colors",onClick:xe,children:"Change"})]}),b.hasStems&&!b.hasLyrics&&s.jsxs("div",{className:"mt-3 px-3 py-2 bg-purple-100 dark:bg-purple-900/30 border border-purple-300 dark:border-purple-700 rounded-lg",children:[s.jsxs("p",{className:"text-sm text-purple-700 dark:text-purple-300 font-medium",children:["🎛️ Stem file detected (",b.audioStreamCount," tracks)"]}),s.jsxs("p",{className:"text-xs text-purple-600 dark:text-purple-400 mt-1",children:["Stems: ",b.stemNames?.join(", ")," • Will add lyrics only (no stem separation needed)"]})]}),b.hasStems&&b.hasLyrics&&s.jsxs("div",{className:"mt-3 px-3 py-2 bg-yellow-100 dark:bg-yellow-900/30 border border-yellow-300 dark:border-yellow-700 rounded-lg",children:[s.jsx("p",{className:"text-sm text-yellow-700 dark:text-yellow-300 font-medium",children:"⚠️ This file already has karaoke lyrics"}),s.jsx("p",{className:"text-xs text-yellow-600 dark:text-yellow-400 mt-1",children:"Processing will replace existing lyrics with new transcription"})]})]}):s.jsx("button",{className:"w-full px-6 py-4 border-2 border-dashed border-gray-300 dark:border-gray-600 rounded-lg hover:border-blue-500 dark:hover:border-blue-400 transition-colors",onClick:xe,children:s.jsxs("div",{className:"text-gray-600 dark:text-gray-400",children:[s.jsx("div",{className:"text-3xl mb-2",children:"🎵"}),s.jsx("p",{children:"Click to select an audio or video file"}),s.jsx("p",{className:"text-sm mt-1",children:"MP3, WAV, FLAC, OGG, M4A, MP4, MKV, AVI, MOV, WEBM"})]})})]}),s.jsxs("div",{className:`${Je.card} mb-6`,children:[s.jsx("h3",{className:Je.sectionTitle,children:"2. Song Information"}),T?s.jsx("div",{className:"flex items-center justify-center py-8",children:s.jsx(wu,{size:"sm",message:"Loading song metadata..."})}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"grid grid-cols-3 gap-4 mb-4",children:[s.jsxs("div",{children:[s.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Title"}),s.jsx("input",{type:"text",className:Je.input,value:ce.title,onChange:le=>H(be=>({...be,title:le.target.value})),placeholder:"Song title"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Artist"}),s.jsx("input",{type:"text",className:Je.input,value:ce.artist,onChange:le=>H(be=>({...be,artist:le.target.value})),placeholder:"Artist name"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Language"}),s.jsx(bl,{value:ce.language,onChange:le=>H(be=>({...be,language:le.target.value})),options:[{value:"en",label:"English"},{value:"es",label:"Spanish"},{value:"fr",label:"French"},{value:"de",label:"German"},{value:"it",label:"Italian"},{value:"pt",label:"Portuguese"},{value:"ja",label:"Japanese"},{value:"ko",label:"Korean"},{value:"zh",label:"Chinese"}]})]})]}),s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center justify-between mb-1",children:[s.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300",children:"Reference Lyrics (optional)"}),s.jsx("button",{className:"text-sm text-blue-600 dark:text-blue-400 hover:underline",onClick:Ve,children:"Search LRCLIB"})]}),s.jsx("textarea",{className:`${Je.input} h-24 resize-none`,value:ce.referenceLyrics,onChange:le=>H(be=>({...be,referenceLyrics:le.target.value})),placeholder:"Paste lyrics here to improve transcription accuracy..."}),s.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-1",children:"Reference lyrics help Whisper recognize song-specific vocabulary"})]})]})]}),s.jsxs("div",{className:"text-center",children:[s.jsx("button",{className:`px-8 py-4 ${b?.hasStems&&!b?.hasLyrics?"bg-purple-600 hover:bg-purple-700":"bg-blue-600 hover:bg-blue-700"} disabled:bg-gray-400 disabled:cursor-not-allowed text-white font-bold text-lg rounded-lg transition-colors`,onClick:Be,disabled:!b,children:b?.hasStems&&!b?.hasLyrics?"Add Lyrics to Stem File":"Create Stems+Karaoke File"}),s.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 mt-3",children:b?.hasStems&&!b?.hasLyrics?"Lyrics-only mode is much faster (typically under 1 minute)":"Processing time depends on song length and your hardware (typically 2-10 minutes)"})]})]})]})})}function pp({bridge:i}){const[u,f]=w.useState([]);w.useEffect(()=>{let d,g=0;const y=20,x=async()=>{try{const m=await window.kaiAPI?.webServer?.getUrl?.(),v=(await window.kaiAPI?.webServer?.getSettings?.())?.showQrCode!==!1,b=window.app?.player;b&&m&&(b.karaokeRenderer&&await b.karaokeRenderer.setServerQRCode(m,v),b.cdgPlayer&&await b.cdgPlayer.setServerQRCode(m,v),d&&(clearInterval(d),d=null))}catch(m){console.error("Error updating QR code:",m)}};return x(),d=setInterval(()=>{g++,x(),g>=y&&d&&(clearInterval(d),d=null)},500),window.kaiAPI?.events&&window.kaiAPI.events.on("settings-update",x),()=>{d&&clearInterval(d),window.kaiAPI?.events&&window.kaiAPI.events.off?.("settings-update",x)}},[]),w.useEffect(()=>{const d=async()=>{try{const g=await window.kaiAPI?.queue?.get?.(),x=(await window.kaiAPI?.webServer?.getSettings?.())?.displayQueue!==!1,m=g?.queue||[];let p=m;const v=window.app?.player;(v?.karaokeRenderer?.songMetadata||v?.cdgPlayer?.cdgData)&&m.length>0&&(p=m.slice(1));const k=p.slice(0,3);v&&(v.karaokeRenderer&&v.karaokeRenderer.setQueueDisplay(k,x),v.cdgPlayer&&v.cdgPlayer.setQueueDisplay(k,x))}catch(g){console.error("Error updating queue display:",g)}};return d(),window.kaiAPI?.queue&&window.kaiAPI.queue.onUpdated?.(d),window.kaiAPI?.events&&window.kaiAPI.events.on("settings-update",d),window.kaiAPI?.song&&window.kaiAPI.song.onChanged?.(d),()=>{window.kaiAPI?.queue&&window.kaiAPI.queue.removeUpdatedListener?.(d),window.kaiAPI?.events&&window.kaiAPI.events.off?.("settings-update",d),window.kaiAPI?.song&&window.kaiAPI.song.removeChangedListener?.(d)}},[]),w.useEffect(()=>{const d=async()=>{try{const y=await window.kaiAPI.webServer.getSongRequests();f(y||[])}catch(y){console.error("Failed to load requests:",y)}};d();const g=setInterval(d,5e3);if(window.kaiAPI?.events){const y=(p,v)=>{console.log("📨 New song request:",v),d()},x=(p,v)=>{console.log("✅ Request approved:",v),d()},m=(p,v)=>{console.log("❌ Request rejected:",v),d()};return window.kaiAPI.events.on("songRequest:new",y),window.kaiAPI.events.on("songRequest:approved",x),window.kaiAPI.events.on("songRequest:rejected",m),()=>{clearInterval(g),window.kaiAPI.events.removeListener("songRequest:new",y),window.kaiAPI.events.removeListener("songRequest:approved",x),window.kaiAPI.events.removeListener("songRequest:rejected",m)}}return()=>clearInterval(g)},[]);const c=u.filter(d=>d.status==="pending").length;return s.jsxs("div",{className:"flex flex-col h-screen bg-gray-50 dark:bg-gray-900",children:[s.jsx(qy,{bridge:i}),s.jsxs("div",{className:"flex flex-1 overflow-hidden",children:[s.jsx("div",{id:"app-sidebar",className:"w-80 bg-white dark:bg-gray-800 p-4 overflow-y-auto border-r border-gray-200 dark:border-gray-700 transition-all duration-300",children:s.jsx(mp,{bridge:i})}),s.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[s.jsx(Yy,{requestsCount:c}),s.jsxs("div",{className:"flex-1 overflow-auto",children:[s.jsx("div",{id:"library-tab",className:"hidden h-full",children:s.jsx(uy,{bridge:i,showSetFolder:!0,showFullRefresh:!0})}),s.jsx("div",{id:"mixer-tab",className:"hidden h-full overflow-auto",children:s.jsx(_y,{bridge:i})}),s.jsxs("div",{id:"player-tab",className:"h-full flex flex-col",children:[s.jsxs("div",{className:"flex flex-1 gap-1 min-h-0",children:[s.jsx("div",{className:"w-[30%] min-w-[280px] flex flex-col min-h-0",children:s.jsx(Dy,{bridge:i})}),s.jsx("div",{className:"flex-1 flex flex-col p-0 m-0 min-w-0",children:s.jsxs("div",{className:"flex-1 flex items-center justify-center bg-white dark:bg-gray-900 cursor-pointer",onClick:hp,children:[s.jsx("canvas",{id:"karaokeCanvas",width:"1920",height:"1080",className:"max-w-full max-h-full w-auto h-auto"}),s.jsx("div",{id:"lyricsContainer",className:"hidden",children:s.jsx("div",{className:"text-center text-gray-500",children:"No lyrics available"})})]})})]}),s.jsx(Qy,{bridge:i})]}),s.jsx("div",{id:"effects-tab",className:"hidden h-full",children:s.jsx(dy,{bridge:i})}),s.jsx("div",{id:"requests-tab",className:"hidden h-full",children:s.jsx(gy,{})}),s.jsx("div",{id:"server-tab",className:"hidden h-full overflow-auto",children:s.jsx(gp,{bridge:i})}),s.jsx("div",{id:"editor-tab",className:"hidden h-full",children:s.jsx(Cy,{bridge:i})}),s.jsx("div",{id:"create-tab",className:"hidden h-full overflow-auto",children:s.jsx(yp,{bridge:i})})]})]})]}),s.jsx(Gy,{bridge:i})]})}function xp(){if(console.log("Butterchurn libraries loaded:",{butterchurn:typeof window.butterchurn,presets:typeof window.butterchurnPresets}),window.butterchurnPresets&&typeof window.butterchurnPresets.getPresets=="function"){const i=window.butterchurnPresets.getPresets();console.log("SUCCESS: Butterchurn loaded with",Object.keys(i).length,"presets available")}else return console.error("FAILED: Butterchurn presets not properly loaded"),!1;try{const i=document.createElement("canvas"),u=i.getContext("webgl2")||i.getContext("webgl");if(console.log("WebGL context test:",{hasWebGL:!!u,version:u?u.getParameter(u.VERSION):"none",renderer:u?u.getParameter(u.RENDERER):"none"}),!u)return console.error("FAILED: WebGL not available - Butterchurn effects will not work"),!1}catch(i){return console.error("WebGL test error:",i),!1}return!0}console.log("🚀 Initializing application...");xp();const ku=Cu.getInstance();ku.connect().then(()=>{console.log("✅ ElectronBridge connected");const i=document.getElementById("root");i&&(Zh.createRoot(i).render(s.jsx(Qh.StrictMode,{children:s.jsx(iy,{children:s.jsx(pp,{bridge:ku})})})),console.log("✅ React app mounted"))});window.addEventListener("beforeunload",()=>{ku.disconnect()});export{Ts as _,bp as q};
62
+ //# sourceMappingURL=renderer.js.map